Home » Archimedes archive » Acorn Computing » 1995 02.adf » 9502 » BodyBuild/Keyboard2

BodyBuild/Keyboard2

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 » Archimedes archive » Acorn Computing » 1995 02.adf » 9502
Filename: BodyBuild/Keyboard2
Read OK:
File size: 032C bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>Keyboard2
   20REM BODY BUILD KEYBOARD
   30PRINT"Body Build Keyboard TEST"
   40PRINT"by Mike Cook"
   50DIM Note%(49)
   60PROC_INT
   70REPEAT
   80K%=99
   90FOR A%=0 TO 48
  100B%=FNKin(A%)
  110IF (B% AND &80)=0 THEN
  120IF LB%<>B% THEN SOUND 1,-15,Note%(B%),255
  130PRINT TAB(15,18);B%;SPC(3): K%=B%:LB%=B%
  140ENDIF
  150NEXT
  160IF K%=99 THEN PRINT TAB(15,18)SPC(6):SOUND 1,0,55,0:LB%=99
  170UNTIL FALSE
  180
  190DEF FNKin(N%)
  200SYS"OS_Byte",151,&60,N%
  210SYS"OS_Byte",150,&60 TO ,,N%
  220=N% AND &BF
  230
  240DEF FNKin(N%)
  250SYS"OS_Byte",151,&60,N%
  260SYS"OS_Byte",150,&60 TO ,,N%
  270=N% AND &BF
  280
  290DEF PROC_INT
  300SYS"OS_Byte",151,&62,&3F
  310
  320LB%=99
  330VOICES 1
  340*ChannelVoice 1 1
  350
  360FOR A%=0 TO 48
  370READ Note%(A%)
  380NEXT
  390DATA 5,9,13,17,21,25,29,33,37,41,45,49
  400DATA 53,57,61,65,69,73,77,81,85,89,93,97
  410DATA 101,105,109,113,117,121,125,129,133,137,141,145
  420DATA 149,153,157,161,165,169,173,177,181,185,189,193
  430DATA 197
  440ENDPROC

�>Keyboard2
� BODY BUILD KEYBOARD
�"Body Build Keyboard TEST"
(�"by Mike Cook"
2� Note%(49)
<	�_INT
F�
P	K%=99
Z� A%=0 � 48
dB%=�Kin(A%)
n� (B% � &80)=0 �
x%� LB%<>B% � � 1,-15,Note%(B%),255
�#� �15,18);B%;�(3): K%=B%:LB%=B%
��
��
�-� K%=99 � � �15,18)�(6):� 1,0,55,0:LB%=99
�� �
�
�� �Kin(N%)
�ș"OS_Byte",151,&60,N%
�ș"OS_Byte",150,&60 � ,,N%
�
=N% � &BF
�
�� �Kin(N%)
�ș"OS_Byte",151,&60,N%
ș"OS_Byte",150,&60 � ,,N%

=N% � &BF

