on DOS 3.2 disks that load into B700, let original code load DOS

This commit is contained in:
4am 2017-08-18 18:48:06 -04:00 committed by Peter Ferrie
parent 373bf8bd33
commit 808a77ee19
3 changed files with 15 additions and 13 deletions

View File

@ -28,11 +28,22 @@
ldx #$11 ; #BASEPAGE+1 ldx #$11 ; #BASEPAGE+1
ldy #$01 ldy #$01
jsr CopyMemory jsr CopyMemory
; If original disk loads boot1 into $3700 (and expects the RWTS at $3800),
; we let Standard Delivery load boot1+RWTS+DOS and patch boot1 here so it
; doesn't try to call the RWTS itself. Boot1 will exit via the standard
; relocation routine at $1B03, after which both RWTS and DOS will be
; in higher memory.
;
; This will all fail horribly if the relocation routine decides not to
; relocate (on old Apple II machines with less than 48K), and I have made
; peace with that.
lda #$01 lda #$01
ldx #$38 ldx #$38
ldy #$02 ldy #$03
jsr compare jsr compare
!byte $20,$93 !byte $20,$93,$37
bcs + bcs +
ldy #$01 ldy #$01
jsr modify jsr modify

View File

@ -89,11 +89,6 @@ ConstructStandardDelivery
; Address array does NOT include T00,S00. This sector holds the Standard Delivery ; Address array does NOT include T00,S00. This sector holds the Standard Delivery
; code and can not be reloaded at another address (unlike DOS 3.3). ; code and can not be reloaded at another address (unlike DOS 3.3).
; Currently, all parameter tables are the same length (loading T00,S01-T02,S0F),
; but this is not required. Standard Delivery can load an arbitrary number of
; sectors and will move to the next track automatically.
;
SD_DOS33p SD_DOS33p
; exit via JMP $10B3 ; exit via JMP $10B3
!byte $b3,$10 !byte $b3,$10
@ -109,11 +104,7 @@ SD_DOS32
; exit via JMP $B700 ; exit via JMP $B700
!byte $00,$B7 !byte $00,$B7
; track 0 ; track 0
!byte $00,$00,$9E,$9D,$00,$BF,$BE,$BD,$BC,$BB,$BA,$B9,$B8,$B7,$00 !byte $00,$00,$00,$00,$00,$BF,$BE,$BD,$BC,$BB,$BA,$B9,$B8,$B7
; track 1
!byte $9F,$00,$00,$AB,$AA,$A9,$A8,$A7,$A6,$A5,$A4,$A3,$A2,$A1,$A0,$00
; track 2
!byte $AC,$00,$00,$00,$00,$00,$B5,$B4,$B3,$B2,$B1,$B0,$AF,$AE,$AD,$00
!byte $C0 !byte $C0
SD_DOS32LO SD_DOS32LO

View File

@ -228,7 +228,7 @@ StringTable
; can be set directly before calling PrintByID. ; can be set directly before calling PrintByID.
; ;
.header .header
!text "Passport by 4am 2017-08-17",$00 !text "Passport by 4am 2017-08-18",$00
.mainmenu .mainmenu
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D !text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
!text " " !text " "