INL FlashCart - New Host App (RELEASED)

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Danin
Posts: 56
Joined: Sat Feb 15, 2014 10:23 pm

Re: INL FlashCart - New Host App (Release 10)

Post by Danin »

satashi26 wrote:Windows 7 is what I'm using actually...Is there any information I can give you to help with this problem? (Also thanks for the help too, I really appreciate you using time for me.)
Hmmm... That's exactly NOT what I expected, haha. Now I'm confused. My only suggestion is to try reinstalling/updating .Net 4.5 as that's cleared up issues with several people now. Beyond that, I'm not sure. I will contact you via PM (so we don't flood the thread) and we'll spend a bit more time on it once I get home from work (three hours and change, as of right now) and we'll iron this out.

Once we figure this out, I will post the solution we find for future reference of thread viewers in case they run into the same issue.

Edit: Resolved. Please make sure you're running .Net 4.5 (re-install it to be sure!) if you're having issues with this program. So far the only crash reports I've gotten are because .Net 4.5 is not installed.
Danin
Posts: 56
Joined: Sat Feb 15, 2014 10:23 pm

Re: INL FlashCart - New Host App (Release 11)

Post by Danin »

Another big update. This one brings Mapped Write (increased write speeds when ROM size is less than Cart size) and Cart Size Auto-Detect among a few other nice tweaks. Feedback and bug reports are welcomed and appreciated!
Danin
Posts: 56
Joined: Sat Feb 15, 2014 10:23 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by Danin »

Updated with my new firmware rewrite. Nearly double speed writes on SNES, NES as yet nonfunctional but in progress.
magno
Posts: 193
Joined: Tue Aug 15, 2006 5:23 am
Location: Spain
Contact:

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by magno »

Danin wrote:Updated with my new firmware rewrite. Nearly double speed writes on SNES, NES as yet nonfunctional but in progress.
Great job!! Looking forward to checking it!
wyndcrosser
Posts: 42
Joined: Mon Jul 30, 2012 1:44 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by wyndcrosser »

So, I'm getting the software 11.5 to run well now, but none of the roms that I've adding are working. I'm trying again with auto-fix and mirroring off since the Star Ocean file is 12mb. I'll post back later.
skot85
Posts: 17
Joined: Sat Apr 26, 2014 1:05 pm

Re: INL FlashCart - New Host App

Post by skot85 »

Danin wrote: I'm getting 62 pages per second on average in test cases, whereas I got an average of 34 pages per second on the INL-Kazzo mod, and less on original.
I've been running this firmware for about 5 flashes, a few lorom and a hirom now, and it's still what I was getting with your previous firmware, about 13 pps. Am I missing something here?
Danin
Posts: 56
Joined: Sat Feb 15, 2014 10:23 pm

Re: INL FlashCart - New Host App

Post by Danin »

skot85 wrote:I've been running this firmware for about 5 flashes, a few lorom and a hirom now, and it's still what I was getting with your previous firmware, about 13 pps. Am I missing something here?
I should've mentioned specifically that it was 62pps for linear write on smaller carts. Larger carts will have somewhat slower writes with Mapped write because they make multiple passes for each write. IE, a 512KByte game on a 12MByte cart can be written up to 24 times per page to fulfill complete mirroring support. This case is very unlikely, as most 512KByte games are LoROM, and will only be mirrored to 8MByte. Also, 12MByte cart owners will get a little extra speed out of their carts at unusual intervals (due to my firmware handling write-verify polling in such a way that dual-flash writes will be stalled for a shorter period) which tosses easy math out the window, so results are going to be somewhat unusual.

In short, if you want bitchin' fast writes and know your game doesn't need mirroring (or don't mind re-writing when/if it doesn't work) use Linear writes.

Sorry for the lack of updates recently. I ran into a few potholes in the software, and that coupled with some pretty extreme financial issues has demotivated me from programming a little bit. I do have a few questions that I would really like everyone who reads this post to answer, though. I really do mean everyone; I'm using these questions as a two-part tool, and sticking it here instead of dedicating a post to it to get the opinions of the people who actually bother to track what's going on. One, to measure just how many people are using my software. Two, to get a picture of the user's priority, because if you guys don't care about a feature, I'm not going to kill myself working on it.
Do you guys prefer the current UI, or would a 'wizard-like' interface be better? (You can say 'both' or state that you'd like to see screenshots of it before making the decision, if you're not sure, or that you don't care, I just need some feedback to re-motivate.) Meaning; single window, single prompt at a time, next button, status log during operations.. Also, given that I hate the typical wizard interface and how limiting they can be, I can assure there'd be no loss of functionality, intelligent layout, easy navigation if you knew you needed to skip steps ahead of time, etc etc..
Also, on a scale of "I don't care" to "Can't live without it" how would you guys rate the need for NES support in the host app? NES support in the new firmware? How about intelligently remembering what protection fixes/patches to add to games, to speed up the 'protection patching' phase?

Thanks for your input. I may be slow for a bit, but I'm not abandoning this project. Again, I apologize for being MIA lately.
skot85
Posts: 17
Joined: Sat Apr 26, 2014 1:05 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by skot85 »

I think a "wizard" interface wouldn't be a good idea for an app like this. The interface you've built works, and works good. I would love to have more "core" features like sram read/write and cart dumping. I realize that's firmware stuff, so while I'm on that, I noticed the led is only active when erasing. Not a huge issue, more aesthetic. As for NES support, I have the SNES only kazzo.

On a side note, I've moved back to the 3-10-14 firmware. Last night I couldn't for the life of me get a game to boot. Hi-rom or Lo-rom. Now everything is working as it should. As I said, I have the snes kazzo and a 12MB 1.1 board.
aupton
Posts: 36
Joined: Tue Aug 06, 2013 12:07 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by aupton »

Danin, I like the current interface as well, though at first I didn't realize that the Rom Buffer tabs were actually functional write modes, it seemed like they were informational until I actually read the post completely :)

As I mentioned in a previous INL related post, an internal crc32/md5 checksum database could be helpful to track working vs non-working source files when paired up to select board types. GoodTools and No-Intro are excellent sources of dat/hash info that could be leveraged.

As for NES, I would love to see NES support enabled. I've been debating to buy a second Kazzo programmer just for NES support. I have a couple of MMC1/MMC3 INL boards to play with if you were looking for someone to run a few compatibility tests.

Thank you for all your hard work. You've already filled a huge void with your application and firmware releases. :)
skot85
Posts: 17
Joined: Sat Apr 26, 2014 1:05 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by skot85 »

I was just clicking around and made it crash.
Windows 7 x64 here
Kazzo plugged in, cart in or cart out.
Load any target file, select any other tab besides HeaderStrip (or original if I load a good rom).
Click Find Kazzo

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Retro_Prog.RomManager.UpdateDataType(RomIndex index, RomType type, Boolean exact, Boolean legacyOnly)
   at Retro_Prog.MainForm.checkFirmwareVersion()
   at Retro_Prog.MainForm.btnTestClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Retro-Prog
    Assembly Version: 1.0.5183.1010
    Win32 Version: 1.0.5183.1010
    CodeBase: file:///C:/Users/User/Desktop/11_5/Retro-Prog.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
LibUsbDotNet
    Assembly Version: 2.2.8.104
    Win32 Version: 2.2.8.104
    CodeBase: file:///C:/Users/User/Desktop/11_5/LibUsbDotNet.DLL
----------------------------------------
Windows7ProgressBar
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/User/Desktop/11_5/Windows7ProgressBar.DLL
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Danin
Posts: 56
Joined: Sat Feb 15, 2014 10:23 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by Danin »

skot85 wrote:I was just clicking around and made it crash.
Windows 7 x64 here
Kazzo plugged in, cart in or cart out.
Load any target file, select any other tab besides HeaderStrip (or original if I load a good rom).
Click Find Kazzo
[/code]
Thanks for the report. That one should be pretty easy to fix, pretty sure I know exactly what I did there.

To the rest who have responded, thank you for your input. I'll take it into consideration. I won't be able to do much work for a little while, and frankly unless things improve significantly 'a little while' might turn into longer than that, but knowing there's continued interest does help motivate me again. Thank you.

(And yes, my firmware port does seem to be buggy for some users. I think I tightened the timing too far and it's causing issues in some systems. I'll resume work on both as soon as life lightens up a bit...)
skot85
Posts: 17
Joined: Sat Apr 26, 2014 1:05 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by skot85 »

Still having trouble with the RPGe Final Fantasy V
This last time, it didn't crash, but I got the below error...and the cart loads? EDIT: Freezes when starting game
It seems to work okay, although I don't know if I trust it enough to put it in my SFC FFV shell and call it done.

CRC 17444605

Code: Select all

    [KazzoConnected=>checkFirmwareVersion] Current firmware does not support Read operations. Disabling.
    [checkFirmwareVersion=>TestConnection] Testing connection.
    [checkFirmwareVersion=>TestConnection] Connection test passed. Status code (49)
    [checkFirmwareVersion=>TestConnection] Version code [4, 3, 1])
    [KazzoConnected=>checkFirmwareVersion] Firmware Core 1+ indicates OK/BUSY support. Auto-Erase enabled.
    [KazzoConnected=>checkFirmwareVersion] Firmware SNES 2+ supports write support for read/write exceeding 8MBytes.
    [KazzoConnected=>checkFirmwareVersion] Firmware Core 3+ supports 512-byte pages.
    [KazzoConnected=>checkFirmwareVersion] Firmware SNES 3+ supports SRAM read. (NOT YET FULLY  IMPLEMENTED IN HOST)
    [KazzoConnected=>checkFirmwareVersion] Firmware Core 4+ supports auto-detect cart size.
    [OnCheckedChanged=>chkAutoEraseCheckedChanged] Auto-erase enabled.
    [OnFileOk=>dlgOpenFileFileOk] File picked: 'C:\Users\User\Desktop\snes roms\Terranigma (E) [!].smc'
    [<dlgOpenFileFileOk>b__13=>checkAndLoadSnesRom] Loaded ROMs mask: 1
    [<dlgOpenFileFileOk>b__13=>checkAndLoadSnesRom] Headerless ROM verified.
    [handleWriteClickThreaded=>handleRomCompatCheck] According to SNES header, this ROM will probably work just fine.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Starting internal SNES RAM Protection patcher..
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Applying patches.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Process took 7 seconds. Patched 0 entries.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Completed.
    [handleWriteClickThreaded=>handleEraseThreaded] Erasing cart.
    [ThreadStart_Context=>EraseCart] Erasing double-chip SNES Cart.
    [EraseCart=>EraseCart] Sending erase header to cart. Header index:1
    [EraseCart=>WriteHeaderToKazzo] Called with HeaderID 1.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Device is open.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Writing page 1 of 1.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Write buffer complete. Buffer size: 16
    [EraseCart=>EraseCart] Waiting another 90 seconds...
    [EraseCart=>EraseCart] Erase wait loop done.
    [EraseCart=>EraseCart] Erase complete.
    [handleEraseThreaded=>EraseCart_Threaded] Operation time: 31.27 seconds.
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Using SNES V2 Write Mapping.
    []Writing page 8192 of 8192. Completion ETA: 0 seconds. Pages per second: 13
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Write buffer complete. Buffer size: 4194304
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Operation time: 628.08 seconds. Pages per second: 628.1
    [btnExecClick=>handleWriteClickThreaded] Write Complete. Move cart's ROM switch to hiROM.
    [OnFileOk=>dlgOpenFileFileOk] File picked: 'C:\Users\User\Desktop\uf-FOX-1.1-win32\Terranigma (E) [!].smc'
    [<dlgOpenFileFileOk>b__13=>checkAndLoadSnesRom] Loaded ROMs mask: 9
    [<dlgOpenFileFileOk>b__13=>checkAndLoadSnesRom] Headerless ROM verified.
    [handleWriteClickThreaded=>handleRomCompatCheck] According to SNES header, this ROM will probably work just fine.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Starting internal SNES RAM Protection patcher..
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Applying patches.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Process took 6 seconds. Patched 0 entries.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Completed.
    [handleWriteClickThreaded=>handleEraseThreaded] Erasing cart.
    [ThreadStart_Context=>EraseCart] Erasing double-chip SNES Cart.
    [EraseCart=>EraseCart] Sending erase header to cart. Header index:1
    [EraseCart=>WriteHeaderToKazzo] Called with HeaderID 1.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Device is open.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Writing page 1 of 1.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Write buffer complete. Buffer size: 16
    [EraseCart=>EraseCart] Waiting another 88 seconds...
    [EraseCart=>EraseCart] Erase wait loop done.
    [EraseCart=>EraseCart] Erase complete.
    [handleEraseThreaded=>EraseCart_Threaded] Operation time: 32.87 seconds.
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Using SNES V2 Write Mapping.
    []Writing page 8192 of 8192. Completion ETA: 0 seconds. Pages per second: 13
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Write buffer complete. Buffer size: 4194304
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Operation time: 626.05 seconds. Pages per second: 626.1
    [btnExecClick=>handleWriteClickThreaded] Write Complete. Move cart's ROM switch to hiROM.
    [OnFileOk=>dlgOpenFileFileOk] File picked: 'C:\Users\User\Desktop\snes roms\Final Fantasy V (J) [T+Eng1.1_RPGe].smc'
    [<dlgOpenFileFileOk>b__13=>checkAndLoadSnesRom] Loaded ROMs mask: 9
    [<dlgOpenFileFileOk>b__13=>checkAndLoadSnesRom] Headerless ROM verified.
    [handleWriteClickThreaded=>handleRomCompatCheck] According to SNES header, this ROM will probably work just fine.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Starting internal SNES RAM Protection patcher..
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Applying patches.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Process took 3 seconds. Patched 0 entries.
    [fixSnesRamProtection=>fixSnesRamProtection_hexstr] Completed.
    [handleWriteClickThreaded=>handleEraseThreaded] Erasing cart.
    [ThreadStart_Context=>EraseCart] Erasing double-chip SNES Cart.
    [EraseCart=>EraseCart] Sending erase header to cart. Header index:1
    [EraseCart=>WriteHeaderToKazzo] Called with HeaderID 1.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Device is open.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Writing page 1 of 1.
    [WriteHeaderToKazzo=>WriteBufferToKazzo] Write buffer complete. Buffer size: 16
    [EraseCart=>EraseCart] Waiting another 88 seconds...
    [EraseCart=>EraseCart] Erase wait loop done.
    [EraseCart=>EraseCart] Erase complete.
    [handleEraseThreaded=>EraseCart_Threaded] Operation time: 32.71 seconds.
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Using SNES V2 Write Mapping.
    []Writing page 4160 of 6144. Completion ETA: 156 seconds. Pages per second: 13
    [WriteRom_v2_SNES_Threaded=>WritePageToKazzo] Transfer failed, retrying...
    [WriteRom_v2_SNES_Threaded=>WritePageToKazzo] <WritePageToKazzo:0,0> Transfer failed at page 4174!
    [setupMapping=>WritePageToKazzo] Interface set to abort.
    [ThreadStart_Context=>WriteRom_v2_SNES_Threaded] Interface set to abort.
    [btnExecClick=>handleWriteClickThreaded] Write failed.
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by MottZilla »

FF5 probably is being detected at 16 Megs, which it is not after the translation. You probably just need to adjust the ROM size byte in the imbedded rom information.
Danin
Posts: 56
Joined: Sat Feb 15, 2014 10:23 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by Danin »

skot85 wrote:Still having trouble with the RPGe Final Fantasy V
This last time, it didn't crash, but I got the below error...and the cart loads? EDIT: Freezes when starting game
It seems to work okay, although I don't know if I trust it enough to put it in my SFC FFV shell and call it done.

CRC 17444605
If you send me the ROM, or tell me where to get the patch and which original Rom you applied it to, I'll look into it. Sorry I've been inactive so long, dealing with some issues and waiting to see some light on the horizon...
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Re: INL FlashCart - New Host App (R11) + Firmware Rewrite (P

Post by MottZilla »

Goto $FFD7 in your ROM file (if it has a header goto $101D7) and change the byte from $0B to $0C. This will change the imbedded information to identify the ROM as being bigger than 16 megabits. This may fix your problems.
Post Reply