Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape33a_acorn_eu_1992_april.wav » Q.MapL

Q.MapL

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape33a_acorn_eu_1992_april.wav
Filename: Q.MapL
Read OK:
File size: 13A6 bytes
Load address: FFFF1900
Exec address: FFFF801F
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
   10MODE1
   20PRINT"BEEB BODY BUILDING COURSE"
   30PRINT"SOUND SAMPLER"
   40PRINT"MACHINE CODE INITILISER"
   50PRINT"FOR SOUND MANAPULATOR"
   60PRINT"By Mike Cook"
   70PRINT
   80HIMEM=&2E00
   90LOOK%=&2E00
  100PROC_INT
  110PROC_INT2
  120PROC_INSTRUCTIONS
  130CHAIN"MapB"
  140DEF PROC_INT
  160BA=&FE61
  180?&86=&80:?&80=00:?&81=00
  190M%=LOOK%
  200FOR A%=0 TO 31
  210FOR B%=0 TO 7
  220T%=A%*&140+B%+&5800
  230?M%=T% MOD 256
  240M%?&100=T% DIV 256
  250M%=M%+1
  260NEXT:NEXT
  270FOR PASS=0 TO 2 STEP 2
  280P%=&A00
  290[
  300OPT PASS
  310.SETUP \ INITILISE
  320SEI \ DISABLE INTERRUPTS
  330LDA #6:STA &FE62
  340LDA #&40
  350LDY #0
  360STA &FE6B \ ENABLE TIMER 1
  370LDA #&C0
  380STA &FE6E \ ENABLE INTERRUPT
  390LDA #0
  400STA &FE65 \ START IT OFF
  410RTS
  420.G% \ GET SAMPLE INTO MEMORY
  430JSR SETUP
  440.HOLD
  450LDA &FE6D \ GET INTERRUPT FLAG
  460BPL HOLD \ LOOP UNTIL TIME OUT
  470STA &FE6D \ CLEAR INTERRUPT
  480JSR sin \ GET SAMPLE
  500STA (&70),Y
  510INY
  520BNE HOLD \ GET ANOTHER
  530INC &71 \ INCREASE MS POINTER
  540LDA #&70
  550CMP &71 \ REACHED LIMIT ?
  560BNE HOLD \ BRANCH IF NOT
  570.FIN LDA #&40
  580STA &FE6E \ DISABLE T1 INTERRUPT
  590STA &FE6D \ CLEAR ANY INTERRUPTS
  600CLI \ ENABLE SYSTEM INTERRUPTS
  610LDA #&80
  620STA BA \ LEAVE AT DC LEVEL ZERO
  630RTS
  640.U% \ PLAY A SAMPLE
  650JSR SETUP
  660LDA #&80
  670STA BA \ SET DC LEVEL
  680.PAUSE
  690LDA &72 \ TRANSFER START ADDRESS
  700STA &70
  710LDA &73
  720STA &71
  730.HOUT
  740LDA &FE6D \ GET INTERRUPT FLAG
  750BPL HOUT \ LOOP UNTIL TIME OUT
  760STA &FE6D \ CLEAR INTERRUPT
  770LDA (&70),Y \ GET A SAMPLE
  780STA BA \ OUTPUT IT
  790INY
  800BNE HOUT \ GET ANOTHER
  810INC &71 \ INCREASE MS POINTER
  820LDA &80
  830CMP &71 \ REACHED LIMIT ?
  840BNE HOUT \ BRANCH IF NOT
  850JMP FIN
  860\DISPLAY SAMPLES
  870.L% LDX #0
  880STX &87
  890STX &80
  900.LOOP LDY &80
  910LDA (&70),Y  \GET VALUE TO PLOT
  920ROR A \ SCALE IT
  930ROR A
  940ROR A
  950ROR A
  960AND #&F
  970CLC
  980ADC &74 \ POSITION IT
  990TAY
 1000LDA LOOK%,Y  \LOOK UP LSB OF FIRST COLOUM
 1010CLC
 1020ADC &87     \ADD X VALUE
 1030STA &84     \STORE MSB OF PLOT ADDRESS
 1040LDA LOOK%+&100,Y  \LOOK UP MSB OF FIRST COLOUM
 1050ADC #0      \ADD X VALUE
 1060STA &85   \STORE MSB OF PLOT ADDRESS
 1070LDX #0
 1080\PLOT OF POINT ON THE SCREEN
 1090LDA (&84,X)   \GET DISPLAY BYTE
 1100ORA &86       \SET APPROPRIATE BIT
 1110STA (&84,X)   \WRITE TO SCREEN
 1120\MOVE POINTERS TO NEXT X POSITION
 1130INC &80  \X POINTER
 1140ROR &86  \PIXEL MASK
 1150BCC LOOP
 1160LDA #&80      \RESTORE MASK BIT
 1170STA &86
 1180LDA #7   \ADD 8 TO X VALUE
 1190ADC &87 \IT IS 8 AS CARRY IS SET
 1200STA &87
 1210BNE LOOP  \LOOP IF NOT FINISHED ALL POINTS
 1220RTS        \FINISH WHEN SPACE PRESSED
 1230.J% \ MERGE TO SOUND SAMPLES
 1240LDY #0
 1250.LOOP
 1260LDA (&70),Y \ GET SAMPLE OF ONE SOUND
 1270CLC
 1280ROR A
 1290STA &74 \ TEMP STORE
 1300LDA (&72),Y \ GET SAMPLE OF OTHER SOUND
 1310CLC
 1320ROR A
 1330ADC &74 \ ADD THE TWO
 1340STA (&70),Y \ PUT IT BACK
 1350INY
 1360BNE LOOP \ DO NEXT SAMPLE
 1370INC &71 \ MOVE ON MOST SIG BITS
 1380INC &73 \ OF POINTERS
 1390LDA #&50
 1400CMP &71 \ SEE IF WE HAVE DONE ALL
 1410BNE LOOP \ BRANCH IF NOT
 1420RTS
 1421.sin \ Sample In
 1422LDX #10:LDA #0
 1423STA &FE60
 1424.SLOOP
 1425LDA &FE60
 1426LSR A:ROL &7D
 1427LDA #2:STA &FE60
 1428LDA #0:STA &FE60
 1429DEX : BNE SLOOP
 1430LDA #6:STA &FE60
 1431LDA &7D
 1432RTS
 1433]
 1440NEXT
 1450ENDPROC
 1460DEF PROC_INSTRUCTIONS
 1470CLS
 1480PRINT
 1490PRINT"BEEB BODY BUILDING COURSE"
 1500PRINT"SOUND SAMPLE MANAPULATOR"
 1510PRINT"MARCH 1985"
 1520PRINT"By Mike Cook"
 1530PRINT
 1540PRINT"Options are:-"
 1550PRINT"S  - Sample input"
 1560PRINT"sp - Play back sample"
 1570PRINT"8  - Play back 8K of sample"
 1580PRINT"R  - Rate of digitising"
 1590PRINT"P  - Plot the waveform"
 1600PRINT"C  - Clear a section of waveform"
 1610PRINT"F  - Fraction of waveform section"
 1620PRINT"M  - Mark a waveform section"
 1630PRINT"V  - Varie between pointer and mark"
 1640PRINT"L  - Load in a waveform"
 1650PRINT"D  - Dump out a waveform"
 1660PRINT"J  - Join this waveform to a stored one"
 1670PRINT"T  - Tune playd with sample"
 1680PRINT"K  - Keyboard playing of sample"
 1690PRINT
 1700PRINT"Use cursor keys to move pointer"
 1710PRINT
 1720PRINT"Press any key to load the main file"
 1730A$=GET$
 1740ENDPROC
 1750DEF PROC_INT2
 1760?&78=8
 1770FOR A%=0 TO 2 STEP 2
 1780P%=&C00
 1790[
 1800OPT A%
 1810.Q% \ SYNTHESISE A NOTE
 1820LDX &78 \ SET UP NUMBER OF TABLES TO USE
 1830LDA &79 \ SET UP ADDRESS OF
 1840STA &72 \ START OF WAVEFORM TABLES
 1850LDA &7A
 1860STA &73
 1870SEI \ DISABLE INTERRUPTS FROM THE SYSTEM
 1880LDA #&E0 \ ENABLE THE TWO TIMERS
 1890STA &FE6E
 1900LDA #&70 \ INITIALISE T1
 1910STA &FE64 \ LOW ORDER COUNT
 1920STA &FE66 \ LOW ORDER LATCH
 1930LDA #0
 1940STA &FE67 \ HIGH ORDER LATCH
 1950STA &FE65 \ START T1 RUNNING
 1960.ST2 \ START T2
 1970LDA #&FF
 1980STA &FE68
 1990LDA &76 \ VALUE FROM MEMORY
 2000STA &FE69
 2010.HOLD1 \ LOOP UNTIL T1 TIMEOUT
 2020LDA #&40
 2030.HOLD2 BIT &FE6D \ SEE IF T1 IS READY
 2040BEQ HOLD2
 2050STA &FE6D \CLEAR INTERRUPT FLAG
 2060\ MOVE ON THE ENTRY POINTER
 2070CLC
 2080LDA &74 \ INCREMENT VALUE
 2090ADC &70
 2100STA &70
 2110LDA &75
 2120ADC &71
 2130STA &71
 2140LDY &71 \ NUMBER OF ENTRY TO GET
 2150LDA (&72),Y \ GET ENTRY IN TABLE GIVEN BY &72,&73
 2160STA BA \ OUTPUT IT TO D/A
 2170BCC HOLD1
 2180LDA #&20 \ LOOK FOR T2 TIMEOUT
 2190BIT &FE6D
 2200BEQ HOLD1 \ NEXT ENTRY IF NOT TIMED OUT
 2210STA &FE6D \ RESET INTERRUPT FLAG
 2220INC &73 \ MOVE TABLE ONTO THE NEXT ONE
 2230DEX \ TABLES TO GO VALUE
 2240BNE ST2 \ BACK TO START T2 AGAIN
 2250LDA #&60 \ DISABLE THE TWO TIMERS
 2260STA &FE6E
 2270LDA #128 \ SET OUTPUT TO MID POINT
 2280STA BA
 2290CLI \ ENABLE SYSTEM INTERRUPTS
 2300RTS
 2310]
 2320NEXT
 2330?&79=&00
 2340?&7A=&30
 2350ENDPROC

