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 - Retcon85 project updates (building a Master System clone from scratch...)

Reply to topic Goto page Previous  1, 2
Author Message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Mon Nov 07, 2022 5:50 pm
Hmm, okay, well in that case I'll do some more investigation on why California Games might not be working this time around. Will share any feedback if I find something of interest!

UPDATE: Okay, it's working now (face-palm). Must have been poor connection in the cart slot or something before.

In my travels I did play around with California games & the Emulicious debugger and can see it checking the region, looks like to determine whether or not to try the FM chip. Interesting to know that "region locking" doesn't exist as I had imagined. I suppose without a port 3f some games might regionalise to Japanese? Although from reading the docs sounds like the Japanese models always read 0 for "outputs" whereas on mine the absence of port 3f causes everything to always read 1 due to the pull-ups on the ports. Need to have a proper play at some point.

Also, got sound up and running again too now!
  View user's profile Send private message Visit poster's website
  • Joined: 14 Oct 2008
  • Posts: 508
Reply with quote
Post Posted: Tue Nov 08, 2022 3:44 pm
Game Gear's region check can only tell if it is a Japanese console or not, and a few games have differences.
Ristar apparently has an extra level in Japanese, and Puyo Puyo and Ronald's (Donald no) Magical World have English localizations on "export" consoles.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Wed Nov 09, 2022 10:03 am
willbritton wrote
I suppose without a port 3f some games might regionalise to Japanese?


If you force bits 6 and 7 of port $DD to be always zero, it'll be detected as a Japanese system no matter if port $3F is missing the implementation. To be detected as 'export' it takes a bit more work, as you need the port $3F functionalities.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Wed Nov 09, 2022 10:34 am
sverx wrote
willbritton wrote
I suppose without a port 3f some games might regionalise to Japanese?


If you force bits 6 and 7 of port $DD to be always zero, it'll be detected as a Japanese system no matter if port $3F is missing the implementation. To be detected as 'export' it takes a bit more work, as you need the port $3F functionalities.

Yeah that was my reading of the docs. Unfortunately I think on my hardware when port $3f is missing bits 6 and 7 will be 1 rather than 0, so some games might identify as neither Japanese nor 'export' if they are being fussy.

I am curious why bits 6 and 7 do show as 0 on Japanese systems, I think it must imply that the GA chip is actually driving them to 0 rather than simply letting them float, so it must have like "half" a port $3f implementation, but hard to imagine why that would be so.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Wed Nov 09, 2022 11:17 am
The detection routines are in the form “do I read back what I think I’m outputting” over several iterations of outputting 1s or 0s. On an export system it will always match, on a Japanese system it will read back whatever the controller input is saying which is unlikely to match what is expected. Thus forcing the values to 0 or 1, or returning the inverse of what’s expected, will satisfy the code that the system is Japanese.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Wed Nov 09, 2022 1:51 pm
Ah that's good to know, thanks.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Thu Dec 22, 2022 1:00 pm
Okay, the teaser campaign is now live!

Teaser video
Home page

Feel free to take a gander and show me some love on social :)

https://twitter.com/undeveloper_/status/1605904550719782914?s=20&t=wcLiI-HWa...

https://www.instagram.com/p/CmeGIA7tyrp/?utm_source=ig_web_copy_link

https://www.linkedin.com/feed/update/urn:li:activity:7011672433199861760
  View user's profile Send private message Visit poster's website
  • Joined: 16 Oct 2022
  • Posts: 41
Reply with quote
Post Posted: Thu Dec 22, 2022 5:46 pm
Great news! I hope the word gets out!
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Wed Jan 04, 2023 1:24 pm
Happy new year SMSPower!

After a semi-relaxing break, it's now full speed ahead again on the Retcon project.

I hope to make a few posts a month as I try to get as many people signed up for updates as possible, and am working on my first newsletter email for the new year now.

Coming up in 2023

- starting to write the companion book properly
- getting some prototype kits out to a few users
- extending the example VDP to support GG as well as SMS features
- I still need to build a Sega mapper into the FPGA for full soft-cart support
- I also need to design (or source) some control pads for the final kit
- I'd also like to try cloning a Gameboy PPU to get some more interest from fans of "the other one(s)" too ;)
- working on the first of a series of instructional videos: "What is a Computer?" - to be released soon
- I have some advanced plans for what to build for this year's SMSPower coding comp ;)

I'd also love to do some collaborations at some point, I'm thinking about reaching out to the folks here doing network play add-ons as that sounds like a fun little project to play with.

Discord server pre-launch - your help requested

I'm such a n00b with communication tools, so managed to create a link for the Discord server which was expired by the time I sent it out, so to date nobody has signed up and it's totally empty!

For those SMSPower members who also plan to follow the project and eventually join the Discord channel, please find below an advanced link that you can use to join. It will be quiet to start, but I'll send an email blast out soon so more people will join and I'd love for them to find some people already there :)

https://discord.com/invite/9bHbxyM4Kd

Also, please feel free to chat here, or DM me, or whatever if you have any questions about the project!
  View user's profile Send private message Visit poster's website
  • Joined: 31 Dec 2022
  • Posts: 28
Reply with quote
Post Posted: Wed Jan 04, 2023 9:10 pm
"educational kit for people learning about computers or digital electronics or both "
Personally I can't see how this is better for education
than compared to a custom built (from the ground up) z80 computer that is designed for such an educational purpose.

Just some reasons (my personal opinion) though
I can understand not everyone may agree with my opinion.


An SMS does not have a IO port that uses a m much widely recognised
protocol such as RS232, I would say for educational purpose
an IO port (working out of the box) using a recognised protocol such as RS232 is a basic feature of a computer. Some old classic z80 computers from the past do
use RS232.

For educational purposes a BIOS that contains optimal assembly programming
routines already working "out of the box" (for drawing graphics primitives such as lines,circles,etc on a 192x256resolution- or a built in font for writing text to any part of say a 32x24 screen); master system does not contain such BIOS routines and a built in font when a cartridge is inserted. Having such BIOS routines in an education z80 computer would aid the beginner programmer in my opinion.

However I do think it would make an interesting electronics kit
for someone interested in electronics and programming and wants to
do an exercise in electronics of creating such a clone machine.
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Wed Jan 04, 2023 9:38 pm
Hey jolene, thanks for your comments.

Jolene wrote
"educational kit for people learning about computers or digital electronics or both "
Personally I can't see how this is better for education
than compared to a custom built (from the ground up) z80 computer that is designed for such an educational purpose.

Well that's pretty much what it is, and is why I chose the Master System, because of all the 8 bit consoles I think it comes closest to a "standard" personal computer architecture. Compare it with something like the ZX Spectrum, for example. The key elements to consider are CPU, RAM, address decoders, some form of dedicated graphics hardware and some external I/O. In particular, the address decoders in the SMS are simplistic and can be built with standard logic.

Now homebrew computer kits already exist. I think the RC2014 is one of the nicest examples, and it's a similar concept really.

I chose a console build however, as an interesting hook - something to differentiate the project from just another retro computer build. Also, and this is just a guess on my part, I hypothesise that building a console might be seen by novices as more fun and / or more appealing than building a PC which can't be used for many practical tasks compared with modern computers. Retro games on the other hand are always entertaining and there's also the nostalgia factor.

In terms of learning value, personally I think there's easily enough in writing retro games to teach a novice about the fundamentals of programming. Examples being: imperative programming, both low (assembler) and somewhat higher (C); binary encoding; memory; the stack; subroutines; variables; basic I/O; interrupts; data types; basic algorithms, etc.

Jolene wrote
An SMS does not have a IO port that uses a m much widely recognised
protocol such as RS232, I would say for educational purpose
an IO port (working out of the box) using a recognised protocol such as RS232 is a basic feature of a computer. Some old classic z80 computers from the past do
use RS232.

True, the I/O on game consoles tends to be very minimal. Now I agree with you that communications protocols like RS232 are fascinating, but I do wonder whether most lay-people would be as enthusiastic about communication protocols as they would be about, say, playing games! Again, just a theory.

Jolene wrote

For educational purposes a BIOS that contains optimal assembly programming
routines already working "out of the box" (for drawing graphics primitives such as lines,circles,etc on a 192x256resolution- or a built in font for writing text to any part of say a 32x24 screen); master system does not contain such BIOS routines and a built in font when a cartridge is inserted. Having such BIOS routines in an education z80 computer would aid the beginner programmer in my opinion.

Part of the exercise in building a console will be writing a BIOS, and the example BIOS I have written so far does actually have a built in font.

