Paul Urbanus

From TI-99/4A-Pedia
Jump to: navigation, search

Pual Urbanus was a summer intern working at Texas Instruments with Jim Dramis. He helped Jim program Parsec. Paul eventually went on to work at Atarisoft and worked on the games Jungle Hunt and Pole Position for the TI-99/4A as well.

During his time as a programmer, Paul Urbanus programmed for many software publishers including Texas Instruments (TI), DaTaBiotics, Softmachine, and Atarisoft.

Story of the Urbite

I found an article in a publication titled "Yesterday's News" from October 2016 written by Paul Urbanus that I include here. The article may have been published before in another publication and republished in "Yesterday's News", but I couldn't find an earlier publication of it. Here is that article in its entirety:

Story of the Urbite Dramite, Urbite, Bynite.png

by Paul Urbanus

I would like to clarify and correct some of the statements made in the original posting of the below article. To help substantiate comments, I will start with a history of my relationship with the TI-99/4A Home Computer.

I was hired by TI in December of 1979 as a coop student, and spent six months working for the Home Computer Division of TI in Lubbock. During this time, I did such diverse things as gather statistics on the distribution of data in the various GROM chips and program an HP test station to verify that the RF modulators were meeting FCC and TI specifications. In my spare time, I purchased a surplus IBM terminal keyboard (a really nice one) and interfaced it to the 99/4. This was the first REAL keyboard for the 99/4. I even added logic to do auto-repeat and mapped the IBM cursor keys to function correctly. My coop term expired, the fun ended, and I went back to school (New Mexico State University) for a year.

I returned to TI in Lubbock in the summer of 1981 to serve a second stint as a coop student (and earn some money!). In my absence, the TI-99/4 had undergone puberty and blossomed into the TI-99/4A. In addition to the new keyboard, there was also a new video chip. The TM9918 had been replaced by the TM9918A. At this point several things were happening, and the confluence thrust me into a rather unique position at TI.

My first assignment was to perform some testing of the new video chip and plot a chart of chip operations versus supply voltage and temperature. While waiting for the temperature chamber to stabilize during these test, I was reading the detailed chip specifications and came to a startling discovery -- there was a new graphics mode in this chip which would allow neat new applications. At the same time, the Editor/Assembler (E/A) cartridge was in the early stages of alpha (internal) testing. I used the E/A cartridge to play around with the new graphics mode (Graphics Mode II). One of the first programs I wrote was a simple line-drawing program which was bundled with the Mini Memory module.

After I wrote the Lines program, management moved me from the hardware to the R&D group and suggested that I collaborate with Jim Dramis on a new game. I thought this was better than sex (OK, I WAS kinda naive) -- getting paid to write a video game. Just for reference, Jim had written some of the best TI games available at that point -- Car Wars and Munch Man. We quickly agreed that we wanted to write a space game and we wanted to have smooth horizontal scrolling to give the illusion of flying over the surface of a planet. As some of you may know, there is NO hardware support for scrolling the screen on a pixel basis in the 99/4A video chip. After lot's of pondering, I hit upon a solution -- copy the inner loop of the scroll code into the fast 16-bit RAM of the 99/4A. Since this code is responsible for 80% of the execution time of the scroll loop, substantial speed gains were made by moving the loop to fast RAM. In today's world of 486s and Pentiums, this RAM would be referred to as cache RAM. I then handed this code off the Jim so he could incorporate it into the game.

The next thing I wanted to do for the game was to come up with some really neat sound effects. Since the sound chip on the /4A was only capable of generating square waves, I wanted to use the speech chip. The speech chip operates by using a model of the human vocal tract, and I reasoned that if people could make really strange noises, then so could the speech module. After studying the speech chip specifications, I made an important discovery: the speech chip didn't need new data very often (it sure helps to understand hardware when writing software). This fact could be combined with one of the new feature in the 99/4A software architecture -- the user video interrupt. The net effect of this combination was that the speech chip could be used while the game was going on. Then I went to the software folks with my discovery, they told me that "you couldn't do that." Only after I showed them did they believe.

I created the asteroids in Parsec in TI Logo. I wrote a small Logo program to animate them, and iterated the shapes until they were satisfactory to me. Then I wrote an assembly program to convert the asteroid bitmap from the binary TI Logo data file to ASCII data statements for use with the 9900 assembler.

All of the above programming was done on the 99/4A using the Editor/Assembler package. EVERYTHING I wrote for the 99/4A was written using the Editor/Assembler cartridge. I liked it much better this way, because I could work at home, and I could fi the /4A system if it went down, unlike the 990 minicomputers.

As Jim continued to progress with Parsec (we brainstormed on ideas, but he did most of the game flow implementation), the Mini Memory cartridge was developed. However, there was no software available to make it do anything useful. So, I suggested that this would be a great too, for letting people experiment with assembly language without having to have any peripherals other than a cassette recorder. The Line-by-Line Assembler was a derivative of the code used in a TI single board computer which had been developed for microprocessor courses at the university level. This single board computer was called the University Board (model no. 990/189). When I returned to school after my first coop session, I had borrowed one of these from TI and it was an excellent learning tool for me so I assume a similar capability on the /4A would also be good.

