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)

Color Computer FAQ

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to: navigation, 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, Facebook Group or Google+ | Contact me with updates/questions.

This page was last updated on 02/16/2015. Total Pages: 530. Total Files: 759.


Home / FAQs - Color Computer FAQ


Hardware

What is a CoCo?

The name TRS-80 Color Computer, known as CoCo by its owners, refers to a family of Motorola 6809-based personal computers made by Radio Shack and produced from 1981 (CoCo 1) until 1990 (CoCo 3). Each CoCo comes with a variation of Microsoft BASIC built into its ROM. Differing from an Apple ][+ or //e or an IBM, the CoCo comes with a variety of I/O ports built-in. On the rear panel of the unit are connections for two analog joysticks, serial I/O (which can handle data transfer up to 9600 baud), cassette I/O, and TV/monitor output. On the right side, there is a cartridge slot. Cartridges that support various functions, contain games, or drive peripherals can be inserted. Use of a multipak (or MPI) allowed multiple cartridges to be inserted.

What models were there?

The different CoCo models are as follows:

  • CoCo 1: The first Color Computer, it was first sold in 1980 and originally had only Color BASIC, 4Kb of memory, 32-column screen, and a chicklet keyboard. It was based on a design originally from Motorola. It used a .89MHz MC6809E. A compact cassette recorder or Program Paks were used. Later versions came with 16Kb/32Kb/64Kb and Extended Color BASIC. Disk BASIC was the required environment to handle disk drives, and some third-parties created their own improved but compatible Disk Operating Systems (DOS). By changing memory chips, setting jumpers, and removing some capacitors, the CoCo 1 memory could be expanded up to 64Kb, minimum to run OS-9 Level 1.
  • CoCo 2: The Color Computer 2 is a refined—but fully compatible—version of the original Color Computer. The refinements consist mostly of a new, smaller case with a typewriter-looking keyboard and redesigned motherboard. Also, the later CoCo 2s were able to generate true lowercase letters (NOTE: later model CoCo 2s that said "Tandy" instead of TRS-80 had the lowercase) instead of "reverse video". Besides that, it has the same 64Kb/32-column limitation of its ancestor. This CoCo was in the same price range of machines such as the Atari 8-bit series and the Commodore 64.
  • CoCo 3: The last Color Computer has quite a collection of improvements as compared to the previous machines: true 80-column, higher resolution graphics, and more memory—the bare-bones configuration comes with 128 Kb of RAM that can be expanded up to 512k through Tandy, and up to 2Mb from third-party vendors. It was intended more as competition for Atari's ST series and the original Commodore Amiga. The CoCo 3 can run OS-9 Level 2. The CoCo 3 also allowed the famous speed-up poke (POKE 65497,0 and POKE 65496,0) to double the clock speed to 1.78 MHz.

There were also some companies that manufactured CoCo clones:

  • Dragon 64: CoCo 1 clone made by Tano. Had separate parallel I/O.
  • TDP System 100: CoCo 1 clone made by Tandy and sold outside Radio Shack
  • Fujitsu FM-7: Had Microsoft Basic and used Level I OS-9 and FLEX
  • MC-10 "Baby CoCo": made by Tandy-Radio Shack using an MC6803

What graphic modes were there?

The CoCo 2 was capable of uppercase only on a 32x16 screen with 8 colors. To show lowercase, the CoCo 2 used inverse video. Later versions of the CoCo 2 showed real lower-case. In this "text" mode, there were also 64 x 32 "pixels" that could be set using the SET command, or drawn with CHR$. The CoCo 2 also had a maximum resolution of 256 x 192 with 2 colors. But by alternating light and dark lines, false or "artifact colors" could be made, mainly red and blue. Maximum colors in the CoCo 2 was 8 total. Here are all the possible graphic resolutions: 32x16x8, 64x32x8, 128x96x2, 128x96x4, 128x192x2, 128x192x4, and 256x192x2.

Various software fixes were developed to improve the text screen. Telewriter 64 used the hi-res graphics screen, and drew each letter on the screen as the user typed. Machine language made it very quick! Early on, Rainbow (I think) featured a program called Screen51, which, once loaded and EXECed, would show all the text on the hi-res screen. The advantage was that you could now mix graphics and text. The disadvantage was that the 51 columns were very squished together. But hey, you had 51 columns and true lowercase!

There were also various "semigraphics" modes, available only to assembly language, including some that allowed text on the top half, and graphics on the bottom. Robert Gault has a little info about one of the semigraphics modes called Semigraphics24.

The CoCo 3 supported all the standard CoCo 2 graphic modes, plus a 40-column and 80-column screen with true lower case, underline, and blink; 320x192x4, 320x192x16, 640x192x2, and 640x192x4. The semigraphics modes of the CoCo 2 were done away with. A special RAM-based character set was also available with commands to put text onto the graphic screens.

The new CoCo 3 supported a total of 64 colors, any 16 of which could be active. This made using color very flexible, but a little confusing. For example, if the HCOLOR was set to 3, and a line was drawn, the line would be color 3. Color 3 could have been any of the 64 available. By using the PALETTE command, the user could assign the 64 colors to the 16 "slots." If color 45 was assigned to slot 3, the line above would have been color 45. Unfortunately, the colors shown on an RGB monitor were different than on a composite monitor. Various software tricks exist to show more than 16 at a time.

There were also programs and POKEs to obtain 320x200x16 and 320x200x225 (and 640x200 and 640x225). In addition, horizontal and vertical scrolling was possible through the hardware. POKEing to certain locations caused the entire screen to scroll at a pixel level left, right, up and/or down. Page-flipping could also be done extremely quickly simply by telling the CoCo that the data in RAM for the graphics was somewhere else. This would be immediately mapped into the video screen.

The video output was also used to generate interrupts. There were two on all CoCos, and I think that the CoCo 3 had one more. The two common ones were the vertical interrupt every 1/60th of a second (commonly called the IRQ), and a fast interrupt, or FIRQ, connected to the horizontal sync pulse (approx. 63 microseconds, I think).

What about that replacement CPU?

The replacement CPU was one of the biggest pieces of news to come out in the early 1990s. The Hitachi 63B09E chip is fully compatible with the original 68B09E. Added advantages were that it ran cooler, some internal operations were faster, and there were extra registers in the CPU.

The 6309 had two modes; "6809" and "native". When powered up, it defaulted to 6809 mode. This made it completely compatible with the original 6809 from Motorola, even down to the number of clock cycles to execute internal instructions. When sent a certain string, it would switch to native mode. Under RS-DOS, users could expect perhaps a 15% speed boost. However, since the timing of certain instructions was shortened, disk operation, printer, and cassette use was affected and unreliable. Due to the nature of OS-9, though, speed increases of 30% to 50% were possible, and disk operation was normal. The additional increases were due to patches in the OS that took advantage of the additional registers, etc. Burke and Burke released PowerBoost, a software set of patches to OS-9, that gave the additional speed.

The downside of all this was that the original 6809 was soldered to the motherboard. To replace it, it has to be cut out, each of the 40 pins desoldered, and a socket installed, and then the 6309 can be plugged into the socket.

Another OS, called NitrOS-9 was also updated for use with the 6309. More will be covered in the FAQ-Software link, but you can visit the NitrOS-9 page for info.

Tell me about disk drives.

The CoCo disk standard disk system from Radio Shack consisted of a single vertical, later horizontal, 5.25 inch single-sided, 35 track drive. A second drive could be added inside the case. The drive unit containing a power supply (and optional fan) was connected to a Disk Controller by an approximately two-foot ribbon cable. Some cables were bundled into a thick round case. The Controller plugged into the side of the CoCo, and contained the Disk Operating System, or DOS. The standard DOS that came from the Shack is usually known as RS-DOS. However, many vendors provided enhanced support for double-sided drives, 40 and 80 tracks, wildcard directories, etc. Versions included A-DOS, J-DOS, MK-DOS, and DR-DOS. A-DOS was very popular due to its ability to handle different sized drives. Many of the later Radio Shack drives were actually 40 track drives, but under RS-DOS, only 35 were accessible. Jump to the Software FAQ and read about DOS versions.

A typical single-sided disk contained 68 granules. Each granule was a little more than 2k, so a single disk could hold approximately 156k. The CoCo supported up to 4 drives. Through software and various versions of DOS you could have either four singled-sided disks, or two double-sided, with the second side of each disk being assigned another drive number. I may be wrong, but third-party vendors may have supported "true" double-sided drives, in which both sides are assigned and accessed with one drive designation. The CoCo used drive 0 as the primary drive, and drives 1,2, and 3 as the additional ones.

Many people started using "flippies". By notching a single-sided disk, you could flip it over and save more on the other side. But because the disk platter was spinning the opposite direction relative to the first side, these "flippy" disks could not be read in a double-sided drive. Many people also warned that the flip side was not certified for data, that by spinning it backwards the heads would wear out, etc.

The very first disk controller required both 12 volts and 5 volts from the CoCo, but the CoCo 2 and CoCo 3 did not provide the 12 volts on the cartridge slot, so unless you had a 12-volt adapter hot-wired into the original controller, it couldn't be used with the newer CoCos.

Amdek of Illinois sold the AMDISK system which used three-inch "micro-floppies" that could hold 312k each. Rainbow 1983 shows a rather cool looking AMDISK hooked to a CoCo 1, and a headline that says "624k" and a footnote saying that the extra 312k can "be accessed by manually flipping the media over". Not sure what sort of DOS was required to access the 312k. Further info in Rainbow indicates the system came with a controller, and two drives, each holding 156k, so 156k x 2 drives x flipping each one = 624k Since each disk actually holds the same as a regular 5.25" disk, it's likely that regular RS-DOS could be used.

What is a multipak?

The multipak is a device that allows the CoCo to use of up to four paks at a time. It is normally used by people who have multiple devices that need to be used simultaneously, such as OS-9 users. A possible combination is as follows:

  1. RS-232 Pak
  2. Orchestra-90 Pak
  3. Speech/Sound Cartridge
  4. floppy drive controller pak (always in slot 4)

There are two ways to access a given slot. One is with the switches and the second is by storing values in control memory locations.

Multipacks had to be "patched" with a small chip (known as a PAL chip) to work correctly with a CoCo 3, due to memory map problems.

Multipacks (or MPIs) were the recommended way of connecting multiple cartridges. Some people had success with y-cables. A y-cable plugged into the cartridge slot and provided two short ribbon cables, each with a female-slot connector. Two devices could be then connected, usually a disk drive and something else. Triple y-cables were also made. However, since the y-cables made the CoCo bus just a little longer, the operation of the CoCo was sometimes unreliable.

What is the wiring matrix for the keyboard?

                Color Computer Keyboard Array 
    Pin 1 --- @ --- A --- B --- C --- D --- E --- F --- G 
              |     |     |     |     |     |     |     | 
    Pin 2 --- H --- I --- J --- K --- L --- M --- N --- O 
              |     |     |     |     |     |     |     | 
    Pin 3 nc  |     |     |     |     |     |     |     | 
              |     |     |     |     |     |     |     | 
    Pin 4 --- P --- Q --- R --- S --- T --- U --- V --- W 
              |     |     |     |     |     |     |     | 
    Pin 5 --- X --- Y --- Z -- UP -- DWN - LFT - RGT - SPACE 
              |     |     |     |     |     |     |     | 
    Pin 6 --- 0 -- 1! -- 2" -- 3# -- 4$ -- 5% -- 6& -- 7' 
              |     |     |     |     |     |     |     | 
    Pin 7 -- 8( -- 9) -- :* -- ;+ -- ,< -- -= -- .> -- /? 
              |     |     |     |     |     |     |     | 
    Pin 8 -- ENT - CLR - BRK - ALT - CTL - F1 -- F2 - SHIFT 
              |     |     |     |     |     |     |     | 
              |     |     |     |     |     |     |     | 
    Pin 9 -----     |     |     |     |     |     |     | 
                    |     |     |     |     |     |     | 
    Pin 10 ----------     |     |     |     |     |     | 
                          |     |     |     |     |     | 
    Pin 11 ----------------     |     |     |     |     | 
                                |     |     |     |     | 
    Pin 12 ----------------------     |     |     |     | 
                                      |     |     |     | 
    Pin 13 ----------------------------     |     |     | 
                                            |     |     | 
    Pin 14 ----------------------------------     |     | 
                                                  |     | 
    Pin 15 ----------------------------------------     | 
                                                        | 
    Pin 16 ---------------------------------------------- 

CoCo 2 keyboard is identical, except no CTL, F1, F2, or ALT.

How do I use the RS-232C I/O port (a.k.a. "bit-banger")?

In RS-DOS, you can connect a modem to the CoCo serial port, rather than through a separate RS-232 Pack. The nice thing about this setup is that you can have a modem and a floppy drive controller connected to the CoCo without needing a Multipak. As far as I know, the fastest you can go using the CoCo serial port is 9600 baud (using Twilight Term). Speeds of up to 19,200 were available using an RS-232 Pack. Under OS-9, it does at 300 baud and sorta-sorta at 1200 (there was a CoCo OS-9 BBS ran by Tim Johns at 1200 baud through the bitbanger) and the improved 1200 baud bitbanger driver reportedly does it better, though slowing things down.

List of materials for a CoCo RS-232C to true-RS-232 cable for a modem:

  • 1 DIN-4 connector, male
  • 1 DB-25 connector, male (though here it depends on your modem)
  • 6ft of 4-wire cable (ideally you get a shielded cable with 3 wires inside; if you can get such cable, connect the GND pin in the pinout below to be the shield)

What are the POKEs for the baud rate?

These POKEs set the baud rate for the modem and/or printer. For example enter at the command line: POKE 150,X - where "X" is one of the following poke numbers:

POKE#     BAUD RATE 
 180         300 
  87         600 
  41        1200 
  18        2400 
   7        4800 
   1        9600
 

For the MC-10 "Baby CoCo", the command is:

POKE 16932,X - where "X" is one of the following:

POKE#     BAUD RATE 
 241         300 
 118         600 
  57        1200 
  26        2400 
  10        4800 
   9        9600
 

What is the pin-out for the cartridge slot?

A nifty project in Rainbow connected a toggle switch between the HALT line and ground. By activating the switch, the CPU would finish its current instruction, then stop completely. This became a nice pause feature during games, since the entire state of the CPU stayed the same. Also, by covering pin 8 on the cartridge, ROM-packs could be inserted without them starting up. It is extremely dangerous to insert a ROM-Pack with the CoCo switched on.

Color Computer 1, 2, & 3 Cartridge Connector Definitions

------------------------------------------------------------ 
| PIN | SIGNAL NAME | DESCRIPTION                          | 
|-----|-------------|--------------------------------------| 
|  1  |   N.C.      | (-12 VDC on CoCo 1 and 2)            | 
|  2  |   N.C.      | (+12 VDC on CoCo 1 and 2)            | 
|  3  |   HALT*     | Halt input to the CPU                | 
|  4  |   NMI*      | Non-Maskable Interrupt to the CPU    | 
|  5  |   RESET*    | Main Reset and Power-up Clear        | 
|     |             |                                      | 
|  6  |   E CLOCK   | Main CPU Clock                       | 
|  7  |   Q CLOCK   | Clock which leads E by 90 degrees    | 
|  8  |   CART*     | Rom-Pak Detection Interrupt          | 
|  9  |   +5 VDC    | +5 Volts DC (300 mA)                 | 
| 10  |   DATA 0    | CPU Data Bus - Bit 0                 | 
|     |             |                                      | 
| 11  |   DATA 1    | CPU Data Bus - Bit 1                 | 
| 12  |   DATA 2    | CPU Data Bus - Bit 2                 | 
| 13  |   DATA 3    | CPU Data Bus - Bit 3                 | 
| 14  |   DATA 4    | CPU Data Bus - Bit 4                 | 
| 15  |   DATA 5    | CPU Data Bus - Bit 5                 | 
|     |             |                                      | 
| 16  |   DATA 6    | CPU Data Bus - Bit 6                 | 
| 17  |   DATA 7    | CPU Data Bus - Bit 7                 | 
| 18  |   R/W*      | CPU Read/Write Signal                | 
| 19  |   ADDR 0    | CPU Address Bus - Bit 0              | 
| 20  |   ADDR 1    | CPU Address Bus - Bit 1              | 
|     |             |                                      | 
| 21  |   ADDR 2    | CPU Address Bus - Bit 2              | 
| 22  |   ADDR 3    | CPU Address Bus - Bit 3              | 
| 23  |   ADDR 4    | CPU Address Bus - Bit 4              | 
| 24  |   ADDR 5    | CPU Address Bus - Bit 5              | 
| 25  |   ADDR 6    | CPU Address Bus - Bit 6              | 
|     |             |                                      | 
| 26  |   ADDR 7    | CPU Address Bus - Bit 7              | 
| 27  |   ADDR 8    | CPU Address Bus - Bit 8              | 
| 28  |   ADDR 9    | CPU Address Bus - Bit 9              | 
| 29  |   ADDR 10   | CPU Address Bus - Bit 10             | 
| 30  |   ADDR 11   | CPU Address Bus - Bit 11             | 
|     |             |                                      | 
| 31  |   ADDR 12   | CPU Address Bus - Bit 12             | 
| 32  |   CTS*      | Cartridge (ROM) Select Signal        | 
| 33  |   GROUND    | Signal Ground                        | 
| 34  |   GROUND    | Signal Ground                        | 
| 35  |   SND       | Cartridge Sound Input                | 
|     |             |                                      | 
| 36  |   SCS*      | Spare Cartridge (DISK) Select Signal | 
| 37  |   ADDR 13   | CPU Address Bus - Bit 13             | 
| 38  |   ADDR 14   | CPU Address Bus - Bit 14             | 
| 39  |   ADDR 15   | CPU Address Bus - Bit 15             | 
| 40  |   SLENB*    | Input to Disable Internal Devices    | 
------------------------------------------------------------ 
* are LOW (0 volts) to activate

What is the pin-out for the cassette and joystick ports?

What is the pin-out of the RGB connector on the bottom of the CoCo 3?

Pin 6 is missing on the connector (for polarity) and pin 10 is no connection.

Pin Name Description
1    GND Ground
2    GND Ground
3      R Red                -------------
4      G Green              | 2 4   8 10|
5      B Blue               | 1 3 5 7 9 |
6    KEY No Pin             -------------
7  AUDIO Audio              R G B   O U T 
8  HSYNC Horizontal Sync
9  VSYNC Vertical Sync        F R O N T
10   n/c No Connection

Tell me about CoCo Emulators for the PC (DOS/Windows/Mac/etc.)

With the advent of powerful 80xxx and Pentium-level computers, emulators have appeared for almost every "older" computer. There are several emulators for the CoCo. One of the most popular is Jeff Vavasour's CoCo 3 Emulator. It almost fully implements a CoCo 3 on a DOS or Windows machine. DX/4-100 is recommended (or better!). His emulator features the ability to read and write CoCo disks, software-duplicated interrupts, external sound on SB, full graphic support, debug utilities, speed controls, high-res joystick and mouse support, and a port program to move files between the MS-DOS and CoCo environment. You can also visit the TRS-80 page for links to other emulators. As of March, 1999, rumors were around that a Windows-based DirectX CoCo Emulator by Russ LeBang was under development. This is exciting news. The current emulators require too much processing time to emulate the CoCo GIME chip, which was capable of page-flipping, hardware scrolling, etc. Whereas the current emulators cannot do these features fast enough to look like a real CoCo, perhaps a native Windows DirectX application will. A PowerPC version is also in the works.

What kind of hardware is available?

Dozens of hardware add-ons/peripherals were created for the CoCo.

Clock/Chip Accelerators:

The safest way (in my opinion) to gain speed is to install a 6309 chip, and then run OS-9. Even under RS-DOS, a 10%-15% increase could be achieved with patches to the OS.

Another possible way is to replace the crystal on the CoCo motherboard. This will increase the pulses going to the CPU which is externally driven, and rated up to 2 MHz continuous operation. However, this crystal also drives the printer, cassette, and serial ports, plus disk drive operation, and video out. All of those would be messed up.

A clever and unique way which is gaining popularity was developed by John Kowalski, a.k.a. Sockmaster. He attached a custom-built circuit to the 6809. It detected whether the CPU needed to access the system bus (which it must do for memory, disk, video, etc.). If the CPU did not—that is, the CPU was busy executing some internal instructions—the circuit would insert an extra clock pulse to the CPU between the regular ones. If the CPU needed to access the bus, no extra cycles were inserted, and normal speed operation took place. This increased the CoCo speed by approx. 25%–40% but kept video, disk, printer, etc. working normally.

Memory/Disks:

The standard CoCo 3 came with 128k, and could be expanded to 512k. Kits were manufactured for 1 meg, although only OS-9 could really make use of this memory. I think 2 megs was also available under OS-9. With 512, or 1 meg, the CoCo 3 could have 1 or 2 RAMDisks. When the CoCo 2 came out, there were bubble-memory kits for extra RAM, and/or RAMDrives in a cartridge. Recently, a kit has been developed that uses a 1 meg SIMM chip.

Printers:

Radio Shack offered several DMP Dot Matrix printers. Most had dual serial and Centronics interfaces. Some vendors offered Serial-to Parallel converters (EG Blue Streak Ultima) that would allow the CoCo to hook up to any standard printer with a Centronics parallel interface. Epson-FX and SX printers wer also popular, as was the Radio Shack CGP-115, or Color Graphics Printer. Work was attempted at creating drivers for laser and inkjet printers.

Monitors:

The CoCo 1 and 2 had RF converters inside them. They could be hooked to the antenna inputs of a TV or VCR. The signal was sent on channel 3 or 4. For the CoCo 3, Radio Shack offered the CM-3 and CM-8 for the CoCo. (The CoCo 3 featured the RF converter, a composite video and audio out, and a special analog-RGB port underneath). The CM-3 produced a rather poor image, but the CM-8 was quite acceptable. The Magnavox 8CM515 was a popular non-Tandy monitor with even sharper resolution. It also had the option of switching to composite for those weird artifact colors on the original CoCo 2. TV and composite outputs were satisfactory for images, and standard 32-column and 40-column text, but 80-column text was unreadable without a good monitor. Many other monitors that accept analog RGB, plus separate VSYNC and HSYNC pulses, could also work. Some other monitors, though, require a mixed SYNC pulse, or an inverted one, and conversion kits were available.

There was also a Word Pak for the old CoCo 1 and 2. Its output goes to a monochrome monitor. Word Pak RS/80 allows having 80 x 24 text under RS-DOS and OS-9.

Other vendors also made kits to create better quality composite output on the CoCo 1 and 2, and/or lowercase using an external character ROM chip.

Modems:

Many external modems worked perfectly with the CoCo 2 and 3. As far as cartridge modems go, the Direct Connect Modem Pak was a 300-baud modem designed for the CoCo. The modem pak does have a communications program built in its ROM, but it's not that sophisticated. For those of you who do not stand the built-in communications program, there are several public-domain terminal packages that may suit your needs, as well as some very nice commercial ones. Marty Goodman, MD, also published a way to modify a DC Modem Pack and make it an RS-232 pack, capable of 19,200 baud.

For a CoCo 3, there are V-TERM for RS-DOS and KBCom and DeskMate 3 for OS-9. If you can get files from listserv, there is a public-domain version of KBCom on it. The commercial version is said to be much better but I have never seen it. If you decide on V-TERM, Rick's Computer Enterprises may be able to sell you a copy. Jump to the Software FAQ and read about other communication software.

Miscellaneous:

Other popular add-ons included the joysticks, deluxe self-centering joysticks, a mouse, an x-pad, dozens of utility and game program packs, video digitizers, hard-drive interfaces, real-time clocks, etc.

A hi-res joystick adapter was developed. It plugged into the serial port and joystick port. A regular CoCo joystick/mouse was then plugged into the adapter. This boosted the resolution of the joystick from 64x64, to 640x640 (I think).

News from February 1999 included the possibility of a cartridge with an IDE interface, real-time clock, parallel port, and "speed doubler" for the CoCo 3.

Software

What are the (disk) operating systems available to the CoCo?

  • RS-DOS was the original disk OS for the CoCo. Officially it is not a DOS, but an extension of Color BASIC to allow disk access. Without a disk drive, the CoCos would run Color BASIC, and you had to purchase the Extended Color BASIC ROM to take advantage of extra graphics! Plugging in the standard (although there were two versions) Radio Shack disk controller, gave you Disk Extended Basic, or RS-DOS. Standard RS-DOS is reviewed in the hardware FAQ. Essentially, the standard disk commands were available, including DIR, OPEN, SAVE, LOAD, CLOSE, INPUT, WRITE, KILL, DSKINI (format), BACKUP, and COPY.
  • A-DOS was developed by Art Flexser. It came in three versions, ADOS for the CoCo 1 and 2, and ADOS 3 & Extended ADOS 3 for the CoCo 3. It was 100% compatible with RS-DOS if you didn't need to patch Disk BASIC, and added features to RS-DOS, noteably 40 and 80 track drive support. ADOS came on a disk, and could be loaded into the CoCo, or you could customize ADOS, program an EPROM, and use the EPROM as your disk ROM, therefore booting your CoCo with ADOS. This was a neat, because many users then set their CoCos to boot with the 80 column screen. It also ran the CoCo at double-speed, even during disk and printer I/O, featured auto line numbering, arrow scroll through listings, auto edit of errors, macros, etc. Extended ADOS 3 added things like parellel printer output (assuming you had the right hardware), wildcard filenames, and a RAMdisk. This was arguably the most popular modified RS-DOS used with the CoCo.
  • OS-9 Level 1 (for CoCo 1 and 2) and Level 2 (for CoCo 3) was a completely different OS than the RS-DOS versions. OS-9 supported the full 512k of RAM (on a CC3), multi-tasking, multiple windows, etc. The modular approach allowed users to add or change code modules for additional features, such as 40/80 double-sided drive support. OS-9 Level 1 was for the 32k and 64K CoCo 1 and 2, but was very limited with only 64K of memory. OS-9 Level 2 was a welcomed upgrade. I think there was a Level 3 upgrade unofficially released, but I'm not sure what was upgraded in terms of performance. The main upgrade was support for up to 2MB of RAM.
  • J-DOS was sold by J&M Systems of New Mexico. J-DOS supported all RS-DOS commands, auto-line numbering, error trapping, baud selection, OS-9 boot, memory minder(disk check program)
  • MY-DOS was sold by HawkSoft. It was customizable and EPROMable. Features that it added to RS-DOS included lowercase program entry, SAY command for S/S Pak, point/click disk directory, double-sided 40-track drives, screen power-up options
  • MKJ DOS and MKJ3 DOS were sold through CoCo Connection of Philadelphia. They were EPROMable, and included the following features: 80 track DS drives, wildcards, alphabetical and dated file listings, full screen BASIC editor, spelled-out errors, repeat key, SAY (for S/S Pak), plus other special commands for editing.
  • SCS DOS was also EPROMable, and sold through Second City Software. From what I could find, it added 24 new disk commands and 2 new hi-res screens, 40 tracks/DS disks, 6 ms stepping, disk search, and error trapping (the error trapping leads me to believe it worked for the CoCo 1 and 2)
  • OWLDOS was sold through OWL-WARE, of Mertztown, PA. OWLDOS claimed 25% faster disk access, double sided drives, and correction of a floating point error.
  • SPECTRUM DOS (again, EPROMable) sold by Spectrum Products of New York. Added 24 new disk commands, 2 new hi-res screens, 40 track and double-sided drives, 6ms step, disk search, error trapping (sounds a lot like SCS DOS)
  • RGB-DOS was sold by Burke and Burke of Washington. The main feature was adding hard drive support for RS-DOS. It did this by dividing a hard drive into 255 virtual floppy drives and adding commands to switch among these virutal floppies. It was compatible with all software that used the RS-DOS disk I/O ROM routines, but was incompatible with any software (mostly games) that used their own disk I/O to save memory or time.
  • HDB-DOS Currently supported and sold by Cloud-9 (http://www.frontiernet.net/~mmarlette/Cloud-9/Support/HDB-DOS%20FAQ.html). This is an updated version of RGB-DOS. Cloud-9 obtained permission to sell and modify RGB-DOS from the original author. The main upgrade is supporting several different hard drive controllers, which were not in existence when RGB-DOS was written. Several RGB-DOS bugs were also corrected. The name was changed to avoid confusion with the older product and to better keep track of subsequent versions.
  • STAR DOS sold by Star Kits of New York for the CoCo 2.
  • DOUBLE-DOS BASIC sold by Double Density Software of Texas allowed the CoCo 2 to use 35, 40 and 80 single/double sided drives together, and added reset protection. 100% compatible with RS-DOS.
  • AMDISK was a 3 inch micro-floppy system sold by Amdek. The disk held 312k (flippable for 624k). Not sure if a patched RS-DOS or a special "AMDISK-DOS" was used to gain access to these little cartridges. Further literature in Rainbow indicates that the AMDISK came with a controller, and two drives, each disk holding 156k on one side. So we have 2 disks x 156k x flipping each over = 624k! Since each disk actually holds the same as a standard RS floppy, it's very possible that the regular RS-DOS could be used.
  • FLEX was a product of Technical Systems Inc, of North Carolina. The official name was "6809 FLEX Operating System". FLEX was then "ported" to the CoCo under the name of "The FLEX 9.0 Disk Operating System for the Radio Shack Color Computer using 64k RAM" by Steve Odneal, or Missouri, and licensed to Computer Publishing Inc, or Tennessee. FLEX was competition of the very popular (at the time) CP/M system for the 8080 and Z80 chips. CP/M could be considered a forerunner to what we now call DOS on the PC. FLEX worked very well on a 64k CoCo, whereas apparently OS-9 Level 1 did not work as well on a 64k CoCo.
  • NitrOS-9 is the only DOS for the CoCo that is still supported. It is essentially an upgrade of OS-9. There are versions for the CoCo 1 and 2 (requires 64K) and the CoCo 3 with either a 6809 or the enhanced 6309 processor. There are continual updates to the system. It supports up to 2MB of RAM and has many enhancements over the original OS-9 Level 2, too many to list. More information and current downloads can be found at http://sourceforge.net/apps/mediawiki/nitros9/index.php?title=Main_Page

What are the languages available to the CoCo?

Without disk drive:

  • Assembler (tape)
  • BASIC (built-in, old CoCo 1s)

RS-DOS (and compatible variations of RS-DOS)

  • Assembler
  • Disk BASIC (built-in)
  • Compiled BASIC (Sometimes called C-BASIC)
  • C
  • FORTH
  • DAC-FORTH
  • DEFT Pascal
  • LOGO

OS-9

  • APL
  • Assembler
  • BASIC09
  • C
  • COBOL
  • Forth (sold as Forth09)
  • Pascal
  • PILOT
  • RSB
  • Sculptor

FLEX

  • Crunch COBOL marketed through Frank Hogg Labs

Which communication programs can I get for the CoCo?

CoCo Communications Programs
Name Format Type VT100? ANSI? Protocols * Auto dial? ** Other
KBCom OS-9 sw/com yes xy z*** yes Double high/wide support
WindowWriter OS-9 com CoCo 3/Level II
V-term DOS com yes no xy & x/crc yes VT-52, 80x28, Vidtex, serial port to 2400
Kermit DOS free no kermit no
Kermit OS-9 free kermit
OSTerm OS-9 share yes partial xy yes
SuperComm OS-9 free partial xy z*** yes
Greg-E-Term DOS share x
Greg-E-Term DOS com xy y-batch
AutoTerm DOS/Cass com no x yes Scripting, also doubled as a basic word processor
X-Term OS-9 com no x
VIP Terminal DOS/Cart com 32/51/64/85x21/24 for CoCo 1,2,3
Warp 1 OS-9 com no yes Macros, timer
DataPack III DOS com yes no x Macros, RAMdisk, 80x28
Wiz OS-9 com no no x/kermit yes VT-52
ColorCom/E DOS com no x CoCo 2, 51x24
MikeyTerm DOS share x yes Autodial with MikeyDial program
DelphiTerm DOS share xy yes Macros, RAMdisk, not just for Delphi users
Ultimaterm DOS share yes xy yes Key repeat, VT-52
TwilightTerm DOS share no yes none yes Claims up to 9600 baud through the serial port with no lost characters!
DFT II DOS/Cass com no no only ASCII no CoCo 1 and 2
ColorTerm Plus DOS/Cass com no no no
DYTERM Cart/Cass com "BASIC program with m/l subroutines"
TermTalk DOS/Cass com When combined with Spech Systems "VOICE", it will read
the terminal text to you "just like in the movie War Games"
MicroText Cart com The cartridge added a second serial port so you could print as you downloaded.
MicroTerm Cass com MC-10 only

(Blanks in the table mean I don't know)

* Protocols: X=Xmodem (usually not Xmodem/CRC), Y=Ymodem (non-batch), Z=Zmodem(recovery/batch features unknown), Kermit=Kermit. Except for TwilightTerm (which was coded for ANSI support rather than downloads), all these comm programs also have ASCII transfer protocol.
** Autodial in this chart can mean either a phone directory built in, or programmable macros that can be used for dialing. Either way, the user does not have to type ATDT ### ### #### to dial.
*** To use Zmodem, the program calls an external zmodem program, either rz or sz for receive or send. SuperComm calls the rz/sz automatically, while KBComm requires a macro.


What word processing programs could be used on the CoCo?

CoCo Word Processing Programs
Name Format Type CoCo Features **
Simply Better DOS com 3 Two windows, merge, indexes, forms, spool, autosave,
sort, calc., numbering, paging, WYSIWYG mode, etc.
Word Power 3.3 * DOS com 3 Spell/punct, merge, calc, spool, 2 columns
VIP Writer DOS/Cart com 1,2 The basics
VIP Writer III 2.0 DOS com 3 Spell, undo, print preview, spool
TeleWriter 64 DOS/Cass com 1,2,3 51/64/85x24, lowercase, cassette/disk i/o
Stylograph CoCo Version OS-9 com 1?, 2? From Stylo Software of Idaho, apparently better than the comparable
WordStar for the PC. (WordStar was later replaced by Word Perfect and Microsoft Word)
TeleWriter 128 DOS/Cass com 3 Macros, preview, 80x28, etc.
EZWriter DOS/Cass com 1,2,3 Letter writing only, merge, cheap
TextPro IV DOS com 3 Up to 212x28, on screen bold/ital/etc., buffered keyboard,
merge, RAMdisk, laser printer support
DynaStar OS-9 com 3 Windows, merge, macros, etc., DynaSpell optional
WindowWriter OS-9 com Multitasking, pull down menus, more
XWord OS-9 com 2,3 Worked with WordPack, regular screen, Xscreen, block commands, find/replace, proportional,
headers/footers, page numbering. Optional XSpell checker.
Ved/Vprint OS-9 Pull-down text menus, multitasks, etc. (from Bob Van de Poel)
Autoterm DOS/Cass com 2,3 Basic word processor that doubled as a terminal program. Search, embedded printer codes, margins,
compatible with TeleWriter
Elite-Word DOS/cass com 1,2 Buffered keyboard, block, upper/lower, merge, etc.
SCRIPSIT Cart/DOS com 1,2,3 I have to mention this poor pathetic Radio Shack word processor. Not having seen the disk version,
I can say the cartridge one was pretty sad. The 32 column "windowed" over the full page,
so you could never see the entire document. Enough said.
Keep Text II (formerly Chromasette) DOS/Cass com 1,2 32x16, embedded printer controls, search/replace, key repeat, centering, margins
MasterWriter DOS/Cass com 1,2 Inexpensive, full-screen, block, menus, macros, print spool, etc.
CoCoWriter DOS/Cass com 1,2 32/51/64/85x24, menus
Max-10 DOS com 3 I don't really want to get into desktop publishing (versus basic word processing) but Max-10 from Colorware
(designers of CoCo Max) deserves a mention as being the first true desktop publishing program for the CoCo 3
with WYSIWYG, columns, built-in spell checker, re-sizing imported graphics, undo, margins, etc.

(Blanks in the table mean I don't know)


* Many of these programs were available in earlier versions for just the CoCo 1 or 2. With the advent of the CoCo 3, every started to add 80-column support. A print spooler and RAMdisk were also popular enhancements due to more available memory.
** Except for Max-10, as far as I know, all the other programs with spell checkers had "external spell checkers". That is, after typing, you ran the spell checker, often by quitting the main word processing application. I remember one disk spell checker that I had. It checked almost every word, and the drive spun and ground back and forth for ages and ages. It worked, but slowly.

Tell me about graphic programs.

  • CoCo Max (1,2, and 3) were probably the most well known graphic programs for the CoCo, and the CM3 file format almost became a CoCo standard. CoCo Max 3 featured two 320x192 screens that could be linked to form a giant 320x384 screen. The menus were easy to use, as were the tools and textures. Using their own hi-res interface, and later, the Tandy hi-res interface, the joystick/mouse could access the entire screen. CoCo Max featured undos, animation (color slot flipping) fonts, slide shows, stamps, shrink/ stretch, rotate, zoom, lasso, etc. One feature that tickled everybody was the color selecting. You would see ALL 64 colors on the screen at the same time, and then pick the 16 that you wanted.
  • The Rat was sold by Diecom (and others). It supported 320x200x16, lines, shapes, fill, stamp, shrink, rotate, textures, etc. Diecom included a mouse if you ordered from them.
  • ColorMax was similar to CoCo Max. ColorMax 3 debuted before CoCo max III, and ran with 128k. Later ColroMax Deluxe added GIF load/save, palette animation, multiple screens with cut/paste.
  • Da Vinci was sold through Owl-Ware. It featured 320x192x16, custom paintbrushes, fonts, boxes, etc., zoom, menus. It did not require a hi-res interface. Instead, the joystick/mouse/x-pad could input either a "coarse" or "fine" mode. I"m sure you can guess how this worked.
  • MVCanvas 2.0 sold by HyperTech Software of Nevada, was for OS-9 Level II and Multi-Vue. It featured multiple resolutions up to 320x200, with 16 colors, palette animation, clipboard, fonts, etc.
  • Max9 (free), written by Kevin Darling for OS-9, was a demo program using OS-9 calls. It ran in all four windows.