Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape33b_acorn_eu_1992_april.wav » Q.SnScope

Q.SnScope

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_tape33b_acorn_eu_1992_april.wav
Filename: Q.SnScope
Read OK:
File size: 0B7E bytes
Load address: FFFF1900
Exec address: FFFF801F
Duplicates

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

File contents
   10MODE4
   20HIMEM=&52FF
   30DIM CODE% &100
   40PRINT TAB(0,5);"THE BEEB BODY BUILDING COURSE"
   50PRINT
   60PRINT:PRINT
   70PRINT"By Mike Cook"
   80PRINT
   90PRINT
  100PRINT"Sound Sampler Oscilloscope"
  110PRINT
  120PRINT"PRESS ANY KEY TO START"
  130A$=GET$
  140PRINT
  150PRINT"INITIALISING"
  160?&FE62=6
  170?&FE6C=(?&FE6C AND &F) OR &B0
  180?&86=&80:?&80=00:?&81=00
  190?&FE6E=&90
  200M%=&5600
  210FOR A%=0 TO 31
  220FOR B%=0 TO 7
  230T%=A%*&140+B%+&5800
  240?M%=T% MOD 256
  250M%?&100=T% DIV 256
  260M%=M%+1
  270NEXT
  280NEXT
  290FOR I%=0 TO 3 STEP 3
  300P%=CODE%
  310[
  320OPT I%
  330.START SEI
  340LDA &81  \GET TRIGGER VALUE
  350CMP #0
  360BEQ NTRIG      \TO NO TRIGGER POINT
  370\WAIT FOR A POSITIVE TRANSITION OF THE TRIGGER POINT
  380.TLOW JSR SGET  \LOOP TILL BELOW TRIGGER
  390CMP &81
  400BCS TLOW
  410.THI JSR SGET   \LOOP TILL ABOVE TRIGGER
  420CMP &81
  430BCC THI
  440.NTRIG LDY #0
  450\READ IN 256 SAMPLES
  460.SAMP JSR SGET
  470STA &5300,Y
  480INY
  490BNE SAMP
  500CLI
  510\DISPLAY SAMPLES
  520.SLINE LDX #0
  530STX &87
  540.LOOP LDX &80
  550\GET ADDRESS OF POINT TO ERASE
  560LDA &5400,X   \GET LSB OF ERASE POINT
  570STA &82
  580LDA &5500,X    \GET MSB OF ERASE POINT
  590STA &83
  600LDA &5300,X    \GET VALUE TO PLOT
  610EOR #&FF     \INVERT TO COMPENSATE
  620TAY
  630LDA &5600,Y  \LOOK UP LSB OF FIRST COLUM
  640CLC
  650ADC &87     \ADD X VALUE
  660STA &84     \STORE MSB OF PLOT ADDRESS
  670STA &5400,X \STORE ERASE ADDRESS
  680LDA &5700,Y  \LOOK UP MSB OF FIRST COLUM
  690ADC #0      \ADD X VALUE
  700STA &85   \STORE MSB OF PLOT ADDRESS
  710STA &5500,X \STORE ERASE ADDRESS
  720LDX #0
  730\REMOVE OLD POINT
  740LDA (&82,X)   \GET ENDCASE DISPLAY BYTE
  750EOR &86       \INVERT APPROPRIATE BIT
  760STA (&82,X)   \WRITE TO SCREEN
  770\PLOT OF POINT ON THE SCREEN
  780LDA (&84,X)   \GET DISPLAY BYTE
  790ORA &86       \SET APPROPRIATE BIT
  800STA (&84,X)   \WRITE TO SCREEN
  810\MOVE POINTERS TO NEXT X POSITION
  820INC &80  \X POINTER
  830ROR &86  \PIXEL MASK
  840BCC LOOP
  850LDA #&80      \RESTORE MASK BIT
  860STA &86
  870LDA #7   \ADD 8 TO X VALUE
  880ADC &87 \IT IS 8 AS CARRY IS SET
  890STA &87
  900BNE LOOP  \LOOP IF NOT FINISHED ALL POINTS
  910LDA #129
  920LDX #&9D
  930LDY #&FF   \TEST FOR SPACE BAR
  940JSR &FFF4
  950TXA
  960CMP #&FF
  970BNE START
  980RTS        \FINISH WHEN SPACE PRESSED
  990.SGET
 1000LDX #10:LDA #0
 1010STA &FE60 \ CS & CK =0
 1020.SLOOP
 1030LDA &FE60 \ GET DATA
 1040LSR A:ROL &7A \ INTO MEM
 1050LDA #2:STA &FE60 \ CK = 1
 1060LDA #0:STA &FE60 \ CK = 0
 1070DEX : BNE SLOOP
 1080LDA #6:STA &FE60
 1090LDA &7A
 1100RTS
 1110]
 1120NEXT
 1130CLS
 1140VDU 24,0;0;1023;1023;
 1150VDU 28,32,31,39,0
 1160CLG
 1170PROC_SETUP
 1180PRINT"Expand"
 1190PRINT"Trigger"
 1200PRINT"Run"
 1210PRINT"?";
 1220A$=GET$
 1230IF A$="R" THEN PROC_WIPE:PROC_SETUP:PRINT"RUNNING":CALL CODE%:PRINT:PRINT"NOW:-":GOTO1180
 1240IF A$="T" THEN PRINT:INPUT"VALUE",T%:?&81=T%:GOTO 1180
 1250IF A$<> "E" THEN 1220
 1260PRINT
 1270PRINT"SCALE"
 1280INPUT S%
 1290IF S%<1 OR S%> 100 THEN PRINT"TOO MUCH":GOTO 1270
 1300PRINT"JOINED ?"
 1310A$=GET$
 1320IF A$="Y" THEN J%=5 ELSE J%=69
 1330P%=&5300
 1340CLG
 1350X%=-S%*4
 1360MOVE 0,?P%*4
 1370REPEAT
 1380X%=X%+S%*4
 1390PLOT J%,X%,?P%*4
 1400P%=P%+1
 1410UNTIL X%>1019
 1420GOTO 1180
 1430DEF PROC_WIPE
 1440CLG
 1450FOR A%=&5400 TO &55FF
 1460?A%=&C0
 1470NEXT
 1480ENDPROC
 1490DEF PROC_SETUP
 1500CLS
 1510PRINT
 1520PRINT" SCOPE "
 1530PRINT
 1540PRINT"TRIG ";?&81
 1550PRINT
 1560PRINT"SPACE TO";
 1570PRINT" FREEZE"
 1580PRINT" TRACE"
 1590PRINT
 1600ENDPROC

