Tools & Scripts: Difference between revisions
(→F256 Machines Game Development Tools: added an entry for VGM extraction) |
No edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 41: | Line 41: | ||
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 | 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. | 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 | |||
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. | 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: | |||
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) | 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!) | 8) transfer to your F256K (jr has no opl support!) | ||
9) bload "yourtrimmed.vgm",$010000 | 9) bload "yourtrimmed.vgm",$010000 | ||
10) run playvgm.pgx | 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 | |||
|} | |} | ||
Latest revision as of 21:21, 12 June 2024
F256 Machines Game Development Tools[edit | edit source]
Sprite Creation Tools & Scripts[edit | edit source]
Tool | Link | Notes |
---|---|---|
Aseprite | https://www.aseprite.org/ | Aseprite can be used to create sprites animation or Tiles Sets. |
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 |
Music Tools and Scripts[edit | edit source]
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 |
Sprite & Tile Creation Tools & Scripts[edit | edit source]
If you use Aseprite, you can convert your tile drawings to tilesets and tilemaps using the following scripts:
- Export Aseprite Tilemap
- Export Aseprite Tileset
- Export Aseprite Sprites - Will convert sprites to 64tass compatible text file.