VOGONS


First post, by BeginnerGuy

User metadata
Rank Oldbie
Rank
Oldbie

Hey, I'm not sure where to post this or know where our resident programmers hang out.

I need some book suggestions (I can usually find them from thrift sellers online dirt cheap) or some online reading material I'm struggling to find on the following topics. I generally prefer reading physical books but links will suffice.

1. Later MS-DOS era C programming book that covers some of the time relevant topics such as memory segmentation (protected mode) and other nuances like choosing memory models in compilation, far pointers, etc, and possibly inline assembly, Written for MS C/C++ or Borland Turbo C is fine. I am already a fairly seasoned C programmer so no need for a hello world style book.
2. Anything on a good DOS extender and implementing it in your software.
3. Good books on 80x86 asm preferably written for a 486 + masm
4. Not critical but some good documentation on programming sound blaster - sound blaster 16 era cards (OPL).. loading in the drivers for sound effects and synth playback etc via C or assembler.

I have "Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers" on it's way in the mail which I've never owned, I'm hoping that will be a good read for me but expect to be a bit lacking personally in the ASM department. I have and have read Zen of Graphics Programming by Abrash but haven't found a copy of his assembly book yet either, so I found it quite difficult to follow some of his papers on graphics.

Any old books you guys considered a bible of the time that I should find for these interests?

Sup. I like computers. Are you a computer?

Reply 1 of 6, by amadeus777999

User metadata
Rank Oldbie
Rank
Oldbie

What's the spec of the machine you're developing on?

ad3)
Not books per se, but...
Chris Hecker, wrote some interesting stuff although not to the extent you're searching for. Another "in depth" guy who covers many different topics in assembly is Paul Hsieh. Fabien Sanglard has a website that shines light on some "retro matters" but only a few and in the context of a rough source code analysis(Doom, Quake, etc.). Another "smarty" is Michael Kunstelj who has a nice write-up on 386/486/Pentium Optimizations.
Finally, Agner Fog is as close to the metal as can be from the Pentium onwards.

I do not know of any book besides Michael Abrash's "Graphics Programming Black Book" which may somewhat fit the profile required by you.
Latter can be had for 120$+ on Amazon and contains nearly all of "Zen Of Assembly Language" + "Zen Of Code Optimization"... so it's basically a steal relative to it's breadth and depth of knowledge dispersed. In so far not the bible but maybe a bible you might consider.

Reply 2 of 6, by BeginnerGuy

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the reply, I'll look those folks up when I get to my desktop.

Right now I'm developing on a much later pentium 3 system but writing for an older 16 bit compiler. My "Target" system is going to be in the 486dx range, uncertain on memory requirements until I study the use of extenders (or the need for them depending on how complex my engine gets). I would like to learn the architecture of the 486, the differences between the 486 and 386, and using that possibly lower the target machine down to a 386. And of course there are many byte sized VGA writes in my code and other things that are in dire need of ASM optimization regardless of the platform it's horribly inefficient.

I will be building a 486DX2 66 / 16 MB / undecided on video + SB Pro II when I have the funds to test my engine out (real time graphics / game engine).

Code base right now is entirely in C with a few spots of inline assembly I grabbed from Andre Lamothe books circa 1994. There are also many floating point calculations right now which obviously is going to require an FPU or attempting to rewrite using fixed point operations

Sup. I like computers. Are you a computer?

Reply 3 of 6, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

If you're going to use C, both Watcom and DJGPP compilers should deal with the extender thing. You won't have to do anything special to use it.

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 4 of 6, by TheMobRules

User metadata
Rank Oldbie
Rank
Oldbie

For Assembler, you should also check some Borland Turbo Assembler documentation and resources. It also used MASM syntax and I remember there were a few good books on it when I was learning back in the 90s (Mastering Turbo Assembler was one of them I think).

Reply 6 of 6, by BeginnerGuy

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the input guys,

Is this the book you speak of themobrules? : https://www.amazon.com/Mastering-Turbo-Assemb … n/dp/0672305267

I'm just looking for books over references for a bit of training wheels to start as I have minimal background in assembly. This one looks like a pretty good start.

Also, I'll have to learn the difference between IDEAL and MASM syntax before that becomes of interest eh hosers? 😊

Sup. I like computers. Are you a computer?