Emulation PocketNES, Goomba, Cologne, and SMSAdvance sram and exit patched *UPDATED

patters

Well-Known Member
Member
Joined
Jan 28, 2006
Messages
172
Trophies
1
XP
892
Country
Updated the collection again (03-26-22):
  • added MSXAdvance 0.2 (versions 0.3 and 0.4 of MSXAdvance are quite broken), and a new MSX compile script.
  • added a new compile script for Jagoomba / Goomba / Goomba Color
  • updated all compile scripts from Python2 to Python3
  • added a splash screen option to all the compile scripts
  • updated all compile scripts to copy the .pat file needed for EZ-Flash IV firmware 2.x
  • updated README.TXT
  • moved the example FOR loops, which process a whole folder of rom files, into a separate file 'automating.txt'
  • added a history.txt changelog to keep track of the various changes to this compilation
 

Attachments

  • exit_patched_3-26-22.zip
    1.9 MB · Views: 76
Last edited by patters,

patters

Well-Known Member
Member
Joined
Jan 28, 2006
Messages
172
Trophies
1
XP
892
Country
Updated the collection again (05-01-22):
  • added build.sh and build.bat scripts to each emulator folder for easier batch rom conversions
  • added exit-patched PCEAdvance 7.5 and a new compile script
  • added SNESAdvance 0.1f (no emulator exit though) and a new compile script
  • merged SNESAdvance update history information
  • major rewrite of all Python 3 compile scripts, which are now mostly at feature parity with the old Win32 GUI applications
  • all compile scripts:
    • -h for help
    • drag and drop a selection of ROMs onto the shell window after typing the script name, to easily add multiple ROMs
    • blank SRAM save file of the appropriate size can now be created automatically using the -sav option
    • GSS patch file for EZ-Flash IV firmware 2.x (to force 64KB SRAM saves) can now be created using the -pat option
    • patch file data is encoded within the script body - no external dependency
    • splash screen support
    • optional overrides of file paths
    • can clean brackets from ROM titles
  • some compile scripts (as applicable):
    • auto-detection of ROM types for emulators that support multiple types with specific header requirements
    • region options and PAL timings are now auto-detected based on ROM naming
    • boot-to-BIOS support
    • small ROMs suitable for link transfer (<192KB) can be marked in the game list
  • pceadvance_compile.py:
    • ISO and TCD tracklist support for PC Engine CD-ROM
    • some sprite follow settings for "Unscaled (Auto)" display mode (those featured in gamelist.txt)
    • CD BIOS automatically added when an ISO image is added, and titled with the ISO name
  • goomba_compile.py:
    • works around an EZ-Flash issue where some ROMs would cause duplicate game list entries
    • can prefer ROM filenames rather than original ROM game titles in the game list
  • pocketnes_compile.py:
    • can lookup ROM checksum in PocketNES Menu Maker database (pnesmmw.mdb) for optimal game settings, sprite follow
    • can prefer game titles from PocketNES Menu Maker database
    • 256 byte alignment of all ROM data for optimum performance
  • snesadvance_compile.py:
    • SuperDAT database is mandatory (snesadvance.dat)
    • default graphics assets are encoded in the script, external skin files are ingested if present
    • can accept headered or unheadered ROMs (.smc/.sfc)
    • can export header-stripped ROMs
    • can prefer game titles from SuperDAT database

Now published on GitHub with rewritten markdown documentation:
https://github.com/patters-syno/gba-ezflash-iv-emulators
 

Attachments

  • exit_patched_5-1-22.zip
    3.2 MB · Views: 62
Last edited by patters,
  • Like
Reactions: Elru and hippy dave

Elru

Well-Known Member
Newcomer
Joined
May 14, 2014
Messages
54
Trophies
0
XP
904
Country
Chile
Hello, how can i edit the build.bat file to add a splash screen? In goombapaletted240 for example

Edit
I found the answer, is -s for anyone interested
 
Last edited by Elru,
  • Like
Reactions: patters

patters

