Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Making a Master System Flash/EEPROM cartridge

Reply to topic
Author Message
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Making a Master System Flash/EEPROM cartridge
Post Posted: Tue Jan 29, 2013 6:17 pm
Hi, I'm interested in making a reprogrammable cartridge for my Master System. I currently have Sonic 2 and After Burner available as donor cartridges (both 512k, After Burner should contain a mapper).

I could relatively easily get a 4 megabit EEPROM (Atmel AT29C040A), I understand I won't be using the entire capacity of it but it's the cheapest IC that's not an EPROM (which would require an expensive programmer/eraser) that I could get without resorting to international shipping (which is a pain in my country).

I also have an Arduino which I plan on using to reprogram the chip, which seems rather feasible with a couple of shift registers, so that's also the programmer out of the way.

My questions are more regarding the cartridge itself, however. Is the chip I picked compatible with the type of ROM the SMS uses? I have never done anything like this and have little to no knowledge about it, so any help would be appreciated.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Oct 2007
  • Posts: 853
  • Location: Estonia, Rapla city
Reply with quote
Post Posted: Tue Jan 29, 2013 6:42 pm
Last edited by TmEE on Tue Jan 29, 2013 6:51 pm; edited 1 time in total
Shift registers are usable for EPROM, but flashes got elaborate command sequences and a shift register will make inputtingf them few hundred times slower... Look into parallel registers such as 74x374 / 74x574.

512KB can hold fair bit, and allow playing of majority of the library too :P
  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1197
Reply with quote
Post Posted: Tue Jan 29, 2013 6:45 pm
Quote
My questions are more regarding the cartridge itself, however. Is the chip I picked compatible with the type of ROM the SMS uses? I have never done anything like this and have little to no knowledge about it, so any help would be appreciated.


After Burner is probably a safe bet. Check this list:

http://www.smspower.org/Development/SMSPagingChips

It says that it's likely After Burner has a 315-5235.

Here are my instructions on converting Phantasy Star (but the same holds for any 4mbit game with 315-5235) to use an AM29F040:

http://cgfm2.emuviews.com/smsflash.php

As you can see the flash chip has 2 pins that function differently from the 32-pin mask ROM in Phantasy Star, so you have to do a little bit of wiring to accommodate that. All other pins have identical functions. It's a pretty easy modification to do IMO.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Tue Jan 29, 2013 6:59 pm
TmEE wrote
Shift registers are usable for EPROM, but flashes got elaborate command sequences and a shift register will make inputtingf them few hundred times slower... Look into parallel registers such as 74x374 / 74x574.

512KB can hold fair bit, and allow playing of majority of the library too :P


I'll take a look into it, I'm at the moment trying to work with what I have an what I can easily get.

Charles MacDonald wrote
After Burner is probably a safe bet. Check this list:

[snip]

It says that it's likely After Burner has a 315-5235.

Here are my instructions on converting Phantasy Star (but the same holds for any 4mbit game with 315-5235) to use an AM29F040:

[snip]

As you can see the flash chip has 2 pins that function differently from the 32-pin mask ROM in Phantasy Star, so you have to do a little bit of wiring to accommodate that. All other pins have identical functions. It's a pretty easy modification to do IMO.


I saw your instructions and I also have Phantasy Star but I'd rather not ruin that one. Is there any chance of using Sonic 2 which is 512k without mapper chip instead? Would the mapper still work with a generic chip like the one I picked? The Atmel chip is the only Flash EEPROM I can find for sale in my country.
  View user's profile Send private message Visit poster's website
  • Joined: 31 Oct 2007
  • Posts: 853
  • Location: Estonia, Rapla city
Reply with quote
Post Posted: Tue Jan 29, 2013 7:08 pm
No mapper chip, no go. Carts with no mapper have it integrated into the ROM.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Tue Jan 29, 2013 7:12 pm
Okay then, let's go with After Burner for now.

The mapper chip is a SEGA 315-5235 / 135U / 9023 Z28

The ROM chip is a SEGA MPR-11271-T / 4882-D950 / 9040EB1

Can I replace the ROM in this with the Atmel chip with a few or no pin replacements? Is there a diagram for the ROM chip? I can only find diagrams for the mappers.
  View user's profile Send private message Visit poster's website
  • Joined: 23 Aug 2009
  • Posts: 213
  • Location: Seattle, WA
