Skip to first unread message

Alan Cox

unread,
Apr 8, 2020, 2:38:28 PM4/8/20
to retro-comp
Today's new board bring up


This one is intended to replace tthe Z80 SIO and CTC cards with something a bit better but still easy to build and with a low component count. Unlike the SIO and ACIA it's got baud rate control on chip and also makes all the modem lines available for a proper serial interface. The resistor packs are arranged so you can omit half of them if you don't use the more obscure lines.

ROMWBW doesn't default to enabling the 16x50 driver on RC2014, but it does have one. It would actually be nice to get 16x50 support on in ROMWBW by default as the detection process is robust.

At the moment I've tested the RC2014-CPU side and I'm still testing all the serial side functionality.

Alan

Steve Cousins

unread,
Apr 8, 2020, 3:55:19 PM4/8/20
to retro-comp
Hi Alan,

You are producing an impressive number of designs.

A 16C552 card is a welcome addition to the RC2014 range. I should, in theory, be able to add automatic detection and support to SCM - but only for systems supporting more than 8k ROM banks.

Steve

Mark T

unread,
Apr 8, 2020, 4:51:02 PM4/8/20
to retro-comp
Just thought it might be worth noting that although 74 series open collector nor gates are not easy to find its possible to use two 74hct05 gates with the outputs connected. 74act05 also seems to be available.

Using a Schottky diode as Alan used should also be OK, best used with hc or hct as in Alan’s schematic but might just get away with this using 74ls outputs. I think a 1n4148 type might not be reliable.

Mark

Wayne Warthen

unread,
Apr 8, 2020, 7:01:28 PM4/8/20
to retro-comp
On Wednesday, April 8, 2020 at 11:38:28 AM UTC-7, Alan Cox wrote:
ROMWBW doesn't default to enabling the 16x50 driver on RC2014, but it does have one. It would actually be nice to get 16x50 support on in ROMWBW by default as the detection process is robust.

I will definitely enable auto-detection in RomWBW.

-Wayne 

David Gilbert

unread,
Apr 9, 2020, 3:26:24 AM4/9/20
to retro-comp
This is v.cool.

That it has address decode that gets it below the defacto standard for Z180 retrocomputers of 0xC0 is a real plus over Ben Chong's 16C550 design. Oh, and the second port is nice too :).

A couple of things:

Wayne - browsing the code in RomWBW, it looks like the UART code is polled only - is that correct?

Alan - what's the chance of modifying the board layout to bring the interrupt to a jumper where it could be steered to either the RC2014 /INT pin or the USR1 pin? That way, it would be possible to have serial port interrupts on a Z180 board like Steve's SC111.



TonyD

unread,
Apr 9, 2020, 3:53:06 AM4/9/20
to retro-comp
Alan, as Steve says, a great addition to RC2014 ecosystem. The 16C552 has much better available than either the ACIA or SCC.


Tony

Alan Cox

unread,
Apr 9, 2020, 9:03:31 AM4/9/20
to retro-comp
Alan - what's the chance of modifying the board layout to bring the interrupt to a jumper where it could be steered to either the RC2014 /INT pin or the USR1 pin? That way, it would be possible to have serial port interrupts on a Z180 board like Steve's SC111.

Why does that need a user pin ? The SC111 has a jumper so you can use INTX that way but it's got /INT wired too.

Alan

David Gilbert

unread,
Apr 9, 2020, 10:24:15 AM4/9/20
to retro-comp
As I understand it, on the Z180 in interrupt mode 2 the /INT pin expects Z80 type interrupt handling - RETI and IEI/IEO daisy chaining. The Z180 /INT1 & /INT2 pins are steered through the Z180's internal interrupt controller, so devices connected to those pins don't need to support Z80 style interrupt handling.

Seems like an easy way to get interrupt driven serial drivers for 16550 type devices in interrupt mode 2.

Wayne Warthen

unread,
Apr 9, 2020, 10:49:40 AM4/9/20
to retro-comp
On Thursday, April 9, 2020 at 12:26:24 AM UTC-7, David Gilbert wrote:
Wayne - browsing the code in RomWBW, it looks like the UART code is polled only - is that correct?

That is correct.  It is by design.  The newer UART chips have on-chip automatic hardware flow control and buffers which obviate the need for an interrupt-driven driver.  This makes them run much faster than the interrupt-driven chips with no loss in functionality.

-Wayne 

Alan Cox

unread,
Apr 9, 2020, 11:05:57 AM4/9/20
to retro-comp


On Thursday, 9 April 2020 15:24:15 UTC+1, David Gilbert wrote:
As I understand it, on the Z180 in interrupt mode 2 the /INT pin expects Z80 type interrupt handling - RETI and IEI/IEO daisy chaining. The Z180 /INT1 & /INT2 pins are steered through the Z180's internal interrupt controller, so devices connected to those pins don't need to support Z80 style interrupt handling.

Seems like an easy way to get interrupt driven serial drivers for 16550 type devices in interrupt mode 2.
 

IM2 also needs backplane and other support so I don't think anyone is actually using IM2 in the default software are they ? ROMWBW is polled, Fuzix avoids IM2 on RC2014 for exactly these reasons (plus it's not really much of a win anyway). If you want to use IM2 I would actually use one of the other UART cards based on the 2681 derived parts as several of those chips support IM2.

