summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua2
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua2
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-xgaHandled.lua234
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-xgaTV.lua234
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide0.lua234
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide1.lua234
6 files changed, 938 insertions, 2 deletions
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua b/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua
index 8029ee3..9b4b95e 100644
--- a/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua
+++ b/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua
@@ -16,7 +16,7 @@ return {
y = 1,
},
},
- vsync = 120,
+ vsync = 60,
origin = {
x = 0,
y = 0,
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua b/src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua
index 69eefaf..56b80c4 100644
--- a/src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua
+++ b/src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua
@@ -16,7 +16,7 @@ return {
y = 1,
},
},
- vsync = 120,
+ vsync = 60,
origin = {
x = 0,
y = 0,
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-xgaHandled.lua b/src/hardware_data/graphics/gpu_mali400mp2-xgaHandled.lua
new file mode 100644
index 0000000..812b244
--- /dev/null
+++ b/src/hardware_data/graphics/gpu_mali400mp2-xgaHandled.lua
@@ -0,0 +1,234 @@
+-- Information: --
+-- SoC GPU Mali-400 MP2 (2 GPU cores) --
+-- with XGA handled game resolution --
+
+return {
+ screen = {
+ width = 1024,
+ height = 768,
+ aspect = {
+ display = {
+ x = 3,
+ y = 2,
+ },
+ pixel = {
+ x = 128/135,
+ y = 128/135,
+ },
+ },
+ vsync = 60,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ -- Total of unique texels, pixels and vertices on VRAM --
+ pixels = 2*350*10^(3*2),
+ texels = 2*350*10^(3*2)/(10*9),
+ vertices = (38+1/3)*10^(3*2),
+ },
+ colours = {
+ total = 2^(8*4),
+ limit = false,
+ transparent = {
+ sprite = 'alphaChannel',
+ tile = 'alphaChannel',
+ },
+ tileDepth = true,
+ palettes = {
+ {
+ total = 1,
+ type = 'perTexel',
+ colours = 2^(8*4),
+ layers = false,
+ },
+ },
+ },
+ meshes = true,
+ shaders = {
+ api = 'glsl_es',
+ version = '1.0.17',
+ fragment = 2,
+ vectex = 1,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = true,
+ sprites = {
+ -- Limit sprites on screen --
+ onScreen = 2^16,
+ -- Limit sprites on line (scanline) without flickering --
+ onLine = false,
+ unique = 'tiles',
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ size = {
+ -- Default sprite size in pixels --
+ width = 10,
+ height = 9,
+ -- Diferent sprite sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ main = {
+ -- Total tiles and pixels on VRAM --
+ onVRAM = {
+ screenSections = {
+ all = {
+ Xtiles = 16*128,
+ Ytiles = 16* 90,
+ tiles = 2949120,
+ pixels = 265420800,
+ },
+ },
+ 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 = 128+1,
+ Ytiles = 90+1,
+ tiles = 11520+128+90+1,
+ pixels = 1056510,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total of tiles on VRAM --
+ unique = {
+ data = 2^16,
+ background = 'data',
+ total = 65536,
+ },
+ maximum = (11520+128+90+1)*5,
+ mirror = {
+ switchable = true,
+ nametables = 16^2,
+ modes = {
+ 'horizontal',
+ 'vertical',
+ '1screen',
+ '4screen',
+ 'diagonal',
+ 'lshaped',
+ '3screenVertical',
+ '3screenHorizontal',
+ '3screenDiagonal',
+ 'freeTiles'
+ },
+ },
+ screenSections = {
+ main = {
+ optional = false,
+ moveSection = false,
+ {
+ startSection = {
+ x = 'startVRAM',
+ y = 'startVRAM',
+ },
+ endSection = {
+ x = 'endVRAM',
+ y = 'endVRAM',
+ },
+ size = {
+ -- Default tile size in pixels --
+ width = 10,
+ height = 9,
+ -- Diferent tile sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay0 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay1 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay2 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ },
+ },
+ background0 = 'likeMainLayer',
+ background1 = 'likeMainLayer',
+ background2 = 'likeMainLayer',
+ background3 = 'likeMainLayer',
+ foreground0 = 'likeMainLayer',
+ foreground1 = 'likeMainLayer',
+ foreground2 = 'likeMainLayer',
+ foreground3 = 'likeMainLayer',
+ },
+ },
+}
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-xgaTV.lua b/src/hardware_data/graphics/gpu_mali400mp2-xgaTV.lua
new file mode 100644
index 0000000..f64aaa7
--- /dev/null
+++ b/src/hardware_data/graphics/gpu_mali400mp2-xgaTV.lua
@@ -0,0 +1,234 @@
+-- Information: --
+-- SoC GPU Mali-400 MP2 (2 GPU cores) --
+-- with XGA TV resolution --
+
+return {
+ screen = {
+ width = 1024,
+ height = 768,
+ aspect = {
+ display = {
+ x = 4,
+ y = 3,
+ },
+ pixel = {
+ x = 32/ 33,
+ y = 128/135,
+ },
+ },
+ vsync = 60,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ -- Total of unique texels, pixels and vertices on VRAM --
+ pixels = 2*350*10^(3*2),
+ texels = 2*350*10^(3*2)/(11*9),
+ vertices = (38+1/3)*10^(3*2),
+ },
+ colours = {
+ total = 2^(8*4),
+ limit = false,
+ transparent = {
+ sprite = 'alphaChannel',
+ tile = 'alphaChannel',
+ },
+ tileDepth = true,
+ palettes = {
+ {
+ total = 1,
+ type = 'perTexel',
+ colours = 2^(8*4),
+ layers = false,
+ },
+ },
+ },
+ meshes = true,
+ shaders = {
+ api = 'glsl_es',
+ version = '1.0.17',
+ fragment = 2,
+ vectex = 1,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = true,
+ sprites = {
+ -- Limit sprites on screen --
+ onScreen = 2^16,
+ -- Limit sprites on line (scanline) without flickering --
+ onLine = false,
+ unique = 'tiles',
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ size = {
+ -- Default sprite size in pixels --
+ width = 11,
+ height = 9,
+ -- Diferent sprite sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ main = {
+ -- Total tiles and pixels on VRAM --
+ onVRAM = {
+ screenSections = {
+ all = {
+ Xtiles = 16*128,
+ Ytiles = 16* 90,
+ tiles = 2949120,
+ pixels = 291962880,
+ },
+ },
+ 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 = 128+1,
+ Ytiles = 90+1,
+ tiles = 11520+128+90+1,
+ pixels = 1162161,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total of tiles on VRAM --
+ unique = {
+ data = 2^16,
+ background = 'data',
+ total = 65536,
+ },
+ maximum = (11520+128+90+1)*5,
+ mirror = {
+ switchable = true,
+ nametables = 16^2,
+ modes = {
+ 'horizontal',
+ 'vertical',
+ '1screen',
+ '4screen',
+ 'diagonal',
+ 'lshaped',
+ '3screenVertical',
+ '3screenHorizontal',
+ '3screenDiagonal',
+ 'freeTiles'
+ },
+ },
+ screenSections = {
+ main = {
+ optional = false,
+ moveSection = false,
+ {
+ startSection = {
+ x = 'startVRAM',
+ y = 'startVRAM',
+ },
+ endSection = {
+ x = 'endVRAM',
+ y = 'endVRAM',
+ },
+ size = {
+ -- Default tile size in pixels --
+ width = 11,
+ height = 9,
+ -- Diferent tile sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay0 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay1 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay2 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ },
+ },
+ background0 = 'likeMainLayer',
+ background1 = 'likeMainLayer',
+ background2 = 'likeMainLayer',
+ background3 = 'likeMainLayer',
+ foreground0 = 'likeMainLayer',
+ foreground1 = 'likeMainLayer',
+ foreground2 = 'likeMainLayer',
+ foreground3 = 'likeMainLayer',
+ },
+ },
+}
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide0.lua b/src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide0.lua
new file mode 100644
index 0000000..d33aaea
--- /dev/null
+++ b/src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide0.lua
@@ -0,0 +1,234 @@
+-- Information: --
+-- SoC GPU Mali-400 MP2 (2 GPU cores) --
+-- with XGA TV wide (16:9) resolution --
+
+return {
+ screen = {
+ width = 1024,
+ height = 768,
+ aspect = {
+ display = {
+ x = 16,
+ y = 9,
+ },
+ pixel = {
+ x = 1,
+ y = 128/135,
+ },
+ },
+ vsync = 60,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ -- Total of unique texels, pixels and vertices on VRAM --
+ pixels = 2*350*10^(3*2),
+ texels = 2*350*10^(3*2)/(8*9),
+ vertices = (38+1/3)*10^(3*2),
+ },
+ colours = {
+ total = 2^(8*4),
+ limit = false,
+ transparent = {
+ sprite = 'alphaChannel',
+ tile = 'alphaChannel',
+ },
+ tileDepth = true,
+ palettes = {
+ {
+ total = 1,
+ type = 'perTexel',
+ colours = 2^(8*4),
+ layers = false,
+ },
+ },
+ },
+ meshes = true,
+ shaders = {
+ api = 'glsl_es',
+ version = '1.0.17',
+ fragment = 2,
+ vectex = 1,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = true,
+ sprites = {
+ -- Limit sprites on screen --
+ onScreen = 2^16,
+ -- Limit sprites on line (scanline) without flickering --
+ onLine = false,
+ unique = 'tiles',
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ size = {
+ -- Default sprite size in pixels --
+ width = 8,
+ height = 9,
+ -- Diferent sprite sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ main = {
+ -- Total tiles and pixels on VRAM --
+ onVRAM = {
+ screenSections = {
+ all = {
+ Xtiles = 16*128,
+ Ytiles = 16* 90,
+ tiles = 2949120,
+ pixels = 212336640,
+ },
+ },
+ 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 = 128+1,
+ Ytiles = 90+1,
+ tiles = 11520+128+90+1,
+ pixels = 845208,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total of tiles on VRAM --
+ unique = {
+ data = 2^16,
+ background = 'data',
+ total = 65536,
+ },
+ maximum = (11520+128+90+1)*5,
+ mirror = {
+ switchable = true,
+ nametables = 16^2,
+ modes = {
+ 'horizontal',
+ 'vertical',
+ '1screen',
+ '4screen',
+ 'diagonal',
+ 'lshaped',
+ '3screenVertical',
+ '3screenHorizontal',
+ '3screenDiagonal',
+ 'freeTiles'
+ },
+ },
+ screenSections = {
+ main = {
+ optional = false,
+ moveSection = false,
+ {
+ startSection = {
+ x = 'startVRAM',
+ y = 'startVRAM',
+ },
+ endSection = {
+ x = 'endVRAM',
+ y = 'endVRAM',
+ },
+ size = {
+ -- Default tile size in pixels --
+ width = 8,
+ height = 9,
+ -- Diferent tile sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay0 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay1 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay2 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ },
+ },
+ background0 = 'likeMainLayer',
+ background1 = 'likeMainLayer',
+ background2 = 'likeMainLayer',
+ background3 = 'likeMainLayer',
+ foreground0 = 'likeMainLayer',
+ foreground1 = 'likeMainLayer',
+ foreground2 = 'likeMainLayer',
+ foreground3 = 'likeMainLayer',
+ },
+ },
+}
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide1.lua b/src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide1.lua
new file mode 100644
index 0000000..767652b
--- /dev/null
+++ b/src/hardware_data/graphics/gpu_mali400mp2-xgaTVwide1.lua
@@ -0,0 +1,234 @@
+-- Information: --
+-- SoC GPU Mali-400 MP2 (2 GPU cores) --
+-- with XGA TV wide (16:10) resolution --
+
+return {
+ screen = {
+ width = 1024,
+ height = 768,
+ aspect = {
+ display = {
+ x = 16,
+ y = 10,
+ },
+ pixel = {
+ x = 1,
+ y = 24/25,
+ },
+ },
+ vsync = 60,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ -- Total of unique texels, pixels and vertices on VRAM --
+ pixels = 2*350*10^(3*2),
+ texels = 2*350*10^(3*2)/(8*8),
+ vertices = (38+1/3)*10^(3*2),
+ },
+ colours = {
+ total = 2^(8*4),
+ limit = false,
+ transparent = {
+ sprite = 'alphaChannel',
+ tile = 'alphaChannel',
+ },
+ tileDepth = true,
+ palettes = {
+ {
+ total = 1,
+ type = 'perTexel',
+ colours = 2^(8*4),
+ layers = false,
+ },
+ },
+ },
+ meshes = true,
+ shaders = {
+ api = 'glsl_es',
+ version = '1.0.17',
+ fragment = 2,
+ vectex = 1,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = true,
+ sprites = {
+ -- Limit sprites on screen --
+ onScreen = 2^16,
+ -- Limit sprites on line (scanline) without flickering --
+ onLine = false,
+ unique = 'tiles',
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ size = {
+ -- Default sprite size in pixels --
+ width = 8,
+ height = 8,
+ -- Diferent sprite sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ main = {
+ -- Total tiles and pixels on VRAM --
+ onVRAM = {
+ screenSections = {
+ all = {
+ Xtiles = 16*128,
+ Ytiles = 16* 90,
+ tiles = 2949120,
+ pixels = 188743680,
+ },
+ },
+ 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 = 128+1,
+ Ytiles = 90+1,
+ tiles = 11520+128+90+1,
+ pixels = 751296,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total of tiles on VRAM --
+ unique = {
+ data = 2^16,
+ background = 'data',
+ total = 65536,
+ },
+ maximum = (11520+128+90+1)*5,
+ mirror = {
+ switchable = true,
+ nametables = 16^2,
+ modes = {
+ 'horizontal',
+ 'vertical',
+ '1screen',
+ '4screen',
+ 'diagonal',
+ 'lshaped',
+ '3screenVertical',
+ '3screenHorizontal',
+ '3screenDiagonal',
+ 'freeTiles'
+ },
+ },
+ screenSections = {
+ main = {
+ optional = false,
+ moveSection = false,
+ {
+ startSection = {
+ x = 'startVRAM',
+ y = 'startVRAM',
+ },
+ endSection = {
+ x = 'endVRAM',
+ y = 'endVRAM',
+ },
+ size = {
+ -- Default tile size in pixels --
+ width = 8,
+ height = 8,
+ -- Diferent tile sizes by scale allowed --
+ modes = {
+ {
+ minimumX = 1,
+ minimumY = 1,
+ maximumX = 128,
+ maximumY = 128,
+ },
+ },
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ },
+ },
+ overlay0 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay1 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ overlay2 = {
+ optional = true,
+ moveSection = true,
+ {
+ startSection = {
+ x = 'free',
+ y = 'free',
+ },
+ endSection = {
+ x = 'free',
+ y = 'free',
+ },
+ size = 'likeMainSection',
+ transform = 'likeMainSection',
+ },
+ },
+ },
+ },
+ background0 = 'likeMainLayer',
+ background1 = 'likeMainLayer',
+ background2 = 'likeMainLayer',
+ background3 = 'likeMainLayer',
+ foreground0 = 'likeMainLayer',
+ foreground1 = 'likeMainLayer',
+ foreground2 = 'likeMainLayer',
+ foreground3 = 'likeMainLayer',
+ },
+ },
+}