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 - MKIII/JP to SMS adapter

Reply to topic Goto page Previous  1, 2
Author Message
  • Joined: 05 Nov 2014
  • Posts: 166
  • Location: Auckland - NZ
Reply with quote
Post Posted: Thu Mar 01, 2018 11:19 pm
I ended up buying a copy off ebay to test with. Seems to work ok
  View user's profile Send private message
  • Joined: 10 Mar 2018
  • Posts: 2
Reply with quote
Post Posted: Sat Mar 10, 2018 9:29 am
wasup wrote
This isnt a new idea but thought id show what ive done. Fits into a standard game cart and works fine assuming a bios mod has been done.

Im tempted to put a small rom and a few other bits on it to get around having to do a bios mod. Assuming no one has done this still?


May I buy one of those? I have recently installed the fm board in my european Master System 1 along with the 50/60hz modification, and the next step is buying this adapter, which would allow me to seemlessly play mark 3 games.

Please, send me a private message so that I can buy one! Thanks in advance and keep up the amazing work for the community!
  View user's profile Send private message
  • Joined: 05 Nov 2014
  • Posts: 166
  • Location: Auckland - NZ
Reply with quote
Post Posted: Mon Mar 12, 2018 10:01 am
Its not finished yet, still a fair bit to do before i can start seriously testing it and building a bunch. I wish i had more time i could throw at it though but im lucky if i get half an hour a day at the moment. Ill put up a post when i make further progress though.

Calindro has been really helpful and has done a few things with Emulicious for me. Im going to revisit slot detection and see if i can get that working properly. Ive found a few issues with my card support that i need to debug as well. Its annoying when something works perfect in one situation but then not another.
  View user's profile Send private message
  • Joined: 10 Mar 2018
  • Posts: 2
Reply with quote
Post Posted: Mon Mar 12, 2018 8:10 pm
wasup wrote
Its not finished yet, still a fair bit to do before i can start seriously testing it and building a bunch. I wish i had more time i could throw at it though but im lucky if i get half an hour a day at the moment. Ill put up a post when i make further progress though.

Calindro has been really helpful and has done a few things with Emulicious for me. Im going to revisit slot detection and see if i can get that working properly. Ive found a few issues with my card support that i need to debug as well. Its annoying when something works perfect in one situation but then not another.


Ok, many thanks for the answer. I am keen to see the final product :) Keep me updated, please.
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 64
Reply with quote
Thank you! I built a no-BIOS converter - works great!
Post Posted: Tue May 01, 2018 7:10 am
Last edited by bsittler on Fri Jul 06, 2018 12:54 am; edited 1 time in total
Thank you for the information! I was impatient and went ahead and built a no-BIOS adapter using the pin correspondences from this thread and Main - SG-1000/SC-3000/Mark III/JP SMS ⇒ Export SMS ⇒ Game Gear Converter, an edge connector from Tototek, a repurposed MSX prototyping board, and a 3D-printed case using furrtek's design. Using that "Mark Master Converter" I was able to use some Mark III cartridges and (with a Card Catcher) My Cards in a Game Gear with a Beeshu Gear Master, and in a (modified) Nomad with a PowerBase Mini. It also works with the Retrode2's Master System adapter.

A properly keyed edge connector would have been nice, but I didn't want to destroy an original console to harvest one and ended up gluing on some plastic pieces I had lying around instead. Attaching the connector securely to the proto board turned out to be a bit of a problem, but I ended up supergluing a folded-over heavy plastic sheet (from a produce container) inside the recessed bottom of the connector and supergluing the other ends of the folded sheet to both sides of the protoboard, then wrapping it all in electrical tape. It seems to provide adequate strain relief to withstand multiple SG-1000/Mark III cartridge and Card Catcher insertions/removals with a tiny bit of flex but without enough to damage the wires. I have no idea how to solve this problem for mass production other than to use a different connector style, e.g. double-ended edge connector directly soldered to a PCB with corresponding solder points, plus (ideally) mounting bolts or other fasteners passing through both connector and PCB for maximum strength and rigidity. How do people who actually know what they're doing solve this problem?

