mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-24 17:29:40 +00:00
fixes for universal RWTS (A2) and DOS 3.2 conversions (callrwts clobbered)
This commit is contained in:
parent
b23817a769
commit
87dfe23379
@ -18,7 +18,7 @@
|
|||||||
;-------------------------------
|
;-------------------------------
|
||||||
|
|
||||||
UNIV_A1 = $B956 ; must LSR before setting
|
UNIV_A1 = $B956 ; must LSR before setting
|
||||||
UNIV_A2 = $B95E
|
UNIV_A2 = $B95F
|
||||||
UNIV_A3 = $B968
|
UNIV_A3 = $B968
|
||||||
UNIV_D1 = $B8E7
|
UNIV_D1 = $B8E7
|
||||||
UNIV_D2 = $B8F1
|
UNIV_D2 = $B8F1
|
||||||
@ -160,4 +160,3 @@ nibtableff
|
|||||||
!byte $C0,$A9,$00,$8D,$00,$E0,$4C,$44,$B7,$00,$00,$00,$8D,$63,$AA,$8D
|
!byte $C0,$A9,$00,$8D,$00,$E0,$4C,$44,$B7,$00,$00,$00,$8D,$63,$AA,$8D
|
||||||
!byte $70,$AA,$8D,$71,$AA,$60,$20,$5B,$A7,$8C,$B7,$AA,$60,$20,$7E,$AE
|
!byte $70,$AA,$8D,$71,$AA,$60,$20,$5B,$A7,$8C,$B7,$AA,$60,$20,$7E,$AE
|
||||||
!byte $AE,$9B,$B3,$9A,$20,$16,$A3,$BA,$8E,$9B,$B3,$A9,$09,$4C,$85,$B3
|
!byte $AE,$9B,$B3,$9A,$20,$16,$A3,$BA,$8E,$9B,$B3,$A9,$09,$4C,$85,$B3
|
||||||
|
|
||||||
|
@ -8,6 +8,16 @@
|
|||||||
bit gMode ; nothing to do here in verify-only mode
|
bit gMode ; nothing to do here in verify-only mode
|
||||||
bpl .exit
|
bpl .exit
|
||||||
|
|
||||||
|
; sector 1
|
||||||
|
|
||||||
|
lda callrwts+2
|
||||||
|
sta .cr+1
|
||||||
|
sec
|
||||||
|
sbc #$06 ; #$B7 or #$37
|
||||||
|
ldx #$11 ; #BASEPAGE+1
|
||||||
|
ldy #$01
|
||||||
|
jsr CopyMemory
|
||||||
|
|
||||||
; sectors 2-9
|
; sectors 2-9
|
||||||
|
|
||||||
lda #$12 ; #BASEPAGE+2
|
lda #$12 ; #BASEPAGE+2
|
||||||
@ -18,24 +28,16 @@
|
|||||||
lda #s_rwtswrite
|
lda #s_rwtswrite
|
||||||
jsr PrintByID
|
jsr PrintByID
|
||||||
|
|
||||||
; sector 1
|
; If original disk loads boot1 into $B700, Standard Delivery only needs to
|
||||||
|
; load boot1+RWTS (into $B700..$BFFF) and transfer control to boot1 at $B700.
|
||||||
lda callrwts+2
|
;
|
||||||
sec
|
|
||||||
sbc #$06 ; #$B7 or #$37
|
|
||||||
ldx #$11 ; #BASEPAGE+1
|
|
||||||
ldy #$01
|
|
||||||
jsr CopyMemory
|
|
||||||
|
|
||||||
; If original disk loads boot1 into $3700 (and expects the RWTS at $3800),
|
; 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
|
; 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
|
; 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
|
; relocation routine at $1B03, after which both RWTS and DOS will be
|
||||||
; in higher memory.
|
; in higher memory. This will fail horribly if the relocation routine decides
|
||||||
;
|
; not to relocate (on old Apple II machines with less than 48K), and I have
|
||||||
; This will all fail horribly if the relocation routine decides not to
|
; made peace with that.
|
||||||
; 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
|
||||||
@ -50,7 +52,7 @@
|
|||||||
|
|
||||||
; sector 0
|
; sector 0
|
||||||
|
|
||||||
lda callrwts+2
|
.cr lda #$d1 ; set at runtime
|
||||||
cmp #$3D
|
cmp #$3D
|
||||||
beq +
|
beq +
|
||||||
lda #<SD_DOS32
|
lda #<SD_DOS32
|
||||||
|
@ -230,7 +230,7 @@ StringTable
|
|||||||
; can be set directly before calling PrintByID.
|
; can be set directly before calling PrintByID.
|
||||||
;
|
;
|
||||||
.header
|
.header
|
||||||
!text "Passport by 4am 2017-09-08",$00
|
!text "Passport by 4am 2017-09-10",$00
|
||||||
.mainmenu
|
.mainmenu
|
||||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||||
!text " "
|
!text " "
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
;-------------------------------
|
;-------------------------------
|
||||||
|
|
||||||
UNIV_A1 = $B956 ; must LSR before setting
|
UNIV_A1 = $B956 ; must LSR before setting
|
||||||
UNIV_A2 = $B95E
|
UNIV_A2 = $B95F
|
||||||
UNIV_A3 = $B968
|
UNIV_A3 = $B968
|
||||||
UNIV_D1 = $B8E7
|
UNIV_D1 = $B8E7
|
||||||
UNIV_D2 = $B8F1
|
UNIV_D2 = $B8F1
|
||||||
|
Loading…
Reference in New Issue
Block a user