A Different KMC Console Mod

Discussion in 'Nintendo Game Development' started by Zoinkity, Oct 2, 2015.

  1. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108
    [edit]
    Apparently Willis82 happened across one of these as well. Read that post here:
    http://assemblergames.com/l/threads/new-n64-debugger.35579/

    Along with the dev 64DD I also received three consoles. One was a KMC rev.B, and there was a thread here earlier on how that mod was done. These other two are have a cable extending from them that serves the same purpose.

    Both are marked with stickers that say:
    DEBUGGER-N64用改造機
    Both use rev.4 N64 boards, whereas the rev.B used a rev.5 N64 board.

    Archive of higher-quality pictures is here: http://www.mediafire.com/download/1c0xg1xpl2pm96x/debug_unit.zip
    Should note that when I opened the first up there was a stripped screw that wasn't worth putzing over so that exterior pic and bottom shot was actually of the other console. They're identical though.

    Pictures!
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    Effectively that's the same purpose as the other KMC mod, but this one doesn't kill the cart A/V lines to do it. Only the A/V capture cart used these lines, but if you're doing 64DD development then this might be more appealing.
     
    Last edited: Oct 26, 2015
  2. OzOnE

    OzOnE Site Supporter 2013

    Joined:
    Nov 10, 2011
    Messages:
    538
    Likes Received:
    173
    Has anyone ever tried seeing if debug routines still exist in any commercial games?
    (the routines that would work via /INT4 and things like the Parner-N cart.)

    I suppose it would be simple enough to just look at the disassembly of a few ROMs, or just trigger /INT4 under MESS and see if the code tries to Write to the cart bus?

    Just a thought. :p

    OzOnE
     
  3. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108
    The interrupt is caught by code on the Partner/IS64. The devices hook the general exception vector in almost the exact same way a GameShark does and filters out the exception.
    They look for the string "KMC/x00" or "IS64" at a couple different device ranges, though the usual ones are BFF00000 or 803FE000. It also tests the rewritability of cartROM. If any test is true then it replaces the general exception vector with one that runs code from a 0x2000 byte block on the device wherever it found the string. The hooks are slightly tailored to the capabilities detected. In some cases the game will also start a slightly-different alternate main game thread that includes regular I/O with the Partner.

    Some retail games will still look for the Partner/IS64 and hook it if found, including the disk titles "Doshin the Giant 2" and "Mario Artist: Communications Kit". Setting cartROM writable is enough for it to try hooking those titles and had to cut out the detection when making the cart conversions.

    The Partner-side code can be found in some of the devkits. It's an EPT file and contains a 0x2000 block for the BFF00000 range, another 0x2000 for the 803FE000 range, and a build of the tron demo appended to that. Haven't seen anything specific to the IS64 yet; it may just be a different identifier for all I know.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page