Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-02-27 17:46:40 +01:00
parent 7fe7639385
commit 1969e7e8ba
13 changed files with 157 additions and 106 deletions

View File

@ -1,9 +1,14 @@
# A2osX Macro Assembler (0.9.3) # A2osX Macro Assembler (0.94)
## Description ## Description
Multi-CPU macro assembler based on S-C MASM 3.0 dialect Multi-CPU macro assembler based on S-C MASM 3.0 dialect
## Difference with S-C MASM 3.0
Symbols are case sensitive
no .AC support
## Directives ## Directives
| Code | Description | Compatibility | Status | Syntax | Comment | | Code | Description | Compatibility | Status | Syntax | Comment |
@ -12,30 +17,30 @@ Multi-CPU macro assembler based on S-C MASM 3.0 dialect
| .AS | Ascii String | S-C,A2osX | Working | `.AS dTEXTd` where d is any delimiter `.AS -"TEXT"`produce ascii code with b7=1 | | | .AS | Ascii String | S-C,A2osX | Working | `.AS dTEXTd` where d is any delimiter `.AS -"TEXT"`produce ascii code with b7=1 | |
| .AT | Ascii string Terminated | S-C,A2osX | Working | (same as above) | | | .AT | Ascii string Terminated | S-C,A2osX | Working | (same as above) | |
| .AZ | Ascii string Zero terminated (C String) | S-C,A2osX | Working | (same as above) | | | .AZ | Ascii string Zero terminated (C String) | S-C,A2osX | Working | (same as above) | |
| .BS | Block Storage | S-C,A2osX | Working | | | | .BS | Block Storage | S-C,A2osX | Working | .BS x[,b] | |
| .DA | Data | S-C,A2osX | Working | | | | .DA | Data | S-C,A2osX | Working | | |
| .DO | conditional start | S-C,A2osX | Working | | | | .DO | conditional start | S-C,A2osX | Working | | |
| .DU,.DUMMY | begin DUmmy section | S-C,A2osX | Working | | | | .DU,.DUMMY | begin DUmmy section | S-C,A2osX | Working | | |
| .ED | End Dmmy section | S-C,A2osX | Working | | | | .ED | End Dummy section | S-C,A2osX | Working | | |
| .DA | DAta | S-C,A2osX | Working | | | | .DA | DAta | S-C,A2osX | Working | | |
| .ELSE | conditional ELSE | S-C,A2osX | Working | | | | .ELSE | conditional ELSE | S-C,A2osX | Working | | |
| .EM | End Macro | S-C,A2osX | Working | | | | .EM | End Macro | S-C,A2osX | Working | | |
| .EN | ENd of source code | S-C,A2osX | In Progress | | | | .EN | ENd of source code | S-C,A2osX | IGNORED | | |
| .EP | End Phase | S-C,A2osX | Working | | | | .EP | End Phase | S-C,A2osX | Working | | |
| .EQ | EQuate | S-C,A2osX | Working | | | | .EQ | EQuate | S-C,A2osX | Working | | |
| .FIN | conditional end| S-C,A2osX | Working | | | | .FIN | conditional end| S-C,A2osX | Working | | |
| .PH | PHase start| S-C,A2osX | Working | | | | .PH | PHase start| S-C,A2osX | Working | | |
| .HS | Hex String | S-C,A2osX | Working | `HS FE1A78` delimiter allowed : `HS 00.11,22` | | | .HS | Hex String | S-C,A2osX | Working | `HS FE1A78` delimiter allowed : `HS 00.11,22` | |
| .IN,.INB,.INBx | | S-C,A2osX | Working | | | | .IN,.INB,.INBx | | S-C,A2osX | Working | .INB MYFILE | |
| .LI,.LIST | | S-C,A2osX | Working | | | | .LI,.LIST | | S-C,A2osX | Working | .LIST ON/OFF CON/COFF MON/MOFF XON/XOFF | |
| .MA | MAcro deffinition | S-C,A2osX | Working | | | | .MA | MAcro deffinition | S-C,A2osX | Working | .MA >MYMACRO | |
| .OP | OPCode | S-C,A2osX | Working | `.OP cpu` where cpu is one of 6502,65C02,65R02,65816,Z80,SW16 | | | .OP | OPCode | S-C,A2osX | Working | `.OP cpu` where cpu is one of 6502,65C02,65R02,65816,Z80,SW16 | |
| .OR | ORigin | S-C,A2osX | Working | | | | .OR | ORigin | S-C,A2osX | Working | .OR $2000 | |
| .PG | PaGe control | S-C,A2osX | IGNORED | | | | .PG | PaGe control | S-C,A2osX | IGNORED | | |
| .PH | PHase | S-C,A2osX | Working | | | | .PH | PHase | S-C,A2osX | Working | | |
| .SE | | S-C,A2osX | Working | | | | .SE | | S-C,A2osX | Working | | |
| .TA | Target Address| S-C,A2osX | IGNORED | | | | .TA | Target Address| S-C,A2osX | IGNORED | | |
| .TF | Target File | S-C,A2osX | Working | | | | .TF | Target File | S-C,A2osX | Working | .TF TargetFile[,Txxx] | only ,TSYS supported |
| .TI | TItle | S-C,A2osX | IGNORED | | | | .TI | TItle | S-C,A2osX | IGNORED | | |
| .US | USer defined | S-C,A2osX | IGNORED | | | | .US | USer defined | S-C,A2osX | IGNORED | | |

Binary file not shown.

View File

@ -2,15 +2,12 @@ NEW
AUTO 3,1 AUTO 3,1
*--------------------------------------- *---------------------------------------
DIR.Reset lda #$80 DIR.Reset lda #$80
ldy #ASM.LI.ON >STA.G ASM.LI.ON
sta (pData),y
lda #0 >STZ.G ASM.LI.CON
ldy #ASM.LI.CON iny #ASM.LI.MON
sta (pData),y sta (pData),y
ldy #ASM.LI.MON iny #ASM.LI.XON
sta (pData),y
ldy #ASM.LI.XON
sta (pData),y sta (pData),y
>STA.G MAC.StkPtr >STA.G MAC.StkPtr
@ -198,6 +195,7 @@ DIR.DU >LDA.G ASM.DU.ON
lda #$80 lda #$80
sta (pData),y sta (pData),y
ldy #ASM.PC.DU ldy #ASM.PC.DU
jsr DIR.SavePC jsr DIR.SavePC
clc clc
@ -491,23 +489,37 @@ DIR.OP.SYNERR lda #E.SYNTAX.ERROR
sec sec
rts rts
*--------------------------------------- *---------------------------------------
DIR.OR jsr SRC.GetNextCharNB DIR.OR
* >DEBUG
jsr SRC.GetNextCharNB
bcs DIR.OP.SYNERR bcs DIR.OP.SYNERR
jsr EXP.Eval jsr EXP.Eval
bcs .9 bcs .9
ldy #ASM.PC
ldx #0 ldx #0
ldy #ASM.PC
.1 lda SRC.ACC,x .1 lda SRC.ACC,x
sta (pData),y sta (pData),y
inx
iny iny
inx
cpx #4 cpx #4
bne .1 bne .1
clc >LDA.G ASM.DU.ON
bmi .8
>LDA.G ASM.PH.ON
bmi .8
lda SRC.ACC
>STA.G DST.AUXTYPE
lda SRC.ACC+1
iny
sta (pData),y
.8 clc
.9 rts .9 rts
*--------------------------------------- *---------------------------------------
DIR.PG clc DIR.PG clc
@ -527,11 +539,13 @@ DIR.PH >LDA.G ASM.PH.ON
sec sec
rts rts
*--------------------------------------- *---------------------------------------
DIR.TA clc DIR.TA
rts
DIR.TA.8 clc
DIR.TA.RTS rts
*--------------------------------------- *---------------------------------------
DIR.TF >LDA.G ASM.PASS If Pass#1, ignore DIR.TF >LDA.G ASM.PASS If Pass#1, ignore
beq .8 beq DIR.TA.8
>LDA.G ArgDstFile >LDA.G ArgDstFile
beq .1 beq .1
@ -544,24 +558,73 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore
>LDYA ZPLinePtr >LDYA ZPLinePtr
.2 >PUSHYA .2 >SYSCALL strdup
bcs DIR.TA.RTS
>STYA ZPPtr1
stx ZPPtr2
lda #S.FI.T.BIN
sta ZPPtr2+1
ldy #$ff
.3 iny
lda (ZPPtr1),y
beq .7
cmp #','
bne .3
lda #0
sta (ZPPtr1),y
iny
lda (ZPPtr1),y
cmp #'T'
beq .4
.30 lda #E.SYNTAX.ERROR
bra .9
.4 ldx #0
.5 iny
lda (ZPPtr1),y
cmp DIR.SYS,x including \0
bne .30
inx
cpx #4
bne .5
lda #S.FI.T.SYS
sta ZPPtr2+1
.7 >PUSHW ZPPtr1
>PUSHWI 0 Allocate >PUSHWI 0 Allocate
>SYSCALL RealPath >SYSCALL RealPath
bcs .9 bcs .9
txa txa
>STA.G DST.hFILENAME >STA.G DST.hFILENAME
>SYSCALL getmemptr >SYSCALL getmemptr
>PUSHYA >PUSHYA
>PUSHBI O.WRONLY+O.CREATE >PUSHBI O.WRONLY+O.CREATE
>PUSHBI S.FI.T.BIN >PUSHB ZPPtr2+1 Type
>PUSHWZ >PUSHW.G DST.AUXTYPE
>SYSCALL FOpen >SYSCALL FOpen
bcs .9 bcs .9
>STA.G DST.hREFNUM >STA.G DST.hREFNUM
.8 clc clc
.9 rts
.9 php
pha
lda ZPPtr2
>SYSCALL freemem
pla
plp
rts
*--------------------------------------- *---------------------------------------
DIR.TI clc DIR.TI clc
rts rts
@ -572,14 +635,17 @@ DIR.US clc
DIR.SavePC phy DIR.SavePC phy
plx plx
ldy #ASM.PC+3 ldy #ASM.PC+3
.1 lda (pData),y .1 lda (pData),y
pha pha
dey dey
cpy #ASM.PC-1 cpy #ASM.PC-1
bne .1 bne .1
phx phx
ply ply
ldx #3 ldx #3
.2 pla .2 pla
sta (pData),y sta (pData),y
iny iny
@ -589,18 +655,22 @@ DIR.SavePC phy
rts rts
*--------------------------------------- *---------------------------------------
DIR.RestorePC ldx #3 DIR.RestorePC ldx #3
.1 lda (pData),y .1 lda (pData),y
pha pha
iny iny
dex dex
bpl .1 bpl .1
ldy #ASM.PC+3 ldy #ASM.PC+3
ldx #3 ldx #3
.2 pla .2 pla
sta (pData),y sta (pData),y
dey dey
dex dex
bpl .2 bpl .2
rts rts
*--------------------------------------- *---------------------------------------
MAN MAN