The MSX protoboard proved slightly problematic for this task, though I'm sure it would be great for its intended purpose! I had to cut it extensively just to fit inside the shell, and also had to cut traces that shorted together MSX-equivalent pins that are not equivalent for the "export" SMS cartridge connector. The edge connector pins were not trace-connected to solder points or through-holes on the protoboard, so I had to solder directly to the pins which required shell modification. Of course the MSX signal labels on the protoboard were not used, a pity really! If anyone has a source for actual SMS cartridge protoboards or a way to get them built affordably that might help in similar future projects.

The shell by furrtek is one I've printed and used for another project in the past. Although I printed the same model both times, the first run (for the other project) came out perfectly sized but this time around one half printed very slightly enlarged, causing some minor fit problems. I suspect I still don't really know how to use the 3D printing service correctly and (my) user error is a major factor in the bad result. :)

My lack of soldering/component selection/dremeling/board layout skills were very much in evidence here, but I was happy to get the practice. I still would have preferred to buy the adaptor pre-made as a custom PCB+shell though with reflashable BIOS installed of course. :)

For that matter, I would still love to throw out my hand-wired monstrosity and buy a proper PCB with connector and (ideally) shell with BIOS for SG 1000-compatible Game Gear palette setup. A more compact version connecting directly to the Game Gear cartridge slot would be nice too ("Gear Mark"?)

