Neo TeAm Forum

NEO Team's Project for SEGA MK3/MD5/32X => NEO SUPER MK3/MD5/32X 3in1 Flash Cart => Topic started by: Dr.neo on December 09, 2009, 12:13:08 AM

Title: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Dr.neo on December 09, 2009, 12:13:08 AM
MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]


* Fixed some bugs,
* Now can choose the install path when you run the install pack
* Support clone's the lastest MD Myth plug-in  :)
* The SNES part finish 100% already, and N64 part finish 80%
* Build in the new MD Myth menu, thanks for ChillyWilly  ~sm-42.gif~

(http://www.neoflash.com/myth/Neo Super Menu V1.0B5.gif)

(http://www.neoflash.com/myth/NEO2 Ultra Menu V2.93.gif)


download:  http://www.neoflash.com/myth/NEO2UltraMenuV2_93AppSetup091207_rar.zip (http://www.neoflash.com/myth/NEO2UltraMenuV2_93AppSetup091207_rar.zip)
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 09, 2009, 12:27:42 AM
Dr.Neo , i have uploaded the new version(v2.0.0.2) just a few minutes ago ->
http://www.neoflash.com/forum/index.php/topic,5812.msg42079.html#msg42079

It also supports CD-SRAM.bin & CD-System.bin , and also includes a tool to generate these files!
 ~sm-42.gif~
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 09, 2009, 04:32:28 AM
A few things I've noticed so far:

1 - Despite being assured that 3 is the correct run mode for 32X, the app never writes this. I get 2 and 6, depending on the size of the rom. The rom type IS set to 32X, so the app knows these are 32X roms!

2 - The SCD_System generated a run mode of 9, and the SCD_Ram generated a run mode of 8. Aren't they supposed to be 10 and 9, respectively?

3 - The app STILL puts the first rom at 0, even though this is the same place written over by the USB transfer. The app needs to start at 0x400000, not 0.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 09, 2009, 05:31:56 AM
I can answer #1,#2 :

#1:
The plugin detects 32x(and codename MARS) roms , i don't know about the programmer but if you test it with supermdplugHost.exe you will see that it prints the correct format.Maybe its still the same bug in the programmer that doesn't write this flag.


#2 :

Please use this enum table ->

Code: [Select]
typedef enum NEOMD_RomFormat
{
   NEOMD_FMT_UNKNOWN = -1,
   /*SKIP ZERO - GBA CART BUS RESERVED -*/
   NEOMD_FMT_MD_1_16_S = 0x01,      //1-16mbit MD rom length  with save
   NEOMD_FMT_MD_17_32_S,         //17-32mbit MD rom length  with save
   NEOMD_FMT_32x_S,             //32x rom with save
   NEOMD_FMT_MD_40,            //40mbit MD rom length
   NEOMD_FMT_MD_32X_EEPROM,   //MD or 32x with eeprom == 24c01
   NEOMD_FMT_MD_1_32_NOS,        //1-32mbit MD rom length without save
   NEOMD_FMT_SCD_BIOS,          //sega cd bios
   NEOMD_FMT_SCD_SRAM,         //sega cd sram
   NEOMD_FMT_SCD_SYSTEM,       //sega cd system
   NEOMD_FMT_SMS = 0x13         //sega master system rom
};

It is used both by the plugin & programmer.

And download v2.0.0.2 version of the plugin , because the package has the old v2.0.0.1 which cannot recognize SCD SRAM ,& SCD BIOS + SRAM cart.

Download link for the new plugin  ->
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5812.0;attach=2250

 :-\ :)
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 09, 2009, 06:09:13 AM
I was using the 2.0.0.2 stable. By the way, the SCD stuff probably isn't working because that enum table is wrong - the CD values should be 8 to 10, not 7 to 9.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: MitchO on December 09, 2009, 06:59:53 AM
I'm assuming this is supposed to be December 8 not October 8?

Mitch
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 09, 2009, 08:13:51 AM
I was using the 2.0.0.2 stable. By the way, the SCD stuff probably isn't working because that enum table is wrong - the CD values should be 8 to 10, not 7 to 9.


Ah ~sm-34.gif~
I will provide a quick fix in few hours , hopefully ShivenYu will update the enum table soon.

I will post more info(&the new enum table) in SuperMD plugin's release thread.

Edit->
Here -> http://www.neoflash.com/forum/index.php/topic,5812.msg42091.html#msg42091
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: SivenYu on December 09, 2009, 02:52:38 PM
I can answer #1

#1:
The plugin detects 32x(and codename MARS) roms , i don't know about the programmer but if you test it with supermdplugHost.exe you will see that it prints the correct format.Maybe its still the same bug in the programmer that doesn't write this flag.


That's because the programer will finnal check these 3 type for the save flag, even the plugin return but if limited by sram and can't allocate save, then will modify the type. code like this:

// check whether it realy has a save flag
if(bSave == FALSE)
{
   if(    (pVerify[6] == NEOMD_FMT_MD_1_16_S) ||
      (pVerify[6] == NEOMD_FMT_MD_17_32_S) ||
      (pVerify[6] == NEOMD_FMT_32x_S))
   pVerify[6] = NEOMD_FMT_MD_1_32_NOS;// changed to no save if so
}

Is it no necessary to do this? i will disable this if so.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: SivenYu on December 09, 2009, 03:04:58 PM

3 - The app STILL puts the first rom at 0, even though this is the same place written over by the USB transfer. The app needs to start at 0x400000, not 0.


excuse me, ChillyWilly,  i am not understand why to start at 0x400000.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 09, 2009, 06:49:12 PM
That's because the programer will finnal check these 3 type for the save flag, even the plugin return but if limited by sram and can't allocate save, then will modify the type. code like this:

// check whether it realy has a save flag
if(bSave == FALSE)
{
   if(    (pVerify[6] == NEOMD_FMT_MD_1_16_S) ||
      (pVerify[6] == NEOMD_FMT_MD_17_32_S) ||
      (pVerify[6] == NEOMD_FMT_32x_S))
   pVerify[6] = NEOMD_FMT_MD_1_32_NOS;// changed to no save if so
}

Is it no necessary to do this? i will disable this if so.

How about changing to this ->
Code: [Select]

if (pBlock->saveAllocationSize>0) //-1 = EEPROM , dont bother here. 0 = no save ..dont bother too
{
    bool save = true;

    if ( !(cart->flags & CAN_SAVE_TO_SRAM) )//example
    {
if(cart->bits[freeSram] + MB(pBlock->saveAllocationSize)  > cart->bits[totalSRam])
   save = false;
    }
    if(!save)
    {
            Show warning message to user
            Disable save for this rom
    }
    else Write with save;
}
else if(pBlock->saveAllocationSize == -1)
{
    bool save = true;

    if ( !(cart->flags & EEPROM_STATUS) )//example
    {
        Show warning message to user that EEPROM is filled

        MESSAGEBOX : Ask user if wants to reset EEPROM.
        if(result == ID_YES)
save = true;
    }
    if(save)
    {
        reset eeprom
        assign eeprom to this rom
        write rom
    }
    else Disable save for this rom
}
else if(pBlock->saveAllocationSize == 0)
    writeWithout checks;
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: kuroiso on December 09, 2009, 06:51:10 PM
The New MD Myth Menu is great!
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 10, 2009, 01:06:49 AM
excuse me, ChillyWilly,  i am not understand why to start at 0x400000.

There's a "USB Transfer" mode to the Neo Myth: while the Neo Myth is plugged into the MD, you can turn on the USB controller and then send a file from the PC to run immediately. This file is written to 0, with a maximum size of 4MB. Once you've transferred the file from the PC, the Neo Myth menu then runs whatever was uploaded to 0 as if it were a MD rom. This has been in the menu since the very beginning. Here's the relevant code from the very first menu from Dr Neo.

Code: [Select]
               CMP.B   #$80,d0   ;    START
                BEQ     RUN_X4
                NOP

                Jmp     MENU

RUN_X4:
                lea      MAKE30(PC),a0  ;BBBB
                JSR      PRINTA
                JSR      wjoy
                MOVE.W   #$FFFF,D0
                MOVE.W   D0,USB_ON


RUN_X4A:
                jsr     rjoy
                NOP
                CMP.B   #$20,d0    ;    C
                BEQ     RUN_X5
                NOP
                NOP
                NOP
                NOP
                JMP     RUN_X4A

RUN_X5:

                lea      MAKE13(PC),a0  ;BBBB
                JSR      PRINTA
                JSR      wjoy
                MOVE.W   #$0000,D0
                MOVE.W   D0,USB_ON
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                MOVE.B   #$00,MODE
;*******************************************************************************
                MOVE.B   #$0B,ROM_Z        ;
                MOVE.B   #$00,RBK_H        ; A24~A25
;*******************************************************************************
                MOVE.B   #$00,RBK_L
;*******************************************************************************
                MOVE.B   #$01,SR_Z;        ; GBA SRAM SIZE
                MOVE.B   #$00,SR_B         ; GBA SRAM BANK
;*******************************************************************************
                MOVE.B   #$06,RUN
;*******************************************************************************
                JMP      MD5

When you pressed START, it turns on the USB and waits for the user to press C. During this time, they use the LINK feature in the Windows app to write a file to location 0. Once done, they press C and the menu jumps to the MD routine with the rom offset set as 0 (RBK_L and RBK_H both set to 0).

So clearly, the flash from 0 to 0x3FFFFF needs to be reserved or the first time someone uses the Link feature they will overwrite one or more roms (think if they had SMS roms in the flash - they could overwrite DOZENS of roms).

So there's three options here that I see: one, reserve the flash from 0 to 0x3FFFFF and keep everything else as it is; two, change the link function to write to a different location than 0 and change the menu to match it; or three, remove the link feature from both the app and the menu.
 ::sm-09.gif::

EDIT: The simplest way I can think of to reserve the space is when you format the Neo Myth, immediately add one menu entry that has a name like "USB Link" that is marked as starting at 0 and being 4MB long.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 10, 2009, 01:24:53 AM
ChillyWilly , just an idea :

How about checking the capacity of the flash/sd and check if :
AllocatedMb + USBReservedMb > MaxAvaliableMb
(AllocatedMb =
gSelections[gMaxEntry].offset +
gSelections[gMaxEntry].length)


If true , show a message that says something like : "Please reserve at least 4MB" for the USB buffer".

Otherwise :
Code: [Select]
Start copying at : AllocatedMbPointer

readUsbPacket(&length)
if(length <= 8Mb)
{
     readUsb(buffer,length)
     copy(location,address,buffer)
}
else
{
    for(i=0; i <length / XFERSIZE ; i++)
    {
         readUsb(buffer,XFERSIZE)
         copy(location,address,buffer)
   }
}
run param...

Or something similar.

But for this to happen , the programmer must be able to write more than 64KB to the menu flash...
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 10, 2009, 02:01:21 AM
Remember that the full capacity may not be available. The format command (not the fast one) finds bad blocks to mark as unavailable. When I do that on my 512M stick, 8M are not available as bad. I don't know where this info is stored, so it might not be possible for the menu to tell anything about the memory other than the menu entries.

Also, the menu doesn't control the USB transfer in any manner beyond turning the USB on or off. The PC controls the USB transfer.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 10, 2009, 02:34:45 AM
Remember that the full capacity may not be available. The format command (not the fast one) finds bad blocks to mark as unavailable. When I do that on my 512M stick, 8M are not available as bad. I don't know where this info is stored, so it might not be possible for the menu to tell anything about the memory other than the menu entries.

Also, the menu doesn't control the USB transfer in any manner beyond turning the USB on or off. The PC controls the USB transfer.


Ah , i see  ~sm-34.gif~.

Another idea : How about adding another "checkbox" in the programmer something like : "Write 4MB USB signature" and when its "on" the programmer will write:
At 0x000000 - 'U'
At 0x000001 - 'S'
At 0x000002 - 'B'
At 0x400000 - 'R'
Block division(s) with games

USB Reserved

otherwise:
Block division(s) with games

Then the menu could test this signature/cookie & if USBR signature found then allow USB transfer , otherwise print some message like : "Please enable USB mode in the Programmer's configuration section".

For 1 thing im not sure : If you can access addresses from the flash without copying anything.If you have to copy data , then this is not efficient.

If the app handles all the procedure then it might be easy to read these 4 bytes and then verify if "USB Signature" has been enabled by the user.
So you let the user decide whether 4MB will be reserved for USB flashing.
 :)

Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 10, 2009, 03:21:41 AM
Ah , i see  ~sm-34.gif~.

