There are several freely available emulators for CoCo 1 and 2' and 3's. What follows here is some info I recorded as I made the emulators work. Note that these examples worked with my system, may not work with all others. Check out Paul Burgin's , Jeff Vavasour's, David Keil's, MESS, or Russ Le Blang's emulators. Jeff has CoCo disk functions on his that allow import and export of actual CoCo media on a 5 1/4 PC drive, you may prefer this if you have a disk system, but this is also the oldest emulator, you may find it works the best on older PC's. Jeff recently released an update to solve some excessive speed issues with modern processors, updated version is 1.6. T3 by Paul Burgin works well with Win 95, but at present does not support disk functions. One of the latest emulators out is Return Of CoCo, can support virtual disks. The MESS emulator seems to be updated fairly frequently, but I have not tried it. As of Jan 1, 2002 Jeff Vavasour's CoCo3 emulator has been released as freeware. My new favorite has to be David Keil's CoCo emulator. Currently supporting CoCo 1 and 2, it also supports disk functions including physical drives, and hardware emulation of other devices.
The first step in running an emulator is to download it. Follow these offsite links to the emulator of your choice!
Paul
Burgin's T3 CoCo emulator Jeff Vavasour's CoCo
Emulators Return of CoCo
Emulator MESS
emulator David Keil's CoCo Emulator
Some older information, mostly applicable to Vavasour's emulator is on
site here under the following links.
Obtain your
own
roms
Transferring
CoCo-PC by Disk Taking emulator
screenshots
Ready made
roms
Transfer
Pc-CoCo by disk
Running under
Windows 95/98
David Keils
CoCo2 Emulator
I have only used this for a couple of days, but it is already appearing that this will be the emulator of choice. I mainly use the emulators to move my CoCo software into the PC, and back to an actual CoCo, with Windows as the PC's operating system. This emulator works well with a 5 1/4" physical drive, as well as with existing .dsk and .pak file formats. What I will list here now is basically differences between this and Jeff Vavasour's CoCo 2 emulator. I will probably move all information for this emulator to a seperate page in the near future
- Works with Windows! This is a real plus especially if your PC uses Windows ME.
- I installed a 360K drive in my PC to handle the CoCo transfers. I could not get this emulator to work with the same 1.2MB drive that I used with Jeff Vavasour's emulator. The plus side is this 360K drive operates flawlessly, no tricks required to get it to work.
-The Roms are included with the emulator! What you will get is Color Basic 1.2, Extended Basic 1.1, and Disk Basic 1.1. These are the typical roms found in an early model CoCo2. Roms are the actual dumps, no preambles, are 8192 bytes long .
-You load in Disk Basic by installing the disk controller pak into the Multi-pak Interface, same as you do with a real CoCo. Access the Multi-pak interface by pressing F4. I put the Disk Controller in slot 4, just tab up to slot 4, hit enter, type in DSKBASIC, enter it, move the select switch to 4, and reset the emulator. Next time you start the emulator, it will have remembered this configuration, no need to do this every time.
-Select up to 4 virtual drives. To select a physical drive, you don't enter its drive letter as in Jeff's emulator. You select from a table of drive specs, which you should have downloaded seperately in the cocosupp.zip file. For example, for my 360K drive in the PC's B: location, I selected FDD1_360.DSK as one of the virtual drives.
-Has its own cartridge rom format, similiar to the .pak files that the other emulators use. Save your cartridge as a .rom file, and the emulator will help you create a seperate .car file to label the cartridge once you install it in the emulated Multi-pak. You can still use your existing .pak files, just load them in under the snapshot selection. If you are uploading your own paks to use with this emulator, simply dump the rom image itself, no need to calculate its length or add a preamble.
-Appears to have its own format for virtual disk files, but it does support the existing .dsk files also. Swapping .dsk files between Jeff Vavasour's emulator and this one seems to work fine.
More on this emulator later.......
Previous emulator information;
Making the emulator work
You should have downloaded and unzipped the contents of your emulator. View
the readme documentation that came with the emulator. What you will find that is
common between them is that they both require a CoCo rom image to work. As the
roms are copyrighted, you will not find them included with the emulator. There
are a few roms around on the net, but what follows here is some info to obtain
your very own CoCo's rom. Follow the instructions that came with Jeff's
emulator. What you are trying to accomplish is to read in 8-24K of machine code
that resides in your CoCo and move it to the PC. 3 methods available are
transfer via cassette, cable or disk. I had no luck with the cassette transfer,
I ended up with a corrupt rom when transferring with this method. Not realizing
it at time I started the emulator, which crashed my PC and part of my hard
drive. Two methods I have had success with are as follows:
If you are fortunate enough to have a 5 1/4 drive on your PC and a CoCo disk
system, use this method. If you don't have a 5 1/4 drive, and are planning on
moving files back and forth between your CoCo and the emulator, it is well worth
installing a 5 1/4 drive in your PC. You need Jeff Vavasour's emulator to use
this method. From a DOS prompt in the emulator's directory, run the DSKINI
utility. Place a double density 5 1/4 floppy in your PC. Enter DSKINI drive
COCOUTIL
Typically your 5 1/4 floppy is Drive B, so your line will
be DSKINI B: COCOUTIL. The PC will now format and write an actual
CoCo disk. Place this disk in your CoCo and enter in RUN"GETROM" The CoCo
will now write all 3, 8K roms to the disk. Take the disk and place it back
in the PC. Again from a DOS prompt in the emulators directory, type
RETRIEVE
/R B: COCO.ROM (assuming that your 5 1/4 floppy is the B drive) Examine the
resultant file COCO.ROM , must be exactly 24578 bytes long. Do not start the
emulator if it is not, try repeating the procedure. If all looks okay, starting
the emulator will give you the DISK EXTENDED startup screen, the same as you see
with your CoCo drive connected to the real machine.
This method requires a couple of items, but it does work well. You need a terminal program on your PC, and a serial cable to connect your CoCo to the PC. The same cable can also be used to upload CoCo disk or rom pak software to the PC. With the cable in place, set the PC's terminal program to 2400 baud, 8N1, where 8 is 8 bit length, N is no parity, 1 is one stop bit. Enter a file capture mode, and set the parameters to read in raw data, binary or whatever will read in pure data. Not all terminal programs will work, I know I have one that will transfer everything except for a binary 0.
Enter this Basic program on the CoCo and run it;
10 POKE 150,18
20
PRINT#-2,CHR$(0);CHR$(128);
30 FOR X=32768 TO A
40 PRINT#-2,CHR$(PEEK(X));
50 NEXT X
For a Colour Basic upload only, edit line 30 FOR X=40960 TO 49151
For
Extended and Colour Basic, in line 30, A=49151
For Colour, Extended
and Disk Basic, in line 30, A=57343
Once the OK prompt returns on the CoCo, your transfer is complete. Manually inspect the received file for errors. Usually checking its length is all that's required. Color Basic rom only will be 8194 bytes (1 8K rom), Extended will be 16386 bytes (2 8K roms), and Disk Extended will be 24578 bytes ( 3 8K roms). File lengths must be exact. Label the received file COCO.ROM and move it into the emulator's directory. Be sure the rom you want to start the emulator with is labelled this way, as the emulator automatically looks for this file on startup. Say you have the Disk Extended rom as the active rom (named COCO.ROM) and you want to emulate just a Extended Basic system. Rename the existing COCO.ROM to DISKROM.ROM and rename the Extended rom to COCO.ROM. The same can be done with the Color Basic rom if need be.
This upload will generate a useable rom file for Jeff Vavasour's CoCo2 emulator. You can run any one of the 3 roms on this one, (8K, 16K or 32K). Paul Burgin's T3 will only run the Extended Basic rom (16K).
One other emulator that is fussy about its rom is the MESS emulator. It actually performs a checksum on the rom before the emulation begins. The rom it is looking for is from an early CoCo2 with Colour Basic 1.2 and Extended Basic 1.1. If you are creating the rom file using the above program, delete line 20, as the 2 byte preamble is not used. This emulator is also only using the Extended Basic rom (16K). Total length on this rom file should be 16,384 bytes.
If you have been searching my my site wondering where the roms are, well there aren't any here. Here are some links to sites that have some ready to go, although I have not tested any of these personally.
MESS
roms http://www.cocoemulation.cjb.net/
Moving downloaded software to your actual CoCo
Unless you have an actual CoCo surfing the net, you need some way to transfer
CoCo files you can download to your CoCo.
Here again the best method is to
have or have access to a PC with a 5 1/4 drive. Be sure you have Vavasour's
CoCo2 emulator loaded on this PC. The most common form of CoCo software will be
in .dsk format. This is a virtual disk image commonly used by the emulators,
consisting of a single sided 35 track disk. This disk image is ~ 158K or 161,280
bytes long.
You can fit approximately 9 CoCo disk images on a 1.44 Mb floppy
disk, if you happen to have to go over to your buddy's place to use his old 386
with a 5 1/4 drive to write your actual CoCo disks.
There are utilities included with the CoCo2 emulator to create a disk in DOS,
but I find it easier and sometimes more reliable to create the CoCo disk from
within the running emulator. Before you start the emulator, be sure the disk
images are moved into the same directory as the emulator. Start the emulator,
press F6 for the menu and check item I . 1.2 Mb drive as...........
You will
see either 40 or 80 tracks. Set this to 40, just pressing the letter I toggles
this setting. Notice that this calls for a 1.2 Mb drive, 360K's will not work in
the PC.
Use a double density disk, not a high density as you think would be required
by the PC drive. Install it in your drive. Next press F2 for the virtual disk
menu, it will list 4 virtual drives. Enter the drive letter of your physical
drive, usually B: after selecting a virtual drive by pressing its letter. Next
select another virtual drive and enter the name of the .dsk file you want to
transfer. Hit ESC to exit this menu and return to the running emulator. Do a
DIRx where x is the virtual drive number (0-4) of the .dsk file
you had entered. If there are any files on the disk, you will get a listing, if
blank, just the OK prompt returns. Next do a DIRx of your physical 5 1/4
drive. This is where the problems usually begin. Expect an IO ERROR with no disk
in the drive, or a non CoCo formatted disk. Hopefully atleast the light came on
and the drive spun. If the drive did not do anything, go back to the F2 menu,
make sure it is properly selected. If it did run, change to this drive with a
DRIVEx command and then DKSKINI it. Once formatted, simply do a BACKUP
.dsk virtual drive TO physical drive, entering the appropriate
drive letter. If everything worked, you should now have an actual CoCo disk,
written by your PC.
Moving software from your CoCo to the PC emulator
Now that you have the emulator working, you may want to move your CoCo
software onto the PC. Again the best method is to transfer using a 5 1/4 drive
on your PC, but it can also be done with a serial upload cable if you don't have
that drive on your PC or are running a cassette based CoCo system.
Transfer using 5 1/4 drive on your CoCo and your PC
Requirements for this are a 5 1/4 floppy on your PC, Jeff Vavasour's CoCo emulator, and a CoCo disk system. Start the emulator, set up the PC floppy drive as a physical drive by entering its drive letter as one of the CoCo drives under the Virtual Disk menu. For example on my system, I set Drive 3 as the physical 5 1/4 drive by entering B: on the drive list. Start the emulation, switch to the physical drive with the DRIVEx command where x is 0 to 3, whichever drive you selected under the Virtual Disk menu. Now try a DIR, your 5 1/4 PC drive should now work. Expect an IO ERROR with no disk installed. Next put in your CoCo disk and try to pull up a directory again. If the directory comes up, you have a good interchange and can start moving your software into the PC. If the emulator returned an IO ERROR, here are a couple of tricks to try;
Trick 1 : Be sure you are using double density disks, high density disks sometimes cause problems
Trick 2 : Install a blank disk in the PC and DSKINI it from the running
emulator. Don't use the
DSKINI routine from the DOS prompt that is included with the emulator for this
particular trick. Remove the disk, and reinstall the original CoCo disk you were
trying to
read and try to read it again.
Trick 3 : Take the disk that the PC formatted in Trick 2, and using your CoCo
system COPY the
disk you are trying to read onto the PC formatted disk. Then move this fresh
copy back
to the PC drive and try and read it.
Once you have found that you can interchange disks, you can start
transferring. The emulator saves complete CoCo disks under a disk name with a
.dsk extension. In the emulator, this disk is entered in the Virtual Disk menu
as one of the CoCo drives, where it is then accessible. If you are only moving a
few files, you can use the CoCo's COPY command to move files from the physical
drive to the virtual disk you have selected. If you want to copy an entire disk,
it is fastest to use the RETRIEVE command from the DOS prompt. Install your CoCo
disk, and from the prompt enter
RETRIEVE B: name.dsk. This will load
the entire disk into the emulator's directory.
Alternatively, you can move files from your PC to your CoCo. If you have an
entire disk to move, use the DSKINI utility from the DOS prompt. Put in a blank
disk in the PC drive, enter
DSKINI B: name.dsk. This is assuming that
your PC floppy is the B drive. If you have just a single file to move, use CoCo
COPY command to move from a virtual disk to an actual CoCo disk in the physical
5 1/4 drive.
Program transfer using serial cable
You need the serial upload cable and a terminal program on your PC. This procedure is similiar to the procedure done to transfer the rom via cable. Here are some examples to transfer individual disk files and cartridge program paks to the PC.
Program Pak Transfer using cable
Follow this procedure to read the rom on your program pak, and transfer it to
the PC. Connect the serial cable, and prepare the pak for examination. It is
necessary to disable the cartridge interrupt that auto executes the pak. To
accomplish this, simply use some tape to cover pins 7 and 8 of the pak's
connector. With the label up, connector towards you, push the spring loaded door
back to expose the connector. Pin 7 is on top, pin 8 is on the bottom directly
under it. Usually 7 and 8 are the first traces from the left, as most paks don't
use pins 1-6. Install the pak with your CoCo off, and power it up, should be at
the Basic prompt. If the pak started, or the CoCo crashed you are on the wrong
pins, or are insulating more than just pins 7 and 8. If you have a CoCo3, enter
POKE 65502,0 to read the pak rom. This is not necessary if you have a CoCo 1
or 2.
The next step is to determine the length of rom pak. Most older
paks are 4, 6, 8K long. I don't believe I have any 16 or 32K game paks so the
following program will have to be modified if you have one. The largest one I
have transferred has been my Edtasm pak at 10K long. Manually determine the
length of the pak by checking for a repeat of the data that is at the very start
of the pak. Peek at locations 49152 to 49156 and record them. Then check
locations 53248 to 53252, if the data is identical, you have a 4K pak. If it is
different, check 57344 to 57348. If they are the same you most likely have a 8K
pak. Check locations at every 2K (2048 bytes). Often you will see unprogrammed
locations at the end of the program, often with all 126 or 255 data in them,
filling up space to the nearest 2K location.
Once you know the length, enter the following program;
10 GOTO 50
20 A=16 :
B=53247 : GOTO 110
30 A=40 : B=59391 : GOTO 110
40 A=24 : B=55295 : GOTO 110
50 CLS : PRINT" PROGRAM PAK TRANSFER UTILITY"
60 PRINT"ENTER PAK FILE LENGTH IN K";:INPUT A$
70 IF A$="4" THEN 20
80 IF A$="10" THEN 30
90 IF A$="6" THEN 40
100 A=32 : B=57343
110
POKE 150,18
120
PRINT#-2,CHR$(0);CHR$(A);CHR$(0);CHR$(192);
130 FOR
X=49152 TO B
140 PRINT#-2,CHR$(PEEK(X));
150 NEXT X
160
PRINT"TRANSFER DONE, FILE LENGTH";A*256+4;"BYTES"
Start your terminal program on your PC, setting it 2400, 8N1. Be sure you are
in a file capture mode that will read in raw data. Run the above program that
you have entered. Once the transfer is complete, manually inspect the received
files length. It must match exactly, otherwise try retransmitting or another
terminal program. If it is okay, name the file, give it a .pak extension and
move it into the emulators directory.
Moving disk files by serial cable
Again as this uses disk functions you will need Jeff Vavasour's emulator. If
you don't have a 5 1/4 drive on your PC, you can still move your CoCo files to
the PC. I have a transfer utility available for download that will move
individual files to the PC using a terminal program and the serial upload
cable . This utility was written for Disk Extended 1.1 or 2.1 with a 32K or
better machine. If you have a 16K machine the listing will need editing as it is
using memory in the 30000 address area. Download Diskutil.zip . After
unzipping it, use the Port utility to move the file onto a virtual CoCo disk.
From there you can can move the file to your CoCo.
Paul Burgin's T3 loads right in, even includes a shortcut icon for your
desktop. I had no problems starting this one up.
Jeff Vavasour's emulators
however did not want to run with Windows in the picture. You may have to
configure your shortcut to run in MS-DOS mode only, but this is a pain as your
PC has to shutdown and restart. You can try editing the shortcut properties, be
sure it is set to full screen mode, and tick the box to prevent the program from
detecting Windows. If this works, just use your Windows key to switch to another
application with the emulator still running.
Russ Le Blang's Return of CoCo
is Windows native also, just be sure you have Direct X on your PC to use this
one.
Last Updated Jan 1 / 2002