Path: ns-mx!uunet!elroy.jpl.nasa.gov!ames!agate!ucsee.Berkeley.EDU!chiu From: chiu@ucsee.berkeley.edu Newsgroups: comp.sys.apple2 Subject: Re: PRODOS patches.... Summary: Franklin/Clone patch Keywords: ProDOS patch Message-ID: Date: 26 Jan 92 07:09:06 GMT References: <1992Jan25.024514.12860@umiami.ir.miami.edu> Reply-To: chiu@ucsee.Berkeley.EDU Organization: University of California Society of Electrical Engineers (UCSEE) Lines: 55 NNTP-Posting-Host: ucsee.berkeley.edu Originator: chiu@ucsee.Berkeley.EDU In article <1992Jan25.024514.12860@umiami.ir.miami.edu> jdeitch@umiami.ir.miami.edu writes: >schumway@enigma1.COM (J. Schumway) writes: >> A short time ago, a friend of mine replaced my Apple //e ROMs with his >> "improved version". Apple PROM chips are replaceable with EPROMs, so you >> can change things if you've an EPROMmer. He replaced the casset cmds, etc. >> However, he also fixed a few 'bugs' he found. Replacing the cassette cmds is ok, but attempting to fix bugs can be a big mistake (as you may have found out by now.) >> The problem: ProDOS [all versions] won't boot on my system! DOS works >> fine, as does Pascal, etc. Just ProDOS won't. If ProDOS hangs at the copyrights screen, there may still be hope. >Most likely, the problem here is that the friend neglected to retain Apple's >//e I.D. bytes when he reassembled the code for the replacement ROM chip. Actually, I've always thought that ProDOS determines what machine it's running on by computing checksum of some sort... Enough small talks. Here is a patch I've sort of stumbled onto when I was still using a cheap Taiwanese Apple II+ clone... The following patch is a generalized patch (ie. no definate address since almost every release of ProDOS has different address for it) After booting ProDOS unsuccessfully (hangs at copyrights screen), reset into monitor and enter the following. *2000L and you should see a bunch of disassembled code listed. Look for third or fourth 'JSR' cmd and list the code until the sequence EXACTLY as the following appears: ASL ASL ASL ASL TYA EOR $.... (this address varies from version to version and is therefore omitted) ADC #$0B BNE $.... ------+ (The address field of this BNE cmd points to LDA $0C | address of LDA #$00 cmd) RTS | LDA #$00 <------+ RTS This sequence of code appears at $285B for ProDOS 8 v1.9 All you have to do is to replace BNE instruction with NOPs (two bytes, EA EA) I'm writing this on the fly, so if I've confused you, feel free to email me. Newsgroups: comp.sys.apple2 Path: news.weeg.uiowa.edu!nexus.uiowa.edu!hobbes.physics.uiowa.edu!math.ohio-state.edu!howland.reston.ans.net!cs.utexas.edu!uunet!mnemosyne.cs.du.edu!nyx10!mfischer From: mfischer@nyx10.cs.du.edu (Matthew Fischer) Subject: Re: Wonderful ProDOS patch! Message-ID: <1993Dec31.002244.958@mnemosyne.cs.du.edu> X-Disclaimer: Nyx is a public access Unix system run by the University of Denver for the Denver community. The University has neither control over nor responsibility for the opinions of users. Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Organization: Nyx, Public Access Unix at U. of Denver Math/CS dept. References: <2fqtvm$lap@altitude.hip.cam.org> <1993Dec29.183510.821@mnemosyne.cs.du.edu> <2ftr79$alg@altitude.hip.cam.org> Date: Fri, 31 Dec 93 00:22:44 GMT Lines: 40 In article <2ftr79$alg@altitude.hip.cam.org>, Phillip Vandry wrote: >I suppose the P8 version might allow ":", making the file inaccessible to >GS/OS, but I also suppose a patch to fix that would be MUCH more difficult >that the current patch because it would probably involve addition of code, >which can't be done by a patch. Yes, I was referring to the ProDOS 8 patch. I haven't used the GS/OS patch. It's really not all that difficult to fix it. Here is my own version of the ProDOS/P8 patches to trap the ":" character. (I also expanded the upper end of the range of permissible characters. Jeff Brielmaier posted a script to do that a while ago on the FidoNet.) prodos ,2.0.3,prodos,sys,2000,42e8,0,6 13012,13,5 13017,8,12 13028,240,144 13029,8,210 13031,32,65 13035,97,91 p8 ,2.0.3,p8,sys,2000,42e8,0,6 13012,13,5 13017,8,12 13028,240,144 13029,8,210 13031,32,65 13035,97,91 The "2.0.3" in the first lines could probably be changed to "2.0.x", but I used "2.0.3" because that's the only version I've tried it with. Here is my own version of the BASIC.SYSTEM patch. It does the same thing in essence as Tom Larson's, but it saves a couple of cycles under certain circumstances. :) basic.system ,1.5,basic.system,sys,2000,2800,0,3 12552,32,65 13340,4,40 13371,4,9