Detecting OpenMSX or RealMSX?

Pagina 1/3
| 2 | 3

Door Wlcracks

Champion (321)

afbeelding van 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.

Aangemeld of registreer om reacties te plaatsen

Van mars2000you

Enlighted (5497)

afbeelding van 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.

Van Wlcracks

Champion (321)

afbeelding van 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?

Van Manuel

Ascended (15691)

afbeelding van 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.

Van Louthrax

Prophet (2076)

afbeelding van 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.

Van ren

Paragon (1219)

afbeelding van 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.)

Van Wlcracks

Champion (321)

afbeelding van Wlcracks

26-03-2019, 16:49

Thanks all for the info.

Van Manuel

Ascended (15691)

afbeelding van 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?

Van Wlcracks

Champion (321)

afbeelding van 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. "

Van Manuel

Ascended (15691)

afbeelding van 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!

Van turbor

Champion (425)

afbeelding van 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 :-)

Pagina 1/3
| 2 | 3