S_FRICTION=0.02 SCROLL_VALUE=0 TOUCHSCREEN SCROLL 1,-4,0 GLOBAL XSIZE,YSIZE XSIZE=12 YSIZE=15 LOADSIZE=XSIZE*YSIZE S_FRICTION=1-S_FRICTION DY=0 LASTY=TOUCH.Y MAX_SCROLL=(($FFFF-LOADSIZE)\XSIZE)*8 'POKE $FF75,1 'PAUSES AND CAN'T BE RESUMED BECAUSE THERE'S NO GAMEPAD FILES ADDRESS=$A000 LEFTOVER = $E000 - ADDRESS FOR F=0 TO 15 IF FSIZE(F)>LEFTOVER THEN TRACE "OUT OF RAM" LOAD F,ADDRESS,LEFTOVER ADD ADDRESS, MIN( FSIZE(F), LEFTOVER ) LEFTOVER = $E000 - ADDRESS IF LEFTOVER=0 THEN EXIT NEXT F CALL DISPLAY_HEX($A000+(SCROLL_VALUE\8)*XSIZE) DO IF TOUCH THEN DY=TOUCH.Y-LASTY LASTY=TOUCH.Y IF TAP THEN DY=0 ELSE DY=DY*S_FRICTION END IF IF ABS(DY)>0.01 THEN ADD SCROLL_VALUE,-DY CALL CLAMP(SCROLL_VALUE,0,MAX_SCROLL) CALL DISPLAY_HEX($A000+(SCROLL_VALUE\8)*XSIZE) END IF WAIT VBL LOOP SUB CLAMP(V,L,H) V=MIN(H,MAX(L,V)) END SUB SUB DISPLAY_HEX(A) 'XSIZE=12 'YSIZE=15 XMOVE=4 YMOVE=1 PAL 4 CALL CRAMMED_TEXT(XMOVE,0,LEFT$("0 1 2 3 4 5 6 7 8 9 A B C D E F ",XSIZE*2)) CALL CRAMMED_TEXT(XMOVE+XSIZE*2,0,HEX$(A,4)+"-"+HEX$(A+XSIZE*15,4)) FOR Y=0 TO YSIZE-1 'IF 0 THEN 'MEMORY BLOCK NAME 'PAL 6 'CALL CRAMMED_TEXT(0,Y+YMOVE,"ROM1") 'ELSE PAL 5 CALL CRAMMED_TEXT(0,Y+YMOVE,HEX$(A+Y*XSIZE,4)) 'END IF FOR X=0 TO XSIZE-1 PAL X MOD 2 V=PEEK(A+X+Y*XSIZE) IF V>=$20 THEN V$=CHR$(V) ELSE V$="." CALL CRAMMED_TEXT(X*2+XMOVE ,Y+YMOVE,HEX$(V,2)) PAL 2 CALL CRAMMED_TEXT(XSIZE*2+X+XMOVE,Y+YMOVE,V$) NEXT X NEXT Y END SUB SUB CRAMMED_TEXT(X,Y,T$) FOR I=0 TO LEN(T$)-1 XI=X+I BG XI MOD 2 TEXT XI\2,Y,MID$(T$,I+1,1) NEXT I END SUB WAIT VBL #1:MAIN PALETTES 000F0000000B00000007000000030000 00022A1500022A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00002020200020000000000000000000 00005050000000000000000000000000 00005070507050000000000000000000 00207060703070200000000000000000 00004010204010000000000000000000 00002050205030000000000000000000 00002020000000000000000000000000 00002040404020000000000000000000 00002010101020000000000000000000 00000050205000000000000000000000 00000020702000000000000000000000 00000000002020000000000000000000 00000000700000000000000000000000 00000000000020000000000000000000 00001030206040000000000000000000 00002050505020000000000000000000 00002060202070000000000000000000 00002050102070000000000000000000 00006010201060000000000000000000 00005050701010000000000000000000 00007040601060000000000000000000 00003040605070000000000000000000 00007010102020000000000000000000 00007050705070000000000000000000 00007050701070000000000000000000 00000020002000000000000000000000 00000020002020000000000000000000 00001020402010000000000000000000 00000070007000000000000000000000 00004020102040000000000000000000 00006010200020000000000000000000 00007050504070000000000000000000 00002050705050000000000000000000 00006050605060000000000000000000 00003040404030000000000000000000 00006050505060000000000000000000 00007040704070000000000000000000 00007040704040000000000000000000 00003040505020000000000000000000 00005050705050000000000000000000 00007020202070000000000000000000 00003010105030000000000000000000 00005050605050000000000000000000 00004040404070000000000000000000 00005070705050000000000000000000 00005070707050000000000000000000 00002050505020000000000000000000 00006050604040000000000000000000 00002050507030000000000000000000 00006050605050000000000000000000 00003040201060000000000000000000 00007020202020000000000000000000 00005050505020000000000000000000 00005050502020000000000000000000 00005050707050000000000000000000 00005050205050000000000000000000 00005050202020000000000000000000 00007010204070000000000000000000 00006040404060000000000000000000 00004060203010000000000000000000 00003010101030000000000000000000 00002050000000000000000000000000 00000000000070000000000000000000 #4:MARIO THEME 4D546864000000060001000101E04D54 726B00000AA300FF0818537570657220 4D6172696F2042726F732E205468656D 650000FF0A1C4B6F6A69204B6F6E646F 0A7472616E732E205374656C6C61204C 750000FF58040402180800FF59020000 00C02800904C5000485002B00764020A 40025B1E025D1E6F904C00004800014C 50004850816F4C00004800014C500048 50774C00004800794850774800014C50 774C00794F50004750816F4F00004700 81714350003B50816F4300003B008171 4850816F4800794350816F4300794050 816F4000794550816F4500014750816F 47000146507746000145507745007943 50811F4300014C50811F4C00014F5081 1F4F00015150816F5100014D50774D00 014F50774F00794C50816F4C00014850 774800014A50774A0001475077470081 714850816F4800794350816F43007940 50816F4000794550816F450001475081 6F470001465077460001455077450079 4350811F4300014C50811F4C00014F50 811F4F00015150816F5100014D50774D 00014F50774F00794C50816F4C000148 50774800014A50774A00014750774700 81713C50773C00794F50774F00014E50 774E00014D50774D00014B50774B0079 4C50004850774C000048007944507744 00014550774500014850774800794550 774500014850774800014A50774A0001 3C50773C00794F50774F00014E50774E 00014D50774D00014B50774B00794C50 004850774C00004800795450004C5077 5400004C00795450004C50775400004C 00015450004C50775400004C00794350 774300793C50773C00794F50774F0001 4E50774E00014D50774D00014B50774B 00794C50004850774C00004800794450 77440001455077450001485077480079 4550774500014850774800014A50774A 0081714B50004450774B000044008171 4A50004350774A000043008171485000 40507748000040008171435077430001 4350774300793C50773C00793C50773C 00794F50774F00014E50774E00014D50 774D00014B50774B00794C5000485077 4C000048007944507744000145507745 00014850774800794550774500014850 774800014A50774A00013C50773C0079 4F50774F00014E50774E00014D50774D 00014B50774B00794C50004850774C00 004800795450004C50775400004C0079 5450004C50775400004C00015450004C 50775400004C00794350774300793C50 773C00794F50774F00014E50774E0001 4D50774D00014B50774B00794C500048 50774C00004800794450774400014550 77450001485077480079455077450001 4850774800014A50774A0081714B5000 4450774B0000440081714A5000435077 4A000043008171485000405077480000 40008171435077430001435077430079 3C50773C007948500040507748000040 00014850774800794850774800794850 774800014A50774A00794C50774C0001 48507748007945507745000143507743 00793C50773C00794850004050774800 00400001485077480079485077480079 4850774800014A50774A00014C50774C 0001435077430081713C50773C008171 3C50773C007948500040507748000040 00014850774800794850774800794850 774800014A50774A00794C50774C0001 48507748007945507745000143507743 00793C50773C00794C50004850774C00 004800014C50004850774C0000480079 4C50004850774C000048007948507748 00014C50774C00794F50004750816F4F 0000470081714350003B50816F430000 3B0081714850816F4800794350816F43 00794050816F4000794550816F450001 4750816F470001465077460001455077 4500794350811F4300014C50811F4C00 014F50811F4F00015150816F5100014D 50774D00014F50774F00794C50816F4C 00014850774800014A50774A00014750 77470081714850816F4800794350816F 4300794050816F4000794550816F4500 014750816F4700014650774600014550 774500794350811F4300014C50811F4C 00014F50811F4F00015150816F510001 4D50774D00014F50774F00794C50816F 4C00014850774800014A50774A000147 5077470081714C50774C000148507748 00794350816F4300794450816F440001 4550774500014D50774D00794D50774D 00014550774500793C50773C00794750 004350811F4700004300015150004D50 811F5100004D00015150004D50811F51 00004D00015150004D50811F5100004D 00014F50004750811F4F00004700014D 50811F4D00014C50774C000148507748 00794550774500014350774300793C50 773C00794C50774C0001485077480079 4350816F4300794450816F4400014550 774500014D50774D00794D50774D0001 4550774500793C50773C007947500043 50774700004300014D50004550774D00 004500794D50004550774D0000450001 4D50004550811F4D00004500014C5000 4350811F4C00004300014A5000415081 1F4A0000410001485000405077480000 4000014350774300794350774300013C 50816F3C0081714C50774C0001485077 4800794350816F4300794450816F4400 014550774500014D50774D00794D5077 4D00014550774500793C50773C007947 50004350811F4700004300015150004D 50811F5100004D00015150004D50811F 5100004D00015150004D50811F510000 4D00014F50004750811F4F0000470001 4D50811F4D00014C50774C0001485077 4800794550774500014350774300793C 50773C00794C50774C00014850774800 794350816F4300794450816F44000145 50774500014D50774D00794D50774D00 014550774500793C50773C0079475000 4350774700004300014D50004550774D 00004500794D50004550774D00004500 014D50004550811F4D00004500014C50 004350811F4C00004300014A50004150 811F4A00004100014850004050774800 00400001435077430079435077430001 3C50816F3C0081714850004050774800 00400001485077480079485077480079 4850774800014A50774A00794C50774C 00014850774800794550774500014350 774300793C50773C0079485000405077 48000040000148507748007948507748 00794850774800014A50774A00014C50 774C0001435077430081713C50773C00 81713C50773C00794850004050774800 00400001485077480079485077480079 4850774800014A50774A00794C50774C 00014850774800794550774500014350 774300793C50773C00794C5000485077 4C00004800014C50004850774C000048 00794C50004850774C00004800794850 774800014C50774C00794F5000475081 6F4F0000470081714350003B50816F43 00003B0081714C50774C000148507748 00794350816F4300794450816F440001 4550774500014D50774D00794D50774D 00014550774500793C50773C00794750 004350811F4700004300015150004D50 811F5100004D00015150004D50811F51 00004D00015150004D50811F5100004D 00014F50004750811F4F00004700014D 50811F4D00014C50774C000148507748 00794550774500014350774300793C50 773C00794C50774C0001485077480079 4350816F4300794450816F4400014550 774500014D50774D00794D50774D0001 4550774500793C50773C007947500043 50774700004300014D50004550774D00 004500794D50004550774D0000450001 4D50004550811F4D00004500014C5000 4350811F4C00004300014A5000415081 1F4A0000410001485000405077480000 4000014350774300794350774300013C 50816F3C0001FF2F00