Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-04 21:00:47 +02:00
parent 455336548a
commit 7df3a2e93e
10 changed files with 248 additions and 131 deletions

Binary file not shown.

View File

@ -650,10 +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.MAIN .HS 00.0F.05.0A.02.06.07.04 PALETTE.MAIN .HS 00.02.04.06.08.0A.0C.0E
.HS 0C.0E.01.03.0B.08.09.0D .HS 01.03.05.07.09.0B.0D.0F
PALETTE.AUX .HS 00.0F.0A.0A.01.03.0B.02 PALETTE.AUX .HS 00.01.02.03.04.05.06.07
.HS 06.07.08.09.0D.04.0C.0E .HS 08.09.0A.0B.0C.0D.0E.0F
*-------------------------------------- *--------------------------------------
.EP .EP
*-------------------------------------- *--------------------------------------

View File

@ -66,9 +66,9 @@ CS.START cld
*-------------------------------------- *--------------------------------------
.1 .DA CS.INIT .1 .DA CS.INIT
.DA CS.RUN .DA CS.RUN
.DA CS.DOEVENT .DA CS.DOEVENT
.DA CS.QUIT .DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE L.MSG.USAGE .DA MSG.USAGE
L.MSG.HEADER.OK .DA MSG.HEADER.OK L.MSG.HEADER.OK .DA MSG.HEADER.OK
L.MSG.HEADER.KO .DA MSG.HEADER.KO L.MSG.HEADER.KO .DA MSG.HEADER.KO
L.MSG.DONE .DA MSG.DONE L.MSG.DONE .DA MSG.DONE
@ -85,7 +85,7 @@ CS.RUN
lda (ZPPtr1) lda (ZPPtr1)
cmp #'-' cmp #'-'
bne .4 bne .4
ldy #1 ldy #1
lda (ZPPtr1),y lda (ZPPtr1),y
ldx OptionList ldx OptionList
@ -93,14 +93,14 @@ CS.RUN
beq .3 beq .3
dex dex
bne .2 bne .2
.99 >PUSHW L.MSG.USAGE .99 >PUSHW L.MSG.USAGE
>PUSHBI 0 >PUSHBI 0
>SYSCALL PrintF >SYSCALL PrintF
lda #E.SYN lda #E.SYN
sec sec
rts rts
.3 ldy OptionVars-1,x .3 ldy OptionVars-1,x
lda #$80 lda #$80
sta (pData),y sta (pData),y
@ -319,21 +319,21 @@ CS.RUN.24.LOOP inc ZPLineCount
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
asl asl
ora (ZPOutputBuf),y ora (ZPOutputBuf),y
sta (ZPOutputBuf),y sta (ZPOutputBuf),y
bra .2 bra .2
.8 jsr CS.RUN.WriteOutput .8 jsr CS.RUN.WriteOutput
bcs .9 bcs .9
@ -358,7 +358,7 @@ CS.RUN.GetNearestColor
ldx #2 ldx #2
.40 phx A = |c - C| .40 phx A = |c - C|
dey dey
lda PALETTE.RGB,y lda PALETTE.RGB,y
sec sec
@ -440,14 +440,14 @@ 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
*-------------------------------------- *--------------------------------------
CS.RUN.OpenInput CS.RUN.OpenInput
>PUSHW ZPPtr1 >PUSHW ZPPtr1
>PUSHBI O.RDONLY >PUSHBI O.RDONLY
>PUSHBI 0 Type >PUSHBI 0 Type
>PUSHWZ Aux type >PUSHWZ Aux type
>SYSCALL FOpen >SYSCALL FOpen
@ -476,9 +476,9 @@ CS.RUN.OpenInput
beq .1 beq .1
cmp #24 cmp #24
bne .99 bne .99
.1 >PUSHW L.MSG.HEADER.OK .1 >PUSHW L.MSG.HEADER.OK
>LDA.G BMP.Header+S.BMP.W >LDA.G BMP.Header+S.BMP.W
>STA.G PIX.Header+S.BM.W >STA.G PIX.Header+S.BM.W
pha pha
@ -493,7 +493,7 @@ CS.RUN.OpenInput
pha pha
eor #$ff eor #$ff
sta ZPLineCount sta ZPLineCount
>LDA.G BMP.Header+S.BMP.H+1 >LDA.G BMP.Header+S.BMP.H+1
>STA.G PIX.Header+S.BM.H+1 >STA.G PIX.Header+S.BM.H+1
>PUSHA >PUSHA
@ -501,9 +501,9 @@ CS.RUN.OpenInput
sta ZPLineCount+1 sta ZPLineCount+1
pla pla
>PUSHA >PUSHA
>PUSHB.G BMP.Header+S.BMP.BPP >PUSHB.G BMP.Header+S.BMP.BPP
>PUSHBI 5 >PUSHBI 5
>SYSCALL PrintF >SYSCALL PrintF
.9 rts .9 rts
@ -533,7 +533,7 @@ CS.RUN.ReadInput
*-------------------------------------- *--------------------------------------
CS.RUN.CreateOutput CS.RUN.CreateOutput
>PUSHW ZPPtr1 >PUSHW ZPPtr1
>PUSHBI O.WRONLY+O.CREATE >PUSHBI O.WRONLY+O.CREATE
>PUSHBI $CB PIX Type >PUSHBI $CB PIX Type
>PUSHWZ Aux type >PUSHWZ Aux type
>SYSCALL FOpen >SYSCALL FOpen
@ -639,7 +639,7 @@ DEBUG.PLOT php
pha pha
tax tax
lda ZPCntY lda ZPCntY
cmp #40 cmp #40
bcs .9 bcs .9
@ -656,7 +656,7 @@ DEBUG.PLOT php
sta SETPAGE2 sta SETPAGE2
lda PALETTE.AUX,x lda PALETTE.AUX,x
bra .2 bra .2
.1 sta CLRPAGE2 .1 sta CLRPAGE2
lda PALETTE.MAIN,x lda PALETTE.MAIN,x
@ -693,14 +693,14 @@ 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
CS.END CS.END
*-------------------------------------- *--------------------------------------
.INB usr/src/shared/x.twist.g .INB usr/src/shared/x.twist.g
*-------------------------------------- *--------------------------------------
OptionList >PSTR "Vv" OptionList >PSTR "Vv"
OptionVars .DA #bVerbose,#bVerbose OptionVars .DA #bVerbose,#bVerbose
MSG.USAGE .AS "Usage : BMP2PIX BMP-File \r\n" MSG.USAGE .AS "Usage : BMP2PIX BMP-File \r\n"
.AZ " -V : Verbose Mode\r\n" .AZ " -V : Verbose Mode\r\n"
MSG.HEADER.OK .AZ "BMP Size : %D x %D pixels, %d bit(s)/pixel\r\n" MSG.HEADER.OK .AZ "BMP Size : %D x %D pixels, %d bit(s)/pixel\r\n"
MSG.HEADER.KO .AZ "Invalid Input File Format" MSG.HEADER.KO .AZ "Invalid Input File Format"
MSG.DONE .AZ "All Done!!!" 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
*-------------------------------------- *--------------------------------------
@ -721,44 +721,45 @@ MSG.DONE .AZ "All Done!!!"
* .HS ff6a3c00 ORANGE * .HS ff6a3c00 ORANGE
* .HS d0dd8d00 YELLOW * .HS d0dd8d00 YELLOW
*-------------------------------------- *--------------------------------------
PALETTE.RGB .HS 00000000 0 BLACK *PALETTE.RGB .DA #0,#0,#0,#0 0 Black
.HS ffffff00 1 WHITE * .DA #255,#255,#255,#0 15 White
.HS 7e7e7e00 2 DARK.GRAY * .DA #126,#126,#126,#0 5 Grey1
.HS 9c9c9c00 3 LIGHT.GRAY * .DA #156,#156,#156,#0 10 Grey2
.HS 1f35D300 4 DARK.BLUE
.HS 07a8e000 5 BLUE
.HS b5afff00 6 LIGHT.BLUE
.HS 00760c00 7 DARK.GREEN
.HS 43c80000 8 LIGHT.GREEN
.HS 5df78400 9 AQUA
.HS 930B7c00 A RED
.HS bb36ff00 B PURPLE
.HS ff81ec00 C PINK
.HS 624c0000 D BROWN
.HS f9561d00 E ORANGE
.HS dccd1600 F YELLOW
*--------------------------------------
*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 #96,#78,#189,#0 8 Dark Blue
* .DA #20,#207,#253,#0 12 Medium Blue * .DA #20,#207,#253,#0 12 Medium Blue
* .DA #208,#195,#255,#0 13 Light Blue * .DA #208,#195,#255,#0 13 Light Blue
* .DA #0,#163,#96,#0 4 Dark Green * .DA #0,#163,#96,#0 4 Dark Green
* .DA #20,#245,#60,#0 6 Green * .DA #20,#245,#60,#0 6 Green
* .DA #114,#255,#208,#0 14 Aqua * .DA #114,#255,#208,#0 14 Aqua
* .DA #255,#68,#253,#0 9 Violet * .DA #255,#68,#253,#0 9 Violet
* .DA #255,#160,#208,#0 11 Pink * .DA #255,#160,#208,#0 11 Pink
* .DA #227,#30,#96,#0 1 Magenta * .DA #227,#30,#96,#0 1 Magenta
* .DA #96,#114,#3,#0 2 Brown * .DA #96,#114,#3,#0 2 Brown
* .DA #255,#106,#60,#0 3 Orange * .DA #255,#106,#60,#0 3 Orange
* .DA #208,#221,#141,#0 7 Yellow * .DA #208,#221,#141,#0 7 Yellow
*-------------------------------------- *--------------------------------------
PALETTE.MAIN .HS 00.0F.05.0A.02.06.07.04 PALETTE.RGB .HS 00000000 BLACK
.HS 0C.0E.01.03.0B.08.09.0D .HS 1f35D300 DARK.BLUE
PALETTE.AUX .HS 00.0F.0A.0A.01.03.0B.02 .HS 00760c00 DARK.GREEN
.HS 06.07.08.09.0D.04.0C.0E .HS 07a8e000 BLUE
.HS 624c0000 BROWN
.HS 7e7e7e00 DARK.GRAY
.HS 43c80000 LIGHT.GREEN
.HS 5df78400 AQUA
.HS 930B7c00 RED
.HS bb36ff00 PURPLE
.HS 9c9c9c00 LIGHT.GRAY
.HS b5afff00 LIGHT.BLUE
.HS f9561d00 ORANGE
.HS ff81ec00 PINK
.HS dccd1600 YELLOW
.HS ffffff00 WHITE
*--------------------------------------
PALETTE.MAIN .HS 00.02.04.06.08.0A.0C.0E
.HS 01.03.05.07.09.0B.0D.0F
PALETTE.AUX .HS 00.01.02.03.04.05.06.07
.HS 08.09.0A.0B.0C.0D.0E.0F
*PALETTE.AUX .HS 00.08.01.09.02.0A.03.0B *PALETTE.AUX .HS 00.08.01.09.02.0A.03.0B
* .HS 04.0C.05.0D.06.0E.07.0F * .HS 04.0C.05.0D.06.0E.07.0F

View File

@ -16,6 +16,9 @@ ZS.START
hDevGFX .BS 1 hDevGFX .BS 1
hFont .BS 1 hFont .BS 1
hFontB .BS 1 hFontB .BS 1
bVBL .BS 1
xDir .BS 1
yDir .BS 1
ZS.END ZS.END
.ED .ED
*-------------------------------------- *--------------------------------------
@ -25,7 +28,7 @@ CS.START cld
jmp (.1,x) jmp (.1,x)
.DA #$61 6502,Level 1 (65c02) .DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1 .DA #1 BIN Layout Version 1
.DA #0 #S.PS.F.EVENT S.PS.F .DA #S.PS.F.EVENT S.PS.F
.DA #0 .DA #0
.DA CS.END-CS.START Code Size (without Constants) .DA CS.END-CS.START Code Size (without Constants)
.DA DS.END-DS.START Data Segment Size .DA DS.END-DS.START Data Segment Size
@ -95,9 +98,6 @@ CS.RUN jsr GFX.Open
.3 >LDYA L.CB.PIX .3 >LDYA L.CB.PIX
jsr GFX.Write.YA jsr GFX.Write.YA
>LDYA L.CB.LOGO
jsr GFX.Write.YA
>LDYA L.CB.PALETTE >LDYA L.CB.PALETTE
jsr GFX.Write.YA jsr GFX.Write.YA
@ -131,12 +131,122 @@ CS.RUN jsr GFX.Open
>LDYA L.CB.TEXT >LDYA L.CB.TEXT
jsr GFX.Write.YA jsr GFX.Write.YA
jsr CS.RUN.LOGO.SHOW
lda #0 lda #0
sec sec
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CS.DOEVENT clc CS.RUN.LOGO.SHOW
lda #S.CB.CMD.GETRECTBUFSIZE
sta CB.LOGO+S.CB.CMD
>LDYA L.CB.LOGO
jsr GFX.Write.YA
>SYSCALL NewStkObj
stx CB.LOGO+S.CB.DstPtr
lda #S.CB.CMD.BITBLT
sta CB.LOGO+S.CB.CMD
.1 lda #S.CB.OP.SET+S.CB.OP.COLOR+S.CB.OP.SAVE
sta CB.LOGO+S.CB.OP
>LDYA L.CB.LOGO
jsr GFX.Write.YA
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
bcs .99
tay
beq .80
.2 >SLEEP
bit bVBL
bpl .2
stz bVBL
lda #S.CB.OP.SET+S.CB.OP.COLOR+S.CB.OP.RESTORE
sta CB.LOGO+S.CB.OP
>LDYA L.CB.LOGO
jsr GFX.Write.YA
bit xDIR
bmi .4
lda CB.LOGO+S.CB.DstX
clc
adc #4
tay
lda CB.LOGO+S.CB.DstX+1
adc #0
pha
cpy #244
sbc /244
pla
bcc .5
.3 lda xDIR
eor #$ff
sta xDIR
bra .6
.4 lda CB.LOGO+S.CB.DstX
sec
sbc #4
tay
lda CB.LOGO+S.CB.DstX+1
sbc #0
bcc .3
.5 sty CB.LOGO+S.CB.DstX
sta CB.LOGO+S.CB.DstX+1
.6 lda CB.LOGO+S.CB.DstY
bit yDIR
bmi .8
inc
cmp #152
bne .7
.60 lda yDIR
eor #$ff
sta yDIR
bra .1
.7 sta CB.LOGO+S.CB.DstY
bra .1
.8 sec
sbc #1
bcc .60
sta CB.LOGO+S.CB.DstY
jmp .1
.80 >SYSCALL GetChar
.99 rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .9
sta bVBL
.9 sec never discard TIME event
rts rts
*-------------------------------------- *--------------------------------------
CS.QUIT lda hFont CS.QUIT lda hFont
@ -244,7 +354,7 @@ MESSAGE .AZ " 1234567890 abcdefghijklmnopqrstuvwxyz { + - * / } (SYSX7 Font, N
CB.RECT .DA #S.CB.CMD.FILLRECT CB.RECT .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
.DA #S.CB.M.C16 .DA #S.CB.M.C16
.DA #6 Color .DA #11 Color
.DA 20 .DA 20
.DA 10 .DA 10
.DA 540 .DA 540
@ -254,10 +364,10 @@ CB.RECT2 .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
.DA #S.CB.M.C16 .DA #S.CB.M.C16
.DA #0 Color .DA #0 Color
.DA 70 .DA 60 X1
.DA 150 .DA 150 Y1
.DA 98 .DA 88 X2
.DA 180 .DA 180 Y2
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
@ -268,9 +378,9 @@ CB.Apple .DA #S.CB.CMD.BITBLT
.DA 16 SrcW .DA 16 SrcW
.DA 7 SrcH .DA 7 SrcH
.DA 20 DstX .DA 20 DstX
.DA 184 DstY .DA 172 DstY
.BS 2 SrcPtr .BS 2 SrcPtr
.DA 0 DSTPTR .DA 0 DstPtr
CB.PIX .DA #S.CB.CMD.BITBLT CB.PIX .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET+S.CB.OP.COLOR .DA #S.CB.OP.SET+S.CB.OP.COLOR
@ -280,23 +390,10 @@ CB.PIX .DA #S.CB.CMD.BITBLT
.DA 20 Y1 .DA 20 Y1
.DA 120 SrcW .DA 120 SrcW
.DA 100 SrcH .DA 100 SrcH
.DA 60 DstX .DA 56 DstX
.DA 30 DstY .DA 30 DstY
.BS 2 SrcPtr .BS 2 SrcPtr
.DA 0 DSTPTR .DA 0 DstPtr
CB.LOGO .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 50 DstY
.BS 2 SrcPtr
.DA 0 DSTPTR
CB.PALETTE .DA #S.CB.CMD.BITBLT CB.PALETTE .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET+S.CB.OP.COLOR .DA #S.CB.OP.SET+S.CB.OP.COLOR
@ -309,7 +406,7 @@ CB.PALETTE .DA #S.CB.CMD.BITBLT
.DA 200 DstX .DA 200 DstX
.DA 100 DstY .DA 100 DstY
.BS 2 SrcPtr .BS 2 SrcPtr
.DA 0 DSTPTR .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
@ -322,7 +419,7 @@ CB.TEXTB .DA #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
.DA 7 DstX .DA 7 DstX
.DA 1 DstY .DA 1 DstY
.BS 2 TXTPTR .BS 2 TXTPTR
.DA 0 DSTPTR .DA 0 DstPtr
CB.TEXT .DA #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD CB.TEXT .DA #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
@ -335,7 +432,7 @@ CB.TEXT .DA #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
.DA 50 DstX .DA 50 DstX
.DA 184 DstY .DA 184 DstY
.BS 2 TXTPTR .BS 2 TXTPTR
.DA 0 DSTPTR .DA 0 DstPtr
*-------------------------------------- *--------------------------------------
BM.Apple .DA #S.BM.F.BBP4 BM.Apple .DA #S.BM.F.BBP4
.DA #2 RowBytes .DA #2 RowBytes
@ -346,8 +443,8 @@ BM.Apple .DA #S.BM.F.BBP4
.HS 6006 green (8) .HS 6006 green (8)
.HS EEEE yellow (15) .HS EEEE yellow (15)
.HS CC0C orange (14) .HS CC0C orange (14)
.HS 8808 magenta (10) .HS 9909 magenta (10)
.HS 9999 violet (11) .HS 8888 violet (11)
.HS 1001 Dark blue (4) .HS 1001 Dark blue (4)
BM.Apple.AND .HS FFF0 BM.Apple.AND .HS FFF0
.HS 0FF0 .HS 0FF0
@ -356,6 +453,19 @@ BM.Apple.AND .HS FFF0
.HS 00F0 .HS 00F0
.HS 0000 .HS 0000
.HS 0FF0 .HS 0FF0
*--------------------------------------
CB.LOGO .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET+S.CB.OP.COLOR+S.CB.OP.SAVE
.DA #S.CB.M.C16
.DA #0
.DA 0 X1
.DA 0 Y1
.DA 320 SrcW
.DA 40 SrcH
.DA 200 DstX
.DA 50 DstY
.BS 2 SrcPtr
.DA 0 DstPtr
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
.OR 0 .OR 0

