At a young age, I had taught myself 6510 machine language and began cracking C64 copy protection schemes. I didn't know any other programmers, and useful books were scarce, so the more advanced schemes eluded me. I could have really used this book.
I got myself a paper copy of PPMvol2, and spent the last six weeks savoring my way through it. This will easily be my favorite book this year. It's like being handed the final chapters to a well-remembered mystery novel that you started as a kid. The way my brain "felt" back then resurfaced as I retread these old paths; strange that my mind remembers how to feel that way. Brain flavors are hard to put into words. We're many people throughout life, all concatenated together, and I got to say "hi" to my former self's way of thinking/perceiving/feeling as it briefly took up the cognitive reins. There's an old pungent wood varnish (which I haven't encountered in years) that will do the same thing for me. The experience is gone now, but I remember remembering it. :-)
Topics include: - autoloaders (via BASIC warm-start vector, the close all file vector, or by stack manipulation) - interrupts - p-code - psuedo-ops - making use of eproms - writing/analyzing custom DOS routines (half tracks, changing data density, synchronized tracks and track arcing, extra sectors, GCR analysis, and custom formats (changing sector headers, sync marks, number of gap bytes, etc.)) - cartridge protection schemes (stores to cartridge area, memory relocations, checking CIA timers, etc.) - encryption (only the common XOR-based schemes from back in the day)
The book ends with 30 pages on how ROM memory is manufactured, which is oddly out of place with the rest of the text. Even so, this is easily one of my top five C64 books.
BTW, to see many of these techniques pulled together in one scheme (synchronized tracks (fat tracks), p-code, encryption, etc), check out the protection that was used on the game SkyFox (1984): http://c64preservation.com/files/EaLo...