Path: news1.icaen!news.uiowa.edu!NewsNG.Chicago.Qual.Net!207.24.245.130!nyd.news.ans.net!news.idt.net!newsfeed.berkeley.edu!cyclone.swbell.net!typhoon01.swbell.net.POSTED!not-for-mail Message-ID: <370CB616.B63AD078@swbell.net> From: Rubywand Reply-To: rubywand@swbell.net X-Mailer: Mozilla 4.51 [en] (Win95; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.sys.apple2 Subject: Re: II+ vs IIe Char Gen PROMs and Shift-key mods-- LC $F8 PROM mod References: <7cosa7$rgl$1@nnrp1.dejanews.com> <36F01E44.8DB3CAE4@swbell.net> <1doxxsz.5zmnapzv7ggaN@dempson.actrix.gen.nz> <3701FF21.C4F327BD@swbell.net> <37020A8B.46585F3E@iolinc.net> <37023162.11165D84@swbell.net> <37041CA0.6C13D2DE@iolinc.net> <3704A7A3.72AE153F@swbell.net> <3704B626.DF28564C@iolinc.net> <370C3F1C.8D3C3DA3@swbell.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 124 Date: Thu, 08 Apr 1999 08:58:46 -0500 NNTP-Posting-Host: 207.193.10.85 X-Complaints-To: abuse@swbell.net X-Trace: typhoon01.swbell.net 923579785 207.193.10.85 (Thu, 08 Apr 1999 06:56:25 PDT) NNTP-Posting-Date: Thu, 08 Apr 1999 06:56:25 PDT Organization: SBC Internet Services Xref: news1.icaen comp.sys.apple2:146682 David Wilson writes ... > > Rubywand writes: > >Not as far as I know. What you do is $EA out the code which does the checking. > >The code starts at address $FD7E in both the old and Autostart Apple II+'s > >(which should be address $57E in a 2K $F8 PROM) ... > > >FD7E- C9 E0 compare the byte to the lowest ASCII value for a lower case char > >FD80- 90 02 if the byte is less (not lower case) hop over the next two inst bytes > >FD82- 29 DF if the byte is lower case AND it with #$DF to force upper case > > The only problem with this change is that the ROMs in a ][ or ][+ are not > pin-compatible with EPROMs of the same size. Thus, to make this change you > would need to wire an adapter between the EPROM and the ROM socket to sort out > the chip select polarities. .... True. The 2516 and 2716 2k x 8 PROMs come close. One problem is that the ROMs have three enable/select pins; the PROM has two. Another problem is that one of the enables (pin 18) is Select= Hi. Both of the PROM enables are Select= Lo. Fortunately, the Apple II uses only two select lines; so, the main thing you need to add to an adaptor is an inverter-- like a 74LS04 or any other inverting gate. Something like this should work ... ROM socket (top view) __ _____ |__| |--24--- to PROM socket pins 24 & 21, and 74LS04 pin 14 | |--23--- to PROM socket pin 23 | |--22--- to PROM socket pin 22 | |--21--- (no connect) | |--20--- to PROM socket pin 20 | |--19--- to PROM socket pin 19 | |--18--- to 74LS04 pin 1 <74LS04 pin 2 goes to PROM socket pin 18> | |--17--- 17 and other pins go to corresponding pins on PROM socket | ... ___________| ------------------ pin 12 goes to PROM socket pin 12 and 74LS04 pin 7 74LS04 (top view) __ __ | |_| | --1--| o |--14-- | | --2--| |-- ... ... --7--| |-- |_______| Probably, a II+ will have the Language Card plugged into Slot 0. With the LC plugged in the $F8 ROM used is going to be the one on the LC; so, this is where you would swap in the adaptor with the PROM. An alternative to an adaptor would be to mod the ROM socket connections on the LC: o- a 74LS04 IC would be dead-bug mounted to the LC near the ROM socket using epoxy. o- 74LS04 pin 14 goes to ROM socket pin 24 o- 74LS04 pin 7 goes to ROM socket pin 12 o- any trace to ROM socket pin 21 would be cut and ROM socket pin 21 would be jumpered to ROM socket pin 24 o- any trace to ROM socket pin 18 would be cut and ROM socket pin 18 would be connected to 74LS04 pin 2 o- pin 1 of the 74LS04 goes to the trace which used to go to ROM socket pin 18 After these mods, the PROM would be swapped in for the ROM. Let me know if you see any screw-ups in the above. Our setup is different because we did several mods early (before getting a Language Card) and ended up with the PROM on the main board with an option to switch to the ROM on the LC. The reason for being able to swap in the regular ROM is that we made many changes to the $F8 ROM code and wanted to get around ROM checks which a few old copy protected programs do upon booting. (I don't know if the minor mod to enable lower case input will get past all such ROM checks-- it certainly would not pass a check sum test.) Anyway, the checks are fairly rare. Hmmm-- what about this code substituttion instead of just NOPing everything: FD7E- C9 C0 FD80- 90 02 FD82- 29 FF It diddles things around so that the checksum is right and the AND #$FF leaves the input alone whatever the branch at $FD80 decides. (According to the ROM code listing, there are no branches which go into the middle of this code and flags status doesn't matter because the code quickly does another compare operation after saving the input.) Rubywand