A3640 @ 50Mhz!

SpeedGeek

Member
AmiBayer
Joined
Jan 21, 2011
Posts
934
Country
USA
Region
Wisconsin
@ Zetr0
Your absolutely right.
"She's the fastest hunk a junk in the galaxy!"

A3640 @ 50MHz! Been there. Done that!
Who would have guessed a MC68040RC25 would go that far?

AIBB benchmarks are with 68030 state machine mod + Ramsey 5 clock cycle @ 25Mhz (380 clock refresh). Also, here are my (CPU nodatacache) Bustest results:

BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
fast $07030000 readw 204.4 ns normal 9.8 * 10^6 byte/s
fast $07030000 readl 204.8 ns normal 19.5 * 10^6 byte/s
fast $07030000 readm 210.1 ns normal 19.0 * 10^6 byte/s
fast $07030000 writew 204.6 ns normal 9.8 * 10^6 byte/s
fast $07030000 writel 205.2 ns normal 19.5 * 10^6 byte/s
fast $07030000 writem 204.6 ns normal 19.5 * 10^6 byte/s

BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
rom $00F80000 readw 251.7 ns normal 7.9 * 10^6 byte/s
rom $00F80000 readl 251.1 ns normal 15.9 * 10^6 byte/s
rom $00F80000 readm 246.8 ns normal 16.2 * 10^6 byte/s

P.S. Don't even think about trying this without a clock doubler circuit or something faster than the 74Fx803 if you prefer clock dividers. You also need 68030 state machine mod for a 1/2x clocked motherboard or apollo630's 2x clock GAL hack.

Here is the link for images and downloadable files:

http://eab.abime.net/showthread.php?p=777332
 
Last edited:
Me needs to uprate my A3000! :drool:

@Speedgeek: you used the latest L88M 040 mask or any MC68040 will do?
 
@rkauer & @SpeedGeek

I tried my beloved L88M at 55 Mhz on my Blizz 1240, but no boot with and without any Simm...
 
Last edited by a moderator:
@rkauer
I answered your question on the EAB thread since you posted it there as well.

@Zetr0
I had an even faster benchmark with 60 ns DRAM and Ramsey @ 4 clock cycles (24MB/sec fast memory). But I had to disable my 16MB bank select PAL leaving only 4MB of fast memory. Also only 1 of my 60 ns 16MB SIMM's was fast enough. I'm currently looking for a 50ns 16MB SIMM my young apprentice! :)

@Cosmos
Just for curiousity reasons, I pulled the 52 Mhz oscillator out of my A2630 (it's the only one I have and hard to find a replacement for) and tried it on the A3640 and it works! But I did not have enough time to test for stability and I was busy debugging SuperBuster Z2 mod again. :D

P.S. I tried 50 Mhz a few months ago but failed until my 15ns U204 was replaced with a 10ns chip and I jumpered AS040 and DS040 directly to new U204. I also have a 2.2K pull up added to A3640 Plsterm. Oh, and I should probably make a new U208 for you guys to save another cut and jumper mod.
 
Last edited:
@rkauer
Did you ever get yourself a universal programmer? ;)

@Cosmos & @dOpefish
I just released a new A3640_ST_MOD.LHA archive with the new U208. The previous U208 did not completely disable the latch holding function with the last minute change on U204. So to make it a totally cut and jumperless mod you will need the new U208. :D
 
Last edited:
Yes, I have! :nod::inlove:

But no PLCC adapter.:crying::sad:
 
** EAB POST SECTION **

