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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
-- Information: --
-- Video Mode 5 (official) --
-- --
-- Vertical tiles on VRAM, --
-- can be changed by compilation, --
-- but is not recomended. --
-- Default value is: --
-- VRAM_TILES_V=28 --
-- --
-- Numbers of video lines to render, --
-- can be changed by compilation, --
-- but is not recommended, changes the --
-- CPU cyles. --
-- Default value is: --
-- FRAME_LINES=SCREEN_TILES_V*TILE_HEIGHT --
-- --
-- First render line is used to adjust --
-- vertical centering if the value --
-- FRAME_LINES is changed. --
-- Can not be changed by compilation. --
-- Default value is: --
-- FIRST_RENDER_LINE=20 --
-- Sites:
-- http://uzebox.org/wiki/index.php?title=Video_Modes
-- https://github.com/Uzebox/uzebox
-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode5/videoMode5.def.h
-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode5/videoMode5.s
return {
screen = {
width = 240,
height = 224,
vsync = 60,
origin = {
x = 0,
y = 0,
},
-- Total of unique texels, pixels and vertices on VRAM --
pixels = 12288,
texels = 256,
vertices = false,
},
colours = {
total = 256,
limit = false,
transparent = {
sprite = false,
tile = false,
},
palettes = false,
},
meshes = false,
shaders = {
api = false,
version = false,
fragment = false,
vectex = false,
geometry = false,
tessellation = false,
},
physic = false,
sprites = false,
tiles = {
layers = {
{
-- Total tiles and pixels on VRAM --
onVRAM = {
screenSections = {
all = {
Xtiles = 40,
Ytiles = 28,
tiles = 1120,
pixels = 53760,
},
},
tiles = 'screenSections',
pixels = 'screenSections',
},
-- Total tiles and pixels on screen (is same as VRAM) --
onScreen = 'vram',
-- Total of unique tiles on VRAM --
unique = 256,
screenSections = {
mirror = false,
main = {
optional = false,
moveSection = false,
{
startSection = {
x = 'startVRAM',
y = 'startVRAM',
},
endSection = {
x = 'endVRAM',
y = 'endVRAM',
},
size = {
-- Tile size in pixels --
width = 6,
height = 8,
},
transform = {
move = false,
rotate = false,
scale = false,
shear = false,
affine = false,
},
},
},
},
},
},
},
}
|