factor out common prelaunch code (saves 22KB)

This commit is contained in:
4am 2024-05-25 19:18:49 -04:00
parent 57f8a44d61
commit 5a99dbcc40
516 changed files with 558 additions and 561 deletions

View File

@ -237,5 +237,7 @@ ldrhi2 = $65 ; constant
; Columns and Dangerous Dave also call (de)accelerator functions directly
PrelaunchInit = $C9
_CONSTANTS_=*
}

View File

@ -5,8 +5,6 @@
!to "build/DEMO/KARATEKA#060200",plain
*=$200
!source "src/prelaunch/common.a"
!source "src/constants.a" ; no code in these
!source "src/macros.a"

View File

@ -19,9 +19,50 @@ LaunchInternal
stx RestoreStackNextTime + 1
; tell |Reenter| to restore the stack and stack pointer
ldx #(PrelaunchInitInternal_e-PrelaunchInitInternal+1)
- lda PrelaunchInitInternal-1, x
sta PrelaunchInit-1, x
dex
bne -
;X=0
txa
ldy #$18
- sta $bf57,y
dey
bne -
jmp $106 ; jump to pre-launch code
jmp PrelaunchInit
PrelaunchInitInternal
!pseudopc PrelaunchInit {
ldx #RNDSEED-1 ; wipe lower part of zero page
txa
- sta $00,x
dex
bpl -
lda #$65 ; Initialize 'random' seed. These are
sta RNDSEED ; arbitrary values. Some games like Pooyan
lda #$02 ; require these to be non-zero. Ask me
sta RNDSEED+1 ; how long that one took to debug.
+READ_ROM_NO_WRITE
jsr ROM_IN0 ; Initialize machine like a cold boot.
jsr ROM_PR0 ; Many games assume a 'clean slate' and
jsr ROM_NORMAL ; rely on zero page values set by these
sta STOREOFF ; ROM routines,
sta READMAINMEM ; e.g. Wavy Navy just prints out text via
sta WRITEMAINMEM ; $FDED and expects it to work. Having it
sta CLR80VID ; print all null characters is amusing, in
sta PRIMARYCHARSET ; a quiet way, but not really helpful.
jsr ROM_TEXT
jsr ROM_HOME
bit CLEARKBD
sei
bvc $106 ; unconditional jump to game-specific pre-launch code
!if * != $100 {
!serious "adjust PrelaunchInit to ",PrelaunchInit+$100-*
}
}
PrelaunchInitInternal_e

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15964951
!be24 15940322
!le16 5130

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15909631
!be24 15885002
!le16 5732

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15841398
!be24 15816769
!le16 4194

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15856112
!be24 15831483
!le16 4652

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15874827
!be24 15850198
!le16 5621

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15895868
!be24 15871239
!le16 6199

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15970081
!be24 15945452
!le16 410

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15970835
!be24 15946206
!le16 449

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15971284
!be24 15946655
!le16 303

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 12737616
!be24 12712987
!le16 1652

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15918003
!be24 15893374
!le16 1640

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15970567
!be24 15945938
!le16 67

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15964892
!be24 15940263
!le16 59

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15963312
!be24 15938683
!le16 1426

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15948078
!be24 15923449
!le16 557

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15915363
!be24 15890734
!le16 2640

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15920001
!be24 15895372
!le16 451

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15920452
!be24 15895823
!le16 7564

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15970491
!be24 15945862
!le16 76

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15964738
!be24 15940109
!le16 154

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15970634
!be24 15946005
!le16 201

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15948635
!be24 15924006
!le16 4334

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15952969
!be24 15928340
!le16 1733

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15954702
!be24 15930073
!le16 1181

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15955883
!be24 15931254
!le16 3394

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15959277
!be24 15934648
!le16 3429

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15962706
!be24 15938077
!le16 479

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15963185
!be24 15938556
!le16 127

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15971587
!be24 15946958
!le16 2370

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15933421
!be24 15908792
!le16 5083

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15938504
!be24 15913875
!le16 2485

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15902067
!be24 15877438
!le16 7564

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 4267008
!be24 4242432
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 4283392
!be24 4258816
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 4275200
!be24 4250624
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15831815
!be24 15807186
!le16 9583

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15845592
!be24 15820963
!le16 10520

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15860764
!be24 15836135
!le16 14063

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15880448
!be24 15855819
!le16 15420

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15919643
!be24 15895014
!le16 358

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15928016
!be24 15903387
!le16 5405

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15940989
!be24 15916360
!le16 7089

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 15827467
!be24 15802838
!le16 4348

View File

@ -5,14 +5,14 @@
!to "build/PRELAUNCH.INDEXED/A.E",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60
sta $4CFC
sta $4D23
bne +
!fill $12
*=$15A
+ jsr $BD5 ; decompress title
+DISABLE_ACCEL
jsr $800

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AERIAL",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AERONAUTS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AGENT.U.S.A",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
lda #$60
sta $36D3

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALCAZAR",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALF",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALIEN.AMBUSH",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
+NEW_RESET_VECTOR $3E0 ; overwrites $101 at end of demo cycle

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALIEN.DOWNPOUR",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALIEN.LANDER",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALIEN.MUNCHIES",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALIEN.TYPHOON",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ALIENS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ANGEL.1",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ANGRYBIRDS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ANTIAIR",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$4C

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/APE.ESCAPE",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AO",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/APPLE.INVADER",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
lda $7fe
pha

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/APPLE.PANIC",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$4C

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/APPLE.ZAP",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/APPLZ",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$4C

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AQUATRON",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #>(callback - 1)

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AB",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARCHON",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #>(callback-1)

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARCHON.II",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #>(callback-1)

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARCTIC.FOX",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #>(callback1-1)

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AA",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
+NEW_RESET_VECTOR $280

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARENA",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARGOS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARKANOID",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ARTESIANS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #<hook

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/ASCEND",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AF",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AXIS.ASSASSIN",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
lda #$60
sta $3f06

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/AZTEC",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -19,7 +19,7 @@ cheat
+ rts
++
!source "src/prelaunch/common.a"
!source "src/macros.a"
lda #$60
sta $336

View File

@ -8,7 +8,7 @@
lda $4E
pha ; save for later
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BANDITS",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BATMAN",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
lda #$60
sta $33C

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BATTLE.CRUISER",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BATTLEZONE",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BATTLOT",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BQ",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
ldx #$e0

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/B1",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/B2",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BEACH.LANDING",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
jmp skip

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BEER.RUN",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BEJEWELED",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #<callback

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BERZAP",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #<callback1

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BW",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
jmp main

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BEZOFF",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BLACK.MAGIC",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
; acceleration has problems with Fastchip
; let's remove it

View File

@ -5,7 +5,7 @@
!to "build/PRELAUNCH.INDEXED/BLITZKRIEG",plain
*=$106
!source "src/prelaunch/common.a"
!source "src/macros.a"
+ENABLE_ACCEL
lda #$60

Some files were not shown because too many files have changed in this diff Show More