-
Notifications
You must be signed in to change notification settings - Fork 345
/
Copy pathventilastation.txt
59 lines (47 loc) · 1.49 KB
/
ventilastation.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
*****************************
Ventilastation 2.0, tech spec
*****************************
python3 -m pip install --upgrade Pillow
Display Registers
=================
Read by:
1. gpu.c
2. emulator.js
Written by:
3. Micropython games. Eg: vyruss.py
Sprite position * 100
---------------------
uint8 x
uint8 y
uint16 image_strip
uint8 frame -> (zero based, modulo image_strip.num_frames)
uint8 render_mode -> [0=hidden, 1=perspective, 2=scoreboard + gameover, 3=fullscreen planet)
OLD WAS: [0=fullscreen planet, 1=game object perspective, 2=scoreboard + gameover)
OLD WAS: frame -> [-1 means hidden]
Sprite ROM
==========
the contents of the binary file: sprites.rom
Read by:
1. gpu.c
2. emulator.js
Generated by:
3. packer.py
4. editor.js
ROM Header
----------
uint16 num_imagestrips -> Number of ImageStrips
uint16 num_palettes -> Number of Palettes
uint32[num_imagestrips] imagestrips_offsets -> ImageStrip start (relative to ROM beginning)
uint32[num_palettes] palettes_offsets -> Palette start (relative to ROM beginning)
Each ImageStrip
---------------
uint8[16] filename -> ascii filename, padded with '\0' chars
uint8 width -> in pixels, zero means 256 (OLD WAS 255 means 256)
uint8 height -> in pixels
uint8 num_frames -> number of frames in the strip
uint8 palette_id -> palette id
uint8 data[width*height*number of frames] -> image data, paletted, one byte per pixel
Each Palette
------------
uint32[256] -> colors (0xRRGGBBAA)
(last item 255 is ignored, and used as transparency)