View File

@ -144,21 +144,26 @@ EXP.Eval.Next stz SRC.ACC.F
cmp #',' cmp #','
bne EXP.EvalExitSYN bne EXP.EvalExitSYN
bra EXP.EvalOperator bra EXP.EvalOperator
.45 jsr SRC.GetNextChar .45 jsr SRC.GetNextChar
bra EXP.EvalOperator bra EXP.EvalOperator
.42 jsr SRC.IsLetter Symbol ? .42 jsr SRC.IsLetter Symbol ?
bcs EXP.EvalExitSYN bcs EXP.EvalExitSYN
jsr EXP.GetGlobal jsr EXP.GetGlobal
bcs EXP.EvalExitUND bcs EXP.EvalExitUND
bra EXP.EvalOperator bra EXP.EvalOperator
EXP.EvalExitOK >LDA.G EXP.Modifier EXP.EvalExitOK >LDA.G EXP.Modifier
beq .8 beq .8
asl asl
tax tax
jmp (J.EXP.MOD-2,x) jmp (J.EXP.MOD-2,x)
.8 clc .8 clc
EXP.EvalExitRTS rts EXP.EvalExitRTS rts
EXP.EvalExitSYN lda #E.SYNTAX.ERROR EXP.EvalExitSYN lda #E.SYNTAX.ERROR
sec sec
rts rts

