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 sta WRITEMAINMEM
jsr ROM_TEXT jsr ROM_TEXT
jsr ROM_HOME 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 + bcc +
ldy #@no64Klen ldy #@no64Klen
@ -24,8 +36,8 @@
dey dey
bpl - bpl -
@hang bmi @hang @hang bmi @hang
@s_no64K !raw "REQUIRES 64K" @s_no64K !scrxor $80,"REQUIRES 64K"
@no64Klen=*-@s_no64K @no64Klen=(*-@s_no64K)-1
+ jsr DisableAccelerator ; set to 1 MHz (supports IIgs and many common accelerator cards) + jsr DisableAccelerator ; set to 1 MHz (supports IIgs and many common accelerator cards)
jsr IsGS ; check for IIgs (allows super hi-res artwork) jsr IsGS ; check for IIgs (allows super hi-res artwork)
@ -132,6 +144,7 @@
!source "src/prorwts2.a" !source "src/prorwts2.a"
ProRWTSBuffer ProRWTSBuffer
; these routines will only be called once, from main memory, before relocating to language card ; 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.iigs.a"
!source "src/hw.vidhd.a" !source "src/hw.vidhd.a"
!source "src/hw.memcheck.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) ; Checks whether computer has functioning language card (64K)
; ;
; in: none ; in: none
; out: C set if 64K detected ; out: C clear if 64K detected
; C clear if 64K not detected ; C set if 64K not detected
; all other flags and registers clobbered ; all other flags and registers clobbered
; ROM in memory (not LC RAM bank) ; ROM in memory (not LC RAM bank)
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------