home *** CD-ROM | disk | FTP | other *** search
- GHZap V 1.00
- ============
-
- By Quintin Parker of Gilbert the Hamster Software
- =================================================
-
- Ever gone to the shops and happily bought a game for £25, and
- then sat down in front of your Acorn, slotted the disc into the
- drive, clicked on the icon, and then ... BANG! Your computer
- hangs up, and no amount of Escape pressing/Ctrl Break pressing/
- smashing the disc drive in with an axe will coax it out of its
- coma? Then this proggy is for you.
-
- Some extremely naughty programmers, in order to make their
- programs run faster, use this call...
-
- SYS "OS_UpdateMEMC",64,64
-
- ...which makes the computer's memory chip, the MEMC, read the
- ROM faster. A400/1, A540, A3010, A3020, A4000, A5000 and Risc
- PC owners (and if you own a Risc PC you are a very lucky sod)
- can rest assured cos they all have MEMC1a chips, which can cope
- with it. But for A3000, A310 and A440 (not A440/1) owners, it's
- a different story. Their days are filled with darkness, misery,
- dejection. The sun never shines on them and for their computers,
- eternal night reigns... To put an end to this sorry state of
- affairs, Gilbert the Hamster Software bring you...
-
- GGGGGG HH HH ZZZZZZZZ AAA PPPPPP !!
- GG GG HH HH ZZ AA AA PP PP !!
- GG HH HH ZZ AA AA PP PP !!
- GG HH HH ZZ AA AA PP PP !!
- GG GGGGG HHHHHHHH ZZ AAAAAAAAA PPPPPP !!
- GG GG HH HH ZZ AA AA PP !!
- GG GG HH HH ZZ AA AA PP
- GG GG HH HH ZZ AA AA PP !!
- GGGGG HH HH ZZZZZZZZ AA AA PP !!
-
- Yes! This thwoggingly wonderful program will stop those nasty
- OS_UpdateMEMC calls and inform you in a refined and subdued
- manner whenever a horrible program uses one, and rather than
- hanging up, crashes out the program with a error. And it's
- free!
-
- And for users which don't have this problem, it's even better!
- You can easily see at a mere glance which programs use
- OS_UpdateMEMC and which don't and tell immediately which
- programmers are good and which are nasty, horrible and
- vindictive! Hurrah! It's thwogging brilliant!
-
- Version History
- ===============
-
- 1.00 28th December 1994
-
- Er, yes, moving swiftly on then ...
-
- Just how does GHZap do what it does?
- ====================================
-
- (In other words boring technical info bit)
- ==========================================
-
- If you are about as computer literate as a muskrat with a
- frontal lobotomy please feel free to skip this section.
- Otherwise, here goes...
-
- Acorn conveniently neglected to provide a software vector that
- deals with OS_UpdateMEMC calls, so muggins here had to do
- something very silly and naughty and probably Risc PC
- incompatible...
-
- HE OVERWROTE THE BRANCH INSTRUCTION THAT POINTS TO THE BIT
- OF ROM THAT DEALS WITH THE SOFTWARE INTERRUPTS!!
-
- Oh no! He didn't! But, mes amis, I did. GHZap is in the form
- of a relocatable? relocatoble? relocateble? you know what I
- mean type of module and is always present in memory. So when
- GHZap loads, it reads the instruction at &0008 (the SWI
- branch instruction), decodes the branch into an address
- and stores it somewhere, then it makes another branch
- instruction using the address of its own SWI handler and
- stores that at &0008 instead. Confused? You will be when I
- start talking about processor modes. Of course when it's
- killed the program reinstates the original address. I hope.
-
- Once an SWI is called and the processor plonks itself
- involuntarily in my program, the first thing that happens
- is all the funny physical memory bits are masked out of the
- return address in R14 leaving a logical memory bit, then the
- instruction before is got and the SWI bit and the X bit that
- guards against errors (they should be so lucky) is masked
- out leaving - da-da! - the SWI number. OS_UpdateMEMC's
- SWI number is &1A. If it's not &1A then it gets the address
- of the OS SWI handler and jumps to it. If it is &1A, the
- fun really starts...
-
- First the parameters are checked to see if they are 64 and
- 64. If they are, then an error service call (no. 6) is
- issued using OS_ServiceCall (surprise surprise) and the
- error vector is called using OS_CallAVector (surprise
- surprise again). Then the return address is got from R14
- and then we switch to user mode. This changes R14 to another
- address but we still have to go to the first one else if
- we go to the second one then we'll be going out of the entire
- routine and might be missing something important, like what
- the hell all of this means or something.
-
- Now. Picture this. A module service call is issued. It's
- offered round each of the modules until ... it gets to GHZap!
- GHZap checks the error numbers to see if they are the same,
- and if they are, the polite and inconspicuous warning is
- given ...
-
- If you're really interested as to what the hell is going on
- I can supply a fully commented (ie. it makes about as much
- sense as the above) copy of the source code if you write to the
- below address ...
-
- How to use GHZap
- ================
-
- Just double click on the icon. If you want to switch the
- protection on or off at any time, use *StopUpdate followed
- by ON or OFF, and to see what the current setting is,
- use *StopUpdate on its own. If at any time you want to
- inquire as to what the polite message is, run the file
- UpdateMEMC which is in the application directory
- (shift-double click on the icon to get at it) or simply
- go into BASIC and type SYS "OS_UpdateMEMC",64,64. To get rid of
- the whole damn thing and take up cattle farming in the Outer
- Hebrides, type *RMKill GHZap. That's it!
-
- Hellos
- ======
-
- No time for any real hellos, 'cept to Roberto Tyley, Roger
- Tharmakulasingam, Naveen Rao, Stephen Moppett, James Caldwell
- and to everyone else who has to put up with me on a day to day
- basis, to orange and white camper vans everywhere, to
- Norman King of Five Star Marketing (plug), to Michael
- S.E.Richards of Arcturus PD (plug again) and finally to
- Colin Davis for posing for the photo, Robert Lynch for taking
- it, Supasnaps for developing it and Gareth Long for scanning
- it.
-
- And finally ...
- ===============
-
- This program was also written so that PD libraries across
- the globe can have a tricky moral dilemma as to whether to put
- it in the 'Utilities' section or 'Novelties' section!
-
- Oh yeah, my address ...
-
- Quintin Parker
- 6 Manor Court Road
- Hanwell
- London W7 3EL
-
- phone (0181) 579 0331 after 5pm on weekdays
-
- Bye!
- Quintin Parker (age 15)
-
- Gilbert the Hamster Software!!
- You'll never put a better bit of plastic in your disc drive!!