AdventureVision Graphics
ADVENTUREVISION [WIKI]
Graphics
Video circuit
Video circuit consists of:
- Motor – A 450rpm tape recording motor which spins 7.5 times per sec
- LEDs bar – A bar with 40 red LEDs
- Plastic plate with 2 mirror films – This reflects the light from the bar into the screen
- Sensor – Senses when the mirror is positioned at the first pixel’s column
Wobbling effect
AdventureVision suffers from a effect called "Wobbling", the 2 sides of the mirror doesn’t reflect the light in the same way making the image to have different perspective compared to the opposite side.
Displaying graphics with BIOS
The easiest way to display graphics on screen is to write the image into external RAM and calling BIOS $03 to display the content into the screen.
Each bank in external RAM is 50×40 pixels, starting from Bank 1 (leftmost) to 3 (rightmost), Bank 0 is only used for game data.
Each block start at offset $06 toward $FF, 5 bytes (40 pixels) in each column, left to right.
Each column is displayed from bottom to top, with the least significant bit on the bottom, the LEDs are active low (logic 0 will lit the LED).
On calling BIOS $03, the routine will wait for the sensor to toggle and start displaying the image into the LED bar, one whole column at a time by writing the data into the storage registers and latching them all at once, each column takes 44 cycles (61 cycles when crossing banks). The routine returns when all 150 columns were displayed into the screen.
The image needs to be always refreshed to archive the human "perseverance of vision" effect.