Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-03 22:55:40 +02:00
parent 69c3710a85
commit 455336548a
9 changed files with 241 additions and 79 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -237,7 +237,9 @@ A2osX.ScreenDLGR
ldx #0 ldx #0
.1 lda SCR.BASEL,x .1 phx
lda SCR.BASEL,x
sta TmpPtr2 sta TmpPtr2
lda SCR.BASEH,x lda SCR.BASEH,x
sta TmpPtr2+1 sta TmpPtr2+1
@ -246,18 +248,21 @@ A2osX.ScreenDLGR
.2 lda (TmpPtr1),y .2 lda (TmpPtr1),y
pha pha
and #$f and #$f
phy tax
tay lda PALETTE.AUX,x
lda PALETTE.AUX,y
ply
sta SETPAGE2 sta SETPAGE2
sta (TmpPtr2),y sta (TmpPtr2),y
pla pla
lsr lsr
lsr lsr
lsr lsr
lsr lsr
tax
lda PALETTE.MAIN,x
sta CLRPAGE2 sta CLRPAGE2
sta (TmpPtr2),y sta (TmpPtr2),y
@ -278,10 +283,9 @@ A2osX.ScreenDLGR
.4 lda (TmpPtr1),y .4 lda (TmpPtr1),y
pha pha
and #$f and #$f
phy
tay tax
lda PALETTE.AUX,y lda PALETTE.AUX,x
ply
asl asl
asl asl
asl asl
@ -289,8 +293,18 @@ A2osX.ScreenDLGR
sta SETPAGE2 sta SETPAGE2
ora (TmpPtr2),y ora (TmpPtr2),y
sta (TmpPtr2),y sta (TmpPtr2),y
pla pla
and #$f0 lsr
lsr
lsr
lsr
tax
lda PALETTE.MAIN,x
asl
asl
asl
asl
sta CLRPAGE2 sta CLRPAGE2
ora (TmpPtr2),y ora (TmpPtr2),y
sta (TmpPtr2),y sta (TmpPtr2),y
@ -307,7 +321,8 @@ A2osX.ScreenDLGR
inc TmpPtr1+1 inc TmpPtr1+1
.7 inx .7 plx
inx
cpx #20 cpx #20
bne .1 bne .1
@ -635,7 +650,10 @@ KM.PREFIX >PSTR "KM."
SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0
SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07
*-------------------------------------- *--------------------------------------
PALETTE.AUX .HS 00080109020A030B040C050D060E070F PALETTE.MAIN .HS 00.0F.05.0A.02.06.07.04
.HS 0C.0E.01.03.0B.08.09.0D
PALETTE.AUX .HS 00.0F.0A.0A.01.03.0B.02
.HS 06.07.08.09.0D.04.0C.0E
*-------------------------------------- *--------------------------------------
.EP .EP
*-------------------------------------- *--------------------------------------

View File

