Skip to content
Menu
VecFever
  • Home
  • Vectrex Projects
  • Contact/Policy
  • Info.
VecFever

Vectrex 6809 cart. emulation the VF way

Posted on 10. February 202110. February 2021

Since the v2 firmware was also specifically developed for arcade environments and/or new vectrex repro. pcbs lately I have started also developing standalone emulators for a few Vectrex cartridges. Besides being able to play them in landscape mode, say in an Asteroids cabinet, the aim here is in contrast to arcade emulators not to take over the entire input/output and keep the identical frame rate as the original game: these original Vectrex games most of the time try to use a stable refresh rate using a hardware timer via the exec bios’ wait_recal function but frequently (or in some cases always) fail to reach it, resulting in varying game speeds and esp. slowdowns (e.g. Berzerk with ‘too many’ robots).

The Vectrex emulators however do not slow down the gameplay but let the game run at the envisaged, stable speed.

Since this was the desired outcome right from the start they internally do not only not need to be cycle accurate – even the entire Vectrex ROM does not need to be emulated: it is simply substituted by a version sitting on top of the VF library. So all these emulators as usual inherit the global options and calibration settings: e.g. they support other monitor orientations, can be localized since the string functionality is taken over and this bitmapped output also changeable for different vector output hardware. Almost as a side-effect -but really nice to have- this also calibrates the vector output for the vintage overlays for the normal, upright orientation of a Vectrex (which btw. was also done for BattleZone using the StramashZone overlay).

So what does the result look like ? In most cases pretty much like the original game except without slowdowns. Vectrexagon plays identical to the original cart., except now also in landscape mode and/or outputs texts in French or German, stores the high scores and, at the behest of the French master player, fixes the score display (the original fails >999 secs). Another example: an eagle-eyed and perceptive Vectrex gamer mentioned that Scramble is running ‘too well’ since the background sound is not slowing down a bit sometimes. Absolutely correct – the game runs not only at a stable rate but I had to add quite a few additional, identical frames to slow the output down to the original game speed (and keep a stable frame rate for arcade monitors). However for the most challenging difficulty setting I chose to not add these additional frames but switched to the max. speed in Scramble to be able to play the more challenging setup (which I personally prefer). Which gives you an example of the stance I am taking here: to be able to play the games in a fun incarnation, not emulating them as close as possible to the original. This is however quite different from all the arcade games – there the goal is to play the games as original as possible so these all aim to be cycle accurate – which is why I am writing this blog entry..

This approach works best for Vectrex games which profit the most of it: the ones using the Vectrex ROMs to draw -read: flickering and slow ones. So almost all vintage cart. but also quite a few home-brew ones. A few use small setup or drawing macros to increase the performance which also can be handled this way but the approach breaks down once the game actually needs cycle accuracy. One vintage example here being Spike: this 8K ROM is using a 4K game ROM with a separate, custom video/audio player in the upper 4K for the animation with digitized sound. This custom player is both cycle dependent and a bit more hw dependent – it uniquely (for vintage games) uses the digital output bypassing the AY8912 sound chip – and does also not wait for any frame timer. The graphics animation can be taken over easily but the digitized audio output is near impossible, it sounds a lot worse when the timing changes – and this timing just has to change for an abstracted audio/video layer.

the current Vectrexagon champion, Damien: 1228:54 !

©2023 VecFever | Powered by WordPress and Superb Themes!
Manage Cookie Consent
We use cookies to optimize our website and our service.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage vendors Read more about these purposes
View preferences
{title} {title} {title}