We're using cookies to ensure you get the best experience on our website. More info
Understood
@gtoalRegistered January 1, 1970Active 2 years, 1 month ago
2 Replies made

> If there was an Vectrex disassembler that produces c code already, this might be an option to look into.

As it happens… we have that now, if you’re still interested a couple of years later 🙂 It’s at https://gtoal.com/SBTPROJECT/6809sbt/

“6809dasm –vectrex –sbt file.bin” should output a C program that behaves the same as emulating that rom, but faster.
You might have to seed the disassembler with a .dat file containing a couple of known entry points to get it started, but if it’s just the one program you want to port, I can help ensure the translation is complete. (A huge speed win could come from *not* emulating the vectrex BIOS but by writing compatible native calls for the target system instead, but that may be too big a project to take on, especially for someone not already deep into the innards of the Vectrex – depends how much use the game makes of the BIOS)

It is somewhat ‘work in progress’ but it was good enough to let us run Star Wars so feel free to give it a try. My email address is easy to find (just google my name) and you can email me if you decide to use it and need help after downloading https://gtoal.com/SBTPROJECT/6809sbt/6809sbt.tar and building with ‘make 6809dasm’.

There’s a sample translation and an example .dat file (for the game “Polar Rescue”) in https://gtoal.com/SBTPROJECT/6809sbt/demo/

Graham

Since you need something like a 10 to 20 times speedup, optimising the emulator is not going to cut it. However there is a potential solution: pick a game and create a static binary translation (or more practically, a decompilation into C that can be recompiled for the VB) I would suggest replacing the default minestorm in the built-in rom woth a copy of Minestorm 3D, and producing an emulation of just that one game. (There are only a few 3D games on the Vectrex and they could each be handled this way)

You can read more about static binary translation at: http://gtoal.com/sbt/

The technique has been applied in the Vectrex world already to port arcade vector games to the Vectrex, running on attached ARM processors.