mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-26 16:30:22 +00:00
on DOS 3.2 disks that load into B700, let original code load DOS
This commit is contained in:
parent
4682ae095d
commit
98ee070bbd
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 " "
|
||||||
|
Loading…
Reference in New Issue
Block a user