In de jaren '80 wordt als één van de eerste publieke werken het telefoneren gedigitaliseerd. Waar draaischijf toestellen nog met een toon werkten, zijn de nieuwe druktoetstelefoons al voorzien van een puls signaal. De MSX kon destijds al digitaal geluid produceren, dus het was een koud kunstje om er pulstonen mee te maken, die de telefoon herkende. Je kon de puls ook korter maken, zodat je nóg sneller kon bellen.
Hieronder één van die programma's die het mogelijk maakte om op de MSX digitale pulstonen voor de telefoon te produceren. Zelfs vandaag de dag zou dat nog moeten werken.
MSX PULS TONEN VOOR TELEFOON
' MSX Puls tonen voor telefoon
' Data in de onderste regels
' is vrij aan te passen
' met je eigen telefoonboek.
'
'
SCREEN 0,0:CLS:CLEAR 200:KEY OFF
FOR T = 0 TO 9:READ A1(T),A2(T):NEXT T
CLS:B$="":C$=""
N$="":PRINT "Wie wil je bellen? (Returnknop is nummer invoeren) :";
INPUT N$
IF N$ = "" THEN PRINT:PRINT "- is pauze tussen netnummer en rest nummer":INPUT "Telefoonnummer:";T$:GOTO 19
RESTORE 59
READ B$,T$
IF B$= "*" THEN PRINT "Die naam is niet gevonden...":PRINT:GOTO 10
IF N$= B$ THEN PRINT N$;" wordt nu gebeld.":PRINT:PRINT T$:GOTO
'
GOTO 14
FOR Z = 1 TO LEN(T$)
N$=MID$(T$,Z,1)
'FOR P = 1 TO 30
IF N$="-" THEN FOR P = 1 TO 1000:NEXT P,Z
IF N$="#" THEN A1=1209:A2=941:GOTO 29
IF N$="*" THEN A1=1447:A2=941:GOTO 29
A=VAL(N$)
' maak juiste frequenties aan
' x1 = puls 1
' x2 = puls 2
R1=INT(111860!/A1(A))
R2=INT(111860!/A2(A))
M1=INT(R1/256)
M2=INT(R2/256)
L1=R1-256*M1
L2=R2-256*M2
' we gaan bellen
SOUND 0,L1
SOUND 1,M1
SOUND 2,L2
SOUND 3,M2
' regel het volume
SOUND 8,14
SOUND 9,10
' en de lengte van de toon
FOR T = 1 TO 80:NEXT T
SOUND 9,0:SOUND 8,0
' pauze voor andere toon
FOR T = 1 TO 10:NEXT T
N$="":A=0:NEXT Z:GOTO 9
'
' toonhoogte in Hertz
'
DATA 1336,941,1209,697,1336,697,1447,697
DATA 1209,770,1336,770,1447,770,1209,852
DATA 1336,852,1447,852
'
' vul hieronder je eigen
' namen en nummers in
' voeg evt. meer DATA regels toe
DATA noodnummer,112
DATA politie,0900-8844
DATA opa en oma,010-5016230
DATA werk,010-4144309
DATA *,*
' *,* = EINDE ZOEKEN