The WireWorld Computer
Baggers
Posts: 3,019
Hi All,
Here is a VGA 800x600 8bit display driver,
It also has a "Game Of Life" style engine in it, with a design that I came across a few years back on the net, at http://www.quinapalus.com/wi-index.html
This also shows writing to the display and reading from the display, whilst displaying an 800x600 image
And this is only running at 60Mhz, with one cog for VGA and one for SDRAM and one for my wireworld engine.
WiredComputer.zip
Edit: removed the -com6 from s.bat
Enjoy, and let me know what you think!
Here is a VGA 800x600 8bit display driver,
It also has a "Game Of Life" style engine in it, with a design that I came across a few years back on the net, at http://www.quinapalus.com/wi-index.html
This also shows writing to the display and reading from the display, whilst displaying an 800x600 image
And this is only running at 60Mhz, with one cog for VGA and one for SDRAM and one for my wireworld engine.
WiredComputer.zip
Edit: removed the -com6 from s.bat
Enjoy, and let me know what you think!
zip
494K
Comments
It give me that error
len=00096436
newlen=00096000
error: hardware lost
Found propeller version 32 on COM9
Loading 'JB_TO_SDRAM_32BIT_TV.obj' at 0x00000e80
..
Opening Comport COM9
Writing to comport
len=00096000
newlen=00096000
Writing to comport
PressAnyKey
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
.........................................
error: hardware lost
Found propeller version 32 on COM9
Loading 'WiredComputer.obj' at 0x00000e80
..
Yes David, that's a great idea, then I can ask you nicely if you could add SDRAM loading into P2Load pretty please with bells on
If you want a hand I'll send you the source for mine, and talk you through it, but it's pretty easy, especially with Chip's SDRAM drivers!
Sadly the zip linked to above gives me: And the demo on the WireWorld pages is in Java which ain't going to run here.
Any video anywhere?
It load but don't show anything
David, Yeah, it's using Chip's standard SDRAM driver, and yes, it keeps the contents long enough to reload new programs etc, so should be fine.
What I do is P2Load my TO_SDRAM obj that has a display to show SDRAM and also chips SDRAM driver, and serial comms, then leaves that active, until you p2load and run your new obj.
You write "Here is a VGA 800x600 8bit display driver,"
But inside zip BMP are for "ww1024x600.bin"
Maybe that is problem --- I use real 800x600 LCD
Chip, After I've eaten, I'll download the zip and check again here make sure nothing has gone amiss.
Exactly same as me
The datasheet says you need to do 8192 refreshs every 64ms, but my expirience is that the SDRAM holds the data over several minutes without refreshing. Then you can see some single bits changing on the screen.
Andy
Counting on SDRAM to hold a data for very long without refresh seems tenuous. Not a good idea for a program at least.
Fortunately we already have a loader methodology for such things using a separate COG. Is the current methodology a problem?
Need a way to gracefully stop the other COG refresh. Something will have to force the clock and other signals off before killing the old COG. The newly started driver should probably do that - it would need to know which COG to stop if any.
Thanks Roy. Guess I haven't paid enough attention.
If you have a DE0-Nano with only one cog, then it is a problem.
I would like to see the SDRAM write handled in the same cog that receives the serial data. I have made subroutines that can write a single Quad and can change that easy to one word.
Mabe we can just set the SDRAM to self-refresh after writing the data?
Andy
Yah, that's true. I'm not sure a one COG device could be supported longer term though.
Does the DE0-Nano image also provide refresh in the FPGA?
Self-refresh is a power-down mode that is not meant to replace normal refresh AFAIK (a reference would be useful if I'm wrong).
@Baggers, I'm looking forward to running your demo.
But loading data into the SDRAM with P2LOAD should not be a problem with a single cog.
Yes Self-Refresh is a powerdown mode but that is the idea: After uploading a file with P2Load set the RAM to self-refresh until you upload another file or a new code with PNUT. The question is: will this work after a Reset, or need we a pullup on the SDRAM CS pin for that?
Andy
I've sorted the issue you were having with a black screen, I had changed the palette to work with the Prop2's internal 8bit mode, thus having to change the colours, I've fixed it with the new P2 palette, and have updated the first post and tested it, by re-downloading it and running the runme.bat
Once we get the full Prop2, I'll speed it up, and maybe ( SDRAM allowing ) add more cogs
Nice idea. Guess it depends on the default state of the programmed pull-ups after cogstop. Chip?