mirror of
https://github.com/a2-4am/4cade.git
synced 2024-12-30 18:30:39 +00:00
FastChip MB everywhere
This commit is contained in:
parent
06e8f07e48
commit
6149eac1e8
@ -24,9 +24,38 @@
|
|||||||
lda #$a5
|
lda #$a5
|
||||||
sta $A22 ; patch - don't decrease lives
|
sta $A22 ; patch - don't decrease lives
|
||||||
+
|
+
|
||||||
|
lda #$4C
|
||||||
|
sta $8FFF
|
||||||
|
sta $9010
|
||||||
|
lda #<callback1
|
||||||
|
sta $9000
|
||||||
|
lda #>callback1
|
||||||
|
sta $9001
|
||||||
|
lda #<callback2
|
||||||
|
sta $9011
|
||||||
|
lda #>callback2
|
||||||
|
sta $9012
|
||||||
|
lda #$C5
|
||||||
|
sta $902A
|
||||||
+DISABLE_ACCEL
|
+DISABLE_ACCEL
|
||||||
jmp $845
|
jmp $845
|
||||||
|
|
||||||
|
callback1
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
cmp #2
|
||||||
|
bcc +
|
||||||
|
- jmp $9014
|
||||||
|
+ ldy #$84
|
||||||
|
jmp $9003
|
||||||
|
|
||||||
|
callback2
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
cmp #2
|
||||||
|
bcs -
|
||||||
|
jmp $902C
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,10 @@
|
|||||||
pha
|
pha
|
||||||
lda #$60
|
lda #$60
|
||||||
sta $9462
|
sta $9462
|
||||||
|
lda #<callback1
|
||||||
|
sta $950E
|
||||||
|
lda #>callback1
|
||||||
|
sta $950F
|
||||||
jsr $9442
|
jsr $9442
|
||||||
pla
|
pla
|
||||||
beq +
|
beq +
|
||||||
@ -26,6 +30,23 @@
|
|||||||
inc $9d ; game relies on it
|
inc $9d ; game relies on it
|
||||||
jmp $9600
|
jmp $9600
|
||||||
|
|
||||||
|
callback1
|
||||||
|
lda #$4C
|
||||||
|
sta $D7D9
|
||||||
|
lda #<callback2
|
||||||
|
sta $D7DA
|
||||||
|
lda #>callback2
|
||||||
|
sta $D7DB
|
||||||
|
jmp $D7C5
|
||||||
|
|
||||||
|
callback2
|
||||||
|
sec
|
||||||
|
sbc #7
|
||||||
|
cmp #2
|
||||||
|
bcc +
|
||||||
|
jmp $D7E7
|
||||||
|
+ jmp $D7DD
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,10 @@
|
|||||||
pha
|
pha
|
||||||
lda #$60
|
lda #$60
|
||||||
sta $9462
|
sta $9462
|
||||||
|
lda #<callback1
|
||||||
|
sta $950E
|
||||||
|
lda #>callback1
|
||||||
|
sta $950F
|
||||||
jsr $9442
|
jsr $9442
|
||||||
pla
|
pla
|
||||||
beq +
|
beq +
|
||||||
@ -26,6 +30,23 @@
|
|||||||
inc $9d ; game relies on it
|
inc $9d ; game relies on it
|
||||||
jmp $9600
|
jmp $9600
|
||||||
|
|
||||||
|
callback1
|
||||||
|
lda #$4C
|
||||||
|
sta $D7D9
|
||||||
|
lda #<callback2
|
||||||
|
sta $D7DA
|
||||||
|
lda #>callback2
|
||||||
|
sta $D7DB
|
||||||
|
jmp $D7C5
|
||||||
|
|
||||||
|
callback2
|
||||||
|
sec
|
||||||
|
sbc #7
|
||||||
|
cmp #2
|
||||||
|
bcc +
|
||||||
|
jmp $D7E7
|
||||||
|
+ jmp $D7DD
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
}
|
}
|
||||||
|
@ -18,9 +18,35 @@
|
|||||||
lda #$ad
|
lda #$ad
|
||||||
sta $7FD5 ; patch - don't decrease lives
|
sta $7FD5 ; patch - don't decrease lives
|
||||||
+
|
+
|
||||||
|
lda #$4C
|
||||||
|
sta $AF79
|
||||||
|
sta $AF8C
|
||||||
|
lda #<callback1
|
||||||
|
sta $AF7A
|
||||||
|
lda #>callback1
|
||||||
|
sta $AF7B
|
||||||
|
lda #<callback2
|
||||||
|
sta $AF8D
|
||||||
|
lda #>callback2
|
||||||
|
sta $AF8E
|
||||||
+DISABLE_ACCEL
|
+DISABLE_ACCEL
|
||||||
jmp $3FFD
|
jmp $3FFD
|
||||||
|
|
||||||
|
callback1
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
cmp #2
|
||||||
|
bcc +
|
||||||
|
- jmp $AF93
|
||||||
|
+ jmp $AF7D
|
||||||
|
|
||||||
|
callback2
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
cmp #2
|
||||||
|
bcs -
|
||||||
|
jmp $AF90
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;license:MIT
|
;license:MIT
|
||||||
;(c) 2019 by 4am
|
;(c) 2019-2020 by 4am, qkumba
|
||||||
|
|
||||||
!cpu 6502
|
!cpu 6502
|
||||||
!to "build/PRELAUNCH/PITFALL.II",plain
|
!to "build/PRELAUNCH/PITFALL.II",plain
|
||||||
@ -12,6 +12,17 @@
|
|||||||
sta $3D34
|
sta $3D34
|
||||||
jsr $0800 ; decompress
|
jsr $0800 ; decompress
|
||||||
+RESET_VECTOR reset
|
+RESET_VECTOR reset
|
||||||
|
lda #$4C
|
||||||
|
sta $2DF5
|
||||||
|
sta $2E06
|
||||||
|
lda #<callback1
|
||||||
|
sta $2DF6
|
||||||
|
lda #>callback1
|
||||||
|
sta $2DF7
|
||||||
|
lda #<callback2
|
||||||
|
sta $2E07
|
||||||
|
lda #>callback2
|
||||||
|
sta $2E08
|
||||||
+DISABLE_ACCEL
|
+DISABLE_ACCEL
|
||||||
jmp $6000 ;612A copies pages 2E & 2F to AE & AF for final location
|
jmp $6000 ;612A copies pages 2E & 2F to AE & AF for final location
|
||||||
|
|
||||||
@ -19,6 +30,21 @@ reset
|
|||||||
+READ_RAM2_NO_WRITE
|
+READ_RAM2_NO_WRITE
|
||||||
jmp ($FFFC)
|
jmp ($FFFC)
|
||||||
|
|
||||||
|
callback1
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
cmp #2
|
||||||
|
bcc +
|
||||||
|
- jmp $AE0A
|
||||||
|
+ jmp $ADF9
|
||||||
|
|
||||||
|
callback2
|
||||||
|
sec
|
||||||
|
sbc #8
|
||||||
|
cmp #2
|
||||||
|
bcs -
|
||||||
|
jmp $AE21
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
}
|
}
|
||||||
|
@ -7,36 +7,27 @@
|
|||||||
|
|
||||||
!source "src/prelaunch/common.a"
|
!source "src/prelaunch/common.a"
|
||||||
|
|
||||||
+ENABLE_ACCEL
|
+READ_RAM2_WRITE_RAM2
|
||||||
lda #$60
|
jsr EnableAccelerator
|
||||||
sta $A37
|
lda #3
|
||||||
jsr $800 ; find and load "DOS"
|
sta $56 ; ldrhi
|
||||||
ldx #$60
|
lda $D401
|
||||||
stx $BFE5
|
pha
|
||||||
jsr $BFC8
|
lda $D403
|
||||||
lda #$4C
|
pha
|
||||||
sta $4047
|
lda #<rraiders_mb
|
||||||
+GET_MOCKINGBOARD_SPEECH
|
ldy #>rraiders_mb
|
||||||
bcs +
|
jsr LoadFileDirect
|
||||||
lda #$60
|
pla
|
||||||
sta $40FB ; no speech chip, pretend no MB
|
sta $D403
|
||||||
+
|
pla
|
||||||
+DISABLE_ACCEL ; otherwise Mockingboard detection fails
|
sta $D401
|
||||||
lda #0
|
|
||||||
jsr $4000
|
|
||||||
lda #<reset
|
|
||||||
sta $3F2
|
|
||||||
sta $FFFC
|
|
||||||
lda #>reset
|
|
||||||
sta $FFFD
|
|
||||||
lda #$4C
|
|
||||||
sta $BFE5
|
|
||||||
+READ_RAM1_WRITE_RAM1 ; fix crash on //c+
|
|
||||||
jmp $404A
|
|
||||||
|
|
||||||
reset
|
|
||||||
+READ_ROM_NO_WRITE
|
+READ_ROM_NO_WRITE
|
||||||
jmp $FAA6
|
jmp $300
|
||||||
|
|
||||||
|
rraiders_mb
|
||||||
|
!byte 25
|
||||||
|
!text "PRELAUNCH/RESQ.RAIDERS.MB"
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
!error "code is too large, ends at ", *
|
!error "code is too large, ends at ", *
|
||||||
|
71
src/prelaunch/resq.raiders.mb.a
Normal file
71
src/prelaunch/resq.raiders.mb.a
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
;license:MIT
|
||||||
|
;(c) 2020 by qkumba
|
||||||
|
|
||||||
|
!cpu 6502
|
||||||
|
!to "build/PRELAUNCH/RESQ.RAIDERS.MB",plain
|
||||||
|
*=$300
|
||||||
|
|
||||||
|
!source "src/constants.a" ; no code in these
|
||||||
|
!source "src/macros.a"
|
||||||
|
|
||||||
|
lda #$60
|
||||||
|
sta $A37
|
||||||
|
jsr $800 ; find and load "DOS"
|
||||||
|
ldx #$60
|
||||||
|
stx $BFE5
|
||||||
|
jsr $BFC8
|
||||||
|
lda #$4C
|
||||||
|
sta $4047
|
||||||
|
+GET_MOCKINGBOARD_SPEECH
|
||||||
|
bcs +
|
||||||
|
lda #$60
|
||||||
|
sta $40FB ; no speech chip, pretend no MB
|
||||||
|
+
|
||||||
|
lda #$60
|
||||||
|
sta $4024
|
||||||
|
+DISABLE_ACCEL ; otherwise Mockingboard detection fails
|
||||||
|
lda #0
|
||||||
|
jsr $4000
|
||||||
|
lda #$20
|
||||||
|
sta $4024
|
||||||
|
lda #$4C
|
||||||
|
sta $4110
|
||||||
|
sta $411A
|
||||||
|
lda #<callback1
|
||||||
|
sta $4111
|
||||||
|
lda #>callback1
|
||||||
|
sta $4112
|
||||||
|
lda #<callback2
|
||||||
|
sta $411B
|
||||||
|
lda #>callback2
|
||||||
|
sta $411C
|
||||||
|
jsr $4024
|
||||||
|
|
||||||
|
+READ_RAM1_WRITE_RAM1 ; fix crash on //c+
|
||||||
|
lda #<reset
|
||||||
|
sta $3F2
|
||||||
|
sta $FFFC
|
||||||
|
lda #>reset
|
||||||
|
sta $FFFD
|
||||||
|
lda #$4C
|
||||||
|
sta $BFE5
|
||||||
|
jmp $404A
|
||||||
|
|
||||||
|
reset
|
||||||
|
+READ_ROM_NO_WRITE
|
||||||
|
jmp $FAA6
|
||||||
|
|
||||||
|
callback1
|
||||||
|
sec
|
||||||
|
sbc #5
|
||||||
|
cmp #2
|
||||||
|
bcc +
|
||||||
|
- jmp $4144
|
||||||
|
+ jmp $4114
|
||||||
|
|
||||||
|
callback2
|
||||||
|
sec
|
||||||
|
sbc #4
|
||||||
|
cmp #3
|
||||||
|
bcs -
|
||||||
|
jmp $411E
|
@ -1,5 +1,5 @@
|
|||||||
;license:MIT
|
;license:MIT
|
||||||
;(c) 2019 by qkumba/Frank M.
|
;(c) 2019-2020 by qkumba/Frank M.
|
||||||
|
|
||||||
!cpu 6502
|
!cpu 6502
|
||||||
!to "build/PRELAUNCH/SKYFOX",plain
|
!to "build/PRELAUNCH/SKYFOX",plain
|
||||||
@ -38,6 +38,7 @@
|
|||||||
jmp $67BD
|
jmp $67BD
|
||||||
|
|
||||||
callback
|
callback
|
||||||
|
sec
|
||||||
sbc #8
|
sbc #8
|
||||||
cmp #2
|
cmp #2
|
||||||
rts
|
rts
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;license:MIT
|
;license:MIT
|
||||||
;(c) 2019 by 4am
|
;(c) 2019-2020 by 4am, qkumba
|
||||||
|
|
||||||
!cpu 6502
|
!cpu 6502
|
||||||
!to "build/PRELAUNCH/SPY.STRIKES.BAK",plain
|
!to "build/PRELAUNCH/SPY.STRIKES.BAK",plain
|
||||||
@ -11,7 +11,8 @@
|
|||||||
lda #$60
|
lda #$60
|
||||||
sta $0849
|
sta $0849
|
||||||
jsr $0800 ; decompress
|
jsr $0800 ; decompress
|
||||||
+GET_MACHINE_STATUS
|
+READ_RAM2_NO_WRITE
|
||||||
|
lda MachineStatus
|
||||||
and #CHEATS_ENABLED
|
and #CHEATS_ENABLED
|
||||||
beq +
|
beq +
|
||||||
; lives in $17
|
; lives in $17
|
||||||
@ -19,7 +20,19 @@
|
|||||||
sta $6AE7 ; patch - don't decrease lives
|
sta $6AE7 ; patch - don't decrease lives
|
||||||
sta $87EE ; patch - don't increase lives
|
sta $87EE ; patch - don't increase lives
|
||||||
+
|
+
|
||||||
+DISABLE_ACCEL
|
lda MockingboardStuff
|
||||||
|
asl
|
||||||
|
bpl skipmb
|
||||||
|
lsr
|
||||||
|
and #7
|
||||||
|
ora #$30
|
||||||
|
sta $8F33
|
||||||
|
lda #3
|
||||||
|
sta $8FEC
|
||||||
|
|
||||||
|
skipmb
|
||||||
|
jsr DisableAccelerator
|
||||||
|
+READ_ROM_NO_WRITE
|
||||||
jmp $6000
|
jmp $6000
|
||||||
|
|
||||||
!if * > $1C0 {
|
!if * > $1C0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user