Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_39.ADF » F/7543DAC

F/7543DAC

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 ADFS disks » Electron_User_Group » EUG_39.ADF
Filename: F/7543DAC
Read OK:
File size: 0432 bytes
Load address: FFFFFB60
Exec address: FFFF8038
Duplicates

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

File contents
   10REM Control the DAC which tunes
   20REM the TV card
   30: 
   40*FX4,1
   50*FX12,2
   60stb3=1:ld2=2:sri=4:afc=8
   70orb=&FE60:ddrb=&FE62
   80basVlo=&458:basVhi=&459 
   90V%=0:REM Start value in DAC
  100DIMsend% 128 
  110: 
  120FORX=0TO2STEP2 
  130P%=send% 
  140[OPTX 
  150LDA#8:STAmaskhi:LDA#0:STAmasklo
  160.bitout 
  170LDAoscopy:ORA#ld2:TAY:\Default
  180LDAmaskhi:ANDbasVhi:STAresult 
  190LDAmasklo:ANDbasVlo:ORAresult 
  200BEQclockit:TYA:ORA#sri:TAY:\Put bit on 'shift-reg-in' pin
  210.clockit 
  220TYA 
  230ORA#stb3:STAorb:EOR#stb3:STAorb:\Wiggle clock
  240.rotate 
  250CLC:RORmaskhi:RORmasklo 
  260BCCbitout:\Move rolling window
  270.store 
  280LDAoscopy:AND#(255-ld2):STAorb 
  290EOR#ld2:STAorb:RTS:\Transfer the 12 bits to the DAC output
  300: 
  310.maskhi EQUB0 
  320.masklo EQUB0 
  330.oscopy EQUB0 
  340.result EQUB0:\Intermediate value
  350] 
  360NEXT 
  370: 
  380?ddrb=15:?oscopy=afc:REM AFC on
  390CLS:PRINT"DAC controller"''"DAC=" 
  400:
  410REPEAT
  420key=GET:REM 139Up,138Down
  430IFkey=138 ORkey=139 THENV%=V%+(2*(key-138.5))
  440IF(key AND&DF)=65 THEN?oscopy=?oscopy EORafc
  450IFV%<0 THENV%=0:REM Clip
  460IFV%>4095 THENV%=4095:REM Clip
  470PRINTTAB(4,2);V%;"   ":CALLsend%
  480UNTIL0

