Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Wannado

Pages: [1] 2 3 ... 7
1
General Discussion / Re: Finally: New Plugins in stock
« on: 27/Jul/2017 10:05:43 PM »
Well, if it was only the PCB layout, I'd probably have done it myself long ago. But there are a few issues with the prototype design that I wanted to solve before creating the production PCB:
  • The prototype connects NES signals CPU R/W, PRG /CE, PPU /R and CPU M2 (cartridge) to MD signals VA20 .. VA17 (Retrode). The Retrode can change all of those signals at once. IIRC, connecting M2 to VA17 also had the reason to minimize the total wire length of the M2 connection in the prototype.

    The problem here is that CPU M2 is high active. The current initial state of the Retrode has VA20 .. VA17 all high, which could cause a NES cartridge to enable outputs of an SRAM chip, if present (connected to the lower data byte MD pins). Initializing VA17 to low might not be ideal either, because that would enable something on SMS cartridges (/MC-F). So, VA17 wasn't the best choice for M2.

    The Retrode 1 has gamepad signals on VA20 .. VA17. They are also connected on the N64 plug-in.

  • In the prototype, NES signal PPU /W is pulled high, not connected to any MD signal. But there's a game which uses CHR RAM for savegames, and PPU /W would be required for writing to that CHR RAM. So I wanted to add a connection for PPU /W. It might also be useful for detecting whether a game has CHR ROM or CHR RAM.

  • I considered connecting the NES signal CIRAM A10 to the GND pin A32 of the MD connector, which the Retrode uses for cartridge detection. This might allow the Retrode to quickly and easily detect that the connected cartridge is a NES game, and which mode of "nametable mirroring/arrangement" it uses (an information for the .nes file header). But I can't say for sure that it would work with all NES games. E. g., some mapper might block the signal until initialized.

  • I considered reordering some of the address and data lines to make routing easier (more parallel, less crossing wires). The firmware would have to reorder the address and data bits accordingly.

  • I never measured the power consumption of the Retrode with a NES cartridge inserted.

Nevertheless, having a professional designer create the new PCB layout seems like the only realistic way to get it done soon. So, go ahead. Maybe the designer can prepare the PCB for later modding with respect to the above mentioned issues. Or maybe someone else with good knowledge of the NES and Retrode has suggestions how to address those issues.

I'll try and help as much as I can. I'll send you a PM with additional information.

See the files attached to my original post about the prototype. The relevant schematic is "retrode-sega-to-nes-without-ics-v2a.sch". The "... pin assignments.txt" file contains roughly the same information. The lbr files will be required for making the PCB (brd file), too.
The files "nes-and-sega-to-pads-v3a.*" describe the prototype PCB and are quite useless for the new design.

2
General Discussion / Re: Things I'm currently working on
« on: 14/May/2017 12:29:47 PM »
Hi, this is Wannado again.

The bad news

My plans have once again been defeated by reality. I've been incapable of working on the firmware code for the past two weeks and have no idea when I will be able to resume my work on this project. I didn't even finish the config file optimization so far. :(

The good news

In the meantime, two other people have started/resumed work on the code. One of them is skaman, who has made quick progress expanding SNES game support (see his post for details). Great job, skaman! :)

skaman's fixes regarding HiROM/LoROM SRAM bank switching (for Brain Lord, The 7th Saga, ...) will probably render features 1 and 2 from justin89's patch obsolete. Features 3 and 4 (see my OP) are still worth merging.

3
Dear Retrode community,

in this post, I'd like to tell you about my recent activities and my plans regarding the Retrode firmware.


justin89's patch

You may have heard about the patch that justin89 submitted long time ago. I want to finally try and merge it into the firmware, step by step. To simplify that, I've split the patch up by the features it contains:
  • A way to force HiRom or LoRom addressing for SNES games.
  • A way to read/write the saves of the SNES games Brain Lord and Robotrek.
  • Support for reading/writing SRAM and Flash saves of GBA games. (Also FRAM saves, but with issues.)
  • Support for reading/writing SRAM saves of N64 games. (Also reading FRAM saves, but the results don't seem correct.)

The small features 1 and 2 will be included (in a modified form) in the next release I'll publish. Superseded by skaman's work. See also "Plans" below.


Config file optimization

At the moment, I'm optimizing the config file. This is motivated by justin89's patch (which includes new config options) and other things.

To save buffer space, I've removed most of the help comments from the config file. As a replacement, I want to add a separate help file with more detailled descriptions (compressed, read-only). However, the current draft is still rather large even in compressed form. Apart from that, I've reduced the size of the parsing and printing code significantly.


Still issues saving to Phantasy Star IV and Shining Force from Kega Fusion

After the release of v0.21-beta, gliitch had reported that saving in above Mega Drive games still doesn't fully work for him (using Kega Fusion). The issues are the same as with v0.20-beta. Despite gliitch's assistance, I haven't been able to find the cause of the problems yet. See also below.


Plans

These are the things I'll try and do in the near future when possible (see reply #7 below), approximately in that order:
  • Finish the config file optimization (hopefully this weekend).
  • Add diagnostic features to help analyze the Kega saving issues (maybe this weekend or the next).
  • Make a new release before the end of April.
  • Take a closer look at features 3 and 4 of justin89's patch and maybe merge them (hopefully in May). Make a new release afterwards.
  • Continue work on the NES plug-in (possibly starting in May):
    • Design improved PCB.
    • Attempt to integrate support into the standard firmware.
    • Maybe improve SRAM battery detection.

4
Support / Re: Using the Retrode2 with a 32X and a 32X game
« on: 19/Feb/2017 12:29:46 PM »
Because the 32X was designed to fit onto a Mega Drive, and because the shapes of the Retrode's and Mega Drive's cases are different, plugging the 32X into the Retrode (with case) might fail. For example, if the 32X extends too far back, it will collide with the Retrode's lid. Or the Retrode's case might be too high for the 32X to reach the slot contacts.

So you might be forced to take the Retrode's PCB out of its case in order to be able and plug the 32X in. I guess that's what Aleron Ives was trying to tell you.

There are screws on the bottom of the Retrode that allow you to open the case without harm. I suggest that you handle the bare PCB carefully (avoid touching contacts/solder points with your fingers). Maybe you can leave the PCB in the bottom half of the case, only removing the top and lid. Of course, unplugging the 32X may not work without touching the PCB directly.
If the problem is only the lid, you can close the case again after removing the lid.

Another advice: Connect the 32X and cartridge to the Retrode before connecting the Retrode to the computer. Disconnect the Retrode from the computer before disconnecting the 32X or cartridge.

When you're done dumping the 32X games, you can put all the Retrode's parts back together and it should be as great-working as before. ;)


