I recently visited the American Computer Museum in Bozeman, MT, which includes exhibits like an Apple I, assorted Apple IIs and Macs, two models of Altair systems, a PDP-8S, an IMSAI, electronic and mechanical calculators, many personal computers, and a Minuteman missile guidance computer. Check out my photos here.
What does it take to interface the F18A, a modern FPGA-based clone of the venerable TM9918A Video Display Processor (VDP), to an Apple II? Short answer: not much. Here’s the long answer.
Let’s start with analyzing the design of the E-Z Color Graphics Interface, a TMS9918A-based “sprite board” with the design published in the August 1982 issue of Byte. Examine the schematic in Figure 4.
There are six major sections of the circuit:
- The TMS9918A VDP
- The clock generation circuit
- Video memory
- Video output
- Bus interfacing
- Decoupling capacitors
The F18A includes the functions of sections 1 through 4. So, with only one F18A, a few capacitors, and a single 74LS00 (for the bus interface), we’ll have a working sprite board for the Apple II. Sounds like a job for SuperProto.
The Apple II, first announced in 1977, had in-built color graphics capabilities. Certainly, these capabilities are rudimentary by standards even five years later, but graphics capabilities were a big deal in 1977. Previously, hobbyist accessible computers like the KIM-1 and the Altair 8800 had absolutely no video or graphics output. At best, the owner could open up their wallet again and attach a teletype or terminal. So, the Apple II with a real keyboard and graphics output to a television helped start a new era in personal computers.
Woz designed the Apple II video circuits for low cost using the technology available in 1977. A few short years later, the emerging lineup of contemporary 8-bit computers, like the Commodore 64, TI-99/4A, and ColecoVision, offered graphics capabilities more advanced than the Apple II. The 8-bit Apple II’s graphics capabilities saw only minor updates, including 80 column text mode and double hi-res graphics. It wasn’t until the release of the 16-bit IIgs that the Apple II line got significant video upgrades.
In an attempt to fill the video capability gap of the 8-bit Apple II line, several third parties released graphics boards featuring the popular Texas Instruments TMS9918A video display processor (VDP), a specialized integrated circuit (IC) used in many contemporary machines. Among other features, the VDP supported hardware sprites, a feature that allows small images, such as characters in games, to move over background images with minimal work from the CPU. The TMS9918A-based video boards are often called “sprite boards.” In contrast, similar functions with the Apple II video hardware alone are tedious, slow, processor-intensive, and limit other features possible in the software. Overall, the video boards allowed the Apple II to produce smoother, higher resolution graphics with more colors, all with less effort from the programmer.
Here’s a summary of the “sprite boards” on the market. Please let me know if I’ve missed any.
|Third Millenium Engineering Arcade Board||$225 – $295||AY-3-8910 sound, single monitor with software switch between TMS9918A and inbuilt output|
|Synetix Systems Sprite-I||$149||appears to be a feature reduced (TMS9918A graphics only) version of the SuperSprite|
|Synetix Systems Sprite-II||$249||appears to be a feature reduced (TMS9918A graphics plus sound but no speech) version of the SuperSprite|
|Synetix SuperSprite||$395||AY-3-8912 sound, Echo II speech synthesizer, software support with Avant-Garde’s StarSprite I, II, and II|
|E-Z Color Graphics Interface||$175||Design published in Byte (Aug. 1982), no sound or video pass-through|
But, these add-on video boards were never popular. First, there was a “chicken and the egg” problem. The boards required modified software to use their capabilities, so few people wanted to buy the boards without software to make it worthwhile. But, few programmers wanted to write software for the boards because few people owned the boards. Second, the boards were expensive. And, some of the boards required a new monitor, which further added to the cost.
Why am I bringing this up? Matthew of Code|Hack|Create recently created a pin-compatible clone of the TMS9918A using an FPGA, called the F18A. The F18A improves upon the TMS9918A is many ways, most notably with VGA output. Can you say “dual-monitor Apple II with accelerated graphics coprocessor and VGA output?” Sure, the primary video output is still the familiar composite output, but there are still interesting possibilities.
Over the coming months, I’ll research and write about how to interface the F18A with an Apple II, both hardware and software. Please contact me if you have any information, documentation, or software related to the Apple II sprite boards.
[UPDATE: Dr. Weyhrich of Apple2History originally referenced a "StarSprite" board. But, further research finds that "StarSprite" is only the software for the SuperSprite. I've removed the "StarSprite" from the board list above.]
HackFest is both a tradition at KansasFest and for me personally. I find that as I attend more KansasFests, my HackFest projects get smaller simply because I’ve discovered all the fantastic off-schedule activities. At my first KansasFest, I’d retire to my room between sessions and after meals. But, some of the best discussions and discoveries occur wandering the halls and meeting people.
Anyway, my entry this year was a Lissajous curve plotter with mouse control of the parameters, sort of like a mathematical “etch-a-sketch”. The Lissajous curve is a parametric mathematical function that produces fascinating curves of which circles, ellipses, and parabolas are special cases. These curves show up in mathematics, nature, popular culture, and even jewelry.
Due to limitations of my living arrangements, I came to KansasFest with little hardware and software. I had an Apple IIc, an old copy of AppleWorks, and the introduction disks that shipped with the Apple IIc. By necessity, my goal was to use what would have come in the box when the computer was new. One of my AppleWorks backup disks was corrupt, so I reformatted that and re-purposed it as my HackFest disk with ProDOS 1.0.2, the only version I had on the original system disk.
While moving into the dorm at KansasFest, I found a mouse in Sean’s traditional give-away box. I’ve always wanted to program a mouse on an 8-bit system, so I grabbed it and decided to incorporate it into my HackFest entry.
HackFest was great fun. I enjoyed using real hardware, refreshing old Applesoft skills, and learning mouse programming. I also enjoyed experimenting with Lissajous curves and with relationships between mouse input and function parameters. Feel free to enjoy and adapt my program, available here for download under a CC BY-SA license. The LISSAJOUS2 file contains my HackFest entry. LISSAJOUS3 contains a few minor improvements made afterwards. This disk image is the result of the first and hopefully only application of the ScreenType™ process because I don’t even have a serial cable on hand.
Transferring data to and from your favorite Apple II is easy, thanks to technologies like ADTPro, the Uthernet adapter, FTP, and the CFFA3000. In fact, these technologies make data transfer too easy, hopelessly ruining the retro experience where 1200 baud is fast and data is supposed to spin in tiny circles at 300 RPM.
I’m pleased to announce the new ScreenType™ data transfer process, featuring complete electrical isolation between your computing systems, an accuracy rate rarely exceeding 98%, and a personal promise that your hair will fall out or gray prematurely. Here’s the process for transferring Apple II programs:
- Display your program on the screen. If your program is in Applesoft BASIC, type “LIST”. If your program is in machine language, type “CALL-151″ to start the system monitor. Then, enter the starting address and press “return” to list your program in hexadecimal notation.
- Quickly hit CTRL-S to stop the listing before any of it scrolls off the screen.
- Type in the listing on another computer.
- Quickly hit CTRL-Q to resume the listing. Then, hit CTRL-S again to stop the listing before any of it scrolls off the screen. If you’re too slow with CTRL-S and part of the listing scrolls off the screen before you type the code in, start over. Yes, you could just list the program one screen full at a time rather than do the CTRL-S/CTRL-Q dance, but that’s no fun.
- Repeat steps 3 and 4 until you’ve re-typed the entire program.
- Hope and/or pray that you typed everything exactly right. If not, start over at step 1. If you get disheartened, remember that this is the “true retro experience” much like typing in games from magazine listings using a keyboard with broken arrow and backspace keys. Be happy that you have a real keyboard and CRT rather than punch cards.
With minor adaptations, you can apply this process to any program or data file on any computer. Want to pirate Windows 7? No problem … just don’t ask me for help with the typing.
I just received the latest issue of Juiced.GS and found this stamped on the envelope.
This is 2012. Almost nobody even knows what “magnetic media” is anymore. This stamp could be a foreboding sign:
You’re walking down a dark alley. Rats, scratching for a bite, scurry behind the overflowing dumpsters. Somewhere in the shadows there’s a raspy breathing sound. A windowless padlocked door has an old handwritten sign: ”Magnetic Media” Beneath that, barely visible under rust brown splotches: “Do Not X-Ray | Do Not Bend”. A cold mist has settled on the ground.
Thankfully, the envelope contained, nestled between the full-color cover pages of Juiced.GS, a 5¼” floppy disk in a hand-made sleeve with Drift, an original Apple II program with all new music, graphics, ASCII art, and easter eggs.
KansasFest was a non-stop blast of fun, knowledge, and friends.
I presented a session on solar powering an Apple II. To make room for luxuries like cups and water in my 70 square foot van, I had to put my Apple IIs in storage. Due to a bit of luck, I managed to find an Apple IIc on Craigslist in Salt Lake City. Under a nasty layer of dirt, I found a good condition ROM FF machine with a 9″ monochrome green monitor, ImageWriter printer, assorted disks, and assorted manuals. I solar powered this machine and am currently enjoying retro-computing overlooking the The Grand Teton. The presentation slides are here, and Ken’s video recording will be on the KansasFest website.
This year’s event was exceptionally (and pleasingly) busy with barely an idle moment, and I’m not sure how to enumerate the awesomeness. David, Earl, and Carrington recorded a live episode of RCR. Juiced.GS announced another year of publication. Ken and Mike of Open-Apple shared bloopers. Vince helped me build a Replica Micro-KIM. Martin released a new game and a nifty new programming language. Geoff schooled us on toolsets, CDAs, and NiftyList. Brian gave us an inside look into his Firefly documentary and the filming of Serenity. Randy shared his long history with Apple II software, Beagle Bros, and Appleworks. Romero captivated the audience with his stories of Apple II gaming and influence on modern gaming. Alex shared his robot, WALTR, and other projects. I got a shiny New Apple II User’s Guide. I bought a SuperProto prototyping card.
I look forward to next year and am inspired to continue my Apple II related projects.
My work on robots and the Apple II has been quiet lately, but I’ve been busy. My latest project is a conversion van, which I will live in full-time. The goal is to be self-sufficient, including power and Internet connectivity, anywhere in the U.S. for at least a week. Sure, my house will be small, but my backyard will be huge. To achieve this, I’ve been working on several projects.
- Solar Power – The van carries a battery bank, solar array, and optional charging from the alternator. I’ve spent time analyzing my power requirements, understanding how the components connect and work together. I’m installing a battery monitor to measure charge and discharge rates. It’ll be interesting to see how the system performs compared to my predictions.
- Two-way Radio – Since I’ll be traveling in places well off the beaten path, I’m installing a ham radio for emergency communication and staying connected. I just got my first amateur radio license, KD0QXJ.
- Integrated computer – I’m integrating a small computer into the van to provide backup service for a laptop, wireless access point, firewall and router for a satellite Internet connection, and file server. Also, the computer provides monitoring and data logging for internal temperature sensors, GPS receiver, battery monitor, and solar charge controller. The goal is to monitor all the major systems of the van from a tablet computer to reduce the number of control panels mounted on the walls, consolidate monitoring in one convenient location, and capture historical data.
These projects are coming together very soon, and I’ll share details as I get them.
I’d like to share this thought-provoking interview from The Daily Papert with Dr. Cynthia Solomon and Dr. Wally Feurzeig, two of the creators of the Logo programming language. I appreciate how this interview describes the educational and technological environment in which Logo developed.
I gave two presentations at KansasFest 2011, the first an introduction to the Logo programming language and the second a survey of small turtle robots contemporary with the Apple II. Ken Gagne recorded the presentations and has kindly made the videos available.