Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - STH1EDWV - Sonic the Hedgehog editor

Reply to topic Goto page 1, 2  Next
Author Message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
STH1EDWV - Sonic the Hedgehog editor
Post Posted: Fri Oct 29, 2021 7:05 pm
Last edited by Maxim on Sat Oct 30, 2021 5:55 pm; edited 1 time in total
There's an old project here:

https://github.com/zeroKilo/STH1EDWV

...which I have been hacking on here:

https://github.com/maxim-zhao/STH1EDWV

Download builds from the "Releases" section of that page. A new one is created every time I push changes.

The goal is to support the needs of the Sonic Genesis project but I thought I'd start posting about it here to help motivate me.

So far I've:

- Rewritten a lot of the code in my own style :)
- Changed a lot of the way it works to be more efficient
- Extended the tile and block editors to be more visual
- Made the level viewer more flexible
- Added the ability to edit blocks' foreground flags and solidity data

The biggest planned feature is to implement a resource packer to allow expanding compressed assets beyond their original size.
Image1.png (44.04 KB)
Image1.png
Image2.png (42.41 KB)
Image2.png
Image3.png (91.94 KB)
Image3.png

  View user's profile Send private message Visit poster's website
  • Joined: 09 Jun 2014
  • Posts: 187
Reply with quote
Post Posted: Sat Oct 30, 2021 2:18 am
Thanks again Maxim! I love the new features and speed improvements.
  View user's profile Send private message
  • Joined: 06 Aug 2015
  • Posts: 107
Reply with quote
Post Posted: Sat Oct 30, 2021 4:26 am
OMG!
  View user's profile Send private message
  • Joined: 02 Mar 2011
  • Posts: 142
  • Location: Valencia,Spain.
Reply with quote
Post Posted: Sat Oct 30, 2021 7:43 am
Maxim, your motivation could become in new future games for the best console ever.

Thank you for doing such an impressive work always related with the Master System.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sat Oct 30, 2021 8:02 am
I’m happy to let others contribute or take over :) open source is the way.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sat Oct 30, 2021 5:15 pm
I made the solidity images a bit more colourful so it's easy to see what is "air", "solid" and "ground", and added back the numerical values for them. I also added an option to show the level bounds (which are not currently editable).

I fixed a bug with the floor layout saving that meant that it could crash the game when the level became smaller after compression.
Image2.png (46.63 KB)
Image2.png
Image3.png (47.7 KB)
Image3.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sat Oct 30, 2021 5:55 pm
I added a new option to save the game to a temporary file and launch the associated program, which is sort of useful for testing. I guess we need a level select too :)
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Nov 02, 2021 3:01 pm
I added a feature to see which blocks are using the selected tile, and a button to copy a tileset image to the clipboard. I also added the ring tiles on top, although they are not part of the tileset:



You can now see how often certain blocks are used in the level, and the ring blocks now show the rings:



You can copy/paste entire floor layouts which is useful to copy between ROMs, and of course you can see the rings in the level now:


Image1.png (47.17 KB)
Image1.png
Image2.png (48 KB)
Image2.png
Image3.png (65.02 KB)
Image3.png

  View user's profile Send private message Visit poster's website
  • Joined: 09 Jun 2014
  • Posts: 187
Reply with quote
Post Posted: Tue Nov 02, 2021 8:40 pm
Cool, keep up the awesome work!
  View user's profile Send private message
  • Joined: 21 Oct 2015
  • Posts: 266
Reply with quote
Post Posted: Tue Nov 02, 2021 10:19 pm
OMG!!! i need to test this wonderful tool. Keep working on it please and thank you for keeping master system alive
  View user's profile Send private message
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Thu Nov 04, 2021 11:39 am
What an amazing tool, well done Maxim and the original author. As a 'my first sms asm project' I've been attempting to apply the lessons in the altered beast stage select tutorial to Sonic 1 (which I've always felt was missing out on a stage select). Sticking with the 'reuse of assets' strategy from that tutorial, I was imagining the white text/pink box with white border used by the title cards, with blue around the outside.

