Prev: BD31 Up: Map Next: BD98
BD59: Print Border
Used by the routines at DisplayMenu and ShowGameOverScreen.
Draws the frame around the title screen, and around the end screens, into the buffer, from the pieces whose data starts at MenuFramePieces. The four corners are drawn first, then the top and bottom edges, which are each made of 08 sprites that are 18 pixels apart, and the left and right edges, which are each made of 06 sprites that are 18 pixels apart.
Before After PrintBorder and UpdateScreen
print-border-before print-border-after
Corners, then the four edges.
PrintBorder BD59 LD IX,$BACA Use the temporary object, TemporaryObject.
BD5D LD HL,$BD98 Point HL at MenuFramePieces.
Draw the four corners.
BD60 CALL PrintTableSprite Call PrintTableSprite.
BD63 CALL PrintTableSprite Call PrintTableSprite.
BD66 CALL PrintTableSprite Call PrintTableSprite.
BD69 CALL PrintTableSprite Call PrintTableSprite.
Draw the top edge and the bottom edge, which run to the right.
BD6C CALL SetSpriteDetails Call SetSpriteDetails to set up the top edge.
BD6F LD DE,$0018 Set DE to 0018.
BD72 LD B,$08 Set B to 08.
BD74 CALL PrintSprites Call PrintSprites.
BD77 CALL SetSpriteDetails Call SetSpriteDetails to set up the bottom edge.
BD7A LD B,$08 Set B to 08.
BD7C CALL PrintSprites Call PrintSprites.
Draw the two pieces that finish the top and bottom edges.
BD7F CALL PrintTableSprite Call PrintTableSprite.
BD82 CALL PrintTableSprite Call PrintTableSprite.
Draw the left edge and the right edge, which run up.
BD85 CALL SetSpriteDetails Call SetSpriteDetails to set up the left edge.
BD88 LD DE,$1800 Set DE to 1800.
BD8B LD B,$06 Set B to 06.
BD8D CALL PrintSprites Call PrintSprites.
BD90 CALL SetSpriteDetails Call SetSpriteDetails to set up the right edge.
BD93 LD B,$06 Set B to 06.
BD95 JP PrintSprites Jump to PrintSprites.
View the equivalent code in;
Prev: BD31 Up: Map Next: BD98