MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues. 2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

1980 4K CoCo Programming Challenge

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
WELCOME
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

See Recent Changes. | About this site. | Join the E-Mail List or Facebook Group. | Contact me with updates/questions.

This page was last updated on 01/2/2015. Total Pages: 728. Total Files: 992.


Home / Special Projects - 1980 4K CoCo Programming Challenge


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:

Color BASIC 1.0

You have 4K of RAM available to begin writing your first program. What will you write?

Contest Concept

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:

CLEAR 200,4095

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.

Helpful Resources

  • Simon Johansen has a cool VDG screen editor that may be useful for designing CoCo 1 semi graphics screens.

Admin

I (Allen Huffman, alsplace@pobox.com) am working on this idea. Feel free to organize and edit this page with more ideas.