the cutting room mirror

Super Pipeline II (ZX Spectrum)

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

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 7EC2 in the .tap dump of the game.

PARTA  LD B,55
       COLLD INC (IX+0)
       INC (IX+0)
       DEC (IX+4)
       DEC (IX+4)
       PUSH BC
       CALL DRIVE
       POP BC
       DJNZ COLLD
       ;  
       CALL HMSND
       LD B,4
       LD (IX+2),2
       CRUSH INC (IX+0)
       INC (IX+0)
       PUSH BC
       CALL DRIVE
       POP BC
       HALT 
       DJNZ CRUSH
       CALL HMSND
       LD (IX+0),114
       LD (IX+7),1
       LD (IX+2),1
       LD (IX+3),3
       ;  
       LD B,57
       RUNOF DEC (IX+0)
       DEC (IX+0)
       LD A,(IX+4)
       CP 236
       JR NC,BUGOF
       ADD 4
       LD (IX+4),A
       JR SKIPP
BUGOF  LD (IX+5),200
SKIPP  PUSH BC
       CALL DRIVE
       POP BC
       DJNZ RUNOF
       ;  
       RET 
       ;  
DAT5   DEFB 240
       DEFB 192
       DEFB 5
       DEFB 3
       DEFB 240
       DEFB 176
       DEFB 6
       DEFB 3
       DEFB 240
       DEFB 192
       DEFB 1
       DEFB 3
       DEFB 240
       DEFB 192
       DEFB 1
       DEFB 3
       DEFB 0
       DEFB 192
       DEFB 9
       DEFB 1
       ;  
FILL5  LD HL,DAT5
       LD DE,SPDT2
       LD BC,20
       LDIR 
       ;  
       LD IX,SPDT2
       XOR A
AFIVE  LD (COUNT),A
       CP 10
       CALL NC,WORK1
       CP 20
       CALL NC,WORK2
       CP 52
       JR NZ,FMAN
       ;  
       LD HL,SPDT2+3
       LD DE,4
       LD B,4
REVRS  LD (HL),1
       ADD HL,DE
       DJNZ REVRS
       ;  
FMAN   CALL MOV2S
       CALL LOBST
       CALL DRIVE
       LD A,(COUNT)
       INC A
       CP 127
       JR NZ,AFIVE
       RET 
       ;  
LOBST  LD IX,SPDT2+8
       CALL MOVW1
       LD IX,SPDT2
       RET 
       ;  
       WORK1 PUSH AF
       CALL MOVW1
       POP AF
       RET 
       ;  
WORK2  PUSH AF
       LD IX,SPDT2+4
       CALL MOVW1
       LD IX,SPDT2
       POP AF
       RET 
       ;  
FILL7  LD DE,SPDT2
       LD HL,DAT5
       LD BC,16
       LDIR 
       ;  
       LD A,4
       LD (23693),A
       ;  
       LD BC,5128
       LD HL,CHARS+992
       LD (23675),HL
       CALL PRN2
       LD BC,5640
       LD HL,CHARS+1024
       LD (23675),HL
       CALL PRN2
       ;  
       LD IX,SPDT2
       XOR A
SEVEN  LD (COUNT),A
       CP 10
       CALL NC,WORK1
       CP 20
       CALL NC,WORK2
       CALL MOV2S
       LD A,(IX+8)
       CP 64
       JR NZ,DOOR2
       LD (IX+9),200
DOOR2  LD A,(IX+12)
       CP 64
       JR NZ,SHOWS
       LD (IX+13),200
SHOWS  CALL DRIVE
       LD A,(COUNT)
       INC A
       CP 120
       JR NZ,SEVEN
       RET 
       ;  
DAT8   DEFB 240
       DEFB 192
       DEFB 19
       DEFB 3
       DEFB 224
       DEFB 192
       DEFB 18
       DEFB 3
       DEFB 240
       DEFB 192
       DEFB 1
       DEFB 3
       ;  
FILL8  LD DE,SPDT2
       LD HL,DAT8
       LD BC,12
       LDIR 
       ;  
       LD IX,SPDT2
       LD B,128
A8C5   PUSH BC
       PUSH BC
       CALL MOVC5
       CALL DRIVE
       POP BC
       LD A,129
       SUB B
       LD C,A
SLOC5  LD B,32
EIGPS  DJNZ EIGPS
       DEC C
       JR NZ,SLOC5
       POP BC
       DJNZ A8C5
       ;  
       LD B,56
