Amiga.org

Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: motorollin on April 09, 2006, 09:22:55 AM

Title: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 09:22:55 AM
First off, this thread isn't about using Kickstart images of chips I don't own. I own Kickstart 3.1 and OS3.9. I want to incorporate all the OS3.9 ROM updates in to my kickstart ROM, as well as possibly some other patches and libraries like Mediator and USB support.

I have looked at Doobrey's Kickflash project, but it's far too complex for me to build and requires surface mount components. I was wondering if there is an EEPROM which is compatible with the A1200's ROM sockets, and if so, whether it would be possible to programme the chips with a Kickstart image?

I know I could use Blizkick, but that is really no different to allowing Setpatch to rekick the OS3.9 updates. The point is I want the updates available from cold boot.

--
moto
Title: Re: EEPROM on A1200?
Post by: Effy on April 09, 2006, 10:40:10 AM
Something tells me that this has been discussed before but just in case it might work then please let me know as I am interested in it too  :-)
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 10:51:22 AM
I've just found this thread (http://www.amiga.org/forums/showthread.php?t=16096) which appears to detail which chip and programmer you need to do this.

Doobrey has written a ROM splitter (http://www.doobreynet.co.uk/beta/index.html) application which can split Kickstart ROM images, 3.9 ROM Update, and BlizKick modules, and combine them in to a new Kickstart image. He developed the software for his Kickflash hardware or for UAE or BlizKick, but I wonder if the resulting image could be burned to an EEPROM? Doobrey are you here? :-)

--
moto
Title: Re: EEPROM on A1200?
Post by: orange on April 09, 2006, 10:52:47 AM
yeah, IIRC its 27c400
I've used willem programmer; you need small adapter card, its fairly easy to read & write chips with it, not only KS but for eg. Zorro3, A2091.. etc it has a long list of compatible chips
Title: Re: EEPROM on A1200?
Post by: Effy on April 09, 2006, 11:01:34 AM
Sounds like fun. This way you won´t need a KickFlash  :lol:
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 11:09:19 AM
No kickflash... no BlizKick... no Setpatch reboot...

Can you buy Kickstart switchers for the A1200? That way I could have an original 3.1 ROM to switch to as a backup. I'm having trouble finding the EEPROM chips. Any thoughts? (I'm in the UK)

--
moto
Title: Re: EEPROM on A1200?
Post by: CLS2086 on April 09, 2006, 12:09:20 PM
Hi, there was a guy in France named FRIDOU that also try to build "new" eeprom of kickstart with updates. I suggest to get in contact with in through AmigaImpact.Org  (FR). Use google translator  :-D
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 12:20:13 PM
Thanks - I will try to contact him if I reach a dead end. I have contacted Willem to double check what reader and adapter I need to use the EEPROM chip, and also whether they can supply the chips as well. Once I have all of that I'll try burning a duplicate 3.0 ROM (don't want to risk killing my 3.1 chips in the reader :roll: ). If that works and my Amiga can boot with the EEPROMs, then I'll use Doobrey's utilities to modify a 3.1 ROM image and try burning that.

Still need to know if it's possible to buy/build a Kickstart switcher for an A1200? I don't want to keep swapping my 3.1 chips in and out of the motherboard should I need to fall back on them.

--
moto
Title: Re: EEPROM on A1200?
Post by: bigdan on April 09, 2006, 12:54:27 PM

Motorollin: you could watch http://www.coyoteflux.nl/flashtools.htm too (tools for Z2/Z3 Kickflash). Obviously Jens Schoenfeld (http://www.jschoenfeld.de/home/impressum.htm) is the best guy for this type of project (he probably work on A1200 version of Kickflash ;-P
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 01:03:09 PM
Hi, thanks for the link. I haven't got a Zorro-enabled Amiga unfortunately :-( Did see something else interesting on that site though. Will start a new thread about that one!

--
moto
Title: Re: EEPROM on A1200?
Post by: ameegah on April 09, 2006, 01:55:48 PM
Do you mean EPROM or EEPROM?   If you mean EPROMs like the 27C400, there's some guides in this thread on how to do it here with a cheap willem eprom programmer:

http://eab.abime.net/showthread.php?t=21599

Can usually find 27C400 eproms on ebay like here:

http://search.ebay.co.uk/search/search.dll?from=R40&satitle=27C400
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 02:05:49 PM
EPROM... EEPROM... whatever :-) I don't know the difference (one is erasable the other is not perhaps?)