We were able to get the source code for the assembler from another TI group. All the I/O routines expected a dumb terminal, and so they had to be converted for use with the /4A keyboard and screen. I also added a routine to dump the symbol table. In retrospect, the code could have been a lot cleaner and more compact, but I can probably say that about any program I write today after I have finished it. We decided to include the LInes program as an example of how to program the new video chip, as well as instant gratification for Mini Memory customers.

My final task was in this coop session was to go out to La Jolla, California and work with Control Data Corporation and educate and support them in their efforts to port the Plato series of computer-cased courseware to the 99/4A. I spend about a month out there, and in that time I wrote the graphics and disk I/O package for the Plato interpreter. A byproduct of this work was an intermediate tool, DISKO0, which was used for debugging the disk I/O package. I understand this program eventually made it into the public domain. For those of you familiar with this tool, there is a whimsical menu choice, "Resign/Go to Black's Beach". Black's Beach is a nude beach in La Jolla:).

I returned to school in the fall of 1982, but only lasted for one semester. At that time I joined with my Parsec partner, Jim Dramis and the author or TI Invaders, Garth Dollahite, along with two business types and we formed a company called SofMachine. Our charter was to author, produce and market game cartridges for the TI 99/4A, kind of like the TI version of Activision. White Sofmachine was in existence, we wrote three games of our own and converted two games for Atarisoft. The games we wrote during that time were:

Title Author Company
Spot-Shot Jim Dramis Sofmachine (ourselves)
Barrage Garth Dollahite Sofmachine (ourselves
Jumpy Paul Urbanus Sofmachine (ourselves
Pole Position Dollahite//Urbanus Atarisoft
Jungle Hunte Dramis/Urbanus Atarisoft

Because our business partners were unsuccessful at securing the required capital funding, combined with TI's exit from the home computer market, we were unable to manufacture and market our (Sofmachine's) three games. However, due to a sequence of events beyond our control, the Sofmachine games were pirated and eventually freely exchanged around the TI 99/4A community. A valuable lesson was learned: NEVER trust anyone with your own livelihood. Lesson number two: Don't believe what a "business" guy tells you just because they're the business guys and you're the technical guys, ESPECIALLY if it goes against your gut instincts.

A number of years later, the Sofmachine games were released in a cartridge by Databiotics under license by Sofmachine.

All games programmed by Sofmachine used the TI 99/4A as the development platform, along with the Editor/Assembler cartridge. Two of us programmers purchased a Myarc 10 MByte hard drive to $1800 EACH! I just sold it about 6 months ago for $100. OUCH!

Wow! I intended for this to be a brief history for the purpose of lending credence to my following comments on the John Phillips article. Sorry for the long windedness, but the recollection of these times is good and I almost couldn't stop typing.

Please see below for my rebuttal to specific points.

Thanks and regards,

Paul Urbanus the "Urbite" in Parsec

***Warning - - - Urbite ships attacking!***

Originally Published in Lima Newsletter, April 1993

*John Phillips

*by Bill Gaskill

*(Italics indicate rebuttal material added by Paul Urbanus)

I would venture a guess that most people who have owned a TI-99 for more than a couple of years have run across the name John Phillips before. He is a near legend in the TI-99/4A cartridge and assembly language programming community and can claim authorship, co-authorship or significant involvement in over a dozen cartridge programs produced for the 99/4A, not to mention numerous articles written about the inner working of the 4A's architecture.

Original article content omitted here.

*Hopper - Michael Archuleta and John Phillips co-wrote Hopper, which was the only cartridge developed entirely on the TI-99/4A Home Computer, using the Editor/Assembler cartridge for all of the programming. All of the other TI-99 cartridge software programs were developed on a TI Mini, no the 99/4 or 4A.

All of the programs for the Mini Memory cartridge were programmed exclusively using the 99/4A and the Editor/Assembler cartridge. As noted at the beginning of this article, all 5 of the titles developed by Sofmachine were also programmed using only the 99/4A. I suspect that many of the third-party games were also programmed in this manner, but I can't say for sure.

*MINI MEMORY'S LINE-BY-LINE ASSEMBLER - Phillips claims responsibility for its development, but I am not sure exactly what that means.

I developed the Line-By-Line Assembler exclusively. John Phillips was not even working in the Home Computer division at that time. And I can't claim responsibility for writing all of the code, only for porting it from the 990/189 Unisverisyt Board single board computer. Also, I wrote the Lines program. I am not aware of ANY contributions which John made to the programs in the Mini Memory.

*Moonmine - Programmed by John Phillips from a design by Bob Hendren. You may remember that Hendren was also the project engineer behind Parsec and the person who recruited Aubree Anderson to do the voice for the Parsec game.

Bob Hendren had ABSOLUTELY NOTHING to do with the development of Parsec in regards to content, playability, or technical direction. With respect to his role in the recruitment of Aubree Anderson, I really don't know about that. Parsec was strictly a collaboration by Jim Dramis and myself. Parsec was not directed or defined in any way by management or anyone else. We were merely instructed to " ..get together and see what you can come up with..." Although we received much input from our coworkers as they played with Parsec was what came from our imaginations. I think I can speak for Jim when I say we are still pleased with our efforts more than 10 years later. We both hope that everyone who has played Parsec has enjoyed it as much as we enjoyed both writing AND playing it.

Game Credits for Paul Urbanus