mirror of https://github.com/A2osX/A2osX.git
Kernel 0.94
This commit is contained in:
parent
30bf312f81
commit
7fe7639385
Binary file not shown.
32
ETC/INIT.txt
32
ETC/INIT.txt
|
@ -1,21 +1,23 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
#!/BIN/SH
|
||||
ECHO *** A2osX INIT Script ***
|
||||
# Main Screens
|
||||
NOHUP GETTY /dev/tty1 ${ROOT}SBIN/LOGIN &
|
||||
NOHUP GETTY /dev/tty2 ${ROOT}SBIN/LOGIN &
|
||||
NOHUP GETTY /dev/tty3 ${ROOT}SBIN/LOGIN &
|
||||
NOHUP GETTY /dev/tty4 ${ROOT}SBIN/LOGIN &
|
||||
${ROOT}sbin/getty /dev/tty1 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty2 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty3 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty4 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty5 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty6 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty7 ${ROOT}sbin/login
|
||||
${ROOT}sbin/getty /dev/tty8 ${ROOT}sbin/login
|
||||
# Serial Login
|
||||
#INSDRV SSC.DRV 9600,N,8,1,X
|
||||
#INSDRV SSC.I.DRV 9600,N,8,1,X
|
||||
#NOHUP GETTY /DEV/COM2 ${ROOT}SBIN/LOGIN &
|
||||
#INSDRV PIC.DRV
|
||||
# ${ROOT}sbin/insdrv ssc.drv 9600,N,8,1,X
|
||||
# ${ROOT}sbin/insdrv ssc.i.drv 9600,N,8,1,X
|
||||
# ${ROOT}sbin/getty /dev/com2 ${ROOT}sbin/login
|
||||
# Extra devices
|
||||
# ${ROOT}sbin/insdrv pic.drv
|
||||
# GUI Section
|
||||
#INSDRV MOUSE.DRV
|
||||
#INSDRV DHGR.DRV
|
||||
#NOHUP GUI &
|
||||
ECHO *** End INIT ***
|
||||
# ${ROOT}sbin/insdrv mouse.drv
|
||||
# ${ROOT}sbin/insdrv dhgr.drv
|
||||
# ${ROOT}bin/gui
|
||||
MAN
|
||||
TEXT ETC/INIT
|
||||
TEXT etc/init
|
||||
|
|
149
SBIN/INITD.S.txt
149
SBIN/INITD.S.txt
|
@ -7,12 +7,16 @@ NEW
|
|||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/MLI.I
|
||||
*--------------------------------------
|
||||
* Zero Page Segment, up to 32 bytes
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
BufPtr .BS 2
|
||||
hBuf .BS 1
|
||||
hFile .BS 1
|
||||
ZS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
|
@ -36,86 +40,137 @@ CS.START cld
|
|||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.CTRLR .DA MSG.CTRLR
|
||||
L.MSG.ETCINIT .DA MSG.ETCINIT
|
||||
L.BINSHELL .DA BINSHELL
|
||||
L.ETCINIT .DA ETCINIT
|
||||
L.MSG.RUNNING .DA MSG.RUNNING
|
||||
L.MSG.CTRLR .DA MSG.CTRLR
|
||||
L.BINSH .DA BINSH
|
||||
L.ETCINIT .DA ETCINIT
|
||||
L.BINMEM .DA BINMEM
|
||||
L.BINPS .DA BINPS
|
||||
L.BINSHUTDOWN .DA BINSHUTDOWN
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Called once at process creation
|
||||
* Put code for loading LIB here
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Called until exit with CS
|
||||
* if RUN exits with CC, RN entered again
|
||||
*--------------------------------------
|
||||
CS.RUN ldy #S.PS.PID
|
||||
lda (pPS),y
|
||||
cmp #1
|
||||
bne .9
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
>SYSCALL feof
|
||||
bcs .99
|
||||
tay
|
||||
bne .1
|
||||
|
||||
>SYSCALL getchar
|
||||
bcs .1
|
||||
bcs .99
|
||||
|
||||
cmp #$12 CTRL-R for Root mode
|
||||
cmp #18 CTRL-R for Root mode
|
||||
bne .1
|
||||
|
||||
>LDYA L.MSG.CTRLR
|
||||
>SYSCALL puts
|
||||
>PUSHW L.BINSHELL
|
||||
>PUSHBI S.PS.F.HOLD
|
||||
>SYSCALL ExecL
|
||||
>SLEEP
|
||||
|
||||
.1 >LDYA L.MSG.ETCINIT
|
||||
>SYSCALL puts
|
||||
>PUSHW L.ETCINIT
|
||||
>PUSHBI S.PS.F.HOLD
|
||||
>SYSCALL ExecL
|
||||
>SLEEP
|
||||
>LDYA L.MSG.RUNNING
|
||||
>SYSCALL puts
|
||||
|
||||
ldy #S.PS.F.HOLD
|
||||
ora (pPS),y
|
||||
sta (pPS),y
|
||||
>SLEEP
|
||||
|
||||
lda #0
|
||||
|
||||
>LDYA L.BINSH
|
||||
jsr CS.RUN.EXEC.YA
|
||||
|
||||
.1 jsr CS.RUN.ETCINIT
|
||||
bcs .99
|
||||
|
||||
.2 >SYSCALL getchar
|
||||
bcs .99
|
||||
|
||||
cmp #C.CR Ctrl.M
|
||||
bne .3
|
||||
|
||||
>LDYA L.BINMEM
|
||||
jsr CS.RUN.EXEC.YA
|
||||
bra .2
|
||||
|
||||
.3 cmp #16 Ctrl.P
|
||||
bne .4
|
||||
>LDYA L.BINPS
|
||||
jsr CS.RUN.EXEC.YA
|
||||
bra .2
|
||||
|
||||
.4 cmp #4 Ctrl.D
|
||||
bne .2
|
||||
|
||||
>LDYA L.BINSHUTDOWN
|
||||
jsr CS.RUN.EXEC.YA
|
||||
bcs .2
|
||||
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
.9 lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.ETCINIT >LDYAI 256
|
||||
>SYSCALL getmem
|
||||
>STYA BufPtr
|
||||
stx hBuf
|
||||
|
||||
>PUSHW L.ETCINIT
|
||||
>PUSHBI O.RDONLY+O.TEXT
|
||||
>PUSHBI S.FI.T.TXT
|
||||
>PUSHWZ
|
||||
>SYSCALL fopen
|
||||
bcs .90
|
||||
|
||||
sta hFile
|
||||
|
||||
.1 >PUSHWI 256
|
||||
>PUSHW BufPtr
|
||||
lda hFile
|
||||
>SYSCALL fgets
|
||||
bcs .80
|
||||
|
||||
lda (BufPtr)
|
||||
cmp #'#'
|
||||
beq .1
|
||||
|
||||
>LDYA BufPtr
|
||||
>SYSCALL puts
|
||||
>LDYA BufPtr
|
||||
jsr CS.RUN.EXEC.YA
|
||||
bra .1
|
||||
|
||||
.90 pha
|
||||
jsr .81
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
|
||||
.80 lda hFile
|
||||
>SYSCALL fclose
|
||||
|
||||
.81 lda hBuf
|
||||
>SYSCALL freemem
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Called if option S.PS.F.EVENT enabled in Header
|
||||
* Timer Event : every 10th seconds
|
||||
CS.RUN.EXEC.YA >PUSHYA
|
||||
>PUSHBI S.PS.F.HOLD+S.PS.F.SLEEP+S.PS.F.NOHUP
|
||||
>SYSCALL ExecL
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Called once, when RUN exited with CS
|
||||
* Put code for unloading LIB here
|
||||
*--------------------------------------
|
||||
CS.QUIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
MSG.CTRLR .AZ "INITD:Ctrl-R Pressed, entering ROOT mode..."
|
||||
MSG.ETCINIT .AS "INITD:Executing ETC/INIT Script:"
|
||||
BINSHELL .AZ "${ROOT}bin/sh"
|
||||
BINSH .AZ "${ROOT}bin/sh"
|
||||
ETCINIT .AZ "${ROOT}etc/init"
|
||||
MSG.RUNNING .AZ "INITD:Running..."
|
||||
MSH.SHUTDOWN .AZ "INITD:Shutting down..."
|
||||
*--------------------------------------
|
||||
* Per Process DATA segement (0 filled before INIT)
|
||||
BINMEM .AZ "${ROOT}bin/mem"
|
||||
BINPS .AZ "${ROOT}bin/ps"
|
||||
BINSHUTDOWN .AZ "${ROOT}bin/shutdown"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
INITD .EQ 1
|
||||
*--------------------------------------
|
||||
Kernel.Init2 sei
|
||||
ldx #$FF
|
||||
txs
|
||||
|
@ -151,6 +153,7 @@ Kernel.Init3C >PUSHWI MSG.Init3
|
|||
|
||||
jsr PwdMgrInit
|
||||
|
||||
.DO INITD=0
|
||||
lda KBD
|
||||
bpl .7
|
||||
sta KBDSTROBE
|
||||
|
@ -160,17 +163,21 @@ Kernel.Init3C >PUSHWI MSG.Init3
|
|||
>PUSHWI MSG.CTRLR
|
||||
>PUSHBI 0
|
||||
>SYSCALL2 printf
|
||||
>PUSHWI CTRLR.SHELL
|
||||
>PUSHWI BINSH
|
||||
bra .8
|
||||
|
||||
.7 >PUSHWI MSG.EtcInit
|
||||
>PUSHWI ETCINIT.CMDLINE
|
||||
>PUSHWI ETCINIT
|
||||
>PUSHBI 2
|
||||
>SYSCALL2 printf
|
||||
|
||||
>PUSHWI ETCINIT.CMDLINE
|
||||
>PUSHWI ETCINIT
|
||||
|
||||
.8 >PUSHBI 0 PS Flags
|
||||
.8 .ELSE
|
||||
>PUSHWI SBININITD
|
||||
|
||||
.FIN
|
||||
>PUSHBI 0 PS Flags
|
||||
>SYSCALL2 ExecL
|
||||
bcs Kernel.Init3.Err
|
||||
|
||||
|
@ -1187,8 +1194,12 @@ I.ENV.ROOT .AZ "ROOT"
|
|||
I.ENV.PATH .AZ "PATH=${BOOT}sbin/:${BOOT}bin/"
|
||||
I.ENV.LIB .AZ "LIB=${BOOT}lib/"
|
||||
I.ENV.DRV .AZ "DRV=${BOOT}drv/"
|
||||
CTRLR.SHELL .AZ "${BOOT}bin/sh"
|
||||
ETCINIT.CMDLINE .AZ "${ROOT}etc/init"
|
||||
.DO INITD=0
|
||||
BINSH .AZ "${BOOT}bin/sh"
|
||||
ETCINIT .AZ "${ROOT}etc/init"
|
||||
.ELSE
|
||||
SBININITD .AZ "${ROOT}sbin/initd"
|
||||
.FIN
|
||||
ETCPASSWD .AZ "${ROOT}etc/passwd"
|
||||
*--------------------------------------
|
||||
PwdMgr.ROOT .DA #S.SESSION.P.ROOT
|
||||
|
|
Loading…
Reference in New Issue