Another idea : How about adding another "checkbox" in the programmer something like : "Write 4MB USB signature" and when its "on" the programmer will write:
At 0x000000 - 'U'
At 0x000001 - 'S'
At 0x000002 - 'B'
At 0x400000 - 'R'
Block division(s) with games

USB Reserved

otherwise:
Block division(s) with games

Then the menu could test this signature/cookie & if USBR signature found then allow USB transfer , otherwise print some message like : "Please enable USB mode in the Programmer's configuration section".

For 1 thing im not sure : If you can access addresses from the flash without copying anything.If you have to copy data , then this is not efficient.

If the app handles all the procedure then it might be easy to read these 4 bytes and then verify if "USB Signature" has been enabled by the user.
So you let the user decide whether 4MB will be reserved for USB flashing.
 :)



Too complicated, and you're sticking data into the area the rom is supposed to go - you can't have "USB" at 0 because that's the reset stack pointer vector for Genesis roms. Just put an entry in the menu. If you wish to distinguish it from a regular rom, make a new type: the rom types are currently 0 = MD, 1 = 32X, and 2 = SMS. Just make a new one - 3 = USB reserved block. Once you have an entry in the menu that says its starting block is 0 and its length is 4MB, the app will automatically leave that memory alone.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 10, 2009, 03:35:55 AM
Then it seems your suggestion to put a dummy rom as usb reserved area is the easiest to implement. :-\ >:D
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 10, 2009, 04:12:00 AM
Then it seems your suggestion to put a dummy rom as usb reserved area is the easiest to implement. :-\ >:D

