A JavaScript programming environment and IDE for MS-DOS/FreeDOS with graphics, sound, and p5.js compatibility.
DOjS is a JavaScript programming environment and integrated development environment (IDE) for MS-DOS, FreeDOS, and DOS-based Windows systems. It enables creative coding with graphics, sound, and input handling, allowing developers to build visual applications and games on legacy hardware. It includes a p5.js compatibility mode for those familiar with the Processing ecosystem.
Developers and hobbyists interested in retro computing, creative coding on legacy systems, or educational projects targeting DOS environments. It's also suitable for artists exploring low-resource visual programming.
DOjS uniquely brings modern JavaScript development to DOS platforms with extensive multimedia support, hardware acceleration options, and a lightweight IDE, making it the go-to tool for DOS-based creative projects.
A MS-DOS Creative Coding IDE/platform based on JavaScript
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes a built-in editor with syntax highlighting and script execution, eliminating the need for external tools on DOS systems, as shown in the minimal script example.
Supports 2D graphics up to 32-bit, image formats like BMP and PNG, MIDI, WAV, and audio input, enabling rich creative projects on legacy hardware.
Offers a compatibility mode for p5.js syntax, easing the learning curve for developers familiar with Processing, as demonstrated in the examplp5.js example.
Provides direct I/O port access, IPX, TCP/IP networking via Watt32, and support for vintage hardware like 3dfx cards, unique to DOS environments.
Building from source requires DJGPP cross-compilation on Linux or WSL with multiple dependencies, making it inaccessible for casual users without technical expertise.
The integrated package manager (DPM) has a small repository with few packages, restricting access to modern JavaScript libraries and extensions.
Linux and Win32 versions are labeled as alpha and support only a subset of features, limiting cross-platform usability and reliability.