summaryrefslogtreecommitdiff
path: root/src/hardware_data/graphics/uze_atmega644_mode5_default.lua
blob: 582d98c0e6a91a9734257833bede022ad237491d (plain)
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,
              },
            },
          },
        },
      },
    },
  },
}