From 4a0597884b7f8b37e7ef51b24297aeab6fb51e88 Mon Sep 17 00:00:00 2001 From: dschmenk Date: Sat, 5 Dec 2015 19:06:51 -0800 Subject: [PATCH] CHAT updates --- src/chatsrc/CHAT.PO | Bin 143360 -> 143360 bytes src/chatsrc/chat.pla | 27 ++++++++++++++++--- src/chatsrc/chatserver/chat-version.xml | 4 ++- src/chatsrc/chatserver/client.py | 2 +- src/chatsrc/chatserver/clientfiles/CHAT | Bin 1844 -> 2066 bytes src/chatsrc/chatserver/clientfiles/UTHERNET2 | Bin 4131 -> 4191 bytes src/chatsrc/chatserver/clientfiles/VERSION | 0 src/libsrc/uthernet2.pla | 25 +++++++++++++++-- 8 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 src/chatsrc/chatserver/clientfiles/VERSION diff --git a/src/chatsrc/CHAT.PO b/src/chatsrc/CHAT.PO index c38aa566664f57c940650d700148fc0b030720d8..74d4d6081e1de2c7d5a4308d4a152ce41c143dde 100644 GIT binary patch delta 380 zcmZ9Iu}Z^G6o&tkUeZ((+XT$w&_S`#p@ZN9#3a&!X+m-{I0*{sD3s1^@ezCk*9_7i z1qUhJd;wPr4z7Zei}l_sUA)8L{^xxE&*6-h#&~HwxU4a0+78s)#e2)L%6&GabmzF& z55lyQ#xa+}mvazmfTVApKmI-%pn+k{1|Ihmdm-4j|7>aNuQWAGM)lG%zh+g2is0HM zZG6*6LknBD!X=T~Wl!Wj!O?z{l4TQ*qPF3JJ`ZsOD>?D9$m?XM84n}WMSEMc^(2jh zI736}0#z^PahmtxsD?|moOi>tAMyj3Dyl%mKZ^obO1Z>>uAdB~KNoq`P~yF0Ajdfh su%7U)Y^7W>)@ds_9|{BWyB=T3b%ui0^F*8_yqh#fxAVnpzM%W-UxA!f2mk;8 delta 61 zcmV-D0K)%(;0S==2(T6elRgFt1|tB&Ck+d;CIqqplQIS<0RprC3I74I2n+-PKeG)C T^S6WW#<%ds0T5}k@W${0WepbN diff --git a/src/chatsrc/chat.pla b/src/chatsrc/chat.pla index a04dee1..28892a2 100644 --- a/src/chatsrc/chat.pla +++ b/src/chatsrc/chat.pla @@ -32,18 +32,19 @@ import inet end end -const VERSION = 3 const txtline = $07D0 const inbuf = $0200 const instr = $01FF byte[4] serverIP +word[] fileinfo +word version word port, timeout word update_list, update_len byte response -byte hellopkt = $DA, $7E, VERSION, VERSION >> 8, $00, $00, $A2, 'H' +byte hellopkt = $DA, $7E, 0, 0, $00, $00, $A2, 'H' byte[9] handle = "" -byte chatpkt = $DA, $7E, VERSION, VERSION >> 8, $00, $01, $A2, 'C' +byte chatpkt = $DA, $7E, 0, 0, $00, $01, $A2, 'C' byte[33] msg // // DEBUG @@ -113,6 +114,9 @@ def recvUDP(ipsrc, portsrc, data, len, param) break; is 'E' puts("Server error!"); putln + break + otherwise + puts("Unkwown server packet:"); putc(response) wend end @@ -178,6 +182,21 @@ def kbstr until inlen == $FF return instr end + +// +// CHAT session +// +fileinfo = heapmark() +fileinfo->0 = $0A +fileinfo=>1 = "VERSION" +if !syscall($C4, fileinfo) + version = fileinfo=>5 // AUX type has version # +else + version = 1 +fin +hellopkt:2 = version +chatpkt:2 = version +puts("CHAT cliet version:"); puti(version); putln if !iNet:initIP() return -1 fin @@ -187,7 +206,7 @@ repeat if ^instr if iNet:resolveIP(instr, @serverIP) repeat - puts("Enter chat handle (7 characters or less)\n") + puts("Enter chat handle (7 characters or less)") gets(':'+$80) until ^instr > 0 and ^instr < 8 memcpy(@handle, instr, ^instr + 1) diff --git a/src/chatsrc/chatserver/chat-version.xml b/src/chatsrc/chatserver/chat-version.xml index 94acfd7..249eb1e 100644 --- a/src/chatsrc/chatserver/chat-version.xml +++ b/src/chatsrc/chatserver/chat-version.xml @@ -10,8 +10,10 @@ - + + + diff --git a/src/chatsrc/chatserver/client.py b/src/chatsrc/chatserver/client.py index 0facd64..5383451 100755 --- a/src/chatsrc/chatserver/client.py +++ b/src/chatsrc/chatserver/client.py @@ -3,7 +3,7 @@ import sys, struct, socket, select server = ("localhost", 0x6502) myhandle = "Python" -VERSION = 3 +VERSION = 4 if len(sys.argv) > 1: server = (sys.argv[1], 0x6502) diff --git a/src/chatsrc/chatserver/clientfiles/CHAT b/src/chatsrc/chatserver/clientfiles/CHAT index a0e6e4c9600c53f4203d952e4af2b16913cb6049..349b21cef4d5305186300115b3ea72d5bc520840 100644 GIT binary patch delta 1005 zcmZ9IPiRy}9LIn2-pq<_NG2OLn5;`SCc8}@%XSrlBAO;HiD`Z4)4psJ!m@GQm^?!g zHo=%Z7>1T0^&sQB6zM@CJ>+hKL<&_x4&q7iP%pixZK*A?hk^y!eqVAZ^zlCP{r#Ew z{eCkK8t=&Py14O*s304tM~B;DM6YfTzO|8H-T8I`Y%Qk;wog`&iM`y1t%`MF)7Rr@tFuYy zeV=7|e8=qZm(2rHoAp#$B8k6<(Sq62teg_fLC8tC|<iv=BK;WpGxQhepG2yO zk&1wJaFUT8Vq9MWb4+Npg5?_~)IB7>NAd~mZRi{5@6dPH7&e&78KjE_)BhMz-D^sf zHc5R7`oJlZ^cT=`-~uRu5|{+jU_syt&WD32qWt!?a0xuB=aiN>I zsk%AoLwv6~3O&xFYJiivNQEVNJTRXOOG2Kbe@`F+)*Z+hDoPvnjV8Zj3P9Lk*Oi*EoLz)!BA2v@}$5`A79OlC-V%9Fd**lMde6TTIu9C#H?P2TQ5q2z`B&$DZQuY8@y~#!z7KMl$t}3+1Y@2tRMXK`B z&T{g8upBFU8NT988l8c+EKy;xpmdw5&$-Fk_j;dsLxKU8HKR_>{d4{+ngqHIjZm$ z6KG^tEB;FTDd!sHqK!2+S=(~ufZZPVw1_o#cl*yEvf?Oz3BdWyT+%Cx?LA%pz2)EZ zebS0=PWKl`IS(ti+s>XQe^zhGNs=3pZi^Q;BP`-&%np|K#?9SD{3w67R_E6r%JaM= zUJejH1sww=umIKpcIIC|w2?S|xjsokpCzUh(C{-P)IB2o82TRi0s4(d)iY8OG=mf) zon}H0fHTb0#UjE*W~v)#PNVq*egV45nA*WfcX6iQ@t_t)P$vvi?>7vUHb`fXpGU5c zUqL=?RI6LiJ4R65HAu~ZIq(RzdDLFQzXorRFCqU3zXFP15q^T-XvBr7Is~bM;1K8+ zqz6T{8i5}LW5~~mpen&%0+Zk>YS%@Rnu5;Y>@4(!sMRaDYYpBoOy7J zCkJ^$5ClOj4K76ySxFK_fe{8qf2h8L!-wzv4vyQktF{c7E7wAN`vW3Tl8&zRx|}1u zq4g*HkxbXPAtF{JGda>Rz>cY9oxYQ}avD~ptxobh8#hhU?*Oor? z3RT7}Uhx582xY=T2oVfo2z;yJm_icsSimBdv4#z7VheffU=IZpQNlhB43SnR98OWj zIWBR7Dr$JdGwNudi7))ZC57_9fFBk@2%}Gm?1XfyIGvX5*%_&;B=@tJLkg=hDAYQK zZRAlv5snnOZeP#X8ILcdrLJg&-qCydK%eLftP58hf delta 409 zcmWO0K}17w9Ki8^ulBO{8*5|oh}K~p>rjji9U?_KMWjPSryUY8V$EL>BYNJ%Xrd`m z%HB)qP|~63kciS6C8paBl@3Mv9zMRm%kSs+5--K&T^1`!{kF8K-m>_n@n!fI=7-_G z1udi5vlpVOGva|h^<@NkS%oZ%8zxWO&%@rVjuQ9~Wy__LJLE&-ho z<#bDv(<7!%iqd`P#}LLaff=M^ln)s)SVE4)Rf*{}>e6*upc{0PZqaSJOZVsjEz=`< TA~DwvcUTYHc|uj(channel_regs wizdata = wiz=>channel_rxmem @@ -811,11 +814,29 @@ def wizServiceIP pokereg(wiz=>channel_regs + WIZ_SnCR, $10) // CLOSE wend fin - wend + wend fin wiz = wiz + t_channel next - fin + if ir & $80 + // + // IP conflict + // + pokereg(WIZ_IR, $80) + fin + if ir & $40 + // + // Destination unreachable + // + pokereg(WIZ_IR, $40) + fin + if ir & $20 + // + // PPOE connection close + // + pokereg(WIZ_IR, $20) + fin + fin end // // Set the local IP addresses