Reply with quote
Post Posted: Tue Jan 29, 2013 8:51 pm
TmEE wrote
No mapper chip, no go. Carts with no mapper have it integrated into the ROM.


Can you clarify what you mean by "have it integrated into the ROM"? Does that mean they're using a chip with special logic, or is it just how the ROM data is laid out?
  View user's profile Send private message
  • Joined: 31 Oct 2007
  • Posts: 853
  • Location: Estonia, Rapla city
Reply with quote
Post Posted: Tue Jan 29, 2013 9:17 pm
ROM with special logic inside. They are not vanilla memory chips.
  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1197
Reply with quote
Post Posted: Wed Jan 30, 2013 5:16 am
Svetlana wrote
Can I replace the ROM in this with the Atmel chip with a few or no pin replacements? Is there a diagram for the ROM chip? I can only find diagrams for the mappers.


Generally speaking all 4-megabit mask ROMs will have the same pinout, and the instructions I list for Phantasy Star compensate for the difference between those chips and the AM29F040.
  View user's profile Send private message Visit poster's website
  • Joined: 15 Aug 2012
  • Posts: 15
Reply with quote
Post Posted: Wed Feb 06, 2013 8:25 pm
Svetlana wrote
Hi, I'm interested in making a reprogrammable cartridge for my Master System. I currently have Sonic 2 and After Burner available as donor cartridges (both 512k, After Burner should contain a mapper).

I could relatively easily get a 4 megabit EEPROM (Atmel AT29C040A), I understand I won't be using the entire capacity of it but it's the cheapest IC that's not an EPROM (which would require an expensive programmer/eraser) that I could get without resorting to international shipping (which is a pain in my country).

I also have an Arduino which I plan on using to reprogram the chip, which seems rather feasible with a couple of shift registers, so that's also the programmer out of the way.

My questions are more regarding the cartridge itself, however. Is the chip I picked compatible with the type of ROM the SMS uses? I have never done anything like this and have little to no knowledge about it, so any help would be appreciated.



Hi! I developed a flash cart based on a card donor, using the AF29F040 I made an external ziff socket on the original cart, then I use an eeprom programmer to flash my games. I made some modifications and a lot of studies to make it works and now I can load EVERY game except the 1Mb roms like Sonic Chaos. I'm very happy to see on my beloved SMS games that I used to dream when I was young! :-)

[img][/img]
421639_4698717269928_1629435951_n.jpg (52.13 KB)
ziff socket for AF29F040
421639_4698717269928_1629435951_n.jpg
227978_4755363926059_1592061353_n.jpg (65.25 KB)
Testing...
227978_4755363926059_1592061353_n.jpg
555500_4596217187490_1477733624_n.jpg (113.37 KB)
Custom made
555500_4596217187490_1477733624_n.jpg
224766_4558190116837_1487235477_n.jpg (52.66 KB)
Ninja Gaiden
224766_4558190116837_1487235477_n.jpg
530080_4590939455550_926034637_n.jpg (64.17 KB)
Super Off Road
530080_4590939455550_926034637_n.jpg
582749_4543136980518_680351582_n.jpg (65.78 KB)
early experiments...
582749_4543136980518_680351582_n.jpg
528569_4532221307633_1876044591_n.jpg (58.8 KB)
flash burning!
528569_4532221307633_1876044591_n.jpg
190111_4558189396819_1113392225_n.jpg (101.46 KB)
Out Run 3D
190111_4558189396819_1113392225_n.jpg

  View user's profile Send private message
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Fri Feb 08, 2013 6:57 pm
Thanks for the replies everyone. TmEE helped me with a schematic for a parallel-port EEPROM burner so I already have some plans for my cart.

I will be using After Burner (4mbit mapper) as the donor cart, with an Atmel AT29C040 4mbit Flash EEPROM chip.