View File

@ -49,12 +49,12 @@ FIO.LOAD.CPU >STYA ZPPtr2
.3 stz ASM.CPU.FILE,x .3 stz ASM.CPU.FILE,x
>LDA.G ASM.T.hMem >LDA.G ASM.hCPUFILE
beq .4 beq .4
>SYSCALL FreeMem >SYSCALL FreeMem
>STZ.G ASM.T.hMem >STZ.G ASM.hCPUFILE
.4 >PUSHW L.MSG.T.FILE .4 >PUSHW L.MSG.T.FILE
>PUSHW L.ASM.CPU.FILE >PUSHW L.ASM.CPU.FILE
@ -69,7 +69,7 @@ FIO.LOAD.CPU >STYA ZPPtr2
bcs .9 bcs .9
txa txa
>STA.G ASM.T.hMem >STA.G ASM.hCPUFILE
>SYSCALL GetMemPtr >SYSCALL GetMemPtr
>STYA ZPPtr1 >STYA ZPPtr1
@ -118,11 +118,12 @@ FIO.OpenFile >STYA ZPPtr1
rts rts
.1 >PUSHW ZPPtr1 .1 >PUSHW ZPPtr1
>PUSHW L.FIO.Stat >PUSHW ZPTmpBuf
>SYSCALL Stat >SYSCALL Stat
bcs .99 bcs .99
lda FIO.Stat+S.STAT.P.TYPE ldy #S.STAT.P.TYPE
lda (ZPTmpBuf),y
cmp #S.FI.T.TXT cmp #S.FI.T.TXT
bne .2 bne .2
@ -137,7 +138,9 @@ FIO.OpenFile >STYA ZPPtr1
.3 >PUSHW ZPPtr1 .3 >PUSHW ZPPtr1
txa txa
>PUSHA >PUSHA
>PUSHB FIO.Stat+S.STAT.P.TYPE ldy #S.STAT.P.TYPE
lda (ZPTmpBuf),y
>PUSHA
>PUSHWZ >PUSHWZ
>SYSCALL FOpen >SYSCALL FOpen
bcs .99 bcs .99
@ -154,7 +157,10 @@ FIO.OpenFile >STYA ZPPtr1
adc #SRC.hFILETYPES adc #SRC.hFILETYPES
tay tay
lda FIO.Stat+S.STAT.P.TYPE phy
ldy #S.STAT.P.TYPE
lda (ZPTmpBuf),y
ply
sta (pData),y sta (pData),y
>INC.G SRC.Depth >INC.G SRC.Depth

View File

@ -231,6 +231,9 @@ OUT.EmitByte phy
>LDA.G ASM.PASS >LDA.G ASM.PASS
beq .10 beq .10
>LDA.G ASM.DU.ON
bmi .10
pla pla
pha pha
>PUSHA >PUSHA
@ -254,8 +257,10 @@ OUT.EmitByte phy
jsr OUT.PrintCR jsr OUT.PrintCR
.1 jsr OUT.Reset .1 jsr OUT.Reset
lda #0 lda #0
ldy #OUT.Buf ldy #OUT.Buf
.2 inc .2 inc
sta (pData),y sta (pData),y
clc clc

View File

@ -941,14 +941,6 @@ SRC.DoCheck sec
.8 rts CS if TRUE .8 rts CS if TRUE
*--------------------------------------- *---------------------------------------
*DEBUG.PSTR pha
* >PUSHW L.MSG.PSTR
* pla
* >PUSHYA
* >PUSHBI 2
* >SYSCALL printf
* rts
*---------------------------------------
MAN MAN
SAVE USR/SRC/BIN/ASM.S.SRC SAVE USR/SRC/BIN/ASM.S.SRC
LOAD USR/SRC/BIN/ASM.S LOAD USR/SRC/BIN/ASM.S

View File

