Author Topic: NeoMythMenuDX-v2.9  (Read 18996 times)

0 Members and 1 Guest are viewing this topic.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
NeoMythMenuDX-v2.9
« on: September 22, 2012, 01:05:43 PM »
Time for an update! This version features Neo3-SD support... Dr.neo sent me one, and I spent the day making sure it worked like it should.
 :D

The main problem people had before was saving/restoring the sram. That turned out to be mostly bugs in the game save/restore code. I can't believe how buggy that code was! It was even affecting the Neo2-SD and Neo2-Pro, much less the Neo3-SD. So the new menu also features less buggy save/restore of game saves for everybody!
 ;D

While working on the Neo3-SD support, I beefed up the cart identification. The hardware info line at the bottom of the browser box now shows the exact cart in use, from the very first 256Kbit rev A cart to the brand new Neo3-SD. Another change in the interface has to do with what browsers you can use: people using flash-only carts can only toggle between the flash browser and the USB mode. People on the Neo2-SD and Pro can switch between the flash browser, USB mode, and SD browser. If no SD card is in the Neo2-SD/Pro, it starts in the flash browser, and if an SD card is present, it starts in the SD browser. People with the Neo3-SD cart only get the SD browser and nothing else. You can start the Neo3-SD without an SD card, but you get the SD browser with no entries in the browser list. You can then insert an SD card and hit "START" to show the contents. Hitting "START" on the Neo3-SD ALWAYS makes it show the root directory of the SD card. It's an easy way to go back several directory levels, or to show a new card if you change SD cards. You can boot the menu from the SD card on the Neo3-SD just like on the Neo2-SD/Pro. That makes it easy to run updates - just copy the MDEBIOS.BIN file to the /menu/md/ directory of the SD card. No need to update the menu in the Neo3-SD menu flash... unless you want to, of course.
 ~sm-74.gif~.gif

For folks just joining us here, these are just the binary files. The source, as always, is available in the google code page repository:
http://code.google.com/p/neo-myth-menu/

Most of the controls for the interface are shown at the bottom of the display. The difference between Run and Run2 is Run resets back to the menu, while Run2 resets back to the game. "MODE" will switch between the different forms of shortened names in the browser window: there is shorten on the right, shorten in the middle, and shorten on the left. "A" brings up the OPTIONS display where you can do things like set the save memory, enter cheats, etc.

As always, please report any issues you run across. We're always trying to improve the menu.

Oh, just a reminder - people can play VGM music off SD card. Even Neo3-SD folk. Just "run" the song and it will load and play. It loops forever, or until you press "C" as the message on the display shows. You can play VGMs up to 7 MBytes long. Compressed VGM files (like VGZ) are not supported - they MUST be decompressed!

EDIT: 2012/09/23 - Quick update to v2.9.1 for BRAM fixes
EDIT: 2012/09/23 - Another quick edit; this one adds a hardware info display. Press "Z" to toggle between the Help Messages and the Hardware Info Messages at the bottom of the display.
EDIT: 2012/09/24 - Fixed problem with using CD BRAM from flash.
« Last Edit: September 24, 2012, 03:18:40 PM by ChillyWilly »

Offline joyeux

  • Jr. Member
  • **
  • Posts: 51
Re: NeoMythMenuDX-v2.9
« Reply #1 on: September 23, 2012, 10:24:36 PM »
Great Chilly!!! Thank you.

But i guess you forgot the BRAM issue, the SCD Backup RAM is detected as a regular Savestate Game in the flash!

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #2 on: September 24, 2012, 01:26:31 AM »
Great Chilly!!! Thank you.

But i guess you forgot the BRAM issue, the SCD Backup RAM is detected as a regular Savestate Game in the flash!

Actually, I didn't forget it at all - I made it a separate state. Before, it was a combination state of being the SMS save state + the largest size. The "largest" size was checked alone in a number of places making certain games save as the SMS state. So I added a BRAM state that is separate from the other states. There should be three states, now: MD32X, SMS, and BRAM. Maybe I goofed up the BRAM at the last moment... I'll test it again, but it should be like it was, only no longer causing certain MD32X states to be handled as SMS states.

EDIT: Updated to v2.9.1 with BRAM fixes... swear to God - I fixed these quite some time back, but somehow it got un-fixed! Very strange...
« Last Edit: September 24, 2012, 02:21:33 AM by ChillyWilly »

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #3 on: September 24, 2012, 07:16:01 AM »
Yet another update - on Dr.neo's advice, I added some extra hardware info to the display. Press "Z" to toggle between showing the help messages or the hardware info at the bottom of the display. May come in handy when reporting bugs.

Offline joyeux

  • Jr. Member
  • **
  • Posts: 51
Re: NeoMythMenuDX-v2.9
« Reply #4 on: September 24, 2012, 08:35:06 AM »
Hi... Just tried 2.9.2 (with nice Z button feature), but couldn't initialize BRAM... Am I doing something wrong? I used the 1.30 Neo Programmer, my flash is Rev. A 256kb. Tried it on a CDX, result was a black screen.

