This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

UNIF header editor?

UNIF header editor?
by on (#22947)
Can you please point me to a good UNIF header editor?
Preferably one with a UI.

by on (#22950)
There isn't one, at least not yet. Maybe someone out there will create one, but as good as the UNIF format is, I doubt it.

by on (#22951)
this is a shame seeing how unif headers are messy

by on (#23293)
Yo guys,

I was planning on making a proper NES ROM Util with full UNIF support etc. etc. and supporting ALL of the formats. I kinda got disheartened by the fact that I wouldn't be able to support archives properly. Now that I see that there's call for it then I may finish my project w/o archive support and maybe add it in afterwords...

by on (#23325)
What's stopping you from properly supporting archives [if you don't mind my asking]?

by on (#23332)
For one thing, RAR is proprietary software, and its format is a trade secret.

by on (#23335)
Yeah, basically, RAR is one aspect.

Here's a little background needed - I wanted to have four parts to my util.

First what I would call 'information' - this would be the metadata for the image - the header/footer data in iNES and some of the UNIF chunks. Think mapper/board data, mirroring etc.

Second would be 'ROM' - so that you could alter the ROM with patches etc. and maybe view the binary. Not a big part, but useful anyways.

Third and critical to this part would be 'file' which I'll into further detail on.

The last part would be 'game' and would provide information on the game from checksums on the ROM and give title/release data - as much as I could get. This would support all auditing databases and database systems (like ROMcenter - I forget the name of the other big one), and allow the metadata for 'information' to be automatically provided.

Now for 'file' I wanted to be able to alter all the file metadata that the file system held - some people seem to love having ROM files as read only ;)
Also in this, archives' file metadata should be altered as easily as filesystems' (which, in the case of NTFS is often not so easily for end users...).
Now, as well as this, ROMs are often in zips, and increasingly in 7zs - so I wanted to be able to open them just like I was opening a ROM from a folder.

This would mean that I would have to write my own open file dialog box with support for archives. This may be beyond me on its own, as while I could just use a pluging like 7zips', I'm unfamiliar with it, and nested archives may not be easy to handle. But the real problem comes when I try to alter the metadata - I don't think that full support is given in any plugin - and this is made worse by the fact that different archive formats have different metadata. If I wanted to do this, then I'd have to look into all archives types that I wanted to support (and I'd really like to support them all...) and find out what the metadata was and its' format, and then manually edit each archive for this - which would again be made worse by nested archives, that I may not be able to repack as they were originally done. At this point I got disheartened and started thinking to myself of an ideal operating system that would be able to support archives just as filesystems, and see them as folders... but that really is beyond me!

Anyhow, this topic made me think that maybe I should do it anyways without archive support at all, maybe only just what I called 'information' and the easy parts of 'ROM' thrown into one. BTW I got together information on loads of obscure formats - maybe more than anyone else has got in one place (thanks to those guys who helped me get this information!). The other thing that I wanted to do is be able to alter whole sets of ROMs at once (like Tool64 - see zophar.net) so as to make it useful in a different way from UCON. I was also wondering if I could merge it with windows in the properties (ie right clicking and then properties) of ROM filetypes - as MS Office allows you to alter data within a document - try checking a Word document. There must be a way to do it but again its beyond me.