@ -27,9 +27,6 @@ SYM.Init >SYSCALL SListNew
>STA.G SYM.hGlobalBuf >STA.G SYM.hGlobalBuf
.9 rts .9 rts
*--------------------------------------- *---------------------------------------
SYM.Reset >STZ.G SYM.bInGlobal
rts
*---------------------------------------
SYM.Quit >LDA.G SYM.hGlobalBuf SYM.Quit >LDA.G SYM.hGlobalBuf
beq .1 beq .1

View File

@ -33,6 +33,9 @@ ZPMacroBuf .BS 2
ZPMacroArgBuf .BS 2 ZPMacroArgBuf .BS 2
ZPMacroArgCnt .BS 1 ZPMacroArgCnt .BS 1
DIR.Byte .BS 1
DIR.Word .BS 2
ZPPtr1 .BS 2 ZPPtr1 .BS 2
ZPPtr2 .BS 2 ZPPtr2 .BS 2
@ -127,7 +130,6 @@ L.MSG.LSYMBOL .DA MSG.LSYMBOL
L.MSG.PSYMBOL .DA MSG.PSYMBOL L.MSG.PSYMBOL .DA MSG.PSYMBOL
L.MSG.SUMMARY .DA MSG.SUMMARY L.MSG.SUMMARY .DA MSG.SUMMARY
L.MSG.END .DA MSG.END L.MSG.END .DA MSG.END
L.MSG.PSTR .DA MSG.PSTR
L.MSG.CRLF .DA MSG.CRLF L.MSG.CRLF .DA MSG.CRLF
L.MSG.WORD .DA MSG.WORD L.MSG.WORD .DA MSG.WORD
L.MSG.ACC .DA MSG.ACC L.MSG.ACC .DA MSG.ACC
@ -137,7 +139,6 @@ L.MSG.T.FILE .DA MSG.T.FILE
L.SRC.AM.StrBuf .DA SRC.AM.StrBuf L.SRC.AM.StrBuf .DA SRC.AM.StrBuf
L.ASM.6502 .DA ASM.6502 L.ASM.6502 .DA ASM.6502
L.ASM.CPU.FILE .DA ASM.CPU.FILE L.ASM.CPU.FILE .DA ASM.CPU.FILE
L.FIO.Stat .DA FIO.Stat
L.SRC.ACC.F .DA SRC.ACC.F L.SRC.ACC.F .DA SRC.ACC.F
L.SRC.ACC .DA SRC.ACC L.SRC.ACC .DA SRC.ACC
L.SRC.ARG .DA SRC.ARG L.SRC.ARG .DA SRC.ARG
@ -337,9 +338,10 @@ CS.RUN ldy #S.PS.hStdIn
bcs .99 bcs .99
jsr DIR.Reset jsr DIR.Reset
jsr SYM.Reset
jsr MAC.Reset jsr MAC.Reset
>STZ.G SYM.bInGlobal
.10 >LDYA ZPLineBuf .10 >LDYA ZPLineBuf
>STYA ZPLinePtr >STYA ZPLinePtr
@ -415,7 +417,7 @@ CS.QUIT jsr FIO.FileClose
jsr SYM.Quit jsr SYM.Quit
ldy #ASM.T.hMem ldy #ASM.hCPUFILE
jsr .7 jsr .7
ldy #SRC.hFILENAME ldy #SRC.hFILENAME
@ -501,6 +503,8 @@ SRC.MOD.RESERVED >PSTR "#/^<>"
SRC.EXP.RESERVED >PSTR "^!|&<=>+-*/" SRC.EXP.RESERVED >PSTR "^!|&<=>+-*/"
SRC.AM.RESERVED >PSTR "[]()," SRC.AM.RESERVED >PSTR "[](),"
*--------------------------------------- *---------------------------------------
DIR.SYS .AZ "SYS"
*---------------------------------------
ASM.6502 .AZ "6502" ASM.6502 .AZ "6502"
MSG.HELP .AS "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\n" MSG.HELP .AS "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\n"
.AS "Usage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n" .AS "Usage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n"
@ -526,15 +530,12 @@ MSG.LSYMBOL .AZ " .%d=%h%h%h%h"
MSG.PSYMBOL .AZ " :%d(%d)=%h%h%h%h" MSG.PSYMBOL .AZ " :%d(%d)=%h%h%h%h"
MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\n" MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\n"
MSG.END .AZ "**** End Of Assembly." MSG.END .AZ "**** End Of Assembly."
MSG.PSTR .AS "{%S}"
MSG.CRLF .AZ "\r\n" MSG.CRLF .AZ "\r\n"
MSG.WORD .AZ ">$%H" MSG.WORD .AZ ">$%H"
MSG.ACC .AZ "%b,%d,%h%h%h%h\r\n" MSG.ACC .AZ "%b,%d,%h%h%h%h\r\n"
*--------------------------------------- *---------------------------------------
ASM.CPU.FILE .BS 65 ASM.CPU.FILE .BS 65
FIO.Stat .BS S.STAT
SRC.ACC.F .BS 1 SRC.ACC.F .BS 1
SRC.ACC.SIZE .BS 1 SRC.ACC.SIZE .BS 1
SRC.ACC .BS 4 SRC.ACC .BS 4
@ -563,19 +564,16 @@ SRC.hFILETYPES .BS IN.MAXDEPTH
SRC.LINENUM .BS 2 SRC.LINENUM .BS 2
SRC.AMID .BS 1 SRC.AMID .BS 1
ASM.hCPUFILE .BS 1
DST.hFILENAME .BS 1 DST.hFILENAME .BS 1
DST.hREFNUM .BS 1 DST.hREFNUM .BS 1
DST.hFILETYPE .BS 1 DST.AUXTYPE .BS 2
DIR.Word .BS 2
DIR.Byte .BS 1
EXP.Modifier .BS 1 EXP.Modifier .BS 1
EXP.Prefix .BS 1 EXP.Prefix .BS 1
EXP.Operator .BS 1 EXP.Operator .BS 1
ASM.T.hMem .BS 1
ASM.PASS .BS 1 ASM.PASS .BS 1
ASM.DO.StackPtr .BS 1 ASM.DO.StackPtr .BS 1