bebek 05 December 2010 14:16 Quote:
Originally Posted by SpeedGeek (Post 720342)
Been There Done That! You don't need faster PAL's or GAL's. Everyone has overlooked the clock speed limitations of your A3000 or A4000 motherboard. The solution is to run your motherboard with a synchronized 20 Mhz clock but you will need a few cut an jumper modifications and a 74F74 to divide the clock on a A4000. The following results are from my A3640 @40Mhz + 68030 state machine modifications + ramsey 4 clock cycle @20Mhz. AIBBLogFile *********************************************************************************** System Static Data ----------------------------------------------------------------------------- System CPU: 68040 System FPU: 68040 System MMU: 68040 CPU Clock Rate: 40.0 MHz FPU Clock Rate: 40.0 MHz Operating System Version: 40.68 ( 3.x ) ======================= System Memory Information ============================ NODE #1 Node Name: expansion memory Node Size: 16.00 MBytes Bus Port Size: 32 Bit Address Range: $07000000--$08000000 Node Priority: 30 ----------------------------------------------------------------------------- NODE #2 Node Name: chip memory Node Size: 2.00 MBytes Bus Port Size: 32 Bit Address Range: $00001000--$00200000 Node Priority: -10 ----------------------------------------------------------------------------- ***************************************************************************** ========================== Test Information Section ========================== Test Name: InstTest Parameters: Not applicable to this test. Multitasking: DISABLED Test Code Location: Memory Node #1 Test Data Location: Memory Node #1 Test Result: 7810894.89 Instructions/Second (Higher = Better Performance) ============================ Comparison Ratings ============================= This Machine : 16.94 A600-NF : 1.00 (68000 | SC Math) Base System A1200-NF : 1.75 (68020 | SC Math) A3000-25 : 5.47 (68020 | CP Math) A4000-40 : 10.05 (68020 | 40 Math) --------------- System Dynamic Information for this test ------------------- Instruction Cache: ENABLED Data Cache: ENABLED Inst Cache Burst Mode: -------- Data Cache Burst Mode: -------- Data Cache Write Allocate: -------- 68040 Copyback Mode: ENABLED ----------------------------------------------------------------------------- System Supervisor Stack Address: $07000AC0 AIBB Process Stack Address: $07218C0C Operating System Memory Location: $07FFBD00 Current OS Dispatch Quantum: 4 ***************************************************************************** END OF LOG FILE

I have tried standard mod yesterday and able to achieve 33MHz for a minute and then yellow screen . Can you show us the way please ? A small diagram ? :bowdown Where from is this synchronised 20MHz ?

Loedown 06 December 2010 02:44 Quote:
Originally Posted by SpeedGeek (Post 720565)
On the A3000 the syncronized 20Mhz clock is obtained by disconnecting the 50 Mhz oscillator and connecting the 40 Mhz clock from the A3640 delay line to the A3000 74F74 input (R121). The 10 ns tap works good for me. You also need to disconnect the 40 Mhz clock from pin 1 of U208 on the A3640 and connect the 20 Mhz clock. Pin 1 of the A3000 delay line worked good for me. All motherboard jumpers should be set to "Internal" and "16 Mhz". Also, you need to disconnect the A3640 cpu clock and clock 90 from R102 & R101 on the A3640. On the A4000 you need to get a 74F74 IC and configure it as a standard clock divider. You could crop pins 1-6 and 8-13 and then solder it directly on top of the A3640 delay line. Disconnect cpu clock and clock 90 from the delay line. Connect the 74F74 inputs to the A3640 delay line (15 and 25 ns taps*) and the 74F74 outputs to R102 and R101 on the A3640. Remember to do the U208 clock modification described above. Do you still need a diagram? (* = an educated guess). Good Luck!

On the A3000 the syncronized 20Mhz clock is obtained by disconnecting the 50 Mhz oscillator and connecting the 40 Mhz clock from the A3640 delay line to the A3000 74F74 input (R121). The 10 ns tap works good for me. You also need to disconnect the 40 Mhz clock from pin 1 of U208 on the A3640 and connect the 20 Mhz clock. Pin 1 of the A3000 delay line worked good for me. All motherboard jumpers should be set to "Internal" and "16 Mhz". Also, you need to disconnect the A3640 cpu clock and clock 90 from R102 & R101 on the A3640. On the A4000 you need to get a 74F74 IC and configure it as a standard clock divider. You could crop pins 1-6 and 8-13 and then solder it directly on top of the A3640 delay line. Disconnect cpu clock and clock 90 from the delay line. Connect the 74F74 inputs to the A3640 delay line (15 and 25 ns taps*) and the 74F74 outputs to R102 and R101 on the A3640. Remember to do the U208 clock modification described above. Do you still need a diagram? (* = an educated guess). Good Luck!


Pics or it never happened

SpeedGeek 06 December 2010 02:50 4 Attachment(s)
On the A3000 the syncronized 20Mhz clock is obtained by disconnecting the 50 Mhz oscillator and connecting the 40 Mhz clock from the A3640 delay line to the A3000 74F74 input (R120). The 10 ns tap works good for me. There are 2 optional mods to U208 on the A3640 needed for Ramsey to run a 4 clock cycle. All motherboard jumpers should be set to "Internal" and "16 Mhz". Also, you need to disconnect the A3640 cpu clock and clock 90 from R102 & R101 on the A3640.

On the A4000 you have the 74F74 and delay line available at different locations (see A4000 schematics) than the A3000. A diagram is provided. Good Luck! PS. You can use 1 or 2 unused pins on the 200 pin cpu connector to connect the jumper(s) to the A3640 so you can remove the A3640 without unsoldering jumper wires.