Yes. You don't even have to write the dummy rom, just its entry in the menu entry table.
 ~sm-42.gif~
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: neo-diy on December 12, 2009, 02:12:04 AM
ON NOE MD SYSTEM RAM OS

$0A13020 bit 0 SET 1 > NEO GBA CARD WRITE ON !
$0A13020 bit 1 SET 1 > PSRAM WRITE !
$0A13020 bit 2 SET 1 > 68K CPU  $300000~3fffff = psram $700000~$7fffff

============================================================================
MODE 7 ON

68K CPU $000000~1FFFFF = GAB CARD
        $200000~2FFFFF = 1024K PSRAM SPACE HAVE  0~7 BANK

$0A13020 bit 2 SET 1 >68K CPU  $300000~3fffff = psram $700000~$7fffff < BANK 7
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: kuroiso on December 12, 2009, 07:51:12 PM
I don´t know if it´s a problem with the programmer or with the roms (I have tried many), but every time I try to load Super Street Fighter II I get an orange screen. I have a Pal Mega Drive II.
Thx!
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 12, 2009, 08:00:14 PM
aply M27T-AA86 gg code for ntsc rom(will only work on ntsc system). for E or J roms you'll have to find other codes.
also use attached plugin build - only for ssf2 rom! - restore to conle's build for other roms - otherwise other roms will no longer work.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: kuroiso on December 12, 2009, 08:24:47 PM
Thanks for your help! I will try it.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 13, 2009, 01:21:40 AM
I don´t know if it´s a problem with the programmer or with the roms (I have tried many), but every time I try to load Super Street Fighter II I get an orange screen. I have a Pal Mega Drive II.
Thx!

