We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Corruption (ZX Spectrum, Omega Software)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Corruption

Developer: Omega Software
Publisher: Omega Software
Platform: ZX Spectrum
Released in EU: 1984


SourceIcon.png This game has uncompiled source code.


Source Code Fragment

A large section of the code is left in the game. The code seen below can be seen with a hex editor, starting at 359E in the .tap dump of the game.

ORG 32000
BASE DEFL 31000
CALC  PUSH BC
      LD B,0
      LD C,E
      LD H,B
      LD L,C
      ADD HL,BC
      LD BC,BASE
      ADD HL,BC
      LD C,(HL)
      INC HL
      LD B,(HL)
      LD H,0
      LD L,D
      ADD HL,BC
      POP BC
      RET 
DISP  PUSH BC
      LD C,(HL)
      OR C
      LD (HL),A
      POP BC
      RET 
ERASE LD BC,BASE+396
      LD L,16
      PUSH HL
      LD A,(BASE+386)
      LD E,A
      LD A,(BASE+385)
      LD D,A
ER1   CALL CALC
      LD A,(BC)
      LD (HL),A
      INC BC
      INC HL
      LD A,(BC)
      LD (HL),A
      INC E
      INC BC
      POP HL
      DEC L
      RET Z
      PUSH HL
      JR ER1
HERE  CALL SETUP
      LD (29005),SP
PROG  CALL MAN
      CALL THING
      CALL FALL?
      CALL TCAB?
      CALL LEVEL
      CALL MTEST
      CALL CHHIT
      CALL TIME
      LD A,(BASE+610)
      CP 0
      CALL NZ,PBOMB
      CALL MRAB
      LD A,45
      CALL DELAY
      CALL FSND
      LD BC,63486
      IN A,(C)
      BIT 0,A
      CALL Z,FREZE
      LD BC,63486
      IN A,(C)
      BIT 2,A
      RET Z
      CALL ERASE
      CALL THERA
      LD A,(BASE+610)
      CP 0
      CALL NZ,EBOMB
      CALL BELT
      CALL MANM?
      CALL MRAB
      CALL MTEST
      CALL SLI?
      LD BC,61438
      IN A,(C)
      BIT 0,A
      CALL Z,FILH?
      LD BC,65022
      IN A,(C)
      BIT 0,A
      CALL Z,FILH?
      LD A,(BASE+610)
      CP 0
      CALL NZ,EBOMB
      CALL MBOMB
      CALL MBOMB
      CALL MBOMB
      LD A,(BASE+388)
      CP 0
      CALL Z,MFALL
      LD A,(BASE+388)
      CP 0
      CALL Z,MFALL
      LD A,(BASE+388)
      CP