Sep 182014
 

NOTE: Satellaview is broken at the moment because it doesn’t work with the NMI vector patching. I’m working on it.
At last here’s the v0.1.7 preview. Cx4 blew up in my face when I tried to insert the cheat/in-game hook engine and ended up taking days to get working. 😐
Here’s what’s new (mostly copied from the status post):

  • In-game button combinations are in effect. See the table below for the key mapping. Note that some games show glitches with the in-game functions in place. I added an additional feature to temporarily disable them in case of game glitches (e.g. Secret of Mana hangs at the Squaresoft logo, displaying only garbage). I’m not entirely happy with the button choice but it will do for now. πŸ˜‰
  • When running a game from the recent games list, the selected entry is now moved to top of the list.
  • LED blink codes for file system errors – e.g. in case the SRM file cannot be saved this will tell you that something’s gone wrong. The blink codes are yet to be listed.
  • Also the sd2snes will retry saving until it works so you have the chance to swap out the SD Card. In that case the directory structure must be present where the sd2snes expects to save the file.
  • “Screen saver” – in the menu, the screen is darkened after some idle time to reduce wear on CRT and plasma screens.
  • Memory sharing between SNES and the sd2snes CPU is greatly simplified (The FSM is reduced to only 5 states instead of 18) and timing is more relaxed. This should help with stability on a wider range of consoles.
  • On-the-fly file browsing. Also shows a little “loading…” window when loading directories/files.
  • Windows are now blue so they stick out better in front of yellow directory listings.
  • Cx4 data ROM is now embedded in the FPGA configuration – no more need for the external file cx4.bin.
  • Initial Satellaview clock is back to 18:00:00 from 18:05:30.
  • SD cards can be hotswapped. Currently there is no automatic refresh of the file list so tapping reset on the SNES or changing the directory is necessary to get the new contents.
  • The status line is moved upward a few pixels so hopefully it doesn’t get eaten by overscan.
  • Navigation: When scrolling page-wise with the right D-pad arrow, the end of the file list is now aligned to the bottom of the screen.
  • Navigation: The shoulder buttons can be used to jump to the beginning/end of a directory listing.
  • Bugfix: some compatibility issues with a number of games. (Super Play Action Football (S-RTC interference), GP1 Part II (WRAM initialization), Human Grand Prix (mapper detection bug))
  • Bugfix: properly initialize FPGA state machine (on some consoles the menu failed to start at all)

v0.1.7 final will contain menu items for various configuration settings and a cheat interface.
Please let me know if any games are broken that worked before, even with the in-game functions disabled.

In-game button mappings:

ButtonsFunction
L+R+Select+StartReset game
L+R+Select+XReset to sd2snes menu
L+R+Start+YKill in-game routines (in case they interfere with game operation).
L+R+Start+XTemporarily kill in-game routines (~10 seconds - if you need to get past a glitch but don't want to lose in-game buttons)

 Posted by at 11:59 pm

  59 Responses to “Firmware v0.1.7 preview”

  1. Yippi!!!

    (First Reply :D)

  2. Awsome! Thanks alot ikari πŸ™‚

  3. Great work on that πŸ˜€ Just tested the Button combinations so far and works great for now (just 5 min of testing) ^^ Will let you know if I find anything…

    BTW: First reply xD I have seen the preview coming up on GitHub

    • nooo – not the first one… However – you forgot to mention the new sorting strategy of the last 10 games played which is much better than the one in v0.1.6

    • Whoops, forgot about that already. I added it in the list, thanks πŸ˜‰

  4. That update screwed up everything. My screen has a bunch of garbage on it now with the menu in the background; reverting to 1.6.

    • Fixed – I was using one of the custom menu.bin files, replaced it with file in zip – all is good now.

  5. I will test it and leave reply if I find someting
    thank you so much ikari

  6. Dude, this is sooo Cool!!

  7. My Rom of Star Ocean doesn’t seem to work. I had just gotten it to work with v0.1.6 using that (SDD-1 hack) patch. That sucks.

  8. Amazing work! So far everything is great. Thanks again and I look forward to future updates.

  9. (>’-‘)> <('-'<) ^(' – ')^ <('-'’-‘)>

  10. Suggestion for hot-swap saving. If directory structure is not found on the new as in the previous card, revert to saving in the root of the card.

  11. It could be nice to get a “On-the-fly file browsing” enable/disable option in a future release because it take a time to each time open a folder when you have a lots of roms Inside ( especially when you didn’t add new roms frequently like me ^_^! )
    Everything else is pure happiness …
    Thank you Ikari!

  12. Awesome Ikari! Really great work, I liked it when the sd2snes folder was hidden as I already have like 6 folders on the root of the SD card.

    • Nevermind, I am guessing this is due to the fact that it does on the fly browsing now instead of writing the folders do a database.

  13. Hi Ikari
    i got some characters issues with this menu
    i can’t navigate, because it’s some random letters
    http://manuloewe.de/snestuff/sd2snes/menu_0.1.6_tsr.bin

    if i put your menu.bin, everything is fine πŸ™‚
    i will test the update firmware for star ocean

  14. The previously hidden folders are appearing now.

    • You probably have to manually mark them as hidden (if you want to) using your computer. πŸ˜‰

    • Indeed, I forgot to mention that, sorry. From now I’m leaving it up to the user to hide certain directories, by setting the System or Hidden attribute. After all some people wanted to store their ROMs in a subdirectory of the sd2snes folder, which was then unreachable.
      However I just noticed that I actually neglected to add the filtering to the directory scanning routine. So at the moment all files and directories are shown regardless of their attributes… That will definitely be in place for the final. I might even update the preview download shortly.

  15. Ikari would be nice if you could use the cheats as .cht, .pat this would facilitate the use of the lot and have the cheats Mega Everdrive and put the codes it could never do any more work on emulators and the codes work.

  16. Great work, ikari! πŸ˜€

    But is it just me or does the console reset/IRQ hooking stuff only work in a few selected games? It doesn’t work for me in Star Ocean (96 Mbit, tested with the fixed firmware), nor in any MSU-enhanced game.

    Also, I’d suggest adding an option to completely disable the new IRQ hooking routines from within the menu (which would allow me to watch Secret of Mana’s gorgeous opening without any hectical button mashing). πŸ˜€

    Thanks!
    Ramsis

    • True, MSU games use a special handling loop in the firmware that doesn’t interpret the in game commands yet. On top of that, as it hooks into the VBlank NMI, it will only work with games that have the VBlank NMI enabled – which is virtually every game – except Star Ocean, at least for the 96MBit hack. Instead it uses a V-Count IRQ somewhere mid-screen (line 48 or something). Actually I have the firmware prepared to hook into IRQs as well but it’s currently disabled (and it will remain disabled by default) because it breaks some games quite badly which use V-count IRQs instead of HDMA to do some mid-screen housekeeping. E.g. R-Type III.

    • Noticed that with 0.1.7 preview, no MSU-enhanced games are compatible with the reset/processing button combos. Tried it on Zelda 3 and SM:Oddysey

  17. It looks like Tales of phantasia can’t be stopped with L+R+SELECT+X or L+R+SELECT+START
    I tried it on a translate rom..

    • Tales of Phantasia doesn’t use the NMI either, it seems – only the IRQ. I might have to devise an auto fallback scheme for cases like that… Seiken Densetsu 3 has the same “problem”…

  18. Thanks for the pre-release firmware. I’ll test it on my SNES.
    A minor question, what is the USB port on the top of the SD2SNES used for? Potential loading ROMs via USB? Or is it a way to update the SD Card Filesystem while the board is not in use?

    • Just noticed the Stellaview broken message in the post. Whoops.
      Rolling back to 0.16…

      I might be using the wrong BS-X BIOS, but when I’m trying to run some BS Mario USA Power Challenge (the World 1/2/3/4 ROMs), I get a black screen on 0.16. The BS-X BIOS file was actually a 1024kb SMC file (got it from the website that has a picture of a beach and a palm tree that starts with “Emu” πŸ˜‰ ) that I renamed to “bsxbios.bin” in my SD Card’s sd2snes folder. I’m wondering if i got a bad dump or I’m doing something wrong, because I can’t boot the BS BIOS ROM, nor can I boot the BS Mario USA ROMs – they just dump me to a black screen, with the red LED on for a few seconds, a flash or two of the orange, and then POWER LED remains on. Nothing more – hard reset to go back to SD2SNES menu still works though!

  19. Thanks ikari for the great update. I have found that the firemen won’t load past the human interactive logo

  20. Hello ikari. Thanks for the great update preview.

    Here are the bugs I’ve found so far. All tested on standard NTSC-U SNES, CPU 2 PPU1 1 PPU2 3.

    Super Punch-Out: Anti-piracy screens now show up. Game works fine in 0.1.6.

    The following games are glitchy unless in-games routines are disabled.
    The Firemen: Hangs at Human logo.
    Goof Troop: Sprites sometimes turn invisible.
    SimCity: Title screen if garbled.
    Tetris & Dr. Mario: Tetris blocks are all black.
    Yoshi’s Cookie: BSP logo is glitchy.

    The following games don’t work with the in-game button combination.
    Marvel Super Heroes in War of the Gems
    Mortal Kombat II
    Mortal Kombat 3
    Out of this World/Another World
    Star Ocean
    Super Noah’s Ark 3D
    Ultimate Mortal Kombat 3
    Wolfenstein 3D

    And finally, the auto region patching seems to be broken, and PAL games that are region locked now show the β€œThis Game Pak is not designed for your system” messages. For example, a clean European Terranigma ROM works fine on my NTSC console with v0.1.6, but with the v0.1.7 preview, it’s now shows the region incompatibility screen.

    Hope all that helps. πŸ™‚

    • Thanks for the report! Yeah, auto region patching apparently needs slight retiming, it still works on some consoles it seems.
      It seems like a good idea to me for the sd2snes to store the ingame routine setting per game.

    • Super Punch-Out anti piracy screen is due to ingame hook as well.

    • OK, auto region patching being defeated is definitely an issue of configuration file migration. Deleting sd2snes.cfg should help. I’m going to put a workaround in the next build.

  21. About the region patching: Can you try and delete the file sd2snes.cfg from the sd2snes folder, switch off and on, and see if it works then?

  22. I know this may be a silly question but will there be an option to shut off all these combination mapping buttons in v1.7 final? Looks like these mappings are wreaking havoc on a lot of games.

    • Yes! Definitely. For the time being you can disable them using the controller.
      By the way, the way it works at the moment is similar to the Pro Action Replay cartridges. These cause the same glitches actually, I verified some of the games using a PAR 3.

  23. I look forward to being able to change the background of the start up menu (It just doesn’t look very “SNES” to me) It would be really cool if we could choose different themes for the menu, like Metroid, Zelda etc. Of course that’s all just nitpicking at this point. I’m happy with my purchase.

  24. Gave this a quick go today – I love the idea of sending out a preview firmware like this so that people can report back on bugs from the changes. Great work but already implementing the timing changes πŸ˜€ and also the in game reset function is pretty cool for lazy people like me!

    Thanks again, looking forward to the final release – if I notice any bugs I’ll let you know

  25. I observed a quite strange problem yesterday.
    The IGR-PIC acts quasi randomly. The keymappings do not work properly.
    Especially with PAL-Roms in 50hz. E.g., Sunset Riders resets in 50hz using Right + Down + Y. With firmware v0.1.6 and also the original games everthing work well.
    I tried different reading strategies (polling & interrupting) for the PIC as well as different PIC (16F630, 16F684, 16F688).

    • Hmm, maybe there’s not enough time for the IGR PIC to settle. The ingame hook of course can’t rely on the game activating Auto Joypad Read, so what it does is check if Auto Joypad Read is in progress (and if so, waits for it to finish), before running its own manual controller scan loop. Maybe there’s not enough time between the end of Auto Joypad Read and the beginning of “manual joypad read” for the IGR to compare the button values (so it’s ready again just in the middle of the next joypad read, reading garbage).
      Or maybe the IGR has trouble with manual joypad reading in general, after all the timing will be different with that.

    • The IGR starts to read the joypad after the data latch came high and back down. So the time the IGR needed to compare button values is not a big deal. The main problem is the duration of impulse chain after the data latch. The duration of the manual controller scan might be to short. Hence, the IGR-PIC reads data throughout two or more joypad reads as long as he has detected twelve impulses. The stored data is not in the expected order anymore. Is there a chance to make the manual controller read more similar to the auto joypad read? Where can I find it in the code?
      Best

    • snes/nmihook.a65. lines 21-36 (at the moment). I am working on that code portion at the moment. I’m going to just use the auto joypad read result when it’s found to be active so at least there’ll be no double controller read. However the manual reading code will remain as a fallback. I think the manual way is slower than auto joypad read though!

  26. Thank you πŸ™‚

  27. Thank you for this 1.7 preview release! I really appreciate your work on the SD2SNES. However on this new release, when playing Chrono Trigger and going about the menu screen, the graphics glitch for a second between transition. If I revert back to 1.4, it works perfectly.

  28. Thanks for the update… do the in-game-keys conflict with the IGR PIC? I have it along the supercic on a custom pcb … it is working great as is without any game problems btw

  29. Is chrono trigger working for anyone? Seems to lock up my system completely if I press A in the opening.

  30. hello

    you have a link for the latest Firmware v0.1.7 preview ? thanks πŸ™‚ the region patcher is broken on 0.1.7

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>