summaryrefslogtreecommitdiff
path: root/src/hardware_data/graphics/ppu_lr35902-sgb2.lua
diff options
context:
space:
mode:
authorcoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2017-01-11 02:36:56 -0300
committercoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2017-01-11 02:36:56 -0300
commit9ff3e63fc8f4005aaeacf07fb58e002539e704d2 (patch)
tree5f18c8add3d95daad88e372763b7150007b32c85 /src/hardware_data/graphics/ppu_lr35902-sgb2.lua
parent3ec72ed5adb613438f6d250ba8efd03fc807674a (diff)
Update graphics modes
Diffstat (limited to 'src/hardware_data/graphics/ppu_lr35902-sgb2.lua')
-rw-r--r--src/hardware_data/graphics/ppu_lr35902-sgb2.lua142
1 files changed, 142 insertions, 0 deletions
diff --git a/src/hardware_data/graphics/ppu_lr35902-sgb2.lua b/src/hardware_data/graphics/ppu_lr35902-sgb2.lua
new file mode 100644
index 0000000..89d8fc4
--- /dev/null
+++ b/src/hardware_data/graphics/ppu_lr35902-sgb2.lua
@@ -0,0 +1,142 @@
+-- Information: --
+-- PPU (Picture processing unit) --
+-- LR35902 (SGBv2) without mapper --
+
+return {
+ screen = {
+ width = 160,
+ height = 144,
+ vsync = 59.73,
+ origin = {
+ x = 0,
+ y = 0,
+ },
+ -- Total of unique texels, pixels and vertices on VRAM --
+ pixels = 21504,
+ texels = 296,
+ vertices = false,
+ },
+ colours = {
+ total = '15bpp',
+ limit = 10,
+ transparent = {
+ sprite = 'colourKey',
+ tile = false,
+ },
+ tileDepth = 'colourKey',
+ palettes = {
+ {
+ total = 2,
+ type = 'spritePerPalette',
+ colours = 4,
+ layers = false,
+ },
+ {
+ total = 1,
+ type = 'tilePerPalette',
+ colours = 4,
+ 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 = 40,
+ -- Limit sprites on line (scanline) without flickering --
+ onLine = 10,
+ transform = {
+ move = true,
+ rotate = false,
+ scale = 'flip',
+ shear = false,
+ affine = false,
+ },
+ -- Sprite sizes in pixels --
+ sizes = {
+ {
+ width = 8,
+ height = 8,
+ },
+ {
+ width = 8,
+ height = 16,
+ },
+ },
+ },
+ 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 = 20+1,
+ Ytiles = 18+1,
+ tiles = 360+20+18+1,
+ pixels = 23040,
+ },
+ },
+ tiles = 'screenSections',
+ pixels = 'screenSections',
+ },
+ -- Total of tiles on VRAM --
+ unique = false,
+ maximum = 256,
+ mirror = false,
+ screenSections = {
+ 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,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+}