The aim is not to re-use or rewrite the Master System BIOS, but to explain in general terms why BIOSes were important and what they can potentially be used for.

Jolene wrote
However I do think it would make an interesting electronics kit
for someone interested in electronics and programming and wants to
do an exercise in electronics of creating such a clone machine.

Yes I agree, I think there's opportunity for a lot of learning both about digital electronics and about rudimentary control of computers, and I think that's indicative of the technology of the period. For sure if one wants to learn to program in, say, Python, one would probably be better advised to learn it directly. However I think that such a low level project as this is beneficial both for present day software developers who don't have any formal background in computer science (of which there are an ever increasing number) and also as a way to teach basic principles in an entertaining way to those who are curious about how computers work.

Lastly, I know I (intentionally) make a big deal about the Master System clone aspect of this, especially on this forum, but at the end of the day this kit is designed to be completely open-ended and if someone wanted to build, for example, RS232 into it that should be totally possible!

Thanks again for the thoughts, very much appreciate the feedback.
  View user's profile Send private message Visit poster's website
  • Joined: 16 Oct 2022
  • Posts: 41
Reply with quote
Post Posted: Wed Jan 04, 2023 10:07 pm
Exciting stuff. Will you be including some kind of enclosure in the kit?
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Wed Jan 04, 2023 10:33 pm
Mondo wrote
Exciting stuff. Will you be including some kind of enclosure in the kit?

Undecided yet. I'm playing around with some simple ideas with acrylic sheets (got the idea from some rpi cases), but don't want to drive the cost too high. Perhaps an optional extra?
  View user's profile Send private message Visit poster's website
  • Joined: 16 Oct 2022
  • Posts: 41
Reply with quote
Post Posted: Wed Jan 04, 2023 10:50 pm
Personally, I'd definitely select that option if it was there! Would you have to cut a hole in the acrylic for cartridge slot access?
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Thu Jan 05, 2023 3:51 pm
Mondo wrote
Would you have to cut a hole in the acrylic for cartridge slot access?

Yeah that's the idea, so I'm thinking two or more cut sheets of acrylic, one underneath, to protect the bottom layer and with some feet or something; and then one or more transparent sheets on the top so you can see all your lovely hard work but it protects it from dust etc. Then the cartridge can slot in a hole that conveniently could also have little tabs to ensure you can't plug it in back to front, since the electrical connector isn't keyed for direction in any way.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Thu Jul 27, 2023 10:49 am
It's been so long since I've last made an update to this project - I've had some seriously onerous life admin to deal with this year! - but I'm hopefully now back on track and have a series of "final" changes to the PCBs to make and prototype following some snags.

Looking at the semiconductor supply chain situation, it does feel like things are looking a lot better, so I'm hopeful that I can launch the campaign and start building up demand for orders in the last two quarters of 2023, with an eye to maybe shipping at the very beginning of 2024 if not earlier.

In the meantime, I finally finished recording the first of several YouTube videos which serve to partially accompany the project. My first proper video I'd say and more lessons learned than I care to recount!

https://www.youtube.com/watch?v=YRqdkNRPaBs

For those signed up to the mailing list, I'll post an update soon.
For those not, please sign up 😉

P.S. the PCB redesigns should conceptually make it easier to do a few things that I've spoken to a few others about: providing a proper HDMI output adapter for the SMS and providing the parts needed for someone (maybe not me) producing an open source everdrive type device. More on that later...
  View user's profile Send private message Visit poster's website
  • Joined: 18 Jul 2020
  • Posts: 367
Reply with quote
Post Posted: Fri Jul 28, 2023 12:55 pm
Excellent vid, I didn't really know what to expect. The production quality is superb. I enjoyed how you explained everything, your format made it easy to understand. Great resource, thanks!
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Fri Jul 28, 2023 5:01 pm
The video is very well done, I guess YouTube production standards are pretty high these days :) but I did slightly feel the editing style, jokes and silly noises were a bit off-putting. Then again, that seems to be the style these days (at least it wasn’t a portrait video with a TikTok generated voice reading burned-in text) and I’m getting old… On the technical side I think it’s targeted at people with slightly less experience of programming in assembly than me, but it all seemed pretty well placed on the scale of dumbed down to over-technical.
  View user's profile Send private message Visit poster's website
  • Joined: 16 Oct 2022
  • Posts: 41
