Jump to content

wileyc's Photo


Member Since 22 Dec 2012
OFFLINE Last Active Yesterday, 5:23 PM

#3147164 Super Game Module second run

Posted by wileyc on Mon Jan 5, 2015 9:07 PM


That was wyleyc. See this page: http://atariage.com/...r-order/page-58


(I was made aware of this thread via a PM -- thanks!)


Real life™ got *very* busy (I'm an engineer at a large fruit company) and I ended up being in China for most of last year.


The project was on hold for the duration, and I sort of figured that nobody was interested anymore because Eduardo was back and shipping product.


Having just logged into AtariAge for the first time in half a year, I see that's not the case.


So ...


... I'll reactivate the project as time permits over Q1 -- I have a couple of real-life things on my plate, but I should finish what I stated.  I don't have anything worth publishing at the moment, as I repurposed the breadboard for a work project a few months back.


For those that are impatient and capable of building your own, the RAM portion is identical to the ADAM expansion module and the audio interface was taken directly from a (Spectravideo?) MSX schematic, with the address changed.


The ATMega can be replaced with a couple of flip-flops if you're interested in making your clone compatible with both the ColecoVision and the ADAM.  I wouldn't bother, though ... for a Colecovision, wire it in for the full 32k RAM, use a flip-flop to toggle the ROM/RAM at 0000, and unconditionally map in the sound chip.  For an ADAM, just map in the sound chip -- that's only three chips, plus a small audio amp.


There's nothing proprietary about the SGM, it's all off-the-shelf parts, and the design theory was borrowed (read: stolen) from prior art.


On a personal note: sorry for not checking in on this.  Once Eduardo returned and started throwing tantrums about the mere possiblity of replicating his "proprietary" design, I figured that life was too short to bother with this scene and drama.

#2952522 Super Game Module now available for order

Posted by wileyc on Thu Mar 20, 2014 9:52 AM

I don't want to ruin your rant, but Eduardo indeed published the SGM specs http://atariage.com/...echnical-forum/ post #1 discusses RAM mapper and post #30 discusses sound chip.


Ah!  Technical discussion.  Great.


That's the spec that I used to build my clone, yes.  What I came up with undoubtably differs from what's inside Eduardo's SGM -- I expect he used a small FPGA to store the RAM/ROM enable state and do chip select off of the bus lines, whereas I'm using an ATmega 324.  What I was recommending was that he release a schematic and code, so that the community can reproduce it quirk-for-quirk.


My implementation, for example, stomps on the memory '138 the nanosecond it sees any memory access under 0x8000, but there's a couple of cycle delay while it checks to see if it should handle accesses from 0x0000 as well.  Timing can be tricky.


(He can't honestly consider it to be proprietary, as the RAM bits are straight off of the ADAM expansion and the sound bits are from a random MSX machine)

#2952484 Super Game Module now available for order

Posted by wileyc on Thu Mar 20, 2014 9:01 AM


My understanding is the SGM's going on eBay were paid for and an arrangement was made to list them on eBay instead of shipping them to the buyer.  Therefore the eBay sales are indeed part Eduardo's effort to "fulfill his current obligations."


*shrug* So says Eduardo.  I wouldn't consider him to be a credible source at this point.

#2951606 Super Game Module now available for order

Posted by wileyc on Wed Mar 19, 2014 8:31 AM

For what it's worth, I will still post schematics (and atmega code) for the SGM clone (RAM+sound for Colecovision, sound only for ADAM) when I have a spare moment next week.

#2935161 Super Game Module now available for order

Posted by wileyc on Mon Feb 24, 2014 7:02 AM

hope wileyc didnt get kidnapped.... since he post is intention to clone the sgm he is mia.... that thing is dangerous


I've been in Nagoya since mid-last week on a no-notice business trip.  I'll be back in Tokyo (hopefully) this weekend and will be able to poke at the workalike throughout the following week.


Sorry for going dark there for a bit.

#2930125 Super Game Module now available for order

Posted by wileyc on Mon Feb 17, 2014 6:33 AM

Kudos to you wileyc and to also 5-11under for coming in and taking a different approach and perhaps better route altogether to finally getting SGM's out to ColecoVision fans everywhere.


Thanks for that; much appreciated.


Side question: are there any released and easily obtainable games that use the SGM sound chip?


I'm currently using the SGM test binary to verify correctness.  Making the console look like an Adam was a no-brainer (thanks to chart45's precedent), making the RAM look like the SGM was easy given that we'd ultimately need address decode logic at some point, and unmapping the BIOS at 0x0000 was only slightly harder and easily solveable once I realized that the expansion slot had override the memory-mapping '138 to make the Adam Expansion Module work.


The sound chip is ... slightly harder.  Passing the test isn't hard; making sure that the audio gets routed back through the expansion slot is slightly less easy.  Digital is easy, analog is unpleasant.


(and if the SGM test binary outputs a test sound, then my implementation fails completely :( )

#2929904 Super Game Module now available for order

Posted by wileyc on Sun Feb 16, 2014 9:16 PM


I don't think the idea of someone cloning his work would sit well with him to be honest.  I remember what happened when he found out Classics cart (not sure if it was the 128 in 1 or the SD one) emulated his mega cart format (or something like that).  


If this is strictly for your own use, then more power to you, but I wouldn't want to see the info on this become public knowledge until we know for sure whats happened to him.  


I know if I was in his shoes i wouldn't want to see all my hard work just get pulled out from under me.   


Personally, I don't care what he thinks.  The module itself is a partial clone of the Adam expansion module, and the sound chip is interfaced to the bus pretty much the same way as was done with the MSX.


Whoever owns the copyright to the Adam expansion module hardware might care about the first bit (but, since it's all off-the-shelf parts, the Gemini precedent is in effect), and the second bit is part of the MSX standard.  Neither entity, AFAIK, is Eduardo.


If he didn't want it cloned, he probably should have fulfilled the orders that he took -- and he definitely shouldn't have posted instructions on how to enable it.


Like I said, I'm building one for myself.  I'm going to make the schematics and logic decoding goop public.  If someone else wants to start making them (and increasing the amount of people capable of playing SGM-only games thereby), then good for them.


If it pisses off Eduardo ... well, again, I don't care.  He has only himself to blame.  At the end of the day, it doesn't matter why Eduardo has stopped fulfilling orders -- death in the family, lost his job, sent to Gitmo, hiding from the Mafia, abducted by aliens, ascended to a higher plane of existence, whatever.


What matters is that he took a lot of money for (what you're apparently alluding to as) a proprietary hardware dongle, that appears to be *heavily* based on prior work.  There's roughly zero chance that he's going to make amends -- if he was, he would have done so already.


If anyone wants to play SGM-only games (either designed for SGM or ported from Adam), building a workalike is the only option.


(hmmmm, I said in a previous post that I wouldn't voice my strongly-held opinions about this debacle.  Looks like I did anyway.  Sorry if I offended anyone -- especially you, TMOSteel, if you weren't actually implying that the SGM design is proprietary)

#2929897 Super Game Module now available for order

Posted by wileyc on Sun Feb 16, 2014 9:08 PM

I recall Eduardo talked about the cost of producing the SGM


His R&D costs couldn't have been that high (the memory part of the module is taken straight from the Adam Expansion Module and the AY-3-8910 is kinda trivial to interface if you read page two of the data sheet).  I know a couple of PCB fabs in/around the Shenzhen area that would produce the boards cheaply (just don't let them do final assembly!), and the parts cost me less than USD$20.00 (retail, not bulk) ...


... was most of his expense doing the packaging, then?  Because USD$90 for something that can be built (albeit without clear pretty case, sticker, and box) for about USD$30.00 in single-digit quantities seems sort of high ...


(Not slagging off on Eduardo.  Genuinely curious as to how this budget was carved up)

#2929766 Super Game Module now available for order

Posted by wileyc on Sun Feb 16, 2014 6:19 PM

Do you know if there is a Coleco Emulator that runs SGM games yet, or is that what your working on?


I'm working on a physical SGM clone for use in a real console.


It would be trivial to hack ColEm (or whatever) to run SGM games, I suspect  From a hardware standpoint, the SGM is really just the memory portion of the Adam expansion module with an old GI sound chip bolted on (I think to make MSX ports easier).  Emulating it would be simple, given that the sound chip has been re-implemented in MAME/MESS.


I have no interest in hacking ColEm (or whatever).  My interest is in reproducing a (what appears to now be dead) hardware project, and disseminating the information for reproduction to those interested in building one.  (To cheaply replace a unit that was ordered two years ago but never received, for example)

#2929745 Super Game Module now available for order

Posted by wileyc on Sun Feb 16, 2014 5:47 PM


Now someone need to make a mold so the SGM look like the unreleased Coleco one! :D


*chuckle* Yeah, see, that's the part I want to stay far far away from.  I'm an engineer, not a marketing/sales/rabid-collector type :)


(I've got a very strong opinion about how the SGM was priced and marketed.  I've got an even stronger opinion about what Eduardo has done to you folks.  In the interest of harmony, I'm keeping them to myself -- and will release the full specs of what I've got soonish so that you all have options other than Eduardo ...)

#2929737 Super Game Module now available for order

Posted by wileyc on Sun Feb 16, 2014 5:36 PM

So you're making your own SuperGame Module?


I'm building a work-alike on a perf board, yes.  I'll post a schematic and code for the decoding logic chip when I'm done -- I have no intention to mass-produce these (or build more than one, actually), but I'm very willing to share my work with others who may want to do so.

#2929729 Super Game Module now available for order

Posted by wileyc on Sun Feb 16, 2014 5:24 PM


Does the Super Game Module have any proprietary programming or all the components, other than the pcb, stock chips?


No, it's all off-the-shelf.  I've been working on a prototype clone off-and-on for about six months now, when it became obvious (to me, at least) that a) the new games that I wanted to play required a SGM and b) SGMs would never be commonly available (for whatever reason).


