http://www.amazon.com/Making-Prince-Persia-Journals-1985/dp/...
http://www.amazon.com/The-Making-Karateka-Journals-1982-1985...
If you enjoyed PoP, you'll like Kareteka.
EDIT: Oh, and apparently the Apple ][ source hadn't been found again yet, making the thing even more bonkers. Mechner's comments here:
http://popc64.blogspot.com/2011/10/prince-of-persia-for-comm...
Mechner's games stand out in part because he seems to have done just about everything himself and, especially for the time all the parts are outstanding - the design, the artwork, the 'art direction', the animation, the gameplay. And then he went off and churned them out in 6502 assembly.
[1] http://fabiensanglard.net/anotherWorld_code_review/index.php
A lot of musicians doing game-music for the Commodore 64, for example, were popular enough in their own right that sometimes publishers would hire them knowing their names would be sufficient to guarantee sales for otherwise mediocre titles. Some of them even perform their 80's game music live today, and there's a whole scene doing remixes of the music.
I am not sure how other teenagers made this awkward transition, but I did it by writing a tiny assembler in Basic. It was fairly easy because Basic had PEEK (get contents of address), POKE (set contents) and CALL (jump to address) that everyone was used to using to get anything useful done. I think I just got tired of hand assembling programs into POKE calls.
I remember getting a thin wire-bound book with a detailed disassembly (with comments!) of the ROMs and DOS as a birthday present. I think one of the thing that inspired programmers on the Apple ][ was the amazing system code that Woz had written. He set a very high bar for assembly language programmers. His code was economical, fast, smart, and tiny. He demonstrated how to squeeze the most out of limited resources.
More programming languages should have included something like this, I think. Maybe by now we'd have runtime code generation as a common primitive, something like LuaJIT's dynasm (http://luajit.org/dynasm.html), only with GC, so you could generate custom little routines at runtime.
(As it is, what do we get? gcc-style inline assembly language. Progress? My arse.)
(Maybe Color? I don't remember if it was B&W because of my VGA card or because the PC version just didn't have color.)