So I guess here's the backstory. I tried emulating Super Mario Bros. Special on MAME () and noticed that it ran the game much slower than the currently allowed X-Millennium. I was about to make a thread discussing a potential emulator rule change, however I noticed that the choice of emulator was not the main problem, but the emulation speed.
Currently the rules as of now is this:
"Because original Sharp X1 hardware is difficult to come by in the West, most runs will be played on an emulator. Your emulator MUST be X-Millennium 0.26d. It is also highly preferred that you capture the entire window of the emulator. Runs must be done in 8 MHz mode."
I done some research and noticed that the Sharp X1 never ran at 8 MHz. According to Wikipedia the Sharp X1 ran at 4 MHz
https://en.wikipedia.org/wiki/X1_(computer)
Sharp also released the Sharp X1 Turbo, but according to this site, that too only ran at 4 MHz.
http://www.old-computers.com/museum/computer.asp?c=259
Seeing how neither of these models ran at 8 MHz I think the Sharp X1 any% leaderboard needs to be wiped since it doesn't truly represent the original hardware. The runs that play at 8 MHz have an unfair advantage.
As for PC88 any% I believe that can stay since it did run at 8 MHz https://en.wikipedia.org/wiki/PC-8800_series
And I guess, one other small thing. Would you add MAME to the allowed emulators list along side X-Millennium.
Alright this is gonna be a long one.
Firstly, I had no idea MAME supported the X1 but I’m really glad it does because X-Millennium is outdated and inaccurate. Frankly, no speedrun in 2018 should ever be done on an emulator that was last updated at a time when Windows 98 was the world’s most popular operating system and most people’s internet speeds tapped out at 96k. I didn’t think we had much of a choice, but now that we do, I am definitely going to change the required emulator to MAME. Thank you for bringing this to light.
Now regarding the speed, I always knew that the game was intended to be played at 4 mHz because that’s the speed at which the music plays correctly, but I went with 8 mHz because that’s the speed at which the game actually feels somewhat like a real Mario game. My rationale was that I wanted to make the game more playable and fun to speedrun, but now I realize that this was foolish. By doing so, I distorted how the game was originally played by real X1 users back in the 80s. Sure, it’s a shame the game is poorly optimized, but that’s how it was published. Short of traveling back in time and replacing the developers with more competent ones, there’s nothing that can or should be done to fix it for the sake of speedrunning. As such, I will also change the X1 rules to require 4 mHz and cordon off the current two runs to a “Legacy” sub-category for preservation’s sake.
I also feel that now is a better time than ever to bring up a similar conundrum I’ve faced with the PC-88 version. Although real-life is the major reason I haven’t been actively working SMB Special this past year, the reason I initially stopped was that I discovered a minor difference in the gameplay that depends on which video mode you play it on. To break it down, when NEC first launched the PC-8801 in 1981, the primary graphics mode was called “V1” - 640 x 200 resolution, 8 colors. Two years later, NEC released a slightly updated model called the PC-8801 MkII and it featured a slightly optimized V1 mode called “V1H” - ‘H’ for ‘Hi-Speed’. The original V1 mode was then retroactively titled “V1S” - ‘S’ for ‘Standard Speed’. Most sources I read online said that the speed-boost offered by V1H affected loading times between screens of a game and not the actual gameplay itself. As such, I didn’t initially specify a required video mode for speedrunning the PC-88 version of SMB Special and I myself used V1H mode for my practice. But a few months later, I installed XM8 on another computer and forgot to switch the mode to V1H and upon playing the first level on V1S, I could immediately tell something was off - the gameplay was a tad bit slower. The music wasn’t affected because that’s tied directly to the CPU clock speed. I ran some tests and discovered that on average, V1H mode runs the game about 1% faster than V1S. That’s not a huge difference but it would add up over the course of a 35-50 minute speedrun.
So I was faced with a rather tremendous choice: which speed should be the official speed for PC-88 SMB Special speedrunning. After considering many factors including what the programmers’ intended and the default setting of each PC-88 model, I propose we apply the “lowest common denominator” principal and enforce V1S mode as the official mode for the PC-88 category. While almost every PC-88 system supports the V1H mode and most original players probably used that mode because it was the default on most systems, there is still the original PC-88 from 1981 that only supports V1S. However unlikely this would be, there is the possibility that someone who owns an original model PC-88 would want to speedrun SMB Special with their hardware and I feel it would be unfair to tell them they either have to use an emulator or spend many hundreds of dollars buying a newer PC-88 to do so. But like I said, this is just a proposal. Maybe I’m over compensating for an unlikely scenario or maybe we need to investigate further and find out if SMB Special would even run on that original PC-88 model. I’d like to hear what you and Gustlik think before I implement anything as law.
Since my "expertise" would be on the Sharp X1, I'll focus on that as of now. While, I do agree MAME should be supported as an official acceptable emulator, I still believe runs on X-Millennium at 4 MHz should still also accepted.
Yeah, it's 2018 and we shouldn't have to rely on an emulator from 2000, but my only main concern is accessibility. As far as I know, the only place on the Internet that has a file of the Sharp X1 version of this game also comes with the X-Millennium emulator. The emulator is also quiet easy to set up once you get your hands on it.
It took me quiet a while to set everything up for MAME, and in order to load the game on MAME requires another download on top of the ROM file and MAME. I can make a tutorial once I have the time,but I believe we shouldn't be raising the barrier of entry for a game that's already so unpopular. I totally agree the X-Millennium emulator has a ton of faults, but forcing people to set up MAME may drive people out.
Hmm.. maybe we could recommend people practice their speedruns on X-M, but still enforce MAME for official runs? I'm gonna do a 'deep dive' online to see if I can find an X1 emulator that is both easy to set up and more accurate than X-M. The source code is available after all; maybe someone has made a fork.
Okay, so I found a fork of X-M called X-Millenium T-Tune which from what I can tell boasts better sound emulation, a slightly refined UI, and better controller support. It also provides a workaround for the sound lag bug by setting the audio buffer to the lowest allowed value of 100 (the default is 1000) and the sampling rate to 48000 Hz or less. It's just as easy to set up as the regular X-M, so i think we should have this version be the required non-MAME emulator for official runs. Here's the download page: http://x1center.org/emu.html - I'll add it to the list of resources for easy access.