|
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
|
|