From b4dec5d0eecc1e20e28515cba4237cfb7b0e3631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sun, 19 Jun 2016 22:31:57 +0200 Subject: [PATCH] KM.RAMWORKS:Fixed timing issues (i hope!) --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes DRV/DHGR.DRV.S.txt | 480 ++++++++++++++++++++++-------------------- DRV/DHGR.DRV.T.txt | 208 ++++++++++++++++++ SYS/KM.RAMWORKS.S.txt | 19 +- 5 files changed, 466 insertions(+), 241 deletions(-) create mode 100644 DRV/DHGR.DRV.T.txt diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 22cb1241d9f5ca5554a32193645c0ea17b0bb0a6..5a1892ec81c39dfbe1c085a858bf0e9d006136ef 100644 GIT binary patch delta 1720 zcma)+eQXnD9LJyMt}C^`*1b5oLEEQyw>Jkk${0`aB^r&c7eahN41b_S{bNCSQDTG` z(%aT6WBOoSW4gMPj5d%Ra!c15N0W6_5yd5v#v&U3Fip^9nz%HYh>$>iuAQ?H6MfP? z&+k6p-}8I!p6Bi>=c?a^pYma{pPvZhRMa7o)lLQc1W1E(I@_5%hGjYF$MR8CLLS+x_95A)p2Q@C zBY^hLbEJADdQdxxZQCC|)BCDo^?zWM)7 zw3jmJ&gM|2pPnP$H;T<}?SXXWVn|<;YcLXLrfTY$1vX$}YU1ah^~vWW%}8uU+fmG* z3>ITI+K>DOWqR@AyIaZ!rJNr${9_3#vn969PMI~*LTk7coi+xZy4up#-E#_rZQLms zw(;|s1qG0U>FypGxC%0K6&f@72pBA)z{#t%&vy4DZJZ2}HeQAUnT1g;SJjBBk-_6@ zIATb*s%yABJsj*--%8V8WF)nvC0w{Yo4HOEk?bufU=Mk@pbn-twRH=GA@ zMb#x}YPW#E`91(5Y|4K=e4j9Dx*lmyS%t7mpk=7mTgCaI8$nKCh$t-7a!X9BqBUaS z&d|8cmWT7lt(}Eh8P2+!eBHxRhtNW>N5n02_4&(b?C6BLdvC1N2(FbaqOdaz-!X+Cq^&31@W)va)0+361W#1yJ$ za%`!mAK9+N+KDS{08Qo+xeupcK+n8aq3iEp(gDbP|B)XWUV7A7ba(&|ZS;LxYSf3E zDB?q4CZ?B9ddJM}Q76J~vs=qxfF2k@4dB3I;AhZ5tKDtWffZm4z`(RrVkv-d83@8k Nra*70_w?^@%b(~ei2wiq delta 4417 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 YKNRKQgc3yV)uq`I<}Lcg59!dq068tAqW}N^ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index caa6a8dc635890d0fef085f0f924a76c9a14ac1e..45ab156f7d0c2dba5bc0889714cac9cab26cdc08 100644 GIT binary patch delta 19741 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 delta 15642 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 W81g0l-~atD2LH>0|A%R?1OFd}!kR?@ diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 138d4206..a77f833d 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -13,8 +13,10 @@ AUTO 6 .INB INC/IO.I .INB INC/LIBGFX.I *-------------------------------------- -ZPBASE .EQ ZPDRV +ZPBase .EQ ZPDRV ZPBitBlt .EQ ZPDRV+2 +ZPShiftLo .EQ ZPDRV+4 +ZPShiftHi .EQ ZPDRV+6 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -72,6 +74,14 @@ DRV.CS.START .DA OPEN .DA HIDECUR .DA SHOWCUR L.DEVINFO .DA DEVINFO +L.DIV7.0 .DA DIV7.0 +L.DIV7.256 .DA DIV7.256 +L.DIV7.512 .DA DIV7.512 +L.MOD7.0 .DA MOD7.0 +L.MOD7.256 .DA MOD7.256 +L.MOD7.512 .DA MOD7.512 +L.Shift0.Lo .DA Shift0.lo +L.Shift0.Hi .DA Shift0.hi .DA 0 end or relocation *-------------------------------------- OPEN ldy #S.DEV.ID @@ -82,7 +92,91 @@ OPEN ldy #S.DEV.ID lda #3 sta A2osX.ASCREEN - clc + lda L.DIV7.0+1 + sta DIV7.hi + lda L.DIV7.256+1 + sta DIV7.hi+1 + lda L.DIV7.512+1 + sta DIV7.hi+2 + + lda L.MOD7.0+1 + sta MOD7.hi + lda L.MOD7.256+1 + sta MOD7.hi+1 + lda L.MOD7.512+1 + sta MOD7.hi+2 + + ldx #7 + lda L.Shift0.Lo+1 +.10 sta Shiftlo.hi,x + inc + dex + bne .10 + + ldx #7 + lda L.Shift0.hi+1 +.11 sta Shifthi.hi,x + inc + dex + bne .11 + + ldy #0 + +.12 sty CX + stz CX+1 + + lda CX + sta Shift0.lo,y + lda CX+1 + sta Shift0.hi,y + + lsr CX + ror CX+1 + lda CX + sta Shift1.lo,y + lda CX+1 + sta Shift1.hi,y + + lsr CX + ror CX+1 + lda CX + sta Shift2.lo,y + lda CX+1 + sta Shift2.hi,y + + lsr CX + ror CX+1 + lda CX + sta Shift3.lo,y + lda CX+1 + sta Shift3.hi,y + + lsr CX + ror CX+1 + lda CX + sta Shift4.lo,y + lda CX+1 + sta Shift4.hi,y + + lsr CX + ror CX+1 + lda CX + sta Shift5.lo,y + lda CX+1 + sta Shift5.hi,y + + lsr CX + ror CX+1 + lda CX + sta Shift6.lo,y + lda CX+1 + sta Shift6.hi,y + + iny + beq .8 + jmp .12 + +.8 clc rts *-------------------------------------- GETEVENT lda A2osX.ASCREEN @@ -167,13 +261,13 @@ SETPIXEL.XOR >PULLYA Y=X.LO,A=X.HI .4 >PULLA Pull Y tax lda BASEL,x setup line Base Ptr - sta ZPBASE + sta ZPBase lda BASEH,x - sta ZPBASE+1 + sta ZPBase+1 - lda (ZPBASE),y + lda (ZPBase),y eor Mono.Masks,x - sta (ZPBASE),y + sta (ZPBase),y sta CLR80STORE rts @@ -208,24 +302,24 @@ SETPIXEL.1 lsr .41 ldy CY adc BASEL,y setup line Base Ptr - sta ZPBASE + sta ZPBase lda BASEH,y - sta ZPBASE+1 + sta ZPBase+1 >PULLA Pull Color lsr bcs .6 set white pixel - lda (ZPBASE) + lda (ZPBase) and Mono.NMasks,x includes And $7F for mono - sta (ZPBASE) + sta (ZPBase) sta CLR80STORE rts -.6 lda (ZPBASE) +.6 lda (ZPBase) and #$7F switch back this byte to mono ora Mono.Masks,x - sta (ZPBASE) + sta (ZPBase) sta CLR80STORE rts *-------------------------------------- @@ -244,9 +338,9 @@ SETPIXEL.COLOR >PULLW CX Get X.LO... ldx CY adc BASEL,x setup line Base Ptr (cc by asl) - sta ZPBASE ZPBASE now point to first of... + sta ZPBase ZPBase now point to first of... lda BASEH,x - sta ZPBASE+1 ...the 4 columns + sta ZPBase+1 ...the 4 columns lda MOD7.0,y get MOD @@ -267,10 +361,10 @@ SETPIXEL.COLOR >PULLW CX Get X.LO... sta SETPAGE2 - lda (ZPBASE) + lda (ZPBase) and Color.NMasks,x reset existing pixel, ora GBYTE - sta (ZPBASE) + sta (ZPBase) .1 inx iny @@ -282,12 +376,12 @@ SETPIXEL.COLOR >PULLW CX Get X.LO... sta CLRPAGE2 - lda (ZPBASE) + lda (ZPBase) and Color.NMasks,x reset existing pixel, ora GBYTE - sta (ZPBASE) + sta (ZPBase) -.2 inc ZPBASE +.2 inc ZPBase inx iny @@ -298,10 +392,10 @@ SETPIXEL.COLOR >PULLW CX Get X.LO... sta SETPAGE2 - lda (ZPBASE) + lda (ZPBase) and Color.NMasks,x reset existing pixel, ora GBYTE - sta (ZPBASE) + sta (ZPBase) .3 inx iny @@ -313,10 +407,10 @@ SETPIXEL.COLOR >PULLW CX Get X.LO... sta CLRPAGE2 - lda (ZPBASE) + lda (ZPBase) and Color.NMasks,x reset existing pixel, ora GBYTE - sta (ZPBASE) + sta (ZPBase) .8 sta CLR80STORE rts @@ -351,7 +445,7 @@ BITBLT >STYA ZPBitBlt clc rts *-------------------------------------- -SETCURPOS >STYA ZPBASE +SETCURPOS >STYA ZPBase ldy #3 .1 lda (ZPBase),y @@ -369,7 +463,7 @@ SETCURPOS >STYA ZPBASE SETCUR >STYA ZPBase ldy #S.CUR-1 .1 lda (ZPBase),y - sta CUR.BitMap,y + sta CUR.Buf,y dey bpl .1 @@ -381,232 +475,148 @@ SETCUR >STYA ZPBase rts *-------------------------------------- SHOWCUR bit CUR.State - bmi .8 + bpl SHOWCUR.I + clc + rts -SHOWCUR.I lda CUR.X +SHOWCUR.I sta SET80STORE + + ldx CUR.X+1 + lda DIV7.hi,x + sta .71+2 + lda MOD7.hi,x + sta .72+2 + ldx CUR.X +.71 lda DIV7.0,x + lsr + sta SB.StartCol + lda #0 + sbc #0 + sta SB.StartPage + +.72 ldy MOD7.0,x + lda Shiftlo.Hi,y + sta ZPShiftLo+1 + lda ShiftHi.Hi,y + sta ZPShiftHi+1 + + lda L.Shift0.Lo + sta ZPShiftLo + lda L.Shift0.hi + sta ZPShifthi + + lda CUR.Y + sta CY + + ldx #0 index to CUR data/mask + +.1 ldy CY + lda BaseL,y + clc + adc SB.StartCol + sta ZPBase + + lda BaseH,y + sta ZPBase+1 + + lda SB.StartPage + sta SB.Page + + lda SB.Page + tay + eor #1 + sta SB.Page + sta CLRPAGE2,y + + lda (ZPBase) + ldy CUR.Buf+S.CUR.MASK,x + and (ZPShiftLo),y + ldy CUR.Buf+S.CUR.DATA,x + ora (ZPShiftLo),y + sta (ZPBase) + + lda SB.Page + tay + eor #1 + sta SB.Page + sta CLRPAGE2,y + beq .3 + inc ZPBase + +.3 lda (ZPBase) + ldy CUR.Buf+S.CUR.MASK,x + and (ZPShiftHi),y + ldy CUR.Buf+S.CUR.DATA,x + ora (ZPShiftHi),y + inx + ldy CUR.Buf+S.CUR.MASK,x + and (ZPShiftLo),y + ldy CUR.Buf+S.CUR.DATA,x + ora (ZPShiftLo),y + sta (ZPBase) + + lda SB.Page + tay + eor #1 + sta SB.Page + sta CLRPAGE2,y + beq .4 + inc ZPBase + +.4 lda (ZPBase) + ldy CUR.Buf+S.CUR.MASK,x + and (ZPShiftHi),y + ldy CUR.Buf+S.CUR.DATA,x + ora (ZPShiftHi),y + sta (ZPBase) + + inx + cpx #32 + bne .1 + + sta CLR80STORE sec ror CUR.State -.8 clc + +SHOWCUR.RTS clc rts *-------------------------------------- HIDECUR bit CUR.State - bpl .8 + bpl HIDECUR.RTS HIDECUR.I clc ror CUR.State -.8 clc +HIDECUR.RTS clc rts *-------------------------------------- DRV.CS.END *-------------------------------------- -Shift.0 .HS 0000000000000000 - .HS 0120040810204000 +Shift0.lo .BS 256 +Shift0.hi .BS 256 +Shift1.lo .BS 256 +Shift1.hi .BS 256 +Shift2.lo .BS 256 +Shift2.hi .BS 256 +Shift3.lo .BS 256 +Shift3.hi .BS 256 +Shift4.lo .BS 256 +Shift4.hi .BS 256 +Shift5.lo .BS 256 +Shift5.hi .BS 256 +Shift6.lo .BS 256 +Shift6.hi .BS 256 *-------------------------------------- -Shift.1 .HS 0000000000000000 - .HS 0000000000000001 + .INB DRV/DHGR.DRV.T *-------------------------------------- -*-------------------------------------- -Mono.NMasks .DA #%01111110 - .DA #%01111101 - .DA #%01111011 - .DA #%01110111 - .DA #%01101111 - .DA #%01011111 - .DA #%00111111 -*-------------------------------------- -Mono.Masks .DA #%00000001 - .DA #%00000010 - .DA #%00000100 - .DA #%00001000 - .DA #%00010000 - .DA #%00100000 - .DA #%01000000 -*-------------------------------------- -* bits to "and" to reset color of pixel (0 means nothing to do) -* 4 bytes * 7 mods -*-------------------------------------- -* c1110000 c3322221 c5444433 c6666555 -Color.NMasks .DA #%01110000,#%00000000,#%00000000,#%00000000 - .DA #%00001111,#%01111110,#%00000000,#%00000000 - .DA #%00000000,#%01100001,#%00000000,#%00000000 - .DA #%00000000,#%00011111,#%01111100,#%00000000 - .DA #%00000000,#%00000000,#%01000011,#%00000000 - .DA #%00000000,#%00000000,#%00111111,#%01111000 - .DA #%00000000,#%00000000,#%00000000,#%00000111 -*-------------------------------------- -* bits to "and" to Get color of pixel (0 means nothing to do) -* 4 bytes * 7 mods -*-------------------------------------- -* c1110000 c3322221 c5444433 c6666555 -Color.Masks .DA #%10001111,#%00000000,#%00000000,#%00000000 - .DA #%11110000,#%00000001,#%00000000,#%00000000 - .DA #%00000000,#%10011110,#%00000000,#%00000000 - .DA #%00000000,#%11100000,#%00000011,#%00000000 - .DA #%00000000,#%00000000,#%10111100,#%00000000 - .DA #%00000000,#%00000000,#%11000000,#%00000111 - .DA #%00000000,#%00000000,#%00000000,#%11111000 -*-------------------------------------- -* bits to "ora" to set color of pixel (including "color bit set" for byte hosting bit0) -* 4 bytes * 16 Colors -*-------------------------------------- -* c1110000 c3322221 c5444433 c6666555 -Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disable) - .DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disable) - .DA #%10010001,#%10100010,#%11000100,#%10001000 dark blue - .DA #%10100010,#%11000100,#%10001000,#%10010001 dark green - .DA #%10110011,#%11100110,#%11001100,#%10011001 medium blue - .DA #%11000100,#%10001000,#%10010001,#%10100010 brown - .DA #%11010101,#%10101010,#%11010101,#%10101010 grey2 - .DA #%11100110,#%11001100,#%10011001,#%10110011 green - .DA #%11110111,#%11101110,#%11011101,#%10111011 aqua - .DA #%10001000,#%10010001,#%10100010,#%11000100 Magenta - .DA #%10011001,#%10110011,#%11100110,#%11001100 violet - .DA #%10101010,#%11010101,#%10101010,#%11010101 grey1 - .DA #%10111011,#%11110111,#%11101110,#%11011101 light blue - .DA #%11001100,#%10011001,#%10110011,#%11100110 orange - .DA #%11011101,#%10111011,#%11110111,#%11101110 pink - .DA #%11101110,#%11011101,#%10111011,#%11110111 yellow -*-------------------------------------- -DIV7.0 .HS 0000000000000001010101010101 - .HS 0202020202020203030303030303 - .HS 0404040404040405050505050505 - .HS 0606060606060607070707070707 - .HS 0808080808080809090909090909 - .HS 0A0A0A0A0A0A0A0B0B0B0B0B0B0B - .HS 0C0C0C0C0C0C0C0D0D0D0D0D0D0D - .HS 0E0E0E0E0E0E0E0F0F0F0F0F0F0F - .HS 1010101010101011111111111111 - .HS 1212121212121213131313131313 - .HS 1414141414141415151515151515 - .HS 1616161616161617171717171717 - .HS 1818181818181819191919191919 - .HS 1A1A1A1A1A1A1A1B1B1B1B1B1B1B - .HS 1C1C1C1C1C1C1C1D1D1D1D1D1D1D - .HS 1E1E1E1E1E1E1E1F1F1F1F1F1F1F - .HS 2020202020202021212121212121 - .HS 2222222222222223232323232323 - .HS 24242424 -DIV7.256 .HS 24242425252525252525 - .HS 2626262626262627272727272727 - .HS 2828282828282829292929292929 - .HS 2A2A2A2A2A2A2A2B2B2B2B2B2B2B - .HS 2C2C2C2C2C2C2C2D2D2D2D2D2D2D - .HS 2E2E2E2E2E2E2E2F2F2F2F2F2F2F - .HS 3030303030303031313131313131 - .HS 3232323232323233333333333333 - .HS 3434343434343435353535353535 - .HS 3636363636363637373737373737 - .HS 3838383838383839393939393939 - .HS 3A3A3A3A3A3A3A3B3B3B3B3B3B3B - .HS 3C3C3C3C3C3C3C3D3D3D3D3D3D3D - .HS 3E3E3E3E3E3E3E3F3F3F3F3F3F3F - .HS 4040404040404041414141414141 - .HS 4242424242424243434343434343 - .HS 4444444444444445454545454545 - .HS 4646464646464647474747474747 - .HS 4848484848484849 -DIV7.512 .HS 494949494949 - .HS 4A4A4A4A4A4A4A4B4B4B4B4B4B4B - .HS 4C4C4C4C4C4C4C4D4D4D4D4D4D4D - .HS 4E4E4E4E4E4E4E4F4F4F4F4F4F4F -*-------------------------------------- -MOD7.0 .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 00010203 -MOD7.256 .HS 04050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600 -MOD7.512 .HS 010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 - .HS 0001020304050600010203040506 -*-------------------------------------- -BASEL .HS 00.00.00.00.00.00.00.00 - .HS 80.80.80.80.80.80.80.80 - .HS 00.00.00.00.00.00.00.00 - .HS 80.80.80.80.80.80.80.80 - .HS 00.00.00.00.00.00.00.00 - .HS 80.80.80.80.80.80.80.80 - .HS 00.00.00.00.00.00.00.00 - .HS 80.80.80.80.80.80.80.80 - .HS 28.28.28.28.28.28.28.28 - .HS A8.A8.A8.A8.A8.A8.A8.A8 - .HS 28.28.28.28.28.28.28.28 - .HS A8.A8.A8.A8.A8.A8.A8.A8 - .HS 28.28.28.28.28.28.28.28 - .HS A8.A8.A8.A8.A8.A8.A8.A8 - .HS 28.28.28.28.28.28.28.28 - .HS A8.A8.A8.A8.A8.A8.A8.A8 - .HS 50.50.50.50.50.50.50.50 - .HS D0.D0.D0.D0.D0.D0.D0.D0 - .HS 50.50.50.50.50.50.50.50 - .HS D0.D0.D0.D0.D0.D0.D0.D0 - .HS 50.50.50.50.50.50.50.50 - .HS D0.D0.D0.D0.D0.D0.D0.D0 - .HS 50.50.50.50.50.50.50.50 - .HS D0.D0.D0.D0.D0.D0.D0.D0 -*-------------------------------------- -BASEH .HS 20.24.28.2C.30.34.38.3C - .HS 20.24.28.2C.30.34.38.3C - .HS 21.25.29.2D.31.35.39.3D - .HS 21.25.29.2D.31.35.39.3D - .HS 22.26.2A.2E.32.36.3A.3E - .HS 22.26.2A.2E.32.36.3A.3E - .HS 23.27.2B.2F.33.37.3B.3F - .HS 23.27.2B.2F.33.37.3B.3F - .HS 20.24.28.2C.30.34.38.3C - .HS 20.24.28.2C.30.34.38.3C - .HS 21.25.29.2D.31.35.39.3D - .HS 21.25.29.2D.31.35.39.3D - .HS 22.26.2A.2E.32.36.3A.3E - .HS 22.26.2A.2E.32.36.3A.3E - .HS 23.27.2B.2F.33.37.3B.3F - .HS 23.27.2B.2F.33.37.3B.3F - .HS 20.24.28.2C.30.34.38.3C - .HS 20.24.28.2C.30.34.38.3C - .HS 21.25.29.2D.31.35.39.3D - .HS 21.25.29.2D.31.35.39.3D - .HS 22.26.2A.2E.32.36.3A.3E - .HS 22.26.2A.2E.32.36.3A.3E - .HS 23.27.2B.2F.33.37.3B.3F - .HS 23.27.2B.2F.33.37.3B.3F +DIV7.hi .BS 3 +MOD7.hi .BS 3 +Shiftlo.hi .BS 7 +Shifthi.hi .BS 7 *-------------------------------------- CX .BS 2 CY .BS 1 @@ -615,13 +625,19 @@ GBYTE .BS 1 *-------------------------------------- CUR.State .BS 1 CUR.X .BS 2 +CUR.Xdiv7 .BS 1 +CUR.Xmod7 .BS 1 CUR.Y .BS 2 -CUR.BitMap .BS S.CUR +CUR.Buf .BS S.CUR CUR.SaveCol .BS 1 CUR.SaveColCnt .BS 1 CUR.SaveRow .BS 1 CUR.SaveRowCnt .BS 1 CUR.SaveBuf .BS 3*16 MAX 3 bytes*16 rows +SB.StartPage .BS 1 +SB.Page .BS 1 +SB.StartCol .BS 1 +SB.Col .BS 1 *-------------------------------------- DEVINFO .DA #S.DEVINFO.TYPE.GFX type of DEVINFO STRUCT DEVINFO.MODES .DA #%10000011 XOR,16 & B/W diff --git a/DRV/DHGR.DRV.T.txt b/DRV/DHGR.DRV.T.txt new file mode 100644 index 00000000..92181ae8 --- /dev/null +++ b/DRV/DHGR.DRV.T.txt @@ -0,0 +1,208 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .LIST OFF +*-------------------------------------- +Mono.NMasks .DA #%01111110 + .DA #%01111101 + .DA #%01111011 + .DA #%01110111 + .DA #%01101111 + .DA #%01011111 + .DA #%00111111 +*-------------------------------------- +Mono.Masks .DA #%00000001 + .DA #%00000010 + .DA #%00000100 + .DA #%00001000 + .DA #%00010000 + .DA #%00100000 + .DA #%01000000 +*-------------------------------------- +* bits to "and" to reset color of pixel (0 means nothing to do) +* 4 bytes * 7 mods +*-------------------------------------- +* c1110000 c3322221 c5444433 c6666555 +Color.NMasks .DA #%01110000,#%00000000,#%00000000,#%00000000 + .DA #%00001111,#%01111110,#%00000000,#%00000000 + .DA #%00000000,#%01100001,#%00000000,#%00000000 + .DA #%00000000,#%00011111,#%01111100,#%00000000 + .DA #%00000000,#%00000000,#%01000011,#%00000000 + .DA #%00000000,#%00000000,#%00111111,#%01111000 + .DA #%00000000,#%00000000,#%00000000,#%00000111 +*-------------------------------------- +* bits to "and" to Get color of pixel (0 means nothing to do) +* 4 bytes * 7 mods +*-------------------------------------- +* c1110000 c3322221 c5444433 c6666555 +Color.Masks .DA #%10001111,#%00000000,#%00000000,#%00000000 + .DA #%11110000,#%00000001,#%00000000,#%00000000 + .DA #%00000000,#%10011110,#%00000000,#%00000000 + .DA #%00000000,#%11100000,#%00000011,#%00000000 + .DA #%00000000,#%00000000,#%10111100,#%00000000 + .DA #%00000000,#%00000000,#%11000000,#%00000111 + .DA #%00000000,#%00000000,#%00000000,#%11111000 +*-------------------------------------- +* bits to "ora" to set color of pixel (including "color bit set" for byte hosting bit0) +* 4 bytes * 16 Colors +*-------------------------------------- +* c1110000 c3322221 c5444433 c6666555 +Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disable) + .DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disable) + .DA #%10010001,#%10100010,#%11000100,#%10001000 dark blue + .DA #%10100010,#%11000100,#%10001000,#%10010001 dark green + .DA #%10110011,#%11100110,#%11001100,#%10011001 medium blue + .DA #%11000100,#%10001000,#%10010001,#%10100010 brown + .DA #%11010101,#%10101010,#%11010101,#%10101010 grey2 + .DA #%11100110,#%11001100,#%10011001,#%10110011 green + .DA #%11110111,#%11101110,#%11011101,#%10111011 aqua + .DA #%10001000,#%10010001,#%10100010,#%11000100 Magenta + .DA #%10011001,#%10110011,#%11100110,#%11001100 violet + .DA #%10101010,#%11010101,#%10101010,#%11010101 grey1 + .DA #%10111011,#%11110111,#%11101110,#%11011101 light blue + .DA #%11001100,#%10011001,#%10110011,#%11100110 orange + .DA #%11011101,#%10111011,#%11110111,#%11101110 pink + .DA #%11101110,#%11011101,#%10111011,#%11110111 yellow +*-------------------------------------- +DIV7.0 .HS 0000000000000001010101010101 + .HS 0202020202020203030303030303 + .HS 0404040404040405050505050505 + .HS 0606060606060607070707070707 + .HS 0808080808080809090909090909 + .HS 0A0A0A0A0A0A0A0B0B0B0B0B0B0B + .HS 0C0C0C0C0C0C0C0D0D0D0D0D0D0D + .HS 0E0E0E0E0E0E0E0F0F0F0F0F0F0F + .HS 1010101010101011111111111111 + .HS 1212121212121213131313131313 + .HS 1414141414141415151515151515 + .HS 1616161616161617171717171717 + .HS 1818181818181819191919191919 + .HS 1A1A1A1A1A1A1A1B1B1B1B1B1B1B + .HS 1C1C1C1C1C1C1C1D1D1D1D1D1D1D + .HS 1E1E1E1E1E1E1E1F1F1F1F1F1F1F + .HS 2020202020202021212121212121 + .HS 2222222222222223232323232323 + .HS 24242424 +DIV7.256 .HS 24242425252525252525 + .HS 2626262626262627272727272727 + .HS 2828282828282829292929292929 + .HS 2A2A2A2A2A2A2A2B2B2B2B2B2B2B + .HS 2C2C2C2C2C2C2C2D2D2D2D2D2D2D + .HS 2E2E2E2E2E2E2E2F2F2F2F2F2F2F + .HS 3030303030303031313131313131 + .HS 3232323232323233333333333333 + .HS 3434343434343435353535353535 + .HS 3636363636363637373737373737 + .HS 3838383838383839393939393939 + .HS 3A3A3A3A3A3A3A3B3B3B3B3B3B3B + .HS 3C3C3C3C3C3C3C3D3D3D3D3D3D3D + .HS 3E3E3E3E3E3E3E3F3F3F3F3F3F3F + .HS 4040404040404041414141414141 + .HS 4242424242424243434343434343 + .HS 4444444444444445454545454545 + .HS 4646464646464647474747474747 + .HS 4848484848484849 +DIV7.512 .HS 494949494949 + .HS 4A4A4A4A4A4A4A4B4B4B4B4B4B4B + .HS 4C4C4C4C4C4C4C4D4D4D4D4D4D4D + .HS 4E4E4E4E4E4E4E4F4F4F4F4F4F4F +*-------------------------------------- +MOD7.0 .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 00010203 +MOD7.256 .HS 04050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600 +MOD7.512 .HS 010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 + .HS 0001020304050600010203040506 +*-------------------------------------- +BASEL .HS 00.00.00.00.00.00.00.00 + .HS 80.80.80.80.80.80.80.80 + .HS 00.00.00.00.00.00.00.00 + .HS 80.80.80.80.80.80.80.80 + .HS 00.00.00.00.00.00.00.00 + .HS 80.80.80.80.80.80.80.80 + .HS 00.00.00.00.00.00.00.00 + .HS 80.80.80.80.80.80.80.80 + .HS 28.28.28.28.28.28.28.28 + .HS A8.A8.A8.A8.A8.A8.A8.A8 + .HS 28.28.28.28.28.28.28.28 + .HS A8.A8.A8.A8.A8.A8.A8.A8 + .HS 28.28.28.28.28.28.28.28 + .HS A8.A8.A8.A8.A8.A8.A8.A8 + .HS 28.28.28.28.28.28.28.28 + .HS A8.A8.A8.A8.A8.A8.A8.A8 + .HS 50.50.50.50.50.50.50.50 + .HS D0.D0.D0.D0.D0.D0.D0.D0 + .HS 50.50.50.50.50.50.50.50 + .HS D0.D0.D0.D0.D0.D0.D0.D0 + .HS 50.50.50.50.50.50.50.50 + .HS D0.D0.D0.D0.D0.D0.D0.D0 + .HS 50.50.50.50.50.50.50.50 + .HS D0.D0.D0.D0.D0.D0.D0.D0 +*-------------------------------------- +BASEH .HS 20.24.28.2C.30.34.38.3C + .HS 20.24.28.2C.30.34.38.3C + .HS 21.25.29.2D.31.35.39.3D + .HS 21.25.29.2D.31.35.39.3D + .HS 22.26.2A.2E.32.36.3A.3E + .HS 22.26.2A.2E.32.36.3A.3E + .HS 23.27.2B.2F.33.37.3B.3F + .HS 23.27.2B.2F.33.37.3B.3F + .HS 20.24.28.2C.30.34.38.3C + .HS 20.24.28.2C.30.34.38.3C + .HS 21.25.29.2D.31.35.39.3D + .HS 21.25.29.2D.31.35.39.3D + .HS 22.26.2A.2E.32.36.3A.3E + .HS 22.26.2A.2E.32.36.3A.3E + .HS 23.27.2B.2F.33.37.3B.3F + .HS 23.27.2B.2F.33.37.3B.3F + .HS 20.24.28.2C.30.34.38.3C + .HS 20.24.28.2C.30.34.38.3C + .HS 21.25.29.2D.31.35.39.3D + .HS 21.25.29.2D.31.35.39.3D + .HS 22.26.2A.2E.32.36.3A.3E + .HS 22.26.2A.2E.32.36.3A.3E + .HS 23.27.2B.2F.33.37.3B.3F + .HS 23.27.2B.2F.33.37.3B.3F +*-------------------------------------- +MAN +SAVE DRV/DHGR.DRV.T +LOAD DRV/DHGR.DRV.S +ASM diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index 94285bf3..8125f57c 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -77,7 +77,8 @@ RW.Detect2 php ldx #0 start detection at page $00 .1 stx RWBankSelect - nop + pha + pla lda 0 sta RW.SAVEZP0,x save Bank 0 $0000 to prevent ALTZP trash lda 1 @@ -91,8 +92,8 @@ RW.Detect2 php *-------------------------------------- * Added after David Finnigan from macgui.com testing sessions * - nop - nop + pha + pla * * to address possibly a timing issue with Accelerators *-------------------------------------- @@ -108,8 +109,8 @@ RW.Detect2 php .3 txa sta RWBankSelect - nop - nop + pha + pla cmp 0 bne .4 @@ -124,8 +125,8 @@ RW.Detect2 php .6 sty RWBankSelect - nop - nop + pha + pla lda RW.SAVEZP0,y sta 0 @@ -136,8 +137,8 @@ RW.Detect2 php stz RWBankSelect - nop - nop + pha + pla lda RW.SAVEZP0 Don't forget to restore Bank 0 sta 0