@ -32,21 +32,20 @@ ZPInputRowBytes .BS 2
ZPLineCount .BS 2 ZPLineCount .BS 2
ZPPixelCount .BS 2 ZPPixelCount .BS 2
ZPOutputBuf .BS 2 ZPOutputBuf .BS 2
ZPOutputRowBytes .BS 2 ZPOutputRowBytes .BS 2
ZPPixel24 .BS 3 ZPPixel24 .BS 3
ZPPixelScore .BS 3 ZPPixelScore .BS 3
ZPPixelBest .BS 3
ZPPixelIndex16 .BS 1
ZBTmpB1 .BS 1
ZBTmpW .BS 2
ZPCntX .BS 1 ZPCntX .BS 1
ZPCntY .BS 1 ZPCntY .BS 1
ZPPixelBest .BS 3
ZPPixelIndex16 .BS 1
ZBTmpW1 .BS 2
ZBTmpW2 .BS 2
ZS.END .ED ZS.END .ED
*-------------------------------------- *--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
@ -277,13 +276,16 @@ CS.RUN.24 lda #S.BM.F.BBP4
CS.RUN.24.LOOP inc ZPLineCount CS.RUN.24.LOOP inc ZPLineCount
bne .1 bne .1
inc ZPLineCount+1 inc ZPLineCount+1
beq .8 beq .8
.1 inc ZPCntY .1 inc ZPCntY
lda #$ff lda #$ff
sta ZPCntX sta ZPCntX
jsr CS.RUN.ReadInput jsr CS.RUN.ReadInput
bcs .9 bcs .9
lda ZPOutputBuf lda ZPOutputBuf
sec sec
sbc ZPOutputRowBytes sbc ZPOutputRowBytes
@ -313,14 +315,18 @@ CS.RUN.24.LOOP inc ZPLineCount
.5 jsr CS.RUN.GetNearestColor .5 jsr CS.RUN.GetNearestColor
pha pha
jsr DEBUG.PLOT jsr DEBUG.PLOT
lda ZPCntX lda ZPCntX
lsr lsr
tay tay
pla pla
bcs .6 bcs .6
sta (ZPOutputBuf),y sta (ZPOutputBuf),y
bra .2 bra .2
.6 asl .6 asl
asl asl
asl asl
@ -337,68 +343,96 @@ CS.RUN.24.LOOP inc ZPLineCount
*-------------------------------------- *--------------------------------------
CS.RUN.GetNearestColor CS.RUN.GetNearestColor
stz ZPPixelIndex16 stz ZPPixelIndex16
lda #$ff lda #$ff
sta ZPPixelBest sta ZPPixelBest
sta ZPPixelBest+1 sta ZPPixelBest+1
sta ZPPixelBest+2 sta ZPPixelBest+2
ldy #63 ldy #63
.30 stz ZPPixelScore .30 stz ZPPixelScore
stz ZPPixelScore+1 stz ZPPixelScore+1
stz ZPPixelScore+2 stz ZPPixelScore+2
ldx #2 ldx #2
.40 lda PALETTE.RGB-1,y .40 phx A = |c - C|
dey
lda PALETTE.RGB,y
sec sec
sbc ZPPixel24,x sbc ZPPixel24,x
bcs .5 bcs .5
eor #$ff eor #$ff
inc inc
.5 phx
sta ZBTmpB1
sta ZBTmpW
stz ZBTmpW+1
lda #0 .5 sta ZBTmpW1
ldx #8 stz ZBTmpW1+1
.1 lsr ZBTmpW stz ZBTmpW2
stz ZBTmpW2+1
ldx #8 compute A²
.1 lsr
bcc .2 bcc .2
pha
lda ZBTmpW1
clc clc
adc ZBTmpB1 adc ZBTmpW2
.2 ror sta ZBTmpW2
ror ZBTmpW
lda ZBTmpW1+1
adc ZBTmpW2+1
sta ZBTmpW2+1
pla
.2 asl ZBTmpW1
rol ZBTmpW1+1
dex dex
bne .1 bne .1
sta ZBTmpW+1
lda ZPPixelScore lda ZPPixelScore compute A²+b+c²
clc clc
adc ZBTmpW adc ZBTmpW2
sta ZPPixelScore sta ZPPixelScore
lda ZPPixelScore+1 lda ZPPixelScore+1
adc ZBTmpW+1 adc ZBTmpW2+1
sta ZPPixelScore+1 sta ZPPixelScore+1
bcc .3 bcc .3
inc ZPPixelScore+2 inc ZPPixelScore+2
.3 plx .3 plx
dey
dex dex
bpl .40 bpl .40
lda ZPPixelBest lda ZPPixelBest
cmp ZPPixelScore cmp ZPPixelScore
lda ZPPixelBest+1 lda ZPPixelBest+1
sbc ZPPixelScore+1 sbc ZPPixelScore+1
lda ZPPixelBest+2 lda ZPPixelBest+2
sbc ZPPixelScore+2 sbc ZPPixelScore+2
bcc .8 bcc .8
lda ZPPixelScore lda ZPPixelScore
sta ZPPixelBest sta ZPPixelBest
lda ZPPixelScore+1 lda ZPPixelScore+1
sta ZPPixelBest+1 sta ZPPixelBest+1
lda ZPPixelScore+2 lda ZPPixelScore+2
sta ZPPixelBest+2 sta ZPPixelBest+2
tya tya
lsr lsr
lsr lsr
@ -406,6 +440,7 @@ CS.RUN.GetNearestColor
.8 dey .8 dey
bpl .30 bpl .30
lda ZPPixelIndex16 lda ZPPixelIndex16
CS.RUN.GetIndexInPalette.RTS CS.RUN.GetIndexInPalette.RTS
rts rts
@ -601,22 +636,32 @@ DEBUG.ClrScr sta SETMIXED
*-------------------------------------- *--------------------------------------
DEBUG.PLOT php DEBUG.PLOT php
sei sei
pha pha
tax
lda ZPCntY
cmp #40
bcs .9
lda ZPCntX lda ZPCntX
cmp #80 cmp #80
bcs .9 bcs .9
lsr lsr
tay tay
sta CLRPAGE2
bcs .1 CS = main bcs .1 CS = main
sta SETPAGE2 sta SETPAGE2
plx
lda PALETTE.AUX,x lda PALETTE.AUX,x
pha bra .2
.1 lda ZPCntY
cmp #40 .1 sta CLRPAGE2
bcs .9 lda PALETTE.MAIN,x
.2 pha
lda #39 lda #39
sec sec
sbc ZPCntY sbc ZPCntY
@ -627,16 +672,17 @@ DEBUG.PLOT php
lda SCR.BASEH,x lda SCR.BASEH,x
sta ZPPTR1+1 sta ZPPTR1+1
pla pla
bcc .2 bcc .3
asl asl
asl asl
asl asl
asl asl
.2 ora (ZPPTR1),y
.3 ora (ZPPTR1),y
sta (ZPPTR1),y sta (ZPPTR1),y
sta CLRPAGE2 sta CLRPAGE2
plp
rts
.9 pla .9 pla
plp plp
rts rts
@ -658,41 +704,64 @@ MSG.DONE .AZ "All Done!!!"
*-------------------------------------- *--------------------------------------
* LOWRES Patette : https://comp.sys.apple2.narkive.com/lTSrj2ZI/apple-ii-colour-rgb * LOWRES Patette : https://comp.sys.apple2.narkive.com/lTSrj2ZI/apple-ii-colour-rgb
*-------------------------------------- *--------------------------------------
*PALETTE.RGB .HS 00000000 BLACK *PALETTE.RGB .HS 00000000 BLACK
* .HS e31e6000 RED * .HS ffffff00 WHITE
* .HS 604ebd00 DARK.BLUE * .HS 7e7e7e00 DARK.GRAY
* .HS ff44fd00 PURPLE
* .HS 00a36000 DARK.GREEN
* .HS 9c9c9c00 DARK.GRAY * .HS 9c9c9c00 DARK.GRAY
* .HS 604ebd00 DARK.BLUE
* .HS 14cffd00 BLUE * .HS 14cffd00 BLUE
* .HS d0c3ff00 LIGHT.BLUE * .HS d0c3ff00 LIGHT.BLUE
* .HS 00a36000 DARK.GREEN
* .HS 14f53c00 LIGHT.GREEN
* .HS 72ffd000 AQUA
* .HS e31e6000 RED
* .HS ff44fd00 PURPLE
* .HS ffa0d000 PINK
* .HS 60720300 BROWN * .HS 60720300 BROWN
* .HS ff6a3c00 ORANGE * .HS ff6a3c00 ORANGE
* .HS 9c9c9c00 DARK.GRAY
* .HS ffa0d000 PINK
* .HS 14f53c00 LIGHT.GREEN
* .HS d0dd8d00 YELLOW * .HS d0dd8d00 YELLOW
* .HS 72ffd000 AQUA
* .HS ffffff00 WHITE
*-------------------------------------- *--------------------------------------
PALETTE.RGB .HS 00000000 BLACK PALETTE.RGB .HS 00000000 0 BLACK
.HS 930B7c00 RED .HS ffffff00 1 WHITE
.HS 1f35D300 DARK.BLUE .HS 7e7e7e00 2 DARK.GRAY
.HS bb36ff00 PURPLE .HS 9c9c9c00 3 LIGHT.GRAY
.HS 00760c00 DARK.GREEN .HS 1f35D300 4 DARK.BLUE
.HS 7e7e7e00 DARK.GRAY .HS 07a8e000 5 BLUE
.HS 07a8e000 BLUE .HS b5afff00 6 LIGHT.BLUE
.HS b5afff00 LIGHT.BLUE .HS 00760c00 7 DARK.GREEN
.HS 624c0000 BROWN .HS 43c80000 8 LIGHT.GREEN
.HS f9561d00 ORANGE .HS 5df78400 9 AQUA
.HS 9c9c9c00 LIGHT.GRAY .HS 930B7c00 A RED
.HS ff81ec00 PINK .HS bb36ff00 B PURPLE
.HS 43c80000 LIGHT.GREEN .HS ff81ec00 C PINK
.HS dccd1600 YELLOW .HS 624c0000 D BROWN
.HS 5df78400 AQUA .HS f9561d00 E ORANGE
.HS ffffff00 WHITE .HS dccd1600 F YELLOW
*-------------------------------------- *--------------------------------------
PALETTE.AUX .HS 00080109020A030B040C050D060E070F *PALETTE.RGB .DA #0,#0,#0,#0 0 Black
* .DA #255,#255,#255,#0 15 White
* .DA #126,#126,#126,#0 5 Grey1
* .DA #156,#156,#156,#0 10 Grey2
* .DA #96,#78,#189,#0 8 Dark Blue
* .DA #20,#207,#253,#0 12 Medium Blue
* .DA #208,#195,#255,#0 13 Light Blue
* .DA #0,#163,#96,#0 4 Dark Green
* .DA #20,#245,#60,#0 6 Green
* .DA #114,#255,#208,#0 14 Aqua
* .DA #255,#68,#253,#0 9 Violet
* .DA #255,#160,#208,#0 11 Pink
* .DA #227,#30,#96,#0 1 Magenta
* .DA #96,#114,#3,#0 2 Brown
* .DA #255,#106,#60,#0 3 Orange
* .DA #208,#221,#141,#0 7 Yellow
*--------------------------------------
PALETTE.MAIN .HS 00.0F.05.0A.02.06.07.04
.HS 0C.0E.01.03.0B.08.09.0D
PALETTE.AUX .HS 00.0F.0A.0A.01.03.0B.02
.HS 06.07.08.09.0D.04.0C.0E
*PALETTE.AUX .HS 00.08.01.09.02.0A.03.0B
* .HS 04.0C.05.0D.06.0E.07.0F
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
.OR 0 .OR 0