edit: some text changed for completeness and clarity, pictures added and captions updated. Nomad mods (including experimental external P1 controller port) are courtesy of eBayer jaydog83. The MSX protoboard was courtesy of eBayer fractal2000 who was also amazingly understanding and supportive despite the horrible things I did to his beautiful prototyping board, which also included a great MSX-specific cartridge shell I wish I could have used for this project.
fantasy-zone-mark-iii.jpg (20.84 KB)
Fantasy Zone in (modified) Game Gear via Beeshu Gear Master + "Mark Master Converter"
fantasy-zone-mark-iii.jpg
mark-iii-r-type-nomad.jpg (16.91 KB)
Mark III R-Type in (modified) Nomad via PowerBase Mini + "Mark Master Converter" (yeah, I know it's bit-for-bit identical to the "export" SMS release of R-Type...)
mark-iii-r-type-nomad.jpg
sg-1000-bomb-jack-retrode2.jpg (28.84 KB)
SG-1000 Bomb Jack (My Card) in mednafen on Mac via Retrode2+Plugin Master+"Mark Master Converter"+Card Catcher
sg-1000-bomb-jack-retrode2.jpg
adapter-addr-data-side.jpg (20.75 KB)
SG-1000/Mark III "Address + Data" side; clearly this wire was too large, and you can see I need a lot more practice too
adapter-addr-data-side.jpg
adapter-random-side.jpg (21.54 KB)
SG-1000/Mark III "a few random signals" side; a bunch of crude manual modifications to the case and protoboard are visible too, along w/lack of soldering experience and use of wrong wire gauge
adapter-random-side.jpg
adapter-bottom.jpg (6.52 KB)
"export" SMS connector; you can see I had to cut out part of the case to accommodate too-thick solder points on the pins
adapter-bottom.jpg
adapter-top.jpg (11.58 KB)
SG-1000/Mark III connector with glued-on direction keys (repurposed dust caps from a broken HDMI cable)
adapter-top.jpg
mark-iii-woody-pop-card-nomad.jpg (16.55 KB)
Mark III Woody Pop in (modified) Nomad with HPD-200; the experimental "external P1 controller port with switch" Nomad mod is compatible with only some Sega 9-pin controllers, although it is already fine for this particular one
mark-iii-woody-pop-card-nomad.jpg

  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 64
Reply with quote
Post Posted: Mon Jun 18, 2018 12:21 am
Someone (masuo0258 on twitter) seems to have built a V9958 adapter that allows use of an MSX2 VDP in a Mega Drive to run SG-1000 software. Apologies if there's already another thread for this:

https://twitter.com/masuo0258/status/851578939310915584

Also an adapter that allows some ColecoVision games to run in these systems, though I don't know yet whether it was built by the same person:

https://twitter.com/masuo0258/status/851576196760428544

Apologies if these are too off-topic or already covered elsewhere
  View user's profile Send private message
  • Joined: 05 Nov 2014
  • Posts: 166
  • Location: Auckland - NZ
Reply with quote
Post Posted: Fri Jun 29, 2018 5:48 am
Little bit of an update on this.. have got a new board layout done. Will do a bit of checking and testing over the next week or two and see how it goes. Haven't had time to sit down and work through any more code for it but its definately not turned into a forgotten project.

Edit: Also settled on using a 4 megabit flash chip, so will have plenty of space for additional useful "utilities"
20180629_173745.jpg (108.59 KB)
20180629_173745.jpg

  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 64
Reply with quote
Post Posted: Fri Jun 29, 2018 6:49 am
wasup wrote
Little bit of an update on this.. have got a new board layout done. Will do a bit of checking and testing over the next week or two and see how it goes. Haven't had time to sit down and work through any more code for it but its definately not turned into a forgotten project.

Edit: Also settled on using a 4 megabit flash chip, so will have plenty of space for additional useful "utilities"


Nice!

Do you have a finalized adapter mapper scheme for switching from adapter flash to top cartridge (and possibly back)?

I'd be happy to run a variation of the SG-1000 -> Game Gear palette patcher (works in both GG native and SMS-GG modes these days using a branch, and also checks for "direction pad up" to allow SMS-like vs. more authentic TMS mode palette selection) + a "TMR SEGA" + all-regions + CRC for system BIOS pacification on an adapter like this so I could use the original cards + cartridges on a Game Gear without cumbersome patching + flash cart.

Ignorable tangent: any idea how far this hardware is from being able to do ".ips in hardware"? I have been wondering how practical/possible that is, something like a console port of the Ms. Pac-Man/Crazy Otto runtime ROM patcher+overlay system but set up to accept .ips files so that you could e.g. enjoy that Phantasy Star English translation without flashing the game itself, just the patch. If it can also do e.g. MD5 it could even have multiple patches, and apply the correct one for the cartridge you happen to be using at the time. Of course this might benefit from an SD card slot too, at which point this is more like "EverDrive meets Game Genie with cartridge slot". :) (At that point you might also be able to do stuff like GG2SMS patching, at which point a Game Gear adapter would start to make sense too...)
  View user's profile Send private message
  • Joined: 05 Nov 2014
  • Posts: 166
  • Location: Auckland - NZ
Reply with quote
Post Posted: Mon Jul 02, 2018 3:53 am
Switching is done with a write to a memory location. Bit 0 enables a lock out latch which prevents any further changes happening. This is done last to prevent a game making it switch if the same location were to be randomly used.

The flash is broken up into 32k blocks.

Bit 1 switches between flash and the MkIII slot.
Bits 2 - 4 select between the 32k blocks of flash.

You can change between them all at will untill the lock out bit has been set. Once thats set it needs a power cycle to clear it.

NMI (pause button) is also checked at power up which will make the adapter a straight though adapter which may be useful for dumping or something.

Its already passing bios checks to load sg-1000 games and also sets up pallette for game gear. Should be easy enough to add a palette selection option in there before the game loads.

Havnt even thought of patching games on the fly.. not sure whats involved there.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12358
  • Location: London
Reply with quote
Post Posted: Mon Jul 02, 2018 3:58 am
Patching on the fly would be painful because IPS can hold many KB of modifications in a forward only format designed for applying patches. The Game Genie does patching on the fly but it only supports three (?) bytes...

