Il programma gestisce in tempo reale 6 dispositivi tramite la porta parallela (indirizzo 0x378). Ogni apparecchio è mappato su un bit del registro dati: la logica è binaria pura — un decimale inviato alla porta accende o spegne i dispositivi combinando i valori. La velocità del ciclo di delay è calibrata dinamicamente al boot leggendo il clock di sistema.
1 Dim S(10), E$(10): OUT &H378, 0
2 Rem *** CONTROLLO ELETTRICO VIA PORTA PARALLELA
3 CLS: LOCATE 5, 30: Print "TEST CONTROLLO SEGNALI PARALLELA"
4 LOCATE 6, 30: Print "(Accendere l'interruttore della casa su ON)"
5 Rem Bit assegnati: 2=LUCE 4=STUFA 24=SU SERRANDA
6 Rem 40=GIU' SERRANDA 64=POMPA 128=LAVATRICE
8 ORA$ = Time$: Time$ = ORA$
9 CONTA = CONTA + 1: If Time$ = ORA$ Then GoTo 9 Else RI = 25000 * CONTA / 8800
10 RESTORE 600: For T = 1 To 6: READ E$(T): LOCATE 8 + T, 36: Print E$(T)
14 R = 1: Color 0, 7: LOCATE 9, 36: Print "LUCE": Color 7, 0
40 If R = 3 And S(R) = 1 Then OUT &H378, N: For Z = 1 To RI: Next Z: N = N - 24
43 OUT &H378, N
44 LOCATE 1, 1: Print "DECIMALE INVIATO ALLA PARALLELA: "; USING; "###"; N
50 K$ = INKEY$: If K$ = "" Then GoTo 50
56 If Right$(K$, 1) = "P" Then R = R + 1: If R > 6 Then R = 1
57 If Right$(K$, 1) = "H" Then R = R - 1: If R = 0 Then R = 6
58 If K$ = Chr$(13) Then GoTo 100
100 If R = 1 And S(R) = 0 Then N = N + 2 ^ 1: S(R) = 1: GoTo 40 ← LUCE ON
110 If R = 1 And S(R) = 1 Then N = N - 2 ^ 1: S(R) = 0: GoTo 40 ← LUCE OFF
120 If R = 2 And S(R) = 0 Then N = N + 2 ^ 2: S(R) = 1: GoTo 40 ← STUFA ON
140 If R = 3 And S(R) = 0 Then N = N + 24: S(R) = 1: GoTo 40 ← SERRANDA SU
150 If R = 3 And S(R) = 1 Then N = N + 40: S(R) = 0: GoTo 40 ← SERRANDA GIU'
160 If R = 4 And S(R) = 0 Then N = N + 2 ^ 6: S(R) = 1: GoTo 40 ← POMPA ON
180 If R = 5 And S(R) = 0 Then N = N + 2 ^ 7: S(R) = 1: GoTo 40 ← LAVATRICE ON
195 If R = 6 Then CLS: End
600 Data LUCE, STUFA, SERRANDA, GIARDINETTO, LAVATRICE, USCITA