Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape29b_acorn_eu_1991_november.wav » Oxegene

Oxegene

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_tape29b_acorn_eu_1991_november.wav
Filename: Oxegene
Read OK:
File size: 064D bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
    0*KEY 10 CH."!MENU"|M
    1MODE7
    2VDU23;8202;0;0;0;
    3ON ERROR GOTO200
    4*FX200,0
   70T%=&4000
  140PROCenvs
  150*LOAD OXEGC 4000     
  160T%=&4000
  165*RUN MUSIC
  166PROCc("OXEGENE")
  170REPEAT
  180SOUND ?T%,T%?1,T%?2,T%?3:T%=T%+4
  190UNTILT%=&6668
  191REPEATUNTILADVAL(-5)=15 AND ADVAL(-6)=15 AND ADVAL(-7)=15 AND ADVAL(-8)=15
  195*FX13,4
  196?&220=&A6:?&221=&FF
  200IFZ%=-1 CALL!-4 ELSE END   
  210DEFPROCenvs
  220ENVELOPE1,1,0,0,0,1,1,1,110,-1,-1,-1,110,30
  230ENVELOPE2,1,0,0,0,1,1,1,90,-1,-1,-2,90,10
  240ENVELOPE3,1,0,0,-1,10,5,20,126,-1,0,-2,126,0
  250ENVELOPE4,1,0,0,0,1,1,1,126,-1,0,-1,126,87
  260ENVELOPE5,1,0,0,0,0,0,0,90,-3,-2,-2,90,63
  270ENVELOPE7,1,1,0,-1,1,1,1,126,-1,0,-2,126,60
  280ENVELOPE6,1,0,0,0,1,1,1,120,-1,0,-1,116,0
  290ENDPROC
  300DEF PROCc(A$) LOCAL L%:L%=(LEN(A$)+8)DIV2
  310VDU31,19-L%,10:PRINT"����";A$;"   "CHR$156
  320VDU31,19-L%,11:PRINT"����";A$;"   "CHR$156
  325ENDPROC
  330DEFPROCcode
  340FORN%=0TO1:P%=&C00:[OPT0
  350LDA &220:STA vec1:LDA &221:STA vec2
  360LDA #evnt MOD 256:STA &220
  361 LDX #1:.loop3 LDA#0:STA table,X:INX:CPX#4:BNE loop3
  370LDA #evnt DIV 256:STA &221:LDA #&4C:STA abc:RTS
  380.evnt PHA:TXA:PHA:TYA:PHA:LDA &318:STA x:LDA &319:STA y:LDX #1
  390.loop LDA table,X:JSR blank:INX:CPX #4:BNE loop
  400LDX #1:.loop1 LDA &810,X:LSR A:LSR A:LSR A:STA table,X:JSR mark:INX:CPX #4:BNE loop1
  410LDA x:STA &318:LDA y:STA &319:PLA:TAY:PLA:TAX:PLA:RTS:.abc BRK
  420.vec1 BRK
  430.vec2 BRK
  440.blank CMP #0:BNE ok:RTS:.ok STA t1:STX t2:LDA #31:JSR&FFEE
  450LDA #3:CLC:ADC t1:JSR &FFEE:LDA #17:CLC:ADC t2:JSR &FFEE:LDA #32:JSR &FFEE
  460LDA t1:LDX t2:RTS
  470.mark CMP #0:BNE ok1:RTS:.ok1 STA t1:STX t2:LDA #31:JSR&FFEE:LDA #3:CLC:ADC t1:JSR &FFEE:LDA #17:CLC:ADC t2:JSR &FFEE:LDA #255:JSR &FFEE:LDA t1:LDX t2:RTS
  480.table:BRK:BRK:BRK:BRK
  490.t1 BRK:.t2 BRK
  495.x BRK:.y BRK
  500]:NEXT:ENDPROC
*KEY 10 CH."!MENU"|M
�7
�23;8202;0;0;0;

