open-watcom-v2
Retro68
open-watcom-v2 | Retro68 | |
---|---|---|
23 | 8 | |
921 | 524 | |
2.6% | - | |
9.9 | 8.5 | |
1 day ago | 6 days ago | |
C | ||
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
open-watcom-v2
-
Djgpp
https://github.com/open-watcom/open-watcom-v2
In terms of ISO-complianceness, perhaps don't expect much. It basically C89 (the C99 support is still incomplete), and for C++... most likely not even C++98 - compliant.
-
Popularity of DOS/4GW made Win95 game compat easier, but with higher stakes
> You will also want to start with a 16-bit C compiler like Borland Turbo C or Microsoft C
The parent post mentioned they're going to use OpenWatcom which is an actively developed[0] C and C++ compiler that targets 16bit DOS (among others).
[0] https://github.com/open-watcom/open-watcom-v2
-
#pragma once / header guards / C++ committee.
Despite the lack of feature support, the compiler is still updated to this day, and still does support DOS, Windows, Linux, and OS/2, so it's modern in the sense of maintenance, just not really standards support. If you got further questions, I can send you the Discord link. They are pretty friendly.
-
Rust is Boring
My advice is, when you feel you need that challenge, install DOSBox or DOSBox-X and Open Watcom C/C++, DJGPP, or gcc-ia16 and do some retro-programming. You'll also get the fun of being able to do low-level hardware twiddling and rely on DOS being so simple that it's effectively an RTOS.
-
Build C/C++ programs to run on homebrew 286?
If you want to build under Linux, I would recommend you look at Open Watcom. It's the best open source 16-bit x86 C compiler, IMHO.
-
"My Reaction to Dr. Stroustrup’s Recent Memory Safety Comments"
I have recently found out that Watcom C still exists. And not just exists, but there are plenty of commits.
-
Win16 Retro Development
I should note, that OpenWatcom 2.0[1] is far better for supporting more recent C and C++ code, modern hosts and tooling, but still able to compile into 16 bit code. It is also actively maintained. Instead of MASM I recommend JWasm[2] + Jwlink[3]. Back in time I did a fork[4] of JWasm that has cleaner build system (CMake).
[1] https://github.com/open-watcom/open-watcom-v2
[2] https://github.com/Baron-von-Riedesel/JWasm
[3] https://github.com/JWasm/JWlink
[4] https://github.com/JWasm/JWasm
-
Rendering like it's 1996 - Baby's first pixel
If you want to run this in DOS: the code under src/should actually compile with this OpenWatcom fork via the -za99 flag. MiniFB however will not compile. You'd have to palettize the output pixel buffer to 256 colors and then blit it to 0xa000if you fancy that.
-
Falsehoods programmers believe about undefined behavior
GCC, clang or maybe watcom? You wouldn't find it there (before invention of AGI, but that would be entirely different can of worms).
- Having trouble setting up whonix on Mac OS
Retro68
-
Like the macOS Dock but for macOS System 7
If you can live with cross-compiling from a modern PC (or Mac) you can use https://github.com/autc04/Retro68 which uses a recent version of GCC.
-
Rust is Boring
Alternatively, you could install Executor 2000 (sort of a Wine-like clean-room reimplementation of Macintosh System 6 for running on other OSes) and get into classic MacOS programming using the GCC-based Retro68 C++-17 toolchain.
-
Writing and Running a BBS on a Macintosh Plus
Strongly recommend checking out Retro68 and cross compiling from a newer machine: https://github.com/autc04/Retro68
There are some really good Retro68 code examples out there as well. I started compiling a list here, including a couple of my own: https://henlin.net/2021/12/21/Cool-Retro68-projects/
As a few other folks have said, the inside Macintosh books are extremely valuable references for Mac-specific code. I keep pdfs of them open the whole time I’m working on my Macintosh projects.
- Flood-It game for Mac OS 9 – Released in 2021
- My website - Foray into 68000 (System 6 game programming)
-
Cy384/ssheven: A modern SSH client for Mac OS 7/8/9
if you want to go period-appropriate, you can run Macintosh Programmer's Workshop or CodeWarrior natively
I use retro68 on linux, which is a modern GCC toolchain, so it's just like developing any other C/C++ (well, without some nice debugging tools, and with the added complexity of the mac OS resource stuff)
https://github.com/autc04/Retro68/
-
Stupid Idea to Stream Video on a Macintosh Plus
personally, I think retro68 (port of modern GCC for vintage macs) is way nicer to use than any period-correct compilers or IDEs.
What are some alternatives?
gcc-ia16 - Fork of Lambertsen & Jenner (& al.)'s IA-16 (Intel 16-bit x86) port of GNU compilers ― added far pointers & more • use https://github.com/tkchia/build-ia16 to build • Ubuntu binaries at https://launchpad.net/%7Etkchia/+archive/ubuntu/build-ia16/ • DJGPP/MS-DOS binaries at https://gitlab.com/tkchia/build-ia16/-/releases • mirror of https://gitlab.com/tkchia/gcc-ia16
cryanc - TLS for the Internet of Old Things
DOOM - DOOM Open Source Release
MacDock - Like the macOS Dock... but for System 7
MS-DOS - The original sources of MS-DOS 1.25 and 2.0, for reference purposes
winevdm - 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
em-dosbox - An Emscripten port of DOSBox
executor - A modern fork of the classic Mac emulator
abrash-black-book - Markdown source for Michael Abrash's Graphics Programming Black Book
emu2 - Simple x86 and DOS emulator for the Linux terminal.
awesome-dos - Curated list of references for development of DOS applications.