Use this information at your own risk. The information in this document was compiled by disassembling the BIOS and some games for the Videopac G7000 and by running small programs on the machine and on the o2em emulator by Dan Boris that is now maintained by Andre de la Rocha. I also used a disassembly of the BIOS generated by Paul Robson. The PAL/NTSC detection program is based on an idea from René van den Enden, who also filled in some of the details of the Videopac+ G7400. This document is not fully complete and may not be always correct. English is not my first language, so please forgive me any errors.
This is not meant as a manual for 8048 assembler. In this document I assume you already know how to program the 8048. You can get information about the 8048 processor and the rest of the MCS-48 family at this FTP server. You can also find several older 8048 assemblers running under DOS there.
All information about the hardware in this document is based on the "Odyssey² Technical Specs" at the home page from Daniel Boris.
If you find any bugs in the demo programs, mistakes in the text or have any other comments to this document please E-Mail me.
The Videopac G7000 is a video game console based on the Intel 8048 processor. In the United States it is known as the Odyssey². There are some differences between the machines especially in the video output, the Videopac G7000 outputs PAL video, the Odyssey² NTSC. For more details read the chapter about differences between PAL and NTSC machines. In this document I try to describe how to use the built-in 1 KByte BIOS. This is identical to both machines as far as I know. For general information about the machine look at the Odyssey² FAQ written by Robert D. Kaiser.
The full source codes to my demo programs can be found on my web page. There is also the latest version of this document in PDF and HTML format available. If you are seriously interested in programming the Videopac G7000 / Odyssey² I suggest you download the PDF version and print it.
The BIOS contains a very sophisticated interrupt routine which can do complex VDC (Video Display Controller) register movements at the next VSYNC, checks for collisions and uses some kind of macro code interpreter to generate the built-in sounds. You can insert your own code at three different positions into this routine. The BIOS reads the keyboard and joystick, displays character graphics and can even manage a simple clock.
The BIOS uses RB0 for its interrupt routine. 03Dh-03Fh from the internal RAM are also used by the interrupt, as is F1. For some purposes the interrupt routine interprets structured data in the external RAM starting with 07Fh and counting down to the end of the structure. The bytes 01h-02h in external RAM are used by the clock routines.