Guide: How to burn a Custom Kickstart 3.9 (incl. 1MB ROM)

mfilos

Extr3m3ly l33t
Joined
Mar 17, 2008
Posts
2,424
Country
Greece
Region
Glyfada/Athens
My fellow Amibayers...
As I said in a previous post and since I succesfuly managed to burn a custom 3.9 Kickstart including BB2 ROM Update + AfA OS plus some other goodies, I decided to make a step-by-step HOW-TO including not only screenshots from Doobrey's Remus software, but even from EPROM Burner's software (Willem in my case).
(Zetr0, merlinkv, stachu100 there you go :))

Legal Notice: In order to use the following guide, it's really important for you to own legally an Original Amiga OS 3.9 Installation, along with a legal Kickstart 3.1.

Ok lets start...
To be able to run Remus and make the Custom ROMS the requirements are the following:

Hardware:
- Amiga OS3.0 and above.
- At least 1MB of free RAM

Software:
- MUI 3.8 (everyone has it anyway)

- Remus 1.0 (rc23) + ROMsplit 1.0 (rc15)
- Remus 1.0 (rc35 - update 27/07/2010)
- Remus 1.0 (rc36 - update 04/08/2011)

- BlizKick 1.24

- The MUI libraries bellow
* Nlist.mcc
* BetterString.mcc
* ToolBar.mcc
* TheBar.mcc
* PopupMenu.library
* UrlText.mcc (although optional)
- rxasl.library (used by Arexx scripts)
- rmh.library (used by Arexx scripts)
- xvs.library (for Anti-Virus usage)
Or you can get ALL the above in the following archive that I putted on my Dropbox here

Once we install everything... We need to run the program ROMsplit in order for us to extract the modules from our Kickstart 3.1 ROM and from our BB2 ROM update (DEVS: AmigaOS ROM Update). So we either click "Grab ROM" for ROMsplit getting the contents from our Kickstart 3.1 ROM or... we search from our Partitions to find a legal 3.1 ROM in file for contents to appear. (1st pic has 3.9 Update while 2nd pic has the 3.1 Kickstart)



Once we have the contents loaded we click "Select All" for all contents to be selected and then we click "Extract file(s)".
Note: A folder will be created under DEVS: Modules/<Auto_Name_Depending_On_Kickstart_Version>


Next, we'll be running "Remus" which is the program which will help us make an image of our future custom Kickstart.



Lets get a bit familiar with the interface a bit...
1. Left side below toolbar are the contents that we're gonna put on our future ROM
2. Right side below toolbar are the folders/files from which we're gonna choose what to put into the left list.
In this screenshot for example I have in the right side a folder in which I have the following folders:
- 40.68(A1200) --> This is an extract of my A1200's 3.1 Kickstart ROM
- 44.57_ROMUpdate(3.9bb2) --> This is an extract from "AmigaOS ROM Update)
- BlizKick --> This is a copy of DEVS: Modules that were installed with BlizKick


In next step, we're creating a new Normal Kickstart by pressing the button "New" in toolbar, and we insert the info from the following screenshot:



Now, we only need to add the required files from our folders to the left side list.



As an example, I'm attaching the order of my files based on folder name.

IMPORTANT: YOU NEED to insert "Exec" first and then "1MB_ROM" module or else the Kickstart won't work at all!


--> Modules/44.57_ROMUpdate(3.9bb2)/exec_45.20(A1200-A500)
--> Others/Blizkick/1MB_ROM
--> Modules/40.68(A1200)/audio.device_37.10
--> Modules/40.68(A1200)/battclock.resource_39.3
--> Modules/40.68(A1200)/battmem.resource_39.2
--> Modules/44.57_ROMUpdate(3.9bb2)/bootmenu_44.7(68020)
--> Modules/40.68(A1200)/card.resource_40.4
--> Modules/40.68(A1200)/carddisk.resource_40.1
--> Modules/40.68(A1200)/cia.resource_39.1
--> Modules/40.68(A1200)/con-handler_40.2
--> Modules/44.57_ROMUpdate(3.9bb2)/console.device_44.8
--> Modules/40.68(A1200)/disk.resource_37.2
--> Modules/40.68(A1200)/dos.library_40.3
--> Modules/40.68(A1200)/expansion_40.2(A1200)
--> Modules/44.57_ROMUpdate(3.9bb2)/filesystem.resource_45.10
--> Modules/44.57_ROMUpdate(3.9bb2)/filesystem_45.13
--> Modules/40.68(A1200)/gadtools.library_40.4
--> Modules/40.68(A1200)/graphics.lib_40.24(AGA)
--> Modules/40.68(A1200)/icon.library_40.1
--> Modules/40.68(A1200)/input_40.1
--> Modules/40.68(A1200)/keymap.library_40.4
--> Modules/40.68(A1200)/layers.library_40.1
--> LIBS:mathffp.library (These are my regged HSMathLibs that I included)
--> LIBS:mathieeesingbas.library (These are my regged HSMathLibs that I included)
--> Modules/40.68(A1200)/misc.resource_37.1
--> Modules/40.68(A1200)/potgo.resource_37.4
--> Modules/44.57_ROMUpdate(3.9bb2)/ram-handler_44.24_NoBss
--> Modules/40.68(A1200)/ramdrive_39.35
--> Modules/40.68(A1200)/ramlib_40.2
--> Modules/40.68(A1200)/romboot_40.1
--> System: Devs/scsi.device
--> Modules/44.57_ROMUpdate(3.9bb2)/shell_45.7
--> Modules/40.68(A1200)/timer.device_39.4
--> Modules/40.68(A1200)/trackdisk.device_40.1
--> Modules/40.68(A1200)/utility.library_40.1(020)
--> Modules/40.68(A1200)/wbtask_39.1


