mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-12 04:29:31 +00:00
Kernel 0.94
This commit is contained in:
parent
d20a93a581
commit
97ace2a662
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -150,7 +150,6 @@ EXP.Eval.Next stz SRC.ACC
|
||||||
|
|
||||||
jsr SYM.LookupGlobal
|
jsr SYM.LookupGlobal
|
||||||
.DO ASMDBG=1
|
.DO ASMDBG=1
|
||||||
bcs *
|
|
||||||
lda #"?"
|
lda #"?"
|
||||||
jsr EXP.DBG
|
jsr EXP.DBG
|
||||||
.FIN
|
.FIN
|
||||||
|
|
|
@ -4,7 +4,7 @@ NEW
|
||||||
SRC.ParseLine jsr OUT.PrintBufReset
|
SRC.ParseLine jsr OUT.PrintBufReset
|
||||||
|
|
||||||
>STZ.G OUT.bEquate
|
>STZ.G OUT.bEquate
|
||||||
|
|
||||||
jsr SRC.GetChar
|
jsr SRC.GetChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
|
@ -18,18 +18,18 @@ SRC.ParseLine jsr OUT.PrintBufReset
|
||||||
bcs .7 TRUE
|
bcs .7 TRUE
|
||||||
|
|
||||||
lda (ZPLinePtr)
|
lda (ZPLinePtr)
|
||||||
|
|
||||||
.1 cmp #C.SPACE false....skip label processing
|
.1 cmp #C.SPACE false....skip label processing
|
||||||
beq SRC.ParseLine.DirOp no label....
|
beq SRC.ParseLine.DirOp no label....
|
||||||
|
|
||||||
.2 jsr SRC.GetNextChar
|
.2 jsr SRC.GetNextChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
cmp #C.SPACE
|
cmp #C.SPACE
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
bra SRC.ParseLine.DirOp
|
bra SRC.ParseLine.DirOp
|
||||||
|
|
||||||
.7 >LDA.G ASM.MA.ON
|
.7 >LDA.G ASM.MA.ON
|
||||||
bpl SRC.ParseLine.LABEL
|
bpl SRC.ParseLine.LABEL
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ SRC.ParseLine jsr OUT.PrintBufReset
|
||||||
SRC.ParseLine.RTS
|
SRC.ParseLine.RTS
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ParseLine.LABEL
|
SRC.ParseLine.LABEL
|
||||||
jsr SRC.GetChar
|
jsr SRC.GetChar
|
||||||
cmp #C.SPACE no label...go scan dir/opcode
|
cmp #C.SPACE no label...go scan dir/opcode
|
||||||
beq SRC.ParseLine.DirOp
|
beq SRC.ParseLine.DirOp
|
||||||
|
@ -51,7 +51,7 @@ SRC.ParseLine.LABEL
|
||||||
>LDA.G MAC.StkPtr
|
>LDA.G MAC.StkPtr
|
||||||
bne SRC.ParseLine.InvLbl illegal in MACRO
|
bne SRC.ParseLine.InvLbl illegal in MACRO
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.1 cpx #':' private symbol?
|
.1 cpx #':' private symbol?
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ SRC.ParseLine.DirOp
|
||||||
jsr SRC.GetKeyword
|
jsr SRC.GetKeyword
|
||||||
|
|
||||||
bcs SRC.ParseLine.InvDir
|
bcs SRC.ParseLine.InvDir
|
||||||
|
|
||||||
jsr SRC.DoCheck
|
jsr SRC.DoCheck
|
||||||
bcs .1 TRUE, always execute
|
bcs .1 TRUE, always execute
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ SRC.ParseLine.DirOp
|
||||||
|
|
||||||
cpx #30 .FIN?
|
cpx #30 .FIN?
|
||||||
bne SRC.ParseLine.Ok
|
bne SRC.ParseLine.Ok
|
||||||
|
|
||||||
.1 jmp (J.DIRECTIVES,x)
|
.1 jmp (J.DIRECTIVES,x)
|
||||||
|
|
||||||
.5 pha
|
.5 pha
|
||||||
|
@ -147,7 +147,7 @@ SRC.ParseLine.OpCode
|
||||||
tax
|
tax
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 lda (ZPLinePtr),y
|
.2 lda (ZPLinePtr),y
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ SRC.ParseLine.OpCode
|
||||||
>STA.G SRC.AMID
|
>STA.G SRC.AMID
|
||||||
jsr SRC.ParseLine.AMCheck4OP
|
jsr SRC.ParseLine.AMCheck4OP
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jmp SRC.ParseLine.Emit
|
jmp SRC.ParseLine.Emit
|
||||||
.9 lda #E.INV.OPCODE
|
.9 lda #E.INV.OPCODE
|
||||||
sec
|
sec
|
||||||
|
@ -216,7 +216,7 @@ SRC.ParseLine.AM
|
||||||
|
|
||||||
jsr SRC.AddToBuf
|
jsr SRC.AddToBuf
|
||||||
bra .7
|
bra .7
|
||||||
|
|
||||||
.2 jsr SRC.IsLetter Any register?
|
.2 jsr SRC.IsLetter Any register?
|
||||||
bcs .6 no, try something else
|
bcs .6 no, try something else
|
||||||
|
|
||||||
|
@ -250,9 +250,9 @@ SRC.ParseLine.AM
|
||||||
|
|
||||||
.75 ldx SRC.ACC.SIZE
|
.75 ldx SRC.ACC.SIZE
|
||||||
beq * SHOULD NEVER APPEND
|
beq * SHOULD NEVER APPEND
|
||||||
|
|
||||||
jsr SRC.GetACCSize
|
jsr SRC.GetACCSize
|
||||||
|
|
||||||
.72 lda #'a'
|
.72 lda #'a'
|
||||||
|
|
||||||
.71 jsr SRC.AddToBuf
|
.71 jsr SRC.AddToBuf
|
||||||
|
@ -282,7 +282,7 @@ SRC.ParseLine.AM
|
||||||
.80 jsr SRC.ExpandAddress
|
.80 jsr SRC.ExpandAddress
|
||||||
cpx #5
|
cpx #5
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
.9 lda #E.INV.AM
|
.9 lda #E.INV.AM
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
@ -298,7 +298,7 @@ SRC.ParseLine.AMCheck
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
cmp SRC.AM.StrBuf
|
cmp SRC.AM.StrBuf
|
||||||
bne .7
|
bne .7
|
||||||
|
|
||||||
tay
|
tay
|
||||||
|
@ -315,7 +315,7 @@ SRC.ParseLine.AMCheck
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.6 lda (ZPPtr1)
|
.6 lda (ZPPtr1)
|
||||||
.7 sec
|
.7 sec
|
||||||
adc ZPPtr1
|
adc ZPPtr1
|
||||||
|
@ -339,7 +339,7 @@ SRC.ParseLine.AMCheck4OP
|
||||||
ldy #2 LEN Byte
|
ldy #2 LEN Byte
|
||||||
adc (ZPOpDefPtr),y
|
adc (ZPOpDefPtr),y
|
||||||
bcc .10
|
bcc .10
|
||||||
inx
|
inx
|
||||||
|
|
||||||
.10 sta ZPPtr1
|
.10 sta ZPPtr1
|
||||||
|
|
||||||
|
@ -357,7 +357,7 @@ SRC.ParseLine.AMCheck4OP
|
||||||
|
|
||||||
.12 sec LEN byte...
|
.12 sec LEN byte...
|
||||||
ldy #1 String...
|
ldy #1 String...
|
||||||
adc (ZPPtr1),y
|
adc (ZPPtr1),y
|
||||||
bcc .2
|
bcc .2
|
||||||
inx
|
inx
|
||||||
|
|
||||||
|
@ -374,19 +374,19 @@ SRC.ParseLine.AMCheck4OP
|
||||||
>STYA ZPOpDefPtr
|
>STYA ZPOpDefPtr
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ParseLine.Emit
|
SRC.ParseLine.Emit
|
||||||
stz SRC.ACCTMP index in ACC
|
stz SRC.ACCTMP index in ACC
|
||||||
|
|
||||||
ldy #1
|
ldy #1
|
||||||
lda (ZPOpDefPtr),y
|
lda (ZPOpDefPtr),y
|
||||||
sta SRC.ACCTMP+1 Char Count in AM
|
sta SRC.ACCTMP+1 Char Count in AM
|
||||||
|
|
||||||
iny
|
iny
|
||||||
|
|
||||||
.4 lda (ZPOpDefPtr),y
|
.2 lda (ZPOpDefPtr),y
|
||||||
cmp #'a
|
cmp #'a
|
||||||
bcs .5 lowercase, go compute address
|
bcs .4 lowercase, go compute address
|
||||||
|
|
||||||
jsr SRC.IsDigit16
|
jsr SRC.IsDigit16
|
||||||
asl
|
asl
|
||||||
|
@ -400,34 +400,34 @@ SRC.ParseLine.Emit
|
||||||
jsr SRC.IsDigit16
|
jsr SRC.IsDigit16
|
||||||
ora SRC.ACCTMP+2
|
ora SRC.ACCTMP+2
|
||||||
|
|
||||||
.50 jsr OUT.EmitByte
|
.3 jsr OUT.EmitByte
|
||||||
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
iny
|
iny
|
||||||
dec SRC.ACCTMP+1
|
dec SRC.ACCTMP+1
|
||||||
bne .4
|
bne .2
|
||||||
|
|
||||||
clc
|
* clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 bne .6 cmp #'a'....
|
.4 bne .5 cmp #'a'....
|
||||||
|
|
||||||
ldx SRC.ACCTMP
|
ldx SRC.ACCTMP
|
||||||
inc SRC.ACCTMP
|
inc SRC.ACCTMP
|
||||||
lda SRC.ACC,x
|
lda SRC.ACC,x
|
||||||
bra .50
|
bra .3
|
||||||
|
|
||||||
.6 cmp #'r
|
.5 cmp #'r
|
||||||
bne .7
|
bne .7
|
||||||
|
|
||||||
jsr SRC.ComputeRel8
|
jsr SRC.ComputeRel8
|
||||||
bcs .61
|
bcs .6
|
||||||
|
|
||||||
lda SRC.ACC
|
lda SRC.ACC
|
||||||
bra .50
|
bra .3
|
||||||
|
|
||||||
.61 >LDA.G ASM.PASS
|
.6 >LDA.G ASM.PASS
|
||||||
beq .50 Emit 00 if pending symbol (pass #1)
|
beq .3 Emit 00 if pending symbol (pass #1)
|
||||||
|
|
||||||
bra .91
|
bra .91
|
||||||
|
|
||||||
|
@ -435,25 +435,24 @@ SRC.ParseLine.Emit
|
||||||
bne .90
|
bne .90
|
||||||
|
|
||||||
jsr SRC.ComputeRel16
|
jsr SRC.ComputeRel16
|
||||||
bcs .71
|
bcs .8
|
||||||
|
|
||||||
lda SRC.ACC
|
lda SRC.ACC
|
||||||
jsr OUT.EmitByte
|
jsr OUT.EmitByte
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda SRC.ACC+1
|
lda SRC.ACC+1
|
||||||
bra .50
|
bra .3
|
||||||
|
|
||||||
.71 >LDA.G ASM.PASS
|
.8 >LDA.G ASM.PASS
|
||||||
bne .91
|
bne .91
|
||||||
|
|
||||||
lda #0
|
* lda #0
|
||||||
jsr OUT.EmitByte
|
jsr OUT.EmitByte
|
||||||
bcs .9
|
bcs .9
|
||||||
lda #0
|
|
||||||
bra .50 Emit 00 00 if pending symbol (pass #1)
|
|
||||||
|
|
||||||
.8 clc
|
lda #0
|
||||||
.9 rts
|
bra .3 Emit 00 00 if pending symbol (pass #1)
|
||||||
|
|
||||||
.90 lda #E.INV.CPU.FILE
|
.90 lda #E.INV.CPU.FILE
|
||||||
sec
|
sec
|
||||||
|
@ -461,7 +460,7 @@ SRC.ParseLine.Emit
|
||||||
|
|
||||||
.91 lda #E.RANGE
|
.91 lda #E.RANGE
|
||||||
sec
|
sec
|
||||||
rts
|
.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.AddToBuf inc SRC.AM.StrBuf
|
SRC.AddToBuf inc SRC.AM.StrBuf
|
||||||
ldy SRC.AM.StrBuf
|
ldy SRC.AM.StrBuf
|
||||||
|
@ -470,35 +469,43 @@ SRC.AddToBuf inc SRC.AM.StrBuf
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ExpandAddress
|
SRC.ExpandAddress
|
||||||
ldy SRC.AM.StrBuf
|
ldy SRC.AM.StrBuf
|
||||||
|
|
||||||
.1 lda SRC.AM.StrBuf,y
|
.1 lda SRC.AM.StrBuf,y
|
||||||
sta SRC.AM.StrBuf+1,y
|
sta SRC.AM.StrBuf+1,y
|
||||||
|
|
||||||
dey
|
dey
|
||||||
cmp #'a'
|
cmp #'a'
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
ldx #2 "aa"
|
ldx #2 "aa"
|
||||||
|
|
||||||
tya
|
tya
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.2 lda SRC.AM.StrBuf,y
|
.2 lda SRC.AM.StrBuf,y
|
||||||
cmp #'a'
|
cmp #'a'
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
inx "aaa"
|
inx "aaa"
|
||||||
.3 dey
|
.3 dey
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
.8 inc SRC.AM.StrBuf
|
.8 inc SRC.AM.StrBuf
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ComputeRel8 jsr SRC.ComputeRel
|
SRC.ComputeRel8 lda #1
|
||||||
|
jsr SRC.ComputeRel
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
* positive : check 0<r<0000007F
|
* positive : check 0<r<0000007F
|
||||||
|
|
||||||
lda SRC.ACC+3
|
lda SRC.ACC+3
|
||||||
ora SRC.ACC+2
|
ora SRC.ACC+2
|
||||||
ora SRC.ACC+1
|
ora SRC.ACC+1
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda SRC.ACC
|
lda SRC.ACC
|
||||||
bmi .9
|
bmi .9
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -509,24 +516,30 @@ SRC.ComputeRel8 jsr SRC.ComputeRel
|
||||||
and SRC.ACC+1
|
and SRC.ACC+1
|
||||||
inc
|
inc
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda SRC.ACC
|
lda SRC.ACC
|
||||||
bpl .9
|
bpl .9
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ComputeRel16
|
SRC.ComputeRel16
|
||||||
|
lda #2
|
||||||
jsr SRC.ComputeRel
|
jsr SRC.ComputeRel
|
||||||
|
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
* positive : check 0<r<00007FFF
|
* positive : check 0<r<00007FFF
|
||||||
|
|
||||||
lda SRC.ACC+3
|
lda SRC.ACC+3
|
||||||
ora SRC.ACC+2
|
ora SRC.ACC+2
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda SRC.ACC+1
|
lda SRC.ACC+1
|
||||||
bmi .9
|
bmi .9
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -536,76 +549,101 @@ SRC.ComputeRel16
|
||||||
and SRC.ACC+2
|
and SRC.ACC+2
|
||||||
inc
|
inc
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda SRC.ACC+1
|
lda SRC.ACC+1
|
||||||
bpl .9
|
bpl .9
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.ComputeRel phy
|
SRC.ComputeRel phy
|
||||||
|
|
||||||
ldy #ASM.PC
|
ldy #ASM.PC
|
||||||
clc
|
clc
|
||||||
|
adc (pData),y
|
||||||
|
sta SRC.ARG
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #0
|
||||||
|
adc (pData),y
|
||||||
|
sta SRC.ARG+1
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #0
|
||||||
|
adc (pData),y
|
||||||
|
sta SRC.ARG+2
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda #0
|
||||||
|
adc (pData),y
|
||||||
|
sta SRC.ARG+3
|
||||||
|
|
||||||
|
sec
|
||||||
lda SRC.ACC
|
lda SRC.ACC
|
||||||
sbc (pData),y
|
sbc SRC.ARG
|
||||||
sta SRC.ACC
|
sta SRC.ACC
|
||||||
iny
|
|
||||||
lda SRC.ACC+1
|
lda SRC.ACC+1
|
||||||
sbc (pData),y
|
sbc SRC.ARG+1
|
||||||
sta SRC.ACC+1
|
sta SRC.ACC+1
|
||||||
iny
|
|
||||||
lda SRC.ACC+2
|
lda SRC.ACC+2
|
||||||
sbc (pData),y
|
sbc SRC.ARG+2
|
||||||
sta SRC.ACC+2
|
sta SRC.ACC+2
|
||||||
iny
|
|
||||||
lda SRC.ACC+3
|
lda SRC.ACC+3
|
||||||
sbc (pData),y
|
sbc SRC.ARG+3
|
||||||
sta SRC.ACC+3
|
sta SRC.ACC+3
|
||||||
|
|
||||||
ply
|
ply
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.GetDecimal8 jsr SRC.GetDecimal
|
SRC.GetDecimal8 jsr SRC.GetDecimal
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda SRC.ACC+1
|
lda SRC.ACC+1
|
||||||
ora SRC.ACC+2
|
ora SRC.ACC+2
|
||||||
ora SRC.ACC+3
|
ora SRC.ACC+3
|
||||||
bne .99 Max .255
|
bne .99 Max .255
|
||||||
|
|
||||||
lda SRC.ACC
|
lda SRC.ACC
|
||||||
beq .99 .0 is not allowed
|
beq .99 .0 is not allowed
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 sec
|
.99 sec
|
||||||
.9 rts
|
.9 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.GetDecimal jsr SRC.GetChar
|
SRC.GetDecimal jsr SRC.GetChar
|
||||||
beq .99
|
beq .99
|
||||||
|
|
||||||
stz SRC.ACC+1
|
stz SRC.ACC+1
|
||||||
stz SRC.ACC+2
|
stz SRC.ACC+2
|
||||||
stz SRC.ACC+3
|
stz SRC.ACC+3
|
||||||
jsr SRC.IsDigit10
|
jsr SRC.IsDigit10
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
and #$0F
|
and #$0F
|
||||||
sta SRC.ACC
|
sta SRC.ACC
|
||||||
|
|
||||||
.1 jsr SRC.GetNextChar
|
.1 jsr SRC.GetNextChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
cmp #C.SPACE
|
cmp #C.SPACE
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr SRC.IsEXPReserved
|
jsr SRC.IsEXPReserved
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
jsr SRC.IsAMReserved
|
jsr SRC.IsAMReserved
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
jsr SRC.IsDigit10
|
jsr SRC.IsDigit10
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
and #$0F
|
and #$0F
|
||||||
pha
|
pha
|
||||||
jsr SRC.ACC10
|
jsr SRC.ACC10
|
||||||
|
@ -615,13 +653,13 @@ SRC.GetDecimal jsr SRC.GetChar
|
||||||
adc SRC.ACC
|
adc SRC.ACC
|
||||||
sta SRC.ACC
|
sta SRC.ACC
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
inc SRC.ACC+1
|
inc SRC.ACC+1
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
inc SRC.ACC+2
|
inc SRC.ACC+2
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
inc SRC.ACC+3
|
inc SRC.ACC+3
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
@ -754,42 +792,42 @@ SRC.GetBinary jsr SRC.GetNextChar skip '%'
|
||||||
|
|
||||||
cmp #'0'
|
cmp #'0'
|
||||||
bne .99
|
bne .99
|
||||||
|
|
||||||
.10 and #$01
|
.10 and #$01
|
||||||
sta SRC.ACC
|
sta SRC.ACC
|
||||||
|
|
||||||
.1 jsr SRC.GetNextChar
|
.1 jsr SRC.GetNextChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
cmp #'.' allow %111.00.1
|
cmp #'.' allow %111.00.1
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
cmp #C.SPACE
|
cmp #C.SPACE
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr SRC.IsEXPReserved
|
jsr SRC.IsEXPReserved
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
jsr SRC.IsAMReserved
|
jsr SRC.IsAMReserved
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
cmp #'1'
|
cmp #'1'
|
||||||
beq .11
|
beq .11
|
||||||
|
|
||||||
cmp #'0'
|
cmp #'0'
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
.11 lsr
|
.11 lsr
|
||||||
rol SRC.ACC
|
rol SRC.ACC
|
||||||
rol SRC.ACC+1
|
rol SRC.ACC+1
|
||||||
rol SRC.ACC+2
|
rol SRC.ACC+2
|
||||||
rol SRC.ACC+3
|
rol SRC.ACC+3
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
.9 lda #E.VAL.TOO.BIG
|
.9 lda #E.VAL.TOO.BIG
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.99 lda #E.SYNTAX.ERROR
|
.99 lda #E.SYNTAX.ERROR
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -897,9 +935,9 @@ SRC.IsKeywordLetterUC
|
||||||
eor #$20
|
eor #$20
|
||||||
rts CC if lowercase
|
rts CC if lowercase
|
||||||
.9 sec
|
.9 sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.IsLetterOrDigit
|
SRC.IsLetterOrDigit
|
||||||
jsr SRC.IsDigit10
|
jsr SRC.IsDigit10
|
||||||
bcc SRC.IsLetterRTS
|
bcc SRC.IsLetterRTS
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
|
@ -1002,14 +1040,18 @@ SRC.ACC10 lda SRC.ACC ACC*2-> ACC & ACCTMP
|
||||||
sta SRC.ACC+3
|
sta SRC.ACC+3
|
||||||
sta SRC.ACCTMP+3
|
sta SRC.ACCTMP+3
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldx #2
|
ldx #2
|
||||||
|
|
||||||
.1 asl SRC.ACC ACC=ACC*4
|
.1 asl SRC.ACC ACC=ACC*4
|
||||||
rol SRC.ACC+1
|
rol SRC.ACC+1
|
||||||
rol SRC.ACC+2
|
rol SRC.ACC+2
|
||||||
rol SRC.ACC+3
|
rol SRC.ACC+3
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda SRC.ACC CC from ROL SRC.ACC+3
|
lda SRC.ACC CC from ROL SRC.ACC+3
|
||||||
adc SRC.ACCTMP
|
adc SRC.ACCTMP
|
||||||
sta SRC.ACC
|
sta SRC.ACC
|
||||||
|
@ -1031,17 +1073,17 @@ SRC.GetACCSize lda SRC.ACC.F
|
||||||
|
|
||||||
ldx #2
|
ldx #2
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 ldx SRC.ACC.SIZE
|
.1 ldx SRC.ACC.SIZE
|
||||||
|
|
||||||
.2 lda SRC.ACC-1,x
|
.2 lda SRC.ACC-1,x
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
inx
|
inx
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
SRC.DoCheck sec
|
SRC.DoCheck sec
|
||||||
|
@ -1053,7 +1095,7 @@ SRC.DoCheck sec
|
||||||
tay
|
tay
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
asl
|
asl
|
||||||
|
|
||||||
.8 rts CS if TRUE
|
.8 rts CS if TRUE
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -347,6 +347,9 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
||||||
|
|
||||||
.9 pha
|
.9 pha
|
||||||
jsr OUT.PrintLineErr
|
jsr OUT.PrintLineErr
|
||||||
|
.DO ASMDBG=1
|
||||||
|
jsr SYM.Dump.1
|
||||||
|
.FIN
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -41,44 +41,28 @@ CS.START cld
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.MSG.NOATK .DA MSG.NOATK
|
L.MSG.NOATK .DA MSG.NOATK
|
||||||
L.MSG.ATKERR .DA MSG.ATKERR
|
L.MSG.ATKERR .DA MSG.ATKERR
|
||||||
L.MSG.NETNODE .DA MSG.NETNODE
|
L.MSG.GETINFO .DA MSG.GETINFO
|
||||||
|
L.MSG.MYZONE .DA MSG.MYZONE
|
||||||
L.SEARCH.STRING .DA SEARCH.STRING
|
L.SEARCH.STRING .DA SEARCH.STRING
|
||||||
L.MSG.DUMP0 .DA MSG.DUMP0
|
L.MSG.DUMP0 .DA MSG.DUMP0
|
||||||
L.MSG.DUMP .DA MSG.DUMP
|
L.MSG.DUMP .DA MSG.DUMP
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
rts
|
CS.INIT.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN lda #AT.GetInfo
|
CS.RUN jsr CS.RUN.ATCHECK
|
||||||
>STA.G P.GetInfo+1
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
>LEA.G P.GetInfo
|
|
||||||
|
|
||||||
jsr A2osX.ATKCALL
|
jsr CS.RUN.MyZone
|
||||||
bcc CS.RUN.ATKOK
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
pha
|
|
||||||
>LDYA L.MSG.NOATK
|
|
||||||
>SYSCALL PutS
|
|
||||||
pla
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
CS.RUN.ATKOK >PUSHW L.MSG.NETNODE
|
|
||||||
>PUSHW.G P.GetInfo+$8 NET
|
|
||||||
>PUSHB.G P.GetInfo+$E NODE
|
|
||||||
>PUSHBI 3
|
|
||||||
>SYSCALL PrintF
|
|
||||||
|
|
||||||
lda #AT.LookupName
|
|
||||||
>STA.G P.LookupName+1
|
|
||||||
>LDYA L.SEARCH.STRING
|
>LDYA L.SEARCH.STRING
|
||||||
>STYA.G P.LookupName+$08 Entry Name Ptr
|
>STYA.G P.LookupName+$08 Entry Name Ptr
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
>STA.G P.LookupName+$C RetInt
|
>STA.G P.LookupName+$0C RetInt
|
||||||
>STA.G P.LookupName+$D RetCnt
|
>STA.G P.LookupName+$0D RetCnt
|
||||||
>LDYAI 1024
|
>LDYAI 1024
|
||||||
>STYA.G P.LookupName+$10 BufLen
|
>STYA.G P.LookupName+$10 BufLen
|
||||||
>LDYAI 1024
|
>LDYAI 1024
|
||||||
|
@ -94,6 +78,7 @@ CS.RUN.ATKOK >PUSHW L.MSG.NETNODE
|
||||||
>STA.G P.LookupName+$16 MaxMatch
|
>STA.G P.LookupName+$16 MaxMatch
|
||||||
|
|
||||||
>LEA.G P.LookupName
|
>LEA.G P.LookupName
|
||||||
|
ldx #AT.LookupName
|
||||||
jsr CS.RUN.GOATLK
|
jsr CS.RUN.GOATLK
|
||||||
.99 bcs .9
|
.99 bcs .9
|
||||||
|
|
||||||
|
@ -141,7 +126,56 @@ CS.RUN.ATKOK >PUSHW L.MSG.NETNODE
|
||||||
.8 sec
|
.8 sec
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.RUN.ATCHECK lda #AT.GetInfo
|
||||||
|
>STA.G P.GetInfo+1
|
||||||
|
|
||||||
|
>LEA.G P.GetInfo
|
||||||
|
|
||||||
|
jsr A2osX.ATKCALL
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHW L.MSG.GETINFO
|
||||||
|
>PUSHW.G P.GetInfo+$08 THIS-NET
|
||||||
|
>PUSHB.G P.GetInfo+$0E NODE
|
||||||
|
>PUSHB.G P.GetInfo+$0A BRIDGE
|
||||||
|
|
||||||
|
>PUSHW.G P.GetInfo+$0A HARDWARE ID
|
||||||
|
>PUSHB.G P.GetInfo+$0A ROM VERSION
|
||||||
|
>PUSHBI 7
|
||||||
|
>SYSCALL PrintF
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 pha
|
||||||
|
>LDYA L.MSG.NOATK
|
||||||
|
>SYSCALL PutS
|
||||||
|
pla
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.MyZone >LEA.G ZoneBuf
|
||||||
|
>STYA.G P.GetMyZone+$08
|
||||||
|
lda #4
|
||||||
|
>STA.G P.GetMyZone+$0C RetInt
|
||||||
|
>STA.G P.GetMyZone+$0D RetCnt
|
||||||
|
|
||||||
|
>LEA.G P.GetMyZone
|
||||||
|
ldx #AT.GetMyZone
|
||||||
|
jsr CS.RUN.GOATLK
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHW L.MSG.MYZONE
|
||||||
|
>PUSHEA.G ZoneBuf
|
||||||
|
>PUSHBI 2
|
||||||
|
>SYSCALL PrintF
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
CS.RUN.GOATLK >STYA ZPAtlkParams
|
CS.RUN.GOATLK >STYA ZPAtlkParams
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
txa
|
||||||
|
sta (ZPAtlkParams),y
|
||||||
|
|
||||||
|
>LDYA ZPAtlkParams
|
||||||
jsr A2osX.ATKCALL
|
jsr A2osX.ATKCALL
|
||||||
bcc .9
|
bcc .9
|
||||||
|
|
||||||
|
@ -161,7 +195,6 @@ CS.RUN.GOATLK >STYA ZPAtlkParams
|
||||||
|
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
|
@ -177,8 +210,11 @@ CS.QUIT lda hBuf
|
||||||
CS.END
|
CS.END
|
||||||
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
||||||
MSG.ATKERR .AZ "AppleTalk ERR:%H\r\n"
|
MSG.ATKERR .AZ "AppleTalk ERR:%H\r\n"
|
||||||
MSG.NETNODE .AZ "Network/Node:$%H/$%h\r\n"
|
MSG.GETINFO .AS "Network/Node:$%H/$%h\r\n"
|
||||||
SEARCH.STRING >PSTR "*:=@="
|
.AS "Bridge : $%h\r\n"
|
||||||
|
.AZ "HWID/ROMVER :$%H/$%h\r\n"
|
||||||
|
MSG.MYZONE .AZ "Zone Name :%S\r\n"
|
||||||
|
SEARCH.STRING >PSTR "=:=@*"
|
||||||
MSG.DUMP0 .AZ "Net Nod SkT En# Name"
|
MSG.DUMP0 .AZ "Net Nod SkT En# Name"
|
||||||
MSG.DUMP .AZ "%H $%h $%h $%h %S\r\n"
|
MSG.DUMP .AZ "%H $%h $%h $%h %S\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -186,7 +222,9 @@ MSG.DUMP .AZ "%H $%h $%h $%h %S\r\n"
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
P.GetInfo .BS $0F
|
P.GetInfo .BS $0F
|
||||||
|
P.GetMyZone .BS $0F
|
||||||
P.LookupName .BS $17
|
P.LookupName .BS $17
|
||||||
|
ZoneBuf .BS 33
|
||||||
DS.END .ED
|
DS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -120,7 +120,8 @@ CS.RUN.ATCHECK lda #AT.GetInfo
|
||||||
>LDYA L.MSG.NOATK
|
>LDYA L.MSG.NOATK
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
pla
|
pla
|
||||||
.9 sec
|
sec
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.GOATLK >STYA ZPAtlkParams
|
CS.RUN.GOATLK >STYA ZPAtlkParams
|
||||||
jsr A2osX.ATKCALL
|
jsr A2osX.ATKCALL
|
||||||
|
@ -162,6 +163,7 @@ DS.START
|
||||||
P.GetInfo .BS $0F
|
P.GetInfo .BS $0F
|
||||||
P.LookupName .BS $17
|
P.LookupName .BS $17
|
||||||
P.FILogin .BS $19
|
P.FILogin .BS $19
|
||||||
|
ZoneBuf .BS 33
|
||||||
NameBuf .BS 64
|
NameBuf .BS 64
|
||||||
ReplyBuf .BS 64
|
ReplyBuf .BS 64
|
||||||
DS.END
|
DS.END
|
||||||
|
|
|
@ -3,7 +3,7 @@ NEW
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF BIN/CMP
|
.TF bin/cmp
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB inc/macros.i
|
.INB inc/macros.i
|
||||||
.INB inc/a2osx.i
|
.INB inc/a2osx.i
|
||||||
|
|
|
@ -177,7 +177,7 @@ CS.RUN.LOGO.SHOW
|
||||||
>LDYA L.CB.LOGO
|
>LDYA L.CB.LOGO
|
||||||
jsr GFX.Write.YA
|
jsr GFX.Write.YA
|
||||||
|
|
||||||
bit xDIR
|
bit xDir
|
||||||
bmi .4
|
bmi .4
|
||||||
|
|
||||||
lda CB.LOGO+S.CB.DstX
|
lda CB.LOGO+S.CB.DstX
|
||||||
|
@ -193,9 +193,9 @@ CS.RUN.LOGO.SHOW
|
||||||
pla
|
pla
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
.3 lda xDIR
|
.3 lda xDir
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta xDIR
|
sta xDir
|
||||||
bra .6
|
bra .6
|
||||||
|
|
||||||
.4 lda CB.LOGO+S.CB.DstX
|
.4 lda CB.LOGO+S.CB.DstX
|
||||||
|
@ -211,16 +211,16 @@ CS.RUN.LOGO.SHOW
|
||||||
|
|
||||||
|
|
||||||
.6 lda CB.LOGO+S.CB.DstY
|
.6 lda CB.LOGO+S.CB.DstY
|
||||||
bit yDIR
|
bit yDir
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
inc
|
inc
|
||||||
cmp #152
|
cmp #152
|
||||||
bne .7
|
bne .7
|
||||||
|
|
||||||
.60 lda yDIR
|
.60 lda yDir
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta yDIR
|
sta yDir
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.7 sta CB.LOGO+S.CB.DstY
|
.7 sta CB.LOGO+S.CB.DstY
|
||||||
|
@ -299,7 +299,7 @@ LoadResources >PUSHW L.FONTFILE
|
||||||
>PUSHWZ Aux type
|
>PUSHWZ Aux type
|
||||||
>SYSCALL LoadStkObj
|
>SYSCALL LoadStkObj
|
||||||
bcs .99
|
bcs .99
|
||||||
stx hFontb
|
stx hFontB
|
||||||
|
|
||||||
>PUSHW L.MARILYNFILE
|
>PUSHW L.MARILYNFILE
|
||||||
>PUSHBI O.RDONLY
|
>PUSHBI O.RDONLY
|
||||||
|
|
|
@ -5,10 +5,10 @@ NEW
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF bin/unpak
|
.TF bin/unpak
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB INC/MACROS.I
|
.INB inc/macros.i
|
||||||
.INB INC/A2OSX.I
|
.INB inc/a2osx.i
|
||||||
.INB INC/MLI.E.I
|
.INB inc/mli.e.i
|
||||||
.INB INC/PAK.I
|
.INB inc/pak.i
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
|
@ -70,7 +70,7 @@ CS.RUN >LDYAI CHNK.SIZE
|
||||||
>STA.G hInBuf
|
>STA.G hInBuf
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
>SYSCALL Argv
|
>SYSCALL ArgV
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr CS.RUN.OpenArc
|
jsr CS.RUN.OpenArc
|
||||||
|
@ -90,7 +90,7 @@ CS.RUN >LDYAI CHNK.SIZE
|
||||||
|
|
||||||
ldy #S.PS.hCWD
|
ldy #S.PS.hCWD
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>SYSCALL GetMemptr
|
>SYSCALL GetMemPtr
|
||||||
|
|
||||||
.1 jsr CS.RUN.SetupPath
|
.1 jsr CS.RUN.SetupPath
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||||
bne .3 Could be a 0 byte file
|
bne .3 Could be a 0 byte file
|
||||||
|
|
||||||
.20 lda #'.'
|
.20 lda #'.'
|
||||||
>SYSCALL putchar
|
>SYSCALL PutChar
|
||||||
|
|
||||||
jsr CS.RUN.GetByte DataLen LO
|
jsr CS.RUN.GetByte DataLen LO
|
||||||
bcs .99
|
bcs .99
|
||||||
|
@ -202,7 +202,7 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||||
sta ZPOutBufLen+1
|
sta ZPOutBufLen+1
|
||||||
|
|
||||||
>LDA.G hOutBuf
|
>LDA.G hOutBuf
|
||||||
>SYSCALL GetMemptr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPOutBufPtr
|
>STYA ZPOutBufPtr
|
||||||
|
|
||||||
jsr X.Unpak
|
jsr X.Unpak
|
||||||
|
@ -247,7 +247,7 @@ CS.RUN.OpenArc >PUSHYA
|
||||||
>PUSHWI 3
|
>PUSHWI 3
|
||||||
>PUSHW ZPInBufPtr
|
>PUSHW ZPInBufPtr
|
||||||
pla
|
pla
|
||||||
>SYSCALL fread
|
>SYSCALL FRead
|
||||||
bcs .9
|
bcs .9
|
||||||
cpy #3
|
cpy #3
|
||||||
bne .99
|
bne .99
|
||||||
|
@ -272,7 +272,7 @@ CS.RUN.GetFileType
|
||||||
>PUSHWI 3
|
>PUSHWI 3
|
||||||
>PUSHEA.G FileType
|
>PUSHEA.G FileType
|
||||||
>LDA.G hArcFile
|
>LDA.G hArcFile
|
||||||
>SYSCALL fread
|
>SYSCALL FRead
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.GetFileName
|
CS.RUN.GetFileName
|
||||||
|
@ -284,7 +284,7 @@ CS.RUN.GetFileName
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHW ZPRelPathPtr
|
>PUSHW ZPRelPathPtr
|
||||||
>LDA.G hArcFile
|
>LDA.G hArcFile
|
||||||
>SYSCALL fread
|
>SYSCALL FRead
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -295,25 +295,25 @@ CS.RUN.GetFileName
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.ReadData >PUSHW ZPInBufLen
|
CS.RUN.ReadData >PUSHW ZPInBufLen
|
||||||
>LDA.G hInBuf
|
>LDA.G hInBuf
|
||||||
>SYSCALL GetMemptr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPInBufPtr
|
>STYA ZPInBufPtr
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LDA.G hArcFile
|
>LDA.G hArcFile
|
||||||
>SYSCALL fread
|
>SYSCALL FRead
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.GetByte >LDA.G hArcFile
|
CS.RUN.GetByte >LDA.G hArcFile
|
||||||
>SYSCALL getc
|
>SYSCALL GetC
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CheckDir >PUSHW ZPFullPathPtr
|
CS.RUN.CheckDir >PUSHW ZPFullPathPtr
|
||||||
>PUSHEA.G STAT
|
>PUSHEA.G STAT
|
||||||
>SYSCALL stat
|
>SYSCALL Stat
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
>PUSHW ZPFullPathPtr
|
>PUSHW ZPFullPathPtr
|
||||||
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
|
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
|
||||||
>SYSCALL mkdir
|
>SYSCALL MKDir
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -340,10 +340,10 @@ CS.RUN.OpenFile >PUSHW ZPFullPathPtr
|
||||||
CS.RUN.WriteFile
|
CS.RUN.WriteFile
|
||||||
>PUSHW ZPOutBufLen
|
>PUSHW ZPOutBufLen
|
||||||
>LDA.G hOutBuf
|
>LDA.G hOutBuf
|
||||||
>SYSCALL GetMemptr
|
>SYSCALL GetMemPtr
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LDA.G hFile
|
>LDA.G hFile
|
||||||
>SYSCALL fwrite
|
>SYSCALL FWrite
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
|
@ -398,5 +398,5 @@ DS.END
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/UNPAK.S
|
SAVE usr/src/bin/unpak.s
|
||||||
ASM
|
ASM
|
||||||
|
|
|
@ -58,7 +58,7 @@ A2osX.SLEEP .EQ $BC10
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
A2osX.SCRNDEVS .EQ $BED0 0=console, 1-8=VT100, 9=GFX
|
A2osX.SCRNDEVS .EQ $BED0 0=console, 1-8=VT100, 9=GFX
|
||||||
A2osX.ASCREEN .EQ $BEDA Active Screen
|
A2osX.ASCREEN .EQ $BEDA Active Screen
|
||||||
|
* free BEDB -> BEE5
|
||||||
A2osX.CPUTYPE .EQ $BEE6
|
A2osX.CPUTYPE .EQ $BEE6
|
||||||
A2osX.CPUSPEED .EQ $BEE7 WORD, (->255.99 Mhz)
|
A2osX.CPUSPEED .EQ $BEE7 WORD, (->255.99 Mhz)
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@ AUTO 4,1
|
||||||
AT.GetInfo .EQ $02
|
AT.GetInfo .EQ $02
|
||||||
AT.LookupName .EQ $10
|
AT.LookupName .EQ $10
|
||||||
|
|
||||||
|
AT.GetMyZone .EQ $1A
|
||||||
|
AT.GetZoneList .EQ $1B
|
||||||
|
|
||||||
AT.FILogin .EQ $2B
|
AT.FILogin .EQ $2B
|
||||||
AT.FILoginCont .EQ $2C
|
AT.FILoginCont .EQ $2C
|
||||||
AT.FILogout .EQ $2D
|
AT.FILogout .EQ $2D
|
||||||
|
@ -16,3 +19,4 @@ AT.FIGetSVersion .EQ $3A
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE inc/appletalk.i
|
SAVE inc/appletalk.i
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* GFX Devices
|
* GFX Devices
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -95,4 +94,4 @@ S.CB.DstPtr .EQ 18 BITBLT
|
||||||
S.CB .EQ 20
|
S.CB .EQ 20
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE INC/GFX.I
|
SAVE inc/gfx.i
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.D2.SeekTime .EQ 75
|
IO.D2.SeekTime .EQ 75
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -29,4 +28,4 @@ IO.D2.ReadMode .EQ $C08E R
|
||||||
IO.D2.WriteMode .EQ $C08F W
|
IO.D2.WriteMode .EQ $C08F W
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE INC/IO.D2.I
|
SAVE inc/io.d2.i
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Mem.Table .EQ $0800
|
Mem.Table .EQ $0800
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -26,6 +25,6 @@ S.Table.hFile .EQ $1450 K.USR.MAX
|
||||||
A2osX.EndTables .EQ $1460
|
A2osX.EndTables .EQ $1460
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE INC/KERNEL.I
|
SAVE inc/kernel.i
|
||||||
LOAD USR/SRC/SYS/KERNEL.S
|
LOAD usr/src/sys/kernel.s
|
||||||
ASM
|
ASM
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIBBLKDEV.GetProDOSCatSize .EQ 4
|
LIBBLKDEV.GetProDOSCatSize .EQ 4
|
||||||
LIBBLKDEV.BuildProDOSCat .EQ 6
|
LIBBLKDEV.BuildProDOSCat .EQ 6
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.MA DEBUG
|
.MA DEBUG
|
||||||
:1 bit $C000
|
:1 bit $C000
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
dcmd .EQ $42 disk command (=1 for read)
|
dcmd .EQ $42 disk command (=1 for read)
|
||||||
unit .EQ $43 (16*slot)+(128*(drive-1))
|
unit .EQ $43 (16*slot)+(128*(drive-1))
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
D2MotorControl >PULLB MotorOn
|
D2MotorControl >PULLB MotorOn
|
||||||
|
@ -124,8 +123,8 @@ D2MoveHead >PULLB MoveTo
|
||||||
|
|
||||||
.7 jsr D2.Wait25600usec
|
.7 jsr D2.Wait25600usec
|
||||||
|
|
||||||
lda IO.D2.Ph0Off,x
|
|
||||||
lda IO.D2.Ph0Off,y
|
lda IO.D2.Ph0Off,y
|
||||||
|
lda IO.D2.Ph0Off,x
|
||||||
|
|
||||||
clc
|
clc
|
||||||
|
|
||||||
|
@ -192,7 +191,7 @@ D2TrkWrite16s >PULLW ZPPtr1
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYAI TRACK16.LEN+1
|
>LDYAI TRACK16.LEN+1
|
||||||
>SYSCALL2 getmem
|
>SYSCALL2 GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
|
|
|
@ -188,7 +188,7 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf
|
||||||
|
|
||||||
txa
|
txa
|
||||||
|
|
||||||
.30 sta VolDirHdr.next
|
.30 sta VolDirHdr.Next
|
||||||
* stz VolDirHdr.next+1
|
* stz VolDirHdr.next+1
|
||||||
* stz VolDirHdr.VER
|
* stz VolDirHdr.VER
|
||||||
* stz VolDirHdr.MVER
|
* stz VolDirHdr.MVER
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.DEBUG .EQ 0
|
XRWDBG .EQ 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.START cld $D8 to flag language card bank 1 (main)
|
XRW.START cld $D8 to flag language card bank 1 (main)
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ regrwts ldy #1
|
||||||
dec XRW.RecalibrateCnt
|
dec XRW.RecalibrateCnt
|
||||||
sec
|
sec
|
||||||
bmi .9
|
bmi .9
|
||||||
.DO XRW.DEBUG=1
|
.DO XRWDBG=1
|
||||||
jsr XRW.DEBUG
|
jsr XRW.DEBUG
|
||||||
.FIN
|
.FIN
|
||||||
ldy XRW.UnitIndex
|
ldy XRW.UnitIndex
|
||||||
|
@ -732,7 +732,7 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
jsr XRW.Trk2Qtrk
|
jsr XRW.Trk2Qtrk
|
||||||
sta XRW.TargetQTrack
|
sta XRW.TargetQTrack
|
||||||
|
|
||||||
.DO XRW.DEBUG=1
|
.DO XRWDBG=1
|
||||||
jsr XRW.DEBUG3
|
jsr XRW.DEBUG3
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
|
@ -741,7 +741,7 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
jsr XRW.Trk2Qtrk
|
jsr XRW.Trk2Qtrk
|
||||||
sta XRW.CurrentQTrack
|
sta XRW.CurrentQTrack
|
||||||
|
|
||||||
.DO XRW.DEBUG=1
|
.DO XRWDBG=1
|
||||||
jsr XRW.DEBUG2
|
jsr XRW.DEBUG2
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
|
@ -900,7 +900,7 @@ XRW.ReadAddr ldy #$FC
|
||||||
rderr sec
|
rderr sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DO XRW.DEBUG=1
|
.DO XRWDBG=1
|
||||||
XRW.DEBUG phx
|
XRW.DEBUG phx
|
||||||
|
|
||||||
ldx #26
|
ldx #26
|
||||||
|
|
|
@ -137,7 +137,7 @@ CS.RUN.CheckArgs
|
||||||
lda #1
|
lda #1
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GetByName
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
@ -303,7 +303,7 @@ CS.RUN.SessSetup
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>SYSCALL Printf
|
>SYSCALL PrintF
|
||||||
|
|
||||||
lda hResp
|
lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
@ -580,8 +580,8 @@ SMB.TreeConnReq.end .EQ *
|
||||||
SMB.FindFirstReq
|
SMB.FindFirstReq
|
||||||
.DA #0 DIRECT TCP TRANSPORT
|
.DA #0 DIRECT TCP TRANSPORT
|
||||||
.DA #0 24 BITS LENGTH
|
.DA #0 24 BITS LENGTH
|
||||||
.DA /SMB.TreeConnReq.end-1-*
|
.DA /SMB.FindFirstReq.end-1-*
|
||||||
.DA #SMB.TreeConnReq.end-1-*
|
.DA #SMB.FindFirstReq.end-1-*
|
||||||
.DA #$FF
|
.DA #$FF
|
||||||
.AS "SMB"
|
.AS "SMB"
|
||||||
.DA #S.SMB.H.CMD.TRANSACTION2
|
.DA #S.SMB.H.CMD.TRANSACTION2
|
||||||
|
@ -627,7 +627,7 @@ SMB.FindFirstReq.UID
|
||||||
.DA 0 Flags
|
.DA 0 Flags
|
||||||
.DA $0104 InformationLevel
|
.DA $0104 InformationLevel
|
||||||
.HS 00000000 SearchStorageType
|
.HS 00000000 SearchStorageType
|
||||||
.DA "\*" FileName
|
.AS "\*" FileName
|
||||||
SMB.FindFirstReq.end
|
SMB.FindFirstReq.end
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
|
|
|
@ -397,6 +397,35 @@ CORE.PSResume sei
|
||||||
inc IRQ.InKernel
|
inc IRQ.InKernel
|
||||||
rti
|
rti
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
GP.RomCall.JmpX jmp (.1-FPU.FADD,x)
|
||||||
|
*--------------------------------------
|
||||||
|
* http://www.txbobsc.com/scsc/scdocumentor/E7A0.html
|
||||||
|
*--------------------------------------
|
||||||
|
.1 .DA $E7C1 FADDT
|
||||||
|
.DA $E7AA FSUBT
|
||||||
|
.DA $E987 FMULTT.1
|
||||||
|
.DA $EA6B FDIVT+2
|
||||||
|
.DA $EE97 FPWRT
|
||||||
|
|
||||||
|
.DA $E941 LOG
|
||||||
|
.DA $EE8D SQR
|
||||||
|
.DA $EF09 EXP
|
||||||
|
.DA $EFEA COS
|
||||||
|
.DA $EFF1 SIN
|
||||||
|
.DA $F03A TAN
|
||||||
|
.DA $F09E ATN
|
||||||
|
*--------------------------------------
|
||||||
|
.DA $E9E3 LOAD.ARG.FROM.YA
|
||||||
|
.DA $EAF9 LOAD.FAC.FROM.YA
|
||||||
|
.DA $EB27 SETFOR (GETFAC)
|
||||||
|
.DA $EBB2 FCOMP (Y,A with FAC)
|
||||||
|
|
||||||
|
.DA $E82E NORMALIZE.FAC.2 (L->F)
|
||||||
|
.DA $EBF2 QINT (F->L)
|
||||||
|
|
||||||
|
.DA $EC4A FIN AToF
|
||||||
|
.DA $ED36 FOUT.1 PrintF
|
||||||
|
*--------------------------------------
|
||||||
CORE.VBLState .BS 1
|
CORE.VBLState .BS 1
|
||||||
CORE.IRQMode .BS 1
|
CORE.IRQMode .BS 1
|
||||||
CORE.TickPerSec .BS 1
|
CORE.TickPerSec .BS 1
|
||||||
|
@ -410,6 +439,16 @@ CORE.FSID .BS 1
|
||||||
CORE.EvtIndex .BS 1
|
CORE.EvtIndex .BS 1
|
||||||
CORE.EvtCount .BS 1
|
CORE.EvtCount .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
IRQ.InKernel .BS 1
|
||||||
|
IRQ.InLib .BS 1
|
||||||
|
IRQ.SkipA2osX .BS 1
|
||||||
|
|
||||||
|
IRQ.IntNum .BS 1
|
||||||
|
IRQ.VBL.n0 .BS 1
|
||||||
|
IRQ.VBL.0n .BS 1
|
||||||
|
IRQ.Mode .BS 1
|
||||||
|
IRQ.Tick .BS 1
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/SYS/KERNEL.S.CORE
|
SAVE USR/SRC/SYS/KERNEL.S.CORE
|
||||||
LOAD USR/SRC/SYS/KERNEL.S
|
LOAD USR/SRC/SYS/KERNEL.S
|
||||||
|
|
|
@ -28,7 +28,7 @@ C9 .EQ DevMgr.FreeMem
|
||||||
* ERROR:AUX too big
|
* ERROR:AUX too big
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.FIN
|
.FIN
|
||||||
.DO A2osX.GP.SC>$2E0
|
.DO A2osX.GP.SC>$1D0
|
||||||
.LIST ON
|
.LIST ON
|
||||||
* ERROR:GP too big
|
* ERROR:GP too big
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
@ -45,6 +45,6 @@ C9 .EQ DevMgr.FreeMem
|
||||||
.FIN
|
.FIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/SYS/KERNEL.S.CTRL
|
SAVE usr/src/sys/kernel.s.ctrl
|
||||||
LOAD USR/SRC/SYS/KERNEL.S
|
LOAD usr/src/sys/kernel.s
|
||||||
ASM
|
ASM
|
||||||
|
|
|
@ -240,9 +240,13 @@ FS.Stat.203 >MLICALL MLIGETFILEINFO
|
||||||
FS.Stat.RTS rts
|
FS.Stat.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FS.Stat.FX >MLICALL MLIGETFILEINFOEX
|
FS.Stat.FX >MLICALL MLIGETFILEINFOEX
|
||||||
bcs FS.Stat.RTS
|
bcc .1
|
||||||
|
|
||||||
>LDYAI K.MLI.PARAMS+3
|
cmp #MLI.E.BADCALL
|
||||||
|
beq FS.Stat.203 Apple WS CARD
|
||||||
|
rts
|
||||||
|
|
||||||
|
.1 >LDYAI K.MLI.PARAMS+3
|
||||||
>STYA ZPPtr3
|
>STYA ZPPtr3
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FS.DirEnt2Stat jsr FS.ClrStat
|
FS.DirEnt2Stat jsr FS.ClrStat
|
||||||
|
|
|
@ -272,6 +272,7 @@ GP.Float ldy #3
|
||||||
sta FAC+1,y Reverse Order
|
sta FAC+1,y Reverse Order
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
dec pStack keep 5 bytes on stack
|
dec pStack keep 5 bytes on stack
|
||||||
stz FAC.SIGN
|
stz FAC.SIGN
|
||||||
lda #$80+32
|
lda #$80+32
|
||||||
|
@ -304,35 +305,6 @@ GP.lrintf jsr GP.SetFAC
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.RomCall.JmpX jmp (.1-FPU.FADD,x)
|
|
||||||
*--------------------------------------
|
|
||||||
* http://www.txbobsc.com/scsc/scdocumentor/E7A0.html
|
|
||||||
*--------------------------------------
|
|
||||||
.1 .DA $E7C1 FADDT
|
|
||||||
.DA $E7AA FSUBT
|
|
||||||
.DA $E987 FMULTT.1
|
|
||||||
.DA $EA6B FDIVT+2
|
|
||||||
.DA $EE97 FPWRT
|
|
||||||
|
|
||||||
.DA $E941 LOG
|
|
||||||
.DA $EE8D SQR
|
|
||||||
.DA $EF09 EXP
|
|
||||||
.DA $EFEA COS
|
|
||||||
.DA $EFF1 SIN
|
|
||||||
.DA $F03A TAN
|
|
||||||
.DA $F09E ATN
|
|
||||||
*--------------------------------------
|
|
||||||
.DA $E9E3 LOAD.ARG.FROM.YA
|
|
||||||
.DA $EAF9 LOAD.FAC.FROM.YA
|
|
||||||
.DA $EB27 SETFOR (GETFAC)
|
|
||||||
.DA $EBB2 FCOMP (Y,A with FAC)
|
|
||||||
|
|
||||||
.DA $E82E NORMALIZE.FAC.2 (L->F)
|
|
||||||
.DA $EBF2 QINT (F->L)
|
|
||||||
|
|
||||||
.DA $EC4A FIN AToF
|
|
||||||
.DA $ED36 FOUT.1 PrintF
|
|
||||||
*--------------------------------------
|
|
||||||
* MLI : From Kernel Aux LC to Main LC
|
* MLI : From Kernel Aux LC to Main LC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.MLICall stx .1
|
GP.MLICall stx .1
|
||||||
|
@ -423,16 +395,6 @@ GP.IrqH.Exit stz IRQ.SkipA2osX reset flag
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IRQ.InKernel .BS 1
|
|
||||||
IRQ.InLib .BS 1
|
|
||||||
IRQ.SkipA2osX .BS 1
|
|
||||||
|
|
||||||
IRQ.IntNum .BS 1
|
|
||||||
IRQ.VBL.n0 .BS 1
|
|
||||||
IRQ.VBL.0n .BS 1
|
|
||||||
IRQ.Mode .BS 1
|
|
||||||
IRQ.Tick .BS 1
|
|
||||||
*--------------------------------------
|
|
||||||
*GO.Reset jsr GO.A2osX
|
*GO.Reset jsr GO.A2osX
|
||||||
* jmp CORE.Run
|
* jmp CORE.Run
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user