mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-12 20:29:41 +00:00
Kernel 0.94
This commit is contained in:
parent
adfbd6f74d
commit
eb0182dfd9
Binary file not shown.
|
@ -8,6 +8,7 @@ NEW
|
||||||
.INB inc/macros.i
|
.INB inc/macros.i
|
||||||
.INB inc/a2osx.i
|
.INB inc/a2osx.i
|
||||||
.INB inc/mli.e.i
|
.INB inc/mli.e.i
|
||||||
|
.INB inc/com.i
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPTmpPtr1 .EQ ZPDRV
|
ZPTmpPtr1 .EQ ZPDRV
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -110,8 +111,8 @@ CS.END
|
||||||
DEVSIG.Offset .HS 0507
|
DEVSIG.Offset .HS 0507
|
||||||
DEVSIG.Value .HS 4848
|
DEVSIG.Value .HS 4848
|
||||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||||
MSG.DETECT .AZ "Apple PIC (Parallel Interface Card).\r\n"
|
MSG.DETECT .AZ "Apple PIC (Parallel Interface Card)"
|
||||||
MSG.DETECT.OK .AZ "PIC Installed As Device : %S\r\n"
|
MSG.DETECT.OK .AZ "PIC Installed As Device : %s\r\n"
|
||||||
MSG.DETECT.KO .AZ "No PIC Found.\r\n"
|
MSG.DETECT.KO .AZ "No PIC Found.\r\n"
|
||||||
ARGS .BS 2
|
ARGS .BS 2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -127,6 +128,18 @@ FD.DEV.NAME .AZ "lpt1"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
PIC.WDATA .EQ $C080
|
||||||
|
PIC.WSTROBE .EQ $C082
|
||||||
|
PIC.RCTRL .EQ $C083
|
||||||
|
PIC.RACK .EQ $C084
|
||||||
|
PIC.STROBE500 .EQ $C085 pin 13 ????
|
||||||
|
PIC.IRQEN .EQ $C086
|
||||||
|
PIC.IRQDIS .EQ $C087 Reset ACK, DIS AutoStrobe
|
||||||
|
*--------------------------------------
|
||||||
|
ZPIOCTL .EQ ZPDRV
|
||||||
|
ZPBufPtr .EQ ZPDRV+2
|
||||||
|
ZPCount .EQ ZPDRV+4
|
||||||
|
*--------------------------------------
|
||||||
DRV.CS.START cld
|
DRV.CS.START cld
|
||||||
jmp (.1,x)
|
jmp (.1,x)
|
||||||
.1 .DA STATUS
|
.1 .DA STATUS
|
||||||
|
@ -137,47 +150,146 @@ DRV.CS.START cld
|
||||||
.DA A2osX.BADCALL
|
.DA A2osX.BADCALL
|
||||||
.DA OPEN
|
.DA OPEN
|
||||||
.DA CLOSE
|
.DA CLOSE
|
||||||
.DA A2osX.BADCALL
|
.DA READ
|
||||||
.DA WRITE
|
.DA WRITE
|
||||||
L.STAT .DA STAT
|
|
||||||
.DA 0 end or relocation
|
.DA 0 end or relocation
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STATUS >LDYA L.STAT
|
STATUS jsr STATUS.CONTROL.Init
|
||||||
|
ldy #S.IOCTL.STATCODE
|
||||||
|
lda (ZPIOCTL),y
|
||||||
|
beq .1
|
||||||
|
cmp #S.IOCTL.STATCODE.GETDIB
|
||||||
|
bne STATUS.DCB
|
||||||
|
ldy #S.DIB-1
|
||||||
|
.HS 2C bit abs
|
||||||
|
.1 ldy #3
|
||||||
|
|
||||||
|
.2 lda DIB,y
|
||||||
|
sta (ZPBufPtr),y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
STATUS.DCB cmp #S.IOCTL.STATCODE.GETDCB
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
ldy #S.DCB.COM-1
|
||||||
|
.2 lda DCB,y
|
||||||
|
sta (ZPBufPtr),y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
.3 cmp #S.IOCTL.STATCODE.EOF
|
||||||
|
bne STATUS.9
|
||||||
|
|
||||||
|
lda DIB+S.DIB.S
|
||||||
|
and #S.DIB.S.OPENED
|
||||||
|
beq OPEN.E
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
STATUS.9 lda #MLI.E.BADCTL
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CONTROL jsr STATUS.CONTROL.Init
|
||||||
|
|
||||||
|
ldy #S.IOCTL.CTRLCODE
|
||||||
|
lda (ZPIOCTL),y
|
||||||
|
cmp #S.IOCTL.CTRLCODE.SETDCB
|
||||||
|
bne STATUS.9
|
||||||
|
ldy #S.DCB.COM-1
|
||||||
|
.2 lda (ZPBufPtr),y
|
||||||
|
sta DCB,y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
*--------------------------------------
|
||||||
|
OPEN lda DIB+S.DIB.S
|
||||||
|
bit #S.DIB.S.OPENED
|
||||||
|
beq OPEN.1
|
||||||
|
|
||||||
|
OPEN.E lda #MLI.E.OPEN
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
OPEN.1 ldx DEVSLOTn0
|
||||||
|
stz PIC.IRQDIS,x
|
||||||
|
|
||||||
|
lda #S.DIB.S.OPENED
|
||||||
|
tsb DIB+S.DIB.S
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CONTROL
|
CLOSE lda #S.DIB.S.OPENED
|
||||||
|
trb DIB+S.DIB.S
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OPEN
|
READ jsr READ.WRITE.Init
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CLOSE
|
WRITE jsr READ.WRITE.Init
|
||||||
clc
|
|
||||||
|
.1 inc ZPCount
|
||||||
|
bne .2
|
||||||
|
inc ZPCount+1
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
.2 lda (ZPBufPtr)
|
||||||
|
inc ZPBufPtr
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
inc ZPBufPtr+1
|
||||||
|
|
||||||
|
.3 sta PIC.WDATA,x
|
||||||
|
* sta PIC.WSTROBE,x
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WRITE
|
READ.WRITE.Init ldx DEVSLOTn0
|
||||||
clc
|
|
||||||
|
STATUS.CONTROL.Init
|
||||||
|
>STYA ZPIOCTL
|
||||||
|
|
||||||
|
ldy #S.IOCTL.BUFPTR
|
||||||
|
lda (ZPIOCTL),y
|
||||||
|
sta ZPBufPtr
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda (ZPIOCTL),y
|
||||||
|
sta ZPBufPtr+1
|
||||||
|
iny #S.IOCTL.BYTECNT
|
||||||
|
|
||||||
|
lda (ZPIOCTL),y
|
||||||
|
eor #$ff
|
||||||
|
sta ZPCount
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda (ZPIOCTL),y
|
||||||
|
eor #$ff
|
||||||
|
sta ZPCount+1
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.END
|
DRV.CS.END
|
||||||
DEVSLOT0n .BS 1
|
*DEVSLOT0n .BS 1
|
||||||
DEVSLOTCn .BS 1
|
*DEVSLOTCn .BS 1
|
||||||
DEVSLOTn0 .BS 1
|
DEVSLOTn0 .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STAT .DA #S.DIB.S.WRITE
|
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||||
.DA #0,#0,#0
|
.DA #0,#0,#0
|
||||||
>PSTR "Parallel Card"
|
>PSTR "Apple // Int Crd"
|
||||||
.DA #0,#0,#0
|
|
||||||
.DA #S.DIB.T.CHAR
|
|
||||||
.DA #0
|
|
||||||
.DA $0900
|
|
||||||
*--------------------------------------
|
|
||||||
DIB .DA #S.DIB.S.WRITE
|
|
||||||
.DA #0,#0,#0
|
|
||||||
>PSTR "Serial Card/Port"
|
|
||||||
.DA #S.DIB.T.CHAR
|
.DA #S.DIB.T.CHAR
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA K.VER
|
.DA K.VER
|
||||||
|
|
|
@ -123,6 +123,7 @@ S.WND.hCUR .EQ S.OBJ+16
|
||||||
S.WND.TitleX1 .EQ S.OBJ+18
|
S.WND.TitleX1 .EQ S.OBJ+18
|
||||||
S.WND.TitleX2 .EQ S.OBJ+20
|
S.WND.TitleX2 .EQ S.OBJ+20
|
||||||
S.WND.TBAR.Y2 .EQ S.OBJ+22
|
S.WND.TBAR.Y2 .EQ S.OBJ+22
|
||||||
|
S.WND.MBAR.Y1 .EQ S.OBJ+22
|
||||||
S.WND.MBAR.Y2 .EQ S.OBJ+24
|
S.WND.MBAR.Y2 .EQ S.OBJ+24
|
||||||
S.WND.SBAR.Y1 .EQ S.OBJ+26
|
S.WND.SBAR.Y1 .EQ S.OBJ+26
|
||||||
S.WND.InnerW .EQ S.OBJ+28
|
S.WND.InnerW .EQ S.OBJ+28
|
||||||
|
|
|
@ -39,7 +39,7 @@ DrawToYA jsr OBJ.Get
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
Draw.Jmp jmp (J.Cmds-S.CB.CMD.DRAWLINE-2,x)
|
Draw.Jmp jmp (J.Cmds-S.CB.CMD.DRAWLINE,x)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* In: Control Block in CB.Cache
|
* In: Control Block in CB.Cache
|
||||||
* CMD
|
* CMD
|
||||||
|
@ -271,11 +271,17 @@ DrawLine.IncX lda DX
|
||||||
bra .1
|
bra .1
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DrawText2 jsr GFXWrite.CB
|
DrawText2 lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||||
|
|
||||||
|
sta CB.Cache+S.CB.CMD
|
||||||
|
|
||||||
|
jsr GFXWrite.CB
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr GFXWrite.CB
|
jsr GFXWrite.CB
|
||||||
lda CB.Cache+S.CB.SrcPtr
|
lda CB.Cache+S.CB.SrcPtr
|
||||||
>SYSCALL2 FreeStkObj
|
>SYSCALL2 FreeStkObj
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,12 @@ MENU.New >STYA ZPPtr1
|
||||||
MENU.Paint
|
MENU.Paint
|
||||||
MENU.Close
|
MENU.Close
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.MBarInit >STYA ZPPtr1
|
MENU.MBarInit >STYA ZPMENUPtr
|
||||||
|
>STYA ZPPtr1
|
||||||
|
|
||||||
|
ldy #S.MBAR.S
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
bmi .80
|
||||||
|
|
||||||
stz DX
|
stz DX
|
||||||
stz DX+1
|
stz DX+1
|
||||||
|
@ -24,12 +29,12 @@ MENU.MBarInit >STYA ZPPtr1
|
||||||
.1 lda (ZPPtr1)
|
.1 lda (ZPPtr1)
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
ldy #S.MBAR.TEXT
|
lda #S.MBAR.TEXT
|
||||||
lda (ZPPtr1),y
|
clc
|
||||||
pha
|
adc ZPPtr1
|
||||||
iny
|
tay
|
||||||
lda (ZPPtr1),y
|
lda ZPPtr1+1
|
||||||
ply
|
adc #0
|
||||||
|
|
||||||
ldx hSYSFONB
|
ldx hSYSFONB
|
||||||
jsr FON.GetTextSize
|
jsr FON.GetTextSize
|
||||||
|
@ -85,7 +90,7 @@ MENU.MBarInit >STYA ZPPtr1
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
sec
|
clc
|
||||||
adc ZPPtr1
|
adc ZPPtr1
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
bcc .1
|
bcc .1
|
||||||
|
@ -95,9 +100,9 @@ MENU.MBarInit >STYA ZPPtr1
|
||||||
.8 lda #$80
|
.8 lda #$80
|
||||||
|
|
||||||
ldy #S.MBAR.S
|
ldy #S.MBAR.S
|
||||||
sta (ZPMENUPtr),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
clc
|
.80 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MBAR.New
|
MBAR.New
|
||||||
|
|
|
@ -203,7 +203,7 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||||
tax
|
tax
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
|
|
||||||
ldy #S.WND.TBAR.Y2+1
|
ldy #S.WND.TBAR.Y2+1
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
txa
|
txa
|
||||||
|
@ -253,18 +253,18 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||||
.3 ldy #S.WND.MBAR+1
|
.3 ldy #S.WND.MBAR+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
lda Counter+1
|
lda Counter+1
|
||||||
clc
|
clc
|
||||||
adc SYSFON.Hp2
|
adc SYSFON.Hp2
|
||||||
sta Counter+1
|
sta Counter+1
|
||||||
|
|
||||||
ldy #S.WND.TBAR.Y2
|
ldy #S.WND.TBAR.Y2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
clc
|
clc
|
||||||
adc SYSFON.Hp2
|
adc SYSFON.H
|
||||||
tax
|
tax
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
adc #0
|
adc #0
|
||||||
|
@ -273,24 +273,24 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||||
txa
|
txa
|
||||||
dey
|
dey
|
||||||
sta (ZPWNDPtr),y
|
sta (ZPWNDPtr),y
|
||||||
|
|
||||||
lda #S.WND.S.HASMBAR
|
lda #S.WND.S.HASMBAR
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
jsr WND.PaintMBar
|
jsr WND.PaintMBar
|
||||||
|
|
||||||
.7 ldy #S.WND.STATUS+1
|
.7 ldy #S.WND.STATUS+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda Counter+1
|
lda Counter+1
|
||||||
clc
|
clc
|
||||||
adc SYSFON.Hp2
|
adc SYSFON.Hp2
|
||||||
sta Counter+1
|
sta Counter+1
|
||||||
|
|
||||||
lda #S.WND.S.HASSBAR
|
lda #S.WND.S.HASSBAR
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
jsr WND.PaintSBar
|
jsr WND.PaintSBar
|
||||||
|
|
||||||
.8 lda #0
|
.8 lda #0
|
||||||
|
@ -413,17 +413,17 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
lda #S.CB.M.C16
|
lda #S.CB.M.C16
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
ldx PREFS.TBARCOLORI
|
ldx PREFS.TBARCOLORI
|
||||||
|
|
||||||
ldy #S.OBJ.S
|
ldy #S.OBJ.S
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
and #S.WND.S.ACTIVE
|
and #S.WND.S.ACTIVE
|
||||||
beq .10
|
beq .10
|
||||||
|
|
||||||
ldx PREFS.TBARCOLORA
|
ldx PREFS.TBARCOLORA
|
||||||
|
|
||||||
.10 txa
|
.10 txa
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
ldy #S.OBJ.X1
|
||||||
|
@ -487,7 +487,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda L.BM.Close
|
lda L.BM.Close
|
||||||
ldx L.BM.Close+1
|
ldx L.BM.Close+1
|
||||||
sta ZPObjPtr
|
sta ZPObjPtr
|
||||||
|
@ -501,19 +501,19 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc #0
|
sbc #0
|
||||||
|
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
|
|
||||||
jsr WND.PaintTopBarBMAtAX
|
jsr WND.PaintTopBarBMAtAX
|
||||||
|
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.3 bit #S.WND.F.MIN
|
.3 bit #S.WND.F.MIN
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda L.BM.Min
|
lda L.BM.Min
|
||||||
ldx L.BM.Min+1
|
ldx L.BM.Min+1
|
||||||
sta ZPObjPtr
|
sta ZPObjPtr
|
||||||
|
@ -527,17 +527,17 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc #0
|
sbc #0
|
||||||
|
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
|
|
||||||
jsr WND.PaintTopBarBMAtAX
|
jsr WND.PaintTopBarBMAtAX
|
||||||
|
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.4 bit #S.WND.F.MAX
|
.4 bit #S.WND.F.MAX
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda L.BM.Max
|
lda L.BM.Max
|
||||||
ldx L.BM.Max+1
|
ldx L.BM.Max+1
|
||||||
sta ZPObjPtr
|
sta ZPObjPtr
|
||||||
|
@ -551,7 +551,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc #0
|
sbc #0
|
||||||
|
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
|
|
||||||
|
@ -630,7 +630,7 @@ WND.PaintTopBarBMAtAX
|
||||||
lda #0 S.CB.DstPtr
|
lda #0 S.CB.DstPtr
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintTopBarTitle
|
WND.PaintTopBarTitle
|
||||||
|
@ -659,9 +659,9 @@ WND.PaintTopBarTitle
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sec
|
sec
|
||||||
sbc CB.Cache+S.CB.SrcW
|
sbc CB.Cache+S.CB.SrcW
|
||||||
|
|
||||||
sta DX
|
sta DX
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc CB.Cache+S.CB.SrcW+1
|
sbc CB.Cache+S.CB.SrcW+1
|
||||||
|
@ -669,7 +669,7 @@ WND.PaintTopBarTitle
|
||||||
lsr
|
lsr
|
||||||
ror DX
|
ror DX
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
ldy #S.OBJ.X1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
clc
|
clc
|
||||||
|
@ -681,7 +681,7 @@ WND.PaintTopBarTitle
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
adc DX+1
|
adc DX+1
|
||||||
sta CB.Cache+S.CB.X1+1
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
ldy #S.OBJ.Y1
|
ldy #S.OBJ.Y1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
clc
|
clc
|
||||||
|
@ -698,51 +698,40 @@ WND.PaintTopBarTitle
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintMBar ldy #S.WND.MBAR
|
WND.PaintMBar jsr CB.Clear
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta ZPMENUPtr
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta ZPMENUPtr+1
|
|
||||||
|
|
||||||
ldy #S.MBAR.S
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
bmi .1
|
|
||||||
|
|
||||||
>LDYA ZPMENUPtr
|
|
||||||
jsr MENU.MBarInit
|
|
||||||
|
|
||||||
.1 jsr CB.Clear
|
|
||||||
|
|
||||||
lda #S.CB.CMD.FILLRECT
|
lda #S.CB.CMD.FILLRECT
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
lda #S.CB.OP.SET
|
||||||
sta CB.Cache+S.CB.OP
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
lda #S.CB.M.MONO
|
lda #S.CB.M.MONO
|
||||||
sta CB.Cache+S.CB.M
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
lda PREFS.MBARCOLOR
|
lda PREFS.MBARCOLOR
|
||||||
sta CB.Cache+S.CB.OP.COLOR
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
ldy #S.OBJ.X1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.X1
|
sta CB.Cache+S.CB.X1
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.X1+1
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
ldy #S.OBJ.X2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.X2
|
sta CB.Cache+S.CB.X2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.X2+1
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
ldy #S.WND.TBAR.Y2
|
ldy #S.WND.MBAR.Y1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y1
|
sta CB.Cache+S.CB.Y1
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y1+1
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
@ -750,18 +739,81 @@ WND.PaintMBar ldy #S.WND.MBAR
|
||||||
iny #S.WND.MBAR.Y2
|
iny #S.WND.MBAR.Y2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y2
|
sta CB.Cache+S.CB.Y2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y2+1
|
sta CB.Cache+S.CB.Y2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr PutCBCache2CBBuf
|
||||||
|
|
||||||
|
ldy #S.WND.MBAR
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
ply
|
||||||
|
|
||||||
|
jsr MENU.MBarInit
|
||||||
|
|
||||||
|
.1 lda (ZPMENUPtr)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr CB.Clear
|
||||||
|
|
||||||
|
lda #S.CB.CMD.DRAWTEXT2
|
||||||
|
sta CB.CACHE+S.CB.CMD
|
||||||
|
|
||||||
|
lda #S.CB.OP.SET+S.CB.OP.INVERSE
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
|
lda hSYSFONB
|
||||||
|
sta CB.CACHE+S.CB.hFont
|
||||||
|
|
||||||
|
ldy #S.MBAR.XT
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
clc
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
adc (ZPWNDPtr),y
|
||||||
|
sta CB.CACHE+S.CB.X1
|
||||||
|
|
||||||
|
ldy #S.MBAR.XT+1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
ldy #S.OBJ.X1+1
|
||||||
|
adc (ZPWNDPtr),y
|
||||||
|
sta CB.CACHE+S.CB.X1+1
|
||||||
|
|
||||||
|
ldy #S.WND.MBAR.Y1
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.CACHE+S.CB.Y1
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.CACHE+S.CB.Y1+1
|
||||||
|
|
||||||
|
lda #S.MBAR.TEXT
|
||||||
|
clc
|
||||||
|
adc ZPMENUPtr
|
||||||
|
sta CB.CACHE+S.CB.TxtPtr
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
adc ZPMENUPtr+1
|
||||||
|
sta CB.CACHE+S.CB.TxtPtr+1
|
||||||
|
|
||||||
|
jsr PutCBCache2CBBuf
|
||||||
|
|
||||||
|
lda (ZPMENUPtr)
|
||||||
|
clc
|
||||||
|
adc ZPMENUPtr
|
||||||
|
sta ZPMENUPtr
|
||||||
|
bcc .1
|
||||||
|
inc ZPMENUPtr+1
|
||||||
|
bra .1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
|
|
||||||
.9 rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintSBar lda #S.CB.CMD.HLINE
|
WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
jsr WND.PaintBorders.H
|
jsr WND.PaintBorders.H
|
||||||
|
@ -772,7 +824,7 @@ WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
iny
|
iny
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
ldy #S.OBJ.Y2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sec
|
sec
|
||||||
|
@ -782,7 +834,7 @@ WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sbc #0
|
sbc #0
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
ldy #S.OBJ.X2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
jsr PutA2CBBuf
|
jsr PutA2CBBuf
|
||||||
|
@ -843,16 +895,16 @@ WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
sta CB.Cache+S.CB.M
|
sta CB.Cache+S.CB.M
|
||||||
lda PREFS.SBARCOLOR
|
lda PREFS.SBARCOLOR
|
||||||
sta CB.Cache+S.CB.OP.COLOR
|
sta CB.Cache+S.CB.OP.COLOR
|
||||||
|
|
||||||
lda CB.Cache+S.CB.X1
|
lda CB.Cache+S.CB.X1
|
||||||
clc
|
clc
|
||||||
adc CB.Cache+S.CB.SrcW
|
adc CB.Cache+S.CB.SrcW
|
||||||
sta CB.Cache+S.CB.X1
|
sta CB.Cache+S.CB.X1
|
||||||
|
|
||||||
lda CB.Cache+S.CB.X1+1
|
lda CB.Cache+S.CB.X1+1
|
||||||
adc CB.Cache+S.CB.SrcW+1
|
adc CB.Cache+S.CB.SrcW+1
|
||||||
sta CB.Cache+S.CB.X1+1
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
ldy #S.OBJ.X2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.X2
|
sta CB.Cache+S.CB.X2
|
||||||
|
|
|
@ -194,13 +194,15 @@ L.Cursors .DA CUR.Arrow
|
||||||
.DA CUR.Wait6
|
.DA CUR.Wait6
|
||||||
J.Clip .DA CLIP.Point SETPIXEL
|
J.Clip .DA CLIP.Point SETPIXEL
|
||||||
.DA CLIP.Point GETPIXEL
|
.DA CLIP.Point GETPIXEL
|
||||||
.DA CLIP.HLine
|
.DA CLIP.HLine HLINE
|
||||||
.DA CLIP.VLine
|
.DA CLIP.VLine VLINE
|
||||||
.DA CLIP.Rect FILLRECT
|
.DA CLIP.Rect FILLRECT
|
||||||
.DA CLIP.BitBlt
|
.DA CLIP.BitBlt BITBLT
|
||||||
.DA CLIP.Rect GETRECTBUFSIZE
|
.DA CLIP.Rect GETRECTBUFSIZE
|
||||||
.DA CLIP.Line
|
.DA CLIP.Text DRAWTEXT
|
||||||
.DA CLIP.Text
|
.DA CLIP.Text GETTEXTSIZE
|
||||||
|
.DA CLIP.Line DRAWLINE
|
||||||
|
.DA CLIP.BitBlt DRAWTEXT2
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIB.LOAD lda LibCount
|
LIB.LOAD lda LibCount
|
||||||
|
@ -318,13 +320,14 @@ CB.Get >STYA .1+1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GetCBBuf >LDYAI 256
|
GetCBBuf >LDYAI 512
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
stx hCBBuf
|
stx hCBBuf
|
||||||
>STYA ZPCBPtr
|
>STYA ZPCBPtr
|
||||||
>STYA ZPCBBufPtr
|
>STYA ZPCBBufPtr
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PutCBCache2CBBuf
|
PutCBCache2CBBuf
|
||||||
|
@ -457,7 +460,7 @@ MENU.Sys .DA #2 ID
|
||||||
.DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PREFS.BESTVIEWEDX .DA #$FC
|
PREFS.BESTVIEWEDX .DA #$FC
|
||||||
PREFS.MBARXMARGIN .DA #10
|
PREFS.MBARXMARGIN .DA #5
|
||||||
PREFS.BORDERCOLOR .DA #C.BLACK
|
PREFS.BORDERCOLOR .DA #C.BLACK
|
||||||
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
||||||
PREFS.TBARCOLORI .DA #C16.L.BLUE
|
PREFS.TBARCOLORI .DA #C16.L.BLUE
|
||||||
|
|
|
@ -126,14 +126,12 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
||||||
>PUSHW L.WND.TITLE
|
>PUSHW L.WND.TITLE
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||||
|
|
||||||
lda hWND
|
>PUSHB hWND
|
||||||
>PUSHA
|
|
||||||
>PUSHBI S.WND.MBAR
|
>PUSHBI S.WND.MBAR
|
||||||
>PUSHW L.WND.MBAR
|
>PUSHW L.WND.MBAR
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||||
|
|
||||||
lda hWND
|
>PUSHB hWND
|
||||||
>PUSHA
|
|
||||||
>PUSHBI S.WND.STATUS
|
>PUSHBI S.WND.STATUS
|
||||||
>PUSHW L.WND.STATUS
|
>PUSHW L.WND.STATUS
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||||
|
|
Loading…
Reference in New Issue
Block a user