[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

I wonder if... - Arkanoid single-load/128K



OK, I'm looking at Arkanoid. No idea if it has to hit the disk for anything but level data.

Analyzing ARKEDIT, it looks like Arkanoid's 32 main levels are stored one to a sector (like Lode Runner), but only use every other sector on disk? If so, then the data for the levels only takes 8K...

*If* that's the only thing the game hits the drive for...

1. At startup, DC00-DDFF on both banks, and E000-EDFF are used. The last three words of the ramcard point to $0200, which when hit with the LC active, resets the game.

2. The 0700-07FF page does not appear to be touched. 0D00-0FFF are not initially used either.

3. Both HGR screens can be used as holding tanks.

4. Initially, at least, A800-A8FF is zeroed.

5. A fragment of source code is found from A9D7-AEFF.

6. AF00-AFFF is also initially zeroed.

7. BD00-BDFF is initially untouched.

So I suppose a relocator for the base code could move:

   0200 <- 0D00
   0300 <- 0E00
   0400 <- 0F00
   0500 <- A800
   0600 <- AF00
   DC00' < AA00 (alternate page)
   DD00' < AB00
   DC00 <- AC00
   DD00 <- AD00

   E000.EFFF <- 2000
   Relocator <- 3000.3FFF
   Level data <- 4000 (leaving extra room)

And then the level data, I suppose, could be stored in the //e's memory. I don't know if this would work in practice, but if it could, the data would then locate from 07FD-BFFF, and then be compressed to a single file.

If it uses more, I can only hope that whatever is left can be stuffed in holes and then paged in and out of the auxmem...

-uso.