restrict partition

also remove 65C02 BC's Quest, fix error display and documentation
This commit is contained in:
Peter Ferrie 2019-09-05 17:15:02 -07:00
parent 88d7eb4a65
commit 156ef569c9
5 changed files with 41 additions and 5 deletions

View File

@ -15,7 +15,19 @@
sta WRITEMAINMEM
jsr ROM_TEXT
jsr ROM_HOME
jsr Has64K ; check for 64K (required)
jsr IsLowPartition ; check if running from partition 1-4 (required)
bcc +
ldy #@noHighPartlen
- lda @s_noHighPart,y
sta $6B1,y
dey
bpl -
bmi @hang
@s_noHighPart !scrxor $80,"RUN FROM PARTITION 1-4"
@noHighPartlen=(*-@s_noHighPart)-1
+ jsr Has64K ; check for 64K (required)
bcc +
ldy #@no64Klen
@ -24,8 +36,8 @@
dey
bpl -
@hang bmi @hang
@s_no64K !raw "REQUIRES 64K"
@no64Klen=*-@s_no64K
@s_no64K !scrxor $80,"REQUIRES 64K"
@no64Klen=(*-@s_no64K)-1
+ jsr DisableAccelerator ; set to 1 MHz (supports IIgs and many common accelerator cards)
jsr IsGS ; check for IIgs (allows super hi-res artwork)
@ -132,6 +144,7 @@
!source "src/prorwts2.a"
ProRWTSBuffer
; these routines will only be called once, from main memory, before relocating to language card
!source "src/hw.diskcheck.a"
!source "src/hw.iigs.a"
!source "src/hw.vidhd.a"
!source "src/hw.memcheck.a"

23
src/hw.diskcheck.a Normal file
View File

@ -0,0 +1,23 @@
;------------------------------------------------------------------------------
; IsLowPartition
; Checks whether image was run from partition 1-4
;
; in: none
; out: C clear if partition is acceptable
; C set if partition is not acceptable
; all other flags and registers clobbered
;------------------------------------------------------------------------------
DEVADR01HI = $bf11 ;ProDOS constant
DEVNUM = $bf30 ;ProDOS constant
IsLowPartition
lda DEVNUM
and #$70
lsr
lsr
lsr
tay
lda DEVADR01HI, y
cmp #$c8
rts

View File

@ -3,8 +3,8 @@
; Checks whether computer has functioning language card (64K)
;
; in: none
; out: C set if 64K detected
; C clear if 64K not detected
; out: C clear if 64K detected
; C set if 64K not detected
; all other flags and registers clobbered
; ROM in memory (not LC RAM bank)
;------------------------------------------------------------------------------