Adafruit FT232H and Z8S180 CSI/O

75 views
Skip to first unread message

Juha Immonen

unread,
Oct 7, 2025, 1:08:27 PM (4 days ago) Oct 7
to retro-comp
Hello everybody!
I’m exploring a way to connect an Adafruit FT232H USB interface board to a Z8S180 system using its CSI/O port. My goal is to transfer data between a PC and the Z8S180 at a reasonable rate (ideally several hundred kbit/s), possibly using the FT232H as a bridge or programmable FIFO-like interface.

Here’s what I’m considering and would appreciate feedback or experience on:

The FT232H supports SPI, I²C, and GPIO through its MPSSE engine, programmable via FTDI’s D2XX library.

The Z8S180 CSI/O port is a synchronous, half-duplex serial interface that can act as master or slave, with separate data and clock lines.

I’m wondering:

Has anyone successfully interfaced the FT232H’s MPSSE (SPI mode) with the Z8S180 CSI/O (either direction)?

I guess it is simplest to FT232H operate as a master device, right?

Has anyone tried using the FT232H in bit-bang mode for a similar synchronous link with Z80/Z180 systems?

I’d be grateful for any wiring diagrams, timing examples, or code snippets in Z80 assembly.

Thanks in advance for any insights!
Juha

Bill McMullen

unread,
Oct 7, 2025, 1:31:09 PM (4 days ago) Oct 7
to retro-comp
I haven't used the FT232H in SPI mode but if I was considering using it with a Z180 CSI/O the first thing I'd look at is the issue with Z180 LSB first vs FT232H MSB first.  From my VERY QUICK look at the Adafruit board it appears you could use modes other than SPI.

I have successfully interfaced a Z8S180 at 33 MHz to a FT232H using Asynchronous FIFO Mode which is essentially just a parallel device on the data bus.  Since I was using a CPLD to do the address decoding, I also included the logic to allow Z180 DMA transfers between the two devices.  Overall a fast & efficient interface.

The USB interface increased it's efficiency at larger blocksizes i.e. XMODEM-1K vs XMODEM.  In my limited testing with a 700KB file transfer to RAMdisk, USB was about twice as fast as an ASCI at 115200 baud using XMODEM but about nine times faster when using XMODEM-1K ... about 8 seconds to transfer the 700KB file.

Juha Immonen

unread,
Oct 7, 2025, 4:57:56 PM (4 days ago) Oct 7
to retro-comp
Thanks for your informative reply  mcmull...!
Asynchronous FIFO Mode as parallel device on the data bus would of course be fine, but that I may use in my next Z8s180 board. In my current board I can only use  CSI/O without any changes to the board. I have also a working ASCI connection using WaveShare USB to RS232 device, it works at 144000 bits/s. I need more speed because I will send data from PC to my board to drive stepper motors with microstepping, and 144000 baud rate gives max about 140 mm/s speed (the step size is only 0.01mm).  Yes, the Adafruit board appears to have other modes than SPI too and GPIO I/O for handshaking. Maybe I just order a few FT232Hs and start experimenting. But it would still be nice to hear if anybody has done what I am after.

7alken

unread,
Oct 8, 2025, 4:47:38 AM (3 days ago) Oct 8
to retro-comp
hi, that "Z180 LSB first" can be easily solved by fast 256byte lookup table having all bytes reversed, I initially found some code for reversing, but this just eats that table and its fastest;
P.

Alan Cox

unread,
Oct 8, 2025, 6:01:47 AM (3 days ago) Oct 8
to retro-comp


On Wed, 8 Oct 2025, 09:47 7alken, <antos...@gmail.com> wrote:
hi, that "Z180 LSB first" can be easily solved by fast 256byte lookup table having all bytes reversed, I initially found some code for reversing, but this just eats that table and its fastest;
P.

On Tuesday, October 7, 2025 at 10:57:56 PM UTC+2 wasm...@gmail.com wrote:
Thanks for your informative reply  mcmull...!
Asynchronous FIFO Mode as parallel device on the data bus would of course be fine, but that I may use in my next Z8s180 board. In my current board I can only use  CSI/O without any changes to the board. I have also a working ASCI connection using WaveShare USB to RS232 device, it works at 144000 bits/s. I need more speed because I will send data from PC to my board to drive stepper motors with microstepping, and 144000 baud rate gives max about 140 mm/s speed (the step size is only 0.01mm).  Yes, the Adafruit board appears to have other modes than SPI too and GPIO I/O for handshaking. Maybe I just order a few FT232Hs and start experimenting. But it would still be nice to hear if anybody has done what I am after.

On Tuesday, October 7, 2025 at 8:31:09 PM UTC+3 mcmull...@gmail.com wrote:
I haven't used the FT232H in SPI mode but if I was considering using it with a Z180 CSI/O the first thing I'd look at is the issue with Z180 LSB first vs FT232H MSB first.  

The CSIO bit rates are low relative to CPU clock so you can easily reverse and store bytes within the interbyte time without even needing tables.

Example code in ROMWBW and Fuzix SD drivers.
Reply all
Reply to author
Forward
0 new messages