View File

@ -110,21 +110,21 @@ Color.Masks .DA #%10001111,#%00000000,#%00000000,#%00000000
*-------------------------------------- *--------------------------------------
* c1110000 c3322221 c5444433 c6666555 * c1110000 c3322221 c5444433 c6666555
Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disable) Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disable)
.DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disable)
.DA #%10101010,#%11010101,#%10101010,#%11010101 grey1
.DA #%11010101,#%10101010,#%11010101,#%10101010 grey2
.DA #%10010001,#%10100010,#%11000100,#%10001000 dark blue .DA #%10010001,#%10100010,#%11000100,#%10001000 dark blue
.DA #%10110011,#%11100110,#%11001100,#%10011001 medium blue
.DA #%10111011,#%11110111,#%11101110,#%11011101 light blue
.DA #%10100010,#%11000100,#%10001000,#%10010001 dark green .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 #%11100110,#%11001100,#%10011001,#%10110011 green
.DA #%11110111,#%11101110,#%11011101,#%10111011 aqua .DA #%11110111,#%11101110,#%11011101,#%10111011 aqua
.DA #%10001000,#%10010001,#%10100010,#%11000100 Magenta .DA #%10001000,#%10010001,#%10100010,#%11000100 Magenta
.DA #%10011001,#%10110011,#%11100110,#%11001100 violet .DA #%10011001,#%10110011,#%11100110,#%11001100 violet
.DA #%11011101,#%10111011,#%11110111,#%11101110 pink .DA #%10101010,#%11010101,#%10101010,#%11010101 grey1
.DA #%11000100,#%10001000,#%10010001,#%10100010 brown .DA #%10111011,#%11110111,#%11101110,#%11011101 light blue
.DA #%11001100,#%10011001,#%10110011,#%11100110 orange .DA #%11001100,#%10011001,#%10110011,#%11100110 orange
.DA #%11011101,#%10111011,#%11110111,#%11101110 pink
.DA #%11101110,#%11011101,#%10111011,#%11110111 yellow .DA #%11101110,#%11011101,#%10111011,#%11110111 yellow
.DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disable)
*-------------------------------------- *--------------------------------------
COL.BANK .DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2 COL.BANK .DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2 .DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2

