Another front panel for RC2014

120 views
Skip to first unread message

Bill Shen

unread,
Oct 7, 2025, 12:51:08 PM (5 days ago) Oct 7
to RC2014-Z80

My first personal computer is Altair 8800, so I’m familiar with the front panel, its glamour and its pains.  Nowadays I want a front panel that’s relatively easy to enter data via PS2 keyboard and easy to read with 7-segment display.  It also has the benefit of being small, the size of a standard RC2014 board.  Altair’s front panel electronics is a complex TTL logic board the size of the entire front panel, so some level of complexity and ‘magic’ was already accepted in order to convey the simple concepts of entering program, single stepping, and running program.  So I don’t feel too bad using a CPLD for user interface as well as interface to Z80.  

Here is rev0 of FPZ80 for RC2014 where PS2 keyboard accepts user inputs and six 7-seg LED show 4 bytes of addresses and 2 bytes of data.  It also has a serial input to accept user inputs from a workstation.  The advantage of serial inputs is enabling transmission of a large file much like serial file uploading.  Serial input function is not implemented right now, but PS2 input seems to work well.

The front panel has two modes of operation;   Z80 mode has two commands, ‘s’ for single stepping where every ‘s’ advance the program counter by 1; and ‘r’ command to run the program continuously where another ‘r’ stop the program execution.  Second mode of operation is FP mode.  ‘Esc’ key toggles between Z80 mode and FP mode.  When in FP mode, the decimal points of 7-seg display for 2 data digits are lit.  Typing 0-9, a-f enter values in the data field.  Carriage return deposit the values in memory and advances to next address and display the contents of memory.  Every carriage return advance address by one and display its memory contents.  Backspace decreases address by one and display its memory contents.  ‘X’ command lit the decimal points of the 4 addresses digit and enables new 4-digit address to be entered.  After 4-digit address is entered, the data field will display the contents of new address.

PS2 keyboard allows fairly quick data entry; I can type “00, enter, 00, enter, c3, enter, 00, enter, 00, enter” to input NOP, NOP, JP $0.  Then I can type ESC to enter Z80 mode, then ‘s’ to single step or ‘r’ to run.  ‘X’ command allows examine and modification of data anywhere in the 64K memory space, but in Z80 mode, the program counter always start from zero after reset; there are no command to force values into Z80’s PC register. 

The FPZ80 logic is implemented in state machines in 128-macrocells CPLD which is near 100% utilized.

Bill


IMG_5730.jpeg

Ed Silky

unread,
Oct 7, 2025, 1:25:13 PM (5 days ago) Oct 7
to rc201...@googlegroups.com
This is really cool! I'm actually working on something similar, but using a RPi Pico (RP2350) for the controller. It requires a little bit more external circuitry than this does, but (I'm pretty sure) it has a lot more room for programming features in.

I'm going to bookmark this thread, so I can post updates as I get further along on mine.
-Ed

--
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/0050a11c-bc8b-4439-a980-b34d1deae736n%40googlegroups.com.

Bill Shen

unread,
Oct 7, 2025, 5:23:49 PM (5 days ago) Oct 7
to RC2014-Z80
This is FPZ80 plugged into one of RC2014 connector on Simple80.  Simple80 only has RAM and Z80 populated plus a 14.7mhz oscillator.  FPZ80 controls Z80 using ~Bus Request and ~Wait signals.  The two signals are not present on the classic RC2014 40-pin connector, so I have to wire them over the spare pins, pin 37 and 39.  For RC2014 boards on backplane with extended bus signals, the FPZ80 should work without jumpers.

I’m an admirer of Karen Orton, I’ve worked with her on ZX79 prior to her passing.  I’ll modify Simple80 to drive a serial port with A15 and interrupt just like Orton 3C so I can follow along the works on Orton 3C.  The reason the RAM is on a ZIF socket is because I plan to glue battery and diodes to top of RAM to make it nonvolatile so I can program it on an EPROM programmer.  This should save me all the hassles of manual data entry, even with faster FPZ80.

IMG_5732.jpeg

Mark T

unread,
Oct 7, 2025, 9:03:31 PM (5 days ago) Oct 7
to RC2014-Z80
Put battery and diodes on 0v to the ram, then with power turned off on the system the chip enable is pulled high. Probably best to use an npn transistor to connect system 0v to the ram 0v.

Bill Shen

unread,
Oct 7, 2025, 10:54:37 PM (5 days ago) Oct 7
to RC2014-Z80
 I don’t understand your description, you may need to draw a diagram to show me.


This what I plan to glue on top of a 128Kx8 RAM chip taking advantage of the active high chip select at RAM pin 30.  The ~RESET output of MCP130 is connected to active high chip select, so when RAM is removed from ZIF socket, it pulls CS low thus protect the RAM from inadvertent writes nwhile moving between the computer and the programmer.

Bill

IMG_5733.jpeg

7alken

unread,
Oct 8, 2025, 6:08:00 AM (4 days ago) Oct 8
to RC2014-Z80
hi Bill, nice :-) ... for that backup, something like mosfet based ideal diode can help too, as  LM66100DCKR?
P.

Mark T

unread,
Oct 8, 2025, 10:57:50 PM (4 days ago) Oct 8
to RC2014-Z80
Hi Bill,

This is a similar battery backed ram that I made a few years ago. diode and transistor to connect the battery are in the 0v supply instead of Vcc, so the CE is held high when power on the target system is turned off. I can't remember why I used such a long chain of diodes to switch the transistor, it might have been to avoid leakage or just to drop voltage.
WIN_20190312_175419.JPG
BBR.pdf
WIN_20190312_175501.JPG

Bill Shen

unread,
Oct 9, 2025, 12:02:34 AM (4 days ago) Oct 9
to RC2014-Z80
I think you used a long chain of diodes so not to turn on transistor BC107 when the RAM is in the socket and 5V is turned off.


This is my RAM backup prototyped.  I can verify the RAM contents are retained when powered off and moved to/from programmer.  However, the programmer does not recognize it as DS1245, so unable to program it.  I think the time delay of reset supervisor (MCP130) in negating ~RESET is preventing the programmer from programming it.  Your scheme of diode chain and pass transistor may work better.


Still, having nonvolatile RAM is desirable, and I still can program the nonvolatile RAM in another setup then move the RAM back.

IMG_5736.jpeg
Reply all
Reply to author
Forward
0 new messages