Re: ROM Dump of Amiga Keyboard controller

From: Gerrit Heitsch <gerrit_at_laosinh.s.bawue.de>
Date: Tue, 10 Jun 2014 21:05:26 +0200
Message-ID: <539756F6.4000309@laosinh.s.bawue.de>
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 list
Received on 2014-06-10 20:00:04

Archive generated by hypermail 2.2.0.