Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Ah ok I see what you mean now.
As for built in games, I worded that poorly, it does indeed just use the BIOS file, not a file on top of another file.
Good question, I have no idea.
Ok I just made the PR to bring Boot Rom loading into BizHawk and Gambatte, it works for both GB and GBC. Right now it is strictly optional, but my hope is that it will start to be used for TASes and hopefully required eventually.
EDIT: done!
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Definitely an emulator bug.
Hard to tell what it is, but disk writing is known not to work in the emulator, so if the game is attempting to write to disk and checking the write, then it will fail (also known to happen with Family Feud.)
This is unlikely to be fixed in the near future unless Saxxon returns.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Ok I fixed it, turns out gambatte was turning on the screen in the initial conditions, so writes to VRAM were getting blocked. Now just a little more cleanup and I should be able to add this as a capability to BizHawk.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Yeah, that's exactly what I did. I created a copy of the default rom mapping and put the BIOS in the first 256 bytes. It loads and runs as intended, but the screen gets corrupted for some unknown reason. Maybe there is some configuration in gambatte on start up that i'm not aware of that is throwing things off. I'm not familioar enough with gameboy architecture though to guess what it might be.
Also, it's pretty obvious from gambatte's code that they never really intended to use the boot rom, it was quite a mess getting it in there.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Well I tried putting a boot rom loader in gambatte, I got it loading but I got a buggy result. I'm not really sure what its doing to get the title messed up like that, but doing the obvious thing of swapping out the first 256 bytes of the rom with the bios obviously is not sufficient. Oh well, I don't think I'll put any more effort into it, maybe once gambatte is replaced someday we'll have native suppport for it.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
For version I don't think emulation accuracy is at the point where we can reliably tell the difference, and loading times by themselves can always be discounted.
As for built in games, Vecna had the foresight to make it so that you can load BIOSes as you would ordinary ROMs as well, so any of the built in games should be accessible already.
Not all GGs had the TMSS, so for that one at least I think we can spare people the tedium of having to wait through that screen.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Looks like it's not yet an option in BizHawk.
SMS does have that option though (and is the intent of this thread) What about for that system? No time like the present!
I'll probably look into doing this in the near future. It looks pretty easy (just have the BIOS loaded and start from $00 instead of $100.) If I need help I'll be sure to ask.
For SMS, BizHawk is only a couple lines of code away from insisting on a BIOS instead of just giving the option, so that isn't tough.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
I never noticed that it is not included on runs before 0_0
This does seem like something that should be stricter. There is a rule that says roughly 'use a real BIOS and not a hacked one', and BIOS skipping is basically a hacked BIOS of zero length / time that instantly advances to game execution, maybe it just needs to be enforced.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
I guess you could just discount the BIOS time, it's pretty easy to keep track of. Also there are multiple BIOSes, and I'm not sure if there is any preference or reason to choose a particular one.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
To my knowledge, all Sega Master System consoles contained a BIOS. The most common for USA/EU would be 1.3. Currently we allow publications of runs that don't use the BIOS (it isn't required for the system to work, but does exist on all consoles.)
I think it should be a rule that all SMS runs should use the start up BIOS.
This issue seems to have perpetuated since the early days of SMS/GG emulation since the BIOS isn't needed for games to work, and most GG consoles (which had almost identical components) did not contain any BIOS either. But since I'm not aware of any commercial non-BIOS SMS's, I think it's time to enforce a rule about it.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
http://tasvideos.org/userfiles/info/39872420970425783
Please replace the movie file with this one. It properly uses system BIOS, which is present on all US Master Systems.
Probably this should be a rule for Master System runs, since all Master Systems were sold with a BIOS. (Also while I'm thinking of it I should make BizHawk enforce this somehow.)
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Good point, the goal here isn't going from bad to perfect, its going from bad to better, and at least in an environment where analysis and improvements can be made, and BizHawk's z80 core is at least pretty strong.
Well, it's a personal priority to me, not an offical site priority or anything. Still it's good to see other people share the same opinion.
I forgot this as well, guess I'll have to include it in Kung Fu Kid, I'll be using BIOS 1.3.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
TASVideos in general has many runs that are obsolete just by virtue of their age. Some movies however are notably bad for their use of emulators that are not even considered acceptable by today's standards. There are a daunting number of these runs, so this thread is dedicated to dealing with a small part of the problem in Dega, a Sega Master System and Game Gear emulator. The total number of remaining runs using Dega is small, and all but 2 are under 20 minutes, so the goal is at least approachable.
If anyone is interested, feel free to post and I'll add you to the list.
_The8bitbeast/EZGames69_ [1019] SMS Sonic the Hedgehog 2 "best ending" by mike89 in 18:44.28
__Challenger__ [1061] SMS Wonder Boy by AngerFist in 43:05.02
_The8bitbeast_ [2152] SMS Zillion "100%" by caitsith2 in 18:30.38
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
I considered making a thread for it, but I wanted to make it part of a larger thread about site currecny and which runs are the worst offenders in terms of being done on very outdated emulators. But, then I thought that such a thread would include basically all the snes9x and mupen movies, as well as VBA and probably others, so it seemed kind of pointless.
But since there seems to be some interest in focusing on Dega specifically, I'll go ahead and make that thread at least so we can keep organized and not duplicate efforts.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
That's ok, I've basically made no progess until now anyway. Hope things finally start improving for you True.
http://tasvideos.org/userfiles/info/39855636856675139
Here is the test run, play it on BizHawk 1.13.0. Dk Jr. will die shortly into the run, that's ok, just capture the inputs until the end.
The Rom is: Donkey Kong Jr. (W) (PRG1) [!].nes
SHA1:5D8CBA2011229DC67CCFF6C99E647238F260E7AF
This run is basically testing power on timing. As far as I can tell, the folllowing 3 outcomes (deaths) are most likely:
Left: BizHawk 1.13.0
Center: BizHawk Master
Right: Mesen 0.9.0
http://i1053.photobucket.com/albums/s468/daviomace/dkjr_zpsddevsf8s.png
I suspect that all 3 deaths might be possible on a NES, but I would really like to know how likely each one is, or if some other result all together happens.
This is testing power on at roughly the CPU cycle level. If all 3 results (or more) are possible, then power on variability is higher then previously thought. If possible running the test a large number of times would be good to get a broad statistical sample.
My hope is that only one or two outcomes actually happen though, which would be welcome.
let's see
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
At some point you kind of have to. FCEUX for example is capable of recreating SMB3 ACE just fine, but the arrangement of houses it gives at the start of Paperboy is impossible, making our current run of that game kind of pointless. Can a new run of paperboy be made on FCEUX? It would seem that it can't, even though FCEUX can make even console verifiable runs of other games.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Hi,
I found out that you can KO Apollo at least after the second knockdown. Here is a movie that does it (syncs in most recent version of BizHawk.)
I just used random button presses after the second knockdown, since I noticed there is some variation in the count if you randomly punch before the screen transitions, and by chance it led to a KO.
I imagine you can do this to the other fighters as well (maybe even after the first knockdown?) so this run can be improved significantly.
http://tasvideos.org/userfiles/info/39828386441038365
EDIT: also, GG and SMS runs really should be made using versions of BizHawk after 1.19, since significant accuracy improvements were made at that time. I know we're not real strict about bizhawk versioning, but in this case it does matter.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
After lots of searching and experimenting for the simplest test case that can provide useful data, I finally stumbled upon Donkey Kong Jr.
The FCEUX version of this run is completely wrong due to bad powerup timing, but Mesen and BizHawk differ by only a single instruction on Frame 242, right when play begins.
The difference is right at an NMI where an RNG routine is being performed. Eventually this change leads to the first red alligator going across the platform in BizHawk (where Jr. promptly runs into him) and down the vine in Mesen, (where Jr. passes but dies shortly there after on the third vine.)
This is much much easier to examine then trying to track pies in Streemerz several minutes into the run, so hopefully with some console testing we can actually learn something.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
I've made a few more improvements to NESHawk. I cleaned up the code a bit and refactored some execution, so it got a little faster, and the code base is also in a better form for future testing as needed.
Also I noticed a bug in my ppu code, which was apparently impacting test 2 and 6 in test_apu_2. Having fixed that bug NESHawk now passes all 11 of those tests, so that's good.
I continue to look for things that can possibly impact console testing as well, but so far nothing promising has come up.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Also remember that the A2600 core has settings that control the output of the video window in Atari->Settings (NTSC/PAL) Top line /Bottom line. So you can open a game and make the cropping correct before dumping it. Not sure if this is what you want or not.
Editor, Experienced Forum User, Published Author, Expert player
(3602)
Joined: 11/30/2014
Posts: 2749
Location: US
Well, screen size for A2600 games was software controlled. Most games had 192 scanlines, but some had more (Tapper for example had 210.) The defaults are set for the maximum extent I believe.