Saturday, 2 March 2013

TRS-80 Model 1 Homage and "Commercial Software" for the MC-10

Another useful source of code to port to the MC-10 can be found in the world of the mother of all TRS-80s, the Model One.  The 128X48 set/reset graphics of that machine can often simply be converted to the MC-10s 64X32 set graphics by multiplying any X coordinates by .5 and any Y coordinates by .66 to adjust to the MC-10's smaller screen size.  So a game like Softside magazine's famous "Engineer" simulation by David Bohlke (thanks to Neil Morrison on Yahoo for bringing it to my attention), which looks like this
when converted to the MC-10's screen looks like this:
 Of course since the MC-10 has colour, we can also have variations on the theme such as this:
Another thing that will have to be adjusted is the print@ locations, but this is often as simple as multiplying the number by .5 since the MC-10 512 long text screen is exactly half of the TRS-80's 1024.  This often requires that text messages be shortened, which is somewhat of an art form, but I have generally found that messages can usually be adequately expressed in a more terse "MC-10" fashion without much, if any, loss of information.  Sometimes creative use of reverse video can also help.

I have found that even with the added overhead of adjusting X and Y coordinates on the fly, the MC-10 versions of TRS-80 programs are often faster than the originals.  This is especially the case if some of my speedup techniques are added.  This can sometimes make lack-luster games into truly challenging arcade action games.  The following are some of the other programs from the TRS-80 world that I have ported to the MC-10:

ABM Command Quest 1 Maze Race
Santa Paravia and Fiumaccio Rescue Adventure in the Near Tholian Sector

All the above programs "Rescue" "ABM Command," "Quest 1," "Maze Search," "Santa Paravia and Fiumaccio," and "Adventure in the Near Tholian Sector" where first published in the groundbreaking Softside magazine.  I have also found 80Micro to be a useful resource.  To gain access to the original code, I started by simply typing in the programs from PDFs of these magazines that I was able to find on the Net (thanks to the scanning efforts of many dedicated 8-bit enthusiasts).  I moved on to using character recognition software to take away some of the brute work of typing.  Finally, I was able to find emulators for the Model One, which contained utilities for converting programs from emulator files into simple text files.  Such files could than be edited and loaded directly into EmuCompboy's MC-10 emulator using it's wonderful "quicktype" feature.

Plowing through all the Softside and other magazines you can find on-line would have been a terribly arduous process (although perhaps a wonderfully nostalgiac one).  However, I was able to avoid much of this work because of the help of a very valuable resource on the Net called the Giant List of Classic Game programmers by James Hague.  It can be found at:
As he describes his list:
This is a Who's Who of classic game designers and programmers, where "classic" generally refers to pre-NES 8-bit home computers (like the Atari 800 and Apple II), consoles (like the Atari 2600 and Intellivision), and arcade coin-ops. Why the pre-NES distinction? Because prior to that there was a closer connection between the creator of a game and the finished project. That's an oversimplification, because there were 8-bit computer games developed by teams, but single-person, single-vision games became rarer once the Nintendo-era of consoles took off.
This is great resource because it not only lists the programmers, but also their programs, which system they were programmed on, and whether they were "type-in" Basic programs.  Using the Giant List I was able to quickly zero in on some of the big favorites of the 8-bit era and find TRS-80 versions.  Programs that had versions created for the other 8-bit machines tended to be the best programs for conversion because, if they had been ported multiple times already, this was usually a good indication that the program was amenable to conversion.  Sometimes I have even found "commercial" Basic programs in this way.  For example my port of "Andromeda Conquest" by Avalon Hill was a result of noticing that it was a Basic program that had versions for TRS-80, Atari, IBM, Apple and Commodore.

Andromeda Conquest TRS-80 Gameplay screen
Atari Version MC-10 Version
However, in this instance I worked from the IBM source because it was available on-line in GWBasic format, which allowed me to easily save the program to an ASCII text file (Save "FILENAME",A just like in Coco basic) for importing into the MC-10 emulator. It also lacked some of the complexities and fancy screen formatting that had been added to the TRS-80 port of the program.  For example, the IBM version used simple number entries for all display objects instead of letters and numbers.  Still, conversion was difficult because a 32X16 screen is a real squeeze compared to the 40X24 screens of these other systems.  Also, recreating a simple "reverse video" subroutine presented some difficulties.  In the port, I had to swap the panels that displayed the Fleet Status and the list of fleets, since the MC-10 left only 11 characters to the right of the main map.  In the end, I was able to get all the same info of the original shoe-horned into the screen with only a little loss (witness the concatenated menu options in the MC-10 version above).  Still, the MC-10 (and the Coco and the Dragon) now have a classic 8-bit program shared by the other classic systems that has all the same game play and features of the original "commercial" program.  You can even go here to get a PDF of the original manual

So, who says new "commercial software" is no longer coming out for computers like the MC-10 and Coco.  You just have to know where to look!

No comments:

Post a Comment