View File

@ -17,22 +17,36 @@ NEW
*-------------------------------------- *--------------------------------------
BITBLT ldy CB.Cache+S.CB.SrcPtr BITBLT ldy CB.Cache+S.CB.SrcPtr
lda CB.Cache+S.CB.SrcPtr+1 lda CB.Cache+S.CB.SrcPtr+1
bne BITBLT.1 bne .1
sta SETREADAUX sta SETREADAUX SrcPtr is AUX hMem
sta SETWRITEAUX
tya tya
>SYSCALL2 GetMemPtr >SYSCALL2 GetMemPtr
jsr BITBLT.1
.1 >STYA ZPBMDataPtr
lda CB.Cache+S.CB.OP
bit #S.CB.OP.SAVE+S.CB.OP.RESTORE
beq .3
ldy CB.Cache+S.CB.DstPtr
lda CB.Cache+S.CB.DstPtr+1
bne .2
sta SETWRITEAUX DstPtr is AUX hMem
tya
>SYSCALL2 GetMemPtr
.2 >STYA ZPBMSavePtr
.3 jsr BITBLT.1
sta CLRREADAUX sta CLRREADAUX
sta CLRWRITEAUX sta CLRWRITEAUX
rts rts
BITBLT.1 >STYA ZPBMDataPtr BITBLT.1 ldy #S.BM-1
ldy #S.BM-1
.1 lda (ZPBMDataPtr),y .1 lda (ZPBMDataPtr),y
sta BM.Cache,y sta BM.Cache,y
@ -61,9 +75,7 @@ BITBLT.1 >STYA ZPBMDataPtr
bcc .2 bcc .2
inc ZPBMDataPtr+1 inc ZPBMDataPtr+1
.2 >LDYA CB.Cache+S.CB.DstPtr .2 >LDYA CB.Cache+S.CB.Y1
>STYA ZPBMSavePtr
>LDYA CB.Cache+S.CB.Y1
ldx BM.Cache+S.BM.RowBytes ldx BM.Cache+S.BM.RowBytes
jsr YAMultX jsr YAMultX
pha pha

