doom on 128k

edited March 2014 in Games
i see a youtube video of doom being played for the spectrum, is this designed to work stright of a tape and onto a spectrum without the divide thing the bloke was using
Post edited by d_2da_ougle on

Comments

  • edited February 2014
    There are 2 Doom entries in the WoS database:

    http://www.worldofspectrum.org/infoseekid.cgi?id=0012818

    http://www.worldofspectrum.org/infoseekid.cgi?id=0012817

    But both have available a z80. and tap. file, so I would say they could be loaded from tape, although not sure how long the load would take, probably a lot of minutes, and probably multiload? But Im sure there are here people whi can reply much more accurately than me regarding this ;)
  • edited February 2014
    if you search the forum you should find a post about doom with links to a proper tzx done by battle bunny and a mgt disk image done by me
  • edited February 2014
    Here's the link to my version:

    ... oh, hang on a minute ...

    ... found it ...

    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doom2tap.zip

    It's a 140kb load - takes about 20 minutes at normal speed. It's a conversion of the Digital Reality TR-DOS disk version, including all the hidden bits in the loader. IIRC I sorted out the few remaing graphics glitches and played through most of the game using the infy pokes. I never managed to find my way all through the level, but I did include a separate file with the ending sequence.
  • edited February 2014
    Here's the link to my version:
    ... oh, hang on a minute ...
    ... found it ...
    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doom2tap.zip
    It's a 140kb load - takes about 20 minutes at normal speed. It's a conversion of the Digital Reality TR-DOS disk version, including all the hidden bits in the loader. IIRC I sorted out the few remaing graphics glitches and played through most of the game using the infy pokes. I never managed to find my way all through the level, but I did include a separate file with the ending sequence.

    Hmm. That's strange. I can see only mess on the screen.
    I admit 'though, I use emulator, not a real hardware.

    DL4.gif
    error
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited February 2014
    My version runs from tape on the UK Spectrum +128k/+2; it works on ZXSpin v0.666 in those modes, and should do so on other emulators. It won't work on the +2A/+3, and is unlikely to work on non-UK 128 models.
  • edited February 2014
    Yes yes, I tested the 128+ set up in the emul.

    So it's the emulator fault then. OK, thanks a lot.



    PS: And yes, it works on Spin indeed. Thanks again for Your work.
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited February 2014
    I'm pleased to see that you got it working. I've tried it on a few other emulators: Fuse - OK, SpecEmu - OK, EightyOne - OK (but takes ages to load), Spectaculator - not OK (looks much like your sample screenshot). The graphics code by Digital Reality must be stretching the Spectrum's limits and some emulators don't quite keep up.
  • edited February 2014
    Here's the link to my version:

    ... oh, hang on a minute ...

    ... found it ...

    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doom2tap.zip

    It's a 140kb load - takes about 20 minutes at normal speed. It's a conversion of the Digital Reality TR-DOS disk version, including all the hidden bits in the loader. IIRC I sorted out the few remaing graphics glitches and played through most of the game using the infy pokes. I never managed to find my way all through the level, but I did include a separate file with the ending sequence.

    Has anyone loaded this on real hardware?

    I'm trying on a +2a, using spectrum mode seems to work, but the game completely cashes about 10 minutes into the load. I get as far as the games status bar at the bottom.

    Anyone else got further?

    Oppose, just saw it won't work on the +2a - sorry!
  • edited February 2014
    I'll add a compatibility note to the text file. I'll also have a look at why it doesn't work with the +2A/+3. After all, I converted it from a TR-DOS disk version, so it should (must?) be possible to get it working on the +2A/+3.
  • edited February 2014
    Just played it with fuse. Excellent! Look forward to playing on the +2a if possible. :D
  • edited February 2014
    I've had a look at the problem with the +2A. Code in page 7 is being overwritten while running the first BASIC loader routine (the second one would also fail if it could ever get that far). The problem is caused by the disk timeout routine being called by the maskable interrupt, and if I've put something in page 7 but haven't swapped it out then the interrupt routine swaps in a mostly empty page 7 (for the sake of one byte - the timeout counter - why couldn't it have been put in a system variable?) and the code's been lost.

    Although the disk timeout routine can be disabled by resetting bit 4 in flags when the BASIC ROM is loaded, this has no effect when the Syntax ROM is loaded; the timeout routine is called unconditionally - and some common BASIC commands cause the Syntax ROM to be loaded temporarily. The tape loader routines will have to be rewritten in assembler so that I can disable interrupts whenever I'm putting stuff in page 7.
  • edited February 2014
    I've got Doom working on the +2A. I ended up just changing the two BASIC loaders, rather than adding any assembler. As I haven't done much testing as yet (I've just gone down the corridor with the barrels and into the main level) or updated the documentation, I haven't updated the ZIP file, but the new version can be tried out by replacing dlp1 and dlp2 in dl4.tap with these versions:

    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doomdlp1.tap
    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doomdlp2.tap

    I squashed up the code a bit, but the relevant changes are that dlp1 has this extra line:
    19 LET r=PEEK VAL "23611":
         IF (INT VAL "r/16"-INT VAL "r/32"*2)
         THEN POKE VAL "23611",VAL "r-16"
    
    and in both files every POKE 23388 (BANKM) is immediately followed by an OUT 32765 with the same value.
  • edited March 2014
    I've updated the ZIP file with the +2A-compatible version:

    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doom2tap.zip

    The only files changed are DL4.TAP & dlp1&2.BAS .
  • edited March 2014
    I've updated the ZIP file with the +2A-compatible version:

    http://www.users.globalnet.co.uk/~jg27paw4/pourri/doom2tap.zip

    The only files changed are DL4.TAP & dlp1&2.BAS .

    :D will give it ago tonight. Thank you for the fix.
Sign In or Register to comment.