{DOStodon}

Or how a C64 game turned into a MS-DOS Mastodon client.

Who am I

  • Goth and metalhead
  • Standard nerd
  • Gamer
  • Retro computer/console collector
  • Creative coder (wannabe)
  • IRL: Embedded software developer (medical devices)
  • Lets build a game for the C64
  • Damn, I neither know 6502 nor any HW specifics
  • Let's code on a different retro platform
  • DJGPP, Allegro are great
  • Oh wait, I need a game idea
  • Well, lets start with a framework
  • Oh, look, an embedded Javascript runtime
  • Escalation level > 9000

History (DOjS)

DOjS is a creative coding environment

for MS-DOS

2018

First research, deciding on DJGPP and Allegro

02/2019

First prototype going public

03/2019

Implementing the first version of the integrated editor at BCC demo party

2021

Added CURL and TLS support

2020

Reaching V1.0 and adding 3dfx acceleration

11/2022

Implemented first version of DOStodon

  • Runs on MS-DOS/FreeDOS/Win9x
  • Designed for Pentium class systems
  • ES2015 (Javascript)
  • Embedded editor
  • p5js compatible (sort of)
  • Plugins and packages
  • Full JSDoc
  • 32bit color space w/ alpha (VESA)
  • 2D graphics, Sound, Mouse, Keyboard, LPT and COM
  • File IO and ZIP support
  • 3dfx Voodoo HW acceleration through GLIDE3 or OpenGL

Features

  • Win 10
  • VSCode
  • Ubuntu on WSL2
  • DJGPP cross compiler
  • DOSBox-X and -staging
  • AMD K6-II 500, 64MiB RAM, SB64 AWE, 3dfx Voodoo 1
  • EtherDFS

Dev Stack

Demo DOjS

Simple Sketch

very simple sketch implemented in p5js running on OpenProcessing and DOjS

1.

2.

Native API

https://tixy.land/ implemented in DOjS native API

3.

HW accelerated 3D

Rotating cube with dynamic textures using GLIDE3 acceleration

First API contact

  • DOStodon is implemented in Javascript targeting DOjS
  • DOjS is implemented using DJGPP
  • It runs on CWSDPMI DOS extender
  • TCP/IP is done using builtin Watt32 + packet driver for the NIC
  • Plugins:
    • HTTPS is provided by CURL + mbedTLS
    • Image caching is done using SQLite3
    • PNG and JPEG support

Tech stack

MS-DOS

Packet driver
(TSR)

DOjS

PNG.DXE

JPG.DXE

CURL.DXE

SQLITE.DXE

DOStodon

CWSDPMI

  • People run it on VMs and real HW
  • Someone ported it to a 386sx w/ 9MiB RAM
  • Minimal viable HW: 486/100MHz, 16MiB RAM
  • Targeted for Pentium 133, 32MiB RAM

"Official" (retro) App

DOStodon

demo

Questions?

Try it

https://github.com/SuperIlu/DOStodon
https://github.com/SuperIlu/DOjS

Contact

@dec_hl@mastodon.social

DOjS Discord (see GitHub)

HOA23 DECT 4242

DOStodon

By ilu