I have strange issues with your latest firmware for Tim's board. Now that you add the heuristic, when I start for example Super Mario 64, sometimes it changes between de-blur on and off, without doing anything, e.g. at the beginning when you see Press Start blinking in the bottom left corner, it's clearly noticeable that de-blur changes by itself.
The heuristic depends on the current image content. So it might be the case that the heuristic jumps between on and off even on small changes. Please send me an email with a list of games / scenes where you observe such a behaviour. This helps me to adjust constants!
borti4938 wrote:The heuristic depends on the current image content. So it might be the case that the heuristic jumps between on and off even on small changes. Please send me an email with a list of games / scenes where you observe such a behaviour. This helps me to adjust constants!
Well, I certainly could do that, but it requires time and I don't know when I can do these kind of tests. I'll let you know when I have some free time to dedicate to N64.
Meanwhile, is it always possible to force de-blur on with L + R + D_pad Right + C_stick right, correct?
zeruel85 wrote:Now that you add the heuristic, when I start for example Super Mario 64, sometimes it changes between de-blur on and off, without doing anything, e.g. at the beginning when you see Press Start blinking in the bottom left corner, it's clearly noticeable that de-blur changes by itself.
Yes, I can reproduce the de-blur on and off changes on the SM64 intro especially if the stars are flying around Marios head. I will try to fix that.
Star Fox 64 also has some very small changes in the starfield intro that might trigger a heuristic on occasion as well. I found it was easier to have it default to "de-blur on, unless proven inappropriate." In debugging it, I found visualizing detections (by setting the MSB of one color channel) made it easiest to see where the heuristic was working or failing. After playing with that some more and doing some simple filtering on my trigger signal the false negatives were eliminated. Perfect Dark can be a pain in the ass too.
I've closed my source off because I might plan on actually selling the board, now that I've had a chance to use (and question the value of) the UltraVGA board, which initially discouraged me from bothering.
UltraVGA issues encountered:
* Installation requires you to desolder an FFC connector first
* DAC (ADV7125) is powered from 3.3V, which is not adequately filtered, and a flickering darker section can be seen moving about the screen as load on the 3.3V line varies as the CPU/RCP are utilized differently from frame to frame
* Uses a framebuffer, which seems like an odd choice since we're working with the timing-flexible VGA connection
* Doesn't mount nicely in the system like the UltraHDMI does
* Does not support YPbPr output
* Does not have a 240p mode
* Why are there so many LDOs on board?
mikejmoffitt wrote:Star Fox 64 also has some very small changes in the starfield intro that might trigger a heuristic on occasion as well.
Well, my first guess felt to light effects due to the flying stars around Marios head in SM64 intro. So this might be correlated.
I finished the implementation of some kind of hold off in the heuristic algorithm to exploit this. Cross fingers that this will work - I will test it during this week.
mikejmoffitt wrote:
UltraVGA issues encountered:
* [some points]
* Why are there so many LDOs on board?
mikejmoffitt wrote:Star Fox 64 also has some very small changes in the starfield intro that might trigger a heuristic on occasion as well.
Well, my first guess felt to light effects due to the flying stars around Marios head in SM64 intro. So this might be correlated.
I finished the implementation of some kind of hold off in the heuristic algorithm to exploit this. Cross fingers that this will work - I will test it during this week.
mikejmoffitt wrote:
UltraVGA issues encountered:
* [some points]
* Why are there so many LDOs on board?
3 LDOs doesn't seem like too many to me. I'm using 3 LDOs on a small fpga board, usually need one for the IO banks, another for fpga internal logic, and another for the PLLs.
You can reduce the LDOs and do some filtering instead for the shared supplies, but personally I would rather just toss in another LDO if it's not a power/area constrained project.
Woozle wrote:3 LDOs doesn't seem like too many to me. I'm using 3 LDOs on a small fpga board, usually need one for the IO banks, another for fpga internal logic, and another for the PLLs.
You can reduce the LDOs and do some filtering instead for the shared supplies, but personally I would rather just toss in another LDO if it's not a power/area constrained project.
It was a minor comment, but it just makes the board a bit bigger, and I'm not sure for what gains. Maybe the RAM requires an additional supply voltage over the 3.3V and the 1.2V that the FPGA requires (although it already gets 3.3 from the N64 as-is). The big issue is that the 3.3V line is noisy enough to cause problems for the DAC.
mikejmoffitt wrote:Star Fox 64 also has some very small changes in the starfield intro that might trigger a heuristic on occasion as well.
Well, my first guess felt to light effects due to the flying stars around Marios head in SM64 intro. So this might be correlated.
I finished the implementation of some kind of hold off in the heuristic algorithm to exploit this. Cross fingers that this will work - I will test it during this week.
Hold Off seems to work well - at least in the intro of SM64 and also in the starfiled on in SF64 I haven't seen any occasional switches between de-blur on and off.
I will integrate this to the repository such that anybody can try it out for further feedback Unfortunately my testing time is highly limited...
I have strange issues with your latest firmware for Tim's board. Now that you add the heuristic, when I start for example Super Mario 64, sometimes it changes between de-blur on and off, without doing anything, e.g. at the beginning when you see Press Start blinking in the bottom left corner, it's clearly noticeable that de-blur changes by itself.
Btw.: you were right. There were several bugs in the initial algorithm. Now it works (hopefully) more accurate. I watched the intros of SM64 (expect de-blur on) and Mario Tennis (expect de-blur off) and played a bit Mario Kart 64 (expect de-blur on) yesterday. Seems to work good.
Also included a bit improved controller sampling - CPLD now estimates the sampling point.
Btw.: you were right. There were several bugs in the initial algorithm. Now it works (hopefully) more accurate. I watched the intros of SM64 (expect de-blur on) and Mario Tennis (expect de-blur off) and played a bit Mario Kart 64 (expect de-blur on) yesterday. Seems to work good.
Also included a bit improved controller sampling - CPLD now estimates the sampling point.
Yes, I can. I'll try this weekend, when I have more free time.
Alright, I found the time to test some games.
I think it's pretty good now, I don't see changes in de-blur, during the games. Super Mario 64 is ok (always de-blur on), also Mario Kart 64. And Mario Tennis with de-blur off, too.
If you mean my code in specific: I recently added an estimation algorithm whether DeBlur has to be switched on or off in a 240p game.
In the IGR version, this estimation is on by default, however it can be forced to be on or off using controller input combinations.
It's kinda like "MOAB", everyone knows it as "mother of all bombs", but that's not what it stands for (Massive Ordnance Air Blast). In game routines it's called, because as Bortis mods demonstrate, IGR's can do a ton of other cool shit via the controller in addition to reset. The in-game-reset is my favorite part though, and I can't wait to get my N64 board from Tim, and thank you Borti!!!
I also thought it was in-game reset for years until I googled it like a month ago... I think every time IGR has ever been implemented, a reset function has been included haha.
What games don't use blur?
The ones that look bad when you turn de-blur on (the only example I've heard of is Mario Tennis)
Technically, Mario Tennis does. However, from testing it looks like the majority of the game is 320 pixels wide internally, and only a few points in the UI actually took advantage of the 640 pixel width.
^^
@zeruel85, sorry bud just scrolled a bit up and saw that you ran some tests with the updated firmware. Thanks!
Would you have any recommendations for a USB Blaster along with a link to the steps you followed to update the firmware. Not really sure what files to grab from Borti's GitHub.