FPGA Spectrum Project
-
- Drutt
- Posts: 36
- Joined: Tue Aug 04, 2020 7:29 pm
Re: FPGA Spectrum Project
Thats great information, thanks. As for the repo - I thought I had made it public - Now fixed
Re: FPGA Spectrum Project
and what, ready-made hex files can not be laid out ??
Sources are great, but not all Linux systems, and of course you can run the Makefile under Windows, but it's very, very difficult
Sources are great, but not all Linux systems, and of course you can run the Makefile under Windows, but it's very, very difficult
-
- Drutt
- Posts: 36
- Joined: Tue Aug 04, 2020 7:29 pm
Re: FPGA Spectrum Project
I wouldn't expect anyone to want to view the hex files at all, but yes I can format them more neatly, just I had some initial difficulties importing srecords into verilog compiler, and this kind of worked, so I left it. Until speaking to yourself and [mention]ketmar[/mention], I had not imagined I would share quite so quickly, so yes there is probably more cleanup work needed. This had fallen into a - it works, so no need to fix it yet - tech debt
Thanks for the comments so far.
Thanks for the comments so far.
Re: FPGA Spectrum Project
i only need 2 files:zxmicrojack wrote: ↑Fri Aug 14, 2020 10:17 am I wouldn't expect anyone to want to view the hex files at all
hyperloader.hex & bios.hex
to check if the assembly is correct
Spoiler
Legendary DE1 !!!
Is this the menu ??
And of course, you need an archive of files that must be written to the SD card
Last edited by azesmbog on Fri Aug 14, 2020 8:16 pm, edited 2 times in total.
- DouglasReynholm
- Manic Miner
- Posts: 349
- Joined: Wed Feb 20, 2019 8:38 pm
Re: FPGA Spectrum Project
Older members of this site will know I've gone on about this before, so I hope they can forgive me for mentioning it one last time..
But I find it so bloody frustrating that I worked for Altera for 7 years, and tried to get the retro computing/gaming sceners interested in FPGA for so long, only to be met with blank stares..
"What's an FPGA!?"..
Now I'm well out of touch with the technology (worked for a couple other FPGA manufacturers, finally left the electronic industry behind in 2011 completely) and everyone has finally embraced the tech. And I can't really help like I could have back then.
I still have some 'insider' insight if anyone newer to the tech needs any clarity on anything (feel free to ask/pm) but I'm disappointed that I could have been much more useful to the community had things taken off a bit earlier - dev kits, tools, advice etc, all of which I had in my power to give away!
There, I've finally said it. Ghost can be laid to rest.
(Altera are now Intel FPGA, and I suspect due to Intel struggling with node tech, are now suffering)
Edit: just seen post above. Had 10 DE1's to give away at one point, no questions asked!
But I find it so bloody frustrating that I worked for Altera for 7 years, and tried to get the retro computing/gaming sceners interested in FPGA for so long, only to be met with blank stares..
"What's an FPGA!?"..
Now I'm well out of touch with the technology (worked for a couple other FPGA manufacturers, finally left the electronic industry behind in 2011 completely) and everyone has finally embraced the tech. And I can't really help like I could have back then.
I still have some 'insider' insight if anyone newer to the tech needs any clarity on anything (feel free to ask/pm) but I'm disappointed that I could have been much more useful to the community had things taken off a bit earlier - dev kits, tools, advice etc, all of which I had in my power to give away!
There, I've finally said it. Ghost can be laid to rest.
(Altera are now Intel FPGA, and I suspect due to Intel struggling with node tech, are now suffering)
Edit: just seen post above. Had 10 DE1's to give away at one point, no questions asked!
-
- Drutt
- Posts: 36
- Joined: Tue Aug 04, 2020 7:29 pm
Re: FPGA Spectrum Project
That's amazing - yes thats the menu - for some reason it's not importing the font...
I shared my hex files, and the rom binaries. Place them in the data directory and ./mkcard.sh. Write this to the SD card and go. will work to get more assemblers working, out of interest, which one are you using?
https://drive.google.com/drive/folders/ ... sp=sharing
I wrote some small readme last night. Really happy you're trying out my code!
https://gitlab.com/zxmicrojack/fpga-spe ... README.txt
Some keys:
'`' (button to left of 1 on my uk keyboard) switches to a debug screen, pressing F10 will dump out the registers - no clues as to which is which but its the REGset to T80pa.
F11 will start/stop tape playing with which ever tape you selected - not needed with hyperloading.
F9 will bring up main menu.
F8 and F7 are for single stepping through ROMs for debugging problems - has to be activated in code as yet - messy, but works.
F6 is mutiface 128 nmi button
F5 is multiface 1 nmi button.
number keys (normally cursors on zx keyboard) will move up and down and page up and down on menus. 0 selects.
hexdump mode 'x' exits, I think 1/2 moves through page memories.
I shared my hex files, and the rom binaries. Place them in the data directory and ./mkcard.sh. Write this to the SD card and go. will work to get more assemblers working, out of interest, which one are you using?
https://drive.google.com/drive/folders/ ... sp=sharing
I wrote some small readme last night. Really happy you're trying out my code!
https://gitlab.com/zxmicrojack/fpga-spe ... README.txt
Some keys:
'`' (button to left of 1 on my uk keyboard) switches to a debug screen, pressing F10 will dump out the registers - no clues as to which is which but its the REGset to T80pa.
F11 will start/stop tape playing with which ever tape you selected - not needed with hyperloading.
F9 will bring up main menu.
F8 and F7 are for single stepping through ROMs for debugging problems - has to be activated in code as yet - messy, but works.
F6 is mutiface 128 nmi button
F5 is multiface 1 nmi button.
number keys (normally cursors on zx keyboard) will move up and down and page up and down on menus. 0 selects.
hexdump mode 'x' exits, I think 1/2 moves through page memories.
-
- Drutt
- Posts: 36
- Joined: Tue Aug 04, 2020 7:29 pm
Re: FPGA Spectrum Project
[mention]DouglasReynholm[/mention] I always knew what FPGA was even back at uni - their usefulness was never lost on me, and we used them on some early PVR STBs in my former life. This is the first time I've been able to play with them, and is fulfilling a 25+ year ambition to do something meaningful with them. My problem is when I tell my colleagues at work - all technical, all developers with years of experience, they just don't understand... So what CPU is it? Is FPGA the CPU? Oh yes, I did some assembler at uni - x86.
So I showed them pictures of the thing working with their favourite spectrum games.... they said.... so it's an emulator. (facepalm). Its a logical replica running on an actual z80 IP core.... Frustrating that few people understand what I've been doing... but I think I'm in good company here.
FPGAs are the future, and it will explode in all directions I think due to this market.
PS - any FPGA board you have no longer use for I would gladly take off your hands
So I showed them pictures of the thing working with their favourite spectrum games.... they said.... so it's an emulator. (facepalm). Its a logical replica running on an actual z80 IP core.... Frustrating that few people understand what I've been doing... but I think I'm in good company here.
FPGAs are the future, and it will explode in all directions I think due to this market.
PS - any FPGA board you have no longer use for I would gladly take off your hands
Re: FPGA Spectrum Project
I always use SJAsm + assembler under Windows.zxmicrojack wrote: ↑Sat Aug 15, 2020 3:21 pm will work to get more assemblers working, out of interest, which one are you using?
hyperloader.hex was compiled correctly for me, but bios.hex already started to diverge from about 300 addresses (unless, of course, the versions coincide. I compiled the first version, could you send the last one?)
That's what I did
https://drive.google.com/file/d/16261nu ... sp=sharing
With your hex files, the menu is normal.
But there are still many problems. Firstly, if I upload a file to the devboard, then after each upload, I get 4 options in succession:
1 - Screen with Dan Dare
2 - Screen without menu, but with an inscription at the top - Loading roms from sdcard
3 - Sometimes full menu screen - Main Menu (rare)
4- Vertical red stripes (after pressing F5 / F6 - turn blue) - this is most often.
And so in a circle, twice in a row it was not the same thing.
On DE1, SDRAM memory is 12-bit, only 8 MB, I hope this is not enough?))
Yes, the LED always blinks, about 1 time per second.
Now on SDcard.
Will it be enough to simply format in FAT / FAT12 - and write files with ROM to it, or should there be some kind of file system of its own?
Uploaded 50 more times. Understood a little.
If Dan Dar is loaded - then by F9 you can go to the main menu.
When starting a memory test of all pages, it hangs on testing the 8th page.
This is normal?
-
- Drutt
- Posts: 36
- Joined: Tue Aug 04, 2020 7:29 pm
Re: FPGA Spectrum Project
The board I am using has 32MB of SDRAM, so it's probably from the high bit addresses I set in main.v.
`define PAGEMEM24_23 2'b11
`define PAGEMEM24_22 3'b110
These set the bit 24-23 of the address bus. With the DE1 with 8MB of SDRAM, then it should ignore the top bits. I set it to the top 8MB because there seemed to be some bit faults on the SDRAM on the board I bought. Page 8 would be 32Kb * 8 = 256Kb, which makes no sense. Though I suspect it may be that your board uses a different SDRAM device, then it will not be properly driven using the controller of my device. Mine is a W9825G6KH-6, which is a 16Mx16 part, whereas DE1 says it's 1Mx16x4banks - seems like there should be some different config for this device. Maybe one of the pins is misconnected? What happens if you hit F12? Stupidly I forgot to mention most importantly that the power on reset seems to be quite flaky since I corrected the timings. F12 will reset the board as normal, and jump into 48k spectrum mode.
For SD card, lazily I've not implemented a fat filesystem yet, so I have a proprietary one. In tools directory there should be a *mkfs* tool, if you build this directory, change to data directory, unpack the roms from the zip file on the link I supplied, then ./mkcard.sh you should be able to make an image which you would then just write to an SDcard. I use *dd* on linux, but I expect you could use windd on your side.
Just tried it now, and I noticed a bug with the script - it's using the wrong file reference for mkfs, I corrected it, so pull the repo it should be fixed now. I also uploaded an SDcard image to the above link. I also noticed that I shipped a few TAPs and OPDs along with the target ROMs in the repo by accident. I'll leave them for now.
I'll download your assembler and try to correct the faults - for now just use the hex file I supplied.
Just checked and seems to be a lot of incompatible changes between the two, would be difficult to keep compatibility for both. Could you try to use the windows version of z88dk ?
https://sourceforge.net/projects/z88dk/files/z88dk/2.0/
`define PAGEMEM24_23 2'b11
`define PAGEMEM24_22 3'b110
These set the bit 24-23 of the address bus. With the DE1 with 8MB of SDRAM, then it should ignore the top bits. I set it to the top 8MB because there seemed to be some bit faults on the SDRAM on the board I bought. Page 8 would be 32Kb * 8 = 256Kb, which makes no sense. Though I suspect it may be that your board uses a different SDRAM device, then it will not be properly driven using the controller of my device. Mine is a W9825G6KH-6, which is a 16Mx16 part, whereas DE1 says it's 1Mx16x4banks - seems like there should be some different config for this device. Maybe one of the pins is misconnected? What happens if you hit F12? Stupidly I forgot to mention most importantly that the power on reset seems to be quite flaky since I corrected the timings. F12 will reset the board as normal, and jump into 48k spectrum mode.
For SD card, lazily I've not implemented a fat filesystem yet, so I have a proprietary one. In tools directory there should be a *mkfs* tool, if you build this directory, change to data directory, unpack the roms from the zip file on the link I supplied, then ./mkcard.sh you should be able to make an image which you would then just write to an SDcard. I use *dd* on linux, but I expect you could use windd on your side.
Just tried it now, and I noticed a bug with the script - it's using the wrong file reference for mkfs, I corrected it, so pull the repo it should be fixed now. I also uploaded an SDcard image to the above link. I also noticed that I shipped a few TAPs and OPDs along with the target ROMs in the repo by accident. I'll leave them for now.
I'll download your assembler and try to correct the faults - for now just use the hex file I supplied.
Just checked and seems to be a lot of incompatible changes between the two, would be difficult to keep compatibility for both. Could you try to use the windows version of z88dk ?
https://sourceforge.net/projects/z88dk/files/z88dk/2.0/
-
- Drutt
- Posts: 36
- Joined: Tue Aug 04, 2020 7:29 pm
Re: FPGA Spectrum Project
Just wondering - 8 pages of 32kb, would make 256kb - totally out for the 8mb SDRAM, but about the right ballpark for the 512kb SRAM. This has a 16 bit databus, if you are using only 8 bits of that, that would make total sense. Few of the designs for the DE1 I've seen use the SDRAM.