ô >Mon2 "ô Monitors network traffic and  ô decodes what is being sent (: 24ë &80:top=“-&200:start=(¸P+&1000)€&FFF00:Ó=start <ògo Fà P Ýòassem Z[ç¤fx(0,1,0)<3 IntOff=&FE18:IntOn=&FE20:ADLC=&FEA0 ‹ IntOff=&FE38:IntOn=&FE3C:ADLC=&FEA0 d#ç¦-1:ÿ"LOAD NetData "+Ã~start:á n*FX143,12,255 xX=?IntOff:?&D00=64 ‚!&A6=start:!&A0=&1010 Œ ã P=0 ¸ 1 – P%=&D00   [OPT P*2 ªBIT IntOff ´PHA:TYA:PHA ¾ LDY &A2 È.lp1 ÒLDA ADLC+1:STA (&A6),Y ÜINY æ€ #&81:BNE L217C ðLDA &A0:STA &A1 ú BNE L2187  .L217C LDA ADLC+2 STA (&A6),Y "LDA &A1:BEQ L21AD , DEC &A1 6 .L2187 @INY J BNE L2196 T INC &A7 ^ LDA &A7 hCMP #top 256 r BNE L2196 |LDA #start 256 † STA &A7  .L2196 š STY &A2 ¤ .LD34 ® LDA #&65 ¸STA ADLC+1 ÂBIT ADLC+0 Ì BMI lp1 Ö LDA #0 àSTA (&A6),Y êPLA ôTAY þPLA  BIT IntOn RTI  .L21AD &DEY 0 JMP LD34 :] Dí N!start=0:á X(ݤfx(A%,X%,Y%):=((º&FFF4)€&FF00)256 b"ݤh(A%,N%)=Â"0000000"+Ã~A%,N%) lQݤb:õý?addr%<>0:st%=?addr%:by%=addr%?1:addr%=addr%+2:ç addr%>=top addr%=start vç(st%€4) f%=(f% € 2) €'ô P.FNh(by%,2);"/";FNh(st%,2);" "; Š=by% ”7ݤstn(A%,B%):=Ä3-©ÃA%," ")+ÃA%+"."+ÃB%+Ä3-©ÃB%," ") žÝògo ¨@ñ"Network Traffic Monitor and Decoder, (C)1990 J.G.Harston"' ²òassem:Þ buf% 20 ¼$î … ö:ç ¦-1 ñ" at line ";ž:à ‹ ñ ÆCX=?IntOff:addr%=start:!&A6=start:!&A0=&1010:f%=0:im%=3:X=?IntOn Ðç¦-2:òraw:á Ú&õ:õb%=¤b:ý(st%€1):ô Start of frame ä.ô Read until valid, abort, or other error: î8buf%?0=b%:x%=1:õ:b%=¤b:ç(st%€&80):buf%?x%=b%:x%=x%+1 ø3ýx%>18 „ (st%€ 126):ç(st%€2):buf%?x%=¤b:x%=x%+1 Cñ"From: ";¤stn(buf%?3,buf%?2);" To: ";¤stn(buf%?1,buf%?0);" ";  ,çx%=4 € f%=1 ñ‰(24)"Scout ackn.":f%=2:ý0 +çx%=4 € f%=3 ñ‰(24)"Data ackn.":f%=0:ý0  çx%<6 ñ"Abort":f%=0:ý0 *-ctrl%=buf%?4:port%=buf%?5:çctrl%<128:f%=2 4@çf%=0 ñ"Control: &";¤h(ctrl%,2);" Port: &";¤h(port%,2);" "; >+çbuf%?0=&FF € buf%?1=&FF òbroad:f%=0:ý0 H!çx%=6 € f%<2 ñ"Scout":f%=1:ý0 R&çport%=0 € f%=0:òimm:f%=0:im%=0:ý0 \+ñ"Data sent: ";:òpr(4):f%=im%:im%=3:ý0 f: p Ýòbroad zñ"Broadcast: ";:òpr(6):á „Ýòpr(p%):p%=buf%+p%:õ Ž1ç ?p%<32 „ ?p%>126 ñ"(";¤h(?p%,2);")"; ‹ ï?p% ˜p%=p%+1:ýp%>=x%+buf%:ñ:á ¢ Ýòimm ¬#ô PRINT"Immediate operation: "; ¶&i%=ctrl%:ô PRINT"&";FNh(i%,2);" "; Àç i%=&81 ñ"PEEK"; Êç i%=&82 ñ"POKE"; Ôç i%=&83 ñ"JSR "; Þ$ç i%=&84 ñ"User procedure call"; è"ç i%=&85 ñ"OS Procedure call"; òç i%=&86 ñ"Halt":á üç i%=&87 ñ"Continue":á #ç i%=&88 ñ"Machine type peek":á $ç i%=&89 ñ"Read ARM registers":á !ç i%<&81 „ i%>&89 ñ"Unknown"; $3p%=buf%+6:õ:ñ" &"¤h(!p%,8);:p%=p%+4:ýp%>=x%:ñ:á .Ýòraw:ô Raw data 8#õõb%=¤b:ýst%€1:ô start of frame Bõ Lç(st%€&81):ñ¤h(b%,2); Vç(st%€1):ô addr present `Dç(st%€2):ñ"v";¤h(¤b,2);" ";:õb%=¤b:ý(st%€13):ç(st%€1):ñ¤h(b%,2); j"ç(st%€8):ñ"b";:õb%=¤b:ý(st%€4) tç(st%€4):ñ"i" ~ç(st%€16):ñ" e" ˆç(st%€32):ñ"d"; ’ç(st%€64):ñ"o"; œç(st%€128):ô Data here ¦ b%=¤b:ý0 °ý0 ÿ