Commit Graph

11 Commits

Author SHA1 Message Date
vonmillhausen
806444d2a9 Tool updates...
This was just supposed to be a new feature for the generic image tool (dithering support), but while working on that things kind of snowballed 😅

* Added dithering support to the generic image tool and the boot logo changer, when converting images to RGB565 format. This uses a Bayer 8x8 matrix, and the overall "strength" of the dither can be controlled - it defaults to what I feel is a sane value. Dithering can help reduce banding effects due to the low colour depth in RGB565.
* Made "fix" scaling mode more flexible in the generic image tool - now there's checkboxes beside the width and height dimensions - if you un-check one, the other dimension will be calculated automatically to keep the input's aspect ratio intact
* Improved downscaling quality in the generic image tool. While working on the dithering feature, I discovered the previous "gaussian resampling" downscaling method I was using introduced distortion in certain situations. I had a lot of fun playing around with possible replacements (I tried 10 new downscaling functions!), and finally settled on a hybrid function that mixes powers-of-two downscaling (with some custom mipmap style cross-blending) with Hermite interpolation. This new method is reasonably quick, gives clean results with no great distortion, and works well with alpha channels (doesn't introduce any dark fringing)
* Generic image tool now shows the dimensions of the output image
* Added a max width on the main tool page bodies, so that they don't get so wide on full-screen desktop browsers
* Fixed a few edge-case logic bugs here and there (e.g., when upscaling only a single dimensions with the generic image tool, or places where I thought I was copying objects, but was only creating references to them, etc.)
* Switched from using "var" declarations across all tool codebases to "let" or "const" instead
* Switched out the SVG alert icons to just use emoji instead
* Various other nips and tucks (fixed up my arbitrary 80-column comment wrapping on the tools that had previously just been eye-balled, fixed a few comment typos, etc.)
2024-05-14 20:20:57 +01:00
vonmillhausen
a6feed8b84 Updated tools to support firmware 1.71
Data Frog released firmware 1.71, a quick bug-fixed version of firmware 1.7, so added support for it to the tools I host
2023-10-19 14:31:40 +01:00
vonmillhausen
06d2126247 Updated for October 7th/1.7 BIOS version
Looks like there's a new official firmware version out, and it's got a critical bug with SNES save states - avoid this one!

Updated the tools I host to support the new firmware, complete with warnings about it. Also updated the main Github document with the first details about the firmware, more will come later when my own download of it has completed.
2023-10-12 11:24:01 +01:00
vonmillhausen
462672a757 Added support for the new "August 3rd" BIOS
There's a new BIOS revision floating around (MD5 hash first posted in Discord on August 3rd); no official announcement from Data Frog about it yet, but I've gone ahead and added support for it to the Boot Logo Changer and the Button Mapping Changer tools
2023-08-19 17:45:25 +01:00
vonmillhausen
25ce2e3221 Transitioned to shared Javascript library
There was a lot of repeated JS across all my tools (e.g., image conversion, BIOS hash checking, etc.), and so I decided to move all shared code out to its own separate library. This will improve scalability and maintainability at the cost of portability - a fair trade in my opinion.

This work also involved large-scale refactoring of all of the tools. There's no actual functional difference (all the tools should behave exactly the same), bar some UI improvements for the oldest tools as a result of moving to the same codebase used by the more recent tools.
2023-06-26 14:11:01 +01:00
vonmillhausen
617b8e5365 Moved tool CSS to shared CSS file
Just for future flexibility, moved the CSS from each individual tool to a shared CSS library
2023-06-26 13:19:47 +01:00
vonmillhausen
3deb1cb199 Updated Creative Commons links to HTTPS 2023-06-22 11:04:54 +01:00
vonmillhausen
e4ccc7db0e Update buttonMappingChanger.htm
Substantially re-written in light of the May 22nd firmware, which had a `bisrv.asd` of the same length as the May 15th firmware, but different in operation - the byte order in `KeyMapInfo.kmp` has been flipped for SNES and Genesis. As there's no way to tell from just looking at a `KeyMapInfo.kmp` what the byte order should be, users must now provide both `bisrv.asd` AND `KeyMapInfo.kmp` files - the `bisrv.asd` is now hash-checked against known versions, and that's used to inform which byte order to use for the `KeyMapInfo.kmp`
2023-05-22 19:42:20 +01:00
vonmillhausen
cb6e8a392f Update buttonMappingChanger.htm
Updated to support the new May 15th firmware. Also took the opportunity to make a few tweaks, including presenting the button tables in a more standard "ABXYLR" order, regardless of the byte-order in the actual SF2000 data files
2023-05-16 18:13:48 +01:00
vonmillhausen
db0f33debe Update buttonMappingChanger.htm
Seems like there may be some more significant changes to the data format for the button mappings; I haven't had time to dive into the details yet, so just updating the tool to indicate it knows about the new firmware, but doesn't support it yet
2023-05-16 11:53:08 +01:00
vonmillhausen
f2be096d1c
Added my version of osaka's key mapping tool 2023-05-10 15:32:01 +01:00