OpenZXRom 2007-12-31 (Here be dragons)

[Screenshot: Paperboy, with 'Here be dragons: 0x03B5' error] Just sneaking in at the end of the year as if it was releasing to an actual deadline or something, OpenZXRom 2007-12-31 brings eagerly awaited support for the LOAD “” command. This means that it can now handle all the necessary parts of a ‘typical’ Basic loader – CLEAR, LOAD, RANDOMIZE USR – and make a good honest attempt at loading real commercial games from tape. Sometimes it even works: Manic Miner! Egghead 4! Fat Worm Blows A Sparky! They all load and run successfully, exactly the way they’re supposed to. No ifs, no buts.

Even for the programs that do fall over – still the majority – this release marks a turning point. At this stage, it makes sense to dig around and investigate why things are failing and what needs to be added next, rather than just shrugging and saying “well, what do you expect… of course it breaks right now, it’s still in the stupidly early stages”. To that end, the throbbing yellow and magenta border of death has been furnished with new diagnostic error messages like the one in the screenshot. In this example, Paperboy loads up correctly and gets as far as the main menu, but throws a “Here be dragons” error on starting the game – meaning that it’s jumped to an as-yet uncharted location in the ROM. It turns out that 0x03B5 is the address of the ‘beeper’ routine, hinting that that might be a useful addition for a future release…

Download OpenZXRom 2007-12-31

Update: There’s now a page on the ZX Spectrum Technical Info Wikia gathering a chart of OpenZXRom successes and failures.

5 Responses to “OpenZXRom 2007-12-31 (Here be dragons)”

  1. bob_fossil says:

    Here’s some results from a couple of TZX files I tried:

    Games
    ——–

    Technician Ted : Here By Dragons: 0x1E7d

    Trap Door: Here By Dragons: 0×0200

    Starquake: ‘Program finished’ after first loader block

    Loading Schemes
    ——————–

    Gremlin Loader (Auf Wiedersehen Monty / Future Knight / Avenger): Here By Dragons: 0x05C4

    Alcatrazz loaders (Psycho Pigs UXB / Cobra): Resets after first loader block.

    Speedlock 1 loaders (Bruce Lee / Bounty Bob Strikes Back): ‘Unsupported BASIC command 0xDC’.

    Powerload loaders (Boulderdash / Moon Cresta) ‘Unsupported BASIC command 0xEB’.

    Bleepload loaders (Gobots / GI Hero / I Of The Mask) ‘Unsupported BASIC command 0xF5′.

  2. matt says:

    Thanks for those… all added to the OpenZXRom wiki page now. Scratching the surface of those reveals a nice mix of quick wins (0x1E7D just needs an OUT (C),A / RET putting in the right place – why they needed to call the ROM for that I have no idea), bigger jobs which are crying out to be done (command 0xF5 is PRINT), mysteries to investigate (0×0200 is the middle of a table, so the fact that it’s being jumped to is a mistake in itself) and things that just make me groan “why oh why did they have to do that?” (the Gremlin Loader is jumping slap bang into the middle of the tape loader routine, in a place which only a fool would use as an entry point).

  3. bob_fossil says:

    Couple more for you….

    Working:

    3D Deathchase – Loads. Appears to work OK!

    Deviants – Loads. Appears to work OK!

    Not Working:

    A Day In The Life – Here be dragons 0x05C4

    Costa Capers – Loads OK but resets at end

    Eric And The Floaters – Unsupported BASIC command 0xDC

    Roller Coaster – Unsupported BASIC command 0xF5

    Starstrike II – ‘Multicolour ROM crash’ trying to display the first ‘Program: ‘ message after the pilot tone.
    On an original 48k ROM it is displayed as ‘Programmed’. Maybe the filename has some special ‘print at’ formatting characters in it? These ‘overwriting’ filenames are also used on Alkatrazz loaders and they don’t display correctly – but these don’t crash.

    Stop The Express – Unsupported BASIC command 0xDC

    Who Dares Wins II – Unsupported BASIC command 0xF5

    Zig Zag – Unsupported BASIC command 0xF5

    Loading Schemes:

    Paul Owens Protection System (Rainbow Islands / Chase HQ) – Unsupported BASIC command 0xF1

  4. bob_fossil says:

    Just one more thing…. :)

    Brian Bloodaxe – Here be dragons 0x05C4

    Falcon Patrol II – Here be dragons 0×0005

    Juggernaut – Here be dragons 0x053f (after title screen loads)

    Sim City – Loads. Appears to work OK.

  5. matt says:

    Excellent stuff, that’s all really useful to know. In future, please could you add them directly to the wiki page? Thanks! :-)

Leave a Reply