Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - skaman

Pages: [1]
1
General Discussion / SEGA SMS/GG Firmware (BETA)
« on: 10/Dec/2017 03:41:40 AM »
I've been working on a new firmware for Sega Master System and Game Gear carts.

I added improved cart recognition and SRAM save support.  I also added proper Codemasters cart support.  The SMS/GG Plugin needs to be modified for the Codemasters carts to work.

As part of the development, I made a working prototype Mark III Plugin.  The plugin allows you to read Japanese Mark III carts and Sega Card/My Cards with a Card Catcher (see http://forum.retrode.org/index.php/topic,368.msg2711.html#msg2711).

Here's a summary:
Code: [Select]
v0.24b beta (2017-12-09)
- Changes by skaman:
-- SEGA SMS and GG Saves!
-- Fixed SMS SRAM read support.
-- Added SMS SRAM write support.
-- SMS SRAM carts should be identified by Product Code
   and display the .SAV file.  The .SAV file can be read
   and written.
-- Corrected the ROM size identification for Mega,
   Two-Mega, and Four-Mega carts.
-- Fixed Product Code identification.
-- Fixed identification of SMS Monopoly (U) to output
   the proper ROM and SRAM save file.
-- Fixed identification of SMS Wonder Boy in Monster
   World (EK) and SMS New Zealand Story (E) to output the
   proper ROM file.
-- Added code to improve handing carts with bad headers.
   A small number of games will still require using the
   [forceSystem] setting in the Config file due to
   missing ASCII text at the start of the header.
-- Added identification of SMS Ys (J) save file.
-- Added identification of SMS Haja no Fuuin (J) save file.
-- Added GG SRAM save support.
-- GG SRAM carts should be identified by Product Code
   and display the .SAV file.  The .SAV file can be read
   and written.
-- Added identification of GG Pro Yakyuu '91 (J).
-- Fixed GG ROM size "0" identification.  ROM size "0"
   is 256KB, however, carts may be 256KB, 512KB, or 1MB.
-- Fixed SMS Codemasters cart detection.
-- Added GG Codemasters cart support.
-- WARNING:  Codemasters carts require modification of the
   SMS/GG Plugin.  The CLOCK connection must be made from
   both slots to the plugin edge (pin B9).  In addition,
   SMS Codemasters carts require the /MREQ pin to be
   connected to the /CE pin.
-- Moved SMS/GG cart detection ahead of NGP cart detection.
   Some SMS carts were incorrectly detected as NGP.
-- Changed the SMS/GG SRAM save extension to ".SAV".
   This appears to be the extension expected by most
   SEGA emulators.

2
General Discussion / N64 Save Support (FW v0.23)
« on: 03/Nov/2017 12:43:27 PM »
Announcing the public release of the N64 Save Support Firmware v0.23.  This firmware adds the ability to read and write N64 saves (SRAM, FlashRAM, and EEPROM).  In addition, the N64 cart heuristics code was modified and cart size recognition should be improved.

N64 EEPROM save support should work with the production N64 plugin.  The prototype N64/GBx plugin needs modification to add 2 connections - CLK and S_DAT.  More details here:  http://forum.retrode.org/index.php/topic,154.msg2625.html#msg2625

I want to give a HUGE THANKS to the BETA testers.  As a group, the testers tested dozens, if not hundreds, of carts during the firmware development.  This firmware would not have been possible without their testing and feedback.

A few notes on using the firmware:
1)  When reading N64 carts, please set the voltage to 3.3V. 
2)  Remember the [saveReadonly] setting in the Config file.  Set it to 0 if you plan to write to the save file.
3)  Writes to FlashRAM and EEPROM16K save files take longer.  DO NOT RESET OR UNPLUG THE RETRODE WHILE THE LED IS ON.
4)  SRAM (.SRA) and FlashRAM (.FLA) save files need to be saveswapped to be used in Project64 (PJ64) and other emulators.
     EEPROM (.EEP) save files do not need to be saveswapped.
5)  Save swap programs are available here:
     saturnu's ED64-Saveswap:  https://github.com/sanni/cartreader/tree/master/extras/saveswap
     ssokolow's portable (cross-platform) alternative:  https://github.com/ssokolow/saveswap
