Tools & Scripts: Difference between revisions
m (→Memory related Tools and Scripts: foenixmgr) |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== 000F256 Machines Game Development Tools == | == 000F256 Machines Game Development Tools == | ||
=== | === Graphic Creation and Conversion Tools & Scripts === | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 38: | Line 38: | ||
|https://github.com/cmassat/EffenX/tree/dev/util | |https://github.com/cmassat/EffenX/tree/dev/util | ||
|python script by SprySloth, converts a grid png of sprite frames into individual bin (raw bitmap) and pal (palette) files, ready to be consumed by your project. A good source of these grid pngs can be from Aseprite above. | |python script by SprySloth, converts a grid png of sprite frames into individual bin (raw bitmap) and pal (palette) files, ready to be consumed by your project. A good source of these grid pngs can be from Aseprite above. | ||
|- | |||
|Wildbits Graphics Converter | |||
|https://github.com/Mu0n/F256MiscGoodies/tree/main/tools | |||
|Wildbits Graphics Converter v1.1 | |||
python gui application with 4 modes with drag and drop functionality and image preview for your png images: | |||
1) convert a bitmap (320x240 or 320x200) png to raw .bin bitmap and .pal file | |||
2) convert a png sprite sheet (8x8, 16x16, 24x24, 32x32) into a raw .bin file and .pal file | |||
3) convert a png tilesheet (8x8 or 16x16) into a raw .bin file and .pal file | |||
4) convert a png 240x320 into a R5G6B5 .bin file meant for the K2 LCD screen | |||
(this supersedes f256_sprite_cutter and png2raw and then some!) | |||
|} | |} | ||
=== Memory related Tools and Scripts === | |||
{| class="wikitable" | |||
! Tool !! Link !! Notes | |||
|- | |||
|FoenixMgr | |||
|https://github.com/pweingar/FoenixMgr | |||
|Foenix Manager, set of python script that lets you interact with the machine through the USB debug port. Inspect RAM, run an executable, upload to SD card, reprogram the flash memory, etc. This whole toolset is usually provided in the easy-to-update packages that can be found in the [[Firmware Releases]] page - this is its dedicated github project page. | |||
|- | |||
| style="white-space:nowrap;" | Wildbits Memory Planner | |||
| style="white-space:nowrap;" | https://github.com/Mu0n/F256MiscGoodies/tree/main/tools | |||
| style="white-space:nowrap;" | Wildbits Memory Planner v1.1 | |||
A small windowed tool for Wildbits retro-computer developers that lets you place data objects on a memory map, compact them, resize them, move them. | |||
Once you're done, export the list of everything with start address and size. | |||
Export a llvm-mos or oscar64 list of #embed or #pragma directives for easy integration in your C project or otherwise. | |||
|- | |||
|Wildbits Uploader | |||
|https://github.com/Mu0n/F256MiscGoodies/tree/main/tools/Wildbits%20Uploader | |||
|Wildbits Uploader v0.6 | |||
A small GUI front-end for your existing FoenixMgr install. It drives your own <code>fnxmgr.py</code> via subprocess -- same protocol handling, same <code>foenixmgr.ini</code>, same everything you already have working -- this just gives it buttons and drag-and-drop. | |||
|} | |||
=== Music Tools and Scripts === | === Music Tools and Scripts === | ||
Latest revision as of 14:29, 18 August 2026
000F256 Machines Game Development Tools
Graphic Creation and Conversion Tools & Scripts
| Tool | Link | Notes |
|---|---|---|
| Aseprite | https://www.aseprite.org/ | Aseprite can be used to create sprites animation or Tiles Sets. |
| Scripts relevant to Aseprite usage | If you use Aseprite, you can convert your tile drawings to tilesets and tilemaps using these scripts. The export to sprites will convert sprites to a 64tass compatible text file. | |
| f256_sprite_cutter | https://gist.github.com/digarok/57b096236a7fb1c76efef6cbb9f73a83 | Sprite cutter that cuts a PNG according to line-by-line instructions in a text file. Requires python and the PIL library, install with:
python -m pip install --upgrade pip python -m pip install --upgrade Pillow Run with: python f256_sprite_cutter.py myimage.png mylist.txt sprites.s where mylist.txt contains a series of lines containing x, y offset, width, name, where it's assumed the width is the same as the height since it's for square sprites supported for the F256xx, such as 8,16, or 32. The output (named sprites.s in this above example) is a series of hex instructions with a list of hex values of a color picked from the CLUT. In order to make it compatible with 64tass, I search replaced hex-> .byte and replaced every value I could find by swapping in a $ in front (ie 00 -> $00 and 01 -> $01, etc.) |
| Foenix Graphics Toolkit | https://github.com/econtrerasd/F256-GraphicToolkit | The Sprite Editor module in the Graphics Toolkit can help you draw sprites of different sizes in the F256 platform and save them as Spr files. The file format is documented in the manual |
| png2raw.py | https://github.com/cmassat/EffenX/tree/dev/util | python script by SprySloth, converts a grid png of sprite frames into individual bin (raw bitmap) and pal (palette) files, ready to be consumed by your project. A good source of these grid pngs can be from Aseprite above. |
| Wildbits Graphics Converter | https://github.com/Mu0n/F256MiscGoodies/tree/main/tools | Wildbits Graphics Converter v1.1
python gui application with 4 modes with drag and drop functionality and image preview for your png images: 1) convert a bitmap (320x240 or 320x200) png to raw .bin bitmap and .pal file 2) convert a png sprite sheet (8x8, 16x16, 24x24, 32x32) into a raw .bin file and .pal file 3) convert a png tilesheet (8x8 or 16x16) into a raw .bin file and .pal file 4) convert a png 240x320 into a R5G6B5 .bin file meant for the K2 LCD screen (this supersedes f256_sprite_cutter and png2raw and then some!) |
| Tool | Link | Notes |
|---|---|---|
| FoenixMgr | https://github.com/pweingar/FoenixMgr | Foenix Manager, set of python script that lets you interact with the machine through the USB debug port. Inspect RAM, run an executable, upload to SD card, reprogram the flash memory, etc. This whole toolset is usually provided in the easy-to-update packages that can be found in the Firmware Releases page - this is its dedicated github project page. |
| Wildbits Memory Planner | https://github.com/Mu0n/F256MiscGoodies/tree/main/tools | Wildbits Memory Planner v1.1
A small windowed tool for Wildbits retro-computer developers that lets you place data objects on a memory map, compact them, resize them, move them. Once you're done, export the list of everything with start address and size. Export a llvm-mos or oscar64 list of #embed or #pragma directives for easy integration in your C project or otherwise. |
| Wildbits Uploader | https://github.com/Mu0n/F256MiscGoodies/tree/main/tools/Wildbits%20Uploader | Wildbits Uploader v0.6
A small GUI front-end for your existing FoenixMgr install. It drives your own |
Music Tools and Scripts
| Tool | Link | Notes |
|---|---|---|
| DOSBox VGM music extraction mini-guide | Software#Music for playvgm.pgx | DOSBox uses a YM3812 chip that outputs OPL2, this is a great, immense source of music that can leverage the OPL functionality of the F256K
1) run dosbox 0.74+, from the command line and mount your game as 2) before you get to the point where the music you want to extract plays, hit CTRL-ALT-F7 and you should see in the dosbox 'log' window that a music capture has started. I think it dumps your captures in /username/appdata/local/dosbox/capture but it will say where in the log window 3) reach the point where it plays and let it loop or run its course, hit CTRL-ALT-F7 to stop the capture. 4) this gives you a .DRO that you can analyze with https://www.jestarjokin.net/apps/drotrimmer/ . the analysis tool is supposed to find loops, but it didn't work well with the first tune I tried. 5) try to find the location of your first tune's note in the main window of drotrimmer and try to start the playback from there. delete superfluous notes that might surround your tune. 6) use dro2vgm command line tool: https://www.vgmpf.com/Wiki/index.php/DRO_to_VGM 7) open in a hex editor and chop off the bytes from 0x00 to 0xFF (it's the header) 8) transfer to your F256K (jr has no opl support!) 9) bload "yourtrimmed.vgm",$010000 10) run playvgm.pgx |
| Convert MIDI files into VGM files. | https://github.com/SudoMaker/midi2vgm | This is a Linux app, but does compile using Linux on windows under WSL.
Link to WSL install: https://learn.microsoft.com/en-us/windows/wsl/install Link to binaries https://github.com/cmassat/midi2vgm/releases/tag/V1.0.0 libADLMIDI.a <- Required Library midi2vgm_opl3 <- Executable |
| convert.py | https://github.com/natebarney/playvgm-f256k/tree/master/util | from NateBarney
convert.py : python script to read a VGM or VGZ, decompress it if needed, and strip off the VGM header and GD3 tag |
| Sekaiju | https://openmidiproject.opal.ne.jp/Sekaiju_en.html | Easily compose and sequence MIDI music. Supports score notation, piano roll and MIDI in if you have a MIDI interface. |
| GoatTracker | Guide to use GoatTracker for the F256. | A SID tracker for DOS/MAC/LINUX that can create packed binary files for playback on the F256 computers. |