mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-26 13:49:18 +00:00
779 lines
23 KiB
Plaintext
779 lines
23 KiB
Plaintext
NEW
|
||
PREFIX /A2OSX.BUILD
|
||
AUTO 4,1
|
||
*--------------------------------------
|
||
ZPCmdPtr .EQ ZPDRV
|
||
ZPDstBMPtr .EQ ZPDRV+2
|
||
ZPFontPtr .EQ ZPDRV+4
|
||
ZPTablePtr .EQ ZPDRV+6
|
||
ZPCharPtr .EQ ZPDRV+8
|
||
ZPSrcBMPtr .EQ ZPDRV+10
|
||
ZPTmpPtr .EQ ZPDRV+14
|
||
*--------------------------------------
|
||
* YA =Ptr to S.CB in MAIN
|
||
* X = DstBM hMem
|
||
*--------------------------------------
|
||
X.GUIOSD >STYA ZPCmdPtr
|
||
|
||
>STYA A1L Src Start Address (MAIN)
|
||
pha
|
||
|
||
tya
|
||
clc
|
||
adc #S.CB-1
|
||
sta A2L Src End Address (MAIN)
|
||
pla
|
||
adc /S.CB-1
|
||
sta A2L+1
|
||
|
||
>LDYAI CB.Cache
|
||
>STYA A4L Dst Address (AUX)
|
||
|
||
sec Main To Aux
|
||
jsr AuxMove
|
||
|
||
txa
|
||
beq .3
|
||
|
||
jsr GO.GetMemPtr.A
|
||
|
||
>STYA ZPDstBMPtr
|
||
|
||
ldx #0
|
||
|
||
.1 lda (ZPDstBMPtr)
|
||
sta DstBM.Cache,x
|
||
inc ZPDstBMPtr
|
||
bne .2
|
||
inc ZPDstBMPtr+1
|
||
.2 inx
|
||
cpx #S.BM
|
||
bne .1
|
||
|
||
.3 ldx CB.Cache+S.CB.CMD
|
||
|
||
jmp (J.Cmds,x)
|
||
*--------------------------------------
|
||
J.Cmds .DA SETPIXEL
|
||
.DA GETPIXEL
|
||
.DA HLINE
|
||
.DA VLINE
|
||
.DA FILLRECT
|
||
.DA BITBLT
|
||
.DA GETRECTBUFSIZE
|
||
.DA $ffff DRAWLINE
|
||
.DA DRAWTEXT
|
||
*--------------------------------------
|
||
SETPIXEL >LDYA CB.Cache+S.CB.Y1
|
||
ldx DstBM.Cache+S.BM.RowBytes
|
||
jsr YAMultX
|
||
|
||
pha
|
||
tya
|
||
|
||
clc
|
||
adc ZPDstBMPtr
|
||
sta ZPDstBMPtr
|
||
pla
|
||
adc ZPDstBMPtr+1
|
||
sta ZPDstBMPtr+1
|
||
|
||
lda CB.Cache+S.CB.M
|
||
bit #S.CB.M.C16
|
||
bne SETPIXEL.C16
|
||
|
||
SETPIXEL.MONO lda CB.Cache+S.CB.X1
|
||
pha
|
||
and #$7 MOD 7
|
||
tax
|
||
pla
|
||
lsr CB.Cache+S.CB.X1
|
||
ror
|
||
lsr CB.Cache+S.CB.X1
|
||
ror
|
||
lsr CB.Cache+S.CB.X1
|
||
ror
|
||
clc
|
||
adc ZPDstBMPtr
|
||
sta ZPDstBMPtr
|
||
|
||
lda CB.Cache+S.CB.X1
|
||
adc ZPDstBMPtr+1
|
||
sta ZPDstBMPtr+1
|
||
|
||
lda CB.Cache+S.CB.OP
|
||
* cmp #S.CB.OP.XOR
|
||
beq .2
|
||
|
||
lda CB.Cache+S.CB.COLOR
|
||
bne .1
|
||
|
||
lda (ZPDstBMPtr)
|
||
and Mono.NMasks,x
|
||
sta (ZPDstBMPtr)
|
||
rts
|
||
|
||
.1 lda (ZPDstBMPtr)
|
||
ora Mono.Masks,x
|
||
sta (ZPDstBMPtr)
|
||
rts
|
||
|
||
.2 lda (ZPDstBMPtr)
|
||
eor Mono.Masks,x
|
||
sta (ZPDstBMPtr)
|
||
rts
|
||
SETPIXEL.C16
|
||
*--------------------------------------
|
||
GETPIXEL
|
||
*--------------------------------------
|
||
HLINE
|
||
*--------------------------------------
|
||
VLINE
|
||
*--------------------------------------
|
||
FILLRECT
|
||
*--------------------------------------
|
||
* BitBlt
|
||
* S.CB.X1 : SrcX1 in bitmap/mask
|
||
* S.CB.Y1 : SrcY1
|
||
* S.CB.SrcW : width
|
||
* S.CB.SrcH : height
|
||
|
||
* S.CB.DstX : Destination X (screen)
|
||
* S.CB.DstY : Destination Y (screen)
|
||
|
||
* S.CB.SrcPtr : pointer to S.BM
|
||
* S.CB.SrcPtr+1 = 0, hMem in S.CB.SrcPtr
|
||
* S.CB.DstPtr : pointer to Save Buffer
|
||
*--------------------------------------
|
||
BITBLT >LDYA CB.CACHE+S.CB.SrcPtr
|
||
bne BITBLT.1
|
||
|
||
tya
|
||
jsr GO.GetMemPtr.A
|
||
|
||
BITBLT.1 >STYA ZPSrcBMPtr
|
||
|
||
|
||
*--------------------------------------
|
||
* In:
|
||
* S.CB.SrcW
|
||
* S.CB.SrcH
|
||
* Out:
|
||
* S.CB.DstPtr : Buffer Size (in bytes)
|
||
*--------------------------------------
|
||
GETRECTBUFSIZE
|
||
|
||
GETRECTBUFSIZE.RTS
|
||
rts
|
||
*--------------------------------------
|
||
* In:
|
||
* S.CB.S.CB.FONT : hFont
|
||
* S.CB.SrcPtr : Ptr to Text
|
||
* S.CB.DstPtr : Buffer Size (in bytes)
|
||
* Out:
|
||
* A=hBM
|
||
*--------------------------------------
|
||
DRAWTEXT lda CB.Cache+S.CB.hFONT
|
||
jsr GO.GetMemPtr.A
|
||
>STYA ZPFontPtr
|
||
|
||
ldy #S.FON-1
|
||
|
||
.1 lda (ZPFontPtr),y
|
||
sta FON.Cache,y
|
||
dey
|
||
bpl .1
|
||
|
||
lda ZPFontPtr
|
||
clc
|
||
adc #S.FON
|
||
sta ZPTablePtr
|
||
lda ZPFontPtr+1
|
||
adc /S.FON
|
||
sta ZPTablePtr+1
|
||
|
||
.2 >LDYA CB.Cache+S.CB.TxtPtr
|
||
>STYA TXTPTR
|
||
|
||
lda #S.BM.F.BBP1
|
||
sta DstBM.Cache+S.BM.F
|
||
|
||
stz DstBM.Cache+S.BM.W
|
||
stz DstBM.Cache+S.BM.W+1
|
||
|
||
lda FON.Cache+S.FON.PixH
|
||
sta DstBM.Cache+S.BM.H
|
||
stz DstBM.Cache+S.BM.H+1
|
||
|
||
sta CB.Cache+S.CB.SrcH
|
||
stz CB.Cache+S.CB.SrcH+1
|
||
|
||
.3 jsr TXTPTR.GetNext
|
||
beq .4
|
||
|
||
jsr FON.GetChar
|
||
lda (ZPCharPtr) Get Char PixelW
|
||
sec
|
||
adc DstBM.Cache+S.BM.W
|
||
sta DstBM.Cache+S.BM.W
|
||
bcc .3
|
||
|
||
inc DstBM.Cache+S.BM.W+1
|
||
bra .3
|
||
|
||
.4 >LDYA DstBM.Cache+S.BM.W
|
||
>STYA CB.Cache+S.CB.SrcW
|
||
|
||
jsr BM.Create
|
||
bcs GETRECTBUFSIZE.RTS
|
||
|
||
sta DRAWTEXT.END+1 save hBM, ZPDstBMPtr=BMData
|
||
|
||
>LDYA CB.Cache+S.CB.TxtPtr
|
||
>STYA TXTPTR
|
||
|
||
stz GWORD reset Col index in BM
|
||
stz GWORD+1 reset Bit index in Col
|
||
|
||
DRAWTEXT.LOOP jsr TXTPTR.GetNext
|
||
beq DRAWTEXT.END
|
||
|
||
jsr FON.GetChar
|
||
|
||
lda (ZPCharPtr) Char PixW
|
||
sta GBYTE
|
||
|
||
jsr CHAR.GetNext Char ByteW
|
||
sta GBYTE2
|
||
|
||
>LDYA ZPDstBMPtr
|
||
>STYA ZPTmpPtr
|
||
|
||
lda GWORD+1 Get Bit Index for shifting
|
||
jsr DRAWTEXT.JMP
|
||
|
||
lda GBYTE Get Char PixW
|
||
sec +1 for char spacing
|
||
adc GWORD+1 Add Bit index in Col
|
||
pha
|
||
and #7 mod 7
|
||
sta GWORD+1 Update Bit index in Col
|
||
|
||
pla
|
||
lsr
|
||
lsr
|
||
lsr
|
||
clc
|
||
adc GWORD Update Col Index in BM
|
||
sta GWORD
|
||
bra DRAWTEXT.LOOP
|
||
|
||
DRAWTEXT.END lda #$FF SELF MODIFIED
|
||
sta CB.Cache+S.CB.SrcPtr Save hBM in Src CB
|
||
stz CB.Cache+S.CB.SrcPtr+1
|
||
|
||
lda #S.CB.CMD.BITBLT
|
||
sta CB.Cache+S.CB.CMD
|
||
|
||
jsr CB.Update
|
||
clc
|
||
rts
|
||
*--------------------------------------
|
||
DRAWTEXT.JMP asl
|
||
tax
|
||
jmp (.1,x)
|
||
.1 .DA DRAWTEXT.SHIFT0
|
||
.DA DRAWTEXT.SHIFT1
|
||
.DA DRAWTEXT.SHIFT26
|
||
.DA DRAWTEXT.SHIFT26
|
||
.DA DRAWTEXT.SHIFT26
|
||
.DA DRAWTEXT.SHIFT26
|
||
.DA DRAWTEXT.SHIFT26
|
||
.DA DRAWTEXT.SHIFT7
|
||
*--------------------------------------
|
||
DRAWTEXT.SHIFT0 lda FON.Cache+S.FON.PixH
|
||
|
||
.6 pha save Height counter
|
||
|
||
ldx GBYTE2 init Width counter
|
||
ldy GWORD get col index in BM
|
||
|
||
.7 jsr CHAR.GetNext
|
||
|
||
sta (ZPTmpPtr),y
|
||
iny
|
||
|
||
dex
|
||
bne .7
|
||
|
||
lda ZPTmpPtr
|
||
clc
|
||
adc DstBM.Cache+S.BM.RowBytes
|
||
sta ZPTmpPtr
|
||
bcc .10
|
||
|
||
inc ZPTmpPtr+1
|
||
|
||
.10 pla get back Height counter
|
||
dec
|
||
bne .6
|
||
rts
|
||
*--------------------------------------
|
||
DRAWTEXT.SHIFT1 lda FON.Cache+S.FON.PixH
|
||
|
||
.1 pha save Height counter
|
||
|
||
clc make sure reset first bit in line for initial ORA
|
||
|
||
ldx GBYTE2 init Width counter
|
||
ldy GWORD get col index in BM
|
||
|
||
.2 jsr CHAR.GetNext
|
||
|
||
rol 8th bit in ->carry, 1st bit from carry
|
||
|
||
sta (ZPTmpPtr),y
|
||
iny
|
||
|
||
dex
|
||
bne .2
|
||
|
||
lda ZPTmpPtr Next line...
|
||
clc
|
||
adc DstBM.Cache+S.BM.RowBytes
|
||
sta ZPTmpPtr
|
||
bcc .3
|
||
|
||
inc ZPTmpPtr+1
|
||
|
||
.3 pla get back Height counter
|
||
dec
|
||
bne .1
|
||
rts
|
||
*--------------------------------------
|
||
DRAWTEXT.SHIFT26
|
||
ldx GWORD+1 Get Bit Index for shifting
|
||
lda SHIFT8.LL-1,x
|
||
sta .3+1
|
||
lda SHIFT8.LH-1,x
|
||
sta .3+2
|
||
|
||
lda SHIFT8.LL,x
|
||
sta .4+1
|
||
lda SHIFT8.LH,x
|
||
sta .4+2
|
||
|
||
lda FON.Cache+S.FON.PixH
|
||
|
||
.1 pha save Height counter
|
||
|
||
lda GWORD
|
||
sta ColIndex
|
||
lda GBYTE2
|
||
|
||
.2 pha save Width counter
|
||
|
||
jsr CHAR.GetNext
|
||
|
||
and First.Masks,x x = 2->6, for X=3 : A=000xxxxx
|
||
tay Range 0..127
|
||
|
||
.3 lda $FFFF,y SELF MODIFIED ShiftL3 A=xxxxx000
|
||
|
||
ldy ColIndex get col index in BM
|
||
ora (ZPTmpPtr),y
|
||
sta (ZPTmpPtr),y
|
||
inc ColIndex
|
||
|
||
lda (ZPCharPtr)
|
||
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
|
||
|
||
.4 lda $FFFF,y SELF MODIFIED
|
||
|
||
ldy ColIndex get col index in BM
|
||
sta (ZPTmpPtr),y
|
||
|
||
pla get back Witdh counter
|
||
dec
|
||
bne .2
|
||
|
||
lda ZPTmpPtr
|
||
clc
|
||
adc DstBM.Cache+S.BM.RowBytes
|
||
sta ZPTmpPtr
|
||
bcc .5
|
||
|
||
inc ZPTmpPtr+1
|
||
|
||
.5 pla get back Height counter
|
||
dec
|
||
bne .1
|
||
rts
|
||
*--------------------------------------
|
||
DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH
|
||
|
||
.1 pha save Height counter
|
||
|
||
ldx GBYTE2 init Width counter
|
||
ldy GWORD get col index in BM
|
||
|
||
.2 jsr CHAR.GetNext
|
||
|
||
lsr 1st bit in carry, for COL 1
|
||
pha Other 7 bits for COL 2
|
||
|
||
lda #0
|
||
ror get back 1st bit, -> for bit 8
|
||
|
||
ora (ZPTmpPtr),y
|
||
sta (ZPTmpPtr),y
|
||
iny
|
||
|
||
pla get back bit 1->8 already shifted Left 7 (= Shift right 1)
|
||
sta (ZPTmpPtr),y
|
||
|
||
dex
|
||
bne .2
|
||
|
||
lda ZPTmpPtr
|
||
clc
|
||
adc DstBM.Cache+S.BM.RowBytes
|
||
sta ZPTmpPtr
|
||
bcc .3
|
||
|
||
inc ZPTmpPtr+1
|
||
|
||
.3 pla get back Height counter
|
||
dec
|
||
bne .1
|
||
rts
|
||
*--------------------------------------
|
||
CHAR.GetNext inc ZPCharPtr
|
||
bne .8
|
||
inc ZPCharPtr+1
|
||
.8 lda (ZPCharPtr)
|
||
rts
|
||
*--------------------------------------
|
||
FON.GetChar cmp FON.Cache+S.FON.Last
|
||
bcc .1
|
||
bne .2
|
||
|
||
.1 sec
|
||
sbc FON.Cache+S.FON.First
|
||
bcs .3
|
||
|
||
.2 lda FON.Cache+S.FON.Default
|
||
|
||
.3 asl
|
||
php
|
||
clc
|
||
adc ZPTablePtr
|
||
sta ZPCharPtr
|
||
|
||
lda #0
|
||
adc ZPTablePtr+1
|
||
sta ZPCharPtr+1
|
||
|
||
plp
|
||
bcc .4
|
||
inc ZPCharPtr+1
|
||
|
||
.4 lda (ZPCharPtr)
|
||
clc
|
||
adc ZPFontPtr
|
||
pha
|
||
ldy #1
|
||
lda (ZPCharPtr),y
|
||
adc ZPFontPtr+1
|
||
sta ZPCharPtr+1
|
||
pla
|
||
sta ZPCharPtr
|
||
rts
|
||
*--------------------------------------
|
||
BM.Create lda DstBM.Cache+S.BM.W
|
||
ldx DstBM.Cache+S.BM.W+1
|
||
bit #7
|
||
beq .1
|
||
and #$F8
|
||
clc
|
||
adc #8
|
||
bcc .1
|
||
inx
|
||
|
||
.1 sta DstBM.Cache+S.BM.RowBytes
|
||
txa
|
||
|
||
lsr
|
||
ror DstBM.Cache+S.BM.RowBytes
|
||
lsr
|
||
ror DstBM.Cache+S.BM.RowBytes
|
||
lsr
|
||
ror DstBM.Cache+S.BM.RowBytes
|
||
|
||
>LDYA DstBM.Cache+S.BM.H
|
||
ldx DstBM.Cache+S.BM.RowBytes
|
||
|
||
jsr YAMultX
|
||
|
||
pha
|
||
tya
|
||
clc
|
||
adc #S.BM
|
||
tay
|
||
pla
|
||
adc /S.BM
|
||
jsr GO.GetMem.YA
|
||
bcs .9
|
||
|
||
>STYA ZPDstBMPtr
|
||
|
||
ldy #S.BM-1
|
||
|
||
.2 lda DstBM.Cache,y
|
||
sta (ZPDstBMPtr),y
|
||
dey
|
||
bpl .2
|
||
|
||
lda ZPDstBMPtr
|
||
* clc
|
||
adc #S.BM
|
||
sta ZPDstBMPtr
|
||
bcc .8
|
||
|
||
inc ZPDstBMPtr+1
|
||
|
||
.8 txa hBM
|
||
|
||
clc
|
||
.9 rts
|
||
*--------------------------------------
|
||
* IN:
|
||
* Y,A = num1 (16)
|
||
* X = num2 (8)
|
||
* OUT:
|
||
* Y,A = (Y,A) * X
|
||
*--------------------------------------
|
||
YAMultX stx GBYTE
|
||
|
||
sty GWORD
|
||
sta GWORD+1
|
||
|
||
ldy #0 Result LO
|
||
tya Result HI
|
||
|
||
bra .3
|
||
|
||
.1 pha
|
||
tya
|
||
clc
|
||
adc GWORD
|
||
tay
|
||
pla
|
||
adc GWORD+1
|
||
|
||
.2 asl GWORD
|
||
rol GWORD+1
|
||
|
||
.3 lsr GBYTE
|
||
bcs .1
|
||
bne .2
|
||
rts
|
||
*--------------------------------------
|
||
CB.Update >LDYA ZPCmdPtr
|
||
>STYA A4L Dst Start Address (MAIN)
|
||
|
||
>LDYAI CB.Cache
|
||
>STYA A1L Src Start Address (AUX)
|
||
|
||
>LDYAI CB.Cache+S.CB-1
|
||
>STYA A2L Src End Address (AUX)
|
||
|
||
clc Aux To Main
|
||
jmp AuxMove
|
||
*--------------------------------------
|
||
GO.GetMem.YA ldx #SYS.GetMem.YA
|
||
.HS 2C BIT ABS
|
||
GO.GetMemPtr.A ldx #SYS.GetMemPtr.A
|
||
jmp (K.SYSCALL.JMP,x)
|
||
*--------------------------------------
|
||
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
|
||
.DA #%11111011
|
||
.DA #%11110111
|
||
.DA #%11101111
|
||
.DA #%11011111
|
||
.DA #%10111111
|
||
.DA #%01111111
|
||
*--------------------------------------
|
||
Mono.Masks .DA #%00000001
|
||
.DA #%00000010
|
||
.DA #%00000100
|
||
.DA #%00001000
|
||
.DA #%00010000
|
||
.DA #%00100000
|
||
.DA #%01000000
|
||
.DA #%10000000
|
||
*--------------------------------------
|
||
First.Masks .DA #%11111111 Useless
|
||
.DA #%01111111
|
||
.DA #%00111111
|
||
.DA #%00011111
|
||
.DA #%00001111
|
||
.DA #%00000111
|
||
.DA #%00000011
|
||
.DA #%00000001
|
||
*--------------------------------------
|
||
Last.Masks .DA #%00000000 Useless
|
||
.DA #%10000000
|
||
.DA #%11000000
|
||
.DA #%11100000
|
||
.DA #%11110000
|
||
.DA #%11111000
|
||
.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.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
|
||
.DA #%01100000,#%01100100,#%01101000,#%01101100,#%01110000,#%01110100,#%01111000,#%01111100
|
||
.DA #%10000000,#%10000100,#%10001000,#%10001100,#%10010000,#%10010100,#%10011000,#%10011100
|
||
.DA #%10100000,#%10100100,#%10101000,#%10101100,#%10110000,#%10110100,#%10111000,#%10111100
|
||
.DA #%11000000,#%11000100,#%11001000,#%11001100,#%11010000,#%11010100,#%11011000,#%11011100
|
||
.DA #%11100000,#%11100100,#%11101000,#%11101100,#%11110000,#%11110100,#%11111000,#%11111100
|
||
.DA #%00000001,#%00000101,#%00001001,#%00001101,#%00010001,#%00010101,#%00011001,#%00011101
|
||
.DA #%00100001,#%00100101,#%00101001,#%00101101,#%00110001,#%00110101,#%00111001,#%00111101
|
||
.DA #%01000001,#%01000101,#%01001001,#%01001101,#%01010001,#%01010101,#%01011001,#%01011101
|
||
.DA #%01100001,#%01100101,#%01101001,#%01101101,#%01110001,#%01110101,#%01111001,#%01111101
|
||
.DA #%10000001,#%10000101,#%10001001,#%10001101,#%10010001,#%10010101,#%10011001,#%10011101
|
||
.DA #%10100001,#%10100101,#%10101001,#%10101101,#%10110001,#%10110101,#%10111001,#%10111101
|
||
.DA #%11000001,#%11000101,#%11001001,#%11001101,#%11010001,#%11010101,#%11011001,#%11011101
|
||
.DA #%11100001,#%11100101,#%11101001,#%11101101,#%11110001,#%11110101,#%11111001,#%11111101
|
||
SHIFT8.L3 .DA #%00000000,#%00001000,#%00010000,#%00011000,#%00100000,#%00101000,#%00110000,#%00111000
|
||
.DA #%01000000,#%01001000,#%01010000,#%01011000,#%01100000,#%01101000,#%01110000,#%01111000
|
||
.DA #%10000000,#%10001000,#%10010000,#%10011000,#%10100000,#%10101000,#%10110000,#%10111000
|
||
.DA #%11000000,#%11001000,#%11010000,#%11011000,#%11100000,#%11101000,#%11110000,#%11111000
|
||
.DA #%00000001,#%00001001,#%00010001,#%00011001,#%00100001,#%00101001,#%00110001,#%00111001
|
||
.DA #%01000001,#%01001001,#%01010001,#%01011001,#%01100001,#%01101001,#%01110001,#%01111001
|
||
.DA #%10000001,#%10001001,#%10010001,#%10011001,#%10100001,#%10101001,#%10110001,#%10111001
|
||
.DA #%11000001,#%11001001,#%11010001,#%11011001,#%11100001,#%11101001,#%11110001,#%11111001
|
||
.DA #%00000010,#%00001010,#%00010010,#%00011010,#%00100010,#%00101010,#%00110010,#%00111010
|
||
.DA #%01000010,#%01001010,#%01010010,#%01011010,#%01100010,#%01101010,#%01110010,#%01111010
|
||
.DA #%10000010,#%10001010,#%10010010,#%10011010,#%10100010,#%10101010,#%10110010,#%10111010
|
||
.DA #%11000010,#%11001010,#%11010010,#%11011010,#%11100010,#%11101010,#%11110010,#%11111010
|
||
.DA #%00000011,#%00001011,#%00010011,#%00011011,#%00100011,#%00101011,#%00110011,#%00111011
|
||
.DA #%01000011,#%01001011,#%01010011,#%01011011,#%01100011,#%01101011,#%01110011,#%01111011
|
||
.DA #%10000011,#%10001011,#%10010011,#%10011011,#%10100011,#%10101011,#%10110011,#%10111011
|
||
.DA #%11000011,#%11001011,#%11010011,#%11011011,#%11100011,#%11101011,#%11110011,#%11111011
|
||
SHIFT8.L4 .DA #%00000000,#%00010000,#%00100000,#%00110000,#%01000000,#%01010000,#%01100000,#%01110000
|
||
.DA #%10000000,#%10010000,#%10100000,#%10110000,#%11000000,#%11010000,#%11100000,#%11110000
|
||
.DA #%00000001,#%00010001,#%00100001,#%00110001,#%01000001,#%01010001,#%01100001,#%01110001
|
||
.DA #%10000001,#%10010001,#%10100001,#%10110001,#%11000001,#%11010001,#%11100001,#%11110001
|
||
.DA #%00000010,#%00010010,#%00100010,#%00110010,#%01000010,#%01010010,#%01100010,#%01110010
|
||
.DA #%10000010,#%10010010,#%10100010,#%10110010,#%11000010,#%11010010,#%11100010,#%11110010
|
||
.DA #%00000011,#%00010011,#%00100011,#%00110011,#%01000011,#%01010011,#%01100011,#%01110011
|
||
.DA #%10000011,#%10010011,#%10100011,#%10110011,#%11000011,#%11010011,#%11100011,#%11110011
|
||
.DA #%00000100,#%00010100,#%00100100,#%00110100,#%01000100,#%01010100,#%01100100,#%01110100
|
||
.DA #%10000100,#%10010100,#%10100100,#%10110100,#%11000100,#%11010100,#%11100100,#%11110100
|
||
.DA #%00000101,#%00010101,#%00100101,#%00110101,#%01000101,#%01010101,#%01100101,#%01110101
|
||
.DA #%10000101,#%10010101,#%10100101,#%10110101,#%11000101,#%11010101,#%11100101,#%11110101
|
||
.DA #%00000110,#%00010110,#%00100110,#%00110110,#%01000110,#%01010110,#%01100110,#%01110110
|
||
.DA #%10000110,#%10010110,#%10100110,#%10110110,#%11000110,#%11010110,#%11100110,#%11110110
|
||
.DA #%00000111,#%00010111,#%00100111,#%00110111,#%01000111,#%01010111,#%01100111,#%01110111
|
||
.DA #%10000111,#%10010111,#%10100111,#%10110111,#%11000111,#%11010111,#%11100111,#%11110111
|
||
SHIFT8.L5 .DA #%00000000,#%00100000,#%01000000,#%01100000,#%10000000,#%10100000,#%11000000,#%11100000
|
||
.DA #%00000001,#%00100001,#%01000001,#%01100001,#%10000001,#%10100001,#%11000001,#%11100001
|
||
.DA #%00000010,#%00100010,#%01000010,#%01100010,#%10000010,#%10100010,#%11000010,#%11100010
|
||
.DA #%00000011,#%00100011,#%01000011,#%01100011,#%10000011,#%10100011,#%11000011,#%11100011
|
||
.DA #%00000100,#%00100100,#%01000100,#%01100100,#%10000100,#%10100100,#%11000100,#%11100100
|
||
.DA #%00000101,#%00100101,#%01000101,#%01100101,#%10000101,#%10100101,#%11000101,#%11100101
|
||
.DA #%00000110,#%00100110,#%01000110,#%01100110,#%10000110,#%10100110,#%11000110,#%11100110
|
||
.DA #%00000111,#%00100111,#%01000111,#%01100111,#%10000111,#%10100111,#%11000111,#%11100111
|
||
.DA #%00001000,#%00101000,#%01001000,#%01101000,#%10001000,#%10101000,#%11001000,#%11101000
|
||
.DA #%00001001,#%00101001,#%01001001,#%01101001,#%10001001,#%10101001,#%11001001,#%11101001
|
||
.DA #%00001010,#%00101010,#%01001010,#%01101010,#%10001010,#%10101010,#%11001010,#%11101010
|
||
.DA #%00001011,#%00101011,#%01001011,#%01101011,#%10001011,#%10101011,#%11001011,#%11101011
|
||
.DA #%00001100,#%00101100,#%01001100,#%01101100,#%10001100,#%10101100,#%11001100,#%11101100
|
||
.DA #%00001101,#%00101101,#%01001101,#%01101101,#%10001101,#%10101101,#%11001101,#%11101101
|
||
.DA #%00001110,#%00101110,#%01001110,#%01101110,#%10001110,#%10101110,#%11001110,#%11101110
|
||
.DA #%00001111,#%00101111,#%01001111,#%01101111,#%10001111,#%10101111,#%11001111,#%11101111
|
||
SHIFT8.L6 .DA #%00000000,#%01000000,#%10000000,#%11000000,#%00000001,#%01000001,#%10000001,#%11000001
|
||
.DA #%00000010,#%01000010,#%10000010,#%11000010,#%00000011,#%01000011,#%10000011,#%11000011
|
||
.DA #%00000100,#%01000100,#%10000100,#%11000100,#%00000101,#%01000101,#%10000101,#%11000101
|
||
.DA #%00000110,#%01000110,#%10000110,#%11000110,#%00000111,#%01000111,#%10000111,#%11000111
|
||
.DA #%00001000,#%01001000,#%10001000,#%11001000,#%00001001,#%01001001,#%10001001,#%11001001
|
||
.DA #%00001010,#%01001010,#%10001010,#%11001010,#%00001011,#%01001011,#%10001011,#%11001011
|
||
.DA #%00001100,#%01001100,#%10001100,#%11001100,#%00001101,#%01001101,#%10001101,#%11001101
|
||
.DA #%00001110,#%01001110,#%10001110,#%11001110,#%00001111,#%01001111,#%10001111,#%11001111
|
||
.DA #%00010000,#%01010000,#%10010000,#%11010000,#%00010001,#%01010001,#%10010001,#%11010001
|
||
.DA #%00010010,#%01010010,#%10010010,#%11010010,#%00010011,#%01010011,#%10010011,#%11010011
|
||
.DA #%00010100,#%01010100,#%10010100,#%11010100,#%00010101,#%01010101,#%10010101,#%11010101
|
||
.DA #%00010110,#%01010110,#%10010110,#%11010110,#%00010111,#%01010111,#%10010111,#%11010111
|
||
.DA #%00011000,#%01011000,#%10011000,#%11011000,#%00011001,#%01011001,#%10011001,#%11011001
|
||
.DA #%00011010,#%01011010,#%10011010,#%11011010,#%00011011,#%01011011,#%10011011,#%11011011
|
||
.DA #%00011100,#%01011100,#%10011100,#%11011100,#%00011101,#%01011101,#%10011101,#%11011101
|
||
.DA #%00011110,#%01011110,#%10011110,#%11011110,#%00011111,#%01011111,#%10011111,#%11011111
|
||
SHIFT8.L7 .DA #%00000000,#%10000000,#%00000001,#%10000001,#%00000010,#%10000010,#%00000011,#%10000011
|
||
.DA #%00000100,#%10000100,#%00000101,#%10000101,#%00000110,#%10000110,#%00000111,#%10000111
|
||
.DA #%00001000,#%10001000,#%00001001,#%10001001,#%00001010,#%10001010,#%00001011,#%10001011
|
||
.DA #%00001100,#%10001100,#%00001101,#%10001101,#%00001110,#%10001110,#%00001111,#%10001111
|
||
.DA #%00010000,#%10010000,#%00010001,#%10010001,#%00010010,#%10010010,#%00010011,#%10010011
|
||
.DA #%00010100,#%10010100,#%00010101,#%10010101,#%00010110,#%10010110,#%00010111,#%10010111
|
||
.DA #%00011000,#%10011000,#%00011001,#%10011001,#%00011010,#%10011010,#%00011011,#%10011011
|
||
.DA #%00011100,#%10011100,#%00011101,#%10011101,#%00011110,#%10011110,#%00011111,#%10011111
|
||
.DA #%00100000,#%10100000,#%00100001,#%10100001,#%00100010,#%10100010,#%00100011,#%10100011
|
||
.DA #%00100100,#%10100100,#%00100101,#%10100101,#%00100110,#%10100110,#%00100111,#%10100111
|
||
.DA #%00101000,#%10101000,#%00101001,#%10101001,#%00101010,#%10101010,#%00101011,#%10101011
|
||
.DA #%00101100,#%10101100,#%00101101,#%10101101,#%00101110,#%10101110,#%00101111,#%10101111
|
||
.DA #%00110000,#%10110000,#%00110001,#%10110001,#%00110010,#%10110010,#%00110011,#%10110011
|
||
.DA #%00110100,#%10110100,#%00110101,#%10110101,#%00110110,#%10110110,#%00110111,#%10110111
|
||
.DA #%00111000,#%10111000,#%00111001,#%10111001,#%00111010,#%10111010,#%00111011,#%10111011
|
||
.DA #%00111100,#%10111100,#%00111101,#%10111101,#%00111110,#%10111110,#%00111111,#%10111111
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE /A2OSX.SRC/SYS/KERNEL.S.OSD
|
||
LOAD /A2OSX.SRC/SYS/KERNEL.S
|
||
ASM
|