Open82

From Sinclair Wiki
Jump to navigation Jump to search

Open82 is a project by Andrew Owen and Matthew Westcott to produce an open source version of the ZX Spectrum ROM. As of 1 January, 2008, it's currently very much in the alpha stages, but does manage to load some commercial games successfully. This page is a place to list which games it works with, which it doesn't and why, starting with the Top 100 from WoS.

External links

Game compatibility

This list needs updating for Open82 2009-01-13

WoS Top 100

Game Status Tested with version
Target; Renegade Loader crashes [1] 2007-12-31 (r339)
Great Escape, The Here be dragons: 0x1b76 (= check for break + continue to next BASIC line) r349
Elite 128k Loads and runs, freezes on launch from station r350
R-Type Crashes after loading first block [2] 2007-12-31 (r339)
Knight Lore Unsupported BASIC command: 0xd7 (BEEP) 2007-12-31 (r339)
Exolon Works 2009-01-13
Manic Miner Works 2007-12-31 (r339)
Robin of the Wood Unsupported BASIC command: 0xf1 (LET) 2007-12-31 (r339)
Atic Atac Unsupported BASIC command: 0xd7 (BEEP) 2007-12-31 (r339)
Match Point Unsupported BASIC command: 0xeb (FOR) 2007-12-31 (r339)
Abadia del Crimen, La N/A (128K only)
Lords of Midnight, The Works r341
Highway Encounter Syntax error at: 0x04ec r343
Everyone's a Wally Syntax error at: 0x14a5 (PRINT #n) r355
Turbo Esprit Turbo loader on side 1: Unsupported BASIC command: 0xf1 (LET)

Standard speed loader on side 2: Crashes after loading screen [3]

