Prev: 46185 Up: Map Next: 46481
46264: Routine at B4B8
Used by the routines at 46102 and 46154.
46264 LD B,(IX+11) B=*IX+11.
46267 LD L,(IX+12) L=*IX+12.
46270 LD H,(IX+13) H=*IX+13.
46273 LD DE,32 DE=0032.
46276 PUSH HL Stash HL on the stack.
46277 LD C,(IX+10) C=*IX+10.
46280 DEC C Decrease C by one.
46281 LD A,(HL) A=*HL.
46282 AND %01111000 Keep only bits 3-6.
46284 OR (IX+18) Set the bits of A with *IX+18.
46287 LD (HL),A Write A to *DE.
46288 ADD HL,DE HL+=DE.
46289 DEC C Decrease C by one.
46290 JP M,46318 Jump to 46318 M.
46293 JR NZ,46281 Jump to 46281 if {} is not zero.
46295 LD A,(HL) A=*HL.
46296 CP 32 Compare A with 32.
46298 JR Z,46313 Jump to 46313 if {} is zero.
46300 AND %00111111 Keep only bits 0-5.
46302 CP 40 Compare A with 40.
46304 JR Z,46313 Jump to 46313 if {} is zero.
46306 AND A Set flags.
46307 RL (IX+23) Rotate *IX+23 left.
46311 JR 46281 Jump to 46281.
46313 SCF Set the carry flag.
46314 RL (IX+23) Rotate *IX+23 left.
46318 POP HL Restore HL from the stack.
46319 INC L Increment L by one.
46320 DJNZ 46276 Decrease counter by one and loop back to 46276 until counter is zero.
46322 LD B,(IX+11) B=*IX+11.
46325 RRC (IX+23) Rotate *IX+23 right (with carry).
46329 DJNZ 46325 Decrease counter by one and loop back to 46325 until counter is zero.
46331 RET Return.
This entry point is used by the routine at 46884.
46332 LD A,3 A=3.
46334 CP (IX+7) Return if A is higher than *IX+7.
46337 RET NC
46338 LD DE,65512 DE=65512.
46341 CALL 46668 Call 46668.
46344 LD A,(49782) A=*49782.
46347 SUB 12 A-=12.
46349 LD (49782),A A=49782.
46352 LD L,(IX+16) L=*IX+16.
46355 LD H,(IX+17) H=*IX+17.
46358 LD DE,65152 DE=65152.
46361 ADD HL,DE HL+=DE.
46362 LD (IX+16),L Write L to *IX+16.
46365 LD (IX+17),H Write H to *IX+17.
46368 LD (IX+19),B Write B to *IX+19.
46371 POP HL Restore HL from the stack.
46372 CALL 47270 Call 47270.
46375 LD IX,49902 IX=49902.
46379 LD B,8 B=8.
46381 LD DE,13 DE=0013.
46384 LD A,(IX+0) A=*IX+0.
46387 ADD A,12 A+=12.
46389 LD (IX+0),A Write A to *IX+0.
46392 ADD IX,DE IX+=DE.
46394 DJNZ 46384 Decrease counter by one and loop back to 46384 until counter is zero.
46396 LD IX,49811 IX=49811.
46400 LD B,4 B=4.
46402 LD HL,50060 HL=50060.
46405 LD DE,13 DE=0013.
46408 LD A,(IX+0) A=*IX+0.
46411 ADD A,12 A+=12.
46413 CP (HL) Jump to 46423 if A is higher than *HL.
46414 JR NC,46423
46416 CP 32 Jump to 46423 if A is lower than 32.
46418 JR C,46423
46420 ADD A,(HL) A+=*HL.
46421 SUB 32 A-=32.
46423 LD (IX+0),A Write A to IX+0.
46426 ADD IX,DE IX+=DE.
46428 DJNZ 46408 Decrease counter by one and loop back to 46408 until counter is zero.
46430 LD B,3 B=3.
46432 LD A,(IX+0) A=*IX+0.
46435 ADD A,12 A+=12.
46437 LD (IX+0),A Write A to *IX+0.
46440 ADD IX,DE IX+=DE.
46442 DJNZ 46432 Decrease counter by one and loop back to 46432 until counter is zero.
46444 JP 46595 Jump to 46595.
This entry point is used by the routine at 46481.
46447 LD IX,50061 IX=50061.
46451 LD DE,12 DE=0012.
46454 LD A,(49786) A=*49786.
46457 LD B,A B=A.
46458 BIT 7,(IX+33) Jump to 46475 if bit 7 of *IX+33 is not set.
46462 JR Z,46475
46464 ADD IX,DE IX+=DE.
46466 DJNZ 46458 Decrease counter by one and loop back to 46458 until counter is zero.
46468 POP HL Restore HL from the stack.
46469 LD HL,45064 HL=45064.
46472 SET 1,(HL) Set bit 1 of *HL.
46474 RET Return.
46475 LD HL,49659 HL=Messaging_NotAllTheBins.
46478 JP Print_BonusMessaging Jump to Print_BonusMessaging.
Prev: 46185 Up: Map Next: 46481