Hi , please download & install Plugdemo.dll v2.0.0.4 , it supports SSF2 & lockon roms ->
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5812.0;attach=2256

Copy it to : c:\neo 2 ultra menu\plug_in\md

Now , if you use the US rom of the game : format the flash cart , & before you burn the rom , click on "GG cheat" area on the selected rom and install the cheat file that i have attached ->
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5857.0;attach=2260

Also , click on Europe checkbox , and apply all fixes(Checksum/Common/..).

And burn the rom!
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 13, 2009, 02:47:04 AM
Conle, your build returns rom format==6, that wont work.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 13, 2009, 03:20:20 AM
Conle, your build returns rom format==6, that wont work.

Yes you're right , i did something very stupid in v2.0.0.4TEST , i fixed it now in v2.0.0.5TEST ->

http://www.neoflash.com/forum/index.php?action=dlattach;topic=5812.0;attach=2261

It should be fine now.Thanks for your reports Madmonkey! :D

More info here ->
http://www.neoflash.com/forum/index.php/topic,5812.msg42204.html#msg42204
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 03:21:06 AM
Anything larger than 2MB that also has save ram needs to be run mode 4. It also needs to be patched. I've figured out the patch for S&K+S3 and my own Wolf32X. I'm wondering it Conle should just add this patching to the plugin.

