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
"6309" every place you see
"6809" in these instructions.
The download package contains two disk image files:
68SDC.VHD– This is the main Virtual Hard Drive Image
68EMU.dsk– This is a boot disk image for Emulators
It is highly recommend to make a working copy of these. I named them
68becker.vhd and will use these names throughout.
You also want to use the Obsolete Computer Systems EOU Customization Pack, available from here:
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 /ddThis command will look for the packs on drive /d1 and install them to the main hard drive image /dd.
EMUDWBECKERpackage. When prompted type
yto install this package and
nto skip the others if you want.
swapbootcommand to perform the installation.
EMUDWBECKERboot pack. This will do the actual installation onto the 68becker.dsk boot disk.
rebootcommand. 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
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>
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!