<commit_before>The Genesis Plus Project
------------------------------

CHANGELOG:

- completely rewrote EEPROM emulation: now support all known EEPROM types (24C01-24C65) and mappers (Sega, Acclaim, EA, Codemasters)
used in a few games (now use game database) as backup RAM. This should fix SRAM load/save support in the following games:

	. NBA Jam (alternate Acclaim mapper)
	. College Slam, <NAME>urt Baseball (24C65 type)
	. NHLPA Hockey 93, Rings of Power (EA mapper)
	. Micromachines games (Codemasters mapper)

- SRAM data is now initialized with 0xFF: fix Micromachines 2, Dino Dini Soccer and maybe more
- corrected 16-bits SRAM read/write: fix some Sega Sports and EA Sports games (NFL95, NBA Action 95, NL97, NHL98,...)
- modified WRITE_xxx & READ_xxx macros for portability
- rewrote BIG ENDIAN support in render.c and vdp.c: should be a little faster (no more useless word swapping)
- fixed leftmost Window/PlaneA column render and implemented window bug (see gen-vdp.txt)
- sprite limit emulation and sprite collision detection should be now a little more accurate
- corrected test before CRAM writes
- removed redundant "color_update()" calls
- added 9bits (RGB333) pixel color extrapolation to cover each color full range (0-31;0-63) in 16bits mode (RGB 565)
- completely rewrote interrupt (VINT/HINT) handling: Sesame's Street Counting Cafe now works without any hacks,
other timing sensitive games are ok
- modified Hcounter tables: Road Rash games (I,II,III) don't need any timing hacks anymore
- corrected VDP latency so it does not interfere with DMA timings anymore



20/07/2007:
[Genesis]
- corrected TeamPlayer support: fix multiplayer in Gauntlet 4 (Sept. version), Pengo and a lot of others
- added J-Cart support: enable multiplayer in Codemasters games (Pete Sampras, Micromachines games, Super Skidmarks)
- added serial EEPROM autodetection: fix games with bad SRAM informations in header (NBA Jam TE)
- added SVP faking: display 2D graphics in Virtua Racing (the game is however still unplayable)
- added support for more internal IO registers: fixe some unlicensed games (Wisdom Tree games...)
- added preliminary support for unmapped protection device: fix some unlicensed games with special built-in hardware (Squirell King, Lion King 2...)
- added "Soft Reset" combo (in game, use L+Z triggers): this should be like pressing the RESET button on a real Genesis and this is required
  in some games to enable special features or even complete the game (ex: X-Men).<commit_msg>- changelog updated - added VFAT support and old files saved - corrected some docs - added SRAM crc calculation after SRAM saving on SDCARD - modified reload_rom actions order - fixed some vdp status bits<commit_after>The Genesis Plus Project
------------------------------

CHANGELOG:

- completely rewrote EEPROM emulation: now support all known EEPROM types (24C01-24C65) and mappers (Sega, Acclaim, EA, Codemasters)
used in a few games (now use game database) as backup RAM. This should fix SRAM load/save support in the following games:

	. NBA Jam (alternate Acclaim mapper)
	. College Slam, <NAME> Hurt Baseball (24C65 type)
	. NHLPA Hockey 93, Rings of Power (EA mapper)
	. Micromachines games (Codemasters mapper)

- modified SRAM initialization with 0xFF data: fix Micromachines 2, Dino Dini Soccer
- fixed SRAM word read/write handler: fix some Sega Sports and EA Sports games (NFL95, NBA Action 95, NL97, NHL98,...) which previously hang
- modified WRITE_xxx & READ_xxx macros for portability
- rewrote BIG ENDIAN support in render.c and vdp.c: it should be a little faster now (no more useless swapping)
- fixed leftmost Window/PlaneA column render and implemented Window bug (as described in gen-vdp.txt)
- improved Sprite Limit emulation and Sprite Collision detection
- fixed test made before CRAM writes
- removed redundant "color_update()" calls
- added 9bits (RGB333) pixel color extrapolation to cover full color range (0-31;0-63) in 16-bit rendering mode (RGB565)
- rewrote Interrupts handling: Sesame's Street Counting Cafe now works without any hacks, other timing sensitive games seems not to be affected
- modified Hcounter tables: Road Rash games (I,II,III) don't need any timing hacks anymore
- fixed VDP latency so it does not interfere with DMA timings anymore



20/07/2007:
[Genesis]
- corrected TeamPlayer support: fix multiplayer in Gauntlet 4 (Sept. version), Pengo and a lot of others
- added J-Cart support: enable multiplayer in Codemasters games (Pete Sampras, Micromachines games, Super Skidmarks)
- added serial EEPROM autodetection: fix games with bad SRAM informations in header (NBA Jam TE)
- added SVP faking: display 2D graphics in Virtua Racing (the game is however still unplayable)
- added support for more internal IO registers: fixe some unlicensed games (Wisdom Tree games...)
- added preliminary support for unmapped protection device: fix some unlicensed games with special built-in hardware (Squirell King, Lion King 2...)
- added "Soft Reset" combo (in game, use L+Z triggers): this should be like pressing the RESET button on a real Genesis and this is required
  in some games to enable special features or even complete the game (ex: X-Men).
{'fraction_non_alphanumeric': 0.07045498176233442, 'fraction_numerical': 0.019581493568823192, 'mean_word_length': 4.230923694779117, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2040204', 'n_tokens_mistral': 1561, 'n_tokens_neox': 1396, 'n_words': 742}