!� Control the DAC which tunes
� the TV card
: 
(
*FX4,1
2*FX12,2
<stb3=1:ld2=2:sri=4:afc=8
Forb=&FE60:ddrb=&FE62
PbasVlo=&458:basVhi=&459 
ZV%=0:� Start value in DAC
d�send% 128 
n: 
x
�X=0�2�2 
�
P%=send% 
�
[OPTX 
�#LDA#8:STAmaskhi:LDA#0:STAmasklo
�.bitout 
�!LDAoscopy:�A#ld2:TAY:\Default
� LDAmaskhi:�basVhi:STAresult 
�LDAmasklo:�basVlo:�Aresult 
�<BEQclockit:TYA:�A#sri:TAY:\Put bit on 'shift-reg-in' pin
�
.clockit 
�TYA 
�.�A#stb3:STAorb:�#stb3:STAorb:\Wiggle clock
�.rotate 
�CLC:RORmaskhi:RORmasklo 
"BCCbitout:\Move rolling window
.store 
!LDAoscopy:�#(255-ld2):STAorb 
"<�#ld2:STAorb:RTS:\Transfer the 12 bits to the DAC output
,: 
6.maskhi EQUB0 
@.masklo EQUB0 
J.oscopy EQUB0 
T%.result EQUB0:\Intermediate value
^] 
h� 
r: 
|!?ddrb=15:?oscopy=afc:� AFC on
� �:�"DAC controller"''"DAC=" 
�:
��
�key=�:� 139Up,138Down
�,�key=138 �key=139 �V%=V%+(2*(key-138.5))
�(�(key �&DF)=65 �?oscopy=?oscopy �afc
��V%<0 �V%=0:� Clip
��V%>4095 �V%=4095:� Clip
��4,2);V%;"   ":�send%
��0
�
00000000  0d 00 0a 21 f4 20 43 6f  6e 74 72 6f 6c 20 74 68  |...!. Control th|
00000010  65 20 44 41 43 20 77 68  69 63 68 20 74 75 6e 65  |e DAC which tune|
00000020  73 0d 00 14 11 f4 20 74  68 65 20 54 56 20 63 61  |s..... the TV ca|
00000030  72 64 0d 00 1e 06 3a 20  0d 00 28 0a 2a 46 58 34  |rd....: ..(.*FX4|
00000040  2c 31 0d 00 32 0b 2a 46  58 31 32 2c 32 0d 00 3c  |,1..2.*FX12,2..<|
00000050  1c 73 74 62 33 3d 31 3a  6c 64 32 3d 32 3a 73 72  |.stb3=1:ld2=2:sr|
00000060  69 3d 34 3a 61 66 63 3d  38 0d 00 46 18 6f 72 62  |i=4:afc=8..F.orb|
00000070  3d 26 46 45 36 30 3a 64  64 72 62 3d 26 46 45 36  |=&FE60:ddrb=&FE6|
00000080  32 0d 00 50 1c 62 61 73  56 6c 6f 3d 26 34 35 38  |2..P.basVlo=&458|
00000090  3a 62 61 73 56 68 69 3d  26 34 35 39 20 0d 00 5a  |:basVhi=&459 ..Z|
000000a0  1d 56 25 3d 30 3a f4 20  53 74 61 72 74 20 76 61  |.V%=0:. Start va|
000000b0  6c 75 65 20 69 6e 20 44  41 43 0d 00 64 0f de 73  |lue in DAC..d..s|
000000c0  65 6e 64 25 20 31 32 38  20 0d 00 6e 06 3a 20 0d  |end% 128 ..n.: .|
000000d0  00 78 0d e3 58 3d 30 b8  32 88 32 20 0d 00 82 0d  |.x..X=0.2.2 ....|
000000e0  50 25 3d 73 65 6e 64 25  20 0d 00 8c 0a 5b 4f 50  |P%=send% ....[OP|
000000f0  54 58 20 0d 00 96 23 4c  44 41 23 38 3a 53 54 41  |TX ...#LDA#8:STA|
00000100  6d 61 73 6b 68 69 3a 4c  44 41 23 30 3a 53 54 41  |maskhi:LDA#0:STA|
00000110  6d 61 73 6b 6c 6f 0d 00  a0 0c 2e 62 69 74 6f 75  |masklo.....bitou|
00000120  74 20 0d 00 aa 21 4c 44  41 6f 73 63 6f 70 79 3a  |t ...!LDAoscopy:|
00000130  84 41 23 6c 64 32 3a 54  41 59 3a 5c 44 65 66 61  |.A#ld2:TAY:\Defa|
00000140  75 6c 74 0d 00 b4 20 4c  44 41 6d 61 73 6b 68 69  |ult... LDAmaskhi|
00000150  3a 80 62 61 73 56 68 69  3a 53 54 41 72 65 73 75  |:.basVhi:STAresu|
00000160  6c 74 20 0d 00 be 1f 4c  44 41 6d 61 73 6b 6c 6f  |lt ....LDAmasklo|
00000170  3a 80 62 61 73 56 6c 6f  3a 84 41 72 65 73 75 6c  |:.basVlo:.Aresul|
00000180  74 20 0d 00 c8 3c 42 45  51 63 6c 6f 63 6b 69 74  |t ...<BEQclockit|
00000190  3a 54 59 41 3a 84 41 23  73 72 69 3a 54 41 59 3a  |:TYA:.A#sri:TAY:|
000001a0  5c 50 75 74 20 62 69 74  20 6f 6e 20 27 73 68 69  |\Put bit on 'shi|
000001b0  66 74 2d 72 65 67 2d 69  6e 27 20 70 69 6e 0d 00  |ft-reg-in' pin..|
000001c0  d2 0d 2e 63 6c 6f 63 6b  69 74 20 0d 00 dc 08 54  |...clockit ....T|
000001d0  59 41 20 0d 00 e6 2e 84  41 23 73 74 62 33 3a 53  |YA .....A#stb3:S|
000001e0  54 41 6f 72 62 3a 82 23  73 74 62 33 3a 53 54 41  |TAorb:.#stb3:STA|
000001f0  6f 72 62 3a 5c 57 69 67  67 6c 65 20 63 6c 6f 63  |orb:\Wiggle cloc|
00000200  6b 0d 00 f0 0c 2e 72 6f  74 61 74 65 20 0d 00 fa  |k.....rotate ...|
00000210  1c 43 4c 43 3a 52 4f 52  6d 61 73 6b 68 69 3a 52  |.CLC:RORmaskhi:R|
00000220  4f 52 6d 61 73 6b 6c 6f  20 0d 01 04 22 42 43 43  |ORmasklo ..."BCC|
00000230  62 69 74 6f 75 74 3a 5c  4d 6f 76 65 20 72 6f 6c  |bitout:\Move rol|
00000240  6c 69 6e 67 20 77 69 6e  64 6f 77 0d 01 0e 0b 2e  |ling window.....|
00000250  73 74 6f 72 65 20 0d 01  18 21 4c 44 41 6f 73 63  |store ...!LDAosc|
00000260  6f 70 79 3a 80 23 28 32  35 35 2d 6c 64 32 29 3a  |opy:.#(255-ld2):|
00000270  53 54 41 6f 72 62 20 0d  01 22 3c 82 23 6c 64 32  |STAorb .."<.#ld2|
00000280  3a 53 54 41 6f 72 62 3a  52 54 53 3a 5c 54 72 61  |:STAorb:RTS:\Tra|
00000290  6e 73 66 65 72 20 74 68  65 20 31 32 20 62 69 74  |nsfer the 12 bit|
000002a0  73 20 74 6f 20 74 68 65  20 44 41 43 20 6f 75 74  |s to the DAC out|
000002b0  70 75 74 0d 01 2c 06 3a  20 0d 01 36 12 2e 6d 61  |put..,.: ..6..ma|
000002c0  73 6b 68 69 20 45 51 55  42 30 20 0d 01 40 12 2e  |skhi EQUB0 ..@..|
000002d0  6d 61 73 6b 6c 6f 20 45  51 55 42 30 20 0d 01 4a  |masklo EQUB0 ..J|
000002e0  12 2e 6f 73 63 6f 70 79  20 45 51 55 42 30 20 0d  |..oscopy EQUB0 .|
000002f0  01 54 25 2e 72 65 73 75  6c 74 20 45 51 55 42 30  |.T%.result EQUB0|
00000300  3a 5c 49 6e 74 65 72 6d  65 64 69 61 74 65 20 76  |:\Intermediate v|
00000310  61 6c 75 65 0d 01 5e 06  5d 20 0d 01 68 06 ed 20  |alue..^.] ..h.. |
00000320  0d 01 72 06 3a 20 0d 01  7c 21 3f 64 64 72 62 3d  |..r.: ..|!?ddrb=|
00000330  31 35 3a 3f 6f 73 63 6f  70 79 3d 61 66 63 3a f4  |15:?oscopy=afc:.|
00000340  20 41 46 43 20 6f 6e 0d  01 86 20 db 3a f1 22 44  | AFC on... .:."D|
00000350  41 43 20 63 6f 6e 74 72  6f 6c 6c 65 72 22 27 27  |AC controller"''|
00000360  22 44 41 43 3d 22 20 0d  01 90 05 3a 0d 01 9a 05  |"DAC=" ....:....|
00000370  f5 0d 01 a4 19 6b 65 79  3d a5 3a f4 20 31 33 39  |.....key=.:. 139|
00000380  55 70 2c 31 33 38 44 6f  77 6e 0d 01 ae 2c e7 6b  |Up,138Down...,.k|
00000390  65 79 3d 31 33 38 20 84  6b 65 79 3d 31 33 39 20  |ey=138 .key=139 |
000003a0  8c 56 25 3d 56 25 2b 28  32 2a 28 6b 65 79 2d 31  |.V%=V%+(2*(key-1|
000003b0  33 38 2e 35 29 29 0d 01  b8 28 e7 28 6b 65 79 20  |38.5))...(.(key |
000003c0  80 26 44 46 29 3d 36 35  20 8c 3f 6f 73 63 6f 70  |.&DF)=65 .?oscop|
000003d0  79 3d 3f 6f 73 63 6f 70  79 20 82 61 66 63 0d 01  |y=?oscopy .afc..|
000003e0  c2 16 e7 56 25 3c 30 20  8c 56 25 3d 30 3a f4 20  |...V%<0 .V%=0:. |
000003f0  43 6c 69 70 0d 01 cc 1c  e7 56 25 3e 34 30 39 35  |Clip.....V%>4095|
00000400  20 8c 56 25 3d 34 30 39  35 3a f4 20 43 6c 69 70  | .V%=4095:. Clip|
00000410  0d 01 d6 1a f1 8a 34 2c  32 29 3b 56 25 3b 22 20  |......4,2);V%;" |
00000420  20 20 22 3a d6 73 65 6e  64 25 0d 01 e0 06 fd 30  |  ":.send%.....0|
00000430  0d ff                                             |..|
00000432
F/7543DAC.m0
F/7543DAC.m1
F/7543DAC.m2
F/7543DAC.m4
F/7543DAC.m5