diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po
index 6d35ae88..959bcce1 100644
Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ
diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po
index db3a7b0e..53372c33 100644
Binary files a/A2OSX.DEV.po and b/A2OSX.DEV.po differ
diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po
index d240cf02..265b927e 100644
Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ
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 :