mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-23 13:34:31 +00:00
KM.RAMWORKS:Fixed timing issues (i hope!)
This commit is contained in:
parent
314121b226
commit
b4dec5d0ee
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -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
|
||||
|
208
DRV/DHGR.DRV.T.txt
Normal file
208
DRV/DHGR.DRV.T.txt
Normal file
@ -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
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user