![]() |
Routines |
| Prev: $189D | Up: Map | Next: $1994 |
| $191B | DEC $FE | Decrement ERIC's action timer at $FE. | ||
| $191D | BNE $1935 | Branch unless it's zero now. | ||
|
This entry point is used by the routines at $17E5, $184E and $189D.
|
||||
| $191F | LDA #$00 | Clear ERIC's status flags at $2B. | ||
| $1921 | STA $2B | |||
| $1923 | LDA #$10 | Set voice #2 control register: voice off, release cycle; triangle waveform enabled. | ||
| $1925 | STA $D40B | |||
|
This entry point is used by the routine at $184E.
|
||||
| $1928 | JSR $322E | Update the SRB for the ERIC's current animatory state and location. | ||
| $192B | LDA $D2 | Restore ERIC's pre-action animatory state from $D2. | ||
| $192D | STA $26 | |||
| $192F | JSR $322E | Update the SRB for ERIC's new animatory state. | ||
| $1932 | JMP $1993 | Return. | ||
| $1935 | LDA $FE | Pick up ERIC's action timer from $FE. | ||
| $1937 | CMP #$12 | Is it time to raise the catapult to eye level? | ||
| $1939 | BNE $193E | Branch if not. | ||
| $193B | JMP $2B47 | Make ERIC raise the catapult to eye level. | ||
| $193E | CMP #$06 | Is it time to start lowering the catapult? | ||
| $1940 | BNE $1945 | Branch if not. | ||
| $1942 | JMP $2BA7 | Make ERIC lower the catapult. | ||
| $1945 | CMP #$0C | Is it time to launch the pellet? | ||
| $1947 | BEQ $194C | Branch if so. | ||
| $1949 | JMP $1993 | Otherwise return. | ||
| $194C | LDA $60 | Pick up the current character number from $60 and store a copy at $DB. | ||
| $194E | STA $DB | |||
| $1950 | LDA #$13 | Character number $13 is ERIC's pellet. | ||
| $1952 | STA $DC | Store this at $DC. | ||
| $1954 | JSR $2B62 | Set the pellet on its way from ERIC's catapult. | ||
| $1957 | LDA #$30 | Set voice #2 frequency to $3000. | ||
| $1959 | STA $D408 | |||
| $195C | LDA #$00 | |||
| $195E | STA $D407 | |||
| $1961 | LDA #$1B | Set voice #2 attack length to 8ms and decay length to 2.4s. | ||
| $1963 | STA $D40C | |||
| $1966 | LDA #$00 | Set voice #2 sustain volume to 0 and release length to 6ms. | ||
| $1968 | STA $D40D | |||
| $196B | LDA #$11 | Set voice #2 control register: voice on, attack-sustain-decay cycle; triangle waveform enabled. | ||
| $196D | STA $D40B | |||
| $1970 | LDA #$0D | Lines reprimand $0D: CATAPULTS ARE FORBIDDEN. | ||
| $1972 | STA $D8 | Store the lines reprimand identifier at $D8. | ||
| $1974 | JSR $0E59 | Was ERIC seen by a teacher? | ||
| $1977 | BCC $1993 | Return if not. | ||
| $1979 | STA $C0 | Copy the character number of the teacher who saw ERIC to $C0. (This might overwrite the character number already stored there by the routine at $0A58, which is a bug.) | ||
| $197B | LDA #$14 | Store ERIC's character number ($14) at $72. | ||
| $197D | STA $72 | |||
| $197F | JSR $33BF | Restore ERIC's character buffer from page 0. | ||
| $1982 | LDA $C0 | Pick up the character number of the teacher who saw ERIC from $C0. | ||
| $1984 | STA $60 | Update the current character number at $60. | ||
| $1986 | JSR $3279 | Copy the teacher's character buffer to page 0. | ||
| $1989 | JSR $1DB7 | Make the teacher give ERIC lines. | ||
| $198C | LDA #$14 | Set the current character number at $60 to $14 (ERIC). | ||
| $198E | STA $60 | |||
| $1990 | JSR $3279 | Copy ERIC's character buffer to page 0. | ||
| $1993 | RTS | |||
| Prev: $189D | Up: Map | Next: $1994 |