summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua234
-rw-r--r--src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua (renamed from src/hardware_data/graphics/gpu_mali400mp2-4kUHDtv.lua)42
2 files changed, 260 insertions, 16 deletions
diff --git a/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua b/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua
new file mode 100644
index 0000000..8029ee3
--- /dev/null
+++ b/src/hardware_data/graphics/gpu_mali400mp2-fhdHandled.lua
@@ -0,0 +1,234 @@
+-- Information: --
+-- SoC GPU Mali-400 MP2 (2 GPU cores) --
+-- with FHD handled game resolution --
+
+return {
+ screen = {
+ width = 1920,
+ height = 1080,
+ aspect = {
+ display = {
+ x = 3,
+ y = 2,
+ },
+ pixel = {
+ x = 80/81,
+ y = 1,
+ },
+ },
+ vsync = 120,
+ 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)/(18*12),
+ 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 = 18,
+ height = 12,
+ -- 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 = 637009920,
+ },
+ },
+ 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 = 2535624,
+ },
+ },
+ 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 = 18,
+ height = 12,
+ -- 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-4kUHDtv.lua b/src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua
index ddda8b7..69eefaf 100644
--- a/src/hardware_data/graphics/gpu_mali400mp2-4kUHDtv.lua
+++ b/src/hardware_data/graphics/gpu_mali400mp2-fhdTV.lua
@@ -1,11 +1,21 @@
-- Information: --
-- SoC GPU Mali-400 MP2 (2 GPU cores) --
--- with 4K resolution --
+-- with FHD TV resolution --
return {
screen = {
- width = 3840,
- height = 2160,
+ width = 1920,
+ height = 1080,
+ aspect = {
+ display = {
+ x = 16,
+ y = 9,
+ },
+ pixel = {
+ x = 1,
+ y = 1,
+ },
+ },
vsync = 120,
origin = {
x = 0,
@@ -13,7 +23,7 @@ return {
},
-- Total of unique texels, pixels and vertices on VRAM --
pixels = 2*350*10^(3*2),
- texels = 2*350*10^(3*2)/(30*24),
+ texels = 2*350*10^(3*2)/(15*12),
vertices = (38+1/3)*10^(3*2),
},
colours = {
@@ -58,8 +68,8 @@ return {
},
size = {
-- Default sprite size in pixels --
- width = 30,
- height = 24,
+ width = 15,
+ height = 12,
-- Diferent sprite sizes by scale allowed --
modes = {
{
@@ -78,10 +88,10 @@ return {
onVRAM = {
screenSections = {
all = {
- Xtiles = 16*128,
- Ytiles = 16* 90,
- tiles = 2949120,
- pixels = 2123366400,
+ Xtiles = 16*128,
+ Ytiles = 16* 90,
+ tiles = 2949120,
+ pixels = 530841600,
},
},
tiles = 'screenSections',
@@ -93,10 +103,10 @@ return {
-- 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 = 8452080,
+ Xtiles = 128+1,
+ Ytiles = 90+1,
+ tiles = 11520+128+90+1,
+ pixels = 2113020,
},
},
tiles = 'screenSections',
@@ -140,8 +150,8 @@ return {
},
size = {
-- Default tile size in pixels --
- width = 30,
- height = 24,
+ width = 15,
+ height = 12,
-- Diferent tile sizes by scale allowed --
modes = {
{