mirror of
https://github.com/A2osX/A2osX.git
synced 2025-08-12 12:25:41 +00:00
Kernel 0.9.1 : BugFix in KM.VSDRIVE & USR Block devices
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -60,7 +60,7 @@ A2osx.DII.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ
|
|||||||
.BS 4
|
.BS 4
|
||||||
.DA #S.DSTAT.T.DISKII
|
.DA #S.DSTAT.T.DISKII
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA #0,#9
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A2osX.RamDrv
|
* A2osX.RamDrv
|
||||||
* X = DEVMGR.cmd
|
* X = DEVMGR.cmd
|
||||||
@@ -107,7 +107,7 @@ A2osx.RamDrv.Stat
|
|||||||
>PSTR "ProDOS /RAM Disk"
|
>PSTR "ProDOS /RAM Disk"
|
||||||
.DA #S.DSTAT.T.RAM
|
.DA #S.DSTAT.T.RAM
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA #0,#9
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A2osX.BlkDrv
|
* A2osX.BlkDrv
|
||||||
* X = DEVMGR.cmd
|
* X = DEVMGR.cmd
|
||||||
@@ -200,7 +200,7 @@ A2osX.Blk.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ
|
|||||||
>PSTR "ProDOS Block Dev"
|
>PSTR "ProDOS Block Dev"
|
||||||
.DA #S.DSTAT.T.PRODOS
|
.DA #S.DSTAT.T.PRODOS
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA #0,#9
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Smartport Driver
|
* Smartport Driver
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@@ -292,7 +292,7 @@ DevMgr.NUL.Code .DA .1 STATUS
|
|||||||
>PSTR "NULL DEVICE "
|
>PSTR "NULL DEVICE "
|
||||||
.DA #S.DSTAT.T.CHAR
|
.DA #S.DSTAT.T.CHAR
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA $0900
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* SYS DEVICE
|
* SYS DEVICE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@@ -316,7 +316,7 @@ DevMgr.SYS.Code .DA .1 STATUS
|
|||||||
>PSTR "A2osX SYS Screen"
|
>PSTR "A2osX SYS Screen"
|
||||||
.DA #S.DSTAT.T.CHAR
|
.DA #S.DSTAT.T.CHAR
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA $0900
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.Open lda #1
|
DevMgr.SYS.Open lda #1
|
||||||
sta A2osX.SCRNDEVS
|
sta A2osX.SCRNDEVS
|
||||||
|
@@ -802,9 +802,14 @@ DevMgrInit >LDYAI MSG.DEV
|
|||||||
and #$7
|
and #$7
|
||||||
sta DEV.HEADER+S.DEV.BUSID
|
sta DEV.HEADER+S.DEV.BUSID
|
||||||
|
|
||||||
stz ZPPtr1
|
lda DEVPTRS,x
|
||||||
|
sta DEV.HEADER+S.DEV.ROM.JMP
|
||||||
|
|
||||||
lda DEVPTRS+1,x
|
lda DEVPTRS+1,x
|
||||||
sta ZPPtr1+1
|
sta DEV.HEADER+S.DEV.ROM.JMP+1
|
||||||
|
|
||||||
|
sta ZPPtr1+1
|
||||||
|
stz ZPPtr1
|
||||||
|
|
||||||
plp
|
plp
|
||||||
lda #0
|
lda #0
|
||||||
@@ -825,11 +830,11 @@ DevMgrInit >LDYAI MSG.DEV
|
|||||||
jsr DevMgrInit.RAM
|
jsr DevMgrInit.RAM
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.3 and #$f
|
.3 and #$F0
|
||||||
cmp #$C0
|
cmp #$C0
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
jsr DevMgrInit.BLK Outside ROM space, ram loaded BLK dev
|
jsr DevMgrInit.USR Outside ROM space, User loaded BLK dev
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.4 ldx #SmartPort.SIG-SmartPort.OFS-1
|
.4 ldx #SmartPort.SIG-SmartPort.OFS-1
|
||||||
@@ -864,7 +869,8 @@ DevMgrInit >LDYAI MSG.DEV
|
|||||||
sta A2osX.S,x
|
sta A2osX.S,x
|
||||||
|
|
||||||
.8 dec DevMgrInit.DEVCNT
|
.8 dec DevMgrInit.DEVCNT
|
||||||
bpl .1
|
bmi .80
|
||||||
|
jmp .1
|
||||||
|
|
||||||
.80 clc
|
.80 clc
|
||||||
rts
|
rts
|
||||||
@@ -872,41 +878,34 @@ DevMgrInit.DEVCNT
|
|||||||
.BS 1
|
.BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgrInit.DII >LDYAI A2osX.DIIDrv
|
DevMgrInit.DII >LDYAI A2osX.DIIDrv
|
||||||
>STYA DEV.HEADER+S.DEV.DRV.JMP
|
|
||||||
jmp DevMgrInit.AddDev
|
jmp DevMgrInit.AddDev
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgrInit.RAM >LDYAI A2osX.RamDrv
|
DevMgrInit.RAM >LDYAI A2osX.RamDrv
|
||||||
>STYA DEV.HEADER+S.DEV.DRV.JMP
|
|
||||||
jmp DevMgrInit.AddDev
|
jmp DevMgrInit.AddDev
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
DevMgrInit.USR >LDYAI A2osX.BlkDrv
|
||||||
|
jmp DevMgrInit.AddDev
|
||||||
|
*--------------------------------------
|
||||||
DevMgrInit.BLK ldy #$ff
|
DevMgrInit.BLK ldy #$ff
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
sta DEV.HEADER+S.DEV.ROM.JMP
|
sta DEV.HEADER+S.DEV.ROM.JMP
|
||||||
lda ZPPtr1+1
|
|
||||||
sta DEV.HEADER+S.DEV.ROM.JMP+1
|
|
||||||
|
|
||||||
>LDYAI A2osX.BlkDrv
|
>LDYAI A2osX.BlkDrv
|
||||||
>STYA DEV.HEADER+S.DEV.DRV.JMP
|
|
||||||
jmp DevMgrInit.AddDev
|
jmp DevMgrInit.AddDev
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgrInit.SP ldy #$ff
|
DevMgrInit.SP ldy #$ff
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
clc
|
clc
|
||||||
adc #3 Compute smartport entry point
|
adc #3 Compute smartport entry point
|
||||||
sta .3+1
|
sta .1+1
|
||||||
sta DEV.HEADER+S.DEV.ROM.JMP
|
sta DEV.HEADER+S.DEV.ROM.JMP
|
||||||
lda ZPPtr1+1
|
lda ZPPtr1+1
|
||||||
|
sta .1+2
|
||||||
sta .3+2
|
|
||||||
sta DEV.HEADER+S.DEV.ROM.JMP+1
|
|
||||||
|
|
||||||
>LDYAI A2osX.PrtDrv
|
|
||||||
>STYA DEV.HEADER+S.DEV.DRV.JMP
|
|
||||||
|
|
||||||
.2 lda DEV.HEADER+S.DEV.DEVID
|
lda DEV.HEADER+S.DEV.DEVID
|
||||||
sta SP.DEV.STATUS.DEVID
|
sta SP.DEV.STATUS.DEVID
|
||||||
|
|
||||||
.3 jsr $ffff Self Modified
|
.1 jsr $ffff Self Modified
|
||||||
.DA #0 Status
|
.DA #0 Status
|
||||||
.DA SP.DEV.STATUS
|
.DA SP.DEV.STATUS
|
||||||
bcs .9
|
bcs .9
|
||||||
@@ -914,11 +913,13 @@ DevMgrInit.SP ldy #$ff
|
|||||||
lda SP.DEV.STATUS.DATA+S.DSTAT.S
|
lda SP.DEV.STATUS.DATA+S.DSTAT.S
|
||||||
sta DEV.HEADER+S.DEV.S
|
sta DEV.HEADER+S.DEV.S
|
||||||
|
|
||||||
|
>LDYAI A2osX.PrtDrv
|
||||||
jsr DevMgrInit.AddDev
|
jsr DevMgrInit.AddDev
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgrInit.AddDev
|
DevMgrInit.AddDev
|
||||||
|
>STYA DEV.HEADER+S.DEV.DRV.JMP
|
||||||
lda DevMgr.Count
|
lda DevMgr.Count
|
||||||
cmp #K.DEV.MAX
|
cmp #K.DEV.MAX
|
||||||
beq .9
|
beq .9
|
||||||
@@ -949,7 +950,7 @@ DevMgrInit.AddDev
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.HEADER clc
|
DEV.HEADER cld
|
||||||
jmp ($ffff,x)
|
jmp ($ffff,x)
|
||||||
.DA #S.DEV.S.BLOCK S
|
.DA #S.DEV.S.BLOCK S
|
||||||
.BS 1 F
|
.BS 1 F
|
||||||
|
Reference in New Issue
Block a user