Prev: E3BA Up: Map Next: E422
E3BF: initialise BASIC RAM locations
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