Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Thanks to the efforts of Meerkov another game gets crossed off the list, Cobra Traingle!
I never expected such a big improvement to this game, so nice work there.
12 left!
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Micro Machines depends heavily on PPU revision. It reads from $2004 to perform some of its graphics routines. However, on early NES's this address wasn't readable, so this would result in heavy graphical glitches.
Incidently, I also rented this game as a kid and don't remember any graphical glitchs so I guess you just got unlucky, too bad since its such a fun game.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
None of these uses the DMC channel so I should be able to work with them all pretty easily. (Battletoads being already known to work.)
Personally I'd still want to see runs playing on console if at all possible, even if its along side the emulator with hitboxes and such as feos suggested, it just doesn't feel real without it.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I've made a number of accuracy improvements to NESHawk lately, including getting Huge Insect to work. This game relies on an obscure hardware glitch in the PPU that I overlooked until now.
Also Micro Machines now runs without graphical glitches, but as always with this game this is tentative until proven totally accurate.
I've made numeroud changes recently, so if anyone notices any bugs please let me know. I tested pretty thoroughly with all the most difficult cases I know so I don't think anything is wrong but can't be certain.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Ah thank you that helps immensely.
I guess I don't have a good ear for audio so having them side by side like that really makes it easier to pick out the differences.
Hopefully it will help me track down the remaining bugs.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
^ That is the playfield output but not the complete video output.
This is what is programmed into the core:
public int BufferWidth { get { return 176; } }
public int BufferHeight { get { return 208; } }
public int VirtualWidth { get { return 277; } }
public int VirtualHeight { get { return 208; } }
The 'Buffer' is the physical video signal output, it is 176x208 after accounting for the display border (this corresponds to the 176x104 that Winslinator had with scanline doubling that the console does.)
The Aspect ratio (the 'virtual' part) depends on the TV but I stretched it to be 4x3 which is mostly what was around at the time.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I recently stumbled across a test rom that tests some bizarre NES sprite evaluation glitches that NES Hawk wasn't even close to passing. (Mesen and punes aren't close either.)
So I completely overhauled sprite evaluation and now I get all the correct reads and sprite data and all pathological behaviour accounted for.
The only difference between this and the results posted by Quietust in NESDEV is one extra 'FF' at the beginning. Quietust mentioned that there might be a variable number of those bytes at the beginning (which represents the tests starting a different pixel) but I currently don't understand why this would be the case or what the expected outcome should be.
This is actually good news since I didn't have any new good leads lately as to why some runs were failing to sync, so I hope this leads to some new information.
But all the behaviour is now emulated correctly, so this is a pretty big accuracy improvement. Let's hope there are more to come!
See this thread for more info:
http://forums.nesdev.com/viewtopic.php?t=2295
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Ok, so aside from fixing the sound I also fixed Intellivision aspect ratio, and added a power and reset button.
@TheWinslinator: I'm not sure what the glitch you are reffering to is, nor do I know the specifics about how reset is different from Power to cause it. For now I just assumed that reset didn't clear RAM, but let me know the details of the glitch you want to do and I can adjust it as needed.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Battletoads 2 player warps seems to sync pretty reliably on console from True's testing, so it might be a good candidate to play while talking more about how how TASing and emulation work while also being entertaining for the audience.
I'm willing to work on anything NES related though.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Nothing lately. NESDEV is where most of the action is happening right now, but progress has stalled out due to a few serious bugs in VisualNES.
There are a few other interesting developments in effective write timing in the ppu, but nothing exactly groundbreaking.
My time has been pretty chopped up with Intellvision and ColecoVision and DTC6, but I do plan to continue work here once I can focus more.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I can't actually attend the event due to a prior commitment, but I would definitely like to help in organizing and preparing. So as long as there are presenters available count me in towards helping make this happen!
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Ok, I figured out what went wrong here.
Turns out that this game has the wrong iNES header, indicating the wrong mirroring mode.
NESHawk ignored the iNES header and booted from nescartdb, which has the correct mirroring information.
QuickNES though does not have this option and uses the iNES header to try and run the game (along with other emulators such as FCEUX and punes.)
So this is entirely a problem with iNES and nothing to do with the emulator (except for relying on iNES.)
I'll need to decide the best way workaround this, or find out whatever way I'm supposed to submit corrections for ROM headers, if such a thing exists.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
How did you make all the previous videos that did not have any graphical issues? I'm a bit confused on where exactly things went wrong.
It looks like QuickNES is not mirroring Nametables properly for this game, so I might be able to fix this. The mapper is NROM so it's already as simple as it can get.
EDIT: Nope it's worse then that, looks like I can't do anything about it sorry.
I'll at least add the game to the QuickNES blacklist though.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
As of the latest Dev Build, the Turbo Controller (steering wheel) is now functional for ColecoVision. This should allow playing (and TASing) of games requiring it, such as Turbo and Desctructor.
It seems to work, but I would appreciate any testing from anyone who has interest in this system/these games.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Unfortunately, there are quite a few things that can go wrong on a NES for console verifications. The problem with trying to TAS directly on hardware is that initial state has several variables that you can't control. And it is quite possible that differences can go unnoticed until later levels.
The benefit of TASing on emulator is that you at least have an exact state to work with, then when you go to run it on a console you just hope it starts up in the state you want.
Hope this helps, if you want more info check out ppu/cpiu alignment and cpu/ppu power up state on NESDEV wiki, there is a lot of valuable info there.
EDIT: Oops just saw your post in NES thread, guess you got it sorted out, ok!
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
This sounds amazing!
I would love to have the opportunity to use this environment, thanks for putting it out there. :)
I'm a bit short of time at the moment, so I can't put too much thought into yet, but I'm already excited with the possibilities!
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Pretty cool how far this is getting. Any plans to improve the command scripting to get more optimal movement? How many unique commands do you think are needed to get optimal looking movement while still being relatively easy and fast to input?
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Oops I don't know how that bug got by me, working on sound fixes should be done when I have a bit more time .
At first I didn't anticipate a need for power/reset but knowing a glitch is possible will motivate me to add it. I'll work on it at the same time I add PAL support.
Thanks for the feedback!
EDIT: Sound is now fixed, please try the dev build.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
It will probably be pretty difficult to seperate emulation differences from strategies unless you can resync the original run (which would also not be easy)
The old run was made at a time when 'frames' were whatever time passed between v-blanks. This is some what variable in A2600 games. At some point frame definition got changed to 262 scan lines . Hero uses 263 scan lines per frame.
I briefly tried to resync the run and did not make it far , so probably other emulation changes are effecting this run .
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Atari 2600 emulation got an overhaul a few months back. It won't be easy to sync the former run on any newer builds.
Yes you should be able to run the bkm in 1.5.3. Bkm is the precursor (or maybe just renamed) bk2. I'm not sure what utility you'll get out of this though.
To get a bk2 to play in tastudio just open the bk2 and then open tastudio (or the other way around works too.) TAStudio will automatically import the bk2 into a TASproj.