5
Since one of the threads you linked refers to Brain Lord: A long time ago, justin89 provided a patch which he said includes "a way to read/write SNES Brain Lord and Robotrek saves" (among other things). I didn't manage to merge that patch yet.

A lot has changed in the firmware architecture since the revision that justin89's patch is based on, so the merge isn't trivial.

And there, I'm right out of time for another week.

6
General Discussion / Re: Feature suggestions
« on: 05/Feb/2017 11:31:30 PM »
Note that "deleting" the ROM file from the Retrode's file system (e. g. by "moving" the file) may cause issues when trying to write the config or SRAM file afterwards.

Nevertheless, I'll consider adding a config option to control the ROM file's read-only attribute.

7
The Retrode is easy to use. It's the games that cause trouble. ;)

Saves: The issues with the Mega Drive/Genesis saves have been discussed recently, and I have just uploaded my second attempt to resolve them: v0.21-beta
Remember to set "[sramReadonly] 0" in RETRODE.CFG if you want to modify the saves on any cartridge.
And you will need to set "[segaSram16bit]" as appropriate for your emulator/the format of the file you are trying to copy.

Sonic 3 & Knuckles: The Retrode firmware includes special code for that game, so it has probably worked once. The save size for it has been wrong, but I've hopefully fixed that in v0.21-beta. I cannot test it though.

8
I set up us the beta.

9
General Discussion / New firmware beta: v0.21-beta
« on: 26/Jan/2017 11:16:33 PM »
Here it is, f i n a l l y.

I only tested it on the Retrode 2 with a few games (GB, SNES) and an N64 Mempak.

As always, see the enclosed readme.txt for details.

10
Support / Re: Spiritual Warfare GB
« on: 26/Jan/2017 11:00:19 PM »
A similar issue has been discussed a while ago: http://forum.retrode.org/index.php/topic,308.msg2043.html#msg2043

Anyway, I agree with Aleron Ives. The game is probably trying to trick the GB (to pass the boot logo check), and the Retrode isn't doing what the game expects a GB to do.

We might try to imitate the GB's behavior of reading the logo twice, shortly after power-up. If somebody happens to find time for that...

11
General Discussion / Re: Progress on N64/GBA save support?
« on: 26/Jan/2017 10:44:55 PM »
Sorry, nothing has changed since reply #26.

Also, this is not the top item on my list. In the past six months, I often thought about at least trying to merge the simple pieces that work (according to justin89). But I didn't even get close to having time for that.

12
You might try it again with "[forceSystem] SNES" in RETRODE.CFG. Don't forget to revert the setting to "auto" before using (since v0.19 beta: the same slot of) the Retrode with games from other systems.

The auto-detection for SNES games looks for the game name stored in the ROM at a known address. In this case, it failed to recognize the data as a valid name, maybe because it's in Japanese.

The false positive for A2600 is not the reason that SNES was skipped; SNES is tried before A2600.

13
@KingMike: Thank you for trying. What did the Retrode show for that cartridge? A smaller .sfc file? Or just "GenericRomInSnesSlot.dat"?

14
The game cartridge provides no suitable connection that would allow the Retrode to directly sense the presence of the battery, measure its voltage, etc.

The battery is supposed to power only the save RAM, not the other ICs of the cartridge. Also, it must not be "charged" by the regular supply voltage from the NES/... (there is at least one diode in the cartridge to prevent this). I therefore believe that the battery is "isolated" so that its voltage cannot be measured through the cartridge connector, not even at the cartridge's power supply pins.

The Retrode can only look at the data in the game's RAM and make a guess if that's meaningful game data (battery backed) or just what that particular RAM chip likes to initialize with.

15
General Discussion / Re: Finally: New Plugins in stock
« on: 18/Dec/2016 07:02:19 PM »
Before EvilDragon can produce any NES plug-in, a suitable PCB needs to be designed. So far, all that exists is my prototype design, which is not suitable for a larger production run.

Getting the new design etc. done in 2017 seems possible, but that's what I thought about 2016, too.

Pages: [1] 2 3 ... 7