So you want to make pixel art for an Apple II

(deater.net)

56 points | by _Microft 18 hours ago ago

11 comments

  • GarrettBodley 7 hours ago ago

    Incredible resource. The graphics modes of the ][ are so wacky and require real creativity and ingenuity to work around. I have tremendous respect for anyone who can program a working graphical interface under those constraints.

  • TMWNN 13 hours ago ago

    Adrian's Digital Basement just released a video discussing an open-source design for Apple II HDMI output. In the video he discusses an Apple IIe-only graphics mode that this article does not mention, I believe. <https://www.youtube.com/watch?v=rrM6bPCk8DM>

  • christkv 15 hours ago ago

    I’ve always wondered how the apple 2 pal version worked due to the way the us version used ntsc artifacting from my understanding for some aspects of the graphics.

    • ack_complete an hour ago ago

      I looked up how the Eurocolor card encodes PAL. It takes the raw 14MHz bit stream from the motherboard video encoder and samples groups of 4 bits every 3.58MHz, essentially double-hires pixels at half standard hires resolution. Those are then encoded to PAL R-Y and B-Y color difference signals through resistor networks. In parallel, the luminance goes through a 3.58MHz notch filter to remove alternating pixel patterns. As others have said, it essentially decodes NTSC color and re-encodes PAL, but it doesn't have enough resolution to encode color fringing artifacts as seen on NTSC outputs.

      The IIgs has a more sophisticated color encoder for its RGB output that uses a sliding 4-bit window with a fringing detector, which is able to produce higher color resolution.

    • kalleboo 11 hours ago ago

      Interesting.

      It would generate a PAL-clocked black-and-white signal (with what would be NTSC artifact colors, except in PAL they don't artifact), and then a separate circuit would read that and generate the colors based on the pattern.

      There also seemed to be "International NTSC" models that would output NTSC color at 50 Hz and only worked with Apple's own displays...

      https://nerdlypleasures.blogspot.com/2021/10/apple-ii-compos...

      > The PAL Color Encoder Card would tap into the video signal, convert every pixel into a 4-bit value, assign the correct color and generate a PAL-compatible 4.43MHz color signal running at 50Hz with colors assigned according to the pixel patterns

    • peteri 12 hours ago ago

      There is a detailed description of the circuit with the PAL colour card (it's on the euro //e motherboard) in Understanding the Apple //e by Sather (see archive.org for a copy) on pages 8-16 -> 8-19.

      You do get the green/purple fringes on text, the euro //e has a switch on the motherboard that turns off the TCA650 and forces mono mode which is handy for 80 column work.

      I _suspect_ you don't get all of the NTSC artifacts since PAL will be a bit better, but I really need to get my TV plugged in on my //e running one of the games (adventures typically) that use artifiacts to check.

      The other alternative is the apple authorised ITT2020 which added an extra bit to the display so shows "jail bars" on screen when running ][ software. Again I should drag mine out to do some testing.

    • TMWNN 13 hours ago ago

      Unlike later home computers that directly output color signals, Woz designed the Apple II to use a side effect of the NTSC color TV standard's backward compatibility for black-and-white televisions. Basically, it cheats. The dependence on NTSC for color is why, as you noted, the separate Europlus models were developed.

      Woz is one of the greatest engineers of the 20th century, and the Apple II demonstrates his talent. After its 1977 debut, no other mass-market home computer offered color output until the Atari 400/800 line two years later. But his brilliance at simplifying things always straddles the line between optimized and overoptimized. The Disk II might be his greatest feat at doing more with less, while the video circuitry falls just into overoptimization, given the color fringing, NTSC dependence for color, and lack of lowercase. Integer BASIC is somewhere in the middle; great performance (especially given (or maybe because) Woz knew nothing about mainstream BASIC), but the code is so tightly written that it was easier for Apple to license Microsoft BASIC than to add floating-point code to Woz's work.

      • IWeldMelons 13 hours ago ago

        This is unnecessarily long non-answer to the parents question.

        • ponow 11 hours ago ago

          But very interesting.

    • IWeldMelons 13 hours ago ago

      the must've used RGB to pal coder. I used some in late 90s, when designed a system that would convert negative PAL stream into normal PAL stream.

  • helpfulContrib 11 hours ago ago

    [dead]