Lei Shen Zhuan / Battle Garegga hack - Help / Advice needed

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Lei Shen Zhuan / Battle Garegga hack - Help / Advice needed

      I picked up a "Lei Shen Zhuan Thunder Deity Biography" PCB a few months back, this exact PCB I believe.

      Looking through MAME shows that the game uses the same asset files as Garegga but has modified program file and these additional files.

      text.bin is a modified text.81 file containing the Chinese logo and some other shite.
      base.bin. Not present in the Garegga set. No idea what this does, the game still works with it missing. :rolleyes:

      The main program code is in 27c8100.mon-sys. This looks like the two Garegga program files prg0.bin & prg1.bin have been interleaved and byte flipped. Writing these combined files to a 27C8100 was successful and the game booted but with a slight issue.

      Left original Garegga ROM. Right, LSZ ROM using Garegga program file.

      The entire top layer of graphics are shifted 1/4 way up the screen. This is what it looks like during play, the score and player stock are missing and the bomb stock is way to high. X/

      Other than the entire layer being shifted up it looks, sounds and plays fine in both MAME and the PCB.

      I couldn't find any info in the MAME driver with regards to differences between the two ROMS.

      Any suggestions on how to move the top layer of graphics back to their correct position?

    • base.bin seems to be a kind of table, might be useful after all.

      Try with the text.bin file from Lei Shen Zhuan Thunder Deity Biography and report.
      Looking for:
      - OutRun boardset even untested or not working
      - Sega Super Scaler hardware (Out Run, Model X, Model Y), even with faulty PCM chip

      01010011 01000101 01000011 01010010 01000101 01010100 00100000 01001101 01000101 01001110 01010101 00100000 01000111 01010101 01011001
    • I have several of these PCBs, and did some poking around a while back.

      I have created a hack that mitigates the hardware problems with this PCB, so that the original Battle Garegga game plays on it without issues (misaligned background layers, background updates lagging 1f behind the sprites)


      The bootleg PCB also has no bypass capacitors so I recommend adding them all over the board. There aren't spots for them, so you will need to be creative.

      If the text plane is shifted on your bootleg PCB, that's weird - from all the ones I've tested, the text plane doesn't support any kind of positioning, and running stock Garegga on the PCB will actually cause a lot of issues with text layer corruption as a result.

      "BASE.BIN" isn't "needed" for the game to run, and MAME makes no use of it. The bootleg PCB, though, absolutely needs it. MAME doesn't run these bootlegs accurately, as the hardware flaws are not represented.

      Unzip bgaregga-bl-fixed, burn prg.bin to a 27C800, and text.bin to a 27C256. Have fun desoldering the ROMs from the bootleg PCB, as it's such an utterly garbage quality PCB. Annular rings abandon the attached vias without a lot of force.

      The post was edited 1 time, last by Hatsune Mike ().

    • Many thanks for this Mike, excellent write up too. :thumbsup: This is the bgerggabla set from MAME but hopefully it won't be too different.

      I'll write them to a couple of EPROms when I get a bit of time and let you know how it goes. Luckily for me the program ROM on my board is socketed, but as you say the build quality on these boards isn't great so swapping 27C256 will be painful.
    • So I burnt the program code to a 27C800 and it worked a treat. :thumbsup: Thanks again for this Mike, I really appreciate it. The board plays surprisingly well, there is a bit of sprite flicker when the screen gets really busy but overall I'm really surprised how well this board performs.

      The propeller positions are pretty much bang on.

      The only thing left to do is swap the 27C256 but I'll access the condition of the board prior to trying that.

      I had to byte flip the program code so I've attached it here, probably not useful for anyone else but you never know. :)