Qfix v2.0 ___________ 1. So, what does this program do? The main purpose of qfix is to modify your system to allow the use of all normal ascii characters in your filenames. It will also patch several useful programs (see 4.1) which have hard coded the standard prodos naming rules (generally a bad idea). Of course, all patches work transparently to the user and are all reversible. As hard as it is to believe, back when Apple designed ProDOS they thought that by restricting the choice of characters used in filenames that maybe people would think it was more professional, or better, I don't know. All I know is that a year or so later the Mac was released and allowed just about every possible character to be used. The point is, why plod along with klunky, old, stupid file naming rules when you can switch to something that makes more sense? 2. Will my programs support the new filenames? Gs/os programs that play by the rules (and let the fst decide what will be accepted in the file system) work flawlessly, as do well written p8 programs. The worst case scenario is that you'd have to rename your file. :?: In most cases programs should let the operating system decide what is and isn't a valid filename (that's what it's there for). 3. So how do I use this thing? Applying a patch is now just a matter of choosing from a list of the patches that Qfix knows. If the file isn't found (likely for non-system patches) then a browser is opened so you can navigate your way to it. 4. Built-in patches Patch name Files Vers --------------- ------------ ----- angel.system angel.system .81 angle angel.system .81 (this is the angle patch that is angel.pieces .81 mentioned in the 2qwk docs) basic.system basic.system 1.5.1 p8 p8 2.0.1+ (2.0.1 to 2.0.3) prodos prodos 2.0.1+ pro.fst pro.fst 4.02 proterm proterm 3.1 pt3.code3 3.1 shrinkit shrinkit 3.4 (affects new archive naming) system basic.system 1.5.1 p8 2.0.1-3 prodos 2.0.1-3 pro.fst 4.02 4.1 System patch notes The system patches (p8, pro.fst, system) are meant to be used on a target volume so you will be prompted with a list of volumes to choose from. The file(s) will be looked for in their default location(s): basic.system - */basic.system p8 - */system/p8 pro.fst - */system/fsts/pro.fst prodos - */prodos :?: The '*' represents the root level of the volume. 4.2 Normal patches The file to be patched is chosen by the user. 4.3 How can I remove patches? To remove patches just reapply the patch to the program and it will automatically restore the program. 4.4 Patch info The patch info currently displays the author string. When I have time to do some more work, it will do an analysis of the actual patch, so you have a better idea of what is going on. 5.0 External patches This version of Qfix now supports patches external to the program (the patch for AppleWorks 5.1 is an external). This allows other people to come up with their own patches for programs not currently supported by qfix. :?: Merlin source code is included for several patches. 6.0 When writing patches, how do I find where to patch? This is actually pretty easy. The following source code demonstrates a very common method used to restrict filenames: 1 cmp #$2e (.) 2 beq :good 3 cmp #$30 (0) 4 bcc :bad 5 cmp #$39 (9) 6 bcc :good 7 cmp #$41 (A) 8 bcc :bad 9 cmp #$5a (Z) A bcs :bad ... (more code follows) It's very unusual to see the check for the period and numbers seperated from the A-Z check by too much code. The best way to change this is by using something like: 1 cmp #$2e (.) 2 beq :good 3 cmp #$20 (space) 4 bcc :bad 5 cmp #$61 (a) 6 bcc :good Which is a 2 byte change. Some programs have legitimate uses for code that looks like it's checking filenames (e.g. converting text case) and it's important to check for the other code (period & number checking). Please experiment on a *backup* of your files. Any questions can be sent to tom.larson@pcwash.com or failing that, to brian.hammack@rook.wa.com who can usually get ahold of me. 7.0 Disclaimer The usual. Qfix and it's author are in no way liable for coincidental damage to systems, insane endorsements of supply side economics by Bob Dole, abduction by extraterrestrials, or the imminent collapse of the Chicago WhiteSox and Baltimore Oriole baseball teams. 8.0 Soapbox Look, I love the GS and it's great fun to program on but one thing it doesn't do is play new games. Sure, there are some great oldies (Rastan, Task Force, Alien Mind) but I want bright shiny new ones. So what to do? Buy a Sega Saturn or Sony Playstation. At $199 each, both sport insane graphics, great sound and developer support to die for. My personal choice is the Saturn for the Sega arcade conversions (I bought it for Sega Rally). Netscape (Novio?) will make web browsers for both someday and in October the Sega Netlink ($200) will offer a 28.8kbps connection to any IPO with the PlanetWeb browser and online gaming.