Prev: A86E Up: Map Next: A8AF
A893: Populate Room Buffer
Used by the routines at A83F and DrawRoom.
Input
A The value to send to the room buffer.
PopulateRoomBuffer A893 PUSH AF Stash AF, DE and HL on the stack.
A894 PUSH DE
A895 PUSH HL
Update *BufferPointer by one.
A896 LD HL,($BAD5) HL=*BufferPointer.
A899 INC HL Increment HL by one.
A89A LD ($BAD5),HL Write HL to *BufferPointer.
...but using the initial value of *BufferPointer...
A89D DEC HL Decrease HL by one.
A89E LD DE,$A1C4 HL+=BufferRoom.
A8A1 ADD HL,DE
A8A2 LD (HL),A Write A to *HL.
Move to the room attribute buffer.
A8A3 LD DE,$0320 HL+=0320 (the length of the room buffer).
A8A6 ADD HL,DE
A8A7 LD A,($5C8F) Write *ATTR_T to *HL.
A8AA LD (HL),A
Housekeeping; restore all registers and return.
A8AB POP HL Restore HL, DE and AF from the stack.
A8AC POP DE
A8AD POP AF
A8AE RET Return.
Prev: A86E Up: Map Next: A8AF