Reply with quote
Post Posted: Fri Jul 28, 2023 11:18 pm
Wow that's a great video Will, really dense with info presented in an easy-to-understand way and can see you put a ton of effort into it with all the stop motion and stuff!! I don't think I'll ever be a proper programmer or a computer scientist haha, but I'll be getting one of these kits regardless
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Sat Jul 29, 2023 10:04 am
Thanks all, really appreciate the kind words and encouragement!

@Maxim as much as I would like to confirm your implication that I might have contrived the style to be in keeping with what all the kids are doing these days, on reflection I have to say I think I genuinely am that silly in real life. Although my first proper YouTube video, I was making considerably sillier stop motion with dumb sound effects 30 years ago on camcorders 😂

That said, there is a game for engagement going on here, and as I understand it I need to fine-tune everything to just keep people from pressing stop so with feedback I'll hopefully get the balance just right!
  View user's profile Send private message Visit poster's website
  • Joined: 23 Jan 2010
  • Posts: 417
Reply with quote
Post Posted: Thu Aug 03, 2023 12:04 am
@willbritton how your clone will manage the TMS mode? It will fix the color problems?
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Thu Aug 03, 2023 7:08 am
segarule wrote
@willbritton how your clone will manage the TMS mode? It will fix the color problems?

Hey @segarule, the graphics module is totally reprogrammable so TMS mode is possible. I haven't written the HDL for TMS mode yet, although others out there will have done, several times over probably.

Since my main aim is for some "new" hardware that people can build and experiment with, I'm not focusing on perfect accuracy to the original SMS hardware - there are definitely other projects out there which aim to simulate the original hardware down to the logic gate level (e.g. https://github.com/emu-russia/SEGAChips/tree/main/SMS-VDP just posted to Discord) however I would like to support TMS modes in my project if I can because I think it's fun. I plan to provide my HDL under a permissive license and many open source projects use strong copyleft so while someone could reprogram the device with any open source project the HDL I provide won't be derived from any strong copyleft ones, in fact so far I have written it all from scratch.

In terms of the colour, the sky's the limit. In fact what I would love to do is have a fully customisable palette for indexed modes so that, for example, you could play games written for the SMS with different colour grades, for mood effects or to simulate different legacy displays. There is more than enough spare onboard RAM on the FPGA to allow this at the moment.
(to clarify: DVI video is capable of full 24 bit colour so there's no restriction on available colours the display can output)
  View user's profile Send private message Visit poster's website
  • Joined: 23 Jan 2010
  • Posts: 417
Reply with quote
Post Posted: Thu Aug 03, 2023 10:47 am
willbritton wrote
segarule wrote
@willbritton how your clone will manage the TMS mode? It will fix the color problems?

Hey @segarule, the graphics module is totally reprogrammable so TMS mode is possible. I haven't written the HDL for TMS mode yet, although others out there will have done, several times over probably.

Since my main aim is for some "new" hardware that people can build and experiment with, I'm not focusing on perfect accuracy to the original SMS hardware - there are definitely other projects out there which aim to simulate the original hardware down to the logic gate level (e.g. https://github.com/emu-russia/SEGAChips/tree/main/SMS-VDP just posted to Discord) however I would like to support TMS modes in my project if I can because I think it's fun. I plan to provide my HDL under a permissive license and many open source projects use strong copyleft so while someone could reprogram the device with any open source project the HDL I provide won't be derived from any strong copyleft ones, in fact so far I have written it all from scratch.

In terms of the colour, the sky's the limit. In fact what I would love to do is have a fully customisable palette for indexed modes so that, for example, you could play games written for the SMS with different colour grades, for mood effects or to simulate different legacy displays. There is more than enough spare onboard RAM on the FPGA to allow this at the moment.
(to clarify: DVI video is capable of full 24 bit colour so there's no restriction on available colours the display can output)

So is a super master system compatible with old!
  View user's profile Send private message
  • Joined: 06 Mar 2022
  • Posts: 598
  • Location: London, UK
Reply with quote
Post Posted: Fri Sep 08, 2023 11:13 am
Latest newsletter out, complete with lots of 3D models of upcoming PCB revisions:

https://www.undeveloper.com/retcon/blog/newletter-2023-sep-02
  View user's profile Send private message Visit poster's website
Reply to topic Goto page Previous  1, 2



Back to the top of this page

Back to SMS Power!