don't click here

Puggsy's SRAM-based copy-protection thang

Discussion in 'General Sega Discussion' started by MarzSyndrome, Jun 23, 2012.

  1. I think you underestimate the time and effort required for such a task.
     
  2. Travelsonic

    Travelsonic

    Member
    827
    20
    18
    One could argue the other overestimates, or underestimates, but until we try looking, how do we know either way, especially since we have information with which we can go into this knowing what to look for.
     
  3. dsrb

    dsrb

    Member
    3,149
    0
    16
    Well, on you go then. Wade through those ten thousand or so lines of uncommented and completely nondescript Z80 operands and let us know if anything jumps out at you immediately.
     
  4. Travelsonic

    Travelsonic

    Member
    827
    20
    18
    Um,... saying it isn't as difficult as people make it out to be != some statement of volunteering.

    Still it is a curious venture, if I explore this*, I'll be using the IDA Pro disassembler, which actually not only formats the code to some degree, but provides a graph showing the flow of the procedures. Using that will make things a lot easier than not using IDA pro, which s still easier than using no disassembler.

    Remember, Comp. Sci major here, I enjoy sifting through assembly files.

    *meaning,I'm balancing a most-time job, moderating a gmod server, and a lot of other things, including an attempt to wade through MIPS disassemblies of Dane Dance Revolution games, and discover how those games work - a venture gaining some support from people I know on other DDR/ITG2/PIU game sites.
     
  5. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    I already disassembled Puggsy and was going to put up the locations of the checks but I couldn't figure out a way to word it. It's locked on my broken Windows parittion which I'm repairing so I can't get it out right now, but I know that Puggsy disassembles to one giant blob of code with few/no jump tables, which helps. As for the sound driver, I highly doubt they did any checks there, considering how restricted the Z80's access to the Mega Drive hardware is.
     
  6. Travelsonic

    Travelsonic

    Member
    827
    20
    18
    In your opinion, how difficult do you feel it would be to disable the checks outright - even if modifying the function itself to behave differently? [since after the first boss, when you enter any stage after that is when the game checks - it seems it would be easier to modify the function themselves instead of messing with each individual jump to the function]
     
  7. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    Not hard; I think it can be done in two bytes, assuming the game doesn't pull a fast one on us. I'll check later, but yes, this is something that should be addressed in the emulator itself...
     
  8. Travelsonic

    Travelsonic

    Member
    827
    20
    18

    If only I could get a look - IDA Pro is not cooperating with my attempt to disassemble 68k based games - ugh.
     
  9. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    How are you using it?
     
  10. MooMoo

    MooMoo

    Leader Bean Member
    Anyone else notice that the music on the second "video" in this is from Lemmings? I find that strange since I just read about how Psygnosis bought Puggsy's rights off Dionysus, who, to my knowledge don't have anything to do with lemmings, unlike Psygnosis as we know. Anyone got an explanation for that?

    Also just been playing Puggsy. It's definitely easier now that I'm older, but it's still 10% fun, 90% FUUUUUU.
     
  11. Vangar

    Vangar

    Member
    3,654
    62
    28
    1) It's probably a common tune, Lemmings uses a lot of really old public domain tunes
    2) It could have been a ripped MOD file just used to add music to the demo. MOD files were really common to get on the Amiga.
     
  12. Travelsonic

    Travelsonic

    Member
    827
    20
    18
    Well, I load the ROM - and set the processor to the Motorola 68k - not changing any of the other settings. All I get is a short stream of dc.b operations.

    I do similar with the PS2 game SLUS, SLPM files - set it to MIPS 5600 processor and not change any of the other settings, and I get a disassembly that is editable and document-able.

    . _________________________________________________________ .
     
  13. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    IDA can examine PS2 binaries because they're fully self-describing ELF binaries. IDA is not so smart with 68000 boot ROMs like Genesis ROMs (it's expecting an executable file for a 68000-based computer like classic Mac, Amiga, Palm Pilot, etc.), so you have to manually disassemble them. The longword offsets you need to make are
    $4 - start
    $70 - H blank
    $78 - V blank
    $0 is the starting stack pointer and all the other longwords up to $100 are (in most cases) error traps.
     
  14. Mentski

    Mentski

    Pff. Member
    221
    23
    18
    Parts Unknown
    Being a mysterious face.
    The guy that wrote the music for Puggs in Space, Tim Wright, ended up working for Psygnosis and reused the tune.
     
  15. MooMoo

    MooMoo

    Leader Bean Member
    While this topic is around, I don't suppose anyone knows where I can get the soundtrack for the MD/Gen version? I checked FFshrine, and they don't appear to have it, so I made a request, but if anyone here has it in the meantime, Id really appreciate it. :)
     
  16. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,240
    972
    93
    Long-term happiness
    http://project2612.org/details.php?id=183

    You'll need a VGZ compatible player to play them - foobar2000 has the plugins available to do this, as does Winamp if you must use a worse player =P
     
  17. Mr. Ksoft

    Mr. Ksoft

    Member
    Tim Wright composed the music for Puggs in Space. He also composed/arranged the music for Lemmings, so he probably just decided to reuse it.

    edit: Somehow I missed the post above me that already answered this yesterday. I feel stupid now.
     
  18. dsrb

    dsrb

    Member
    3,149
    0
    16
    Andlabs:
    Purely out of idle curiousity (and to drag the thread back on-topic :P), did you ever find out anything more about this?
     
  19. MooMoo

    MooMoo

    Leader Bean Member
    Awesome, thanks. :) I guess I'll have to play them on Audio Overload for now until I can be bothered converting them one by one...after working out the total length in seconds :psyduck: Such an awkward converter.
     
  20. dsrb

    dsrb

    Member
    3,149
    0
    16
    No, foo_gep will automatically fade-out after a number of loops set by you, and this applies just as well to tracks that you send to the Converter. I converted Hellfire's soundtrack recently using the default setting of one loop (a.k.a. two repeats), and everything was A-OK.