EDIT: Better Pic Added.
« Last Edit: September 24, 2012, 08:42:34 AM by joyeux »

Offline Dr.neo

  • Administrator
  • Hero Member
  • *****
  • Posts: 3822
Re: NeoMythMenuDX-v2.9
« Reply #5 on: September 24, 2012, 10:28:18 AM »
great job CW,from now we can know what's the exactly HW are using,not need to guess again  ~sm-91.gif~.gif
In my world,have 0 and 1 only ......Matrix World......

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #6 on: September 24, 2012, 02:24:52 PM »
Hi... Just tried 2.9.2 (with nice Z button feature), but couldn't initialize BRAM... Am I doing something wrong? I used the 1.30 Neo Programmer, my flash is Rev. A 256kb. Tried it on a CDX, result was a black screen.

Huh... never tried it on a flash-only cart. I've always just loaded it from SD. I'm not sure how the PC client writes the file to flash... notice that run mode (1)? That SHOULD be 9 for the BRAM. I'll try it on one of my rev A carts and see if I can't get that working. I'll have it going by tomorrow.
 8)

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #7 on: September 24, 2012, 03:21:43 PM »
Fixed problem with using CD BRAM from flash. Some time back, there was a problem with games running from flash with sram having inconsistent run mode values. When I fixed that problem, I forgot about BRAM, so the run mode was being changed from 9 to 1. Another check in the code for BRAM and the problem is solved. Sorry about that - I just so rarely ever use the flash given how easy loading from SD is.
 ::sm-02::

Offline joyeux

  • Jr. Member
  • **
  • Posts: 51
Re: NeoMythMenuDX-v2.9
« Reply #8 on: September 25, 2012, 03:03:51 PM »
Thanks for the efforts, BRAM mode is enabled! Yes, SD loading may be much easier, but I can't afford it right now.

Well, I don't know if this is a complicated issue, BRAM in flash seems to corrupt data. I started my CDX, formatted the RAM, and started Sonic CD. I played all the first level and recorded it in the RAM as (00) using the Sonic CD RAM Manager. After turning CDX off and on, the Sonic CD RAM manager presented corrupt data (QGNICCD _00). Viewing by the CDX Internal RAM manager, it showed 1010 blocks of free memory. When I went to delete items in the RAM, the Sonic CD file appearead to have 2083 blocks used! And I couldn't delete it until I formatted the RAM.

I know the flash doesn't work well as the SD, but I'm just reporting this issue. Anyway, I'm planning to buy a Neo SD Adapter in a few months... Well, I can live with this.

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #9 on: September 25, 2012, 08:40:38 PM »
There was a bug in the size of the bram... we started with FF04, which reports 128KB of bram like the official BRAM. The problem is the maximum amount of sram in the GBA cart is 64KB, so we switched to FF03, which is 64KB of BRAM. So you have to reformat to have a proper BRAM block table. Sorry about that, but it really was wrong... people were losing data since the SCD was trying to use bram that didn't exist. So you only have half as many blocks are the official bram, but you can change which bank is used for more storage if you need it. The BRAM defaults to bank 3, but if you go to the options, you can change that to 0 through 3 for a maximum of 256KB of total storage. Of course, if you use sram with other game, be sure not to overwrite the banks they use.

The following chart can be used to keep track of how the different banks of different sizes overlap. Print it out and write the name of the game in the block used for the size and you shouldn't have any trouble with games overwriting each other.
 :D

Code: [Select]
  64Kbit    128Kbit   256Kbit   512Kbit    1Mbit
   4KB        8KB      16KB      32KB      64KB
 _________________________________________________
| bank 0  | bank 0  | bank 0  | bank 0  | bank 0  |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 1  | bank 1  |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 2  | bank 2  | bank 1  |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 3  | bank 3  |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|         |
| bank 4  | bank 4  | bank 2  | bank 1  |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 5  | bank 5  |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 6  | bank 6  | bank 3  |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 7  | bank 7  |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|_________|
| bank 8  | bank 8  | bank 4  | bank 2  | bank 1  |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 9  | bank 9  |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 10 | bank 10 | bank 5  |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 11 | bank 11 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|         |
| bank 12 | bank 12 | bank 6  | bank 3  |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 13 | bank 13 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 14 | bank 14 | bank 7  |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 15 | bank 15 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|_________|
| bank 16 | bank 16 | bank 8  | bank 4  | bank 2  |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 17 | bank 17 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 18 | bank 18 | bank 9  |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 19 | bank 19 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|         |
| bank 20 | bank 20 | bank 10 | bank 5  |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 21 | bank 21 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 22 | bank 22 | bank 11 |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 23 | bank 23 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|_________|
| bank 24 | bank 24 | bank 12 | bank 6  | bank 3  |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 25 | bank 25 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 26 | bank 26 | bank 13 |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 27 | bank 27 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|         |
| bank 28 | bank 28 | bank 14 | bank 7  |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 29 | bank 29 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|         |         |
| bank 30 | bank 30 | bank 15 |         |         |
|---------|         |         |         |         |
|_________|_________|         |         |         |
| bank 31 | bank 31 |         |         |         |
|---------|         |         |         |         |
|_________|_________|_________|_________|_________|


