brianw@microsoft.UUCP (Brian Willoughby) (05/22/89)
In article <621@greens.UUCP> matthew@sunpix.UUCP ( Sun Visualization Products) writes: [details of Lower Case hack (adaptable to Dvorak) deleted] > >Now what did I use this for? To add lowercase and shift-lock capabilities to the >Apple ][plus keyboard. >-- >Matthew Lee Stier | >Sun Microsystems --- RTP, NC 27709-3447 | "Wisconsin Escapee" >uucp: { sun, mcnc!rti }!sunpix!matthew | I assume that you had the older keyboard for the Apple II Plus? I made a modification to a friend's II Plus which added Lower Case by only adding a DPDT switch. On the newer (relatively) II Plus units, the keyboard actually had a dotted outline (screen printed on the circuit board) of a DPDT switch which could be soldered directly to the keyboard pcboard. Then, by cutting two bow-tie options, and solder-bridging two additional normally open options, the Apple supplied keyboard generated Lower Case and used the added DPDT switch as a caps lock key. I was hard to find a right angle PC mount DPDT switch to fit, however. I made this mod after adding a new Video ROM to his Plus which allowed lower case characters on the Text screen. Being a late-comer to the II Plus world, I've always wondered why the famed "shift-key mod" was so universally popular, when this mod adds lower case without running special code to check the state of Button 3. The drawbacks of this are: 1) You might not have this version of the keyboard. 2) There are still some awkwardly placed characters (i.e. M & [) 3) You probably will want to modify the Monitor ROM so that it doesn't convert all lower case characters to upper (this can be accomplished by burning a new 2716 with only one byte changed. The "AND #$DF" in the GETLIN routine must be changed to "AND #$FF" to defeat the up-shift). Any program which directly reads the keyboard will work without the custom Monitor ROM. Brian Willoughby ...!uw-beaver!microsoft!brianw or microsoft!brianw@uunet.UU.NET or just brianw@microsoft.UUCP
paul@athertn.Atherton.COM (Paul Sander) (05/23/89)
In article <5773@microsoft.UUCP>, brianw@microsoft.UUCP (Brian Willoughby) writes: > In article <621@greens.UUCP> matthew@sunpix.UUCP ( Sun Visualization Products) writes: > I assume that you had the older keyboard for the Apple II Plus? I made a > modification to a friend's II Plus which added Lower Case by only adding > a DPDT switch. On the newer (relatively) II Plus units, the keyboard > actually had a dotted outline (screen printed on the circuit board) of a > DPDT switch which could be soldered directly to the keyboard pcboard. > Then, by cutting two bow-tie options, and solder-bridging two additional > normally open options, the Apple supplied keyboard generated Lower Case > and used the added DPDT switch as a caps lock key. I was hard to find a > right angle PC mount DPDT switch to fit, however. I made this mod after > adding a new Video ROM to his Plus which allowed lower case characters on > the Text screen. So THAT's what that stuff is for... Neat trick. > Being a late-comer to the II Plus world, I've always wondered why the > famed "shift-key mod" was so universally popular, when this mod adds > lower case without running special code to check the state of Button 3. The reason for this was because the pre-Rev 7 keyboards had a keyboard encoder that could not generate lower-case (and many other) characters. The shift-key mod was a relatively easy patch that most hackers of the day could manage, and it was widely supported. Before 1980, this was the only way of getting lower-case characters without replacing the keyboard or buying or building a peripheral card of some sort that could get the characters in. > The drawbacks of this are: > 1) You might not have this version of the keyboard. > 2) There are still some awkwardly placed characters (i.e. M & [) > 3) You probably will want to modify the Monitor ROM so that it doesn't > convert all lower case characters to upper (this can be > accomplished by burning a new 2716 with only one byte changed. > The "AND #$DF" in the GETLIN routine must be changed to > "AND #$FF" to defeat the up-shift). Any program which directly > reads the keyboard will work without the custom Monitor ROM. A problem with this third point is that 2716s do not fit the Apple ][ Plus' ROM sockets. (Well, they physically fit, but Apple's pinout is non-standard.) In order to pull this off, you need to build a special jig that maps the signals properly. There is the additional problem that the location of the ROMs makes such a jig interfere with any expansion cards plugged into slots 0 and 1 (which are usually filled). The old ROM cards (remember when Applesoft could be bought in ROM on a plug-in card?) could be configured to work with 2716s, and those who still own them could duplicate their ROMs with this patch, but Apple might take exception to that. -- Paul Sander (408) 734-9822 | Do YOU get nervous when a paul@Atherton.COM | sys{op,adm,prg,engr} says {decwrl,sun,hplabs!hpda}!athertn!paul | "oops..." ?
tomk@pro-grouch.UUCP (Tom Kelly) (05/23/89)
Network Comment: to #666 by pnet01!crash!uunet.uu.net!microsoft!brianw Where can I get specific details about how to install the shift key mod as described using a DPDT switch rather than the wire mod?
brianw@microsoft.UUCP (Brian Willoughby) (05/25/89)
>In article <5773@microsoft.UUCP>, brianw@microsoft.UUCP (Brian Willoughby) writes: >> In article <621@greens.UUCP> matthew@sunpix.UUCP ( Sun Visualization Products) writes: >> 3) You probably will want to modify the Monitor ROM so that it doesn't >> convert all lower case characters to upper (this can be >> accomplished by burning a new 2716 with only one byte changed. >> The "AND #$DF" in the GETLIN routine must be changed to >> "AND #$FF" to defeat the up-shift). Any program which directly >> reads the keyboard will work without the custom Monitor ROM. > >A problem with this third point is that 2716s do not fit the Apple ][ >Plus' ROM sockets. (Well, they physically fit, but Apple's pinout is >non-standard.) In order to pull this off, you need to build a special >jig that maps the signals properly. There is the additional problem that >the location of the ROMs makes such a jig interfere with any expansion cards >plugged into slots 0 and 1 (which are usually filled). The old ROM cards >(remember when Applesoft could be bought in ROM on a plug-in card?) could >be configured to work with 2716s, and those who still own them could >duplicate their ROMs with this patch, but Apple might take exception to >that. >-- >Paul Sander (408) 734-9822 | Do YOU get nervous when a >paul@Atherton.COM | sys{op,adm,prg,engr} says >{decwrl,sun,hplabs!hpda}!athertn!paul | "oops..." ? My clone was designed with a 2716, so nothing stopped me from using a customized font editor to make several different character sets and burn them into ROMs. In fact, the friend who I made the keyboard and Video ROM mods for owned a genuine Apple II Plus! and I plugged a standard 2716 into it! No jig, no problems. I had some reservations since the Apple II Reference Manual schematics showed the 2315 Character ROM pinouts were different. But when I checked the wiring on his II Plus, it seems that Apple decided to follow more modern standards when they layed out the Rev. 7 II Plus boards. I have a revision document for the Reference Manual which shows the schematic changes (this was found in the dusty corners of a used book store). My clone board required cutting the grounded traces to A9 and A10 for my EPROM mod (see explaination below), but the Apple II Plus board I looked at actually had option jumpers to allow those two addresses to be sent to the existing ROM socket. I wonder where these Text Video options (and the keyboard lower-case shift-lock options) are documented? For those of you who may have never examined the Video Character ROM circuit, the standard Apple ROM generates 64 characters which make up 256 combinations after INVERSE and FLASH are added. i.e. D0 through D6 of the Video bus are sent to A3 - A8 of the Video ROM, and D7 and D8 activate gates which enable INVERSE (00), FLASH (01) or NORMAL (1x) by inverting ROM outputs. The same character (modulo 64) is always output by the ROM. On the II Plus, you could optionally connect D7,8 to A9,10 to get *different* characters for each of the 256 text screen values. Commonly, $E0-FF are replaced by lower case (NORMAL). The early //e's added inverse lower case at $60-7F, but had two versions (alternate charset) of the Video ROM to support FLASHing numbers for old Apple programs. The //c introduced Mouse Characters at $40-5F, since they didn't need to be compatible when using the alternate character set anyway. Here's where I invented a neat trick - since $80-9F are valid byte values which can be stored in Text Screen memory (but usually aren't since COUT doesn't print control characters), I decided that I would use $80-9F on my II+ for my own custom characters. I have one Video ROM which displays inverse lower case for these character codes, but can only be used from my custom software. Now, get this: would you believe that Wizardry, a popular Pascal-based role-playing game, actually stored $80-9F into text memory instead of $C0-DF? This means that the writers expected that $80 would generate the same upper-case normal character as $C0 (remember the modulo 64). It was so annoying (I played Wizardry a lot), that I decided to make a //e style alternate character set. Now I have a 2732 with AN1 connected to A11 to select which character set I see (AN1 is conveniently preset by the AutoStart ROM to the proper logic level I needed during power-up). BTW, Thanks Matthew for your post, it reminded me of the good old days when I was souping up everybodies II Plus. I'd almost forgotten that I've made these mods on three Apples, and learned a lot in the process. Brian Willoughby ...!uw-beaver!microsoft!brianw or microsoft!brianw@uunet.UU.NET or just brianw@microsoft.UUCP
tomk@pro-grouch.UUCP (Tom Kelly) (05/25/89)
Network Comment: to #717 by pnet01!crash!hplabs.hp.com!pyramid!athertn!paul One can just use IC sockets as the required jig. You cut a few pins and jumper others togather. The process is described in Hardcore Computist no. 6 pages 14 through 16 and 28.
paul@athertn.Atherton.COM (Paul Sander) (05/26/89)
In article <5810@microsoft.UUCP>, brianw@microsoft.UUCP (Brian Willoughby) writes: > >I write > >> In article <621@greens.UUCP> matthew@sunpix.UUCP ( Sun Visualization Products) writes: > >> 3) You probably will want to modify the Monitor ROM so that it doesn't > >> convert all lower case characters to upper (this can be > >> accomplished by burning a new 2716 with only one byte changed. > >> The "AND #$DF" in the GETLIN routine must be changed to > >> "AND #$FF" to defeat the up-shift). Any program which directly > >> reads the keyboard will work without the custom Monitor ROM. > > > >A problem with this third point is that 2716s do not fit the Apple ][ > >Plus' ROM sockets. (Well, they physically fit, but Apple's pinout is > >non-standard.) In order to pull this off, you need to build a special > >jig that maps the signals properly. There is the additional problem that > >the location of the ROMs makes such a jig interfere with any expansion cards > >plugged into slots 0 and 1 (which are usually filled). The old ROM cards > >(remember when Applesoft could be bought in ROM on a plug-in card?) could > >be configured to work with 2716s, and those who still own them could > >duplicate their ROMs with this patch, but Apple might take exception to > >that. > >-- > My clone was designed with a 2716, so nothing stopped me from using a > customized font editor to make several different character sets and > burn them into ROMs. In fact, the friend who I made the keyboard and > Video ROM mods for owned a genuine Apple II Plus! and I plugged a > standard 2716 into it! No jig, no problems. I had some reservations since > the Apple II Reference Manual schematics showed the 2315 Character ROM > pinouts were different. But when I checked the wiring on his II Plus, it > seems that Apple decided to follow more modern standards when they layed > out the Rev. 7 II Plus boards. > [continues on about how to wire the character generator to produce > nifty lower-case] You bring up a good point, which is that the character generator ROM can be swapped out of Rev 7 motherboards and replaced with 2716s without any sort of magic. However, my statement about the monitor ROMs is still correct; their pinouts never changed throughout the entire lifetime of the (original) Apple ][ and ][ Plus. To replace them with 2716 does require the use of a special jig. Take my word for it, I've done it. -- Paul Sander (408) 734-9822 | Do YOU get nervous when a paul@Atherton.COM | sys{op,adm,prg,engr} says {decwrl,sun,pyramid}!athertn!paul | "oops..." ?