6)  There is NO SUPPORT for Reproduction N64 carts.  Most reproduction carts will have problems either with cart recognition or accessing saves.  YMMV.

Here's the summary of the firmware changes:
Code: [Select]
v0.23 (2017-11-03)
- Changes by skaman:
-- N64 Saves!
-- Added N64 SRAM save support.
-- N64 SRAM carts should be identified by Cart ID and
   display the .SRA file.  The .SRA file can be read
   and written.
-- Added proper Dezaemon 3D 768Kbit SRAM support.
-- Added identification of the Hoshi no Kirby 64 (J)
   savetype based on the ROM version.  v1.0 & v1.1 are
   SRAM,  1.2 & v1.3 are EEPROM4K.
-- Added N64 FlashRAM save support.
-- N64 FlashRAM carts should be identified by Cart ID
   and display the .FLA file.  The .FLA file can be read
   and written.
-- WARNING:  FlashRAM writes take time to complete as
   the chip must first be erased before writing to it.
   ** WHEN SAVING AN UPDATED .FLA FILE, DO NOT RESET **
   **** OR UNPLUG THE RETRODE WHILE THE LED IS ON! ****
-- Added N64 EEPROM save support.
-- N64 EEPROM carts should be identified by Cart ID and
   display the .EEP file.  The .EEP file can be read
   and written.
-- WARNING:  EEPROM16K writes take time to complete.
   ** WHEN SAVING AN UPDATED .EEP FILE, DO NOT RESET **
   **** OR UNPLUG THE RETRODE WHILE THE LED IS ON! ****
-- Added reading of the N64 Gameshark.  When a working
   Gameshark is attached, the Gameshark.z64 ROM will be
   displayed.
-- Fixed the N64 heuristics code to recognize 20MB and
   40MB games.  These were previously overlooked by the
   code.  Fixes Donald Duck Goin' Quackers, Paper Mario,
   and Ogre Battle 64.
-- Fixed the N64 heuristics code for underdumps of Body
   Harvest and Paper Mario (E).  Modified the addresses
   checked to determine the cart size.
-- Modified the Config file to change the save file
   write protection setting from "[sramReadonly]" to
   "[saveReadonly]".  The change was made since the
   same setting is applied to all save types including
   SRAM, FlashRAM, and Controller Pak save files.
-- Modified the Config file's default N64 ROM extension
   to ".z64".  This is the correct extension for the
   native big endian format output by the Retrode.
-- WARNING:  THERE IS NO SUPPORT FOR REPRODUCTION N64
   CARTS.  MOST REPRODUCTION CARTS WILL HAVE CART
   RECOGNITION PROBLEMS AND/OR SAVE PROBLEMS.  YMMV.

The v0.23 firmware is available here:  http://www.mediafire.com/file/7gxgtbl0co7m0b8/Retrode-v0.23.zip

3
General Discussion / SNES Enhanced Cart Support (FW v0.22)
« on: 11/May/2017 08:57:05 PM »
Matthias kindly provided me with access to the Retrode source code and I've implemented support for a majority of the SNES Enhanced Carts: CX4, SDD1, ExHiROM, SPC7110, SA-1, and Nintendo Power (SF Memory Cassette).  I've also include various fixes for other SNES issues.

My code changes have been committed but not officially reviewed and merged into the main firmware yet.  Wannado is working on other changes so hopefully there will be an official release with everything included.

The firmware supports the SPC7110, SA-1 (Read Only), and Nintendo Power carts ONLY with my Enhanced cart adapter.  The Enhanced cart adapter serves as a pass-thru that provides the signals needed for these carts to work properly with the Retrode.  My prototype adapters are working perfectly with these carts.  The final adapter design is under review.  I won't be able to test the final design until sometime next month.  More details on the adapter are forthcoming.

I want to gauge interest in the SNES Enhanced firmware and ask for BETA testers.  My code has only been compiled and tested on a Retrode 2 so the initial testers should have this hardware version.  If you're willing to test AND provide feedback, then please contact me by PM.

Keep in mind that the full functionality of this firmware is only possible with the Enhanced cart adapter.

***UPDATE***:  The BETA testing of the SNES Enhanced firmware is complete.  The firmware has evolved and expanded during the development and testing process.  Please read the summary below (or the Readme included with the firmware) to understand all of the changes.

