Home » Personal collection » Acorn ADFS disks » Archimedes » Rhythm_Box_11.ADF » !RBConvert/!RunImage
!RBConvert/!RunImage
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 » Archimedes » Rhythm_Box_11.ADF |
Filename: | !RBConvert/!RunImage |
Read OK: | ✔ |
File size: | 130D bytes |
Load address: | FFFFFB43 |
Exec address: | 6896A6B7 |
File contents
10 20PROCinit 30PROCmain 40END 50 60DEF PROCinit 70 DIM block 25*1024,template 1024,menudata 1024,icondata 1024 80 SYS "Wimp_Initialise",200,&4B534154,"RBConvert" TO ,task 90 !block=-1:block!4=0:block!8=0:block!12=68:block!16=68 100 block!20=&700301A:$(block+24)="!RBConvert"+CHR$0 110 SYS "Wimp_CreateIcon",,block TO baricon 120 quit=FALSE 130 140 iconptr=icondata 150 SYS "Wimp_OpenTemplate",,"<RBConvert$Dir>.Templates" 160 info=FNtemplate("progInfo") 170 SYS "Wimp_CloseTemplate" 180 optptr=iconptr 190 200 DIM loadarea 40*1024 210 DIM otherarea 129*176 220 230ENDPROC 240 250DEF FNtemplate(template$) 260 LOCAL handle 270 SYS "Wimp_LoadTemplate",,template,iconptr,icondata+1024,-1,template$,0 TO ,,iconptr 280 SYS "Wimp_CreateWindow",,template TO handle 290=handle 300 310DEF PROCmain 320 WHILE NOT quit 330 SYS "Wimp_Poll",,block TO reason 340 CASE reason OF 350 WHEN 0 : 360 WHEN 2 : SYS "Wimp_OpenWindow",,block 370 WHEN 3 : SYS "Wimp_CloseWindow",,block 380 WHEN 6 : PROCbuttons 390 WHEN 9 : PROCmenu 400 WHEN 17,18 : IF block!16=0 THEN quit=TRUE 410 IF block!16=3 THEN PROCload 420 ENDCASE 430 ENDWHILE 440ENDPROC 450 460DEF PROCopenwindow(window) 470 !block=window 480 SYS "Wimp_GetWindowState",,block 490 block!28=-1 500 SYS "Wimp_OpenWindow",,block 510ENDPROC 520: 530DEF PROCclosewindow(window) 540 !block=window 550 SYS "Wimp_CloseWindow",,block 560ENDPROC 570 580DEF FNheader(header$) 590 LOCAL length 600 header$=LEFT$(header$,12) 610 length=LEN(header$) 620 WHILE LEN(header$)<12:header$=header$+CHR$0:ENDWHILE 630 [OPT I 640 EQUS header$ 650 EQUB 7:EQUB 2:EQUB 7:EQUB 0 660 .currentheader 670 EQUD length*16:EQUD 44:EQUD 0 680 ] 690=I 700 710DEF FNoption(option$,submenu,flags,shade) 720 IF LEN(option$)*16+16>!currentheader THEN !currentheader=LEN(option$)*16+16 730 [OPT I 740 EQUD flags 750 EQUD submenu 760 EQUD &07000101-(shade*&400000) 770 EQUD optptr 780 EQUD -1 790 EQUD LEN(option$)+1 800 ] 810 $optptr=option$+CHR$0 820 optptr+=(LEN(option$)+1) 830=I 840 850DEF FNnullstring(ptr) 860 LOCAL string$ 870 WHILE ?ptr<>0 880 string$=string$+CHR$?ptr 890 ptr+=1 900 ENDWHILE 910=string$ 920 930DEF PROCbuttons 940 CASE block!12 OF 950 WHEN info : 960 WHEN -2 : IF block!8=2 THEN PROCcreatemenu 970 ENDCASE 980ENDPROC 990 1000DEF PROCcreatemenu 1010 P%=menudata 1020 I=2 1030 [OPT I 1040 FNheader("RBConvert") 1050 FNoption("Info",info,0,FALSE) 1060 FNoption("Quit",-1,128,FALSE) 1070 ] 1080 SYS "Wimp_CreateMenu",,menudata,block!0-64,184 1090ENDPROC 1100 1110DEF PROCmenu 1120 IF !block=1 THEN quit=TRUE 1130ENDPROC 1140 1150DEF PROCload 1160 IF block!40=&DC8 THEN 1170 PROCconvert(FNnullstring(block+44)) 1180 ENDIF 1190ENDPROC 1200 1210DEF PROCconvert(file$) 1220 1230A=OPENIN(file$):size=EXT#A:CLOSE#A:end=loadarea+size 1240SYS "OS_File",255,file$,loadarea,0 1250 1260A=loadarea?12:loadarea?12=13 1270IF $loadarea="!RhythmBoxII" THEN ENDPROC 1280loadarea?12=A 1290SYS "Hourglass_On" 1300$block="!RhythmBoxII" 1310 1320name=block+12 1330composer=block+44 1340songdef=block+76 1350voicetable=block+1100 1360barnumaddr=block+2124 1370bardefaddr=block+2128 1380 1390name$=file$ 1400WHILE INSTR(name$,":"):name$=MID$(name$,INSTR(name$,":")+1):ENDWHILE 1410WHILE INSTR(name$,"."):name$=MID$(name$,INSTR(name$,".")+1):ENDWHILE 1420 1430$name=LEFT$(name$,27) 1440$composer="Converted from RhythmBox" 1450 1460ptr=loadarea 1470done=FALSE 1480FORI=0 TO 255 1490 IF done THEN 1500 songdef!(I*4)=0 1510 ELSE 1520 IF !ptr=&FF THEN 1530 done=TRUE 1540 songdef!(I*4)=0 1550 ELSE 1560 bar=ptr?0 1570 loops=ptr?1 1580 IF loops=0 THEN loopto=0 ELSE loopto=1+ptr?3 1590 songdef?(I*4)=bar+1 1600 songdef?(I*4+1)=16 1610 songdef?(I*4+2)=loopto 1620 songdef?(I*4+3)=loops 1630 ENDIF 1640 ptr+=4 1650 ENDIF 1660NEXT 1670 1680done=FALSE 1690FORI=0 TO 31 1700 voicetable!(I*32)=0 1710 IF done THEN 1720 voicetable!(I*32+4)=0 1730 ELSE 1740 IF !ptr=0 THEN 1750 ptr+=4 1760 done=TRUE 1770 voicetable!(I*32+4)=0 1780 ELSE 1790 FORD=0 TO 27 1800 voicetable?(I*32+4+D)=?ptr 1810 ptr+=1 1820 NEXT 1830 ptr+=2 1840 ENDIF 1850 ENDIF 1860NEXT 1870 1880ptr2=otherarea 1890WHILE ptr<end 1900 bytes=?ptr 1910 byte=ptr?1 1920 ptr+=2 1930 $ptr2=STRING$(bytes,CHR$byte) 1940 ptr2+=bytes 1950ENDWHILE 1960bars=128 1970 1980FORI=0 TO 127 1990 tempo=((otherarea!(I*176)) AND &FFFF)/128 2000 beats=otherarea?(I*176+2) 2010 bardefaddr?(I*172)=tempo 2020 bardefaddr?(I*172+1)=beats 2030 2040 voices1=otherarea!(I*176+4) 2050 voices2=otherarea!(I*176+8) 2060 bardefaddr!(I*172+2)=voices1 2070 bardefaddr!(I*172+6)=voices2 2080 2090 FORD=0 TO 7 2100 stereo=otherarea!(I*176+12+D*4) AND &FFFF 2110 IF stereo=7 THEN stereo=6 2120 volume=((otherarea!(I*176+12+2+D*4) AND &FFFF)EOR &FFFF)+1 2130 bardefaddr?(I*172+10+D)=stereo 2140 bardefaddr?(I*172+18+D)=volume 2150 NEXT 2160 2170 FORD=0 TO 15 2180 bardefaddr?(I*172+26+D)=1 2190 NEXT 2200 bardefaddr!(I*172+42)=255 2210 sum=0 2220 FORD=0 TO 127 2230 p=otherarea?(I*176+48+D) 2240 sum+=p 2250 IF p>0 THEN 2260 p+=36 2270 ELSE 2280 IF D<8 THEN p=128 ELSE IF otherarea?(I*176+48+D-8)<>0 THEN p=128:p=0 2290 ENDIF 2300 bardefaddr?(I*172+44+D)=p 2310 NEXT 2320 IF sum<>0 THEN bars=I+1 2330NEXT 2340 2350!barnumaddr=bars 2360SYS "Hourglass_Off" 2370SYS "OS_File",10,file$,&DC8,0,block,bardefaddr+bars*172 2380 2390ENDPROC
�init �main (� 2 <� �init F? � block 25*1024,template 1024,menudata 1024,icondata 1024 P< ș "Wimp_Initialise",200,&4B534154,"RBConvert" � ,task Z; !block=-1:block!4=0:block!8=0:block!12=68:block!16=68 d3 block!20=&700301A:$(block+24)="!RBConvert"+�0 n+ ș "Wimp_CreateIcon",,block � baricon x quit=� � � iconptr=icondata �9 ș "Wimp_OpenTemplate",,"<RBConvert$Dir>.Templates" � info=�template("progInfo") � ș "Wimp_CloseTemplate" � optptr=iconptr � � � loadarea 40*1024 � � otherarea 129*176 � �� � �� �template(template$) � handle W ș "Wimp_LoadTemplate",,template,iconptr,icondata+1024,-1,template$,0 � ,,iconptr / ș "Wimp_CreateWindow",,template � handle "=handle , 6� �main @ ȕ � quit J& ș "Wimp_Poll",,block � reason T Ȏ reason � ^ � 0 : h+ � 2 : ș "Wimp_OpenWindow",,block r, � 3 : ș "Wimp_CloseWindow",,block | � 6 : �buttons � � 9 : �menu �) � 17,18 : � block!16=0 � quit=� �+ � block!16=3 � �load � � � � �� � �� �openwindow(window) � !block=window �% ș "Wimp_GetWindowState",,block � block!28=-1 �! ș "Wimp_OpenWindow",,block �� : � �closewindow(window) !block=window &" ș "Wimp_CloseWindow",,block 0� : D� �header(header$) N � length X header$=�header$,12) b length=�(header$) l+ ȕ �(header$)<12:header$=header$+�0:� v [OPT I � EQUS header$ �! EQUB 7:EQUB 2:EQUB 7:EQUB 0 � .currentheader �# EQUD length*16:EQUD 44:EQUD 0 � ] �=I � �*� �option(option$,submenu,flags,shade) �I � �(option$)*16+16>!currentheader � !currentheader=�(option$)*16+16 � [OPT I � EQUD flags � EQUD submenu �$ EQUD &07000101-(shade*&400000) EQUD optptr EQUD -1 EQUD �(option$)+1 ] * $optptr=option$+�0 4 optptr+=(�(option$)+1) >=I H R� �nullstring(ptr) \ � string$ f ȕ ?ptr<>0 p string$=string$+�?ptr z ptr+=1 � � �=string$ � �� �buttons � Ȏ block!12 � � � info : �, � -2 : � block!8=2 � �createmenu � � �� � �� �createmenu � P%=menudata � I=2 [OPT I �header("RBConvert") �option("Info",info,0,�) $ �option("Quit",-1,128,�) . ] 83 ș "Wimp_CreateMenu",,menudata,block!0-64,184 B� L V� �menu ` � !block=1 � quit=� j� t ~� �load � � block!40=&DC8 � �' �convert(�nullstring(block+44)) � � �� � �� �convert(file$) � �-A=�(file$):size=�#A:�#A:end=loadarea+size �%ș "OS_File",255,file$,loadarea,0 � � A=loadarea?12:loadarea?12=13 �"� $loadarea="!RhythmBoxII" � � loadarea?12=A ș "Hourglass_On" $block="!RhythmBoxII" (name=block+12 2composer=block+44 <songdef=block+76 Fvoicetable=block+1100 Pbarnumaddr=block+2124 Zbardefaddr=block+2128 d nname$=file$ x0ȕ �name$,":"):name$=�name$,�name$,":")+1):� �0ȕ �name$,"."):name$=�name$,�name$,".")+1):� � �$name=�name$,27) �($composer="Converted from RhythmBox" � �ptr=loadarea � done=� ��I=0 � 255 � � done � � songdef!(I*4)=0 � � � � !ptr=&FF � � done=� songdef!(I*4)=0 � bar=ptr?0 " loops=ptr?1 ,/ � loops=0 � loopto=0 � loopto=1+ptr?3 6 songdef?(I*4)=bar+1 @ songdef?(I*4+1)=16 J songdef?(I*4+2)=loopto T songdef?(I*4+3)=loops ^ � h ptr+=4 r � |� � � done=� � �I=0 � 31 � voicetable!(I*32)=0 � � done � � voicetable!(I*32+4)=0 � � � � !ptr=0 � � ptr+=4 � done=� � voicetable!(I*32+4)=0 � � � �D=0 � 27 & voicetable?(I*32+4+D)=?ptr ptr+=1 � & ptr+=2 0 � : � D� N Xptr2=otherarea bȕ ptr<end l bytes=?ptr v byte=ptr?1 � ptr+=2 � $ptr2=�bytes,�byte) � ptr2+=bytes �� �bars=128 � ��I=0 � 127 �- tempo=((otherarea!(I*176)) � &FFFF)/128 � beats=otherarea?(I*176+2) � bardefaddr?(I*172)=tempo � bardefaddr?(I*172+1)=beats � �! voices1=otherarea!(I*176+4) ! voices2=otherarea!(I*176+8) " bardefaddr!(I*172+2)=voices1 " bardefaddr!(I*172+6)=voices2 * �D=0 � 7 4/ stereo=otherarea!(I*176+12+D*4) � &FFFF > � stereo=7 � stereo=6 H> volume=((otherarea!(I*176+12+2+D*4) � &FFFF)� &FFFF)+1 R& bardefaddr?(I*172+10+D)=stereo \& bardefaddr?(I*172+18+D)=volume f � p z �D=0 � 15 �! bardefaddr?(I*172+26+D)=1 � � � bardefaddr!(I*172+42)=255 � sum=0 � �D=0 � 127 � p=otherarea?(I*176+48+D) � sum+=p � � p>0 � � p+=36 � � �C � D<8 � p=128 � � otherarea?(I*176+48+D-8)<>0 � p=128:p=0 � � �! bardefaddr?(I*172+44+D)=p � � sum<>0 � bars=I+1 � $ .!barnumaddr=bars 8ș "Hourglass_Off" B:ș "OS_File",10,file$,&DC8,0,block,bardefaddr+bars*172 L V� �
00000000 0d 00 0a 04 0d 00 14 09 f2 69 6e 69 74 0d 00 1e |.........init...| 00000010 09 f2 6d 61 69 6e 0d 00 28 05 e0 0d 00 32 04 0d |..main..(....2..| 00000020 00 3c 0b dd 20 f2 69 6e 69 74 0d 00 46 3f 20 20 |.<.. .init..F? | 00000030 de 20 62 6c 6f 63 6b 20 32 35 2a 31 30 32 34 2c |. block 25*1024,| 00000040 74 65 6d 70 6c 61 74 65 20 31 30 32 34 2c 6d 65 |template 1024,me| 00000050 6e 75 64 61 74 61 20 31 30 32 34 2c 69 63 6f 6e |nudata 1024,icon| 00000060 64 61 74 61 20 31 30 32 34 0d 00 50 3c 20 20 c8 |data 1024..P< .| 00000070 99 20 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 |. "Wimp_Initiali| 00000080 73 65 22 2c 32 30 30 2c 26 34 42 35 33 34 31 35 |se",200,&4B53415| 00000090 34 2c 22 52 42 43 6f 6e 76 65 72 74 22 20 b8 20 |4,"RBConvert" . | 000000a0 2c 74 61 73 6b 0d 00 5a 3b 20 20 21 62 6c 6f 63 |,task..Z; !bloc| 000000b0 6b 3d 2d 31 3a 62 6c 6f 63 6b 21 34 3d 30 3a 62 |k=-1:block!4=0:b| 000000c0 6c 6f 63 6b 21 38 3d 30 3a 62 6c 6f 63 6b 21 31 |lock!8=0:block!1| 000000d0 32 3d 36 38 3a 62 6c 6f 63 6b 21 31 36 3d 36 38 |2=68:block!16=68| 000000e0 0d 00 64 33 20 20 62 6c 6f 63 6b 21 32 30 3d 26 |..d3 block!20=&| 000000f0 37 30 30 33 30 31 41 3a 24 28 62 6c 6f 63 6b 2b |700301A:$(block+| 00000100 32 34 29 3d 22 21 52 42 43 6f 6e 76 65 72 74 22 |24)="!RBConvert"| 00000110 2b bd 30 0d 00 6e 2b 20 20 c8 99 20 22 57 69 6d |+.0..n+ .. "Wim| 00000120 70 5f 43 72 65 61 74 65 49 63 6f 6e 22 2c 2c 62 |p_CreateIcon",,b| 00000130 6c 6f 63 6b 20 b8 20 62 61 72 69 63 6f 6e 0d 00 |lock . baricon..| 00000140 78 0c 20 20 71 75 69 74 3d a3 0d 00 82 04 0d 00 |x. quit=.......| 00000150 8c 16 20 20 69 63 6f 6e 70 74 72 3d 69 63 6f 6e |.. iconptr=icon| 00000160 64 61 74 61 0d 00 96 39 20 20 c8 99 20 22 57 69 |data...9 .. "Wi| 00000170 6d 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 |mp_OpenTemplate"| 00000180 2c 2c 22 3c 52 42 43 6f 6e 76 65 72 74 24 44 69 |,,"<RBConvert$Di| 00000190 72 3e 2e 54 65 6d 70 6c 61 74 65 73 22 0d 00 a0 |r>.Templates"...| 000001a0 20 20 20 69 6e 66 6f 3d a4 74 65 6d 70 6c 61 74 | info=.templat| 000001b0 65 28 22 70 72 6f 67 49 6e 66 6f 22 29 0d 00 aa |e("progInfo")...| 000001c0 1d 20 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 |. .. "Wimp_Clos| 000001d0 65 54 65 6d 70 6c 61 74 65 22 0d 00 b4 14 20 20 |eTemplate".... | 000001e0 6f 70 74 70 74 72 3d 69 63 6f 6e 70 74 72 0d 00 |optptr=iconptr..| 000001f0 be 04 0d 00 c8 18 20 20 de 20 6c 6f 61 64 61 72 |...... . loadar| 00000200 65 61 20 34 30 2a 31 30 32 34 0d 00 d2 19 20 20 |ea 40*1024.... | 00000210 de 20 6f 74 68 65 72 61 72 65 61 20 31 32 39 2a |. otherarea 129*| 00000220 31 37 36 0d 00 dc 04 0d 00 e6 05 e1 0d 00 f0 04 |176.............| 00000230 0d 00 fa 1a dd 20 a4 74 65 6d 70 6c 61 74 65 28 |..... .template(| 00000240 74 65 6d 70 6c 61 74 65 24 29 0d 01 04 0e 20 20 |template$).... | 00000250 ea 20 68 61 6e 64 6c 65 0d 01 0e 57 20 20 c8 99 |. handle...W ..| 00000260 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c | "Wimp_LoadTempl| 00000270 61 74 65 22 2c 2c 74 65 6d 70 6c 61 74 65 2c 69 |ate",,template,i| 00000280 63 6f 6e 70 74 72 2c 69 63 6f 6e 64 61 74 61 2b |conptr,icondata+| 00000290 31 30 32 34 2c 2d 31 2c 74 65 6d 70 6c 61 74 65 |1024,-1,template| 000002a0 24 2c 30 20 b8 20 2c 2c 69 63 6f 6e 70 74 72 0d |$,0 . ,,iconptr.| 000002b0 01 18 2f 20 20 c8 99 20 22 57 69 6d 70 5f 43 72 |../ .. "Wimp_Cr| 000002c0 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d |eateWindow",,tem| 000002d0 70 6c 61 74 65 20 b8 20 68 61 6e 64 6c 65 0d 01 |plate . handle..| 000002e0 22 0b 3d 68 61 6e 64 6c 65 0d 01 2c 04 0d 01 36 |".=handle..,...6| 000002f0 0b dd 20 f2 6d 61 69 6e 0d 01 40 0f 20 20 c8 95 |.. .main..@. ..| 00000300 20 ac 20 71 75 69 74 0d 01 4a 26 20 20 20 20 c8 | . quit..J& .| 00000310 99 20 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 2c 62 |. "Wimp_Poll",,b| 00000320 6c 6f 63 6b 20 b8 20 72 65 61 73 6f 6e 0d 01 54 |lock . reason..T| 00000330 13 20 20 20 20 c8 8e 20 72 65 61 73 6f 6e 20 ca |. .. reason .| 00000340 0d 01 5e 0f 20 20 20 20 20 20 c9 20 30 20 3a 0d |..^. . 0 :.| 00000350 01 68 2b 20 20 20 20 20 20 c9 20 32 20 3a 20 c8 |.h+ . 2 : .| 00000360 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 |. "Wimp_OpenWind| 00000370 6f 77 22 2c 2c 62 6c 6f 63 6b 0d 01 72 2c 20 20 |ow",,block..r, | 00000380 20 20 20 20 c9 20 33 20 3a 20 c8 99 20 22 57 69 | . 3 : .. "Wi| 00000390 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c |mp_CloseWindow",| 000003a0 2c 62 6c 6f 63 6b 0d 01 7c 18 20 20 20 20 20 20 |,block..|. | 000003b0 c9 20 36 20 3a 20 f2 62 75 74 74 6f 6e 73 0d 01 |. 6 : .buttons..| 000003c0 86 15 20 20 20 20 20 20 c9 20 39 20 3a 20 f2 6d |.. . 9 : .m| 000003d0 65 6e 75 0d 01 90 29 20 20 20 20 20 20 c9 20 31 |enu...) . 1| 000003e0 37 2c 31 38 20 3a 20 e7 20 62 6c 6f 63 6b 21 31 |7,18 : . block!1| 000003f0 36 3d 30 20 8c 20 71 75 69 74 3d b9 0d 01 9a 2b |6=0 . quit=....+| 00000400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000410 20 20 20 e7 20 62 6c 6f 63 6b 21 31 36 3d 33 20 | . block!16=3 | 00000420 8c 20 f2 6c 6f 61 64 0d 01 a4 09 20 20 20 20 cb |. .load.... .| 00000430 0d 01 ae 07 20 20 ce 0d 01 b8 05 e1 0d 01 c2 04 |.... ..........| 00000440 0d 01 cc 19 dd 20 f2 6f 70 65 6e 77 69 6e 64 6f |..... .openwindo| 00000450 77 28 77 69 6e 64 6f 77 29 0d 01 d6 13 20 20 21 |w(window).... !| 00000460 62 6c 6f 63 6b 3d 77 69 6e 64 6f 77 0d 01 e0 25 |block=window...%| 00000470 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 | .. "Wimp_GetWi| 00000480 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 6c 6f 63 |ndowState",,bloc| 00000490 6b 0d 01 ea 11 20 20 62 6c 6f 63 6b 21 32 38 3d |k.... block!28=| 000004a0 2d 31 0d 01 f4 21 20 20 c8 99 20 22 57 69 6d 70 |-1...! .. "Wimp| 000004b0 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c |_OpenWindow",,bl| 000004c0 6f 63 6b 0d 01 fe 05 e1 0d 02 08 05 3a 0d 02 12 |ock.........:...| 000004d0 1a dd 20 f2 63 6c 6f 73 65 77 69 6e 64 6f 77 28 |.. .closewindow(| 000004e0 77 69 6e 64 6f 77 29 0d 02 1c 13 20 20 21 62 6c |window).... !bl| 000004f0 6f 63 6b 3d 77 69 6e 64 6f 77 0d 02 26 22 20 20 |ock=window..&" | 00000500 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 |.. "Wimp_CloseWi| 00000510 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b 0d 02 30 05 |ndow",,block..0.| 00000520 e1 0d 02 3a 04 0d 02 44 16 dd 20 a4 68 65 61 64 |...:...D.. .head| 00000530 65 72 28 68 65 61 64 65 72 24 29 0d 02 4e 0e 20 |er(header$)..N. | 00000540 20 ea 20 6c 65 6e 67 74 68 0d 02 58 1a 20 20 68 | . length..X. h| 00000550 65 61 64 65 72 24 3d c0 68 65 61 64 65 72 24 2c |eader$=.header$,| 00000560 31 32 29 0d 02 62 17 20 20 6c 65 6e 67 74 68 3d |12)..b. length=| 00000570 a9 28 68 65 61 64 65 72 24 29 0d 02 6c 2b 20 20 |.(header$)..l+ | 00000580 c8 95 20 a9 28 68 65 61 64 65 72 24 29 3c 31 32 |.. .(header$)<12| 00000590 3a 68 65 61 64 65 72 24 3d 68 65 61 64 65 72 24 |:header$=header$| 000005a0 2b bd 30 3a ce 0d 02 76 0c 20 20 5b 4f 50 54 20 |+.0:...v. [OPT | 000005b0 49 0d 02 80 12 20 20 45 51 55 53 20 68 65 61 64 |I.... EQUS head| 000005c0 65 72 24 0d 02 8a 21 20 20 45 51 55 42 20 37 3a |er$...! EQUB 7:| 000005d0 45 51 55 42 20 32 3a 45 51 55 42 20 37 3a 45 51 |EQUB 2:EQUB 7:EQ| 000005e0 55 42 20 30 0d 02 94 14 20 20 2e 63 75 72 72 65 |UB 0.... .curre| 000005f0 6e 74 68 65 61 64 65 72 0d 02 9e 23 20 20 45 51 |ntheader...# EQ| 00000600 55 44 20 6c 65 6e 67 74 68 2a 31 36 3a 45 51 55 |UD length*16:EQU| 00000610 44 20 34 34 3a 45 51 55 44 20 30 0d 02 a8 07 20 |D 44:EQUD 0.... | 00000620 20 5d 0d 02 b2 06 3d 49 0d 02 bc 04 0d 02 c6 2a | ]....=I.......*| 00000630 dd 20 a4 6f 70 74 69 6f 6e 28 6f 70 74 69 6f 6e |. .option(option| 00000640 24 2c 73 75 62 6d 65 6e 75 2c 66 6c 61 67 73 2c |$,submenu,flags,| 00000650 73 68 61 64 65 29 0d 02 d0 49 20 20 e7 20 a9 28 |shade)...I . .(| 00000660 6f 70 74 69 6f 6e 24 29 2a 31 36 2b 31 36 3e 21 |option$)*16+16>!| 00000670 63 75 72 72 65 6e 74 68 65 61 64 65 72 20 8c 20 |currentheader . | 00000680 21 63 75 72 72 65 6e 74 68 65 61 64 65 72 3d a9 |!currentheader=.| 00000690 28 6f 70 74 69 6f 6e 24 29 2a 31 36 2b 31 36 0d |(option$)*16+16.| 000006a0 02 da 0c 20 20 5b 4f 50 54 20 49 0d 02 e4 10 20 |... [OPT I.... | 000006b0 20 45 51 55 44 20 66 6c 61 67 73 0d 02 ee 12 20 | EQUD flags.... | 000006c0 20 45 51 55 44 20 73 75 62 6d 65 6e 75 0d 02 f8 | EQUD submenu...| 000006d0 24 20 20 45 51 55 44 20 26 30 37 30 30 30 31 30 |$ EQUD &0700010| 000006e0 31 2d 28 73 68 61 64 65 2a 26 34 30 30 30 30 30 |1-(shade*&400000| 000006f0 29 0d 03 02 11 20 20 45 51 55 44 20 6f 70 74 70 |).... EQUD optp| 00000700 74 72 0d 03 0c 0d 20 20 45 51 55 44 20 2d 31 0d |tr.... EQUD -1.| 00000710 03 16 17 20 20 45 51 55 44 20 a9 28 6f 70 74 69 |... EQUD .(opti| 00000720 6f 6e 24 29 2b 31 0d 03 20 07 20 20 5d 0d 03 2a |on$)+1.. . ]..*| 00000730 18 20 20 24 6f 70 74 70 74 72 3d 6f 70 74 69 6f |. $optptr=optio| 00000740 6e 24 2b bd 30 0d 03 34 1c 20 20 6f 70 74 70 74 |n$+.0..4. optpt| 00000750 72 2b 3d 28 a9 28 6f 70 74 69 6f 6e 24 29 2b 31 |r+=(.(option$)+1| 00000760 29 0d 03 3e 06 3d 49 0d 03 48 04 0d 03 52 16 dd |)..>.=I..H...R..| 00000770 20 a4 6e 75 6c 6c 73 74 72 69 6e 67 28 70 74 72 | .nullstring(ptr| 00000780 29 0d 03 5c 0f 20 20 ea 20 73 74 72 69 6e 67 24 |)..\. . string$| 00000790 0d 03 66 10 20 20 c8 95 20 3f 70 74 72 3c 3e 30 |..f. .. ?ptr<>0| 000007a0 0d 03 70 1d 20 20 20 20 73 74 72 69 6e 67 24 3d |..p. string$=| 000007b0 73 74 72 69 6e 67 24 2b bd 3f 70 74 72 0d 03 7a |string$+.?ptr..z| 000007c0 0e 20 20 20 20 70 74 72 2b 3d 31 0d 03 84 07 20 |. ptr+=1.... | 000007d0 20 ce 0d 03 8e 0c 3d 73 74 72 69 6e 67 24 0d 03 | .....=string$..| 000007e0 98 04 0d 03 a2 0e dd 20 f2 62 75 74 74 6f 6e 73 |....... .buttons| 000007f0 0d 03 ac 13 20 20 c8 8e 20 62 6c 6f 63 6b 21 31 |.... .. block!1| 00000800 32 20 ca 0d 03 b6 12 20 20 20 20 c9 20 69 6e 66 |2 ..... . inf| 00000810 6f 20 20 20 3a 0d 03 c0 2c 20 20 20 20 c9 20 20 |o :..., . | 00000820 20 20 20 2d 32 20 3a 20 e7 20 62 6c 6f 63 6b 21 | -2 : . block!| 00000830 38 3d 32 20 8c 20 f2 63 72 65 61 74 65 6d 65 6e |8=2 . .createmen| 00000840 75 0d 03 ca 07 20 20 cb 0d 03 d4 05 e1 0d 03 de |u.... .........| 00000850 04 0d 03 e8 11 dd 20 f2 63 72 65 61 74 65 6d 65 |...... .createme| 00000860 6e 75 0d 03 f2 11 20 20 50 25 3d 6d 65 6e 75 64 |nu.... P%=menud| 00000870 61 74 61 0d 03 fc 09 20 20 49 3d 32 0d 04 06 0c |ata.... I=2....| 00000880 20 20 5b 4f 50 54 20 49 0d 04 10 1a 20 20 a4 68 | [OPT I.... .h| 00000890 65 61 64 65 72 28 22 52 42 43 6f 6e 76 65 72 74 |eader("RBConvert| 000008a0 22 29 0d 04 1a 1e 20 20 a4 6f 70 74 69 6f 6e 28 |").... .option(| 000008b0 22 49 6e 66 6f 22 2c 69 6e 66 6f 2c 30 2c a3 29 |"Info",info,0,.)| 000008c0 0d 04 24 1e 20 20 a4 6f 70 74 69 6f 6e 28 22 51 |..$. .option("Q| 000008d0 75 69 74 22 2c 2d 31 2c 31 32 38 2c a3 29 0d 04 |uit",-1,128,.)..| 000008e0 2e 07 20 20 5d 0d 04 38 33 20 20 c8 99 20 22 57 |.. ]..83 .. "W| 000008f0 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 00000900 2c 6d 65 6e 75 64 61 74 61 2c 62 6c 6f 63 6b 21 |,menudata,block!| 00000910 30 2d 36 34 2c 31 38 34 0d 04 42 05 e1 0d 04 4c |0-64,184..B....L| 00000920 04 0d 04 56 0b dd 20 f2 6d 65 6e 75 0d 04 60 19 |...V.. .menu..`.| 00000930 20 20 e7 20 21 62 6c 6f 63 6b 3d 31 20 8c 20 71 | . !block=1 . q| 00000940 75 69 74 3d b9 0d 04 6a 05 e1 0d 04 74 04 0d 04 |uit=...j....t...| 00000950 7e 0b dd 20 f2 6c 6f 61 64 0d 04 88 17 20 20 e7 |~.. .load.... .| 00000960 20 62 6c 6f 63 6b 21 34 30 3d 26 44 43 38 20 8c | block!40=&DC8 .| 00000970 0d 04 92 27 20 20 20 20 f2 63 6f 6e 76 65 72 74 |...' .convert| 00000980 28 a4 6e 75 6c 6c 73 74 72 69 6e 67 28 62 6c 6f |(.nullstring(blo| 00000990 63 6b 2b 34 34 29 29 0d 04 9c 07 20 20 cd 0d 04 |ck+44)).... ...| 000009a0 a6 05 e1 0d 04 b0 04 0d 04 ba 15 dd 20 f2 63 6f |............ .co| 000009b0 6e 76 65 72 74 28 66 69 6c 65 24 29 0d 04 c4 04 |nvert(file$)....| 000009c0 0d 04 ce 2d 41 3d 8e 28 66 69 6c 65 24 29 3a 73 |...-A=.(file$):s| 000009d0 69 7a 65 3d a2 23 41 3a d9 23 41 3a 65 6e 64 3d |ize=.#A:.#A:end=| 000009e0 6c 6f 61 64 61 72 65 61 2b 73 69 7a 65 0d 04 d8 |loadarea+size...| 000009f0 25 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 32 35 |%.. "OS_File",25| 00000a00 35 2c 66 69 6c 65 24 2c 6c 6f 61 64 61 72 65 61 |5,file$,loadarea| 00000a10 2c 30 0d 04 e2 04 0d 04 ec 20 41 3d 6c 6f 61 64 |,0....... A=load| 00000a20 61 72 65 61 3f 31 32 3a 6c 6f 61 64 61 72 65 61 |area?12:loadarea| 00000a30 3f 31 32 3d 31 33 0d 04 f6 22 e7 20 24 6c 6f 61 |?12=13...". $loa| 00000a40 64 61 72 65 61 3d 22 21 52 68 79 74 68 6d 42 6f |darea="!RhythmBo| 00000a50 78 49 49 22 20 8c 20 e1 0d 05 00 11 6c 6f 61 64 |xII" . .....load| 00000a60 61 72 65 61 3f 31 32 3d 41 0d 05 0a 15 c8 99 20 |area?12=A...... | 00000a70 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 05 |"Hourglass_On"..| 00000a80 14 19 24 62 6c 6f 63 6b 3d 22 21 52 68 79 74 68 |..$block="!Rhyth| 00000a90 6d 42 6f 78 49 49 22 0d 05 1e 04 0d 05 28 11 6e |mBoxII"......(.n| 00000aa0 61 6d 65 3d 62 6c 6f 63 6b 2b 31 32 0d 05 32 15 |ame=block+12..2.| 00000ab0 63 6f 6d 70 6f 73 65 72 3d 62 6c 6f 63 6b 2b 34 |composer=block+4| 00000ac0 34 0d 05 3c 14 73 6f 6e 67 64 65 66 3d 62 6c 6f |4..<.songdef=blo| 00000ad0 63 6b 2b 37 36 0d 05 46 19 76 6f 69 63 65 74 61 |ck+76..F.voiceta| 00000ae0 62 6c 65 3d 62 6c 6f 63 6b 2b 31 31 30 30 0d 05 |ble=block+1100..| 00000af0 50 19 62 61 72 6e 75 6d 61 64 64 72 3d 62 6c 6f |P.barnumaddr=blo| 00000b00 63 6b 2b 32 31 32 34 0d 05 5a 19 62 61 72 64 65 |ck+2124..Z.barde| 00000b10 66 61 64 64 72 3d 62 6c 6f 63 6b 2b 32 31 32 38 |faddr=block+2128| 00000b20 0d 05 64 04 0d 05 6e 0f 6e 61 6d 65 24 3d 66 69 |..d...n.name$=fi| 00000b30 6c 65 24 0d 05 78 30 c8 95 20 a7 6e 61 6d 65 24 |le$..x0.. .name$| 00000b40 2c 22 3a 22 29 3a 6e 61 6d 65 24 3d c1 6e 61 6d |,":"):name$=.nam| 00000b50 65 24 2c a7 6e 61 6d 65 24 2c 22 3a 22 29 2b 31 |e$,.name$,":")+1| 00000b60 29 3a ce 0d 05 82 30 c8 95 20 a7 6e 61 6d 65 24 |):....0.. .name$| 00000b70 2c 22 2e 22 29 3a 6e 61 6d 65 24 3d c1 6e 61 6d |,"."):name$=.nam| 00000b80 65 24 2c a7 6e 61 6d 65 24 2c 22 2e 22 29 2b 31 |e$,.name$,".")+1| 00000b90 29 3a ce 0d 05 8c 04 0d 05 96 14 24 6e 61 6d 65 |):.........$name| 00000ba0 3d c0 6e 61 6d 65 24 2c 32 37 29 0d 05 a0 28 24 |=.name$,27)...($| 00000bb0 63 6f 6d 70 6f 73 65 72 3d 22 43 6f 6e 76 65 72 |composer="Conver| 00000bc0 74 65 64 20 66 72 6f 6d 20 52 68 79 74 68 6d 42 |ted from RhythmB| 00000bd0 6f 78 22 0d 05 aa 04 0d 05 b4 10 70 74 72 3d 6c |ox"........ptr=l| 00000be0 6f 61 64 61 72 65 61 0d 05 be 0a 64 6f 6e 65 3d |oadarea....done=| 00000bf0 a3 0d 05 c8 0e e3 49 3d 30 20 b8 20 32 35 35 0d |......I=0 . 255.| 00000c00 05 d2 0e 20 20 e7 20 64 6f 6e 65 20 8c 0d 05 dc |... . done ....| 00000c10 17 20 20 20 20 73 6f 6e 67 64 65 66 21 28 49 2a |. songdef!(I*| 00000c20 34 29 3d 30 0d 05 e6 07 20 20 cc 0d 05 f0 14 20 |4)=0.... ..... | 00000c30 20 20 20 e7 20 21 70 74 72 3d 26 46 46 20 8c 0d | . !ptr=&FF ..| 00000c40 05 fa 10 20 20 20 20 20 20 64 6f 6e 65 3d b9 0d |... done=..| 00000c50 06 04 19 20 20 20 20 20 20 73 6f 6e 67 64 65 66 |... songdef| 00000c60 21 28 49 2a 34 29 3d 30 0d 06 0e 09 20 20 20 20 |!(I*4)=0.... | 00000c70 cc 0d 06 18 13 20 20 20 20 20 20 62 61 72 3d 70 |..... bar=p| 00000c80 74 72 3f 30 0d 06 22 15 20 20 20 20 20 20 6c 6f |tr?0..". lo| 00000c90 6f 70 73 3d 70 74 72 3f 31 0d 06 2c 2f 20 20 20 |ops=ptr?1..,/ | 00000ca0 20 20 20 e7 20 6c 6f 6f 70 73 3d 30 20 8c 20 6c | . loops=0 . l| 00000cb0 6f 6f 70 74 6f 3d 30 20 8b 20 6c 6f 6f 70 74 6f |oopto=0 . loopto| 00000cc0 3d 31 2b 70 74 72 3f 33 0d 06 36 1d 20 20 20 20 |=1+ptr?3..6. | 00000cd0 20 20 73 6f 6e 67 64 65 66 3f 28 49 2a 34 29 3d | songdef?(I*4)=| 00000ce0 62 61 72 2b 31 0d 06 40 1c 20 20 20 20 20 20 73 |bar+1..@. s| 00000cf0 6f 6e 67 64 65 66 3f 28 49 2a 34 2b 31 29 3d 31 |ongdef?(I*4+1)=1| 00000d00 36 0d 06 4a 20 20 20 20 20 20 20 73 6f 6e 67 64 |6..J songd| 00000d10 65 66 3f 28 49 2a 34 2b 32 29 3d 6c 6f 6f 70 74 |ef?(I*4+2)=loopt| 00000d20 6f 0d 06 54 1f 20 20 20 20 20 20 73 6f 6e 67 64 |o..T. songd| 00000d30 65 66 3f 28 49 2a 34 2b 33 29 3d 6c 6f 6f 70 73 |ef?(I*4+3)=loops| 00000d40 0d 06 5e 09 20 20 20 20 cd 0d 06 68 0e 20 20 20 |..^. ...h. | 00000d50 20 70 74 72 2b 3d 34 0d 06 72 07 20 20 cd 0d 06 | ptr+=4..r. ...| 00000d60 7c 05 ed 0d 06 86 04 0d 06 90 0a 64 6f 6e 65 3d ||..........done=| 00000d70 a3 0d 06 9a 0d e3 49 3d 30 20 b8 20 33 31 0d 06 |......I=0 . 31..| 00000d80 a4 19 20 20 76 6f 69 63 65 74 61 62 6c 65 21 28 |.. voicetable!(| 00000d90 49 2a 33 32 29 3d 30 0d 06 ae 0e 20 20 e7 20 64 |I*32)=0.... . d| 00000da0 6f 6e 65 20 8c 0d 06 b8 1d 20 20 20 20 76 6f 69 |one ..... voi| 00000db0 63 65 74 61 62 6c 65 21 28 49 2a 33 32 2b 34 29 |cetable!(I*32+4)| 00000dc0 3d 30 0d 06 c2 07 20 20 cc 0d 06 cc 12 20 20 20 |=0.... ..... | 00000dd0 20 e7 20 21 70 74 72 3d 30 20 8c 0d 06 d6 10 20 | . !ptr=0 ..... | 00000de0 20 20 20 20 20 70 74 72 2b 3d 34 0d 06 e0 10 20 | ptr+=4.... | 00000df0 20 20 20 20 20 64 6f 6e 65 3d b9 0d 06 ea 1f 20 | done=..... | 00000e00 20 20 20 20 20 76 6f 69 63 65 74 61 62 6c 65 21 | voicetable!| 00000e10 28 49 2a 33 32 2b 34 29 3d 30 0d 06 f4 09 20 20 |(I*32+4)=0.... | 00000e20 20 20 cc 0d 06 fe 13 20 20 20 20 20 20 e3 44 3d | ..... .D=| 00000e30 30 20 b8 20 32 37 0d 07 08 26 20 20 20 20 20 20 |0 . 27...& | 00000e40 20 20 76 6f 69 63 65 74 61 62 6c 65 3f 28 49 2a | voicetable?(I*| 00000e50 33 32 2b 34 2b 44 29 3d 3f 70 74 72 0d 07 12 12 |32+4+D)=?ptr....| 00000e60 20 20 20 20 20 20 20 20 70 74 72 2b 3d 31 0d 07 | ptr+=1..| 00000e70 1c 0b 20 20 20 20 20 20 ed 0d 07 26 10 20 20 20 |.. ...&. | 00000e80 20 20 20 70 74 72 2b 3d 32 0d 07 30 09 20 20 20 | ptr+=2..0. | 00000e90 20 cd 0d 07 3a 07 20 20 cd 0d 07 44 05 ed 0d 07 | ...:. ...D....| 00000ea0 4e 04 0d 07 58 12 70 74 72 32 3d 6f 74 68 65 72 |N...X.ptr2=other| 00000eb0 61 72 65 61 0d 07 62 0e c8 95 20 70 74 72 3c 65 |area..b... ptr<e| 00000ec0 6e 64 0d 07 6c 10 20 20 62 79 74 65 73 3d 3f 70 |nd..l. bytes=?p| 00000ed0 74 72 0d 07 76 10 20 20 62 79 74 65 3d 70 74 72 |tr..v. byte=ptr| 00000ee0 3f 31 0d 07 80 0c 20 20 70 74 72 2b 3d 32 0d 07 |?1.... ptr+=2..| 00000ef0 8a 19 20 20 24 70 74 72 32 3d c4 62 79 74 65 73 |.. $ptr2=.bytes| 00000f00 2c bd 62 79 74 65 29 0d 07 94 11 20 20 70 74 72 |,.byte).... ptr| 00000f10 32 2b 3d 62 79 74 65 73 0d 07 9e 05 ce 0d 07 a8 |2+=bytes........| 00000f20 0c 62 61 72 73 3d 31 32 38 0d 07 b2 04 0d 07 bc |.bars=128.......| 00000f30 0e e3 49 3d 30 20 b8 20 31 32 37 0d 07 c6 2d 20 |..I=0 . 127...- | 00000f40 20 74 65 6d 70 6f 3d 28 28 6f 74 68 65 72 61 72 | tempo=((otherar| 00000f50 65 61 21 28 49 2a 31 37 36 29 29 20 80 20 26 46 |ea!(I*176)) . &F| 00000f60 46 46 46 29 2f 31 32 38 0d 07 d0 1f 20 20 62 65 |FFF)/128.... be| 00000f70 61 74 73 3d 6f 74 68 65 72 61 72 65 61 3f 28 49 |ats=otherarea?(I| 00000f80 2a 31 37 36 2b 32 29 0d 07 da 1e 20 20 62 61 72 |*176+2).... bar| 00000f90 64 65 66 61 64 64 72 3f 28 49 2a 31 37 32 29 3d |defaddr?(I*172)=| 00000fa0 74 65 6d 70 6f 0d 07 e4 20 20 20 62 61 72 64 65 |tempo... barde| 00000fb0 66 61 64 64 72 3f 28 49 2a 31 37 32 2b 31 29 3d |faddr?(I*172+1)=| 00000fc0 62 65 61 74 73 0d 07 ee 04 0d 07 f8 21 20 20 76 |beats.......! v| 00000fd0 6f 69 63 65 73 31 3d 6f 74 68 65 72 61 72 65 61 |oices1=otherarea| 00000fe0 21 28 49 2a 31 37 36 2b 34 29 0d 08 02 21 20 20 |!(I*176+4)...! | 00000ff0 76 6f 69 63 65 73 32 3d 6f 74 68 65 72 61 72 65 |voices2=otherare| 00001000 61 21 28 49 2a 31 37 36 2b 38 29 0d 08 0c 22 20 |a!(I*176+8)..." | 00001010 20 62 61 72 64 65 66 61 64 64 72 21 28 49 2a 31 | bardefaddr!(I*1| 00001020 37 32 2b 32 29 3d 76 6f 69 63 65 73 31 0d 08 16 |72+2)=voices1...| 00001030 22 20 20 62 61 72 64 65 66 61 64 64 72 21 28 49 |" bardefaddr!(I| 00001040 2a 31 37 32 2b 36 29 3d 76 6f 69 63 65 73 32 0d |*172+6)=voices2.| 00001050 08 20 04 0d 08 2a 0e 20 20 e3 44 3d 30 20 b8 20 |. ...*. .D=0 . | 00001060 37 0d 08 34 2f 20 20 20 20 73 74 65 72 65 6f 3d |7..4/ stereo=| 00001070 6f 74 68 65 72 61 72 65 61 21 28 49 2a 31 37 36 |otherarea!(I*176| 00001080 2b 31 32 2b 44 2a 34 29 20 80 20 26 46 46 46 46 |+12+D*4) . &FFFF| 00001090 0d 08 3e 1d 20 20 20 20 e7 20 73 74 65 72 65 6f |..>. . stereo| 000010a0 3d 37 20 8c 20 73 74 65 72 65 6f 3d 36 0d 08 48 |=7 . stereo=6..H| 000010b0 3e 20 20 20 20 76 6f 6c 75 6d 65 3d 28 28 6f 74 |> volume=((ot| 000010c0 68 65 72 61 72 65 61 21 28 49 2a 31 37 36 2b 31 |herarea!(I*176+1| 000010d0 32 2b 32 2b 44 2a 34 29 20 80 20 26 46 46 46 46 |2+2+D*4) . &FFFF| 000010e0 29 82 20 26 46 46 46 46 29 2b 31 0d 08 52 26 20 |). &FFFF)+1..R& | 000010f0 20 20 20 62 61 72 64 65 66 61 64 64 72 3f 28 49 | bardefaddr?(I| 00001100 2a 31 37 32 2b 31 30 2b 44 29 3d 73 74 65 72 65 |*172+10+D)=stere| 00001110 6f 0d 08 5c 26 20 20 20 20 62 61 72 64 65 66 61 |o..\& bardefa| 00001120 64 64 72 3f 28 49 2a 31 37 32 2b 31 38 2b 44 29 |ddr?(I*172+18+D)| 00001130 3d 76 6f 6c 75 6d 65 0d 08 66 07 20 20 ed 0d 08 |=volume..f. ...| 00001140 70 04 0d 08 7a 0f 20 20 e3 44 3d 30 20 b8 20 31 |p...z. .D=0 . 1| 00001150 35 0d 08 84 21 20 20 20 20 62 61 72 64 65 66 61 |5...! bardefa| 00001160 64 64 72 3f 28 49 2a 31 37 32 2b 32 36 2b 44 29 |ddr?(I*172+26+D)| 00001170 3d 31 0d 08 8e 07 20 20 ed 0d 08 98 1f 20 20 62 |=1.... ..... b| 00001180 61 72 64 65 66 61 64 64 72 21 28 49 2a 31 37 32 |ardefaddr!(I*172| 00001190 2b 34 32 29 3d 32 35 35 0d 08 a2 0b 20 20 73 75 |+42)=255.... su| 000011a0 6d 3d 30 0d 08 ac 10 20 20 e3 44 3d 30 20 b8 20 |m=0.... .D=0 . | 000011b0 31 32 37 0d 08 b6 20 20 20 20 20 70 3d 6f 74 68 |127... p=oth| 000011c0 65 72 61 72 65 61 3f 28 49 2a 31 37 36 2b 34 38 |erarea?(I*176+48| 000011d0 2b 44 29 0d 08 c0 0e 20 20 20 20 73 75 6d 2b 3d |+D).... sum+=| 000011e0 70 0d 08 ca 0f 20 20 20 20 e7 20 70 3e 30 20 8c |p.... . p>0 .| 000011f0 0d 08 d4 0f 20 20 20 20 20 20 70 2b 3d 33 36 0d |.... p+=36.| 00001200 08 de 09 20 20 20 20 cc 0d 08 e8 43 20 20 20 20 |... ....C | 00001210 20 20 e7 20 44 3c 38 20 8c 20 70 3d 31 32 38 20 | . D<8 . p=128 | 00001220 8b 20 e7 20 6f 74 68 65 72 61 72 65 61 3f 28 49 |. . otherarea?(I| 00001230 2a 31 37 36 2b 34 38 2b 44 2d 38 29 3c 3e 30 20 |*176+48+D-8)<>0 | 00001240 8c 20 70 3d 31 32 38 3a 70 3d 30 0d 08 f2 09 20 |. p=128:p=0.... | 00001250 20 20 20 cd 0d 08 fc 21 20 20 20 20 62 61 72 64 | ....! bard| 00001260 65 66 61 64 64 72 3f 28 49 2a 31 37 32 2b 34 34 |efaddr?(I*172+44| 00001270 2b 44 29 3d 70 0d 09 06 07 20 20 ed 0d 09 10 19 |+D)=p.... .....| 00001280 20 20 e7 20 73 75 6d 3c 3e 30 20 8c 20 62 61 72 | . sum<>0 . bar| 00001290 73 3d 49 2b 31 0d 09 1a 05 ed 0d 09 24 04 0d 09 |s=I+1.......$...| 000012a0 2e 14 21 62 61 72 6e 75 6d 61 64 64 72 3d 62 61 |..!barnumaddr=ba| 000012b0 72 73 0d 09 38 16 c8 99 20 22 48 6f 75 72 67 6c |rs..8... "Hourgl| 000012c0 61 73 73 5f 4f 66 66 22 0d 09 42 3a c8 99 20 22 |ass_Off"..B:.. "| 000012d0 4f 53 5f 46 69 6c 65 22 2c 31 30 2c 66 69 6c 65 |OS_File",10,file| 000012e0 24 2c 26 44 43 38 2c 30 2c 62 6c 6f 63 6b 2c 62 |$,&DC8,0,block,b| 000012f0 61 72 64 65 66 61 64 64 72 2b 62 61 72 73 2a 31 |ardefaddr+bars*1| 00001300 37 32 0d 09 4c 04 0d 09 56 05 e1 0d ff |72..L...V....| 0000130d