Releases: SlithyMatt/x16-tile-editor
Alpha Release 0.0.4
This is the fourth alpha release of the X16 Tile Editor. It has more features implemented than the previous release, but it is still not feature-complete. Please see the earlier release notes for the features that were already implemented.
New features added for this release:
- Drop Down Menus
- File - Completely Implemented
- Open Tiles - opens a tile assets file
- Open Palette - opens a palette file
- Save - save tileset, including palette and metadata, to current filename
- Save As - save tileset, including palette and metadata, to new filename
- Exit - ...to BASIC
- View - only drops down. No selections implemented yet
- Options - partially implemented
- Use PRG File Headers - Off by default. If enabled, will load and save with 2-byte header for backwards compatibility
- CRT Mode - not implemented yet
- Max Set Size - set the size of the tileset, up to maximum size available
- About - doesn't drop down, just makes "About" dialog appear with version info
- File - Completely Implemented
- Metadata to store and reload tileset dimensions, color depth and size
If you want to open a tileset edited with earlier alpha versions, you will need to enable PRG headers first. Then you can re-save without header after disabling option. You can also right-size the tileset, rather than using the maximum size. Upon save, the metadata will be saved to a file with the same name as the tileset, but appended with ".META". The palette will similarly be saved with the ".PAL" extension, even if you loaded the palette from another file. It will become part of the tileset "project" along with the metadata.
When setting tileset size, you may notice that the editor forces you to a smaller value. This is expected if you enter a size larger than the maximum supported by this program and/or the X16, so it will instead be set to the maximum value. Please remember that 2-color tile sets can only have 256 tiles, and others can support up to 1024, but VRAM restrictions generally get in the way before reaching that size.
The file chooser will not let you enter a filename larger than 17 characters. Sorry! You may be able to use a larger filename if you base it on an existing file on your card and edit the first 17 characters of it, but even then a filename can only have a maximum length of 28 characters with this program.
The default filename is still TILES.BIN, so at startup the program will attempt to open TILES.BIN, and look for metadata in TILES.BIN.META and the palette in TILES.BIN.PAL. It's not necessary to use this default filename anymore, but it may streamline your development to use that as a working name when first authoring it, then Save As to its final name later.
Alpha Release 0.0.3
This is the third alpha release of the X16 Tile Editor. It has more features implemented than the previous release, but it is still not feature-complete. Please see the earlier release notes for the features that were already implemented.
New features added for this release:
- Dropper: Clicking the "Dropper" button will change the mouse cursor to a color dropper. A left click within the tile visualization will select the color of that pixel as the foreground color.
- Copy: Copies the current tile into the clipboard
- Paste: Pastes the tile in the clipboard to overwrite the current tile
- Shift: Click on the four shift directional controls to shift the tile pixels in the selected direction. The pixels in the opposite direction will be backfilled with color 0 (transparency).
- H-Flip: Toggle horizontal flipping of the tile preview. The tile's native orientation will continue to be reflected in the visualization.
- V-Flip: Toggle vertical flipping of the tile preview. The tile's native orientation will continue to be reflected in the visualization.
This release still has the TELOADER.PRG BASIC loader to run the program from RAM. Please note that in the loader the ROM image is now being loaded to $3000, expanding the BSS RAM segment to go between $1000 and $2FFF, which will be the actual RAM footprint of the program when run from ROM.
A new loader is included with this release named CHARLOAD.PRG. This loader will load the current character set into the VRAM workspace for editing. The first time using this loader, you will want to delete TILES.BIN in the same directory, in case it exists, to prevent some other tileset from loading. After using CHARLOAD.PRG, you can save the tileset so that you can work on it later using the main loader, which is much faster. Also, please note that tile metadata is still not yet supported, so you will have to adjust the attributes to 8x8 pixels and 2 colors to match the standard character set.
Alpha Release 0.0.2
This is the second alpha release of the X16 Tile Editor. It has more features implemented than the previous release, but it is still not feature-complete. Please see the Alpha 0.0.1 release notes for the features that were already implemented.
New features added for this release:
- Palette load, edit and save. If available, palette will be loaded from PAL.BIN. Colors in the palette can be edited by right-clicking them and then adjusting their RGB values using the pop-up controller. Palette will be saved as PAL.BIN (along with the tiles to TILES.BIN) any time you press the 'S' key.
- The preview sprite is now centered in the preview window based on its dimensions.
- Palette offset is now selectable using the -/+ buttons in the tile visualization. Of course, this doesn't change the tileset at all, but it is a helpful visual aid to see how tiles will look at different offsets.
- The Clear button now works. It will instantly set all the pixels in the current tile to transparent (color 0).
An important change to note with this release, it no longer comes with a sample tile set. The first time you run the editor (which can be easily done by running the TELOADER.PRG BASIC loader), you will have the default palette and garbage for all the tiles. You can use the Clear button to start with a blank slate, and then edit the tiles and palette at will. Pressing the 'S' key will save the palette and tiles to PAL.BIN and TILES.BIN, respectively, and both of these files will have 2-byte headers so that they can be loaded back into VRAM using VLOAD (see the BASIC loader comments for examples commands). A future release will implement an option to omit the 2-byte header, as well as an option to constrain the tileset to a selectable number of tiles. For this release, the tileset will be the maximum possible size (about 100kB), including any uninitialized garbage tiles. You can get started using the application as-is, but you will not want to use the tileset in an application until the set size is implemented and you can re-save your tileset and rightsize it.
If you find any bugs when attempting to use any of the above supported features, please create an issue here on GitHub - messages on Discord, etc, will just get lost in the shuffle.
But please do not file an issue for anything that is not implemented yet, including the explicit exceptions to the features I listed above and in the previous release notes.
Alpha Release 0.0.1
First alpha release of X16 Tile Editor. This is not feature complete, so a lot of features simply do nothing, most of the buttons don't click, but the following set of features are implemented and appear to work:
- Loads TILES.BIN into VRAM at startup. (Included BASIC loader will preload the included TILES.X16 as a baseline)
- Tile editing -- that's why you're here! Left mouse button sets pixel to foreground color, right button background.
- Tile navigation (Previous and Next buttons. Tile index should appear in top of tile viz. Tile address should appear below preview.)
- Tile preview (currently at fixed position optimized for 16x16 tiles -- will be repositioned in later releases based on dimensions)
- Tile dimension selection: 8, 16, 32 for height and width (64 will be supported in a later release) -- just click on current numbers to change to next value, "going around the horn" if necessary
- Color depth selection: 2, 4, 16, 256 - click through options, just like dimensions
- Color selection: left click on any palette color to set foreground color. Click on switch [<>] button to swap foreground and background colors. Note that any palette color may be selected, but tile is still limited to current color depth, and palette offset is currently fixed at zero.
- Save to TILES.BIN at any time by hitting the S key.
Notes:
This comes with a BASIC loader, tokenized as TELOADER.BAS. This will load the example tileset in TILES.X16 into VRAM, then load the program ROM image (TILEEDIT.ROM) into RAM at $2000 and then run it with a SYS call. Currently, the application uses RAM between $1000 and $2000 for variable data, but this may be moved to "Golden" RAM later. Once you save the first time, TILES.BIN will be created, and that will be loaded the next time you start the program. The loader will continue to load TILES.X16 into VRAM first unless you delete that line (10), which will shave a solid second off your start time. Note that if you don't load TILES.X16 and TILES.BIN doesn't exist, the working VRAM area will be random garbage and not the lovingly handcrafted garbage that is my Chase Vault tileset.
Please do not try to load TILEEDIT.ROM at a different address from $2000. It simply won't work. The final release will be relocated to $C000 for use as a ROM bank.
The number of tiles in the tileset is currently not set to a specific value. It will default to using the available VRAM (about 100kB) and write that maximum size tileset to TILES.BIN when you save. Because of this, I would strongly recommend using this for anything other than testing purposes at this time.
If you find any bugs when attempting to use any of the above supported features, please create an issue here on GitHub - messages on Discord, etc, will just get lost in the shuffle.
But please do not file an issue for anything that is not implemented yet, including the explicit exceptions to the features I listed above.