diff options
Diffstat (limited to 'src')
6 files changed, 635 insertions, 425 deletions
diff --git a/src/hardware_data/graphics/uze_atmega644_mode13-default.lua b/src/hardware_data/graphics/uze_atmega644_mode13-default.lua deleted file mode 100644 index a4a4e22..0000000 --- a/src/hardware_data/graphics/uze_atmega644_mode13-default.lua +++ /dev/null @@ -1,202 +0,0 @@ -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 = { - sprite = colourKey, - tile = false, - }, - palettes = { - { - total = 1, - type = 'global', - colours = 8, - layers = false, - }, - { - total = 1, - type = 'global', - colours = 15, - layers = 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 index 49c54b6..6a784c1 100644..120000 --- a/src/hardware_data/graphics/uze_atmega644_mode13.lua +++ b/src/hardware_data/graphics/uze_atmega644_mode13.lua @@ -1,223 +1 @@ -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 = { - sprite = colourKey, - tile = false, - }, - palettes = { - { - total = 1, - type = 'global', - colours = 8, - layers = false, - }, - { - total = 1, - type = 'global', - colours = 15, - layers = 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, - }, - }, - }, - }, - }, - }, - }, -} +uze_atmega644_mode13_static-mode-without-extended-palette.lua
\ No newline at end of file diff --git a/src/hardware_data/graphics/uze_atmega644_mode13_scroll-mode-with-extended-palette.lua b/src/hardware_data/graphics/uze_atmega644_mode13_scroll-mode-with-extended-palette.lua new file mode 100644 index 0000000..725416b --- /dev/null +++ b/src/hardware_data/graphics/uze_atmega644_mode13_scroll-mode-with-extended-palette.lua @@ -0,0 +1,165 @@ +-- Information: -- +-- Video Mode 13 (official) -- +-- -- + +-- Sites: +-- http://uzebox.org/wiki/index.php?title=Video_Modes +-- http://uzebox.org/wiki/index.php?title=Video_Mode_13 +-- http://uzebox.org/wiki/index.php?title=Video_Mode_3 +-- http://uzebox.org/wiki/index.php?title=Ram_Tile_Effects_Primer +-- http://uzebox.org/wiki/index.php?title=Sprite_Techniques +-- http://uzebox.org/wiki/index.php?title=Hello_World +-- https://github.com/Uzebox/uzebox +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.def.h +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.s + +return { + screen = { + width = 224, + height = 224, + vsync = 60, + origin = { + x = 0, + y = 0, + }, + -- Total of unique texels, pixels and vertices on VRAM -- + pixels = 17664, + texels = 276, + vertices = false, + }, + colours = { + total = 256, + limit = false, + transparent = { + sprite = colourKey, + tile = false, + }, + palettes = { + total = 1, + type = 'global', + colours = 15, + 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 = 20, + -- Limit sprites on line (scanline) without flickering (undocumented, but is visible with 10 or more) -- + onLine = false, + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + -- Sprite sizes in pixels -- + sizes = { + { + width = 8, + height = 8, + }, + }, + }, + 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 = 29, + Ytiles = 29, + tiles = 841, + pixels = 53824, + }, + }, + tiles = 'screenSections', + pixels = 'screenSections', + }, + -- 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 = 8, + height = 8, + }, + transform = { + move = true, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + overlay = { + optional = true, + moveSection = false, + { + startSection = { + x = 'free', + y = 'free', + }, + endSection = { + x = 'free', + y = 'free', + }, + size = { + -- Tile size in pixels -- + width = 8, + height = 8, + }, + transform = { + move = false, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/src/hardware_data/graphics/uze_atmega644_mode13_scroll-mode-without-extended-palette.lua b/src/hardware_data/graphics/uze_atmega644_mode13_scroll-mode-without-extended-palette.lua new file mode 100644 index 0000000..e9d07af --- /dev/null +++ b/src/hardware_data/graphics/uze_atmega644_mode13_scroll-mode-without-extended-palette.lua @@ -0,0 +1,165 @@ +-- Information: -- +-- Video Mode 13 (official) -- +-- -- + +-- Sites: +-- http://uzebox.org/wiki/index.php?title=Video_Modes +-- http://uzebox.org/wiki/index.php?title=Video_Mode_13 +-- http://uzebox.org/wiki/index.php?title=Video_Mode_3 +-- http://uzebox.org/wiki/index.php?title=Ram_Tile_Effects_Primer +-- http://uzebox.org/wiki/index.php?title=Sprite_Techniques +-- http://uzebox.org/wiki/index.php?title=Hello_World +-- https://github.com/Uzebox/uzebox +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.def.h +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.s + +return { + screen = { + width = 224, + height = 224, + vsync = 60, + origin = { + x = 0, + y = 0, + }, + -- Total of unique texels, pixels and vertices on VRAM -- + pixels = 17664, + texels = 276, + vertices = false, + }, + colours = { + total = 256, + limit = false, + transparent = { + sprite = colourKey, + tile = false, + }, + palettes = { + total = 1, + type = 'global', + colours = 8, + 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 = 20, + -- Limit sprites on line (scanline) without flickering (undocumented, but is visible with 10 or more) -- + onLine = false, + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + -- Sprite sizes in pixels -- + sizes = { + { + width = 8, + height = 8, + }, + }, + }, + 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 = 29, + Ytiles = 29, + tiles = 841, + pixels = 53824, + }, + }, + tiles = 'screenSections', + pixels = 'screenSections', + }, + -- 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 = 8, + height = 8, + }, + transform = { + move = true, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + overlay = { + optional = true, + moveSection = false, + { + startSection = { + x = 'free', + y = 'free', + }, + endSection = { + x = 'free', + y = 'free', + }, + size = { + -- Tile size in pixels -- + width = 8, + height = 8, + }, + transform = { + move = false, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/src/hardware_data/graphics/uze_atmega644_mode13_static-mode-with-extended-palette.lua b/src/hardware_data/graphics/uze_atmega644_mode13_static-mode-with-extended-palette.lua new file mode 100644 index 0000000..67ec60e --- /dev/null +++ b/src/hardware_data/graphics/uze_atmega644_mode13_static-mode-with-extended-palette.lua @@ -0,0 +1,152 @@ +-- Information: -- +-- Video Mode 13 (official) -- +-- -- + +-- Sites: +-- http://uzebox.org/wiki/index.php?title=Video_Modes +-- http://uzebox.org/wiki/index.php?title=Video_Mode_13 +-- http://uzebox.org/wiki/index.php?title=Video_Mode_3 +-- http://uzebox.org/wiki/index.php?title=Ram_Tile_Effects_Primer +-- http://uzebox.org/wiki/index.php?title=Sprite_Techniques +-- http://uzebox.org/wiki/index.php?title=Hello_World +-- https://github.com/Uzebox/uzebox +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.def.h +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.s + +return { + screen = { + width = 240, + height = 224, + vsync = 60, + origin = { + x = 0, + y = 0, + }, + -- Total of unique texels, pixels and vertices on VRAM -- + pixels = 17664, + texels = 276, + vertices = false, + }, + colours = { + total = 256, + limit = false, + transparent = { + sprite = colourKey, + tile = false, + }, + palettes = { + total = 1, + type = 'global', + colours = 15, + 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 = 20, + -- Limit sprites on line (scanline) without flickering (undocumented, but is visible with 10 or more) -- + onLine = false, + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + -- Sprite sizes in pixels -- + sizes = { + { + width = 8, + height = 8, + }, + }, + }, + tiles = { + layers = { + { + -- Total tiles and pixels on VRAM -- + onVRAM = { + screenSections = { + all = { + Xtiles = 30, + Ytiles = 28, + tiles = 840, + 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 = 8, + height = 8, + }, + transform = { + move = false, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + overlay = { + optional = true, + moveSection = false, + { + startSection = { + x = 'free', + y = 'free', + }, + endSection = { + x = 'free', + y = 'free', + }, + size = { + -- Tile size in pixels -- + width = 8, + height = 8, + }, + transform = { + move = false, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/src/hardware_data/graphics/uze_atmega644_mode13_static-mode-without-extended-palette.lua b/src/hardware_data/graphics/uze_atmega644_mode13_static-mode-without-extended-palette.lua new file mode 100644 index 0000000..625681f --- /dev/null +++ b/src/hardware_data/graphics/uze_atmega644_mode13_static-mode-without-extended-palette.lua @@ -0,0 +1,152 @@ +-- Information: -- +-- Video Mode 13 (official) -- +-- -- + +-- Sites: +-- http://uzebox.org/wiki/index.php?title=Video_Modes +-- http://uzebox.org/wiki/index.php?title=Video_Mode_13 +-- http://uzebox.org/wiki/index.php?title=Video_Mode_3 +-- http://uzebox.org/wiki/index.php?title=Ram_Tile_Effects_Primer +-- http://uzebox.org/wiki/index.php?title=Sprite_Techniques +-- http://uzebox.org/wiki/index.php?title=Hello_World +-- https://github.com/Uzebox/uzebox +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.def.h +-- https://raw.githubusercontent.com/Uzebox/uzebox/master/kernel/videoMode2/videoMode2.s + +return { + screen = { + width = 240, + height = 224, + vsync = 60, + origin = { + x = 0, + y = 0, + }, + -- Total of unique texels, pixels and vertices on VRAM -- + pixels = 17664, + texels = 276, + vertices = false, + }, + colours = { + total = 256, + limit = false, + transparent = { + sprite = colourKey, + tile = false, + }, + palettes = { + total = 1, + type = 'global', + colours = 8, + 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 = 20, + -- Limit sprites on line (scanline) without flickering (undocumented, but is visible with 10 or more) -- + onLine = false, + transform = { + move = true, + rotate = false, + scale = 'flip', + shear = false, + affine = false, + }, + -- Sprite sizes in pixels -- + sizes = { + { + width = 8, + height = 8, + }, + }, + }, + tiles = { + layers = { + { + -- Total tiles and pixels on VRAM -- + onVRAM = { + screenSections = { + all = { + Xtiles = 30, + Ytiles = 28, + tiles = 840, + 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 = 8, + height = 8, + }, + transform = { + move = false, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + overlay = { + optional = true, + moveSection = false, + { + startSection = { + x = 'free', + y = 'free', + }, + endSection = { + x = 'free', + y = 'free', + }, + size = { + -- Tile size in pixels -- + width = 8, + height = 8, + }, + transform = { + move = false, + rotate = false, + scale = false, + shear = false, + affine = false, + }, + }, + }, + }, + }, + }, + }, +} |