I never got particularly far, so I guess my rambling point is, I see it's on Maxim's list of possible features to work on and I'd love to see it happen some day!
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Fri Nov 05, 2021 4:50 pm
You can now edit a variety of level settings as shown.
Image4.png (62.67 KB)
Image4.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Nov 09, 2021 11:13 am
The way floor maps and tile sets are placed in the ROM has been slightly changed so that they share a total amount of space, giving a bit of flexibility in terms of being able to make use of the space when changing art and layouts. The status bar now shows you the status of the space used, and you can go over 100% (you just can't save until it is below 100% again). Both of these are compressed so the space used is a bit flexible depending on the complexity of the data.



You can also now save and load tilesets! This means you can use your own reliable image editor tools to change art, and load it into the game. You can mess with the palette, the image palette is not (currently) applied to the game, but you must not re-order it.



The new "Blank unused" button helps you free up art space by blanking out any tiles not usable in-game. This is also a fun way to find all the unused art in the original, which is a bit more than is seen in TCRF's page.
Image1.png (56.57 KB)
Image1.png
Image2.png (50.58 KB)
Image2.png

  View user's profile Send private message Visit poster's website
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Tue Nov 09, 2021 12:26 pm
A few little things I noticed,

Sneaky 'power sneakers' power up in Sky Base 3 under the floor (not that it would do you much good). Is it possible to move objects in the editor?

The Chaos Emerald string has a 'Q' instead of an 'O', (but perfect bonus doesn't). Now I have to get to the end and check if that's really there.
  View user's profile Send private message
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Tue Nov 09, 2021 12:37 pm
Objects 14 and 15 in Scrap Brain 2 are sideways fireball launchers (14 firing right from the left hand side, 15 firing left from the right hand side)

But mysteriously, object 14 also shows up in the sky in Bridge 1, is there a floating fireball launcher out of view, or do the objects not work that way!
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Nov 09, 2021 1:22 pm
Last edited by Maxim on Wed Nov 10, 2021 12:58 am; edited 1 time in total
Objects can be edited by clicking them in the tree on the level metadata page. Not very intuitive, I didn’t get to changing it yet.

The object numbers seem like they might have no or different effects on certain levels. There’s a load of doors around the place too.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Tue Nov 09, 2021 1:44 pm
Ah yes, I missed that the tree could be expanded, thank you. I shifted the power sneakers into the level and skipped to it but no luck. I wonder if the flag to hide the extra life monitor unless you collect all the others in the game is also being applied here?
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Nov 09, 2021 3:53 pm
There’s an off by one error (now fixed), the last object in the tree is fake. That seems to cover some of the doors too :)
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Nov 09, 2021 4:15 pm
Last edited by Maxim on Wed Nov 10, 2021 7:36 am; edited 1 time in total
Regarding the CHAQS EMERALDS: the O and Q tiles are identical:
MapScreen1Tiles.png (4.05 KB)
MapScreen1Tiles.png

  View user's profile Send private message Visit poster's website
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Tue Nov 09, 2021 5:01 pm
Ahah, I guess a bug is the more logical explanation rather than a series of mysterious invisible objects in every level. I'd still love to find something hidden away in one of the levels that I'd missed as a kid, cramming everything into the rom makes that less likely, but you never know :-)
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Wed Nov 10, 2021 12:11 am
Last update for today is a (read-only for now) view of some of the "screens" in the game:



These will be a bit trickier to edit, I think I will need to make a special handler for the map screens which are technically two tilesets overlaid to select areas with the foreground and background bits set. They are not arranged in a table the way levels are....
Image1.png (27.08 KB)
Image1.png

  View user's profile Send private message Visit poster's website
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Wed Nov 10, 2021 11:35 am
Here's a daft thing to try,

Switch a GHZ1 object over to a chopper and you get a motobug using the chopper jumping behaviour.

Presumably each zone gets 3 badniks graphics loaded, but you can apply any behaviour logic you want.

Interesting that newtron is there in GHZ but never used.
motojump.png (8.05 KB)
motojump.png

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Thu Nov 11, 2021 4:00 pm
The static screens are all now rendering properly - which showed up a problem I had with assuming artwork always goes with the same palette.



Next up is to enable editing them, of course, but I can also start to repack them in the ROM to make more space for art.

I've also replaced the floor editor with something much more responsive. You can click on the blocks on the right to pick one, or click on the Select button and click on an existing block on the map, or just Ctrl+click. Then in Draw mode, clicks and drags "paint" the selected block.



This is based on my old Micro Machines track editor, except of course this time you can play the generated ROM :) Next I want to add a right-click menu for things like "edit object" and "set Sonic start location", and maybe start adding the ability to resize the maps.

I also made the window a bit bigger by default, hence the larger screenshots.
Image2.png (33.65 KB)
Image2.png
Image1.png (78.88 KB)
Image1.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Fri Nov 12, 2021 10:01 pm
Today's addition is sprite art editing.



