00000000: 30 30 31 30 20 0D 30 30 32 30 20 D0 D2 CF C3 20 |0010 .0020 .... |
00000010: 43 41 4C 4C 28 4E 55 4D 42 45 52 24 29 20 0D 30 |CALL(NUMBER$) .0|
00000020: 30 33 30 20 20 20 D4 C9 CD C5 20 30 0D 30 30 34 |030 .... 0.004|
00000030: 30 20 20 20 48 41 4E 47 A4 55 50 20 2F 2F 20 20 |0 HANG.UP // |
00000040: 20 52 45 53 45 54 20 50 48 4F 4E 45 20 4C 49 4E | RESET PHONE LIN|
00000050: 45 0D 30 30 35 30 20 20 20 50 41 55 53 45 28 32 |E.0050 PAUSE(2|
00000060: 29 20 2F 2F 20 20 41 4C 4C 4F 57 20 32 20 53 45 |) // ALLOW 2 SE|
00000070: 43 4F 4E 44 53 0D 30 30 36 30 20 20 20 4F 46 46 |CONDS.0060 OFF|
00000080: A4 48 4F 4F 4B 20 2F 2F 20 20 41 4C 4C 4F 57 20 |.HOOK // ALLOW |
00000090: 4F 4E 45 20 53 45 43 4F 4E 44 0D 30 30 37 30 20 |ONE SECOND.0070 |
000000A0: 20 20 50 41 55 53 45 28 31 29 20 2F 2F 20 20 46 | PAUSE(1) // F|
000000B0: 4F 52 20 44 49 41 4C 20 54 4F 4E 45 0D 30 30 38 |OR DIAL TONE.008|
000000C0: 30 20 20 20 44 49 41 4C 28 4E 55 4D 42 45 52 24 |0 DIAL(NUMBER$|
000000D0: 29 20 2F 2F 20 44 4F 20 49 54 0D 30 30 39 30 20 |) // DO IT.0090 |
000000E0: 20 20 57 41 49 54 43 41 52 52 28 31 35 29 20 2F | WAITCARR(15) /|
000000F0: 2F 20 31 35 20 53 45 43 4F 4E 44 53 20 20 20 20 |/ 15 SECONDS |
00000100: 20 20 20 20 4F 52 20 43 41 52 52 49 45 52 0D 30 | OR CARRIER.0|
00000110: 31 30 30 20 C5 CE C4 D0 D2 CF C3 20 43 41 4C 4C |100 ....... CALL|
00000120: 0D 30 31 31 30 20 0D 30 31 32 30 20 C6 D5 CE C3 |.0110 .0120 ....|
00000130: 20 43 41 52 52 49 45 52 20 0D 30 31 33 30 20 20 | CARRIER .0130 |
00000140: 20 D2 C5 D4 D5 D2 CE 20 CE CF D4 20 D0 C5 C5 CB | ...... ... ....|
00000150: 28 35 36 35 37 37 29 20 C2 C9 D4 C1 CE C4 20 31 |(56577) ...... 1|
00000160: 36 0D 30 31 34 30 20 C5 CE C4 C6 D5 CE C3 20 43 |6.0140 ....... C|
00000170: 41 52 52 49 45 52 0D 30 31 35 30 20 0D 30 31 36 |ARRIER.0150 .016|
00000180: 30 20 D0 D2 CF C3 20 57 41 49 54 43 41 52 52 28 |0 .... WAITCARR(|
00000190: 53 45 43 29 20 0D 30 31 37 30 20 20 20 D4 C9 CD |SEC) .0170 ...|
000001A0: C5 20 30 0D 30 31 38 30 20 20 20 D2 C5 D0 C5 C1 |. 0.0180 .....|
000001B0: D4 20 0D 30 31 39 30 20 20 20 D5 CE D4 C9 CC 20 |. .0190 ..... |
000001C0: 43 41 52 52 49 45 52 20 CF D2 20 D4 C9 CD C5 3E |CARRIER .. ....>|
000001D0: 3D 28 53 45 43 29 2A 36 30 0D 30 32 30 30 20 C5 |=(SEC)*60.0200 .|
000001E0: CE C4 D0 D2 CF C3 20 57 41 49 54 43 41 52 52 0D |...... WAITCARR.|
000001F0: 30 32 31 30 20 0D 30 32 32 30 20 D0 D2 CF C3 20 |0210 .0220 .... |
00000200: 48 41 4E 47 A4 55 50 20 0D 30 32 33 30 20 20 20 |HANG.UP .0230 |
00000210: D0 CF CB C5 20 35 36 35 37 39 2C 33 32 0D 30 32 |.... 56579,32.02|
00000220: 34 30 20 20 20 D0 CF CB C5 20 35 36 35 37 37 2C |40 .... 56577,|
00000230: 30 0D 30 32 35 30 20 C5 CE C4 D0 D2 CF C3 20 48 |0.0250 ....... H|
00000240: 41 4E 47 A4 55 50 0D 30 32 36 30 20 0D 30 32 37 |ANG.UP.0260 .027|
00000250: 30 20 D0 D2 CF C3 20 4F 46 46 A4 48 4F 4F 4B 20 |0 .... OFF.HOOK |
00000260: 0D 30 32 38 30 20 20 20 D0 CF CB C5 20 35 36 35 |.0280 .... 565|
00000270: 37 39 2C 33 32 0D 30 32 39 30 20 20 20 D0 CF CB |79,32.0290 ...|
00000280: C5 20 35 36 35 37 37 2C 33 32 0D 30 33 30 30 20 |. 56577,32.0300 |
00000290: C5 CE C4 D0 D2 CF C3 20 4F 46 46 A4 48 4F 4F 4B |....... OFF.HOOK|
000002A0: 0D 30 33 31 30 20 0D 30 33 32 30 20 D0 D2 CF C3 |.0310 .0320 ....|
000002B0: 20 44 49 41 4C 28 4E 55 4D 42 45 52 24 29 20 0D | DIAL(NUMBER$) .|
000002C0: 30 33 33 30 20 20 20 C6 CF D2 20 49 3A 3D 31 20 |0330 ... I:=1 |
000002D0: D4 CF 20 CC C5 CE 28 4E 55 4D 42 45 52 24 29 20 |.. ...(NUMBER$) |
000002E0: C4 CF 0D 30 33 34 30 20 20 20 20 20 D0 D2 C9 CE |...0340 ....|
000002F0: D4 20 4E 55 4D 42 45 52 24 28 49 29 2C 0D 30 33 |. NUMBER$(I),.03|
00000300: 35 30 20 20 20 20 20 C9 C6 20 4E 55 4D 42 45 52 |50 .. NUMBER|
00000310: 24 28 49 29 20 C9 CE 20 22 30 31 32 33 34 35 36 |$(I) .. "0123456|
00000320: 37 38 39 22 20 D4 C8 C5 CE 0D 30 33 36 30 20 20 |789" .....0360 |
00000330: 20 20 20 20 20 4E 3A 3D D6 C1 CC 28 4E 55 4D 42 | N:=...(NUMB|
00000340: 45 52 24 28 49 29 29 0D 30 33 37 30 20 20 20 20 |ER$(I)).0370 |
00000350: 20 20 20 C9 C6 20 4E 3D 30 20 D4 C8 C5 CE 20 4E | .. N=0 .... N|
00000360: 3A 3D 31 30 0D 30 33 38 30 20 20 20 20 20 20 20 |:=10.0380 |
00000370: C6 CF D2 20 50 55 4C 53 45 3A 3D 31 20 D4 CF 20 |... PULSE:=1 .. |
00000380: 4E 20 C4 CF 0D 30 33 39 30 20 20 20 20 20 20 20 |N ...0390 |
00000390: 20 20 D0 CF CB C5 20 35 36 35 37 37 2C 30 0D 30 | .... 56577,0.0|
000003A0: 34 30 30 20 20 20 20 20 20 20 20 20 50 41 55 53 |400 PAUS|
000003B0: 45 28 2E 30 35 29 0D 30 34 31 30 20 20 20 20 20 |E(.05).0410 |
000003C0: 20 20 20 20 D0 CF CB C5 20 35 36 35 37 37 2C 33 | .... 56577,3|
000003D0: 32 0D 30 34 32 30 20 20 20 20 20 20 20 20 20 50 |2.0420 P|
000003E0: 41 55 53 45 28 2E 30 35 29 0D 30 34 33 30 20 20 |AUSE(.05).0430 |
000003F0: 20 20 20 20 20 C5 CE C4 C6 CF D2 20 50 55 4C 53 | ...... PULS|
00000400: 45 0D 30 34 34 30 20 20 20 20 20 C5 CC C9 C6 20 |E.0440 .... |
00000410: 4E 55 4D 42 45 52 24 28 49 29 3D 22 2E 22 20 D4 |NUMBER$(I)="." .|
00000420: C8 C5 CE 0D 30 34 35 30 20 20 20 20 20 20 20 50 |....0450 P|
00000430: 41 55 53 45 28 31 29 0D 30 34 36 30 20 20 20 20 |AUSE(1).0460 |
00000440: 20 C5 CE C4 C9 C6 20 0D 30 34 37 30 20 20 20 20 | ..... .0470 |
00000450: 20 50 41 55 53 45 28 2E 34 29 0D 30 34 38 30 20 | PAUSE(.4).0480 |
00000460: 20 20 C5 CE C4 C6 CF D2 20 0D 30 34 39 30 20 C5 | ...... .0490 .|
00000470: CE C4 D0 D2 CF C3 20 44 49 41 4C 0D 30 35 30 30 |...... DIAL.0500|
00000480: 20 0D 30 35 31 30 20 D0 D2 CF C3 20 50 41 55 53 | .0510 .... PAUS|
00000490: 45 28 44 45 4C 41 59 29 20 0D 30 35 32 30 20 20 |E(DELAY) .0520 |
000004A0: 20 D4 C9 CD C5 20 30 0D 30 35 33 30 20 20 20 D7 | .... 0.0530 .|
000004B0: C8 C9 CC C5 20 44 45 4C 41 59 2A 36 30 3E D4 C9 |.... DELAY*60>..|
000004C0: CD C5 20 C4 CF 0D 30 35 34 30 20 20 20 C5 CE C4 |.. ...0540 ...|
000004D0: D7 C8 C9 CC C5 20 0D 30 35 35 30 20 C5 CE C4 D0 |..... .0550 ....|
000004E0: D2 CF C3 20 50 41 55 53 45 0D 30 35 36 30 20 0D |... PAUSE.0560 .|
000004F0: 30 35 37 30 20 C6 D5 CE C3 20 4D 4F 44 45 4D 27 |0570 .... MODEM'|
00000500: 47 45 54 24 28 46 27 4E 55 4D 29 20 C3 CC CF D3 |GET$(F'NUM) ....|
00000510: C5 C4 0D 30 35 38 30 20 20 20 4F 4C 44 27 4C 4F |...0580 OLD'LO|
00000520: 3A 3D D0 C5 C5 CB 28 24 30 33 32 34 29 0D 30 35 |:=....($0324).05|
00000530: 39 30 20 20 20 4F 4C 44 27 48 49 3A 3D D0 C5 C5 |90 OLD'HI:=...|
00000540: CB 28 24 30 33 32 35 29 0D 30 36 30 30 20 20 20 |.($0325).0600 |
00000550: C4 C9 CD 20 43 24 20 CF C6 20 31 0D 30 36 31 30 |... C$ .. 1.0610|
00000560: 20 20 20 D4 D2 C1 D0 20 0D 30 36 32 30 20 20 20 | .... .0620 |
00000570: 20 20 D4 D2 C1 D0 20 C5 D3 C3 2D 0D 30 36 33 30 | .... ...-.0630|
00000580: 20 20 20 20 20 D0 CF CB C5 20 24 30 33 32 34 2C | .... $0324,|
00000590: D0 C5 C5 CB 28 24 30 33 32 41 29 0D 30 36 34 30 |....($032A).0640|
000005A0: 20 20 20 20 20 D0 CF CB C5 20 24 30 33 32 35 2C | .... $0325,|
000005B0: D0 C5 C5 CB 28 24 30 33 32 42 29 0D 30 36 35 30 |....($032B).0650|
000005C0: 20 20 20 20 20 43 24 3A 3D C7 C5 D4 24 28 46 27 | C$:=...$(F'|
000005D0: 4E 55 4D 2C 31 29 0D 30 36 36 30 20 20 20 20 20 |NUM,1).0660 |
000005E0: D0 CF CB C5 20 24 30 33 32 34 2C 4F 4C 44 27 4C |.... $0324,OLD'L|
000005F0: 4F 0D 30 36 37 30 20 20 20 20 20 D0 CF CB C5 20 |O.0670 .... |
00000600: 24 30 33 32 35 2C 4F 4C 44 27 48 49 0D 30 36 38 |$0325,OLD'HI.068|
00000610: 30 20 20 20 20 20 D4 D2 C1 D0 20 C5 D3 C3 2B 0D |0 .... ...+.|
00000620: 30 36 39 30 20 20 20 20 20 D2 C5 D4 D5 D2 CE 20 |0690 ...... |
00000630: 43 24 0D 30 37 30 30 20 20 20 C8 C1 CE C4 CC C5 |C$.0700 ......|
00000640: D2 20 0D 30 37 31 30 20 20 20 20 20 D0 CF CB C5 |. .0710 ....|
00000650: 20 24 30 33 32 34 2C 4F 4C 44 27 4C 4F 0D 30 37 | $0324,OLD'LO.07|
00000660: 32 30 20 20 20 20 20 D0 CF CB C5 20 24 30 33 32 |20 .... $032|
00000670: 35 2C 4F 4C 44 27 48 49 0D 30 37 33 30 20 20 20 |5,OLD'HI.0730 |
00000680: 20 20 D4 D2 C1 D0 20 C5 D3 C3 2B 0D 30 37 34 30 | .... ...+.0740|
00000690: 20 20 20 20 20 D2 C5 D0 CF D2 D4 20 2F 2F 20 50 | ...... // P|
000006A0: 41 53 53 20 45 52 52 4F 52 20 4F 55 54 53 49 44 |ASS ERROR OUTSID|
000006B0: 45 0D 30 37 35 30 20 20 20 C5 CE C4 D4 D2 C1 D0 |E.0750 .......|
000006C0: 20 2F 2F 20 4F 46 20 54 48 49 53 20 52 4F 55 54 | // OF THIS ROUT|
000006D0: 49 4E 45 2E 0D 30 37 36 30 20 C5 CE C4 C6 D5 CE |INE..0760 ......|
000006E0: C3 20 4D 4F 44 45 4D 27 47 45 54 24 0D 30 37 37 |. MODEM'GET$.077|
000006F0: 30 20 0D |0 . |
0010 .0020 PROC CALL(NUMBER$) .0030 TI
ME 0.0040 HANG.UP // RESET PHONE LIN
E.0050 PAUSE(2) // ALLOW 2 SECONDS.00
60 OFF.HOOK // ALLOW ONE SECOND.0070
PAUSE(1) // FOR DIAL TONE.0080 DIAL
(NUMBER$) // DO IT.0090 WAITCARR(15) /
/ 15 SECONDS OR CARRIER.0100 ENDP
ROC CALL.0110 .0120 FUNC CARRIER .0130
RETURN NOT PEEK(56577) BITAND 16.0140 E
NDFUNC CARRIER.0150 .0160 PROC WAITCARR(
SEC) .0170 TIME 0.0180 REPEAT .0190
UNTIL CARRIER OR TIME>=(SEC)*60.0200 E
NDPROC WAITCARR.0210 .0220 PROC HANG.UP
.0230 POKE 56579,32.0240 POKE 56577,
0.0250 ENDPROC HANG.UP.0260 .0270 PROC O
FF.HOOK .0280 POKE 56579,32.0290 POK
E 56577,32.0300 ENDPROC OFF.HOOK.0310 .0
320 PROC DIAL(NUMBER$) .0330 FOR I:=1
TO LEN(NUMBER$) DO.0340 PRINT NUMBER
$(I),.0350 IF NUMBER$(I) IN "0123456
789" THEN.0360 N:=VAL(NUMBER$(I)).
0370 IF N=0 THEN N:=10.0380
FOR PULSE:=1 TO N DO.0390 POKE 5
6577,0.0400 PAUSE(.05).0410
POKE 56577,32.0420 PAUSE(.05
).0430 ENDFOR PULSE.0440 ELIF
NUMBER$(I)="." THEN.0450 PAUSE(1).
0460 ENDIF .0470 PAUSE(.4).0480
ENDFOR .0490 ENDPROC DIAL.0500 .0510 P
ROC PAUSE(DELAY) .0520 TIME 0.0530 W
HILE DELAY*60>TIME DO.0540 ENDWHILE .0
550 ENDPROC PAUSE.0560 .0570 FUNC MODEM'
GET$(F'NUM) CLOSED.0580 OLD'LO:=PEEK($
0324).0590 OLD'HI:=PEEK($0325).0600
DIM C$ OF 1.0610 TRAP .0620 TRAP E
SC-.0630 POKE $0324,PEEK($032A).0640
POKE $0325,PEEK($032B).0650 C$:
=GET$(F'NUM,1).0660 POKE $0324,OLD'L
O.0670 POKE $0325,OLD'HI.0680 TR
AP ESC+.0690 RETURN C$.0700 HANDLE
R .0710 POKE $0324,OLD'LO.0720 P
OKE $0325,OLD'HI.0730 TRAP ESC+.0740
REPORT // PASS ERROR OUTSIDE.0750
ENDTRAP // OF THIS ROUTINE..0760 ENDFUN
C MODEM'GET$.0770 .
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL