The CH375 USB Storage Module adds USB storage to any RomWBW or Fuzix based RC2014 kit.
This module is based around the work Alan Cox did with integrating the CH375 / CH376 modules in to Fuzix and subsequently by Wayne Warthen adding the support to RomWBW from v3.4.0 onwards. This will work with the RC2014 Zed, RC2014 Zed Pro or any kit upgraded with the 512k ROM/512k RAM Module. Please note that there is NO SUPPORT for the module in the plain CP/M found on the RC2014 Pro or the Mini II / Classic II with CP/M Upgrade Kit.
The circuit is pretty simple using 4 NAND gates to filter the address lines to a 3-to-8 decoder to select 0x3E or 0x3C as a base address for chip select, and address line A0 used on the module itself for 0x3E/3F or 0x3C/3D as the ports used. These are the standard ports used in RomWBW and there should be no need to change them. However, a cuttable link under the 74HCT00 allows for a fairly simple wiring mod to use 0xBE/0xBC as the base address. Similar to other RC2014 modules, the spare outputs on the ‘138 are broken out to pads underneath if you have more particular port addressing requirements. The CH375 is connected directly to the data bus D0-D7 as well as the RD and WR lines.
CH375 / CH376 Module Variants
The CH375S and CH376S chips used on this module are effectively interchangeable. The ‘376 has some additional functionality such as direct SD card support which is not used on this module. For the purposes of this document, the module will be referred to as CH375, but note that either can be used. These modules can operate in either a serial mode, or with the addition of a jumper parallel mode via D0-D7 can be used. The RC2014 PCB integrates this jumper in to the board. The CH376T variant of this chip is serial only and not used on these modules.
There are, however, two module variants, both of which look identical at first glance. The most obvious difference is a singe 1×3 header vs two 1×3 headers. The more critical difference though is the 2×8 pinout. The RC2014 module is designed to take the CH375 module with the 8 data lines, D0-D7 on the very outside pins, and the power and control pins on the inside. The variant with a single 1×3 header has the data lines on the inside pins and the power and control pins on the outside. This latter module will not work with this PCB.
Assembly
This module can be assembled simply by following the silkscreen, starting with the lowest profile components. The CH375 module sits face down on the PCB with the USB socket in the cutout. The pins from the module stick out a few millimeters and should be trimmed after fitting.
Note that v1.0 of the CH375 module PCB is not quite as spot on as it should be. The 2×3 footprint used should have been two 1×3 modules with a slight gap between them. As a result you will need to bend the 3 pins nearest the USB socket ever so slightly away from it. This will be fixed in v1.1 onwards.
RomWBW Usage
RomWBW supports the CH375 module from v3.4.0 onwards. From January 2024 this is the version that ships with the RC2014 Zed, the RC2014 Zed Pro, the 512k ROM/512k RAM Module or as a single ROM itself. If you have an older version you will need to upgrade to v3.4.0. See RomWBW releases and use the RCZ80_std.rom image found in the /Binary folder.
You can use USB sticks formatted as RomWBW slices or FAT32. Or a combination of both.
The most useful RomWBW image to format your drive with is the hd512_combo.img as found in the /Binary folder of the latest release. Use Win32DiskImager or DD to write that image to your USB stick. When booting RomWBW you will see something similar to this;
You can boot directly in to one of the slices on the USB stick, so for example typing 4:1 at the Boot prompt will boot in to Slice 1 on Unit 4.
If you want to use a FAT32 formatted USB stick then RomWBW has FAT.COM to allow you to DIR or COPY files. Note the Unit Number when RomWBW boots up. For the following examples this was 4
- B:FAT DIR 4: directory of the USB stick
- B:FAT COPY 4:*.* F: copies everything from the USB stick to drive F
- B:FAT COPY D:MYFILE.CPM 4: copies the file MYFILE.CPM from the D drive to the USB stick
USB Stick Selection
The CH375 can be a bit picky about which sticks it wants to work with. As a general recommendation newer and/or branded sticks should be absolutely fine. Older, smaller, generic sticks may or may not play so well.
Bill of materials
- 1 RC2014 CH375 USB Storage PCB
- 1 40 pin RA header
- 1 CH375 USB Module
- 1 74HCT00
- 1 74HCT138
- 1 14 pin narrow DIL socket
- 1 16 pin narrow DIL socket
- 3 100nf
- 1 1k resistor
- 1 3mm green LED
- 1 3 pin RA header
- 1 jumper