Things are getting back to normal after Harvey. I still need to put my office back together, but decided that can wait until after PRGE if need be.
- bunch of optimizations to free up ROM space (about 500 bytes)
- cd-w made a slight revision to the CDF driver's 2600/7800 detection logic
- added PAUSE support, toggle TV TYPE (2600) or hit PAUSE (7800). Same to unpause (or press & release FIRE).
- Updated sound effects
- "Alert!" sample added. The game repeats it for "Alert! Alert!" in order to save ROM space. Need more work on when to trigger.
When flashed directly to the Harmony or Melody the CDF driver overwrites zero page RAM, so it handles console type detection and stores the results in ZP RAM $80. However, if the game is loaded from the Harmony menu then the traditional check of ZP RAM $D0 and $D1 needs to be done.
Start:; normally we would use CLEAN_START, but we want to detect console; detection logic is to check the values in ZP RAM locations $D0 and $D1;; if $D0 contains $2C and $D1 contains $A9 then; system = 7800 // game was loaded from Harmony menu on a 7800; else if both contain $00 then; system = ZP RAM $80 // game was flashed to Harmony/Melody so CDF; // driver checked $D0 and $D1 for us; else; system = 2600 // game was loaded from Harmony menu on a 2600 ; start of console detection routine sei cld ldy #0 ; assume system = 2600 ldx $d0 beq .confirmFlashed ; if $00 then game might be flashed on Harmony/Melody cpx #$2c bne .is2600 ; if not $2C then loaded via Harmony Menu on 2600 ldx $d1 cpx #$a9 ; <-- evil7800 note - this A9 is OK as FastFetch is not active bne .is2600 dey ; 7800: y=$FF bne .done ; this will always branch .confirmFlashed ldx $d1 bne .is2600 ; if not $00 then loaded via Harmony Menu on 2600 ldy $80 ; .is2600 ; 2600: y == 0.done ; 7800: y != 0; end of console detection routine
At the moment there's 287 bytes free of ROM.
For Harmony or Stella (requires Stella 5.0.2 or newer)
draconian_20170910.bin
Source
draconian_20170910.zip
- 4
0 Comments
Recommended Comments
There are no comments to display.