summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2016-12-23 14:11:07 -0300
committercoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2016-12-23 14:11:07 -0300
commitd4df019ef9cb4bcafb49091dc7f0bbf427bb5cdb (patch)
tree2e9c30faf9c20cb61b8250f8af04e72c818695e3
parent924b9e0484a7d0ad510d282f92729b6eacd93599 (diff)
Update graphics modes
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode1_6x8px-tile-size.lua4
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode1_8x8px-tile-size.lua4
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode2_1-screen-section.lua1
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode2_2-screen-sections.lua1
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode2_3-screen-sections.lua1
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode3-default.lua189
l---------[-rw-r--r--]src/hardware_data/graphics/uze_atmega644_mode3.lua211
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode3_scroll-mode.lua159
-rw-r--r--src/hardware_data/graphics/uze_atmega644_mode3_static-mode.lua146
9 files changed, 308 insertions, 408 deletions
diff --git a/src/hardware_data/graphics/uze_atmega644_mode1_6x8px-tile-size.lua b/src/hardware_data/graphics/uze_atmega644_mode1_6x8px-tile-size.lua
index fe03eb7..aa40e96 100644
--- a/src/hardware_data/graphics/uze_atmega644_mode1_6x8px-tile-size.lua
+++ b/src/hardware_data/graphics/uze_atmega644_mode1_6x8px-tile-size.lua
@@ -36,8 +36,6 @@
-- MODE1_FAST_VSYNC=1 (60Mhz) --
-- MODE1_FAST_VSYNC=0 (30Mhz) --
-- --
--- Only one screen section support. --
--- --
-- Numbers of video lines to render, --
-- can be changed by compilation, --
-- but is not recommended, changes the --
@@ -132,7 +130,7 @@ return {
height = 8,
},
transform = {
- move = 'simulate',
+ move = false,
rotate = false,
scale = false,
shear = false,
diff --git a/src/hardware_data/graphics/uze_atmega644_mode1_8x8px-tile-size.lua b/src/hardware_data/graphics/uze_atmega644_mode1_8x8px-tile-size.lua
index 604e73b..e24e968 100644
--- a/src/hardware_data/graphics/uze_atmega644_mode1_8x8px-tile-size.lua
+++ b/src/hardware_data/graphics/uze_atmega644_mode1_8x8px-tile-size.lua
@@ -36,8 +36,6 @@
-- MODE1_FAST_VSYNC=1 (60Mhz) --
-- MODE1_FAST_VSYNC=0 (30Mhz) --
-- --
--- Only one screen section support. --
--- --
-- Numbers of video lines to render, --
-- can be changed by compilation, --
-- but is not recommended, changes the --
@@ -132,7 +130,7 @@ return {
height = 8,
},
transform = {
- move = 'simulate',
+ move = false,
rotate = false,
scale = false,
shear = false,
diff --git a/src/hardware_data/graphics/uze_atmega644_mode2_1-screen-section.lua b/src/hardware_data/graphics/uze_atmega644_mode2_1-screen-section.lua
index 0d9f2eb..43e6ec5 100644
--- a/src/hardware_data/graphics/uze_atmega644_mode2_1-screen-section.lua
+++ b/src/hardware_data/graphics/uze_atmega644_mode2_1-screen-section.lua
@@ -18,7 +18,6 @@
-- * numbers = 1 to 28 sections --
-- * position = X axis --
-- --
--- --
-- Numbers of video lines to render, --
-- can be changed by compilation, --
-- but is not recommended, changes the --
diff --git a/src/hardware_data/graphics/uze_atmega644_mode2_2-screen-sections.lua b/src/hardware_data/graphics/uze_atmega644_mode2_2-screen-sections.lua
index bc2f557..94703f8 100644
--- a/src/hardware_data/graphics/uze_atmega644_mode2_2-screen-sections.lua
+++ b/src/hardware_data/graphics/uze_atmega644_mode2_2-screen-sections.lua
@@ -18,7 +18,6 @@
-- * numbers = 1 to 28 sections --
-- * position = X axis --
-- --
--- --
-- Numbers of video lines to render, --
-- can be changed by compilation, --
-- but is not recommended, changes the --
diff --git a/src/hardware_data/graphics/uze_atmega644_mode2_3-screen-sections.lua b/src/hardware_data/graphics/uze_atmega644_mode2_3-screen-sections.lua
index 6886180..8a64f1a 100644
--- a/src/hardware_data/graphics/uze_atmega644_mode2_3-screen-sections.lua
+++ b/src/hardware_data/graphics/uze_atmega644_mode2_3-screen-sections.lua
@@ -18,7 +18,6 @@
-- * numbers = 1 to 28 sections --
-- * position = X axis --
-- --
--- --
-- Numbers of video lines to render, --
-- can be changed by compilation, --
-- but is not recommended, changes the --
diff --git a/src/hardware_data/graphics/uze_atmega644_mode3-default.lua b/src/hardware_data/graphics/uze_atmega644_mode3-default.lua
deleted file mode 100644
index 83cfeca..0000000
--- a/src/hardware_data/graphics/uze_atmega644_mode3-default.lua
+++ /dev/null
@@ -1,189 +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 = 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_mode3.lua b/src/hardware_data/graphics/uze_atmega644_mode3.lua
index 3d7bc4e..624d363 100644..120000
--- a/src/hardware_data/graphics/uze_atmega644_mode3.lua
+++ b/src/hardware_data/graphics/uze_atmega644_mode3.lua
@@ -1,210 +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 = 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_mode3_static-mode.lua \ No newline at end of file
diff --git a/src/hardware_data/graphics/uze_atmega644_mode3_scroll-mode.lua b/src/hardware_data/graphics/uze_atmega644_mode3_scroll-mode.lua
new file mode 100644
index 0000000..3f44c66
--- /dev/null
+++ b/src/hardware_data/graphics/uze_atmega644_mode3_scroll-mode.lua
@@ -0,0 +1,159 @@
+-- Information: --
+-- Video Mode 3 (official) --
+-- --
+
+-- Sites:
+-- http://uzebox.org/wiki/index.php?title=Video_Modes
+-- 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 = 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_mode3_static-mode.lua b/src/hardware_data/graphics/uze_atmega644_mode3_static-mode.lua
new file mode 100644
index 0000000..7abdcb4
--- /dev/null
+++ b/src/hardware_data/graphics/uze_atmega644_mode3_static-mode.lua
@@ -0,0 +1,146 @@
+-- Information: --
+-- Video Mode 3 (official) --
+-- --
+
+-- Sites:
+-- http://uzebox.org/wiki/index.php?title=Video_Modes
+-- 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 = 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,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+}