View File

@ -476,7 +476,17 @@ CS.RUN.LL.DISKII.VR
>PUSHBI IOCTL.READBLOCK >PUSHBI IOCTL.READBLOCK
>PUSHEA.G IOCTL >PUSHEA.G IOCTL
>SYSCALL IOCTL >SYSCALL IOCTL
rts bcc .8
pha
>PUSHW L.MSG.ERR
pla
>PUSHA
>PUSHBI 1
>SYSCALL PrintF
.8 rts
*-------------------------------------- *--------------------------------------
CS.RUN.MotorOn sec CS.RUN.MotorOn sec
.HS 90 BCC .HS 90 BCC

View File

@ -42,11 +42,14 @@ L.FONTFILE .DA FONTFILE
L.FONTFILEB .DA FONTFILEB L.FONTFILEB .DA FONTFILEB
L.PIXFILE .DA PIXFILE L.PIXFILE .DA PIXFILE
L.LOGOFILE .DA LOGOFILE L.LOGOFILE .DA LOGOFILE
L.PALETTEFILE .DA PALETTEFILE
L.CB.RECT .DA CB.RECT L.CB.RECT .DA CB.RECT
L.CB.RECT2 .DA CB.RECT2
L.CB.TEXTB .DA CB.TEXTB L.CB.TEXTB .DA CB.TEXTB
L.CB.TEXT .DA CB.TEXT L.CB.TEXT .DA CB.TEXT
L.CB.PIX .DA CB.PIX L.CB.PIX .DA CB.PIX
L.CB.LOGO .DA CB.LOGO L.CB.LOGO .DA CB.LOGO
L.CB.PALETTE .DA CB.PALETTE
L.CB.Apple .DA CB.Apple L.CB.Apple .DA CB.Apple
L.BM.Apple .DA BM.Apple L.BM.Apple .DA BM.Apple
L.MESSAGEB .DA MESSAGEB L.MESSAGEB .DA MESSAGEB
@ -66,12 +69,38 @@ CS.RUN jsr GFX.Open
>LDYA L.CB.RECT >LDYA L.CB.RECT
jsr GFX.Write.YA jsr GFX.Write.YA
>LDYA L.CB.PIX .1 >LDYA L.CB.RECT2
jsr GFX.Write.YA
inc CB.RECT2+S.CB.COLOR
lda CB.RECT2+S.CB.COLOR
cmp #16
beq .3
lda CB.RECT2+S.CB.X1
clc
adc #28
sta CB.RECT2+S.CB.X1
bcc .2
inc CB.RECT2+S.CB.X1+1
.2 lda CB.RECT2+S.CB.X2
clc
adc #28
sta CB.RECT2+S.CB.X2
bcc .1
inc CB.RECT2+S.CB.X2+1
bra .1
.3 >LDYA L.CB.PIX
jsr GFX.Write.YA jsr GFX.Write.YA
>LDYA L.CB.LOGO >LDYA L.CB.LOGO
jsr GFX.Write.YA jsr GFX.Write.YA
>LDYA L.CB.PALETTE
jsr GFX.Write.YA
>LDYA L.BM.Apple >LDYA L.BM.Apple
>STYA CB.Apple+S.CB.SrcPtr >STYA CB.Apple+S.CB.SrcPtr
@ -157,7 +186,7 @@ LoadResources >PUSHW L.FONTFILE
>PUSHBI $CC Type >PUSHBI $CC Type
>PUSHWZ Aux type >PUSHWZ Aux type
>SYSCALL LoadStkObj >SYSCALL LoadStkObj
bcs .9 bcs .99
stx hFontb stx hFontb
>PUSHW L.PIXFILE >PUSHW L.PIXFILE
@ -175,6 +204,14 @@ LoadResources >PUSHW L.FONTFILE
>SYSCALL LoadStkObj >SYSCALL LoadStkObj
bcs .9 bcs .9
stx CB.LOGO+S.CB.SrcPtr stx CB.LOGO+S.CB.SrcPtr
>PUSHW L.PALETTEFILE
>PUSHBI O.RDONLY
>PUSHBI $CB Type
>PUSHWZ Aux type
>SYSCALL LoadStkObj
bcs .9
stx CB.PALETTE+S.CB.SrcPtr
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
@ -198,7 +235,9 @@ DEVNAME.GFX .AZ "/dev/gfx"
FONTFILE .AZ "${ROOT}sbin/sysx7" FONTFILE .AZ "${ROOT}sbin/sysx7"
FONTFILEB .AZ "${ROOT}sbin/sysx7b" FONTFILEB .AZ "${ROOT}sbin/sysx7b"
PIXFILE .AZ "${ROOT}root/guitest/marilyn" PIXFILE .AZ "${ROOT}root/guitest/marilyn"
LOGOFILE .AZ "${ROOT}A2osX.logo" *LOGOFILE .AZ "${ROOT}A2osX.logo"
LOGOFILE .AZ "${ROOT}root/BMP/A2osX.logo"
PALETTEFILE .AZ "${ROOT}root/BMP/PALETTE"
MESSAGEB .AZ " DHGR Driver & OSD 'Off-Screen Driver' Test (SYSX7B Font, Inverse) " MESSAGEB .AZ " DHGR Driver & OSD 'Off-Screen Driver' Test (SYSX7B Font, Inverse) "
MESSAGE .AZ " 1234567890 abcdefghijklmnopqrstuvwxyz { + - * / } (SYSX7 Font, Normal) " MESSAGE .AZ " 1234567890 abcdefghijklmnopqrstuvwxyz { + - * / } (SYSX7 Font, Normal) "
@ -211,6 +250,15 @@ CB.RECT .DA #S.CB.CMD.FILLRECT
.DA 540 .DA 540
.DA 182 .DA 182
CB.RECT2 .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET
.DA #S.CB.M.C16
.DA #0 Color
.DA 70
.DA 150
.DA 98
.DA 180
CB.Apple .DA #S.CB.CMD.BITBLT CB.Apple .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.COLOR .DA #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.COLOR
.DA #S.CB.M.C16 .DA #S.CB.M.C16
@ -233,7 +281,7 @@ CB.PIX .DA #S.CB.CMD.BITBLT
.DA 120 SrcW .DA 120 SrcW
.DA 100 SrcH .DA 100 SrcH
.DA 60 DstX .DA 60 DstX
.DA 50 DstY .DA 30 DstY
.BS 2 SrcPtr .BS 2 SrcPtr
.DA 0 DSTPTR .DA 0 DSTPTR
@ -250,6 +298,19 @@ CB.LOGO .DA #S.CB.CMD.BITBLT
.BS 2 SrcPtr .BS 2 SrcPtr
.DA 0 DSTPTR .DA 0 DSTPTR
CB.PALETTE .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET+S.CB.OP.COLOR
.DA #S.CB.M.C16
.DA #0
.DA 0 X1
.DA 0 Y1
.DA 320 SrcW
.DA 40 SrcH
.DA 200 DstX
.DA 100 DstY
.BS 2 SrcPtr
.DA 0 DSTPTR
CB.TEXTB .DA #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD CB.TEXTB .DA #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
.DA #S.CB.OP.SET+S.CB.OP.INVERSE .DA #S.CB.OP.SET+S.CB.OP.INVERSE
.DA #S.CB.M.MONO .DA #S.CB.M.MONO

