Tuesday, June 16, 2020

Optimising the Furia

I have an Amiga A600. I also have the Furia accelerator.

I have been using it for over a week now, and even without any optimisation it is plenty fast. Fast enough to run Gloom in full-screen, which I never thought possible on the A600.

Then I got to thinking... Could it be improved even further? There is a tool that comes with it, a tiny little command called 'furiatune'. This goes in your C: folder, and has a number of options to help get the best out of the card:


The ones I am interested in are:

shadowrom: This creates a copy of the existing Kickstart ROM in Fast RAM and runs it from there. This speeds up WorkBench considerably. The RAM on the Furia is particularly fast. So fast in fact, it actually outperforms some accelerators which use the 68030. You can also use the maprom function to load a specific ROM file, and this works in a similar way. Since I already have Kickstart 3.1.4, I am fine using the existing one.

ide on: This speeds up the IDE interface. I did read some forum posts which suggest this only works on revision 1.0 motherboards. I am not so sure about that. With this enabled on my A600 - a rev 1.5 machine, the drive speed jumps from about 500KB/s to nearly 2MB/s.

addmem: This adds an extra 1.5MB of Fast RAM. No idea where this comes from, but more RAM is never a bad thing.

To automate this, I have made some changes to my startup-sequence. With the help of this forum post, I have added these few lines before anything else:



C:furiatune >RAM:furiatune.log status
C:Search >NIL: RAM:furiatune.log "no furia"
If WARN
    C:Search >NIL: RAM:furiatune.log "ShadowROM is active"
    If WARN
        C:furiatune >NIL: shadowrom reboot
    EndIf
    C:furiatune >NIL: ide on addmem
EndIf
C:Delete >NIL: RAM:furiatune.log

This could have been a lot shorter, but because I sometimes boot my system in WinUAE I didn't want it to throw up any errors. Here's what it does...

C:furiatune >RAM:furiatune.log status

- Creates a temporary file in RAM: containing the status of the Furia card.

C:Search >NIL: RAM:furiatune.log "no furia"

- Searches the log file for the text "no furia". This tells the script whether or not there is a Furia present.

If WARN
    C:Search >NIL: RAM:furiatune.log "ShadowROM is active"

- If there is, check the log file to see if shadowrom is already active.

    If WARN
        C:furiatune >NIL: shadowrom reboot
        EndIf 

- If it isn't, activate shadowrom and reboot the system. I found that if I didn't reboot, I would get errors and the system would not boot properly.

    C:furiatune >NIL: ide on addmem
EndIf

- If shadowrom is active, activate ide on and addmem to speed up the IDE interface and add more RAM.

C:Delete >NIL: RAM:furiatune.log

- Deletes the temporary log file and the rest of the startup-sequence continues.

Some people find it necessary to alter the line that launches SetPatch and add the option NOROMUPDATE, but since I am still using the same Kickstart ROM, I didn't feel it necessary and the system works just fine without it.

Once I'd made these changes, disk access was noticeably quicker and the desktop felt a lot snappier - even in hi-res interlaced mode! 

No comments:

Post a Comment