rridge@csclub.uwaterloo.ca (Ross Ridge) writes:
> So presumably copy57.5K switches to the memory map where everything is
> RAM and does the copy using the remaining 6.5K of RAM to store the code
> that does the copying.
Yes, presumably. But it's just a little bit hard to do I/O if you switch
I/O out of your memory space so that's not the thing to do, exactly. One
could use RAM to RAM copy to fill the RAM under I/O. But I wonder,
Pekka's routine was just 40 bytes using ROM routines so 6.5K (or 5.5K
since the program was actually copy 58.5k) RAM seems excessive. The
whole operating system is just 8K. So maybe the program skipped the I/O
area?
The other question is, what all do you need to take care of if you're
going to get rid of the kernal and still be able to load stuff into RAM
below and also get the kernal back later? But with a quick look it looks
like disabling interrupts is enough.
BTW, I think I found the program, it was COPY 58.5K and it's on a disk
image at
http://www.commodoreserver.com/PublicDiskDetails.asp?DID=BABE16C933E24BE9A89B87
43E4F56D2C
Maybe I'm going to try and figure out exactly how it works. Looks like
it's 11 blocks so 2.75K but it might be compressed.
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|