Detecting OpenMSX or RealMSX?

Page 2/3
1 | | 3

By mars2000you

Enlighted (5454)

mars2000you's picture

27-03-2019, 15:40

turbor wrote:

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

I think it's emulated in meisei https://www.msx.org/news/en/vdpmusic-by-hap-turns-your-vdp-i...

By TomH

Champion (322)

TomH's picture

27-03-2019, 16:17

For the benefit of the group, the video posted above shows use of display strobing — it looked like the display was disabled and the background colour was switched — to effect an audio output. I don't have speakers or headphones at work so I'm unclear on whether it is assuming power draw signal interference in the set, or that composite video will cross contaminate on the wire.

Either way, the effect being shown is one that wouldn't work on all MSXs. It's not an emulator / real hardware distinction, it's emulators + some real hardware versus other real hardware.

EDIT: per the hint above, and following that link, it appears to assume that the point of interference is within the modulated television signal. If so then it's presumably not applicable to any MSX that doesn't use a modulated television signal — SCART and S-Video users need not apply. And, no, there's no software way to detect that.

By turbor

Champion (415)

turbor's picture

27-03-2019, 16:25

Dang, didn't know that about meisei...
Call me impressed!

By Overflow

Resident (56)

Overflow's picture

15-04-2019, 16:11

HI!
IO-demo source is available since years. Check Pouet links.
In zip, look for test-inc.z80 file, then test_5s label.
Test relies on bit t5s testing: it occurs 1 scanline earlier on real vdp1.
Cheers!
Olivier (retired)

By Manuel

Ascended (15187)

Manuel's picture

15-04-2019, 17:36

What happens if we fix that?

By ricbit

Champion (423)

ricbit's picture

15-04-2019, 17:45

TomH wrote:

EDIT: per the hint above, and following that link, it appears to assume that the point of interference is within the modulated television signal. If so then it's presumably not applicable to any MSX that doesn't use a modulated television signal — SCART and S-Video users need not apply. And, no, there's no software way to detect that.

You can on the turboR, just turn on the microphone and listen for your frequency.

By Grauw

Enlighted (7891)

Grauw's picture

15-04-2019, 18:36

Wlcracks wrote:

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

I would use a key press on startup to trigger this emu-workaround. Then from a TCL script which is passed to openMSX by your build/run environment, I would force that key to be pressed with keymatrixdown/up and the "after" command when the emulator is started. If you need to pass a build to a 3rd party you can just tell em to keep that key pressed during boot.

By Louthrax

Paragon (2012)

Louthrax's picture

15-04-2019, 21:25

Manuel wrote:

What happens if we fix that?

I guess... openMSX would be even better and everyone would be happy Running Naked in a Field of Flowers ? (joking a bit here but fixing openMSX really looks like the best option ?).

By TheKid

Paladin (775)

TheKid's picture

16-04-2019, 08:07

Well, it all depends on what the intension of the openmsx developers is. If it is their goal to 100% accurately emulate MSX, there should not be a way to detect real msx or openmsx. And if someone finds a loophole, it should be fixed to match the real thing.

By Grauw

Enlighted (7891)

Grauw's picture

16-04-2019, 09:24

Louthrax wrote:
Manuel wrote:

What happens if we fix that?

I guess... openMSX would be even better and everyone would be happy Running Naked in a Field of Flowers ? (joking a bit here but fixing openMSX really looks like the best option ?).

If the detection specifically targets the issue that it fixes, I guess it's ok, since it will have the correct behaviour after the fix, too. However if it detects the emulator with something unrelated, it means if the one unrelated issue is fixed but the other is not, it breaks down. So I guess if there is a specific issue that needs working around and you really want to autodetect it, always detect it by that same issue. May not always be possible, but in that case I would really manually trigger the workaround like I suggested earlier.

By the way, in my experience the openMSX team is often really quick at fixing emulation errors, and you can grab a nightly build with the fix for further development. So that really is the preferred way. And it feels pretty good to be able to help improving the emulation too Smile.

Page 2/3
1 | | 3
My MSX profile