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.
Book Recommendations
- MajickTek
- Member
- Posts: 101
- Joined: Sat Dec 17, 2016 6:58 am
- Libera.chat IRC: MajickTek
- Location: The Internet
- Contact:
Re: Book Recommendations
Everyone should know how to program a computer, because it teaches you how to think! -Steve Jobs
Code: Select all
while ( ! ( succeed = try() ) );
Re: Book Recommendations
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
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
- Intel 80486
- VESA
- Networking
- NeXT computer
- Early C compilers
- Game console architectures
Re: Book Recommendations
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.
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.
Re: Book Recommendations
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.
-
- Member
- Posts: 426
- Joined: Tue Apr 03, 2018 2:44 am
Re: Book Recommendations
Second that recommendation. An excellent book.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.
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.
Re: Book Recommendations
I didn't find it on a quick search on this topic.
I'd recommend "Low Level Programming" by mr Zhirkov. It's excellent stuff for learning how to program and also covers interesting Intel 64 details useful for OS development. (interrupts, paging etc.).
it starts with ASM, then goes to C and pushes good practices and theory.
It's focused on Intel 64 but most programming theory applies to any language. Intel 64 is also an easy platform to start on as most laptops etc. can be prepared to work with this book.
I'd recommend "Low Level Programming" by mr Zhirkov. It's excellent stuff for learning how to program and also covers interesting Intel 64 details useful for OS development. (interrupts, paging etc.).
it starts with ASM, then goes to C and pushes good practices and theory.
It's focused on Intel 64 but most programming theory applies to any language. Intel 64 is also an easy platform to start on as most laptops etc. can be prepared to work with this book.