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.'"
Take that Oracle!
(I kid)
Mod me down, my New Earth Global Warmingist friends!
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.
Apple II released
Commodore PET released
TRS-80 (which became the #1 selling computer of the 70s)
Atari VCS/2600 (#1 selling console of 1977-84)
All ran on the same Commodore Semiconductor Group 6502 (or variant) processor.
My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
That Shelley Long and Jude Law lived together in the 1970s and had an Apple II in their kitchen? Even one of those magical ones that doesn't even need cables to work!
Mostly random stuff.
I am strangely reminded of the one-wire bus used for low-power sensing.
The one-wire bus uses three wires.
Why the name? Well, one is supposed to be optional power, but in practice you won't get more than one sensor on the bus without it. And the other is ground which, I assume, doesn't count for some reason.
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.
God knows what he might have come up with to save the Apple II if he hadn't had the accident.
Possibly nothing. Yes he is a brilliant guy. But it is entirely possible that his (hypothetical) next act would have been a failure. Woz was the right guy in the right place at the right time. Maybe he would have continued to pump out brilliant products. Maybe not. It's quite possible he was forced to quit while he was ahead. I appreciate your optimism but his first act was a pretty hard act to follow and he hasn't really pumped out much technology of note since.
That's a rather extravagant way of saying fiddle with the carry every time you want to add two 16 bit numbers.
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.
I think that he was referring to a complete interpreter for a 16-bit processor called sweet16, which resided with the integer BASIC interpreter in the original ROM.
Sweet16 was pretty much never used, and its space (along with the builtin assembler) was reclaimed later when Applesoft BASIC came out.
It's remarkably similar to my choice for the desktop (Linux Biolinum). Anyone knows?
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
Linux on AVR ATMega
...that not all was well-designed and pretty. For example, portions of graphics memory were also used for slot/peripheral I/O. These were called "screen holes" and greatly complicated every Apple II program that used those areas of memory -- there were literally tons of one-offs you had to write into your code, special cases depending on what peripherals were installed or used. This applied to both lo-res (GR) and high-res (HGR) modes. Here's an example (hope you can read 6502).
I think since the days of the Apple II we've learned the importance of having a linear section of memory without a bunch of interleaved one-offs... or have we? x86 architecture is filled with crap like this (mainly the legacy stuff, not much present-day), but still. My point is that even though Woz was a genius/very clever and knew how to make the most out of what he had available, the aforementioned was a serious annoyance.
I wish I could have afforded one at the retail price of $666.66.
Too rich for my blood back then.
Still, I got to hack them eventually at school and summer camps, but that's not the same thing as actually owning one of those $666.66 masterpieces.
Sigh.
Kriston
The $C000 address space was used for softswitches. The areas you're thinking about are $2000-$3FFF and $4000-$4FFF, Hi-res pages 1 and 2 respectively.
Each page held 192 scanlines of data, with each scanline described from left to right in a continuous line of 40 bytes. The upper left corner of the screen was described in the first byte ($2000 or $4000).
So far, so good - but everything after that is madness.
$2000 is the upper left corner, yes. But the next scanline down is located at $2400. The one after that at $2800. And so on, through eight scanlines, with the eighth at $3C00, until the ninth which begins back at $2080. Then the routine of adding $400 each time goes for another 8 scanlines, until the 17th starts at $2100.
And it gets even worse. And don't even get me started on the whole "8th bit of every byte swaps the palette for the other 7 bits" thing...
Engineering is optimally solving problems given your constraints, and in that sense the Apple ][ is an engineering master course.
I remember reading the available docs and being completely bowled over by two things: The video display doing the DRAM refresh for free and the workings of the Disk ][ encoding. It was mostly software driving very basic hardware, which was way ahead of its time. DOS 3.2 was kind of ugly, but since it was mostly software, he could upgrade it, and DOS 3.3 was a major improvement! It's hard now to appreciate how revolutionary this was at the time.
Even Woz could make mistakes - his sector interleaving wasn't optimal. In the time it took to process a sector, the next one was already past, so each sector took an entire rotation of the disk. But it was software, so various alternate DOSes just added one to the sector interleave, so instead of sector 1 2 3 4 5 you had sector 1 8 2 9 3 9 and you could copy the entire damn disk in 19 seconds. At least an order of magnitude better than the pokey C64 drive which used the hardware uber alles model.
But his engineering prowess doesn't really work for Apple's current positioning. He's unabashedly pro-consumer and pro-tech, where Apple is (wisely) in the business of providing devices that do a fantastic job of hiding the tech as much as possible, since Grandma or arts majors don't care what the hell the tech is as long as it works like they expect.
And his charming naivete doesn't really work with a big corporate environment, which is why Jobs was able to cheat him out of so much of the money they got.
IS that the entry level ipad is still around 700$
I'm really puzzled by this comment from WOz
"'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.'"
16 bit pointer manipulation on a 6502 was trivial. You had to do it if you wrote games (I did, for C64/C16/Atari 400, Acorn Electron/etc). It was a couple of instructions, and actually quite fast if you counted the instruction cycle count (which you could back then - 6502 was a stricly in-order execution chip). The idea of doing what Woz says he did is just ridiculous and startlingly inept solution to the problem.
He may have been a good hardware engineer but his software solution to this problem is abysmal.
As for the other comments about pricing: Apple have always been overpriced compared to the competition. Once the C64 was on the market you could have a better computer with better sound, better graphics, sprites, memory etc, etc for a fraction of the cost. The "because we can" comment in a previous post is correct - that is the attitude they had back then and I suspect its the attitude they have now.
And of course, Apple sued the living daylights out of anyone they didn't like. Just like now. Nothing has changed. For a man that claimed he wasn't focused on money (Jobs) Apple has been extraordinary aggressive pricing wise it's entire life.