Weird Clocks And A Two Chip Apple I

The Apple I, [Woz]’s original, had about sixty chips on a single board. Most of these chips were logic glue or hilariously ancient DRAMs. The real work was done by the 6502, the 6821 PIA, and the Signetics video chip. It’s a simple computer, really, and following the now popular tradition of two-chip computers, [Dave] built a replica of the Apple I using a 6502 and an ATMega.

The ATMega in this project takes care of everything – the 4k of RAM, the few bytes of ROM, the IO, and even the clock. With the 6502 you can have a little bit of fun with the clock; because the 6502 reads data off the bus a few nanoseconds off the falling edge of the clock and writes on the rising edge, [Dave] played around with the duty cycle of the clock to give the ATMega a bit more time to do its thing. With a 50% duty cycle, the 16Mhz ‘Mega has about eight cycles to decode an address and read or write some data. By making the low part of a clock cycle longer, he has about 45 cycles on the ‘Mega to do all the work. All of this was inspired by a fantastic tutorial on the 6502 clock.

Right now [Dave] has some hex values displaying on a small LCD, while the real I/O is handled by a serial connection to a computer. It’s retro enough, and a future update will include a faux cassette interface, possibly using an SD card for storage.

18 thoughts on “Weird Clocks And A Two Chip Apple I

    1. I was puzzled by that statement as well. Was it hilariously ancient when the Apple I hit the market or is it hilariously ancient now? Either way, I’m not sure what’s hilarious about it….

      1. Well the Wright Flyer was hilariously ancient when compared to an Airbus (how many computers did the Wright Flyer have anyway?) but it was still the first heavier than air aircraft and always will be. The technology of the past does look ridiculous today but without it we wouldn’t be where we are today. All babies look funny when they start to walk.

        1. It wasn’t quite that bad. It used the Mostek MK4096 (4096 bit, 512B – 16 of them in the base configuration of 4k), which was released in 1973. It was an interesting choice in 1973 as it was the first multiplexed DRAM (used less pins than non-multiplexed equivalents). By 1976 it became the budget option when it was superseded by the MK4027, which was silicon-gated instead of metal-gated.

          So while it was one model behind the bleeding edge, it was still very much contemporary.

          (sorry, a bit lame replying 2 weeks later. Holidays & all ..)

  1. My L-Star project may not be able to match the chip count of two, because the Propeller needs an EEPROM to work, so it has 3 chips (Propeller, EEPROM, WDC 65C02).

    It does make a whopping 16K of virtual RAM available to the 65C02 (more if you use a smaller ROM, I used the 8K Krusader by [Ken Wessen] which includes Woz mon, BASIC and an interactive Assembler/Disassembler), it can generate video and it can use a PS/2 keyboard, and it won’t catch any flack from Arduino haters :-)

    Also, I’m working on implementing an OSI Superboard emulator on the same hardware.

  2. “Hilariously ancient”

    Man, Brian, please stop the clickbait writing or risk losing more of actually tech-competent readers.

    Also, my views may seems ancient, but using MCUs to emulate logic is simply wrong. Please come back once the system is reduced to actual logic in a FPGA or CPLD.

    1. Ugh, you kids and your programmable logic. Why in my day, we couldn’t afford fancy PLAs much less 74 series logic. When someone said “implement it in TTL” we dug into our 55 gallon drum of salvaged BJTs and wired transistors to other transistors.

      1. Ugh. Them kids and their KiloBinaryBytes. WE know what a Kilobyte, Megabyte, Gigabyte etc are. If these people want different terms for Base 10 numbers, let them use new ones for them instead of expecting to rewrite history by pushing new words for established conventions for Base 2.

        1. Exactly. Binary units only make sense in power of two format, idiots need to stop shoving the “i” in the units just because some SI committee wanted their names in the history books. Binary units don’t need a base-10 prefix, only a base 2. 1MB = 1048576 Bytes, or 2^20.

    2. The old logic chips are pretty much matured products only while most of the newer discrete logic chip families no longer has the full set of logic function these days. Going forward, using CPLD/FPGA is the scalable way of implementing logic. The logic complexity can grow as you do more complex design. Wiring physical part together can only go so far. Learn HDL and not waste time living in the past.

      As for logic vs firmware, it is whatever the best tool for the job. If you are a one trick pony, you are limiting your options.

  3. There does seem to be something missing… Something that should total the number of 38. and thirty-eight the number it should total.
    I’m not clear on what it should be, but it is clear to me that there should be 38 of something in there that could also have been done with 1 or 2 things.

    And leather… it needs leather.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.