diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs b/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs index ca901f3b89..042ccd8acf 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs @@ -25,6 +25,9 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx [DllImport(dllname, CallingConvention = cc)] public static extern bool Advance(IntPtr s, Buttons buttons, int[] vbuff, short[] sbuff, ref int sbuffsize); + [DllImport(dllname, CallingConvention = cc)] + public static extern void SetRotation(IntPtr s, int value); + [DllImport(dllname, CallingConvention = cc)] public static extern bool GetSaveRamPtr(IntPtr s, out int size, out IntPtr data); diff --git a/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs b/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs index 3a9f0b96a4..962aea6f78 100644 --- a/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs +++ b/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs @@ -99,6 +99,19 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx savebuff = new byte[LibLynx.BinStateSize(Core)]; savebuff2 = new byte[savebuff.Length + 13]; + + int rot = game.OptionPresent("rotate") ? int.Parse(game.OptionValue("rotate")) : 0; + LibLynx.SetRotation(Core, rot); + if ((rot & 1) != 0) + { + BufferWidth = HEIGHT; + BufferHeight = WIDTH; + } + else + { + BufferWidth = WIDTH; + BufferHeight = HEIGHT; + } } catch { @@ -333,10 +346,10 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx public IVideoProvider VideoProvider { get { return this; } } public int[] GetVideoBuffer() { return videobuff; } - public int VirtualWidth { get { return WIDTH; } } - public int VirtualHeight { get { return HEIGHT; } } - public int BufferWidth { get { return WIDTH; } } - public int BufferHeight { get { return HEIGHT; } } + public int VirtualWidth { get { return BufferWidth; } } + public int VirtualHeight { get { return BufferHeight; } } + public int BufferWidth { get; private set; } + public int BufferHeight { get; private set; } public int BackgroundColor { get { return unchecked((int)0xff000000); } } #endregion diff --git a/lynx/cinterface.cpp b/lynx/cinterface.cpp index cf589a73aa..9a303d7e07 100644 --- a/lynx/cinterface.cpp +++ b/lynx/cinterface.cpp @@ -32,6 +32,11 @@ EXPORT void Reset(CSystem *s) s->Reset(); } +EXPORT void SetRotation(CSystem *s, int value) +{ + s->rotate = value; +} + EXPORT int Advance(CSystem *s, int buttons, uint32 *vbuff, int16 *sbuff, int *sbuffsize) { return s->Advance(buttons, vbuff, sbuff, *sbuffsize); diff --git a/lynx/mikie.cpp b/lynx/mikie.cpp index 933b1fa606..75b10da104 100644 --- a/lynx/mikie.cpp +++ b/lynx/mikie.cpp @@ -371,14 +371,14 @@ void CMikie::DisplaySetAttributes() void CMikie::BlankLineSurface() { - uint32* bitmap_tmp = /*mpDisplayCurrent*/ framebuffer + mpDisplayCurrentLine * SCREEN_WIDTH; + uint32* bitmap_tmp = framebuffer + mpDisplayCurrentLine * SCREEN_WIDTH; for (int i = 0; i < SCREEN_WIDTH; i++) bitmap_tmp[i] = 0xff000000; } void CMikie::CopyLineSurface() { - uint32* bitmap_tmp = /*mpDisplayCurrent*/ framebuffer + mpDisplayCurrentLine * SCREEN_WIDTH; + uint32* bitmap_tmp = framebuffer + mpDisplayCurrentLine * SCREEN_WIDTH; for (int loop = 0; loop < SCREEN_WIDTH / 2; loop++) { @@ -487,17 +487,9 @@ uint32 CMikie::DisplayEndOfFrame() BlankLineSurface(); mpDisplayCurrentLine++; } - if (mpDisplayCurrent) - { - std::memcpy(mpDisplayCurrent, framebuffer, sizeof(framebuffer)); - } - else - { - // a game shouldn't be able to get two frames in in the length of time we traverse in a single - // call to advance. what is going on here? - } - mpDisplayCurrent = nullptr; + mSystem.Blit(framebuffer); + mpDisplayCurrentLine = 0; return 0; } diff --git a/lynx/mikie.h b/lynx/mikie.h index fa991e4e74..543a9fd2b4 100644 --- a/lynx/mikie.h +++ b/lynx/mikie.h @@ -217,7 +217,6 @@ public: void Update(); void CheckWrap(); - uint32* mpDisplayCurrent; uint32 mpDisplayCurrentLine; uint32 framebuffer[SCREEN_WIDTH * SCREEN_HEIGHT]; diff --git a/lynx/system.cpp b/lynx/system.cpp index 2635c957fe..be858c507f 100644 --- a/lynx/system.cpp +++ b/lynx/system.cpp @@ -171,7 +171,7 @@ bool CSystem::Advance(int buttons, uint32 *vbuff, int16 *sbuff, int &sbuffsize) // audio start frame mMikie->startTS = start; - mMikie->mpDisplayCurrent = vbuff; + videobuffer = vbuff; while (gSystemCycleCount < target) //while (mMikie->mpDisplayCurrent && gSystemCycleCount - start < 800000) @@ -188,6 +188,89 @@ bool CSystem::Advance(int buttons, uint32 *vbuff, int16 *sbuff, int &sbuffsize) return mSusie->lagged; } +void CSystem::Blit(const uint32 *src) +{ + if (!videobuffer) + { + // a game shouldn't be able to get two frames in in the length of time we traverse in a single + // call to advance. what is going on here? + return; + } + + const int W = 160; + const int H = 102; + + switch (rotate) + { + case 0: + std::memcpy(videobuffer, src, sizeof(uint32) * W * H); + break; + case 1: + { + uint32 *dest = videobuffer + H * (W - 1); + for (int j = 0; j < H; j++) + { + for (int i = 0; i < W; i++) + { + *dest = *src++; + dest -= H; + } + dest += H * W + 1; + } + } + break; + case 2: + { + uint32 *dest = videobuffer + H * W - 1; + for (int i = 0; i < W * H; i++) + { + *dest-- = *src++; + } + } + break; + case 3: + { + uint32 *dest = videobuffer + H - 1; + for (int j = 0; j < H; j++) + { + for (int i = 0; i < W; i++) + { + *dest = *src++; + dest += H; + } + dest -= H * W + 1; + } + } + break; + } + + videobuffer = nullptr; +} + +void CSystem::SetButtonData(uint32 data) +{ + // bit: 7654 + // input DURL + // rot=1 RLUD + // rot=2 UDLR + // rot=3 LRDU + + uint32 newdata; + switch (rotate) + { + case 0: + newdata = data; break; + case 1: + newdata = data & 0xff0f | data >> 3 & 0x0010 | data >> 1 & 0x0020 | data << 2 & 0x00c0; break; + case 2: + newdata = data & 0xff0f | data >> 1 & 0x0050 | data << 1 & 0x00a0; break; + case 3: + newdata = data & 0xff0f | data >> 2 & 0x0030 | data << 1 & 0x0040 | data << 3 & 0x0080; break; + } + + mSusie->SetButtonData(newdata); +} + SYNCFUNC(CSystem) { // mMemMap regenerates the mMemoryHandlers directly on load diff --git a/lynx/system.h b/lynx/system.h index 9502baa5ad..3fa74f7b2a 100644 --- a/lynx/system.h +++ b/lynx/system.h @@ -139,6 +139,8 @@ public: } } + void Blit(const uint32 *src); + bool Advance(int buttons, uint32 *vbuff, int16 *sbuff, int &sbuffsize); bool GetSaveRamPtr(int &size, uint8 *&data) { return mCart->GetSaveRamPtr(size, data); } @@ -191,7 +193,7 @@ public: uint32 PaintSprites() {return mSusie->PaintSprites();}; // Miscellaneous - void SetButtonData(uint32 data) {mSusie->SetButtonData(data);}; + void SetButtonData(uint32 data); // uint32 GetButtonData() {return mSusie->GetButtonData();}; uint8* GetRamPointer() {return mRam->GetRamPointer();}; @@ -216,6 +218,10 @@ public: // frame overflow detection int frameoverflow; + // rotation of the device + int rotate; + // video dest + uint32 *videobuffer; templatevoid SyncState(NewState *ns); }; diff --git a/output/dll/bizlynx.dll b/output/dll/bizlynx.dll index 323854a077..83c1ac20a8 100644 Binary files a/output/dll/bizlynx.dll and b/output/dll/bizlynx.dll differ diff --git a/output/gamedb/gamedb_lynx.txt b/output/gamedb/gamedb_lynx.txt index cd3440b538..2116d45ae0 100644 --- a/output/gamedb/gamedb_lynx.txt +++ b/output/gamedb/gamedb_lynx.txt @@ -19,7 +19,7 @@ EAD01F532BCAF535065DFD66B26D04B484D0066E U Joust LYNX pagesize0=512;pagesize1=0 8B891B5DAFBA71740294C8DC818717D3B00BE3A5 G Shadow of the Beast LYNX pagesize0=1024;pagesize1=0 4D660C67A77FBE3B19F88DB51DC58B1906D6B1A8 O Warbirds LYNX pagesize0=1024;pagesize1=0 2C376581AC20FB5DE8538B51820E1F007CCA8260 G Warbirds LYNX pagesize0=512;pagesize1=0 -A1D2DC0771F4A30E539AB3261A21CC71ADC71550 G Klax LYNX pagesize0=1024;pagesize1=0 +A1D2DC0771F4A30E539AB3261A21CC71ADC71550 G Klax LYNX pagesize0=1024;pagesize1=0;rotate=3 37861CC3025D9ADDBACE8D07C8F65961CBA29EAA G Ninja Gaiden III - The Ancient Ship of Doom LYNX pagesize0=2048;pagesize1=0 2E25B17A221D4D9598811FBF84AB0DA3016F26E4 G Batman Returns LYNX pagesize0=1024;pagesize1=0 CB9F78FFB02216979A03ABB66301E4D3A8F01BFE G Bubble Trouble LYNX pagesize0=1024;pagesize1=0 @@ -40,7 +40,7 @@ D9C4220653B2DFBD6B26C0A0C81C40CB3108EE85 G Jimmy Conners Tennis LYNX pagesize0= 3364BDE38508C5C4FED5575295CC80C6F72EDEBE U Crystal Mines II LYNX pagesize0=512;pagesize1=0 766ED1A28528535338E176559A145AFAFFACF3EF G Fat Bobby LYNX pagesize0=1024;pagesize1=0 9C3D8037D347C0FF23D941EFF8B575A4F2F051DA G Malibu Bikini Volleyball LYNX pagesize0=1024;pagesize1=0 -CAEA445BDDCF75BCBE13920718279220D1ACB869 G NFL Football LYNX pagesize0=1024;pagesize1=0 +CAEA445BDDCF75BCBE13920718279220D1ACB869 G NFL Football LYNX pagesize0=1024;pagesize1=0;rotate=1 358069BAEAFF6BF89AD9B1C13B3271BE7C7A734A O Paperboy LYNX pagesize0=1024;pagesize1=0 537BAE2C336DC9925F10505D4040965CA7434F5D U Paperboy LYNX pagesize0=512;pagesize1=0 74441B96CE5BF2BE68945FBE93BDA259F97816B7 U Awesome Golf LYNX pagesize0=1024;pagesize1=0 @@ -60,7 +60,7 @@ F09CE08D93A479FEACECEB79EB48B337AFF49FAE U Bill & Ted's Excellent Adventure LYNX 773946365ECF3C862CFA21167750140E4B1ADAD2 G Steel Talons LYNX pagesize0=1024;pagesize1=0 E0A6A493A77D874AD647B012BE800420839AC1A5 O Hard Drivin' LYNX pagesize0=1024;pagesize1=0 6D33ABD50D46F900E8762D6E64B51E647EA98B07 U Hard Drivin' LYNX pagesize0=512;pagesize1=0 -DF48F69A7257A40844812E5B0BDA9EFDF093B7F6 G Raiden LYNX pagesize0=1024;pagesize1=0 +DF48F69A7257A40844812E5B0BDA9EFDF093B7F6 G Raiden LYNX pagesize0=1024;pagesize1=0;rotate=1 8743769AF583AF681FD1D96AADB533D26B1B510D G Rygar - Legendary Warrior LYNX pagesize0=1024;pagesize1=0 BD0C3B289EF37A728D8387AC2854D0F7397BA718 O Shanghai LYNX pagesize0=1024;pagesize1=0 9E67E05545934A7D375597B0E8C469468C5748A4 U Shanghai LYNX pagesize0=512;pagesize1=0 @@ -81,7 +81,7 @@ C2BF00DE769895CBED03C056EB9C8FA1A7EA59EF U APB - All Points Bulletin LYNX pages B2824E4C4563C54EFCA19EEA650CD26DCBAB04AA O Fidelity Ultimate Chess Challenge LYNX pagesize0=1024;pagesize1=0 F6AFA50F161FFFE5975CF5688A9314B8039D940F U Fidelity Ultimate Chess Challenge LYNX pagesize0=512;pagesize1=0 5C909B705B594B7CF8C7DB940079D73C6B40EAD3 U Puzzler 2000 V.43 LYNX pagesize0=1024;pagesize1=0 -59A5185203E3550B1CAD7B28489915BC8DE80851 U Centipede LYNX pagesize0=512;pagesize1=0 +59A5185203E3550B1CAD7B28489915BC8DE80851 U Centipede LYNX pagesize0=512;pagesize1=0;rotate=1 65C0517A59E0E93BAD91245EE8085B3483428707 U Eye of the Beholder LYNX pagesize0=512;pagesize1=0 87B683653DFE76AF02A1920582B6362EE11A3715 U Conquest of Zow LYNX pagesize0=1024;pagesize1=0 F0B8BF8EB0C8619562B15328FCAF04FDE7E2142D U Clicks! Demo V6 by Matthias Domin LYNX pagesize0=1024;pagesize1=0 @@ -97,7 +97,7 @@ BE08076586F76DB368DB1769380DCBB6DE2A6513 U Blue Lightning LYNX pagesize0=512;pa 5BD6614BC98A882EC2F465278FE4F1ED6A4E972B U Electrocop LYNX pagesize0=512;pagesize1=0 4D430B1AACF207A631F81B2089688B82267D0394 U Lemmings LYNX pagesize0=1024;pagesize1=0 0DAD2286934C6A317407DB066F00233C27F54BBE U Dinolympics LYNX pagesize0=1024;pagesize1=0 -B973CEE4A58DBAE5AB2D540B38DB90AAE78BA323 U Lexis LYNX pagesize0=1024;pagesize1=0 +B973CEE4A58DBAE5AB2D540B38DB90AAE78BA323 U Lexis LYNX pagesize0=1024;pagesize1=0;rotate=1 298163CF4355D0E8AABA264CD7DCD828B1FC6BEC U Gordo 106 - The Mutated Lab Monkey LYNX pagesize0=1024;pagesize1=0 27427ED186D034D71E100CBFF5D0072A717AF9E0 U Alien Vs Predator LYNX pagesize0=1024;pagesize1=0 A40B5DABFF9C2F6114FDBC587C72312704D7FABB U Ninja Gaiden LYNX pagesize0=1024;pagesize1=0 @@ -114,8 +114,8 @@ C0D35FCFAC44437CF3D6D56E6F8CEA0DCB12A296 U Lynx Diagnostic Cart V0.02 LYNX page 604ED8CCD306BAC715F9D08A12124ADC624DF4A1 U StarDreamer - Full Game LYNX pagesize0=1024;pagesize1=0 3149D8BA5661FD61DC94D518A0CB6D7B3A8F319F U Desert Strike - Return to the Gulf LYNX pagesize0=1024;pagesize1=0 4B82A9BC02330C9213C2BBD74D547D520C4E6FA3 U Lynx Casino LYNX pagesize0=1024;pagesize1=0 -2C3CFE49670F395626DE4C9F9FAB7A6F42D99C87 O Gauntlet - The Third Encounter LYNX pagesize0=1024;pagesize1=0 -41D27F0717A93D05A9D3D1110F571F791D330F55 U Gauntlet - The Third Encounter LYNX pagesize0=512;pagesize1=0 +2C3CFE49670F395626DE4C9F9FAB7A6F42D99C87 O Gauntlet - The Third Encounter LYNX pagesize0=1024;pagesize1=0;rotate=3 +41D27F0717A93D05A9D3D1110F571F791D330F55 U Gauntlet - The Third Encounter LYNX pagesize0=512;pagesize1=0;rotate=3 87A12B4B1F0BB479A62A7798AFD81AE27D0C12FB B Unknown Game 'T-RES' LYNX pagesize0=512;pagesize1=0 987056D6C1FF07E582FD76D4E72EEAA01570A331 O Battle Wheels LYNX pagesize0=1024;pagesize1=0 4577550D20A22CB685D51B411396D5085A852BE6 U Battle Wheels LYNX pagesize0=512;pagesize1=0 @@ -139,7 +139,7 @@ B3F8D50D21DE06686EA79A8B3E62BA044B6E5FD2 B Double Dragon LYNX pagesize0=1024;pa 1C84DCAE88049C830DAB7776889D48BBE291D132 B Gordo 106 - The Mutated Lab Monkey LYNX pagesize0=1024;pagesize1=0 9680566B18A1EBB43F185F178ABF0F20EAC0E6D9 B Hockey LYNX pagesize0=1024;pagesize1=0 F5BE4DC22112488EBFB6D7723AA98D041825C9F9 B Hydra LYNX pagesize0=1024;pagesize1=0 -33B00526F6A1D4083073949E49F84CC38475ED8D B Klax LYNX pagesize0=1024;pagesize1=0 +33B00526F6A1D4083073949E49F84CC38475ED8D B Klax LYNX pagesize0=1024;pagesize1=0;rotate=3 8C458A9F0361C2F715BF2A063881650E1E104A65 B Krazy Ace Minature Golf LYNX pagesize0=512;pagesize1=0 7510BECA1063966E0C93A3F478F08748F0700939 B Kung Food LYNX pagesize0=1024;pagesize1=0 F16E290EEEB7F4F52DEED0A3F2015D76CF64A6B7 B Lynx Casino LYNX pagesize0=1024;pagesize1=0 @@ -167,7 +167,7 @@ CB535C87BFF3A23A638B9F4A54CEE3437744DB19 B Gordo 106 - The Mutated Lab Monkey LY 41E244E4F4AC0A1FBE1797E524ADE545FE2668BF B Krazy Ace Minature Golf LYNX pagesize0=1024;pagesize1=0 92543E5180368A167CE84033CD882157F7763E5E B Krazy Ace Minature Golf LYNX pagesize0=1024;pagesize1=0 8EF8A37AE6F703578B3F43494CA931FBC7E3571E B Lemmings LYNX pagesize0=1024;pagesize1=0 -F5CFE999390531E0FF78C55DFEDEB3F1586A45BD B NFL Football LYNX pagesize0=1024;pagesize1=0 +F5CFE999390531E0FF78C55DFEDEB3F1586A45BD B NFL Football LYNX pagesize0=1024;pagesize1=0;rotate=1 261BED79222F14A628DF5A7CC3062E40D22F6CD7 B Toki LYNX pagesize0=1024;pagesize1=0 AB6E96903C35DC6FA69192355E6133D847443B1C B World Class Soccer LYNX pagesize0=1024;pagesize1=0 15555F946DC77D515C6CA814D7979F0E2345FDC0 B Xybots LYNX pagesize0=1024;pagesize1=0 @@ -197,7 +197,7 @@ CC2E2A4CEFBAA3EC6961A4E23B2F37262F9816C8 G World Class Soccer LYNX pagesize0=10 F4BDA927017465CFD417D5AD8A62FA095CC3A101 G Shadow of the Beast LYNX pagesize0=1024;pagesize1=0 1EF0C1F7400DEBEF08854BF521585BD3F10E7F67 O Warbirds LYNX pagesize0=1024;pagesize1=0 340E76E14D0D1B961D2C2D2B1B7146381DDA3A48 G Warbirds LYNX pagesize0=512;pagesize1=0 -66A04E14E07367A59FB979B25915008AC1602233 G Klax LYNX pagesize0=1024;pagesize1=0 +66A04E14E07367A59FB979B25915008AC1602233 G Klax LYNX pagesize0=1024;pagesize1=0;rotate=3 70F4115A92E3FDC4C93339AC801976A7697397BA G Ninja Gaiden III - The Ancient Ship of Doom LYNX pagesize0=2048;pagesize1=0 45DF55597BAE86B9184861D64D1A1D770F1E8C40 G Batman Returns LYNX pagesize0=1024;pagesize1=0 6A118F9A60CA99C3F6AF4A4281A21AB2E3A366B3 G Bubble Trouble LYNX pagesize0=1024;pagesize1=0 @@ -218,7 +218,7 @@ E8D6A939A202060A76E0417315C7693631116D57 O Crystal Mines II LYNX pagesize0=1024 C3B7E7FE892068BF4B58AEC85181F6B00693B47D U Crystal Mines II LYNX pagesize0=512;pagesize1=0 2EAB6BFB7E5B479FAC3DEEB7BDF383FD59D64BCB G Fat Bobby LYNX pagesize0=1024;pagesize1=0 F47F2AED04BA18152347AA2E0858B56C374C5F71 G Malibu Bikini Volleyball LYNX pagesize0=1024;pagesize1=0 -22735FCD59EB028A4041027A369602B0BD968EB5 G NFL Football LYNX pagesize0=1024;pagesize1=0 +22735FCD59EB028A4041027A369602B0BD968EB5 G NFL Football LYNX pagesize0=1024;pagesize1=0;rotate=1 1D6A284203FDCFBDA76DED39CD6BE61EC2364CE1 O Paperboy LYNX pagesize0=1024;pagesize1=0 7B5150CC095C554B0578BDD9A20CAEC0A7921547 U Paperboy LYNX pagesize0=512;pagesize1=0 C40AC4CC9A4AADE0F7EAB4283EED46D5882B35A8 U Awesome Golf LYNX pagesize0=1024;pagesize1=0 @@ -238,7 +238,7 @@ D024992D0032BCE698273E81D7276FBA9A19F75F G Rampart LYNX pagesize0=1024;pagesize 2D3536B3C5F3B8AA9DD5D952DBD43BEAC3043F6F G Steel Talons LYNX pagesize0=1024;pagesize1=0 D15E40F97D277615E03E861D5962D3F5B35E1D58 O Hard Drivin' LYNX pagesize0=1024;pagesize1=0 AFE1A2B3ED37596378B2D40F54E1635BF15C5600 U Hard Drivin' LYNX pagesize0=512;pagesize1=0 -752A58E02787AFC145F5245AEC3577AD4BFF954E G Raiden LYNX pagesize0=1024;pagesize1=0 +752A58E02787AFC145F5245AEC3577AD4BFF954E G Raiden LYNX pagesize0=1024;pagesize1=0;rotate=1 24E14920178E3481F161783B73EFCA0A1594C8CF G Rygar - Legendary Warrior LYNX pagesize0=1024;pagesize1=0 B091847B6734F5A5C3B0CB0CF0AC1DD633547B7B O Shanghai LYNX pagesize0=1024;pagesize1=0 DBC5749A30D05C3FBB7E247D80405DD026BC8ADD U Shanghai LYNX pagesize0=512;pagesize1=0 @@ -259,7 +259,7 @@ BC005446FB9E96848823E8BAA722C6A7761783E1 U RoadBlasters LYNX pagesize0=1024;pag 80B9C2E4DA2BE73B329B729E84A8B9571B6D5671 O Fidelity Ultimate Chess Challenge LYNX pagesize0=1024;pagesize1=0 D65C4D14F609A05786EC64808BBDE4B955362412 U Fidelity Ultimate Chess Challenge LYNX pagesize0=512;pagesize1=0 0804CAA4E15BCDE2A51B475103787539C2578D0A U Puzzler 2000 V.43 LYNX pagesize0=1024;pagesize1=0 -9954707EEBA52904533CEF59E5AAE6E196434534 U Centipede LYNX pagesize0=512;pagesize1=0 +9954707EEBA52904533CEF59E5AAE6E196434534 U Centipede LYNX pagesize0=512;pagesize1=0;rotate=1 6C37E1F220E73FF784B90C81846CEBE4DB0AB3BC U Eye of the Beholder LYNX pagesize0=512;pagesize1=0 41AF0A1D8E4AA67B162394ABF770E4A812F59A9F U Conquest of Zow LYNX pagesize0=1024;pagesize1=0 565CDC8F04477652133766F3C383883D92F6E0C3 U Clicks! Demo V6 by Matthias Domin LYNX pagesize0=1024;pagesize1=0 @@ -275,7 +275,7 @@ D89985E2E692B335E3EB1E2A269AC2A2E4B3C8AD U Gates of Zendocon, The LYNX pagesize C06E983638B4466322A15A367CDAEB56FC2486E6 U Electrocop LYNX pagesize0=512;pagesize1=0 E61C173116EACECF90D0296C03D8C216BE57400C U Lemmings LYNX pagesize0=1024;pagesize1=0 8AF3A298DDB7BA235B54891C221EF53A2C89E9DB U Dinolympics LYNX pagesize0=1024;pagesize1=0 -57819A935BFCBF5B13AC364DF966B6C41A3886BF U Lexis LYNX pagesize0=1024;pagesize1=0 +57819A935BFCBF5B13AC364DF966B6C41A3886BF U Lexis LYNX pagesize0=1024;pagesize1=0;rotate=1 46FD69C68CB0929A2D21ECC5225390B7425AE3F4 U Gordo 106 - The Mutated Lab Monkey LYNX pagesize0=1024;pagesize1=0 860A73B9484C78330D3502A70BB807D699D540DC U Alien Vs Predator LYNX pagesize0=1024;pagesize1=0 E751C35CCE6E2E126CE7CCBD32B148DD6E248809 U Ninja Gaiden LYNX pagesize0=1024;pagesize1=0 @@ -292,8 +292,8 @@ E6102B29727FD76177EFD64C26F40DD6BEEE6888 U Road Riot 4WD LYNX pagesize0=1024;pa C6D62D5CF9CB546542A7DBB81FFD2F1241A9A7EE U StarDreamer - Full Game LYNX pagesize0=1024;pagesize1=0 1E529493866D6485074233458B40C4E7B0F032EF U Desert Strike - Return to the Gulf LYNX pagesize0=1024;pagesize1=0 A5FB943E2EEECE25BC3AAF1E9F6AE5C030672193 U Lynx Casino LYNX pagesize0=1024;pagesize1=0 -C6ABB87EB1EB50CA5EFBA2A45E678A7677AFED30 O Gauntlet - The Third Encounter LYNX pagesize0=1024;pagesize1=0 -7CF7D08B52784E13D8278D249DCD8975D3714DA4 U Gauntlet - The Third Encounter LYNX pagesize0=512;pagesize1=0 +C6ABB87EB1EB50CA5EFBA2A45E678A7677AFED30 O Gauntlet - The Third Encounter LYNX pagesize0=1024;pagesize1=0;rotate=3 +7CF7D08B52784E13D8278D249DCD8975D3714DA4 U Gauntlet - The Third Encounter LYNX pagesize0=512;pagesize1=0;rotate=3 A8D97587A5749D19158D1749EE998C520B7C71FE B Unknown Game 'T-RES' LYNX pagesize0=512;pagesize1=0 770B693DFAC8833EAA1446EE7218F653B10C366F O Battle Wheels LYNX pagesize0=1024;pagesize1=0 FBB4808B71A22211CC8B08211B0830F40C8E4674 U Battle Wheels LYNX pagesize0=512;pagesize1=0 @@ -317,7 +317,7 @@ A2A4AE4E3AB4CFE281659B265580E9076067983C B Dinolympics LYNX pagesize0=1024;page 949945ECD5CA1262512B4CFA45414DB75F9AF42E B Gordo 106 - The Mutated Lab Monkey LYNX pagesize0=1024;pagesize1=0 0465752C632E396218CE4D8A111C005E7DDA55A2 B Hockey LYNX pagesize0=1024;pagesize1=0 397E0953FB2105268FCAF148B9900E614348DB13 B Hydra LYNX pagesize0=1024;pagesize1=0 -9DFC72E4BB77215A4F17A496EECE50D6510D48A9 B Klax LYNX pagesize0=1024;pagesize1=0 +9DFC72E4BB77215A4F17A496EECE50D6510D48A9 B Klax LYNX pagesize0=1024;pagesize1=0;rotate=3 8063DAB2CA8DA55D0BF1329FF5403D23A1261422 B Krazy Ace Minature Golf LYNX pagesize0=512;pagesize1=0 396E25A6016B4279B82745C479593037B78BDEEC B Kung Food LYNX pagesize0=1024;pagesize1=0 9EB4265B2472F8AD4E4E94E0ECE4D1E3D5B7B237 B Lynx Casino LYNX pagesize0=1024;pagesize1=0 @@ -345,7 +345,7 @@ FF7C4DC40B8A9B2A8453F4D17C75E4382E36ED8C B Steel Talons LYNX pagesize0=1024;pag B2A43B2303447FDE6426801417F18E28A69803D1 B Krazy Ace Minature Golf LYNX pagesize0=1024;pagesize1=0 A973124B5E6DF36C24109B9A1BAEB0002CB1458D B Krazy Ace Minature Golf LYNX pagesize0=1024;pagesize1=0 A919D411F58BEA01CCF0590CA42A48F33DA9A0F7 B Lemmings LYNX pagesize0=1024;pagesize1=0 -76B4D3C29C1E68C8A62CC2913DAF4884C3913B62 B NFL Football LYNX pagesize0=1024;pagesize1=0 +76B4D3C29C1E68C8A62CC2913DAF4884C3913B62 B NFL Football LYNX pagesize0=1024;pagesize1=0;rotate=1 7CC238FCC664B9923F2AF1012DC093BA924463E9 B Toki LYNX pagesize0=1024;pagesize1=0 DD8E6432F99D63E80885D4BCE3D29C2E497737D3 B World Class Soccer LYNX pagesize0=1024;pagesize1=0 554B9BB0290F1EA1683E090886B837765EED7F0A B Xybots LYNX pagesize0=1024;pagesize1=0