Off to check out that link - thanks!

--
moto
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 02:13:50 PM
Thanks so much ameegah - that link has answered most of my questions! Here's an extract for anyone else who is interested:

Quote
In answer to the Computolio's original question, here's how to burn a kickstart eprom set for an amiga a1200 in 4 easy steps:

Requirements
Eprom Programmer (with support for 27C400)
WinHex utility (registered version) or write your own code to perform Steps 1 to 2.
Kickstart rom file being used in WinUAE (not encypted and legally created from your own set of A1200 kickstart roms, of course)
Two blank 27C400 eproms

Step 1: Split the kickstart rom file
In WinHex select: Tools -> FileTools -> Dissect -> Wordwise (16-bit)
Select source kickstart rom file
Type in destination filename#1 eg. U6A_tmp.rom (00000-3FFFF for U6A)
Type in destination filename#2 eg. U6B_tmp.rom (00000-3FFFF for U6B)
Now you have two smaller rom files

Step 2: Fill addressable unused memory space for both eproms
Now, we're going to copy the contents of addresses 00000-3FFFF to 40000-7FFFF for U6A_tmp.rom
To do this, in WinHex select: Tools -> FileTools -> Concatenate
Type in destination file for a blank rom file to be created (eg. U6A.rom)
Append file U6A_tmp.rom to U6A.rom
Repeat this again, append source file U6A_tmp.rom to U6A.rom
Select Done and a message box will appear: 524288 bytes from 2 files were concatenated to "U6A.rom"

Repeat Step 2 using U6B_tmp.rom to create U6B.rom

Step 3: Burn the kickstart eproms
Start up eprom programmer software with 27C400 device selected.
Load U6A.rom to the buffer
Perform a swap BYTE operation on the buffer contents
Insert a 27C400 eprom into the eprom programmer and burn buffer to the eprom.
Apply opaque sticky label over the eprom window and mark it "U6A"

Repeat Step 3 for U6B.rom, marking it "U6B"


Step 4: Install eproms into A1200
Insert eprom U6A into U6A socket and eprom U6B into U6B socket (make sure the eprom has correct pin connections and orientation).
Power up and hey presto it works!


As soon as I get a reponse from Willem confirming what parts I need to order from them, I'm going to get some chips (found some on eBay) and order the programmer, and give this a try!

--
moto
Title: Re: EEPROM on A1200?
Post by: ameegah on April 09, 2006, 02:21:43 PM
No problem, but don't thank me :-) Thanks to Amethyst the person who wrote the guide.  I followed those instructions and it worked perfect for me.  Only extra things that you may need are an UV EPROM eraser to erase used chips and an antistatic wrist band so you don't damage chip from static.  
Title: Re: EEPROM on A1200?
Post by: orange on April 09, 2006, 02:40:29 PM
a word of warning: it took Willem MONTHS to send me ordered 40pin adapter for 27c400. by that time I have already found it from local seller.

its a very popular programmer and you can probably find it somewhere near you to save postage costs.. etc.


BTW, EEPROMs are electricaly erasable so (unlike 27c400 EPROM) they dont need UV rays and don't have little window.
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 02:55:09 PM
Thanks for the warning - I'll try to find a local reseller. So:

ROM = Read Only Memory
PROM = Programmable Read Only Memory
EPROM = Erasable Programmable Read Only Memory (erase by UV)
EEPROM = Electrically Erasable Programmable Read Only Memory (erase by erase function of programmer)



Right?

--
moto
Title: Re: EEPROM on A1200?
Post by: Oliver on April 09, 2006, 03:35:12 PM
right.

also, UV erasers are extra hassle and cost.

