Prev: 8A32 Up: Map Next: 8A88
8A3F: Action 01 : Picks up object in current room.
Input
Output
Action01_PickUp 8A3F LD A,$01 Stop continous swapping of objects
8A41 LD (ObjEventPause),A
8A44 LD A,(Pocket1) Store objects being carried ready for rotation with object in room.
8A47 LD B,A
8A48 LD A,(Pocket2)
8A4B LD C,A
8A4C LD A,(Wally_RoomNo) Workout address of object in current room.
8A4F LD E,A
8A50 ADD A,A
8A51 ADD A,E
8A52 LD E,A
8A53 PUSH HL
8A54 LD HL,Room_ObjSlots
8A57 LD D,$00
8A59 ADD HL,DE
8A5A EX DE,HL
8A5B LD A,(DE) Set up object draw routine.
8A5C LD (BitmapX),A
8A5F INC DE
8A60 LD A,(DE)
8A61 ADD A,$10
8A63 LD (BitmapY),A
8A66 INC DE
8A67 LD A,B Rotate the objects, P1 -> P2 -> Room -> P1
8A68 LD (Pocket2),A
8A6B LD A,(DE)
8A6C LD (Pocket1),A
8A6F LD A,C
8A70 LD (DE),A
8A71 ADD A,$50 Draw object so that it is XOR, in order to delete current bitmap.
8A73 CALL Bitmap16Draw
8A76 LD A,(Pocket1) Draw the object just dropped into room slot.
8A79 ADD A,$50
8A7B CALL Bitmap16Draw
8A7E CALL Inv_Redraw
8A81 CALL Beep_PickUp
8A84 POP HL
8A85 JP Room_TestEvents_0
Prev: 8A32 Up: Map Next: 8A88