![]() |
Routines |
Prev: 54806 | Up: Map | Next: 55153 |
Used by the routines at 54476 and Handler_SeaCreatures.
|
||||
54855 | LD DE,41196 | DE=41196. | ||
54858 | LD HL,41068 | HL=Graphics_MaskSprite. | ||
54861 | LD BC,128 | BC=0128. | ||
54864 | LDIR | Copy 0128 bytes of data from Graphics_MaskSprite to 41196. | ||
54866 | LD A,16 | Set INK: *IX+9. | ||
54868 | RST 16 | |||
54869 | LD A,(IX+9) | |||
54872 | RST 16 | |||
54873 | LD HL,(23606) | HL=*CHARS. | ||
54876 | PUSH HL | Stash HL, IY and IX on the stack. | ||
54877 | PUSH IY | |||
54879 | PUSH IX | |||
54881 | LD E,(IX+6) | DE=(*IX+6)*8. | ||
54884 | LD D,0 | |||
54886 | SLA E | |||
54888 | RL D | |||
54890 | SLA E | |||
54892 | RL D | |||
54894 | SLA E | |||
54896 | RL D | |||
54898 | ADD HL,DE | HL+=DE. | ||
54899 | LD B,(IX+2) | B=*IX+2. | ||
54902 | INC B | Increment B by one. | ||
54903 | LD C,0 | C=0. | ||
54905 | LD (56120),BC | Write BC to *56120. | ||
54909 | LD E,(IX+7) | E=*IX+7. | ||
54912 | LD D,(IX+8) | D=*IX+8. | ||
54915 | LD A,D | A=D. | ||
54916 | INC A | Increment A by one. | ||
54917 | SLA A | Shift A left three positions (with carry). | ||
54919 | SLA A | |||
54921 | SLA A | |||
54923 | LD C,A | C=A. | ||
54924 | LD B,0 | B=0. | ||
54926 | LD IY,41204 | IY=41204. | ||
54930 | ADD IY,BC | IY+=BC. | ||
54932 | LD C,E | C=E. | ||
54933 | SLA C | Shift C left three positions (with carry). | ||
54935 | SLA C | |||
54937 | SLA C | |||
54939 | LD B,0 | B=0. | ||
54941 | LD (56118),BC | Write BC to *56118. | ||
54945 | LD IX,41204 | IX=41204. | ||
54949 | PUSH HL | Stash HL, DE and HL on the stack. | ||
54950 | PUSH DE | |||
54951 | PUSH HL | |||
54952 | LD B,8 | B=8. | ||
54954 | PUSH BC | Stash BC on the stack. | ||
54955 | LD A,(HL) | A=*HL. | ||
54956 | LD BC,(56120) | BC=*56120. | ||
54960 | SLA A | Shift A left (with carry). | ||
54962 | RL C | Rotate C left. | ||
54964 | SLA A | Shift A left (with carry). | ||
54966 | RL C | Rotate C left. | ||
54968 | DJNZ 54960 | Decrease counter by one and loop back to 54960 until counter is zero. | ||
54970 | LD (IY+0),A | Write A to *IY+0. | ||
54973 | LD A,C | A=C. | ||
54974 | OR (IX+0) | Merge the bits from *IX+0. | ||
54977 | LD (IX+0),A | Write A to *IX+0. | ||
54980 | INC HL | Increment HL by one. | ||
54981 | INC IX | Increment IX by one. | ||
54983 | INC IY | Increment IY by one. | ||
54985 | POP BC | Restore BC from the stack. | ||
54986 | DJNZ 54954 | Decrease counter by one and loop back to 54954 until counter is zero. | ||
54988 | POP HL | Restore HL from the stack. | ||
54989 | LD BC,(56118) | BC=*56118. | ||
54993 | ADD HL,BC | HL+=BC. | ||
54994 | DEC D | Decrease D by one. | ||
54995 | JR NZ,54951 | Jump to 54951 until D is zero. | ||
54997 | POP DE | Restore DE from the stack. | ||
54998 | LD BC,8 | BC=0008. | ||
55001 | ADD IX,BC | IX+=BC. | ||
55003 | ADD IY,BC | IY+=BC. | ||
55005 | POP HL | Restore HL from the stack. | ||
55006 | ADD HL,BC | HL+=BC. | ||
55007 | DEC E | Decrease E by one. | ||
55008 | JR NZ,54949 | Jump to 54949 until E is zero. | ||
55010 | LD HL,40940 | HL=Graphics_GoldfishGamePlayer. | ||
55013 | POP IX | Restore IX from the stack. | ||
55015 | LD A,(IX+3) | A=*IX+3. | ||
55018 | INC A | Increment A by one. | ||
55019 | SLA A | Shift A left (with carry). | ||
55021 | LD E,A | E=A. | ||
55022 | LD D,0 | D=0. | ||
55024 | ADD HL,DE | HL+=DE. | ||
55025 | LD (23606),HL | Write HL to *CHARS. | ||
55028 | LD D,(IX+8) | D=*IX+8. | ||
55031 | LD E,(IX+7) | E=*IX+7. | ||
55034 | LD A,(IX+2) | Jump to 55042 if *IX+2 is equal to 3. | ||
55037 | CP 3 | |||
55039 | JR Z,55042 | |||
55041 | INC E | Increment E by one. | ||
55042 | INC D | Increment D by one. | ||
55043 | LD A,D | A=D. | ||
55044 | LD (56120),A | Write A to *56120. | ||
55047 | LD A,3 | Jump to 55055 if 3 is not equal to *IX+3. | ||
55049 | CP (IX+3) | |||
55052 | JR NZ,55055 | |||
55054 | DEC D | Decrease D by one. | ||
55055 | LD B,(IX+1) | B=*IX+1. | ||
55058 | LD C,(IX+0) | C=*IX+0. | ||
55061 | LD A,D | A=D. | ||
55062 | LD A,32 | A=32. | ||
55064 | POP IY | Restore IY from the stack. | ||
55066 | LD A,32 | A=32. | ||
55068 | PUSH AF | Stash AF, DE and BC on the stack. | ||
55069 | PUSH DE | |||
55070 | PUSH BC | |||
55071 | LD D,A | D=A. | ||
55072 | LD A,C | Jump to 55129 if C is higher than 34. | ||
55073 | CP 34 | |||
55075 | JR NC,55129 | |||
55077 | PUSH DE | Stash DE on the stack. | ||
55078 | CALL 3545 | Call CL_SET. | ||
55081 | POP DE | Restore DE and BC from the stack. | ||
55082 | POP BC | |||
55083 | PUSH BC | Stash BC on the stack. | ||
55084 | LD A,D | A=D. | ||
55085 | CALL GoldfishGame_PrintColourUDG | Call GoldfishGame_PrintColourUDG. | ||
55088 | LD A,C | A=C. | ||
55089 | CP 2 | Compare A with 2. | ||
55091 | CALL Z,55116 | Call 55116 zero. | ||
55094 | DEC C | Decrease C by one. | ||
55095 | LD A,(56120) | D+=*56120. | ||
55098 | ADD A,D | |||
55099 | LD D,A | |||
55100 | DEC E | Decrease E by one. | ||
55101 | JR NZ,55085 | Jump to 55085 until E is zero. | ||
55103 | POP BC | Restore BC, DE and AF from the stack. | ||
55104 | POP DE | |||
55105 | POP AF | |||
55106 | DEC B | Decrease B by one. | ||
55107 | INC A | Increment A by one. | ||
55108 | DEC D | Decrease D by one. | ||
55109 | JR NZ,55068 | Jump to 55068 until D is zero. | ||
55111 | POP HL | Restore HL from the stack. | ||
55112 | LD (23606),HL | Write HL to *CHARS. | ||
55115 | RET | Return. | ||
55116 | DEC E | Decrease E by one. | ||
55117 | PUSH AF | Stash AF on the stack. | ||
55118 | INC E | Increment E by one. | ||
55119 | POP AF | Restore AF from the stack. | ||
55120 | RET Z | Return if E is zero. | ||
55121 | DEC E | Decrease E by one. | ||
55122 | LD A,(56120) | D+=*56120. | ||
55125 | ADD A,D | |||
55126 | LD D,A | |||
55127 | JR 55116 | Jump to 55116. | ||
55129 | LD A,(56120) | D+=*56120. | ||
55132 | ADD A,D | |||
55133 | LD D,A | |||
55134 | DEC E | Decrease E by one. | ||
55135 | JP Z,55147 | Jump to 55147 if E is zero. | ||
55138 | DEC C | Decrease C by one. | ||
55139 | LD A,C | Jump to 55129 if C is higher than 34. | ||
55140 | CP 34 | |||
55142 | JR NC,55129 | |||
55144 | JP 55077 | Jump to 55077. | ||
55147 | POP BC | Restore BC, BC and BC from the stack. | ||
55148 | POP BC | |||
55149 | POP BC | |||
55150 | JP 55111 | Jump to 55111. |
Prev: 54806 | Up: Map | Next: 55153 |