Posts for Alyosha


Alyosha
He/Him
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.
Alyosha
He/Him
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
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
feos wrote:
In battletoads the method used is arbitrary data manipulation, not arbitrary code execution. There's some period where battletoads executes open bus, which can theoretically be manipulated to look like it's executing sensible commands, but it's very hard and no one feels like doing it.
Would you mind sharing the details of this feos? It sounds interesting.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
zoboner wrote:
Ho, ok, I'm happy than you explain this. If I understand well, I can change the BIOS especially if i use a specific game (JPN...)? It's more accurate to use the original BIOS or just for more proper? Thank you for information.
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Ha! Even now a new glitch. Thanks for posting that is interesting and unexpected
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
zoboner wrote:
Cool run, this is a rare games who put up "SEGA MASTER SYSTEM" before game starts. Musics are good and when I watch this TAS, i feel like in a "shoot them up"! It's a good illusion. yes vote
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.
Alyosha
He/Him
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.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
D: how did I not notice zanac , oh well so much for that , thanks for the encode though !
Alyosha
He/Him
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 :)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
True wrote:
On the contrary. On Z80 the R register is 0 at reset. So on emulators now without BIOS, they start at 0. However with BIOS, this register will increment. So regardless of cycle accuracy, this register won't match based on BIOS or not. It has nothing to do with emulation accuracy. And many games use this register as part of randomness routine. Except this isn't how one would usually play these games...they'd use the original machine, not a copy of the BIOS of that machine on a different machine...
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.
goldenband wrote:
What about the Model 1 Genesis/Mega Drive? Did that have any kind of a BIOS for SMS games?
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!
Alyosha
He/Him
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.
Alyosha
He/Him
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I'll still need to know what game it is in order to diagnose the problem.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Warepire wrote:
What I did was having the DMG bootstrapper in an array, and then choosing based on register 50 which array to read when accessing the ROM region of the memory map. Basically, that should have worked. EDIT: If you can share your code, I could maybe have a look?
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.
Alyosha
He/Him
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
True wrote:
The issue of version will need to be decided. Because bootup times between versions vary, games using the R register in randomness calculations can result in very different outputs. Other than what could be copied into RAM with different BIOS versions, I'm not aware of any other impact BIOS will have. But these two are already very important. v1.3 is the most "common" and the first / original retail version. These are arbitrary points for using it as a base. But what if the TAS is for a built-in game in a later BIOS? Should there be exceptions for this case? I would hope it isn't a "fastest BIOS" search... but who knows, maybe some game has an exploit that is more useful with a certain BIOS version? I've done some testing on console with Alex Kidd in Miracle World on a v1.3 USA unit and found, if I remember, about 16 possible variations of randomness in powerups. None of these variations matched the emulator. I would need to test again to see if I delayed the emulator to match the frame count of the console...I don't have any notes about that written down.
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.
PikachuMan wrote:
The Game Gear and Model 2 Genesis/Mega Drive have a BIOS file in the form of a Trade Mark Security System.
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Mothrayas wrote:
Do current TAS emulators for GB/GBC even allow starting runs from BIOS? If not, that obviously would need to happen first before we can do anything. Even if it is, it will be hard to strictly enforce turning on BIOS for Game Boy runs, at least in any short term manner. It's like deprecating an emulator, and such processes typically take a long time (easily several months or years) for all TASers to transition through.
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!
Warepire wrote:
Adding GB(C) BIOS support should be easy, I've done it with an emulator I wrote. I can hold the hand of anyone that wants to add the support to BizHawk. (I don't have the time to configure the environment etc)
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Spikestuff wrote:
Just like GB/C should. (I'm just saying)
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.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Fortranm wrote:
Doesn't this rule give Game Gear an edge over SMS when a game is available on both platforms?
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.
Post subject: Proposed Rule: SMS runs should use a system BIOS
Alyosha
He/Him
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.
Alyosha
He/Him
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.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
True wrote:
Just so it is known, even today's emulators do not emulate SMS well enough. For one thing, the startup state is known to be wildly incorrect. And for BIOS / post boot state, which should be chosen? Still it will be nice to move from old emulators and finally get some console verifications done with SMS runs. What would it take to quickly determine if Z80 R register is read by a game, as the easiest indicator of a console verifiable run? Static analysis? Analysis during gameplay?
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.
The8bitbeast wrote:
This is really cool, I didn't realise that this was a big priority. It'll be interesting to see if the pause button can be used in any of these. Honestly about half of this list is on my list of possible future TASes so hopefully I can help to deal with this over time for any that are left over.
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.
Challenger wrote:
EDIT: I didn't aware about that bootup. I'll redo that Cyborg Hunter run to include this.
I forgot this as well, guess I'll have to include it in Kung Fu Kid, I'll be using BIOS 1.3.
Post subject: Movie Modernization: The Dega Project
Alyosha
He/Him
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
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Challenger wrote:
EDIT: Obsoleting dega movies quest deserves a topic.
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.
Alyosha
He/Him
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