APPLE I, II, III
APPLE I, II, III
I love the smell of 6502 in the morning
My first computer was an Apple ][ plus. The hours I spent learning what it could teach me. This was back in the day when a computer came with it’s schematics, list of I/O and memory maps, and the CPU documentation. It kept me busy for years. Still does, in fact.
In the beginning - The Apple I
Real Apple I hardware is very hard to come by today, and often fetches $25,000.00 or more. However, some enterprising individuals have made clones by laying out an identical motherboard and sourcing chips from the appropriate time frame. This is no easy task. One such person made kits from his motherboard, complete with all the original chips he was able to source, and sold it on eBay. I bought one and built it up. Fired up the first time.
Notice how many chips there are in this design. The only I/O available for the Apple I was the keyboard and video along with an optional cassette tape interface. Not too many of us have tape players anymore, and they were not entirely reliable back then, either. Not too mention how slow they were. Some of these same people who have made Apple I clones have also created new hardware to ease the problem of program storage.
Vince Briel has created an Apple I clone using modern logic chips which greatly simplify the design. He has also created a serial interface that allows one to connect another computer to send/receive data in parallel with the keyboard and video.
Mike Willegal is also currently building an Apple I kit. He has also done a great job on building an Apple II Rev 0 motherboard kit, so I know his Apple I kit will be incredible.
My buddy Rich Dreher has created on of the most useful new devices for the 6502 Apples, a compact flash storage device that acts like a hard drive. Most Apple diehards use his Apple II product, but he also designed one for the Apple I. You can find it on Vince Briel’s website as well.
Now that all this hardware has been acquired, what to do with it? How about a fun tribute to Apple’s 30th birthday? Here is the program, in Apple I monitor input format, along with some others:
Apple I 30th Birthday. Forth was a popular language for micros in the ’70 and ‘80s. I met Chuck Moore, the creator of Forth, so I decided to port Forth to the Apple 1 and CFFA1 combination in tribute. Check out my Forth page.
Apple II - The Next Generation
One of my eBay auctions netted me an early Apple ][ case and keyboard, but the motherboard had been swapped out for a later revision. Just as in the Apple I clone kits, Mike Willegal created an Apple II Rev 0 motherboard. This allowed me to come very close to recreating the Apple ][ as it originally shipped, including Integer BASIC and the Programmers Aid #1 in ROM.
Of course, building your own Apple ][ is fun, but it really gets interesting when you mix 30 years of software development experience with modern tools and turn the focus towards the Apple.
Appalm ][ - Is that an Apple II in your pocket?
Over the years I have written down ideas in notebooks that weren’t altogether related - they were just tidbits of clever code or ideas that would come to me. When the 30th anniversary of the Apple II was coming up, I decided to take some of my ideas and make a game that would have seemed impossible on such basic hardware, especially in 1977. My next project was:
Escape! from the HomeBrew Computer Club 3D
This was my silly premise for a first person, 2 1/2 D game in the stye of DOOM, or more closely Castle Wolfenstein (which was originally an Apple II game) from id Software. It really pushed what could be done with a 1 MHz, 8 bit computer. You can watch the video on my Home page. Here it is running on my Rev 0 clone:
At the 2011 KansasFest, the annual Apple II conference, I gave a presentation on developing and playing HBCC 3D. Ken Gagne recorded the session and made it available for all:
Speaking of KasasFest, I was the guest on Open-Apple. an Apple II podcast put on by my friends Ken and Mike. Being a first time attendee of KFest, they asked me to be their guest and share my experience. Lots of fun.
Although HBCC 3D was a fun project, it wasn’t open-ended - there was nothing you could really do with it except play it.
The Apple II had some of the best games written for it, but I really wanted something to bring the Apple II up-to-date in regards to its development potential. A tool that would bridge the gap from the ‘80s to now.
When I received my first Apple ][ as a gift from my folks, I was actually spending time over at the neighbors house on their Apple ][. A friend of their family’s who was a typical ‘70s hacker would come over and teach the neighbors son and me Apple Pascal. It was a very sophisticated environment for a micro computer at the time and was a great introduction to real computer programming. Apple Pascal was based on the UCSD version of Pascal which used a pseudo-machine architecture meaning a pretend computer was being emulated on the Apple. Now commonly referred to as virtual machines, this approach allowed the Pascal environment to be quickly and easily ported to other computers with a slight penalty in performance (due to the emulation). This architecture was actually the basis for Java, the language from Sun Microsystems that was supposed to make the internet a write-once, run-anywhere environment. It didn’t quite work out that way, but the intention was nice. Java is a very sophisticated environment compared to Pascal. Java defines a virtual machine, the JVM, which supports all the latest language features: multi-threading, managed memory, object oriented, 32 and 64 bit data types, etc. It would be the perfect bridge from old to new, but how could such a limited computer support all those new features? There really is no way for an Apple II to support a JVM, which is why I had to do it.
VM02 - The Java VM for the Apple II and 6502 CPU
Many years of development were required to get to a workable release. Being a tool to run other programs, VM02 doesn’t have much in the way of eye candy, but here are a few screenshots of the Character User Interface classes that I wrote to show off it’s capabilities:
And some classes showing off access to the Apple II graphics features directly from Java:
Not much to show for it, but VM02 is the most comprehensive project I’ve ever done.
In between these projects, I’ve worked with Rich Dreher on is CFFA product, the Compact Flash For Apple plug-in card. The great product make the Apple II a real joy to use. It provides the usefulness and performance of a hard disk in the bullet-proof form of Compact Flash memory cards. Even small ones that come free with digital cameras are more than adequate for storing lots of Apple software. Remember than 140K per floppy disk was the norm back in 1980. A 32 MB CF card could probably handle all the software of even a hard core collector. I helped Rich improve the performance of the data transfers since I had some intimate knowledge of IDE controllers from back in my disk array days.
Three’s Company - The Apple III
This particular Apple III was salvaged from a local school along with a full suite of office software and a Cobol development package, still in the shrink-wrap! It has a CFFA in it as well. Aside from some CFFA improvements, there haven’t been any real projects targeted towards the III yet.
Some links from the above projects:
Rich Dreher’s website: http://dreher.net/
Mike Willegal’s website: http://www.willegal.net/
Vince Briel’s website: http://www.brielcomputers.com/
Appalm ][ Apple II emulator for PalmOS: http://palmapple.sourceforge.net/
Escape from the HomeBrew Computer Club: ProDos SHK archive, DOS 3.3 disk image
HBCC Presentation at KFest: http://vimeo.com/27498402
KansasFest website: http://www.kansasfest.org/
Open Apple podcast: http://www.open-apple.net/
VM02 Java VM for Apple II: http://vm02.sourceforge.net/