This commit is contained in:
4am
2019-09-19 09:13:34 -04:00
4 changed files with 82 additions and 11 deletions

View File

@@ -20,11 +20,11 @@
ldy #@noHighPartlen ldy #@noHighPartlen
- lda @s_noHighPart,y - lda @s_noHighPart,y
sta $6AB,y sta $6B1,y
dey dey
bpl - bpl -
bmi @hang bmi @hang
@s_noHighPart !scrxor $80,"RUN FROM DRIVE 1 OR 2 OF BOOT SLOT" @s_noHighPart !scrxor $80,"RUN FROM PARTITION 1-4"
@noHighPartlen=(*-@s_noHighPart)-1 @noHighPartlen=(*-@s_noHighPart)-1
+ jsr Has64K ; check for 64K (required) + jsr Has64K ; check for 64K (required)
@@ -170,12 +170,7 @@ Loader128KAndJoystick
!byte 15 !byte 15
!text "joystick + 128K" !text "joystick + 128K"
*=ProRWTSBuffer+512 ; ProRWTS needs a 512-byte buffer for its init function !source "src/parse.games.a"
; so we reuse as much of the 1-time code as possible
; and fill the rest with zeros
!source "src/parse.games.a" ; this needs to be outside the buffer because it's not used
; until after ProRWTS initialization
OneTimeSetup OneTimeSetup
lda zpMachineStatus lda zpMachineStatus

View File

@@ -13,6 +13,8 @@ DEVNUM = $bf30 ;ProDOS constant
IsLowPartition IsLowPartition
lda DEVNUM lda DEVNUM
sta x80_parms + 1
sta unit
and #$70 and #$70
lsr lsr
lsr lsr
@@ -20,4 +22,65 @@ IsLowPartition
tay tay
lda DEVADR01HI, y lda DEVADR01HI, y
cmp #$c8 cmp #$c8
bcc @GoodPartition
;find the SmartPort device
ldx #$c8
- dex
stx ldrhi
ldy #0
sty ldrlo
iny
lda (ldrlo), y
cmp #$20
bne -
iny
iny
lda (ldrlo), y
bne -
iny
iny
lda (ldrlo), y
cmp #3
bne -
ldy #$ff
lda (ldrlo), y
beq -
sta ldrlo
;detect extended remapping
lda #<(readbuff + $200)
sta adrlo
lda #>(readbuff + $200)
sta adrhi
lda #2
sta x80_parms + 4
sta bloklo
lda #0
sta x80_parms + 5
sta blokhi
lda #cmdread
sta command
jsr @dispatch
jsr MLI
!byte $80
!word x80_parms
ldy #$0f
- lda readbuff + 4, y
cmp readbuff + $204, y
bne @BadPartition
dey
bpl -
clc
!byte $24
@BadPartition
sec
@GoodPartition
rts rts
@dispatch
jmp (ldrlo)

View File

@@ -0,0 +1,15 @@
;license:MIT
;(c) 2019 by qkumba
!cpu 6502
!to "build/PRELAUNCH/CANYON.CLIMBER",plain
*=$106
!source "src/prelaunch/common.a"
lda #$60
sta $8022
jsr $67de
lda #$a5
sta $35c2
jmp $3000

View File

@@ -380,7 +380,6 @@ adjpath tya
lsr lsr
tay tay
ldx DEVADR01HI, y ldx DEVADR01HI, y
!if allow_extend = 1 {
cpx #$c8 cpx #$c8
bcc set_slot bcc set_slot
ldx #$c8 ldx #$c8
@@ -404,7 +403,6 @@ adjpath tya
ldy #$ff ldy #$ff
lda (bloklo), y lda (bloklo), y
beq - beq -
}
set_slot stx slot + 2 set_slot stx slot + 2
!if allow_extend = 1 { !if allow_extend = 1 {
@@ -3047,5 +3045,5 @@ hdddataend
} ;verbose_info } ;verbose_info
} ;PASS2 } ;PASS2
readbuff readbuff = $800
!byte $D3,$C1,$CE,$A0,$C9,$CE,$C3,$AE !byte $D3,$C1,$CE,$A0,$C9,$CE,$C3,$AE