diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 7b96141d..1124b026 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/A2osX.S.QC.txt b/A2osX.S.QC.txt index ab2c8169..70a163bb 100644 --- a/A2osX.S.QC.txt +++ b/A2osX.S.QC.txt @@ -148,6 +148,7 @@ A2osX.QC.PrintYA iny dex bne .1 + .9 plp bcc .99 jsr CROUT @@ -170,7 +171,7 @@ MLIREADK .DA #4 MLICLOSEK .DA #1 .BS 1 *-------------------------------------- -SYSKERNEL >PSTR "SYS/KERNEL" +SYSKERNEL >PSTR "sys/kernel" *-------------------------------------- MSG.INIT1 >PSTR "A2osX[Stage1]:Init" MSG.SETPREFIXOK >PSTR "Set Prefix OK" diff --git a/A2osX.S.txt b/A2osX.S.txt index 4ac8323e..2f5e19e7 100644 --- a/A2osX.S.txt +++ b/A2osX.S.txt @@ -531,7 +531,7 @@ MLIQUIT01 .DA #4 .DA 0 *-------------------------------------- A2osX.LOGO >PSTR "A2OSX.LOGO" -SYS >PSTR "SYS/" +SYS >PSTR "sys/" KM.PREFIX >PSTR "KM." *-------------------------------------- SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index f8908d0d..7e0bfb45 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -27,12 +27,12 @@ FilterMatch >LDA.G index >SYSCALL GetMemPtr >STYA ZPPtr2 -* ldy #S.STAT.FSID -* lda (ZPFileStat),y -* bne .10 not prodos... + ldy #S.STAT.FSID + lda (ZPFileStat),y + bne .10 not prodos... -* >LDYA ZPPtr2 CI compare -* >SYSCALL strupr + >LDYA ZPPtr2 CI compare + >SYSCALL strupr .10 lda (ZPPtr2) Get first pattern byte beq .8 Match always if empty diff --git a/ETC/INIT.txt b/ETC/INIT.txt index 629f450e..d808f164 100644 --- a/ETC/INIT.txt +++ b/ETC/INIT.txt @@ -1,16 +1,16 @@ NEW AUTO 3,1 -#!/bin/sh +#!/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 & +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 & # 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 & +#NOHUP GETTY /DEV/COM2 ${ROOT}SBIN/LOGIN & #INSDRV PIC.DRV # GUI Section #INSDRV MOUSE.DRV diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 33716414..d78ee8f9 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -629,7 +629,6 @@ S.STAT.P.DEVSTATUS .EQ 57 BYTE S.STAT.P.DEVCNFLCT .EQ 58 BYTE S.STAT.P.DEVBLOCKS .EQ 59 WORD S.STAT.FSID .EQ 61 BYTE -S.STAT.FSID.PRODOS .EQ 0 * S.STAT .EQ 64 *-------------------------------------- diff --git a/INC/MLI.I.txt b/INC/MLI.I.txt index c8b35b0b..39135507 100644 --- a/INC/MLI.I.txt +++ b/INC/MLI.I.txt @@ -36,6 +36,9 @@ MLISETEOF .EQ $D0 MLIGETEOF .EQ $D1 MLISETBUF .EQ $D2 MLIGETBUF .EQ $D3 + +MLISETFILEINFOEX .EQ $D4 +MLIGETFILEINFOEX .EQ $D5 *-------------------------------------- S.FI.A .EQ $03 S.FI.A.R .EQ $01 @@ -62,6 +65,8 @@ S.FI.CTIME .EQ $10 * S.FI .EQ $12 *-------------------------------------- +S.FIEX .EQ $27 +*-------------------------------------- MLI .EQ $BF00 *JSPARE .EQ $BF03 DATETIME .EQ $BF06 diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index 1e545bb8..a8fba2bf 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -99,8 +99,8 @@ K.ReadDir.ROOT sta K.ReadDir.BufSize bcc .2 inc K.ReadDir.BufSize+1 - .2 - tya + +.2 tya clc adc #16 tay @@ -391,6 +391,9 @@ K.ReadDir.ADDF bne .1 *-------------------------------------- K.ReadDir.AddAccess + ldy CORE.FSID + sta K.S.STAT+S.STAT.FSID + ldy #$1E ProDOS Access lda (ZPPtr3),y diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 6890c0f2..d7c0c360 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -349,10 +349,12 @@ GP.SUB32 sec ldx #3 plp bcs .1 + lda #$79 ADC Absolute,Y .HS 2C BIT ABS .1 lda #$F9 SBC Absolute,Y sta .3 + .2 lda (pStack),y .3 adc ACC32,y SELF MODIFIED sta (pStack),y @@ -583,6 +585,7 @@ CORE.TickSec .BS 1 CORE.Tick10t .BS 1 CORE.CPUStatCnt .DA #100 CORE.LastPSID .DA #0 +CORE.FSID .BS 1 *-------------------------------------- IRQ.InKernel .BS 1 IRQ.InLib .BS 1 diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 1ed74b6d..e9a9ba03 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -151,11 +151,11 @@ Kernel.Init3C >PUSHBI 0 jsr PwdMgrInit -* lda KBD -* bpl .7 -* sta KBDSTROBE -* cmp #146 CTRL-R for ROOT mode -* bne .7 + lda KBD + bpl .7 + sta KBDSTROBE + cmp #146 CTRL-R for ROOT mode + bne .7 >PUSHBI 0 >LDYAI MSG.CTRLR @@ -194,6 +194,16 @@ KConfigLoad >LDYAI MSG.KCREAD jsr PrintFYA jsr MLI + .DA #MLIGETFILEINFOEX + .DA MLIGETFILEINFOEX00 + bcs .1 + + >LDYAI MSG.PRODOSFX + jsr PrintFYA + + inc CORE.FSID + +.1 jsr MLI .DA #MLIOPEN .DA MLIOPEN00 bcs .9 @@ -1076,6 +1086,7 @@ TClock.SIG.Cnt .EQ *-TClock.SIG *-------------------------------------- MSG.Init2 .AZ "A2osX[Stage2]:Init\nRelocating Kernel...\n" MSG.HZ .AZ "Kernel SYS Timer Set For %d0 hz Machine.\n" +MSG.PRODOSFX .AS "Running under ProDOS FX! Enabling lowercase mode.\n" MSG.KCREAD .AZ "Reading Kernel Config File..." MSG.KCREAD.OK .AZ "OK\n" MSG.KCREAD.KO .AZ "\nError While Reading Kernel Config File, Using Default.\n" @@ -1134,12 +1145,12 @@ DEV.CONSOLE .AZ "/dev/console" RAMx .AZ "/RAMx" I.ENV.BOOT .AZ "BOOT" 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/" +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" -ETCPASSWD .AZ "${ROOT}etc/passwd" +ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT" +ETCPASSWD .AZ "${ROOT}ETC/PASSWD" *-------------------------------------- PwdMgr.ROOT .DA #S.SESSION.P.ROOT .DA #0 UID @@ -1150,6 +1161,12 @@ PwdMgr.ROOT .DA #S.SESSION.P.ROOT .AZ "${ROOT}bin/sh" SHELL PwdMgr.ROOT.Size .EQ *-PwdMgr.ROOT *-------------------------------------- +MLIGETFILEINFOEX00 + .DA #2 + >PSTR "A2osX.KCONFIG" + .DA FIEX +FIEX .BS S.FIEX +*-------------------------------------- MLIOPEN00 .DA #3 .DA .1 .DA $B000