don't click here

Super Magic Drive research thread

Discussion in 'General Sega Discussion' started by LocalH, Dec 18, 2009.

  1. LocalH

    LocalH

    roxoring your soxors Tech Member
    In a quest to get a working MS-DOS setup for my SMD800, I came across a few interesting things, and a need for a tool that I cannot find.

    First of all, does anyone have a copy of Charles MacDonald's SMDUTIL? The link on his website is 404, and I can not find it anywhere (have done about two solid hours of Google scouring). I need it to dump my unit's BIOS, which reports onscreen to be v3.3 from 1992, and I have not seen any dumps of this version yet. I'd especially like to look inside it for an internal build date.

    While searching for any information or tools, I came across five other BIOS dumps (although one isn't technically a "dump", more on this later):

    * v3, 1991, available on the wiki, internal date 8/17/91
    * v3.1, 1991, available as part of "mdutils.zip" found here (see below), internal date 11/4/91
    * v3.1g, 1992, available on the wiki, no internal date
    * v4.1a, 1993, available on the wiki, "93-12-07" (ambigious M/D ordering but based on v3 I will call it Dec 7, 1993)
    * Magic Drive Plus BIOS, 1993, no internal date, no reference to either JSI or FFE, also includes anti-piracy message, available here

    The 11/4/91 v3.1 version is quite interesting, as rather than being just a regular dump, it's a file of length $4200 (16896). In this file, it looks like the actual ROM begins at offset $1E00, and mirrors at $3E00 until the end of the file ($41FF). Within mdutils.zip, there is a "README!.MD" file which describes this file:

    Code (Text):
    1. MDOS31.PGM
    2. ==========
    3.  
    4. LOADS ON MEGADRIVE INSTEAD OF GAME
    5.  
    6. LATEST DOS 3.1, FULL VERSION.
    7.  
    8. ALLOWS YOU TO LOAD AND SAVE FILES TO RAM (IE.  LOAD A FILE BUT *NOT RUN*, THEN
    9. SAVE TO ANOTHER DISK)
    This seems to be pointing towards the "DOS can be updated by disk (ala Kickstart image files)" feature listed on the wiki. My question is, has anyone ever found any other such upgrade files, and also has anyone ever taken a look to find out exactly how this type of upgrade works, such that one could upgrade their own unit to one of the other BIOS dumps available? I'd try merely replacing the 8K of data at $1E00 but I don't want to take a chance at bricking my unit. I don't have IDA installed right now so I can't check to see if there is any 68k code in there that would trigger the upgrade process once the data has been loaded into DRAM. It almost looks like there might be a speck of 68k in there at $0200, but I don't know enough about either the Z80 or the SMD's internal workings to make an educated guess.
     
  2. LocalH

    LocalH

    roxoring your soxors Tech Member
    Hm, the more I look at this, the more I think this just loads the "upgrade" into RAM temporarily, rather than doing any sort of permanent upgrade. Here's the entirety of the code at $0200, before a shitton of FF bytes and the actual ROM:

    Code (Text):
    1. ROM:0000                 ld      hl, 0A000h
    2. ROM:0003                 ld      de, 0C000h
    3. ROM:0006                 ld      bc, 2000h
    4. ROM:0009                 ldir
    5. ROM:000B                 jp      0C020h
    According to what I have been able to find, this type of file is actually what would be considered an SMD file containing Z80 code (hence why it's not interleaved), and the byte at $02 denotes that it's a BIOS program to load at $8000. That code just copies $2000 bytes from $A000-$BFFF to $C000-$DFFF, which correspond to the $2000 bytes at offset $2200 (surprisingly from this, the bytes from $1E00 to $21FF seem to be the duplication, and the ones at $3E00 seem to be the ones that boot code actually uses). This makes me think that it won't be so easy to try to use these other dumps in this upgrade fashion.
     
  3. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,218
    965
    93
    Long-term happiness
    By 11/4/91 do you mean 11th of April or 4th of November? You can never be sure when you're talking to an American about dates and one of the numbers isn't above 12 =P

    As for the approach they're using for the "updates" - quite an interesting approach. I suppose flash ROM would have been prohivitably expensive (if non-existent?) at this time.
     
  4. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    There is a 8/17/91 right above, I'd say it's 4th of November.
     
  5. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,218
    965
    93
    Long-term happiness
    Fair enough. I missed that =P



    Why can't everyone use yyyy/mm/dd =|
     
  6. Sappharad

    Sappharad

    Oldbie
    1,413
    70
    28
    Have you tried e-mailing him asking for it?
    I haven't sent him an e-mail in 4 years, but the last time I did he was very quick to reply.
     
  7. LocalH

    LocalH

    roxoring your soxors Tech Member
    Yes, I have. He said he'd try to find it when he could get around to it. I just wanted to see if anyone else had it handy before he could look for it, then I could also send it to him if he wanted to upload it again.

    He was quite quick to reply, too. I e-mailed him through his website's feedback form and he had got back to me within 20-30 minutes.

    I tried uploading MDOS31.PGM to my SMD and it failed to function, instead hard-crashing the system and requiring a power cycle. Could be because it's a newer version that may not support upgrades in the same fashion?
     
  8. LocalH

    LocalH

    roxoring your soxors Tech Member
    Ok, Charles got in touch with me and sent me his smdutil, and I dumped my unit's BIOS. Here's the binary.

    In the ROM is the following text:

    Code (Text):
    1. *** MAGIC DOS V4 *** PRODUCT MANAGER: LMM, DEBUG ENGINEER: JUS, BIOS PROGRAMMER: JSI, ALL RIGHTS RESERVED,
    2. COPYRIGHT 1992 BY JSI, CHINA COACH COMPANY LTD., FRONT FAREAST CORPORATION. 10/26/92
    10/26/92, but what's this? It identifies here as V4? On screen it identifies at v3.3:

    Code (Text):
    1. MAGIC DOS V-3.3
    Weird. Anyway, feel free to spread this ROM as far as you want, just make sure it's credited as coming from my unit (it's kind of nice to see your handle associated with the release of relatively uncommon dumps like these =P).