Okey dokey...
As you will realize, we putted all the Modules of Kickstart 3.1 (with the same order as it existed on the Kickstart itself) but we changed some modules with the new ones from the extracted BB2 3.9 Update. That way we have a nice new Custom 3.9 Kickstart missing though Workbench.library and Intuition.library. No worries, we left them to save space, and we're gonna put them in the extended Kickstart (Hell yeah! 1MB ROM ftw) in a while...
Now, we're gonna click the button "Compile" in toolbar that will make the Kickstart under RAM:3.9normal.rom (if you kept the same name as the screenshot under "Settings" tab like mine)
(It's a good idea to save the template of your Normal Kickstart for future use like "MyCustomKickstart39_Normal.rpf")


Time for the extended Kickstart ROM now. We're clicking on "New" in toolbar and we insert the info from the following screenshot:



As we did before we need to add the required remaining files from our folders on the right to the right side modules.



As an example, I'm attaching the order of my files based on folder name.

IMPORTANT: YOU NEED to insert ROMHeader and DummyCDstrap first or else the Kickstart won't work at all!


--> Others/RomHeader/romheader
--> Others/DummyCDstrap/DummyCDstrap
--> Modules/40.68(A1200)/intuition.library_40.85
--> System:Libs/workbench.library
--> DH0: Devs/morelibspace_module (This is AfA OS Morelibspace Module to avoid declaring it in Startup-Sequence!)
--> DH0: Devs/Modules/BPPCFix (This is BPPCFix Module to avoid declaring it in Startup-Sequence!)

Cool! That was it (y)
Now we only need to click "Compile" in the toolbar for the file to be created under RAM:3.9extended.rom (if you kept the same name as the screenshot under "Settings" tab like mine)
(It's a good idea to save the template of your Extended Kickstart for future use like "MyCustomKickstart39_Extended.rpf")

Now we have both the Normal+Extended ROMS under RAM:




You can now easily check if you newly created Custom 3.9 Kickstart are working under WinUAE by inserting the ROMS in the corresponding area :)




Cool isn't it? :bowdown:

If you wanted this Custom Kickstart for your WinUAE environment then your work is done so congratulations and cya later :)

If you want this Custom Kickstart for your Classic Amiga... there's work to be done! Fear NOT though!... LETS GO!


We were back at the point where we had the 2xROMS in RAM Disk. From Remus now, we click the button "ARexx" and then on the submenu entry "1MB_ROM.rx". By pressing this option a window will appear asking our Amiga Model.



That is done just for Remus to split the ROM into 2 pieces (for A1200/A4000 etc) or into 1 piece (for A500/600/2000 etc).
Note: If you make custom kickstart for using under MapROM environments (like ACA630/ACA630 via ACATune utility) better choose A500/600/2000 to only get 1xOutput file instead of 2x that A1200/A4000 choice will

Next steps are selecting the Normal ROM image, the Extended ROM image and last but not least... The location+name where the "To-Burn-Image(s)" will be put...




The last step asks us if Remus should perform a ByteSwap operation for the ROM. Our choice will be based on the following:
- If you wanna burn the image to a Real Kickstart Image: then choose YES, since we won't need to byteswap it in the EPROM Programmer application - since Amiga requires ByteSwapping procedure for its ROMS).
- If you wanna use the image to kick it via MapROM (like for example on ACA630/ACA1230 accelerators via ACATune utility): then choose NO, since ACATune and general MapROM applications use normal (non-ByteSwapped) images. In that case... your ROM image is ready to be used so you can kick it right away by using the following line in you Startup-Sequence (according you have an ACA603/ACA1230 with ACATune utility installed):
Code:
C:ACATune -maprom <path & name of the kick file> <rest options> >NIL:
[COLOR=Red]for example:
C:ACATune -maprom Devs:kick39_mfilos.rom -cache on -burst on >NIL:[/COLOR]



