Can you do some kind of key combination, if there is no button, to do a warm reset?
I saw some mention of the RESTORE key held for 3-5 seconds would trigger a reset, but I'm unsure if it's a warm or a cold reset.
From my tinkering today, the RESTORE for 3-5 seconds appears to be a cold-reset, as all my little test assembly programs are getting wiped after doing it.
That sounds great!
Hehe, yeah, it's a pretty good feeling getting a reboot that way!
Although since you asked specifically about warm-resets, it made me wonder if that is also possible, maybe Paul might know of a way to do this?
I had a vague memory of reading somewhere (maybe in Paul's blog posts or in the google-docs) that some of the push-buttons of the Nexys board have been allocated some tasks, maybe one was for reset? I'm just not too sure though. Hopefully Paul can confirm when he gets a chance.
I was trying to think of good applications for warm-resets and the only thoughts that came to mind were:
1) warm-reset a game and type in some pokes to add cheats
2) if you were to write and run an assembly app direct to memory via the monitor and it locks up the machine. Maybe a warm-reset would be handy for you to resurrect your code
3) i had a vague memory of it also being possible to resurrect basic apps after a warm reset too
I was having a read of Ben-401's docs here:
...and I noticed he mentioned:
“To reset/restart the system, press the red "CPU RESET" button on the Nexys board. This is the button closest to the center of the board.”
I haven't given this a try yet (it's a cold morning and I'm too lazy to get out of bed :D), but I will try it later when I get a chance, just to confirm whether the button is a warm-reset or cold-reset.
There are two buttons: CPU Reset and Prog.
First is hard reset - like power off and on
2nd is warm reset.
BTW: Keyboard has reset too, my current bitstream it supports not, don't remember correctly, here's late night, at morning I look into docs and provide link to make it own (source was recommended by Paul).
I have no time to do it, so want to help community.
Maybe community can help me:
I'm using Nexys4DDR for M65 & Apple-II. When I insert sd card with both bitstreams, only 1st found is executed.
I need bitstream selector, have few recommendations, but I understand VHDL not yet fully. If I provide link, can anybody help me? It will be useful for us all.
One project uses it. But it's not open-source...
Awesome, thanks for the info Miro I will try it out on my nexys board tonight.
Wow, you've got an Apple-II bitstream also? That would be lots of fun, swapping between different 8-bit machines like that on the same hardware. I recall reading in the forums that you were also interested in c128 too
Yes, for sure, I'd be happy to read any links on the topic of bitstream selectors, so you're welcome to share them here. Sadly, I'm still on my early learning curve of this project, but I'm enjoying it, and hope to commit to it for the long-term.
I'm thinking, I'll also put a cross-link into the google groups discussion area for this topic too, as I've noticed that there is more "developer-centric" communication going on there, and also, Paul seems to monitor and respond to convo on developer-related topics more rapidly too.
Got an update from Paul, I've added it to the google-group forum thread mentioned earlier.
Basically, the RESTORE-for-4 seconds method is presently a soft-reset, although with the caveat of re-installing a few utility apps in memory.
This is why the test program I put at $C000 got overwritten, because the sd-card .d81 selector app overwrote it.
Paul mentions though that he has future plans for these utility apps to only be added to memory upon cold-reset, sounds good to me
Regarding multiple bitstreams on the SD card, this limitation is actually in the little PIC controller that feeds the bitstream to the FPGA on boot. We might be able to have some mechanism to switch bitstreams once they are stored on the QPI flash (storing the bitstreams there also has the machine power up MUCH faster -- < 1 sec, instead of ~13 seconds).