Prev: 1038 Up: Map Next: 10EB
109C: enter_page: Get valid page number and display digits in row 0.
Used by the routine at enter_page_and_clear.
enter_page 109C CALL clear_page_number Clear page number display.
109F LD A,$01 Set ignore_packets_flag.
10A1 LD (ignore_packets_flag),A
10A4 LD HL,(page_display_buffer_pointer) Load address of page display buffer into HL.
10A7 LD (HL),$50 Write 'P' character to first byte of page display buffer.
10A9 CALL display_header_row Decode and display header row data.
enter_page_0 10AC CALL get_dec_digit Call get_dec_digit to get a keypress in the range 0-9.
10AF AND $0F Convert to integer.
10B1 JR Z,enter_page_0 If number is 0 or greater than 8 loop back and get another keypress.
10B3 CP $09
10B5 JR NC,enter_page_0 If number is 8 change it to 0.
10B7 CP $08
10B9 JR NZ,enter_page_1
10BB XOR A
enter_page_1 10BC LD (magazine_number),A Store number in magazine_number.
10BF OR $30 Convert integer back to a character.
10C1 CP $30 If character is '0' change it to '8'.
10C3 JR NZ,enter_page_2
10C5 LD A,$38
enter_page_2 10C7 INC HL Write character to next byte in page display buffer.
10C8 LD (HL),A
10C9 CALL display_header_row Call display_header_row.
10CC CALL get_hex Call get_hex to get a keypress in the range 0-9 or A-F, write it to page display buffer, and adjust the code to get $0 to $F in the low nibble.
10CF NOP
10D0 NOP
10D1 AND $0F Write low nibble to page_tens.
10D3 LD (page_tens),A
10D6 CALL display_header_row Decode and display header row data.
10D9 CALL get_hex Call get_hex to get a keypress in the range 0-9 or A-F, write it to page display buffer, and adjust the code to get $0 to $F in the low nibble.
10DC NOP
10DD NOP
10DE AND $0F Write low nibble to page_units.
10E0 LD (page_units),A
10E3 CALL display_header_row Decode and display header row data.
10E6 XOR A Clear subpage_search_flag and return.
10E7 LD (subpage_search_flag),A
10EA RET
Prev: 1038 Up: Map Next: 10EB