On Thu, Dec 22, 2016 at 3:54 AM, Jim Brain <brain@jbrain.com> wrote: > Though it would seem otherwise, I'm not a fan of drilling holes in cases to > install KERNAL switches. On the other hand, I'm not a huge fan of putting > lots of test clip wires inside my 64 either. > > It seems like those are the only two options. I looked at the switchless > ROM circuits (basically, a '74 hooked up to RESET as CLK and RESTORE as D, > and I thought a small uC or GAL might also work. Still, it requires 2 wires. > But, then I wondered if one could have the 64 or 128 act as the uC, and make > the ROM switch. > > On boot, have the ROM set to bank 2 (for example). a special KERNAL would > jump to $f000, checking for a key. If found, it would jump to one routine > in the ROM ($f100), which would then start the machine. If not found, jump > to another routine ($f200), which would also start the machine. A circuit > on the PCB would detect a fetch to address $fffe, seting bank=2. It would > then watch for bit 8 or 9 in the address. If bit 8 active, then set bank=1. > If bit 9, set bank=0. > > Does the idea have merit? Or, am I missing something? This means that a random fetch at $FFFE by a program would bring you back to the switching ROM mechanism... It would only happen on purpose I think, but still would change the behaviour of your machine with respect to a "stock" or switch(less) one. How do you know the fetch to $FFFE is because of /RST or just because of LDA $FFFE? Think of a few PEEKs in basic: "hey, let's see what's the RST vector of this 6502 machine". Also, the bank switching circuit would probably need phi0 signal to switch the bank at the right time (but I should really first make a little tentative schematic, then run some simulation to be sure). Or did I miss something in this mechanism? F Message was sent through the cbm-hackers mailing listReceived on 2016-12-22 09:00:03
Archive generated by hypermail 2.2.0.