On a piracy cart it would be fairly trivial to apply IPS patches, because you basically have to copy it from NAND to NOR flash anyway and then you can run a patcher over the data.

How close is this to a useable homebrew cartridge? It sounds like you might remove the top connector and add in some way to program the flash and you'd have a useable, but not Sega compatible, homebrew mapper cart.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Nov 2014
  • Posts: 166
  • Location: Auckland - NZ
Reply with quote
Post Posted: Mon Jul 02, 2018 6:04 am
I guess in some ways its close to a mapper. In theory you could use it as one if you kept a section of memory for some code to keep track of and also write data bits to set which chunk of flash is exposed to the system. Then as you say, it just needs a programmer so you can easily reprogram it.
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 64
Reply with quote
Post Posted: Fri Jul 06, 2018 1:54 am
Maxim wrote
Patching on the fly would be painful because IPS can hold many KB of modifications in a forward only format designed for applying patches. The Game Genie does patching on the fly but it only supports three (?) bytes...

On a piracy cart it would be fairly trivial to apply IPS patches, because you basically have to copy it from NAND to NOR flash anyway and then you can run a patcher over the data.

How close is this to a useable homebrew cartridge? It sounds like you might remove the top connector and add in some way to program the flash and you'd have a useable, but not Sega compatible, homebrew mapper cart.


I guess my naïve assumption for a no-piracy patcher cart is that you would include a large-ish SRAM at least 9 bits wide (e.g. this one: https://www.ebay.com/itm/Sram-1-MBit-64K-X-16bit-3v-to-3-6V-SOJ-32-Pins-12-NS/35... plus level conversion and/or buffering if needed) and would preprocess the IPS file during start-up (before you start running code from the "child" cartridge) to fill all the SRAM. At each address where the IPS file overwrites the game, the 9th bit would be set and the lower 8 bits would be the data the IPS writes there, and at all other locations the 9th bit would be cleared.

All cartridge reads would simultaneously drive the address lines for the SRAM and the address lines for the "child" cartridge, but the returned data would be selected from one source or the other based on the value of bit 9 from the SRAM. There would also need to be a Sega-compatible (maybe Codemasters too?) mapper in between the cartridge connector address lines and the SRAM to ensure patches worked correctly for banked cartridges.

edit: I do realize an 8bit + 1bit arrangement would waste less SRAM, but I also think the complexity cost might not be worth it these days. Implementing a patch address limit register ("if address is > X do not use the value from SRAM") could speed up startup/reboot a lot (no more multi-second delay to zero out the rest of the SRAM!) at the expense of a bit more circuitry.
  View user's profile Send private message
  • Joined: 22 Apr 2018
  • Posts: 64
Reply with quote
Post Posted: Tue Jul 10, 2018 5:00 am
wasup wrote
Switching is done with a write to a memory location. Bit 0 enables a lock out latch which prevents any further changes happening. This is done last to prevent a game making it switch if the same location were to be randomly used.

The flash is broken up into 32k blocks.

Bit 1 switches between flash and the MkIII slot.
Bits 2 - 4 select between the 32k blocks of flash.

You can change between them all at will untill the lock out bit has been set. Once thats set it needs a power cycle to clear it.

NMI (pause button) is also checked at power up which will make the adapter a straight though adapter which may be useful for dumping or something.

Its already passing bios checks to load sg-1000 games and also sets up pallette for game gear. Should be easy enough to add a palette selection option in there before the game loads.

Havnt even thought of patching games on the fly.. not sure whats involved there.


Which memory location controls the chip? Do you have example instructions for switching it off? And/or would you like to modify the palette patcher from http://www.smspower.org/forums/16912-SG1000SC3000MarkIIIJPSMSRArrExportSMSRArrGa... (which now uses a RAM trampoline, and works as a potentially-dangerous hot-swappable palette patcher using a flash cartridge) to run in your adapter?
  View user's profile Send private message
Reply to topic Goto page Previous  1, 2



Back to the top of this page

Back to SMS Power!