2007-12-31 (r339)
Match Day II Unsupported BASIC command: 0xf7 (RUN) 2007-12-31 (r339)
Jack the Nipper II: In Coconut Capers Works r349
Hyper Sports Syntax error at: 0x04ec r343
Head over Heels Here be dragons: 0x1b76 (= check for break + continue to next BASIC line) r348
Bubble Bobble Crashes after loading [4] r350
Tomahawk Unsupported BASIC command: 0xeb (FOR) 2007-12-31 (r339)
Soldier of Fortune Works 2007-12-31 (r339)
Skool Daze Works r345
Saboteur II: Avenging Angel Unsupported function: 0xb0 (VAL) 2007-12-31 (r339)
Saboteur Unsupported function: 0xb0 (VAL) 2007-12-31 (r339)
Chaos Can't recognise last standard loader block following loading screen on Fuse. r350
Where Time Stood Still N/A (128K only)
Sentinel, The Crashes before loading screen [5] r350
Nether Earth Works r350
Rainbow Islands Unsupported BASIC command: 0xf1 (LET) 2007-12-31 (r339)
Bomb Jack Crashes when game started r350
Academy Side 1: crashes 2007-12-31 (r339)
Starquake Stops with a Program finished message 2007-12-31 (r339)
Laser Squad Loads, Here be dragons: 0x0562 (= slightly later entry point to load_bytes) on selecting mission r350
Green Beret Here be dragons: 0x1b76 (= check for break + continue to next BASIC line) r348
Formula One Seems to need LOAD "" CODE? 2007-12-31 (r339)
Firelord Just prints Program finished 2007-12-31 (r339)
Emlyn Hughes International Soccer Prints Out of range after loading screen 2007-12-31 (r339)
Back to Skool Works r345
Striker Unsupported function: 0xb0 (VAL) after loading screen r350
Sir Fred Crashes after loading r348
Rebelstar Loads, keyboard unresponsive r350
Batman Works r588
Jetpac Unsupported BASIC command: 0xd7 (BEEP) 2007-12-31 (r339)
Wheelie Resets before loading screen r350
Quazatron Unsupported BASIC command: 0xb9 (EXP) 2007-12-31 (r339)
Operation Wolf Crashes 2007-12-31 (r339)
Lords of Chaos 0x0562 (= slightly later entry point to load_bytes) 2007-12-31 (r339)
Last Ninja 2 Resets 2007-12-31 (r339)
Jet Set Willy Unsupported BASIC command: 0xeb (FOR) 2007-12-31 (r339)
Fairlight Unsupported BASIC command: 0xb0 (VAL) 2007-12-31 (r339)
Sim City Works 2007-12-31 (r339)
Rex Works r350
Myth: History in the Making Crashes after loading first block 2007-12-31 (r339)
Movie Unsupported function: 0xb0 (VAL) 2007-12-31 (r339)
Deflektor Crashes loading first block 2007-12-31 (r339)
Chuckie Egg Unsupported calculator op: 0xa4 after loading 2007-12-31 (r339)
Chase H.Q. Unsupported BASIC command: 0xf1 (LET) 2007-12-31 (r339)
Batman - The Movie Unsupported BASIC command: 0xf1 (LET) 2007-12-31 (r339)
Way of the Exploding Fist, The Unsupported BASIC command: 0xeb (FOR) r350
Ant Attack 0x0036 (= mid-instruction in original ROM, probably in error) 2007-12-31 (r339)
Tau Ceti Syntax error at: 0x1107 2007-12-31 (r339)
Heavy on the Magick Works r341
Dragontorc Unsupported BASIC command: 0xb9 (EXP) 2007-12-31 (r339)
Double, The Crashes after loading first block 2007-12-31 (r339)
Doomdark's Revenge Unsupported BASIC command: 0xeb (FOR) 2007-12-31 (r339)
Zynaps Works 2007-12-31 (r339)
Sky Ranger Works r341
Ranarama Crashes at very end of loading 2007-12-31 (r339)
Paris-Dakar Unprintable character: 0xcc (keyword TO) r345
Flying Shark Crashes before loading screen r350
Arnhem Loads, but selecting any option freezes game r350
Sabre Wulf Unsupported BASIC command: 0xd7 (BEEP) r350
Match Day Syntax error at: 0x04ec r343
Commando Works 2007-12-31 (r339)
Stunt Car Racer Unsupported BASIC command: 0xf1 (LET) r350
RoboCop Crashes 2007-12-31 (r339)
Penetrator Unsupported BASIC command: 0xeb (FOR) r350
Nebulus Works 2007-12-31 (r339)
Bruce Lee Syntax error at: 0x04ec r343
Daley Thompson's Decathlon Syntax error at: 0x0317 2007-12-31 (r339)
Cyclone Syntax error at: 0x0317 2007-12-31 (r339)
Fire 'n Ice Never going to work (needs TR-DOS)
Dizzy Works 2007-12-31 (r339)
Wriggler Unsupported BASIC command: 0xf1 (LET) 2007-12-31 (r339)
Tai-Pan Resets before loading screen r348
Arkanoid Here be dragons: 0x1b76 (= check for break + continue to next BASIC line) r348
Football Manager Unsupported BASIC command: 0xde (OVER); BASIC game, is unlikely to run without loads of work r352
Renegade Resets before loading screen r348
Football Director Unsupported BASIC command: 0xe9 (DIM) after loading - another BASIC game? r350
Nigel Mansell's Grand Prix Unprintable character: 0xa7 after first loader (keyword token PI) 2007-12-31 (r339)
Tir Na Nog Works r588
Gunfright Unsupported calculator op: 0x2e after loading screen r350
Ikari Warriors Syntax error at: 0x2ed1 2007-12-31 (r339)
Battle Ships Syntax error at: 0x2ed1 2007-12-31 (r339)
Avalon Unsupported function: 0xb9 (EXP) 2007-12-31 (r339)
Light Corridor, The Unsupported function: 0xb2 (SIN) 2007-12-31 (r339)
Journey's End Unsupported BASIC command: 0xf1 (LET) after loading screen r350
Three Weeks in Paradise Syntax error at: 0x14a5 (PRINT #n) r355
Light Force Loads, but then 0x03b6 when starting game (= beeper) 2007-12-31 (r339)

Other games

Game Status Tested with version
1942 Works r345
Adventure Quest Unsupported BASIC command: 0xf1 (LET) r357
Agent X Unsupported function: 0xb2 (SIN) 2008-01-07
Agent X II Unsupported function: 0xb0 (VAL) 2008-01-07
Airwolf Loads but crashes afterwards 2007-12-31 (r339)
Alien 8 Syntax error at: 0x04ec r343
Amaurote Works 2007-12-31 (r339)
Ano Gaia Works 2009-01-13
Aquaplane Works r350
Army Moves Unsupported function: 0xc3 (NOT) 2008-01-07
Astroball Unsupported function: 0xb0 (VAL) 2008-01-07
Athena 48K: resets before loading screen r350
Auf Wiedersehen Monty 0x05c4 (= middle of tape loading routine) 2007-12-31 (r339)
Automania Works r588
Avenger 0x05c4 (= middle of tape loading routine) 2007-12-31 (r339)
Battlecars Unsupported function: 0xb0 (VAL). NB Lots of BASIC in this game. r350
Behind Closed Doors Here be dragons: 0x19e5 (= reclaim memory area) r352
Big Sleaze, The Here be dragons: 0x19e5 (= reclaim memory area) r352
Birds and the Bees, The Works 2008-01-07
Bobby Bearing Resets after first loader block 2007-12-31 (r339)
Bored of the Rings Unsupported BASIC command: 0xf1 (LET) r343
Boulder Dash Unsupported BASIC command: 0xeb (FOR) 2009-01-13
Bounder 0x05c4 (= middle of tape loading routine) 2007-12-31 (r339)
Bounty Bob Strikes Back Syntax error at: 0x04ec r343
Brian Bloodaxe 0x05c4 (= middle of tape loading routine) 2007-12-31 (r339)
Buggy Boy Here be dragons: 0x0562 (= slightly later entry point to load_bytes) 2008-01-07
Bugsy Unsupported function: 0xc3 (NOT) 2007-12-31 (r339)
Bumpy Unsupported BASIC command: 0xde (OVER) - after loading screen 2008-01-07
Challenge of the Gobots (DroSoft re-release) Crashes after loading r355
Chequered Flag Unsupported function: 0xb0 (VAL) 2009-01-13
Chronos Unsupported function: 0xa7 (PI) 2008-01-07
Cobra Crashes / Resets after first loader block[6] 2008-01-07
Colossal Adventure Unsupported BASIC command: 0xf1 (LET) r357
Colour of Magic, The Crashes 2007-12-31 (r339)
Computer Scrabble Unsupported function: 0xb0 (VAL) 2009-01-13
Contact Sam Cruise Works r345
Costa Capers Resets after loading 2007-12-31 (r339)
Cybernoid Works 2008-01-07
Dark Star Unsupported BASIC command: 0xf1 (LET) 2008-01-07
Day In The Life, A 0x05c4 (= middle of tape loading routine) 2007-12-31 (r339)
Deathchase Works 2007-12-31 (r339)
Deviants Works 2007-12-31 (r339)
Dungeon Adventure Unsupported BASIC command: 0xf1 (LET) r357
Eric and the Floaters Crashes before loading screen r350
Falcon Patrol 2 0x0005 (= basically a reset. Presumably a bug or anti-hack mechanism) [7] 2007-12-31 (r339)
Full Throttle Unsupported BASIC command: 0xf1 (LET) 2008-01-07
Future Knight 0x05c4 (= middle of tape loading routine) 2007-12-31 (r339)
G.I. Hero Works r350
Hero Quest Unsupported BASIC command: 0xf1 (LET) 2008-01-07
Hobbit, The (v1.2) Works 2008-01-07
Horace and the Spiders Unsupported BASIC command: 0xeb (FOR) 2008-01-07
Horace Goes Skiing Unsupported BASIC command: 0xf1 (LET) 2008-01-07
I, Ball Crashes after loading with screen full of coloured pixels 2009-01-13
I, Of The Mask (Bleepload) Crashes after first set of Bleepload blocks r357
International Rugby Unsupported BASIC command: 0xeb (FOR) 2008-01-07
Impossaball Works 2008-01-07
Juggernaut Unprintable character: 0x84 (block graphic) r351
Jack the Nipper Syntax error at 0x05c4 2008-01-07
Jumping Jack Freezes during loader animation with "out of range" error 2008-01-07
New Zealand Story, The Syntax error at 0x04f7 2008-01-07
Nightmare Rally Here be dragons: 0x1B76 2009-01-13
Megablast! Unsupported function: 0xc3 (NOT) 2008-01-07
Micronaut One Works 2008-01-07
Midnight Resistance Syntax error at 0x04f7 2008-01-07
Moon Cresta Unsupported BASIC command: 0xeb (FOR) 2009-01-13
Out Run Unprintable character: 0xf7 (keyword token RUN) 2008-01-07
Pac-Man Stops with Program finished error 2008-01-07
Paperboy 0x03b5 on starting a game (= beeper) 2007-12-31 (r339)
Peking Unsupported function: 0xc3 (NOT) 2008-01-07
Pinball Wizard Freezes after loading 2008-01-07
Pipe Mania Unsupported BASIC command: 0xf1 (LET) 2008-01-07
Pippo Crashes after loading first header 2008-01-07
Psycho Pigs UXB Resets after first loader block 2007-12-31 (r339)
Roller Coaster Here be dragons: 0x1ada after loading r350
Smash TV Here be dragons: 0x04f7 2008-01-07
Space Crusade Works 2008-01-07
Space Raiders Works 2008-01-07
Splat! Unsupported BASIC command: 0xeb (FOR) 2008-01-07
Starion Works 2008-01-07
Starstrike II Fails at initial 'Program:' (most likely CHR$ 8 in filename) 2007-12-31 (r339)
Stop The Express Crashes before loading screen r350
Sub Track Loads, but freezes with "out of range" error on instructions screen 2008-01-07
Tank Trax Unsupported BASIC command: 0xf1 (LET) 2008-01-07
Technician Ted 0x1e7d (= just an OUT (C),A / RET here)[8] 2007-12-31 (r339)
Teenage Mutant Hero Turtles Works 2008-01-07
Tetris (48k) Here be dragons: 0x62F4 2008-01-07
Trap Door 0x0200 (? jump made in error - partway through keyword table) 2007-12-31 (r339)
Turbo the Tortoise Works 2008-01-07
Turrican Syntax error at 0x04f7 2008-01-07
Universal Hero Unsupported BASIC command: 0xeb (FOR) 2008-01-07
Vectron Loads, but freezes after choosing a menu option 2008-01-07
Who Dares Wins II Unprintable character: 0xaa (keyword token SCREEN$) r350
XOR Works 2008-01-07
Zig Zag Crashes after loading r350
Zub Works, but has some graphics glitches 2008-01-07
  1. The crash appears to be due to the method used to embed the Speedlock 7 loader in BASIC; if you use an emulator with the standard Spectrum ROM to freeze the loader on execution and dump it (0x5D06 - 0x6AF5), then load the dumped memory block into an emulator with OpenZXRom and begin execution from 0x5D06, the loader will then decrypt and run without problems. The game itself works up until the end of the first level, at which point it stops at 0x0562 when trying to load the second level from tape.
  2. The crash appears to be due to the method used to embed the Speedlock 4 loader in BASIC; if you use an emulator with the standard Spectrum ROM to freeze the loader on execution and dump it, then load the dumped memory block into an emulator with OpenZXRom and begin execution from 0x5D06, the loader will then decrypt and run without problems. The game itself appears to work perfectly; I successfully tested it up to the beginning of the second level.
  3. Screen is actually 0x1C00 bytes loaded using LOAD"" CODE 16384, and all hell breaks loose when loading finishes.
  4. At least under Fuse there are problems with recognising the BASIC header.
  5. At least under Fuse there are problems with recognising the BASIC header.
  6. I was able to get the loader to run in a similar fashion to some of the Speedlock games I've tried but the process was a little more involved; I had to create a makeshift manual snapshot by freezing and dumping the loader and noting the current state of the registers using the standard ROM. Loading the dump back into memory and recreating the state of the registers allowed the loader to run in OpenZXRom. The game itself crashes when you pick up a weapons burger, ending up in an infinite loop at 0x0DE7.
  7. If you use an emulator (with the standard Spectrum ROM) to freeze the loader on execution (0x5D11 on a regular 48K Spectrum), dump the loader (0x5D11 - 0x5E1A) then use bin2rem on the dumped loader it actually works, so the problem appears to be with the method of storing the m/c loader in the BASIC program rather than with the loader itself. After the game has loaded, it stops at 0x03B5.
  8. On adding this stub in the right location, the loader resets a couple of seconds before the end.

Article license information

This article uses material from the "Open82" article on the ZX Spectrum technical information wiki at Fandom (formerly Wikia) and is released under the Creative Commons Attribution-Share Alike License.