** NEWS UPDATE ** I have added as a second option another way to do the U208 part of the mod. It eliminates the possible problem with U208 timing from the motherboard delay line and 1 of the motherboard jumpers to the A3640. The only trick is finding the trace to pin 9.


SpeedGeek 08 December 2010 13:52 Disregard my previous instructions to add a 74F74 to the A3640 delay line on the A4000. The same clock divider and delay line circuitry are available (at different locations) on the A4000 motherboard. So you should have no difficulty adapting this mod to the A4000. Silly me, I should have checked the A4000 schematics before I made the above post.

SpeedGeek 17 December 2010 23:41 2 Attachment(s)
** NEWS UPDATE ** The 74Fx803 clock divider on the A3640 is rated to run at 70 Mhz max! Obviously, your mileage will vary. If you have tried TIMING ADJUSTMENTS ON BOTH DELAY LINES* and are still having problems with this mod try an oscillator in the range of 66 to 74 Mhz and adjust the timing on either delay line. If your 74Fx803 won't run reliably at 80 Mhz you have the options of using a different chip (74F74) or even a clock doubler chip if you really want to get to 40 Mhz. *Your timing @40 Mhz should be within +-5 ns of mine. Otherwise try to reconnect U208 Pin 1 to the cut trace. This part of the mod is only needed for Ramsey to run a 4 clock cycle. Unfortunately, it's also the most timing critical part.

** 2ND NEWS UPDATE **

A datasheet has been uploaded. It would be a good idea to make sure the +5 Volt supply to the A3640 is at least 5 Volts. Another potential problem is skew between Bclk and Pclk. Motorola specifies 9 ns @25 Mhz and gives no spec. @ 40 Mhz. Using the formula 25/40 x 9 gives a calculated value of 5.6 ns. With the 74Fx803 being overclocked it's likely to be right on the edge. A skew problem could easily mislead you to believe your 74Fx803 or 68040 won't run at the desired clock speed! Fortunately, there is a simple cut and jumper mod to compensate for the skew.


zipper 18 December 2010 01:27 And all this effort strangled by the slow mobo memory...

stachu100 18 December 2010 02:09 I share your point. As A3640 overclocking from 25MHz to 33MHz is quite easy (10 min of work) and can be justified, but I don't understand the people spending a lot of efforts and money just to get few MHz more and all this effort will be destroyed by slow FAST memory anyway.
Much better is to buy card like WarpEngine 4040 with onboard FAST (much faster than FAST on A4000 mobo) and SCSI for about 100EUR more than A3640.

It seems that I don't understand a lot of things...


zipper 18 December 2010 04:40 I think a big part of overclocking benefits when going over 28 MHz is lost on wait states.

Cosmos 18 December 2010 05:00 68040 have 8 Ko of cache !

SpeedGeek 18 December 2010 10:26 The following Bustest results (cpu nodatacache) are from Ramsey 4 clock cycle @20 Mhz (380 clock refresh):
5.System3.9:> bustest fast
BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
fast $07F38000 readw 205.6 ns normal 9.7 * 10^6 byte/s
fast $07F38000 readl 196.6 ns normal 20.3 * 10^6 byte/s
fast $07F38000 readm 210.7 ns normal 19.0 * 10^6 byte/s
fast $07F38000 writew 205.5 ns normal 9.7 * 10^6 byte/s
fast $07F38000 writel 204.9 ns normal 19.5 * 10^6 byte/s
fast $07F38000 writem 196.3 ns normal 20.4 * 10^6 byte/s

Not quite as fast as WarpEngine memory but a significant improvement. The only problem is you need a universal programmer to do the state machine mod.


** UPDATE July 23, 2011 **


ROM Bustest results with Fat Gary @40 Mhz have been removed since Fat Gary was not always reliable at this clock speed.


SpeedGeek 17 January 2011 19:11 1 Attachment(s)
The original posts were updated to address possible problems with overclocking the A3640 which the motherboard 1/2 clock mod doesn't solve. Hopefully, you now have some good ideas work through any such problems.

Secondly, for those who say "It's not worth the effort or expense" I have the following comments:

You never know how much faster your system can go unless you actually try to make it faster!

I successfully overclocked my 25 Mhz MC68040 to 40 Mhz! The cost of a socket and an oscillator was a minimal expense. I recycled a cooling fan from a discarded 486 motherboard.


Some users have already purchased a 33 or 40 Mhz 040 and a cooling fan just to do the Clock 90 mod. So why discourage them from trying to get the most from their investment?