I'm building it with a 62256 SRAM chip, the 40-pin version of the AY-3-8910, and an AtMega328p to handle the decoding logic.  Like the real SGM, it interfaces through the expansion port -- it would be much much easier to lift, socket, and intercept address/data/decoding from the Z80 and 74138s, but that wouldn't be challenging :)


I'm not ready to post a schematic or 328p code yet, but I'll post some implementation notes here.  Some control lines are inverted.


Lines we care about:

A15 (if set, we disable ourselves -- if clear, disable onboard 138)
A12 (if BIOS disable, enable our RAM, if enable, ignore)

A00 - A06 (7 pins) (decode for i/o operations)

!RFSH - enable for onboard 138 pin 5 (inverted)
!MREQ - enable for onboard 138 pin 4 (not inverted?!?)
!IORQ - enable for i/o onboard 138 pin 4

D7 - high for BIOS, low for RAM

... so, total of 13 input pins.

EX_DEC_EN - ground to disable onboard 138 (pin 29? 30?)
32K_CHIP_SELECT - OE for 62256



        int rom_disable = 0;

        read !RFSH;
        read !MREQ;
        read !IORQ;

        /* memory operations */
        if (RFSH && MREQ) /* memory operation */
                read ADDRESS;
                if (A15) /* 0x8000 - 0xFFFF - ROM space */
                if (!rom_disable && !(ADDRESS & 0x7FFe0000) ) /* ROM not us */
                EX_DEC_EN = 0;  /* turn off onboard memory 138 */
                32K_CHIP_SELECT = 1; /* turn on memory chip select */
        {       32K_CHIP_SELECT = 0;
                EX_DEC_EN = 1;

        /* I/O operations */

        if (IORQ) /* i/o -- schematic says check a7 also */
                read ADDRESS;
                if (ADDRESS == 0x7fff) /* & A7? */
                        read D7;
                                rom_disable = 1;
                else if (       (ADDRESS == 0x50) || \
                                (ADDRESS == 0x51) || \
                                (ADDRESS == 0x52)
                                SOUND_ENABLE = 1;
                        SOUND_ENABLE = 0;


#2906485 The homebrew flood ... good thing, right?

Posted by wileyc on Tue Jan 14, 2014 11:38 PM


And, don't even bother trying to dump it, you won't be able to.


Um ... are you sure you want to tempt fate like that?  Of course it can be dumped (though it might require desoldering the ROM and reading via an EPROM burner); whether the resultant binary can be played on a console without cloning the cartridge board is a different story


(no offense intended ... I'm just mindful of the many MANY people who developed "unbreakable" copy-protection schemes that ended up being trivially circumvented)

#2894962 One-chip Colecovision-to-Intellivision2 controller adaptor

Posted by wileyc on Sun Dec 29, 2013 6:43 AM

Attached revised source file should map the purple and blue SAC buttons to button 3 (and should work with both 324P and 328P -- forgot to implement the ifdefs).


I personally don't think this functionality is useful for Intellivision games, as the SAC needs a hand on the grip and a hand on the stick, whereas the Intellivision needs a hand on the keypad and a hand on the stick, but it doesn't hurt anything to have it present.


It would be quasi-trivial to implement a keypad sequence to switch from a straight two-controller interface to a composite mode -- stick input going into controller one, and keypad input going into controller two.  The next code revision will do that (for 324P only), because it's fantastically useful for AD&D :)

Attached Files

#2894227 One-chip Colecovision-to-Intellivision2 controller adaptor

Posted by wileyc on Fri Dec 27, 2013 10:07 PM

I finally got a few spare cycles to finish the one-chip-dual-controller version, using an ATMega324P.  Lessons learned:


* the 324P, out of the box, uses PORTC for JTAG.  The high fuse must be set to 0xD9 before the second controller will work properly -- the software magic-JTAG-disable sequence did not work for me.


* the 324P is a bit too long to fit in the upper-right hand space in the case.  I ended up putting insulating tape on the back side of the PCB and carefully fitting it on top of the main board in the space between the controller recesses.  20/20 hindsight, I should have used a PLCC :)


* to accomodate bullet point two, the joyport cables should be long enough to fit between the bottom of the controller recesses and the main PCB.  Running them over the 324P will not work.


* The on-board joyports must be desoldered.  The upper case should have the joyport molding removed, so that the recesses are flat.  Male DB9 connectors can then be pushed through the holes and tacked down from the top with a bit of superglue.


The final assembly looks like this:


2013 12 28 12.47.08
The AVR-gcc source code is attached.
(edit: the forum software eats .c files, so I'm attaching it and the resultant avrdude-compatible Intel .hex as a zipfile)


Attached Files