I believe there is also a 2716 eprom being used as a replacement chip for arcade machines using the same chips as the amiga kick roms.  the 2716 needs a simple adapter though.
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 04:22:53 PM
Well it looks like a no-go anyway :-( I downloaded Doobrey's RomSplit and Remus applications. I used RomSplit to read my 3.1 Kickstart and save its contents. I also split the OS3.9 ROM Update.

I then loaded Remus and tried to add the 3.1 kickstart files and the 3.9 ROM update files, but it said there wasn't enough space :-( Looks like there's not enough space in 512k for everything!

--
moto
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 06:04:16 PM
@Motorollin
 I normally remove workbench.library from ROM, and leave the 3.9 wb in libs:
 to make more space, also if that still doesn't leave enough room you could leave the 3.1 bootmenu in ROM as the 3.9 one is 13kb bigger.

 Just done a little test,
 Updated all residents from 3.9bb2 and no workbench leaves 37kb free
 Updated all except bootmenu and no workbench leaves about 50kb free.

Using EEPROMS should be fine, I've run the 'new' ROMS from flash on my A1200 and in E-UAE without problems.

A word of warning though, several people have reported big problems when using 3.9bb2's execv45, but have said that it works fine when they swapped it for Piru's Exec44...but Sod's law comes into play cos I can't reproduce the problem here  :roll:
Title: Re: EEPROM on A1200?
Post by: rare_j on April 09, 2006, 06:04:46 PM
Quote

motorollin wrote:
Well it looks like a no-go anyway :-( I downloaded Doobrey's RomSplit and Remus applications. I used RomSplit to read my 3.1 Kickstart and save its contents. I also split the OS3.9 ROM Update.

I then loaded Remus and tried to add the 3.1 kickstart files and the 3.9 ROM update files, but it said there wasn't enough space :-( Looks like there's not enough space in 512k for everything!

--
moto


According to the BlizKick docs, there's only 86 bytes or something spare in the A1200's 3.1 ROM.
This sounded like a fun project, but really, Blizkick only adds something like 8 seconds to bootup time from a cold boot, and it has an option to add as much free space as you like to your ROM once it is in fastram.
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 06:08:48 PM
@Doobrey
Are there any other libraries I can safely leave out? I'll be using my Blizzard SCSI interface, so can I remove scsi.device? Also, I don't use the PCMCIA slot. Can I remove the card device and resource?

Cheers

--
moto
Title: Re: EEPROM on A1200?
Post by: _yak_ on April 09, 2006, 06:09:33 PM
Uhm, it's probably a dumb question. I don't know where is the ROM mapped in the memory but is it possible to use a bigger EEPROM chip? :roll:
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 06:12:02 PM
I don't think so. If a bigger Kickstart ROM is used then it overlaps chip RAM. Softkickers and BlizKick use fast RAM allocated safely for the kickstart image.

--
moto
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 06:52:26 PM
Quote

_yak_ wrote:
Uhm, it's probably a dump question. I don't know where is the ROM mapped in the memory but is it possible to use a bigger EEPROM chip? :roll:


Yup :-)
 That's how I started out experimenting building my own ROMS, I just built an image containing all the relevant parts of the rom update into a 512kb rom, and added it to UAE as an extended ROM.
In the A1200/4000/CD32 (dunno about earlier machines) CBM left 512kb for the 2nd half of a 1mb ROM at $E00000-$E7FFFF, with the normal 512kb at $f80000-$ffffff as the 1st half...I guess any future upgrades wouldn't have fitted a 512k ROM, as someone else said the A1200 40.68 is already a tight fit
 
 The only trouble is that it's not a contiguous 1mb area, so you'll need to build it as 2 separate 512k images (1 at $e00000 the other at $f80000) and then join them together to make the single 1mb ROM :hammer:
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 06:55:50 PM
Would this work? Is there any way to get it to use all 1MB of the ROMs?

--
moto
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 07:01:21 PM
Quote

motorollin wrote:
@Doobrey
Are there any other libraries I can safely leave out? I'll be using my Blizzard SCSI interface, so can I remove scsi.device? Also, I don't use the PCMCIA slot. Can I remove the card device and resource?


In the remus.guide there's a list of what libraries/devices etc depend on each other, there isn't really that much else that can safely be removed.
 Removing scsi.device,card.resource and carddisk.resource works fine on UAE, but I haven't tried it on my A1200 cos I need them for the HD and network card.
 I've also booted fine without the v40 icon.library, leaving the v45 one in libs: , but again others who tried it couldn't boot ! ..ahh, the joys of no 2 Amiga setups being the same :lol:
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 07:05:35 PM
I think I'll set up UAE and see what I can remove. How did you get your KickFlash device to work with 1MB?

--
moto
Title: Re: EEPROM on A1200?
Post by: _yak_ on April 09, 2006, 07:57:53 PM
I don't know how is the ROM build up but I presume it is some kind of a list of modules, right? And since the ROM is always at the same address, the modules probably contain direct pointers to successors/predecessors. If all this is true, it should be easy to write a program to divide the ROM into two 512KB parts. It would be cool to have whole another 512KB for additional modules :). Does someone there actualy know how the ROM modules are linked together?
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 07:59:00 PM
Quote

motorollin wrote:
I think I'll set up UAE and see what I can remove. How did you get your KickFlash device to work with 1MB?


If you're running UAE with host directories mounted as amiga drives, use $e00000 as the base address when building an extended ROM as UAE uses a filesystem thats hardcoded into the $f0000 space..plus it clashes with a 'magic window' for the Amiga side to communicate with UAE.
Also use the CD32 version of exec44/45 in the 'normal' rom ,as the other versions don't search for extended roms in the $e00000 space.
If the extended rom doesn't contain exec, you need to put the example romheader (in remus/others/romheader) as the first item in the build list to get the normal rom booting first.

I guess all this stuff should get added to the docs, at least I'm honest and admit they're crap :-D

As for the kickflash, I did it similar to the way RedSkull did it in his kf500 (http://main.aminet.net/package.php?package=hard/hack/DC-KF500.lha), except I've mapped the $f8 part to the lower half and the $e0 part to the upper half  because I want to use the flash's 32kb(16kb in each chip) parameter block as non-volatile memory  :sealed:
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 08:05:01 PM
IOW, if I want to use 1MB of kickstart, I have to build a KickFlash device :roll: I'm trying to experiment with UAE but for some reason it won't boot with a 40.68 image from my A1200. Grrrrrr....

--
moto
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 08:08:17 PM
Quote

_yak_ wrote:
 Does someone there actualy know how the ROM modules are linked together?


They're not linked, simply put one after another...with a couple of exceptions like input/gameport/keyboard ,exec/alerthook etc compiled as one as they share some common routines to save space.

Each resident module contains a resident structure that identifies it( see the Amiga NDK  includes/exec/resident.h)
Basically exec searches through the memory areas it knows could contain a ROM for the RTC_MATCHWORD value ($4afc), if it finds it and the next longword is the address of the $4afc then it knows it's found a resident and then adds it to the resident list ( only if a greater version hasn't already been found etc.)
Title: Re: EEPROM on A1200?
Post by: _yak_ on April 09, 2006, 08:13:22 PM
Quote
Basically exec searches through the memory areas it knows could contain a ROM for the RTC_MATCHWORD value ($4afc), if it finds it and the next longword is the address of the $4afc then it knows it's found a resident and then adds it to the resident list ( only if a greater version hasn't already been found etc.)