�1
 �"BEEB BODY BUILDING COURSE"
�"SOUND SAMPLER"
(�"MACHINE CODE INITILISER"
2�"FOR SOUND MANAPULATOR"
<�"By Mike Cook"
F�
P�=&2E00
ZLOOK%=&2E00
d	�_INT
n
�_INT2
x�_INSTRUCTIONS
��"MapB"
�� �_INT
�BA=&FE61
�?&86=&80:?&80=00:?&81=00
�M%=LOOK%
�� A%=0 � 31
�� B%=0 � 7
�T%=A%*&140+B%+&5800
�?M%=T% � 256
�M%?&100=T% � 256
�M%=M%+1
�:�
� PASS=0 � 2 � 2
P%=&A00
"[
,OPT PASS
6.SETUP \ INITILISE
@SEI \ DISABLE �ERRUPTS
JLDA #6:STA &FE62
TLDA #&40
^
LDY #0
hSTA &FE6B \ ENABLE TIMER 1
rLDA #&C0
|STA &FE6E \ ENABLE �ERRUPT
�
LDA #0
�STA &FE65 \ START IT �
�RTS
�.G% \ � SAMPLE �O MEMORY
�
JSR SETUP
�	.HOLD
�LDA &FE6D \ � �ERRUPT FLAG
�BPL HOLD \ LOOP � � OUT
�STA &FE6D \ � �ERRUPT
�JSR sin \ � SAMPLE
�STA (&70),Y
�INY
BNE HOLD \ � ANOTHER
!INC &71 \ INCREASE MS POINTER
LDA #&70
&CMP &71 \ REACHED LIMIT ?
0BNE HOLD \ BRANCH � �
:.FIN LDA #&40
D"STA &FE6E \ DISABLE T1 �ERRUPT
NSTA &FE6D \ � ANY �ERRUPTS
X CLI \ ENABLE SYSTEM �ERRUPTS
bLDA #&80
l#STA BA \ LEAVE AT DC LEVEL ZERO
vRTS
�.U% \ PLAY A SAMPLE
�
JSR SETUP
�LDA #&80
�STA BA \ SET DC LEVEL
�
.PAUSE
�$LDA &72 \ TRANSFER START ADDRESS
�STA &70
�LDA &73
�STA &71
�	.HOUT
�LDA &FE6D \ � �ERRUPT FLAG
�BPL HOUT \ LOOP � � OUT
�STA &FE6D \ � �ERRUPT
LDA (&70),Y \ � A SAMPLE
STA BA \ OUTPUT IT
INY
 BNE HOUT \ � ANOTHER
*!INC &71 \ INCREASE MS POINTER
4LDA &80
>CMP &71 \ REACHED LIMIT ?
HBNE HOUT \ BRANCH � �
RJMP FIN
\\DISPLAY SAMPLES
f.L% LDX #0
pSTX &87
zSTX &80
�.LOOP LDY &80
�LDA (&70),Y  \� �UE � �
�ROR A \ SCALE IT
�	ROR A
�	ROR A
�	ROR A
�	� #&F
�CLC
�ADC &74 \ POSITION IT
�TAY
�-LDA LOOK%,Y  \LOOK UP LSB OF FIRST COLOUM
�CLC
�ADC &87     \ADD X �UE
'STA &84     \STORE MSB OF � ADDRESS
2LDA LOOK%+&100,Y  \LOOK UP MSB OF FIRST COLOUM
ADC #0      \ADD X �UE
$%STA &85   \STORE MSB OF � ADDRESS
.
LDX #0
8\� � POINT � THE SCREEN
B!LDA (&84,X)   \� DISPLAY BYTE
L%�A &86       \SET APPROPRIATE BIT
V!STA (&84,X)   \WRITE � SCREEN
`\� POINTERS � � X POSITION
jINC &80  \X POINTER
tROR &86  \PIXEL MASK
~BCC LOOP
�LDA #&80      \� MASK BIT
�STA &86
�LDA #7   \ADD 8 � X �UE
�$ADC &87 \IT IS 8 AS CARRY IS SET
�STA &87
�+BNE LOOP  \LOOP � � FINISHED ALL POINTS
�)RTS        \FINISH WHEN SPACE PRESSED
�.J% \ MERGE � � SAMPLES
�
LDY #0
�	.LOOP
�"LDA (&70),Y \ � SAMPLE OF �E �
�CLC
	ROR A

STA &74 \ TEMP STORE
%LDA (&72),Y \ � SAMPLE OF OTHER �
CLC
(	ROR A
2ADC &74 \ ADD THE TWO
<STA (&70),Y \ PUT IT BACK
FINY
PBNE LOOP \ DO � SAMPLE
ZINC &71 \ � � MOST SIG BITS
dINC &73 \ OF POINTERS
nLDA #&50
x$CMP &71 \ SEE � WE HAVE DONE ALL
�BNE LOOP \ BRANCH � �
�RTS
�.sin \ Sample In
�LDX #10:LDA #0
�
STA &FE60
�
.SLOOP
�
LDA &FE60
�LSR A:ROL &7D
�LDA #2:STA &FE60
�LDA #0:STA &FE60
�DEX : BNE SLOOP
�LDA #6:STA &FE60
�LDA &7D
�RTS
�]
��
��
�� �_INSTRUCTIONS
��
��
� �"BEEB BODY BUILDING COURSE"
��"SOUND SAMPLE MANAPULATOR"
��"MARCH 1985"
��"By Mike Cook"
��
�"Options are:-"
�"S  - Sample input"
�"sp - Play back sample"
""�"8  - Play back 8K of sample"
,�"R  - Rate of digitising"
6�"P  - Plot the waveform"
@'�"C  - Clear a section of waveform"
J(�"F  - Fraction of waveform section"
T#�"M  - Mark a waveform section"
^*�"V  - Varie between pointer and mark"
h�"L  - Load in a waveform"
r�"D  - Dump out a waveform"
|.�"J  - Join this waveform to a stored one"
�"�"T  - Tune playd with sample"
�&�"K  - Keyboard playing of sample"
��
�&�"Use cursor keys to move pointer"
��
�*�"Press any key to load the main file"
�A$=�
��
�� �_INT2
�
?&78=8
�� A%=0 � 2 � 2
�P%=&C00
�[

OPT A%
.Q% \ SYNTHESISE A �E
+LDX &78 \ SET UP NUMBER OF TABLES � USE
&LDA &79 \ SET UP ADDRESS OF
0&STA &72 \ START OF WAVEFORM TABLES
:LDA &7A
DSTA &73
N*SEI \ DISABLE �ERRUPTS FROM THE SYSTEM
X$LDA #&E0 \ ENABLE THE TWO TIMERS
b
STA &FE6E
lLDA #&70 \ INITIALISE T1
vSTA &FE64 \ LOW �DER �
�STA &FE66 \ LOW �DER LATCH
�
LDA #0
�STA &FE67 \ HIGH �DER LATCH
� STA &FE65 \ START T1 RUNNING
�.ST2 \ START T2
�LDA #&FF
�
STA &FE68
�LDA &76 \ �UE FROM MEMORY
�
STA &FE69
�.HOLD1 \ LOOP � T1 TIMEOUT
�LDA #&40
�%.HOLD2 BIT &FE6D \ SEE � T1 IS �Y
�
BEQ HOLD2
STA &FE6D \� �ERRUPT FLAG
\ � � THE ENTRY POINTER
CLC
 LDA &74 \ INCREMENT �UE
*ADC &70
4STA &70
>LDA &75
HADC &71
RSTA &71
\!LDY &71 \ NUMBER OF ENTRY � �
f3LDA (&72),Y \ � ENTRY IN TABLE GIVEN BY &72,&73
pSTA BA \ OUTPUT IT � D/A
z
BCC HOLD1
� LDA #&20 \ LOOK � T2 TIMEOUT
�
BIT &FE6D
�%BEQ HOLD1 \ � ENTRY � � TIMED OUT
�"STA &FE6D \ RESET �ERRUPT FLAG
�!INC &73 \ � TABLE � THE � �E
�DEX \ TABLES � GO �UE
�#BNE ST2 \ BACK � START T2 AGAIN
�%LDA #&60 \ DISABLE THE TWO TIMERS
�
STA &FE6E
�%LDA #128 \ SET OUTPUT � MID POINT
�
STA BA
� CLI \ ENABLE SYSTEM �ERRUPTS
�RTS
	]
	�
	?&79=&00
	$?&7A=&30
	.�
�
00000000  0d 00 0a 06 eb 31 0d 00  14 20 f1 22 42 45 45 42  |.....1... ."BEEB|
00000010  20 42 4f 44 59 20 42 55  49 4c 44 49 4e 47 20 43  | BODY BUILDING C|
00000020  4f 55 52 53 45 22 0d 00  1e 14 f1 22 53 4f 55 4e  |OURSE"....."SOUN|
00000030  44 20 53 41 4d 50 4c 45  52 22 0d 00 28 1e f1 22  |D SAMPLER"..(.."|
00000040  4d 41 43 48 49 4e 45 20  43 4f 44 45 20 49 4e 49  |MACHINE CODE INI|
00000050  54 49 4c 49 53 45 52 22  0d 00 32 1c f1 22 46 4f  |TILISER"..2.."FO|
00000060  52 20 53 4f 55 4e 44 20  4d 41 4e 41 50 55 4c 41  |R SOUND MANAPULA|
00000070  54 4f 52 22 0d 00 3c 13  f1 22 42 79 20 4d 69 6b  |TOR"..<.."By Mik|
00000080  65 20 43 6f 6f 6b 22 0d  00 46 05 f1 0d 00 50 0b  |e Cook"..F....P.|
00000090  d3 3d 26 32 45 30 30 0d  00 5a 0f 4c 4f 4f 4b 25  |.=&2E00..Z.LOOK%|
000000a0  3d 26 32 45 30 30 0d 00  64 09 f2 5f 49 4e 54 0d  |=&2E00..d.._INT.|
000000b0  00 6e 0a f2 5f 49 4e 54  32 0d 00 78 12 f2 5f 49  |.n.._INT2..x.._I|
000000c0  4e 53 54 52 55 43 54 49  4f 4e 53 0d 00 82 0b d7  |NSTRUCTIONS.....|
000000d0  22 4d 61 70 42 22 0d 00  8c 0b dd 20 f2 5f 49 4e  |"MapB"..... ._IN|
000000e0  54 0d 00 a0 0c 42 41 3d  26 46 45 36 31 0d 00 b4  |T....BA=&FE61...|
000000f0  1c 3f 26 38 36 3d 26 38  30 3a 3f 26 38 30 3d 30  |.?&86=&80:?&80=0|
00000100  30 3a 3f 26 38 31 3d 30  30 0d 00 be 0c 4d 25 3d  |0:?&81=00....M%=|
00000110  4c 4f 4f 4b 25 0d 00 c8  0f e3 20 41 25 3d 30 20  |LOOK%..... A%=0 |
00000120  b8 20 33 31 0d 00 d2 0e  e3 20 42 25 3d 30 20 b8  |. 31..... B%=0 .|
00000130  20 37 0d 00 dc 17 54 25  3d 41 25 2a 26 31 34 30  | 7....T%=A%*&140|
00000140  2b 42 25 2b 26 35 38 30  30 0d 00 e6 10 3f 4d 25  |+B%+&5800....?M%|
00000150  3d 54 25 20 83 20 32 35  36 0d 00 f0 14 4d 25 3f  |=T% . 256....M%?|
00000160  26 31 30 30 3d 54 25 20  81 20 32 35 36 0d 00 fa  |&100=T% . 256...|
00000170  0b 4d 25 3d 4d 25 2b 31  0d 01 04 07 ed 3a ed 0d  |.M%=M%+1.....:..|
00000180  01 0e 14 e3 20 50 41 53  53 3d 30 20 b8 20 32 20  |.... PASS=0 . 2 |
00000190  88 20 32 0d 01 18 0b 50  25 3d 26 41 30 30 0d 01  |. 2....P%=&A00..|
000001a0  22 05 5b 0d 01 2c 0c 4f  50 54 20 50 41 53 53 0d  |".[..,.OPT PASS.|
000001b0  01 36 16 2e 53 45 54 55  50 20 5c 20 49 4e 49 54  |.6..SETUP \ INIT|
000001c0  49 4c 49 53 45 0d 01 40  1a 53 45 49 20 5c 20 44  |ILISE..@.SEI \ D|
000001d0  49 53 41 42 4c 45 20 a8  45 52 52 55 50 54 53 0d  |ISABLE .ERRUPTS.|
000001e0  01 4a 14 4c 44 41 20 23  36 3a 53 54 41 20 26 46  |.J.LDA #6:STA &F|
000001f0  45 36 32 0d 01 54 0c 4c  44 41 20 23 26 34 30 0d  |E62..T.LDA #&40.|
00000200  01 5e 0a 4c 44 59 20 23  30 0d 01 68 1e 53 54 41  |.^.LDY #0..h.STA|
00000210  20 26 46 45 36 42 20 5c  20 45 4e 41 42 4c 45 20  | &FE6B \ ENABLE |
00000220  54 49 4d 45 52 20 31 0d  01 72 0c 4c 44 41 20 23  |TIMER 1..r.LDA #|
00000230  26 43 30 0d 01 7c 1e 53  54 41 20 26 46 45 36 45  |&C0..|.STA &FE6E|
00000240  20 5c 20 45 4e 41 42 4c  45 20 a8 45 52 52 55 50  | \ ENABLE .ERRUP|
00000250  54 0d 01 86 0a 4c 44 41  20 23 30 0d 01 90 1a 53  |T....LDA #0....S|
00000260  54 41 20 26 46 45 36 35  20 5c 20 53 54 41 52 54  |TA &FE65 \ START|
00000270  20 49 54 20 87 0d 01 9a  07 52 54 53 0d 01 a4 1c  | IT .....RTS....|
00000280  2e 47 25 20 5c 20 a5 20  53 41 4d 50 4c 45 20 a8  |.G% \ . SAMPLE .|
00000290  4f 20 4d 45 4d 4f 52 59  0d 01 ae 0d 4a 53 52 20  |O MEMORY....JSR |
000002a0  53 45 54 55 50 0d 01 b8  09 2e 48 4f 4c 44 0d 01  |SETUP.....HOLD..|
000002b0  c2 1e 4c 44 41 20 26 46  45 36 44 20 5c 20 a5 20  |..LDA &FE6D \ . |
000002c0  a8 45 52 52 55 50 54 20  46 4c 41 47 0d 01 cc 1b  |.ERRUPT FLAG....|
000002d0  42 50 4c 20 48 4f 4c 44  20 5c 20 4c 4f 4f 50 20  |BPL HOLD \ LOOP |
000002e0  fd 20 91 20 4f 55 54 0d  01 d6 19 53 54 41 20 26  |. . OUT....STA &|
000002f0  46 45 36 44 20 5c 20 d8  20 a8 45 52 52 55 50 54  |FE6D \ . .ERRUPT|
00000300  0d 01 e0 16 4a 53 52 20  73 69 6e 20 5c 20 a5 20  |....JSR sin \ . |
00000310  53 41 4d 50 4c 45 0d 01  f4 0f 53 54 41 20 28 26  |SAMPLE....STA (&|
00000320  37 30 29 2c 59 0d 01 fe  07 49 4e 59 0d 02 08 18  |70),Y....INY....|
00000330  42 4e 45 20 48 4f 4c 44  20 5c 20 a5 20 41 4e 4f  |BNE HOLD \ . ANO|
00000340  54 48 45 52 0d 02 12 21  49 4e 43 20 26 37 31 20  |THER...!INC &71 |
00000350  5c 20 49 4e 43 52 45 41  53 45 20 4d 53 20 50 4f  |\ INCREASE MS PO|
00000360  49 4e 54 45 52 0d 02 1c  0c 4c 44 41 20 23 26 37  |INTER....LDA #&7|
00000370  30 0d 02 26 1d 43 4d 50  20 26 37 31 20 5c 20 52  |0..&.CMP &71 \ R|
00000380  45 41 43 48 45 44 20 4c  49 4d 49 54 20 3f 0d 02  |EACHED LIMIT ?..|
00000390  30 19 42 4e 45 20 48 4f  4c 44 20 5c 20 42 52 41  |0.BNE HOLD \ BRA|
000003a0  4e 43 48 20 e7 20 ac 0d  02 3a 11 2e 46 49 4e 20  |NCH . ...:..FIN |
000003b0  4c 44 41 20 23 26 34 30  0d 02 44 22 53 54 41 20  |LDA #&40..D"STA |
000003c0  26 46 45 36 45 20 5c 20  44 49 53 41 42 4c 45 20  |&FE6E \ DISABLE |
000003d0  54 31 20 a8 45 52 52 55  50 54 0d 02 4e 1e 53 54  |T1 .ERRUPT..N.ST|
000003e0  41 20 26 46 45 36 44 20  5c 20 d8 20 41 4e 59 20  |A &FE6D \ . ANY |
000003f0  a8 45 52 52 55 50 54 53  0d 02 58 20 43 4c 49 20  |.ERRUPTS..X CLI |
00000400  5c 20 45 4e 41 42 4c 45  20 53 59 53 54 45 4d 20  |\ ENABLE SYSTEM |
00000410  a8 45 52 52 55 50 54 53  0d 02 62 0c 4c 44 41 20  |.ERRUPTS..b.LDA |
00000420  23 26 38 30 0d 02 6c 23  53 54 41 20 42 41 20 5c  |#&80..l#STA BA \|
00000430  20 4c 45 41 56 45 20 41  54 20 44 43 20 4c 45 56  | LEAVE AT DC LEV|
00000440  45 4c 20 5a 45 52 4f 0d  02 76 07 52 54 53 0d 02  |EL ZERO..v.RTS..|
00000450  80 17 2e 55 25 20 5c 20  50 4c 41 59 20 41 20 53  |...U% \ PLAY A S|
00000460  41 4d 50 4c 45 0d 02 8a  0d 4a 53 52 20 53 45 54  |AMPLE....JSR SET|
00000470  55 50 0d 02 94 0c 4c 44  41 20 23 26 38 30 0d 02  |UP....LDA #&80..|
00000480  9e 19 53 54 41 20 42 41  20 5c 20 53 45 54 20 44  |..STA BA \ SET D|
00000490  43 20 4c 45 56 45 4c 0d  02 a8 0a 2e 50 41 55 53  |C LEVEL.....PAUS|
000004a0  45 0d 02 b2 24 4c 44 41  20 26 37 32 20 5c 20 54  |E...$LDA &72 \ T|
000004b0  52 41 4e 53 46 45 52 20  53 54 41 52 54 20 41 44  |RANSFER START AD|
000004c0  44 52 45 53 53 0d 02 bc  0b 53 54 41 20 26 37 30  |DRESS....STA &70|
000004d0  0d 02 c6 0b 4c 44 41 20  26 37 33 0d 02 d0 0b 53  |....LDA &73....S|
000004e0  54 41 20 26 37 31 0d 02  da 09 2e 48 4f 55 54 0d  |TA &71.....HOUT.|
000004f0  02 e4 1e 4c 44 41 20 26  46 45 36 44 20 5c 20 a5  |...LDA &FE6D \ .|
00000500  20 a8 45 52 52 55 50 54  20 46 4c 41 47 0d 02 ee  | .ERRUPT FLAG...|
00000510  1b 42 50 4c 20 48 4f 55  54 20 5c 20 4c 4f 4f 50  |.BPL HOUT \ LOOP|
00000520  20 fd 20 91 20 4f 55 54  0d 02 f8 19 53 54 41 20  | . . OUT....STA |
00000530  26 46 45 36 44 20 5c 20  d8 20 a8 45 52 52 55 50  |&FE6D \ . .ERRUP|
00000540  54 0d 03 02 1c 4c 44 41  20 28 26 37 30 29 2c 59  |T....LDA (&70),Y|
00000550  20 5c 20 a5 20 41 20 53  41 4d 50 4c 45 0d 03 0c  | \ . A SAMPLE...|
00000560  16 53 54 41 20 42 41 20  5c 20 4f 55 54 50 55 54  |.STA BA \ OUTPUT|
00000570  20 49 54 0d 03 16 07 49  4e 59 0d 03 20 18 42 4e  | IT....INY.. .BN|
00000580  45 20 48 4f 55 54 20 5c  20 a5 20 41 4e 4f 54 48  |E HOUT \ . ANOTH|
00000590  45 52 0d 03 2a 21 49 4e  43 20 26 37 31 20 5c 20  |ER..*!INC &71 \ |
000005a0  49 4e 43 52 45 41 53 45  20 4d 53 20 50 4f 49 4e  |INCREASE MS POIN|
000005b0  54 45 52 0d 03 34 0b 4c  44 41 20 26 38 30 0d 03  |TER..4.LDA &80..|
000005c0  3e 1d 43 4d 50 20 26 37  31 20 5c 20 52 45 41 43  |>.CMP &71 \ REAC|
000005d0  48 45 44 20 4c 49 4d 49  54 20 3f 0d 03 48 19 42  |HED LIMIT ?..H.B|
000005e0  4e 45 20 48 4f 55 54 20  5c 20 42 52 41 4e 43 48  |NE HOUT \ BRANCH|
000005f0  20 e7 20 ac 0d 03 52 0b  4a 4d 50 20 46 49 4e 0d  | . ...R.JMP FIN.|
00000600  03 5c 14 5c 44 49 53 50  4c 41 59 20 53 41 4d 50  |.\.\DISPLAY SAMP|
00000610  4c 45 53 0d 03 66 0e 2e  4c 25 20 4c 44 58 20 23  |LES..f..L% LDX #|
00000620  30 0d 03 70 0b 53 54 58  20 26 38 37 0d 03 7a 0b  |0..p.STX &87..z.|
00000630  53 54 58 20 26 38 30 0d  03 84 11 2e 4c 4f 4f 50  |STX &80.....LOOP|
00000640  20 4c 44 59 20 26 38 30  0d 03 8e 1b 4c 44 41 20  | LDY &80....LDA |
00000650  28 26 37 30 29 2c 59 20  20 5c a5 20 bb 55 45 20  |(&70),Y  \. .UE |
00000660  b8 20 f0 0d 03 98 14 52  4f 52 20 41 20 5c 20 53  |. .....ROR A \ S|
00000670  43 41 4c 45 20 49 54 0d  03 a2 09 52 4f 52 20 41  |CALE IT....ROR A|
00000680  0d 03 ac 09 52 4f 52 20  41 0d 03 b6 09 52 4f 52  |....ROR A....ROR|
00000690  20 41 0d 03 c0 09 80 20  23 26 46 0d 03 ca 07 43  | A..... #&F....C|
000006a0  4c 43 0d 03 d4 19 41 44  43 20 26 37 34 20 5c 20  |LC....ADC &74 \ |
000006b0  50 4f 53 49 54 49 4f 4e  20 49 54 0d 03 de 07 54  |POSITION IT....T|
000006c0  41 59 0d 03 e8 2d 4c 44  41 20 4c 4f 4f 4b 25 2c  |AY...-LDA LOOK%,|
000006d0  59 20 20 5c 4c 4f 4f 4b  20 55 50 20 4c 53 42 20  |Y  \LOOK UP LSB |
000006e0  4f 46 20 46 49 52 53 54  20 43 4f 4c 4f 55 4d 0d  |OF FIRST COLOUM.|
000006f0  03 f2 07 43 4c 43 0d 03  fc 1a 41 44 43 20 26 38  |...CLC....ADC &8|
00000700  37 20 20 20 20 20 5c 41  44 44 20 58 20 bb 55 45  |7     \ADD X .UE|
00000710  0d 04 06 27 53 54 41 20  26 38 34 20 20 20 20 20  |...'STA &84     |
00000720  5c 53 54 4f 52 45 20 4d  53 42 20 4f 46 20 f0 20  |\STORE MSB OF . |
00000730  41 44 44 52 45 53 53 0d  04 10 32 4c 44 41 20 4c  |ADDRESS...2LDA L|
00000740  4f 4f 4b 25 2b 26 31 30  30 2c 59 20 20 5c 4c 4f  |OOK%+&100,Y  \LO|
00000750  4f 4b 20 55 50 20 4d 53  42 20 4f 46 20 46 49 52  |OK UP MSB OF FIR|
00000760  53 54 20 43 4f 4c 4f 55  4d 0d 04 1a 1a 41 44 43  |ST COLOUM....ADC|
00000770  20 23 30 20 20 20 20 20  20 5c 41 44 44 20 58 20  | #0      \ADD X |
00000780  bb 55 45 0d 04 24 25 53  54 41 20 26 38 35 20 20  |.UE..$%STA &85  |
00000790  20 5c 53 54 4f 52 45 20  4d 53 42 20 4f 46 20 f0  | \STORE MSB OF .|
000007a0  20 41 44 44 52 45 53 53  0d 04 2e 0a 4c 44 58 20  | ADDRESS....LDX |
000007b0  23 30 0d 04 38 1b 5c f0  20 ca 20 50 4f 49 4e 54  |#0..8.\. . POINT|
000007c0  20 ee 20 54 48 45 20 53  43 52 45 45 4e 0d 04 42  | . THE SCREEN..B|
000007d0  21 4c 44 41 20 28 26 38  34 2c 58 29 20 20 20 5c  |!LDA (&84,X)   \|
000007e0  a5 20 44 49 53 50 4c 41  59 20 42 59 54 45 0d 04  |. DISPLAY BYTE..|
000007f0  4c 25 84 41 20 26 38 36  20 20 20 20 20 20 20 5c  |L%.A &86       \|
00000800  53 45 54 20 41 50 50 52  4f 50 52 49 41 54 45 20  |SET APPROPRIATE |
00000810  42 49 54 0d 04 56 21 53  54 41 20 28 26 38 34 2c  |BIT..V!STA (&84,|
00000820  58 29 20 20 20 5c 57 52  49 54 45 20 b8 20 53 43  |X)   \WRITE . SC|
00000830  52 45 45 4e 0d 04 60 1e  5c ec 20 50 4f 49 4e 54  |REEN..`.\. POINT|
00000840  45 52 53 20 b8 20 ed 20  58 20 50 4f 53 49 54 49  |ERS . . X POSITI|
00000850  4f 4e 0d 04 6a 17 49 4e  43 20 26 38 30 20 20 5c  |ON..j.INC &80  \|
00000860  58 20 50 4f 49 4e 54 45  52 0d 04 74 18 52 4f 52  |X POINTER..t.ROR|
00000870  20 26 38 36 20 20 5c 50  49 58 45 4c 20 4d 41 53  | &86  \PIXEL MAS|
00000880  4b 0d 04 7e 0c 42 43 43  20 4c 4f 4f 50 0d 04 88  |K..~.BCC LOOP...|
00000890  1d 4c 44 41 20 23 26 38  30 20 20 20 20 20 20 5c  |.LDA #&80      \|
000008a0  f7 20 4d 41 53 4b 20 42  49 54 0d 04 92 0b 53 54  |. MASK BIT....ST|
000008b0  41 20 26 38 36 0d 04 9c  1b 4c 44 41 20 23 37 20  |A &86....LDA #7 |
000008c0  20 20 5c 41 44 44 20 38  20 b8 20 58 20 bb 55 45  |  \ADD 8 . X .UE|
000008d0  0d 04 a6 24 41 44 43 20  26 38 37 20 5c 49 54 20  |...$ADC &87 \IT |
000008e0  49 53 20 38 20 41 53 20  43 41 52 52 59 20 49 53  |IS 8 AS CARRY IS|
000008f0  20 53 45 54 0d 04 b0 0b  53 54 41 20 26 38 37 0d  | SET....STA &87.|
00000900  04 ba 2b 42 4e 45 20 4c  4f 4f 50 20 20 5c 4c 4f  |..+BNE LOOP  \LO|
00000910  4f 50 20 e7 20 ac 20 46  49 4e 49 53 48 45 44 20  |OP . . FINISHED |
00000920  41 4c 4c 20 50 4f 49 4e  54 53 0d 04 c4 29 52 54  |ALL POINTS...)RT|
00000930  53 20 20 20 20 20 20 20  20 5c 46 49 4e 49 53 48  |S        \FINISH|
00000940  20 57 48 45 4e 20 53 50  41 43 45 20 50 52 45 53  | WHEN SPACE PRES|
00000950  53 45 44 0d 04 ce 1b 2e  4a 25 20 5c 20 4d 45 52  |SED.....J% \ MER|
00000960  47 45 20 b8 20 d4 20 53  41 4d 50 4c 45 53 0d 04  |GE . . SAMPLES..|
00000970  d8 0a 4c 44 59 20 23 30  0d 04 e2 09 2e 4c 4f 4f  |..LDY #0.....LOO|
00000980  50 0d 04 ec 22 4c 44 41  20 28 26 37 30 29 2c 59  |P..."LDA (&70),Y|
00000990  20 5c 20 a5 20 53 41 4d  50 4c 45 20 4f 46 20 ee  | \ . SAMPLE OF .|
000009a0  45 20 d4 0d 04 f6 07 43  4c 43 0d 05 00 09 52 4f  |E .....CLC....RO|
000009b0  52 20 41 0d 05 0a 18 53  54 41 20 26 37 34 20 5c  |R A....STA &74 \|
000009c0  20 54 45 4d 50 20 53 54  4f 52 45 0d 05 14 25 4c  | TEMP STORE...%L|
000009d0  44 41 20 28 26 37 32 29  2c 59 20 5c 20 a5 20 53  |DA (&72),Y \ . S|
000009e0  41 4d 50 4c 45 20 4f 46  20 4f 54 48 45 52 20 d4  |AMPLE OF OTHER .|
000009f0  0d 05 1e 07 43 4c 43 0d  05 28 09 52 4f 52 20 41  |....CLC..(.ROR A|
00000a00  0d 05 32 19 41 44 43 20  26 37 34 20 5c 20 41 44  |..2.ADC &74 \ AD|
00000a10  44 20 54 48 45 20 54 57  4f 0d 05 3c 1d 53 54 41  |D THE TWO..<.STA|
00000a20  20 28 26 37 30 29 2c 59  20 5c 20 50 55 54 20 49  | (&70),Y \ PUT I|
00000a30  54 20 42 41 43 4b 0d 05  46 07 49 4e 59 0d 05 50  |T BACK..F.INY..P|
00000a40  1a 42 4e 45 20 4c 4f 4f  50 20 5c 20 44 4f 20 ed  |.BNE LOOP \ DO .|
00000a50  20 53 41 4d 50 4c 45 0d  05 5a 1f 49 4e 43 20 26  | SAMPLE..Z.INC &|
00000a60  37 31 20 5c 20 ec 20 ee  20 4d 4f 53 54 20 53 49  |71 \ . . MOST SI|
00000a70  47 20 42 49 54 53 0d 05  64 19 49 4e 43 20 26 37  |G BITS..d.INC &7|
00000a80  33 20 5c 20 4f 46 20 50  4f 49 4e 54 45 52 53 0d  |3 \ OF POINTERS.|
00000a90  05 6e 0c 4c 44 41 20 23  26 35 30 0d 05 78 24 43  |.n.LDA #&50..x$C|
00000aa0  4d 50 20 26 37 31 20 5c  20 53 45 45 20 e7 20 57  |MP &71 \ SEE . W|
00000ab0  45 20 48 41 56 45 20 44  4f 4e 45 20 41 4c 4c 0d  |E HAVE DONE ALL.|
00000ac0  05 82 19 42 4e 45 20 4c  4f 4f 50 20 5c 20 42 52  |...BNE LOOP \ BR|
00000ad0  41 4e 43 48 20 e7 20 ac  0d 05 8c 07 52 54 53 0d  |ANCH . .....RTS.|
00000ae0  05 8d 14 2e 73 69 6e 20  5c 20 53 61 6d 70 6c 65  |....sin \ Sample|
00000af0  20 49 6e 0d 05 8e 12 4c  44 58 20 23 31 30 3a 4c  | In....LDX #10:L|
00000b00  44 41 20 23 30 0d 05 8f  0d 53 54 41 20 26 46 45  |DA #0....STA &FE|
00000b10  36 30 0d 05 90 0a 2e 53  4c 4f 4f 50 0d 05 91 0d  |60.....SLOOP....|
00000b20  4c 44 41 20 26 46 45 36  30 0d 05 92 11 4c 53 52  |LDA &FE60....LSR|
00000b30  20 41 3a 52 4f 4c 20 26  37 44 0d 05 93 14 4c 44  | A:ROL &7D....LD|
00000b40  41 20 23 32 3a 53 54 41  20 26 46 45 36 30 0d 05  |A #2:STA &FE60..|
00000b50  94 14 4c 44 41 20 23 30  3a 53 54 41 20 26 46 45  |..LDA #0:STA &FE|
00000b60  36 30 0d 05 95 13 44 45  58 20 3a 20 42 4e 45 20  |60....DEX : BNE |
00000b70  53 4c 4f 4f 50 0d 05 96  14 4c 44 41 20 23 36 3a  |SLOOP....LDA #6:|
00000b80  53 54 41 20 26 46 45 36  30 0d 05 97 0b 4c 44 41  |STA &FE60....LDA|
00000b90  20 26 37 44 0d 05 98 07  52 54 53 0d 05 99 05 5d  | &7D....RTS....]|
00000ba0  0d 05 a0 05 ed 0d 05 aa  05 e1 0d 05 b4 14 dd 20  |............... |
00000bb0  f2 5f 49 4e 53 54 52 55  43 54 49 4f 4e 53 0d 05  |._INSTRUCTIONS..|
00000bc0  be 05 db 0d 05 c8 05 f1  0d 05 d2 20 f1 22 42 45  |........... ."BE|
00000bd0  45 42 20 42 4f 44 59 20  42 55 49 4c 44 49 4e 47  |EB BODY BUILDING|
00000be0  20 43 4f 55 52 53 45 22  0d 05 dc 1f f1 22 53 4f  | COURSE"....."SO|
00000bf0  55 4e 44 20 53 41 4d 50  4c 45 20 4d 41 4e 41 50  |UND SAMPLE MANAP|
00000c00  55 4c 41 54 4f 52 22 0d  05 e6 11 f1 22 4d 41 52  |ULATOR"....."MAR|
00000c10  43 48 20 31 39 38 35 22  0d 05 f0 13 f1 22 42 79  |CH 1985"....."By|
00000c20  20 4d 69 6b 65 20 43 6f  6f 6b 22 0d 05 fa 05 f1  | Mike Cook".....|
00000c30  0d 06 04 14 f1 22 4f 70  74 69 6f 6e 73 20 61 72  |....."Options ar|
00000c40  65 3a 2d 22 0d 06 0e 18  f1 22 53 20 20 2d 20 53  |e:-"....."S  - S|
00000c50  61 6d 70 6c 65 20 69 6e  70 75 74 22 0d 06 18 1c  |ample input"....|
00000c60  f1 22 73 70 20 2d 20 50  6c 61 79 20 62 61 63 6b  |."sp - Play back|
00000c70  20 73 61 6d 70 6c 65 22  0d 06 22 22 f1 22 38 20  | sample"..""."8 |
00000c80  20 2d 20 50 6c 61 79 20  62 61 63 6b 20 38 4b 20  | - Play back 8K |
00000c90  6f 66 20 73 61 6d 70 6c  65 22 0d 06 2c 1e f1 22  |of sample"..,.."|
00000ca0  52 20 20 2d 20 52 61 74  65 20 6f 66 20 64 69 67  |R  - Rate of dig|
00000cb0  69 74 69 73 69 6e 67 22  0d 06 36 1d f1 22 50 20  |itising"..6.."P |
00000cc0  20 2d 20 50 6c 6f 74 20  74 68 65 20 77 61 76 65  | - Plot the wave|
00000cd0  66 6f 72 6d 22 0d 06 40  27 f1 22 43 20 20 2d 20  |form"..@'."C  - |
00000ce0  43 6c 65 61 72 20 61 20  73 65 63 74 69 6f 6e 20  |Clear a section |
00000cf0  6f 66 20 77 61 76 65 66  6f 72 6d 22 0d 06 4a 28  |of waveform"..J(|
00000d00  f1 22 46 20 20 2d 20 46  72 61 63 74 69 6f 6e 20  |."F  - Fraction |
00000d10  6f 66 20 77 61 76 65 66  6f 72 6d 20 73 65 63 74  |of waveform sect|
00000d20  69 6f 6e 22 0d 06 54 23  f1 22 4d 20 20 2d 20 4d  |ion"..T#."M  - M|
00000d30  61 72 6b 20 61 20 77 61  76 65 66 6f 72 6d 20 73  |ark a waveform s|
00000d40  65 63 74 69 6f 6e 22 0d  06 5e 2a f1 22 56 20 20  |ection"..^*."V  |
00000d50  2d 20 56 61 72 69 65 20  62 65 74 77 65 65 6e 20  |- Varie between |
00000d60  70 6f 69 6e 74 65 72 20  61 6e 64 20 6d 61 72 6b  |pointer and mark|
00000d70  22 0d 06 68 1e f1 22 4c  20 20 2d 20 4c 6f 61 64  |"..h.."L  - Load|
00000d80  20 69 6e 20 61 20 77 61  76 65 66 6f 72 6d 22 0d  | in a waveform".|
00000d90  06 72 1f f1 22 44 20 20  2d 20 44 75 6d 70 20 6f  |.r.."D  - Dump o|
00000da0  75 74 20 61 20 77 61 76  65 66 6f 72 6d 22 0d 06  |ut a waveform"..|
00000db0  7c 2e f1 22 4a 20 20 2d  20 4a 6f 69 6e 20 74 68  ||.."J  - Join th|
00000dc0  69 73 20 77 61 76 65 66  6f 72 6d 20 74 6f 20 61  |is waveform to a|
00000dd0  20 73 74 6f 72 65 64 20  6f 6e 65 22 0d 06 86 22  | stored one"..."|
00000de0  f1 22 54 20 20 2d 20 54  75 6e 65 20 70 6c 61 79  |."T  - Tune play|
00000df0  64 20 77 69 74 68 20 73  61 6d 70 6c 65 22 0d 06  |d with sample"..|
00000e00  90 26 f1 22 4b 20 20 2d  20 4b 65 79 62 6f 61 72  |.&."K  - Keyboar|
00000e10  64 20 70 6c 61 79 69 6e  67 20 6f 66 20 73 61 6d  |d playing of sam|
00000e20  70 6c 65 22 0d 06 9a 05  f1 0d 06 a4 26 f1 22 55  |ple"........&."U|
00000e30  73 65 20 63 75 72 73 6f  72 20 6b 65 79 73 20 74  |se cursor keys t|
00000e40  6f 20 6d 6f 76 65 20 70  6f 69 6e 74 65 72 22 0d  |o move pointer".|
00000e50  06 ae 05 f1 0d 06 b8 2a  f1 22 50 72 65 73 73 20  |.......*."Press |
00000e60  61 6e 79 20 6b 65 79 20  74 6f 20 6c 6f 61 64 20  |any key to load |
00000e70  74 68 65 20 6d 61 69 6e  20 66 69 6c 65 22 0d 06  |the main file"..|
00000e80  c2 08 41 24 3d be 0d 06  cc 05 e1 0d 06 d6 0c dd  |..A$=...........|
00000e90  20 f2 5f 49 4e 54 32 0d  06 e0 0a 3f 26 37 38 3d  | ._INT2....?&78=|
00000ea0  38 0d 06 ea 12 e3 20 41  25 3d 30 20 b8 20 32 20  |8..... A%=0 . 2 |
00000eb0  88 20 32 0d 06 f4 0b 50  25 3d 26 43 30 30 0d 06  |. 2....P%=&C00..|
00000ec0  fe 05 5b 0d 07 08 0a 4f  50 54 20 41 25 0d 07 12  |..[....OPT A%...|
00000ed0  19 2e 51 25 20 5c 20 53  59 4e 54 48 45 53 49 53  |..Q% \ SYNTHESIS|
00000ee0  45 20 41 20 ac 45 0d 07  1c 2b 4c 44 58 20 26 37  |E A .E...+LDX &7|
00000ef0  38 20 5c 20 53 45 54 20  55 50 20 4e 55 4d 42 45  |8 \ SET UP NUMBE|
00000f00  52 20 4f 46 20 54 41 42  4c 45 53 20 b8 20 55 53  |R OF TABLES . US|
00000f10  45 0d 07 26 1f 4c 44 41  20 26 37 39 20 5c 20 53  |E..&.LDA &79 \ S|
00000f20  45 54 20 55 50 20 41 44  44 52 45 53 53 20 4f 46  |ET UP ADDRESS OF|
00000f30  0d 07 30 26 53 54 41 20  26 37 32 20 5c 20 53 54  |..0&STA &72 \ ST|
00000f40  41 52 54 20 4f 46 20 57  41 56 45 46 4f 52 4d 20  |ART OF WAVEFORM |
00000f50  54 41 42 4c 45 53 0d 07  3a 0b 4c 44 41 20 26 37  |TABLES..:.LDA &7|
00000f60  41 0d 07 44 0b 53 54 41  20 26 37 33 0d 07 4e 2a  |A..D.STA &73..N*|
00000f70  53 45 49 20 5c 20 44 49  53 41 42 4c 45 20 a8 45  |SEI \ DISABLE .E|
00000f80  52 52 55 50 54 53 20 46  52 4f 4d 20 54 48 45 20  |RRUPTS FROM THE |
00000f90  53 59 53 54 45 4d 0d 07  58 24 4c 44 41 20 23 26  |SYSTEM..X$LDA #&|
00000fa0  45 30 20 5c 20 45 4e 41  42 4c 45 20 54 48 45 20  |E0 \ ENABLE THE |
00000fb0  54 57 4f 20 54 49 4d 45  52 53 0d 07 62 0d 53 54  |TWO TIMERS..b.ST|
00000fc0  41 20 26 46 45 36 45 0d  07 6c 1c 4c 44 41 20 23  |A &FE6E..l.LDA #|
00000fd0  26 37 30 20 5c 20 49 4e  49 54 49 41 4c 49 53 45  |&70 \ INITIALISE|
00000fe0  20 54 31 0d 07 76 1a 53  54 41 20 26 46 45 36 34  | T1..v.STA &FE64|
00000ff0  20 5c 20 4c 4f 57 20 84  44 45 52 20 9c 0d 07 80  | \ LOW .DER ....|
00001000  1e 53 54 41 20 26 46 45  36 36 20 5c 20 4c 4f 57  |.STA &FE66 \ LOW|
00001010  20 84 44 45 52 20 4c 41  54 43 48 0d 07 8a 0a 4c  | .DER LATCH....L|
00001020  44 41 20 23 30 0d 07 94  1f 53 54 41 20 26 46 45  |DA #0....STA &FE|
00001030  36 37 20 5c 20 48 49 47  48 20 84 44 45 52 20 4c  |67 \ HIGH .DER L|
00001040  41 54 43 48 0d 07 9e 20  53 54 41 20 26 46 45 36  |ATCH... STA &FE6|
00001050  35 20 5c 20 53 54 41 52  54 20 54 31 20 52 55 4e  |5 \ START T1 RUN|
00001060  4e 49 4e 47 0d 07 a8 13  2e 53 54 32 20 5c 20 53  |NING.....ST2 \ S|
00001070  54 41 52 54 20 54 32 0d  07 b2 0c 4c 44 41 20 23  |TART T2....LDA #|
00001080  26 46 46 0d 07 bc 0d 53  54 41 20 26 46 45 36 38  |&FF....STA &FE68|
00001090  0d 07 c6 1d 4c 44 41 20  26 37 36 20 5c 20 bb 55  |....LDA &76 \ .U|
000010a0  45 20 46 52 4f 4d 20 4d  45 4d 4f 52 59 0d 07 d0  |E FROM MEMORY...|
000010b0  0d 53 54 41 20 26 46 45  36 39 0d 07 da 1e 2e 48  |.STA &FE69.....H|
000010c0  4f 4c 44 31 20 5c 20 4c  4f 4f 50 20 fd 20 54 31  |OLD1 \ LOOP . T1|
000010d0  20 54 49 4d 45 4f 55 54  0d 07 e4 0c 4c 44 41 20  | TIMEOUT....LDA |
000010e0  23 26 34 30 0d 07 ee 25  2e 48 4f 4c 44 32 20 42  |#&40...%.HOLD2 B|
000010f0  49 54 20 26 46 45 36 44  20 5c 20 53 45 45 20 e7  |IT &FE6D \ SEE .|
00001100  20 54 31 20 49 53 20 f3  59 0d 07 f8 0d 42 45 51  | T1 IS .Y....BEQ|
00001110  20 48 4f 4c 44 32 0d 08  02 1d 53 54 41 20 26 46  | HOLD2....STA &F|
00001120  45 36 44 20 5c d8 20 a8  45 52 52 55 50 54 20 46  |E6D \. .ERRUPT F|
00001130  4c 41 47 0d 08 0c 1b 5c  20 ec 20 ee 20 54 48 45  |LAG....\ . . THE|
00001140  20 45 4e 54 52 59 20 50  4f 49 4e 54 45 52 0d 08  | ENTRY POINTER..|
00001150  16 07 43 4c 43 0d 08 20  1b 4c 44 41 20 26 37 34  |..CLC.. .LDA &74|
00001160  20 5c 20 49 4e 43 52 45  4d 45 4e 54 20 bb 55 45  | \ INCREMENT .UE|
00001170  0d 08 2a 0b 41 44 43 20  26 37 30 0d 08 34 0b 53  |..*.ADC &70..4.S|
00001180  54 41 20 26 37 30 0d 08  3e 0b 4c 44 41 20 26 37  |TA &70..>.LDA &7|
00001190  35 0d 08 48 0b 41 44 43  20 26 37 31 0d 08 52 0b  |5..H.ADC &71..R.|
000011a0  53 54 41 20 26 37 31 0d  08 5c 21 4c 44 59 20 26  |STA &71..\!LDY &|
000011b0  37 31 20 5c 20 4e 55 4d  42 45 52 20 4f 46 20 45  |71 \ NUMBER OF E|
000011c0  4e 54 52 59 20 b8 20 a5  0d 08 66 33 4c 44 41 20  |NTRY . ...f3LDA |
000011d0  28 26 37 32 29 2c 59 20  5c 20 a5 20 45 4e 54 52  |(&72),Y \ . ENTR|
000011e0  59 20 49 4e 20 54 41 42  4c 45 20 47 49 56 45 4e  |Y IN TABLE GIVEN|
000011f0  20 42 59 20 26 37 32 2c  26 37 33 0d 08 70 1c 53  | BY &72,&73..p.S|
00001200  54 41 20 42 41 20 5c 20  4f 55 54 50 55 54 20 49  |TA BA \ OUTPUT I|
00001210  54 20 b8 20 44 2f 41 0d  08 7a 0d 42 43 43 20 48  |T . D/A..z.BCC H|
00001220  4f 4c 44 31 0d 08 84 20  4c 44 41 20 23 26 32 30  |OLD1... LDA #&20|
00001230  20 5c 20 4c 4f 4f 4b 20  e3 20 54 32 20 54 49 4d  | \ LOOK . T2 TIM|
00001240  45 4f 55 54 0d 08 8e 0d  42 49 54 20 26 46 45 36  |EOUT....BIT &FE6|
00001250  44 0d 08 98 25 42 45 51  20 48 4f 4c 44 31 20 5c  |D...%BEQ HOLD1 \|
00001260  20 ed 20 45 4e 54 52 59  20 e7 20 ac 20 54 49 4d  | . ENTRY . . TIM|
00001270  45 44 20 4f 55 54 0d 08  a2 22 53 54 41 20 26 46  |ED OUT..."STA &F|
00001280  45 36 44 20 5c 20 52 45  53 45 54 20 a8 45 52 52  |E6D \ RESET .ERR|
00001290  55 50 54 20 46 4c 41 47  0d 08 ac 21 49 4e 43 20  |UPT FLAG...!INC |
000012a0  26 37 33 20 5c 20 ec 20  54 41 42 4c 45 20 ee b8  |&73 \ . TABLE ..|
000012b0  20 54 48 45 20 ed 20 ee  45 0d 08 b6 19 44 45 58  | THE . .E....DEX|
000012c0  20 5c 20 54 41 42 4c 45  53 20 b8 20 47 4f 20 bb  | \ TABLES . GO .|
000012d0  55 45 0d 08 c0 23 42 4e  45 20 53 54 32 20 5c 20  |UE...#BNE ST2 \ |
000012e0  42 41 43 4b 20 b8 20 53  54 41 52 54 20 54 32 20  |BACK . START T2 |
000012f0  41 47 41 49 4e 0d 08 ca  25 4c 44 41 20 23 26 36  |AGAIN...%LDA #&6|
00001300  30 20 5c 20 44 49 53 41  42 4c 45 20 54 48 45 20  |0 \ DISABLE THE |
00001310  54 57 4f 20 54 49 4d 45  52 53 0d 08 d4 0d 53 54  |TWO TIMERS....ST|
00001320  41 20 26 46 45 36 45 0d  08 de 25 4c 44 41 20 23  |A &FE6E...%LDA #|
00001330  31 32 38 20 5c 20 53 45  54 20 4f 55 54 50 55 54  |128 \ SET OUTPUT|
00001340  20 b8 20 4d 49 44 20 50  4f 49 4e 54 0d 08 e8 0a  | . MID POINT....|
00001350  53 54 41 20 42 41 0d 08  f2 20 43 4c 49 20 5c 20  |STA BA... CLI \ |
00001360  45 4e 41 42 4c 45 20 53  59 53 54 45 4d 20 a8 45  |ENABLE SYSTEM .E|
00001370  52 52 55 50 54 53 0d 08  fc 07 52 54 53 0d 09 06  |RRUPTS....RTS...|
00001380  05 5d 0d 09 10 05 ed 0d  09 1a 0c 3f 26 37 39 3d  |.].........?&79=|
00001390  26 30 30 0d 09 24 0c 3f  26 37 41 3d 26 33 30 0d  |&00..$.?&7A=&30.|
000013a0  09 2e 05 e1 0d ff                                 |......|
000013a6
Q.MapL.m0
Q.MapL.m1
Q.MapL.m2
Q.MapL.m4
Q.MapL.m5