My educated guess is that this speed difference is a combination of three factors:
1) The BIOS version (MSX generation)
2) Eventual tweaks made on the BIOS by the hardware maker, or different drivers present on the BIOS
3) Some machines have slower VDP I/O access. This is well known for the Toshiba T9769A and B chipsets, but there might be others. The FS-A1WX has a T9769A inside.
3) Some machines have slower VDP I/O access. This is well known for the Toshiba T9769A and B chipsets, but there might be others. The FS-A1WX has a T9769A inside.
Add the Sanyo Wavy 70 and Wavy 35 to this list (they use T9769A/B engine) - an extra wait on VDP access, which f.e. makes some parts of Unknown Reality demo having garbage on screen instead of proper picture
I'm interested in working on full TASs one day, but they're really time-consuming, and openMSX doesn't have the greatest workflow for it. (Maybe one day we'll get an openMSX core for BizHawk...)
Fwiw, I checked into it after I made this post, and BizHawk does have a rudimentary MSX1 core coming in the next release. I tested it a little bit with DS4, and it looks pretty great so far. Probably not quite accurate enough to be TAS-approved for a while yet, but we shall see.
My educated guess is that this speed difference is a combination of three factors:
1) The BIOS version (MSX generation)
2) Eventual tweaks made on the BIOS by the hardware maker, or different drivers present on the BIOS
3) Some machines have slower VDP I/O access. This is well known for the Toshiba T9769A and B chipsets, but there might be others. The FS-A1WX has a T9769A inside.
Yeah, that seems to be pretty much the state of things. The generation jump from MSX2 to MSX2+ seems to be the biggest factor as far as I can tell. Within each generation, the load time seems to be pretty consistent. I've been wanting to try to poke at the keyboard code and see if I could reproduce that reentrant keyboard handler as a cause, but I've been distracted by other stuff (like the above BizHawk testing). It probably doesn't matter a lot either way; I doubt that there's much to be done about it other than running on a different machine.
I did do a quick pass through some other games that I might get to speedrunning one of these days, and it looks like there's quite a bit of variation in performance problems between games. Testing MSX1 vs MSX2+ in openMSX, Xanadu seems to have identical performances, and Maze of Galious is pretty close to identical. But the original Dragon Slayer seems to have a shorter initial load time and faster gameplay on the MSX1.
So I guess, in general, the conclusions I'd draw for MSX1 speedrunning are:
- MSX1 games should be assumed to have the most accurate performance on native MSX1 hardware, and the recommended emulator settings should use a MSX1 BIOS. (But probably no good reason to pick one MSX1 model over another? I don't know.)
- Runners using later hardware should assume that their performance may be non-optimal, depending on the game.
- C-BIOS has better performance than any original MSX machine, and should generally be disallowed. (Would this preclude runs on 1chipMSX or other modern clones?)
- One way or another, all runs should report the machine/BIOS they use.
C-BIOS has better performance than any original MSX machine, and should generally be disallowed. (Would this preclude runs on 1chipMSX or other modern clones?)
No, 1chipMSX and such use a real BIOS. C-BIOS is conceived as a free and non-license-encumbered alternative, to allow it to be distributed with e.g. openMSX. This so that the emulator can function out of the box, without having to either include binaries incompatible with its GPL license, or to require users to install BIOS ROMs separately. It is rarely used outside of that context.
You should also add a point about PAL / NTSC frequency, which makes the largest difference of all .
No, 1chipMSX and such use a real BIOS. C-BIOS is conceived as a free and non-license-encumbered alternative, to allow it to be distributed with e.g. openMSX. This so that the emulator can function out of the box, without having to either include binaries incompatible with its GPL license, or to require users to install BIOS ROMs separately. It is rarely used outside of that context.
Makes perfect sense. Thanks for the clarification!
I assume emulator users are still legally obligated to use BIOS files dumped from original hardware which they own, correct? I'm a bit unhappy with disallowing the only freely-available BIOS, but I guess it's not that much more of a burden than dumping your game ROMs from physical cartridges.
Actually, now that I think about it, Project EGG has a number of MSX games available for sale, including the MSX1 version of DS4. Does anyone happen to know offhand what they include in their MSX products, in terms of emulators and BIOSes? The Project EGG releases are kind of like an official release, and probably the most likely way for a lot of modern users to play these games, so whatever settings they use should probably be accommodated somehow.
You should also add a point about PAL / NTSC frequency, which makes the largest difference of all .
Yeah, definitely; that one slipped my mind. I keep forgetting that PAL MSXs are a thing!
Actually, now that I think about it, Project EGG has a number of MSX games available for sale, including the MSX1 version of DS4. Does anyone happen to know offhand what they include in their MSX products, in terms of emulators and BIOSes?
AFAIK they used to use MSXPLAYer. Not sure if that's still the case. No idea about what BIOS though.
I assume emulator users are still legally obligated to use BIOS files dumped from original hardware which they own, correct? I'm a bit unhappy with disallowing the only freely-available BIOS, but I guess it's not that much more of a burden than dumping your game ROMs from physical cartridges.
Note that Mr. Nishi (the copyrights holder) says that we can use the MSX Bios freely.
And presumably, Microsoft still owns the copyrights of the MSX-BASIC and the DOS kernel of the Disk-ROM v1.xx. So even the C-BIOS shouldn't be legal. The Disk-ROM v2.xx should be also free according to Mr. Nishi but be aware that Disk-ROM v1 and Disk BASIC are also included.
In short, in all cases these points are not clear but there has never been a lawsuit for that and there probably never will be as long as it is not exploited by a company without agreement.
On a sidenote: check out the OP's Twitch channel. Many great live runs of MSX (and other) Dragon Slayer games.
I have the feeling that DS wasn't very popular, at least in Europe. Anyone has an idea why? Maybe the language?