Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Retro Virtual Machine v2.1

Reply to topic
Author Message
  • Joined: 31 Dec 2022
  • Posts: 4
Reply with quote
Retro Virtual Machine v2.1
Post Posted: Sat Dec 31, 2022 2:42 pm
Hello, I am the author of the Retro Virtual Machine emulator.

I have released a new version with support (among others) for the Sega Master System and the Sega SG-1000.

I have tried to make the emulation as accurate as possible, emulating both the timing and aspect ratio of each model (NTSC, PAL, etc.), as well as their peculiarities.

Please try it out and feel free to ask me any questions you may have.

You can find the emulator for Windows, Macos and Linux on my website:

As I am new on the web, it does not allow me to post links, but if you search the name on Google you will find it easily.

Regards.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sat Dec 31, 2022 4:56 pm
retrovm wrote
I have tried to make the emulation as accurate as possible


Did you test your Master System VDP implementation with this?
  View user's profile Send private message Visit poster's website
  • Joined: 31 Dec 2022
  • Posts: 4
Reply with quote
Post Posted: Tue Jan 03, 2023 12:00 am
sverx wrote
retrovm wrote
I have tried to make the emulation as accurate as possible


Did you test your Master System VDP implementation with


Yes, it was very helpful, Rvm passes all tests
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Tue Jan 03, 2023 8:06 am
retrovm wrote
Yes, it was very helpful, Rvm passes all tests


Good! :)
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Tue Jan 03, 2023 10:09 am
I just gave it a quick look. A few random comments/questions:
- What's the difference between picking an SMS machine or an SMS II one? Only graphical appearance on screen? (as they seem to emulate the same VDP version...)
- The NTSC+FM SMS machine appears with a Japanese flag, but is that emulating a Japanese SMS? The region detection says it's not properly doing so.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Dec 2022
  • Posts: 4
Reply with quote
Post Posted: Thu Jan 05, 2023 7:52 pm
sverx wrote
I just gave it a quick look. A few random comments/questions:
- What's the difference between picking an SMS machine or an SMS II one? Only graphical appearance on screen? (as they seem to emulate the same VDP version...)
- The NTSC+FM SMS machine appears with a Japanese flag, but is that emulating a Japanese SMS? The region detection says it's not properly doing so.

The differences between the SMS1 and the SMS2 are that in the SMS2 (PAL versions), new graphics modes are accepted in order to better utilize the screen size. This means that games like Micromachines, for example, only work on a PAL SMS2.

I also implemented a slight change in the first 16 colors of the palette that only occurs in the SMS1.

As far as model detection is concerned, it is possible that it fails due to not having a BIOS. I want to add the possibility for you to add BIOS in future versions.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sun Jan 08, 2023 2:26 pm
retrovm wrote
The differences between the SMS1 and the SMS2 are that in the SMS2 (PAL versions), new graphics modes are accepted in order to better utilize the screen size. This means that games like Micromachines, for example, only work on a PAL SMS2.

I also implemented a slight change in the first 16 colors of the palette that only occurs in the SMS1.

As far as model detection is concerned, it is possible that it fails due to not having a BIOS. I want to add the possibility for you to add BIOS in future versions.


So, if you're really supporting the differences between the two VDPs and you want to replicate the quirks of each one, the so called 'sprite zoom bug' is not present (also, it's not really a bug). That's the reason why the detection fails, it has nothing to do with the BIOS being there or not.
  View user's profile Send private message Visit poster's website
  • Joined: 24 Mar 2021
  • Posts: 120
Reply with quote
Post Posted: Sun Jan 08, 2023 7:33 pm
sverx wrote
the so called 'sprite zoom bug' is not present (also, it's not really a bug).
Surely the difference in behavior depending on how many sprites are drawn on a scanline makes it a bug?
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Mon Jan 09, 2023 8:34 am
lidnariq wrote
Surely the difference in behavior depending on how many sprites are drawn on a scanline makes it a bug?


I would have said so too, but then nicoleexpress pointed out that sprite zoom capability isn't listed at all in the original VDP mode 4 (the sprite 'magnification' bit was going to be used only in other modes whereas on mode 4 the official instructions were to set that to 0) so how can I still call that a bug?

It's a quirk that can be exploited to have a few zoomed sprites in the best case scenario.
  View user's profile Send private message Visit poster's website
  • Joined: 24 Mar 2021
  • Posts: 120
Reply with quote
Post Posted: Mon Jan 09, 2023 7:34 pm
I suppose that's an interesting philosophical question: Is it still a bug if they explicitly said not to use it?

A design flaw, if nothing else, since they bothered to change the behavior in the later-model SMS VDP, and not just disable it entirely (unlike in the SMD VDP)
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Tue Jan 10, 2023 8:39 am
lidnariq wrote
I suppose that's an interesting philosophical question: Is it still a bug if they explicitly said not to use it?


We see it as a bug of the first revision VDP because we think retroactively - our bias is based on the fact that the second revision VDP had the sprite zoom feature. That feature wasn't there on the first revision VDP for mode 4, and wasn't supposed to be. What you get there is a side effect of setting a bit that is not supposed to be meaningful and should not be set (a.k.a. 'must be zero') in mode 4 for regular operations.

lidnariq wrote
A design flaw, if nothing else, since they bothered to change the behavior in the later-model SMS VDP, and not just disable it entirely (unlike in the SMD VDP)


I think, and again this is just my opinion, that they wanted to improve the chip to add a new selection of exclusive games, so they added the additional resolutions and the sprite zoom feature. The Genesis/MD VDP might have been already in development by then, and compatibility with SMS mode 4 was probably decided even before the SMS VDP was improved with sprite zoom and the additional resolutions. The Game Gear's VDP, on the other hand, was clearly based on the improved SMS VDP, and it's in fact supporting all the new features.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Dec 2022
  • Posts: 4
Reply with quote
Post Posted: Wed Jan 18, 2023 8:15 pm
sverx wrote
retrovm wrote
The differences between the SMS1 and the SMS2 are that in the SMS2 (PAL versions), new graphics modes are accepted in order to better utilize the screen size. This means that games like Micromachines, for example, only work on a PAL SMS2.

I also implemented a slight change in the first 16 colors of the palette that only occurs in the SMS1.

As far as model detection is concerned, it is possible that it fails due to not having a BIOS. I want to add the possibility for you to add BIOS in future versions.


So, if you're really supporting the differences between the two VDPs and you want to replicate the quirks of each one, the so called 'sprite zoom bug' is not present (also, it's not really a bug). That's the reason why the detection fails, it has nothing to do with the BIOS being there or not.


I read about this bug some time ago and had completely forgotten about it.

Thank you very much I have implemented the bug, as well as the differences in port 0x3f for the Japanese sms.

Now I should pass the region autodetection routines.

the new version (2.1.4) is available on the web.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!