A3000/4000 1MB ROM Mod

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
A3000/4000 1MB ROM MOD REV 10

OS3.9 BB2-BB4 has outgrown the standard 512KB ROM support provided
by Fat Gary. (Standard 512KB ROM's use $F80000-FFFFFF). After a
previous attempt to modify Fat Gary's address decoding to enable ROM's
@ $F00000-F7FFFF failed a new approach to this problem was required! The problem was solved with a new GAL chip which offers the following features:

- Enables 512KB of ROM @ $E00000-E7FFFF
- Generates ROMEN and STERM signals to run a bus cycle
independent of Fat Gary!
- ROM's only enabled on READ cycles. WRITE cycles to this address
space will be terminated via STERM for faster cycle termination
- Runs a 3 or 4 clock cycle (depending on Speed jumper enable) on
STERM output to support 100 ns or 150 ns ROM's
- Runs a 5 or 6 clock cycle (depending on Speed jumper enable) on
DSTERM output to support 200 ns ROM's or overclocked motherboards!
- NEW experimental version supports 4MB of ROM @ $01000000-013FFFFF

A schematic showing the GAL chip pinout is provided. The GAL chip
must be programmed with the .jed file provided. 21 jumpers must be
connected from the GAL chip to the motherboard or optional A3K and A4K PCBs can be used. A DIP24 or PLCC28 socket is recommended to allow easy programming changes to be made. Jumpers to the motherboard should be kept as short as possible. Note: The A3000 ROM's are not connected to A19! So, you will need a jumper from Fat Gary's A19 to
pin 1 of the A3000 ROM's. Enjoy! :)

P.S. Following Amiga tradition the name "Romy" was chosen for the new GAL Chip! Your comments are welcome!

NOTE:
A4000T owners should see post # 100 for A4K Romy solutions.

The link for images and downloadable files is here:

http://eab.abime.net/showthread.php?p=783399
 
Last edited:
Great !

I'm going to make an howto, step by step, on my Blog !

For the name, maybe "Romy" ?!
 
Now, this is very relevant to my interests!


1MB Kickrom for the A3k and 4K - thats certainly +1 ^_^ for the Mod and an extra +1 ^_^ for the Awesome


+2 ^_^
 
Sweet! :)

Did the A1200 already support 1MB ROMs?
 
Awesome stuff! Even more delighted to see the drawing made with IntroCad!!! (y)
 
It looks like we have one vote for Romy! I appreciate the feedback. Thanks guys! :)

Here are my (CPU nodatacache) Bustest results with 68030 @ 25 MHz + ROM speed jumpers enabled:

BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
rom $00F80000 readw 324.9 ns normal 6.2 * 10^6 byte/s
rom $00F80000 readl 325.2 ns normal 12.3 * 10^6 byte/s
rom $00F80000 readm 263.5 ns normal 15.2 * 10^6 byte/s

BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
user $00E00000 readw 284.0 ns normal 7.0 * 10^6 byte/s
user $00E00000 readl 284.6 ns normal 14.1 * 10^6 byte/s
user $00E00000 readm 223.5 ns normal 17.9 * 10^6 byte/s

As you can see we can now run faster bus cycles to extended ROM space than whats possible with Fat Gary. I have a reputation to uphold here! :D
 
We should stay away from "Romney" because it makes me think of Mit Romney, and that's just creepy.

Romy is ok.

I would like to suggest "Lopey Jimmy" because it sounds funny. :LOL:

... oh, and by the way, this is a sweet mod!
 
For some reason I like the "Romy" name, but it is a bit masculine. Amigas usually have feminine names on the chips (exception to Gary & Buster).

But until we get a feminine nice name I vouch for Romy!
 
Romy is nice, may i also suggest Romulan? lol
 
** NEWS UPDATE **

OK guys, Romy has the most votes so far! :smile:

I have an experimental rev 5 Romy I'm testing with improved timing on STERM and ROMEN minus BERR as follows:

1) STERM was a feedback output of REG1 or REG2 depending on SPEED jumper setting. STERM is now a registered output and should be more reliable especially at higher clock speeds.

2) ROMEN was not qualified with AS to provide the fastest ROM enable time. The problem is that assuming 5 ns cycle end address disable time + 15 ns GAL speed + 30 ns output disable time for 27C400 = 50 ns or 10 ns longer than 030 specs @ 25 MHz and potentially an even bigger problem at higher clock speeds. So ROMEN is now qualified with AS. This means +20 ns ROMEN assertion at cycle start and -20 ns negation at cycle end. Better safe than sorry!

3) Bustest takes very long to run WRITE cycles to this address space because it disables multitasking and BERR termination needs exception processing! Also 68030 can ignore BERR cycle termination under certain conditions. So BERR is now completely disabled. Romy just terminates cycle with STERM and keeps ROMEN negated. Bustest is technically an illegal program but we all love it! ;)

So speak NOW with suggestions, concerns, or objections before I upload rev. 5! Thanks!
 
Last edited:
@SpeedGeek

The speed of the Rom access is not super important : the Kickstart is not destined to "stay" into the 27C400, but to move at boot directly in fastram who is very much faster !

When the Kick is moved & running in fast, zero Rom access...
 
Last edited by a moderator:
I like Endiah (pronounced India) ;-)

err, just thought I'd add to the mixing pot for some strange reason :-D
 
** 2ND NEWS UPDATE **
Romy Rev. 5 uploaded to post #1. Also, eliminating BERR provided a new bonus cycle termination timing option via DSTERM!

@Cosmos
Yes, if you have plenty of local fast memory on your 3rd party accelerator card then you should remap kickstart into fast memory. However, ROM speed is now very close to the speed of motherboard fast memory and certainly faster than Zorro3 memory! Also, the folks who have 18MB A3000's and A4000's may wish to conserve their precious fast memory!
 
** 3RD NEWS UPDATE **
Romy rev. 6 uploaded to post #1! Functionally, it's the same as rev. 5 but fixes a bug that did not guarantee at least one clock 90 time period between cycles. (If I didn't have a fast 50 MHz synchronous accelerator I would never have detected this bug).

Also, Romy has moved from an experimental PCB to A3000 motherboard now. (See image uploaded to post #1). Cosmetically, it looks about as good as you can get with a jumper to motherboard type mod. You could try using ribbon cable for a better appearance but it's a lot harder to work with than separate jumper wires.

You could also make a custom tower PCB with PLCC socket for Fat Gary and DIP socket for Romy and header pins to replace original Fat Gary socket but IMHO desoldering a PLCC socket and a custom PCB is a lot of work to make a jumper less mod! Also, A4000's have a surface mounted Fat Gary and completely different PCB layout so A4000 owners will have to do things differently!
 
Last edited:
Would the same solution as in the Indivision AGA work for A4000? You'd have a PCB with PLCC socket and the Romy that would sit on top of the surface mount Gary.
 
Back
Top Bottom