View File

@ -203,10 +203,10 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
.9 sec .9 sec
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN.OPEN >PUSHWZ Aux type CS.RUN.OPEN >PUSHW ZPPtr1
>PUSHBI 0 Type
>PUSHBI O.RDONLY >PUSHBI O.RDONLY
>LDYA ZPPtr1 >PUSHBI 0 Type
>PUSHWZ Aux type
>SYSCALL FOpen >SYSCALL FOpen
rts rts
*-------------------------------------- *--------------------------------------

View File

@ -48,7 +48,7 @@ CS.RUN >LDYA L.MemStat
>SYSCALL GetMemStat >SYSCALL GetMemStat
>LDYA L.MSG.Main >LDYA L.MSG.Main
>SYSCALL puts >SYSCALL PutS
lda MemStat+S.MSTAT.MF lda MemStat+S.MSTAT.MF
sec sec
@ -61,7 +61,7 @@ CS.RUN >LDYA L.MemStat
>SLEEP >SLEEP
>LDYA L.MSG.Aux >LDYA L.MSG.Aux
>SYSCALL puts >SYSCALL PutS
lda MemStat+S.MSTAT.XF lda MemStat+S.MSTAT.XF
sec sec
@ -74,7 +74,7 @@ CS.RUN >LDYA L.MemStat
>SLEEP >SLEEP
>LDYA L.MSG.Kernel >LDYA L.MSG.Kernel
>SYSCALL puts >SYSCALL PutS
lda MemStat+S.MSTAT.DH lda MemStat+S.MSTAT.DH
sec sec
@ -84,8 +84,8 @@ CS.RUN >LDYA L.MemStat
sbc MemStat+S.MSTAT.DF+1 sbc MemStat+S.MSTAT.DF+1
ldx #S.MSTAT.DL ldx #S.MSTAT.DL
jsr CS.RUN.PRINT jsr CS.RUN.PRINT
>LDYA L.MSG.END >LDYA L.MSG.End
>SYSCALL puts >SYSCALL PutS
lda #0 lda #0
sec sec
rts rts
@ -107,7 +107,7 @@ CS.RUN.PRINT pha
pla pla
>PUSHYA >PUSHYA
>PUSHBI 14 >PUSHBI 14
>SYSCALL printf >SYSCALL PrintF
rts rts
*-------------------------------------- *--------------------------------------
CS.DOEVENT sec CS.DOEVENT sec

