From eb0182dfd9dedd8899f509ee5038626ace46144a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 30 Sep 2020 17:32:54 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes DRV/PIC.DRV.S.txt | 158 ++++++++++++++++++++++++++++++------ INC/LIBGUI.I.txt | 1 + LIB/LIBGUI.S.DRAW.txt | 10 ++- LIB/LIBGUI.S.MENU.txt | 25 +++--- LIB/LIBGUI.S.WND.txt | 170 +++++++++++++++++++++++++-------------- LIB/LIBGUI.S.txt | 17 ++-- SBIN/GUI.S.txt | 6 +- 8 files changed, 282 insertions(+), 105 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 3c75fa084f690d7cc466c3738d81061ec5ddc589..d5fffda620ca8e7625965fc3c27133f391f192a4 100644 GIT binary patch delta 20934 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 HmCO8p7S@{y delta 17897 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 V2k<-Kzkojg;{Y4eFI;El{XaFF-<<#e diff --git a/DRV/PIC.DRV.S.txt b/DRV/PIC.DRV.S.txt index f99bf2dc..0d9c347b 100644 --- a/DRV/PIC.DRV.S.txt +++ b/DRV/PIC.DRV.S.txt @@ -8,6 +8,7 @@ NEW .INB inc/macros.i .INB inc/a2osx.i .INB inc/mli.e.i + .INB inc/com.i *-------------------------------------- ZPTmpPtr1 .EQ ZPDRV *-------------------------------------- @@ -110,8 +111,8 @@ CS.END DEVSIG.Offset .HS 0507 DEVSIG.Value .HS 4848 DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset -MSG.DETECT .AZ "Apple PIC (Parallel Interface Card).\r\n" -MSG.DETECT.OK .AZ "PIC Installed As Device : %S\r\n" +MSG.DETECT .AZ "Apple PIC (Parallel Interface Card)" +MSG.DETECT.OK .AZ "PIC Installed As Device : %s\r\n" MSG.DETECT.KO .AZ "No PIC Found.\r\n" ARGS .BS 2 *-------------------------------------- @@ -127,6 +128,18 @@ FD.DEV.NAME .AZ "lpt1" *-------------------------------------- * Driver Code *-------------------------------------- +PIC.WDATA .EQ $C080 +PIC.WSTROBE .EQ $C082 +PIC.RCTRL .EQ $C083 +PIC.RACK .EQ $C084 +PIC.STROBE500 .EQ $C085 pin 13 ???? +PIC.IRQEN .EQ $C086 +PIC.IRQDIS .EQ $C087 Reset ACK, DIS AutoStrobe +*-------------------------------------- +ZPIOCTL .EQ ZPDRV +ZPBufPtr .EQ ZPDRV+2 +ZPCount .EQ ZPDRV+4 +*-------------------------------------- DRV.CS.START cld jmp (.1,x) .1 .DA STATUS @@ -137,47 +150,146 @@ DRV.CS.START cld .DA A2osX.BADCALL .DA OPEN .DA CLOSE - .DA A2osX.BADCALL + .DA READ .DA WRITE -L.STAT .DA STAT .DA 0 end or relocation *-------------------------------------- -STATUS >LDYA L.STAT +STATUS jsr STATUS.CONTROL.Init + ldy #S.IOCTL.STATCODE + lda (ZPIOCTL),y + beq .1 + cmp #S.IOCTL.STATCODE.GETDIB + bne STATUS.DCB + ldy #S.DIB-1 + .HS 2C bit abs +.1 ldy #3 + +.2 lda DIB,y + sta (ZPBufPtr),y + dey + bpl .2 + clc + rts + +STATUS.DCB cmp #S.IOCTL.STATCODE.GETDCB + bne .3 + + ldy #S.DCB.COM-1 +.2 lda DCB,y + sta (ZPBufPtr),y + dey + bpl .2 + + clc + rts +.3 cmp #S.IOCTL.STATCODE.EOF + bne STATUS.9 + + lda DIB+S.DIB.S + and #S.DIB.S.OPENED + beq OPEN.E + +.8 clc + rts + +STATUS.9 lda #MLI.E.BADCTL + sec + rts +*-------------------------------------- +CONTROL jsr STATUS.CONTROL.Init + + ldy #S.IOCTL.CTRLCODE + lda (ZPIOCTL),y + cmp #S.IOCTL.CTRLCODE.SETDCB + bne STATUS.9 + ldy #S.DCB.COM-1 +.2 lda (ZPBufPtr),y + sta DCB,y + dey + bpl .2 +*-------------------------------------- +OPEN lda DIB+S.DIB.S + bit #S.DIB.S.OPENED + beq OPEN.1 + +OPEN.E lda #MLI.E.OPEN + sec + rts + +OPEN.1 ldx DEVSLOTn0 + stz PIC.IRQDIS,x + + lda #S.DIB.S.OPENED + tsb DIB+S.DIB.S + clc rts *-------------------------------------- -CONTROL +CLOSE lda #S.DIB.S.OPENED + trb DIB+S.DIB.S + clc rts *-------------------------------------- -OPEN +READ jsr READ.WRITE.Init + clc rts *-------------------------------------- -CLOSE - clc +WRITE jsr READ.WRITE.Init + +.1 inc ZPCount + bne .2 + inc ZPCount+1 + beq .8 + +.2 lda (ZPBufPtr) + inc ZPBufPtr + bne .3 + + inc ZPBufPtr+1 + +.3 sta PIC.WDATA,x +* sta PIC.WSTROBE,x + bra .1 + +.8 clc rts *-------------------------------------- -WRITE - clc +READ.WRITE.Init ldx DEVSLOTn0 + +STATUS.CONTROL.Init + >STYA ZPIOCTL + + ldy #S.IOCTL.BUFPTR + lda (ZPIOCTL),y + sta ZPBufPtr + + iny + + lda (ZPIOCTL),y + sta ZPBufPtr+1 + iny #S.IOCTL.BYTECNT + + lda (ZPIOCTL),y + eor #$ff + sta ZPCount + + iny + + lda (ZPIOCTL),y + eor #$ff + sta ZPCount+1 rts *-------------------------------------- DRV.CS.END -DEVSLOT0n .BS 1 -DEVSLOTCn .BS 1 +*DEVSLOT0n .BS 1 +*DEVSLOTCn .BS 1 DEVSLOTn0 .BS 1 *-------------------------------------- -STAT .DA #S.DIB.S.WRITE +DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ .DA #0,#0,#0 - >PSTR "Parallel Card" - .DA #0,#0,#0 - .DA #S.DIB.T.CHAR - .DA #0 - .DA $0900 -*-------------------------------------- -DIB .DA #S.DIB.S.WRITE - .DA #0,#0,#0 - >PSTR "Serial Card/Port" + >PSTR "Apple // Int Crd" .DA #S.DIB.T.CHAR .DA #0 .DA K.VER diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index 57af569e..53780c4e 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -123,6 +123,7 @@ S.WND.hCUR .EQ S.OBJ+16 S.WND.TitleX1 .EQ S.OBJ+18 S.WND.TitleX2 .EQ S.OBJ+20 S.WND.TBAR.Y2 .EQ S.OBJ+22 +S.WND.MBAR.Y1 .EQ S.OBJ+22 S.WND.MBAR.Y2 .EQ S.OBJ+24 S.WND.SBAR.Y1 .EQ S.OBJ+26 S.WND.InnerW .EQ S.OBJ+28 diff --git a/LIB/LIBGUI.S.DRAW.txt b/LIB/LIBGUI.S.DRAW.txt index 30415849..5c648e0f 100644 --- a/LIB/LIBGUI.S.DRAW.txt +++ b/LIB/LIBGUI.S.DRAW.txt @@ -39,7 +39,7 @@ DrawToYA jsr OBJ.Get .8 clc .9 rts -Draw.Jmp jmp (J.Cmds-S.CB.CMD.DRAWLINE-2,x) +Draw.Jmp jmp (J.Cmds-S.CB.CMD.DRAWLINE,x) *-------------------------------------- * In: Control Block in CB.Cache * CMD @@ -271,11 +271,17 @@ DrawLine.IncX lda DX bra .1 .8 rts *-------------------------------------- -DrawText2 jsr GFXWrite.CB +DrawText2 lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD + + sta CB.Cache+S.CB.CMD + + jsr GFXWrite.CB bcs .9 + jsr GFXWrite.CB lda CB.Cache+S.CB.SrcPtr >SYSCALL2 FreeStkObj + .9 rts *-------------------------------------- diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index 18937320..b7187653 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -16,7 +16,12 @@ MENU.New >STYA ZPPtr1 MENU.Paint MENU.Close *-------------------------------------- -MENU.MBarInit >STYA ZPPtr1 +MENU.MBarInit >STYA ZPMENUPtr + >STYA ZPPtr1 + + ldy #S.MBAR.S + lda (ZPPtr1),y + bmi .80 stz DX stz DX+1 @@ -24,12 +29,12 @@ MENU.MBarInit >STYA ZPPtr1 .1 lda (ZPPtr1) beq .8 - ldy #S.MBAR.TEXT - lda (ZPPtr1),y - pha - iny - lda (ZPPtr1),y - ply + lda #S.MBAR.TEXT + clc + adc ZPPtr1 + tay + lda ZPPtr1+1 + adc #0 ldx hSYSFONB jsr FON.GetTextSize @@ -85,7 +90,7 @@ MENU.MBarInit >STYA ZPPtr1 sta (ZPPtr1),y lda (ZPPtr1) - sec + clc adc ZPPtr1 sta ZPPtr1 bcc .1 @@ -95,9 +100,9 @@ MENU.MBarInit >STYA ZPPtr1 .8 lda #$80 ldy #S.MBAR.S - sta (ZPMENUPtr),y + sta (ZPPtr1),y - clc +.80 clc rts *-------------------------------------- MBAR.New diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index 66499d4a..e145b410 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -203,7 +203,7 @@ WND.Show >SYSCALL2 GetMemPtr tax iny lda (ZPWNDPtr),y - + ldy #S.WND.TBAR.Y2+1 sta (ZPWNDPtr),y txa @@ -253,18 +253,18 @@ WND.Show >SYSCALL2 GetMemPtr .3 ldy #S.WND.MBAR+1 lda (ZPWNDPtr),y beq .7 - + lda Counter+1 clc adc SYSFON.Hp2 sta Counter+1 - + ldy #S.WND.TBAR.Y2 lda (ZPWNDPtr),y clc - adc SYSFON.Hp2 + adc SYSFON.H tax - + iny lda (ZPWNDPtr),y adc #0 @@ -273,24 +273,24 @@ WND.Show >SYSCALL2 GetMemPtr txa dey sta (ZPWNDPtr),y - + lda #S.WND.S.HASMBAR jsr WND.SetStatus - + jsr WND.PaintMBar .7 ldy #S.WND.STATUS+1 lda (ZPWNDPtr),y beq .8 - + lda Counter+1 clc adc SYSFON.Hp2 sta Counter+1 - + lda #S.WND.S.HASSBAR jsr WND.SetStatus - + jsr WND.PaintSBar .8 lda #0 @@ -413,17 +413,17 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT jsr PutA2CBBuf lda #S.CB.M.C16 jsr PutA2CBBuf - + ldx PREFS.TBARCOLORI - + ldy #S.OBJ.S lda (ZPWNDPtr),y and #S.WND.S.ACTIVE beq .10 - + ldx PREFS.TBARCOLORA - -.10 txa + +.10 txa jsr PutA2CBBuf ldy #S.OBJ.X1 @@ -487,7 +487,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT beq .3 pha - + lda L.BM.Close ldx L.BM.Close+1 sta ZPObjPtr @@ -501,19 +501,19 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT iny lda (ZPWNDPtr),y sbc #0 - + tax pla jsr WND.PaintTopBarBMAtAX pla - + .3 bit #S.WND.F.MIN beq .4 - + pha - + lda L.BM.Min ldx L.BM.Min+1 sta ZPObjPtr @@ -527,17 +527,17 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT iny lda (ZPWNDPtr),y sbc #0 - + tax pla jsr WND.PaintTopBarBMAtAX pla - + .4 bit #S.WND.F.MAX beq .8 - + lda L.BM.Max ldx L.BM.Max+1 sta ZPObjPtr @@ -551,7 +551,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT iny lda (ZPWNDPtr),y sbc #0 - + tax pla @@ -630,7 +630,7 @@ WND.PaintTopBarBMAtAX lda #0 S.CB.DstPtr jsr PutA2CBBuf jsr PutA2CBBuf - + rts *-------------------------------------- WND.PaintTopBarTitle @@ -659,9 +659,9 @@ WND.PaintTopBarTitle lda (ZPWNDPtr),y sec sbc CB.Cache+S.CB.SrcW - + sta DX - + iny lda (ZPWNDPtr),y sbc CB.Cache+S.CB.SrcW+1 @@ -669,7 +669,7 @@ WND.PaintTopBarTitle lsr ror DX sta DX+1 - + ldy #S.OBJ.X1 lda (ZPWNDPtr),y clc @@ -681,7 +681,7 @@ WND.PaintTopBarTitle lda (ZPWNDPtr),y adc DX+1 sta CB.Cache+S.CB.X1+1 - + ldy #S.OBJ.Y1 lda (ZPWNDPtr),y clc @@ -698,51 +698,40 @@ WND.PaintTopBarTitle .9 rts *-------------------------------------- -WND.PaintMBar ldy #S.WND.MBAR - lda (ZPWNDPtr),y - sta ZPMENUPtr - iny - lda (ZPWNDPtr),y - sta ZPMENUPtr+1 - - ldy #S.MBAR.S - lda (ZPMENUPtr),y - bmi .1 - - >LDYA ZPMENUPtr - jsr MENU.MBarInit - -.1 jsr CB.Clear +WND.PaintMBar jsr CB.Clear lda #S.CB.CMD.FILLRECT sta CB.Cache+S.CB.CMD + lda #S.CB.OP.SET sta CB.Cache+S.CB.OP + lda #S.CB.M.MONO sta CB.Cache+S.CB.M + lda PREFS.MBARCOLOR - sta CB.Cache+S.CB.OP.COLOR - + sta CB.Cache+S.CB.COLOR + ldy #S.OBJ.X1 lda (ZPWNDPtr),y sta CB.Cache+S.CB.X1 - + iny lda (ZPWNDPtr),y sta CB.Cache+S.CB.X1+1 - + ldy #S.OBJ.X2 lda (ZPWNDPtr),y sta CB.Cache+S.CB.X2 - + iny lda (ZPWNDPtr),y sta CB.Cache+S.CB.X2+1 - ldy #S.WND.TBAR.Y2 + ldy #S.WND.MBAR.Y1 lda (ZPWNDPtr),y sta CB.Cache+S.CB.Y1 - + iny lda (ZPWNDPtr),y sta CB.Cache+S.CB.Y1+1 @@ -750,18 +739,81 @@ WND.PaintMBar ldy #S.WND.MBAR iny #S.WND.MBAR.Y2 lda (ZPWNDPtr),y sta CB.Cache+S.CB.Y2 - + iny lda (ZPWNDPtr),y sta CB.Cache+S.CB.Y2+1 jsr PutCBCache2CBBuf + ldy #S.WND.MBAR + lda (ZPWNDPtr),y + pha + iny + lda (ZPWNDPtr),y + ply + + jsr MENU.MBarInit + +.1 lda (ZPMENUPtr) + beq .8 + + jsr CB.Clear + + lda #S.CB.CMD.DRAWTEXT2 + sta CB.CACHE+S.CB.CMD + + lda #S.CB.OP.SET+S.CB.OP.INVERSE + sta CB.Cache+S.CB.OP + + lda #S.CB.M.MONO + sta CB.Cache+S.CB.M + + lda hSYSFONB + sta CB.CACHE+S.CB.hFont + + ldy #S.MBAR.XT + lda (ZPMENUPtr),y + clc + ldy #S.OBJ.X1 + adc (ZPWNDPtr),y + sta CB.CACHE+S.CB.X1 + ldy #S.MBAR.XT+1 + lda (ZPMENUPtr),y + ldy #S.OBJ.X1+1 + adc (ZPWNDPtr),y + sta CB.CACHE+S.CB.X1+1 + + ldy #S.WND.MBAR.Y1 + lda (ZPWNDPtr),y + sta CB.CACHE+S.CB.Y1 + iny + lda (ZPWNDPtr),y + sta CB.CACHE+S.CB.Y1+1 + + lda #S.MBAR.TEXT + clc + adc ZPMENUPtr + sta CB.CACHE+S.CB.TxtPtr + + lda #0 + adc ZPMENUPtr+1 + sta CB.CACHE+S.CB.TxtPtr+1 + + jsr PutCBCache2CBBuf + + lda (ZPMENUPtr) + clc + adc ZPMENUPtr + sta ZPMENUPtr + bcc .1 + inc ZPMENUPtr+1 + bra .1 .8 clc - -.9 rts + + rts *-------------------------------------- WND.PaintSBar lda #S.CB.CMD.HLINE jsr WND.PaintBorders.H @@ -772,7 +824,7 @@ WND.PaintSBar lda #S.CB.CMD.HLINE iny lda (ZPWNDPtr),y jsr PutA2CBBuf - + ldy #S.OBJ.Y2 lda (ZPWNDPtr),y sec @@ -782,7 +834,7 @@ WND.PaintSBar lda #S.CB.CMD.HLINE lda (ZPWNDPtr),y sbc #0 jsr PutA2CBBuf - + ldy #S.OBJ.X2 lda (ZPWNDPtr),y jsr PutA2CBBuf @@ -843,16 +895,16 @@ WND.PaintSBar lda #S.CB.CMD.HLINE sta CB.Cache+S.CB.M lda PREFS.SBARCOLOR sta CB.Cache+S.CB.OP.COLOR - + lda CB.Cache+S.CB.X1 clc adc CB.Cache+S.CB.SrcW sta CB.Cache+S.CB.X1 - + lda CB.Cache+S.CB.X1+1 adc CB.Cache+S.CB.SrcW+1 sta CB.Cache+S.CB.X1+1 - + ldy #S.OBJ.X2 lda (ZPWNDPtr),y sta CB.Cache+S.CB.X2 diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 1f8b30bf..e9f1e6fc 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -194,13 +194,15 @@ L.Cursors .DA CUR.Arrow .DA CUR.Wait6 J.Clip .DA CLIP.Point SETPIXEL .DA CLIP.Point GETPIXEL - .DA CLIP.HLine - .DA CLIP.VLine + .DA CLIP.HLine HLINE + .DA CLIP.VLine VLINE .DA CLIP.Rect FILLRECT - .DA CLIP.BitBlt + .DA CLIP.BitBlt BITBLT .DA CLIP.Rect GETRECTBUFSIZE - .DA CLIP.Line - .DA CLIP.Text + .DA CLIP.Text DRAWTEXT + .DA CLIP.Text GETTEXTSIZE + .DA CLIP.Line DRAWLINE + .DA CLIP.BitBlt DRAWTEXT2 .DA 0 *-------------------------------------- LIB.LOAD lda LibCount @@ -318,13 +320,14 @@ CB.Get >STYA .1+1 rts *-------------------------------------- -GetCBBuf >LDYAI 256 +GetCBBuf >LDYAI 512 >SYSCALL GetMem bcs .9 stx hCBBuf >STYA ZPCBPtr >STYA ZPCBBufPtr + .9 rts *-------------------------------------- PutCBCache2CBBuf @@ -457,7 +460,7 @@ MENU.Sys .DA #2 ID .DA #0 *-------------------------------------- PREFS.BESTVIEWEDX .DA #$FC -PREFS.MBARXMARGIN .DA #10 +PREFS.MBARXMARGIN .DA #5 PREFS.BORDERCOLOR .DA #C.BLACK PREFS.TBARCOLORA .DA #C16.D.BLUE PREFS.TBARCOLORI .DA #C16.L.BLUE diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index a1b45366..a62097ff 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -126,14 +126,12 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F. >PUSHW L.WND.TITLE >LIBCALL hLIBGUI,LIBGUI.WND.SetProp - lda hWND - >PUSHA + >PUSHB hWND >PUSHBI S.WND.MBAR >PUSHW L.WND.MBAR >LIBCALL hLIBGUI,LIBGUI.WND.SetProp - lda hWND - >PUSHA + >PUSHB hWND >PUSHBI S.WND.STATUS >PUSHW L.WND.STATUS >LIBCALL hLIBGUI,LIBGUI.WND.SetProp