� � �dH@
*FX200,0
FT%=&4000
�	�envs
�*LOAD OXEGC 4000     
�T%=&4000
�*RUN MUSIC
��c("OXEGENE")
��
� � ?T%,T%?1,T%?2,T%?3:T%=T%+4
�
�T%=&6668
�/���(-5)=15 � �(-6)=15 � �(-7)=15 � �(-8)=15
�*FX13,4
�?&220=&A6:?&221=&FF
��Z%=-1 �!-4 � �   
�
��envs
�(�1,1,0,0,0,1,1,1,110,-1,-1,-1,110,30
�&�2,1,0,0,0,1,1,1,90,-1,-1,-2,90,10
�)�3,1,0,0,-1,10,5,20,126,-1,0,-2,126,0
�'�4,1,0,0,0,1,1,1,126,-1,0,-1,126,87
&�5,1,0,0,0,0,0,0,90,-3,-2,-2,90,63
(�7,1,1,0,-1,1,1,1,126,-1,0,-2,126,60
&�6,1,0,0,0,1,1,1,120,-1,0,-1,116,0
"�
, � �c(A$) � L%:L%=(�(A$)+8)�2
6%�31,19-L%,10:�"����";A$;"   "�156
@%�31,19-L%,11:�"����";A$;"   "�156
E�
J
��code
T�N%=0�1:P%=&C00:[OPT0
^'LDA &220:STA vec1:LDA &221:STA vec2
hLDA #evnt � 256:STA &220
i8 LDX #1:.loop3 LDA#0:STA table,X:INX:CPX#4:BNE loop3
r1LDA #evnt � 256:STA &221:LDA #&4C:STA abc:RTS
|B.evnt PHA:TXA:PHA:TYA:PHA:LDA &318:STA x:LDA &319:STA y:LDX #1
�3.loop LDA table,X:JSR blank:INX:CPX #4:BNE loop
�XLDX #1:.loop1 LDA &810,X:LSR A:LSR A:LSR A:STA table,X:JSR mark:INX:CPX #4:BNE loop1
�BLDA x:STA &318:LDA y:STA &319:PLA:TAY:PLA:TAX:PLA:RTS:.abc BRK
�
.vec1 BRK
�
.vec2 BRK
�?.blank CMP #0:BNE ok:RTS:.ok STA t1:STX t2:LDA #31:JSR&FFEE
�NLDA #3:CLC:ADC t1:JSR &FFEE:LDA #17:CLC:ADC t2:JSR &FFEE:LDA #32:JSR &FFEE
�LDA t1:LDX t2:RTS
֞.mark CMP #0:BNE ok1:RTS:.ok1 STA t1:STX t2:LDA #31:JSR&FFEE:LDA #3:CLC:ADC t1:JSR &FFEE:LDA #17:CLC:ADC t2:JSR &FFEE:LDA #255:JSR &FFEE:LDA t1:LDX t2:RTS
�.table:BRK:BRK:BRK:BRK
�.t1 BRK:.t2 BRK
�.x BRK:.y BRK
�	]:�:�
�
00000000  0d 00 00 18 2a 4b 45 59  20 31 30 20 43 48 2e 22  |....*KEY 10 CH."|
00000010  21 4d 45 4e 55 22 7c 4d  0d 00 01 06 eb 37 0d 00  |!MENU"|M.....7..|
00000020  02 13 ef 32 33 3b 38 32  30 32 3b 30 3b 30 3b 30  |...23;8202;0;0;0|
00000030  3b 0d 00 03 0d ee 20 85  20 e5 8d 64 48 40 0d 00  |;..... . ..dH@..|
00000040  04 0c 2a 46 58 32 30 30  2c 30 0d 00 46 0c 54 25  |..*FX200,0..F.T%|
00000050  3d 26 34 30 30 30 0d 00  8c 09 f2 65 6e 76 73 0d  |=&4000.....envs.|
00000060  00 96 19 2a 4c 4f 41 44  20 4f 58 45 47 43 20 34  |...*LOAD OXEGC 4|
00000070  30 30 30 20 20 20 20 20  0d 00 a0 0c 54 25 3d 26  |000     ....T%=&|
00000080  34 30 30 30 0d 00 a5 0e  2a 52 55 4e 20 4d 55 53  |4000....*RUN MUS|
00000090  49 43 0d 00 a6 11 f2 63  28 22 4f 58 45 47 45 4e  |IC.....c("OXEGEN|
000000a0  45 22 29 0d 00 aa 05 f5  0d 00 b4 20 d4 20 3f 54  |E")........ . ?T|
000000b0  25 2c 54 25 3f 31 2c 54  25 3f 32 2c 54 25 3f 33  |%,T%?1,T%?2,T%?3|
000000c0  3a 54 25 3d 54 25 2b 34  0d 00 be 0d fd 54 25 3d  |:T%=T%+4.....T%=|
000000d0  26 36 36 36 38 0d 00 bf  2f f5 fd 96 28 2d 35 29  |&6668.../...(-5)|
000000e0  3d 31 35 20 80 20 96 28  2d 36 29 3d 31 35 20 80  |=15 . .(-6)=15 .|
000000f0  20 96 28 2d 37 29 3d 31  35 20 80 20 96 28 2d 38  | .(-7)=15 . .(-8|
00000100  29 3d 31 35 0d 00 c3 0b  2a 46 58 31 33 2c 34 0d  |)=15....*FX13,4.|
00000110  00 c4 17 3f 26 32 32 30  3d 26 41 36 3a 3f 26 32  |...?&220=&A6:?&2|
00000120  32 31 3d 26 46 46 0d 00  c8 16 e7 5a 25 3d 2d 31  |21=&FF.....Z%=-1|
00000130  20 d6 21 2d 34 20 8b 20  e0 20 20 20 0d 00 d2 0a  | .!-4 . .   ....|
00000140  dd f2 65 6e 76 73 0d 00  dc 28 e2 31 2c 31 2c 30  |..envs...(.1,1,0|
00000150  2c 30 2c 30 2c 31 2c 31  2c 31 2c 31 31 30 2c 2d  |,0,0,1,1,1,110,-|
00000160  31 2c 2d 31 2c 2d 31 2c  31 31 30 2c 33 30 0d 00  |1,-1,-1,110,30..|
00000170  e6 26 e2 32 2c 31 2c 30  2c 30 2c 30 2c 31 2c 31  |.&.2,1,0,0,0,1,1|
00000180  2c 31 2c 39 30 2c 2d 31  2c 2d 31 2c 2d 32 2c 39  |,1,90,-1,-1,-2,9|
00000190  30 2c 31 30 0d 00 f0 29  e2 33 2c 31 2c 30 2c 30  |0,10...).3,1,0,0|
000001a0  2c 2d 31 2c 31 30 2c 35  2c 32 30 2c 31 32 36 2c  |,-1,10,5,20,126,|
000001b0  2d 31 2c 30 2c 2d 32 2c  31 32 36 2c 30 0d 00 fa  |-1,0,-2,126,0...|
000001c0  27 e2 34 2c 31 2c 30 2c  30 2c 30 2c 31 2c 31 2c  |'.4,1,0,0,0,1,1,|
000001d0  31 2c 31 32 36 2c 2d 31  2c 30 2c 2d 31 2c 31 32  |1,126,-1,0,-1,12|
000001e0  36 2c 38 37 0d 01 04 26  e2 35 2c 31 2c 30 2c 30  |6,87...&.5,1,0,0|
000001f0  2c 30 2c 30 2c 30 2c 30  2c 39 30 2c 2d 33 2c 2d  |,0,0,0,0,90,-3,-|
00000200  32 2c 2d 32 2c 39 30 2c  36 33 0d 01 0e 28 e2 37  |2,-2,90,63...(.7|
00000210  2c 31 2c 31 2c 30 2c 2d  31 2c 31 2c 31 2c 31 2c  |,1,1,0,-1,1,1,1,|
00000220  31 32 36 2c 2d 31 2c 30  2c 2d 32 2c 31 32 36 2c  |126,-1,0,-2,126,|
00000230  36 30 0d 01 18 26 e2 36  2c 31 2c 30 2c 30 2c 30  |60...&.6,1,0,0,0|
00000240  2c 31 2c 31 2c 31 2c 31  32 30 2c 2d 31 2c 30 2c  |,1,1,1,120,-1,0,|
00000250  2d 31 2c 31 31 36 2c 30  0d 01 22 05 e1 0d 01 2c  |-1,116,0.."....,|
00000260  20 dd 20 f2 63 28 41 24  29 20 ea 20 4c 25 3a 4c  | . .c(A$) . L%:L|
00000270  25 3d 28 a9 28 41 24 29  2b 38 29 81 32 0d 01 36  |%=(.(A$)+8).2..6|
00000280  25 ef 33 31 2c 31 39 2d  4c 25 2c 31 30 3a f1 22  |%.31,19-L%,10:."|
00000290  84 9d 83 8d 22 3b 41 24  3b 22 20 20 20 22 bd 31  |....";A$;"   ".1|
000002a0  35 36 0d 01 40 25 ef 33  31 2c 31 39 2d 4c 25 2c  |56..@%.31,19-L%,|
000002b0  31 31 3a f1 22 84 9d 83  8d 22 3b 41 24 3b 22 20  |11:."....";A$;" |
000002c0  20 20 22 bd 31 35 36 0d  01 45 05 e1 0d 01 4a 0a  |  ".156..E....J.|
000002d0  dd f2 63 6f 64 65 0d 01  54 19 e3 4e 25 3d 30 b8  |..code..T..N%=0.|
000002e0  31 3a 50 25 3d 26 43 30  30 3a 5b 4f 50 54 30 0d  |1:P%=&C00:[OPT0.|
000002f0  01 5e 27 4c 44 41 20 26  32 32 30 3a 53 54 41 20  |.^'LDA &220:STA |
00000300  76 65 63 31 3a 4c 44 41  20 26 32 32 31 3a 53 54  |vec1:LDA &221:ST|
00000310  41 20 76 65 63 32 0d 01  68 1c 4c 44 41 20 23 65  |A vec2..h.LDA #e|
00000320  76 6e 74 20 83 20 32 35  36 3a 53 54 41 20 26 32  |vnt . 256:STA &2|
00000330  32 30 0d 01 69 38 20 4c  44 58 20 23 31 3a 2e 6c  |20..i8 LDX #1:.l|
00000340  6f 6f 70 33 20 4c 44 41  23 30 3a 53 54 41 20 74  |oop3 LDA#0:STA t|
00000350  61 62 6c 65 2c 58 3a 49  4e 58 3a 43 50 58 23 34  |able,X:INX:CPX#4|
00000360  3a 42 4e 45 20 6c 6f 6f  70 33 0d 01 72 31 4c 44  |:BNE loop3..r1LD|
00000370  41 20 23 65 76 6e 74 20  81 20 32 35 36 3a 53 54  |A #evnt . 256:ST|
00000380  41 20 26 32 32 31 3a 4c  44 41 20 23 26 34 43 3a  |A &221:LDA #&4C:|
00000390  53 54 41 20 61 62 63 3a  52 54 53 0d 01 7c 42 2e  |STA abc:RTS..|B.|
000003a0  65 76 6e 74 20 50 48 41  3a 54 58 41 3a 50 48 41  |evnt PHA:TXA:PHA|
000003b0  3a 54 59 41 3a 50 48 41  3a 4c 44 41 20 26 33 31  |:TYA:PHA:LDA &31|
000003c0  38 3a 53 54 41 20 78 3a  4c 44 41 20 26 33 31 39  |8:STA x:LDA &319|
000003d0  3a 53 54 41 20 79 3a 4c  44 58 20 23 31 0d 01 86  |:STA y:LDX #1...|
000003e0  33 2e 6c 6f 6f 70 20 4c  44 41 20 74 61 62 6c 65  |3.loop LDA table|
000003f0  2c 58 3a 4a 53 52 20 62  6c 61 6e 6b 3a 49 4e 58  |,X:JSR blank:INX|
00000400  3a 43 50 58 20 23 34 3a  42 4e 45 20 6c 6f 6f 70  |:CPX #4:BNE loop|
00000410  0d 01 90 58 4c 44 58 20  23 31 3a 2e 6c 6f 6f 70  |...XLDX #1:.loop|
00000420  31 20 4c 44 41 20 26 38  31 30 2c 58 3a 4c 53 52  |1 LDA &810,X:LSR|
00000430  20 41 3a 4c 53 52 20 41  3a 4c 53 52 20 41 3a 53  | A:LSR A:LSR A:S|
00000440  54 41 20 74 61 62 6c 65  2c 58 3a 4a 53 52 20 6d  |TA table,X:JSR m|
00000450  61 72 6b 3a 49 4e 58 3a  43 50 58 20 23 34 3a 42  |ark:INX:CPX #4:B|
00000460  4e 45 20 6c 6f 6f 70 31  0d 01 9a 42 4c 44 41 20  |NE loop1...BLDA |
00000470  78 3a 53 54 41 20 26 33  31 38 3a 4c 44 41 20 79  |x:STA &318:LDA y|
00000480  3a 53 54 41 20 26 33 31  39 3a 50 4c 41 3a 54 41  |:STA &319:PLA:TA|
00000490  59 3a 50 4c 41 3a 54 41  58 3a 50 4c 41 3a 52 54  |Y:PLA:TAX:PLA:RT|
000004a0  53 3a 2e 61 62 63 20 42  52 4b 0d 01 a4 0d 2e 76  |S:.abc BRK.....v|
000004b0  65 63 31 20 42 52 4b 0d  01 ae 0d 2e 76 65 63 32  |ec1 BRK.....vec2|
000004c0  20 42 52 4b 0d 01 b8 3f  2e 62 6c 61 6e 6b 20 43  | BRK...?.blank C|
000004d0  4d 50 20 23 30 3a 42 4e  45 20 6f 6b 3a 52 54 53  |MP #0:BNE ok:RTS|
000004e0  3a 2e 6f 6b 20 53 54 41  20 74 31 3a 53 54 58 20  |:.ok STA t1:STX |
000004f0  74 32 3a 4c 44 41 20 23  33 31 3a 4a 53 52 26 46  |t2:LDA #31:JSR&F|
00000500  46 45 45 0d 01 c2 4e 4c  44 41 20 23 33 3a 43 4c  |FEE...NLDA #3:CL|
00000510  43 3a 41 44 43 20 74 31  3a 4a 53 52 20 26 46 46  |C:ADC t1:JSR &FF|
00000520  45 45 3a 4c 44 41 20 23  31 37 3a 43 4c 43 3a 41  |EE:LDA #17:CLC:A|
00000530  44 43 20 74 32 3a 4a 53  52 20 26 46 46 45 45 3a  |DC t2:JSR &FFEE:|
00000540  4c 44 41 20 23 33 32 3a  4a 53 52 20 26 46 46 45  |LDA #32:JSR &FFE|
00000550  45 0d 01 cc 15 4c 44 41  20 74 31 3a 4c 44 58 20  |E....LDA t1:LDX |
00000560  74 32 3a 52 54 53 0d 01  d6 9e 2e 6d 61 72 6b 20  |t2:RTS.....mark |
00000570  43 4d 50 20 23 30 3a 42  4e 45 20 6f 6b 31 3a 52  |CMP #0:BNE ok1:R|
00000580  54 53 3a 2e 6f 6b 31 20  53 54 41 20 74 31 3a 53  |TS:.ok1 STA t1:S|
00000590  54 58 20 74 32 3a 4c 44  41 20 23 33 31 3a 4a 53  |TX t2:LDA #31:JS|
000005a0  52 26 46 46 45 45 3a 4c  44 41 20 23 33 3a 43 4c  |R&FFEE:LDA #3:CL|
000005b0  43 3a 41 44 43 20 74 31  3a 4a 53 52 20 26 46 46  |C:ADC t1:JSR &FF|
000005c0  45 45 3a 4c 44 41 20 23  31 37 3a 43 4c 43 3a 41  |EE:LDA #17:CLC:A|
000005d0  44 43 20 74 32 3a 4a 53  52 20 26 46 46 45 45 3a  |DC t2:JSR &FFEE:|
000005e0  4c 44 41 20 23 32 35 35  3a 4a 53 52 20 26 46 46  |LDA #255:JSR &FF|
000005f0  45 45 3a 4c 44 41 20 74  31 3a 4c 44 58 20 74 32  |EE:LDA t1:LDX t2|
00000600  3a 52 54 53 0d 01 e0 1a  2e 74 61 62 6c 65 3a 42  |:RTS.....table:B|
00000610  52 4b 3a 42 52 4b 3a 42  52 4b 3a 42 52 4b 0d 01  |RK:BRK:BRK:BRK..|
00000620  ea 13 2e 74 31 20 42 52  4b 3a 2e 74 32 20 42 52  |...t1 BRK:.t2 BR|
00000630  4b 0d 01 ef 11 2e 78 20  42 52 4b 3a 2e 79 20 42  |K.....x BRK:.y B|
00000640  52 4b 0d 01 f4 09 5d 3a  ed 3a e1 0d ff           |RK....]:.:...|
0000064d
Oxegene.m0
Oxegene.m1
Oxegene.m2
Oxegene.m4
Oxegene.m5