Jump to content
  • entries
    657
  • comments
    2,692
  • views
    898,637

Alert! Alert!


SpiceWare

850 views

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
  • Like 4

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...