"� �_INT
,ș"OS_Byte",151,&62,&3F
6
@
LB%=99
JȠ 1
T*ChannelVoice 1 1
^
h� A%=0 � 48
r� Note%(A%)
|�
�'� 5,9,13,17,21,25,29,33,37,41,45,49
�)� 53,57,61,65,69,73,77,81,85,89,93,97
�5� 101,105,109,113,117,121,125,129,133,137,141,145
�5� 149,153,157,161,165,169,173,177,181,185,189,193
�	� 197
��
�
00000000  0d 00 0a 0f f4 3e 4b 65  79 62 6f 61 72 64 32 0d  |.....>Keyboard2.|
00000010  00 14 19 f4 20 42 4f 44  59 20 42 55 49 4c 44 20  |.... BODY BUILD |
00000020  4b 45 59 42 4f 41 52 44  0d 00 1e 1f f1 22 42 6f  |KEYBOARD....."Bo|
00000030  64 79 20 42 75 69 6c 64  20 4b 65 79 62 6f 61 72  |dy Build Keyboar|
00000040  64 20 54 45 53 54 22 0d  00 28 13 f1 22 62 79 20  |d TEST"..(.."by |
00000050  4d 69 6b 65 20 43 6f 6f  6b 22 0d 00 32 0f de 20  |Mike Cook"..2.. |
00000060  4e 6f 74 65 25 28 34 39  29 0d 00 3c 09 f2 5f 49  |Note%(49)..<.._I|
00000070  4e 54 0d 00 46 05 f5 0d  00 50 09 4b 25 3d 39 39  |NT..F....P.K%=99|
00000080  0d 00 5a 0f e3 20 41 25  3d 30 20 b8 20 34 38 0d  |..Z.. A%=0 . 48.|
00000090  00 64 0f 42 25 3d a4 4b  69 6e 28 41 25 29 0d 00  |.d.B%=.Kin(A%)..|
000000a0  6e 14 e7 20 28 42 25 20  80 20 26 38 30 29 3d 30  |n.. (B% . &80)=0|
000000b0  20 8c 0d 00 78 25 e7 20  4c 42 25 3c 3e 42 25 20  | ...x%. LB%<>B% |
000000c0  8c 20 d4 20 31 2c 2d 31  35 2c 4e 6f 74 65 25 28  |. . 1,-15,Note%(|
000000d0  42 25 29 2c 32 35 35 0d  00 82 23 f1 20 8a 31 35  |B%),255...#. .15|
000000e0  2c 31 38 29 3b 42 25 3b  89 28 33 29 3a 20 4b 25  |,18);B%;.(3): K%|
000000f0  3d 42 25 3a 4c 42 25 3d  42 25 0d 00 8c 05 cd 0d  |=B%:LB%=B%......|
00000100  00 96 05 ed 0d 00 a0 2d  e7 20 4b 25 3d 39 39 20  |.......-. K%=99 |
00000110  8c 20 f1 20 8a 31 35 2c  31 38 29 89 28 36 29 3a  |. . .15,18).(6):|
00000120  d4 20 31 2c 30 2c 35 35  2c 30 3a 4c 42 25 3d 39  |. 1,0,55,0:LB%=9|
00000130  39 0d 00 aa 07 fd 20 a3  0d 00 b4 04 0d 00 be 0e  |9..... .........|
00000140  dd 20 a4 4b 69 6e 28 4e  25 29 0d 00 c8 1a c8 99  |. .Kin(N%)......|
00000150  22 4f 53 5f 42 79 74 65  22 2c 31 35 31 2c 26 36  |"OS_Byte",151,&6|
00000160  30 2c 4e 25 0d 00 d2 1e  c8 99 22 4f 53 5f 42 79  |0,N%......"OS_By|
00000170  74 65 22 2c 31 35 30 2c  26 36 30 20 b8 20 2c 2c  |te",150,&60 . ,,|
00000180  4e 25 0d 00 dc 0d 3d 4e  25 20 80 20 26 42 46 0d  |N%....=N% . &BF.|
00000190  00 e6 04 0d 00 f0 0e dd  20 a4 4b 69 6e 28 4e 25  |........ .Kin(N%|
000001a0  29 0d 00 fa 1a c8 99 22  4f 53 5f 42 79 74 65 22  |)......"OS_Byte"|
000001b0  2c 31 35 31 2c 26 36 30  2c 4e 25 0d 01 04 1e c8  |,151,&60,N%.....|
000001c0  99 22 4f 53 5f 42 79 74  65 22 2c 31 35 30 2c 26  |."OS_Byte",150,&|
000001d0  36 30 20 b8 20 2c 2c 4e  25 0d 01 0e 0d 3d 4e 25  |60 . ,,N%....=N%|
000001e0  20 80 20 26 42 46 0d 01  18 04 0d 01 22 0b dd 20  | . &BF......".. |
000001f0  f2 5f 49 4e 54 0d 01 2c  1b c8 99 22 4f 53 5f 42  |._INT..,..."OS_B|
00000200  79 74 65 22 2c 31 35 31  2c 26 36 32 2c 26 33 46  |yte",151,&62,&3F|
00000210  0d 01 36 04 0d 01 40 0a  4c 42 25 3d 39 39 0d 01  |..6...@.LB%=99..|
00000220  4a 08 c8 a0 20 31 0d 01  54 15 2a 43 68 61 6e 6e  |J... 1..T.*Chann|
00000230  65 6c 56 6f 69 63 65 20  31 20 31 0d 01 5e 04 0d  |elVoice 1 1..^..|
00000240  01 68 0f e3 20 41 25 3d  30 20 b8 20 34 38 0d 01  |.h.. A%=0 . 48..|
00000250  72 0f f3 20 4e 6f 74 65  25 28 41 25 29 0d 01 7c  |r.. Note%(A%)..||
00000260  05 ed 0d 01 86 27 dc 20  35 2c 39 2c 31 33 2c 31  |.....'. 5,9,13,1|
00000270  37 2c 32 31 2c 32 35 2c  32 39 2c 33 33 2c 33 37  |7,21,25,29,33,37|
00000280  2c 34 31 2c 34 35 2c 34  39 0d 01 90 29 dc 20 35  |,41,45,49...). 5|
00000290  33 2c 35 37 2c 36 31 2c  36 35 2c 36 39 2c 37 33  |3,57,61,65,69,73|
000002a0  2c 37 37 2c 38 31 2c 38  35 2c 38 39 2c 39 33 2c  |,77,81,85,89,93,|
000002b0  39 37 0d 01 9a 35 dc 20  31 30 31 2c 31 30 35 2c  |97...5. 101,105,|
000002c0  31 30 39 2c 31 31 33 2c  31 31 37 2c 31 32 31 2c  |109,113,117,121,|
000002d0  31 32 35 2c 31 32 39 2c  31 33 33 2c 31 33 37 2c  |125,129,133,137,|
000002e0  31 34 31 2c 31 34 35 0d  01 a4 35 dc 20 31 34 39  |141,145...5. 149|
000002f0  2c 31 35 33 2c 31 35 37  2c 31 36 31 2c 31 36 35  |,153,157,161,165|
00000300  2c 31 36 39 2c 31 37 33  2c 31 37 37 2c 31 38 31  |,169,173,177,181|
00000310  2c 31 38 35 2c 31 38 39  2c 31 39 33 0d 01 ae 09  |,185,189,193....|
00000320  dc 20 31 39 37 0d 01 b8  05 e1 0d ff              |. 197.......|
0000032c