|
Post by demirug on Nov 5, 2019 12:49:18 GMT -5
Hi everyone,
As a little side project I started to work on a Vectrex emulator. Mainly to challenge myself to see if my thoughts about the Clean Sweep problem are correct.
As I am normally working as an (online-)game developer I though I could add some of the features I am using there to my emulator, too. - High score lists with an option to watch replays - Playing two player games over the network - Playing single player games live against other to see who can get more points (with the same random seeds to make it fair) - ...
But the question is if there are even people interested in such things? Or is the general believe that a good emulation should just emulate the original system as close as possible and nothing more?
|
|
|
Post by VectorX on Nov 5, 2019 12:51:36 GMT -5
I'm for this, at least. It sounds cool. And I wouldn't just limit it to making it as close to the original as possible either.
|
|
|
Post by VECTREXER on Nov 5, 2019 15:10:36 GMT -5
Hi everyone, As a little side project I started to work on a Vectrex emulator. ••• - High score lists with an option to watch replays - Playing two player games over the network - Playing single player games live against other to see who can get more points (with the same random seeds to make it fair) - ... But the question is if there are even people interested in such things? Or is the general believe that a good emulation should just emulate the original system as close as possible and nothing more? Definitely interested in this project. Good emulation of the visual aspects of the Vectrex should always be a goal. The visual aspects are one the unique experiential points of this systems. Also up for the new features! I have requested Remote Simultaneous and Turn-Based Two-Player options for all of the current and past emulators. As well as for the more intelligent cart hardware like Vectrex32 and VecFever. Would be great to see this in a new Vectrex emulator. Please consider putting in some good delay+rollback netcode if a remote capable 2-Player is addressed. Good to have More than two players as well. Some of the titles out there, and yet to be released have options for more than two simultaneous players. Accomplished by dividing and splitting out the controllers. Such as each axis on the joystick assign to a separate player. And doing the same for pairs of controller buttons. I think the current number of simultaneous places for a released game is NOX with four players. The point of this comment is to request a remote player mapping feature that allows designation of the controller inputs to X remote player. Start with a goal of 2 remote players. But eventually scale up to 12 remote players. (8 Buttons + 4 Joystick Axis's) For a Remote Play option, allow for a setup of a Server where the actual game is running separate from the remote players's systems. This would be done as game play equalization method to keep game fair(er) for all players. Love the idea of high scoring. Would like to see support for permanent retention of high scores for all known Vectrex titles. als If you could communicate with Thomas Sontowski, it would be great if your emulator supported his own V4E games, and static binary translation (SBT) feature that VecFever supports.
|
|
|
Post by demirug on Nov 5, 2019 17:19:24 GMT -5
Thank you for encouraging me.
Adding support for more than two player would be easy. I just wasn't aware that there are already games build that split the inputs of a single controller (port) into multiple players. Therefore 12 players where everyone controls just one single input would be doable.
Adding support for one of the "smart" carts might be more complicated. To do this the exact hardware specification of these carts is needed. And the bigger problem from a legal point of view is that these carts have an own firmware that cannot just been copied. It boils down to that someone needs an OK from the creator of the special cart to do this.
I am not sure what you expect from a static binary translation. In general this is a technology that is used when you want to convert code from one CPU architecture to another without having the original source code. Additional the target CPU should not be fast enough to just run a regular emulator. In the case of the vectrex every modern CPU is multiple times faster as the 6809@1.5MHz. Beside of this SBT gives you a single program for just one ROM not a general emulator that would work with any ROM. Emulators for more modern systems uses dynamic binary translation but in the case of the Vectrex CPU this would be total overkill today.
Based on what I have measured so far the additional chips (VIA, Audio) and the analog part of the vectrex will need more cpu power to emulate as the 6809 CPU. You cannot do this with a high level emulation as the vectrex is very clock sensitive. Therefore my CPU emulation I am already working on is emulating every single read write cycle in the correct order. As I am believing that this is definitive needed to get games like Clean Sweep emulated correct.
|
|
|
Post by 50tbrd on Nov 8, 2019 4:16:59 GMT -5
There is definitely interest in network capabilities. Good candidates to support this feature are Berzerk (this is a maze elimination type game) or maybe NOX.
|
|
|
Post by demirug on Nov 8, 2019 9:50:03 GMT -5
There is definitely interest in network capabilities. Good candidates to support this feature are Berzerk (this is a maze elimination type game) or maybe NOX. My plan is to do it in generic way so that it will work with any game that supports multiples players on a single Vectrex. If the game doesn't support multiplayer I can only provide a mode where everyone plays alone but you can see the "screen" of the other player and the current points. There will be a limit how many other players can fit on the screen. And to know which player has the most points the game needs to either use the Bios high score functions or need some additional configuration. I have other ideas like live and asynchronous tournament modes but let's start with one thing first and when the emulation result itself is satisfying my current candidate for the first online feature would be the support for online playing for games that already supports multiple players on a single system.
|
|
|
Post by demirug on Nov 16, 2019 10:50:17 GMT -5
Hi, Though I post a little update with some images Disclaimer: This is just the beam generator in action. All the nice stuff that will make it look more like a real vector display/Vectrex is still missing. But it already allows to play standard ROMs with the keyboard or an XInput compatible controller. Audio (including the famous direct CPU controlled sound) is working, too. Therefore I hope I can release a first alpha version soonish. When it comes to the UI for the online features do you prefere something in the Vectrex style? With the look and feel like it could have been a real service back in 1982 on the Vectrex itself with a special modem/online cartridge? Or should I aim for a modern UI?
|
|
|
Post by VECTREXER on Nov 16, 2019 14:32:09 GMT -5
Hi, When it comes to the UI for the online features do you prefere something in the Vectrex style? With the look and feel like it could have been a real service back in 1982 on the Vectrex itself with a special modem/online cartridge? Or should I aim for a modern UI? I could like either a retro interface or a modern UI. For speed of navigation and ease of maintenance I think a modern UI for emulator options and control would suit me better. With lots of hot keys for various functions. Will you support stereo VR (desktop headset or mobile phone head mount) for display of 3D Imager titles?
|
|
|
Post by demirug on Nov 16, 2019 18:00:32 GMT -5
Will you support stereo VR (desktop headset or mobile phone head mount) for display of 3D Imager titles? That is something I like to support at some point. But it is not my top priority right now.
|
|