Falcon 030 CPU (68030) Acceleration Modification

Designed by Peter Green


Disclaimer

The author cannot be responsible for any damage to your equipment, other software or hardware products, or physical or mental well being caused by the use, misuse, abuse, misinterpretation, or inability to use this hardware modification. The author also makes no guarantee as to the compatibility of this hardware modification, I only give an assurance that this hardware modification will function correctly as part of my own personal computer. By using this information leading to the proposed modification you are agreeing to accept full responsibility for any and all circumstances arising from it's implementation. If you do not agree with these terms and understand them, do not attempt this modification.

Click here to download Peter Greens original archive.

This information for CPU acceleration is SHAREWARE

This accelerator modification for the Falcon030 was designed to give a little extra processing power to the 68030 CPU and more specifically, to increase the bus through put for FPU intensive programs to take full advantage of my FPU acceleration mod (See FPU_ACEL.ZIP).

Test results using Gembench 3.25

(Note that % varies slightly, dependant on graphics resolution)

CPU 16CPU 18CPU 36
FPU 16FPU 50FPU 18FPU 50FPU 18FPU 50
PVOC-A73.6s55.2s64.5s49.2s58.1s40.6s
PVOC-T2277.7s202.0s237.4s180.7s213.5s144.9s
Float math CPU100%141%120%153%135%180%
Average of CPU+FPU1570%2094%1780%2272%2015%2670%

If you lack electronic experience, don't let this put you off since it won't cost that much to get an experienced friend or even qualified engineer to perform this modification, and should still work out considerably cheaper than any other accelerator board that can be purchased. Approximate cost for parts is under 6.00.

Before you start hacking with your circuitry, it's worth noting that my CPU is clearly labelled as a 16Mhz device (denoted by '16' at the end of it's product number), but I have quite happily had my CPU running at 36.4 Mhz, more than twice it's stated operating speed. However, long term 'exposure' to this kind of speed is unknown, and I strongly suggest that a switchable version be made, only switching to high speed when needing high perfromance from the CPU.


Start here


Warning: I strongly advise that you remove the internal IDE drive and disconnect all external devices when performing this modification. As you will be changing clocks, central to the CPU, should you make any errors it is conceivable that data will be lost or the device damaged.

You may find it useful while testing this modification to run your 030 from a television in ST medium resolution, as T.V. set's are protected on their antenna inputs against high voltage,but monitors have direct connections.

First of all I have assumed that you have already had the buffer modification applied to the Falcons clocks, if not then why not?


Buffer modification

If you haven't already got the buffer mod. fitted do this now(!!), and forget about the CPU mod for the moment, making sure that it functions correctly.


Figure 1

In principle, acceleration is extremely simple; just put a faster crystal in place of the old one! However this is not with out it's problems.

Figure 1 shows how simple this can be, just cut one wire and solder in a new oscillator block.By using a 36Mhz block you will have a CPU clock of 18 Mhz (the clock control 'glue' chip divides by 2 before sending the clock to the CPU). However this is a system wide clock, and will change the majority of operations inside the 030. If you have successfully made this modification, after switching on, all will look normal.


Note that if you are using any kind of graphic resolution boosting program (E.g. Falcon Screen, Videl Inside, BlowUp, ScreenBlaster etc.) it is possible that you will find strange things happening to the syncronisation of the monitor.

This is because there are only 2 clocks available for screen driving; 25MHz and 32MHz, and you have just changed the 32MHz to 36MHz!! It is possible that prolonged exposure to "wrong" syncronisation signals could damage your monitor.


In practice I could not see any difference between 32 and 36 Mhz when my screen was set to; 2 colours, 80 columns, double line OFF. The monitor used is an ancient LOW resolution mono which I have converted to run in high resolution VGA. If this can take the pace, anything should be able to!! A reasonable rule of thumb is that if your screen looks stable, then it is stable, but no guarantees.

Back to the plot, all being well you should now have a nice faster 030, but... your keyboard or mouse won't work (pretty fundamental I think!!).


Figure 2

Well, that didn't inspire you with confidence did it? Here's how to do a proper job.

