Prev: EF92 Up: Map Next: EFFB
EFA4: Sub-Message Select
Used by the routine at CallSubMessage.
Picks one of the small graphic scripts at LocationGraphicScripts and jumps into PrintMessage. Ids 00-05 cover the fragments used while drawing location art.
SubMessageSelect EFA4 CP $01 Jump to SubMessageSelect_DigitPunctuation if the id is 00.
EFA6 JR C,SubMessageSelect_DigitPunctuation
EFA8 JR Z,SubMessageSelect_Punctuation Jump to SubMessageSelect_Punctuation if the id is 01.
EFAA CP $02 Jump to SubMessageSelect_AlternateCharset if the id is 02.
EFAC JR Z,SubMessageSelect_AlternateCharset
EFAE CP $04 Jump to SubMessageSelect_DualGlyph if the id is 03.
EFB0 JR C,SubMessageSelect_DualGlyph
EFB2 JR Z,SubMessageSelect_TripleGlyph Jump to SubMessageSelect_TripleGlyph if the id is 04.
EFB4 CP $06 Jump to SubMessageSelect_GlyphStrip if the id is 05.
EFB6 JR C,SubMessageSelect_GlyphStrip
EFB8 RET Return.
Select sub-script LocationGraphicScripts (digit/punct rows at attr 0C).
SubMessageSelect_DigitPunctuation EFB9 LD A,$01 Set row 01 and point at sub-script LocationGraphicScripts.
EFBB LD ($5BF8),A
EFBE LD HL,$FDE8
EFC1 JP PrintMessage Jump to PrintMessage.
Select sub-script LocationGraphicScript_Punctuation (punct/symbol rows at attr 0C).
SubMessageSelect_Punctuation EFC4 LD A,$02 Set row 02 and point at sub-script LocationGraphicScript_Punctuation.
EFC6 LD ($5BF8),A
EFC9 LD HL,$FE12
EFCC JP PrintMessage Jump to PrintMessage.
Select the alternate font at AlternateLocationFont and sub-script 01.
SubMessageSelect_AlternateCharset EFCF LD HL,$F178 Write F178 to *CHARS and run sub-script 01.
EFD2 LD ($5C36),HL
EFD5 CALL SubMessageSelect_Punctuation
EFD8 LD HL,$F128 Write F128 to *CHARS.
EFDB LD ($5C36),HL
EFDE RET Return.
Select sub-script LocationGraphicScript_DualGlyph (two glyphs at attr 27).
SubMessageSelect_DualGlyph EFDF LD A,$06 Set row 06 and point at sub-script LocationGraphicScript_DualGlyph.
EFE1 LD ($5BF8),A
EFE4 LD HL,$FE2D
EFE7 JP PrintMessage Jump to PrintMessage.
Select sub-script LocationGraphicScript_TripleGlyph (three glyphs at attr 27).
SubMessageSelect_TripleGlyph EFEA LD A,$05 Set row 05 and point at sub-script LocationGraphicScript_TripleGlyph.
EFEC LD ($5BF8),A
EFEF LD HL,$FE37
EFF2 JP PrintMessage Jump to PrintMessage.
Select sub-script LocationGraphicScript_GlyphStrip (glyph band at attr 28/38).
SubMessageSelect_GlyphStrip EFF5 LD HL,$FE41 HL=LocationGraphicScript_GlyphStrip.
EFF8 JP PrintMessage Jump to PrintMessage.
Prev: EF92 Up: Map Next: EFFB