The "patch" is to look through the rom (in binary format) for the hex values:

13FC xxxx 00A1 30F1

That's a "move.b #x, 0xA130F1" opcode, which is used to turn on or off the save ram. You'll find several of these in roms >2MB with save (there's five in Wolf32X, and four in S&K+S3). For each one, look at xxxx:

If bit 0 is set, change the hex to:

33FC 0006 00A1 3000

That's a "move.w #6,0xA13000" which turns on the save ram.

If bit 0 is clear, change the hex to:

33FC 0004 00A1 3000

That's a "move.w #4,0xA13000" which turns off the save ram. The rom needs to start off with the run mode set to 4. I think I need to change that in the menu when I determine the run mode for the rom loaded from the SD card.

The alternative to having this patching in the plugin is I can do this in the menu in the routine that sets the save ram bank and size. I know the save ram is going to be used, so if the rom size is >2MB, I can go ahead and force the run mode to 4, and do the patch routine. That would take care of any game that follows the guidelines for sram and >2MB roms.

EDIT: For 32X games, it should be 3 instead of 4. That's 32X w/o save.

EDIT 2: Actually, 3 is with save, so that wouldn't work. I guess it should be 4 as well. I relly need to try this and see how it goes.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 13, 2009, 03:33:45 AM
Yes , i can do it   ~sm-37.gif~ , but i need to know if the opcode needs decoding
or i can just split it in parts with shifts like a normal 4byte integer?

I know i can find this answer in an emulator's source code
but it will save time.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 03:37:07 AM
Yes , i can do it   ~sm-37.gif~ , but i need to know if the opcode needs decoding
or i can just split it in parts with shifts like a normal 4byte integer?

I know i can find this answer in an emulator's source code
but it will save time.

Instructions always fall on word boundaries, so you only have to check words until you find 0x13FC, then check for 0x00A1 at that address + 4, and 0x30F1 at that address + 6.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: kuroiso on December 13, 2009, 03:39:18 AM
Thanks Conle and madmonkey for your help. Now I can play Super Street Fighter II in my Pal console ;D
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 13, 2009, 03:44:53 AM
Instructions always fall on word boundaries, so you only have to check words until you find 0x13FC, then check for 0x00A1 at that address + 4, and 0x30F1 at that address + 6.

Thanks! , sounds simple enough ,  i will let you know once its done  ~sm-42.gif~
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 03:53:20 AM
Okay, looking at your enums again, I noticed something

Code: [Select]
typedef enum NEOMD_RomFormat
{
NEOMD_FMT_UNKNOWN = -1,
/*SKIP ZERO - GBA CART BUS RESERVED -*/
NEOMD_FMT_MD_1_16_S = 0x01, // 1-16mbit MD rom length  with save
NEOMD_FMT_MD_17_32_S, // 17-32mbit MD rom length  with save
NEOMD_FMT_32x_S, // 32x rom with save
NEOMD_FMT_MD_40, // 40mbit MD rom length
NEOMD_FMT_MD_32X_EEPROM, // MD or 32x with eeprom == 24c01
NEOMD_FMT_MD_1_32_NOS, // 1-32mbit MD rom length without save
NEOMD_FMT_SCD_BIOS = 0x08, // sega cd bios
NEOMD_FMT_SCD_SRAM, // sega cd sram
NEOMD_FMT_SCD_SYSTEM, // sega cd system
NEOMD_FMT_SMS = 0x13 // sega master system rom
};

Run mode 6 DOESN'T have save ram, so you would not set 6 for sram on. I guess it would be 2 or 3.

Which brings me to my other thought, I think the table still isn't quite right. I think there was a typo in a comment the HW dude made that has thrown everyone off - he put 32X when he meant 32M. Look at the run modes if you assume a typo was made:

1 = 16 Mbit + save ram
2 = 24 Mbit + save ram (the HW comments say 24 Mbit, not 32!)
3 = 32 Mbit + save ram (this is where the "typo" says 32X when it should be 32M)
4 = 40 Mbit
5 = 32 Mbit + eeprom
6 = 32 Mbit

There's no reason for a special "32X" mode as the 32X roms are no different from MD roms. But 32M makes sense given the previous modes are for smaller sizes.

I think I need to do some experimenting on the menu to see if this really bears out.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 13, 2009, 04:10:10 AM
s3&k works with mode 2 - and I mean it works, later levels from s&k and everything, I'm pretty sure patching isn't needed, at least for that particular rom.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 04:28:30 AM
s3&k works with mode 2 - and I mean it works, later levels from s&k and everything, I'm pretty sure patching isn't needed, at least for that particular rom.

S3&K has the sram on/off code. So if it's not patched, it will fail at some point.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 13, 2009, 04:47:23 AM
well, I guess I'll have to complete it then, if it fails, at least we will know when and where.
another option would be to find 3MB rom with saves that checks it's checksum.
that puzzles me, why you think patching is needed? other flash cards do this in hardware, why wouldn't myth? can you pinpoint a rom that doesn't work at some point?
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 04:57:28 AM
The Neo Myth doesn't handle the 0xA130F1 register. According to Dr. Neo, you have to patch the game to change the run mode to enable/disable the sram instead of setting 0xA130F1.

By the way, SSF2 doesn't have save ram, but they do set 0xA130F1 to 0 to make sure sram is off. It's part of the specification. Other games that are larger than 2MB that DO have sram (like S3&K) store to 0xA130F1 to enable/disable the sram. S3&K stores 1 to 0xA130F1 to enable the sram, writes/reads the sram, then stores 0 to 0xA130F1 to disable it. You'll find that code starting at 0xC32A.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on December 13, 2009, 05:05:44 AM
ChillyWilly , here you can find the original format table ->
http://www.neoflash.com/forum/index.php/topic,5812.msg41977.html#msg41977
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 13, 2009, 05:13:30 AM
The Neo Myth doesn't handle the 0xA130F1 register. According to Dr. Neo, you have to patch the game to change the run mode to enable/disable the sram instead of setting 0xA130F1.
ok, I got it.
but
Beyond Oasis (USA) - 3MB rom that checks it's checksum, saves work. if 0xA130F1 register isn't handled - but saves work, that means that sram must be permanently mapped somewhere at rom space, I guess at 0x200000, but I'm not sure - am I getting this correctly?
so why Beyond Oasis (USA) works?
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 05:51:07 AM
ok, I got it.
but
Beyond Oasis (USA) - 3MB rom that checks it's checksum, saves work. if 0xA130F1 register isn't handled - but saves work, that means that sram must be permanently mapped somewhere at rom space, I guess at 0x200000, but I'm not sure - am I getting this correctly?
so why Beyond Oasis (USA) works?

Let's assume the save size is 64Kbits. That's 8KBytes. The save ram area starts at 0x200000, or the 2MByte point. So 8KB of space at 2MB is now save ram. Most games don't have more than 2MB of code... in fact, it's probably rare to see 16 bit games with more than half a MByte of code. The rest is all data. Level data, graphics data, sound data... so odds are good that that 8KB at 0x200000 is data rather than code. That means that it's likely to be graphics data, since that's the bulk of game data. So that 8KB of save ram will most likely corrupt a small amount of graphics at some point in the game.

It's POSSIBLE it may cause the game to crash... it MIGHT be code... it might be level data consisting of pointers and/or state data that's vital to the proper operation of the game. If that is the case, the save ram will crash the game. It's more likely that you'll just see a bad bit of graphics, or hear a burst of noise in the sound.

So running a game that is >2MB and also has save ram with the sram always on will probably be fine. Or it may not be. It would be best when possible to "do the right thing". It might not always be possible.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 13, 2009, 05:57:47 AM
I know all that, that's not what I meant.
beyond oasis checks it's checksum - I never actually looked if it includes the whole cart area in it's calculation, but if you change the checksum OR some bytes at offset 0x200000, it'll give you red screen.
there is no red screen when started on myth.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ChillyWilly on December 13, 2009, 06:34:53 AM
I haven't looked at their checksum routine, but many roms don't checksum the WHOLE rom, just part - usually the code.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on December 13, 2009, 06:39:58 AM
well, that may be true, but the area at 0x200000 definitely included.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: neo-diy on December 14, 2009, 01:16:20 PM
RUN_IO 0X0000 >MENU MODE
RUN_IO 0XFFFF >GAME MODE
modes 2 & 3 can game mode
modes 1 & 5 can game mode + menu mode
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: ronaldo_76 on January 05, 2010, 06:30:48 AM
Hi , please download & install Plugdemo.dll v2.0.0.4 , it supports SSF2 & lockon roms ->
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5812.0;attach=2256

Copy it to : c:\neo 2 ultra menu\plug_in\md

Now , if you use the US rom of the game : format the flash cart , & before you burn the rom , click on "GG cheat" area on the selected rom and install the cheat file that i have attached ->
http://www.neoflash.com/forum/index.php?action=dlattach;topic=5857.0;attach=2260

Also , click on Europe checkbox , and apply all fixes(Checksum/Common/..).

And burn the rom!

hey conle,

please help me.
i have the same problem with super street fighter 2 i will play it but i have the orange screen.

i have download SuperMD Pluging NEO2 Edition v2_1_0_3STABLE.rar and unpack the the pack in c:\NEO2 Ultra Menu\
then i load the .txt file and add it to rom, double klick on "gg cheat file" in the programmer.

is that right?
it doesn't work.

help please

thanks in advance
ronaldo
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: Conle on January 05, 2010, 06:40:45 AM
hey conle,

please help me.
i have the same problem with super street fighter 2 i will play it but i have the orange screen.

i have download SuperMD Pluging NEO2 Edition v2_1_0_3STABLE.rar and unpack the the pack in c:\NEO2 Ultra Menu\
then i load the .txt file and add it to rom, double klick on "gg cheat file" in the programmer.

is that right?
it doesn't work.

help please

thanks in advance
ronaldo

You have to copy the Plugdemo.dll only in :
C:\neo2 ultra menu\plug_in\md\

These cheats will work only if you have PAL MD and you're running the US release of the game. And you have to set the region of the game to USA.

If you have region switch , you don't need region unlock cheats , but the region must be forced to USA before you burn the rom.

And don't forget to select CRC fix otherwise it will fail to boot with all these changes.
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: StarshipUK on February 27, 2010, 03:04:00 AM
When I try and install this I get the error:

Self-Registration Error:
The following files did not self-register or unregister:

1. C:\NEO2 Ultra Menu\Neo2Usb.dll

The specified module could not be found.

To continue click OK otherwise click cancel.

Then when trying to load:
initialize failed:
Neo2Usb.DLL load failed!

Neo2Client
Neo2Menu.DLL load failed!

Does anyone know how to fix this problem please?
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: madmonkey on February 27, 2010, 03:47:01 AM
follow instructions in this post No SlimLoader USB Found? (http://www.neoflash.com/forum/index.php/topic,5776.msg43429.html#msg43429)

or, install libusb filter driver http://libusb-win32.sourceforge.net/#downloads
(if you're using vista or win7, set compatibility mode to xp on installer executable before installation) and use my programmer from here new neo myth programmer, buggy beta (http://www.neoflash.com/forum/index.php/topic,5914.msg44443.html#msg44443)
Title: Re: MD 3in1 Myth flash cart PC programmer V2.93 [Oct.08 2009]
Post by: StarshipUK on February 27, 2010, 07:48:04 PM
Thank you. This fixed the problem.