USB drive detection

303 views
Skip to first unread message

Miles Furnas

unread,
Feb 12, 2025, 2:00:15 AM2/12/25
to RC2014-Z80
Hello.  I'm a relative newcomer to the retro computer world.  I've got a working RC2014 system with:
512/512 RAM/ROM
RomWBW Ver 3.4.0
64 MB CF card ticked RomWBW
RTC card
Pico VGA

I recently put together a USB Memory Storage card (Ver 1.0) that my system doesn't seem to detect on booting.  I can see a flashing red light on the 375 module as the system boots, but no other signs of life or recognition.

How best to troubleshoot this?  There's one jumper - should I be on Ch0 or Ch1?  Neither are detected.  At the moment, I've got a SanDisk 32GB stick in.  Have tried other sticks, but no luck with them.

Many thanks
Miles Furnas

Richard Deane

unread,
Feb 12, 2025, 2:25:51 AM2/12/25
to rc201...@googlegroups.com

There are certainly some USB flash disks that don't work, but if you have tried several sizes amd brands then it is unlikely that they all  hit the limitations.


--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/946f65be-eb6b-4742-9444-31b4c8ecfb7bn%40googlegroups.com.

michael....@gmail.com

unread,
Feb 12, 2025, 2:59:00 AM2/12/25
to rc201...@googlegroups.com, rc201...@googlegroups.com
Miles,

What does RomWBW display on power up?

Mike
Sent from my iPhone

On 12 Feb 2025, at 07:25, Richard Deane <rwd...@gmail.com> wrote:



Wayne Warthen

