Book Recommendations

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
MajickTek
Member
Member
Posts: 101
Joined: Sat Dec 17, 2016 6:58 am
Freenode IRC: MajickTek
Location: The Internet
Contact:

Re: Book Recommendations

Post by MajickTek »

If anyone wants to learn about computer graphics (for any purpose) in a low-key environment, I highly suggest http://www.scratchapixel.com. It includes cross-platform examples (requiring no libraries) in C++.

I just found out the link is temporarily dead (hopefully) but I hope it will be up soon. Use the Way back Machine to check it out.
Everyone should know how to program a computer, because it teaches you how to think! -Steve Jobs

Code: Select all

while ( ! ( succeed = try() ) ); 
quadrant
Member
Member
Posts: 74
Joined: Tue Apr 24, 2018 9:46 pm

Re: Book Recommendations

Post by quadrant »

The "hardware" chapters in Fabien Sanglard's "Game Engine Black Book" series provide a wonderful overview of early personal computers. They shed light on why many things are the way they are today, espcially for younger generations that missed the early PC period.

Subsequent chapters are also useful, because they go into detail on how the above hardware was used (and pushed to the limit) by id Software to create the game engines in question.

With plenty of hi-resolution photos, diagrams, and code samples, coupled with an absurd attention to technical detail, the series has plenty to offer anyone working on a hobby OS.

Also, the author has made the books freely available!

Some of the topics covered include:

Game Engine Black Book - Wolfenstein 3D
  • Intel 80386
  • VGA (modes, planes, hardware)
  • Interrupts (Intel 8254 PIT, Intel 8259 PIC)
  • ISA bus
  • Floating point, fixed point
  • Real mode, protected mode
  • Extended memory
  • Memory mapped I/O
  • Yamaha YM3812 (aka OPL2) sound chip
  • PC speaker (PCM control)
  • DOS
Game Engine Black Book - Doom
  • Intel 80486
  • VESA
  • Networking
  • NeXT computer
  • Early C compilers
  • Game console architectures
xatja
Posts: 2
Joined: Tue Dec 29, 2020 9:26 am
Freenode IRC: xatja

Re: Book Recommendations

Post by xatja »

Two really good books on C (which are rare in my opinion)

Extreme C by Kamran Amini
Understanding and Using C Pointers by Richard M. Reese

Also, I'm new to this forum and I just started a topic in 'General Programming', but it seem to be blocked or something for some reason.
nexos
Member
Member
Posts: 1071
Joined: Tue Feb 18, 2020 3:29 pm
Freenode IRC: nexos

Re: Book Recommendations

Post by nexos »

A good book on OS theory is "Unix Internals" by Uresh Vahalia. It explains process management, threading, SMP based scheduling and synchronization, and other things, using 4.4BSD, SVR4, Solaris 2.x, Mach, and Digital UNIX all as examples.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
thewrongchristian
Member
Member
Posts: 406
Joined: Tue Apr 03, 2018 2:44 am

Re: Book Recommendations

Post by thewrongchristian »

nexos wrote:A good book on OS theory is "Unix Internals" by Uresh Vahalia. It explains process management, threading, SMP based scheduling and synchronization, and other things, using 4.4BSD, SVR4, Solaris 2.x, Mach, and Digital UNIX all as examples.
Second that recommendation. An excellent book.

A good book on the practicalities of the POSIX interface is "Advanced Programming in the UNIX Environment" by Stevens/Rago. I have the 2nd ed. which includes POSIX.1-2001 updates. The books not only explains how to use the POSIX interfaces, but also presents them in the context of other interface definitions such as X/Open and extensions provided by FreeBSD/Linux/Solaris.

The latest edition dumps the STREAMS chapter (as it's obsolete and not supported outside of SysV) and replaces it with an asynchronous I/O chapter, but I have not got that edition. I shall look out for a cheap copy on ebay.

If you want to provide a POSIX interface to your OS, this books is a good place to start.
Post Reply