| ID | 1877 |
|---|---|
| Title | Frightmare |
| Machine | ZX-Spectrum 48K/128K |
| Language | English |
| Genre | Arcade Game: Action |
| Max Players | 1 |
| Available Type | A |
| Without Load Screen | No |
| Without Inlay | No |
| Type | Link | Size | MD5 | Flags | Details | Comments |
|---|---|---|---|---|---|---|
| Disk image | /pub/sinclair/games/f/Frightmare.dsk.zip | 34,952 | - | NoneOriginal release (O) | ||
| BUGFIX tape image | /pub/sinclair/games/f/Frightmare128(BUGFIX).tzx.zip | 32,746 | - | NoneUnidentified copy (if STP) or original release | ||
| Tape image | /pub/sinclair/games/f/Frightmare128.tap.zip | 32,458 | - | Undetermined | ||
| Tape image | /pub/sinclair/games/f/Frightmare48.tap.zip | 33,076 | - | Undetermined | ||
| BUGFIX tape image | /pub/sinclair/games/f/Frightmare48(BUGFIX).tap.zip | 29,575 | - | Undetermined | ||
| Loading screen | /pub/sinclair/screens/load/f/scr/Frightmare.scr | 6,912 | - | |||
| Running screen | /pub/sinclair/screens/in-game/f/Frightmare.gif | 4,536 | - | |||
| Game map | /pub/sinclair/games-maps/f/Frightmare.png | 174,153 | - | |||
| Game map | /pub/sinclair/games-maps/f/Frightmare_2.jpg | 551,732 | - | |||
| Game map | /pub/sinclair/games-maps/f/Frightmare_3.png | 249,393 | - | |||
| Advertisement | /pub/sinclair/games-adverts/f/Frightmare.jpg | 124,055 | - | |||
| Advertisement | /pub/sinclair/games-adverts/f/Frightmare_2.jpg | 252,131 | - | |||
| POK pokes file | /zxdb/sinclair/pokes/f/Frightmare (1988)(Cascade Games).pok | 231 | da6be36090ce0da47953534ec28fd0e8 | |||
| Instructions | /zxdb/sinclair/entries/0001877/Frightmare(EN).txt | 7,783 | 72d529f999b9a2053ffe63b437f032ab | None | ||
| Inlay - Front | /zxdb/sinclair/entries/0001877/Frightmare.jpg | 217,261 | 8165bd0c2ad4c19c05762daf97f092d8 | NoneDouble jewel case | ||
| Poster | /zxdb/sinclair/entries/0001877/Frightmare_Poster.jpg | 864,995 | f51ad98da3a240a057d20b1975b4ca76 | None | ||
| RZX playback file | https://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.zip | 2,237 | cdce663a8fb1bcfd374e973e48d581ed | None | ||
| Instructions | /zxdb/sinclair/entries/0001877/Frightmare(MULTI-LANG).pdf | 232,731 | d7c167e3b34dcd525c7d6d07e7f03c8b | None | ||
| Media scan | /zxdb/sinclair/entries/0001877/Frightmare_Media.jpg | 97,078 | 9237d57bb8ba7960ef6670653f6ed9c7 | None | ||
| Tape image | /pub/sinclair/games/f/Frightmare(SummitSoftware1).tzx.zip | 62,169 | - | NoneRe-release (R) | ||
| BUGFIX tape image | /pub/sinclair/games/f/Frightmare(BUGFIX)(SummitSoftware1).tzx.zip | 62,128 | - | NoneRe-release (R) | ||
| Inlay - Front | /zxdb/sinclair/entries/0001877/Frightmare(SummitSoftware).jpg | 498,383 | 5e8e15f4424edeaede1878ac599a0bf8 | NoneSingle jewel case | ||
| Inlay - Back | /zxdb/sinclair/entries/0001877/Frightmare(SummitSoftware)_Back.jpg | 511,922 | a71760504712afc9d172186dc879b2fd | NoneSingle jewel case | ||
| Tape image | /pub/sinclair/games/f/Frightmare(ZafiroSoftwareDivision).tzx.zip | 62,511 | - | NoneRe-release (R) | ||
| Instructions | /pub/sinclair/games-info/f/Frightmare(ZafiroSoftwareDivision).pdf | 25,801 | - | |||
| Instructions | /pub/sinclair/games-info/f/Frightmare(ZafiroSoftwareDivision).txt | 6,040 | - | |||
| Inlay - Front | /pub/sinclair/games-inlays/Rereleases/f/Frightmare(ZafiroSoftwareDivision).jpg | 297,835 | - | |||
| Disk image | /zxdb/sinclair/entries/0001877/Frightmare(ZafiroSoftwareDivision).dsk.zip | 36,305 | d3598421374dbee4e238ac7cc8d733c6 | None |
| Type | Title | Publication | Issue | Date |
|---|---|---|---|---|
| standalone | Frightmare | Cascade Games Ltd | - | 1988 |
| Tag | Type | Category | Member Seq | Links |
|---|---|---|---|---|
| AY Sound | Feature | - | - | |
| Horror/Halloween | Theme | - | - |
| Website | Score | Votes |
|---|---|---|
| WorldOfSpectrum | 6.89 | 18 |
| Type | Text |
|---|---|
| Known Errors | Bugfix 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 References | Includes the following music: Camille Saint-Saëns, Danse Macabre op. 40. |