![]() |
Routines |
| Prev: 46873 | Up: Map | Next: 47020 |
|
||||||||
| 46902 | LD IX,25060 | Point IX at start of temporary text buffer | ||||||
| 46906 | LD A,255 | Prepare recursion depth counter for loop... | ||||||
| 46908 | LD (23398),A | ... | ||||||
|
This entry point is used by the routine at 47049.
|
||||||||
| 46911 | LD A,(23398) | Increase recursion depth counter... | ||||||
| 46914 | INC A | ... | ||||||
| 46915 | LD (23398),A | ... | ||||||
| 46918 | PUSH HL | Store HL | ||||||
| 46919 | CALL 63286 | Update attribute virtual text cursor based upon current bitmap virtual text cursor | ||||||
| 46922 | POP HL | Restore HL | ||||||
| 46923 | DEC HL | Prepare pointer to text to print for loop | ||||||
| 46924 | LD A,(23398) | Load A with value in recursion depth counter... | ||||||
| 46927 | CP 255 | ...and if this is 255 (i.e. no more text to print)... | ||||||
| 46929 | JP Z,47178 | ...then return (see trivia) | ||||||
| 46932 | INC HL | Advance to next character code to be printed... | ||||||
| 46933 | LD A,(HL) | ...and load into A | ||||||
| 46934 | OR A | If character code is zero (i.e. end marker)... | ||||||
| 46935 | JP Z,47023 | ...then return from current level of text printing | ||||||
| 46938 | CP 32 | If character code is 32 (SPACE)... | ||||||
| 46940 | JP Z,48389 | ...then print word in temporary text buffer to screen, wrapping text if necessary, then jump to 46924 to load next word | ||||||
| 46943 | CP 31 | If character code is 31... | ||||||
| 46945 | JP Z,47170 | ...then print the Current Character's short name | ||||||
| 46948 | CP 30 | If character code is 30... | ||||||
| 46950 | JP Z,47162 | ...then print the Current Character's full name | ||||||
| 46953 | CP 29 | If character code is 29... | ||||||
| 46955 | JP Z,47110 | ...then print the Current Object's name | ||||||
| 46958 | CP 28 | If character code is 28... | ||||||
| 46960 | JP Z,47121 | ...then print appropriate Newspaper substring for current required disquise | ||||||
| 46963 | CP 27 | If character code is 27... | ||||||
| 46965 | JP Z,47132 | ...then print current Crystal Ball substring | ||||||
| 46968 | CP 26 | If character code is 26... | ||||||
| 46970 | JP Z,47143 | ...then print current Scroll substring | ||||||
| 46973 | CP 25 | If character code is 25... | ||||||
| 46975 | JP Z,47154 | ...then print the name of the Current Command | ||||||
| 46978 | CP 19 | If character code is 19... | ||||||
| 46980 | JP Z,47080 | ...then toggle BRIGHT flag then loop back to 46924 for next data | ||||||
| 46983 | CP 18 | If character code is 18... | ||||||
| 46985 | JP Z,47084 | ...then toggle FLASH flag then loop back to 46924 for next data | ||||||
| 46988 | CP 17 | If character code is 17... | ||||||
| 46990 | JP Z,47092 | ...then change PAPER colour based upon following data byte then loop back to 46924 for next data | ||||||
| 46993 | CP 16 | If character code is 16... | ||||||
| 46995 | JP Z,47096 | ...then change INK colour based upon following data byte then loop back to 46924 for next data | ||||||
| 46998 | CP 14 | If character code is 14 (carriage return / line feed to start of next character row down within window)... | ||||||
| 47000 | JP Z,48389 | ...then print word in temporary text buffer to screen, wrapping text if necessary, then jump to 46924 to load next word | ||||||
| 47003 | CP 13 | If character code is 13 (carriage return / line feed to start of next character row down)... | ||||||
| 47005 | JP Z,48389 | ...then print word in temporary text buffer to screen, wrapping text if necessary, then jump to 46924 to load next word | ||||||
| 47008 | CP 91 | If character code is 91 or greater (i.e. special character)... | ||||||
| 47010 | JP NC,47049 | ...then print an entry from the common words table | ||||||
| 47013 | LD (IX+0),A | Load character into temporary text buffer | ||||||
| 47016 | INC IX | Advance to next position in temporary text buffer | ||||||
| 47018 | JR 46924 | Loop back to 46924 | ||||||
| Prev: 46873 | Up: Map | Next: 47020 |