| Currah μSpeech | Routines |
| Prev: 00852 | Up: Map | Next: 00885 |
|
Used by the routines at ParseSpeechString and ParseAllophoneGroup.
Convert a character to the alphabet of CharacterKeys and SuffixKeys, and set workspace bit 6 for intonation (set for codes below "a").
|
||||||||||||
| NormaliseCharacter | 00862 | PUSH HL | Stash HL on the stack. | |||||||||
| 00863 | LD B,A | Keep the character in B. | ||||||||||
| 00864 | XOR A | Call ReadWorkspace for the flags byte. | ||||||||||
| 00865 | CALL ReadWorkspace | |||||||||||
| 00868 | LD A,B | Restore the character. | ||||||||||
|
Fold the letter into the CharacterKeys alphabet. "A" and "a" both become 33.
|
||||||||||||
| 00869 | CP 97 | Jump to NormaliseCharacter_BelowA if the character is below "a". | ||||||||||
| 00871 | JR C,NormaliseCharacter_BelowA | |||||||||||
| 00873 | SUB 64 | Subtract 64 from a character at or above "a". | ||||||||||
| 00875 | RES 6,(HL) | Use low intonation and jump to NormaliseCharacter_Done. | ||||||||||
| 00877 | JR NormaliseCharacter_Done | |||||||||||
| NormaliseCharacter_BelowA | 00879 | SUB 32 | Subtract 32 from a character below "a". | |||||||||
| 00881 | SET 6,(HL) | Use high intonation. | ||||||||||
| NormaliseCharacter_Done | 00883 | POP HL | Restore HL from the stack. | |||||||||
| 00884 | RET | Return. | ||||||||||
| Prev: 00852 | Up: Map | Next: 00885 |