From 9656653843ba1559a82d5e1db520549fe81b3b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 6 Aug 2019 17:58:01 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/GTEST.S.txt | 100 ++++++++++++++++++++++++++--------- INC/GFX.I.txt | 10 ++-- SYS/KERNEL.S.OSDX.txt | 109 +++++++++++++++++++++++---------------- 4 files changed, 146 insertions(+), 73 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index be969482871c27f06a293a03f6baae0a7a9222fe..2f8ef37bd2f32651df221872b4538cf1ff73bccb 100644 GIT binary patch delta 201930 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 j8Z7|cW4n+!o+fz-C8`24>ly_+G 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 Aux type - >PUSHBI $CC Type - >PUSHBI O.RDONLY - >LDYA L.FONTFILE - >SYSCALL LoadStkObj - bcs .99 - stx hFont - - >PUSHWZ Aux type - >PUSHBI $CB Type - >PUSHBI O.RDONLY - >LDYA L.PIXFILE - >SYSCALL LoadStkObj -.99 bcs .9 - stx CB.PIX+S.CB.SrcPtr + jsr LoadResources + bcs .9 >LDYA L.CB.RECT jsr GFX.Write.YA + + >LDYA L.BM.Apple >STYA CB.Apple+S.CB.SrcPtr >LDYA L.CB.PIX jsr GFX.Write.YA + + >LDYA L.CB.Apple jsr GFX.Write.YA + + + lda hFontB + sta CB.TEXTB+S.CB.hFont + + >LDYA L.MESSAGEB + >STYA CB.TEXTB+S.CB.TxtPtr + + >LDYA L.CB.TEXTB + >SYSCALL OSD + bcs .9 + + >LDYA L.CB.TEXTB + jsr GFX.Write.YA + + + lda hFont sta CB.TEXT+S.CB.hFont - + >LDYA L.MESSAGE >STYA CB.TEXT+S.CB.TxtPtr - + >LDYA L.CB.TEXT >SYSCALL OSD bcs .9 @@ -109,11 +120,11 @@ CS.QUIT lda hFont >SYSCALL FreeStkObj .1 lda hFontB - beq .1 + beq .2 >SYSCALL FreeStkObj - lda CB.PIX+S.CB.SrcPtr +.2 lda CB.PIX+S.CB.SrcPtr beq .3 >SYSCALL FreeStkObj @@ -129,6 +140,32 @@ CS.QUIT lda hFont clc rts *-------------------------------------- +LoadResources >PUSHWZ Aux type + >PUSHBI $CC Type + >PUSHBI O.RDONLY + >LDYA L.FONTFILE + >SYSCALL LoadStkObj + bcs .9 + stx hFont + + >PUSHWZ Aux type + >PUSHBI $CC Type + >PUSHBI O.RDONLY + >LDYA L.FONTFILEB + >SYSCALL LoadStkObj + bcs .9 + stx hFontb + + >PUSHWZ Aux type + >PUSHBI $CB Type + >PUSHBI O.RDONLY + >LDYA L.PIXFILE + >SYSCALL LoadStkObj + bcs .9 + stx CB.PIX+S.CB.SrcPtr + +.9 rts +*-------------------------------------- GFX.Open >PUSHBI 0 >LDYA L.DEVNAME.GFX >SYSCALL open @@ -145,9 +182,11 @@ GFX.Write.YA >PUSHYA *-------------------------------------- CS.END DEVNAME.GFX .AZ "/DEV/GFX" -FONTFILE .AZ "${ROOT}SBIN/GUI/SYSX7B" +FONTFILE .AZ "${ROOT}SBIN/GUI/SYSX7" +FONTFILEB .AZ "${ROOT}SBIN/GUI/SYSX7B" PIXFILE .AZ "${ROOT}ROOT/GUITEST/MARILYN" -MESSAGE .AZ " @@@ DHGR & OSD Drivers Test @@@ " +MESSAGEB .AZ " DHGR Driver & OSD 'Off-Screen Driver' Test (SYSX7B Font, Inverse) " +MESSAGE .AZ " 1234567890 abcdefghijklmnopqrstuvwxyz { + - * / } (SYSX7B Font, Normal) " CB.RECT .DA #S.CB.CMD.FILLRECT .DA #S.CB.OP.SET @@ -184,6 +223,19 @@ CB.PIX .DA #S.CB.CMD.BITBLT .BS 2 SrcPtr .DA 0 DSTPTR +CB.TEXTB .DA #S.CB.CMD.DRAWTEXT + .DA #S.CB.OP.SET+S.CB.OP.INVERSE + .DA #S.CB.M.MONO + .BS 1 hFONT + .DA 0 X1 + .DA 0 Y1 + .DA 0 X2 + .DA 0 Y2 + .DA 7 DstX + .DA 1 DstY + .BS 2 TXTPTR + .DA 0 DSTPTR + CB.TEXT .DA #S.CB.CMD.DRAWTEXT .DA #S.CB.OP.SET .DA #S.CB.M.MONO @@ -192,8 +244,8 @@ CB.TEXT .DA #S.CB.CMD.DRAWTEXT .DA 0 Y1 .DA 0 X2 .DA 0 Y2 - .DA 60 DstX - .DA 1 DstY + .DA 50 DstX + .DA 184 DstY .BS 2 TXTPTR .DA 0 DSTPTR diff --git a/INC/GFX.I.txt b/INC/GFX.I.txt index ed4d42d7..366405aa 100644 --- a/INC/GFX.I.txt +++ b/INC/GFX.I.txt @@ -59,10 +59,12 @@ S.CB.OP.SAVE .EQ %00010000 Save Screen to DstPtr before painting S.CB.OP.RESTORE .EQ %00100000 Restore Screen From DstPtr S.CB.OP.COLOR .EQ %01000000 Assume BitMap is COLOR -S.CB.OP.F.B .EQ %00010000 BOLD -S.CB.OP.F.I .EQ %00100000 ITALIC -S.CB.OP.F.U .EQ %01000000 UNDERLINED -S.CB.OP.F.G .EQ %10000000 GREYED +S.CB.OP.INVERSE .EQ %10000000 General Inverse Flag + +S.CB.OP.F.B .EQ %00000001 BOLD +S.CB.OP.F.I .EQ %00000010 ITALIC +S.CB.OP.F.U .EQ %00000100 UNDERLINED +S.CB.OP.F.G .EQ %00001000 GREYED S.CB.M .EQ 2 S.CB.M.MONO .EQ %00000001 b/w (1 bit/pixel) *S.CB.M.C4 .EQ %00000010 diff --git a/SYS/KERNEL.S.OSDX.txt b/SYS/KERNEL.S.OSDX.txt index cf6e8e96..61f4e6f6 100644 --- a/SYS/KERNEL.S.OSDX.txt +++ b/SYS/KERNEL.S.OSDX.txt @@ -8,6 +8,12 @@ ZPTablePtr .EQ ZPDRV+6 ZPCharPtr .EQ ZPDRV+8 ZPSrcBMPtr .EQ ZPDRV+10 ZPTmpPtr .EQ ZPDRV+14 + +ColIndex .EQ ZPDRV+16 +GBYTE .EQ ZPDRV+17 +GBYTE2 .EQ ZPDRV+18 + +GWORD .EQ ZPDRV+20 *-------------------------------------- * Y,A = Ptr to S.CB in MAIN *-------------------------------------- @@ -273,13 +279,13 @@ DRAWTEXT.LOOP jsr SHARED.TXTPTR.GetNext sec +1 for char spacing adc GWORD+1 Add Bit index in Col pha - and #7 mod 7 + and #7 mod 8 sta GWORD+1 Update Bit index in Col pla lsr lsr - lsr + lsr div 8 clc adc GWORD Update Col Index in BM sta GWORD @@ -333,6 +339,7 @@ DRAWTEXT.SHIFT0 lda FON.Cache+S.FON.PixH .10 pla get back Height counter dec bne .6 + rts *-------------------------------------- DRAWTEXT.SHIFT1 lda FON.Cache+S.FON.PixH @@ -369,21 +376,25 @@ DRAWTEXT.SHIFT1 lda FON.Cache+S.FON.PixH .4 pla get back Height counter dec - bne .1 + bne .1 + rts *-------------------------------------- +* X = ShiftL x2 (Range 4..10) +*-------------------------------------- DRAWTEXT.SHIFT26 - ldx GWORD+1 Get Bit Index for shifting - lda SHIFT8.LL-1,x + lda SHIFT8.L-4,x sta .3+1 - lda SHIFT8.LH-1,x + lda SHIFT8.L-3,x sta .3+2 - - lda SHIFT8.LL,x + + lda SHIFT8.L-2,x sta .4+1 - lda SHIFT8.LH,x + lda SHIFT8.L-1,x sta .4+2 + ldx GWORD+1 ShiftL Index + lda FON.Cache+S.FON.PixH .1 pha save Height counter @@ -411,7 +422,7 @@ DRAWTEXT.SHIFT26 and Last.Masks,x x = 2->6, for X=3 : A=xxx00000 lsr Range 0..127 !! A=0xxx0000 - tay but SHIFTL(x+1) A=00000xxx + tay but SHIFTL(X+1) A=00000xxx .4 lda $FFFF,y SELF MODIFIED @@ -582,8 +593,13 @@ BM.Create lda DstBM.Cache+S.BM.W sta ZPDstBMPtr+1 sta .4+2 - lda CB.Cache+S.CB.M Get Background color ldy #0 + + lda CB.Cache+S.CB.OP + and #S.CB.OP.INVERSE + beq .3 + + lda #$ff .3 inc ZPTmpPtr bne .4 @@ -651,10 +667,6 @@ CB.Cache .BS S.CB FON.Cache .BS S.FON SrcBM.Cache .BS S.BM DstBM.Cache .BS S.BM -ColIndex .BS 1 -GBYTE .BS 1 -GBYTE2 .BS 1 -GWORD .BS 2 *-------------------------------------- Mono.NMasks .DA #%11111110 .DA #%11111101 @@ -692,37 +704,44 @@ Last.Masks .DA #%00000000 Useless .DA #%11111100 .DA #%11111110 *-------------------------------------- -SHIFT8.LL .DA #SHIFT8.L1 - .DA #SHIFT8.L2 - .DA #SHIFT8.L3 - .DA #SHIFT8.L4 - .DA #SHIFT8.L5 - .DA #SHIFT8.L6 - .DA #SHIFT8.L7 -SHIFT8.LH .DA /SHIFT8.L1 - .DA /SHIFT8.L2 - .DA /SHIFT8.L3 - .DA /SHIFT8.L4 - .DA /SHIFT8.L5 - .DA /SHIFT8.L6 - .DA /SHIFT8.L7 +SHIFT8.L .DA SHIFT8.L2 + .DA SHIFT8.L3 + .DA SHIFT8.L4 + .DA SHIFT8.L5 + .DA SHIFT8.L6 + .DA SHIFT8.L7 *-------------------------------------- -SHIFT8.L1 .DA #%00000000,#%00000010,#%00000100,#%00000110,#%00001000,#%00001010,#%00001100,#%00001110 - .DA #%00010000,#%00010010,#%00010100,#%00010110,#%00011000,#%00011010,#%00011100,#%00011110 - .DA #%00100000,#%00100010,#%00100100,#%00100110,#%00101000,#%00101010,#%00101100,#%00101110 - .DA #%00110000,#%00110010,#%00110100,#%00110110,#%00111000,#%00111010,#%00111100,#%00111110 - .DA #%01000000,#%01000010,#%01000100,#%01000110,#%01001000,#%01001010,#%01001100,#%01001110 - .DA #%01010000,#%01010010,#%01010100,#%01010110,#%01011000,#%01011010,#%01011100,#%01011110 - .DA #%01100000,#%01100010,#%01100100,#%01100110,#%01101000,#%01101010,#%01101100,#%01101110 - .DA #%01110000,#%01110010,#%01110100,#%01110110,#%01111000,#%01111010,#%01111100,#%01111110 - .DA #%10000000,#%10000010,#%10000100,#%10000110,#%10001000,#%10001010,#%10001100,#%10001110 - .DA #%10010000,#%10010010,#%10010100,#%10010110,#%10011000,#%10011010,#%10011100,#%10011110 - .DA #%10100000,#%10100010,#%10100100,#%10100110,#%10101000,#%10101010,#%10101100,#%10101110 - .DA #%10110000,#%10110010,#%10110100,#%10110110,#%10111000,#%10111010,#%10111100,#%10111110 - .DA #%11000000,#%11000010,#%11000100,#%11000110,#%11001000,#%11001010,#%11001100,#%11001110 - .DA #%11010000,#%11010010,#%11010100,#%11010110,#%11011000,#%11011010,#%11011100,#%11011110 - .DA #%11100000,#%11100010,#%11100100,#%11100110,#%11101000,#%11101010,#%11101100,#%11101110 - .DA #%11110000,#%11110010,#%11110100,#%11110110,#%11111000,#%11111010,#%11111100,#%11111110 +*SHIFT8.LL .DA #SHIFT8.L1 +* .DA #SHIFT8.L2 +* .DA #SHIFT8.L3 +* .DA #SHIFT8.L4 +* .DA #SHIFT8.L5 +* .DA #SHIFT8.L6 +* .DA #SHIFT8.L7 +*SHIFT8.LH .DA /SHIFT8.L1 +* .DA /SHIFT8.L2 +* .DA /SHIFT8.L3 +* .DA /SHIFT8.L4 +* .DA /SHIFT8.L5 +* .DA /SHIFT8.L6 +* .DA /SHIFT8.L7 +*-------------------------------------- +*SHIFT8.L1 .DA #%00000000,#%00000010,#%00000100,#%00000110,#%00001000,#%00001010,#%00001100,#%00001110 +* .DA #%00010000,#%00010010,#%00010100,#%00010110,#%00011000,#%00011010,#%00011100,#%00011110 +* .DA #%00100000,#%00100010,#%00100100,#%00100110,#%00101000,#%00101010,#%00101100,#%00101110 +* .DA #%00110000,#%00110010,#%00110100,#%00110110,#%00111000,#%00111010,#%00111100,#%00111110 +* .DA #%01000000,#%01000010,#%01000100,#%01000110,#%01001000,#%01001010,#%01001100,#%01001110 +* .DA #%01010000,#%01010010,#%01010100,#%01010110,#%01011000,#%01011010,#%01011100,#%01011110 +* .DA #%01100000,#%01100010,#%01100100,#%01100110,#%01101000,#%01101010,#%01101100,#%01101110 +* .DA #%01110000,#%01110010,#%01110100,#%01110110,#%01111000,#%01111010,#%01111100,#%01111110 +* .DA #%10000000,#%10000010,#%10000100,#%10000110,#%10001000,#%10001010,#%10001100,#%10001110 +* .DA #%10010000,#%10010010,#%10010100,#%10010110,#%10011000,#%10011010,#%10011100,#%10011110 +* .DA #%10100000,#%10100010,#%10100100,#%10100110,#%10101000,#%10101010,#%10101100,#%10101110 +* .DA #%10110000,#%10110010,#%10110100,#%10110110,#%10111000,#%10111010,#%10111100,#%10111110 +* .DA #%11000000,#%11000010,#%11000100,#%11000110,#%11001000,#%11001010,#%11001100,#%11001110 +* .DA #%11010000,#%11010010,#%11010100,#%11010110,#%11011000,#%11011010,#%11011100,#%11011110 +* .DA #%11100000,#%11100010,#%11100100,#%11100110,#%11101000,#%11101010,#%11101100,#%11101110 +* .DA #%11110000,#%11110010,#%11110100,#%11110110,#%11111000,#%11111010,#%11111100,#%11111110 SHIFT8.L2 .DA #%00000000,#%00000100,#%00001000,#%00001100,#%00010000,#%00010100,#%00011000,#%00011100 .DA #%00100000,#%00100100,#%00101000,#%00101100,#%00110000,#%00110100,#%00111000,#%00111100 .DA #%01000000,#%01000100,#%01001000,#%01001100,#%01010000,#%01010100,#%01011000,#%01011100