NEW AUTO 3,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 ColIndex .EQ ZPDRV+16 GBYTE .EQ ZPDRV+17 GBYTE2 .EQ ZPDRV+18 GWORD .EQ ZPDRV+20 *-------------------------------------- * Y,A = Ptr to S.CB in MAIN *-------------------------------------- X.OSD >STYA ZPCmdPtr >STYA TXTPTR ldy #S.CB-1 .10 jsr SHARED.TXTPTR.GetY sta CB.Cache,y dey bpl .10 ldy CB.Cache+S.CB.DstPtr lda CB.Cache+S.CB.DstPtr+1 bne .11 Ptr To Aux tya hBM in Aux beq .8 no Src BM jsr K.GetMemPtr .11 >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 .8 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 .DA GETTEXTSIZE *-------------------------------------- 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 K.GetMemPtr BITBLT.1 >STYA ZPSrcBMPtr *-------------------------------------- * GETRECTBUFSIZE * In: * S.CB.SrcW * S.CB.SrcH * Out: * S.CB.DstPtr : Buffer Size (in bytes) *-------------------------------------- GETRECTBUFSIZE GETRECTBUFSIZE.RTS rts *-------------------------------------- * DRAWTEXT * In: * S.CB.S.CB.FONT : hFont * S.CB.SrcPtr : Ptr to Text * Out: * A=hBM *-------------------------------------- DRAWTEXT sec .HS 90 BCC *-------------------------------------- * GETTEXTSIZE * In: * S.CB.S.CB.FONT : hFont * S.CB.SrcPtr : Ptr to Text * Out: * A,X = Width * Y = Height *-------------------------------------- GETTEXTSIZE clc php lda CB.Cache+S.CB.hFONT jsr K.GetMemPtr >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 stz CB.Cache+S.CB.SrcW stz CB.Cache+S.CB.SrcW+1 lda FON.Cache+S.FON.PixH sta CB.Cache+S.CB.SrcH stz CB.Cache+S.CB.SrcH+1 .3 jsr SHARED.TXTPTR.GetNext beq .4 jsr FON.GetChar lda (ZPCharPtr) Get Char PixelW sec adc CB.Cache+S.CB.SrcW sta CB.Cache+S.CB.SrcW bcc .3 inc CB.Cache+S.CB.SrcW+1 bra .3 .4 plp lda CB.Cache+S.CB.SrcW ldx CB.Cache+S.CB.SrcW+1 ldy CB.Cache+S.CB.SrcH bcc GETRECTBUFSIZE.RTS sta DstBM.Cache+S.BM.W stx DstBM.Cache+S.BM.W+1 sty DstBM.Cache+S.BM.H stz DstBM.Cache+S.BM.H+1 lda #S.BM.F.BBP1 sta DstBM.Cache+S.BM.F 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 SHARED.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 8 sta GWORD+1 Update Bit index in Col pla lsr lsr lsr div 8 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 jmp CB.Update *-------------------------------------- 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 eor (ZPTmpPtr),y 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 ldx GBYTE2 init Width counter ldy GWORD get col index in BM .2 jsr CHAR.GetNext asl 8th bit in ->carry eor (ZPTmpPtr),y sta (ZPTmpPtr),y iny bcc .3 lda #1 eor (ZPTmpPtr),y sta (ZPTmpPtr),y .3 dex bne .2 lda ZPTmpPtr Next line... clc adc DstBM.Cache+S.BM.RowBytes sta ZPTmpPtr bcc .4 inc ZPTmpPtr+1 .4 pla get back Height counter dec bne .1 rts *-------------------------------------- * X = ShiftL x2 (Range 4..10) *-------------------------------------- DRAWTEXT.SHIFT26 lda SHIFT8.L-4,x sta .3+1 lda SHIFT8.L-3,x sta .3+2 lda SHIFT8.L-2,x sta .4+1 lda SHIFT8.L-1,x sta .4+2 ldx GWORD+1 ShiftL Index 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 pha 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 eor (ZPTmpPtr),y sta (ZPTmpPtr),y inc ColIndex pla 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 eor (ZPTmpPtr),y 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 bcc .3 pha Other 7 bits for COL 2 lda #$80 eor (ZPTmpPtr),y sta (ZPTmpPtr),y pla get back bit 1->8 already shifted Left 7 (= Shift right 1) .3 iny eor (ZPTmpPtr),y sta (ZPTmpPtr),y dex bne .2 lda ZPTmpPtr clc adc DstBM.Cache+S.BM.RowBytes sta ZPTmpPtr bcc .4 inc ZPTmpPtr+1 .4 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 Compute BM total bytes pha eor #$ff sta ZPTmpPtr+1 tya eor #$ff sta ZPTmpPtr tya clc adc #S.BM tay pla adc /S.BM jsr K.GetMem 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 sta .4+1 lda ZPDstBMPtr+1 adc /S.BM sta ZPDstBMPtr+1 sta .4+2 ldy #0 lda CB.Cache+S.CB.OP and #S.CB.OP.INVERSE beq .3 lda #$ff .3 inc ZPTmpPtr bne .4 inc ZPTmpPtr+1 beq .8 .4 sta $ffff,y iny bne .3 inc .4+2 bra .3 .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 ZPSListDataPtr ldx #0 .1 lda CB.Cache,x jsr SHARED.SetDataByte inx cpx #S.CB bne .1 clc rts *-------------------------------------- CB.Cache .BS S.CB FON.Cache .BS S.FON SrcBM.Cache .BS S.BM DstBM.Cache .BS S.BM *-------------------------------------- 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.L .DA SHIFT8.L2 .DA SHIFT8.L3 .DA SHIFT8.L4 .DA SHIFT8.L5 .DA SHIFT8.L6 .DA SHIFT8.L7 *-------------------------------------- *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 USR/SRC/SYS/KERNEL.S.OSDX LOAD USR/SRC/SYS/KERNEL.S ASM