TT Rom access speedup

The latest tweaks and fixes to keep your machine running in tip-top shape.
guus.assmann
Posts: 94
Joined: Sat Sep 23, 2017 8:52 pm
Location: Ede Netherlands

TT Rom access speedup

Post by guus.assmann »

Hello,

So far I've tried this sucessfully on 3 different TT machines and it works well.
It only takes two diodes, Germanium or Schottky (Bat 48).
Connect the anode of one diode to XDS0 and a second diode to XDS1.
These signals can be found on the ST-Ram board pins 15 and 16 of the C row, connector to the front of the TT.
Next, connect both cathodes together and wire these to the CS of an Eprom. (Just any Eprom will do, it's pin 20)
The boards I tested had either Eproms with 120nS, 150nS or Flash (placed by me) with 90nS access time.
Slower Eproms most likely will not do.

The result is much faster Eprom access.
Gembench shows increase of speed, but not a real value. (On average 20 to 30% depending on the base of comparison and GB version)
Windows will pop-up much faster and boot time will decrease.
It is possible to connect a switch in the cable to the CS of the Eproms, to go back to "normal" speed.
This hardware has about the same speed increase as a copy of the OS to fastram will give.
Advantages are no Ram usage and very small cost. Switching is also very easy.

BR/
Guus
User avatar
exxos
Site Admin
Site Admin
Posts: 23495
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TT Rom access speedup

Post by exxos »

Interesting. I did try reprogramming one of the gals in a mate once to do the same, but the sources for them were buggy :(

Can you post GB screenshot ?
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
stephen_usher
Posts: 5580
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: TT Rom access speedup

Post by stephen_usher »

There was a fastROM program which copied the ROM into RAM and then set the processor translation tables to map that RAM into the ROM's address space. I can't remember is it was called fastrom or romfast. I think it maybe on one of the atari.archive.umich.edu mirrors.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
Atarian Computing
Posts: 444
Joined: Tue Aug 22, 2017 4:27 am

Re: TT Rom access speedup

Post by Atarian Computing »

This is very interesting and I'd like to hear a TLDR on how this makes this possible. Any downsides? Sounds simple enough, why/how would Atari not utilize this themselves? Not questioning or anything and am looking forward to trying it out.
User avatar
stephen_usher
Posts: 5580
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: TT Rom access speedup

Post by stephen_usher »

Atarian Computing wrote: Thu Mar 07, 2019 9:11 am This is very interesting and I'd like to hear a TLDR on how this makes this possible. Any downsides? Sounds simple enough, why/how would Atari not utilize this themselves? Not questioning or anything and am looking forward to trying it out.
Well, it takes RAM, which in an unexpanded TT is in short supply. These days it's not an issue.

Of course, if you use Magic or MiNT with memory protection these will rewrite the 68030 translation table and you'd lose the redirection. Having said that they use less and less of the ROM, replacing the ROM routines and usually AES as well, so it's not an issue.

I'm surprised that so little use of the CPU's MMU has been made, especially to help with ST compatibility.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
Atarian Computing
Posts: 444
Joined: Tue Aug 22, 2017 4:27 am

Re: TT Rom access speedup

Post by Atarian Computing »

stephen_usher wrote: Thu Mar 07, 2019 11:55 am
Atarian Computing wrote: Thu Mar 07, 2019 9:11 am This is very interesting and I'd like to hear a TLDR on how this makes this possible. Any downsides? Sounds simple enough, why/how would Atari not utilize this themselves? Not questioning or anything and am looking forward to trying it out.
Well, it takes RAM, which in an unexpanded TT is in short supply. These days it's not an issue.

Of course, if you use Magic or MiNT with memory protection these will rewrite the 68030 translation table and you'd lose the redirection. Having said that they use less and less of the ROM, replacing the ROM routines and usually AES as well, so it's not an issue.

I'm surprised that so little use of the CPU's MMU has been made, especially to help with ST compatibility.
No, sorry I meant Guus' diode blackmagicfäckery
guus.assmann
Posts: 94
Joined: Sat Sep 23, 2017 8:52 pm
Location: Ede Netherlands

TT Rom access speedup

Post by guus.assmann »

Hello,

The how and why is very simple. 8-) Once you know it.
Back in the days that the TT was designed, the Eproms where quite expensive and not so fast. 200nS or less.
Also, Atari may have anticipated using Mask-Roms. Those were kind of slow also.
To still use the slower devices, wait states were the solution.
The complete memory cycle of the Rom access is handled by the MCU.
This chip generates the ROM Select signals as well as the XDS0 and XDS1 signals that complete the memory cycle.
Using the diodes, the XDS0 and XDS1 signals are generated once the CS signal is at the Eprom-Chipselect.
This circumvents the MCU signal generation that's delayed to get the longer access time.
The D-FF (74F74) circuit U116 takes both XDS0 and XDS1 and generates the /DSACK0 and /DSACK1 for the 68030. The clock to these FF's is a 16Mhz one.
So with the diodes, the ROM access is increased from about 8Mhz cycle to 16Mhz cycle.

Using GemBench, the increase is not so spectacular.
Keep in mind that ROM access is only part of what's going on in the computer.
I've also measured machine boot time.
In my particular situation it went from 11,02 to 10,77 seconds. Not spectacular but ok.
However the windows open significantly faster.

To be sure that negative effects can be tackled, I have a switch in series with the wire between the diodes and the /CS.
Later I managed to get a PAL in the circuit, so there's no high speed signals on long wires.

Of course Ram is not really an issue, but a larger amount is not as cheap as 2 diodes and a bit of quality time modding a TT. :)

