diff options
author | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2017-01-11 02:36:56 -0300 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2017-01-11 02:36:56 -0300 |
commit | 9ff3e63fc8f4005aaeacf07fb58e002539e704d2 (patch) | |
tree | 5f18c8add3d95daad88e372763b7150007b32c85 /src/hardware_data/graphics/ppu_lr35902-sgb2.lua | |
parent | 3ec72ed5adb613438f6d250ba8efd03fc807674a (diff) |
Update graphics modes
Diffstat (limited to 'src/hardware_data/graphics/ppu_lr35902-sgb2.lua')
-rw-r--r-- | src/hardware_data/graphics/ppu_lr35902-sgb2.lua | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/src/hardware_data/graphics/ppu_lr35902-sgb2.lua b/src/hardware_data/graphics/ppu_lr35902-sgb2.lua new file mode 100644 index 0000000..89d8fc4 --- /dev/null +++ b/src/hardware_data/graphics/ppu_lr35902-sgb2.lua @@ -0,0 +1,142 @@ +-- Information: -- +-- PPU (Picture processing unit) -- +-- LR35902 (SGBv2) without mapper -- + +return { + screen = { + width = 160, + height = 144, + vsync = 59.73, + origin = { + x = 0, + y = 0, + }, + -- Total of unique texels, pixels and vertices on VRAM -- + pixels = 21504, + texels = 296, + vertices = false, + }, + colours = { + total = '15bpp', + limit = 10, + transparent = { + sprite = 'colourKey', + tile = false, + }, + tileDepth = 'colourKey', + palettes = { + { + total = 2, + type = 'spritePerPalette', + colours = 4, + layers = false, + }, + { + total = 1, + type = 'tilePerPalette', + colours = 4, + layers = false, + }, + }, + }, + meshes = false, + shaders = { + api = false, + version = false, + fragment = false, + vectex = false, + geometry = false, + tessellation = false, + }, + physic = false, + sprites = { + -- Limit sprites on screen -- + onScreen = 40, + -- Limit sprites on line (scanline) without flickering -- + onLine = 10, + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + -- Sprite sizes in pixels -- + sizes = { + { + width = 8, + height = 8, + }, + { + width = 8, + height = 16, + }, + }, + }, + tiles = { + layers = { + { + -- Total tiles and pixels on VRAM -- + onVRAM = { + screenSections = { + all = { + Xtiles = 32, + Ytiles = 32, + tiles = 1024, + pixels = 65536, + }, + }, + tiles = 'screenSections', + pixels = 'screenSections', + }, + -- Total tiles and pixels on screen -- + onScreen = { + screenSections = { + -- On screen section with support scrolling X and/or Y, -- + -- will be include one tile by axis -- + all = { + Xtiles = 20+1, + Ytiles = 18+1, + tiles = 360+20+18+1, + pixels = 23040, + }, + }, + tiles = 'screenSections', + pixels = 'screenSections', + }, + -- Total of tiles on VRAM -- + unique = false, + maximum = 256, + mirror = false, + screenSections = { + main = { + optional = false, + moveSection = false, + { + startSection = { + x = 'startVRAM', + y = 'startVRAM', + }, + endSection = { + x = 'endVRAM', + y = 'endVRAM', + }, + size = { + -- Tile size in pixels -- + width = 8, + height = 8, + }, + transform = { + move = true, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} |