From 127ebe266aa3aa6ac535e1190247760bb84dd063 Mon Sep 17 00:00:00 2001 From: burniouf Date: Sun, 9 Oct 2022 23:22:46 +0200 Subject: [PATCH] CC: wired to libgui SH: bugfix BIN/*, DRV/*:bugfix, API change --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/ATBROWSE.S.txt | 26 +++--- BIN/ATLOGON.S.txt | 40 ++++----- BIN/CAT.S.txt | 107 ++++++++++++------------ BIN/CC.S.F.txt | 2 +- BIN/CC.S.KW.txt | 6 +- BIN/CC.S.STMT.txt | 8 +- BIN/CUT.S.txt | 21 ++--- BIN/GTEST.S.txt | 52 ++++++------ BIN/IPCONFIG.S.txt | 69 ++++++++-------- BIN/LSDEV.S.txt | 2 +- BIN/NETSTAT.S.txt | 3 +- BIN/SH.S.CL.txt | 33 ++++---- BIN/SH.S.CMD.txt | 57 +++++-------- BIN/SH.S.CORE.txt | 101 ++++++++++++----------- BIN/SH.S.EXP.txt | 1 - BIN/SH.S.HIS.txt | 23 +++--- BIN/SH.S.IO.txt | 39 +++++---- BIN/SH.S.txt | 10 +-- BIN/SHUTDOWN.S.txt | 19 +++-- BIN/SPDIAG.S.txt | 18 ++--- BIN/TERM.S.txt | 8 +- BIN/USERDEL.S.txt | 19 +++-- BIN/XARGS.S.txt | 13 ++- DRV/DHGR.DRV.S.txt | 4 +- DRV/LANCEGS.DRV.S.txt | 17 ++-- DRV/MOUSE.DRV.S.txt | 32 ++++---- DRV/UTHER2.AI.DRV.S.txt | 16 ++-- DRV/UTHERNET.DRV.S.txt | 10 +-- DRV/UTHERNET2.DRV.S.txt | 17 ++-- INC/LIBGUI.I.txt | 46 +++++++---- INC/XY.I.txt | 23 ++++++ INCLUDE/libgui.h.txt | 60 ++++++++++++++ LIB/LIBGUI.O.S.txt | 28 +++++++ LIB/LIBGUI.S.CUR.txt | 2 +- LIB/LIBGUI.S.EVT.txt | 75 ++++++++++++----- LIB/LIBGUI.S.MBAR.txt | 14 +++- LIB/LIBGUI.S.MENU.txt | 11 ++- LIB/LIBGUI.S.MOU.txt | 78 ++++++++---------- LIB/LIBGUI.S.txt | 41 ++++++---- ROOT/make/_files.32MB.txt | 2 - SBIN/GETTY.S.txt | 14 ++-- SBIN/GUI.S.txt | 165 ++++++-------------------------------- SBIN/HTTPD.S.txt | 19 ++--- SBIN/INITD.S.txt | 44 +++++----- SBIN/LOGIN.S.txt | 6 +- SBIN/TELNETD.S.txt | 2 +- SYS/KERNEL.S.JMP.txt | 5 +- SYS/KERNEL.S.MD5.txt | 7 +- SYS/KERNEL.S.PWD.txt | 12 ++- 50 files changed, 731 insertions(+), 696 deletions(-) create mode 100644 INC/XY.I.txt create mode 100644 INCLUDE/libgui.h.txt create mode 100644 LIB/LIBGUI.O.S.txt diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4981629c3a4ae8f738c0e7cbe94882bfd2482341..9b11998232d488c3e6949c90b8b2ddbef769b3a9 100644 GIT binary patch delta 156408 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

?~qt>;1R}IWSqp4n5=5{ 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

6ndCg`4h~RZCk~)O5ZIsqgK{jB4S7%)5QK3D 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 il;0O$E#+YVz&rtyQPe_2r}9PlS(dp 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 z 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 z%0A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 DycmDY delta 154229 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

@2g7aK+Bu<5AY3o3OiNDbz_0GAl5lcL1ivn= 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 diff --git a/BIN/ATBROWSE.S.txt b/BIN/ATBROWSE.S.txt index 0d515c41..c4d21c4a 100644 --- a/BIN/ATBROWSE.S.txt +++ b/BIN/ATBROWSE.S.txt @@ -291,19 +291,19 @@ CS.QUIT lda hBuf rts *-------------------------------------- CS.END -MSG.NOATK .AZ "AppleTalk Not Loaded." -MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n" -MSG.GETINFO .AS "Network/Node:%H/%h\r\n" - .AS "Bridge : %h\r\n" - .AZ "HWID/ROMVER :%H/%h\r\n" -MSG.MYZONE .AZ "Zone Name :%S\r\n" -SEARCH.STRING >PSTR "=" - >PSTR "=" - >PSTR "*" -MSG.ZONES .AZ "Zone list :" -MSG.PSTR .AZ " %S\r\n" -MSG.DUMP0 .AZ "Net Nod SkT En# Object:Type@Zone" -MSG.DUMP .AZ "\e[?7l%H %h %h %h %S:%S@%S\r\n" +MSG.NOATK .CZ "AppleTalk Not Loaded." +MSG.ATKERR .CZ "AppleTalk Call %h, ERR:%H\r\n" +MSG.GETINFO .CS "Network/Node:%H/%h\r\n" + .CS "Bridge : %h\r\n" + .CZ "HWID/ROMVER :%H/%h\r\n" +MSG.MYZONE .CZ "Zone Name :%S\r\n" +SEARCH.STRING .PS "=" + .PS "=" + .PS "*" +MSG.ZONES .CZ "Zone list :" +MSG.PSTR .CZ " %S\r\n" +MSG.DUMP0 .CZ "Net Nod SkT En# Object:Type@Zone" +MSG.DUMP .CZ "\e[?7l%H %h %h %h %S:%S@%S\r\n" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/ATLOGON.S.txt b/BIN/ATLOGON.S.txt index 20522909..930b8cf6 100644 --- a/BIN/ATLOGON.S.txt +++ b/BIN/ATLOGON.S.txt @@ -511,34 +511,34 @@ CS.QUIT lda hReplyBuf rts *-------------------------------------- CS.END -MSG.USAGE .AZ "Usage : ATLOGON [USER] [PASSWORD]" -MSG.NOATK .AZ "AppleTalk Not Loaded." -MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n" -MSG.GETINFO .AS "Network/Node:%H/%h\r\n" - .AS "Bridge : %h\r\n" - .AZ "HWID/ROMVER :%H/%h\r\n" -MSG.NETNODPORT .AZ "Server Address : %H/%h:%h\r\n" -MSG.NOTFOUND .AZ "Server not found" -MSG.SRVINFO1 .AS "Server Name : %S\r\n" - .AS "Server Type : %S\r\n" - .AZ "AFP Dialects :\r\n" -MSG.SRVINFO2 .AZ "Supported UAMs :" -MSG.PSTR .AZ " %S\r\n" -SEARCH.STRING >PSTR "AFPServer" - >PSTR "*" +MSG.USAGE .CZ "Usage : ATLOGON [USER] [PASSWORD]" +MSG.NOATK .CZ "AppleTalk Not Loaded." +MSG.ATKERR .CZ "AppleTalk Call %h, ERR:%H\r\n" +MSG.GETINFO .CS "Network/Node:%H/%h\r\n" + .CS "Bridge : %h\r\n" + .CZ "HWID/ROMVER :%H/%h\r\n" +MSG.NETNODPORT .CZ "Server Address : %H/%h:%h\r\n" +MSG.NOTFOUND .CZ "Server not found" +MSG.SRVINFO1 .CS "Server Name : %S\r\n" + .CS "Server Type : %S\r\n" + .CZ "AFP Dialects :\r\n" +MSG.SRVINFO2 .CZ "Supported UAMs :" +MSG.PSTR .CZ " %S\r\n" +SEARCH.STRING .PS "AFPServer" + .PS "*" SEARCH.STRING.Len .EQ *-SEARCH.STRING *-------------------------------------- FPLogin.Guest .DA #18 * .DA #0 - >PSTR "AFPVersion 2.1" - >PSTR "No User Authent" + .PS "AFPVersion 2.1" + .PS "No User Authent" FPLogin.Guest.Len .EQ *-FPLogin.Guest *-------------------------------------- FPLogin.Auth .DA #18 * .DA #0 - >PSTR "AFPVersion 2.1" - >PSTR "Cleartxt Passwrd" -* >PSTR "username" + .PS "AFPVersion 2.1" + .PS "Cleartxt Passwrd" +* .PS "username" * .AS "password" 8 bytes, word aligned, 0 padded FPLogin.Auth.Len .EQ *-FPLogin.Auth *-------------------------------------- diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index e6dd8935..3f304350 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -61,8 +61,7 @@ L.ASCII .DA ASCII CS.INIT clc rts *-------------------------------------- -CS.RUN -.1 inc ArgCount +CS.RUN inc ArgCount lda ArgCount >SYSCALL ArgV bcs .7 @@ -75,8 +74,9 @@ CS.RUN ldy #1 lda (ZPPtr1),y + beq .99 - ldx #OptionList.Cnt-1 +.1 ldx #OptionVars-OptionList-1 .2 cmp OptionList,x beq .3 @@ -84,20 +84,24 @@ CS.RUN dex bpl .2 -.99 >PUSHW L.MSG.USAGE - >PUSHBI 0 - >SYSCALL PrintF +.99 >LDYA L.MSG.USAGE + >SYSCALL PutS lda #E.SYN sec .9 rts -.3 ldy OptionVars,x - lda #$80 - sta 0,y - bra .1 +.3 lda OptionVars,x + tax +* sec + ror 0,x + iny + lda (ZPPtr1),y + bne .1 + + bra CS.RUN .4 inc FileCount - bra .1 scan for any other args + bra CS.RUN scan for any other args .7 lda FileCount beq .99 @@ -321,50 +325,49 @@ CS.DOEVENT sec CS.END *-------------------------------------- OptionList .AS "ANSans" -OptionList.Cnt .EQ *-OptionList OptionVars .DA #bPrintAll,#bLineNum,#bSuppressBlankLine,#bPrintAll,#bLineNum,#bSuppressBlankLine *-------------------------------------- -MSG.USAGE .AS "Usage : CAT File1 [File2...]\r\n" - .AS " -A : Show All non printable characters\r\n" - .AS " -N : Number all output lines\r\n" - .AS " -S : Suppress repeated empty output lines" -MSG.CRLF .AZ "\r\n" -MSG.INIT .AZ "\e[?7h" Enable Line Wrap -MSG.LINENUM .AZ "%5D:" -MSG.CTRLCHAR .AZ "[%S]" +MSG.USAGE .CS "Usage : CAT File1 [File2...]\r\n" + .CS " -A : Show All non printable characters\r\n" + .CS " -N : Number all output lines\r\n" + .CS " -S : Suppress repeated empty output lines" +MSG.CRLF .CZ "\r\n" +MSG.INIT .CZ "\e[?7h" Enable Line Wrap +MSG.LINENUM .CZ "%5D:" +MSG.CTRLCHAR .CZ "[%S]" *-------------------------------------- -ASCII >PSTR "NUL" - >PSTR "SOH" - >PSTR "STX" - >PSTR "ETX" - >PSTR "EOT" - >PSTR "ENQ" - >PSTR "ACK" - >PSTR "BEL" - >PSTR "BS" - >PSTR "TAB" - >PSTR "LF" - >PSTR "VT" - >PSTR "FF" - >PSTR "CR" - >PSTR "SO" - >PSTR "SI" - >PSTR "DLE" - >PSTR "DC1" - >PSTR "DC2" - >PSTR "DC3" - >PSTR "DC4" - >PSTR "NAK" - >PSTR "SYN" - >PSTR "ETB" - >PSTR "CAN" - >PSTR "EM" - >PSTR "SUB" - >PSTR "ESC" - >PSTR "FS" - >PSTR "GS" - >PSTR "RS" - >PSTR "US" +ASCII .PS "NUL" + .PS "SOH" + .PS "STX" + .PS "ETX" + .PS "EOT" + .PS "ENQ" + .PS "ACK" + .PS "BEL" + .PS "BS" + .PS "TAB" + .PS "LF" + .PS "VT" + .PS "FF" + .PS "CR" + .PS "SO" + .PS "SI" + .PS "DLE" + .PS "DC1" + .PS "DC2" + .PS "DC3" + .PS "DC4" + .PS "NAK" + .PS "SYN" + .PS "ETB" + .PS "CAN" + .PS "EM" + .PS "SUB" + .PS "ESC" + .PS "FS" + .PS "GS" + .PS "RS" + .PS "US" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/CC.S.F.txt b/BIN/CC.S.F.txt index a01affd6..f63872a8 100644 --- a/BIN/CC.S.F.txt +++ b/BIN/CC.S.F.txt @@ -13,7 +13,7 @@ F.Decl stz LocalPtr jsr SYM.NewScope bcs .99 - jsr CORE.GetNCharNB Skip ( + jsr CORE.GetNCharNBNL Skip ( bcs .9 cmp #')' func() diff --git a/BIN/CC.S.KW.txt b/BIN/CC.S.KW.txt index 913be4e2..99d45554 100644 --- a/BIN/CC.S.KW.txt +++ b/BIN/CC.S.KW.txt @@ -137,7 +137,11 @@ KW.WHILE jsr KW.BEGIN00 sec .99 rts *-------------------------------------- -KW.WHILE.END lda #'C' +KW.WHILE.END >LDYA L.PCC.SLEEP + jsr CODE.EmitPCC + bcs .99 + + lda #'C' jsr KW.GetLabel bcs .99 diff --git a/BIN/CC.S.STMT.txt b/BIN/CC.S.STMT.txt index e57ee0ce..09de95df 100644 --- a/BIN/CC.S.STMT.txt +++ b/BIN/CC.S.STMT.txt @@ -28,9 +28,9 @@ STMT.Get jsr CC.GetCharNB pha lda (ZPLookupSymPtr) pha - + jsr SYM.LookupFree - + ply pla @@ -42,7 +42,7 @@ STMT.Get jsr CC.GetCharNB lda (ZPLookupSymPtr),y bit #SYM.Q.FUNC beq .61 - + bit StmtPreOp bpl .9 ++func ???????? @@ -178,7 +178,7 @@ CC.STMT.POP bne .98 jsr .7 bcs .99 - + bvs .1 DONT POP reused context (ELSE....) lda CStackPtr diff --git a/BIN/CUT.S.txt b/BIN/CUT.S.txt index ac039a89..b071b4a5 100644 --- a/BIN/CUT.S.txt +++ b/BIN/CUT.S.txt @@ -82,9 +82,8 @@ CS.RUN lda #C.SPACE .97 lda #E.SYN .98 pha - >PUSHW L.MSG.USAGE - >PUSHBI 0 - >SYSCALL PrintF + >LDYA L.MSG.USAGE + >SYSCALL PutS pla sec .9 rts @@ -240,6 +239,7 @@ CS.RUN.OUT.MN ldy #0 lda (ZPBufPtr),y beq CS.RUN.PRINTCR + iny bra .1 @@ -284,6 +284,7 @@ CS.RUN.AddYToBufPtr adc ZPBufPtr sta ZPBufPtr bcc .8 + inc ZPBufPtr+1 .8 rts *-------------------------------------- @@ -308,13 +309,13 @@ CS.END OptionList .AS "HhFfMmNnSs" OptionList.Cnt .EQ *-OptionList *-------------------------------------- -MSG.USAGE .AS "Usage : CUT "line of text"\r\n" - .AS " -H : This help screen\r\n" - .AS "-F nn : Output field nn\r\n" - .AS "-M nn : Output starting at nn\r\n" - .AS "-N nn : Output Ending at nn\r\n" - .AS "-S ch : Change default SPACE separator to 'ch'" -MSG.CRLF .AZ "\r\n" +MSG.USAGE .CS "Usage : CUT "line of text"\r\n" + .CS " -H : This help screen\r\n" + .CS " -F nn : Output field nn\r\n" + .CS " -M nn : Output starting at nn\r\n" + .CS " -N nn : Output Ending at nn\r\n" + .CS " -S ch : Change default SPACE separator to 'ch'" +MSG.CRLF .CZ "\r\n" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/GTEST.S.txt b/BIN/GTEST.S.txt index f4e6b8af..e66f3c2a 100644 --- a/BIN/GTEST.S.txt +++ b/BIN/GTEST.S.txt @@ -1,13 +1,13 @@ NEW AUTO 3,1 - .LIST OFF + .LIST OFF .OP 65C02 .OR $2000 - .TF bin/gtest + .TF root/asmtest/gtest *-------------------------------------- .INB inc/macros.i .INB inc/a2osx.i - .INB inc/kernel.i + .INB inc/mli.i .INB inc/gfx.i *-------------------------------------- .DUMMY @@ -78,14 +78,14 @@ CS.RUN jsr GFX.Open lda CB.RECT2+S.CB.COLOR cmp #16 beq .3 - + lda CB.RECT2+S.CB.X1 clc adc #28 sta CB.RECT2+S.CB.X1 bcc .2 inc CB.RECT2+S.CB.X1+1 - + .2 lda CB.RECT2+S.CB.X2 clc adc #28 @@ -93,7 +93,7 @@ CS.RUN jsr GFX.Open bcc .1 inc CB.RECT2+S.CB.X2+1 bra .1 - + .3 >LDYA L.CB.PIX jsr GFX.Write.YA @@ -110,7 +110,7 @@ CS.RUN jsr GFX.Open sta CB.TEXTB+S.CB.hFont >LDYA L.MESSAGEB >STYA CB.TEXTB+S.CB.TxtPtr - + >LDYA L.CB.TEXTB jsr GFX.Write.YA bcs .9 @@ -130,7 +130,7 @@ CS.RUN jsr GFX.Open >LDYA L.CB.TEXT jsr GFX.Write.YA - + jsr CS.RUN.LOGO.SHOW lda #0 @@ -151,13 +151,13 @@ CS.RUN.LOGO.SHOW lda #S.CB.CMD.BITBLT sta CB.LOGO+S.CB.CMD - + .1 lda #S.CB.OP.SET+S.CB.OP.COLOR+S.CB.OP.SAVE sta CB.LOGO+S.CB.OP >LDYA L.CB.LOGO jsr GFX.Write.YA - + ldy #S.PS.hStdIn lda (pPS),y @@ -165,14 +165,14 @@ CS.RUN.LOGO.SHOW bcs CS.RUN.RTS tay beq .80 - + .2 >SLEEP bit bVBL bpl .2 - + stz bVBL - + lda #S.CB.OP.RESTORE sta CB.LOGO+S.CB.OP @@ -181,12 +181,12 @@ CS.RUN.LOGO.SHOW bit xDir bmi .4 - + lda CB.LOGO+S.CB.X1 clc adc #4 tay - + lda CB.LOGO+S.CB.X1+1 adc #0 pha @@ -194,7 +194,7 @@ CS.RUN.LOGO.SHOW sbc /244 pla bcc .5 - + .3 lda xDir eor #$ff sta xDir @@ -207,14 +207,14 @@ CS.RUN.LOGO.SHOW lda CB.LOGO+S.CB.X1+1 sbc #0 bcc .3 - + .5 sty CB.LOGO+S.CB.X1 sta CB.LOGO+S.CB.X1+1 .6 lda CB.LOGO+S.CB.Y1 bit yDir bmi .8 - + inc sta CB.LOGO+S.CB.Y1 cmp #144 @@ -224,12 +224,12 @@ CS.RUN.LOGO.SHOW eor #$ff sta yDir jmp .1 - + .8 sec sbc #1 sta CB.LOGO+S.CB.Y1 beq .7 - + jmp .1 .80 >SYSCALL GetChar @@ -266,7 +266,7 @@ CS.QUIT lda hFont .4 lda CB.TEXTB+S.CB.SrcPtr beq .5 >SYSCALL FreeStkObj - + .5 lda CB.TEXT+S.CB.SrcPtr beq .6 >SYSCALL FreeStkObj @@ -274,7 +274,7 @@ CS.QUIT lda hFont .6 lda CB.PALETTE+S.CB.SrcPtr beq .7 >SYSCALL FreeStkObj - + .7 lda hDevGFX beq .8 @@ -317,8 +317,8 @@ LoadResources >LDYA L.FONTFILE bcs .9 stx CB.PALETTE+S.CB.SrcPtr - -.9 rts + +.9 rts .1 >PUSHYA >PUSHBI O.RDONLY @@ -341,7 +341,7 @@ GFX.Write.YA pha pla >PUSHYA >SYSCALL IOCTL - rts + rts *-------------------------------------- CS.END DEVNAME.GFX .AZ "/dev/gfx" @@ -486,7 +486,7 @@ CB.LOGO .DA #S.CB.CMD.GETRECTBUFSIZE *-------------------------------------- .DUMMY .OR 0 -DS.START +DS.START DS.END .ED *-------------------------------------- MAN diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 38b8df7f..0ce79dc2 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -13,6 +13,7 @@ NEW .INB inc/eth.i .INB inc/lib.net.i .INB inc/libtcpip.i + .INB inc/net.tcpip.i .INB inc/net.dhcp.i *-------------------------------------- TIMEOUT.MAX .EQ 200 20 sec. @@ -443,53 +444,53 @@ MSG.USAGE .AS "Usage : IPCONFIG \r\n" *-------------------------------------- MSG.NODEV .AZ "TCP/IP not bound to any device." *-------------------------------------- -MSG1.DEV .AS "NIC Device Configuration :\r\n" - .AS " Device ID : $%h\r\n" - .AS " Device Name : %s\r\n" - .AS " Device Type : %S\r\n" - .AZ " HW Address : %02h:%02h:%02h:%02h:%02h:%02h\r\n" -MSG1.DEV.ARP .AZ " ARP Offload : %d\r\n" -MSG1.DEV.IP .AS " IP Offload : %d\r\n" - .AZ " Link Status : " -MSG1.LINK.OK .AZ "OK" -MSG1.LINK.KO .AZ "Media Disconnected" -MSG1.LINKSPEED .AZ " Link Speed : 1" -MSG1.DPLX.FD .AZ " Mbit/s,Full Duplex" -MSG1.DPLX.HD .AZ " Mbit/s,Half Duplex" +MSG1.DEV .CS "NIC Device Configuration :\r\n" + .CS " Device ID : $%h\r\n" + .CS " Device Name : %s\r\n" + .CS " Device Type : %S\r\n" + .CZ " HW Address : %02h:%02h:%02h:%02h:%02h:%02h\r\n" +MSG1.DEV.ARP .CZ " ARP Offload : %d\r\n" +MSG1.DEV.IP .CS " IP Offload : %d\r\n" + .CZ " Link Status : " +MSG1.LINK.OK .CZ "OK" +MSG1.LINK.KO .CZ "Media Disconnected" +MSG1.LINKSPEED .CZ " Link Speed : 1" +MSG1.DPLX.FD .CZ " Mbit/s,Full Duplex" +MSG1.DPLX.HD .CZ " Mbit/s,Half Duplex" *-------------------------------------- -MSG2 .AZ "IP Configuration : " -MSG2.C .AZ "Configured" -MSG2.U .AZ "Not Configured" -MSG2.DHCPSRVR .AZ " DHCP Server : %d.%d.%d.%d\r\n" -MSG2.IPMASK .AZ " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\r\n" -MSG2.GW .AZ " Gateway : %d.%d.%d.%d\r\n" -MSG2.DNS .AZ " DNS : %d.%d.%d.%d,%d.%d.%d.%d\r\n" -MSG2.HOSTNAME .AZ " Hostname : %s.%s\r\n" +MSG2 .CZ "IP Configuration : " +MSG2.C .CZ "Configured" +MSG2.U .CZ "Not Configured" +MSG2.DHCPSRVR .CZ " DHCP Server : %d.%d.%d.%d\r\n" +MSG2.IPMASK .CZ " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\r\n" +MSG2.GW .CZ " Gateway : %d.%d.%d.%d\r\n" +MSG2.DNS .CZ " DNS : %d.%d.%d.%d,%d.%d.%d.%d\r\n" +MSG2.HOSTNAME .CZ " Hostname : %s.%s\r\n" *-------------------------------------- -MSG.CFG .AZ "IPCONFIG:Reading %s..." -MSG.CFG.KO .AZ "Not Found. [%h]\r\n" -MSG.CFG.OK .AZ "OK." +MSG.CFG .CZ "IPCONFIG:Reading %s..." +MSG.CFG.KO .CZ "Not Found. [%h]\r\n" +MSG.CFG.OK .CZ "OK." *-------------------------------------- HOSTNAME .AZ "${ROOT}etc/hostname" TCPIP.CONF .AZ "${ROOT}etc/tcpip.conf" HOSTS .AZ "${ROOT}etc/hosts" *-------------------------------------- CFG.DefaultHost .AZ "a2osx-%H" -CFG.Keywords >PSTR "address" - >PSTR "netmask" - >PSTR "gateway" - >PSTR "nameserver" - >PSTR "dnsdomain" +CFG.Keywords .PS "address" + .PS "netmask" + .PS "gateway" + .PS "nameserver" + .PS "dnsdomain" .DA #0 *-------------------------------------- CFG.IP.SScanF .AZ "%d.%d.%d.%d" CFG.HOST.SScanF .AZ "%d.%d.%d.%d %s %s" *-------------------------------------- -MSG.DHCP.CFG1 .AZ "IPCONFIG:Searching for DHCP servers..." -MSG.DHCP.CFG2 .AZ "IPCONFIG:Reply from DHCP Server at %d.%d.%d.%d, requesting...\r\n" -MSG.DHCP.KO .AZ "IPCONFIG:Time Out [%h].\r\n" -MSG.DHCP.OK .AZ "IPCONFIG:Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\r\n" -MSG.DHCP.NA .AZ "IPCONFIG:TCPIP Already configured, exiting." +MSG.DHCP.CFG1 .CZ "IPCONFIG:Searching for DHCP servers..." +MSG.DHCP.CFG2 .CZ "IPCONFIG:Reply from DHCP Server at %d.%d.%d.%d, requesting...\r\n" +MSG.DHCP.KO .CZ "IPCONFIG:Time Out [%h].\r\n" +MSG.DHCP.OK .CZ "IPCONFIG:Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\r\n" +MSG.DHCP.NA .CZ "IPCONFIG:TCPIP Already configured, exiting." *-------------------------------------- IPCFG .BS S.IPCFG CFG.IP .BS 4 diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index 0c89680d..7e13407a 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -248,7 +248,7 @@ CS.QUIT clc CS.END MSG0 .CZ "hFD Type Name Addr Status Typ/Sub IDString Version Size (BLK)" MSG.DEV .CZ "%3d %5s %12s %H " -MSG.DEV.ERR .CZ "Device Error : $%h\r\n" +MSG.DEV.ERR .CZ "[%h] Device Error.\r\n" MSG.DEV.DIB .CZ "%s $%h/$%h %16S %03d.%03d " MSG.DEV.B .CZ "%10u\r\n" MSG.DEV.C .CZ "n/a\r\n" diff --git a/BIN/NETSTAT.S.txt b/BIN/NETSTAT.S.txt index 08bc15a9..c064d9a0 100644 --- a/BIN/NETSTAT.S.txt +++ b/BIN/NETSTAT.S.txt @@ -8,6 +8,7 @@ NEW .INB inc/macros.i .INB inc/a2osx.i .INB inc/eth.i + .INB inc/net.tcpip.i .INB inc/libtcpip.i *-------------------------------------- .DUMMY @@ -187,7 +188,7 @@ CS.END LIBTCPIP .AZ "libtcpip" hLIBTCPIP .BS 1 MSG0 .AZ "Type Prot Local Remote Options Status" -MSG1 .AZ "%s %s %3d.%3d.%3d.%3d:%5D %3d.%3d.%3d.%3d:%5D %b %s\r\n" +MSG1 .CZ "%s %s %3d.%3d.%3d.%3d:%5D %3d.%3d.%3d.%3d:%5D %b %s\r\n" MSG1.T.RAW .AZ "RAW " MSG1.T.DGRAM .AZ "DGRAM " MSG1.T.SEQPKT .AZ "SEQPKT" diff --git a/BIN/SH.S.CL.txt b/BIN/SH.S.CL.txt index 58d73823..a26c56f8 100644 --- a/BIN/SH.S.CL.txt +++ b/BIN/SH.S.CL.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- CL.Init >LDYAI 256 >SYSCALL GetMem @@ -18,9 +17,9 @@ CL.PrintPrompt >PUSHW L.PS1 bcs .9 phx - + jsr PrintYANoCR - + pla >SYSCALL FreeMem @@ -29,7 +28,7 @@ CL.PrintPrompt >PUSHW L.PS1 .9 rts *-------------------------------------- CL.READN0A tax -CL.READN0X +CL.READN0X >PUSHW ZPCLBuf >PUSHW L.FMT.Byte txa @@ -37,7 +36,7 @@ CL.READN0X >PUSHBI 1 >SYSCALL SPrintF bcs .9 - + lda #$ff >STA.G CL.bReady * clc @@ -67,10 +66,10 @@ CL.CHARIN tax .2 >LDA.G CL.MaxCnt bne .3 - + lda EscChars.Remap,x bra CL.READN0A - + .3 txa asl tax @@ -86,7 +85,7 @@ CL.CHARIN tax .5 >LDA.G CL.MaxCnt beq CL.READN0X - + cpx #C.SPACE bcc CL.CHARIN.CTRL @@ -118,7 +117,7 @@ CL.Insert >LDA.G CL.Len >STA.G CL.Len pha - + .1 ply dey lda (ZPCLBuf),y Move from Ptr To end of buffer forward... @@ -175,10 +174,10 @@ CL.CHARIN.CTRL cpx #C.CR .1 cpx #26 Ctrl-Z bne .8 jmp CL.SUPPR - + .18 jsr CheckLFAfterCR Check for any extra LF bcs .9 - + .19 lda #$ff >STA.G CL.bReady @@ -189,7 +188,7 @@ CL.CLR >STZ.G HIS.Ptr CL.CLR.1 lda (ZPCLBuf) beq CL.Reset.1 - + >LDA.G CL.bSilent bmi CL.Reset @@ -217,11 +216,11 @@ CL.CLR.1 lda (ZPCLBuf) *-------------------------------------- CL.Reset lda #0 sta (ZPCLBuf) - + CL.Reset.1 lda #0 ldy #CL.Ptr - + .1 sta (pData),y iny cpy #CL.bEscMode+1 @@ -264,7 +263,7 @@ CL.NAK >LDA.G CL.Ptr bmi .9 lda #C.FS - >SYSCALL PutChar + >SYSCALL PutChar .9 rts *-------------------------------------- @@ -285,7 +284,7 @@ CL.DEL pha iny phy tya - + >CMP.G CL.Len bne .1 @@ -322,7 +321,7 @@ CL.PrintEOL >LDA.G CL.Ptr pla inc bra .3 - + .4 lda #C.BS >SYSCALL PutChar diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index c139aa92..b00e81c9 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -1,13 +1,12 @@ NEW AUTO 3,1 - .LIST OFF -*-------------------------------------- -* https://linuxize.com/post/how-to-create-bash-aliases/ *-------------------------------------- CMD.ALIAS lda (ZPArgVBufPtr) - bne CMD.ALIAS.ADD + beq .10 - >LDA.G hAliases + jmp CMD.ALIAS.ADD + +.10 >LDA.G hAliases beq .8 ldy #0 @@ -15,29 +14,30 @@ CMD.ALIAS lda (ZPArgVBufPtr) .1 >STYA ZPTmpW Save KeyID - clc - jsr CMD.ALIAS.Push - + >PUSHB.G hAliases + >PUSHW ZPTmpW KeyID + >PUSHW ZPCLBuf >SYSCALL SListGetByID bcs .8 >STYA ZPPtr1 NextID - >LDYA ZPCLBuf - jsr PrintYANoCR + ldy #hAliases + jsr CORE.SListGetData bcs .9 - sec - jsr CMD.ALIAS.Push + phx - >SYSCALL SListGetData - bcs .9 - >PUSHW L.MSG.ALIAS >PUSHW ZPCLBuf - >PUSHBI 2 + txa + >SYSCALL GetMemPtr + >PUSHYA + >PUSHBI 4 >SYSCALL PrintF - bcs .9 + + pla + >SYSCALL FreeMem >LDYA ZPPtr1 bra .1 @@ -85,16 +85,6 @@ CMD.ALIAS.ADD >LDYA ZPArgVBufPtr sec .99 rts *-------------------------------------- -CMD.ALIAS.Push >PUSHB.G hAliases - >PUSHW ZPTmpW KeyID - >PUSHW ZPCLBuf - bcc .8 - - >PUSHWI $ffff All - >PUSHWZ from Start - -.8 rts -*-------------------------------------- CMD.. lda (ZPArgVBufPtr) beq CMD...9 @@ -273,7 +263,7 @@ CMD.SET.1 eor bState sta bState bra .5 - + .3 dex bpl .2 @@ -714,13 +704,8 @@ CMD.CALL jsr CMD.CALL.GETFUNC >STYA ZPTmpW KeyID - >PUSHB.G hFunctions - >PUSHW ZPTmpW KeyID - >PUSHWZ Allocate.. - >PUSHWI $ffff all - >PUSHWZ From Start - - >SYSCALL SListGetData X = hMem + ldy #hFunctions + jsr CORE.SListGetData bcs CMD.CALL.RTS >LDYA ZPArgVBufPtr FUNC PARAM1 PARAM2... @@ -771,7 +756,7 @@ CMD.EXIT lda (ZPArgVBufPtr) .8 jsr CMD.EXIT.FILE lda #bState.ExitOnEOF tsb bState - + clc .9 rts *-------------------------------------- diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 54c58015..d9b78ea8 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- CORE.Init lda #PUSHD.STACK tay @@ -20,8 +19,8 @@ CORE.FUNCRESET >LDA.G hFunctions .8 rts *-------------------------------------- -* stack-6,7 InputBuf -* stack-4,5 InputBufPtr +* stack-6,7 old InputBuf +* stack-4,5 old InputBufPtr * stack-3 old ARGC * stack-2 old ARGV * stack-1 new hCode @@ -131,7 +130,8 @@ CORE.Run jsr IO.Reset txa >STA.G CORE.hArgVBuf - >STZ.G CORE.bPipeIn + lda #bState.PipeIn + trb bState CORE.Run.1 >LDYA ZPInputBufPtr Save Actual ptr for looping >STYA ZPInputCmdPtr @@ -178,13 +178,8 @@ CORE.Run.3 >LDA.G hAliases txa jsr CORE.SkipCharsA - >PUSHB.G hAliases - >PUSHW ZPTmpW KeyID - >PUSHWZ Allocate.. - >PUSHWI $ffff all - >PUSHWZ From Start - - >SYSCALL SListGetData X = hMem + ldy #hAliases + jsr CORE.SListGetData bcs .9 jsr CORE.PushBufX @@ -236,7 +231,7 @@ CORE.Run.4 >LDYA L.CMD internal command ? jmp CORE.Run.Exit *-------------------------------------- CORE.Run.5 jsr CORE.GetCharNB - bcs CORE.Run.NOPIPE Nothing to skip + bcs .8 Nothing to skip jsr CORE.IsEndCmd bcc .3 @@ -264,56 +259,57 @@ CORE.Run.5 jsr CORE.GetCharNB cmp #';' beq .7 - + cmp #'|' bne .5 - + jsr CORE.GetNextCharNB '|' - bra CORE.Run.PIPE - + + lda #bState.PipeOut + tsb bState + bra CORE.Run.6 + .5 cmp #'&' bne .9 - + jsr CORE.GetNextChar Skip '&' bcs .50 - + cmp #'&' beq .6 && - + .50 lda #S.PS.F.HOLD Run in the background... trb CORE.PSFlags - bra CORE.Run.NOPIPE - + bra .8 + .6 jsr CORE.GetNextChar Skip '&&' jsr CORE.ExecCmd bcc .60 - + jsr CORE.SkipLine clc lda #0 jmp CORE.Run.Exit - -.60 jmp CORE.Run.1 + +.60 jmp CORE.Run.1 .7 jsr CORE.GetNextCharNB Skip EoL char -.8 bra CORE.Run.NOPIPE +.8 lda #bState.PipeOut + trb bState *-------------------------------------- -CORE.Run.NOPIPE clc no pipe - .HS B0 BCS -CORE.Run.PIPE sec - ror - >STA.G CORE.bPipeOut - - >LDA.G CORE.bPipeIn - bpl .1 +CORE.Run.6 lda bState + bit #bState.PipeIn + beq .1 jsr IO.Pipe.In bcs CORE.Run.Exit -.1 >LDA.G CORE.bPipeOut - bpl .7 + lda bState + +.1 bit #bState.PipeOut + beq .7 jsr IO.Pipe.Out bcs CORE.Run.Exit @@ -335,8 +331,9 @@ CORE.Run.PIPE sec jsr IO.Reset.OutC restore Output, NO close if EXTERNAL - >LDA.G CORE.bPipeIn - bpl .6 + lda bState + and #bState.PipeIn + beq .6 jsr IO.Pop.In restore Input @@ -344,8 +341,8 @@ CORE.Run.PIPE sec plp bcs CORE.Run.Exit - lda #$FF - >STA.G CORE.bPipeIn + lda #bState.PipeIn + tsb bState jmp CORE.Run.1 Loop with Pipe IN @@ -389,8 +386,9 @@ CORE.ExecExtCmd >PUSHW ZPArgVBuf and #S.PS.F.HOLD bne .4 - >LDA.G CORE.bPipeOut - bmi .4 + lda bState + bit #bState.PipeOut + bne .4 ldy #S.PS.hStdErr lda (pPS),y @@ -725,11 +723,11 @@ CORE.PushBufX >LDA.G CODE.STACK ldx #0 -.1 lda ZPInputBuf,x +.1 lda ZPInputBuf,x ZPInputBuf sta (pData),y - inx + inx ZPInputBufPtr iny - cpx #6 + cpx #6 ZPInputCmdPtr bne .1 pla @@ -766,11 +764,11 @@ CORE.PopBuf phy ldx #5 dey -.1 lda (pData),y +.1 lda (pData),y ZPInputBuf sta ZPInputBuf,x - dey + dey ZPInputBufPtr dex - bpl .1 + bpl .1 ZPInputCmdPtr tya >STA.G CODE.STACK @@ -786,6 +784,15 @@ CORE.PopBuf phy * sec rts *-------------------------------------- +CORE.SListGetData + >PUSHB (pData),y + >PUSHW ZPTmpW KeyID + >PUSHWZ Allocate + >PUSHWI $ffff All + >PUSHWZ from Start + >SYSCALL SListGetData X = hMem + rts +*-------------------------------------- * Stack *-------------------------------------- CORE.StkPopCtx jsr CORE.StkPull diff --git a/BIN/SH.S.EXP.txt b/BIN/SH.S.EXP.txt index 3164886e..0aec1e32 100644 --- a/BIN/SH.S.EXP.txt +++ b/BIN/SH.S.EXP.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- EXP.GET jsr CORE.ArgV.Next bne .1 diff --git a/BIN/SH.S.HIS.txt b/BIN/SH.S.HIS.txt index 394b0c8f..9d7ba69b 100644 --- a/BIN/SH.S.HIS.txt +++ b/BIN/SH.S.HIS.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- HIS.Init >LDYAI HISBUF.MAX Get a buffer for History @@ -17,7 +16,7 @@ HIS.Init >LDYAI HISBUF.MAX Get a buffer for History *-------------------------------------- HIS.Add >LDA.G HIS.hBuf beq .9 - + >LDA.G HIS.Count cmp #HISCNT.MAX bcs .1 @@ -45,10 +44,10 @@ HIS.Add >LDA.G HIS.hBuf *-------------------------------------- HIS.Select >LDA.G HIS.Count bne .10 - + clc .99 rts - + .10 jsr CL.Reset ldx #0 @@ -80,7 +79,7 @@ HIS.Select >LDA.G HIS.Count lda #0 sta (ZPCLBuf) - + ldy #HIS.Ptr sta (ZPCLBuf),y @@ -100,7 +99,7 @@ HIS.Select >LDA.G HIS.Count .7 >LDYA L.MSG.HISROMPTCLR jsr PrintYANoCR bcs .9 - + jsr CL.PrintPrompt bcc HIS.GetToCL1 .9 @@ -119,7 +118,7 @@ HIS.GetPrev >LDA.G HIS.Count bne .2 >LDA.G HIS.Count - + .2 bra HIS.GetToCL *-------------------------------------- HIS.GetNext >LDA.G HIS.Count @@ -153,7 +152,7 @@ HIS.GetToCL1 >LDA.G HIS.Ptr >STA.G CL.Ptr >STA.G CL.Len - + >LDYA ZPCLBuf jmp PrintYANoCR @@ -168,15 +167,15 @@ HIS.GetX >PUSHB.G HIS.hBuf rts *-------------------------------------- HIS.NextY lda (pData),y - + phy >CMP.G HIS.Count ply - + bcc .1 - + lda #0 - + .1 inc rts diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index 3a95c024..8e943bfd 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -1,6 +1,5 @@ NEW AUTO 3,1 - .LIST OFF *-------------------------------------- IO.Reset jsr IO.Reset.In jsr IO.Reset.Out @@ -32,7 +31,7 @@ IO.Set.In pha sta (pPS),y rts -*-------------------------------------- +*-------------------------------------- IO.Pop.In clc .HS B0 BCS *-------------------------------------- @@ -40,10 +39,10 @@ IO.Reset.In sec >LDA.G IO.hIn beq .8 bcc .1 - + ldy #S.PS.hStdIn jsr IO.Close.Y - + .1 ldy #S.PS.hStdIn sta (pPS),y >STZ.G IO.hIn @@ -56,9 +55,9 @@ IO.Pipe.Out >PUSHEA.G IO.DEVFIFO >SYSCALL MKFIFO bcs .9 - jsr IO.Pipe.OpenW Open for OUTPUT + jsr IO.Pipe.OpenW Open for OUTPUT bcs .9 - + pha ldy #S.PS.hStdOut lda (pPS),y @@ -79,19 +78,19 @@ IO.Set.Out pha sta (pPS),y clc rts -*-------------------------------------- +*-------------------------------------- IO.Pop.Out clc .HS B0 BCS -*-------------------------------------- +*-------------------------------------- IO.Reset.Out sec IO.Reset.OutC >LDA.G IO.hOut beq .8 - + bcc .1 - + ldy #S.PS.hStdOut jsr IO.Close.Y - + .1 ldy #S.PS.hStdOut sta (pPS),y >STZ.G IO.hOut @@ -106,13 +105,13 @@ IO.Set.Err pha ldy #S.PS.hStdErr sta (pPS),y rts -*-------------------------------------- +*-------------------------------------- IO.Reset.Err >LDA.G IO.hErr beq .8 ldy #S.PS.hStdErr jsr IO.Close.Y - + ldy #S.PS.hStdErr sta (pPS),y >STZ.G IO.hErr @@ -145,11 +144,11 @@ IO.StatYA >PUSHYA >PUSHW ZPCLBuf >SYSCALL Stat bcs .9 - + ldy #S.STAT.MODE+1 lda (ZPCLBuf),y and #$F0 - + .9 rts *-------------------------------------- IO.Exec >PUSHW ZPArgVBufPtr @@ -223,11 +222,11 @@ IO.PrintBatchErrMsg bne .5 sta (ZPCLBuf),y - + .6 ldy #S.PS.hStdErr lda (pPS),y >PUSHA - + >PUSHW L.MSG.BATCHLINE >PUSHW ZPCLBuf @@ -260,20 +259,20 @@ IO.PrintErrMsg ldy #S.PS.RC >PUSHA >PUSHW ZPCLBuf - + >SYSCALL GetErrMsg .8 ldy #S.PS.hStdErr lda (pPS),y >PUSHA >PUSHW L.MSG.ERROR - + ldy #S.PS.RC lda (pPS),y >PUSHA >PUSHW ZPCLBuf - + >PUSHBI 3 >SYSCALL FPrintF diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 85422394..2813d927 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -87,10 +87,9 @@ bState .BS 1 bState.ExitOnEOF .EQ %10000000 bState.Pause .EQ %01000000 - bState.PipeIn .EQ %00100000 bState.PipeOut .EQ %00010000 -bState.AmpAmp .EQ %00001000 + bState.SET.C .EQ %00000100 bState.SET.E .EQ %00000010 bState.SET.X .EQ %00000001 @@ -488,7 +487,7 @@ CS.DOEVENT lda (pEvent) *-------------------------------------- CS.QUIT jsr CORE.FUNCRESET - >LDA.G hFunctions + >LDA.G hAliases beq .10 >SYSCALL SListFree @@ -613,7 +612,7 @@ MSG.BATCHERR .CZ "%s^\r\nLine #%D:" MSG.ERROR .CS "[$%h]:%s." MSG.ECHOCRLF .CZ "\r\n" MSG.PID .CZ "PID=%d\r\n" -MSG.ALIAS .CZ ' = "%s"\r\n' +MSG.ALIAS .CZ '%s = "%s"\r\n' *-------------------------------------- FMT.DATE .AZ "%A, %B %d %Y %H:%M:%S" FMT.Long .AZ "%L" @@ -741,9 +740,6 @@ CL.bEscMode .BS 1 CL.MaxCnt .BS 1 CL.bSilent .BS 1 -CORE.bPipeIn .BS 1 -CORE.bPipeOut .BS 1 - HIS.hBuf .BS 1 HIS.Count .BS 1 HIS.Ptr .BS 1 diff --git a/BIN/SHUTDOWN.S.txt b/BIN/SHUTDOWN.S.txt index bebc95eb..ae7fd634 100644 --- a/BIN/SHUTDOWN.S.txt +++ b/BIN/SHUTDOWN.S.txt @@ -138,9 +138,8 @@ CS.RUN lda #DEFAULT.TIMEOUT sec .99 rts *-------------------------------------- -.9 >PUSHW L.MSG.USAGE - >PUSHBI 0 - >SYSCALL PrintF +.9 >LDYA L.MSG.USAGE + >SYSCALL PutS lda #E.SYN sec @@ -400,13 +399,13 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG.USAGE .AS "Usage : SHUTDOWN \r\n" - .AS " -R : Restart System\r\n" - .AS " -T : default to 60" -MSG.CRLF .AZ "\r\n" -MSG.SHUTDOWN .AZ "\r\e[KSHUTDOWN:System will stop in %u seconds..." -MSG.PS .AZ "SHUTDOWN:Killing process %3d, %s\r\n" -MSG.DEV .AZ "SHUTDOWN:Closing device %3d, %s\r\n" +MSG.USAGE .CS "Usage : SHUTDOWN \r\n" + .CS " -R : Restart System\r\n" + .CS " -T : default to 60" +MSG.CRLF .CZ "\r\n" +MSG.SHUTDOWN .CZ "\r\e[KSHUTDOWN:System will stop in %u seconds..." +MSG.PS .CZ "SHUTDOWN:Killing process %3d, %s\r\n" +MSG.DEV .CZ "SHUTDOWN:Closing device %3d, %s\r\n" *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/SPDIAG.S.txt b/BIN/SPDIAG.S.txt index cb9b5921..6a4fdc3c 100644 --- a/BIN/SPDIAG.S.txt +++ b/BIN/SPDIAG.S.txt @@ -237,14 +237,14 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG.SP.FOUND .AZ "Slot #%2d:DevId = %b, " -MSG.SP.OK .AS "Dev Count = %d\r\n" - .AZ " Status Typ/Sub IDString Version Size (BLK)\r\n" -MSG.DEV .AZ " Dev #%2d:" -MSG.DEV.DIB .AZ "%s $%h/$%h %16S %03d.%03d " -MSG.DEV.B .AZ "%10u\r\n" -MSG.DEV.C .AZ "n/a\r\n" -MSG.ERR .AZ "Error : $%h\r\n" +MSG.SP.FOUND .CZ "Slot #%2d:DevId = %b, " +MSG.SP.OK .CS "Dev Count = %d\r\n" + .CZ " Status Typ/Sub IDString Version Size (BLK)\r\n" +MSG.DEV .CZ " Dev #%2d:" +MSG.DEV.DIB .CZ "%s $%h/$%h %16S %03d.%03d " +MSG.DEV.B .CZ "%10u\r\n" +MSG.DEV.C .CZ "n/a\r\n" +MSG.ERR .CZ "Error : $%h\r\n" *-------------------------------------- MSG.SFLAGS .AS "bwrlneio" *-------------------------------------- @@ -253,7 +253,7 @@ SmartPort.SIG .HS 20000300 *-------------------------------------- BLANK.DIB .DA #0 .BS 3 - >PSTR "(No IDS String!)" + .PS "(No IDS String!)" .DA #0 .DA #0 .DA 0 diff --git a/BIN/TERM.S.txt b/BIN/TERM.S.txt index dae81213..4a69542c 100644 --- a/BIN/TERM.S.txt +++ b/BIN/TERM.S.txt @@ -83,6 +83,7 @@ CS.RUN.LOOP >SLEEP lda hDev >SYSCALL FEOF bcs .9 + tay bne .1 EOF, no char @@ -102,6 +103,7 @@ CS.RUN.LOOP >SLEEP >SYSCALL FEOF bcs .9 + tay bne CS.RUN.LOOP EOF = true, no char from STDIN @@ -114,8 +116,8 @@ CS.RUN.LOOP >SLEEP lda (ZPBufPtr) eor #$14 Ctrl-T - clc - beq .9 exit with A=0,CC + sec + beq .9 exit with A=0,CS lda hDev jsr CS.Write @@ -159,7 +161,7 @@ CS.QUIT lda hDev rts *-------------------------------------- CS.END -MSG.USAGE .AZ "Usage : TERM device " +MSG.USAGE .AZ "Usage : TERM device" MSG.DEVOK .AZ "Connected (Exit key is Ctrl-T)" *-------------------------------------- .DUMMY diff --git a/BIN/USERDEL.S.txt b/BIN/USERDEL.S.txt index 231d7c0f..d10083ba 100644 --- a/BIN/USERDEL.S.txt +++ b/BIN/USERDEL.S.txt @@ -86,9 +86,8 @@ CS.RUN >LDYAI 256 sec rts -.9 >PUSHW L.MSG.INV - >PUSHBI 0 - >SYSCALL PrintF +.9 >LDYA L.MSG.INV + >SYSCALL Puts lda #E.IUSR sec rts @@ -118,9 +117,8 @@ CS.RUN.CheckArg inc ArgIndex dex bpl .2 -.9 >PUSHW L.MSG.USAGE - >PUSHBI 0 - >SYSCALL PrintF +.9 >LDYA L.MSG.USAGE + >SYSCALL PutS lda #E.SYN sec rts @@ -186,6 +184,7 @@ CS.DOEVENT sec *-------------------------------------- CS.QUIT lda ZPhStr beq .8 + >SYSCALL FreeMem .8 clc @@ -198,10 +197,10 @@ OptionVars .DA #bDelete,#bDelete *-------------------------------------- * Initialized DATA *-------------------------------------- -MSG.USAGE .AS "Usage : USERDEL username\r\n" - .AZ " -r : Force remove files in home directory\r\n" -MSG.INV .AZ "Invalid username.\r\n" -CMD.RM .AZ "${ROOT}BIN/RM -R -Q " +MSG.USAGE .CS "Usage : USERDEL username\r\n" + .CZ " -r : Force remove files in home directory\r\n" +MSG.INV .CZ "Invalid username." +CMD.RM .CZ "${ROOT}BIN/RM -R -Q " *-------------------------------------- * Per Process DATA segment *-------------------------------------- diff --git a/BIN/XARGS.S.txt b/BIN/XARGS.S.txt index 599b1d5b..703b1586 100644 --- a/BIN/XARGS.S.txt +++ b/BIN/XARGS.S.txt @@ -167,9 +167,8 @@ CS.RUN.CheckArgs .97 lda #E.SYN .98 pha - >PUSHW L.MSG.USAGE - >PUSHBI 0 - >SYSCALL PrintF + >LDYA L.MSG.USAGE + >SYSCALL PutS pla sec rts @@ -252,10 +251,10 @@ CS.END OptionList .AS "Hh" OptionList.Cnt .EQ *-OptionList *-------------------------------------- -MSG.USAGE .AS "Usage : XARGS command \r\n" - .AS " or : CMD|XARGS command" -MSG.CRLF .AZ "\r\n" -CMD.SPC .AZ " " +MSG.USAGE .CS "Usage : XARGS command \r\n" + .CS " or : CMD|XARGS command" +MSG.CRLF .CZ "\r\n" +CMD.SPC .CZ " " *-------------------------------------- .DUMMY .OR 0 diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 6e225a3f..60f3ce28 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -630,11 +630,11 @@ LBUF.DATA .BS 81 *-------------------------------------- DIB .DA #0 .DA #0,#0,#0 - >PSTR "Apple II DHGR" + .PS "Apple II DHGR" .BS 3 .DA #S.DIB.T.GFX .DA #0 - .DA K.VER + .DA #94,#00 *-------------------------------------- DCB .DA #S.DCB.T.GFX .BS 1 DEV.ID diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index 3fdb8cbe..964616f4 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -44,7 +44,7 @@ L.MAC4 .DA DCB+S.DCB.NIC.MAC+4 L.MAC5 .DA DCB+S.DCB.NIC.MAC+5 .DA 0 End Of Reloc Table *-------------------------------------- -Dev.Detect >STYA ARGS +Dev.Detect >STYA ZPArgPtr >LDYA L.MSG.DETECT >SYSCALL PutS @@ -104,9 +104,7 @@ Dev.Detect >STYA ARGS * clc .9 rts *-------------------------------------- -Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPtr - lda (ZPArgPtr) +Dev.ParseArgs lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -139,11 +137,10 @@ Dev.ParseArgs >LDYA ARGS .8 rts *-------------------------------------- CS.END -ARGS .BS 2 -MSG.DETECT .AZ "LanCeGS/SMSC91C96 Driver." -MSG.DETECT.OK .AZ "LanCeGS/SMSC91C96 Installed As Device : %s\r\n" -MSG.DETECT.KO .AZ "Hardware Not Found." -SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h" +MSG.DETECT .CZ "LanCeGS/SMSC91C96 Driver." +MSG.DETECT.OK .CZ "LanCeGS/SMSC91C96 Installed As Device : %s\r\n" +MSG.DETECT.KO .CZ "Hardware Not Found." +SSCANF.MAC .CZ "%h:%h:%h:%h:%h:%h" *-------------------------------------- FD.DEV .DA #S.FD.T.CDEV .DA #0 HANDLER @@ -541,7 +538,7 @@ DEVSLOTx0 .BS 1 *-------------------------------------- DIB .DA #0 .DA #0,#0,#0 size - >PSTR "LanCEGS/L91C96" + .PS "LanCEGS/L91C96" .BS 2 .DA #S.DIB.T.NIC .BS 1 Subtype diff --git a/DRV/MOUSE.DRV.S.txt b/DRV/MOUSE.DRV.S.txt index 0935abe5..467434be 100644 --- a/DRV/MOUSE.DRV.S.txt +++ b/DRV/MOUSE.DRV.S.txt @@ -9,8 +9,8 @@ NEW .INB inc/a2osx.i .INB inc/io.i .INB inc/mli.e.i + .INB inc/xy.i .INB inc/xy.mouse.i - .INB inc/libgui.i *-------------------------------------- ZPSlotPtr .EQ ZPBIN *-------------------------------------- @@ -101,9 +101,9 @@ Dev.Detect >LDYA L.MSG.DETECT .99 rts *-------------------------------------- CS.END -MSG.DETECT .AZ "Apple Mouse Driver." -MSG.DETECT.OK .AZ "Mouse Installed As Device : %s\r\n" -MSG.DETECT.KO .AZ "No Mouse Found." +MSG.DETECT .CZ "Apple Mouse Driver." +MSG.DETECT.OK .CZ "Mouse Installed As Device : %s\r\n" +MSG.DETECT.KO .CZ "No Mouse Found." DEVSIG.Offset .HS 05070B0CFB DEVSIG.Value .HS 38180120D6 *-------------------------------------- @@ -240,7 +240,7 @@ READ >STYA ZPBufPtr NON STANDARD and #MOUSESTSx.MOVED beq .1 - ldy #S.MOUSE.X1 + ldy #S.XY.X1 lda MOUSEXLOx,x sta (ZPBufPtr),y @@ -254,7 +254,7 @@ READ >STYA ZPBufPtr NON STANDARD lda MOUSEYHIx,x sta (ZPBufPtr),y - lda #S.MOUSE.S.MOVE + lda #S.XY.S.MOVE tsb READ.S+1 stz bDblClick Reset DblClick flag @@ -268,7 +268,7 @@ READ >STYA ZPBufPtr NON STANDARD asl if CS, down & previously up bcc .2 - lda #S.MOUSE.S.DOWN + lda #S.XY.S.DOWN tsb READ.S+1 button has been pressed, start drag... lda MOUSEXLOx,x @@ -283,16 +283,16 @@ READ >STYA ZPBufPtr NON STANDARD .2 lda READ.S+1 pha save move state - ora #S.MOUSE.S.UP + ora #S.XY.S.UP sta READ.S+1 pla get back move state bne .4 no move...click! - lda #S.MOUSE.S.CLK + lda #S.XY.S.CLK bit bDblClick bpl .3 - lda #S.MOUSE.S.DCLK + lda #S.XY.S.DCLK ldy #1 sty bDblClick @@ -302,12 +302,12 @@ READ >STYA ZPBufPtr NON STANDARD tsb READ.S+1 bra .8 -.4 lda #S.MOUSE.S.DRAGSTART +.4 lda #S.XY.S.DRAGSTART tsb READ.S+1 - ldy #S.MOUSE.X2+3 + ldy #S.XY.X2+3 -.5 lda SrcDrag-S.MOUSE.X2,y +.5 lda SrcDrag-S.XY.X2,y sta (ZPBufPtr),y dey bpl .5 @@ -317,7 +317,7 @@ READ >STYA ZPBufPtr NON STANDARD READ.S lda #$ff SELF MODIFIED beq .9 - ldy #S.MOUSE.S + ldy #S.XY.S sta (ZPBufPtr),y clc rts @@ -360,11 +360,11 @@ SrcDrag .BS 4 *-------------------------------------- DIB .DA #0 .DA #0,#0,#0 - >PSTR "Apple II Mouse" + .PS "Apple II Mouse" .BS 2 .DA #S.DIB.T.XY .DA #0 - .DA K.VER + .DA #0,#94 *-------------------------------------- DRV.END *-------------------------------------- diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index b0dd0960..744eadf8 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -47,7 +47,7 @@ L.MAC4 .DA DCB+S.DCB.NIC.MAC+4 L.MAC5 .DA DCB+S.DCB.NIC.MAC+5 .DA 0 End Of Reloc Table *-------------------------------------- -Dev.Detect >STYA ARGS +Dev.Detect >STYA ZPArgPtr >LDYA L.MSG.DETECT >SYSCALL PutS @@ -131,9 +131,7 @@ Dev.Detect >STYA ARGS * clc .9 rts *-------------------------------------- -Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPtr - lda (ZPArgPtr) +Dev.ParseArgs lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -168,10 +166,10 @@ Dev.ParseArgs >LDYA ARGS *-------------------------------------- CS.END ARGS .BS 2 -MSG.DETECT .AZ "UtherNet2/W5100 Driver (ARP/IP Offload)." -MSG.DETECT.OK .AZ "UtherNet2/W5100 Installed As Device : %s\r\n" -MSG.DETECT.KO .AZ "Hardware Not Found." -SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h" +MSG.DETECT .CZ "UtherNet2/W5100 Driver (ARP/IP Offload)." +MSG.DETECT.OK .CZ "UtherNet2/W5100 Installed As Device : %s\r\n" +MSG.DETECT.KO .CZ "Hardware Not Found." +SSCANF.MAC .CZ "%h:%h:%h:%h:%h:%h" *-------------------------------------- FD.DEV .DA #S.FD.T.CDEV .DA #0 HANDLER @@ -889,7 +887,7 @@ DEVSLOTx0 .BS 1 *-------------------------------------- DIB .DA #0 .DA #0,#0,#0 size - >PSTR "UtherNetII/W5100" + .PS "UtherNetII/W5100" .DA #S.DIB.T.NIC .BS 1 Subtype .DA K.VER Version diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index d566d54e..eb527bb7 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -158,10 +158,10 @@ Dev.ParseArgs lda (ZPArgPtr) .8 rts *-------------------------------------- CS.END -MSG.DETECT .AZ "UtherNet/CS8900A Driver." -MSG.DETECT.OK .AZ "UtherNet/CS8900A Installed As Device : %s\r\n" -MSG.DETECT.KO .AZ "Hardware Not Found." -SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h" +MSG.DETECT .CZ "UtherNet/CS8900A Driver." +MSG.DETECT.OK .CZ "UtherNet/CS8900A Installed As Device : %s\r\n" +MSG.DETECT.KO .CZ "Hardware Not Found." +SSCANF.MAC .CZ "%h:%h:%h:%h:%h:%h" *-------------------------------------- FD.DEV .DA #S.FD.T.CDEV .DA #0 HANDLER @@ -530,7 +530,7 @@ DEVSLOTx0 .BS 1 *-------------------------------------- DIB .DA #0 .DA #0,#0,#0 size - >PSTR "Uthernet/CS8900A" + .PS "Uthernet/CS8900A" .DA #S.DIB.T.NIC .BS 1 Subtype .BS 2 Version diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index 0d527fc5..ecfdb9de 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -45,7 +45,7 @@ L.MAC4 .DA DCB+S.DCB.NIC.MAC+4 L.MAC5 .DA DCB+S.DCB.NIC.MAC+5 .DA 0 End Of Reloc Table *-------------------------------------- -Dev.Detect >STYA ARGS +Dev.Detect >STYA ZPArgPtr >LDYA L.MSG.DETECT >SYSCALL PutS @@ -129,9 +129,7 @@ Dev.Detect >STYA ARGS * clc .9 rts *-------------------------------------- -Dev.ParseArgs >LDYA ARGS - >STYA ZPArgPtr - lda (ZPArgPtr) +Dev.ParseArgs lda (ZPArgPtr) bne .1 lda A2osX.RANDOM16 @@ -165,11 +163,10 @@ Dev.ParseArgs >LDYA ARGS .8 rts *-------------------------------------- CS.END -ARGS .BS 2 -MSG.DETECT .AZ "UtherNet2/W5100 Driver." -MSG.DETECT.OK .AZ "UtherNet2/W5100 Installed As Device : %s\r\n" -MSG.DETECT.KO .AZ "Hardware Not Found." -SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h" +MSG.DETECT .CZ "UtherNet2/W5100 Driver." +MSG.DETECT.OK .CZ "UtherNet2/W5100 Installed As Device : %s\r\n" +MSG.DETECT.KO .CZ "Hardware Not Found." +SSCANF.MAC .CZ "%h:%h:%h:%h:%h:%h" *-------------------------------------- FD.DEV .DA #S.FD.T.CDEV .DA #0 HANDLER @@ -516,7 +513,7 @@ DEVSLOTx0 .BS 1 *-------------------------------------- DIB .DA #0 .DA #0,#0,#0 size - >PSTR "UtherNetII/W5100" + .PS "UtherNetII/W5100" .DA #S.DIB.T.NIC .BS 1 Subtype .DA K.VER Version diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index e4fc9c09..d08a079a 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -11,9 +11,10 @@ LIBGUI.DrawLine .EQ 16 LIBGUI.OBJ.SetProp .EQ 18 LIBGUI.OBJ.GetProp .EQ 20 LIBGUI.WND.New .EQ 22 -LIBJUI.WND.Destroy .EQ 24 +LIBGUI.WND.Destroy .EQ 24 LIBGUI.WND.Show .EQ 26 LIBGUI.WND.Paint .EQ 28 +LIBGUI.GetMsg .EQ 30 *-------------------------------------- C.BLACK .EQ 0 C16.D.BLUE .EQ 1 @@ -42,23 +43,34 @@ CUR.T.CROSS .EQ 12 CUR.T.TEXT .EQ 14 CUR.T.WAIT .EQ 16 *-------------------------------------- -S.MOUSE.X1 .EQ 0 -S.MOUSE.Y1 .EQ 2 -S.MOUSE.X2 .EQ 4 -S.MOUSE.Y2 .EQ 6 -S.MOUSE.S .EQ 8 -S.MOUSE.S.UP .EQ %00000001 -S.MOUSE.S.DOWN .EQ %00000010 -S.MOUSE.S.MOVE .EQ %00000100 -S.MOUSE.S.DRAGSTART .EQ %00001000 -S.MOUSE.S.DRAGEND .EQ %00010000 -S.MOUSE.S.CLK .EQ %00100000 -S.MOUSE.S.DCLK .EQ %01000000 -S.MOUSE.KEYMOD .EQ 9 -S.MOUSE.KEYMOD.OA .EQ %00000001 -S.MOUSE.KEYMOD.CA .EQ %00000010 +S.MSG.T .EQ 0 +S.MSG.T.KEY .EQ 0 +S.MSG.T.XY .EQ 2 +S.MSG.T.ID .EQ 4 +S.MSG.T.WND .EQ 6 * -S.MOUSE .EQ 10 +S.MSG.KEYMOD .EQ 2 +S.MSG.KEYMOD.OA .EQ %00000001 +S.MSG.KEYMOD.CA .EQ %00000010 +S.MSG.KEY .EQ 3 +S.MSG.ID .EQ 4 +S.MSG.WND .EQ 5 +* S.MSG.T.XY +S.MSG.X1 .EQ 6 +S.MSG.Y1 .EQ 8 +S.MSG.X2 .EQ 10 +S.MSG.Y2 .EQ 12 +S.MSG.S .EQ 14 +S.MSG.S.UP .EQ %00000001 +S.MSG.S.DOWN .EQ %00000010 +S.MSG.S.MOVE .EQ %00000100 +S.MSG.S.DRAGSTART .EQ %00001000 +S.MSG.S.DRAGEND .EQ %00010000 +S.MSG.S.CLK .EQ %00100000 +S.MSG.S.DCLK .EQ %01000000 +* +* +S.MSG .EQ 16 *-------------------------------------- S.POINT.X .EQ 0 S.POINT.Y .EQ 2 diff --git a/INC/XY.I.txt b/INC/XY.I.txt new file mode 100644 index 00000000..8ca5069a --- /dev/null +++ b/INC/XY.I.txt @@ -0,0 +1,23 @@ +NEW + AUTO 3,1 +*-------------------------------------- +* XY pointing devices +*-------------------------------------- +S.XY.X1 .EQ 0 +S.XY.Y1 .EQ 2 +S.XY.X2 .EQ 4 +S.XY.Y2 .EQ 6 +S.XY.S .EQ 8 +S.XY.S.UP .EQ %00000001 +S.XY.S.DOWN .EQ %00000010 +S.XY.S.MOVE .EQ %00000100 +S.XY.S.DRAGSTART .EQ %00001000 +S.XY.S.DRAGEND .EQ %00010000 +S.XY.S.CLK .EQ %00100000 +S.XY.S.DCLK .EQ %01000000 +* +* +S.XY .EQ 10 +*-------------------------------------- +MAN +SAVE inc/xy.i diff --git a/INCLUDE/libgui.h.txt b/INCLUDE/libgui.h.txt new file mode 100644 index 00000000..65c1719f --- /dev/null +++ b/INCLUDE/libgui.h.txt @@ -0,0 +1,60 @@ +NEW + AUTO 3,1 + +#define CUR_T_ARROW 0 +#define CUR_T_MOVE 2 +#define CUR_T_RESIZEX 4 +#define CUR_T_RESIZEY 6 +#define CUR_T_RESIZEXY1 8 +#define CUR_T_RESIZEXY2 10 +#define CUR_T_CROSS 12 +#define CUR_T_TEXT 14 +#define CUR_T_WAIT 16 + +#define WND_F_RESIZE 1 +#define WND_F_MOVE 2 +#define WND_F_CLOSE 4 +#define WND_F_MIN 8 +#define WND_F_MAX 16 +#define WND_F_BORDER 32 +#define WND_F_MODAL 64 +#define WND_F_SYSMODAL 128 + +#define WND_S_HASTBAR 1 +#define WND_S_HASMBAR 2 +#define WND_S_HASSBAR 4 +#define WND_S_MAXIMIZED 8 +#define WND_S_MINIMIZED 16 +#define WND_S_ACTIVE 64 + +#define WND_P_pTITLE 24 +#define WND_P_pMBAR 26 +#define WND_P_pSTATUS 28 + +typedef short int HWND; + +struct _MSG_ { + short int type; + short int subt; + short int keymod; + short int key; + int x1; + int y1; + int x2; + int y2; + int s; + }; + +typedef struct _MSG_ MSG; + +HWND guiNewWnd(short int,int,int,int,int); +void guiDestroyWnd(HWND); +void guiShowWnd(HWND); + +void* guiSetProp(HWND,short int,void*); +void* guiGetProp(HWND,short int); + +void GetMsg(MSG*); + +MAN +TEXT include/libgui.h diff --git a/LIB/LIBGUI.O.S.txt b/LIB/LIBGUI.O.S.txt new file mode 100644 index 00000000..28e374e2 --- /dev/null +++ b/LIB/LIBGUI.O.S.txt @@ -0,0 +1,28 @@ +NEW + AUTO 3,1 + .LIST OFF + .OR $0 + .TF lib/libgui.o +*-------------------------------------- + .INB inc/libgui.i +*-------------------------------------- + .PS "guiSetProp" + .DA #LIBGUI.OBJ.SetProp + .PS "guiGetProp" + .DA #LIBGUI.OBJ.GetProp + + .PS "guiNewWnd" + .DA #LIBGUI.WND.New + .PS "guiDestroyWnd" + .DA #LIBGUI.WND.Destroy + .PS "guiShowWnd" + .DA #LIBGUI.WND.Show + + .PS "GetMsg" + .DA #LIBGUI.GetMsg + + .DA #0 +*-------------------------------------- +MAN +SAVE usr/src/lib/libgui.o.s +ASM diff --git a/LIB/LIBGUI.S.CUR.txt b/LIB/LIBGUI.S.CUR.txt index eb77da97..f16a906e 100644 --- a/LIB/LIBGUI.S.CUR.txt +++ b/LIB/LIBGUI.S.CUR.txt @@ -81,8 +81,8 @@ SetCursor.RTS rts *-------------------------------------- SetCursorPos >PULLW ZPPtr1 lda CUR.bVisible - bpl .1 + jsr HideCursor.I .1 ldy #S.POINT-1 diff --git a/LIB/LIBGUI.S.EVT.txt b/LIB/LIBGUI.S.EVT.txt index c3d5a15f..8d6e3d48 100644 --- a/LIB/LIBGUI.S.EVT.txt +++ b/LIB/LIBGUI.S.EVT.txt @@ -1,45 +1,82 @@ NEW AUTO 3,1 *-------------------------------------- -EVT.GetMsg >PULLW ZPPtr1 +EVT.GetMsg stz MSG+S.MSG.T lda A2osX.ASCREEN GUI screen active ? cmp DCB.GFX+S.DCB.GFX.DEVID - bne .9 no, exit.... + beq .10 + + jmp .9 no, exit.... -* sec - - lda hDevMouse - beq .2 +.10 lda hDevMouse + beq .5 >PUSHA >PUSHBI IOCTL.READ - >PUSHW L.MouseData + >PUSHW L.XY >SYSCALL2 IOCTL - bcs .2 + bcs .5 - ldy #S.MOUSE-1 + ldx #S.XY-1 + ldy #S.MSG-1 -.1 lda MouseData,y - sta (ZPPtr1),y +.1 lda XY,x + sta MSG,y dey + dex bpl .1 -* clc + lda #S.MSG.T.XY + sta MSG+S.MSG.T -.2 lda KBD - bmi .3 + lda XY+S.XY.S + bit #S.MSG.S.MOVE + beq .2 + + >PUSHW L.XY + jsr SetCursorPos + + lda XY+S.XY.S + +.2 bit #S.MSG.S.MOVE+S.MSG.S.CLK + beq .5 + + jsr MOU.CheckOverMenu + bcc .8 + + jsr MOU.CheckOverSysBut + bcc .8 + + jsr MOU.CheckOverWND + bcc .8 +*-------------------------------------- +.5 lda KBD + bpl .9 - rts - -.3 sta KBDSTROBE + sta KBDSTROBE and #$7F + sta MSG+S.MSG.KEY + lda #S.MSG.T.KEY + sta MSG+S.MSG.T -.8 clc +.8 >PULLW ZPPtr1 pS.MSG + + ldy #S.MSG-1 + +.6 lda MSG,y + sta (ZPPtr1),y + dey + bpl .6 + + clc rts -.9 sec +.9 inc pStack discard pS.MSG + inc pStack + + sec No User Msg rts *-------------------------------------- MAN diff --git a/LIB/LIBGUI.S.MBAR.txt b/LIB/LIBGUI.S.MBAR.txt index a23f9a9f..0056ae22 100644 --- a/LIB/LIBGUI.S.MBAR.txt +++ b/LIB/LIBGUI.S.MBAR.txt @@ -29,7 +29,7 @@ MBAR.New >LDYAI S.MBAR clc - rts +.99 rts *-------------------------------------- MBAR.Init >STYA ZPMENUPtr >STYA ZPPtr1 @@ -119,6 +119,18 @@ MBAR.Init >STYA ZPMENUPtr .80 clc rts *-------------------------------------- +* ZPWNDPtr parent WND +* MSG.X1, MSG.Y1 +*-------------------------------------- +MBAR.Enter + +* >DEBUG +*-------------------------------------- +MBAR.Leave + + clc + rts +*-------------------------------------- MAN SAVE usr/src/lib/libgui.s.mbar LOAD usr/src/lib/libgui.s diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index 0ab17fc0..5fb7a1d8 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -233,11 +233,16 @@ MENU.Enter jsr MENU.GetDX .80 >LDYA L.WND.Screen jmp DrawCBBufToYA -.9 lda MouseData+S.MOUSE.S - bit #S.MOUSE.S.CLK +.9 lda MSG+S.MSG.S + bit #S.MSG.S.CLK beq .90 -* >DEBUG + lda #S.MSG.T.ID + sta MSG+S.MSG.T + + ldy #S.MITEM.ID + lda (ZPPtr1),y + sta MSG+S.MSG.ID jmp MENU.DestroyAll diff --git a/LIB/LIBGUI.S.MOU.txt b/LIB/LIBGUI.S.MOU.txt index 5f503299..10357a66 100644 --- a/LIB/LIBGUI.S.MOU.txt +++ b/LIB/LIBGUI.S.MOU.txt @@ -59,7 +59,7 @@ MOU.Quit lda hDevMouse .8 clc rts *-------------------------------------- -MOU.ReadMouse >PULLW ZPPtr1 +MOU.ReadMouse >PULLW ZPPtr1 pS.XY lda A2osX.ASCREEN GUI screen active ? cmp DCB.GFX+S.DCB.GFX.DEVID @@ -70,32 +70,18 @@ MOU.ReadMouse >PULLW ZPPtr1 >PUSHA >PUSHBI IOCTL.READ - >PUSHW L.MouseData + >PUSHW L.XY >SYSCALL2 IOCTL bcs .99 - ldy #S.MOUSE-1 + ldy #S.XY-1 -.1 lda MouseData,y +.1 lda XY,y sta (ZPPtr1),y dey bpl .1 - lda MouseData+S.MOUSE.S - bit #S.MOUSE.S.MOVE+S.MOUSE.S.CLK - beq .8 - - jsr MOU.CheckOverMenu - bcc .8 - - jsr MOU.CheckOverSysBut - bcc .8 - - jsr MOU.CheckOverWND - bcc .8 - - -.8 clc +* clc rts .9 sec @@ -144,15 +130,17 @@ MOU.CheckOverSysBut >LDYA L.RECT.SysBut jsr MOU.InRectYA bcs .9 + jmp SYSBUT.Enter .9 jsr SYSBUT.Leave sec +MOU.CheckOverSysBut.RTS rts *-------------------------------------- MOU.CheckOverWND ldx WND.Stack.Top - beq .9 + beq MOU.CheckOverSysBut.RTS .1 stx WND.Stack.Idx @@ -179,18 +167,18 @@ MOU.CheckOverWND jsr MOU.InRectYA bcs .7 not over this WND - lda MouseData+S.MOUSE.S - bit #S.MOUSE.S.CLK + lda MSG+S.MSG.S + bit #S.MSG.S.CLK beq .22 jsr WND.Bring2Front .22 ldy #S.WND.TBarY2 lda (ZPWNDPtr),y - cmp MouseData+S.MOUSE.Y1 + cmp MSG+S.MSG.Y1 iny lda (ZPWNDPtr),y - sbc MouseData+S.MOUSE.Y1+1 + sbc MSG+S.MSG.Y1+1 bcc .3 not in TBAR @@ -199,23 +187,23 @@ MOU.CheckOverWND .3 iny #S.WND.MBarY2 lda (ZPWNDPtr),y - cmp MouseData+S.MOUSE.Y1 + cmp MSG+S.MSG.Y1 iny lda (ZPWNDPtr),y - sbc MouseData+S.MOUSE.Y1+1 + sbc MSG+S.MSG.Y1+1 bcc .4 not in MBAR - + jsr MBAR.Enter bra .5 .4 iny #S.WND.SBarY1 lda (ZPWNDPtr),y - cmp MouseData+S.MOUSE.Y1 + cmp MSG+S.MSG.Y1 iny lda (ZPWNDPtr),y - sbc MouseData+S.MOUSE.Y1+1 + sbc MSG+S.MSG.Y1+1 bcs .6 not in SBAR @@ -250,13 +238,13 @@ MOU.ChkWNDBorders lda (ZPWNDPtr),y sec sbc #1 - eor MouseData+S.MOUSE.X1 + eor MSG+S.MSG.X1 bne .1 iny lda (ZPWNDPtr),y sbc #0 - eor MouseData+S.MOUSE.X1+1 + eor MSG+S.MSG.X1+1 bne .1 lda #CUR.T.RESIZEX @@ -266,13 +254,13 @@ MOU.ChkWNDBorders lda (ZPWNDPtr),y sec sbc #1 - eor MouseData+S.MOUSE.Y1 + eor MSG+S.MSG.Y1 bne .3 iny lda (ZPWNDPtr),y sbc #0 - eor MouseData+S.MOUSE.Y1+1 + eor MSG+S.MSG.Y1+1 bne .3 lda IY @@ -288,13 +276,13 @@ MOU.ChkWNDBorders lda (ZPWNDPtr),y clc adc #1 - eor MouseData+S.MOUSE.X2 + eor MSG+S.MSG.X2 bne .5 iny lda (ZPWNDPtr),y adc #0 - eor MouseData+S.MOUSE.X2+1 + eor MSG+S.MSG.X2+1 bne .5 lda IY @@ -310,13 +298,13 @@ MOU.ChkWNDBorders lda (ZPWNDPtr),y clc adc #1 - eor MouseData+S.MOUSE.Y2 + eor MSG+S.MSG.Y2 bne .7 iny lda (ZPWNDPtr),y adc #0 - eor MouseData+S.MOUSE.Y2+1 + eor MSG+S.MSG.Y2+1 bne .7 lda #CUR.T.RESIZEXY1 @@ -332,38 +320,38 @@ MOU.InRectYA >STYA ZPRECTPtr ldy #S.RECT.X1 - lda MouseData+S.MOUSE.X1 + lda MSG+S.MSG.X1 cmp (ZPRECTPtr),y iny - lda MouseData+S.MOUSE.X1+1 + lda MSG+S.MSG.X1+1 sbc (ZPRECTPtr),y bcc .9 iny #S.RECT.Y1 - lda MouseData+S.MOUSE.Y1 + lda MSG+S.MSG.Y1 cmp (ZPRECTPtr),y iny - lda MouseData+S.MOUSE.Y1+1 + lda MSG+S.MSG.Y1+1 sbc (ZPRECTPtr),y bcc .9 iny #S.RECT.X2 lda (ZPRECTPtr),y - cmp MouseData+S.MOUSE.X1 + cmp MSG+S.MSG.X1 iny lda (ZPRECTPtr),y - sbc MouseData+S.MOUSE.X1+1 + sbc MSG+S.MSG.X1+1 bcc .9 iny #S.RECT.Y2 lda (ZPRECTPtr),y - cmp MouseData+S.MOUSE.Y1 + cmp MSG+S.MSG.Y1 iny lda (ZPRECTPtr),y - sbc MouseData+S.MOUSE.Y1+1 + sbc MSG+S.MSG.Y1+1 bcc .9 clc diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index f85352e4..9c3534d1 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -7,8 +7,10 @@ NEW *-------------------------------------- .INB inc/macros.i .INB inc/a2osx.i + .INB inc/io.i .INB inc/mli.i .INB inc/gfx.i + .INB inc/xy.i .INB inc/libgui.i *-------------------------------------- WND.MAX .EQ 64 @@ -132,6 +134,8 @@ CS.START cld .DA WND.Destroy .DA WND.Show .DA WND.Paint + .DA EVT.GetMsg +*-------------------------------------- L.WND.fPaint .DA WND.fPaint *-------------------------------------- L.DEVNAME.GFX .DA DEVNAME.GFX @@ -141,7 +145,8 @@ L.SYSX7B .DA SYSX7B L.IOCTL .DA IOCTL L.DCB.GFX .DA DCB.GFX L.MouseClamp .DA MouseClamp -L.MouseData .DA MouseData +L.XY .DA XY +L.MSG .DA MSG L.CB.PTR .DA CB.PTR L.CB.Cache .DA CB.Cache L.OBJ.Cache .DA OBJ.Cache @@ -233,12 +238,12 @@ LIB.UNLOAD dec LibCount *-------------------------------------- CB.InitCacheA sta CB.Cache+S.CB.CMD *-------------------------------------- -CB.ClearCache ldx #S.CB-1 - +CB.ClearCache ldx #S.CB-1 + .1 stz CB.Cache,x dex bne .1 - + rts *-------------------------------------- CB.GetInCache >STYA .1+1 @@ -260,7 +265,7 @@ GetCBBuf clc >LDYAI 512 >SYSCALL2 GetMem bcs .9 - + stx hCBBuf >STYA ZPCBPtr >STYA ZPCBBufPtr @@ -272,7 +277,7 @@ PutCBCache2CBBuf lsr tax ldy CB.CmdLen-1,x - + ldx #0 .1 lda CB.Cache,x @@ -362,6 +367,7 @@ OBJ.SetX2Y2 >STYA ZPPtr1 .INB usr/src/lib/libgui.s.clip .INB usr/src/lib/libgui.s.cur .INB usr/src/lib/libgui.s.draw + .INB usr/src/lib/libgui.s.evt .INB usr/src/lib/libgui.s.fon .INB usr/src/lib/libgui.s.mbar .INB usr/src/lib/libgui.s.menu @@ -410,7 +416,8 @@ IOCTL .BS S.IOCTL DCB.GFX .BS S.DCB.GFX *-------------------------------------- MouseClamp .BS 8 -MouseData .BS S.MOUSE +XY .BS S.XY +MSG .BS S.MSG *-------------------------------------- CB.PTR .DA #S.CB.CMD.BITBLT .BS 1 S.CB.OP @@ -460,10 +467,10 @@ MENU.Sys .AZ "About..." .11 .AS "Ctrl-" .DA #1,#'-',#2,#'-',#'A',#0 - + .2 .DA #.3-* next .DA #S.MITEM.F.SEP - + .3 .DA #.4-* next .DA #S.MITEM.F.SUBMENU F .DA #0 S @@ -484,7 +491,7 @@ MENU.Sys .5 .DA #.6-* next .DA #S.MITEM.F.SEP - + .6 .DA #.7-* next .DA #S.MITEM.F.ITEM F .DA #0 S @@ -493,8 +500,8 @@ MENU.Sys .DA #0 .DA #0 .DA #0 KEYSTR - .AZ "Search..." - + .AZ "Search..." + .7 .DA #.8-* next .DA #S.MITEM.F.ITEM F .DA #0 S @@ -503,7 +510,7 @@ MENU.Sys .DA #S.MITEM.KEYMOD.CTRL+S.MITEM.KEYMOD.OA .DA #'R' .DA #.77-.7 - .AZ "Run..." + .AZ "Run..." .77 .AZ "Ctrl-R" .8 .DA #0 *-------------------------------------- @@ -516,7 +523,7 @@ MENU.Sys.Programs .DA #0 .DA #0 .DA #0 KEYSTR - .AZ "GUITest1" + .AZ "Test ASM" .2 .DA #.3-* next .DA #S.MITEM.F.ITEM F @@ -526,7 +533,7 @@ MENU.Sys.Programs .DA #0 .DA #0 .DA #0 KEYSTR - .AZ "GUITest2" + .AZ "Test C" .3 .DA #0 *-------------------------------------- @@ -539,7 +546,7 @@ MENU.Sys.Settings .DA #0 .DA #0 .DA #0 KEYSTR - .AZ "Colors..." + .AZ "Colors..." .2 .DA #.3-* next .DA #S.MITEM.F.ITEM F @@ -549,7 +556,7 @@ MENU.Sys.Settings .DA #0 .DA #0 .DA #0 KEYSTR - .AZ "SubItem2..." + .AZ "SubItem2..." .3 .DA #0 *-------------------------------------- diff --git a/ROOT/make/_files.32MB.txt b/ROOT/make/_files.32MB.txt index 76a3cdd0..94e27e18 100644 --- a/ROOT/make/_files.32MB.txt +++ b/ROOT/make/_files.32MB.txt @@ -35,8 +35,6 @@ bin/etconfig bin/format bin/forth bin/grep -bin/gtest -bin/guitest1 bin/hmacmd5 bin/httpget bin/ipconfig diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 8d95b5b6..d44c9395 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -60,9 +60,6 @@ L.TELNETOPT.LMODE .DA TELNETOPT.LMODE L.ENV.TERM .DA ENV.TERM .DA 0 End Of Reloc Table *-------------------------------------- -CS.INIT clc - rts -*-------------------------------------- CS.RUN ldy #S.PS.ARGC lda (pPS),y cmp #2 @@ -298,7 +295,8 @@ CS.QUIT lda hFILE >SYSCALL FClose -.8 clc +.8 +CS.INIT clc rts *-------------------------------------- CkeckOption lda (ZPPtr1) @@ -333,10 +331,10 @@ CkeckOption lda (ZPPtr1) CS.END OptionList .AS "Ee" OptionVars .DA #bExitOnClose,#bExitOnClose -MSG.GREETINGS .AZ "\r\nA2osX-GeTTY %d.%d on %s\r\n" -MSG.USAGE .AS "Usage : GETTY " - .DA #C.CR,#C.LF - .AZ " -E : Exit on disconnect" +*-------------------------------------- +MSG.GREETINGS .CZ "\r\nA2osX-GeTTY %d.%d on %s\r\n" +MSG.USAGE .CS "Usage : GETTY \r\n" + .CZ " -E : Exit on disconnect" *-------------------------------------- TELNETOPTS .DA #IAC,#WILL,#TN.O.BINARY .DA #IAC,#WILL,#TN.O.ECHO diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 255ae60b..3c80604f 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -16,7 +16,6 @@ NEW .DUMMY .OR ZPBIN ZS.START -hWND .BS 1 ZS.END .ED *-------------------------------------- @@ -41,10 +40,9 @@ CS.START cld .DA CS.DOEVENT .DA CS.QUIT L.LIBGUI .DA LIBGUI -L.MouseData .DA MouseData -L.WND.TITLE .DA WND.TITLE -L.WND.MBAR .DA WND.MBAR -L.WND.STATUS .DA WND.STATUS +L.GUITEST1 .DA GUITEST1 +L.GUITEST2 .DA GUITEST2 +L.MSG .DA MSG .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBGUI @@ -59,26 +57,30 @@ CS.INIT.RTS rts *-------------------------------------- CS.RUN >SLEEP - >PUSHW L.MouseData - >LIBCALL hLIBGUI,LIBGUI.ReadMouse + >PUSHW L.MSG + >LIBCALL hLIBGUI,LIBGUI.GetMsg bcs CS.RUN - lda MouseData+S.MOUSE.S - bit #S.MOUSE.S.MOVE - beq .1 +.1 lda MSG+S.MSG.T + cmp #S.MSG.T.ID + bne CS.RUN - >PUSHW L.MouseData - >LIBCALL hLIBGUI,LIBGUI.SetCursorPos - - lda MouseData+S.MOUSE.S - -.1 bit #S.MOUSE.S.DCLK - beq CS.RUN - - jsr WND.Test + lda MSG+S.MSG.ID + cmp #42 + bne .2 + >PUSHW L.GUITEST1 + >PUSHBI 0 + >SYSCALL ExecL bra CS.RUN +.2 cmp #44 + bne CS.RUN + + >PUSHW L.GUITEST2 + >PUSHBI 0 + >SYSCALL ExecL + bra CS.RUN clc rts *-------------------------------------- @@ -93,132 +95,13 @@ CS.DOEVENT lda (pEvent) CS.QUIT clc CS.QUIT.RTS rts *-------------------------------------- -WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN - - >PUSHW MouseData+S.MOUSE.X1 - >PUSHW MouseData+S.MOUSE.Y1 - >PUSHWI 360 witdh - >PUSHWI 96 height - >LIBCALL hLIBGUI,LIBGUI.WND.New - bcs CS.QUIT.RTS - sta hWND - - >PUSHA A = hWND - >PUSHBI S.WND.BGCOLOR - >PUSHWI C.WHITE - >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp - - >PUSHB hWND - >PUSHBI S.WND.TITLE - >PUSHW L.WND.TITLE - >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp - - >PUSHB hWND - >PUSHBI S.WND.MBAR - >PUSHW L.WND.MBAR - >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp - - >PUSHB hWND - >PUSHBI S.WND.STATUS - >PUSHW L.WND.STATUS - >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp - - lda hWND - >LIBCALL hLIBGUI,LIBGUI.WND.Show - - rts -*-------------------------------------- CS.END LIBGUI .AZ "libgui" hLIBGUI .BS 1 +GUITEST1 .AZ "${ROOT}root/asmtest/guitest1" +GUITEST2 .AZ "${ROOT}root/ctest/testgui" *-------------------------------------- -MouseData .BS S.MOUSE -*-------------------------------------- -WND.TITLE .AZ "Window Title" -*-------------------------------------- -WND.MBAR .DA #.1-* next - .DA #0 status - .DA 0 X1 - .DA 0 XT - .DA 0 X2 - .DA 0 MENU - .AZ "File" - -.1 .DA #.2-* next - .DA #0 status - .DA 0 X1 - .DA 0 XT - .DA 0 X2 - .DA 0 MENU - .AZ "Edit" - -.2 .DA #.3-* next - .DA #0 status - .DA 0 X1 - .DA 0 XT - .DA 0 X2 - .DA 0 MENU - .AZ "Options" - -.3 .DA #.4-* next - .DA #0 status - .DA 0 X1 - .DA 0 XT - .DA 0 X2 - .DA 0 MENU - .AZ "?" - -.4 .DA #0 -*-------------------------------------- -WND.STATUS .AZ "Window status bar message" -*-------------------------------------- -WND.MENU.FILE .DA #02 ID - .DA #S.MITEM.KEYMOD.CTRL - .DA #'N' - .AZ "New" - .DA #04 ID - .DA #S.MITEM.KEYMOD.CTRL - .DA #'O' - .AZ "Open..." - .DA #06 ID - .DA #S.MITEM.KEYMOD.CTRL - .DA #'S' - .AZ "Save" - .DA #08 ID - .DA #S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL - .DA #'S' - .AZ "Save As..." - .DA #10 ID - .DA #S.MITEM.KEYMOD.CTRL - .DA #'Q' - .AZ "Quit" - .DA #0 -*-------------------------------------- -WND.MENU.EDIT .DA #12 ID - .DA #S.MITEM.KEYMOD.OA - .DA #'X' - .AZ "Cut" - .DA #14 ID - .DA #S.MITEM.KEYMOD.OA - .DA #'C' - .AZ "Copy" - .DA #16 ID - .DA #S.MITEM.KEYMOD.OA - .DA #'V' - .AZ "Paste" - .DA #0 -*-------------------------------------- -WND.MENU.OPTIONS .DA #18 ID - .DA #0 - .DA #0 - .AZ "Check Me" - .DA #0 -*-------------------------------------- -WND.MENU.HELP .DA #20 ID - .DA #0 - .DA #0 - .AZ "About..." - .DA #0 +MSG .BS S.MSG *-------------------------------------- .DUMMY .OR 0 diff --git a/SBIN/HTTPD.S.txt b/SBIN/HTTPD.S.txt index b584cda6..983b4d49 100644 --- a/SBIN/HTTPD.S.txt +++ b/SBIN/HTTPD.S.txt @@ -11,6 +11,7 @@ NEW .INB inc/mli.e.i .INB inc/eth.i .INB inc/libtcpip.i + .INB inc/net.tcpip.i .INB inc/net.http.i *-------------------------------------- TIMEOUT.MAX .EQ 30 30 sec. @@ -750,15 +751,15 @@ KEYWORDS.CONF .AS "ServerName " .AS "DocumentRoot " .DA #0 *-------------------------------------- -MSG.TCPWAIT .AZ "HTTPD:Waiting for TCP/IP initializing..." -MSG.TCPIPERR .AZ "HTTPD:TCP/IP Not initialized properly." -MSG.INITCONF .AZ "HTTPD:Reading %s file...\r\n" -MSG.INITOK .AZ "HTTPD:Listening on port %D, root dir: %s.\r\n" -MSG.SKTERR .AZ "HTTPD:Skt Bind Error." -MSG.INCOMING .AZ "HTTPD:Skt $%h Opened From %d.%d.%d.%d\r\n" -MSG.REQ .AZ "HTTPD:Req $%h From Skt $%h\r\n" -MSG.FILE .AZ "HTTPD:Skt $%h File %s\r\n" -MSG.SKTCLOSE .AZ "HTTPD:Skt $%h Close\r\n" +MSG.TCPWAIT .CZ "HTTPD:Waiting for TCP/IP initializing..." +MSG.TCPIPERR .CZ "HTTPD:TCP/IP Not initialized properly." +MSG.INITCONF .CZ "HTTPD:Reading %s file...\r\n" +MSG.INITOK .CZ "HTTPD:Listening on port %D, root dir: %s.\r\n" +MSG.SKTERR .CZ "HTTPD:Skt Bind Error." +MSG.INCOMING .CZ "HTTPD:Skt $%h Opened From %d.%d.%d.%d\r\n" +MSG.REQ .CZ "HTTPD:Req $%h From Skt $%h\r\n" +MSG.FILE .CZ "HTTPD:Skt $%h File %s\r\n" +MSG.SKTCLOSE .CZ "HTTPD:Skt $%h Close\r\n" *-------------------------------------- KEYWORDS.REQ .AS "GET " .AS "Connection: " diff --git a/SBIN/INITD.S.txt b/SBIN/INITD.S.txt index 0837c87d..bbb93d7b 100644 --- a/SBIN/INITD.S.txt +++ b/SBIN/INITD.S.txt @@ -5,7 +5,7 @@ NEW .OR $2000 .TF sbin/initd *-------------------------------------- -INITDDBG .EQ 1 +INITDDBG .EQ 0 *-------------------------------------- .INB inc/macros.i .INB inc/a2osx.i @@ -94,7 +94,7 @@ CS.RUN .DO INITDDBG=1 jsr CS.RUN.EXEC.X >SLEEP - +*-------------------------------------- .1 .DO INITDDBG=1 >LDYA L.MSG.ETCINIT >SYSCALL PutS @@ -102,35 +102,23 @@ CS.RUN .DO INITDDBG=1 jsr CS.RUN.ETCINIT bcs .99 - +*-------------------------------------- .2 >SYSCALL GetChar bcs .99 - cmp #C.CR Ctrl.M - bne .3 + ldy #4 + +.3 cmp CTRLCHARS,y + beq .7 + + dey + bpl .3 - ldx #2 - jsr CS.RUN.EXEC.X bra .2 -.3 cmp #16 Ctrl.P - bne .4 - - ldx #4 - jsr CS.RUN.EXEC.X - bra .2 - -.4 cmp #12 Ctrl.L - bne .5 - - ldx #6 - jsr CS.RUN.EXEC.X - bra .2 - -.5 cmp #4 Ctrl.D - bne .2 - - ldx #8 +.7 tya + asl + tax jsr CS.RUN.EXEC.X bra .2 @@ -181,6 +169,7 @@ CS.RUN.ETCINIT >LDYAI 256 >PUSHW BufPtr >PUSHBI S.PS.F.NOHUP+S.PS.F.HOLD >SYSCALL ExecL + .DO INITDDBG=1 bcs .2 @@ -228,10 +217,13 @@ MSG.CTRLR .AZ "INITD:Entering ROOT mode..." .DO INITDDBG=1 MSG.START .AZ "INITD:Starting..." MSG.OK .AZ " [OK]" -MSG.KO .AZ " [%h]\r\n" +MSG.KO .CZ " [%h]\r\n" MSG.ETCINIT .AS "INITD:Executing " .FIN ETCINIT .AZ "${ROOT}etc/init" +*-------------------------------------- +CTRLCHARS .DA #19,#13,#16,#12,#4 +*-------------------------------------- BINSH .AZ "${ROOT}bin/sh" BINMEM .AZ "${ROOT}bin/mem" BINPS .AZ "${ROOT}bin/ps" diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index b31356f4..e61a47d9 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -336,10 +336,8 @@ CS.DOEVENT sec *-------------------------------------- CS.END *-------------------------------------- -MSG.LOGIN .DA #C.CR,#C.LF - .AZ "login:" -MSG.PASSWORD .DA #C.CR,#C.LF - .AZ "password:" +MSG.LOGIN .CZ "\r\nlogin:" +MSG.PASSWORD .CZ "\r\npassword:" *-------------------------------------- MSG.BAD .AZ "Bad user or password" MSG.BS .DA #C.BS,#C.SPACE,#C.BS diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index 21c7b111..ebea7017 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -231,7 +231,7 @@ MSG.TCPWAIT .AZ "TELNETD:Waiting for TCP/IP initializing..." MSG.INITOK .AZ "TELNETD:Init Ok, Listening." MSG.TCPIPERR .AZ "TELNETD:TCP/IP Not initialized properly." MSG.SKTERR .AZ "TELNETD:Listen Error." -MSG.INCOMING .AZ "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n" +MSG.INCOMING .CZ "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n" *-------------------------------------- NOD.Template .AZ "/dev/tty%h" CMD.Template .AZ "${ROOT}sbin/getty -E %s ${ROOT}sbin/login" diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 1e1ee8f0..b27bbdfb 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -485,6 +485,9 @@ K.SYSCALL2.BANK bpl K.SYSCALL.JMP 0, E000, no BNK change K.SYSCALL.JMP jmp (K.SYSCALL,x) *-------------------------------------- +K.SYSCALL.JMPX1A + >PULLW FORPNT + bra JMPXA K.SYSCALL.JMPX2A sec .HS 90 BCC @@ -493,7 +496,7 @@ K.SYSCALL.JMPX2 clc >PULLW TXTPTR bcc K.SYSCALL.JMPX - >PULLA +JMPXA >PULLA K.SYSCALL.JMPX sta SETREADAUX sta SETWRITEAUX diff --git a/SYS/KERNEL.S.MD5.txt b/SYS/KERNEL.S.MD5.txt index 94cc1e28..005c1448 100644 --- a/SYS/KERNEL.S.MD5.txt +++ b/SYS/KERNEL.S.MD5.txt @@ -57,10 +57,11 @@ K.MD5Update .EQ K.SYSCALL.JMPX2A * `>SYSCALL MD5Finalize` * ## RETURN VALUE *\-------------------------------------- -K.MD5Finalize >PULLW FORPNT - >PULLA +K.MD5Finalize .EQ K.SYSCALL.JMPX1A +* >PULLW FORPNT +* >PULLA - jmp K.SYSCALL.JMPX +* jmp K.SYSCALL.JMPX *-------------------------------------- MAN SAVE usr/src/sys/kernel.s.md5 diff --git a/SYS/KERNEL.S.PWD.txt b/SYS/KERNEL.S.PWD.txt index 70fce7fa..1eede683 100644 --- a/SYS/KERNEL.S.PWD.txt +++ b/SYS/KERNEL.S.PWD.txt @@ -10,7 +10,10 @@ NEW * `>SYSCALL getpwuid` * ## RETURN VALUE *\-------------------------------------- -K.GetPWUID +K.GetPWUID .EQ K.SYSCALL.JMPX1A +* >PULLW FORPNT +* >PULLA UID +* jmp K.SYSCALL.JMPX */-------------------------------------- * # GetGRGID * ## C @@ -21,9 +24,10 @@ K.GetPWUID * `>SYSCALL getpwname` * ## RETURN VALUE *\-------------------------------------- -K.GetGRGID >PULLW FORPNT - >PULLA UID/GID - jmp K.SYSCALL.JMPX +K.GetGRGID .EQ K.SYSCALL.JMPX1A +* >PULLW FORPNT +* >PULLA GID +* jmp K.SYSCALL.JMPX */-------------------------------------- * # CloseSession * ## C