diff options
| -rw-r--r-- | DOSes.txt | 6 | ||||
| -rw-r--r-- | newtitle.s | 19 | ||||
| -rw-r--r-- | titlecompression.txt | 7 | 
3 files changed, 22 insertions, 10 deletions
| @@ -41,11 +41,13 @@ Tested on actual hardware:  - SIDE2: success (older Taipan build though, need to get results for latest)  - APE loader: success  - DOS XL 2.30: success -- SpartaDOS 3.2dx: fails to load. This is 3.2d patched for the XF551 drive. -- SpartaDOS 3.2g/3.2gx with MIO: failure.  - Micro SpartaDOS 2.2 and 4.6: success.  - RealDOS build 0032: success (even with MIO active and TDLINE running!)  - Atarimax flash cart EXE loader: success +- SpartaDOS 3.2dx: success when loading from floppy, hard disk, or +                   MIO RAMdisk. Fails when attempting to load from APE +                   emulated drive under this DOS (which I suspect isn't +                   Taipan's fault).  Tested on emulators: @@ -69,7 +69,7 @@ colorchoices:   .byte $c0,$10,$00  colorcount = (*-colorchoices)-1  textchoices: - .byte $0c,$0e,$0a + .byte $08,$0a,$0c,$0e  textcount = (*-textchoices)-1  wait1jiffy: @@ -120,11 +120,19 @@ bottomscanlines = (totalscanlines - topscanlines)    .word arg   .endmacro - ; display list here + ; display list here. slightly different display for the xex and + ; cart versions: the cart has an extra blank scanline just before the + ; menu GR.0 line, but one less blank at the top (so it comes out the same). + ; this is really nitpicking, but why not? +  dlist:   dlbyte $70 ; 24 scanlines of blanks   dlbyte $70 + .ifdef CART_TARGET + dlbyte $60 + .else   dlbyte $70 + .endif   dl3byte $0f | $40, screendata ; LMS, BASIC mode 8   .repeat topscanlines - 1 @@ -138,14 +146,15 @@ dlist:   .ifdef CART_TARGET    dl3byte $01, dl_ram ; DL is mainly in ROM, jump to RAM (extra scanline)   .else + ;dlbyte $00 ; extra blank scanline, to match the cart version (removed by request)   dl3byte $02 | $40, version ; LMS, 1 line of GR.0 for the version  help_lms = * - 2   dl3byte $41, dlist ; JVB, jump & wait for vblank   .endif - .out .sprintf("dl start $%x, end $%x, size %d", dlist, *, (* - dlist) + 1) + .out .sprintf("dl start $%x, end $%x, size %d", dlist, *-1, (* - dlist) + 1) - .out .sprintf("C code can load at $%x", * + 1) + .out .sprintf("C code can load at $%x", *)  helpshowing = FR1 @@ -276,7 +285,7 @@ start:   sta CH   ldx #0 ; X = index into bg color choices - ldy #0 ; Y = index into text color choices + ldy #textcount ; Y = index into text color choices   ; wait for user to press a key  wait4key: diff --git a/titlecompression.txt b/titlecompression.txt index 456ddf2..6a17f56 100644 --- a/titlecompression.txt +++ b/titlecompression.txt @@ -1,6 +1,7 @@ -The title screen uses a crude form of compression, which I'll call ZRLE -(zero-run length encoding). It's a special-purpose compression scheme -I came up with, to meet the following requirements: +For the .xex build (but not the cartridge), the title screen uses +a crude form of compression, which I'll call ZRLE (zero-run length +encoding). It's a special-purpose compression scheme I came up with, +to meet the following requirements:  - Must be able to compress the Taipan title screen by at least 33%    (66% compression ratio, where the decompress code is counted as part | 