View File

@ -1,6 +1,6 @@
NEW NEW
AUTO 3,1 AUTO 3,1
.LIST OFF .LIST OFF
*-------------------------------------- *--------------------------------------
* FILLRECT * FILLRECT
* 1 : OP (XOR,SET,ORA) * 1 : OP (XOR,SET,ORA)
@ -16,7 +16,7 @@ FILLRECT jsr HLINE
ldy CB.Cache+S.CB.Y1 ldy CB.Cache+S.CB.Y1
cpy CB.Cache+S.CB.Y2 cpy CB.Cache+S.CB.Y2
beq .8 beq .8
.2 iny .2 iny
phy phy
jsr LBUF.DrawAtY jsr LBUF.DrawAtY
@ -37,20 +37,12 @@ GETRECTBUFSIZE >LDYA CB.Cache+S.CB.X1
sta ZPTmpByte sta ZPTmpByte
>LDYA CB.Cache+S.CB.X2 >LDYA CB.Cache+S.CB.X2
jsr DIVMOD7YA jsr DIVMOD7YA
inc COL2 + 1 inc COL2 + 1
sec sec
sbc ZPTmpByte (COL2+1)-COL1 sbc ZPTmpByte (COL2+1)-COL1
tax tax
>LDYA CB.Cache+S.CB.Y1 >LDYA CB.Cache+S.CB.SrcH
jsr YAMultX jmp YAMultX
phy
ldy #S.CB.DstPtr+1
sta (ZPIOCTL),y
pla
dey
sta (ZPIOCTL),y
rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE usr/src/drv/dhgr.drv.s.blt SAVE usr/src/drv/dhgr.drv.s.blt

