4x4 Evolution DC, adding BBA/LAN to a WinCE game.

Discussion in 'Sega Dreamcast Development and Research' started by FuzzyFish, May 14, 2014.

  1. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    Greetings Assembler Games,

    I'm currently running a project called the 4x4 Evolution Revival Project. Along with a small group it basically entails a lot of updates mostly geared towards the PC version of Evo 2, and the DC version of Evo 1.

    We are responsible for getting 4x4evolution.com and the server backend files back on line with the kind permission of Terminal Reality Inc. and with it brought back stock online support for the game a few days ago without having to change settings around. DC talk was extremely helpful in the early stages of the project, so as I favor (And being a huge DC fan myself) I want to look into getting BBA/LAN adapter support into this game for the next DC patch along with a host of new options such as an auto downloader, a version of the editor on PC that can produce full tracks for the DC version, and a whole bunch more.

    The main issue I've encountered is finding solid documentation in general regarding the HIT-300 & 400, support that was never in the WinCE SDK, and the lack of time for me to research it as most my free time that I do have on this project goes towards the PC version. Should someone come up with a code example getting either of these to work via WinCE I'll do my part to get it in the next DC patch.

    I only own a DC with an HIT-300 LAN adapter, so it makes troubleshooting a bit... special. However, if someone happened to have a working Katana setup in the South East US this would also be helpful once we are ready for that step.

    Website:
    http://www.4x4evolution.com
     
    Last edited: Aug 28, 2015
  2. Storm

    Storm Robust Member

    Joined:
    May 1, 2008
    Messages:
    228
    Likes Received:
    1
    I think you will have a hard time finding anyone that has used the BBA- and LAN-adapter from WinCE here. It's the least used of all devkits, after Katana, KOS and probably even libronin. Hopefully I'm wrong though.
     
  3. petterk

    petterk Spirited Member

    Joined:
    Dec 30, 2011
    Messages:
    137
    Likes Received:
    11
    I think it *should* be possible to create some kind of a loader that loads the bba drivers and connects + skip the whole dial-up program in 4x4 after a disc swap.

    There are documentation for the BBA/LAN devices in atleast the Katana devkit and possibly KallistiOS aswell.
     
  4. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    Correct, I don't believe anyone has used the BBA/LAN adapter with a WinCE application. However, I don't have the time to:
    A. Research/create a driver for it to function in WinCE based off of other libraries.
    B. Convert everything to work with KOS as I'm not certain there is enough interest to justify the effort, with our primary focus being on the advancement of the PC version of the game.
     
  5. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 12, 2007
    Messages:
    529
    Likes Received:
    246
    Unfortunately, what you're imagining is pretty much impossible without the source code to 4x4 Evolution.

    Given that the BBA and LAN adapters are so expensive in the first place, the best solution IMO for playing the remaining DC games online is to develop a low-cost dialup server device. One should be able to use a simple device like the Raspberry Pi model with ethernet and USB (running dialup server software), a USB 56k modem, and a telephone line simulator circuit to get online with a DC. I think there could be a small market for a device that has all of this integrated, which could be used to get many different vintage computers and game consoles online, not just the Dreamcast. For my purposes, I have a Broadband Adapter, a LAN Adapter, and a dialup server setup. (I may be DC-obsessed...)
     
  6. RaZiel

    RaZiel Enthusiastic Member

    Joined:
    Oct 30, 2008
    Messages:
    541
    Likes Received:
    85
    I'm willing to loan one of my three hit-400 adapters for testing if needed.
     
  7. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    Who said I was imagining, or that this is impossible. Perhaps you should take a look at our developer blog. ;)

    The only reason I'm looking into this is that I have a HIT-300, and that DCtalk was absolutely invaluable in the initial research that resulted in this project happening. Figured I would repay their kindness by adding this for the 3rd DC patch, before our Evo 2 updates get a bit too far along. And in preparation for an editor release that can generate full DC track files.
     
  8. wombat

    wombat SEGA!

    Joined:
    Mar 14, 2004
    Messages:
    2,671
    Likes Received:
    319
    Unfortunately I don't have any knowledge how to make something like this possible, however I do want to salute and thank you for your continued efforts on getting the maximum out of 4x4 for Dreamcast! It would be really really REALLY awesome if you are able to get the BBA working, this would make it so much easier for others to also play the game online!
     
  9. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 12, 2007
    Messages:
    529
    Likes Received:
    246

    link? if the site you linked to in your OP is the developer blog, it doesn't mention anything related to the BBA/LAN support other than "Did some more Dreamcast research, unless someone finds a library to add BBA/LAN support or made one that works with WinCE. This will likely not be added, as I just don't have the time or hardware to dedicate towards figuring it out. :(" which kind of confirms what I said above?


    I'm not saying your 4x4 Evo project in general is impossible or even unlikely (after all, there are already two titles the DC community has brought back online by re-writing server software), but it's extremely unlikely you'll do anything involving BBA/LAN adapter support without first getting the source code to 4x4 Evolution for Dreamcast. Then, you'll need to write a BBA/LAN adapter driver for WinCE, which isn't too hard considering you can probably just read the source code for KallistiOS's BBA/LAN drivers and port it over for WinCE. Then you can add a few tweaks to the source code of 4x4 Evo to take advantage of the ethernet functionality, then recompile the code against the new WinCE SDK with BBA/LAN adapter support.


    It's definitely feasible if you have the source code, but if you don't, I don't think anyone can add or hack this in. It's way too complicated of a hack without recompiling. If you or anyone else can show me another way, that would be fantastic; I think what you're doing is great and I want to see you succeed. But I think the community would be way better served if someone instead spent the time looking into a cheap dialup server adapter device.

    Edit: Seriously, here's a line simulator schematic, which looks complicated, but the components are all cheap. Find someone who's good with circuit design and have them design this onto a PCB, bundle it with a Raspberry Pi running a custom distro that has a dialup server preconfigured, and bundle it with use a USB 56k modem, and you will have a sub-$100 device that's capable of supporting all Dreamcast games (as well as other consoles and vintage computers). It could even have built-in DNS redirection so that it can connect to PSO, Planet Ring, and the other games that require patching (Maximum Pool?).

    I understand it isn't your intention to start up a hardware business, and I'm not expecting you to, haha. But I think there's a decent enough demand for such a device that it would be worthwhile for someone out there to invest their time into it.
     
    Last edited: May 18, 2014
  10. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    While I'd love to have a plug in device that could conveniently emulate an analog phone line signal and translate it to a standard TCP/IP connection over Ethernet. That just isn't our intent, our focus is executable/content updates to the 4x4 Evo series of games. I can't discuss what we do/don't have but it's entirely feasible and very likely. All we need is someone to port those drivers, and provide working example code of a TCP/UDP connection using the WinCE SDK to complete this aspect.
     
    Last edited: May 18, 2014
  11. Storm

    Storm Robust Member

    Joined:
    May 1, 2008
    Messages:
    228
    Likes Received:
    1
    So if some REALLY wanted to do it here how I'd do it: Write a shim that takes the modem API calls in, ignores the hell out of all parameters and then establishes a BBA TCP/IP connection based on an internal set of hardcoded parameters. As long as the shim obeys WinCEs calling conventions the actual network layer can be written in whatever toolkit you like as long as it doesn't need it's own main loop to keep things running.

    That shim/emulation layer can be developed and tested completely without access to the game source, and when you are done it's "just" matter of binary patching the WinCE library call table in the game. But make sure to decompile enough of the game to KNOW which parts of the API it uses first.

    It's a lot of work for limited payback, but more power to whoever wants to do it.
     
  12. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    That would be insanely more difficult to do, and a lot of unnecessary work. I realize that it's hard to believe that I'm not just some mindless newbie script kiddie that thinks something like this can be added at a whim, especially considering my single digit post count. We honestly have no/little intent of playing this on the DC as the PC version is more capable, and a lot of our work is actually focused towards the PC sequel. However we have the opportunity to add this the correct way, along with a majority of the PC improvements that we have worked on to date (Within the limited RAM available), and some of the features from the sequel.
     
  13. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,121
    Likes Received:
    48
    FuzzyFish: I'm sorry I'm cannot help but I'd like to express my gratitude about your efforts. It's such a shame that the second game weren't released on the DC.
     
  14. Bob Dobbs

    Bob Dobbs Newly Registered

    Joined:
    May 23, 2014
    Messages:
    1
    Likes Received:
    0
    The PC version has the Dreamcast BBA code for some reason. Please look for that.
     
  15. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    This sounds extraordinarly unlikely as it's derived from 4x4 Evo PC build 44 (initial retail release) and Evo 2 does not add much more in the way of netcode especially on the DC side as BBA/LAN adapter support is not part of the WinCE SDK. While I am not entirely dismissing your claim, it does sound far fetched. Do you have a source/reference for this
     
  16. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    I received your PM. Whomever gave you that information was incorrect, there is nothing there that handles BBA or LAN adapters on the DC for this game currently. If someone ports the KOS LAN drivers over to WinCE, I could make it happen. I likely won't be able do this myself until much later on due to time constraints working on the PC version, and real-life commitments.
     
    Anthony817 likes this.
  17. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,121
    Likes Received:
    48
    I'd love to see this happening, it could open doors for future games mods.
     
  18. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    It will happen, if I have to port them myself later rather than sooner so be it. Once Evo2 PC is where it needs to be and 4x4evolution.com is sorted. I will go back to working on the DC version. Sadly, I can't see this helping any other game.
     
  19. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,121
    Likes Received:
    48
    Well if there's a way to patch 4x4's modem calls to bba calls that could help to exploit the same method in others games.
     
  20. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    This being usable on other games is like saying you can pull parts out of Quake 3, or PSO and make the BBA work on other games. If that was even remotely feasible it would have been done. As darcagn said above that would be near impossible without having the source code. This will not be an exploit, and that is even if I get the time to dedicate to it. Debugging with the WinCE SDK without a devkit or serial cable for output has been... special.
     
    Last edited: Jun 5, 2014
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page