The greatest tool you have is, YOU. The processor at the heart of an embedded system is the heart and mind of the embedded systems designer. That’s what I love about the Apple II. Steve Woz took what others were already using, put his heart into it, and came up with a system that many people could love. I know that computer love is a taboo topic, but not many people can bond with a desktop these days. The Apple II offered that. A lot of the final design was because Woz wanted to be able to play ‘breakout’ on the new system. If he hadn’t had love for the system, the project wouldn’t have been as great.
I am an amateur. I love working with the embedded design process because it takes something which is bound – a computer system – and turns it into something without boundaries – the imagination of the designer. An embedded system is not necessarily dictated by the skills of the designer, but by his drive and creative imagination. Yes, my code is fat, yes my circuits are often faulty, but in the end it is my drive that makes the projects move forward.
I’m taking my passion and turning it into cash. I’ve applied for a second undergraduate degree in Computer Systems Engineering (though I may switch over to the move traditional ‘computer science’). I know it won’t be as fun getting paid for it, but eating every day will be a huge bonus.
Which one of the following is a tool, which is a toy?
Development Tools for the Project
From left to right: New Breadboard with a 6502 and 64K SRAM chip. New Multimeter – my old one was trash. Keyboard from Apple IIGS taken apart and ready to hack.
Current project update:
Keyboard is ready for hacking – literally. My roommate and blacksmith friend Ellen is going to cut the numerical keyboard half off of the keyboard – which as luck would have it – seem to only be attached by jumpers.
Design is coming together. I am planning on doing some very retro things with the case/layout design.
Tools are chosen: I am going to learn the propeller chip because it is an optimal chip for this type of project – more on that in an upcoming post.
Learning Apple II memory map and 6502 Assembly. Though, I’ve realized that I probably don’t need to know as much 6502 Assembly as I once thought, it is a very rewarding experience to learn a chip from the inside out.
I only discovered FPGA technology recently. It’s pretty cool, but initially baffling stuff.
FPGA stands for Field Programmable Gate Array. PC Magazine’s Online Encyclopedia defines it this way:
A type of gate array that is programmed in the field rather than in a semiconductor fab. Containing up to hundreds of thousands of gates, there are a variety of FPGA architectures on the market.
What the hell does that mean? Well… every processor has its logic operations (all possibilities of available mathematical/digital processes) hardwired in its architecture. Every single operation, from bit shifting left to multiplying, is available as a circuit to be used by software. These are Logic Gates or ‘gates.’ You can think of these ‘gates’ as neural connections inside the chip that give it both its unique character and its processing capabilities.
A blank disk can be programmed to have any software on it (provided it fits in the space available). Likewise, an FPGA has a bunch of ‘logic gates’ that can be combined and implemented to exactly replicate the operation of any processor (within its limits defined by the number of gate arrays). What this means is that the Apple II can potentially be replicated EXACTLY using an FPGA method.
Several groups have done this already:
Columbia Professor’s Report on Apple II FPGA
AppleLogic.org FPGA Apple II Stuff
FPGAs allow a user to build a very exacting, small, and efficient Apple II, but require learning a whole new set of skills – CPU Design – Use of Design Tools – Use of New Hardware – etc. Every tool has its cost, but ultimately the COST of these FPGAs is rather steep. Paying $350 for an FPGA that will be mainly used for an Apple II is interesting, but not cost efficient.
I have provided this discussion and links primarily for education, or those already familiar with FPGA based solutions looking for Apple II links.
Approaches to Building an Apple II in the 21st Century
The Apple II was not unique in its hardware. Instead it was unique in its hardware implementation to give users a functional computer for far less than Apple’s competitors. It did more with less. This project follows the same principal in replication. The goal is to do more with less.
1. Full Replication:
Full Replication has its advantages in that the builder creates a 100% historically accurate machine more or less guaranteed to run software properly and have the ‘feel’ of a classic machine. There were enough resources even when the Apple II was released to build clones, and many clones were produced. To my knowledge there is only one site that provides circuit boards and parts for such a build (though all the parts are still available from major part’s houses and overstock warehouses):
Apple II Revision 0 Build
The cost of ICs and connectors aside from the circuit board are approximately $150 if you bargain shop. However, system specific RAM is still going to be a problem and the system ROM must be purchased or replicated. (Steve Woz has not given a nod to replication – original Apple II Roms are still available – either pulled from a working machine or here.)
Doing a full replica build does not make sense for my project because I am seeking ways of making the machine neater and sleeker. This means that I will be doing some sort of hardware replacement or emulation. Of course, one of the fastest ways of cutting down the parts count of an original Apple II is making your own board with a single 64K SRAM chip.
Design and acquisition go hand in hand. As any hacker knows, a $5.00 LCD find can define the dimensions of a project… which seems to be the case today.
That is a $5.00 find at the local Goodwill. It was probably a fully functional DVD player, but someone had paired it with a 9 V. adapter instead of the 9.5 it requires. I believe the battery that came with it is good as well, so I’ll try to incorporate it into the design because laptop batteries aren’t cheap.
I was also able to score an Atari console and various connectors for under $10.00. Someone at the store told me that Atari paddles are available at another Goodwill just a few miles down the road, but I’m not really interested (for now).
So, the current todo is to get a Voltage regulator and make a power supply for the mama-jamma that will work so I can test it out before embedding it.
I have a dream.
That one day all the 8 bit machines of the 6502 era can live together in harmony. I will not let the RP2C02, nor the RAM, nor even proprietary ROM come in the way of realizing my dream. That said, my focus right now is to build a hack-top using the W65C265S. This is a microcontroller based on the 16 bit 65C816 microprocessor, which is a flexible 8/16 bit IC that formed the core of the Super Nintendo.
However, for simplicity’s sake, this project has several simple goals:
- Learn 6502 Architecture
- Design a very small Apple II Clone
- Learn basic Hardware Hacking Tech
I may use the microcontroller version of the 6502 for simplicity, but it would be nice to have expansion capabilities up to 16 bits.