mirror of https://github.com/A2osX/A2osX.git
CC:SWITCH/CASE
ASM:added \% KERNEL:BUGFIX in DevMgr LIBGUI:New API
This commit is contained in:
parent
8e2918de4d
commit
dad22dfc30
Binary file not shown.
BIN
.Fonts/SYSx7.fnt
BIN
.Fonts/SYSx7.fnt
Binary file not shown.
|
@ -525,10 +525,10 @@ T.LI .PS "ON"
|
||||||
.HS 00
|
.HS 00
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DIR.EscChars .AS "abefnrtv"
|
DIR.EscChars .AS "abefnrtv"
|
||||||
.HS 5C27223F \'"?
|
.HS 5C27223F25 \'"?%
|
||||||
DIR.EscChars.L .EQ *-DIR.EscChars
|
DIR.EscChars.L .EQ *-DIR.EscChars
|
||||||
DIR.EscCodes .HS 07081B0C0A0D090B
|
DIR.EscCodes .HS 07081B0C0A0D090B
|
||||||
.HS 5C27223F
|
.HS 5C27223F25
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.MOD.RESERVED .PS "#/^<>"
|
SRC.MOD.RESERVED .PS "#/^<>"
|
||||||
SRC.EXP.RESERVED .PS "^!|&<=>+-*/"
|
SRC.EXP.RESERVED .PS "^!|&<=>+-*/"
|
||||||
|
|
|
@ -142,7 +142,7 @@ CORE.CompileLine
|
||||||
|
|
||||||
jsr CORE.GetNCharNB Skip '}'
|
jsr CORE.GetNCharNB Skip '}'
|
||||||
|
|
||||||
jsr CC.STMT.CPStmt.END
|
jsr STMT.CPStmt.END
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
bra CORE.CompileLine
|
bra CORE.CompileLine
|
||||||
|
@ -152,7 +152,7 @@ CORE.CompileLine
|
||||||
|
|
||||||
jsr CORE.GetNCharNB Skip ';'
|
jsr CORE.GetNCharNB Skip ';'
|
||||||
|
|
||||||
jsr CC.STMT.Stmt.END
|
jsr STMT.Stmt.END
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
bra CORE.CompileLine
|
bra CORE.CompileLine
|
||||||
|
@ -181,7 +181,7 @@ CORE.CompileStmt
|
||||||
.1 >LDYA L.CC.SCSPEC
|
.1 >LDYA L.CC.SCSPEC
|
||||||
jsr CC.LookupID
|
jsr CC.LookupID
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
jmp (J.CC.SCSPEC,x)
|
jmp (J.CC.SCSPEC,x)
|
||||||
|
|
||||||
.2 >LDYA L.CC.TYPEQUAL
|
.2 >LDYA L.CC.TYPEQUAL
|
||||||
|
@ -513,35 +513,40 @@ CC.CheckCharNB cmp #C.SPACE
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* https://riptutorial.com/c/example/16255/character-literals
|
||||||
|
* 'c', '\abefnrtv', '\123', '\xFF'
|
||||||
|
*--------------------------------------
|
||||||
CC.GetNextCharEsc
|
CC.GetNextCharEsc
|
||||||
jsr CC.GetNextChar
|
jsr CC.GetNextChar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
cmp #'\'
|
cmp #'\'
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
jsr CC.GetNextChar
|
jsr CC.GetNextChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
ldx #CC.EscChars.Cnt-1
|
ldx #CC.EscChars.Cnt-1
|
||||||
|
|
||||||
.1 cmp CC.EscChars,x
|
.1 cmp CC.EscChars,x
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
|
* TODO : \123, \xFF
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.6 lda CC.EscCodes,x
|
.6 lda CC.EscCodes,x
|
||||||
bit .9
|
bit .9
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
clv
|
clv
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CC.GetNextChar inc ZPLineBufPtr
|
CC.GetNextChar inc ZPLineBufPtr
|
||||||
bne CC.GetChar
|
bne CC.GetChar
|
||||||
|
|
|
@ -272,6 +272,35 @@ EXP.BOPS bit #SYM.Q.PPPOINTER
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
EXP.GetIntegral jsr CC.GetCharNB
|
||||||
|
cmp #'''
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
jsr CC.GetNextCharEsc
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
tay
|
||||||
|
|
||||||
|
jsr CC.GetNextChar
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #'''
|
||||||
|
bne .9
|
||||||
|
|
||||||
|
jsr CORE.GetNCharNB skip '
|
||||||
|
|
||||||
|
lda #0 Y,A = integral
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.1 jsr CC.IsDigit10
|
||||||
|
bcc EXP.IntConst
|
||||||
|
|
||||||
|
.9 lda #E.CSYN
|
||||||
|
* sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
EXP.IntConst >PUSHW ZPLineBufPtr
|
EXP.IntConst >PUSHW ZPLineBufPtr
|
||||||
>PUSHWI ZPLineBufPtr
|
>PUSHWI ZPLineBufPtr
|
||||||
>PUSHBI 10
|
>PUSHBI 10
|
||||||
|
@ -283,7 +312,7 @@ EXP.IntConst >PUSHW ZPLineBufPtr
|
||||||
>PULLA
|
>PULLA
|
||||||
|
|
||||||
inc pStack
|
inc pStack
|
||||||
inc pStack
|
inc pStack Y,A = integral
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -346,9 +375,6 @@ EXP.GetNum cpy #SYM.T.FLOAT
|
||||||
* clc
|
* clc
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* https://riptutorial.com/c/example/16255/character-literals
|
|
||||||
* 'c', '\n', '\123', '\xAB'
|
|
||||||
*--------------------------------------
|
|
||||||
EXP.GetChar ldy ZPPtr2+1
|
EXP.GetChar ldy ZPPtr2+1
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
|
@ -373,7 +399,6 @@ EXP.GetChar ldy ZPPtr2+1
|
||||||
|
|
||||||
jsr CORE.GetNCharNB skip '
|
jsr CORE.GetNCharNB skip '
|
||||||
|
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ F.Decl stz LocalPtr
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
ldx #$80 CPStmt.fDef state
|
ldx #$80 CPStmt.fDef state
|
||||||
jsr CC.STMT.CPStmt.NEW
|
jsr STMT.CPStmt.NEW
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr SYM.NewScope
|
jsr SYM.NewScope
|
||||||
|
@ -62,10 +62,10 @@ F.Decl stz LocalPtr
|
||||||
bne .7
|
bne .7
|
||||||
|
|
||||||
jsr SYM.FreeScope discard local scope
|
jsr SYM.FreeScope discard local scope
|
||||||
|
|
||||||
lda CStackPtr
|
lda CStackPtr
|
||||||
clc
|
clc
|
||||||
adc #8
|
adc #CPS
|
||||||
sta CStackPtr discard this CPStmt + T/Q
|
sta CStackPtr discard this CPStmt + T/Q
|
||||||
|
|
||||||
stz LocalPtr reset for DEBUG Message
|
stz LocalPtr reset for DEBUG Message
|
||||||
|
@ -129,9 +129,9 @@ F.DeclGetTQ lda (ZPLineBufPtr)
|
||||||
lda (ZPLookupSymPtr),y
|
lda (ZPLookupSymPtr),y
|
||||||
cmp #SYM.SC.TYPEDEF
|
cmp #SYM.SC.TYPEDEF
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
jmp TYPE.GetTQInYA2
|
jmp TYPE.GetTQInYA2
|
||||||
|
|
||||||
.6 >LDYA L.CC.TYPEQUAL
|
.6 >LDYA L.CC.TYPEQUAL
|
||||||
jsr CC.LookupID
|
jsr CC.LookupID
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
376
BIN/CC.S.KW.txt
376
BIN/CC.S.KW.txt
|
@ -3,7 +3,7 @@ NEW
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Built in Keywords
|
* Built in Keywords
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.IF jsr KW.BEGIN00
|
KW.IF jsr STMT.NewCPS00
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr CC.GetCharNB
|
jsr CC.GetCharNB
|
||||||
|
@ -34,7 +34,7 @@ KW.IF jsr KW.BEGIN00
|
||||||
cmp #')'
|
cmp #')'
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
jmp KW.STMT
|
jmp STMT.SetCPSType
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.9 lda #E.CSYN
|
||||||
sec
|
sec
|
||||||
|
@ -51,7 +51,7 @@ KW.IF.END jsr CORE.GetCharNBNL
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
.1 lda #'E' define ELSE Label
|
.1 lda #'E' define ELSE Label
|
||||||
jsr KW.NewLabel
|
jsr STMT.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
clv pop context
|
clv pop context
|
||||||
|
@ -66,16 +66,14 @@ KW.IF.END jsr CORE.GetCharNBNL
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'E' define ELSE Label
|
lda #'E' define ELSE Label
|
||||||
jsr KW.NewLabel
|
jsr STMT.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
inc CStackPtr pop ; or }
|
lda #KW.ELSE.ID replace IF by ELSE keyword
|
||||||
|
|
||||||
lda #4 replace IF by ELSE keyword
|
|
||||||
ldy CStackPtr
|
ldy CStackPtr
|
||||||
sta (ZPCCStack),y
|
sta (ZPCCStack),y
|
||||||
|
|
||||||
jsr KW.STMT
|
jsr STMT.SetCPSType
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
bit .99 set V : DONT pop context
|
bit .99 set V : DONT pop context
|
||||||
|
@ -90,13 +88,13 @@ KW.ELSE lda #E.CSYN illegal
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.ELSE.END lda #'X' define EXIT Label
|
KW.ELSE.END lda #'X' define EXIT Label
|
||||||
jsr KW.NewLabel
|
jsr STMT.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
clv pop context
|
clv pop context
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.WHILE jsr KW.BEGIN00
|
KW.WHILE jsr STMT.NewCPS00
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'C' define CONT Label
|
lda #'C' define CONT Label
|
||||||
|
@ -131,7 +129,7 @@ KW.WHILE jsr KW.BEGIN00
|
||||||
cmp #')'
|
cmp #')'
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
jmp KW.STMT
|
jmp STMT.SetCPSType
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.9 lda #E.CSYN
|
||||||
sec
|
sec
|
||||||
|
@ -142,7 +140,7 @@ KW.WHILE.END >LDYA L.PCC.SLEEP
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'C'
|
lda #'C'
|
||||||
jsr KW.GetLabel
|
jsr STMT.GetLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #$4C
|
lda #$4C
|
||||||
|
@ -150,21 +148,21 @@ KW.WHILE.END >LDYA L.PCC.SLEEP
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'B' define BREAK Label
|
lda #'B' define BREAK Label
|
||||||
jsr KW.NewLabel
|
jsr STMT.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
clv pop context
|
clv pop context
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.DO jsr KW.BEGIN00
|
KW.DO jsr STMT.NewCPS00
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'C' define CONT Label
|
lda #'C' define CONT Label
|
||||||
jsr SYM.NewA
|
jsr SYM.NewA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jmp KW.STMT
|
jmp STMT.SetCPSType
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -187,7 +185,7 @@ KW.DO.END >LDYA L.CC.KW2.DO Check allowed KW for DO....
|
||||||
jsr KW.TestnZero
|
jsr KW.TestnZero
|
||||||
|
|
||||||
lda #'C'
|
lda #'C'
|
||||||
jsr KW.GetLabel
|
jsr STMT.GetLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #$4C emit JMP cont
|
lda #$4C emit JMP cont
|
||||||
|
@ -195,7 +193,7 @@ KW.DO.END >LDYA L.CC.KW2.DO Check allowed KW for DO....
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'B' define BREAK Label
|
lda #'B' define BREAK Label
|
||||||
jsr KW.NewLabel
|
jsr STMT.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr CC.GetCharNB
|
jsr CC.GetCharNB
|
||||||
|
@ -237,7 +235,7 @@ KW.FOR jsr CC.GetCharNB
|
||||||
cmp #'('
|
cmp #'('
|
||||||
bne .29
|
bne .29
|
||||||
|
|
||||||
jsr KW.BEGIN00
|
jsr STMT.NewCPS00
|
||||||
bcs .29
|
bcs .29
|
||||||
|
|
||||||
jsr CORE.GetNCharNB skip '('
|
jsr CORE.GetNCharNB skip '('
|
||||||
|
@ -325,7 +323,7 @@ KW.FOR jsr CC.GetCharNB
|
||||||
jsr SYM.NewA
|
jsr SYM.NewA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jmp KW.STMT
|
jmp STMT.SetCPSType
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.9 lda #E.CSYN
|
||||||
sec
|
sec
|
||||||
|
@ -337,7 +335,7 @@ KW.FOR.END lda #$60
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'B' define BREAK Label
|
lda #'B' define BREAK Label
|
||||||
jsr KW.NewLabel
|
jsr STMT.NewLabelA
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
clv pop context
|
clv pop context
|
||||||
|
@ -362,21 +360,27 @@ KW.SWITCH jsr CC.GetCharNB
|
||||||
cpy #SYM.T.UCHAR
|
cpy #SYM.T.UCHAR
|
||||||
bcc .97
|
bcc .97
|
||||||
|
|
||||||
cpy #SYM.T.FLOAT
|
cpy #SYM.T.ULONG
|
||||||
bcs .97
|
bcs .97
|
||||||
|
|
||||||
phy
|
cpy #SYM.T.SINT+1
|
||||||
tya
|
bcs .1
|
||||||
jsr CC.Push push integral type
|
|
||||||
ply
|
>LDYA L.PCC.8to16 make char an int
|
||||||
|
jsr CODE.EmitPCC
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda CC.TYPESIZE-1,y
|
.1 >LDYAI 256
|
||||||
|
>SYSCALL GetMem
|
||||||
|
bcs .99
|
||||||
|
txa
|
||||||
|
jsr CC.Push push CPS.hMEM
|
||||||
|
|
||||||
jsr CC.Push push SizeOf(type)
|
lda #0
|
||||||
|
jsr CC.Push push CPS.Ptr
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr KW.BEGIN
|
jsr STMT.NewCPS
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr CC.GetCharNB
|
jsr CC.GetCharNB
|
||||||
|
@ -385,7 +389,15 @@ KW.SWITCH jsr CC.GetCharNB
|
||||||
cmp #')'
|
cmp #')'
|
||||||
bne .98
|
bne .98
|
||||||
|
|
||||||
jmp KW.STMT
|
lda #'J'
|
||||||
|
jsr STMT.LookupLabelA
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #$4C emit JMP JmpTable
|
||||||
|
jsr CODE.TOABSYX
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
jmp STMT.SetCPSType
|
||||||
|
|
||||||
.97 lda #E.TMISMATCH
|
.97 lda #E.TMISMATCH
|
||||||
sec
|
sec
|
||||||
|
@ -393,58 +405,169 @@ KW.SWITCH jsr CC.GetCharNB
|
||||||
|
|
||||||
.98 lda #E.CSYN
|
.98 lda #E.CSYN
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99
|
||||||
|
KW.SWITCH.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.SWITCH.END
|
KW.SWITCH.END lda #'J' define JMP Label
|
||||||
lda #'B' define BREAK Label
|
jsr STMT.NewLabelA
|
||||||
jsr KW.NewLabel
|
bcs KW.SWITCH.RTS
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
clc
|
||||||
|
adc #CPS.hMEM
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>STYA ZPPtr1
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
clc
|
||||||
|
adc #CPS.Ptr
|
||||||
|
tay
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
sta ZPPtr2+1
|
||||||
|
|
||||||
|
stz ZPPtr2
|
||||||
|
|
||||||
|
.1 ldy ZPPtr2
|
||||||
|
cpy ZPPtr2+1
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
tax
|
||||||
|
pla
|
||||||
|
|
||||||
|
jsr CODE.LDAXI
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
>LDYA L.PCC.JmpOnYA
|
||||||
|
jsr CODE.EmitPCC
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
ldy ZPPtr2
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
iny
|
||||||
|
sty ZPPtr2
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda #$4C emit JMP Case ...
|
||||||
|
jsr CODE.TOABSYX
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.2 >LDYA L.PCC.Pop16
|
||||||
|
jsr CODE.EmitPCC
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #'D'
|
||||||
|
jsr STMT.LookupLabelA
|
||||||
|
bcs .3
|
||||||
|
|
||||||
|
lda #$4C emit JMP Default
|
||||||
|
jsr CODE.TOABSYX
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
.3 lda #'B' define BREAK Label
|
||||||
|
jsr STMT.NewLabelA
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
clc
|
||||||
|
adc #CPS.hMEM
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
clv pop context
|
clv pop context
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.CASE ldy CStackPtr
|
KW.CASE ldy CStackPtr
|
||||||
beq .9
|
beq .98
|
||||||
|
|
||||||
iny skip ; or }
|
|
||||||
lda (ZPCCStack),y
|
lda (ZPCCStack),y
|
||||||
cmp #10 SWITCH ??
|
cmp #KW.SWITCH.ID SWITCH ??
|
||||||
bne .9
|
bne .98
|
||||||
|
|
||||||
|
tya
|
||||||
|
clc
|
||||||
|
adc #CPS.hMEM
|
||||||
|
tay
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>STYA ZPPtr1
|
||||||
|
|
||||||
|
jsr EXP.GetIntegral
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>STYA ZPPtr2
|
||||||
|
|
||||||
lda CStackPtr
|
lda CStackPtr
|
||||||
clc
|
clc
|
||||||
adc #7
|
adc #CPS.Ptr
|
||||||
|
tay
|
||||||
|
lda (ZPCCStack),y
|
||||||
tay
|
tay
|
||||||
|
|
||||||
lda (ZPCCStack),y type
|
lda ZPPtr2
|
||||||
tay
|
sta (ZPPtr1),y
|
||||||
lda #0 for integral type
|
iny
|
||||||
|
lda ZPPtr2+1
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
iny
|
||||||
|
|
||||||
jsr EXP.Eval
|
lda ZPCCCode
|
||||||
bcs .99
|
sta (ZPPtr1),y
|
||||||
|
iny
|
||||||
|
lda ZPCCCode+1
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
iny
|
||||||
|
beq .97
|
||||||
|
|
||||||
|
phy
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
clc
|
||||||
|
adc #CPS.Ptr
|
||||||
|
tay
|
||||||
|
pla
|
||||||
|
sta (ZPCCStack),y
|
||||||
|
|
||||||
jsr CC.GetCharNB
|
jsr CC.GetCharNB
|
||||||
bcs .9
|
bcs .98
|
||||||
|
|
||||||
cmp #':'
|
cmp #':'
|
||||||
bne .9
|
bne .98
|
||||||
|
|
||||||
jsr CORE.GetNCharNB skip ':'
|
jsr CORE.GetNCharNB skip ':'
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.97 lda #E.BUF
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.98 lda #E.CSYN
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.DEFAULT ldy CStackPtr
|
KW.DEFAULT ldy CStackPtr
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
iny skip ; or }
|
|
||||||
lda (ZPCCStack),y
|
lda (ZPCCStack),y
|
||||||
cmp #10 SWITCH ??
|
cmp #KW.SWITCH.ID
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
jsr CC.GetCharNB
|
jsr CC.GetCharNB
|
||||||
|
@ -455,8 +578,8 @@ KW.DEFAULT ldy CStackPtr
|
||||||
|
|
||||||
jsr CORE.GetNCharNB skip ':'
|
jsr CORE.GetNCharNB skip ':'
|
||||||
|
|
||||||
clc
|
lda #'D' define DEFAULT Label
|
||||||
rts
|
jmp STMT.NewLabelA
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
.9 lda #E.CSYN
|
||||||
sec
|
sec
|
||||||
|
@ -464,7 +587,7 @@ KW.DEFAULT ldy CStackPtr
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.BREAK lda #'B'
|
KW.BREAK lda #'B'
|
||||||
|
|
||||||
jsr KW.LookupLabel
|
jsr STMT.LookupLabelA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #$4C emit JMP break
|
lda #$4C emit JMP break
|
||||||
|
@ -476,7 +599,7 @@ KW.BREAK lda #'B'
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.CONTINUE lda #'C'
|
KW.CONTINUE lda #'C'
|
||||||
|
|
||||||
jsr KW.LookupLabel
|
jsr STMT.LookupLabelA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #$4C emit JMP cont
|
lda #$4C emit JMP cont
|
||||||
|
@ -489,13 +612,12 @@ KW.CONTINUE lda #'C'
|
||||||
KW.RETURN ldy CStackPtr
|
KW.RETURN ldy CStackPtr
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
.1 iny skip ; or }
|
.1 lda (ZPCCStack),y CPS.KW
|
||||||
lda (ZPCCStack),y
|
|
||||||
bmi .7 f()
|
bmi .7 f()
|
||||||
|
|
||||||
tya
|
tya
|
||||||
clc
|
clc
|
||||||
adc #5 skip CPStmt (6 bytes)
|
adc #CPS skip CPStmt (6 bytes)
|
||||||
tay
|
tay
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
|
@ -503,21 +625,18 @@ KW.RETURN ldy CStackPtr
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
.7 iny skip bState
|
.7 tya
|
||||||
iny skip Locals
|
clc
|
||||||
|
adc #CPS.T
|
||||||
iny
|
tay
|
||||||
iny skip CPSID
|
|
||||||
|
|
||||||
iny get SYM.T
|
|
||||||
lda (ZPCCStack),y
|
lda (ZPCCStack),y
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
iny get SYM.Q
|
iny get CPS.Q
|
||||||
lda (ZPCCStack),y
|
lda (ZPCCStack),y
|
||||||
|
|
||||||
ply
|
ply T
|
||||||
|
|
||||||
jsr EXP.Eval
|
jsr EXP.Eval
|
||||||
bcs .99
|
bcs .99
|
||||||
|
@ -535,135 +654,6 @@ KW.SIZEOF
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.BEGIN00 lda #0
|
|
||||||
jsr CC.Push no T/Q
|
|
||||||
bcs KW.BEGIN.RTS
|
|
||||||
|
|
||||||
jsr CC.Push
|
|
||||||
bcs KW.BEGIN.RTS
|
|
||||||
|
|
||||||
KW.BEGIN jsr SYM.NewCPSID
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
>LDA.G CC.CPSPFX+3
|
|
||||||
jsr CC.Push
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
>LDA.G CC.CPSPFX+2
|
|
||||||
jsr CC.Push
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
lda LocalPtr Locals
|
|
||||||
jsr CC.Push
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
lda #0 bState
|
|
||||||
jsr CC.Push
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
>LDA.G CC.CmdSave
|
|
||||||
jmp CC.Push
|
|
||||||
|
|
||||||
.99
|
|
||||||
KW.BEGIN.RTS rts
|
|
||||||
*--------------------------------------
|
|
||||||
KW.STMT jsr CORE.GetNCharNBNL
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
cmp #'{'
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
jsr CORE.GetNCharNB skip '{'
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
lda #'}'
|
|
||||||
jmp CC.Push
|
|
||||||
|
|
||||||
.1 lda #';'
|
|
||||||
jmp CC.Push
|
|
||||||
|
|
||||||
.9 lda #E.CSYN
|
|
||||||
sec
|
|
||||||
.99 rts
|
|
||||||
*--------------------------------------
|
|
||||||
KW.NewLabel pha
|
|
||||||
|
|
||||||
lda CStackPtr
|
|
||||||
clc
|
|
||||||
adc #4
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
ply
|
|
||||||
>STYA.G CC.CPSPFX+2
|
|
||||||
|
|
||||||
pla
|
|
||||||
jmp SYM.NewA
|
|
||||||
*--------------------------------------
|
|
||||||
KW.GetLabel pha
|
|
||||||
|
|
||||||
lda CStackPtr
|
|
||||||
clc
|
|
||||||
adc #4
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
ply
|
|
||||||
>STYA.G CC.CPSPFX+2
|
|
||||||
|
|
||||||
pla
|
|
||||||
jmp SYM.LookupA
|
|
||||||
*--------------------------------------
|
|
||||||
KW.LookupLabel pha
|
|
||||||
|
|
||||||
ldy CStackPtr
|
|
||||||
sty ArgIndex
|
|
||||||
|
|
||||||
.1 ldy ArgIndex
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
iny skip ; or }
|
|
||||||
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
bmi .9 f()
|
|
||||||
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (ZPCCStack),y
|
|
||||||
iny
|
|
||||||
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
sty ArgIndex
|
|
||||||
|
|
||||||
ply
|
|
||||||
>STYA.G CC.CPSPFX+2
|
|
||||||
|
|
||||||
pla
|
|
||||||
pha
|
|
||||||
jsr SYM.LookupA
|
|
||||||
bcs .1
|
|
||||||
|
|
||||||
pla
|
|
||||||
.8 rts
|
|
||||||
|
|
||||||
.9 pla
|
|
||||||
lda #E.CSYN
|
|
||||||
sec
|
|
||||||
.99 rts
|
|
||||||
*--------------------------------------
|
|
||||||
* Input : Value on Stack, Y,A = Type/Qual
|
* Input : Value on Stack, Y,A = Type/Qual
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KW.TestZero jsr EXP.GetYASizeOfInAXC
|
KW.TestZero jsr EXP.GetYASizeOfInAXC
|
||||||
|
|
131
BIN/CC.S.PCC.txt
131
BIN/CC.S.PCC.txt
|
@ -33,19 +33,19 @@ PCC.FH.LIBS .EQ *-PCC.FH.ORG
|
||||||
|
|
||||||
PCC.FH.INIT >LDYA PCC.FH.ORG+PCC.FH.LIBS
|
PCC.FH.INIT >LDYA PCC.FH.ORG+PCC.FH.LIBS
|
||||||
>STYA ZS.RT.Ptr1
|
>STYA ZS.RT.Ptr1
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 lda (ZS.RT.Ptr1)
|
.1 lda (ZS.RT.Ptr1)
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
phx
|
phx
|
||||||
|
|
||||||
>LDYA ZS.RT.Ptr1
|
>LDYA ZS.RT.Ptr1
|
||||||
>SYSCALL LoadLib
|
>SYSCALL LoadLib
|
||||||
plx
|
plx
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta PCC.PH.hLIBs,x
|
sta PCC.PH.hLIBs,x
|
||||||
phx
|
phx
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
|
@ -57,32 +57,32 @@ PCC.FH.INIT >LDYA PCC.FH.ORG+PCC.FH.LIBS
|
||||||
inx
|
inx
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 iny
|
.2 iny
|
||||||
lda (ZS.RT.Ptr1),y
|
lda (ZS.RT.Ptr1),y
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
tya
|
tya
|
||||||
sec
|
sec
|
||||||
adc ZS.RT.Ptr1
|
adc ZS.RT.Ptr1
|
||||||
sta ZS.RT.Ptr1
|
sta ZS.RT.Ptr1
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
inc ZS.RT.Ptr1+1
|
inc ZS.RT.Ptr1+1
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
PCC.FH.QUIT ldx #12
|
PCC.FH.QUIT ldx #12
|
||||||
|
|
||||||
.1 lda PCC.PH.hLIBs,x
|
.1 lda PCC.PH.hLIBs,x
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
phx
|
phx
|
||||||
>SYSCALL UnloadLib
|
>SYSCALL UnloadLib
|
||||||
plx
|
plx
|
||||||
|
|
||||||
.2 dex
|
.2 dex
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
|
@ -93,7 +93,7 @@ PCC.FH.QUIT ldx #12
|
||||||
rts
|
rts
|
||||||
|
|
||||||
PCC.PH.hLIBs .DA #0
|
PCC.PH.hLIBs .DA #0
|
||||||
PCC.PH.JMPLIBs jmp $FFFF
|
PCC.PH.JMPLIBs jmp $FFFF
|
||||||
.DA #0
|
.DA #0
|
||||||
jmp $FFFF
|
jmp $FFFF
|
||||||
.DA #0
|
.DA #0
|
||||||
|
@ -139,7 +139,7 @@ PCC.FH.RUN lda #0
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
>PUSHA int ARGC (hi byte)
|
>PUSHA int ARGC (hi byte)
|
||||||
|
|
||||||
ldy #S.PS.ARGC
|
ldy #S.PS.ARGC
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>PUSHA int ARGC (lo byte)
|
>PUSHA int ARGC (lo byte)
|
||||||
|
@ -214,6 +214,31 @@ PCC.SetRetValue .DA #PCC.SetRetValue.L
|
||||||
|
|
||||||
PCC.SetRetValue.L .EQ *-PCC.SetRetValue
|
PCC.SetRetValue.L .EQ *-PCC.SetRetValue
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
PCC.8to16 .DA #PCC.8to16.L
|
||||||
|
lda (pStack)
|
||||||
|
pha
|
||||||
|
lda #0
|
||||||
|
sta (pStack)
|
||||||
|
pla
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
PCC.8to16.L .EQ *-PCC.8to16
|
||||||
|
*--------------------------------------
|
||||||
|
PCC.JmpOnYA .DA #PCC.JmpOnYA.L
|
||||||
|
cmp (pStack)
|
||||||
|
bne .2+5 skip JMP abs
|
||||||
|
txa
|
||||||
|
ldy #1
|
||||||
|
cmp (pStack),y
|
||||||
|
.2 bne .2+5 skip JMP abs
|
||||||
|
|
||||||
|
PCC.JmpOnYA.L .EQ *-PCC.JmpOnYA
|
||||||
|
*--------------------------------------
|
||||||
|
PCC.Pop16 .DA #PCC.Pop16.L
|
||||||
|
inc pStack
|
||||||
|
inc pStack
|
||||||
|
PCC.Pop16.L .EQ *-PCC.Pop16
|
||||||
|
*--------------------------------------
|
||||||
PCC.TestZero1 .DA #PCC.TestZero1.L
|
PCC.TestZero1 .DA #PCC.TestZero1.L
|
||||||
>PULLA
|
>PULLA
|
||||||
tay
|
tay
|
||||||
|
@ -464,14 +489,14 @@ PCC.Inc2 .DA #PCC.Inc2.L
|
||||||
inc
|
inc
|
||||||
sta (ZS.RT.Ptr2)
|
sta (ZS.RT.Ptr2)
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZS.RT.Ptr2),y
|
lda (ZS.RT.Ptr2),y
|
||||||
inc
|
inc
|
||||||
sta (ZS.RT.Ptr2),y
|
sta (ZS.RT.Ptr2),y
|
||||||
|
|
||||||
.1
|
.1
|
||||||
|
|
||||||
PCC.Inc2.L .EQ *-PCC.Inc2
|
PCC.Inc2.L .EQ *-PCC.Inc2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.Inc4 .DA #PCC.Inc4.L
|
PCC.Inc4 .DA #PCC.Inc4.L
|
||||||
|
@ -479,20 +504,20 @@ PCC.Inc4 .DA #PCC.Inc4.L
|
||||||
inc
|
inc
|
||||||
sta (ZS.RT.Ptr2)
|
sta (ZS.RT.Ptr2)
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
|
|
||||||
.1 lda (ZS.RT.Ptr2),y
|
.1 lda (ZS.RT.Ptr2),y
|
||||||
inc
|
inc
|
||||||
sta (ZS.RT.Ptr2),y
|
sta (ZS.RT.Ptr2),y
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
cpy #4
|
cpy #4
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.2
|
.2
|
||||||
|
|
||||||
PCC.Inc4.L .EQ *-PCC.Inc4
|
PCC.Inc4.L .EQ *-PCC.Inc4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.Dec1 .DA #PCC.Dec1.L
|
PCC.Dec1 .DA #PCC.Dec1.L
|
||||||
|
@ -508,14 +533,14 @@ PCC.Dec2 .DA #PCC.Dec2.L
|
||||||
sta (ZS.RT.Ptr2)
|
sta (ZS.RT.Ptr2)
|
||||||
plp
|
plp
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZS.RT.Ptr2),y
|
lda (ZS.RT.Ptr2),y
|
||||||
dec
|
dec
|
||||||
sta (ZS.RT.Ptr2),y
|
sta (ZS.RT.Ptr2),y
|
||||||
|
|
||||||
.1
|
.1
|
||||||
|
|
||||||
PCC.Dec2.L .EQ *-PCC.Dec2
|
PCC.Dec2.L .EQ *-PCC.Dec2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.Dec4 .DA #PCC.Dec4.L
|
PCC.Dec4 .DA #PCC.Dec4.L
|
||||||
|
@ -524,31 +549,31 @@ PCC.Dec4 .DA #PCC.Dec4.L
|
||||||
sbc #0
|
sbc #0
|
||||||
sta (ZS.RT.Ptr2)
|
sta (ZS.RT.Ptr2)
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
|
|
||||||
.1 lda (ZS.RT.Ptr2),y
|
.1 lda (ZS.RT.Ptr2),y
|
||||||
sbc #0
|
sbc #0
|
||||||
sta (ZS.RT.Ptr2),y
|
sta (ZS.RT.Ptr2),y
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
cpy #4
|
cpy #4
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.2
|
.2
|
||||||
|
|
||||||
PCC.Dec4.L .EQ *-PCC.Dec4
|
PCC.Dec4.L .EQ *-PCC.Dec4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.bMUL .DA #PCC.BOPS.bMUL.L
|
PCC.BOPS.bMUL .DA #PCC.BOPS.bMUL.L
|
||||||
ldx #0 result
|
ldx #0 result
|
||||||
|
|
||||||
>PULLA
|
>PULLA
|
||||||
tay b2
|
tay b2
|
||||||
|
|
||||||
.1 tya
|
.1 tya
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lsr
|
lsr
|
||||||
tay
|
tay
|
||||||
bcc .2
|
bcc .2
|
||||||
|
@ -557,7 +582,7 @@ PCC.BOPS.bMUL .DA #PCC.BOPS.bMUL.L
|
||||||
txa
|
txa
|
||||||
adc (pStack) b1
|
adc (pStack) b1
|
||||||
tax
|
tax
|
||||||
|
|
||||||
.2 lda (pStack) b1*2
|
.2 lda (pStack) b1*2
|
||||||
asl
|
asl
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
@ -565,7 +590,7 @@ PCC.BOPS.bMUL .DA #PCC.BOPS.bMUL.L
|
||||||
|
|
||||||
.8 txa
|
.8 txa
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
PCC.BOPS.bMUL.L .EQ *-PCC.BOPS.bMUL
|
PCC.BOPS.bMUL.L .EQ *-PCC.BOPS.bMUL
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.cMUL
|
PCC.BOPS.cMUL
|
||||||
|
@ -592,39 +617,39 @@ PCC.BOPS.SUB .DA #PCC.BOPS.SUB.L
|
||||||
sbc (pStack)
|
sbc (pStack)
|
||||||
sta (pStack),y
|
sta (pStack),y
|
||||||
inc pStack
|
inc pStack
|
||||||
PCC.BOPS.SUB.L .EQ *-PCC.BOPS.SUB
|
PCC.BOPS.SUB.L .EQ *-PCC.BOPS.SUB
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.SHL .DA #PCC.BOPS.SHL.L
|
PCC.BOPS.SHL .DA #PCC.BOPS.SHL.L
|
||||||
>PULLA
|
>PULLA
|
||||||
tax
|
tax
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda (pStack)
|
lda (pStack)
|
||||||
|
|
||||||
.1 asl
|
.1 asl
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
.8
|
.8
|
||||||
PCC.BOPS.SHL.L .EQ *-PCC.BOPS.SHL
|
PCC.BOPS.SHL.L .EQ *-PCC.BOPS.SHL
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.SHR .DA #PCC.BOPS.SHR.L
|
PCC.BOPS.SHR .DA #PCC.BOPS.SHR.L
|
||||||
>PULLA
|
>PULLA
|
||||||
tax
|
tax
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda (pStack)
|
lda (pStack)
|
||||||
|
|
||||||
.1 lsr
|
.1 lsr
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
.8
|
.8
|
||||||
PCC.BOPS.SHR.L .EQ *-PCC.BOPS.SHR
|
PCC.BOPS.SHR.L .EQ *-PCC.BOPS.SHR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.L .DA #PCC.BOPS.L.L
|
PCC.BOPS.L .DA #PCC.BOPS.L.L
|
||||||
>PULLA
|
>PULLA
|
||||||
|
@ -634,7 +659,7 @@ PCC.BOPS.L .DA #PCC.BOPS.L.L
|
||||||
lda #0
|
lda #0
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 lda #1
|
.8 lda #1
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
PCC.BOPS.L.L .EQ *-PCC.BOPS.L
|
PCC.BOPS.L.L .EQ *-PCC.BOPS.L
|
||||||
|
@ -648,7 +673,7 @@ PCC.BOPS.G .DA #PCC.BOPS.G.L
|
||||||
.1 lda #0
|
.1 lda #0
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 lda #1
|
.8 lda #1
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
PCC.BOPS.G.L .EQ *-PCC.BOPS.G
|
PCC.BOPS.G.L .EQ *-PCC.BOPS.G
|
||||||
|
@ -662,7 +687,7 @@ PCC.BOPS.LE .DA #PCC.BOPS.LE.L
|
||||||
lda #0
|
lda #0
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 lda #1
|
.8 lda #1
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
PCC.BOPS.LE.L .EQ *-PCC.BOPS.LE
|
PCC.BOPS.LE.L .EQ *-PCC.BOPS.LE
|
||||||
|
@ -675,7 +700,7 @@ PCC.BOPS.GE .DA #PCC.BOPS.GE.L
|
||||||
lda #0
|
lda #0
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 lda #1
|
.8 lda #1
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
PCC.BOPS.GE.L .EQ *-PCC.BOPS.GE
|
PCC.BOPS.GE.L .EQ *-PCC.BOPS.GE
|
||||||
|
@ -684,10 +709,10 @@ PCC.BOPS.EQ .DA #PCC.BOPS.EQ.L
|
||||||
>PULLA
|
>PULLA
|
||||||
cmp (pStack)
|
cmp (pStack)
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.1 ror
|
.1 ror
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
|
@ -700,7 +725,7 @@ PCC.BOPS.NE .DA #PCC.BOPS.NE.L
|
||||||
|
|
||||||
PCC.BOPS.NE.L .EQ *-PCC.BOPS.NE
|
PCC.BOPS.NE.L .EQ *-PCC.BOPS.NE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.LAND
|
PCC.BOPS.LAND
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.AND .DA #PCC.BOPS.AND.L
|
PCC.BOPS.AND .DA #PCC.BOPS.AND.L
|
||||||
>PULLA
|
>PULLA
|
||||||
|
@ -708,7 +733,7 @@ PCC.BOPS.AND .DA #PCC.BOPS.AND.L
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
PCC.BOPS.AND.L .EQ *-PCC.BOPS.AND
|
PCC.BOPS.AND.L .EQ *-PCC.BOPS.AND
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.LOR
|
PCC.BOPS.LOR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PCC.BOPS.OR .DA #PCC.BOPS.OR.L
|
PCC.BOPS.OR .DA #PCC.BOPS.OR.L
|
||||||
>PULLA
|
>PULLA
|
||||||
|
|
|
@ -22,7 +22,7 @@ STMT.Get jsr CC.GetCharNB
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
jsr CORE.GetNCharNB
|
jsr CORE.GetNCharNB
|
||||||
bcs .9
|
bcs .9
|
||||||
* >DEBUG
|
|
||||||
ldy #SYM.Q
|
ldy #SYM.Q
|
||||||
lda (ZPLookupSymPtr),y
|
lda (ZPLookupSymPtr),y
|
||||||
pha
|
pha
|
||||||
|
@ -121,11 +121,25 @@ STMT.SetVar stz ExpState
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.Stmt.END ldy CStackPtr
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
iny CPS.TERM
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
cmp #'}'
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
cmp #';' must be ';' on stack....
|
||||||
|
bra STMT.POP
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* X = KW.ID
|
* X = KW.ID
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CC.STMT.CPStmt.NEW
|
STMT.CPStmt.NEW >LDA.G CC.CPSID+1
|
||||||
>LDA.G CC.CPSID+1
|
|
||||||
jsr CC.Push
|
jsr CC.Push
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
@ -141,58 +155,50 @@ CC.STMT.CPStmt.NEW
|
||||||
jsr CC.Push
|
jsr CC.Push
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
txa
|
lda #'}'
|
||||||
jsr CC.Push
|
jsr CC.Push
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #'}'
|
txa
|
||||||
jmp CC.Push
|
jmp CC.Push
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CC.STMT.Stmt.END
|
STMT.CPStmt.END ldy CStackPtr
|
||||||
jsr CC.Get
|
beq STMT.POP.9
|
||||||
bcs .8
|
|
||||||
|
|
||||||
cmp #'}'
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
cmp #';' must be ';' on stack....
|
|
||||||
bra CC.STMT.POP
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
|
|
||||||
CC.STMT.Stmt.RTS
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
CC.STMT.CPStmt.END
|
|
||||||
jsr CC.Get
|
|
||||||
bcs CC.STMT.Stmt.RTS
|
|
||||||
|
|
||||||
cmp #'}' must be '}' on stack....
|
|
||||||
|
|
||||||
CC.STMT.POP bne .98
|
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPCCStack),y
|
lda (ZPCCStack),y
|
||||||
|
|
||||||
jsr .7
|
cmp #'}' must be '}' on stack....
|
||||||
|
|
||||||
|
STMT.POP bne .9
|
||||||
|
|
||||||
|
dey CPS.KW
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
jsr STMT.CLOSE
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
bvs .1 DONT POP reused context (ELSE....)
|
bvs .1 DONT POP reused context (ELSE....)
|
||||||
|
|
||||||
lda CStackPtr
|
ldy #CPS.LOCAL
|
||||||
* clc
|
lda (ZPCCStack),y
|
||||||
adc #7
|
|
||||||
sta CStackPtr
|
|
||||||
|
|
||||||
jsr CC.Pop Locals
|
|
||||||
sta LocalPtr
|
sta LocalPtr
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
* clc
|
||||||
|
adc #CPS
|
||||||
|
sta CStackPtr
|
||||||
|
|
||||||
.1 clc
|
.1 clc
|
||||||
|
.99 rts
|
||||||
|
|
||||||
|
.9
|
||||||
|
STMT.POP.9 lda #E.STACKERROR
|
||||||
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.7 tax
|
STMT.CLOSE tax
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
jmp (J.CC.KW.END,x)
|
jmp (J.CC.KW.END,x)
|
||||||
|
@ -203,6 +209,188 @@ CC.STMT.POP bne .98
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
STMT.NewCPS00 lda #0
|
||||||
|
jsr CC.Push no T/Q
|
||||||
|
bcs STMT.NewCPS.RTS
|
||||||
|
|
||||||
|
jsr CC.Push
|
||||||
|
bcs STMT.NewCPS.RTS
|
||||||
|
|
||||||
|
STMT.NewCPS jsr STMT.NewCPSID
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #'*'
|
||||||
|
>SYSCALL putchar
|
||||||
|
>LEA.G CC.CPSPFX+2
|
||||||
|
>SYSCALL puts
|
||||||
|
* >DEBUG
|
||||||
|
|
||||||
|
>LDA.G CC.CPSPFX+3
|
||||||
|
jsr CC.Push
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>LDA.G CC.CPSPFX+2
|
||||||
|
jsr CC.Push
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda LocalPtr Locals
|
||||||
|
jsr CC.Push
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #0 bState
|
||||||
|
jsr CC.Push
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #';' CPS.TERM
|
||||||
|
jsr CC.Push
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>LDA.G CC.CmdSave
|
||||||
|
jmp CC.Push
|
||||||
|
|
||||||
|
.99
|
||||||
|
STMT.NewCPS.RTS rts
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.SetCPSType jsr CORE.GetNCharNBNL
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
ldx #';'
|
||||||
|
|
||||||
|
cmp #'{'
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
jsr CORE.GetNCharNB skip '{'
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
ldx #'}'
|
||||||
|
|
||||||
|
.1 txa
|
||||||
|
ldy CStackPtr
|
||||||
|
iny CPS.TERM
|
||||||
|
sta (ZPCCStack),y
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 lda #E.CSYN
|
||||||
|
sec
|
||||||
|
.99 rts
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.NewLabelA pha
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
jsr STMT.GetCPSIDA
|
||||||
|
|
||||||
|
* lda #'+'
|
||||||
|
* >SYSCALL putchar
|
||||||
|
* pla
|
||||||
|
* pha
|
||||||
|
* >SYSCALL putchar
|
||||||
|
* >LEA.G CC.CPSPFX+1
|
||||||
|
* >SYSCALL puts
|
||||||
|
* >DEBUG
|
||||||
|
|
||||||
|
pla
|
||||||
|
jmp SYM.NewA
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.GetLabelA pha
|
||||||
|
|
||||||
|
lda CStackPtr
|
||||||
|
jsr STMT.GetCPSIDA
|
||||||
|
|
||||||
|
* lda #'?'
|
||||||
|
* >SYSCALL putchar
|
||||||
|
* pla
|
||||||
|
* pha
|
||||||
|
* >SYSCALL putchar
|
||||||
|
* >LEA.G CC.CPSPFX+1
|
||||||
|
* >SYSCALL puts
|
||||||
|
* >DEBUG
|
||||||
|
|
||||||
|
pla
|
||||||
|
jmp SYM.LookupA
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.LookupLabelA
|
||||||
|
pha
|
||||||
|
|
||||||
|
ldy CStackPtr
|
||||||
|
sty ArgIndex
|
||||||
|
|
||||||
|
lda ArgIndex
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
.1 jsr STMT.GetCPSIDA
|
||||||
|
|
||||||
|
* lda #'!'
|
||||||
|
* >SYSCALL putchar
|
||||||
|
* pla
|
||||||
|
* pha
|
||||||
|
* >SYSCALL putchar
|
||||||
|
* >LEA.G CC.CPSPFX+1
|
||||||
|
* >SYSCALL puts
|
||||||
|
* >DEBUG
|
||||||
|
|
||||||
|
pla
|
||||||
|
pha
|
||||||
|
jsr SYM.LookupA
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
lda ArgIndex
|
||||||
|
clc
|
||||||
|
adc #CPS
|
||||||
|
sta ArgIndex
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.9 lda #E.NOKEY
|
||||||
|
|
||||||
|
plx
|
||||||
|
* sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.8 pla
|
||||||
|
* clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.GetCPSIDA clc
|
||||||
|
adc #CPS.CPSID
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda (ZPCCStack),y
|
||||||
|
ply
|
||||||
|
>STYA.G CC.CPSPFX+2
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
STMT.NewCPSID >LDYA.G CC.CPSID
|
||||||
|
>STYA.G CC.CPSPFX+2
|
||||||
|
|
||||||
|
>LDA.G CC.CPSID+1
|
||||||
|
inc
|
||||||
|
cmp #'Z'+1
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
dey CC.CPSID
|
||||||
|
lda (pData),y
|
||||||
|
inc
|
||||||
|
cmp #'Z'+1
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
lda #'A'
|
||||||
|
iny CC.CPSID+1
|
||||||
|
|
||||||
|
.1 sta (pData),y
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 lda #E.OOH
|
||||||
|
* sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/bin/cc.s.stmt
|
SAVE usr/src/bin/cc.s.stmt
|
||||||
LOAD usr/src/bin/cc.s
|
LOAD usr/src/bin/cc.s
|
||||||
|
|
|
@ -144,7 +144,7 @@ SYM.SetAddr ldy #SYM.SizeOf
|
||||||
|
|
||||||
jsr SYM.GetSymSizeOfInAXC
|
jsr SYM.GetSymSizeOfInAXC
|
||||||
jsr SYM.SetSizeOf
|
jsr SYM.SetSizeOf
|
||||||
|
|
||||||
.1 ldy #SYM.Q
|
.1 ldy #SYM.Q
|
||||||
lda (ZPSymBufPtr),y
|
lda (ZPSymBufPtr),y
|
||||||
and #SYM.Q.FUNC
|
and #SYM.Q.FUNC
|
||||||
|
@ -388,7 +388,7 @@ SYM.AddWord phy
|
||||||
sta (ZPSymBufPtr),y
|
sta (ZPSymBufPtr),y
|
||||||
|
|
||||||
dey
|
dey
|
||||||
|
|
||||||
pla Y
|
pla Y
|
||||||
pha
|
pha
|
||||||
sta (ZPSymBufPtr),y
|
sta (ZPSymBufPtr),y
|
||||||
|
@ -427,7 +427,7 @@ SYM.AddName jsr CC.GetCharNB
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
tya
|
tya
|
||||||
jsr CC.SkipA
|
jsr CC.SkipA
|
||||||
|
|
||||||
|
@ -460,34 +460,6 @@ SYM.AddByte pha
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYM.NewCPSID >LDYA.G CC.CPSID
|
|
||||||
>STYA.G CC.CPSPFX+2
|
|
||||||
|
|
||||||
>LDA.G CC.CPSID+1
|
|
||||||
inc
|
|
||||||
cmp #'Z'+1
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
dey CC.CPSID
|
|
||||||
lda (pData),y
|
|
||||||
inc
|
|
||||||
cmp #'Z'+1
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
lda #'A'
|
|
||||||
iny CC.CPSID+1
|
|
||||||
|
|
||||||
.1 sta (pData),y
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #E.OOH
|
|
||||||
* sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
SYM.NewA bit bPass2
|
SYM.NewA bit bPass2
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
|
|
33
BIN/CC.S.txt
33
BIN/CC.S.txt
|
@ -63,6 +63,20 @@ SU.F.BitO .EQ 4
|
||||||
SU.F.BitW .EQ 5
|
SU.F.BitW .EQ 5
|
||||||
SU.F.Name .EQ 6
|
SU.F.Name .EQ 6
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CPS.hMEM .EQ 7 switch/case
|
||||||
|
CPS.Ptr .EQ 6
|
||||||
|
|
||||||
|
CPS.Q .EQ 7 f
|
||||||
|
CPS.T .EQ 6
|
||||||
|
|
||||||
|
CPS.CPSID .EQ 4
|
||||||
|
CPS.LOCAL .EQ 3
|
||||||
|
CPS.STATE .EQ 2
|
||||||
|
CPS.TERM .EQ 1
|
||||||
|
CPS.KW .EQ 0
|
||||||
|
*
|
||||||
|
CPS .EQ 8
|
||||||
|
*--------------------------------------
|
||||||
* Zero Page Segment, up to 32 bytes
|
* Zero Page Segment, up to 32 bytes
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
|
@ -173,9 +187,11 @@ J.CC.POSTOPS .DA EXP.postinc
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
J.CC.KW .DA KW.IF
|
J.CC.KW .DA KW.IF
|
||||||
.DA KW.WHILE
|
.DA KW.WHILE
|
||||||
|
KW.ELSE.ID .EQ *-J.CC.KW
|
||||||
.DA KW.ELSE
|
.DA KW.ELSE
|
||||||
.DA KW.DO
|
.DA KW.DO
|
||||||
.DA KW.FOR
|
.DA KW.FOR
|
||||||
|
KW.SWITCH.ID .EQ *-J.CC.KW
|
||||||
.DA KW.SWITCH
|
.DA KW.SWITCH
|
||||||
.DA KW.CASE
|
.DA KW.CASE
|
||||||
.DA KW.DEFAULT
|
.DA KW.DEFAULT
|
||||||
|
@ -227,6 +243,9 @@ L.PCC.ENTER .DA PCC.ENTER
|
||||||
L.PCC.LEAVE .DA PCC.LEAVE
|
L.PCC.LEAVE .DA PCC.LEAVE
|
||||||
L.PCC.ADDLOCAL .DA PCC.ADDLOCAL
|
L.PCC.ADDLOCAL .DA PCC.ADDLOCAL
|
||||||
L.PCC.SetRetValue .DA PCC.SetRetValue
|
L.PCC.SetRetValue .DA PCC.SetRetValue
|
||||||
|
L.PCC.8to16 .DA PCC.8to16
|
||||||
|
L.PCC.JmpOnYA .DA PCC.JmpOnYA
|
||||||
|
L.PCC.Pop16 .DA PCC.Pop16
|
||||||
L.PCC.TestZero1 .DA PCC.TestZero1
|
L.PCC.TestZero1 .DA PCC.TestZero1
|
||||||
L.PCC.TestZero2 .DA PCC.TestZero2
|
L.PCC.TestZero2 .DA PCC.TestZero2
|
||||||
L.PCC.TestZeroX .DA PCC.TestZeroX
|
L.PCC.TestZeroX .DA PCC.TestZeroX
|
||||||
|
@ -373,7 +392,7 @@ CS.RUN.CLOOP jsr CORE.CompileFile
|
||||||
|
|
||||||
cmp #MLI.E.EOF
|
cmp #MLI.E.EOF
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
jsr CODE.EmitTail
|
jsr CODE.EmitTail
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -420,13 +439,13 @@ CS.RUN.ARGS inc ArgIndex
|
||||||
|
|
||||||
.2 cpx #4
|
.2 cpx #4
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
inc ArgIndex
|
inc ArgIndex
|
||||||
|
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcs .90
|
bcs .90
|
||||||
|
|
||||||
jsr FIO.LoadLIB.o
|
jsr FIO.LoadLIB.o
|
||||||
bcc CS.RUN.ARGS
|
bcc CS.RUN.ARGS
|
||||||
|
|
||||||
|
@ -473,11 +492,11 @@ CS.DOEVENT sec
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT jsr CODE.Quit
|
CS.QUIT jsr CODE.Quit
|
||||||
jsr CORE.Quit
|
jsr CORE.Quit
|
||||||
|
|
||||||
.1 >LDA.G LibCount
|
.1 >LDA.G LibCount
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
dec
|
dec
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
@ -613,7 +632,7 @@ PrintSummary >PUSHW L.MSG.SUMMARY
|
||||||
>PUSHW ZPCCData
|
>PUSHW ZPCCData
|
||||||
>PUSHBI 6
|
>PUSHBI 6
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
* >DEBUG
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB usr/src/bin/cc.s.code
|
.INB usr/src/bin/cc.s.code
|
||||||
|
|
|
@ -52,42 +52,56 @@ CS.INIT
|
||||||
.1 >INC.G Count
|
.1 >INC.G Count
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
cmp #'-'
|
cmp #'-'
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
ldx OptionList
|
ldx OptionList
|
||||||
.2 cmp OptionList,x
|
.2 cmp OptionList,x
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
.99 >LDYA L.MSG.USAGE
|
.99 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL PrintF
|
>SYSCALL Puts
|
||||||
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
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.4 >LDA.G hInputBuf
|
.4 >LDA.G hInputBuf
|
||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
jsr CS.INIT.OPENINPUT
|
jsr CS.INIT.OPENINPUT
|
||||||
bcc .1 scan for any other args
|
bcc .1 scan for any other args
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 >LDA.G hOutputFile
|
.5 >LDA.G hOutputFile
|
||||||
bne .99
|
bne .99
|
||||||
|
|
||||||
jsr CS.INIT.CREATEOUTPUT
|
jsr CS.INIT.CREATEOUTPUT
|
||||||
bcc .1 scan for any other args
|
bcc .1 scan for any other args
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.7 >LDA.G hOutputFile
|
.7 >LDA.G hOutputFile
|
||||||
beq .99
|
beq .99
|
||||||
|
|
||||||
>LDYAI 8192 max 256x256 pixels
|
>LDYAI 8192 max 256x256 pixels
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs CS.INIT.RTS
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
>STYA ZPCharBufPtr
|
>STYA ZPCharBufPtr
|
||||||
txa
|
txa
|
||||||
>STA.G hCharBuf
|
>STA.G hCharBuf
|
||||||
|
@ -95,28 +109,32 @@ CS.INIT
|
||||||
CS.INIT.RTS rts
|
CS.INIT.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT.OPENINPUT
|
CS.INIT.OPENINPUT
|
||||||
>PUSHWZ Aux type
|
>PUSHW ZPPtr1
|
||||||
>PUSHBI 0 Type
|
|
||||||
>PUSHBI O.RDONLY
|
>PUSHBI O.RDONLY
|
||||||
>LDYA ZPPtr1
|
>PUSHBI 0 Type
|
||||||
|
>PUSHWZ Aux type
|
||||||
>SYSCALL LoadFile
|
>SYSCALL LoadFile
|
||||||
bcs CS.INIT.RTS
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
txa
|
txa
|
||||||
>STA.G hInputBuf
|
>STA.G hInputBuf
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPInputBufPtr
|
>STYA ZPInputBufPtr
|
||||||
>LDYA L.MSG.FILE.OK
|
>LDYA L.MSG.FILE.OK
|
||||||
>SYSCALL PrintF
|
>SYSCALL PutS
|
||||||
ldy #S.FNT.dfVersion
|
ldy #S.FNT.dfVersion
|
||||||
lda (ZPInputBufPtr),y
|
lda (ZPInputBufPtr),y
|
||||||
bne .99
|
bne .99
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPInputBufPtr),y
|
lda (ZPInputBufPtr),y
|
||||||
cmp #2
|
cmp #2
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
cmp #3
|
cmp #3
|
||||||
bne .99
|
bne .99
|
||||||
|
|
||||||
.1 asl *2 = Entry Len in Tbl
|
.1 asl *2 = Entry Len in Tbl
|
||||||
>STA.G FNT.Version
|
>STA.G FNT.Version
|
||||||
pha
|
pha
|
||||||
|
@ -141,26 +159,30 @@ CS.INIT.OPENINPUT
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 >LDYA L.MSG.HEADER.KO
|
.99 >LDYA L.MSG.HEADER.KO
|
||||||
>SYSCALL PrintF
|
>SYSCALL PutS
|
||||||
lda #E.IBIN
|
lda #E.IBIN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT.CREATEOUTPUT
|
CS.INIT.CREATEOUTPUT
|
||||||
>PUSHWZ Aux type
|
>PUSHW ZPPtr1
|
||||||
>PUSHBI $CC FON Type
|
|
||||||
>PUSHBI O.WRONLY+O.CREATE
|
>PUSHBI O.WRONLY+O.CREATE
|
||||||
>LDYA ZPPtr1
|
>PUSHBI $CC FON Type
|
||||||
|
>PUSHWZ Aux type
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STA.G hOutputFile
|
>STA.G hOutputFile
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPOutPutBufPtr
|
>STYA ZPOutPutBufPtr
|
||||||
txa
|
txa
|
||||||
>STA.G hOutPutBuf
|
>STA.G hOutPutBuf
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #S.FNT.dfBreakChar
|
CS.RUN ldy #S.FNT.dfBreakChar
|
||||||
|
@ -185,6 +207,7 @@ CS.RUN ldy #S.FNT.dfBreakChar
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>LDYA L.MSG.RANGE
|
>LDYA L.MSG.RANGE
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
|
|
||||||
>LDA.G FON.Header+S.FON.Last
|
>LDA.G FON.Header+S.FON.Last
|
||||||
sec
|
sec
|
||||||
>SBC.G FON.Header+S.FON.First
|
>SBC.G FON.Header+S.FON.First
|
||||||
|
@ -201,6 +224,7 @@ CS.RUN ldy #S.FNT.dfBreakChar
|
||||||
ply
|
ply
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPOutPutTblPtr
|
>STYA ZPOutPutTblPtr
|
||||||
txa
|
txa
|
||||||
>STA.G hTblBuf
|
>STA.G hTblBuf
|
||||||
|
@ -221,12 +245,16 @@ CS.RUN ldy #S.FNT.dfBreakChar
|
||||||
>LDA.G hOutputFile
|
>LDA.G hOutputFile
|
||||||
>SYSCALL FSeek
|
>SYSCALL FSeek
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
.1 >LDA.G FNT.Version
|
.1 >LDA.G FNT.Version
|
||||||
ldx #S.FNT.dfCharTable2
|
ldx #S.FNT.dfCharTable2
|
||||||
cmp #4
|
cmp #4
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
ldx #S.FNT.dfCharTable3
|
ldx #S.FNT.dfCharTable3
|
||||||
|
|
||||||
.2 txa
|
.2 txa
|
||||||
clc
|
clc
|
||||||
adc ZPInputBufPtr
|
adc ZPInputBufPtr
|
||||||
|
@ -234,6 +262,7 @@ CS.RUN ldy #S.FNT.dfBreakChar
|
||||||
lda #0
|
lda #0
|
||||||
adc ZPInputBufPtr+1
|
adc ZPInputBufPtr+1
|
||||||
sta ZPInputTblPtr+1
|
sta ZPInputTblPtr+1
|
||||||
|
*--------------------------------------
|
||||||
CS.RUN.LOOP >SLEEP
|
CS.RUN.LOOP >SLEEP
|
||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
|
@ -241,8 +270,10 @@ CS.RUN.LOOP >SLEEP
|
||||||
|
|
||||||
cmp #$03 Ctrl-C
|
cmp #$03 Ctrl-C
|
||||||
beq .9 Abort....
|
beq .9 Abort....
|
||||||
|
|
||||||
cmp #$13 Ctrl-S
|
cmp #$13 Ctrl-S
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
>LDA.G bPause
|
>LDA.G bPause
|
||||||
eor #$FF
|
eor #$FF
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
@ -265,20 +296,26 @@ CS.RUN.LOOP >SLEEP
|
||||||
jsr CS.RUN.DumpChar
|
jsr CS.RUN.DumpChar
|
||||||
jsr CS.RUN.StoreChar
|
jsr CS.RUN.StoreChar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>INC.G CharIndex
|
>INC.G CharIndex
|
||||||
>DEC.G CharCount
|
>DEC.G CharCount
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda ZPInputTblPtr
|
lda ZPInputTblPtr
|
||||||
clc
|
clc
|
||||||
>ADC.G FNT.Version
|
>ADC.G FNT.Version
|
||||||
sta ZPInputTblPtr
|
sta ZPInputTblPtr
|
||||||
bcc CS.RUN.LOOP
|
bcc CS.RUN.LOOP
|
||||||
|
|
||||||
inc ZPInputTblPtr+1
|
inc ZPInputTblPtr+1
|
||||||
bra CS.RUN.LOOP
|
bra CS.RUN.LOOP
|
||||||
|
|
||||||
.8 jsr CS.RUN.FlushOutPutBuf
|
.8 jsr CS.RUN.FlushOutPutBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr CS.RUN.WriteBMAndTbl
|
jsr CS.RUN.WriteBMAndTbl
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.MSG.DONE
|
>LDYA L.MSG.DONE
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -300,11 +337,14 @@ CS.RUN.GetChar lda (ZPInputTblPtr) Get Char PixW
|
||||||
pla
|
pla
|
||||||
and #7
|
and #7
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
inx
|
inx
|
||||||
|
|
||||||
.1 txa
|
.1 txa
|
||||||
>STA.G CharByteW
|
>STA.G CharByteW
|
||||||
>STA.G CharOutByteW
|
>STA.G CharOutByteW
|
||||||
lda #0 0 -> A -> CharByteW
|
lda #0 0 -> A -> CharByteW
|
||||||
|
|
||||||
.2 pha
|
.2 pha
|
||||||
clc
|
clc
|
||||||
adc ZPCharBufPtr
|
adc ZPCharBufPtr
|
||||||
|
@ -319,7 +359,9 @@ CS.RUN.GetChar lda (ZPInputTblPtr) Get Char PixW
|
||||||
|
|
||||||
inc ZPInputBMPtr
|
inc ZPInputBMPtr
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
inc ZPInputBMPtr+1
|
inc ZPInputBMPtr+1
|
||||||
|
|
||||||
.4 tay
|
.4 tay
|
||||||
lda TWIST,y
|
lda TWIST,y
|
||||||
sta (ZPPTR1)
|
sta (ZPPTR1)
|
||||||
|
@ -328,7 +370,9 @@ CS.RUN.GetChar lda (ZPInputTblPtr) Get Char PixW
|
||||||
>ADC.G CharByteW
|
>ADC.G CharByteW
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
|
|
||||||
.5 dex
|
.5 dex
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
|
@ -336,6 +380,7 @@ CS.RUN.GetChar lda (ZPInputTblPtr) Get Char PixW
|
||||||
inc
|
inc
|
||||||
>CMP.G CharByteW
|
>CMP.G CharByteW
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -356,6 +401,7 @@ CS.RUN.DumpChar >LDA.G CharOutByteW
|
||||||
sta ZPPTR1+1
|
sta ZPPTR1+1
|
||||||
|
|
||||||
>LDA.G FON.Header+S.FON.PixH
|
>LDA.G FON.Header+S.FON.PixH
|
||||||
|
|
||||||
.1 pha
|
.1 pha
|
||||||
lda #'|'
|
lda #'|'
|
||||||
>SYSCALL PutChar
|
>SYSCALL PutChar
|
||||||
|
@ -363,25 +409,32 @@ CS.RUN.DumpChar >LDA.G CharOutByteW
|
||||||
>STA.G Count
|
>STA.G Count
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 lda (ZPPTR1),y
|
.2 lda (ZPPTR1),y
|
||||||
phy
|
phy
|
||||||
ldx #8
|
ldx #8
|
||||||
|
|
||||||
.4 lsr
|
.4 lsr
|
||||||
pha
|
pha
|
||||||
lda #' '
|
lda #' '
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
lda #'O'
|
lda #'O'
|
||||||
|
|
||||||
.5 phx
|
.5 phx
|
||||||
>SYSCALL PutChar
|
>SYSCALL PutChar
|
||||||
plx
|
plx
|
||||||
>DEC.G Count
|
>DEC.G Count
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
pla Get back BYTE
|
pla Get back BYTE
|
||||||
dex
|
dex
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
ply
|
ply
|
||||||
iny
|
iny
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.6 pla
|
.6 pla
|
||||||
pla
|
pla
|
||||||
|
|
||||||
|
@ -396,16 +449,19 @@ CS.RUN.DumpChar >LDA.G CharOutByteW
|
||||||
>ADC.G CharByteW
|
>ADC.G CharByteW
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
bcc .7
|
bcc .7
|
||||||
|
|
||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
|
|
||||||
.7 pla
|
.7 pla
|
||||||
dec
|
dec
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.ShiftLChar
|
CS.RUN.ShiftLChar
|
||||||
>LDA.G bNoShrink
|
>LDA.G bNoShrink
|
||||||
bmi .9
|
bmi .9
|
||||||
|
|
||||||
.1 lda ZPCharBufPtr
|
.1 lda ZPCharBufPtr
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
lda ZPCharBufPtr+1
|
lda ZPCharBufPtr+1
|
||||||
|
@ -415,6 +471,7 @@ CS.RUN.ShiftLChar
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
pha
|
pha
|
||||||
|
|
||||||
.2 pla
|
.2 pla
|
||||||
ora (ZPPTR1)
|
ora (ZPPTR1)
|
||||||
pha
|
pha
|
||||||
|
@ -423,13 +480,18 @@ CS.RUN.ShiftLChar
|
||||||
>ADC.G CharByteW
|
>ADC.G CharByteW
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
|
|
||||||
.3 dex
|
.3 dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
pla
|
pla
|
||||||
beq .9 No pixel in first COL, must be SPACE or BREAK
|
beq .9 No pixel in first COL, must be SPACE or BREAK
|
||||||
|
|
||||||
lsr
|
lsr
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda ZPCharBufPtr
|
lda ZPCharBufPtr
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
lda ZPCharBufPtr+1
|
lda ZPCharBufPtr+1
|
||||||
|
@ -440,29 +502,37 @@ CS.RUN.ShiftLChar
|
||||||
.4 >LDA.G CharByteW
|
.4 >LDA.G CharByteW
|
||||||
tay
|
tay
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.5 dey
|
.5 dey
|
||||||
lda (ZPPTR1),y
|
lda (ZPPTR1),y
|
||||||
ror
|
ror
|
||||||
sta (ZPPTR1),y
|
sta (ZPPTR1),y
|
||||||
tya
|
tya
|
||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
lda ZPPTR1
|
lda ZPPTR1
|
||||||
clc
|
clc
|
||||||
>ADC.G CharByteW
|
>ADC.G CharByteW
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
bcc .6
|
bcc .6
|
||||||
|
|
||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
|
|
||||||
.6 dex
|
.6 dex
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
>DEC.G CharOutPixW
|
>DEC.G CharOutPixW
|
||||||
and #7
|
and #7
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>DEC.G CharOutByteW
|
>DEC.G CharOutByteW
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CutRChar >LDA.G bNoShrink
|
CS.RUN.CutRChar >LDA.G bNoShrink
|
||||||
bmi .9
|
bmi .9
|
||||||
|
|
||||||
.1 lda ZPCharBufPtr
|
.1 lda ZPCharBufPtr
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
lda ZPCharBufPtr+1
|
lda ZPCharBufPtr+1
|
||||||
|
@ -475,6 +545,7 @@ CS.RUN.CutRChar >LDA.G bNoShrink
|
||||||
dey
|
dey
|
||||||
lda #0
|
lda #0
|
||||||
pha
|
pha
|
||||||
|
|
||||||
.2 pla
|
.2 pla
|
||||||
ora (ZPPTR1),y
|
ora (ZPPTR1),y
|
||||||
pha
|
pha
|
||||||
|
@ -484,14 +555,18 @@ CS.RUN.CutRChar >LDA.G bNoShrink
|
||||||
>ADC.G CharByteW
|
>ADC.G CharByteW
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
|
|
||||||
.3 ply
|
.3 ply
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
pla
|
pla
|
||||||
bmi .9 Bit 7 is colored....exit
|
bmi .9 Bit 7 is colored....exit
|
||||||
|
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
tya No bits in this COL
|
tya No bits in this COL
|
||||||
beq .9 was COL 0.....SPACE or BREAK
|
beq .9 was COL 0.....SPACE or BREAK
|
||||||
|
|
||||||
|
@ -501,6 +576,7 @@ CS.RUN.CutRChar >LDA.G bNoShrink
|
||||||
asl
|
asl
|
||||||
>STA.G CharOutPixW
|
>STA.G CharOutPixW
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.4 pha
|
.4 pha
|
||||||
>LDA.G CharOutByteW
|
>LDA.G CharOutByteW
|
||||||
asl
|
asl
|
||||||
|
@ -508,9 +584,11 @@ CS.RUN.CutRChar >LDA.G bNoShrink
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
pla
|
pla
|
||||||
|
|
||||||
.5 dex
|
.5 dex
|
||||||
asl
|
asl
|
||||||
bpl .5
|
bpl .5
|
||||||
|
|
||||||
txa
|
txa
|
||||||
>STA.G CharOutPixW
|
>STA.G CharOutPixW
|
||||||
pha
|
pha
|
||||||
|
@ -521,9 +599,12 @@ CS.RUN.CutRChar >LDA.G bNoShrink
|
||||||
pla
|
pla
|
||||||
and #7
|
and #7
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
inx
|
inx
|
||||||
|
|
||||||
.7 txa
|
.7 txa
|
||||||
>STA.G CharOutByteW
|
>STA.G CharOutByteW
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.StoreChar
|
CS.RUN.StoreChar
|
||||||
|
@ -537,13 +618,17 @@ CS.RUN.StoreChar
|
||||||
adc #2
|
adc #2
|
||||||
sta ZPOutPutTblPtr
|
sta ZPOutPutTblPtr
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
inc ZPOutPutTblPtr+1
|
inc ZPOutPutTblPtr+1
|
||||||
|
|
||||||
.1 >LDA.G CharOutPixW
|
.1 >LDA.G CharOutPixW
|
||||||
jsr CS.RUN.WriteByte
|
jsr CS.RUN.WriteByte
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>LDA.G CharOutByteW
|
>LDA.G CharOutByteW
|
||||||
jsr CS.RUN.WriteByte
|
jsr CS.RUN.WriteByte
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda ZPCharBufPtr
|
lda ZPCharBufPtr
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
lda ZPCharBufPtr+1
|
lda ZPCharBufPtr+1
|
||||||
|
@ -557,23 +642,30 @@ CS.RUN.StoreChar
|
||||||
.3 lda (ZPPTR1),y
|
.3 lda (ZPPTR1),y
|
||||||
jsr CS.RUN.WriteByte
|
jsr CS.RUN.WriteByte
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
pla
|
pla
|
||||||
dec
|
dec
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
pha
|
pha
|
||||||
lda ZPPTR1
|
lda ZPPTR1
|
||||||
clc
|
clc
|
||||||
>ADC.G CharByteW
|
>ADC.G CharByteW
|
||||||
sta ZPPTR1
|
sta ZPPTR1
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 plx
|
.9 plx
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.WriteByte
|
CS.RUN.WriteByte
|
||||||
|
@ -590,6 +682,7 @@ CS.RUN.WriteByte
|
||||||
tay
|
tay
|
||||||
clc
|
clc
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>PUSHWI 256
|
>PUSHWI 256
|
||||||
>PUSHW ZPOutPutBufPtr
|
>PUSHW ZPOutPutBufPtr
|
||||||
>LDA.G hOutputFile
|
>LDA.G hOutputFile
|
||||||
|
@ -598,6 +691,7 @@ CS.RUN.WriteByte
|
||||||
|
|
||||||
.8 inc ZPOutPutCharOfs
|
.8 inc ZPOutPutCharOfs
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
inc ZPOutPutCharOfs+1
|
inc ZPOutPutCharOfs+1
|
||||||
|
|
||||||
.9 plx
|
.9 plx
|
||||||
|
@ -625,17 +719,20 @@ CS.RUN.WriteBMAndTbl
|
||||||
iny
|
iny
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LEA.G FileOffset
|
>LEA.G FileOffset
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHBI SYS.FSeek.SET
|
>PUSHBI SYS.FSeek.SET
|
||||||
>LDA.G hOutputFile
|
>LDA.G hOutputFile
|
||||||
>SYSCALL FSeek
|
>SYSCALL FSeek
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>PUSHWI S.FON
|
>PUSHWI S.FON
|
||||||
>PUSHEA.G FON.Header
|
>PUSHEA.G FON.Header
|
||||||
>LDA.G hOutputFile
|
>LDA.G hOutputFile
|
||||||
>SYSCALL FWrite
|
>SYSCALL FWrite
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDA.G FON.Header+S.FON.Last
|
>LDA.G FON.Header+S.FON.Last
|
||||||
sec
|
sec
|
||||||
>SBC.G FON.Header+S.FON.First
|
>SBC.G FON.Header+S.FON.First
|
||||||
|
@ -661,21 +758,27 @@ CS.DOEVENT sec
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT >LDA.G hOutPutBuf
|
CS.QUIT >LDA.G hOutPutBuf
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
.1 >LDA.G hOutputFile
|
.1 >LDA.G hOutputFile
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
>SYSCALL FClose
|
>SYSCALL FClose
|
||||||
|
|
||||||
.2 >LDA.G hInputBuf
|
.2 >LDA.G hInputBuf
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
.3 >LDA.G hCharBuf
|
.3 >LDA.G hCharBuf
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
.4 >LDA.G hTblBuf
|
.4 >LDA.G hTblBuf
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
|
@ -685,15 +788,18 @@ CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB usr/src/shared/x.twist.g
|
.INB usr/src/shared/x.twist.g
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList >PSTR "NnVv"
|
OptionList .PS "NnVv"
|
||||||
OptionVars .DA #bNoShrink,#bNoShrink,#bVerbose,#bVerbose
|
OptionVars .DA #bNoShrink,#bNoShrink,#bVerbose,#bVerbose
|
||||||
MSG.USAGE .AZ "Usage : FNT2FON FNT-File \r\n -V : Verbose Mode\r\n -N : No shrink\r\n"
|
*--------------------------------------
|
||||||
MSG.FILE.OK .AZ "FNT File Loaded, %D Bytes Read\r\n"
|
MSG.USAGE .CS "Usage : FNT2FON FNT-File \r\n"
|
||||||
MSG.HEADER.OK .AZ "FNT File Version : %d, Size : %d x %d pixels, Ascent : %d\r\n"
|
.CS " -V : Verbose Mode\r\n"
|
||||||
MSG.HEADER.KO .AZ "Invalid Input File Format\r\n"
|
.CZ -N : No shrink\r\n"
|
||||||
MSG.RANGE .AZ "First/Last Char : %d/%d, Default : %d, Break : %d\r\n"
|
MSG.FILE.OK .CZ "FNT File Loaded, %D Bytes Read\r\n"
|
||||||
MSG.DUMP .AZ "Caracter ID : %d (0x0%2h), Width(P) : %d, Width(B) : %d\r\n"
|
MSG.HEADER.OK .CZ "FNT File Version : %d, Size : %d x %d pixels, Ascent : %d\r\n"
|
||||||
MSG.DONE .AZ "All Done!!!\r\n"
|
MSG.HEADER.KO .CZ "Invalid Input File Format\r\n"
|
||||||
|
MSG.RANGE .CZ "First/Last Char : %d/%d, Default : %d, Break : %d\r\n"
|
||||||
|
MSG.DUMP .CZ "Caracter ID : %d (0x0%2h), Width(P) : %d, Width(B) : %d\r\n"
|
||||||
|
MSG.DONE .CZ "All Done!!!\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF bin/guitest1
|
.TF bin/guitest1
|
||||||
|
@ -8,14 +8,14 @@ NEW
|
||||||
.INB inc/macros.i
|
.INB inc/macros.i
|
||||||
.INB inc/a2osx.i
|
.INB inc/a2osx.i
|
||||||
.INB inc/mli.i
|
.INB inc/mli.i
|
||||||
.INB inc/gfx.i
|
.INB inc/libgui.i
|
||||||
.INB inc/libgui.i
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
ZS.START
|
ZS.START
|
||||||
hLogo .BS 2 00xx
|
hLogo .BS 2 00xx
|
||||||
hWND .BS 1
|
hWND .BS 1
|
||||||
|
hMBAR .BS 1
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
|
@ -37,7 +37,6 @@ CS.START cld
|
||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.LIBGUI .DA LIBGUI
|
L.LIBGUI .DA LIBGUI
|
||||||
L.MouseData .DA MouseData
|
|
||||||
L.LOGOFILE .DA LOGOFILE
|
L.LOGOFILE .DA LOGOFILE
|
||||||
L.WND.TITLE .DA WND.TITLE
|
L.WND.TITLE .DA WND.TITLE
|
||||||
L.WND.MBAR .DA WND.MBAR
|
L.WND.MBAR .DA WND.MBAR
|
||||||
|
@ -63,15 +62,15 @@ CS.RUN >PUSHW L.LOGOFILE
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
stx hLogo
|
stx hLogo
|
||||||
|
|
||||||
jsr WND.Test
|
jsr WND.Test
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.1 >SLEEP
|
.1 >SLEEP
|
||||||
|
|
||||||
|
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -88,8 +87,8 @@ CS.QUIT.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
|
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
|
||||||
|
|
||||||
>PUSHW MouseData+S.MOUSE.X1
|
>PUSHWI 40
|
||||||
>PUSHW MouseData+S.MOUSE.Y1
|
>PUSHWI 80
|
||||||
>PUSHWI 360
|
>PUSHWI 360
|
||||||
>PUSHWI 96
|
>PUSHWI 96
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.New
|
>LIBCALL hLIBGUI,LIBGUI.WND.New
|
||||||
|
@ -107,17 +106,21 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
||||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||||
|
|
||||||
>PUSHB hWND
|
>PUSHB hWND
|
||||||
>PUSHBI S.WND.TITLE
|
>PUSHBI S.WND.pTITLE
|
||||||
>PUSHW L.WND.TITLE
|
>PUSHW L.WND.TITLE
|
||||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||||
|
|
||||||
>PUSHB hWND
|
>PUSHB hWND
|
||||||
>PUSHBI S.WND.MBAR
|
|
||||||
>PUSHW L.WND.MBAR
|
>PUSHW L.WND.MBAR
|
||||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.MBAR.New
|
||||||
|
sta hMBAR
|
||||||
|
|
||||||
>PUSHB hWND
|
>PUSHB hWND
|
||||||
>PUSHBI S.WND.STATUS
|
>PUSHB hMBAR
|
||||||
|
>LIBCALL hLIBGUI,LIBGUI.WND.SetMBar
|
||||||
|
|
||||||
|
>PUSHB hWND
|
||||||
|
>PUSHBI S.WND.pSTATUS
|
||||||
>PUSHW L.WND.STATUS
|
>PUSHW L.WND.STATUS
|
||||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||||
|
|
||||||
|
@ -152,97 +155,119 @@ CS.END
|
||||||
LIBGUI .AZ "libgui"
|
LIBGUI .AZ "libgui"
|
||||||
hLIBGUI .BS 1
|
hLIBGUI .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MouseData .BS S.MOUSE
|
|
||||||
*--------------------------------------
|
|
||||||
LOGOFILE .AZ "${ROOT}A2osX.logo"
|
LOGOFILE .AZ "${ROOT}A2osX.logo"
|
||||||
WND.TITLE .AZ "Window Title"
|
WND.TITLE .AZ "Window Title"
|
||||||
WND.STATUS .AZ "Window status bar message"
|
WND.STATUS .AZ "Window status bar message"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.MBAR .DA #.1-* next
|
WND.MBAR .AZ "File"
|
||||||
.DA #0 status
|
.DA WND.MENU.FILE
|
||||||
.DA 0 X1
|
|
||||||
.DA 0 XT
|
|
||||||
.DA 0 X2
|
|
||||||
.DA 0 MENU
|
|
||||||
.AZ "File"
|
|
||||||
|
|
||||||
.1 .DA #.2-* next
|
|
||||||
.DA #0 status
|
|
||||||
.DA 0 X1
|
|
||||||
.DA 0 XT
|
|
||||||
.DA 0 X2
|
|
||||||
.DA 0 MENU
|
|
||||||
.AZ "Edit"
|
.AZ "Edit"
|
||||||
|
.DA WND.MENU.EDIT
|
||||||
.2 .DA #.3-* next
|
|
||||||
.DA #0 status
|
|
||||||
.DA 0 X1
|
|
||||||
.DA 0 XT
|
|
||||||
.DA 0 X2
|
|
||||||
.DA 0 MENU
|
|
||||||
.AZ "Options"
|
.AZ "Options"
|
||||||
|
.DA WND.MENU.OPTIONS
|
||||||
.3 .DA #.4-* next
|
|
||||||
.DA #0 status
|
|
||||||
.DA 0 X1
|
|
||||||
.DA 0 XT
|
|
||||||
.DA 0 X2
|
|
||||||
.DA 0 MENU
|
|
||||||
.AZ "?"
|
.AZ "?"
|
||||||
|
.DA WND.MENU.HELP
|
||||||
.4 .DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.MENU.FILE .DA #02 ID
|
WND.MENU.FILE .DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.KEYMOD.CTRL
|
.DA #02 ID
|
||||||
.DA #'N'
|
.DA #KEYMOD.CTRL,#'N'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "New"
|
.AZ "New"
|
||||||
.DA #04 ID
|
|
||||||
.DA #S.MITEM.KEYMOD.CTRL
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #'O'
|
.DA #04 ID
|
||||||
|
.DA #KEYMOD.CTRL,#'O'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Open..."
|
.AZ "Open..."
|
||||||
.DA #06 ID
|
|
||||||
.DA #S.MITEM.KEYMOD.CTRL
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #'S'
|
.DA #06 ID
|
||||||
|
.DA #KEYMOD.CTRL,#'S'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Save"
|
.AZ "Save"
|
||||||
.DA #08 ID
|
|
||||||
.DA #S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #'S'
|
.DA #08 ID
|
||||||
|
.DA #KEYMOD.OA+KEYMOD.CTRL,#'S'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Save As..."
|
.AZ "Save As..."
|
||||||
.DA #10 ID
|
|
||||||
.DA #S.MITEM.KEYMOD.CTRL
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #'Q'
|
.DA #10 ID
|
||||||
|
.DA #KEYMOD.CTRL,#'Q'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Quit"
|
.AZ "Quit"
|
||||||
|
|
||||||
.DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.MENU.EDIT .DA #12 ID
|
WND.MENU.EDIT .DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.KEYMOD.OA
|
.DA #12 ID
|
||||||
.DA #'X'
|
.DA #KEYMOD.CTRL,#'X'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Cut"
|
.AZ "Cut"
|
||||||
.DA #14 ID
|
|
||||||
.DA #S.MITEM.KEYMOD.OA
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #'C'
|
.DA #14 ID
|
||||||
|
.DA #KEYMOD.CTRL,#'C'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Copy"
|
.AZ "Copy"
|
||||||
.DA #16 ID
|
|
||||||
.DA #S.MITEM.KEYMOD.OA
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #'V'
|
.DA #16 ID
|
||||||
|
.DA #KEYMOD.CTRL,#'V'
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Paste"
|
.AZ "Paste"
|
||||||
|
|
||||||
.DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.MENU.OPTIONS .DA #18 ID
|
WND.MENU.OPTIONS
|
||||||
.DA #0
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #0
|
.DA #18 ID
|
||||||
|
.DA #0,#0
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "Check Me"
|
.AZ "Check Me"
|
||||||
|
|
||||||
|
.DA #S.MITEM.T.SEP
|
||||||
|
|
||||||
|
.DA #S.MITEM.T.SUBMENU
|
||||||
|
.DA WND.MENU.SUB
|
||||||
|
.DA 0 pICON
|
||||||
|
.AZ "Sub Menu"
|
||||||
|
|
||||||
.DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.MENU.HELP .DA #20 ID
|
WND.MENU.HELP .DA #S.MITEM.T.ITEM
|
||||||
.DA #0
|
.DA #20 ID
|
||||||
.DA #0
|
.DA #0,#0
|
||||||
|
.DA 0 pICON
|
||||||
.AZ "About..."
|
.AZ "About..."
|
||||||
|
|
||||||
|
.DA #0
|
||||||
|
*--------------------------------------
|
||||||
|
WND.MENU.SUB .DA #S.MITEM.T.ITEM
|
||||||
|
.DA #18 ID
|
||||||
|
.DA #0,#0
|
||||||
|
.DA 0 pICON
|
||||||
|
.AZ "Sub 1"
|
||||||
|
|
||||||
|
.DA #S.MITEM.T.ITEM
|
||||||
|
.DA #18 ID
|
||||||
|
.DA #0,#0
|
||||||
|
.DA 0 pICON
|
||||||
|
.AZ "Sub 2"
|
||||||
|
|
||||||
|
.DA #S.MITEM.T.ITEM
|
||||||
|
.DA #18 ID
|
||||||
|
.DA #0,#0
|
||||||
|
.DA 0 pICON
|
||||||
|
.AZ "Sub 3"
|
||||||
|
|
||||||
.DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
DS.END .ED
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -223,10 +223,9 @@ CS.QUIT clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
MSG0 .DA #C.ESC
|
MSG0 .CZ "\e[?7lhPS pPID PID cPID CPU% Status Flags UID Args"
|
||||||
.AZ "[?7lhPS pPID PID cPID CPU% Status Flags UID Args"
|
MSG1 .CZ "%3d %3d %3d %3d %3d\% %6s %s %3d"
|
||||||
MSG1 .AZ "%3d %3d %3d %3d %3d\% %6s %s %3d"
|
MSG2 .CS " %s"
|
||||||
MSG2 .AS " %s"
|
|
||||||
MSG3 .DA #0
|
MSG3 .DA #0
|
||||||
MSG.FLAGS .AS "HS???XEN"
|
MSG.FLAGS .AS "HS???XEN"
|
||||||
MSG.INIT .AZ "Init"
|
MSG.INIT .AZ "Init"
|
||||||
|
|
|
@ -927,6 +927,7 @@ CMD.FOR jsr CORE.StkGetCtx
|
||||||
lda (ZPArgVBufPtr)
|
lda (ZPArgVBufPtr)
|
||||||
cmp #'('
|
cmp #'('
|
||||||
beq CMD.FOR.FILE
|
beq CMD.FOR.FILE
|
||||||
|
|
||||||
cmp #'`'
|
cmp #'`'
|
||||||
beq CMD.FOR.EXEC
|
beq CMD.FOR.EXEC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -151,10 +151,50 @@ IO.StatYA >PUSHYA
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* set A = `sh -C ls|grep test`
|
||||||
IO.Exec >PUSHW ZPArgVBufPtr
|
IO.Exec >PUSHW ZPArgVBufPtr
|
||||||
>PUSHBI S.PS.F.CLOSEONX
|
>PUSHBI S.PS.F.CLOSEONX
|
||||||
>SYSCALL ExecL
|
>SYSCALL ExecL
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
* >LDYAI 256
|
||||||
|
* >SYSCALL GetMem
|
||||||
|
* bcs .99
|
||||||
|
|
||||||
|
* >STYA ZPPtr1
|
||||||
|
* phx
|
||||||
|
* >PUSHYA
|
||||||
|
* >PUSHW L.EXECC
|
||||||
|
* >PUSHW.G SH
|
||||||
|
* >PUSHW ZPArgVBufPtr
|
||||||
|
* >PUSHBI 4
|
||||||
|
* >SYSCALL sprintf
|
||||||
|
* bcs .98
|
||||||
|
|
||||||
|
* ldy #S.PS.hStdErr
|
||||||
|
* lda (pPS),y
|
||||||
|
* >PUSHA
|
||||||
|
* >PUSHW ZPPtr1
|
||||||
|
* >SYSCALL fputs
|
||||||
|
* >DEBUG
|
||||||
|
|
||||||
|
* >PUSHW ZPPtr1
|
||||||
|
* >PUSHBI S.PS.F.CLOSEONX
|
||||||
|
* >SYSCALL ExecL
|
||||||
|
|
||||||
|
*.98 plx
|
||||||
|
|
||||||
|
* php
|
||||||
|
* pha
|
||||||
|
|
||||||
|
* txa
|
||||||
|
* >SYSCALL freemem
|
||||||
|
|
||||||
|
* pla
|
||||||
|
* plp
|
||||||
|
|
||||||
|
*.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.PrintBatchErrMsg
|
IO.PrintBatchErrMsg
|
||||||
>LDYA ZPInputBuf
|
>LDYA ZPInputBuf
|
||||||
|
|
18
BIN/SH.S.txt
18
BIN/SH.S.txt
|
@ -195,8 +195,9 @@ L.EXP.OP.MATH .DA EXP.OP.MATH
|
||||||
L.EXP.OP.LOGIC .DA EXP.OP.LOGIC
|
L.EXP.OP.LOGIC .DA EXP.OP.LOGIC
|
||||||
L.HOME.PROFILE .DA HOME.PROFILE
|
L.HOME.PROFILE .DA HOME.PROFILE
|
||||||
L.PtrZero .DA PtrZero
|
L.PtrZero .DA PtrZero
|
||||||
L.HOME .DA HOME
|
|
||||||
L.PS1 .DA PS1
|
L.PS1 .DA PS1
|
||||||
|
L.HOME .DA HOME
|
||||||
|
L.EXECC .DA EXECC
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
|
@ -205,6 +206,10 @@ CS.INIT clc
|
||||||
CS.RUN jsr CL.Init
|
CS.RUN jsr CL.Init
|
||||||
jsr CORE.Init
|
jsr CORE.Init
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
jsr GetArgV
|
||||||
|
>STYA.G SH
|
||||||
|
|
||||||
ldy #S.PS.ARGC
|
ldy #S.PS.ARGC
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
beq .2 no arg, continue starting interactive
|
beq .2 no arg, continue starting interactive
|
||||||
|
@ -227,17 +232,21 @@ CS.RUN jsr CL.Init
|
||||||
jsr ToUpperCase
|
jsr ToUpperCase
|
||||||
|
|
||||||
cmp #'C'
|
cmp #'C'
|
||||||
bne .1
|
bne .19
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
bne .1
|
bne .19
|
||||||
|
|
||||||
* lda #0
|
* lda #0
|
||||||
jsr CMD.SHIFTA Remove $0 = -C
|
jsr CMD.SHIFTA Remove $0 = -C
|
||||||
|
|
||||||
jsr GetArgV
|
jsr GetArgV
|
||||||
jmp CS.RUN.CMDLINE
|
jmp CS.RUN.CMDLINE
|
||||||
|
|
||||||
|
.19 lda #E.CSYN
|
||||||
|
sec
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 jsr GetArgV Load SH batch file
|
.1 jsr GetArgV Load SH batch file
|
||||||
>SYSCALL LoadTxtFile
|
>SYSCALL LoadTxtFile
|
||||||
|
@ -622,6 +631,7 @@ HOME.PROFILE .AS "${HOME}.profile"
|
||||||
PtrZero .HS 00
|
PtrZero .HS 00
|
||||||
PS1 .AZ "${PS1}"
|
PS1 .AZ "${PS1}"
|
||||||
HOME .AZ "${HOME}"
|
HOME .AZ "${HOME}"
|
||||||
|
EXECC .AZ "%s -C %s"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EscChars .AS "DABC"
|
EscChars .AS "DABC"
|
||||||
EscChars.Cnt .EQ *-EscChars
|
EscChars.Cnt .EQ *-EscChars
|
||||||
|
@ -727,6 +737,8 @@ CORE.STACK .BS CORE.STACK.MAX+1 pData (0 = Stack Ptr)
|
||||||
PUSHD.STACK .BS PUSHD.STACK.MAX+1
|
PUSHD.STACK .BS PUSHD.STACK.MAX+1
|
||||||
CODE.STACK .BS CODE.STACK.MAX*7+1
|
CODE.STACK .BS CODE.STACK.MAX*7+1
|
||||||
|
|
||||||
|
SH .BS 2
|
||||||
|
|
||||||
hAliases .BS 1
|
hAliases .BS 1
|
||||||
hFunctions .BS 1
|
hFunctions .BS 1
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF drv/dhgr.drv
|
.TF drv/dhgr.drv
|
||||||
|
@ -95,7 +95,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||||
bmi .3
|
bmi .3
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.80C
|
>LDYA L.MSG.DETECT.80C
|
||||||
.3 >SYSCALL PutS
|
.3 >SYSCALL PutS
|
||||||
|
|
||||||
>PUSHWI DRV.END
|
>PUSHWI DRV.END
|
||||||
>PUSHWI DRV.CS.END-DRV.CS.START
|
>PUSHWI DRV.CS.END-DRV.CS.START
|
||||||
|
@ -107,7 +107,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||||
>STYA FD.DEV+S.FD.DEV.DRVPTR
|
>STYA FD.DEV+S.FD.DEV.DRVPTR
|
||||||
|
|
||||||
jsr DrvReloc
|
jsr DrvReloc
|
||||||
|
|
||||||
>PUSHW L.FD.DEV
|
>PUSHW L.FD.DEV
|
||||||
>PUSHW L.FD.DEV.NAME
|
>PUSHW L.FD.DEV.NAME
|
||||||
>SYSCALL MKDev
|
>SYSCALL MKDev
|
||||||
|
@ -122,7 +122,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||||
sta CLRWRITEAUX
|
sta CLRWRITEAUX
|
||||||
|
|
||||||
jsr ClrScr
|
jsr ClrScr
|
||||||
|
|
||||||
jsr OSD.install
|
jsr OSD.install
|
||||||
|
|
||||||
plp
|
plp
|
||||||
|
@ -162,11 +162,11 @@ DrvReloc lda FD.DEV+S.FD.DEV.DRVPTR
|
||||||
clc
|
clc
|
||||||
adc ZPPtr1
|
adc ZPPtr1
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr2),y
|
||||||
|
|
||||||
lda (ZPPtr3),y
|
lda (ZPPtr3),y
|
||||||
adc ZPPtr1+1
|
adc ZPPtr1+1
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
|
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
|
@ -194,11 +194,11 @@ DrvReloc lda FD.DEV+S.FD.DEV.DRVPTR
|
||||||
clc
|
clc
|
||||||
adc ZPPtr1
|
adc ZPPtr1
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr2),y
|
||||||
|
|
||||||
lda (ZPPtr3),y
|
lda (ZPPtr3),y
|
||||||
adc ZPPtr1+1
|
adc ZPPtr1+1
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
|
|
||||||
dey
|
dey
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
|
@ -213,41 +213,41 @@ OSD.install >LDYA L.OSD
|
||||||
lda /X.OSD.LEN
|
lda /X.OSD.LEN
|
||||||
eor #$ff
|
eor #$ff
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lda #X.OSD.LEN
|
lda #X.OSD.LEN
|
||||||
eor #$ff
|
eor #$ff
|
||||||
tax
|
tax
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
sta SETWRITEAUX
|
sta SETWRITEAUX
|
||||||
|
|
||||||
.1 inx
|
.1 inx
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
pla
|
pla
|
||||||
inc
|
inc
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
.2 lda (ZPPtr1),y
|
.2 lda (ZPPtr1),y
|
||||||
sta (ZPPtr2),y
|
sta (ZPPtr2),y
|
||||||
|
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
inc ZPPtr2+1
|
inc ZPPtr2+1
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.3 sta CLRWRITEAUX
|
.3 sta CLRWRITEAUX
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ClrScr lda #$55
|
ClrScr lda #$55
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
sta SETHIRES
|
sta SETHIRES
|
||||||
sta SET80STORE
|
sta SET80STORE
|
||||||
|
|
||||||
|
@ -260,7 +260,7 @@ ClrScr lda #$55
|
||||||
jsr .2
|
jsr .2
|
||||||
|
|
||||||
eor #$7F
|
eor #$7F
|
||||||
|
|
||||||
sta CLRPAGE2
|
sta CLRPAGE2
|
||||||
jsr .2
|
jsr .2
|
||||||
|
|
||||||
|
@ -362,7 +362,7 @@ STATUS >STYA ZPIOCTL
|
||||||
ldy #S.IOCTL.BUFPTR
|
ldy #S.IOCTL.BUFPTR
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
sta ZPBasePtr
|
sta ZPBasePtr
|
||||||
iny
|
iny
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
sta ZPBasePtr+1
|
sta ZPBasePtr+1
|
||||||
|
|
||||||
|
@ -402,14 +402,14 @@ OPEN tax DEV.ID in A
|
||||||
lda #S.DIB.S.OPENED
|
lda #S.DIB.S.OPENED
|
||||||
bit DIB+S.DIB.S
|
bit DIB+S.DIB.S
|
||||||
bne CLOSE.IOE
|
bne CLOSE.IOE
|
||||||
|
|
||||||
lda A2osX.SCRNDEVS+9
|
lda A2osX.SCRNDEVS+9
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda #E.OOH
|
lda #E.OOH
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 stx A2osX.SCRNDEVS+9
|
.1 stx A2osX.SCRNDEVS+9
|
||||||
stx DCB+S.DCB.GFX.DEVID
|
stx DCB+S.DCB.GFX.DEVID
|
||||||
|
|
||||||
|
@ -419,7 +419,7 @@ OPEN tax DEV.ID in A
|
||||||
CONTROL lda DCB+S.DCB.GFX.DEVID NON STANDARD
|
CONTROL lda DCB+S.DCB.GFX.DEVID NON STANDARD
|
||||||
cmp A2osX.ASCREEN
|
cmp A2osX.ASCREEN
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
sta A2osX.ASCREEN
|
sta A2osX.ASCREEN
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
@ -446,9 +446,9 @@ CLOSE.IOE lda #MLI.E.IO
|
||||||
CLOSE lda #S.DIB.S.OPENED
|
CLOSE lda #S.DIB.S.OPENED
|
||||||
bit DIB+S.DIB.S
|
bit DIB+S.DIB.S
|
||||||
beq CLOSE.IOE
|
beq CLOSE.IOE
|
||||||
|
|
||||||
trb DIB+S.DIB.S
|
trb DIB+S.DIB.S
|
||||||
|
|
||||||
stz A2osX.SCRNDEVS+9
|
stz A2osX.SCRNDEVS+9
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
@ -458,18 +458,18 @@ WRITE >STYA ZPIOCTL NON STANDARD
|
||||||
|
|
||||||
lda (ZPIOCTL) Get Cmd
|
lda (ZPIOCTL) Get Cmd
|
||||||
bmi .2
|
bmi .2
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
lsr
|
lsr
|
||||||
tax
|
tax
|
||||||
ldy CB.CmdLen-1,x
|
ldy CB.CmdLen-1,x
|
||||||
|
|
||||||
.1 lda (ZPIOCTL),y
|
.1 lda (ZPIOCTL),y
|
||||||
sta CB.Cache,y
|
sta CB.Cache,y
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
plx
|
plx
|
||||||
jmp (J.Cmds-2,x)
|
jmp (J.Cmds-2,x)
|
||||||
|
|
||||||
|
@ -533,7 +533,7 @@ YAMultX stx ZPTmpByte
|
||||||
ldy #0 Result LO
|
ldy #0 Result LO
|
||||||
tya Result HI
|
tya Result HI
|
||||||
bra .3
|
bra .3
|
||||||
|
|
||||||
.1 pha
|
.1 pha
|
||||||
tya
|
tya
|
||||||
clc
|
clc
|
||||||
|
@ -541,7 +541,7 @@ YAMultX stx ZPTmpByte
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
adc ZPTmpWord+1
|
adc ZPTmpWord+1
|
||||||
|
|
||||||
.2 asl ZPTmpWord
|
.2 asl ZPTmpWord
|
||||||
rol ZPTmpWord+1
|
rol ZPTmpWord+1
|
||||||
|
|
||||||
|
@ -634,7 +634,7 @@ DIB .DA #0
|
||||||
.BS 3
|
.BS 3
|
||||||
.DA #S.DIB.T.GFX
|
.DA #S.DIB.T.GFX
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA #94,#00
|
.DA #00,#94
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DCB .DA #S.DCB.T.GFX
|
DCB .DA #S.DCB.T.GFX
|
||||||
.BS 1 DEV.ID
|
.BS 1 DEV.ID
|
||||||
|
|
117
INC/LIBGUI.I.txt
117
INC/LIBGUI.I.txt
|
@ -1,20 +1,22 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIBGUI.SetCursor .EQ 4
|
LIBGUI.PTR.Set .EQ 4
|
||||||
LIBGUI.SetCursorPos .EQ 6
|
LIBGUI.PTR.SetPos .EQ 6
|
||||||
LIBGUI.HideCursor .EQ 8
|
LIBGUI.PTR.Hide .EQ 8
|
||||||
LIBGUI.ShowCursor .EQ 10
|
LIBGUI.PTR.Show .EQ 10
|
||||||
LIBGUI.UpdateCursor .EQ 12
|
LIBGUI.PTR.Update .EQ 12
|
||||||
LIBGUI.ReadMouse .EQ 14
|
LIBGUI.ReadMouse .EQ 14
|
||||||
LIBGUI.DrawLine .EQ 16
|
LIBGUI.DRAW.Line .EQ 16
|
||||||
LIBGUI.OBJ.SetProp .EQ 18
|
LIBGUI.OBJ.SetProp .EQ 18
|
||||||
LIBGUI.OBJ.GetProp .EQ 20
|
LIBGUI.OBJ.GetProp .EQ 20
|
||||||
LIBGUI.WND.New .EQ 22
|
LIBGUI.WND.New .EQ 22
|
||||||
LIBGUI.WND.Destroy .EQ 24
|
LIBGUI.WND.Destroy .EQ 24
|
||||||
LIBGUI.WND.Show .EQ 26
|
LIBGUI.WND.Show .EQ 26
|
||||||
LIBGUI.WND.Paint .EQ 28
|
LIBGUI.WND.Paint .EQ 28
|
||||||
LIBGUI.MSG.Get .EQ 30
|
LIBGUI.WND.SetMBar .EQ 30
|
||||||
|
LIBGUI.MSG.Get .EQ 32
|
||||||
|
LIBGUI.MBAR.New .EQ 34
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
C.BLACK .EQ 0
|
C.BLACK .EQ 0
|
||||||
C16.D.BLUE .EQ 1
|
C16.D.BLUE .EQ 1
|
||||||
|
@ -33,15 +35,19 @@ C16.PINK .EQ 13
|
||||||
C16.YELLOW .EQ 14
|
C16.YELLOW .EQ 14
|
||||||
C.WHITE .EQ 255
|
C.WHITE .EQ 255
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CUR.T.ARROW .EQ 0
|
PTR.T.ARROW .EQ 0
|
||||||
CUR.T.MOVE .EQ 2
|
PTR.T.MOVE .EQ 2
|
||||||
CUR.T.RESIZEX .EQ 4
|
PTR.T.RESIZEX .EQ 4
|
||||||
CUR.T.RESIZEY .EQ 6
|
PTR.T.RESIZEY .EQ 6
|
||||||
CUR.T.RESIZEXY1 .EQ 8
|
PTR.T.RESIZEXY1 .EQ 8
|
||||||
CUR.T.RESIZEXY2 .EQ 10
|
PTR.T.RESIZEXY2 .EQ 10
|
||||||
CUR.T.CROSS .EQ 12
|
PTR.T.CROSS .EQ 12
|
||||||
CUR.T.TEXT .EQ 14
|
PTR.T.TEXT .EQ 14
|
||||||
CUR.T.WAIT .EQ 16
|
PTR.T.WAIT .EQ 16
|
||||||
|
*--------------------------------------
|
||||||
|
KEYMOD.CTRL .EQ %10000000
|
||||||
|
KEYMOD.OA .EQ %01000000
|
||||||
|
KEYMOD.CA .EQ %00100000
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MSG.T .EQ 0
|
S.MSG.T .EQ 0
|
||||||
S.MSG.T.KEY .EQ 0
|
S.MSG.T.KEY .EQ 0
|
||||||
|
@ -126,13 +132,16 @@ S.WND.S.ACTIVE .EQ %01000000
|
||||||
*
|
*
|
||||||
S.WND.MinW .EQ S.OBJ
|
S.WND.MinW .EQ S.OBJ
|
||||||
S.WND.MinH .EQ S.OBJ+2
|
S.WND.MinH .EQ S.OBJ+2
|
||||||
S.WND.TITLE .EQ S.OBJ+4
|
S.WND.pTITLE .EQ S.OBJ+4
|
||||||
S.WND.MBAR .EQ S.OBJ+6
|
S.WND.pMBAR .EQ S.OBJ+6
|
||||||
S.WND.STATUS .EQ S.OBJ+8
|
S.WND.pSTATUS .EQ S.OBJ+8
|
||||||
S.WND.ICON .EQ S.OBJ+10
|
S.WND.ICON .EQ S.OBJ+10
|
||||||
S.WND.BGCOLOR .EQ S.OBJ+12
|
S.WND.BGCOLOR .EQ S.OBJ+12
|
||||||
S.WND.BGBM .EQ S.OBJ+14
|
S.WND.BGBM .EQ S.OBJ+14
|
||||||
S.WND.hCUR .EQ S.OBJ+16
|
S.WND.hCUR .EQ S.OBJ+16
|
||||||
|
*
|
||||||
|
* private
|
||||||
|
*
|
||||||
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.TBarY2 .EQ S.OBJ+22
|
S.WND.TBarY2 .EQ S.OBJ+22
|
||||||
|
@ -151,51 +160,41 @@ S.WND.fPaint .EQ S.OBJ+40
|
||||||
*
|
*
|
||||||
S.WND .EQ S.OBJ+42
|
S.WND .EQ S.OBJ+42
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MBAR.MBITEMS .EQ S.OBJ
|
S.MBAR.Selected .EQ S.OBJ
|
||||||
S.MBAR.Selected .EQ S.OBJ+2
|
S.MBAR.Items .EQ S.OBJ+2
|
||||||
*
|
*
|
||||||
S.MBAR .EQ S.OBJ+4
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MBITEM.NEXT .EQ 0
|
S.MBITEM.X1 .EQ 0
|
||||||
S.MBITEM.S .EQ 1
|
S.MBITEM.XT .EQ 2
|
||||||
S.MBITEM.X1 .EQ 2
|
S.MBITEM.X2 .EQ 4
|
||||||
S.MBITEM.XT .EQ 4
|
S.MBITEM.pTEXT .EQ 6
|
||||||
S.MBITEM.X2 .EQ 6
|
S.MBITEM.pMENU .EQ 8
|
||||||
S.MBITEM.MENU .EQ 8
|
|
||||||
S.MBITEM.TEXT .EQ 10
|
|
||||||
*--------------------------------------
|
|
||||||
S.MENU.MITEMS .EQ S.OBJ
|
|
||||||
S.MENU.hSAVEBUF .EQ S.OBJ+2
|
|
||||||
S.MENU.pX1 .EQ S.OBJ+4
|
|
||||||
S.MENU.pY1 .EQ S.OBJ+6
|
|
||||||
S.MENU.pX2 .EQ S.OBJ+8
|
|
||||||
S.MENU.pY2 .EQ S.OBJ+10
|
|
||||||
S.MENU.Selected .EQ S.OBJ+12
|
|
||||||
S.MENU.iW .EQ S.OBJ+13
|
|
||||||
S.MENU.tW .EQ S.OBJ+14
|
|
||||||
S.MENU.kW .EQ S.OBJ+16
|
|
||||||
*
|
*
|
||||||
S.MENU .EQ S.OBJ+18
|
S.MBITEM .EQ 10
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MITEM.NEXT .EQ 0
|
S.MENU.hSAVEBUF .EQ S.OBJ+0
|
||||||
S.MITEM.F .EQ 1
|
S.MENU.iW .EQ S.OBJ+2
|
||||||
S.MITEM.F.SEP .EQ 2
|
S.MENU.tW .EQ S.OBJ+4
|
||||||
S.MITEM.F.ITEM .EQ 4
|
S.MENU.kW .EQ S.OBJ+6
|
||||||
S.MITEM.F.SUBMENU .EQ 6
|
S.MENU.Items .EQ S.OBJ+8
|
||||||
S.MITEM.S .EQ 2
|
*
|
||||||
S.MITEM.S.CHECKED .EQ %01000000
|
*--------------------------------------
|
||||||
S.MITEM.S.DISABLED .EQ %10000000
|
S.MITEM.T .EQ 0
|
||||||
S.MITEM.ID .EQ 3
|
S.MITEM.T.SEP .EQ 2
|
||||||
S.MITEM.pICON .EQ 4
|
S.MITEM.T.ITEM .EQ 4
|
||||||
|
S.MITEM.T.SUBMENU .EQ 6
|
||||||
|
S.MITEM.S .EQ 1
|
||||||
|
S.MITEM.S.SELECTED .EQ %10000000
|
||||||
|
S.MITEM.S.DISABLED .EQ %00000010
|
||||||
|
S.MITEM.S.CHECKED .EQ %00000001
|
||||||
|
S.MITEM.pICON .EQ 2
|
||||||
|
S.MITEM.pTEXT .EQ 4
|
||||||
S.MITEM.pMENU .EQ 6
|
S.MITEM.pMENU .EQ 6
|
||||||
S.MITEM.KEYMOD .EQ 6
|
S.MITEM.KEYMOD .EQ 8
|
||||||
S.MITEM.KEYMOD.CA .EQ 2
|
S.MITEM.KEY .EQ 9
|
||||||
S.MITEM.KEYMOD.OA .EQ 4
|
S.MITEM.ID .EQ 10
|
||||||
S.MITEM.KEYMOD.CTRL .EQ 8
|
*
|
||||||
S.MITEM.KEY .EQ 7
|
S.MITEM .EQ 12
|
||||||
S.MITEM.KEYSTR .EQ 8
|
|
||||||
S.MITEM.TEXT .EQ 9 CSTR
|
|
||||||
* ...
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BM.ID.APPLE .EQ 2
|
BM.ID.APPLE .EQ 2
|
||||||
BM.ID.CLOSE .EQ 4
|
BM.ID.CLOSE .EQ 4
|
||||||
|
|
|
@ -1,411 +1,6 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CUR.T .BS 1
|
|
||||||
CUR.bVisible .BS 1
|
|
||||||
CUR.Pos .BS S.POINT
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.HotPoints .DA #0,#0 CUR.T.ARROW
|
|
||||||
.DA #6,#6 CUR.T.MOVE
|
|
||||||
.DA #7,#4 CUR.ResizeX
|
|
||||||
.DA #6,#5 CUR.ResizeY
|
|
||||||
.DA #5,#5 CUR.ResizeXY1
|
|
||||||
.DA #5,#5 CUR.ResizeXY2
|
|
||||||
.DA #5,#5 CUR.Cross
|
|
||||||
.DA #5,#3 CUR.Text
|
|
||||||
.DA #5,#6 CUR.Wait1
|
|
||||||
.DA #5,#6 CUR.Wait2
|
|
||||||
.DA #5,#6 CUR.Wait3
|
|
||||||
.DA #5,#6 CUR.Wait4
|
|
||||||
.DA #8,#7 CUR.Wait5
|
|
||||||
.DA #8,#7 CUR.Wait6
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.SaveBuf .BS 64 16*4
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Arrow .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 13 H
|
|
||||||
.DA CUR.Arrow.MASK-CUR.Arrow
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %000.00000010
|
|
||||||
.DA %000.00000110
|
|
||||||
.DA %000.00001110
|
|
||||||
.DA %000.00011110
|
|
||||||
.DA %000.00111110
|
|
||||||
.DA %000.01111110
|
|
||||||
.DA %000.11111110
|
|
||||||
.DA %001.11111110
|
|
||||||
.DA %010.01111110
|
|
||||||
.DA %000.11110010
|
|
||||||
.DA %000.11100000
|
|
||||||
.DA %000.00000000
|
|
||||||
CUR.Arrow.MASK .DA %111.11111100
|
|
||||||
.DA %111.11111000
|
|
||||||
.DA %111.11110000
|
|
||||||
.DA %111.11100000
|
|
||||||
.DA %111.11000000
|
|
||||||
.DA %111.10000000
|
|
||||||
.DA %111.00000000
|
|
||||||
.DA %110.00000000
|
|
||||||
.DA %100.00000000
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %110.00000000
|
|
||||||
.DA %110.00001111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Move .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 11 H
|
|
||||||
.DA CUR.Move.MASK-CUR.Move
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.10001000
|
|
||||||
.DA %001.00000100
|
|
||||||
.DA %010.00000010
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %010.00000010
|
|
||||||
.DA %001.00000100
|
|
||||||
.DA %000.10001000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.00100000
|
|
||||||
CUR.Move.MASK
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
.DA %111.11111111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.ResizeX .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 14 W
|
|
||||||
.DA 7 H
|
|
||||||
.DA CUR.ResizeX.MASK-CUR.ResizeX
|
|
||||||
.DA %000000.00000000
|
|
||||||
.DA %000100.00001000
|
|
||||||
.DA %001100.00001100
|
|
||||||
.DA %011111.11111110
|
|
||||||
.DA %001100.00001100
|
|
||||||
.DA %000100.00001000
|
|
||||||
.DA %000000.00000000
|
|
||||||
CUR.ResizeX.MASK
|
|
||||||
.DA %111001.11100111
|
|
||||||
.DA %110001.11100011
|
|
||||||
.DA %100000.00000001
|
|
||||||
.DA %000000.00000000
|
|
||||||
.DA %100000.00000001
|
|
||||||
.DA %110001.11100011
|
|
||||||
.DA %111001.11100111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.ResizeY .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 9 W
|
|
||||||
.DA 11 H
|
|
||||||
.DA CUR.ResizeY.MASK-CUR.ResizeY
|
|
||||||
.DA %0.00000000
|
|
||||||
.DA %0.00010000
|
|
||||||
.DA %0.01111100
|
|
||||||
.DA %0.11111110
|
|
||||||
.DA %0.00010000
|
|
||||||
.DA %0.00010000
|
|
||||||
.DA %0.00010000
|
|
||||||
.DA %0.11111110
|
|
||||||
.DA %0.01111100
|
|
||||||
.DA %0.00010000
|
|
||||||
.DA %0.00000000
|
|
||||||
CUR.ResizeY.MASK
|
|
||||||
.DA %1.11101111
|
|
||||||
.DA %1.11000111
|
|
||||||
.DA %1.00000001
|
|
||||||
.DA %0.00000000
|
|
||||||
.DA %0.00000000
|
|
||||||
.DA %1.11000111
|
|
||||||
.DA %1.11000111
|
|
||||||
.DA %0.00000000
|
|
||||||
.DA %1.00000001
|
|
||||||
.DA %1.11000111
|
|
||||||
.DA %1.11101111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.ResizeXY1 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 11 H
|
|
||||||
.DA CUR.ResizeXY1.MASK-CUR.ResizeXY1
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %011.11000000
|
|
||||||
.DA %011.10000000
|
|
||||||
.DA %011.10000000
|
|
||||||
.DA %010.01000000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00010010
|
|
||||||
.DA %000.00001110
|
|
||||||
.DA %000.00001110
|
|
||||||
.DA %000.00011110
|
|
||||||
.DA %000.00000000
|
|
||||||
CUR.ResizeXY1.MASK
|
|
||||||
.DA %000.00001111
|
|
||||||
.DA %000.00011111
|
|
||||||
.DA %000.00111111
|
|
||||||
.DA %000.00111111
|
|
||||||
.DA %000.00011110
|
|
||||||
.DA %001.10001100
|
|
||||||
.DA %011.11000000
|
|
||||||
.DA %111.11100000
|
|
||||||
.DA %111.11100000
|
|
||||||
.DA %111.11000000
|
|
||||||
.DA %111.10000000
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.ResizeXY2 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 11 H
|
|
||||||
.DA CUR.ResizeXY2.MASK-CUR.ResizeXY2
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %000.00011110
|
|
||||||
.DA %000.00001110
|
|
||||||
.DA %000.00001110
|
|
||||||
.DA %000.00010010
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %010.01000000
|
|
||||||
.DA %011.10000000
|
|
||||||
.DA %011.10000000
|
|
||||||
.DA %011.11000000
|
|
||||||
.DA %000.00000000
|
|
||||||
CUR.ResizeXY2.MASK
|
|
||||||
.DA %111.10000000
|
|
||||||
.DA %111.11000000
|
|
||||||
.DA %111.11100000
|
|
||||||
.DA %111.11100000
|
|
||||||
.DA %011.11000000
|
|
||||||
.DA %001.10001100
|
|
||||||
.DA %000.00011110
|
|
||||||
.DA %000.00111111
|
|
||||||
.DA %000.00111111
|
|
||||||
.DA %000.00011111
|
|
||||||
.DA %000.00001111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Cross .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 11 H
|
|
||||||
.DA CUR.Cross.MASK-CUR.Cross
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %011.11011110
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %011.11011110
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.00100000
|
|
||||||
CUR.Cross.MASK
|
|
||||||
.DA %111.11011111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.11011111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Text .DA #S.BM.F.BBP1
|
|
||||||
.DA #1 RowBytes
|
|
||||||
.DA 7 W
|
|
||||||
.DA 11 H
|
|
||||||
.DA CUR.Text.MASK-CUR.Text
|
|
||||||
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
.DA #%0000000
|
|
||||||
CUR.Text.MASK
|
|
||||||
.DA #%0011100
|
|
||||||
.DA #%1101011
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1110111
|
|
||||||
.DA #%1101011
|
|
||||||
.DA #%0011100
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Wait1 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 13 H
|
|
||||||
.DA CUR.Wait4.MASK-CUR.Wait1
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %001.00000100
|
|
||||||
.DA %000.10001000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.01110000
|
|
||||||
.DA %000.11111000
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.00000000
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Wait2 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 13 H
|
|
||||||
.DA CUR.Wait4.MASK-CUR.Wait2
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.10001000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.01110000
|
|
||||||
.DA %000.11111000
|
|
||||||
.DA %001.00000100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.00000000
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Wait3 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 13 H
|
|
||||||
.DA CUR.Wait4.MASK-CUR.Wait3
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.11111000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.01110000
|
|
||||||
.DA %000.10001000
|
|
||||||
.DA %001.00000100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.00000000
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Wait4 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 11 W
|
|
||||||
.DA 13 H
|
|
||||||
.DA CUR.Wait4.MASK-CUR.Wait4
|
|
||||||
.DA %000.00000000
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.11111000
|
|
||||||
.DA %000.01110000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.00100000
|
|
||||||
.DA %000.01010000
|
|
||||||
.DA %000.10001000
|
|
||||||
.DA %001.00000100
|
|
||||||
.DA %001.11111100
|
|
||||||
.DA %000.00000000
|
|
||||||
CUR.Wait4.MASK .DA %110.00000011
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %110.00000011
|
|
||||||
.DA %111.00000111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.10001111
|
|
||||||
.DA %111.00000111
|
|
||||||
.DA %110.00000011
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %100.00000001
|
|
||||||
.DA %110.00000011
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Wait5 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 16 W
|
|
||||||
.DA 14 H
|
|
||||||
.DA CUR.Wait5.MASK-CUR.Wait5
|
|
||||||
.DA %00000000.00000000
|
|
||||||
.DA %00000010.00000000
|
|
||||||
.DA %00000110.00000000
|
|
||||||
.DA %00001110.00000000
|
|
||||||
.DA %00011110.00000000
|
|
||||||
.DA %00111110.00000000
|
|
||||||
.DA %00000001.00000000
|
|
||||||
.DA %00000000.10000000
|
|
||||||
.DA %00000000.01111100
|
|
||||||
.DA %00000000.01001000
|
|
||||||
.DA %00000000.01010000
|
|
||||||
.DA %00000000.01100000
|
|
||||||
.DA %00000000.01000000
|
|
||||||
.DA %00000000.00000000
|
|
||||||
CUR.Wait5.MASK .DA %11111100.11111111
|
|
||||||
.DA %11111000.11111111
|
|
||||||
.DA %11110000.11111111
|
|
||||||
.DA %11100000.11111111
|
|
||||||
.DA %11000000.11111111
|
|
||||||
.DA %10000000.01111111
|
|
||||||
.DA %10000000.00111111
|
|
||||||
.DA %11111100.00000001
|
|
||||||
.DA %11111110.00000001
|
|
||||||
.DA %11111111.00000011
|
|
||||||
.DA %11111111.00000111
|
|
||||||
.DA %11111111.00001111
|
|
||||||
.DA %11111111.00011111
|
|
||||||
.DA %11111111.00111111
|
|
||||||
*--------------------------------------
|
|
||||||
CUR.Wait6 .DA #S.BM.F.BBP1
|
|
||||||
.DA #2 RowBytes
|
|
||||||
.DA 16 W
|
|
||||||
.DA 14 H
|
|
||||||
.DA CUR.Wait6.MASK-CUR.Wait6
|
|
||||||
.DA %00000000.00000000
|
|
||||||
.DA %00000000.01000000
|
|
||||||
.DA %00000000.01100000
|
|
||||||
.DA %00000000.01010000
|
|
||||||
.DA %00000000.01001000
|
|
||||||
.DA %00000000.01111100
|
|
||||||
.DA %00000000.10000000
|
|
||||||
.DA %00000001.00000000
|
|
||||||
.DA %00111110.00000000
|
|
||||||
.DA %00011110.00000000
|
|
||||||
.DA %00001110.00000000
|
|
||||||
.DA %00000110.00000000
|
|
||||||
.DA %00000010.00000000
|
|
||||||
.DA %00000000.00000000
|
|
||||||
CUR.Wait6.MASK .DA %11111111.00111111
|
|
||||||
.DA %11111111.00011111
|
|
||||||
.DA %11111111.00001111
|
|
||||||
.DA %11111111.00000111
|
|
||||||
.DA %11111111.00000011
|
|
||||||
.DA %11111110.00000001
|
|
||||||
.DA %11111100.00000001
|
|
||||||
.DA %10000000.00111111
|
|
||||||
.DA %10000000.01111111
|
|
||||||
.DA %11000000.11111111
|
|
||||||
.DA %11100000.11111111
|
|
||||||
.DA %11110000.11111111
|
|
||||||
.DA %11111000.11111111
|
|
||||||
.DA %11111100.11111111
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.g.cur
|
SAVE usr/src/lib/libgui.g.cur
|
||||||
|
|
|
@ -0,0 +1,413 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.T .BS 1
|
||||||
|
PTR.bVisible .BS 1
|
||||||
|
PTR.Pos .BS S.POINT
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.HotPoints .DA #0,#0 PTR.T.ARROW
|
||||||
|
.DA #6,#6 PTR.T.MOVE
|
||||||
|
.DA #7,#4 PTR.ResizeX
|
||||||
|
.DA #6,#5 PTR.ResizeY
|
||||||
|
.DA #5,#5 PTR.ResizeXY1
|
||||||
|
.DA #5,#5 PTR.ResizeXY2
|
||||||
|
.DA #5,#5 PTR.Cross
|
||||||
|
.DA #5,#3 PTR.Text
|
||||||
|
.DA #5,#6 PTR.Wait1
|
||||||
|
.DA #5,#6 PTR.Wait2
|
||||||
|
.DA #5,#6 PTR.Wait3
|
||||||
|
.DA #5,#6 PTR.Wait4
|
||||||
|
.DA #8,#7 PTR.Wait5
|
||||||
|
.DA #8,#7 PTR.Wait6
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.SaveBuf .BS 64 16*4
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Arrow .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 13 H
|
||||||
|
.DA PTR.Arrow.MASK-PTR.Arrow
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %000.00000010
|
||||||
|
.DA %000.00000110
|
||||||
|
.DA %000.00001110
|
||||||
|
.DA %000.00011110
|
||||||
|
.DA %000.00111110
|
||||||
|
.DA %000.01111110
|
||||||
|
.DA %000.11111110
|
||||||
|
.DA %001.11111110
|
||||||
|
.DA %010.01111110
|
||||||
|
.DA %000.11110010
|
||||||
|
.DA %000.11100000
|
||||||
|
.DA %000.00000000
|
||||||
|
PTR.Arrow.MASK .DA %111.11111100
|
||||||
|
.DA %111.11111000
|
||||||
|
.DA %111.11110000
|
||||||
|
.DA %111.11100000
|
||||||
|
.DA %111.11000000
|
||||||
|
.DA %111.10000000
|
||||||
|
.DA %111.00000000
|
||||||
|
.DA %110.00000000
|
||||||
|
.DA %100.00000000
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %110.00000000
|
||||||
|
.DA %110.00001111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Move .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 11 H
|
||||||
|
.DA PTR.Move.MASK-PTR.Move
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.10001000
|
||||||
|
.DA %001.00000100
|
||||||
|
.DA %010.00000010
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %010.00000010
|
||||||
|
.DA %001.00000100
|
||||||
|
.DA %000.10001000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.00100000
|
||||||
|
PTR.Move.MASK
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
.DA %111.11111111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.ResizeX .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 14 W
|
||||||
|
.DA 7 H
|
||||||
|
.DA PTR.ResizeX.MASK-PTR.ResizeX
|
||||||
|
.DA %000000.00000000
|
||||||
|
.DA %000100.00001000
|
||||||
|
.DA %001100.00001100
|
||||||
|
.DA %011111.11111110
|
||||||
|
.DA %001100.00001100
|
||||||
|
.DA %000100.00001000
|
||||||
|
.DA %000000.00000000
|
||||||
|
PTR.ResizeX.MASK
|
||||||
|
.DA %111001.11100111
|
||||||
|
.DA %110001.11100011
|
||||||
|
.DA %100000.00000001
|
||||||
|
.DA %000000.00000000
|
||||||
|
.DA %100000.00000001
|
||||||
|
.DA %110001.11100011
|
||||||
|
.DA %111001.11100111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.ResizeY .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 9 W
|
||||||
|
.DA 11 H
|
||||||
|
.DA PTR.ResizeY.MASK-PTR.ResizeY
|
||||||
|
.DA %0.00000000
|
||||||
|
.DA %0.00010000
|
||||||
|
.DA %0.01111100
|
||||||
|
.DA %0.11111110
|
||||||
|
.DA %0.00010000
|
||||||
|
.DA %0.00010000
|
||||||
|
.DA %0.00010000
|
||||||
|
.DA %0.11111110
|
||||||
|
.DA %0.01111100
|
||||||
|
.DA %0.00010000
|
||||||
|
.DA %0.00000000
|
||||||
|
PTR.ResizeY.MASK
|
||||||
|
.DA %1.11101111
|
||||||
|
.DA %1.11000111
|
||||||
|
.DA %1.00000001
|
||||||
|
.DA %0.00000000
|
||||||
|
.DA %0.00000000
|
||||||
|
.DA %1.11000111
|
||||||
|
.DA %1.11000111
|
||||||
|
.DA %0.00000000
|
||||||
|
.DA %1.00000001
|
||||||
|
.DA %1.11000111
|
||||||
|
.DA %1.11101111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.ResizeXY1 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 11 H
|
||||||
|
.DA PTR.ResizeXY1.MASK-PTR.ResizeXY1
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %011.11000000
|
||||||
|
.DA %011.10000000
|
||||||
|
.DA %011.10000000
|
||||||
|
.DA %010.01000000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00010010
|
||||||
|
.DA %000.00001110
|
||||||
|
.DA %000.00001110
|
||||||
|
.DA %000.00011110
|
||||||
|
.DA %000.00000000
|
||||||
|
PTR.ResizeXY1.MASK
|
||||||
|
.DA %000.00001111
|
||||||
|
.DA %000.00011111
|
||||||
|
.DA %000.00111111
|
||||||
|
.DA %000.00111111
|
||||||
|
.DA %000.00011110
|
||||||
|
.DA %001.10001100
|
||||||
|
.DA %011.11000000
|
||||||
|
.DA %111.11100000
|
||||||
|
.DA %111.11100000
|
||||||
|
.DA %111.11000000
|
||||||
|
.DA %111.10000000
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.ResizeXY2 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 11 H
|
||||||
|
.DA PTR.ResizeXY2.MASK-PTR.ResizeXY2
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %000.00011110
|
||||||
|
.DA %000.00001110
|
||||||
|
.DA %000.00001110
|
||||||
|
.DA %000.00010010
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %010.01000000
|
||||||
|
.DA %011.10000000
|
||||||
|
.DA %011.10000000
|
||||||
|
.DA %011.11000000
|
||||||
|
.DA %000.00000000
|
||||||
|
PTR.ResizeXY2.MASK
|
||||||
|
.DA %111.10000000
|
||||||
|
.DA %111.11000000
|
||||||
|
.DA %111.11100000
|
||||||
|
.DA %111.11100000
|
||||||
|
.DA %011.11000000
|
||||||
|
.DA %001.10001100
|
||||||
|
.DA %000.00011110
|
||||||
|
.DA %000.00111111
|
||||||
|
.DA %000.00111111
|
||||||
|
.DA %000.00011111
|
||||||
|
.DA %000.00001111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Cross .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 11 H
|
||||||
|
.DA PTR.Cross.MASK-PTR.Cross
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %011.11011110
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %011.11011110
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.00100000
|
||||||
|
PTR.Cross.MASK
|
||||||
|
.DA %111.11011111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.11011111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Text .DA #S.BM.F.BBP1
|
||||||
|
.DA #1 RowBytes
|
||||||
|
.DA 7 W
|
||||||
|
.DA 11 H
|
||||||
|
.DA PTR.Text.MASK-PTR.Text
|
||||||
|
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
.DA #%0000000
|
||||||
|
PTR.Text.MASK
|
||||||
|
.DA #%0011100
|
||||||
|
.DA #%1101011
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1110111
|
||||||
|
.DA #%1101011
|
||||||
|
.DA #%0011100
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Wait1 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 13 H
|
||||||
|
.DA PTR.Wait4.MASK-PTR.Wait1
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %001.00000100
|
||||||
|
.DA %000.10001000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.01110000
|
||||||
|
.DA %000.11111000
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.00000000
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Wait2 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 13 H
|
||||||
|
.DA PTR.Wait4.MASK-PTR.Wait2
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.10001000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.01110000
|
||||||
|
.DA %000.11111000
|
||||||
|
.DA %001.00000100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.00000000
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Wait3 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 13 H
|
||||||
|
.DA PTR.Wait4.MASK-PTR.Wait3
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.11111000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.01110000
|
||||||
|
.DA %000.10001000
|
||||||
|
.DA %001.00000100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.00000000
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Wait4 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 11 W
|
||||||
|
.DA 13 H
|
||||||
|
.DA PTR.Wait4.MASK-PTR.Wait4
|
||||||
|
.DA %000.00000000
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.11111000
|
||||||
|
.DA %000.01110000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.00100000
|
||||||
|
.DA %000.01010000
|
||||||
|
.DA %000.10001000
|
||||||
|
.DA %001.00000100
|
||||||
|
.DA %001.11111100
|
||||||
|
.DA %000.00000000
|
||||||
|
PTR.Wait4.MASK .DA %110.00000011
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %110.00000011
|
||||||
|
.DA %111.00000111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.10001111
|
||||||
|
.DA %111.00000111
|
||||||
|
.DA %110.00000011
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %100.00000001
|
||||||
|
.DA %110.00000011
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Wait5 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 16 W
|
||||||
|
.DA 14 H
|
||||||
|
.DA PTR.Wait5.MASK-PTR.Wait5
|
||||||
|
.DA %00000000.00000000
|
||||||
|
.DA %00000010.00000000
|
||||||
|
.DA %00000110.00000000
|
||||||
|
.DA %00001110.00000000
|
||||||
|
.DA %00011110.00000000
|
||||||
|
.DA %00111110.00000000
|
||||||
|
.DA %00000001.00000000
|
||||||
|
.DA %00000000.10000000
|
||||||
|
.DA %00000000.01111100
|
||||||
|
.DA %00000000.01001000
|
||||||
|
.DA %00000000.01010000
|
||||||
|
.DA %00000000.01100000
|
||||||
|
.DA %00000000.01000000
|
||||||
|
.DA %00000000.00000000
|
||||||
|
PTR.Wait5.MASK .DA %11111100.11111111
|
||||||
|
.DA %11111000.11111111
|
||||||
|
.DA %11110000.11111111
|
||||||
|
.DA %11100000.11111111
|
||||||
|
.DA %11000000.11111111
|
||||||
|
.DA %10000000.01111111
|
||||||
|
.DA %10000000.00111111
|
||||||
|
.DA %11111100.00000001
|
||||||
|
.DA %11111110.00000001
|
||||||
|
.DA %11111111.00000011
|
||||||
|
.DA %11111111.00000111
|
||||||
|
.DA %11111111.00001111
|
||||||
|
.DA %11111111.00011111
|
||||||
|
.DA %11111111.00111111
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Wait6 .DA #S.BM.F.BBP1
|
||||||
|
.DA #2 RowBytes
|
||||||
|
.DA 16 W
|
||||||
|
.DA 14 H
|
||||||
|
.DA PTR.Wait6.MASK-PTR.Wait6
|
||||||
|
.DA %00000000.00000000
|
||||||
|
.DA %00000000.01000000
|
||||||
|
.DA %00000000.01100000
|
||||||
|
.DA %00000000.01010000
|
||||||
|
.DA %00000000.01001000
|
||||||
|
.DA %00000000.01111100
|
||||||
|
.DA %00000000.10000000
|
||||||
|
.DA %00000001.00000000
|
||||||
|
.DA %00111110.00000000
|
||||||
|
.DA %00011110.00000000
|
||||||
|
.DA %00001110.00000000
|
||||||
|
.DA %00000110.00000000
|
||||||
|
.DA %00000010.00000000
|
||||||
|
.DA %00000000.00000000
|
||||||
|
PTR.Wait6.MASK .DA %11111111.00111111
|
||||||
|
.DA %11111111.00011111
|
||||||
|
.DA %11111111.00001111
|
||||||
|
.DA %11111111.00000111
|
||||||
|
.DA %11111111.00000011
|
||||||
|
.DA %11111110.00000001
|
||||||
|
.DA %11111100.00000001
|
||||||
|
.DA %10000000.00111111
|
||||||
|
.DA %10000000.01111111
|
||||||
|
.DA %11000000.11111111
|
||||||
|
.DA %11100000.11111111
|
||||||
|
.DA %11110000.11111111
|
||||||
|
.DA %11111000.11111111
|
||||||
|
.DA %11111100.11111111
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE usr/src/lib/libgui.g.ptr
|
||||||
|
LOAD usr/src/lib/libgui.s
|
||||||
|
ASM
|
|
@ -1,155 +1,6 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
UpdateCursor lda CUR.T
|
|
||||||
cmp #CUR.T.WAIT
|
|
||||||
bcc SetCursor.RTS
|
|
||||||
inc
|
|
||||||
inc
|
|
||||||
cmp #CUR.T.WAIT+12
|
|
||||||
bne SetCursor
|
|
||||||
|
|
||||||
lda #CUR.T.WAIT
|
|
||||||
*--------------------------------------
|
|
||||||
* Set X2,Y2,SrcPtr
|
|
||||||
*--------------------------------------
|
|
||||||
SetCursor sta CUR.T
|
|
||||||
|
|
||||||
lda CUR.bVisible
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
jsr HideCursor.I
|
|
||||||
|
|
||||||
.1 ldx CUR.T
|
|
||||||
lda L.Cursors,x
|
|
||||||
sta CB.PTR+S.CB.SrcPtr
|
|
||||||
sta ZPPtr1
|
|
||||||
lda L.Cursors+1,x
|
|
||||||
sta CB.PTR+S.CB.SrcPtr+1
|
|
||||||
sta ZPPtr1+1
|
|
||||||
|
|
||||||
ldy #S.BM.W
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta CB.PTR+S.CB.SrcW
|
|
||||||
|
|
||||||
clc
|
|
||||||
adc CB.PTR+S.CB.X1
|
|
||||||
pha
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta CB.PTR+S.CB.SrcW+1
|
|
||||||
adc CB.PTR+S.CB.X1+1
|
|
||||||
tax
|
|
||||||
pla
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
dex
|
|
||||||
|
|
||||||
.2 dec
|
|
||||||
sta CB.PTR+S.CB.X2
|
|
||||||
stx CB.PTR+S.CB.X2+1
|
|
||||||
|
|
||||||
iny S.BM.H
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta CB.PTR+S.CB.SrcH
|
|
||||||
|
|
||||||
clc
|
|
||||||
adc CB.PTR+S.CB.Y1
|
|
||||||
pha
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta CB.PTR+S.CB.SrcH+1
|
|
||||||
adc CB.PTR+S.CB.Y1+1
|
|
||||||
tax
|
|
||||||
pla
|
|
||||||
bne .3
|
|
||||||
|
|
||||||
dex
|
|
||||||
|
|
||||||
.3 dec
|
|
||||||
sta CB.PTR+S.CB.Y2
|
|
||||||
stx CB.PTR+S.CB.Y2+1
|
|
||||||
|
|
||||||
lda CUR.bVisible
|
|
||||||
bmi ShowCursor.I
|
|
||||||
|
|
||||||
SetCursor.RTS rts
|
|
||||||
*--------------------------------------
|
|
||||||
* Set DestX,DestY
|
|
||||||
*--------------------------------------
|
|
||||||
SetCursorPos >PULLW ZPPtr1
|
|
||||||
lda CUR.bVisible
|
|
||||||
bpl .1
|
|
||||||
|
|
||||||
jsr HideCursor.I
|
|
||||||
|
|
||||||
.1 ldy #S.POINT-1
|
|
||||||
|
|
||||||
.2 lda (ZPPtr1),y
|
|
||||||
sta CUR.Pos,y
|
|
||||||
dey
|
|
||||||
bpl .2
|
|
||||||
|
|
||||||
lda CUR.bVisible
|
|
||||||
bmi ShowCursor.I
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
HideCursor lda CUR.bVisible
|
|
||||||
bpl .9
|
|
||||||
jsr HideCursor.I
|
|
||||||
stz CUR.bVisible
|
|
||||||
|
|
||||||
.9 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
ShowCursor lda CUR.bVisible
|
|
||||||
bmi .9
|
|
||||||
|
|
||||||
jsr ShowCursor.I
|
|
||||||
dec CUR.bVisible
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
HideCursor.I lda #S.CB.OP.RESTORE
|
|
||||||
bra DrawCursor.I
|
|
||||||
*--------------------------------------
|
|
||||||
ShowCursor.I ldx CUR.T
|
|
||||||
lda CUR.Pos+S.POINT.X
|
|
||||||
sec
|
|
||||||
sbc CUR.HotPoints,x
|
|
||||||
sta CB.PTR+S.CB.X1
|
|
||||||
|
|
||||||
lda CUR.Pos+S.POINT.X+1
|
|
||||||
sbc #0
|
|
||||||
sta CB.PTR+S.CB.X1+1
|
|
||||||
|
|
||||||
lda CUR.Pos+S.POINT.Y
|
|
||||||
sec
|
|
||||||
sbc CUR.HotPoints+1,x
|
|
||||||
sta CB.PTR+S.CB.Y1
|
|
||||||
|
|
||||||
lda CUR.Pos+S.POINT.Y+1
|
|
||||||
sbc #0
|
|
||||||
sta CB.PTR+S.CB.Y1+1
|
|
||||||
|
|
||||||
lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
|
|
||||||
|
|
||||||
DrawCursor.I sta CB.PTR+S.CB.OP
|
|
||||||
|
|
||||||
>LDYA L.WND.Screen
|
|
||||||
jsr OBJ.GetInCache
|
|
||||||
|
|
||||||
>LDYA L.CB.PTR
|
|
||||||
jsr CLIP.YA
|
|
||||||
bcs .8
|
|
||||||
|
|
||||||
jsr GFXWrite.CB
|
|
||||||
.8 clc
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.cur
|
SAVE usr/src/lib/libgui.s.cur
|
||||||
|
|
|
@ -3,7 +3,7 @@ NEW
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* drawline(short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int X2)
|
* drawline(short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int X2)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DrawLine jsr DRAW.PullY2X2Y1X1
|
DRAW.Line jsr DRAW.PullY2X2Y1X1
|
||||||
|
|
||||||
>PULLB CB.Cache+S.CB.COLOR
|
>PULLB CB.Cache+S.CB.COLOR
|
||||||
>PULLB CB.Cache+S.CB.OP
|
>PULLB CB.Cache+S.CB.OP
|
||||||
|
@ -53,7 +53,7 @@ DrawLine jsr DRAW.PullY2X2Y1X1
|
||||||
jsr CLIP.CB.Cache
|
jsr CLIP.CB.Cache
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jmp GFXWrite.CB
|
jmp CB.GFXWrite
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.3 >NOT16 DY set DY=-DY
|
.3 >NOT16 DY set DY=-DY
|
||||||
|
@ -65,21 +65,21 @@ DrawLine jsr DRAW.PullY2X2Y1X1
|
||||||
|
|
||||||
lda #S.CB.CMD.SETPIXEL
|
lda #S.CB.CMD.SETPIXEL
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
jsr GFXWrite.CB
|
jsr CB.GFXWrite
|
||||||
lda DX
|
lda DX
|
||||||
sec
|
sec
|
||||||
sbc DY
|
sbc DY
|
||||||
tax
|
tax
|
||||||
lda DX+1
|
lda DX+1
|
||||||
sbc DY+1
|
sbc DY+1
|
||||||
bmi DrawLine.IncY DY is greater than DX, we will increase on Y axis
|
bmi DRAW.Line.IncY DY is greater than DX, we will increase on Y axis
|
||||||
|
|
||||||
txa
|
txa
|
||||||
beq DrawLine.IncXY DX=DY, go inc X & Y
|
beq DRAW.Line.IncXY DX=DY, go inc X & Y
|
||||||
|
|
||||||
jmp DrawLine.IncX DY is lower than DX, we will increase on X axis
|
jmp DRAW.Line.IncX DY is lower than DX, we will increase on X axis
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DrawLine.IncXY lda DX DX=DY
|
DRAW.Line.IncXY lda DX DX=DY
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta Counter
|
sta Counter
|
||||||
lda DX+1
|
lda DX+1
|
||||||
|
@ -100,12 +100,12 @@ DrawLine.IncXY lda DX DX=DY
|
||||||
clc
|
clc
|
||||||
adc IY
|
adc IY
|
||||||
sta CB.Cache+S.CB.Y1
|
sta CB.Cache+S.CB.Y1
|
||||||
jsr GFXWrite.CB
|
jsr CB.GFXWrite
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DrawLine.IncY lda DY
|
DRAW.Line.IncY lda DY
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta Counter
|
sta Counter
|
||||||
lda DY+1
|
lda DY+1
|
||||||
|
@ -176,12 +176,12 @@ DrawLine.IncY lda DY
|
||||||
clc
|
clc
|
||||||
adc IY
|
adc IY
|
||||||
sta CB.Cache+S.CB.Y1
|
sta CB.Cache+S.CB.Y1
|
||||||
jsr GFXWrite.CB
|
jsr CB.GFXWrite
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DrawLine.IncX lda DX
|
DRAW.Line.IncX lda DX
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta Counter
|
sta Counter
|
||||||
lda DX+1
|
lda DX+1
|
||||||
|
@ -253,7 +253,7 @@ DrawLine.IncX lda DX
|
||||||
|
|
||||||
inc CB.Cache+S.CB.X1+1
|
inc CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
.6 jsr GFXWrite.CB
|
.6 jsr CB.GFXWrite
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
|
@ -273,7 +273,7 @@ FillRectangle jsr DRAW.PullY2X2Y1X1
|
||||||
jsr CLIP.CB.Cache
|
jsr CLIP.CB.Cache
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jmp GFXWrite.CB
|
jmp CB.GFXWrite
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -294,7 +294,7 @@ DrawBitMap lda #S.CB.CMD.BITBLT
|
||||||
jsr CLIP.CB.Cache
|
jsr CLIP.CB.Cache
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jmp GFXWrite.CB
|
jmp CB.GFXWrite
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -333,7 +333,7 @@ DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
|
||||||
lda ZPBMPtr+1
|
lda ZPBMPtr+1
|
||||||
sta CB.Cache+S.CB.SrcPtr+1
|
sta CB.Cache+S.CB.SrcPtr+1
|
||||||
|
|
||||||
jmp PutCBCache2CBBuf
|
jmp CB.Cache2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* drawtext (short int hWND, short int OP, short int hFONT, int X1, int Y1, char *str)
|
* drawtext (short int hWND, short int OP, short int hFONT, int X1, int Y1, char *str)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -352,7 +352,7 @@ DrawText lda #S.CB.CMD.DRAWTEXT2
|
||||||
jsr CLIP.CB.Cache
|
jsr CLIP.CB.Cache
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jmp GFXWrite.CB
|
jmp CB.GFXWrite
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -384,7 +384,7 @@ DRAW.YATextAtDXDY
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jmp PutCBCache2CBBuf
|
jmp CB.Cache2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRAW.PullY2X2Y1X1
|
DRAW.PullY2X2Y1X1
|
||||||
ldx #7
|
ldx #7
|
||||||
|
@ -485,13 +485,16 @@ DRAW.AddP1YtoCBX
|
||||||
sta CB.Cache+1,x
|
sta CB.Cache+1,x
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DrawCBBufToYA pha
|
DrawCBBufToYA ldx hCBBuf
|
||||||
|
beq .80
|
||||||
|
|
||||||
|
pha
|
||||||
phy
|
phy
|
||||||
|
|
||||||
bit CUR.bVisible
|
bit PTR.bVisible
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jsr HideCursor.I
|
jsr PTR.Hide.I
|
||||||
|
|
||||||
.1 lda #0
|
.1 lda #0
|
||||||
sta (ZPCBBufPtr)
|
sta (ZPCBBufPtr)
|
||||||
|
@ -512,13 +515,13 @@ DrawCBBufToYA pha
|
||||||
|
|
||||||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
jsr GFXWrite.CB
|
jsr CB.GFXWrite
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr CLIP.CB.Cache
|
jsr CLIP.CB.Cache
|
||||||
bcs .3
|
bcs .3
|
||||||
|
|
||||||
jsr GFXWrite.CB
|
jsr CB.GFXWrite
|
||||||
|
|
||||||
.3 lda CB.Cache+S.CB.SrcPtr
|
.3 lda CB.Cache+S.CB.SrcPtr
|
||||||
>SYSCALL2 FreeStkObj
|
>SYSCALL2 FreeStkObj
|
||||||
|
@ -527,7 +530,7 @@ DrawCBBufToYA pha
|
||||||
.6 jsr CLIP.CB.Cache
|
.6 jsr CLIP.CB.Cache
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
jsr GFXWrite.CB
|
jsr CB.GFXWrite
|
||||||
|
|
||||||
.7 lda (ZPCBPtr) Get Cmd
|
.7 lda (ZPCBPtr) Get Cmd
|
||||||
lsr
|
lsr
|
||||||
|
@ -545,13 +548,12 @@ DrawCBBufToYA pha
|
||||||
stz hCBBuf
|
stz hCBBuf
|
||||||
>SYSCALL2 FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
clc
|
bit PTR.bVisible
|
||||||
|
bpl .80
|
||||||
|
|
||||||
bit CUR.bVisible
|
jmp PTR.Show.I
|
||||||
bpl .9
|
|
||||||
|
|
||||||
jmp ShowCursor.I
|
|
||||||
|
|
||||||
|
.80 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -38,7 +38,7 @@ FON.GetTextSize >STYA CB.CACHE+S.CB.TxtPtr
|
||||||
|
|
||||||
lda #S.CB.CMD.GETTEXTSIZE+S.CB.CMD.OSD
|
lda #S.CB.CMD.GETTEXTSIZE+S.CB.CMD.OSD
|
||||||
sta CB.CACHE+S.CB.CMD
|
sta CB.CACHE+S.CB.CMD
|
||||||
jmp GFXWrite.CB
|
jmp CB.GFXWrite
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.fon
|
SAVE usr/src/lib/libgui.s.fon
|
||||||
|
|
|
@ -1,84 +1,91 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* MBAR.New(*S.MBITEM mbitems)
|
* Y,A = MBAR definition
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MBAR.New >LDYAI S.MBAR
|
MBAR.New >STYA ZPMENUPtr MBAR definition
|
||||||
>SYSCALL2 getmem
|
>STYA ZPPtr1 for pass #2
|
||||||
bcs .99
|
|
||||||
|
|
||||||
|
lda #S.MBAR.Items+1 Ending\0
|
||||||
|
sta Counter
|
||||||
|
stz Counter+1
|
||||||
|
|
||||||
|
.10 lda (ZPMENUPtr)
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
ldy #$ff
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
tya
|
||||||
|
|
||||||
|
sec text Ending\0
|
||||||
|
|
||||||
|
inc
|
||||||
|
inc skip pMENU
|
||||||
|
adc ZPMENUPtr
|
||||||
|
sta ZPMENUPtr
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
inc ZPMENUPtr+1
|
||||||
|
|
||||||
|
.2 tya
|
||||||
|
sec
|
||||||
|
adc #S.MBITEM
|
||||||
|
|
||||||
|
adc Counter
|
||||||
|
sta Counter
|
||||||
|
bcc .10
|
||||||
|
|
||||||
|
inc Counter+1
|
||||||
|
bra .10
|
||||||
|
|
||||||
|
.3 >LDYA Counter
|
||||||
|
>SYSCALL2 GetMem
|
||||||
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPObjPtr
|
>STYA ZPObjPtr
|
||||||
|
|
||||||
|
phx hMBAR
|
||||||
|
|
||||||
|
ldy #S.OBJ-1
|
||||||
lda #S.OBJ.T.MBAR
|
lda #S.OBJ.T.MBAR
|
||||||
sta (ZPObjPtr) S.OBJ.T
|
jsr OBJ.Init
|
||||||
|
|
||||||
lda #0
|
|
||||||
|
|
||||||
ldy #S.MBAR-1
|
|
||||||
|
|
||||||
.1 sta (ZPObjPtr),y
|
|
||||||
dey
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
>PULLA
|
|
||||||
ldy #S.MBAR.MBITEMS
|
|
||||||
sta (ZPObjPtr),y
|
|
||||||
>PULLA
|
|
||||||
iny
|
|
||||||
sta (ZPObjPtr),y
|
|
||||||
|
|
||||||
|
|
||||||
|
lda #S.MBAR.Items
|
||||||
clc
|
clc
|
||||||
.99 rts
|
adc ZPObjPtr
|
||||||
*--------------------------------------
|
sta ZPObjPtr
|
||||||
MBAR.Init >STYA ZPMENUPtr
|
bcc .4
|
||||||
>STYA ZPPtr1
|
|
||||||
|
|
||||||
ldy #S.MBITEM.S
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
bmi .80
|
|
||||||
|
|
||||||
stz DX
|
inc ZPObjPtr+1
|
||||||
|
|
||||||
|
.4 stz DX
|
||||||
stz DX+1
|
stz DX+1
|
||||||
|
|
||||||
.1 lda (ZPPtr1)
|
.5 lda (ZPPtr1)
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda #S.MBITEM.TEXT
|
|
||||||
clc
|
|
||||||
adc ZPPtr1
|
|
||||||
tay
|
|
||||||
lda ZPPtr1+1
|
|
||||||
adc #0
|
|
||||||
|
|
||||||
ldx hSYSFON
|
|
||||||
jsr FON.GetTextSize
|
|
||||||
|
|
||||||
ldy #S.MBITEM.X1
|
|
||||||
|
|
||||||
lda DX
|
>LDYA DX
|
||||||
sta (ZPPtr1),y
|
jsr OBJ.AddWord S.MBITEM.X1
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda DX+1
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
iny #S.MBITEM.XT
|
|
||||||
|
|
||||||
lda DX
|
lda DX
|
||||||
clc
|
clc
|
||||||
adc PREFS.MBARXMARGIN
|
adc PREFS.MBARXMARGIN
|
||||||
sta DX
|
sta DX
|
||||||
sta (ZPPtr1),y
|
bcc .6
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda DX+1
|
|
||||||
adc #0
|
|
||||||
sta DX+1
|
sta DX+1
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
.6 >LDYA DX
|
||||||
|
jsr OBJ.AddWord S.MBITEM.XT
|
||||||
|
|
||||||
|
>LDYA ZPPtr1 pTEXT
|
||||||
|
ldx hSYSFON
|
||||||
|
jsr FON.GetTextSize
|
||||||
|
|
||||||
lda DX
|
lda DX
|
||||||
clc
|
clc
|
||||||
adc CB.CACHE+S.CB.SrcW
|
adc CB.CACHE+S.CB.SrcW
|
||||||
|
@ -87,36 +94,153 @@ MBAR.Init >STYA ZPMENUPtr
|
||||||
lda DX+1
|
lda DX+1
|
||||||
adc CB.CACHE+S.CB.SrcW+1
|
adc CB.CACHE+S.CB.SrcW+1
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
iny #S.MBITEM.X2
|
|
||||||
|
|
||||||
lda DX
|
|
||||||
clc
|
|
||||||
adc PREFS.MBARXMARGIN
|
|
||||||
sta DX
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda DX+1
|
>LDYA DX
|
||||||
adc #0
|
jsr OBJ.AddWord S.MBITEM.X2
|
||||||
sta DX+1
|
|
||||||
sta (ZPPtr1),y
|
>LDYA ZPPtr1 pTEXT
|
||||||
|
jsr OBJ.AddWord
|
||||||
|
|
||||||
|
jsr SkipStrZPtr1 skip "TEXT\0"
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
jsr OBJ.AddByte pMENU+1
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
|
jsr OBJ.AddByte pMENU
|
||||||
|
|
||||||
|
lda ZPPtr1
|
||||||
clc
|
clc
|
||||||
adc ZPPtr1
|
adc #2
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
bcc .1
|
bcc .5
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
bra .1
|
bra .5 stkip pMENU
|
||||||
|
|
||||||
.8 lda #$80
|
.8 pla hMBAR
|
||||||
|
clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
*--------------------------------------
|
||||||
|
*--------------------------------------
|
||||||
|
* ZPWNDPtr = parent WND
|
||||||
|
*--------------------------------------
|
||||||
|
MBAR.Paint lda #S.CB.CMD.FILLRECT
|
||||||
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
|
lda #S.CB.OP.SET
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
sta CB.Cache+S.CB.M
|
||||||
|
|
||||||
|
lda PREFS.MBARCOLOR
|
||||||
|
sta CB.Cache+S.CB.COLOR
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.X1
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.X1+1
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.X2
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
|
ldy #S.WND.MBarY1
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.Y1
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.Y1+1
|
||||||
|
|
||||||
|
iny #S.WND.MBarY2
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.Y2
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta CB.Cache+S.CB.Y2+1
|
||||||
|
|
||||||
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
|
ldy #S.WND.pMBAR
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta ZPMENUPtr
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
sta ZPMENUPtr+1
|
||||||
|
|
||||||
|
.1 lda (ZPMENUPtr)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr CB.ClearCache
|
||||||
|
|
||||||
|
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 hSYSFON
|
||||||
|
sta CB.CACHE+S.CB.hFont
|
||||||
|
|
||||||
|
ldy #S.MBITEM.XT
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
clc
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
adc (ZPWNDPtr),y
|
||||||
|
sta CB.CACHE+S.CB.X1
|
||||||
|
|
||||||
|
ldy #S.MBITEM.XT+1
|
||||||
|
lda (ZPMENUPtr),y
|
||||||
|
ldy #S.OBJ.X1+1
|
||||||
|
adc (ZPWNDPtr),y
|
||||||
|
sta CB.CACHE+S.CB.X1+1
|
||||||
|
|
||||||
|
ldy #S.WND.MBarY1
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
clc
|
||||||
|
adc #1
|
||||||
|
sta CB.CACHE+S.CB.Y1
|
||||||
|
iny
|
||||||
|
lda (ZPWNDPtr),y
|
||||||
|
adc #0
|
||||||
|
sta CB.CACHE+S.CB.Y1+1
|
||||||
|
|
||||||
|
lda #S.MBITEM.pTEXT
|
||||||
|
clc
|
||||||
|
adc ZPMENUPtr
|
||||||
|
sta CB.CACHE+S.CB.TxtPtr
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
adc ZPMENUPtr+1
|
||||||
|
sta CB.CACHE+S.CB.TxtPtr+1
|
||||||
|
|
||||||
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
|
lda (ZPMENUPtr)
|
||||||
|
clc
|
||||||
|
adc ZPMENUPtr
|
||||||
|
sta ZPMENUPtr
|
||||||
|
bcc .1
|
||||||
|
inc ZPMENUPtr+1
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
|
||||||
ldy #S.MBITEM.S
|
|
||||||
sta (ZPMENUPtr),y
|
|
||||||
|
|
||||||
.80 clc
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* ZPWNDPtr parent WND
|
* ZPWNDPtr parent WND
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -22,19 +22,19 @@ MOU.Init >PUSHW L.DEVNAME.MOUSE
|
||||||
MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||||
sta MouseClamp+3
|
sta MouseClamp+3
|
||||||
lsr
|
lsr
|
||||||
sta CUR.Pos+S.POINT.X+1
|
sta PTR.Pos+S.POINT.X+1
|
||||||
lda DCB.GFX+S.DCB.GFX.W
|
lda DCB.GFX+S.DCB.GFX.W
|
||||||
sta MouseClamp+2
|
sta MouseClamp+2
|
||||||
ror
|
ror
|
||||||
sta CUR.Pos+S.POINT.X
|
sta PTR.Pos+S.POINT.X
|
||||||
lda DCB.GFX+S.DCB.GFX.H+1
|
lda DCB.GFX+S.DCB.GFX.H+1
|
||||||
sta MouseClamp+7
|
sta MouseClamp+7
|
||||||
lsr
|
lsr
|
||||||
sta CUR.Pos+S.POINT.Y+1
|
sta PTR.Pos+S.POINT.Y+1
|
||||||
lda DCB.GFX+S.DCB.GFX.H
|
lda DCB.GFX+S.DCB.GFX.H
|
||||||
sta MouseClamp+6
|
sta MouseClamp+6
|
||||||
ror
|
ror
|
||||||
sta CUR.Pos+S.POINT.Y
|
sta PTR.Pos+S.POINT.Y
|
||||||
|
|
||||||
>PUSHB hDevMouse
|
>PUSHB hDevMouse
|
||||||
>PUSHBI IOCTL.CONTROL
|
>PUSHBI IOCTL.CONTROL
|
||||||
|
@ -42,7 +42,7 @@ MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||||
>SYSCALL2 IOCTL
|
>SYSCALL2 IOCTL
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.CUR.SaveBuf
|
>LDYA L.PTR.SaveBuf
|
||||||
>STYA CB.PTR+S.CB.DstPtr
|
>STYA CB.PTR+S.CB.DstPtr
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
|
@ -88,11 +88,13 @@ MOU.ReadMouse >PULLW ZPPtr1 pS.XY
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MOU.CheckOverMenu
|
MOU.CheckOverMenu
|
||||||
.1 ldx MENU.Stack.Top
|
.1 ldx MENU.Stack.Cnt
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
lda MENU.Stack-1,x
|
lda MENU.Stack-1,x
|
||||||
|
|
||||||
|
.2 phx
|
||||||
|
|
||||||
>SYSCALL2 GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
>STYA ZPMENUPtr
|
>STYA ZPMENUPtr
|
||||||
pha
|
pha
|
||||||
|
@ -103,28 +105,32 @@ MOU.CheckOverMenu
|
||||||
pla
|
pla
|
||||||
adc /S.OBJ.X1
|
adc /S.OBJ.X1
|
||||||
jsr MOU.InRectYA
|
jsr MOU.InRectYA
|
||||||
bcs .2
|
bcc .3
|
||||||
|
|
||||||
jsr MENU.Enter
|
plx
|
||||||
clc
|
|
||||||
|
dex
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
.9 sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 lda ZPMENUPtr
|
.3 plx
|
||||||
clc
|
cpx MENU.Stack.Cnt
|
||||||
adc #S.MENU.pX1
|
beq .7
|
||||||
tay
|
|
||||||
lda ZPMENUPtr+1
|
|
||||||
adc /S.MENU.pX1
|
|
||||||
|
|
||||||
jsr MOU.InRectYA
|
* TODO:destroy from TOP to current, then enter current
|
||||||
bcc .8
|
|
||||||
|
|
||||||
|
inx
|
||||||
|
phx
|
||||||
|
|
||||||
jsr MENU.Destroy
|
jsr MENU.Destroy
|
||||||
|
bra .3
|
||||||
|
|
||||||
bra .1
|
.7 jmp MENU.Enter
|
||||||
|
|
||||||
.9 sec
|
.8 clc
|
||||||
.8 rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MOU.CheckOverSysBut
|
MOU.CheckOverSysBut
|
||||||
>LDYA L.RECT.SysBut
|
>LDYA L.RECT.SysBut
|
||||||
|
@ -208,14 +214,14 @@ MOU.CheckOverWND
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.5 lda #CUR.T.ARROW
|
.5 lda #PTR.T.ARROW
|
||||||
jsr SetCursor
|
jsr PTR.Set
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
.6 lda #CUR.T.WAIT
|
.6 lda #PTR.T.WAIT
|
||||||
jsr SetCursor
|
jsr PTR.Set
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
@ -225,8 +231,8 @@ MOU.CheckOverWND
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #CUR.T.ARROW
|
lda #PTR.T.ARROW
|
||||||
jsr SetCursor
|
jsr PTR.Set
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
@ -247,7 +253,7 @@ MOU.ChkWNDBorders
|
||||||
eor MSG+S.MSG.X1+1
|
eor MSG+S.MSG.X1+1
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #CUR.T.RESIZEX
|
lda #PTR.T.RESIZEX
|
||||||
sta IY
|
sta IY
|
||||||
|
|
||||||
.1 ldy #S.OBJ.Y1
|
.1 ldy #S.OBJ.Y1
|
||||||
|
@ -266,10 +272,10 @@ MOU.ChkWNDBorders
|
||||||
lda IY
|
lda IY
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
lda #CUR.T.RESIZEXY1
|
lda #PTR.T.RESIZEXY1
|
||||||
jmp SetCursor
|
jmp PTR.Set
|
||||||
|
|
||||||
.2 lda #CUR.T.RESIZEY
|
.2 lda #PTR.T.RESIZEY
|
||||||
sta IY
|
sta IY
|
||||||
|
|
||||||
.3 ldy #S.OBJ.X2
|
.3 ldy #S.OBJ.X2
|
||||||
|
@ -288,10 +294,10 @@ MOU.ChkWNDBorders
|
||||||
lda IY
|
lda IY
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
lda #CUR.T.RESIZEXY2
|
lda #PTR.T.RESIZEXY2
|
||||||
jmp SetCursor
|
jmp PTR.Set
|
||||||
|
|
||||||
.4 lda #CUR.T.RESIZEX
|
.4 lda #PTR.T.RESIZEX
|
||||||
sta IY
|
sta IY
|
||||||
|
|
||||||
.5 ldy #S.OBJ.Y2
|
.5 ldy #S.OBJ.Y2
|
||||||
|
@ -307,8 +313,8 @@ MOU.ChkWNDBorders
|
||||||
eor MSG+S.MSG.Y2+1
|
eor MSG+S.MSG.Y2+1
|
||||||
bne .7
|
bne .7
|
||||||
|
|
||||||
lda #CUR.T.RESIZEXY1
|
lda #PTR.T.RESIZEXY1
|
||||||
.6 jmp SetCursor
|
.6 jmp PTR.Set
|
||||||
|
|
||||||
.7 lda IY
|
.7 lda IY
|
||||||
bne .6
|
bne .6
|
||||||
|
|
|
@ -35,7 +35,7 @@ MSG.Get stz MSG+S.MSG.T
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
>PUSHW L.XY
|
>PUSHW L.XY
|
||||||
jsr SetCursorPos
|
jsr PTR.SetPos
|
||||||
|
|
||||||
lda XY+S.XY.S
|
lda XY+S.XY.S
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,78 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OBJ.New
|
* A = Object Class
|
||||||
|
*--------------------------------------
|
||||||
|
OBJ.New pha
|
||||||
|
tax
|
||||||
|
ldy OBJ.SizeOf,x
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
>SYSCALL GetMem
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>STYA ZPObjPtr
|
||||||
|
|
||||||
|
pla
|
||||||
|
sta (ZPObjPtr)
|
||||||
|
|
||||||
|
phx hObj
|
||||||
|
|
||||||
|
tax
|
||||||
|
ldy OBJ.SizeOf,x
|
||||||
|
dey
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
.1 sta (ZPObjPtr),y
|
||||||
|
dey
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
>LDYA ZPObjPtr
|
||||||
|
* clc
|
||||||
|
|
||||||
|
.9 plx
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
OBJ.Init sta (ZPObjPtr)
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
.1 sta (ZPObjPtr),y
|
||||||
|
dey
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
OBJ.AddWord pha
|
||||||
|
|
||||||
|
tya
|
||||||
|
jsr OBJ.AddByte
|
||||||
|
pla
|
||||||
|
|
||||||
|
OBJ.AddByte sta (ZPObjPtr)
|
||||||
|
inc ZPObjPtr
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
inc ZPObjPtr+1
|
||||||
|
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
OBJ.PullY1X1.BAD
|
||||||
|
|
||||||
|
>PULLA
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
>PULLA
|
||||||
|
iny
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
|
||||||
|
>PULLA
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
>PULLA
|
||||||
|
iny
|
||||||
|
sta (ZPMENUPtr),y
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* hOBJ, Prop8, Value16
|
* hOBJ, Prop8, Value16
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -52,6 +123,69 @@ OBJ.GetProp >PULLA
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
OBJ.SetX2Y2 >STYA ZPPtr1
|
||||||
|
|
||||||
|
ldy #S.OBJ.W
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
clc
|
||||||
|
sbc #0
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sbc #0
|
||||||
|
tax
|
||||||
|
|
||||||
|
pla
|
||||||
|
clc
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
adc (ZPPtr1),y
|
||||||
|
pha
|
||||||
|
txa
|
||||||
|
iny
|
||||||
|
adc (ZPPtr1),y
|
||||||
|
ldy #S.OBJ.X2+1
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
dey
|
||||||
|
pla
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
ldy #S.OBJ.H
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
clc
|
||||||
|
sbc #0
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sbc #0
|
||||||
|
tax
|
||||||
|
|
||||||
|
pla
|
||||||
|
clc
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
adc (ZPPtr1),y
|
||||||
|
pha
|
||||||
|
txa
|
||||||
|
iny
|
||||||
|
adc (ZPPtr1),y
|
||||||
|
ldy #S.OBJ.Y2+1
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
dey
|
||||||
|
pla
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
OBJ.GetInCache >STYA .1+1
|
||||||
|
|
||||||
|
ldx #S.OBJ-1
|
||||||
|
|
||||||
|
.1 lda $ffff,x SELF MODIFIED
|
||||||
|
sta OBJ.Cache,x
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.obj
|
SAVE usr/src/lib/libgui.s.obj
|
||||||
LOAD usr/src/lib/libgui.s
|
LOAD usr/src/lib/libgui.s
|
||||||
|
|
|
@ -0,0 +1,161 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Update lda PTR.T
|
||||||
|
cmp #PTR.T.WAIT
|
||||||
|
bcc PTR.Set.RTS
|
||||||
|
|
||||||
|
inc
|
||||||
|
inc
|
||||||
|
cmp #PTR.T.WAIT+12
|
||||||
|
bne PTR.Set
|
||||||
|
|
||||||
|
lda #PTR.T.WAIT
|
||||||
|
*--------------------------------------
|
||||||
|
* Set X2,Y2,SrcPtr
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Set sta PTR.T
|
||||||
|
|
||||||
|
lda PTR.bVisible
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
jsr PTR.Hide.I
|
||||||
|
|
||||||
|
.1 ldx PTR.T
|
||||||
|
lda L.Cursors,x
|
||||||
|
sta CB.PTR+S.CB.SrcPtr
|
||||||
|
sta ZPPtr1
|
||||||
|
lda L.Cursors+1,x
|
||||||
|
sta CB.PTR+S.CB.SrcPtr+1
|
||||||
|
sta ZPPtr1+1
|
||||||
|
|
||||||
|
ldy #S.BM.W
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta CB.PTR+S.CB.SrcW
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc CB.PTR+S.CB.X1
|
||||||
|
pha
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta CB.PTR+S.CB.SrcW+1
|
||||||
|
adc CB.PTR+S.CB.X1+1
|
||||||
|
tax
|
||||||
|
pla
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
dex
|
||||||
|
|
||||||
|
.2 dec
|
||||||
|
sta CB.PTR+S.CB.X2
|
||||||
|
stx CB.PTR+S.CB.X2+1
|
||||||
|
|
||||||
|
iny S.BM.H
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta CB.PTR+S.CB.SrcH
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc CB.PTR+S.CB.Y1
|
||||||
|
pha
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta CB.PTR+S.CB.SrcH+1
|
||||||
|
adc CB.PTR+S.CB.Y1+1
|
||||||
|
tax
|
||||||
|
pla
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
dex
|
||||||
|
|
||||||
|
.3 dec
|
||||||
|
sta CB.PTR+S.CB.Y2
|
||||||
|
stx CB.PTR+S.CB.Y2+1
|
||||||
|
|
||||||
|
lda PTR.bVisible
|
||||||
|
bmi PTR.Show.I
|
||||||
|
|
||||||
|
PTR.Set.RTS rts
|
||||||
|
*--------------------------------------
|
||||||
|
* Set DestX,DestY
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.SetPos >PULLW ZPPtr1
|
||||||
|
lda PTR.bVisible
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
jsr PTR.Hide.I
|
||||||
|
|
||||||
|
.1 ldy #S.POINT-1
|
||||||
|
|
||||||
|
.2 lda (ZPPtr1),y
|
||||||
|
sta PTR.Pos,y
|
||||||
|
dey
|
||||||
|
bpl .2
|
||||||
|
|
||||||
|
lda PTR.bVisible
|
||||||
|
bmi PTR.Show.I
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Hide lda PTR.bVisible
|
||||||
|
bpl .9
|
||||||
|
|
||||||
|
jsr PTR.Hide.I
|
||||||
|
stz PTR.bVisible
|
||||||
|
|
||||||
|
.9 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Show lda PTR.bVisible
|
||||||
|
bmi .9
|
||||||
|
|
||||||
|
jsr PTR.Show.I
|
||||||
|
dec PTR.bVisible
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Hide.I lda #S.CB.OP.RESTORE
|
||||||
|
bra PTR.Draw.I
|
||||||
|
*--------------------------------------
|
||||||
|
PTR.Show.I ldx PTR.T
|
||||||
|
lda PTR.Pos+S.POINT.X
|
||||||
|
sec
|
||||||
|
sbc PTR.HotPoints,x
|
||||||
|
sta CB.PTR+S.CB.X1
|
||||||
|
|
||||||
|
lda PTR.Pos+S.POINT.X+1
|
||||||
|
sbc #0
|
||||||
|
sta CB.PTR+S.CB.X1+1
|
||||||
|
|
||||||
|
lda PTR.Pos+S.POINT.Y
|
||||||
|
sec
|
||||||
|
sbc PTR.HotPoints+1,x
|
||||||
|
sta CB.PTR+S.CB.Y1
|
||||||
|
|
||||||
|
lda PTR.Pos+S.POINT.Y+1
|
||||||
|
sbc #0
|
||||||
|
sta CB.PTR+S.CB.Y1+1
|
||||||
|
|
||||||
|
lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
|
||||||
|
|
||||||
|
PTR.Draw.I sta CB.PTR+S.CB.OP
|
||||||
|
|
||||||
|
>LDYA L.WND.Screen
|
||||||
|
jsr OBJ.GetInCache
|
||||||
|
|
||||||
|
>LDYA L.CB.PTR
|
||||||
|
jsr CLIP.YA
|
||||||
|
bcs .8
|
||||||
|
|
||||||
|
jsr CB.GFXWrite
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE usr/src/lib/libgui.s.ptr
|
||||||
|
LOAD usr/src/lib/libgui.s
|
||||||
|
ASM
|
|
@ -4,39 +4,24 @@ NEW
|
||||||
SYSBUT.Enter sec
|
SYSBUT.Enter sec
|
||||||
ror WND.SYSBAR.bSysBut
|
ror WND.SYSBAR.bSysBut
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr CB.GetBuf
|
||||||
bcs .99
|
bcs .9
|
||||||
|
|
||||||
jsr SYSBAR.ShowSysBut
|
jsr SYSBAR.ShowSysBut
|
||||||
|
|
||||||
>LDYA L.WND.SysBar
|
>LDYA L.WND.SysBar
|
||||||
jsr DrawCBBufToYA
|
jsr DrawCBBufToYA
|
||||||
|
|
||||||
|
>PUSHW L.MENU.Sys
|
||||||
>PUSHW WND.SysBar+S.OBJ.X1
|
>PUSHW WND.SysBar+S.OBJ.X1
|
||||||
>PUSHW WND.SysBar+S.OBJ.Y1
|
>PUSHW WND.SysBar+S.OBJ.Y1
|
||||||
>PUSHW L.RECT.SysBut Parent RECT
|
|
||||||
>PUSHW L.MENU.Sys
|
|
||||||
jsr MENU.New
|
jsr MENU.New
|
||||||
.99 bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta hSysMenu
|
sta hSysMenu
|
||||||
|
|
||||||
>PUSHA hSysMenu
|
jmp MENU.Draw
|
||||||
>PUSHBI 4
|
|
||||||
>PUSHBI S.MITEM.pMENU
|
|
||||||
>PUSHW L.MENU.Sys.Programs
|
|
||||||
jsr MENU.SetMItemProp
|
|
||||||
|
|
||||||
>PUSHB hSysMenu
|
|
||||||
>PUSHBI 6
|
|
||||||
>PUSHBI S.MITEM.pMENU
|
|
||||||
>PUSHW L.MENU.Sys.Settings
|
|
||||||
jsr MENU.SetMItemProp
|
|
||||||
|
|
||||||
lda hSysMenu
|
|
||||||
jsr MENU.Show
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
||||||
|
@ -44,7 +29,7 @@ SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
||||||
|
|
||||||
stz WND.SYSBAR.bSysBut
|
stz WND.SYSBAR.bSysBut
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr CB.GetBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr SYSBAR.ShowSysBut
|
jsr SYSBAR.ShowSysBut
|
||||||
|
@ -56,7 +41,7 @@ SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBAR.Show jsr GetCBBuf
|
SYSBAR.Show jsr CB.GetBuf
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr SYSBAR.ShowSysBut
|
jsr SYSBAR.ShowSysBut
|
||||||
|
@ -96,7 +81,7 @@ SYSBAR.ShowSysBut
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
lda RECT.SysBut+S.RECT.X1
|
lda RECT.SysBut+S.RECT.X1
|
||||||
clc
|
clc
|
||||||
|
@ -157,7 +142,7 @@ SYSBAR.ShowSysWNDs
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jmp PutCBCache2CBBuf
|
jmp CB.Cache2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYSBAR.ShowSysClk
|
SYSBAR.ShowSysClk
|
||||||
lda #S.CB.CMD.FILLRECT
|
lda #S.CB.CMD.FILLRECT
|
||||||
|
@ -179,7 +164,7 @@ SYSBAR.ShowSysClk
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jmp PutCBCache2CBBuf
|
jmp CB.Cache2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/lib/libgui.s.sysbar
|
SAVE usr/src/lib/libgui.s.sysbar
|
||||||
|
|
|
@ -22,7 +22,7 @@ WND.Init >PUSHW L.DEVNAME.GFX
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Setup
|
WND.Setup
|
||||||
* stz WND.Stack.Top
|
* stz WND.Stack.Top
|
||||||
* stz MENU.Stack.Top
|
* stz MENU.Stack.Cnt
|
||||||
|
|
||||||
>LDYA DCB.GFX+S.DCB.GFX.W
|
>LDYA DCB.GFX+S.DCB.GFX.W
|
||||||
>STYA WND.Screen+S.OBJ.W
|
>STYA WND.Screen+S.OBJ.W
|
||||||
|
@ -116,13 +116,7 @@ WND.Quit.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* F8, X116, Y116, W16, H16
|
* F8, X116, Y116, W16, H16
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.New >LDYAI S.WND
|
WND.New ldy WND.Stack.Top
|
||||||
>SYSCALL2 getmem
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
>STYA ZPWNDPtr
|
|
||||||
|
|
||||||
ldy WND.Stack.Top
|
|
||||||
cpy #WND.MAX
|
cpy #WND.MAX
|
||||||
bcc .10
|
bcc .10
|
||||||
|
|
||||||
|
@ -133,14 +127,10 @@ WND.New >LDYAI S.WND
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.10 lda #S.OBJ.T.WND
|
.10 lda #S.OBJ.T.WND
|
||||||
sta (ZPWNDPtr) S.OBJ.T
|
jsr OBJ.New
|
||||||
|
bcs .9
|
||||||
|
|
||||||
ldy #S.WND-1
|
>STYA ZPWNDPtr
|
||||||
lda #0
|
|
||||||
|
|
||||||
.1 sta (ZPWNDPtr),y
|
|
||||||
dey
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
ldy #S.WND.fPaint
|
ldy #S.WND.fPaint
|
||||||
lda L.WND.fPaint
|
lda L.WND.fPaint
|
||||||
|
@ -259,7 +249,7 @@ WND.Show sta WND.hWND
|
||||||
lda #S.WND.S.ACTIVE
|
lda #S.WND.S.ACTIVE
|
||||||
jsr WND.ClrStatus
|
jsr WND.ClrStatus
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr CB.GetBuf
|
||||||
bcs WND.Activate.RTS
|
bcs WND.Activate.RTS
|
||||||
|
|
||||||
jsr WND.PaintTopBar
|
jsr WND.PaintTopBar
|
||||||
|
@ -274,7 +264,7 @@ WND.Show1 lda WND.hWND
|
||||||
|
|
||||||
jsr OBJ.SetX2Y2
|
jsr OBJ.SetX2Y2
|
||||||
|
|
||||||
WND.Show2 jsr GetCBBuf
|
WND.Show2 jsr CB.GetBuf
|
||||||
bcs WND.Activate.RTS
|
bcs WND.Activate.RTS
|
||||||
|
|
||||||
lda #S.WND.S.ACTIVE
|
lda #S.WND.S.ACTIVE
|
||||||
|
@ -303,7 +293,7 @@ WND.Show2 jsr GetCBBuf
|
||||||
lda #1
|
lda #1
|
||||||
jsr WND.ShowBorders
|
jsr WND.ShowBorders
|
||||||
|
|
||||||
.1 ldy #S.WND.TITLE+1
|
.1 ldy #S.WND.pTITLE+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
|
@ -333,7 +323,7 @@ WND.Show2 jsr GetCBBuf
|
||||||
jsr WND.PaintTopBar
|
jsr WND.PaintTopBar
|
||||||
bcs .9
|
bcs .9
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.3 ldy #S.WND.MBAR+1
|
.3 ldy #S.WND.pMBAR+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
|
@ -360,9 +350,9 @@ WND.Show2 jsr GetCBBuf
|
||||||
lda #S.WND.S.HASMBAR
|
lda #S.WND.S.HASMBAR
|
||||||
jsr WND.SetStatus
|
jsr WND.SetStatus
|
||||||
|
|
||||||
jsr WND.PaintMBar
|
jsr MBAR.Paint
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.7 ldy #S.WND.STATUS+1
|
.7 ldy #S.WND.pSTATUS+1
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
|
@ -432,7 +422,7 @@ WND.Paint1 ldy #S.WND.fPaint
|
||||||
WND.fPaint >SYSCALL2 GetMemPtr
|
WND.fPaint >SYSCALL2 GetMemPtr
|
||||||
>STYA ZPWNDPtr
|
>STYA ZPWNDPtr
|
||||||
|
|
||||||
jsr GetCBBuf
|
jsr CB.GetBuf
|
||||||
bcs WND.Show.RTS
|
bcs WND.Show.RTS
|
||||||
|
|
||||||
lda #S.CB.CMD.FILLRECT
|
lda #S.CB.CMD.FILLRECT
|
||||||
|
@ -482,7 +472,7 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
||||||
sbc #0
|
sbc #0
|
||||||
sta CB.Cache+S.CB.Y2+1
|
sta CB.Cache+S.CB.Y2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
ldy #S.WND.BGBM
|
ldy #S.WND.BGBM
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
|
@ -512,7 +502,7 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
||||||
lda #S.CB.CMD.BITBLT
|
lda #S.CB.CMD.BITBLT
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
.8 >LDYA L.WND.Desktop
|
.8 >LDYA L.WND.Desktop
|
||||||
jmp DrawCBBufToYA
|
jmp DrawCBBufToYA
|
||||||
|
@ -564,7 +554,7 @@ WND.ShowBorders sta IY
|
||||||
adc #0
|
adc #0
|
||||||
sta CB.Cache+S.CB.X2+1
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
ldy #S.OBJ.Y2
|
ldy #S.OBJ.Y2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
|
@ -578,7 +568,7 @@ WND.ShowBorders sta IY
|
||||||
sta CB.Cache+S.CB.Y1+1
|
sta CB.Cache+S.CB.Y1+1
|
||||||
sta CB.Cache+S.CB.Y2+1 bottom X1-1,Y2+1,X2+1,Y2+1
|
sta CB.Cache+S.CB.Y2+1 bottom X1-1,Y2+1,X2+1,Y2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
lda #S.CB.CMD.VLINE
|
lda #S.CB.CMD.VLINE
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
|
@ -598,7 +588,7 @@ WND.ShowBorders sta IY
|
||||||
lda CB.Cache+S.CB.X1+1
|
lda CB.Cache+S.CB.X1+1
|
||||||
sta CB.Cache+S.CB.X2+1 left X1-1,Y1-1,X1-1,Y2+1
|
sta CB.Cache+S.CB.X2+1 left X1-1,Y1-1,X1-1,Y2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
ldy #S.OBJ.X2
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
|
@ -612,7 +602,7 @@ WND.ShowBorders sta IY
|
||||||
sta CB.Cache+S.CB.X1+1
|
sta CB.Cache+S.CB.X1+1
|
||||||
sta CB.Cache+S.CB.X2+1 right X2+1,Y1-1,X2+1,Y2+1
|
sta CB.Cache+S.CB.X2+1 right X2+1,Y1-1,X2+1,Y2+1
|
||||||
|
|
||||||
jmp PutCBCache2CBBuf
|
jmp CB.Cache2CBBuf
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
jsr CB.InitCacheA
|
jsr CB.InitCacheA
|
||||||
|
@ -656,7 +646,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
sta DY+1
|
sta DY+1
|
||||||
adc #0
|
adc #0
|
||||||
sta CB.Cache+S.CB.Y2+1
|
sta CB.Cache+S.CB.Y2+1
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
inc DY
|
inc DY
|
||||||
bne .12
|
bne .12
|
||||||
|
@ -737,7 +727,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintTopBarTitle
|
WND.PaintTopBarTitle
|
||||||
ldy #S.WND.TITLE
|
ldy #S.WND.pTITLE
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
pha
|
pha
|
||||||
iny
|
iny
|
||||||
|
@ -774,7 +764,7 @@ WND.PaintTopBarTitle
|
||||||
adc DX+1
|
adc DX+1
|
||||||
sta DX+1
|
sta DX+1
|
||||||
|
|
||||||
ldy #S.WND.TITLE
|
ldy #S.WND.pTITLE
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
pha
|
pha
|
||||||
iny
|
iny
|
||||||
|
@ -785,124 +775,6 @@ WND.PaintTopBarTitle
|
||||||
clc
|
clc
|
||||||
jmp DRAW.YATextAtDXDY
|
jmp DRAW.YATextAtDXDY
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.PaintMBar lda #S.CB.CMD.FILLRECT
|
|
||||||
jsr CB.InitCacheA
|
|
||||||
|
|
||||||
lda #S.CB.OP.SET
|
|
||||||
sta CB.Cache+S.CB.OP
|
|
||||||
|
|
||||||
lda #S.CB.M.MONO
|
|
||||||
sta CB.Cache+S.CB.M
|
|
||||||
|
|
||||||
lda PREFS.MBARCOLOR
|
|
||||||
sta CB.Cache+S.CB.COLOR
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.X1
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.X1+1
|
|
||||||
|
|
||||||
ldy #S.OBJ.X2
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.X2
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.X2+1
|
|
||||||
|
|
||||||
ldy #S.WND.MBarY1
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y1
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y1+1
|
|
||||||
|
|
||||||
iny #S.WND.MBarY2
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y2
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
sta CB.Cache+S.CB.Y2+1
|
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
|
||||||
|
|
||||||
ldy #S.WND.MBAR
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
ply
|
|
||||||
|
|
||||||
jsr MBAR.Init
|
|
||||||
|
|
||||||
.1 lda (ZPMENUPtr)
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
jsr CB.ClearCache
|
|
||||||
|
|
||||||
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 hSYSFON
|
|
||||||
sta CB.CACHE+S.CB.hFont
|
|
||||||
|
|
||||||
ldy #S.MBITEM.XT
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
clc
|
|
||||||
ldy #S.OBJ.X1
|
|
||||||
adc (ZPWNDPtr),y
|
|
||||||
sta CB.CACHE+S.CB.X1
|
|
||||||
|
|
||||||
ldy #S.MBITEM.XT+1
|
|
||||||
lda (ZPMENUPtr),y
|
|
||||||
ldy #S.OBJ.X1+1
|
|
||||||
adc (ZPWNDPtr),y
|
|
||||||
sta CB.CACHE+S.CB.X1+1
|
|
||||||
|
|
||||||
ldy #S.WND.MBarY1
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
clc
|
|
||||||
adc #1
|
|
||||||
sta CB.CACHE+S.CB.Y1
|
|
||||||
iny
|
|
||||||
lda (ZPWNDPtr),y
|
|
||||||
adc #0
|
|
||||||
sta CB.CACHE+S.CB.Y1+1
|
|
||||||
|
|
||||||
lda #S.MBITEM.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
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
WND.PaintSBar lda #S.CB.CMD.HLINE
|
WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
jsr CB.InitCacheA
|
jsr CB.InitCacheA
|
||||||
|
|
||||||
|
@ -942,7 +814,7 @@ WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.X2+1
|
sta CB.Cache+S.CB.X2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
lda #S.CB.CMD.FILLRECT
|
lda #S.CB.CMD.FILLRECT
|
||||||
sta CB.Cache+S.CB.CMD
|
sta CB.Cache+S.CB.CMD
|
||||||
|
@ -964,9 +836,9 @@ WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
sta CB.Cache+S.CB.Y2+1
|
sta CB.Cache+S.CB.Y2+1
|
||||||
|
|
||||||
jsr PutCBCache2CBBuf
|
jsr CB.Cache2CBBuf
|
||||||
|
|
||||||
ldy #S.WND.STATUS
|
ldy #S.WND.pSTATUS
|
||||||
lda (ZPWNDPtr),y
|
lda (ZPWNDPtr),y
|
||||||
pha
|
pha
|
||||||
iny
|
iny
|
||||||
|
@ -977,6 +849,18 @@ WND.PaintSBar lda #S.CB.CMD.HLINE
|
||||||
clc
|
clc
|
||||||
jmp DRAW.YATextAtDXDY
|
jmp DRAW.YATextAtDXDY
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
WND.SetMBar >PULLW ZPPtr1
|
||||||
|
|
||||||
|
>PULLA
|
||||||
|
>SYSCALL2 GetMemPtr
|
||||||
|
>STYA ZPWNDPtr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
WND.ClrStatus ldy #S.OBJ.S
|
WND.ClrStatus ldy #S.OBJ.S
|
||||||
eor #$ff
|
eor #$ff
|
||||||
and (ZPWNDPtr),y
|
and (ZPWNDPtr),y
|
||||||
|
|
243
LIB/LIBGUI.S.txt
243
LIB/LIBGUI.S.txt
|
@ -121,20 +121,22 @@ CS.START cld
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 .DA LIB.LOAD
|
.1 .DA LIB.LOAD
|
||||||
.DA LIB.UNLOAD
|
.DA LIB.UNLOAD
|
||||||
.DA SetCursor
|
.DA PTR.Set
|
||||||
.DA SetCursorPos
|
.DA PTR.SetPos
|
||||||
.DA HideCursor
|
.DA PTR.Hide
|
||||||
.DA ShowCursor
|
.DA PTR.Show
|
||||||
.DA UpdateCursor
|
.DA PTR.Update
|
||||||
.DA MOU.ReadMouse
|
.DA MOU.ReadMouse
|
||||||
.DA DrawLine
|
.DA DRAW.Line
|
||||||
.DA OBJ.SetProp
|
.DA OBJ.SetProp
|
||||||
.DA OBJ.GetProp
|
.DA OBJ.GetProp
|
||||||
.DA WND.New
|
.DA WND.New
|
||||||
.DA WND.Destroy
|
.DA WND.Destroy
|
||||||
.DA WND.Show
|
.DA WND.Show
|
||||||
.DA WND.Paint
|
.DA WND.Paint
|
||||||
|
.DA WND.SetMBar
|
||||||
.DA MSG.Get
|
.DA MSG.Get
|
||||||
|
.DA MBAR.New
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
L.WND.fPaint .DA WND.fPaint
|
L.WND.fPaint .DA WND.fPaint
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -161,6 +163,7 @@ L.RECT.SysClk .DA RECT.SysClk
|
||||||
L.MENU.Sys .DA MENU.Sys
|
L.MENU.Sys .DA MENU.Sys
|
||||||
L.MENU.Sys.Programs .DA MENU.Sys.Programs
|
L.MENU.Sys.Programs .DA MENU.Sys.Programs
|
||||||
L.MENU.Sys.Settings .DA MENU.Sys.Settings
|
L.MENU.Sys.Settings .DA MENU.Sys.Settings
|
||||||
|
L.TEXTBUF .DA TEXTBUF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
L.BMs .EQ *-2
|
L.BMs .EQ *-2
|
||||||
L.BM.Apple .DA BM.Apple
|
L.BM.Apple .DA BM.Apple
|
||||||
|
@ -172,21 +175,22 @@ L.BM.Right .DA BM.Right
|
||||||
L.BM.Up .DA BM.Up
|
L.BM.Up .DA BM.Up
|
||||||
L.BM.Down .DA BM.Down
|
L.BM.Down .DA BM.Down
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
L.CUR.SaveBuf .DA CUR.SaveBuf
|
L.PTR.SaveBuf .DA PTR.SaveBuf
|
||||||
L.Cursors .DA CUR.Arrow
|
L.Cursors .DA PTR.Arrow
|
||||||
.DA CUR.Move
|
.DA PTR.Move
|
||||||
.DA CUR.ResizeX
|
.DA PTR.ResizeX
|
||||||
.DA CUR.ResizeY
|
.DA PTR.ResizeY
|
||||||
.DA CUR.ResizeXY1
|
.DA PTR.ResizeXY1
|
||||||
.DA CUR.ResizeXY2
|
.DA PTR.ResizeXY2
|
||||||
.DA CUR.Cross
|
.DA PTR.Cross
|
||||||
.DA CUR.Text
|
.DA PTR.Text
|
||||||
.DA CUR.Wait1
|
.DA PTR.Wait1
|
||||||
.DA CUR.Wait2
|
.DA PTR.Wait2
|
||||||
.DA CUR.Wait3
|
.DA PTR.Wait3
|
||||||
.DA CUR.Wait4
|
.DA PTR.Wait4
|
||||||
.DA CUR.Wait5
|
.DA PTR.Wait5
|
||||||
.DA CUR.Wait6
|
.DA PTR.Wait6
|
||||||
|
*--------------------------------------
|
||||||
J.Clip .DA CLIP.Point SETPIXEL
|
J.Clip .DA CLIP.Point SETPIXEL
|
||||||
.DA CLIP.Point GETPIXEL
|
.DA CLIP.Point GETPIXEL
|
||||||
.DA CLIP.HLine HLINE
|
.DA CLIP.HLine HLINE
|
||||||
|
@ -219,9 +223,9 @@ LIB.LOAD lda LibCount
|
||||||
|
|
||||||
.1 jsr WND.Setup
|
.1 jsr WND.Setup
|
||||||
|
|
||||||
lda #CUR.T.ARROW
|
lda #PTR.T.ARROW
|
||||||
jsr SetCursor
|
jsr PTR.Set
|
||||||
jsr ShowCursor
|
jsr PTR.Show
|
||||||
|
|
||||||
inc LibCount
|
inc LibCount
|
||||||
|
|
||||||
|
@ -257,7 +261,7 @@ CB.GetInCache >STYA .1+1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GetCBBuf clc
|
CB.GetBuf clc
|
||||||
|
|
||||||
ldx hCBBuf
|
ldx hCBBuf
|
||||||
bne .9
|
bne .9
|
||||||
|
@ -272,7 +276,7 @@ GetCBBuf clc
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PutCBCache2CBBuf
|
CB.Cache2CBBuf
|
||||||
lda CB.Cache
|
lda CB.Cache
|
||||||
lsr
|
lsr
|
||||||
tax
|
tax
|
||||||
|
@ -293,74 +297,36 @@ PutCBCache2CBBuf
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GFXWrite.CB >PUSHB WND.Screen+S.OBJ.hPARENT
|
CB.GFXWrite >PUSHB WND.Screen+S.OBJ.hPARENT
|
||||||
>PUSHBI IOCTL.WRITE
|
>PUSHBI IOCTL.WRITE
|
||||||
>PUSHW L.CB.Cache
|
>PUSHW L.CB.Cache
|
||||||
>SYSCALL2 IOCTL
|
>SYSCALL2 IOCTL
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OBJ.GetInCache >STYA .1+1
|
SkipAPtr1 clc
|
||||||
|
adc ZPPtr1
|
||||||
ldx #S.OBJ-1
|
sta ZPPtr1
|
||||||
|
bcc .8
|
||||||
.1 lda $ffff,x SELF MODIFIED
|
|
||||||
sta OBJ.Cache,x
|
inc ZPPtr1+1
|
||||||
dex
|
|
||||||
bpl .1
|
.8 rts
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OBJ.SetX2Y2 >STYA ZPPtr1
|
SkipStrZPtr1 ldy #$ff
|
||||||
|
|
||||||
ldy #S.OBJ.W
|
.1 iny
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
clc
|
bne .1
|
||||||
sbc #0
|
|
||||||
pha
|
tya
|
||||||
iny
|
sec \0
|
||||||
lda (ZPPtr1),y
|
adc ZPPtr1
|
||||||
sbc #0
|
sta ZPPtr1
|
||||||
tax
|
bcc .8
|
||||||
|
|
||||||
pla
|
inc ZPPtr1+1
|
||||||
clc
|
|
||||||
ldy #S.OBJ.X1
|
.8 rts
|
||||||
adc (ZPPtr1),y
|
|
||||||
pha
|
|
||||||
txa
|
|
||||||
iny
|
|
||||||
adc (ZPPtr1),y
|
|
||||||
ldy #S.OBJ.X2+1
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
dey
|
|
||||||
pla
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
ldy #S.OBJ.H
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
clc
|
|
||||||
sbc #0
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sbc #0
|
|
||||||
tax
|
|
||||||
|
|
||||||
pla
|
|
||||||
clc
|
|
||||||
ldy #S.OBJ.Y1
|
|
||||||
adc (ZPPtr1),y
|
|
||||||
pha
|
|
||||||
txa
|
|
||||||
iny
|
|
||||||
adc (ZPPtr1),y
|
|
||||||
ldy #S.OBJ.Y2+1
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
dey
|
|
||||||
pla
|
|
||||||
sta (ZPPtr1),y
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB usr/src/lib/libgui.s.bm
|
.INB usr/src/lib/libgui.s.bm
|
||||||
.INB usr/src/lib/libgui.s.but
|
.INB usr/src/lib/libgui.s.but
|
||||||
|
@ -374,6 +340,7 @@ OBJ.SetX2Y2 >STYA ZPPtr1
|
||||||
.INB usr/src/lib/libgui.s.msg
|
.INB usr/src/lib/libgui.s.msg
|
||||||
.INB usr/src/lib/libgui.s.obj
|
.INB usr/src/lib/libgui.s.obj
|
||||||
.INB usr/src/lib/libgui.s.pat
|
.INB usr/src/lib/libgui.s.pat
|
||||||
|
.INB usr/src/lib/libgui.s.ptr
|
||||||
.INB usr/src/lib/libgui.s.sysbar
|
.INB usr/src/lib/libgui.s.sysbar
|
||||||
.INB usr/src/lib/libgui.s.text
|
.INB usr/src/lib/libgui.s.text
|
||||||
.INB usr/src/lib/libgui.s.wnd
|
.INB usr/src/lib/libgui.s.wnd
|
||||||
|
@ -383,6 +350,7 @@ CS.END
|
||||||
.INB usr/src/lib/libgui.g.bm
|
.INB usr/src/lib/libgui.g.bm
|
||||||
.INB usr/src/lib/libgui.g.cur
|
.INB usr/src/lib/libgui.g.cur
|
||||||
.INB usr/src/lib/libgui.g.fon
|
.INB usr/src/lib/libgui.g.fon
|
||||||
|
.INB usr/src/lib/libgui.g.ptr
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEVNAME.GFX .AZ "/dev/gfx"
|
DEVNAME.GFX .AZ "/dev/gfx"
|
||||||
DEVNAME.MOUSE .AZ "/dev/mou1"
|
DEVNAME.MOUSE .AZ "/dev/mou1"
|
||||||
|
@ -393,6 +361,8 @@ SYSX7B .AZ "${ROOT}sbin/sysx7b"
|
||||||
LibCount .BS 1
|
LibCount .BS 1
|
||||||
hDevMouse .BS 1
|
hDevMouse .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
OBJ.SizeOf .DA S.WND
|
||||||
|
*--------------------------------------
|
||||||
CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL
|
CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL
|
||||||
.DA #S.CB.Y1+1 GETPIXEL
|
.DA #S.CB.Y1+1 GETPIXEL
|
||||||
.DA #S.CB.Y2+1 HLINE
|
.DA #S.CB.Y2+1 HLINE
|
||||||
|
@ -428,7 +398,7 @@ CB.PTR .DA #S.CB.CMD.BITBLT
|
||||||
CB.Cache .BS S.CB
|
CB.Cache .BS S.CB
|
||||||
OBJ.Cache .BS S.OBJ
|
OBJ.Cache .BS S.OBJ
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Stack.Top .BS 1
|
MENU.Stack.Cnt .BS 1
|
||||||
MENU.Stack .BS MENU.MAX
|
MENU.Stack .BS MENU.MAX
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.hWND .BS 1
|
WND.hWND .BS 1
|
||||||
|
@ -455,110 +425,79 @@ RECT.SysWNDs .BS S.RECT
|
||||||
RECT.SysClk .BS S.RECT
|
RECT.SysClk .BS S.RECT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
hSysMenu .BS 1
|
hSysMenu .BS 1
|
||||||
MENU.Sys
|
*--------------------------------------
|
||||||
.1 .DA #.2-* next
|
MENU.Sys .DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #2 ID
|
.DA #2 ID
|
||||||
|
.DA #KEYMOD.CTRL+KEYMOD.OA+KEYMOD.CA,#'A'
|
||||||
.DA BM.ID.APPLE pICON
|
.DA BM.ID.APPLE pICON
|
||||||
.DA #S.MITEM.KEYMOD.CTRL+S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CA
|
|
||||||
.DA #'A'
|
|
||||||
.DA #.11-.1
|
|
||||||
.AZ "About..."
|
.AZ "About..."
|
||||||
.11 .AS "Ctrl-"
|
|
||||||
.DA #1,#'-',#2,#'-',#'A',#0
|
|
||||||
|
|
||||||
.2 .DA #.3-* next
|
.DA #S.MITEM.T.SEP
|
||||||
.DA #S.MITEM.F.SEP
|
|
||||||
|
|
||||||
.3 .DA #.4-* next
|
.DA #S.MITEM.T.SUBMENU
|
||||||
.DA #S.MITEM.F.SUBMENU F
|
.DA MENU.Sys.Programs
|
||||||
.DA #0 S
|
|
||||||
.DA #4 ID
|
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA 0 pMENU
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "Programs"
|
.AZ "Programs"
|
||||||
|
|
||||||
.4 .DA #.5-* next
|
.DA #S.MITEM.T.SUBMENU
|
||||||
.DA #S.MITEM.F.SUBMENU F
|
.DA MENU.Sys.Settings
|
||||||
.DA #0 S
|
|
||||||
.DA #6 ID
|
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA 0 pMENU
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "Settings"
|
.AZ "Settings"
|
||||||
|
|
||||||
.5 .DA #.6-* next
|
.DA #S.MITEM.T.SEP
|
||||||
.DA #S.MITEM.F.SEP
|
|
||||||
|
|
||||||
.6 .DA #.7-* next
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #8 ID
|
.DA #8 ID
|
||||||
|
.DA #0,#0
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA #0
|
|
||||||
.DA #0
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "Search..."
|
.AZ "Search..."
|
||||||
|
|
||||||
.7 .DA #.8-* next
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #10 ID
|
.DA #10 ID
|
||||||
|
.DA #KEYMOD.CTRL+KEYMOD.OA,#'R'
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA #S.MITEM.KEYMOD.CTRL+S.MITEM.KEYMOD.OA
|
|
||||||
.DA #'R'
|
|
||||||
.DA #.77-.7
|
|
||||||
.AZ "Run..."
|
.AZ "Run..."
|
||||||
.77 .AZ "Ctrl-R"
|
|
||||||
.8 .DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Sys.Programs
|
MENU.Sys.Programs
|
||||||
.1 .DA #.2-* next
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #42 ID
|
.DA #42 ID
|
||||||
|
.DA #0,#0
|
||||||
.DA BM.ID.APPLE pICON
|
.DA BM.ID.APPLE pICON
|
||||||
.DA #0
|
|
||||||
.DA #0
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "Test ASM"
|
.AZ "Test ASM"
|
||||||
|
|
||||||
.2 .DA #.3-* next
|
.DA #S.MITEM.t.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #44 ID
|
.DA #44 ID
|
||||||
|
.DA #0,#0
|
||||||
.DA BM.ID.APPLE pICON
|
.DA BM.ID.APPLE pICON
|
||||||
.DA #0
|
|
||||||
.DA #0
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "Test C"
|
.AZ "Test C"
|
||||||
|
|
||||||
.3 .DA #0
|
.DA #0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MENU.Sys.Settings
|
MENU.Sys.Settings
|
||||||
.1 .DA #.2-* next
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #62 ID
|
.DA #62 ID
|
||||||
|
.DA #0,#0
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA #0
|
|
||||||
.DA #0
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "Colors..."
|
.AZ "Colors..."
|
||||||
|
|
||||||
.2 .DA #.3-* next
|
.DA #S.MITEM.T.ITEM
|
||||||
.DA #S.MITEM.F.ITEM F
|
|
||||||
.DA #0 S
|
|
||||||
.DA #64 ID
|
.DA #64 ID
|
||||||
|
.DA #0,#0
|
||||||
.DA 0 pICON
|
.DA 0 pICON
|
||||||
.DA #0
|
|
||||||
.DA #0
|
|
||||||
.DA #0 KEYSTR
|
|
||||||
.AZ "SubItem2..."
|
.AZ "SubItem2..."
|
||||||
|
|
||||||
.3 .DA #0
|
.DA #0
|
||||||
|
*--------------------------------------
|
||||||
|
KEYMOD.S.CTRL .EQ 0
|
||||||
|
KEYMOD.S .AZ "Ctrl-"
|
||||||
|
KEYMOD.S.OA .EQ *-KEYMOD.S
|
||||||
|
.DA #01,#'-',#0
|
||||||
|
KEYMOD.S.CA .EQ *-KEYMOD.S
|
||||||
|
.DA #02,#'-',#0
|
||||||
|
*--------------------------------------
|
||||||
|
TEXTBUF .BS 16 for composing HotKey strings
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PREFS.BESTVIEWEDX .DA #$FC
|
PREFS.BESTVIEWEDX .DA #$FC
|
||||||
PREFS.bSYSBARTOP .DA #0
|
PREFS.bSYSBARTOP .DA #0
|
||||||
|
|
|
@ -154,6 +154,7 @@ include/stdio.h
|
||||||
include/stdlib.h
|
include/stdlib.h
|
||||||
include/string.h
|
include/string.h
|
||||||
include/unistd.h
|
include/unistd.h
|
||||||
|
include/libgui.h
|
||||||
include/libblkdev.h
|
include/libblkdev.h
|
||||||
include/libtui.h
|
include/libtui.h
|
||||||
include/sys/types.h
|
include/sys/types.h
|
||||||
|
|
|
@ -56,9 +56,9 @@ CS.INIT >LDYA L.LIBGUI
|
||||||
CS.INIT.RTS rts
|
CS.INIT.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN >SLEEP
|
CS.RUN >SLEEP
|
||||||
|
|
||||||
>PUSHW L.MSG
|
>PUSHW L.MSG
|
||||||
>LIBCALL hLIBGUI,LIBGUI.GetMsg
|
>LIBCALL hLIBGUI,LIBGUI.MSG.Get
|
||||||
bcs CS.RUN
|
bcs CS.RUN
|
||||||
|
|
||||||
.1 lda MSG+S.MSG.T
|
.1 lda MSG+S.MSG.T
|
||||||
|
@ -87,7 +87,7 @@ CS.RUN >SLEEP
|
||||||
CS.DOEVENT lda (pEvent)
|
CS.DOEVENT lda (pEvent)
|
||||||
bpl .9
|
bpl .9
|
||||||
|
|
||||||
>LIBCALL hLIBGUI,LIBGUI.UpdateCursor
|
>LIBCALL hLIBGUI,LIBGUI.PTR.Update
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -114,10 +114,10 @@ DIR1.PS jsr GNNB
|
||||||
.9 jmp ERBA2
|
.9 jmp ERBA2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DIR1.EscChars .AS "abefnrtv"
|
DIR1.EscChars .AS "abefnrtv"
|
||||||
.HS 5C27223F \'"?
|
.HS 5C27223F25 \'"?%
|
||||||
DIR1.EscChars.L .EQ *-DIR1.EscChars
|
DIR1.EscChars.L .EQ *-DIR1.EscChars
|
||||||
DIR1.EscCodes .HS 07081B0C0A0D090B
|
DIR1.EscCodes .HS 07081B0C0A0D090B
|
||||||
.HS 5C27223F
|
.HS 5C27223F25
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DIR1.CZ jsr DIR1.CS
|
DIR1.CZ jsr DIR1.CS
|
||||||
jmp EMIT.ZERO
|
jmp EMIT.ZERO
|
||||||
|
|
|
@ -75,11 +75,10 @@ K.GetDev.9 rts
|
||||||
* `>SYSCALL MkFD`
|
* `>SYSCALL MkFD`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.MkFD
|
|
||||||
|
|
||||||
|
|
||||||
clc
|
* clc
|
||||||
rts
|
* rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # MKDev
|
* # MKDev
|
||||||
* Create a hDEV
|
* Create a hDEV
|
||||||
|
@ -202,8 +201,8 @@ K.IOCTL ldy #3 hFD
|
||||||
jmp (pDrv)
|
jmp (pDrv)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.OPEN ldx #IOCTL.OPEN
|
DEV.OPEN ldx #IOCTL.OPEN
|
||||||
* lda IO.hFD
|
lda IO.hFD
|
||||||
jsr DEV.pDrvJmp
|
jsr DEV.pDrvJmp.1
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda IO.hFD
|
lda IO.hFD
|
||||||
|
@ -237,7 +236,7 @@ DEV.GetStatus sta K.S.IOCTL+S.IOCTL.S
|
||||||
DEV.CLOSE ldx #IOCTL.CLOSE
|
DEV.CLOSE ldx #IOCTL.CLOSE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.pDrvJmp >LDYAI K.S.IOCTL
|
DEV.pDrvJmp >LDYAI K.S.IOCTL
|
||||||
jmp (pDrv)
|
DEV.pDrvJmp.1 jmp (pDrv)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.GetPFD sta IO.hFD
|
DEV.GetPFD sta IO.hFD
|
||||||
|
|
||||||
|
@ -307,6 +306,7 @@ DEV.GetFD ldx #1
|
||||||
* sec
|
* sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
K.MkFD
|
||||||
DEV.GetFD.8 clc
|
DEV.GetFD.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue