diff --git a/.Docs/Shell Developers Guide.md b/.Docs/Shell Developers Guide.md index 169ce057..44eb94c5 100644 --- a/.Docs/Shell Developers Guide.md +++ b/.Docs/Shell Developers Guide.md @@ -124,8 +124,7 @@ Notice that the DO X and DO Y logic is swapped between the two cases. | END | Working | End of SWITCH Statement | | EXIT | Working | exit function, script or shell | | FI | Working | Terminator for IF block | -| FUNCTION | Working | FUNCTION fu -nction_name {
\
} | +| FUNCTION | Working | FUNCTION function_name {
\
} | | IF | Working | [ \ ]
![ \ ]| | LOOP | Working | Terminator for WHILE block | | MD | Working | MD path or relative path
Create a directory | @@ -183,7 +182,19 @@ if [] && [] is AND if [] || [] is OR -functions +### functions + +if you SET -F, it will discard ALL previously learnt FUNC in the current SH context +if . FUNCS1 file add 3 +then . FUNCS2 file add 2 +all 5 are available until an set -X is met +if you launch . MYFILE1, the code within MYFILE1 can CALL all 5 functions +but MYFILE1 (wthout dot) will run in a separate SH process, so no access to the 5 functions known by parent SH +functions bodies are stored in AUX ram +so you can put around 30k of code in AUX ram then do a short MYFILE1 that calls a lot of FUNC in AUX +FUNCs recursion is allowed (until you explode the stack!) + +CORE.STACK.MAX = 128....so each CALL consumes about 7 bytes of stack (return Ctx/Ptr, ArgVC,hArgV and CALL keywordID) * DIV/MOD diff --git a/.Docs/Technical Spec.md b/.Docs/Technical Spec.md index 03dcd2ce..005f4e60 100644 --- a/.Docs/Technical Spec.md +++ b/.Docs/Technical Spec.md @@ -56,7 +56,7 @@ This is the functional specification for A2osX and its system modules, internal | READ | Working | -S : no echo (password)
-P : "prompt message" | | REN | Working | Rename a file, directory or volume | | RETURN | In Progress | Exit function with return code | -| SET | Working | -X : toggle debug mode
-C : toggle Control-C break mode | +| SET | Working | -X : toggle debug mode
-C : toggle Control-C break mode
-F : remove all defined functions | | SHIFT | Working | Remove $1 from cmd line | | SLEEP | Working | Wait \ 10th sec | | SWITCH | Working | SWITCH | diff --git a/.Floppies/A2OSX.MAKE.po b/.Floppies/A2OSX.MAKE.po index b8024ce9..fd19d28c 100644 Binary files a/.Floppies/A2OSX.MAKE.po and b/.Floppies/A2OSX.MAKE.po differ diff --git a/.Floppies/RC.140.po b/.Floppies/RC.140.po index 7f01f4b6..64506730 100644 Binary files a/.Floppies/RC.140.po and b/.Floppies/RC.140.po differ diff --git a/.Floppies/RC.800.po b/.Floppies/RC.800.po index 8442f91d..ddf2c75d 100644 Binary files a/.Floppies/RC.800.po and b/.Floppies/RC.800.po differ diff --git a/MAKE/A2OSXFILES.txt b/MAKE/A2OSXFILES.txt new file mode 100644 index 00000000..0714160d --- /dev/null +++ b/MAKE/A2OSXFILES.txt @@ -0,0 +1,71 @@ +NEW + PREFIX +AUTO 4,1 +A2OSX.LOGO +A2OSX.SYSTEM +BIN/ARP +BIN/CAT +BIN/CHMOD +BIN/CHTYP +BIN/CMP +BIN/CP +BIN/CUT +BIN/DNSINFO +BIN/EDIT +BIN/FORMAT +BIN/GREP +BIN/HTTPGET +BIN/IPCONFIG +BIN/KILL +BIN/LS +BIN/LSDEV +BIN/LSOF +BIN/MD5 +BIN/MEM +BIN/MEMDUMP +BIN/MKDIR +BIN/MORE +BIN/MV +BIN/NETSTAT +BIN/NSCUTIL +BIN/PAK +BIN/PING +BIN/PS +BIN/RM +BIN/RPCDUMP +BIN/SH +BIN/TELNET +BIN/UNPAK +BIN/USERADD +BIN/USERDEL +BIN/WC +BIN/WHO +DRV/LANCEGS.DRV +DRV/SSC.DRV +DRV/SSC.I.DRV +DRV/UTHERNET.DRV +DRV/UTHERNET2.DRV +ETC/HOSTNAME +ETC/HOSTS +ETC/INIT +ETC/ISSUE +ETC/MOTD +ETC/NETWORK +LIB/LIBBLKDEV +LIB/LIBCRYPT +LIB/LIBPAK +LIB/LIBTCPIP +PRODOS +SBIN/GETTY +SBIN/INITD +SBIN/INSDRV +SBIN/KCONFIG +SBIN/LOGIN +SBIN/NETWORKD +SBIN/TELNETD +SYS/KERNEL +SYS/KM.NSC +SYS/KM.RAMWORKS +SYS/KM.VSDRIVE +MAN +TEXT /MAKE/USR/SHARE/MAKE/A2OSXFILES diff --git a/MAKE/ABOOTFILES.txt b/MAKE/ABOOTFILES.txt new file mode 100644 index 00000000..47020a84 --- /dev/null +++ b/MAKE/ABOOTFILES.txt @@ -0,0 +1,52 @@ +NEW + PREFIX +AUTO 4,1 +A2OSX.SYSTEM +BIN/CAT +BIN/CHTYP +BIN/CP +BIN/CUT +BIN/DNSINFO +BIN/EDIT +BIN/GREP +BIN/HTTPGET +BIN/IPCONFIG +BIN/KILL +BIN/LS +BIN/LSDEV +BIN/LSOF +BIN/MD5 +BIN/MEM +BIN/MKDIR +BIN/MORE +BIN/MV +BIN/NETSTAT +BIN/NSCUTIL +BIN/PING +BIN/PS +BIN/RM +BIN/SH +BIN/TELNET +DRV/LANCEGS.DRV +DRV/SSC.DRV +DRV/SSC.I.DRV +DRV/UTHERNET.DRV +DRV/UTHERNET2.DRV +ETC/INIT +ETC/ISSUE +ETC/MOTD +ETC/NETWORK +LIB/LIBBLKDEV +LIB/LIBCRYPT +LIB/LIBTCPIP +PRODOS +SBIN/GETTY +SBIN/INITD +SBIN/INSDRV +SBIN/LOGIN +SBIN/NETWORKD +SBIN/TELNETD +SYS/KERNEL +SYS/KM.NSC +MAN +TEXT /MAKE/USR/SHARE/MAKE/ABOOTFILES diff --git a/MAKE/MAKEB800.txt b/MAKE/MAKEB800.txt deleted file mode 100644 index 7b92cea9..00000000 --- a/MAKE/MAKEB800.txt +++ /dev/null @@ -1,159 +0,0 @@ -NEW - PREFIX -AUTO 4,1 -#!/BIN/SH -# -# This script makes a proper BOOT disk using the files -# found in a particular BUILD stored in /MAKE/BUILDS -# -ECHO \f -ECHO "\n\nAB800 (800K Floppy) Media Creator\n\n" -ECHO "You must have the correct 800K image mounted on S7D2\n" -READ -P "Do you want to proceed (Y/N)? " P -SWITCH $P - CASE Y - CASE y - ECHO - BREAK - DEFAULT - ECHO "\n\nExiting.\n" - EXIT -END -READ -P "WHICH BUILD NO: " B -IF [ -Z $B ] - ECHO "You did not enter any response." - ECHO - ECHO "Exiting" - EXIT -FI -SET SRC = "/MAKE/BUILDS/BUILD${B}" -IF [ -D ${SRC} ] - ECHO "\n\nFound Valid BUILD\n" -ELSE - ECHO "\n\nValid BUILD not found." - ECHO - ECHO "Exiting" - EXIT -FI -ECHO "Is this a (R)elease, (C)andidate or (S)table Build" -READ -P "ENTER R C or S: " RCS -IF [ -Z $RCS ] - ECHO "You did not enter any response." - ECHO - ECHO "Exiting" - EXIT -FI -SWITCH $RCS - CASE r - CASE R - SET IM = "Release Build No. ${B}" - BREAK - CASE c - CASE C - SET IM = "Release Candidate Build No. ${B}" - BREAK - CASE s - CASE S - SET IM = "Stable Release Build No. ${B}" - BREAK - DEFAULT - ECHO "You did not enter a valid response." - ECHO "You must enter only one of the characters R C or S!" - ECHO - ECHO "Exiting" - EXIT -END -ECHO "Formatting Destination..." -FORMAT -4 -B 1600 S7D2 AB800 -MD /AB800/BIN -MD /AB800/DRV -MD /AB800/ETC -MD /AB800/LIB -MD /AB800/ROOT -MD /AB800/SBIN -MD /AB800/SYS -CP ${SRC}/A2OSX.LOGO /AB800/A2OSX.LOGO -CP ${SRC}/A2OSX.SYSTEM /AB800/A2OSX.SYSTEM -CP ${SRC}/PRODOS /AB800/PRODOS -CP ${SRC}/BIN/ARP /AB800/BIN/ARP -CP ${SRC}/BIN/ASM /AB800/BIN/ASM -CP ${SRC}/BIN/ASM.T.6502 /AB800/BIN/ASM.T.6502 -CP ${SRC}/BIN/ASM.T.65816 /AB800/BIN/ASM.T.65816 -CP ${SRC}/BIN/ASM.T.65C02 /AB800/BIN/ASM.T.65C02 -CP ${SRC}/BIN/ASM.T.65R02 /AB800/BIN/ASM.T.65R02 -CP ${SRC}/BIN/ASM.T.Z80 /AB800/BIN/ASM.T.Z80 -CP ${SRC}/BIN/BMP2PIX /AB800/BIN/BMP2PIX -CP ${SRC}/BIN/CAT /AB800/BIN/CAT -#CP ${SRC}/BIN/CHMOD /AB800/BIN/CHMOD -CP ${SRC}/BIN/CHTYP /AB800/BIN/CHTYP -CP ${SRC}/BIN/CMP /AB800/BIN/CMP -CP ${SRC}/BIN/CP /AB800/BIN/CP -CP ${SRC}/BIN/CSH /AB800/BIN/CSH -CP ${SRC}/BIN/CUT /AB800/BIN/CUT -CP ${SRC}/BIN/DNSINFO /AB800/BIN/DNSINFO -CP ${SRC}/BIN/EDIT /AB800/BIN/EDIT -CP ${SRC}/BIN/FORMAT /AB800/BIN/FORMAT -CP ${SRC}/BIN/GREP /AB800/BIN/GREP -CP ${SRC}/BIN/IPCONFIG /AB800/BIN/IPCONFIG -CP ${SRC}/BIN/KILL /AB800/BIN/KILL -CP ${SRC}/BIN/L /AB800/BIN/L -CP ${SRC}/BIN/LM /AB800/BIN/LM -CP ${SRC}/BIN/LS /AB800/BIN/LS -CP ${SRC}/BIN/LSDEV /AB800/BIN/LSDEV -CP ${SRC}/BIN/LSOF /AB800/BIN/LSOF -CP ${SRC}/BIN/MD5 /AB800/BIN/MD5 -CP ${SRC}/BIN/MEM /AB800/BIN/MEM -CP ${SRC}/BIN/MEMDUMP /AB800/BIN/MEMDUMP -CP ${SRC}/BIN/MKDIR /AB800/BIN/MKDIR -CP ${SRC}/BIN/MORE /AB800/BIN/MORE -CP ${SRC}/BIN/MV /AB800/BIN/MV -CP ${SRC}/BIN/NETSTAT /AB800/BIN/NETSTAT -CP ${SRC}/BIN/NSCUTIL /AB800/BIN/NSCUTIL -CP ${SRC}/BIN/PAK /AB800/BIN/PAK -CP ${SRC}/BIN/PING /AB800/BIN/PING -CP ${SRC}/BIN/PS /AB800/BIN/PS -CP ${SRC}/BIN/RM /AB800/BIN/RM -CP ${SRC}/BIN/RPCDUMP /AB800/BIN/RPCDUMP -CP ${SRC}/BIN/TELNET /AB800/BIN/TELNET -CP ${SRC}/BIN/HTTPGET /AB800/BIN/HTTPGET -CP ${SRC}/BIN/SH /AB800/BIN/SH -CP ${SRC}/BIN/UNPAK /AB800/BIN/UNPAK -CP ${SRC}/BIN/USERADD /AB800/BIN/USERADD -CP ${SRC}/BIN/USERDEL /AB800/BIN/USERDEL -CP ${SRC}/BIN/WC /AB800/BIN/WC -CP ${SRC}/BIN/WHO /AB800/BIN/WHO -CP ${SRC}/DRV/LANCEGS.DRV /AB800/DRV/LANCEGS.DRV -CP ${SRC}/DRV/SSC.DRV /AB800/DRV/SSC.DRV -CP ${SRC}/DRV/SSC.I.DRV /AB800/DRV/SSC.I.DRV -CP ${SRC}/DRV/UTHER2.AI.DRV /AB800/DRV/UTHER2.AI.DRV -CP ${SRC}/DRV/UTHERNET.DRV /AB800/DRV/UTHERNET.DRV -CP ${SRC}/DRV/UTHERNET2.DRV /AB800/DRV/UTHERNET2.DRV -CP ${SRC}/ETC/HOSTNAME /AB800/ETC/HOSTNAME -CP ${SRC}/ETC/HOSTS /AB800/ETC/HOSTS -CP INITBOOT /AB800/ETC/INIT -ECHO "Welcome to A2osX!" > /AB800/ETC/ISSUE -ECHO >> /AB800/ETC/ISSUE -ECHO $IM >> /AB800/ETC/ISSUE -CP ${SRC}/ETC/MOTD /AB800/ETC/MOTD -CP ${SRC}/ETC/NETWORK /AB800/ETC/NETWORK -CP TCPIP.CONF /AB800/ETC/TCPIP.CONF -CP ${SRC}/LIB/LIBBLKDEV /AB800/LIB/LIBBLKDEV -CP ${SRC}/LIB/LIBCRYPT /AB800/LIB/LIBCRYPT -CP ${SRC}/LIB/LIBPAK /AB800/LIB/LIBPAK -CP ${SRC}/LIB/LIBTCPIP /AB800/LIB/LIBTCPIP -CP ${SRC}/ROOT/PROFILE /AB800/PROFILE -CP ${SRC}/SBIN/GETTY /AB800/SBIN/GETTY -CP ${SRC}/SBIN/HTTPD /AB800/SBIN/HTTPD -CP ${SRC}/SBIN/INITD /AB800/SBIN/INITD -CP ${SRC}/SBIN/INSDRV /AB800/SBIN/INSDRV -CP ${SRC}/SBIN/KCONFIG /AB800/SBIN/KCONFIG -CP ${SRC}/SBIN/LOGIN /AB800/SBIN/LOGIN -CP ${SRC}/SBIN/NETWORKD /AB800/SBIN/NETWORKD -CP ${SRC}/SBIN/TELNETD /AB800/SBIN/TELNETD -CP ${SRC}/SYS/KERNEL /AB800/SYS/KERNEL -CP ${SRC}/SYS/KM.RAMWORKS /AB800/SYS/KM.RAMWORKS -CP ${SRC}/SYS/KM.NSC /AB800/SYS/KM.NSC -CP ${SRC}/SYS/KM.VSDRIVE /AB800/SYS/KM.VSDRIVE -#CP ${SRC}/ROOT/PROFILE /AB800/ROOT/PROFILE -MAN -TEXT /MAKE/USR/SHARE/MAKE/MAKEB800 diff --git a/MAKE/MAKEBOOT.txt b/MAKE/MAKEBOOT.txt index f647d390..32e8cb61 100644 --- a/MAKE/MAKEBOOT.txt +++ b/MAKE/MAKEBOOT.txt @@ -3,12 +3,14 @@ NEW AUTO 4,1 #!/BIN/SH # -# This script makes a proper BOOT disk using the files +# This script makes a proper ABOOT (140K) disk using the files # found in a particular BUILD stored in /MAKE/BUILDS # -ECHO \f -ECHO "\n\nABOOT (140K Floppy) Media Creator\n\n" -ECHO "You must have the correct 140K image mounted on S6D1\n" +. MAKEFUNCS +CALL CS +CALL TBOX "MINIBOOT (140K Floppy) Media Creator" +CALL PRINTXY 8 0 "You must have the correct 140K image mounted on S6D1" +ECHO "\n" READ -P "Do you want to proceed (Y/N)? " P SWITCH $P CASE Y @@ -19,6 +21,7 @@ SWITCH $P ECHO "\n\nExiting.\n" EXIT END +ECHO READ -P "WHICH BUILD NO: " B IF [ -Z $B ] ECHO "You did not enter any response." @@ -35,7 +38,7 @@ ELSE ECHO "Exiting" EXIT FI -ECHO "Is this a (R)elease, (C)andidate or (S)table Build" +ECHO "Is this a (R)elease, (C)andidate or (S)table Build\n" READ -P "ENTER R C or S: " RCS IF [ -Z $RCS ] ECHO "You did not enter any response." @@ -63,82 +66,26 @@ SWITCH $RCS ECHO "Exiting" EXIT END -ECHO "Formatting Destination..." -FORMAT -4 S6D1 ABOOT -ECHO "Displaying Online Volumes..." -LS -L / -PAUSE +ECHO "\n\nFormatting Destination..." +FORMAT -1 S6D1 MINIBOOT ECHO "Making Directory Structure..." -MD /ABOOT/BIN -MD /ABOOT/DRV -MD /ABOOT/ETC -MD /ABOOT/LIB -MD /ABOOT/ROOT -MD /ABOOT/SBIN -MD /ABOOT/SYS +MD /MINIBOOT/BIN +MD /MINIBOOT/DRV +MD /MINIBOOT/ETC +MD /MINIBOOT/LIB +MD /MINIBOOT/ROOT +MD /MINIBOOT/SBIN +MD /MINIBOOT/SYS ECHO "Copying Files..." -CP ${SRC}/A2OSX.LOGO /ABOOT/A2OSX.LOGO -CP ${SRC}/A2OSX.SYSTEM /ABOOT/A2OSX.SYSTEM -CP ${SRC}/PRODOS /ABOOT/PRODOS -CP ${SRC}/BIN/CAT /ABOOT/BIN/CAT -CP ${SRC}/BIN/CHTYP /ABOOT/BIN/CHTYP -CP ${SRC}/BIN/CP /ABOOT/BIN/CP -CP ${SRC}/BIN/CUT /ABOOT/BIN/CUT -CP ${SRC}/BIN/DNSINFO /ABOOT/BIN/DNSINFO -CP ${SRC}/BIN/EDIT /ABOOT/BIN/EDIT -CP ${SRC}/BIN/GREP /ABOOT/BIN/GREP -CP ${SRC}/BIN/IPCONFIG /ABOOT/BIN/IPCONFIG -CP ${SRC}/BIN/KILL /ABOOT/BIN/KILL -CP ${SRC}/BIN/LS /ABOOT/BIN/LS -CP ${SRC}/BIN/LSDEV /ABOOT/BIN/LSDEV -CP ${SRC}/BIN/LSOF /ABOOT/BIN/LSOF -#CP ${SRC}/BIN/MD5 /ABOOT/BIN/MD5 -CP ${SRC}/BIN/MEM /ABOOT/BIN/MEM -CP ${SRC}/BIN/MKDIR /ABOOT/BIN/MKDIR -CP ${SRC}/BIN/MORE /ABOOT/BIN/MORE -CP ${SRC}/BIN/MV /ABOOT/BIN/MV -CP ${SRC}/BIN/NETSTAT /ABOOT/BIN/NETSTAT -#CP ${SRC}/BIN/NSCUTIL /ABOOT/BIN/NSCUTIL -CP ${SRC}/BIN/PING /ABOOT/BIN/PING -CP ${SRC}/BIN/PS /ABOOT/BIN/PS -CP ${SRC}/BIN/RM /ABOOT/BIN/RM -CP ${SRC}/BIN/TELNET /ABOOT/BIN/TELNET -CP ${SRC}/BIN/HTTPGET /ABOOT/BIN/HTTPGET -CP ${SRC}/BIN/SH /ABOOT/BIN/SH -#CP ${SRC}/BIN/USERADD /ABOOT/BIN/USERADD -#CP ${SRC}/BIN/USERDEL /ABOOT/BIN/USERDEL -#CP ${SRC}/BIN/WC /ABOOT/BIN/WC -#CP ${SRC}/BIN/WHO /ABOOT/BIN/WHO -CP ${SRC}/DRV/LANCEGS.DRV /ABOOT/DRV/LANCEGS.DRV -#CP ${SRC}/DRV/SSC.DRV /ABOOT/DRV/SSC.DRV -CP ${SRC}/DRV/UTHERNET.DRV /ABOOT/DRV/UTHERNET.DRV -CP ${SRC}/DRV/UTHERNET2.DRV /ABOOT/DRV/UTHERNET2.DRV -#CP ${SRC}/ETC/HOSTNAME /ABOOT/ETC/HOSTNAME -#CP ${SRC}/ETC/HOSTS /ABOOT/ETC/HOSTS -CP INITBOOT /ABOOT/ETC/INIT -#CP ${SRC}/ETC/INIT /ABOOT/ETC/INIT -#CP ${SRC}/ETC/INIT.BOOT /ABOOT/ETC/INIT.BOOT -#CP ${SRC}/ETC/ISSUE /ABOOT/ETC/ISSUE -ECHO "Welcome to A2osX!" > /ABOOT/ETC/ISSUE -ECHO >> /ABOOT/ETC/ISSUE -ECHO $IM >> /ABOOT/ETC/ISSUE -CP ${SRC}/ETC/MOTD /ABOOT/ETC/MOTD -CP ${SRC}/ETC/NETWORK /ABOOT/ETC/NETWORK -CP TCPIP.CONF /ABOOT/ETC/TCPIP.CONF -CP ${SRC}/LIB/LIBBLKDEV /ABOOT/LIB/LIBBLKDEV -CP ${SRC}/LIB/LIBCRYPT /ABOOT/LIB/LIBCRYPT -CP ${SRC}/LIB/LIBTCPIP /ABOOT/LIB/LIBTCPIP -CP ${SRC}/ROOT/PROFILE /ABOOT/PROFILE -CP ${SRC}/SBIN/GETTY /ABOOT/SBIN/GETTY -CP ${SRC}/SBIN/INITD /ABOOT/SBIN/INITD -CP ${SRC}/SBIN/INSDRV /ABOOT/SBIN/INSDRV -#CP ${SRC}/SBIN/KCONFIG /ABOOT/SBIN/KCONFIG -CP ${SRC}/SBIN/LOGIN /ABOOT/SBIN/LOGIN -CP ${SRC}/SBIN/NETWORKD /ABOOT/SBIN/NETWORKD -CP ${SRC}/SBIN/TELNETD /ABOOT/SBIN/TELNETD -CP ${SRC}/SYS/KERNEL /ABOOT/SYS/KERNEL -CP ${SRC}/SYS/KM.RAMWORKS /ABOOT/SYS/KM.RAMWORKS -CP ${SRC}/SYS/KM.NSC /ABOOT/SYS/KM.NSC -#CP ${SRC}/ROOT/PROFILE /ABOOT/ROOT/PROFILE +FOR FILE IN (ABOOTFILES) + CP -Q ${SRC}/${FILE} /MINIBOOT/${FILE} +NEXT +CP -Q -Y INITBOOT /MINIBOOT/ETC/INIT +ECHO "Welcome to A2osX!" > /MINIBOOT/ETC/ISSUE +ECHO >> /MINIBOOT/ETC/ISSUE +ECHO $IM >> /MINIBOOT/ETC/ISSUE +CP -Q TCPIP.CONF /MINIBOOT/ETC/TCPIP.CONF +CP -Q PROFILE /MINIBOOT/ROOT/PROFILE +ECHO "MINIBOOT Disk Created!" MAN TEXT /MAKE/USR/SHARE/MAKE/MAKEBOOT diff --git a/MAKE/MAKEFULL.txt b/MAKE/MAKEFULL.txt new file mode 100644 index 00000000..f92657ae --- /dev/null +++ b/MAKE/MAKEFULL.txt @@ -0,0 +1,90 @@ +NEW + PREFIX +AUTO 4,1 +#!/BIN/SH +# +# This script makes a proper FULLBOOT disk using the files +# found in a particular BUILD stored in /MAKE/BUILDS +# +. MAKEFUNCS +CALL CS +CALL TBOX " FULLBOOT Media Creator" +CALL PRINTXY 8 0 "You must have the correct image mounted on S7D2" +ECHO "\n" +READ -P "Do you want to proceed (Y/N)? " P +SWITCH $P + CASE Y + CASE y + ECHO + BREAK + DEFAULT + ECHO "\n\nExiting.\n" + EXIT +END +READ -P "WHICH BUILD NO: " B +IF [ -Z $B ] + ECHO "You did not enter any response." + ECHO + ECHO "Exiting" + EXIT +FI +SET SRC = "/MAKE/BUILDS/BUILD${B}" +IF [ -D ${SRC} ] + ECHO "\n\nFound Valid BUILD\n" +ELSE + ECHO "\n\nValid BUILD not found." + ECHO + ECHO "Exiting" + EXIT +FI +ECHO "Is this a (R)elease, (C)andidate or (S)table Build" +READ -P "ENTER R C or S: " RCS +IF [ -Z $RCS ] + ECHO "You did not enter any response." + ECHO + ECHO "Exiting" + EXIT +FI +SWITCH $RCS + CASE r + CASE R + SET IM = "Release Build No. ${B}" + BREAK + CASE c + CASE C + SET IM = "Release Candidate Build No. ${B}" + BREAK + CASE s + CASE S + SET IM = "Stable Release Build No. ${B}" + BREAK + DEFAULT + ECHO "You did not enter a valid response." + ECHO "You must enter only one of the characters R C or S!" + ECHO + ECHO "Exiting" + EXIT +END +ECHO "Formatting Destination..." +FORMAT -B 1600 S7D2 FULLBOOT +ECHO "Making Directory Structure..." +MD /FULLBOOT/BIN +MD /FULLBOOT/DRV +MD /FULLBOOT/ETC +MD /FULLBOOT/LIB +MD /FULLBOOT/ROOT +MD /FULLBOOT/SBIN +MD /FULLBOOT/SYS +ECHO "Copying Files..." +FOR FILE IN (A2OSXFILES) + CP -Q ${SRC}/${FILE} /FULLBOOT/${FILE} +NEXT +CP -Q -Y INITBOOT /FULLBOOT/ETC/INIT +ECHO "Welcome to A2osX!" > /FULLBOOT/ETC/ISSUE +ECHO >> /FULLBOOT/ETC/ISSUE +ECHO $IM >> /FULLBOOT/ETC/ISSUE +CP -Q TCPIP.CONF /FULLBOOT/ETC/TCPIP.CONF +CP -Q PROFILE /FULLBOOT/ROOT/PROFILE +ECHO "FULLBOOT Disk Created!" +MAN +TEXT /MAKE/USR/SHARE/MAKE/MAKEFULL diff --git a/MAKE/MAKEFUNCS.txt b/MAKE/MAKEFUNCS.txt index 111da230..70641ea9 100644 --- a/MAKE/MAKEFUNCS.txt +++ b/MAKE/MAKEFUNCS.txt @@ -20,7 +20,7 @@ FUNCTION TBOX { LOOP ECHO -N "\e[5;20H" ECHO "\e[7m \e[0m" - ECHO -N "\e[3;30H $1" + ECHO -N "\e[3;22H $1" } # Print Inverse FUNCTION INVERSE {