MSXVR unleashed

By S0urceror

Master (210)

Аватар пользователя S0urceror

07-06-2022, 09:59

I don't know about you guys but I am a big fan of the MSXVR. It is a solidly build machine with an injection moulded case and mechanical keys in a retro wedge-shaped design.

But can you run OpenMSX on it? Can you create your own software for it using modern tools and programming languages? Can you run a modern GUI on it and integrate all things MSX with it? Now you can!

After a lot of research I was able to tap into the special MSXVR hardware and create an hardware abstraction layer or API for it. This API I then used to create a command-line-interface that can interact with the cartridges, joysticks, leds, switches, power relais, etc. For example dumping a ROM from a cartridge from the command-line is now a piece of cake. Or create a simple shell script that plays a melody on the SCC or FMPAC.

And last, but not least, I am creating a special build of OpenMSX that runs on the VR as well. This allows us to emulate what we want to emulate and do the rest on real hardware. A kind of hybrid emulator. The machine-config.xml, menu and console allow you to switch this at runtime.

For now, I am first sharing a video of the VR in action. In a future post I will explain a little bit more about the library, the CLI and the OpenMSX build. All of this, plus a story how I reverse-engineered the hardware, will be on my Github soon.

What would you do with this library?

My wishlist looks like this:

  • Get the cartridge sound working.
  • Investigate some timing issues around I/O.
  • Finish the OpenMSX integration with real joystick and cassette support.
  • Create a Python wrapper for the CLI.
  • Run a Pyxel or PICO-8 game from a cartridge.
Для того, чтобы оставить комментарий, необходимо регистрация или !login

By raymond

Hero (643)

Аватар пользователя raymond

07-06-2022, 12:31

I also do like the MSXVR very much. I think the MSXVR team has done a fantastic job on both hardware and software level.

I am looking forward to be able to run OpenMSX on my MSXVR, Keep up the good work!

By Haze

Master (151)

Аватар пользователя Haze

07-06-2022, 17:22

Admittedly, that last bullet point probably got me to pay attention. Something about the thought of making PICO-8 work with real cartridges on actual MSXVR hardware just tickles me!

By tsmvp

Expert (76)

Аватар пользователя tsmvp

07-06-2022, 19:14

Does this replace the OS we get loaded on the SD-Card? My pet peeve with the MSXVR (I have one as well) is just the slowness of the onboard (SD card) OS. It is sluggish. The power button does not really work properly (it works at times, others it seems it does not register at all). Mine is in the box not being used due to the reasons above.
If there is an OS that I can boot and gets me directly to the MSX BASIC screen (allowing me to choose the MSX hardware I want like FS-A1GT, HB-F900, etc - in other words, OpenMSX) and have all the VR hardware working (slots, buttons, keyboard etc) then I can definitely see a much improved MSXVR!

CR

By geijoenr

Champion (364)

Аватар пользователя geijoenr

07-06-2022, 19:24

Haze wrote:

Admittedly, that last bullet point probably got me to pay attention. Something about the thought of making PICO-8 work with real cartridges on actual MSXVR hardware just tickles me!

Hey, it is even possible to port some pico-8 games to MSX, I know because I am actually trying to port one!

By Antxiko

Supporter (15)

Аватар пользователя Antxiko

08-06-2022, 15:42

Hi!

We are some MSXVR users from Spain and we are working on some cool things like you, we have right now support for the joysticks and another cool things Big smile We would be glad to share our findings with you if you like.

If you want to access the group, please write me to antxiko@gmail.com.

Thanks and greatings for such a great job!

By S0urceror

Master (210)

Аватар пользователя S0urceror

15-06-2022, 17:29

It's time to release my code into the wild. This is my GitHub repository: https://github.com/S0urceror/MSXVR

On it you'll find:

You have to build this on a real RaspberryPI or on the VR running Raspbian Buster. If you want to build OpenMSX please specify to enable the VR features. Otherwise you get a normal OpenMSX build:

export OPENMSX_TARGET_CPU=arm
export OPENMSX_TARGET_OS=msxvr

People interested in the reverse-engineering process, which is still ongoing, have a look at the Wiki.

If you don't want to build the code yourself. Please download the binaries which are part of the 0.1 release.