abrash-black-book
open-watcom-v2
Our great sponsors
abrash-black-book | open-watcom-v2 | |
---|---|---|
23 | 23 | |
4,389 | 918 | |
- | 4.1% | |
0.0 | 9.9 | |
10 months ago | 1 day ago | |
CSS | C | |
- | GNU General Public License v3.0 or later |
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.
abrash-black-book
-
What is the lowest level of graphics access?
Michael Abrash's Graphic Programming Black Book
-
Resources for programs they used back in the 90s/early 00s?
[Michael Abrash's Black Graphics Programming Black Book from 1997 is a fantastic book I wish I had back then. It is available for free on GitHub. I read it maybe in 2015 and I thought it was fantastic even if it is dated now. It goes through the evolution of PC hardware (CPU and graphics cards in particular) from the very first IBM PC to the mid-90's pentiums, and the last chapter or two are about the author's work on Quake.
-
Where can I get behind the scenes of development of old games
Also available in eReader formats: https://github.com/jagregory/abrash-black-book/releases
- Black Book
-
Olive.c: a simple graphics library that does not have any dependencies
Also look at the source for original Quake (https://github.com/id-Software/Quake), one of the last pure software-rasterizing AAA 3D PC games. Michael Abrash's Graphics Programming Black Book (https://github.com/jagregory/abrash-black-book) explains many of the critical parts of the rendering pipeline.
By the way, quake.exe for DOS was 404,480 bytes.
-
The 2nd edition of Petzold's book CODE is now available!
It's also THICK. I have my copy of the 5th edition right here, and it's about 3 inches from cover to cover. Thicker than Introduction to Algorithms and thicker than the Graphics Programming Black Book.
-
John Carmack's new AGI company, Keen Technologies, has raised a $20M round
Read Michael Abrash's Graphics Programming Black Book for the story of how the original Quake came to life. You'll get an appreciation for John Carmack's ability to thoroughly research widely varying solutions to a problem, quickly create production-quality implementations of the promising ones, and even more quickly abandon the dead ends. The result is this almost boring, seemingly linear progression toward a final product that seems obvious in hindsight, yet it represents a leap forward the way Quake did in the mid-1990s compared to other FPSes at the time. I don't know many other public stories of individual engineers who can span both the very cutting edge of research and the practicalities of shipping real commercial software.
https://github.com/jagregory/abrash-black-book
- I want to start learning how to program DOS games
-
Older and experienced game devs that programmed games from scratch, which books and resources did you use to make stuff from scratch?
The Abrash black book is on github!
-
What was the "old," way of doing 3D graphics before shaders? (fixed function pipelines and such)
Go through Michael Abrash's Graphics Programming Black Book to see how it used to be on PC world.
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
What are some alternatives?
vex - A modern dialog library which is highly configurable and easy to style. #hubspot-open-source
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
Celeste - Celeste Bugs & Issue Tracker + some Source Code
DOOM - DOOM Open Source Release
VoxelSpace - Terrain rendering algorithm in less than 20 lines of code
MS-DOS - The original sources of MS-DOS 1.25 and 2.0, for reference purposes
binaryen - Optimizer and compiler/toolchain library for WebAssembly
em-dosbox - An Emscripten port of DOSBox
awesome-dos - Curated list of references for development of DOS applications.
emu2 - Simple x86 and DOS emulator for the Linux terminal.
cs-video-courses - List of Computer Science courses with video lectures.