RANDOMIZE TIMER BG 1 MAXIMAL=64 GLOBAL X DIM GLOBAL V0ON(MAXIMAL),V1ON(MAXIMAL),V2ON(MAXIMAL),V3ON(MAXIMAL) DIM GLOBAL TR0(127),TR1(127),TR2(127),TR3(127) GLOBAL LROM$ GOSUB INIT TOUCHSCREEN FONT 128 GOSUB START BG COPY 0,0,20,16 TO 0,0 ATTR 5 SOUND SOURCE $A000 GOSUB LSONG DO SX=TOUCH.X SY=TOUCH.Y XT=SX/8 YT=SY/8 POS=X+XT-2 IF TOUCH AND XT>1 AND XT<20 AND YT>5 AND YT<8 AND TSPLAY=1 THEN IF SX>TXT AND X>0 THEN X=X-1 IF SX4 AND XT<9 AND YT>14 THEN IF SX>TXT AND TR<63 THEN TR=TR+0.5 IF SX0 THEN TR=TR-0.5 TXT=SX END IF IF TAP AND XT>17 AND YT>14 THEN SWAP DEL,TDEL IF DEL=1 THEN ATTR 4 CELL 18,15,11 CELL 19,15,12 ATTR 5 ELSE ATTR 6 CELL 18,15,11 CELL 19,15,12 ATTR 5 END IF END IF NUMBER 9,15,INT(TR+1),2 IF TAP AND INT(XT)>1 AND YT>0 AND YT<2 THEN IF DEL=0 THEN CELL XT,1,64+TR TR0(POS)=INT(TR) V0ON(POS)=1 TRACK TR,0 END IF IF DEL=1 THEN ATTR 5 CELL XT,1,2 V0ON(POS)=0 ATTR 4 END IF END IF IF TAP AND INT(XT)>1 AND YT>3 AND YT<5 THEN IF DEL=0 THEN CELL XT,4,64+TR TR1(POS)=INT(TR) V1ON(POS)=1 TRACK TR,0 END IF IF DEL=1 THEN ATTR 5 CELL XT,4,2 V1ON(POS)=0 ATTR 4 END IF END IF IF TAP AND INT(XT)>1 AND YT>8 AND YT<10 THEN IF DEL=0 THEN CELL XT,9,64+TR TR2(POS)=INT(TR) V2ON(POS)=1 TRACK TR,0 END IF IF DEL=1 THEN ATTR 5 CELL XT,9,2 V2ON(POS)=0 ATTR 4 END IF END IF IF TAP AND INT(XT)>1 AND YT>11 AND YT<13 THEN IF DEL=0 THEN CELL XT,12,64+TR TR3(POS)=INT(TR) V3ON(POS)=1 TRACK TR,0 END IF IF DEL=1 THEN ATTR 5 CELL XT,12,2 V3ON(POS)=0 ATTR 4 END IF END IF ATTR 5 IF TAP AND XT>1 AND XT<4 AND YT>14 AND YT<16 THEN SWAP SPLAY,TSPLAY SEQTIMER=TIMER IF SPLAY=1 THEN SQT=POS X=POS ATTR 4 CELL 2,15,43 CELL 3,15,44 ATTR 5 ELSE STOP SQT=0 X=0 ATTR 6 CELL 2,15,43 CELL 3,15,44 ATTR 5 CALL DRSEQ END IF END IF IF TAP AND XT>15 AND XT<18 AND YT>14 AND YT<16 THEN GOSUB MENUE END IF IF TAP AND XT>12 AND XT<15 AND YT>14 AND YT<16 THEN GOSUB SSONG END IF IF TAP AND XT>9 AND XT<12 AND YT>14 AND YT<16 THEN GOSUB INIT GOSUB LSONG END IF IF SPLAY=1 THEN GOSUB SEQUENCE P0=PEEK($FF43) P1=PEEK($FF4F) P2=PEEK($FF5B) P3=PEEK($FF67) ATTR 1 CELL 0,1,P0\32+32 CELL 0,4,P1\32+32 CELL 0,9,P2\32+32 CELL 0,12,P3\32+32 CELL 1,1,P0\32+51 CELL 1,4,P1\32+51 CELL 1,9,P2\32+51 CELL 1,12,P3\32+51 ATTR 5 WAIT VBL LOOP SUB DRSEQ BG COPY 2+X,0,18,13 TO 2,0 FOR I=0 TO 17 IF V0ON(X+I)=1 THEN CELL 2+I,1,TR0(X+I)+64 END IF IF V1ON(X+I)=1 THEN CELL 2+I,4,TR1(X+I)+64 END IF IF V2ON(X+I)=1 THEN CELL 2+I,9,TR2(X+I)+64 END IF IF V3ON(X+I)=1 THEN CELL 2+I,12,TR3(X+I)+64 END IF NEXT I ATTR 4 TEXT 2,14,"FILE: "+LROM$ ATTR 6 END SUB SEQUENCE: IF TIMER>=SEQTIMER THEN CALL DRSEQ IF V0ON(SQT)=1 THEN TRACK TR0(SQT),0 IF V1ON(SQT)=1 THEN TRACK TR1(SQT),1 IF V2ON(SQT)=1 THEN TRACK TR2(SQT),2 IF V3ON(SQT)=1 THEN TRACK TR3(SQT),3 SEQTIMER=TIMER+256 SQT=SQT+1 X=X+1 IF SQT=63 THEN SQT=0 X=0 END IF END IF RETURN MENUE: BG COPY 109,0,8,3 TO 7,6 DO XT=TOUCH.X\8 YT=TOUCH.Y\8 IF TAP AND XT>11 AND XT<14 AND YT>6 AND YT<8 THEN CLS BG COPY 0,0,20,16 TO 0,0 CALL DRSEQ WAIT 10 RETURN END IF IF TAP AND XT>7 AND XT<10 AND YT>6 AND YT<8 THEN GOSUB INIT CLS BG COPY 0,0,20,16 TO 0,0 CALL DRSEQ WAIT 10 RETURN END IF WAIT VBL LOOP RETURN INIT: X=0 TR=0 TXT=0 NT=0 DEL=0 TDEL=1 SPLAY=0 TSPLAY=1 SQT=2 FOR I=0 TO MAXIMAL V0ON(I)=0 V1ON(I)=0 V2ON(I)=0 V3ON(I)=0 NEXT I RETURN START: ATTR 4 TEXT 1,7,"MICRO ARRANGER NX" WAIT 100 RETURN SSONG: BG COPY 117,0,8,3 TO 7,6 DO XT=TOUCH.X\8 YT=TOUCH.Y\8 IF TAP AND XT>11 AND XT<14 AND YT>6 AND YT<8 THEN CLS BG COPY 0,0,20,16 TO 0,0 CALL DRSEQ WAIT 10 RETURN END IF IF TAP AND XT>7 AND XT<10 AND YT>6 AND YT<8 THEN ADDR=$A000+128 FOR I=0 TO 63 IF V0ON(I)=1 THEN POKE ADDR,TR0(I) ELSE POKE ADDR,64 END IF ADDR=ADDR+1 IF V1ON(I)=1 THEN POKE ADDR,TR1(I) ELSE POKE ADDR,64 END IF ADDR=ADDR+1 IF V2ON(I)=1 THEN POKE ADDR,TR2(I) ELSE POKE ADDR,64 END IF ADDR=ADDR+1 IF V3ON(I)=1 THEN POKE ADDR,TR3(I) ELSE POKE ADDR,64 END IF ADDR=ADDR+1 NEXT I SAVE SEL,LROM$,$A000,SIZE(15) CLS BG COPY 0,0,20,16 TO 0,0 CALL DRSEQ WAIT 10 RETURN END IF WAIT VBL LOOP RETURN LSONG: CLS BG 1 BG COPY 86,0,20,16 TO 0,0 SEL=0 LROM$="" BG 0 ATTR 4 TEXT 2,0,"LOAD SOUND FILE" BG 1 FILES ATTR 4 FOR I=4 TO 15 TEXT 4,I-2,": "+ FILE$(I) NUMBER 2,I-2,I,2 NEXT I ATTR 6 WHILE LROM$="" XT=TOUCH.X\8 YT=TOUCH.Y\8 IF TAP AND XT>1 AND XT<18 AND YT>1 AND YT<14 THEN SEL=YT+2 LROM$=FILE$(SEL) END IF WEND LOAD SEL,$A000 ADDR=$A000+128 FOR I=0 TO 63 P=PEEK(ADDR) IF P<64 THEN TR0(I)=P V0ON(I)=1 ELSE V0ON(I)=0 END IF ADDR=ADDR+1 P=PEEK(ADDR) IF P<64 THEN TR1(I)=P V1ON(I)=1 ELSE V1ON(I)=0 END IF ADDR=ADDR+1 P=PEEK(ADDR) IF P<64 THEN TR2(I)=P V2ON(I)=1 ELSE V2ON(I)=0 END IF ADDR=ADDR+1 P=PEEK(ADDR) IF P<64 THEN TR3(I)=P V3ON(I)=1 ELSE V3ON(I)=0 END IF ADDR=ADDR+1 NEXT I CLS BG COPY 0,0,20,16 TO 0,0 CALL DRSEQ RETURN #1:MAIN PALETTES 003F2F00000C3C30003C0C00003F3C00 00302010003F2A3F003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000FF818181818181FF FF9999999999999988EEEEEEEEEEEEEE 00000000000000000000000000000000 00001028448200000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7F809CA2A29C807F80FFE3DDDDE3FFFF FE014579454501FE01FEBA86BABAFEFF 00000000000000000000000000000000 7F8080818381807F00FFFEFCFBFDFE7F FE0181C1810101FE007E3E1E3E7EFEFE FF0000000000000000FFFFFFFFFFFFFF FE0101010101010100FEFEFEFEFEFEFE 7F8080808080808000FFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 99999999999999FFEEEEEEEEEEEEEEEE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7F80A2B2AAA6807F80FFDDCDD5D9FFFF FE013945453901FE01FEC6BABAC6FEFF 00000000000000000000000000000000 7F8080808080807F00FFF7F3C1F3F77F FE011131010101FE00024A4A7A4A06FE 8080808080808080FFFFFFFFFFFFFFFF 0101010101010101FEFEFEFEFEFEFEFE 01010101010101FEFEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000001010000000000000000 00000000000101010000000000000000 00000000000101010000000001000000 00000000000101010000000101000000 00000000000101010000010101000000 00010000000101010001010101000000 01010000000101010101010101000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7F8084868786807F00F1F6F7F7F6F17F FE010101C10101FE00FE3ECECE3EFEFE 808080808080807FFFFFFFFFFFFFFF7F 0000000000000000FFFFFFFFFFFFFFFF 00000000000000FFFFFFFFFFFFFFFFFF 7F80B4B4B4B4807F0080BFBFBFBF807F FF00AAAAAAAA00FF00005555555500FF FC025A5A5A5A02FC0000F8F8F8F800FC 00000000000000000000000000000000 00000000000080800000000000000000 00000000008080800000000000000000 00000000008080800000000080000000 00000000008080800000008080000000 00000000008080800000808080000000 00800000008080800080808080000000 80800000008080808080808080000000 7F8080858282807F00FEE0F5FAF2F87F FE010101818101FE003E02D6AEA60EFE 7F8080808080807F00FFF7E7C1E7F77F FE011131010101FE00024A4A7A4A06FE 00000000000000000000000000000000 0066767676767600FF818181818181FF 006676666E6E6600FF818181818181FF 0066766676766600FF818181818181FF 006E6A627A7A7A00FF818181818181FF 00465E4676764600FF818181818181FF 004E5E4656564600FF818181818181FF 00627A7A76767600FF818181818181FF 00626A626A6A6200FF818181818181FF 00626A627A7A7200FF818181818181FF 0010545454545000FF818181818181FF 00185C5C5C5C5C00FF818181818181FF 00185C585A5A5800FF818181818181FF 00185C585C5C5800FF818181818181FF 001654505C5C5C00FF818181818181FF 001056505C5C5000FF818181818181FF 0012565054545000FF818181818181FF 00105C5C5A5A5A00FF818181818181FF 0010545054545000FF818181818181FF 001054505C5C5800FF818181818181FF 0010541434341000FF818181818181FF 00185C1C3C3C1C00FF818181818181FF 00185C183A3A1800FF818181818181FF 00185C183C3C1800FF818181818181FF 001654103C3C0C00FF818181818181FF 001056103C3C1000FF818181818181FF 0012561034341000FF818181818181FF 00105C1C3A3A1A00FF818181818181FF 0010541034341000FF818181818181FF 001054103C3C1800FF818181818181FF 0010541454541000FF818181818181FF 00185C1C5C5C1C00FF818181818181FF 00185C185A5A1800FF818181818181FF 00185C185C5C1800FF818181818181FF 001654105C5C1C00FF818181818181FF 001056105C5C1000FF818181818181FF 0012561054541000FF818181818181FF 00105C1C5A5A1A00FF818181818181FF 0010541054541000FF818181818181FF 001054105C5C1800FF818181818181FF 0030240464646000FF818181818181FF 00382C0C6C6C6C00FF818181818181FF 00382C086A6A6800FF818181818181FF 00382C086C6C6800FF818181818181FF 003624006C6C6C00FF818181818181FF 003026006C6C6000FF818181818181FF 0032260064646000FF818181818181FF 00302C0C6A6A6A00FF818181818181FF 0030240064646000FF818181818181FF 003024006C6C6800FF818181818181FF 0000340464640000FF818181818181FF 00083C0C6C6C0C00FF818181818181FF 00083C086A6A0800FF818181818181FF 00083C086C6C0800FF818181818181FF 000634006C6C0C00FF818181818181FF 000036006C6C0000FF818181818181FF 0002360064640000FF818181818181FF 00003C0C6A6A0A00FF818181818181FF 0000340064640000FF818181818181FF 000034006C6C0800FF818181818181FF 0010340424240000FF818181818181FF 00183C0C2C2C0C00FF818181818181FF 00183C082A2A0800FF818181818181FF 00183C082C2C0800FF818181818181FF 001634002C2C0C00FF818181818181FF 00000000000000000000000000000000 00181818180018000000000000000000 006C6C24000000000000000000000000 00247E24247E24000000000000000000 00083E380E3E08000000000000000000 00626408102646000000000000000000 001C34386E643A000000000000000000 00181830000000000000000000000000 000C183030180C000000000000000000 0030180C0C1830000000000000000000 000024187E1824000000000000000000 000018187E1818000000000000000000 00000000181830000000000000000000 000000007E0000000000000000000000 00000000001818000000000000000000 00060C18306040000000000000000000 00001028281000000000000000000000 00001010101000000000000000000000 00003808203800000000000000000000 00003808183800000000000000000000 00002838080800000000000000000000 00003820083800000000000000000000 00003820383800000000000000000000 00003808080800000000000000000000 00003828383800000000000000000000 00003828380800000000000000000000 00000018001800000000000000000000 00000018001830000000000000000000 00000C1830180C000000000000000000 0000007E007E00000000000000000000 000030180C1830000000000000000000 00180810001000000000000000000000 003C666E6E603C000000000000000000 00001028382800000000000000000000 00002030283000000000000000000000 00001820201800000000000000000000 00003028283000000000000000000000 00003820303800000000000000000000 00003820302000000000000000000000 00001820281800000000000000000000 00002020382800000000000000000000 00001000101000000000000000000000 00003808083000000000000000000000 00002830282800000000000000000000 00002020203800000000000000000000 00002838282800000000000000000000 00000000382800000000000000000000 00003828283800000000000000000000 00003028302000000000000000000000 00001028281800000000000000000000 00003828302800000000000000000000 00003820083800000000000000000000 00003810101000000000000000000000 00002828283800000000000000000000 00002828281000000000000000000000 00002828382800000000000000000000 00002828102800000000000000000000 00002828101000000000000000000000 00003808203800000000000000000000 003C303030303C000000000000000000 006030180C0602000000000000000000 003C0C0C0C0C3C000000000000000000 00183C66000000000000000000000000 0000000000007E000000000000000000 #3:MAIN BG 00008010000600064005000500060006 41050006000600064205000600060006 43050006000600064405000600000000 45050005000000004605000000000000 47050000000000004805000000000000 49050000000000004A05000000000000 4B050000000000004C05000000000000 4D050000000000004E05000000000000 4F050000000000000006000600060006 00060006000600060006000600060006 00060006000600060006000600060006 0F060D060D060D060D060D060D060D06 0D060D060D060D060D060D060D060D06 0D060D060D060E060000000000060F06 0D060D060D060D060D060D060E060F06 0D060D060D060D060D060D060E060000 00000000200601000205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050006000600060006 00060006000600060006000600060006 00060006000600060006000600060006 1D062E062F062F062F062F062F062F06 2F062F062F062F062F062F062F062F06 2F062F062E061E060000000000061D06 080609063B063C06180619061E061D06 080609061B061C06180619061E060000 00000000200600060304000500050005 00050005000500050005000500050005 00050005000500050005000500000005 00050005000500050005000400000005 00050005000500050005000500050005 00050004000000000005000500050005 00050005000500050005000500050005 00050005000000000005000500050005 00050005000500050006000600060006 00060005000000000005000500050005 00050005000500050005000500060006 1D061E06000500050005000500000005 00050005000500000005000500050005 000500051D061E060005000500062D06 2F062F062F062F062F062F061F062D06 2F062F062F062F062F062F061F060005 00050005200600061304000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050006000600060006 00060006000500050005000500050005 00050005000500050005000500060006 1D061E06000500050005000500050005 00050005000500000005000500050005 000500061D061E060005000500060006 00060006000600060006000600060006 00060006000E00050005000500050005 00050000200600060205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050006000600060000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000061D061E060000000000060006 00060006000600060006000600060006 000600060006000E0000000000000000 00000000200600060005000500050005 00050005000500050005000500050005 00050005000500050005000500000000 00000004000400040004000400040004 00040004000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000061D061E060000000000000000 00000000000000000000000000060006 00060006000000000000000000000000 00000000200600060306030603060306 03060306030603060306030603060306 03060306030603060306030603060306 03060306030603060306030603060306 03060306030603060306030603060306 03060306030603060306030603060306 03060306030603060306030603060306 03060306030603060306030603060306 03060306030603060006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000001D061E060000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000200600061306130613061306 13061306130613061306130613061306 13061306130613061306130613061306 13061306130613061306130613061306 13061306130613061306130613061306 13061306130613061306130613061306 13061306130613061306130613061306 13061306130613061306130613061306 13061306130613060006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000001D061E060000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000200600060005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050005000500050005 00050005000500050006000600050005 00050005000500050005000500050005 00000005000500050005000500060006 1D061E06000500050005000500050005 00050005000500050005000500050005 000000051D061E060005000000000000 00000000000000000000000000000000 00000000000000000005000500050005 00050005200600060206020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000001D061E060000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000200600060304000600000000 00000000000000040004000500040004 00040004000400000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000001D061E060000000000000000 00000004000000000000000000000000 00000000000000000000000000000000 00000000200600061304000400000000 00000000000000000000000000000000 00000000000000000000000400000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000050000000000000000 00000000000000000006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000040000000000000000 00000000000000000000000000000000 000000001D061E060000000400000000 00000000000000000000000000000000 00000000000000000000000500050005 00050000200600060205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050205020502050205 02050205020502050006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000000000 000000001D061E060000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000010600060506000400000000 00000000000400040000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000006000600000000 00000000000000000000000000000000 00000000000000000000000000060006 1D061E06000000000000000000000000 00000000000000000000000000060000 000000001D061E060000000000000000 00000000000000000000000000000000 00000000000000000000000000060000 00000000000600000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000006000600060006 00060006000600060006000600060006 00060006000600060006000600060006 1D062E060D060D060D060D060D060D06 0D060D060D060D060D060D060D060D06 0D060D062E061E060000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000600002B062C0600063006 310631063206000600063D063E061B06 1C0600063B063C060B060C0600000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000006000600060006 00060006000600060006000600060006 00060006000600060006000600060006 2D062F062F062F062F062F062F062F06 2F062F062F062F062F062F062F062F06 2F062F062F061F060000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000