Share Tweet reddit Email

As they say: “It is never too late to start learning”. If you believe that and is a happy owner of a TRS-80 CoCo, you are lucky! The Oregon Trail is being ported to the CoCo!

Early today, Paul Shoemaker posted a video on the TRS-80 Color Computer Facebook group showing his progress porting probably the most famous educational game from the 80s, released in 1985 for the Apple II. The game even got a modern handheld edition released in 2018 which can still be purchased on sites like Amazon.

Recently released Handheld version

The video shows Paul’s work is very faithful to the original, showing, of course, the usual CoCo colour palette we are so used to love (or at least, tolerate!). The plan is to release the game still this year as freeware.

Since I am always curious to know more about the development process, I’ve contacted Paul and he was kind enough to answer my questions.

ViTNO: What version of the game are you basing your port?

Paul Shoemaker: The Apple II version of The Oregon Trail — which is the version upon which my port is based — was initially created in 1985 by a very talented core team of MECC collaborators named R. Philip Bouchard, Shirley Keran, John Krenz, and Charolyn Kapplinger. Their version was, in turn, based on the original 1971 version created by Don Rawitsch, Paul Dillenberger and Bill Heinemann. The 1985 Apple II version was quite popular and is probably the version which comes to most people’s mind when they think about the game. Charolyn Kapplinger, as the lead graphics artist for the Apple II version, created the wonderful artwork used throughout the game. I believe her artwork has withstood the test of time and is a big reason the game is so engaging. It’s amazing to see what she was able to create within the constraints of the resolution and colour palette she had to work.

VITNO: What is your process to port the game? Are you writing it from scratch based on what you see on Apple’s version or using some sort of reverse engineering?

Paul: Since the Apple II version of the Oregon trail is written mostly in BASIC with assembly language subroutines, my approach is actually a mix of porting code from one platform to another and reverse engineering. I am using the actual 1985 APPLE BASIC source code as the foundation for the CoCo Extended Color BASIC code, making modifications as needed where the BASIC commands don’t work the same. Indeed, I have had to stretch (and refresh) my very limited recollection of APPLE BASIC for this project. But I am also reverse-engineering many aspects, including the hi-res text routine and the routines for placing the various sprites and other graphics on the screen. I have written all those assembly language routines for the CoCo myself, where I have tried to closely mimic the Apple II version. As I work, I actually have the Apple II version running on an Apple emulator on my PC. I validate what each screen should look like each step of the way. The graphics themselves I have re-created on the CoCo to match the Apple II version as closely as I could. Since the Apple II’s graphics also use artifacting to generate colours in composite mode, as does the CoCo, it’s not too difficult to generate a version for the CoCo that looks remarkably alike. Of course, the Apple II can generate four artifact colours (red, blue, green and magenta) whereas the CoCo generates only red and blue. So there are some differences.

ViTNO: How far are you in the development?

Paul: I am about 40% complete at this point. I would say all the easy parts are done… Luckily, the original code was designed to be very modular. They cleverly load different sections of code real-time during gameplay while the core game code remains intact to make maximum use of limited RAM. A loaded module overwrites the code for the previous module.

ViTNO: I noticed the video does not show any sound yet. Will it feature any kind of sound/music?

Paul: Yes. The original game has both music (1 voice, I think) and some limited sound effects which the CoCo version will replicate. I haven’t spent time on the sound yet. At the very least, I’ll use the CoCo’s PLAY and SOUND commands, but I am also considering making use of multi-voice sound hardware like the original Speech-Sound cartridge or the Orchestra 90 cartridge. Or even more recent audio hardware add-ons like the CoCoPSG, Game Master, or the Mega-mini MPI. I haven’t decided yet how far I will go down this potential rabbit trail.

VITNO: When do you plan to finish and release the game?

Paul: It will be released when it’s done (haha). It will be while… Hopefully by the end of 2019.

ViTNO: How can we get the game when it is done?

Paul: A: My plan is to release it as freeware. I am doing this as an unofficial port and really just a fun project to bring a beloved game to a platform for which it was never originally released.

ViTNO: Any plans regarding the source code?

Paul: The BASIC code will be there for anyone to load, list and peruse/critique should they wish, of course. However, I don’t plan to release the source code for the various 6809 assembly language subroutines I have written.

To follow the game progress, make sure to join the TRS-80 Color Computer group on Facebook!