View File

@ -132,8 +132,6 @@ CS.RUN.ETCINIT >LDYAI 256
cmp #'#' cmp #'#'
beq .1 beq .1
>LDYA BufPtr
>SYSCALL puts
>LDYA BufPtr >LDYA BufPtr
jsr CS.RUN.EXEC.YA jsr CS.RUN.EXEC.YA
bra .1 bra .1

View File

@ -1,8 +1,6 @@
NEW NEW
AUTO 3,1 AUTO 3,1
*-------------------------------------- *--------------------------------------
INITD .EQ 1
*--------------------------------------
Kernel.Init2 sei Kernel.Init2 sei
ldx #$FF ldx #$FF
txs txs
@ -153,30 +151,12 @@ Kernel.Init3C >PUSHWI MSG.Init3
jsr PwdMgrInit jsr PwdMgrInit
.DO INITD=0 >PUSHWI MSG.EXEC
lda KBD
bpl .7
sta KBDSTROBE
cmp #146 CTRL-R for ROOT mode
bne .7
>PUSHWI MSG.CTRLR
>PUSHBI 0
>SYSCALL2 printf
>PUSHWI BINSH
bra .8
.7 >PUSHWI MSG.EtcInit
>PUSHWI ETCINIT
>PUSHBI 2
>SYSCALL2 printf
>PUSHWI ETCINIT
.8 .ELSE
>PUSHWI SBININITD >PUSHWI SBININITD
>PUSHBI 2
>SYSCALL printf
.FIN >PUSHWI SBININITD
>PUSHBI 0 PS Flags >PUSHBI 0 PS Flags
>SYSCALL2 ExecL >SYSCALL2 ExecL
bcs Kernel.Init3.Err bcs Kernel.Init3.Err
@ -1166,7 +1146,7 @@ MSG.TSK .AZ "Task Manager..."
MSG.PWD .AZ "Password Manager..." MSG.PWD .AZ "Password Manager..."
MSG.CTRLR .AZ "Ctrl-R Pressed, entering ROOT mode..." MSG.CTRLR .AZ "Ctrl-R Pressed, entering ROOT mode..."
MSG.PWDINIT .AZ "Loading ETC/PASSWD file..." MSG.PWDINIT .AZ "Loading ETC/PASSWD file..."
MSG.ETCINIT .AZ "Executing %s..." MSG.EXEC .AZ "Executing %s..."
MSG.StartupErr .AZ "Failed : [$%h]\r\n" MSG.StartupErr .AZ "Failed : [$%h]\r\n"
MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n" MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n"
*-------------------------------------- *--------------------------------------
@ -1194,12 +1174,7 @@ I.ENV.ROOT .AZ "ROOT"
I.ENV.PATH .AZ "PATH=${BOOT}sbin/:${BOOT}bin/" I.ENV.PATH .AZ "PATH=${BOOT}sbin/:${BOOT}bin/"
I.ENV.LIB .AZ "LIB=${BOOT}lib/" I.ENV.LIB .AZ "LIB=${BOOT}lib/"
I.ENV.DRV .AZ "DRV=${BOOT}drv/" I.ENV.DRV .AZ "DRV=${BOOT}drv/"
.DO INITD=0
BINSH .AZ "${BOOT}bin/sh"
ETCINIT .AZ "${ROOT}etc/init"
.ELSE
SBININITD .AZ "${ROOT}sbin/initd" SBININITD .AZ "${ROOT}sbin/initd"
.FIN
ETCPASSWD .AZ "${ROOT}etc/passwd" ETCPASSWD .AZ "${ROOT}etc/passwd"
*-------------------------------------- *--------------------------------------
PwdMgr.ROOT .DA #S.SESSION.P.ROOT PwdMgr.ROOT .DA #S.SESSION.P.ROOT