MSX1 benchmark & speed differences

Page 2/2
1 |

By Takamichi

Hero (585)

Takamichi's picture

20-11-2022, 16:52

Yeah any command can take indefinite time. Another possible factor; scanline interrupt assumes scanline is always constant and that is so with emulators but not with real monitors I guess. I thought so when Moon light Saga title "melted" one time. The game causes a lot of errors that don't happen on emulator.

NYYRIKKI wrote:

I've also been surprised on certain times about these BASIC speed differences, check ie this extreme situation:
https://www.msx.org/forum/msx-talk/general-discussion/msx1-45x-faster-msx-tr-really

I remember reading it. Is SCREEN 3 so slow on turboR? It happens only with BASIC or doesn't it?

By NYYRIKKI

Enlighted (5970)

NYYRIKKI's picture

24-11-2022, 07:13

Takamichi wrote:

scanline interrupt assumes scanline is always constant and that is so with emulators but not with real monitors I guess.

Monitor does not affect interrupts. VDP does the interrupt 50 or 60 times/second (depending of model / selected mode) regardless if monitor is connected or not. I've not noticed any difference on this when comparing real hardware and emulators. How long it takes to complete the interrupt handler is another thing and here all the mentioned differences start to affect. It is also true that on some machines the default interrupt handler takes always almost same time, while on others there might be ie. two fast handled interrupts followed by one slow handled interrupt.

This can become a problem indeed and that is why people sometimes just skip the BIOS and write their own interrupt handlers for games as then programmer gets full control of what happens in the machine and he does not need to guess. How ever this is not really option if you need real text input with correct keyboard layout. During text input there is anyway rarely full 100% performance needed.

NYYRIKKI wrote:

I remember reading it. Is SCREEN 3 so slow on turboR? It happens only with BASIC or doesn't it?

Yes... My point here was that there are minor differences in BASIC versions as well. In reality I would not try to compare speed based on any BASIC program as there are too many variables outside of your control that it can make faster computer look slower or other way around... It is a bit like you would measure modern computer performance by comparing how long it takes to load the Windows after power up. On some servers it may take over 5mins before they even get to loading, but it still does not mean they run more slowly in general. I do know there are minor differences in speed when comparing real MSX hardware to emulated hardware... I think it is possible that due to quality control and old age there are minor differences even in individual computers although they are same brand and model from same factory line, but I don't think this has ever been investigated. The point is that these BASIC programs can't be really used as reliable tests to get meaningful results as they tend to cause more questions than answers.

ie. in theory MSX CPU clock should tick 3579545.455 times/second, but you can safely ignore at least last 6-digits as in real life nothing runs that accurately.

Page 2/2
1 |