Post subject: Rule about game start vs console power on
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
We have gotten a small problem in the rules with regards to some of our latest target platforms. Our current rules say that we time from console power on. This has worked well in the past, but only because that is the same as the alternative. The alternative would be to start timing when the first instruction of the game executes. This difference would mean that we could ignore the DOS boot time and actually time the game. The situation is even more tricky with regards to hourglass, since the system is guaranteed to be already running is this case. Of course, we would need to define what counts as game code to begin with. Should we include stock runtime stuff that all compilers want to include? Probably. How about the bios/os loader stuff? Probably not.
Post subject: Re: Rule about game start vs console power on
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
henke37 wrote:
Our current rules say that we time from console power on.
Mmmm, not quite. Even leaving out the newer, iffier systems like jpc, hourglass, starting from console power on is not a standard rule here. 66 counterexamples
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
I worry about our actual rules. I don't want a lot of exceptions, I want a solution where we don't need exceptions.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
henke37 wrote:
I worry about our actual rules. I don't want a lot of exceptions, I want a solution where we don't need exceptions.
If your argument is about what's actually done, then you can't ignore the GBA. If your argument is solely about what's on that page, then I'll add a few "except in the case of Game Boy Advance..." clauses to that page, and then you can't ignore the GBA. Either way, we'll arrive back to the same point: that every accepted GBA movie (excepting those that actually start from savestate) begins from a modified power on, that skips the entire bios sequence. It seems that is exactly the sort of thing that you're describing: begin timing when the "game" starts, not the "system". Since we already do it, looks like there's nothing left to debate! Yay.
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
Adding in the clauses would just be formalizing the exceptions. I want a simple solution where we don't need exceptions in the first place.
Post subject: Re: Rule about game start vs console power on
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
henke37 wrote:
Our current rules say that we time from console power on. This has worked well in the past, but only because that is the same as the alternative. The alternative would be to start timing when the first instruction of the game executes. This difference would mean that we could ignore the DOS boot time and actually time the game.
If emulator uses LLE on the BIOS (or OS, if any), there is no way to tell when the first instruction of the game executes.
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
I beg to differ. As long one has a clear definition of what code counts as the game it is easy to check in theory.
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
henke37 wrote:
I beg to differ. As long one has a clear definition of what code counts as the game it is easy to check in theory.
Well, if you can observe BIOS jumping to ROM space in the cartridge, that would work, except that PC loads (assuming BIOS hasn't been hacked!) the boot block at 0000:7C00 (RAM space!) and then jumps there, which is likely not the start of game (but it might!)
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
We can assume that the BIOS hasn't been hacked, since that is against the rules. You have a point in that some games does start from the MBR. Most however does not. One would have to monitor the os loading code to know where the game code is loaded, but once that is done it is trivial to check if the game code has begun execution or not.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
I would count from system power on. This is unambiguous (and is an incentive to find the fastest boot configuration).
Editor, Skilled player (1439)
Joined: 3/31/2010
Posts: 2108
Pointing out two things, first, we do skip the BIOS on systems such as the PSX. Additionally, there is at least one MSX game (The Cure), where all the all possible luck manipulation can only be done the MSX bootup screen (as input is already polled there). Therefore, it's vital to be emulated as well. Because of that, I think it's easiest if we simply make it dependent on the system if we include the bootup screen. If it's important to do so for the sake of the run itself, then sure.
Post subject: Re: Rule about game start vs console power on
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
henke37 wrote:
This difference would mean that we could ignore the DOS boot time and actually time the game.
Wouldn't this need for emulators to specifically support this? (In other words, start recording/replaying only when the program starts rather than when the system starts.) Do they support this?
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
It is not required that emulators start recording at the same spot we start timing. It might not even be desirable. In the end we just need to know when the game code first starts executing. This is trivial for cases where it is the first thing the emulator runs. The real problem here is when the non timed code loads the timed code. We would need to understand the loading code well enough to be able to track where the game code ends up. Or at least be able to identify the code that jumps to the game code. Anyway, as for the matter of support of these things? I have no clue. But I assume that since no one have cared so far there is no support for this.