diff options
author | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2016-12-23 01:08:35 -0300 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2016-12-23 01:08:35 -0300 |
commit | f48664ed2d880687fe7b1eb92bb6673b134c4c12 (patch) | |
tree | 4b28f76b489c3ba43f3563665c606e3a97954170 | |
parent | baab1aad2b5940de4de9335d947bc404f9926a17 (diff) |
Update graphics modes
4 files changed, 563 insertions, 28 deletions
diff --git a/src/hardware_data/graphics/uze_atmega644_mode13-default.lua b/src/hardware_data/graphics/uze_atmega644_mode13-default.lua new file mode 100644 index 0000000..f74dddc --- /dev/null +++ b/src/hardware_data/graphics/uze_atmega644_mode13-default.lua @@ -0,0 +1,241 @@ +return { + screen = { + scrollMode = { + width = 224, + height = 224, + refresh = 60, + origin = { + x = 0, + y = 0, + }, + }, + staticMode = { + width = 240, + height = 224, + refresh = 60, + origin = { + x = 0, + y = 0, + }, + }, + pixels = 17664, + texels = 276, + vertices = false, + }, + colours = { + total = 256, + limit = false, + background = true, + transparent = colourKey, + modes = { + mode8 = { + palettes = 1, + type = 'global', + colours = 8, + layers = { + { + sprites = { + { + colours = false, + limit = 7, + key = 1, + byPixels = false, + byColours = false, + }, + }, + tiles = { + { + colours = false, + limit = false, + key = false, + byPixels = false, + byColours = false, + }, + }, + }, + }, + }, + mode15 = { + palettes = 1, + type = 'global', + colours = 15, + layers = { + { + sprites = { + { + colours = false, + limit = 14, + key = 1, + byPixels = false, + byColours = false, + }, + }, + tiles = { + { + colours = false, + limit = false, + key = false, + byPixels = false, + byColours = false, + }, + }, + }, + }, + }, + }, + }, + meshes = false, + shaders = { + api = false, + version = false, + fragment = false, + vectex = false, + geometry = false, + tessellation = false, + }, + physic = false, + sprites = { + onScreen = 20, + onLine = 10, + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + }, + tiles = { + layers = { + { + total = { + scrollMode = { + x = 32, + y = 32, + 1024, + staticMode = { + x = 30, + y = 28, + 840, + }, + }, + onScreen = { + scrollMode = { + 841, + }, + staticMode = { + 840, + }, + }, + unique = 256, + screenSections = { + mirror = false, + main = { + optional = false, + scrollMode = { + startCut = { + x = 0, + y = 0, + }, + endCut = { + x = 0, + y = 0, + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + transform = { + move = true, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + staticMode = { + startCut = { + x = 0, + y = 0, + }, + endCut = { + x = 0, + y = 0, + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + transform = { + move = 'simulate', + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + overlay = { + optional = true, + scrollMode = { + startCut = { + x = 'free', + y = 'free', + }, + endCut = { + x = 'free', + y = 'free', + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + transform = { + move = 'simulate', + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + staticMode = { + startCup = { + x = 'free', + y = 'free', + }, + endCut = { + x = 'free', + y = 'free', + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + transform = { + move = 'simulate', + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/src/hardware_data/graphics/uze_atmega644_mode13.lua b/src/hardware_data/graphics/uze_atmega644_mode13.lua new file mode 100644 index 0000000..f9cfafa --- /dev/null +++ b/src/hardware_data/graphics/uze_atmega644_mode13.lua @@ -0,0 +1,262 @@ +return { + screen = { + -- Scroll Mode and Static Mode can be changed by compilation -- + -- Default value is SCROLLING=0 (Static Mode) -- + -- Available values are 0 or 1 -- + scrollMode = { + width = 224, + height = 224, + refresh = 60, + origin = { + x = 0, + y = 0, + }, + }, + staticMode = { + width = 240, + height = 224, + refresh = 60, + origin = { + x = 0, + y = 0, + }, + }, + pixels = 17664, + texels = 276, + vertices = false, + }, + colours = { + total = 256, + limit = false, + background = true, + transparent = colourKey, + modes = { + mode8 = { + palettes = 1, + type = 'global', + colours = 8, + layers = { + { + sprites = { + { + colours = false, + limit = 7, + key = 1, + byPixels = false, + byColours = false, + }, + }, + tiles = { + { + colours = false, + limit = false, + key = false, + byPixels = false, + byColours = false, + }, + }, + }, + }, + }, + mode15 = { + palettes = 1, + type = 'global', + colours = 15, + layers = { + { + sprites = { + { + colours = false, + limit = 14, + key = 1, + byPixels = false, + byColours = false, + }, + }, + tiles = { + { + colours = false, + limit = false, + key = false, + byPixels = false, + byColours = false, + }, + }, + }, + }, + }, + }, + }, + meshes = false, + shaders = { + api = false, + version = false, + fragment = false, + vectex = false, + geometry = false, + tessellation = false, + }, + physic = false, + sprites = { + -- Max sprites on screen can be changed by compilation -- + -- Default is 20 sprites for 4kB RAM and 10Mhz CPU -- + -- It needs ajust ramtiles in compilation for -- + -- implement more tiles in a megatile -- + -- 1 ramtiles consumes 64B RAM -- + -- Defaut values are MAX_SPRITES=20 and RAM_TILE_COUNT=0 -- + onScreen = '>=20=<', + -- Max sprites on line are undocumented, but is visible with 10 or more sprites on line without flickering -- + onLine = '>=10', + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + sizes = { + { + width = 8, + -- Vetical (Y) pixels sprites and tiles can be changed by compilation (on Scroll Mode only) -- + -- Default value is TILE_HEIGHT=8 -- + height = '>=8=<', + }, + }, + }, + tiles = { + layers = { + { + total = { + scrollMode = { + x = 32, + -- Vetical (Y) VRAM tiles can be changed by compilation (on Scroll Mode only) -- + -- Default values are VRAM_TILES_V=32 and SCROLLING=1 -- + -- Avaiable values are 32, 24 or 16 -- + y = '32, 24 or 16', + '1024, 768 or 512', + staticMode = { + -- Horizontal (X) VRAM tiles can be changed by compilation (on Static Mode only) -- + -- Default values are VRAM_TILES_V=30 and SCROLLING=0 -- + x = '>=30=<', + y = 28, + '>=840=<', + }, + }, + onScreen = { + scrollMode = { + '841=<', + }, + staticMode = { + '>=840=<', + }, + }, + unique = 256, + screenSections = { + mirror = false, + main = { + optional = false, + scrollMode = { + startCut = { + x = 0, + y = 0, + }, + endCut = { + x = 0, + y = 0, + }, + sizes = { + { + width = 8, + -- Vetical (Y) pixels sprites and tiles can be changed by compilation (on Scroll Mode only) -- + -- Default value is TILE_HEIGHT=8 -- + height = '>=8=<', + }, + }, + transform = { + move = true, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + staticMode = { + startCut = { + x = 0, + y = 0, + }, + endCut = { + x = 0, + y = 0, + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + transform = { + move = 'simulate', + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + overlay = { + optional = true, + scrollMode = { + startCut = { + x = 'free', + y = 'free', + }, + endCut = { + x = 'free', + y = 'free', + }, + sizes = { + { + width = 8, + height = 8, + }, + }, + transform = { + move = 'simulate', + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + staticMode = { + startCup = { + x = 'free', + y = 'free', + }, + endCut = { + x = 'free', + y = 'free', + }, + sizes = { + { + width = 8, + -- Vetical (Y) pixels sprites and tiles can be changed by compilation (on Scroll Mode only) -- + -- Default value is TILE_HEIGHT=8 -- + height = '>=8=<', + }, + }, + transform = { + move = 'simulate', + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/src/hardware_data/graphics/uze_atmega644_mode3-default.lua b/src/hardware_data/graphics/uze_atmega644_mode3-default.lua index 5ca0515..dc6a968 100644 --- a/src/hardware_data/graphics/uze_atmega644_mode3-default.lua +++ b/src/hardware_data/graphics/uze_atmega644_mode3-default.lua @@ -25,8 +25,37 @@ return { colours = { total = 256, limit = false, - background = false, + background = true, transparent = colourKey, + modes = { + { + palettes = false, + type = false, + colours = false, + layers = { + { + sprites = { + { + colours = false, + limit = 255, + key = 1, + byPixels = false, + byColours = false, + }, + }, + tiles = { + { + colours = false, + limit = false, + key = false, + byPixels = false, + byColours = false, + }, + }, + }, + }, + }, + }, }, meshes = false, shaders = { @@ -41,15 +70,6 @@ return { sprites = { onScreen = 20, onLine = 10, - palettes = { - { - total = 256, - limit = 255, - keys = 1, - byPixels = false, - colours = false, - }, - }, transform = { move = true, rotate = false, @@ -100,7 +120,6 @@ return { x = 0, y = 0, }, - palettes = false, sizes = { { width = 8, @@ -124,7 +143,6 @@ return { x = 0, y = 0, }, - palettes = false, sizes = { { width = 8, @@ -151,7 +169,6 @@ return { x = 'free', y = 'free', }, - palettes = false, sizes = { { width = 8, @@ -175,7 +192,6 @@ return { x = 'free', y = 'free', }, - palettes = false, sizes = { { width = 8, diff --git a/src/hardware_data/graphics/uze_atmega644_mode3.lua b/src/hardware_data/graphics/uze_atmega644_mode3.lua index 89e3bf5..a3d9f7f 100644 --- a/src/hardware_data/graphics/uze_atmega644_mode3.lua +++ b/src/hardware_data/graphics/uze_atmega644_mode3.lua @@ -28,8 +28,37 @@ return { colours = { total = 256, limit = false, - background = false, + background = true, transparent = colourKey, + modes = { + { + palettes = false, + type = false, + colours = false, + layers = { + { + sprites = { + { + colours = false, + limit = 255, + key = 1, + byPixels = false, + byColours = false, + }, + }, + tiles = { + { + colours = false, + limit = false, + key = false, + byPixels = false, + byColours = false, + }, + }, + }, + }, + }, + }, }, meshes = false, shaders = { @@ -51,15 +80,6 @@ return { onScreen = '>=20=<', -- Max sprites on line are undocumented, but is visible with 10 or more sprites on line without flickering -- onLine = '>=10', - palettes = { - { - total = 256, - limit = 255, - keys = 1, - byPixels = false, - colours = false, - }, - }, transform = { move = true, rotate = false, @@ -117,7 +137,6 @@ return { x = 0, y = 0, }, - palettes = false, sizes = { { width = 8, @@ -143,7 +162,6 @@ return { x = 0, y = 0, }, - palettes = false, sizes = { { width = 8, @@ -170,7 +188,6 @@ return { x = 'free', y = 'free', }, - palettes = false, sizes = { { width = 8, @@ -194,7 +211,6 @@ return { x = 'free', y = 'free', }, - palettes = false, sizes = { { width = 8, |