exxos's DFB1 trials
-
stephen_usher
- Site sponsor

- Posts: 7384
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: exxos's DFB1 trials
Interesting that the "RAM Access" speed has dropped to 89%. Cycle mismatch adding wait states?
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.
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.
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: exxos's DFB1 trials
I noticed that as well. It could just be down to the version of MAPROM I am using. I am trying to find out what the proper tools are for the thing :shrug:stephen_usher wrote: 19 Jun 2023 19:47 Interesting that the "RAM Access" speed has dropped to 89%. Cycle mismatch adding wait states?
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: exxos's DFB1 trials
ahhhh so the buffer on the CPU clock, even though is only like 2ns causes that RAM slowdown :shock: :shock:
40MHz re-test without buffers.
With ST536 RAMROM. (BLTFIX doesn't seem to work right it seems as icons are still missing in the first GB6 test)
40MHz re-test without buffers.
With ST536 RAMROM. (BLTFIX doesn't seem to work right it seems as icons are still missing in the first GB6 test)
You do not have the required permissions to view the files attached to this post.
-
Badwolf
- Site sponsor

- Posts: 3043
- Joined: 19 Nov 2019 12:09
Re: exxos's DFB1 trials
Yes, disable flash until you've flashed something.
Yes, the default is a CLKOSC/2 FPU clock.
Yes disrupting the CPU timing could affect RAM speeds, so could fiddling with the clock switching logic as it relies on there being a dead cycle in the 'normal' operation. Switch slightly later and that dead cycle might hit the first access (for example).
No, blitfix won't work. It can't. There are no soft-blitter routines in TOS4.
Otherwise, congrats! It's up and running, albeit the FPU still seems bloody finickity!
:girldance:
BW
Yes, the default is a CLKOSC/2 FPU clock.
Yes disrupting the CPU timing could affect RAM speeds, so could fiddling with the clock switching logic as it relies on there being a dead cycle in the 'normal' operation. Switch slightly later and that dead cycle might hit the first access (for example).
No, blitfix won't work. It can't. There are no soft-blitter routines in TOS4.
Otherwise, congrats! It's up and running, albeit the FPU still seems bloody finickity!
:girldance:
BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: exxos's DFB1 trials
I don't think it is now. It would have to be proven, but I suspect one of the DSACK line is still "low" ( or maybe both ) when the FPU starts it's cycle. The FPU datasheet says there can be a skew between DSACK0/1 . So if DSACK0 is low on the MB and DSACK1 goes low on the FPU, then the CPU completes the bus cycle. When in actualfact the FPU hasn't issued DSACKx yet. It trips up.Badwolf wrote: 19 Jun 2023 22:49 Otherwise, congrats! It's up and running, albeit the FPU still seems bloody finickity!
What I did was to run DSACK via a FF and not allow FPU_CS to go low until both DSACK are high. I'm sure I tried delaying FPU_CS before by a fixed delay and it didn't work. Anyway the fix seems to be working fine.
249% FPU / 40MHz = 6.225 X 16MHz = 99.6% so it's not like the FPU has even been slowed down by anything.
The only issue is, I can't get the CPU to run right at 50mhz. They keyboard repeat doesn't work and it locks up. Though all my cpus were tested on the TF536. I've ran up to 5.30v and tried freezerpray to no avail. So I think something else is tripping up.
I will try some more cpus tomorrow. But 40mhz CPU & FPU works fine , so I'm happy enough to think about putting them in my store soon :)
-
Badwolf
- Site sponsor

- Posts: 3043
- Joined: 19 Nov 2019 12:09
Re: exxos's DFB1 trials
I presume your use of DSACK0 there was just an example? There is no DSACK0 on the expansion port. XDTACK drives DSACK1 on my board (apart from during DSP access).
Waiting for XDTACK to be high for a couple of cycles ought to be sufficient, therefore.
BW
Waiting for XDTACK to be high for a couple of cycles ought to be sufficient, therefore.
BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: exxos's DFB1 trials
I didn't know both wasn't on the port. But haven't looked either. I can try XDTACK. Probably won't make any odds if it's the same signal anyway.
-
Badwolf
- Site sponsor

- Posts: 3043
- Joined: 19 Nov 2019 12:09
Re: exxos's DFB1 trials
DSACKx are derived. XDTACK is what the motherboard provides, so is the better thing to gate against.exxos wrote: 20 Jun 2023 00:53 I didn't know both wasn't on the port. But haven't looked either. I can try XDTACK. Probably won't make any odds if it's the same signal anyway.
If this is genuinely the issue, this should be a very reliable fix and easily backported. :)
BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
-
exxos
- Site Admin

- Posts: 28385
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: exxos's DFB1 trials
Oddly XDTACK doesn't work, but using DSACK0 or 1 does :shrug:Badwolf wrote: 20 Jun 2023 10:08 DSACKx are derived. XDTACK is what the motherboard provides, so is the better thing to gate against.
EDIT:
OK a simple delay on FPU_CS seems to also work.. But I am sure I tried all that on the original board and it didn't work. :shrug:
Though I think I be happier still using DSACK for the delay check.
-
Badwolf
- Site sponsor

- Posts: 3043
- Joined: 19 Nov 2019 12:09
Re: exxos's DFB1 trials
That's interesting, it could mean that the FPU itself is stomping on its own accesses? That said you've changed the whole DSACK[x] logic, as I understand it, so I may be way off-base.
On my boards DSACK[x] was fully derived and there was a dedicated FPU_DSACK input to the CPLD. If you've now gone for an open-collector shared DSACK[x] bus between the CPU and FPU, I don't know what's relaible to sample any more.
BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Who is online
Users browsing this forum: ClaudeBot and 21 guests