From 90815dd1814dc7cb30fc42ee1ea8c7e56eb6f7f4 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 16 Mar 2022 23:12:33 -0400 Subject: [PATCH] lemm: adjust timing in the split screen was trying to fix issue with retrotink-2x display, but didn't help and things look fine on real CRT --- games/lemm/graphics/Makefile | 20 ++++++++++++++++- games/lemm/graphics/level2.png | Bin 0 -> 21920 bytes games/lemm/intro_level1.s | 40 ++++++++++++++++++++++++++++----- games/lemm/lemm.s | 3 ++- 4 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 games/lemm/graphics/level2.png diff --git a/games/lemm/graphics/Makefile b/games/lemm/graphics/Makefile index aa814c2a..b54f4078 100644 --- a/games/lemm/graphics/Makefile +++ b/games/lemm/graphics/Makefile @@ -5,7 +5,10 @@ LZSA = ~/research/lzsa/lzsa/lzsa B2D = ../../../utils/bmp2dhr/b2d HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite -all: graphics_test.inc graphics_level1.inc graphics_level5.inc sprites.inc +all: graphics_test.inc \ + graphics_level1.inc \ + graphics_level2.inc \ + graphics_level5.inc sprites.inc ### @@ -24,6 +27,13 @@ graphics_level1.inc: \ echo "level1_lzsa: .incbin \"level1.lzsa\"" > graphics_level1.inc echo "level1_preview_lzsa: .incbin \"level1_preview.lzsa\"" >> graphics_level1.inc +graphics_level2.inc: \ + level2.lzsa +# level1_preview.lzsa + echo "level2_lzsa: .incbin \"level2.lzsa\"" > graphics_level2.inc +# echo "level1_preview_lzsa: .incbin \"level1_preview.lzsa\"" >> graphics_level1.inc + + graphics_level5.inc: \ level5.lzsa \ level5_preview.lzsa @@ -138,6 +148,14 @@ level1_preview.lzsa: level1_preview.hgr level1_preview.hgr: level1_preview.png $(PNG2HGR) level1_preview.png > level1_preview.hgr +### + +level2.lzsa: level2.hgr + $(LZSA) -r -f2 level2.hgr level2.lzsa + +level2.hgr: level2.png + $(PNG2HGR) level2.png > level2.hgr + ### diff --git a/games/lemm/graphics/level2.png b/games/lemm/graphics/level2.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d0760366adf984ed2526c4536668d99d03623c GIT binary patch literal 21920 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