summaryrefslogtreecommitdiff
path: root/src/hardware_data/scripts/load
diff options
context:
space:
mode:
Diffstat (limited to 'src/hardware_data/scripts/load')
-rw-r--r--src/hardware_data/scripts/load/graphics/mali400.lua97
-rw-r--r--src/hardware_data/scripts/load/graphics/ppu_rp2c02.lua125
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+cx4_mode1.lua155
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+gsu-x_mode1.lua152
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode0.lua184
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode1.lua155
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode2.lua126
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode3.lua126
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode4.lua126
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode5.lua127
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode6.lua97
-rw-r--r--src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode7.lua119
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode0.lua65
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode1.lua91
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode2.lua92
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode20.lua114
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode21.lua114
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode23.lua114
-rw-r--r--src/hardware_data/scripts/load/graphics/tms9918a_mode3.lua92
-rw-r--r--src/hardware_data/scripts/load/graphics/vdp_gg-tms9918_mode4.lua78
-rw-r--r--src/hardware_data/scripts/load/graphics/vdp_ms-tms9918_mode4.lua78
-rw-r--r--src/hardware_data/scripts/load/graphics/vdp_ym7101+sh2_mode5.lua131
-rw-r--r--src/hardware_data/scripts/load/graphics/vdp_ym7101_mode5.lua131
23 files changed, 2689 insertions, 0 deletions
diff --git a/src/hardware_data/scripts/load/graphics/mali400.lua b/src/hardware_data/scripts/load/graphics/mali400.lua
new file mode 100644
index 0000000..233a11f
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/mali400.lua
@@ -0,0 +1,97 @@
+return {
+ screen = {
+ fhd = {
+ width = 1920,
+ height = 1080,
+ fps = 30,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ uhd4k = {
+ width = 3840,
+ height = 2160,
+ fps = 30,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colours = {
+ total = '32bpp',
+ limit = false,
+ background = true,
+ transparent = 'alpha',
+ },
+ meshes = true,
+ shaders = {
+ api = 'glsl_es',
+ version = '1.0.17',
+ fragment = true,
+ vectex = true,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = true,
+ sprites = {
+ onScreen = false,
+ onLine = false,
+ palettes = {
+ specify = true,
+ {
+ colours = '24bpp',
+ keys = '8bpp',
+ },
+ },
+ transform = {
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ sizes = {
+ {
+ width = 'free',
+ height = 'free',
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ free = {
+ independent = true,
+ palettes = {
+ specify = true,
+ {
+ colours = '24bpp',
+ keys = '8bpp',
+ },
+ },
+ mirror = true,
+ transform = {
+ individual = true,
+ move = true,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ },
+ sizes = {
+ {
+ width = 'free',
+ height = 'free',
+ },
+ },
+ maps = {
+ {
+ width = 'free',
+ height = 'free',
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/ppu_rp2c02.lua b/src/hardware_data/scripts/load/graphics/ppu_rp2c02.lua
new file mode 100644
index 0000000..aab853c
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/ppu_rp2c02.lua
@@ -0,0 +1,125 @@
+return {
+ screen = {
+ ntsc = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = -8,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colours = {
+ total = 54,
+ limit = 25,
+ background = true,
+ transparent = 'colourKey',
+ },
+ meshes = false,
+ shaders = {
+ api = false,
+ version = false,
+ fragment = false,
+ vectex = false,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = false,
+ sprites = {
+ onScreen = 64,
+ onLine = 8,
+ palettes = {
+ specify = true,
+ {
+ colours = 3,
+ keys = 1,
+ },
+ {
+ colours = 3,
+ keys = 1,
+ },
+ {
+ colours = 3,
+ keys = 1,
+ },
+ {
+ colours = 3,
+ keys = 1,
+ },
+ },
+ transform = {
+ move = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ {
+ width = 8,
+ height = 16,
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ {
+ independent = false,
+ palettes = {
+ specify = true,
+ {
+ colours = 3,
+ keys = 1,
+ },
+ {
+ colours = 3,
+ keys = 1,
+ },
+ {
+ colours = 3,
+ keys = 1,
+ },
+ {
+ colours = 3,
+ keys = 1,
+ },
+ },
+ mirror = true,
+ transform = {
+ individual = true,
+ move = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 16,
+ height = 16,
+ },
+ },
+ maps = {
+ {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+cx4_mode1.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+cx4_mode1.lua
new file mode 100644
index 0000000..b619b5f
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+cx4_mode1.lua
@@ -0,0 +1,155 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = true,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 3,
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+gsu-x_mode1.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+gsu-x_mode1.lua
new file mode 100644
index 0000000..7c36615
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x+gsu-x_mode1.lua
@@ -0,0 +1,152 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = true,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 3,
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode0.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode0.lua
new file mode 100644
index 0000000..eed4925
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode0.lua
@@ -0,0 +1,184 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 4,
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode1.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode1.lua
new file mode 100644
index 0000000..bb663ba
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode1.lua
@@ -0,0 +1,155 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 3,
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode2.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode2.lua
new file mode 100644
index 0000000..7e5db81
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode2.lua
@@ -0,0 +1,126 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 2,
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode3.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode3.lua
new file mode 100644
index 0000000..bf94157
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode3.lua
@@ -0,0 +1,126 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 2,
+ {
+ colors = '8bpp',
+ specifyColors = '443ppp',
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode4.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode4.lua
new file mode 100644
index 0000000..b8c436a
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode4.lua
@@ -0,0 +1,126 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 2,
+ {
+ colors = '8bpp',
+ specifyColors = true,
+ moveIndividual = true,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode5.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode5.lua
new file mode 100644
index 0000000..8f33927
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode5.lua
@@ -0,0 +1,127 @@
+return {
+ screen = {
+ default = {
+ width = 512,
+ height = 448,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 512,
+ height = 480,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layer = {
+ 2,
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ {
+ colors = '2bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode6.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode6.lua
new file mode 100644
index 0000000..4197741
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode6.lua
@@ -0,0 +1,97 @@
+return {
+ screen = {
+ default = {
+ width = 512,
+ height = 448,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 512,
+ height = 480,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = true,
+ independent = false,
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ big = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ bigH = {
+ width = 32,
+ height = 64,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode7.lua b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode7.lua
new file mode 100644
index 0000000..1e33e87
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/s-ppux_5c7x-0x_mode7.lua
@@ -0,0 +1,119 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = '8bpp',
+ transparent = 'averaging',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 128,
+ line = 34,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 32,
+ height = 32,
+ },
+ huge = {
+ width = 64,
+ height = 64,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ plane = {
+ colors = '8bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = true,
+ mirror = false,
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 128,
+ height = 128,
+ },
+ },
+ },
+ a = {
+ colors = '7bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'plane',
+ mirror = 'b',
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 128,
+ height = 128,
+ },
+ },
+ },
+ b = {
+ colors = '7bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'plane',
+ mirror = 'a',
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 128,
+ height = 128,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode0.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode0.lua
new file mode 100644
index 0000000..0f78d77
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode0.lua
@@ -0,0 +1,65 @@
+return {
+ screen = {
+ ntsc = {
+ width = 240,
+ height = 192,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colours = {
+ total = '15+1',
+ limit = '15+1',
+ background = false,
+ transparent = 'transparentColour',
+ },
+ meshes = false,
+ shaders = {
+ api = false,
+ version = false,
+ fragment = false,
+ vectex = false,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = false,
+ sprites = false,
+ tiles = {
+ layers = {
+ {
+ independent = false,
+ palettes = {
+ specify = true,
+ {
+ colours = 2,
+ keys = false,
+ },
+ },
+ mirror = false,
+ transform = {
+ individual = false,
+ move = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 6,
+ height = 8,
+ },
+ },
+ maps = {
+ {
+ width = 240,
+ height = 192,
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode1.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode1.lua
new file mode 100644
index 0000000..a0b99b5
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode1.lua
@@ -0,0 +1,91 @@
+return {
+ screen = {
+ ntsc = {
+ width = 256,
+ height = 192,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colours = {
+ total = '15+1',
+ limit = '15+1',
+ background = false,
+ transparent = 'transparentColour',
+ },
+ meshes = false,
+ shaders = {
+ api = false,
+ version = false,
+ fragment = false,
+ vectex = false,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = false,
+ sprites = {
+ onScreen = 32,
+ onLine = 4,
+ palettes = {
+ specify = true,
+ {
+ colours = 1,
+ keys = 1,
+ },
+ transform = {
+ move = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ {
+ independent = false,
+ palettes = {
+ specify = true,
+ {
+ colours = 2,
+ keys = false,
+ },
+ },
+ mirror = false,
+ transform = {
+ individual = false,
+ move = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ },
+ maps = {
+ {
+ width = 240,
+ height = 192,
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode2.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode2.lua
new file mode 100644
index 0000000..79d7f6b
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode2.lua
@@ -0,0 +1,92 @@
+return {
+ screen = {
+ ntsc = {
+ width = 256,
+ height = 192,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colours = {
+ total = '15+1',
+ limit = '15+1',
+ background = false,
+ transparent = 'transparentColour',
+ },
+ meshes = false,
+ shaders = {
+ api = false,
+ version = false,
+ fragment = false,
+ vectex = false,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = false,
+ sprites = {
+ onScreen = 32,
+ onLine = 4,
+ palettes = {
+ specify = true,
+ {
+ colours = 1,
+ keys = 1,
+ },
+ animation = true,
+ transform = {
+ move = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ {
+ independent = false,
+ palettes = {
+ specify = true,
+ {
+ colours = 2,
+ keys = false,
+ },
+ },
+ mirror = false,
+ transform = {
+ individual = false,
+ move = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ },
+ maps = {
+ {
+ width = 64,
+ height = 192,
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode20.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode20.lua
new file mode 100644
index 0000000..2ffd722
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode20.lua
@@ -0,0 +1,114 @@
+return {
+ screen = {
+ default = {
+ width = 240,
+ height = 192,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 240,
+ height = 192,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '5bpp',
+ limit = '4bpp',
+ transparent = 'colorKey',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '0bpp',
+ limits = {
+ true,
+ screen = 32,
+ line = 4,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ big = {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ a = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'bc',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 6,
+ height = 8,
+ },
+ },
+ },
+ b = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'ac',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 6,
+ height = 8,
+ },
+ },
+ },
+ c = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'ab',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 6,
+ height = 8,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode21.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode21.lua
new file mode 100644
index 0000000..1d17583
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode21.lua
@@ -0,0 +1,114 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 192,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 192,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '5bpp',
+ limit = '4bpp',
+ transparent = 'colorKey',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '0bpp',
+ limits = {
+ true,
+ screen = 8,
+ line = 4,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ big = {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ a = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'bc',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ },
+ },
+ b = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'ac',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ },
+ },
+ c = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'ab',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode23.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode23.lua
new file mode 100644
index 0000000..1763b11
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode23.lua
@@ -0,0 +1,114 @@
+return {
+ screen = {
+ default = {
+ width = 64,
+ height = 48,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 64,
+ height = 48,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '5bpp',
+ limit = '4bpp',
+ transparent = 'colorKey',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '0bpp',
+ limits = {
+ true,
+ screen = 32,
+ line = 4,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ big = {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ a = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'bc',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 4,
+ height = 4,
+ },
+ },
+ },
+ b = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'ac',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 4,
+ height = 4,
+ },
+ },
+ },
+ c = {
+ tilesSet = 'width',
+ colors = '1bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = 'ab',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 4,
+ height = 4,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/tms9918a_mode3.lua b/src/hardware_data/scripts/load/graphics/tms9918a_mode3.lua
new file mode 100644
index 0000000..a9334c5
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/tms9918a_mode3.lua
@@ -0,0 +1,92 @@
+return {
+ screen = {
+ ntsc = {
+ width = 64,
+ height = 48,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colours = {
+ total = '15+1',
+ limit = '15+1',
+ background = false,
+ transparent = 'transparentColour',
+ },
+ meshes = false,
+ shaders = {
+ api = false,
+ version = false,
+ fragment = false,
+ vectex = false,
+ geometry = false,
+ tessellation = false,
+ },
+ physic = false,
+ sprites = {
+ onScreen = 32,
+ onLine = 4,
+ palettes = {
+ specify = true,
+ {
+ colours = 1,
+ keys = 1,
+ },
+ animation = true,
+ transform = {
+ move = true,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tiles = {
+ layers = {
+ {
+ independent = false,
+ palettes = {
+ specify = true,
+ {
+ colours = '15+1',
+ keys = false,
+ },
+ },
+ mirror = false,
+ transform = {
+ individual = false,
+ move = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ },
+ sizes = {
+ {
+ width = 4,
+ height = 4,
+ },
+ },
+ maps = {
+ {
+ width = 4,
+ height = 4,
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/vdp_gg-tms9918_mode4.lua b/src/hardware_data/scripts/load/graphics/vdp_gg-tms9918_mode4.lua
new file mode 100644
index 0000000..54b555c
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/vdp_gg-tms9918_mode4.lua
@@ -0,0 +1,78 @@
+return {
+ screen = {
+ default = {
+ width = 160,
+ height = 144,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 160,
+ height = 144,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '12bpp',
+ limit = '5bpp',
+ transparent = 'colorKey',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 64,
+ line = 8,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ big = {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ {
+ tilesSet = false,
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/vdp_ms-tms9918_mode4.lua b/src/hardware_data/scripts/load/graphics/vdp_ms-tms9918_mode4.lua
new file mode 100644
index 0000000..f3201b1
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/vdp_ms-tms9918_mode4.lua
@@ -0,0 +1,78 @@
+return {
+ screen = {
+ default = {
+ width = 256,
+ height = 192,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 256,
+ height = 192,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '6bpp',
+ limit = '5bpp',
+ transparent = 'colorKey',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 64,
+ line = 8,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ big = {
+ width = 16,
+ height = 16,
+ },
+ },
+ },
+ tile = {
+ layers = 1,
+ {
+ tilesSet = false,
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 8,
+ height = 8,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/vdp_ym7101+sh2_mode5.lua b/src/hardware_data/scripts/load/graphics/vdp_ym7101+sh2_mode5.lua
new file mode 100644
index 0000000..ac9c758
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/vdp_ym7101+sh2_mode5.lua
@@ -0,0 +1,131 @@
+return {
+ screen = {
+ default = {
+ width = 320,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 320,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '15bpp',
+ limit = 61,
+ transparent = 'colorKey',
+ },
+ mesh = true,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 320,
+ line = 80,
+ },
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 24,
+ height = 24,
+ },
+ huge = {
+ width = 32,
+ height = 32,
+ },
+ },
+ },
+ tile = {
+ layers = 2,
+ a = {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = 'w',
+ independent = 'w',
+ mirror = 'b',
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 128,
+ height = 32,
+ },
+ },
+ },
+ b = {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = 'a',
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 128,
+ height = 32,
+ },
+ },
+ },
+ w = {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = 'a',
+ independent = 'a',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ },
+ },
+ },
+}
diff --git a/src/hardware_data/scripts/load/graphics/vdp_ym7101_mode5.lua b/src/hardware_data/scripts/load/graphics/vdp_ym7101_mode5.lua
new file mode 100644
index 0000000..f9aa09c
--- /dev/null
+++ b/src/hardware_data/scripts/load/graphics/vdp_ym7101_mode5.lua
@@ -0,0 +1,131 @@
+return {
+ screen = {
+ default = {
+ width = 320,
+ height = 224,
+ fps = 29.97,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ pal = {
+ width = 320,
+ height = 240,
+ fps = 25,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ },
+ },
+ colors = {
+ '9bpp',
+ limit = 61,
+ transparent = 'colorKey',
+ },
+ mesh = false,
+ api = false,
+ shader = {
+ false,
+ fragment = false,
+ },
+ physic = false,
+ sprite = {
+ true,
+ colors = '4bpp',
+ limits = {
+ true,
+ screen = 80,
+ line = 20,
+ },
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ small = {
+ width = 8,
+ height = 8,
+ },
+ default = {
+ width = 16,
+ height = 16,
+ },
+ big = {
+ width = 24,
+ height = 24,
+ },
+ huge = {
+ width = 32,
+ height = 32,
+ },
+ },
+ },
+ tile = {
+ layers = 2,
+ a = {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = 'w',
+ independent = 'w',
+ mirror = 'b',
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 128,
+ height = 32,
+ },
+ },
+ },
+ b = {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = false,
+ independent = false,
+ mirror = 'a',
+ rotate = true,
+ scale = true,
+ shear = true,
+ affine = true,
+ size = {
+ default = {
+ width = 64,
+ height = 64,
+ },
+ bigW = {
+ width = 128,
+ height = 32,
+ },
+ },
+ },
+ w = {
+ colors = '4bpp',
+ specifyColors = false,
+ moveIndividual = 'a',
+ independent = 'a',
+ mirror = false,
+ rotate = false,
+ scale = false,
+ shear = false,
+ affine = false,
+ size = {
+ default = {
+ width = 32,
+ height = 32,
+ },
+ bigW = {
+ width = 64,
+ height = 32,
+ },
+ },
+ },
+ },
+}