English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.Other (https://eab.abime.net/forumdisplay.php?f=74)
-   -   Kickstart Editor (Windows GUI, DOS/Linux/MacOS CLI) (https://eab.abime.net/showthread.php?t=113006)

Mikeywikey 29 December 2022 18:20

Kickstart Editor (Windows GUI, DOS/Linux/MacOS CLI)
 
I've been on and off writing a Amiga Kickstart ROM editor for some time, with various features, basically I wanted something like Remus and other ROM tools, but all in one single download, uses text based definition files, that runs on Windows/Linux/MacOS, because for most people burning ROMs it can be more inconvenient to download it all on to an Amiga (although WinUAE makes that super simple really, if you use Windows).

Anyway, I tried to make it a one-stop shop that can do a bunch of useful things all in one interface.

Split ROMs
Create ROMs; add/delete etc.
Calculate checksums
Save ROMs; with byteswapping/splitting HI+LO/CD32 interleaving/overburning/chopping @512k
For ROMs it doesn't know about you can can analyse for RELOCs, compare etc.

If you want to edit ROMs there's a "patching language" so you can overwrite bytes, search for opcodes etc.

There's a (basic) disassembler, not as good as WinUAE, mainly just 68000, no FPU etc. but it tries to understand libraries

You can generate Skick RTB files from the tool, looks like I can soft boot 2.05/3.1.4/3.2 etc. with the generated files, might be useful for WHDLoad

You can read files from ADFs

Anyway, if there's features you'd like to see, please suggest...

I've tried to put together some guides for things people might want to do (1.3+scsi, 1Mb, Terible Fire ehide etc.)

Obviously, no ROMs are included in the editor!

http://capitoline.twocatsblack.com/

mfilos 29 December 2022 18:35

Fantastic idea man!!!
Thank you very much for this. Will definitely give it a go and report back! \o/

Mikeywikey 29 December 2022 18:49

Thanks dude! I’ve heard you might know one or two things about editing kickstarts… ;)

RoC 30 December 2022 11:57

Fantastic! The idea for this is just great and for me quite useful for creating custom roms, like I usually do with Remus :great

I believe it is just me and have tried too shortly (10 min) but I was expecting to dissect/edit existing roms, changing some of its module and saving it.

The thing is that I am not able to load any rom. When opening from the GUI Object browser and mapping a the Capitoline Hashes folder it seems not to load them.

I am able to create an empty rom with the desired size and layout (juicy you have already foreseen even the CD32 one) but then how I am supposed to put the modules in there?

Again, it is just me not knowing how to use that and doing something wonky, but what would be the right approach? Should we create a new rom and then add/replace the KS modules? :help

Many thanks for the tool :great

Mikeywikey 30 December 2022 18:53

Quote:

Originally Posted by RoC (Post 1585494)
Fantastic! The idea for this is just great and for me quite useful for creating custom roms, like I usually do with Remus :great

I believe it is just me and have tried too shortly (10 min) but I was expecting to dissect/edit existing roms, changing some of its module and saving it.

The thing is that I am not able to load any rom. When opening from the GUI Object browser and mapping a the Capitoline Hashes folder it seems not to load them.

I am able to create an empty rom with the desired size and layout (juicy you have already foreseen even the CD32 one) but then how I am supposed to put the modules in there?

Again, it is just me not knowing how to use that and doing something wonky, but what would be the right approach? Should we create a new rom and then add/replace the KS modules? :help

Many thanks for the tool :great

Yea, so first off, obviously no ROMs are included, so copy them into the ROMs directory before you start Capitoline, it only reads the directories when it first starts up - it's clunky I know, I really should make it more dynamic!
Once you have copied your ROMs into the ROM directory, then click on [Select Folder], and choose the directory that contains the Capitoline Hashes/Components/ROMs/Licence Keys, you'll then be able to browse the ROMs folder using the [Object browser] tab.
If you add more ROMs, it's probably best to close and re-open the tool, the reason for this is that it needs to analyse all the files you have, this can take some time if you have loads of ROMs as it does a CRC32 hash to identify all files - so dont put massive files in here, just kickstarts.
I think I'm gonna do a quick YouTube video, as it's not as intuitive as I thought - appreciate the feedback.

jotd 30 December 2022 19:25

Quote:

Originally Posted by Mikeywikey (Post 1585341)
I've been on and off writing a Amiga
You can generate Skick RTB files from the tool, looks like I can soft boot 2.05/3.1.4/3.2 etc. with the generated files, might be useful for WHDLoad

how do you achieve that with a fixed address ROM file ? you need to compute relocs which means all hidden tables and all.

I'm curious. I asked that question a while back and ended up computing RTB myself for kickstart 1.1, but with a lot of disassembly and heuristics & testing https://retrocomputing.stackexchange...es-rtb-created

Mikeywikey 30 December 2022 21:39

Quote:

Originally Posted by jotd (Post 1585614)
how do you achieve that with a fixed address ROM file ? you need to compute relocs which means all hidden tables and all.

I'm curious. I asked that question a while back and ended up computing RTB myself for kickstart 1.1, but with a lot of disassembly and heuristics & testing https://retrocomputing.stackexchange...es-rtb-created

I basically worked out the relocs for all the modules, the really easy ones (Hyperion ROMs) basically had loadable libraries on the disks for most of the modules, so you’re given them.
If you don’t have a loadable library, the next step is to do a byte compare with a ROM that has the same module, in a different location, the relocs are the only things that change, if you don’t have the same version then you can heuristicslly compare similar modules, finally, disassembling and comparing the code with reloc candidates will work, but it’s tedious.

I *could* have just ripped the Remus dat files, but that feels like cheating, I wrote every line of code, and the challenge was to do it myself. I wrote the ADF code from the ground up and reverse engineered the RTB stuff (which is why I don’t fully understand it).

It’s mainly just a code exercise, full of individual and different challenges, but if people find it useful, cool.

Mikeywikey 30 December 2022 22:11

Quote:

Originally Posted by jotd (Post 1585614)
how do you achieve that with a fixed address ROM file ? you need to compute relocs which means all hidden tables and all.

I'm curious. I asked that question a while back and ended up computing RTB myself for kickstart 1.1, but with a lot of disassembly and heuristics & testing https://retrocomputing.stackexchange...es-rtb-created

By the way, v1.1 is really hard, so I feel your pain, only two versions exist, they are almost identical and the BCPL relojcs make it so much more difficult, I think I’ve done down to 1.2 mainly because I didn’t see a need, I’ve got some half done, but incomplete.

idrougge 30 December 2022 23:54

Quote:

Originally Posted by Mikeywikey (Post 1585642)
I *could* have just ripped the Remus dat files, but that feels like cheating, I wrote every line of code, and the challenge was to do it myself.

I think it's a greater win for the community if tools share common formats and the effort to generate data files instead of everyone going his own way.

Mikeywikey 31 December 2022 01:44

Quote:

Originally Posted by idrougge (Post 1585667)
I think it's a greater win for the community if tools share common formats and the effort to generate data files instead of everyone going his own way.

I agree

My files are human readable text files anyone can add or update, skick/remus are closed source unpublished formats... ;p

All joking aside, the point of the tool is to make things easier, can’t do that if you don’t reinvent.

RoC 31 December 2022 09:57

Quote:

Originally Posted by Mikeywikey (Post 1585602)
Yea, so first off, obviously no ROMs are included, so copy them into the ROMs directory before you start Capitoline, it only reads the directories when it first starts up - it's clunky I know, I really should make it more dynamic!
Once you have copied your ROMs into the ROM directory, then click on [Select Folder], and choose the directory that contains the Capitoline Hashes/Components/ROMs/Licence Keys, you'll then be able to browse the ROMs folder using the [Object browser] tab.
If you add more ROMs, it's probably best to close and re-open the tool, the reason for this is that it needs to analyse all the files you have, this can take some time if you have loads of ROMs as it does a CRC32 hash to identify all files - so dont put massive files in here, just kickstarts.
I think I'm gonna do a quick YouTube video, as it's not as intuitive as I thought - appreciate the feedback.

Many thanks for the hint :bowdown

Now I can see all of the roms (eventually I moved my roms pack into it)

It looks very good, now starting to play with it to :xmas

Mikeywikey 31 December 2022 10:48

Quote:

Originally Posted by RoC (Post 1585731)
Many thanks for the hint :bowdown

Now I can see all of the roms (eventually I moved my roms pack into it)

It looks very good, now starting to play with it to :xmas

Awesome cheers, I’ll definitely do a “getting started” guide, so people can get up and running quickly.

alexh 31 December 2022 12:04

Thanks for all the hard work. Does it support CDTV extended ROMs? Maybe the recently released v2.35?

Mikeywikey 31 December 2022 16:34

Quote:

Originally Posted by alexh (Post 1585750)
Thanks for all the hard work. Does it support CDTV extended ROMs? Maybe the recently released v2.35?

I added the 2.35 CDTVLand extended ROM definitions, I definitely have 2.30 and 2.7, maybe 2.0 (can’t remember!) but not 1.0 or the flash betas. Don’t think I did FMV either.

Off the top of my head I can’t remember what the difference was between the A570/A690 and CDTV, mainly no floppy boot? I have a CDTV but I’m not an expert (I’m reverse engineering the CD interface to implement as FPGA, but haven’t touched it for a couple of years).

alexh 31 December 2022 23:31

A570/A690 differences are down to the two different NVRAM implementations.

If you want any encouragement on the CDTV CDROM interface or FPGA programming just ask. I know a bit about the first one, and almost everything about the 2nd one.

Mikeywikey 31 December 2022 23:51

Quote:

Originally Posted by alexh (Post 1585902)
A570/A690 differences are down to the two different NVRAM implementations.

If you want any encouragement on the CDTV CDROM interface or FPGA programming just ask. I know a bit about the first one, and almost everything about the 2nd one.

Ah, so A690 isn’t just a name change, that makes sense as I couldn’t see why there were three versions of 2.35, cheers.

I’ll keep you in mind when/if I start up the CDTV project again - good to know, I’ve only got as far as using my logic analyser on basic handshakes so far.

ScottC2010 18 August 2023 18:06

Hi
I have run the program with my 3.2.1 ROM I have just bought from Hyperion - in the object browser though the A1200.47.111.rom is just coloured red and when i look at the components binary chucnks and click on 1Mb_Scantable_3.2 is just says 'Unknown, no INI, no default in the right hand screen,
Any ideas what i am doing wrong?

arcam 22 August 2023 20:04

@Mikeywikey Is there a video tutorial that explain how to use this tool ? Thank a lot for your app !

Mikeywikey 05 September 2023 10:19

Quote:

Originally Posted by ScottC2010 (Post 1636791)
Hi
I have run the program with my 3.2.1 ROM I have just bought from Hyperion - in the object browser though the A1200.47.111.rom is just coloured red and when i look at the components binary chucnks and click on 1Mb_Scantable_3.2 is just says 'Unknown, no INI, no default in the right hand screen,
Any ideas what i am doing wrong?

Just saw your post, feel free to PM me (or FB to send me a notification) - as long as you've unzipped everything and have the latest definitions, it will be green in the Windows GUI

Mikeywikey 05 September 2023 10:19

Quote:

Originally Posted by arcam (Post 1637512)
@Mikeywikey Is there a video tutorial that explain how to use this tool ? Thank a lot for your app !

Started doing one! just been busy.


All times are GMT +2. The time now is 18:52.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.08289 seconds with 11 queries