Magnavox Odyssey 1 Emulator
How to play Magnavox Odyssey 1 Emulator
===========================
ODYEMU
Magnavox Odyssey 1 Emulator
===========================
Design & Development : Paul Robson, David Winter
Coding : Paul Robson
Testing & Resources : David Winter
Introduction
------------
This program is an emulator of the Magnavox Odyssey 1, the first ever
Videogame console. Now you can have hours of fun playing the exciting
games packaged with this thrilling electronic toy.
Before all: the Odyssey has NO sound and uses NO ROMs, so do not ask
for ROMs, and do not ask for additional cartridge files since the 12
cartridges ever made for the Odyssey are provided with the emulator.
This is actually an emulator, not a simulator. The Odyssey is effectively
a programmable analogue computer, which is rewired by plugging in
cartridges, connecting different bits of the circuit in different ways
(you can look at the complete Odyssey schematics, available on the web
at http://www.vintagegame.com : it is not as complex as it looks, since
the layout is ruined by the need to have the connector placed on the far
left).
The program doesn't simply simulate the behaviour of the games. It
emulates the behaviour of the circuitry in a fairly simplified manner.
The design of the Odyssey is modular (see David Winter's pages) and as
such some of it can't be rewired ; you don't need Spice to simulate it.
However, it is possible, within certain limits, to use it to develop
and test games for the machine.
Running the Emulator:
---------------------
To run an Odyssey cartridge, simply type: ODYEMU <CartName>.
For example, type "ODYEMU CART1.MO1" to play cartridge 1.
Type "ODYEMU TENNIS.MO1" to play TENNIS (cartridge 1 with TENNIS overlay).
Cartridge names have the extension ".MO1" by default, and a same
cartridge can be used to play several different games. See the Odyssey
manual for more information.
Because the emulator uses lots of keys, you can use the SETKEY.EXE
program to set the keys used under emulation. The keys are saved in the
KEYBOARD.DAT file.
The Odyssey is not a "console-only" system. Except TENNIS, nearly ALL
of the games require numerous accessories to be played. Those accessories
are not yet implemented. They will be available as soon as we get enough
time to design their artwork and software manager. All the overlays are
not yet implemented: for now, only TENNIS and FOOTBALL overlays are
already available. Only FOOTBALL was hand-drawn from a true overlay.
Controls:
---------
A major problem is the emulation of the rotary controls. The controllers
of the Odyssey were made of three rotary knobs (potentiometers) and one
push-button. Emulating those potentiometers is not possible unless you
design your own hardware allowing to connect original (or remade)
Odyssey controllers to your PC. The emulator will simulate the user
action on those potentiometers via 6 keys (Up, Down, Left, Right,
English Up and English Down). Note that it is possible to have the
Up/Down and English Up/Down as the same keys. There is also a seventh
key emulating the hand button controller. This is normally (but not
always) used to serve the ball.
By default these are :
Left Right Up Down EngUp EngDown Serve
Player 1 Q W R D T F Z
Player 2 Y U O K P L M
If you don't like this combination, you can redefine any of those keys
using the SETKEY.EXE program. It's incredibly basic but it does the job.
The keys are saved in the KEYBOARD.DAT file. If you want to restore the
original settings, just delete this file and run SETKEY.EXE again.
It may be easier if the Up/Down and the English Up/Down are on the same
key. It's down to personal preference.
In a futile attempt to get them to operate like rotary controllers these
have an acceleration and deceleration: they do not operate in a simple
on/off fashion.
To help with the English, the current english position is shown by a
little bar sticking out of the left and right sides of the player spots.
The Rifle is emulated using the mouse. Any cartridge that powers the rifle
will cause a little sight to appear on the screen, which can be controlled
by the mouse. The Left Mouse button is fire, the Right Mouse button is the
reset. A "bullet" is fired on the off->on transition of the Left button.
The keys 1,2,3,4 can be used to "trim" the Odyssey. Keys 1 and 2 trim
the ball speed, Keys 3 and 4 the wall position. Values can be 50% to
150% of normal. Note that you can change those parameters on a real
Odyssey.
Odyssey models:
---------------
There are two different Odyssey models. One has a fast ball circuit
connected via pin 32 [1TL200 BLAK]. The other has this pin unconnected,
and a wierd circuit connected to the ball size circuitry. I haven't got
a clue what this does yet, other than it affects the ball size, but
it is turned on via pin 24 [1TL200 BK12]. On the "other" model, the
corresponding pin is not connected.
Neither of these are used in any of the carts I know of, so I've ignored
them for the time being.
Cartridges:
-----------
The cartridges are just text files specifying the connections and the
overlay eventually used. Additionally, the overlays can be made opaque.
What this means is that the pixel at the top left corner of the screen
is the only transparent one, and the "spots" are hidden when they go
behind every other colour. In the future, the opacity will be replaced
by transparency, since some colors are more or less opaque.
An example :- (The "Tennis" Game)
2-4
6-8-10-20-22
30-34
31-39
35-37
42-44
@TENNIS.BO1
OPAQUE
The numbers say what pins are connected to what. These are *not* the pins
in David's site, or Shaun's FAQ, but those on the original schematics.
The last two lines tell us to use TENNIS.BO1 as the backdrop (overlay),
and that it is opaque (actually in reality it isn't).
The TENNIS.BO1 file is an RLE Compressed BMP file containing the
graphics of the overlay. You can design your own overlays and use
them with the emulator. To do so, you must use 320 x 200 x 8 bit colour
BMP files that you will later convert to RLE files using the BMPTORLE.EXE
utility. This program is used as follows: BMPTORLE Source.BMP Target.BO1 .
OdyEmu.Ini
-----------
This file contains the internal settings of the emulator. Note that
some parameters could let you think that there is no real emulation.
This is obviously false: all the settings can be done on a real
Odyssey, except a few ones which are still required by the emulator,
due to some parts for which an emulation was absolutely not relevant.
Don't fiddle with this file without taking a copy. The one thing I'll
let you change is Auto1 and Auto2, which makes a side play by itself.
You can also do the equivalent of twiddling the trimmers in the circuit
(actually you change the capacitors), and size the various objects.
Known Limitations:
------------------
Do not worry if you haven't got the faintest idea what any of this means.
The following lines describe the limitations of the emulator because of
the operation of a real Odyssey. Do not pay attention to the meaning of
what is written there. Just browse this text when you found something
wrong in the emulation, and want to know what the problem is.
Circuits can also be powered via the hand control buttons. At present,
they are powered only via connections to pin 6. So whilst I think it
would be possible to have a hand controller disabling screen elements,
it won't work. Actually, I'm not sure if it is possible anyway :)
[You can of course disable them by dragging the video signal to 0V]
Damping is extremely simple. A connection 3-5 or 26-28 will damp both x
and y axes. In reality 3-26 and 5-28 are possible and also only one may be
damped. It should also be possible to connect them together, though I
haven't got a clue what this will actually do.
Collisions between objects causing flip flops to toggle, or circuit
elements to be crowbarred only works for multiple spot collisions when
there are two of them. It would be possible to crowbar on (say) collisions
of ball and both players simultaneously, but this doesn't work.
When evaluating, the system doesn't check that the appropriate signal lines
(2 for each player, 3 for ball !) are used to make the correct AND gate
circuitry. Some come from the spot generators, others from the video
mixer. Basically use the ones used in the real games :)
If Ball.Wall (logic combination) is used in a non-gate-matrix circuit,
it will detect ball.wall globally as opposed to only at the collision
point. Basically don't use the ball.wall line in anything other than an
object collision circuit.
The Ball Flip Flop cannot operate in a scanline mode, only a frame one.
You could create mad cartridge that toggled it at different scanline
positions. This won't work with the emulator, so try with your old
Odyssey.
Some circuits have a pseudo wall where the wall circuitry is powered
indirectly through pin 10, which produces a barely visible wall in the
wrong place. This is not emulated, and is probably a manufacturing mistake
on the cartridge(s).
Technical Notes:
----------------
This was written in Borland Turbo Pascal 5.5 (I hate the name Inprise).
If you want the Microsoft Windows version, attach a 4Mb file of junk to
the end of the .EXE using "COPY" and run it on an original IBM PC/XT at
4.77Mhz.
What is emulated:
-----------------
- The complete Odyssey system is emulated
- The rifle extention (Shooting Gallery) is emulated with the mouse
- All of the 12 Odyssey cartridges are provided
- The emulator saves the states of the controllers since some games use
more than one cartridge (each cartridge being used for a part of the
play)
What you can do with the current version of the emulator
--------------------------------------------------------
You can try all the 12 Odyssey cartridges. You will only miss the
accessories to play the games which require them.
Playable games:
TABLE TENNIS : run the emulator with CART1.MO1
TENNIS : run the emulator with TENNIS.MO1
VOLLEYBALL : no overlay, run the emulator with CART7.MO1
What has to be done:
--------------------
- The missing overlays of the games
- Manager for the accessories required to play the games which use them
- Odyssey manual available whenever required durring emulation
- Scanline mode to make it more real...
In case of problems:
--------------------
Please do not email us unless you get a REAL problem with the emulator.
Remember: this is a DOS program, so don't complain if WINDOZE makes it
crash. If you don't know how to access MSDOS, go to a boot sale and get
a cheap 386 machine. The emulator does not require more than a basic
286 machine with a VGA card.
People willing to help with artwork are MORE THAN WELCOME. We are
programers, not "artworkers". Your artwork is needed to improve the
quality of the emulator. If you can help, you are a great ressource.
Help David Winter and his collections:
--------------------------------------
David collects old videogame stuff: from the first PONG machines to the
late cartridge-based consoles. If you have an old thing that you would
get rid of, you can donate it to his collection.
Contacting us:
--------------
You can contact David by email at d_winter@hotmail.com .
You can contact Paul by email at AutismUK@aol.com .
Thanks:
-------
Before all, I [David Winter] would like to personally thank Ralph Baer
(the inventor of the videogame system and the Odyssey), for always being
there for helping as much as he could, for passing a long time to find
the information I was looking for. Without him, the emulator would have
never been done.
Thanks to the people who made the Odyssey schematics available online,
and the people who kept their Odyssey consoles which later went to
David's collection.
Thanks for all the emulator developers, the webmasters of emulation and
retrogaming sites, and the videogame collectors.
And of course: thank you for using our emulator. We've worked hard to
make it work, and we hope you'll like it.
Paul Robson and David Winter, December 1999.
Magnavox Odyssey 1 Emulator Description
The Magnavox Odyssey was the first home video game console, predating the Atari Pong home consoles by three years. The Odyssey was designed by Ralph Baer, who had a working prototype finished by 1968. This prototype is affectionately known as the "Brown Box" to classic video game hobbyists. Unlike all later video game consoles, the Odyssey is analog rather than digital, which makes its invention all the more amazing in spite of its rather crude graphics and controller responsiveness. The Odyssey and its successor are the only consoles that lack sound capability . Therefore, they are silent consoles.
The Odyssey used a type of removable circuit card that inserted into a slot similar to a cartridge slot. The system also came with plastic overlays that gamers could put on their TV screen to simulate the playing of different "games," but only two TV sizes were supported. It also came with plastic game tokens and score sheets to help keep score, much like more traditional board games.
The Odyssey was released in 1972 but was a commercial failure. Magnavox did win a court case against Nolan Bushnell for patent infringement in Bushnell's design of Computer Space, as it somewhat resembled the games for the Odyssey.
The Odyssey was successful enough to support an add-on peripheral, a "light gun". This detected light from the TV screen, however pointing the gun at a nearby light bulb also registered as a "hit".
Ralph Baer went on to invent the classic electronic game Simon for Mattel in 1979, which became the most popular electronic handheld of all time. Magnavox would later try releasing another video game console, the Odyssey 2, in 1978.
Nintendo's first venture into the console world was selling the Magnavox Odyssey in Japan, before they made their own consoles.