
 1000  *---------------------------------
 1010  *      TOUCH TONES SIMULATOR
 1020  *---------------------------------
 1030  SPEAKER    .EQ $C030
 1040  *---------------------------------
 1050  DOWNTIME   .EQ $9D
 1060  UPTIME     .EQ $9E
 1070  LENGTH     .EQ $9F
 1080  CHORD.TIME .EQ $A0
 1090  *---------------------------------
 1100  BUTTON     .EQ $E7  SET BY "SCALE= # "
 1110  *                   USE VALUES FROM 0 THRU 9
 1120  *---------------------------------
 1130         .OR $300
 1140  *---------------------------------
 1150  TWO.TONES
 1160         LDA #10
 1170         STA CHORD.TIME
 1180  .3     LDX BUTTON
 1190         LDA LOW.TONES,X
 1200         JSR ONE.TONE
 1210         LDA HIGH.TONES,X
 1220         JSR ONE.TONE
 1230         DEC CHORD.TIME
 1240         BNE .3
 1250         RTS
 1260  *---------------------------------
 1270  ONE.TONE
 1280         TAY
 1290         LDA DOWNTIME.TABLE,Y
 1300         STA DOWNTIME
 1310         LDA UPTIME.TABLE,Y
 1320         STA UPTIME
 1330         LDA LENGTH.TABLE,Y
 1340         STA LENGTH
 1350  *---------------------------------
 1360  PLAY   LDY UPTIME
 1370         LDA SPEAKER
 1380         DEC LENGTH
 1390         BEQ .4       FINISHED
 1400  .1     DEY
 1410         BNE .1
 1420         BEQ .2
 1430  .2     LDY DOWNTIME
 1440         LDA SPEAKER
 1450         DEC LENGTH
 1460         BEQ .4
 1470  .3     DEY
 1480         BNE .3
 1490         BEQ PLAY
 1500  .4     RTS
 1510  *---------------------------------
 1520  DOWNTIME.TABLE
 1530         .HS 8E807468514942
 1540  *---------------------------------
 1550  UPTIME.TABLE
 1560         .HS 8E807469514942
 1570  *---------------------------------
 1580  LENGTH.TABLE
 1590         .HS 1412100F201D1A
 1600  *---------------------------------
 1610  LOW.TONES
 1620         .HS 03000000010101020202
 1630  HIGH.TONES
 1640         .HS 05040506040506040506
 1650  *---------------------------------
 1660  *      SIMULATED DRIVER
 1670  *---------------------------------
 1680  MON.WAIT   .EQ $FCA8
 1690  PUNCH.ALL
 1700         LDA #0
 1710         STA BUTTON
 1720  .1     JSR TWO.TONES
 1730         LDA #0
 1740         JSR MON.WAIT
 1750         INC BUTTON
 1760         LDA BUTTON
 1770         CMP #10
 1780         BCC .1
 1790         RTS

