VOGONS


First post, by SuperIlu

User metadata
Rank Newbie
Rank
Newbie

Hi,

my pet project DOjS went V1.0 today.
It is a Javascript runtime for MS-DOS with integrated editor, 2D/3D drawing, sound, midi, joystick, etc support.
It supports 3dfx Voodoo cards for 3D rendering.

Please see the project page on GitHub for binaries, source code and more details.
Some features:

  • 8/16/24 and 32 bit 2D graphics. On >=24bit display modes alpha channel transparency is available.
  • Keyboard input
  • Mouse input
  • Joystick/Joyport input
  • File IO
  • MIDI output
  • WAV output
  • Audio input/sampling
  • Allegro 3D rendering (software)
  • 3dfx/Glide3 3D rendering output (hardware)
  • p5js compatibility
  • direct io-port access

Cheers
Ilu

http://twitter.com/dec_hl - Four 8086 have 64bit as well!

Reply 1 of 6, by xjas

User metadata
Rank l33t
Rank
l33t

Woah, that's really cool. I might keep this in mind for my next game jam.
Is it possible to compile standalone binaries from Javascript programs with this? I know that's not really what JS is "for", but it'd be neat to be able to do. 😀

Nice work though!

twitch.tv/oldskooljay - playing the obscure, forgotten & weird - most Tuesdays & Thursdays @ 6:30 PM PDT. Bonus streams elsewhen!

Reply 2 of 6, by SuperIlu

User metadata
Rank Newbie
Rank
Newbie

Hi xjas,

no, sorry, the scripts are not compiled but interpreted.
But you can create a BAT file which invokes DOjS with the right parameters to run a given script without showing the editor.

cheers Ilu

http://twitter.com/dec_hl - Four 8086 have 64bit as well!

Reply 3 of 6, by SuperIlu

User metadata
Rank Newbie
Rank
Newbie

I release V1.1.0 yesterday.

  • Improved MIDI support
  • Added COM port access
  • Added LPT port access

Grab the binaries while they are still hot...
https://github.com/SuperIlu/DOjS

http://twitter.com/dec_hl - Four 8086 have 64bit as well!

Reply 4 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you! 🙂👍

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 6, by SuperIlu

User metadata
Rank Newbie
Rank
Newbie

New release of DOjS on https://github.com/SuperIlu/DOjS/releases

Version 1.2.0 (Watt is that?)

  • Added TCP/IP support through WATT32.
  • Fixed bug where text mode was not restored after exiting DOjS
  • Added File.GetSize(), File.WriteBytes() and File.ReadBytes()
  • Added fixnewlines target to Makefile.
  • Updated syntax highlighting file.
  • Switched JSDoc documentation to better-docs
  • Improved editor
    • Quoted strings are now GREEN
    • The cursor positioning at the end of line is more usable.
    • 50-line mode can now be selected on the command line
    • Fixed CTRL-L/Go to line
  • Fixed bugs in p5js compatibility layer
    • endShape() polygon drawing
    • lerpColor()
  • Cleaned up startup messages in logfile.
  • Re-added PNG loading/writing

http://twitter.com/dec_hl - Four 8086 have 64bit as well!

Reply 6 of 6, by SuperIlu

User metadata
Rank Newbie
Rank
Newbie

New V1.4.0 release of DOjS

TL;DR

  • ZIP file access
  • Loadable module support
  • Raw read/write of HDD/FDD sectors
  • cURL/TLS support

https://github.com/SuperIlu/DOjS/releases/tag/v1.40

Version 1.4.0 (The curly conglomerate)

  • Replaced loadpng+libpng by alpng to reduce EXE size.
  • Added fast integer array class IntArray
  • Added ReadInts() and WriteInts() to File, Zip and Socket to speed up data IO.
  • Improved type checking for parameters.
  • Added cURL and OpenSSL support.
  • FIXED: memory leak in editor
  • FIXED: editor crashed when deleting selected text
  • Added loadable module support during runtime
  • IPX, PNG, Allegro3D, COMPort and cURL are loadable modules now

Version 1.3.0 (The ZIPpy serving)

  • Added ZIP file access through Zip() class
  • Added StringToBytes() and BytesToString()
  • Added file name to stack trace for files loaded by Include() and Require()
  • Added loading of images, fonts, samples, midi files and scripts from ZIP files
  • JSBOOT/ can now be replaced by JSBOOT.ZIP
  • Added autostart feature for ZIP files
  • Added more fonts from Linux Font Project
  • Fixed crash in context help
  • Added ReadZIP(), Rename(), MakeDir(), RmDir() and RmFile()
  • Internal cleanup and removed some duplicate code
  • Fixed bug in DrawArray() and new Bitmap()
  • Fixed memory allocation bug where CWSDPMI and MuJS started to use virtual memory because of missing GCs.
  • Added raw disk access through RawRead() and RawWrite() (and other functions)
  • Fixed problems with the Makefile and filenames which only happened for fresh checkouts on case sensitive file systems.
  • Updated build instructions
  • Fixed ReadBytes() in socket.c
  • Renamed fxGetMemoryTMU() to fxGetMemoryTmu()

http://twitter.com/dec_hl - Four 8086 have 64bit as well!