I understand the few A3640 owners who got 35-37 Mhz with the Clock 90 mod may decide it's not worth the effort to get a few more Mhz.


However, this mod could be used by A4000 owners who have 80 ns fast memory to get to 40 Mhz!. It could also be used by A3000 owners who are limited by SuperDMAC to around 30 Mhz regardless of their fast memory speed.


PS. A3000T and DMAC 04 users please let me know if you could overclock your motherboard past 30 Mhz. Thanks.


rkauer 16 September 2011 22:36 Me needs to uprate my A3000! :crazy

@Speedgeek: you used the latest L88M 040 mask or any MC68040 will do?


SpeedGeek 17 September 2011 09:00 @rkauer
I don't know what the mask set is but it's probably the first or second mask set of the MC68040. My A3640 is a rev3.2 so it's probably one of the last boards made by C= in early 1994.


rkauer 17 September 2011 16:30 My A3640 is upgraded to 3.2 (was 3.1 but I swapped the U209 chip) and it have a MC68040.

I think I'll do a thorough search in all your instructions to uprate my A3000.

Here is the link for images and downloadable files:

http://eab.abime.net/showthread.php?p=720571

 
Last edited:
A3640 @ 50MHz! Been there. Done that!

Impressive stuff!! Fantastic work, I'm deeply impressed.. Must read this thread properly
 
Now if only there was a solution for non-engineer peeps like me :LOL:
Bring me anywhere near a soldering iron and everything breaks..
 
@mjnurney

The 50 MHz clock speed was obtained with a clock doubler circuit (replacing the original clock divider). I never documented this more advanced part of the mod because only one guy ever inquired about it and I thought others might devise their own solutions as needed. However, time permitting I do plan to do some updating on this topic.

@jvdw007

If it makes you feel any better this is really a combination of 3 separate mods which evolved over a 4 year time span. I never ever dreamed my factory supplied MC68040 would run @ 2x it's rated clock speed and was really looking to get 30-40 MHz in the early days. One Small Step for A4000 owners and one Giant Leap for A3000 owners. LOL for the Neil Armstrong humor! :LOL:
 
Last edited:
i always thought the GAL logic was the barrier on the 3640 ? obviously not and to get a 68040 @ 50 mhz is a great achievement , well done sir!

does this mean 68040 owners can pop an 100mhz crystal in there 4000...
 
@ Zetr0
Your absolutely right.
"She's the fastest hunk a junk in the galaxy!"

A3640 @ 50MHz! Been there. Done that!
Who would have guessed a MC68040RC25 would go that far?

AIBB benchmarks are with 68030 state machine mod + Ramsey 5 clock cycle @ 25Mhz (380 clock refresh). Also, here are my (CPU nodatacache) Bustest results:

BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
fast $07030000 readw 204.4 ns normal 9.8 * 10^6 byte/s
fast $07030000 readl 204.8 ns normal 19.5 * 10^6 byte/s
fast $07030000 readm 210.1 ns normal 19.0 * 10^6 byte/s
fast $07030000 writew 204.6 ns normal 9.8 * 10^6 byte/s
fast $07030000 writel 205.2 ns normal 19.5 * 10^6 byte/s
fast $07030000 writem 204.6 ns normal 19.5 * 10^6 byte/s

BusSpeedTest 0.19 (mlelstv) Buffer: 262144 Bytes, Alignment: 32768
========================================================================
memtype addr op cycle calib bandwidth
rom $00F80000 readw 251.7 ns normal 7.9 * 10^6 byte/s
rom $00F80000 readl 251.1 ns normal 15.9 * 10^6 byte/s
rom $00F80000 readm 246.8 ns normal 16.2 * 10^6 byte/s

P.S. Don't even think about trying this with out 68030 state machine mod and a clock doubler circuit or something faster than the 74Fx803 if you prefer clock dividers.


Good work you mad scientist. You really push the old A3640 well,but man,what a lot of work :)

mech
 
** 68030 STATE MACHINE MOD FOR A3640 **

From the Archive A3640_ST_MOD.zip:

What is it?
It's a freeware firmware upgrade by SpeedGeek for A3640 owners seeking a performance boost. The new state machine logic eliminates 2 extra wait states from every A3640 bus cycle so your 68040 can access the A3000/A4000 motherboard resources at full speed. This logic has been tested at clock speeds from 25-50 Mhz*. It works with either a 1x or a 1/2x clocked motherboard (other mods are required for a 1/2x clocked motherboard).

