Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!mit-eddie!uw-beaver!tektronix!reed!kamath From: kamath@reed.UUCP (Sean Kamath) Newsgroups: comp.sys.apple Subject: ProDOS patch (all version after 1.1.1 (maybe 1.1.0 I don't know) Message-ID: <6796@reed.UUCP> Date: Wed, 5-Aug-87 19:31:05 EDT Article-I.D.: reed.6796 Posted: Wed Aug 5 19:31:05 1987 Date-Received: Sat, 8-Aug-87 09:41:17 EDT Reply-To: kamath@reed.UUCP (Sean Kamath) Distribution: world Organization: Reed College, Portland OR Lines: 108 Here's the BASIC program to patch ProDOS v1.1.1-1.4 I only tested it on v 1.1.1 and 1.2, and it worked. (otherwise I wouldn't have posted it!) BTW. If you want, you can put a 'P' to indicate this version of Prodos has been patched. Just look for "PRODOS" in the file and after the version number change a space to a P. For v1.1.1 poke 9463,208 (assuming a load at $2000) This was packed with EXECUTIONER. It is shorter this way than 6 bit packing. -----cut here----cute here---cut here----cute here---cut here---- NEW 10REM ProDOS patch program. 20REM patches vers. 1.1.1 to 1.4 30REM from Apple Assembly Line, May, 1987 40REM V7,#8 100TEXT:HOME:E=0:?"PRODOS PATCH PROGRAM" 110IFPEEK(116)<128THENE=1:GOTO900:REM enuf mem? 120ONERRGOTO900 130REM ----Read ProDOS file---- 140?CHR$(4)"UNLOCK PRODOS" 150?CHR$(4)"BLOAD PRODOS,TSYS,A$2000" 200REM ----Search $4000-$60FF for pattern---- 210V=1:FORB=64TO96:A=B*256 220IFPEEK(A+4)<>189THEN250 230IFPEEK(A+5)<>156THEN290 240IFPEEK(A+6)=192THENV=3:B=96:GOTO290:REM Version 1.4 250IFPEEK(A+4)<>234THEN290 260IFPEEK(A+5)<>234ORPEEK(A+6)<>234THEN290 270IFPEEK(A+7)<>234ORPEEK(A+8)<>234THEN290 280V=2:B=96:REM Version before 1.4 290NEXTB:E=2:ONVGOTO900,300,700 300REM ----Found version before 1.4---- 310POKEA+4,189:POKEA+5,142:POKEA+6,192:REM "LDA $C08E,X" 400REM ----Look for other patch area---- 410A=PEEK(A+2)+256*PEEK(A+3)-13*4096+A+5 420E=3:IFA<4*4096ORA>6*4096THEN900 430IFPEEK(A)<>157ORPEEK(A+3)<>157THEN500 440IFPEEK(A+6)<>157ORPEEK(A+9)<>157THEN500 450REM ----Found version 1.1.1 or 1.2, so change "STA" to "LDA"---- 460FORI=0TO9STEP3:POKEA+I,189:NEXTI 470V$="1.1.1":GOTO800 500REM ----Version 1.3---- 510FORI=0TO12:READB:IFPEEK(A+I)<>BTHENGOTO900 520NEXTI:DATA 160,8,189,128,192,232,232,136,208,248,234,234,96 530FORI=0TO11:READB:POKEA+I,B:NEXTI 540DATA 189,128,192,189,130,192,189,132,192,189,134,192 550A=4*4096+12*256+12*16+13:REM Address = $4CCD 560FORI=0TO3:READB:IFPEEK(A+I)<>BTHEN900 570NEXTI:POKEA,240:REM Change "BRA" to "BEQ" 580V$="1.3":GOTO800 590DATA 128,6,190,0 700REM ----Version 1.4---- 710POKEA+5,142:REM "LDA $C09C,X" to "LDA $C08E,X" 720V$="1.4" 800REM ----Write patched version on disk---- 810?CHR$(4)"BSAVE PRODOS,TSYS,A$2000" 820?CHR$(4)"LOCK PRODOS" 830?"Patches completed to Version "V$:END 900REM ----Error handler---- 910?CHR$(7)"Error! No patches were made." 915ONEGOTO930,940,950 920?"ProDOS File Not Found.":END 930?"Not enough room to load ProDOS.":END 940?"Patch location not found.":END 950?"ProDOS file may have been patched" 960?"already, or is not a compatible version." 970END SAVE PPATCHER -----cut here----cute here---cut here----cute here---cut here---- sean kamath PS. Do you folks really think this isn't a serious discussion group? And Excell groups are? Or people trading the latest DA that does screen save? People in this group at least ask questions because they are trying to do something. A major problem is that Apple, being a corp, has to respect a machine that has $300 programs as an almost absolute must have for it to be worthwhile. At this point, most really good programs are those you can modify for your own needs. I like DCOM as much because it is cheap and works well, as well as because I could easily write my own driver for it. Without contact from several people it would have been a pain the the *ss. *I* take this group seriously. And if you don't, why are you reading it? For sh*ts and giggles? I am a member of APDA. They asked my why I hadn't bought anything from them. I told them I would as soon as something worthwhile came out from them. I didn't join APDA to get good rates on Ampersand Routines. . . And with them there is almost no interaction. Not like there is here. These are my long winded opinions, and I bet you couldn't hold your breath long enough to mutter them yourself, so they are mine and only mine. And I am not associated with anything but my cats. Well, Robin too. -- UUCP: {decvax allegra ucbcad ucbvax hplabs ihnp4}!tektronix!reed!kamath CSNET: reed!kamath@Tektronix.CSNET || BITNET: reed!kamath@Berkeley.BITNET ARPA: tektronix!reed!kamath@Berkeley reed!kamath@hplabs US Snail: 3934 SE Boise, Portland, OR 97202 (I hate 4 line .sigs!)