home *** CD-ROM | disk | FTP | other *** search
- Degrader V1.30 © 1991-93 Chris Hames. All rights reserved. (17700 bytes)
- -------------------------------------------------------------------------
-
- You upgrade your system and what happens? The idiots who wrote your
- favorite program didn't follow the guidelines and it no longer works. This
- is where degrader comes in, it will try to degrade your system so that the
- old brain dead program will work on your machine. You can also just use it
- to boot off floppy drives other than DF0:, force your machine to PAL or
- NTSC, turn the audio filter on or off and other things. Please note that
- many of Degrader's functions are hacks in that they may not work on future
- versions of the Amiga hardware or software. The Early Startup Control
- provided in Kickstart 3.0 (just hold down both mouse buttons at reset to
- use) will help getting old software to work as well. Use its options where
- possible as they are more likely to work.
-
- ***************************************************************************
- If you don't know what all the technical junk is about but just want to get
- a program to work:-
-
- The most common way to get a brain dead program to work is to try this
-
- "Degrader NOFASTMEM NOCACHE PRIVILEGE FLOPPIES 0444 SURVIVERESET NOEDITOP"
-
- Or if you are running Kickstart 3.0 you should try something like
-
- "Degrader NOFASTMEM PRIVILEGE SURVIVERESET NOEDITOP" and then use the Early
- Startup Control to disable all disk devices except DF0:, disable CPU caches
- and select the ECS or Original chipset.
-
- If you what maximum speed on a machine with a data cache (68030+) and AGA
- (A1200/A4000) when the program works fine without Degrader but is NONDOS so
- you can't use SetPatch or CPU to turn on the extra features
-
- "Degrader ENLIGHTEN CACHESON SURVIVERESET NOEDITOP"
-
- ***************************************************************************
- When you run the program from workbench you are presented with various
- option buttons which you can toggle on(down & highlighted)/off:-
-
- 50Hz
-
- Changes the screen refresh rate to 50Hz (PAL). You can use this to view
- the extra lines a PAL machine has that a NTSC machine normally doesn't.
- Good for NONDOS disk games and demos that are designed for PAL machines
- only Requires ECS Agnus or Alice and a appropriate monitor. Note has
- varied effects with a AGA chipset depending on the screen mode. Kickstart
- 3.0 Early Startup Control has a similar function.
-
- 60Hz
-
- Changes the screen refresh rate to 60Hz (NTSC). Requires ECS Agnus or
- Alice and a appropriate monitor. Note has varied effects with a AGA
- chipset depending on the screen mode. Kickstart 3.0 Early Startup Control
- has a similar function.
-
- 50HzSystem
-
- Modifies GfxBase to give values that will make some programs think this
- machine is PAL. Useful in Kickstart 1.2/1.3. Doesn't seem to work well
- with Kickstart 2.0. Kickstart 3.0 Early Startup Control has a similar
- function.
-
- 60HzSystem
-
- Modifies GfxBase to give values that will make some programs think this
- machine is NTSC. Useful in Kickstart 1.2/1.3. Doesn't seem to work well
- with Kickstart 2.0. Kickstart 3.0 Early Startup Control has a similar
- function.
-
- AudFilterOff
-
- Most Amiga's have a audio filter which can be switched off and the power
- light usually dims as well.
-
- AudFilterOn
-
- Most Amiga's have a audio filter which can be switched on and the power
- light usually brightens as well.
-
- NoFastMem
-
- What this does depend on whether you selected for the machine to reset. If
- reset, it will stop any memory besides chip memory from being added to the
- system during reset. If Kickstart 2.0 or later is being used you can still
- add memory yourself. So if you wanted to save your Fast ram for a certain
- purpose you could use this option then when your machine boots up use
- ADDMEM to add the memory and you will have the full amount free. If you
- don't select a reset option it will patch the system so no Fast memory will
- be allocated by programs.
-
- HalfMegChip
-
- Sets the amount of chip memory your system has to 512K. Some programs
- don't like it if you have 1 or 2 meg of chip memory so use this option to
- trick the program into thinking you only have 512K of chip memory. If you
- don't select a reset option it resorts to some nasty memory list
- manipulation.
-
- OneMegChip
-
- Sets the amount of chip memory your system has to 1024K. Some programs
- don't like it if you have 2 meg of chip memory so use this option to trick
- the program into thinking you only have 1024K of chip memory. If you don't
- select a reset option it resorts to some nasty memory list manipulation.
-
- NoMemAt
-
- Allows you to stop a certain memory block from being added to the system
- memory list. If you don't select a reset option it just gives that memory
- block a priority of -128 so it is not allocated until you run out of other
- memory. NOTE: you must turn the Button "ON" as well as enter value.
-
- AddMem
-
- Adds memory to the memory list. Useful if you have a non-autoconfig memory
- board and want your memory added at reset time so it is used a lot more
- instead of your chip memory. NOTE: you must turn the Button "ON" as well
- as enter values.
-
- NoCache
-
- Turns off your Cache & Burst modes of 68020 or higher processors. Some
- games do what is called self modifying code and often end up with the
- processor executing what is already in the cache instead of what they
- intended. Kickstart 3.0 Early Startup Control has a similar function.
-
- Privilege
-
- Changes move SR,<ea> to move CCR,<ea>. MOVE SR,<ea> is privileged on
- processors 68010+. If a program gives a 00000008 GURU consistently this
- might help. Very few programs read the status register directly, even
- fewer get it wrong as well.
-
- TimeWaste
-
- Slows down your machine based on the value you give 65535 to 1. The
- smaller the number the slower your machine gets. Won't work with many
- programs as they take over or turn off the interrupt I use. NOTE: you
- must turn the Button "ON" as well as enter value.
-
- BlockDevice
-
- Stops programs from opening a specified device.
-
- DF0: is -> DF0:
- DF1: is -> DF1:
- DF2: is -> DF2:
- DF3: is -> DF3:
-
- Use these to swap drives around. Set a drive to DF4: to make it
- unuseable. Hence it won't take up precious chip memory. Only works with a
- reset operation.
-
- CachesOn
-
- Currently the system doesn't turn on the data cache, until SetPatch time
- (provided you have one of course (68030+)). This will turn on the
- instruction cache and burst as well as the data cache and could get you
- extra speed if it is not possible to run SetPatch before the program
- normally.
-
- Enlighten
-
- This is only relevant if you have the AGA chipset in your machine (such as
- A1200's and A4000's). The extra bandwidth and features aren't normally
- turned on until SetPatch is executed. If a NONDOSDISK program is written
- correctly enough for it to run with the extra bandwidth and new features
- then it could gain a lot of speed in graphics operations with them turned
- on. It only works with Kickstart 3.0.
-
- PromoteAll
-
- This only works with Kickstart 2.0 or later. It allows you to make all
- programs that call OpenScreen use a specific monitor. You must have a
- capable monitor and have it also in your devs/monitors drawer or similar.
- NOTE: you must turn the Button "ON" as well as enter value. Here are the
- values of some monitor types and uses:-
-
- $11000 Make all opened screens 60Hz.
- $91000 Make all opened screens use the NTSC DBL scan modes.
- $21000 Make all opened screens 50Hz.
- $a1000 Make all opened screens use the PAL DBL scan modes.
- $00000 Remove the monitor part from open screens.
-
- You can also do some complex things like force most screens to SUPER72
- 800*300 mode by giving a value of $81020.
-
- NoView
-
- This is usefull for AGA machines it will create a blank display and get the
- system very close to a ECS state. Does not work with reset options.
-
- ***************************************************************************
- After you have selected the options you want you have a choice of four
- buttons at the bottom of the screen. To do it now only, to do it now and
- then load and run a bootblock, to survive one reset only, or to survive
- resets until the left mouse button is held down and the right mouse button
- is not down at reset.
-
- If you do a reset selection your machine will reboot and at reset time your
- screen will go dark blue->light blue->dark orange->light orange. Note that
- some options require Kickstart specific code but should work with at
- least:-
-
- Kickstart 1.2 ROM.
- Kickstart 1.3 ROM and A3000 Kickstart 1.3 file.
- Kickstart 2.04 ROM and A3000 Kickstart 2.04 file
- Kickstart 2.05 ROM (37.300)
- Kickstart 3.00 ROM (39.109)
-
- The screen should go green at reset time if Degrader needs to be familiar
- with the Kickstart to do one of the selected options, but is not.
-
- ***************************************************************************
- If you start degrader from a Shell/CLI you can use all the keywords shown
- in the window display as described above, except the DF0: stuff. And
- there a few more:-
-
-
- Floppies
-
- This is the Shell/CLI interface to changing floppies. Give it 4 numbers
- with values 0-4.
-
- RunBootBlock
-
- Start the NDOS disk in DF0:.
-
- SurviveReset
-
- Reset then do all the goodies.
-
- SurviveResets
-
- Reset then do all the goodies. And still be there to do it next reset.
- Keep it up until the user press the left mouse button at reset.
-
- NoEditOp
-
- Don't bring up the window to edit options.
-
-
- ***************************************************************************
- Examples of using Degrader from a Shell/CLI:-
-
- "Degrader AUDFILTEROFF"
-
- Bring up option window with audio filter selected.
-
- "Degrader AUDFILTERON NOEDITOP"
-
- Turn the audio filter on. The option window is not used.
-
- "Degrader 60HZ 60HZSYSTEM"
-
- Bring up option window with 60HZ and 60HZSYSTEM selected.
-
- "Degrader ADDMEM $100000 5 10 $400000 SURVIVERESETS NOEDITOP"
-
- Add 1 meg of memory at $400000 at each reset from now on.
-
- "Degrader TIMEWASTE 50 SURVIVERESET NOEDITOP"
-
- Reset with hopefully a lot slower machine.
-
- "Degrader FLOPPIES 0444 SURVIVERESETS NOEDITOP"
-
- Reset and only have DF0: available.
-
- ***************************************************************************
- Thanks to the people who have helped with testing etc, especially:-
-
- Pekka Heino
- Andrew Morison
- Michael Chamberlain
- ***************************************************************************
- Common reasons why programs fail on one machine and work on others:-
-
- 1. Use processor to do critical timing loops and hence on different speed
- machines fail to delay the correct amount. This is often the reason why
- custom disk reading routines fail. Turning off your fast memory, caches
- and anything else that makes your machine faster than the slowest Amiga
- might help.
-
- 2. Use self-modifying code. The processor can end up running different
- instructions to the the ones just loaded or modified because the cache
- still holds the old values. You can turn off your caches.
-
- 3. Load into memory at a specific location. One machine might have more
- system hardware or a new OS could allocate more memory before the machine
- boots up and the program then overwrites memory already being used.
- Turning off or disconnecting any extra hardware, and disabling all drives
- except for DF0: often helps with this problem.
-
- 4. Use the hardware directly and don't write zeros to reserved/undefined
- bits. The next machine comes along and those bits now do something that
- the program didn't intend. If you have a AGA machine use the early startup
- menu to select the ECS or original chipset. Using the NoView option just
- before executing the program will often do the trick as well.
-
- ***************************************************************************
- Please note this program uses the ColdCapture, KickTagPtr and sometimes
- patches LVOAddMemList, LVOAllocMem, LVOAvailMem, LVOOpenDevice so good
- virus detectors, like mine :-), will give you warnings.
-
- This program may be copied as long as it is accompanied by this doc file
- both unaltered & no money is charged (except for a reasonable copying fee
- such as what Fred Fish charges). All use of this program is at your own
- risk & I assume no responsibility or liability for any problems that occur.
-
-
- If you want to contact me to give me a porsche or similar,
-
- Chris Hames
-
- Internet: bytey@werple.apana.org.au
- bytey@phoenix.apana.org.au
-
- FidoNet: 3:633/353
-
- If the above addresses don't work, get the latest version of one of my
- other programs such as DirWork or PC-Task.
-
-