diff --git a/CHANGES.md b/CHANGES.md index 63109c5..103f705 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,5 @@ # Release notes -### v3.7 (released 2022-03-30) +### v3.7 (released 2022-03-31) - Updated the Game Boy Advance lookup database for save types, ROM sizes and checksums (improves support for Classic NES Series, NES Classics and Famicom Mini cartridges) - When writing new ROMs to Nintendo Power GB Memory Cartridges (DMG-MMSA-JPN), hidden sector data will now be auto-generated if it’s not provided by the user in form of a .map file - Erasing save data of Game Boy Advance cartridges with the 512K FLASH and 1M FLASH save types is now faster @@ -13,6 +13,8 @@ - Added support for DIY carts with MBC1 and SST39SF040 @ AUDIO *(thanks Timville)* - Added support for B100 with MX29LV640ET *(thanks Mr_V)* - Added support for B54 with MX29LV320ET *(thanks Mr_V)* +- Added support for AGB-E05-02 with S29GL032 *(thanks redalchemy)* +- Minor bug fixes and improvements ### v3.6 (released 2022-03-09) - When opening Game Boy Camera Album Viewer manually, the save data will now automatically be loaded if a Game Boy Camera or Pocket Camera cartridge is connected diff --git a/FlashGBX/config/fc_AGB_S29GL032.txt b/FlashGBX/config/fc_AGB_S29GL032.txt new file mode 100644 index 0000000..743095a --- /dev/null +++ b/FlashGBX/config/fc_AGB_S29GL032.txt @@ -0,0 +1,87 @@ +{ + "type":"AGB", + "names":[ + "AGB-E05-02 with S29GL032" + ], + "flash_ids":[ + [ 0x02, 0x00, 0xFA, 0x22 ] + ], + "voltage":3.3, + "flash_size":0x400000, + "sector_size_from_cfi":true, + "chip_erase_timeout":120, + "command_set":"AMD", + "commands":{ + "reset":[ + [ 0, 0xF0 ] + ], + "read_identifier":[ + [ 0xAAA, 0xA9 ], + [ 0x555, 0x56 ], + [ 0xAAA, 0x90 ] + ], + "read_cfi":[ + [ 0xAA, 0x98 ] + ], + "chip_erase":[ + [ 0xAAA, 0xAA ], + [ 0x555, 0x55 ], + [ 0xAAA, 0x80 ], + [ 0xAAA, 0xAA ], + [ 0x555, 0x55 ], + [ 0xAAA, 0x10 ] + ], + "chip_erase_wait_for":[ + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ 0, 0xFF, 0xFF ] + ], + "sector_erase":[ + [ 0xAAA, 0xA9 ], + [ 0x555, 0x56 ], + [ 0xAAA, 0x80 ], + [ 0xAAA, 0xA9 ], + [ 0x555, 0x56 ], + [ "SA", 0x30 ] + ], + "sector_erase_wait_for":[ + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ "SA", 0xFFFF, 0xFFFF ] + ], + "buffer_write":[ + [ 0xAAA, 0xA9 ], + [ 0x555, 0x56 ], + [ "SA", 0x26 ], + [ "SA", "BS" ], + [ "PA", "PD" ], + [ "SA", 0x2A ] + ], + "buffer_write_wait_for":[ + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ "SA", "PD", 0xFFFF ] + ], + "single_write":[ + [ 0xAAA, 0xA9 ], + [ 0x555, 0x56 ], + [ 0xAAA, 0xA0 ], + [ "PA", "PD" ] + ], + "single_write_wait_for":[ + [ null, null, null ], + [ null, null, null ], + [ null, null, null ], + [ null, null, null ] + ] + } +} diff --git a/FlashGBX/hw_GBxCartRW.py b/FlashGBX/hw_GBxCartRW.py index 7684efa..2f71390 100644 --- a/FlashGBX/hw_GBxCartRW.py +++ b/FlashGBX/hw_GBxCartRW.py @@ -732,8 +732,11 @@ class GbxDevice: save_type = 7 elif save_size == 32768: save_type = 3 - else: + elif save_size in Util.AGB_Header_Save_Sizes: save_type = Util.AGB_Header_Save_Sizes.index(save_size) + else: + save_type = None + save_size = 0 else: dprint("Testing EEPROM") # Check for 4K EEPROM diff --git a/FlashGBX/res/config.zip b/FlashGBX/res/config.zip index 890edf0..6ae250d 100644 Binary files a/FlashGBX/res/config.zip and b/FlashGBX/res/config.zip differ diff --git a/README.md b/README.md index 37789e8..73626ba 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ Use this command in a Terminal or Command Prompt window to launch the installed - AGB-E05-02 with JS28F128 - AGB-E05-02 with M29W128FH - AGB-E05-02 with M29W128GH + - AGB-E05-02 with S29GL032 - AGB-E05-06L with 29LV128DBT2C-90Q - AGB-E08-09 with 29LV128DTMC-90Q - AGB-E20-30 with M29W128GH @@ -297,7 +298,7 @@ The author would like to thank the following very kind people for their help and - Paradoxical (flash chip info) - Rairch (bug reports) - Raphaël BOICHOT (feature suggestions) -- redalchemy (bug reports) +- redalchemy (bug reports, flash chip info) - RetroGorek (flash chip info) - RevZ (Linux help, testing, bug reports, flash chip info) - Satumox (bug reports)