View File

@ -106,7 +106,6 @@ Color.Masks .DA #%10001111,#%00000000,#%00000000,#%00000000
.DA #%00000000,#%00000000,#%11000000,#%00000111 .DA #%00000000,#%00000000,#%11000000,#%00000111
.DA #%00000000,#%00000000,#%00000000,#%11111000 .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 * 4 bytes * 16 Colors
*-------------------------------------- *--------------------------------------
* c1110000 c3322221 c5444433 c6666555 * c1110000 c3322221 c5444433 c6666555

View File

@ -79,12 +79,14 @@ L59BD jsr XRW.AllPhasesOff make sure all motor phases are off
cmp XRW.LastUnitUsed same drive used before ? cmp XRW.LastUnitUsed same drive used before ?
sta XRW.LastUnitUsed save it for next time. sta XRW.LastUnitUsed save it for next time.
php keep results of compare. php keep results of compare.
asl get drive # into carry. asl get drive # into carry.
lda IO.D2.DrvOn,x turn on the drive. lda IO.D2.DrvOn,x turn on the drive.
bcc L5362 branch if drive 1 selected. bcc L5362 branch if drive 1 selected.
inx select drive 2. inx select drive 2.
L5362 lda IO.D2.DrvSel1,x L5362 lda IO.D2.DrvSel1,x
plp was it the same drive ? plp was it the same drive ?
beq L5372 yes. beq L5372 yes.
@ -100,6 +102,7 @@ L5362 lda IO.D2.DrvSel1,x
php php
L5372 plp L5372 plp
bne L538E
* motor was off, wait for it to speed up * motor was off, wait for it to speed up
@ -389,6 +392,8 @@ L596F ldy #$FF index to last byte of data to write.
XRW.Write lda nbuf2 XRW.Write lda nbuf2
sta pcl sta pcl
ldx A2L
lda #$FF sync data. lda #$FF sync data.
sta IO.D2.WriteMode,x (5) goto write mode sta IO.D2.WriteMode,x (5) goto write mode
ora IO.D2.WShift,x (4) ora IO.D2.WShift,x (4)