On 06/10/2014 08:41 PM, Rainer Buchty wrote: > On Tue, 10 Jun 2014, Gerrit Heitsch wrote: > >> The only way I can see to start that program is to feed the necessary >> JMP instruction and then return RESET to +5V at the right moment after >> supplying the last byte. The catch is the meaning of 'the right moment'. > > What if the test program would do this by itself? > > After all, the 6500/1 would be running in a dedicated test circuitry > which resets the thing, then goes to +10V and taps in the test program > (probably as a series of LDA / STA sequences). Then comes the final jump > to address $0000 where the first commands are setting an output port pin > so that reset falls down to +5V and now the ROM can e.g. be dumped via > the serial output. The problem is, as long as RESET is +10V, the datasheet claims ALL fetches are done via Port PC. So you cannot run a program from RAM until you return RESET to +5V. Catch-22... You'll have to do this by external logik. One idea is to place the last byte of the JMP at the end of a page so that when the counter increments beyond it an address bit that was zero all the time before now becomes 1 and that stops the counter and turns off the +10V for RESET. You would have to pad the loader with $EA at the beginning, but since you don't have to deal with addresses and can ignore the program counter, only have feed the port the right byte at the right time, you can have as many $EA as you like at the beginning. Even the reset vector can be $EAEA without causing trouble. Gerrit Message was sent through the cbm-hackers mailing listReceived on 2014-06-10 20:00:04
Archive generated by hypermail 2.2.0.