💾 Archived View for mirrors.apple2.org.za › archive › apple2.caltech.edu › addons › patches › qfix.t… captured on 2024-02-05 at 13:46:14.

View Raw

More Information

⬅️ Previous capture (2023-05-24)

-=-=-=-=-=-=-

 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.