Due to a misplacement of my soldering iron (actually, my dad's), I won't be able to do anything until the next week. What I'll have to do is assemble the burner (4 ICs and a socket on a perfboard with LPT for data and USB for power) and solder a socket onto the After Burner cart.

I'll check the pinout for the AM29F040 against my chip and work with Charles' instructions for the ROMs. Will report back as soon as I get something working.

Again, thanks for the help!
  View user's profile Send private message Visit poster's website
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Tue Aug 05, 2014 11:02 pm
Sorry for the massive bump, but finally after all this time, I have succeeded!

I built my own EEPROM burner from an Arduino thanks to Tiido's help and after 3 days battling bugs and having to buy a new PSU for my Master System, I finally have a flashcart.
DSC_20140804_0205.jpg (733.19 KB)
Burner
DSC_20140804_0205.jpg
DSC_20140805_0207.jpg (662.09 KB)
EEPROM cart
DSC_20140805_0207.jpg
DSC_20140805_0208.jpg (736.57 KB)
Cartridge in system
DSC_20140805_0208.jpg
ss (2014-08-05 at 07.37.41).jpg (102.72 KB)
Screenshot
ss (2014-08-05 at 07.37.41).jpg

  View user's profile Send private message Visit poster's website
  • Joined: 15 Aug 2012
  • Posts: 15
Reply with quote
awesome
Post Posted: Wed Aug 06, 2014 7:38 am
Congrats Svetlana, you did a perfect job!
Can you explain to me how did you do this project?

Thanks!
  View user's profile Send private message
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Wed Aug 06, 2014 2:50 pm
maxint wrote
Congrats Svetlana, you did a perfect job!
Can you explain to me how did you do this project?

Thanks!


I started with Charles MacDonald's EEPROM cartridge guide which I linked earlier in this thread. Once I acquired the 4Mbit memory (in my case I got model AT29C040A, 4Mbit Flash EEPROM by Atmel), I used After Burner as a donor cartridge for its 4Mbit mapper, desoldering and socketing the original ROM noting that one of the pins must have its trace cut and rewired to another pin (I soldered a jumper on the back of my cart's PCB, doesn't show on the picture)

After you have a socketed cart, the only thing to do is burn the ROM you want on the memory, plug it in and it'll work as that cartridge. However, since I didn't have a burner and I didn't want to spend a huge amount of money on one just for this project, Tiido helped me make my own. The first attempt was a parallel port burner, but since I have a 64bit system it was difficult to get it to work so I shelved the project until a couple of days ago, when I made a second attempt using an Arduino and its serial connection instead. It took me some time to code and debug burner software for it but eventually I got it working.

Sadly I don't have any TVs in my room so the only screenshot from the SMS I could get was from my capture card, which I use to play games.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Apr 2014
  • Posts: 281
  • Location: Texas
Reply with quote
Post Posted: Wed Aug 06, 2014 3:57 pm
Edited once by me.

This is an awesome project! Will it work on the Game Gear too?
  View user's profile Send private message Visit poster's website
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Wed Aug 06, 2014 4:43 pm
Capt. 2110 wrote
Edited once by me.

This is an awesome project! Will it work on the Game Gear too?


I have no experience at all with the Game Gear, but I imagine if it uses a similar mapper, you should be able to do something like this, ignoring the size difference.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Apr 2014
  • Posts: 281
  • Location: Texas
Reply with quote
Post Posted: Wed Aug 13, 2014 1:40 pm
Cool, thanks!
  View user's profile Send private message Visit poster's website
  • Joined: 17 Mar 2017
  • Posts: 46
  • Location: Spain
Reply with quote
Post Posted: Thu Apr 06, 2017 5:49 pm
Svetlana wrote
maxint wrote
Congrats Svetlana, you did a perfect job!
Can you explain to me how did you do this project?

Thanks!


I started with Charles MacDonald's EEPROM cartridge guide which I linked earlier in this thread. Once I acquired the 4Mbit memory (in my case I got model AT29C040A, 4Mbit Flash EEPROM by Atmel), I used After Burner as a donor cartridge for its 4Mbit mapper, desoldering and socketing the original ROM noting that one of the pins must have its trace cut and rewired to another pin (I soldered a jumper on the back of my cart's PCB, doesn't show on the picture)

After you have a socketed cart, the only thing to do is burn the ROM you want on the memory, plug it in and it'll work as that cartridge. However, since I didn't have a burner and I didn't want to spend a huge amount of money on one just for this project, Tiido helped me make my own. The first attempt was a parallel port burner, but since I have a 64bit system it was difficult to get it to work so I shelved the project until a couple of days ago, when I made a second attempt using an Arduino and its serial connection instead. It took me some time to code and debug burner software for it but eventually I got it working.

Sadly I don't have any TVs in my room so the only screenshot from the SMS I could get was from my capture card, which I use to play games.


Sorry for posting in this old thread. I need to know what was the cut and rewire of the memory. I am using the same memory (Atmel) and Mercs cartridge donor. How I have to do the rewire? I'm doing a 512KB reproduction.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Thu Apr 06, 2017 6:08 pm
tailsnic wrote
Sorry for posting in this old thread. I need to know what was the cut and rewire of the memory. I am using the same memory (Atmel) and Mercs cartridge donor. How I have to do the rewire? I'm doing a 512KB reproduction.


Follow Charles MacDonald's guide here: http://dreamjam.co.uk/emuviews/smsflash.php
  View user's profile Send private message Visit poster's website
  • Joined: 02 May 2017
  • Posts: 1
  • Location: Argentina
Reply with quote
Arduino EEPROM burner question
Post Posted: Tue May 02, 2017 3:13 pm
Svetlana wrote

I built my own EEPROM burner from an Arduino thanks to Tiido's help and after 3 days battling bugs and having to buy a new PSU for my Master System, I finally have a flashcart.


First of all, thanks for sharing this project. It's exactly what I need. My question is not about how to wire/rewire the EEPROM pins, but, how you did the burner itself? I really been searching for weeks but I didn't find how to wire the EEPROM with the arduino and how to program my ROM into It.

Sorry if I have ortographical mistakes. Thanks for your time and greetings from Argentina!
  View user's profile Send private message
  • Joined: 29 Jan 2013
  • Posts: 9
  • Location: leningrad
Reply with quote
Post Posted: Fri May 05, 2017 10:44 pm
EnioLotero wrote
Svetlana wrote

I built my own EEPROM burner from an Arduino thanks to Tiido's help and after 3 days battling bugs and having to buy a new PSU for my Master System, I finally have a flashcart.


First of all, thanks for sharing this project. It's exactly what I need. My question is not about how to wire/rewire the EEPROM pins, but, how you did the burner itself? I really been searching for weeks but I didn't find how to wire the EEPROM with the arduino and how to program my ROM into It.

Sorry if I have ortographical mistakes. Thanks for your time and greetings from Argentina!


Here's a writeup of my original project: http://mynameiser.in/post/94106321451/i-figured-the-eeprom-burner-deserved-a-pro...

Here's the code I've written for it: https://github.com/Lana-chan/EEPROMDate/

It's not very user friendly. The wiring instructions are in the project's readme.
  View user's profile Send private message Visit poster's website
  • Joined: 24 May 2017
  • Posts: 7
  • Location: Spain
Reply with quote
Post Posted: Sat May 27, 2017 4:56 pm
This would be interesting to be able to carry out my new project for SMS
  View user's profile Send private message Visit poster's website
  • Joined: 03 Aug 2017
  • Posts: 61
  • Location: Munich
Reply with quote
Post Posted: Sat Aug 26, 2017 8:33 am
Svetlana wrote

Follow Charles MacDonald's guide here: http://dreamjam.co.uk/emuviews/smsflash.php


The link seems to be dead now :-(. Where can I find it now?
  View user's profile Send private message
  • Joined: 03 Aug 2017
  • Posts: 61
  • Location: Munich
Reply with quote
Post Posted: Sun Sep 10, 2017 9:43 am
Found some other guide for this, not sure where's the difference...

I also took After Burner as donor cartridge. I removed the ROM and replaced it with an AT29C040A. I also installed a ZIF socket and a switch to toggle between the original ROM layout and the one the Flash chip needs (just taking A18 from pin 1 instead of pin 31).

With the original ROM the game starts up. Switching to Flash doesn't work, though, the SMS starts the BIOS game instead. Yes, the Flash was programmed ;-) (with After Burner as well, just to be sure).

Is there any pin I have to pull down/up to gnd/Vcc? Maybe Pin 31 to Vcc? Currently it's floating.

I don't know, where's the problem, can anybody help?
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!