![]() |
Routines |
| Prev: $17E5 | Up: Map | Next: $189D |
| $184E | DEC $FE | Decrement ERIC's action timer at $FE (which is reset to $0A by the routine at $19A5 when ERIC starts writing on the blackboard and each time he writes a character on it) and pick up the new value. | ||
| $1850 | LDA $FE | |||
| $1852 | CMP #$04 | Is it 4 now? | ||
| $1854 | BNE $1859 | Branch if not. | ||
| $1856 | JMP $1928 | Lower ERIC's arm. | ||
| $1859 | CMP #$00 | Is ERIC's action timer zero now? | ||
| $185B | BEQ $1860 | Branch if so. | ||
| $185D | JMP $189C | Otherwise return. | ||
| $1860 | LDA #$01 | Reset ERIC's action timer at $FE to 1. | ||
| $1862 | STA $FE | |||
| $1864 | LDA $4C | Pick up the keyboard/joystick reading from $4C and copy it to $57. | ||
| $1866 | STA $57 | |||
| $1868 | LDA #$00 | Clear the keyboard/joystick reading at $4C. | ||
| $186A | STA $4C | |||
| $186C | LDA $57 | Pick up the keyboard/joystick reading from $57. | ||
| $186E | BEQ $189C | Return if no key was pressed. | ||
| $1870 | CMP #$0D | Was RETURN pressed? | ||
| $1872 | BNE $1877 | Branch if not. | ||
| $1874 | JMP $191F | Make ERIC stop writing on the blackboard. | ||
| $1877 | CMP #$20 | Is the character code of the keypress less than $20? | ||
| $1879 | BCC $189C | Return if so. | ||
| $187B | CMP #$80 | Is the character code of the keypress $80 or more? | ||
| $187D | BCS $189C | Return if so. | ||
| $187F | JSR $1468 | Get the identifier and coordinates of the blackboard closest to ERIC and copy its buffer into page 0. | ||
| $1882 | LDX #$03 | Prepare X to check the last byte of the blackboard's buffer. | ||
| $1884 | LDA $DF,X | Pick up one of the last four bytes of the blackboard's buffer from $DF-$E2. | ||
| $1886 | CMP #$80 | Is a character code stored here? | ||
| $1888 | BNE $1891 | Branch if so to check the previous byte. | ||
| $188A | LDA $57 | Otherwise store the character code of the last keypress at this location in the blackboard's buffer. | ||
| $188C | STA $DF,X | |||
| $188E | JMP $1894 | Jump forward. | ||
| $1891 | DEX | Move to the previous byte in the blackboard's buffer. | ||
| $1892 | BPL $1884 | Branch back to check the character code there. | ||
| $1894 | LDA $57 | Pick up the keyboard/joystick reading from $57. | ||
| $1896 | JSR $11CF | Write the corresponding character on the blackboard. | ||
| $1899 | JMP $19F5 | Raise ERIC's arm. | ||
| $189C | RTS | |||
| Prev: $17E5 | Up: Map | Next: $189D |