Note - the 4KB sram blocks take 8KB of sram since 8KB is the smallest unit of size for the bank selection. So there really isn't a difference between 64Kbit and 128Kbit SRAM modes as far as sram usage goes.

Offline joyeux

  • Jr. Member
  • **
  • Posts: 51
Re: NeoMythMenuDX-v2.9
« Reply #10 on: September 26, 2012, 01:45:19 AM »
I actually have just SCD_SRAM.bin burnt in the flash, with no other SRAM game in it, which means I have full SRAM in the GB cartridge to use. When you say format it, are you refering to the SRAM or the game flash? I can successfully format the SCD RAM through the SCD Memory Menu. I used the clean SRAM feature inside the Deluxe Menu, I can always format this way.

EDIT: As my 1st attachment shows, I am already using slot 0, and Myth Menu offers me slots 0, 1, 2 and 3 (for SCD_SRAM.bin). Tried all of them.
« Last Edit: September 26, 2012, 02:01:42 AM by joyeux »

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #11 on: September 26, 2012, 05:15:14 AM »
I actually have just SCD_SRAM.bin burnt in the flash, with no other SRAM game in it, which means I have full SRAM in the GB cartridge to use. When you say format it, are you refering to the SRAM or the game flash? I can successfully format the SCD RAM through the SCD Memory Menu. I used the clean SRAM feature inside the Deluxe Menu, I can always format this way.

EDIT: As my 1st attachment shows, I am already using slot 0, and Myth Menu offers me slots 0, 1, 2 and 3 (for SCD_SRAM.bin). Tried all of them.

I meant format on the SCD side. Each bank would need to be formatted to be used. Set it to 0, start the CD, format the bram, reset to the menu, set the bank to 1, start the CD, format the bram, reset to the menu... etc.

If you format all four banks on the SCD side, you'll have a total of 256KB of BRAM accessible 64KB at a time.

Offline joyeux

  • Jr. Member
  • **
  • Posts: 51
Re: NeoMythMenuDX-v2.9
« Reply #12 on: September 27, 2012, 01:55:18 AM »
I'm sorry, but I can't get it to work properly. I formatted all the 4 sram slots and it keeps corrupting the save data, doesn't matter which slot I use for 11 blocks of the SonicCD save ram data. Though, there are two things I observed:
1 - Sometimes the Myth Menu detects my GBA flash as 512Kb Type C. I guess it has nothing to do with the issue, but just reporting it.
2 - When I first copy save data from SCD Internal memory to the Backup RAM, it does right, and I can transfer this file (Sonic CD's one) to another SCD without corruption. In other words, it DOES work when I copy data using the internal SCD RAM manager. When I access game screen, it corrupts just by starting the game.

Anyways, I don't want to be a pain talking 'bout an old product. I'd better buy in a few weeks a new NEO2SD, as it keeps going to be very tricky. Thanks CW for the patience and support!

Offline ChillyWilly

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1751
  • Just a coding machine.
Re: NeoMythMenuDX-v2.9
« Reply #13 on: September 27, 2012, 07:49:24 AM »
I'm sorry, but I can't get it to work properly. I formatted all the 4 sram slots and it keeps corrupting the save data, doesn't matter which slot I use for 11 blocks of the SonicCD save ram data. Though, there are two things I observed:
1 - Sometimes the Myth Menu detects my GBA flash as 512Kb Type C. I guess it has nothing to do with the issue, but just reporting it.

I've seen that - the flash ID reported by the A type carts sometimes come back as the C type after running a game. If you reset again, it reports the right value. No idea why it does that, but it won't affect anything in the menu.

Quote
2 - When I first copy save data from SCD Internal memory to the Backup RAM, it does right, and I can transfer this file (Sonic CD's one) to another SCD without corruption. In other words, it DOES work when I copy data using the internal SCD RAM manager. When I access game screen, it corrupts just by starting the game.

Anyways, I don't want to be a pain talking 'bout an old product. I'd better buy in a few weeks a new NEO2SD, as it keeps going to be very tricky. Thanks CW for the patience and support!

I'll look at it a little more, but I'm not sure what the issue would be where it works with the SCD manager and not the game. Very strange.

Offline joyeux

  • Jr. Member
  • **
  • Posts: 51
Re: NeoMythMenuDX-v2.9
« Reply #14 on: September 29, 2012, 03:54:32 PM »
I'll look at it a little more, but I'm not sure what the issue would be where it works with the SCD manager and not the game. Very strange.
Sorry, tested it again and the data corrupts after powering off... I remember to have done a copy once from SCD to other SCD, but don't remember in which conditions.