unread,
Feb 12, 2025, 2:40:38 PM2/12/25
to RC2014-Z80
Just confirming that RomWBW v3.4 (in it's default RC2014 configuration) should detect a CH37x device at port 0x3E (primary) or port 0x3C (secondary).  Even if there is no media inserted in the card, the RomWBW boot messages should indicate that the CH37x device was detected.

It would be very helpful to see the RomWBW boot messages.

Thanks, Wayne

Miles Furnas

unread,
Feb 13, 2025, 1:37:38 AM2/13/25
to rc201...@googlegroups.com
Thank you for the quick response.  This is new ground for me.  I have attached a photo of my boot screen after the display stops scrolling.  The lines gone off the top are normal.  As suggested above, I have tried a number of USB drives (256 MB to 32 GB, name brands all) and have had no luck.  As noted in my first communication, I do see a red light go on and off on the CH37x module during the boot process which suggests that something is going on.  Jumper set to Ch1.

Many thanks to all,  Miles Furnas

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
Furnas boot screen.jpg

Joao Miguel Duraes

unread,
Feb 13, 2025, 5:28:48 AM2/13/25
to RC2014-Z80
Something's definitely up indeed. 

Of note, I had a similar problem to you, and I suspected either my soldering or the module. I went through all my solder job and actually instead of soldering the CH375 pins directly to the board, this time I installed a female socket so I could more easily test other CH37x if needed. To my amazement, the second time it worked fine, so I must have missed a solder point or had a cold solder or something - I'm guessing here.

Here, for reference, mine looks like this with a CH375 on it set to channel 0 (jumper on CH0)

CH0: IO=0x3E TYPE=CH375 VER=0x37
CHUSB0: BLOCKS=0x01DCFFFF SIZE=15263MB
CH1: IO=0x3C NOT PRESENT
FP: IO=0x00 SWITCHES=0xB4

Unit        Device      Type              Capacity/Mode
----------  ----------  ----------------  --------------------
Char 0      SIO0:       RS-232            115200,8,N,1
Char 1      SIO1:       RS-232            115200,8,N,1
Disk 0      MD0:        RAM Disk          256KB,LBA
Disk 1      MD1:        ROM Disk          384KB,LBA
Disk 2      FD0:        Floppy Disk       3.5",DS/HD,CHS
Disk 3      FD1:        Floppy Disk       3.5",DS/HD,CHS
Disk 4      IDE0:       Hard Disk         491MB,LBA
Disk 5      IDE1:       Hard Disk         --
Disk 6      SD0:        SD Card           --
Disk 7      CHUSB0:     USB Drive         15263MB,LBA
Sound 0     SND0:       AY-3-8910         3+1 CHANNELS

michael....@gmail.com

unread,
Feb 13, 2025, 10:16:36 AM2/13/25
to RC2014-Z80
Miles,
Even without a USB stick plugged in, RomWBW should detect the CH375 and report it in the boot message as CHUSB0 or CHUSB1 : No MEDIA.  
So it looks to me as if yours is not being seen. I would take a close look at the J1 and J2 connections. 
Regards,
Mike

Mark T

unread,
Feb 13, 2025, 2:19:47 PM2/13/25
to RC2014-Z80
Which version of the CH375 module do you have? There are two different versions with the two rows of the connector swapped, so make sure yours matches the pcb. If you got the kit from Spencer then you should have the right versions, but if you sourced them yourself you may have the wrong version.
Message has been deleted

Wayne Warthen

unread,
Feb 13, 2025, 3:36:13 PM2/13/25
to RC2014-Z80
My previous response seems to have disappeared.  I apologize if this is a duplicate.

Your screen shot confirms that your ROM is configured properly to detect the CH37x adapter at either 0x3E or 0x3C.  It also confirms that RomWBW is not detecting the adapter at either address.  It should detect the adapter regardless of whether there is media (USB stick) inserted.

The activity on the LED indicates that there is some communication between your CPU (Z80) and the adapter.

At this point, I would suggest using the RomWBW monitor to manually exercise the CH37x detection sequence which is very simple.  Here is an example of the sequence on my system at 0x3E:

Boot [H=Help]: m

Loading Monitor...

Monitor Ready (? for Help)
8E>O 3F 06
8E>O 3E AA
8E>I 3E
55
8E>

I would be interested to see what your systems shows.

Thanks, Wayne

sunnyboy010101

unread,
Feb 13, 2025, 6:32:32 PM2/13/25
to RC2014-Z80
Just chiming in here... I have the USB module (kit) from Spencer and it's been working perfectly for ages now. Just for fun I tried the monitor commands Wayne suggested, and I get the "correct" answer (55). I also see the module on boot, even though I don't have a USB installed at the moment.

Miles Furnas

unread,
Feb 17, 2025, 12:44:34 AM2/17/25
to rc201...@googlegroups.com
Thanks for the advice, but so far alas, no luck.  
I inspected (all looked good) and  then reflowed all the solder joints (for good measure).
When I tested Wayne's suggested monitor sequence (before and after reflowing joints), I got an answer of "78" on both Ch0 and Ch1.  I suspect that means that nobody answered the phone on boot up.
Any further suggestions?
Miles Furnas

Joao Miguel Duraes

unread,
Feb 17, 2025, 2:15:28 AM2/17/25
to rc201...@googlegroups.com
Did you see Mark T's comment above? Could you please send us a picture of your CH375, both front and back?

You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/DpM4ceCe4ds/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/CAFK6vaY707NZDzf%3Dvue-oTyaBfv1SSkMmp0oiqq_EZexczGEJA%40mail.gmail.com.

Wayne Warthen

unread,
Feb 17, 2025, 1:23:39 PM2/17/25
to RC2014-Z80
On Sunday, February 16, 2025 at 9:44:34 PM UTC-8 Miles Furnas wrote:
When I tested Wayne's suggested monitor sequence (before and after reflowing joints), I got an answer of "78" on both Ch0 and Ch1.  I suspect that means that nobody answered the phone on boot up.

You are correct, nothing is responding at all on those ports.

As suggested by others, pictures may be helpful.  Spencer's module is designed to make a sandwich with the CH37x adapter, so the front of the adapter is probably not viewable unless you unsolder it from the RC2014 PCB.  I wouldn't go that far yet.

The port selection logic is done by the 74HCT00 and 74HCT138.  If you have any way to test those it might be a good idea.  Also, do you have a simple logic probe?  If so, there are additional tests that could be done easily.

Thanks, Wayne

Miles Furnas

unread,
Feb 18, 2025, 1:58:14 AM2/18/25
to rc201...@googlegroups.com
Again, many thanks to all for the advice.  
I've attached pictures of both sides of my USB board.  Sorry about the lighting.. Will try again if not good enough.
I replaced the two IC's (HCT00, HCT138) and had the same non-results.  I do have a fairly simple logic probe.  Anything in particular I should be looking for?
I was able to get an IDE hard disk (40Gb) up and running on the system the other day so the system will detect external drives.

Miles Furnas

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
Furnas CH375 front side.jpg
Furnas CH375 back side.jpg

michael....@gmail.com

unread,
Feb 18, 2025, 4:29:45 AM2/18/25
to rc201...@googlegroups.com, rc201...@googlegroups.com
Err.. looks to me that the edge connector is offside by one pin!

Mike 

Sent from my iPhone

On 18 Feb 2025, at 06:58, Miles Furnas <mjfu...@gmail.com> wrote:


To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/CAFK6vabK0sMetxEsazpvrB%3DnR3w98WaccOshu6_mv9bPr6n_wg%40mail.gmail.com.
<Furnas CH375 front side.jpg>
<Furnas CH375 back side.jpg>

michael....@gmail.com

unread,
Feb 18, 2025, 4:32:46 AM2/18/25
to michael....@gmail.com, rc201...@googlegroups.com
Ah, maybe a trick of the light, but the pictures don’t look the same, pin 1 seems to be unpopulated in one picture, but not in the other. 

Mike
Sent from my iPhone

On 18 Feb 2025, at 09:29, michael....@gmail.com wrote:

Err.. looks to me that the edge connector is offside by one pin!

Spencer Owen

unread,
Feb 18, 2025, 4:36:47 AM2/18/25
to rc201...@googlegroups.com

I can confirm that it is the correct variation of the CH375 module as the back of the PCB looks identical to the one on z80kits https://z80kits.com/shop/ch375-usb-storage-module/

There is nothing obviously wrong with the soldering. I have seen working boards with much worse soldering than that!  I assume that the backplane has similar good soldering - but it might be worth trying it in a different slot.

The point that would be most interesting for a logic probe is the Chip Select for the module as that would indicate that the '138 and '00 chips are decoding the right port.  Luckily though, there is a LED already on that signal, and you said that the LED lights momentarily when the module starts up.  Does it light up when you run the code that Wayne gave you?  I would check that there is activity on the A0, RD and WR pins, as well as the D0-D7 pins on the module too.  See https://rc2014.co.uk/wp-content/uploads/2024/01/CH375-USB-Storage.pdf for the pinout.

If all that checks out then it seems to point towards a faulty CH375 module.

Spencer

Miles Furnas

unread,
Feb 18, 2025, 8:21:38 PM2/18/25
to rc201...@googlegroups.com
Thank you Spencer for the pointers. 

I checked several things.  After lighting during boots, the red LED on the 375 module showed no activity when I interrogated the module using Wayne's assembler code.
I checked the pins suggested off the board edge connector pins with my fairly low-tech logic probe.  I saw high/low activity on A0, RD, D1.  WR, D0 and D2 read high.  D3-7 read low.  I need to put a scope on this to check further.

Miles Furnas

Miles Furnas

unread,
Mar 15, 2025, 11:38:03 PM3/15/25
to rc201...@googlegroups.com
After a short break, the plot thickens.....
Taking the above helpful comments on board, I suspected that perhaps I had either gotten a bad CH375, or more likely, had botched the construction.  So, I ordered another (different) USB module (Dino Board Mean Green Machine from Tindie that used a CH376).  It is superficially similar to the RC2014 USB module except that it has two LED's (red, green) which show board activity.  Once again, no response from my RC2014.  Both LED's on the Dino board light up and stay lit on power-up.  No recognition of the USB module in the otherwise normal boot sequence.  I tested Wayne's assembler query (above) and once again got "78".  The construction again looks good, so I'm suspecting that my system is putting out something which is interfering with the USB module.  The rest of the system works just fine with and without the USB module attached.  I've attached a scope image showing A0 (bottom trace), D0 (2nd from bottom), WR(3rd from bottom) and R0(top trace).  Anything else I might look at?
At the moment my RC2014 system is running on a 12 slot Pro motherboard with:

Pi Pico VGA module, also connected to USB keyboard
Dual Serial module SIO/2
512 Kb Rom/512 Kb Ram module
Dual clock module (only one clock set up) - default clock speed
Compact Flash module (V1) with 64 MB CF card (RomWBW ver 3.4.0)
Z80 CPU module
IDE Hard Drive module (40 Gb, tested with and without)

My suspicion is that the USB module is hamstrung by a conflict on one of the address, data or interrupt lines.  But where to start?
Any suggestions to troubleshoot?
Is there anybody in Australia with a RC2014 system who would be willing to test my USB modules?
All suggestions welcome.

Miles Furnas
Furnas scope screenshot_1.jpg

Dean Netherton

unread,
Mar 16, 2025, 12:16:50 AM3/16/25
to rc201...@googlegroups.com
Hi Miles 

I am away from my main PC, so don't have details handy. Not sure if you are aware, but my USB module I think uses different i/o ports from Spencer's.   You may need to modify romwbw config

When I get a chance. I can details a few things to check.  For example, you can manually trigger the led states, as they are independent of the module

Its also worth trying to hit reset a few times.  The ch modules are slow to power on. So a reset or 2 may be in order

Dean

Mark T

unread,
Mar 16, 2025, 9:13:59 PM3/16/25
to RC2014-Z80

According to Dino’s website documentation the green board uses address $88. 

Spencer’s board uses $3E and $3C

dean.ne...@gmail.com

unread,
Mar 16, 2025, 11:39:04 PM3/16/25
to RC2014-Z80
Thanks Mark,

Yep for my board the Data Port is $88 and the Command Port is $89.  So a custom build of RomWBW will need to be built.

The LEDs are controlled with port $8A

Hi Miles,

You could try doing some direct IO operations to port $8A.  Although, confirming if the LEDs are working, will not really prove/disprove much for the CH376 module.

Have you tried with a minimal config - removing the VGA and IDE modules?

You can confirm if you are having a I/O conflict, by reviewing the docs for each module you have, and see if they share/overlap any I/O.  Some modules can be rather loose with their I/O mapping.

First thing I would confirm, is: Is the CH376 module's CS line being selected? If you look the schematic for my module, you can see Pin 14 of U1 maps to Pin 8 of U3.  Place your probe on one of those pins, and on powerup - see it get toggled low at all. 


And I assume you have checked that all the Data lines,  RD and WR signals are getting to the module?

You may also want to explore my custom fork of RomWBW, if you are using my CH376 module.  This fork has a complete USB stack implemented, and also has a lot of 'retry' within the code.  It now even has a 'force' detection config entry to force Boot to stall until it detects the module and at least one mounted device. 

My custom branch is at: https://github.com/dinoboards/RomWBW/tree/dean-ch376-usb-native-5  Have a look in RCZ80.cfg for these entries:  (sorry the documentation is a bit light)

CHENABLE        .SET    FALSE           ; CH: ENABLE CH375/376 USB SUPPORT
CH0USBENABLE    .SET    FALSE           ; CH375: ENABLE CH375 USB DRIVER
CH1USBENABLE    .SET    FALSE           ; CH376: ENABLE CH376 USB DRIVER
CHNATIVEENABLE  .SET    TRUE            ; CH376: ENABLE CH376 NATIVE USB DRIVER
CHNATIVEFORCE   .SET    TRUE            ; CH376: DISABLE AUTO-DETECTION OF MODULE - ASSUME ITS INSTALLED
CHSCSIENABLE    .SET    TRUE            ; CH376: ENABLE CH376 NATIVE MASS STORAGE DEVICES (REQUIRES CHNATIVEENABLE)
CHUFIENABLE     .SET    TRUE            ; CH376: ENABLE CH376 NATIVE UFI FLOPPY DISK DEVICES (REQUIRES CHNATIVEENABLE)
USBKYBENABLE    .SET    TRUE            ; USB KEYBOARD DRIVER
CTCENABLE       .SET    FALSE           ; DISABLE ZILOG CTC SUPPORT
LCDENABLE       .SET    FALSE           ; ENABLE LCD DISPLAY


For a fellow Aussie, more than happy to setup a time to discuss and explore resolving your issue --- ping me on my direct email (dean.netherton at gmail.com)

Dean

Reply all
Reply to author
Forward
0 new messages