(1) What's the purpose of the RESET jumper? Won't that just hold the processor in the reset state?
Ah yes, it is not a jumper: it is a header for connecting an external reset switch. Could not find the symbol for a two pin header, so used the jumper symbol. Confusing, I admit.
(2) Is the 3K3 resistor for the Power LED correct? These normally seem to be around 330R.
It is a low power LED, 2 mA does the job. That said, a 2K7 is perhaps a better choice.
(3) Why have you split the inputs/outputs to the memory mapper into a group of 4 and a group of 3?
Originally they were all together and in order, but this way works out better for laying out the PCB tracks.
(4) Is the single-step triggered by reading/writing a specific memory address, rather than using the LREX instruction?
It is triggered by a CRU bit. So to execute a single instruction from the monitor the code would be:
Code:
li r12, 0x0800
sbo 2
rtwp
This will execute one instruction after the RTWP and than do an NMI. The NMI routine then starts with:
Code:
limi 0
li r12,0x0800
sbz 2
(5) What's the USER output of U10? I can see it goes into the GAL but isn't used. For future use?
Good catch. I forgot to update the GAL formulas. The purpose of USER is for the operating system to set "user mode". In this mode access to the CF Card, the mapper registers and the 9902 is blocked. A user program can always reset the bit, so it does not protect from malicious code, but should help as a minor defense against bugs taking the system down. That said, on a 9995 any user program can do a "limi 0" and that pretty much locks out the OS from recovering.
(6) Out of interest, why on some ICs (like the memory mapper) do you pull pins high through a resistor, but with the 74LS74 you tie the /Set input directly to +5V? Seen that done before, but never understood why.
I guess the truth is that I don't really understand the purpose of these pull up resistors. I will have to read up on their origins. Most likely outcome is that this needs to be modified to use a pull up resistor.
Is it worth filling that spare space on the PCB with a load of 'tripad' holes and power rails so you can add extra ICs for mods?
That is a good idea. Not sure what you mean by 'tripad' holes: I think three holes connected by a long pad, like you see on prototyping boards?
(Programmed my first GAL yesterday. Got it to emulate a 74LS138.)
That is great news. This means you have figured out the required toolchain to go from logic formulas to a programmed device. I still have that learning curve ahead of me.
Paul