diff options
| -rw-r--r-- | bigfloat.s | 3 | ||||
| -rw-r--r-- | checkmem.s | 6 | ||||
| -rw-r--r-- | newtitle.s | 9 | ||||
| -rw-r--r-- | taipan.c | 6 | 
4 files changed, 16 insertions, 8 deletions
| @@ -16,6 +16,8 @@   ; atari.inc also has a typo, PLD1P for FLD1P   FLD1P = PLD1P + ;bfstart = * +   .rodata  BIG_64K: ; 65535 (2**16-1) in float format.   .byte $42, $06, $55, $36, $00, $00 @@ -369,3 +371,4 @@ _big_cmp:   tax      ; sign extension, grr.   rts + ;.out .sprintf("bigfloat.s code is %d bytes", *-bfstart) @@ -101,11 +101,11 @@ gr_0:   ; save display list pointer where taipan.c's main() can find it.   ; this is done ASAP after the CIO call, to avoid saving the DL   ; after SpartaDOS's TDLINE has had a chance to modify it. - ; we use FR1 because the menu code in newtitle.s trashes FR0. + ; we use FRE because the menu code in newtitle.s trashes FR0 and FR1.   lda SDLSTL - sta FR1 + sta FRE   lda SDLSTH - sta FR1+1 + sta FRE+1   rts @@ -285,11 +285,16 @@ start:   ; still needs to be done here for the cart.   .ifdef CART_TARGET   lda SDLSTL - sta FR1 + sta FRE   lda SDLSTH - sta FR1+1 + sta FRE+1   .endif + ; helpshowing is FR1, it's being messed with by the checkmem + ; code so we need to initialize it. + lda #0 + sta helpshowing +   ; setup our display list   lda #<dlist   sta SDLSTL @@ -3345,12 +3345,12 @@ hangx: goto hangx;  int main(void) {     char choice; -	/* newtitle.s saves the OS's display list pointer in FR0, +	/* newtitle.s saves the OS's display list pointer in FRE,  		sets up its own DL, and uses narrow playfield mode. First  		thing we do it put things back the way they were.  		FONT_ADDR is set on the command line (see the Makefile). */ -	POKE(560, PEEK(0xe0)); // restore the -	POKE(561, PEEK(0xe1)); // display list +	POKE(560, PEEK(0xda)); // restore the +	POKE(561, PEEK(0xdb)); // display list  	POKE(756, FONT_ADDR / 256); // use our custom font  	POKE(731, 1);    // disable keyclick on XL/XE (does nothing on 400/800)  	POKE(559, 34);        // turn on the screen (normal playfield) | 