Well-Known Member
Member
Joined
Jan 28, 2006
Messages
172
Trophies
1
XP
892
Country
05-13-22 patters
  • added Flubba's GhostsnGoblinsGBA emulator, exit patched and SRAM patched
  • added Flubba's YieArKungFuGBA emulator, exit patched and SRAM patched
  • added bash versions of the various simple concatenation scripts for these emulators

05-18-22 patters
  • modified PCEAdvance binary to use EZ-Flash IV PSRAM for Super CD-ROM support and, in theory, Arcade CD-ROM but unfortunately PSRAM doesn't currently work when the emulator is launched from NOR flash - so titles larger than 16MB do not work (no Akumajou Dracula X yet)
  • added Murdoc emulator for Mr Do!, exit patched and SRAM patched
  • added bash versions of the Murdoc simple concatenation scripts

img_20220518_121600-jpg.310465

PC Engine Super CD-ROM² working :)

Get the bundle from GitHub using
Code:
git clone https://github.com/patters-syno/gba-ezflash-iv-emulators

Documentation here:
https://github.com/patters-syno/gba-ezflash-iv-emulators/blob/main/README.md
 
Last edited by patters,

patters

Well-Known Member
Member
Joined
Jan 28, 2006
Messages
172
Trophies
1
XP
892
Country
06-14-22 patters
  • MSXAdvance builder now stores game ROM mapper selection in an unused byte in the ROM header
  • modified MSXAdvance to use the mapper choice in the header if present
  • games just work now, directly from the menu list!
 
Last edited by patters,
  • Like
Reactions: hippy dave

damianiw

Member
Newcomer
Joined
Aug 7, 2015
Messages
5
Trophies
0
Age
46
XP
94
Country
Wow, thank you for all your work on packaging these for the EZ Flash IV, Ive just updated my very old cart and enjoying the new firmware but hadn't got the emulators working, great idea to use GitHub 🙂
 
  • Like
Reactions: Elru and patters

patters

Well-Known Member
Member
Joined
Jan 28, 2006
Messages
172
Trophies
1
XP
892
Country
Appreciate the feedback. I went down quite a rabbit hole with these Python builder scripts, and the forks of PCEAdvance and MSXAdvance. But it has really sharpened my coding skills which is a great outcome. It's very hard to learn stuff without a specific purpose. Glad people are deriving some utility from it!
 
  • Like
Reactions: Elru and damianiw

patters

Well-Known Member
Member
Joined
Jan 28, 2006
Messages
172
Trophies
1
XP
892
Country
Update:

Added ZXAdvance (managed to hack in an 'Exit' menu item) and PocketBeeb to the collection.

For ZXAdvance I inspected the menu item strings in the binary and it looked like each string had some kind of jump address stored with it. The Cheats menu simply doesn't work (it was a planned but unwritten feature), so I edited that text and then copied the reference from the Exit to Pogoshell option which is not shown for regular compilations. I then found a perfect match for the visoly.bin code, which I swapped out for ez4_reset.bin.

For PocketBeeb I started by searching the binary for the final pair of instructions for any GBA reset function:
Code:
swi 0x10000
swi 0x0
which is:
Code:
000001EF 000000EF

...I was able to work backwards from there disassembling. I tried inserting a branch instruction to a copy of ez4_reset.bin inserted in the padding space at the end of the file but it just didn't seem to work, despite that I was correctly calculating the offset. In the end, by examining the disassembly of that region I could see that it was a variation on the visoly exit code so I was able to safely overwrite a 100 byte section with the code from ez4_reset.bin, working backwards from the interrupt instructions. It's not very clean, because I couldn't reliably determine the start of that original visoly routine, but this change works fine and PocketBeeb does indeed exit back to the EZ-Flash firmware.

If PocketBeeb doesn't exit for you and the menu isn't showing the highlight colour properly then you've forgotten to disable the EZ-Flash GSS for the GAME_ID 'BEEB'. See the readme markdown on my repo for details.

It's probably worth mentioning that all of these exit-patched binaries will work on EZ-Flash IV, 3in1, and Omega. They probably work on EZ-Flash III also, though no one has confirmed.
 
Last edited by patters,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: This parrot is no more it has ceased to be!