Image Map Image Map
Results 1 to 7 of 7

Thread: Coding for DOS with an eye towards multiplatform options

  1. #1
    Join Date
    Jul 2015
    Location
    Vancouver Island
    Posts
    287

    Default Coding for DOS with an eye towards multiplatform options

    So as the title says... I want to do some more hobby coding projects. My main stomping grounds for such things is DOS, and I don't want to give that up, but I definitely want to get into other platforms too. The obvious "next step" would be Win95/98 but I'm thinking more along the lines of Wii / original Xbox / PowerPC Mac (/ 3DO??), and of course my daily driver PCs all run Linux. I tend to jump around from thing to thing.

    What's a good way to go about doing this?

    I'm not really an expert so I can't see re-writing low-level ASM sound & graphics code for every single system, plus there's interacting with the OS to deal with. SDL1.2 seems like it would be a surprisingly good choice, but rules out easy support for DOS.

    Also it should be noted for DOS I'd be targetting (roughly) Pentium+ or K6 / Athlon with lots of RAM, not 8088+CGA, so there's some breathing room to play with higher level libraries.

    I think the next big project I start will likely be in C (not ++), although I'm open to other languages too. I like Python but don't think it's practical for this kind of use. RapidEuphoria / OpenEuphoria are also interesting.

    Just looking for some general pointers in the right direction.
    Last edited by xjas; July 5th, 2018 at 04:00 PM.

  2. #2

    Default

    What are you wanting to code?

  3. #3
    Join Date
    Jul 2015
    Location
    Vancouver Island
    Posts
    287

    Default

    Mostly little indie games & demoscene / art stuff, things with sound and graphics.

  4. #4

    Default

    Not sure what platforms are supported offhand, but perhaps Allegro might be a good one to look at. If it doesn't support everything you want then your best bet might be to have your code be able to target both SDL and Allegro by means of a small abstraction layer that can be switched between the two.

  5. #5

    Default

    Yeah, Allegro is probably the closest thing to a one-stop multi-platform library for systems of that vintage - that said, I've never looked into it too closely beyond protected-mode DOS. I suspect that if you really want to target multiple vintage platforms in something close to an interchangeable fashion, you'll have just as much luck developing a generic engine/abstraction layer suited to the common factors of your intended application and/or game and re-writing the OS-specific bits as needed.
    Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
    Synthesizers: Roland JX-10/SH-09/MT-32/D-50, Yamaha DX7-II/V50/TX7/TG33/FB-01, Korg MS-20 Mini/ARP Odyssey/DW-8000/X5DR, Ensoniq SQ-80, E-mu Proteus/2, Moog Satellite, Oberheim SEM
    "'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup

  6. #6

    Default

    Honestly if I were working on something that I cared about multi-platform whilst still writing for legacy DOS, I'd just write for legacy DOS then distribute on other platforms with DOSBox. There's simply too much difference between modern and legacy platforms to really think about it in other terms.
    Last edited by deathshadow; July 9th, 2018 at 10:29 PM.
    From time to time the accessibility of a website must be refreshed with the blood of owners and designers. It is its natural manure.
    CUTCODEDOWN.COM

  7. #7

    Default

    What about FORTRAN? It has compiler support for modern h/w to this day. Everything runs FORTRAN. Do you see the light now?
    Last edited by 2icebitn; July 9th, 2018 at 11:14 PM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •