From 63883ea19d7ed35171b50b055c1b244c6570db34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 21 Mar 2017 17:29:15 +0100 Subject: [PATCH] Kernel version 0.9 : Block Device Support, added Smartport --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/A2osX.I.txt | 12 +++---- SYS/KERNEL.S.D01.txt | 66 ++++++++++++++++++++++++++++++++++++ SYS/KERNEL.S.DIR.txt | 32 +++++++++--------- SYS/KERNEL.S.FIO.txt | 2 +- SYS/KERNEL.S.GP.txt | 41 +++++++---------------- SYS/KERNEL.S.INIT3.txt | 74 ++++++++++++++++++++--------------------- 9 files changed, 137 insertions(+), 90 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 63a1ab3fb3a46d7bf923690780fc969d1548278d..d35f43dc5fb7c0d35fbfa33c69773df79b505fea 100644 GIT binary patch delta 2266 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 delta 7136 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 diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 6dfb7448951f13cb4135221bfd8ad8edd3872276..975737215f86193b1dfe585e680c22adc4e9f751 100644 GIT binary patch delta 10846 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 delta 11314 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 w9SoJ`T=y|?)8_EnlLjV8( diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 38df7d44..4648af57 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -62,12 +62,12 @@ D.STACK.TOP .EQ $03F0 ...Down to $0300 *-------------------------------------- KrnBuf256 .EQ $0C00 Main *-------------------------------------- -MLICALL.PARAMS .EQ $0D00 Main, $12 bytes min !!!! -BLKCALL.PARAMS .EQ $0D20 Max 6 Bytes copied to/from $42->$47 before Firmware call -PRTCALL.PARAMS .EQ $D030 Max 8 bytes for smartport cmdnum $0->$9 -KrnSTAT .EQ $0D40 S.STAT = 64b +KrnOut256 .EQ $0D00 Used to return Values to User Space *-------------------------------------- -KrnOut256 .EQ $0E00 Used to return Values to User Space +MLICALL.PARAMS .EQ $0E00 Main, $12 bytes min for GetFileInfo +K.S.STAT .EQ MLICALL.PARAMS+$12 S.STAT for internal kernel operations (DIR,FIO) +K.S.DEVSTAT .EQ K.S.STAT+64 +K.S.PORTCALL .EQ K.S.DEVSTAT+9 *-------------------------------------- *** Z80 Reserved $0F00-10FF*** *-------------------------------------- @@ -103,8 +103,6 @@ DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC A2osX.SYSCALL .EQ $BD00 A2osX.LIBCALL .EQ $BD03 A2osX.MLICALL .EQ $BD06 -A2osX.BLKCALL .EQ $BD09 -A2osX.PRTCALL .EQ $BD0C *-------------------------------------- pCodeJmp .EQ $BD10 pLibJmp .EQ $BD13 diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index e71a5ef6..44349e11 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -4,6 +4,72 @@ LOMEM $A00 INC 1 AUTO 6 *-------------------------------------- +* Smartport Driver +*-------------------------------------- +A2osX.PrtDrv .DA A2osX.PrtDrv.S STATUS + .DA A2osX.PrtDrv.P BR + .DA A2osX.PrtDrv.P BW + .DA A2osX.PrtDrv.NP FORMAT + .DA A2osX.PrtDrv.P CONTROL + .DA A2osX.PrtDrv.NP INIT + .DA A2osX.PrtDrv.NP OPEN + .DA A2osX.PrtDrv.NP CLOSE + .DA A2osX.PrtDrv.P R + .DA A2osX.PrtDrv.P W +*-------------------------------------- +A2osX.PrtDrv.S jsr A2osX.PrtDrv.GetDev + >LDYAI K.S.DEVSTAT + >STYA K.S.PORTCALL+2 + lda #3 + sta K.S.PORTCALL+3 + jsr A2osX.PrtDrv.Go + bcs .9 + >LDYAI K.S.DEVSTAT +.9 rts +*-------------------------------------- +A2osX.PrtDrv.P jsr A2osX.PrtDrv.GetParam + bra A2osX.PrtDrv.Go +A2osX.PrtDrv.NP jsr A2osX.PrtDrv.GetDev +*-------------------------------------- +A2osX.PrtDrv.Go ldy #S.DEV.ROM.JMP + lda (pDev),y + sta .8+1 + iny + lda (pDev),y + sta .8+2 + +.8 jsr $ffff +A2osX.PrtDrv.Go.Cmd + .BS 1 + .DA K.S.PORTCALL + rts +*-------------------------------------- +A2osX.PrtDrv.GetParam + >STYA ZPDRV Get Ptr To ParamList + jsr A2osX.Blk.GetDev + + ldy #7 + +.1 lda (ZPDRV),y + sta K.S.PORTCALL+2,y + dey + bpl .1 + rts +*-------------------------------------- +A2osX.PrtDrv.GetDev + txa + asl + sta A2osX.PrtDrv.Go.Cmd + tax + lda A2osX.PrtDrv.Cnt,x + sta K.S.PORTCALL + ldy #S.DEV.DEVID + lda (pDev),y + sta K.S.PORTCALL+1 + rts +A2osX.PrtDrv.Cnt + .HS 03030301030101010404 +*-------------------------------------- DevMgr.NUL.Code .DA .1 STATUS .DA DevMgr.BADCALL READBLOCK .DA DevMgr.BADCALL WRITEBLOCK diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index 42428de0..b30de393 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -174,26 +174,26 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ? lda #0 rol inc - sta KrnSTAT+S.STAT.P.DRIVE + sta K.S.STAT+S.STAT.P.DRIVE pla lsr CC lsr lsr lsr lsr - sta KrnSTAT+S.STAT.P.SLOT + sta K.S.STAT+S.STAT.P.SLOT >LDYAI KrnOut256 >STYA MLICALL.PARAMS+1 >MLICALL MLIGETFILEINFO - sta KrnSTAT+S.STAT.P.DEVSTATUS + sta K.S.STAT+S.STAT.P.DEVSTATUS bcs .80 >LDYA MLICALL.PARAMS+5 AUXTYPE=TOTAL BLOCKS - >STYA KrnSTAT+S.STAT.P.DEVBLOCKS + >STYA K.S.STAT+S.STAT.P.DEVBLOCKS >LDYA MLICALL.PARAMS+8 - >STYA KrnSTAT+S.STAT.BLOCKS + >STYA K.S.STAT+S.STAT.BLOCKS .80 jsr K.ReadDirA.ADDSTAT @@ -454,27 +454,27 @@ K.ReadDirA.ADD.. * ldy #$25 total_blocks * lda (ZPPtr3),y -* sta KrnSTAT+S.STAT.BLOCKS +* sta K.S.STAT+S.STAT.BLOCKS * iny * lda (ZPPtr3),y -* sta KrnSTAT+S.STAT.BLOCKS+1 +* sta K.S.STAT+S.STAT.BLOCKS+1 *-------------------------------------- K.ReadDirA.ADDD lda #$0F - sta KrnSTAT+S.STAT.P.TYPE + sta K.S.STAT+S.STAT.P.TYPE lda /S.STAT.MODE.DIR - sta KrnSTAT+S.STAT.MODE+1 + sta K.S.STAT+S.STAT.MODE+1 bra K.ReadDirA.AddAccess *-------------------------------------- K.ReadDirA.ADDF lda /S.STAT.MODE.REG - sta KrnSTAT+S.STAT.MODE+1 + sta K.S.STAT+S.STAT.MODE+1 ldx #ADDF.DST-ADDF.SRC .1 ldy ADDF.SRC-1,x lda (ZPPtr3),y ldy ADDF.DST-1,x - sta KrnSTAT,y + sta K.S.STAT,y dex bpl .1 *-------------------------------------- @@ -494,21 +494,21 @@ K.ReadDirA.AddAccess .HS 89 bit imm to skip txa .3 txa - sta KrnSTAT+S.STAT.MODE + sta K.S.STAT+S.STAT.MODE *-------------------------------------- K.ReadDirA.AddTime - >PUSHWI KrnSTAT+S.STAT.CTIME + >PUSHWI K.S.STAT+S.STAT.CTIME lda #$18 creation Date/time jsr K.ReadDirA.ConvertTime - >PUSHWI KrnSTAT+S.STAT.MTIME + >PUSHWI K.S.STAT+S.STAT.MTIME lda #$21 mod Date/time jsr K.ReadDirA.ConvertTime *-------------------------------------- K.ReadDirA.AddStat ldy #S.STAT-1 -.1 lda KrnSTAT,y +.1 lda K.S.STAT,y sta (ZPPtr4),y dey bpl .1 @@ -524,7 +524,7 @@ K.ReadDirA.AddStat K.ReadDirA.ClrStat ldx #S.STAT-1 -.1 stz KrnSTAT,x +.1 stz K.S.STAT,x dex bpl .1 rts diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index 85c1e6ae..40f469ef 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -59,7 +59,7 @@ K.FileSearch >PULLW ZPPtr4 ZPPtr1 trashed by ExpandPStrYA stx KrnBuf256 set string length - >PUSHWI KrnSTAT + >PUSHWI K.S.STAT >PUSHWI KrnBuf256 jsr K.STAT bcs .1 Failed...retry next path... diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 2f9230e9..535e5d43 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -114,7 +114,7 @@ A2osX.DIIDrv.S >LDYAI A2osx.DIIStat clc rts *-------------------------------------- -A2osX.DIIDrv.RW jsr A2osX.Prt2Blk +A2osX.DIIDrv.RW jsr A2osX.Blk.GetParam jsr GO.ProDOS jsr $D000 @@ -144,31 +144,30 @@ A2osX.BlkDrv .DA A2osX.BlkDrv.S status .DA A2osX.DRV.BadCall .DA A2osX.DRV.BadCall *-------------------------------------- -A2osX.BlkDrv.S jsr A2osX.Prt2Blk.NoParam +A2osX.BlkDrv.S jsr A2osX.Blk.GetDev jsr A2osX.BlkDrv.Go bcs * stx A2osx.BlkStat+S.DEVSTAT.SIZE sty A2osx.BlkStat+S.DEVSTAT.SIZE+1 - >LDYAI A2osx.BlkStat + >LDYAI A2osX.BlkStat clc rts *-------------------------------------- -A2osX.BlkDrv.RW jsr A2osX.Prt2Blk +A2osX.BlkDrv.RW jsr A2osX.Blk.GetParam bra A2osX.BlkDrv.Go *-------------------------------------- -A2osX.BlkDrv.F jsr A2osX.Prt2Blk.NoParam +A2osX.BlkDrv.F jsr A2osX.Blk.GetDev 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 +A2osX.BlkStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .BS 3 >PSTR "Generic Blk Dev" .BS 1 @@ -176,18 +175,19 @@ A2osx.BlkStat .DA #S.DEVSTAT.S.BLOCK+S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA #0 .DA #0,#9 *-------------------------------------- -A2osX.Prt2Blk >STYA ZPDRV Get Ptr To ParamList - jsr A2osX.Prt2Blk.NoParam +A2osX.Blk.GetParam + >STYA ZPDRV Get Ptr To ParamList + jsr A2osX.Blk.GetDev ldy #3 .1 lda (ZPDRV),y - sta ($44),y + sta $44,y dey bpl .1 rts - -A2osX.Prt2Blk.NoParam +*-------------------------------------- +A2osX.Blk.GetDev txa asl sta $42 CMD @@ -211,23 +211,6 @@ A2osX.Prt2Blk.NoParam 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 diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index 7b80a496..8c3889af 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -134,16 +134,14 @@ DevMgr.NUL cld jmp (DevMgr.NUL.Code,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.OPENED .BS 6 - .DA #3 - .AS "NUL" NAME + >PSTR "NUL" NAME .HS 00 NAME must Be 4 bytes long *-------------------------------------- DevMgr.SYS cld jmp (DevMgr.SYS.Code,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ .BS 6 - .DA #3 - .AS "SYS" NAME + >PSTR "SYS" NAME .HS 00 NAME must Be 4 bytes long *-------------------------------------- * Setup AuxLC $FFFE->Kernel IRQ Handler @@ -263,30 +261,31 @@ DevMgrInit stz ZPPtr1 .2 ldy SmartPort.OFS,x Check if there is a smartport firmware lda (ZPPtr1),y cmp SmartPort.SIG,x - bne .3 not a smartport... + bne .8 not a Disk Controller... dex bpl .2 -*SmartPort!!! - jsr DevMgrInit.SP - ldy #A2osX.SLOTS.SP - bra .7 -* Disk II, or Block device ? -.3 dex if x=0, only first SIG byte failed - bpl .8 - + ldy #$ff lda (ZPPtr1),y - bne .4 $0, Disk II, 16sect - + bne .3 $0, Disk II, 16sect + jsr DevMgrInit.DII ldy #A2osX.SLOTS.DII bra .7 - -.4 inc - beq .7 $ff, Disk II, 13sect, ignore + +.3 inc + beq .7 $ff, Disk II 13 Sect, ingnore dec -* Block device - jsr DevMgrInit.BLK + + ldy #7 + lda (ZPPtr1),y + bne .4 $Cn07=00 : smartport + + jsr DevMgrInit.SP + ldy #A2osX.SLOTS.SP + bra .7 + +.4 jsr DevMgrInit.BLK ldy #A2osX.SLOTS.BLK .7 lda ZPPtr1+1 @@ -342,26 +341,24 @@ DevMgrInit.SP ldy #$ff .DA #0 Status .DA SP.CTRL.STATUS bcs .9 - lda SP.STATUS1 + lda SP.CTRL.STATUS.DATA beq .9 no device .2 lda #'1' - sta DEV.HEADER+S.DEV.NAME+2 SxD1 + sta DEV.HEADER+S.DEV.DEVID + sta SP.DEV.STATUS.DEVID .3 jsr $ffff Self Modified .DA #0 Status - .DA DEV.HEADER+S.DEV.S + .DA SP.DEV.STATUS bcs .7 - lda SP.STATUS2+S.DEVSTAT.S + lda SP.DEV.STATUS.DATA+S.DEVSTAT.S sta DEV.HEADER+S.DEV.S + jsr DevMgrInit.AddDev - - - - -.7 inc DEV.HEADER+7 - dec SP.STATUS1 +.7 inc DEV.HEADER+S.DEV.DEVID + dec SP.CTRL.STATUS.DATA bne .3 .9 rts @@ -407,19 +404,22 @@ DEV.HEADER clc .BS 1 >PSTR "S1D1" 5 bytes *-------------------------------------- -SmartPort.OFS .HS 07010305 -SmartPort.SIG .HS 00200003 +SmartPort.OFS .HS 010305 +SmartPort.SIG .HS 200003 *-------------------------------------- SP.CTRL.STATUS .DA #3 .DA #0 - .DA SP.STATUS1 - .DA #0 return S only + .DA SP.CTRL.STATUS.DATA + .DA #0 +SP.CTRL.STATUS.DATA + .BS 8 DevCnt SP.DEV.STATUS .DA #3 +SP.DEV.STATUS.DEVID .BS 1 - .DA SP.STATUS2 + .DA SP.DEV.STATUS.DATA .DA #3 return DIB -SP.STATUS1 .BS 4 -SP.STATUS2 .BS S.DEVSTAT +SP.DEV.STATUS.DATA + .BS S.DEVSTAT *-------------------------------------- EvtMgrInit lda #$A5 sta A2osX.TIMER16