Altair style front panel on the RC2014

112 views
Skip to first unread message

Robb Bates

unread,
Oct 26, 2025, 12:31:07 AM (12 days ago) Oct 26
to RC2014-Z80
Just thinking out loud here.

I almost bid on an Altair b model on eBay. But decided against it since I basically already have one with my Zed Pro, functionality wise at least. It's just that front panel that always catches my eye. And I'm also considering an Orton.

So I was wondering what it would take to create a front panel that could work with a standard Zed Pro.  Something with the same controls as the Altair. 

The bus has enough signals to allow for that. But the BIOS kind of takes over once you turn it on. 

I'm wondering if the BIOS could be modified so that one of the very first things it could do before losing the rest of the BIOS drivers is check for some switch on an input port and if set, Switch the lower bank to a RAM bank and then halt somehow, turning the control over to the front panel switches. Effectively becoming an empty RAM only Z80 machine. Or maybe a boot option could configure it that way.

Do y'all see where I'm going with this? 

Or maybe the front panel has control from the beginning and only if the switches are set correctly, then you could boot from the BIOS.

I haven't put much thought into this hardware wise. But it doesn't sound like it would be too difficult.

Or maybe something like this already exists. I mean something more complete than the Orton.

Robb

Robb Bates

unread,
Oct 26, 2025, 12:48:12 AM (12 days ago) Oct 26
to RC2014-Z80
I think one of my concerns is that currently, upon reset, the first bank of ROM is present on the lower half of memory. So some amount of bank switching would need to be done somehow to set up the lower half with RAM. How could that be done? 

Robb

Ed Silky

unread,
Oct 26, 2025, 3:24:08 AM (12 days ago) Oct 26
to rc201...@googlegroups.com
Also, The Z80 needs to relinquish control of the bus so the front panel can control everything.

I am actually working on a board that allows for that, including having a jumper that sets it to 'all-ROM', '50/50', 'all-RAM' when paging is disabled (as it is at reset). It also allows the CPU to be held in reset while allowing the rest of the board to function. I plan to create a front panel for it. I have indicated on other posts, that at the point that it is up and running, I will create a separate topic for it and post details, along with making the GitHub repository public (it's currently private). The CPU reset (which only resets the CPU, not the whole board) also supports the Z80 'Special Reset', which can be used by debug modules.

-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/c4725217-b5ba-4c12-bd84-41e1b903fa53n%40googlegroups.com.

Robb Bates

unread,
Oct 26, 2025, 8:14:00 AM (12 days ago) Oct 26
to RC2014-Z80
After reading about the theory of operation for the Altair, it doesn't hold the Z80(8080) in reset.  The way it works is to let the CPU assert the address lines, but isolate the data lines. Putting a NOP on the data bus and single stepping. The front panel displays the data from RAM during examine and places data to the RAM during deposit. During examine, it will actually send a fake a JMP instruction to the CPU using the front panel address switches as the operand and then step those nuts l bytes into the CPU. It will then try to read the next instruction, asserting the to-be-examined address on the address bus. 

Doing it this way also allows you to start execution from any arbitrary address. Holding the CPU in reset can only ever start execution from address $0000.

I think I've got it right. There are more details to all this of course.

Robb

Bill Shen

unread,
Oct 26, 2025, 9:27:38 AM (12 days ago) Oct 26
to RC2014-Z80
The front panel hardware can issue an I/O access to address $38 to page out the ROM and enable RAM.  Another way is removing ROM and jumpered in RAM, but that will be painful if you want to alternating between ROM operations and RAM operations.
Bill

Ed Silky

unread,
Oct 26, 2025, 5:52:51 PM (12 days ago) Oct 26
to rc201...@googlegroups.com
Hi Robb,
That may be the case, I didn't have an Altair, but I did build an IMSAI-8080 in the late '70s. That was a long time ago, so my recollection is a bit fuzzy, but I don't remember the IMSAI working quite that way. In any case, if you have the circuit that can substitute data values that get read by the CPU (as you would have in order to substitute a NOP in place of whatever byte was actually in the memory), then you can force a jump instruction to a desired location when the CPU is released from reset.

-Ed

Robb Bates

unread,
Oct 26, 2025, 7:43:54 PM (12 days ago) Oct 26
to RC2014-Z80
Ah, that is very true.  Good thinking!

Robb

Mark T

unread,
Oct 26, 2025, 8:07:20 PM (12 days ago) Oct 26
to RC2014-Z80

ZBD was my version a ew years ago, intended for ram only system so if you want to jump to a new location you write the jump instruction into ram.

Reply all
Reply to author
Forward
0 new messages