�4
�=&52FF
� CODE% &100
(+� �0,5);"THE BEEB BODY BUILDING COURSE"
2�
<�:�
F�"By Mike Cook"
P�
Z�
d!�"Sound Sampler Oscilloscope"
n�
x�"PRESS ANY KEY TO START"
�A$=�
��
��"INITIALISING"
�?&FE62=6
�?&FE6C=(?&FE6C � &F) � &B0
�?&86=&80:?&80=00:?&81=00
�?&FE6E=&90
�M%=&5600
�� A%=0 � 31
�� B%=0 � 7
�T%=A%*&140+B%+&5800
�?M%=T% � 256
�M%?&100=T% � 256
M%=M%+1
�
�
"� I%=0 � 3 � 3
,P%=CODE%
6[
@
OPT I%
J.START SEI
TLDA &81  \� TRIGGER �UE
^
CMP #0
h&BEQ NTRIG      \� NO TRIGGER POINT
r6\WAIT � A POSITIVE TRANSITION OF THE TRIGGER POINT
|,.TLOW JSR SGET  \LOOP TILL BELOW TRIGGER
�CMP &81
�BCS TLOW
�,.THI JSR SGET   \LOOP TILL ABOVE TRIGGER
�CMP &81
�BCC THI
�.NTRIG LDY #0
�\� IN 256 SAMPLES
�.SAMP JSR SGET
�STA &5300,Y
�INY
�BNE SAMP
�CLI
�\DISPLAY SAMPLES
.SLINE LDX #0
STX &87
.LOOP LDX &80
&\� ADDRESS OF POINT � ERASE
0'LDA &5400,X   \� LSB OF ERASE POINT
:STA &82
D(LDA &5500,X    \� MSB OF ERASE POINT
NSTA &83
XLDA &5300,X    \� �UE � �
b#� #&FF     \INVERT � COMPENSATE
lTAY
v,LDA &5600,Y  \LOOK UP LSB OF FIRST COLUM
�CLC
�ADC &87     \ADD X �UE
�'STA &84     \STORE MSB OF � ADDRESS
�$STA &5400,X \STORE ERASE ADDRESS
�,LDA &5700,Y  \LOOK UP MSB OF FIRST COLUM
�ADC #0      \ADD X �UE
�%STA &85   \STORE MSB OF � ADDRESS
�$STA &5500,X \STORE ERASE ADDRESS
�
LDX #0
�\�OVE OLD POINT
�#LDA (&82,X)   \� � DISPLAY BYTE
�'� &86       \INVERT APPROPRIATE BIT
�!STA (&82,X)   \WRITE � SCREEN
\� � POINT � THE SCREEN
!LDA (&84,X)   \� DISPLAY BYTE
%�A &86       \SET APPROPRIATE BIT
 !STA (&84,X)   \WRITE � SCREEN
*\� POINTERS � � X POSITION
4INC &80  \X POINTER
>ROR &86  \PIXEL MASK
HBCC LOOP
RLDA #&80      \� MASK BIT
\STA &86
fLDA #7   \ADD 8 � X �UE
p$ADC &87 \IT IS 8 AS CARRY IS SET
zSTA &87
�+BNE LOOP  \LOOP � � FINISHED ALL POINTS
�LDA #129
�LDX #&9D
� LDY #&FF   \TEST � SPACE BAR
�
JSR &FFF4
�TXA
�CMP #&FF
�
BNE START
�)RTS        \FINISH WHEN SPACE PRESSED
�	.SGET
�LDX #10:LDA #0
�STA &FE60 \ CS & CK =0
�
.SLOOP
LDA &FE60 \ � �
LSR A:ROL &7A \ �O MEM
LDA #2:STA &FE60 \ CK = 1
$LDA #0:STA &FE60 \ CK = 0
.DEX : BNE SLOOP
8LDA #6:STA &FE60
BLDA &7A
LRTS
V]
`�
j�
t� 24,0;0;1023;1023;
~� 28,32,31,39,0
��
��_SETUP
�
�"Expand"
��"Trigger"
�
�"Run"
�	�"?";
�A$=�
�A� A$="R" � �_WIPE:�_SETUP:�"RUNNING":� CODE%:�:�"NOW:-":�t\D
�+� A$="T" � �:�"VALUE",T%:?&81=T%:� �t\D
�� A$<> "E" � �dDD
��
��"SCALE"
� S%

)� S%<1 � S%> 100 � �"TOO MUCH":� �dvD
�"JOINED ?"
A$=�
(� A$="Y" � J%=5 � J%=69
2P%=&5300
<�
FX%=-S%*4
P
� 0,?P%*4
Z�
dX%=X%+S%*4
n� J%,X%,?P%*4
xP%=P%+1
�
� X%>1019
�
� �t\D
�� �_WIPE
��
�� A%=&5400 � &55FF
�?A%=&C0
��
��
�
� �_SETUP
��
��
��" SCOPE "
��
�"TRIG ";?&81
�
�"SPACE TO";
"�" FREEZE"
,
�" TRACE"
6�
@�
�
00000000  0d 00 0a 06 eb 34 0d 00  14 0b d3 3d 26 35 32 46  |.....4.....=&52F|
00000010  46 0d 00 1e 10 de 20 43  4f 44 45 25 20 26 31 30  |F..... CODE% &10|
00000020  30 0d 00 28 2b f1 20 8a  30 2c 35 29 3b 22 54 48  |0..(+. .0,5);"TH|
00000030  45 20 42 45 45 42 20 42  4f 44 59 20 42 55 49 4c  |E BEEB BODY BUIL|
00000040  44 49 4e 47 20 43 4f 55  52 53 45 22 0d 00 32 05  |DING COURSE"..2.|
00000050  f1 0d 00 3c 07 f1 3a f1  0d 00 46 13 f1 22 42 79  |...<..:...F.."By|
00000060  20 4d 69 6b 65 20 43 6f  6f 6b 22 0d 00 50 05 f1  | Mike Cook"..P..|
00000070  0d 00 5a 05 f1 0d 00 64  21 f1 22 53 6f 75 6e 64  |..Z....d!."Sound|
00000080  20 53 61 6d 70 6c 65 72  20 4f 73 63 69 6c 6c 6f  | Sampler Oscillo|
00000090  73 63 6f 70 65 22 0d 00  6e 05 f1 0d 00 78 1d f1  |scope"..n....x..|
000000a0  22 50 52 45 53 53 20 41  4e 59 20 4b 45 59 20 54  |"PRESS ANY KEY T|
000000b0  4f 20 53 54 41 52 54 22  0d 00 82 08 41 24 3d be  |O START"....A$=.|
000000c0  0d 00 8c 05 f1 0d 00 96  13 f1 22 49 4e 49 54 49  |.........."INITI|
000000d0  41 4c 49 53 49 4e 47 22  0d 00 a0 0c 3f 26 46 45  |ALISING"....?&FE|
000000e0  36 32 3d 36 0d 00 aa 1e  3f 26 46 45 36 43 3d 28  |62=6....?&FE6C=(|
000000f0  3f 26 46 45 36 43 20 80  20 26 46 29 20 84 20 26  |?&FE6C . &F) . &|
00000100  42 30 0d 00 b4 1c 3f 26  38 36 3d 26 38 30 3a 3f  |B0....?&86=&80:?|
00000110  26 38 30 3d 30 30 3a 3f  26 38 31 3d 30 30 0d 00  |&80=00:?&81=00..|
00000120  be 0e 3f 26 46 45 36 45  3d 26 39 30 0d 00 c8 0c  |..?&FE6E=&90....|
00000130  4d 25 3d 26 35 36 30 30  0d 00 d2 0f e3 20 41 25  |M%=&5600..... A%|
00000140  3d 30 20 b8 20 33 31 0d  00 dc 0e e3 20 42 25 3d  |=0 . 31..... B%=|
00000150  30 20 b8 20 37 0d 00 e6  17 54 25 3d 41 25 2a 26  |0 . 7....T%=A%*&|
00000160  31 34 30 2b 42 25 2b 26  35 38 30 30 0d 00 f0 10  |140+B%+&5800....|
00000170  3f 4d 25 3d 54 25 20 83  20 32 35 36 0d 00 fa 14  |?M%=T% . 256....|
00000180  4d 25 3f 26 31 30 30 3d  54 25 20 81 20 32 35 36  |M%?&100=T% . 256|
00000190  0d 01 04 0b 4d 25 3d 4d  25 2b 31 0d 01 0e 05 ed  |....M%=M%+1.....|
000001a0  0d 01 18 05 ed 0d 01 22  12 e3 20 49 25 3d 30 20  |.......".. I%=0 |
000001b0  b8 20 33 20 88 20 33 0d  01 2c 0c 50 25 3d 43 4f  |. 3 . 3..,.P%=CO|
000001c0  44 45 25 0d 01 36 05 5b  0d 01 40 0a 4f 50 54 20  |DE%..6.[..@.OPT |
000001d0  49 25 0d 01 4a 0e 2e 53  54 41 52 54 20 53 45 49  |I%..J..START SEI|
000001e0  0d 01 54 1b 4c 44 41 20  26 38 31 20 20 5c a5 20  |..T.LDA &81  \. |
000001f0  54 52 49 47 47 45 52 20  bb 55 45 0d 01 5e 0a 43  |TRIGGER .UE..^.C|
00000200  4d 50 20 23 30 0d 01 68  26 42 45 51 20 4e 54 52  |MP #0..h&BEQ NTR|
00000210  49 47 20 20 20 20 20 20  5c b8 20 4e 4f 20 54 52  |IG      \. NO TR|
00000220  49 47 47 45 52 20 50 4f  49 4e 54 0d 01 72 36 5c  |IGGER POINT..r6\|
00000230  57 41 49 54 20 e3 20 41  20 50 4f 53 49 54 49 56  |WAIT . A POSITIV|
00000240  45 20 54 52 41 4e 53 49  54 49 4f 4e 20 4f 46 20  |E TRANSITION OF |
00000250  54 48 45 20 54 52 49 47  47 45 52 20 50 4f 49 4e  |THE TRIGGER POIN|
00000260  54 0d 01 7c 2c 2e 54 4c  4f 57 20 4a 53 52 20 53  |T..|,.TLOW JSR S|
00000270  47 45 54 20 20 5c 4c 4f  4f 50 20 54 49 4c 4c 20  |GET  \LOOP TILL |
00000280  42 45 4c 4f 57 20 54 52  49 47 47 45 52 0d 01 86  |BELOW TRIGGER...|
00000290  0b 43 4d 50 20 26 38 31  0d 01 90 0c 42 43 53 20  |.CMP &81....BCS |
000002a0  54 4c 4f 57 0d 01 9a 2c  2e 54 48 49 20 4a 53 52  |TLOW...,.THI JSR|
000002b0  20 53 47 45 54 20 20 20  5c 4c 4f 4f 50 20 54 49  | SGET   \LOOP TI|
000002c0  4c 4c 20 41 42 4f 56 45  20 54 52 49 47 47 45 52  |LL ABOVE TRIGGER|
000002d0  0d 01 a4 0b 43 4d 50 20  26 38 31 0d 01 ae 0b 42  |....CMP &81....B|
000002e0  43 43 20 54 48 49 0d 01  b8 11 2e 4e 54 52 49 47  |CC THI.....NTRIG|
000002f0  20 4c 44 59 20 23 30 0d  01 c2 15 5c f3 20 49 4e  | LDY #0....\. IN|
00000300  20 32 35 36 20 53 41 4d  50 4c 45 53 0d 01 cc 12  | 256 SAMPLES....|
00000310  2e 53 41 4d 50 20 4a 53  52 20 53 47 45 54 0d 01  |.SAMP JSR SGET..|
00000320  d6 0f 53 54 41 20 26 35  33 30 30 2c 59 0d 01 e0  |..STA &5300,Y...|
00000330  07 49 4e 59 0d 01 ea 0c  42 4e 45 20 53 41 4d 50  |.INY....BNE SAMP|
00000340  0d 01 f4 07 43 4c 49 0d  01 fe 14 5c 44 49 53 50  |....CLI....\DISP|
00000350  4c 41 59 20 53 41 4d 50  4c 45 53 0d 02 08 11 2e  |LAY SAMPLES.....|
00000360  53 4c 49 4e 45 20 4c 44  58 20 23 30 0d 02 12 0b  |SLINE LDX #0....|
00000370  53 54 58 20 26 38 37 0d  02 1c 11 2e 4c 4f 4f 50  |STX &87.....LOOP|
00000380  20 4c 44 58 20 26 38 30  0d 02 26 1f 5c a5 20 41  | LDX &80..&.\. A|
00000390  44 44 52 45 53 53 20 4f  46 20 50 4f 49 4e 54 20  |DDRESS OF POINT |
000003a0  b8 20 45 52 41 53 45 0d  02 30 27 4c 44 41 20 26  |. ERASE..0'LDA &|
000003b0  35 34 30 30 2c 58 20 20  20 5c a5 20 4c 53 42 20  |5400,X   \. LSB |
000003c0  4f 46 20 45 52 41 53 45  20 50 4f 49 4e 54 0d 02  |OF ERASE POINT..|
000003d0  3a 0b 53 54 41 20 26 38  32 0d 02 44 28 4c 44 41  |:.STA &82..D(LDA|
000003e0  20 26 35 35 30 30 2c 58  20 20 20 20 5c a5 20 4d  | &5500,X    \. M|
000003f0  53 42 20 4f 46 20 45 52  41 53 45 20 50 4f 49 4e  |SB OF ERASE POIN|
00000400  54 0d 02 4e 0b 53 54 41  20 26 38 33 0d 02 58 1d  |T..N.STA &83..X.|
00000410  4c 44 41 20 26 35 33 30  30 2c 58 20 20 20 20 5c  |LDA &5300,X    \|
00000420  a5 20 bb 55 45 20 b8 20  f0 0d 02 62 23 82 20 23  |. .UE . ...b#. #|
00000430  26 46 46 20 20 20 20 20  5c 49 4e 56 45 52 54 20  |&FF     \INVERT |
00000440  b8 20 43 4f 4d 50 45 4e  53 41 54 45 0d 02 6c 07  |. COMPENSATE..l.|
00000450  54 41 59 0d 02 76 2c 4c  44 41 20 26 35 36 30 30  |TAY..v,LDA &5600|
00000460  2c 59 20 20 5c 4c 4f 4f  4b 20 55 50 20 4c 53 42  |,Y  \LOOK UP LSB|
00000470  20 4f 46 20 46 49 52 53  54 20 43 4f 4c 55 4d 0d  | OF FIRST COLUM.|
00000480  02 80 07 43 4c 43 0d 02  8a 1a 41 44 43 20 26 38  |...CLC....ADC &8|
00000490  37 20 20 20 20 20 5c 41  44 44 20 58 20 bb 55 45  |7     \ADD X .UE|
000004a0  0d 02 94 27 53 54 41 20  26 38 34 20 20 20 20 20  |...'STA &84     |
000004b0  5c 53 54 4f 52 45 20 4d  53 42 20 4f 46 20 f0 20  |\STORE MSB OF . |
000004c0  41 44 44 52 45 53 53 0d  02 9e 24 53 54 41 20 26  |ADDRESS...$STA &|
000004d0  35 34 30 30 2c 58 20 5c  53 54 4f 52 45 20 45 52  |5400,X \STORE ER|
000004e0  41 53 45 20 41 44 44 52  45 53 53 0d 02 a8 2c 4c  |ASE ADDRESS...,L|
000004f0  44 41 20 26 35 37 30 30  2c 59 20 20 5c 4c 4f 4f  |DA &5700,Y  \LOO|
00000500  4b 20 55 50 20 4d 53 42  20 4f 46 20 46 49 52 53  |K UP MSB OF FIRS|
00000510  54 20 43 4f 4c 55 4d 0d  02 b2 1a 41 44 43 20 23  |T COLUM....ADC #|
00000520  30 20 20 20 20 20 20 5c  41 44 44 20 58 20 bb 55  |0      \ADD X .U|
00000530  45 0d 02 bc 25 53 54 41  20 26 38 35 20 20 20 5c  |E...%STA &85   \|
00000540  53 54 4f 52 45 20 4d 53  42 20 4f 46 20 f0 20 41  |STORE MSB OF . A|
00000550  44 44 52 45 53 53 0d 02  c6 24 53 54 41 20 26 35  |DDRESS...$STA &5|
00000560  35 30 30 2c 58 20 5c 53  54 4f 52 45 20 45 52 41  |500,X \STORE ERA|
00000570  53 45 20 41 44 44 52 45  53 53 0d 02 d0 0a 4c 44  |SE ADDRESS....LD|
00000580  58 20 23 30 0d 02 da 13  5c f4 4f 56 45 20 4f 4c  |X #0....\.OVE OL|
00000590  44 20 50 4f 49 4e 54 0d  02 e4 23 4c 44 41 20 28  |D POINT...#LDA (|
000005a0  26 38 32 2c 58 29 20 20  20 5c a5 20 cb 20 44 49  |&82,X)   \. . DI|
000005b0  53 50 4c 41 59 20 42 59  54 45 0d 02 ee 27 82 20  |SPLAY BYTE...'. |
000005c0  26 38 36 20 20 20 20 20  20 20 5c 49 4e 56 45 52  |&86       \INVER|
000005d0  54 20 41 50 50 52 4f 50  52 49 41 54 45 20 42 49  |T APPROPRIATE BI|
000005e0  54 0d 02 f8 21 53 54 41  20 28 26 38 32 2c 58 29  |T...!STA (&82,X)|
000005f0  20 20 20 5c 57 52 49 54  45 20 b8 20 53 43 52 45  |   \WRITE . SCRE|
00000600  45 4e 0d 03 02 1b 5c f0  20 ca 20 50 4f 49 4e 54  |EN....\. . POINT|
00000610  20 ee 20 54 48 45 20 53  43 52 45 45 4e 0d 03 0c  | . THE SCREEN...|
00000620  21 4c 44 41 20 28 26 38  34 2c 58 29 20 20 20 5c  |!LDA (&84,X)   \|
00000630  a5 20 44 49 53 50 4c 41  59 20 42 59 54 45 0d 03  |. DISPLAY BYTE..|
00000640  16 25 84 41 20 26 38 36  20 20 20 20 20 20 20 5c  |.%.A &86       \|
00000650  53 45 54 20 41 50 50 52  4f 50 52 49 41 54 45 20  |SET APPROPRIATE |
00000660  42 49 54 0d 03 20 21 53  54 41 20 28 26 38 34 2c  |BIT.. !STA (&84,|
00000670  58 29 20 20 20 5c 57 52  49 54 45 20 b8 20 53 43  |X)   \WRITE . SC|
00000680  52 45 45 4e 0d 03 2a 1e  5c ec 20 50 4f 49 4e 54  |REEN..*.\. POINT|
00000690  45 52 53 20 b8 20 ed 20  58 20 50 4f 53 49 54 49  |ERS . . X POSITI|
000006a0  4f 4e 0d 03 34 17 49 4e  43 20 26 38 30 20 20 5c  |ON..4.INC &80  \|
000006b0  58 20 50 4f 49 4e 54 45  52 0d 03 3e 18 52 4f 52  |X POINTER..>.ROR|
000006c0  20 26 38 36 20 20 5c 50  49 58 45 4c 20 4d 41 53  | &86  \PIXEL MAS|
000006d0  4b 0d 03 48 0c 42 43 43  20 4c 4f 4f 50 0d 03 52  |K..H.BCC LOOP..R|
000006e0  1d 4c 44 41 20 23 26 38  30 20 20 20 20 20 20 5c  |.LDA #&80      \|
000006f0  f7 20 4d 41 53 4b 20 42  49 54 0d 03 5c 0b 53 54  |. MASK BIT..\.ST|
00000700  41 20 26 38 36 0d 03 66  1b 4c 44 41 20 23 37 20  |A &86..f.LDA #7 |
00000710  20 20 5c 41 44 44 20 38  20 b8 20 58 20 bb 55 45  |  \ADD 8 . X .UE|
00000720  0d 03 70 24 41 44 43 20  26 38 37 20 5c 49 54 20  |..p$ADC &87 \IT |
00000730  49 53 20 38 20 41 53 20  43 41 52 52 59 20 49 53  |IS 8 AS CARRY IS|
00000740  20 53 45 54 0d 03 7a 0b  53 54 41 20 26 38 37 0d  | SET..z.STA &87.|
00000750  03 84 2b 42 4e 45 20 4c  4f 4f 50 20 20 5c 4c 4f  |..+BNE LOOP  \LO|
00000760  4f 50 20 e7 20 ac 20 46  49 4e 49 53 48 45 44 20  |OP . . FINISHED |
00000770  41 4c 4c 20 50 4f 49 4e  54 53 0d 03 8e 0c 4c 44  |ALL POINTS....LD|
00000780  41 20 23 31 32 39 0d 03  98 0c 4c 44 58 20 23 26  |A #129....LDX #&|
00000790  39 44 0d 03 a2 20 4c 44  59 20 23 26 46 46 20 20  |9D... LDY #&FF  |
000007a0  20 5c 54 45 53 54 20 e3  20 53 50 41 43 45 20 42  | \TEST . SPACE B|
000007b0  41 52 0d 03 ac 0d 4a 53  52 20 26 46 46 46 34 0d  |AR....JSR &FFF4.|
000007c0  03 b6 07 54 58 41 0d 03  c0 0c 43 4d 50 20 23 26  |...TXA....CMP #&|
000007d0  46 46 0d 03 ca 0d 42 4e  45 20 53 54 41 52 54 0d  |FF....BNE START.|
000007e0  03 d4 29 52 54 53 20 20  20 20 20 20 20 20 5c 46  |..)RTS        \F|
000007f0  49 4e 49 53 48 20 57 48  45 4e 20 53 50 41 43 45  |INISH WHEN SPACE|
00000800  20 50 52 45 53 53 45 44  0d 03 de 09 2e 53 47 45  | PRESSED.....SGE|
00000810  54 0d 03 e8 12 4c 44 58  20 23 31 30 3a 4c 44 41  |T....LDX #10:LDA|
00000820  20 23 30 0d 03 f2 1a 53  54 41 20 26 46 45 36 30  | #0....STA &FE60|
00000830  20 5c 20 43 53 20 26 20  43 4b 20 3d 30 0d 03 fc  | \ CS & CK =0...|
00000840  0a 2e 53 4c 4f 4f 50 0d  04 06 13 4c 44 41 20 26  |..SLOOP....LDA &|
00000850  46 45 36 30 20 5c 20 a5  20 dc 0d 04 10 1a 4c 53  |FE60 \ . .....LS|
00000860  52 20 41 3a 52 4f 4c 20  26 37 41 20 5c 20 a8 4f  |R A:ROL &7A \ .O|
00000870  20 4d 45 4d 0d 04 1a 1d  4c 44 41 20 23 32 3a 53  | MEM....LDA #2:S|
00000880  54 41 20 26 46 45 36 30  20 5c 20 43 4b 20 3d 20  |TA &FE60 \ CK = |
00000890  31 0d 04 24 1d 4c 44 41  20 23 30 3a 53 54 41 20  |1..$.LDA #0:STA |
000008a0  26 46 45 36 30 20 5c 20  43 4b 20 3d 20 30 0d 04  |&FE60 \ CK = 0..|
000008b0  2e 13 44 45 58 20 3a 20  42 4e 45 20 53 4c 4f 4f  |..DEX : BNE SLOO|
000008c0  50 0d 04 38 14 4c 44 41  20 23 36 3a 53 54 41 20  |P..8.LDA #6:STA |
000008d0  26 46 45 36 30 0d 04 42  0b 4c 44 41 20 26 37 41  |&FE60..B.LDA &7A|
000008e0  0d 04 4c 07 52 54 53 0d  04 56 05 5d 0d 04 60 05  |..L.RTS..V.]..`.|
000008f0  ed 0d 04 6a 05 db 0d 04  74 17 ef 20 32 34 2c 30  |...j....t.. 24,0|
00000900  3b 30 3b 31 30 32 33 3b  31 30 32 33 3b 0d 04 7e  |;0;1023;1023;..~|
00000910  13 ef 20 32 38 2c 33 32  2c 33 31 2c 33 39 2c 30  |.. 28,32,31,39,0|
00000920  0d 04 88 05 da 0d 04 92  0b f2 5f 53 45 54 55 50  |.........._SETUP|
00000930  0d 04 9c 0d f1 22 45 78  70 61 6e 64 22 0d 04 a6  |....."Expand"...|
00000940  0e f1 22 54 72 69 67 67  65 72 22 0d 04 b0 0a f1  |.."Trigger".....|
00000950  22 52 75 6e 22 0d 04 ba  09 f1 22 3f 22 3b 0d 04  |"Run"....."?";..|
00000960  c4 08 41 24 3d be 0d 04  ce 41 e7 20 41 24 3d 22  |..A$=....A. A$="|
00000970  52 22 20 8c 20 f2 5f 57  49 50 45 3a f2 5f 53 45  |R" . ._WIPE:._SE|
00000980  54 55 50 3a f1 22 52 55  4e 4e 49 4e 47 22 3a d6  |TUP:."RUNNING":.|
00000990  20 43 4f 44 45 25 3a f1  3a f1 22 4e 4f 57 3a 2d  | CODE%:.:."NOW:-|
000009a0  22 3a e5 8d 74 5c 44 0d  04 d8 2b e7 20 41 24 3d  |":..t\D...+. A$=|
000009b0  22 54 22 20 8c 20 f1 3a  e8 22 56 41 4c 55 45 22  |"T" . .:."VALUE"|
000009c0  2c 54 25 3a 3f 26 38 31  3d 54 25 3a e5 20 8d 74  |,T%:?&81=T%:. .t|
000009d0  5c 44 0d 04 e2 15 e7 20  41 24 3c 3e 20 22 45 22  |\D..... A$<> "E"|
000009e0  20 8c 20 8d 64 44 44 0d  04 ec 05 f1 0d 04 f6 0c  | . .dDD.........|
000009f0  f1 22 53 43 41 4c 45 22  0d 05 00 08 e8 20 53 25  |."SCALE"..... S%|
00000a00  0d 05 0a 29 e7 20 53 25  3c 31 20 84 20 53 25 3e  |...). S%<1 . S%>|
00000a10  20 31 30 30 20 8c 20 f1  22 54 4f 4f 20 4d 55 43  | 100 . ."TOO MUC|
00000a20  48 22 3a e5 20 8d 64 76  44 0d 05 14 0f f1 22 4a  |H":. .dvD....."J|
00000a30  4f 49 4e 45 44 20 3f 22  0d 05 1e 08 41 24 3d be  |OINED ?"....A$=.|
00000a40  0d 05 28 1b e7 20 41 24  3d 22 59 22 20 8c 20 4a  |..(.. A$="Y" . J|
00000a50  25 3d 35 20 8b 20 4a 25  3d 36 39 0d 05 32 0c 50  |%=5 . J%=69..2.P|
00000a60  25 3d 26 35 33 30 30 0d  05 3c 05 da 0d 05 46 0c  |%=&5300..<....F.|
00000a70  58 25 3d 2d 53 25 2a 34  0d 05 50 0d ec 20 30 2c  |X%=-S%*4..P.. 0,|
00000a80  3f 50 25 2a 34 0d 05 5a  05 f5 0d 05 64 0e 58 25  |?P%*4..Z....d.X%|
00000a90  3d 58 25 2b 53 25 2a 34  0d 05 6e 11 f0 20 4a 25  |=X%+S%*4..n.. J%|
00000aa0  2c 58 25 2c 3f 50 25 2a  34 0d 05 78 0b 50 25 3d  |,X%,?P%*4..x.P%=|
00000ab0  50 25 2b 31 0d 05 82 0d  fd 20 58 25 3e 31 30 31  |P%+1..... X%>101|
00000ac0  39 0d 05 8c 0a e5 20 8d  74 5c 44 0d 05 96 0c dd  |9..... .t\D.....|
00000ad0  20 f2 5f 57 49 50 45 0d  05 a0 05 da 0d 05 aa 16  | ._WIPE.........|
00000ae0  e3 20 41 25 3d 26 35 34  30 30 20 b8 20 26 35 35  |. A%=&5400 . &55|
00000af0  46 46 0d 05 b4 0b 3f 41  25 3d 26 43 30 0d 05 be  |FF....?A%=&C0...|
00000b00  05 ed 0d 05 c8 05 e1 0d  05 d2 0d dd 20 f2 5f 53  |............ ._S|
00000b10  45 54 55 50 0d 05 dc 05  db 0d 05 e6 05 f1 0d 05  |ETUP............|
00000b20  f0 0e f1 22 20 53 43 4f  50 45 20 22 0d 05 fa 05  |..." SCOPE "....|
00000b30  f1 0d 06 04 11 f1 22 54  52 49 47 20 22 3b 3f 26  |......"TRIG ";?&|
00000b40  38 31 0d 06 0e 05 f1 0d  06 18 10 f1 22 53 50 41  |81.........."SPA|
00000b50  43 45 20 54 4f 22 3b 0d  06 22 0e f1 22 20 46 52  |CE TO";..".." FR|
00000b60  45 45 5a 45 22 0d 06 2c  0d f1 22 20 54 52 41 43  |EEZE"..,.." TRAC|
00000b70  45 22 0d 06 36 05 f1 0d  06 40 05 e1 0d ff        |E"..6....@....|
00000b7e
Q.SnScope.m0
Q.SnScope.m1
Q.SnScope.m2
Q.SnScope.m4
Q.SnScope.m5