[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
File version of Nibbler from Datasoft
- Subject: File version of Nibbler from Datasoft
- From: Hot Rod <hotrod.apple2@gmail.com>
- Date: Thu, 9 Aug 2012 21:45:47 -0700 (PDT)
- Complaints-to: groups-abuse@google.com
- Injection-info: glegroupsg2000goo.googlegroups.com; posting-host=75.73.130.159; posting-account=NsBJFwoAAACliuoc2Cfykslw7D5NuJ4-
- Newsgroups: comp.sys.apple2
- Organization: http://groups.google.com
- User-agent: G2/1.0
Greetings,
While cross-referencing some things with what's on Asimov, I noticed there were a few .nib images scattered among the .dsk images there. That prompted me to look for .nib images that lacked corresponding .dsk images, thinking that perhaps there were some uncracked ones. I did see a few, but one kinda stood out as an oddity - Nibbler. There was this one lone .nib image for it, and no corresponding .dsk or file version (that I could find anyway). There is a file-based Nibbler up there, but note that it is a different game completely, and not the Nibbler from Datasoft for which there is this .nib image.
Being that it was a Datasoft game, and from the mid-80's, I also checked what I had imaged from my own collection (still sorting through that). I don't think I had it. I'm sure this must have floated around, but the lack of a file-based version seems odd.
So, I thought a file crack as a retro project might be the thing to do. It's now uploaded to Asimov.
Since the .nib image is also available, I won't go into full detail on the boot trace and crack, since others may want to explore it someday. But I will include my notes, that don't divulge that part. It's not a terribly difficult boot trace, but does have a couple interesting parts to it.
I did take a few extra steps and compact the file version a bit, beyond how the game loads, just to save some more space. Old habit.
My notes follow.
]HR
------------------
Datasoft's Nibbler File Crack Notes
There are three boot sectors on track zero (used for boot0, boot1). Boot1 has modified address epilogue of CC AA.
The boot trace is mildly interesting. I leave that as an exercise to the reader. :)
Game loads 12 pages worth of data each from 12 tracks ($1-$C), for 144 total pages.
The tracks are 4+4 encoded, but with a three nibble address marker (F3 FB F9) and two nibble data marker (DE D7), one set per track (so the whole track is one big 'sector'). (This allows 12 'sectors' of data per track using 4+4 encoding instead of 10 sectors using separate sectors.)
Game loads from $900 through $98FF:
$0900-$19FF is used (although $900-$90D are garbage; can start at $90E)
$1A00-$1FFF is unused
$2000-$3FFF is hi-res title screen
$4000-$5FFF is game play screen
$6000-$63FF is text title screen
$6400-$6FFF is unused
$7000-$89FF is shape table data( although tail end is unused)
$8A00-$98FF is unused
Tracks $11-$22 are actually normal DOS 3.3 format, and there are two files on the catalog track (HELLO and BOB). These files are empty, and the rest of the sectors are all blank.
Packed pic1: $4000-$4F17 (L $F18)
Packed pic2: $4000-$47E1 (L $7E2)
(total packed length: $16FA)
So the plan is:
relocate the text page to $1A00-$1DFF
place packed pic2 at $1E00-$25E1
place packed pic1 at $2600-$3518
place shape table at $3600-$4FFF
Will need to put the unpack code at $800 along with the startup, so 73 sectors total. (Not quite enough space to tuck the L$7C unpack code elsewhere without having to move it.)
Startup sequence:
- display title text from $1A00 (modify code to use new location, don't move it)
- do this to display this text while the other memory moves/unpacking are running
- JSR $16B8 ought to do it
- relocate shape table to $7000
- unpack pic2 to $4000
- move pic1 data to $6000
- unpack pic1 data to $2000
- start game at $90E
New start is at $7FD, L$4803
Unpack is at $800-$87B
Startup sequence is at $87C, then jumps to $90E to hand off to game