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

Re: Mr. Do?



On Tuesday, November 6, 2012 10:50:36 AM UTC-6, Steve Nickolas wrote:
> Replying to myself as I didn't think to do this first.
> 
> 
> 
> It looks like there's some sort of mini-RWTS at 0200, but it doesn't seem 
> 
> to load level 1, at least.
> 
> 
> 
> -uso.

So this is using a variation of The Cloak's Black Bag RWTS (aka BBRWTS; I think I have the source code for this, as we used it for various things.).  Yes, $200 is the entry.  The part you're likely most interested in though starts at $2AE.  This loads the Track, Sector, buffer_hi and sector count values from a small list (in that order) and stores them in the zero page prior to calling the RWTS (whose entry is at $274; the SEEK_ABS is at $3A6).

There are seven sets in the list.  The table is a little different, in that all the tracks are listed first, then the sectors, then buffer_hi, and then the counts (rather than in groups of four).

Track $20, sector $0C, buffer $BF00, count #$60
Track $1A, sector $0C, buffer $A500, count #$26
Track $18, sector $06, buffer $A200, count #$03
Track $16, sector $0E, buffer $B400, count #$35
Track $22, sector $0F, buffer $1900, count #$0A
Track $22, sector $05, buffer $1F00, count #$19
Track $18, sector $03, buffer $B400, count #$15

Everything is read in descending order from the starting track/sector/buffer.

$200 is called with the X-reg loaded with which of the seven to load (one-based; it's decremented before use as zero-based with the table). $263 is the prep code for checking which from the list to load.

Trivia: Mr. Do! has one secret key from the DataSoft title page.  Pressing Ctrl-V will cause a 1 to be displayed in the upper left corner (I'd guess that's a version number).  The Cloak also put a secret key into this crack.  Pressing space bar while playing, and then entering 'SECONDS' provides a cheat.

]HR