From 82b83a26e8772e6e67f1be9c21d9b1e0a5a16c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 20 Mar 2017 17:54:27 +0100 Subject: [PATCH] Kernel version 0.9 : Block Device Support, Disk II & Generic BLk ok --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/LSDEV.S.txt | 108 +++++++++++++++--------- SYS/KERNEL.S.GP.txt | 187 ++++++++++++++++++++++++++--------------- SYS/KERNEL.S.INIT3.txt | 79 +++++++++-------- 6 files changed, 230 insertions(+), 144 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 285c555243097b2956866cbb83a975c5883bcbdc..63a1ab3fb3a46d7bf923690780fc969d1548278d 100644 GIT binary patch delta 1400 zcmZWoe{2&~9DlDjx^AP;$(*+h+&j4KU6-=8UBCe*j)^1_6q3zuy$$FqBV?)8hF#H;EBu0(FIx#Ugb@g4lg`oFxpYQkc zecvDN?)$#}X`6rA7XP>v-W)mAdY}jnjBJz(^NT&SCI|z70GbSP0Sj@f&vhVpT79#_ z%>n9C;~lkdcI3N`^Lf5UsZ-mGK$5h~E9iW6e2(l~U=Nrqu)vBW#ttvA3X`2&V8~?F zM2$AU(v68>@t_Ih%lZ8=kvhX7!)45Pao$MEmoe=X7I0mAkzsuG4lQh+=0RGcKCw&U zEKKg%wG*CIZ|vIs&>%Gw&K|PZwMJ?|)?{4LpX# z!gG$_(KDEQ;V(Pqs3e&LNadrIn4Iw!l+Re#qqUfP9)r%MA02%Eu93cke}FMKF`oLA zm&xliseFS&7ce@6(~~C3%4Hmb%D0##|G(GeyNu2Jd?%;8jFq=>&Ur6Z0+@xMOa^?9 z<48~AnF{Jru4OGL9JlIsu#z$>Tu9^8&$8ZgYXZ$k>7HAfpZy23d-^3@;ARo}q$zJ; zvh=gBalfV4ahI2Ax?gJ76;)3Qv8OEci9^DE1J=F%m^JfcFcDFl!D`Z#0W*zb^Gc{j~geC8MO->MR=w^WV3(>8oG3N>O?qaU;l4>I+{(`xj?w&6dbi-!NUS$!Lz z83ures?j6DI$?tl5=I3gToVA`WxWgy@hCg0N3IC^6(M^+;`KpKz>Rz;zIMSBTpe&} z0F@=<1;P4&7oA1%a%$IxSqEuhR;07>6DT!GL4!=VF)`r|i@x5Rq(ywY`ve8;o_jOA zD7QuOa#Fb}jESsXSkx=fP9GXKts!O1tYT-xVZ?mbauBRscGvLXQYvX zbqG~?+^+($YDXP=8Clzcs@(N2)S7^H*FDc>qh>G<+SKS@ZKoE)C>&e@OCnJ_Y*QVU liccz5!X7v%!sU_ZD%f_a(R65nOCr&YjBSTeZm<u8~cbe!UBRoc_LRq69XkTX}cU3tshb9F77Rs79O`Es&$q2N48$>5E7` zwV=K%>5(JwLV6=|$1xmGYn8VUFy#6@1>HHM|0|!!vlngFoo5d)VV~yNw#~lIvu8GQ zE+1CDA>~#Xk(slFEbsYO8I=_oA~VEzWzQ&AWK>o;LlS;ddWqEQ`V`Ub=8;+}9Uow+ z4T7rOYoQ54HJld#rzdG6x2xh3JhU=rTGWf?SY$I|_j z@H!SwVqpd+q0o$lFcxMp%4R_d>qygarc!MXF61mC)}7jG*RUYst!aE$$JRq$o>mQ# zkeI)*$AALYFeSl)s>*e_XgOHx6B;Zz zt7gNc#=4p%8wM)bUP-K?#>XbStn#J`WZ$>h?6`kN^RjfmU+}V1)RvE3v;LHVk7$XD zy}>Msj51`;^dK2GtDLpfGWl*^EtWS_HhnYp84QF!H^P4#Ac{cr5QwrM8U*%1`=riK z-r?LP0zU!ZLHkTzm@*RQ4CFSILIZiGLu>wRG85Y~k=ako?szEgv9=MgY>#|hB~#s` zAt-HY?>vdx+fn0@R~qdb+yE3y^@D*n;fayhF(%#?o*I`8U<&n?J?eUkrzi?i5JHDT z1D4Qcy6B**>8#LePDac`pV_xF^uU6*COQk3U6U8Qj1+u0VrVTq4=@UkW7>K&~9Y{$q?P| zSWF)42hS^)|1UzTLQ4mByVa{yk8+jts=9NqmFu27ODg;-Qb7~n#M69x8$z9Dx@SWa zY@Yp!f=9`dJfCtv*9un(7vSu<9r(WFFDOiTVHv^7m7y9q24`9zmtx?76|RK@&2$hJ Sg5DLb11?Y`ic59DKmG&iHQDF@ diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 79894a33153dfcf6f51b238b9b10f056239e056b..3075f2519f44ed058e90eca9b13fb5cf14bc4156 100644 GIT binary patch delta 74 zcmZp8z|ru4V}lP1ONkN}|K)s8^%%Dw)nl?|1ONk#6tMsR delta 74 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 Rt5Ep{%EE6BOU1g8{{`4ADHs3% delta 8878 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 diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index 99864bac..8a3d18d8 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -35,7 +35,9 @@ CS.START cld .DA CS.QUIT L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 -L.MSG2 .DA MSG2 +L.MSG2.C .DA MSG2.C +L.MSG2.B .DA MSG2.B +L.DEV.SIZE .DA DEV.SIZE .DA 0 *-------------------------------------- CS.INIT clc @@ -49,49 +51,85 @@ CS.RUN >LDYA L.MSG0 lda DEV.ID .1 >SYSCALL GetDevByIDA - bcc .10 - jmp .71 + bcs .7 -.10 >STYA pDev >STYA ZPPTR1 - ldy #S.DEV.DRV.JMP+1 - >PUSHB (pDev),y + jsr DumpHeader + + bcs .9 + + lda DEV.ID + >SYSCALL GetDevByIDA + >STYA pDev + + ldx #DEVMGR.STATUS + jsr pDevJmp + bcs .6 + >STYA ZPPTR2 + + jsr DumpStatus + + bcs .9 + +.6 lda #13 + >SYSCALL PutCA + lda #10 + >SYSCALL PutCA + +.7 inc DEV.ID + lda DEV.ID + cmp #K.DEV.MAX + bne .1 + +.8 lda #0 tell TSKMGR that all done ok, but +.9 sec we do not want to stay in memory + rts +*-------------------------------------- +DumpHeader ldy #S.DEV.DRV.JMP+1 + >PUSHB (ZPPTR1),y dey - >PUSHB (pDev),y + >PUSHB (ZPPTR1),y lda #S.DEV.NAME clc - adc pDev + adc ZPPTR1 tay lda /S.DEV.NAME - adc pDev+1 + adc ZPPTR1+1 >PUSHYA ldy #S.DEV.F - >PUSHB (pDev),y - + >PUSHB (ZPPTR1),y + ldy #S.DEV.S - >PUSHB (pDev),y + >PUSHB (ZPPTR1),y + sta DEV.S >PUSHB DEV.ID >LDYA L.MSG1 >SYSCALL CPrintFYA - bcs .9 + rts +*-------------------------------------- +DumpStatus bit DEV.S + bpl .1 - >LDYA ZPPTR1 - >STYA pDev + ldy #S.DEVSTAT.SIZE + lda (ZPPTR2),y + sta DEV.SIZE + iny + lda (ZPPTR2),y + sta DEV.SIZE+1 + iny + lda (ZPPTR2),y + sta DEV.SIZE+2 + >PUSHW L.DEV.SIZE - ldx #DEVMGR.STATUS - jsr pDevJmp - bcs .7 - >STYA ZPPTR2 - - ldy #S.DEVSTAT.VERSION+1 +.1 ldy #S.DEVSTAT.VERSION+1 >PUSHB (ZPPTR2),y dey >PUSHB (ZPPTR2),y @@ -110,23 +148,14 @@ CS.RUN >LDYA L.MSG0 dey >PUSHB (ZPPTR2),y - >LDYA L.MSG2 - >SYSCALL CPrintFYA - bcs .9 + bit DEV.S + bpl .2 -.7 lda #13 - >SYSCALL PutCA - lda #10 - >SYSCALL PutCA + >LDYA L.MSG2.B + bra .3 +.2 >LDYA L.MSG2.C -.71 inc DEV.ID - lda DEV.ID - cmp #K.DEV.MAX - beq .8 - jmp .1 - -.8 lda #0 tell TSKMGR that all done ok, but -.9 sec we do not want to stay in memory +.3 >SYSCALL CPrintFYA rts *-------------------------------------- CS.EVENT sec @@ -136,11 +165,14 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version\r\n" +MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version Size (BLK)\r\n" MSG1 >CSTR "%03d %b %b %4S $%H " -MSG2 >CSTR "$%h/$%h %16S %03d.%03d" +MSG2.B >CSTR "$%h/$%h %16S %03d.%03d %10u" +MSG2.C >CSTR "$%h/$%h %16S %03d.%03d n/a" *-------------------------------------- DEV.ID .BS 1 +DEV.S .BS 1 +DEV.SIZE .BS 4 MAN SAVE BIN/LSDEV.S ASM diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 2ab6f798..2f9230e9 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -28,20 +28,6 @@ AUTO 6 * A = Param Count *-------------------------------------- jmp A2osX.MLICALL1 -*-------------------------------------- -* BLKCALL (AUXLC to MAINLC) -* Used by Kernel -* In: -* Y,A = Ptr To Param Block -*-------------------------------------- - jmp A2osX.BLKCALL1 -*-------------------------------------- -* PRTCALL (AUXLC to MAINLC) -* Used by Kernel -* In: -* Y,A = Ptr To Param Block -*-------------------------------------- - jmp A2osX.PRTCALL1 *-------------------------------------- .BS $BD10-* *-------------------------------------- @@ -103,55 +89,39 @@ A2osX.MLICALL1 stx .1 jsr GO.A2osX rts *-------------------------------------- -* BLKCALL.PARAMS -* (To be moved to MainZP/LC For DII) +* A2osX.DIIDrv,A2osX.BlkDrv +* X = DEVMGR.cmd +* Y,A = PTR to Params +* pDev -> Dev Header * $42 Command Number * $43 Unit Number * $44-$45 Buffer Pointer * $46-$47 Block Number -* X = DEVMGR.cmd -* pDev -> Dev Header *-------------------------------------- -A2osX.BLKCALL1 >STYA .2+1 setup device entry point $Cnxx - - jsr GO.ProDOS - - ldx #5 - -.1 lda BLKCALL.PARAMS,x - sta $42,x setup ZP in main memory for this block device call - dex - bpl .1 - -.2 jsr $ffff - - jsr GO.A2osX - rts +A2osX.DIIDrv .DA A2osX.DIIDrv.S status + .DA A2osX.DIIDrv.RW Read + .DA A2osX.DIIDrv.RW Write + .DA A2osX.DRV.BadCall Format + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall *-------------------------------------- -A2osX.DIIDrv txa Status ? - beq .2 - - jsr GO.ProDOS - - asl - sta $42 - - ldx #5 - -.1 lda BLKCALL.PARAMS,x - sta $42,x setup ZP in main memory for this block device call - dex - bne .1 - - jsr $D000 - jsr GO.A2osX - rts - -.2 >LDYAI A2osx.DIIStat +A2osX.DIIDrv.S >LDYAI A2osx.DIIStat clc rts *-------------------------------------- -A2osx.DIIStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ +A2osX.DIIDrv.RW jsr A2osX.Prt2Blk + + jsr GO.ProDOS + jsr $D000 + jsr GO.A2osX + rts +*-------------------------------------- +A2osx.DIIStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA 280 .DA #0 >PSTR "DISK II 5.25" @@ -160,7 +130,45 @@ A2osx.DIIStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA #0 .DA #0,#9 *-------------------------------------- -A2osx.GenStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ +* Generic Blk Device +*-------------------------------------- +A2osX.BlkDrv .DA A2osX.BlkDrv.S status + .DA A2osX.BlkDrv.RW + .DA A2osX.BlkDrv.RW + .DA A2osX.BlkDrv.F + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall + .DA A2osX.DRV.BadCall +*-------------------------------------- +A2osX.BlkDrv.S jsr A2osX.Prt2Blk.NoParam + + jsr A2osX.BlkDrv.Go + bcs * + stx A2osx.BlkStat+S.DEVSTAT.SIZE + sty A2osx.BlkStat+S.DEVSTAT.SIZE+1 + + >LDYAI A2osx.BlkStat + clc + rts +*-------------------------------------- +A2osX.BlkDrv.RW jsr A2osX.Prt2Blk + bra A2osX.BlkDrv.Go +*-------------------------------------- +A2osX.BlkDrv.F jsr A2osX.Prt2Blk.NoParam +A2osX.BlkDrv.Go ldy #S.DEV.ROM.JMP + lda (pDev),y + sta .8+1 + iny + lda (pDev),y + sta .8+2 + +.8 jmp $ffff +*-------------------------------------- +A2osx.BlkStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .BS 3 >PSTR "Generic Blk Dev" .BS 1 @@ -168,21 +176,62 @@ A2osx.GenStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA #0 .DA #0,#9 *-------------------------------------- -* Smartport Call -*-------------------------------------- -A2osX.PRTCALL1 >STYA .1+1 - txa - lsr - sta .2 - tax - lda A2osX.PRTCALL.Cnt,x - sta PRTCALL.PARAMS -.1 jsr $ffff -.2 .BS 1 CMD - .DA PRTCALL.PARAMS +A2osX.Prt2Blk >STYA ZPDRV Get Ptr To ParamList + jsr A2osX.Prt2Blk.NoParam + + ldy #3 + +.1 lda (ZPDRV),y + sta ($44),y + dey + bpl .1 + rts + +A2osX.Prt2Blk.NoParam + txa + asl + sta $42 CMD + + ldy #S.DEV.DEVID Drive 1, or 2 + lda (pDev),y + dec O or 1 + lsr in Carry + php + + ldy #S.DEV.BUSID + lda (pDev),y + asl + asl + asl + asl + asl + plp + ror + sta $43 DSSS0000 + + rts +*-------------------------------------- +* Smartport +*-------------------------------------- +*A2osX.PrtDrv >STYA .1+1 +* txa +* beq STATUS +* lsr +* sta .2 +* tax +* lda A2osX.PRTCALL.Cnt,x +* sta PRTCALL.PARAMS +*.1 jsr $ffff +*.2 .BS 1 CMD +* .DA PRTCALL.PARAMS +* rts +*A2osX.PRTCALL.Cnt +* .HS 03030301030101010404 +*-------------------------------------- +A2osX.DRV.BadCall + lda #MLI.ERR.BADCALL + sec rts -A2osX.PRTCALL.Cnt - .HS 03030301030101010404 *-------------------------------------- GO.ProDOS lda $D000 We re coming from AUXLC, saving bank... sta GO.A2osX.BNK+1 diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index 26e731d0..7b80a496 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -252,10 +252,13 @@ DEVSIG.Value .HS 38180120D6 DevMgrInit stz ZPPtr1 lda #$C1 sta ZPPtr1+1 - lda #'1' - sta DEV.HEADER+S.DEV.NAME+4 S1Dy + lda #1 + sta DEV.HEADER+S.DEV.BUSID -.1 ldx #SmartPort.SIG-SmartPort.OFS-1 +.1 lda #1 + sta DEV.HEADER+S.DEV.DEVID + + ldx #SmartPort.SIG-SmartPort.OFS-1 .2 ldy SmartPort.OFS,x Check if there is a smartport firmware lda (ZPPtr1),y @@ -292,7 +295,7 @@ DevMgrInit stz ZPPtr1 tya sta A2osX.SLOTS,x -.8 inc DEV.HEADER+5 +.8 inc DEV.HEADER+S.DEV.BUSID inc ZPPtr1+1 lda ZPPtr1+1 cmp #$C8 @@ -301,6 +304,28 @@ DevMgrInit stz ZPPtr1 clc rts *-------------------------------------- +DevMgrInit.DII >LDYAI A2osX.DIIDrv + >STYA DEV.HEADER+S.DEV.DRV.JMP + jsr DevMgrInit.AddDev + inc DEV.HEADER+S.DEV.DEVID + jsr DevMgrInit.AddDev + rts +*-------------------------------------- +DevMgrInit.BLK sta DEV.HEADER+S.DEV.ROM.JMP + lda ZPPtr1+1 + sta DEV.HEADER+S.DEV.ROM.JMP+1 + + >LDYAI A2osX.BlkDrv + >STYA DEV.HEADER+S.DEV.DRV.JMP + + jsr DevMgrInit.AddDev + inc DEV.HEADER+S.DEV.DEVID + jsr DevMgrInit.AddDev + rts + +DevMgrInit.BLK.JMP + jmp (DEV.HEADER+S.DEV.ROM.JMP) +*-------------------------------------- DevMgrInit.SP ldy #$ff lda (ZPPtr1),y clc @@ -341,28 +366,30 @@ DevMgrInit.SP ldy #$ff .9 rts *-------------------------------------- -DevMgrInit.DII >LDYAI A2osX.DIIDrv - >STYA DEV.HEADER+S.DEV.ROM.JMP - rts -*-------------------------------------- -DevMgrInit.BLK - rts -*-------------------------------------- DevMgrInit.AddDev lda DevMgr.Count cmp #K.DEV.MAX beq .9 inc DevMgr.Count - jsr K.GetDevByIDA - >STYA ZPPtr1 + >SYSCALL GetDevByIDA + >STYA ZPPtr2 + lda DEV.HEADER+S.DEV.BUSID + ora #$30 + sta DEV.HEADER+S.DEV.NAME+2 SnDy + + lda DEV.HEADER+S.DEV.DEVID + ora #$30 + sta DEV.HEADER+S.DEV.NAME+4 SxDn + ldy #S.DEV-1 .1 lda DEV.HEADER,y - sta (ZPPtr1),y + sta (ZPPtr2),y dey - bne .1 + bpl .1 + clc rts @@ -394,28 +421,6 @@ SP.DEV.STATUS .DA #3 SP.STATUS1 .BS 4 SP.STATUS2 .BS S.DEVSTAT *-------------------------------------- -SP.DRV cld - ldy #7 - lda (pDev),y - and #$f - sta PRTCALL.PARAMS+1 dev -SP.DRV.lo ldy #$ff -SP.DRV.hi lda #$ff - jmp A2osX.PRTCALL -*-------------------------------------- -DII.DRV cld - lda #$ff DSSS0000 - cpx #DEVMGR.CONTROL - bcs .9 - - - - -.9 lda #MLI.ERR.BADCALL - rts -*-------------------------------------- -BLK.DRV -*-------------------------------------- EvtMgrInit lda #$A5 sta A2osX.TIMER16 lda #$9B