![]() |
Routines |
| Prev: 37003 | Up: Map | Next: 37116 |
|
Used by the routine at Initialise_SubGame.
|
||||
| 37026 | LD IX,25152 | IX=25152. | ||
| 37030 | LD HL,(39364) | HL=*ActiveSubGameData. | ||
| 37033 | LD A,(HL) | A=*HL. | ||
| 37034 | CP 0 | Jump to 37066 if *A is equal to 0. | ||
| 37036 | JR Z,37066 | |||
| 37038 | LD B,A | Split *HL in half, the upper four bits into A and the lower four bits into B. | ||
| 37039 | SRL B | |||
| 37041 | SRL B | |||
| 37043 | SRL B | |||
| 37045 | SRL B | |||
| 37047 | AND %00001111 | |||
| 37049 | RLCA | |||
| 37050 | RLCA | |||
| 37051 | RLCA | |||
| 37052 | PUSH HL | Stash HL, BC and AF on the stack. | ||
| 37053 | PUSH BC | |||
| 37054 | PUSH AF | |||
| 37055 | CALL 37096 | Call 37096. | ||
| 37058 | POP AF | Restore AF and BC from the stack. | ||
| 37059 | POP BC | |||
| 37060 | DJNZ 37053 | Decrease counter by one and loop back to 37053 until counter is zero. | ||
| 37062 | POP HL | Restore HL from the stack. | ||
| 37063 | INC HL | Increment HL by one. | ||
| 37064 | JR 37033 | Jump to 37033. | ||
| 37066 | LD IX,30720 | IX=30720. | ||
| 37070 | LD HL,24576 | HL=ShadowBuffer. | ||
| 37073 | LD BC,768 | BC=0768. | ||
| 37076 | LD DE,6 | Set an increment count in DE for below. | ||
| 37079 | LD (IX+1),L | Write L to *IX+1. | ||
| 37082 | LD (IX+0),H | Write H to *IX+0. | ||
| 37085 | INC IX | Increment IX by two. | ||
| 37087 | INC IX | |||
| 37089 | ADD HL,DE | HL+=0006. | ||
| 37090 | DEC BC | Decrease BC by one. | ||
| 37091 | LD A,C | Jump back to 37079 until BC is zero. | ||
| 37092 | OR B | |||
| 37093 | JR NZ,37079 | |||
| 37095 | RET | Return. | ||
| 37096 | LD DE,(39366) | DE=*39366. | ||
| 37100 | ADD A,E | A+=E. | ||
| 37101 | JR NC,37104 | Jump to 37104 if BC is higher. | ||
| 37103 | INC D | Increment D by one. | ||
| 37104 | LD (IX+2),A | Write A to *IX+2. | ||
| 37107 | LD (IX+3),D | Write D to *IX+3. | ||
| 37110 | LD DE,6 | IX+=0006. | ||
| 37113 | ADD IX,DE | |||
| 37115 | RET | Return. | ||
| Prev: 37003 | Up: Map | Next: 37116 |