mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
Kernel 0.93+
This commit is contained in:
parent
01f29acdd7
commit
9656653843
Binary file not shown.
100
BIN/GTEST.S.txt
100
BIN/GTEST.S.txt
@ -39,12 +39,15 @@ CS.START cld
|
||||
.DA CS.QUIT
|
||||
L.DEVNAME.GFX .DA DEVNAME.GFX
|
||||
L.FONTFILE .DA FONTFILE
|
||||
L.FONTFILEB .DA FONTFILEB
|
||||
L.PIXFILE .DA PIXFILE
|
||||
L.CB.RECT .DA CB.RECT
|
||||
L.CB.TEXTB .DA CB.TEXTB
|
||||
L.CB.TEXT .DA CB.TEXT
|
||||
L.CB.PIX .DA CB.PIX
|
||||
L.CB.Apple .DA CB.Apple
|
||||
L.BM.Apple .DA BM.Apple
|
||||
L.MESSAGEB .DA MESSAGEB
|
||||
L.MESSAGE .DA MESSAGE
|
||||
|
||||
.DA 0
|
||||
@ -53,42 +56,50 @@ CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN jsr GFX.Open
|
||||
bcs .99
|
||||
bcs .9
|
||||
|
||||
>PUSHWZ 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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user