Our current attempt is using LEGO Mindstorms - he's become such an adept builder over the last few years that he can put together pretty complex robots from instructions without any help. I hope that he can now make the leap to modifying these creations and hacking his own from scratch. No idea if this will give him the same rich experience of creation that I had as a youngster, but I hope so.
Also, see a wonderful Ars story on this:
I think copyrights ought to expire after 20 years.
re: copyright expiration - Absolutely.
Speaking of the Internet Archive, their fundraiser which is matching every donation times three is still active - but soon over: Consider helping them out if you can and like: http://archive.org/donate/
I then wrote some more code to try and find the most colorful game ads from the pages and came up with these wallpapers:
Just thought I would share :)
I remember talking to some adults about Assembly programming, and they were dumping on my beloved 6510, seemingly surprised anyone could get anything done with only three registers (A, X, & Y). They were 8086 guys, of course. All I ever knew at the time was three registers, it never occurred to me other chips had more. You make do with what you have :)
Each register has its own personality: BX is the base, CX is the count, AX is the accumulator, SI and DI are source/destination indices, BP is the stack pointer.
If you have a pointer, you want to put it in SI, DI, or BX so you can use a memory load instruction like MOV AX,[BX]. If you have a pointer and an offset, you want one of them to be in BX, and the other in either SI or DI -- because there are instructions MOV AX,[BX+SI] and MOV AX,[BX+DI], but not MOV AX,[SI+DI].
The x86 16-bit instruction set is full of places where your operands have to be in certain registers. The REP MOVSB instruction requires five registers to be initialized; you don't have any choice of which five.
Kids these days and their RISC machines where there are a hundred registers and they're all the same -- they don't even have names, just numbers. Get off my lawn!
(Yes, I'm aware that your software can be much more efficient with more registers, it's a good investment of increased silicon capacity Moore's law has given us since then, there are fewer compiler writers wandering around who have been driven insane, etc...but the point is, the constraint satisfaction process that's part of writing a 16-bit program is rather fun for the programmer, like Sudoku.)
Is anyone still doing any assembler for any kind of work these days?
They've apparently even got the first 16 years of Byte.
Google also has the complete archive of InfoWorld up to 2007 posted: http://books.google.com/books/serial/tDcEAAAAMBAJ (though you'll have to manually change the "start" parameter in the URL to browse before 1987).
When Compute/Compute's Gazette came out with MLX I turned my attention to how to control a computer at the very basic levels.
Glad to see the archive is alive and available for free. What should I do with all my old copies now? :)