568 lines
30 KiB
Plaintext
568 lines
30 KiB
Plaintext
TRS-80 COLOUR COMPUTER II EMULATOR Ver. 1.30 (C) 1993,94 Jeff Vavasour
|
|
======================================================================
|
|
|
|
(Internet e-mail to jeffv@physics.ubc.ca)
|
|
|
|
1. DESCRIPTION
|
|
--------------
|
|
|
|
This package is a complete* emulator designed to make your PC imitate a
|
|
genuine CoCo II with 64K and four disk drives. It has also been tested
|
|
successfully with the Dragon 32's 16K ROM, though you must use the Options
|
|
Menu (F6 in the emulator) to select the Dragon keyboard.
|
|
|
|
It requires EGA graphics and 256K RAM. Also, a 286 with at least 12 MHz
|
|
is recommended, though you'll need a faster processor to get operating
|
|
speed that matches the real machine. (A 33 MHz 486, on the other hand,
|
|
is drastic overkill. A slowdown option is provided for users fortunate
|
|
enough to posess such a beast.)
|
|
|
|
Version 1.30 is the second release of this package, and includes several |
|
|
corrections and enhancements. Most notable of the bugs which have been |
|
|
addressed are those which can cause emulator lockup in OS/9 Level 1 and |
|
|
certain non-standard accesses to the joystick or keyboard. Enhancements |
|
|
include a powerful 6809 debugger/monitor, improved keyboard handling, and |
|
|
a utility to move files between the CoCo and MS-DOS environments. Through- |
|
|
out this .DOC file, the "|" character on the right indicates changes to the |
|
|
documentation from version 1.20. |
|
|
|
|
This program is freeware, though copyright remains with the author. You
|
|
are permitted to distribute the UNALTERED .ZIP package, as long as all
|
|
programs listed in section 2 are included. Also, this package may not be
|
|
sold or distributed commercially or for profit, though a reasonable media
|
|
charge for distribution is acceptable.
|
|
|
|
Please feel free to forward any comments to me at the email address above,
|
|
or the postal address given in the "comments" section below. (Alternate
|
|
email addresses are given there as well, but they should only be used if my
|
|
primary email address fails.)
|
|
|
|
|
|
* Footnote: For those technically inclined, all features and hardware of the
|
|
standard equipped CoCo have been reproduced with the exception of the
|
|
cassette port and the 63.5us horizontal sync interrupt. The standard 60Hz
|
|
clock interrupt *is* reproduced. The "bit-banger" serial output has also
|
|
been rerouted to the PC's printer port, allowing for its use as a printer
|
|
port. The DSKINI command will also not work within the emulator, but all
|
|
disks are automatically formatted when first used anyway.
|
|
|
|
|
|
2. GETTING STARTED
|
|
------------------
|
|
|
|
This emulator is provided as a .ZIP package containing the following files:
|
|
|
|
COCO.DOC - this file
|
|
COCO.EXE - the main emulator program
|
|
COCOUTIL.DSK - CoCo program to retrieve your ROM
|
|
DSKINI.EXE - a utility to format CoCo-compatible disks
|
|
PORT.BAS - an MS-DOS BASIC program to move files between virtual |
|
|
disks used by the emulator, and your MS-DOS directory |
|
|
RETRIEVE.EXE - a utility to read CoCo-compatible disks
|
|
|
|
All files except COCOUTIL.DSK have been revised since version 1.20. |
|
|
|
|
The only thing that you will need that is not provided with the emulator
|
|
is the ROM of a genuine CoCo. Naturally, this could not be included here
|
|
for copyright reasons, but any CoCo I or CoCo II will do to get you started.
|
|
|
|
If you don't have a disk drive with your CoCo, you'll need to build a special
|
|
cable to connect your CoCo and PC, but don't worry it's *very* straight
|
|
forward and requires only three wires. Detailed instructions are given in
|
|
the Appendix.
|
|
|
|
Section 2.1 explains how to retrieve the ROM via disk, while section 2.2
|
|
explains how to do it on a diskless system. (No additional hardware is
|
|
required for those using disk.)
|
|
|
|
Also, Paul Burgin's Dragon 32 emulator (available via ftp from "ftp.funet.fi"
|
|
in the "/pub/msdos/interfaces/emulators" directory as "PCDGN101.ZIP")
|
|
is capable of reading the ROMs from a CoCo-generated cassette using the
|
|
SoundBlaster. As an alternative to the cable method for diskless systems,
|
|
section 2.3 explains how to convert these files for use with my emulator.
|
|
|
|
|
|
2.1 OBTAINING THE ROM VIA DISK
|
|
------------------------------
|
|
|
|
In MS-DOS, place a blank 5 1/4" disk in your drive and type:
|
|
|
|
DSKINI d: COCOUTIL
|
|
|
|
where "d:" identifies the drive containing the disk (e.g. "A:", "B:", etc.).
|
|
Place this disk in drive 0 of your CoCo and type (on the CoCo):
|
|
|
|
RUN"GETROM"
|
|
|
|
Next, place the disk back into your PC and type:
|
|
|
|
RETRIEVE /R d: COCO.ROM
|
|
|
|
Again, "d:" identifies the drive containing the disk. (Note that in both
|
|
cases, "A:" is the default if this parameter is omitted.)
|
|
|
|
You are now ready to run the emulator. (See section 3.)
|
|
|
|
|
|
2.2 OBTAINING THE ROM FROM DISKLESS MACHINES
|
|
--------------------------------------------
|
|
|
|
This method requires at least version 1.1 of the CoCo BASIC ROM.
|
|
|
|
Once the cable is built and tested, connect your PC and CoCo together and
|
|
load your favourite terminal program on your PC, setting it to 2400 baud,
|
|
no parity, 1 stop bit, 8 bit word length. Select the file capture option
|
|
and record all data received to the file "COCO.ROM". Then, run the
|
|
following program on your CoCo:
|
|
|
|
10 POKE 150,18
|
|
20 PRINT#-2,CHR$(0);CHR$(128);
|
|
30 FOR X=32768 TO 49151
|
|
40 PRINT#-2,CHR$(PEEK(X));
|
|
50 NEXT
|
|
|
|
Pay particular attention to the semicolons in this program. Once the CoCo
|
|
is done and the "OK" prompt returns, close the captured file. Check that
|
|
it should be 16386 bytes long in your MS-DOS directory. You may now run
|
|
the emulator. (See section 3.)
|
|
|
|
If the file is too long, there may be a problem with your terminal program
|
|
and you should try another. (The file is being transmitted as a binary
|
|
file so no filters should be used in your terminal program.)
|
|
|
|
|
|
2.3 USING PCDGN101.ZIP'S ROM FILES (DISKLESS SYSTEMS)
|
|
-----------------------------------------------------
|
|
|
|
Follow the instructions with Paul Burgin's emulator to generate the *.DGN
|
|
ROM file. Then, type the following commands in MS-DOS:
|
|
|
|
DEBUG filename.DGN
|
|
M 110 L 4000 102
|
|
A 100
|
|
DW 8000
|
|
{press ENTER an extra time here to get the "-" prompt back.}
|
|
N COCO.ROM
|
|
W
|
|
Q
|
|
|
|
You have now generated the file "COCO.ROM" which COCO.EXE can use.
|
|
|
|
|
|
3. RUNNING THE EMULATOR
|
|
-----------------------
|
|
|
|
With COCO.ROM in the default directory, type "COCO" at the MS-DOS prompt and
|
|
press ENTER. The emulator will start, with a title banner and list of
|
|
function keys appearing. Pressing any key will begin the operation of the
|
|
emulator. This screen may be redisplayed at any time by pressing F10.
|
|
|
|
Some other functions are as follows:
|
|
|
|
F1: Activates the 6809 debugger. See section 7 for details on its use. |
|
|
If you enter this option accidentally, press "C" to return to the |
|
|
emulator. Pressing "Q" will quit the emulator and return to MS-DOS. |
|
|
You will be prompted to enter "Y" to confirm if you attempt to quit. |
|
|
(Now users of version 1.20 know what the F1 key was reserved for...) |
|
|
|
|
F2: The virtual disk menu. The emulator uses special "virtual disk files"
|
|
to represent disks (with the extension .DSK, like "COCOUTIL.DSK" provided
|
|
with the emulator). This menu allows you to place these "disks" into one
|
|
of the four "disk drives" of the emulated CoCo. This is done by
|
|
selecting a drive number and then typing in or selecting the disk's
|
|
name from the directory listing on the right. New "virtual disks" may
|
|
be created by entering an unused name. They will already be formatted
|
|
once created, eliminating the need for the CoCo's DSKINI command.
|
|
|
|
Also, drives may be "write protected" by pressing SHIFT and a drive
|
|
number. A bar around a drive number indicates that it is write protected.
|
|
|
|
ESC returns to normal emulation.
|
|
|
|
F3: Snapshots. The entire state of the emulator, such as a program or a
|
|
game-in-play may be saved to an MS-DOS file, to be retrieved later
|
|
(even if you exit the emulator or turn off the computer between
|
|
sessions.)
|
|
|
|
To save a snapshot, press "S" and then type in a name or select it from
|
|
those already in the directory. To load, press "L" and select a name
|
|
as before. ESC aborts this option.
|
|
|
|
F4: This turns the sound option on or off. With sound on, 1-bit and 6-bit
|
|
CoCo sound is reproduced on the PC's feeble internal speaker.
|
|
|
|
F5: This changes the keyboard layout. You have a choice between the PC's
|
|
layout or the CoCo's. In the CoCo layout, SHIFT-2 would be a quote
|
|
will in the PC layout, SHIFT-2 is an "@". Other keys may not be so
|
|
obvious: ESC is the BREAK key, ALT is the CLEAR key. The arrow keys
|
|
on the keypad also work, but NUM LOCK should be off for this.
|
|
|
|
F6: Options menu. Pressing the letter associated with an option changes it.
|
|
Also, the "+" and "-" keys speed up or slow down the emulator. All
|
|
other menus may be selected from this screen as it is obtainable using
|
|
the right mouse button. The user can also change the character set
|
|
between normal/inverse characters (factory standard) and upper/lowercase
|
|
(sometimes more pleasant to look at). The left and/or right joysticks
|
|
can be linked to the mouse, with the left button being the "fire" button.
|
|
Also, a feature called "artifacting" is provided. When "red" or "blue"
|
|
is selected, the screen will blur the highest resolution screen to
|
|
simulate the colour effects of a CoCo used with a standard TV set. This
|
|
was considered a "feature" in some games.
|
|
|
|
You may also reset the CoCo or quit the emulator using this menu. Once
|
|
one of these options have been selected however, you must hit "Y" or "N"
|
|
only to confirm or reject your choice.
|
|
|
|
NOTE FOR DRAGON 32 USERS: (KEYBOARD SELECTION)
|
|
|
|
The keyboard layout is also selectable in the F6 menu, though
|
|
it has four options rather than two. They are "PC" and "CoCo" -- as
|
|
described for the F5 key -- and "DragonPC" or "Dragon" which are the
|
|
analogous choices for the Dragon 32 keyboard mapping. If you select
|
|
Dragon or DragonPC in this menu, the F5 key will then toggle between
|
|
these two settings, rather than "PC" and "CoCo".
|
|
|
|
If you use the keyboard selection for one of the CoCo or Dragon, but
|
|
the ROMs of the other, then the keys will not respond properly. (For
|
|
example, the "A" and "1" keys will be exchanged.) This is corrected
|
|
simply by pressing F6 and using the keyboard layout option to select
|
|
the correct keyboard.
|
|
|
|
|
|
4. USING REAL DISKS WITH THE EMULATOR
|
|
-------------------------------------
|
|
|
|
The DSKINI and RETRIEVE programs have a more general purpose than just
|
|
retrieving the ROM.
|
|
|
|
Any virtual disk file may be written to a 5 1/4" disk, readable by the
|
|
CoCo by entering:
|
|
|
|
DSKINI [d:] [diskname[.DSK]]
|
|
|
|
where "d:" is the destination drive and "diskname" is the source virtual disk
|
|
file. At least one of these two parameters must be given. (The default
|
|
drive for "d:" is A:.) Paths may be included in the diskname parameter.
|
|
If "diskname" is omitted, a blank disk is formatted.
|
|
|
|
Disks created by DSKINI.EXE may also be read back to virtual disk files
|
|
using
|
|
|
|
RETRIEVE [d:] diskname[.DSK]
|
|
|
|
You can use this method to transfer files from your CoCo disks to the
|
|
emulator by following these steps:
|
|
|
|
1. Create a CoCo disk on your PC using DSKINI.EXE.
|
|
2. On your CoCo, use BACKUP or COPY to copy the files onto the disk you've
|
|
just created in step 1.
|
|
3. Put the disk back in your PC and use RETRIEVE.EXE to make a virtual disk
|
|
file from it.
|
|
|
|
It may also be possible to use RETRIEVE directly on your original CoCo |
|
|
disks, but most PCs' disk controllers are very picky about formats |
|
|
(resulting in a read error on one sector per track). If this happens, |
|
|
your only choice is to follow the three steps above. |
|
|
|
|
|
|
5. USING PROGRAM PAKS WITH THE EMULATOR
|
|
---------------------------------------
|
|
|
|
There are two ways to read a Program Pak on a CoCo while staying in BASIC. |
|
|
Either you can cover up the pin on the cartridge that tells the CoCo to |
|
|
auto-start it, or you can plug the cartridge in with the power on, after |
|
|
starting the following program. |
|
|
|
|
|
WARNING: THERE HAVE BEEN MANY HORROR STORIES OF AN IMPROPERLY INSERTED |
|
|
CARTRIDGE BLOWING THE UNPROTECTED CPU WHEN THE POWER IS ON. If |
|
|
you elect to use the latter method, do so carefully and proceed |
|
|
at your own risk. |
|
|
|
|
|
To transfer your Program Pak to a PC, you will need the same cable used for |
|
|
the diskless ROM transfer. Then, complete the following steps: |
|
|
|
|
|
1. IF YOU ARE USING THE COVER-THE-PIN METHOD, take the cartridge you are |
|
|
going to use and pull the cover back to expose the pins. Then, cover |
|
|
up the fourth pin position in on the left on the bottom (pin 8, the |
|
|
"CART" signal). (IMPORTANT: Most cartridges have no contacts for the |
|
|
first three positions, so this may be the first plated-contact from the |
|
|
left. In this case, you can usually see where the other three positions |
|
|
should be by the scratch marks from frequent use.) If needed, you can |
|
|
also cover up the pin on the top side directly above this one, as well as |
|
|
the three pin positions to each of their lefts if necessary. Be careful |
|
|
not to cover the fifth pins in as this will make the cartridge |
|
|
unreadable. |
|
|
|
|
|
Once this is done, insert the Pak into your CoCo with the power off, then |
|
|
turn on the computer. If you are successful, the CoCo will power up into |
|
|
BASIC's "OK" prompt despite the cartridge being present. |
|
|
|
|
|
2. Next, for both methods, type in the following program in your CoCo: |
|
|
|
|
10 POKE 65315,54
|
|
20 INPUT"INSERT PAK AND PRESS [ENTER] TO SEND";X$
|
|
30 POKE 150,18
|
|
40 PRINT#-2,CHR$(0);CHR$(32);
|
|
50 PRINT#-2,CHR$(0);CHR$(192);
|
|
60 FOR X=49152 TO 57343
|
|
70 PRINT#-2,CHR$(PEEK(X));
|
|
80 NEXT X
|
|
90 FOR X=1 TO 33
|
|
100 PRINT#-2,CHR$(0);
|
|
110 NEXT X
|
|
120 PRINT#-2,CHR$(0);CHR$(192);
|
|
|
|
Note: You may omit lines 10 and 20 if using the covering-the-pin method. |
|
|
|
|
3. Connect your PC to the CoCo and prepare a terminal capture program on your
|
|
PC as described in section 2.2. (Use the extension ".PAK" for Program
|
|
Paks.)
|
|
|
|
4. Run the BASIC program on your CoCo. If you are using the insert-with- |
|
|
power-on method, insert the cartridge when you are prompted to do so and |
|
|
then press ENTER. This will begin transmission of the cartridge's data. |
|
|
|
|
The resulting file on your PC should be 8231 bytes long.
|
|
|
|
To run the Program Pak in the emulator, simply use the Snapshot Menu.
|
|
|
|
For those who have copied their Program Paks to their PCs using some other
|
|
method, the general format of the file constructed by the above program is:
|
|
|
|
- 2 byte ROM length (LSB/MSB, usually 8192 decimal)
|
|
- 2 byte start address (LSB/MSB, usually C000H)
|
|
- ROM data (usually 8192 bytes)
|
|
- 33 bytes of 0's
|
|
- 2 byte entry address (LSB/MSB, usually C000H)
|
|
|
|
Selecting RESET in the Options Menu will return to BASIC. (Disk BASIC users
|
|
may wish to copy over their Disk BASIC as a Program Pak so they may reload
|
|
it after running a Program Pak.)
|
|
|
|
|
|
6. MOVING FILES BETWEEN COCO DISKS AND YOUR MS-DOS DIRECTORY |
|
|
------------------------------------------------------------ |
|
|
|
|
|
As a side-beneift, the CoCo II emulator provides a way to move your CoCo |
|
|
files to your PC environment. The program "PORT.BAS" is a PC BASIC program |
|
|
which will run on either GW-BASIC/BASICA or QBASIC, found on virtually all |
|
|
MS-DOS systems. This program can move files between your MS-DOS directory |
|
|
and the virtual disk ".DSK" files used by the emulator. To make a ".DSK" |
|
|
file out of a CoCo disk, or to write a ".DSK" file to a floppy, follow the |
|
|
instructions in section 4 above. |
|
|
|
|
|
After starting "PORT", select a target virtual disk to use. (A directory |
|
|
of .DSK files in the default directory is automatically shown.) You will |
|
|
then be presented with a menu of options which will allow you to read |
|
|
files from the .DSK virtual disk to your MS-DOS directory, write files to |
|
|
the virtual disk, delete files on the .DSK, or show directories of either |
|
|
your default MS-DOS path or the virtual disk. |
|
|
|
|
|
The PORT program's menu is pretty self-explanatory, but you should be aware |
|
|
of the following: |
|
|
|
|
|
1. Be sure to select "X" to exit or "N" for a new virtual disk when you are |
|
|
finished, as the virtual disk's directory may not be updated until you do |
|
|
this. |
|
|
|
|
|
2. When prompted for files to read, write or delete, you may use either |
|
|
"filename.ext" or "filename/ext", but don't specify an MS-DOS path name |
|
|
with it. Change the MS-DOS default path with the "C" option in the menu. |
|
|
|
|
|
3. The PORT program will automatically change the line terminator of ASCII |
|
|
files (as identified in the directory entry) to either CR/LF or CR as |
|
|
required by the destination system for the file. |
|
|
|
|
|
4. When writing files to a virtual disk, you are prompted to give an |
|
|
identifier for the file (e.g. "Basic program, data, M/L, or text file") |
|
|
as this information is not recorded in the MS-DOS directory. |
|
|
|
|
|
5. When using PORT with GW-BASIC, it may append a EOF byte (CTRL-Z) to the |
|
|
end of files read to your MS-DOS directory. |
|
|
|
|
|
|
7. THE DEBUGGER |
|
|
--------------- |
|
|
|
|
|
The debugger halts the emulator, displaying the current state of all the |
|
|
registers in the "6809" CPU, and also includes a 128-byte memory map and |
|
|
a disassembly of current instructions. In the lower-left corner, the first |
|
|
few entries on the U and S stacks are shown. Several commands are available |
|
|
to you, as summarised in the box on the lower-right: (These commands are |
|
|
probably best understood through experimentation. [ESC] will cancel any |
|
|
option except [E]DIT, which is immediate.) |
|
|
|
|
|
[B] Sets a BREAKPOINT address. The emulator will resume normal execution |
|
|
until the breakpoint is hit, at which time the debugger reappears. Only |
|
|
one breakpoint can be set at a time. The breakpoint is cleared the next |
|
|
the the debugger or another menu is displayed. |
|
|
|
|
|
[C] CONTINUE emulation. The breakpoint is cleared and the program returns |
|
|
to normal emulation. |
|
|
|
|
|
[D] Change the start address of DISASSEMBLY. A register or hexidecimal |
|
|
address can be specified. If a register is given, the start address of |
|
|
the disassembly will always follow whatever is in that register. The |
|
|
default for this prompt is the next byte after the last instruction |
|
|
displayed on the current disassembly. |
|
|
|
|
|
[E] EDIT memory. Places a cursor on the memory map with which you can |
|
|
directly modify memory. Arrows, PG UP and PG DN work. ROM and memory- |
|
|
mapped device addresses behave as in the genuine machine. ESC or ENTER |
|
|
when done. |
|
|
|
|
|
[F] Change the 6809 FLAG registers. Press the letter of the flag to toggle |
|
|
its true (1) or false (0) value. ESC to abort, ENTER to keep changes |
|
|
and return to main debugger options. |
|
|
|
|
|
[H] HEXIDECIMAL CALCULATOR. Enter a hex number or register to start. You |
|
|
then enter one of the following operations: |
|
|
|
|
|
[+], [-], [*], [/], [A]nd, [O]r, [X]or, [N]eg, [S]hift, [R]ot, [D]ecimal |
|
|
|
|
|
The first seven of these will prompt for a second number or register to |
|
|
operate with. [N] will NEGate the current result. [S] or [R] followed |
|
|
by the left or right arrows will shift or rotate the bit positions of |
|
|
the result as appropriate ([ESC] to return to calculator options). [D] |
|
|
will display the decimal equivalent and/or allow you to enter a decimal |
|
|
value. [ESC] will return to the main debugger options. |
|
|
|
|
|
[M] Change the MEMORY DUMP start address. Enter either a hex address or a |
|
|
register. If a register is used, the start address of the memory dump |
|
|
will always follow that register's contents. |
|
|
|
|
|
[Q] QUIT EMULATOR. Exits back to MS-DOS. You must confirm this choice with |
|
|
a "Y". An other reply will return to the main debugger options. |
|
|
|
|
|
[R] Change REGISTER contents. Select a register using the arrow keys |
|
|
followed by [ENTER], or by pressing its letter. Then type a new hex |
|
|
value for its contents, or the name of another register to copy that |
|
|
register's contents to the currently selected register. |
|
|
|
|
|
[S] SINGLE STEP. Execute one 6809 instruction and return to the debugger. |
|
|
|
|
|
[V] VIEW VIDEO. Display the current CoCo screen and wait for a key to be |
|
|
pressed. Pressing any key will return you to the debugger's main |
|
|
options. |
|
|
|
|
|
Register names are just there 6809 names, without brackets, except for the |
|
|
D register. D is entered as "A/B" to distinguish it from the hex numbers |
|
|
000D, 000A, 000B, and 00AB. |
|
|
|
|
|
|
8. COMMENTS |
|
|
----------- |
|
|
|
|
|
Please note, I CANNOT PROVIDE ROM IMAGES OR THE SOURCE CODE. The lack of |
|
|
availability of source code is a price you pay for this package being |
|
|
freeware. |
|
|
|
|
|
One of the more common questions I have had after the first release of my |
|
|
emulator (aside from bug reports) has been "will you be doing a CoCo III |
|
|
Emulator?" The answer to this is a bit difficult to say. Part of the |
|
|
reason that I decided to release the CoCo II emulator as a freeware package |
|
|
(as opposed to shareware) is that I was afraid I wouldn't have the time to |
|
|
provide as much support as I'd like. This is one of four emulator packages |
|
|
of mine. The first was a shareware TRS-80 Model I (the Z-80 based machine |
|
|
from 1977), followed by a freeware Timex/Sinclair 1000, then version 1.20 of |
|
|
this emulator, and finally a commercial TRS-80 Model III/4 Emulator (for |
|
|
which the infrastructure of this CoCo II Emulator was the prototype, for the |
|
|
interest of those who might have seen both). |
|
|
|
|
|
Certainly, I am intrigued by the possibility of doing a CoCo III emulator, |
|
|
but, as I am still providing support for the Model I emulator and the |
|
|
relatively young Z-80 III/4 emulator, my spare time is limited. I have |
|
|
toyed with the idea of developing a SHAREWARE CoCo III emulator once the |
|
|
demands of these other projects dwindle... if there is sufficient interest. |
|
|
My shareware Model I package has a registration fee of $25, so I'd probably |
|
|
be proposing something similar here. Of course, this all hinges on whether |
|
|
there is sufficient demand for such a product. So, if you are interested or |
|
|
have any comments, drop me a line. (Don't send any money yet! :-) I don't |
|
|
actually have a CoCo III emulator yet.) |
|
|
|
|
Send comments or questions to:
|
|
|
|
e-mail address: jeffv@physics.ubc.ca
|
|
postal address: Jeff Vavasour
|
|
c/o Department of Physics
|
|
6224 Agricultural Road
|
|
University of British Columbia
|
|
Vancouver, B.C.
|
|
Canada V6T 1Z1
|
|
|
|
If you are having trouble with the above email address, then try
|
|
"jeffv@smaug.physics.mun.ca" or "jeffv@morgan.ucs.mun.ca". For Internet
|
|
users, I also have an email discussion group for users of my emulators.
|
|
Drop me a line if you want to be included.
|
|
|
|
|
|
Disclaimers: Neither this software package nor its development is in any
|
|
way associated with the University of British Columbia. It is merely the
|
|
most reliable address I currently have. Also, I assume no responsibility
|
|
for any damage that may result.
|
|
|
|
Acknowledgements: Thanks to Jim Veneskey and Lori Paniak for their helpful
|
|
references in developing and debugging this package.
|
|
|
|
|
|
APPENDIX: THE SERIAL CABLE
|
|
--------------------------
|
|
|
|
For diskless users, you will need a cable to link the serial port of your
|
|
PC to the CoCo's built-in serial port. There are two kinds of serial
|
|
connectors on most PCs - the 9-pin and the 25-pin versions.
|
|
|
|
To start you will need a connector to mate with your PC's serial port. For
|
|
those not used to hardware, it's best to get the "crimping" version. No
|
|
soldering is necessary.
|
|
|
|
You'll also need a male 4-pin DIN connector. Though Radio Shack has
|
|
discontinued this part, many other electronics stores may still stock them
|
|
stocks these parts. Also some Radio Shacks may still have a dusty unit
|
|
or two in stock.
|
|
|
|
The cable itself is very simple. The pin numbers on the 9-pin and 25-pin
|
|
PC serial connectors are actually visible on the connector itself, next to
|
|
each pin. For the 4-pin DIN connector, I will use the convention of the
|
|
CoCo's technical reference manual. Looking at the serial I/O port on the
|
|
back of the computer itself, the pins are numbered as shown:
|
|
|
|
_____
|
|
/ |_| \ Pin names: 1 = CD
|
|
4 | o o | 1 2 = RS232 IN
|
|
| | 3 = GND
|
|
3 | o o | 2 4 = RS232 OUT
|
|
\ _____ /
|
|
|
|
|
|
Three wires must be connected in this cable, listed below. (The names of
|
|
the pins are also given for the reference of those interested.) Be sure
|
|
to select the column appropriate to your PC serial connector.
|
|
|
|
From CoCo To PC's To PC's
|
|
4-pin DIN 9-pin 25-pin
|
|
========= ======= =======
|
|
Pin 2 --------> Pin 4 - or - Pin 20
|
|
(RS232 IN) (DTR*) (DTR*)
|
|
|
|
Pin 3 --------> Pin 5 - or - Pin 7
|
|
(GND) (GND) (GND)
|
|
|
|
Pin 4 --------> Pin 2 - or - Pin 3
|
|
(RS232 OUT) (RD) (RD)
|
|
|
|
Once the cable is assembled, it may be tested by loading a terminal program
|
|
on your PC and selecting the appropriate COM: port with the settings:
|
|
2400 baud, 1 stop bit, 8 word length, no parity. Next, power on your CoCo
|
|
and type the following:
|
|
|
|
POKE 150,18
|
|
PRINT#-2,"THIS IS A TEST"
|
|
|
|
If the cable is working properly you should see the message "THIS IS A TEST"
|
|
on your PC. If no message appears on the PC, but the "OK" prompt returns
|
|
on your CoCo, check the line connected to the CoCo's pin 4 (RS232 OUT).
|
|
(A ohmmeter or continuity checker would be useful for this.) If the "OK"
|
|
prompt fails to return, check pin 2 (RS232 IN). Also, it is a good idea
|
|
to check the GND line in both cases.
|
|
|