Super Mario 64 Disk version found?

Discussion in 'Unreleased Games Discussion' started by Protodude, Jun 16, 2014.

  1. ma777

    ma777 Peppy Member

    Joined:
    Jan 15, 2008
    Messages:
    337
    Likes Received:
    20
    So Ozone did you take a trip to France or did Jimmy130 come to you? I wouldn't let that disk out of my sight!
     
  2. OzOnE

    OzOnE Site Supporter 2013

    Joined:
    Nov 10, 2011
    Messages:
    538
    Likes Received:
    173
    No, I don't have the SM64 disk or anything. :)

    The only disk I have is Mario Artist (with the mouse etc.) - I'm just trying to find a method for ripping the disks.

    I have the FPGA connected now, but not yet figured out why the Arduino isn't reading sectors.

    I'm having to go back to code I wrote about 2-3 years ago, so it will take a while for me to get re-accustomed.

    It is of course up to Jimmy whether he releases the SM64 disk image or not, but would be great to get it backed-up and preserved.

    OzOnE.
     
  3. OzOnE

    OzOnE Site Supporter 2013

    Joined:
    Nov 10, 2011
    Messages:
    538
    Likes Received:
    173
    Looks like I can rip full disks now using the Arduino Due. :D

    EDIT: It still has error bits set, like BIT_OVER_RUN and BIT_OFFTRACK, but the data looks OK?
    Not sure what's causing that, but I think it's just because the data still isn't being grabbed anything like quickly enough.
    But, it looks like we can ignore those error bits for now.


    It is very slow (as expected), mainly due to the crazy way they've done the pin numbering on the Arduino Due board layout vs the ARM port / pin numbers.
    Should be able to sort that out though with a bit of clever coding.

    I did try ripping a whole disk image earlier, but it took about 4 hours!
    When I checked the file, it had overwritten everything with the same block for some reason (capturing with RealTerm). :(

    So I guess RealTerm couldn't handle capturing the full ~64MB of data?

    I tried Tera Term as well, but it crapped out and slowed to a crawl after only 120 blocks, due to the way it logs the data.
    HyperSerialPort didn't seem to work at all?

    But, I did manage to speed it up quite a bit now by sending the full block in one chunk via USB.
    This also stops the drive from doing a "timeout", and retracting the heads after each block.

    Before, it was...

    Read a block.....Clunk!.....Read a block.....Clunk!.....Read a block.....Clunk!. lol

    Now, it doesn't clunk any more, as it's sending the data via USB a lot faster.

    Once I can find a decent serial terminal which doesn't screw up, it should take around 2 hours to capture the whole disk.

    Just to confirm, I ONLY have Mario Artist::paint Studio atm.

    I will be releasing the code very soon though, so Jimmy and others can at least get their disks backed up. ;)

    It's just a simple direct connection from the Arduino Due pins to the 64DD.
    It then needs 3V3 power from the Arduino, and an external 12V PSU for the 64DD motors etc.


    I'm hoping that by releasing the source, the C coding gurus will be able to sort out most of my dodgy code (like Calpis and others. ;) ).

    The Due board should actually be perfectly capable of grabbing the data at near full-speed. The code just needs more refinement.

    There are also a few other things to sort out - ie. I need to do some more captures of the real N64 transfers to see how it reads whole blocks.
    atm, I have to send new MSEQ data for every sector, then I upload each whole block via USB once done.

    I think the N64 usually does it a faster way, but haven't figured that part out yet.
    But again, as long as it can read the full disk reliably, who cares? :p

    btw, I take it linking directly to a 64DD disk image on here would be against the rules?
    Anyone know where I can upload Mario Artist once I have the full file? (I could just stick it on Mega tbh.)


    OzOnE.
    P.S. Found some rather groovy stuff in the data using LemAsm. :D

    [​IMG]
     
    Last edited: Jul 9, 2014
    Gilgamesh likes this.
  4. mspeter97

    mspeter97 Robust Member

    Joined:
    Feb 28, 2013
    Messages:
    219
    Likes Received:
    35
    that's the logo that shows up when a game starts I think.
     
  5. sayin999

    sayin999 Officer at Arms

    Joined:
    Mar 13, 2004
    Messages:
    3,408
    Likes Received:
    120
    It's good to see that there is this much progress. Might uncover a few surprises we weren't aware of.
     
  6. OzOnE

    OzOnE Site Supporter 2013

    Joined:
    Nov 10, 2011
    Messages:
    538
    Likes Received:
    173
    FISH!

    [​IMG]


    OK, I managed to read the first 30MB of Mario Artist, but then the drive stopped reading and the Arduino just spat out the same block over and over.

    This happened at around the half-way mark, so I thought it might be because I wasn't sending some data to switch the heads or something?
    But, if I manually seek to the same upper blocks, I can read them fine.

    I also realized that most disks are only using about half of the capacity for the actual ROM blocks, and that is also around 30MB for Mario Artist (pretty sure it's a type 1 disk?)
    Virtually all of the RAM blocks on this disk are blank. I don't think the previous owner played on Paint Studio very often. lol

    So what I really think is happening when it fails at the half-way point is that I'm leaving it WAY too long without sending a "drive recal" command, and the head is loosing it's position slightly.

    Just trying to rip the whole disk again anyway to try to see if it fails at the same point.

    If it does, I'll just send the drive recal command after every 500 blocks or so and see if that helps.

    OK, moving the technical part of the discussion back to the old "Getting a 64DD..." thread now, so as not to hijack Jimmy's thread about the SM64 disk. ;)

    OzOnE.
     
  7. Bobo Mcloud

    Bobo Mcloud Robust Member

    Joined:
    Jun 5, 2014
    Messages:
    233
    Likes Received:
    126
    amazing work mate, keep it up!
     
  8. artillery_ghosted

    artillery_ghosted Gutsy Member

    Joined:
    Jan 5, 2013
    Messages:
    486
    Likes Received:
    7
    this is really coming together!
     
  9. pool7

    pool7 Site Supporter 2014

    Joined:
    Mar 4, 2008
    Messages:
    1,279
    Likes Received:
    149
    Great work!
     
  10. MBMM

    MBMM Powered by Pied Piper

    Joined:
    Aug 19, 2013
    Messages:
    2,432
    Likes Received:
    400
    Definitely picking up speed. Super exciting, can't wait to see what comes about from this.
     
  11. Kao

    Kao Gutsy Member

    Joined:
    Dec 30, 2010
    Messages:
    458
    Likes Received:
    307
    Awesome work, OzOnE! Hopefully your work leads to getting this disk backed up!
     
  12. OzOnE

    OzOnE Site Supporter 2013

    Joined:
    Nov 10, 2011
    Messages:
    538
    Likes Received:
    173
    Thanks guys. :)

    It's been a long time figuring out this stuff, but I did abandon the FPGA version years ago 'cos I couldn't get it fully working.

    I just wanted to say that we couldn't have got this far without the help from guys like Kammedo, Marshall, Pinchy, jrra, Twili, Zoinkity, LuigiBlood, Darth64 and all you other guys on here (who's names I've forgotten. lol) giving me help / advice / motivation. ;)

    Oh, and especially Jimmy130 for getting hold of that amazing disk and finally giving me the kick I needed to get back into the ripping project. :D

    Again, there is absolutely no pressure, promise, or expectation that Jimmy will publicly release the SM64 image once ripped - it'll be completely up to him.
    I just wanted to help get this disk, and all the few other 64DD titles backed up and preserved somehow.

    btw, I want to leave this thread for discussion the specifics of the SM64 disk (if Jimmy so wishes).

    Please use the other thread for the ripping stuff now, guys and gals. ;)
    http://www.assemblergames.com/forum...it-for-emulation-research&p=759117#post759117

    OzOnE.
     
  13. Bobo Mcloud

    Bobo Mcloud Robust Member

    Joined:
    Jun 5, 2014
    Messages:
    233
    Likes Received:
    126
  14. Sonny_Jim

    Sonny_Jim Enthusiastic Member

    Joined:
    Apr 30, 2012
    Messages:
    525
    Likes Received:
    31
  15. Mooliecool

    Mooliecool Rapidly Rising Member

    Joined:
    Jul 29, 2013
    Messages:
    83
    Likes Received:
    7
    64DD emulation is near by I can taste it :)
     
  16. APE

    APE Site Supporter 2015

    Joined:
    Dec 5, 2005
    Messages:
    6,417
    Likes Received:
    141
    If need be I can lend you my copy of Mario Artist::paint Studio to do a checksum comparison too.
     
    Last edited: Jul 10, 2014
  17. Jimmy130

    Jimmy130 Active Member

    Joined:
    Jan 21, 2008
    Messages:
    47
    Likes Received:
    1
    Last edited: Jul 10, 2014
  18. Mooliecool

    Mooliecool Rapidly Rising Member

    Joined:
    Jul 29, 2013
    Messages:
    83
    Likes Received:
    7
    @OzOnE are you going to write on to disks anytime soon?
     
  19. OzOnE

    OzOnE Site Supporter 2013

    Joined:
    Nov 10, 2011
    Messages:
    538
    Likes Received:
    173
    Cool, thanks! :D

    I'm not sure how that is done regarding the MSEQ data yet.

    We know the command for writing, but it may need some extra MSEQ data too (looks like we also have that).

    But, that doesn't mean we'll be able to write a complete disk by any means - it's very likely the retail drives won't allow you to write to all of the ROM areas.
    There are different disk "types", and each type uses more ROM zones vs RAM zones. It may be possible to write to some of the "overlapping" ROM areas, I don't think the drive will allow much else.

    Not sure though, it might still be possible eventually, but may need some custom firmware for the internal MCU (which would be harder than ripping the disks. :( )

    I think I'll post the code tomorrow now, 'cos I want to check some other things first.

    OzOnE
     
  20. APE

    APE Site Supporter 2015

    Joined:
    Dec 5, 2005
    Messages:
    6,417
    Likes Received:
    141

Share This Page