SET_VARS OFF LABEL 0001 BIOS_BOOTVECT LABEL 0003 CONSTAT LABEL 0005 BDOS_VECTOR LABEL 0100 START COMMENT 0103 Auto-select H19 terminal emulation COMMENT 0105 (via special Z80MU interface) LABEL 010A MAIN_LOOP LABEL 0113 KEYPRESS COMMENT 0113 \n\nGet the next keypress, and handle\n{PgUp}, {PgDn}, and {End}\n LABEL 0116 KEYPRESS_AGAIN COMMENT 0116 Try to read a key COMMENT 0119 No keypress - wait on it COMMENT 011C Is this an Escape character? COMMENT 011E No - not a function key! COMMENT 0121 Yes - get 2nd half of sequence COMMENT 0124 None? Not a function key! COMMENT 0127 {End} key pressed? COMMENT 0129 Yes, exit to CP/M COMMENT 012C {PgUp} key pressed? COMMENT 012E Yes, handle it COMMENT 0131 {PgDn} pressed? COMMENT 0133 Yes, handle it COMMENT 0136 No - get next keypress LABEL 0139 KEYPRESS_PGUP COMMENT 0139 Get current page COMMENT 013C On page zero? COMMENT 013E Yes - can't back up! COMMENT 0141 Back up to prior page number LABEL 0148 KEYPRESS_PGDN COMMENT 0148 Get current page COMMENT 014B On last page? COMMENT 014D Yes - can't advance! COMMENT 0150 Bump page number LABEL 0157 KEYPRESS_ERROR COMMENT 0157 \n\nSome error occurred. Beep the speaker...\n LABEL 0161 KEYPRESS_EXIT LABEL 0165 READ_KEYBOARD COMMENT 0165 \n\nRead key to A-reg\n\nOn exit: CARRY = no key present right now\n COMMENT 0167 Get BIOS "Warm Boot" address COMMENT 016A Add offset to Console Status COMMENT 016E Patch ourselves with it COMMENT 0171 Add offset to Read Console COMMENT 0172 Patch us again LABEL 0175 PATCHED_STATUS COMMENT 0175 Key present to be read? COMMENT 017B No, exit CARRY SET LABEL 017E PATCHED_READ COMMENT 017E Read keypress COMMENT 0181 Clear CARRY flag LABEL 0183 READ_KEYPOARD_EXIT LABEL 0186 DISPLAY_FULL_PAGE COMMENT 0186 \n\nDisplay currently-selected page of text\n COMMENT 0189 Clear the screen COMMENT 018F Get current page # COMMENT 0192 (into DE) COMMENT 0195 Add offset into table COMMENT 0198 (twice for 2-byte entries) COMMENT 019A Get address of page data COMMENT 019D (Into HL) LABEL 019E DISPLAY_FULL_PAGE_LOOP COMMENT 019E Is this the end of page's data? COMMENT 01A1 Yes, we're done COMMENT 01A4 No - display this line COMMENT 01A7 Go do next line LABEL 01AA DISPLAY_FULL_PAGE_EXIT COMMENT 01AA Display our prompt COMMENT 01B0 Restore regs and exit LABEL 01B4 DISPLAY_STRING COMMENT 01B4 \n\nDisplay line at [HL], advancing HL to terminating NUL\n COMMENT 01B5 Bump HL past this character COMMENT 01B6 Was this terminating NUL? COMMENT 01B8 Yes, we're done COMMENT 01B9 Save [HL] value COMMENT 01BA Display char via BDOS COMMENT 01C0 restore [HL] value COMMENT 01C1 Keep going till done FORMAT 01C4 ASCII LABEL 01C4 PROMPT_STRING COMMENT 01C4 \n\nThis is our bottom-of-screen prompt\n FORMAT 01F3 ASCII LABEL 01F3 CLEAR_SCREEN_CODE COMMENT 01F3 \n\nThis sequence clears the screen\n FORMAT 01F6 Table LABEL 01F6 PAGE_POINTERS COMMENT 01F6 \n\nTable pointing to the start of each page's data\n LABEL 0200 PAGE_NUMBER COMMENT 0200 \n\nNumber of page that we're displaying\n FORMAT 0201 ASCII LABEL 0201 PAGE_0_DATA COMMENT 0201 \n\nPage 0's data\n FORMAT 0225 ASCII FORMAT 0228 ASCII FORMAT 022B ASCII FORMAT 0278 ASCII FORMAT 027B ASCII FORMAT 02CB ASCII FORMAT 02CE ASCII FORMAT 031B ASCII FORMAT 031E ASCII FORMAT 036B ASCII FORMAT 036E ASCII FORMAT 0384 ASCII FORMAT 0387 ASCII FORMAT 038A ASCII FORMAT 03E0 ASCII FORMAT 03E3 ASCII FORMAT 042C ASCII FORMAT 042F ASCII FORMAT 0452 ASCII FORMAT 0455 ASCII FORMAT 0458 ASCII FORMAT 04AD ASCII FORMAT 04B0 ASCII FORMAT 04FD ASCII FORMAT 0500 ASCII FORMAT 0525 ASCII FORMAT 0528 ASCII FORMAT 052B ASCII FORMAT 057C ASCII FORMAT 057F ASCII FORMAT 05B0 ASCII LABEL 05B4 PAGE_1_DATA COMMENT 05B4 \n\nPage 1's data\n FORMAT 05D7 ASCII FORMAT 05DA ASCII FORMAT 05DD ASCII FORMAT 0629 ASCII FORMAT 062C ASCII FORMAT 0678 ASCII FORMAT 067B ASCII FORMAT 068F ASCII FORMAT 0692 ASCII FORMAT 0695 ASCII FORMAT 06E2 ASCII FORMAT 06E5 ASCII FORMAT 070A ASCII FORMAT 070D ASCII FORMAT 0710 ASCII FORMAT 0755 ASCII FORMAT 0758 ASCII FORMAT 0763 ASCII FORMAT 0766 ASCII FORMAT 0769 ASCII FORMAT 07B6 ASCII FORMAT 07B9 ASCII FORMAT 0800 ASCII FORMAT 0803 ASCII FORMAT 0806 ASCII FORMAT 0811 ASCII FORMAT 0814 ASCII FORMAT 081D ASCII FORMAT 0820 ASCII FORMAT 0832 ASCII FORMAT 0835 ASCII FORMAT 084B ASCII FORMAT 084E ASCII FORMAT 085D ASCII LABEL 0861 PAGE_2_DATA COMMENT 0861 \n\nPage 2's data\n FORMAT 0895 ASCII FORMAT 0898 ASCII FORMAT 089B ASCII FORMAT 08E3 ASCII FORMAT 08E6 ASCII FORMAT 0930 ASCII FORMAT 0933 ASCII FORMAT 097B ASCII FORMAT 097E ASCII FORMAT 0981 ASCII FORMAT 09CE ASCII FORMAT 09D1 ASCII FORMAT 0A16 ASCII FORMAT 0A19 ASCII FORMAT 0A1C ASCII FORMAT 0A65 ASCII FORMAT 0A68 ASCII FORMAT 0AB0 ASCII FORMAT 0AB3 ASCII FORMAT 0B02 ASCII FORMAT 0B05 ASCII FORMAT 0B51 ASCII FORMAT 0B54 ASCII FORMAT 0BA8 ASCII FORMAT 0BAB ASCII FORMAT 0BE0 ASCII FORMAT 0BE3 ASCII FORMAT 0BE6 ASCII FORMAT 0C2E ASCII FORMAT 0C31 ASCII FORMAT 0C68 ASCII LABEL 0C6C PAGE_3_DATA COMMENT 0C6C \n\nPage 3's data\n FORMAT 0C90 ASCII FORMAT 0C93 ASCII FORMAT 0C96 ASCII FORMAT 0CDB ASCII FORMAT 0CDE ASCII FORMAT 0D12 ASCII FORMAT 0D15 ASCII FORMAT 0D5B ASCII FORMAT 0D5E ASCII FORMAT 0D7E ASCII FORMAT 0D81 ASCII FORMAT 0DA5 ASCII FORMAT 0DA8 ASCII FORMAT 0DC7 ASCII FORMAT 0DCA ASCII FORMAT 0DF5 ASCII FORMAT 0DF8 ASCII FORMAT 0DFB ASCII FORMAT 0E18 ASCII FORMAT 0E1B ASCII FORMAT 0E1E ASCII FORMAT 0E50 ASCII FORMAT 0E53 ASCII FORMAT 0E93 ASCII FORMAT 0E96 ASCII FORMAT 0E99 ASCII FORMAT 0ED6 ASCII FORMAT 0ED9 ASCII FORMAT 0F03 ASCII FORMAT 0F06 ASCII FORMAT 0F22 ASCII FORMAT 0F25 ASCII FORMAT 0F65 ASCII FORMAT 0F68 ASCII FORMAT 0F9B ASCII FORMAT 0F9E ASCII FORMAT 0FDD ASCII LABEL 0FE1 PAGE_4_DATA COMMENT 0FE1 \n\nPage 4 data\n FORMAT 1003 ASCII FORMAT 1006 ASCII FORMAT 1009 ASCII FORMAT 1054 ASCII FORMAT 1057 ASCII FORMAT 10A1 ASCII FORMAT 10A4 ASCII FORMAT 10F4 ASCII FORMAT 10F7 ASCII FORMAT 110E ASCII FORMAT 1111 ASCII FORMAT 1114 ASCII FORMAT 1168 ASCII FORMAT 116B ASCII FORMAT 1179 ASCII FORMAT 117C ASCII FORMAT 11A5 ASCII FORMAT 11A8 ASCII FORMAT 11D1 ASCII FORMAT 11D4 ASCII FORMAT 1200 ASCII FORMAT 1203 ASCII FORMAT 1206 ASCII FORMAT 1207 Storage FORMAT 1307 Words LABEL 1307 TOP_OF_STACK FORMAT 1309 Storage FORMAT FFC0 Code LABEL FFC0 SPECIAL_HOOK FORMAT FFC2 Storage