NEO Myth MD 3in1 flash cart (USB)

For hardware talk only (please avoid ROM dumper stuff)
Post Reply
Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

NEO Myth MD 3in1 flash cart (USB)

Post by Eke » Mon Aug 31, 2009 2:55 pm

http://www.ic2005.com/shop/product.php?productid=33


The features look impressive, I especially noticed those:

.Master System support (probably something similar to the PBC adapter ?) with integrated YM2413 chip
.EEPROM save support (Wonderboy is mentionned but I wonder if ALL existing ones are supported ? this would require some kind of internal ROM database)
.compatible with all MD games (I bet it's not true, starting with Virtua Racing)

Anyway, I dunno if the price is correct or not regarding all the included hardware but it seems very interesting.. does anyone bought one yet ? any feedback or comments ?

mic_
Very interested
Posts: 265
Joined: Tue Aug 12, 2008 12:26 pm
Location: Sweden
Contact:

Post by mic_ » Mon Aug 31, 2009 3:10 pm

I've got one.

I've only tested homebrew stuff with it so far (mostly my own). For some reason my Genesis VGM player doesn't seem to work correctly (it works with the MegaCart) but other than that I can't think of any problems so far.. Well, besides that booting SMS ROMs while you have a 32X attached doesn't work for me, so I have to detach the 32X first.

Anyway, there's a thread about the cartridge here.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon Aug 31, 2009 3:58 pm

I got mine Saturday... two things I noticed right off: First, even though it doesn't complain about SMD format, roms in that format can't be used. You must convert them to BIN format. Second, the default SaveRAM setting is "No Save", which prevents some roms from working. If you don't know what kind (if any) of SaveRAM a game uses, set it to SRAM 32K.

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Aug 31, 2009 4:02 pm

I tested some stuff and everything seemed to work. SMS games will never work if you have 32X present since it intercepts all cartslot signals and that cannot be the case if you want SMS action going on.

SMS FM is quite bit distroted, I looked in the cart and without making a schematic I cannot say anything further on it.

Some pictures :
http://www.fileden.com/files/2008/4/21/ ... oMyth1.jpg
http://www.fileden.com/files/2008/4/21/ ... oMyth2.jpg
http://www.fileden.com/files/2008/4/21/ ... oMyth3.jpg
http://www.fileden.com/files/2008/4/21/ ... oMyth4.jpg
http://www.fileden.com/files/2008/4/21/ ... oMyth5.jpg
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Mon Aug 31, 2009 4:48 pm

Not SMS, SMD. SMD is the most common format used to store Genesis ROMs. It's a header followed by the contents of the odd/even ROM. Originally, all Genesis carts were two byte-wide ROMs holding the even and odd bytes - ROMs were dumped by removing the ROMs from the PCB and dumping each one in a ROM/PROM/EPROM programmer. The SMD ROM image was formed by the concatenation of a header and the two ROM images. SMD fell out of favor as newer/larger ROMs started using a single 16-bit wide ROM. That was when BIN format started - BIN format is simply the contents of the 16-bit ROM as it would appear to the Genesis. Utilities exist to convert ROMs to/from SMD and BIN mode. Ucon64 can do that, for example.

Christuserloeser
Very interested
Posts: 145
Joined: Sun Jan 28, 2007 2:01 am
Location: DCEvolution.net
Contact:

Post by Christuserloeser » Mon Aug 31, 2009 5:10 pm

He is talking about the Sega Master System, which this cart supports out of the box - including YM2413!

Anyway, appearently there are two different chips in circulation, and the MD Myth uses [EDIT] the good one!!! :D[/EDIT]
Last edited by Christuserloeser on Thu Sep 03, 2009 12:48 am, edited 3 times in total.
http://www.DCEvolution.net - Gigabytes of free Dreamcast software for you

Image

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Aug 31, 2009 7:58 pm

I will have to get those games and run them on the cart to verify it, but the cart has a chip with date code mr. Tim told is faulty. I got 2 chips from him, one faulty and one good one, once my MD2 SMS FM mod is complete, I can tell more about it.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Mon Aug 31, 2009 8:12 pm

wow, thanks for the reports, I'd never have thought so many of you already had one :wink:

too bad for the faulty ym2413 though, not sure if they are gonna fix this in the next batch, probably not

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Aug 31, 2009 8:35 pm

Oops, my bad... the cart has good chips, 98 is good type and the cart has it. So only problem comes from the mixer/buffer in the cart (and the shitty opamp).
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

8bitwizard
Very interested
Posts: 159
Joined: Sat Feb 24, 2007 11:35 pm
Location: San Antonio, TX

Post by 8bitwizard » Sun Sep 06, 2009 6:32 pm

Chilly Willy wrote:Not SMS, SMD. SMD is the most common format used to store Genesis ROMs. It's a header followed by the contents of the odd/even ROM. Originally, all Genesis carts were two byte-wide ROMs holding the even and odd bytes - ROMs were dumped by removing the ROMs from the PCB and dumping each one in a ROM/PROM/EPROM programmer. The SMD ROM image was formed by the concatenation of a header and the two ROM images. SMD fell out of favor as newer/larger ROMs started using a single 16-bit wide ROM.
I have to disagree with this. Of all the many carts I have opened up, I think I've only found one which used 8-bit ROMs, and I promptly rebuilt it into a socket cart. The SMD format was created for a game copier, and I think most game copiers ran in SMS mode, which made it inefficient for them to read both bytes of a word at the same time.

EDIT: I noticed in the pictures that the label says "COMPATIBLE WITH GBA/SP/NDS/NDS-LITE". But the label is too big for anything that would fit in any of those systems, so I guess they just weren't paying attention when they made the label art.

EDIT: Yes, it uses a GBC flash cart, but they wrote that on the MD/Genesis cart too.
Last edited by 8bitwizard on Thu Sep 17, 2009 1:04 pm, edited 3 times in total.

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Sun Sep 06, 2009 7:23 pm

Its compatible with NeoFlash flashcarts (where all the ROMs are stored).
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Tue Oct 06, 2009 12:37 am

I've been looking over the menu source Dr. Neo released. The hardware is rather interesting. I'm reposting some info I'm posting over there in case others are interested in the hardware beyond simply running carts.

The source can be found in the first post of this thread: http://www.neoflash.com/forum/index.php ... 794.0.html


Let's start with an overview of the cart hardware. Remember that this is just what I've inferred from the menu source. I have no other sources of info on this. I'm also not going to use addresses - just look up the symbols in the source.

The cart appears to be comprised of a pseudo-static RAM (PSRAM from now on), a programmable gate array (either a CLD or an FPGA, I haven't taken mine appart to see which), an FM chip for SMS mode, and misc other minor circuits we don't care about (like an amp for the audio out on the FM). There is a slot for Neo2 GBA Flash Modules.

There is a register that enables and disables operating modes of the cart. It's called OPTION_IO in the source. Let's look at the modes:

MODE0 - Storing a word of 0 to OPTION_IO sets mode 0. In this mode, the cart control circuitry (in the CLD/FPGA) can be accessed. This is done by reading from the cart - the address lines A20-A1 and the contents of the lower bank select register (GBAC_LIO) are all latched by the CLD/FPGA when the read line is asserted. So the first two MB of cart space plus the bank register form the 24 bit word sent to the CLD/FPGA. The top four bits are stored in GBAC_LIO, then the lower 20 bits are shifted once left (remember that the 68000 uses a 16 bit bus, so A0 is NOT present on the cart port) and used as A20 to A1, then a read of that shifted value is done. I don't know what any of these values sent to the CLD/FPGA mean. It's one of the areas we'd need more info from Dr. Neo.

MODE1 - Storing a word of 1 to OPTION_IO sets mode 1. This is some sort of test mode. Unused code in the menu program sets mode 1, then reads some bytes from the second two MB space in the cart for particular values. Not much is known about this.

MODE6 - Storing a word of 6 to OPTION_IO sets mode 6. This is the mode used for running MD and 32X carts. In this mode, the PSRAM is mapped to the cart space. The amount of RAM is set by the mask register PRAM_ZIO, and the offset into the PSRAM is set by PRAM_BIO. The RAM is subject to the same bank select mechanism as the SSF2 cart. You have to set up the RAM before you switch to this mode. The size of GBA Flash in this mode is set to 0, so it appears that flash is available, but overlaps the PSRAM unless you "disable" it by setting the size to 0.

MODE7 - Storing a word of 7 to OPTION_IO sets mode 7, what the menu calls "copy mode". The reason why is this is the mode used to copy the flash rom to the PSRAM. When in mode 7, the GBA Flash is accessible at cart address 0, and the PSRAM at 2 MB. Each can be up to 1 MB in size, so one MB at a time can be copied. The GBA Flash size is set by GBAC_ZIO, and the bank that will appear at cart address 0 is set by the combination of GBAC_HIO and GBAC_LIO. GBAC_LIO holds the ROM offset address bits A23-A16, and GBAC_HIO holds address bits A27-A24. The source always says A25-A24, but that's because the default flash shipped with this is 64 MB. If you look at the code, it always masks FOUR bits, not TWO bits. This allows for up to 2048 Mb flash carts to be used (the biggest they have out is 1024 Mb at this time). So up to 1 MB of ROM offset anywhere within 256 MB can be set to appear at cart address 0. Up to 1 MB of PSRAM can be set (using PRAM_ZIO) to appear at cart address 2MB. That memory is divided into banks of 1 MB. The bank appearing in the cart space is set by PRAM_BIO, and can be from 0 to 4 (5 MB for SSF2). I suspect this can actually be 0 to 7, but I haven't done any tests yet to confirm that. So copying flash to PSRAM is done this way: set the offset into the flash; set the size of the rom space, up to 1MB; set the size of the PSRAM bank, up to 1MB; set the PSRAM bank to 0; copy up to 1MB of words from the rom bank at 0 to the PSRAM bank at 2MB; if the rom is larger than 1MB, increment the ram bank to the next ram bank, increment the flash rom offset address, and copy the next bank; repeat until done.

Note that ROM is fast enough for 68000 cycles! The menu does use the 68000 to copy the rom into ram, after all. So you COULD run the cart straight from the flash. However, I suspect that for some reason, the hardware limits the space the rom can occupy to 1MB. Notice how even though the copy mode has space for 2MB between the rom and PSRAM banks, they only use 1MB maximum. So running the cart from flash directly would only work for carts up to 1MB (8 Mb). Larger carts must be run from PSRAM, so the menu simply runs ALL carts from PSRAM for consistency. I suspect that SSF2 bank selection is only available to the PSRAM, and SMS bank selection is only available to the flash; that would explain why they run the carts in the modes they do.

Note that the PSRAM is writable: You store a 2 to WE_IO to enable writing to the PSRAM. This is done before the copying occurs. You store a 0 to WE_IO to disable writing to PSRAM. That is done after the copying is complete.

Note that because you aren't likely to have a valid exception table at cart address 0 much of the time, the menu should have interrupts disabled during the copy. In fact, the times when you have an exception table the menu wants are rare, so the menu should be written to run with interrupts disabled all the time. Note that exceptions will probably hang the menu program. Don't count of being able to catch things like address faults.

MODE8 - Storing a word of 8 to OPTION_IO sets mode 8. Mode 8 is used for CD BIOS. The CD BIOS to use is copied in mode 7 just like carts, but instead of running in mode 6, the CD BIOS is run in mode 8. The difference is probably how and where the SRAM appears. SRAM is normally at 2MB in cart space for normal carts. It's at 6 MB for CD BUPRAM (IIRC). So 6 vs 8 probably controls where SRAM decodes to in the address map.

MODE12/MODE13 - Storing a word of hexadecimal 12 or 13 (18 or 19 in decimal) sets SMS mode. Note that bit 0 controls the FM chip: 1 enables the FM, and 0 disables it. So MD/32X games use a mode of 00110 binary, and SMS uses 1001x binary, where x is the FM enable.

Note that SMS carts are run directly from the GBA flash. The size and offset into the flash are set via GBAC_ZIO, GBAC_HIO, and GBAC_LIO, then the SMS cart is run in mode 12 or 13. So I suspect that bit 2 in OPTION_IO controls whether PSRAM is enabled. It is 1 for MD/32X games, and 0 for SMS games run from the flash.

So tentatively, OPTION_IO seems to be decoded this way:
b4 = SMS_EN => 1 = enable SMS mode, 0 = disable SMS mode
b3 = CD_EN => 1 = enable CD mode, 0 = disable CD mode
b2 = PSRAM_EN => 1 = enable PSRAM access, 0 = disable PSRAM access
b1 = ? not sure about what this controls yet
b0 = If SMS mode: 1 = enable FM chip, 0 = disable FM chip
If not SMS mode: 1 = PSRAM at 2MB cart address, 0 = PSRAM at 0 cart address

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Thu Nov 05, 2009 7:53 am

Just some more info...

Image

The small chip in the upper left is a low-power dual op-amp. The larger chip beside it is a 4Mx16 PSRAM. The big chip in the middle is the ASIC. The small chip in the upper right is a 1024 bit serial EEPROM. The chip below it is a linear regulator. The chip on the opposite side is the YM2413. Note the 3.579545 MHz crystal. The glaring white thingy is connector for the GBA/NDS flash carts.

Image

The chip on the back is the USB interface.

The Myth ASIC maps two spaces to the flash cart - flash space, and sram space. It has bank registers to allow for the fact that the flash is larger than cart space, and the sram can be larger than a game may require. GBA flash cart sram is up to 64 KB of space (but can itself also be banked by the flash cart asic if the sram is larger).

The flash cart has its own ASIC that looks for particular operations on the bus to allow you to control the bank selection, as well as onboard features like the RTCs and such. Code on the Neo Flash website shows how to access the main RTC, and a more limited GTC (an RTC probably for games to keep track of game time while running). It also shows how to access the 8K cache inside the ASIC. You can also access the voltage registers to check the battery and console voltages.

You have TWO flash roms in the flash cart: a smaller "menu" flash, and a larger "game" flash. The menu flash can hold up to 16 Mbit of code/data, and is presented on the bus by default. The MD boot menu goes into this flash. The game flash is the main storage, and MD games are copied from this flash to the PSRAM in the Neo Myth. The Neo Myth ASIC can do SSF2 bank selection on the PSRAM, not the flash, hence the need to copy the flash to PSRAM.

Theoretically, the Neo2-SD should work with the Neo Myth cart. I am ordering one to play around with. The Neo2-SD has all the features of the Neo2 flash carts, but only has 256Mbit of game flash; in addition, it has 128Mbit of "zip" ram, and of course the SD interface. The zip ram is to allow code/data to be copied from the SD card, then presented as if it were flash to the GBA/NDS (or the Neo Myth - MD in our case). The code for the first version of the NDS SD card driver for the Neo2-SD is available, so it should be possible to make a driver for the MD.

King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Thu Nov 05, 2009 1:59 pm

I so gotta get me one of these soon.

Post Reply