Hi tinypoodle
Why that when there are open source Linux games?
e.g.:
http://www.deater.net/weave/vmwprod/tb1/tb_asm.html
Nothing wrong with "peeking" at Linux games too, however that specific example is not a great one
as it uses AT&T syntax whereas Intel syntax is not only more widespread but less crazy.
(Sorry but in my opinion, AT&T syntax is just weird).
I mentioned DOS games because:
1) There are more of them, I certainly have lots of older ones from when I had time to play them.
2) The older DOS games are written to do more with less as opposed to the Linux ones which
generally rely
on the user having more modern processors.
Also remember that some old DOS games were actually in the COM format which made it easier to understand as no header,
relocation tables and all that other stuff, pretty much the same as a flat binary but starting at 0x100.
The mere fact that they were in COM format, restricted their size to 64KB maxwhich in itself forced the programmer to resort to lots
of optimization techniques to get the whole game under that limit.
3) By de-compiling executables, one also learns about reverse engineering and the use of disassemblers
which although not crucial to being a good programmer, does tend to teach more about the make up of executables, their sections
and the data layout whether it be in COM, MZ, PE or ELF format.
4) The challenge of being able to "see" the source from an executable that might be packed and/or protected.