Re: ROM Dump of Amiga Keyboard controller

From: silverdr_at_wfmh.org.pl
Date: Fri, 18 Jul 2014 20:36:28 +0200
Message-ID: <etPan.53c9692c.643c9869.1855@szaman.lan>
> > http://e4aws.silverdr.com/hard/6500_1/
> >
> > It's not yet linked - I find it at some 80% ready and would appreciate comments / corrections.  
> Especially the part:
> >
> > http://e4aws.silverdr.com/hard/6500_1/index.php#technical_details
> >
> > I would like more details on why it was so difficult to do it "by the book" and upload the  
> dumper to RAM, etc.
> I can provide that (sorry, I meant to respond to your page, but it's
> been a bit busy)
>  
> To be blunt, I didn't give serious consideration to trying this out
> initially, because I felt the likelihood that I could:
>  
> a) get code to run on the 6502
> b) get it to store data into RAM
> c) get the 6502 to start running my code
> d) get the 6502 code running from RAM to output data to me
>  
> had a probability hovering around 0. That is a lot of "planets" to
> align.
[...] 
> But, Greg King's post suggesting that one need not write a program to
> run from RAM, but simply one that ran, period, removed 2 of the 4 steps
> from the equation, and then I thought I had a chance.
>  
> I felt as though there were already enough variables, and removing 2 of
> them would increase the chances for success.

So, what I implied was actually quite accurate ;-)

> However, I went back tonight and tried it the "by the book" way. It
> does work, and it works well. I fed this into RAM:

Well - what I was wondering about was: if we can make something to run, why shouldn't we actually be able to run the "loader" to load the "dumper" to RAM and do the rest of the job in one go? But - OK, you explained that part clearly.

> lda #0
> sta $82
> loop2: ldx #00
> loop: lda $100,x
> sta $80
> lda #$ff
> sta $82
> lda #$00
> sta $82
> inx
> bne loop
> inc $08
> lda $08
> cmp #$10
> bne loop2
> loop3: beq loop3

As Gerrit mentioned - Using Y would look better than self-mod but this is academic here.

> Doing this:
>  
> while(1) {
[...]
> while(PINC);
> }

You are kindly invited to add this to the repo or let me know if you want to "pimp it up" a bit before doing it.

--  
SD!

       Message was sent through the cbm-hackers mailing list
Received on 2014-07-18 19:00:43

Archive generated by hypermail 2.2.0.