_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

AF

FILE INFORMATION

FILENAME(S): AF <p><strong>FILE TYPE(S):</strong> PRG</p> <p><strong>FILE SIZE:</strong> 2.3K</p> <p><strong>FIRST SEEN:</strong> 2025-11-30 16:09:35</p> <p><strong>APPEARS ON:</strong> 1 disk(s)</p> </div> <div class="info-group"> <h3>FILE HASH</h3> <p style="font-size: 10px; word-break: break-all; font-family: monospace;"> 8d67b519b465ec77758dd8ddb9a4dc87eafb70b4e28e90cf42e3c96839939643 </p> </div> </div> </div> <div class="file-list"> <h2>FOUND ON DISKS (1 DISKS)</h2> <table class="file-table"> <thead> <tr> <th>DISK TITLE</th> <th>FILENAME</th> <th>FILE TYPE</th> <th>COLLECTION</th> <th>TRACK</th> <th>SECTOR</th> <th>ACTIONS</th> </tr> </thead> <tbody> <tr> <td> <a href="disk.php?hash=c94d94d7e9d1464601180232a06d9e55759a5d1448359e21e2c2b40e247ccecd" style="color: #88aaff; text-decoration: none;" onmouseover="this.style.color='#ffffff'; this.style.textDecoration='underline';" onmouseout="this.style.color='#88aaff'; this.style.textDecoration='none';"> FRIGHTNIGHT 1988 </a> </td> <td>AF<TITLE</td> <td>PRG</td> <td> BrainSkull, Sammlung </td> <td>13</td> <td>7</td> <td> <a href="download_file.php?hash=8d67b519b465ec77758dd8ddb9a4dc87eafb70b4e28e90cf42e3c96839939643&disk=19885" style="color: #88aaff; text-decoration: none; font-size: 12px;" onmouseover="this.style.color='#ffffff'; this.style.textDecoration='underline';" onmouseout="this.style.color='#88aaff'; this.style.textDecoration='none';">DOWNLOAD FILE</a> </td> </tr> </tbody> </table> </div> <div class="welcome-message"> <h2>FILE CONTENT & ANALYSIS</h2> <!-- Tab Navigation --> <div class="tab-navigation" style="margin: 15px 0 5px 0;"> <button class="tab-btn active" onclick="switchTab(event, 'analysis-tab')" data-tab="analysis">ANALYSIS</button> <button class="tab-btn" onclick="switchTab(event, 'hex-tab')" data-tab="hex">HEX DUMP</button> <button class="tab-btn" onclick="switchTab(event, 'petscii-tab')" data-tab="petscii">PETSCII DUMP</button> <button class="tab-btn" onclick="switchTab(event, 'image-tab')" data-tab="image">IMAGE</button> </div> <!-- Analysis Tab --> <div id="analysis-tab" class="tab-content active dump-box" style="font-family: monospace; font-size:12px; white-space:normal; line-height:1.4;"> <p></p> </div> <!-- Hex Dump Tab --> <div id="hex-tab" class="tab-content dump-box"> <pre>00000000: 00 80 06 F4 0F 96 08 02 25 10 1D 20 03 02 02 02 |........%.. ....| 00000010: 0C 0B 06 22 01 06 FF 04 06 E0 04 06 60 20 61 06 |..."........` a.| 00000020: 60 20 61 06 60 20 61 06 60 20 61 06 60 20 61 06 |` a.` a.` a.` a.| 00000030: 60 20 61 06 60 20 61 06 60 20 61 06 60 20 61 06 |` a.` a.` a.` a.| 00000040: 60 20 61 06 60 20 61 06 60 20 61 06 60 20 61 06 |` a.` a.` a.` a.| 00000050: 60 20 61 06 60 20 61 06 60 20 61 06 02 FF FF 4E |` a.` a.` a....N| 00000060: 00 00 07 00 11 00 1D 00 23 06 00 68 20 00 00 20 |........#..h .. | 00000070: 00 00 20 00 00 20 00 00 20 00 00 22 00 00 22 00 |.. .. .. .."..".| 00000080: 00 22 00 05 55 40 1D DD D0 3F FF F0 35 55 F0 37 |."..U@...?..5U.7| 00000090: FF F0 3A AA F0 3E AA B0 3F AA A0 3F FF F0 3F FF |..:..>..?..?..?.| 000000A0: F0 3F FF F0 06 00 02 10 00 20 00 00 20 00 00 20 |.?....... .. .. | 000000B0: 00 00 20 00 00 20 00 00 22 00 00 22 00 00 22 00 |.. .. ..".."..".| 000000C0: 01 55 00 0D DD C0 0F FF C0 0D 55 C0 0D FF C0 0E |.U........U.....| 000000D0: AA C0 0F AA 80 0F EA 80 0F FF C0 0F FF C0 0F FF |................| 000000E0: C0 06 00 02 10 00 20 00 00 20 00 00 20 00 00 20 |...... .. .. .. | 000000F0: 00 00 20 00 00 20 00 00 20 00 00 20 00 00 54 00 |.. .. .. .. ..T.| 00000100: 01 DD 00 03 FF 00 07 55 50 0F FF F0 03 AA 00 03 |.......UP.......| 00000110: EA 00 03 FA 00 03 FF 00 03 FF 00 03 FF 06 00 03 |................| 00000120: 10 00 20 00 00 20 00 00 20 00 00 20 00 00 20 00 |.. .. .. .. .. .| 00000130: 00 20 00 00 20 00 00 20 00 00 10 00 00 74 00 00 |. .. .. .....t..| 00000140: FC 00 15 FD 50 3F FF F0 00 B8 00 00 FC 00 00 FC |....P?..........| 00000150: 00 00 FC 00 00 FC 00 00 FC 06 00 03 10 06 00 12 |................| 00000160: 20 00 00 20 00 02 20 00 02 20 00 05 54 00 3F FD | .. .. .. ..T.?.| 00000170: 00 FF FF 40 EB FF D0 FF FF F0 FF FF F4 FF FF FD |...@............| 00000180: FF FF FF 06 00 02 10 06 00 00 55 40 01 DD D4 03 |..........U@....| 00000190: FF FF 02 BB A8 00 AA 80 00 2A 80 00 3A 80 40 FE |.........*..:.@.| 000001A0: 80 5D 7F C0 F7 D7 C4 7F 7F C8 FF F5 6C FB FA 88 |.]..........l...| 000001B0: BF BE 8C EA EF 80 AA BF C0 80 0F C0 00 0F C0 06 |................| 000001C0: 00 02 10 06 00 15 08 00 00 08 06 00 1E 11 06 00 |................| 000001D0: 17 05 55 5C 3F FF F8 0A AA AC 06 00 17 10 06 00 |..U\?...........| 000001E0: 0F 05 55 01 55 55 05 D5 D5 1D 5D 5D 37 F7 F7 7F |..U.UU....]]7...| 000001F0: 7F 7F FF FF FF FB FB FB BF BF BF AA EA EA 2A AA |..............*.| 00000200: AA 2A AA AA 0A AA AA 02 AA AA 00 0A AA 10 06 00 |.*..............| 00000210: 13 01 00 00 05 00 00 1D 00 00 37 00 00 7F 00 00 |..........7.....| 00000220: FF 00 00 FB 00 00 BF 00 00 AA 00 00 2A 00 00 2A |............*..*| 00000230: 00 00 0A 00 00 02 00 00 00 10 00 00 2A 00 02 AA |............*...| 00000240: 00 0A AA 00 2A AA 00 AA AA 02 AA AA 02 AA AA 0A |....*...........| 00000250: AA AA 0A AA AA 2A AA AA 2A AA AA 2A 06 AA 19 11 |.....*..*..*....| 00000260: 06 AA 17 2A AA AA 2A AA AA 2A AA AA 0A AA AA 0A |...*..*..*......| 00000270: AA AA 02 AA AA 02 AA AA 00 AA AA 00 2A AA 00 0A |............*...| 00000280: AA 00 02 AA 00 00 2A 11 06 00 0E 06 55 02 D5 D5 |......*.....U...| 00000290: D5 5D 5D 5D F7 F7 F7 7F 7F 7F FF FF FF FB FB FB |.]]]............| 000002A0: BF BF BF EA EA EA 06 AA 0B 10 06 00 0E 05 06 55 |...............U| 000002B0: 01 D5 D5 D5 5D 5D 5D F7 F7 F7 7F 7F 7F FF FF FF |....]]].........| 000002C0: FB FB FB BF BF BF EA EA EA 06 AA 08 0A AA AA 10 |................| 000002D0: 06 00 13 01 00 00 05 00 00 1D 00 00 37 00 00 7F |............7...| 000002E0: 00 00 FF 00 00 FB 00 00 BF 00 00 AA 00 00 2A 00 |..............*.| 000002F0: 00 2A 00 00 0A 00 00 02 00 00 00 10 06 00 0E 06 |.*..............| 00000300: 55 02 D5 D5 D5 5D 5D 5D F7 F7 F7 7F 7F 7F FF FF |U....]]]........| 00000310: FF FB FB FB BF BF BF EA EA EA 06 AA 0B 10 06 00 |................| 00000320: 0E 55 54 00 55 55 55 D5 D5 D5 5D 5D 5D F7 F7 F7 |.UT.UUU...]]]...| 00000330: 7F 7F 7F FF FF FF FB FB FB BF BF BF EA EA EA 06 |................| 00000340: AA 09 A8 00 10 06 00 0E 05 55 54 55 55 55 D5 D5 |.........UTUUU..| 00000350: D5 5D 5D 5D F7 F7 F7 7F 7F 7F FF FF FF FB FB FB |.]]]............| 00000360: BF BF BF EA EA EA 06 AA 08 0A A8 00 10 06 00 09 |................| 00000370: 15 00 00 55 40 01 75 70 07 57 54 0D FD FC 1F DF |...U@.up.WT.....| 00000380: DF 3F FF FF 3E FE FE 2F EF EF 2A BA BA 0A AA A8 |.?..>../..*.....| 00000390: 0A AA A8 02 AA A0 00 AA 80 00 2A 06 00 03 10 06 |..........*.....| 000003A0: 00 0E 06 55 02 D5 D5 D5 5D 5D 5D F7 F7 F7 7F 7F |...U....]]].....| 000003B0: 7F FF FF FF FB FB FB BF BF BF EA EA EA 06 AA 09 |................| 000003C0: 80 00 10 06 00 11 55 54 00 D5 D5 D5 5D 5D 5D F7 |......UT....]]].| 000003D0: F7 F7 7F 7F 7F FF FF FF FB FB FB BF BF BF EA EA |................| 000003E0: EA 06 AA 04 A0 AA 06 00 01 10 06 00 11 55 00 00 |.............U..| 000003F0: D5 D0 00 5D 5D 5C F7 F7 F7 7F 7F 6E FF FE FF FB |...]]\.....n....| 00000400: FB BB BF BA AA EA 06 AA 00 A8 AA AA 80 AA 00 00 |................| 00000410: 80 06 00 01 10 06 00 0E 55 40 00 55 55 40 D5 D5 |........U@.UU@..| 00000420: D5 5D 5D 5D F7 F7 F7 7F 7F 7F FF FF FF FB FB FB |.]]]............| 00000430: BF BF BF EA EA EA 06 AA 04 80 AA 80 06 00 00 10 |................| 00000440: 06 00 13 01 D0 00 01 5D 5C 01 F7 F7 F5 7F 7F 7B |.......]\......{| 00000450: FF FF F9 FB FB FE BF BF BE EA EA EB AA AA 83 AA |................| 00000460: 80 03 06 00 05 10 06 00 14 01 00 00 01 40 00 FF |.............@..| 00000470: C0 00 7B F0 00 FB 50 00 BE A0 00 AA 80 00 83 80 |..{...P.........| 00000480: 00 03 06 00 0A 10 06 00 0F 01 50 00 01 50 40 01 |..........P..P@.| 00000490: 50 5D 41 50 F7 F5 51 7F 7B FF FF F9 59 FB FE AA |P]AP..Q.{...Y...| 000004A0: BF BE A2 EA EB A0 AA 83 A0 80 03 E0 00 03 F0 06 |................| 000004B0: 00 02 10 06 00 14 40 00 00 40 00 00 50 00 00 FC |......@..@..P...| 000004C0: 00 00 58 00 00 A8 00 00 A0 00 00 80 00 00 80 06 |..X.............| 000004D0: 00 0A 10 A8 00 00 AA 80 00 AA A0 00 AA A8 00 AA |................| 000004E0: AA 00 AA AA 80 AA AA 80 AA AA A0 AA AA A0 AA AA |................| 000004F0: A8 AA AA A8 AA AA A8 06 AA 17 11 06 AA 19 A8 AA |................| 00000500: AA A8 AA AA A8 AA AA A0 AA AA A0 AA AA 80 AA AA |................| 00000510: 80 AA AA 00 AA A8 00 AA A0 00 AA 80 00 A8 00 00 |................| 00000520: 11 43 01 27 00 FF 00 04 06 00 01 5B 01 27 00 FF |.C.'.......[.'..| 00000530: 00 04 00 00 00 77 00 8B 01 27 00 FF 00 04 00 00 |.....w...'......| 00000540: 00 EF 00 A3 01 27 00 FF 00 04 00 00 00 69 01 43 |.....'.......i.C| 00000550: 01 1A 00 FF 00 04 00 00 00 E3 01 45 01 02 00 FF |...........E....| 00000560: 00 04 00 00 00 34 02 73 01 27 00 FF 00 04 00 00 |.....4.s.'......| 00000570: 00 6E 02 BB 01 27 00 FF 00 04 00 00 00 C0 02 32 |.n...'.........2| 00000580: 34 30 28 49 3C 29 35 35 28 49 5F 29 31 33 30 28 |40(I<)55(I_)130(| 00000590: 49 3C 3C 29 5B 37 35 2C 32 30 30 5D 31 31 30 28 |I<<)[75,200]110(| 000005A0: 49 5E 29 31 35 49 31 30 30 28 49 3C 5F 3C 29 5B |I^)15I100(I<_<)[| 000005B0: 33 32 33 2C 31 31 35 5D 31 32 30 28 49 3C 3C 29 |323,115]120(I<<)| 000005C0: 4A 5B 2D 32 30 30 2C 30 5D 35 4A 5B 2B 32 33 33 |J[-200,0]5J[+233| 000005D0: 2C 2D 31 31 5D 32 4B 5B 2D 32 33 33 2C 2B 31 31 |,-11]2K[-233,+11| 000005E0: 5D 31 35 4B 5B 2B 32 30 30 2C 30 5D 4A 31 35 30 |]15K[+200,0]J150| 000005F0: 28 49 3C 3C A0 00 00 AF C0 00 EF FF 00 BE EF FC |(I<<............| 00000600: 02 BE EF 00 00 BB 05 00 14 10 05 00 17 FC 00 00 |................| 00000610: 3F F4 00 01 40 00 00 01 80 05 00 14 10 05 00 08 |?...@...........| 00000620: 03 C0 00 0F FF 00 0A BF 00 0A AA 01 5F B8 88 CB |............_...| 00000630: E6 6A EE A0 E0 FF 0B 80 FF 81 FF 0F F7 FF BF DD |.j..............| 00000640: 7A DC CC FF FF FF FF FF FF BC FF FF 8C FF FF B1 |z...............| 00000650: FF FF C8 CC FF D8 FF FF FF FF FF CC CC FF FF FF |................| 00000660: FF FF FF FF FF FF FF FF FF FF FF 7F 9F FF 87 FF |................| 00000670: 77 FF FF FF FF FF FF 77 FF 77 FF FF FF 9F FF FF |w......w.w......| 00000680: FF 7F FF FF 9F FF FF FF FF FF 9F FF 8F FF 9F FF |................| 00000690: 8F FF FF FF FF FF FF FF FF FF FF FF 9F FF FF 8F |................| 000006A0: FF FF FF 9F FF FF 9F 9F FF FF FF FF FF 9F FF FF |................| 000006B0: FF FF D8 FF FF FF 88 CC CC CC FF 81 88 CC CC CC |................| 000006C0: FF CC CC CC FF FF FF FF 9D FF FF FF FF FF FF FC |................| 000006D0: FF FF CC FF FF FF FF CC FF FF FF FF 0F 0F 0F 0F |................| 000006E0: 0F FF FF 8C 1F 86 FF FF 88 88 0F 0F 0F 0F 0F 0F |................| 000006F0: 0F FF AB E0 00 6E A0 00 00 29 81 00 10 00 00 08 |.....n...)......| 00000700: 06 05 00 08 10 05 00 17 C0 00 00 BC 30 00 FE 20 |............0.. | 00000710: 00 AB E0 00 6E A0 00 00 28 00 00 04 00 00 02 01 |....n...(.......| 00000720: 05 00 08 10 05 00 23 C0 00 00 3C 00 00 18 05 00 |......#...<.....| 00000730: 0D 10 D8 00 5C 00 64 05 00 03 D8 00 5C 00 64 05 |....\.d.....\.d.| 00000740: 00 01 56 00 F0 00 5C 00 64 05 00 01 A4 00 F0 00 |..V...\.d.......| 00000750: 5C 00 64 05 00 01 F6 00 08 01 5C 00 64 05 00 01 |\.d.......\.d...| 00000760: 47 01 08 01 5C 00 64 05 00 01 8E 01 E8 00 6D 05 |G...\.d.......m.| 00000770: 00 03 DD 01 EC 00 5D 05 00 03 01 02 34 28 41 05 |......].....4(A.| 00000780: 3C 01 5E 45 05 3C 01 5E 49 05 3C 01 5E 42 05 3C |<.^E.<.^I.<.^B.<| 00000790: 01 5E 46 05 3C 01 5E 29 4A 05 3C 01 5E 47 05 3C |.^F.<.^)J.<.^G.<| 000007A0: 01 5E 4B 05 3C 01 5E 44 05 3C 01 5E 5B 2B 32 30 |.^K.<.^D.<.^[+20| 000007B0: 30 2C 30 5D 33 32 44 5B 32 31 36 2C 39 32 5D 00 |0,0]32D[216,92].| 000007C0: 32 36 42 33 28 41 05 3C 01 5E 45 05 3C 01 5E 49 |26B3(A.<.^E.<.^I| 000007D0: 05 3C 01 5E 42 05 3C 01 5E 46 05 3C 01 5E 29 4A |.<.^B.<.^F.<.^)J| 000007E0: 05 3C 01 5E 47 05 3C 01 5E 4B 05 3C 01 5E 44 05 |.<.^G.<.^K.<.^D.| 000007F0: 3C 01 5E 5B 2D 32 30 30 2C 30 5D 00 32 36 4D 31 |<.^[-200,0].26M1| 00000800: 35 28 4D 05 3C 01 5E 29 4E 05 3C 01 5E 52 05 3C |5(M.<.^)N.<.^R.<| 00000810: 01 5E 4F 05 3C 01 5E 53 05 3C 01 5E 38 28 48 05 |.^O.<.^S.<.^8(H.| 00000820: 3C 01 5E 4C 05 3C 01 5E 50 05 3C 01 5E 54 05 3C |<.^L.<.^P.<.^T.<| 00000830: 01 5E 29 5B 2D 32 30 30 2C 30 5D 00 34 28 35 28 |.^)[-200,0].4(5(| 00000840: 4D 05 3C 01 5E 29 29 4E 05 3C 01 5E 52 05 3C 01 |M.<.^))N.<.^R.<.| 00000850: 5E 4F 05 3C 01 5E 53 05 3C 01 5E 38 28 48 05 3C |^O.<.^S.<.^8(H.<| 00000860: 01 5E 4C 05 3C 01 5E 50 05 3C 01 5E 54 05 3C 01 |.^L.<.^P.<.^T.<.| 00000870: 5E 29 5B 32 34 30 2C 39 32 5D 00 32 36 55 33 28 |^)[240,92].26U3(| 00000880: 55 05 3C 01 5E 58 05 3C 01 5E 61 05 3C 01 5E 56 |U.<.^X.<.^a.<.^V| 00000890: 05 3C 01 5E 59 05 3C 01 5E 29 57 05 3C 01 5E 5A |.<.^Y.<.^)W.<.^Z| 000008A0: 05 3C 01 5E 63 05 3C 01 5E 5B 2B 32 30 30 2C 30 |.<.^c.<.^[+200,0| 000008B0: 5D 00 34 28 55 05 3C 01 5E 58 05 3C 01 5E 61 05 |].4(U.<.^X.<.^a.| 000008C0: 3C 01 5E 56 05 3C 01 5E 59 05 3C 01 5E 29 57 05 |<.^V.<.^Y.<.^)W.| 000008D0: 3C 01 5E 5A 05 3C 01 5E 63 05 3C 01 5E 5B 2B 32 |<.^Z.<.^c.<.^[+2| 000008E0: 30 30 2C 30 5D 33 32 5A 5B 32 36 34 2C 39 32 5D |00,0]32Z[264,92]| 000008F0: 00 31 30 48 35 30 28 54 05 3C 01 5E 48 05 3C 01 |.10H50(T.<.^H.<.| 00000900: 5E 4C 05 3C 01 5E 50 05 3C 01 5E 29 00 31 38 48 |^L.<.^P.<.^).18H| 00000910: 33 30 28 48 05 3C 01 5E 4C 05 3C 01 5E 50 05 3C |30(H.<.^L.<.^P.<| 00000920: 01 5E 54 05 3C 01 5E 29 5B 2D 32 30 30 2C 2D 31 |.^T.<.^)[-200,-1| 00000930: 30 30 5D 00 |00]. | </pre> </div> <!-- PETSCII Dump Tab --> <div id="petscii-tab" class="tab-content dump-box"> <pre>........%.. ......."........` A.` A.` A. ` A.` A.` A.` A.` A.` A.` A.` A.` A.` A. ` A.` A.` A....N........#..H .. .. .. .. .."..".."..U@..P?..5U.7..:..>..?. ?..?. .?....... .. .. .. .. .."..".."..U...... ..U........................... .. .. .. .. .. .. .. ..T........UP............... .......... .. .. .. .. .. .. .. .....T.. ....P?.......................... .. .. . . ..T.?....@..P...................U@..T. .........*..:.@..]..WDH..L........... ..........................U\?........... ..U.UU.UU.]]7..............*..*...... ..................7................*..* ............*.......*................*.. *..*.......*..*..*..................*... ......*.....U.UUU]]]................. .......U.UUU]]]...................... ............7................*..*...... ........U.UUU]]]..................... .UT.UUUUUU]]]........................ .UTUUUUUU]]]......................... ...U@.UP.WT......?..>../..*.......... .. ..*........U.UUU]]].................. ......UT.UUU]]].................. ... .....U..UP.]]\...N.................... ........U@.UU@UUU]]]................. ............P..]\....{................ .............@....{...P.. .............. ..P..P@.P]AP..Q{...Y........ .. ....... ......@..@..P.....X..... ............... .. ............... .. .................. ....... .. ............. ........C.'.... ...[.'.......W...'...........'.......I.C ...........E.........4.S.'.......N...'.. .......240(I<)55(I_)130(I<<)[75,200]110( I^)15I100(I<_<)[323,115]120(I<<)J[-200,0 ]5J[+233,-11]2K[-233,+11]15K[+200,0]J150 (I<< ...........................?...@... ...................._..K.J. ............ Z.L...............HL.X.....LL........... .......W......W.W..................... ..................................X....L LL...LLL.LLL..............L....L........ .....................N ..).............. ....0.. ....N ..(.............#...<..... ..X.\.D...X.\.D...V...\.D.......\.D..... ..\.D...G...\.D.......M.......].....4(A. <.^E.<.^I.<.^B.<.^F.<.^)J.<.^G.<.^K.<.^D .<.^[+200,0]32D[216,92].26B3(A.<.^E.<.^I .<.^B.<.^F.<.^)J.<.^G.<.^K.<.^D.<.^[-200 ,0].26M15(M.<.^)N.<.^R.<.^O.<.^S.<.^8(H. <.^L.<.^P.<.^T.<.^)[-200,0].4(5(M.<.^))N .<.^R.<.^O.<.^S.<.^8(H.<.^L.<.^P.<.^T.<. ^)[240,92].26U3(U.<.^X.<.^A.<.^V.<.^Y.<. ^)W.<.^Z.<.^C.<.^[+200,0].4(U.<.^X.<.^A. <.^V.<.^Y.<.^)W.<.^Z.<.^C.<.^[+200,0]32Z [264,92].10H50(T.<.^H.<.^L.<.^P.<.^).18H 30(H.<.^L.<.^P.<.^T.<.^)[-200,-100]. </pre> </div> <!-- IMAGE Tab --> <div id="image-tab" class="tab-content dump-box" style="text-align:center;"> <div class="c64-preview-controls" style="margin:10px 0; display:flex; align-items:center; gap:10px;"> <label for="c64-vis-type">Visualization:</label> <select id="c64-vis-type" onchange="c64OnVisChange()"> <option value="koala" >Koala</option> <option value="raw_bitplane" >Raw (Bitplane)</option> <option value="raw_cellular" selected>Raw (Cellular)</option> <option value="doodle" >Doodle</option> </select> <div id="c64-raw-controls" style="display: inline-block; margin-left:10px;"> <label for="c64-raw-width">Width:</label> <input type="number" id="c64-raw-width" value="320" min="8" step="8" style="width:70px;" onchange="c64OnWidthChange()" /> <label style="margin-left:10px;"> <input type="checkbox" id="c64-raw-skip-load" onchange="c64OnSkipLoadChange()" checked /> Skip load address (+2) </label> <label style="margin-left:10px;"> <input type="checkbox" id="c64-raw-invert" onchange="c64OnInvertChange()" /> Invert </label> </div> </div> <div style="text-align:center; padding:10px;"> <img id="c64-preview-img" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAABACAIAAADkhTlJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAQI0lEQVR4nO1d23Lbug6lM/n/X1YfnLIw1gUgJSXpjPHg41AgsHCH0nafx3il4zjGGI/HI508D4/jiI8o/zyfh1TmU9p/cY72UpOV+Xs0FSV6isWgxM++HKP9JP4RvKrgIbbzSqPqkxLoOU11en4tHiXqEYFSF1PFqT77Vv3v55SnH56O32YrmUR7Da0KlXYoZ488/ugQpbGs6mSFnw1n8BuedGKajon+9xT2muMUIDXB/MXfdk6Noj/O73dPqtQjfGFT4X5jumpSpaKlk9ZkSAe/6Xfn8Ru9iVOp29t0DKruxan4+eU4DgWFnif+pbu/6vwQRK+XtHTRg8RPRJtO9jB3IFFOkxjen1d5m2q/RAJ1PnKqdLoQzwjuigJzezZ1f7AhMOkXvrsunSurcTtd2pkTHWyMU/kUQzShuULft4KinKb2+Qjxo5xbNx3Ko5Ajtki3T1pBxfttee4d8XvW4875tKWMYrx+6wqKT4fulVT+b1hBO71vrzBuKmzlqxLPGX6E1OHkL3V0OJSF+huK8My5IZxyVyVWLNF+QfqV7Kqcxu/IpjR2qqIzsfeo6X8Dr7MpRM7vb5RPgfyXNFS92etKIf/LeUln2urQhdEvyL0V+nsmFd0mUAgVTmu700T64BGbaZr/3wrdeUMYd3ZNJX+PaKqZ7rhkcqk6XvRJ3MxRXPU7w83zp76MPRrtogwdJzep0wKWpJV4Sud4J/f5cQo2/eblf0aJnUztOxRzyDOXZdbBgzXztWn8/cSs9fCaRRjFxivpUQRDDVHqzPJW8icPUDP7pOrfUL+wJ4PaKZInO9I8Jzqnn6gUeXnL+00VgsL5kY5i2iUy+BKCqRLjgZxYCekRak9o0yOjlI6+eCUam1pbBJM8awpp3qJokZANQ5DCn/yTcA5wZtSVmqzHRhlU0qM6I9OwPV5pQLz6ugw/nu91vVg+UbLhbEpWOD8HlE1UoEQglPSjaZMz+72PTFTQ0Sh/Pk3VpZRijaXvCUmKEC3jjg9jLtLWm3ioQKQyM5qiyhlLAY/XVDbJGh+ZBmHgjaoY/BxD5GgXSujwn/TbYPmJcj77OeEN8GzKBaY/JcSdXq4CmeqZflJvUot8tsWRi+H0qUxNSA0x6aXGjtfuttfsjdjti51qTKSKYXUqKsmdWYK3lJbUx31GGfmqceDnJ4KYgijEJoKhi9bIT2PNp0uKa0oUtByZsf1jeTz+vk0g8jQYsWfFT/qUdl9lLPIo4RQbTvVyzUuAyxHawZ/AU2xKvkKlplmH0zR0b5GhzuQ8Iz/i/PSOo5ebcDudD0X1e7zfuPy7x+qjEkOq8FJUXxeOoE6yNoUrbP3aLksoNvQhOpGJe2dod4phb9KqFbdUpDampnw6YCj/x+ziac4YfJHGa4w7ZT9vUVK6SmBLlMbjeN1+J5L5JbZkg2epraK3fUuiYs34jYCN/CZth6Bs6PMpJYxU0wrDluI+VgJnCjJ+Nq0u5RicX59URNKalsY0E8qxSRmoisn5YFtNs7/gbka7l5oMifYmQ5+UvUmXgUHxx0PlBBrHji56rjzc1GtctKpXEcXj40uT0Oj1T4eIS9MP1Op/E7g0Zps6rc6MtZJS0sTD+CjJ/4WTgcJrXlETYFSe34P3PcLjraTI6C2H2IRRTmnkQb2RAVUMSI9H+K1KqucVr3xR/nPgEdxxq+JIx18a64m7pEU9iiZPA+d3c8WnLy3s6bRt65oNa+hUvrCQEElHyIX546dOrCgaUzo5TCdqujGKRST9WVVyfppnVHF/gPQD09mFVsO8tFxFJOkLxhsbjZdGOaOizkDo0zTZI0yFdKahPClW48mVbazkD+pVnXRJi5qxigcpTebjdbt2JmldCPsjKkufuJXtKY4Lj19a9gLvJ0PnbtlKkxV0Sek7pxzvS9IQ8AjhO0mrEZnOuWp7auZPCkrK3iQnsim9KqZlgiWNxi68YgiL8Xn+McXFzt3ZNk8qHuCjx6UrOm4sZhLGpE/U1KLkU/wnB1SnYf1IIXWcdmH+oBxTbwpYNMoDi/40jft8A6VIEOTTqM90bSbH3rBFV9IMO8RfgtnTVXKO16T3nInU6tEHHCeDapTR7edLLjlfoTJ5T2U+qj3QPOpQM39oLsXaXuoRZqSjqKSiHAzKqA2iBj4ejw9U3GxI2wieKtKwPdOuyskwgl0RT8KgLkYtUd2wndiIGiHX+2aWPGlMnSmkJHOIQioHURJyCVFF8VPhWXKIimkzEGUjXvWJ0ssbzFSATbfphchGhVB7vHdMcaqdp9TboWR16YE9PPNHNdmUrnTlWj9P1U3XRWYFg54YmUmIimPC2Q93jG8/Q2j4lLH+s8NP9R7H8W8CT6efGYZRTTwsxw4da3RCpiFAMawWKk6SM3tBTIWEhx7GR9vgm49wEzFX4vbRdE6U72OhYopyJme8glMumdbP52gmhYewcZLtJV6SaeClH592Pb5hhU7g1EwoFakoRuR4yxRMeRfxqwnZIdQe+1Tflr4KeuJz5fj7uwlV58afpfDBjJ11uFQAEafnpIOho0JJVh7wDc77zROVPIV8JD78TsXtEQavKdZ7s0RLI6c69J6vV6MSG6UfyAp/fNTRjnsBnc/HK43Q7Ev5yZClxoTM2PTpqIz8eL0ckuVOsU2+vJHTe3jyRLcczxW6X0ieMEVSdpqtIzGkideZGGge/Uw076a2sh1RhWeJVtsZtXqw9I3ObM7YpzkIKcXFN0QqX2EYrwmQDmNbSebEUDZbsJ+oChh+XjVjFUKcvc9HeYWeD2ghLcFSklfNU3KeX9Rq0aGUAV7R6HmgxEMroQTTtCulAt6KWU5prKS+kU8lYJfEhmL2kRj0R6ApSuml9pbW4XWKJxXYYAXZL2+cZ76VfCxJL+1sUnSisnkJgHKo0j5eV7693kRrGwNAc9HnEEJqdhkTSurhB1AqrVTVntIVlccUOcWZCj5iRjllYSRCdeV1CrhDnSSnjaBU93FhIUUjUUInkCkMmG2ot5krWDAp143eJepgThojhrL7zKcpn2glqCEwJ5jRgrnu5ScTKCdeWWpMnmi1l9QpS1Ug8RNb52qpJzlH+EU3tehLfgfcqjFlF1CPzlTOHXQJno4Q6jE1DNNhukLV0YGGGZ/k++8KaqkO5fT1omSFR3lsgEvpuXfgeUJzEoYO5iP+VUqvbLYE32nU+cH+lsIRegwd2mgwpcfrpjoFLslBIZ2ubETN76U0fDpdfbz+UX5Ums4jc3SpsSjiPGAmx9DgLTpmqbEYceUHRWhmPFf2GmnJHPo9kR+q6GflIiowTt0hPK9cSgq4TNyUWBh7I1NV+6hquCn/jJxmLK/FM6pCUuUdryQ5zWZB5dCCV0lJ0zQFFM3HwqPeQF3UIpqNVKzyiadkAvWDcYIJPXWOuoK9+/mdFHDEpyYqYqVONAakbp36NAL1qWPk4KQyctSjsseXeMrS8jgHc0vZGhCM6SydnmUaTal9hESK3lBdYPKoRpDkmOodolpQsqkoOoSQsByMWzC9sS/Tu/mH/ud/TZeYcJUfUq+hrp7neHePP6nG6x35qGWy4bmSSW8ZnDSzFU7lgaiR+urWVFdQlbqENiF/EvnvQu+t0H0bcFQmojue6WRKyAFT0QMzciiwVTnz6dI6pzys1pNORNKUSMjnObVFbQpLaTBOFAnVkobwweZt0uvlLEHCTKM5PKCGaX7S/fcZDrIsYFfwTajT6uj3ebIRuas64o/LSRMjCaSH6ot/avgpHvMd4akf0br4iNpLE4/KMdWYoDaj0wwBUkd4iSRJiyYrpfjj8P9NrMHmrWlRkQF98aTOC2f8MaXCqN7cDpgDx9+hd9i3jpPv2Mo6xIOcFPN890snXtR4TcS9yexNSB6IONXQo6IOGON+28Knym9GdVl+NHuN61RSUStSHaXg+ixKHv7ntOgU/O7tTPEw/D9CHUPuU43Z5vnHlv+b/EoCxaYW0X57MmSkde7SbhUFpkTHNo09Ao312JLb1bbs3UVrh7bCon3s5bdKoH5iddrhL6GrGgGNKKq4vO/4XUPpOllgOPGWBC5N128jhWoVm5/nzfOvSW4ShQb+wslwbWGgnNXt4O6J7bvvVcKTTKWo5Fe0mmQos/Pq4bX7gjHvSniubE+KOiW6NJnVgKXTGFXkFXqVVlfES+gHV2JKG3jum7R+JU6P/CJ6a4HtjSyvcQnhHXTVZG4qimJ/co81OXeh/PsmvOcfbNL+SAGv8l+SeefXcv/GaArGTEJ1vjSZ4/nJd+YBHTNZgedJcvH/zHDrmFUxxi3iQvmGrjJTZd5J8r9ruIq+FrMqI9UrGZbBNjy1AlCBEbZ8XbTn6amC3WTr6x2Q5xGP3/DHD07gCwvVqHh++X4blyYtfSna0/gktUKb11cqxxBOjyW0127a+Ga4Cmac/q0y3lW3zhCp84RyNBLuVlKFfVOR30R+Wt6xQpdgRu+XZzGPJ//GO17aBrdLvaSyaI3eq95dTWfsnyucHv+//zkCRQ56mBia/FERokmclGeeR4bESc/nLa/3En7lz3SOWtI5FVI+Naia8aXADP4OkvN+i/7x8lOGlLcUfuWWUu949ZLiV4AT+FLjf5Po1NRkMH3a1GsOt/kVHkX3+bODBOWs4ldyOn6L503JXn684s+plg29F+JUMJKQz6G3mkP/WXwSnfauJn86ecJ6vtw/+emSmR6l3wSk3xkYvRQbXaiSjfGc8selMflEgb/En+VvfSbDAZstyvH4E3iFE13X8bOqHyP/WF9iE8923kYtij+5i6JCf6ZPBPBPnWoPyuZE2DBMc4qc2KLiddRLz8t4m/MEYAhXrPKX+I1zqBZjFPJQM1V86RWDX8n3UDt+61jakT+EeymGhOek3ktwlphNfrYU353omDFJ5ry1jVOBV4mohCiPmQSKT6/1J3UgJe83hV8hVz8qozq6roqjicvlei/HSYXg9V+a6PMR5cErRi9+URrpj4rfS6DXPcIlf3pdkWcvvgo/mo9o8WLi9LZ4ew0pJGVkS70duxJnxw9eLPJTjb890THhPMhSr0noVX4lREU9RVel755dBiS9a+RT/Bi1bT975zftLeUro0blk229S/zp/Bq/3QHUCIlX0nm6ns6NI0q9yNDkV2gNTuMuI+GCQIKlG/JLycleH7XSbxv2IgyUc94PTb3eDxFM07ee7Z/eVQPOGIzn9FEH/TgXGHXdMyv8A8IZ5XRsedObNgnTfYmz5DdiqRAsiaR9o3GYHw35BmHsetObfoaaE2yJ30wk1TUS5/nCO2mvaRDvAn7Tz9PSBFP8qRpTDZvvSr4HjJ+q8NKtEr/zFMjpoH3Tm76VTHkYfnplnmOV+vPBamm18DxsxE9l+gYRrXiX8Zt+gEyCIo/npwWpshxbg/r0yD1OZCvxoxOUQFrPb3rTt1H+B/13/N1OpEP8Q+p4gv/S8tj9u8H4j/jwKcVM9Zoqvfzfyr3pTWvk556feEO/DdLJjPxJjn9aWtHn7GwWUVpf/pvedCv9AaT+/02L0KCTAAAAAElFTkSuQmCC" alt="C64 Preview" style="border:1px solid #666; image-rendering:pixelated; max-width:100%; cursor:pointer;" onclick="c64OpenModal()" /> </div> <div id="c64-modal" class="modal" style="display:none; position:fixed; inset:0; background:rgba(0,0,0,0.9); z-index:1000;"> <span id="c64-modal-close" class="modal-close" style="position:absolute; top:15px; right:25px; color:#ff6600; font-size:40px; cursor:pointer;">×</span> <img id="c64-modal-img" class="modal-content" style="display:block; margin:2% auto; max-width:95%; max-height:95%; border:2px solid #ff6600;"> <div id="c64-modal-caption" class="modal-info" style="text-align:center; color:#ffaa66; font-family:monospace; margin-top:10px;"> C64 Image </div> </div> <script> function c64OnVisChange() { var type = document.getElementById('c64-vis-type').value; var url = new URL(window.location.href); if (type === 'raw_bitplane' || type === 'raw_cellular') { url.searchParams.set('preview', 'raw'); url.searchParams.set('raw_type', type === 'raw_bitplane' ? 'bitplane' : 'cellular'); var widthVal = document.getElementById('c64-raw-width').value || '320'; url.searchParams.set('raw_width', widthVal); var skip = document.getElementById('c64-raw-skip-load').checked ? '1' : '0'; url.searchParams.set('raw_skip_load', skip); var inv = document.getElementById('c64-raw-invert').checked ? '1' : '0'; url.searchParams.set('raw_invert', inv); } else if (type === 'doodle') { url.searchParams.set('preview', 'doodle'); url.searchParams.delete('raw_type'); url.searchParams.delete('raw_width'); url.searchParams.delete('raw_invert'); url.searchParams.delete('raw_skip_load'); } else { url.searchParams.set('preview', 'c64'); url.searchParams.delete('raw_type'); url.searchParams.delete('raw_width'); url.searchParams.delete('raw_invert'); url.searchParams.delete('raw_skip_load'); } window.location.href = url.toString(); } function c64OnWidthChange() { var widthVal = parseInt(document.getElementById('c64-raw-width').value, 10); if (isNaN(widthVal) || widthVal < 8) widthVal = 320; widthVal = Math.round(widthVal / 8) * 8; document.getElementById('c64-raw-width').value = widthVal; var url = new URL(window.location.href); url.searchParams.set('preview', 'raw'); var type = document.getElementById('c64-vis-type').value; var rawType = (type === 'raw_cellular') ? 'cellular' : 'bitplane'; url.searchParams.set('raw_type', rawType); url.searchParams.set('raw_width', String(widthVal)); var skip = document.getElementById('c64-raw-skip-load').checked ? '1' : '0'; url.searchParams.set('raw_skip_load', skip); var inv = document.getElementById('c64-raw-invert').checked ? '1' : '0'; url.searchParams.set('raw_invert', inv); window.location.href = url.toString(); } function c64OnInvertChange() { var url = new URL(window.location.href); url.searchParams.set('preview', 'raw'); var type = document.getElementById('c64-vis-type').value; var rawType = (type === 'raw_cellular') ? 'cellular' : 'bitplane'; url.searchParams.set('raw_type', rawType); var widthVal = document.getElementById('c64-raw-width').value || '320'; url.searchParams.set('raw_width', widthVal); var inv = document.getElementById('c64-raw-invert').checked ? '1' : '0'; url.searchParams.set('raw_invert', inv); var skip = document.getElementById('c64-raw-skip-load').checked ? '1' : '0'; url.searchParams.set('raw_skip_load', skip); window.location.href = url.toString(); } function c64OnSkipLoadChange() { var url = new URL(window.location.href); url.searchParams.set('preview', 'raw'); var type = document.getElementById('c64-vis-type').value; var rawType = (type === 'raw_cellular') ? 'cellular' : 'bitplane'; url.searchParams.set('raw_type', rawType); var widthVal = document.getElementById('c64-raw-width').value || '320'; url.searchParams.set('raw_width', widthVal); var skip = document.getElementById('c64-raw-skip-load').checked ? '1' : '0'; url.searchParams.set('raw_skip_load', skip); window.location.href = url.toString(); } function c64OpenModal() { var modal = document.getElementById('c64-modal'); var img = document.getElementById('c64-preview-img'); var modalImg = document.getElementById('c64-modal-img'); modalImg.src = img.src; modal.style.display = 'block'; document.body.style.overflow = 'hidden'; } function c64CloseModal(){ var modal = document.getElementById('c64-modal'); modal.style.display = 'none'; document.body.style.overflow = 'auto'; } document.getElementById('c64-modal-close').onclick = function(){ c64CloseModal(); }; document.getElementById('c64-modal').onclick = function(e){ if(e.target && e.target.id==='c64-modal'){ c64CloseModal(); } }; document.addEventListener('keydown', function(e){ if(e.key==='Escape'){ c64CloseModal(); }}); </script> <p style="font-size:11px;color:#6699ff;margin-top:8px;">> CLICK IMAGE PREVIEW FOR FULL MODAL</p> </div> </div> </main> <footer class="footer"> <p>> <a href="javascript:history.back()" style="color: #6699ff;">BACK</a> | FILE INFORMATION</p> </footer> </div> <script> function switchTab(event, tabId) { // Hide all tab contents const tabContents = document.querySelectorAll('.tab-content'); tabContents.forEach(tab => { tab.classList.remove('active'); }); // Remove active class from all tab buttons const tabButtons = document.querySelectorAll('.tab-btn'); tabButtons.forEach(btn => { btn.classList.remove('active'); }); // Show the selected tab content document.getElementById(tabId).classList.add('active'); // Mark the clicked button as active event.target.classList.add('active'); // Update format description const formatDesc = document.getElementById('format-desc'); if (formatDesc) { if (tabId === 'petscii-tab') { formatDesc.textContent = 'PETSCII'; } else { formatDesc.textContent = 'ASCII'; } } } function extractFileContent(fileHash) { const btn = document.getElementById('extractContentBtn'); const status = document.getElementById('extractStatus'); btn.disabled = true; btn.textContent = 'EXTRACTING...'; status.innerHTML = '<span style="color: #ffaa44;">> SEARCHING D64 FILES FOR CONTENT...</span>'; fetch('extract_file_content.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'file_hash=' + encodeURIComponent(fileHash) }) .then(response => response.json()) .then(data => { if (data.success) { status.innerHTML = '<span style="color: #00ff00;">> SUCCESS: Content extracted (' + data.bytes + ' bytes)</span>'; setTimeout(() => { location.reload(); // Reload page to show hex dump }, 2000); } else { let errorMsg = '<span style="color: #ff6666;">> ERROR: ' + data.error + '</span>'; // Add debug information if available if (data.debug) { errorMsg += '<br><span style="color: #ffaa44; font-size: 10px;">'; errorMsg += '> DEBUG: Target: ' + data.debug.target_filename + '<br>'; errorMsg += '> Files found in D64: ' + data.debug.files_found + '<br>'; errorMsg += '> Target hash: ' + data.debug.target_hash.substring(0, 16) + '...<br>'; if (data.matches_found && data.matches_found.length > 0) { errorMsg += '> Filename matches found: ' + data.matches_found.length + '<br>'; data.matches_found.forEach(match => { errorMsg += '> - Has content: ' + match.has_content + ', Length: ' + match.content_length; if (match.content_hash) { errorMsg += ', Hash: ' + match.content_hash.substring(0, 16) + '...'; errorMsg += ', Matches: ' + match.hash_matches; } errorMsg += '<br>'; }); } else { errorMsg += '> No filename matches found<br>'; } errorMsg += '</span>'; } status.innerHTML = errorMsg; btn.disabled = false; btn.textContent = 'EXTRACT CONTENT FROM D64'; } }) .catch(error => { status.innerHTML = '<span style="color: #ff6666;">> ERROR: Network error</span>'; btn.disabled = false; btn.textContent = 'EXTRACT CONTENT FROM D64'; }); } // C64 Image Modal Functions function openC64Modal(fileHash, formatName) { const modal = document.getElementById('c64ImageModal'); const modalImage = document.getElementById('modalImage'); const modalInfo = document.getElementById('modalInfo'); modalImage.src = 'render_c64_image.php?hash=' + fileHash ; modal.classList.add('show'); // Prevent body scrolling when modal is open document.body.style.overflow = 'hidden'; } function closeC64Modal(event) { const modal = document.getElementById('c64ImageModal'); const modalImage = document.getElementById('modalImage'); // Only close if clicking on modal background or close button, NOT on the image itself if (!event || event.target === modal || event.target.classList.contains('modal-close')) { modal.classList.remove('show'); // Re-enable body scrolling document.body.style.overflow = 'auto'; // Clear the image source to stop loading modalImage.src = ''; } } // Close modal with Escape key document.addEventListener('keydown', function(event) { if (event.key === 'Escape') { closeC64Modal(); } }); </script> <script> function openMusPlayer(hash, name) { const w = 700, h = 500; const y = window.top.outerHeight / 2 + window.top.screenY - ( h / 2); const x = window.top.outerWidth / 2 + window.top.screenX - ( w / 2); window.open('jssid/player.html?hash=' + encodeURIComponent(hash) + '&name=' + name, 'sidPlayer', 'width=' + w + ',height=' + h + ',left=' + x + ',top=' + y + ',resizable=yes,scrollbars=no'); return false; } </script> </body> </html>