I made this little tool to visualize and edit PICO-8's memory. The app has 3 modes
(From Right to Left)
- LIST MODE - Shows addresses in a list. Parses the content of the memory as decimal, hexadecimal and binary numbers. Also renders the value as a character.
- HEX MODE - Shows addresses as hexadecimal numbers with 6 entries in each row. Also renders the values as a line of pixels.
- DOT MODE - Shows addresses as sequence of dots with 8 entries in each row. Unlike the other two modes this doesn't allow you to edit the numbers and is only for visualization purposes.
In addition each mode has two tools to find a specific address:
- MAP - Shows a simplified map of the memory. It's a pattern of boxes. Each box represents 32 bytes. Clicking on a box will jump to that address. The shortcut is M.
- JUMP - Allows you to enter a hexadecimal address directly. The shortcut is J.
Let me know if there are some errors. Let me also know if there are any features that you'd really love to have.
(Tilemap contains a partial artwork originally by @johanvinet)
0.0.1 - Initial Release
0.0.2 - Added description to button mapping (0x5F4C - 0x5F53). Tweaked description to 0x5F33 and 0x5F34.
0.0.3 - Added new addresses for the 0.2.2 release - Custom Font and Print Attributes. Fixed a bug where random beeps would be heard in list mode. Splash screen now only shows up once a day.
Looks pretty good! I'd have an use for your tool. Actually, I have an idea for a feature for your viewer. If there's a way to have a resident program in the pause menu or to make a light version to easily bundle your tool in another one for debugging process, that'd be pretty cool.
Im actually pretty new to here and programming in general, so im sorry if this sounds stupid, but i dont really get how this works or what is its purpose. Does it actually modify your pico 8? if so, then how long do the effects last? until you reboot it? Btw im loving the community :D
@Eiyeron It's not really in the cards to make it that portable, I think.
@Mr. Human Working on a tutorial. But to answer you questions: Modifying memory modifies your current cart. Things like sprirtes, sound effects or screen content. The effect lasts only until you quit the program. With this tool you can explore and experiment in a convenient and visually transparent way.
0x5F36 is a byte that controls miscellaneous "chipset features" such as disabling sprite 0's transparency in map/tline, and switching in a normally-hidden 32K RAM block at 0x8000 to 0xFFFF.
0x5F2E now contains additional bits for persisting more things than just the draw and display palettes, such as fill pattern settings, print attributes, etc.
[Please log in to post a comment]