If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Exodus (ZX Spectrum, Firebird Software)
Jump to navigation
Jump to search
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with uncompiled source code
Games > Games by developer > Games developed by MicroProse > Games developed by Telecomsoft > Games developed by Firebird Software
Games > Games by platform > ZX Spectrum games
Games > Games by publisher > Games published by MicroProse > Games published by Telecomsoft > Games published by Firebird Software
Games > Games by release date > Games released in 1984
Exodus |
---|
Developer: Firebird Software This game has uncompiled source code. |
Source Code Fragment
Large chunks of code were included in this game. These fragments of code take up almost a quarter of the game's space. The following addresses seen below are for the .tzx dump of the game.
3545:
LMST: DB 221,54,11,0 DB 221,54,1,0 CALL RA LD (IX+4),A DB 221,54,12,0 RET RMST: DB 221,54,11,0 DB 221,54,1,0 CALL RA LD (IX+4),A DB 221,54,12,0 RET UM: DB 221,54,11,0 CALL RA LD (IX+1), A DB 221,54,4,0 DB 221,54,12,1 RET D6: DB 221,54,11,0 CALL RA LD (IX+1),A DB 221,54,4,0 DB 221,54,12,1 RET RA:;A=255 OR 1 CALL RND AND 1 CP 1 RET Z LD A,255 RET ISC: CALL IF LD A,50 DB 50 DW S+25;OPS TO HIT LD A,(S+53) CP 2 CALL Z,CH2 LD A,(S+24) INC A CP 3 JR Z,N2 DB 50 DW S+24 CALL OFF CALL TUN JP WS N2: LD A,0 DB 50 DW S+24 CALL INCL CALL OFF CALL TUN JP WS INCL: LD A,(S+23) CP 9 RET Z INC A DB 50 DW S+23 RET CH: LD E,0 RET CEB: LD A,(IX+12) AND 128 RET NZ LD A,(S+23) CP 7 RET C LD A,(IX+11) CP 251 JR Z,PCE CP 255 RET NZ PCE: CALL RND CP 230 RET C PUSH IY POP HL LD B,4 DI LD IY,BST+11 LD DE,11 FBL: LD A,(IY+0) CP 0 JR Z,FND ADD IY,DE DJNZ FBL PUSH HL POP IY EI RET FND: ;IX=OPST IY=BST XOR A LD A,(IX+3) SUB 3 RLA RLA RLA CP 170 JR NC,NGD LD (IY+1),A XOR A LD A,255 LD B,(IX+2) DEC B DEC B RL B RL B(IY+4),A LD A,(IX+16) LD (IY+5),A LD A,(IX+12) INC A LD (IY+6),A XOR A LD (IY+7),A LD (IY+8),A LD (IY+9),A LD (IY+10),A PUSH IX PUSH IY POP IX PUSH HL POP IY CALL PB POP IX EI RET NGD: PUSH HL POP IY EI RET N1: PUSH BC LD A,(S+36) ADD A,16 OUT (0FEH),A CALL RND LD B,A NS2: DJNZ NS2 LD A,(S+36) OUT (0FEH),A CALL RND LD B,A NS3:DJNZ NS3 POP BC DJNZ N1 RET SQ2: ;RADIATING SQUARES CALL SQL;DRAW LINE SQ4: DEC B DEC E JR Z,FI PUSH DE CALL SQ3 POP DE JR SQ4 FI: SQL:;DRAW LINE AT BC,DLONG PUSH DE CALL 0DD9H POP DE PUSH DE POP HL Q: LD A,32 RST 16 LD A,H CP 0 RET Z DEC H JR Q SQ3:;DRAW AT BC AND BC-D PUSH DE CALL 0DD9H POP DE LD A,32 RST 16 PUSH BC LD A,C SUB D LD C,A CALL 0DD9H LD A,32 RST 16 POP BC RET TUN: LD HL,256*60 LD (23606),HL CALL O0 LD A,1 LLOOP: DB 50 DW S+21 LD A,16 RST 16 LD A,(S+21) RST 16 LD A,17 RST 16 LD A,(S+21) RST 16 LD B,0 LOOP: PUSH BC LD A,B RLCA INC A LD D,A LD E,A LD A,22 ADD A,B LD C,A LD A,13 ADD A,B LD B,A LD A,32 CALL SQ2 LD B,10 CALL N1 POP BC INC B LD A,B CP 12 JR NZ,LOOP LD A,(S+21) INC A AND 7 CP 1 JR NZ,LLOOP RET C1: LD A,(IX+1) ADD A,(IX+6) LD (IX+6),A CP 4 RET C AND 3 LD (IX+6),A LD A,(IX+1) CP 255 LD A,(IX+2) JR Z,I1 DEC A DEC A I1: INC A LD (IX+2),A RET B9: LD A,(IX+4) ADD A,(IX+5) LD (IX+5),A CP 4 RET C AND 3 LD (IX+5),A LD A,(IX+4) CP 255 LD A,(IX+3) JR Z,I2 DEC A DEC A I2: INC A LD (IX+3),A RET COP:;CREATE OPPONENT CALL RND AND 7 CP 0 JR Z,COP CP 1 JR Z,COP LD (IX+9),A ;DO CHAR SET CALL RND AND 15 LD E,A CALL RND CP 128 JR C,NO2 LD A,E ADD A,5 LD E,A NO2: ;E HAS SPRITE NO LD A,(S+23);LLEVEL CP 3 JR NC,OK1 ;SPUD NOT ALLOWED LD A,E CP 7 CALL Z,CH LD A,(S+23) OK1: CP 5 JR NC,OK2 ;LLLAMAS NOT ALOWED LD A,E CP 2 CALL Z,CH LD A,E CP 14 CALL Z,CH ;NO BUNNIES EITHER LD A,E CP 18 CALL NC,CH OK2: PUSH DE XOR A LD D,A RL E RL E LD HL,OT ADD HL,DE LD E,(HL) INC HL LD D,(HL) INC HL LD A,(HL) LD (IX+11),A;SCORE? INC HL LD A,(HL) CP 0 JR Z,U LD (IX+9),A U: LD HL,0F000H-256-10240 ADD HL,DE LD (IX+7),L LD (IX+8),H AG: CALL RND AND 7 CP 0 JR Z,AG SUB 4 LD C,A JR Z,S9;?? CALL RND AND 7 S9: SUB 4 LD B,A ;CALC GRAD LD A,C SUB B JR C,D7 LD A,B LD B,C LD C,A D7: LD A,0 LD (IX+12),A LD H,0 LD L,C LD A,B PUSH BC CALL DIV POP BC LD (IX+16),H LD H,L LD L,0 LD A,B CALL DIV LD (IX+15),H CALL RND AND 1 LD (IX+12),A ;GET VALID DIR OR RND POP DE LD A,E CP 2 JR Z,RI CP 8 JR Z,LEFT CP 10 JR Z,RI CP 12 JR Z,RI CP 13 JR Z,LEFT CP 14 JR Z,LEFT CP 16 JR Z,RI CP 18 JR Z,LEFT CP 19 JR Z,RI CP 20 JR Z,LEFT CALL RND AND 1 CP 0 JR NZ,Q1 LEFT: LD A,255 JR Q1 RI: LD A,1 Q1: LD (IX+1),A CALL RND AND 1 CP 0 JR NZ,Q2 LD A,255 Q2: LD (IX+4),A DB 221,54,0,32;PRINTCH DB 221,54,10,0 DB 221,54,13,0 DB 221,54,14,0 DB 221,54,2,23;ACC DB 221,54,3,13;DN DB 221,54,5,0 DB 221,54,6,0 DB 221,54,17,1 LD A,(S+23);LEVEL CP 7 CALL NC,ZZ CALL RND CP 192 JP C,OPPR DB 221,54,17,2 JP OPPR ZZ:;CREATE ZIGZAG LD A,(S+24) CP 2 RET NZ LD A,(IX+11) CP 2;SPHEAR RET Z CALL RND CP 128 RET C LD A,(IX+12) OR 128 LD (IX+12),A DB 221,54,17,2 DB 221,54,13,0 DB 221,54,14,0 DB 221,54,15,2 DB 221,54,16,0 RET IT:;INC TIM LD A,(S+12) LD H,A LD A,(S+13) LD L,A ADD HL,DE LD DE,100 PUSH HL XOR A SBC HL,DE POP HL JR C,DOT LD HL,99 DOT: LD A,H DB 50 DW S+12 LD A,L DB 50 DW S+13 RET TO: LD DE,OUTS CALL TFF LD A,5 DB 50 DW S+31 JP DED OUTS: DB 16,6,17,0,18,1," OUT ",18,0 DB 255 OFF:
4D15:
LD HL,0F000H-256-10240 LD (IX+7),L LD (IX+8),H NO: LD A,(IX+6) DB 50 DW S+18 LD A,(IX+5) DB 50 DW S+17 PUSH IX PUSH BC XOR A LD D,A LD HL,ACS LD B,72 LD (HL),A INC HL DEC B DW 0FB20H ;DO PIXEL MOVE LD H,(IX+8) LD L,(IX+7) LD IX,ACS SLA E RL D SLA E RL D SLA E RL D ADD HL,DE ;HL HAS ADDR OF FIRST CHAR LD B,2 J4: PUSH BC LD E,2 J3: LD D,8 J1: LD A,(S+18) INC A LD B,A LD C,(HL) XOR A CP C JR Z,J J2: SRL C RRA SRL C RRA DEC B JR NZ,J2 L (IX+24),A LD A,(IX+0) OR C LD (IX+0),A J: INC IX INC HL DEC D JR NZ,J1 PUSH DE LD DE,8;JOHN? ADD HL,DE POP DE DEC E JR NZ,J3 LD DE,8 ADD IX,DE XOR A LD DE,24 SBC HL,DE;JOHN POP BC DEC B JR NZ,J4 LD HL,ACS-256 LD A,(S+17);B PIX LD B,A XOR A CP B JR Z,J5 J6: DEC HL DEC HL DEC B JR NZ,J6 J5: LD (23606),HL POP BC;POSITION LD A,32 DB 50 DW S+16 LD A,3;SQ SIZE DB 50 DW S+17 LD E,A LD A,C DB 50 DW S+18 U7: LD A,0 CP B JR Z,FSH LD A,(S+17) LD D,A LD A,(S+18) LD C,A LD A,B CP 25;UP JR NC,U4 U3: LD A,33 CP C JR NC,U2 LD A,(S+16) ADD A,3 DB 50 DW S+16 DEC D JR NZ,SO LD A,(S+16) SUB 2 DB 50 DW S+16 SO: DEC C JR U3 U2: LD A,9;FADE> CP C JR Z,U4 PUSH DE CALL 0DD9H POP DE U5: LD A,(S+16) RST 16 LD A,(S+16) ADD A,3 DB 50 DW S+16 DEC D JR Z,U4 DEC C LD A,9;FADE> CP C JR NZ,U5 U4:;LINE PRINTED D LONG XOR A CP D JR Z,U6 LD A,(S+16) ADD A,D SLA D ADD A,D DB 50 DW S+16 U6: LD A,(S+16) SUB 8;WAS 15 DB 50 DW S+16 DEC B DEC E JR NZ,U7 FSH: POP IX LD A,(IX+0) SUB 37 RET NC;IE 36 OR 32 POP HL LD (IX+7),L LD (IX+8),H RET BD:;BDED LD A,0 DB 50 DW 59998 LD (IX+0),A JP NB EMB: LD A,255 DB 50 DW 59998 LD A,10 SUB B JP NC,BD LD A,10 SUB C JP NC,BD LD A,170 SUB C JP C,BD LD A,170 SUB B JP C,BD JP NDED MB: XOR A DB 50 DW S+31 LD A,16 RST 16 LD A,7 RST 16 LD B,5 LD IX,BST MBL: PUSH BC LD A,(IX+0) CP 0 JP Z,NB ;DELETE BUL CALL PB POP BC PUSH BC LD A,B LD B,(IX+1) LD C,(IX+0) CP 5 JP NZ,EMB LD A,95+5 SUB C CP 10 JR NC,NDED LD A,80+5 SUB B CP 10 JR C,BD NDED: LD A,(IX+6) CP 1 CALL Z,DOB LD A,(IX+6) CP 2 CALL Z,D1 ;INC GRAD COUNT LD A,(IX+7) CP (IX+4) JR NC,YES JR Z,CU JR C,NOP CU: LD A,(IX+8) CP (IX+5) JR C,NOP YES: LD H,(IX+7) LD L,(IX+8) LD D,(IX+4) LD E,(IX+5) XOR A SBC HL,DE LD (IX+7),H LD (IX+8),L LD A,(IX+6) CP 1 CALL Z,D1 LD A,(IX+6) CP 2 CALL Z,DOB NOP: LD A,(IX+7) INC A LD (IX+7),A CALL PB LD A,255 SUB (IX+0) RRCA RRCA RRCA AND 31 ADD A,2 LD (IX+9),A LD A,(IX+1) RRCA RRCA RRCA AND 31 ADD A,3 LD (IX+10),A ;TEST FOR HIT ME POP BC PUSH BC LD A,B CP 5 JR Z,NB LD BC,(65500) LD A,(IX+9) SUB C CP 2 JR NC,NB LD A,(IX+10) SUB B CP 2 JR NC,NB LD A,4 DB 50 DW S+31 NB: POP BC LD DE,11 ADD IX,DE DEC B JP NZ,MBL LD A,(S+31) CP 0 RET Z POP BC JP DED DOB: LD A,(IX+1) ADD A,(IX+3) ADD A,(IX+3) LD (IX+1),A LD B,A RET D1: LD A,(IX+0) ADD A,(IX+2) ADD A,(IX+2) LD (IX+0),A LD C,A RET DIV: ;HL / A ANSW IN H REM IN L PUSH AF LD D,A XOR A LD B,8 LD A,H D3:
81B:
6,249,8,241 DB 7,239,11,243,16,249 DB 7,250 GG:;GRAPHICS FOR LIVES DB 0,0,0,0,0,0,0,0,24,90,90,126 DB 126,255,231,195 SC1: DB 0,0,83,79,0,65,255,0,83,79,0 DB 0,0,61,79,0,65,255,0,83,79 DB 21 DB 0,0,40,79,0,65,255,0,83,79 DB 43 DB 0,0,108,79,0,65,1,0,108,79 DB 0 DB 0,0,130,79,0,65,1,0,108,79 DB 21 DB 0,0,152,79,0,65,1,0,108,79 DB 43 DB 0,0,94,92,0,65,0,1,94,92,0 DB 0,0,94,114,0,65,0,1,94,92,21 DB 0,0,94,136,0,65,0,1,94,92,43 DB 0,0,94,66,0,65,0,255,94,66,0 DB 0,0,94,44,0,65,0,255,94,66 DB 22 DB 0,0,94,22,0,65,0,255,94,66 DB 44 SC2: DB 0,0,86,90,0,70,255,1,86,90,0 DB 0,0,63,113,0,70,255,1,86,90 DB 23 DB 0,0,40,136,0,70,255,1,86,90 DB 46 DB 0,0,105,89,0,70,1,1,105,89 DB 0 DB 0,0,128,112,0,70,1,1,105 DB 89,23 DB 0,0,151,135,0,70,1,1,105 DB 89,46 DB 0,0,104,71,0,70,1,255,104,71 DB 0 DB 0,0,127,48,0,70,1,255,104,71 DB 23 DB 0,0,150,25,0,70,1,255,104,71 DB 46 DB 0,0,85,71,0,70,255,255,85,71 DB 0 DB 0,0,62,48,0,70,255,255,85,71 DB 23 DB 0,0,39,25,0,70,255,255,85,71 DB 46 HS: DB 16,6,17,0,22,4,25,48,48,48 DB 48,48,48,16,6,17,0,22,2,25 DB 48,48,48,48,48,48 DB 48,49,48,48,48,48 DB 0,0,0,0,0,0,0,0;FOR ACS ACS: ORG 16384 LOAD 16384 DB 255 END 0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 OPST: DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0 SCSTR: DB 22,1,25,16,0,17,6 DB "SCORE " DB 22,3,25,"HIGH " DB 22,5,25,"TIME " DB 22,9,25,"LIVES " DB 22,10,25,17,0,16,6 DB " " DB 22,6,25," " DB 22,4,25," " DB 22,2,25," " ;LEN=96 DB 17,2,22,12,26 DB " ",22,13,26," " DB 17,6,22,14,26," ",22,15,26 DB " ",22,16,26," ",22,17,26 DB " ",17,4,22,18,26," ",22,19 DB 26," ",22,20,26," ",22,21,26 DB " ",22,22,26," " DB 255 XS: DB 0,0,1,1,0,0,1,255,0,0,1,0 DB 0,0,255,1,0,0,255,255,0,0 DB 255,0,0,0,0,1,0,0,0,255 XG: DB 0,56,100,116,120,56,0,0 DB 60,126,195,253,253,251,126 DB 60 TAB: ;CDISP BDISP DB 7,0,4,251,0,247,8,241 DB 7,239,11,243,16,249 DB 7,250 GG:;GRAPHICS FOR LIVES DB 0,0,0,0,0,0,0,0,24,90,90,126 DB 126,255,231,195 SC1: DB 0,0,83,79,0,65,255,0,83,79,0 DB 0,0,61,79,0,65,255,0,83,79 DB 21 DB 0,0,40,79,0,65,255,0,83,79 DB 43 DB 0,0,108,79,0,65,1,0,108,79 DB 0 DB 0,0,130,79,0,65,1,0,108,79 DB 21 DB 0,0,152,79,0,65,1,0,108,79 DB 43 DB 0,0,94,92,0,65,0,1,94,92,0 DB 0,0,94,114,0,65,0,1,94,92,21 DB 0,0,94,136,0,65,0,1,94,92,43 DB 0,0,94,66,0,65,0,255,94,66,0 DB 0,0,94,44,0,65,0,255,94,66 DB 22 DB 0,0,94,22,0,65,0,255,94,66 DB 44 SC2: DB 0,0,86,90,0,70,255,1,86,90,0 DB 0,0,63,113,0,70,255,1,86,90 DB 23 DB 0,0,40,136,0,70,255,1,86,90 DB 46 DB 0,0,105,89,0,70,1,1,105,89 DB 0 DB 0,0,128,112,0,70,1,1,105 DB 89,23 DB 0,0,151,135,0,70,1,1,105 DB 89,46 DB 0,0,104,71,0,70,1,255,104,71 DB 0 DB 0,0,127,48,0,70,1,255,104,71 DB 23 DB 0,0,150,25,0,70,1,255,104,71 DB 46 DB 0,0,85,71,0,70,255,255,85,71 DB 0 DB 0,0,62,48,0,70,255,255,85,71 DB 23 DB 0,0,39,25,0,70,255,255,85,71 DB 46 HS: DB 16,6,17,0,22,4,25,48,48,48 DB 48,48,48,16,6,17,0,22,2,25 DB 48,48,48,48,48,48 DB 48,49,48,48,48,48 DB 0,0,0,0,0,0,0,0;FOR ACS ACS: ORG 16384 LOAD 16384 DB 255 END
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with uncompiled source code
Games > Games by developer > Games developed by MicroProse > Games developed by Telecomsoft > Games developed by Firebird Software
Games > Games by platform > ZX Spectrum games
Games > Games by publisher > Games published by MicroProse > Games published by Telecomsoft > Games published by Firebird Software
Games > Games by release date > Games released in 1984