Routines |
Prev: 57879 | Up: Map | Next: 58170 |
Used by the routines at PlayGame and Handler_Showdown.
|
||||||||
PrintHand | 58131 | PUSH IX | Stash IX on the stack. | |||||
58133 | PUSH IX | Copy the hand pointer to HL using the stack. | ||||||
58135 | POP HL | |||||||
Starting from the first card.
|
||||||||
58136 | LD A,1 | Write 1 to *CardPosition. | ||||||
58138 | LD (59423),A | |||||||
Loop round each card in turn and print it to the screen.
|
||||||||
PrintHand_Loop | 58141 | PUSH HL | Stash the hand pointer on the stack. | |||||
58142 | LD A,(HL) | Fetch the card "value" and store it in A. | ||||||
58143 | CALL CheckCardType | Call CheckCardType (which will print the card in position to the screen). | ||||||
58146 | POP HL | Restore the hand pointer from the stack. | ||||||
58147 | INC HL | Increment the hand pointer by one to point to the next card. | ||||||
Have all cards been printed yet? There are 5 in a hand.
|
||||||||
58148 | LD A,(59423) | Jump to PrintHand_Finish if *CardPosition is equal to 5. | ||||||
58151 | CP 5 | |||||||
58153 | JR Z,PrintHand_Finish | |||||||
58155 | INC A | Increment the card position and update *CardPosition count, as on the loop, we'll be looking at the next card. | ||||||
58156 | LD (59423),A | |||||||
58159 | JR PrintHand_Loop | Jump to PrintHand_Loop. | ||||||
Housekeeping; restore the CHARS value and the hand pointer to return.
|
||||||||
PrintHand_Finish | 58161 | LD HL,62409 | Write 62409 (CustomFont) to *CHARS. | |||||
58164 | LD (23606),HL | |||||||
58167 | POP IX | Restore the original value of IX from the stack. | ||||||
58169 | RET | Return. |
Prev: 57879 | Up: Map | Next: 58170 |