Emulator • Vectrex on CoCo 3

Vectrex Emulator with Berzerk

The Vectrex and the CoCo 3 both have a 6809 CPU, so this emulator doesn't interpret instructions. Cartridge code and most of the original Vectrex BIOS run natively. The GIME MMU rebuilds the Vectrex memory map, and the BIOS routines that drive the analog beam are patched to draw into a 256×192 bitmap instead. This disk boots the 1982 Vectrex cartridge Berzerk.

Native 6809Berzerk512K
Berzerk: the maze and the robots

Screenshots

Captured from the release disk running on MAME's CoCo 3 (512K) driver.

Cold boot: the VECTREX logo with start-up music
Moving through the maze
Into the next room

Download and run

Mount the disk on a 512K CoCo 3 (floppy, CoCo SDC, DriveWire, MAME or XRoar) and type:

RUN"VECTREX"

It cold-boots like a real Vectrex: the VECTREX logo in its animated dashed box with the start-up music, then Berzerk's title and the game.

Controls

VectrexCoCo keys
JoystickArrow keys
Button 11 or A
Button 22 or S
Button 33 or D
Button 44, F or SPACE

How it works

  • No instruction interpreter. The cartridge and the Vectrex BIOS run directly on the CoCo's 6809.
  • Memory map rebuilt by the GIME. The cartridge, Vectrex RAM, and the 6522 VIA (as plain RAM) are mapped where Vectrex code expects them.
  • Beam routines patched. Wait_Recal, Moveto, Draw_Line, the vector-list and pattern routines and Print_Str jump into handlers that draw lines into a 256×192 back buffer, triple-buffered across screens.
  • Everything else is original. Every other BIOS routine runs unmodified, including the cold start and the music sequencer.

The emulator itself is general. It also runs Mine Storm and other Vectrex cartridges, and a multi-game menu disk for CoCo SDC is in the works.