The latest version of NitrOS-9 Ease Of Use Beta 6 comes with some limited DriveWire support for real CoCo Hardware. This article guides you through the process of modifying that setup to use EOU with DriveWire on MAME or VCC Emulators.
The first step is to get EOU running in your emulator of choice You can use MAME or VCC. Download the EOU Beta 6.0.1 package from either the Color Comptuer Archive or the main L. Curtis Boyle NitrOS-9 EOU page. You can use either the 6309 or 6809 versions.
Note: The EOU distribution comes in both 6809 and 6309 versions. I’ve written these instructions for 6809, but they will work equally well for the 6309 version. Just substitute "63"
or "6309"
every place you see "68"
or "6809"
in these instructions.
The download package contains two disk image files:
68SDC.VHD
– This is the main Virtual Hard Drive Image68EMU.dsk
– This is a boot disk image for EmulatorsIt is highly recommend to make a working copy of these. I named them 68becker.dsk
and 68becker.vhd
and will use these names throughout.
You also want to use the Obsolete Computer Systems EOU Customization Pack, available from here:
Attach the 68becker.dsk
image to Floppy 1, The eou_dw_pack_6809.dsk
image to Floppy 2, and the 68becker.vhd
image to Hard Drive 1. If you are MAME command line user you can use the following command line:
mame -window coco3 -flop1 68becker.dsk -flop2 eou_dw_pack_6809.dsk -hard1 68becker.vhd
Start your emulator and type DOS
. NitrOS-9 Should boot up.
The next step is to customize the kernel so it can work with the DriveWire Becker Port which is included in both MAME and VCC Emulators.
/d1/cmds/packinstall /d1 /dd
This command will look for the packs on drive /d1 and install them to the main hard drive image /dd.EMUDWBECKER
package. When prompted type y
to install this package and n
to skip the others if you want.swapboot
command to perform the installation.EMUDWBECKER
boot pack. This will do the actual installation onto the 68becker.dsk boot disk.swapboot
reboot
command. You will be dropped back into RS-DOS.At this point we turn to configuring the DriveWire Server and your Emulator to talk to it. This will work equally well with pyDriveWire and the DriveWire 4 Java server.
Configure your DriveWire server to listen on tcp port 65504. For pyDriveWire the command line is:
./pyDriveWire —accept 65504 <additonal_options>
If you are using a pyDriveWire config file, put these lines in your config:
option accept
option port 65504
Please start your desired DriveWire server now. It must be running before starting the emulator side.
The emulator side:
MAME: The Becker Port needs to be enabled. You can do this through the Machine Configuration page in the OSD, or by config file. Note, this sample is for coco3
(6809). For 6309 use coco3h
. If you already have a coco3.cfg
or coco3h.cfg
, you need to add the line starting with <port tag=":beckerport"
to your existing config file:
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="coco3">
<input>
<port tag=":beckerport" type="CONFIG" mask="1" defvalue="0" value="1" />
</input>
</system>
</mameconfig>
VCC:
To use the Becker Port, you must insert the Becker Port cart into a slot on the MPI. Just open the Cartridge menu and select an empty MPI slot and select insert. Navigate to the Vcc installation folder and select becker.dll.
Once the cart is loaded, you will find configuration options for this interface on the bottom selection of the Catridge menu: DriveWire Server.
If you are running DriveWire on the same computer that you run Vcc, enter 127.0.0.1 as the server IP address and 65504 as the TCP port (already default). This will match the settings used by the simple configuration wizard in DW4 if you choose emulator as your platform and leave the other settings at their defaults. You can also connect to a server on another computer or even at another location by specifiying it’s IP address and port.
Ensure that your DriveWire server is running before proceding. Again ensure that it is listening for incoming TCP/IP connections on port 65504, which is the default for both MAME and VCC.
If you have not done so already, attach some disk images to your DriveWire server for testing.
Ensure that the 68becker.dsk
image is attached to Floppy 1, and the 68becker.vhd
image to Hard Drive 1. Power on your Emulator, and then type DOS
. You should see NitrOS-9 EOU boot up again.
After it boots up, run the following commands to see if DriveWire is functioning or not.
dw disk show
This command will show which Disks, if any, are attached to the DriveWire server:
dw disk show
Drive File
----- --------------------------------------
0 /demo/EOU/b601/6809/68becker.vhd
1 /demo/EOU/b601/6809/68coco3fpga.vhd
2 /demo/sysgo_dev.dsk
3 /demo/NOS9_6809_L2_becker.dsk
To test actual disk access, you can do dir /x0
to see the contents of DriveWire drive 0. There are 4 drives available 0-4.
If you are having problems with this guide please go to the #drivewire
channel on the CoCo Discord Server. If you tag me @mikeyn6il
I will likely see your query fairly quickly and respond as soon as I can!