Q1) What is a
CoCo? Q2) What
models were there? a) What
graphic modes were there? b) What was
that replacement CPU thing? Q3) Tell me
about disk drives. Q4) What is a
multipack? (and a y-cable) Q5) What is
the wiring matrix for the keyboard? Q6) How do I
use the RS-232C i/o port? Q7) What are
the POKEs for the baud speed? Q8) What is
the pin-out for the cartridge slot? a) What is
the pin-out of the cassette port? b) ...the
joystick port? c) ...the
RGB port? Q9) Tell me
about CoCo Emulators for the PC (DOS/Windows/Mac/etc.) Q10) What
kind of hardware is available? (accelerators, modems,
printers, etc.)
Q1) What is a CoCo?
The name TRS Color Computer, known as CoCo by
its owners, refers to a familiy 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-in
its ROM. Differing from an Apple ][+, //e, or an IBM, CoCos comes with a
variety of I/O ports built-in. On the rear panel of the unit are
connections for 2 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 multipack (or MPI) allowed
multiple cartridges to be inserted. Q2)
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 wwere 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 antecessor. This CoCo was in the same price
range of machines 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 barebones
configuration comes with 128 Kb of RAM that can be expanded up to 512k
through Tandy, but 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 seperate parallel I/O.
TDP System 100 - CoCo 1
clone made by Tandy and sold outside RS
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 Q2a) 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 added: 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
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). Q2b) 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 would be cut out,
each of the 40 pins desoldered, a socket installed, and then the 6309
was plugged into the socket.
Another OS, called NitrOS9 was also updated for use
with the 6309. More will be covered in the FAQ-Software link, but
you can visit the
NitrOS9 page for info. Q3) 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 approx. 2 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 Shack drives were
actually 40 track drives, but under RS-DOS, only 35 were accessable. 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 approx. 156k. The CoCo supported up to 4 drives.
Through software and various versions of DOS you could have either 4
singled sided disks, or 2 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 prmiary drive, and
drives 1,2, and 3 as the additional ones.
It's interesting to note that 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 issued warning that the flip-side was not certified for
data, that by spinning it backwards the heads would wear out, etc.
etc.
The very first disk controller required both 12 volts
and 5 volts from the CoCo, but CoCo 2 and CoCo 3 did not provide the 12
voltes on the cartridge slot, so unless you had a 12 volt adaptor
hot-wired into the original controller, it couldn't be used with the
newer CoCos.
Amdek of Illinois sold the AMDISK system which used 3
inch "micro-floppies", which 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. Q4) What is a multipack?
The multipak is a device that allows the CoCo
to use of up to 4 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 Pak 4 floppy drive controller pak. <-floppy
controller ALWAYS in slot 4
There are 2 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
deviced 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. Q5)
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. Q6) How do I use the
RS-232C i/o port (a.k.a. "bit-banger")?
If you are in RSDOS, you can connect a modem
to the CoCo serial port, rather than through a separate RS-232
Pack. The nice thing in this setting 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 OS9 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)
Q7)
What are the POKEs for the baud speed?
These POKEs set the baud speed for the modem
and/or printer. For example for baud rate on
COLOR COMPUTER enter at 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 Q8) 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 Q8a & b) What is
the pin-out for the cassette and joystick ports?
Q8c) 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. Q9) 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 ability to read CoCo disks (and write them) 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 TR-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. Q10) 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 would 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 was unreadable without a good
monitor.
Many other monitors that accept analog RGB, plus
separate VSYNC and HSYNC pulses could also work. Some othe
rmonitors, 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 monocrome monitor. Word Pak RS/80
allows having 80 x 24 text under RSDOS 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 PD 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 RSDOS and KBCom
and DeskMate 3 for OS-9. If you can get files from listserv,
there is a PD 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 adaptor was developed.
It plugged into the serial port and joystick port. A regular
CoCo joystick/mouse was then plugged into the adaptor. This
boosted the resolution of the joystick from 64x64, to 640x640 (I
think).
Exciting recent (Feb. 1999) news includes the
possibility of a cartridge with an IDE interface, real-time clock,
parallel port, and "speed doubler" for the CoCo
3. ---July, 1999
This FAQ is being archived and maintained by theother_bob@yahoo.com
|