
Why the Apple II Didn’t Support Lowercase Letters - freediver
http://www.vintagecomputing.com/index.php/archives/2833/why-the-apple-ii-didnt-support-lowercase-letters
======
spzb
Site down at the moment. Mirror :
[https://web.archive.org/web/20200910152535/http://www.vintag...](https://web.archive.org/web/20200910152535/http://www.vintagecomputing.com/index.php/archives/2833/why-
the-apple-ii-didnt-support-lowercase-letters)

~~~
spiritplumber
back then we used to call it slashdotting, what do we call it now?

~~~
supernova87a
Whatever happened to Slashdot? Did the slowness of new stories appearing +
their comments system turn people off eventually, compared to interfaces like
here?

I used to read them daily.

~~~
g051051
After several management shakeups, the editors went off onto some weird
tangents with video segments, allowing off-topic posts, and paid content
masquerading as stories.

That's when I quit. Why did you stop?

~~~
dasil003
/. -> Digg -> Reddit -> HN

~~~
totetsu
Sometimes I feel bad for HN, full of all us fleeing Reddittors

~~~
andykx
I use both Reddit and HN. HN has much better content (both links and
comments), but it has a singular focus on tech/things tech people generally
like.

On the other hand, there’s a subreddit for practically every hobby. In many
cases, Reddit is home to the largest community related to a hobby. Sometimes
things related to my interests outside of tech pop up on here, but the
discussion is rarely in depth.

------
thought_alarm
I've always wanted to know why Apple II video screen is only 280 pixels wide.

The Apple II video screen is 40 bytes wide, but it only draw 7 pixels per
byte, for a total of 280 pixels. The 8th bit was used for selecting the color
pallet (eventually; initially the 8th bit was just ignored)

Drawing 7 pixels per byte makes everything a lot more complicated, so it would
seem to go against Woz's obsession for simplicity. It's hard to believe that 7
pixels per byte would reduce the chip count, and it certainly makes the
software a lot more complicated (lots of divide-by-sevens).

CGA graphics and the Atari 400/800 also provide a composite graphics mode
similar to the Apple II, where each pixel lines up with the NTSC color burst
frequency, but they draw 8 pixels per byte for a total of 320 pixels, and
therefore use a wider portion of the screen.

Perhaps Woz thought (incorrectly) that the NTSC screen wasn't wide enough to
accommodate 40x8 (320) pixels so he cut it down to 40x7, or he planned all
along to use the 8th bit to provide extra color. It would be interesting to
know the actual reason.

~~~
tlb
For text, a 5x7 dot matrix font fits nicely in 7 (wide) x 8 (high). 8-pixel
wide characters look funny: characters have to be an odd number of pixels to
get symmetrical letters like A, so you either have 1 or 3 pixels spacing
between.

While NTSC allows 320 pixels, typical analog TVs overscanned a lot and you'd
miss the right and left column or 2 of text.

~~~
thought_alarm
That seems like a big price to pay for slightly better text spacing. Virtually
every other home computer used 6 or 8 pixels per char/byte.

I don't think overscan would be an issue. The TMS9918 is also (the equivalent
of) 320 pixels wide, and it was used in many different home computers and game
consoles intended to connect to the family TV. There's no overscan issue,
unless it's connected to an Apple II monitor.

When the TMS9918 is connected to an Apple II monitor there is a huge overscan
issue, since the monitor is tuned for the narrower Apple II screen. It looks
like this: [https://imgur.com/rGcRpw0](https://imgur.com/rGcRpw0)

That's what got me thinking about this issue is the first place.

~~~
tlb
OK, but the Apple ][ was sold before special computer monitors were common. It
was meant to hook up to your existing home TV. So what mattered at the time
was the way most people's TVs were calibrated. They usually had a lot of
overscan, because (a) 1970s picture tubes weren't square, they had a lot of
rounding at the corners (b) the (all-analog) deflection & blanking circuits
made fairly ugly artifacts at the edges which TV makers tried to hide.

If they'd shipped with 320-wide video, a lot of people wouldn't have seen the
prompt on the left hand side.

~~~
thought_alarm
The Atari 400/800 and the TMS9918 (TI 99/4A, Colecovision, etc.) are 320
pixels wide and were designed to run on those same 1970s home television sets,
and they didn't have an overscan problem (maybe some sets did, but most
didn't). I don't think the Apple II had to cut the screen width down to 280
pixels.

That's the heart of the question. Did Woz think that 320 pixels would not fit,
or did he cut the width down for another reason, like more color.

~~~
joezydeco
Or, perhaps, he didn't want to pay for a video generator IC like a 9918 or
6845.

If you look at the video generation circuit on an Apple ][ it's all done _in
real-time in TTL, alongside the DRAM refresh activity_. And it's all crammed
into the normally unused tock of the 6502, making this work with virtually
zero overhead on the CPU. That's the reason why the memory mapping of the
screen isn't linear to the physical display. The software tradeoff was cheaper
than the hardware one.

[http://twimgs.com/informationweek/byte/archive/Apple-II-
Desc...](http://twimgs.com/informationweek/byte/archive/Apple-II-
Description/The-Apple-II-by-Stephen-Wozniak.pdf)

~~~
ddingus
And it made add on cards simpler, as well as cycle counting. In addition, the
overall throughput of the CPU is better than most other machines, giving the
Apple an effectively higher speed at that clock rate.

Overall, given memory expansion, the goofy screen didn't end up being too big
of a deal. Most programmers made Y axis lookup tables and called it a day. The
fact that the artifact color mapping repeated every word, two bytes, did have
an impact in that it was generally faster to maintain two pre-shifted copies
of software sprites though.

~~~
thought_alarm
Speaking of add on cards, I own a TMS9918 video card for my Apple II. It's
remarkably simple. The 9918 manages its own 16 kB of VRAM and it doesn't place
any timing restriction on the host system.

You'd think that the 9918 would be a bottle neck between the CPU and the VRAM,
but the Apple II can write to the 9918 VRAM as fast as its own internal RAM.
Faster, actually, since the destination address auto-increments. That was a
surprise.

~~~
ddingus
Interesting!

Hmmm, is the bitmap linear by line, or C64 style?

Auto increment + C64 style would rock pretty hard. It's still good per line.

Both have their merits.

~~~
thought_alarm
Bitmap mode is made up of 8x8 tiles. The screen is 32x24 tiles, or 256x192
pixels. 2 colors per line per tile. So a single tile can contain up to 16
colors.

A single screen is divided into 3 separate tile maps, each 256 bytes long.

It also supports 32 spirtes but only 4 sprites per scanline, which is its
biggest limitation.

The Sega Master System used an upgraded version of the 9918, adding 64 colors,
smooth scrolling, and 8 sprites per scanline, all within the same 16 kB of
VRAM.

~~~
ddingus
So if a person maps them up, one gets basically C64 style display.

Yeah, auto-increment can rock! Blasting characters to the memory would be
fast, and only require a precise index for the source data. Perfect for the
6502. Other index can be done every so often, depending on what is being
drawn.

------
dhosek
Reading Woz's talking about hand-assembling his 6502 code reminded me of my
own practice which was the same. I would write out programs on graph paper
with columns for the physical address, any labels and space for what the code
would assemble to to the left of my actual assembler code. I would drop down
to the monitor to hand-enter the hex code I would hand-generate. When you're
working under constraints like this, you tend to be _very_ careful in your
coding. There's a part of me that still thinks in terms of the Apple ][
architecture when thinking about how a program works.

~~~
ddingus
Same here.

Early on, I didn't have a machine of my own and would hand assemble programs
to be typed in next time I could get some machine time.

------
TMWNN
Woz explains why the original Apple II (1977) doesn't support lowercase
letters. That's not surprising, in retrospect; neither of its major
contemporaries, the Commodore PET 2001 nor the TRS-80 Model I, does either,
despite being developed by major corporations with substantial resources.

He doesn't explain why the Apple II+ (1979)—after the II's market success was
proven—doesn't support lowercase letters. Even if software uses graphics mode
to display lowercase letters, the II and II+'s keyboard does not have
physical/electrical support for detecting shifted letters. Since graphics mode
is cumbersome and slow, word processors for the II and II+ typically use
reverse video to indicate capital letters, and use another key like Escape as
a shift toggle. A popular alternative is the shift-key mod that fattire
mentioned, which requires soldering of a wire to one of the paddle ports.

The lack of support is because the company was working on the Apple III
(1980), which it expected would quickly obsolete the II series. The III has
built-in 80-column text and full lowercase support, at both the character-font
and physical-keyboard levels. Apple had incentive to not make the II too
attractive.

Neither Woz nor anyone else at Apple expected that a) the III would quickly
fail, and b) the II series would remain Apple's bread and butter. Without the
III's distraction the II+ would surely have had built-in lowercase software
and hardware support, or there would have been another II around 1981 with
such. As it were, the III took up so much of Apple's resources that the Apple
IIe did not appear until 1983, by which time the IBM PC had surpassed the II
series.

------
robterrell
When I was a kid, I used to buy EEPROMs at the local electronics store and
burn them with the Apple ][ lower-case characters. I sold them in my dad's
computer store, along with a wire that would connect the shift key to the last
paddle button on the game port. It was a common hack, and some software would
actually recognize it and properly display upper/lower characters.

------
fattire
Some of the Apple clones, such as the Franklin ACE models and others, offered
lowercase.

Do a quick search for "apple II shift key mod" and you'll find vintage PDF
instructions for adding it yourself..

[https://archive.org/stream/II_II-Shift-
Key_Modification/II_I...](https://archive.org/stream/II_II-Shift-
Key_Modification/II_II-Shift-Key_Modification_djvu.txt)

~~~
Syzygies
As a math grad student in 1980, I took out a student loan for $3,000 (equal to
my annual stipend) to buy an Apple II computer. (Eventually, computation
established my career, just not on this machine.)

I recall making a "shift key mod" within days, that no doubt voided my
warranty. It wasn't the mod described in this article. I recall some card that
gave me 80 columns, Pascal, and increased my memory from 48K to 64K. I believe
that my shift key mod involved cutting a single trace? In any case it worked.
Various out-of-school friends learned computers on this machine, and changed
careers. I learned the low memory locations like the back of my hand, and
wrote crude Pascal programs, while my "real" code was in the relatively young
C language on a Unix timesharing machine. That all changed when I bought one
of the first Mac 128K's. Manx Aztec C!

------
js2
Videx lower case chip to the rescue:

[http://mirrors.apple2.org.za/ftp.apple.asimov.net/documentat...](http://mirrors.apple2.org.za/ftp.apple.asimov.net/documentation/hardware/video/videx_lower_case_chip.pd)

Another amazing bit of kit by Videx was a replacement keyboard controller
called the Enhancer II:

[https://archive.org/details/Videx_Enhancer_II_Installation_a...](https://archive.org/details/Videx_Enhancer_II_Installation_and_Operation_Manual)

The Enhancer II included the lower case chip.

Videx also made an 80 column peripheral card for the Apple II. The company is
still around:

[https://videx.com/](https://videx.com/)

~~~
hisham_hm
Didn't the Apple II feature lowercase by the time of the IIe? My Brazilian
clone of the II+ included the lowercase mod stock (even including Brazilian
accented characters such as ç and ã).

~~~
Max10101
It did, the upgrade for the Apple iie was the 80 column card which also gave
128k memory (from 64k). That was built in to the apple iic.

------
varbhat
I don't know why but interest of computer community shifted from uppercase
letters to lowercase letters over the course of time.

~~~
pilsetnieks
Lowercase is simply easier to read because of more diverse letter and word
shapes.

[https://ux.stackexchange.com/questions/72622/how-easy-to-
rea...](https://ux.stackexchange.com/questions/72622/how-easy-to-read-are-
small-caps-vs-lower-case)

~~~
csnover
This is not correct. The “word shape model” itself is actually probably
wrong[0].

> The weakest evidence in support of word shape is that lowercase text is read
> faster than uppercase text. This is entirely a practice effect. Most readers
> spend the bulk of their time reading lowercase text and are therefore more
> proficient at it. When readers are forced to read large quantities of
> uppercase text, their reading speed will eventually increase to the rate of
> lowercase text. Even text oriented as if you were seeing it in a mirror will
> quickly increase in reading speed with practice (Kolers & Perkins, 1975).

[0] [https://docs.microsoft.com/en-us/typography/develop/word-
rec...](https://docs.microsoft.com/en-us/typography/develop/word-recognition)

~~~
yesenadam
Jazz pianist here. I had a weekly gig for a couple of years where the singer
would choose songs and put the chord chart – | Eb C-7 | F-7 Bb7 | etc. – on
the grand piano so the bass player could read it, and it was upside down for
me. After a while, it almost seemed easier for me to read chord charts upside
down!

------
vagab0nd
> In the early 1970s, I was very poor, living paycheck to paycheck.

I'm just curious, was an engineering job at HP in the 1970s not well paid?

~~~
stan_rogers
Define "well paid". Entry-level (relative) wealth is a recent thing.

~~~
nealabq
Remember, he didn't have a degree until 1987. And credentials mattered more
back then.

When I graduated with a B.S. in 1982 I had 4 offers, ranging from $22K to
$28K. It was enough for the two of us -- our apt was $275/month. But there
wasn't a lot left over.

------
mmphosis

      FD7E: C9 E0     CAPTST   CMP   #$E0
      FD80: 90 02              BCC   ADDINP     ;CONVERT TO CAPS
      FD82: 29 DF              AND   #$DF

------
jhallenworld
Did the Woz read the TV Typewriter article?

[https://en.wikipedia.org/wiki/TV_Typewriter](https://en.wikipedia.org/wiki/TV_Typewriter)

I bought Don Lancaster's book from Radio Shack long ago...

Also: what new technology are people desperately trying to get access to? I
need to start the new Apple..

~~~
benjedwards
I asked Woz about the TV Typewriter before. In an email to me once, he said he
had not heard about it at the time.

[https://twitter.com/benjedwards/status/1303784698662055936?s...](https://twitter.com/benjedwards/status/1303784698662055936?s=20)

------
beervirus
Written by Woz himself!

------
rogueresearch
Later versions of the Apple II line did eventually support uppercase. I forget
which had it first, but the IIgs certainly did.

~~~
Finnucane
The II+ was basically a II with support for lowercase and 80-column lines
added by means of an expansion card.

~~~
byteCoder
Actually, the ][+ was still 40-column, uppercase. I remember wiring a pin off
my keyboard controller card to the paddle button input and add a replacement
character ROM to get lowercase support.

It was the //e and //c that had built-in lowercase support.

~~~
te
We had an Apple II+ with the limitations you describe. However, we purchased
and installed the 80-column card that provided both 80-columns and lowercase
characters, which is what I think the parent comment is suggesting.

~~~
rz2k
I remember adding 16KB or 32KB to get to a total of 48KB of RAM with a card
that piggybacked onto the existing chips. Was that the same upgrade that
enabled lowercase letters?

I mostly remember that the RAM upgrade changed the gauges in MS Flight
Simulator from octagons into rounder circles.

------
spzb
I want to know why the Dragon 32 didn’t have lower case characters but
displayed inverse coloured upper case ones instead. Used to play havoc with
Basicode 2 programs.

~~~
benjohnson
The 6809 and accompanying Motorola 6833 SAM chip in your Dragon that handled
the graphics was originally meant to be a video terminal - and uppercase was
just fine for that. The later versions of the SAM did have a proper lowercase.
Those showed up in later TRS-80 CoCo II but took a bit of prodding to
activate.

~~~
jecel
Actually, the 6883 SAM (synchronous address multiplexer) is the DRAM
controller and the 6847 VDG (video display generator) is the one that has the
various video modes. See the character set implemented by the internal ROM in
figure 20 of
[https://people.ece.cornell.edu/land/courses/ece4760/ideas/mc...](https://people.ece.cornell.edu/land/courses/ece4760/ideas/mc6847.pdf)

~~~
benjohnson
Your correct! It was the MC6847T1 update that allowed for lowercase.

------
ajankelo
BECAUSE STEVE LOVED TO YELL!!!!!

------
notum
Server was hugged by HN it seems.

------
chadlavi
it seems they had an error connecting to the database for lowercase letters

------
coronadisaster
because 1 button... like the iphone or imouse? /s

------
modzu
why do lower case letters even exist? in 100 years might they be done with?

~~~
bonzini
Some argue that mixed case texts are more readable because the ascenders and
descenders provide "synchronization points" for our eyes in scanning text.
Also (and less controversially) uppercase is larger so it is slower to read
it, because there are more pauses to move your eyes to the beginning of the
next line.

~~~
ars
There are plenty of languages without upper and lowercase, I've never heard of
them being slower to read.

~~~
bonzini
Yes, that's why the first point is more controversial. But the second is
interesting: alphabets that lack lowercase, like Korean hangul, have bigger
characters but they pack more information into each of them.

------
xchip
I am sure this could be answered in a one liner but the article is going to be
long as hell

~~~
read_if_gay_
True of most articles but doesn’t automatically mean reading them is wasted
time.

------
wffurr
Imagine if Woz had had access to a UBI and universal healthcare instead of
being super broke and living right on the edge. What could he have created
with just a few extra resources? How many would-be Wozs are out there now too
scared to spend that $300?

~~~
JKCalhoun
He had a job at HP so no need for UBI (probably would have paid less than HP).
Health care costs certainly were not an issue at his young age.

Better instead if he had had some investor cash earlier. But as a hobbyist, he
wasn't playing the "long game" anyway, just trying to make something cool for
himself and bragging rights at the 'Brew.

~~~
gcheong
Doesn't sound like it would have paid much less and he would have had much
more free time, but it seems he was so enamored with working at HP he didn't
mind getting subsistence wages as an engineer.

~~~
sumtechguy
Working at HP at that time was a pretty sweet gig. It would have been like
getting a job at a FAANG today.

~~~
gcheong
It seems more akin to working at a game company where the companies take
advantage of the fact that so many people want to work in the game industry
they can keep salaries relatively low.

~~~
sumtechguy
true... But also at that time you did not make much as a developer anywhere.
When I started this in the 90s if you made 50-60k you were the super elite of
programmers and had been doing it for 20+ years. Usually if you stayed at a
company they would take care of you. One guy I know went the full route at one
of those companies and retired in the 90s his retirement was very nice. The
dotcom bubble changed everything with respect to pay and long term comp.