B8WKR  PUSH BC
       CALL MOVW1
       CALL DRIVE
       POP BC
       DJNZ B8WKR
       ;  
       LD (IX+11),1
       LD B,64
C8BTH  PUSH BC
       CALL MOV2S
       DEC (IX+8)
       DEC (IX+8)
       CALL DRIVE
       POP BC
       DJNZ C8BTH
       ;  
       RET 
       ;  
SCROL  LD HL,20672
       CALL SCRRT
       LD HL,21696
       CALL SCRRT
       LD HL,22527
       CALL SCRLF
       LD HL,21503
       ;  
SCRLF  PUSH HL
       CALL SLEFT
       POP HL
       DEC H
SLEFT  LD B,64
LEFTL  RL (HL)
       DEC HL
       DJNZ LEFTL
       RET 
       ;  
SCRRT  PUSH HL
       CALL SRGHT
       POP HL
       INC H
SRGHT  LD B,64
RGHTL  RR (HL)
       INC HL
       DJNZ RGHTL
       RET 
       ;  
GMOVR  LD IX,LETAB+32
       XOR A
       LD (23693),A
       LD A,3
       LD (MUSIC),A
       LD A,9
       ;  
GMVLP  LD (COUNT),A
       LD L,(IX+0)
       LD H,(IX+1)
       LD (23675),HL
       LD BC,5662
       CALL PRN2
       LD L,(IX+2)
       LD H,(IX+3)
       LD (23675),HL
       LD BC,5632
       CALL PRN2
       DEC IX
       DEC IX
       DEC IX
       DEC IX
       ;  
       LD C,9
SLIDE  CALL SCROL
       CALL SCROL
       DEC C
       JR NZ,SLIDE
       ;  
       LD A,(COUNT)
       DEC A
       JR NZ,GMVLP
       ;  
       LD C,15
SLID2  CALL SCROL
       CALL SCROL
       DEC C
       JR NZ,SLID2
       LD B,20
SHOGO  HALT 
       DJNZ SHOGO
       RET 
       ;  
LETAB  DEFW LET+224
       DEFW LET+288
       DEFW LET+128
       DEFW LET+320
       DEFW LET+192
       DEFW LET+352
       DEFW LET+160
       DEFW LET+384
       DEFW LET+256
       DEFW LET+256
       DEFW LET+128
       DEFW LET+416
       DEFW LET+96
       DEFW LET+448
       DEFW LET+64
       DEFW LET+384
       DEFW LET+32
       DEFW LET+480
       ;  
DAT6   DEFB 224
       DEFB 192
       DEFB 22
       DEFB 3
       DEFB 240
       DEFB 192
       DEFB 27
       DEFB 3
       DEFB 0
       DEFB 192
       DEFB 9
       DEFB 1
       ;  
       FILL6 LD DE,SPDT2
       LD HL,DAT6
       LD BC,12
       LDIR 
       ;  
       LD HL,22208+26
       LD (SHADR),HL
       LD IX,SPDT2
       LD A,128
SIXLP  LD (COUNT),A
       CP 97
       JR NZ,OFFSC
       LD (IX+10),7
       LD (IX+11),0
OFFSC  CP 93
       JR NZ,MOVE6
       LD (IX+9),200
MOVE6  CALL MOV2S
       INC (IX+8)
       INC (IX+8)
       CALL SHOT
       CALL DRIVE
       LD A,(COUNT)
       DEC A
       JR NZ,SIXLP
       RET 
       ;  
SHOT LD A,(COUNT)
       CP 120
       RET NC
       JR NZ,MOVSH
       LD HL,(SHADR)
       LD (HL),255
       CALL NOISE
       RET 
       ;  
SHADR  DEFW 0
       ;  
MOVSH  CP 103
       RET C
       LD HL,(SHADR)
       LD (HL),0
       CP 104
       RET C
       DEC HL
       LD (HL),255
       LD (SHADR),HL
       CP 116
       RET C
NOISE  LD A,16
       LD C,4
       JP SNDLP
       ;  
DRIVE  HALT 
       DI 
       CALL DRIVR
       EI 
       CALL WATER
       CALL WATER
       CALL WSCAN
       CALL WATER
       CALL WATER
       CALL WSCAN
       JP WATER
       ;  
FINIS  END

References#


  1. NEWS: Software update - Home Computing Weekly, Number 115, June 4-10, 1985↩︎