Here's the summary of the firmware changes:
Code: [Select]
v0.22  (2017-08-18)
- Changes by skaman:
-- SNES Enhancements!
-- Added support for SNES Enhanced Chip carts: 
   CX4, SDD1, ExHiROM, SPC7110, SA-1, BS Satellaview,
   Sufami Turbo, and Nintendo Power carts.
-- Added register writing code to enable remapping for
   CX4, SDD1, SPC7110, SA-1, and Nintendo Power carts.
-- SPC7110, SA-1 and Nintendo Power carts need a separate
   SNES Enhanced cart adapter.
-- WARNING:  SA-1 SRAM writes are not possible with the
   current hardware.  Any changes made to the SA-1 SRAM
   file on the Retrode will not be written to the cart.
-- Added Nintendo Power (SF Memory Cassette) cart support
   using the SNES Enhanced cart adapter.  The base ROM
   is initially read whether a single game or the
   multi-game Menu.  In single game mode, the SRAM is
   visible if used.
-- Added Nintendo Power multi-game switching using the
   HWB button.  Press the HWB button to switch games on
   a multi-game cart.  Refresh the Retrode folder to
   access the new game.
-- Added display of Nintendo Power flash mapping.  Press
   the HWB button to cycle thru games.  The flash map
   files will be shown when the base ROM is displayed
   for the 2nd time.  Flash map files are read only.
-- Added support for BS Satellaview carts and memory paks.
   Memory Pak support is limited to read only on the BS-X,
   Special LoROM, and HiROM carts.
-- WARNING:  Memory Paks will not work on the SA-1 carts.
-- WARNING:  Completely blank (all 0xFFs) Memory Paks
   will not be shown when inserted in the BS-X cart.
-- Added support for the Sufami Turbo adapter and carts.
   Carts will have the adapter slot position (A or B)
   added to the filename. This allows two carts with the
   same name to be accessed.
-- Added reading of Flash saves for the JRA PAT/SPAT4 carts.
   These carts use a 1024Kb Flash chip with unique mapping.
-- Fixed HiROM to read ROM starting from Bank 0xC0.
   Previous code used the mirror in lower banks which
   returned incomplete data.
-- Fixed LoROM to read ROM starting from Bank 0x80 for
   large (> 24 Mbit) games.
-- Fixed HiROM SRAM to read Bank 0x30.  Previous code was
   reading Bank 0x20.  Fixes problems with Brain Lord,
   The 7th Saga, etc.
-- Fixed SRAM bank switching for both LoROM and HiROM.
   LoROM SRAM switches banks every 0x8000 bytes and HiROM
   SRAM switches banks every 0x2000 bytes.
-- Fixed SRAM size for ST010/011/018 carts.  Only ST018
   (Hayazashi Nidan Morita Shougi 2) contains SRAM.
-- Fixed SRAM bug where previous code reported size 0
   for 64K due to sramSize256 overflowing the SRAM
   setDirEntry.
-- Fixed SuperFX SRAM bug where the upper half of the 64K
   SRAM size was mapped to the wrong bank.  SuperFX SRAM
   starts in Bank 0x70 and bankswitches at 0x10000 bytes.
-- Changed the checksum to use the proper bytes at 0xFFDE
   and 0xFFDF.  Previous code used the complement at 0xFFDC
   and 0xFFDD.
-- Added checksum + complement checksum code to check for
   the presence of ExHiROM.
-- Added code to address the incorrect mapping due to the
   too long internal ROM name (22 characters) that runs
   into 0xFFD5.  Fixes problems with Contra 3 (U),
   Krusty's Super Funhouse (U)(1.0), etc.
-- Added overdump correction code to eliminate the need to
   flag individual carts.  Removed the short internal list
   of overdumped carts since it is no longer needed.
-- Removed the HWB button overdump code since it is no
   longer necessary.  The HWB button function is now used
   for switching games on the Nintendo Power carts.
-- Added Config file option to control SNES automatic
   overdump correction. Default setting is 1 = ON.
-- Added Config file option to display the ROM Version in
   place of the checksum.  Default setting is 0 = OFF.

The v0.22 firmware is available here:  http://www.mediafire.com/file/yfatyncpq628ciu/Retrode-v0.22.zip

Pages: [1]