Mail has been fixed; you should now be able to confirm your e-mail address, watch pages, and the like.
Please report any issues on Discord.

Super Pipeline II

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Super Pipeline II

Developer: The Programming Partnership
Publisher: Taskset
Platform: ZX Spectrum
Released in EU: 1985


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 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