Prev: E518 Up: Map Next: E566
E544: clear the screen
Used by the routine at E716.
E544 AD 88 02 LDA $0288 get the screen memory page
E547 09 80 ORA #$80 set the high bit, flag every line is a logical line start
E549 A8 TAY copy to Y
E54A A9 00 LDA #$00 clear the line start low byte
E54C AA TAX clear the index
E54D 94 D9 STY $D9,X save the start of line X pointer high byte
E54F 18 CLC clear carry for add
E550 69 28 ADC #$28 add the line length to the low byte
E552 90 01 BCC $E555 if no rollover skip the high byte increment
E554 C8 INY else increment the high byte
E555 E8 INX increment the line index
E556 E0 1A CPX #$1A compare it with the number of lines + 1
E558 D0 F3 BNE $E54D loop if not all done
E55A A9 FF LDA #$FF set the end of table marker
E55C 95 D9 STA $D9,X mark the end of the table
E55E A2 18 LDX #$18 set the line count, 25 lines to do, 0 to 24
E560 20 FF E9 JSR $E9FF clear screen line X
E563 CA DEX decrement the count
E564 10 FA BPL $E560 loop if more to do
Prev: E518 Up: Map Next: E566