Routines |
Prev: B715 | Up: Map | Next: B7BA |
Used by the routine at E41D.
|
||||||||||
Stash all the registers.
|
||||||||||
DrawCharacterItemGraphics | B77B | PUSH AF | Push AF, HL, BC and DE on the stack. | |||||||
B77C | PUSH HL | |||||||||
B77D | PUSH BC | |||||||||
B77E | PUSH DE | |||||||||
B77F | LD C,E | C=E. | ||||||||
B780 | LD L,D | L=D. | ||||||||
Set B, D and H to 00.
|
||||||||||
B781 | LD D,$00 | D=00. | ||||||||
B783 | LD H,D | H=D. | ||||||||
B784 | LD B,D | B=D. | ||||||||
B785 | ADD HL,HL | HL*=10. | ||||||||
B786 | ADD HL,HL | |||||||||
B787 | ADD HL,HL | |||||||||
B788 | ADD HL,HL | |||||||||
B789 | LD DE,$81F8 | HL+=ScreenBuffer_Locations. | ||||||||
B78C | ADD HL,DE | |||||||||
B78D | PUSH HL | IX=HL. | ||||||||
B78E | POP IX | |||||||||
Look up the item graphics data.
|
||||||||||
B790 | LD L,A | Create an offset for the item graphics data in HL. | ||||||||
B791 | LD H,$00 | |||||||||
All items are 2x2 (so 02 bytes width * 10 bytes high).
|
||||||||||
B793 | ADD HL,HL | HL*=20. | ||||||||
B794 | ADD HL,HL | |||||||||
B795 | ADD HL,HL | |||||||||
B796 | ADD HL,HL | |||||||||
B797 | ADD HL,HL | |||||||||
B798 | LD DE,$8378 | HL+=Graphics_Items. | ||||||||
B79B | ADD HL,DE | |||||||||
B79C | EX DE,HL | Switch the DE and HL registers. | ||||||||
Draw the item graphic to the screen.
|
||||||||||
B79D | LD A,$10 | A=10 (height of items). | ||||||||
DrawPossesions_Loop | B79F | LD L,(IX+$00) | HL=the screen address from IX. | |||||||
B7A2 | LD H,(IX+$01) | |||||||||
B7A5 | ADD HL,BC | HL+=BC. | ||||||||
Move onto the next line down.
|
||||||||||
B7A6 | INC IX | Increment IX by two. | ||||||||
B7A8 | INC IX | |||||||||
B7AA | EX DE,HL | Switch the DE and HL registers. | ||||||||
B7AB | LDI | Blit two bytes of item graphics to the screen buffer. | ||||||||
B7AD | LDI | |||||||||
B7AF | EX DE,HL | Switch the DE and HL registers. | ||||||||
B7B0 | INC BC | Increment BC by two. | ||||||||
B7B1 | INC BC | |||||||||
B7B2 | DEC A | Decrease A by one. | ||||||||
B7B3 | JR NZ,DrawPossesions_Loop | Jump to DrawPossesions_Loop until A is zero. | ||||||||
Restore all the registers and return.
|
||||||||||
B7B5 | POP DE | Restore DE, BC, HL and AF from the stack. | ||||||||
B7B6 | POP BC | |||||||||
B7B7 | POP HL | |||||||||
B7B8 | POP AF | |||||||||
B7B9 | RET | Return. |
Prev: B715 | Up: Map | Next: B7BA |