Detecting OpenMSX or RealMSX?

Page 1/3
| 2 | 3

Par Wlcracks

Champion (434)

Portrait de Wlcracks

25-03-2019, 17:06

Is it possible to detect in a program if its running on a real msx or OpenMSX.
Reading back from the debug out port always gives an 255 in OpenMSX but on my VG8000 is acting wierd and sometimes gives and 120. Not really a trusted methode i guess.

!login ou Inscrivez-vous pour poster

Par mars2000you

Enlighted (5822)

Portrait de mars2000you

25-03-2019, 18:02

For 99.99% of programs, it's not possible. The only way to detect if the program is running on an emulator is to include a feature that is not yet emulated or is buggy emulated, what becomes still more difficult with an always improved and more accurate emulator such as openMSX.

Of course, the emulator will be updated afer release of your 'test' program, so it's just a race between emulator's developers and MSX coders.

Par Wlcracks

Champion (434)

Portrait de Wlcracks

25-03-2019, 18:10

ok, but this could be a feature? Reading back from the openmsx debug port? Is this hard to implement?
Maybe more developers like this feature?

Par Manuel

Ascended (17692)

Portrait de Manuel

25-03-2019, 18:51

Why do you want this? The goal of the emulation is exactly that you can't detect by software that it is an emulator, as mars also pointed out.

Par Louthrax

Prophet (2399)

Portrait de Louthrax

25-03-2019, 19:01

Maybe you could use a TCL script that writes a tag in RAM 1s after boot ("openMSX" at 0x9000) or something like that (well, if you have control over the openMSX launcher...). But if you need that to circumvent a bug or problem in openMSX, the best option is still to report that to the team.

Par ren

Paragon (1729)

Portrait de ren

25-03-2019, 19:33

Overflow has written detection routines for his IO demo (to compensate for timing & some other issues): Patching IO demo

(Though it's a timing/'feature' check, not a specific openMSX check.)

Par Wlcracks

Champion (434)

Portrait de Wlcracks

26-03-2019, 16:49

Thanks all for the info.

Par Manuel

Ascended (17692)

Portrait de Manuel

26-03-2019, 22:01

Wlcracks: but can you still explain why you want to detect that you're on openMSX with your MSX program?

Par Wlcracks

Champion (434)

Portrait de Wlcracks

27-03-2019, 08:22

"N.O.P. is busy with an new project, that is not working on any MSX emulator yet. We need to detect the emulator though, to skip this technique for now and switching to an alternative method, to be able to continue developing the product. Waiting for any emulator to be adopted to this techniques could slow down the target release date.
For example, the OpenMSX debugger simulated hardware can output to "hardware", but it would be awesome to get feedback or a detection methode from it when it has been installed. "

Par Manuel

Ascended (17692)

Portrait de Manuel

27-03-2019, 08:42

I suggest you contact us to fix the emulator instead...! So far we have heard nothing yet, so we cannot even work on improving it... that means it will take even longer!

Par turbor

Champion (466)

Portrait de turbor

27-03-2019, 15:33

There are some things you can do on a real machine that not one current msx emulator emulates correctly...
https://www.youtube.com/watch?v=rGA_fVegAb4

If you would do something like that, that would
a) be way cool!
b) something that the enduser will notice but you can not detect in your program :-)

Page 1/3
| 2 | 3