How much faster will my A3640 be?
It's hard to quantify but you can expect Fast memory and ROM speeds to improve by 2-3 MB/sec. Chip memory, Zorro Bus and Custom chips will probably have < 1 MB/sec increase. Your mileage will vary with clock speed, ROM and RAMSEY speed settings, etc.

Now, to give you a better idea of what this mod does just look at the AIBB memory "Latency" results of a standard 25 MHz A3000 and A4000. As you can see the A3000 is 6.1 and the A4000 is 8.1. So the standard A3640 takes 2 more clocks to run a bus cycle than a standard A3000(030)! :eek:

Bummer! A4000's had the more powerful 040 but crippled by inefficient state machine design. So basically, this mod evens the score to a fresh new 6.1 Latency result for A4000(040) owners! :)

Now, to make things even more interesting check out the Latency result of the 50 MHz A3640 in post #1 and then divide this number by 2! :cool:
Enjoy!

UPDATE:
Here is an update for undocumented feature in the new state machine logic. The new U204 generates a "Fast" /AS040 on I/O pin 15 [PLCC28 pin 18] which may be useful for overclocking the A3640 but requires a cut and jumper mod to replace the U205 /AS040. Also, it may cause /AS030 to be asserted before the dynamic bus sizing logic can generate a valid address. Note: You could unsolder the U205 /AS040 and insulate the pad to avoid the cut and jumper mod. You can also replace U205 with a faster GAL if you like.

UPDATE2:
A modified version of Yaqube's P652 (PIO2) has been added for A4000T support. This version allows the U205 wait state jumper to connect to PCB_SCSI so the extra wait state is only added to NCR SCSI chip access. It also supports A4K Romy!

Here is the link for images and downloadable files:

http://eab.abime.net/showthread.php?p=778105


 
Last edited:
Hi SpeedGeek,

Your state machine mod for the A3640 indeed sounds very promising! So I downloaded the the lha file but was surprised to see that not only one but a whole bunch of PALs will need to be replaced. Will I really need to exchange all them just for the state machine mod? Also, is the mod expecting a certain A3640 revision?

Thanks!
-- Jens
 
Hi apollo630!

Your question regarding the number of PALs to be replaced was addressed in the text file included with that archive. You can get by with just 3 PAL's replaced IF you are willing to do cut and jumper mods. This mod is not expecting any particular A3640 revision but rev. 3.0 A3640's have a STERM sampling bug which could cause problems. They are also notorious for electrolytic cap problems. So some proper servicing is advised before performing this upgrade. You can PM or email me if you have other questions.
 
Hi SpeedGeek,

Thanks for your quick response!

I should have read the text file more carefully where you mentioned skipping U207 and U208 by a cut and jumper mod..

Unfortunately it seems U205 is still required.. Would you mind sharing the source of your mods - especially for U205? The reason I am asking is that I already placed another GAL physically on top of U205 on my A3640 where I am doing some logic stuff (widen up /TS and delay /TA and /TEA) to support running the 68040 at 50MHz. For clock generation I've been using a MC88915 PLL - I believe you might have done something similar for your 50MHz hack?

By using the additional GAL I was able to keep all existing PALs on the card and still run at 50MHz - which was great until I read about your state machine mod and the possibility to save 2 cycles for each access ;-)

Since I already tampered with my A3640 I would rather like to understand your state machine mod in detail instead of just blindly burning the GALs and replacing them - especially when it comes to debugging in case it's not working right away for whatever reason.

Thanks in advance!
-- Jens

PS. Sorry in case you might have received this post multiple times already - I am new to AmiBay and not so familiar with how to use it yet.
 
I have been trying out SpeedGeeks cool state machine mod on my A3640.

First I changed the compatible GALs U203 and U207 and it still worked.
So I can confirm that both GALs are compatible with the original state machine logic.

Next I changed U204, U205 and U208 and was happy to see to the board still working. So U208 can now be considered "tested" as well.

Also I verified the saving of the 2 clock cycles using a scope measuring
the time between two subsequent /TS strobes during fastmem access.

On my standard A3000 model (16MB 80ns static-column ZIP FastRAM,
RAMSEY-04, DMAC-02, SCSI-04) I measured the following numbers:

1. Without the A3640 (using the build-in 68030) a fastmem read takes 6
cycles (240ns)
2. With the unmodified A3640 a fastmem read took 8 cycles (320ns).
3. After your state machine mod a fastmem read now takes 6 cycles
again like so the A3640 is not slowing down memory access anymore :)

This rocks! Thanks very much for this brilliant mod (y)

-- Jens
 
Back
Top Bottom