As with level art, you can save the image, edit it in a sensible editor and then load it back in again. There's a bit more art for me to make editable, at which point it will be a bit more flexible in terms of how it can be packed into the ROM; for now, the level art all shares the same exact-sized space. The whole game uses art in 8x16 mode so I made some changes to support non-square pseudo tiles to make it much easier to view and edit the data.

I think the tile indices used are somewhat hard-coded which means using badniks from other levels may or may not work. Chopper mostly overlaps with Motobug but not entirely.

I also fixed the status bar display so you can again see how your space budget is going.
Image1.png (45.94 KB)
Image1.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sat Nov 13, 2021 2:14 pm
Yesterday's build had a bad bug causing graphical corruption, today's is fixed.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sun Nov 14, 2021 1:32 pm
This weekend I added the ability to change floor sizes. Many of the game’s levels have areas you can never see, and data spent to define them (although it does optimise empty spaces to only a few bytes compressed). Removing these will technically speed to level loading a tiny amount and allow more space for decoration. It’s a pretty advanced feature though, and requires care to define the level limits correctly after the adjustment.

The game only supports five different level widths (16, 32, 64, 128, 256 blocks) so unfortunately it’s still necessary to have a certain amount of wasted space if you want to have a 200-block wide level, for example.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sun Nov 14, 2021 10:21 pm
I added another new thing for managing floor data, so let's show some (relatively boring) screenshots.



This is the floor size editor. You can edit floors, and also manipulate their objects, using this. The most obvious thing to do is to resize them smaller to cut out unused data, to make more space for other things. You can also "move" data within a floor, for example -1 left and +1 right will move all the data left by 1 block while maintaining the level size.

The Sonic 1 engine only supports widths of 256, 128, 64, 32 and 16 blocks, so you have to make suitable edits affecting the width. It's important to also manage the boundaries because you can end up seeing bits of rogue data sometimes.



This is the floor sharing editor. Many of the game's floors cover multiple levels, and this lets you manage that. The most useful thing you can achieve with this, in concert with the size editor, is to remove (or change) this sharing to make editing easier. This splitting also allows a bit more optimisation of the floor sizes. You are likely to find you are over 100% of your floor budget at times as you duplicate data, but it should end up smaller overall once you are done.
Image1.png (5.47 KB)
Image1.png
Image2.png (9.08 KB)
Image2.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Mon Nov 15, 2021 6:35 pm
Today we have palette editors. Each level now shows its two palettes.



The first is the main palette - although the tile colours are only really used for one frame, the sprite colours are used throughout. The second one is used for colour cycling. At the moment you can't change how many parts this cycle has.

You can right-click to save them as a palette file (in the format PSP7 uses, which may not be very useful) or as an image (a PNG file with one pixel per palette entry). You can also load from these formats; plus, if you load a paletted image, it will load its palette. Colours are squashed down to the SMS palette on load.

I also added a right-click menu to the floor editor. This will let you edit objects by right-clicking them. You can't yet drag to move them or add new ones.


Image1.png (32.92 KB)
Image1.png
Image2.png (93.16 KB)
Image2.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Mon Nov 15, 2021 8:44 pm
Now you can edit the rings art. More "misc art" still to come...
Image1.png (14.65 KB)
Image1.png

  View user's profile Send private message Visit poster's website
  • Joined: 16 Nov 2021
  • Posts: 7
  • Location: Germany
Reply with quote
Post Posted: Tue Nov 16, 2021 10:40 pm
Hello I am new to smspower. Actually I have been reading this website for a few years already, but the development of the Sonic the Hedgehog editor made me register today.

I would like to say that I appreciate your work and hope that you find the time and motivation to keep up this work. Thank you.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Nov 16, 2021 11:36 pm
Thanks. I hope you can do something fun with the editor and share it with us!
  View user's profile Send private message Visit poster's website
  • Joined: 16 Nov 2021
  • Posts: 7
  • Location: Germany
Reply with quote
Post Posted: Wed Nov 17, 2021 11:00 pm
I would be happy if the look&feel would stay the same as in the original game but the level layout would be modified and the emeralds would be placed in new locations. I would love just to experience the same game again after 30 years but without already knowing every bump and detail by heart.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Aug 2015
  • Posts: 107
Reply with quote
Post Posted: Thu Nov 18, 2021 1:40 am
Would it be possible to put the emeralds to be collected in the bonus stages? This would make it more like the Genesis version.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1258
  • Location: italy
Reply with quote
Post Posted: Thu Nov 18, 2021 8:30 am
Building on that, I think it would be nice to somehow add the seventh emerald, if possible. I know, they were six in the 16-bit version, too, but all the later games use seven (except Spinball, which apparently had a yard sale of emeralds or something), so it would be a consistent improvement, imo.

Coloring them would be even nicer, but I know it's hardly feasible because palettes.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Thu Nov 18, 2021 11:06 am
For now I’m trying to edit everything but the code, so various things are out of scope without assembly hacking.

I think the chaos emeralds could go in the bonus stages but it’d be a worse mechanic. The 16-bit games had challenging bonus stages that you’d need to try multiple times to beat, and only get the chaos emeralds at the end. The 8-bit bonus stages are a not such a challenge, they are just bonuses and continues. Finding the emeralds is a separate challenge.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Thu Nov 18, 2021 12:20 pm
Time for an update. The "rings" and "screens" tabs have merged to become an "Other art" tab:



On here you can see various sprites and screens which are not tied to individual levels. Many of these share tiles and palettes, so take care. Also (to be a bit frustrating) only some of them are currently saved to the output ROM. Notably, the Sonic sprites are editable.

I've made a quick demo using this art by "Aburtos":



https://www.spriters-resource.com/custom_edited/sonicthehedgehogcustoms/sheet/16...

There's a BPS file in the attached zip.

As a side note, this was actually a load of work as I had to rework my handling of art throughout to support alternative "windings" of tiles into blocks: sprites sets are based on 8x16 with 16 per row, but Sonic is 24x32 in a funny order, and some are 16x16 in a non-sprite order. So I hope I haven't broken anything. I need to keep track of every item of art and where it's referenced from, and any constraints, to be able to repack them all without requiring any individual item has to be no larger than its original size. Once that's done, saving will work for everything.
Image1.png (38.64 KB)
Image1.png
sonic-aburtos.zip (11.59 KB)

  View user's profile Send private message Visit poster's website
  • Joined: 08 Apr 2021
  • Posts: 20
Reply with quote
Post Posted: Thu Nov 25, 2021 11:02 am
Still screwing around with the objects. The game is surprisingly forgiving of putting things in the wrong place. You can stick a bonus panel at the start of Sky Base 3 and finish the game without fighting the boss.

