8/24/2016: MediaWiki software and PHP version updated. Please let me know if you find any problems.. Also, extensive Template cleanup is in progress based on new things I have learned on another wiki project. I will update the Help files when I get it all done. --OS-9 Al
8/30/2016: Massive re-work is being done on the InfoBox Templates. Read that page to keep up with the plan for that, and adding better keyword tags (categories) to all the pages. --OS-9 Al (talk) 15:28, 31 August 2016 (CDT)
1980 4K CoCo Programming Challenge
|Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al|
This page was last updated on 01/7/2015. Total Pages: 530. Total Files: 757.
It is July (or August, depending on which source you use) 1980, and you wandered in to a Radio Shack store and saw the brand new TRS-80 Color Computer. Unlike the TRS-80 Model I, this machine had color and sound built in, and used a normal color television for the display just like an Atari 2600.
You quickly plop down $399 (plus tax) to buy your very own Color Computer, plus spent a little more for a cable that will let you hook up a cassette recorder to load and save programs to cassette tapes.
You get home, hook the machine up to your television, and power up the machine to be greeted with:
You have 4K of RAM available to begin writing your first program. What will you write?
The goal here is to write something as if you were using the original 1980 CoCo. There was no Extended Color BASIC, and you couldn't afford to upgrade the memory past 4K. You only have a cassette recorder for storage... Were joysticks available when the machine was released? If so, you can use them. (If someone really wants too, I suppose they would write a Program Pak entry, as a different category, allowing them to have 8K or 16K of code in ROM, using only 4K of RAM.)
We should probably split the contest in to two categories: BASIC and MACHINE LANGUAGE.
Also, we may wish to consider how the program was written. NATIVE (actually on a 4K CoCo or emulated 4K CoCo) versus EXPANDED (written on a later CoCo or later emulated CoCo) or CROSS HOSTED (written using PC tools). The reason I mention this is because it's not possible to run native EDTASM on a 4K CoCo, so any assembly language would have to be hand-coded (bonus points for doing it that way, just like they had to in 1980). Using a 16K or 32K CoCo to run EDTASM makes things easier. Doing it using a PC-hosted compiler changes things further.
At the very least, we should note how the program was developed:
- Native - programmed on a 4K CoCo
- Expanded - programmed on a larger CoCo
- Cross Hosted - programmed on a non-CoCo
I suppose we can also note:
- Real - done on a real, physical CoCo
- Emulated - done on a virtual CoCo
A Native/Real attempt would be much more "legit" in 1980 compared to an Cross Hosted/Emulated attempt, though the focus is the end result.
Using an Emulator
XRoar is a free emulator for Windows, Mac and Linux (and others). You can find a quick-start guide to installing and Using XRoar to emulate an original 4K CoCo.
Using a Bigger CoCo
Art Flexser mentions that if you have a 16K or larger CoCo, you can simulate the limited 4K memory to BASIC using the CLEAR command:
After doing this, "PRINT MEM" should show 2343 bytes available.
We will have to see what tricks can be done on a 64K CoCo (copying ROM to RAM then doing some pokes) to disable Extended Color BASIC, and figure out how to do that on a CoCo 3.
- Simon Johansen has a cool VDG screen editor that may be useful for designing CoCo 1 semi graphics screens.
You can see the current entries here:
I (Allen Huffman, email@example.com) am working on this idea. Feel free to organize and edit this page with more ideas.