C64 ROM | Routines |
Prev: E3BA | Up: Map | Next: E422 |
Used by the routine at E394.
|
||||
E3BF | A9 4C | LDA #$4C | opcode for JMP | |
E3C1 | 85 54 | STA $54 | save for functions vector jump | |
E3C3 | 8D 10 03 | STA $0310 | save for USR() vector jump | |
set USR() vector to illegal quantity error
|
||||
E3C6 | A9 48 | LDA #$48 | set USR() vector low byte | |
E3C8 | A0 B2 | LDY #$B2 | set USR() vector high byte | |
E3CA | 8D 11 03 | STA $0311 | save USR() vector low byte | |
E3CD | 8C 12 03 | STY $0312 | save USR() vector high byte | |
E3D0 | A9 91 | LDA #$91 | set fixed to float vector low byte | |
E3D2 | A0 B3 | LDY #$B3 | set fixed to float vector high byte | |
E3D4 | 85 05 | STA $05 | save fixed to float vector low byte | |
E3D6 | 84 06 | STY $06 | save fixed to float vector high byte | |
E3D8 | A9 AA | LDA #$AA | set float to fixed vector low byte | |
E3DA | A0 B1 | LDY #$B1 | set float to fixed vector high byte | |
E3DC | 85 03 | STA $03 | save float to fixed vector low byte | |
E3DE | 84 04 | STY $04 | save float to fixed vector high byte | |
copy the character get subroutine from E3A2 to $0074
|
||||
E3E0 | A2 1C | LDX #$1C | set the byte count | |
E3E2 | BD A2 E3 | LDA $E3A2,X | get a byte from the table | |
E3E5 | 95 73 | STA $73,X | save the byte in page zero | |
E3E7 | CA | DEX | decrement the count | |
E3E8 | 10 F8 | BPL $E3E2 | loop if not all done | |
clear descriptors, strings, program area and mamory pointers
|
||||
E3EA | A9 03 | LDA #$03 | set the step size, collecting descriptors | |
E3EC | 85 53 | STA $53 | save the garbage collection step size | |
E3EE | A9 00 | LDA #$00 | clear A | |
E3F0 | 85 68 | STA $68 | clear FAC1 overflow byte | |
E3F2 | 85 13 | STA $13 | clear the current I/O channel, flag default | |
E3F4 | 85 18 | STA $18 | clear the current descriptor stack item pointer high byte | |
E3F6 | A2 01 | LDX #$01 | set X | |
E3F8 | 8E FD 01 | STX $01FD | set the chain link pointer low byte | |
E3FB | 8E FC 01 | STX $01FC | set the chain link pointer high byte | |
E3FE | A2 19 | LDX #$19 | initial the value for descriptor stack | |
E400 | 86 16 | STX $16 | set descriptor stack pointer | |
E402 | 38 | SEC | set Cb = 1 to read the bottom of memory | |
E403 | 20 9C FF | JSR $FF9C | read/set the bottom of memory | |
E406 | 86 2B | STX $2B | save the start of memory low byte | |
E408 | 84 2C | STY $2C | save the start of memory high byte | |
E40A | 38 | SEC | set Cb = 1 to read the top of memory | |
E40B | 20 99 FF | JSR $FF99 | read/set the top of memory | |
E40E | 86 37 | STX $37 | save the end of memory low byte | |
E410 | 84 38 | STY $38 | save the end of memory high byte | |
E412 | 86 33 | STX $33 | set the bottom of string space low byte | |
E414 | 84 34 | STY $34 | set the bottom of string space high byte | |
E416 | A0 00 | LDY #$00 | clear the index | |
E418 | 98 | TYA | clear the A | |
E419 | 91 2B | STA ($2B),Y | clear the the first byte of memory | |
E41B | E6 2B | INC $2B | increment the start of memory low byte | |
E41D | D0 02 | BNE $E421 | if no rollover skip the high byte increment | |
E41F | E6 2C | INC $2C | increment start of memory high byte | |
E421 | 60 | RTS |
Prev: E3BA | Up: Map | Next: E422 |