The source is messy and compiler-specific, and many implementations are irrelevant to modern systems. For example, I recall Chapter 14 is about implementing multiplayer over serial cable by directly writing to I/O ports in assembly language to drive the UART. I never did get that to work, but trying to translate the book from the Watcom C + MASM toolchain to the QBASIC + DEBUG toolchain -- without access to a working copy of the former and zero prior C experience! -- actually taught me a lot.
So maybe there is a reason toolchains should be expensive -- to encourage starving students with lots of time but little money to expand their minds by jury-rigging alternatives :)
Get dozens of book recommendations delivered straight to your inbox every Thursday.