Entry Summary
ID1877
TitleFrightmare
MachineZX-Spectrum 48K/128K
LanguageEnglish
GenreArcade Game: Action
Max Players1
Available TypeA
Without Load ScreenNo
Without InlayNo
Downloads
TypeLinkSizeMD5FlagsDetailsComments
Disk image/pub/sinclair/games/f/Frightmare.dsk.zip34,952-
NoneOriginal release (O)
BUGFIX tape image/pub/sinclair/games/f/Frightmare128(BUGFIX).tzx.zip32,746-
NoneUnidentified copy (if STP) or original release
Tape image/pub/sinclair/games/f/Frightmare128.tap.zip32,458-
Undetermined
Tape image/pub/sinclair/games/f/Frightmare48.tap.zip33,076-
Undetermined
BUGFIX tape image/pub/sinclair/games/f/Frightmare48(BUGFIX).tap.zip29,575-
Undetermined
Loading screen/pub/sinclair/screens/load/f/scr/Frightmare.scr6,912-
Running screen/pub/sinclair/screens/in-game/f/Frightmare.gif4,536-
Game map/pub/sinclair/games-maps/f/Frightmare.png174,153-
Game map/pub/sinclair/games-maps/f/Frightmare_2.jpg551,732-
Game map/pub/sinclair/games-maps/f/Frightmare_3.png249,393-
Advertisement/pub/sinclair/games-adverts/f/Frightmare.jpg124,055-
Advertisement/pub/sinclair/games-adverts/f/Frightmare_2.jpg252,131-
POK pokes file/zxdb/sinclair/pokes/f/Frightmare (1988)(Cascade Games).pok231da6be36090ce0da47953534ec28fd0e8
Instructions/zxdb/sinclair/entries/0001877/Frightmare(EN).txt7,78372d529f999b9a2053ffe63b437f032ab
None
Inlay - Front/zxdb/sinclair/entries/0001877/Frightmare.jpg217,2618165bd0c2ad4c19c05762daf97f092d8
NoneDouble jewel case
Poster/zxdb/sinclair/entries/0001877/Frightmare_Poster.jpg864,995f51ad98da3a240a057d20b1975b4ca76
None
RZX playback filehttps://archive.org/download/rzxarchive/frightmare.rzx--
Recorded by Rouslan Gordeyev (with rollback)
Ripped in-game/theme music in AY format/zxdb/sinclair/entries/0001877/Frightmare.ay.zip2,237cdce663a8fb1bcfd374e973e48d581ed
None
Instructions/zxdb/sinclair/entries/0001877/Frightmare(MULTI-LANG).pdf232,731d7c167e3b34dcd525c7d6d07e7f03c8b
None
Media scan/zxdb/sinclair/entries/0001877/Frightmare_Media.jpg97,0789237d57bb8ba7960ef6670653f6ed9c7
None
Tape image/pub/sinclair/games/f/Frightmare(SummitSoftware1).tzx.zip62,169-
NoneRe-release (R)
BUGFIX tape image/pub/sinclair/games/f/Frightmare(BUGFIX)(SummitSoftware1).tzx.zip62,128-
NoneRe-release (R)
Inlay - Front/zxdb/sinclair/entries/0001877/Frightmare(SummitSoftware).jpg498,3835e8e15f4424edeaede1878ac599a0bf8
NoneSingle jewel case
Inlay - Back/zxdb/sinclair/entries/0001877/Frightmare(SummitSoftware)_Back.jpg511,922a71760504712afc9d172186dc879b2fd
NoneSingle jewel case
Tape image/pub/sinclair/games/f/Frightmare(ZafiroSoftwareDivision).tzx.zip62,511-
NoneRe-release (R)
Instructions/pub/sinclair/games-info/f/Frightmare(ZafiroSoftwareDivision).pdf25,801-
Instructions/pub/sinclair/games-info/f/Frightmare(ZafiroSoftwareDivision).txt6,040-
Inlay - Front/pub/sinclair/games-inlays/Rereleases/f/Frightmare(ZafiroSoftwareDivision).jpg297,835-
Disk image/zxdb/sinclair/entries/0001877/Frightmare(ZafiroSoftwareDivision).dsk.zip36,305d3598421374dbee4e238ac7cc8d733c6
None
Releases
Release #YearDownloads
#0198820
#1-0
#219884
#319885
Origins
TypeTitlePublicationIssueDate
standaloneFrightmareCascade Games Ltd-1988
Relations
No relations recorded
Tags / Members
TagTypeCategoryMember SeqLinks
AY SoundFeature-
-
Horror/HalloweenTheme-
-
Ports
TitlePlatformOfficialLink
-Amstrad CPCYesLink
-Commodore 64YesLink
Remakes
No remakes recorded
Scores
WebsiteScoreVotes
WorldOfSpectrum6.8918
Notes
TypeText
Known ErrorsBugfix provided by pushHL: <UL><LI> 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: <PRE>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</PRE>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: <PRE>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</PRE></UL> Modified "BUGFIX" file provided by pushHL (48K version) and Metalbrain (128K version compatible with +2A).
Music ReferencesIncludes the following music: Camille Saint-Saëns, Danse Macabre op. 40.
Aliases
No aliases
Licenses
No licenses linked
Files
No files linked