So you are using FPGA block RAM for the whole video memory? How large is it?lliont wrote: Thu Dec 07, 2023 5:42 pm I got a true dual bus internal video ram that fpga accesses at 16bit words totally independent of the cpu that can simultaneously read and write at it.
FPGA replacment for the ZX8301 ULA and more
Re: FPGA replacment for the ZX8301 ULA and more
Re: FPGA replacment for the ZX8301 ULA and more
We wrote simultaneously, I added to my last post.
QL video memory is only 32K so it fits.
QL video memory is only 32K so it fits.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
Re: FPGA replacment for the ZX8301 ULA and more
I think I solved all the timing issues I'll go with the up-scaled 1024x768 @60hz
So to summarize till now we have
10 Mhz 68008 with no stolen cycles performs at least 2X of the standard QL
2MB of ram
QL-SD interface for 1 SD card with 8 drive images (win1 to win8)
VGA output up-scaled at 1024x768 60Hz
256x256 with 16 colors mode, 8 palettes predefined from 64 colors
512x256 with 4 palettes
60 hardware sprites 15colors + transparency
512k flash that for now only contains the QLSD driver and the toolkit in a plcc socket to be easily reprogrammed, it will also contain the various commands about the sprites and the 16 colors and speed control etc
to be done
one or two extra sound channels (maybe also a variation of ones from my Lion computer)
programmable frequency 64bit counter (I promised I'll include one)
read of the current scan line and anything else I'll think that may be useful
I don't have an idea about the real time clock but can I do something about it or it is a totally separate thing?
maybe a blitter ???
maybe because I have some memory left in the fpga make color tiles for the 512x256 mode
compromises
Although it will be a real QL the following will change
I don't believe most of the expansion cards will work mostly because of the 10Mhz cpu speed, if I had to slow for them any speed advantage would be lost. Maybe again I can add a switch to lower the clock to 7.5Mhz to make them work.
Minerva second screen won't work because of lack of another 32K of free internal fpga memory.
So to summarize till now we have
10 Mhz 68008 with no stolen cycles performs at least 2X of the standard QL
2MB of ram
QL-SD interface for 1 SD card with 8 drive images (win1 to win8)
VGA output up-scaled at 1024x768 60Hz
256x256 with 16 colors mode, 8 palettes predefined from 64 colors
512x256 with 4 palettes
60 hardware sprites 15colors + transparency
512k flash that for now only contains the QLSD driver and the toolkit in a plcc socket to be easily reprogrammed, it will also contain the various commands about the sprites and the 16 colors and speed control etc
to be done
one or two extra sound channels (maybe also a variation of ones from my Lion computer)
programmable frequency 64bit counter (I promised I'll include one)
read of the current scan line and anything else I'll think that may be useful
I don't have an idea about the real time clock but can I do something about it or it is a totally separate thing?
maybe a blitter ???
maybe because I have some memory left in the fpga make color tiles for the 512x256 mode
compromises
Although it will be a real QL the following will change
I don't believe most of the expansion cards will work mostly because of the 10Mhz cpu speed, if I had to slow for them any speed advantage would be lost. Maybe again I can add a switch to lower the clock to 7.5Mhz to make them work.
Minerva second screen won't work because of lack of another 32K of free internal fpga memory.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
Re: FPGA replacment for the ZX8301 ULA and more
I finished adding one more sound channel, square wave output with pwm volume control.
a 40bit counter with half cycle of variable number of 1/10Mhz steps,
and hardware vertical scrolling of the whole screen with 1 line resolution.
https://drive.google.com/file/d/1TzNN2Z ... sp=sharing
a 40bit counter with half cycle of variable number of 1/10Mhz steps,
and hardware vertical scrolling of the whole screen with 1 line resolution.
https://drive.google.com/file/d/1TzNN2Z ... sp=sharing
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
-
- QL Wafer Drive
- Posts: 1111
- Joined: Sat Oct 25, 2014 9:53 am
Re: FPGA replacment for the ZX8301 ULA and more
You've excelled yourself (again) Leon!
Whilst I've always liked the idea of Minerva's second screen, I've never actually used it nor played those few games that make use of it...
Whilst I've always liked the idea of Minerva's second screen, I've never actually used it nor played those few games that make use of it...
Re: FPGA replacment for the ZX8301 ULA and more
Well I also found the way to use the 16 colors with basic.
I saw that it can be done in the m68008's demo and searched the ql documentation, it was obscure by I figured it out.
I made the fink command
that takes a value from 0 to 15 and sets the ink.
I'll see if this works with the paper also.
I am so pleased with this.
I saw that it can be done in the m68008's demo and searched the ql documentation, it was obscure by I figured it out.
I made the fink command

I'll see if this works with the paper also.
I am so pleased with this.
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
-
- QL Wafer Drive
- Posts: 1111
- Joined: Sat Oct 25, 2014 9:53 am
Re: FPGA replacment for the ZX8301 ULA and more
...and so you should be Leon!
Really marvellous - I soooo want one (or four!)
Really marvellous - I soooo want one (or four!)
Re: FPGA replacment for the ZX8301 ULA and more
we are getting close
fpaper works as expected
fpaper works as expected
Leon
Projects: https://hackaday.io/projects/hacker/357657
Projects: https://hackaday.io/projects/hacker/357657
-
- Font of All Knowledge
- Posts: 4777
- Joined: Mon Dec 20, 2010 11:40 am
- Location: Sunny Runcorn, Cheshire, UK
Re: FPGA replacment for the ZX8301 ULA and more
Hi,
This looking great, look forward using one.
This looking great, look forward using one.
Regards, Derek