What I haven't mentioned up until now is that any change in CPU clock will also make the MIDI ports, keyboard and mouse un- usable (!!), just a 'slight' problem......

This is beacause the 500 Khz clock which feeds both the 6850 serial keyboard driver and the 6850 serial MIDI driver comes from the glue chip and is clock/64, therefore at 36 Mhz the clock is now 562.5 Khz.

You must first locate 'U 52' (6850) which is the serial interface for the keyboard, this can be found just above the recess in the PCB where the mouse and joy stick sockets are placed when the keybaord is removed (Bottom right).

Now the tricky bit, you must find and cut pin 3 on this chip and bend it upwards, leaving enough pin left to be soldered to. Check this connection first with a continuity tester, it will have a direct connection to pin 23 on the expansion socket 'J 20' It will also have a direct connection to 'U 24',(6850) pins 2+3, which is located underneath the power supply and just right of the ROM ports and slightly below the MIDI sockets.(This is the MIDI serial converter). Now solder a wire between pin 3 of U 24 and pin 3 of U 52, and another wire which from one of these two points which will be the new 500 Khz input.

There is no easy way to do the next part, coming out of the 'GLUE' chip 'U 56' is a PCB track which must be cut, this is very small and there are lots of tracks on this part of the PCB. This can be found between the 68030 (U 55) and the GLUE chip (U56). There is a wire that runs out of U 56 just underneath R 217, it then takes a sharp bend before straightening again and is terminated by a small 'through PCB' hole about 0.75 cm to the right of 'U 55' 68030. Before cutting carefully check that this is in fact the correct connection with a continuity tester and that it has zero resistance between pins 2+4 on 'U24' and pin 3 on 'U52', and pin 23 on the expansion socket 'J 20 ' (just left of the CPU U 55, and forth pin to the left on the bottom row).If you are satisfied that you have found the right wire then cut it about 1cm infront of the through-PCB hole.


Figure 3

Now that you have separated the two serial drivers from the clock on the glue chip (U 56) they must now be fed with a new 500Khz clock. By far the best option would be to use a ripple counter chip to divide the 32 Mhz clock (74HC4024), I simply didn't have one fast enough (an HC device MUST be used) so I used a small 500 Khz ceramic resonator (crystal) and buffered it using a CMOS 4069UB chip in stead. Both circuits are included in the image file.


Figure 4

This circuit is very straight forward, it comprises just 2 chips and a switch. A 74HC08 AND gate is used as a means of switching on/off the clock sources. The gate used to switch the 32Mhz clock is kept at high level by a 10K pull-up resistor, keeping this clock permanently on, this same pin is also fed to one NOR gate in the 74HC02, which is used here simply as an inverter. This inverted signal is then fed to the control input of the 36 (40) Mhz clock source, this enables the two clocks to be instantly switched between simply by shorting to 0V the pull- up voltage from the 10K resistor. The outputs of the two AND gates are then fed to the two inputs of one of the NOR gates 74HC02, strictly speaking this should then be inverted since the gate is a NOR rather than an OR, but in practice this makes no difference at all, I actually chose not to invert the clocks again to keep them as clean as possible.

I also chose to mount my 36.4Mhz oscillator block on the same piece of VERO board that these 2 chips were mounted, the whole thing measures around 5 X 6 cm, and I have located this just left of the fan, just below the RAM, where there is a nice little space for it.

While you are at this stage I see no reason why it may not be possible to push the clock even higher, I am not able to test this at the moment since all I have is a 36.4 Mhz block, and my next highest is 45 and 48Mhz osc.blocks which do not work. I can imagine getting up to 40Mhz or even around 42Mhz if you're really lucky!

Switch-over is pretty much rock solid, and you'll have to switch about 10-15 times at high speed to cause a crash, so in normal use this will not happen. If you encounter problems, or are paranoid about a crash happening during important work, there is a very reliable solution; disable all processing, see below.


You only need to do this if you have problems