View File

@ -441,7 +441,7 @@ CLOSE lda #S.DIB.S.OPENED
rts rts
*-------------------------------------- *--------------------------------------
WRITE >STYA ZPIOCTL NON STANDARD WRITE >STYA ZPIOCTL NON STANDARD
sta SET80STORE
lda (ZPIOCTL) Get Cmd lda (ZPIOCTL) Get Cmd
bmi .2 bmi .2
@ -546,7 +546,7 @@ DRV.CS.END
*-------------------------------------- *--------------------------------------
CONTROL.80C .DA #SETIOUDIS CONTROL.80C .DA #SETIOUDIS
.DA #CLRTEXT .DA #CLRTEXT
.DA #SETHIRES * .DA #SETHIRES
.DA #CLR80DISP .DA #CLR80DISP
.DA #SETAN3 .DA #SETAN3
.DA #CLRAN3 .DA #CLRAN3
@ -562,7 +562,7 @@ CONTROL.80C .DA #SETIOUDIS
CONTROL.EVE .DA #SETIOUDIS CONTROL.EVE .DA #SETIOUDIS
.DA #CLRTEXT .DA #CLRTEXT
.DA #SETHIRES * .DA #SETHIRES
.DA #HR1.OFF .DA #HR1.OFF
.DA #HR2.ON .DA #HR2.ON
.DA #HR3.ON .DA #HR3.ON

