General info for: Frightmare
Title:
Frightmare
Original Release Year:
Original Publisher:
Message Language:
English
Machine Type:
ZX-Spectrum 48K/128K
Maximum Players:
1
Original Price:
£9.95
Spanish Price:
1200 ptas.
Known Errors:
Bugfix provided by pushHL:
  • The player is supposed to wake up at 7:54 after visiting 79 rooms, but it never happens due to a bug in the dream state routine. At 39% the second word should update to 'vision' but stays the same. It's very lucky that the game doesn't crash at this point which is down to the program reading $ff, one is then added to it to get $00 and this value points to the second word. $00 obviously points to first option of second word which is 'dream' and is why it stays the same. Here's the bug:
    b102: ld a, (iy+$05) ;first word
    b105: inc a ;move to next word in list
    b106: cp $0f ;gone past last word (nefarious)?
    b108: call nc, $b110 ;yes
    b10b: ld (iy+$05), a ;no, so preserve word and continue
    b10e: jr $b0de
    b110: ld a, (ix+$06) ;second word <----Here is bug should be ld a, (iy+$06)
    b113: inc a ;move to next word in list
    b114: cp $07 ;gone past last word (frightmare)?
    b116: jr z, $b11d ;yes
    b118: ld (iy+$06), a ;no, so preserve second word,
    b11b: xor a ;set first word to beginning of list and continue
    b11c: ret
    ;player reaches ultimate dream state (nefarious frightmare)
    ;in normal game this code never runs due to bug
    b11d: ld a, $13 ;length =19 (nefariousfrightmare)
    b11f: ld (iy+$07), a
    b122: ld a, $06 ;set second word to frightmare
    b124: ld (iy+$06), a
    b127: ld a, $0e ;set first word to nefarious
    b129: ld (iy+$05), a
    b12c: ld a, $01 ;disallow any further changes to dream state
    b12e: ld ($b0cb), a
    ;message update
    b131: ld de, $5801
    b134: ld hl, $5800
    b137: ld (hl), $00
    b139: ld bc, $003f
    b13c: ldir
    b13e: call $a6f5
    b141: pop ix
    b143: ret
    There's also a problem with stack so we need to find two bytes to get the extra POP in. The following patch fixes the problem:
    org $b110
    defb $fd ;fix original bug, iy not ix

    org $b0f9
    defb $32 ;update normal jump (jp $b132)

    org $b11d
    dec a ;a=7 at this point so 1 byte saved here
    ld (iy+6),a
    ld a,$13
    ld (iy+7),a
    ld a,$0e
    ld (iy+5),a
    ld a,1
    ld ($b0cb),a
    pop ix ;now lose 2 bytes to clear stack with extra pop
    ld de,$5801
    ld hl,$5800
    ld (hl),l ;2nd byte saved here

Modified "BUGFIX" file provided by pushHL (48K version) and Metalbrain (128K version compatible with +2A).
Other platforms:
Amstrad CPC, Commodore 64
Original WoS Score:
6.89 (18 votes)

Frightmare screenshot
Frightmare screenshot

Main File Downloads

Spectrum Computing acknowledges the rights of copyright holders. If you would like your software removed from our preservation archive (or have any queries) please contact spectrumcomputing@outlook.com

Cascade Games Ltd (UK)
1988
Frightmare128(BUGFIX).tzx.zip
English
128 (BUGFIX)
Cascade Games Ltd (UK)
1988
Frightmare48(BUGFIX).tap.zip
English
48 (BUGFIX)
Summit Software [1] (UK)
1988
Frightmare(BUGFIX)(SummitSoftware1).tzx.zip
English
(BUGFIX)
Cascade Games Ltd (UK)
1988
Frightmare.dsk.zip
English
Cascade Games Ltd (UK)
1988
Frightmare128.tap.zip
English
128
Cascade Games Ltd (UK)
1988
Frightmare48.tap.zip
English
48
Summit Software [1] (UK)
1988
Frightmare(SummitSoftware1).tzx.zip
English
Zafiro Software Division (Spain)
1988
Frightmare(ZafiroSoftwareDivision).tzx.zip
English

Icons provided by Flaticon
RZX Archive / Youtube

Releases
£9.95
Authors/Contributors
 
no team
     
no team
Compilations featuring this title
Release Year: 1988
Release Year: 1989
Release Year: 1991
Release Year: 2015

Page: 67
Article Type: Review
Page: 15
Article Type: Preview
Page: 42
Article Type: Review
Page: 114
Article Type: Map
Page: 107
Article Type: CompoEntry
Page: 25 (PDF)
Article Type: Review
Page: 59
Article Type: Premiere
Page: 28
Article Type: Nuevo
Page: 86 (PDF)
Article Type: Preview
Page: 66 (PDF)
Article Type: Review
Page: 18
Article Type: Preview
Page: 51
Article Type: Review - not a Spectrum article
Page: 10
Article Type: Preview
Page: 52
Article Type: Review
Page: 68
Article Type: Advert
Page: 71
Article Type: Advert
Page: 73
Article Type: Advert
Page: 75
Article Type: Advert
Page: 84
Article Type: Two-page ad
Page: 37 (PDF)
Article Type: Advert
Page: 38 (PDF)
Article Type: Advert
Page: 39 (PDF)
Article Type: Advert
Page: 40 (PDF)
Article Type: Advert
Page: 88 (PDF)
Article Type: Two-page ad
Page: 37 (PDF)
Article Type: Advert
Page: 39 (PDF)
Article Type: Advert
Page: 41 (PDF)
Article Type: Advert
Page: 43 (PDF)
Article Type: Advert
Page: 2 (PDF)
Article Type: Two-page ad