If we done everything as intended... We must have 2x Files (since we choose A1200)



A you'll see on the screenshot the files that Remus created based on the filename that I gave was:
- mfilos_Custom_39.rom_LO.bin
- mfilos_Custom_39.rom_HI.bin


Bye bye Amiga... Time to use our trusted old PC where we have an El'Cheapo Parallel Willem Programmer.




I won't go as deep as How to Install/Setup the Willem... But we need to choose to burn EPROM of type (at least in my example 27C400)




Next step is to "Load" one of our files (for example the 3.9_LO.bin)




Yey! That was it. File is loaded succesfully so now it's time for us to BURN it by clicking the designated button in the toolbar!



Important: Make sure you're burning an erased by UV EPROM


Next step is to load the next file (for example the 3.9_HI.bin)



And repeat the procedure of Burning it.


--- VOILA! That's it dudes! (y)(y)(y) ---

Ok for testing your Kickstarts now make sure that...

For A1200
- You insert the EPROM burned from LO file into the U6B Kickstart socket (top)
- You insert the EPROM burned from HI file into the U6A Kickstart socket (bottom)

For A3000 - thx to drbrain for the clarification
- You insert the EPROM burned from LO file into the U181 Kickstart socket (top)
- You insert the EPROM burned from HI file into the U180 Kickstart socket (bottom)

For A4000 - thx to drbrain for the clarification
- You insert the EPROM burned from LO file into the U176 Kickstart socket (bottom)
- You insert the EPROM burned from HI file into the U175 Kickstart socket (top)


Time to change some stuff:
- Move the file in DEVS: "AmigaOS ROM Update" to another folder, or Rename it to something else.
- Comment the line you have for SetPatch and insert the following SetPatch declaration instead:
C:SetPatch NOROMUPDATE QUIET

If you had other declarations like me for example:
- C:BPPCFix install >NIL:
or
- C:Morelibspace
you can comment them also if you included them in the Custom 3.9 ROM.


That's all folks. I hope this guide will be useful to someone else but me.


P.S. I'm attaching an example of my Custom Kickstart Remus files (renamed to .txt). You just need to alter the location of the folders if you wanna try them out.
1. Kickstart 3.9 A1200 Normal ROM Image]
2. Kickstart 3.9 A1200 Extended ROM Image]

-----------------------------------------------------------

EDIT:
P.S.2. Since I was tinkering with creating a Custom Kickstart 3.9 for an Amiga A4000D I found and solved the following problems:

Problem:
A4000 doesn't support >512KB ROMS which can be a problem for custom 1MB ROMS
Solution:
Create your custom rom as a 512KB as my guide says but you exclude the 1MB_ROM module (if you use the 3.1 exec, or 3.9 exec since Cosmos Exec doesnt' need it anyway).
We'll leave outside though Workbench.library which is rather big and can't be left out (can be put in hard drive's LIBS: folder with no problem). You'd should include the WBFind module in your ROM as well as it's a module that tells the system that the Workbench.library exists in SYS:Libs

Problem:
Since we're not making an 1MB ROM (we'll only make Normal ROM without Extended), we can't actually use Doobrey's awesome Make_1MB_ROM Arexx script (since it combines normal/extended, and splits and byteswaps according to your need).
Using utilities like most guys suggest in forums (WinHex) is cool, but it was certainly uncool for me to register WinHex (45 euro) just to dissect the 512KB ROM file to even/odd files.
Solution:
After checking Doobrey's script, I managed to realise that you only need to use his tool SplitRROMImage that exists in "Tools" folder under Remus installation folder.
The declaration of the command is fairly simple:

SplitROMImage <your_512kb_rom_name> SWAP
(SWAP is optional and it only ByteSwaps your files for using it under your Eprom Burner)


In my example: SplitROMIMage kick39_a4000.rom SWAP
...created 2 files:
- kick39_a4000.rom.hi (256kb)
- kick39_a4000.rom.lo (256kb)

Now you can get these files and burn them to your programer (in 256KB EPROMS).

Note: If you want to write your custom Kickstart to 512KB EPROMS (like 27C400) you'd need to double the HI and LO images (since they are 256KB in size) before burning them or else the Kickstart won't work. To double these images, the easiest way is to use the DOS Command Prompt like this:
Code:
C:\> copy kick39_a4000.rom.hi /B+kick39_a4000.rom.hi /B kick39_a4000_512.rom.hi /B
C:\> copy kick39_a4000.rom.lo /B+kick39_a4000.rom.lo /B kick39_a4000_512.rom.lo /B

That way you created 2 new files (kick39_a4000_512.rom.hi and kick39_a4000_512.rom.lo) which now you can burn to the 27C400 EPROMS just fine :)


