Prev: 46873 Up: Map Next: 47020
46902: Print text at location HL to screen
Input
HL Points to text data to print
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
This entry point is used by the routines at 47020, 47096 and 48389.
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