10
20
30
40
50 :
60 OS_CLI=&FFF7:OSBYTE=&FFF4:OSWORD=&FFF1:OSWRCH=&FFEE
70 OSWRCR=&FFEC:OSNEWL=&FFE7:OSASCI=&FFE3:OSRDCH=&FFE0
80 :
90 load%=&FFFF0E23
100 DIM mcode% &13E
110 FOR P=0 TO 1
120 P%=load%:O%=mcode%
130 [OPT P*3+4
140 .exec%
150 \ Parse command line for (net.)stn or user
160 LDY #&FF:LDX #&07:JSR L0F3F:BCC L0E6F :\ net.stn
170 .L0E2C
180 LDA (&BE),Y:STA &0F4F,X :\ Copy user name to buffer
190 INX:INY:CMP #&0D:BEQ L0E3D :\ <cr> end of line
200 EOR #&2D:CMP #&0D:BNE L0E2C :\ <spc> end of user name
210 .L0E3D
220 STA &0F4E,X:DEY:TYA:PHA :\ Store terminating <cr>
230 LDY #&03
240 .L0E45
250 LDA L0F49,Y:STA &0F4F,Y:DEY:BPL L0E45 :\ Copy NetFS_Op control block
260 STX &0F50 :\ Store length
270 LDX #L0F4F AND 255
280 LDY #L0F4F DIV 256
290 LDA #&14:JSR OSWORD
300 LDA &0F52:BEQ L0E67 :\ Ok
310 LDA #&00:STA &0F60:JMP &0F51 :\ Error
320 .L0E67
330 PLA:TAY :\ Y=>message to send
340 LDA &0F54:LDX &0F55 :\ X=net, A=stn
350 :
360 \ Send message at Y to net.stn in X.A
370 .L0E6F
380 STA &0F50:STX &0F51 :\ Store net.stn
390 LDX #&0B :\ Offset into Tx buffer
400 .L0E77
410 LDA (&BE),Y:STA &0F4F,X :\ Copy into Tx buffer
420 INY:INX:CMP #&0D:BNE L0E77 :\ Loop until <cr>
430 TXA:ADC #&06:TAX :\ X=X+7, X=length of Tx buffer
440 LDY #&08
450 .L0E88
460 LDA L0EA9,Y:STA &0F4F,X :\ Copy message header
470 LDA L0EAD,Y:STA &0F52,Y :\ Copy message header
480 DEX:DEY:BPL L0E88
490 LDA #&01:STA &0F4F
500 JSR L0EF8 :\ Store my net.stn in message
510 LDX #L0F4F AND 255
520 LDY #L0F4F DIV 256
530 LDA #&14:JMP OSWORD :\ Send message
540 :
550 .L0EA9
560 EQUS " ___ "+CHR$0
570 .L0EAD
580 EQUS "*|"+CHR$7+" : "
590 :
600 .L0EB6
610 LDA (&BE),Y :\ 0EC6= B1 BE 1>
620 INY :\ 0EB8= C8 H
630 CMP #&20 :\ 0EB9= C9 20 I
640 BEQ L0EB6 :\ 0EBB= F0 F9 py
650 DEY :\ 0EBD= 88 .
660 CMP #&41 :\ 0EBE= C9 41 IA
670 RTS :\ 0EC0= 60 `
680
690 .L0EC1
700 TAX :\ 0EC1= AA *
710 LDA #&00 :\ 0EC2= A9 00 ).
720 STA &B2 :\ 0EC4= 85 B2 .2
730 .L0EC6
740 LDA (&BE),Y :\ 0EC6= B1 BE 1>
750 CMP #&40 :\ 0EC8= C9 40 I@
760 BCS L0EE5 :\ 0ECA= B0 19 0.
770 CMP #&2E :\ 0ECC= C9 2E I.
780 BEQ L0EE6 :\ 0ECE= F0 16 p.
790 BMI L0EE5 :\ 0ED0= 30 13 0.
800 AND #&0F :\ 0ED2= 29 0F ).
810 STA &B3 :\ 0ED4= 85 B3 .3
820 ASL &B2 :\ 0ED6= 06 B2 .2
830 LDA &B2 :\ 0ED8= A5 B2 %2
840 ASL A :\ 0EDA= 0A .
850 ASL A :\ 0EDB= 0A .
860 ADC &B2 :\ 0EDC= 65 B2 e2
870 ADC &B3 :\ 0EDE= 65 B3 e3
880 STA &B2 :\ 0EE0= 85 B2 .2
890 INY :\ 0EE2= C8 H
900 BNE L0EC6 :\ 0EE3= D0 E1 Pa
910 .L0EE5
920 CLC :\ 0EE5= 18 .
930 .L0EE6
940 LDA &B2 :\ 0EE6= A5 B2 %2
950 .L0EE8
960 RTS :\ 0EE8= 60 `
970
980 .L0EE9
990 JSR L0EB6 :\ 0EE9= 20 B6 0E 6.
1000 BCS L0EE8 :\ 0EEC= B0 FA 0z
1010 LDA #&00 :\ 0EEE= A9 00 ).
1020 JSR L0EC1 :\ 0EF0= 20 C1 0E A.
1030 BCC L0EE8 :\ 0EF3= 90 F3 .s
1040 INY :\ 0EF5= C8 H
1050 BCS L0EC1 :\ 0EF6= B0 C9 0I
1060 .L0EF8
1070 LDA #&08 :\ 0EF8= A9 08 ).
1080 STA &0F4D :\ 0EFA= 8D 4D 0F .M.
1090 LDA #&13 :\ 0EFD= A9 13 ).
1100 BNE L0F0D :\ 0EFF= D0 0C P.
1110 BRK :\ 0F01= 00 .
1120 BRK :\ 0F02= 00 .
1130 BRK :\ 0F03= 00 .
1140 BRK :\ 0F04= 00 .
1150 BRK :\ 0F05= 00 .
1160 BRK :\ 0F06= 00 .
1170 BRK :\ 0F07= 00 .
1180 BRK :\ 0F08= 00 .
1190 EQUB &23 :\ 0F09= 23 #
1200 ASL &FFFF :\ 0F0A= 0E FF FF ...
1210 .L0F0D
1220 LDX #&4D :\ 0F0D= A2 4D "M
1230 LDY #&0F :\ 0F0F= A0 0F .
1240 JSR OSWORD :\ 0F11= 20 F1 FF q.
1250 LDA &0F4E :\ 0F14= AD 4E 0F -N.
1260 LDX #&07 :\ 0F17= A2 07 ".
1270 STX &B2 :\ 0F19= 86 B2 .2
1280 TAY :\ 0F1B= A8 (
1290 LDA #&64 :\ 0F1C= A9 64 )d
1300 JSR L0F28 :\ 0F1E= 20 28 0F (.
1310 LDA #&0A :\ 0F21= A9 0A ).
1320 JSR L0F28 :\ 0F23= 20 28 0F (.
1330 LDA #&01 :\ 0F26= A9 01 ).
1340 .L0F28
1350 STA &B8 :\ 0F28= 85 B8 .8
1360 TYA :\ 0F2A= 98 .
1370 LDX #&2F :\ 0F2B= A2 2F "/
1380 SEC :\ 0F2D= 38 8
1390 .L0F2E
1400 INX :\ 0F2E= E8 h
1410 SBC &B8 :\ 0F2F= E5 B8 e8
1420 BCS L0F2E :\ 0F31= B0 FB 0{
1430 ADC &B8 :\ 0F33= 65 B8 e8
1440 TAY :\ 0F35= A8 (
1450 TXA :\ 0F36= 8A .
1460 LDX &B2 :\ 0F37= A6 B2 &2
1470 INC &B2 :\ 0F39= E6 B2 f2
1480 STA &0F4F,X :\ 0F3B= 9D 4F 0F .O.
1490 RTS :\ 0F3E= 60 `
1500
1510 .L0F3F
1520 INY :\ 0F3F= C8 H
1530 LDA (&BE),Y :\ 0F40= B1 BE 1>
1540 CMP #&20 :\ 0F42= C9 20 I
1550 BNE L0F3F :\ 0F44= D0 F9 Py
1560 JMP L0EE9 :\ 0F46= 4C E9 0E Li.
1570
1580 .L0F49
1590 BRK :\ 0F49= 00 .
1600 BRK :\ 0F4A= 00 .
1610 BRK :\ 0F4B= 00 .
1620 CLC :\ 0F4C= 18 .
1630 AND &3276,X :\ 0F4D= 3D 76 32 =v2
1640 ]NEXT
1650 PRINT "*SAVE NOTIFY ";~mcode%;" ";~O%;" ";~exec%;" ";~load%