Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
@pokota: you have to go to the GB menu and select the enable bios option, then reboot the core. It's not enabled by default currently.
@Fortranm: no, but I will test it and see how gambette handles it, if it works I'll add the option for it.
EDIT: looks like it works, I'll just need to figure out the best way to make this option presentable to the user.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Well, this is a bit embarassing, but unfortunately this run was made on a build of BizHawk that contains a bad IRQ bug that I inadvertantly introduced (you can see it most plainly where the screen shakes as mickey jumps into the water on level 2.) The bug only impacts an edge case where an IRQ occurs as the game is running an EI instruction and interrupts are enabled. This causes interrupts to (erroneously) be re-enabled. The bug occurs on this game because the game runs EI as part of it's idle loop.
Anyway, as this is my error, and a pretty serious one at that, I've started re-syncing this run on 2.0.1 where the glitch is fixed.
@ The8bitbeast: this run syncs the first half of the game, it's a few frames slower do to lag differences, but gameplay is basically the same except for the card boss where I had to change up manipulation to get 128s. Let me know if you think it's good and I'll sync up the rest.
Sorry for the bug!
http://tasvideos.org/userfiles/info/40098174170260212
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Yes, you can (and probably should) use the BIOS of the region the game is from.
There are also different BIOS variants you can use (I just picked a common one.)
Is it more accurate? Yes in the sense that RNG and maybe cycle timings will be closer to console then without it. But, it won't suddenly make runs sync on console that didn't before, SMS / GG is not terribly well documented in terms of timing accuracy, and BizHawk's core is not that low level, despite having a very strong z80 core.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
That's actually the system bios screen, not the game.in the past we've neglected using the SMS bios, but now the goal is to be a bit more proper and include it in runs.
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
One other thing that occured to me is that it is trivial to get a 5.51 if the 6502's Decimal mode doesn't work. This only impacts the timer. Then you actually have to go pretty slowly for the timer to display 5.51. (It would be obviosly visually distorted thouugh as it counts up, so might be obvious to any observer.)
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Hurray 2.0 is here! Great work to everyone who helped get the new cores working and especially natt who made some seriously huge commits and got the magical water boxing stuff working. This is a big advancement in TASing technology !
Now we just need a TASVideos 2.0 :)
Editor, Experienced Forum User, Published Author, Expert player
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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
(3536)
Joined: 11/30/2014
Posts: 2733
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