Vectrex System - Hardware and Periphery Vextrex Games - Modules and Cartridges Vectrex History The last Vectrex news... The museum´s shop Vectrex Links - Info and Collectors pages

Back to Vectrex Programming Tutorial Index

Using the emulator to program vectrex programs

In general, the vectrex emulator does it's job fairly well. BUT you can't rely entirely on it. Most of the time if you do things like you are supposed to, you'll be allright. If you use the BIOS routines you won't get into any trouble (unless you really ask for it). For one BIOS trouble maker, look at the dot-plotting section, and why to insert a delay loop.

What the emulator can not cope with:

- time critical programming of VIA registers, vector hardware (this probably only applies to hardcore optimized vector routines) (might try recompiling the emulator, with different analog section enabled, this gives you <some> more accuracy) (But :-) the right things will allways be right on the emulator too)

- e-function style integrator stuff, watchable with a real vectrex mainly by switching the ~BLANK to enable while zeroing

- 3D imager programming, if done in no timecritical way, using the timing parameters for a known 3d game (Narrow Escape preferably), should be ok, on the other side, perhaps not, I have no Imager, so I can't test it very well...

- using different VIA Shift register settings than 4, which is now the only used one

- Integrator offset stuff implemented, but never tested, probably not 100% correct

- fixed vector wobbling if not drawn in a 30,000 cycle update round
- flicker not corresponding to vectrex update frequency (might change DVE update frequency though)

- analog hardware failures/differences because of age (not all anyway)

- some parts of vectrex test program are not correctly handled

- weird stuff I can't think of now

This sounds as if the emulator is of no use. WRONG.
As I said, the emulator is quite good. It runs by now every available commercial and non commercial program nearly perfectly, this includes weird ones, like lightpen using ArtMaster (with RAM expension), Pole Position (which changes DAC values while drawing a vector), Spike (digital sound), Clean Sweep (different vector drawing routines)...

Vectrex Frogger was programmed using the emulator till I got my vectrex hooked up. There was only one stupid mistake I (not the emulator) made. It caused a small offset of all vectors, that was all. Well one other thing, the wobble effect, when not updated in a 30,000 cycle round. But in many respects the emulator can be of invaluable help. Cycle counting, there is a function in the monitor, that calculates the cycles per update round (when using Wait_Recal function), with it you can test the speed of your program, it should be under all circumstances under 30,000 in order to have a solid image. You have a debugger, can set breakpoints, watch all registers, change values of registers and ROM/RAM locations online. Set watch points for memory locations and and and.

If you use the assembler I use, you can create automatically control files for use with DVE. This enables you to use all variables, function names, and constants while in the DVE monitor! Just write something like:

WATCH frog_x

And a window will pop up, which will allways show the RAM location frog_x, which might be something like $c8f5 (or whatever???).

IMHO, the vectrex emulator is not perfect, nor will it ever be perfect, since there are many analog parts that cannot be (easily) emulated, but it is of great use for programming vectrex.

Last Page

Vectrex Programming Tutorial Index


 


Vectrex Last Minute RSS

Related Links and sources

Please note

The Museums Staff can not answer any programming related questions. If you have extra info about this page, if you noticed errors, please help to maintain this site. Please send us the information you have.

 

 

Back to Programming Docs Index
 
 

vectrexmuseum.com