From 9c457ceed45161b1ee553fc496c97f9e51dbff98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 27 Jan 2017 17:26:09 +0100 Subject: [PATCH] Kernel version 0.9 : Mouse.DRV Migration --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes DRV/CONSOLE.DRV.S.txt | 2 +- DRV/MOUSE.DRV.S.txt | 138 +++++++++++++++++++++++------------------ INC/A2osX.I.txt | 2 + README.md | 6 +- SYS/KERNEL.S.D01.txt | 10 +-- SYS/KERNEL.S.DAT.txt | 4 +- SYS/KERNEL.S.INIT3.txt | 75 +++++++++++++++++++++- 10 files changed, 163 insertions(+), 74 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 0497380496af1c410821e9c72b4f1c26888b16dc..faeebb7c24198c712836b5c7573b7190d74538c7 100644 GIT binary patch delta 1225 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 H?(+Wt{(n2t diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index e83520bc9fcd5f8ba5e1aa2e409aafbb519a557a..a7046dc75ab0a32051f86faa61af877f0628ce5a 100644 GIT binary patch delta 2690 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 delta 9832 zcmeG?340sWwP$3FGxi;Ck|kM|mw3r$#}mnp6PqO<%d)LTwiHQr7FI6`F|lRGcG4s* zD3ip2k`N$ixiJ(7lqPH~Tbt09masNu-yUrrZ7GyT`&!yk3N2gVojdo+mJ@!$^OsN3 z+p&T~OYMV$>% ze0L2Et~0feJ0)nXaOUF5YC5&fR6;7O&|Z;|hYN39ablh6_=$BH=T7G3d>~C}9Z|hu znR_Xed`K_tF}u`%@wK)#DE~LTuE$({wP?&6i9x|9QfzQI9@;!{ zKx>KW9?1Vx>hr}SLEnD*`TL2Iakf%!Rq0Ufu)PG=f zLoZlzq^a?V?fSZK`$*@==J7aKa;2%EfvtM0zb6_D#e4}U%wsTHXJBeQV9#ezz52rG zgNqh#14{ve>_y1rG&&0d+?GO@aD!r%rbdT)p|DVzx^#Fn9R(;h&SkD$YK`=0J|?(U zusS5cjXSZIi``n3T1vQ6OU~4iFR?eDgDJ%vU!{xQ^7ZUe)0(wtQ8ypBu;zHp7IW|{ zy0s&tlpfrYvGDjK5174DUSc9Xw)VX9FSzici+lU}&p_Z0uU~E^loXghJZ?T_{@O zJz**}%{!ZJx-Gj}T0s+?O0{$jea|f~l+LB^Jz*-z@^aXU7J9}m^IXYyQ2(W^+u{dd zNU`D3@Whx0a@xQ!k*aE+2MXKSHnR+|jW#5Az!bOwpm``WxGJXOK)V)P(01ro-k(IH){2eJx(j`ix= zQjjA^%oC*xGf@UHT5x-|wY(dq`q2Q9!6s091R{?P@@j-FUPD(k$WCc3-4s&n(s}gZ zOnI5(e7r`yAF?h0=5`2rA%fa3qA!M&!ldP5e#sfv$?1iu-oyZsaJPY_Z`QUu0Xh9J zHG=$ARX4bycwl;4>+pM9{SmFp+v%@e3Q8QYj1PgbUVL97zBll1%b;d9s zuhNY$MH7v3pPIdiSr7B2GskFBk)5>n5j2`{y6X{hvot|BEtBo^l}F5l(q{VO%SpMk zg?d&gMRe{7vutvIm4*~qqxUS6*IElMLkq)D>UK|JgbK8R<8nH3rP*ehm!$uQC`H-m z6`smnjB~nfxqMqe-d=8!QGd|yi-B_=y*XPhlCGvNMirNBKewf@y?sOR#d>&TXlO8Ti9S3s zfD!ClY=4_x74^pqABFtuVd~QHFOjsde0zzpeR$S3o|bP#h6-*I zDBP3ChQ0=D-w_-dSUQs|YU_}H`zh=lnZ*m^?&z!)#@!tPwWrwwmOE#W#{)Tc3GR&T zyJu}P?(SjSeJ`29VX(IrY~P>7p5X4@+1$zZ;n~9b1!PC4({HF`H{?Gs8<Hs(NS? zsRyZg+g$sY^XZI~P!*IPTth=E#KJ+dnb5 zC4LT&p9p_$2Kixz@u!9*f$}rF9U77KgkULxt|qMH(b*iykKsAX;|y*(9ir3PpMa@4 zZeNqKj`b;^eOp z*!tg`Y8n#f>$L9YW(OTQ8;gsg-+{Iikue{emceR_@^7SFe@!sNu5bN4H>WgQ%9}7X znAiq|Z>58G1Pt&$oDTlB0RJBWZaBhPf&QJ-;r}S$|CEM)tw8_3r-93VhHrxM7jAv_ zciEX)_d?xT|H?6mJ9IIrlD`R=p@IFKY3e-=BP7zsbp-|gm`xCr_l0Tylbd$ghtzvD zTJ*mVj%AjA8_T;v`G|)`Q#ZfMk>; zC|);)+pnYqqJ^VamB=d*q&!GVGu5(qr-UU3+CmpznwK1M2)A>>T(AayWfkWpHzG~- z4)imZ2}dC($}eSrkQkn4Uf%$6H#^@Wp@ZOaeQiBt?`fK|r%5^1l-0Z_n^a^N1zwe# zcK2r8js1jWPhZxazU*UtBJ2>sF{YYsHoTv_6O;v9mH0R$;}8W-ujX8H5zNIu$ad< zj>*m_P?y8pWAv^aSa}_%Pwyag^$!W8=te(6W^*v%83?M^uLmpUHg-jy1__WqQ0Gy9}2@`CCU@jC~$e05m`!N>Y(EwrL<3OoS<|i@d z4PbP#J_$8?%MkXv`apckV1IlcI56d%LaZgY5}ZH(5@KvaK8X~pzW{By;p#Jbdm4*b zUMjB#1ykZg?^aNr#qVvskhEi7WQt6aA8Nu#k=7Rg!v=Ggl$N0Y(<57$MsC3*$t0Fq z*bO-^iwc4j|Kt@E0P7;qy&@1PlG`djhPfHv#=9Z-FW*p@(n$e<}kAxET7JX8-km^hgfv<7@| zy=5G7&cTccrEdehb&9wOF-Nin5JP%&qIY8RI5^$``Xb^U!mKE~(JB%n$_pFHSa;L| zHq47g1<*X17!kS!%#3Jxe_kgag730y!hEgEbthw=}AKD=yBY4XE#qP0=x%32g;%$Oi!x&-+n z_VF?M_=J6YiXYa`n1!WT#d5G>PDCSS1XI^0p9{q|KsHFJ03`8rfvM2&pbbVeHC#x+ zTxi57vjCAf2!~+ied<8Qrldo72L=!&*l;+*B+4CB^NnmyOn@z$o>)Gou!-<=yHab9 zPar_cwm_>F3e;52;+6pl4sHxiaychuc~mv2rBXhvF{ve41$@(4+cDVh97ET{^Op*y&-DYVU9$kTC(n(aUTM^zW+udyPCHk#GC6>hQ4F?Xy3hbL7b^~6|t*Rf9Xb;Urg z$J!vTf#0js>+8Vw+qU%B4dl$sg^p|ynY6C%AX?NwTxSx=BN(08kWKR}-ns}%RH`2) zE-8mr93?iD^*$|_tye;2uCbD{IueNa`4Usr%pg92pRScl+5pKz~GCSUs)>Mdt+b`13}4V9iv@4bV#G_oSK0py(NpSkDqpF$&IB3au) zv+pD|l8=U8CWTG*R+cxmr_0^f1F|2p18HN~8fT6;DQjoX9im!6!U3w^NlFU7A`&8Y z*eekNEB@aT*yzq3Itggo)?j8VOh z@A0tYjrt;fe-|kIOp%3X5d%V#an9Mi^|a|Ysg^FG7aS)}+XivTW{?N*k|mciyi|Ic z*yomQ)&OOr%&W$)f0`84 zZbI~yF^-Z=5xwDX&<~5o@!aqrb{~_>E%e^e(V_T}hlnMqZ;WqStS3e$^z|cS`sQ&> z(?Ffz=U2A00@*Am;vjDe7XdC~5(>5WLH;UI%h{T$RhPGcybV|E+u8Zk<_2Hm$J1sX zwy&c@;qYT}W^jTNHgXv!kM?N2{PZ(PdcP_cF5WSF2V@;7D?5c_?c(Z?cjIE&q%l<3 zxCc)#=ePoJv!f&KIukib;*nkX6?!D}L8|3UmylgtYKwkjlY7_|{OWF7Ho2DzT z1MJt(P0tfs?zO3bHrjdlb<79KqyzMeXGl@aK}5l3@z~LP6Ismt7So_X!Gk_=J?^p! z9LuscRWjq=H4^|e>1}8-NFW5e7epY@-S!S zR>q7YDc^=5+23JFXcQ|Q<#yKZ;^ncmG?LO0A+V!DV0WYotSyS~1Hq0>WLgntB!Lc4 z?-F8L-VBbrktH0frHLxohVRbqf%A;^ByHW-0m}CT&F>4E_ombIMHtOu>^WzeEzO`g zH0H;wtlZB}RX;#aK1Zsg2kE=dk;^Aj`@K+$q3?|JW%=+i`7=@dWB@=VZ%9&z0tZb)?nZ| zN$-0B3x;2$En=UdJk6+X1=lk)|0UwI8K0 zJAyA4j7r1Xy#}n!P44y7cy|`L-<(G7w}Ra71UbCi?`Lde@tcM==*bt!{Oq^5 z5}bbkI`?H_H@V(sLMzV07IRu=;ChEk47SiJ)EVAxSGS>=o@b%8`}VjY2F26Ydt5`wlrX_QLqEZ&SLXP z7NZq>xzFC>yNE;!(4OJ!-h1eCIsv8CSLnEeQQ)oy)yn}bR zq;xrT?BngEqh!`{k611(#bs)JpEw<5vj9Y)ple57C1o~mRIjW2`jWcyD?useU6*?< zUGqL!B2~~U-zOJImGn>e<*4GD_UaTe<3CnhO)vf@IgC?O|B(+!u6?zHDZ`lQtwB-n zfzaZ0^jM}^i!XrRypL2WeM7y8jZkquRp+R4BNqsXVUcqoib}Z%CAqa1tQU(ul#P0| z4gRhk$nO=h8x4;$zqj>cXUpcX0lj;CtY!21`o?A88j$GU|4fQ}#c|wCo2j<@W8sLu zEwBd2`Wcd!AW8d%)A8uw7?kLyO3CU1a_J2GM#kb0XVE@P-B)MW3KFx~nm0-%HN#5J zEm8}lO*B%Z&P$FV1wzt4hr*lLp|xHh zU!6W?+jh#aAWjVI+rQ-0N+4gGId<78$5^npU;ZV>AUiod(AmM2@6f5&soJHTbd6Ij zk#^C|PPI|mP49N9^Q1}o68qXi|Ls(Lg;($sHCIZV(RPjX?+ttDOD@%x&3>PssD#>Y z(BWe2`mdsgiq!?uUV5TfoiFX9e=Np9!_`!Esq?D#8>ho#@%4jSuUg?V<{13xjCoOp vr1csabE!V*T6)NZxUQp*yHpPrOpn^7yN@VpKK}oy_oe^;cwa&nedqrGTP2!O diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index dec8dbf9..a1b5c996 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -798,7 +798,7 @@ EscSeqParam .BS 4 STAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ .DA #0,#0,#0 >PSTR "ANSI 80c Console" - .DA #0 + .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 *-------------------------------------- diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index 9c2452d2..32ef2913 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -9,8 +9,8 @@ AUTO 6 .TF /A2OSX.BOOT/DRV/MOUSE.DRV *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I - .INB /A2OSX.DEV/INC/IO.I .INB /A2OSX.DEV/INC/A2OSX.I + .INB /A2OSX.DEV/INC/PRODOS.I *-------------------------------------- ZPGoMouse .EQ ZPDRV ZPTmpPtr1 .EQ ZPDRV+2 @@ -38,10 +38,20 @@ MOUSEXLOx .EQ $0478 MOUSEYLOx .EQ $04F8 MOUSEXHIx .EQ $0578 MOUSEYHIx .EQ $05F8 +* .EQ $0678 +* .EQ $06F8 MOUSESTSx .EQ $0778 -MOUSESTSx.DOWN .EQ %10000000 -MOUSESTSx.LDOWN .EQ %01000000 -MOUSESTSx.MOVED .EQ %00100000 +MOUSESTSx.DOWN .EQ %10000000 +MOUSESTSx.LDOWN .EQ %01000000 +MOUSESTSx.MOVED .EQ %00100000 +MOUSESTSx.INTVBL .EQ %00001000 +MOUSESTSx.INTBUT .EQ %00000100 +MOUSESTSx.INTMOVE .EQ %00000010 +MOUSEMODx .EQ $07F8 +MOUSEMODx.INTVBL .EQ %00001000 +MOUSEMODx.INTBUT .EQ %00000100 +MOUSEMODx.INTMOVE .EQ %00000010 +MOUSEMODx.ACTIVE .EQ %00000001 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -70,7 +80,7 @@ Dev.Detect >LDYA L.MSG.DETECT lda #$C1 sta ZPTmpPtr1+1 -.1 ldx #DEVSIG.Length-1 +.1 ldx #DEVSIG.Value-DEVSIG.Offset-1 .2 ldy DEVSIG.Offset,x lda (ZPTmpPtr1),y @@ -88,7 +98,7 @@ Dev.Detect >LDYA L.MSG.DETECT >LDYA L.MSG.DETECT.KO >SYSCALL CPrintFYA - lda #DEVMGR.ERRNOHW Not Found in any slot, exiting + lda #MLI.ERR.NODEV sec rts @@ -116,36 +126,46 @@ MSG.DETECT.OK >CSTR "Mouse Installed As Device : %S\n" MSG.DETECT.KO >CSTR "No Mouse Found.\n" DEVSIG.Offset .HS 05070B0CFB DEVSIG.Value .HS 38180120D6 -DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER cld - jmp (DRV.CS.START,x) - .HS 00 DevID - .DA #S.DEV.F.EVENT -DEV.HEADER.NAME >PSTR "MOU1" NAME - .HS 00 - .HS 00.00.00.00 +DEV.HEADER .DA DRV.CS.START + .DA #0 +DEV.HEADER.NAME >PSTR "MOUx" *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START .DA OPEN - .DA GETEVENT - .DA COUT +DRV.CS.START cld + jmp (.1,x) +.1 .DA STATUS + .DA READBLOCK + .DA BADCALL + .DA BADCALL + .DA BADCALL + .DA BADCALL + .DA OPEN .DA CLOSE - .DA GETINFO - .DA IRQ - .DA SELECT -L.DEVINFO .DA DEVINFO + .DA BADCALL + .DA BADCALL +L.DEVSTAT .DA DEVSTAT +L.READBLOCK.FLAGS .DA READBLOCK.FLAGS .DA 0 end or relocation *-------------------------------------- -OPEN -* bit RROMBNK2 Renable ROM to allow MOUSE II firmware - - php to read IIe ROM ID bytes +BADCALL lda #MLI.ERR.BADCALL + sec + rts +*-------------------------------------- +STATUS >LDYA L.DEVSTAT + clc + rts +*-------------------------------------- +OPEN php to read IIe ROM ID bytes sei - lda #1 Enable, Polling mode + + ldx DEVSLOT0n + lda MOUSEMODx,x keep if VBLInt already activated by kernel + and #MOUSEMODx.INTVBL + ora #MOUSEMODx.ACTIVE Enable, Polling mode ldy #SETMOUSE jsr GOMOUSE @@ -182,18 +202,15 @@ OPEN clc rts *-------------------------------------- -GETEVENT lda A2osX.ASCREEN - cmp #3 is DHGR screen active? - bne .9 - - php +READBLOCK php sei ldy #READMOUSE jsr GOMOUSE + stz READBLOCK.FLAGS + ldx DEVSLOT0n - ldy #S.EVT.DATALO lda MOUSESTSx,x and #MOUSESTSx.DOWN+MOUSESTSx.LDOWN @@ -209,61 +226,50 @@ GETEVENT lda A2osX.ASCREEN .1 lda #EVENT.MOUSEDOWN -.2 sta (pEvent),y +.2 sta READBLOCK.FLAGS .3 lda MOUSESTSx,x and #MOUSESTSx.MOVED beq .4 - lda (pEvent),y + lda READBLOCK.FLAGS ora #EVENT.MOUSEMOVE - sta (pEvent),y + sta READBLOCK.FLAGS -.4 ldy #S.EVT.DATAW1 - lda MOUSEXLOx,x - sta (pEvent),y - iny +.4 lda MOUSEXLOx,x + sta READBLOCK.XY lda MOUSEXHIx,x - sta (pEvent),y - iny + sta READBLOCK.XY+1 lda MOUSEYLOx,x - sta (pEvent),y - iny + sta READBLOCK.XY+2 lda MOUSEYHIx,x - sta (pEvent),y - + sta READBLOCK.XY+3 + plp - ldy #S.EVT.DATALO - lda (pEvent),y + + + lda READBLOCK.FLAGS beq .9 - lda #S.EVT.F.MOUSE - sta (pEvent) clc rts -.9 lda #0 Error = no event +.9 lda #MLI.ERR.EOF sec rts *-------------------------------------- -COUT -IRQ -SELECT lda #DEVMGR.ERRUNSUP - sec - rts -*-------------------------------------- CLOSE php sei - lda #0 Disable + ldx DEVSLOT0n + lda MOUSEMODx,x keep if VBLInt already activated by kernel + and #MOUSEMODx.INTVBL Disable ALL but VBLInt if previously active ldy #SETMOUSE jsr GOMOUSE plp clc rts *-------------------------------------- -GETINFO >LDYA L.DEVINFO - clc - rts +* PRIVATE *-------------------------------------- GOMOUSE pha stz ZPGoMouse @@ -280,7 +286,17 @@ DEVSLOT0n .BS 1 DEVSLOTn0 .BS 1 DEVSLOTCn .BS 1 *-------------------------------------- -DEVINFO .DA #S.DEVINFO.TYPE.XY +DEVSTAT .DA #0 + .DA #0,#0,#0 size + >PSTR "Apple II Mouse" + .BS 2 + .DA #S.DEVSTAT.TYPE.XY + .DA #0 + .DA $0900 +*-------------------------------------- +READBLOCK.FLAGS .BS 1 +READBLOCK.XY .BS 4 +*-------------------------------------- MAN SAVE DRV/MOUSE.DRV.S ASM diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 2591bc4c..a794e04d 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -459,6 +459,8 @@ S.DEVSTAT.TYPE.PRINTER .EQ $0D Printer S.DEVSTAT.TYPE.CLOCK .EQ $0E Clock S.DEVSTAT.TYPE.MODEM .EQ $0F Modem S.DEVSTAT.TYPE.NET .EQ $10 Network board +S.DEVSTAT.TYPE.XY .EQ $11 X,Y Pointing Device +S.DEVSTAT.TYPE.CHAR .EQ $12 S.DEVSTAT.SUBTYPE .EQ 22 S.DEVSTAT.SUBTYPE.EXT .EQ $80 S.DEVSTAT.SUBTYPE.DSKSW .EQ $40 diff --git a/README.md b/README.md index 9e4edfb7..4ac2fc74 100644 --- a/README.md +++ b/README.md @@ -76,9 +76,9 @@ In Progress : moving TCPIP to socket API | INSDRV | Working | | 0.9 | | GETTY | Working | | 0.9 | | LOGIN | In Progress | no auth using /etc/passd yet | 0.9 | +| SHELL | Working | (See Internal Shell commands) | 0.9 | | TCPIP | In Progress | New Socket API. ARP,IP,ICMP,UDP ok, TCP in progress | 0.9 | | DHCPCLNT | Working | rewritten to use new Socket API | 0.9 | -| SHELL | Working | (See Internal Shell commands) | 0.9 | | TELNETD | | | | | HTTPD | | | | @@ -118,12 +118,12 @@ note : '$VAR' does NOT expand Variable | PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.8 | | SSC.DRV | In Progress | Apple "Super Serial Card" Driver | 0.8 | | SSC.I.DRV | In Progress | Apple "Super Serial Card" Driver (IRQ enabled) | 0.8 | -| Mouse.DRV | Working | | 0.8 | +| Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9 | | DHGR.DRV | In Progress | except bitblt... | 0.8 | -| LanCeGS.DRV | Working | | 0.8 | | Uthernet.DRV | Working | | 0.9 | | Uthernet2.DRV | Working | | 0.8 | | Uther2.AI.DRV | In Progress | With ARP/IP Offloading | 0.8 | +| LanCeGS.DRV | Working | | 0.8 | ## BIN,External Shell commands: | Name | Status | Comment | K.Ver | diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index e934310e..869f8bd0 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -7,6 +7,8 @@ AUTO 6 *-------------------------------------- DevMgr.SYS.BASL0 .EQ $800 *-------------------------------------- +DevMgr.LoMem .EQ * +*-------------------------------------- DevMgr.NUL.Code cld jmp (.1,x) .1 .DA DevMgr.NUL.Status @@ -29,8 +31,8 @@ DevMgr.NUL.Status *-------------------------------------- DevMgr.NUL.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 - >PSTR "NUL DEVICE " - .DA #0 + >PSTR "NULL DEVICE " + .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 *-------------------------------------- @@ -59,7 +61,7 @@ DevMgr.SYS.Status DevMgr.SYS.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "A2osX SYS Screen" - .DA #0 + .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 *-------------------------------------- @@ -289,7 +291,7 @@ DevMgr.SYS.TITLE >CSTR "A2osX System Screen" DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 DevMgr.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B *-------------------------------------- -DevMgr.LoMem .EQ * +DevMgr.FreeMem .EQ * MAN SAVE SYS/KERNEL.S.D01 LOAD SYS/KERNEL.S diff --git a/SYS/KERNEL.S.DAT.txt b/SYS/KERNEL.S.DAT.txt index b4d0cc58..bc375f09 100644 --- a/SYS/KERNEL.S.DAT.txt +++ b/SYS/KERNEL.S.DAT.txt @@ -5,8 +5,8 @@ INC 1 AUTO 6 .LIST OFF *-------------------------------------- -DevMgr.Stat .DA DevMgr.LoMem Lomem -DevMgr.Free .DA DevMgr.LoMem Free +DevMgr.Stat .DA DevMgr.LoMem +DevMgr.Free .DA DevMgr.FreeMem .DA DevMgr.HiMem DevMgr.Count .DA #2 NUL,SYS *-------------------------------------- diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index e7575f83..306f5362 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -143,14 +143,17 @@ DevMgr.SYS .DA DevMgr.SYS.Code * Setup AuxLC $FFFE->Kernel IRQ Handler * if irq not handled, jmp (S.IrqMgrOldFFFE) *-------------------------------------- +SETMOUSE .EQ $12 Sets mouse mode +INITMOUSE .EQ $19 Resets mouse clamps to default values,sets mouse position to 0,0 +MOUSEMODx.INTVBL .EQ %00001000 +*-------------------------------------- IrqMgrInit php sei >LDYA $FFFE >STYA K.IrqMgrOldFFFE >LDYAI K.IrqHandlerAuxLC >STYA $FFFE - plp - + >LDYAI IrqHandler >STYA MLICALL.PARAMS+2 >MLICALL MLIALLOCIRQ @@ -158,8 +161,74 @@ IrqMgrInit php lda MLICALL.PARAMS+1 sta ProDOS.INTNUM + + stz ZPPtr1 Try finding a Mouse Card... + lda #$C1 + sta ZPPtr1+1 + +.1 ldx #DEVSIG.Value-DEVSIG.Offset-1 -.9 rts +.2 ldy DEVSIG.Offset,x + lda (ZPPtr1),y + cmp DEVSIG.Value,x + bne .3 + dex + bpl .2 + bra .4 + +.3 inc ZPPtr1+1 no match, try next slot.... + lda ZPPtr1+1 + cmp #$C8 + bne .1 + +.8 plp + clc + rts + +.9 plp + sec + rts + +.4 lda ZPPtr1+1 + sta DEVSLOTCn + and #$0F + sta DEVSLOT0n + asl + asl + asl + asl + sta DEVSLOTn0 + + ldx DEVSLOT0n + lda #MOUSEMODx.INTVBL + ldy #SETMOUSE + jsr GOMOUSE + + bit RROMBNK2 Renable ROM to allow MOUSE II firmware + + ldy #INITMOUSE Reset + jsr GOMOUSE + + bit RRAMWRAMBNK1 Back To LC Ram + bit RRAMWRAMBNK1 + + bra .8 + +GOMOUSE pha + stz ZPPtr1 + ldx DEVSLOTCn + stx ZPPtr1+1 + lda (ZPPtr1),y + sta ZPPtr1 + ldy DEVSLOTn0 + pla + jmp (ZPPtr1) +*-------------------------------------- +DEVSIG.Offset .HS 05070B0CFB +DEVSIG.Value .HS 38180120D6 +DEVSLOT0n .BS 1 +DEVSLOTn0 .BS 1 +DEVSLOTCn .BS 1 *-------------------------------------- DevMgrInit stz ZPPtr1 lda #$C1