Any self-respecting retro-style homebrew computer needs two things – switches and blinkenlights. Otherwise, why bother?
I haven’t got a working computer yet but already I’m thinking about a front panel for it. This will be inspired, to some extent, by the Altair 8800 and also by the PDP-8, both of which I have in the form of modern replica kits.
But obviously I need to put some thought into what switches are required. This is where I’m at with my thinking so far:
- On/Off – well, duh!
- Run/Halt – This will play with the 6502’s RDY signal (and also SYNC, I think, but I need to do more research) to stop execution. The function of every switch below is predicated on the assumption that we’ve halted execution with this switch. In fact, it would be advisable if they were non-functional otherwise!
- Address 0-15 – to toggle in a 16-bit address on to the address bus.
- Data 0-7 – to toggle in an eight-bit value on to the data bus.
- Examine – Places on the address LEDs the value of the byte currently pointed to by the address bus (not necessarily the address switches).
- Deposit – Places the byte currently set on the data switches into the memory address currently set on the address bus.
- Next – Increments the value of the address bus by one and displays it on the LEDs.
- Prev – Decrements the value of the address bus by one and displays it on the LEDs.
- Single – Single step – sends out a single clock pulse to advance the current execution by one cycle. (Actually, I’m not sure about the value of this one.)
There will be LEDs galore, too – 16 to show the state of the address bus and eight to show what the data bus is doing, plus a power light and maybe even a ‘halt’ light just for show.
I already have the address and data switches. They are the same ones used on the current iteration of the PiDP kit (though not the version of the kit I have, which is the earlier one).
My initial instinct was to use an AVR microcontroller to manage the front panel and interact with the 6502. But then CommodoreZ posted about his front panel design on the 6502.org forum and that inspired me to do it with logic chips instead. His project isn’t complete or problem-free but it did open my eyes to a few things, not least the existence of the 75xx193 chip.
Of course, I retain the right to go back to the microcontroller approach if necessary!
So, in the next post I’ll talk more about the address switches & LEDs.