So, the conclusion is we CAN use 2x512KB EEPROM chips without problems?
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 08:26:08 PM
Well, this rocks quite spectacularly. I used RomSplit to extract a 3.1 ROM image and the 3.9 ROMUpdate. I then removed anything to do with scsi.device (don't need on-board IDE), PCMCIA card (don't need that either) workbench.library (can have that on disk) and the v45 boot menu. Remus then made me a ROM image of everything that was left, and I had 50k to spare. Booted it on E-UAE, and here's the result:

(http://i298.photobucket.com/albums/mm244/motorollin/aorg/kickstart39.jpg)

Cool huh! I did get lots of errors in the terminal like "cia_wget: unknown CIA address a8300a PC=f80ede", I hope that won't be a problem when I'm using a real Amiga?

--
moto
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 08:58:23 PM
@Motorollin,
  If it's lots of wgets for addresses between A80000 and B80000 it's OK, it's just looking for residents in an area of memory reserved for another 1MB ROM on the CD32. I'll do a simple patch to stop it.
Title: Re: EEPROM on A1200?
Post by: motorollin on April 09, 2006, 09:03:06 PM
Yes that's correct, they are all between those addresses. There was also an illegal instruction, and lost of lines saying "Byte put to custom register DFF110 PC=00FDD8AA" all with different addresses. Is this ok? Will any of these errors cause a problem if the ROM is used on a real Amiga?

--
moto
Title: Re: EEPROM on A1200?
Post by: Nickman on April 09, 2006, 09:29:07 PM
I made some research on the Kickflash 1200 (http://www.jschoenfeld.com/products/kickflash_e.htm) product some time back.. i made a post on AW.net about it.
(i'm no longer a member there thats why it says Anonymous)

AW.net Kickflash 1200 vote thread (http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=10750&forum=16)

I still want one :)
Title: Re: EEPROM on A1200?
Post by: _yak_ on April 09, 2006, 09:45:08 PM
@ Nickman

Was there also such a tread here, on Amiga.org? I think most of the people here are "classics oriented" :-)
Title: Re: EEPROM on A1200?
Post by: Doobrey on April 09, 2006, 10:58:55 PM
Quote

motorollin wrote:
There was also an illegal instruction,


Hmm, that doesn't sound good.. was the CPU set to '020 in EUAE ?
If it still happens, could you mail me the .rpf file (if you saved your build list) so I can build it and check it out?

Quote

 and lost of lines saying "Byte put to custom register DFF110 PC=00FDD8AA" all with different addresses. Is this ok? Will any of these errors cause a problem if the ROM is used on a real Amiga?


Depends,how many is 'lots'?
It looks like that's trackdisk.device just checking for disks in DF0-3..or was it disk.resource..gah it's late and my brains fried  :crazy: ...anyway, some register accesses in the uae.log are normal..even the bug in exec's chipmem size routine that reads from $200000.
If you boot with your A1200's 40.68 ROM and look at the log you can get an idea of what normally happens.

Title: Re: EEPROM on A1200?
Post by: TjLaZer on April 09, 2006, 11:27:01 PM
Quote
Step 2: Fill addressable unused memory space for both eproms
Now, we're going to copy the contents of addresses 00000-3FFFF to 40000-7FFFF for U6A_tmp.rom
To do this, in WinHex select: Tools -> FileTools -> Concatenate
Type in destination file for a blank rom file to be created (eg. U6A.rom)
Append file U6A_tmp.rom to U6A.rom
Repeat this again, append source file U6A_tmp.rom to U6A.rom
Select Done and a message box will appear: 524288 bytes from 2 files were concatenated to "U6A.rom"


Hmm when I did it I omitted step 2 and it worked for me!
Title: Re: EEPROM on A1200?
Post by: ameegah on April 10, 2006, 12:09:03 AM
Quote

TjLaZer wrote:
Hmm when I did it I omitted step 2 and it worked for me!


Yep, if you read through the thread from english amiga board forum link (http://eab.abime.net/showthread.php?t=21599), it says earlier on in the thread that the unused space should be filled "just to be safe" so no surprises that it works fine when you leave it out.

Something to do with the 27c400 having an extra address pin and the possibility of it being left "floating".
Title: Re: EEPROM on A1200?
Post by: Nickman on April 10, 2006, 06:13:28 AM
Quote

_yak_ wrote:
@ Nickman

Was there also such a tread here, on Amiga.org? I think most of the people here are "classics oriented" :-)


I made this tread at the same time. (http://www.amiga.org/forums/showthread.php?t=14363)
Title: Re: EEPROM on A1200?
Post by: motorollin on April 10, 2006, 03:30:49 PM
I have just tested my ROM properly in WinUAE by installing OS3.9. Everything went smoothly, and if I cold boot the emulator with no startup-sequence and type "version" it reports kickstart 45.20 and Workbench 45.1 :-)

Setpatch still reboots the machine on cold boot. I'm guessing this is because it's not clever enough to realise it already has 45.20 in ROM, and softkicks the update anyway. Deleting AmigaOS ROM Update stopped this though.

As soon as I get a reply from Willem confirming what hardware I need to programme the chip, I'm going to order  :-D

--
moto
Title: Re: EEPROM on A1200?
Post by: Johan Samuelsson on January 08, 2008, 01:54:18 PM
setpatch noromupdate, hmm or was it setpatch skipromupdates  would cure it too i guess.
so, have you burned your rom now?
has anyone burned a 1mb rom?

if anyone has burned a 1mb rom, i'd appreciate some help.
i've created my 1mb rom as two 512k roms in remus.

But after this, I am kind of stuck. Do I use the AOS join command to join them together before burning or...? HELP!
Title: Re: EEPROM on A1200?
Post by: countzero on January 08, 2008, 02:14:27 PM
if you're doing for a1200, you create the normal rom and extended roms (from address 0xe00000 as doobrey pointed and with romheader) apply the 1mb patch to your exec. dissect your roms wordwise(16 bit) into u6a and u6b pieces. then concatenate extended roms u6a with normal u6a (extended first) and extended u6b with normal u6b (again, extended first) burn then with byte swap and it should work.
Title: Re: EEPROM on A1200?
Post by: Johan Samuelsson on January 09, 2008, 03:06:39 AM
is there any other app than winhex that can do that?
winhex is VERY unstable here.