Strony

2010-03-12

It's full of stars! - Vega, part3

I was wrong - there's no "type 3" sprite. It's just a background layer made of 16 different 32x32 pixel tiles. Tilemap (128x8 cells (4096x256 pixels), animated (flashing stars and texts) ) is hardcoded inside one of eproms used as a lookup. Here's a screenshot from game - shows only the most boring part of bg - stars: Game is not playable (yet) so i can't see other levels / backgrounds. These images are ripped directly from the tilemap (wrong colros, as usually ;) : There's also an interesting hw feature - background can be stretched horizontally (in fact - vertically (div scnaline clock by 2), because screen is rotated by 90 deg). It's probably used (only?) to display the planet surface:

2010-03-10

25 light-years away from home - Vega, part 2

The good news - i have got scans of vega schematics (big thanks to Kold666)
The bad news - hardware is quite old (early 80s .. possibly 1982 or 1983) (read: unique and complicated) and schems are buggy as hell.

The biggest problem so far - no reference images/screenshots/flyer pics. Nothing. I have no f***ing idea about the real game.

So any info will be greatly appreciated.

Schems are as mysterious as the pcb pics i got - no info about the major ICs.
But looking at pinout i have identifed all of them as:

- i8035 (mcu)
- AY 3-8910 (sound)
- PPI 8255 (i/o)
- INS 8154 (i/o + ram)
- DP 8350 (crt controller)

AY is used only for generating sfx. Afaik there's no music. Sound chip is connected in unusual way - AY data lines are tied to address bus and AY address/data write selection is connected to mcu R/W line. So, writing any data to address NNN within range mapped to AY - results in setting AY address register to value NNN. Reading from address MMM store MMM in AY data register. Weird, isn't ?

Graphics hardware consist of four different "blocks":

- text layer - 1bpp fonts with hardcoded (PROM) color for each character. Bullets and some type of enemies are made of characters on text layer.
- four "type1" sprites - simple format, 32x32 pixels, horizontal flip, direct color (1r1g1b + extra unknown bit). Used mainly for enemies (spaseships)
- single "type2" sprite , used for player's ship/explosion only- 32x64 object made of 32x4 slices.
- single (?) "type3" sprite - not emulated yet. Quite big (possibly 64x64) obejcts (planets, asteroids) with special 2kb lookup table.

So far, the most complicated to emulate was the type 2 player sprite. It's auto-animated (based on vblank counter). There's also a 256x4 PROM used as a lookup table , connected in a bit weird way :


Here's some (test/temporary) formula i'm using to draw the sprite:

And now few fresh screenshots. Sprite positions (type1 and type2 (last pic)) and colors may be wrong: