mirror of
https://github.com/a2-4am/4cade.git
synced 2024-06-01 23:41:39 +00:00
add 64K check
This commit is contained in:
parent
7cc325e35b
commit
6d7a8158f3
18
src/4cade.a
18
src/4cade.a
|
@ -5,10 +5,24 @@
|
||||||
!source "src/constants.a"
|
!source "src/constants.a"
|
||||||
!source "src/macros.a"
|
!source "src/macros.a"
|
||||||
|
|
||||||
|
jsr Has64K ; check for 64K (required)
|
||||||
|
bcc @found64K
|
||||||
|
jsr $FB2F
|
||||||
|
jsr $FC58
|
||||||
|
ldy #@no64Klen
|
||||||
|
- lda @s_no64K,y
|
||||||
|
sta $6B6,y
|
||||||
|
dey
|
||||||
|
bpl -
|
||||||
|
@hang bmi @hang
|
||||||
|
@s_no64K !raw "REQUIRES 64K"
|
||||||
|
@no64Klen=*-@s_no64K
|
||||||
|
|
||||||
|
@found64K
|
||||||
jsr DisableAccelerator ; set to 1 MHz
|
jsr DisableAccelerator ; set to 1 MHz
|
||||||
jsr Has128K ; check for 128K (64K is OK, we just filter out some games)
|
jsr Has128K ; check for 128K (absence is OK, we just filter out some games)
|
||||||
ror MachineStatus
|
ror MachineStatus
|
||||||
jsr HasJoystick ; check for joystick (keyboard-only is OK, we just filter out some games)
|
jsr HasJoystick ; check for joystick (absence is OK, we just filter out some games)
|
||||||
ror MachineStatus
|
ror MachineStatus
|
||||||
|
|
||||||
lda LCBANK1WRITE ; read ROM / write LC bank 1
|
lda LCBANK1WRITE ; read ROM / write LC bank 1
|
||||||
|
|
|
@ -1,3 +1,30 @@
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
; Has64K
|
||||||
|
; Checks whether computer has functioning language card (64K)
|
||||||
|
;
|
||||||
|
; in: none
|
||||||
|
; out: C set if 64K detected
|
||||||
|
; C clear if 64K not detected
|
||||||
|
; all other flags and registers clobbered
|
||||||
|
; ROM in memory (not LC RAM bank)
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
Has64K
|
||||||
|
lda LCBANK1 ; read/write LC RAM bank 1
|
||||||
|
lda LCBANK1
|
||||||
|
lda #$AA ; test #1 for $D0 page
|
||||||
|
sta $D000
|
||||||
|
eor $D000
|
||||||
|
bne @no
|
||||||
|
lsr $D000 ; test #2 for $D0 page
|
||||||
|
lda #$55
|
||||||
|
eor $D000
|
||||||
|
bne @no
|
||||||
|
clc
|
||||||
|
+HIDE_NEXT_BYTE
|
||||||
|
@no sec
|
||||||
|
sta ROMONLY
|
||||||
|
rts
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; Has128K
|
; Has128K
|
||||||
; Checks whether computer has functioning auxiliary memory (128K)
|
; Checks whether computer has functioning auxiliary memory (128K)
|
||||||
|
@ -13,7 +40,6 @@
|
||||||
; (c) 1989 Broderbund Software
|
; (c) 1989 Broderbund Software
|
||||||
; https://github.com/jmechner/Prince-of-Persia-Apple-II/blob/master/01%20POP%20Source/Source/BOOT.S#L119
|
; https://github.com/jmechner/Prince-of-Persia-Apple-II/blob/master/01%20POP%20Source/Source/BOOT.S#L119
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
!zone {
|
|
||||||
Has128K
|
Has128K
|
||||||
sta ROMONLY ; need ROM for machine ID byte
|
sta ROMONLY ; need ROM for machine ID byte
|
||||||
lda MACHINEID
|
lda MACHINEID
|
||||||
|
@ -49,4 +75,3 @@ Has128K
|
||||||
sta READMAINMEM
|
sta READMAINMEM
|
||||||
rts
|
rts
|
||||||
@checklen=*-@checker
|
@checklen=*-@checker
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user