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 |