Slashdot Mirror


Turning the Arduino Uno Into an Apple ][

An anonymous reader writes: To demonstrate how powerful modern computers are compared to their forebears, engineer Damian Peckett decided to approximate an Apple ][ with an Arduino Uno. In this post, he explains how he did it, from emulating the 6502 processor to reinventing how characters were displayed on the screen. "The Apple II used a novel approach for video generation, at the time most microcomputers used an interlaced frame buffer where adjacent rows were not stored sequentially in memory. This made it easier to generate interlaced video. The Apple II took this approach one step further, using an 8:1 interlacing scheme. This had the first line followed by the ninth line. This approach allowed Steve Wozniak to avoid read/write collisions with the video memory without additional circuitry. A very smart hack!" Peckett includes code implementations and circuit diagrams.

4 of 113 comments (clear)

  1. Re:Did this really need demonstration? by marka63 · · Score: 3, Informative

    Apple II w/ 4K of memory would cost $5236.87 ($1298) in todays dollars. While this may be a lot less than a lot of computers at the time I wouldn't call it a cheap computer by any stretch of the imagination.

  2. Re:Did this really need demonstration? by Anne+Thwacks · · Score: 4, Informative
    The 6502 was years before the 6802 or Z80. The 6800 was designed by the same people. After they designed the 6800, they realised that processing strings on a 6800 was hell's own job cos it only had one pointer (although it was 16 bit). The 6502 had two 8 bit pointers and could therefore do a string move or compare quite painlessly and any fool could write a Basic interpreter for it in a couple of weeks.

    There was a 6500 before the 6502 (I had one) but it used a weird technology that meant it drew almost all its power from the clock lines (two phase non-overlapping clock) and the interface voltages were also non-standard, so the 6502 was magnificently better. It was cheaper because of volume - the die size was almost exactly the same - the chip was almost exactly the same. (I think they got some major order before it was even available for general release), and there was a second source (Rockwell).

    The 6800 was a superior processor if you did not have much string processing to do. The 68000 was an entirely different beast.

    --
    Sent from my ASR33 using ASCII
  3. Re:Did this really need demonstration? by jbolden · · Score: 4, Informative

    The Apple 2 came out in 1977. Visicalc was 1979 and didn't start development until 1978. No Apple was not building the machine around Visicalc.

  4. Re:Interlacing? WTF? by msauve · · Score: 4, Informative

    Woz designed a video system which very gracefully solved a few problems. For memory, one could choose from static or dynamic RAM. Static was easy to use, but costly. Dynamic RAM was required to be refreshed (accessed every couple of ms), or stored bits would simply be forgotten. But you could get higher capacity chips at lower cost.

    Woz designed the Apple ][ video system so the order it read data from RAM automatically fulfilled the DRAM refresh requirements. And, the video system reads were interleaved with CPU access, so the CPU never had to wait while video or DRAM refresh was happening, as was common with other designs.

    The claim of an 8:1 interlace isn't really correct. The bitmapped memory layout used an 8:8:1 interleave. The first 8 rows were addressed 0x400 apart, that pattern was then repeated 8 times with an offset of 0x80. Details can be Googled. Part of the reason for that is so DRAM refresh hit every required location often enough.

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law