Wozniak's Original System Description of the Apple ][
CowboyRobot writes "Opening with the line, 'To me, a personal computer should be small, reliable, convenient to use and inexpensive,' Steve Wozniak gave his system description of the Apple-II in the May, 1977 issue of BYTE. It's instructive to read what was worth bragging about back then (PDF), such as integral graphics: 'A key part of the Apple-II design is an integral video display generator which directly accesses the system's programmable memory. Screen formatting and cursor controls are realized in my design in the form of about 200 bytes of read only memory.' And it shows what the limitations were in those days, 'While writing Apple BASIC, I ran into the problem of manipulating the 16 bit pointer data and its arithmetic in an 8 bit machine. My solution to this problem of handling 16 bit data, notably pointers, with an 8 bit microprocessor was to implement a nonexistent 16 bit processor in software, interpreter fashion.'"
Spot the mistake on page 40: the timer used was a 558, not a 553.
I re-implemented this system for a project to connect old game controllers to USB. It is low cost and works remarkably well for basic gaming.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Small, check.
Reliable, check.
Convenient to use, check.
Inexpensive... whoops.
The TRS-80 used the Zilog Z80.
Woz WAS the SH*T back then. While I still love him, he's never been the same since the plane crash. God knows what he might have come up with to save the Apple II if he hadn't had the accident.
Nitewing '98
Everything works...in theory.
I wrote a number of utilities for the Apple ][. One of which was a replacement garbage collection utility. The garbage collector in the Apple ROM would basically kick off when there was no more available memory and then "freeze" the machine for about 30 minutes while it dumped the garbage. I wrote one that could be run from the Ampersand &GC in Applesoft Basic. If your application used a lot of strings and reassigned those strings the heap would fill up really fast. My utility would run in seconds as opposed to the 30 minutes. I made about $1000 as a 16 year old kid selling this utility in Nibble magazine.
One other comment. Woz was a genius, but his shortcut for color graphics was based on 7 lines. Each byte in the $C000 address space used a nibble encoding scheme to display color. $C000+$200 (I think would move to the next line 7 pixels down. This 7 byte math drove us developers nuts. To draw on the screen you would either use FP math (very slow) or you would pre-populate a look up byte table to know where in memory you should poke to get the right row to show up a color.
I've not done assembly language since those days. It sure was fun and challenging though. Now everything is so bloated I rarely see tight efficient code anymore. I'm not suggesting that we go back to developing in assembly. I'm just pointing out that you were forced to be disciplined when you coded which made for more efficient code.
So are we seeing more Woz articles because he is moving back into the computer limelight, or are we just using him to fill a gap in the news?
There was an unknown error in the submission.
You kid, but in all seriousness, SWEET-16 probably does qualify as prior art for a few dozen currently litigated patent claims. Except you couldn't really call the Apple II "mobile". You could fairly call it a "limited resource computing device", though (a phrase found in one of Apple's iPod patents)