2019-03-09 20:30:57 +00:00
|
|
|
# Anti-M
|
|
|
|
|
2019-03-16 15:49:00 +00:00
|
|
|
Boot any Apple II disk on any Apple II
|
2019-03-09 20:30:57 +00:00
|
|
|
|
2020-08-13 02:37:05 +00:00
|
|
|
[Download latest Anti-M disk image](https://github.com/a2-4am/anti-m/releases/download/v1.7/anti-m-v1.7-2020-08-11.dsk)
|
|
|
|
(version **1.7**, released **2020-08-11**, runs on any 48K Apple II)
|
2019-03-18 01:34:52 +00:00
|
|
|
|
2019-03-09 20:30:57 +00:00
|
|
|
## What is this?
|
|
|
|
|
|
|
|
Many early Apple II games only worked on the original Apple II or Apple ][+.
|
|
|
|
They refuse to boot on later models, often displaying an "M" error code. This
|
2019-03-16 15:49:00 +00:00
|
|
|
was due to overly aggressive copy protection; late in the boot process, there
|
|
|
|
is code that checksums the ROM and reboots if it's not recognized. The games
|
2019-03-09 20:30:57 +00:00
|
|
|
themselves would work fine if they were allowed to boot past this ROM check.
|
|
|
|
|
2019-03-16 15:49:00 +00:00
|
|
|
Other games fail on an enhanced Apple //e, due to subtle differences between
|
|
|
|
6502 and 65c02 processors. Still others fail on an Apple //c or IIgs, due to
|
2019-03-22 17:50:26 +00:00
|
|
|
changes in the boot PROM code. ProDOS fails to boot on clones like Franklin and
|
|
|
|
Pravetz. Then there are some _very_ early games that require a 13-sector drive.
|
2019-03-16 15:49:00 +00:00
|
|
|
|
|
|
|
Anti-M uses a modified boot PROM that can boot any disk, then controls the
|
|
|
|
game's bootloader long enough to bypass the ROM check and patch any 6502-
|
|
|
|
specific opcodes. The result: you can boot any Apple II disk on any Apple II.
|
2019-03-09 20:30:57 +00:00
|
|
|
|
|
|
|
## How do I use it?
|
|
|
|
|
|
|
|
Boot the Anti-M disk. When it prompts you to insert your original disk, do so,
|
|
|
|
then press `<RETURN>`. The game should boot normally.
|
|
|
|
|
|
|
|
## Which games are supported?
|
|
|
|
|
2019-03-12 01:04:37 +00:00
|
|
|
- Beer Run (Sirius)
|
|
|
|
- Bug Attack (Cavalier)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Choplifter (Broderbund) (*)
|
2019-05-24 14:16:07 +00:00
|
|
|
- Computer Foosball (Sirius)
|
2019-03-10 17:03:51 +00:00
|
|
|
- David's Midnight Magic (Broderbund) (*)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Dueling Digits (Broderbund)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Eggs-It (Gebelli)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Frogger (On-Line Systems) (*)
|
2019-03-12 01:04:37 +00:00
|
|
|
- Gamma Goblins (Sirius)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Genetic Drift (Broderbund)
|
2019-03-16 15:49:00 +00:00
|
|
|
- Hard Hat Mack (Electronic Arts) (*)
|
2019-03-10 17:03:51 +00:00
|
|
|
- High Orbit (Gebelli)
|
|
|
|
- Horizon V (Gebelli)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Jawbreaker ][ (On-Line Systems)
|
2019-03-11 12:54:25 +00:00
|
|
|
- Juggler (IDSI)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Labyrinth (Broderbund)
|
2019-06-11 20:39:34 +00:00
|
|
|
- Lady Tut (Progame)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Lazer Silk (Gebelli)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Lunar Leepers (On-Line Systems)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Neptune (Gebelli)
|
2020-08-13 02:37:05 +00:00
|
|
|
- Odin (Odesta)
|
2019-03-12 01:04:37 +00:00
|
|
|
- Orbitron (Sirius)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Pest Patrol (On-Line Systems)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Phaser Fire (Gebelli)
|
2019-03-12 01:04:37 +00:00
|
|
|
- Quadrant 6112 (Sensible Software)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Red Alert (Broderbund)
|
|
|
|
- Russki Duck (Gebelli)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Seafox (Broderbund)
|
|
|
|
- Serpentine (Broderbund) (*)
|
|
|
|
- Sky Blazer (Broderbund)
|
2019-03-12 01:04:37 +00:00
|
|
|
- Space Eggs (Sirius)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Space Quarks (Broderbund)
|
2019-03-10 14:28:28 +00:00
|
|
|
- Star Blazer (Broderbund)
|
2019-03-12 01:04:37 +00:00
|
|
|
- Star Thief (Cavalier)
|
2019-03-11 12:54:25 +00:00
|
|
|
- Trick Shot (IDSI)
|
2019-03-10 17:03:51 +00:00
|
|
|
- Zenith (Gebelli)
|
2019-03-16 15:49:00 +00:00
|
|
|
- all 13-sector disks (e.g. Epyx, Edu-Ware, many others)
|
2019-03-22 17:50:26 +00:00
|
|
|
- all ProDOS disks
|
2019-03-09 20:30:57 +00:00
|
|
|
|
|
|
|
(*) later re-released with different copy protection. Only the first release
|
|
|
|
requires Anti-M.
|
|
|
|
|
|
|
|
## Does Anti-M patch my original disk?
|
|
|
|
|
|
|
|
No! All patches are done in memory only. If you reboot your original disk
|
2019-03-16 15:49:00 +00:00
|
|
|
(without running Anti-M), it will fail as usual, because the ROM check or other
|
|
|
|
incompatible code is still there.
|
2019-03-09 20:30:57 +00:00
|
|
|
|
|
|
|
## Can I use Anti-M from a hard drive?
|
|
|
|
|
2019-03-16 15:49:00 +00:00
|
|
|
Yes! Copy the `ANTI.M.SYSTEM` file to anywhere on your ProDOS hard drive and
|
|
|
|
run it with your favorite launcher. Bonus feature: when launching Anti-M from
|
|
|
|
a hard drive, it will skip the prompt and immediately boot slot 6, drive 1.
|
2019-03-09 20:30:57 +00:00
|
|
|
|
2019-04-12 14:39:11 +00:00
|
|
|
## But wait, there's more!
|
|
|
|
|
|
|
|
Anti-M can also boot many games from drive 2, including all the games listed
|
|
|
|
above. If you launch Anti-M from slot 6 and it detects a disk in drive 2, it
|
|
|
|
will skip the prompt and immediately boot from drive 2. Otherwise, you can
|
|
|
|
press `2` at the prompt to boot from drive 2 instead of drive 1.
|
|
|
|
|
|
|
|
To disable auto-boot and show the prompt, even if Anti-M would normally skip
|
|
|
|
it, you can press either joystick button (open-apple or closed-apple key) while
|
|
|
|
launching Anti-M.
|
|
|
|
|
2019-03-09 20:30:57 +00:00
|
|
|
## History
|
|
|
|
|
2020-08-13 02:37:05 +00:00
|
|
|
v1.7 - 2020-08-11
|
|
|
|
|
|
|
|
- support "Odin"
|
|
|
|
- fix a crash when booting "World Karate Championship"
|
|
|
|
|
2019-11-09 16:34:24 +00:00
|
|
|
v1.6 - 2019-11-09
|
|
|
|
|
|
|
|
- support Personal Software 13-sector disks ("MicroChess 2.0," "Checker King,"
|
|
|
|
"Gammon Gambler")
|
|
|
|
|
2019-06-11 20:39:34 +00:00
|
|
|
v1.5 - 2019-06-11
|
|
|
|
|
|
|
|
- support "Lady Tut"
|
|
|
|
|
2019-05-24 14:16:07 +00:00
|
|
|
v1.4 - 2019-05-24
|
|
|
|
|
|
|
|
- support "Computer Foosball"
|
|
|
|
- fix a crash when booting early Spinnaker Software disks (e.g. "Alphabet Zoo,"
|
|
|
|
"In Search of The Most Amazing Thing")
|
|
|
|
- fix booting ProDOS disks from drive 2
|
|
|
|
|
2019-04-12 14:39:11 +00:00
|
|
|
v1.3 - 2019-04-12
|
|
|
|
|
|
|
|
- support booting from drive 2
|
|
|
|
- fix booting on MAME
|
|
|
|
|
2019-03-24 18:06:46 +00:00
|
|
|
v1.2 - 2019-03-24
|
2019-03-22 17:50:26 +00:00
|
|
|
|
|
|
|
- support booting ProDOS on clones
|
|
|
|
- additional patches for "Star Thief"
|
|
|
|
- launch Anti-M program faster
|
|
|
|
|
2019-03-16 15:49:00 +00:00
|
|
|
v1.1 - 2019-03-16
|
|
|
|
|
|
|
|
- support booting 13-sector disks
|
|
|
|
- support booting disks on Apple //c and IIgs which would otherwise time out
|
|
|
|
looking for a boot sector (SpiraDisc, some early EA games)
|
|
|
|
- bypass a peripheral scan in some games that would hang on some peripherals
|
|
|
|
and crash others and require a hardware power cycle in order to reboot
|
|
|
|
properly (SpiraDisc)
|
|
|
|
- support multiple versions of "David's Midnight Magic"
|
|
|
|
- remove "unsupported game" error, always continue booting
|
|
|
|
- bypass prompt if launched from hard drive (press the open- or closed-apple
|
|
|
|
key on startup to show the prompt)
|
2019-03-18 18:38:04 +00:00
|
|
|
- minimum requirements lowered to 48K Apple ][ (still useful for booting
|
2019-03-16 15:49:00 +00:00
|
|
|
13-sector disks)
|
|
|
|
|
2019-03-12 01:04:37 +00:00
|
|
|
v1.0 - 2019-03-11
|
2019-03-09 20:30:57 +00:00
|
|
|
|
|
|
|
- initial release
|