diff --git a/.Docs/.HELLOWORLD.S.txt b/.Docs/.HELLOWORLD.S.txt new file mode 100644 index 00000000..b6bc57ea --- /dev/null +++ b/.Docs/.HELLOWORLD.S.txt @@ -0,0 +1,99 @@ +NEW +PREFIX +AUTO 4,1 Enable MASM3 auto line num + .LIST OFF + .OP 65C02 Target CPU, must = CPU header level + .OR $2000 usualy $2000, any value > $100 ok + .TF ROOT/HELLOWORLD +*-------------------------------------- + .INB INC/MACROS.I + .INB INC/A2OSX.I +*-------------------------------------- +* Zero Page Segment, up to 32 bytes +*-------------------------------------- + .DUMMY + .OR ZPBIN +ZS.START +* MyPtr .BS 2 +ZS.END .ED +*-------------------------------------- +* File Header (16 Bytes) +*-------------------------------------- +CS.START cld + jmp (.1,x) + .DA #$61 6502,Level 1 (65c02) + .DA #1 BIN Layout Version 1 + .DA #0 S.PS.F.EVENT + .DA #0 + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #16 Stack Size + .DA #ZS.END-ZS.START Zero Page Size + .DA 0 +*-------------------------------------- +* Relocation Table +*-------------------------------------- +.1 .DA CS.INIT + .DA CS.RUN + .DA CS.DOEVENT + .DA CS.QUIT +* Add any address you want be relocated by loader +* Usefull if you have to pass EFFECTIVE address to an API call... +L.MSG.HELLO .DA MSG.HELLO + + .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 + +* Put your code here + >LDYA L.MSG.HELLO + >SYSCALL puts + +.8 lda #0 Exit Code = Succes + sec QUIT Process + rts + +.9 lda #E.SYN Exit Code = Succes + sec QUIT Process + rts +*-------------------------------------- +* Called if option S.PS.F.EVENT enabled in Header +* Timer Event : every 10th seconds +*-------------------------------------- +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 +*-------------------------------------- + +* Put your constant here : +MSG.HELLO .AZ "Hello World" +*-------------------------------------- +* Per Process DATA segement (0 filled before INIT) +*-------------------------------------- + .DUMMY + .OR 0 +DS.START +DS.END + .ED +*-------------------------------------- +MAN +SAVE ROOT/HELLOWORLD.S Save this source file +ASM diff --git a/.Docs/Technical Spec.md b/.Docs/Technical Spec.md index 89e6e9ee..fa3296e5 100644 --- a/.Docs/Technical Spec.md +++ b/.Docs/Technical Spec.md @@ -1,27 +1,27 @@ # A2osX (0.92) Multi-Tasking OS for Apple II -This is the functional specification for A2osX, its system modules, internal and external commands and shell language. Please refer to the other A2osX documentation such as the User Guide, Notes for Developers and Shell Programming Guide for more information. +This is the functional specification for A2osX and its system modules, internal and external commands and shell language. Please refer to the other A2osX documentation such as the User Guide, Notes for Developers and Shell Programming Guide for more information. ## SYS/KM* Supported Hardware At Kernel Level (ProDOS): -| KM.Name | Status | Comment | -| ------- | ------ | ------- | -| KM.APPLETALK | Working | AppleTalk Support for ProDOS | -| KM.NSC | Working | No-Slot-Clock/DS1216E | -| KM.RAMWORKS | Working | AE-Ramworks I,II,III | -| KM.VSDRIVE | Working | ADTPro Virtual Drive for SSC | +| KM.Name | Status | Comment | K.Ver | +| ------- | ------ | ------- | ------| +| KM.APPLETALK | Working | AppleTalk Support for ProDOS | 0.92 | +| KM.NSC | Working | No-Slot-Clock/DS1216E | 0.92 | +| KM.RAMWORKS | Working | AE-Ramworks I,II,III | 0.92 | +| KM.VSDRIVE | Working | ADTPro Virtual Drive for SSC | 0.92 | ## SBIN,Daemons/Commands: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ------| | DHCPCLNT| Working | rewritten to use new Socket API | 0.92 | -| GETTY | Working | -E : Exit on remote close | 0.92 | +| GETTY | Working | -E : Exit on remote close | 0.93 | | HTTPD | In Progress | | 0.9 | -| INSDRV | Working | | 0.92 | -| KCONFIG | Working | Kernel Configuration Utility | 0.92 | -| LOGIN | In Progress | no auth using /etc/passwd yet | 0.92 | -| SHELL | Working | (See Internal Shell commands) | 0.92 | +| INSDRV | Working | | 0.93 | +| KCONFIG | Working | Kernel Configuration Utility | 0.93 | +| LOGIN | In Progress | no auth using /etc/passwd yet | 0.93 | +| SHELL | Working | (See Internal Shell commands) | 0.93 | | TCPIPD | Working | ARP,IP,ICMP,UDP & TCP ok | 0.92 | | TELNETD | Working | | 0.92 | @@ -110,46 +110,46 @@ note : '$VAR' does NOT expand Variable | Uther2.AI.DRV | In Progress | With ARP/IP Offloading | 0.92 | ## BIN,External Shell commands: -| Name | Status | Comment | -| ---- | ------ | ------- | -| CAT | Working | -A : Show All non printable caracters
-N : Number all output lines
-S : Suppress repeated empty output lines | -| CUT | Working | CUT \ "line" or CMD\|CUT \
-H : This help screen
-F nn : Output field nn
-M nn : Output starting at nn
-N nn : Output Ending at nn
-S ch : Change default SPACE separator to 'ch' | -| CHGRP | In Progress | -C : Continue On Error
-R : Recurse subdirectories | -| CHMOD | In Progress | -C : Continue On Error
-R : Recurse subdirectories | -| CHOWN | In Progress | -C : Continue On Error
-R : Recurse subdirectories | -| CHTYP | Working | -C : Continue On Error
-R : Recurse subdirectories | -| CP | Working | -C : Continue On Error
-Q : Quiet
-R : Recurse subdirectories
-Y : Dont't Prompt For Override | -| EDIT | Working | still missing : find/replace | -| FORMAT | In Progress | FORMAT \ [VOLUME.NAME]
-L : Low-Level Format *not currently supported
-1..9 : Catalog Size (block count) | -| GREP | Working | GREP \ PATTERN FILE or CMD\|GREP \ PATTERN
-H : This help screen
-I : Ignore Case
-N : Print line Number | -| KILL | Working | KILL \ PID
-0 : No Signal
-1 : SIGQUIT | -| LS | Working | -A : Print . & ..
-C : Single column listing
-F : Single column, includes full path
-L : long listing with size/date...
-R : Recurse subdirectories | -| LSDEV | Working | Dump device Drivers | -| LSOF | Working | List Open Files | -| MD5 | Working | MD5 \[ -D : String \| file \] | -| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | -| MKDIR | Working | Make Directory| -| MORE | Working | MORE \ or CMD\|MORE \
-H : This help screen
-N : Number all output lines
-P : Page mode, no scroll
-S : Process ESC codes | -| NSCUTIL | Working | NSCUTIL DD/MM/YY,hh:mm:ss
Tool for setting time in NSC/DL1216E | -| MV | Working | -C : Continue On Error
-Q : Quiet
-R : Recurse subdirectories
-Y : Dont't Prompt For Override | -| PS | Working | List Processes| -| RM | Working | RM \[File/Dir, *,? wildcards allowed\]
-C : Continue On Error
-Q : Quiet
-R : Recurse subdirectories | +| Name | Status | Comment | K.Ver | +| ---- | ------ | ------- | ----- | +| CAT | Working | -A : Show All non printable caracters
-N : Number all output lines
-S : Suppress repeated empty output lines | 0.93 | +| CUT | Working | CUT \ "line" or CMD\|CUT \
-H : This help screen
-F nn : Output field nn
-M nn : Output starting at nn
-N nn : Output Ending at nn
-S ch : Change default SPACE separator to 'ch' | 0.93 | +| CHGRP | In Progress | -C : Continue On Error
-R : Recurse subdirectories | - | +| CHMOD | In Progress | -C : Continue On Error
-R : Recurse subdirectories | - | +| CHOWN | In Progress | -C : Continue On Error
-R : Recurse subdirectories | - | +| CHTYP | Working | -C : Continue On Error
-R : Recurse subdirectories | 0.92 | +| CP | Working | -C : Continue On Error
-Q : Quiet
-R : Recurse subdirectories
-Y : Dont't Prompt For Override | 0.93 | +| EDIT | Working | still missing : find/replace | 0.93 | +| FORMAT | In Progress | FORMAT \ [VOLUME.NAME]
-L : Low-Level Format *not currently supported
-1..9 : Catalog Size (block count) | 0.92 | +| GREP | Working | GREP \ PATTERN FILE or CMD\|GREP \ PATTERN
-H : This help screen
-I : Ignore Case
-N : Print line Number | 0.93 | +| KILL | Working | KILL \ PID
-0 : No Signal
-1 : SIGQUIT | 0.93 | +| LS | Working | -A : Print . & ..
-C : Single column listing
-F : Single column, includes full path
-L : long listing with size/date...
-R : Recurse subdirectories | 0.93 | +| LSDEV | Working | Dump device Drivers | 0.93 | +| LSOF | Working | List Open Files | 0.93 | +| MD5 | Working | MD5 \[ -D : String \| file \] | 0.93 | +| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.93 | +| MKDIR | Working | Make Directory| 0.93 | +| MORE | Working | MORE \ or CMD\|MORE \
-H : This help screen
-N : Number all output lines
-P : Page mode, no scroll
-S : Process ESC codes | 0.93 | +| NSCUTIL | Working | NSCUTIL DD/MM/YY,hh:mm:ss
Tool for setting time in NSC/DL1216E | 0.92 | +| MV | Working | -C : Continue On Error
-Q : Quiet
-R : Recurse subdirectories
-Y : Dont't Prompt For Override | 0.93 | +| PS | Working | List Processes| 0.93 | +| RM | Working | RM \[File/Dir, *,? wildcards allowed\]
-C : Continue On Error
-Q : Quiet
-R : Recurse subdirectories | 0.93 | ## Network (TCPIP) tools: -| Name | Status | Comment | -| ---- | ------ | ------- | -| ARP | Working | dump ARP cache, setup a static ARP entry | -| DNSINFO | Working | dump DNS cache, setup a static DNS entry | -| HTTPGET | In Progress | HTTPGET [port]
-U Url
-F UrlFile | -| IPCONFIG | Working | -D : Try to get IP address from DHCP
-E : Read ETC files
-S : Set/Reset TCPIP configuration (-E, then -D if required) | -| NETSTAT | Working | Display socket status | -| PING | Working | PING
-1..9 : Ping Count | -| TELNET | Working | TELNET [port] | +| Name | Status | Comment | K.Ver | +| ---- | ------ | ------- | ----- | +| ARP | Working | dump ARP cache, setup a static ARP entry | 0.92 | +| DNSINFO | Working | dump DNS cache, setup a static DNS entry | 0.92 | +| HTTPGET | In Progress | HTTPGET [port]
-U Url
-F UrlFile | 0.92 | +| IPCONFIG | Working | -D : Try to get IP address from DHCP
-E : Read ETC files
-S : Set/Reset TCPIP configuration (-E, then -D if required) | 0.92 | +| NETSTAT | Working | Display socket status | 0.92 | +| PING | Working | PING
-1..9 : Ping Count | 0.92 | +| TELNET | Working | TELNET [port] | 0.92 | ## DEV tools: -| Name | Status | Comment | -| ---- | ------ | ------- | -| ASM | In Progress | S-C MASM based multi CPU assembler | -| MEMDUMP | Working | Tool to track memory leak| -| RPCDUMP | In Progress | Tool based on UDP socket API, renamed from RPCINFO
RPCDUMP | | +| Name | Status | Comment | K.Ver | +| ---- | ------ | ------- | ----- | +| ASM | In Progress | S-C MASM based multi CPU assembler | - | +| MEMDUMP | Working | Tool to track memory leak| 0.93 | +| RPCDUMP | In Progress | Tool based on UDP socket API, renamed from RPCINFO
RPCDUMP | 0.92 | diff --git a/.Floppies/A2OSX.MAKE.po b/.Floppies/A2OSX.MAKE.po index b104f990..87ea6f9a 100644 Binary files a/.Floppies/A2OSX.MAKE.po and b/.Floppies/A2OSX.MAKE.po differ diff --git a/ADMIN/LISTUSERS.txt b/ADMIN/LISTUSERS.txt index 87ea9fe8..44aae356 100644 --- a/ADMIN/LISTUSERS.txt +++ b/ADMIN/LISTUSERS.txt @@ -68,6 +68,7 @@ FOR F IN `CAT ${ROOT}ETC/PASSWD` SET LINE = $LINE + 1 NEXT ECHO +ECHO ECHO "PRESS RETURN" PAUSE MAN