; This is not a working sourcefile struct obShp ds 1 obPhi ds 1 obPxl ds 1 obPxh ds 1 obDi ds 1 obBC ds 1 obPzl ds 1 obPzh ds 1 obDis ds 1 obMov ds 1 obHFl ds 1 obWSp ds 1 ds 4 obLen send MaxnObj EQU 125 struct ptPxl ds 1 ptPxh ds 1 ptPyl ds 1 ptPyh ds 1 ptPzl ds 1 ptPzh ds 1 send ORG $5B00 ; 0000 LD HL,$9B20 ; 5B00 LD DE,$D000 ; 5B03 LD BC,$4000 ; 5B06 LDDR ; 5B09 LD SP,TX ; 5B0B JP LA100 ; 5B0E ORG #6000 TX DEFW 0 TY DEFW 0 TZ DEFW 0 MatSin DEFW 0 MatCos DEFW 0 MatPx DEFW 0 DEFW 0 ;Spare MatPz DEFW 0 SinPP DEFW 0 CosPP DEFW 0 Dispx DEFW 0 Dispz DEFW 0 X DEFW 0 Y DEFW 0 CX DEFW 0 CY DEFW 0 ER DEFW 0 Border DEFW 0 TempP DEFS 128 Seed DEFS 4 SEn DEFS 4 ORG #60C0 kRot EQU $ kL DEFB 0 kR DEFB 0 kMov EQU $ kF DEFB 0 kB DEFB 0 kZap DEFB 0 kQuit DEFB 0 VX DEFW 0 VZ DEFW 0 VN DEFB 0 VPhi DEFB 0 Vtor DEFW 0 VPx DEFW 0 VPz DEFW 0 VFlags DEFB 0 VTx DEFW 0 VTz DEFW 0 BpDist DEFW 0 DisTab DEFW 0 nObj DEFB 0 BonkFlg DEFB 0 VHFl DEFB 0 org $6110 FCount ds 2 KFl ds 1 FFl ds 1 Aim ds 1 ORG #6180 IntFlag DEFB 0 IntPnt DEFW 0 LvF DEFB 0 IntLog DEFB 0 LC DEFB 0 tREn DEFB 0 Curs DEFW 0 PlLiv DEFB 0 VEn DEFB 0 VEnk DEFB 0 REn DEFB 0 REnk DEFB 0 BScPt DEFW 0 LvT DEFS 50 THF EQU #6600 ORG #6700 zDispObj JP DispObj zDoObj JP DoObj zSine JP Sine zCosine JP Cosine zFMul JP FMul ZFDiv JP FDiv zNegHL JP NegHL zCLine JP CLine zLine JP Line zPoint JP Point zCircle JP Circle zDrip JP Drip zBonk JP Bonk zBlip JP Blip zSnd JP Snd zRand1 JP Rand1 zRand JP Rand zInitRand JP InitRand org $6750 vInA JP InA vInB JP InB vInG JP InG vGame JP Game NOP vPutMtns JP PutMtns ORG #6760 zMPlyr JP MPlyr zKeys JP Keys zSClr JP SClr zSCopy JP SCopy zDClr JP DClr zSetAttr JP SetAttr zVecMove JP VecMove zVBMove JP VBMove zClrMap JP ClrMap zBp JP Bp zObSearch JP ObSearch zMapPt JP MapPt zFOS JP FOS zMakeE JP MakeE zTranE JP TranE zMakeObj JP MakeObj zMakeSpace JP MakeSpace zMPR JP MPR zMPE JP MPE zMPZ JP MPZ zSqr JP Sqr zSights JP Sites zSightBits JP SiteBits zDirFind JP DF zGetHfl JP GHFl zClrHFl JP CHFl zKempChk JP KCk zFullChk JP FCk org $67C0 JP $0008 ; 67C0 vSL JP SL ; 67C3 vInPl JP InPl ; 67C6 vINTk JP INTk ; 67C9 vMvObj JP MvObj ; 67CC MovBull JP LB9B7 ; 67CF vRTk JP RTk ; 67D2 vKemp JP Kemp ; 67D5 vFull JP Full ; 67D8 vGrumSet JP GrumSet ; 67DB vGrumble JP Grumble ; 67DE vKillFull JP KillFull ; 67E1 vDoBonks JP DoBonks ; 67E4 JP LBDB2 ; 67E7 JP LBDBC ; 67EA ShpVec EQU #6800 BumTabL EQU #6880 BumTabS EQU #68C0 BumTab EQU #6900 Bits EQU #6B64 ORG $6EF8 ; 0000 CharsDec DEFB $FE,$86,$8A,$92,$A2,$C2,$FE,$00 DEFB $30,$10,$10,$10,$10,$10,$7C,$00 DEFB $FE,$02,$02,$FE,$80,$80,$FE,$00 DEFB $FE,$02,$02,$3E,$02,$02,$FE,$00 DEFB $82,$82,$82,$FE,$02,$02,$02,$00 DEFB $FE,$80,$80,$FE,$02,$02,$FE,$00 DEFB $80,$80,$80,$FE,$82,$82,$FE,$00 DEFB $FE,$02,$02,$02,$02,$02,$02,$00 DEFB $FE,$82,$82,$7C,$82,$82,$FE,$00 DEFB $FE,$82,$82,$FE,$02,$02,$02,$00 AtnT EQU #6C92 ORG #7000 Map DEFS 2048 PlShp DEFB 0 PlPhi DEFB 0 PlPx DEFW #0B00 PlPy DEFW 0 PlPz DEFW #3E00 ObList EQU PlShp+obLen ; 8000 ORG $8000 ; 0000 L8000 DI ; 8000 CALL vInA ; 8001 CALL ShowFrontText ; 8004 CALL vInB ; 8007 CALL WaitForSpace ; 800A MainLp CALL ShowControlText ; 800D CALL vInG ; 8010 CALL vGame ; 8013 DI ; 8016 CALL L8313 ; 8017 JR MainLp ; 801A DEFB "(c) 1983 Crystal Computing",$0D,"So Mits Off!!"; 801C Print PUSH AF ; 8044 PUSH BC ; 8045 PUSH DE ; 8046 PUSH HL ; 8047 LD HL,(PrintCursor) ; 8048 CP $0D ; 804B JR Z PrintCret ; 804D JR C PrintCtrl ; 804F CP $20 ; 8051 JR C PrintX ; 8053 LD C,L ; 8055 INC L ; 8056 LD (PrintCursor),HL ; 8057 LD E,H ; 805A LD D,$00 ; 805B LD B,D ; 805D SLA E ; 805E SLA E ; 8060 SLA E ; 8062 SLA E ; 8064 RL D ; 8066 LD HL,YTable ; 8068 ADD HL,DE ; 806B LD E,(HL) ; 806C INC HL ; 806D LD D,(HL) ; 806E EX DE,HL ; 806F ADD HL,BC ; 8070 EX DE,HL ; 8071 LD HL,$3C00 ; 8072 LD B,$00 ; 8075 ADD A,A ; 8077 RL B ; 8078 ADD A,A ; 807A RL B ; 807B ADD A,A ; 807D RL B ; 807E LD C,A ; 8080 ADD HL,BC ; 8081 LD B,$08 ; 8082 PrintChLp LD A,(HL) ; 8084 LD (DE),A ; 8085 INC HL ; 8086 INC D ; 8087 DJNZ PrintChLp ; 8088 PrintX POP HL ; 808A POP DE ; 808B POP BC ; 808C POP AF ; 808D RET ; 808E PrintCret LD L,$00 ; 808F INC H ; 8091 LD (PrintCursor),HL ; 8092 JR PrintX ; 8095 PrintCtrl ADD A,L ; 8097 LD L,A ; 8098 LD (PrintCursor),HL ; 8099 JR PrintX ; 809C PrintStr LD A,(HL) ; 809E OR A ; 809F RET Z ; 80A0 CALL Print ; 80A1 INC HL ; 80A4 JR PrintStr ; 80A5 WaitForSpace LD A,$7F ; 80A7 IN A,($FE) ; 80A9 RRA ; 80AB JR NC WaitForSpace ; 80AC WaitForSp1 LD A,$7F ; 80AE IN A,($FE) ; 80B0 RRA ; 80B2 JR C WaitForSp1 ; 80B3 RET ; 80B5 ShowFrontText CALL zDClr ; 80B6 LD HL,$0000 ; 80B9 LD (PrintCursor),HL ; 80BC LD HL,szFrontText ; 80BF CALL PrintStr ; 80C2 RET ; 80C5 szFrontText DEFB $08,"ROMMEL'S REVENGE",$0D,$0D,$0D,$01; 80C6 DEFB "Written by",$0D,$0D,$0A,"M. S. Horsley",$0D,$0D,$03; 80DB DEFB "and Design Design Software",$0D,$0D,$0D,$01; 80F8 DEFB "Illustration by",$0D,$0D,$03,"D. de Leuw of Leeuw Graphics",$0D,$0D; 8116 DEFB $0D,$0D,$0D,$0D,$0D,$0D,$0D,$0D,$0D,$04; 8146 DEFB "Press space to continue",$00,"d",$0D,$0D,$01; 8150 DEFB "Game Design by",$0D,$0D,$05,"Design Design Software",$0D,$0D,$01; 816C DEFB "Illustration by",$0D,$0D,$03,"D. de Leuw of Leeuw Graphics",$0D,$0D; 8196 DEFB $07,"Press space to continue",$00; 81C6 ShowControlText LD HL,$0000 ; 81DF LD (PrintCursor),HL ; 81E2 CALL vDClr ; 81E5 LD HL,szControls ; 81E8 CALL PrintStr ; 81EB JP WaitForSpace ; 81EE szControls DEFB $07,"ROMMEL'S REVENGE",$0D,$0D,$0D,$01; 81F1 DEFB "Tank Controls",$0D,$0D,$05,"N - Move Forward",$0D,$05; 8206 DEFB "M - Move Backward",$0D,$05,"X - Turn Left",$0D,$05; 8228 DEFB "Z - Turn Right",$0D,$05,"Space - Fire",$0D,$0D,$01; 824A DEFB "System Controls",$0D,$0D,$05,"1 - Sound On",$0D,$05; 8269 DEFB "2 - Sound Off",$0D,$05,"3 - Quit Present Game",$0D,$05; 8289 DEFB "R - Radar On/Off",$0D,$05,"V - Volcano On/Off",$0D,$0D,$0D,$01; 82AF DEFB "High Score : " ; 82D7 L82E4 DEFB "Mennex " ; 82E4 L82EF DEFB "4200 ",$0D,$0D,$0D,$07,"Press space to play",$00; 82EF L8313 CALL L8411 ; 8313 LD DE,(FCount) ; 8316 LD HL,(L85F6) ; 831A OR A ; 831D SBC HL,DE ; 831E JR NC L835B ; 8320 LD (L85F6),DE ; 8322 PUSH HL ; 8326 LD HL,ScoreBuff ; 8327 LD DE,L82EF ; 832A LD BC,$0007 ; 832D LDIR ; 8330 POP DE ; 8332 LD HL,$0000 ; 8333 OR A ; 8336 SBC HL,DE ; 8337 CALL OutputDecHL ; 8339 LD HL,ScoreBuff ; 833C LD DE,PlayerMargin ; 833F LD BC,$0007 ; 8342 LDIR ; 8345 LD HL,L82E4 ; 8347 LD DE,PlayerName ; 834A LD BC,$000A ; 834D LDIR ; 8350 LD HL,szNewHighScore ; 8352 CALL PrintStr ; 8355 CALL L84CD ; 8358 L835B LD HL,$1706 ; 835B LD (PrintCursor),HL ; 835E LD HL,szPressSpace ; 8361 CALL PrintStr ; 8364 JP WaitForSpace ; 8367 szPressSpace DEFB "Press space to continue",$00; 836A OutputDecHL LD IX,ScoreBuff ; 8382 PUSH HL ; 8386 LD HL,ScoreBuff ; 8387 LD DE,ScoreBuff1 ; 838A LD BC,$0006 ; 838D LD (HL),$20 ; 8390 LDIR ; 8392 POP HL ; 8394 LD C,$01 ; 8395 LD DE,$2710 ; 8397 CALL OutputDec1 ; 839A LD DE,$03E8 ; 839D CALL OutputDec1 ; 83A0 LD DE,$0064 ; 83A3 CALL OutputDec1 ; 83A6 LD DE,$000A ; 83A9 CALL OutputDec1 ; 83AC LD A,L ; 83AF ADD A,$30 ; 83B0 LD (IX),A ; 83B2 LD (IX+1),$30 ; 83B5 LD (IX+2),$30 ; 83B9 RET ; 83BD DEFB "Hello Simon, having fun?" ; 83BE ; Yes, I suppose I am... That comment waited 24 years to be reach its target... OutputDec1 XOR A ; 83D6 OutputDec1_Lp INC A ; 83D7 SBC HL,DE ; 83D8 JR NC OutputDec1_Lp ; 83DA ADD HL,DE ; 83DC CP C ; 83DD RET Z ; 83DE DEC C ; 83DF ADD A,$2F ; 83E0 LD (IX),A ; 83E2 INC IX ; 83E5 RET ; 83E7 DEFB "Nazir's vindaloo curry sauces are great",$0D,$00; 83E8 L8411 CALL vDClr ; 8411 LD HL,$0000 ; 8414 LD (PrintCursor),HL ; 8417 LD HL,(FCount) ; 841A CALL OutputDecHL ; 841D LD HL,ScoreBuff ; 8420 LD DE,PlayerScore ; 8423 LD BC,$0007 ; 8426 LDIR ; 8429 LD HL,szScoreText ; 842B CALL PrintStr ; 842E RET ; 8431 szScoreText DEFB $07,"ROMMEL'S REVENGE",$0D,$0D,$0D,$0D,$0D,$06; 8432 DEFB "You have scored " ; 8449 PlayerScore DEFB "4200 ",$0D,$00 ; 8459 szNewHighScore DEFB $0D,$03,"This is a new high score",$0D,$0D,$03; 8462 DEFB "You have beaten " ; 847F PlayerName DEFB "Snoopy ",$0D,$0D,$03,"by "; 848F PlayerMargin DEFB "6553500",$0D,$0D,$03,"Please enter your name",$0D,$0D,$03; 849F DEFB "----------",$00 ; 84C2 L84CD LD HL,(PrintCursor) ; 84CD LD A,L ; 84D0 SUB $0A ; 84D1 LD L,A ; 84D3 LD (PrintCursor),HL ; 84D4 LD HL,L8600-1 ; 84D7 LD DE,L8600 ; 84DA LD BC,$0009 ; 84DD LD (HL),$20 ; 84E0 LDIR ; 84E2 XOR A ; 84E4 LD (L8609),A ; 84E5 LD IX,L85FF ; 84E8 L84EC CALL L8559 ; 84EC CP $0D ; 84EF JR Z L8532 ; 84F1 OR A ; 84F3 JR Z L84EC ; 84F4 CP $08 ; 84F6 JR Z L8511 ; 84F8 LD C,A ; 84FA LD A,(L8609) ; 84FB CP $0A ; 84FE JR Z L84EC ; 8500 INC A ; 8502 LD (L8609),A ; 8503 LD (IX),C ; 8506 INC IX ; 8509 LD A,C ; 850B CALL Print ; 850C JR L84EC ; 850F L8511 LD A,(L8609) ; 8511 OR A ; 8514 JR Z L84EC ; 8515 DEC A ; 8517 LD (L8609),A ; 8518 DEC IX ; 851B LD (IX),$20 ; 851D LD HL,(PrintCursor) ; 8521 DEC HL ; 8524 LD (PrintCursor),HL ; 8525 LD A,$2D ; 8528 CALL Print ; 852A LD (PrintCursor),HL ; 852D JR L84EC ; 8530 L8532 LD HL,L85FF ; 8532 LD A,$20 ; 8535 LD B,$0A ; 8537 L8539 CP (HL) ; 8539 JR NZ L8543 ; 853A DJNZ L8539 ; 853C LD HL,Someone ; 853E JR L8546 ; 8541 L8543 LD HL,L85FF ; 8543 L8546 LD DE,L82E4 ; 8546 LD BC,$000A ; 8549 LDIR ; 854C RET ; 854E Someone DEFB "Someone " ; 854F L8559 LD HL,L860A ; 8559 LD D,$00 ; 855C LD BC,LFEFE ; 855E L8561 IN A,(C) ; 8561 OR $E0 ; 8563 LD E,A ; 8565 XOR (HL) ; 8566 JR NZ L8571 ; 8567 INC HL ; 8569 INC D ; 856A RLC B ; 856B JR C L8561 ; 856D XOR A ; 856F RET ; 8570 L8571 LD (HL),E ; 8571 CPL ; 8572 OR E ; 8573 CPL ; 8574 OR A ; 8575 RET Z ; 8576 LD E,$00 ; 8577 L8579 RRA ; 8579 JR C L857F ; 857A INC E ; 857C JR L8579 ; 857D L857F LD HL,KeyMap ; 857F LD BC,$0028 ; 8582 LD A,$FE ; 8585 IN A,($FE) ; 8587 BIT 0,A ; 8589 JR NZ L8590 ; 858B ADD HL,BC ; 858D JR L8599 ; 858E L8590 LD A,$7F ; 8590 IN A,($FE) ; 8592 BIT 1,A ; 8594 JR NZ L8599 ; 8596 ADD HL,BC ; 8598 L8599 LD A,D ; 8599 ADD A,A ; 859A ADD A,A ; 859B ADD A,D ; 859C LD D,$00 ; 859D ADD HL,DE ; 859F LD E,A ; 85A0 ADD HL,DE ; 85A1 LD A,(HL) ; 85A2 RET ; 85A3 KeyMap DEFB $00,"ZXCVASDFGQWERT1234509876POIUY",$0D; 85A4 DEFB "LKJH ",$00,"MNB",$00,"zxcvasdfgqwert12345",$08; 85C3 DEFB "9876poiuy",$0D,"lkjh ",$00,"mnb"; 85E1 PrintCursor DEFW $171B ; 85F4 L85F6 DEFW $002A ; 85F6 ScoreBuff DEFB $00 ; 85F8 . ScoreBuff1 DEFB $00,$00,$00,$00,$00,$00 ; 85F9 ...... L85FF DEFB $00 ; 85FF . L8600 ds 9 ; L8609 ds 1 ; L860A equ * ;? ; I think this stops here... ; Martins Source 5 ORG $A000 ; 0000 PutMtns LD A,(PlPhi) ; A000 LD C,A ; A003 LD HL,Mtns ; A004 LD DE,MtnBuff ; A007 MtnC1 LD L,C ; A00A LD B,$20 ; A00B MtnC2 LD A,(HL) ; A00D LD (DE),A ; A00E INC DE ; A00F INC L ; A010 DJNZ MtnC2 ; A011 INC H ; A013 LD A,D ; A014 CP $CC ; A015 JR NZ MtnC1 ; A017 RET ; A019 ; This looks like code... Gawd knows? ; A100 ORG $A100 ; 0000 LA100 LD HL,Scrn2 ; A100 LD DE,$8000 ; A103 LD BC,$0600 ; A106 LDIR ; A109 LA10B LD HL,$C700 ; A10B LD DE,vDispObj ; A10E LD BC,$0900 ; A111 LDIR ; A114 JP $8000 ; A116 /* LD SP,$0042 ; A119 LA11A EQU *-2 ; LD (HL),B ; A11C XOR $53 ; A11D LD H,E ; A11F LD L,A ; A120 LD (HL),D ; A121 JR NZ LA0C4 ; A122 INC HL ; A124 LD (HL),$31 ; A125 LD SP,$0030 ; A127 LA129 EQU *-1 ; LD (HL),C ; A12A XOR $43 ; A12B LD L,B ; A12D LD H,C ; A12E LD (HL),D ; A12F LD (HL),E ; A130 JR NZ LA0D3 ; A131 INC HL ; A133 LD (HL),$45 ; A134 LD B,(HL) ; A136 LA137 JR C LA139 ; A137 LA139 LD A,D ; A139 XOR $42 ; A13A LD L,C ; A13C LD (HL),H ; A13D LD (HL),E ; A13E JR NZ LA0E1 ; A13F INC HL ; A141 LD (HL),$42 ; A142 LD (HL),$34 ; A144 LA146 NOP ; A146 LD A,H ; A147 XOR $44 ; A148 LD D,B ; A14A LD C,H ; A14B LD D,H ; A14C JR NZ LA0EF ; A14D INC HL ; A14F LD (HL),$45 ; A150 ADD HL,SP ; A152 LD (L7E00),A ; A153 LA156 XOR $44 ; A156 LD D,B ; A158 LD D,B ; A159 LD D,H ; A15A JR NZ LA0FD ; A15B INC HL ; A15D LD (HL),$45 ; A15E LD B,E ; A160 INC (HL) ; A161 NOP ; A162 ADD A,B ; A163 XOR $44 ; A164 LD D,B ; A166 LD C,L ; A167 LD D,H ; A168 JR NZ LA10B ; A169 INC HL ; A16B LD (HL),$46 ; A16C LD B,C ; A16E INC (HL) ; A16F NOP ; A170 ADD A,C ; A171 XOR $44 ; A172 LD D,B ; A174 LD C,L ; A175 LD D,B ; A176 LD D,H ; A177 JR NZ LA11A ; A178 INC HL ; A17A LD (HL),$46 ; A17B LA17D INC (HL) ; A17D JR C LA180 ; A17E LA17F EQU *-1 ; LA180 ADD A,D ; A180 XOR $44 ; A181 LD D,B ; A183 LD C,L ; A184 LD B,E ; A185 LD D,H ; A186 JR NZ LA129 ; A187 LA188 EQU *-1 ; INC HL ; A189 LD (HL),$46 ; A18A JR C LA1BE ; A18C NOP ; A18E ADD A,H ; A18F XOR $53 ; A190 LD D,H ; A192 LA193 LD H,C ; A193 LD H,D ; A194 JR NZ LA137 ; A195 INC HL ; A197 LD B,H ; A198 JR C LA1CB ; A199 JR NC LA19D ; A19B LA19D OR (HL) ; A19D XOR $50 ; A19E LA19F EQU *-1 ; LD L,H ; A1A0 LD D,B ; A1A1 LD L,B ; A1A2 LD L,C ; A1A3 JR NZ LA146 ; A1A4 INC HL ; A1A6 SCF ; A1A7 JR C LA1DA ; A1A8 LD SP,LDE00 ; A1AA XOR $4F ; A1AD LD H,D ; A1AF LA1B0 LD C,H ; A1B0 LD L,C ; A1B1 LD (HL),E ; A1B2 LD (HL),H ; A1B3 JR NZ LA156 ; A1B4 INC HL ; A1B6 SCF ; A1B7 JR C LA1EB ; A1B8 JR NC LA1BC ; A1BA LA1BC JR NC LA1B0 ; A1BC LA1BE JR NZ LA17F ; A1BE INC HL ; A1C0 LD (HL),$37 ; A1C1 DEC (HL) ; A1C3 JR NC LA1C6 ; A1C4 LA1C6 LD A,($20F2) ; A1C6 LD A,D ; A1C9 LD B,C ; A1CA LA1CB JR NZ LA17D ; A1CB LD C,C ; A1CD LD L,(HL) ; A1CE LD B,C ; A1CF NOP ; A1D0 LD B,H ; A1D1 JP P L7A20 ; A1D2 LD B,D ; A1D5 JR NZ LA188 ; A1D6 LD C,C ; A1D8 LD L,(HL) ; A1D9 LA1DA LD B,D ; A1DA NOP ; A1DB LD C,(HL) ; A1DC JP P L7A20 ; A1DD LD B,A ; A1E0 JR NZ LA193 ; A1E1 LD C,C ; A1E3 LD L,(HL) ; A1E4 LD B,A ; A1E5 NOP ; A1E6 LD E,B ; A1E7 JP P L7A20 ; A1E8 LA1EB LD B,A ; A1EB LD L,L ; A1EC JR NZ LA19F ; A1ED LD B,A ; A1EF LD H,C ; A1F0 LD L,L ; A1F1 LD H,L ; A1F2 NOP ; A1F3 RST $38 ; A1F4 RST $38 ; A1F5 NOP ; A1F6 NOP ; A1F7 NOP ; A1F8 NOP ; A1F9 NOP ; A1FA NOP ; A1FB NOP ; A1FC NOP ; A1FD NOP ; A1FE NOP ; A1FF */ ; Martins source 4 ORG $A200 PUSH IY DI CALL InA CALL InB CALL InG CALL Game POP IY IM 0 EI RET InA CALL MkE LD A,9:CALL SAt CALL IRL CALL DClr LD DE,128:LD HL,24 LD BC,24:CALL Cc CALL TrE CALL DClr LD A,#F:CALL SAt RET InB CALL FCk CALL KCk CALL InRn CALL SUI RET InG CALL DClr LD DE,128:LD HL,24 LD BC,24:CALL Cc CALL ClrMap CALL ClrHFl CALL MakeObj CALL InPl XOR A:LD (Aim),A LD (TkN),A:LD (VEnk),A LD (DFlg),A:LD (REnk),A LD H,A:LD L,A LD (Scor),HL LD A,1:LD (DTk),A LD (SEn),A LD (REn),A:LD (VEn),A LD A,3:LD (PlLiv),A CALL InLv LD HL,BScT:LD (BScPt),HL CALL SClr CALL PrtSc CALL PrtNL CALL PutMtns CALL Sts CALL StB CALL DispObj CALL CopyDown CALL GrumSet CALL EnR RET Game CALL INTk:JR C,GameF LD HL,DTk:DEC (HL) Game1 XOR A:LD (Aim),A LD (BkF),A CALL MvObj CALL EnKR:CALL EnKV CALL EnKS:CALL Keys CALL Full CALL Kemp CALL MovPlyr CALL Grumble CALL SClr CALL PrtSc CALL PrtNL CALL PutMtns CALL Sts CALL StB CALL DispObj CALL CopyDown CALL CkBon CALL DoBonks LD A,(kQuit):AND 1 JR Z,GameF LD A,(DFlg):OR A CALL NZ,DPl LD A,(PlLiv):OR A JR Z,GameF LD A,(DTk):OR A JR NZ,Game JR Game1 GameF CALL KillFull RET SUI LD HL,SUIT LD DE,#FFF0:LD BC,#10 LDIR:LD A,#3A:LD I,A IM 2:RET SUIT DEFS 4:JP IR DEFS 8:DEFB #18 IR PUSH AF:PUSH BC PUSH DE:PUSH HL:PUSH IX PUSH IY:EX AF,AF':EXX PUSH AF:PUSH BC:PUSH DE PUSH HL LD A,(REn):RRA:JR NC,IR1 LD A,(IntFlag):XOR 1 LD (IntFlag),A JR NZ,IR1 LD IX,(IntPnt) CALL RDQ LD A,(InCt):ADD A,8 LD (InCt),A JR NZ,IR2 LD IX,IntLinD IR2 LD (IntPnt),IX CALL RDQ IR1 LD A,(VEn):RRA JR NC,IR4:LD A,(LvF) OR A:JR Z,IR1a LD A,1:LD (IntLog),A JR IR4 IR1a LD A,(LC) INC A:CP 5:JR NZ,IR3 XOR A IR3 LD (LC),A LD B,A CALL MvLv IR4 POP HL:POP DE POP BC:POP AF:EXX EX AF,AF':POP IY:POP IX POP HL:POP DE:POP BC POP AF:EI:RET EnR XOR A LD (InCt),A LD (IntFlag),A LD HL,IntLinD LD (IntPnt),HL LD HL,#1780 LD DE,#0180 CALL SL:EI:RET RDQ LD A,(InCt) CP #80 JR NC,RDQb:CP #40 JP C,R1Q:JP R2Q RDQb CP #C0 JP C,R3Q:JP R4Q IRLCl LD HL,#4000 LD DE,#4001:LD BC,#7FF LD (HL),0:LDIR:RET RET R1Q LD HL,#4750 R1Qa LD A,(IX):INC IX XOR (HL):LD (HL),A LD A,(IX):INC IX OR A:RET Z BIT 0,A:JR Z,R1Qb INC L R1Qb BIT 1,A JR Z,R1Qa DEC H:LD A,H:CP #40 JP NC,R1Qa LD H,#47:LD A,L SUB #20:LD L,A JP R1Qa R2Q LD HL,#4070 R2Qa LD A,(IX):INC IX XOR (HL):LD (HL),A LD A,(IX):INC IX OR A:RET Z BIT 0,A:JR Z,R2Qb INC L R2Qb BIT 1,A JR Z,R2Qa INC H:LD A,H:CP #48 JP C,R2Qa LD H,#40:LD A,L ADD A,#20:LD L,A JP R2Qa R3Q LD HL,#406F R3Qa LD A,(IX):INC IX XOR (HL):LD (HL),A LD A,(IX):INC IX OR A:RET Z BIT 0,A:JR Z,R3Qb DEC L R3Qb BIT 1,A JR Z,R3Qa INC H:LD A,H:CP #48 JP C,R3Qa LD H,#40:LD A,L ADD A,#20:LD L,A JP R3Qa R4Q LD HL,#474F R4Qa LD A,(IX):INC IX XOR (HL):LD (HL),A LD A,(IX):INC IX OR A:RET Z BIT 0,A:JR Z,R4Qb DEC L R4Qb BIT 1,A JR Z,R4Qa DEC H:LD A,H:CP #40 JP NC,R4Qa LD H,#47:LD A,L SUB #20:LD L,A JP R4Qa IRL LD IX,IntLinT LD IY,IntLinD:LD B,8 IRL1 PUSH BC:CALL IRLCl LD D,(IX):INC IX LD E,(IX):INC IX LD HL,#1780:CALL SL CALL IRLC1 POP BC:DJNZ IRL1 LD B,8 IRL2 PUSH BC:CALL IRLCl LD D,(IX):INC IX LD E,(IX):INC IX LD HL,#1880:CALL SL CALL IRLC2 POP BC:DJNZ IRL2 LD B,8 IRL3 PUSH BC:CALL IRLCl LD D,(IX):INC IX LD E,(IX):INC IX LD HL,#187F:CALL SL CALL IRLC3 POP BC:DJNZ IRL3 LD B,8 IRL4 PUSH BC:CALL IRLCl LD D,(IX):INC IX LD E,(IX):INC IX LD HL,#177F:CALL SL CALL IRLC4 POP BC:DJNZ IRL4:RET IRLC1 LD HL,#4750 IRLC1a LD A,(HL) LD (IY),A:INC IY CALL IRLU:LD A,(HL) OR A:JR Z,IRLC1b LD (IY),2:INC IY JR IRLC1a IRLC1b CALL IRLD INC L:LD A,(HL) OR A:JR Z,IRLC1c LD (IY),1:INC IY JR IRLC1a IRLC1c CALL IRLU LD A,(HL):OR A JR Z,IRLC1d:LD (IY),3 INC IY:JR IRLC1a IRLC1d LD (IY),0:INC IY RET IRLC2 LD HL,#4070 IRLC2a LD A,(HL) LD (IY),A:INC IY CALL IRLD:LD A,(HL) OR A:JR Z,IRLC2b LD (IY),2:INC IY JR IRLC2a IRLC2b CALL IRLU INC L:LD A,(HL) OR A:JR Z,IRLC2c LD (IY),1:INC IY JR IRLC2a IRLC2c CALL IRLD LD A,(HL):OR A JR Z,IRLC2d:LD (IY),3 INC IY:JR IRLC2a IRLC2d LD (IY),0:INC IY RET IRLC3 LD HL,#406F IRLC3a LD A,(HL) LD (IY),A:INC IY CALL IRLD:LD A,(HL) OR A:JR Z,IRLC3b LD (IY),2:INC IY JR IRLC3a IRLC3b CALL IRLU DEC L:LD A,(HL) OR A:JR Z,IRLC3c LD (IY),1:INC IY JR IRLC3a IRLC3c CALL IRLD LD A,(HL):OR A JR Z,IRLC3d:LD (IY),3 INC IY:JR IRLC3a IRLC3d LD (IY),0:INC IY RET IRLC4 LD HL,#474F IRLC4a LD A,(HL) LD (IY),A:INC IY CALL IRLU:LD A,(HL) OR A:JR Z,IRLC4b LD (IY),2:INC IY JR IRLC4a IRLC4b CALL IRLD DEC L:LD A,(HL) OR A:JR Z,IRLC4c LD (IY),1:INC IY JR IRLC4a IRLC4c CALL IRLU LD A,(HL):OR A JR Z,IRLC4d LD (IY),3:INC IY JR IRLC4a IRLC4d LD (IY),0:INC IY RET IRLU DEC H:LD A,H:CP #40 RET NC:LD H,#47:LD A,L SUB #20:LD L,A:RET IRLD INC H:LD A,H:CP #48 RET C:LD H,#40:LD A,L ADD A,#20:LD L,A:RET CopyDown LD A,1 LD (LvF),A XOR A LD (IntLog),A LD A,(VEn):RRA CALL C,DoLv CALL SCopy LD A,(VEn):RRA:RET NC LD B,5:LD HL,LvT+9 LD DE,10:LD A,(PlPhi) CopyD0 LD (HL),A ADD HL,DE:DJNZ CopyD0 CALL DoLv XOR A LD (LvF),A LD A,(IntLog) OR A RET Z LD A,(LC):INC A CP 5:JR NZ,CopyD1:XOR A CopyD1 LD (LC),A LD B,A:JP MvLv DoLv LD B,5 LD IX,LvT DLv1 PUSH BC DEC B CALL PL LD BC,10 ADD IX,BC POP BC DJNZ DLv1 RET InLv LD IX,LvT LD B,5 InLvb PUSH BC CALL ILv1 LD DE,10 ADD IX,DE POP BC DJNZ InLvb XOR A:LD (LC),A LD (LvF),A RET ILv1 CALL Rn1 LD A,(Sd):AND 15 ADD A,5 :LD (IX),A CALL Rn1:LD HL,(Sd) LD DE,#40:LD A,H:AND 1 LD H,A:ADD HL,DE:BIT 0,L JR Z,ILv2:EX DE,HL LD HL,0:OR A:SBC HL,DE ILv2 LD (IX+1),L LD (IX+2),H CALL Rn1:LD HL,(Sd) LD DE,#300:LD A,H:AND 3 LD H,A:ADD HL,DE:XOR A LD (IX+3),L:LD (IX+4),H LD (IX+5),A:LD (IX+6),A LD (IX+7),A:LD (IX+8),A LD A,(PlPhi):LD (IX+9),A JP PL MvLv LD IX,LvT LD A,B:ADD A,A:ADD A,A ADD A,A:ADD A,B:ADD A,B LD E,A:LD D,0:ADD IX,DE CALL PL LD A,(IX):DEC A JP Z,ILv1:LD (IX),A LD L,(IX+5):LD H,(IX+6) LD E,(IX+1):LD D,(IX+2) ADD HL,DE LD (IX+5),L:LD (IX+6),H LD L,(IX+3):LD H,(IX+4) LD DE,0-#80:ADD HL,DE LD (IX+3),L:LD (IX+4),H LD E,(IX+7):LD D,(IX+8) OR A:ADC HL,DE JP M,ILv1 LD (IX+7),L:LD (IX+8),H JP PL PL LD C,(IX+6):SRA C SRA C:SRA C:LD A,(IX+9) NEG:ADD A,C:RET M CP #20:RET P LD C,A:LD B,0 LD A,(IX+6):AND 7:LD E,A LD D,B:LD HL,Bits ADD HL,DE:LD A,(HL) LD HL,STab+160 LD E,(IX+8):SLA E SBC HL,DE:LD E,(HL) INC L:LD D,(HL) EX DE,HL:ADD HL,BC XOR (HL):LD (HL),A RET DPl LD IX,DPLT LD A,(REn):LD (tREn),A XOR A:LD (REn),A DP1 LD E,(IX):INC IX LD C,(IX):INC IX LD A,E:OR C:JR Z,DP2 PUSH IX:SLA C:LD B,0 LD HL,DPPT:ADD HL,BC LD C,(HL):INC HL LD B,(HL):SLA E:LD D,0 LD HL,DPPT:ADD HL,DE LD E,(HL):INC HL LD D,(HL):LD H,B:LD L,C CALL SL:POP IX:JR DP1 DP2 LD BC,0 DPa PUSH AF:POP AF CPI:JP V,DPa:LD DE,#A01C LD (Curs),DE:LD IX,DPMT DP3 LD A,(IX):OR A JR Z,DP4:PUSH IX RRCA:RRCA:RRCA:RRCA CALL DPPrt POP IX:LD A,(IX):PUSH IX CALL DPPrt:POP IX:INC IX JR DP3 DP4 LD HL,PlLiv:DEC (HL) XOR A:LD (DFlg),A LD B,#10 DP9 PUSH BC:LD BC,#4000 DPA PUSH BC:POP BC CPI:JP V,DPA POP BC:DJNZ DP9 LD IX,ObList:LD DE,obLen DPN1 LD A,(IX):CP 17 JR C,DPN2:CP 25 JR NC,DPN2:LD (IX),0 CP 19:CALL C,RTk DPN2 ADD IX,DE:CP #FF JR NZ,DPN1:CALL InPl LD HL,TkN:LD A,(HL) LD C,A:LD (HL),11 CP 11:JR C,DPN4 LD B,1:CP 26:JR C,DPN3 INC B:CP 56:JR C,DPN3 INC B:CP 101:JR C,DPN3 INC B:CP 151:JR C,DPN3 INC B:CP 211:JR C,DPN3 INC B DPN3 PUSH BC CALL INTk:POP BC DJNZ DPN3:LD A,C LD (TkN),A:JR DPN5 DPN4 DEC A:LD (TkN),A CALL INTk DPN5 XOR A:LD (DTk),A LD A,(tREn):LD (REn),A RET DPPrt AND #F:JR Z,DPPr2 DEC A:LD E,A ADD A,A:ADD A,E:LD E,A LD D,0:LD HL,DPMCT ADD HL,DE LD E,(HL):INC HL LD D,(HL):INC HL LD B,(HL):EX DE,HL DPPr1 LD A,(HL):INC HL CALL DPPrL:DJNZ DPPr1 DPPr2 LD HL,(Curs) LD DE,10:ADD HL,DE LD (Curs),HL:RET DPPrL PUSH HL:PUSH BC LD D,A:RRCA:RRCA:RRCA RRCA:CALL DPPrP LD A,D:EX DE,HL CALL DPPrP:CALL SL LD B,0:DJNZ $:DJNZ $ DJNZ $:DJNZ $:DJNZ $ DJNZ $:DJNZ $:DJNZ $ DJNZ $:DJNZ $:DJNZ $ DJNZ $:DJNZ $:DJNZ $ DJNZ $:DJNZ $:DJNZ $ POP BC:POP HL:RET DPPrP PUSH DE:AND #F LD HL,DPMPT:ADD A,A LD E,A:LD D,0:ADD HL,DE LD C,(HL):INC HL LD B,(HL):LD HL,(Curs) g ADD HL,BC:POP DE:RET EnKR LD A,#FB IN A,(#FE):AND 8:LD C,A LD A,(REnk):XOR C:RET Z LD A,C:LD (REnk),A AND 8:RET NZ:LD A,(REn) XOR 1:LD (REn),A LD IX,(IntPnt):CALL RDQ RET EnKV LD A,#FE:IN A,(#FE) AND 16:LD C,A LD A,(VEnk):XOR C:RET Z LD A,C:LD (VEnk),A AND 16:RET NZ:LD A,(VEn) XOR 1:LD (VEn),A LD B,5:LD HL,LvT+9 LD DE,10:LD A,(PlPhi) EnKV1 LD (HL),A ADD HL,DE:DJNZ EnKV1 CALL DoLv:RET EnKS LD A,#F7:IN A,(#FE) RRA:JR NC,EnKSn RRA:RET C CALL KillFull:XOR A LD (SEn),A:RET EnKSn CALL GrumSet LD A,1:LD (SEn),A:RET CkBon LD HL,(BScPt) LD E,(HL):INC HL LD D,(HL):LD HL,(Scor) OR A:SBC HL,DE:RET C LD HL,PlLiv:INC (HL) LD HL,(BScPt):INC HL INC HL:LD (BScPt),HL RET BScT DEFW 100,200,500 DEFW 1000,2000,5000 DEFW 10000,#FFF0 PrtSc LD HL,Scrn2+1 ; A967 LD (Curs),HL ; A96A LD HL,(FCount) ; A96D LD C,$01 ; A970 LD DE,10000 ; A972 CALL PS2 ; A975 LD DE,1000 ; A978 CALL PS2 ; A97B LD DE,100 ; A97E CALL PS2 ; A981 LD DE,10 ; A984 CALL PS2 ; A987 LD A,L ; A98A CALL PSOt ; A98B XOR A ; A98E CALL PSOt ; A98F XOR A ; A992 CALL PSOt ; A993 RET ; A996 PS2 XOR A ; A997 PS2a INC A ; A998 SBC HL,DE ; A999 JR NC PS2a ; A99B ADD HL,DE ; A99D CP C ; A99E RET Z ; A99F DEC C ; A9A0 DEC A ; A9A1 JP PSOt ; A9A2 PSOt PUSH HL ; A9A5 PUSH DE ; A9A6 PUSH BC ; A9A7 LD IX,CharsDec ; A9A8 ADD A,A ; A9AC ADD A,A ; A9AD ADD A,A ; A9AE LD E,A ; A9AF LD D,$00 ; A9B0 ADD IX,DE ; A9B2 LD HL,(Curs) ; A9B4 INC L ; A9B7 LD (Curs),HL ; A9B8 LD DE,$0020 ; A9BB LD B,$08 ; A9BE PSOt1 LD A,(IX) ; A9C0 LD (HL),A ; A9C3 ADD HL,DE ; A9C4 INC IX ; A9C5 DJNZ PSOt1 ; A9C7 POP BC ; A9C9 POP DE ; A9CA POP HL ; A9CB RET ; A9CC PrtNL LD HL,Scrn2+24 ; A9CD LD (Curs),HL ; A9D0 LD A,(PlLiv) ; A9D3 CALL PSOt ; A9D6 RET ; A9D9 ; End of source 4 ORG $AA00 ; 0000 ; Martin's source #1 DispObj LD IX,ObList DispOb1 LD A,(IX) CP #FF RET Z OR A CALL NZ,DoObj LD DE,obLen ADD IX,DE JP DispOb1 DoObj PUSH IX CALL GMat JR C,DoObK LD A,(IX+obShp) CALL ShPnt PUSH DE LD IY,TempP LD B,(IX) INC IX DoObL PUSH BC CALL MMul LD DE,6 ADD IX,DE LD E,4 ADD IY,DE POP BC DJNZ DoObL POP IX LD DE,TempP LD B,(IX) INC IX CALL MLine DoObK POP IX RET GMat LD A,(PlPhi) SUB (IX+obPhi) LD D,A CALL Cosine LD (MatCos),BC LD A,D CALL Sine LD (MatSin),BC LD A,(PlPhi) CALL Cosine LD A,B LD (CosPP),BC LD H,(IX+obPxh) LD L,(IX+obPxl) LD DE,(PlPx) ADD HL,HL EX DE,HL ADD HL,HL EX DE,HL OR A SBC HL,DE SRA H:RR L LD (Dispx),HL OR A:CALL NZ,FMul RR C CALL C,NegHL PUSH HL LD A,(PlPhi) CALL Sine LD A,B LD (SinPP),BC LD H,(IX+obPzh) LD L,(IX+obPzl) LD DE,(PlPz) ADD HL,HL EX DE,HL ADD HL,HL EX DE,HL OR A SBC HL,DE SRA H:RR L LD (Dispz),HL OR A:CALL NZ,FMul RR C CALL NC,NegHL POP DE ADD HL,DE LD (MatPx),HL LD BC,(SinPP) LD A,B LD HL,(Dispx) OR A:CALL NZ,FMul RR C CALL C,NegHL PUSH HL LD BC,(CosPP) LD A,B LD HL,(Dispz) OR A:CALL NZ,FMul RR C CALL C,NegHL POP DE ADD HL,DE LD (MatPz),HL LD A,H RLCA RET C LD D,(IX+obDis) LD E,0 SBC HL,DE CCF RET C ADD HL,DE LD DE,(MatPx) BIT 7,D JR Z,KSill1 LD A,D CPL LD D,A LD A,E CPL LD E,A INC DE KSill1 OR A SBC HL,DE RET MMul LD H,(IX+ptPxh) LD L,(IX+ptPxl) LD BC,(MatCos) LD A,B OR A:CALL NZ,FMul RR C CALL C,NegHL PUSH HL LD H,(IX+ptPzh) LD L,(IX+ptPzl) LD BC,(MatSin) LD A,B OR A:CALL NZ,FMul RR C CALL NC,NegHL POP DE ADD HL,DE LD DE,(MatPx) ADD HL,DE LD (TX),HL LD H,(IX+ptPxh) LD L,(IX+ptPxl) LD BC,(MatSin) LD A,B OR A:CALL NZ,FMul RR C CALL C,NegHL PUSH HL LD H,(IX+ptPzh) LD L,(IX+ptPzl) LD BC,(MatCos) LD A,B OR A:CALL NZ,FMul RR C CALL C,NegHL POP DE ADD HL,DE LD DE,(MatPz) ADD HL,DE LD D,H:LD E,L PUSH DE LD HL,(TX) CALL FDiv LD DE,128 ADD HL,DE LD (IY),L LD (IY+1),H LD H,(IX+ptPyh) LD L,(IX+ptPyl) POP DE CALL FDiv LD DE,128 ADD HL,DE LD (IY+2),L LD (IY+3),H RET ShPnt LD H,0 LD L,A DEC L ADD HL,HL ADD HL,HL LD DE,ShpVec ADD HL,DE LD C,(HL) INC HL LD B,(HL) INC HL LD E,(HL) INC HL LD D,(HL) LD IXH,B LD IXL,C RET MLine PUSH BC PUSH DE LD L,(IX) CALL MLinG LD L,(IX+1) CALL MLinG POP DE EXX POP DE EXX POP HL EXX POP HL CALL CLine POP DE POP BC INC IX INC IX DJNZ MLine RET MLinG POP IY LD H,0 ADD HL,HL ADD HL,HL ADD HL,DE LD C,(HL) INC HL LD B,(HL) PUSH BC INC HL LD C,(HL) INC HL LD B,(HL) PUSH BC JP (IY) Cosine ADD A,64 Sine PUSH DE PUSH HL LD C,A AND #3F RL C RL C JR NC,Sine1 XOR #3F Sine1 LD E,A LD D,0 LD HL,SineT ADD HL,DE LD B,(HL) POP HL POP DE RET SineT DEFB 3,9,16,22 DEFB 28,34,41,47,53,59 DEFB 65,71,77,83,89,95 DEFB 101,107,112,118 DEFB 123,129,134,140 DEFB 145,150,155,160 DEFB 165,170,174,179 DEFB 183,188,192,196 DEFB 200,204,207,211 DEFB 215,218,221,224 DEFB 227,230,233,235 DEFB 238,240,242,244 DEFB 246,248,249,250 DEFB 252,253,254,254 DEFB 255,255,0,0 FMul LD B,8 EX DE,HL LD HL,0 FMul1 SRA H RR L RRA JR NC,FMul2 ADD HL,DE FMul2 DJNZ FMul1 SRA H RR L RET NC INC HL RET FDiv LD A,H EX AF,AF' BIT 7,H JR Z,FDiva LD A,H CPL LD H,A LD A,L CPL LD L,A INC HL FDiva BIT 7,D JR Z,FDivb LD A,D CPL LD D,A LD A,E CPL LD E,A INC DE FDivb EXX LD HL,0 LD DE,#100 EXX OR A FDiv1 SBC HL,DE JP C,FDiv4 JP Z,FDiv3 ADD HL,DE SLA E RL D EXX SLA E RL D EXX JP NC,FDiv1 LD HL,0 JP FDivc FDiv2 SBC HL,DE JR C,FDiv4 FDiv3 ADD HL,HL EXX ADD HL,DE SRL D RR E EXX JP NC,FDiv2 JP FDivd FDiv4 ADD HL,DE ADD HL,HL EXX SRL D RR E EXX JP NC,FDiv2 FDivd EXX FDivc EX AF,AF' RLA RET NC NegHL LD A,H CPL LD H,A LD A,L CPL LD L,A INC HL RET IMul LD HL,0 LD A,16 IMul1 SRA H RR L RR D RR E JR NC,IMul2 ADD HL,BC IMul2 DEC A JR NZ,IMul1 SRA H RR L RR D RR E RET IDiv LD A,16 IDiv0 SLI E RL D RL L RL H SBC HL,BC JR NC,IDiv1 ADD HL,BC DEC E IDiv1 DEC A JR NZ,IDiv0 RET Line LD A,L SUB E JR NC,Linexs EX DE,HL Linexs PUSH DE PUSH HL LD A,E AND 7 LD C,A SRL D RR E SRL D RR E SRL D RR E LD B,0 LD HL,Bits ADD HL,BC LD C,(HL) LD HL,Scrn2 ADD HL,DE LD A,C LD DE,32 EXX POP HL POP DE LD A,L SUB E LD C,A LD A,H SUB D JR NC,Line2 NEG EXX LD DE,0-32 EXX Line2 LD B,A SUB C JP NC,Line3 LD L,C SRL L LD A,B NEG LD E,A LD D,#FF JR NZ,Line2a LD D,A Line2a XOR A LD B,A LD H,A LD A,C EXX OR A RET Z LD B,A LD A,C LineMX EXX ADD HL,DE BIT 7,H JR Z,LineMX1 ADD HL,BC EXX OR (HL) LD (HL),A RRC C ADC HL,DE LD A,C DJNZ LineMX JP LineMXF LineMX1 EXX RRC C JP NC,LineMX2 OR (HL) LD (HL),A INC L XOR A LineMX2 OR C DJNZ LineMX LineMXF OR (HL) LD (HL),A RET Line3 LD L,B SRL L LD A,C NEG LD E,A LD D,#FF JR NZ,Line3a LD D,A Line3a LD C,B XOR A LD B,A LD H,A LD A,C EXX OR A RET Z LD B,A LD A,C OR (HL) LD (HL),A LineMY EXX ADD HL,DE BIT 7,H JR Z,LineMY1 ADD HL,BC EXX RRC C ADC HL,DE LD A,C OR (HL) LD (HL),A DJNZ LineMY RET LineMY1 EXX ADD HL,DE LD A,C OR (HL) LD (HL),A DJNZ LineMY RET CLine LD A,H OR D JR Z,CLin1z LD B,2 CLin1 PUSH BC CALL CLinM LD B,H LD C,L LD HL,255 OR A SBC HL,DE EX DE,HL LD HL,255 OR A SBC HL,BC POP BC DJNZ CLin1 CLin1z EXX LD A,H OR D JR Z,CLin2z LD B,2 CLin2 PUSH BC CALL CLinM LD B,H LD C,L LD HL,255 OR A SBC HL,DE EX DE,HL LD HL,255 OR A SBC HL,BC POP BC DJNZ CLin2 CLin2z SRL L LD A,L SRL L ADD A,L EXX LD H,A EXX SRL E LD A,E SRL E ADD A,E EXX LD D,A CALL Line RET CLinM BIT 7,H JR NZ,CLiM1 BIT 7,D JR NZ,CLiM2 RET CLiM1 BIT 7,D JR NZ,KillLine EX DE,HL EXX EX DE,HL EXX CLiM2 PUSH HL LD B,H LD C,L OR A SBC HL,DE EXX EX DE,HL OR A SBC HL,DE PUSH HL EXX POP DE PUSH HL BIT 7,D JR Z,CLiM3 EX AF,AF' LD A,D CPL LD D,A LD A,E CPL LD E,A INC DE EX AF,AF' CLiM3 EX AF,AF' CALL IMul POP BC CALL IDiv EX AF,AF' JR Z,CLiM4 LD A,D CPL LD D,A LD A,E CPL LD E,A INC DE CLiM4 PUSH DE EXX POP HL ADD HL,DE EXX POP DE LD HL,0 RET KillLine POP AF POP AF RET Point LD A,D LD H,0 CP 192 RET NC PUSH BC LD A,E AND 7 LD C,A LD B,H LD HL,Bits ADD HL,BC LD A,(HL) LD HL,STab LD C,D ADD HL,BC ADD HL,BC LD C,(HL) INC HL LD H,(HL) LD L,C LD C,E SRL C SRL C SRL C ADD HL,BC POP BC RET Circle LD (CX),DE LD (CY),HL LD HL,0 LD (ER),HL LD (X),HL XOR A SBC HL,BC LD (Y),HL CALL CPoints CLoop1 LD HL,(ER) LD DE,(X) ADD HL,DE ADD HL,DE INC HL LD B,H LD C,L LD (ER),HL LD DE,(Y) INC HL ADD HL,DE ADD HL,DE PUSH HL EX DE,HL BIT 7,B JR Z,Circ2 XOR A LD H,A LD L,A SBC HL,BC LD B,H LD C,L Circ2 BIT 7,D JR Z,Circ3 XOR A LD H,A LD L,A SBC HL,DE LD D,H LD E,L Circ3 EX DE,HL OR A SBC HL,BC POP HL JR NC,Circ4 LD (ER),HL LD HL,(Y) INC HL LD (Y),HL Circ4 LD HL,(X) INC HL LD (X),HL CALL CPoints LD HL,(X) LD DE,(Y) ADD HL,DE BIT 7,H JR NZ,CLoop1 RET CPoints LD BC,(X) LD DE,(Y) CALL CP1 CALL CplDE CALL CP1 CALL CplDE CALL CplBC CALL CP1 CALL CplDE CALL CP1 CALL CplDE CALL CplBC LD H,B LD L,C LD B,D LD C,E EX DE,HL CALL CP1 CALL CplDE CALL CP1 CALL CplDE CALL CplBC CALL CP1 CALL CplDE CALL CP1 RET CP1 PUSH DE LD HL,(CX) ADD HL,DE LD E,L LD HL,(CY) ADD HL,BC LD D,L CALL Point OR (HL) LD (HL),A POP DE RET CplDE LD A,D CPL LD D,A LD A,E CPL LD E,A RET CplBC LD A,B CPL LD B,A LD A,C CPL LD C,A RET Drip LD A,13 LD C,35 JR Snd Bonk XOR A LD C,60 JR Snd Blip XOR A LD C,30 JR Snd Snd LD HL,SEn:BIT 0,(HL) RET Z:LD B,15 LD (SndF),A LD A,(Border) LD E,A OR #18 LD D,A Snd1 LD A,D OUT (254),A CALL SndDel LD A,E OUT (254),A CALL SndDel SndF NOP DJNZ Snd1 RET SndDel PUSH BC LD B,C SndD1 ADD HL,HL ADD HL,DE DJNZ SndD1 POP BC RET Rand1 LD HL,(Seed+2) RL L RL H RL L RL H LD C,H LD A,(Seed) RLA LD B,A LD DE,(Seed+1) RL E RL D RES 7,D LD HL,(Seed) ADD HL,BC LD (Seed),HL LD HL,(Seed+2) ADC HL,DE RES 7,H LD (Seed+2),HL RET M LD HL,Seed Rnd1 INC (HL) RET NZ INC HL JP Rnd1 InitRand LD HL,(23672) LD (Seed),HL LD A,R OR #80 LD H,A LD A,(23674) LD L,A LD (Seed+2),HL RET Rand PUSH HL PUSH DE PUSH BC CALL Rand1 LD A,(Seed) CP 0 POP BC POP DE POP HL RET ORG $B000 ; Martin's source #2 MPlyr LD IY,PlShp XOR A:LD (BonkFlg),A LD A,(kZap):LD E,A LD L,5:LD H,22 CALL MPZ CALL C,Drip LD DE,(kRot) LD L,4 CALL MPR LD DE,(kMov) LD L,7 CALL MPE RET NC LD A,1 LD (BonkFlg),A RET MPR LD A,(IY+obWSp) RRCA:RRCA:RRCA:RRCA LD C,A LD A,E XOR D RRA JR NC,MPRN BIT 0,D JR Z,MPRt LD A,C AND 7 JR Z,MPR3 BIT 3,C JR Z,MPRDec JR MPR1 MPR3 LD C,9 JR MPRC MPRN LD A,C AND 7 RET Z DEC C JR MPRC MPRt LD A,C AND 7 JR Z,MPR2 BIT 3,C JR NZ,MPRDec MPR1 CP L JR Z,MPRC INC C JR MPRC MPRDec DEC C:LD A,C AND 7:JR Z,MPRC DEC C JR MPRC MPR2 LD C,1 JR MPRC MPRC LD A,C ADD A,A:ADD A,A ADD A,A:ADD A,A LD B,A LD A,(IY+obWSp) AND #F OR B LD (IY+obWSp),A LD A,C AND 7 BIT 3,C JR Z,MPRC1 NEG MPRC1 LD C,A LD A,(IY+obPhi) ADD A,C LD (IY+obPhi),A RET MPE LD A,(IY+obWSp) LD C,A LD A,D XOR E RRA JR NC,MPEN BIT 0,D JR NZ,MPF LD A,C AND 7 JR Z,MPE3 BIT 3,C JR Z,MPEDec JR MPE1 MPE3 LD C,9 JR MPEC MPEN LD A,C AND 7 RET Z DEC C JR MPEC MPF LD A,C AND 7 JR Z,MPE2 BIT 3,C JR NZ,MPEDec MPE1 CP L JR Z,MPEC INC C JR MPEC MPEDec DEC C:LD A,C AND 7:JR Z,MPEC DEC C JR MPEC MPE2 LD C,1 JR MPEC MPEC LD A,C:AND #F LD B,A:LD A,(IY+obWSp) AND #F0:OR B LD (IY+obWSp),A AND 7 RET Z LD (VN),A LD HL,29 BIT 3,C CALL NZ,NegHL LD (Vtor),HL LD A,(IY+obPhi) LD (VPhi),A LD A,1 LD (VFlags),A LD L,(IY+obPxl) LD H,(IY+obPxh) LD (VPx),HL LD A,(IY+obHFl) LD (VHFl),A LD L,(IY+obPzl) LD H,(IY+obPzh) LD (VPz),HL LD HL,BumTabL LD (DisTab),HL PUSH IY CALL VecMove POP IY LD HL,(VPx) LD (IY+obPxl),L LD (IY+obPxh),H LD HL,(VPz) LD (IY+obPzl),L LD (IY+obPzh),H LD A,(VFlags) RLCA RET NC LD A,(IY+obWSp) AND #F0 LD (IY+obWSp),A SCF:RET MPZ LD A,(IY+obWSp+1) OR A JR Z,MPZY DEC A LD (IY+obWSp+1),A OR A:RET MPZY LD A,E RRA:CCF:RET NC LD A,(nObj) INC A CP MaxnObj RET NC LD (nObj),A LD A,(IY+obWSp+1) LD A,L LD (IY+obWSp+1),A PUSH HL CALL FOS POP HL LD (IX),H LD A,(IY+obPhi) LD (IX+obPhi),A LD (IX+obDis),20 LD (IX+obMov),3 LD (IX+obWSp),33 LD A,(IY+obHFl) LD (IX+obHFl),A LD L,(IY+obPxl) LD H,(IY+obPxh) LD (IX+obPxh),H LD (IX+obPxl),L LD L,(IY+obPzl) LD H,(IY+obPzh) LD (IX+obPzh),H LD (IX+obPzl),L PUSH IY CALL MovBull POP IY SCF:RET Keys LD BC,#F7FE IN A,(C):RRCA:RRCA LD (kQuit),A:LD BC,#8FE IN A,(C):LD (kZap),A LD BC,#1FFE:IN E,(C) LD BC,#EFFE:IN A,(C) RRCA:RRCA:AND E:RRCA RRCA:LD (kB),A LD BC,#0FFE IN A,(C):RRCA:RRCA:RRCA LD (kF),A LD BC,#F8FE:IN E,(C) LD BC,#F7FE:IN A,(C) RRCA:RRCA:RRCA:AND E RRCA:LD (kL),A LD BC,#E8FE:IN A,(C) RRCA:RRCA:LD (kR),A:RET SClr LD HL,Scrn2 LD DE,Scrn2+1:LD (HL),0 LD BC,#A00:LDIR LD HL,#CC00:LD DE,#CC01 LD BC,#BFF:LD (HL),0 LDIR:RET SCopy LD HL,Scrn2 LD IX,CTab:LD A,#58 LD B,0:SCop2 LD E,(IX) INC IX:LD D,(IX):INC IX LD C,(IX):INC IX:LDIR CP D:JR NZ,SCop2:RET DClr LD HL,#4000 LD DE,#4001:LD BC,#17FF LD (HL),0:LDIR:RET SetAttr LD HL,#5800 LD DE,#5801:LD BC,#2FF LD (HL),A:LDIR:RRA:RRA RRA:AND 7:LD (Border),A OUT (#FE),A:RET Sqr BIT 7,A:JR Z,Sq1:NEG Sq1 LD C,A:LD HL,0:LD B,H Sq2 SRL A:JR NC,Sq3 ADD HL,BC:Sq3 RET Z SLA C:RL B:JP Sq2 Sites LD HL,#C610:LD B,8 LD DE,32:LD A,#80 Sigc LD (HL),A:ADD HL,DE DJNZ Sigc:LD HL,#D110 LD B,8:Sigd LD (HL),A ADD HL,DE:DJNZ Sigd LD HL,#C70B:LD B,10 LD A,#FF:Siga LD (HL),A INC L:DJNZ Siga:LD B,10 LD HL,#D10B LD B,10:Sigb LD (HL),A INC L:DJNZ Sigb:RET SiteBits LD A,(Aim):OR A JR NZ,SigB2:LD HL,#C70B LD DE,32:CALL SigD10 LD HL,#C715:CALL SigD10 LD HL,#D10B:LD DE,0-32 CALL SigD10:LD HL,#D115 SigD10 LD B,12 SigD10a SET 7,(HL) ADD HL,DE:DJNZ SigD10a RET SigB2 LD DE,32:LD C,#80 LD HL,#C70B:CALL SigR12 LD C,#80:LD HL,#C715 CALL SigL12:LD DE,0-32 LD C,#80:LD HL,#D10B CALL SigR12:LD C,#80 LD HL,#D115 SigL12 LD B,12 SL2a LD A,(HL):OR C LD (HL),A:RLC C JR NC,SL2b:DEC L SL2b ADD HL,DE:DJNZ SL2a RET SigR12 LD B,12 SR2a LD A,(HL):OR C LD (HL),A:RRC C JR NC,SR2b:INC L SR2b ADD HL,DE:DJNZ SR2a RET DF LD L,(IY+obPzl) LD H,(IY+obPzh) LD E,(IX+obPzl) LD D,(IX+obPzh) SLA E:RL D:SLA L:RL H OR A:SBC HL,DE:LD C,H CALL M,NegHL:SRA H:RR L PUSH HL:LD L,(IY+obPxl) LD H,(IY+obPxh) LD E,(IX+obPxl) LD D,(IX+obPxh) SLA L:RL H:SLA E:RL D OR A:SBC HL,DE:LD B,H CALL M,NegHL:SRA H:RR L POP DE:PUSH BC:CALL DD EXX:LD A,H:CPL:LD B,A LD A,L:CPL:LD C,A:INC BC CALL DA:POP BC:LD D,A LD A,B:XOR C:LD A,D JP P,DF1:NEG:DF1 OR A BIT 7,C:RET Z:XOR #80 RET DD EXX:LD HL,0:LD DE,#100 EXX:OR A:DD1 SBC HL,DE JP C,DD4:JP Z,DD3 ADD HL,DE:SLA E:RL D EXX:SLA E:RL D:EXX JP NC,DD1:LD HL,#7FFF EXX:RET DD2 SBC HL,DE:JR C,DD4 DD3 ADD HL,HL:EXX ADD HL,DE:SRL D:RR E EXX:JP NC,DD2:RET DD4 ADD HL,DE:ADD HL,HL EXX:SRL D:RR E:EXX JP NC,DD2:RET DA LD D,0:EXX:LD C,#40 LD B,6:LD A,C:DA1 EXX LD E,A:LD HL,AtnT ADD HL,DE:LD E,(HL) INC HL:LD H,(HL):LD L,E OR A:ADC HL,BC:EXX JP M,DA2:SUB C:DA2 SRL C ADD A,C:DJNZ DA1:SRL A RET CHFl LD HL,THF:LD BC,#FE LD DE,THF+2:LD (HL),1 INC HL:LD (HL),0:LDIR:RET GHFl LD HL,THF:LD BC,#100 XOR A:CPIR:DEC HL:INC C LD A,C:NEG:LD (HL),A:RET KCk LD B,0:LD E,B KC1 IN A,(#DF):CP 32 JR C,KC2:INC E KC2 DJNZ KC1:LD HL,KFl JCk LD A,E:LD (HL),0:CP 3 RET NC:LD (HL),1:RET FCk LD BC,20000:LD E,0 FC1 IN A,(#7F):LD L,A SRL L:OR L:RRA:JR NC,FCI SRL L:LD A,L:SRL L:OR L RRA:JR C,FC2:FCI INC E FC2 CPI:JP V,FC1 LD HL,FFl:JR JCk VecMove CALL VRes CALL VSplit VecM1 CALL VIt CALL Bp JR C,VecM2 LD HL,VN DEC (HL) JR NZ,VecM1 VecM2 CALL VSet RET VBMove CALL VSplit VBM1 CALL VIt CALL Bp RET C LD HL,VN DEC (HL) JR NZ,VBM1 RET VSplit LD A,(VPhi) CALL Sine LD HL,(Vtor) LD A,B OR A:CALL NZ,FMul RR C CALL C,NegHL LD (VX),HL LD A,(VPhi) CALL Cosine LD HL,(Vtor) LD A,B OR A:CALL NZ,FMul RR C CALL C,NegHL LD (VZ),HL RET VIt LD HL,(VX) ADD HL,HL EX DE,HL LD HL,(VPx) ADD HL,HL ADD HL,DE SRA H:RR L LD (VTx),HL LD HL,(VZ) ADD HL,HL EX DE,HL LD HL,(VPz) ADD HL,HL ADD HL,DE SRA H:RR L LD (VTz),HL RET VRes CALL VPt CPL AND (HL) LD (HL),A RET VSet CALL VPt OR (HL) LD (HL),A RET VPt LD A,(VPx+1) LD D,A LD A,(VPz+1) LD E,A JP MapPt ClrMap LD HL,Map LD DE,Map+1 LD BC,2047 LD (HL),0 LDIR RET Bp LD B,#FF Bp1 LD C,#FF Bp2 LD A,(VTx+1) ADD A,A ADD A,B ADD A,B SRA A LD D,A LD A,(VTz+1) ADD A,A ADD A,C ADD A,C SRA A LD E,A CALL MapPt AND (HL) JR Z,Bp4 PUSH BC Bp2a CALL ObSearch JR NC,Bp3 CALL BpType JR NC,Bp2a CALL BumMaths JR C,Bped Bp3 POP BC Bp4 INC C LD A,C CP 2 JR NZ,Bp2 INC B LD A,B CP 2 JR NZ,Bp1 LD HL,(VTx) LD (VPx),HL LD HL,(VTz) LD (VPz),HL OR A RET Bped POP BC Bped1 LD A,(VFlags) OR #80 LD (VFlags),A SCF RET ObSearch LD IY,PlShp LD BC,obLen ObSeL LD A,(IY) CP #FF RET Z OR A JR Z,ObSeN LD A,(IY+obPzh) CP E JP NZ,ObSeN LD A,(IY+obPxh) CP D SCF RET Z ObSeN ADD IY,BC JP ObSeL BumMaths LD E,(IY+obShp) LD D,0:DEC E LD HL,(DisTab) ADD HL,DE ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD (BpDist),DE LD H,(IY+obPxh) LD L,(IY+obPxl) ADD HL,HL EX DE,HL LD HL,(VTx) ADD HL,HL OR A SBC HL,DE SRA H:RR L BIT 7,H CALL NZ,NegHL LD DE,(BpDist) OR A SBC HL,DE RET NC LD H,(IY+obPzh) LD L,(IY+obPzl) ADD HL,HL EX DE,HL LD HL,(VTz) ADD HL,HL OR A SBC HL,DE SRA H:RR L BIT 7,H CALL NZ,NegHL LD DE,(BpDist) OR A SBC HL,DE RET MapPt PUSH BC PUSH DE LD A,D ADD A,64 AND #7F LD D,A LD A,E ADD A,64 AND #7F LD E,A LD A,E AND 7 LD C,A LD B,0 LD HL,Bits ADD HL,BC LD A,(HL) SLA E SRL D RR E SRL D RR E SRL D RR E SRL D RR E LD HL,Map ADD HL,DE POP DE POP BC RET BpType LD HL,BumTab LD D,0 LD E,(IY+obShp) DEC E ADD HL,DE LD A,(VFlags) AND (HL) RET NZ LD A,(VHFl) CP (IY+obHFl) SCF RET NZ OR A RET FOS LD IX,ObList LD DE,obLen FOS1 LD A,(IX) OR A RET Z CP #FF JR Z,FOS2 ADD IX,DE JR FOS1 FOS2 LD (IX+obLen),#FF RET MakeE LD HL,#4000 LD IX,STab:LD C,24 MakeE1 LD B,8 MakeE2 LD (IX),L:INC IX LD (IX),H:INC IX:INC H DJNZ MakeE2:LD A,L ADD A,#20:LD L,A JR C,MakeE3:LD A,H:SUB 8 LD H,A:MakeE3 DEC C JR NZ,MakeE1:RET TranE LD IY,STab:LD B,192 LD IX,CTab:Tran1 PUSH BC LD L,(IY):LD (IX),L LD H,(IY+1):LD (IX+1),H INC IY:INC IY:LD B,16 XOR A:LD C,A Tran2 CP (HL):JR NZ,Tran4 INC C:INC L:DJNZ Tran2 LD (IX+2),32:Tran3 INC IX INC IX:INC IX:POP BC DJNZ Tran1:RET Tran4 LD (IX+2),C:INC IX INC IX:INC IX:LD A,B ADD A,A:LD (IX),0:INC IX LD (IX),0:INC IX LD (IX),A:INC IX:ADD A,L LD (IX),A:LD (IX+1),H LD (IX+2),C:JP Tran3 INC IY MakePylon LD B,5 LD A,B LD (nObj),A LD HL,#880 LD E,L LD D,0-60 MakePy1 LD (IX+obShp),30 LD (IX+obPhi),0 LD (IX+obDis),#30 LD (IX+obMov),0 LD (IX+obHFl),0 LD (IX+obPxh),H LD (IX+obPxl),L LD (IX+obPzh),D LD (IX+obPzl),E PUSH HL PUSH DE LD E,D LD D,H CALL MapPt OR (HL) LD (HL),A LD DE,obLen ADD IX,DE LD HL,nObj INC (HL) POP DE POP HL LD A,D ADD A,24 LD D,A DJNZ MakePy1 LD (IX),#FF RET MakeObj LD IX,ObList CALL MakePylon LD B,40 LD A,(nObj) ADD A,B LD (nObj),A LD DE,obLen MakeOb1 CALL MakeO ADD IX,DE DJNZ MakeOb1 LD B,8 MakeOb2 CALL MakeRadar LD HL,nObj INC (HL) DJNZ MakeOb2 RET MakeO CALL MakeSpace CALL Rand AND #F INC A LD (IX+obShp),A LD (IX+obDis),#18 LD (IX+obMov),0 LD (IX+obHFl),0 CALL Rand AND #C0 LD (IX+obPhi),A LD (IX+obLen),#FF RET MakeSpace PUSH BC PUSH DE PUSH IX MakeS1 LD L,#80 LD E,L CALL Rand:LD H,A CALL Rand:LD D,A SRA H SRA D LD (VTx),HL LD (VTz),DE LD HL,BumTabL LD (DisTab),HL LD (IX+obHFl),#FF CALL Bp JR C,MakeS1 POP IX LD HL,(VTx) LD D,H LD (IX+obPxh),H LD (IX+obPxl),L LD HL,(VTz) LD (IX+obPzh),H LD (IX+obPzl),L LD E,H CALL MapPt OR (HL) LD (HL),A POP DE POP BC RET MakeRadar CALL MakeSpace LD (IX+obShp),31 LD (IX+obDis),24 LD (IX+obHFl),0 LD (IX+obMov),0 LD (IX+obPhi),0 LD (IX+obLen+obShp),32 LD (IX+obLen+obDis),#18 LD (IX+obLen+obMov),1 LD A,(IX+obPxh) LD (IX+obLen+obPxh),A LD A,(IX+obPzh) LD (IX+obLen+obPzh),A LD DE,obLen ADD IX,DE LD (IX+obPxl),#80 LD (IX+obPzl),#80 LD (IX+obHFl),0 LD (IX+obPhi),0 LD (IX+obDis),#18 ADD IX,DE LD (IX),#FF RET org $B800 SL LD A,L ; B800 SUB E ; B801 JR NC LB805 ; B802 EX DE,HL ; B804 LB805 PUSH DE ; B805 PUSH HL ; B806 EX DE,HL ; B807 CALL LB873 ; B808 LD DE,$0100 ; B80B EXX ; B80E POP HL ; B80F POP DE ; B810 LD A,L ; B811 SUB E ; B812 LD C,A ; B813 LD A,H ; B814 SUB D ; B815 JR NC LB81F ; B816 NEG ; B818 EXX ; B81A LD DE,LFF00 ; B81B EXX ; B81E LB81F LD B,A ; B81F SUB C ; B820 JP NC LB84B ; B821 LD L,C ; B824 SRL L ; B825 LD A,B ; B827 NEG ; B828 LD E,A ; B82A LD D,$FF ; B82B JR NZ LB830 ; B82D LD D,A ; B82F LB830 XOR A ; B830 LD B,A ; B831 LD H,A ; B832 LD A,C ; B833 EXX ; B834 OR A ; B835 RET Z ; B836 LD B,A ; B837 LB838 EXX ; B838 ADD HL,DE ; B839 BIT 7,H ; B83A JR Z LB848 ; B83C ADD HL,BC ; B83E EXX ; B83F ADD HL,DE ; B840 LB841 INC L ; B841 CALL LB873 ; B842 DJNZ LB838 ; B845 RET ; B847 LB848 EXX ; B848 JR LB841 ; B849 LB84B LD L,B ; B84B SRL L ; B84C LD A,C ; B84E NEG ; B84F LD E,A ; B851 LD D,$FF ; B852 JR NZ LB857 ; B854 LD D,A ; B856 LB857 LD C,B ; B857 XOR A ; B858 LD B,A ; B859 LD H,A ; B85A LD A,C ; B85B EXX ; B85C OR A ; B85D RET Z ; B85E LD B,A ; B85F LB860 EXX ; B860 ADD HL,DE ; B861 BIT 7,H ; B862 JR Z LB870 ; B864 ADD HL,BC ; B866 EXX ; B867 INC L ; B868 LB869 ADD HL,DE ; B869 CALL LB873 ; B86A DJNZ LB860 ; B86D RET ; B86F LB870 EXX ; B870 JR LB869 ; B871 LB873 PUSH DE ; B873 EX DE,HL ; B874 CALL vPoint ; B875 OR (HL) ; B878 LD (HL),A ; B879 EX DE,HL ; B87A POP DE ; B87B RET ; B87C LB87D JP (HL) ; B87D Kemp LD A,(KFl) ; B87E OR A ; B881 RET Z ; B882 IN A,($DF) ; B883 CP $20 ; B885 RET NC ; B887 CPL ; B888 LD C,A ; B889 LD A,(kR) ; B88A AND C ; B88D LD (kR),A ; B88E SRL C ; B891 LD A,(kL) ; B893 AND C ; B896 LD (kL),A ; B897 SRL C ; B89A LD A,(kB) ; B89C AND C ; B89F LD (kB),A ; B8A0 SRL C ; B8A3 LD A,(kF) ; B8A5 AND C ; B8A8 LD (kF),A ; B8A9 SRL C ; B8AC LD A,(kZap) ; B8AE AND C ; B8B1 LD (kZap),A ; B8B2 RET ; B8B5 Full LD A,(FFl) ; B8B6 OR A ; B8B9 RET Z ; B8BA IN A,($7F) ; B8BB RLCA ; B8BD LD C,A ; B8BE LD A,(kZap) ; B8BF AND C ; B8C2 LD (kZap),A ; B8C3 SRL C ; B8C6 LD A,(kF) ; B8C8 AND C ; B8CB LD (kF),A ; B8CC SRL C ; B8CF LD A,(kB) ; B8D1 AND C ; B8D4 LD (kB),A ; B8D5 SRL C ; B8D8 LD A,(kL) ; B8DA AND C ; B8DD LD (kL),A ; B8DE SRL C ; B8E1 LD A,(kR) ; B8E3 AND C ; B8E6 LD (kR),A ; B8E7 RET ; B8EA GrumSet LD A,(FFl) ; B8EB OR A ; B8EE RET Z ; B8EF LD HL,LB900 ; B8F0 LD B,(HL) ; B8F3 INC HL ; B8F4 LB8F5 LD A,(HL) ; B8F5 OUT ($3F),A ; B8F6 INC HL ; B8F8 LD A,(HL) ; B8F9 OUT ($5F),A ; B8FA INC HL ; B8FC DJNZ LB8F5 ; B8FD RET ; B8FF LB900 DEFB $09,$00,$FF,$01,$08,$06,$02,$07; B900 ........ DEFB $F6,$08,$10,$0B,$4F,$0C,$00,$0D; B908 ....O... DEFB $0E,$0F,$00 ; B910 ... Grumble LD A,(FFl) ; B913 OR A ; B916 RET Z ; B917 LD A,(PlWSp) ; B918 LD C,A ; B91B AND $07 ; B91C LD B,A ; B91E LD A,C ; B91F RLCA ; B920 RLCA ; B921 RLCA ; B922 RLCA ; B923 AND $07 ; B924 ADD A,B ; B926 LD E,A ; B927 LD D,$00 ; B928 LD HL,LB939 ; B92A ADD HL,DE ; B92D XOR A ; B92E OUT ($3F),A ; B92F LD A,(HL) ; B931 OUT ($5F),A ; B932 LD A,$0F ; B934 OUT ($3F),A ; B936 RET ; B938 LB939 DEFB $FF,$F0,$E0,$D0,$B8,$A0,$80,$70; B939 .......p DEFB $60,$50,$40,$30,$20,$10,$00; B941 `P@0 .. KillFull LD A,$07 ; B948 OUT ($3F),A ; B94A LD A,$FF ; B94C OUT ($5F),A ; B94E LD A,$08 ; B950 OUT ($3F),A ; B952 XOR A ; B954 OUT ($5F),A ; B955 LD A,$09 ; B957 OUT ($3F),A ; B959 XOR A ; B95B OUT ($5F),A ; B95C LD A,$0A ; B95E OUT ($3F),A ; B960 XOR A ; B962 OUT ($5F),A ; B963 LD A,$0F ; B965 OUT ($3F),A ; B967 RET ; B969 DoBonks LD A,(BonkFlg) ; B96A OR A ; B96D RET Z ; B96E JP L6724 ; B96F MvObj LD IX,L7AF0 ; B972 LB976 LD A,(IX) ; B976 CP $FF ; B979 RET Z ; B97B OR A ; B97C JR Z LB998 ; B97D LD A,(IX+9) ; B97F OR A ; B982 JR Z LB998 ; B983 ADD A,A ; B985 LD E,A ; B986 LD D,$00 ; B987 LD HL,LB9A0 ; B989 ADD HL,DE ; B98C LD A,(HL) ; B98D INC HL ; B98E LD H,(HL) ; B98F LD L,A ; B990 PUSH IX ; B991 CALL LB87D ; B993 POP IX ; B996 LB998 LD DE,$0010 ; B998 ADD IX,DE ; B99B JP LB976 ; B99D LB9A0 DEFW LB9B6,LB9AE,LB9AE,LB9B7,LBC4F,LBADA,LBABD; B9A0 LB9AE LD A,(IX+1) ; B9AE ADD A,$0C ; B9B1 LD (IX+1),A ; B9B3 LB9B6 RET ; B9B6 LB9B7 DEC (IX+11) ; B9B7 JR Z LBA17 ; B9BA LD HL,$0033 ; B9BC LD (Vtor),HL ; B9BF LD A,(IX+1) ; B9C2 LD (VPhi),A ; B9C5 LD A,$0D ; B9C8 LD (VN),A ; B9CA LD A,$03 ; B9CD LD (VFlags),A ; B9CF LD H,(IX+3) ; B9D2 LD L,(IX+2) ; B9D5 LD (VPx),HL ; B9D8 LD H,(IX+7) ; B9DB LD L,(IX+6) ; B9DE LD (VPz),HL ; B9E1 LD HL,BumTabS ; B9E4 LD (DisTab),HL ; B9E7 LD A,(IX+10) ; B9EA LD (VHFl),A ; B9ED CALL L6775 ; B9F0 LD HL,(VPx) ; B9F3 LD (IX+3),H ; B9F6 LD (IX+2),L ; B9F9 LD HL,(VPz) ; B9FC LD (IX+7),H ; B9FF LD (IX+6),L ; BA02 LD A,(VFlags) ; BA05 RLA ; BA08 RET NC ; BA09 LD C,(IX) ; BA0A LD (IX),$00 ; BA0D LD HL,nObj ; BA11 DEC (HL) ; BA14 JR LBA20 ; BA15 LBA17 LD (IX),$00 ; BA17 LD HL,nObj ; BA1B DEC (HL) ; BA1E RET ; BA1F LBA20 LD A,(IY) ; BA20 SUB $11 ; BA23 RET C ; BA25 ADD A,A ; BA26 LD HL,LBA33 ; BA27 LD E,A ; BA2A LD D,$00 ; BA2B ADD HL,DE ; BA2D LD A,(HL) ; BA2E INC HL ; BA2F LD H,(HL) ; BA30 LD L,A ; BA31 JP (HL) ; BA32 LBA33 DEFW LBA59,LBA75,LBA58,LBA57,LBA57,LBA57,LBAAF,LBA56; BA33 DEFW LBA56,LBA56,LBA56,LBA56,LBA56,LBA55,LBA54,LBA53; BA43 LBA53 RET ; BA53 LBA54 RET ; BA54 LBA55 RET ; BA55 LBA56 RET ; BA56 LBA57 RET ; BA57 LBA58 RET ; BA58 LBA59 LD A,C ; BA59 CP $16 ; BA5A JR NZ LBA64 ; BA5C LD DE,$000A ; BA5E CALL LBAB5 ; BA61 LBA64 PUSH IY ; BA64 POP IX ; BA66 LD HL,THF ; BA68 LD L,(IX+10) ; BA6B LD (HL),$00 ; BA6E CALL RTk ; BA70 JR LBA8F ; BA73 LBA75 LD A,C ; BA75 CP $16 ; BA76 JR NZ LBA80 ; BA78 LD DE,$0019 ; BA7A CALL LBAB5 ; BA7D LBA80 PUSH IY ; BA80 POP IX ; BA82 LD HL,THF ; BA84 LD L,(IX+10) ; BA87 LD (HL),$00 ; BA8A CALL RTk ; BA8C LBA8F LD (IX),$18 ; BA8F LD (IX+9),$06 ; BA93 LD A,(IX+4) ; BA97 LD C,(IX+1) ; BA9A SUB C ; BA9D ADD A,$20 ; BA9E AND $C0 ; BAA0 ADD A,C ; BAA2 LD (IX+1),A ; BAA3 LD (IX+10),$00 ; BAA6 LD (IX+11),$0A ; BAAA RET ; BAAE LBAAF LD A,$01 ; BAAF LD (DFlg),A ; BAB1 RET ; BAB4 LBAB5 LD HL,(FCount) ; BAB5 ADD HL,DE ; BAB8 LD (FCount),HL ; BAB9 RET ; BABC LBABD DEC (IX+11) ; BABD RET NZ ; BAC0 LD (IX),$00 ; BAC1 LD HL,DTk ; BAC5 INC (HL) ; BAC8 LD HL,nObj ; BAC9 DEC (HL) ; BACC LD D,(IX+3) ; BACD LD E,(IX+7) ; BAD0 CALL L6781 ; BAD3 CPL ; BAD6 AND (HL) ; BAD7 LD (HL),A ; BAD8 RET ; BAD9 LBADA CALL RTk ; BADA PUSH IX ; BADD POP IY ; BADF LD (L6115),IY ; BAE1 LD HL,L6124 ; BAE5 DEC (HL) ; BAE8 JR NZ LBAFB ; BAE9 LD (HL),$2A ; BAEB LD HL,L611D ; BAED LD DE,L611C ; BAF0 LD BC,$0007 ; BAF3 LDIR ; BAF6 LD A,$06 ; BAF8 LD (DE),A ; BAFA LBAFB LD A,(L6119) ; BAFB OR A ; BAFE JP Z LBC25 ; BAFF DEC A ; BB02 LD (L6119),A ; BB03 LD A,(L6118) ; BB06 AND $07 ; BB09 ADD A,A ; BB0B LD L,A ; BB0C LD H,$00 ; BB0D LD DE,LBB18 ; BB0F ADD HL,DE ; BB12 LD A,(HL) ; BB13 INC HL ; BB14 LD H,(HL) ; BB15 LD L,A ; BB16 JP (HL) ; BB17 LBB18 DEFW LBB28,LBB31,LBB3A,LBB43,LBB4C,LBB55,LBB55,LBB28 LBB28 LD DE,$0000 ; BB28 LD HL,$0000 ; BB2B JP LBBEA ; BB2E LBB31 LD DE,$0000 ; BB31 LD HL,$0001 ; BB34 JP LBBEA ; BB37 LBB3A LD DE,$0000 ; BB3A LD HL,$0100 ; BB3D JP LBBEA ; BB40 LBB43 LD DE,$0001 ; BB43 LD HL,$0000 ; BB46 JP LBBEA ; BB49 LBB4C LD DE,$0100 ; BB4C LD HL,$0000 ; BB4F JP LBBEA ; BB52 LBB55 LD A,(IX+4) ; BB55 SUB (IX+1) ; BB58 LD D,A ; BB5B JP P LBB61 ; BB5C NEG ; BB5F LBB61 PUSH AF ; BB61 CP $03 ; BB62 JR C LBB6D ; BB64 RLC D ; BB66 CCF ; BB68 RL E ; BB69 JR LBB70 ; BB6B LBB6D LD DE,$0000 ; BB6D LBB70 LD L,$03 ; BB70 CALL L6793 ; BB72 POP AF ; BB75 CP $08 ; BB76 JP NC LBB88 ; BB78 LD A,(L6118) ; BB7B CP $06 ; BB7E JR NZ LBB88 ; BB80 LD DE,$0100 ; BB82 JP LBB8B ; BB85 LBB88 LD DE,$0000 ; BB88 LBB8B LD L,$04 ; BB8B CALL L6796 ; BB8D JP C LBC25 ; BB90 CALL LBCFB ; BB93 LD IY,PlShp ; BB96 CALL L67A5 ; BB9A LD (IX+4),A ; BB9D JR C LBBB5 ; BBA0 XOR $80 ; BBA2 SUB (IY+1) ; BBA4 JP P LBBAC ; BBA7 NEG ; BBAA LBBAC CP $07 ; BBAC JR NC LBBB5 ; BBAE LD A,$01 ; BBB0 LD (Aim),A ; BBB2 LBBB5 LD IY,(L6115) ; BBB5 LD A,(IY+15) ; BBB9 OR A ; BBBC JR Z LBBDD ; BBBD LD A,(IY+4) ; BBBF SUB (IY+1) ; BBC2 JP P LBBCA ; BBC5 NEG ; BBC8 LBBCA CP $03 ; BBCA JR NC LBBDD ; BBCC CALL vRn ; BBCE LD E,A ; BBD1 LD A,(L6117) ; BBD2 CP E ; BBD5 JR C LBBDD ; BBD6 LD E,$00 ; BBD8 JP LBBDF ; BBDA LBBDD LD E,$01 ; BBDD LBBDF LD H,$14 ; BBDF LD L,$05 ; BBE1 CALL L6799 ; BBE3 CALL C L6727 ; BBE6 RET ; BBE9 LBBEA PUSH HL ; BBEA LD L,$03 ; BBEB CALL L6793 ; BBED POP DE ; BBF0 LD L,$03 ; BBF1 CALL L6796 ; BBF3 JP C LBC47 ; BBF6 LD E,$01 ; BBF9 CALL L6799 ; BBFB LD IY,PlShp ; BBFE CALL L67A5 ; BC02 LD (IX+4),A ; BC05 JR C LBC1D ; BC08 XOR $80 ; BC0A SUB (IY+1) ; BC0C JP P LBC14 ; BC0F NEG ; BC12 LBC14 CP $07 ; BC14 JR NC LBC1D ; BC16 LD A,$01 ; BC18 LD (Aim),A ; BC1A LBC1D LD IY,(L6115) ; BC1D CALL LBCFB ; BC21 RET ; BC24 LBC25 JR C LBC47 ; BC25 CALL vRn ; BC27 AND $07 ; BC2A LD E,A ; BC2C LD D,$00 ; BC2D LD HL,L611C ; BC2F ADD HL,DE ; BC32 LD A,(HL) ; BC33 LBC34 LD (L6118),A ; BC34 CALL vRn ; BC37 AND $3F ; BC3A LD (L6119),A ; BC3C LD DE,$0000 ; BC3F LD HL,$0000 ; BC42 JR LBBEA ; BC45 LBC47 LD A,(L6118) ; BC47 AND $01 ; BC4A INC A ; BC4C JR LBC34 ; BC4D LBC4F CALL RTk ; BC4F PUSH IX ; BC52 POP IY ; BC54 LD (L6115),IY ; BC56 LD DE,$0000 ; BC5A LD A,(IX+4) ; BC5D SUB (IX+1) ; BC60 PUSH AF ; BC63 RLCA ; BC64 RR D ; BC65 RLC D ; BC67 CCF ; BC69 RL E ; BC6A LD L,$03 ; BC6C CALL L6793 ; BC6E POP AF ; BC71 JP P LBC77 ; BC72 NEG ; BC75 LBC77 CP $0A ; BC77 LD DE,$0000 ; BC79 RL D ; BC7C LD A,(IX+5) ; BC7E OR A ; BC81 JR Z LBC8A ; BC82 DEC (IX+5) ; BC84 LD DE,$0001 ; BC87 LBC8A LD L,$06 ; BC8A CALL L6796 ; BC8C JR NC LBC9F ; BC8F LD A,(IX+5) ; BC91 OR A ; BC94 LD (IX+5),$07 ; BC95 JR Z LBC9F ; BC99 LD (IX+5),$00 ; BC9B LBC9F CALL LBCFB ; BC9F LD IY,PlShp ; BCA2 CALL L67A5 ; BCA6 LD (IX+4),A ; BCA9 JR C LBCC1 ; BCAC XOR $80 ; BCAE SUB (IY+1) ; BCB0 JP P LBCB8 ; BCB3 NEG ; BCB6 LBCB8 CP $07 ; BCB8 JR NC LBCC1 ; BCBA LD A,$01 ; BCBC LD (Aim),A ; BCBE LBCC1 LD IY,(L6115) ; BCC1 LD A,(IY+15) ; BCC5 OR A ; BCC8 LD IY,(L6115) ; BCC9 JR Z LBCE2 ; BCCD LD A,(IY+4) ; BCCF SUB (IY+1) ; BCD2 JP P LBCDA ; BCD5 NEG ; BCD8 LBCDA CP $03 ; BCDA JR NC LBCE2 ; BCDC LD E,$00 ; BCDE JR LBCE4 ; BCE0 LBCE2 LD E,$01 ; BCE2 LBCE4 LD H,$15 ; BCE4 LD L,$05 ; BCE6 CALL L6799 ; BCE8 CALL C L6727 ; BCEB RET ; BCEE RTk LD A,(IX+13) ; BCEF LD L,(IX+14) ; BCF2 LD H,(IX+15) ; BCF5 XOR (HL) ; BCF8 LD (HL),A ; BCF9 RET ; BCFA LBCFB LD H,(IX+3) ; BCFB LD L,(IX+2) ; BCFE LD DE,(PlPx) ; BD01 ADD HL,HL ; BD05 SLA E ; BD06 RL D ; BD08 OR A ; BD0A SBC HL,DE ; BD0B SRA H ; BD0D RR L ; BD0F LD (L6108),HL ; BD11 LD A,(PlPhi) ; BD14 CALL L6709 ; BD17 LD A,B ; BD1A LD (L610E),BC ; BD1B OR A ; BD1F CALL NZ L670C ; BD20 RR C ; BD23 CALL C vNegHL ; BD25 PUSH HL ; BD28 LD H,(IX+7) ; BD29 LD L,(IX+6) ; BD2C LD DE,(PlPz) ; BD2F ADD HL,HL ; BD33 SLA E ; BD34 RL D ; BD36 OR A ; BD38 SBC HL,DE ; BD39 SRA H ; BD3B RR L ; BD3D LD (L610A),HL ; BD3F LD A,(PlPhi) ; BD42 CALL L6706 ; BD45 LD A,B ; BD48 LD (L610C),BC ; BD49 OR A ; BD4D CALL NZ L670C ; BD4E RR C ; BD51 CALL NC vNegHL ; BD53 POP DE ; BD56 ADD HL,DE ; BD57 LD (L6104),HL ; BD58 LD HL,(L610A) ; BD5B LD BC,(L610E) ; BD5E LD A,B ; BD62 OR A ; BD63 CALL NZ L670C ; BD64 RR C ; BD67 CALL NC vNegHL ; BD69 PUSH HL ; BD6C LD HL,(L6108) ; BD6D LD BC,(L610C) ; BD70 LD A,B ; BD74 OR A ; BD75 CALL NZ L670C ; BD76 RR C ; BD79 CALL NC vNegHL ; BD7B POP DE ; BD7E ADD HL,DE ; BD7F LD (L6106),HL ; BD80 XOR A ; BD83 SRA H ; BD84 ADC A,H ; BD86 CALL L679C ; BD87 EX DE,HL ; BD8A LD A,(L6105) ; BD8B SRA A ; BD8E ADC A,$00 ; BD90 CALL L679C ; BD92 ADD HL,DE ; BD95 LD DE,$0200 ; BD96 OR A ; BD99 SBC HL,DE ; BD9A JR NC LBDBD ; BD9C LD A,(L6107) ; BD9E SRA A ; BDA1 ADC A,$18 ; BDA3 LD D,A ; BDA5 LD A,(L6105) ; BDA6 SRA A ; BDA9 ADC A,$80 ; BDAB LD E,A ; BDAD CALL vPoint ; BDAE LD (IX+13),A ; BDB1 LBDB2 EQU *-2 ; LD (IX+14),L ; BDB4 LD (IX+15),H ; BDB7 XOR (HL) ; BDBA LD (HL),A ; BDBB LBDBC RET ; BDBC LBDBD LD (IX+15),$00 ; BDBD RET ; BDC1 InPl LD HL,PlShp ; BDC2 LD DE,PlPhi ; BDC5 LD BC,$000F ; BDC8 LD (HL),$00 ; BDCB LDIR ; BDCD LD IX,PlShp ; BDCF CALL L6790 ; BDD3 LD (IX),$17 ; BDD6 CALL L67A8 ; BDDA LD (IX+10),A ; BDDD LD (IX+11),$00 ; BDE0 LD (IX+12),$00 ; BDE4 RET ; BDE8 INTk LD HL,TkN ; BDE9 INC (HL) ; BDEC JP Z LBE73 ; BDED LD A,(HL) ; BDF0 CP $0B ; BDF1 JR NC LBE25 ; BDF3 CP $04 ; BDF5 JR C LBDFB ; BDF7 LD A,$04 ; BDF9 LBDFB DEC A ; BDFB ADD A,A ; BDFC LD E,A ; BDFD LD D,$00 ; BDFE LD HL,LBE75 ; BE00 ADD HL,DE ; BE03 LD E,(HL) ; BE04 INC HL ; BE05 LD D,(HL) ; BE06 EX DE,HL ; BE07 LD DE,L611C ; BE08 LD BC,$0008 ; BE0B LDIR ; BE0E LD HL,L6124 ; BE10 LD (HL),$2A ; BE13 CALL L6784 ; BE15 CALL L6790 ; BE18 LD (IX),$11 ; BE1B LD (IX+9),$05 ; BE1F JR LBE4E ; BE23 LBE25 CP $1A ; BE25 JR Z LBE49 ; BE27 CP $38 ; BE29 JR Z LBE49 ; BE2B CP $65 ; BE2D JR Z LBE49 ; BE2F CP $97 ; BE31 JR Z LBE49 ; BE33 CP $D3 ; BE35 JR Z LBE49 ; BE37 LBE39 CALL L6784 ; BE39 CALL L6790 ; BE3C LD (IX),$12 ; BE3F LD (IX+9),$04 ; BE43 JR LBE4E ; BE47 LBE49 CALL LBE39 ; BE49 JR LBE39 ; BE4C LBE4E CALL vRn ; BE4E LD (IX+1),A ; BE51 CALL L67A8 ; BE54 LD (IX+10),A ; BE57 LD (IX+8),$18 ; BE5A LD (IX+11),$00 ; BE5E LD (IX+12),$00 ; BE62 LD (IX+13),$00 ; BE66 CALL LBCFB ; BE6A LD HL,nObj ; BE6D INC (HL) ; BE70 OR A ; BE71 RET ; BE72 LBE73 SCF ; BE73 RET ; BE74 Scrn2 EQU #C000 ORG $CA00 ; 0000 MtnBuff DEFS $0200,$00 ; CA00 ORG $D800 ; 0000 STab equ * YTable DEFW $4000,$4100,$4200,$4300,$4400,$4500,$4600,$4700; D800 DEFW $4020,$4120,$4220,$4320,$4420,$4520,$4620,$4720; D810 DEFW $4040,$4140,$4240,$4340,$4440,$4540,$4640,$4740; D820 DEFW $4060,$4160,$4260,$4360,$4460,$4560,$4660,$4760; D830 DEFW $4080,$4180,$4280,$4380,$4480,$4580,$4680,$4780; D840 DEFW $40A0,$41A0,$42A0,$43A0,$44A0,$45A0,$46A0,$47A0; D850 DEFW $40C0,$41C0,$42C0,$43C0,$44C0,$45C0,$46C0,$47C0; D860 DEFW $40E0,$41E0,$42E0,$43E0,$44E0,$45E0,$46E0,$47E0; D870 DEFW $4800,$4900,$4A00,$4B00,$4C00,$4D00,$4E00,$4F00; D880 DEFW $4820,$4920,$4A20,$4B20,$4C20,$4D20,$4E20,$4F20; D890 LD8A0 DEFW $4840,$4940,$4A40,$4B40,$4C40,$4D40,$4E40,$4F40; D8A0 DEFW $4860,$4960,$4A60,$4B60,$4C60,$4D60,$4E60,$4F60; D8B0 DEFW $4880,$4980,$4A80,$4B80,$4C80,$4D80,$4E80,$4F80; D8C0 DEFW $48A0,$49A0,$4AA0,$4BA0,$4CA0,$4DA0,$4EA0,$4FA0; D8D0 DEFW $48C0,$49C0,$4AC0,$4BC0,$4CC0,$4DC0,$4EC0,$4FC0; D8E0 DEFW $48E0,$49E0,$4AE0,$4BE0,$4CE0,$4DE0,$4EE0,$4FE0; D8F0 DEFW $5000,$5100,$5200,$5300,$5400,$5500,$5600,$5700; D900 DEFW $5020,$5120,$5220,$5320,$5420,$5520,$5620,$5720; D910 DEFW $5040,$5140,$5240,$5340,$5440,$5540,$5640,$5740; D920 DEFW $5060,$5160,$5260,$5360,$5460,$5560,$5660,$5760; D930 DEFW $5080,$5180,$5280,$5380,$5480,$5580,$5680,$5780; D940 DEFW $50A0,$51A0,$52A0,$53A0,$54A0,$55A0,$56A0,$57A0; D950 DEFW $50C0,$51C0,$52C0,$53C0,$54C0,$55C0,$56C0,$57C0; D960 DEFW $50E0,$51E0,$52E0,$53E0,$54E0,$55E0,$56E0,$57E0; D970 CTab DEFW $4000,$000F,$0200,$4011,$000F,$0E41,$0000,$1204; D980 DEFW $0E41,$4200,$000E,$0400,$4212,$000E,$0E43,$0000; D990 /* ScreenBase EQU $4000 ; ScreenBase1 EQU $4001 ; Attrs EQU $5800 ; Mtns EQU $9000 ; PlPhi EQU $7801 ; IntLinT EQU $6D20 ; Bits EQU $6B64 ; DPLT EQU $6E92 ; DPMCT EQU $6F80 ; DPMPT EQU $6F48 ; DPPT EQU $6EC4 ; DPMT EQU $6FA4 ; InCt EQU $FFFE ; ShpV EQU $6800 ; BumTabL EQU $6880 ; BumTabS EQU $68C0 ; BumTab EQU $6900 ; AtnT EQU $6C92 ; Map EQU $7000 ; PlShp EQU $7800 ; PlPx EQU $7802 ; PlPz EQU $7806 ; PlDis EQU $7808 ; PlMov EQU $7809 ; PlHFl EQU $780A ; PlWSp EQU $780B ; ObList EQU $7810 ; SL EQU $B800 ; INTk EQU $BDE9 ; InPl EQU $BDC2 ; DoBonks EQU $B96A ; KillFull EQU $B948 ; Grumble EQU $B913 ; GrumSet EQU $B8EB ; Full EQU $B8B6 ; Kemp EQU $B87E ; MvObj EQU $B972 ; RTk EQU $BCEF ; EOO EQU $AFAF ; Scrn2 EQU $C000 ; L7001 EQU $7001 ; L7A20 EQU $7A20 ; L7E00 EQU $7E00 ; L7FFF EQU $7FFF ; L8600 EQU $8600 ; L8609 EQU $8609 ; L860A EQU $860A ; L9B20 EQU $9B20 ; LA01C EQU $A01C ; LA0C4 EQU $A0C4 ; LA0D3 EQU $A0D3 ; LA0E1 EQU $A0E1 ; LA0EF EQU $A0EF ; LA0FD EQU $A0FD ; LB9B7 EQU $B9B7 ; LBDB2 EQU $BDB2 ; LBDBC EQU $BDBC ; LC001 EQU $C001 ; LC018 EQU $C018 ; LC610 EQU $C610 ; LC700 EQU $C700 ; LC70B EQU $C70B ; LC715 EQU $C715 ; LCC00 EQU $CC00 ; LCC01 EQU $CC01 ; LD000 EQU $D000 ; LD10B EQU $D10B ; LD110 EQU $D110 ; LD115 EQU $D115 ; LDE00 EQU $DE00 ; LE8FE EQU $E8FE ; LEFFE EQU $EFFE ; LF7FE EQU $F7FE ; LF8FE EQU $F8FE ; LFEFE EQU $FEFE ; LFF80 EQU $FF80 ; LFFE0 EQU $FFE0 ; LFFF0 EQU $FFF0 ; */