"what-if" QL extended graphics
Re: "what-if" QL extended graphics
Also the ula sees the 16 lower bits of the address bus multiplexed 8bits at a time, so even with A18 and A19 available memory access in the ula bus would not be optimal.
So I got all the signals but not at the same time.
The way to go is to use a new bus on a pcb that hosts the cpu and the ula and plugs in both their sockets. I use a double frequency clock internally in the cpld to read the multiplexed lines faster. I use 15Mhz steps in the ula and also access the shadow memory at that speed.
I maybe could disable the 128K dram but there would be no big improvement there, the ula still needs to steal cycles to read the common memory but now it does it very fast and refreshes the dram at the same time (without reading from it very faster). With a fpga I could implement a true dual bus video memory. So I would like to use a fpga in the future, I'll do some research when I find some time.
So I got all the signals but not at the same time.
The way to go is to use a new bus on a pcb that hosts the cpu and the ula and plugs in both their sockets. I use a double frequency clock internally in the cpld to read the multiplexed lines faster. I use 15Mhz steps in the ula and also access the shadow memory at that speed.
I maybe could disable the 128K dram but there would be no big improvement there, the ula still needs to steal cycles to read the common memory but now it does it very fast and refreshes the dram at the same time (without reading from it very faster). With a fpga I could implement a true dual bus video memory. So I would like to use a fpga in the future, I'll do some research when I find some time.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
-
- Font of All Knowledge
- Posts: 4653
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: "what-if" QL extended graphics
Hi,
Could the Video Ram be separate from the rest of the QL Ram, with the existing 128K still available?
Could the Video Ram be separate from the rest of the QL Ram, with the existing 128K still available?
Regards,
Derek
Derek
Re: "what-if" QL extended graphics
Yes, but that wouldn't hinder replacing the video RAM.M68008 wrote: Fri Apr 07, 2023 6:25 pm The ULA gets 18 of the 20 address lines, so without extra connections it's limited to the original 128 KB of RAM.
I know, but still don't see why you think that video RAM can not be replaced via the ULA socket.lliont wrote: Fri Apr 07, 2023 7:32 pm Also the ula sees the 16 lower bits of the address bus multiplexed 8bits at a time, so even with A18 and A19 available memory access in the ula bus would not be optimal.
And with RASL/CASL of the QL's DRAM inactive, the multiplexer could be switched faster. I might overlook something, but I think even zero waitstates is doable despite the multiplexers.
Re: "what-if" QL extended graphics
Yes the standard video ram can be replaced but there is no point to do so (that is what I should have said).
I'm not sure if it can be done without a single wait state.
I already run at twice the cpu frequency and I looked at my code and I take the DTACK low at the first cpu cycle after DSMC goes low, I'm not sure this is detected by the cpu at the same cycle or at the next.
If not on the ula bus the DTACK could have been driven low at half the cpu cycle.
So either there is a lost cpu cycle independent of ram type or there is not and so no need to replace video ram anyway.
I'm not sure if it can be done without a single wait state.
I already run at twice the cpu frequency and I looked at my code and I take the DTACK low at the first cpu cycle after DSMC goes low, I'm not sure this is detected by the cpu at the same cycle or at the next.
If not on the ula bus the DTACK could have been driven low at half the cpu cycle.
So either there is a lost cpu cycle independent of ram type or there is not and so no need to replace video ram anyway.
Last edited by lliont on Sat Apr 08, 2023 5:38 pm, edited 2 times in total.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
Re: "what-if" QL extended graphics
And it is a bit more complicated, don't forget that ula in this bus has to check for the dsmc suddenly going high again by an expansion card and abort it's operation. So it can not function arbitrary fast or it will not give the card access.
If it controlled all the ram and not the 128K it could ignore the dsmc for the ram range.
If it controlled all the ram and not the 128K it could ignore the dsmc for the ram range.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
-
- Font of All Knowledge
- Posts: 4653
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: "what-if" QL extended graphics
Hi,
Would it be possible to have the the ULA Video Ram switched in or out, with the QL Ram, sort like a Second Screen area, like on Minerva.
So that graphics ca be written to the screen are that is not being used and paged in or out.
Would it be possible to have the the ULA Video Ram switched in or out, with the QL Ram, sort like a Second Screen area, like on Minerva.
So that graphics ca be written to the screen are that is not being used and paged in or out.
Regards,
Derek
Derek
Re: "what-if" QL extended graphics
One could add many video ram pages and switch them.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
Re: "what-if" QL extended graphics
I agree inasmuch great speed can not be achieved with the 68008 anyway. And for myself, I see no point in optimizing it.lliont wrote: Sat Apr 08, 2023 12:14 am Yes the standard video ram can be replaced but there is no point to do so (that is what I should have said).
But if the 68008 system is to be optimized, replacing the video RAM can
- eliminate DRAM refresh
- eliminate DRAM access waitstates
- use dual port RAM for screen refresh
Certainly a moderate speed gain.
It is indeed critical to find the right sampling point for DSMCL. There must be some specification how fast an external device has to pull DSMCL high, but I can not find it right now. (It is debatable if an expansion card in the video adress range needs to be expected at all.)
Re: "what-if" QL extended graphics
With the shadow ram I used the dram refresh is no more slowing the video ram access because it is done in the same time the ula reads the data to draw the screen and does not extend it at all. That is why I got about 30% speed increase in video ram access. The only way to do a little better if you replace the video ram with a dual bus ram. The speed gain is obvious when running games and even when you do a dir or list. For standard QLs the faster screen scrolling is a nice feeling.
But I agree for much more serious speed and capabilities you have to replace the 68008 and the 8bit bus.
But I agree for much more serious speed and capabilities you have to replace the 68008 and the 8bit bus.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
Re: "what-if" QL extended graphics
Plus, one could (likely) also shorten access time.lliont wrote: Sat Apr 08, 2023 8:30 pm With the shadow ram I used the dram refresh is no more slowing the video ram access because it is done in the same time the ula reads the data to draw the screen and does not extend it at all. That is why I got about 30% speed increase in video ram access. The only way to do a little better if you replace the video ram with a dual bus ram.
I find this interesting, inasmuch the QL has dual 8 bit bus for ROM and RAM anyway, suitable for the 68000! This is the way the QL should have been designed in 1983. Without the useless coprocessor, and just one serial, but a 68000. Which would not have cost more, while being a much more powerful machine.lliont wrote: Sat Apr 08, 2023 8:30 pm But I agree for much more serious speed and capabilities you have to replace the 68008 and the 8bit bus.