Possible new eZ80 card for RCBus

242 views
Skip to first unread message

Bill McMullen

unread,
Dec 8, 2024, 6:23:46 PM12/8/24
to RC2014-Z80
Given the popularity of RC2014 / RCBus and as a design challenge,  I chose to try redesign my eZ-Tiny system into the 1.1 inch RCBus "small" module form factor.  The prototype is working and one unique feature is that this board / system can be be used either with an RCBus backplane or simply as a standalone system connected to a host via USB.  

Unlike most through-hole RCBus designs, this one is mostly surface mount devices that aren't for the soldering novice.  It's primarily an all-in-one system that doesn't require other RCBus boards but can access them either as memory or I/O or via I2C while operating at the rough equivalent of a Z80 at about 60-70 MHz.  That brings up the question of whether others might be interested in a pre-assembled and tested board like this or is it too radical a departure from typical RCBus boards?

Some preliminary documentation is available <here>.

Features:
 - Zilog eZ80F92 at 18.432 MHz with 128 KB internal flash & 8 KB internal RAM
- 512KB or 2MB of zero-wait SRAM
- 2KB of I2C EEPROM available for user programs
- A header for other I2C devices
- 8MB of serial flash as a resident flash "disk"
- Two serial ports via USB or RCBus signals with a default of 8,N,1 at 230400 baud
- A microSD push-push socket with SPI interface at 3MHz
- A Real Time Clock (RTC) with rechargeable battery
- A RUN (green) / HALT (red) bicolour LED
- A user-programmable LED
- A RESET pushbutton
- An optional ZDI debug header
- Power via USB or RCBus

Top.png

Richard Deane

unread,
Dec 9, 2024, 2:37:21 AM12/9/24
to rc201...@googlegroups.com

I am interested I'm buying one, assembled and tested, when it has Romwbw available.
Richard


--
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/6e532fb0-d798-4763-99eb-927a7167bb12n%40googlegroups.com.

Mircea Teletin

unread,
Dec 9, 2024, 3:16:00 AM12/9/24
to rc201...@googlegroups.com
I would be also! I might be able to fiddle with assembling it... Romwbw would be a huge bonus. Fuzix even more!

Wayne Warthen

unread,
Dec 9, 2024, 4:52:41 PM12/9/24
to RC2014-Z80
Regarding RomWBW support...

I'm afraid that, at present, RomWBW is not available for this module.  The built-in memory management of the eZ80 essentially mandates an 8K/56K split between common/paged memory.  Unfortunately, RomWBW expects a 32K/32K split between common/paged memory.  RomWBW was not designed with flexibility for this -- the 32K/32K memory configuration assumption is deeply imbedded in RomWBW.  I have been making small steps toward accommodating alternate memory splits, but completion is a very long way away.

I'm truly sorry, but RomWBW is not an option for now and I don't have a prediction as to when it might be.  😒  Bill has graciously offered resources to help with this effort, but the main problem is simply my time and the many competing priorities for RomWBW.

Just to avoid any confusion, the eZ80 module created by Dean Netherton utilizes an offboard MMU that is RomWBW compatible.  That is why his eZ80 module does work with RomWBW.

Thanks, Wayne 

Bill McMullen

unread,
Dec 9, 2024, 9:51:42 PM12/9/24
to RC2014-Z80

This eZ80 board allows the use of external memory boards such as the SC714 which supports the 32K banking required by RomWBW.  Looking at the SC714 schematic, the worst case timing scenario appears to be due to U5 but switching it to a 74AHCT157 should allow RAM access with one wait state.  However the impact of doing that on a pipeline processor like the eZ80 is very significant and will result in effectively running the processor at about half speed.  SST39SF040-70 access would be very marginal at one wait state and would be dependent upon individual components.

My approach to hardware design is to aim for zero wait states at maximum clock frequency and to try utilize all the various integrated features of the processor.  Likewise I write software like a BIOS in assembler and try to optimize it for the task.  This system uses well tested drivers I created for SD card drives via SPI and serial flash drives, both of which utilize buffer pools, [de]blocking and other techniques.  The eZ80 SPI controller is a LOT faster than bit-bang SD designs like the SC611.  Given the speed, small size and low cost of uSD cards, I long ago quit using Compact Flash (CF) cards that require various kludges to adapt their slow ATA timing requirements to newer processor cycles.

I certainly understand and respect the time constraints Wayne is dealing with, especially with supporting and enhancing all the variants of RomWBW ... kudos to him!  It should be fairly easy to port RomWBW to this board for use with existing RCBus I/O cards but incorporating the drivers for the SD card and the serial flash drive on this board would take significantly more effort.

Likewise, supporting Fuzix would take a lot of time that I don't have.  At this time I only support CP/M 2.2 and while it should be relatively straightforward to adapt the BIOS and drivers to CP/M-3, any of my major upgrade efforts will likely be towards MP/M.  In the meantime, the only other operating system that I know is supported on my various eZ80 systems is TRSDOS.

Wayne Warthen

unread,
Dec 12, 2024, 12:07:24 PM12/12/24
to RC2014-Z80
Ah, so I didn't realize that this board would be able to access a traditional RC2014 512K RAM/ROM board with it's own MMU.  Indeed that makes it much more possible to get RomWBW running on it, albeit with the significant performance compromises you have described.

There is also still the issue of the 16-bit port I/O addressing.  Dean soved this with some special hooks into eZ80 ROM space.  I'm not sure if I am capable of porting that concept to this module.

Thanks, Wayne

Bill McMullen

unread,
Sep 10, 2025, 4:30:15 PM (12 days ago) Sep 10
to RC2014-Z80
This board has now been upgraded to use a QWIIC connector for I2C which allows it to easily interface to I2C I/O boards such as those from Adafruit and Sparkfun.  The BIOS also has an easy to use I2C master I/O routine via a CALL with the parameters in registers.

I've assembled a few of these boards and they all work as expected in standalone mode ... CP/M 2.2 on an 18.432 MHz eZ80 with zero wait state SRAM, SD card, 8MB resident disk, etc.  For those that are interested in the Mandelbrot benchmark, it runs in about 18.4 seconds using the MBASIC 5.21 interpreter.

I do not use RCBus and that capability is untested.  I'd like to offer a couple of these assembled & tested boards (512K or 2MB SRAM) at below cost to active & knowledgeable RCBus users on the condition that they provide me feedback on the board's RCBus compatibility and an explanation of any detected incompatibilities.  I am aware of 8-bit vs 16-bit I/O address issues and also the reserved I/O addresses from 0080h-00FFh.

Let me know via email if you're interested, along with what kinds of RCBus boards you can test it with.  Unfortunately due to tariffs and shipping difficulties, this offer does not apply to USA addresses.  Some updated information can be downloaded from <here>
Reply all
Reply to author
Forward
0 new messages