I'll add it to the list if I ever do a new rev of the board, but as this one works nicely I probably won't.  The Kicad5 is all on hackaday and its CC-NC so by all means tweak your own version too.

Alan


Alan

Interocitor Steve

unread,
Apr 9, 2020, 1:20:01 PM4/9/20
to retro...@googlegroups.com
I like the DEEEEP buffers.
Is there a USART version (other than the ESCC)?

Wayne Warthen

unread,
Apr 9, 2020, 3:22:50 PM4/9/20
to retro-comp
I have checked in support for this module at the dev branch of RomWBW.  It is coded to detect the module at 0xA0 and assumes it is running an on-board oscillator of 1.8432 MHz.

For initial console operation, it will take priority over an SIO or ACIA, so if added to a system that also has one of those, expect the console I/O to move to it.  It does not take priority over the Z180 ASCI, however.

This was just configuration changes, but is untested, so if anyone gets it working, please let me know.

Thanks,

Wayne

Alan Cox

unread,
Apr 19, 2020, 4:49:32 PM4/19/20
to retro-comp
I have this tested and with the current ROMWBW dev build I can run with this card, no SIO or ACIA and all is mostly good ( a minor phantom ACIA probe bug). The latest Fuzix build also handles it.

For the classic, SC108 and SC114 I have a boot ROM which is now running CP/M 3 nicely enough with any of the three usual UART cards and CF or PPIDE.  I am still debugging RAMdisc support for the SC108/SC114 and haven't yet begun to sort out PS/2 keyboard and TMS9918A support. A compatible with the old setup CP/M 2.2 is also partly sorted.




Wayne Warthen

unread,
Apr 19, 2020, 4:58:45 PM4/19/20
to retro-comp
Very nice Alan.

A 16550 type UART is going to be really nice.  Completely offloads hardware flow control and buffers from the OS and therefore allows everything to run faster and more reliably.

I assume the best way to get one of these boards is to have them made using the gerbers posted at Hackaday, right?

The hardware detection issue in RomWBW will be fixed later today.  Not a scenario many people will hit regardless.  I will also enable automatic support for this module in the near future.

Thanks,

Wayne


On Wednesday, April 8, 2020 at 11:38:28 AM UTC-7, Alan Cox wrote:

Alan Cox

unread,
Apr 19, 2020, 5:02:43 PM4/19/20
to retro-comp


On Sunday, 19 April 2020 21:58:45 UTC+1, Wayne Warthen wrote:
Very nice Alan.

A 16550 type UART is going to be really nice.  Completely offloads hardware flow control and buffers from the OS and therefore allows everything to run faster and more reliably.

I assume the best way to get one of these boards is to have them made using the gerbers posted at Hackaday, right?

The hardware detection issue in RomWBW will be fixed later today.  Not a scenario many people will hit regardless.  I will also enable automatic support for this module in the near future.

Thanks,

Wayne

You can get boards from China cheaper than I can post you one so yes.
Doubly so as I'm currently not supposed to leave the house as I'm
classed as high risk from CoVid19.

Alan

Colin MacArthur

unread,
Jun 1, 2020, 12:50:52 PM6/1/20
to retro-comp
Hello,
The attached SCMonitor-v100-ACIA-ACE-RC2014-16k-ROM is from my test bed.

It is GREAT for testing 16x5x Boards.
I have tested it with up to 4 Ancientcomputing Type “C” Boards(16x50) (BUT any other 16x5x board that uses just 8 I/O ports should work)
Sequentially Addressed board(s) Mapped to (C0-C7/C8-CF/D0-D7/D8-DF) & (E0-E7/E8-EF/F0-F7/F8-FF)

I also tested
1 of Alan's 16c2552 Boards mapped C0-CF / E0-EF 
and  
2 Ancientcomputing Type “C” Boards(16x50) mapped D0-D7 D8-DF 

This build will first detect a 6850 (ACIA) @80 (or other if you reassemble) if one is present...
Then it will detect:
1 8250 (No scratch pad) I.E. Board Maps to all ports  C0 thru FF
or
1 Ancientcomputing REV “B” Board(16x50) I.E. Board Maps to all ports  C0 thru FF
or
If boards are Sequentially Addressed:
up to 4 Ancientcomputing Type “C” Boards(16x50) or any other 16x5x board that uses just 8 i/o 
I.E. Sequentially Addressed board(s) Mapped to C0-C7/C8-CF/D0-D7/D8-DF/E0-E7/E8-EF/F0-F7/F8-FF
or
1 Dual(16x552) and 1 or 2 Ancientcomputing Type “C” Boards(16x50)
or
2 Dual(16x552) (If Second is Alan's 16c2552 it requires an address mod for Sequentially Addressing)
or
1 Quad(16x554)


This gives you a working system to test your 16x boards, then you can pull the 6850 board and run with 16x boards..
or
A GREAT test option if you don't have a 6850:
1 Ancientcomputing Type “C” Boards(16x50)@0xD8 and 1 Dual(16x552)@0xE0 (re assembly required)

FYI
The test bed is a z80 with a 32k ram board, a 8k rom board and a 6850 serial board...

To reassemble, you will need SCWorkshop v0.2.0 includes SCM v1.0 source code

CM

SCMonitor-v100-ACIA-ACE-RC2014-16k-ROM.hex
Serial16550-16552.asm
!Manager.asm
Serial6850.asm
Reply all
Reply to author
Forward
0 new messages