Disclaimer: I haven't burned this ROMS myself to use them on a real A4000 but others did and it works just fine :)
 
Last edited:
Not read till end yet, but BIG BIG Thank You my Friend!!! :bowdown::bowdown::bowdown:
This is my next task in "to do" list.:)
 
No problem Stanis my friend. I love helping out :)
This guide took a lot of TIME... I hope peepz like it.
 
Awesome, I know a chap with an EPROM burner. I may have to butter him up with some choccy hob nobs. :D
 
I do not have the right equipment/skills, but was wondering how it was done anyhow, so it is in my bookmarks. Thanks a lot this is great info (y) I am sure this is usefull for a lot of people!
 
@jvdbossc
You don't need to have the gear mate.
You can make the .bin files from Remus and then buy EPROMs from eBay asking the seller to burn the images that you will send him :)
I done it in the past. He will ask you if you want ByteSwapping (that you won't if you follow the guide) and you're set to go.
 
I brought my 3.9 ROM's from one of the traders here - less hassle and oh so cheap if you don't have a EPROM burner :D
 
@Marios

Fantastic post my friend, its certainly worth the sticky!!!

I have some bits you can add that will improve your 3.9 ROM (like reducing the IDE wait to 9 seconds instead of 30 - should you not have an IDE device attached) - its a simple blizkick module but a damn effective one =D


@r0jaws
Awesome, I know a chap with an EPROM burner. I may have to butter him up with some choccy hob nobs. :D

yes.... chocy hobnobs..... the alternate currency in the united kingdom =D

I will need to do some hackery as my Power supply for my programmer is dead.... its dead dave.... its all dead... it struggles to give even 1.2 Amps on the +12.... (we needs the 2 amps for proper programming =D)
 
Zetr0, my good friend, how about just deriving the +12V from inside the pc to the programmer?

I'm pretty sure the pc will have a bit more than 2A available on the +12V rail...
 
@blankstare
Yes I know mate. I had the same 3.9 Kickstart myself before I got a programmer :)
The difference is that the ready to use Kicks... don't have the modules I need (like AfA OS or my HSMathLibs etc), plus is more generic for all Amigas. My Kick is only 1200 usable lol.

@Zetr0
Thanks for the good works my friend.
I believe you mean SpeedIDE? I never tried it tbh, but it might certainly worth the test! Thanks.
I tried for fun the NoClick module as well to get rid of AntiClick but it said something about required another version of TrackDisk.device... So I thought to leave it as it it without it :)
 
...and I thought your woman just beat you sensless because you spent too much time in retro stuff... I guess I was wrong :LOL:
nice guide M!!!!
 
My friend, the only drawback on 3.9 ROM is most of the modules goes to chip RAM if you don't autoconfig the FAST RAM prior to start to load they.
 
Most interesting Mario! (y) I'm sure that plenty of users (of various Ami-forums) will find this helpfull. :)
 
Fantastic work Marios, very well written guide too. I was going to buy some pre configured 3.9 Roms, but I have access to a programmer and think I will give making my own a shot, its much more fun :) thanks again mate, stellar stuff! (y)
 
I'm glad it worked for ya mate! It's really easy if you try it 1-2 times :)
I'm making custom kickstarts from time to time to check them via MapROM of ACA630/ACA1230 and they work so quick and fine.

BTW, I noticed that some extra BlizKick modules like SpeedyIDE, BBlank or NoClick despite they can be putted on the extended ROM image, they compile process fails until you removed them. If you insert them into the Standard ROM image, then the compile executes just fine, and the ROMS works perfectly!

EDIT:
Also added some extra info regarding making custom kickstarts for using them under ACA630/ACA1230 via MapROM feature of ACATune utility.
 
Last edited:
Mate is it also possible to get rid of PrepareEmul? I was thinking how does it work in 3.9 BB2 which no longer needs external program to run ShapeShifter.
It would be awesome to have it all in ROM and start system without restarting it in between, especially that Blizzard 2060 is copying whole ROM to RAM on startup anyways.
 
BlizKick has an PrepareEmul module that can be loaded into a Custom Kickstart (AFAIK), unless it conflicts with something from the BB2+ patches.
Also, Piru's Exec44, patches the Memory in that way that PrepareEmul is not needed anymore.

I haven't checked both methods but will gief them a try @ some point since I plan to use Mac emulation in both my machines.
 
Back
Top Bottom