BR/
Guus
Atarian Computing
Posts: 444
Joined: Tue Aug 22, 2017 4:27 am

Re: TT Rom access speedup

Post by Atarian Computing »

guus.assmann wrote: Thu Mar 07, 2019 2:22 pm Hello,

The how and why is very simple. 8-) Once you know it.
Back in the days that the TT was designed, the Eproms where quite expensive and not so fast. 200nS or less.
Also, Atari may have anticipated using Mask-Roms. Those were kind of slow also.
To still use the slower devices, wait states were the solution.
The complete memory cycle of the Rom access is handled by the MCU.
This chip generates the ROM Select signals as well as the XDS0 and XDS1 signals that complete the memory cycle.
Using the diodes, the XDS0 and XDS1 signals are generated once the CS signal is at the Eprom-Chipselect.
This circumvents the MCU signal generation that's delayed to get the longer access time.
The D-FF (74F74) circuit U116 takes both XDS0 and XDS1 and generates the /DSACK0 and /DSACK1 for the 68030. The clock to these FF's is a 16Mhz one.
So with the diodes, the ROM access is increased from about 8Mhz cycle to 16Mhz cycle.

Using GemBench, the increase is not so spectacular.
Keep in mind that ROM access is only part of what's going on in the computer.
I've also measured machine boot time.
In my particular situation it went from 11,02 to 10,77 seconds. Not spectacular but ok.
However the windows open significantly faster.

To be sure that negative effects can be tackled, I have a switch in series with the wire between the diodes and the /CS.
Later I managed to get a PAL in the circuit, so there's no high speed signals on long wires.

Of course Ram is not really an issue, but a larger amount is not as cheap as 2 diodes and a bit of quality time modding a TT. :)

BR/
Guus
Awesome. Great explanation, thanks. I guess there wouldn't be long wires on a "PGA" TT with the ROMs next to the ST-RAM connector?
Atarian Computing
Posts: 444
Joined: Tue Aug 22, 2017 4:27 am

Re: TT Rom access speedup

Post by Atarian Computing »

Well I just had to give it a shot. I couldn't get it to work :(

- I found 1N5819 diodes in my box of goodies. They should work, right?
- I guess you meant pin 22 on the rom chips being CS?
- My ROMs are of unknown speed because ThunderStorm sticker. I can peel it off though...

So it just gives 2 bombs on startup or more bombs and CRC error. Are these errors consistent with slow roms?

Josh.

Edit: They're 150ns roms. I will work on flashing a faster one. Gotta read all the chips though...
guus.assmann
Posts: 94
Joined: Sat Sep 23, 2017 8:52 pm
Location: Ede Netherlands

TT Rom access speedup

Post by guus.assmann »

Hello Josh,

The Eproms from ThunderStorm are fast enough, mine are 150nS.
And 1N5819 should work, most important is the voltage drop. ( <0,8V)
However, CS is pin 20 and not pin 22.
Pin 22 is OE and that's permanently connected to GND trough one of the jumpers.
I have not seen any slow Eproms yet. But I've only tested on 3 TT's.
And I've used Germanium diodes. I could test with 1N5819 as well.

BR/
Guus

PS: Attached are the GB files with the speed data.
Attachments
FAST.TXT
(1.29 KiB) Downloaded 252 times
SLOW.TXT
(1.29 KiB) Downloaded 250 times
Post Reply

Return to “TWEAKS & FIXES”