Compiling and running Katana SDK applications without a devkit

Discussion in 'Sega Dreamcast Development and Research' started by kazade, Dec 18, 2015.

  1. kazade

    kazade Spirited Member

    Joined:
    Jul 22, 2015
    Messages:
    155
    Likes Received:
    164
    So, here's the situation. I'm trying to reverse engineer the Dream Arena authentication system. I have a TCP server running which games successfully connect to, but they wait for an immediate response and I need to work out what to send back.

    What I would like to do is write a test app with the SDK which tries to authenticate with my server repeatedly so I can rapidly test different responses. So what I'd like to do is be able to write, compile and run this client program from Windows (or Linux) without involving any Dreamcast hardware.

    Now, obviously the SDK is compiled for SH4, so the "running" part of this is going to require an emulator with dial-up modem / broadband adapter support. I'm not sure such a thing exists. So my questions are:
    1. If I install the SDK on Windows, does that provide everything I need to compile the built-in sample apps?
    2. Once I have those apps compiled, is there an emulator that can run them which supports networking?
    3. How do I launch such an emulator so that it just runs my sample program? Do I need to generate a CDI/GDI? Does the SDK do that automatically?
     
  2. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,033
    Likes Received:
    891
    The sdk does allons you to crosscompile sh4 on i386 architecture. I dont even think it includes a native sh4 compiler. Even back then, the DC was kinda low powered compared with expensive dev rigs.

    I think there are modem plugins for nullDC, I dunno how advanced they are though.

    IIRC nulldc can load elf/BIN files directly. Else you can build cdi easily using cdi4dc. Ofc this is not supported in the sdk, as milcd is an exploit of the bootstraps.
     
  3. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,121
    Likes Received:
    48
    Demul emulates the BBA already (using a tap interface as bridge). Wasn't the DreamArena auth already broken? We are able to play Toy Racer online nowadays.
     
  4. kazade

    kazade Spirited Member

    Joined:
    Jul 22, 2015
    Messages:
    155
    Likes Received:
    164
    Only over BBA, Toy Racer doesn't work over dial up because of auth. Neither does PAL Quake 3. I'll have a play with the sdk, thanks!
     
  5. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,033
    Likes Received:
    891
    It might also be worth looking into Kalistios if the SDK isn't up to your expectations.
     
  6. kazade

    kazade Spirited Member

    Joined:
    Jul 22, 2015
    Messages:
    155
    Likes Received:
    164
    I need to check the responses of the authent.lib functions in the SDK. Which don't exist in KallistiOS :)
     
    -=FamilyGuy=- likes this.
  7. Dreamcast

    Dreamcast Intrepid Member

    Joined:
    Jul 17, 2007
    Messages:
    619
    Likes Received:
    35
    Dream Arena has already been reverse engineered. I will release the server as soon as I can.

    If I remember correctly, the problem I was looking to fix is that a dial-in server has to provide some information, so commercial ISP connections won't work.
     
    Last edited: Dec 18, 2015
  8. kazade

    kazade Spirited Member

    Joined:
    Jul 22, 2015
    Messages:
    155
    Likes Received:
    164
    Wow really?! Can you share any more information about the protocol? Will you open source the server? I have hosting if you need it - this is the missing piece to get all games working with the Dreampi software :)
     
  9. Dreamcast

    Dreamcast Intrepid Member

    Joined:
    Jul 17, 2007
    Messages:
    619
    Likes Received:
    35
    I will have to look up the project to remember where I left off with it. Q3 and Toy Racer have been tested with it. As with all of the servers I've created, it's entirely open source. I have a site I'm releasing this server and the others through, but thank you for the offer :).
     
    TerdFerguson likes this.
  10. kazade

    kazade Spirited Member

    Joined:
    Jul 22, 2015
    Messages:
    155
    Likes Received:
    164
    Awesome! Out of interest, how did you go about reverse engineering it?
     
  11. Dreamcast

    Dreamcast Intrepid Member

    Joined:
    Jul 17, 2007
    Messages:
    619
    Likes Received:
    35
    I found the sample server that was supposed to be included in the official SDK. I also had the same idea that the Peter Pan reference had to be some sort of identifier for packets, and it is. While it's possible it could have been figured out without the sample server through trial and error, having the sample server definitely made it a lot easier to determine the protocol's full functionality.
     
    TerdFerguson likes this.
  12. kazade

    kazade Spirited Member

    Joined:
    Jul 22, 2015
    Messages:
    155
    Likes Received:
    164
    Hah! I knew it! I have the full list of commands I just didn't know in what format to send them! A sample server definitely makes things easier!
     
    TerdFerguson likes this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page