View File

@ -74,6 +74,7 @@ S.CB.M.C16 .EQ %00001000 16 colors (4 bits/pixel)
*S.CB.M.C256 .EQ %00010000 256 colors (8 bits/pixel) *S.CB.M.C256 .EQ %00010000 256 colors (8 bits/pixel)
S.CB.COLOR .EQ 3 xPIXEL,xLINE,FILLRECT S.CB.COLOR .EQ 3 xPIXEL,xLINE,FILLRECT
S.CB.hFont .EQ 3 DRAWTEXT S.CB.hFont .EQ 3 DRAWTEXT
S.CB.X1 .EQ 4 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE S.CB.X1 .EQ 4 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE
S.CB.Y1 .EQ 6 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE S.CB.Y1 .EQ 6 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE

View File

@ -376,7 +376,7 @@ TERMX.COUT.BS.1 ldy #S.DCB.TTY.CV
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
lda #79 lda #79
dey ldy #S.DCB.TTY.CH
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
.2 clc .2 clc
@ -1367,11 +1367,12 @@ SetCharAtY.SCR pha
lsr lsr
tay tay
pla pla
sta SET80STORE
sta CLRPAGE2
bcs .2 bcs .2
sta SETPAGE2 sta SETPAGE2
.2 sta (ZPScrBaseL1),y .2 sta (ZPScrBaseL1),y
sta CLRPAGE2
SetCharAtYX.8 rts SetCharAtYX.8 rts
*-------------------------------------- *--------------------------------------