From fceb9a7c08d60733228548772cceb6dd6e852b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 28 Feb 2017 17:58:36 +0100 Subject: [PATCH] Kernel version 0.9 : CR/LF migration (Telnet) --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/ARP.S.txt | 6 ++--- BIN/CAT.S.txt | 4 +-- BIN/CP.S.txt | 6 ++--- BIN/DNSINFO.S.txt | 4 +-- BIN/IPCONFIG.S.txt | 32 +++++++++++------------ BIN/LS.S.txt | 10 ++++--- BIN/MEM.S.txt | 10 +++---- BIN/MEMDUMP.S.txt | 18 ++++++------- BIN/MV.S.txt | 6 ++--- BIN/NETSTAT.S.txt | 4 +-- BIN/NSCUTIL.S.txt | 8 +++--- BIN/PING.S.txt | 14 +++++----- BIN/PS.S.txt | 4 +-- BIN/RM.S.txt | 6 ++--- BIN/RPCDUMP.S.txt | 10 +++---- DRV/CONSOLE.DRV.S.txt | 39 ++++++++++++++++------------ DRV/MOUSE.DRV.S.txt | 8 +++--- DRV/SSC.DRV.S.txt | 8 +++--- DRV/SSC.I.DRV.S.txt | 10 +++---- DRV/UTHERNET.DRV.S.txt | 6 ++--- DRV/UTHERNET2.DRV.S.txt | 6 ++--- INC/NET.TELNET.I.txt | 56 +++++++++++++++++++++++++++++++++------- SBIN/DHCPCLNT.S.txt | 12 ++++----- SBIN/GETTY.S.txt | 31 ++++++++++++---------- SBIN/INSDRV.S.txt | 4 +-- SBIN/LOGIN.S.txt | 7 +++-- SBIN/SHELL.S.txt | 11 +++++--- SBIN/TCPIP.S.txt | 8 +++--- SYS/KERNEL.S.CIO.txt | 9 ++++--- SYS/KERNEL.S.D01.txt | 16 +++++++----- SYS/KERNEL.S.INIT2.txt | 28 ++++++++++---------- SYS/KERNEL.S.INIT3.txt | 20 +++++++------- _Docs/KERNEL.md | 3 ++- 36 files changed, 244 insertions(+), 180 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 6d35ae886e5c1a47ac42af22866cfdfd545158cb..959bcce14e908d51bcc5b3685b679a1114fcf441 100644 GIT binary patch delta 12397 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 delta 12318 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 L*H7mhfBf(dt_?cQ delta 1134 zcmY+DPizxM6vp2;A$1^NheB*)8zvJLMTxuYuHzI8O|!8bY;bHR>kvVW!3hqbD7$DA zDaxe{YLTi6s-l5dm8bw85C9uvWt!>8zsDJ3clB4ZuQ>P~pN%QGQ+!$hvy;}wZS!BAp;LoC7`qw5R znNHgbxT%V}WZ?Zm% z3iOxk{yi#0FJGF$Bl%fPUkqZ54{}lZHrwG>A+9aFryC%nLPj0d^ZEC5E{um3=ks%X zMy1H|>yr!nETKE(9;pxyIYLg69QlF(6t7|^KSyr^D=z%liHo~gdUKsTUMIyC+*Drm zUYEZfd@^X?TWq>-`)TmUALzNs0klrO$)cIC6A*^;~y>xr3 zXkmNflpr2guc+FBif6RBc_t+^tmo&hYU*4bPwUz&<`kx;bnTL!n`NiP_;g;!ET7kc zDNQ#@I8lgW%t;qb%*G%WF5R8Jh^XDNy*P8$(v1py2DuR`oXnsDZ1_Bbye+5)oIX^z znL!Q(^;8di1Wq0)d^n--vG6TEGI~wn$HS>!0UU?x`Y_#+CGZFvGCw-@y+Js!`hmb# ztpaq3bf8R-M04e?g-Zq!eIXYphDPq_;n zp`Nva=qQz04ASW}4jrR6*0}x0>upBEq2zcXePe5XrqydH!@<`+>qfG!@!wpDD%HJBG zANHM~D;1YJ+JIB(F%z?eT`~Gc#o2$dfh%LDP44%D`&0vw6K6~!1=yN#dbsMej3C;1 zzh~KptR?HSJJVkd6^xaofB^PZn25#W=KV?m5$xMxBAH0na|w3sfN-+z_Jh5RWt+4Q zY&#()hn8#20$|+*=Kr$S2JFEnQ)xaDiYC7^un2qX8=}&AqIPsYbhK}X33);>oqiGA ey9)<$$kBWatRK?cn@10MB>cQIiI!fNvH5>m|3-!Y diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index d240cf02bed2312fedce75fedfa6dab1dadd8138..265b927e899faa0b1f8d3c797fded3ded00e1e25 100644 GIT binary patch delta 24169 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 Rt?>K5pXvTa8!d9T{y)oZ&qM$K delta 24111 zcma)E2XtJ;)t>iupZv6M)pl2_E~{FyY^_z?sj8N+EXk5=Y%oQZ)|Nn)gd~GaTh
  • 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 PO5EQOO=8ApyF305U>%;x diff --git a/BIN/ARP.S.txt b/BIN/ARP.S.txt index a0b4c704..79e63e53 100644 --- a/BIN/ARP.S.txt +++ b/BIN/ARP.S.txt @@ -187,9 +187,9 @@ Wait.TimeOut sec CS.END LIBTCPIP >PSTR "libtcpip.o" SSCANF.IP >PSTR "%d.%d.%d.%d" -MSG0 >CSTR "STS TTL MAC Address IP Address\n" -MSG1 >CSTR "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\n" -MSG2 >CSTR "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\n" +MSG0 >CSTR "STS TTL MAC Address IP Address\r\n" +MSG1 >CSTR "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\r\n" +MSG2 >CSTR "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\r\n" *-------------------------------------- DS.START hLIBTCPIP .BS 1 diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index 6834b995..2dc2c015 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -10,7 +10,7 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I - .INB /A2OSX.DEV/INC/PRODOS.I + .INB /A2OSX.DEV/INC/MLI.ERR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN *-------------------------------------- @@ -333,7 +333,7 @@ CS.END OptionList >PSTR "ANS" OptionVars .DA #bPrintAll,#bLineNum,#bSuppress *-------------------------------------- -MSG.USAGE >CSTR "Usage : CAT File1 [File2...]\n -A : Show All non printable caracters\n -N : Number all output lines\n -S : Suppress repeated empty output lines\n" +MSG.USAGE >CSTR "Usage : CAT File1 [File2...]\r\n -A : Show All non printable caracters\r\n -N : Number all output lines\r\n -S : Suppress repeated empty output lines\r\n" MSG.LINENUM >CSTR "%5D:" MSG.CTRLCHAR >CSTR "[%S]" *-------------------------------------- diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index 9d158355..d53a9e09 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -23,12 +23,12 @@ CS.END OptionList >PSTR "CRY" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm *-------------------------------------- -MSG.USAGE >CSTR "Usage : CP [Src File/Dir, *,? wildcards allowed]\n -C : Continue on error\n -R : Recurse subdirectories\n -Y : Dont't prompt for override\n" +MSG.USAGE >CSTR "Usage : CP [Src File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -R : Recurse subdirectories\r\n -Y : Dont't prompt for override\r\n" MSG.DIR >CSTR "CP Dir :%S%S to %S%S..." MSG.FILE >CSTR "CP File:%S%S to %S%S..." MSG.OVERWRTE >CSTR "Overwrite [Yes,No,All]?" -MSG.OK >CSTR "[OK]\n" -MSG.ERR >CSTR "[%h]\n" +MSG.OK >CSTR "[OK]\r\n" +MSG.ERR >CSTR "[%h]\r\n" *-------------------------------------- STAT .BS S.STAT ArgCount .BS 1 diff --git a/BIN/DNSINFO.S.txt b/BIN/DNSINFO.S.txt index 3ff043d8..58381536 100644 --- a/BIN/DNSINFO.S.txt +++ b/BIN/DNSINFO.S.txt @@ -145,8 +145,8 @@ CS.QUIT lda hLIBTCPIP CS.END LIBTCPIP >PSTR "libtcpip.o" SSCANF.IP >PSTR "%d.%d.%d.%d" -MSG0 >CSTR "STS TR.ID Hostname IP Address TTL\n" -MSG1 >CSTR "$%h $%H %32S %03d.%03d.%03d.%03d %L\n" +MSG0 >CSTR "STS TR.ID Hostname IP Address TTL\r\n" +MSG1 >CSTR "$%h $%H %32S %03d.%03d.%03d.%03d %L\r\n" hLIBTCPIP .BS 1 IP .BS 4 diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index a227d0af..4f18a45a 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -264,27 +264,27 @@ CS.END LIBTCPIP >PSTR "libtcpip.o" *-------------------------------------- MSG0 >CSTR "TCP/IP Status : " -MSG0.L >CSTR "Loaded\n" -MSG0.NL >CSTR "Not Loaded\n" +MSG0.L >CSTR "Loaded\r\n" +MSG0.NL >CSTR "Not Loaded\r\n" *-------------------------------------- -MSG1.DEV >CSTR "\nDevice Configuration :\n DevID : $%h\n Device Name : %s\n HW Address : %02h:%02h:%02h:%02h:%02h:%02h\n" -MSG1.DEV.ARP >CSTR " ARP Offload : %d\n" -MSG1.DEV.IP >CSTR " IP Offload : %d\n" -MSG1.LINK >CSTR " Link Status : %s\n" +MSG1.DEV >CSTR "\r\nDevice Configuration :\r\n DevID : $%h\r\n Device Name : %s\r\n HW Address : %02h:%02h:%02h:%02h:%02h:%02h\r\n" +MSG1.DEV.ARP >CSTR " ARP Offload : %d\r\n" +MSG1.DEV.IP >CSTR " IP Offload : %d\r\n" +MSG1.LINK >CSTR " Link Status : %s\r\n" MSG1.LINK.OK >CSTR "OK" MSG1.LINK.KO >CSTR "Media Disconnected" MSG1.LINKSPEED >CSTR " Link Speed : 1" -MSG1.DPLX.FD >CSTR " Mbit/s,Full Duplex\n" -MSG1.DPLX.HD >CSTR " Mbit/s,Half Duplex\n" +MSG1.DPLX.FD >CSTR " Mbit/s,Full Duplex\r\n" +MSG1.DPLX.HD >CSTR " Mbit/s,Half Duplex\r\n" *-------------------------------------- -MSG2 >CSTR "\nIP Configuration : " -MSG2.C >CSTR "Configured\n" -MSG2.U >CSTR "Not Configured\n" -MSG2.DHCPSRVR >CSTR " DHCP Server : %d.%d.%d.%d\n" -MSG2.IP >CSTR " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\n" -MSG2.GW >CSTR " Gateway : %d.%d.%d.%d\n" -MSG2.DNS >CSTR " DNS : %d.%d.%d.%d,%d.%d.%d.%d\n" -MSG2.HOSTNAME >CSTR " Hostname : %S.%S\n" +MSG2 >CSTR "\r\nIP Configuration : " +MSG2.C >CSTR "Configured\r\n" +MSG2.U >CSTR "Not Configured\r\n" +MSG2.DHCPSRVR >CSTR " DHCP Server : %d.%d.%d.%d\r\n" +MSG2.IP >CSTR " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\r\n" +MSG2.GW >CSTR " Gateway : %d.%d.%d.%d\r\n" +MSG2.DNS >CSTR " DNS : %d.%d.%d.%d,%d.%d.%d.%d\r\n" +MSG2.HOSTNAME >CSTR " Hostname : %S.%S\r\n" hLIBTCPIP .BS 1 DevID .BS 1 DevName .BS 5 diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index b172fe9d..566db487 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -390,6 +390,8 @@ CS.RUN.NewLine ldy #ColCount CS.RUN.NewLine.1 lda #13 >SYSCALL PutCA + lda #10 + >SYSCALL PutCA rts CS.RUN.NewLine.8 clc @@ -458,12 +460,12 @@ CS.END OptionList >PSTR "ALR" OptionVars .DA #bAllmostAll,#bLong,#bRecurse *-------------------------------------- -MSG.DEVEXT >CSTR "%15S S%d,D%d Blocks Used:%5D,Total:%5D\n" +MSG.DEVEXT >CSTR "%15S S%d,D%d Blocks Used:%5D,Total:%5D\r\n" MSG.DIR >CSTR "%S/" -MSG.ENTER >CSTR "Directory:%S\n" -MSG.DIREXT >CSTR "%16S %a %S %S\n" +MSG.ENTER >CSTR "Directory:%S\r\n" +MSG.DIREXT >CSTR "%16S %a %S %S\r\n" MSG.FILE >CSTR "%19S" -MSG.FILEEXT >CSTR "%15S %S $%H %a %10u %S %S\n" +MSG.FILEEXT >CSTR "%15S %S $%H %a %10u %S %S\r\n" *-------------------------------------- PRODOS.FT.HEX .HS 0406FAFCFDE2FF PRODOS.FT.TXT >PSTR "TXT" diff --git a/BIN/MEM.S.txt b/BIN/MEM.S.txt index bf5b4dea..bf01ea74 100644 --- a/BIN/MEM.S.txt +++ b/BIN/MEM.S.txt @@ -116,11 +116,11 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG.Main >CSTR "--- Main Memory ---------------\n" -MSG.Aux >CSTR "--- Aux Memory ----------------\n" -MSG.Kernel >CSTR "--- Kernel (Drivers) Memory ---\n" -MSG.Stat >CSTR " Low : $%H\n Free Ptr : $%H\n High : $%H\n Available Memory : %05D Bytes\n" -MSG.End >CSTR "-------------------------------\n" +MSG.Main >CSTR "--- Main Memory ---------------\r\n" +MSG.Aux >CSTR "--- Aux Memory ----------------\r\n" +MSG.Kernel >CSTR "--- Kernel (Drivers) Memory ---\r\n" +MSG.Stat >CSTR " Low : $%H\r\n Free Ptr : $%H\r\n High : $%H\r\n Available Memory : %05D Bytes\r\n" +MSG.End >CSTR "-------------------------------\r\n" MemStat .BS S.MEMSTAT *-------------------------------------- .DUMMY diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 74d6c1df..0ff9504a 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -271,16 +271,16 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 >CSTR " # Flags PID REF PTR LEN BINPATH/DATA\n" +MSG0 >CSTR " # Flags PID REF PTR LEN BINPATH/DATA\r\n" MSG1 >CSTR "%03d %b %03d %03d $%H %05D " -MSG1.BIN >CSTR "!BIN:%41S\n" -MSG1.STR >CSTR "[%02h]:%41S\n" -MSG1.HEX >CSTR "?HEX:%h%h%h%h.%h%h%h%h.%h%h%h%h.%h%h%h%h\n" -MSG2 >CSTR "\nAllocated hMem:%d, Total:%d\n" -MSG3 >CSTR "High Memory: $%H\n" -MSG4 >CSTR "Free ULimit: $%H\n" -MSG5 >CSTR "Low Memory: $%H\n" -MSG6 >CSTR "\nFree Memory: %D Bytes.\n" +MSG1.BIN >CSTR "!BIN:%41S\r\n" +MSG1.STR >CSTR "[%02h]:%41S\r\n" +MSG1.HEX >CSTR "?HEX:%h%h%h%h.%h%h%h%h.%h%h%h%h.%h%h%h%h\r\n" +MSG2 >CSTR "\r\nAllocated hMem:%d, Total:%d\r\n" +MSG3 >CSTR "High Memory: $%H\r\n" +MSG4 >CSTR "Free ULimit: $%H\r\n" +MSG5 >CSTR "Low Memory: $%H\r\n" +MSG6 >CSTR "\r\nFree Memory: %D Bytes.\r\n" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index 4ac8b0fb..05eda425 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -23,12 +23,12 @@ CS.END OptionList >PSTR "CRY" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm *-------------------------------------- -MSG.USAGE >CSTR "Usage : MV [Src File/Dir, *,? wildcards allowed]\n -C : Continue on error\n -R : Recurse subdirectories\n -Y : Dont't prompt for override\n" +MSG.USAGE >CSTR "Usage : MV [Src File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -R : Recurse subdirectories\r\n -Y : Dont't prompt for override\r\n" MSG.DIR >CSTR "MV Dir :%S%S to %S%S..." MSG.FILE >CSTR "MV File:%S%S to %S%S..." MSG.OVERWRTE >CSTR "Overwrite [Yes,No,All]?" -MSG.OK >CSTR "[OK]\n" -MSG.ERR >CSTR "[%h]\n" +MSG.OK >CSTR "[OK]\r\n" +MSG.ERR >CSTR "[%h]\r\n" *-------------------------------------- STAT .BS S.STAT ArgCount .BS 1 diff --git a/BIN/NETSTAT.S.txt b/BIN/NETSTAT.S.txt index c092cd3a..0ebe687e 100644 --- a/BIN/NETSTAT.S.txt +++ b/BIN/NETSTAT.S.txt @@ -126,8 +126,8 @@ CS.QUIT lda hLIBTCPIP *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" -MSG0 >CSTR "Proto Local Remote Options Status\n" -MSG1 >CSTR "%s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\n" +MSG0 >CSTR "Proto Local Remote Options Status\r\n" +MSG1 >CSTR "%s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\r\n" MSG1.UDP >CSTR "UDP" MSG1.TCP >CSTR "TCP" MSG1.RAW >CSTR "RAW" diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index a178c9e6..79dbe036 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -363,13 +363,13 @@ IsDigit cmp #'0' rts *-------------------------------------- CS.END -MSG.READ.KO >CSTR "DS1216E Not Detected.\n" +MSG.READ.KO >CSTR "DS1216E Not Detected.\r\n" MSG.READ.OK1 >CSTR "DS1216E Detected:/OSC=%d,/RST=%d,mode=" MSG.READ.OK2.12 >CSTR "am/pm" MSG.READ.OK2.24 >CSTR "24h" -MSG.READ.OK3 >CSTR "\nDate:" -MSG.READ.OK4 >CSTR "\nTime:" -MSG.USAGE >CSTR "\n\nTo Reset the chip and set clock, type:\nNSCUTIL DD/MM/YY hh:mm:ss\n" +MSG.READ.OK3 >CSTR "\r\nDate:" +MSG.READ.OK4 >CSTR "\r\nTime:" +MSG.USAGE >CSTR "\r\n\r\nTo Reset the chip and set clock, type:\r\nNSCUTIL DD/MM/YY hh:mm:ss\r\n" TmpByte .BS 1 DS1216E.PATTERN .HS 5CA33AC55CA33AC5 Reverted 7->0 DS1216E.DETECT .BS 8 diff --git a/BIN/PING.S.txt b/BIN/PING.S.txt index 3a2d65ae..f639d98c 100644 --- a/BIN/PING.S.txt +++ b/BIN/PING.S.txt @@ -322,13 +322,13 @@ Wait.TimeOut sec *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" -MSG.IPKO >CSTR "TCP/IP Not Loaded/Configured.\n" -MSG.USAGE >CSTR "Usage : PING \n" -MSG.UNKNOWN >CSTR "%S: Unknown host\n" -MSG.HOSTOK >CSTR "PING %d.%d.%d.%d (%S)\n" -MSG.SKTKO >CSTR "Failed to Open Socket.\n" -MSG.UNREACH >CSTR "%d.%d.%d.%d: TimeOut/Host unreachable\n" -MSG.REPLY >CSTR "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\n" +MSG.IPKO >CSTR "TCP/IP Not Loaded/Configured.\r\n" +MSG.USAGE >CSTR "Usage : PING \r\n" +MSG.UNKNOWN >CSTR "%S: Unknown host\r\n" +MSG.HOSTOK >CSTR "PING %d.%d.%d.%d (%S)\r\n" +MSG.SKTKO >CSTR "Failed to Open Socket.\r\n" +MSG.UNREACH >CSTR "%d.%d.%d.%d: TimeOut/Host unreachable\r\n" +MSG.REPLY >CSTR "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n" hLIBTCPIP .BS 1 TimeOut.ms .BS 2 Socket .DA #S.SOCKET.SOCK.RAW diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index 5cef1bd2..d2c43996 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -92,8 +92,8 @@ CS.QUIT clc *-------------------------------------- CS.END PS.COUNT .BS 1 -MSG0 >CSTR "ID Flags PID Command Line\n" -MSG1 >CSTR "%03d %b %03d %S\n" +MSG0 >CSTR "ID Flags PID Command Line\r\n" +MSG1 >CSTR "%03d %b %03d %S\r\n" MAN SAVE BIN/PS.S ASM diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index fcb8bcc0..cdeeeca1 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -23,11 +23,11 @@ CS.END OptionList >PSTR "CRY" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm *-------------------------------------- -MSG.USAGE >CSTR "Usage : RM [File/Dir, *,? wildcards allowed]\n -C : Continue on error\n -R : Recurse subdirectories\n" +MSG.USAGE >CSTR "Usage : RM [File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -R : Recurse subdirectories\r\n" MSG.DIR >CSTR "RM Dir :%S%S..." MSG.FILE >CSTR "RM File:%S%S..." -MSG.OK >CSTR "[OK]\n" -MSG.ERR >CSTR "[%h]\n" +MSG.OK >CSTR "[OK]\r\n" +MSG.ERR >CSTR "[%h]\r\n" *-------------------------------------- STAT .BS S.STAT ArgCount .BS 1 diff --git a/BIN/RPCDUMP.S.txt b/BIN/RPCDUMP.S.txt index e785ab7c..74666d03 100644 --- a/BIN/RPCDUMP.S.txt +++ b/BIN/RPCDUMP.S.txt @@ -236,11 +236,11 @@ DumpRPCFrame lda #S.UDP+24 *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" -MSG.USAGE >CSTR "Usage : RPCDUMP \n" -MSG.UNKNOWN >CSTR "%S: Unknown host\n" -MSG.TIMEOUT >CSTR "No response from %S\n" -MSG.DUMP0 >CSTR "Program Ver Proto:Port\n" -MSG.DUMP1 >CSTR "%10L %2d %2d:%D\n" +MSG.USAGE >CSTR "Usage : RPCDUMP \r\n" +MSG.UNKNOWN >CSTR "%S: Unknown host\r\n" +MSG.TIMEOUT >CSTR "No response from %S\r\n" +MSG.DUMP0 >CSTR "Program Ver Proto:Port\r\n" +MSG.DUMP1 >CSTR "%10L %2d %2d:%D\r\n" Socket .DA #S.SOCKET.SOCK.DGRAM .BS 3 Socket.Src.Addr .BS 4 diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index 816c822e..f30473be 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -11,7 +11,7 @@ AUTO 6 .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I .INB /A2OSX.DEV/INC/IO.I - .INB /A2OSX.DEV/INC/PRODOS.I + .INB /A2OSX.DEV/INC/MLI.ERR.I *-------------------------------------- CURSOR.BLINK.SPEED .EQ 8 ESCSEQ.MAXLEN .EQ 16 @@ -42,7 +42,7 @@ Dev.Detect >LDYA L.MSG.DETECT clc rts CS.END -MSG.DETECT >CSTR "Apple IIe/IIc 80 Col Driver.\n" +MSG.DETECT >CSTR "Apple IIe/IIc 80 Col Driver.\r\n" *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- @@ -183,20 +183,19 @@ WRITE bit bEscMode jsr SetCharAtXY jmp FSOUT *-------------------------------------- -COUT.Ctrl ldy #0 - ldx #0 +COUT.Ctrl ldx #CtrlChars.Cnt-1 -.2 iny - cmp CtrlChars,y - beq .3 - inx - inx - cpy CtrlChars - bne .2 +.1 cmp CtrlChars,x + beq .2 + dex + bpl .1 clc rts -.3 jmp (J.CtrlChars,x) +.2 txa + asl + tax + jmp (J.CtrlChars,x) *-------------------------------------- COUT.EscMode bit bEscModeCSI bmi COUT.EscModeCSI @@ -397,13 +396,20 @@ HOME stz CH *-------------------------------------- FSOUT ldx CH cpx #79 - beq CROUT1 - inc CH + bne .1 + + stz CH + bra LF + +.1 inc CH clc rts *-------------------------------------- CROUT jsr CLREOL -CROUT1 stz CH + stz CH + clc + rts +*-------------------------------------- LF ldy CV cpy #23 beq SCROLL.UP @@ -805,7 +811,8 @@ KeyRemappedUP .HS 1B5B4100 esc[A KeyRemappedCR .HS 0D0A00 crlf KeyRemappedRGHT .HS 1B5B4300 esc[C *-------------------------------------- -CtrlChars .HS 0605080A0C0D1B +CtrlChars.Cnt .EQ 6 +CtrlChars .HS 05080A0C0D1B bEscMode .BS 1 bEscModeCSI .BS 1 bEscSeqInNum .BS 1 diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index ec81c9b9..c1cca920 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -10,7 +10,7 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I - .INB /A2OSX.DEV/INC/PRODOS.I + .INB /A2OSX.DEV/INC/MLI.ERR.I *-------------------------------------- ZPGoMouse .EQ ZPDRV ZPTmpPtr1 .EQ ZPDRV+2 @@ -121,9 +121,9 @@ Dev.Detect >LDYA L.MSG.DETECT rts *-------------------------------------- CS.END -MSG.DETECT >CSTR "Apple Mouse Card/IIc Mouse Driver.\n" -MSG.DETECT.OK >CSTR "Mouse Installed As Device : %S\n" -MSG.DETECT.KO >CSTR "No Mouse Found.\n" +MSG.DETECT >CSTR "Apple Mouse Card/IIc Mouse Driver.\r\n" +MSG.DETECT.OK >CSTR "Mouse Installed As Device : %S\r\n" +MSG.DETECT.KO >CSTR "No Mouse Found.\r\n" DEVSIG.Offset .HS 05070B0CFB DEVSIG.Value .HS 38180120D6 *-------------------------------------- diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index c5fc3adf..373b2362 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -10,7 +10,7 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I - .INB /A2OSX.DEV/INC/PRODOS.I + .INB /A2OSX.DEV/INC/MLI.ERR.I .INB /A2OSX.DEV/INC/COM.6551.I *-------------------------------------- ZPTmpPtr1 .EQ ZPDRV @@ -85,9 +85,9 @@ CS.END DEVSIG.Offset .HS 05070B0C DEVSIG.Value .HS 38180131 DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset -MSG.DETECT >CSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver.\n" -MSG.DETECT.OK >CSTR "SSC Installed As Device : %S\n" -MSG.DETECT.KO >CSTR "No SSC Found.\n" +MSG.DETECT >CSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver.\r\n" +MSG.DETECT.OK >CSTR "SSC Installed As Device : %S\r\n" +MSG.DETECT.KO >CSTR "No SSC Found.\r\n" hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 0adfbda4..ab838983 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -10,7 +10,7 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I - .INB /A2OSX.DEV/INC/PRODOS.I + .INB /A2OSX.DEV/INC/MLI.ERR.I .INB /A2OSX.DEV/INC/COM.6551.I *-------------------------------------- BUF.SIZE .EQ $40 @@ -88,9 +88,9 @@ CS.END DEVSIG.Offset .HS 05070B0C DEVSIG.Value .HS 38180131 DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset -MSG.DETECT >CSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver (IRQ Enabled).\n" -MSG.DETECT.OK >CSTR "SSC Installed As Device : %S\n" -MSG.DETECT.KO >CSTR "No SSC Found.\n" +MSG.DETECT >CSTR "Apple SSC (Super Serial Card,//c Serial Port) Driver (IRQ Enabled).\r\n" +MSG.DETECT.OK >CSTR "SSC Installed As Device : %S\r\n" +MSG.DETECT.KO >CSTR "No SSC Found.\r\n" hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) @@ -167,7 +167,7 @@ READ php beq .9 lda INBUF,x - jsr READ.DEBUG + jsr READ.DEBUG inx cpx #BUF.SIZE bne .1 diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 98b370f8..26886fee 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -123,9 +123,9 @@ Dev.Detect >STYA ARGS .INB DRV/X.NET.DRV.S *-------------------------------------- CS.END -MSG.DETECT >CSTR "UtherNet/CS8900A Driver.\n" -MSG.DETECT.OK >CSTR "UtherNet/CS8900A Installed As Device : %S\n" -MSG.DETECT.KO >CSTR "Hardware Not Found.\n" +MSG.DETECT >CSTR "UtherNet/CS8900A Driver.\r\n" +MSG.DETECT.OK >CSTR "UtherNet/CS8900A Installed As Device : %S\r\n" +MSG.DETECT.KO >CSTR "Hardware Not Found.\r\n" ARGS .BS 2 *-------------------------------------- * Device Header (16 Bytes) diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index 7806d76b..be116f18 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -137,9 +137,9 @@ Dev.Detect >STYA Args .INB DRV/X.NET.DRV.S *-------------------------------------- CS.END -MSG.DETECT >CSTR "UtherNet2/W5100 Driver.\n" -MSG.DETECT.OK >CSTR "UtherNet2/W5100 Installed As Device : %S\n" -MSG.DETECT.KO >CSTR "Hardware Not Found.\n" +MSG.DETECT >CSTR "UtherNet2/W5100 Driver.\r\n" +MSG.DETECT.OK >CSTR "UtherNet2/W5100 Installed As Device : %S\r\n" +MSG.DETECT.KO >CSTR "Hardware Not Found.\r\n" Args .BS 2 *-------------------------------------- * Device Header (16 Bytes) diff --git a/INC/NET.TELNET.I.txt b/INC/NET.TELNET.I.txt index e1aa90cf..adb69fcf 100644 --- a/INC/NET.TELNET.I.txt +++ b/INC/NET.TELNET.I.txt @@ -5,17 +5,55 @@ INC 1 AUTO 6 *-------------------------------------- * https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/+/jb-dev/sysroot/usr/include/arpa/telnet.h +SE .EQ 240 SB .EQ 250 -WILL .EQ 251 -WONT .EQ 252 -DO .EQ 253 -DONT .EQ 254 -IAC .EQ 255 +WILL .EQ 251 $FB +WONT .EQ 252 $FC +DO .EQ 253 $FD +DONT .EQ 254 $FE +IAC .EQ 255 $FF *-------------------------------------- -TELOPT.ECHO .EQ 1 -TELOPT.SGA .EQ 3 -TELOPT.NAWS .EQ 31 -TELOPT.LINEMODE .EQ 34 +TELOPT.BINARY .EQ 0 8-bit data path +TELOPT.ECHO .EQ 1 echo +TELOPT.RCP .EQ 2 prepare to reconnect +TELOPT.SGA .EQ 3 suppress go ahead +TELOPT.NAMS .EQ 4 approximate message size +TELOPT.STATUS .EQ 5 give status +TELOPT.TM .EQ 6 timing mark +TELOPT.RCTE .EQ 7 remote controlled transmission and echo +TELOPT.NAOL .EQ 8 negotiate about output line width +TELOPT.NAOP .EQ 9 negotiate about output page size +TELOPT.NAOCRD .EQ 10 negotiate about CR disposition +TELOPT.NAOHTS .EQ 11 negotiate about horizontal tabstops +TELOPT.NAOHTD .EQ 12 negotiate about horizontal tab disposition +TELOPT.NAOFFD .EQ 13 negotiate about formfeed disposition +TELOPT.NAOVTS .EQ 14 negotiate about vertical tab stops +TELOPT.NAOVTD .EQ 15 negotiate about vertical tab disposition +TELOPT.NAOLFD .EQ 16 negotiate about output LF disposition +TELOPT.XASCII .EQ 17 extended ascii character set +TELOPT.LOGOUT .EQ 18 force logout +TELOPT.BM .EQ 19 byte macro +TELOPT.DET .EQ 20 data entry terminal +TELOPT.SUPDUP .EQ 21 supdup protocol +TELOPT.SUPDUPOUTPUT .EQ 22 supdup output +TELOPT.SNDLOC .EQ 23 send location +TELOPT.TTYPE .EQ 24 terminal type +TELOPT.EOR .EQ 25 end or record +TELOPT.TUID .EQ 26 TACACS user identification +TELOPT.OUTMRK .EQ 27 output marking +TELOPT.TTYLOC .EQ 28 terminal location number +TELOPT.3270REGIME .EQ 29 3270 regime +TELOPT.X3PAD .EQ 30 X.3 PAD +TELOPT.NAWS .EQ 31 window size +TELOPT.TSPEED .EQ 32 terminal speed +TELOPT.LFLOW .EQ 33 remote flow control +TELOPT.LINEMODE .EQ 34 Linemode option +TELOPT.XDISPLOC .EQ 35 X Display Location +TELOPT.OLDENVIRON .EQ 36 Old - Environment variables +TELOPT.AUTHENTICATION .EQ 37 Authenticate +TELOPT.ENCRYPT .EQ 38 Encryption option +TELOPT.NEWENVIRON .EQ 39 New - Environment variables +TELOPT.EXOPL .EQ 255 extended-options-list *-------------------------------------- MAN SAVE /A2OSX.DEV/INC/NET.TELNET.I diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index c9503505..b157e75e 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -430,12 +430,12 @@ Wait.TimeOut sec *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" -MSG.CFG1 >CSTR "DHCPCLNT:Searching for DHCP servers...\n" -MSG.CFG2 >CSTR "DHCPCLNT:Reply from DHCP Server at %d.%d.%d.%d, requesting...\n" -MSG.CFG.KO >CSTR "DHCPCLNT:Time Out [%h].\n" -MSG.CFG.OK >CSTR "DHCPCLNT:Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\n" -MSG.CFG.ND >CSTR "DHCPCLNT:No Device, exiting.\n" -MSG.CFG.NA >CSTR "DHCPCLNT:TCPIP Already configured, exiting.\n" +MSG.CFG1 >CSTR "DHCPCLNT:Searching for DHCP servers...\r\n" +MSG.CFG2 >CSTR "DHCPCLNT:Reply from DHCP Server at %d.%d.%d.%d, requesting...\r\n" +MSG.CFG.KO >CSTR "DHCPCLNT:Time Out [%h].\r\n" +MSG.CFG.OK >CSTR "DHCPCLNT:Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\r\n" +MSG.CFG.ND >CSTR "DHCPCLNT:No Device, exiting.\r\n" +MSG.CFG.NA >CSTR "DHCPCLNT:TCPIP Already configured, exiting.\r\n" hLIBTCPIP .BS 1 IPCFG .BS S.IPCFG FrameLen .BS 2 diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 491fab0a..c04a7d56 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -76,17 +76,19 @@ CS.INIT >SYSCALL GetArgC clc .9 rts *-------------------------------------- -CS.RUN >LDYA L.MSG.TELNETOPT +CS.RUN + >LDYA L.MSG.TELNETOPT >SYSCALL CPrintFYA bcs .8 -.10 >SYSCALL GetC - bcc .10 +*.10 >SYSCALL GetC +* bcc .10 + bra .3 - lda #5 Ctrl-E - >SYSCALL PutCA - bcs .8 +* lda #5 Ctrl-E +* >SYSCALL PutCA +* bcs .8 .1 >SYSCALL Sleep >SYSCALL GetC @@ -138,13 +140,16 @@ CS.QUIT ldy #hBinName rts *-------------------------------------- CS.END -MSG.USAGE >CSTR "GETTY " -MSG.TELNETOPT .DA #IAC,#WILL,#TELOPT.ECHO - .DA #IAC,#WILL,#TELOPT.SGA - .DA #IAC,#DONT,#TELOPT.LINEMODE - .DA #IAC,#DO,#TELOPT.NAWS - .DA #0 -MSG.GREETINGS >CSTR "\nA2osX-GeTTY\n" +MSG.USAGE >CSTR "GETTY \r\n" +MSG.TELNETOPT +* .DA #IAC,#DO,#TELOPT.LINEMODE +* .DA #IAC,#SB,#TELOPT.LINEMODE,#1,#0,#IAC,#SE + .DA #IAC,#WILL,#TELOPT.BINARY + .DA #IAC,#WILL,#TELOPT.ECHO +* .DA #IAC,#WILL,#TELOPT.SGA +* .DA #IAC,#DO,#TELOPT.NAWS + .DA #13,#10,#0 +MSG.GREETINGS >CSTR "\r\nA2osX-GeTTY\r\n" TERM >PSTR "TERM" * \e[12h *-------------------------------------- diff --git a/SBIN/INSDRV.S.txt b/SBIN/INSDRV.S.txt index b5742afd..6365236f 100644 --- a/SBIN/INSDRV.S.txt +++ b/SBIN/INSDRV.S.txt @@ -70,8 +70,8 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG.HELP >CSTR "Usage: insdrv file.drv \n" -MSG.LOAD >CSTR "INSDRV:Loading %S...\n" +MSG.HELP >CSTR "Usage: insdrv file.drv \r\n" +MSG.LOAD >CSTR "INSDRV:Loading %S...\r\n" *-------------------------------------- MAN SAVE SBIN/INSDRV.S diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index af97a6ff..fd997f69 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -81,6 +81,9 @@ CS.RUN lda #0 lda #13 >SYSCALL PutCA bcs .9 + lda #10 + >SYSCALL PutCA + bcs .9 >LDYA L.SHELL >SYSCALL ExpandPStrYA @@ -185,8 +188,8 @@ INPUT.LINEIN ldy #INPUT.Status rts *-------------------------------------- CS.END -MSG.LOGIN >CSTR "\nlogin:" -MSG.PASSWORD >CSTR "\npassword:" +MSG.LOGIN >CSTR "\r\nlogin:" +MSG.PASSWORD >CSTR "\r\npassword:" SHELL >PSTR "${A2OSX}SBIN/SHELL" .DUMMY .OR 0 diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index cf720044..6eecf597 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -311,6 +311,9 @@ CS.CHARIN.CTRL cpx #13 CR bne .10 txa >SYSCALL PutCA + lda #10 + >SYSCALL PutCA + lda (pData) CmdBuffer ora #$80 sta (pData) @@ -492,13 +495,13 @@ CMDS >PSTR "CD" >PSTR "TIME" .HS 00 *-------------------------------------- -MSG.GREETINGS >CSTR "\nA2osX-Shell\n\n" +MSG.GREETINGS >CSTR "\r\nA2osX-Shell\r\n\r\n" MSG.PROMPT >CSTR "%S$ " -MSG.ECHO >CSTR ">%S\n" -MSG.ERROR >CSTR "Err:%S [%h]\n" +MSG.ECHO >CSTR ">%S\r\n" +MSG.ERROR >CSTR "Err:%S [%h]\r\n" FMT.DATE >PSTR "%A, %B %d %Y" FMT.TIME >PSTR "%H:%M:%S (%I:%M:%S%p)" -MSG.PRINTENV >CSTR "%S=%S\n" +MSG.PRINTENV >CSTR "%S=%S\r\n" *-------------------------------------- .INB X.ERRORS.S *-------------------------------------- diff --git a/SBIN/TCPIP.S.txt b/SBIN/TCPIP.S.txt index 74722e50..44859cd4 100644 --- a/SBIN/TCPIP.S.txt +++ b/SBIN/TCPIP.S.txt @@ -197,11 +197,11 @@ CS.END *-------------------------------------- LIBTCPIP >PSTR "libtcpip.o" DEVNAME >PSTR "ETH1" -MSG.DEV.KO >CSTR "TCPIP:No Device Found, exiting.\n" -MSG.DEV.OK >CSTR "TCPIP:Bound To Device : %S\n" +MSG.DEV.KO >CSTR "TCPIP:No Device Found, exiting.\r\n" +MSG.DEV.OK >CSTR "TCPIP:Bound To Device : %S\r\n" MSG.CFG >CSTR "TCPIP:Reading %S..." -MSG.CFG.KO >CSTR "Failed!!! [%h]\n" -MSG.CFG.OK >CSTR "OK.\n" +MSG.CFG.KO >CSTR "Failed!!! [%h]\r\n" +MSG.CFG.OK >CSTR "OK.\r\n" *-------------------------------------- HOSTNAME >PSTR "${A2OSX}ETC/HOSTNAME" TCPIP.CONF >PSTR "${A2OSX}ETC/TCPIP.CONF" diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt index e3b02c35..7b476022 100644 --- a/SYS/KERNEL.S.CIO.txt +++ b/SYS/KERNEL.S.CIO.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $A00 +LOMEM $900 INC 1 AUTO 6 .LIST OFF @@ -127,7 +127,8 @@ K.SScanF.IsDigit * \b : Print 'BS' (08) * \e : Print 'ESC' ($1B,27) * \f : Print 'FF' ($0C,12) -* \n : Print 'CR' ($0D,13) +* \n : Print 'LF' ($0A,10) +* \r : Print 'CR' ($0D,13) * \\\\ : Print \ * \% : Print % * Modifiers for len and padding : @@ -226,9 +227,9 @@ PrintFESC jmp (PrintFJMP,x) *-------------------------------------- PrintFTBL1 .AS "abBdDuefhHiILnNsS" PrintFTBL1.END -PrintFTBL2 .AS "befn\%" +PrintFTBL2 .AS "befnr\%" PrintFTBL2.END -PrintFTBL2.OUT .HS 08.1B.0C.0D \b\e\f\n +PrintFTBL2.OUT .HS 08.1B.0C.0A.0D \b\e\f\n\r .DA #'\' \\ .DA #'%' \% PrintFJMP .DA PrintF.A diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index e053ff8f..fd6a3e0a 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -136,7 +136,7 @@ DevMgr.SYS.Write .2 cmp #13 bne .3 - jsr DevMgr.SYS.CROut + jsr DevMgr.SYS.CR bra .8 .3 ora #$20 @@ -151,14 +151,18 @@ DevMgr.SYS.Write DevMgr.SYS.FSOut lda DevMgr.SYS.CH cmp #79 - beq DevMgr.SYS.LF1 - inc DevMgr.SYS.CH + bne .1 + + stz DevMgr.SYS.CH + bra DevMgr.SYS.LF + +.1 inc DevMgr.SYS.CH rts *-------------------------------------- -DevMgr.SYS.CROut - jsr DevMgr.SYS.ClrEOL +DevMgr.SYS.CR jsr DevMgr.SYS.ClrEOL + stz DevMgr.SYS.CH + rts *-------------------------------------- -DevMgr.SYS.LF1 stz DevMgr.SYS.CH DevMgr.SYS.LF ldx DevMgr.SYS.CV cpx #23 beq DevMgr.SYS.Scroll diff --git a/SYS/KERNEL.S.INIT2.txt b/SYS/KERNEL.S.INIT2.txt index d76b42a4..1d36c221 100644 --- a/SYS/KERNEL.S.INIT2.txt +++ b/SYS/KERNEL.S.INIT2.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $900 INC 1 AUTO 6 .LIST OFF @@ -106,12 +106,12 @@ Kernel.Move ldy #0 bne .1 .9 rts *-------------------------------------- -MSG.Init2 >CSTR "A2osX[Stage2]:Init\nInstalling KERNEL...\n - Global Page...\n" -MSG.D000BNK1 >CSTR " - $D000 Bank1...\n" -MSG.D000BNK2 >CSTR " - $D000 Bank2...\n" -MSG.E000 >CSTR " - $E000...\n" -MSG.HZ >CSTR "Kernel SYS Timer Set For %d0 hz Machine.\n" -MSG.Init2.OK >CSTR "A2osX[Stage2]:Complete.\n" +MSG.Init2 >CSTR "A2osX[Stage2]:Init\r\nInstalling KERNEL...\r\n - Global Page...\r\n" +MSG.D000BNK1 >CSTR " - $D000 Bank1...\r\n" +MSG.D000BNK2 >CSTR " - $D000 Bank2...\r\n" +MSG.E000 >CSTR " - $E000...\r\n" +MSG.HZ >CSTR "Kernel SYS Timer Set For %d0 hz Machine.\r\n" +MSG.Init2.OK >CSTR "A2osX[Stage2]:Complete.\r\n" *-------------------------------------- CPU.Init >LDAXI MSG.CPU jsr PrintCStrAX @@ -296,14 +296,14 @@ MSG.CPUTYPEH .DA /MSG.6502 .DA /MSG.65C02 .DA /MSG.65R02 .DA /MSG.65816 -MSG.6502 >CSTR "6502.\n" -MSG.65C02 >CSTR "65C02.\n" -MSG.65R02 >CSTR "65R02.\n" -MSG.65816 >CSTR "65816.\n" -MSG.CPU.SPEEDOK >CSTR "%d.%02d Mhz.\n" +MSG.6502 >CSTR "6502.\r\n" +MSG.65C02 >CSTR "65C02.\r\n" +MSG.65R02 >CSTR "65R02.\r\n" +MSG.65816 >CSTR "65816.\r\n" +MSG.CPU.SPEEDOK >CSTR "%d.%02d Mhz.\r\n" MSG.Z80 >CSTR "Detecting Z80 CPU..." -MSG.Z80.OK >CSTR "Detected In Slot %d.\n" -MSG.Z80.KO >CSTR "Not Detected.\n" +MSG.Z80.OK >CSTR "Detected In Slot %d.\r\n" +MSG.Z80.KO >CSTR "Not Detected.\r\n" MAN SAVE SYS/KERNEL.S.INIT2 LOAD SYS/KERNEL.S diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index 737447be..5951bbfe 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -471,16 +471,16 @@ I.ENV.LIB >PSTR "LIB=${A2OSX}LIB/" I.ENV.DRV >PSTR "DRV=${A2OSX}DRV/" STARTUP.CMDLINE >PSTR "${A2OSX}SBIN/SHELL ${A2OSX}A2osX.STARTUP" *-------------------------------------- -MSG.Init3 >CSTR "A2osX[Stage3]:Init\n" -MSG.IRQ >CSTR "-Interrupt Manager...\n" -MSG.DEV >CSTR "-Device Manager...\n" -MSG.EVT >CSTR "-Event Manager...\n" -MSG.FLT >CSTR "-Path Filter...\n" -MSG.TSK >CSTR "-Task Manager...\n" -MSG.Prefix >CSTR "Prefix:%S\n" -MSG.Startup >CSTR "Executing Kernel Startup Script...\nCmd:%S\n" -MSG.StartupErr >CSTR "Failed : [$%h]\n" -MSG.Init3.OK >CSTR "A2osX[Stage3]:Complete.\n" +MSG.Init3 >CSTR "A2osX[Stage3]:Init\r\n" +MSG.IRQ >CSTR "-Interrupt Manager...\r\n" +MSG.DEV >CSTR "-Device Manager...\r\n" +MSG.EVT >CSTR "-Event Manager...\r\n" +MSG.FLT >CSTR "-Path Filter...\r\n" +MSG.TSK >CSTR "-Task Manager...\r\n" +MSG.Prefix >CSTR "Prefix:%S\r\n" +MSG.Startup >CSTR "Executing Kernel Startup Script...\r\nCmd:%S\r\n" +MSG.StartupErr >CSTR "Failed : [$%h]\r\n" +MSG.Init3.OK >CSTR "A2osX[Stage3]:Complete.\r\n" *-------------------------------------- MAN SAVE SYS/KERNEL.S.INIT3 diff --git a/_Docs/KERNEL.md b/_Docs/KERNEL.md index 6bc1c674..77aa512c 100644 --- a/_Docs/KERNEL.md +++ b/_Docs/KERNEL.md @@ -113,7 +113,8 @@ Prints Pascal/C-Style String + \b : Print 'BS' (08) + \e : Print 'ESC' ($1B,27) + \f : Print 'FF' ($0C,12) - + \n : Print 'CR' ($0D,13) + + \n : Print 'LF' ($0A,10) + + \r : Print 'CR' ($0D,13) + \\\\ : Print \ + \% : Print % + Modifiers for len and padding :