If you stick a GHZ boss at the start of act 1, he shows up, but the screen starts auto scrolling to the right (presumably towards the hardcoded part of the screen where you're supposed to fight him in act 3). Could make a neat gimmick level though, autoscrolling over obstacles whilst Robotnik chases you.

I like the idea of a layout change that tries to stay true to the original game (IE no art changes, same level boundaries etc) but uses the existing objects in interesting/different ways, I think I'm going to start working on that.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Thu Nov 25, 2021 11:44 am
I’m currently part way through a big change that makes all the assets editable (to a greater or lesser extent) and rebuilds the ROM completely. This is kind of taxing (it’s a type of bin packing problem with additional complications) so I’m trying to figure out a nice solution. So far I’m having to expand to a 512KB ROM to make it work due to not having an optimal algorithm (technically I’ve reinvented the Offline Best Fit Decreasing approach), and there are some engine constraints that need to be handled better (so currently you get some corruption of art).

I also have some ideas about hacking the game to replace the compression algorithms with something both faster and getting higher compression; and applying some optimisations to the data (for example, tile 255 in every tile set is unusable and we can just remove it).

Once that’s done I’ll also be able to more easily deal with extending limitations on other things like block counts and object counts per level, and see about making the music either editable or replaceable with VGMs like in KiddEd.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3034
Reply with quote
Post Posted: Fri Nov 26, 2021 10:58 am
I think you can use the offline first fit decreasing algorithm, it's fast and the results are often optimal (at least that's what I'm using in assets2banks and I have yet to find a single case where the outcome was sub-optimal in terms of number of generated banks)
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Fri Nov 26, 2021 5:37 pm
Offline best fit decreasing is what I’m doing and that’s better than first fit in general, although there’s plenty of exceptions, because it aims to make any “gaps” as small as possible. I’m having to reinterpret the space dynamically as I deal with assets with different location requirements - Sonic has a lot of requirements to make certain groups of assets be placed within certain bank-aligned 64KB “windows” which is a complicating constraint for me. My approach will probably be:

1. Place the assets in order of decreasing constraints, then in order of decreasing size
2. Expect to expand to 512KB
3. Statically configure certain things if needed to make things work. That upper 256KB can help keep the windows non-overlapping to support larger data. However, it may not be necessary.
  View user's profile Send private message Visit poster's website
  • Joined: 16 Nov 2021
  • Posts: 7
  • Location: Germany
Reply with quote
Post Posted: Fri Dec 03, 2021 6:21 pm
Would it be possible for you to make the editor also compatible with sonic 1 on the Game Gear?

I use the Game Gear with the Everdrive. It is capable to emulate SMS games, but it has to down-scale the screen from SMS to GG and thats really difficult to see. Patching the GG-version of Sonic 1 would create a much better result.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Fri Dec 03, 2021 6:44 pm
Support for Sonic GG is on my list. It requires rebuilding the list of assets and references, and making sure any hard-coded locations are made flexible. As that part is still in flux for the SMS version, I am bearing it in mind but not trying to maintain it yet.

Time for an update... I have been busily working and variously breaking and fixing the level editor. Recent updates have almost completely removed any limitations on the data size (within the limits imposed by the game itself), although at the same time it has required me to expand the output ROM to 512KB as the simplistic approaches to packing the 170KB of data needed into the ROM aren't able to avoid wasting a few bytes here and there and spilling over the 256KB limit.

There isn't much to show visually, so no screenshots today...

Because it rearranges all the assets, it will produce large IPS patches and small BPS patches.

It would be useful to get feedback regarding anything that is broken. Next up I am hoping to release limits on certain types of data (block counts, object counts), make it possible to add extra block lists, make it easier to unlink the conjoined floors, and more UI niceties before I move on to the sound engine.
  View user's profile Send private message Visit poster's website
  • Joined: 16 Nov 2021
  • Posts: 7
  • Location: Germany
Reply with quote
Post Posted: Fri Dec 03, 2021 8:06 pm
Maxim wrote
.. Recent updates have almost completely removed any limitations on the data size (within the limits imposed by the game itself)

I guess this allows nearly every level layout? That's a Christmas gift!
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sat Dec 04, 2021 10:44 am
All levels are limited to 4KB total uncompressed size (without major hacks) and a width that’s a power of 2. However you could have 4KB for every level and in theory (possibly needing more hacking) have “doors” within each level like in Scrap Brain 2 that lead to another 4KB level.

The game engine also limits levels to 64KB compressed size for the entire game. Again, hacking could alleviate this.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Sun Dec 05, 2021 10:39 pm
A short update - now there's a view of the space used/free.



It's a bit counterintuitive as some of the gaps are unusable, and I need to investigate why after loading the stock ROM, there's less free space than there should be. It doesn't always update as much as it should because I need to hook it up to more events.

I also added some buttons (seen above) to add and remove tiles from tile sets. This can trim off some space without affecting the game.
Image1.png (34.57 KB)
Image1.png

  View user's profile Send private message Visit poster's website
  • Joined: 09 Jun 2014
  • Posts: 187
Reply with quote
Post Posted: Mon Dec 06, 2021 9:14 am
Thanks Maxim. So i can remove the last 4 tiles which are a placeholder for the ring?
How much space is saved compared to blanking the tile?
Of course any saved space is welcome.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Mon Dec 06, 2021 11:24 am
It saves a tiny amount of space - all blank tiles cost 8 bytes and removing them from the end saves an extra 1. You can also remove at least tile 255 from any static screen art. It can sometimes allow the data to all fit in the first 256KB if you apply it to all the necessary places. Having said that, I think expanding to 512KB is really not a big deal and is likely to be necessary to switch to PSGLib for audio.

I still have some glitches to investigate for the current code though, the latest builds are not yet ready for use outside experiments.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Tue Dec 07, 2021 9:57 am
I've fixed a few serious bugs that affected Labyrinth and Scrap Brain, so please update if you have been using recent versions (since about build 81). You may need to start from a fresh base ROM.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Wed Dec 08, 2021 10:10 am
Things are looking nice and stable now. I've figured out the typo that was causing an extra few KB to be used unnecessarily, and made a few changes to grab a little extra space back from the default assets. Here's an older version of Sonic Genesis repacked with a healthy 7KB free:


Image1.png (33.65 KB)
Image1.png

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13923
  • Location: London
Reply with quote
Post Posted: Wed Dec 08, 2021 7:34 pm
* I fixed an issue where the logging was slowing down the UI.
* I added a better display of the free space - dark grey is the stuff you can't edit blue is the data repacked, and light grey is free space.



This seems to help make it clearer what's happening with the gaps.

* The generated ROM is now trimmed to a multiple of 64KB (for Everdrive compatibility you can't crop any tighter).
Image1.png (87.52 KB)
Image1.png

  View user's profile Send private message Visit poster's website
Reply to topic Goto page 1, 2  Next



Back to the top of this page

Back to SMS Power!