Fortunately there is a convenient 'process halt' built into the system designed to allow expansion boards. This is very handy since to use this it will require no soldering or cutting of the PCB. To locate this, look just left of the CPU (U 55, 68030) where you will find 2 rows or pins labelled 'J 20'. Plugged into this you will find a small plastic jumper plug, you will also notice that there is a white mark printed on the PCB to show it's exact position (W 11). This plug should be removed and all that you need now do is connect a switch to these two pins, either soldered directly to the pins, or by using a small plug connected to a switch (as I used).

Using the process switch for CPU clock change

This may seem a little awkward to use, but is in fact by far the best option in terms of it's lack of complex switching electronics.

When you want to switch first take the process switch into OFF position, then click or move the mouse until the cursor disappears (or attempt a keyboard command if not running a gem program), the whole processing within the computer is now fully 'frozen'. CPU clock switching can now be performed without harming or crashing the system. Once a new clock has been switched over, the process switch should then be put back to the 'ON' position. Instantly the system will pick up from the last point you were at and continue at the new speed. This process must be repeated when ever a new clock speed is required.

Floppy Problems?

I have not yet experienced problems of any kind relating to the floppy drive (format, copy disk image, copy files etc.) It is possible that you could get trouble, but so far at 36Mhz my floppies are happy. Floppy writing has not been tested at 40Mhz, as I've yet to obtain a 40 Mhz block, please consult the text relating to protecting floppies contained within 'FPU_ACEL.ZIP' if you go to 40 Mhz and find problems. You can obtain a 16 Mhz clock from pin 12 of the 74HC4024 chip used to give a 500Khz clock to the Keyboard and MIDI ports. Only do this if you need to!

Music sample rates

If you are using the AD/DA converters for musical use, it is possible that sampling rates will be effected. However I have tested 49, 32, 24, 19, 16 Khz at both 16Mhz and 18Mhz (36Mhz) and found no audible pitch change at all. I even switched from 16 to 18Mhz during a recording! I found NO problems or obvious pitch shift at all, everything seemed as normal

If an external digital source is used for music, this should never be a problem since 44.1 Khz provides it's own external clock to the DSP port, also the DSP has it's own dedicated 32 Mhz clock which cannot be changed.

It is also possible that there will be tempo changes (B.P.M.) within sequence programs. 'LOGIC AUDIO' and 'NOTATOR LOGIC' have been tested and do not suffer tempo problems. 'CUBASE AUDIO', and others have not been tested.


Shareware


All files in this archive, are protected by copyright. The author does however, reserve full copyright of this modification. The archive may be distributed freely, so long as all the files are distributed together in a single archive.

Anyone using this information to carry out the described modifications should register with the author. If you register you will not only get enormously large warm feeling inside, but will also be sent (if requested) details of further modifications regarding changing the microphone inputs and headphone output to give standard line levels, and a (simple, but powerful) noise reduction circuit, and/or FPU acceleration. (Please state).

If you find my information useful please register with me by sending me 5 - 15 (U.K.). I need your registration fees !!! I'm a humble student trying to save up for my Masters Degree; there's no government grant, and I don't come from a rich family! WAKE UP! education is the life blood of a healthy society.

To register, or send any donations to help put me through University, contact;

  Peter Green
  179 Church Road
  Kessingland
  Lowestoft
  Suffolk
  NR33 7SG
  ENGLAND

Please feel free to add comments or possible updates concerning CPU acceleration (e.g.if ATARI ever produce a Falcon 040 ),and if necessary additional graphic images to this archive, but the full original documentation must remain intact; any additional material must be clearly labelled in a folder separate to the original. I do however give my permission for additional material to be re-archived with the original files into one new archive with a new name (e.g. CPU_ACL2.ZIP).

And finally... Build a wind generator, you know it makes sense!

They don't make noise (far,far less than cars, air planes, trains, BIRDS, WIND!! )I recently visited a local generator which was spinning very fast in a strong wind and took note of it's noise level. I then walked less than 20 meters to a group of 2 or 3 averaged sized trees blowing in the wind, and was absolutely astonished to find that the generator was completely swamped by the noise of these trees blowing in the wind, the turbine could not be heard above the sound of the trees at all!

What does this say for the main argument of the anti-wind lobby?

VOTE GREEN!!
PETER GREEN 27/6/95


HTML-version by Jo Even Skarstein