Routines |
Prev: $1D49 | Up: Map | Next: $1DB6 |
|
||||||||
$1D4A | STA $57 | Store the number of lines to add at $57. | ||||||
$1D4C | LDA $7F | Pick up the MSB of the lines total from $7F. | ||||||
$1D4E | CMP #$04 | Is it 4 or more? | ||||||
$1D50 | BCS $1DA2 | Branch if so (the lines total is at least 10240). | ||||||
$1D52 | CMP #$03 | Is the MSB of the lines total equal to 3? | ||||||
$1D54 | BNE $1D5C | Branch if not (the lines total is less than 7680). | ||||||
$1D56 | LDA $7E | Pick up the LSB of the lines total from $7E. | ||||||
$1D58 | CMP #$E8 | Is the lines total 10000 or more? | ||||||
$1D5A | BCS $1DA2 | Branch if so. | ||||||
$1D5C | LDA $7E | Increase the lines total at $7E by the value stored at $57. | ||||||
$1D5E | CLC | |||||||
$1D5F | ADC $57 | |||||||
$1D61 | BCC $1D65 | |||||||
$1D63 | INC $7F | |||||||
$1D65 | STA $7E | |||||||
$1D67 | LDA $7F | Pick up the MSB of the lines total from $7F. | ||||||
$1D69 | CMP #$03 | Compare the MSB of the lines total with 3. | ||||||
$1D6B | BCC $1DAD | Branch if it's less than 3 (the lines total is less than 7680). | ||||||
$1D6D | BNE $1D75 | Branch if it's 4 or more (the lines total is at least 10240). | ||||||
$1D6F | LDA $7E | Pick up the LSB of the lines total from $7E. | ||||||
$1D71 | CMP #$E8 | Is the lines total 10000 or more? | ||||||
$1D73 | BCC $1DAD | Branch if not. | ||||||
ERIC now has 10000 or more lines.
|
||||||||
$1D75 | LDA #$43 | Place the address of the command list at $43A2 into MR WACKER's character buffer. | ||||||
$1D77 | STA $8378 | |||||||
$1D7A | LDA #$A2 | |||||||
$1D7C | STA $8377 | |||||||
$1D7F | LDA $837A | Set bit 7 of byte $7A of MR WACKER's character buffer, triggering a command list restart at the next available opportunity. | ||||||
$1D82 | ORA #$80 | |||||||
$1D84 | STA $837A | |||||||
$1D87 | LDA $60 | Pick up the current character number from $60. | ||||||
$1D89 | CMP #$0B | Is it $0B (MR WACKER)? | ||||||
$1D8B | BNE $1D9B | Branch if not. | ||||||
$1D8D | LDA #$43 | Place the address of the command list at $43A2 into the copy of MR WACKER's character buffer in page 0. | ||||||
$1D8F | STA $3E | |||||||
$1D91 | LDA #$A2 | |||||||
$1D93 | STA $3D | |||||||
$1D95 | LDA $3F | Set bit 7 of the flags byte at $3F in the copy of MR WACKER's character buffer in page 0, triggering a command list restart at the next available opportunity. | ||||||
$1D97 | ORA #$80 | |||||||
$1D99 | STA $3F | |||||||
$1D9B | LDA #$FF | Set the MSB of the lesson clock at $40 to $FF, giving MR WACKER time to find ERIC before the bell rings. | ||||||
$1D9D | STA $40 | |||||||
$1D9F | JMP $1DAD | Jump forward. | ||||||
$1DA2 | LDA $7E | Increase the lines total at $7E by the value stored at $57. | ||||||
$1DA4 | CLC | |||||||
$1DA5 | ADC $57 | |||||||
$1DA7 | BCC $1DAB | |||||||
$1DA9 | INC $7F | |||||||
$1DAB | STA $7E | |||||||
$1DAD | LDA #$7E | Store the LSB of the address of the lines total at $4E. | ||||||
$1DAF | STA $4E | |||||||
$1DB1 | LDA #$01 | A=1, indicating the lines total. | ||||||
$1DB3 | JMP $2620 | Print the new lines total. |
Prev: $1D49 | Up: Map | Next: $1DB6 |