lure.asm Sourcer v6.09 17-Nov- 5 5:53 pm Page 1 PAGE 59,132 ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ;ÛÛ ÛÛ ;ÛÛ LURE ÛÛ ;ÛÛ ÛÛ ;ÛÛ Created: 23-Jun-95 ÛÛ ;ÛÛ Passes: 9 Analysis Options on: QRSX ÛÛ ;ÛÛ Copyright Revolution Software 1990-1992 ÛÛ ;ÛÛ ÛÛ ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .err Target Assembler set to NONE, re-assembly not recommended VGA_SEGMENT equ 0a000h SCREEN_WIDTH equ 320 SCREEN_HEIGHT equ 200 RECT_SIZE equ 32 RECTANGLE_SIZE equ 32*32 NUM_HORIZ_RECTS equ 10 NUM_VERT_RECTS equ 6 FULL_HORIZ_RECTS equ 18 FULL_VERT_RECTS equ 14 ROOM_PATHS_WIDTH equ 40 ROOM_PATHS_HEIGHT equ 24 DECODED_PATHS_WIDTH equ 42 DECODED_PATHS_HEIGHT equ 26 WRITE_BUFFER_SIZE equ 0f010h FILE_BUFFER_SIZE equ 0600h ENTRY_READ_BUFFER equ 80h VIDEO_STYLE_VGA equ 1 VIDEO_STYLE_EGA equ 2 TIMER_TICKS_MAX equ 2EE0h MUSIC_NOTE equ 80h MUSIC_NOTE_OFF equ 7fh MUSIC_NOTE_VISIBLE equ 40h NOTE_DISPLAY_ADDR equ 185*SCREEN_WIDTH ; (A000:E740) line #186 on screen NOTE_IMAGE_WIDTH equ 14 NOTE_IMAGE_HEIGHT equ 14 MENUBAR_Y_SIZE equ 8 MENUBAR_BLOCK_SIZE equ MENUBAR_Y_SIZE*SCREEN_WIDTH MENUITEM_NUM_MENUS equ 4 STATUS_VIDEO_MODE_SET equ 1 STATUS_UNKNOWN equ 2 STATUS_TIMER_SET equ 4 STATUS_CTRL_BREAK_SET equ 8 STATUS_CRITICAL_SET equ 10h STATUS_UNKNOWN2 equ 20h STATUS_KEYBOARD_SET equ 40h STATUS_MOUSE_HANDLER_SET equ 80h SYS_HAS_FLOPPY_DRIVE equ 80h CURSOR_ARROW equ 0 CURSOR_DISK equ 1 CURSOR_TIME_UP equ 2 CURSOR_TIME_UP_RIGHT equ 3 CURSOR_TIME_RIGHT equ 4 CURSOR_TIME_DOWN_RIGHT equ 5 CURSOR_TIME_DOWN equ 6 CURSOR_TIME_DOWN_LEFT equ 7 CURSOR_TIME_LEFT equ 8 CURSOR_TIME_UP_LEFT equ 9 CURSOR_CROSS equ 10 CURSOR_ARROW_UP equ 11 CURSOR_ARROW_DOWN equ 12 CURSOR_ARROW_LEFT equ 13 CURSOR_ARROW_RIGHT equ 14 CURSOR_CAMERA equ 15 CURSOR_TALK equ 16 CURSOR_MENUBAR_AREA equ 17 CURSOR_ARROW_UP2 equ 18 CURSOR_ARROW_DOWN2 equ 19 CURSOR_ARROW_LEFT2 equ 20 CURSOR_ARROW_RIGHT2 equ 21 CURSOR_VOICE equ 22 CURSOR_AXE_1 equ 23 CURSOR_AXE_2 equ 24 CURSOR_AXE_3 equ 25 NUM_ACTIONS equ 25 NUM_ANIMATION_SLOTS equ 2dh ANIMATION_SLOT_SIZE equ 29h NUM_PAUSED_CHARS_SLOTS equ 14h PAUSED_CHAR_SLOT_SIZE equ 8 PC_SRC_CHAR_ID equ 0 PC_DEST_CHAR_ID equ 2 PC_COUNTER equ 4 PC_HOTSPOT_PTR equ 6 ACTION_GET equ 1 ACTION_PUSH equ 3 ACTION_PULL equ 4 ACTION_OPERATE equ 5 ACTION_OPEN equ 6 ACTION_CLOSE equ 7 ACTION_LOCK equ 8 ACTION_UNLOCK equ 9 ACTION_USE equ 10 ACTION_GIVE equ 11 ACTION_TALK_TO equ 12 ACTION_TELL equ 13 ACTION_BUY equ 14 ACTION_LOOK equ 15 ACTION_LOOK_AT equ 16 ACTION_LOOK_THROUGH equ 17 ACTION_ASK equ 18 ACTION_EAT equ 19 ACTION_DRINK equ 20 ACTION_STATUS equ 21 ACTION_GO_TO equ 22 ACTION_RETURN equ 23 ACTION_BRIBE equ 24 ACTION_EXAMINE equ 25 FLAG_RESTART equ 10h FLAG_CAUGHT equ 20h FLAG_RESTORERESTART equ 40h FLAG_HAS_FLOPPY_DRIVE equ 80h ; Animation slot record constants ANIM_X equ 0 ANIM_Y equ 2 ANIM_WIDTH equ 4 ANIM_HEIGHT equ 6 ANIM_FRAME_OFFSET equ 8 ANIM_SEGMENT equ 0Ah ANIM_LAYER equ 0Ch ANIM_FLAGS equ 0Dh ANIM_ROOM_NUM equ 0Eh ANIM_CAN_UNLOAD equ 10h ANIM_TICK_PROC equ 11h ANIM_WIDTH_COPY equ 13h ANIM_HEIGHT_COPY equ 15h ANIM_Y_CORRECTION equ 17h ANIM_HOTSPOT_OFFSET equ 19h ANIM_HOTSPOT_ID equ 1Bh ANIM_SKIP equ 1Dh ANIM_VOICE_CHAR_ID equ 1Eh ANIM_CTR equ 20h ANIM_CHAR_RECT_Y equ 22h ANIM_VOICE_CTR equ 24h ANIM_DIRECTION equ 26h ANIM_WALK_FLAG equ 27h ANIM_START_COLOUR equ 28h ; Hotspot header record constants HOTSPOT_TABLE_ENTRY_SIZE equ 9 HSH_NAME equ 2 HSH_DESC equ 4 HSH_DESC_2 equ 6 ; Hotspot record constants HS_DEST2_SET equ -1 HS_DEST2_X equ -5 HS_DEST2_Y equ -3 HS_ACTIONS equ 0 HS_FLAGS equ 3 HS_ACTIONS_OFFSET equ 04h HS_ROOM_NUM equ 06h HS_LOAD_FLAG equ 08h HS_LOAD_OFFSET equ 09h HS_ANIM_OFFSET equ 0Bh HS_X equ 0Dh HS_Y equ 0Fh HS_WIDTH equ 11h HS_HEIGHT equ 13h HS_LAYER equ 15h HS_TICK_PROC equ 17h HS_WIDTH_COPY equ 19h HS_HEIGHT_COPY equ 1Bh HS_Y_CORRECTION equ 1Dh HS_FRAME_CTR equ 1Fh HS_PIXEL_OFFSET equ 21h HS_START_COLOUR equ 23h HS_SCRIPT_OFFSET equ 24h HS_MOVEMENT_OFFSET equ 24h HS_STEP_CTR equ 26h HS_FRAME_OFFSET equ 28h HS_ACTION_CTR equ 2Ah HS_V2B equ 2Bh HS_HOTSPOT_SCRIPT_ID equ 2Dh HS_USE_HOTSPOT_ID equ 2Fh HS_V33 equ 33h HS_TALK_X equ 35h HS_TALK_Y equ 36h HS_TALK_COUNTDOWN equ 37h HS_TALK_CHAR_ID equ 39h HS_RESPONSE_ID equ 3Ch HS_V3E equ 3Eh HS_V40 equ 40h HS_DELAY_CTR equ 42h HS_CHAR_MODE equ 44h HS_TICK_SCRIPT_OFFSET equ 45h SCRIPT_HOTSPOT_ID equ 47h HS_PATHFIND_COVERED equ 49h HS_PAUSE_CTR equ 4Ah HS_BLOCKED_FLAG equ 4Ch HS_V4D equ 4Dh HS_V4E equ 4Eh HS_DIRECTION equ 50h HS_DEST_HOTSPOT equ 52h HS_DEST_X equ 54h HS_DEST_Y equ 56h HS_V58 equ 58h HS_MOVEMENT_SRC_OFFSET equ 5Ah HS_BLOCKED_SUPPORT_OFFSET equ 5Eh HS_EXIT_CTR equ 60h HS_ACTION_OFFSET equ 61h HS_FIRST_ACTION_OFFSET equ 63h ; Pixel record constants PIXEL_DISK_ID equ 0 PIXEL_FLAGS equ 2 PIXEL_DATA_SEGMENT equ 3 PIXEL_DATA_SIZE equ 5 PIXEL_FRAME_SIZE equ 7 PIXEL_MOVEREC_UP equ 9 PIXEL_MOVEREC_DOWN equ 0Bh PIXEL_MOVEREC_LEFT equ 0Dh PIXEL_MOVEREC_RIGHT equ 0Fh PIXEL_FRAMENUM_UP equ 11h PIXEL_FRAMENUM_DOWN equ 12h PIXEL_FRAMENUM_LEFT equ 13h PIXEL_FRAMENUM_RIGHT equ 14h PIXELFLAG_HAS_TABLE equ 4 NOONE_HOTSPOT_ID equ 3E7h PLAYER_HOTSPOT_ID equ 3E8h RATPOUCH_HOTSPOT_ID equ 3E9h SKORL_HOTSPOT_ID equ 3EAh GOEWIN_HOTSPOT_ID equ 3EFh FIRST_OBJECT_HOTSPOT_ID equ 408h START_EXIT_HOTSPOT_ID equ 2710h BOTTLE_HOTSPOT_ID equ 2710h ; Room exit record constants ROOMEXIT_RECORD_SIZE equ 14 ROOMEXIT_X_START equ 0 ROOMEXIT_X_END equ 2 ROOMEXIT_Y_START equ 4 ROOMEXIT_Y_END equ 6 ROOMEXIT_CURSOR_NUM equ 8 ROOMEXIT_HOTSPOT_ID equ 10 ROOMEXIT_DEST_ROOM equ 12 ; Room exit hotspot record constants REHS_RECORD_SIZE equ 11h REHS_HOTSPOT1_ID equ 0 REHS_HOTSPOT1_CURRENT_FRAME equ 2 REHS_HOTSPOT1_DEST_FRAME equ 3 REHS_HOTSPOT2_ID equ 6 REHS_HOTSPOT2_CURRENT_FRAME equ 8 REHS_HOTSPOT2_DEST_FRAME equ 9 REHS_EXIT_BLOCKED equ 0Ch REHS_HOTSPOT1_OFFSET equ 0Dh REHS_HOTSPOT2_OFFSET equ 0Fh ; Room header record constants RH_ROOM_NUM equ 2 RH_DESC_ID equ 4 RH_TABLE_ENTRY_SIZE equ 9 ; Room record constants ROOM_NUM_LAYERS equ 8 ROOM_FIRST_LAYER equ 9 ROOM_SEQUENCE_OFFSET equ 11h ROOM_ENTRY_TIME equ 13h ROOM_V17 equ 17h ROOM_BOUNDS_INDEX equ 18h ROOM_X_START equ 19h ROOM_X_END equ 1Bh ROOM_EXITS_START equ 1Dh ; Room exit constants for room exit list within room records ROOMREC_EXIT_X_START equ 0 ROOMREC_EXIT_X_END equ 2 ROOMREC_EXIT_Y_START equ 4 ROOMREC_EXIT_Y_END equ 6 ROOMREC_EXIT_SEQUENCE equ 8 ROOMREC_EXIT_ROOM_NUM equ 10 ROOMREC_EXIT_NEW_X equ 12 ROOMREC_EXIT_NEW_Y equ 14 ; Room number constants ROOMNUM_TOWN_HALL equ 1fh ROOMNUM_MIDDLE_STREET equ 0Eh ROOMNUM_VILLAGE_SHOP equ 23h ROOMNUM_WINE_CELLAR equ 2Ah ROOMNUM_DINING_HALL equ 2Dh NUM_DELAY_ENTRIES equ 28h DELAY_ENTRY_SIZE equ 7 DIR_UP equ 80h DIR_DOWN equ 40h DIR_LEFT equ 20h DIR_RIGHT equ 10h FACING_UP equ 0 FACING_DOWN equ 1 FACING_LEFT equ 2 FACING_RIGHT equ 3 FACING2_LEFT equ 1 FACING2_RIGHT equ 2 FACING2_UP equ 4 FACING2_DOWN equ 8 ; Movement record constants MOVEMENT_FRAME_NUM equ 0 MOVEMENT_X_CHANGE equ 2 MOVEMENT_Y_CHANGE equ 4 MOVEMENT_REC_SIZE equ 6 ; Talk constants TALK_PRE_SEQUENCE equ 0 TALK_DESC_ID equ 2 TALK_POST_SEQUENCE equ 4 ; Talk state constants TALK_START equ 0ffh TALK_SELECT equ 2 TALK_UNKNOWN equ 3 TALK_MAGIC_ID equ 424h TALK_DIALOG_WIDTH equ 128 ; Player actions used in player_tick_proc CURRENT_ACTION_RECORD_SIZE equ 5 CURRENT_ACTION_SUPPORT_TABLE equ 1 CURRENT_ACTION_ROOM_NUM equ 3 CHAR_ACTION_NONE equ 0 CHAR_ACTION_START_WALK equ 1 CHAR_ACTION_DISPATCH_ACTION equ 2 CHAR_ACTION_EXEC_SCRIPT equ 3 CHAR_ACTION_PROCESSING_PATH equ 4 CHAR_ACTION_CONTINUE_WALK equ 5 PATHFIND_CHARACTER_ID equ 2 PATHFIND_HS4C equ 4 PATHFIND_DEST_STATE equ 5 PATHFIND_DEST_X equ 6 PATHFIND_DEST_Y equ 8 PATHFIND_X equ 0Ch PATHFIND_Y equ 0Ah PATHFIND_0E equ 0Eh PATHFIND_DEST_X2 equ 10h PATHFIND_DEST_OCCUPIED equ 12h PATHFIND_CELL_POPULATED equ 13h PATHFIND_X_CHANGE1 equ 14h PATHFIND_Y_CHANGE1 equ 16h PATHFIND_X_CHANGE2 equ 18h PATHFIND_Y_CHANGE2 equ 1Ah WALKTO_RECORD_SIZE equ 6 WALKTO_HOTSPOT_ID equ 0 WALKTO_X equ 2 WALKTO_Y equ 4 ; State values for the cursor_state variable CURSORSTATE_NONE equ 0 CURSORSTATE_ACTION equ 1 CURSORSTATE_SEQUENCE equ 2 CURSORSTATE_TALK equ 3 CURSORSTATE_BUMPED equ 4 ; Character modes CHARMODE_NONE equ 0 CHARMODE_1 equ 1 CHARMODE_IDLE equ 2 CHARMODE_PAUSED equ 3 CHARMODE_4 equ 4 CHARMODE_CONVERSING equ 5 CHARMODE_6 equ 6 CHARMODE_7 equ 7 CHARMODE_8 equ 8 ; Pathfinder results PF_OK equ 1 PF_DEST_OCCUPIED equ 2 ; HS_BLOCKED_FLAG states BS_NONE equ 0 BS_INITIAL equ 1 BS_FINAL equ 2 ; Miscellaneous constants TALK_COUNTDOWN_MAX equ 40 ;------------------------------------------------------------ seg_code ---- seg_code segment byte public assume cs:seg_code , ds:seg_code , ss:stack_seg_k ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; ; Program Entry Point ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ lure proc far 273F:0000 start: 273F:0000 B8 31E4 mov ax, data_seg 273F:0003 8E D8 mov ds, ax 273F:0005 E8 04AE call initialise ; (04B6) 273F:0008 loc_5: ; xref 273F:0171 273F:0008 úB8 23FC mov ax, offset startup_sequence 273F:000B E8 3E26 call sequence_execute 273F:000E 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:0013 E8 1F49 call show_disk_cursor 273F:0016 EB 59 jmp short loc_10 ; (0071) ; The following code is jumped to if the game is to be restarted or the room changes 273F:0018 loc_6: ; xref 273F:0135, 0149 273F:0018 úC6 06 38B0 01 mov data_781, 1 273F:001D E8 1F3F call show_disk_cursor 273F:0020 FF 16 0766 call word ptr ds:[fade_out_proc] 273F:0024 E8 4818 call clear_sequence_delay_table 273F:0027 E8 10BE call hotspots_unload ; Disable unneeded hotspots 273F:002A 83 3E BAAD 01 cmp room_exit_animation_flag, 1 273F:002F 72 0A jb loc_8 ; Jump if below 273F:0031 75 05 jnz loc_7 ; Jump if not zero 273F:0033 E8 A576 call display_chute_animation 273F:0036 EB 03 jmp short loc_8 ; (003B) 273F:0038 loc_7: ; xref 273F:0031 273F:0038 E8 A680 call display_barrel_animation 273F:003B loc_8: ; xref 273F:002F, 0036 273F:003B C7 06 BAAD 0000 mov room_exit_animation_flag, 0 273F:0041 C6 06 9837 00 mov talk_dialog_active, 0 273F:0046 C7 06 9838 0000 mov data_431,0 ; (273F:9838=5C8Bh) 273F:004C A1 9832 mov ax, room_number 273F:004F E8 0C98 call get_room_resource_pointer2 273F:0052 A1 B0AA mov ax, game_time_ctr 273F:0055 89 44 13 mov [si+ROOM_EXIT_TIME], ax 273F:0058 F7 06 BA23 FFFF test new_room_number, 0FFFFh 273F:005E 74 08 jz loc_9 ; Jump if zero 273F:0060 A1 BA23 mov ax, new_room_number 273F:0063 A3 9832 mov room_number, ax 273F:0066 EB 09 jmp short loc_10 ; (0071) 273F:0068 loc_9: ; xref 273F:005E 273F:0068 A1 982C mov ax, new_room_number_2 273F:006B A3 9832 mov room_number, ax 273F:006E E8 6004 call player_change_room ; Position player in new room 273F:0071 loc_10: ; xref 273F:0016, 0066 273F:0071 E8 A046 call sub_249 ; (A0BA) 273F:0074 E8 08D7 call clear_layer_rects 273F:0077 E8 08F5 call room_load_layers 273F:007A E8 760F call sub_189 ; (768C) 273F:007D FF 16 074E call word ptr ds:[74Eh] ; (273F:074E=8010h) 273F:0081 E8 0963 call sub_16 ; (09E7) 273F:0084 E8 0A77 call sub_19 ; (0AFE) 273F:0087 E8 6F7B call menubar_clear_image 273F:008A 8B 1E 9832 mov bx, room_number 273F:008E 89 1E BA15 mov room_number_2, bx 273F:0092 E8 0C53 call get_room_resource_pointer 273F:0095 8B 44 11 mov ax, [si+ROOM_SEQUENCE_OFFSET] ; Get sequence offset 273F:0098 3D FFFF cmp ax, 0FFFFh ; Is one defined? 273F:009B 74 03 je loc_11 ; If no, skip execution 273F:009D E8 3D94 call sequence_execute ; Exeecute room script 273F:00A0 E8 0BDF loc_11: call hotspots_load 273F:00A3 E8 4738 call sub_113 ; (47DE) 273F:00A6 E8 6038 call sub_138 ; (60E1) 273F:00A9 E8 1462 call room_add_animations 273F:00AC E8 08B2 call clear_info_table 273F:00AF E8 40E4 call animation_tick 273F:00B2 loc_12: ; xref 273F:00C3 273F:00B2 80 26 11D0 F7 and menubar_state, 0F7h 273F:00B7 FF 16 0752 call [menubar_restore_area] 273F:00BB E8 1450 call room_add_animations 273F:00BE F6 06 11D0 08 test menubar_state, 8 273F:00C3 75 ED jnz loc_12 ; Jump if not zero ; Copy the completed room from the off-screen buffer data_segment2 to the screen 273F:00C5 FF 16 0744 call [show_screen_proc] ; Copy screen over 273F:00C9 E8 39E2 call replace_vga_palette ; Reset palette 273F:00CC FF 16 0760 call word ptr [fade_in_proc] ; Fade in the screen 273F:00D0 E8 1EA2 call show_arrow_cursor 273F:00D3 33 C0 xor ax, ax ; Zero register 273F:00D5 A3 BA23 mov new_room_number, ax ; Clear room change variable 273F:00D8 A2 38B0 mov data_781, al 273F:00DB A2 11DA mov mouse_buttons2, al 273F:00DE A3 983F mov data_1090, ax 273F:00E1 A3 9841 mov data_1091, ax 273F:00E4 A2 983A mov data_432, al 273F:00E7 E8 1F1A call sub_61 273F:00EA F7 06 6CE4 FFFF test word ptr ds:[6CE4h],0FFFFh ; (273F:6CE4=0C18Bh) 273F:00F0 75 03 jnz loc_13 ; Jump if not zero 273F:00F2 E9 9667 jmp loc_1855 ; (975C) ; Main in game loop 273F:00F5 loc_13: ; xref 273F:00F0, 0147, 0167, 9782 273F:00F5 ú83 06 B0AA 01 add game_time_ctr, 1 273F:00FA 83 16 B0AC 00 adc game_time_ctr_2, 0 273F:00FF C6 06 00B0 00 mov data_525, 0 273F:0104 E8 92C1 call room_check_keypresses 273F:0107 E8 4306 call character_paused_list_countdown 273F:010A E8 1B05 call room_check_cursors 273F:010D E8 1189 call room_handle_click 273F:0110 E8 4083 call animation_tick 273F:0113 E8 618B call handle_talking 273F:0116 E8 4741 call sequence_delay_check 273F:0119 FF 16 0752 call [menubar_restore_area] 273F:011D E8 13EE call room_add_animations 273F:0120 FF 16 0744 call [show_screen_proc] 273F:0124 B8 0004 mov ax, 4 ; Wait for four cycles 273F:0127 E8 4892 call room_sleep 273F:012A E8 138B call set_vga_palette 273F:012D F7 06 BA23 FFFF test new_room_number, 0FFFFh ; Need to change room? 273F:0133 74 03 jz loc_14 273F:0135 E9 FEE0 jmp loc_6 ; Yes, so go do so 273F:0138 loc_14: 273F:0138 F6 06 073D 10 test status_flags2, FLAG_RESTART ; Need to restart? 273F:013D 75 0D jnz loc_16 ; Yes, so do so 273F:013F F7 06 982C FFFF test new_room_number_2, 0FFFFh 273F:0145 75 02 jnz loc_15 ; Jump if not zero 273F:0147 EB AC jmp short loc_13 ; Normal in-game loop 273F:0149 loc_15: 273F:0149 E9 FECC jmp loc_6 ; Jump to restart 273F:014C loc_16: 273F:014C F6 06 073D 20 test status_flags2, FLAG_CAUGHT 273F:0151 74 03 jz loc_17 ; Jump if zero 273F:0153 E8 A507 call skorl_knockout 273F:0156 loc_17: ; xref 273F:0151 273F:0156 F6 06 073D 40 test status_flags2, FLAG_RESTORERESTART 273F:015B 74 0C jz loc_18 ; Jump if zero 273F:015D E8 91D6 call sub_228 ; Show restore/restart dialog 273F:0160 75 0A jnz loc_19 ; Jump if not zero 273F:0162 80 26 073D 8F and status_flags2, 8Fh 273F:0167 EB 8C jmp short loc_13 ; (00F5) 273F:0169 loc_18: ; xref 273F:015B 273F:0169 E8 921F call sub_229 ; (938B) 273F:016C loc_19: ; xref 273F:0160 273F:016C 80 26 073D 8F and status_flags2, 8Fh ; Clear status flags 273F:0171 E9 FE94 jmp loc_5 lure endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:024F, 030A ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0174 open_file proc near 273F:0174 F6 06 00B5 80 test byte ptr ds:[file_handle+1],80h ; (273F:00B5=11h) 273F:0179 75 0D jnz loc_20 ; Jump if not zero 273F:017B 8B 1E 00B4 mov bx,word ptr ds:[file_handle] ; (273F:00B4=11D0h) 273F:017F B4 3E mov ah,3Eh 273F:0181 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:0183 C6 06 00B5 80 mov byte ptr ds:[file_handle+1],80h ; (273F:00B5=11h) 273F:0188 loc_20: ; xref 273F:0179 273F:0188 8A 1E 00B1 mov bl,byte ptr ds:[file_number] ; (273F:00B1=40h) 273F:018C 32 FF xor bh,bh ; Zero register 273F:018E D0 E3 shl bl,1 ; Shift w/zeros fill 273F:0190 8B 97 00B6 mov dx,word ptr ds:[file_offset_table][bx] 273F:0194 B8 3D00 mov ax,3D00h 273F:0197 CD 21 int 21h ; DOS Services ah=function 3Dh ; open file, al=mode,name@ds:dx 273F:0199 72 58 jc loc_22 ; Jump if carry Set 273F:019B 2E: F6 06 0943 FF test byte ptr cs:critical_error,0FFh ; (273F:0943=0) 273F:01A1 75 50 jnz loc_22 ; Jump if not zero 273F:01A3 A3 00B4 mov word ptr ds:[file_handle],ax ; (273F:00B4=11D0h) 273F:01A6 8B D8 mov bx,ax 273F:01A8 B9 0008 mov cx,8 273F:01AB úBA 0119 mov dx, offset file_buffer ; 273F:0119 273F:01AE B4 3F mov ah,3Fh 273F:01B0 CD 21 int 21h ; DOS Services ah=function 3Fh ; read file, bx=file handle ; cx=bytes to ds:dx buffer 273F:01B2 2E: F6 06 0943 FF test byte ptr cs:critical_error,0FFh ; (273F:0943=0) 273F:01B8 75 35 jnz loc_21 ; Validate file ident string 273F:01BA 81 3E 0119 6568 cmp word ptr ds:[file_buffer],6568h ; 'he' 273F:01C0 75 2D jne loc_21 ; Jump if not equal 273F:01C2 81 3E 011B 7779 cmp word ptr ds:[file_buffer+2],7779h ; 'yw' 273F:01C8 75 25 jne loc_21 ; Jump if not equal 273F:01CA 81 3E 011D 776F cmp word ptr ds:[file_buffer+4],776Fh ; 'ow' 273F:01D0 75 1D jne loc_21 ; Jump if not equal 273F:01D2 A1 011F mov ax,word ptr ds:[file_filenum] ; Get in the file number 273F:01D5 3A 26 00B1 cmp ah,byte ptr ds:[file_number] ; (273F:00B1=40h) 273F:01D9 75 14 jne loc_21 ; Jump if not equal 273F:01DB B9 05F8 mov cx, sizeof file_entries 273F:01DE úBA 0121 mov dx, offset file_entries 273F:01E1 B4 3F mov ah,3Fh 273F:01E3 CD 21 int 21h ; DOS Services ah=function 3Fh ; read file, bx=file handle ; cx=bytes to ds:dx buffer 273F:01E5 2E: F6 06 0943 FF test byte ptr cs:critical_error,0FFh ; (273F:0943=0) 273F:01EB 75 02 jnz loc_21 ; Jump if not zero 273F:01ED F8 clc ; Clear carry flag 273F:01EE C3 retn 273F:01EF loc_21: ; xref 273F:01B8, 01C0, 01C8, 01D0 ; 01D9, 01EB 273F:01EF B4 3E mov ah,3Eh 273F:01F1 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:01F3 loc_22: ; xref 273F:0199, 01A1 273F:01F3 2E: C6 06 0943 00 mov byte ptr cs:critical_error,0 ; (273F:0943=0) 273F:01F9 F9 stc ; Set carry flag 273F:01FA C3 retn open_file endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0974, 768C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:01FB read_and_validate_header proc near 273F:01FB loc_23: ; xref 273F:02B1, 02DC 273F:01FB úC6 06 00B0 01 mov data_525, 1 273F:0200 F6 06 00B5 80 test byte ptr ds:[file_handle+1],80h ; (273F:00B5=11h) 273F:0205 75 42 jnz loc_24 ; Jump if not zero 273F:0207 C7 06 0119 0000 mov word ptr ds:[file_buffer],0 ; (273F:0119=16FFh) ; Read in the file header, that includes the ident string, file number, and entries table 273F:020D 1E push ds 273F:020E 07 pop es 273F:020F BA 0119 mov dx, offset file_buffer 273F:0212 BB 0000 mov bx,0 273F:0215 B9 0600 mov cx, FILE_BUFFER_SIZE 273F:0218 33 ED xor bp,bp ; Zero register 273F:021A E8 022D call read_file_entry ; (044A) 273F:021D 72 2A jc loc_24 ; Jump if carry Set 273F:021F 2E: F6 06 0943 FF test byte ptr cs:critical_error,0FFh ; Check if any error occurred 273F:0225 75 22 jnz loc_24 ; Jump if not zero ; Validate that the file starts with the correct identifier string 273F:0227 A1 0119 mov ax,word ptr ds:[file_buffer] ; Validate file ident string 273F:022A 3D 6568 cmp ax,6568h ; 'he' 273F:022D 75 1A jne loc_24 273F:022F A1 011B mov ax,word ptr ds:[file_buffer+2] 273F:0232 3D 7779 cmp ax,7779h ; 'yw' 273F:0235 75 12 jne loc_24 273F:0237 A1 011D mov ax,word ptr ds:[file_buffer+4] 273F:023A 3D 776F cmp ax,776Fh ; 'ow' 273F:023D 75 0A jne loc_24 ; Jump if not equal 273F:023F A1 011F mov ax,word ptr ds:[11Fh] ; (273F:011F=0FF13h) 273F:0242 3A 26 00B1 cmp ah,byte ptr ds:[file_number] ; (273F:00B1=40h) 273F:0246 75 01 jne loc_24 ; Jump if not equal 273F:0248 C3 retn ; If execution reaches this point, then some sort of error occurred 273F:0249 loc_24: ; xref 273F:0205, 021D, 0225, 022D ; 0235, 023D, 0246, 0301 273F:0249 ú2E: C6 06 0943 00 mov byte ptr cs:critical_error,0 273F:024F E8 FF22 call open_file ; Try to reopen file 273F:0252 73 68 jnc loc_ret_30 ; Jump if no error occurred 273F:0254 80 3E 0786 02 cmp byte ptr ds:[drive_number],2 ; Is current drive C? 273F:0259 72 19 jb loc_25 ; Jump if it's a floppy drive 273F:025B A1 00B2 mov ax,word ptr ds:[drive_num] ; (273F:00B2=2680h) 273F:025E E8 00A3 call open_file2 273F:0261 73 51 jnc loc_29 273F:0263 F6 06 073D 80 test status_flags2, FLAG_HAS_FLOPPY_DRIVE 273F:0268 75 1B jnz loc_27 273F:026A 83 36 00B2 01 xor word ptr ds:[drive_num], 1 273F:026F A1 00B2 mov ax,word ptr ds:[drive_num] 273F:0272 EB 0C jmp short loc_26 ; At this point, we know that the current drive is either A or B (ie. a floppy drive) 273F:0274 loc_25: 273F:0274 F6 06 073D 80 test status_flags2, FLAG_HAS_FLOPPY_DRIVE 273F:0279 75 0A jnz loc_27 273F:027B A0 0786 mov al,byte ptr ds:[drive_number] 273F:027E 34 01 xor al,1 273F:0280 loc_26: ; xref 273F:0272 273F:0280 E8 0081 call open_file2 ; (0304) 273F:0283 73 2F jnc loc_29 ; Jump if carry=0 273F:0285 loc_27: ; xref 273F:0268, 0279 273F:0285 8A 16 0786 mov dl,byte ptr ds:[drive_number] ; (273F:0786=0E8h) 273F:0289 B4 0E mov ah,0Eh 273F:028B CD 21 int 21h ; DOS Services ah=function 0Eh ; set default drive dl (0=a:) ; Display a message to insert the correct disk in the floppy drive 273F:028D A0 00B1 mov al,byte ptr ds:[file_number] ; (273F:00B1=40h) 273F:0290 2C 01 sub al,1 273F:0292 D0 E8 shr al,1 ; Shift w/zeros fill 273F:0294 04 04 add al,4 273F:0296 32 E4 xor ah,ah ; Zero register 273F:0298 B6 00 mov dh,0 273F:029A E8 3D07 call display_message ; (3FA4) 273F:029D 3C 1B cmp al,1Bh 273F:029F 75 08 jne loc_28 ; Jump if not equal 273F:02A1 B8 0000 mov ax,0 273F:02A4 B6 01 mov dh,1 273F:02A6 E8 3CFB call display_message ; (3FA4) 273F:02A9 loc_28: ; xref 273F:029F 273F:02A9 8A 16 0786 mov dl,byte ptr ds:[drive_number] ; (273F:0786=0E8h) 273F:02AD B4 0E mov ah,0Eh 273F:02AF CD 21 int 21h ; DOS Services ah=function 0Eh ; set default drive dl (0=a:) 273F:02B1 E9 FF47 jmp loc_23 ; (01FB) 273F:02B4 loc_29: ; xref 273F:0261, 0283 273F:02B4 8A 16 0786 mov dl,byte ptr ds:[drive_number] ; (273F:0786=0E8h) 273F:02B8 B4 0E mov ah,0Eh 273F:02BA CD 21 int 21h ; DOS Services ah=function 0Eh ; set default drive dl (0=a:) 273F:02BC loc_ret_30: ; xref 273F:0252 273F:02BC C3 retn read_and_validate_header endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:034C, 040E, 757C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:02BD validate_header proc near 273F:02BD B1 06 mov cl,6 273F:02BF D2 EC shr ah,cl ; Shift w/zeros fill 273F:02C1 80 E4 03 and ah,3 273F:02C4 80 C4 01 add ah,1 273F:02C7 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:02CC 75 03 jne loc_31 ; Jump if it's VGA 273F:02CE 80 C4 04 add ah,4 273F:02D1 loc_31: 273F:02D1 88 26 00B1 mov byte ptr ds:[file_number],ah ; (273F:00B1=40h) 273F:02D5 F6 06 00B0 FF test data_525, 0FFh 273F:02DA 75 03 jnz loc_32 ; Jump if not zero 273F:02DC E9 FF1C jmp loc_23 ; (01FB) 273F:02DF loc_32: ; xref 273F:02DA 273F:02DF A1 0119 mov ax,word ptr ds:[file_buffer] ; Validate file ident string 273F:02E2 3D 6568 cmp ax,6568h ; 'he' 273F:02E5 75 1A jne loc_33 ; Jump if not equal 273F:02E7 A1 011B mov ax,word ptr ds:[file_buffer+2] 273F:02EA 3D 7779 cmp ax,7779h ; 'yw' 273F:02ED 75 12 jne loc_33 ; Jump if not equal 273F:02EF A1 011D mov ax,word ptr ds:[file_buffer+4] 273F:02F2 3D 776F cmp ax,776Fh ; 'ow' 273F:02F5 75 0A jne loc_33 ; Jump if not equal 273F:02F7 A1 011F mov ax,word ptr ds:[file_filenum] ; (273F:011F=0FF13h) 273F:02FA 3A 26 00B1 cmp ah,byte ptr ds:[file_number] ; (273F:00B1=40h) 273F:02FE 75 01 jne loc_33 ; Jump if not equal 273F:0300 C3 retn 273F:0301 loc_33: ; xref 273F:02E5, 02ED, 02F5, 02FE ; Jumps to the error recovery code, which can open up the appropriate file and load it from scratch 273F:0301 E9 FF45 jmp loc_24 ; (0249) validate_header endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:025E, 0280 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0304 open_file2 proc near 273F:0304 8A D0 mov dl,al 273F:0306 B4 0E mov ah,0Eh 273F:0308 CD 21 int 21h ; DOS Services ah=function 0Eh ; set default drive dl (0=a:) 273F:030A E8 FE67 call open_file ; (0174) 273F:030D C3 retn open_file2 endp 273F:030E 0000 data_121 dw 0 ; xref 273F:0314, 03D5 273F:0310 0000 data_122 dw 0 ; xref 273F:0318, 03D9 273F:0312 0000 data_123 dw 0 ; xref 273F:031D, 03DE ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0BDA, 3ACD, 3CA3, 7640, 7813, 7AC5, 7B63 ; 7B80, 93A9, 9F6E, 9F8C, 9FB1, A302, A34F ; A7C0, A7E2, A900, A9B3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0314 read_entry proc near 273F:0314 loc_34: ; xref 273F:03E3 273F:0314 2E: A3 030E mov cs:data_121,ax ; (273F:030E=0) 273F:0318 2E: 89 0E 0310 mov cs:data_122,cx ; (273F:0310=0) 273F:031D 2E: 89 16 0312 mov cs:data_123,dx ; (273F:0312=0) 273F:0322 8B D8 mov bx,ax 273F:0324 81 E3 3FFF and bx,3FFFh 273F:0328 81 FB 0120 cmp bx,120h 273F:032C 74 11 je loc_35 ; Jump if equal 273F:032E 81 FB 0311 cmp bx,311h 273F:0332 74 0B je loc_35 ; Jump if equal 273F:0334 83 FB 08 cmp bx,8 273F:0337 74 06 je loc_35 ; Jump if equal 273F:0339 81 FB 0410 cmp bx,410h 273F:033D 75 0A jne loc_36 ; Jump if not equal 273F:033F loc_35: ; xref 273F:032C, 0332, 0337 assume ds:data_seg 273F:033F F6 06 BAB9 FF test byte ptr script_val_88, 0FFh 273F:0344 74 03 jz loc_36 ; Jump if zero 273F:0346 80 F4 80 xor ah,80h 273F:0349 loc_36: ; xref 273F:033D, 0344 273F:0349 51 push cx 273F:034A 52 push dx 273F:034B 50 push ax 273F:034C E8 FF6E call validate_header ; (02BD) 273F:034F 58 pop ax 273F:0350 5A pop dx 273F:0351 úBB 0119 mov bx,offset file_buffer 273F:0354 B9 00C0 mov cx,0C0h ; Number of header entries + 1 273F:0357 locloop_37: ; xref 273F:035E 273F:0357 3B 07 cmp ax,[bx] 273F:0359 74 0D je loc_38 ; Jump if equal 273F:035B 83 C3 08 add bx,8 273F:035E E2 F7 loop locloop_37 ; Loop if cx > 0 273F:0360 B8 0009 mov ax,9 ; 'Data file is corrupt.$' 273F:0363 B6 01 mov dh,1 273F:0365 E8 3C3C call display_message ; (3FA4) 273F:0368 loc_38: ; xref 273F:0359 273F:0368 07 pop es 273F:0369 8B 4F 04 mov cx,[bx+4] 273F:036C 8A 47 03 mov al,[bx+3] 273F:036F 32 E4 xor ah,ah ; Zero register 273F:0371 8B E8 mov bp,ax 273F:0373 FF 77 01 push word ptr [bx+1] 273F:0376 8B 5F 06 mov bx,[bx+6] 273F:0379 51 push cx 273F:037A 55 push bp 273F:037B E8 00CC call read_file_entry ; (044A) 273F:037E 5D pop bp 273F:037F B1 0C mov cl,0Ch 273F:0381 D3 E5 shl bp,cl ; Shift w/zeros fill 273F:0383 59 pop cx 273F:0384 8B D1 mov dx,cx 273F:0386 83 EA 01 sub dx,1 273F:0389 D1 EA shr dx,1 ; Shift w/zeros fill 273F:038B D1 EA shr dx,1 ; Shift w/zeros fill 273F:038D D1 EA shr dx,1 ; Shift w/zeros fill 273F:038F D1 EA shr dx,1 ; Shift w/zeros fill 273F:0391 83 C2 01 add dx,1 273F:0394 03 D5 add dx,bp 273F:0396 5B pop bx 273F:0397 2E: F6 06 0943 FF test byte ptr cs:critical_error,0FFh ; (273F:0943=0) 273F:039D 75 06 jnz loc_39 ; Jump if not zero 273F:039F C6 06 0118 00 mov byte ptr retry_count,0 ; (31E4:0118=0) 273F:03A4 C3 retn 273F:03A5 loc_39: ; xref 273F:039D 273F:03A5 80 06 0118 01 add byte ptr retry_count,1 ; (31E4:0118=0) 273F:03AA 80 3E 0118 05 cmp byte ptr retry_count,5 ; (31E4:0118=0) 273F:03AF 72 19 jb loc_40 ; Jump if below 273F:03B1 C6 06 0118 00 mov byte ptr retry_count,0 ; (31E4:0118=0) 273F:03B6 B8 0001 mov ax,1 273F:03B9 B6 00 mov dh,0 273F:03BB E8 3BE6 call display_message ; (3FA4) 273F:03BE 3C 1B cmp al,1Bh 273F:03C0 75 08 jne loc_40 ; Jump if not equal 273F:03C2 B8 0000 mov ax,0 273F:03C5 B6 01 mov dh,1 273F:03C7 E8 3BDA call display_message ; (3FA4) 273F:03CA loc_40: ; xref 273F:03AF, 03C0 273F:03CA 2E: C6 06 0943 00 mov byte ptr cs:critical_error,0 ; (273F:0943=0) 273F:03D0 C6 06 00B0 00 mov data_525, 0 273F:03D5 2E: A1 030E mov ax,cs:data_121 ; (273F:030E=0) 273F:03D9 2E: 8B 0E 0310 mov cx,cs:data_122 ; (273F:0310=0) 273F:03DE 2E: 8B 16 0312 mov dx,cs:data_123 ; (273F:0312=0) 273F:03E3 E9 FF2E jmp loc_34 ; (0314) read_entry endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:77F1, A7B4 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:03E6 get_entry_size proc near 273F:03E6 8B D8 mov bx,ax 273F:03E8 81 E3 3FFF and bx,3FFFh 273F:03EC 81 FB 0120 cmp bx,120h 273F:03F0 74 11 je loc_41 ; Jump if equal 273F:03F2 81 FB 0311 cmp bx,311h 273F:03F6 74 0B je loc_41 ; Jump if equal 273F:03F8 83 FB 08 cmp bx,8 273F:03FB 74 06 je loc_41 ; Jump if equal 273F:03FD 81 FB 0410 cmp bx,410h 273F:0401 75 0A jne loc_42 ; Jump if not equal 273F:0403 loc_41: ; xref 273F:03F0, 03F6, 03FB 273F:0403 F6 06 BAB9 FF test byte ptr script_val_88, 0FFh 273F:0408 74 03 jz loc_42 ; Jump if zero 273F:040A 80 F4 80 xor ah,80h 273F:040D loc_42: ; xref 273F:0401, 0408 273F:040D 50 push ax 273F:040E E8 FEAC call validate_header ; (02BD) 273F:0411 58 pop ax 273F:0412 úBB 0119 mov bx, offset file_buffer ; (273F:0119=0FFh) 273F:0415 B9 00C0 mov cx,0C0h 273F:0418 locloop_43: ; xref 273F:041F 273F:0418 3B 07 cmp ax,[bx] 273F:041A 74 0D je loc_44 ; Jump if equal 273F:041C 83 C3 08 add bx,8 273F:041F E2 F7 loop locloop_43 ; Loop if cx > 0 273F:0421 B8 0009 mov ax,9 ; 'Data file is corrupt.$' 273F:0424 B6 01 mov dh,1 273F:0426 E8 3B7B call display_message ; (3FA4) 273F:0429 loc_44: ; xref 273F:041A 273F:0429 8A 4F 03 mov cl,[bx+3] 273F:042C 32 ED xor ch,ch ; Zero register 273F:042E 8B E9 mov bp,cx 273F:0430 B1 0C mov cl,0Ch 273F:0432 D3 E5 shl bp,cl ; Shift w/zeros fill 273F:0434 8B 4F 04 mov cx,[bx+4] 273F:0437 8B D1 mov dx,cx 273F:0439 83 EA 01 sub dx,1 273F:043C D1 EA shr dx,1 ; Shift w/zeros fill 273F:043E D1 EA shr dx,1 ; Shift w/zeros fill 273F:0440 D1 EA shr dx,1 ; Shift w/zeros fill 273F:0442 D1 EA shr dx,1 ; Shift w/zeros fill 273F:0444 83 C2 01 add dx,1 273F:0447 03 D5 add dx,bp 273F:0449 C3 retn get_entry_size endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:021A, 037B ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:044A read_file_entry proc near 273F:044A 1E push ds 273F:044B 51 push cx 273F:044C 52 push dx 273F:044D B8 0020 mov ax,20h 273F:0450 F7 E3 mul bx ; dx:ax = reg * ax 273F:0452 8B CA mov cx,dx 273F:0454 8B D0 mov dx,ax 273F:0456 51 push cx 273F:0457 52 push dx 273F:0458 B8 4200 mov ax,4200h 273F:045B 8B 1E 00B4 mov bx,word ptr ds:[file_handle] ; (273F:00B4=11D0h) 273F:045F CD 21 int 21h ; DOS Services ah=function 42h ; move file ptr, bx=file handle ; al=method, cx,dx=offset 273F:0461 72 3F jc loc_47 ; Jump if carry Set 273F:0463 5B pop bx 273F:0464 59 pop cx 273F:0465 3B CA cmp cx,dx 273F:0467 75 3B jne loc_48 ; Jump if not equal 273F:0469 3B C3 cmp ax,bx 273F:046B 75 37 jne loc_48 ; Jump if not equal 273F:046D 8B 1E 00B4 mov bx,word ptr ds:[file_handle] ; (273F:00B4=11D0h) 273F:0471 5A pop dx 273F:0472 D1 E5 shl bp,1 ; Shift w/zeros fill 273F:0474 loc_45: ; xref 273F:0490 273F:0474 ú83 ED 01 sub bp,1 273F:0477 72 19 jc loc_46 ; Jump if carry Set 273F:0479 8C C0 mov ax,es 273F:047B 8E D8 mov ds,ax 273F:047D 05 0800 add ax,800h 273F:0480 8E C0 mov es,ax 273F:0482 B4 3F mov ah,3Fh ; '?' 273F:0484 B9 8000 mov cx,8000h 273F:0487 CD 21 int 21h ; DOS Services ah=function 3Fh ; read file, bx=file handle ; cx=bytes to ds:dx buffer 273F:0489 72 1A jc loc_49 ; Jump if carry Set 273F:048B 3D 8000 cmp ax,8000h 273F:048E 75 15 jne loc_49 ; Jump if not equal 273F:0490 EB E2 jmp short loc_45 ; (0474) 273F:0492 loc_46: ; xref 273F:0477 273F:0492 59 pop cx 273F:0493 06 push es 273F:0494 1F pop ds 273F:0495 B4 3F mov ah,3Fh 273F:0497 CD 21 int 21h ; DOS Services ah=function 3Fh ; read file, bx=file handle ; cx=bytes to ds:dx buffer 273F:0499 72 0B jc loc_50 ; Jump if carry Set 273F:049B 3B C1 cmp ax,cx 273F:049D 75 07 jne loc_50 ; Jump if not equal 273F:049F 1F pop ds 273F:04A0 F8 clc ; Clear carry flag 273F:04A1 C3 retn 273F:04A2 loc_47: ; xref 273F:0461 273F:04A2 58 pop ax 273F:04A3 58 pop ax 273F:04A4 loc_48: ; xref 273F:0467, 046B 273F:04A4 58 pop ax 273F:04A5 loc_49: ; xref 273F:0489, 048E 273F:04A5 58 pop ax 273F:04A6 loc_50: ; xref 273F:0499, 049D 273F:04A6 1F pop ds 273F:04A7 F9 stc ; Set carry flag 273F:04A8 C3 retn read_file_entry endp 273F:04A9 00 db 0 273F:04AA 0000 0000 old_timer_int_proc dw 0, 0 ; xref 273F:0699, 3FD2, 49A6 273F:04AE 0000 0000 old_kbd_int_proc dw 0, 0 ; xref 273F:06F2, 4004, 94DC 273F:04B2 0000 old_critical_int_proc dw 0, 0 ; xref 273F:06D1, 3FEB ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0005 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:04B6 initialise proc near 273F:04B6 E8 0314 call sub_10 ; (07CD) 273F:04B9 E8 0447 call sub_12 ; (0903) 273F:04BC C7 06 5662 094D mov play_music_proc, offset retf_proc 273F:04C2 8C 0E 5664 mov word ptr play_music_proc+2,cs 273F:04C6 F6 06 0742 FF test video_style, 0FFh ; Is any video mode defined 273F:04CB 74 07 jz loc_51 ; Jump if zero 273F:04CD 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:04D2 74 20 je loc_53 ; Jump if equal 273F:04D4 loc_51: ; xref 273F:04CB 273F:04D4 B8 1A00 mov ax,1A00h 273F:04D7 CD 10 int 10h ; Video display ah=functn 1Ah ; get display type in bx 273F:04D9 3C 1A cmp al,1Ah 273F:04DB 75 0C jne loc_52 ; Function not supported 273F:04DD 80 FB 04 cmp bl,4 ; EGA monitor 273F:04E0 74 12 je loc_53 ; Jump if equal 273F:04E2 80 FB 08 cmp bl,8 ; VGA with analog colour model 273F:04E5 75 10 jne loc_54 ; Jump if not equal 273F:04E7 EB 16 jmp short loc_55 ; (04FF) 273F:04E9 loc_52: ; xref 273F:04DB 273F:04E9 B4 12 mov ah,12h 273F:04EB B3 10 mov bl,10h ; bl=Return Config Info 273F:04ED CD 10 int 10h ; Video display EGA/VGA special 273F:04EF 80 FB 10 cmp bl,10h ; Not supported 273F:04F2 74 03 je loc_54 273F:04F4 loc_53: ; xref 273F:04D2, 04E0 273F:04F4 E9 00C9 jmp loc_56 ; Computer doesn't support EGA or VGA 273F:04F7 loc_54: 273F:04F7 B8 0002 mov ax,2 273F:04FA B6 01 mov dh,1 273F:04FC E8 3AA5 call display_message ; Game will run in VGA mode 273F:04FF loc_55: 273F:04FF C6 06 0743 13 mov video_mode, 13h ; 3200x200x256 mode 273F:0504 C6 06 0742 01 mov video_style, VIDEO_STYLE_VGA ; Flag for VGA mode 273F:0509 C7 06 0744 304E mov show_screen_proc, offset vga_show_screen 273F:050F C7 06 074A 0008 mov char_width, 8 273F:0515 C7 06 0746 FA00 mov screen_size, SCREEN_HEIGHT*SCREEN_WIDTH 273F:051B C7 06 0748 0140 mov screen_width, SCREEN_WIDTH 273F:0521 C7 06 074C 0A00 mov menubar_block_size, MENUBAR_Y_SIZE*SCREEN_WIDTH 273F:0527 C7 06 074E 346D mov data_555,346Dh ; (31E4:074E=0) 273F:052D C7 06 0750 3527 mov segment_screen_proc, vga_segment_screen 273F:0533 C7 06 0752 340F mov show_compressed_screen_proc, offset vga_show_compressed_screen 273F:0539 C7 06 0754 37F2 mov add_animation_proc, offset vga_add_animation 273F:053F C7 06 0756 33B3 mov draw_talk_dialog_proc, offset vga_draw_talk_dialog 273F:0545 C7 06 0758 3242 mov talk_dialog_proc, vga_talk_dialog 273F:054B C7 06 075A 3209 mov display2_character_proc, offset vga_display2_character 273F:0551 C7 06 075C 3599 mov add_rect_proc, vga_add_rect 273F:0557 C7 06 075E 3664 mov show_cursor_proc, offset vga_cursor 273F:055D C7 06 0766 30E2 mov fade_out_proc, offset vga_fade_out 273F:0563 C7 06 0760 3177 mov fade_in_proc, offset vga_fade_in 273F:0569 C7 06 0762 31D3 mov set_lower_palette_proc, offset vga_set_lower_palette 273F:056F C7 06 0764 31E9 mov empty_palette_proc, offset vga_empty_palette 273F:0575 C7 06 076A 35F6 mov display_character_proc, offset vga_display_character 273F:057B C7 06 076C 362D mov menu_items_proc, offset vga_menu_items 273F:0581 C7 06 076E 1450 mov data_571, offset vga_unknown_rec 273F:0587 C7 06 0770 3948 mov data_572,3948h ; (31E4:0770=0) 273F:058D C7 06 0772 3AD7 mov toggle_menu_highlight_proc, offset vga_toggle_menu_highlight 273F:0593 C7 06 0774 07ED mov data_574, offset vga_no_implementation 273F:0599 C7 06 0776 07ED mov data_575, offset vga_no_implementation 273F:059F C7 06 0778 3374 mov data_576,3374h ; (31E4:0778=0) 273F:05A5 C7 06 077A 3295 mov draw_dialog_proc, offset vga_draw_dialog 273F:05AB C7 06 077C 398A mov decode_entry_proc, offset decode_file_entry 273F:05B1 C7 06 077E A7E6 mov copy_screen_proc, offset vga_copy_screen 273F:05B7 C7 06 0780 A711 mov pic_decode_proc, offset vga_pic_decode 273F:05BD E9 00C4 jmp loc_57 ; Game will run in EGA mode 273F:05C0 loc_56: ; xref 273F:04F4 273F:05C0 C6 06 0743 0D mov byte ptr video_mode,0Dh ; 320x200x16 mode 273F:05C5 C6 06 0742 02 mov video_style, VIDEO_STYLE_EGA,2 273F:05CA C7 06 0744 205C mov show_screen_proc, offset ega_show_screen 273F:05D0 C7 06 074A 0004 mov char_width, 4 273F:05D6 C7 06 0746 7D00 mov screen_size, 7D00h 273F:05DC C7 06 0748 00A0 mov screen_width, SCREEN_WIDTH/2 273F:05E2 C7 06 074C 0500 mov menubar_block_size, MENUBAR_Y_SIZE*SCREEN_WIDTH/2 273F:05E8 C7 06 074E 2814 mov data_555,2814h ; (31E4:074E=0) 273F:05EE C7 06 0750 270D mov segment_screen_proc, ega_segment_screen 273F:05F4 C7 06 0752 27B1 mov show_compressed_screen_proc, offset ega_show_compressed_screen ;menubar_restore_area 273F:05FA C7 06 0754 2C76 mov add_animation_proc, offset ega_add_animation 273F:0600 C7 06 0756 2275 mov draw_talk_dialog_proc, offset ega_draw_talk_dialog 273F:0606 C7 06 0758 2217 mov talk_dialog_proc, offset ega_talk_dialog 273F:060C C7 06 075A 2184 mov display2_character_proc, 2184h 273F:0612 C7 06 075C 29A4 mov add_rect_proc, offset ega_add_layer 273F:0618 C7 06 075E 2AB3 mov show_cursor_proc, offset ega_cursor 273F:061E C7 06 0768 07ED mov data_568,07EDh 273F:0624 C7 06 0766 215F mov fade_out_proc, offset ega_empty_palette 273F:062A C7 06 0760 2174 mov fade_in_proc, offset ega_fade_in 273F:0630 C7 06 0762 2174 mov set_lower_palette_proc, offset ega_fade_in 273F:0636 C7 06 0764 215F mov empty_palette_proc, ega_empty_palette 273F:063C C7 06 076A 2A31 mov display_character_proc, offset ega_display_character 273F:0642 C7 06 076C 22C4 mov menu_items_proc, offset ega_menu_items 273F:0648 C7 06 076E 1444 mov data_571, offset ega_unknown_rec 273F:064E C7 06 0770 2F9C mov data_572,2F9Ch ; (31E4:0770=0) 273F:0654 C7 06 0772 2FF3 mov toggle_menu_highlight_proc, offset ega_toggle_menu_highlight 273F:065A C7 06 0774 2688 mov data_574,2688h ; (31E4:0774=0) 273F:0660 C7 06 0776 26C7 mov data_575,26C7h ; (31E4:0776=0) 273F:0666 C7 06 0778 23EA mov data_576,23EAh ; (31E4:0778=0) 273F:066C C7 06 077A 2370 mov draw_dialog_proc, offset ega_draw_dialog 273F:0672 C7 06 077C 246A mov decode_entry_proc, offset ega_decode_entry 273F:0678 C7 06 077E A80C mov copy_screen_proc, offset ega_copy_screen 273F:067E C7 06 0780 A75F mov pic_decode_proc, offset ega_pic_decode 273F:0684 loc_57: ; xref 273F:05BD 273F:0684 B4 30 mov ah,30h 273F:0686 CD 21 int 21h ; DOS Services ah=function 30h ; get DOS version number ax 273F:0688 3C 01 cmp al,1 ; At least DOS version 1.0? 273F:068A 7F 08 jg loc_58 ; Jump if > 273F:068C B8 0003 mov ax,3 ; Bail out with DOS error message 273F:068F B6 01 mov dh,1 273F:0691 E8 3910 call display_message 273F:0694 loc_58: 273F:0694 B8 3508 mov ax,3508h ; Get current timer handler address 273F:0697 CD 21 int 21h ; DOS Services ah=function 35h ; get intrpt vector al in es:bx 273F:0699 2E: 89 1E 04AA mov cs:old_timer_int_proc, bx 273F:069E 8C C0 mov ax,es 273F:06A0 2E: A3 04AC mov word ptr cs:old_timer_int_proc+2,ax 273F:06A4 B8 2508 mov ax,2508h 273F:06A7 1E push ds 273F:06A8 0E push cs 273F:06A9 1F pop ds 273F:06AA úBA 48C6 mov dx,offset timer_handler 273F:06AD CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx 273F:06AF 1F pop ds 273F:06B0 80 0E 073C 04 or status_flags, STATUS_TIMER_SET 273F:06B5 B9 5D38 mov cx,5D38h 273F:06B8 B0 36 mov al,36h ; '6' 273F:06BA E6 43 out 43h,al ; port 43h, 8253 timer control 273F:06BC EB 00 jmp short $+2 ; delay for I/O 273F:06BE EB 00 jmp short $+2 ; delay for I/O 273F:06C0 8A C1 mov al,cl 273F:06C2 E6 40 out 40h,al ; port 40h, 8253 timer 0 clock 273F:06C4 EB 00 jmp short $+2 ; delay for I/O 273F:06C6 EB 00 jmp short $+2 ; delay for I/O 273F:06C8 8A C5 mov al,ch 273F:06CA E6 40 out 40h,al ; port 40h, 8253 timer 0 clock 273F:06CC B8 3524 mov ax,3524h 273F:06CF CD 21 int 21h ; DOS Services ah=function 35h ; get intrpt vector al in es:bx 273F:06D1 2E: 89 1E 04B2 mov cs:old_critical_int_proc, bx 273F:06D6 8C C0 mov ax,es 273F:06D8 2E: A3 04B4 mov cs:old_critical_int_proc+2,ax 273F:06DC B8 2524 mov ax,2524h 273F:06DF 1E push ds 273F:06E0 0E push cs 273F:06E1 1F pop ds 273F:06E2 úBA 0944 mov dx,offset critical_handler ; Set new critical error handler 273F:06E5 CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx 273F:06E7 1F pop ds 273F:06E8 80 0E 073C 10 or status_flags, STATUS_CRITICAL_SET 273F:06ED B8 3509 mov ax,3509h 273F:06F0 CD 21 int 21h ; DOS Services ah=function 35h ; get intrpt vector al in es:bx 273F:06F2 2E: 89 1E 04AE mov cs:old_kbd_int_proc, bx 273F:06F7 8C C0 mov ax,es 273F:06F9 2E: A3 04B0 mov word ptr cs:old_kbd_int_proc+2, ax 273F:06FD B8 2509 mov ax,2509h 273F:0700 1E push ds 273F:0701 0E push cs 273F:0702 1F pop ds 273F:0703 úBA 94DB mov dx,offset keyboard_handler ; Set new keyboard handler 273F:0706 CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx 273F:0708 1F pop ds 273F:0709 80 0E 073C 40 or status_flags, STATUS_KEYBOARD_SET 273F:070E B4 19 mov ah,19h 273F:0710 CD 21 int 21h ; DOS Services ah=function 19h ; get default drive al (0=a:) 273F:0712 A2 0786 mov default_drive, al 273F:0715 CD 11 int 11h ; Put equipment bits in ax 273F:0717 A8 C0 test al,0C0h ; How many floppy drives attached? 273F:0719 75 05 jnz loc_59 ; Jump if not zero 273F:071B 80 0E 073D 80 or status_flags2, FLAG_HAS_FLOPPY_DRIVE 273F:0720 loc_59: ; xref 273F:0719 273F:0720 B8 3300 mov ax,3300h 273F:0723 CD 21 int 21h ; DOS Services ah=function 33h ; get ctrl-break flag in dl 273F:0725 88 16 073E mov old_ctrl_break_flag, dl 273F:0729 B8 3301 mov ax,3301h 273F:072C B2 00 mov dl,0 273F:072E CD 21 int 21h ; DOS Services ah=function 33h ; set ctrl-break flag dl=off/on 273F:0730 80 0E 073C 08 or status_flags, STATUS_CTRL_BREAK_SET 273F:0735 B8 0040 mov ax,40h 273F:0738 8E C0 mov es,ax 273F:073A 26: A0 0017 mov al,es:keybd_flags_1 ; (0040:0017=0) 273F:073E A2 073F mov data_546,al ; (31E4:073F=1) 273F:0741 B4 0F mov ah,0Fh 273F:0743 CD 10 int 10h ; Video display ah=functn 0Fh ; get state, al=mode, bh=page ; ah=columns on screen 273F:0745 A2 073B mov data_542,al ; (31E4:073B=0) 273F:0748 B4 00 mov ah,0 273F:074A A0 0743 mov al,video_mode ; (31E4:0743=0) 273F:074D CD 10 int 10h ; Video display ah=functn 00h ; set display mode in al 273F:074F 80 0E 073C 01 or status_flags, STATUS_VIDEO_MODE_SET 273F:0754 80 3E 0742 01 cmp video_style, VIDEO_STYLE_VGA 273F:0759 75 03 jne loc_60 ; Jump if not equal 273F:075B E8 3A27 call set_upper_vga_palette 273F:075E loc_60: ; xref 273F:0759 273F:075E E8 6E1B call show_startup ; (757C) 273F:0761 C7 06 11D6 00A0 mov mouse_x2, 160 ; Default mouse pos to center 273F:0767 C7 06 11D1 00A0 mov mouse_x, 160 273F:076D C7 06 11D8 0064 mov mouse_y2, 100 273F:0773 C7 06 11D3 0064 mov mouse_y, 100 273F:0779 B8 0000 mov ax,0 273F:077C CD 33 int 33h ; Mouse driver ax=func 0000h ; installed?, ax=0 no, =-1 yes ; bx=number of mouse buttons 273F:077E 0B C0 or ax,ax ; Zero ? 273F:0780 74 45 jz loc_61 ; Mouse not installed 273F:0782 1E push ds 273F:0783 0E push cs 273F:0784 07 pop es 273F:0785 úBA 1EE8 mov dx,offset mouse_handler 273F:0788 B9 007F mov cx,7Fh 273F:078B B8 000C mov ax,0Ch 273F:078E CD 33 int 33h ; Mouse driver ax=func 000Ch ; set user handler at es:dx ; cx=event mask 273F:0790 1F pop ds 273F:0791 80 0E 073C 80 or status_flags, STATUS_MOUSE_HANDLER_SET 273F:0796 B9 0000 mov cx,0 273F:0799 BA 027F mov dx, 639 273F:079C B8 0007 mov ax,7 273F:079F CD 33 int 33h ; Mouse driver ax=func 0007h ; set horz range 0 - 639 273F:07A1 B9 0000 mov cx,0 273F:07A4 BA 00C6 mov dx,0C6h 273F:07A7 B8 0008 mov ax,8 273F:07AA CD 33 int 33h ; Mouse driver ax=func 0008h ; set vert range 0 - 198 273F:07AC B8 0003 mov ax,3 273F:07AF CD 33 int 33h ; Mouse driver ax=func 0003h ; get position, cx=horz,dx=vert ; bx=mouse button status bits 273F:07B1 88 1E 11D5 mov mouse_buttons, bl ; (31E4:11D5=0) 273F:07B5 D1 E9 shr cx,1 ; Change 0-640 horiz to 0-320 273F:07B7 89 0E 11D6 mov mouse_x2,cx ; 273F:07BB 89 0E 11D1 mov mouse_x, cx 273F:07BF 89 16 11D8 mov mouse_y2,dx 273F:07C3 89 16 11D3 mov mouse_y, dx 273F:07C7 loc_61: ; xref 273F:0780 273F:07C7 80 26 11D0 FD and menubar_state, 0FDh ; (31E4:11D0=3) 273F:07CC C3 retn ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:04B6, AA1E 273F:07CD sub_10: 273F:07CD 8C D3 mov bx,ss 273F:07CF 8C C0 mov ax,es 273F:07D1 2B D8 sub bx,ax 273F:07D3 8B C4 mov ax,sp 273F:07D5 B1 04 mov cl,4 273F:07D7 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:07D9 03 D8 add bx,ax 273F:07DB 83 C3 03 add bx,3 273F:07DE 89 1E 0740 mov data_547,bx ; (31E4:0740=0) 273F:07E2 B4 4A mov ah,4Ah 273F:07E4 CD 21 int 21h ; DOS Services ah=function 4Ah ; change memory allocation ; bx=bytes/16, es=mem segment 273F:07E6 BB FFFF mov bx,0FFFFh 273F:07E9 B4 48 mov ah,48h 273F:07EB CD 21 int 21h ; DOS Services ah=function 48h ; allocate memory, bx=bytes/16 273F:07ED vga_no_implementation retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6614 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sub_11 proc near 273F:07EE C6 06 38B0 01 mov data_781, 1 273F:07F3 80 0E 11D0 01 or menubar_state, 1 ; (273F:11D0=56h) 273F:07F8 FF 16 075E call [show_cursor_proc] 273F:07FC 8C DD mov bp,ds 273F:07FE A1 4CE6 mov ax, talk_dialog_buffer 273F:0801 8E C0 mov es, ax 273F:0803 B1 03 mov cl,3 273F:0805 A1 11D8 mov ax, mouse_y2 273F:0808 A3 0784 mov saved_mouse_y, ax 273F:080B A1 11D6 mov ax, mouse_x2 273F:080E A3 0782 mov saved_mouse_x, ax 273F:0811 A1 076C mov ax, menu_items_proc 273F:0814 26: A3 3368 mov es:data_78e,ax ; (0874:3368=4758h) 273F:0818 A0 9835 mov al, num_inventory_items 273F:081B 26: A2 3360 mov es:data_76e,al ; (0874:3360=0FFh) 273F:081F A1 BC49 mov ax, num_groats 273F:0822 26: A3 337E mov es:data_88e,ax ; (0874:337E=0) 273F:0826 A1 4CE4 mov ax,word ptr ds:[data_segment2] 273F:0829 26: A3 3376 mov es:data_84e,ax ; (0874:3376=0A321h) 273F:082D A1 4CF2 mov ax, font_segment 273F:0830 26: A3 337B mov es:data_86e,ax ; (0874:337B=5806h) 273F:0834 A1 4CF0 mov ax, font2_segment 273F:0837 26: A3 3370 mov es:data_82e,ax ; (0874:3370=0F5Eh) 273F:083B 26: C7 06 3362 0000 mov word ptr es:data_77e,0 ; (0874:3362=0AF06h) 273F:0842 A1 1924 mov ax, hotspot_id 273F:0845 26: A3 3358 mov es:data_73e,ax ; (0874:3358=5E69h) 273F:0849 A1 9832 mov ax, room_number 273F:084C 26: A3 3356 mov es:data_72e,ax ; (0874:3356=289Ah) 273F:0850 A1 074C mov ax, menubar_block_size 273F:0853 26: A3 336A mov es:data_79e,ax ; (0874:336A=7500h) 273F:0857 A1 0748 mov ax, screen_width 273F:085A 26: A3 3374 mov es:data_83e,ax ; (0874:3374=1EA1h) 273F:085E A1 076A mov ax, display_character_proc 273F:0861 26: A3 336C mov es:data_80e,ax ; (0874:336C=9A07h) 273F:0865 A1 074A mov ax, char_width 273F:0868 26: A3 336E mov es:data_81e,ax ; (0874:336E=8090h) 273F:086C 8B 36 076E mov si, data_571 273F:0870 8B 04 mov ax,[si] 273F:0872 26: A3 33DE mov es:data_92e,ax ; (0874:33DE=0A21Dh) 273F:0876 8B 44 02 mov ax,[si+2] 273F:0879 26: A3 33DC mov es:data_91e,ax ; (0874:33DC=11A2h) 273F:087D úBF 33E0 mov di,data_93e ; (0874:33E0=0F2h) 273F:0880 B9 001B mov cx,1Bh 273F:0883 úBE 0720 mov si,720h ; (273F:0720=0B8h) 273F:0886 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:0888 06 push es 273F:0889 1F pop ds 273F:088A C3 retn sub_11 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:088B ú8E C5 action_handle_2: mov es,bp 273F:088D úBF 65F3 mov di, offset player_action_support_record 273F:0890 úBE 3382 mov si, offset data_3382 273F:0893 F7 04 FFFF test word ptr [si],0FFFFh 273F:0897 78 37 js loc_65 ; Jump if sign=1 273F:0899 loc_63: ; xref 273F:089F 273F:0899 úAD lodsw ; String [si] to ax 273F:089A 0B C0 or ax,ax ; Zero ? 273F:089C 78 03 js loc_64 ; Jump if sign=1 273F:089E A5 movsw ; Mov [si] to es:[di] 273F:089F EB F8 jmp short loc_63 ; (0899) 273F:08A1 loc_64: ; xref 273F:089C 273F:08A1 33 C0 xor ax,ax ; Zero register 273F:08A3 AB stosw ; Store ax to es:[di] 273F:08A4 8E DD mov ds,bp 273F:08A6 C6 06 9834 01 mov cursor_state, CURSORSTATE_ACTION 273F:08AB A3 1924 mov hotspot_id, ax 273F:08AE úBE 6CEF mov si, offset player_hotspot_rec 273F:08B1 89 44 52 mov [si+HS_DEST_HOTSPOT],ax 273F:08B4 88 44 2A mov [si+HS_ACTION_CTR],al 273F:08B7 88 44 FF mov [si-1],al 273F:08BA 8B DE mov bx,si 273F:08BC 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:08BF 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:08C2 89 44 42 mov [si+HS_DELAY_CTR], ax 273F:08C5 88 44 44 mov [si+HS_CHAR_MODE], al 273F:08C8 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:08CB C7 47 01 65F3 mov word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], offset player_action_support_record 273F:08D0 loc_65: 273F:08D0 8E DD mov ds,bp 273F:08D2 8B 0E 0782 mov cx, saved_mouse_x 273F:08D6 89 0E 11D6 mov mouse_x2, cx 273F:08DA 89 0E 11D1 mov mouse_x, cx 273F:08DE 8B 16 0784 mov dx, saved_mouse_y 273F:08E2 89 16 11D8 mov mouse_y2, dx 273F:08E6 89 16 11D3 mov mouse_y, dx 273F:08EA D1 E1 shl cx,1 ; Shift w/zeros fill 273F:08EC B8 0004 mov ax,4 273F:08EF CD 33 int 33h ; Mouse driver ax=func 0004h ; set position, cx=horz,dx=vert 273F:08F1 33 C0 xor ax,ax ; Zero register 273F:08F3 A2 11DA mov mouse_buttons2, al 273F:08F6 A2 38B0 mov data_781, al 273F:08F9 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:08FE FF 16 075E call [show_cursor_proc] 273F:0902 C3 retn ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:04B9 273F:0903 sub_12: 273F:0903 B4 62 mov ah,62h 273F:0905 CD 21 int 21h ; DOS Services ah=function 62h ; get Program Segment Prefix bx 273F:0907 8E C3 mov es,bx 273F:0909 26: F6 06 0080 FF test byte ptr es:data_8e,0FFh ; (0000:0080=0A0h) 273F:090F 74 31 jz loc_ret_70 ; Jump if zero 273F:0911 26: 8A 0E 0080 mov cl,es:data_8e ; (0000:0080=0A0h) 273F:0916 32 ED xor ch,ch ; Zero register 273F:0918 úBF 0081 mov di,data_8e+1 ; (0000:0081=1) 273F:091B locloop_66: ; xref 273F:0940 273F:091B 26: 8A 05 mov al,es:[di] 273F:091E 3C 65 cmp al,65h ; 'e' 273F:0920 75 07 jne loc_67 ; Jump if not equal assume ds:data_seg 273F:0922 80 36 0742 02 xor video_style, 2 273F:0927 EB 14 jmp short loc_69 ; (093D) 273F:0929 loc_67: ; xref 273F:0920 273F:0929 3C 6D cmp al,6Dh ; 'm' 273F:092B 75 07 jne loc_68 ; Jump if not equal 273F:092D 80 36 5660 08 xor music_status,8 273F:0932 EB 09 jmp short loc_69 ; (093D) 273F:0934 loc_68: ; xref 273F:092B 273F:0934 3C 69 cmp al,69h ; 'i' 273F:0936 75 05 jne loc_69 ; Jump if not equal 273F:0938 80 36 11D0 40 xor menubar_state, 40h ; (31E4:11D0=3) '@' 273F:093D loc_69: ; xref 273F:0927, 0932, 0936 273F:093D 83 C7 01 add di,1 273F:0940 E2 D9 loop locloop_66 ; Loop if cx > 0 273F:0942 loc_ret_70: ; xref 273F:090F 273F:0942 C3 retn 273F:0943 00 critical_error db 0 ; xref 273F:019B, 01B2, 01E5, 01F3 ; 021F, 0249, 0397, 03CA ; 0944 initialise endp ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; ; External Entry Point ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 273F:0944 critical_handler proc far ; xref 273F:06E2 assume ds:seg_code 273F:0944 2E: C6 06 0943 01 mov cs:critical_error,1 ; (273F:0943=0) 273F:094A 32 C0 xor al,al ; Zero register 273F:094C CF iret ; Interrupt return critical_handler endp ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; ; External Entry Point ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 273F:094D CB retf_proc retf ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0074, 7097, 70BA, 8FB5 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:094E clear_layer_rects proc near 273F:094E 1E push ds 273F:094F 07 pop es 273F:0950 úBF 0992 mov di,offset rects_layer_0 273F:0953 B8 FFFF mov ax,0FFFFh 273F:0956 B9 0200 mov cx,200h 273F:0959 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] assume ds:data_seg 273F:095B A1 4CE0 mov ax, current_room_id 273F:095E A3 4CE2 mov data_segment, ax ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:00AC, 3CBD, 411B, 7BB4, 8FC5, A825 273F:0961 clear_hotspot_rects: 273F:0961 1E push ds 273F:0962 07 pop es 273F:0963 úBF 0790 mov di,offset hotspot_rects_list 273F:0966 B8 8181 mov ax,8181h 273F:0969 B9 0100 mov cx,100h 273F:096C F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:096E C3 retn clear_layer_rects endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0077, 709A, 70BD, 8FB8 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_load_layers proc near 273F:096F loc_71: ; xref 273F:0977 273F:096F 80 26 11D0 DF and menubar_state, 0DFh 273F:0974 E8 F884 call read_and_validate_header 273F:0977 72 F6 jc loc_71 ; Jump back if error occurred 273F:0979 A1 4CE0 mov ax, current_room_id 273F:097C 50 push ax assume ds:seg_code 273F:097D 8B 1E 9832 mov bx, room_number 273F:0981 E8 0364 call get_room_resource_pointer ; At this point SI points to the data list for the room. For cell room, it's room=8181h to si=>c108h 273F:0984 BF 0D92 mov di, offset room_layers 273F:0987 83 C6 08 add si, ROOM_NUM_LAYERS 273F:098A 8A 2C mov ch, [si] ; Get # screens 273F:098C 83 C6 01 add si,1 ; Move to first layer id 273F:098F F7 06 BA25 FFFF test viewing_room, 0FFFFh ; Viewing room without being there? 273F:0995 74 03 jz loc_72 273F:0997 80 C5 01 add ch,1 ; If yes, inc # screens to load 273F:099A loc_72: 273F:099A BB 0992 mov bx, offset rects_layer_0 273F:099D 83 C3 4C add bx, offset rects_layer_0 - offset rects_layer_0 ; 4Ch 273F:09A0 32 C9 xor cl, cl ; Starting at layer 0 273F:09A2 loc_73: 273F:09A2 51 push cx 273F:09A3 56 push si 273F:09A4 53 push bx 273F:09A5 8B 04 mov ax,[si] ; Load the screen with palette 273F:09A7 E8 0226 call read_screen 273F:09AA A1 4CE0 mov ax, current_room_segment 273F:09AD 89 05 mov [di], ax ; Store seg for layer start 273F:09AF 57 push di 273F:09B0 8E C0 mov es, ax 273F:09B2 33 FF xor di,di ; Zero register 273F:09B4 FF 16 0750 call [segment_screen_proc] 273F:09B8 B1 04 mov cl,4 273F:09BA D3 EF shr di,cl ; Convert to # paragraphs 273F:09BC 01 3E 4CE0 add current_room_segment, di ; Increase by decoded size 273F:09C0 01 3E 4CE2 add data_segment, di 273F:09C4 5F pop di 273F:09C5 83 C7 02 add di,2 273F:09C8 A1 0DA2 mov ax, rectangle_size ; ax = 400h 273F:09CB 89 05 mov [di],ax 273F:09CD 83 C7 02 add di,2 273F:09D0 5B pop bx 273F:09D1 81 C3 0100 add bx,100h 273F:09D5 5E pop si 273F:09D6 83 C6 02 add si,2 273F:09D9 59 pop cx 273F:09DA 80 C1 01 add cl,1 273F:09DD 80 ED 01 sub ch,1 ; Decrement number of layers 273F:09E0 75 C0 jnz loc_73 ; Jump if not zero 273F:09E2 58 pop ax 273F:09E3 A3 4CE0 mov current_room_segment, ax 273F:09E6 C3 retn room_load_layers endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0081, 70C4, 8FBF ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:09E7 sub_16 proc near 273F:09E7 úBB 0ADE mov bx,offset data_593 ; (31E4:0ADE=0) 273F:09EA E8 000D call sub_17 ; (09FA) 273F:09ED úBB 0BDE mov bx,offset data_599 ; (31E4:0BDE=0) 273F:09F0 E8 0007 call sub_17 ; (09FA) 273F:09F3 úBB 0CDE mov bx,offset data_601 ; (31E4:0CDE=0) 273F:09F6 E8 0001 call sub_17 ; (09FA) 273F:09F9 C3 retn sub_16 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:09EA, 09F0, 09F6 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:09FA sub_17 proc near 273F:09FA B9 0006 mov cx,6 273F:09FD locloop_74: ; xref 273F:0A52 273F:09FD 51 push cx 273F:09FE 53 push bx 273F:09FF B5 0A mov ch,0Ah 273F:0A01 loc_75: ; xref 273F:0A4E 273F:0A01 53 push bx 273F:0A02 B1 06 mov cl,6 273F:0A04 32 D2 xor dl,dl ; Zero register 273F:0A06 loc_76: ; xref 273F:0A45 273F:0A06 80 3F FF cmp byte ptr [bx],0FFh 273F:0A09 75 04 jne loc_77 ; Jump if not equal 273F:0A0B 32 D2 xor dl,dl ; Zero register 273F:0A0D EB 30 jmp short loc_81 ; (0A3F) 273F:0A0F loc_77: ; xref 273F:0A09 273F:0A0F F6 C2 02 test dl,2 273F:0A12 74 0A jz loc_78 ; Jump if zero 273F:0A14 80 7F FF FF cmp byte ptr [bx-1],0FFh 273F:0A18 75 04 jne loc_78 ; Jump if not equal 273F:0A1A C6 47 FF FE mov byte ptr [bx-1],0FEh 273F:0A1E loc_78: ; xref 273F:0A12, 0A18 273F:0A1E F6 C2 04 test dl,4 273F:0A21 74 0A jz loc_79 ; Jump if zero 273F:0A23 80 7F 01 FF cmp byte ptr [bx+1],0FFh 273F:0A27 75 04 jne loc_79 ; Jump if not equal 273F:0A29 C6 47 01 FE mov byte ptr [bx+1],0FEh 273F:0A2D loc_79: ; xref 273F:0A21, 0A27 273F:0A2D 80 7F FF FF cmp byte ptr [bx-1],0FFh 273F:0A31 74 03 je loc_80 ; Jump if equal 273F:0A33 80 CA 02 or dl,2 273F:0A36 loc_80: ; xref 273F:0A31 273F:0A36 80 7F 01 FF cmp byte ptr [bx+1],0FFh 273F:0A3A 74 03 je loc_81 ; Jump if equal 273F:0A3C 80 CA 04 or dl,4 273F:0A3F loc_81: ; xref 273F:0A0D, 0A3A 273F:0A3F 83 C3 12 add bx,12h 273F:0A42 80 E9 01 sub cl,1 273F:0A45 75 BF jnz loc_76 ; Jump if not zero 273F:0A47 5B pop bx 273F:0A48 83 C3 01 add bx,1 273F:0A4B 80 ED 01 sub ch,1 273F:0A4E 75 B1 jnz loc_75 ; Jump if not zero 273F:0A50 5B pop bx 273F:0A51 59 pop cx 273F:0A52 E2 A9 loop locloop_74 ; Loop if cx > 0 273F:0A54 C3 retn sub_17 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1549, 15EF ; di = anim slot entry ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0A55 room_add_layer proc near 273F:0A55 8B 05 mov ax, [di] ; Get X start 273F:0A57 8B 5D 04 mov bx, [di+ANIM_WIDTH] ; Get width 273F:0A5A 03 D8 add bx, ax 273F:0A5C B1 05 mov cl,5 273F:0A5E D3 E8 shr ax,cl ; ax=X rect start 273F:0A60 D3 EB shr bx,cl ; bx=X rect end 273F:0A62 2B D8 sub bx, ax 273F:0A64 83 C3 01 add bx, 1 ; bx = num horiz rects 273F:0A67 89 1E 0DAA mov num_horiz_rects, bx 273F:0A6B 8B D8 mov bx, ax 273F:0A6D 8B 45 02 mov ax, [di+ANIM_Y] ; Get Y position 273F:0A70 8B 55 15 mov dx, [di+ANIM_HEIGHT_COPY] ; Get height copy 273F:0A73 2D 0008 sub ax, 8 273F:0A76 03 D0 add dx, ax 273F:0A78 83 EA 01 sub dx, 1 273F:0A7B B1 05 mov cl, 5 273F:0A7D D3 E8 shr ax, cl ; ax=Y rect start 273F:0A7F D3 EA shr dx, cl ; dx=Y rect end 273F:0A81 2B D0 sub dx, ax ; dx=num vert rects-1 273F:0A83 89 1E 0DA6 mov rect_x_start, bx 273F:0A87 89 16 0DAC mov num_vert_rects, dx 273F:0A8B 83 06 0DAC 01 add num_vert_rects, 1 273F:0A90 03 C2 add ax, dx 273F:0A92 A3 0DA8 mov rect_y_end, ax 273F:0A95 D1 E0 shl ax,1 ; ax=y*2 273F:0A97 8B F8 mov di,ax ; di=y*2 273F:0A99 B1 03 mov cl,3 273F:0A9B D3 E0 shl ax,cl ; ax=y*16 273F:0A9D 03 C7 add ax,di ; ax=y*18 273F:0A9F 03 C3 add ax,bx ; ax = yend*18 + x 273F:0AA1 8B D8 mov bx,ax ; ax/bx = list start 273F:0AA3 8B 0E 0DAA mov cx, num_horiz_rects ; cx = num horiz rects, 273F:0AA7 locloop_82: 273F:0AA7 51 push cx 273F:0AA8 53 push bx 273F:0AA9 8B 16 0DA6 mov dx, rect_x_start 273F:0AAD 83 EA 04 sub dx, 4 273F:0AB0 72 3F jc loc_86 ; Jump if carry Set 273F:0AB2 úBF 0A92 mov di, offset rects_layer_1 273F:0AB5 BE 0D96 mov si, offset room_layers + 4 ; layer 1 273F:0AB8 B9 0003 mov cx, 3 ; 3 layers 273F:0ABB locloop_83: ; xref 273F:0AC7 273F:0ABB 80 39 FF cmp byte ptr [bx+di], 0FFh ; Rect was empty? 273F:0ABE 75 0B jne loc_84 ; If yes, then handle 273F:0AC0 81 C7 0100 add di, 100h ; Check remaining layers 273F:0AC4 83 C6 04 add si, 4 ; Next room_layers entry 273F:0AC7 E2 F2 loop locloop_83 ; Loop layers 273F:0AC9 EB 26 jmp short loc_86 273F:0ACB loc_84: 273F:0ACB 8B E9 mov bp,cx ; Save layer # 273F:0ACD 8B 0E 0DAC mov cx,num_vert_rects 273F:0AD1 A1 0DA8 mov ax,rect_y_end 273F:0AD4 2D 0004 sub ax,4 273F:0AD7 locloop_85: ; xref 273F:0AEF 273F:0AD7 50 push ax 273F:0AD8 51 push cx 273F:0AD9 57 push di 273F:0ADA 52 push dx 273F:0ADB 53 push bx 273F:0ADC 56 push si 273F:0ADD FF 16 075C call [add_rect_proc] ; Add rect area (32x32) 273F:0AE1 5E pop si 273F:0AE2 5B pop bx 273F:0AE3 5A pop dx 273F:0AE4 5F pop di 273F:0AE5 59 pop cx 273F:0AE6 58 pop ax 273F:0AE7 83 EB 12 sub bx, FULL_HORIZ_RECTS 273F:0AEA 2D 0001 sub ax, 1 273F:0AED 72 02 jc loc_86 ; Loop for remaining rows 273F:0AEF E2 E6 loop locloop_85 273F:0AF1 loc_86: 273F:0AF1 5B pop bx 273F:0AF2 83 C3 01 add bx, 1 273F:0AF5 59 pop cx 273F:0AF6 83 06 0DA6 01 add rect_x_start, 1 273F:0AFB E2 AA loop locloop_82 ; Loop for remaining cols 273F:0AFD C3 retn room_add_layer endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0084, 70C7, 8FC2 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0AFE sub_19 proc near 273F:0AFE úBE 0B38 mov si,offset data_598 ; (31E4:0B38=0) 273F:0B01 B9 0003 mov cx,3 273F:0B04 locloop_87: ; xref 273F:0B25 273F:0B04 úBB 0009 mov bx,offset copyright+9 ; (31E4:0009=' ') 273F:0B07 loc_88: ; xref 273F:0B1F 273F:0B07 80 38 FF cmp byte ptr [bx+si],0FFh 273F:0B0A 74 10 je loc_89 ; Jump if equal 273F:0B0C C6 40 12 FE mov byte ptr [bx+si+12h],0FEh 273F:0B10 C6 40 24 FE mov byte ptr [bx+si+24h],0FEh 273F:0B14 C6 40 36 FE mov byte ptr [bx+si+36h],0FEh 273F:0B18 C6 40 48 FE mov byte ptr [bx+si+48h],0FEh 273F:0B1C loc_89: ; xref 273F:0B0A 273F:0B1C 83 EB 01 sub bx,1 273F:0B1F 73 E6 jnc loc_88 ; Jump if carry=0 273F:0B21 81 C6 0100 add si,100h 273F:0B25 E2 DD loop locloop_87 ; Loop if cx > 0 273F:0B27 C3 retn sub_19 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1546, 15EC, 1631, 3CF9 ; di = anim slot ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ flag_covered_cells proc near 273F:0B28 50 push ax 273F:0B29 8B 5D 02 mov bx, [di+ANIM_Y] 273F:0B2C 83 EB 08 sub bx, MENUBAR_Y_SIZE 273F:0B2F 8B C3 mov ax, bx ; bx = Y start 273F:0B31 03 45 06 add ax, [di+ANIM_HEIGHT] 273F:0B34 2D 0001 sub ax, 1 ; ax = Y end 273F:0B37 B1 05 mov cl, 5 273F:0B39 D3 E8 shr ax, cl ; ax=Y end/32 273F:0B3B D3 EB shr bx, cl ; bx=Y start/32 273F:0B3D 2B C3 sub ax, bx 273F:0B3F 05 0001 add ax, 1 ; ax=# vert rects 273F:0B42 50 push ax 273F:0B43 D1 E3 shl bx, 1 273F:0B45 8B D3 mov dx, bx 273F:0B47 B1 03 mov cl, 3 273F:0B49 D3 E3 shl bx, cl 273F:0B4B 03 DA add bx, dx ; The screen is broken down into a set of 10x6 32x32 cells. ; bx = vertical cell rect block * 10 273F:0B4D 8B 15 mov dx, [di] ; dx = X start 273F:0B4F 8B 45 04 mov ax, [di+ANIM_WIDTH] 273F:0B52 03 C2 add ax, dx 273F:0B54 2D 0001 sub ax, 1 ; ax = X end 273F:0B57 B1 05 mov cl, 5 273F:0B59 D3 EA shr dx, cl ; dx = X start/32 273F:0B5B D3 E8 shr ax, cl ; ax = X end/32 273F:0B5D 2B C2 sub ax, dx 273F:0B5F 03 DA add bx, dx ; bx = start rect index 273F:0B61 ú81 C3 0790 add bx, offset hotspot_rects_list 273F:0B65 05 0001 add ax, 1 ; ax = # horiz rects 273F:0B68 5D pop bp 273F:0B69 5A pop dx ; Loop, bp = number of cell rows, ax = number of cell cols 273F:0B6A loc_90: 273F:0B6A 8B C8 mov cx, ax 273F:0B6C 53 push bx 273F:0B6D locloop_91: 273F:0B6D 08 17 or [bx], dl ; Enable cell rect 273F:0B6F 80 8F 0100 01 or byte ptr [bx+100h], 1 273F:0B74 83 C3 01 add bx, 1 273F:0B77 E2 F4 loop locloop_91 ; Loop through horiz # cells 273F:0B79 5B pop bx 273F:0B7A 83 C3 12 add bx, FULL_HORIZ_RECTS 273F:0B7D 83 ED 01 sub bp, 1 ; Loop through vert # cells 273F:0B80 75 E8 jnz loc_90 273F:0B82 C3 retn flag_covered_cells endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1447, 3307, 6D22, 6FDD, 8B52 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0B83 sub_21 proc near 273F:0B83 loc_92: ; xref 273F:23E7, 2450, 8CD8, 9333 273F:0B83 ú51 push cx 273F:0B84 B1 03 mov cl,3 273F:0B86 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:0B88 D3 E3 shl bx,cl ; Shift w/zeros fill 273F:0B8A D3 E5 shl bp,cl ; Shift w/zeros fill 273F:0B8C D3 E2 shl dx,cl ; Shift w/zeros fill 273F:0B8E 59 pop cx ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:3291, 62D6, 8BE5, 8BFA 273F:0B8F sub_22: 273F:0B8F loc_93: ; xref 273F:2272, 33B0 273F:0B8F ú51 push cx 273F:0B90 03 E8 add bp,ax 273F:0B92 03 D3 add dx,bx 273F:0B94 83 C5 1F add bp,1Fh 273F:0B97 83 C2 1F add dx,1Fh 273F:0B9A B1 05 mov cl,5 273F:0B9C D3 E8 shr ax,cl ; Shift w/zeros fill 273F:0B9E D3 EB shr bx,cl ; Shift w/zeros fill 273F:0BA0 D3 ED shr bp,cl ; Shift w/zeros fill 273F:0BA2 D3 EA shr dx,cl ; Shift w/zeros fill 273F:0BA4 2B E8 sub bp,ax 273F:0BA6 2B D3 sub dx,bx 273F:0BA8 93 xchg bx,ax 273F:0BA9 05 0004 add ax,4 273F:0BAC B1 12 mov cl,12h 273F:0BAE F6 E1 mul cl ; ax = reg * al 273F:0BB0 03 C3 add ax,bx 273F:0BB2 05 0794 add ax, offset hotspot_rects_list + 4 ; 794h 273F:0BB5 8B D8 mov bx,ax 273F:0BB7 58 pop ax 273F:0BB8 loc_94: ; xref 273F:0BCD 273F:0BB8 53 push bx 273F:0BB9 8B CD mov cx,bp 273F:0BBB locloop_95: ; xref 273F:0BC4 273F:0BBB 08 07 or [bx],al 273F:0BBD 08 87 0100 or byte ptr ds:[100h][bx],al ; (273F:0100=6) 273F:0BC1 83 C3 01 add bx,1 273F:0BC4 E2 F5 loop locloop_95 ; Loop if cx > 0 273F:0BC6 5B pop bx 273F:0BC7 83 C3 12 add bx,12h 273F:0BCA 83 EA 01 sub dx,1 273F:0BCD 75 E9 jnz loc_94 ; Jump if not zero 273F:0BCF C3 retn sub_21 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:09A7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0BD0 read_screen proc near 273F:0BD0 53 push bx 273F:0BD1 51 push cx 273F:0BD2 57 push di 273F:0BD3 8B 0E 4CE2 mov cx, data_segment 273F:0BD7 BA 0080 mov dx, ENTRY_READ_BUFFER 273F:0BDA E8 F737 call read_entry ; (0314) 273F:0BDD A1 4CE2 mov ax, data_segment 273F:0BE0 8E C0 mov es,ax 273F:0BE2 26: A1 0080 mov ax,es:[ENTRY_READ_BUFFER] 273F:0BE6 86 E0 xchg ah,al 273F:0BE8 25 FFFE and ax,0FFFEh 273F:0BEB 3D 0140 cmp ax,140h 273F:0BEE 74 2F je loc_97 ; Jump if equal 273F:0BF0 A1 4CE4 mov ax, data_segment2 273F:0BF3 8E C0 mov es,ax 273F:0BF5 8B 16 4CE2 mov dx,data_segment 273F:0BF9 E8 2D8E call decode_file_entry 273F:0BFC 8B 1E 9832 mov bx, room_number ; Check if already processing 273F:0C00 3A 1E 1456 cmp bl, current_room_num ; this room (if so, no need 273F:0C04 74 15 je loc_96 ; to reload palette) 273F:0C06 53 push bx 273F:0C07 E8 00DE call get_room_resource_pointer 273F:0C0A 8B 44 09 mov ax, [si+ROOM_FIRST_LAYER] 273F:0C0D 25 FFE0 and ax, 0FFE0h 273F:0C10 2D 0001 sub ax,1 273F:0C13 E8 2EB1 call read_palette ; Get the palette 273F:0C16 5B pop bx 273F:0C17 88 1E 1456 mov current_room_num, bl 273F:0C1B loc_96: 273F:0C1B 5F pop di 273F:0C1C 59 pop cx 273F:0C1D 5B pop bx 273F:0C1E C3 retn 273F:0C1F loc_97: ; xref 273F:0BEE 273F:0C1F 83 3E 9832 31 cmp room_number, 31h 273F:0C24 75 05 jne loc_98 ; Jump if not equal 273F:0C26 B8 F1FF mov ax,0F1FFh 273F:0C29 EB 0A jmp short loc_99 ; (0C35) 273F:0C2B loc_98: ; xref 273F:0C24 273F:0C2B 83 3E 9832 06 cmp room_number, 6 273F:0C30 75 0D jne loc_100 ; Jump if not equal 273F:0C32 B8 45FF mov ax,45FFh 273F:0C35 loc_99: ; xref 273F:0C29 273F:0C35 E8 2E8F call read_palette ; (3AC7) 273F:0C38 C6 06 1456 FF mov current_room_num, 0FFh 273F:0C3D EB 23 jmp short loc_101 ; (0C62) 273F:0C3F loc_100: ; xref 273F:0C30 273F:0C3F 80 3E 1456 FF cmp current_room_num, 0FFh 273F:0C44 75 1C jne loc_101 ; Jump if not equal 273F:0C46 A0 00B1 mov al,data_526 ; (31E4:00B1=1) 273F:0C49 2C 05 sub al,5 273F:0C4B D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0C4D D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0C4F D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0C51 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0C53 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0C55 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0C57 0D 00FF or ax,0FFh 273F:0C5A E8 2E6A call read_palette ; (3AC7) 273F:0C5D C6 06 1456 00 mov current_room_num, 0 273F:0C62 loc_101: ; xref 273F:0C3D, 0C44 273F:0C62 A1 4CE4 mov ax, data_segment2 273F:0C65 8E C0 mov es,ax 273F:0C67 8B 16 4CE2 mov dx,data_segment 273F:0C6B E8 17FC call ega_decode_entry 273F:0C6E 8B D1 mov dx,cx 273F:0C70 83 EA 01 sub dx,1 273F:0C73 D1 EA shr dx,1 ; Shift w/zeros fill 273F:0C75 D1 EA shr dx,1 ; Shift w/zeros fill 273F:0C77 D1 EA shr dx,1 ; Shift w/zeros fill 273F:0C79 D1 EA shr dx,1 ; Shift w/zeros fill 273F:0C7B 83 C2 01 add dx,1 273F:0C7E 5F pop di 273F:0C7F 59 pop cx 273F:0C80 5B pop bx 273F:0C81 C3 retn read_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00A0 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0C82 hotspots_load proc near 273F:0C82 BF 5EB8 mov di, offset hotspot_table_5 273F:0C85 BB 0407 mov bx,407h 273F:0C88 E8 0006 call hotspots_load_2 273F:0C8B úBF 623E mov di, offset hotspot_table_3 273F:0C8E BB 270F mov bx,270Fh ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:0C88 273F:0C91 hotspots_load_2: 273F:0C91 loc_102: ; xref 273F:0CA5, 0CBB, 0CC3 273F:0C91 ú83 C3 01 add bx,1 273F:0C94 8B 35 mov si,[di] ; Get hotspot offset 273F:0C96 83 FE FF cmp si,0FFFFh 273F:0C99 74 2A je loc_ret_106 273F:0C9B 83 C7 09 add di,9 ; Move to next hotspot header 273F:0C9E 8B 54 06 mov dx,[si+6] ; Get room number 273F:0CA1 3B 16 9832 cmp dx, room_number ; Is it the current room? 273F:0CA5 75 EA jne loc_102 ; No, so move to next hotspot 273F:0CA7 57 push di 273F:0CA8 úBF B14E mov di, offset animation_table 273F:0CAB B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:0CAE locloop_103: 273F:0CAE 3B 5D 1B cmp bx,[di+ANIM_HOTSPOT_ID] ; Already present? 273F:0CB1 74 07 je loc_104 ; If yes, don't add 273F:0CB3 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:0CB6 E2 F6 loop locloop_103 ; Check remaining entries 273F:0CB8 EB 03 jmp short loc_105 ; Jump to add entry 273F:0CBA loc_104: 273F:0CBA 5F pop di 273F:0CBB EB D4 jmp short loc_102 ; (0C91) 273F:0CBD loc_105: ; xref 273F:0CB8 273F:0CBD 53 push bx ; Add hotspot entry 273F:0CBE E8 0008 call animation_load_entry_2 273F:0CC1 5B pop bx 273F:0CC2 5F pop di 273F:0CC3 EB CC jmp short loc_102 ; Check remaining hotspots 273F:0CC5 loc_ret_106: 273F:0CC5 C3 retn hotspots_load endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:965C, 9690 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0CC6 animation_load_entry: proc near 273F:0CC6 úE8 001F call get_room_resource_pointer ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:0CBE 273F:0CC9 animation_load_entry_2: 273F:0CC9 F7 44 0B FFFF test word ptr [si+HS_ANIM_OFFSET], 0FFFFh ; Already acive? 273F:0CCE 75 F5 jnz loc_ret_106 ; Jump if yes 273F:0CD0 80 7C 15 FF cmp byte ptr [si+HS_LAYER], 0FFh ; Does hotspot have a layer? 273F:0CD4 74 EF je loc_ret_106 ; Jump if no 273F:0CD6 80 64 07 7F and byte ptr [si+7],7Fh ; Deactivate any suppression bit on room # 273F:0CDA 8B 44 09 mov ax, [si+HS_LOAD_OFFSET] 273F:0CDD F6 44 08 FF test byte ptr [si+HS_LOAD_FLAG],0FFh 273F:0CE1 75 02 jnz loc_108 ; Jump if not zero 273F:0CE3 FF E0 jmp ax 273F:0CE5 loc_108: ; xref 273F:0CE1 273F:0CE5 E9 314C jmp sequence_execute animation_load_entry endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0092, 0981, 0C07, 0CC6, 10AE, 1205, 46A4 ; 46FE, 4703, 508F, 612B, 613D, 614D, 6267 ; 6397, 64EA, 65AA, 65C1, 715D, 7164, 716F ; 76C4, 79C8, 7BF4, 7C03, 7C0B, 8277, 827F ; 8E6C, 9E8E, 9EB5, 9EBD, 9EC9, 9EE4, 9EF3 ; 9F16, 9F59 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0CE8 get_room_resource_pointer proc near 273F:0CE8 8B C3 mov ax, bx ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:004F, 11D1, 1481, 1490, 1A98, 428C, 4531 ; 45C2, 45D1, 47E1, 547B, 5672, 58A2, 5AA7 ; 5B08, 5B82, 5BE6, 5C0E, 5CF1, 5D23, 5DC0 ; 5E90, 63BD, 6574, 664D, 82DB, 8422, 89D1 ; 8DAF, 8DC4, 99C2, 99FC, A158 273F:0CEA get_room_resource_pointer2: 273F:0CEA BE BF40 mov si, offset room_info_table 273F:0CED 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:0CF0 78 20 js loc_111 ; Jump if sign=1 273F:0CF2 3D 2710 cmp ax, START_EXIT_HOTSPOT_ID 273F:0CF5 73 08 jae loc_109 ; Jump if above or = 273F:0CF7 BE 5D98 mov si, offset hotspot_table_2 273F:0CFA 2D 03E8 sub ax, PLAYER_HOTSPOT_ID 273F:0CFD EB 13 jmp short loc_111 ; (0D12) 273F:0CFF loc_109: ; xref 273F:0CF5 273F:0CFF 3D 4E20 cmp ax,4E20h 273F:0D02 73 08 jae loc_110 ; Jump if above or = 273F:0D04 BE 623E mov si, offset hotspot_table_3 273F:0D07 2D 2710 sub ax, START_EXIT_HOTSPOT_ID 273F:0D0A EB 06 jmp short loc_111 ; (0D12) 273F:0D0C loc_110: ; xref 273F:0D02 273F:0D0C úBE 63B1 mov si, offset hotspot_table_4 273F:0D0F 2D 7530 sub ax,7530h 273F:0D12 loc_111: ; xref 273F:0CF0, 0CFD, 0D0A 273F:0D12 03 F0 add si,ax 273F:0D14 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0D16 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0D18 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0D1A 03 F0 add si,ax 273F:0D1C 8B 34 mov si,[si] ; Get reference from table 273F:0D1E C3 retn get_room_resource_pointer endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:62FC, 6943, 87DB, 87E4, 8E8A ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0D1F get_room_resource_pointer3 proc near 273F:0D1F 8B C3 mov ax,bx ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:1378, 5452, 596E, 59B8, 5B5D, 7EB4, 8A6D 273F:0D21 get_room_resource_pointer4: 273F:0D21 BE BF40 mov si, offset room_info_table 273F:0D24 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:0D27 72 20 jb loc_114 ; Jump if below 273F:0D29 3D 2710 cmp ax, START_EXIT_HOTSPOT_ID 273F:0D2C 73 08 jae loc_112 ; Jump if above or = 273F:0D2E BE 5D98 mov si, offset hotspot_table_2 273F:0D31 2D 03E8 sub ax, PLAYER_HOTSPOT_ID 273F:0D34 EB 13 jmp short loc_114 ; (0D49) 273F:0D36 loc_112: ; xref 273F:0D2C 273F:0D36 3D 4E20 cmp ax,4E20h 273F:0D39 73 08 jae loc_113 ; Jump if above or = 273F:0D3B BE 623E mov si, offset hotspot_table_3 273F:0D3E 2D 2710 sub ax, START_EXIT_HOTSPOT_ID 273F:0D41 EB 06 jmp short loc_114 ; (0D49) 273F:0D43 loc_113: ; xref 273F:0D39 273F:0D43 BE 63B1 mov si, offset hotspot_table_4 273F:0D46 2D 7530 sub ax,7530h 273F:0D49 loc_114: ; xref 273F:0D27, 0D34, 0D41 273F:0D49 03 F0 add si,ax 273F:0D4B D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0D4D D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0D4F D1 E0 shl ax,1 ; Shift w/zeros fill 273F:0D51 03 F0 add si,ax 273F:0D53 C3 retn get_room_resource_pointer3 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:669E, 66B3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0D54 sub_32 proc near 273F:0D54 1E push ds 273F:0D55 1E push ds 273F:0D56 07 pop es 273F:0D57 8E DD mov ds,bp 273F:0D59 55 push bp 273F:0D5A úBF 31E6 mov di,31E6h ; (273F:31E6=0CDh) 273F:0D5D 26: C7 45 FE 0000 mov word ptr es:[di-2],0 273F:0D63 úBE 623E mov si, offset hotspot_table_3 273F:0D66 BD 2710 mov bp, START_EXIT_HOTSPOT_ID 273F:0D69 E8 0003 call sub_33 ; (0D6F) 273F:0D6C 5D pop bp 273F:0D6D 1F pop ds 273F:0D6E loc_ret_115: ; xref 273F:0D74 273F:0D6E C3 retn sub_32 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0D69 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0D6F sub_33 proc near 273F:0D6F loc_116: ; xref 273F:0DAD 273F:0D6F ú8B 1C mov bx,[si] 273F:0D71 83 FB FF cmp bx,0FFFFh 273F:0D74 74 F8 je loc_ret_115 ; Jump if equal 273F:0D76 81 7F 06 03E8 cmp word ptr [bx+6], PLAYER_HOTSPOT_ID 273F:0D7B 75 2A jne loc_118 ; Jump if not equal 273F:0D7D 8A 44 08 mov al,[si+8] 273F:0D80 3C 0F cmp al,0Fh 273F:0D82 74 06 je loc_117 ; Jump if equal 273F:0D84 84 06 9836 test al,ds:data_55e ; (0000:9836=46h) 273F:0D88 74 1D jz loc_118 ; Jump if zero 273F:0D8A loc_117: ; xref 273F:0D82 273F:0D8A 8B C5 mov ax,bp 273F:0D8C AB stosw ; Store ax to es:[di] 273F:0D8D B0 01 mov al,1 273F:0D8F AA stosb ; Store al to es:[di] 273F:0D90 8B 44 02 mov ax,[si+2] 273F:0D93 80 E4 1F and ah,1Fh 273F:0D96 1E push ds 273F:0D97 56 push si 273F:0D98 06 push es 273F:0D99 06 push es 273F:0D9A 1F pop ds 273F:0D9B E8 6F9C call decode_string 273F:0D9E 07 pop es 273F:0D9F 5E pop si 273F:0DA0 1F pop ds 273F:0DA1 26: 83 06 31E4 01 add word ptr es:[31E4h],1 ; (273F:31E4=0E4h) 273F:0DA7 loc_118: ; xref 273F:0D7B, 0D88 273F:0DA7 83 C5 01 add bp,1 273F:0DAA 83 C6 09 add si,9 273F:0DAD EB C0 jmp short loc_116 ; (0D6F) sub_33 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:66EC, 6787, 680A, 6827, 684A ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0DAF sub_34 proc near 273F:0DAF C7 06 31E4 0000 mov word ptr ds:[31E4h],0 ; (273F:31E4=0E4h) 273F:0DB5 C7 06 30D4 0000 mov hotspot_display_buffer, 0 273F:0DBB 2D 0001 sub ax,1 273F:0DBE 33 DB xor bx,bx ; Zero register 273F:0DC0 3C 10 cmp al,10h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 36 273F:0DC2 72 05 jb loc_119 ; Jump if below 273F:0DC4 úBB 0002 mov bx,data_1e+2 ; (0000:0002=0) 273F:0DC7 2C 10 sub al,10h 273F:0DC9 loc_119: ; xref 273F:0DC2 273F:0DC9 BA 0001 mov dx,1 273F:0DCC 8A C8 mov cl,al 273F:0DCE D3 E2 shl dx,cl ; Shift w/zeros fill 273F:0DD0 1E push ds 273F:0DD1 07 pop es 273F:0DD2 8E DD mov ds,bp 273F:0DD4 úBF 31E6 mov di,31E6h ; (273F:31E6=0CDh) 273F:0DD7 26: 8B 0E 3379 mov cx,es:data_266 ; (273F:3379=62C0h) 273F:0DDC úBE BF49 mov si,data_58e ; (0000:BF49=5) 273F:0DDF BD 0001 mov bp,1 273F:0DE2 E8 0029 call sub_35 ; (0E0E) 273F:0DE5 úBE 5D98 mov si, offset hotspot_table_2 273F:0DE8 BD 03E8 mov bp, PLAYER_HOTSPOT_ID 273F:0DEB E8 0020 call sub_35 ; (0E0E) 273F:0DEE úBE 5EB8 mov si, offset hotspot_table_5 273F:0DF1 BD 0408 mov bp, FIRST_OBJECT_HOTSPOT_ID 273F:0DF4 E8 0017 call sub_35 ; (0E0E) 273F:0DF7 úBE 623E mov si, offset hotspot_table_3 273F:0DFA BD 2710 mov bp, START_EXIT_HOTSPOT_ID 273F:0DFD E8 000E call sub_35 ; (0E0E) 273F:0E00 úBE 63B1 mov si, offset hotspot_table_4 273F:0E03 BD 7530 mov bp,7530h 273F:0E06 E8 0005 call sub_35 ; (0E0E) 273F:0E09 8C DD mov bp,ds 273F:0E0B 06 push es 273F:0E0C 1F pop ds 273F:0E0D C3 retn sub_34 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0DE2, 0DEB, 0DF4, 0DFD, 0E06 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0E0E sub_35 proc near 273F:0E0E loc_120: ; xref 273F:0EAD 273F:0E0E ú56 push si 273F:0E0F 83 3C FF cmp word ptr [si],0FFFFh 273F:0E12 75 02 jne loc_121 ; Jump if not equal 273F:0E14 5E pop si 273F:0E15 C3 retn 273F:0E16 loc_121: ; xref 273F:0E12 273F:0E16 8A 44 08 mov al,[si+8] 273F:0E19 3C 0F cmp al,0Fh 273F:0E1B 74 09 je loc_122 ; Jump if equal 273F:0E1D 84 06 9836 test al,ds:data_96e ; (2711:9836=3Ch) 273F:0E21 75 03 jnz loc_122 ; Jump if not zero 273F:0E23 E9 0080 jmp loc_128 ; (0EA6) 273F:0E26 loc_122: ; xref 273F:0E1B, 0E21 273F:0E26 8B 44 02 mov ax,[si+2] 273F:0E29 8B 34 mov si,[si] 273F:0E2B F6 44 03 20 test byte ptr [si+3],20h ; ' ' 273F:0E2F 75 75 jnz loc_128 ; Jump if not zero 273F:0E31 F6 44 03 80 test byte ptr [si+3],80h 273F:0E35 74 6F jz loc_128 ; Jump if zero 273F:0E37 81 FD 03E8 cmp bp, PLAYER_HOTSPOT_ID 273F:0E3B 72 18 jb loc_124 ; Jump if below 273F:0E3D F6 44 03 10 test byte ptr [si+3],10h 273F:0E41 74 05 jz loc_123 ; Jump if zero 273F:0E43 39 4C 06 cmp [si+6],cx 273F:0E46 75 5E jne loc_128 ; Jump if not equal 273F:0E48 loc_123: ; xref 273F:0E41 273F:0E48 26: 3B 2E 3350 cmp bp,es:data_43e ; (0000:3350=0C033h) 273F:0E4D 74 57 je loc_128 ; Jump if equal 273F:0E4F 3B 2E 1924 cmp bp, hotspot_id 273F:0E53 74 51 je loc_128 ; Jump if equal 273F:0E55 loc_124: ; xref 273F:0E3B 273F:0E55 85 10 test dx,[bx+si] 273F:0E57 74 4D jz loc_128 ; Jump if zero 273F:0E59 3D 017A cmp ax,17Ah 273F:0E5C 74 43 je loc_127 ; Jump if equal 273F:0E5E 3D 0147 cmp ax,147h 273F:0E61 74 3E je loc_127 ; Jump if equal 273F:0E63 úBE 30D6 mov si,data_41e ; (0000:30D6=81h) 273F:0E66 26: 8B 0E 30D4 mov cx,es:data_40e ; (0000:30D4=6AEh) 273F:0E6B 0B C9 or cx,cx ; Zero ? 273F:0E6D 74 0A jz loc_126 ; Jump if zero 273F:0E6F locloop_125: ; xref 273F:0E77 273F:0E6F 26: 3B 04 cmp ax,es:[si] 273F:0E72 74 2D je loc_127 ; Jump if equal 273F:0E74 83 C6 02 add si,2 273F:0E77 E2 F6 loop locloop_125 ; Loop if cx > 0 273F:0E79 loc_126: ; xref 273F:0E6D 273F:0E79 26: 89 2D mov es:[di],bp 273F:0E7C 26: C6 45 02 01 mov byte ptr es:[di+2],1 273F:0E81 83 C7 03 add di,3 273F:0E84 26: 83 06 31E4 01 add word ptr es:data31e4, 1 273F:0E8A 26: 89 04 mov es:[si],ax 273F:0E8D 26: 83 06 30D4 01 add word ptr es:data_40e,1 ; (0000:30D4=6AEh) 273F:0E93 1E push ds 273F:0E94 06 push es 273F:0E95 1F pop ds 273F:0E96 53 push bx 273F:0E97 52 push dx 273F:0E98 80 E4 1F and ah,1Fh 273F:0E9B E8 6E9C call decode_string 273F:0E9E 5A pop dx 273F:0E9F 5B pop bx 273F:0EA0 1F pop ds 273F:0EA1 loc_127: ; xref 273F:0E5C, 0E61, 0E72 273F:0EA1 26: 8B 0E 3379 mov cx,es:data_44e ; (0000:3379=20CEh) 273F:0EA6 loc_128: ; xref 273F:0E23, 0E2F, 0E35, 0E46 ; 0E4D, 0E53, 0E57 273F:0EA6 5E pop si 273F:0EA7 83 C6 09 add si,9 273F:0EAA 83 C5 01 add bp,1 273F:0EAD E9 FF5E jmp loc_120 ; (0E0E) sub_35 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:522F, 6010 ; Part of this procedure changes a player's frame ; si=hotspot, di=slot ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_update_frame proc near 273F:0EB0 56 push si 273F:0EB1 57 push di 273F:0EB2 53 push bx 273F:0EB3 8B 5C 24 mov bx, [si+HS_MOVEMENT_OFFSET] 273F:0EB6 8B 44 26 mov ax, [si+HS_STEP_CTR] 273F:0EB9 3B 47 02 cmp ax, [bx+2] ; Any steps remaining? 273F:0EBC 75 23 jne loc_130 ; Yes, so carry on 273F:0EBE 83 C3 04 add bx, 4 ; Move to next movement rec 273F:0EC1 C7 44 26 0000 mov word ptr [si+HS_STEP_CTR], 0 ; Reset counter 273F:0EC6 C7 44 28 0000 mov word ptr [si+HS_FRAME_OFFSET], 0 ; Reset offset 273F:0ECB 89 5C 24 mov [si+HS_MOVEMENT_OFFSET], bx ; Update movement ptr 273F:0ECE 83 3F FF cmp word ptr [bx], 0FFFFh ; At end of list? 273F:0ED1 75 07 jne loc_129 273F:0ED3 B8 0001 mov ax,1 ; Yes - so return 273F:0ED6 5B pop bx 273F:0ED7 5F pop di 273F:0ED8 5E pop si 273F:0ED9 C3 retn 273F:0EDA loc_129: 273F:0EDA 57 push di 273F:0EDB 8B 3F mov di, [bx] ; Get ptr to direction frames 273F:0EDD 33 DB xor bx, bx 273F:0EDF EB 14 jmp short loc_131 273F:0EE1 loc_130: 273F:0EE1 57 push di 273F:0EE2 8B 3F mov di, [bx] ; Get ptr to direction frames 273F:0EE4 8B 5C 28 mov bx, [si+HS_FRAME_OFFSET]; Get offset for movement frame 273F:0EE7 03 FB add di, bx ; Add on offset 273F:0EE9 83 3D FF cmp word ptr [di], 0FFFFh ; End of movement set for direciton? 273F:0EEC 75 07 jne loc_131 ; Jump if not 273F:0EEE 2B FB sub di, bx 273F:0EF0 33 DB xor bx, bx 273F:0EF2 89 5C 28 mov [si+HS_FRAME_OFFSET], bx ; Reset to start of movement data ; di=movement record 5bb8h, si=6cefh 273F:0EF5 loc_131: 273F:0EF5 8B 05 mov ax, [di+MOVEMENT_FRAME_NUM] ; Get new frame number 273F:0EF7 57 push di 273F:0EF8 8B 7C 21 mov di, [si+HS_PIXEL_OFFSET] 273F:0EFB 8B 4D 07 mov cx, [di+PIXEL_FRAME_SIZE] 273F:0EFE F7 E1 mul cx ; Calculate frame offset 273F:0F00 8B 4D 03 mov cx, [di+PIXEL_DATA_SEGMENT] ; Get loaded data segment 273F:0F03 5B pop bx ; bx = movement rec 273F:0F04 5F pop di ; di = anim slot 273F:0F05 89 45 08 mov [di+ANIM_FRAME_OFFSET], ax ; Store new offset 273F:0F08 89 4D 0A mov [di+ANIM_SEGMENT], cx ; Store segment 273F:0F0B 8B 47 02 mov ax, [bx+MOVEMENT_X_CHANGE] 273F:0F0E 0B C0 or ax, ax ; Any x change? 273F:0F10 74 13 jz loc_134 ; Jump if zero 273F:0F12 78 06 js loc_132 ; Jump if -x direction 273F:0F14 C6 45 26 03 mov byte ptr [di+ANIM_DIRECTION], FACING_RIGHT 273F:0F18 EB 04 jmp short loc_133 273F:0F1A loc_132: 273F:0F1A C6 45 26 02 mov byte ptr [di+ANIM_DIRECTION], FACING_LEFT 273F:0F1E loc_133: 273F:0F1E 03 05 add ax, [di+ANIM_X] ; Update char X pos 273F:0F20 89 05 mov [di+ANIM_X], ax 273F:0F22 89 44 0D mov [si+HS_X], ax 273F:0F25 loc_134: 273F:0F25 8B 47 04 mov ax, [bx+MOVEMENT_Y_CHANGE] 273F:0F28 C7 45 22 0000 mov word ptr [di+22h], 0 273F:0F2D 0B C0 or ax, ax ; Any y change? 273F:0F2F 74 1C jz loc_137 ; Jump if none 273F:0F31 78 06 js loc_135 ; Jump if -y direction 273F:0F33 C6 45 26 01 mov byte ptr [di+ANIM_DIRECTION], FACING_DOWN 273F:0F37 EB 04 jmp short loc_136 ; (0F3D) 273F:0F39 loc_135: ; xref 273F:0F31 273F:0F39 C6 45 26 00 mov byte ptr [di+ANIM_DIRECTION], FACING_UP 273F:0F3D loc_136: 273F:0F3D C7 45 22 0002 mov word ptr [di+22h], 2 273F:0F42 03 45 02 add ax, [di+ANIM_Y] ; Update char Y pos 273F:0F45 89 44 0F mov [si+HS_Y], ax 273F:0F48 89 45 02 mov [di+ANIM_Y], ax 273F:0F4B 8B 05 mov ax, [di+ANIM_X] 273F:0F4D loc_137: 273F:0F4D 83 44 28 06 add word ptr [si+HS_FRAME_OFFSET], MOVEMENT_REC_SIZE 273F:0F51 83 44 26 01 add word ptr [si+HS_STEP_CTR], 1 273F:0F55 33 C0 xor ax, ax 273F:0F57 5B pop bx 273F:0F58 5F pop di 273F:0F59 5E pop si 273F:0F5A C3 retn character_update_frame endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; hotspot_script_execute ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0F5B loc_138: 273F:0F5B 26: 8B 04 mov ax,es:[si] ; Set pointer to disk 273F:0F5E 83 C6 02 add si,2 ; animation record 273F:0F61 89 47 21 mov [bx+21h],ax 273F:0F64 53 push bx 273F:0F65 8B D8 mov bx,ax 273F:0F67 8B 47 03 mov ax,[bx+3] ; Copy over pixel segment? 273F:0F6A 5B pop bx 273F:0F6B 89 45 0A mov [di+0Ah],ax 273F:0F6E C7 45 08 0000 mov word ptr [di+8],0 ; Reset frame pointer 273F:0F73 EB 3F jmp short loc_143 273F:0F75 loc_139: ; xref 273F:0FC7 273F:0F75 26: 8B 04 mov ax,es:[si] ; Get X start pos 273F:0F78 83 C6 02 add si,2 273F:0F7B 89 47 0D mov [bx+0Dh],ax ; Store X start in hotspot 273F:0F7E 89 05 mov [di],ax ; resource and anim slot 273F:0F80 26: 8B 04 mov ax,es:[si] ; Get Y start pos 273F:0F83 83 C6 02 add si,2 273F:0F86 89 47 0F mov [bx+0Fh],ax ; Store Y start in hotspot 273F:0F89 89 45 02 mov [di+2],ax ; resource and anim slot 273F:0F8C EB 26 jmp short loc_143 273F:0F8E loc_140: ; xref 273F:0FC2 273F:0F8E 26: 8B 04 mov ax,es:[si] 273F:0F91 83 C6 02 add si,2 273F:0F94 89 47 1F mov [bx+1Fh],ax 273F:0F97 89 77 24 mov [bx+24h],si 273F:0F9A 8B F3 mov si,bx 273F:0F9C 5B pop bx 273F:0F9D 0D 0001 or ax,1 273F:0FA0 C3 retn 273F:0FA1 loc_141: ; xref 273F:0FD1 273F:0FA1 26: 8B 34 mov si,es:[si] 273F:0FA4 EB 0E jmp short loc_143 ; (0FB4) 273F:0FA6 loc_142: ; xref 273F:0FE5 273F:0FA6 E9 00E8 jmp loc_153 ; (1091) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:0FA9 hotspot_script_execute proc near 273F:0FA9 53 push bx 273F:0FAA 8B DE mov bx, si 273F:0FAC 8B 74 24 mov si, [si+HS_SCRIPT_OFFSET] 273F:0FAF B8 40E6 mov ax, scripts2_seg 273F:0FB2 8E C0 mov es, ax 273F:0FB4 loc_143: 273F:0FB4 ú26: 8B 04 mov ax,es:[si] 273F:0FB7 83 C6 02 add si,2 273F:0FBA 3D FFFC cmp ax,0FFFCh 273F:0FBD 74 46 je loc_144 ; Ends the execution 273F:0FBF 3D FFFF cmp ax,0FFFFh 273F:0FC2 74 CA je loc_140 ; ??? Store word at 1fh of offset 273F:0FC4 3D FFFE cmp ax,0FFFEh 273F:0FC7 74 AC je loc_139 ; Set start position 273F:0FC9 3D FFFB cmp ax,0FFFBh 273F:0FCC 74 3D je loc_145 ; Set animation dimensions 273F:0FCE 3D FFFA cmp ax,0FFFAh 273F:0FD1 74 CE je loc_141 ; Jump to location 273F:0FD3 3D FFF9 cmp ax,0FFF9h 273F:0FD6 74 83 je loc_138 ; Set pixel data record 273F:0FD8 3D FFF8 cmp ax,0FFF8h 273F:0FDB 74 55 je loc_146 ; Something to do with room 273F:0FDD 3D FFF7 cmp ax,0FFF7h 273F:0FE0 74 74 je loc_149 ; play music # 273F:0FE2 3D FFF6 cmp ax,0FFF6h 273F:0FE5 74 BF je loc_142 ; Set action bitsets 273F:0FE7 3D FFFD cmp ax,0FFFDh 273F:0FEA 75 7E jne loc_150 273F:0FEC 26: 8B 04 mov ax,es:[si] ; Change position by amount 273F:0FEF 83 C6 02 add si, 2 273F:0FF2 01 05 add [di+ANIM_X], ax ; Add to X start 273F:0FF4 01 47 0D add [bx+HS_X], ax 273F:0FF7 26: 8B 04 mov ax, es:[si] 273F:0FFA 83 C6 02 add si, 2 273F:0FFD 01 45 02 add [di+ANIM_Y], ax ; Add to Y start 273F:1000 01 47 0F add [bx+HS_Y], ax 273F:1003 EB AF jmp short loc_143 273F:1005 loc_144: ; xref 273F:0FBD 273F:1005 33 C0 xor ax, ax ; Zero register 273F:1007 8B F3 mov si, bx 273F:1009 5B pop bx 273F:100A C3 retn 273F:100B loc_145: ; xref 273F:0FCC 273F:100B 26: 8B 04 mov ax,es:[si] 273F:100E 83 C6 02 add si,2 273F:1011 D1 E0 shl ax,1 273F:1013 D1 E0 shl ax,1 273F:1015 D1 E0 shl ax,1 273F:1017 D1 E0 shl ax,1 273F:1019 89 45 04 mov [di+ANIM_WIDTH], ax ; Store width 273F:101C 89 45 13 mov [di+ANIM_WIDTH_COPY], ax 273F:101F 26: 8B 04 mov ax, es:[si] 273F:1022 83 C6 02 add si, 2 273F:1025 89 45 06 mov [di+ANIM_HEIGHT],ax ; Store height 273F:1028 EB 8A jmp short loc_143 ;* No entry point to code 273F:102A 26: 8B 04 mov ax,es:[si] 273F:102D 83 C6 02 add si,2 273F:1030 EB 82 jmp short loc_143 ; (0FB4) 273F:1032 loc_146: ; xref 273F:0FDB 273F:1032 26: 8B 04 mov ax,es:[si] 273F:1035 83 C6 02 add si,2 273F:1038 26: 8B 0C mov cx,es:[si] 273F:103B 83 C6 02 add si,2 273F:103E 0B C9 or cx,cx ; Zero ? 273F:1040 74 06 jz loc_147 ; Jump if zero 273F:1042 3B 0E 9832 cmp cx, room_number 273F:1046 75 0B jne loc_148 ; Jump if not equal 273F:1048 loc_147: ; xref 273F:1040 273F:1048 56 push si 273F:1049 53 push bx 273F:104A 57 push di 273F:104B 8B D8 mov bx,ax 273F:104D E8 8F8F call sub_247 ; (9FDF) 273F:1050 5F pop di 273F:1051 5B pop bx 273F:1052 5E pop si 273F:1053 loc_148: ; xref 273F:1046 273F:1053 E9 FF5E jmp loc_143 ; (0FB4) 273F:1056 loc_149: ; xref 273F:0FE0 273F:1056 26: 8B 04 mov ax,es:[si] 273F:1059 83 C6 02 add si,2 273F:105C 56 push si 273F:105D 53 push bx 273F:105E 57 push di 273F:105F 8B D8 mov bx,ax 273F:1061 E8 91A8 call play_music 273F:1064 5F pop di 273F:1065 5B pop bx 273F:1066 5E pop si 273F:1067 E9 FF4A jmp loc_143 ; (0FB4) 273F:106A loc_150: 273F:106A 89 77 24 mov [bx+HS_SCRIPT_OFFSET], si ; Set execution offset 273F:106D 8B F3 mov si, bx 273F:106F 8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] ; Get pixel data record 273F:1072 F6 47 02 04 test byte ptr [bx+PIXEL_FLAGS], PIXELFLAG_HAS_TABLE 273F:1076 74 0E jz loc_151 ; Jump if not 273F:1078 8B 5F 03 mov bx, [bx+PIXEL_DATA_SEGMENT] 273F:107B 8E C3 mov es, bx 273F:107D D1 E0 shl ax, 1 ; Shift w/zeros fill 273F:107F 8B D8 mov bx, ax 273F:1081 26: 8B 07 mov ax, es:[bx] ; Get frame offset 273F:1084 EB 03 jmp short loc_152 273F:1086 loc_151: 273F:1086 F7 67 07 mul word ptr [bx+PIXEL_FRAME_SIZE] 273F:1089 loc_152: 273F:1089 89 45 08 mov [di+ANIM_FRAME_OFFSET],ax ; Store current frame 273F:108C 0D 0001 or ax, 1 273F:108F 5B pop bx 273F:1090 C3 retn 273F:1091 loc_153: 273F:1091 26: 8B 04 mov ax, es:[si] ; Set bitset actions 273F:1094 89 07 mov [bx+HS_ACTIONS], ax 273F:1096 26: 8B 44 02 mov ax, es:[si+2] 273F:109A 89 47 02 mov [bx+HS_ACTIONS+2], ax 273F:109D 83 C6 04 add si, 4 273F:10A0 E9 FF11 jmp loc_143 hotspot_script_execute endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx=character Id, cx=index in master script table ; Usage of action block for hotspot likely to be making the alternate ; hotspot script non-interruptable until done ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_set_blocking_hotspot_script proc near 273F:10A3 81 FB 03E8 cmp bx, PLAYER_HOTSPOT_ID 273F:10A7 75 05 jne loc_154 ; Jump if not equal 273F:10A9 C6 06 9834 02 mov cursor_state, CURSORSTATE_SEQUENCE 273F:10AE loc_154: ; xref 273F:10A7 273F:10AE E8 FC37 call get_room_resource_pointer 273F:10B1 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:10B3 81 C1 57E0 add cx, offset hotspot_script_master_list 273F:10B7 8B D9 mov bx,cx 273F:10B9 8B 07 mov ax,[bx] 273F:10BB 89 44 24 mov [si+HS_SCRIPT_OFFSET], ax 273F:10BE 8B DE mov bx, si 273F:10C0 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:10C3 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:10C6 C6 07 03 mov byte ptr [bx], CHAR_ACTION_EXEC_SCRIPT 273F:10C9 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] 273F:10CC C6 44 49 01 mov byte ptr [si+HS_PATHFIND_COVERED], 1 273F:10D0 E9 605B jmp pathfind_flag_covered_cells seq_set_blocking_hotspot_script endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7172 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:10D3 animation_find_slot proc near 273F:10D3 úBF B14E mov di, offset animation_table 273F:10D6 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:10D9 locloop_155: ; xref 273F:10E2 273F:10D9 F6 45 0C FF test byte ptr [di+0Ch],0FFh 273F:10DD 74 08 jz loc_ret_156 ; Jump if zero 273F:10DF 83 C7 29 add di,29h 273F:10E2 E2 F5 loop locloop_155 ; Loop if cx > 0 273F:10E4 83 EF 29 sub di,29h 273F:10E7 loc_ret_156: ; xref 273F:10DD 273F:10E7 C3 retn animation_find_slot endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0027 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:10E8 hotspots_unload proc near 273F:10E8 úBF B14E mov di,offset animation_table 273F:10EB B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:10EE locloop_157: ; Check if hotspot can be unloaded 273F:10EE F6 45 10 FF test byte ptr [di+ANIM_CAN_UNLOAD],0FFh 273F:10F2 74 11 jz loc_159 ; If no, then skip 273F:10F4 33 C0 xor ax,ax 273F:10F6 83 7D 1B FE cmp word ptr [di+ANIM_HOTSPOT_ID], 0FFFEh ; Check if hotspot Id 273F:10FA 73 06 jae loc_158 ; is the special 0ffffh. Jump if yes 273F:10FC 8B 75 19 mov si, [di+ANIM_HOTSPOT_OFFSET] ; Get hotspot resource 273F:10FF 89 44 0B mov [si+HS_ANIM_OFFSET], ax ; Mark hotspot as inactive 273F:1102 loc_158: 273F:1102 E8 0172 call animation_unload_2 273F:1105 loc_159: 273F:1105 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:1108 E2 E4 loop locloop_157 273F:110A C3 retn hotspots_unload endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4FBF, 5E61, 60E7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_find_impinging_chars proc near 273F:110B 56 push si 273F:110C 53 push bx 273F:110D 8B 55 0E mov dx, [di+ANIM_ROOM_NUM] 273F:1110 úBE B14E mov si, offset animation_table 273F:1113 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:1116 úBB 10C0 mov bx, offset impinging_char_list 273F:1119 C7 06 10BE 0000 mov num_impinging_chars, 0 273F:111F 8B 05 mov ax, [di+ANIM_X] 273F:1121 A3 10E6 mov char_rect_left, ax 273F:1124 03 45 13 add ax, [di+ANIM_WIDTH_COPY] 273F:1127 A3 10E8 mov char_rect_right, ax 273F:112A 8B 45 02 mov ax, [di+ANIM_Y] 273F:112D 03 45 15 add ax, [di+ANIM_HEIGHT_COPY] 273F:1130 50 push ax 273F:1131 2B 45 17 sub ax, [di+ANIM_Y_CORRECTION] 273F:1134 2B 45 22 sub ax, [di+ANIM_CHAR_RECT_Y] 273F:1137 A3 10EA mov char_rect_top, ax 273F:113A 58 pop ax 273F:113B 03 45 22 add ax, [di+ANIM_CHAR_RECT_Y] 273F:113E A3 10EC mov char_rect_bottom, ax 273F:1141 locloop_160: ; Loop through animations 273F:1141 3B FE cmp di, si ; Is it the char's animation? 273F:1143 74 55 je loc_161 ; Skip if yes 273F:1145 F6 44 0C FF test byte ptr [si+ANIM_LAYER], 0FFh 273F:1149 74 4F jz loc_161 ; If no layer, then skip 273F:114B 3B 54 0E cmp dx, [si+ANIM_ROOM_NUM] 273F:114E 75 4A jne loc_161 ; Skip if not in same room 273F:1150 8B 44 1B mov ax, [si+ANIM_HOTSPOT_ID] 273F:1153 3D 0408 cmp ax, FIRST_OBJECT_HOTSPOT_ID 273F:1156 73 42 jae loc_161 ; Skip if anim not a character 273F:1158 F6 44 1D FF test byte ptr [si+ANIM_SKIP], 0FFh 273F:115C 75 3C jnz loc_161 ; Skip if skip flag set 273F:115E 8B 44 19 mov ax, [si+ANIM_HOTSPOT_OFFSET] 273F:1161 3B 45 24 cmp ax, [di+ANIM_VOICE_CTR] 273F:1164 74 34 je loc_161 ; Jump if equal 273F:1166 8B 04 mov ax, [si+ANIM_X] 273F:1168 3B 06 10E8 cmp ax, char_rect_right 273F:116C 73 2C jae loc_161 ; Jump if above or = 273F:116E 03 44 13 add ax, [si+ANIM_WIDTH_COPY] 273F:1171 3B 06 10E6 cmp ax, char_rect_left 273F:1175 72 23 jb loc_161 ; Jump if below 273F:1177 74 21 jz loc_161 ; Jump if zero 273F:1179 8B 44 02 mov ax, [si+ANIM_Y] 273F:117C 03 44 15 add ax, [si+ANIM_HEIGHT_COPY] 273F:117F 8B E8 mov bp, ax 273F:1181 03 44 22 add ax, [si+ANIM_CHAR_RECT_Y] 273F:1184 3B 06 10EA cmp ax, char_rect_top 273F:1188 72 10 jb loc_161 ; Jump if below 273F:118A 8B C5 mov ax, bp 273F:118C 2B 44 17 sub ax, [si+ANIM_Y_CORRECTION] 273F:118F 2B 44 22 sub ax, [si+ANIM_CHAR_RECT_Y] 273F:1192 3B 06 10EC cmp ax, char_rect_bottom 273F:1196 74 0E je loc_162 ; Jump if equal 273F:1198 72 0C jc loc_162 ; Jump if carry Set 273F:119A loc_161: 273F:119A ú83 C6 29 add si, ANIMATION_SLOT_SIZE 273F:119D E2 A2 loop locloop_160 273F:119F C7 07 0000 mov word ptr [bx], 0 ; Flag end of list 273F:11A3 5B pop bx 273F:11A4 5E pop si 273F:11A5 C3 retn 273F:11A6 loc_162: ; Animation is impinging char 273F:11A6 8B 44 1B mov ax, [si+ANIM_HOTSPOT_ID] 273F:11A9 89 07 mov [bx], ax ; Store character Id 273F:11AB 83 C3 02 add bx, 2 273F:11AE 83 06 10BE 01 add num_impinging_chars, 1 273F:11B3 EB E5 jmp short loc_161 ; (119A) character_find_impinging_chars endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5217, 6009 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_paused_list_check proc near 273F:11B5 53 push bx 273F:11B6 úBB 10C0 mov bx, offset impinging_char_list 273F:11B9 C7 06 10EE 0000 mov pl_check_result, 0 273F:11BF loc_163: 273F:11BF ú8B 07 mov ax, [bx] ; Get character Id 273F:11C1 83 C3 02 add bx, 2 ; Move to next entry 273F:11C4 0B C0 or ax, ax ; Is it the end of the list? 273F:11C6 75 05 jnz loc_164 ; Jump if not 273F:11C8 A1 10EE mov ax, pl_check_result ; Set return result 273F:11CB 5B pop bx 273F:11CC C3 retn 273F:11CD loc_164: 273F:11CD 8B EB mov bp, bx ; Store next table offset 273F:11CF 50 push ax 273F:11D0 56 push si 273F:11D1 E8 FB16 call get_room_resource_pointer2 ;Get hotspot resource 273F:11D4 8B DE mov bx, si 273F:11D6 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:11D9 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:11DC 8A 1F mov bl, [bx] ; bl = char's current action 273F:11DE 5E pop si 273F:11DF 58 pop ax 273F:11E0 80 FB 03 cmp bl, CHAR_ACTION_EXEC_SCRIPT ; Char in animation sequence? 273F:11E3 74 12 je loc_166 ; Skip if yes ; Scan through the list of currently paused characters to see if the character is in it 273F:11E5 BB B0AE mov bx, offset character_pause_list 273F:11E8 B9 0014 mov cx, NUM_PAUSED_CHARS_SLOTS 273F:11EB 8B 55 1B mov dx, [di+ANIM_HOTSPOT_ID] 273F:11EE locloop_165: 273F:11EE 3B 17 cmp dx, [bx+PC_SRC_CHAR_ID] ; Source char in list? 273F:11F0 75 09 jne loc_167 ; Jump if not 273F:11F2 3B 47 02 cmp ax, [bx+PC_DEST_CHAR_ID]; List char Id in list? 273F:11F5 75 04 jne loc_167 ; Jump if not equal 273F:11F7 loc_166: 273F:11F7 8B DD mov bx, bp ; Restore cached table offset 273F:11F9 EB C4 jmp short loc_163 ; Check next entry 273F:11FB loc_167: 273F:11FB 83 C3 08 add bx, PAUSED_CHAR_SLOT_SIZE 273F:11FE E2 EE loop locloop_165 ; Loop remaining action list ; At this point we've found a character in the impinging_char_list list that isn't ; currently blocked to execute a hotspot animation, and doesn't have a cross reference ; against the calling character (such as the player) in the paused character list 273F:1200 8B D8 mov bx, ax 273F:1202 57 push di 273F:1203 8B FE mov di, si 273F:1205 E8 FAE0 call get_room_resource_pointer 273F:1208 87 F7 xchg si, di ;di=list hotspot rec, si=caller rec 273F:120A 8B C3 mov ax, bx 273F:120C 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID ; Is list char the player? 273F:120F 75 0F jne loc_168 ; Jump if not 273F:1211 F6 45 49 FF test byte ptr [di+HS_PATHFIND_COVERED], 0FFh 273F:1215 75 09 jnz loc_168 ; Jump if not zero 273F:1217 5F pop di 273F:1218 E8 314B call character_update_movement 273F:121B 5B pop bx 273F:121C B8 0001 mov ax, 1 273F:121F C3 retn 273F:1220 loc_168: 273F:1220 BB B0AE mov bx, offset character_pause_list 273F:1223 loc_169: ; Scan for end of list 273F:1223 úF7 07 FFFF test word ptr [bx+PC_SRC_CHAR_ID], 0FFFFh 273F:1227 74 05 jz loc_170 273F:1229 83 C3 08 add bx, PAUSED_CHAR_SLOT_SIZE 273F:122C EB F5 jmp short loc_169 273F:122E loc_170: ; Inject entry into hotspot action list 273F:122E 89 17 mov [bx+PC_SRC_CHAR_ID], dx 273F:1230 89 47 02 mov [bx+PC_DEST_CHAR_ID], ax 273F:1233 C7 47 04 000F mov word ptr [bx+PC_COUNTER], 15 273F:1238 89 7F 06 mov [bx+PC_HOTSPOT_PTR], di 273F:123B C6 44 4C 01 mov byte ptr [si+HS_BLOCKED_FLAG], BS_INITIAL 273F:123F 3D 2710 cmp ax, START_EXIT_HOTSPOT_ID 273F:1242 73 1D jae loc_173 ; Jump if above or = 273F:1244 8A 5D 44 mov bl, [di+HS_CHAR_MODE] 273F:1247 80 FB 03 cmp bl, CHARMODE_PAUSED 273F:124A 74 0D je loc_171 ; Jump if equal 273F:124C F7 45 4A FFFF test word ptr [di+HS_PAUSE_CTR], 0FFFFh 273F:1251 75 09 jnz loc_172 ; Jump if not zero 273F:1253 F6 45 44 FF test byte ptr [di+HS_CHAR_MODE], 0FFh 273F:1257 75 03 jnz loc_172 ; Jump if not zero 273F:1259 loc_171: 273F:1259 89 55 47 mov [di+SCRIPT_HOTSPOT_ID], dx 273F:125C loc_172: 273F:125C C7 45 4A 000F mov word ptr [di+HS_PAUSE_CTR], 0Fh 273F:1261 loc_173: 273F:1261 C7 06 10EE 0002 mov pl_check_result, 2 273F:1267 5F pop di 273F:1268 5B pop bx 273F:1269 C6 07 01 mov byte ptr [bx], CHAR_ACTION_START_WALK 273F:126C 53 push bx 273F:126D 8B DD mov bx,bp 273F:126F E9 FF4D jmp loc_163 character_paused_list_check endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:544C, 7F46, 7F75, 7FAD, 7FFD, 811C, 8800 ; 887E, 967C, 9E9E ; si = hotspot resource, di = animation slot hotspot is being removed from ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1272 animation_unload proc near 273F:1272 C7 44 0B 0000 mov word ptr [si+HS_ANIM_OFFSET], 0 ; Mark hotspot as unloaded ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:1102 273F:1277 animation_unload_2: 273F:1277 ú33 C0 xor ax,ax ; Clear some of the 273F:1279 88 45 0C mov [di+ANIM_LAYER], al ; slot fields 273F:127C 89 45 1B mov [di+ANIM_HOTSPOT_ID], ax 273F:127F 88 45 10 mov [di+ANIM_LOADED], al 273F:1282 C3 retn animation_unload endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ;* No entry point to code 273F:1283 úBF B14E mov di, offset animation_table 273F:1286 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:1289 locloop_175: ; xref 273F:1291 273F:1289 39 5D 1E cmp [di+1Eh],bx 273F:128C 74 06 je loc_176 ; Jump if equal 273F:128E 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:1291 E2 F6 loop locloop_175 ; Loop if cx > 0 273F:1293 C3 retn 273F:1294 C6 45 0C 00 loc_176: mov byte ptr [di+ANIM_LAYER], 0 273F:1298 loc_ret_177: retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:010D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1299 room_handle_click proc near assume ds:data_seg 273F:1299 F6 06 11DA 07 test mouse_buttons2, 7 ; Any mouse button pressed? 273F:129E 74 F8 jz loc_ret_177 ; Exit if not 273F:12A0 F6 06 0DB4 FF test talk_dialog_close_flag, 0FFh ; Floating dialog active? 273F:12A5 75 2F jnz loc_178 ; If yes then jump 273F:12A7 F7 06 BA25 FFFF test viewing_room, 0FFFFh ; Viewing remote room? 273F:12AD 75 2A jnz loc_179 ; If yes then jump 273F:12AF 80 3E 9834 03 cmp cursor_state, CURSORSTATE_TALK 273F:12B4 74 49 je loc_ret_182 ; Jump if equal 273F:12B6 81 3E 11DD 0088 cmp char_dest_y, 80h + MENUBAR_Y_SIZE ; In menubar area? 273F:12BC 72 42 jb loc_183 ; If yes then jump 273F:12BE 80 3E 9834 02 cmp cursor_state, CURSORSTATE_SEQUENCE 273F:12C3 74 35 je loc_181 ; Jump if equal 273F:12C5 80 3E 9834 04 cmp cursor_state, CURSORSTATE_BUMPED 273F:12CA 74 2E je loc_181 ; Jump if equal 273F:12CC F6 06 11DA 01 test mouse_buttons2, 1 273F:12D1 75 30 jnz loc_184 ; Jump if not zero 273F:12D3 E9 0154 jmp loc_193 ; (142A) 273F:12D6 loc_178: ; xref 273F:12A5 273F:12D6 E9 01A0 jmp loc_195 ; (1479) ; Handle returning to a prior room from viewing another room remotely 273F:12D9 loc_179: ; xref 273F:12AD 273F:12D9 83 3E 9832 23 cmp room_number, 23h 273F:12DE 75 08 jne loc_180 ; Jump if not equal 273F:12E0 F7 06 BAB7 FFFF test script_val_87, 0FFFFh 273F:12E6 75 12 jnz loc_181 ; Jump if not zero 273F:12E8 loc_180: 273F:12E8 C7 06 B15F 5E44 mov slot0_tick_proc, offset player_tick_proc 273F:12EE A1 BA25 mov ax, old_room_number 273F:12F1 A3 BA23 mov new_room_number, ax 273F:12F4 C7 06 BA25 0000 mov old_room_number, 0 273F:12FA loc_181: ; xref 273F:12C3, 12CA, 12E6 273F:12FA C6 06 11DA 00 mov mouse_buttons2, 0 273F:12FF loc_ret_182: ; xref 273F:12B4 273F:12FF C3 retn 273F:1300 loc_183: ; xref 273F:12BC 273F:1300 E9 5A4D jmp menubar_handle_menu ; Left mouse clicked - can only be either for walking or looking at a hotspot 273F:1303 loc_184: ` ; xref 273F:12D1 273F:1303 C6 06 11DA 00 mov mouse_buttons2, 0 273F:1308 F7 06 1922 FFFF test dest_room_num, 0FFFFh 273F:130E 74 03 jz loc_185 ; Jump if zero 273F:1310 E9 0094 jmp loc_190 ; (13A7) 273F:1313 loc_185: ; xref 273F:130E 273F:1313 A1 1924 mov ax, hotspot_id 273F:1316 0B C0 or ax,ax ; Clicked on hotspot? 273F:1318 74 13 jz loc_186 ; If not, then jump 273F:131A úBE 4CB0 mov si, offset exit_hotspots_list 273F:131D 8B D8 mov bx,ax 273F:131F E8 3271 call is_roomexit_hotspot ; Was the hotspot a room exit? 273F:1322 75 0B jnz loc_187 ; If not, then jump 273F:1324 8B C3 mov ax,bx 273F:1326 E8 5EC5 call room_exit_hs_get_pointer 273F:1329 F6 44 0C FF test byte ptr [si+REHS_EXIT_BLOCKED], 0FFh ; Is exit blocked? 273F:132D loc_186: 273F:132D 74 78 jz loc_190 ; If not blocked, standard walking ; Handler code for looking at a hotspot 273F:132F loc_187: 273F:132F C6 06 9834 01 mov cursor_state, CURSORSTATE_ACTION 273F:1334 úBE 6CEF mov si, offset player_hotspot_rec 273F:1337 33 C0 xor ax,ax ; Zero register 273F:1339 89 44 52 mov [si+HS_DEST_HOTSPOT], ax 273F:133C 88 44 2A mov [si+HS_ACTION_CTR], al 273F:133F 89 44 42 mov [si+HS_DELAY_CTR], ax 273F:1342 88 44 44 mov [si+HS_CHAR_MODE], al 273F:1345 8B DE mov bx,si 273F:1347 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:134A 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:134D úBF 65F3 mov di, offset player_action_support_record 273F:1350 89 7F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], di 273F:1353 C7 05 0010 mov word ptr [di], ACTION_LOOK_AT 273F:1357 A1 1924 mov ax, hotspot_id 273F:135A 89 45 02 mov [di+2], ax 273F:135D C7 45 04 0000 mov word ptr [di+4], 0 273F:1362 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:1365 E8 5C9D call menubar_clear_image 273F:1368 úBF 4B93 mov di, offset action_name ; Set up the "look at HOTSPOT" 273F:136B úBE 10B5 mov si, offset look_at_str ; string 273F:136E B9 0008 mov cx,8 273F:1371 1E push ds 273F:1372 07 pop es 273F:1373 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:1375 A1 1924 mov ax, hotspot_id 273F:1378 E8 F9A6 call get_room_resource_pointer3 ; Get hotspot name 273F:137B 8B 44 02 mov ax, [si+HSH_NAME] 273F:137E 80 E4 1F and ah, 1Fh 273F:1381 E8 69B6 call decode_string 273F:1384 A1 4CE4 mov ax, data_segment2 273F:1387 8E C0 mov es,ax 273F:1389 33 FF xor di,di ; Zero register 273F:138B 33 C9 xor cx,cx ; Zero register 273F:138D 8B 1E 076E mov bx, data_571 273F:1391 8A 7F 04 mov bh,[bx+4] 273F:1394 8B 2E 0748 mov bp, screen_width 273F:1398 úBE 4B93 mov si, offset action_name 273F:139B loc_188: ; Loop to display action 273F:139B úAC lodsb ; String [si] to al 273F:139C 2C 20 sub al,20h ; ' ' 273F:139E 72 06 jc loc_ret_189 ; Jump if carry Set 273F:13A0 FF 16 075A call [display2_character_proc] 273F:13A4 EB F5 jmp short loc_188 ; (139B) 273F:13A6 loc_ret_189: ; xref 273F:139E 273F:13A6 C3 retn ; Handler code for starting the player walking to the clicked location 273F:13A7 loc_190: ; xref 273F:1310, 132D 273F:13A7 C7 06 11E1 0002 mov cursor_index, CURSOR_TIME_UP ; Start time animation 273F:13AD 8B 1E 1922 mov bx, dest_room_num 273F:13B1 0B DB or bx,bx ; Going to change room? 273F:13B3 74 2C jz loc_191 ; No, so start in-room move ; Walking to another room 273F:13B5 A1 6CF5 mov ax, player_room_number 273F:13B8 E8 401F call room_exit_get_coordinates 273F:13BB 81 E2 0FFF and dx,0FFFh 273F:13BF úBE 6CEF mov si, offset player_hotspot_rec 273F:13C2 8B DE mov bx, si 273F:13C4 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:13C7 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:13CA 89 4C 54 mov [si+HS_DEST_X], cx 273F:13CD 89 54 56 mov [si+HS_DEST_Y], dx 273F:13D0 C7 44 52 FFFF mov [si+HS_DEST_HOTSPOT], 0FFFFh 273F:13D5 A1 1920 mov ax, room_exit_hotspot_id 273F:13D8 0B C0 or ax, ax 273F:13DA 74 2A jz loc_192 273F:13DC 89 44 52 mov [si+HS_DEST_HOTSPOT], ax 273F:13DF EB 25 jmp short loc_192 ; (1406) ; In room walking 273F:13E1 loc_191: ; xref 273F:13B3 273F:13E1 úBE 6CEF mov si, offset player_hotspot_rec 273F:13E4 8B DE mov bx,si 273F:13E6 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:13E9 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:13EC C7 44 52 0000 mov [si+HS_DEST_HOTSPOT], 0 273F:13F1 C7 06 B172 0000 mov data_1116,0 ; (31E4:B172=0) 273F:13F7 A1 11DB mov ax, char_dest_x 273F:13FA 2D 0010 sub ax,10h 273F:13FD 89 44 54 mov [si+HS_DEST_X], ax 273F:1400 A1 11DD mov ax, char_dest_y 273F:1403 89 44 56 mov [si+HS_DEST_Y], ax 273F:1406 loc_192: ; xref 273F:13DA, 13DF 273F:1406 C6 07 01 mov byte ptr [bx], CHAR_ACTION_START_WALK 273F:1409 33 C0 xor ax,ax ; Zero register 273F:140B A2 9834 mov data_1084, al 273F:140E úBF 65F3 mov di, offset player_action_support_record 273F:1411 89 7F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], di 273F:1414 89 05 mov [di],ax 273F:1416 88 44 FF mov [si-1],al 273F:1419 88 44 2A mov [si+HS_ACTION_CTR],al 273F:141C 89 44 42 mov [si+HS_DELAY_CTR], ax 273F:141F 88 44 44 mov [si+HS_CHAR_MODE], al 273F:1422 88 44 FF mov [si-1],al 273F:1425 FF 16 075E call word ptr [show_cursor_proc] 273F:1429 C3 retn 273F:142A loc_193: ; xref 273F:12D3 273F:142A F6 06 11DA 04 test mouse_buttons2, 4 273F:142F 75 1A jnz loc_194 ; Jump if not zero ; At this point the right mouse button has been clicked for the right-click menu. ; This is either the context menu for a hotspot, or the general "Look/Status" menu 273F:1431 E8 51E0 call room_show_rightclick_menu 273F:1434 C7 06 11E4 FFFF mov hotspot_name_id2, 0FFFFh 273F:143A 33 C0 xor ax,ax ; Zero register 273F:143C 33 DB xor bx,bx ; Zero register 273F:143E BD 0027 mov bp,27h 273F:1441 BA 0001 mov dx,1 273F:1444 B9 0081 mov cx,81h 273F:1447 E8 F739 call sub_21 ; (0B83) 273F:144A C3 retn 273F:144B loc_194: ; xref 273F:142F 273F:144B C6 06 11DA 00 mov mouse_buttons2, 0 273F:1450 C3 retn room_handle_click endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sequence_set_hotspot_script proc near 273F:1451 E8 94 F8 call get_room_resource_pointer 273F:1454 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:1459 75 08 jnz loc_194_2 273F:145B 83 F9 0C cmp cx, 0Ch 273F:145E 75 03 jnz loc_194_2 273F:1460 83 C1 03 add cx, 3 273F:1463 D1 E1 loc_194_2: shl cx, 1 273F:1465 81 C1 57E0 add cx, offset hotspot_script_master_list 273F:1469 8B D9 mov bx, cx 273F:146B 8B 07 mov ax, [bx] ; Get script offset from list 273F:146D 89 44 24 mov [si+HS_SCRIPT_OFFSET], ax 273F:1470 33 C0 xor ax, ax 273F:1472 89 44 26 mov word ptr [si+26h], ax 273F:1475 89 44 28 mov word ptr [si+28h], ax 273F:1478 C3 ret sequence_set_hotspot_script endp ; This code fragment is part of room_handle_click, and is called when either mouse ; button is pressed when a talk dialog is active 273F:1479 loc_195: ; xref 273F:12D6 273F:1479 C6 06 11DA 00 mov mouse_buttons2, 0 273F:147E A1 983B mov ax, talk_character_id 273F:1481 E8 F866 call get_room_resource_pointer2 273F:1484 C7 44 37 0000 mov word ptr [si+HS_TALK_COUNTDOWN],0 273F:1489 A1 9841 mov ax, data_1091 273F:148C 0B C0 or ax,ax ; Zero ? 273F:148E 74 0F jz loc_196 ; Jump if zero 273F:1490 E8 F857 call get_room_resource_pointer2 273F:1493 F7 44 37 FFFF test word ptr [si+HS_TALK_COUNTDOWN],0FFFFh 273F:1498 74 05 jz loc_196 ; Jump if zero 273F:149A C7 44 37 0028 mov word ptr [si+HS_TALK_COUNTDOWN],28h 273F:149F loc_196: ; xref 273F:148E, 1498 273F:149F E9 4E23 jmp loc_1248 ; (62C5) sub_44 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7B07, 8FC8, 93BE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:14A2 sub_45 proc near 273F:14A2 úBE B883 mov si, offset animation_block_list 273F:14A5 loc_197: ; xref 273F:14B5 273F:14A5 úAD lodsw ; String [si] to ax 273F:14A6 0B C0 or ax,ax 273F:14A8 74 0D jz loc_ret_198 ; End of list found 273F:14AA 8B F8 mov di,ax 273F:14AC C7 45 03 0000 mov word ptr [di+3],0 273F:14B1 80 65 02 DF and byte ptr [di+2],0DFh 273F:14B5 EB EE jmp short loc_197 ; (14A5) 273F:14B7 loc_ret_198: ; xref 273F:14A8 273F:14B7 C3 retn sub_45 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:012A, 1F8B, 1F9E, 93EF ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:14B8 set_vga_palette proc near 273F:14B8 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:14BD 74 40 je loc_ret_201 ; Jump if equal 273F:14BF 81 3E F010 2EE0 cmp timer_ticks, TIMER_TICKS_MAX 273F:14C5 72 38 jb loc_ret_201 ; Jump if below 273F:14C7 1E push ds 273F:14C8 07 pop es 273F:14C9 úBE 1457 mov si,offset unprocessed_vga_palette 273F:14CC úBF 0DB5 mov di,offset processed_vga_palette 273F:14CF B9 0300 mov cx,300h 273F:14D2 locloop_199: ; xref 273F:14D6 273F:14D2 AC lodsb ; String [si] to al 273F:14D3 D0 E8 shr al,1 ; Shift w/zeros fill 273F:14D5 AA stosb ; Store al to es:[di] 273F:14D6 E2 FA loop locloop_199 ; Loop if cx > 0 273F:14D8 úBA 0DB5 mov dx,offset processed_vga_palette 273F:14DB B8 1012 mov ax,1012h 273F:14DE BB 0000 mov bx,0 273F:14E1 B9 0100 mov cx,100h 273F:14E4 CD 10 int 10h ; Video display ah=functn 10h ; set cx color registers from ; ptr es:dx, bx=first reg 273F:14E6 loc_200: ; xref 273F:14EF 273F:14E6 E8 7EDF call room_check_keypresses 273F:14E9 81 3E F010 2EE0 cmp timer_ticks, TIMER_TICKS_MAX 273F:14EF 73 F5 jae loc_200 ; Jump if above or = 273F:14F1 úBA 1457 mov dx,offset unprocessed_vga_palette 273F:14F4 B8 1012 mov ax,1012h 273F:14F7 BB 0000 mov bx,0 273F:14FA B9 0100 mov cx,100h 273F:14FD CD 10 int 10h ; Video display ah=functn 10h ; set cx color registers from ; ptr es:dx, bx=first reg 273F:14FF loc_ret_201: ; xref 273F:14BD, 14C5 273F:14FF C3 retn set_vga_palette endp 273F:1500 00 00 data_215 db 0, 0 ; xref 273F:2C88, 2D34, 2E9A, 2EA3 ; 37F2, 385B, 38FB 273F:1502 0000 data_216 dw 0 ; xref 273F:2C8C, 2D3C, 2EA8 273F:1504 00 data_217 db 0 ; xref 273F:2C90, 2D6E, 2F47 273F:1505 0000 data_218 dw 0 ; xref 273F:2D0B, 2F86, 3869, 388E ; 3939 273F:1507 0000 data_219 dw 0 ; xref 273F:2D03, 2F8C 273F:1509 00 data_220 db 0 ; xref 273F:2CFF, 2D42, 2D69, 2DBA ; 2E95 273F:150A 00 00 00 00 db 0, 0, 0, 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00A9, 00BB, 011D, 4171, 6A0D, 6E4B, 70D1 ; 8922, 8FF3, 9769 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:150E room_add_animations proc near 273F:150E B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:1511 úBB B14E mov bx, offset animation_table ; This first part adds in any active hotspots for layer 3 273F:1514 locloop_202: ; xref 273F:1551 273F:1514 80 7F 0C 03 cmp byte ptr [bx+ANIM_LAYER], 3 ; Is hotspot in layer 3? 273F:1518 75 34 jne loc_206 ; If found, then skip entry 273F:151A 8B 16 9832 mov dx, room_number 273F:151E 39 57 0E cmp [bx+ANIM_ROOM_NUM], dx ; Is animation for room? 273F:1521 75 2B jne loc_206 ; If no, then skip 273F:1523 51 push cx 273F:1524 53 push bx 273F:1525 8B 47 0A mov ax, [bx+ANIM_SEGMENT] 273F:1528 0B C0 or ax,ax ; Zero ? 273F:152A 75 05 jnz loc_203 ; Jump if not zero 273F:152C E8 61CE call animation_resolve_segment 273F:152F 72 1B jc loc_205 ; Jump if carry Set 273F:1531 loc_203: ; xref 273F:152A 273F:1531 8E C0 mov es,ax 273F:1533 8B 77 08 mov si, [bx+ANIM_FRAME_OFFSET] 273F:1536 FF 16 0754 call [add_animation_proc] 273F:153A 5F pop di 273F:153B 57 push di 273F:153C B0 01 mov al,1 273F:153E F6 45 0D FF test byte ptr [di+ANIM_FLAGS], 0FFh 273F:1542 74 02 jz loc_204 ; Jump if zero 273F:1544 B0 81 mov al, 81h 273F:1546 loc_204: ; xref 273F:1542 273F:1546 E8 F5DF call flag_covered_cells 273F:1549 E8 F509 call room_add_layer 273F:154C loc_205: ; xref 273F:152F 273F:154C 5B pop bx 273F:154D 59 pop cx 273F:154E loc_206: ; xref 273F:1518, 1521 273F:154E 83 C3 29 add bx, ANIMATION_SLOT_SIZE 273F:1551 E2 C1 loop locloop_202 ; Loop if cx > 0 ; Next Get a set of animations where the layer = 1, forming a list of ; the animation slot entries and the bottom row of the animation 273F:1553 úBF B14E mov di, offset animation_table 273F:1556 úBE 10F0 mov si, offset animation_table2 273F:1559 8B 16 9832 mov dx, room_number 273F:155D B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:1560 33 DB xor bx,bx ; Number of anims found 273F:1562 locloop_207: 273F:1562 80 7D 0C 01 cmp byte ptr [di+ANIM_LAYER], 1 ; Animation is layer 1? 273F:1566 75 1E jne loc_208 ; If not, then skip 273F:1568 39 55 0E cmp [di+ANIM_ROOM_NUM], dx ; Animation in the room? 273F:156B 75 19 jne loc_208 ; If not, skip animation 273F:156D F6 45 1D FF test byte ptr [di+ANIM_SKIP], 0FFh 273F:1571 75 13 jnz loc_208 ; Jump if not zero 273F:1573 8B 45 02 mov ax,[di+ANIM_Y] ; Get Y start 273F:1576 03 45 15 add ax,[di+ANIM_HEIGHT_COPY] ; Copy height 273F:1579 89 3C mov [si],di ; Store anim offset 273F:157B 83 C6 02 add si, 2 273F:157E 89 04 mov [si], ax ; Store bottom row 273F:1580 83 C6 02 add si,2 273F:1583 83 C3 01 add bx,1 ; Increment number found 273F:1586 loc_208: 273F:1586 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:1589 E2 D7 loop locloop_207 ; Loop if cx > 0 ; This next part sorts the newly formed list by the bottom row of each 273F:158B 83 FB 01 cmp bx,1 273F:158E 8B CB mov cx,bx 273F:1590 72 67 jc loc_217 ; No entries 273F:1592 74 2F jz loc_212 ; Only one entry 273F:1594 51 push cx 273F:1595 83 E9 01 sub cx,1 273F:1598 locloop_209: ; xref 273F:15C0 273F:1598 úBE 10F0 mov si,offset animation_table2 273F:159B 51 push cx 273F:159C locloop_210: ; xref 273F:15BD 273F:159C 8B 44 06 mov ax, [si+6] 273F:159F 3B 44 02 cmp ax, [si+2] 273F:15A2 73 16 jae loc_211 273F:15A4 8B 04 mov ax,[si] 273F:15A6 8B 5C 04 mov bx,[si+4] 273F:15A9 89 1C mov [si],bx 273F:15AB 89 44 04 mov [si+4],ax 273F:15AE 8B 44 02 mov ax,[si+2] 273F:15B1 8B 5C 06 mov bx,[si+6] 273F:15B4 89 5C 02 mov [si+2],bx 273F:15B7 89 44 06 mov [si+6],ax 273F:15BA loc_211: 273F:15BA 83 C6 04 add si, 4 273F:15BD E2 DD loop locloop_210 ; Loop if cx > 0 273F:15BF 59 pop cx 273F:15C0 E2 D6 loop locloop_209 ; Loop if cx > 0 273F:15C2 59 pop cx 273F:15C3 loc_212: ; xref 273F:1592 ; Add in the animations in order of the sorted list 273F:15C3 BE 10F0 mov si, offset animation_table2 273F:15C6 locloop_213: ; xref 273F:15F7 273F:15C6 8B 1C mov bx, [si] 273F:15C8 56 push si 273F:15C9 51 push cx 273F:15CA 53 push bx 273F:15CB 8B 47 0A mov ax,[bx+ANIM_SEGMENT] 273F:15CE 0B C0 or ax,ax ; Zero ? 273F:15D0 75 08 jnz loc_214 ; Jump if not zero 273F:15D2 E8 6128 call animation_resolve_segment 273F:15D5 73 03 jnc loc_214 ; Jump if carry=0 273F:15D7 5F pop di 273F:15D8 EB 18 jmp short loc_216 ; (15F2) 273F:15DA loc_214: ; xref 273F:15D0, 15D5 273F:15DA 8E C0 mov es,ax 273F:15DC 8B 77 08 mov si,[bx+ANIM_FRAME_OFFSET] 273F:15DF FF 16 0754 call [add_animation_proc] 273F:15E3 5F pop di 273F:15E4 F6 45 0D FF test byte ptr [di+ANIM_FLAGS], 0FFh 273F:15E8 74 05 jz loc_215 ; Jump if zero 273F:15EA B0 81 mov al, 81h 273F:15EC E8 F539 call flag_covered_cells 273F:15EF loc_215: ; xref 273F:15E8 273F:15EF E8 F463 call room_add_layer 273F:15F2 loc_216: ; xref 273F:15D8 273F:15F2 59 pop cx 273F:15F3 5E pop si 273F:15F4 83 C6 04 add si,4 273F:15F7 E2 CD loop locloop_213 ; Loop if cx > 0 ; Add in animations for layer 2 273F:15F9 loc_217: ; xref 273F:1590 273F:15F9 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:15FC úBB B14E mov bx, offset animation_table 273F:15FF locloop_218: 273F:15FF 80 7F 0C 02 cmp byte ptr [bx+ANIM_LAYER],2 273F:1603 75 31 jne loc_222 ; Jump if not equal 273F:1605 8B 16 9832 mov dx, room_number 273F:1609 39 57 0E cmp [bx+ANIM_ROOM_NUM], dx 273F:160C 75 28 jne loc_222 ; Jump if not equal 273F:160E 51 push cx 273F:160F 53 push bx 273F:1610 8B 47 0A mov ax,[bx+ANIM_SEGMENT] 273F:1613 0B C0 or ax,ax ; Zero ? 273F:1615 75 05 jnz loc_219 ; Jump if not zero 273F:1617 E8 60E3 call animation_resolve_segment 273F:161A 72 18 jc loc_221 ; Jump if carry Set 273F:161C loc_219: ; xref 273F:1615 273F:161C 8E C0 mov es,ax 273F:161E 8B 77 08 mov si, [bx+ANIM_FRAME_OFFSET] 273F:1621 FF 16 0754 call [add_animation_proc] 273F:1625 5F pop di 273F:1626 57 push di 273F:1627 B0 01 mov al,1 273F:1629 F6 45 0D FF test byte ptr [di+ANIM_FLAGS],0FFh 273F:162D 74 02 jz loc_220 ; Jump if zero 273F:162F B0 81 mov al, 81h 273F:1631 loc_220: ; xref 273F:162D 273F:1631 E8 F4F4 call flag_covered_cells 273F:1634 loc_221: ; xref 273F:161A 273F:1634 5B pop bx 273F:1635 59 pop cx 273F:1636 loc_222: ; xref 273F:1603, 160C 273F:1636 83 C3 29 add bx, ANIMATION_SLOT_SIZE 273F:1639 E2 C4 loop locloop_218 ; Loop if cx > 0 273F:163B F6 06 9837 FF test talk_dialog_active, 0FFh 273F:1640 74 04 jz loc_ret_223 ; Jump if zero 273F:1642 FF 16 0758 call [talk_dialog_proc] 273F:1646 loc_ret_223: ; xref 273F:1640 273F:1646 C3 retn room_add_animations endp 273F:1647 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7D4E, 7D60 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1648 decode_character proc near 273F:1648 E8 675A call read_bit 273F:164B 74 03 jz loc_224 ; Jump if zero 273F:164D EB 3B jmp short loc_235 ; (168A) 273F:164F 90 db 90h 273F:1650 loc_224: ; 0 273F:1650 E8 6752 call read_bit 273F:1653 74 03 jz loc_225 ; Jump if zero 273F:1655 EB 04 jmp short loc_226 ; (165B) 273F:1657 90 db 90h 273F:1658 loc_225: ; 00 273F:1658 B0 20 mov al,20h ; ' ' 273F:165A C3 retn 273F:165B loc_226: ; 01 273F:165B E8 6747 call read_bit 273F:165E 74 03 jz loc_227 ; Jump if zero 273F:1660 EB 0F jmp short loc_230 ; (1671) 273F:1662 90 db 90h 273F:1663 loc_227: ; 010 273F:1663 E8 673F call read_bit 273F:1666 74 03 jz loc_228 ; Jump if zero 273F:1668 EB 04 jmp short loc_229 ; (166E) 273F:166A 90 db 90h 273F:166B loc_228: ; 0100 273F:166B B0 65 mov al,65h ; 'e' 273F:166D C3 retn 273F:166E loc_229: ; 0101 273F:166E B0 6F mov al,6Fh ; 'o' 273F:1670 C3 retn 273F:1671 loc_230: ; 011 273F:1671 E8 6731 call read_bit 273F:1674 74 03 jz loc_231 273F:1676 EB 04 jmp short loc_232 273F:1678 90 db 90h 273F:1679 loc_231: ; 0110 273F:1679 B0 74 mov al,74h ; 't' 273F:167B C3 retn 273F:167C loc_232: ; 0111 273F:167C E8 6726 call read_bit 273F:167F 74 03 jz loc_233 ; Jump if zero 273F:1681 EB 04 jmp short loc_234 ; (1687) 273F:1683 90 db 90h 273F:1684 loc_233: ; 01110 273F:1684 B0 61 mov al,61h ; 'a' 273F:1686 C3 retn 273F:1687 loc_234: ; 01111 273F:1687 B0 6E mov al,6Eh ; 'n' 273F:1689 C3 retn 273F:168A loc_235: ; 1 273F:168A E8 6718 call read_bit 273F:168D 74 03 jz loc_236 ; Jump if zero 273F:168F EB 46 jmp short loc_249 ; (16D7) 273F:1691 90 db 90h 273F:1692 loc_236: ; 10 273F:1692 E8 6710 call read_bit 273F:1695 74 03 jz loc_237 ; Jump if zero 273F:1697 EB 0F jmp short loc_240 ; (16A8) 273F:1699 90 db 90h 273F:169A loc_237: ; 100 273F:169A E8 6708 call read_bit 273F:169D 74 03 jz loc_238 ; Jump if zero 273F:169F EB 04 jmp short loc_239 ; (16A5) 273F:16A1 90 db 90h 273F:16A2 loc_238: ; 1000 273F:16A2 B0 73 mov al,73h ; 's' 273F:16A4 C3 retn 273F:16A5 loc_239: ; 1001 273F:16A5 B0 69 mov al,69h ; 'i' 273F:16A7 C3 retn 273F:16A8 loc_240: ; 101 273F:16A8 E8 66FA call read_bit 273F:16AB 74 03 jz loc_241 ; Jump if zero 273F:16AD EB 04 jmp short loc_242 ; (16B3) 273F:16AF 90 db 90h 273F:16B0 loc_241: ; 1010 273F:16B0 B0 72 mov al,72h ; 'r' 273F:16B2 C3 retn 273F:16B3 loc_242: ; 1011 273F:16B3 E8 66EF call read_bit 273F:16B6 74 03 jz loc_243 ; Jump if zero 273F:16B8 EB 04 jmp short loc_244 ; (16BE) 273F:16BA 90 db 90h 273F:16BB loc_243: ; 10110 273F:16BB B0 68 mov al,68h ; 'h' 273F:16BD C3 retn 273F:16BE loc_244: ; 10111 273F:16BE E8 66E4 call read_bit 273F:16C1 74 03 jz loc_245 ; Jump if zero 273F:16C3 EB 04 jmp short loc_246 ; (16C9) 273F:16C5 90 db 90h 273F:16C6 loc_245: ; 101110 273F:16C6 B0 75 mov al,75h ; 'u' 273F:16C8 C3 retn 273F:16C9 loc_246: ; 101111 273F:16C9 E8 66D9 call read_bit 273F:16CC 74 03 jz loc_247 ; Jump if zero 273F:16CE EB 04 jmp short loc_248 ; (16D4) 273F:16D0 90 db 90h 273F:16D1 loc_247: ; 1011110 273F:16D1 B0 6C mov al,6Ch ; 'l' 273F:16D3 C3 retn 273F:16D4 loc_248: ; 1011111 273F:16D4 B0 64 mov al,64h ; 'd' 273F:16D6 C3 retn 273F:16D7 loc_249: ; 11 273F:16D7 E8 66CB call read_bit 273F:16DA 74 03 jz loc_250 ; Jump if zero 273F:16DC EB 51 jmp short loc_265 ; (172F) 273F:16DE 90 db 90h 273F:16DF loc_250: ; 110 273F:16DF E8 66C3 call read_bit 273F:16E2 74 03 jz loc_251 ; Jump if zero 273F:16E4 EB 1A jmp short loc_256 ; (1700) 273F:16E6 90 db 90h 273F:16E7 loc_251: ; 1100 273F:16E7 E8 66BB call read_bit 273F:16EA 74 03 jz loc_252 ; Jump if zero 273F:16EC EB 04 jmp short loc_253 ; (16F2) 273F:16EE 90 db 90h 273F:16EF loc_252: ; 11000 273F:16EF B0 79 mov al,79h ; 'y' 273F:16F1 C3 retn 273F:16F2 loc_253: ; 11001 273F:16F2 E8 66B0 call read_bit 273F:16F5 74 03 jz loc_254 ; Jump if zero 273F:16F7 EB 04 jmp short loc_255 ; (16FD) 273F:16F9 90 db 90h 273F:16FA loc_254: ; 110010 273F:16FA B0 67 mov al,67h ; 'g' 273F:16FC C3 retn 273F:16FD loc_255: ; 110011 273F:16FD B0 00 mov al,0 273F:16FF C3 retn 273F:1700 loc_256: ; 1101 273F:1700 E8 66A2 call read_bit 273F:1703 74 03 jz loc_257 ; Jump if zero 273F:1705 EB 0F jmp short loc_260 ; (1716) 273F:1707 90 db 90h 273F:1708 loc_257: ; 11010 273F:1708 E8 669A call read_bit 273F:170B 74 03 jz loc_258 ; Jump if zero 273F:170D EB 04 jmp short loc_259 ; (1713) 273F:170F 90 db 90h 273F:1710 loc_258: ; 110100 273F:1710 B0 77 mov al,77h ; 'w' 273F:1712 C3 retn 273F:1713 loc_259: ; 110101 273F:1713 B0 63 mov al,63h ; 'c' 273F:1715 C3 retn 273F:1716 loc_260: ; 11011 273F:1716 E8 668C call read_bit 273F:1719 74 03 jz loc_261 ; Jump if zero 273F:171B EB 04 jmp short loc_262 ; (1721) 273F:171D 90 db 90h 273F:171E loc_261: ; 110110 273F:171E B0 66 mov al,66h ; 'f' 273F:1720 C3 retn 273F:1721 loc_262: ; 110111 273F:1721 E8 6681 call read_bit 273F:1724 74 03 jz loc_263 ; Jump if zero 273F:1726 EB 04 jmp short loc_264 ; (172C) 273F:1728 90 db 90h 273F:1729 loc_263: ; 1101110 273F:1729 B0 2E mov al,2Eh ; '.' 273F:172B C3 retn 273F:172C loc_264: ; 1101111 273F:172C B0 6D mov al,6Dh ; 'm' 273F:172E C3 retn 273F:172F loc_265: ; 111 273F:172F E8 6673 call read_bit 273F:1732 74 03 jz loc_266 ; Jump if zero 273F:1734 EB 46 jmp short loc_279 ; (177C) 273F:1736 90 db 90h 273F:1737 loc_266: ; 1110 273F:1737 E8 666B call read_bit 273F:173A 74 03 jz loc_267 ; Jump if zero 273F:173C EB 0F jmp short loc_270 ; (174D) 273F:173E 90 db 90h 273F:173F loc_267: ; 11100 273F:173F E8 6663 call read_bit 273F:1742 74 03 jz loc_268 ; Jump if zero 273F:1744 EB 04 jmp short loc_269 ; (174A) 273F:1746 90 db 90h 273F:1747 loc_268: ; 111000 273F:1747 B0 70 mov al,70h ; 'p' 273F:1749 C3 retn 273F:174A loc_269: ; 111001 273F:174A B0 62 mov al,62h ; 'b' 273F:174C C3 retn 273F:174D loc_270: ; 11101 273F:174D E8 6655 call read_bit 273F:1750 74 03 jz loc_271 ; Jump if zero 273F:1752 EB 0F jmp short loc_274 ; (1763) 273F:1754 90 db 90h 273F:1755 loc_271: ; 111010 273F:1755 E8 664D call read_bit 273F:1758 74 03 jz loc_272 ; Jump if zero 273F:175A EB 04 jmp short loc_273 ; (1760) 273F:175C 90 db 90h 273F:175D loc_272: ; 1110100 273F:175D B0 2C mov al,2Ch ; ',' 273F:175F C3 retn 273F:1760 loc_273: ; 1110101 273F:1760 B0 6B mov al,6Bh ; 'k' 273F:1762 C3 retn 273F:1763 loc_274: ; 111011 273F:1763 E8 663F call read_bit 273F:1766 74 03 jz loc_275 ; Jump if zero 273F:1768 EB 04 jmp short loc_276 ; (176E) 273F:176A 90 db 90h 273F:176B loc_275: ; 1110110 273F:176B B0 27 mov al,27h ; ''' 273F:176D C3 retn 273F:176E loc_276: ; 1110111 273F:176E E8 6634 call read_bit 273F:1771 74 03 jz loc_277 ; Jump if zero 273F:1773 EB 04 jmp short loc_278 ; (1779) 273F:1775 90 db 90h 273F:1776 loc_277: ; 11101110 273F:1776 B0 49 mov al,49h ; 'I' 273F:1778 C3 retn 273F:1779 loc_278: ; 11101111 273F:1779 B0 76 mov al,76h ; 'v' 273F:177B C3 retn 273F:177C loc_279: ; 1111 273F:177C E8 6626 call read_bit 273F:177F 74 03 jz loc_280 ; Jump if zero 273F:1781 EB 46 jmp short loc_293 ; (17C9) 273F:1783 90 db 90h 273F:1784 loc_280: ; 11110 273F:1784 E8 661E call read_bit 273F:1787 74 03 jz loc_281 ; Jump if zero 273F:1789 EB 0F jmp short loc_284 ; (179A) 273F:178B 90 db 90h 273F:178C loc_281: ; 111100 273F:178C E8 6616 call read_bit 273F:178F 74 03 jz loc_282 ; Jump if zero 273F:1791 EB 04 jmp short loc_283 ; (1797) 273F:1793 90 db 90h 273F:1794 loc_282: ; 1111000 273F:1794 B0 21 mov al,21h ; '!' 273F:1796 C3 retn 273F:1797 loc_283: ; 1111001 273F:1797 B0 B4 mov al,0B4h 273F:1799 C3 retn 273F:179A loc_284: ; 111101 273F:179A E8 6608 call read_bit 273F:179D 74 03 jz loc_285 ; Jump if zero 273F:179F EB 0F jmp short loc_288 ; (17B0) 273F:17A1 90 db 90h 273F:17A2 loc_285: ; 1111010 273F:17A2 E8 6600 call read_bit 273F:17A5 74 03 jz loc_286 ; Jump if zero 273F:17A7 EB 04 jmp short loc_287 ; (17AD) 273F:17A9 90 db 90h 273F:17AA loc_286: ; 11110100 273F:17AA B0 54 mov al,54h ; 'T' 273F:17AC C3 retn 273F:17AD loc_287: ; 11110101 273F:17AD B0 B5 mov al,0B5h 273F:17AF C3 retn 273F:17B0 loc_288: ; 1111011 273F:17B0 E8 65F2 call read_bit 273F:17B3 74 03 jz loc_289 ; Jump if zero 273F:17B5 EB 04 jmp short loc_290 ; (17BB) 273F:17B7 90 db 90h 273F:17B8 loc_289: ; 11110110 273F:17B8 B0 3F mov al,3Fh ; '?' 273F:17BA C3 retn 273F:17BB loc_290: ; 11110111 273F:17BB E8 65E7 call read_bit 273F:17BE 74 03 jz loc_291 ; Jump if zero 273F:17C0 EB 04 jmp short loc_292 ; (17C6) 273F:17C2 90 db 90h 273F:17C3 loc_291: ; 111101110 273F:17C3 B0 B2 mov al,0B2h 273F:17C5 C3 retn 273F:17C6 loc_292: ; 111101111 273F:17C6 B0 B3 mov al,0B3h 273F:17C8 C3 retn 273F:17C9 loc_293: ; 11111 273F:17C9 E8 65D9 call read_bit 273F:17CC 74 03 jz loc_294 ; Jump if zero 273F:17CE EB 5C jmp short loc_311 ; (182C) 273F:17D0 90 db 90h 273F:17D1 loc_294: ; 111110 273F:17D1 E8 65D1 call read_bit 273F:17D4 74 03 jz loc_295 ; Jump if zero 273F:17D6 EB 1A jmp short loc_300 ; (17F2) 273F:17D8 90 db 90h 273F:17D9 loc_295: ; 1111100 273F:17D9 E8 65C9 call read_bit 273F:17DC 74 03 jz loc_296 ; Jump if zero 273F:17DE EB 04 jmp short loc_297 ; (17E4) 273F:17E0 90 db 90h 273F:17E1 loc_296: ; 11111000 273F:17E1 B0 57 mov al,57h ; 'W' 273F:17E3 C3 retn 273F:17E4 loc_297: ; 11111001 273F:17E4 E8 65BE call read_bit 273F:17E7 74 03 jz loc_298 ; Jump if zero 273F:17E9 EB 04 jmp short loc_299 ; (17EF) 273F:17EB 90 db 90h 273F:17EC loc_298: ; 111110010 273F:17EC B0 48 mov al,48h ; 'H' 273F:17EE C3 retn 273F:17EF loc_299: ; 111110011 273F:17EF B0 41 mov al,41h ; 'A' 273F:17F1 C3 retn 273F:17F2 loc_300: ; 1111101 273F:17F2 E8 65B0 call read_bit 273F:17F5 74 03 jz loc_301 ; Jump if zero 273F:17F7 EB 0F jmp short loc_304 ; (1808) 273F:17F9 90 db 90h 273F:17FA loc_301: ; 11111010 273F:17FA E8 65A8 call read_bit 273F:17FD 74 03 jz loc_302 ; Jump if zero 273F:17FF EB 04 jmp short loc_303 ; (1805) 273F:1801 90 db 90h 273F:1802 loc_302: ; 111110100 273F:1802 B0 B1 mov al,0B1h 273F:1804 C3 retn 273F:1805 loc_303: ; 111110101 273F:1805 B0 53 mov al,53h ; 'S' 273F:1807 C3 retn 273F:1808 loc_304: ; 11111011 273F:1808 E8 659A call read_bit 273F:180B 74 03 jz loc_305 ; Jump if zero 273F:180D EB 04 jmp short loc_306 ; (1813) 273F:180F 90 db 90h 273F:1810 loc_305: ; 111110110 273F:1810 B0 59 mov al,59h ; 'Y' 273F:1812 C3 retn 273F:1813 loc_306: ; 111110111 273F:1813 E8 658F call read_bit 273F:1816 74 03 jz loc_307 ; Jump if zero 273F:1818 EB 04 jmp short loc_308 ; (181E) 273F:181A 90 db 90h 273F:181B loc_307: ; 1111101110 273F:181B B0 47 mov al,47h ; 'G' 273F:181D C3 retn 273F:181E loc_308: ; 1111101111 273F:181E E8 6584 call read_bit 273F:1821 74 03 jz loc_309 ; Jump if zero 273F:1823 EB 04 jmp short loc_310 ; (1829) 273F:1825 90 db 90h 273F:1826 loc_309: ; 11111011110 273F:1826 B0 4D mov al,4Dh ; 'M' 273F:1828 C3 retn 273F:1829 loc_310: ; 11111011111 273F:1829 B0 4E mov al,4Eh ; 'N' 273F:182B C3 retn 273F:182C loc_311: ; 111111 273F:182C E8 6576 call read_bit 273F:182F 74 03 jz loc_312 ; Jump if zero 273F:1831 EB 51 jmp short loc_327 ; (1884) 273F:1833 90 db 90h 273F:1834 loc_312: ; 1111110 273F:1834 E8 656E call read_bit 273F:1837 74 03 jz loc_313 ; Jump if zero 273F:1839 EB 1A jmp short loc_318 ; (1855) 273F:183B 90 db 90h 273F:183C loc_313: ; 11111100 273F:183C E8 6566 call read_bit 273F:183F 74 03 jz loc_314 ; Jump if zero 273F:1841 EB 04 jmp short loc_315 ; (1847) 273F:1843 90 db 90h 273F:1844 loc_314: ; 111111000 273F:1844 B0 4F mov al,4Fh ; 'O' 273F:1846 C3 retn 273F:1847 loc_315: ; 111111001 273F:1847 E8 655B call read_bit 273F:184A 74 03 jz loc_316 ; Jump if zero 273F:184C EB 04 jmp short loc_317 ; (1852) 273F:184E 90 db 90h 273F:184F loc_316: ; 1111110010 273F:184F B0 45 mov al,45h ; 'E' 273F:1851 C3 retn 273F:1852 loc_317: ; 1111110011 273F:1852 B0 4C mov al,4Ch ; 'L' 273F:1854 C3 retn 273F:1855 loc_318: ; 11111101 273F:1855 E8 654D call read_bit 273F:1858 74 03 jz loc_319 ; Jump if zero 273F:185A EB 0F jmp short loc_322 ; (186B) 273F:185C 90 db 90h 273F:185D loc_319: ; 111111010 273F:185D E8 6545 call read_bit 273F:1860 74 03 jz loc_320 ; Jump if zero 273F:1862 EB 04 jmp short loc_321 ; (1868) 273F:1864 90 db 90h 273F:1865 loc_320: ; 1111110100 273F:1865 B0 2D mov al,2Dh ; '-' 273F:1867 C3 retn 273F:1868 loc_321: ; 1111110101 273F:1868 B0 52 mov al,52h ; 'R' 273F:186A C3 retn 273F:186B loc_322: ; 111111011 273F:186B E8 6537 call read_bit 273F:186E 74 03 jz loc_323 ; Jump if zero 273F:1870 EB 04 jmp short loc_324 ; (1876) 273F:1872 90 db 90h 273F:1873 loc_323: ; 1111110110 273F:1873 B0 42 mov al,42h ; 'B' 273F:1875 C3 retn 273F:1876 loc_324: ; 1111110111 273F:1876 E8 652C call read_bit 273F:1879 74 03 jz loc_325 ; Jump if zero 273F:187B EB 04 jmp short loc_326 ; (1881) 273F:187D 90 db 90h 273F:187E loc_325: ; 11111101110 273F:187E B0 44 mov al,44h ; 'D' 273F:1880 C3 retn 273F:1881 loc_326: ; 11111101111 273F:1881 B0 A6 mov al,0A6h 273F:1883 C3 retn 273F:1884 loc_327: ; 1111111 273F:1884 E8 651E call read_bit 273F:1887 74 03 jz loc_328 ; Jump if zero 273F:1889 EB 46 jmp short loc_341 ; (18D1) 273F:188B 90 db 90h 273F:188C loc_328: ; 11111110 273F:188C E8 6516 call read_bit 273F:188F 74 03 jz loc_329 ; Jump if zero 273F:1891 EB 1A jmp short loc_334 ; (18AD) 273F:1893 90 db 90h 273F:1894 loc_329: ; 111111100 273F:1894 E8 650E call read_bit 273F:1897 74 03 jz loc_330 ; Jump if zero 273F:1899 EB 04 jmp short loc_331 ; (189F) 273F:189B 90 db 90h 273F:189C loc_330: ; 1111111000 273F:189C B0 43 mov al,43h ; 'C' 273F:189E C3 retn 273F:189F loc_331: ; 1111111001 273F:189F E8 6503 call read_bit 273F:18A2 74 03 jz loc_332 ; Jump if zero 273F:18A4 EB 04 jmp short loc_333 ; (18AA) 273F:18A6 90 db 90h 273F:18A7 loc_332: ; 11111110010 273F:18A7 B0 78 mov al,78h ; 'x' 273F:18A9 C3 retn 273F:18AA loc_333: ; 11111110011 273F:18AA B0 6A mov al,6Ah ; 'j' 273F:18AC C3 retn 273F:18AD loc_334: ; 111111101 273F:18AD E8 64F5 call read_bit 273F:18B0 74 03 jz loc_335 ; Jump if zero 273F:18B2 EB 04 jmp short loc_336 ; (18B8) 273F:18B4 90 db 90h 273F:18B5 loc_335: ; 1111111010 273F:18B5 B0 AC mov al,0ACh 273F:18B7 C3 retn 273F:18B8 loc_336: ; 1111111011 273F:18B8 E8 64EA call read_bit 273F:18BB 74 03 jz loc_337 ; Jump if zero 273F:18BD EB 04 jmp short loc_338 ; (18C3) 273F:18BF 90 db 90h 273F:18C0 loc_337: ; 11111110110 273F:18C0 B0 A3 mov al,0A3h 273F:18C2 C3 retn 273F:18C3 loc_338: ; 11111110111 273F:18C3 E8 64DF call read_bit 273F:18C6 74 03 jz loc_339 ; Jump if zero 273F:18C8 EB 04 jmp short loc_340 ; (18CE) 273F:18CA 90 db 90h 273F:18CB loc_339: ; 111111101110 273F:18CB B0 50 mov al,50h ; 'P' 273F:18CD C3 retn 273F:18CE loc_340: ; 111111101111 273F:18CE B0 55 mov al,55h ; 'U' 273F:18D0 C3 retn 273F:18D1 loc_341: ; 11111111 273F:18D1 E8 64D1 call read_bit 273F:18D4 74 03 jz loc_342 ; Jump if zero 273F:18D6 EB 46 jmp short loc_355 ; (191E) 273F:18D8 90 db 90h 273F:18D9 loc_342: ; 111111110 273F:18D9 E8 64C9 call read_bit 273F:18DC 74 03 jz loc_343 ; Jump if zero 273F:18DE EB 0F jmp short loc_346 ; (18EF) 273F:18E0 90 db 90h 273F:18E1 loc_343: ; 1111111100 273F:18E1 E8 64C1 call read_bit 273F:18E4 74 03 jz loc_344 ; Jump if zero 273F:18E6 EB 04 jmp short loc_345 ; (18EC) 273F:18E8 90 db 90h 273F:18E9 loc_344: ; 11111111000 273F:18E9 B0 71 mov al,71h ; 'q' 273F:18EB C3 retn 273F:18EC loc_345: ; 11111111001 273F:18EC B0 AD mov al,0ADh 273F:18EE C3 retn 273F:18EF loc_346: ; 1111111101 273F:18EF E8 64B3 call read_bit 273F:18F2 74 03 jz loc_347 ; Jump if zero 273F:18F4 EB 0F jmp short loc_350 ; (1905) 273F:18F6 90 db 90h 273F:18F7 loc_347: ; 11111111010 273F:18F7 E8 64AB call read_bit 273F:18FA 74 03 jz loc_348 ; Jump if zero 273F:18FC EB 04 jmp short loc_349 ; (1902) 273F:18FE 90 db 90h 273F:18FF loc_348: ; 111111110100 273F:18FF B0 46 mov al,46h ; 'F' 273F:1901 C3 retn 273F:1902 loc_349: ; 111111110101 273F:1902 B0 31 mov al,31h ; '1' 273F:1904 C3 retn 273F:1905 loc_350: ; 11111111011 273F:1905 E8 649D call read_bit 273F:1908 74 03 jz loc_351 ; Jump if zero 273F:190A EB 04 jmp short loc_352 ; (1910) 273F:190C 90 db 90h 273F:190D loc_351: ; 111111110110 273F:190D B0 AF mov al,0AFh 273F:190F C3 retn 273F:1910 loc_352: ; 111111110111 273F:1910 E8 6492 call read_bit 273F:1913 74 03 jz loc_353 ; Jump if zero 273F:1915 EB 04 jmp short loc_354 ; (191B) 273F:1917 90 db 90h 273F:1918 loc_353: ; 1111111101110 273F:1918 B0 3B mov al,3Bh ; ';' 273F:191A C3 retn 273F:191B loc_354: ; 1111111101111 273F:191B B0 7A mov al,7Ah ; 'z' 273F:191D C3 retn 273F:191E loc_355: ; 111111111 273F:191E E8 6484 call read_bit 273F:1921 74 03 jz loc_356 ; Jump if zero 273F:1923 EB 46 jmp short loc_369 ; (196B) 273F:1925 90 nop 273F:1926 loc_356: ; 1111111110 273F:1926 E8 647C call read_bit 273F:1929 74 03 jz loc_357 ; Jump if zero 273F:192B EB 1A jmp short loc_362 ; (1947) 273F:192D 90 db 90h 273F:192E loc_357: ; 11111111100 273F:192E E8 6474 call read_bit 273F:1931 74 03 jz loc_358 ; Jump if zero 273F:1933 EB 04 jmp short loc_359 ; (1939) 273F:1935 90 db 90h 273F:1936 loc_358: ; 111111111000 273F:1936 B0 A5 mov al,0A5h 273F:1938 C3 retn 273F:1939 loc_359: ; 111111111001 273F:1939 E8 6469 call read_bit 273F:193C 74 03 jz loc_360 ; Jump if zero 273F:193E EB 04 jmp short loc_361 ; (1944) 273F:1940 90 db 90h 273F:1941 loc_360: ; 1111111110010 273F:1941 B0 32 mov al,32h ; '2' 273F:1943 C3 retn 273F:1944 loc_361: ; 1111111110011 273F:1944 B0 B0 mov al,0B0h 273F:1946 C3 retn 273F:1947 loc_362: ; 11111111101 273F:1947 E8 645B call read_bit 273F:194A 74 03 jz loc_363 ; Jump if zero 273F:194C EB 04 jmp short loc_364 ; (1952) 273F:194E 90 db 90h 273F:194F loc_363: ; 111111111010 273F:194F B0 4B mov al,4Bh ; 'K' 273F:1951 C3 retn 273F:1952 loc_364: ; 111111111011 273F:1952 E8 6450 call read_bit 273F:1955 74 03 jz loc_365 ; Jump if zero 273F:1957 EB 04 jmp short loc_366 ; (195D) 273F:1959 90 db 90h 273F:195A loc_365: ; 1111111110110 273F:195A B0 25 mov al,25h ; '%' 273F:195C C3 retn 273F:195D loc_366: ; 1111111110111 273F:195D E8 6445 call read_bit 273F:1960 74 03 jz loc_367 ; Jump if zero 273F:1962 EB 04 jmp short loc_368 ; (1968) 273F:1964 90 db 90h 273F:1965 loc_367: ; 11111111101110 273F:1965 B0 A2 mov al,0A2h 273F:1967 C3 retn 273F:1968 loc_368: ; 11111111101111 273F:1968 B0 35 mov al,35h ; '5' 273F:196A C3 retn 273F:196B loc_369: ; 1111111111 273F:196B E8 6437 call read_bit 273F:196E 74 03 jz loc_370 ; Jump if zero 273F:1970 EB 30 jmp short loc_379 ; (19A2) 273F:1972 90 db 90h 273F:1973 loc_370: ; 11111111110 273F:1973 E8 642F call read_bit 273F:1976 74 03 jz loc_371 ; Jump if zero 273F:1978 EB 0F jmp short loc_374 ; (1989) 273F:197A 90 db 90h 273F:197B loc_371: ; 111111111100 273F:197B E8 6427 call read_bit 273F:197E 74 03 jz loc_372 ; Jump if zero 273F:1980 EB 04 jmp short loc_373 ; (1986) 273F:1982 90 db 90h 273F:1983 loc_372: ; 1111111111000 273F:1983 B0 3A mov al,3Ah ; ':' 273F:1985 C3 retn 273F:1986 loc_373: ; 1111111111001 273F:1986 B0 4A mov al,4Ah ; 'J' 273F:1988 C3 retn 273F:1989 loc_374: ; 111111111101 273F:1989 E8 6419 call read_bit 273F:198C 74 03 jz loc_375 ; Jump if zero 273F:198E EB 04 jmp short loc_376 ; (1994) 273F:1990 90 db 90h 273F:1991 loc_375: ; 1111111111010 273F:1991 B0 56 mov al,56h ; 'V' 273F:1993 C3 retn 273F:1994 loc_376: ; 1111111111011 273F:1994 E8 640E call read_bit 273F:1997 74 03 jz loc_377 ; Jump if zero 273F:1999 EB 04 jmp short loc_378 ; (199F) 273F:199B 90 db 90h 273F:199C loc_377: ; 11111111110110 273F:199C B0 36 mov al,36h ; '6' 273F:199E C3 retn 273F:199F loc_378: ; 11111111110111 273F:199F B0 33 mov al,33h ; '3' 273F:19A1 C3 retn 273F:19A2 loc_379: ; 11111111111 273F:19A2 E8 6400 call read_bit 273F:19A5 74 03 jz loc_380 ; Jump if zero 273F:19A7 EB 25 jmp short loc_387 ; (19CE) 273F:19A9 90 db 90h 273F:19AA loc_380: ; 111111111110 273F:19AA E8 63F8 call read_bit 273F:19AD 74 03 jz loc_381 ; Jump if zero 273F:19AF EB 04 jmp short loc_382 ; (19B5) 273F:19B1 90 db 90h 273F:19B2 loc_381: ; 1111111111100 273F:19B2 B0 AB mov al,0ABh 273F:19B4 C3 retn 273F:19B5 loc_382: ; 1111111111101 273F:19B5 E8 63ED call read_bit 273F:19B8 74 03 jz loc_383 ; Jump if zero 273F:19BA EB 04 jmp short loc_384 ; (19C0) 273F:19BC 90 db 90h 273F:19BD loc_383: ; 11111111111010 273F:19BD B0 AE mov al,0AEh 273F:19BF C3 retn 273F:19C0 loc_384: ; 11111111111011 273F:19C0 E8 63E2 call read_bit 273F:19C3 74 03 jz loc_385 ; Jump if zero 273F:19C5 EB 04 jmp short loc_386 ; (19CB) 273F:19C7 90 db 90h 273F:19C8 loc_385: ; 111111111110110 273F:19C8 B0 30 mov al,30h ; '0' 273F:19CA C3 retn 273F:19CB loc_386: ; 111111111110111 273F:19CB B0 34 mov al,34h ; '4' 273F:19CD C3 retn 273F:19CE loc_387: ; 111111111111 273F:19CE E8 63D4 call read_bit 273F:19D1 74 03 jz loc_388 ; Jump if zero 273F:19D3 EB 1A jmp short loc_393 ; (19EF) 273F:19D5 90 db 90h 273F:19D6 loc_388: ; 1111111111110 273F:19D6 E8 63CC call read_bit 273F:19D9 74 03 jz loc_389 ; Jump if zero 273F:19DB EB 04 jmp short loc_390 ; (19E1) 273F:19DD 90 db 90h 273F:19DE loc_389: ; 11111111111100 273F:19DE B0 37 mov al,37h ; '7' 273F:19E0 C3 retn 273F:19E1 loc_390: ; 11111111111101 273F:19E1 E8 63C1 call read_bit 273F:19E4 74 03 jz loc_391 ; Jump if zero 273F:19E6 EB 04 jmp short loc_392 ; (19EC) 273F:19E8 90 db 90h 273F:19E9 loc_391: ; 111111111111010 273F:19E9 B0 39 mov al,39h ; '9' 273F:19EB C3 retn 273F:19EC loc_392: ; 111111111111011 273F:19EC B0 22 mov al,22h ; '"' 273F:19EE C3 retn 273F:19EF loc_393: ; 1111111111111 273F:19EF E8 63B3 call read_bit 273F:19F2 74 03 jz loc_394 ; Jump if zero 273F:19F4 EB 0F jmp short loc_397 ; (1A05) 273F:19F6 90 db 90h 273F:19F7 loc_394: ; 11111111111110 273F:19F7 E8 63AB call read_bit 273F:19FA 74 03 jz loc_395 ; Jump if zero 273F:19FC EB 04 jmp short loc_396 ; (1A02) 273F:19FE 90 db 90h 273F:19FF loc_395: ; 111111111111100 273F:19FF B0 38 mov al,38h ; '8' 273F:1A01 C3 retn 273F:1A02 loc_396: ; 111111111111101 273F:1A02 B0 A7 mov al,0A7h 273F:1A04 C3 retn 273F:1A05 loc_397: ; 11111111111111 273F:1A05 E8 639D call read_bit 273F:1A08 74 03 jz loc_398 ; Jump if zero 273F:1A0A EB 0F jmp short loc_401 ; (1A1B) 273F:1A0C 90 db 90h 273F:1A0D loc_398: ; 111111111111110 273F:1A0D E8 6395 call read_bit 273F:1A10 74 03 jz loc_399 ; Jump if zero 273F:1A12 EB 04 jmp short loc_400 ; (1A18) 273F:1A14 90 db 90h 273F:1A15 loc_399: ; 1111111111111100 273F:1A15 B0 2F mov al,2Fh ; '/' 273F:1A17 C3 retn 273F:1A18 loc_400: ; 1111111111111101 273F:1A18 B0 51 mov al,51h ; 'Q' 273F:1A1A C3 retn 273F:1A1B loc_401: ; 111111111111111 273F:1A1B E8 6387 call read_bit 273F:1A1E 74 03 jz loc_402 ; Jump if zero 273F:1A20 EB 0F jmp short loc_405 ; (1A31) 273F:1A22 90 db 90h 273F:1A23 loc_402: ; 1111111111111110 273F:1A23 E8 637F call read_bit 273F:1A26 74 03 jz loc_403 ; Jump if zero 273F:1A28 EB 04 jmp short loc_404 ; (1A2E) 273F:1A2A 90 db 90h 273F:1A2B loc_403: ; 11111111111111100 273F:1A2B B0 A8 mov al,0A8h 273F:1A2D C3 retn 273F:1A2E loc_404: ; 11111111111111101 273F:1A2E B0 28 mov al,28h ; '(' 273F:1A30 C3 retn 273F:1A31 loc_405: ; 1111111111111111 273F:1A31 E8 6371 call read_bit 273F:1A34 74 03 jz loc_406 ; Jump if zero 273F:1A36 EB 0F jmp short loc_409 ; (1A47) 273F:1A38 90 db 90h 273F:1A39 loc_406: ; 11111111111111110 273F:1A39 E8 6369 call read_bit 273F:1A3C 74 03 jz loc_407 ; Jump if zero 273F:1A3E EB 04 jmp short loc_408 ; (1A44) 273F:1A40 90 db 90h 273F:1A41 loc_407: ; 111111111111111100 273F:1A41 B0 29 mov al,29h ; ')' 273F:1A43 C3 retn 273F:1A44 loc_408: ; 111111111111111101 273F:1A44 B0 99 mov al,99h 273F:1A46 C3 retn 273F:1A47 loc_409: ; 11111111111111111 273F:1A47 B0 A9 mov al,0A9h 273F:1A49 C3 retn decode_character endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:631D ; si=Character name, di = speech text, talk_character_id = character hotspot Id ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_dialog_init proc near 273F:1A4A 89 3E B9F9 mov talk_speech_ptr, di 273F:1A4E BD 0080 mov bp, 80h 273F:1A51 A1 4CF0 mov ax, font2_segment 273F:1A54 8E C0 mov es, ax 273F:1A56 56 push si 273F:1A57 33 D2 xor dx, dx ; Zero register 273F:1A59 B1 03 mov cl, 3 273F:1A5B loc_410: ; xref 273F:1A68, 1A6D 273F:1A5B úAC lodsb ; String [si] to al 273F:1A5C 2C 20 sub al,20h ; ' ' 273F:1A5E 72 0F jc loc_411 ; Jump if carry Set 273F:1A60 98 cbw ; Convrt byte to word 273F:1A61 D3 E0 shl ax,cl ; Convert to font data offset 273F:1A63 8B D8 mov bx,ax 273F:1A65 26: 02 17 add dl,es:[bx] ; Increase width 273F:1A68 73 F1 jnc loc_410 ; Jump if carry=0 273F:1A6A 80 C6 01 add dh,1 273F:1A6D EB EC jmp short loc_410 ; (1A5B) ; dx = size of the character name? 273F:1A6F loc_411: ; xref 273F:1A5E 273F:1A6F B8 0080 mov ax,80h 273F:1A72 2B C2 sub ax,dx 273F:1A74 D1 E8 shr ax,1 ; Calculate centering name? 273F:1A76 50 push ax 273F:1A77 úBB B9F9 mov bx, offset talk_speech_ptr 273F:1A7A E8 00B3 call word_wrap_string 273F:1A7D A1 4CE6 mov ax, talk_dialog_buffer 273F:1A80 A3 B9FF mov talk_buffer_segment, ax 273F:1A83 8E C0 mov es, ax 273F:1A85 BF 0000 mov di,0 273F:1A88 89 3E BA01 mov talk_buffer_offset, di 273F:1A8C 8B 2E B9FD mov bp, data_1122 273F:1A90 57 push di 273F:1A91 FF 16 0756 call [draw_talk_dialog_proc] 273F:1A95 A1 983B mov ax, talk_character_id 273F:1A98 E8 F24F call get_room_resource_pointer2 273F:1A9B 8B 44 19 mov ax, [si+HS_WIDTH_COPY] ; Figure out hotspot X center 273F:1A9E D1 E8 shr ax,1 273F:1AA0 03 44 0D add ax, [si+HS_X] 273F:1AA3 2D 0080 sub ax, 80h ; Remove 80h offset 273F:1AA6 72 19 jc loc_412 ; Character off-screen 273F:1AA8 8B 1E 11C4 mov bx, talk_dialog_width 273F:1AAC D1 EB shr bx,1 ; ax=X start for centering 273F:1AAE 2B C3 sub ax,bx ; dialog on character 273F:1AB0 72 0F jc loc_412 273F:1AB2 BB 0136 mov bx, 310 273F:1AB5 2B 1E 11C4 sub bx, talk_dialog_width 273F:1AB9 3B C3 cmp ax, bx ; Too far along horizontally? 273F:1ABB 72 06 jb loc_413 273F:1ABD 8B C3 mov ax,bx ; Yes, so limit x start 273F:1ABF EB 02 jmp short loc_413 273F:1AC1 loc_412: 273F:1AC1 33 C0 xor ax,ax 273F:1AC3 loc_413: 273F:1AC3 A3 11C2 mov talk_dialog_left, ax ; Set the x start 273F:1AC6 5F pop di 273F:1AC7 8B 36 076E mov si, data_571 273F:1ACB 8A 7C 04 mov bh, [si+4] 273F:1ACE 8A 44 05 mov al, [si+5] 273F:1AD1 A2 BA06 mov data_ba06, al 273F:1AD4 58 pop ax 273F:1AD5 5E pop si 273F:1AD6 80 3E 0742 01 cmp video_style, VIDEO_STYLE_VGA 273F:1ADB 74 2A je loc_414 ; Jump if equal 273F:1ADD 81 C7 0140 add di,140h 273F:1AE1 8B 0E BA01 mov cx, talk_buffer_offset 273F:1AE5 81 C1 03C0 add cx, SCREEN_WIDTH*3 ; 3C0h ? 273F:1AE9 89 0E BA01 mov talk_buffer_offset, cx 273F:1AED 89 0E BA03 mov talk_buffer_offset_2, cx 273F:1AF1 8A C8 mov cl,al 273F:1AF3 80 E1 07 and cl,7 273F:1AF6 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:1AF8 25 FFFC and ax,0FFFCh 273F:1AFB 03 F8 add di,ax 273F:1AFD BD 0040 mov bp,40h 273F:1B00 C6 06 BA05 05 mov byte ptr ds:data_465e,5 ; (273F:BA05=0) 273F:1B05 EB 19 jmp short loc_415 ; (1B20) 273F:1B07 loc_414: ; xref 273F:1ADB 273F:1B07 03 F8 add di,ax 273F:1B09 81 C7 0280 add di,280h 273F:1B0D 8B 0E BA01 mov cx, talk_buffer_offset 273F:1B11 81 C1 0785 add cx,785h 273F:1B15 89 0E BA01 mov talk_buffer_offset, cx 273F:1B19 89 0E BA03 mov talk_buffer_offset_2, cx 273F:1B1D BD 0080 mov bp,80h 273F:1B20 loc_415: ; xref 273F:1B05 273F:1B20 89 2E B9FB mov data_b9fb, bp ; Loop for adding the character name into the dialog 273F:1B24 úAC loc_416: lodsb ; String [si] to al 273F:1B25 2C 20 sub al,20h ; ' ' 273F:1B27 72 06 jc loc_ret_417 ; Jump if carry Set 273F:1B29 FF 16 075A call [display2_character_proc] 273F:1B2D EB F5 jmp short loc_416 ; (1B24) 273F:1B2F loc_ret_417: ; xref 273F:1B27 273F:1B2F C3 retn talk_dialog_init endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1A7A, 8980 ; bx = talk data details record offset ; di = text to handle ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1B30 word_wrap_string proc near 273F:1B30 8B F7 mov si,di 273F:1B32 C7 47 04 0000 mov word ptr [bx+4],0 273F:1B37 loc_418: ; xref 273F:1B5C, 1B92 273F:1B37 ú8B FE mov di,si 273F:1B39 83 47 04 01 add word ptr [bx+4],1 273F:1B3D BA 0009 mov dx,9 273F:1B40 loc_419: ; xref 273F:1B8C 273F:1B40 32 ED xor ch,ch ; Zero register 273F:1B42 loc_420: ; xref 273F:1B51, 1B58 273F:1B42 úAC lodsb ; String [si] to al 273F:1B43 2C 20 sub al,20h ; ' ' 273F:1B45 74 17 jz loc_423 ; Jump if zero 273F:1B47 72 0A jc loc_421 ; Jump if carry Set 273F:1B49 98 cbw ; Convrt byte to word 273F:1B4A D3 E0 shl ax,cl ; Shift w/zeros fill 273F:1B4C 93 xchg bx,ax 273F:1B4D 26: 02 2F add ch,es:[bx] 273F:1B50 93 xchg bx,ax 273F:1B51 EB EF jmp short loc_420 ; (1B42) 273F:1B53 loc_421: ; xref 273F:1B47 273F:1B53 3C E1 cmp al,0E1h 273F:1B55 75 03 jne loc_422 ; Jump if not equal 273F:1B57 AC lodsb ; String [si] to al 273F:1B58 EB E8 jmp short loc_420 ; (1B42) 273F:1B5A loc_422: ; xref 273F:1B55 273F:1B5A 3C ED cmp al,0EDh 273F:1B5C 74 D9 je loc_418 ; Jump if equal 273F:1B5E loc_423: ; xref 273F:1B45 273F:1B5E 02 D5 add dl,ch 273F:1B60 73 03 jnc loc_424 ; Jump if carry=0 273F:1B62 80 C6 01 add dh,1 273F:1B65 loc_424: ; xref 273F:1B60 273F:1B65 3B EA cmp bp,dx 273F:1B67 74 1D je loc_426 ; Jump if equal 273F:1B69 73 0F jnc loc_425 ; Jump if carry=0 273F:1B6B C6 45 FF 0D mov byte ptr [di-1],0Dh 273F:1B6F 8A D5 mov dl,ch 273F:1B71 80 C2 09 add dl,9 273F:1B74 32 F6 xor dh,dh ; Zero register 273F:1B76 83 47 04 01 add word ptr [bx+4],1 273F:1B7A loc_425: ; xref 273F:1B69 273F:1B7A 8B FE mov di,si 273F:1B7C 26: 02 16 0000 add dl,es:data_1443e ; (8B57:0000=0) 273F:1B81 73 03 jnc loc_426 ; Jump if carry=0 273F:1B83 80 C6 01 add dh,1 273F:1B86 loc_426: ; xref 273F:1B67, 1B81 273F:1B86 0A C0 or al,al ; Zero ? 273F:1B88 75 0A jnz loc_427 ; Jump if not zero 273F:1B8A 3B D5 cmp dx,bp 273F:1B8C 72 B2 jb loc_419 ; Jump if below 273F:1B8E C6 44 FF 0D mov byte ptr [si-1],0Dh ; Add a carriage return 273F:1B92 EB A3 jmp short loc_418 273F:1B94 loc_427: 273F:1B94 8B 47 04 mov ax,[bx+4] 273F:1B97 C3 retn word_wrap_string endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:634C, 899B, 8E28 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1B98 sub_51 proc near 273F:1B98 8B 37 mov si,[bx] 273F:1B9A 8B 7F 08 mov di,[bx+8] 273F:1B9D 8A 4F 0C mov cl,[bx+0Ch] 273F:1BA0 8B 47 06 mov ax,[bx+6] 273F:1BA3 8E C0 mov es,ax 273F:1BA5 53 push bx 273F:1BA6 8B 6F 02 mov bp, [bx+2] 273F:1BA9 8A 7F 0D mov bh, [bx+0Dh] 273F:1BAC loc_428: ; xref 273F:1BCE 273F:1BAC úAC lodsb ; String [si] to al 273F:1BAD 2C 20 sub al,20h ; ' ' 273F:1BAF 74 1F jz loc_430 ; Jump if zero 273F:1BB1 73 17 jnc loc_429 ; Jump if carry=0 273F:1BB3 3C E1 cmp al,0E1h 273F:1BB5 72 29 jb loc_432 ; Jump if below 273F:1BB7 5B pop bx 273F:1BB8 8B 7F 0A mov di,[bx+0Ah] 273F:1BBB B8 0007 mov ax,7 273F:1BBE F7 67 02 mul word ptr [bx+2] ; dx:ax = data * ax 273F:1BC1 03 F8 add di,ax 273F:1BC3 89 7F 0A mov [bx+0Ah], di 273F:1BC6 B1 05 mov cl, 5 273F:1BC8 EB 0B jmp short loc_431 ; (1BD5) 273F:1BCA loc_429: ; xref 273F:1BB1 273F:1BCA FF 16 075A call [display2_character_proc] 273F:1BCE EB DC jmp short loc_428 ; (1BAC) 273F:1BD0 loc_430: ; xref 273F:1BAF 273F:1BD0 FF 16 075A call [display2_character_proc] 273F:1BD4 5B pop bx 273F:1BD5 loc_431: ; xref 273F:1BC8 273F:1BD5 89 7F 08 mov [bx+8],di 273F:1BD8 88 4F 0C mov [bx+0Ch],cl 273F:1BDB 89 37 mov [bx],si 273F:1BDD 33 C0 xor ax,ax ; Zero register 273F:1BDF C3 retn 273F:1BE0 loc_432: ; xref 273F:1BB5 273F:1BE0 5B pop bx 273F:1BE1 0D FFFF or ax,0FFFFh 273F:1BE4 C3 retn sub_51 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:59D2, 59F6, 5A2E, 5A68 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1BE5 sub_52 proc near 273F:1BE5 8B 0E 074C mov cx, menubar_block_size 273F:1BE9 F7 E1 mul cx ; dx:ax = reg * ax 273F:1BEB 8B F8 mov di,ax 273F:1BED A1 074A mov ax, char_width 273F:1BF0 F7 E3 mul bx ; dx:ax = reg * ax 273F:1BF2 03 F8 add di,ax 273F:1BF4 A1 4CE4 mov ax, data_segment2 273F:1BF7 8E C0 mov es,ax 273F:1BF9 8B 2E 0748 mov bp, screen_width 273F:1BFD 32 C9 xor cl,cl ; Zero register 273F:1BFF 8B 1E 076E mov bx, data_571 273F:1C03 8A 7F 05 mov bh,[bx+5] 273F:1C06 loc_433: ; xref 273F:1C0F 273F:1C06 úAC lodsb ; String [si] to al 273F:1C07 2C 20 sub al,20h ; ' ' 273F:1C09 72 06 jc loc_ret_434 ; Jump if carry Set 273F:1C0B FF 16 075A call [display2_character_proc] 273F:1C0F EB F5 jmp short loc_433 ; (1C06) 273F:1C11 loc_ret_434: ; xref 273F:1C09 273F:1C11 C3 retn sub_52 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:010A, 93EC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_check_cursors proc near assume ds:data_seg 273F:1C12 A1 11E1 mov ax, cursor_index 273F:1C15 3D 0002 cmp ax, CURSOR_TIME_UP ; Check if it's in the clock animation 273F:1C18 72 24 jb loc_437 ; No 273F:1C1A 3D 0009 cmp ax, CURSOR_TIME_UP_LEFT 273F:1C1D 73 1F jae loc_437 ; Too high 273F:1C1F 80 3E 6D52 01 cmp player_action_state, CHAR_ACTION_START_WALK 273F:1C24 74 07 je loc_435 ; Jump if equal 273F:1C26 80 3E 6D52 04 cmp player_action_state, CHAR_ACTION_PROCESSING_PATH 273F:1C2B 75 11 jne loc_437 ; Jump if not equal 273F:1C2D loc_435: ; xref 273F:1C24 273F:1C2D 05 0001 add ax,1 273F:1C30 3D 000A cmp ax, CURSOR_CROSS ; Passed end of clock sequence? 273F:1C33 72 03 jb loc_436 ; Jump if below 273F:1C35 A1 0002 mov ax, CURSOR_TIME_UP ; Set clock back to start 273F:1C38 loc_436: 273F:1C38 A2 11E3 mov cursor_index_new, al 273F:1C3B E9 0180 jmp loc_451 273F:1C3E loc_437: 273F:1C3E E8 0374 call talk_dialog_mouse_check 273F:1C41 75 08 jnz loc_438 ; Not in dialog 273F:1C43 C6 06 11E3 10 mov cursor_index_new, CURSOR_TALK ; Show talk cursor 273F:1C48 E9 0173 jmp loc_451 273F:1C4B loc_438: ; xref 273F:1C41 273F:1C4B 80 3E 9834 04 cmp cursor_state, CURSORSTATE_BUMPED 273F:1C50 74 5B je loc_440 ; Jump if equal 273F:1C52 80 3E 9834 03 cmp cursor_state, CURSORSTATE_TALK 273F:1C57 74 5C je loc_441 ; Jump if equal ; Check for cursor in menubar area 273F:1C59 83 3E 11D8 08 cmp mouse_y2, MENUBAR_Y_SIZE 273F:1C5E 73 10 jae loc_439 ; Jump if above or = 273F:1C60 F7 06 BA25 FFFF test old_room_number, 0FFFFh 273F:1C66 75 55 jnz loc_ret_442 ; Jump if not zero 273F:1C68 C6 06 11E3 11 mov cursor_index_new, CURSOR_MENUBAR_AREA 273F:1C6D E9 014E jmp loc_451 ; (1DBE) 273F:1C70 loc_439: ; xref 273F:1C5E 273F:1C70 F6 06 9834 FF test cursor_state, 0FFh 273F:1C75 74 47 jz loc_443 ; Jump if zero 273F:1C77 C7 06 1924 0000 mov hotspot_id, 0 273F:1C7D C6 06 11E3 0F mov cursor_index_new, CURSOR_CAMERA 273F:1C82 8B 16 9832 mov dx, room_number 273F:1C86 úBF 623E mov di, offset hotspot_table_3 273F:1C89 BD 2710 mov bp, START_EXIT_HOTSPOT_ID 273F:1C8C E8 01BC call room_check_hotspots 273F:1C8F úBF 63B1 mov di, offset hotspot_table_4 273F:1C92 BD 7530 mov bp,7530h 273F:1C95 E8 01B3 call room_check_hotspots 273F:1C98 úBF 5D98 mov di, offset hotspot_table_2 273F:1C9B BD 03E8 mov bp, PLAYER_HOTSPOT_ID 273F:1C9E E8 01AA call room_check_hotspots 273F:1CA1 úBF 5EB8 mov di, offset hotspot_table_5 273F:1CA4 BD 0408 mov bp, FIRST_OBJECT_HOTSPOT_ID 273F:1CA7 E8 01A1 call room_check_hotspots 273F:1CAA E9 0111 jmp loc_451 ; (1DBE) 273F:1CAD loc_440: ; xref 273F:1C50 273F:1CAD C6 06 11E3 0F mov cursor_index_new, CURSOR_CAMERA 273F:1CB2 E9 0109 jmp loc_451 ; (1DBE) 273F:1CB5 loc_441: ; xref 273F:1C57 273F:1CB5 C6 06 11E3 00 mov cursor_index_new, CURSOR_ARROW 273F:1CBA E9 0101 jmp loc_451 ; (1DBE) 273F:1CBD loc_ret_442: ; xref 273F:1C66 273F:1CBD C3 retn 273F:1CBE loc_443: ; xref 273F:1C75 273F:1CBE C6 06 11E3 00 mov cursor_index_new, CURSOR_ARROW 273F:1CC3 C7 06 1924 0000 mov hotspot_id, 0 273F:1CC9 C7 06 11E6 0000 mov hotspot_name_id, 0 273F:1CCF 8B 16 9832 mov dx, room_number 273F:1CD3 úBF 623E mov di, offset hotspot_table_3 273F:1CD6 BD 2710 mov bp, START_EXIT_HOTSPOT_ID 273F:1CD9 E8 016F call room_check_hotspots 273F:1CDC úBF 5D98 mov di, offset hotspot_table_2 273F:1CDF BD 03E8 mov bp, PLAYER_HOTSPOT_ID 273F:1CE2 E8 0166 call room_check_hotspots 273F:1CE5 úBF 63B1 mov di, offset hotspot_table_4 273F:1CE8 BD 7530 mov bp,7530h 273F:1CEB E8 015D call room_check_hotspots 273F:1CEE úBF 5EB8 mov di, offset hotspot_table_5 273F:1CF1 BD 0408 mov bp, FIRST_OBJECT_HOTSPOT_ID 273F:1CF4 E8 0154 call room_check_hotspots 273F:1CF7 F7 06 1924 FFFF test hotspot_id, 0FFFFh 273F:1CFD 74 05 jz loc_444 ; Not on hotspot 273F:1CFF C6 06 11E3 0A mov cursor_index_new, CURSOR_CROSS 273F:1D04 loc_444: ; xref 273F:1CFD 273F:1D04 A1 11E6 mov ax, hotspot_name_id 273F:1D07 3B 06 11E4 cmp ax, hotspot_name_id2 273F:1D0B 74 36 je loc_446 ; Jump if equal 273F:1D0D A3 11E4 mov hotspot_name_id2, ax 273F:1D10 E8 52F2 call menubar_clear_image 273F:1D13 A1 11E4 mov ax, hotspot_name_id2 273F:1D16 0B C0 or ax,ax ; Zero ? 273F:1D18 74 29 jz loc_446 ; Jump if zero 273F:1D1A BF 4B43 mov di, offset hotspot_name 273F:1D1D E8 601A call decode_string 273F:1D20 8B 36 076E mov si, data_571 273F:1D24 8A 7C 05 mov bh,[si+5] 273F:1D27 úBE 4B43 mov si,offset hotspot_name 273F:1D2A BF 0000 mov di,0 273F:1D2D B1 04 mov cl,4 273F:1D2F 8B 2E 0748 mov bp, screen_width 273F:1D33 A1 4CE4 mov ax, data_segment2 273F:1D36 8E C0 mov es,ax 273F:1D38 loc_445: ; xref 273F:1D41 273F:1D38 úAC lodsb ; String [si] to al 273F:1D39 2C 20 sub al,20h ; ' ' 273F:1D3B 72 06 jc loc_446 ; Jump if carry Set 273F:1D3D FF 16 075A call [display2_character_proc] 273F:1D41 EB F5 jmp short loc_445 ; (1D38) 273F:1D43 loc_446: ; xref 273F:1D0B, 1D18, 1D3B 273F:1D43 C7 06 1920 0000 mov room_exit_hotspot_id, 0 273F:1D49 C7 06 1922 0000 mov dest_room_num, 0 273F:1D4F 8B 1E 9832 mov bx, room_number 273F:1D53 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:1D55 8B B7 2F61 mov si, room_exits_table[bx] 273F:1D59 0B F6 or si,si ; Zero ? 273F:1D5B 74 61 jz loc_451 ; Jump if zero 273F:1D5D 8B 1E 11D6 mov bx, mouse_x2 273F:1D61 81 C3 0080 add bx, 80h 273F:1D65 8B 16 11D8 mov dx, mouse_y2 273F:1D69 81 C2 0080 add dx,80h 273F:1D6D loc_447: ; xref 273F:1D89 273F:1D6D ú8B 04 mov ax,[si] 273F:1D6F 0B C0 or ax,ax ; Record present? 273F:1D71 74 4B jz loc_451 ; If no, exit loop 273F:1D73 3B C3 cmp ax,bx 273F:1D75 73 0F jae loc_448 ; Jump if above or = 273F:1D77 3B 5C 02 cmp bx,[si+ROOMEXIT_X_END] 273F:1D7A 73 0A jae loc_448 ; Jump if above or = 273F:1D7C 3B 54 04 cmp dx,[si+ROOMEXIT_Y_START] 273F:1D7F 72 05 jb loc_448 ; Jump if below 273F:1D81 3B 54 06 cmp dx,[si+ROOMEXIT_Y_END] 273F:1D84 72 05 jb loc_449 ; Jump if below 273F:1D86 loc_448: 273F:1D86 83 C6 0E add si, ROOMEXIT_RECORD_SIZE ; Move to next record 273F:1D89 EB E2 jmp short loc_447 273F:1D8B loc_449: ; xref 273F:1D84 273F:1D8B 8B 44 0A mov ax,[si+ROOMEXIT_HOTSPOT_ID] ; Get asssociated hotspot Id 273F:1D8E 0B C0 or ax,ax ; Is there one? 273F:1D90 74 0D jz loc_450 ; No, so allow exit 273F:1D92 56 push si 273F:1D93 E8 5458 call room_exit_hs_get_pointer 273F:1D96 5F pop di 273F:1D97 87 F7 xchg si,di 273F:1D99 F6 45 0C FF test byte ptr [di+REHS_EXIT_BLOCKED],0FFh ; Is exit blocked? 273F:1D9D 75 1F jnz loc_451 ; Jump if yes 273F:1D9F loc_450: 273F:1D9F 8B 44 0A mov ax,[si+ROOMEXIT_HOTSPOT_ID] 273F:1DA2 A3 1920 mov room_exit_hotspot_id, ax 273F:1DA5 8B 44 0C mov ax,[si+ROOMEXIT_DEST_ROOM] 273F:1DA8 A3 1922 mov dest_room_num, ax 273F:1DAB 8B 44 08 mov ax,[si+ROOMEXIT_CURSOR_NUM] 273F:1DAE A2 11E3 mov cursor_index_new, al 273F:1DB1 F7 06 1924 FFFF test hotspot_id, 0FFFFh 273F:1DB7 74 05 jz loc_451 ; Jump if zero 273F:1DB9 80 06 11E3 07 add cursor_index_new, CURSOR_ARROW_UP2-CURSOR_ARROW_UP ; Change standard arrow to cross arrow 273F:1DBE loc_451: ; xref 273F:1C3B, 1C48, 1C6D, 1CAA ; 1CB2, 1CBA, 1D5B, 1D71 ; 1D9D, 1DB7 273F:1DBE A0 11E3 mov al, cursor_index_new 273F:1DC1 3A 06 11E1 cmp al, cursor_index 273F:1DC5 74 15 je loc_ret_453 ; Jump if equal 273F:1DC7 A2 11E1 mov cursor_index, al 273F:1DCA C6 06 11DF 00 mov cursor_centroid, 0 273F:1DCF 3C 0A cmp al, CURSOR_CROSS 273F:1DD1 75 05 jne loc_452 ; Jump if not equal 273F:1DD3 C6 06 11DF 07 mov cursor_centroid, 7 273F:1DD8 loc_452: ; xref 273F:1DD1 273F:1DD8 FF 16 075E call word ptr [show_cursor_proc] 273F:1DDC loc_ret_453: ; xref 273F:1DC5, 1E50 273F:1DDC C3 retn room_check_cursors endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:1DDD C3 retn ;* No entry point to code 273F:1DDE A1 11D8 mov ax, mouse_y2 273F:1DE1 3D 0008 cmp ax,8 273F:1DE4 72 18 jb loc_454 ; Jump if below 273F:1DE6 8A 1E CF09 mov bl, talk_line_num 273F:1DEA 80 FB 02 cmp bl,2 273F:1DED 72 15 jb loc_455 ; Jump if below 273F:1DEF 80 C3 01 add bl,1 273F:1DF2 32 FF xor bh,bh ; Zero register 273F:1DF4 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:1DF6 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:1DF8 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:1DFA 3B C3 cmp ax,bx 273F:1DFC 73 06 jae loc_455 ; Jump if above or = 273F:1DFE loc_454: ; xref 273F:1DE4 273F:1DFE C6 06 11E3 00 mov byte ptr ds:[11E3h],0 ; (273F:11E3=74h) 273F:1E03 C3 retn 273F:1E04 loc_455: 273F:1E04 F6 06 9837 FF test talk_dialog_active, 0FFh 273F:1E09 74 3A jz loc_457 ; Jump if zero 273F:1E0B A1 11D6 mov ax, mouse_x2 273F:1E0E 3B 06 11C2 cmp ax, talk_dialog_left 273F:1E12 72 31 jb loc_457 ; Jump if below 273F:1E14 2B 06 11C2 sub ax, talk_dialog_left 273F:1E18 3B 06 11C4 cmp ax, talk_dialog_width 273F:1E1C 73 27 jae loc_457 ; Jump if above or = 273F:1E1E 80 3E CF08 03 cmp talk_state, 3 273F:1E23 74 07 je loc_456 ; Jump if equal 273F:1E25 80 3E CF08 04 cmp talk_state, 4 273F:1E2A 75 19 jne loc_457 ; Jump if not equal 273F:1E2C loc_456: ; xref 273F:1E23 273F:1E2C A1 11D8 mov ax, mouse_y2 273F:1E2F 3B 06 11C0 cmp ax, talk_dialog_top 273F:1E33 72 10 jb loc_457 ; Jump if below 273F:1E35 2B 06 11C0 sub ax, talk_dialog_top 273F:1E39 3B 06 11C6 cmp ax, talk_dialog_height 273F:1E3D 73 06 jae loc_457 ; Jump if above or = 273F:1E3F C6 06 11E3 10 mov byte ptr ds:[11E3h],10h ; (273F:11E3=74h) 273F:1E44 C3 retn 273F:1E45 loc_457: ; xref 273F:1E09, 1E12, 1E1C, 1E2A ; 1E33, 1E3D 273F:1E45 C6 06 11E3 16 mov byte ptr ds:[11E3h],16h ; (273F:11E3=74h) 273F:1E4A C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1C8C, 1C95, 1C9E, 1CA7, 1CD9, 1CE2, 1CEB ; 1CF4 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1E4B room_check_hotspots proc near 273F:1E4B ú8B 35 mov si,[di] ; Get data ptr 273F:1E4D 83 FE FF cmp si,0FFFFh ; Reached end of list? 273F:1E50 74 8A je loc_ret_453 ; If yes, then exit 273F:1E52 39 54 06 cmp [si+HS_ROOM_NUM], dx ; Entry in same room? 273F:1E55 75 4F jne loc_463 ; No, so go move to next 273F:1E57 F6 44 03 80 test byte ptr [si+HS_FLAGS],80h 273F:1E5B 75 06 jnz loc_459 ; Jump if not zero 273F:1E5D F6 44 03 40 test byte ptr [si+HS_FLAGS],40h 273F:1E61 75 43 jnz loc_463 273F:1E63 loc_459: 273F:1E63 F6 44 03 20 test byte ptr [si+HS_FLAGS],20h 273F:1E67 75 3D jnz loc_463 ; Jump if not zero 273F:1E69 81 FD 0409 cmp bp,409h 273F:1E6D 73 05 jae loc_460 ; Jump if above or = 273F:1E6F E8 293C call room_check_x_extents 273F:1E72 75 32 jnz loc_463 ; Jump if not zero 273F:1E74 loc_460: ; xref 273F:1E6D 273F:1E74 úBB 2A01 mov bx,offset hotspot_table 273F:1E77 loc_461: ; xref 273F:1E84 273F:1E77 ú8B 07 mov ax,[bx] 273F:1E79 0B C0 or ax,ax ; Zero ? 273F:1E7B 74 31 jz loc_464 ; Jump if zero 273F:1E7D 3B C5 cmp ax,bp 273F:1E7F 74 05 je loc_462 ; Jump if equal 273F:1E81 83 C3 0A add bx, HOTSPOT_TABLE_ENTRY_SIZE 273F:1E84 EB F1 jmp short loc_461 ; Check next entry 273F:1E86 loc_462: 273F:1E86 A1 11D6 mov ax, mouse_x2 273F:1E89 05 0080 add ax,80h 273F:1E8C 3B 47 02 cmp ax,[bx+2] 273F:1E8F 72 15 jb loc_463 ; Jump if below 273F:1E91 3B 47 04 cmp ax,[bx+4] 273F:1E94 73 10 jae loc_463 ; Jump if above or = 273F:1E96 A1 11D8 mov ax, mouse_y2 273F:1E99 05 0080 add ax,80h 273F:1E9C 3B 47 06 cmp ax,[bx+6] 273F:1E9F 72 05 jb loc_463 ; Jump if below 273F:1EA1 3B 47 08 cmp ax,[bx+8] 273F:1EA4 72 30 jb loc_465 ; Jump if below 273F:1EA6 loc_463: 273F:1EA6 83 C7 09 add di,9 ; Move to next entry 273F:1EA9 83 C5 01 add bp,1 ; Increment result Id 273F:1EAC EB 9D jmp room_check_hotspots 273F:1EAE loc_464: 273F:1EAE A1 11D6 mov ax, mouse_x2 273F:1EB1 05 0080 add ax, 80h 273F:1EB4 8B 4C 0D mov cx, [si+HS_X] 273F:1EB7 3B C1 cmp ax, cx 273F:1EB9 72 EB jb loc_463 ; Jump if below 273F:1EBB 03 4C 19 add cx, [si+HS_WIDTH_COPY] 273F:1EBE 3B C8 cmp cx, ax 273F:1EC0 72 E4 jb loc_463 ; Jump if below 273F:1EC2 A1 11D8 mov ax, mouse_y2 273F:1EC5 05 0080 add ax, 80h 273F:1EC8 8B 4C 0F mov cx, [si+HS_Y] 273F:1ECB 3B C1 cmp ax, cx 273F:1ECD 72 D7 jb loc_463 ; Jump if below 273F:1ECF 03 4C 13 add cx, [si+HS_HEIGHT] 273F:1ED2 3B C8 cmp cx, ax 273F:1ED4 72 D0 jb loc_463 ; Jump if below 273F:1ED6 loc_465: ; xref 273F:1EA4 273F:1ED6 80 4C 03 80 or byte ptr [si+HS_FLAGS], 80h 273F:1EDA 89 2E 1924 mov hotspot_id, bp 273F:1EDE 8B 45 02 mov ax, [di+2] 273F:1EE1 80 E4 1F and ah, 1Fh 273F:1EE4 A3 11E6 mov hotspot_name_id, ax ; Save actions for this hotspot 273F:1EE7 C3 retn room_check_hotspots endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0785, 94C8, 9DCC, 9DE5, 9DFE, 9E19, 9E33 ; 9E4D, 9E63, 9E79 ; cx=horiz, dx=vert, bx=buttons, ax=trigger, si/di=horiz/vert mickeys ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1EE8 mouse_handler proc near 273F:1EE8 50 push ax 273F:1EE9 53 push bx 273F:1EEA 51 push cx 273F:1EEB 52 push dx 273F:1EEC 56 push si 273F:1EED 57 push di 273F:1EEE 55 push bp 273F:1EEF 1E push ds 273F:1EF0 06 push es 273F:1EF1 9C pushf ; Push flags 273F:1EF2 81 F9 027E cmp cx, 638 273F:1EF6 72 03 jb loc_466 ; Jump if below 273F:1EF8 B9 027D mov cx, 637 273F:1EFB loc_466: 273F:1EFB D1 E9 shr cx,1 ; Translate horiz 0-637 to 0-318 273F:1EFD 81 FA 00C8 cmp dx, 200 273F:1F01 72 03 jb loc_467 ; Jump if below 273F:1F03 BA 00C7 mov dx, 199 273F:1F06 loc_467: 273F:1F06 FC cld 273F:1F07 B8 31E4 mov ax,data_seg 273F:1F0A 8E D8 mov ds,ax 273F:1F0C 3A 1E 11D5 cmp bl, mouse_buttons ; Check mouse buttons 273F:1F10 74 27 je loc_468 ; Jump if no button change 273F:1F12 88 1E 11D5 mov mouse_buttons, bl ; Save new button status 273F:1F16 0A DB or bl,bl ; Zero ? 273F:1F18 74 1F jz loc_468 ; Jump if no buttons pressed 273F:1F1A F6 06 11DA FF test mouse_buttons2, 0FFh 273F:1F1F 75 18 jnz loc_468 ; Jump if not zero 273F:1F21 88 1E 11DA mov mouse_buttons2, bl 273F:1F25 89 0E 11DB mov char_dest_x, cx 273F:1F29 81 06 11DB 0080 add char_dest_x, 80h 273F:1F2F 89 16 11DD mov char_dest_y, dx 273F:1F33 81 06 11DD 0080 add char_dest_y, 80h 273F:1F39 loc_468: ; xref 273F:1F10, 1F18, 1F1F 273F:1F39 89 0E 11D1 mov mouse_x, cx 273F:1F3D 89 16 11D3 mov mouse_y, dx 273F:1F41 F6 06 11D0 06 test menubar_state, 6 ; (31E4:11D0=3) 273F:1F46 75 0C jnz loc_469 ; Jump if not zero 273F:1F48 89 0E 11D6 mov mouse_x2, cx 273F:1F4C 89 16 11D8 mov mouse_y2, dx 273F:1F50 FF 16 075E call word ptr [show_cursor_proc] 273F:1F54 loc_469: ; xref 273F:1F46 273F:1F54 9D popf ; Pop flags 273F:1F55 07 pop es 273F:1F56 1F pop ds 273F:1F57 5D pop bp 273F:1F58 5F pop di 273F:1F59 5E pop si 273F:1F5A 5A pop dx 273F:1F5B 59 pop cx 273F:1F5C 5B pop bx 273F:1F5D 58 pop ax 273F:1F5E CB retf ; Return far mouse_handler endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0013, 001D, 70B3, 77EA, 8F5A, 938B, A5B5 ; A661, A8E3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1F5F show_disk_cursor proc near 273F:1F5F 80 3E 11E1 01 cmp cursor_index, CURSOR_DISK 273F:1F64 74 0E je loc_ret_470 ; Jump if equal 273F:1F66 C6 06 11E1 01 mov cursor_index, CURSOR_DISK 273F:1F6B C6 06 11DF 00 mov cursor_centroid, 0 273F:1F70 FF 16 075E call word ptr [show_cursor_proc] 273F:1F74 loc_ret_470: ; xref 273F:1F64, 1F7A 273F:1F74 C3 retn show_disk_cursor endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00D0, 3D2B, 6D5A, 6E7E, 9342 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1F75 show_arrow_cursor proc near 273F:1F75 80 3E 11E1 00 cmp cursor_index, CURSOR_ARROW 273F:1F7A 74 F8 je loc_ret_470 ; Jump if equal 273F:1F7C C6 06 11E1 00 mov cursor_index, CURSOR_ARROW 273F:1F81 C6 06 11DF 00 mov cursor_centroid, 0 273F:1F86 FF 16 075E call word ptr [show_cursor_proc] 273F:1F8A C3 retn show_arrow_cursor endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:40CB, 413F, 5A6F, 5A75, 705E, 88EA, 88F0 ; 912C, 93E9, 9401 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1F8B mouse_wait proc near 273F:1F8B loc_471: ; xref 273F:1F93 273F:1F8B E8 F52A call set_vga_palette ; (14B8) 273F:1F8E F6 06 11D5 07 test byte ptr mouse_buttons, 7 273F:1F93 75 F6 jnz loc_471 ; Mouse button being held down 273F:1F95 C3 retn mouse_wait endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:40C7, 4142, 5A72, 7061, 70B0, 88ED ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:1F96 pause_for_input proc near 273F:1F96 loc_472: ; xref 273F:1F9C 273F:1F96 B4 06 mov ah,6 273F:1F98 B2 FF mov dl,0FFh 273F:1F9A CD 21 int 21h ; Read character from STDIN 273F:1F9C 75 F8 jnz loc_472 ; key pressed 273F:1F9E loc_473: ; xref 273F:1FAB 273F:1F9E E8 F517 call set_vga_palette ; (14B8) 273F:1FA1 E8 757C call check_keypress ; (9520) 273F:1FA4 75 0E jnz loc_ret_474 ; Jump if not zero 273F:1FA6 F6 06 11D5 07 test mouse_buttons, 7 273F:1FAB 74 F1 jz loc_473 ; No buttons pressed 273F:1FAD C6 06 11DA 00 mov mouse_buttons2, 0 273F:1FB2 33 C0 xor ax,ax ; Zero register 273F:1FB4 loc_ret_474: ; xref 273F:1FA4 273F:1FB4 C3 retn pause_for_input endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1C3E ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_dialog_mouse_check proc near 273F:1FB5 C6 06 0DB4 00 mov talk_dialog_close_flag, 0 273F:1FBA F6 06 9837 FF test talk_dialog_active, 0FFh ; Is the dialog active? 273F:1FBF 74 3D jz loc_475 ; Jump if zero 273F:1FC1 F6 06 4B40 FF test data_791, 0FFh 273F:1FC6 75 36 jnz loc_475 ; Jump if not zero 273F:1FC8 81 3E 983F 03E8 cmp data_1090, PLAYER_HOTSPOT_ID 273F:1FCE 75 2E jne loc_475 ; Jump if not equal 273F:1FD0 A1 11D6 mov ax, mouse_x2 273F:1FD3 3B 06 11C2 cmp ax, talk_dialog_left 273F:1FD7 72 25 jb loc_475 ; Jump if below 273F:1FD9 2B 06 11C2 sub ax, talk_dialog_left 273F:1FDD 3B 06 11C4 cmp ax, talk_dialog_width 273F:1FE1 73 1B jae loc_475 ; Jump if above or = 273F:1FE3 A1 11D8 mov ax, mouse_y2 273F:1FE6 3B 06 11C0 cmp ax, talk_dialog_top 273F:1FEA 72 12 jb loc_475 ; Jump if below 273F:1FEC 2B 06 11C0 sub ax, talk_dialog_top 273F:1FF0 3B 06 11C6 cmp ax, talk_dialog_height 273F:1FF4 73 08 jae loc_475 ; Jump if above or = 273F:1FF6 C6 06 0DB4 01 mov talk_dialog_close_flag, 1 273F:1FFB 33 C0 xor ax,ax ; Zero register 273F:1FFD C3 retn 273F:1FFE loc_475: ; xref 273F:1FBF, 1FC6, 1FCE, 1FD7 ; 1FE1, 1FEA, 1FF4 273F:1FFE B0 01 mov al,1 273F:2000 0B C0 or ax,ax ; Zero ? 273F:2002 C3 retn talk_dialog_mouse_check endp 273F:2003 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00E7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2004 sub_61 proc near 273F:2004 83 3E 9832 1F cmp room_number, ROOMNUM_TOWN_HALL 273F:2009 74 29 je loc_ret_476 ; Jump if equal 273F:200B 83 3E 9832 0E cmp room_number, ROOMNUM_MIDDLE_STREET 273F:2010 74 22 je loc_ret_476 ; Jump if equal 273F:2012 F7 06 BAA9 FFFF test script_val_80, 0FFFFh 273F:2018 74 1A jz loc_ret_476 ; Jump if zero 273F:201A F7 06 BA4F FFFF test script_val_29, 0FFFFh 273F:2020 74 12 jz loc_ret_476 ; Jump if zero 273F:2022 83 2E BA4F 01 sub script_val_29, 1 273F:2027 75 0B jnz loc_ret_476 ; Jump if not zero 273F:2029 BB 0CB7 mov bx, 0CB7h 273F:202C B9 0002 mov cx,2 273F:202F 33 D2 xor dx,dx ; Zero register 273F:2031 E8 27FC call add_sequence_delay 273F:2034 loc_ret_476: ; xref 273F:2009, 2010, 2018, 2020 ; 2027 273F:2034 C3 retn sub_61 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2035 83 3E BA3B 03 cmp talk_record_index, 3 273F:203A 73 1A jae loc_ret_477 ; Jump if above or = 273F:203C 83 3E 9832 2D cmp room_number, ROOMNUM_DINING_HALL 273F:2041 75 13 jne loc_ret_477 ; Jump if not equal 273F:2043 F6 06 BA9B FF test byte ptr script_val_73, 0FFh 273F:2048 75 0C jnz loc_ret_477 ; Jump if not zero 273F:204A C7 06 BA17 03E8 mov character_hotspot, PLAYER_HOTSPOT_ID 273F:2050 B8 1E15 mov ax,1E15h 273F:2053 E8 1DDE call sequence_execute 273F:2056 loc_ret_477: ; xref 273F:203A, 2041, 2048 273F:2056 C3 retn 273F:2057 00 db 0 273F:2058 00 data_233 db 0 ; xref 273F:2DA2, 2DD0, 2DD5, 2E2F ; 2E7B, 2EB9, 2EE8, 2EED ; 2F4F 273F:2059 00 data_234 db 0 ; xref 273F:2DA7, 2DE7, 2DEC, 2E3C ; 2E80, 2EC0, 2EFF, 2F04 ; 2F5C 273F:205A 00 data_235 db 0 ; xref 273F:2DAC, 2DFE, 2E03, 2E49 ; 2E85, 2EC7, 2F16, 2F1B ; 2F69 273F:205B 00 data_236 db 0 ; xref 273F:2DB1, 2E15, 2E1A, 2E56 ; 2E8A, 2ECE, 2F2D, 2F32 ; 2F76 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7BBA, A7AD, A82B ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:205C ega_show_srceen proc near 273F:205C 80 0E 11D0 02 or menubar_state, 2 ; (31E4:11D0=3) 273F:2061 BA 03CE mov dx,3CEh 273F:2064 B8 0805 mov ax,805h 273F:2067 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2068 B8 0007 mov ax,7 273F:206B EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:206C B0 03 mov al,3 273F:206E EF out dx,ax ; port 3CEh, EGA graphic index ; al = 3, data rotate 273F:206F B8 FF08 mov ax,0FF08h 273F:2072 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2073 B2 C4 mov dl,0C4h 273F:2075 A1 0DB2 mov ax, screen_start_seg2 273F:2078 8E C0 mov es,ax 273F:207A F6 06 4BF0 FF test byte ptr data_794,0FFh ; (31E4:4BF0=0) 273F:207F 74 03 jz loc_478 ; Jump if zero 273F:2081 E8 0F41 call sub_68 ; (2FC5) 273F:2084 loc_478: ; xref 273F:207F 273F:2084 úBB 07DC mov bx, offset display_mask 273F:2087 03 1E 0990 add bx,data_587 ; (31E4:0990=0) 273F:208B B9 060A mov cx,60Ah 273F:208E úBE 0500 mov si,data_12e ; (0000:0500=0) 273F:2091 úBF 0140 mov di,data_1449e ; (A200:0140=0) 273F:2094 loc_479: ; xref 273F:20E2, 20F4 273F:2094 F6 07 01 test byte ptr [bx],1 273F:2097 74 3D jz loc_482 ; Jump if zero 273F:2099 56 push si 273F:209A 57 push di 273F:209B 51 push cx 273F:209C 80 27 FE and byte ptr [bx],0FEh 273F:209F 1E push ds 273F:20A0 A1 4CE4 mov ax, data_segment2 273F:20A3 8E D8 mov ds,ax 273F:20A5 B8 0802 mov ax,802h 273F:20A8 B9 0004 mov cx,4 273F:20AB locloop_480: ; xref 273F:20D0 273F:20AB 51 push cx 273F:20AC 56 push si 273F:20AD 57 push di 273F:20AE EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:20AF B9 0020 mov cx,20h 273F:20B2 locloop_481: ; xref 273F:20C6 273F:20B2 A4 movsb ; Mov [si] to es:[di] 273F:20B3 83 C6 03 add si,3 273F:20B6 A4 movsb ; Mov [si] to es:[di] 273F:20B7 83 C6 03 add si,3 273F:20BA A4 movsb ; Mov [si] to es:[di] 273F:20BB 83 C6 03 add si,3 273F:20BE A4 movsb ; Mov [si] to es:[di] 273F:20BF 81 C6 0093 add si,93h 273F:20C3 83 C7 24 add di,24h 273F:20C6 E2 EA loop locloop_481 ; Loop if cx > 0 273F:20C8 5F pop di 273F:20C9 5E pop si 273F:20CA 83 C6 01 add si,1 273F:20CD D0 EC shr ah,1 ; Shift w/zeros fill 273F:20CF 59 pop cx 273F:20D0 E2 D9 loop locloop_480 ; Loop if cx > 0 273F:20D2 1F pop ds 273F:20D3 59 pop cx 273F:20D4 5F pop di 273F:20D5 5E pop si 273F:20D6 loc_482: ; xref 273F:2097 273F:20D6 83 C6 10 add si,10h 273F:20D9 83 C7 04 add di,4 273F:20DC 83 C3 01 add bx,1 273F:20DF 80 E9 01 sub cl,1 273F:20E2 75 B0 jnz loc_479 ; Jump if not zero 273F:20E4 83 C3 08 add bx,8 273F:20E7 81 C6 1360 add si,1360h 273F:20EB 81 C7 04D8 add di,4D8h 273F:20EF B1 0A mov cl,0Ah 273F:20F1 80 ED 01 sub ch,1 273F:20F4 75 9E jnz loc_479 ; Jump if not zero 273F:20F6 B8 0F02 mov ax,0F02h 273F:20F9 EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:20FA B2 CE mov dl,0CEh 273F:20FC B8 0005 mov ax,5 273F:20FF EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2100 B8 0F07 mov ax,0F07h 273F:2103 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:2104 B8 FF08 mov ax,0FF08h 273F:2107 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2108 A1 0DB0 mov ax, screen_start_seg ; Swap screen segment 273F:210B 8B 1E 0DB2 mov bx, screen_start_seg2 273F:210F 89 1E 0DB0 mov screen_start_seg, bx 273F:2113 A3 0DB2 mov screen_start_seg2, ax 273F:2116 1E push ds 273F:2117 07 pop es 273F:2118 úBE 11E8 mov si,offset data_638 ; (31E4:11E8=0) 273F:211B úBF 12AE mov di,offset data_642 ; (31E4:12AE=0) 273F:211E B9 0063 mov cx,63h 273F:2121 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:2123 C7 06 11EC 0000 mov data_640,0 ; (31E4:11EC=0) 273F:2129 E8 0987 call ega_cursor 273F:212C A0 0DB1 mov al, [screen_start_seg+1] 273F:212F D0 E8 shr al,1 ; Shift w/zeros fill 273F:2131 24 01 and al,1 273F:2133 B4 05 mov ah,5 273F:2135 CD 10 int 10h ; Video display ah=functn 05h ; set display page al 273F:2137 B8 0040 mov ax,40h 273F:213A 8E C0 mov es,ax 273F:213C 26: 8B 16 0063 mov dx,es:video_port ; (0040:0063=3D4h) 273F:2141 80 C2 06 add dl,6 273F:2144 loc_483: ; xref 273F:2147 273F:2144 EC in al,dx ; port 3DAh, CGA/EGA vid status nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 85 273F:2145 A8 08 test al,8 273F:2147 74 FB jz loc_483 ; Jump if zero 273F:2149 úBE 12AE mov si,offset data_642 ; (31E4:12AE=0) 273F:214C A1 0DB2 mov ax, screen_start_seg2 273F:214F 8E C0 mov es,ax 273F:2151 E8 0AD1 call sub_67 ; (2C25) 273F:2154 80 36 0991 01 xor byte ptr data_587+1,1 ; (31E4:0991=0) 273F:2159 80 26 11D0 FD and menubar_state, 0FDh ; (31E4:11D0=3) 273F:215E C3 retn ega_show_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [fade_out_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_empty_palette proc near 273F:215F 80 0E 073C 20 or byte ptr ds:[73Ch],20h ; (273F:073C=17h) ' ' 273F:2164 80 26 11D0 CF and menubar_state, 0CFh ; (273F:11D0=56h) 273F:2169 B8 1002 mov ax,1002h 273F:216C 1E push ds 273F:216D 07 pop es 273F:216E úBA 0DB5 mov dx,0DB5h ; (273F:0DB5=0C7h) 273F:2171 CD 10 int 10h ; Video display ah=functn 10h ; set palette regs from es:dx 273F:2173 C3 retn ega_empty_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [fade_in_proc] ; For EGA cards, don't do a fade-in.. just set the whole palette ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_fade_in proc near 273F:2174 80 26 073C DF and byte ptr ds:[73Ch],0DFh ; (273F:073C=17h) 273F:2179 B8 1002 mov ax,1002h 273F:217C 1E push ds 273F:217D 07 pop es 273F:217E úBA 1457 mov dx,offset unprocessed_vga_palette 273F:2181 CD 10 int 10h ; Video display ah=functn 10h ; set palette regs from es:dx 273F:2183 C3 retn ega_fade_in endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:2184 1E push ds 273F:2185 57 push di 273F:2186 56 push si 273F:2187 98 cbw ; Convrt byte to word 273F:2188 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:218A D1 E0 shl ax,1 ; Shift w/zeros fill 273F:218C D1 E0 shl ax,1 ; Shift w/zeros fill 273F:218E 8B F0 mov si,ax 273F:2190 8B 16 4CF0 mov dx, font2_segment 273F:2194 8E DA mov ds,dx 273F:2196 AC lodsb ; String [si] to al 273F:2197 50 push ax 273F:2198 B5 07 mov ch,7 273F:219A loc_484: ; xref 273F:2202 273F:219A AC lodsb ; String [si] to al 273F:219B 8A E0 mov ah,al 273F:219D 32 C0 xor al,al ; Zero register 273F:219F D3 E8 shr ax,cl ; Shift w/zeros fill 273F:21A1 8B D0 mov dx,ax 273F:21A3 F7 D2 not dx 273F:21A5 8A DF mov bl,bh 273F:21A7 D0 EB shr bl,1 ; Shift w/zeros fill 273F:21A9 73 09 jnc loc_485 ; Jump if carry=0 273F:21AB 26: 08 25 or es:[di],ah 273F:21AE 26: 08 45 04 or es:[di+4],al 273F:21B2 EB 07 jmp short loc_486 ; (21BB) 273F:21B4 loc_485: ; xref 273F:21A9 273F:21B4 26: 20 35 and es:[di],dh 273F:21B7 26: 20 55 04 and es:[di+4],dl 273F:21BB loc_486: ; xref 273F:21B2 273F:21BB D0 EB shr bl,1 ; Shift w/zeros fill 273F:21BD 73 0A jnc loc_487 ; Jump if carry=0 273F:21BF 26: 08 65 01 or es:[di+1],ah 273F:21C3 26: 08 45 05 or es:[di+5],al 273F:21C7 EB 08 jmp short loc_488 ; (21D1) 273F:21C9 loc_487: ; xref 273F:21BD 273F:21C9 26: 20 75 01 and es:[di+1],dh 273F:21CD 26: 20 55 05 and es:[di+5],dl 273F:21D1 loc_488: ; xref 273F:21C7 273F:21D1 D0 EB shr bl,1 ; Shift w/zeros fill 273F:21D3 73 0A jnc loc_489 ; Jump if carry=0 273F:21D5 26: 08 65 02 or es:[di+2],ah 273F:21D9 26: 08 45 06 or es:[di+6],al 273F:21DD EB 08 jmp short loc_490 ; (21E7) 273F:21DF loc_489: ; xref 273F:21D3 273F:21DF 26: 20 75 02 and es:[di+2],dh 273F:21E3 26: 20 55 06 and es:[di+6],dl 273F:21E7 loc_490: ; xref 273F:21DD 273F:21E7 D0 EB shr bl,1 ; Shift w/zeros fill 273F:21E9 73 0A jnc loc_491 ; Jump if carry=0 273F:21EB 26: 08 65 03 or es:[di+3],ah 273F:21EF 26: 08 45 07 or es:[di+7],al 273F:21F3 EB 08 jmp short loc_492 ; (21FD) 273F:21F5 loc_491: ; xref 273F:21E9 273F:21F5 26: 20 75 03 and es:[di+3],dh 273F:21F9 26: 20 55 07 and es:[di+7],dl 273F:21FD loc_492: ; xref 273F:21F3 273F:21FD 03 FD add di,bp 273F:21FF 80 ED 01 sub ch,1 273F:2202 75 96 jnz loc_484 ; Jump if not zero 273F:2204 58 pop ax 273F:2205 5E pop si 273F:2206 5F pop di 273F:2207 1F pop ds 273F:2208 02 C8 add cl,al 273F:220A 8A C1 mov al,cl 273F:220C 80 E1 07 and cl,7 273F:220F 25 00F8 and ax,0F8h 273F:2212 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2214 03 F8 add di,ax 273F:2216 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_talk_dialog proc near 273F:2217 1E push ds 273F:2218 A1 11C0 mov ax, talk_dialog_top 273F:221B 50 push ax 273F:221C 05 0008 add ax,8 273F:221F 8B D0 mov dx,ax 273F:2221 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2223 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2225 03 C2 add ax,dx 273F:2227 B1 05 mov cl,5 273F:2229 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:222B 8B F8 mov di,ax 273F:222D A1 11C2 mov ax, talk_dialog_left 273F:2230 24 F8 and al,0F8h 273F:2232 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2234 03 F8 add di,ax 273F:2236 B8 0007 mov ax,7 273F:2239 F7 26 B9FD mul data_1122 ; dx:ax = data * ax 273F:223D 05 0014 add ax,14h 273F:2240 8B D0 mov dx,ax 273F:2242 A3 11C6 mov talk_dialog_height, ax 273F:2245 A1 4CE4 mov ax, data_segment2 273F:2248 8E C0 mov es,ax 273F:224A A1 4CE6 mov ax, talk_dialog_buffer 273F:224D 8E D8 mov ds,ax 273F:224F úBE 0000 mov si,data_69e ; (0874:0000=0C5h) 273F:2252 loc_493: ; xref 273F:225D 273F:2252 B9 0020 mov cx,20h 273F:2255 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:2257 83 C7 60 add di,60h 273F:225A 80 EA 01 sub dl,1 273F:225D 75 F3 jnz loc_493 ; Jump if not zero 273F:225F 5B pop bx 273F:2260 1F pop ds 273F:2261 8B 16 11C6 mov dx, talk_dialog_height 273F:2265 A1 11C2 mov ax, talk_dialog_left 273F:2268 BD 0080 mov bp,80h 273F:226B 89 2E 11C4 mov talk_dialog_width, bp 273F:226F B9 0001 mov cx,1 273F:2272 E9 E91A jmp loc_93 ; (0B8F) ega_talk_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_draw_talk_dialog proc near 273F:2275 B8 0007 mov ax,7 273F:2278 F7 E5 mul bp ; dx:ax = reg * ax 273F:227A 05 000E add ax,0Eh 273F:227D A3 11C6 mov talk_dialog_height, ax 273F:2280 8B E8 mov bp,ax 273F:2282 C7 06 11C4 0080 mov talk_dialog_width, 80h 273F:2288 1E push ds 273F:2289 55 push bp 273F:228A B8 44E4 mov ax, ega_talk_frame_seg 273F:228D 8E D8 mov ds,ax 273F:228F 33 F6 xor si,si ; Zero register 273F:2291 BB 000E mov bx,0Eh 273F:2294 BA 0003 mov dx,3 273F:2297 loc_494: ; xref 273F:22A0 273F:2297 E8 01B9 call sub_63 ; (2453) 273F:229A 83 EF 60 sub di,60h 273F:229D 83 EA 01 sub dx,1 273F:22A0 75 F5 jnz loc_494 ; Jump if not zero 273F:22A2 5A pop dx 273F:22A3 loc_495: ; xref 273F:22AF 273F:22A3 E8 01AD call sub_63 ; (2453) 273F:22A6 83 EF 60 sub di,60h 273F:22A9 83 EE 0C sub si,0Ch 273F:22AC 83 EA 01 sub dx,1 273F:22AF 75 F2 jnz loc_495 ; Jump if not zero 273F:22B1 BA 0003 mov dx,3 273F:22B4 83 C6 0C add si,0Ch 273F:22B7 loc_496: ; xref 273F:22C0 273F:22B7 E8 0199 call sub_63 ; (2453) 273F:22BA 83 EF 60 sub di,60h 273F:22BD 83 EA 01 sub dx,1 273F:22C0 75 F5 jnz loc_496 ; Jump if not zero 273F:22C2 1F pop ds 273F:22C3 C3 retn ega_draw_talk_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_menu_items proc near 273F:22C4 BA 03CE mov dx,3CEh 273F:22C7 B8 0805 mov ax,805h 273F:22CA EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:22CB B8 0007 mov ax,7 273F:22CE EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:22CF B0 03 mov al,3 273F:22D1 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 3, data rotate 273F:22D2 B8 FF08 mov ax,0FF08h 273F:22D5 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:22D6 B2 C4 mov dl,0C4h 273F:22D8 55 push bp 273F:22D9 1E push ds 273F:22DA 8E DD mov ds,bp 273F:22DC A1 0DB2 mov ax,ds:data_25e ; (0000:0DB2=8340h) 273F:22DF 1F pop ds 273F:22E0 8E C0 mov es,ax 273F:22E2 úBF 08C1 mov di,data_1442e ; (8340:08C1=0) 273F:22E5 8B 36 335A mov si,word ptr ds:[335Ah] ; (273F:335A=0ACA4h) 273F:22E9 8A 1E 334E mov bl,byte ptr ds:[334Eh] ; (273F:334E=0E4h) 273F:22ED 32 FF xor bh,bh ; Zero register 273F:22EF 8B EB mov bp,bx 273F:22F1 1E push ds assume ds:seg_code 273F:22F2 A1 3376 mov ax,data_265 ; (273F:3376=0F632h) 273F:22F5 8E D8 mov ds,ax 273F:22F7 B8 0802 mov ax,802h 273F:22FA B9 0004 mov cx,4 273F:22FD locloop_497: ; xref 273F:2323 273F:22FD 51 push cx 273F:22FE 56 push si 273F:22FF 57 push di 273F:2300 EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:2301 B9 0048 mov cx,48h 273F:2304 locloop_498: ; xref 273F:2319 273F:2304 51 push cx 273F:2305 56 push si 273F:2306 57 push di 273F:2307 8B CD mov cx,bp 273F:2309 locloop_499: ; xref 273F:230D 273F:2309 A4 movsb ; Mov [si] to es:[di] 273F:230A 83 C6 03 add si,3 273F:230D E2 FA loop locloop_499 ; Loop if cx > 0 273F:230F 5F pop di 273F:2310 5E pop si 273F:2311 59 pop cx 273F:2312 83 C7 28 add di,28h 273F:2315 81 C6 00A0 add si,0A0h 273F:2319 E2 E9 loop locloop_498 ; Loop if cx > 0 273F:231B 5F pop di 273F:231C 5E pop si 273F:231D 83 C6 01 add si,1 273F:2320 D0 EC shr ah,1 ; Shift w/zeros fill 273F:2322 59 pop cx 273F:2323 E2 D8 loop locloop_497 ; Loop if cx > 0 273F:2325 1F pop ds 273F:2326 5D pop bp 273F:2327 B8 0F02 mov ax,0F02h 273F:232A EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:232B B2 CE mov dl,0CEh 273F:232D B8 0005 mov ax,5 273F:2330 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2331 B8 0F07 mov ax,0F07h 273F:2334 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:2335 B8 FF08 mov ax,0FF08h 273F:2338 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2339 1E push ds 273F:233A 55 push bp 273F:233B 8E DD mov ds,bp 273F:233D A1 0DB0 mov ax, screen_start_seg 273F:2340 8B 1E 0DB2 mov bx, screen_start_seg2 273F:2344 89 1E 0DB0 mov screen_start_seg, bx 273F:2348 A3 0DB2 mov screen_start_seg2, ax 273F:234B A0 0DB1 mov al, [screen_start_seg+1] 273F:234E D0 E8 shr al,1 ; Shift w/zeros fill 273F:2350 24 01 and al,1 273F:2352 B4 05 mov ah,5 273F:2354 CD 10 int 10h ; Video display ah=functn 05h ; set display page al 273F:2356 B8 0040 mov ax,40h 273F:2359 8E C0 mov es,ax 273F:235B 26: 8B 16 0063 mov dx,es:video_port ; (0040:0063=3D4h) 273F:2360 80 C2 06 add dl,6 273F:2363 loc_500: ; xref 273F:2366 273F:2363 EC in al,dx ; port 3DAh, CGA/EGA vid status 273F:2364 A8 08 test al,8 273F:2366 74 FB jz loc_500 ; Jump if zero 273F:2368 80 36 0991 01 xor byte ptr ds:data_22e,1 ; (0000:0991=8Eh) 273F:236D 5D pop bp 273F:236E 1F pop ds 273F:236F C3 retn ega_menu_items endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [fade_out_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_draw_dialog proc near 273F:2370 32 E4 xor ah,ah ; Zero register 273F:2372 32 FF xor bh,bh ; Zero register 273F:2374 32 ED xor ch,ch ; Zero register 273F:2376 32 F6 xor dh,dh ; Zero register 273F:2378 52 push dx 273F:2379 51 push cx 273F:237A 53 push bx 273F:237B 50 push ax 273F:237C 52 push dx 273F:237D 93 xchg bx,ax 273F:237E BA 0500 mov dx,500h 273F:2381 F7 E2 mul dx ; dx:ax = reg * ax 273F:2383 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:2385 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:2387 03 C3 add ax,bx 273F:2389 8B F8 mov di,ax 273F:238B 5A pop dx 273F:238C 83 C2 01 add dx,1 273F:238F 8B C2 mov ax,dx 273F:2391 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2393 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2395 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2397 F7 C5 FFFF test bp,0FFFFh 273F:239B 75 02 jnz loc_501 ; Jump if not zero 273F:239D 2B D0 sub dx,ax 273F:239F loc_501: ; xref 273F:239B 273F:239F 83 C2 01 add dx,1 273F:23A2 8B D9 mov bx,cx 273F:23A4 A1 4CE4 mov ax, data_segment2 273F:23A7 8E C0 mov es,ax 273F:23A9 1E push ds 273F:23AA B8 44E4 mov ax, ega_talk_frame_seg 273F:23AD 8E D8 mov ds,ax 273F:23AF 33 F6 xor si,si ; Zero register 273F:23B1 52 push dx 273F:23B2 BA 0003 mov dx,3 273F:23B5 loc_502: ; xref 273F:23BB 273F:23B5 E8 009B call sub_63 ; (2453) 273F:23B8 83 EA 01 sub dx,1 273F:23BB 75 F8 jnz loc_502 ; Jump if not zero 273F:23BD 5A pop dx 273F:23BE loc_503: ; xref 273F:23C7 273F:23BE E8 0092 call sub_63 ; (2453) 273F:23C1 83 EE 0C sub si,0Ch 273F:23C4 83 EA 01 sub dx,1 273F:23C7 75 F5 jnz loc_503 ; Jump if not zero 273F:23C9 83 C6 0C add si,0Ch 273F:23CC BA 0003 mov dx,3 273F:23CF loc_504: ; xref 273F:23D5 273F:23CF E8 0081 call sub_63 ; (2453) 273F:23D2 83 EA 01 sub dx,1 273F:23D5 75 F8 jnz loc_504 ; Jump if not zero 273F:23D7 1F pop ds 273F:23D8 58 pop ax 273F:23D9 5B pop bx 273F:23DA 5D pop bp 273F:23DB 5A pop dx 273F:23DC 83 EB 01 sub bx,1 273F:23DF 83 C2 02 add dx,2 273F:23E2 83 C5 02 add bp,2 273F:23E5 B1 81 mov cl,81h 273F:23E7 E9 E799 jmp loc_92 ega_draw_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:23EA 32 FF xor bh,bh ; Zero register 273F:23EC 32 F6 xor dh,dh ; Zero register 273F:23EE 53 push bx 273F:23EF B0 0B mov al,0Bh 273F:23F1 2A C2 sub al,dl 273F:23F3 52 push dx 273F:23F4 B9 0500 mov cx,500h 273F:23F7 F7 E1 mul cx ; dx:ax = reg * ax 273F:23F9 05 00A0 add ax,0A0h 273F:23FC 5A pop dx 273F:23FD 8B F8 mov di,ax 273F:23FF D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2401 83 C2 01 add dx,1 273F:2404 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2406 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:2408 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:240A 83 EA 08 sub dx,8 273F:240D A1 4CE4 mov ax, data_segment2 273F:2410 8E C0 mov es,ax 273F:2412 1E push ds 273F:2413 B8 44E4 mov ax, ega_talk_frame_seg 273F:2416 8E D8 mov ds,ax 273F:2418 33 F6 xor si,si ; Zero register 273F:241A 52 push dx 273F:241B BA 0003 mov dx,3 273F:241E loc_505: ; xref 273F:2424 273F:241E E8 0032 call sub_63 ; (2453) 273F:2421 83 EA 01 sub dx,1 273F:2424 75 F8 jnz loc_505 ; Jump if not zero 273F:2426 5A pop dx 273F:2427 loc_506: ; xref 273F:2430 273F:2427 E8 0029 call sub_63 ; (2453) 273F:242A 83 EE 0C sub si,0Ch 273F:242D 83 EA 01 sub dx,1 273F:2430 75 F5 jnz loc_506 ; Jump if not zero 273F:2432 83 C6 0C add si,0Ch 273F:2435 BA 0003 mov dx,3 273F:2438 loc_507: ; xref 273F:243E 273F:2438 E8 0018 call sub_63 ; (2453) 273F:243B 83 EA 01 sub dx,1 273F:243E 75 F8 jnz loc_507 ; Jump if not zero 273F:2440 1F pop ds 273F:2441 B8 0001 mov ax,1 273F:2444 BB 0007 mov bx,7 273F:2447 5D pop bp 273F:2448 83 C5 02 add bp,2 273F:244B BA 0009 mov dx,9 273F:244E B1 81 mov cl,81h 273F:2450 E9 E730 jmp loc_92 ; (0B83) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:2297, 22A3, 22B7, 23B5, 23BE, 23CF, 241E ; 2427, 2438, 3039, 303C, 303F, 3045, 3048 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2453 sub_63 proc near 273F:2453 57 push di 273F:2454 A5 movsw ; Mov [si] to es:[di] 273F:2455 A5 movsw ; Mov [si] to es:[di] 273F:2456 AD lodsw ; String [si] to ax 273F:2457 8B E8 mov bp,ax 273F:2459 AD lodsw ; String [si] to ax 273F:245A 8B CB mov cx,bx 273F:245C locloop_508: ; xref 273F:2460 273F:245C 95 xchg bp,ax 273F:245D AB stosw ; Store ax to es:[di] 273F:245E 95 xchg bp,ax 273F:245F AB stosw ; Store ax to es:[di] 273F:2460 E2 FA loop locloop_508 ; Loop if cx > 0 273F:2462 A5 movsw ; Mov [si] to es:[di] 273F:2463 A5 movsw ; Mov [si] to es:[di] 273F:2464 5F pop di 273F:2465 81 C7 00A0 add di,0A0h 273F:2469 C3 retn sub_63 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0C6B, 7BB1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:246A ega_decode_entry proc near 273F:246A 1E push ds 273F:246B 8E DA mov ds,dx 273F:246D úBE 0086 mov si,data_1435e ; (45F6:0086=15h) 273F:2470 33 FF xor di,di ; Zero register 273F:2472 BD 0020 mov bp,20h 273F:2475 8B 14 mov dx,[si] 273F:2477 86 F2 xchg dh,dl 273F:2479 83 C6 02 add si,2 273F:247C B9 0008 mov cx,8 273F:247F 33 DB xor bx,bx ; Zero register 273F:2481 loc_509: ; xref 273F:24C9, 24D3 273F:2481 8A C6 mov al,dh 273F:2483 D0 E8 shr al,1 ; Shift w/zeros fill 273F:2485 D0 E8 shr al,1 ; Shift w/zeros fill 273F:2487 D0 E8 shr al,1 ; Shift w/zeros fill 273F:2489 88 01 mov [bx+di],al 273F:248B D1 D2 rcl dx,1 ; Rotate thru carry 273F:248D E2 07 loop locloop_510 ; Loop if cx > 0 273F:248F 86 D0 xchg dl,al 273F:2491 AC lodsb ; String [si] to al nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 93 273F:2492 86 D0 xchg dl,al 273F:2494 B1 08 mov cl,8 273F:2496 locloop_510: ; xref 273F:248D 273F:2496 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2498 E2 07 loop locloop_511 ; Loop if cx > 0 273F:249A 86 D0 xchg dl,al 273F:249C AC lodsb ; String [si] to al 273F:249D 86 D0 xchg dl,al 273F:249F B1 08 mov cl,8 273F:24A1 locloop_511: ; xref 273F:2498 273F:24A1 D1 D2 rcl dx,1 ; Rotate thru carry 273F:24A3 E2 07 loop locloop_512 ; Loop if cx > 0 273F:24A5 86 D0 xchg dl,al 273F:24A7 AC lodsb ; String [si] to al 273F:24A8 86 D0 xchg dl,al 273F:24AA B1 08 mov cl,8 273F:24AC locloop_512: ; xref 273F:24A3 273F:24AC D1 D2 rcl dx,1 ; Rotate thru carry 273F:24AE E2 07 loop locloop_513 ; Loop if cx > 0 273F:24B0 86 D0 xchg dl,al 273F:24B2 AC lodsb ; String [si] to al 273F:24B3 86 D0 xchg dl,al 273F:24B5 B1 08 mov cl,8 273F:24B7 locloop_513: ; xref 273F:24AE 273F:24B7 D1 D2 rcl dx,1 ; Rotate thru carry 273F:24B9 E2 07 loop locloop_514 ; Loop if cx > 0 273F:24BB 86 D0 xchg dl,al 273F:24BD AC lodsb ; String [si] to al 273F:24BE 86 D0 xchg dl,al 273F:24C0 B1 08 mov cl,8 273F:24C2 locloop_514: ; xref 273F:24B9 273F:24C2 83 C3 20 add bx,20h 273F:24C5 ú81 FB 0080 cmp bx,data_1434e ; (45F6:0080=0) 273F:24C9 75 B6 jne loc_509 ; Jump if not equal 273F:24CB 33 DB xor bx,bx ; Zero register 273F:24CD 83 C7 01 add di,1 273F:24D0 83 ED 01 sub bp,1 273F:24D3 75 AC jnz loc_509 ; Jump if not zero 273F:24D5 90 nop 273F:24D6 33 FF xor di,di ; Zero register 273F:24D8 8A C6 mov al,dh 273F:24DA D0 E8 shr al,1 ; Shift w/zeros fill 273F:24DC D0 E8 shr al,1 ; Shift w/zeros fill 273F:24DE D0 E8 shr al,1 ; Shift w/zeros fill 273F:24E0 AA stosb ; Store al to es:[di] 273F:24E1 D1 D2 rcl dx,1 ; Rotate thru carry 273F:24E3 E2 07 loop locloop_515 ; Loop if cx > 0 273F:24E5 86 D0 xchg dl,al 273F:24E7 AC lodsb ; String [si] to al 273F:24E8 86 D0 xchg dl,al 273F:24EA B1 08 mov cl,8 273F:24EC locloop_515: ; xref 273F:24E3 273F:24EC D1 D2 rcl dx,1 ; Rotate thru carry 273F:24EE E2 07 loop locloop_516 ; Loop if cx > 0 273F:24F0 86 D0 xchg dl,al 273F:24F2 AC lodsb ; String [si] to al 273F:24F3 86 D0 xchg dl,al 273F:24F5 B1 08 mov cl,8 273F:24F7 locloop_516: ; xref 273F:24EE 273F:24F7 D1 D2 rcl dx,1 ; Rotate thru carry 273F:24F9 E2 07 loop locloop_517 ; Loop if cx > 0 273F:24FB 86 D0 xchg dl,al 273F:24FD AC lodsb ; String [si] to al 273F:24FE 86 D0 xchg dl,al 273F:2500 B1 08 mov cl,8 273F:2502 locloop_517: ; xref 273F:24F9 273F:2502 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2504 E2 07 loop locloop_518 ; Loop if cx > 0 273F:2506 86 D0 xchg dl,al 273F:2508 AC lodsb ; String [si] to al 273F:2509 86 D0 xchg dl,al 273F:250B B1 08 mov cl,8 273F:250D locloop_518: ; xref 273F:2504 273F:250D D1 D2 rcl dx,1 ; Rotate thru carry 273F:250F E2 07 loop locloop_519 ; Loop if cx > 0 273F:2511 86 D0 xchg dl,al 273F:2513 AC lodsb ; String [si] to al 273F:2514 86 D0 xchg dl,al 273F:2516 B1 08 mov cl,8 273F:2518 locloop_519: ; xref 273F:250F 273F:2518 8A D8 mov bl,al 273F:251A 32 FF xor bh,bh ; Zero register 273F:251C loc_520: ; xref 273F:252E, 2550, 2558, 256D ; 25C4, 2681 273F:251C úD1 D2 rcl dx,1 ; Rotate thru carry 273F:251E E2 07 loop locloop_521 ; Loop if cx > 0 273F:2520 86 D0 xchg dl,al 273F:2522 AC lodsb ; String [si] to al 273F:2523 86 D0 xchg dl,al 273F:2525 B1 08 mov cl,8 273F:2527 locloop_521: ; xref 273F:251E 273F:2527 72 07 jc loc_522 ; Jump if carry Set 273F:2529 8A 1F mov bl,[bx] 273F:252B 8A C3 mov al,bl 273F:252D AA stosb ; Store al to es:[di] 273F:252E EB EC jmp short loc_520 ; (251C) 273F:2530 loc_522: ; xref 273F:2527 273F:2530 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2532 E2 07 loop locloop_523 ; Loop if cx > 0 273F:2534 86 D0 xchg dl,al 273F:2536 AC lodsb ; String [si] to al 273F:2537 86 D0 xchg dl,al 273F:2539 B1 08 mov cl,8 273F:253B locloop_523: ; xref 273F:2532 273F:253B 72 1D jc loc_526 ; Jump if carry Set 273F:253D D1 D2 rcl dx,1 ; Rotate thru carry 273F:253F E2 07 loop locloop_524 ; Loop if cx > 0 273F:2541 86 D0 xchg dl,al 273F:2543 AC lodsb ; String [si] to al 273F:2544 86 D0 xchg dl,al 273F:2546 B1 08 mov cl,8 273F:2548 locloop_524: ; xref 273F:253F 273F:2548 72 08 jc loc_525 ; Jump if carry Set 273F:254A 8A 5F 20 mov bl,[bx+20h] 273F:254D 8A C3 mov al,bl 273F:254F AA stosb ; Store al to es:[di] 273F:2550 EB CA jmp short loc_520 ; (251C) 273F:2552 loc_525: ; xref 273F:2548 273F:2552 8A 5F 40 mov bl,[bx+40h] 273F:2555 8A C3 mov al,bl 273F:2557 AA stosb ; Store al to es:[di] 273F:2558 EB C2 jmp short loc_520 ; (251C) 273F:255A loc_526: ; xref 273F:253B 273F:255A D1 D2 rcl dx,1 ; Rotate thru carry 273F:255C E2 07 loop locloop_527 ; Loop if cx > 0 273F:255E 86 D0 xchg dl,al 273F:2560 AC lodsb ; String [si] to al 273F:2561 86 D0 xchg dl,al 273F:2563 B1 08 mov cl,8 273F:2565 locloop_527: ; xref 273F:255C 273F:2565 72 08 jc loc_528 ; Jump if carry Set 273F:2567 8A 5F 60 mov bl,[bx+60h] 273F:256A 8A C3 mov al,bl 273F:256C AA stosb ; Store al to es:[di] 273F:256D EB AD jmp short loc_520 ; (251C) 273F:256F loc_528: ; xref 273F:2565 273F:256F 8A C6 mov al,dh 273F:2571 D0 E8 shr al,1 ; Shift w/zeros fill 273F:2573 D0 E8 shr al,1 ; Shift w/zeros fill 273F:2575 D0 E8 shr al,1 ; Shift w/zeros fill 273F:2577 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2579 E2 07 loop locloop_529 ; Loop if cx > 0 273F:257B 86 D0 xchg dl,al 273F:257D AC lodsb ; String [si] to al 273F:257E 86 D0 xchg dl,al 273F:2580 B1 08 mov cl,8 273F:2582 locloop_529: ; xref 273F:2579 273F:2582 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2584 E2 07 loop locloop_530 ; Loop if cx > 0 273F:2586 86 D0 xchg dl,al 273F:2588 AC lodsb ; String [si] to al 273F:2589 86 D0 xchg dl,al 273F:258B B1 08 mov cl,8 273F:258D locloop_530: ; xref 273F:2584 273F:258D D1 D2 rcl dx,1 ; Rotate thru carry 273F:258F E2 07 loop locloop_531 ; Loop if cx > 0 273F:2591 86 D0 xchg dl,al 273F:2593 AC lodsb ; String [si] to al 273F:2594 86 D0 xchg dl,al 273F:2596 B1 08 mov cl,8 273F:2598 locloop_531: ; xref 273F:258F 273F:2598 D1 D2 rcl dx,1 ; Rotate thru carry 273F:259A E2 07 loop locloop_532 ; Loop if cx > 0 273F:259C 86 D0 xchg dl,al 273F:259E AC lodsb ; String [si] to al 273F:259F 86 D0 xchg dl,al 273F:25A1 B1 08 mov cl,8 273F:25A3 locloop_532: ; xref 273F:259A 273F:25A3 D1 D2 rcl dx,1 ; Rotate thru carry 273F:25A5 E2 07 loop locloop_533 ; Loop if cx > 0 273F:25A7 86 D0 xchg dl,al 273F:25A9 AC lodsb ; String [si] to al 273F:25AA 86 D0 xchg dl,al 273F:25AC B1 08 mov cl,8 273F:25AE locloop_533: ; xref 273F:25A5 273F:25AE 3A 07 cmp al,[bx] 273F:25B0 74 15 je loc_534 ; Jump if equal 273F:25B2 3A 47 20 cmp al,[bx+20h] 273F:25B5 74 27 je loc_536 ; Jump if equal 273F:25B7 3A 47 40 cmp al,[bx+40h] 273F:25BA 74 2D je loc_537 ; Jump if equal 273F:25BC 3A 47 60 cmp al,[bx+60h] 273F:25BF 74 77 je loc_544 ; Jump if equal 273F:25C1 8A D8 mov bl,al 273F:25C3 AA stosb ; Store al to es:[di] 273F:25C4 E9 FF55 jmp loc_520 ; (251C) 273F:25C7 loc_534: ; xref 273F:25B0 273F:25C7 51 push cx 273F:25C8 E8 4F56 call sub_187 ; (7521) 273F:25CB 8A E0 mov ah,al 273F:25CD E8 4F51 call sub_187 ; (7521) 273F:25D0 8A EC mov ch,ah 273F:25D2 8A C8 mov cl,al 273F:25D4 0B C9 or cx,cx ; Zero ? 273F:25D6 74 03 jz loc_535 ; Jump if zero 273F:25D8 E9 00A1 jmp loc_550 ; (267C) 273F:25DB loc_535: ; xref 273F:25D6 273F:25DB E9 00A6 jmp loc_551 ; (2684) 273F:25DE loc_536: ; xref 273F:25B5 273F:25DE 51 push cx 273F:25DF E8 4F3F call sub_187 ; (7521) 273F:25E2 8A C8 mov cl,al 273F:25E4 32 ED xor ch,ch ; Zero register 273F:25E6 E9 0093 jmp loc_550 ; (267C) 273F:25E9 loc_537: ; xref 273F:25BA 273F:25E9 8A C6 mov al,dh 273F:25EB D0 E8 shr al,1 ; Shift w/zeros fill 273F:25ED D0 E8 shr al,1 ; Shift w/zeros fill 273F:25EF D1 D2 rcl dx,1 ; Rotate thru carry 273F:25F1 E2 07 loop locloop_538 ; Loop if cx > 0 273F:25F3 86 D0 xchg dl,al 273F:25F5 AC lodsb ; String [si] to al 273F:25F6 86 D0 xchg dl,al 273F:25F8 B1 08 mov cl,8 273F:25FA locloop_538: ; xref 273F:25F1 273F:25FA D1 D2 rcl dx,1 ; Rotate thru carry 273F:25FC E2 07 loop locloop_539 ; Loop if cx > 0 273F:25FE 86 D0 xchg dl,al 273F:2600 AC lodsb ; String [si] to al 273F:2601 86 D0 xchg dl,al 273F:2603 B1 08 mov cl,8 273F:2605 locloop_539: ; xref 273F:25FC 273F:2605 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2607 E2 07 loop locloop_540 ; Loop if cx > 0 273F:2609 86 D0 xchg dl,al 273F:260B AC lodsb ; String [si] to al 273F:260C 86 D0 xchg dl,al 273F:260E B1 08 mov cl,8 273F:2610 locloop_540: ; xref 273F:2607 273F:2610 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2612 E2 07 loop locloop_541 ; Loop if cx > 0 273F:2614 86 D0 xchg dl,al 273F:2616 AC lodsb ; String [si] to al 273F:2617 86 D0 xchg dl,al 273F:2619 B1 08 mov cl,8 273F:261B locloop_541: ; xref 273F:2612 273F:261B D1 D2 rcl dx,1 ; Rotate thru carry 273F:261D E2 07 loop locloop_542 ; Loop if cx > 0 273F:261F 86 D0 xchg dl,al 273F:2621 AC lodsb ; String [si] to al 273F:2622 86 D0 xchg dl,al 273F:2624 B1 08 mov cl,8 273F:2626 locloop_542: ; xref 273F:261D 273F:2626 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2628 E2 07 loop locloop_543 ; Loop if cx > 0 273F:262A 86 D0 xchg dl,al 273F:262C AC lodsb ; String [si] to al 273F:262D 86 D0 xchg dl,al 273F:262F B1 08 mov cl,8 273F:2631 locloop_543: ; xref 273F:2628 273F:2631 51 push cx 273F:2632 8A C8 mov cl,al 273F:2634 32 ED xor ch,ch ; Zero register 273F:2636 EB 44 jmp short loc_550 ; (267C) 273F:2638 loc_544: ; xref 273F:25BF 273F:2638 8A C6 mov al,dh 273F:263A D0 E8 shr al,1 ; Shift w/zeros fill 273F:263C D0 E8 shr al,1 ; Shift w/zeros fill 273F:263E D0 E8 shr al,1 ; Shift w/zeros fill 273F:2640 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2642 E2 07 loop locloop_545 ; Loop if cx > 0 273F:2644 86 D0 xchg dl,al 273F:2646 AC lodsb ; String [si] to al 273F:2647 86 D0 xchg dl,al 273F:2649 B1 08 mov cl,8 273F:264B locloop_545: ; xref 273F:2642 273F:264B D1 D2 rcl dx,1 ; Rotate thru carry 273F:264D E2 07 loop locloop_546 ; Loop if cx > 0 273F:264F 86 D0 xchg dl,al 273F:2651 AC lodsb ; String [si] to al 273F:2652 86 D0 xchg dl,al 273F:2654 B1 08 mov cl,8 273F:2656 locloop_546: ; xref 273F:264D 273F:2656 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2658 E2 07 loop locloop_547 ; Loop if cx > 0 273F:265A 86 D0 xchg dl,al 273F:265C AC lodsb ; String [si] to al 273F:265D 86 D0 xchg dl,al 273F:265F B1 08 mov cl,8 273F:2661 locloop_547: ; xref 273F:2658 273F:2661 D1 D2 rcl dx,1 ; Rotate thru carry 273F:2663 E2 07 loop locloop_548 ; Loop if cx > 0 273F:2665 86 D0 xchg dl,al 273F:2667 AC lodsb ; String [si] to al 273F:2668 86 D0 xchg dl,al 273F:266A B1 08 mov cl,8 273F:266C locloop_548: ; xref 273F:2663 273F:266C D1 D2 rcl dx,1 ; Rotate thru carry 273F:266E E2 07 loop locloop_549 ; Loop if cx > 0 273F:2670 86 D0 xchg dl,al 273F:2672 AC lodsb ; String [si] to al 273F:2673 86 D0 xchg dl,al 273F:2675 B1 08 mov cl,8 273F:2677 locloop_549: ; xref 273F:266E 273F:2677 51 push cx 273F:2678 8A C8 mov cl,al 273F:267A 32 ED xor ch,ch ; Zero register 273F:267C loc_550: ; xref 273F:25D8, 25E6, 2636 273F:267C 8A C3 mov al,bl 273F:267E F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:2680 59 pop cx 273F:2681 E9 FE98 jmp loc_520 ; (251C) 273F:2684 loc_551: ; xref 273F:25DB 273F:2684 58 pop ax 273F:2685 1F pop ds 273F:2686 EB 00 jmp short $+2 ; delay for I/O 273F:2688 57 push di 273F:2689 8B EF mov bp,di 273F:268B 1E push ds 273F:268C 06 push es 273F:268D 1F pop ds 273F:268E 8B F7 mov si,di 273F:2690 83 EE 02 sub si,2 273F:2693 83 C7 06 add di,6 273F:2696 8B CD mov cx,bp 273F:2698 FD std ; Set direction flag 273F:2699 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:269B F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:269D FC cld ; Clear direction 273F:269E 33 FF xor di,di ; Zero register 273F:26A0 úBE 0008 mov si,data_1459e ; (FF12:0008=0) 273F:26A3 loc_552: ; xref 273F:26C2 273F:26A3 B9 0008 mov cx,8 273F:26A6 locloop_553: ; xref 273F:26BA 273F:26A6 AC lodsb ; String [si] to al 273F:26A7 D0 D8 rcr al,1 ; Rotate thru carry 273F:26A9 D0 55 03 rcl byte ptr [di+3],1 ; Rotate thru carry 273F:26AC D0 D8 rcr al,1 ; Rotate thru carry 273F:26AE D0 55 02 rcl byte ptr [di+2],1 ; Rotate thru carry 273F:26B1 D0 D8 rcr al,1 ; Rotate thru carry 273F:26B3 D0 55 01 rcl byte ptr [di+1],1 ; Rotate thru carry 273F:26B6 D0 D8 rcr al,1 ; Rotate thru carry 273F:26B8 D0 15 rcl byte ptr [di],1 ; Rotate thru carry 273F:26BA E2 EA loop locloop_553 ; Loop if cx > 0 273F:26BC 83 C7 04 add di,4 273F:26BF 83 ED 08 sub bp,8 273F:26C2 77 DF ja loc_552 ; Jump if above 273F:26C4 1F pop ds 273F:26C5 59 pop cx 273F:26C6 C3 retn ega_decode_entry endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:26C7 1E push ds 273F:26C8 06 push es 273F:26C9 1F pop ds 273F:26CA úBE 0040 mov si,40h ; (273F:0040=0) 273F:26CD 57 push di 273F:26CE 2B FE sub di,si 273F:26D0 8B EF mov bp,di 273F:26D2 32 D2 xor dl,dl ; Zero register 273F:26D4 loc_554: ; xref 273F:2708 273F:26D4 8A 04 mov al,[si] 273F:26D6 8A 64 01 mov ah,[si+1] 273F:26D9 8A 5C 02 mov bl,[si+2] 273F:26DC 8A 7C 03 mov bh,[si+3] 273F:26DF B9 0004 mov cx,4 273F:26E2 locloop_555: ; xref 273F:26F8, 2700 273F:26E2 D0 D0 rcl al,1 ; Rotate thru carry 273F:26E4 D0 14 rcl byte ptr [si],1 ; Rotate thru carry 273F:26E6 D0 D0 rcl al,1 ; Rotate thru carry 273F:26E8 D0 54 01 rcl byte ptr [si+1],1 ; Rotate thru carry 273F:26EB D0 D0 rcl al,1 ; Rotate thru carry 273F:26ED D0 54 02 rcl byte ptr [si+2],1 ; Rotate thru carry 273F:26F0 D0 D0 rcl al,1 ; Rotate thru carry 273F:26F2 D0 54 03 rcl byte ptr [si+3],1 ; Rotate thru carry 273F:26F5 80 F2 01 xor dl,1 273F:26F8 75 E8 jnz locloop_555 ; Jump if not zero 273F:26FA 8A C4 mov al,ah 273F:26FC 8A E3 mov ah,bl 273F:26FE 8A DF mov bl,bh 273F:2700 E2 E0 loop locloop_555 ; Loop if cx > 0 273F:2702 83 C6 04 add si,4 273F:2705 83 ED 04 sub bp,4 273F:2708 77 CA ja loc_554 ; Jump if above 273F:270A 5F pop di 273F:270B 1F pop ds 273F:270C C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_segment_screen proc near 273F:270D C6 06 0DA4 00 mov datavar1, 0 273F:2712 88 0E 0DA5 mov current_layer, cl 273F:2716 C7 06 0DA2 0200 mov rectangle_size, 200h 273F:271C 0A C9 or cl,cl ; Zero ? 273F:271E 74 06 jz loc_556 ; Jump if zero 273F:2720 81 06 0DA2 0080 add rectangle_size, 80h 273F:2726 loc_556: ; xref 273F:271E 273F:2726 33 F6 xor si,si ; Zero register 273F:2728 B5 06 mov ch,6 273F:272A loc_557: ; xref 273F:2771 273F:272A B1 0A mov cl,0Ah 273F:272C loc_558: ; xref 273F:2765 273F:272C 1E push ds 273F:272D 53 push bx 273F:272E 51 push cx 273F:272F 56 push si 273F:2730 57 push di 273F:2731 A1 4CE4 mov ax, data_segment2 273F:2734 8E D8 mov ds,ax 273F:2736 E8 003B call sub_65 ; (2774) 273F:2739 5F pop di 273F:273A 5E pop si 273F:273B 59 pop cx 273F:273C 5B pop bx 273F:273D 1F pop ds 273F:273E F6 06 0DA5 FF test byte ptr ds:[0DA5h],0FFh ; (273F:0DA5=31h) 273F:2743 74 09 jz loc_559 ; Jump if zero 273F:2745 0A F6 or dh,dh ; Zero ? 273F:2747 75 05 jnz loc_559 ; Jump if not zero 273F:2749 C6 07 FF mov byte ptr [bx],0FFh 273F:274C EB 0E jmp short loc_560 ; (275C) 273F:274E loc_559: ; xref 273F:2743, 2747 273F:274E 03 3E 0DA2 add di, [rectangle_size] 273F:2752 A0 0DA4 mov al, datavar1 273F:2755 88 07 mov [bx], al 273F:2757 80 06 0DA4 01 add datavar1, 1 273F:275C loc_560: ; xref 273F:274C 273F:275C 83 C6 10 add si,10h 273F:275F 83 C3 01 add bx,1 273F:2762 80 E9 01 sub cl,1 273F:2765 75 C5 jnz loc_558 ; Jump if not zero 273F:2767 ú81 C6 1360 add si,data_1464e ; (FF12:1360=1Eh) 273F:276B 83 C3 08 add bx,8 273F:276E 80 ED 01 sub ch,1 273F:2771 75 B7 jnz loc_557 ; Jump if not zero 273F:2773 C3 retn ega_segment_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:2736 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2774 sub_65 proc near 273F:2774 8B DF mov bx,di 273F:2776 ú81 C3 0200 add bx,200h ; (273F:0200=0F6h) 273F:277A 32 F6 xor dh,dh ; Zero register 273F:277C B5 20 mov ch,20h ; ' ' 273F:277E loc_561: ; xref 273F:27AE 273F:277E B1 04 mov cl,4 273F:2780 loc_562: ; xref 273F:27A5 273F:2780 32 D2 xor dl,dl ; Zero register 273F:2782 AC lodsb ; String [si] to al 273F:2783 0A D0 or dl,al 273F:2785 0A F0 or dh,al 273F:2787 AA stosb ; Store al to es:[di] 273F:2788 AC lodsb ; String [si] to al 273F:2789 0A D0 or dl,al 273F:278B 0A F0 or dh,al 273F:278D AA stosb ; Store al to es:[di] 273F:278E AC lodsb ; String [si] to al nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 102 273F:278F 0A D0 or dl,al 273F:2791 0A F0 or dh,al 273F:2793 AA stosb ; Store al to es:[di] 273F:2794 AC lodsb ; String [si] to al 273F:2795 0A D0 or dl,al 273F:2797 0A F0 or dh,al 273F:2799 AA stosb ; Store al to es:[di] 273F:279A F6 D2 not dl 273F:279C 26: 88 17 mov es:[bx],dl 273F:279F 83 C3 01 add bx,1 273F:27A2 80 E9 01 sub cl,1 273F:27A5 75 D9 jnz loc_562 ; Jump if not zero 273F:27A7 81 C6 0090 add si,90h 273F:27AB 80 ED 01 sub ch,1 273F:27AE 75 CE jnz loc_561 ; Jump if not zero 273F:27B0 C3 retn sub_65 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_show_compressed_screen proc near 273F:27B1 úBB 07DC mov bx, offset display_mask 273F:27B4 A1 4CE4 mov ax, data_segment2 273F:27B7 8E C0 mov es,ax 273F:27B9 úBF 0500 mov di,data_1462e ; (FF12:0500=0) 273F:27BC 8B 16 4CE0 mov dx, current_room_segment 273F:27C0 33 F6 xor si,si ; Zero register 273F:27C2 B5 06 mov ch,6 273F:27C4 loc_563: ; xref 273F:280C 273F:27C4 B1 0A mov cl,0Ah 273F:27C6 loc_564: ; xref 273F:2800 273F:27C6 F6 07 80 test byte ptr [bx],80h 273F:27C9 74 28 jz loc_567 ; Jump if zero 273F:27CB 80 27 7F and byte ptr [bx],7Fh 273F:27CE 80 0F 01 or byte ptr [bx],1 273F:27D1 80 8F 0100 01 or byte ptr ds:[100h][bx],1 ; (273F:0100=6) 273F:27D6 57 push di 273F:27D7 1E push ds 273F:27D8 56 push si 273F:27D9 8E DA mov ds,dx 273F:27DB B6 20 mov dh,20h ; ' ' 273F:27DD loc_565: ; xref 273F:27EC 273F:27DD B2 08 mov dl,8 273F:27DF loc_566: ; xref 273F:27E3 273F:27DF A5 movsw ; Mov [si] to es:[di] 273F:27E0 80 EA 01 sub dl,1 273F:27E3 75 FA jnz loc_566 ; Jump if not zero 273F:27E5 81 C7 0090 add di,90h 273F:27E9 80 EE 01 sub dh,1 273F:27EC 75 EF jnz loc_565 ; Jump if not zero 273F:27EE 5E pop si 273F:27EF 8C DA mov dx,ds 273F:27F1 1F pop ds 273F:27F2 5F pop di 273F:27F3 loc_567: ; xref 273F:27C9 273F:27F3 83 C3 01 add bx,1 273F:27F6 83 C7 10 add di,10h 273F:27F9 81 C6 0200 add si,200h 273F:27FD 80 E9 01 sub cl,1 273F:2800 75 C4 jnz loc_564 ; Jump if not zero 273F:2802 83 C3 08 add bx,8 273F:2805 ú81 C7 1360 add di,1360h ; (273F:1360=0) 273F:2809 80 ED 01 sub ch,1 273F:280C 75 B6 jnz loc_563 ; Jump if not zero 273F:280E 80 0E 11D0 30 or menubar_state, 30h ; (273F:11D0=56h) '0' 273F:2813 C3 retn ega_show_compressed_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:2814 úBE 0992 mov si, offset rects_layer_0 273F:2817 83 C6 4C add si,4Ch 273F:281A C7 06 0DA6 0D92 mov rect_x_start, offset room_layers 273F:2820 C7 06 0DAA 0D96 mov num_horiz_rects, 0D96h 273F:2826 B9 0003 mov cx,3 273F:2829 loc_568: ; xref 273F:28E9 273F:2829 ú51 push cx 273F:282A úBB 0100 mov bx,100h ; (273F:0100=6) 273F:282D loc_569: ; xref 273F:28CF 273F:282D ú51 push cx 273F:282E 56 push si 273F:282F 8B 3E 0DA6 mov di, rect_x_start 273F:2833 8B 05 mov ax,[di] 273F:2835 8E C0 mov es,ax 273F:2837 8B 45 02 mov ax,[di+2] 273F:283A A3 0DA8 mov rect_y_end, ax 273F:283D 8B 3E 0DAA mov di, num_horiz_rects 273F:2841 8B 05 mov ax,[di] 273F:2843 8B D0 mov dx,ax 273F:2845 8B 45 02 mov ax,[di+2] 273F:2848 A3 0DAC mov word ptr ds:[0DACh],ax ; (273F:0DAC=0EB09h) 273F:284B B5 06 mov ch,6 273F:284D loc_570: ; xref 273F:28BE 273F:284D B1 0A mov cl,0Ah 273F:284F loc_571: ; xref 273F:28B6 273F:284F F6 04 80 test byte ptr [si],80h 273F:2852 75 5C jnz loc_573 ; Jump if not zero 273F:2854 F6 00 80 test byte ptr [bx+si],80h 273F:2857 75 57 jnz loc_573 ; Jump if not zero 273F:2859 56 push si 273F:285A 52 push dx 273F:285B 8A 04 mov al,[si] 273F:285D 32 E4 xor ah,ah ; Zero register 273F:285F F7 26 0DA8 mul rect_y_end 273F:2863 8B F8 mov di,ax 273F:2865 8A 00 mov al,[bx+si] 273F:2867 32 E4 xor ah,ah ; Zero register 273F:2869 F7 26 0DAC mul word ptr ds:[0DACh] ; (273F:0DAC=0EB09h) dx:ax = data * ax 273F:286D 8B F0 mov si,ax 273F:286F 5A pop dx 273F:2870 1E push ds 273F:2871 51 push cx 273F:2872 53 push bx 273F:2873 8E DA mov ds,dx 273F:2875 B9 0080 mov cx,80h 273F:2878 8B DE mov bx,si 273F:287A ú81 C3 0200 add bx,data_11e ; (0000:0200=0) 273F:287E locloop_572: ; xref 273F:28A8 273F:287E 8A 17 mov dl,[bx] 273F:2880 AC lodsb ; String [si] to al 273F:2881 26: 20 15 and es:[di],dl 273F:2884 26: 08 05 or es:[di],al 273F:2887 AC lodsb ; String [si] to al 273F:2888 26: 20 55 01 and es:[di+1],dl 273F:288C 26: 08 45 01 or es:[di+1],al 273F:2890 AC lodsb ; String [si] to al 273F:2891 26: 20 55 02 and es:[di+2],dl 273F:2895 26: 08 45 02 or es:[di+2],al 273F:2899 AC lodsb ; String [si] to al 273F:289A 26: 20 55 03 and es:[di+3],dl 273F:289E 26: 08 45 03 or es:[di+3],al 273F:28A2 83 C7 04 add di,4 273F:28A5 83 C3 01 add bx,1 273F:28A8 E2 D4 loop locloop_572 ; Loop if cx > 0 273F:28AA 5B pop bx 273F:28AB 59 pop cx 273F:28AC 8C DA mov dx,ds 273F:28AE 1F pop ds 273F:28AF 5E pop si 273F:28B0 loc_573: ; xref 273F:2852, 2857 273F:28B0 83 C6 01 add si,1 273F:28B3 80 E9 01 sub cl,1 273F:28B6 75 97 jnz loc_571 ; Jump if not zero 273F:28B8 83 C6 08 add si,8 273F:28BB 80 ED 01 sub ch,1 273F:28BE 75 8D jnz loc_570 ; Jump if not zero 273F:28C0 83 06 0DAA 04 add num_horiz_rects, 4 273F:28C5 81 C3 0100 add bx,100h 273F:28C9 5E pop si 273F:28CA 59 pop cx 273F:28CB E2 02 loop locloop_574 ; Loop if cx > 0 273F:28CD EB 03 jmp short loc_575 ; (28D2) 273F:28CF locloop_574: ; xref 273F:28CB 273F:28CF E9 FF5B jmp loc_569 ; (282D) 273F:28D2 loc_575: ; xref 273F:28CD 273F:28D2 59 pop cx 273F:28D3 E2 02 loop locloop_576 ; Loop if cx > 0 273F:28D5 EB 15 jmp short loc_577 ; (28EC) 273F:28D7 locloop_576: ; xref 273F:28D3 273F:28D7 81 C6 0100 add si,100h 273F:28DB 83 06 0DA6 04 add rect_x_start, 4 273F:28E0 A1 0DA6 mov ax, rect_x_start 273F:28E3 05 0004 add ax,4 273F:28E6 A3 0DAA mov num_horiz_rects, ax 273F:28E9 E9 FF3D jmp loc_568 ; (2829) 273F:28EC loc_577: ; xref 273F:28D5 273F:28EC úBE 0A92 mov si, offset rects_layer_1 273F:28EF 83 C6 4C add si, FULL_HORIZ_RECTS * 4 + 4 ; 4Ch 273F:28F2 C7 06 0DA6 0D96 mov rect_x_start, 0D96h 273F:28F8 C7 06 0DAA 0D9A mov num_horiz_rects, 0D9Ah 273F:28FE B9 0002 mov cx,2 273F:2901 loc_578: ; xref 273F:29A0 273F:2901 ú51 push cx 273F:2902 úBB 0100 mov bx,100h ; (273F:0100=6) 273F:2905 loc_579: ; xref 273F:2986 273F:2905 ú51 push cx 273F:2906 56 push si 273F:2907 8B 3E 0DA6 mov di, rect_x_start 273F:290B 8B 05 mov ax,[di] 273F:290D 8E C0 mov es,ax 273F:290F 8B 45 02 mov ax,[di+2] 273F:2912 A3 0DA8 mov rect_y_end, ax 273F:2915 8B 3E 0DAA mov di, num_horiz_rects 273F:2919 8B 05 mov ax,[di] 273F:291B 8B D0 mov dx,ax 273F:291D 8B 45 02 mov ax,[di+2] 273F:2920 A3 0DAC mov word ptr ds:[0DACh],ax ; (273F:0DAC=0EB09h) 273F:2923 B5 06 mov ch,6 273F:2925 loc_580: ; xref 273F:2975 273F:2925 B1 0A mov cl,0Ah 273F:2927 loc_581: ; xref 273F:296D 273F:2927 F6 04 80 test byte ptr [si],80h 273F:292A 75 3B jnz loc_583 ; Jump if not zero 273F:292C F6 00 80 test byte ptr [bx+si],80h 273F:292F 75 36 jnz loc_583 ; Jump if not zero 273F:2931 56 push si 273F:2932 52 push dx 273F:2933 8A 04 mov al,[si] 273F:2935 32 E4 xor ah,ah ; Zero register 273F:2937 F7 26 0DA8 mul rect_y_end 273F:293B 8B F8 mov di,ax 273F:293D 8A 00 mov al,[bx+si] 273F:293F 32 E4 xor ah,ah ; Zero register 273F:2941 F7 26 0DAC mul word ptr ds:[0DACh] ; (273F:0DAC=0EB09h) dx:ax = data * ax 273F:2945 8B F0 mov si,ax 273F:2947 5A pop dx 273F:2948 1E push ds 273F:2949 51 push cx 273F:294A 53 push bx 273F:294B 8E DA mov ds,dx 273F:294D B9 0080 mov cx,80h 273F:2950 ú81 C6 0200 add si,data_11e ; (0000:0200=0) 273F:2954 ú81 C7 0200 add di,data_1436e ; (4789:0200=27h) 273F:2958 locloop_582: ; xref 273F:295F 273F:2958 AC lodsb ; String [si] to al 273F:2959 26: 20 05 and es:[di],al 273F:295C 83 C7 01 add di,1 273F:295F E2 F7 loop locloop_582 ; Loop if cx > 0 273F:2961 5B pop bx 273F:2962 59 pop cx 273F:2963 8C DA mov dx,ds 273F:2965 1F pop ds 273F:2966 5E pop si 273F:2967 loc_583: ; xref 273F:292A, 292F 273F:2967 83 C6 01 add si,1 273F:296A 80 E9 01 sub cl,1 273F:296D 75 B8 jnz loc_581 ; Jump if not zero 273F:296F 83 C6 08 add si,8 273F:2972 80 ED 01 sub ch,1 273F:2975 75 AE jnz loc_580 ; Jump if not zero 273F:2977 83 06 0DAA 04 add num_horiz_rects, 4 273F:297C ú81 C3 0100 add bx,100h ; (273F:0100=6) 273F:2980 5E pop si 273F:2981 59 pop cx 273F:2982 E2 02 loop locloop_584 ; Loop if cx > 0 273F:2984 EB 03 jmp short loc_585 ; (2989) 273F:2986 locloop_584: ; xref 273F:2982 273F:2986 E9 FF7C jmp loc_579 ; (2905) 273F:2989 loc_585: ; xref 273F:2984 273F:2989 59 pop cx 273F:298A E2 02 loop locloop_586 ; Loop if cx > 0 273F:298C EB 15 jmp short loc_ret_587 ; (29A3) 273F:298E locloop_586: ; xref 273F:298A 273F:298E ú81 C6 0100 add si,100h ; (273F:0100=6) 273F:2992 83 06 0DA6 04 add rect_x_start, 4 273F:2997 A1 0DA6 mov ax, rect_x_start 273F:299A 05 0004 add ax,4 273F:299D A3 0DAA mov num_horiz_rects, ax 273F:29A0 E9 FF5E jmp loc_578 ; (2901) 273F:29A3 loc_ret_587: ; xref 273F:298C 273F:29A3 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_add_layer proc near 273F:29A4 8B CD mov cx, bp 273F:29A6 locloop_588: 273F:29A6 80 39 FE cmp byte ptr [bx+di],0FEh 273F:29A9 72 0A jb loc_589 ; Jump if below 273F:29AB ú81 C7 0100 add di,100h ; (273F:0100=6) 273F:29AF 83 C6 04 add si,4 273F:29B2 E2 F2 loop locloop_588 ; Loop if cx > 0 273F:29B4 C3 retn 273F:29B5 loc_589: ; xref 273F:29A9 273F:29B5 1E push ds 273F:29B6 52 push dx 273F:29B7 8B D0 mov dx,ax 273F:29B9 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:29BB D1 E0 shl ax,1 ; Shift w/zeros fill 273F:29BD 03 D0 add dx,ax 273F:29BF B1 0A mov cl,0Ah 273F:29C1 D3 E2 shl dx,cl ; Shift w/zeros fill 273F:29C3 81 C2 0500 add dx,500h 273F:29C7 58 pop ax 273F:29C8 B1 04 mov cl,4 273F:29CA D3 E0 shl ax,cl ; Shift w/zeros fill 273F:29CC 03 D0 add dx,ax 273F:29CE 8A 01 mov al,[bx+di] 273F:29D0 8B 1E 4CE4 mov bx, data_segment2 273F:29D4 8E C3 mov es,bx 273F:29D6 8B 1C mov bx,[si] 273F:29D8 8E DB mov ds,bx 273F:29DA 8B FA mov di,dx 273F:29DC 32 E4 xor ah,ah ; Zero register 273F:29DE 8B D0 mov dx,ax 273F:29E0 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:29E2 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:29E4 03 C2 add ax,dx 273F:29E6 B1 07 mov cl,7 273F:29E8 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:29EA 8B F0 mov si,ax 273F:29EC 8B DE mov bx,si 273F:29EE ú81 C3 0200 add bx,data_1455e ; (E4B8:0200=0) 273F:29F2 B9 0020 mov cx,20h 273F:29F5 locloop_590: ; xref 273F:2A2D 273F:29F5 51 push cx 273F:29F6 B9 0004 mov cx,4 273F:29F9 locloop_591: ; xref 273F:2A26 273F:29F9 8A 17 mov dl,[bx] 273F:29FB AC lodsb ; String [si] to al 273F:29FC 26: 20 15 and es:[di],dl 273F:29FF 26: 08 05 or es:[di],al 273F:2A02 83 C7 01 add di,1 273F:2A05 AC lodsb ; String [si] to al 273F:2A06 26: 20 15 and es:[di],dl 273F:2A09 26: 08 05 or es:[di],al 273F:2A0C 83 C7 01 add di,1 273F:2A0F AC lodsb ; String [si] to al 273F:2A10 26: 20 15 and es:[di],dl 273F:2A13 26: 08 05 or es:[di],al 273F:2A16 83 C7 01 add di,1 273F:2A19 AC lodsb ; String [si] to al 273F:2A1A 26: 20 15 and es:[di],dl 273F:2A1D 26: 08 05 or es:[di],al 273F:2A20 83 C7 01 add di,1 273F:2A23 83 C3 01 add bx,1 273F:2A26 E2 D1 loop locloop_591 ; Loop if cx > 0 273F:2A28 ú81 C7 0090 add di,90h ; (273F:0090=15h) 273F:2A2C 59 pop cx 273F:2A2D E2 C6 loop locloop_590 ; Loop if cx > 0 273F:2A2F 1F pop ds 273F:2A30 C3 retn ega_add_layer endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_display_character proc near 273F:2A31 57 push di 273F:2A32 1E push ds 273F:2A33 51 push cx 273F:2A34 56 push si 273F:2A35 8E DD mov ds,bp 273F:2A37 8A F2 mov dh,dl 273F:2A39 2C 20 sub al,20h ; ' ' 273F:2A3B B1 03 mov cl,3 273F:2A3D 32 E4 xor ah,ah ; Zero register 273F:2A3F D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2A41 8B F0 mov si,ax 273F:2A43 B9 0008 mov cx,8 273F:2A46 locloop_592: ; xref 273F:2AA2 273F:2A46 AC lodsb ; String [si] to al 273F:2A47 8A E0 mov ah,al 273F:2A49 F6 D4 not ah 273F:2A4B 26: C6 05 00 mov byte ptr es:[di],0 273F:2A4F D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A51 73 03 jnc loc_593 ; Jump if carry=0 273F:2A53 26: 88 05 mov es:[di],al 273F:2A56 loc_593: ; xref 273F:2A51 273F:2A56 D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A58 73 03 jnc loc_594 ; Jump if carry=0 273F:2A5A 26: 08 25 or es:[di],ah 273F:2A5D loc_594: ; xref 273F:2A58 273F:2A5D 83 C7 01 add di,1 273F:2A60 26: C6 05 00 mov byte ptr es:[di],0 273F:2A64 D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A66 73 03 jnc loc_595 ; Jump if carry=0 273F:2A68 26: 88 05 mov es:[di],al 273F:2A6B loc_595: ; xref 273F:2A66 273F:2A6B D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A6D 73 03 jnc loc_596 ; Jump if carry=0 273F:2A6F 26: 08 25 or es:[di],ah 273F:2A72 loc_596: ; xref 273F:2A6D 273F:2A72 83 C7 01 add di,1 273F:2A75 26: C6 05 00 mov byte ptr es:[di],0 273F:2A79 D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A7B 73 03 jnc loc_597 ; Jump if carry=0 273F:2A7D 26: 88 05 mov es:[di],al 273F:2A80 loc_597: ; xref 273F:2A7B 273F:2A80 D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A82 73 03 jnc loc_598 ; Jump if carry=0 273F:2A84 26: 08 25 or es:[di],ah 273F:2A87 loc_598: ; xref 273F:2A82 273F:2A87 83 C7 01 add di,1 273F:2A8A 26: C6 05 00 mov byte ptr es:[di],0 273F:2A8E D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A90 73 03 jnc loc_599 ; Jump if carry=0 273F:2A92 26: 88 05 mov es:[di],al 273F:2A95 loc_599: ; xref 273F:2A90 273F:2A95 D0 E2 shl dl,1 ; Shift w/zeros fill 273F:2A97 73 03 jnc loc_600 ; Jump if carry=0 273F:2A99 26: 08 25 or es:[di],ah 273F:2A9C loc_600: ; xref 273F:2A97 273F:2A9C 81 C7 009D add di,9Dh 273F:2AA0 8A D6 mov dl,dh 273F:2AA2 E2 A2 loop locloop_592 ; Loop if cx > 0 273F:2AA4 5E pop si 273F:2AA5 59 pop cx 273F:2AA6 1F pop ds 273F:2AA7 5F pop di 273F:2AA8 loc_ret_601: ; xref 273F:2ABE 273F:2AA8 C3 retn ega_display_character endp 273F:2AA9 00 data_238 db 0 ; xref 273F:2B37, 2BA1 273F:2AAA 00 data_239 db 0 ; xref 273F:2B0C, 2B9A 273F:2AAB 0000 data_240 dw 0 ; xref 273F:2B3C, 2C04 273F:2AAD loc_602: ; xref 273F:2ADD 273F:2AAD 80 26 11D0 FB and menubar_state, 0FBh ; (273F:11D0=56h) 273F:2AB2 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:2129 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2AB3 ega_cursor proc near 273F:2AB3 C7 06 F010 0000 mov timer_ticks, 0 273F:2AB9 F6 06 11D0 04 test menubar_state, 4 ; (273F:11D0=56h) 273F:2ABE 75 E8 jnz loc_ret_601 ; Jump if not zero 273F:2AC0 80 0E 11D0 04 or menubar_state, 4 ; (273F:11D0=56h) 273F:2AC5 F7 06 11EC FFFF test word ptr ds:[11ECh],0FFFFh ; (273F:11EC=1B55h) 273F:2ACB 74 0B jz loc_603 ; Jump if zero 273F:2ACD A1 0DB0 mov ax, screen_start_seg 273F:2AD0 8E C0 mov es,ax 273F:2AD2 úBE 11E8 mov si,offset data_638 ; (31E4:11E8=0) 273F:2AD5 E8 014D call sub_67 ; (2C25) 273F:2AD8 loc_603: ; xref 273F:2ACB assume ds:data_seg 273F:2AD8 F6 06 11D0 01 test menubar_state, 1 ; (31E4:11D0=3) 273F:2ADD 75 CE jnz loc_602 ; Jump if not zero 273F:2ADF A1 11D8 mov ax, mouse_y2 273F:2AE2 2B 06 11DF sub ax, cursor_centroid 273F:2AE6 73 02 jnc loc_604 ; Jump if carry=0 273F:2AE8 33 C0 xor ax,ax ; Zero register 273F:2AEA loc_604: ; xref 273F:2AE6 273F:2AEA BD 00C8 mov bp,0C8h 273F:2AED 2B E8 sub bp,ax 273F:2AEF 83 FD 11 cmp bp,11h 273F:2AF2 72 03 jb loc_605 ; Jump if below 273F:2AF4 BD 0010 mov bp,10h 273F:2AF7 loc_605: ; xref 273F:2AF2 273F:2AF7 89 2E 11EC mov data_640,bp ; (31E4:11EC=0) 273F:2AFB 8B 36 11D6 mov si, mouse_x2 273F:2AFF 2B 36 11DF sub si, cursor_centroid 273F:2B03 73 02 jnc loc_606 ; Jump if carry=0 273F:2B05 33 F6 xor si,si ; Zero register 273F:2B07 loc_606: ; xref 273F:2B03 273F:2B07 8B CE mov cx,si 273F:2B09 80 E1 07 and cl,7 273F:2B0C 2E: 88 0E 2AAA mov cs:data_239,cl ; (273F:2AAA=0) 273F:2B11 B1 03 mov cl,3 273F:2B13 D3 EE shr si,cl ; Shift w/zeros fill 273F:2B15 BB 0028 mov bx,28h 273F:2B18 2B DE sub bx,si 273F:2B1A 80 FB 04 cmp bl,4 273F:2B1D 72 02 jb loc_607 ; Jump if below 273F:2B1F B3 03 mov bl,3 273F:2B21 loc_607: ; xref 273F:2B1D 273F:2B21 88 1E 11EA mov data_639,bl ; (31E4:11EA=0) 273F:2B25 8B D0 mov dx,ax 273F:2B27 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2B29 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2B2B 03 C2 add ax,dx 273F:2B2D D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2B2F 03 F0 add si,ax 273F:2B31 89 36 11E8 mov data_638,si ; (31E4:11E8=0) 273F:2B35 32 FF xor bh,bh ; Zero register 273F:2B37 2E: 88 1E 2AA9 mov cs:data_238,bl ; (273F:2AA9=0) 273F:2B3C 2E: 89 2E 2AAB mov cs:data_240,bp ; (273F:2AAB=0) 273F:2B41 BA 03CE mov dx,3CEh 273F:2B44 B8 0005 mov ax,5 273F:2B47 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2B48 B8 0007 mov ax,7 273F:2B4B EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:2B4C B0 03 mov al,3 273F:2B4E EF out dx,ax ; port 3CEh, EGA graphic index ; al = 3, data rotate 273F:2B4F FF 36 4CF4 push cursors_segment 273F:2B53 FF 36 11E1 push cursor_index 273F:2B57 1E push ds 273F:2B58 07 pop es 273F:2B59 A1 0DB0 mov ax, screen_start_seg 273F:2B5C 8E D8 mov ds,ax 273F:2B5E B8 0304 mov ax,304h 273F:2B61 úBF 11EE mov di,offset data_641 ; (31E4:11EE=0) 273F:2B64 loc_608: ; xref 273F:2B7A 273F:2B64 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 4, read map select 273F:2B65 56 push si 273F:2B66 55 push bp 273F:2B67 loc_609: ; xref 273F:2B73 273F:2B67 56 push si 273F:2B68 8B CB mov cx,bx 273F:2B6A F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:2B6C 5E pop si 273F:2B6D 83 C6 28 add si,28h 273F:2B70 83 ED 01 sub bp,1 273F:2B73 75 F2 jnz loc_609 ; Jump if not zero 273F:2B75 5D pop bp 273F:2B76 5E pop si 273F:2B77 80 EC 01 sub ah,1 273F:2B7A 73 E8 jnc loc_608 ; Jump if carry=0 273F:2B7C 8B FE mov di,si 273F:2B7E BA 03CE mov dx,3CEh 273F:2B81 B8 0805 mov ax,805h 273F:2B84 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2B85 B8 0007 mov ax,7 273F:2B88 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:2B89 B0 03 mov al,3 273F:2B8B EF out dx,ax ; port 3CEh, EGA graphic index ; al = 3, data rotate 273F:2B8C B8 FF08 mov ax,0FF08h 273F:2B8F EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2B90 1E push ds 273F:2B91 07 pop es 273F:2B92 5E pop si 273F:2B93 B1 06 mov cl,6 273F:2B95 D3 E6 shl si,cl ; Shift w/zeros fill 273F:2B97 1F pop ds 273F:2B98 87 D5 xchg dx,bp 273F:2B9A 2E: 8A 0E 2AAA mov cl,cs:data_239 ; (273F:2AAA=0) 273F:2B9F loc_610: ; xref 273F:2C0A 273F:2B9F 56 push si 273F:2BA0 57 push di 273F:2BA1 2E: 8A 2E 2AA9 mov ch,cs:data_238 ; (273F:2AA9=0) 273F:2BA6 33 DB xor bx,bx ; Zero register 273F:2BA8 33 D2 xor dx,dx ; Zero register 273F:2BAA 8A 34 mov dh,[si] 273F:2BAC D3 EA shr dx,cl ; Shift w/zeros fill 273F:2BAE 8A E6 mov ah,dh 273F:2BB0 B0 08 mov al,8 273F:2BB2 87 D5 xchg dx,bp 273F:2BB4 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2BB5 87 D5 xchg dx,bp 273F:2BB7 8A 7C 01 mov bh,[si+1] 273F:2BBA D3 EB shr bx,cl ; Shift w/zeros fill 273F:2BBC 8A C7 mov al,bh 273F:2BBE 26: 8A 25 mov ah,es:[di] 273F:2BC1 AA stosb ; Store al to es:[di] 273F:2BC2 80 ED 01 sub ch,1 273F:2BC5 74 35 jz loc_612 ; Jump if zero 273F:2BC7 8A 64 02 mov ah,[si+2] 273F:2BCA 32 C0 xor al,al ; Zero register 273F:2BCC D3 E8 shr ax,cl ; Shift w/zeros fill 273F:2BCE 0A E2 or ah,dl 273F:2BD0 8A D0 mov dl,al 273F:2BD2 87 D5 xchg dx,bp 273F:2BD4 B0 08 mov al,8 273F:2BD6 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2BD7 8A 64 03 mov ah,[si+3] 273F:2BDA 32 C0 xor al,al ; Zero register 273F:2BDC D3 E8 shr ax,cl ; Shift w/zeros fill 273F:2BDE 0A E3 or ah,bl 273F:2BE0 8A D8 mov bl,al 273F:2BE2 8A C4 mov al,ah 273F:2BE4 26: 8A 25 mov ah,es:[di] 273F:2BE7 AA stosb ; Store al to es:[di] 273F:2BE8 80 ED 01 sub ch,1 273F:2BEB 74 0D jz loc_611 ; Jump if zero 273F:2BED 8B C5 mov ax,bp 273F:2BEF 8A E0 mov ah,al 273F:2BF1 B0 08 mov al,8 273F:2BF3 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2BF4 8A C3 mov al,bl nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 112 273F:2BF6 26: 8A 25 mov ah,es:[di] 273F:2BF9 AA stosb ; Store al to es:[di] 273F:2BFA loc_611: ; xref 273F:2BEB 273F:2BFA 87 D5 xchg dx,bp 273F:2BFC loc_612: ; xref 273F:2BC5 273F:2BFC 5F pop di 273F:2BFD 5E pop si 273F:2BFE 83 C6 04 add si,4 273F:2C01 83 C7 28 add di,28h 273F:2C04 2E: 83 2E 2AAB 01 sub cs:data_240,1 ; (273F:2AAB=0) 273F:2C0A 75 93 jnz loc_610 ; Jump if not zero 273F:2C0C 87 D5 xchg dx,bp 273F:2C0E B8 0005 mov ax,5 273F:2C11 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2C12 B8 0F07 mov ax,0F07h 273F:2C15 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:2C16 B8 FF08 mov ax,0FF08h 273F:2C19 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 8, data bit mask 273F:2C1A B8 31E4 mov ax,data_seg 273F:2C1D 8E D8 mov ds,ax 273F:2C1F 80 26 11D0 FB and menubar_state, 0FBh ; (31E4:11D0=3) 273F:2C24 loc_ret_613: ; xref 273F:2C31 273F:2C24 C3 retn ega_cursor endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:2151, 2AD5 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2C25 sub_67 proc near 273F:2C25 8B 3C mov di,[si] 273F:2C27 8A 5C 02 mov bl,[si+2] 273F:2C2A 32 FF xor bh,bh ; Zero register 273F:2C2C 8B 6C 04 mov bp,[si+4] 273F:2C2F 0B ED or bp,bp ; Zero ? 273F:2C31 74 F1 jz loc_ret_613 ; Jump if zero 273F:2C33 C7 44 04 0000 mov word ptr [si+4],0 273F:2C38 83 C6 06 add si,6 273F:2C3B BA 03CE mov dx,3CEh 273F:2C3E B8 0805 mov ax,805h 273F:2C41 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 5, mode 273F:2C42 B8 0007 mov ax,7 273F:2C45 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 7, ignore color bits 273F:2C46 B0 03 mov al,3 273F:2C48 EF out dx,ax ; port 3CEh, EGA graphic index ; al = 3, data rotate 273F:2C49 B8 FF08 mov ax,0FF08h 273F:2C4C EF out dx,ax ; port 3CEh, EGA graphic index nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 113 ; al = 8, data bit mask 273F:2C4D B8 31E4 mov ax,data_seg 273F:2C50 8E D8 mov ds,ax 273F:2C52 B2 C4 mov dl,0C4h 273F:2C54 B8 0802 mov ax,802h 273F:2C57 B9 0004 mov cx,4 273F:2C5A locloop_614: ; xref 273F:2C70 273F:2C5A EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:2C5B 51 push cx 273F:2C5C 57 push di 273F:2C5D 8B CD mov cx,bp 273F:2C5F locloop_615: ; xref 273F:2C6A 273F:2C5F 51 push cx 273F:2C60 57 push di 273F:2C61 8B CB mov cx,bx 273F:2C63 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:2C65 5F pop di 273F:2C66 83 C7 28 add di,28h 273F:2C69 59 pop cx 273F:2C6A E2 F3 loop locloop_615 ; Loop if cx > 0 273F:2C6C 5F pop di 273F:2C6D 59 pop cx 273F:2C6E D0 EC shr ah,1 ; Shift w/zeros fill 273F:2C70 E2 E8 loop locloop_614 ; Loop if cx > 0 273F:2C72 B4 0F mov ah,0Fh 273F:2C74 EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:2C75 C3 retn sub_67 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_add_animation proc near 273F:2C76 8A 47 04 mov al,[bx+4] 273F:2C79 8A 6F 06 mov ch,[bx+6] 273F:2C7C F6 E5 mul ch ; ax = reg * al 273F:2C7E D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2C80 03 C6 add ax,si 273F:2C82 A3 1440 mov word ptr ds:[1440h],ax ; (273F:1440=0BA00h) 273F:2C85 B8 FFFF mov ax,0FFFFh assume ds:seg_code 273F:2C88 2E: A3 1500 mov word ptr cs:data_215,ax ; (273F:1500=0) 273F:2C8C 2E: A3 1502 mov cs:data_216,ax ; (273F:1502=0) 273F:2C90 2E: A2 1504 mov cs:data_217,al ; (273F:1504=0) 273F:2C94 C6 06 11B0 00 mov data_11b0, 0 273F:2C99 8B 47 02 mov ax,[bx+2] 273F:2C9C 2D 0088 sub ax,88h 273F:2C9F 73 2A jnc loc_618 ; Jump if carry=0 273F:2CA1 50 push ax 273F:2CA2 03 47 06 add ax,[bx+6] 273F:2CA5 58 pop ax 273F:2CA6 74 02 jz loc_616 ; Jump if zero 273F:2CA8 72 03 jc loc_617 ; Jump if carry Set 273F:2CAA loc_616: ; xref 273F:2CA6, 2D26 273F:2CAA E9 02EE jmp loc_ret_636 ; (2F9B) 273F:2CAD loc_617: ; xref 273F:2CA8 273F:2CAD F7 D8 neg ax 273F:2CAF 2A E8 sub ch,al 273F:2CB1 F6 67 04 mul byte ptr [bx+4] ; ax = data * al 273F:2CB4 B1 03 mov cl,3 273F:2CB6 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:2CB8 01 06 1440 add word ptr ds:[1440h],ax ; (273F:1440=0BA00h) 273F:2CBC D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2CBE D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2CC0 03 F0 add si,ax 273F:2CC2 33 C0 xor ax,ax ; Zero register 273F:2CC4 C6 06 11B0 01 mov data_11b0, 1 273F:2CC9 EB 1C jmp short loc_621 ; (2CE7) 273F:2CCB loc_618: ; xref 273F:2C9F 273F:2CCB 3D 00C0 cmp ax,0C0h 273F:2CCE 72 03 jb loc_619 ; Jump if below 273F:2CD0 E9 02C8 jmp loc_ret_636 ; (2F9B) 273F:2CD3 loc_619: ; xref 273F:2CCE 273F:2CD3 50 push ax 273F:2CD4 03 47 06 add ax,[bx+6] 273F:2CD7 3D 00C1 cmp ax,0C1h 273F:2CDA 72 0A jb loc_620 ; Jump if below 273F:2CDC 2D 00C0 sub ax,0C0h 273F:2CDF 2A E8 sub ch,al 273F:2CE1 C6 06 11B0 01 mov data_11b0, 1 273F:2CE6 loc_620: ; xref 273F:2CDA 273F:2CE6 58 pop ax 273F:2CE7 loc_621: ; xref 273F:2CC9 273F:2CE7 8B D0 mov dx,ax 273F:2CE9 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2CEB D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2CED 03 C2 add ax,dx 273F:2CEF B1 05 mov cl,5 273F:2CF1 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2CF3 05 0500 add ax,500h 273F:2CF6 8B F8 mov di,ax 273F:2CF8 8B 47 04 mov ax,[bx+4] 273F:2CFB B1 03 mov cl,3 273F:2CFD D3 E8 shr ax,cl ; Shift w/zeros fill 273F:2CFF 2E: A2 1509 mov cs:data_220,al ; (273F:1509=0) 273F:2D03 2E: A3 1507 mov cs:data_219,ax ; (273F:1507=0) 273F:2D07 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2D09 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:2D0B 2E: A3 1505 mov cs:data_218,ax ; (273F:1505=0) 273F:2D0F 8B 07 mov ax,[bx] 273F:2D11 8A C8 mov cl,al 273F:2D13 80 E1 07 and cl,7 273F:2D16 89 0E 1442 mov word ptr ds:[1442h],cx ; (273F:1442=1) 273F:2D1A 2D 0080 sub ax,80h 273F:2D1D 73 31 jnc loc_623 ; Jump if carry=0 273F:2D1F 50 push ax 273F:2D20 8B 57 04 mov dx,[bx+4] 273F:2D23 03 C2 add ax,dx 273F:2D25 58 pop ax 273F:2D26 74 82 jz loc_616 ; Jump if zero 273F:2D28 72 03 jc loc_622 ; Jump if carry Set 273F:2D2A E9 026E jmp loc_ret_636 ; (2F9B) 273F:2D2D loc_622: ; xref 273F:2D28 273F:2D2D F7 D0 not ax 273F:2D2F 25 FFF8 and ax,0FFF8h 273F:2D32 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2D34 2E: A3 1500 mov word ptr cs:data_215,ax ; (273F:1500=0) 273F:2D38 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2D3A D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2D3C 2E: A3 1502 mov cs:data_216,ax ; (273F:1502=0) 273F:2D40 04 01 add al,1 273F:2D42 2E: 28 06 1509 sub cs:data_220,al ; (273F:1509=0) 273F:2D47 C6 06 11B0 01 mov data_11b0, 1 273F:2D4C 33 C0 xor ax,ax ; Zero register 273F:2D4E EB 29 jmp short loc_625 ; (2D79) 273F:2D50 loc_623: ; xref 273F:2D1D 273F:2D50 3D 0140 cmp ax,140h 273F:2D53 72 03 jb loc_624 ; Jump if below 273F:2D55 E9 0243 jmp loc_ret_636 ; (2F9B) 273F:2D58 loc_624: ; xref 273F:2D53 273F:2D58 8B 57 04 mov dx,[bx+4] 273F:2D5B 03 D0 add dx,ax 273F:2D5D 81 EA 0140 sub dx,140h 273F:2D61 72 16 jc loc_625 ; Jump if carry Set 273F:2D63 74 14 jz loc_625 ; Jump if zero 273F:2D65 B1 03 mov cl,3 273F:2D67 D3 EA shr dx,cl ; Shift w/zeros fill 273F:2D69 2E: 28 16 1509 sub cs:data_220,dl ; (273F:1509=0) 273F:2D6E 2E: C6 06 1504 00 mov cs:data_217,0 ; (273F:1504=0) 273F:2D74 C6 06 11B0 01 mov data_11b0, 1 273F:2D79 loc_625: ; xref 273F:2D4E, 2D61, 2D63 273F:2D79 25 FFF8 and ax,0FFF8h 273F:2D7C D1 E8 shr ax,1 ; Shift w/zeros fill 273F:2D7E 03 F8 add di,ax 273F:2D80 8B 0E 1442 mov cx,word ptr ds:[1442h] ; (273F:1442=1) 273F:2D84 80 F1 07 xor cl,7 273F:2D87 80 C1 01 add cl,1 273F:2D8A 8B 1E 1440 mov bx,word ptr ds:[1440h] ; (273F:1440=0BA00h) 273F:2D8E 80 3E 11B0 01 cmp data_11b0, 1 273F:2D93 75 03 jne loc_626 ; Jump if not equal 273F:2D95 E9 00D9 jmp loc_630 ; (2E71) 273F:2D98 loc_626: ; xref 273F:2D93 273F:2D98 1E push ds 273F:2D99 06 push es 273F:2D9A A1 4CE4 mov ax, data_segment2 273F:2D9D 8E C0 mov es,ax 273F:2D9F 1F pop ds 273F:2DA0 loc_627: ; xref 273F:2E6B 273F:2DA0 ú32 D2 xor dl,dl ; Zero register 273F:2DA2 2E: 88 16 2058 mov cs:data_233,dl ; (273F:2058=0) 273F:2DA7 2E: 88 16 2059 mov cs:data_234,dl ; (273F:2059=0) 273F:2DAC 2E: 88 16 205A mov cs:data_235,dl ; (273F:205A=0) 273F:2DB1 2E: 88 16 205B mov cs:data_236,dl ; (273F:205B=0) 273F:2DB6 F6 D2 not dl 273F:2DB8 51 push cx 273F:2DB9 57 push di 273F:2DBA 2E: 8A 2E 1509 mov ch,cs:data_220 ; (273F:1509=0) 273F:2DBF loc_628: ; xref 273F:2E2D 273F:2DBF 33 C0 xor ax,ax ; Zero register 273F:2DC1 8A 07 mov al,[bx] 273F:2DC3 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2DC5 F7 D0 not ax 273F:2DC7 22 E2 and ah,dl 273F:2DC9 8B D0 mov dx,ax 273F:2DCB AC lodsb ; String [si] to al 273F:2DCC 32 E4 xor ah,ah ; Zero register 273F:2DCE D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2DD0 2E: 0A 26 2058 or ah,cs:data_233 ; (273F:2058=0) 273F:2DD5 2E: A2 2058 mov cs:data_233,al ; (273F:2058=0) 273F:2DD9 26: 20 35 and es:[di],dh 273F:2DDC 26: 08 25 or es:[di],ah 273F:2DDF 83 C7 01 add di,1 273F:2DE2 AC lodsb ; String [si] to al 273F:2DE3 32 E4 xor ah,ah ; Zero register 273F:2DE5 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2DE7 2E: 0A 26 2059 or ah,cs:data_234 ; (273F:2059=0) 273F:2DEC 2E: A2 2059 mov cs:data_234,al ; (273F:2059=0) 273F:2DF0 26: 20 35 and es:[di],dh 273F:2DF3 26: 08 25 or es:[di],ah 273F:2DF6 83 C7 01 add di,1 273F:2DF9 AC lodsb ; String [si] to al 273F:2DFA 32 E4 xor ah,ah ; Zero register 273F:2DFC D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2DFE 2E: 0A 26 205A or ah,cs:data_235 ; (273F:205A=0) 273F:2E03 2E: A2 205A mov cs:data_235,al ; (273F:205A=0) 273F:2E07 26: 20 35 and es:[di],dh 273F:2E0A 26: 08 25 or es:[di],ah 273F:2E0D 83 C7 01 add di,1 273F:2E10 AC lodsb ; String [si] to al 273F:2E11 32 E4 xor ah,ah ; Zero register 273F:2E13 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2E15 2E: 0A 26 205B or ah,cs:data_236 ; (273F:205B=0) 273F:2E1A 2E: A2 205B mov cs:data_236,al ; (273F:205B=0) 273F:2E1E 26: 20 35 and es:[di],dh 273F:2E21 26: 08 25 or es:[di],ah 273F:2E24 83 C7 01 add di,1 273F:2E27 83 C3 01 add bx,1 273F:2E2A 80 ED 01 sub ch,1 273F:2E2D 75 90 jnz loc_628 ; Jump if not zero 273F:2E2F 2E: A0 2058 mov al,cs:data_233 ; (273F:2058=0) 273F:2E33 26: 20 15 and es:[di],dl 273F:2E36 26: 08 05 or es:[di],al 273F:2E39 83 C7 01 add di,1 273F:2E3C 2E: A0 2059 mov al,cs:data_234 ; (273F:2059=0) 273F:2E40 26: 20 15 and es:[di],dl 273F:2E43 26: 08 05 or es:[di],al 273F:2E46 83 C7 01 add di,1 273F:2E49 2E: A0 205A mov al,cs:data_235 ; (273F:205A=0) 273F:2E4D 26: 20 15 and es:[di],dl 273F:2E50 26: 08 05 or es:[di],al 273F:2E53 83 C7 01 add di,1 273F:2E56 2E: A0 205B mov al,cs:data_236 ; (273F:205B=0) 273F:2E5A 26: 20 15 and es:[di],dl 273F:2E5D 26: 08 05 or es:[di],al 273F:2E60 5F pop di 273F:2E61 ú81 C7 00A0 add di,data_1460e ; (FF12:00A0=0) 273F:2E65 59 pop cx 273F:2E66 80 ED 01 sub ch,1 273F:2E69 74 03 jz loc_629 ; Jump if zero 273F:2E6B E9 FF32 jmp loc_627 ; (2DA0) 273F:2E6E loc_629: ; xref 273F:2E69 273F:2E6E E9 0129 jmp loc_635 ; (2F9A) 273F:2E71 loc_630: ; xref 273F:2D95 273F:2E71 1E push ds 273F:2E72 06 push es 273F:2E73 A1 4CE4 mov ax, data_segment2 273F:2E76 8E C0 mov es,ax 273F:2E78 1F pop ds 273F:2E79 loc_631: ; xref 273F:2F97 273F:2E79 ú32 D2 xor dl,dl ; Zero register 273F:2E7B 2E: 88 16 2058 mov cs:data_233,dl ; (273F:2058=0) 273F:2E80 2E: 88 16 2059 mov cs:data_234,dl ; (273F:2059=0) 273F:2E85 2E: 88 16 205A mov cs:data_235,dl ; (273F:205A=0) 273F:2E8A 2E: 88 16 205B mov cs:data_236,dl ; (273F:205B=0) 273F:2E8F F6 D2 not dl 273F:2E91 51 push cx 273F:2E92 53 push bx 273F:2E93 56 push si 273F:2E94 57 push di 273F:2E95 2E: 8A 2E 1509 mov ch,cs:data_220 ; (273F:1509=0) 273F:2E9A 2E: F7 06 1500 0080 test word ptr cs:data_215,80h ; (273F:1500=0) 273F:2EA1 75 34 jnz loc_632 ; Jump if not zero 273F:2EA3 2E: 03 36 1500 add si,word ptr cs:data_215 ; (273F:1500=0) 273F:2EA8 2E: 03 1E 1502 add bx,cs:data_216 ; (273F:1502=0) 273F:2EAD 8A 17 mov dl,[bx] 273F:2EAF D3 E2 shl dx,cl ; Shift w/zeros fill 273F:2EB1 F6 D2 not dl 273F:2EB3 83 C3 01 add bx,1 273F:2EB6 AC lodsb ; String [si] to al 273F:2EB7 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2EB9 2E: A2 2058 mov cs:data_233,al ; (273F:2058=0) 273F:2EBD AC lodsb ; String [si] to al 273F:2EBE D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2EC0 2E: A2 2059 mov cs:data_234,al ; (273F:2059=0) 273F:2EC4 AC lodsb ; String [si] to al 273F:2EC5 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2EC7 2E: A2 205A mov cs:data_235,al ; (273F:205A=0) 273F:2ECB AC lodsb ; String [si] to al 273F:2ECC D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2ECE 2E: A2 205B mov cs:data_236,al ; (273F:205B=0) 273F:2ED2 F6 C5 FF test ch,0FFh 273F:2ED5 74 78 jz loc_633 ; Jump if zero 273F:2ED7 loc_632: ; xref 273F:2EA1, 2F45 273F:2ED7 33 C0 xor ax,ax ; Zero register 273F:2ED9 8A 07 mov al,[bx] 273F:2EDB D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2EDD F7 D0 not ax 273F:2EDF 22 E2 and ah,dl 273F:2EE1 8B D0 mov dx,ax 273F:2EE3 AC lodsb ; String [si] to al 273F:2EE4 32 E4 xor ah,ah ; Zero register 273F:2EE6 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2EE8 2E: 0A 26 2058 or ah,cs:data_233 ; (273F:2058=0) 273F:2EED 2E: A2 2058 mov cs:data_233,al ; (273F:2058=0) 273F:2EF1 26: 20 35 and es:[di],dh 273F:2EF4 26: 08 25 or es:[di],ah 273F:2EF7 83 C7 01 add di,1 273F:2EFA AC lodsb ; String [si] to al 273F:2EFB 32 E4 xor ah,ah ; Zero register 273F:2EFD D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2EFF 2E: 0A 26 2059 or ah,cs:data_234 ; (273F:2059=0) 273F:2F04 2E: A2 2059 mov cs:data_234,al ; (273F:2059=0) 273F:2F08 26: 20 35 and es:[di],dh 273F:2F0B 26: 08 25 or es:[di],ah 273F:2F0E 83 C7 01 add di,1 273F:2F11 AC lodsb ; String [si] to al 273F:2F12 32 E4 xor ah,ah ; Zero register 273F:2F14 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2F16 2E: 0A 26 205A or ah,cs:data_235 ; (273F:205A=0) 273F:2F1B 2E: A2 205A mov cs:data_235,al ; (273F:205A=0) 273F:2F1F 26: 20 35 and es:[di],dh 273F:2F22 26: 08 25 or es:[di],ah 273F:2F25 83 C7 01 add di,1 273F:2F28 AC lodsb ; String [si] to al 273F:2F29 32 E4 xor ah,ah ; Zero register 273F:2F2B D3 E0 shl ax,cl ; Shift w/zeros fill 273F:2F2D 2E: 0A 26 205B or ah,cs:data_236 ; (273F:205B=0) 273F:2F32 2E: A2 205B mov cs:data_236,al ; (273F:205B=0) 273F:2F36 26: 20 35 and es:[di],dh 273F:2F39 26: 08 25 or es:[di],ah 273F:2F3C 83 C7 01 add di,1 273F:2F3F 83 C3 01 add bx,1 273F:2F42 80 ED 01 sub ch,1 273F:2F45 75 90 jnz loc_632 ; Jump if not zero 273F:2F47 2E: F6 06 1504 FF test cs:data_217,0FFh ; (273F:1504=0) 273F:2F4D 74 31 jz loc_634 ; Jump if zero 273F:2F4F loc_633: ; xref 273F:2ED5 273F:2F4F 2E: A0 2058 mov al,cs:data_233 ; (273F:2058=0) 273F:2F53 26: 20 15 and es:[di],dl 273F:2F56 26: 08 05 or es:[di],al 273F:2F59 83 C7 01 add di,1 273F:2F5C 2E: A0 2059 mov al,cs:data_234 ; (273F:2059=0) 273F:2F60 26: 20 15 and es:[di],dl 273F:2F63 26: 08 05 or es:[di],al 273F:2F66 83 C7 01 add di,1 273F:2F69 2E: A0 205A mov al,cs:data_235 ; (273F:205A=0) 273F:2F6D 26: 20 15 and es:[di],dl 273F:2F70 26: 08 05 or es:[di],al 273F:2F73 83 C7 01 add di,1 273F:2F76 2E: A0 205B mov al,cs:data_236 ; (273F:205B=0) 273F:2F7A 26: 20 15 and es:[di],dl 273F:2F7D 26: 08 05 or es:[di],al 273F:2F80 loc_634: ; xref 273F:2F4D 273F:2F80 5F pop di 273F:2F81 ú81 C7 00A0 add di,data_1460e ; (FF12:00A0=0) 273F:2F85 5E pop si 273F:2F86 2E: 03 36 1505 add si,cs:data_218 ; (273F:1505=0) 273F:2F8B 5B pop bx 273F:2F8C 2E: 03 1E 1507 add bx,cs:data_219 ; (273F:1507=0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 119 273F:2F91 59 pop cx 273F:2F92 80 ED 01 sub ch,1 273F:2F95 74 03 jz loc_635 ; Jump if zero 273F:2F97 E9 FEDF jmp loc_631 ; (2E79) 273F:2F9A loc_635: ; xref 273F:2E6E, 2F95 273F:2F9A 1F pop ds 273F:2F9B loc_ret_636: ; xref 273F:2CAA, 2CD0, 2D2A, 2D55 273F:2F9B C3 retn 273F:2F9C loc_637: ; xref 273F:8E45 273F:2F9C úD1 EF shr di,1 ; Shift w/zeros fill 273F:2F9E D1 EB shr bx,1 ; Shift w/zeros fill 273F:2FA0 D1 EB shr bx,1 ; Shift w/zeros fill 273F:2FA2 D1 EB shr bx,1 ; Shift w/zeros fill 273F:2FA4 A1 4CE4 mov ax, data_segment2 273F:2FA7 8E C0 mov es,ax 273F:2FA9 BA 0008 mov dx,8 273F:2FAC loc_638: ; xref 273F:2FC2 273F:2FAC 57 push di 273F:2FAD 8B CB mov cx,bx 273F:2FAF locloop_639: ; xref 273F:2FBA 273F:2FAF 26: 8A 45 02 mov al,es:[di+2] 273F:2FB3 26: 30 45 01 xor es:[di+1],al 273F:2FB7 83 C7 04 add di,4 273F:2FBA E2 F3 loop locloop_639 ; Loop if cx > 0 273F:2FBC 5F pop di 273F:2FBD ú81 C7 00A0 add di,data_68e ; (0031:00A0=0) 273F:2FC1 4A dec dx 273F:2FC2 75 E8 jnz loc_638 ; Jump if not zero 273F:2FC4 C3 retn ega_add_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:2081 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:2FC5 sub_68 proc near 273F:2FC5 1E push ds 273F:2FC6 A1 4CE4 mov ax, data_segment2 273F:2FC9 8E D8 mov ds,ax 273F:2FCB 33 F6 xor si,si ; Zero register 273F:2FCD 33 FF xor di,di ; Zero register 273F:2FCF B8 0802 mov ax,802h 273F:2FD2 B9 0004 mov cx,4 273F:2FD5 locloop_640: ; xref 273F:2FEA 273F:2FD5 51 push cx 273F:2FD6 56 push si 273F:2FD7 57 push di 273F:2FD8 EF out dx,ax ; port 3C4h, EGA sequencr index ; al = 2, map mask register 273F:2FD9 B9 0140 mov cx,140h 273F:2FDC locloop_641: ; xref 273F:2FE0 273F:2FDC A4 movsb ; Mov [si] to es:[di] 273F:2FDD 83 C6 03 add si,3 273F:2FE0 E2 FA loop locloop_641 ; Loop if cx > 0 273F:2FE2 5F pop di 273F:2FE3 5E pop si 273F:2FE4 83 C6 01 add si,1 273F:2FE7 D0 EC shr ah,1 ; Shift w/zeros fill 273F:2FE9 59 pop cx 273F:2FEA E2 E9 loop locloop_640 ; Loop if cx > 0 273F:2FEC 1F pop ds 273F:2FED 80 2E 4BF0 01 sub byte ptr ds:[4BF0h],1 ; (273F:4BF0=3) 273F:2FF2 C3 retn sub_68 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_toggle_menu_highlight proc near 273F:2FF3 D1 EF shr di,1 ; Shift w/zeros fill 273F:2FF5 83 E7 FC and di,0FFFCh 273F:2FF8 B1 03 mov cl,3 273F:2FFA 83 C3 07 add bx,7 273F:2FFD D3 EB shr bx,cl ; Shift w/zeros fill 273F:2FFF A1 4CE4 mov ax, data_segment2 273F:3002 8E C0 mov es,ax 273F:3004 BA 0008 mov dx,8 273F:3007 loc_642: ; xref 273F:3022 273F:3007 57 push di 273F:3008 8B CB mov cx,bx 273F:300A locloop_643: ; xref 273F:301A 273F:300A 26: 8A 05 mov al,es:[di] 273F:300D F6 D0 not al 273F:300F 26: 30 45 01 xor es:[di+1],al 273F:3013 26: 30 45 02 xor es:[di+2],al 273F:3017 83 C7 04 add di,4 273F:301A E2 EE loop locloop_643 ; Loop if cx > 0 273F:301C 5F pop di 273F:301D 81 C7 00A0 add di,0A0h 273F:3021 4A dec dx 273F:3022 75 E3 jnz loc_642 ; Jump if not zero 273F:3024 C3 retn ega_toggle_menu_highlight endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:90CB ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3025 sub_69 proc near 273F:3025 1E push ds 273F:3026 A1 4CE4 mov ax, data_segment2 273F:3029 8E C0 mov es,ax 273F:302B úBF 1F48 mov di,data_1407e ; (44E4:1F48=0) 273F:302E B8 44E4 mov ax, ega_talk_frame_seg 273F:3031 8E D8 mov ds,ax 273F:3033 úBE 0030 mov si,offset data_1405 ; (44E4:0030=3Fh) 273F:3036 BB 0020 mov bx,20h 273F:3039 E8 F417 call sub_63 ; (2453) 273F:303C E8 F414 call sub_63 ; (2453) 273F:303F E8 F411 call sub_63 ; (2453) 273F:3042 úBE 000C mov si,offset data_1404 ; (44E4:000C=0) 273F:3045 E8 F40B call sub_63 ; (2453) 273F:3048 E8 F408 call sub_63 ; (2453) 273F:304B 1F pop ds 273F:304C C3 retn sub_69 endp 273F:304D 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:304E vga_show_screen proc near 273F:304E 80 0E 11D0 02 or menubar_state, 2 273F:3053 E8FD06 call sub_unknown_1 273F:3056 F6 06 4BF0 FF test byte ptr [4BF0h], 0ffh 273F:305B 74 03 jz vga_loc_1 273F:305D E8 0F 09 call menubar_copy_to_screen 273F:3060 BE 0A00 vga_loc_1: mov si, MENUBAR_BLOCK_SIZE ; Set SI and DI to after menubar area 273F:3063 8B FE mov di, si 273F:3065 B9 060A mov cx, 060Ah ; 10x6 sets of 32x32 rectangles 273F:3068 8C DA mov dx, ds ; Make a backup of DS 273F:306A A1 0DB0 mov ax, screen_start_seg 273F:306D 8E C0 mov es, ax 273F:306F BB DC 07 mov bx, offset display_mask 273F:3072 loc_644: 273F:3072 F6 07 01 test byte ptr [bx],1 ; Is bit 0 turned on? 273F:3075 74 23 jz loc_646 ; No, so jump 273F:3077 80 27 FE and byte ptr [bx],0FEh ; Clear bit 0 ; The following code copies a rectangle from (x+0,y+0) - (x+31,y+31) from data_segment2 to screen_start_seg 273F:307A 57 push di 273F:307B 51 push cx 273F:307C A1 4CE4 mov ax, data_segment2 ; Get screen source from data_segment2 273F:307F 8E D8 mov ds, ax 273F:3081 B8 0020 mov ax,20h ; Number of lines 273F:3084 loc_645: 273F:3084 B9 0010 mov cx,10h ; Rep when cx >0 Mov [si] to es:[di] 273F:3087 F3/ A5 rep movsw ; (moves first 32 pixels of line) 273F:3089 81 C6 0120 add si,120h ; Move to start of next line 273F:308D 81 C7 0120 add di,120h 273F:3091 2D 0001 sub ax,1 ; Decrement number of lines to do 273F:3094 75 EE jnz loc_645 ; Jump if not zero 273F:3096 8E DA mov ds,dx ; Restore data segment 273F:3098 59 pop cx 273F:3099 5F pop di 273F:309A loc_646: 273F:309A 83 C7 20 add di,20h ; Move to next rectangle position 273F:309D 8B F7 mov si,di ; Match source to destination 273F:309F 83 C3 01 add bx,1 ; Move to next mask position 273F:30A2 80 E9 01 sub cl,1 ; Subtract remaining horiz blocks 273F:30A5 75 CB jnz loc_644 ; Jump if not yet end of line 273F:30A7 81 C7 26C0 add di,26C0h ; Reset soruce/dest to start of next 273F:30AB 8B F7 mov si,di ; rect vertically at start of line 273F:30AD 83 C3 08 add bx,8 273F:30B0 B1 0A mov cl,0Ah ; Number of horizontal rectangles 273F:30B2 80 ED 01 sub ch,1 ; Decrement remaining vertical rectangles 273F:30B5 75 BB jnz loc_644 ; Jump if not done 273F:30B7 E8 0704 call sub_73 ; (37BE) 273F:30BA A1 11D6 mov ax, mouse_x2 273F:30BD 39 06 11D1 cmp mouse_x, ax 273F:30C1 75 09 jne loc_647 ; Jump if not equal 273F:30C3 A1 11D8 mov ax, mouse_y2 273F:30C6 39 06 11D3 cmp mouse_y, ax 273F:30CA 74 10 je loc_648 ; Jump if equal 273F:30CC loc_647: ; xref 273F:30C1 273F:30CC A1 11D1 mov ax, mouse_x 273F:30CF A3 11D6 mov mouse_x2, ax 273F:30D2 A1 11D3 mov ax, mouse_y 273F:30D5 A3 11D8 mov mouse_y2, ax 273F:30D8 FF 16 075E call word ptr ds:data_18e ; (0000:075E=0) 273F:30DC loc_648: ; xref 273F:30CA 273F:30DC 80 26 11D0 FD and byte ptr ds:data_26e,0FDh ; (0000:11D0=80h) 273F:30E1 loc_ret_649: ; xref 273F:30EC 273F:30E1 C3 retn vga_show_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [fade_out_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:30E2 vga_fade_out proc near 273F:30E2 80 26 11D0 CF and menubar_state, 0CFh ; (273F:11D0=56h) 273F:30E7 F6 06 073C 20 test byte ptr ds:[73Ch],20h ; (273F:073C=17h) ' ' 273F:30EC 75 F3 jnz loc_ret_649 ; Jump if not zero 273F:30EE 80 0E 073C 20 or byte ptr ds:[73Ch],20h ; (273F:073C=17h) ' ' 273F:30F3 úBE 1457 mov si, offset unprocessed_vga_palette 273F:30F6 úBF 0DB5 mov di, offset processed_vga_palette 273F:30F9 1E push ds 273F:30FA 07 pop es 273F:30FB B9 0156 mov cx,156h 273F:30FE F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:3100 B9 0040 mov cx,40h 273F:3103 locloop_650: ; xref 273F:3156 273F:3103 51 push cx 273F:3104 úBB 0DB5 mov bx, offset processed_vga_palette 273F:3107 B9 00E4 mov cx,0E4h 273F:310A locloop_651: ; xref 273F:3129 273F:310A F6 07 3F test byte ptr [bx],3Fh ; '?' 273F:310D 74 03 jz loc_652 ; Jump if zero 273F:310F 80 2F 01 sub byte ptr [bx],1 273F:3112 loc_652: ; xref 273F:310D 273F:3112 F6 47 01 3F test byte ptr [bx+1],3Fh ; '?' 273F:3116 74 04 jz loc_653 ; Jump if zero 273F:3118 80 6F 01 01 sub byte ptr [bx+1],1 273F:311C loc_653: ; xref 273F:3116 273F:311C F6 47 02 3F test byte ptr [bx+2],3Fh ; '?' 273F:3120 74 04 jz loc_654 ; Jump if zero 273F:3122 80 6F 02 01 sub byte ptr [bx+2],1 273F:3126 loc_654: ; xref 273F:3120 273F:3126 83 C3 03 add bx,3 273F:3129 E2 DF loop locloop_651 ; Loop if cx > 0 273F:312B E8 002B call wait_for_video_port ; (3159) 273F:312E 56 push si 273F:312F 32 C0 xor al,al ; Zero register 273F:3131 BA 03C8 mov dx,3C8h 273F:3134 EE out dx,al ; port 3C8h, VGA pel address 273F:3135 42 inc dx 273F:3136 úBE 0DB5 mov si, offset processed_vga_palette 273F:3139 B9 0156 mov cx,156h 273F:313C locloop_655: ; xref 273F:313E 273F:313C AC lodsb ; String [si] to al 273F:313D EE out dx,al ; port 3C9h, VGA pel data reg 273F:313E E2 FC loop locloop_655 ; Loop if cx > 0 273F:3140 E8 0016 call wait_for_video_port ; (3159) 273F:3143 B0 72 mov al,72h ; 'r' 273F:3145 BA 03C8 mov dx,3C8h 273F:3148 EE out dx,al ; port 3C8h, VGA pel address 273F:3149 42 inc dx 273F:314A úBE 0F0B mov si, offset processed_vga_palette + 156h 273F:314D B9 0156 mov cx,156h 273F:3150 locloop_656: ; xref 273F:3152 273F:3150 AC lodsb ; String [si] to al 273F:3151 EE out dx,al ; port 3C9h, VGA pel data reg 273F:3152 E2 FC loop locloop_656 ; Loop if cx > 0 273F:3154 5E pop si 273F:3155 59 pop cx 273F:3156 E2 AB loop locloop_650 ; Loop if cx > 0 273F:3158 C3 retn vga_fade_out endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:312B, 3140, 31A5, 31BA, 3C86 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3159 wait_for_video_port proc near 273F:3159 50 push ax 273F:315A 06 push es 273F:315B 52 push dx 273F:315C B8 0040 mov ax,40h 273F:315F 8E C0 mov es,ax 273F:3161 26: 8B 16 0063 mov dx,es:video_port ; (0040:0063=3D4h) 273F:3166 80 C2 06 add dl,6 273F:3169 loc_657: ; xref 273F:316C 273F:3169 EC in al,dx ; port 3DAh, CGA/EGA vid status 273F:316A A8 08 test al,8 273F:316C 74 FB jz loc_657 ; Jump if zero 273F:316E loc_658: ; xref 273F:3171 273F:316E EC in al,dx ; port 3DAh, CGA/EGA vid status 273F:316F A8 08 test al,8 273F:3171 75 FB jnz loc_658 ; Jump if not zero 273F:3173 5A pop dx 273F:3174 07 pop es 273F:3175 58 pop ax 273F:3176 C3 retn wait_for_video_port endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [fade_in_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_fade_in proc near 273F:3177 80 26 073C DF and byte ptr ds:[73Ch],0DFh ; (273F:073C=17h) 273F:317C 1E push ds 273F:317D 07 pop es 273F:317E úBF 0DB5 mov di, offset processed_vga_palette 273F:3181 B9 0156 mov cx, 156h ; Only first 228 palette entries used 273F:3184 33 C0 xor ax,ax ; Zero register 273F:3186 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:3188 úBE 0DB5 mov si, offset processed_vga_palette 273F:318B úBF 1457 mov di, offset unprocessed_vga_palette 273F:318E B9 0040 mov cx,40h ; Number of fade-in increments 273F:3191 locloop_659: 273F:3191 51 push cx 273F:3192 B9 02AC mov cx,2ACh ; 228*3 (each paleete entry is 3 bytes) 273F:3195 33 DB xor bx,bx ; Update the RGB components of each palette entry by 1 unless a colour has already reached it's final value 273F:3197 locloop_660: 273F:3197 8A 00 mov al,[bx+si] ; Get in current palette intensity 273F:3199 3A 01 cmp al,[bx+di] ; Has it reached final intensity? 273F:319B 74 03 je loc_661 ; Jump if equal 273F:319D 80 00 01 add byte ptr [bx+si],1 ; Increment the intensity 273F:31A0 loc_661: 273F:31A0 83 C3 01 add bx,1 273F:31A3 E2 F2 loop locloop_660 ; Loop if cx > 0 273F:31A5 E8 FFB1 call wait_for_video_port ; (3159) 273F:31A8 56 push si 273F:31A9 32 C0 xor al,al ; Zero register 273F:31AB BA 03C8 mov dx,3C8h 273F:31AE EE out dx,al ; port 3C8h, VGA pel address 273F:31AF 42 inc dx ; Output the first half ot the new set of palette entries 273F:31B0 úBE 0DB5 mov si,0DB5h ; (273F:0DB5=0C7h) 273F:31B3 B9 0156 mov cx,156h 273F:31B6 locloop_662: ; xref 273F:31B8 273F:31B6 AC lodsb ; String [si] to al 273F:31B7 EE out dx,al ; port 3C9h, VGA pel data reg 273F:31B8 E2 FC loop locloop_662 ; Loop if cx > 0 273F:31BA E8 FF9C call wait_for_video_port ; (3159) 273F:31BD B0 72 mov al,72h ; 'r' 273F:31BF BA 03C8 mov dx,3C8h 273F:31C2 EE out dx,al ; port 3C8h, VGA pel address 273F:31C3 42 inc dx ; Output the second half ot the new set of palette entries 273F:31C4 úBE 0F0B mov si, offset processed_vga_palette + 156h 273F:31C7 B9 0156 mov cx,156h 273F:31CA locloop_663: ; xref 273F:31CC 273F:31CA AC lodsb ; String [si] to al 273F:31CB EE out dx,al ; port 3C9h, VGA pel data reg 273F:31CC E2 FC loop locloop_663 ; Loop if cx > 0 ; Loop for remaining increments of fade-in sequence 273F:31CE 5E pop si 273F:31CF 59 pop cx 273F:31D0 E2 BF loop locloop_659 ; Loop if cx > 0 273F:31D2 C3 retn vga_fade_in endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:312B, 3140, 31A5, 31BA, 3C86 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_set_lower_palette proc near 273F:31D3 80 26 073C DF and byte ptr ds:[73Ch],0DFh ; (273F:073C=17h) 273F:31D8 1E push ds 273F:31D9 07 pop es 273F:31DA úBA 1457 mov dx,offset unprocessed_vga_palette 273F:31DD B8 1012 mov ax,1012h 273F:31E0 BB 0000 mov bx,0 273F:31E3 B9 00E4 mov cx,0E4h 273F:31E6 CD 10 int 10h ; Video display ah=functn 10h ; set cx color registers from ; ptr es:dx, bx=first reg 273F:31E8 C3 retn vga_set_lower_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:312B, 3140, 31A5, 31BA, 3C86 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_empty_palette proc near 273F:31E9 80 0E 073C 20 or byte ptr ds:[73Ch],20h 273F:31EE 1E push ds 273F:31EF 07 pop es 273F:31F0 úBF 0DB5 mov di, offset processed_vga_palette 273F:31F3 B9 0156 mov cx,156h 273F:31F6 33 C0 xor ax,ax ; Zero register 273F:31F8 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:31FA úBA 0DB5 mov dx, offset processed_vga_palette 273F:31FD B8 1012 mov ax,1012h 273F:3200 BB 0000 mov bx,0 273F:3203 B9 00E4 mov cx,0E4h 273F:3206 CD 10 int 10h ; Video display ah=functn 10h ; set cx color registers from ; ptr es:dx, bx=first reg 273F:3208 C3 retn vga_empty_palette endp vga_display2_character proc near 273F:3209 1E push ds 273F:320A 57 push di 273F:320B 56 push si 273F:320C 98 cbw ; Convrt byte to word 273F:320D D1 E0 shl ax,1 ; Shift w/zeros fill 273F:320F D1 E0 shl ax,1 ; Shift w/zeros fill 273F:3211 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:3213 8B F0 mov si,ax 273F:3215 8B 16 4CF0 mov dx, font2_segment 273F:3219 8E DA mov ds,dx 273F:321B AC lodsb ; String [si] to al 273F:321C 32 E4 xor ah,ah ; Zero register 273F:321E 50 push ax 273F:321F B2 07 mov dl,7 273F:3221 loc_664: ; xref 273F:3239 273F:3221 AC lodsb ; String [si] to al 273F:3222 B9 0008 mov cx,8 273F:3225 locloop_665: ; xref 273F:322F 273F:3225 D0 E0 shl al,1 ; Shift w/zeros fill 273F:3227 73 03 jnc loc_666 ; Jump if carry=0 273F:3229 26: 88 3D mov es:[di],bh 273F:322C loc_666: ; xref 273F:3227 273F:322C 83 C7 01 add di,1 273F:322F E2 F4 loop locloop_665 ; Loop if cx > 0 273F:3231 03 FD add di,bp 273F:3233 83 EF 08 sub di,8 273F:3236 80 EA 01 sub dl,1 273F:3239 75 E6 jnz loc_664 ; Jump if not zero 273F:323B 58 pop ax 273F:323C 5E pop si 273F:323D 5F pop di 273F:323E 1F pop ds 273F:323F 03 F8 add di,ax 273F:3241 C3 retn vga_display2_character endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß vga_talk_dialog proc near 273F:3242 1E push ds 273F:3243 A1 11C0 mov ax, talk_dialog_top 273F:3246 50 push ax 273F:3247 05 0008 add ax, 8 273F:324A 8B D0 mov dx, ax 273F:324C D1 E2 shl dx, 1 ; Shift w/zeros fill 273F:324E D1 E2 shl dx, 1 ; Shift w/zeros fill 273F:3250 03 C2 add ax, dx 273F:3252 B1 06 mov cl, 6 273F:3254 D3 E0 shl ax, cl ; Shift w/zeros fill 273F:3256 8B F8 mov di, ax 273F:3258 03 3E 11C2 add di, talk_dialog_left 273F:325C B8 0007 mov ax, 7 273F:325F F7 26 B9FD mul data_1122 ; dx:ax = data * ax 273F:3263 05 0013 add ax, 19 ; Number of lines? 273F:3266 8B D0 mov dx, ax 273F:3268 A1 4CE4 mov ax, data_segment2 273F:326B 8E C0 mov es, ax 273F:326D A1 4CE6 mov ax, talk_dialog_buffer 273F:3270 8E D8 mov ds, ax 273F:3272 úBE 0000 mov si, 0 273F:3275 loc_667: ; xref 273F:3281 273F:3275 B9 0040 mov cx, TALK_DIALOG_WIDTH/2 273F:3278 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:327A 81 C7 00C0 add di, FULL_SCREEN_WIDTH-TALK_DIALOG_WIDTH 273F:327E 80 EA 01 sub dl, 1 273F:3281 75 F2 jnz loc_667 ; Jump if not zero 273F:3283 5B pop bx 273F:3284 1F pop ds 273F:3285 8B 16 11C6 mov dx, talk_dialog_height 273F:3289 A1 11C2 mov ax, talk_dialog_left 273F:328C BD 0080 mov bp, 80h 273F:328F B1 01 mov cl, 1 273F:3291 E8 D8FB call sub_22 ; Specify non-redraw area 273F:3294 C3 retn vga_talk_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called by the table entry [draw_dialog_proc] ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; DL = number of lines? ;???? Not sure about this method. vga_draw_dialog proc near 273F:3295 32 E4 xor ah,ah ; Zero register 273F:3297 32 FF xor bh,bh ; Zero register 273F:3299 32 ED xor ch,ch ; Zero register 273F:329B 32 F6 xor dh,dh ; Zero register 273F:329D 52 push dx 273F:329E 51 push cx 273F:329F 53 push bx 273F:32A0 50 push ax 273F:32A1 8A EA mov ch,dl 273F:32A3 93 xchg bx,ax 273F:32A4 32 E4 xor ah,ah ; Zero register 273F:32A6 BA 0A00 mov dx,0A00h 273F:32A9 F7 E2 mul dx ; dx:ax = reg * ax 273F:32AB 2D 03C0 sub ax,3C0h 273F:32AE 3D 0640 cmp ax,640h 273F:32B1 75 03 jne loc_668 ; Jump if not equal 273F:32B3 05 03C0 add ax,3C0h 273F:32B6 loc_668: ; xref 273F:32B1 273F:32B6 32 FF xor bh,bh ; Zero register 273F:32B8 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:32BA D1 E3 shl bx,1 ; Shift w/zeros fill 273F:32BC D1 E3 shl bx,1 ; Shift w/zeros fill 273F:32BE 03 C3 add ax,bx 273F:32C0 2D 0003 sub ax,3 273F:32C3 8B F8 mov di,ax 273F:32C5 A1 4CE4 mov ax, data_segment2 273F:32C8 8E C0 mov es,ax 273F:32CA 8A D9 mov bl,cl 273F:32CC 32 FF xor bh,bh ; Zero register 273F:32CE D1 E3 shl bx,1 ; Shift w/zeros fill 273F:32D0 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:32D2 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:32D4 83 C3 04 add bx,4 273F:32D7 8A D5 mov dl,ch 273F:32D9 32 F6 xor dh,dh ; Zero register 273F:32DB 8B C2 mov ax,dx 273F:32DD D1 E2 shl dx,1 ; Shift w/zeros fill 273F:32DF D1 E2 shl dx,1 ; Shift w/zeros fill 273F:32E1 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:32E3 F7 C5 FFFF test bp,0FFFFh 273F:32E7 75 02 jnz loc_669 ; Jump if not zero 273F:32E9 2B D0 sub dx,ax 273F:32EB loc_669: ; xref 273F:32E7 273F:32EB 83 C2 05 add dx,5 273F:32EE E8 001A call draw_dialog_frame 273F:32F1 58 pop ax 273F:32F2 2D 0001 sub ax,1 273F:32F5 5B pop bx 273F:32F6 83 EB 02 sub bx,2 273F:32F9 73 02 jnc loc_670 ; Jump if carry=0 273F:32FB 33 DB xor bx,bx ; Zero register 273F:32FD loc_670: ; xref 273F:32F9 273F:32FD 5D pop bp 273F:32FE 83 C5 04 add bp,4 273F:3301 5A pop dx 273F:3302 83 C2 04 add dx,4 273F:3305 B1 81 mov cl,81h 273F:3307 E8 D879 call sub_21 ; (0B83) 273F:330A C3 retn vga_draw_menu endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:32EE, 339D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:330B draw_dialog_frame proc near 273F:330B 1E push ds 273F:330C B8 44EA mov ax, dialog_segment 273F:330F 8E D8 mov ds,ax 273F:3311 33 F6 xor si,si ; Zero register 273F:3313 BD 0009 mov bp,9 273F:3316 loc_671: ; xref 273F:3331 273F:3316 57 push di 273F:3317 B9 0007 mov cx,7 273F:331A F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:331C AC lodsb ; String [si] to al 273F:331D 8B CB mov cx,bx 273F:331F 83 C1 02 add cx,2 273F:3322 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:3324 B9 0009 mov cx,9 273F:3327 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3329 5F pop di 273F:332A ú81 C7 0140 add di, SCREEN_WIDTH 273F:332E 83 ED 01 sub bp,1 273F:3331 75 E3 jnz loc_671 ; Jump if not zero 273F:3333 loc_672: ; xref 273F:334D 273F:3333 56 push si 273F:3334 57 push di 273F:3335 B9 0009 mov cx,9 273F:3338 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:333A AC lodsb ; String [si] to al 273F:333B 8B CB mov cx,bx 273F:333D F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:333F B9 0009 mov cx,9 273F:3342 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3344 5F pop di 273F:3345 5E pop si 273F:3346 ú81 C7 0140 add di, SCREEN_WIDTH 273F:334A 83 EA 01 sub dx,1 273F:334D 75 E4 jnz loc_672 ; Jump if not zero 273F:334F 83 C6 13 add si,13h 273F:3352 BD 0009 mov bp,9 273F:3355 loc_673: ; xref 273F:3370 273F:3355 57 push di 273F:3356 B9 0009 mov cx,9 273F:3359 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:335B AC lodsb ; String [si] to al 273F:335C 8B CB mov cx,bx 273F:335E 83 C1 01 add cx,1 273F:3361 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:3363 B9 0008 mov cx,8 273F:3366 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3368 5F pop di 273F:3369 81 C7 0140 add di, SCREEN_WIDTH 273F:336D 83 ED 01 sub bp,1 273F:3370 75 E3 jnz loc_673 ; Jump if not zero 273F:3372 1F pop ds 273F:3373 C3 retn draw_dialog_frame endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3374 32 FF xor bh, bh 273F:3376 32 F6 xor dh, dh 273F:3378 BF 62C0 mov di, 62C0h 273F:337B B9 004E mov cx, 4Eh 273F:337E 8B C2 mov ax, dx 273F:3380 2D 0001 sub ax, 1 273F:3383 74 0C jz loc_675 ; Jump if zero 273F:3385 81 EF 0A00 sub di,0A00h 273F:3389 83 E9 08 sub cx,8 273F:338C 80 C2 01 add dl,1 273F:338F EB EF jmp short loc_674 ; (3380) 273F:3391 loc_675: ; xref 273F:3383 273F:3391 51 push cx 273F:3392 B1 03 mov cl,3 273F:3394 D3 E3 shl bx,cl ; Shift w/zeros fill 273F:3396 D3 E2 shl dx,cl ; Shift w/zeros fill 273F:3398 83 EB 01 sub bx,1 273F:339B 53 push bx 273F:339C 52 push dx 273F:339D E8 FF6B call draw_dialog_frame 273F:33A0 33 C0 xor ax,ax ; Zero register 273F:33A2 5A pop dx 273F:33A3 5D pop bp 273F:33A4 5B pop bx 273F:33A5 83 EB 08 sub bx,8 273F:33A8 83 C5 12 add bp,12h 273F:33AB 83 C2 14 add dx,14h 273F:33AE B1 81 mov cl,81h 273F:33B0 E9 D7DC jmp loc_93 ; (0B8F) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_draw_talk_dialog proc near 273F:33B3 8B C5 mov ax,bp 273F:33B5 D1 E5 shl bp,1 ; Shift w/zeros fill 273F:33B7 D1 E5 shl bp,1 ; Shift w/zeros fill 273F:33B9 D1 E5 shl bp,1 ; Shift w/zeros fill 273F:33BB 2B E8 sub bp,ax 273F:33BD 83 C5 0D add bp,0Dh 273F:33C0 89 2E 11C6 mov talk_dialog_height, bp 273F:33C4 83 06 11C6 12 add talk_dialog_height, 12h 273F:33C9 C7 06 11C4 0080 mov talk_dialog_width, TALK_DIALOG_WIDTH 273F:33CF 1E push ds 273F:33D0 B8 44FF mov ax, vga_talk_frame_seg 273F:33D3 8E D8 mov ds,ax 273F:33D5 33 F6 xor si,si ; Zero register 273F:33D7 BA 0003 mov dx,3 ; First three lines 273F:33DA loc_676: 273F:33DA A5 movsw ; Mov [si] to es:[di] 273F:33DB AC lodsb ; String [si] to al 273F:33DC B9 007B mov cx,7Bh 273F:33DF F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:33E1 A5 movsw ; Mov [si] to es:[di] 273F:33E2 A4 movsb ; Mov [si] to es:[di] 273F:33E3 83 EA 01 sub dx,1 273F:33E6 75 F2 jnz loc_676 ; Jump if not zero 273F:33E8 loc_677: ; xref 273F:33F7 273F:33E8 56 push si 273F:33E9 A5 movsw ; Mov [si] to es:[di] 273F:33EA A4 movsb ; Mov [si] to es:[di] 273F:33EB AC lodsb ; String [si] to al 273F:33EC B9 007A mov cx,7Ah 273F:33EF F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:33F1 A5 movsw ; Mov [si] to es:[di] 273F:33F2 A4 movsb ; Mov [si] to es:[di] 273F:33F3 5E pop si 273F:33F4 83 ED 01 sub bp,1 273F:33F7 75 EF jnz loc_677 ; Jump if not zero 273F:33F9 83 C6 07 add si,7 273F:33FC BA 0003 mov dx,3 273F:33FF loc_678: ; xref 273F:340B 273F:33FF A5 movsw ; Mov [si] to es:[di] 273F:3400 A4 movsb ; Mov [si] to es:[di] 273F:3401 AC lodsb ; String [si] to al 273F:3402 B9 007B mov cx,7Bh 273F:3405 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:3407 A5 movsw ; Mov [si] to es:[di] 273F:3408 83 EA 01 sub dx,1 273F:340B 75 F2 jnz loc_678 ; Jump if not zero 273F:340D 1F pop ds 273F:340E C3 retn vga_draw_talk_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_show_compressed_screen proc near 273F:340F úBB 07DC mov bx, offset display_mask 273F:3412 A1 4CE4 mov ax, data_segment2 273F:3415 8E C0 mov es,ax 273F:3417 úBF 0A00 mov di,data_1463e ; (FF12:0A00=0) 273F:341A 8B 16 4CE0 mov dx, current_room_segment 273F:341E 33 F6 xor si,si ; Zero register 273F:3420 B5 06 mov ch,6 273F:3422 loc_679: ; xref 273F:3465 273F:3422 B1 0A mov cl, NUM_HORIZ_RECTS 273F:3424 loc_680: ; Screen horizontal loop 273F:3424 F6 07 80 test byte ptr [bx],80h ; Does rect need displaying? 273F:3427 74 23 jz loc_683 ; If not then skip 273F:3429 80 27 7F and byte ptr [bx],7Fh ; Clear displayed bit 273F:342C 80 0F 01 or byte ptr [bx],1 273F:342F 57 push di 273F:3430 56 push si 273F:3431 1E push ds 273F:3432 8E DA mov ds,dx 273F:3434 B6 20 mov dh, RECT_SIZE 273F:3436 loc_681: ; Vertical loop 273F:3436 B2 10 mov dl, RECT_SIZE/2 273F:3438 loc_682: ; Horizontal loop 273F:3438 A5 movsw ; Mov [si] to es:[di] 273F:3439 80 EA 01 sub dl,1 273F:343C 75 FA jnz loc_682 ; End of horizontal loop 273F:343E 81 C7 0120 add di, SCREEN_WIDTH-RECT_SIZE 273F:3442 80 EE 01 sub dh,1 273F:3445 75 EF jnz loc_681 ; End of vertical loop 273F:3447 8C DA mov dx,ds 273F:3449 1F pop ds 273F:344A 5E pop si 273F:344B 5F pop di 273F:344C loc_683: ; xref 273F:3427 273F:344C 83 C3 01 add bx,1 273F:344F 83 C7 20 add di, RECT_SIZE ; Next horizontal rect 273F:3452 81 C6 0400 add si, RECT_SIZE*RECT_SIZE ; Move to data for next src rect 273F:3456 80 E9 01 sub cl,1 273F:3459 75 C9 jnz loc_680 ; Jump if not zero 273F:345B 83 C3 08 add bx,8 273F:345E ú81 C7 26C0 add di,26C0h ; (273F:26C0=0EDh) 273F:3462 80 ED 01 sub ch,1 273F:3465 75 BB jnz loc_679 ; Jump if not zero 273F:3467 80 0E 11D0 30 or menubar_state, 30h ; (273F:11D0=56h) '0' 273F:346C C3 retn vga_show_compressed_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:346D úBE 0992 mov si, offset rects_layer_0 273F:3470 83 C6 4C add si,4Ch 273F:3473 C7 06 0DA6 0D92 mov rect_x_start, room_layers 273F:3479 C7 06 0DAA 0D96 mov num_horiz_rects, 0D96h 273F:347F B9 0003 mov cx,3 273F:3482 loc_684: ; xref 273F:3523 273F:3482 ú51 push cx 273F:3483 úBB 0100 mov bx,100h ; (273F:0100=6) 273F:3486 loc_685: ; xref 273F:3509 273F:3486 ú51 push cx 273F:3487 56 push si 273F:3488 8B 3E 0DA6 mov di, rect_x_start 273F:348C 8B 05 mov ax,[di] 273F:348E 8E C0 mov es,ax 273F:3490 8B 45 02 mov ax,[di+2] 273F:3493 A3 0DA8 mov rect_y_end, ax 273F:3496 8B 3E 0DAA mov di, num_horiz_rects 273F:349A 8B 05 mov ax,[di] 273F:349C 8B D0 mov dx,ax 273F:349E 8B 45 02 mov ax,[di+2] 273F:34A1 A3 0DAC mov word ptr ds:[0DACh],ax ; (273F:0DAC=0EB09h) 273F:34A4 B5 06 mov ch,6 273F:34A6 loc_686: ; xref 273F:34F8 273F:34A6 B1 0A mov cl,0Ah 273F:34A8 loc_687: ; xref 273F:34F0 273F:34A8 F6 04 80 test byte ptr [si],80h 273F:34AB 75 3D jnz loc_690 ; Jump if not zero 273F:34AD F6 00 80 test byte ptr [bx+si],80h 273F:34B0 75 38 jnz loc_690 ; Jump if not zero 273F:34B2 56 push si 273F:34B3 52 push dx 273F:34B4 8A 04 mov al,[si] 273F:34B6 32 E4 xor ah,ah ; Zero register 273F:34B8 F7 26 0DA8 mul rect_y_end 273F:34BC 8B F8 mov di,ax 273F:34BE 8A 00 mov al,[bx+si] 273F:34C0 32 E4 xor ah,ah ; Zero register 273F:34C2 F7 26 0DAC mul word ptr ds:[0DACh] ; (273F:0DAC=0EB09h) dx:ax = data * ax 273F:34C6 8B F0 mov si,ax 273F:34C8 5A pop dx 273F:34C9 1E push ds 273F:34CA 51 push cx 273F:34CB 53 push bx 273F:34CC 8E DA mov ds,dx 273F:34CE B9 0400 mov cx,400h 273F:34D1 8B DE mov bx,si 273F:34D3 81 C3 0200 add bx,200h 273F:34D7 locloop_688: ; xref 273F:34E2 273F:34D7 AC lodsb ; String [si] to al 273F:34D8 0A C0 or al,al ; Zero ? 273F:34DA 74 03 jz loc_689 ; Jump if zero 273F:34DC 26: 88 05 mov es:[di],al 273F:34DF loc_689: ; xref 273F:34DA 273F:34DF 83 C7 01 add di,1 273F:34E2 E2 F3 loop locloop_688 ; Loop if cx > 0 273F:34E4 5B pop bx 273F:34E5 59 pop cx 273F:34E6 8C DA mov dx,ds 273F:34E8 1F pop ds 273F:34E9 5E pop si 273F:34EA loc_690: ; xref 273F:34AB, 34B0 273F:34EA 83 C6 01 add si,1 273F:34ED 80 E9 01 sub cl,1 273F:34F0 75 B6 jnz loc_687 ; Jump if not zero 273F:34F2 83 C6 08 add si,8 273F:34F5 80 ED 01 sub ch,1 273F:34F8 75 AC jnz loc_686 ; Jump if not zero 273F:34FA 83 06 0DAA 04 add num_horiz_rects, 4 273F:34FF 81 C3 0100 add bx,100h 273F:3503 5E pop si 273F:3504 59 pop cx 273F:3505 E2 02 loop locloop_691 ; Loop if cx > 0 273F:3507 EB 03 jmp short loc_692 ; (350C) 273F:3509 locloop_691: ; xref 273F:3505 273F:3509 E9 FF7A jmp loc_685 ; (3486) 273F:350C loc_692: ; xref 273F:3507 273F:350C 59 pop cx 273F:350D E2 02 loop locloop_693 ; Loop if cx > 0 273F:350F EB 15 jmp short loc_ret_694 ; (3526) 273F:3511 locloop_693: ; xref 273F:350D 273F:3511 81 C6 0100 add si,100h 273F:3515 83 06 0DA6 04 add rect_x_start, 4 273F:351A A1 0DA6 mov ax, rect_x_start 273F:351D 05 0004 add ax,4 273F:3520 A3 0DAA mov num_horiz_rects, ax 273F:3523 E9 FF5C jmp loc_684 ; (3482) 273F:3526 loc_ret_694: ; xref 273F:350F 273F:3526 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; es:di = pointer to decoded screen ; bx = buffer to store status of each screen rectangle ; cl = layer number (0 to 3) ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_segment_screen proc near 273F:3527 88 0E 0DA5 mov current_layer, cl 273F:352B C6 06 0DA4 00 mov num_occupied_rects, 0 273F:3530 C7 06 0DA2 0400 mov rectangle_size, RECTANGLE_SIZE 273F:3536 33 F6 xor si, si ; Zero register 273F:3538 B5 06 mov ch, NUM_VERT_RECTS 273F:353A loc_695: 273F:353A B1 0A mov cl, NUM_HORIZ_RECTS 273F:353C loc_696: 273F:353C 1E push ds 273F:353D 51 push cx 273F:353E 56 push si 273F:353F 57 push di 273F:3540 A1 4CE4 mov ax, data_segment2 273F:3543 8E D8 mov ds,ax 273F:3545 E8 003A call copy_rectangle 273F:3548 5F pop di 273F:3549 5E pop si 273F:354A 59 pop cx 273F:354B 1F pop ds 273F:354C F6 06 0DA5 FF test current_layer, 0FFh ; Background layer? 273F:3551 74 09 jz loc_697 ; If yes, ignore empty check 273F:3553 0B D2 or dx,dx ; Was rectangle non-empty? 273F:3555 75 05 jnz loc_697 ; If yes, then jump 273F:3557 C6 07 FF mov byte ptr [bx], 0FFh ; Flag rect as empty 273F:355A EB 0E jmp short loc_698 273F:355C loc_697: 273F:355C 03 3E 0DA2 add di, rectangle_size 273F:3560 A0 0DA4 mov al, num_occupied_rects 273F:3563 88 07 mov [bx], al 273F:3565 80 06 0DA4 01 add num_occupied_rects, 1 273F:356A loc_698: ; xref 273F:355A 273F:356A 83 C6 20 add si, RECT_SIZE ; Move to next src rect 273F:356D 83 C3 01 add bx, 1 273F:3570 80 E9 01 sub cl, 1 273F:3573 75 C7 jnz loc_696 ; Loop for horiz rects 273F:3575 ú81 C6 26C0 add si, (RECT_SIZE-1) * SCREEN_WIDTH 273F:3579 83 C3 08 add bx, 8 273F:357C 80 ED 01 sub ch, 1 273F:357F 75 B9 jnz loc_695 ; Loop for vert rects 273F:3581 C3 retn vga_segment_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3545 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3582 copy_rectangle proc near 273F:3582 33 D2 xor dx,dx ; Zero register 273F:3584 B9 0020 mov cx, 32 273F:3587 locloop_699: ; xref 273F:3596 273F:3587 51 push cx 273F:3588 B9 0010 mov cx, 32/2 273F:358B locloop_700: ; Horizontal loop 273F:358B AD lodsw 273F:358C 0B D0 or dx, ax 273F:358E AB stosw ; Store ax to es:[di] 273F:358F E2 FA loop locloop_700 ; Loop if cx > 0 273F:3591 81 C6 0120 add si, 320 - 32 ; Move to next line 273F:3595 59 pop cx 273F:3596 E2 EF loop locloop_699 ; Vertical loop 273F:3598 C3 retn copy_rectangle endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; ax = Y rect, dx = x rect, bp = current layer num ; bx = rect mapping index ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_add_rect proc near 273F:3599 8B CD mov cx, bp 273F:359B locloop_701: ; xref 273F:35A7 273F:359B 80 39 FE cmp byte ptr [bx+di],0FEh 273F:359E 72 0A jb loc_702 ; Jump if below 273F:35A0 ú81 C7 0100 add di, 100h 273F:35A4 83 C6 04 add si, 4 273F:35A7 E2 F2 loop locloop_701 ; Loop if cx > 0 273F:35A9 C3 retn 273F:35AA loc_702: ; xref 273F:359E 273F:35AA 1E push ds 273F:35AB 52 push dx 273F:35AC 8B D0 mov dx, ax ; dx = y rect 273F:35AE D1 E0 shl ax, 1 ; ax=y*2 273F:35B0 D1 E0 shl ax, 1 ; ax=y*4 273F:35B2 03 D0 add dx, ax ; dx=y*5 273F:35B4 B1 0B mov cl, 11 273F:35B6 D3 E2 shl dx,cl ; dx=y*(32*320) 273F:35B8 81 C2 0A00 add dx, MENUBAR_BLOCK_SIZE ; dx =Y start on screen 273F:35BC 58 pop ax ; ax = x rect 273F:35BD B1 05 mov cl,5 273F:35BF D3 E0 shl ax,cl ; ax=x*32 273F:35C1 03 D0 add dx,ax ; dx=start pos on screen 273F:35C3 8A 01 mov al, [bx+di] ; get cell status 273F:35C5 8B 1E 4CE4 mov bx, data_segment2 273F:35C9 8E C3 mov es,bx 273F:35CB 8B 1C mov bx, [si] ; Get segment for layer to use 273F:35CD 8E DB mov ds, bx ; ds = source data 273F:35CF 8B FA mov di, dx ; es:di = destination 273F:35D1 32 E4 xor ah, ah 273F:35D3 B1 0A mov cl, 10 273F:35D5 D3 E0 shl ax, cl ; ax=cell status*1024 273F:35D7 8B F0 mov si, ax 273F:35D9 B9 0020 mov cx, 32 ; Number of rows 273F:35DC locloop_703: ; xref 273F:35F2 273F:35DC 51 push cx 273F:35DD B9 0020 mov cx, 32 ; Set pixel width 273F:35E0 locloop_704: 273F:35E0 AC lodsb ; Get next pixel 273F:35E1 0A C0 or al,al ; Zero (transparent)? 273F:35E3 74 03 jz loc_705 ; If yes, then skip 273F:35E5 26: 88 05 mov es:[di],al ; Store pixel 273F:35E8 loc_705: 273F:35E8 83 C7 01 add di,1 ; Move to next dest pos 273F:35EB E2 F3 loop locloop_704 273F:35ED ú81 C7 0120 add di, 320 - 32 ; Move to next line of rect 273F:35F1 59 pop cx 273F:35F2 E2 E8 loop locloop_703 ; Loop remaining lines 273F:35F4 1F pop ds 273F:35F5 C3 retn vga_add_rect endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_display_character proc near 273F:35F6 57 push di 273F:35F7 1E push ds 273F:35F8 53 push bx 273F:35F9 51 push cx 273F:35FA 56 push si 273F:35FB 8E DD mov ds,bp 273F:35FD 2C 20 sub al,20h ; ' ' 273F:35FF 32 E4 xor ah,ah ; Zero register 273F:3601 B1 03 mov cl,3 273F:3603 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:3605 8B F0 mov si,ax 273F:3607 B3 08 mov bl,8 ; Number of rows 273F:3609 loc_706: 273F:3609 B9 0008 mov cx,8 273F:360C AC lodsb ; String [si] to al 273F:360D locloop_707: ; xref 273F:361C 273F:360D D0 E0 shl al,1 ; Shift w/zeros fill 273F:360F 72 05 jc loc_708 ; Jump if carry Set 273F:3611 26: 88 15 mov es:[di],dl 273F:3614 EB 03 jmp short loc_709 ; (3619) 273F:3616 loc_708: ; xref 273F:360F 273F:3616 26: 88 35 mov es:[di],dh 273F:3619 loc_709: ; xref 273F:3614 273F:3619 83 C7 01 add di,1 273F:361C E2 EF loop locloop_707 ; Loop if cx > 0 273F:361E ú81 C7 0138 add di,data_1445e ; (A000:0138=0) 273F:3622 80 EB 01 sub bl,1 273F:3625 75 E2 jnz loc_706 ; Jump if not zero 273F:3627 5E pop si 273F:3628 59 pop cx 273F:3629 5B pop bx 273F:362A 1F pop ds 273F:362B 5F pop di 273F:362C C3 retn vga_display_character endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_menu_items proc near 273F:362D B8 A000 mov ax, VGA_SEGMENT 273F:3630 8E C0 mov es,ax 273F:3632 B1 03 mov cl,3 273F:3634 BA 0048 mov dx,48h 273F:3637 8A 1E 334E mov bl,byte ptr ds:[334Eh] ; (273F:334E=0E4h) 273F:363B 32 FF xor bh,bh ; Zero register 273F:363D D3 E3 shl bx,cl ; Shift w/zeros fill 273F:363F 1E push ds 273F:3640 8B 36 335A mov si,word ptr ds:[335Ah] ; (273F:335A=0ACA4h) 273F:3644 8B FE mov di,si 273F:3646 A1 3376 mov ax,data_265 ; (273F:3376=0F632h) 273F:3649 8E D8 mov ds,ax 273F:364B loc_710: ; xref 273F:365A 273F:364B 56 push si 273F:364C 8B CB mov cx,bx 273F:364E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3650 5E pop si 273F:3651 81 C6 0140 add si,140h 273F:3655 8B FE mov di,si 273F:3657 83 EA 01 sub dx,1 273F:365A 75 EF jnz loc_710 ; Jump if not zero 273F:365C 1F pop ds 273F:365D loc_ret_711: ; xref 273F:366F 273F:365D C3 retn 273F:365E loc_712: ; xref 273F:36AD 273F:365E 80 26 11D0 FB and menubar_state, 0FBh ; (273F:11D0=56h) 273F:3663 C3 retn vga_menu_items endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [show_cursor_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_cursor proc near 273F:3664 C7 06 F010 0000 mov timer_ticks, 0 273F:366A F6 06 11D0 04 test menubar_state, 4 ; (273F:11D0=56h) 273F:366F 75 EC jnz loc_ret_711 ; Jump if not zero 273F:3671 80 0E 11D0 04 or menubar_state, 4 ; (273F:11D0=56h) 273F:3676 8B 3E 11E8 mov di,word ptr ds:[11E8h] ; (273F:11E8=14B9h) 273F:367A úBE 11EE mov si, offset data_641 273F:367D 8B 1E 11EA mov bx,word ptr ds:[11EAh] ; (273F:11EA=8B00h) 273F:3681 8B 16 11EC mov dx,word ptr ds:[11ECh] ; (273F:11EC=1B55h) 273F:3685 0B D2 or dx,dx ; Zero ? 273F:3687 74 1F jz loc_714 ; Jump if zero 273F:3689 B8 A000 mov ax, VGA_SEGMENT 273F:368C 8E C0 mov es,ax 273F:368E loc_713: ; xref 273F:36A0 273F:368E 56 push si 273F:368F 57 push di 273F:3690 8B CB mov cx,bx 273F:3692 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3694 5F pop di 273F:3695 5E pop si 273F:3696 83 C6 10 add si,10h 273F:3699 81 C7 0140 add di,140h 273F:369D 83 EA 01 sub dx,1 273F:36A0 75 EC jnz loc_713 ; Jump if not zero 273F:36A2 C7 06 11EC 0000 mov word ptr ds:[11ECh],0 ; (273F:11EC=1B55h) 273F:36A8 loc_714: ; xref 273F:3687 273F:36A8 F6 06 11D0 01 test menubar_state, 1 ; (273F:11D0=56h) 273F:36AD 75 AF jnz loc_712 ; Jump if not zero 273F:36AF A1 11D8 mov ax, mouse_y2 273F:36B2 2B 06 11DF sub ax, cursor_centroid 273F:36B6 73 02 jnc loc_715 ; Jump if carry=0 273F:36B8 33 C0 xor ax,ax ; Zero register 273F:36BA loc_715: ; xref 273F:36B6 273F:36BA BA 00C8 mov dx,0C8h 273F:36BD 2B D0 sub dx,ax 273F:36BF 83 FA 11 cmp dx,11h 273F:36C2 72 03 jb loc_716 ; Jump if below 273F:36C4 BA 0010 mov dx,10h 273F:36C7 loc_716: ; xref 273F:36C2 273F:36C7 89 16 11EC mov word ptr ds:[11ECh],dx ; (273F:11EC=1B55h) 273F:36CB 8B 36 11D6 mov si, mouse_x2 273F:36CF 2B 36 11DF sub si, cursor_centroid 273F:36D3 73 02 jnc loc_717 ; Jump if carry=0 273F:36D5 33 F6 xor si,si ; Zero register 273F:36D7 loc_717: ; xref 273F:36D3 273F:36D7 BD 0140 mov bp,140h 273F:36DA 2B EE sub bp,si 273F:36DC 83 FD 11 cmp bp,11h 273F:36DF 72 03 jb loc_718 ; Jump if below 273F:36E1 BD 0010 mov bp,10h 273F:36E4 loc_718: ; xref 273F:36DF 273F:36E4 89 2E 11EA mov word ptr ds:[11EAh],bp ; (273F:11EA=8B00h) 273F:36E8 8B C8 mov cx,ax 273F:36EA D1 E0 shl ax,1 ; Shift w/zeros fill 273F:36EC D1 E0 shl ax,1 ; Shift w/zeros fill 273F:36EE 03 C1 add ax,cx 273F:36F0 B1 06 mov cl,6 273F:36F2 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:36F4 03 F0 add si,ax 273F:36F6 89 36 11E8 mov word ptr ds:[11E8h],si ; (273F:11E8=14B9h) 273F:36FA 1E push ds 273F:36FB FF 36 4CF4 push cursors_segment 273F:36FF FF 36 11E1 push cursor_index 273F:3703 1E push ds 273F:3704 07 pop es 273F:3705 B8 A000 mov ax, VGA_SEGMENT 273F:3708 8E D8 mov ds,ax 273F:370A úBF 11EE mov di, offset data_641 273F:370D 56 push si 273F:370E 52 push dx 273F:370F loc_719: ; xref 273F:3721 273F:370F 56 push si 273F:3710 57 push di 273F:3711 8B CD mov cx,bp 273F:3713 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3715 5F pop di 273F:3716 5E pop si 273F:3717 ú81 C6 0140 add si,data_1451e ; (B2DE:0140=0) 273F:371B 83 C7 10 add di,10h 273F:371E 83 EA 01 sub dx,1 273F:3721 75 EC jnz loc_719 ; Jump if not zero 273F:3723 1E push ds 273F:3724 07 pop es 273F:3725 5A pop dx 273F:3726 5F pop di 273F:3727 58 pop ax 273F:3728 86 E0 xchg ah,al 273F:372A 8B F0 mov si,ax 273F:372C 1F pop ds 273F:372D loc_720: ; xref 273F:374A 273F:372D 56 push si 273F:372E 57 push di 273F:372F 8B CD mov cx,bp 273F:3731 locloop_721: ; xref 273F:373C 273F:3731 AC lodsb ; String [si] to al 273F:3732 0A C0 or al,al ; Zero ? 273F:3734 74 03 jz loc_722 ; Jump if zero 273F:3736 26: 88 05 mov es:[di],al 273F:3739 loc_722: ; xref 273F:3734 273F:3739 83 C7 01 add di,1 273F:373C E2 F3 loop locloop_721 ; Loop if cx > 0 273F:373E 5F pop di 273F:373F 5E pop si 273F:3740 83 C6 10 add si,10h 273F:3743 81 C7 0140 add di,140h 273F:3747 83 EA 01 sub dx,1 273F:374A 75 E1 jnz loc_720 ; Jump if not zero 273F:374C 1F pop ds 273F:374D 80 26 11D0 FB and menubar_state, 0FBh ; (273F:11D0=56h) 273F:3752 loc_ret_723: ; xref 273F:3758 273F:3752 C3 retn vga_cursor endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sub_unknown_1 proc near 273F:3753 F6 06 11D0 01 test menubar_state, 1 273F:3758 75 F8 jnz loc_ret_723 273F:375A 1E push ds 273F:375B 8B 36 11E8 mov si,word ptr ds:[11E8h] 273F:375F 8B 1E 11EA mov bx,word ptr ds:[11EAh] 273F:3763 8B 16 11EC mov dx,word ptr ds:[11ECh] 273F:3767 0B D2 or dx,dx 273F:3769 74 51 jz loc_728 273F:376B FF 36 4CF4 push cursors_segment 273F:376F FF 36 11E1 push cursor_index 273F:3773 52 push dx 273F:3774 56 push si 273F:3775 1E push ds 273F:3776 07 pop es 273F:3777 A1 4CE4 mov ax, data_segment2 273F:377A 8E D8 mov ds,ax 273F:377C úBF 11EE mov di,11EEh 273F:377F loc_724: 273F:377F 56 push si 273F:3780 57 push di 273F:3781 8B CB mov cx,bx 273F:3783 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3785 5F pop di 273F:3786 5E pop si 273F:3787 83 C7 10 add di,10h 273F:378A ú81 C6 0140 add si,data_1451e ; (B2DE:0140=0) 273F:378E 83 EA 01 sub dx,1 273F:3791 75 EC jnz loc_724 ; Jump if not zero 273F:3793 1E push ds 273F:3794 07 pop es 273F:3795 5F pop di 273F:3796 5A pop dx 273F:3797 58 pop ax 273F:3798 86 E0 xchg ah,al 273F:379A 8B F0 mov si,ax 273F:379C 1F pop ds 273F:379D loc_725: ; xref 273F:37BA 273F:379D 57 push di 273F:379E 56 push si 273F:379F 8B CB mov cx,bx 273F:37A1 locloop_726: ; xref 273F:37AC 273F:37A1 AC lodsb ; String [si] to al 273F:37A2 0A C0 or al,al ; Zero ? 273F:37A4 74 03 jz loc_727 ; Jump if zero 273F:37A6 26: 88 05 mov es:[di],al 273F:37A9 loc_727: ; xref 273F:37A4 273F:37A9 83 C7 01 add di,1 273F:37AC E2 F3 loop locloop_726 ; Loop if cx > 0 273F:37AE 5E pop si 273F:37AF 5F pop di 273F:37B0 83 C6 10 add si,10h 273F:37B3 ú81 C7 0140 add di, SCREEN_WIDTH 273F:37B7 83 EA 01 sub dx,1 273F:37BA 75 E1 jnz loc_725 ; Jump if not zero 273F:37BC loc_728: ; xref 273F:3769 273F:37BC 1F pop ds 273F:37BD C3 retn sub_unknown_1 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:30B7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:37BE sub_73 proc near 273F:37BE F6 06 11D0 01 test menubar_state, 1 ; (273F:11D0=56h) 273F:37C3 75 2C jnz loc_ret_730 ; Jump if not zero 273F:37C5 A1 4CE4 mov ax, data_segment2 273F:37C8 8E C0 mov es,ax 273F:37CA 8B 3E 11E8 mov di,word ptr ds:[11E8h] ; (273F:11E8=14B9h) 273F:37CE 8B 1E 11EA mov bx,word ptr ds:[11EAh] ; (273F:11EA=8B00h) 273F:37D2 8B 16 11EC mov dx,word ptr ds:[11ECh] ; (273F:11EC=1B55h) 273F:37D6 0B D2 or dx,dx ; Zero ? 273F:37D8 74 17 jz loc_ret_730 ; Jump if zero 273F:37DA úBE 11EE mov si,11EEh ; (273F:11EE=3Bh) 273F:37DD loc_729: ; xref 273F:37EF 273F:37DD 57 push di 273F:37DE 56 push si 273F:37DF 8B CB mov cx,bx 273F:37E1 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:37E3 5E pop si 273F:37E4 5F pop di 273F:37E5 81 C7 0140 add di,140h 273F:37E9 83 C6 10 add si,10h 273F:37EC 83 EA 01 sub dx,1 273F:37EF 75 EC jnz loc_729 ; Jump if not zero 273F:37F1 loc_ret_730: ; xref 273F:37C3, 37D8 273F:37F1 C3 retn sub_73 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_add_animation proc near 273F:37F2 2E: C7 06 1500 0000 mov word ptr cs:data_215,0 ; (273F:1500=0) 273F:37F9 C6 06 11B0 00 mov data_11b0, 0 273F:37FE 8A 6F 06 mov ch, [bx+ANIM_HEIGHT] ; Get height 273F:3801 8A 4F 04 mov cl, [bx+ANIM_WIDTH] ; Get width 273F:3804 8B 47 02 mov ax, [bx+ANIM_Y] ; Get Y position 273F:3807 2D 0088 sub ax, 88h 273F:380A 73 16 jnc loc_731 273F:380C 8B D0 mov dx, ax ; Top clipping 273F:380E 02 D5 add dl, ch 273F:3810 73 15 jnc loc_ret_732 ; Jump if carry=0 273F:3812 74 13 jz loc_ret_732 ; Jump if zero 273F:3814 F7 D8 neg ax 273F:3816 2A E8 sub ch, al 273F:3818 F6 E1 mul cl ; ax = reg * al 273F:381A D1 E8 shr ax, 1 273F:381C 03 F0 add si, ax 273F:381E 33 C0 xor ax, ax ; Zero register 273F:3820 EB 13 jmp short loc_734 273F:3822 loc_731: ; xref 273F:380A 273F:3822 3D 00C0 cmp ax, 192 ; Below bottom row? 273F:3825 72 01 jb loc_733 273F:3827 loc_ret_732: ; xref 273F:3810, 3812 273F:3827 C3 retn 273F:3828 loc_733: 273F:3828 8B D0 mov dx, ax ; Get start row 273F:382A 03 57 06 add dx, [bx+ANIM_HEIGHT] ; Add number of rows 273F:382D 81 EA 00C0 sub dx, 192 ; Bottom row > 192? 273F:3831 76 02 jbe loc_734 273F:3833 2A EA sub ch, dl ; Yes, reduce height to fit 273F:3835 loc_734: 273F:3835 51 push cx 273F:3836 8B D0 mov dx, ax ; ax = line number, and 273F:3838 D1 E0 shl ax, 1 ; will be * 320 273F:383A D1 E0 shl ax, 1 273F:383C 03 D0 add dx, ax 273F:383E B1 06 mov cl, 6 273F:3840 D3 E2 shl dx, cl 273F:3842 8B FA mov di, dx ; di = start of line 273F:3844 ú81 C7 0A00 add di, MENUBAR_BLOCK_SIZE ; Compensate for menubar 273F:3848 59 pop cx 273F:3849 8B 07 mov ax, [bx+ANIM_X] ; Get start X position 273F:384B 2D 0080 sub ax, 80h 273F:384E 73 21 jnc loc_736 ; Completely on-screen 273F:3850 8B D0 mov dx, ax 273F:3852 02 D1 add dl, cl 273F:3854 72 01 jc loc_735 ; Jump if carry Set 273F:3856 C3 retn 273F:3857 loc_735: ; xref 273F:3854 273F:3857 F7 D0 not ax 273F:3859 2A C8 sub cl, al 273F:385B 2E: A3 1500 mov word ptr cs:data_215, ax 273F:385F C6 06 11B0 01 mov data_11b0, 1 273F:3864 8B 47 04 mov ax, [bx+ANIM_WIDTH] 273F:3867 D1 E8 shr ax, 1 273F:3869 2E: A3 1505 mov cs:data_218, ax 273F:386D 33 C0 xor ax, ax ; Zero register 273F:386F EB 22 jmp short loc_738 ; (3893) 273F:3871 loc_736: ; xref 273F:384E 273F:3871 3D 0140 cmp ax, SCREEN_WIDTH 273F:3874 72 01 jb loc_737 ; Jump if below 273F:3876 C3 retn 273F:3877 loc_737: ; xref 273F:3874 273F:3877 8B D0 mov dx, ax 273F:3879 03 57 04 add dx, [bx+ANIM_WIDTH] 273F:387C 81 EA 0140 sub dx, SCREEN_WIDTH 273F:3880 76 11 jbe loc_738 ; Jump if below or = 273F:3882 2A CA sub cl, dl 273F:3884 C6 06 11B0 01 mov data_11b0, 1 273F:3889 8B 57 04 mov dx, [bx+ANIM_WIDTH] 273F:388C D1 EA shr dx, 1 273F:388E 2E: 89 16 1505 mov cs:data_218, dx 273F:3893 loc_738: 273F:3893 03 F8 add di, ax 273F:3895 8A 5F 28 mov bl, [bx+ANIM_START_COLOUR] ; Colour offset start 273F:3898 F6 06 11B0 FF test data_11b0, 0FFh 273F:389D 75 47 jnz loc_743 ; Jump if not zero 273F:389F 1E push ds 273F:38A0 06 push es 273F:38A1 A1 4CE4 mov ax, data_segment2 273F:38A4 8E C0 mov es, ax 273F:38A6 1F pop ds 273F:38A7 8A D1 mov dl, cl 273F:38A9 8A CD mov cl, ch 273F:38AB 32 ED xor ch, ch ; Zero register 273F:38AD 32 F6 xor dh, dh ; Zero register 273F:38AF D1 EA shr dx, 1 ; Divide by 2 ; This seems to be the loop for applying an animation to the off-screen buffer ; cx = height, dx = width/2, es:di = dest, bl = starting colour offset ; ds:si = source - each byte consists of two pixels. An output pixel will ; be the starting colour offset + the nibble value of the source byte 273F:38B1 locloop_739: ; xref 273F:38E2 273F:38B1 51 push cx 273F:38B2 52 push dx 273F:38B3 B1 04 mov cl, 4 273F:38B5 57 push di 273F:38B6 loc_740: ; xref 273F:38D9 273F:38B6 AC lodsb ; String [si] to al 273F:38B7 8A E0 mov ah, al 273F:38B9 D2 EC shr ah, cl ; Shift w/zeros fill 273F:38BB 25 0F0F and ax, 0F0Fh 273F:38BE 0A E4 or ah,ah ; Zero ? 273F:38C0 74 05 jz loc_741 ; Jump if zero 273F:38C2 02 E3 add ah,bl 273F:38C4 26: 88 25 mov es:[di],ah 273F:38C7 loc_741: ; xref 273F:38C0 273F:38C7 83 C7 01 add di, 1 273F:38CA 0A C0 or al, al ; Zero ? 273F:38CC 74 05 jz loc_742 ; Jump if zero 273F:38CE 02 C3 add al, bl 273F:38D0 26: 88 05 mov es:[di], al 273F:38D3 loc_742: ; xref 273F:38CC 273F:38D3 83 C7 01 add di,1 273F:38D6 83 EA 01 sub dx,1 273F:38D9 75 DB jnz loc_740 ; Jump if not zero 273F:38DB 5F pop di 273F:38DC ú81 C7 0140 add di, SCREEN_WIDTH 273F:38E0 5A pop dx 273F:38E1 59 pop cx 273F:38E2 E2 CD loop locloop_739 ; Loop if cx > 0 273F:38E4 1F pop ds 273F:38E5 C3 retn 273F:38E6 loc_743: ; xref 273F:389D 273F:38E6 1E push ds 273F:38E7 06 push es 273F:38E8 A1 4CE4 mov ax, data_segment2 273F:38EB 8E C0 mov es, ax 273F:38ED 1F pop ds 273F:38EE 8A D1 mov dl, cl 273F:38F0 8A CD mov cl, ch 273F:38F2 32 ED xor ch, ch ; Zero register 273F:38F4 32 F6 xor dh, dh ; Zero register 273F:38F6 locloop_744: ; xref 273F:3944 273F:38F6 51 push cx 273F:38F7 8B CA mov cx,dx 273F:38F9 57 push di 273F:38FA 56 push si 273F:38FB 2E: A1 1500 mov ax,word ptr cs:data_215 ; (273F:1500=0) 273F:38FF D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3901 9C pushf ; Push flags 273F:3902 03 F0 add si,ax 273F:3904 9D popf ; Pop flags 273F:3905 73 05 jnc locloop_745 ; Jump if carry=0 273F:3907 AC lodsb ; String [si] to al 273F:3908 24 0F and al,0Fh 273F:390A EB 1E jmp short locloop_747 ; (392A) 273F:390C locloop_745: ; xref 273F:3905, 3936 273F:390C AC lodsb ; String [si] to al 273F:390D 8A E0 mov ah,al 273F:390F D0 EC shr ah,1 ; Shift w/zeros fill 273F:3911 D0 EC shr ah,1 ; Shift w/zeros fill 273F:3913 D0 EC shr ah,1 ; Shift w/zeros fill 273F:3915 D0 EC shr ah,1 ; Shift w/zeros fill 273F:3917 25 0F0F and ax,0F0Fh 273F:391A 0A E4 or ah,ah ; Zero ? 273F:391C 74 05 jz loc_746 ; Jump if zero 273F:391E 02 E3 add ah,bl 273F:3920 26: 88 25 mov es:[di],ah 273F:3923 loc_746: ; xref 273F:391C 273F:3923 83 C7 01 add di,1 273F:3926 E2 02 loop locloop_747 ; Loop if cx > 0 273F:3928 EB 0E jmp short loc_749 ; (3938) 273F:392A locloop_747: ; xref 273F:390A, 3926 273F:392A 0A C0 or al,al ; Zero ? 273F:392C 74 05 jz loc_748 ; Jump if zero 273F:392E 02 C3 add al,bl 273F:3930 26: 88 05 mov es:[di],al 273F:3933 loc_748: ; xref 273F:392C 273F:3933 83 C7 01 add di,1 273F:3936 E2 D4 loop locloop_745 ; Loop if cx > 0 273F:3938 loc_749: ; xref 273F:3928 273F:3938 5E pop si 273F:3939 2E: 03 36 1505 add si,cs:data_218 ; (273F:1505=0) 273F:393E 5F pop di 273F:393F ú81 C7 0140 add di, SCREEN_WIDTH 273F:3943 59 pop cx 273F:3944 E2 B0 loop locloop_744 ; Loop if cx > 0 273F:3946 1F pop ds 273F:3947 C3 retn vga_add_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:3948 A1 4CE4 mov ax, data_segment2 273F:394B 8E C0 mov es,ax 273F:394D B2 08 mov dl,8 273F:394F loc_750: ; xref 273F:396C 273F:394F 57 push di 273F:3950 8B CB mov cx,bx 273F:3952 locloop_751: ; xref 273F:3963 273F:3952 26: 80 3D E2 cmp byte ptr es:[di],0E2h 273F:3956 74 06 je loc_752 ; Jump if equal 273F:3958 26: 80 3D FF cmp byte ptr es:[di],0FFh 273F:395C 75 04 jne loc_753 ; Jump if not equal 273F:395E loc_752: ; xref 273F:3956 273F:395E 26: 80 35 1D xor byte ptr es:[di],1Dh 273F:3962 loc_753: ; xref 273F:395C 273F:3962 47 inc di 273F:3963 E2 ED loop locloop_751 ; Loop if cx > 0 273F:3965 5F pop di 273F:3966 ú81 C7 0140 add di,data_1446e ; (A000:0140=0) 273F:396A FE CA dec dl 273F:396C 75 E1 jnz loc_750 ; Jump if not zero 273F:396E C3 retn vga_add_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ menubar_copy_to_screen proc near 273F:396F B8 A000 mov ax, VGA_SEGMENT 273F:3972 8E C0 mov es,ax 273F:3974 1E push ds 273F:3975 A1 4CE4 mov ax, data_segment2 273F:3978 8E D8 mov ds,ax 273F:397A B9 0500 mov cx, MENUBAR_BLOCK_SIZE/2 ; 500h words 500h 273F:397D 33 F6 xor si,si ; Zero register 273F:397F 33 FF xor di,di ; Zero register 273F:3981 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:3983 1F pop ds 273F:3984 C6 06 4BF0 00 mov byte ptr ds:[4BF0h],0 ; (273F:4BF0=3) 273F:3989 C3 retn menubar_copy_to_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0BF9, 7B99, A7CC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:398A decode_file_entry proc near 273F:398A 83 C2 08 add dx,8 273F:398D 1E push ds 273F:398E 8C C3 mov bx,es 273F:3990 8E C2 mov es,dx 273F:3992 8E DA mov ds,dx 273F:3994 A1 0402 mov ax, ds:[402h] 273F:3997 B1 0C mov cl,0Ch 273F:3999 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:399B 03 D0 add dx,ax 273F:399D A1 0400 mov ax, ds:[400h] 273F:39A0 B1 04 mov cl,4 273F:39A2 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:39A4 03 D0 add dx,ax 273F:39A6 8B 36 0400 mov si, ds:[400h] 273F:39AA 83 E6 0F and si,0Fh 273F:39AD 8E DA mov ds,dx 273F:39AF 8B D3 mov dx,bx 273F:39B1 33 FF xor di,di ; Zero register 273F:39B3 úBB 0404 mov bx, ds:[404h] 273F:39B6 26: 8A 2F mov ch,es:[bx] 273F:39B9 83 C3 01 add bx,1 273F:39BC B1 09 mov cl,9 273F:39BE loc_754: ; xref 273F:3A70 273F:39BE úAC lodsb ; String [si] to al 273F:39BF 06 push es 273F:39C0 8E C2 mov es,dx 273F:39C2 AA stosb ; Store al to es:[di] 273F:39C3 07 pop es 273F:39C4 32 E4 xor ah,ah ; Zero register 273F:39C6 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:39C8 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:39CA 8B E8 mov bp,ax 273F:39CC loc_755: ; xref 273F:3A02, 3A1D, 3A9C 273F:39CC ú80 E9 01 sub cl,1 273F:39CF 75 08 jnz loc_756 ; Jump if not zero 273F:39D1 26: 8A 2F mov ch,es:[bx] 273F:39D4 B1 08 mov cl,8 273F:39D6 83 C3 01 add bx,1 273F:39D9 loc_756: ; xref 273F:39CF 273F:39D9 D0 E5 shl ch,1 ; Shift w/zeros fill 273F:39DB 72 42 jc loc_761 ; Jump if carry Set 273F:39DD 80 E9 01 sub cl,1 273F:39E0 75 08 jnz loc_757 ; Jump if not zero 273F:39E2 26: 8A 2F mov ch,es:[bx] 273F:39E5 B1 08 mov cl,8 273F:39E7 83 C3 01 add bx,1 273F:39EA loc_757: ; xref 273F:39E0 273F:39EA D0 E5 shl ch,1 ; Shift w/zeros fill 273F:39EC 72 16 jc loc_759 ; Jump if carry Set 273F:39EE 87 DD xchg bx,bp 273F:39F0 26: 8A 07 mov al,es:[bx] 273F:39F3 8B DD mov bx,bp 273F:39F5 loc_758: ; xref 273F:3A49, 3A53, 3A6E 273F:39F5 ú06 push es 273F:39F6 8E C2 mov es,dx 273F:39F8 AA stosb ; Store al to es:[di] 273F:39F9 07 pop es 273F:39FA 32 E4 xor ah,ah ; Zero register 273F:39FC D1 E0 shl ax,1 ; Shift w/zeros fill 273F:39FE D1 E0 shl ax,1 ; Shift w/zeros fill 273F:3A00 8B E8 mov bp,ax 273F:3A02 EB C8 jmp short loc_755 ; (39CC) 273F:3A04 loc_759: ; xref 273F:39EC 273F:3A04 8B C5 mov ax,bp 273F:3A06 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A08 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A0A 8A 24 mov ah,[si] 273F:3A0C 83 C6 01 add si,1 273F:3A0F 0A E4 or ah,ah ; Zero ? 273F:3A11 74 60 jz loc_768 ; Jump if zero 273F:3A13 06 push es 273F:3A14 8E C2 mov es,dx 273F:3A16 loc_760: ; xref 273F:3A1A 273F:3A16 AA stosb ; Store al to es:[di] 273F:3A17 80 EC 01 sub ah,1 273F:3A1A 75 FA jnz loc_760 ; Jump if not zero 273F:3A1C 07 pop es 273F:3A1D EB AD jmp short loc_755 ; (39CC) 273F:3A1F loc_761: ; xref 273F:39DB 273F:3A1F 80 E9 01 sub cl,1 273F:3A22 75 08 jnz loc_762 ; Jump if not zero 273F:3A24 26: 8A 2F mov ch,es:[bx] 273F:3A27 B1 08 mov cl,8 273F:3A29 83 C3 01 add bx,1 273F:3A2C loc_762: ; xref 273F:3A22 273F:3A2C D0 E5 shl ch,1 ; Shift w/zeros fill 273F:3A2E 72 25 jc loc_765 ; Jump if carry Set 273F:3A30 80 E9 01 sub cl,1 273F:3A33 75 08 jnz loc_763 ; Jump if not zero 273F:3A35 26: 8A 2F mov ch,es:[bx] 273F:3A38 B1 08 mov cl,8 273F:3A3A 83 C3 01 add bx,1 273F:3A3D loc_763: ; xref 273F:3A33 273F:3A3D D0 E5 shl ch,1 ; Shift w/zeros fill 273F:3A3F 72 0A jc loc_764 ; Jump if carry Set 273F:3A41 87 DD xchg bx,bp 273F:3A43 26: 8A 47 01 mov al,es:[bx+1] 273F:3A47 8B DD mov bx,bp 273F:3A49 EB AA jmp short loc_758 ; (39F5) 273F:3A4B loc_764: ; xref 273F:3A3F 273F:3A4B 87 DD xchg bx,bp 273F:3A4D 26: 8A 47 02 mov al,es:[bx+2] 273F:3A51 8B DD mov bx,bp 273F:3A53 EB A0 jmp short loc_758 ; (39F5) 273F:3A55 loc_765: ; xref 273F:3A2E 273F:3A55 80 E9 01 sub cl,1 273F:3A58 75 08 jnz loc_766 ; Jump if not zero 273F:3A5A 26: 8A 2F mov ch,es:[bx] 273F:3A5D B1 08 mov cl,8 273F:3A5F 83 C3 01 add bx,1 273F:3A62 loc_766: ; xref 273F:3A58 273F:3A62 D0 E5 shl ch,1 ; Shift w/zeros fill 273F:3A64 72 0A jc loc_767 ; Jump if carry Set 273F:3A66 87 DD xchg bx,bp 273F:3A68 26: 8A 47 03 mov al,es:[bx+3] 273F:3A6C 8B DD mov bx,bp 273F:3A6E EB 85 jmp short loc_758 ; (39F5) 273F:3A70 loc_767: ; xref 273F:3A64 273F:3A70 E9 FF4B jmp loc_754 ; (39BE) 273F:3A73 loc_768: ; xref 273F:3A11 273F:3A73 AC lodsb ; String [si] to al 273F:3A74 0A C0 or al,al ; Zero ? 273F:3A76 74 27 jz loc_769 ; Jump if zero 273F:3A78 8B C7 mov ax,di 273F:3A7A D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A7C D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A7E D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A80 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A82 03 D0 add dx,ax 273F:3A84 83 E7 0F and di,0Fh 273F:3A87 51 push cx 273F:3A88 8C D9 mov cx,ds 273F:3A8A 8B C6 mov ax,si 273F:3A8C D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A8E D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A90 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A92 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:3A94 03 C8 add cx,ax 273F:3A96 8E D9 mov ds,cx 273F:3A98 83 E6 0F and si,0Fh 273F:3A9B 59 pop cx 273F:3A9C E9 FF2D jmp loc_755 ; (39CC) 273F:3A9F loc_769: ; xref 273F:3A76 273F:3A9F 1F pop ds 273F:3AA0 83 C7 0F add di,0Fh 273F:3AA3 D1 EF shr di,1 ; Shift w/zeros fill 273F:3AA5 D1 EF shr di,1 ; Shift w/zeros fill 273F:3AA7 D1 EF shr di,1 ; Shift w/zeros fill 273F:3AA9 D1 EF shr di,1 ; Shift w/zeros fill 273F:3AAB 03 D7 add dx,di 273F:3AAD C3 retn decode_file_entry endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00C9, 70CA, 8FFA ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3AAE replace_vga_palette proc near 273F:3AAE 1E push ds 273F:3AAF 07 pop es 273F:3AB0 úBE 1757 mov si,offset replacement_vga_palette 273F:3AB3 úBF 15DA mov di,offset unprocessed_vga_palette2 273F:3AB6 B9 00B4 mov cx, 60*3 ; Move 60 palette entries 273F:3AB9 F3/ A4 rep movsb 273F:3ABB replace_vga_palette2: 273F:3ABB úBE 180B mov si, offset replacement_vga_ palette2 273F:3ABE úBF 16EB mov di, offset unprocessed_vga_palette3 273F:3AC1 B9 0018 mov cx, 8*3 ; Move 8 palette entries 273F:3AC4 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:3AC6 C3 retn replace_vga_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0C13, 0C35, 0C5A, 3C95, 75AE, 75D2, 75F0 ; 760E, A549, A5BB, A66D, A6C4, A914 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3AC7 read_palette proc near 273F:3AC7 8C D9 mov cx,ds 273F:3AC9 BA 1457 mov dx, unprocessed_vga_palette 273F:3ACC 56 push si 273F:3ACD E8 C844 call read_entry ; (0314) 273F:3AD0 5E pop si 273F:3AD1 C6 06 1456 FF mov current_room_num, 0FFh ; (31E4:1456=0FFh) 273F:3AD6 C3 retn read_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß vga_toggle_menu_highlight proc near 273F:3AD7 A1 4CE4 mov ax, data_segment2 273F:3ADA 8E C0 mov es,ax 273F:3ADC BA 0008 mov dx,8 ; Number of lines 273F:3ADF B0 F7 mov al,0F7h 273F:3AE1 loc_770: ; xref 273F:3AFA 273F:3AE1 57 push di 273F:3AE2 8B CB mov cx,bx 273F:3AE4 locloop_771: ; xref 273F:3AF2 273F:3AE4 26: 84 05 test al,es:[di] 273F:3AE7 74 05 jz loc_772 ; Jump if zero 273F:3AE9 26: 38 05 cmp es:[di],al 273F:3AEC 75 03 jne loc_773 ; Jump if not equal 273F:3AEE loc_772: ; xref 273F:3AE7 273F:3AEE 26: 30 05 xor es:[di],al 273F:3AF1 loc_773: ; xref 273F:3AEC 273F:3AF1 47 inc di 273F:3AF2 E2 F0 loop locloop_771 ; Loop if cx > 0 273F:3AF4 5F pop di 273F:3AF5 81 C7 0140 add di,140h 273F:3AF9 4A dec dx 273F:3AFA 75 E5 jnz loc_770 ; Jump if not zero 273F:3AFC C3 retn vga_toggle_menu_highlight endp 273F:3AFD 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß copy_protection_check proc near 273F:3AFE F6 06 1854 FF test cp_num_digits, 0FFh ; Sequence previously entered? 273F:3B03 74 01 jz loc_3B06 273F:3B05 C3 ret 273F:3B06 8B 04 loc_3B06: mov ax, [si] 273F:3B08 E8 86 01 call read_screen_alt 273F:3B0B BB 1830 mov bx, offset animation_rec_1 273F:3B0E E8 D1 3C call animation_decode 273F:3B11 BB 1839 mov bx, offset animation_rec_2 273F:3B14 E8 CB 3C call animation_decode 273F:3B17 BB 1842 mov bx, offset animation_rec_3 273F:3B1A E8 C5 3C call animation_decode ; Make a backup copy of the first 10 animation table entries 273F:3B1D A1 4D00 mov ax, buffer_segment 273F:3B20 8EC0 mov es, ax 273F:3B22 BE4EB1 mov si, offset animation_table 273F:3B25 33FF xor di, di 273F:3B27 B9CD00 mov cx, ANIMATION_SLOT_SIZE*10/2 ; 00CDh 273F:3B2A F3 A5 rep movsw ; Current hard coded jump to bypass copy protection code 273F:3B2C E92401 jmp loc_784 ; Original program's code below 273F:3B2C 1E push ds 273F:3B2D 07 pop es 273F:3B2E BF B14E mov di, offset animation_table 273F:3B31 BE 1850 mov si, offset anim_src_table 273F:3B34 BB 1830 mov bx, offset animation_rec_1 273F:3B37 8B4703 mov ax, [bx+3] 273F:3B3A B200 mov dl, 0 273F:3B3C E8BE01 call animation_set_entry 273F:3B3F E8BB01 call animation_set_entry 273F:3B42 BB3918 mov bx, offset animation_rec_2 273F:3B45 8B4703 mov ax, [bx+03] 273F:3B48 B220 mov dl, 20 273F:3B4A E8B001 call animation_set_entry 273F:3B4D BB4218 mov bx, offset animation_rec_3 273F:3B50 8B4703 mov ax, [bx+3] 273F:3B53 E8A701 call animation_set_entry 273F:3B56 E8A401 call animation_set_entry 273F:3B59 E8A101 call animation_set_entry 273F:3B5C E89E01 call animation_set_entry 273F:3B5F FF164407 call [show_screen_proc] 273F:3B63 FF166207 call [set_lower_palette_proc] 273F:3B67 loc_774: ; xref 273F:3C48 273F:3B67 úB8 0002 mov ax,2 273F:3B6A úBB 0001 mov bx,1 ; (273F:0001=0E4h) 273F:3B6D E8 0169 call animation_draw 273F:3B70 FF 16 0744 call word ptr [show_screen_proc] 273F:3B74 loc_775: ; xref 273F:3B82 273F:3B74 B8 0005 mov ax,5 273F:3B77 E8 0E6F call sleep ; (49E9) 273F:3B7A E8 00EE call protection_cycle_characters 273F:3B7D F6 06 11D5 FF test mouse_buttons, 0FFh 273F:3B82 75 F0 jnz loc_775 ; Jump if not zero 273F:3B84 loc_776: ; xref 273F:3B87 273F:3B84 E8 5999 call check_keypress ; (9520) 273F:3B87 75 FB jnz loc_776 ; Jump if not zero 273F:3B89 loc_777: ; xref 273F:3B9C 273F:3B89 B8 0005 mov ax,5 273F:3B8C E8 0E5A call sleep ; (49E9) 273F:3B8F E8 00D9 call protection_cycle_characters 273F:3B92 E8 598B call check_keypress ; (9520) 273F:3B95 75 07 jnz loc_778 ; Jump if not zero 273F:3B97 F6 06 11D5 FF test mouse_buttons, 0FFh 273F:3B9C 74 EB jz loc_777 ; Jump if zero 273F:3B9E loc_778: ; xref 273F:3B95 273F:3B9E B8 0002 mov ax,2 ; Change title text 273F:3BA1 33 DB xor bx,bx ; Anim #2, frame #0 273F:3BA3 E8 0133 call animation_draw 273F:3BA6 FF 16 0744 call word ptr [show_screen_proc] 273F:3BAA C6 06 1854 00 mov cp_num_digits, 0 273F:3BAF loc_779: ; Get keypress 273F:3BAF úE8 596E call check_keypress 273F:3BB2 74 FB jz loc_779 273F:3BB4 3C 08 cmp al,8 ; Backspace? 273F:3BB6 74 28 je cp_backspace ; Jump if equal 273F:3BB8 3C 30 cmp al,30h ; '0' 273F:3BBA 72 F3 jb loc_779 ; Jump if below 273F:3BBC 3C 3A cmp al,3Ah ; '9' + 1 273F:3BBE 73 EF jae loc_779 ; Jump if above or = ; At this point a numeric key has been pressed 273F:3BC0 25 000F and ax,0Fh 273F:3BC3 8B D8 mov bx,ax 273F:3BC5 A0 1854 mov al, cp_num_digits 273F:3BC8 05 0003 add ax,3 273F:3BCB E8 010B call animation_draw 273F:3BCE FF 16 0744 call word ptr [show_screen_proc] 273F:3BD2 80 06 1854 01 add cp_num_digits, 1 273F:3BD7 80 3E 1854 04 cmp cp_num_digits, 4 273F:3BDC 72 D1 jb loc_779 ; Jump if below 273F:3BDE 73 1F jnc cp_done ; Entered all 4 digits 273F:3BE0 cp_backspace: ; xref 273F:3BB6 273F:3BE0 F6 06 1854 FF test cp_num_digits, 0FFh 273F:3BE5 74 C8 jz loc_779 ; Jump if zero 273F:3BE7 80 2E 1854 01 sub cp_num_digits, 1 273F:3BEC A0 1854 mov al, cp_num_digits 273F:3BEF 04 03 add al,3 273F:3BF1 32 E4 xor ah,ah ; Zero register 273F:3BF3 úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:3BF6 E8 00E0 call animation_draw 273F:3BF9 FF 16 0744 call word ptr [show_screen_proc] 273F:3BFD EB B0 jmp short loc_779 ; (3BAF) ; At this point four digits have been entered, so it's time to check if it's valid 273F:3BFF cp_done: ; xref 273F:3BDE 273F:3BFF C7 06 38B1 0000 mov time_ctr, 0 273F:3C05 loc_782: ; xref 273F:3C0B 273F:3C05 81 3E 38B1 00C8 cmp time_ctr, 0C8h 273F:3C0B 72 F8 jb loc_782 273F:3C0D FF 16 1856 call [cp_proc] 273F:3C11 73 7D jnc loc_ret_786 ; Numbers correct ; Redraw the originally displayed message 273F:3C13 C6 06 1854 00 mov cp_num_digits, 0 273F:3C18 B8 0003 mov ax,3 273F:3C1B úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:3C1E E8 00B8 call animation_draw 273F:3C21 B8 0004 mov ax,4 273F:3C24 úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:3C27 E8 00AF call animation_draw 273F:3C2A B8 0005 mov ax,5 273F:3C2D úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:3C30 E8 00A6 call animation_draw 273F:3C33 B8 0006 mov ax,6 273F:3C36 úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:3C39 E8 009D call animation_draw 273F:3C3C 80 06 1855 01 add cp_num_tries, 1 273F:3C41 80 3E 1855 03 cmp cp_num_tries, 3 273F:3C46 73 03 jae loc_783 ; Jump if above or = 273F:3C48 E9 FF1C jmp loc_774 ; (3B67) 273F:3C4B loc_783: 273F:3C4B B8 000A mov ax,0Ah ; Copy protection failed 273F:3C4E B6 01 mov dh,1 273F:3C50 E8 0351 call display_message ; (3FA4) ; Restore the backup copy of the current animation table 273F:3C53 loc_784: 273F:3C53 1E push ds 273F:3C54 1E push ds 273F:3C55 07 pop es 273F:3C56 A1 4D00 mov ax, buffer_segment 273F:3C59 8E D8 mov ds,ax 273F:3C5B 33 F6 xor si,si ; Zero register 273F:3C5D úBF B14E mov di, offset animation_table 273F:3C60 B9 00CD mov cx, ANIMATION_SLOT_SIZE*10/2 ; 0CDh 273F:3C63 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:3C65 1F pop ds 273F:3C66 FF 16 0766 call word ptr ds:[fade_out_proc] 273F:3C6A C3 retn copy_protection_check endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3B7A, 3B8F ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3C6B protection_cycle_characters proc near 273F:3C6B 56 push si 273F:3C6C 57 push di 273F:3C6D 06 push es 273F:3C6E B9 0014 mov cx,14h ; Loop below to choose two random frames from the animation of possible characters. ; If both selections are identical, it will loop back and re-generate two new values 273F:3C71 loc_785: ; xref 273F:3C81 273F:3C71 E8 07F8 call random 273F:3C74 F7 E1 mul cx ; dx:ax = reg * ax 273F:3C76 8B DA mov bx,dx 273F:3C78 E8 07F1 call random 273F:3C7B F7 E1 mul cx ; dx:ax = reg * ax 273F:3C7D 8B C2 mov ax,dx 273F:3C7F 3B C3 cmp ax,bx ; Prevent both images 273F:3C81 74 EE je loc_785 ; being identical 273F:3C83 E8 0045 call protection_draw_characters 273F:3C86 E8 F4D0 call wait_for_video_port 273F:3C89 FF 16 0744 call word ptr [show_screen_proc] 273F:3C8D 07 pop es 273F:3C8E 5F pop di 273F:3C8F 5E pop si 273F:3C90 loc_ret_786: ; xref 273F:3C11 273F:3C90 C3 retn protection_cycle_characters endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3D22 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3C91 read_screen_alt proc near 273F:3C91 50 push ax 273F:3C92 2D 0001 sub ax,1 273F:3C95 E8 FE2F call read_palette ; (3AC7) 273F:3C98 E8 336A call menubar_clear_image 273F:3C9B 58 pop ax 273F:3C9C 8B 0E 4CE2 mov cx, data_segment 273F:3CA0 BA 0080 mov dx,80h 273F:3CA3 E8 C66E call read_entry ; (0314) 273F:3CA6 A1 4CE4 mov ax, data_segment2 273F:3CA9 8B 1E 074C mov bx, menubar_block_size 273F:3CAD B1 04 mov cl,4 273F:3CAF D3 EB shr bx,cl ; Shift w/zeros fill 273F:3CB1 03 C3 add ax,bx 273F:3CB3 8E C0 mov es,ax 273F:3CB5 8B 16 4CE2 mov dx, data_segment 273F:3CB9 FF 16 077C call [decode_entry_proc] 273F:3CBD E8 CCA1 call clear_hotspot_rects 273F:3CC0 80 0E 11D0 10 or menubar_state, 10h ; (273F:11D0=56h) 273F:3CC5 80 26 11D0 DF and menubar_state, 0DFh ; (273F:11D0=56h) 273F:3CCA C3 retn read_screen_alt endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3C83 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3CCB protection_draw_characters proc near 273F:3CCB 50 push ax 273F:3CCC B8 0001 mov ax,1 273F:3CCF E8 0007 call animation_draw ; Draw right character 273F:3CD2 5B pop bx 273F:3CD3 33 C0 xor ax,ax 273F:3CD5 E8 0001 call animation_draw ; Draw left character 273F:3CD8 C3 retn protection_draw_characters endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3B6D, 3BA3, 3BCB, 3BF6, 3C1E, 3C27, 3C30 ; 3C39, 3CCF, 3CD5, 3D48, 3D51, 3D8F, 3D98 ; 3DE1, 3DEA, 3E11, 3E1A ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ animation_draw proc near 273F:3CD9 B9 0029 mov cx, ANIMATION_SLOT_SIZE 273F:3CDC F7 E1 mul cx 273F:3CDE 05 B14E add ax, offset animation_table ; Calculate anim offset 273F:3CE1 93 xchg bx,ax 273F:3CE2 8B 77 19 mov si,[bx+19h] ; Get address for hotspot 273F:3CE5 F7 64 07 mul word ptr [si+7] ; multiply by frame size 273F:3CE8 8B F0 mov si,ax ; Store pixel data start 273F:3CEA 89 77 08 mov [bx+8],si 273F:3CED 53 push bx 273F:3CEE FF 77 0A push word ptr [bx+0Ah] ; Pixel segment 273F:3CF1 07 pop es 273F:3CF2 FF 16 0754 call [add_animation_proc] 273F:3CF6 5F pop di 273F:3CF7 B0 01 mov al,1 273F:3CF9 E8 CE2C call flag_covered_cells 273F:3CFC C3 retn animation_draw endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3D3E, 3D41 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3CFD animation_set_entry proc near 273F:3CFD 89 45 0A mov [di+0Ah],ax 273F:3D00 89 5D 19 mov [di+19h],bx 273F:3D03 88 55 28 mov [di+28h],dl 273F:3D06 B9 0004 mov cx,4 273F:3D09 F3/ A5 rep movsw ; Copy first 8 bytes 273F:3D0B 83 C7 21 add di, ANIMATION_SLOT_SIZE - 8 273F:3D0E C3 retn animation_set_entry endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß cp_proc_1 proc near 273F:3D0F E8 075A call random 273F:3D12 8A 1E 1855 mov bl, cp_num_tries 273F:3D16 F6 26 1854 mul cp_num_digits ; ax = data * al 273F:3D1A F8 clc ; Clear carry flag 273F:3D1B 0B C0 or ax,ax ; Zero ? 273F:3D1D C3 retn cp_proc_1 proc near 273F:3D1E 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:937C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3D1F restart_restore_dialog proc near 273F:3D1F B8 7900 mov ax,7900h ; Restart/Restore image 273F:3D22 E8 FF6C call sub_79 ; Decode it 273F:3D25 úBB 184B mov bx, offset animation_rec_4 273F:3D28 E8 3AB7 call animation_decode 273F:3D2B E8 E247 call show_arrow_cursor 273F:3D2E 1E push ds 273F:3D2F 07 pop es 273F:3D30 úBF B14E mov di, offset animation_table 273F:3D33 úBE 1890 mov si, 1890h 273F:3D36 úBB 184B mov bx, offset animation_rec_4 273F:3D39 8B 47 03 mov ax, [bx+3] 273F:3D3C B2 00 mov dl, 0 273F:3D3E E8 FFBC call animation_set_entry 273F:3D41 E8 FFB9 call animation_set_entry 273F:3D44 33 C0 xor ax,ax ; Zero register 273F:3D46 33 DB xor bx,bx ; Zero register 273F:3D48 E8 FF8E call animation_draw 273F:3D4B B8 0001 mov ax,1 273F:3D4E úBB 0001 mov bx,offset copyright+1 ; (31E4:0001='o') 273F:3D51 E8 FF85 call animation_draw 273F:3D54 FF 16 0744 call word ptr [show_screen_proc] 273F:3D58 FF 16 0760 call word ptr [fade_in_proc] 273F:3D5C C6 06 11DA 00 mov mouse_buttons2, 0 273F:3D61 loc_787: ; xref 273F:3DB0, 3E02, 3E30 273F:3D61 úFF 16 0744 call word ptr [show_screen_proc] 273F:3D65 loc_788: ; xref 273F:3DA8 273F:3D65 E8 5660 call room_check_keypresses 273F:3D68 A1 11D6 mov ax, mouse_x2 273F:3D6B 05 0080 add ax,80h 273F:3D6E 2B 06 1890 sub ax,word ptr ds:[1890h] ; (31E4:1890=0F6h) 273F:3D72 72 47 jc loc_791 ; Jump if carry Set 273F:3D74 3D 0025 cmp ax,25h 273F:3D77 73 42 jae loc_791 ; Jump if above or = 273F:3D79 A1 11D8 mov ax, mouse_y2 273F:3D7C 05 0080 add ax,80h 273F:3D7F 2B 06 1892 sub ax,word ptr ds:[1892h] ; (31E4:1892=118h) 273F:3D83 72 36 jc loc_791 ; Jump if carry Set 273F:3D85 3D 000E cmp ax,0Eh 273F:3D88 73 31 jae loc_791 ; Jump if above or = 273F:3D8A 33 C0 xor ax,ax ; Zero register 273F:3D8C úBB 0002 mov bx,offset copyright+2 ; (31E4:0002='py') 273F:3D8F E8 FF47 call animation_draw 273F:3D92 B8 0001 mov ax,1 273F:3D95 úBB 0001 mov bx,offset copyright+1 ; (31E4:0001='o') 273F:3D98 E8 FF3E call animation_draw 273F:3D9B F6 06 11DA FF test mouse_buttons2, 0FFh 273F:3DA0 75 10 jnz loc_790 ; Jump if not zero 273F:3DA2 2E: 80 3E 3D1E 01 cmp cs:data_288,1 ; (273F:3D1E=0) 273F:3DA8 loc_789: ; xref 273F:3DFA 273F:3DA8 74 BB je loc_788 ; Jump if equal 273F:3DAA 2E: C6 06 3D1E 01 mov cs:data_288,1 ; (273F:3D1E=0) 273F:3DB0 EB AF jmp short loc_787 ; (3D61) 273F:3DB2 loc_790: ; xref 273F:3DA0 273F:3DB2 C6 06 11DA 00 mov mouse_buttons2, 0 273F:3DB7 0D 0001 or ax,1 273F:3DBA C3 retn 273F:3DBB loc_791: ; xref 273F:3D72, 3D77, 3D83, 3D88 273F:3DBB A1 11D6 mov ax, mouse_x2 273F:3DBE 05 0080 add ax,80h 273F:3DC1 2B 06 1898 sub ax,word ptr ds:[1898h] ; (31E4:1898=128h) 273F:3DC5 72 46 jc loc_794 ; Jump if carry Set 273F:3DC7 3D 0025 cmp ax,25h 273F:3DCA 73 41 jae loc_794 ; Jump if above or = 273F:3DCC A1 11D8 mov ax, mouse_y2 273F:3DCF 05 0080 add ax,80h 273F:3DD2 2B 06 189A sub ax,word ptr ds:[189Ah] ; (31E4:189A=118h) 273F:3DD6 72 35 jc loc_794 ; Jump if carry Set 273F:3DD8 3D 000E cmp ax,0Eh 273F:3DDB 73 30 jae loc_794 ; Jump if above or = 273F:3DDD 33 C0 xor ax,ax ; Zero register 273F:3DDF 33 DB xor bx,bx ; Zero register 273F:3DE1 E8 FEF5 call animation_draw 273F:3DE4 B8 0001 mov ax,1 273F:3DE7 úBB 0003 mov bx,offset copyright+3 ; (31E4:0003='y') 273F:3DEA E8 FEEC call animation_draw 273F:3DED F6 06 11DA FF test mouse_buttons2, 0FFh 273F:3DF2 75 11 jnz loc_793 ; Jump if not zero 273F:3DF4 2E: 80 3E 3D1E 02 cmp cs:data_288,2 ; (273F:3D1E=0) 273F:3DFA loc_792: ; xref 273F:3E28 273F:3DFA 74 AC je loc_789 ; Jump if equal 273F:3DFC 2E: C6 06 3D1E 02 mov cs:data_288,2 ; (273F:3D1E=0) 273F:3E02 E9 FF5C jmp loc_787 ; (3D61) 273F:3E05 loc_793: ; xref 273F:3DF2 273F:3E05 C6 06 11DA 00 mov mouse_buttons2, 0 273F:3E0A 33 C0 xor ax,ax ; Zero register 273F:3E0C C3 retn 273F:3E0D loc_794: ; xref 273F:3DC5, 3DCA, 3DD6, 3DDB 273F:3E0D 33 C0 xor ax,ax ; Zero register 273F:3E0F 33 DB xor bx,bx ; Zero register 273F:3E11 E8 FEC5 call animation_draw 273F:3E14 B8 0001 mov ax,1 273F:3E17 úBB 0001 mov bx,offset copyright+1 ; (31E4:0001='o') 273F:3E1A E8 FEBC call animation_draw 273F:3E1D C6 06 11DA 00 mov mouse_buttons2, 0 273F:3E22 2E: F6 06 3D1E FF test cs:data_288,0FFh ; (273F:3D1E=0) 273F:3E28 74 D0 jz loc_792 ; Jump if zero 273F:3E2A 2E: C6 06 3D1E 00 mov cs:data_288,0 ; (273F:3D1E=0) 273F:3E30 E9 FF2E jmp loc_787 ; (3D61) restart_restore_dialog endp 273F:3E33 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:000B, 009D, 2053, 4792, 4FAB, 5024, 5423 ; 5738, 57D3, 5838, 58DA, 592B, 5AF2, 5B55 ; 5BCF, 5C21, 5C66, 5C87, 5CD7, 5D40, 8A0D ; 8AFF, 8C52, 8C67, 8C7A, 8CA4, 95F7, 962F ; 9635 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3E34 sequence_execute proc near 273F:3E34 ú57 push di 273F:3E35 56 push si 273F:3E36 55 push bp 273F:3E37 53 push bx 273F:3E38 8B F0 mov si,ax 273F:3E3A C7 06 BA1D 0000 mov sequence_result, 0 273F:3E40 E8 000A call sequence_execute_inner 273F:3E43 5B pop bx 273F:3E44 5D pop bp 273F:3E45 5E pop si 273F:3E46 5F pop di 273F:3E47 A1 BA1D mov ax, sequence_result 273F:3E4A 0B C0 or ax,ax ; Zero ? 273F:3E4C C3 retn sequence_execute endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3E40, 3F51 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sequence_execute_inner proc near 273F:3E4D 89 26 1910 mov current_sp, sp 273F:3E51 BF 1910 mov di, offset current_sp ; Set up stack frame 273F:3E54 B8 450F mov ax, scripts_seg 273F:3E57 8E C0 mov es,ax 273F:3E59 loc_796: 273F:3E59 ú26: 8A 1C mov bl,es:[si] 273F:3E5C 83 C6 01 add si,1 273F:3E5F F6 C3 01 test bl,1 273F:3E62 74 06 jz loc_797 ; Jump if zero 273F:3E64 26: 8B 14 mov dx,es:[si] 273F:3E67 83 C6 02 add si,2 273F:3E6A loc_797: ; xref 273F:3E62 273F:3E6A 81 E3 00FE and bx,0FEh 273F:3E6E FF A7 18A0 jmp word ptr ds:[sequence_table][bx] sequence_execute_inner endp 273F:3E72 8B 05 sequence_add: mov ax,[di] 273F:3E74 01 45 02 add [di+2],ax 273F:3E77 83 C7 02 add di,2 273F:3E7A EB DD jmp short loc_796 ; (3E59) ;* No entry point to code 273F:3E7C 8B 05 sequence_subtract: mov ax,[di] 273F:3E7E 29 45 02 sub [di+2],ax 273F:3E81 83 C7 02 add di,2 273F:3E84 EB D3 jmp short loc_796 ; (3E59) ;* No entry point to code 273F:3E86 8B 05 sequence_multiply: mov ax,[di] 273F:3E88 F7 65 02 mul word ptr [di+2] ; dx:ax = data * ax 273F:3E8B 83 C7 02 add di,2 273F:3E8E 89 05 mov [di],ax 273F:3E90 EB C7 jmp short loc_796 ; (3E59) 273F:3E92 8B 45 02 sequence_divide: mov ax,[di+2] 273F:3E95 33 D2 xor dx,dx ; Zero register 273F:3E97 F7 35 div word ptr [di] ; ax,dxrem=dx:ax/data 273F:3E99 83 C7 02 add di,2 273F:3E9C 89 05 mov [di],ax 273F:3E9E EB B9 jmp short loc_796 ; (3E59) 273F:3EA0 8B 05 sequence_not_equals: mov ax,[di] 273F:3EA2 3B 45 02 cmp ax,[di+2] 273F:3EA5 74 0A je loc_one ; Jump if equal 273F:3EA7 úC7 45 02 0000 loc_zero: mov word ptr [di+2],0 273F:3EAC 83 C7 02 add di,2 273F:3EAF EB A8 jmp short loc_796 ; (3E59) 273F:3EB1 ú83 C7 02 loc_one: add di,2 273F:3EB4 C7 05 0001 mov word ptr [di],1 273F:3EB8 EB 9F jmp short loc_796 ; (3E59) 273F:3EBA 8B 05 sequence_equals: mov ax,[di] 273F:3EBC 3B 45 02 cmp ax,[di+2] 273F:3EBF 75 F0 jne loc_one ; Jump if not equal 273F:3EC1 EB E4 jmp short loc_zero ; (3EA7) 273F:3EC3 8B 45 02 sequence_greater: mov ax,[di+2] 273F:3EC6 2B 05 sub ax,[di] 273F:3EC8 72 E7 jc loc_one ; Jump if carry Set 273F:3ECA EB DB jmp short loc_zero ; (3EA7) 273F:3ECC 8B 05 sequence_smaller: mov ax,[di] 273F:3ECE 2B 45 02 sub ax,[di+2] 273F:3ED1 72 DE jc loc_one ; Jump if carry Set 273F:3ED3 EB D2 jmp short loc_zero ; (3EA7) 273F:3ED5 8B 05 sequence_smaller2: mov ax,[di] 273F:3ED7 2B 45 02 sub ax,[di+2] 273F:3EDA 78 CB js loc_zero ; Jump if sign=1 273F:3EDC EB D3 jmp short loc_one ; (3EB1) 273F:3EDE 8B 45 02 sequence_greater2: mov ax,[di+2] 273F:3EE1 2B 05 sub ax,[di] 273F:3EE3 78 C2 js loc_zero ; Jump if sign=1 273F:3EE5 EB CA jmp short loc_one ; (3EB1) 273F:3EE7 8B 05 sequence_and: mov ax,[di] 273F:3EE9 21 45 02 and [di+2],ax 273F:3EEC 83 C7 02 add di,2 273F:3EEF E9 FF67 jmp loc_796 ; (3E59) 273F:3EF2 8B 05 sequence_or: mov ax,[di] 273F:3EF4 09 45 02 or [di+2],ax 273F:3EF7 83 C7 02 add di,2 273F:3EFA E9 FF5C jmp loc_796 ; (3E59) 273F:3EFD F7 45 02 FFFF sequence_logical_and: test word ptr [di+2],0FFFFh 273F:3F02 74 A3 jz loc_zero ; Jump if zero 273F:3F04 F7 05 FFFF test word ptr [di],0FFFFh 273F:3F08 74 9D jz loc_zero ; Jump if zero 273F:3F0A EB A5 jmp short loc_one ; (3EB1) 273F:3F0C F7 45 02 FFFF sequence_logical_or: test word ptr [di+2],0FFFFh 273F:3F11 75 9E jnz loc_one ; Jump if not zero 273F:3F13 F7 05 FFFF test word ptr [di],0FFFFh 273F:3F17 75 98 jnz loc_one ; Jump if not zero 273F:3F19 EB 8C jmp short loc_zero ; (3EA7) 273F:3F1B 83 EF 02 sequence_get_field: sub di,2 273F:3F1E 81 C2 BA15 add dx, offset room_number_2 273F:3F22 57 push di 273F:3F23 8B FA mov di,dx 273F:3F25 8B 05 mov ax,[di] 273F:3F27 5F pop di 273F:3F28 89 05 mov [di],ax 273F:3F2A E9 FF2C jmp loc_796 ; (3E59) 273F:3F2D 81 C2 BA15 sequence_set_field: add dx, offset room_number_2 273F:3F31 8B 05 mov ax,[di] ; Get value off stack 273F:3F33 57 push di 273F:3F34 8B FA mov di,dx 273F:3F36 89 05 mov [di],ax ; Set field value 273F:3F38 5F pop di 273F:3F39 83 C7 02 add di,2 ; Pop stack element 273F:3F3C E9 FF1A jmp loc_796 273F:3F3F E8 052A sequence_random: call random 273F:3F42 8A D4 mov dl,ah 273F:3F44 32 F6 xor dh,dh ; Zero register 273F:3F46 83 EF 02 sequence_push_value: sub di,2 273F:3F49 89 15 mov [di],dx 273F:3F4B E9 FF0B jmp loc_796 ; (3E59) ;* No entry point to code 273F:3F4E 56 sequence_subroutine: push si 273F:3F4F 8B F2 mov si,dx 273F:3F51 E8 FEF9 call sequence_execute_inner 273F:3F54 5E pop si 273F:3F55 loc_800: ; xref 273F:3F97 273F:3F55 E9 FF01 jmp loc_796 ; (3E59) 273F:3F58 D1 E2 sequence_call_method: shl dx,1 273F:3F5A 81 C2 BABF add dx, offset sequence_method_list 273F:3F5E 57 push di 273F:3F5F 8B FA mov di,dx 273F:3F61 8B 05 mov ax,[di] ; Get address of method 273F:3F63 5F pop di 273F:3F64 ú81 FF 1910 cmp di, offset current_sp ; Any value on stack? 273F:3F68 74 1B je loc_801 ; No, so go call method 273F:3F6A 8B 1D mov bx,[di] ; bx = top stack value 273F:3F6C 83 C7 02 add di,2 273F:3F6F ú81 FF 1910 cmp di, offset current_sp ; Any value on stack? 273F:3F73 74 10 je loc_801 ; No, so go call method 273F:3F75 8B 0D mov cx,[di] ; cx = top stack value 273F:3F77 83 C7 02 add di,2 273F:3F7A ú81 FF 1910 cmp di, offset current_sp ; Any value on stack? 273F:3F7E 74 05 je loc_801 ; No, so go call method 273F:3F80 8B 15 mov dx,[di] ; dx = top stack value 273F:3F82 83 C7 02 add di,2 273F:3F85 loc_801: 273F:3F85 56 push si 273F:3F86 57 push di 273F:3F87 06 push es 273F:3F88 FF D0 call ax ; Call method 273F:3F8A 07 pop es 273F:3F8B 5F pop di 273F:3F8C 5E pop si 273F:3F8D E9 FEC9 jmp loc_796 ; (3E59) 273F:3F90 8B 05 sequence_cond_jump: mov ax,[di] 273F:3F92 83 C7 02 add di,2 273F:3F95 0B C0 or ax,ax ; Zero ? 273F:3F97 75 BC jnz loc_800 ; Jump if not zero 273F:3F99 03 F2 sequence_jump: add si,dx 273F:3F9B E9 FEBB jmp loc_796 ; (3E59) 273F:3F9E C3 sequence_end: retn 273F:3F9F 8B 26 10 19 sequence_restore_sp: mov sp, current_sp 273F:3FA3 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:029A, 02A6, 0365, 03BB, 03C7, 0426, 04FC ; 0691, 3C50, 7041, 7591, 7B04, 902C, 9414 ; AA1B ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:3FA4 display_message proc near 273F:3FA4 80 0E 073D 01 or status_flags2, 1 273F:3FA9 80 0E 11D0 08 or menubar_state, 8 273F:3FAE 3D 000C cmp ax,0Ch 273F:3FB1 72 03 jb loc_802 ; Jump if below 273F:3FB3 B8 000C mov ax,0Ch 273F:3FB6 loc_802: ; xref 273F:3FB1 273F:3FB6 F6 C6 FF test dh,0FFh 273F:3FB9 75 03 jnz loc_803 ; Jump if not zero 273F:3FBB E9 0128 jmp loc_816 ; (40E6) 273F:3FBE loc_803: ; xref 273F:3FB9 273F:3FBE 50 push ax 273F:3FBF B8 31E4 mov ax,data_seg 273F:3FC2 8E D8 mov ds,ax 273F:3FC4 F6 06 073C 04 test status_flags, STATUS_TIMER_SET 273F:3FC9 74 12 jz loc_804 ; Jump if zero 273F:3FCB 1E push ds 273F:3FCC 2E: A1 04AC mov ax,word ptr cs:old_timer_int_proc+2 ; (273F:04AC=40h) 273F:3FD0 8E D8 mov ds,ax 273F:3FD2 2E: 8B 16 04AA mov dx,cs:old_timer_int_proc 273F:3FD7 B8 2508 mov ax,2508h 273F:3FDA CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx 273F:3FDC 1F pop ds 273F:3FDD loc_804: ; xref 273F:3FC9 273F:3FDD F6 06 073C 10 test status_flags, STATUS_CRITICAL_SET 273F:3FE2 74 12 jz loc_805 ; Jump if zero 273F:3FE4 1E push ds 273F:3FE5 2E: A1 04B4 mov ax,cs:old_critical_int_proc+2 273F:3FE9 8E D8 mov ds,ax 273F:3FEB 2E: 8B 16 04B2 mov dx,cs:old_critical_int_proc 273F:3FF0 B8 2524 mov ax,2524h 273F:3FF3 CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx 273F:3FF5 1F pop ds 273F:3FF6 loc_805: ; xref 273F:3FE2 273F:3FF6 F6 06 073C 40 test status_flags, STATUS_KEYBOARD_SET 273F:3FFB 74 12 jz loc_806 ; Jump if zero 273F:3FFD 1E push ds 273F:3FFE 2E: A1 04B0 mov ax, word ptr cs:old_kbd_int_proc+2 273F:4002 8E D8 mov ds,ax 273F:4004 2E: 8B 16 04AE mov dx, cs:old_kbd_int_proc 273F:4009 B8 2509 mov ax,2509h 273F:400C CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx 273F:400E 1F pop ds 273F:400F loc_806: ; xref 273F:3FFB 273F:400F F6 06 073C 01 test status_flags, STATUS_VIDEO_MODE_SET 273F:4014 74 07 jz loc_807 ; Jump if zero 273F:4016 A0 073B mov al,data_542 ; (31E4:073B=0) 273F:4019 32 E4 xor ah,ah ; Zero register 273F:401B CD 10 int 10h ; Video display ah=functn 00h ; set display mode in al 273F:401D loc_807: ; xref 273F:4014 273F:401D B8 0000 mov ax,0 273F:4020 CD 33 int 33h ; Mouse driver ax=func 0000h ; installed?, ax=0 no, =-1 yes ; bx=number of mouse buttons 273F:4022 F6 06 073C 08 test status_flags, STATUS_CTRL_BREAK_SET 273F:4027 74 24 jz loc_808 ; Jump if zero 273F:4029 B8 3301 mov ax,3301h 273F:402C 8A 16 073E mov dl, old_ctrl_break_flag 273F:4030 CD 21 int 21h ; DOS Services ah=function 33h ; set ctrl-break flag dl=off/on 273F:4032 B8 0040 mov ax,40h 273F:4035 8E C0 mov es,ax 273F:4037 A0 073F mov al,data_546 ; (31E4:073F=1) 273F:403A 24 70 and al,70h ; 'p' 273F:403C 26: 80 26 0017 8F and byte ptr es:keybd_flags_1,8Fh ; (0040:0017=0) 273F:4042 26: 08 06 0017 or es:keybd_flags_1,al ; (0040:0017=0) 273F:4047 B4 06 mov ah,6 273F:4049 B2 FF mov dl,0FFh 273F:404B CD 21 int 21h ; DOS Services ah=function 06h ; special char i/o, dl=subfunc 273F:404D loc_808: ; xref 273F:4027 273F:404D 58 pop ax 273F:404E 0B C0 or ax,ax ; Zero ? 273F:4050 74 15 jz loc_809 ; Jump if zero 273F:4052 50 push ax 273F:4053 B4 09 mov ah,9 273F:4055 úBA 3848 mov dx,offset data_779 ; (31E4:3848='') 273F:4058 CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:405A 58 pop ax 273F:405B D1 E0 shl ax,1 ; Shift w/zeros fill 273F:405D 8B D8 mov bx,ax 273F:405F 8B 97 3670 mov dx,errormsg_list[bx] ; (31E4:3670=0) 273F:4063 B4 09 mov ah,9 273F:4065 CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:4067 loc_809: ; xref 273F:4050 273F:4067 E8 6189 call sub_257 ; (A1F3) 273F:406A B9 FFFF mov cx,0FFFFh 273F:406D B0 36 mov al,36h ; '6' 273F:406F E6 43 out 43h,al ; port 43h, 8253 timer control 273F:4071 EB 00 jmp short $+2 ; delay for I/O 273F:4073 EB 00 jmp short $+2 ; delay for I/O 273F:4075 8A C1 mov al,cl 273F:4077 E6 40 out 40h,al ; port 40h, 8253 timer 0 clock 273F:4079 EB 00 jmp short $+2 ; delay for I/O 273F:407B EB 00 jmp short $+2 ; delay for I/O 273F:407D 8A C5 mov al,ch 273F:407F E6 40 out 40h,al ; port 40h, 8253 timer 0 clock 273F:4081 B0 00 mov al,0 273F:4083 B4 4C mov ah,4Ch 273F:4085 CD 21 int 21h ; DOS Services ah=function 4Ch ; terminate with al=return code 273F:4087 loc_810: ; xref 273F:40F2 273F:4087 50 push ax 273F:4088 A0 073B mov al,data_542 ; (31E4:073B=0) 273F:408B 32 E4 xor ah,ah ; Zero register 273F:408D CD 10 int 10h ; Video display ah=functn 00h ; set display mode in al 273F:408F EB 01 jmp short loc_812 ; (4092) 273F:4091 loc_811: ; xref 273F:40EB 273F:4091 50 push ax 273F:4092 loc_812: ; xref 273F:408F 273F:4092 B4 09 mov ah,9 273F:4094 úBA 3848 mov dx,offset data_779 ; (31E4:3848='') 273F:4097 CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:4099 58 pop ax 273F:409A D1 E0 shl ax,1 ; Shift w/zeros fill 273F:409C 8B D8 mov bx,ax 273F:409E 8B 97 3670 mov dx,errormsg_list[bx] ; (31E4:3670=0) 273F:40A2 83 C2 02 add dx,2 273F:40A5 B4 09 mov ah,9 273F:40A7 CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:40A9 B4 09 mov ah,9 273F:40AB úBA 3848 mov dx,offset data_779 ; (31E4:3848='') 273F:40AE CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:40B0 F6 06 073C 80 test status_flags, STATUS_MOUSE_HANDLER_SET 273F:40B5 74 09 jz loc_813 ; Jump if zero 273F:40B7 B4 09 mov ah,9 273F:40B9 úBA 37D0 mov dx,offset data_777 ; (31E4:37D0='Press a mouse bu') 273F:40BC CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:40BE EB 07 jmp short loc_814 ; (40C7) 273F:40C0 loc_813: ; xref 273F:40B5 273F:40C0 B4 09 mov ah,9 273F:40C2 úBA 37F2 mov dx,offset data_778 ; (31E4:37F2='and press any ke') 273F:40C5 CD 21 int 21h ; DOS Services ah=function 09h ; display char string at ds:dx 273F:40C7 loc_814: ; xref 273F:40BE 273F:40C7 E8 DECC call pause_for_input ; (1F96) 273F:40CA 50 push ax 273F:40CB E8 DEBD call mouse_wait ; (1F8B) 273F:40CE F6 06 073C 01 test status_flags, STATUS_VIDEO_MODE_SET 273F:40D3 74 0A jz loc_815 ; Jump if zero 273F:40D5 A0 0743 mov al,video_mode ; (31E4:0743=0) 273F:40D8 32 E4 xor ah,ah ; Zero register 273F:40DA CD 10 int 10h ; Video display ah=functn 00h ; set display mode in al 273F:40DC E8 00A6 call set_upper_vga_palette ; (4185) 273F:40DF loc_815: ; xref 273F:40D3 273F:40DF 58 pop ax 273F:40E0 80 26 073D FE and status_flags2, 0FEh 273F:40E5 C3 retn 273F:40E6 loc_816: ; xref 273F:3FBB 273F:40E6 F6 06 073C 01 test status_flags, STATUS_VIDEO_MODE_SET 273F:40EB 74 A4 jz loc_811 ; Jump if zero 273F:40ED F6 06 073C 02 test status_flags, STATUS_UNKNOWN 273F:40F2 74 93 jz loc_810 ; Jump if zero 273F:40F4 8A 1E 11D0 mov bl,data_623 ; (31E4:11D0=3) 273F:40F8 53 push bx 273F:40F9 50 push ax 273F:40FA 80 0E 11D0 01 or menubar_state, 1 ; (31E4:11D0=3) 273F:40FF FF 16 075E call word ptr [show_cursor_proc] 273F:4103 F6 06 11D0 10 test menubar_state, 10h ; (31E4:11D0=3) 273F:4108 75 14 jnz loc_817 ; Jump if not zero 273F:410A A1 4CE4 mov ax, data_segment2 273F:410D 8E C0 mov es,ax 273F:410F 33 C0 xor ax,ax ; Zero register 273F:4111 8B 0E 0746 mov cx, screen_size 273F:4115 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:4117 33 FF xor di,di ; Zero register 273F:4119 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:411B E8 C843 call clear_hotspot_rects 273F:411E loc_817: ; xref 273F:4108 273F:411E 58 pop ax 273F:411F D1 E0 shl ax,1 ; Shift w/zeros fill 273F:4121 8B D8 mov bx,ax 273F:4123 8B B7 3670 mov si,errormsg_list[bx] ; (31E4:3670=0) 273F:4127 8B 34 mov si,[si] 273F:4129 E8 47E1 call sub_216 ; (890D) 273F:412C F6 06 073C 20 test status_flags, STATUS_UNKNOWN2 273F:4131 74 0C jz loc_818 ; Jump if zero 273F:4133 FF 36 073C push status_flags 273F:4137 FF 16 0762 call [set_lower_palette_proc] 273F:413B 8F 06 073C pop status_flags 273F:413F loc_818: ; xref 273F:4131 273F:413F E8 DE49 call mouse_wait ; (1F8B) 273F:4142 E8 DE51 call pause_for_input ; (1F96) 273F:4145 5B pop bx 273F:4146 50 push ax 273F:4147 53 push bx 273F:4148 F6 06 073C 20 test status_flags, STATUS_UNKNOWN2 273F:414D 74 09 jz loc_819 ; Jump if zero 273F:414F 80 26 073C DF and status_flags, !STATUS_UNKNOWN2 273F:4154 FF 16 0764 call [empty_palette_proc] 273F:4158 loc_819: 273F:4158 58 pop ax 273F:4159 24 01 and al,1 273F:415B 75 09 jnz loc_820 ; Jump if not zero 273F:415D 80 26 11D0 FE and menubar_state, 0FEh ; (31E4:11D0=3) 273F:4162 FF 16 075E call word ptr [show_cursor_proc] 273F:4166 loc_820: ; xref 273F:415B 273F:4166 F6 06 11D0 20 test menubar_state, 20h ; (31E4:11D0=3) ' ' 273F:416B 74 0B jz loc_821 ; Jump if zero 273F:416D FF 16 0752 call [show_compressed_screen_proc] 273F:4171 E8 D39A call room_add_animations 273F:4174 FF 16 0744 call word ptr [show_screen_proc] 273F:4178 loc_821: ; xref 273F:416B 273F:4178 58 pop ax 273F:4179 80 26 073D FE and status_flags2, 0FEh 273F:417E C3 retn display_message endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_kill_player proc near 273F:417F 80 0E 073D 50 or status_flags2, FLAG_RESTART|FLAG_RESTORERESTART ;50h 273F:4184 C3 retn seq_kill_player endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; Sets the upper 16 palette entries of the VGA palette ; ; Called from: 273F:075B, 40DC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:4185 set_upper_vga_palette proc near 273F:4185 1E push ds 273F:4186 07 pop es 273F:4187 B8 1012 mov ax,1012h 273F:418A BB 00F0 mov bx,0F0h ; Start with palette entry #F0h 273F:418D B9 0010 mov cx,10h ; Set 16 palette entries 273F:4190 úBA 1727 mov dx,offset vga_palette ; es:dx pointer to table 273F:4193 CD 10 int 10h ; Video display ah=functn 10h ; set cx color registers from ; ptr es:dx, bx=first reg 273F:4195 C3 retn set_upper_vga_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00AF, 0110, 60FF, 9762 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ animation_tick proc near 273F:4196 úBF B14E mov di, offset animation_table 273F:4199 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:419C locloop_822: 273F:419C F6 45 0C FF test byte ptr [di+0Ch], 0FFh 273F:41A0 74 16 jz loc_823 273F:41A2 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:41A5 A3 BA17 mov character_hotspot, ax 273F:41A8 89 3E 1927 mov active_animation_offset, di 273F:41AC 8B 45 11 mov ax, [di+ANIM_TICK_PROC] 273F:41AF 8B 75 19 mov si, [di+ANIM_HOTSPOT_OFFSET] 273F:41B2 57 push di 273F:41B3 51 push cx 273F:41B4 FF D0 call ax ; Call entry's handler proc 273F:41B6 59 pop cx 273F:41B7 5F pop di 273F:41B8 loc_823: 273F:41B8 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:41BB E2 DF loop locloop_822 ; Loop if cx > 0 273F:41BD C3 null_tick_proc: retn animation_tick endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5F41 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:41BE action_dispatch proc near 273F:41BE úC7 44 52 0000 mov [si+HS_DEST_HOTSPOT], 0 273F:41C3 8B 5F 01 mov bx, [bx+CURRENT_ACTION_SUPPORT_TABLE] 273F:41C6 8B EB mov bp, bx 273F:41C8 8B 1F mov bx, [bx] 273F:41CA 89 1E BB45 mov current_action_num, bx 273F:41CE 83 C5 02 add bp, 2 273F:41D1 D1 E3 shl bx, 1 ; Shift w/zeros fill 273F:41D3 8B 87 3850 mov ax,word ptr ds:[actions2_proc_list][bx] 273F:41D7 FF E0 jmp ax action_dispatch endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:41D9 loc_825: ; xref 273F:52BB 273F:41D9 ú8B DE mov bx, si 273F:41DB 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:41DE 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:41E1 F7 44 61 FFFF test word ptr [si+HS_ACTION_OFFSET], 0FFFFh 273F:41E6 74 0F jz loc_826 ; Jump if zero 273F:41E8 83 6C 61 05 sub word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:41EC 83 EB 05 sub bx, CURRENT_ACTION_RECORD_SIZE 273F:41EF C6 44 4D 00 mov byte ptr [si+4Dh], 0 273F:41F3 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:41F6 C3 retn 273F:41F7 loc_826: ; xref 273F:41E6 273F:41F7 C6 07 00 mov byte ptr [bx], CHAR_ACTION_NONE 273F:41FA 81 7D 1B 03E8 cmp word ptr [di+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID 273F:41FF 75 0B jne loc_ret_827 ; Jump if not equal 273F:4201 C6 06 9834 00 mov cursor_state, CURSORSTATE_NONE 273F:4206 C7 06 11E4 FFFF mov hotspot_name_id2, 0FFFFh 273F:420C loc_ret_827: ; xref 273F:41FF 273F:420C C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:51EE, 5FE0 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_translate_movements proc near 273F:420D 8B 4C 21 mov cx, [si+HS_PIXEL_OFFSET] 273F:4210 8B 44 5A mov ax, [si+HS_MOVEMENT_SRC_OFFSET] 273F:4213 89 44 24 mov [si+HS_MOVEMENT_OFFSET], ax 273F:4216 C7 44 26 0000 mov word ptr [si+HS_STEP_CTR], 0 273F:421B C7 44 28 0000 mov word ptr [si+HS_FRAME_OFFSET], 0 273F:4220 56 push si 273F:4221 57 push di 273F:4222 53 push bx 273F:4223 8B F8 mov di, ax 273F:4225 8B F1 mov si, cx 273F:4227 8B DA mov bx, dx 273F:4229 loc_828: 273F:4229 ú8B 0F mov cx, [bx] 273F:422B 0B C9 or cx, cx ; No more movements needed? 273F:422D 74 51 jz loc_832 ; Exit if yes 273F:422F 8B 57 02 mov dx, [bx+2] ; Get direction 273F:4232 83 C3 04 add bx, 4 ; Move ptr to next move rec 273F:4235 83 FA 01 cmp dx, FACING2_LEFT 273F:4238 74 26 je loc_830 ; Jump if equal 273F:423A 83 FA 02 cmp dx, FACING2_RIGHT 273F:423D 74 31 je loc_831 ; Jump if equal 273F:423F 83 FA 04 cmp dx, FACING2_UP 273F:4242 74 0E je loc_829 ; Jump if equal 273F:4244 83 C1 01 add cx, 1 273F:4247 D1 E9 shr cx, 1 273F:4249 8B 44 0B mov ax, [si+PIXEL_MOVEREC_DOWN] 273F:424C AB stosw ; Store movement records 273F:424D 8B C1 mov ax,cx 273F:424F AB stosw ; Store steps 273F:4250 EB D7 jmp short loc_828 273F:4252 loc_829: 273F:4252 83 C1 01 add cx, 1 273F:4255 D1 E9 shr cx, 1 273F:4257 8B 44 09 mov ax, [si+PIXEL_MOVEREC_UP] 273F:425A AB stosw ; Store movement records 273F:425B 8B C1 mov ax,cx 273F:425D AB stosw ; Store steps 273F:425E EB C9 jmp short loc_828 273F:4260 loc_830: 273F:4260 83 C1 03 add cx, 3 273F:4263 D1 E9 shr cx, 1 273F:4265 D1 E9 shr cx, 1 273F:4267 8B 44 0D mov ax, [si+PIXEL_MOVEREC_LEFT] 273F:426A AB stosw ; Store movement records 273F:426B 8B C1 mov ax,cx 273F:426D AB stosw ; Store steps 273F:426E EB B9 jmp short loc_828 273F:4270 loc_831: 273F:4270 83 C1 03 add cx, 3 273F:4273 D1 E9 shr cx, 1 273F:4275 D1 E9 shr cx, 1 273F:4277 8B 44 0F mov ax, [si+PIXEL_MOVEREC_RIGHT] 273F:427A AB stosw ; Store movement records 273F:427B 8B C1 mov ax,cx 273F:427D AB stosw ; Store steps 273F:427E EB A9 jmp short loc_828 273F:4280 loc_832: 273F:4280 B8 FFFF mov ax,0FFFFh 273F:4283 AB stosw ; Store end makrer 273F:4284 5B pop bx 273F:4285 5F pop di 273F:4286 5E pop si 273F:4287 C3 retn character_translate_movements endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5242 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_check_room_change proc near 273F:4288 ú56 push si 273F:4289 8B 45 0E mov ax, [di+ANIM_ROOM_NUM] 273F:428C E8 CA5B call get_room_resource_pointer2 ; Get room resource 273F:428F 83 C6 1D add si, ROOM_EXITS_START ; Get pointer to room exits list 273F:4292 8B 05 mov ax, [di+ANIM_X] ; get X start 273F:4294 8B 4D 13 mov cx, [di+ANIM_WIDTH_COPY]; Get animation width 273F:4297 D1 E9 shr cx, 1 273F:4299 03 C1 add ax, cx 273F:429B 8B 55 02 mov dx, [di+ANIM_Y] 273F:429E 03 55 15 add dx, [di+ANIM_HEIGHT_COPY] 273F:42A1 8B 4D 17 mov cx, [di+ANIM_Y_CORRECTION] 273F:42A4 D1 E9 shr cx,1 273F:42A6 2B D1 sub dx,cx ; ax=x, dx=y 273F:42A8 loc_834: 273F:42A8 ú83 3C FF cmp word ptr [si],0FFFFh ; End of list reached? 273F:42AB 74 3A je loc_837 ; Jump if yes 273F:42AD 3B 04 cmp ax, [si+ROOMREC_EXIT_X_START] ; Check bounds of the 273F:42AF 72 27 jb loc_836 ; room exit against character 273F:42B1 3B 44 02 cmp ax, [si+ROOMREC_EXIT_X_END] 273F:42B4 73 22 jae loc_836 273F:42B6 3B 54 04 cmp dx, [si+ROOMREC_EXIT_Y_START] 273F:42B9 72 1D jb loc_836 273F:42BB 3B 54 06 cmp dx, [si+ROOMREC_EXIT_Y_END] 273F:42BE 73 18 jae loc_836 273F:42C0 8B 44 08 mov ax, [si+ROOMREC_EXIT_SEQUENCE] 273F:42C3 3D FFFF cmp ax, 0FFFFh ; Any sequence to run? 273F:42C6 74 04 je loc_835 ; If no, go set room directly 273F:42C8 5E pop si 273F:42C9 E9 FB68 jmp sequence_execute 273F:42CC loc_835: ; xref 273F:42C6 273F:42CC 8B 54 0A mov dx, [si+ROOMREC_EXIT_ROOM_NUM] ; Get new room #/direction 273F:42CF 8B 4C 0C mov cx, [si+ROOMREC_EXIT_NEW_X] ; Get new X 273F:42D2 8B 5C 0E mov bx, [si+ROOMREC_EXIT_NEW_Y] ; Get new Y 273F:42D5 5E pop si 273F:42D6 EB 11 jmp character_change_room 273F:42D8 loc_836: 273F:42D8 8B 5C 08 mov bx, [si+ROOMREC_EXIT_SEQUENCE] ; Get sequence Id 273F:42DB 83 C6 0A add si, 0Ah ; Move to next entry 273F:42DE 0B DB or bx, bx ; Did entry have a script? 273F:42E0 79 C6 jns loc_834 ; If not, go check next record 273F:42E2 83 C6 06 add si, 6 ; Skip over room/x/y vals 273F:42E5 EB C1 jmp short loc_834 ; Check next record 273F:42E7 loc_837: 273F:42E7 5E pop si 273F:42E8 C3 retn character_check_room_change endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:960F, 9628 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_change_room proc near 273F:42E9 A1 BA17 mov ax, character_hotspot 273F:42EC 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID ; Is character the player? 273F:42EF 75 2E jne loc_840 ; Jump if not 273F:42F1 F6 06 9834 FF test cursor_state, 0FFh 273F:42F6 75 26 jnz loc_ret_839 ; Jump if not zero ; Room change code for the player 273F:42F8 úBE 6CEF mov si, offset player_hotspot_rec 273F:42FB 88 74 50 mov [si+HS_DIRECTION], dh 273F:42FE C6 44 51 00 mov byte ptr [si+HS_DIRECTION+1], 0 273F:4302 32 F6 xor dh,dh ; Zero register 273F:4304 83 EB 30 sub bx, 48 273F:4307 89 16 982C mov new_room_number_2, dx 273F:430B 89 0E 982E mov new_room_x, cx 273F:430F 89 1E 9830 mov new_room_y, bx 273F:4313 E8 1D23 call character_change_room_check_bumped 273F:4316 75 06 jnz loc_ret_839 ; Jump if not zero 273F:4318 C7 06 982C 0000 mov new_room_number_2, 0 273F:431E loc_ret_839: retn ; Room change code for other characters 273F:431F loc_840: 273F:431F 8B 3E 1927 mov di, active_animation_offset 273F:4323 8B 75 19 mov si, [di+ANIM_HOTSPOT_OFFSET] 273F:4326 53 push bx 273F:4327 51 push cx 273F:4328 52 push dx 273F:4329 E8 017D call check_for_impinging_characters 273F:432C 5A pop dx 273F:432D 59 pop cx 273F:432E 5B pop bx 273F:432F 75 06 jnz loc_841 ; Jump if not zero 273F:4331 33 C0 xor ax,ax ; Zero register 273F:4333 E8 01F2 call set_new_dispatch_action 273F:4336 C3 retn 273F:4337 loc_841: ; xref 273F:432F 273F:4337 83 E1 F8 and cx, 0FFF8h 273F:433A 83 C9 05 or cx, 5 273F:433D 89 0D mov [di+ANIM_X], cx 273F:433F 89 4C 0D mov [si+HS_X], cx 273F:4342 8A CE mov cl, dh 273F:4344 32 F6 xor dh, dh ; Zero register 273F:4346 89 55 0E mov [di+ANIM_ROOM_NUM], dx 273F:4349 89 54 06 mov [si+HS_ROOM_NUM], dx 273F:434C 2B 5C 1B sub bx, [si+HS_HEIGHT_COPY] 273F:434F 83 E3 F8 and bx, 0FFF8h 273F:4352 89 5D 02 mov [di+ANIM_Y], bx 273F:4355 89 5C 0F mov [si+HS_Y], bx 273F:4358 8B DE mov bx, si 273F:435A 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:435D 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:4360 E9 0EE3 jmp character_change_room_2 character_change_room endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_update_movement_2: 273F:4363 ú88 44 44 mov [si+HS_CHAR_MODE], al character_update_movement proc near 273F:4366 ú53 push bx 273F:4367 8B DE mov bx, si 273F:4369 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:436C 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:436F 8A 07 mov al, [bx] 273F:4371 5B pop bx 273F:4372 3C 03 cmp al, CHAR_ACTION_EXEC_SCRIPT 273F:4374 74 10 je loc_ret_845 ; Exit if running script 273F:4376 F6 44 49 FF test byte ptr [si+HS_PATHFIND_COVERED], 0FFh 273F:437A 75 07 jnz loc_844 ; Jump if not zero 273F:437C C6 44 49 01 mov byte ptr [si+HS_PATHFIND_COVERED], 1 273F:4380 E8 2DAB call pathfind_flag_covered_cells 273F:4383 loc_844: ; xref 273F:437A 273F:4383 E9 032B jmp character_reset_direction 273F:4386 loc_ret_845: ; xref 273F:4374, 438B 273F:4386 C3 retn character_update_movement endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5050, 50B1, 512D, 5224, 5EC4, 5EF1, 5F5C ; 7758 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_pathfind_clear proc near 273F:4387 F6 44 49 FF test byte ptr [si+HS_PATHFIND_COVERED], 0FFh 273F:438B 74 F9 jz loc_ret_845 ; Jump if zero 273F:438D C6 44 49 00 mov byte ptr [si+HS_PATHFIND_COVERED], 0 273F:4391 E9 2DAF jmp pathfind_clear_covered_cells character_pathfind_clear endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:56D0, 712F, 7144 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_get_cell proc near 273F:4394 8B 45 0E mov ax, [di+ANIM_ROOM_NUM] 273F:4397 2D 0001 sub ax, 1 ; ax=room # - 1 273F:439A 8B D8 mov bx, ax 273F:439C B1 04 mov cl, 4 273F:439E D3 E3 shl bx, cl ; bx=(R-1)*16 273F:43A0 2B D8 sub bx, ax ; bx=(R-1)*15 273F:43A2 B1 03 mov cl, 3 273F:43A4 D3 E3 shl bx, cl ; bx=(R-1)*120 273F:43A6 81 C3 984A add bx, offset pathfind_data2 273F:43AA 8B 45 02 mov ax, [di+ANIM_Y] 273F:43AD 2D 0088 sub ax, 88h 273F:43B0 03 45 15 add ax, [di+ANIM_HEIGHT_COPY] 273F:43B3 2D 0004 sub ax, 4 273F:43B6 D3 E8 shr ax, cl 273F:43B8 3D 0018 cmp ax, 18h ; (y+height-8-4) >= 200? 273F:43BB 73 50 jae loc_850 ; If yes then jump to exit 273F:43BD 8B D0 mov dx, ax ; ax=0->17 273F:43BF D1 E0 shl ax, 1 273F:43C1 D1 E0 shl ax, 1 ; ax=ax*4 273F:43C3 03 C2 add ax, dx ; ax=ax*5 273F:43C5 03 D8 add bx, ax ; Add bx onto offset ; At this point bx = (Room# - 1) * 120 + (Y# * 5), where Y# is between 0 to 17 273F:43C7 8B 05 mov ax, [di+ANIM_X] 273F:43C9 D3 E8 shr ax, cl 273F:43CB 8B 55 13 mov dx, [di+ANIM_WIDTH_COPY] 273F:43CE D3 EA ` shr dx, cl ; ax=left/8, dx=width/8 273F:43D0 75 03 jnz loc_846 ; Is width < 8 pixels? 273F:43D2 BA 0001 mov dx, 1 ; Yes, default to 1 (8 pixels) 273F:43D5 loc_846: 273F:43D5 2D 0010 sub ax, 10h ; Is left < 0 273F:43D8 73 0A jnc loc_847 ; Jump if not 273F:43DA F7 D8 neg ax 273F:43DC 2B D0 sub dx, ax 273F:43DE 72 2D jc loc_850 ; Exit if offscreen to left 273F:43E0 74 2B jz loc_850 273F:43E2 33 C0 xor ax, ax ; Default to 0 273F:43E4 loc_847: 273F:43E4 8B E8 mov bp, ax 273F:43E6 03 EA add bp, dx ; Add width 273F:43E8 83 ED 29 sub bp, ROOM_PATHS_WIDTH+1 273F:43EB 72 09 jc loc_848 ; Jump if on screen 273F:43ED 83 C5 01 add bp, 1 273F:43F0 2B D5 sub dx, bp 273F:43F2 72 19 jc loc_850 ; Jump if carry Set 273F:43F4 74 17 jz loc_850 ; Jump if zero 273F:43F6 loc_848: 273F:43F6 8B E8 mov bp, ax ; bp,ax=(left/8)-10h 273F:43F8 D3 E8 shr ax, cl 273F:43FA 03 D8 add bx, ax ; Increment X offset 273F:43FC 8B CD mov cx, bp 273F:43FE B8 0080 mov ax, 80h 273F:4401 83 E1 07 and cx, 7 273F:4404 74 02 jz loc_849 273F:4406 D3 E8 shr ax, cl ; Setup bit mask 273F:4408 loc_849: ; xref 273F:4404 273F:4408 8B CA mov cx, dx 273F:440A 0B C9 or cx, cx 273F:440C C3 retn 273F:440D loc_850: ; xref 273F:43BB, 43DE, 43E0, 43F2 ; 43F4 273F:440D 33 C9 xor cx, cx ; Zero register 273F:440F C3 retn pathfind_get_cell endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0107, 60FC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_paused_list_countdown proc near 273F:4410 BB B0AE mov bx, offset character_pause_list 273F:4413 B9 0014 mov cx, NUM_PAUSED_CHARS_SLOTS 273F:4416 locloop_851: 273F:4416 F7 07 FFFF test word ptr [bx+PC_HOTSPOT_PTR],0FFFFh ; Entry position in use? 273F:441A 74 1F jz loc_853 ; Skip entry if not 273F:441C 83 6F 04 01 sub word ptr [bx+PC_COUNTER], 1 ; Decrement entry counter 273F:4420 8B 47 04 mov ax, [bx+PC_COUNTER] 273F:4423 0B C0 or ax,ax ; Reached zero? 273F:4425 75 04 jnz loc_852 ; Jump if not 273F:4427 C7 07 0000 mov word ptr [bx+PC_SRC_CHAR_ID], 0 ; Clear slot 273F:442B loc_852: 273F:442B 81 7F 02 2710 cmp word ptr [bx+PC_DEST_CHAR_ID], START_EXIT_HOTSPOT_ID 273F:4430 73 09 jae loc_853 ; Jump if >= 2710h 273F:4432 8B 77 06 mov si, [bx+PC_HOTSPOT_PTR] 273F:4435 05 0001 add ax, 1 273F:4438 89 44 4A mov [si+HS_PAUSE_CTR], ax 273F:443B loc_853: 273F:443B 83 C3 08 add bx, PAUSED_CHAR_SLOT_SIZE 273F:443E E2 D6 loop locloop_851 ; Loop if cx > 0 273F:4440 C3 retn character_paused_list_countdown endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:479F, 51A8, 5FB9 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_paused_list_reset proc near 273F:4441 53 push bx 273F:4442 BB B0AE mov bx, offset character_pause_list 273F:4445 B9 0014 mov cx, NUM_PAUSED_CHARS_SLOTS 273F:4448 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:444B locloop_854: 273F:444B 3B 07 cmp ax, [bx+PC_SRC_CHAR_ID] 273F:444D 75 16 jne loc_855 ; Skip if entry is empty 273F:444F C7 47 04 0001 mov word ptr [bx+PC_COUNTER], 1 273F:4454 81 7F 02 2710 cmp word ptr [bx+PC_DEST_CHAR_ID], START_EXIT_HOTSPOT_ID 273F:4459 73 0A jae loc_855 ; Jump if above or = 273F:445B 56 push si 273F:445C 8B 77 06 mov si, [bx+PC_HOTSPOT_PTR] 273F:445F C7 44 4A 0001 mov word ptr [si+HS_PAUSE_CTR], 1 273F:4464 5E pop si 273F:4465 loc_855: ; Move to next entry 273F:4465 83 C3 08 add bx, PAUSED_CHAR_SLOT_SIZE 273F:4468 E2 E1 loop locloop_854 ; Loop through list 273F:446A 5B pop bx 273F:446B C3 retn character_paused_list_reset endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3C71, 3C78, 3D0F, 3F3F, 4971, 5687, 5697 ; 7CAF, 7D2C, 81E1, 8224, 830A, 833D, 8385 ; 988C, 9F4B ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ random proc near 273F:446C 56 push si 273F:446D 57 push di 273F:446E 53 push bx 273F:446F 51 push cx 273F:4470 8B 16 38A2 mov dx, random_v1 273F:4474 A1 38A4 mov ax, random_v2 273F:4477 B9 015A mov cx,15Ah 273F:447A BB 4E35 mov bx,4E35h 273F:447D 56 push si 273F:447E 96 xchg si,ax 273F:447F 92 xchg dx,ax 273F:4480 85 C0 test ax,ax 273F:4482 74 02 jz loc_856 ; Jump if zero 273F:4484 F7 E3 mul bx ; dx:ax = reg * ax 273F:4486 loc_856: ; xref 273F:4482 273F:4486 91 xchg cx,ax 273F:4487 85 C0 test ax,ax 273F:4489 74 04 jz loc_857 ; Jump if zero 273F:448B F7 E6 mul si ; dx:ax = reg * ax 273F:448D 03 C8 add cx,ax 273F:448F loc_857: ; xref 273F:4489 273F:448F 96 xchg si,ax 273F:4490 F7 E3 mul bx ; dx:ax = reg * ax 273F:4492 03 D1 add dx,cx 273F:4494 5E pop si 273F:4495 05 0001 add ax,1 273F:4498 83 D2 00 adc dx,0 273F:449B 89 16 38A2 mov random_v1, dx 273F:449F A3 38A4 mov random_v2, ax 273F:44A2 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:44A4 59 pop cx 273F:44A5 5B pop bx 273F:44A6 5F pop di 273F:44A7 5E pop si 273F:44A8 C3 retn random endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4329, 603C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ check_for_impinging_characters proc near 273F:44A9 úBB B14E mov bx, offset animation_table 273F:44AC B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:44AF 8B 55 0E mov dx, [di+ANIM_ROOM_NUM] 273F:44B2 locloop_858: ; xref 273F:44D0 273F:44B2 F6 47 1D FF test byte ptr [bx+ANIM_SKIP], 0FFh 273F:44B6 74 15 jz loc_859 ; Jump if zero 273F:44B8 F6 47 0C FF test byte ptr [bx+ANIM_LAYER], 0FFh 273F:44BC 74 0F jz loc_859 ; Jump if zero 273F:44BE 3B 57 0E cmp dx, [bx+ANIM_ROOM_NUM] 273F:44C1 75 0A jne loc_859 ; Jump if not equal 273F:44C3 53 push bx 273F:44C4 8B 5F 19 mov bx, [bx+ANIM_HOTSPOT_OFFSET] 273F:44C7 E8 10D7 call characters_impinging_check 273F:44CA 5B pop bx 273F:44CB 75 09 jnz loc_860 ; Jump if not zero 273F:44CD loc_859: ; xref 273F:44B6, 44BC, 44C1 273F:44CD 83 C3 29 add bx, ANIMATION_SLOT_SIZE 273F:44D0 E2 E0 loop locloop_858 ; Loop if cx > 0 273F:44D2 0D 0001 or ax, 1 273F:44D5 C3 retn 273F:44D6 loc_860: ; xref 273F:44CB 273F:44D6 33 C0 xor ax, ax 273F:44D8 C3 retn check_for_impinging_characters endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:476C, 85A3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ char_face_up proc near 273F:44D9 ú8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:44DC 8A 47 11 mov al, [bx+PIXEL_FRAMENUM_UP] 273F:44DF C7 45 22 0004 mov word ptr [di+ANIM_CHAR_RECT_Y], 4 273F:44E4 C6 45 26 00 mov byte ptr [di+ANIM_DIRECTION], FACING_UP 273F:44E8 EB 33 jmp short char_face_end char_face_up endp char_face_down proc near 273F:44EA ú8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:44ED 8A 47 12 mov al, [bx+PIXEL_FRAMENUM_DOWN] 273F:44F0 C7 45 22 0004 mov word ptr [di+ANIM_CHAR_RECT_Y], 4 273F:44F5 C6 45 26 01 mov byte ptr [di+ANIM_DIRECTION], FACING_DOWN 273F:44F9 EB 22 jmp short char_face_end char_face_down endp char_face_left proc near 273F:44FB ú8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:44FE 8A 47 13 mov al, [bx+PIXEL_FRAMENUM_LEFT] 273F:4501 C7 45 22 0000 mov word ptr [di+ANIM_CHAR_RECT_Y], 0 273F:4506 C6 45 26 02 mov byte ptr [di+ANIM_DIRECTION], FACING_LEFT 273F:450A EB 11 jmp short char_face_end char_face_left endp char_face_right proc near 273F:450C ú8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:450F 8A 47 14 mov al, [bx+PIXEL_FRAMENUM_RIGHT] 273F:4512 C7 45 22 0000 mov word ptr [di+ANIM_CHAR_RECT_Y], 0 273F:4517 C6 45 26 03 mov byte ptr [di+ANIM_DIRECTION], FACING_RIGHT 273F:451B EB 00 jmp short char_face_end char_face_right endp 273F:451D char_face_end: 273F:451D 8B 5F 07 mov bx, [bx+PIXEL_FRAME_SIZE] ; Calculate frame offset 273F:4520 32 E4 xor ah, ah 273F:4522 F7 E3 mul bx 273F:4524 89 45 08 mov [di+ANIM_FRAME_OFFSET], ax 273F:4527 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4333 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ set_new_dispatch_action proc near 273F:4528 ú83 44 61 05 add word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:452C EB 0C jmp short loc_868 set_new_dispatch_action endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_set_new_dispatch_action proc near 273F:452E 53 push bx 273F:452F 8B C1 mov ax, cx ; Get param 273F:4531 E8 C7B6 call get_room_resource_pointer2 ; Get HS resource 273F:4534 58 pop ax 273F:4535 loc_867: 273F:4535 úC7 44 61 0005 mov word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:453A loc_868: 273F:453A C6 44 4D 00 mov byte ptr [si+HS_V4D], 0 273F:453E D1 E0 shl ax, 1 ; Shift w/zeros fill 273F:4540 05 1380 add ax, offset support_data_offset_list 273F:4543 8B D8 mov bx, ax 273F:4545 8B 07 mov ax, [bx] ; Get support entry 273F:4547 8B DE mov bx, si 273F:4549 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:454C 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:454F 89 47 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], ax 273F:4552 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:4555 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:4558 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:455B C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:455F C3 retn seq_set_new_dispatch_action endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5133, 5F63 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_paused_list_scan proc near 273F:4560 úF6 44 4C FF test byte ptr [si+HS_BLOCKED_FLAG], 0FFh 273F:4564 74 2C jz loc_ret_873 ; Jump if zero character_paused_list_scan_2: 273F:4566 ú53 push bx 273F:4567 BB B0AE mov bx, offset character_pause_list 273F:456A B9 0014 mov cx, NUM_PAUSED_CHARS_SLOTS 273F:456D 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:4570 locloop_871: ; xref 273F:458F 273F:4570 3B 07 cmp ax, [bx+PC_SRC_CHAR_ID] ; Found slot for hotspot? 273F:4572 75 18 jne loc_872 ; Skip if not 273F:4574 C7 47 04 000F mov word ptr [bx+PC_COUNTER], 15 273F:4579 81 7F 02 2710 cmp word ptr [bx+PC_DEST_CHAR_ID], START_EXIT_HOTSPOT_ID 273F:457E 73 0C jae loc_872 273F:4580 56 push si 273F:4581 51 push cx 273F:4582 8B 77 06 mov si, [bx+PC_HOTSPOT_PTR] 273F:4585 C7 44 4A 000F mov word ptr [si+HS_PAUSE_CTR], 15 273F:458A 59 pop cx 273F:458B 5E pop si 273F:458C loc_872: ; xref 273F:4572, 457E 273F:458C 83 C3 08 add bx, PAUSED_CHAR_SLOT_SIZE 273F:458F E2 DF loop locloop_871 ; Loop if cx > 0 273F:4591 5B pop bx 273F:4592 loc_ret_873: ; xref 273F:4564 273F:4592 C3 retn character_paused_list_scan endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:131F, 56FC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ is_roomexit_hotspot proc near 273F:4593 loc_874: ; xref 273F:459F 273F:4593 3B 04 cmp ax,[si] 273F:4595 74 0D je loc_875 ; Jump if equal 273F:4597 83 C6 02 add si,2 273F:459A F7 44 FE FFFF test word ptr [si-2],0FFFFh 273F:459F 75 F2 jnz loc_874 ; Jump if not zero 273F:45A1 0C 01 or al,1 273F:45A3 C3 retn 273F:45A4 loc_875: ; xref 273F:4595 273F:45A4 33 C0 xor ax,ax ; Zero register 273F:45A6 C3 retn is_roomexit_hotspot endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5402, 5713, 5816, 5909, 5944, 5AB8, 5B30 ; 5B96, 5C34, 5CB3, 5D7E, 5DAA, 89F0 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ hotspot_action_precheck proc near 273F:45A7 3D 0420 cmp ax, 420h 273F:45AA 74 0A je loc_876 ; Jump if equal 273F:45AC 3D 0436 cmp ax, 436h 273F:45AF 74 05 je loc_876 ; Jump if equal 273F:45B1 3D 0429 cmp ax, 429h 273F:45B4 75 1A jne loc_879 ; Jump if not equal 273F:45B6 loc_876: ; xref 273F:45AA, 45AF 273F:45B6 50 push ax 273F:45B7 55 push bp 273F:45B8 E8 3F9F call sub_213 ; (855A) 273F:45BB 5D pop bp 273F:45BC 0B C0 or ax, ax ; Zero ? 273F:45BE 74 0B jz loc_878 ; Jump if zero 273F:45C0 58 pop ax 273F:45C1 56 push si 273F:45C2 E8 C725 call get_room_resource_pointer2 273F:45C5 5B pop bx 273F:45C6 87 F3 xchg si, bx ; si=char, bx=hotspot 273F:45C8 loc_877: 273F:45C8 E9 00BB jmp loc_888 273F:45CB loc_878: 273F:45CB 58 pop ax 273F:45CC B8 0003 mov ax, 3 ; Initial call for action 273F:45CF C3 retn ; (prior to moving to it) 273F:45D0 loc_879: 273F:45D0 56 push si 273F:45D1 E8 C716 call get_room_resource_pointer2 273F:45D4 5B pop bx 273F:45D5 87 DE xchg bx, si ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:58B0 hotspot_action_precheck_2: 273F:45D7 8B 44 06 mov ax, [si+HS_ROOM_NUM] ; Is object in same room 273F:45DA 3B 47 06 cmp ax, [bx+HS_ROOM_NUM] ; as the character? 273F:45DD 75 72 jne loc_884 ; Jump if not 273F:45DF F6 44 2A FF test byte ptr [si+HS_ACTION_CTR], 0FFh 273F:45E3 75 46 jnz loc_883 ; Jump if not zero 273F:45E5 C6 44 2A 01 mov byte ptr [si+HS_ACTION_CTR], 1 273F:45E9 81 3E BA1B 0408 cmp active_hotspot_id, FIRST_OBJECT_HOTSPOT_ID 273F:45EF 72 09 jb loc_881 ; Jump if below 273F:45F1 loc_880: ; xref 273F:4606, 463B, 4641, 4647 ; 464F 273F:45F1 úE8 0E95 call character_walking_check 273F:45F4 75 D2 jnz loc_877 ; Jump if not zero 273F:45F6 B8 0003 mov ax, 3 ; Flag walking is required 273F:45F9 C3 retn 273F:45FA loc_881: ; xref 273F:45EF 273F:45FA 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:45FD 3B 47 50 cmp ax, [bx+HS_DIRECTION] 273F:4600 74 C6 je loc_877 ; Jump if equal 273F:4602 80 7F 44 04 cmp byte ptr [bx+HS_CHAR_MODE], CHARMODE_4 273F:4606 74 E9 je loc_880 ; Jump if equal 273F:4608 80 3E BAB9 02 cmp byte ptr script_val_88, 2 273F:460D 74 0D je loc_882 ; Jump if equal 273F:460F 53 push bx 273F:4610 BB 0005 mov bx,5 273F:4613 E8 1D8C call display_message_dialog_2 273F:4616 5B pop bx 273F:4617 C7 44 42 0004 mov word ptr [si+HS_DELAY_CTR], 4 273F:461C loc_882: ; xref 273F:460D 273F:461C C7 47 2B 002A mov word ptr [bx+HS_V2B], 2Ah 273F:4621 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:4624 89 47 2F mov [bx+HS_USE_HOTSPOT_ID], ax 273F:4627 B8 0003 mov ax,3 273F:462A C3 retn 273F:462B loc_883: ; xref 273F:45E3 273F:462B 80 44 2A 01 add byte ptr [si+HS_ACTION_CTR], 1 273F:462F 80 7C 2A 06 cmp byte ptr [si+HS_ACTION_CTR], 6 273F:4633 73 41 jae loc_887 ; Jump if above or = 273F:4635 81 3E BA1B 0408 cmp active_hotspot_id, FIRST_OBJECT_HOTSPOT_ID 273F:463B 73 B4 jae loc_880 ; Jump if above or = 273F:463D 80 7F 44 08 cmp byte ptr [bx+HS_CHAR_MODE], CHARMODE_8 273F:4641 74 AE je loc_880 ; Jump if equal 273F:4643 80 7F 44 04 cmp byte ptr [bx+HS_CHAR_MODE], CHARMODE_4 273F:4647 74 A8 je loc_880 ; Jump if equal 273F:4649 80 7F 44 07 cmp byte ptr [bx+HS_CHAR_MODE], CHARMODE_7 273F:464D 75 17 jne loc_886 ; Jump if not equal 273F:464F EB A0 jmp short loc_880 ; (45F1) 273F:4651 loc_884: ; xref 273F:45DD 273F:4651 F6 44 2A FF test byte ptr [si+HS_ACTION_CTR],0FFh 273F:4655 75 07 jnz loc_885 ; Jump if yes 273F:4657 33 C0 xor ax, ax ; Zero register 273F:4659 53 push bx 273F:465A E8 1D54 call display_message_dialog_3 273F:465D 5B pop bx 273F:465E loc_885: 273F:465E C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:4662 B8 0001 mov ax, 1 273F:4665 C3 retn 273F:4666 loc_886: ; xref 273F:464D 273F:4666 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:466A B8 000E mov ax, 0Eh 273F:466D 53 push bx 273F:466E E8 1D40 call display_message_dialog_3 273F:4671 5B pop bx 273F:4672 B8 0002 mov ax,2 273F:4675 C3 retn 273F:4676 loc_887: ; xref 273F:4633 273F:4676 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:467A B8 000D mov ax, 0Dh 273F:467D 53 push bx 273F:467E E8 1D30 call display_message_dialog_3 273F:4681 5B pop bx 273F:4682 B8 0004 mov ax,4 273F:4685 C3 retn 273F:4686 loc_888: ; xref 273F:45C8 273F:4686 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:468A 81 3E BA1B 0408 cmp active_hotspot_id, FIRST_OBJECT_HOTSPOT_ID 273F:4690 73 0F jae loc_889 ; Jump if above or = 273F:4692 C6 47 44 08 mov byte ptr [bx+HS_CHAR_MODE], CHARMODE_8 273F:4696 C7 47 42 001E mov word ptr [bx+HS_DELAY_CTR], 30 273F:469B 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:469E 89 47 50 mov [bx+HS_DIRECTION], ax 273F:46A1 loc_889: ; xref 273F:4690 273F:46A1 33 C0 xor ax,ax ; Zero register 273F:46A3 C3 retn hotspot_action_precheck endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_45 proc near 273F:46A4 E8 C641 call get_room_resource_pointer 273F:46A7 C6 44 44 07 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_7 273F:46AB C7 44 42 0082 mov word ptr [si+HS_DELAY_CTR], 130 273F:46B0 C3 retn seq_method_45 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_reset_direction proc near 273F:46B1 53 push bx 273F:46B2 80 25 F8 and byte ptr [di+ANIM_X], 0F8h 273F:46B5 80 64 0D F8 and byte ptr [si+HS_X], 0F8h 273F:46B9 80 0D 05 or byte ptr [di+ANIM_X], 5 273F:46BC 80 4C 0D 05 or byte ptr [si+HS_X], 5 273F:46C0 8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:46C3 8A 45 26 mov al, [di+ANIM_DIRECTION] 273F:46C6 3C 01 cmp al, FACING_DOWN 273F:46C8 72 10 jb loc_893 ; Jump if up 273F:46CA 74 09 jz loc_892 ; Jump if down 273F:46CC 3C 03 cmp al, 3 273F:46CE 72 0F jb loc_894 ; Jump if left 273F:46D0 loc_891: 273F:46D0 ú8A 47 14 mov al, [bx+PIXEL_FRAMENUM_RIGHT] 273F:46D3 EB 0D jmp short loc_895 273F:46D5 loc_892: 273F:46D5 8A 47 12 mov al, [bx+PIXEL_FRAMENUM_DOWN] 273F:46D8 EB 08 jmp short loc_895 273F:46DA loc_893: 273F:46DA 8A 47 11 mov al, [bx+PIXEL_FRAMENUM_UP] 273F:46DD EB 03 jmp short loc_895 273F:46DF loc_894: 273F:46DF 8A 47 13 mov al, [bx+PIXEL_FRAMENUM_LEFT] 273F:46E2 loc_895: 273F:46E2 8B 5F 07 mov bx, [bx+PIXEL_FRAME_SIZE] 273F:46E5 32 E4 xor ah, ah ; Zero register 273F:46E7 F7 E3 mul bx ; dx:ax = reg * ax 273F:46E9 89 45 08 mov [di+ANIM_FRAME_OFFSET], ax 273F:46EC 5B pop bx 273F:46ED C3 retn character_reset_direction endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5411, 572B, 57C6, 58C3, 5920, 5958, 5ACA ; 5B43, 5BAA, 5C76, 5CC7, 8A00 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_face_hotspot proc near 273F:46EE 53 push bx 273F:46EF 57 push di 273F:46F0 56 push si 273F:46F1 EB 17 jmp short loc_896 ; (470A) ;* No entry point to code 273F:46F3 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:46F6 8B 1E BA1B mov bx, active_hotspot_id ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:61C5, 61CA character_face_hotspot_2: 273F:46FA 53 push bx 273F:46FB 57 push di 273F:46FC 56 push si 273F:46FD 50 push ax 273F:46FE E8 C5E7 call get_room_resource_pointer 273F:4701 5B pop bx 273F:4702 56 push si 273F:4703 E8 C5E2 call get_room_resource_pointer 273F:4706 5B pop bx 273F:4707 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] 273F:470A loc_896: ; xref 273F:46F1 273F:470A 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:470D 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:4710 72 70 jb loc_903 ; Jump if below 273F:4712 3D 0408 cmp ax, FIRST_OBJECT_HOTSPOT_ID 273F:4715 73 6B jae loc_903 ; Jump if above or = 273F:4717 53 push bx 273F:4718 8B DE mov bx, si 273F:471A 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:471D 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:4720 8A 07 mov al, [bx] ; Get current action 273F:4722 5B pop bx 273F:4723 81 3E BA1B 7530 cmp active_hotspot_id, 7530h 273F:4729 72 17 jb loc_897 273F:472B 5E pop si ; Non selectable hotspot 273F:472C 5F pop di 273F:472D 8A 47 08 mov al, [bx+HS_LOAD_FLAG] 273F:4730 88 45 26 mov [di+ANIM_DIRECTION], al 273F:4733 8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:4736 3C 01 cmp al, FACING_DOWN 273F:4738 72 A0 jb loc_893 ; Jump if up 273F:473A 74 99 jz loc_892 ; Jump if down 273F:473C 3C 03 cmp al, FACING_LEFT 273F:473E 72 9F jb loc_894 ; Jump if left 273F:4740 EB 8E jmp short loc_891 ; Jump for right 273F:4742 loc_897: 273F:4742 8B 54 0F mov dx, [si+HS_Y] 273F:4745 03 54 1B add dx, [si+HS_HEIGHT_COPY] 273F:4748 2B 57 0F sub dx, [bx+HS_Y] 273F:474B 2B 57 1B sub dx, [bx+HS_HEIGHT_COPY] 273F:474E 8B 4C 0D mov cx, [si+HS_X] 273F:4751 2B 4F 0D sub cx, [bx+HS_X] 273F:4754 8B C1 mov ax, cx 273F:4756 0B C0 or ax, ax ; Zero ? 273F:4758 79 02 jns loc_898 ; Jump if not sign 273F:475A F7 D8 neg ax 273F:475C loc_898: ; xref 273F:4758 273F:475C 8B DA mov bx, dx 273F:475E 0B DB or bx, bx ; Zero ? 273F:4760 79 02 jns loc_899 ; Jump if not sign 273F:4762 F7 DB neg bx 273F:4764 loc_899: ; xref 273F:4760 273F:4764 3B D8 cmp bx, ax 273F:4766 72 09 jb loc_900 ; Jump if below 273F:4768 0B D2 or dx, dx ; Zero ? 273F:476A 78 0E js loc_901 ; Jump if sign=1 273F:476C E8 FD6A call char_face_up 273F:476F EB 11 jmp short loc_903 ; (4782) 273F:4771 loc_900: ; xref 273F:4766 273F:4771 0B C9 or cx,cx ; Zero ? 273F:4773 78 0A js loc_902 ; Jump if sign=1 273F:4775 E8 FD83 call char_face_left 273F:4778 EB 08 jmp short loc_903 ; (4782) 273F:477A loc_901: ; xref 273F:476A 273F:477A E8 FD6D call char_face_down 273F:477D EB 03 jmp short loc_903 ; (4782) 273F:477F loc_902: ; xref 273F:4773 273F:477F E8 FD8A call char_face_right 273F:4782 loc_903: ; xref 273F:4710, 4715, 476F, 4778 ; 477D 273F:4782 5E pop si 273F:4783 5F pop di 273F:4784 5B pop bx 273F:4785 C3 retn character_face_hotspot endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_execute_script_proc proc near 273F:4786 8B DD mov bx, bp 273F:4788 8B 07 mov ax, [bx] 273F:478A 50 push ax 273F:478B 83 C5 02 add bp, 2 273F:478E E8 0DF0 call character_walking_end 273F:4791 58 pop ax 273F:4792 E8 F69F call sequence_execute 273F:4795 C3 retn npc_execute_script_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_reset_paused_list proc near 273F:4796 C6 44 44 01 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_1 273F:479A C7 44 42 0016 mov word ptr [si+HS_DELAY_CTR], 16h 273F:479F E8 FC9F call character_paused_list_reset 273F:47A2 8B DE mov bx,si ; Move to next npc action 273F:47A4 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:47A7 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:47AA 89 6F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], bp 273F:47AD C3 retn npc_reset_paused_list endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1E6F, 6279, 6585 ; si = hotspot record ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_check_x_extents proc near 273F:47AE 53 push bx 273F:47AF 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:47B2 B3 09 mov bl, RH_TABLE_ENTRY_SIZE 273F:47B4 F6 E3 mul bl ; Calculate offset 273F:47B6 8B D8 mov bx, ax 273F:47B8 8B 9F BF40 mov bx, [room_info_table][bx] ; Get room record ptr 273F:47BC 83 C3 19 add bx, ROOM_X_START 273F:47BF 8B 44 0D mov ax, [si+HS_X] ; Get X start 273F:47C2 3B 07 cmp ax, [bx] 273F:47C4 72 13 jb loc_905 ; Jump if below 273F:47C6 05 0020 add ax, 20h 273F:47C9 F7 47 02 FFFF test word ptr [bx+2], 0FFFFh 273F:47CE 74 05 jz loc_904 ; Jump if zero 273F:47D0 3B 47 02 cmp ax, [bx+2] 273F:47D3 73 04 jae loc_905 ; Jump if above or = 273F:47D5 loc_904: ; xref 273F:47CE 273F:47D5 5B pop bx 273F:47D6 33 C0 xor ax,ax ; Zero register 273F:47D8 C3 retn 273F:47D9 loc_905: ; xref 273F:47C4, 47D3 273F:47D9 5B pop bx 273F:47DA 0D 0001 or ax,1 273F:47DD C3 retn room_check_x_extents endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00A3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:47DE sub_113 proc near 273F:47DE A1 9832 mov ax, room_number 273F:47E1 E8 C506 call get_room_resource_pointer2 273F:47E4 83 7C 13 FF cmp word ptr [si+ROOM_ENTRY_TIME], 0FFFFh 273F:47E8 74 3F je loc_909 ; Jump if equal 273F:47EA 8B 0E B0AA mov cx, game_time_ctr 273F:47EE 2B 4C 13 sub cx, [si+ROOM_ENTRY_TIME] 273F:47F1 74 36 jz loc_909 ; Jump if zero 273F:47F3 C6 06 1926 01 mov data_669, 1 273F:47F8 81 F9 012C cmp cx, 12Ch 273F:47FC 72 03 jb locloop_906 ; Jump if below 273F:47FE B9 012C mov cx, 12Ch 273F:4801 locloop_906: ; xref 273F:47FC, 4827 273F:4801 51 push cx 273F:4802 úBF B14E mov di, offset animation_table 273F:4805 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:4808 locloop_907: ; xref 273F:4824 273F:4808 F6 45 0C FF test byte ptr [di+ANIM_LAYER], 0FFh 273F:480C 74 13 jz loc_908 ; Jump if zero 273F:480E 81 7D 1B 0408 cmp word ptr [di+ANIM_HOTSPOT_ID], FIRST_OBJECT_HOTSPOT_ID 273F:4813 72 0C jb loc_908 ; Jump if below 273F:4815 8B 75 19 mov si, [di+ANIM_HOTSPOT_OFFSET] 273F:4818 8B 45 11 mov ax, [di+ANIM_TICK_PROC] 273F:481B 57 push di 273F:481C 51 push cx 273F:481D FF D0 call ax 273F:481F 59 pop cx 273F:4820 5F pop di 273F:4821 loc_908: ; xref 273F:480C, 4813 273F:4821 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:4824 E2 E2 loop locloop_907 ; Loop if cx > 0 273F:4826 59 pop cx 273F:4827 E2 D8 loop locloop_906 ; Loop if cx > 0 273F:4829 loc_909: ; xref 273F:47E8, 47F1 273F:4829 C6 06 1926 00 mov data_669, 0 273F:482E C3 retn sub_113 endp 273F:482F 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:2031 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ add_sequence_delay proc near 273F:4830 03 0E B8AB add cx, seq_timer_ctr 273F:4834 33 C0 xor ax,ax ; Zero register 273F:4836 13 06 B8AD adc ax, seq_timer_ctr_2 273F:483A BE B8AF mov si, offset sequence_delay_table 273F:483D EB 62 jmp short add_sequence_delay_2 add_sequence_delay endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0024 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ clear_sequence_delay_table proc near 273F:483F úBE B8AF mov si,offset sequence_delay_table 273F:4842 B9 0028 mov cx, NUM_DELAY_ENTRIES 273F:4845 locloop_910: ; xref 273F:4857 273F:4845 F6 44 06 FF test byte ptr [si+6], 0FFh ; Can the entry be cleared? 273F:4849 74 09 jz loc_911 ; Skip if not 273F:484B C7 04 0000 mov word ptr [si], 0 ; Clear the entry 273F:484F C7 44 02 0000 mov word ptr [si+2], 0 273F:4854 loc_911: 273F:4854 83 C6 07 add si, DELAY_ENTRY_SIZE 273F:4857 E2 EC loop locloop_910 ; Loop if cx > 0 273F:4859 C3 retn clear_sequence_delay_table endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sequence_delay_check proc near 273F:485A 8B 16 B8AB mov dx, seq_timer_ctr 273F:485E 8B 1E B8AD mov bx, seq_timer_ctr_2 273F:4862 úBE B8AF mov si, offset sequence_delay_table 273F:4865 B9 0028 mov cx, NUM_DELAY_ENTRIES 273F:4868 locloop_912: ; xref 273F:4889 273F:4868 F7 04 FFFF test word ptr [si], 0FFFFh ; Any entry here? 273F:486C 74 18 jz loc_913 ; Skip if not 273F:486E 3B 5C 02 cmp bx, [si+2] ; Check high word of expiry time 273F:4871 72 13 jb loc_913 ; Jump if below 273F:4873 3B 14 cmp dx, [si] ; Check low word 273F:4875 72 0F jb loc_913 ; Jump if below 273F:4877 C7 04 0000 mov word ptr [si], 0 ; Timeout for entry reached 273F:487B C7 44 02 0000 mov word ptr [si+2], 0 273F:4880 8B 44 04 mov ax, [si+4] ; Get script to execute 273F:4883 E9 F5AE jmp sequence_execute ; Execute the script 273F:4886 loc_913: 273F:4886 83 C6 07 add si, DELAY_ENTRY_SIZE ; Move to next entry 273F:4889 E2 DD loop locloop_912 ; Loop if cx > 0 273F:488B C3 retn sequence_delay_check endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sequence_delay_list_init proc near 273F:488C úBE B8AF mov si, offset sequence_delay_table 273F:488F B9 0028 mov cx, NUM_DELAY_ENTRIES 273F:4892 locloop_914: 273F:4892 C7 04 0000 mov word ptr [si], 0 273F:4896 83 C6 07 add si, DELAY_ENTRY_SIZE 273F:4899 E2 F7 loop locloop_914 ; Loop if cx > 0 273F:489B C3 retn sequence_delay_list_init endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:489C BE B8AF mov si, offset sequence_delay_table 273F:489F 33 C0 xor ax, ax add_sequence_delay_2: 273F:48A1 8B E9 mov bp, cx 273F:48A3 B9 0028 mov cx, NUM_DELAY_ENTRIES 273F:48A6 locloop_916: 273F:48A6 F7 04 FFFF test word ptr [si],0FFFFh ; Slot free? 273F:48AA 75 13 jnz loc_917 ; If not, then skip 273F:48AC F7 44 02 FFFF test word ptr [si+2],0FFFFh 273F:48B1 75 0C jnz loc_917 273F:48B3 89 2C mov [si],bp ; Store low word of expiry time 273F:48B5 89 44 02 mov [si+2], ax ; Store high word of expiry time 273F:48B8 89 5C 04 mov [si+4], bx ; Store script offset 273F:48BB 88 54 06 mov [si+6], dl 273F:48BE C3 retn 273F:48BF loc_917: 273F:48BF 83 C6 07 add si, DELAY_ENTRY_SIZE ; Loop through table 273F:48C2 E2 E2 loop locloop_916 273F:48C4 03 00 add ax, [bx+si] ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; ; External Entry Point ; ; Timer Handler ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 273F:48C6 timer_handler proc far ; xref 273F:06AA 273F:48C6 50 push ax 273F:48C7 53 push bx 273F:48C8 51 push cx 273F:48C9 52 push dx 273F:48CA 56 push si 273F:48CB 57 push di 273F:48CC 55 push bp 273F:48CD 1E push ds 273F:48CE 06 push es 273F:48CF 9C pushf ; Push flags 273F:48D0 B8 31E4 mov ax,data_seg 273F:48D3 8E D8 mov ds,ax ; Timer ticks incrementor 273F:48D5 81 3E F010 2EE0 cmp timer_ticks, TIMER_TICKS_MAX 273F:48DB 73 05 jae loc_918 ; Jump if above or = 273F:48DD 83 06 F010 01 add timer_ticks, 1 ; (31E4:F010=0) 273F:48E2 loc_918: ; Code below is responsible for blinking musical note and playing music if a music sequence is set 273F:48E2 F6 06 5668 FF test note_flag, 0FFh ; Any need to display note? 273F:48E7 74 52 jz loc_923 ; No, so skip this section 273F:48E9 A0 5668 mov al, note_flag 273F:48EC 24 3F and al,3Fh 273F:48EE 75 46 jnz loc_922 ; Not yet at blink switch over 273F:48F0 80 0E 5668 0F or note_flag, 0Fh ; Reset for blink interval 273F:48F5 80 36 5668 40 xor note_flag, 40h ; Toggle whether note is visble 273F:48FA B8 A000 mov ax, VGA_SEGMENT 273F:48FD 8E C0 mov es,ax 273F:48FF úBF E740 mov di, NOTE_DISPLAY_ADDR ; Where note will be displayed 273F:4902 BB 0007 mov bx, NOTE_IMAGE_WIDTH/2 ; Number of horiz words (width/2) 273F:4905 BA 000E mov dx, NOTE_IMAGE_HEIGHT ; Number of lines to display 273F:4908 F6 06 5668 40 test note_flag, MUSIC_NOTE_VISIBLE 273F:490D 74 18 jz loc_920 ; No, so wipe out area 273F:490F 1E push ds 273F:4910 B8 4502 mov ax, musical_note_seg 273F:4913 8E D8 mov ds,ax 273F:4915 33 F6 xor si,si 273F:4917 loc_919: 273F:4917 8B CB mov cx,bx 273F:4919 F3/ A5 rep movsw ; Loop for moving one line of image 273F:491B ú81 C7 0132 add di, 320-MUSIC_NOTE_WIDTH ; Move to start of next line 273F:491F 83 EA 01 sub dx,1 273F:4922 75 F3 jnz loc_919 ; Jump if not zero 273F:4924 1F pop ds 273F:4925 EB 14 jmp short loc_923 ; (493B) 273F:4927 loc_920: ; xref 273F:490D 273F:4927 33 C0 xor ax,ax ; Blank out area where note is 273F:4929 loc_921: 273F:4929 8B CB mov cx,bx 273F:492B F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:492D 81 C7 0132 add di,132h 273F:4931 83 EA 01 sub dx,1 273F:4934 75 F3 jnz loc_921 ; Jump if not zero 273F:4936 loc_922: ; xref 273F:48EE 273F:4936 80 2E 5668 01 sub note_flag, 1 ; Decrement remaining time until 273F:493B loc_923: ; next time note is shown/hidden 273F:493B F6 06 5660 04 test music_status,4 ; Once every 8 cycles (approx every 273F:4940 74 0D jz loc_924 ; 1/2 second), keep music playing 273F:4942 F6 06 5660 02 test music_status,2 273F:4947 75 06 jnz loc_924 273F:4949 B4 02 mov ah,2 273F:494B FF 1E 5662 call dword ptr [play_music_proc] ; Remaining code is as of yet unknown 273F:494F loc_924: 273F:494F F6 06 38B0 FF test data_781, 0FFh 273F:4954 75 1E jnz loc_925 ; Jump if not zero 273F:4956 80 2E 38B3 01 sub byte ptr data_783,1 ; (31E4:38B3=32h) 273F:495B 75 17 jnz loc_925 ; Jump if not zero 273F:495D 83 06 B8AB 01 add seq_timer_ctr, 1 273F:4962 83 16 B8AD 00 adc seq_timer_ctr_2, 0 273F:4967 C6 06 38B3 32 mov byte ptr data_783,32h ; (31E4:38B3=32h) '2' 273F:496C 80 0E 073D 02 or status_flags2, 2 273F:4971 E8 FAF8 call random 273F:4974 loc_925: ; xref 273F:4954, 495B 273F:4974 83 06 38B1 01 add time_ctr, 1 ; (31E4:38B1=0) 273F:4979 2E: 80 2E 48C4 01 sub byte ptr cs:[48C4h],1 ; (273F:48C4=3) 273F:497F 75 2C jnz loc_928 ; Jump if not zero 273F:4981 B0 02 mov al,2 273F:4983 2E: 80 3E 48C5 44 cmp byte ptr cs:[48C5h],44h ; (273F:48C5=0) 'D' 273F:4989 73 02 jae loc_926 ; Jump if above or = 273F:498B 04 01 add al,1 273F:498D loc_926: ; xref 273F:4989 273F:498D 2E: A2 48C4 mov byte ptr cs:[48C4h],al ; (273F:48C4=3) 273F:4991 2E: 80 06 48C5 01 add byte ptr cs:[48C5h],1 ; (273F:48C5=0) 273F:4997 2E: 80 3E 48C5 5B cmp byte ptr cs:[48C5h],5Bh ; (273F:48C5=0) '[' 273F:499D 72 06 jb loc_927 ; Jump if below 273F:499F 2E: C6 06 48C5 00 mov byte ptr cs:[48C5h],0 ; (273F:48C5=0) ; Interrupt ending code - either send to old timer interrupt, or signal end without calling it 273F:49A5 loc_927: ; xref 273F:499D 273F:49A5 9C pushf ; Push flags 273F:49A6 2E: FF 1E 04AA call dword ptr cs:old_timer_int_proc 273F:49AB EB 04 jmp short loc_929 ; (49B1) 273F:49AD loc_928: ; xref 273F:497F 273F:49AD B0 20 mov al,20h ; ' ' 273F:49AF E6 20 out 20h,al ; port 20h, 8259-1 int command ; al = 20h, end of interrupt 273F:49B1 loc_929: ; xref 273F:49AB 273F:49B1 9D popf ; Pop flags 273F:49B2 07 pop es 273F:49B3 1F pop ds 273F:49B4 5D pop bp 273F:49B5 5F pop di 273F:49B6 5E pop si 273F:49B7 5A pop dx 273F:49B8 59 pop cx 273F:49B9 5B pop bx 273F:49BA 58 pop ax 273F:49BB CF iret ; Interrupt return timer_handler endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0127 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:49BC room_sleep proc near 273F:49BC 83 3E 9832 23 cmp room_number, ROOMNUM_VILLAGE_SHOP 273F:49C1 75 26 jne sleep 273F:49C3 F7 06 BA25 FFFF test old_room_number, 0FFFFh 273F:49C9 75 1E jnz sleep 273F:49CB F6 06 073D 02 test status_flags2, 2 273F:49D0 74 17 jz sleep 273F:49D2 50 push ax 273F:49D3 BB 0010 mov bx,10h 273F:49D6 F6 06 073D 04 test status_flags2, 4 273F:49DB 75 03 jnz loc_930 ; Jump if not zero 273F:49DD BB 0032 mov bx,32h 273F:49E0 loc_930: ; xref 273F:49DB 273F:49E0 E8 561A call play_sound ; (9FFD) 273F:49E3 80 36 073D 06 xor status_flags2, 6 273F:49E8 58 pop ax ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:3B77, 3B8C, 75BC, 75C8, 75DA, 75E6, 75F8 ; 7604, 7616, 764A, 977D, A1C3, A1D9, A5E6 ; A615, A63A, A68D, A6F0, A93F, AA03 273F:49E9 sleep: 273F:49E9 loc_931: ; xref 273F:49C1, 49C9, 49D0, 49ED 273F:49E9 39 06 38B1 cmp time_ctr, ax 273F:49ED 72 FA jb loc_931 273F:49EF C7 06 38B1 0000 mov time_ctr, 0 273F:49F5 C3 retn room_sleep endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5142, 5F79 ; ax=character Hotspot Id, bx=dest x, cx=dest y, dl=[4ch] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_pathfind proc near 273F:49F6 89 26 3942 mov pathfind_sp, sp ; Backup current SP 273F:49FA C7 06 3944 0FA0 mov pathfind_countdown_ctr, 0FA0h 273F:4A00 F6 06 3946 FF test pathfind_in_progress, 0FFh 273F:4A05 74 0E jz loc_933 ; Jump if zero 273F:4A07 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:4A0A 74 03 je loc_932 ; Jump if equal 273F:4A0C 33 C0 xor ax,ax ; Zero register 273F:4A0E C3 retn 273F:4A0F loc_932: 273F:4A0F úBE 3983 mov si, offset player_pathfind_data 273F:4A12 8B 24 mov sp, [si] ; Get SP for restore point 273F:4A14 C3 retn ; (ie. carry on where we left off) 273F:4A15 loc_933: 273F:4A15 BE 3983 mov si, offset player_pathfind_data 273F:4A18 BD 03E8 mov bp, PLAYER_HOTSPOT_ID 273F:4A1B 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:4A1E 74 17 je loc_935 ; Jump if equal 273F:4A20 úBE 4227 mov si, offset chars_pathfind_data 273F:4A23 BD 057A mov bp, 57Ah 273F:4A26 F7 04 FFFF test word ptr [si], 0FFFFh 273F:4A2A 74 10 jz loc_936 ; Jump if zero 273F:4A2C 3B 44 02 cmp ax, [si+2] 273F:4A2F 74 03 je loc_934 ; Jump if equal 273F:4A31 33 C0 xor ax, ax ; Zero register 273F:4A33 C3 retn 273F:4A34 loc_934: ; xref 273F:4A2F 273F:4A34 8B 24 mov sp, [si] 273F:4A36 C3 retn 273F:4A37 loc_935: ; xref 273F:4A1E 273F:4A37 C6 06 3946 01 mov pathfind_in_progress, 1 273F:4A3C loc_936: ; xref 273F:4A2A 273F:4A3C 88 54 04 mov [si+PATHFIND_HS4C], dl 273F:4A3F 89 44 02 mov [si+PATHFIND_CHARACTER_ID], ax ; Store character Id 273F:4A42 8B E5 mov sp, bp ; Handle adjusting destination X for left & right screen edges to place it completely ; off-screen. This will allows characters to walk completely off-screen as they exit 273F:4A44 81 FB 008A cmp bx, 80h + 10 ; dest x >= 10? 273F:4A48 73 05 jae loc_937 ; Jump if yes 273F:4A4A 83 EB 32 sub bx, 50 273F:4A4D EB 09 jmp short loc_938 ; (4A58) 273F:4A4F loc_937: ; xref 273F:4A48 273F:4A4F 81 FB 01B6 cmp bx, 80h + 310 273F:4A53 72 03 jb loc_938 ; Jump if below 273F:4A55 83 C3 32 add bx, 50 273F:4A58 loc_938: 273F:4A58 89 5C 06 mov [si+PATHFIND_DEST_X], bx ; Store X 273F:4A5B 89 4C 08 mov [si+PATHFIND_DEST_Y], cx ; Store Y 273F:4A5E 8B 6D 13 mov bp, [di+ANIM_WIDTH_COPY] 273F:4A61 83 ED 01 sub bp, 1 273F:4A64 B1 03 mov cl, 3 273F:4A66 D3 ED shr bp, cl ; bp=(width copy-1)/8 273F:4A68 57 push di 273F:4A69 ú81 C6 08A2 add si, 8A2h ; Figure out the address for the bit-compressed data for screen walkable areas 273F:4A6D 8B 45 0E mov ax, [di+ANIM_ROOM_NUM] 273F:4A70 8B D8 mov bx, ax 273F:4A72 B1 04 mov cl, 4 273F:4A74 D3 E0 shl ax, cl 273F:4A76 2B C3 sub ax, bx 273F:4A78 B1 03 mov cl, 3 273F:4A7A D3 E0 shl ax, cl ; ax=Room # * 120 ; Extract the bit-compressed data of the pathfinding data for the room into an ; uncompressed 26*42 byte array indicating whether each 8x8 pixel block on screen ; (and a surrounding column and row around the screen edge) can be traveled on ; cx = bit number, dl = number of columns, dh = number of rows 273F:4A7C 05 9849 add ax, offset pathfind_data2 - 1 273F:4A7F 1E push ds 273F:4A80 07 pop es 273F:4A81 8B FE mov di, si ; for player di=4225h 273F:4A83 8B F0 mov si, ax ; si=end of pathfind layer for room 273F:4A85 FD std ; Set for reverse direction 273F:4A86 33 C0 xor ax, ax 273F:4A88 B9 002B mov cx, 2Bh ; # cols + end col of 2nd last row 273F:4A8B F3/ AB rep stosw ; Clear area 273F:4A8D 83 C7 01 add di, 1 ; For player di=41D0h 273F:4A90 B6 18 mov dh, 24 ; Number of rows on-screen 273F:4A92 loc_939: 273F:4A92 B2 05 mov dl, 5 ; Number of bytes horizontally 273F:4A94 loc_940: 273F:4A94 AC lodsb ; Get next byte 273F:4A95 86 E0 xchg ah, al ; Move it into AH 273F:4A97 32 C0 xor al, al ; Reset AL to 0 for storage 273F:4A99 B9 0008 mov cx, 8 ; Number of bits in the byte 273F:4A9C locloop_941: ; xref 273F:4AA2, 4AB3 273F:4A9C D0 EC shr ah, 1 ; Move next bit for processing 273F:4A9E 72 06 jc loc_942 ; Jump if bit set (block occupied) 273F:4AA0 AA stosb ; Store 0 to es:[di] 273F:4AA1 AA stosb ; Store 0 to es:[di] 273F:4AA2 E2 F8 loop locloop_941 ; Loop for remaining bits 273F:4AA4 EB 33 jmp short loc_948 273F:4AA6 loc_942: ; Handling for occupied blocks 273F:4AA6 F6 D0 not al 273F:4AA8 AA stosb ; Store 0FFh to es:[di] 273F:4AA9 AA stosb ; Store 0FFh to es:[di] 273F:4AAA F6 D0 not al 273F:4AAC 8B DD mov bx, bp ; Get width/8 val 273F:4AAE 83 EB 01 sub bx, 1 273F:4AB1 73 1D jnc loc_947 ; Jump if width/8 val != 0 273F:4AB3 loc_943: 273F:4AB3 E2 E7 loop locloop_941 ; Keep looping 273F:4AB5 EB 22 jmp short loc_948 ; (4AD9) 273F:4AB7 loc_944: ; xref 273F:4AD5 273F:4AB7 B9 0008 mov cx,8 273F:4ABA AC lodsb ; String [si] to al 273F:4ABB 86 E0 xchg ah,al 273F:4ABD 32 C0 xor al,al ; Zero register 273F:4ABF locloop_945: ; xref 273F:4AD0 273F:4ABF D0 EC shr ah,1 ; Shift w/zeros fill 273F:4AC1 73 02 jnc loc_946 ; Jump if carry=0 273F:4AC3 8B DD mov bx,bp 273F:4AC5 loc_946: ; xref 273F:4AC1 273F:4AC5 F6 D0 not al 273F:4AC7 AA stosb ; Store al to es:[di] 273F:4AC8 AA stosb ; Store al to es:[di] 273F:4AC9 F6 D0 not al 273F:4ACB 83 EB 01 sub bx,1 273F:4ACE 72 E3 jc loc_943 ; Jump if carry Set 273F:4AD0 loc_947: ; xref 273F:4AB1 273F:4AD0 E2 ED loop locloop_945 ; Loop if cx > 0 273F:4AD2 80 EA 01 sub dl,1 273F:4AD5 75 E0 jnz loc_944 ; Jump if not zero 273F:4AD7 EB 05 jmp short loc_949 ; (4ADE) 273F:4AD9 loc_948: ; xref 273F:4AA4, 4AB5 273F:4AD9 80 EA 01 sub dl,1 273F:4ADC 75 B6 jnz loc_940 ; Jump if not zero 273F:4ADE loc_949: 273F:4ADE B9 0004 mov cx, 4 ; Store end col, next row start col 273F:4AE1 F3/ AA rep stosb 273F:4AE3 B2 05 mov dl, 5 273F:4AE5 80 EE 01 sub dh, 1 273F:4AE8 75 A8 jnz loc_939 ; Jump if not zero 273F:4AEA 83 EF 01 sub di, 1 273F:4AED B9 0029 mov cx, 29h ; Handle final top off-screen row 273F:4AF0 33 C0 xor ax, ax 273F:4AF2 F3/ AB rep stosw ; End of decompression code for the path finding layer. 273F:4AF4 83 EF 1A sub di, 1Ah ; di=3983 again (skips local variables) 273F:4AF7 5E pop si ; si=anim slot 273F:4AF8 33 C0 xor ax, ax ; Zero register 273F:4AFA 89 45 0A mov [di+PATHFIND_Y], ax 273F:4AFD 89 45 0C mov [di+PATHFIND_X], ax 273F:4B00 89 45 10 mov [di+PATHFIND_DEST_X2], ax 273F:4B03 89 45 0E mov [di+PATHFIND_0E], ax 273F:4B06 88 45 05 mov [di+PATHFIND_DEST_STATE], al 273F:4B09 81 2E 3944 02BC sub pathfind_countdown_ctr, 2BCh ; v2=0FA0h-2BCh=CE4h 273F:4B0F 8B 04 mov ax, [si+ANIM_X] ; Get current X 273F:4B11 2D 0080 sub ax, 80h ; Subtract the 80h offset 273F:4B14 73 05 jnc loc_950 ; Jump if current X on-screen 273F:4B16 89 45 0C mov [di+PATHFIND_X], ax 273F:4B19 33 C0 xor ax, ax ; Zero register 273F:4B1B loc_950: ; ax = max(0, X) 273F:4B1B BB 013F mov bx, 319 273F:4B1E 2B 5C 13 sub bx, [si+ANIM_WIDTH_COPY] 273F:4B21 3B C3 cmp ax, bx 273F:4B23 72 07 jb loc_951 ; X + full width on screen? 273F:4B25 2B C3 sub ax, bx 273F:4B27 89 45 0C mov [di+PATHFIND_X], ax ; X = min(X, 319 - width) 273F:4B2A 8B C3 mov ax, bx 273F:4B2C loc_951: 273F:4B2C 8B 5C 02 mov bx, [si+ANIM_Y] 273F:4B2F 80 E3 F8 and bl, 0F8h 273F:4B32 03 5C 15 add bx, [si+ANIM_HEIGHT_COPY] 273F:4B35 83 EB 04 sub bx, 4 273F:4B38 81 EB 0088 sub bx, 88h ; bx=(Y&0F8h+height-4-8) 273F:4B3C 73 05 jnc loc_952 ; Jump if bx (y bottom) < 0 273F:4B3E 89 5D 0A mov [di+PATHFIND_Y], bx 273F:4B41 33 DB xor bx, bx ; Zero register 273F:4B43 loc_952: 273F:4B43 81 FB 00C0 cmp bx, 192 ; Is it on-screen? 273F:4B47 72 0A jb loc_953 ; Jump if below 273F:4B49 81 EB 00BF sub bx, 191 273F:4B4D 89 5D 0A mov [di+PATHFIND_Y], bx 273F:4B50 BB 00BF mov bx, 191 273F:4B53 loc_953: 273F:4B53 8B 4D 06 mov cx, [di+PATHFIND_DEST_X] 273F:4B56 81 E9 0080 sub cx, 128 273F:4B5A 73 05 jnc loc_954 ; Jump if x >= 0 273F:4B5C 89 4D 10 mov [di+PATHFIND_DEST_X2], cx ; Store X (will be negative) 273F:4B5F 33 C9 xor cx, cx 273F:4B61 loc_954: 273F:4B61 BA 0140 mov dx, SCREEN_WIDTH 273F:4B64 2B 54 13 sub dx, [si+ANIM_WIDTH_COPY] 273F:4B67 3B CA cmp cx, dx 273F:4B69 72 07 jb loc_955 ; Jump if fully on screen 273F:4B6B 2B CA sub cx, dx 273F:4B6D 89 4D 10 mov [di+PATHFIND_DEST_X2], cx 273F:4B70 8B CA mov cx, dx 273F:4B72 loc_955: 273F:4B72 8B 55 08 mov dx, [di+PATHFIND_DEST_Y] 273F:4B75 81 EA 0088 sub dx, 88h 273F:4B79 73 02 jnc loc_956 ; Jump if y >= 0 273F:4B7B 33 D2 xor dx, dx ; Zero register 273F:4B7D loc_956: 273F:4B7D 81 FA 00C0 cmp dx, 192 273F:4B81 72 03 jb loc_957 ; Jump if below 273F:4B83 BA 00BF mov dx, 191 273F:4B86 loc_957: ; xref 273F:4B81 273F:4B86 8B E9 mov bp, cx ; current=(ax,bx), dest=(bp,dx). Check to see if a move of only a few pixels is required 273F:4B88 B1 03 mov cl, 3 273F:4B8A D3 E8 shr ax, cl 273F:4B8C D3 EB shr bx, cl 273F:4B8E D3 ED shr bp, cl 273F:4B90 D3 EA shr dx, cl 273F:4B92 3B C5 cmp ax, bp ; Is x/8=dest_x/8? 273F:4B94 75 2B jne loc_961 ; Jump if not 273F:4B96 3B DA cmp bx, dx ; Is y/8=dest_y/8? 273F:4B98 75 27 jne loc_961 ; Jump if not ; Destination is very close to source. ; If (I think) the PATHFIND_DEST_X2 != 0 (ie. dest is partially off-screen), then ; an initial walk entry is placed. Then irrespective, control jumps to loc_1003, ; which puts another left/right walking entry to move the character to dest X 273F:4B9A úBB 3940 mov bx, offset pathfind_buffer_end 273F:4B9D C7 07 0000 mov word ptr [bx], 0 ; Set end of pathfind sequence 273F:4BA1 8B 45 10 mov ax, [di+PATHFIND_DEST_X2] 273F:4BA4 0B C0 or ax, ax ; Any partial off-screen move? 273F:4BA6 74 16 jz loc_960 ; Jump if zero 273F:4BA8 78 07 js loc_958 ; Jump if sign=1 273F:4BAA C7 47 FE 0002 mov word ptr [bx-2], FACING2_RIGHT 273F:4BAF EB 07 jmp short loc_959 ; (4BB8) 273F:4BB1 loc_958: ; xref 273F:4BA8 273F:4BB1 C7 47 FE 0001 mov word ptr [bx-2], FACING2_LEFT 273F:4BB6 F7 D8 neg ax 273F:4BB8 loc_959: ; xref 273F:4BAF 273F:4BB8 89 47 FC mov [bx-4], ax ; Store # steps 273F:4BBB 83 EB 04 sub bx, 4 ; Move back for next record 273F:4BBE loc_960: 273F:4BBE E9 02B3 jmp loc_1003 ; Destination isn't close, so here's where the actual pathfinding needs to be done ; current=(ax,bx)/8, dest=(bp,dx)/8 273F:4BC1 loc_961: ; xref 273F:4B94, 4B98 273F:4BC1 50 push ax 273F:4BC2 53 push bx 273F:4BC3 55 push bp 273F:4BC4 52 push dx 273F:4BC5 89 6D 06 mov [di+PATHFIND_DEST_X], bp ; Store dest pos/8 273F:4BC8 89 55 08 mov [di+PATHFIND_DEST_Y], dx 273F:4BCB D1 E0 shl ax, 1 ; ax=sb_x*2 273F:4BCD 8B F3 mov si, bx ; si=sb_y 273F:4BCF B1 02 mov cl, 2 273F:4BD1 D3 E3 shl bx, cl ; bx=sb_y*4 273F:4BD3 03 DE add bx, si ; bx=sb_y*5 273F:4BD5 D3 E3 shl bx, cl ; bx=sb_y*20 273F:4BD7 03 DE add bx, si ; bx=sb_y*21 273F:4BD9 D3 E3 shl bx, cl ; bx=sb_y*84 273F:4BDB 03 D8 add bx, ax ; bx=sb_y*84 + sb_x*2 273F:4BDD 83 C3 72 add bx, 72h ; Add on buffer & blank line offset 273F:4BE0 03 DF add bx, di ; bx=source cell 273F:4BE2 C7 07 0001 mov word ptr [bx],1 ; Flag source cell 273F:4BE6 D1 E5 shl bp, 1 273F:4BE8 8B F2 mov si, dx 273F:4BEA D3 E6 shl si, cl 273F:4BEC 03 F2 add si, dx 273F:4BEE D3 E6 shl si, cl 273F:4BF0 03 F2 add si, dx 273F:4BF2 D3 E6 shl si, cl 273F:4BF4 03 F5 add si, bp 273F:4BF6 83 C6 72 add si, 72h 273F:4BF9 03 F7 add si, di ; si=dest cell 273F:4BFB C6 45 12 00 mov byte ptr [di+PATHFIND_DEST_OCCUPIED], 0 273F:4BFF F6 04 FF test byte ptr [si], 0FFh ; Is dest cell blocked? 273F:4C02 74 0C jz loc_962 ; Jump if clear 273F:4C04 C7 04 0000 mov word ptr [si], 0 ; Mark dest cell as unblocked 273F:4C08 C6 45 12 01 mov byte ptr [di+PATHFIND_DEST_OCCUPIED], 1 273F:4C0C C6 45 05 01 mov byte ptr [di+PATHFIND_DEST_STATE], 1 ; Dest occupied 273F:4C10 loc_962: 273F:4C10 F6 45 04 FF test byte ptr [di+PATHFIND_HS4C],0FFh 273F:4C14 74 00 jz $+2 273F:4C16 5A pop dx 273F:4C17 59 pop cx 273F:4C18 5D pop bp 273F:4C19 58 pop ax ; Source/8=(ax,bp), Dest/8=(cx,dx), bx=source cell, si=dest cell 273F:4C1A 3B C1 cmp ax,cx ; Start X against Dest X 273F:4C1C 73 19 jae loc_964 ; Jump if >= 273F:4C1E 0B C0 or ax,ax ; Is Start X 0? 273F:4C20 74 06 jz loc_963 ; Jump if yes 273F:4C22 2D 0001 sub ax, 1 273F:4C25 83 EB 02 sub bx, 2 273F:4C28 loc_963: 273F:4C28 C7 45 14 0002 mov word ptr [di+PATHFIND_X_CHANGE1], 2 273F:4C2D B9 0028 mov cx, ROOM_PATHS_WIDTH 273F:4C30 2B C8 sub cx, ax 273F:4C32 89 4D 18 mov [di+PATHFIND_X_CHANGE2], cx 273F:4C35 EB 17 jmp short loc_966 ; (4C4E) 273F:4C37 loc_964: ; xref 273F:4C1C 273F:4C37 3D 0027 cmp ax, ROOM_PATHS_WIDTH - 1 273F:4C3A 74 06 je loc_965 ; Jump if equal 273F:4C3C 05 0001 add ax, 1 273F:4C3F 83 C3 02 add bx, 2 273F:4C42 loc_965: ; xref 273F:4C3A 273F:4C42 C7 45 14 FFFE mov word ptr [di+PATHFIND_X_CHANGE1], 0FFFEh 273F:4C47 89 45 18 mov [di+PATHFIND_X_CHANGE2],ax 273F:4C4A 83 45 18 01 add word ptr [di+PATHFIND_X_CHANGE2], 1 273F:4C4E loc_966: ; xref 273F:4C35 273F:4C4E 3B EA cmp bp, dx 273F:4C50 72 19 jb loc_968 ; Jump if below 273F:4C52 83 FD 17 cmp bp, ROOM_PATHS_HEIGHT - 1 273F:4C55 74 06 je loc_967 ; Jump if equal 273F:4C57 83 C5 01 add bp, 1 273F:4C5A 83 C3 54 add bx, DECODED_PATHS_WIDTH * 2 273F:4C5D loc_967: ; xref 273F:4C55 273F:4C5D C7 45 16 FFAC mov [di+PATHFIND_Y_CHANGE1], -DECODED_PATHS_WIDTH*2 273F:4C62 89 6D 1A mov [di+PATHFIND_Y_CHANGE2], bp 273F:4C65 83 45 1A 01 add [di+PATHFIND_Y_CHANGE2], 1 273F:4C69 EB 17 jmp short loc_970 ; (4C82) 273F:4C6B loc_968: ; xref 273F:4C50 273F:4C6B 0B ED or bp, bp ; Zero ? 273F:4C6D 74 06 jz loc_969 ; Jump if zero 273F:4C6F 83 ED 01 sub bp, 1 273F:4C72 83 EB 54 sub bx, DECODED_PATHS_WIDTH * 2 273F:4C75 loc_969: ; xref 273F:4C6D 273F:4C75 C7 45 16 0054 mov word ptr [di+PATHFIND_Y_CHANGE1], DECODED_PATHS_WIDTH * 2 273F:4C7A B9 0018 mov cx, ROOM_PATHS_HEIGHT 273F:4C7D 2B CD sub cx, bp 273F:4C7F 89 4D 1A mov [di+PATHFIND_Y_CHANGE2], cx 273F:4C82 loc_970: ; This next section populates the walkable sections of the decompressed array ; with incrementing numbers indicating the number of cells away each cell is ; from the source. A walkable path can be later formed by following the ; path of decrementing numbers from the destination to the source and reversing it 273F:4C82 8B 55 14 mov dx,[di+PATHFIND_X_CHANGE1] 273F:4C85 loc_971: ; xref 273F:4CC6, 4CCE, 4CDA 273F:4C85 ú56 push si 273F:4C86 53 push bx 273F:4C87 8B 36 3944 mov si, pathfind_countdown_ctr 273F:4C8B 8B 4D 1A mov cx, [di+PATHFIND_Y_CHANGE2] 273F:4C8E locloop_972: ; xref 273F:4C9F 273F:4C8E 51 push cx 273F:4C8F 53 push bx 273F:4C90 8B 4D 18 mov cx, [di+PATHFIND_X_CHANGE2] 273F:4C93 locloop_973: ; xref 273F:4C98 273F:4C93 E8 021A call pathfind_populate_cells 273F:4C96 03 DA add bx, dx 273F:4C98 E2 F9 loop locloop_973 ; Loop if cx > 0 273F:4C9A 5B pop bx 273F:4C9B 59 pop cx 273F:4C9C 03 5D 16 add bx, [di+PATHFIND_Y_CHANGE1] 273F:4C9F E2 ED loop locloop_972 ; Loop if cx > 0 273F:4CA1 89 36 3944 mov pathfind_countdown_ctr, si 273F:4CA5 5B pop bx 273F:4CA6 5E pop si 273F:4CA7 F7 04 FFFF test word ptr [si], 0FFFFh ; Dest been filled in yet? 273F:4CAB 75 2F jnz loc_977 ; Jump if yes 273F:4CAD 80 7D 1A 18 cmp byte ptr [di+PATHFIND_Y_CHANGE2], ROOM_PATHS_HEIGHT 273F:4CB1 75 08 jne loc_974 ; Jump if not equal 273F:4CB3 80 7D 18 28 cmp byte ptr [di+PATHFIND_X_CHANGE2], ROOM_PATHS_WIDTH 273F:4CB7 74 17 je loc_976 ; Jump if equal 273F:4CB9 EB 07 jmp short loc_975 273F:4CBB loc_974: ; xref 273F:4CB1 273F:4CBB 2B 5D 16 sub bx, [di+PATHFIND_Y_CHANGE1] 273F:4CBE 83 45 1A 01 add word ptr [di+PATHFIND_Y_CHANGE2], 1 273F:4CC2 loc_975: 273F:4CC2 80 7D 18 28 cmp byte ptr [di+PATHFIND_X_CHANGE2], ROOM_PATHS_WIDTH 273F:4CC6 74 BD je loc_971 ; Jump if equal 273F:4CC8 2B DA sub bx, dx 273F:4CCA 83 45 18 01 add word ptr [di+PATHFIND_X_CHANGE2], 1 273F:4CCE EB B5 jmp short loc_971 273F:4CD0 loc_976: 273F:4CD0 F6 45 13 FF test byte ptr [di+PATHFIND_CELL_POPULATED], 0FFh 273F:4CD4 74 08 jz loc_978 ; Jump if no cell populated 273F:4CD6 C6 45 13 00 mov byte ptr [di+PATHFIND_CELL_POPULATED], 0 273F:4CDA EB A9 jmp short loc_971 ; Jump for another try 273F:4CDC loc_977: 273F:4CDC EB 66 jmp short loc_982 273F:4CDE loc_978: 273F:4CDE C6 45 05 02 mov byte ptr [di+PATHFIND_DEST_STATE], 2 ; No path to destination 273F:4CE2 loc_979: 273F:4CE2 F6 45 12 FF test byte ptr [di+PATHFIND_DEST_OCCUPIED], 0FFh 273F:4CE6 74 08 jz loc_980 ; Jump if zero 273F:4CE8 C7 04 FFFF mov word ptr [si], 0FFFFh ; Restore destination occupied 273F:4CEC C6 45 12 00 mov byte ptr [di+PATHFIND_DEST_OCCUPIED], 0 273F:4CF0 loc_980: ; Do a scan of the lines, if necessary, to allow the character to walk up to ; a wall without walking into it 273F:4CF0 57 push di 273F:4CF1 8B EE mov bp, si 273F:4CF3 8B DE mov bx, si ; bx=bp=destination cell 273F:4CF5 B2 FF mov dl, 0FFh 273F:4CF7 8B 4D 06 mov cx, [di+PATHFIND_DEST_X] 273F:4CFA 83 C1 01 add cx, 1 273F:4CFD BF FFFE mov di, 0FFFEh 273F:4D00 E8 0220 call pathfind_scan_line 273F:4D03 5F pop di 273F:4D04 57 push di 273F:4D05 B9 0028 mov cx, ROOM_PATHS_WIDTH 273F:4D08 2B 4D 06 sub cx, [di+PATHFIND_DEST_X] 273F:4D0B BF 0002 mov di, 2 273F:4D0E E8 0212 call pathfind_scan_line 273F:4D11 5F pop di 273F:4D12 57 push di 273F:4D13 8B 4D 08 mov cx, [di+PATHFIND_DEST_Y] 273F:4D16 83 C1 01 add cx, 1 273F:4D19 BF FFAC mov di, -DECODED_PATHS_WIDTH*2 273F:4D1C E8 0204 call pathfind_scan_line 273F:4D1F 5F pop di 273F:4D20 57 push di 273F:4D21 B9 0018 mov cx, ROOM_PATHS_HEIGHT 273F:4D24 2B 4D 08 sub cx, [di+PATHFIND_DEST_Y] 273F:4D27 BF 0054 mov di, DECODED_PATHS_WIDTH*2 273F:4D2A E8 01F6 call pathfind_scan_line 273F:4D2D 5F pop di 273F:4D2E 8B F5 mov si, bp 273F:4D30 3B DE cmp bx, si 273F:4D32 75 0E jne loc_981 ; Jump if not equal 273F:4D34 C6 45 05 03 mov byte ptr [di+PATHFIND_DEST_STATE], 3 273F:4D38 úBB 3940 mov bx, offset pathfind_buffer_end 273F:4D3B C7 07 0000 mov word ptr [bx], 0 273F:4D3F E9 0132 jmp loc_1003 ; (4E74) 273F:4D42 loc_981: ; xref 273F:4D32 273F:4D42 8B F3 mov si, bx 273F:4D44 loc_982: ; xref 273F:4CDC 273F:4D44 F6 45 12 FF test byte ptr [di+PATHFIND_DEST_OCCUPIED], 0FFh 273F:4D48 75 98 jnz loc_979 ; Jump if not zero ; end of cell population ; Fill out any cells that are still blank (ie. anywhere that can't reach the ; destination) as occupied 273F:4D4A FC cld ; Clear direction 273F:4D4B 57 push di 273F:4D4C 83 C7 1C add di, 1Ch ; di=start of grid 273F:4D4F B9 0445 mov cx, DECODED_PATHS_WIDTH*DECODED_PATHS_HEIGHT+1 ;445h 273F:4D52 33 C0 xor ax, ax 273F:4D54 loc_983: 273F:4D54 úF2/ AF repne scasw ; Scan for an empty cell 273F:4D56 0B C9 or cx, cx ; Reached end of list? 273F:4D58 74 07 jz loc_984 ; Jump if yes 273F:4D5A C7 45 FE FFFF mov word ptr [di-2], 0FFFFh ; Replace it with occupied state 273F:4D5F EB F3 jmp short loc_983 273F:4D61 loc_984: 273F:4D61 5F pop di 273F:4D62 33 D2 xor dx, dx 273F:4D64 B1 FF mov cl,0FFh 273F:4D66 úBB 3940 mov bx, offset pathfind_buffer_end 273F:4D69 C7 07 0000 mov word ptr [bx], 0 273F:4D6D F6 45 05 FF test byte ptr [di+PATHFIND_DEST_STATE], 0FFh 273F:4D71 75 1D jnz loc_987 ; Jump if not zero 273F:4D73 8B 45 10 mov ax, [di+PATHFIND_DEST_X2] 273F:4D76 0B C0 or ax,ax ; Zero ? 273F:4D78 74 16 jz loc_987 ; Jump if zero 273F:4D7A 78 07 js loc_985 ; Jump if sign=1 273F:4D7C C7 47 FE 0002 mov word ptr [bx-2], FACING2_RIGHT 273F:4D81 EB 07 jmp short loc_986 ; (4D8A) 273F:4D83 loc_985: ; xref 273F:4D7A 273F:4D83 C7 47 FE 0001 mov word ptr [bx-2], FACING2_LEFT 273F:4D88 F7 D8 neg ax 273F:4D8A loc_986: ; xref 273F:4D81 273F:4D8A 89 47 FC mov [bx-4], ax ; Save # steps 273F:4D8D 83 EB 04 sub bx, 4 273F:4D90 loc_987: ; xref 273F:4D71, 4D78, 4E64, 4E6F 273F:4D90 ú53 push bx 273F:4D91 56 push si ; Form a set of steps starting at the source 273F:4D92 loc_988: 273F:4D92 ú8B 04 mov ax, [si] ; Get steps value from current pos 273F:4D94 2D 0001 sub ax, 1 273F:4D97 74 4A jz loc_992 ; Jump if zero 273F:4D99 F6 C2 26 test dl, 38 273F:4D9C 75 11 jnz loc_989 ; Jump if not zero 273F:4D9E 39 44 AC cmp [si-DECODED_PATHS_WIDTH*2], ax 273F:4DA1 74 67 je loc_996 ; Jump if equal 273F:4DA3 39 44 54 cmp [si+DECODED_PATHS_WIDTH*2], ax 273F:4DA6 74 60 je loc_995 ; Jump if equal 273F:4DA8 39 44 02 cmp [si+2], ax 273F:4DAB 74 38 je loc_993 ; Jump if equal 273F:4DAD EB 11 jmp short loc_990 ; (4DC0) 273F:4DAF loc_989: ; xref 273F:4D9C 273F:4DAF 39 44 02 cmp [si+2], ax 273F:4DB2 74 31 je loc_993 ; Jump if equal 273F:4DB4 39 44 FE cmp [si-2], ax 273F:4DB7 74 07 je loc_990 ; Jump if equal 273F:4DB9 39 44 54 cmp [si+DECODED_PATHS_WIDTH*2], ax 273F:4DBC 74 70 je loc_998 ; Jump if equal 273F:4DBE EB 4A jmp short loc_996 ; (4E0A) 273F:4DC0 loc_990: ; xref 273F:4DAD, 4DB7 273F:4DC0 80 E2 03 and dl,3 273F:4DC3 F6 C2 02 test dl,2 273F:4DC6 75 10 jnz loc_991 ; Jump if not zero 273F:4DC8 80 C6 01 add dh,1 273F:4DCB C7 47 FE 0002 mov word ptr [bx-2], FACING2_RIGHT 273F:4DD0 C7 47 FC 0000 mov word ptr [bx-4], 0 273F:4DD5 83 EB 04 sub bx, 4 273F:4DD8 loc_991: ; xref 273F:4DC6 273F:4DD8 83 EE 02 sub si,2 273F:4DDB 83 07 08 add word ptr [bx],8 273F:4DDE 80 CA 02 or dl,2 273F:4DE1 EB AF jmp short loc_988 ; (4D92) 273F:4DE3 loc_992: ; xref 273F:4D97 273F:4DE3 EB 6D jmp short loc_1000 ; (4E52) 273F:4DE5 loc_993: ; xref 273F:4DAB, 4DB2 273F:4DE5 80 E2 05 and dl,5 273F:4DE8 F6 C2 04 test dl,4 273F:4DEB 75 10 jnz loc_994 ; Jump if not zero 273F:4DED 80 C6 01 add dh,1 273F:4DF0 C7 47 FE 0001 mov word ptr [bx-2], FACING2_LEFT 273F:4DF5 C7 47 FC 0000 mov word ptr [bx-4], 0 273F:4DFA 83 EB 04 sub bx, 4 273F:4DFD loc_994: ; xref 273F:4DEB 273F:4DFD 83 C6 02 add si, 2 273F:4E00 83 07 08 add word ptr [bx], 8 ; Add # steps 273F:4E03 80 CA 04 or dl, 4 273F:4E06 EB 8A jmp short loc_988 ; (4D92) 273F:4E08 loc_995: ; xref 273F:4DA6 273F:4E08 EB 24 jmp short loc_998 ; (4E2E) 273F:4E0A loc_996: ; xref 273F:4DA1, 4DBE 273F:4E0A 80 E2 09 and dl,9 273F:4E0D F6 C2 08 test dl,8 273F:4E10 75 10 jnz loc_997 ; Jump if not zero 273F:4E12 80 C6 01 add dh,1 273F:4E15 C7 47 FE 0008 mov word ptr [bx-2], FACING2_DOWN 273F:4E1A C7 47 FC 0000 mov word ptr [bx-4], 0 273F:4E1F 83 EB 04 sub bx, 4 273F:4E22 loc_997: ; xref 273F:4E10 273F:4E22 83 EE 54 sub si, DECODED_PATHS_WIDTH*2 273F:4E25 83 07 08 add word ptr [bx], 8 ; Add # steps 273F:4E28 80 CA 08 or dl, 8 273F:4E2B E9 FF64 jmp loc_988 ; (4D92) 273F:4E2E loc_998: ; xref 273F:4DBC, 4E08 273F:4E2E 80 E2 11 and dl,11h 273F:4E31 F6 C2 10 test dl,10h 273F:4E34 75 10 jnz loc_999 ; Jump if not zero 273F:4E36 80 C6 01 add dh,1 273F:4E39 C7 47 FE 0004 mov word ptr [bx-2], FACING2_UP 273F:4E3E C7 47 FC 0000 mov word ptr [bx-4], 0 273F:4E43 83 EB 04 sub bx, 4 273F:4E46 loc_999: ; xref 273F:4E34 273F:4E46 83 C6 54 add si, DECODED_PATHS_WIDTH*2 273F:4E49 83 07 08 add word ptr [bx], 8 ; Add # steps 273F:4E4C 80 CA 10 or dl, 10h 273F:4E4F E9 FF40 jmp loc_988 ; (4D92) ; This post-check is used to go through the paths two times - the first two ; tries the path using standard direction checks, the second using the alternate ; checks. If the first run through was the shortest, redo the process a third ; time to get the walking sequence that was obtained the first time 273F:4E52 loc_1000: 273F:4E52 F6 C2 01 test dl, 1 ; Test for exit flag 273F:4E55 75 1B jnz loc_1002 ; Jump if yes 273F:4E57 F6 C1 80 test cl, 80h 273F:4E5A 74 0B jz loc_1001 ; Jump if zero 273F:4E5C 5E pop si 273F:4E5D 5B pop bx 273F:4E5E 8A CE mov cl, dh ; Store number of steps 273F:4E60 32 F6 xor dh, dh ; Reset counter 273F:4E62 B2 20 mov dl, 20h ; Flag for alt direction check 273F:4E64 E9 FF29 jmp loc_987 ; Go get directions again 273F:4E67 loc_1001: 273F:4E67 3A CE cmp cl, dh 273F:4E69 73 07 jae loc_1002 ; Jump if above or = 273F:4E6B 5E pop si 273F:4E6C 5B pop bx 273F:4E6D B2 01 mov dl, 1 ; Flag for exit after retry 273F:4E6F E9 FF1E jmp loc_987 273F:4E72 loc_1002: 273F:4E72 5E pop si 273F:4E73 58 pop ax 273F:4E74 loc_1003: 273F:4E74 FC cld ; Clear direction 273F:4E75 8B 45 0C mov ax, [di+PATHFIND_X] 273F:4E78 A9 FFFF test ax, 0FFFFh ; Check X position 273F:4E7B 74 19 jz loc_1006 273F:4E7D 78 0A js loc_1004 ; Move 273F:4E7F C7 47 FE 0001 mov word ptr [bx-2], FACING2_LEFT 273F:4E84 89 47 FC mov [bx-4], ax ; Save # steps 273F:4E87 EB 0A jmp short loc_1005 273F:4E89 loc_1004: ; xref 273F:4E7D 273F:4E89 C7 47 FE 0002 mov word ptr [bx-2], FACING2_RIGHT 273F:4E8E F7 D8 neg ax 273F:4E90 89 47 FC mov [bx-4], ax ; Save # steps 273F:4E93 loc_1005: 273F:4E93 83 EB 04 sub bx, 4 ; Move back one record 273F:4E96 loc_1006: ; End of pathfinding 273F:4E96 C7 05 0000 mov word ptr [di], 0 273F:4E9A 8B 26 3942 mov sp, pathfind_sp 273F:4E9E C6 06 3946 00 mov pathfind_in_progress, 0 ; Reset in-progress flag 273F:4EA3 B8 0001 mov ax, 1 ; Set return value 273F:4EA6 02 45 05 add al, [di+PATHFIND_DEST_STATE] 273F:4EA9 50 push ax 273F:4EAA 53 push bx 273F:4EAB 06 push es 273F:4EAC 07 pop es 273F:4EAD 5B pop bx 273F:4EAE 58 pop ax 273F:4EAF C3 retn character_pathfind endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4C93 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_populate_cells proc near 273F:4EB0 F7 07 FFFF test word ptr [bx], 0FFFFh ; Is cell occupied? 273F:4EB4 75 48 jnz loc_1013 ; Jump if it is 273F:4EB6 BD FFFF mov bp, 0FFFFh 273F:4EB9 8B 47 AC mov ax, [bx-(DECODED_PATHS_WIDTH*2)] ; Get cell from one line up 273F:4EBC 0B C0 or ax, ax ; Is it occupied 273F:4EBE 74 06 jz loc_1007 ; Jump if not 273F:4EC0 3B C5 cmp ax, bp ; Is it standard occupied indicator? 273F:4EC2 73 02 jae loc_1007 273F:4EC4 8B E8 mov bp,ax ; Store loaded cell value 273F:4EC6 loc_1007: 273F:4EC6 8B 47 54 mov ax, [bx+(DECODED_PATHS_WIDTH*2)] ; Get cell from next line 273F:4EC9 0B C0 or ax, ax ; Is it occupied? 273F:4ECB 74 06 jz loc_1008 ; Jump if not 273F:4ECD 3B C5 cmp ax, bp 273F:4ECF 73 02 jae loc_1008 273F:4ED1 8B E8 mov bp, ax ; Store loaded cell value 273F:4ED3 loc_1008: 273F:4ED3 8B 47 FE mov ax, [bx-2] ; Get cell from left 273F:4ED6 0B C0 or ax, ax ; Is it occupied? 273F:4ED8 74 06 jz loc_1009 ; Jump if not 273F:4EDA 3B C5 cmp ax, bp 273F:4EDC 73 02 jae loc_1009 ; Store loaded cell value 273F:4EDE 8B E8 mov bp, ax 273F:4EE0 loc_1009: 273F:4EE0 8B 47 02 mov ax, [bx+2] ; Get cell from right 273F:4EE3 0B C0 or ax, ax ; Is it occupied? 273F:4EE5 74 06 jz loc_1010 ; Jump if not 273F:4EE7 3B C5 cmp ax, bp 273F:4EE9 73 02 jae loc_1010 273F:4EEB 8B E8 mov bp, ax ; Store loaded cell value 273F:4EED loc_1010: ; At this point, bp contains the lowest value from the surrounding cells, not ; counting entries with 0ffff (occupied). Below we will now add 1 to the value ; and store it in the cell. By repeated calls processing the entire grid, we ; can figure out a path to the destination by following sequential numbers 273F:4EED 83 C5 01 add bp, 1 273F:4EF0 74 06 jz loc_1011 ; If no vals found, skip save 273F:4EF2 89 2F mov [bx], bp ; Store value 273F:4EF4 C6 45 13 01 mov byte ptr [di+PATHFIND_CELL_POPULATED], 1 273F:4EF8 loc_1011: ; xref 273F:4EF0 273F:4EF8 83 EE 03 sub si, 3 ; Decrement countdown ctr 273F:4EFB 72 06 jc loc_1014 ; Break if countdown ended 273F:4EFD loc_ret_1012: ; xref 273F:4F01 273F:4EFD C3 retn 273F:4EFE loc_1013: ; xref 273F:4EB4 273F:4EFE 83 EE 01 sub si, 1 ; Decrement countdown ctr 273F:4F01 73 FA jnc loc_ret_1012 ; Don't break if countdown not ended 273F:4F03 loc_1014: 273F:4F03 89 36 3944 mov pathfind_countdown_ctr, si 273F:4F07 50 push ax 273F:4F08 53 push bx 273F:4F09 51 push cx 273F:4F0A 52 push dx 273F:4F0B 56 push si 273F:4F0C 57 push di 273F:4F0D 55 push bp 273F:4F0E 1E push ds 273F:4F0F 06 push es 273F:4F10 9C pushf 273F:4F11 E8 0034 call pathfind_return_to_sp 273F:4F14 9D popf 273F:4F15 07 pop es 273F:4F16 1F pop ds 273F:4F17 5D pop bp 273F:4F18 5F pop di 273F:4F19 5E pop si 273F:4F1A 5A pop dx 273F:4F1B 59 pop cx 273F:4F1C 5B pop bx 273F:4F1D 58 pop ax 273F:4F1E 8B 36 3944 mov si, pathfind_countdown_ctr 273F:4F22 C3 retn pathfind_populate_cells endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4D00, 4D0E, 4D1C, 4D2A ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_scan_line proc near 273F:4F23 8B F5 mov si, bp 273F:4F25 32 F6 xor dh, dh 273F:4F27 locloop_1015: ; xref 273F:4F45 273F:4F27 03 F7 add si, di ; Add increment amount 273F:4F29 80 C6 01 add dh,1 273F:4F2C F7 04 FFFF test word ptr [si], 0FFFFh ; Check cell 273F:4F30 74 13 jz loc_1018 ; Skip if empty (unpopulated) 273F:4F32 78 11 js loc_1018 ; Or if occupied 273F:4F34 3A D6 cmp dl, dh ; Check ctr against max 273F:4F36 72 0C jb loc_ret_1017 ; Exit if below 273F:4F38 75 06 jnz loc_1016 ; Jump if not equal 273F:4F3A 8B 04 mov ax, [si] 273F:4F3C 3B 07 cmp ax, [bx] 273F:4F3E 73 04 jae loc_ret_1017 ; Jump if above or = 273F:4F40 loc_1016: ; xref 273F:4F38 273F:4F40 8B DE mov bx,si 273F:4F42 8A D6 mov dl, dh 273F:4F44 loc_ret_1017: ; xref 273F:4F36, 4F3E 273F:4F44 C3 retn 273F:4F45 loc_1018: ; xref 273F:4F30, 4F32 273F:4F45 E2 E0 loop locloop_1015 ; Loop if cx > 0 273F:4F47 C3 retn pathfind_scan_line endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4F11 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_return_to_sp proc near 273F:4F48 89 25 mov [di], sp 273F:4F4A 8B 26 3942 mov sp, pathfind_sp 273F:4F4E 33 C0 xor ax, ax 273F:4F50 FC cld ; Clear direction 273F:4F51 C3 retn pathfind_return_to_sp endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5039, 5127, 5EB0, 5EE9, 5F56 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_reset proc near 273F:4F52 53 push bx 273F:4F53 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:4F56 75 0E jne loc_1019 ; Jump if not equal 273F:4F58 úBB 3983 mov bx, offset player_pathfind_data 273F:4F5B C6 06 3946 00 mov pathfind_in_progress, 0 273F:4F60 C7 07 0000 mov word ptr [bx], 0 273F:4F64 5B pop bx 273F:4F65 C3 retn 273F:4F66 loc_1019: ; xref 273F:4F56 273F:4F66 úBB 4227 mov bx, offset chars_pathfind_data 273F:4F69 3B 47 02 cmp ax, [bx+2] 273F:4F6C 75 04 jne loc_1020 ; Jump if not equal 273F:4F6E C7 07 0000 mov word ptr [bx], 0 273F:4F72 loc_1020: ; xref 273F:4F6C 273F:4F72 5B pop bx 273F:4F73 C3 retn pathfind_reset endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8FE4 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_pathfind_reset proc near 273F:4F74 C6 06 3946 00 mov pathfind_in_progress, 0 273F:4F79 úBE 4227 mov si, offset chars_pathfind_data 273F:4F7C C7 04 0000 mov word ptr [si], 0 273F:4F80 C3 retn seq_pathfind_reset endp 273F:4F81 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Contains all the standard handling for characters, such as the Skorl ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ standard_character_tick_proc proc near 273F:4F82 ú8B DE mov bx, si 273F:4F84 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:4F87 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:4F8A E8 11EB call talk_countdown_handler 273F:4F8D F7 44 2F FFFF test word ptr [si+HS_USE_HOTSPOT_ID], 0FFFFh 273F:4F92 74 1F jz loc_1023 ; Jump if no hotspot to use 273F:4F94 8B 44 2B mov ax, [si+HS_V2B] 273F:4F97 3D 002A cmp ax, 2Ah 273F:4F9A 74 03 je loc_1022 ; Jump if equal 273F:4F9C E9 F3C7 jmp character_update_movement 273F:4F9F loc_1022: ; xref 273F:4F9A 273F:4F9F A3 BA1B mov active_hotspot_id, ax 273F:4FA2 8B 44 2F mov ax, [si+HS_USE_HOTSPOT_ID] 273F:4FA5 A3 BA19 mov use_hotspot_id, ax 273F:4FA8 8B 44 2D mov ax, [si+HS_HOTSPOT_SCRIPT_ID] 273F:4FAB E8 EE86 call sequence_execute 273F:4FAE C7 44 2F 0000 mov word ptr [si+HS_USE_HOTSPOT_ID], 0 273F:4FB3 loc_1023: 273F:4FB3 F7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:4FB8 74 05 jz loc_1024 273F:4FBA 83 6C 1F 01 sub word ptr [si+HS_FRAME_CTR], 1 273F:4FBE C3 retn 273F:4FBF loc_1024: 273F:4FBF E8 C149 call character_find_impinging_chars 273F:4FC2 F6 45 1D FF test byte ptr [di+ANIM_SKIP], 0FFh 273F:4FC6 74 4C jz loc_1028 ; Skip if necessary 273F:4FC8 F7 06 10BE FFFF test num_impinging_chars, 0FFFFh ; Bumped into anyone? 273F:4FCE 74 40 jz loc_1027 ; Jump if not 273F:4FD0 56 push si 273F:4FD1 úBE 10C0 mov si, offset impinging_char_list 273F:4FD4 loc_1025: 273F:4FD4 AD lodsw ; Get character Id 273F:4FD5 0B C0 or ax, ax ; End of list reached? 273F:4FD7 74 2C jz loc_1026 ; Jump if yes 273F:4FD9 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID ; Is it the player? 273F:4FDC 75 F6 jne loc_1025 ; Skip if yes 273F:4FDE 80 3E 6D33 02 cmp [player_hotspot_rec+HS_CHAR_MODE], CHARMODE_IDLE 273F:4FE3 75 20 jne loc_1026 ; Jump if not equal 273F:4FE5 5E pop si ; Signal the player to move 273F:4FE6 úBE 6CEF mov si, offset player_hotspot_rec ; out of the way 273F:4FE9 BF B14E mov di, offset animation_table 273F:4FEC 8B DE mov bx, si 273F:4FEE 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:4FF1 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:4FF4 C6 44 4C 01 mov byte ptr [si+HS_BLOCKED_FLAG], BS_INITIAL 273F:4FF8 C7 44 52 0000 mov [si+HS_DEST_HOTSPOT], 0 273F:4FFD C6 06 9834 04 mov cursor_state, CURSORSTATE_BUMPED 273F:5002 E9 0661 jmp character_set_random_dest 273F:5005 loc_1026: 273F:5005 5E pop si 273F:5006 C6 44 44 03 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_PAUSED 273F:500A C7 44 42 000A mov word ptr [si+HS_DELAY_CTR], 10 273F:500F C3 retn 273F:5010 loc_1027: 273F:5010 C6 45 1D 00 mov byte ptr [di+ANIM_SKIP], 0 273F:5014 loc_1028: 273F:5014 F7 44 47 FFFF test [si+SCRIPT_HOTSPOT_ID], 0FFFFh 273F:5019 74 11 jz loc_1029 ; Jump if zero 273F:501B 8B 44 47 mov ax, [si+SCRIPT_HOTSPOT_ID] 273F:501E A3 BA19 mov use_hotspot_id, ax 273F:5021 8B 44 45 mov ax, [si+HS_TICK_SCRIPT_OFFSET] 273F:5024 E8 EE0D call sequence_execute 273F:5027 C7 44 47 0000 mov word ptr [si+SCRIPT_HOTSPOT_ID], 0 273F:502C loc_1029: 273F:502C F7 44 4A FFFF test word ptr [si+HS_PAUSE_CTR], 0FFFFh 273F:5031 74 21 jz loc_1031 ; Jump if zero 273F:5033 E8 F330 call character_update_movement 273F:5036 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:5039 E8 FF16 call pathfind_reset 273F:503C 83 7C 4A 01 cmp word ptr [si+HS_PAUSE_CTR], 1 273F:5040 74 03 je loc_1030 ; Jump if equal 273F:5042 E9 F521 jmp character_paused_list_scan_2 273F:5045 loc_1030: ; xref 273F:5040 273F:5045 C7 44 4A 0000 mov word ptr [si+HS_PAUSE_CTR], 0 273F:504A F6 44 44 FF test byte ptr [si+HS_CHAR_MODE], 0FFh 273F:504E 75 04 jnz loc_1031 ; Jump if not zero 273F:5050 E8 F334 call character_pathfind_clear 273F:5053 C3 retn 273F:5054 loc_1031: ; xref 273F:5031, 504E 273F:5054 F6 44 44 FF test byte ptr [si+HS_CHAR_MODE], 0FFh 273F:5058 75 02 jnz loc_1032 ; Jump if not zero 273F:505A EB 6C jmp short loc_1040 ; (50C8) 273F:505C loc_1032: ; xref 273F:5058 273F:505C 8A 44 44 mov al, [si+HS_CHAR_MODE] 273F:505F 3C 06 cmp al, CHARMODE_6 273F:5061 75 17 jne loc_1034 ; Jump if not equal 273F:5063 E8 F300 call character_update_movement 273F:5066 53 push bx 273F:5067 úBB 10BE mov bx, offset num_impinging_chars 273F:506A loc_1033: ; xref 273F:5076 273F:506A 8B 07 mov ax, [bx] ; Get impinging char Id 273F:506C 0B C0 or ax, ax ; End of list reached? 273F:506E 74 37 jz loc_1037 273F:5070 83 C3 02 add bx, 2 ; Move to next entry 273F:5073 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID ; Is character the player? 273F:5076 75 F2 jne loc_1033 ; Keep looping 273F:5078 5B pop bx 273F:5079 C3 retn 273F:507A loc_1034: ; HS[44h] != 6 273F:507A F7 44 42 FFFF test word ptr [si+HS_DELAY_CTR], 0FFFFh 273F:507F 74 27 jz loc_1038 ; Jump if zero 273F:5081 E8 F2E2 call character_update_movement 273F:5084 F7 44 50 FFFF test word ptr [si+HS_DIRECTION], 0FFFFh 273F:5089 74 17 jz loc_1035 ; Jump if zero 273F:508B 56 push si 273F:508C 8B 5C 50 mov bx, [si+HS_DIRECTION] 273F:508F E8 BC56 call get_room_resource_pointer 273F:5092 5B pop bx 273F:5093 87 F3 xchg si, bx ; si=char Id, 273F:5095 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:5098 3B 47 06 cmp ax, [bx+HS_ROOM_NUM] 273F:509B 75 0B jne loc_1038 ; Jump if not equal 273F:509D E8 0501 call characters_impinging_check 273F:50A0 74 06 jz loc_1038 ; Jump if zero 273F:50A2 loc_1035: ; xref 273F:5089 273F:50A2 83 6C 42 01 sub word ptr [si+HS_DELAY_CTR], 1 273F:50A6 loc_ret_1036: ; xref 273F:50BB 273F:50A6 C3 retn 273F:50A7 loc_1037: ; xref 273F:506E 273F:50A7 5B pop bx 273F:50A8 loc_1038: ; xref 273F:507F, 509B, 50A0 273F:50A8 33 C0 xor ax,ax ; Zero register 273F:50AA 89 44 50 mov [si+HS_DIRECTION], ax 273F:50AD 86 44 44 xchg [si+HS_CHAR_MODE], al 273F:50B0 50 push ax 273F:50B1 E8 F2D3 call character_pathfind_clear 273F:50B4 58 pop ax 273F:50B5 3C 04 cmp al, CHARMODE_4 273F:50B7 74 04 je loc_1039 ; Jump if equal 273F:50B9 3C 07 cmp al, CHARMODE_7 273F:50BB 75 E9 jne loc_ret_1036 ; Jump if not equal 273F:50BD loc_1039: ; xref 273F:50B7 273F:50BD C7 44 33 0000 mov word ptr [si+HS_V33], 0 273F:50C2 B8 0001 mov ax, 1 273F:50C5 E9 12E9 jmp display_message_dialog 273F:50C8 loc_1040: ; xref 273F:505A 273F:50C8 F7 44 58 FFFF test word ptr [si+HS_V58], 0FFFFh 273F:50CD 74 0F jz loc_1041 ; Jump if zero 273F:50CF F6 06 6D52 FF test player_action_state, 0FFh 273F:50D4 74 08 jz loc_1041 ; Jump if zero 273F:50D6 C6 44 2A C7 mov byte ptr [si+HS_ACTION_CTR], 199 273F:50DA C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:50DD C3 retn 273F:50DE loc_1041: ; xref 273F:50CD, 50D4 273F:50DE 8A 07 mov al, [bx] ; Get current atcion 273F:50E0 0A C0 or al,al ; Any defined? 273F:50E2 75 06 jnz loc_1042 ; Jump if yes 273F:50E4 B8 0002 mov ax, 2 273F:50E7 E9 F279 jmp character_update_movement_2 273F:50EA loc_1042: ; xref 273F:50E2 273F:50EA 3C 05 cmp al, CHAR_ACTION_CONTINUE_WALK 273F:50EC 74 28 je loc_1045 273F:50EE 3C 01 cmp al, CHAR_ACTION_START_WALK 273F:50F0 74 32 je loc_1048 ; Jump if equal 273F:50F2 3C 04 cmp al, CHAR_ACTION_PROCESSING_PATH 273F:50F4 74 3A je loc_1049 ; Jump if equal 273F:50F6 3C 03 cmp al, CHAR_ACTION_EXEC_SCRIPT 273F:50F8 74 1F je loc_1046 ; Jump if equal ; Dispatching action 273F:50FA 8B 45 0E mov ax, [di+ANIM_ROOM_NUM] 273F:50FD F7 47 03 FFFF test word ptr [bx+CURRENT_ACTION_ROOM_NUM], 0FFFFh 273F:5102 75 03 jnz loc_1043 ; Jump if not zero 273F:5104 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:5107 loc_1043: ; xref 273F:5102 273F:5107 3B 47 03 cmp ax, [bx+CURRENT_ACTION_ROOM_NUM] ; Compare against room number 273F:510A 74 03 je loc_1044 ; Jump if equal 273F:510C E9 01F6 jmp npc_change_room 273F:510F loc_1044: ; xref 273F:510A 273F:510F C6 45 1D 00 mov byte ptr [di+ANIM_SKIP], 0 273F:5113 E9 F0A8 jmp action_dispatch 273F:5116 loc_1045: ; xref 273F:50EC 273F:5116 E9 00E0 jmp loc_1060 ; (51F9) 273F:5119 loc_1046: ; xref 273F:50F8 273F:5119 E8 BE8D call hotspot_script_execute 273F:511C 0B C0 or ax,ax ; Zero ? 273F:511E 75 03 jnz loc_ret_1047 ; Jump if not zero 273F:5120 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:5123 loc_ret_1047: ; xref 273F:511E 273F:5123 C3 retn 273F:5124 loc_1048: ; Start walk 273F:5124 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:5127 E8 FE28 call pathfind_reset 273F:512A C6 07 04 mov byte ptr [bx], CHAR_ACTION_PROCESSING_PATH 273F:512D E8 F257 call character_pathfind_clear 273F:5130 loc_1049: ; Processing walk path 273F:5130 56 push si 273F:5131 57 push di 273F:5132 53 push bx 273F:5133 E8 F42A call character_paused_list_scan 273F:5136 8B 4C 56 mov cx, [si+HS_DEST_Y] 273F:5139 8B 5C 54 mov bx, [si+HS_DEST_X] 273F:513C 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:513F 8A 54 4C mov dl, [si+HS_BLOCKED_FLAG] 273F:5142 E8 F8B1 call character_pathfind 273F:5145 5A pop dx 273F:5146 5F pop di 273F:5147 5E pop si 273F:5148 0B C0 or ax,ax ; Zero ? 273F:514A 75 01 jnz loc_1050 ; Jump if not zero 273F:514C C3 retn 273F:514D loc_1050: ; xref 273F:514A 273F:514D 3D 0001 cmp ax, PF_OK 273F:5150 74 0C je loc_1051 ; Jump if equal 273F:5152 F7 44 52 FFFF test [si+HS_DEST_HOTSPOT], 0FFFFh 273F:5157 75 07 jnz loc_1052 ; Jump if not zero 273F:5159 3D 0002 cmp ax, PF_DEST_OCCUPIED 273F:515C 75 02 jne loc_1052 ; Jump if not equal 273F:515E loc_1051: ; xref 273F:5150 273F:515E EB 79 jmp short loc_1058 ; (51D9) 273F:5160 loc_1052: ; xref 273F:5157, 515C 273F:5160 87 D3 xchg dx,bx 273F:5162 80 7C 4C 02 cmp byte ptr [si+HS_BLOCKED_FLAG], BS_FINAL 273F:5166 74 24 je loc_1054 ; Jump if equal 273F:5168 80 44 4C 01 add byte ptr [si+HS_BLOCKED_FLAG], 1 273F:516C F6 44 4D FF test byte ptr [si+HS_V4D], 0FFh 273F:5170 75 0B jnz loc_1053 ; Jump if not zero 273F:5172 83 44 61 05 add word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:5176 C6 44 4D 01 mov byte ptr [si+HS_V4D], 1 273F:517A 83 C3 05 add bx, CURRENT_ACTION_RECORD_SIZE 273F:517D loc_1053: ; xref 273F:5170 273F:517D C7 47 01 13C2 mov word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 13C2h 273F:5182 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:5185 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:5188 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:518B C3 retn 273F:518C loc_1054: ; xref 273F:5166 273F:518C 53 push bx 273F:518D úBB 10C0 mov bx, offset impinging_char_list 273F:5190 loc_1055: ; xref 273F:519C 273F:5190 8B 07 mov ax, [bx] 273F:5192 0B C0 or ax,ax ; Zero ? 273F:5194 74 11 jz loc_1056 ; Jump if zero 273F:5196 83 C3 02 add bx,2 273F:5199 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:519C 75 F2 jne loc_1055 ; Jump if not equal 273F:519E 5B pop bx 273F:519F E8 0006 call sub_125 ; (51A8) 273F:51A2 C6 44 44 06 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_6 273F:51A6 C3 retn 273F:51A7 loc_1056: ; xref 273F:5194 273F:51A7 5B pop bx 273F:51A8 sub_125 proc near 273F:51A8 E8 F296 call character_paused_list_reset 273F:51AB E8 F1B8 call character_update_movement 273F:51AE 83 6C 61 05 sub word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:51B2 C6 44 4D 00 mov byte ptr [si+HS_V4D], 0 273F:51B6 C6 44 4C 00 mov byte ptr [si+HS_BLOCKED_FLAG], BS_NONE 273F:51BA C6 44 44 03 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_3 273F:51BE C7 44 42 0002 mov word ptr [si+HS_DELAY_CTR], 2 273F:51C3 8B DE mov bx, si 273F:51C5 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:51C8 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:51CB 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:51CE 3B 47 03 cmp ax, [bx+CURRENT_ACTION_ROOM_NUM] 273F:51D1 74 05 je loc_ret_1057 ; Jump if equal 273F:51D3 C7 44 52 FFFF mov [si+HS_DEST_HOTSPOT], 0FFFFh 273F:51D8 loc_ret_1057: ; xref 273F:51D1 273F:51D8 C3 retn sub_125 endp standard_character_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:51D9 loc_1058: ; xref 273F:515E 273F:51D9 C6 44 4C 00 mov byte ptr [si+HS_BLOCKED_FLAG], BS_NONE 273F:51DD F7 07 FFFF test word ptr [bx], 0FFFFh ; Any pathfinding set defined? 273F:51E1 75 06 jnz loc_1059 ; Jump if yes 273F:51E3 8B DA mov bx, dx 273F:51E5 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:51E8 C3 retn 273F:51E9 loc_1059: ; xref 273F:51E1 273F:51E9 87 DA xchg bx,dx 273F:51EB C6 07 05 mov byte ptr [bx], CHAR_ACTION_CONTINUE_WALK 273F:51EE E8 F01C call character_translate_movements 273F:51F1 83 65 02 F8 and word ptr [di+ANIM_Y], 0FFF8h 273F:51F5 83 64 0F F8 and word ptr [si+HS_Y], 0FFF8h 273F:51F9 loc_1060: ; xref 273F:5116 273F:51F9 8B 44 52 mov ax, [si+HS_DEST_HOTSPOT] 273F:51FC 0B C0 or ax,ax ; Zero ? 273F:51FE 74 17 jz loc_1062 ; Jump if zero 273F:5200 3D FFFF cmp ax,0FFFFh 273F:5203 74 12 je loc_1062 ; Jump if equal 273F:5205 56 push si 273F:5206 53 push bx 273F:5207 E8 1FE4 call room_exit_hs_get_pointer 273F:520A 8A 44 0C mov al,[si+REHS_EXIT_BLOCKED] 273F:520D 5B pop bx 273F:520E 5E pop si 273F:520F 0A C0 or al,al ; Zero ? 273F:5211 74 04 jz loc_1062 ; Jump if zero 273F:5213 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:5216 loc_ret_1061: ; xref 273F:521C 273F:5216 C3 retn 273F:5217 loc_1062: ; xref 273F:51FE, 5203, 5211 273F:5217 E8 BF9B call character_paused_list_check 273F:521A 0B C0 or ax,ax ; Zero ? 273F:521C 75 F8 jnz loc_ret_1061 ; Jump if not zero 273F:521E F6 44 49 FF test byte ptr [si+HS_PATHFIND_COVERED], 0FFh 273F:5222 74 03 jz loc_1063 ; Jump if zero 273F:5224 E8 F160 call character_pathfind_clear 273F:5227 loc_1063: 273F:5227 8B DE mov bx,si 273F:5229 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:522C 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:522F E8 BC7E call character_update_frame 273F:5232 0A C0 or al, al ; Zero ? 273F:5234 75 02 jnz loc_1064 ; Jump if not zero 273F:5236 EB 03 jmp short loc_1065 273F:5238 loc_1064: 273F:5238 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:523B loc_1065: 273F:523B F7 44 52 FFFF test [si+HS_DEST_HOTSPOT], 0FFFFh ; Walking to exit? 273F:5240 74 03 jz loc_ret_1066 ; If not then return 273F:5242 E8 F043 call character_check_room_change ; Room change check 273F:5245 loc_ret_1066: 273F:5245 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß character_change_room_2: 273F:5246 80 25 F8 and byte ptr [di+ANIM_X], 0F8h 273F:5249 80 64 0D F8 and byte ptr [si+HS_X], 0F8h 273F:524D 80 0D 05 or byte ptr [di+ANIM_X], 5 273F:5250 80 4C 0D 05 or byte ptr [si+HS_X], 5 273F:5254 C6 44 60 00 mov byte ptr [si+HS_EXIT_CTR], 0 273F:5258 C6 45 1D 2A mov byte ptr [di+ANIM_SKIP], 2Ah 273F:525C C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:525F F6 C1 FF test cl, 0FFh ; Any direction specified? 273F:5262 74 12 jz loc_ret_1068 ; Exit if not 273F:5264 F6 C1 80 test cl, 80h 273F:5267 75 0E jnz loc_1069 ; Face up 273F:5269 F6 C1 40 test cl, 40h 273F:526C 75 0C jnz loc_1070 ; Face down 273F:526E F6 C1 20 test cl, 20h 273F:5271 75 0A jnz loc_1071 ; Face left 273F:5273 E9 F296 jmp char_face_right 273F:5276 loc_ret_1068: 273F:5276 C3 retn 273F:5277 loc_1069: 273F:5277 E9 F25F jmp char_face_up 273F:527A loc_1070: 273F:527A E9 F26D jmp char_face_down 273F:527D loc_1071: 273F:527D E9 F27B jmp char_face_left ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_unknown_1 proc near 273F:5280 F6 06 6D52 FF test player_action_state, 0FFh 273F:5285 74 0E jz loc_1072 ; Jump if zero 273F:5287 C7 44 42 000C mov word ptr [si+HS_DELAY_CTR], 0Ch 273F:528C C6 44 44 03 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_3 273F:5290 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:5294 C3 retn 273F:5295 loc_1072: 273F:5295 8B 4D 1B mov cx, [di+ANIM_HOTSPOT_ID] 273F:5298 89 0E 983F mov data_1090, cx 273F:529C C7 06 9841 0000 mov data_1091, 0 273F:52A2 55 push bp 273F:52A3 BB 0022 mov bx,22h 273F:52A6 BA 03E8 mov dx, PLAYER_HOTSPOT_ID 273F:52A9 E8 10E4 call display_message_dialog 273F:52AC C6 44 44 04 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_4 273F:52B0 C7 44 42 0082 mov word ptr [si+HS_DELAY_CTR], 82h 273F:52B5 5B pop bx 273F:52B6 8B 07 mov ax, [bx] 273F:52B8 89 44 33 mov [si+HS_V33], ax 273F:52BB E9 EF1B jmp loc_825 ; (41D9) npc_unknown_1 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:52BE loc_1073: ; xref 273F:530D 273F:52BE C6 44 60 00 mov byte ptr [si+HS_EXIT_CTR], 0 273F:52C2 F7 44 61 FFFF test word ptr [si+HS_ACTION_OFFSET], 0FFFFh 273F:52C7 74 28 jz loc_1077 ; Jump if no cached actions 273F:52C9 53 push bx 273F:52CA F7 44 4E FFFF test word ptr [si+HS_V4E], 0FFFFh 273F:52CF 74 18 jz loc_1075 ; Jump if zero 273F:52D1 8B 5F 01 mov bx, [bx+CURRENT_ACTION_SUPPORT_TABLE] 273F:52D4 81 FB 13BE cmp bx, 13BEh 273F:52D8 72 06 jb loc_1074 ; Jump if below 273F:52DA ú81 FB 13CE cmp bx, 13CEh ; (273F:13CE=54h) 273F:52DE 72 09 jb loc_1075 ; Jump if below 273F:52E0 loc_1074: ; xref 273F:52D8 273F:52E0 C7 07 0017 mov word ptr [bx], ACTION_RETURN 273F:52E4 C7 47 02 0000 mov word ptr [bx+2], 0 273F:52E9 loc_1075: ; xref 273F:52CF, 52DE 273F:52E9 5B pop bx 273F:52EA 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:52ED 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:52F0 loc_ret_1076: ; xref 273F:52F6 273F:52F0 C3 retn 273F:52F1 loc_1077: ; xref 273F:52C7 273F:52F1 F7 44 5E FFFF test word ptr [si+HS_BLOCKED_SUPPORT_OFFSET], 0FFFFh 273F:52F6 74 F8 jz loc_ret_1076 ; Jump if zero 273F:52F8 8B 44 5E mov ax, [si+HS_BLOCKED_SUPPORT_OFFSET] 273F:52FB 89 47 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], ax 273F:52FE 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:5301 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:5304 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ; This code is jumped to if the NPC is not in the room designated ; by the room number in the current action record. It starts the ; character walking to the exit to route them to the right room ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_change_room: 273F:5305 80 44 60 01 add byte ptr [si+HS_EXIT_CTR], 1 273F:5309 80 7C 60 05 cmp byte ptr [si+HS_EXIT_CTR], 5 273F:530D 73 AF jae loc_1073 ; Jump if above or = 273F:530F 53 push bx 273F:5310 8B 5F 03 mov bx,[bx+CURRENT_ACTION_ROOM_NUM] 273F:5313 E8 00C4 call room_exit_get_coordinates 273F:5316 81 7D 1B 03E9 cmp word ptr [di+ANIM_HOTSPOT_ID], RATPOUCH_HOTSPOT_ID 273F:531B 74 39 je loc_1081 ; Jump if equal ; The following loop counts up the number of characters in that room into dl 273F:531D 51 push cx 273F:531E 52 push dx 273F:531F úBB B14E mov bx, offset animation_table 273F:5322 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:5325 33 D2 xor dx,dx ; Zero register 273F:5327 locloop_1079: ; xref 273F:5346 273F:5327 39 47 0E cmp [bx+ANIM_ROOM_NUM], ax 273F:532A 75 17 jne loc_1080 ; Jump if not equal 273F:532C F6 47 0C FF test byte ptr [bx+ANIM_LAYER], 0FFh 273F:5330 74 11 jz loc_1080 ; Jump if zero 273F:5332 81 7F 1B 03E8 cmp word ptr [bx+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID 273F:5337 72 0A jb loc_1080 ; Jump if below 273F:5339 81 7F 1B 0408 cmp word ptr [bx+ANIM_HOTSPOT_ID], FIRST_OBJECT_HOTSPOT_ID 273F:533E 73 03 jae loc_1080 ; Jump if above or = 273F:5340 80 C2 01 add dl,1 273F:5343 loc_1080: 273F:5343 83 C3 29 add bx, ANIMATION_SLOT_SIZE 273F:5346 E2 DF loop locloop_1079 ; Loop if cx > 0 273F:5348 8A C2 mov al,dl 273F:534A 5A pop dx 273F:534B 59 pop cx 273F:534C 3C 04 cmp al,4 ; 4 or more chars in room? 273F:534E 72 06 jb loc_1081 ; Jump if not 273F:5350 5B pop bx 273F:5351 33 C0 xor ax,ax ; Set action to index #0 in list 273F:5353 E9 F1D2 jmp set_new_dispatch_action 273F:5356 loc_1081: 273F:5356 5B pop bx 273F:5357 8A C6 mov al,dh 273F:5359 80 E6 0F and dh,0Fh 273F:535C 89 4C 54 mov [si+HS_DEST_X],cx 273F:535F 89 54 56 mov [si+HS_DEST_Y],dx 273F:5362 C7 44 52 FFFF mov [si+HS_DEST_HOTSPOT], 0FFFFh 273F:5367 53 push bx 273F:5368 úBB 2E57 mov bx, offset room_exit_hotspots 273F:536B 24 F0 and al, 0F0h 273F:536D 8B 54 06 mov dx, [si+HS_ROOM_NUM] 273F:5370 loc_1082: ; xref 273F:5381 273F:5370 úF6 07 FF test byte ptr [bx], 0FFh 273F:5373 74 5C jz loc_1085 ; Jump if zero 273F:5375 3A 17 cmp dl, [bx] 273F:5377 75 05 jne loc_1083 ; Jump if not equal 273F:5379 3A 47 01 cmp al, [bx+1] 273F:537C 74 05 je loc_1084 ; Jump if equal 273F:537E loc_1083: ; xref 273F:5377 273F:537E 83 C3 04 add bx, 4 273F:5381 EB ED jmp short loc_1082 ; (5370) 273F:5383 loc_1084: 273F:5383 8B 47 02 mov ax, [bx+2] ; Found an entry, set it 273F:5386 89 44 52 mov [si+HS_DEST_HOTSPOT], ax ; into the dest hotspot Id 273F:5389 50 push ax 273F:538A 56 push si 273F:538B E8 1E60 call room_exit_hs_get_pointer 273F:538E 5B pop bx 273F:538F 87 DE xchg bx,si 273F:5391 58 pop ax 273F:5392 F6 47 0C FF test byte ptr [bx+REHS_EXIT_BLOCKED], 0FFh ; Exit blocked? 273F:5396 74 39 jz loc_1085 ; Jump if not blocked ; Code reaches this point if the needed exit is blocked 273F:5398 50 push ax ; Save dest hotspot Id 273F:5399 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID]; Calc offset into support 273F:539C BB 0006 mov bx, 6 ; data set starting at 0bb95h 273F:539F 2D 03E9 sub ax, RATPOUCH_HOTSPOT_ID 273F:53A2 F7 E3 mul bx 273F:53A4 úBB BB95 mov bx, offset support_data_rec_bb95 273F:53A7 03 D8 add bx, ax 273F:53A9 58 pop ax ; Restore dest hotspot Id 273F:53AA 89 47 02 mov [bx+2], ax ; Store id into record as param #1 273F:53AD C6 44 4D 00 mov byte ptr [si+HS_V4D], 0 273F:53B1 83 44 61 05 add word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:53B5 8B C3 mov ax, bx 273F:53B7 5B pop bx 273F:53B8 8B DE mov bx, si 273F:53BA 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:53BD 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:53C0 89 47 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], ax 273F:53C3 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:53C6 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:53C9 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:53CC C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:53D0 C3 retn ; Exit has no hotspot, or has one that's not not blocked, so it's safe to simply start walking to it 273F:53D1 loc_1085: 273F:53D1 5B pop bx 273F:53D2 C6 07 01 mov byte ptr [bx], CHAR_ACTION_START_WALK 273F:53D5 C6 45 27 01 mov byte ptr [di+ANIM_WALK_FLAG], 1 273F:53D9 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:13B8, 5313 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_exit_get_coordinates proc near 273F:53DA 48 dec ax 273F:53DB B9 0058 mov cx,58h 273F:53DE F7 E1 mul cx ; dx:ax = reg * ax 273F:53E0 05 1929 add ax, offset exit_coord_list 273F:53E3 03 D8 add bx, ax ; Move offset for indexing 273F:53E5 8A 5F 23 mov bl, [bx+23h] 273F:53E8 32 FF xor bh, bh ; Zero register 273F:53EA 03 D8 add bx, ax 273F:53EC 8B 0F mov cx, [bx] 273F:53EE 8B 57 02 mov dx, [bx+2] 273F:53F1 8B 47 04 mov ax, [bx+4] 273F:53F4 C3 retn room_exit_get_coordinates endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bp = Address of offset 2 in the Support data for the DISPATCH_ACTION ; character action that launched this action ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ get_proc proc near 273F:53F5 8B DD mov bx, bp 273F:53F7 8B 07 mov ax, [bx] ; Get hotspot Id 273F:53F9 83 C5 02 add bp,2 273F:53FC A3 BA19 mov use_hotspot_id, ax 273F:53FF A3 BA1B mov active_hotspot_id, ax 273F:5402 E8 F1A2 call hotspot_action_precheck 273F:5405 0B C0 or ax,ax ; Zero ? 273F:5407 74 08 jz loc_1086 ; Jump if zero 273F:5409 3D 0003 cmp ax,3 273F:540C 74 4E je loc_ret_1090 ; Jump if equal 273F:540E E9 0170 jmp character_walking_end 273F:5411 loc_1086: ; xref 273F:5407 273F:5411 E8 F2DA call character_face_hotspot 273F:5414 53 push bx 273F:5415 E8 0169 call character_walking_end 273F:5418 5B pop bx 273F:5419 E8 01DA call hotspot_get_action_sequence 273F:541C 79 03 jns loc_1087 ; Jump if not sign 273F:541E E9 0F90 jmp display_message_dialog_3 273F:5421 loc_1087: ; xref 273F:541C 273F:5421 74 0D jz loc_1088 ; Jump if zero 273F:5423 E8 EA0E call sequence_execute 273F:5426 74 08 jz loc_1088 ; Jump if zero 273F:5428 3D 0001 cmp ax,1 273F:542B 74 2F je loc_ret_1090 ; Jump if equal 273F:542D E9 0F81 jmp display_message_dialog_3 273F:5430 loc_1088: 273F:5430 8B 45 1B mov ax,[di+ANIM_HOTSPOT_ID] ; Move item into char's inventory 273F:5433 89 47 06 mov [bx+HS_ROOM_NUM], ax 273F:5436 E8 0920 call player_inc_inventory_items 273F:5439 81 3E BA19 7530 cmp use_hotspot_id, 7530h 273F:543F 73 1B jae loc_ret_1090 ; Jump if above or = 273F:5441 56 push si 273F:5442 57 push di 273F:5443 8B F3 mov si,bx 273F:5445 8B 7C 0B mov di,[si+HS_ANIM_OFFSET] 273F:5448 0B FF or di,di ; Zero ? 273F:544A 74 03 jz loc_1089 ; Jump if zero 273F:544C E8 BE23 call animation_unload 273F:544F loc_1089: ; xref 273F:544A 273F:544F A1 BA19 mov ax, use_hotspot_id ; Get hotspot header 273F:5452 E8 B8CC call get_room_resource_pointer3 273F:5455 C7 44 06 0000 mov word ptr [si+HSH_DESC_2], 0 ; Remove first description 273F:545A 5F pop di 273F:545B 5E pop si 273F:545C loc_ret_1090: ; xref 273F:540C, 542B, 543F, 5487 273F:545C C3 retn get_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_walking_check proc near 273F:545D 8B DD mov bx, bp 273F:545F 8B 07 mov ax, [bx] ; Get hotspot Id 273F:5461 83 C5 02 add bp, 2 273F:5464 8B DE mov bx, si 273F:5466 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5469 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:546C 89 6F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], bp 273F:546F A3 BA19 mov use_hotspot_id, ax 273F:5472 A3 BA1B mov active_hotspot_id, ax 273F:5475 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:5478 72 0F jb character_walking_check 273F:547A 56 push si 273F:547B E8 B86C call get_room_resource_pointer2 273F:547E 5B pop bx 273F:547F 87 DE xchg bx, si 273F:5481 8B 44 06 mov ax, [si+HS_ROOM_NUM] ; Make sure hotspot 273F:5484 3B 47 06 cmp ax, [bx+HS_ROOM_NUM] ; is in char's room 273F:5487 75 D3 jne loc_ret_1090 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:45F1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_walking_check proc near 273F:5489 57 push di 273F:548A úBF BC4B mov di, offset hotspot_walkto_list 273F:548D A1 BA1B mov ax, active_hotspot_id 273F:5490 loc_1092: ; xref 273F:549D 273F:5490 úF7 05 FFFF test word ptr [di+WALKTO_HOTSPOT_ID], 0FFFFh ; End of list reached? 273F:5494 74 4F jz loc_1094 ; Jump if yes 273F:5496 3B 05 cmp ax, [di+WALKTO_HOTSPOT_ID] ; Found entry for active hotspot? 273F:5498 74 05 je loc_1093 ; Jump if yes 273F:549A 83 C7 06 add di, WALKTO_RECORD_SIZE ; Move to next record 273F:549D EB F1 jmp short loc_1092 273F:549F loc_1093: 273F:549F 8B 4D 02 mov cx, [di+WALKTO_X] 273F:54A2 8B 55 04 mov dx, [di+WALKTO_Y] 273F:54A5 B0 01 mov al, 1 273F:54A7 F6 C6 80 test dh, 80h 273F:54AA 74 47 jz loc_1095 ; Jump if zero 273F:54AC 5F pop di 273F:54AD 88 45 27 mov [di+ANIM_WALK_FLAG], al 273F:54B0 80 E6 7F and dh, 7Fh 273F:54B3 8B 44 0D mov ax, [si+HS_X] 273F:54B6 D1 E8 shr ax, 1 273F:54B8 D1 E8 shr ax, 1 273F:54BA D1 E8 shr ax, 1 ; ax = player X / 8 273F:54BC 51 push cx 273F:54BD D1 E9 shr cx, 1 273F:54BF D1 E9 shr cx, 1 273F:54C1 D1 E9 shr cx, 1 ; cx = list[2] / 8 273F:54C3 2B C1 sub ax, cx ; ax -= cx 273F:54C5 59 pop cx 273F:54C6 75 51 jnz character_start_walking ; If NZ, jump to start walking 273F:54C8 8B 44 0F mov ax, [si+HS_Y] 273F:54CB 03 44 1B add ax, [si+HS_HEIGHT_COPY] 273F:54CE D1 E8 shr ax, 1 273F:54D0 D1 E8 shr ax, 1 273F:54D2 D1 E8 shr ax, 1 273F:54D4 2D 0001 sub ax, 1 ; ax = (HS+height)/8 - 1 273F:54D7 52 push dx 273F:54D8 D1 EA shr dx, 1 273F:54DA D1 EA shr dx, 1 273F:54DC D1 EA shr dx, 1 273F:54DE 2B C2 sub ax, dx ; ax -= dx 273F:54E0 5A pop dx 273F:54E1 75 36 jnz character_start_walking ; If NZ, jump to start walking 273F:54E3 EB 65 jmp short loc_1100 273F:54E5 loc_1094: ; xref 273F:5494 273F:54E5 8B 4F 0D mov cx, [bx+HS_X] 273F:54E8 8B 57 0F mov dx, [bx+HS_Y] 273F:54EB 03 57 1B add dx, [bx+HS_HEIGHT_COPY] 273F:54EE 83 EA 04 sub dx, 4 273F:54F1 B0 00 mov al, 0 273F:54F3 loc_1095: ; xref 273F:54AA 273F:54F3 5F pop di 273F:54F4 88 45 27 mov [di+ANIM_WALK_FLAG], al 273F:54F7 8B 44 0D mov ax, [si+HS_X] 273F:54FA 2B C1 sub ax, cx 273F:54FC 73 02 jnc loc_1096 ; Jump if carry=0 273F:54FE F7 D8 neg ax 273F:5500 loc_1096: ; xref 273F:54FC 273F:5500 3D 0008 cmp ax, 8 273F:5503 73 14 jae character_start_walking ; If NZ, jump to start walking 273F:5505 8B 44 0F mov ax, [si+HS_Y] 273F:5508 03 44 1B add ax, [si+HS_HEIGHT_COPY] 273F:550B 2D 0001 sub ax, 1 273F:550E 2B C2 sub ax, dx 273F:5510 73 02 jnc loc_1097 ; Jump if carry=0 273F:5512 F7 D8 neg ax 273F:5514 loc_1097: ; xref 273F:5510 273F:5514 3D 0013 cmp ax, 13h 273F:5517 72 31 jb loc_1100 ; Jump if below ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:8541 character_start_walking proc near 273F:5519 81 FE 6CEF cmp si, offset player_hotspot_rec 273F:551D 75 17 jne loc_1099 ; Jump if not equal 273F:551F C7 06 11E1 0002 mov cursor_index, CURSOR_TIME_UP 273F:5525 C6 06 11DF 00 mov cursor_centroid, 0 273F:552A 56 push si 273F:552B 57 push di 273F:552C 51 push cx 273F:552D 52 push dx 273F:552E FF 16 075E call [show_cursor_proc] 273F:5532 5A pop dx 273F:5533 59 pop cx 273F:5534 5F pop di 273F:5535 5E pop si 273F:5536 loc_1099: ; xref 273F:551D 273F:5536 8B DE mov bx,si 273F:5538 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:553B 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:553E C6 07 01 mov byte ptr [bx], CHAR_ACTION_START_WALK 273F:5541 89 54 56 mov [si+HS_DEST_Y], dx 273F:5544 89 4C 54 mov [si+HS_DEST_X], cx 273F:5547 33 C0 xor ax, ax 273F:5549 C3 retn 273F:554A loc_1100: ; xref 273F:54E3, 5517 273F:554A 0D 0001 or ax,1 273F:554D C3 retn character_start_walking endp character_walking_check endp npc_walking_check endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ npc_set_support_offset_conditional proc near 273F:554E 8B DD mov bx, bp 273F:5550 8B 07 mov ax, [bx] ; Get sequence offset 273F:5552 E8 DF E8 call sequence_execute ; Execute it 273F:5555 74 11 jz loca_5568 ; Skip if zero return 273F:5557 8B 47 02 mov ax, [bx+2] ; Get new action offset 273F:555A loc_1101: 273F:555A ú8B DE mov bx, si 273F:555C 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:555F 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5562 89 47 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], ax ; Set it action rec 273F:5565 E9 EC56 jmp action_dispatch loca_5568: 273F:5568 8B C5 mov ax, bp 273F:556A 05 0004 add ax, 4 273F:556D EB EB jmp short loc_1101 ; (555A) npc_set_support_offset_conditional endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_set_support_offset proc near 273F:556F 8B DD mov bx,bp 273F:5571 8B 07 mov ax, [bx] 273F:5573 8B DE mov bx, si 273F:5575 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5578 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:557B 89 47 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], ax 273F:557E E9 EC3D jmp action_dispatch npc_set_support_offset endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:478E, 5415, 5723, 57BE, 58CC, 591C, 5954 ; 5968, 5ACE, 5B47, 5BA6, 5C15, 5C7A, 5D32 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_walking_end proc near 273F:5581 ú81 7D 1B 03E8 cmp word ptr [di+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID 273F:5586 75 05 jne character_walking_end_2 273F:5588 80 26 9834 02 and cursor_state, 2 ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; character_walking_end_2: 273F:558D ú33 C0 xor ax, ax 273F:558F 89 45 24 mov [di+ANIM_VOICE_CTR], ax 273F:5592 88 44 2A mov [si+HS_ACTION_CTR], al 273F:5595 8B DE mov bx, si 273F:5597 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:559A 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:559D 89 6F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], bp 273F:55A0 C3 retn character_walking_end endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:44C7, 509D, 7F5D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ characters_impinging_check proc near 273F:55A1 8B 47 0D mov ax, [bx+HS_X] 273F:55A4 03 47 19 add ax, [bx+HS_WIDTH_COPY] 273F:55A7 05 0004 add ax, 4 273F:55AA 3B 44 0D cmp ax, [si+HS_X] 273F:55AD 72 44 jb loc_1104 ; Jump if below 273F:55AF 8B 44 0D mov ax, [si+HS_X] 273F:55B2 03 44 19 add ax, [si+HS_WIDTH_COPY] 273F:55B5 05 0004 add ax, 4 273F:55B8 3B 47 0D cmp ax, [bx+HS_X] 273F:55BB 72 36 jb loc_1104 ; Jump if below 273F:55BD 8B 44 0F mov ax, [si+HS_Y] 273F:55C0 03 44 1B add ax, [si+HS_HEIGHT_COPY] 273F:55C3 2B 44 1D sub ax, [si+HS_Y_CORRECTION] 273F:55C6 2D 0002 sub ax, 2 273F:55C9 8B 4F 0F mov cx, [bx+HS_Y] 273F:55CC 03 4F 1B add cx, [bx+HS_HEIGHT_COPY] 273F:55CF 83 C1 02 add cx, 2 273F:55D2 3B C1 cmp ax, cx 273F:55D4 73 1D jae loc_1104 ; Jump if above or = 273F:55D6 8B 44 0F mov ax, [si+HS_Y] 273F:55D9 03 44 1B add ax, [si+HS_HEIGHT_COPY] 273F:55DC 05 0002 add ax, 2 273F:55DF 8B 4F 0F mov cx, [bx+HS_Y] 273F:55E2 03 4F 1B add cx, [bx+HS_HEIGHT_COPY] 273F:55E5 2B 4F 1D sub cx, [bx+HS_Y_CORRECTION] 273F:55E8 83 E9 02 sub cx, 2 273F:55EB 3B C1 cmp ax, cx 273F:55ED 72 04 jb loc_1104 ; Jump if below 273F:55EF 0D 0001 or ax,1 273F:55F2 C3 retn 273F:55F3 loc_1104: ; xref 273F:55AD, 55BB, 55D4, 55ED 273F:55F3 33 C0 xor ax,ax ; Zero register 273F:55F5 C3 retn characters_impinging_check endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5419, 572E, 57C9, 5830, 58D0, 5923, 595B ; 5AE2, 5B4B, 5BC5, 5C19, 5C82, 5CD0, 5D36 ; 8A03 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ hotspot_get_action_sequence proc near 273F:55F6 53 push bx 273F:55F7 8B 5F 04 mov bx, [bx+HS_ACTIONS_OFFSET] 273F:55FA 0B DB or bx, bx ; Hotspot have actions? 273F:55FC 74 1C jz loc_1107 ; Jump if not 273F:55FE 8B 0F mov cx,[bx] ; Get # entries 273F:5600 83 C3 02 add bx,2 ; Move to first entry 273F:5603 A1 BB45 mov ax, current_action_num ; Get action number 273F:5606 0B C9 or cx,cx ; List have any items? 273F:5608 74 10 jz loc_1107 ; Jump if not 273F:560A locloop_1105: 273F:560A 3A 07 cmp al, [bx] ; Get action number 273F:560C 75 07 jne loc_1106 ; Skip if not wanted action 273F:560E 8B 47 01 mov ax, [bx+1] ; Get sequence offset 273F:5611 5B pop bx 273F:5612 0B C0 or ax, ax ; Zero ? 273F:5614 C3 retn 273F:5615 loc_1106: ; xref 273F:560C 273F:5615 83 C3 03 add bx,3 273F:5618 E2 F0 loop locloop_1105 ; Loop if cx > 0 273F:561A loc_1107: ; xref 273F:55FC, 5608 273F:561A 5B pop bx 273F:561B 33 C0 xor ax, ax ; Zero register 273F:561D C3 retn hotspot_get_action_sequence endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_set_blocked_offset_proc proc near 273F:561E 8B DD mov bx, bp 273F:5620 8B 07 mov ax, [bx] 273F:5622 8B 4F 02 mov cx, [bx+2] 273F:5625 83 C5 04 add bp, 4 273F:5628 89 4C 5E mov [si+HS_BLOCKED_SUPPORT_OFFSET], cx 273F:562B C6 44 60 00 mov byte ptr [si+HS_EXIT_CTR], 0 273F:562F 8B DE mov bx, si 273F:5631 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5634 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5637 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:563A E9 FF44 jmp character_walking_end npc_set_blocked_offset_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß go_to_proc proc near 273F:563D 8B DD mov bx,bp 273F:563F 8B 07 mov ax,[bx] 273F:5641 83 C5 02 add bp,2 273F:5644 C7 44 5E 0000 mov word ptr [si+HS_BLOCKED_SUPPORT_OFFSET], 0 273F:5649 C6 44 60 00 mov byte ptr [si+HS_EXIT_CTR], 0 273F:564D 8B DE mov bx,si 273F:564F 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5652 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5655 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:5658 E9 FF26 jmp character_walking_end go_to_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_set_random_dest proc near 273F:565B 8B DE mov bx, si 273F:565D 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5660 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5663 89 6F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], bp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:606B ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_set_random_dest proc near 273F:5666 úC6 07 01 mov byte ptr [bx], CHAR_ACTION_START_WALK 273F:5669 C6 45 27 01 mov byte ptr [di+ANIM_WALK_FLAG], 1 273F:566D 56 push si 273F:566E 56 push si 273F:566F 8B 44 06 mov ax, [si+HS_ROOM_NUM] ; Get char's room rsc 273F:5672 E8 B675 call get_room_resource_pointer2 273F:5675 8A 5C 18 mov bl, [si+ROOM_BOUNDS_INDEX] 273F:5678 32 FF xor bh, bh 273F:567A B1 03 mov cl, 3 273F:567C D3 E3 shl bx, cl 273F:567E 81 C3 2EB1 add bx, offset room_bounds_table 273F:5682 B9 0014 mov cx, 20 ; # attempts 273F:5685 5E pop si 273F:5686 locloop_1109: ; xref 273F:56C3 273F:5686 51 push cx ; Chooses a random destination for the character within the given rectangle 273F:5687 E8 EDE2 call random ; Get random value 273F:568A 8B 4F 02 mov cx, [bx+2] 273F:568D 2B 0F sub cx, [bx] 273F:568F F7 E1 mul cx ; dx:ax = reg * ax 273F:5691 03 17 add dx,[bx] 273F:5693 89 54 54 mov [si+HS_DEST_X],dx 273F:5696 52 push dx 273F:5697 E8 EDD2 call random 273F:569A 8B 4F 06 mov cx, [bx+6] 273F:569D 2B 4F 04 sub cx, [bx+4] 273F:56A0 F7 E1 mul cx ; dx:ax = reg * ax 273F:56A2 03 57 04 add dx, [bx+4] 273F:56A5 89 54 56 mov [si+HS_DEST_Y], dx 273F:56A8 8B C2 mov ax, dx 273F:56AA 5A pop dx 273F:56AB B9 0003 mov cx,3 273F:56AE E8 001D call character_check_dest_occupied 273F:56B1 0B C0 or ax, ax ; Occupied? 273F:56B3 75 0D jnz loc_1110 ; Jump if yes 273F:56B5 05 0008 add ax, 8 273F:56B8 B9 0003 mov cx, 3 273F:56BB E8 0010 call character_check_dest_occupied 273F:56BE 0B C0 or ax, ax ; Occupied 273F:56C0 74 07 jz loc_1111 ; Jump if not 273F:56C2 loc_1110: 273F:56C2 59 pop cx ; Loop to choose another 273F:56C3 E2 C1 loop locloop_1109 ; random destination 273F:56C5 5B pop bx 273F:56C6 87 DE xchg bx,si 273F:56C8 C3 retn 273F:56C9 loc_1111: ; xref 273F:56C0 273F:56C9 59 pop cx 273F:56CA 5B pop bx 273F:56CB 87 DE xchg bx,si 273F:56CD C3 retn character_set_random_dest endp npc_set_random_dest endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:56AE, 56BB ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_check_dest_occupied proc near 273F:56CE 53 push bx 273F:56CF 51 push cx 273F:56D0 E8 ECC1 call pathfind_get_cell 273F:56D3 59 pop cx 273F:56D4 locloop_1112: ; xref 273F:56E1 273F:56D4 85 07 test ax,[bx] ; Is the dest occupied? 273F:56D6 75 0F jnz loc_1114 ; Jump if yes 273F:56D8 D0 E8 shr al,1 ; Shift w/zeros fill 273F:56DA 73 05 jnc loc_1113 ; Jump if carry=0 273F:56DC 83 C3 01 add bx,1 273F:56DF B0 80 mov al,80h 273F:56E1 loc_1113: ; xref 273F:56DA 273F:56E1 E2 F1 loop locloop_1112 ; Loop if cx > 0 273F:56E3 5B pop bx 273F:56E4 33 C0 xor ax,ax ; Zero register 273F:56E6 C3 retn 273F:56E7 loc_1114: ; xref 273F:56D6 273F:56E7 5B pop bx 273F:56E8 B0 01 mov al,1 273F:56EA C3 retn character_check_dest_occupied endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ open_proc proc near 273F:56EB 8B DD mov bx,bp 273F:56ED 8B 07 mov ax,[bx] 273F:56EF 83 C5 02 add bp,2 273F:56F2 A3 BA19 mov use_hotspot_id, ax 273F:56F5 A3 BA1B mov active_hotspot_id, ax 273F:56F8 56 push si 273F:56F9 úBE 4CB0 mov si, offset exit_hotspots_list 273F:56FC E8 EE94 call is_roomexit_hotspot 273F:56FF 75 0E jnz loc_1115 ; Not a valid door 273F:5701 53 push bx 273F:5702 A1 BA19 mov ax, use_hotspot_id 273F:5705 E8 1AE6 call room_exit_hs_get_pointer 273F:5708 5B pop bx 273F:5709 F6 44 0C FF test byte ptr [si+REHS_EXIT_BLOCKED], 0FFh 273F:570D 74 58 jz loc_1120 ; Jump if exit blocked (closed) 273F:570F loc_1115: 273F:570F 5E pop si 273F:5710 A1 BA19 mov ax, use_hotspot_id 273F:5713 E8 EE91 call hotspot_action_precheck 273F:5716 0B C0 or ax, ax ; Execute? 273F:5718 74 08 jz loc_1116 ; Jump if yes 273F:571A 3D 0003 cmp ax, 3 ; Initial? 273F:571D 74 47 je loc_ret_1119 ; Exit if not 273F:571F E9 FE5F jmp character_walking_end 273F:5722 loc_1116: ; xref 273F:5718 273F:5722 53 push bx 273F:5723 E8 FE5B call character_walking_end 273F:5726 5B pop bx 273F:5727 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:572B E8 EFC0 call character_face_hotspot 273F:572E E8 FEC5 call hotspot_get_action_sequence 273F:5731 79 03 jns loc_1117 ; Jump if not sign 273F:5733 E9 0C7B jmp display_message_dialog_3 273F:5736 loc_1117: ; xref 273F:5731 273F:5736 74 0A jz loc_1118 ; Jump if zero 273F:5738 E8 E6F9 call sequence_execute 273F:573B 3D 0001 cmp ax,1 273F:573E 74 26 je loc_ret_1119 ; Jump if equal 273F:5740 73 2F jnc loc_1121 ; Jump if carry=0 273F:5742 loc_1118: ; xref 273F:5736 273F:5742 A1 BA19 mov ax, use_hotspot_id 273F:5745 56 push si 273F:5746 E8 1AA5 call room_exit_hs_get_pointer 273F:5749 5B pop bx 273F:574A 87 F3 xchg si,bx 273F:574C F6 47 0C FF test byte ptr [bx+REHS_EXIT_BLOCKED], 0FFh 273F:5750 74 14 jz loc_ret_1119 ; Jump if zero 273F:5752 C6 47 0C 00 mov byte ptr [bx+REHS_EXIT_BLOCKED], 0 273F:5756 81 7D 1B 03E8 cmp word ptr [di+ANIM_HOTSPOT_ID], PLAYER_HOTSPOT_ID 273F:575B 74 09 je loc_ret_1119 ; Jump if equal 273F:575D C6 44 44 03 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_3 273F:5761 C7 44 42 0004 mov word ptr [si+HS_DELAY_CTR], 4 273F:5766 loc_ret_1119: ; xref 273F:571D, 573E, 5750, 575B 273F:5766 C3 retn 273F:5767 loc_1120: ; xref 273F:570D 273F:5767 5E pop si 273F:5768 B8 0004 mov ax,4 273F:576B E8 0C43 call display_message_dialog_3 273F:576E E9 FE10 jmp character_walking_end 273F:5771 loc_1121: ; xref 273F:5740 273F:5771 F6 44 60 FF test byte ptr [si+HS_EXIT_CTR],0FFh 273F:5775 74 04 jz loc_1122 ; Jump if zero 273F:5777 C6 44 60 04 mov byte ptr [si+HS_EXIT_CTR], 4 273F:577B loc_1122: ; xref 273F:5775 273F:577B E9 0C33 jmp display_message_dialog_3 open_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ close_proc proc near 273F:577E 8B DD mov bx, bp 273F:5780 8B07 mov ax, [bx] 273F:5782 83C502 add bp, 2 273F:5785 A319BA mov use_hotspot_id, ax 273F:5788 A31BBA mov active_hotspot_id, ax 273F:578B 56 push si 273F:578C BEB04C mov si, offset exit_hotspots_list 273F:578F E801EE call is_roomexit_hotspot 273F:5792 7516 jnz close_proc_2 273F:5794 A119BA mov ax, use_hotspot_id 273F:5797 E8541A call room_exit_hs_get_pointer 273F:579A F6440CFF test byte ptr [si+REHS_EXIT_BLOCKED], 0FFh 273F:579E 740A jz close_proc_2 273F:57A0 5E pop si 273F:57A1 B80300 mov ax, 3 273F:57A4 E80A0C call display_message_dialog_3 273F:57A7 E9D7FD jmp character_walking_end 273F:57AA A119BA close_proc_2: mov ax, use_hotspot_id 273F:57AD 5E pop si 273F:57AE E8F6ED call hotspot_action_precheck 273F:57B1 0BC0 or ax, ax 273F:57B3 7408 jz loc_1123 273F:57B5 3D0300 cmp ax, 3 273F:57B8 7448 jz loc_ret_1127 273F:57BA E9C4FD jmp character_walking_end 273F:57BD loc_1123: 273F:57BD 53 push bx 273F:57BE E8 FDC0 call character_walking_end 273F:57C1 5B pop bx 273F:57C2 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:57C6 E8 EF25 call character_face_hotspot 273F:57C9 E8 FE2A call hotspot_get_action_sequence 273F:57CC 79 03 jns loc_1125 ; Jump if not sign 273F:57CE loc_1124: ; xref 273F:57D6 273F:57CE E9 0BE0 jmp display_message_dialog_3 273F:57D1 loc_1125: ; xref 273F:57CC 273F:57D1 74 05 jz loc_1126 ; Jump if zero 273F:57D3 E8 E65E call sequence_execute 273F:57D6 75 F6 jnz loc_1124 ; Jump if not zero 273F:57D8 loc_1126: ; xref 273F:57D1 273F:57D8 56 push si 273F:57D9 A1 BA19 mov ax, use_hotspot_id 273F:57DC E8 1A0F call room_exit_hs_get_pointer 273F:57DF 5B pop bx 273F:57E0 87 DE xchg bx,si 273F:57E2 F6 47 0C FF test byte ptr [bx+REHS_EXIT_BLOCKED], 0FFh 273F:57E6 75 1A jnz loc_ret_1127 ; Jump if not zero 273F:57E8 8B EB mov bp, bx 273F:57EA 8B 5F 0D mov bx, [bx+REHS_HOTSPOT1_OFFSET] 273F:57ED E8 1A7B call door_close_check 273F:57F0 74 11 jz loc_1128 ; Jump if can't close 273F:57F2 8B DD mov bx, bp 273F:57F4 8B 5F 0F mov bx, [bx+REHS_HOTSPOT2_OFFSET] 273F:57F7 E8 1A71 call door_close_check 273F:57FA 74 07 jz loc_1128 ; Jump if can't close 273F:57FC 8B DD mov bx,bp 273F:57FE C6 47 0C 01 mov byte ptr [bx+REHS_EXIT_BLOCKED], 1 273F:5802 loc_ret_1127: ; xref 273F:57E6, 581F 273F:5802 C3 retn 273F:5803 loc_1128: ; xref 273F:57F0, 57FA 273F:5803 B8 0002 mov ax,2 273F:5806 E9 0BA8 jmp display_message_dialog_3 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ tell_proc proc near 273F:5809 8B DD mov bx,bp 273F:580B 8B 07 mov ax,[bx] 273F:580D 83 C5 02 add bp,2 273F:5810 A3 BA19 mov use_hotspot_id, ax 273F:5813 A3 BA1B mov active_hotspot_id, ax 273F:5816 E8 ED8E call hotspot_action_precheck 273F:5819 0B C0 or ax,ax ; Zero ? 273F:581B 74 06 jz loc_1129 ; Jump if zero 273F:581D 3C 03 cmp al,3 273F:581F 74 E1 je loc_ret_1127 ; Jump if equal 273F:5821 EB 68 jmp short loc_1134 ; (588B) 273F:5823 loc_1129: ; xref 273F:581B 273F:5823 8B 0E BA19 mov cx, use_hotspot_id 273F:5827 B8 0001 mov ax,1 273F:582A BA 007C mov dx,7Ch 273F:582D E8 0922 call talk_converse_2 273F:5830 E8 FDC3 call hotspot_get_action_sequence 273F:5833 79 03 jns loc_1130 ; Jump if not sign 273F:5835 E9 0B79 jmp display_message_dialog_3 273F:5838 loc_1130: ; xref 273F:5833 273F:5838 E8 E5F9 call sequence_execute 273F:583B 75 4E jnz loc_1134 ; Jump if not zero 273F:583D 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:5840 89 47 4E mov [bx+HS_V4E],ax 273F:5843 C7 47 61 0005 mov word ptr [bx+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:5848 C6 47 4D 00 mov byte ptr [bx+4Dh],0 273F:584C 8B 4F 5C mov cx,[bx+5Ch] 273F:584F 89 4F 69 mov [bx+69h],cx 273F:5852 8B 44 06 mov ax,[si+6] 273F:5855 89 47 6B mov [bx+6Bh],ax 273F:5858 C6 47 68 02 mov byte ptr [bx+68h],2 273F:585C 56 push si 273F:585D 57 push di 273F:585E 8B F5 mov si,bp 273F:5860 8B F9 mov di,cx 273F:5862 1E push ds 273F:5863 07 pop es 273F:5864 loc_1131: ; xref 273F:5875, 587B 273F:5864 úAD lodsw ; String [si] to ax 273F:5865 8B D0 mov dx,ax 273F:5867 loc_1132: ; xref 273F:5870 273F:5867 AB stosw ; Store ax to es:[di] 273F:5868 0B C0 or ax,ax ; Zero ? 273F:586A 74 11 jz loc_1133 ; Jump if zero 273F:586C AD lodsw ; String [si] to ax 273F:586D 3D 7D00 cmp ax,7D00h 273F:5870 75 F5 jne loc_1132 ; Jump if not equal 273F:5872 83 FA 17 cmp dx,17h 273F:5875 75 ED jne loc_1131 ; Jump if not equal 273F:5877 B8 0020 mov ax,20h 273F:587A AB stosw ; Store ax to es:[di] 273F:587B EB E7 jmp short loc_1131 ; (5864) 273F:587D loc_1133: ; xref 273F:586A 273F:587D 26: C7 45 FE 0020 mov word ptr es:[di-2],20h 273F:5883 AB stosw ; Store ax to es:[di] 273F:5884 8B EE mov bp,si 273F:5886 83 ED 02 sub bp,2 273F:5889 5F pop di 273F:588A 5E pop si 273F:588B loc_1134: ; xref 273F:5821, 583B 273F:588B 8B DD mov bx,bp 273F:588D C7 07 0000 mov word ptr [bx],0 273F:5891 E9 FCF9 jmp character_walking_end_2 tell_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; xi=player hotspot, di=player anim slot, bp=?? ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ look_through_proc proc near 273F:5894 8B DD mov bx,bp 273F:5896 8B 07 mov ax,[bx] 273F:5898 83 C5 02 add bp,2 273F:589B A3 BA19 mov use_hotspot_id, ax 273F:589E A3 BA1B mov active_hotspot_id, ax 273F:58A1 56 push si 273F:58A2 E8 B445 call get_room_resource_pointer2 ; Get hotspot ptr 273F:58A5 5B pop bx 273F:58A6 87 DE xchg bx,si ; si=player, bx=hotspot 273F:58A8 8B 47 06 mov ax, [bx+HS_ROOM_NUM] 273F:58AB 3B 45 1B cmp ax, [di+ANIM_HOTSPOT_ID] ; In player's inventory? 273F:58AE 74 1B je loc_1136 ; If yes then jump 273F:58B0 E8 ED24 call hotspot_action_precheck_2 273F:58B3 0B C0 or ax, ax ; Zero ? 273F:58B5 74 08 jz loc_1135 ; Jump if zero 273F:58B7 3D 0003 cmp ax,3 273F:58BA 74 3E je loc_ret_1139 ; Jump if equal 273F:58BC E9 FCC2 jmp character_walking_end 273F:58BF loc_1135: ; xref 273F:58B5 273F:58BF C6 44 2A 00 mov byte ptr [si+2Ah],0 273F:58C3 E8 EE28 call character_face_hotspot 273F:58C6 55 push bp 273F:58C7 E8 EA9C call character_update_movement 273F:58CA 5D pop bp 273F:58CB loc_1136: 273F:58CB 53 push bx 273F:58CC E8 FCB2 call character_walking_end 273F:58CF 5B pop bx 273F:58D0 E8 FD23 call hotspot_get_action_sequence 273F:58D3 79 03 jns loc_1137 ; Jump if not sign 273F:58D5 E9 0AD9 jmp display_message_dialog_3 273F:58D8 loc_1137: ; xref 273F:58D3 273F:58D8 74 13 jz loc_ret_1138 ; Jump if zero 273F:58DA E8 E557 call sequence_execute 273F:58DD 74 0E jz loc_ret_1138 ; Jump if zero 273F:58DF 3D 002A cmp ax,2Ah 273F:58E2 75 09 jne loc_ret_1138 ; Jump if not equal 273F:58E4 C7 44 42 0050 mov word ptr [si+HS_DELAY_CTR], 80 273F:58E9 C6 44 44 02 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_IDLE 273F:58ED loc_ret_1138: ; xref 273F:58D8, 58DD, 58E2 273F:58ED C3 retn look_through_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Sets up things for remotely viewing a room - storing the room to ; return to, and disabling the tick proc for the player ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_room_remote_view_setup proc near assume ds:seg_code 273F:58EE A1 9832 mov ax, room_number 273F:58F1 A3 BA25 mov old_room_number, ax 273F:58F4 C7 06 B15F 58FB mov slot0_tick_proc, offset loc_ret_1140 273F:58FA loc_ret_1139: ; xref 273F:58BA 273F:58FA C3 retn seq_room_remote_view_setup endp 273F:58FB loc_ret_1140: ; xref 273F:5913, 594E, 5963 273F:58FB C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; xi=player hotspot, di=player anim slot, bp=?? ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ operate_proc proc near 273F:58FC 8B DD mov bx,bp 273F:58FE 8B 07 mov ax,[bx] 273F:5900 83 C5 02 add bp,2 273F:5903 A3 BA19 mov use_hotspot_id, ax 273F:5906 A3 BA1B mov active_hotspot_id, ax 273F:5909 E8 EC9B call hotspot_action_precheck 273F:590C 0B C0 or ax,ax ; Zero ? 273F:590E 74 08 jz loc_1141 ; Jump if zero 273F:5910 3D 0003 cmp ax,3 273F:5913 74 E6 je loc_ret_1140 ; Jump if equal 273F:5915 E9 FC69 jmp character_walking_end 273F:5918 loc_1141: ; xref 273F:590E 273F:5918 88 44 2A mov [si+HS_ACTION_CTR], al 273F:591B 53 push bx 273F:591C E8 FC62 call character_walking_end 273F:591F 5B pop bx 273F:5920 E8 EDCB call character_face_hotspot 273F:5923 E8 FCD0 call hotspot_get_action_sequence 273F:5926 79 03 jns loc_1142 ; Jump if not sign 273F:5928 E9 0A86 jmp display_message_dialog_3 273F:592B loc_1142: ; xref 273F:5926 273F:592B E8 E506 call sequence_execute 273F:592E 3D 0002 cmp ax,2 273F:5931 72 03 jb loc_ret_1143 ; Jump if below 273F:5933 E9 0A7B jmp display_message_dialog_3 273F:5936 loc_ret_1143: ; xref 273F:5931 273F:5936 C3 retn operate_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ lock_unlock_proc proc near 273F:5937 8B DD mov bx,bp 273F:5939 8B 07 mov ax,[bx] 273F:593B 83 C5 02 add bp,2 273F:593E A3 BA19 mov use_hotspot_id, ax 273F:5941 A3 BA1B mov active_hotspot_id, ax 273F:5944 E8 EC60 call hotspot_action_precheck 273F:5947 0B C0 or ax,ax ; Zero ? 273F:5949 74 08 jz loc_1144 ; Jump if zero 273F:594B 3D 0003 cmp ax,3 273F:594E 74 AB je loc_ret_1140 ; Jump if equal 273F:5950 E9 FC2E jmp character_walking_end 273F:5953 loc_1144: ; xref 273F:5949 273F:5953 53 push bx 273F:5954 E8 FC2A call character_walking_end 273F:5957 5B pop bx 273F:5958 E8 ED93 call character_face_hotspot 273F:595B E8 FC98 call hotspot_get_action_sequence 273F:595E 79 03 jns loc_1145 ; Jump if not sign 273F:5960 E9 0A4E jmp display_message_dialog_3 273F:5963 loc_1145: ; xref 273F:595E 273F:5963 74 96 jz loc_ret_1140 ; Jump if zero 273F:5965 E9 E4CC jmp sequence_execute lock_unlock_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:56AE, 56BB ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ look_proc proc near 273F:5968 E8 FC16 call character_walking_end 273F:596B 8B 44 06 mov ax, [si+6] 273F:596E E8 B3B0 call get_room_resource_pointer4 273F:5971 8B 5C 04 mov bx, [si+RH_DESC_ID] 273F:5974 E9 2F45 jmp display_dialog look_proc endp 273F:5977 00 data_359 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß status_proc proc near 31E4:5978 E8 06 FC call character_walking_end 31E4:597B 80 0E 11D0 01 or menubar_state, 1 31E4:5980 FF 16 075E call [show_cursor_proc] 31E4:5984 B0 09 mov al, 9 31E4:5986 B1 16 mov cl, 16 31E4:5988 B2 03 mov dl, 3 31E4:598A F7 06 BC49 FFFF test num_groats, 0ffffh 31E4:5990 74 03 jz status_loc_2 31E4:5992 80 C2 02 add dl, 2 status_loc_2: 31E4:5995 F6 06 9835 FF test num_inventory_items, 0ffh 31E4:599A 74 07 jz loc_1146 31E4:599C 02 16 9835 mov dl, num_inventory_items 31E4:59A0 80 EA 01 sub dl, 1 273F:59A3 loc_1146: 273F:59A3 B3 18 mov bl,18h 273F:59A5 2A DA sub bl,dl 273F:59A7 D0 EB shr bl,1 ; Shift w/zeros fill 273F:59A9 2E: 88 1E 5977 mov cs:data_359,bl ; (273F:5977=0) 273F:59AE BD 0001 mov bp,1 273F:59B1 FF 16 077A call [draw_dialog_proc] 273F:59B5 A1 9832 mov ax, room_number ; Get the current room's 273F:59B8 E8 B366 call get_room_resource_pointer3 ; short name 273F:59BB 8B 44 02 mov ax,[si+2] 273F:59BE BF 4B43 mov di, offset hotspot_name 273F:59C1 E8 2376 call decode_string 273F:59C4 2E: A0 5977 mov al, cs:data_359 273F:59C8 04 01 add al,1 273F:59CA 32 E4 xor ah,ah ; Zero register 273F:59CC úBB 000A mov bx, 10 273F:59CF úBE 4B43 mov si, offset hotspot_name 273F:59D2 E8 C210 call sub_52 273F:59D5 C7 06 4B19 6F6E mov data_789,6F6Eh ; (31E4:4B19=6F6Eh) 273F:59DB F6 06 9835 FF test num_inventory_items, 0FFh 273F:59E0 74 06 jz loc_1147 ; Jump if zero 273F:59E2 C7 06 4B19 003A mov data_789,3Ah ; (31E4:4B19=6F6Eh) 273F:59E8 loc_1147: ; xref 273F:59E0 273F:59E8 2E: A0 5977 mov al,cs:data_359 ; (273F:5977=0) 273F:59EC 04 03 add al,3 273F:59EE 32 E4 xor ah,ah ; Zero register 273F:59F0 úBB 000A mov bx, 10 273F:59F3 úBE 4B08 mov si, offset carrying_str 273F:59F6 E8 C1EC call sub_52 ; (1BE5) 273F:59F9 2E: 8A 0E 5977 mov cl,cs:data_359 ; (273F:5977=0) 273F:59FE 80 C1 03 add cl,3 273F:5A01 32 ED xor ch,ch ; Zero register 273F:5A03 F6 06 9835 FF test num_inventory_items, 0FFh 273F:5A08 74 34 jz loc_1151 ; Jump if zero 273F:5A0A úBE 623E mov si, offset hotspot_table_3 273F:5A0D loc_1148: 273F:5A0D ú8B 3C mov di,[si] ; Get hotspot offset 273F:5A0F 83 FF FF cmp di,0FFFFh ; End of sublist? 273F:5A12 74 27 je loc_1150 ; If yes, then jump 273F:5A14 81 7D 06 03E8 cmp word ptr [di+HS_ROOM_NUM], PLAYER_HOTSPOT_ID ; In player's inventory? 273F:5A19 75 1B jne loc_1149 ; If not, move to next 273F:5A1B 56 push si 273F:5A1C 8B 44 02 mov ax, [si+HSH_NAME] ; Get hotspot name 273F:5A1F BF 4B43 mov di, offset hotspot_name 273F:5A22 51 push cx 273F:5A23 E8 2314 call decode_string 273F:5A26 58 pop ax 273F:5A27 50 push ax 273F:5A28 úBB 0016 mov bx,16h ; (273F:0016=0EBh) 273F:5A2B úBE 4B43 mov si, offset hotspot_name 273F:5A2E E8 C1B4 call sub_52 ; (1BE5) 273F:5A31 59 pop cx 273F:5A32 83 C1 01 add cx,1 273F:5A35 5E pop si 273F:5A36 loc_1149: ; xref 273F:5A19 273F:5A36 83 C6 09 add si,9 273F:5A39 EB D2 jmp short loc_1148 ; (5A0D) 273F:5A3B loc_1150: ; xref 273F:5A12 273F:5A3B 83 E9 01 sub cx,1 273F:5A3E loc_1151: ; xref 273F:5A08 273F:5A3E A1 BC49 mov ax, num_groats 273F:5A41 0B C0 or ax,ax ; Zero ? 273F:5A43 74 26 jz loc_1153 ; Jump if zero 273F:5A45 04 30 add al,30h ; '0' 273F:5A47 A2 4B2B mov s_num_groats, al ; Fill out # groats 273F:5A4A C7 06 4B32 0073 mov s_groats_plural, 's' ; Add in a plural 's' 273F:5A50 83 3E BC49 01 cmp num_groats, 1 ; Is a plural necessary? 273F:5A55 75 06 jne loc_1152 ; Yes, so skip removal 273F:5A57 C7 06 4B32 0000 mov s_groats_plural, 0 ; Remove plural 's' 273F:5A5D loc_1152: 273F:5A5D 8B C1 mov ax,cx 273F:5A5F 05 0002 add ax,2 273F:5A62 úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:5A65 úBE 4B22 mov si, offset money_str 273F:5A68 E8 C17A call sub_52 ; (1BE5) 273F:5A6B loc_1153: ; xref 273F:5A43 273F:5A6B FF 16 0744 call word ptr [show_screen_proc] 273F:5A6F E8 C519 call mouse_wait ; (1F8B) 273F:5A72 E8 C521 call pause_for_input ; (1F96) 273F:5A75 E8 C513 call mouse_wait ; (1F8B) 273F:5A78 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:5A7D FF 16 075E call [show_cursor_proc] 273F:5A81 C3 retn status_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß return_proc proc near 273F:5A82 8B DE mov bx, si 273F:5A84 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5A87 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5A8A 8B 44 4E mov ax, [si+HS_V4E] 273F:5A8D 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:5A90 E9 FAEE jmp character_walking_end return_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß use_proc proc near 273F:5A93 8B DD mov bx,bp 273F:5A95 8B 07 mov ax,[bx] 273F:5A97 A3 BA19 mov use_hotspot_id, ax 273F:5A9A 8B 47 02 mov ax,[bx+2] 273F:5A9D A3 BA1B mov active_hotspot_id, ax 273F:5AA0 83 C5 04 add bp,4 273F:5AA3 56 push si 273F:5AA4 A1 BA19 mov ax, use_hotspot_id 273F:5AA7 E8 B240 call get_room_resource_pointer2 273F:5AAA 5B pop bx 273F:5AAB 87 DE xchg bx,si ; bx=item to use, si=hotspot 273F:5AAD 8B 47 06 mov ax, [bx+HS_ROOM_NUM] 273F:5AB0 3B 45 1B cmp ax, [di+ANIM_HOTSPOT_ID]; Item in char's inventory? 273F:5AB3 75 12 jne loc_1155 ; Jump if not equal 273F:5AB5 A1 BA1B mov ax, active_hotspot_id 273F:5AB8 E8 EAEC call hotspot_action_precheck 273F:5ABB 0B C0 or ax,ax ; Zero ? 273F:5ABD 74 0B jz loc_1156 ; Jump if zero 273F:5ABF 3C 03 cmp al,3 273F:5AC1 74 03 je loc_ret_1154 ; Jump if equal 273F:5AC3 E9 FABB jmp character_walking_end 273F:5AC6 loc_ret_1154: ; xref 273F:5AC1, 5AF5, 5B3A 273F:5AC6 C3 retn 273F:5AC7 loc_1155: ; xref 273F:5AB3 273F:5AC7 E9 0242 jmp loc_1187 ; (5D0C) 273F:5ACA loc_1156: ; xref 273F:5ABD 273F:5ACA E8 EC21 call character_face_hotspot 273F:5ACD 53 push bx 273F:5ACE E8 FAB0 call character_walking_end 273F:5AD1 5B pop bx 273F:5AD2 81 7D 1B 03E9 cmp word ptr [di+ANIM_HOTSPOT_ID], RATPOUCH_HOTSPOT_ID 273F:5AD7 75 09 jne loc_1157 ; Jump if not equal 273F:5AD9 C6 44 FF 28 mov byte ptr [si-1], 28h ; '(' 273F:5ADD C7 44 1F 0050 mov word ptr [si+HS_FRAME_CTR], 50h 273F:5AE2 loc_1157: ; xref 273F:5AD7 273F:5AE2 E8 FB11 call hotspot_get_action_sequence 273F:5AE5 79 03 jns loc_1158 ; Jump if not sign 273F:5AE7 E9 08C7 jmp display_message_dialog_3 273F:5AEA loc_1158: ; xref 273F:5AE5 273F:5AEA 75 06 jnz loc_1159 ; Jump if not zero 273F:5AEC B8 0011 mov ax,11h 273F:5AEF E9 08BF jmp display_message_dialog_3 273F:5AF2 loc_1159: ; xref 273F:5AEA 273F:5AF2 E8 E33F call sequence_execute 273F:5AF5 74 CF jz loc_ret_1154 ; Jump if zero 273F:5AF7 E9 08B7 jmp display_message_dialog_3 use_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß look_at_proc proc near 273F:5AFA 8B DD mov bx,bp 273F:5AFC 8B 07 mov ax,[bx] 273F:5AFE 83 C5 02 add bp,2 273F:5B01 A3 BA19 mov use_hotspot_id, ax 273F:5B04 A3 BA1B mov active_hotspot_id, ax 273F:5B07 56 push si 273F:5B08 E8 B1DF call get_room_resource_pointer2 273F:5B0B 5B pop bx 273F:5B0C 87 DE xchg bx,si 273F:5B0E 81 3E BA19 0408 cmp use_hotspot_id, FIRST_OBJECT_HOTSPOT_ID 273F:5B14 72 29 jb loc_1163 ; Jump if below 273F:5B16 56 push si 273F:5B17 úBE 4AD0 mov si, offset lookat_hotspot_list 273F:5B1A 8B 0E BA19 mov cx, use_hotspot_id 273F:5B1E loc_1160: 273F:5B1E úAD lodsw ; Get next hotspot Id 273F:5B1F 0B C0 or ax,ax ; Reached end of list? 273F:5B21 74 09 jz loc_1162 ; Jump if yes 273F:5B23 3B C1 cmp ax,cx ; Found hotspot? 273F:5B25 74 02 je loc_1161 ; Jump if yes 273F:5B27 EB F5 jmp short loc_1160 ; Keep scanning 273F:5B29 loc_1161: 273F:5B29 5E pop si 273F:5B2A EB 13 jmp short loc_1163 273F:5B2C loc_1162: 273F:5B2C 5E pop si ; Hotspot not found 273F:5B2D A1 BA19 mov ax, use_hotspot_id 273F:5B30 E8 EA74 call hotspot_action_precheck 273F:5B33 0B C0 or ax,ax ; Zero ? 273F:5B35 74 08 jz loc_1163 ; Jump if zero 273F:5B37 3D 0003 cmp ax,3 273F:5B3A 74 8A je loc_ret_1154 ; Jump if equal 273F:5B3C E9 FA42 jmp character_walking_end 273F:5B3F loc_1163: ; xref 273F:5B14, 5B2A, 5B35 273F:5B3F C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:5B43 E8 EBA8 call character_face_hotspot 273F:5B46 53 push bx 273F:5B47 E8 FA37 call character_walking_end 273F:5B4A 5B pop bx 273F:5B4B E8 FAA8 call hotspot_get_action_sequence 273F:5B4E 79 03 jns loc_1164 ; Jump if not sign 273F:5B50 E9 085E jmp display_message_dialog_3 273F:5B53 loc_1164: ; xref 273F:5B4E 273F:5B53 74 05 jz loc_1165 ; Jump if zero 273F:5B55 E8 E2DC call sequence_execute 273F:5B58 75 16 jnz loc_ret_1167 ; Jump if not zero 273F:5B5A loc_1165: ; xref 273F:5B53, 5C1E 273F:5B5A úA1 BA1B mov ax, active_hotspot_id 273F:5B5D E8 B1C1 call get_room_resource_pointer3 273F:5B60 8B 5C 06 mov bx, [si+HSH_DESC_2] 273F:5B63 0B DB or bx, bx ; Zero ? 273F:5B65 75 03 jnz loc_1166 ; Jump if not zero 273F:5B67 8B 5C 04 mov bx, [si+HSH_DESC] 273F:5B6A loc_1166: 273F:5B6A 80 E7 1F and bh, 1Fh 273F:5B6D E9 2D4C jmp display_dialog 273F:5B70 loc_ret_1167: ; xref 273F:5B58, 5BA0, 5BCD, 5BDD 273F:5B70 C3 retn look_at_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß give_proc proc near 273F:5B71 8B DD mov bx,bp 273F:5B73 8B 47 02 mov ax, [bx+2] 273F:5B76 A3 BA1B mov active_hotspot_id, ax 273F:5B79 8B 07 mov ax, [bx] 273F:5B7B A3 BA19 mov use_hotspot_id, ax 273F:5B7E 83 C5 04 add bp, 4 273F:5B81 56 push si 273F:5B82 E8 B165 call get_room_resource_pointer2 273F:5B85 5B pop bx 273F:5B86 87 DE xchg bx,si 273F:5B88 8B 47 06 mov ax, [bx+HS_ROOM_NUM] 273F:5B8B 3B 45 1B cmp ax, [di+ANIM_HOTSPOT_ID]; Is item in char's inventory? 273F:5B8E 74 03 je loc_1168 ; Jump if equal 273F:5B90 E9 0179 jmp loc_1187 ; (5D0C) 273F:5B93 loc_1168: ; xref 273F:5B8E 273F:5B93 A1 BA1B mov ax, active_hotspot_id 273F:5B96 E8 EA0E call hotspot_action_precheck 273F:5B99 0B C0 or ax,ax ; Zero ? 273F:5B9B 74 08 jz loc_1169 ; Jump if zero 273F:5B9D 3D 0003 cmp ax,3 273F:5BA0 74 CE je loc_ret_1167 ; Jump if equal 273F:5BA2 E9 F9DC jmp character_walking_end 273F:5BA5 loc_1169: ; xref 273F:5B9B 273F:5BA5 53 push bx 273F:5BA6 E8 F9D8 call character_walking_end 273F:5BA9 5B pop bx 273F:5BAA E8 EB41 call character_face_hotspot 273F:5BAD 81 3E BA1B 0412 cmp active_hotspot_id, 412h 273F:5BB3 75 08 jne loc_1170 ; Jump if not equal 273F:5BB5 81 3E BA19 2710 cmp use_hotspot_id, BOTTLE_HOTSPOT_ID 273F:5BBB 74 08 je loc_1171 ; Jump if equal 273F:5BBD loc_1170: ; xref 273F:5BB3 273F:5BBD 53 push bx 273F:5BBE BB 0007 mov bx,7 273F:5BC1 E8 07DE call display_message_dialog_2 273F:5BC4 5B pop bx 273F:5BC5 loc_1171: ; xref 273F:5BBB 273F:5BC5 E8 FA2E call hotspot_get_action_sequence 273F:5BC8 79 03 jns loc_1172 ; Jump if not sign 273F:5BCA E9 07E4 jmp display_message_dialog_3 273F:5BCD loc_1172: ; xref 273F:5BC8 273F:5BCD 74 A1 jz loc_ret_1167 ; Jump if zero 273F:5BCF E8 E262 call sequence_execute 273F:5BD2 3D 03E7 cmp ax, NOONE_HOTSPOT_ID 273F:5BD5 75 03 jne loc_1173 ; Jump if not equal 273F:5BD7 E9 2DD6 jmp loc_1705 ; (89B0) 273F:5BDA loc_1173: ; xref 273F:5BD5 273F:5BDA 3D 0001 cmp ax, 1 273F:5BDD 74 91 je loc_ret_1167 ; Jump if equal 273F:5BDF 73 13 jnc loc_1174 ; Jump if carry=0 273F:5BE1 56 push si 273F:5BE2 53 push bx 273F:5BE3 A1 BA19 mov ax, use_hotspot_id 273F:5BE6 E8 B101 call get_room_resource_pointer2 273F:5BE9 A1 BA1B mov ax, active_hotspot_id 273F:5BEC 89 44 06 mov [si+HSH_DESC_2], ax 273F:5BEF 5B pop bx 273F:5BF0 5E pop si 273F:5BF1 E9 0171 jmp loc_1193 ; (5D65) 273F:5BF4 loc_1174: ; xref 273F:5BDF 273F:5BF4 8B D8 mov bx, ax 273F:5BF6 8B 0E BA1B mov cx, active_hotspot_id 273F:5BFA 8B 55 1B mov dx, [di+ANIM_HOTSPOT_ID] 273F:5BFD E9 0790 jmp display_message_dialog give_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ examine_proc proc near 273F:5C00 8B DD mov bx,bp 273F:5C02 8B 07 mov ax,[bx] 273F:5C04 A3 BA19 mov use_hotspot_id, ax 273F:5C07 A3 BA1B mov active_hotspot_id, ax 273F:5C0A 83 C5 02 add bp,2 273F:5C0D 56 push si 273F:5C0E E8 B0D9 call get_room_resource_pointer2 273F:5C11 5B pop bx 273F:5C12 87 DE xchg bx,si 273F:5C14 53 push bx 273F:5C15 E8 F969 call character_walking_end 273F:5C18 5B pop bx 273F:5C19 E8 F9DA call hotspot_get_action_sequence 273F:5C1C 75 03 jnz loc_1176 ; Jump if not zero 273F:5C1E loc_1175: ; xref 273F:5C24 273F:5C1E E9 FF39 jmp loc_1165 ; (5B5A) 273F:5C21 loc_1176: ; xref 273F:5C1C 273F:5C21 E8 E210 call sequence_execute 273F:5C24 74 F8 jz loc_1175 ; Jump if zero 273F:5C26 loc_ret_1177: ; xref 273F:5C3E, 5C8A 273F:5C26 C3 retn examine_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ bribe_proc proc near 273F:5C27 8B DD mov bx,bp 273F:5C29 8B 07 mov ax,[bx] 273F:5C2B A3 BA19 mov use_hotspot_id, ax 273F:5C2E A3 BA1B mov active_hotspot_id, ax 273F:5C31 83 C5 02 add bp,2 273F:5C34 E8 E970 call hotspot_action_precheck 273F:5C37 0B C0 or ax,ax ; Zero ? 273F:5C39 74 08 jz loc_1178 ; Jump if zero 273F:5C3B 3D 0003 cmp ax,3 273F:5C3E 74 E6 je loc_ret_1177 ; Jump if equal 273F:5C40 E9 F93E jmp character_walking_end 273F:5C43 loc_1178: ; xref 273F:5C39 273F:5C43 B8 014B mov ax,14Bh 273F:5C46 8B 16 BA1B mov dx, active_hotspot_id 273F:5C4A 53 push bx 273F:5C4B úBB 4AE6 mov bx, offset bribe_hotspot_list - 4 273F:5C4E loc_1179: 273F:5C4E 83 C3 04 add bx, 4 ; Move to next entry 273F:5C51 F7 07 FFFF test word ptr [bx],0FFFFh ; End of list reached? 273F:5C55 74 12 jz loc_1180 ; Jump if yes 273F:5C57 3B 17 cmp dx, [bx] ; Char Id found? 273F:5C59 75 F3 jne loc_1179 ; Keep scanning if not 273F:5C5B 8B 47 02 mov ax, [bx+2] ; Get 273F:5C5E F6 C4 80 test ah, 80h 273F:5C61 74 06 jz loc_1180 ; Jump if zero 273F:5C63 80 E4 7F and ah,7Fh 273F:5C66 E8 E1CB call sequence_execute 273F:5C69 loc_1180: ; xref 273F:5C55, 5C61 273F:5C69 8B D0 mov dx,ax 273F:5C6B BB 03E8 mov bx, PLAYER_HOTSPOT_ID 273F:5C6E 8B 0E BA1B mov cx, active_hotspot_id 273F:5C72 E8 04A7 call talk_setup 273F:5C75 5B pop bx 273F:5C76 E8 EA75 call character_face_hotspot 273F:5C79 53 push bx 273F:5C7A E8 F904 call character_walking_end 273F:5C7D 5B pop bx 273F:5C7E C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:5C82 E8 F971 call hotspot_get_action_sequence 273F:5C85 74 05 jz loc_1181 ; Jump if zero 273F:5C87 E8 E1AA call sequence_execute 273F:5C8A 75 9A jnz loc_ret_1177 ; Jump if not zero 273F:5C8C loc_1181: ; xref 273F:5C85 273F:5C8C BA 03E8 mov dx, PLAYER_HOTSPOT_ID 273F:5C8F 8B 0E BA19 mov cx, use_hotspot_id 273F:5C93 BB 0029 mov bx, 29h 273F:5C96 83 3E BA3B 06 cmp talk_record_index, 6 273F:5C9B 75 03 jne loc_1182 ; Jump if not equal 273F:5C9D úBB 0030 mov bx, 30h 273F:5CA0 loc_1182: ; xref 273F:5C9B 273F:5CA0 E9 06ED jmp display_message_dialog bribe_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ask_proc proc near 273F:5CA3 8B DD mov bx,bp 273F:5CA5 8B 47 02 mov ax,[bx+2] 273F:5CA8 A3 BA19 mov use_hotspot_id, ax 273F:5CAB 8B 07 mov ax,[bx] 273F:5CAD A3 BA1B mov active_hotspot_id, ax 273F:5CB0 83 C5 04 add bp,4 273F:5CB3 E8 E8F1 call hotspot_action_precheck 273F:5CB6 0B C0 or ax,ax ; Zero ? 273F:5CB8 74 08 jz loc_1183 ; Jump if zero 273F:5CBA 3D 0003 cmp ax,3 273F:5CBD 74 4C je loc_ret_1186 ; Jump if equal 273F:5CBF E9 F8BF jmp character_walking_end 273F:5CC2 loc_1183: ; xref 273F:5CB8 273F:5CC2 53 push bx 273F:5CC3 E8 F8C7 call character_walking_end_2 273F:5CC6 5B pop bx 273F:5CC7 E8 EA24 call character_face_hotspot 273F:5CCA BB 0009 mov bx,9 273F:5CCD E8 06D2 call display_message_dialog_2 273F:5CD0 E8 F923 call hotspot_get_action_sequence 273F:5CD3 78 0C js loc_1184 ; Jump if sign=1 273F:5CD5 74 34 jz loc_ret_1186 ; Jump if zero 273F:5CD7 E8 E15A call sequence_execute 273F:5CDA 74 11 jz loc_1185 ; Jump if zero 273F:5CDC 3D 0001 cmp ax,1 273F:5CDF 74 2A je loc_ret_1186 ; Jump if equal 273F:5CE1 loc_1184: ; xref 273F:5CD3 273F:5CE1 8B 0E BA1B mov cx, active_hotspot_id 273F:5CE5 8B 55 1B mov dx,[di+1Bh] 273F:5CE8 8B D8 mov bx,ax 273F:5CEA E9 06A3 jmp display_message_dialog 273F:5CED loc_1185: ; xref 273F:5CDA 273F:5CED 56 push si 273F:5CEE A1 BA19 mov ax, use_hotspot_id 273F:5CF1 E8 AFF6 call get_room_resource_pointer2 273F:5CF4 8B 4D 1B mov cx,[di+1Bh] 273F:5CF7 89 4C 06 mov [si+6],cx 273F:5CFA 5E pop si 273F:5CFB E8 005B call player_inc_inventory_items 273F:5CFE BB 0020 mov bx,20h 273F:5D01 8B 0E BA1B mov cx, active_hotspot_id 273F:5D05 8B 55 1B mov dx,[di+1Bh] 273F:5D08 E9 0685 jmp display_message_dialog 273F:5D0B loc_ret_1186: ; xref 273F:5CBD, 5CD5, 5CDF 273F:5D0B C3 retn ask_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:5D0C loc_1187: ; xref 273F:5AC7, 5B90, 5D2F 273F:5D0C B8 000F mov ax, 0Fh ; "What???" 273F:5D0F E8 069F call display_message_dialog_3 273F:5D12 E9 F86C jmp character_walking_end ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ drink_proc proc near 273F:5D15 8B DD mov bx,bp 273F:5D17 8B 07 mov ax,[bx] 273F:5D19 83 C5 02 add bp,2 273F:5D1C A3 BA19 mov use_hotspot_id, ax 273F:5D1F A3 BA1B mov active_hotspot_id, ax 273F:5D22 56 push si 273F:5D23 E8 AFC4 call get_room_resource_pointer2 273F:5D26 5B pop bx 273F:5D27 87 DE xchg bx,si 273F:5D29 8B 45 1B mov ax,[di+ANIM_HOTSPOT_ID] ; Validate item is in 273F:5D2C 3B 47 06 cmp ax,[bx+HS_ROOM_NUM] ; character's inventory 273F:5D2F 75 DB jne loc_1187 ; Jump if not equal 273F:5D31 53 push bx 273F:5D32 E8 F84C call character_walking_end 273F:5D35 5B pop bx 273F:5D36 E8 F8BD call hotspot_get_action_sequence 273F:5D39 79 03 jns loc_1188 ; Jump if not sign 273F:5D3B E9 0673 jmp display_message_dialog_3 273F:5D3E loc_1188: ; xref 273F:5D39 273F:5D3E 74 13 jz loc_1191 ; Jump if zero 273F:5D40 E8 E0F1 call sequence_execute 273F:5D43 74 08 jz loc_1189 ; Jump if zero 273F:5D45 3D 0001 cmp ax,1 273F:5D48 74 08 je loc_ret_1190 ; Jump if equal 273F:5D4A E9 0664 jmp display_message_dialog_3 273F:5D4D loc_1189: ; xref 273F:5D43 273F:5D4D C7 47 06 0000 mov word ptr [bx+HS_ROOM_NUM], 0 273F:5D52 loc_ret_1190: ; xref 273F:5D48 273F:5D52 C3 retn 273F:5D53 loc_1191: ; xref 273F:5D3E 273F:5D53 B8 0016 mov ax,16h 273F:5D56 E9 0658 jmp display_message_dialog_3 drink_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:5436, 5CFB ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ player_inc_inventory_items proc near 273F:5D59 81 FE 6CEF cmp si, offset player_hotspot_rec 273F:5D5D 75 05 jne loc_ret_1192 ; Jump if not equal 273F:5D5F 80 06 9835 01 add num_inventory_items, 1 273F:5D64 loc_ret_1192: ; xref 273F:5D5D, 5D69, 5DB4 273F:5D64 C3 retn player_inc_inventory_items proc near 273F:5D65 loc_1193: ; xref 273F:5BF1 273F:5D65 ú81 FE 6CEF cmp si, offset player_hotspot_rec 273F:5D69 75 F9 jne loc_ret_1192 ; Jump if not equal 273F:5D6B 80 2E 9835 01 sub num_inventory_items, 1 273F:5D70 loc_ret_1194: ; xref 273F:5D8B 273F:5D70 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_dispatch_action proc near 273F:5D71 8B DD mov bx,bp 273F:5D73 8B 07 mov ax,[bx] 273F:5D75 83 C5 04 add bp,4 273F:5D78 A3 BA19 mov use_hotspot_id, ax 273F:5D7B A3 BA1B mov active_hotspot_id, ax 273F:5D7E E8 E826 call hotspot_action_precheck 273F:5D81 0B C0 or ax,ax ; Zero ? 273F:5D83 75 03 jnz loc_1195 ; Jump if not zero 273F:5D85 E9 F7F9 jmp character_walking_end 273F:5D88 loc_1195: ; xref 273F:5D83 273F:5D88 3D 0003 cmp ax, 3 ; Initial state? 273F:5D8B 74 E3 je loc_ret_1194 ; Exit if yes 273F:5D8D 8B DD mov bx,bp 273F:5D8F 8B 47 FE mov ax,[bx-2] 273F:5D92 8B DE mov bx,si 273F:5D94 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5D97 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5D9A 89 47 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], ax 273F:5D9D E9 E41E jmp action_dispatch npc_dispatch_action endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_unknown_3 proc near 273F:5DA0 8B DD mov bx,bp 273F:5DA2 8B 07 mov ax,[bx] 273F:5DA4 A3 BA19 mov use_hotspot_id, ax 273F:5DA7 A3 BA1B mov active_hotspot_id, ax 273F:5DAA E8 E7FA call hotspot_action_precheck 273F:5DAD 0B C0 or ax,ax ; Zero ? 273F:5DAF 74 0B jz loc_1196 ; Jump if zero 273F:5DB1 3D 0003 cmp ax,3 273F:5DB4 74 AE je loc_ret_1192 ; Jump if equal 273F:5DB6 83 C5 0A add bp,0Ah 273F:5DB9 E9 F7C5 jmp character_walking_end 273F:5DBC loc_1196: ; xref 273F:5DAF 273F:5DBC A1 BA1B mov ax, active_hotspot_id 273F:5DBF 56 push si 273F:5DC0 E8 AF27 call get_room_resource_pointer2 273F:5DC3 5B pop bx 273F:5DC4 87 DE xchg bx,si 273F:5DC6 F7 47 37 FFFF test word ptr [bx+HS_TALK_COUNTDOWN], 0FFFFh 273F:5DCB 75 36 jnz loc_ret_1199 ; Jump if not zero 273F:5DCD 83 C5 02 add bp, 2 273F:5DD0 8B DD mov bx, bp 273F:5DD2 8B 17 mov dx, [bx] ; Get param #2 273F:5DD4 0B D2 or dx, dx ; Zero ? 273F:5DD6 74 11 jz loc_1197 ; Jump if zero 273F:5DD8 8B 4F FE mov cx, [bx-2] 273F:5DDB 53 push bx 273F:5DDC E8 0350 call talk_setup_3 ; (612F) 273F:5DDF 5B pop bx 273F:5DE0 8B 47 02 mov ax, [bx+2] 273F:5DE3 01 44 42 add [si+HS_DELAY_CTR], ax 273F:5DE6 01 44 37 add [si+HS_TALK_COUNTDOWN], ax 273F:5DE9 loc_1197: ; xref 273F:5DD6 273F:5DE9 83 C3 04 add bx, 4 273F:5DEC 8B 17 mov dx, [bx] ; Param #4 273F:5DEE 0B D2 or dx, dx ; Zero ? 273F:5DF0 74 0B jz loc_1198 ; Jump if zero 273F:5DF2 8B 5F FA mov bx, [bx-6] ; Param #1 273F:5DF5 8B 4D 1B mov cx, [di+ANIM_HOTSPOT_ID] 273F:5DF8 56 push si 273F:5DF9 E8 032E call talk_setup_2 273F:5DFC 5E pop si 273F:5DFD loc_1198: 273F:5DFD 83 C5 08 add bp, 8 273F:5E00 E9 F77E jmp character_walking_end 273F:5E03 loc_ret_1199: 273F:5E03 C3 retn npc_unknown_3 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_pause proc near 273F:5E04 8B DD mov bx,bp 273F:5E06 8B 47 02 mov ax, [bx+2] 273F:5E09 89 44 42 mov [si+HS_DELAY_CTR], ax 273F:5E0C C6 44 44 03 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_3 273F:5E10 83 C5 04 add bp, 4 273F:5E13 E9 F76B jmp character_walking_end npc_pause endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_start_talking proc near 273F:5E16 8B DE mov bx, si 273F:5E18 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5E1B 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5E1E 83 47 01 06 add word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 6 273F:5E22 8B DD mov bx, bp 273F:5E24 8B 17 mov dx, [bx] 273F:5E26 8B 47 02 mov ax, [bx+2] 273F:5E29 8B 5D 1B mov bx, [di+ANIM_HOTSPOT_ID] 273F:5E2C B9 03E7 mov cx, NOONE_ID 273F:5E2F E9 0319 jmp talk_converse npc_start_talking endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_jump_to_address proc near 273F:5E32 8B DE mov bx,si 273F:5E34 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5E37 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5E3A 83 47 01 04 add word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 4 273F:5E3E 8B DD mov bx,bp 273F:5E40 8B 07 mov ax,[bx] ; Load address 273F:5E42 FF E0 jmp ax ; Jump to it npc_jump_to_address endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; This method is the tick handler proc for the player, and gets ; called once every frame ; di = animation slot entry, si = hotspot resource ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß player_tick_proc proc near 273F:5E44 8B DE mov bx, si 273F:5E46 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:5E49 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:5E4C E8 0329 call talk_countdown_handler 273F:5E4F F7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:5E54 74 0B jz loc_1200 ; Jump if zero 273F:5E56 C7 06 F010 0000 mov timer_ticks, 0 273F:5E5C 83 6C 1F 01 sub word ptr [si+HS_FRAME_CTR],1 273F:5E60 C3 retn 273F:5E61 loc_1200: 273F:5E61 E8 B2A7 call character_find_impinging_chars 273F:5E64 F6 45 1D FF test byte ptr [di+ANIM_SKIP], 0FFh 273F:5E68 74 13 jz loc_1202 ; Jump if zero 273F:5E6A C7 06 F010 0000 mov timer_ticks, 0 273F:5E70 F7 06 10BE FFFF test num_impinging_chars, 0FFFFh 273F:5E76 74 01 jz loc_1201 ; Jump if zero 273F:5E78 C3 retn 273F:5E79 loc_1201: ; xref 273F:5E76 273F:5E79 C6 45 1D 00 mov byte ptr [di+ANIM_SKIP], 0 273F:5E7D loc_1202: ; xref 273F:5E68 273F:5E7D 8B 44 58 mov ax, [si+HS_V58] 273F:5E80 0B C0 or ax, ax ; Zero ? 273F:5E82 74 19 jz loc_1203 ; Jump if zero 273F:5E84 C7 06 F010 0000 mov timer_ticks, 0 273F:5E8A C7 44 58 0000 mov word ptr [si+HS_V58], 0 273F:5E8F 56 push si 273F:5E90 E8 AE57 call get_room_resource_pointer2 273F:5E93 80 7C 44 07 cmp byte ptr [si+HS_CHAR_MODE], CHARMODE_7 273F:5E97 5E pop si 273F:5E98 74 03 jz loc_1203 273F:5E9A C6 07 00 mov byte ptr [bx], 0 ; Reset action 273F:5E9D loc_1203: 273F:5E9D F7 44 4A FFFF test word ptr [si+HS_PAUSE_CTR], 0FFFFh 273F:5EA2 74 27 jz loc_1205 ; Jump if zero 273F:5EA4 C7 06 F010 0000 mov timer_ticks, 0 273F:5EAA E8 E4B9 call character_update_movement 273F:5EAD 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:5EB0 E8 F09F call pathfind_reset 273F:5EB3 83 7C 4A 01 cmp word ptr [si+HS_PAUSE_CTR], 1 273F:5EB7 75 0F jne loc_1204 ; Jump if not equal 273F:5EB9 C7 44 4A 0000 mov word ptr [si+HS_PAUSE_CTR], 0 273F:5EBE F6 44 44 FF test byte ptr [si+HS_CHAR_MODE], 0FFh 273F:5EC2 75 07 jnz loc_1205 ; Jump if not zero 273F:5EC4 E8 E4C0 call character_pathfind_clear 273F:5EC7 C3 retn 273F:5EC8 loc_1204: 273F:5EC8 E9 E695 jmp character_paused_list_scan 273F:5ECB loc_1205: 273F:5ECB 8A 44 44 mov al, [si+HS_CHAR_MODE] 273F:5ECE 0A C0 or al, al ; CHARMODE_NONE? 273F:5ED0 74 44 jz loc_1208 ; Jump if yes 273F:5ED2 3C 02 cmp al, CHARMODE_IDLE 273F:5ED4 74 40 je loc_1208 273F:5ED6 C7 06 F010 0000 mov timer_ticks, 0 273F:5EDC F7 44 42 FFFF test word ptr [si+HS_DELAY_CTR], 0FFFFh 273F:5EE1 74 0E jz loc_1206 ; Jump if zero 273F:5EE3 E8 E480 call character_update_movement 273F:5EE6 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:5EE9 E8 F066 call pathfind_reset 273F:5EEC 83 6C 42 01 sub word ptr [si+HS_DELAY_CTR], 1 273F:5EF0 C3 retn 273F:5EF1 loc_1206: ; xref 273F:5EE1 273F:5EF1 E8 E493 call character_pathfind_clear 273F:5EF4 C6 44 44 00 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE 273F:5EF8 F6 44 FF FF test byte ptr [si-1],0FFh 273F:5EFC 74 17 jz loc_ret_1207 ; Jump if zero 273F:5EFE C6 44 FF 00 mov byte ptr [si+HS_DEST2_SET], 0 273F:5F02 8B 44 FB mov ax,[si+HS_DEST2_X] 273F:5F05 89 44 54 mov [si+HS_DEST_X], ax 273F:5F08 8B 44 FD mov ax,[si+HS_DEST2_Y] 273F:5F0B 89 44 56 mov [si+HS_DEST_Y], ax 273F:5F0E C6 07 01 mov byte ptr [bx], CHAR_ACTION_START_WALK 273F:5F11 C6 45 27 00 mov byte ptr [di+ANIM_WALK_FLAG], 0 273F:5F15 loc_ret_1207: ; xref 273F:5EFC 273F:5F15 C3 retn 273F:5F16 loc_1208: ; xref 273F:5ED0, 5ED4 273F:5F16 B0 02 mov al, CHARMODE_IDLE 273F:5F18 8A 27 mov ah, [bx] 273F:5F1A F6 C4 FF test ah, 0FFh 273F:5F1D 75 08 jnz loc_1209 ; Jump if not zero 273F:5F1F C7 44 52 0000 mov [si+HS_DEST_HOTSPOT], 0 273F:5F24 E9 E43C jmp character_update_movement_2 273F:5F27 loc_1209: 273F:5F27 C7 06 F010 0000 mov timer_ticks, 0 273F:5F2D 80 FC 05 cmp ah, CHAR_ACTION_CONTINUE_WALK 273F:5F30 74 13 je loc_1211 ; Jump if equal 273F:5F32 80 FC 03 cmp ah, CHAR_ACTION_EXEC_SCRIPT 273F:5F35 74 11 je loc_1212 ; Jump if equal 273F:5F37 80 FC 01 cmp ah, CHAR_ACTION_START_WALK 273F:5F3A 74 17 je loc_1213 ; Jump if equal 273F:5F3C 80 FC 04 cmp ah, CHAR_ACTION_PROCESSING_PATH 273F:5F3F 74 1E je loc_1214 ; Jump if equal 273F:5F41 E8 E27A call action_dispatch 273F:5F44 loc_ret_1210: ; xref 273F:5F4D 273F:5F44 C3 retn 273F:5F45 loc_1211: ; xref 273F:5F30 273F:5F45 E9 00A3 jmp loc_1219 ; (5FEB) 273F:5F48 loc_1212: ; xref 273F:5F35 273F:5F48 E8 B05E call hotspot_script_execute 273F:5F4B 0B C0 or ax,ax ; Zero ? 273F:5F4D 75 F5 jnz loc_ret_1210 ; Jump if not zero 273F:5F4F C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:5F52 C3 retn ; Code below is responsible for starting the player walking 273F:5F53 loc_1213: ; xref 273F:5F3A 273F:5F53 B8 03E8 mov ax, PLAYER_HOTSPOT_ID 273F:5F56 E8 EFF9 call pathfind_reset 273F:5F59 C6 07 04 mov byte ptr [bx], CHAR_ACTION_PROCESSING_PATH 273F:5F5C E8 E428 call character_pathfind_clear ; Jump point here calculates one sequence of the path finding required to get ; the player to a given destination 273F:5F5F loc_1214: ; xref 273F:5F3F 273F:5F5F C6 44 44 00 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE 273F:5F63 E8 E5FA call character_paused_list_scan 273F:5F66 8B 4C 54 mov cx, [si+HS_DEST_X] 273F:5F69 8B 54 56 mov dx, [si+HS_DEST_Y] 273F:5F6C 53 push bx 273F:5F6D 56 push si 273F:5F6E 57 push di 273F:5F6F 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:5F72 8B D9 mov bx,cx 273F:5F74 8B CA mov cx,dx 273F:5F76 8A 54 4C mov dl, [si+HS_BLOCKED_FLAG] 273F:5F79 E8 EA7A call character_pathfind 273F:5F7C 8B D3 mov dx,bx 273F:5F7E 5F pop di 273F:5F7F 5E pop si 273F:5F80 5B pop bx 273F:5F81 0B C0 or ax,ax ; Zero ? 273F:5F83 75 01 jnz loc_1215 ; Jump if not zero 273F:5F85 C3 retn ; The code below gets jumped to when the final segment of pathfinding is ; complete. 273F:5F86 loc_1215: 273F:5F86 3D 0001 cmp ax, PF_OK 273F:5F89 74 42 je loc_1218 ; Immediate translate 273F:5F8B F6 45 27 01 test byte ptr [di+ANIM_WALK_FLAG], 1 273F:5F8F 75 05 jnz loc_1216 ; Jump if not zero 273F:5F91 3D 0002 cmp ax, PF_DEST_OCCUPIED 273F:5F94 74 37 je loc_1218 ; Jump to translate 273F:5F96 loc_1216: ; xref 273F:5F8F 273F:5F96 F6 44 4C FF test byte ptr [si+HS_BLOCKED_FLAG], 0FFh 273F:5F9A 74 31 jz loc_1218 ; Jump if zero 273F:5F9C 80 7C 4C 02 cmp byte ptr [si+HS_BLOCKED_FLAG], BS_FINAL 273F:5FA0 74 17 je loc_1217 ; Jump if equal 273F:5FA2 C6 44 FF 01 mov byte ptr [si+HS_DEST2_SET], 1 273F:5FA6 8B 44 54 mov ax, [si+HS_DEST_X] 273F:5FA9 89 44 FB mov [si+HS_DEST2_X], ax 273F:5FAC 8B 44 56 mov ax, [si+HS_DEST_Y] 273F:5FAF 89 44 FD mov [si+HS_DEST2_Y], ax 273F:5FB2 80 44 4C 01 add byte ptr [si+HS_BLOCKED_FLAG], 1 273F:5FB6 E9 F6AD jmp character_set_random_dest 273F:5FB9 loc_1217: ; xref 273F:5FA0 273F:5FB9 E8 E485 call character_paused_list_reset 273F:5FBC C6 44 4C 00 mov byte ptr [si+HS_BLOCKED_FLAG], BS_NONE 273F:5FC0 C6 07 00 mov byte ptr [bx], 0 273F:5FC3 C6 44 44 06 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_6 273F:5FC7 C7 44 42 0007 mov word ptr [si+HS_DELAY_CTR], 7 273F:5FCC C3 retn 273F:5FCD loc_1218: ; dx => movement data 273F:5FCD C6 44 4C 00 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE 273F:5FD1 8B C3 mov ax, bx 273F:5FD3 8B DA mov bx, dx 273F:5FD5 8B 0F mov cx, [bx] 273F:5FD7 8B D8 mov bx, ax 273F:5FD9 0B C9 or cx, cx ; Zero ? 273F:5FDB 74 56 jz loc_1223 ; Jump if zero 273F:5FDD C6 07 05 mov byte ptr [bx], CHAR_ACTION_CONTINUE_WALK 273F:5FE0 E8 E22A call character_translate_movements 273F:5FE3 83 65 02 F8 and [di+ANIM_Y], 0FFF8h 273F:5FE7 83 64 0F F8 and [si+HS_Y], 0FFF8h ; The buffer pointed to by HS[HS_MOVEMENT_SRC_OFFSET] now contains a set of ; direction numbers and steps necessary to get the player to the destination ; they've clicked on ; Code jumps to this point to handle the continual walking 273F:5FEB loc_1219: 273F:5FEB 8B 44 52 mov ax, [si+HS_DEST_HOTSPOT] 273F:5FEE 0B C0 or ax,ax ; Walking to a room exit hotspot: 273F:5FF0 74 17 jz loc_1221 ; No, straight walking 273F:5FF2 3D FFFF cmp ax, 0FFFFh 273F:5FF5 74 12 je loc_1221 273F:5FF7 56 push si 273F:5FF8 53 push bx 273F:5FF9 E8 11F2 call room_exit_hs_get_pointer 273F:5FFC 8A 44 0C mov al, [si+REHS_EXIT_BLOCKED] 273F:5FFF 5B pop bx 273F:6000 5E pop si 273F:6001 0A C0 or al, al ; Is exit now blocked? 273F:6003 74 04 jz loc_1221 ; Keep walking if not 273F:6005 C6 07 00 mov byte ptr [bx], 0 ; Stop the player walking 273F:6008 loc_ret_1220: ; xref 273F:600E 273F:6008 C3 retn 273F:6009 loc_1221: ; xref 273F:5FF0, 5FF5, 6003 273F:6009 E8 B1A9 call character_paused_list_check 273F:600C 0B C0 or ax,ax ; Zero ? 273F:600E 75 F8 jnz loc_ret_1220 ; Jump if not zero 273F:6010 E8 AE9D call character_update_frame 273F:6013 0A C0 or al, al ; Zero ? 273F:6015 74 1F jz loc_1224 ; Jump if zero 273F:6017 80 3E 9834 04 cmp cursor_state, CURSORSTATE_BUMPED 273F:601C 75 05 jne loc_1222 ; Jump if not equal 273F:601E C6 06 9834 00 mov cursor_state, CURSORSTATE_NONE 273F:6023 loc_1222: ; xref 273F:601C 273F:6023 F6 44 FF FF test byte ptr [si-HS_DEST2_SET], 0FFh 273F:6027 74 0A jz loc_1223 ; Jump if zero 273F:6029 C6 44 44 06 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_6 273F:602D C7 44 42 000F mov word ptr [si+HS_DELAY_CTR], 15 273F:6032 C3 retn 273F:6033 loc_1223: ; xref 273F:5FDB, 6027 273F:6033 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:6036 loc_1224: ; xref 273F:6015 273F:6036 E9 E24F jmp character_check_room_change player_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4313 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ character_change_room_check_bumped proc near 273F:6039 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] 273F:603C E8 E46A call check_for_impinging_characters 273F:603F 75 30 jnz loc_1225 ; No character bumped 273F:6041 8B DE mov bx, si 273F:6043 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:6046 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:6049 C6 44 FF 01 mov byte ptr [si+HS_DEST2_SET], 1 273F:604D 8B 44 54 mov ax, [si+HS_DEST_X] 273F:6050 89 44 FB mov [si+HS_DEST2_X], ax 273F:6053 8B 44 56 mov ax, [si+HS_DEST_Y] 273F:6056 89 44 FD mov [si+HS_DEST2_Y], ax 273F:6059 C6 06 9834 04 mov cursor_state, CURSORSTATE_BUMPED 273F:605E C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:6062 80 44 4C 01 add byte ptr [si+HS_BLOCKED_FLAG], 1 273F:6066 C7 44 52 0000 mov word ptr [si+HS_DEST_HOTSPOT], 0 273F:606B E8 F5F8 call character_set_random_dest 273F:606E 33 C0 xor ax, ax ; Zero register 273F:6070 C3 retn 273F:6071 loc_1225: ; xref 273F:603F 273F:6071 0D 0001 or ax, 1 273F:6074 loc_ret_1226: ; xref 273F:60D3 273F:6074 C3 retn character_change_room_check_bumped endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:006E ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ player_change_room proc near 273F:6075 úBE 6CEF mov si, offset player_hotspot_rec 273F:6078 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] ; Get player anim rec 273F:607B C6 45 1D 2A mov byte ptr [di+ANIM_SKIP], 2Ah 273F:607F 8B DE mov bx, si 273F:6081 03 5F 61 add bx, [bx+HS_ACTION_OFFSET] 273F:6084 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:6087 C6 07 00 mov byte ptr [bx], CHAR_ACTION_NONE 273F:608A A1 9832 mov ax, room_number 273F:608D 89 45 0E mov [di+ANIM_ROOM_NUM], ax ; Set player's room # 273F:6090 89 44 06 mov [si+HS_ROOM_NUM], ax 273F:6093 A1 982E mov ax, new_room_x ; Set x position 273F:6096 24 F8 and al, 0F8h 273F:6098 0C 05 or al, 5 273F:609A 89 05 mov [di+ANIM_X], ax 273F:609C 89 44 0D mov [si+HS_X], ax 273F:609F A1 9830 mov ax, new_room_y ; Set y position 273F:60A2 25 FFF8 and ax, 0FFF8h 273F:60A5 89 45 02 mov [di+ANIM_Y], ax 273F:60A8 89 44 0F mov [si+HS_Y], ax 273F:60AB C7 06 982C 0000 mov new_room_number_2, 0 273F:60B1 8B 5D 0E mov bx, [di+ANIM_ROOM_NUM] 273F:60B4 56 push si 273F:60B5 E8 1B53 call hotspot_enable 273F:60B8 5E pop si 273F:60B9 8B 4C 50 mov cx, [si+HS_DIRECTION] 273F:60BC C7 44 50 0000 mov word ptr [si+HS_DIRECTION], 0 273F:60C1 F6 C1 80 test cl, DIR_UP 273F:60C4 75 12 jnz loc_1227 ; Jump if not zero 273F:60C6 F6 C1 40 test cl, DIR_DOWN 273F:60C9 75 13 jnz loc_1229 ; Jump if not zero 273F:60CB F6 C1 20 test cl, DIR_LEFT 273F:60CE 75 0B jnz loc_1228 ; Jump if not zero 273F:60D0 F6 C1 10 test cl, DIR_RIGHT 273F:60D3 74 9F jz loc_ret_1226 ; Jump if zero 273F:60D5 E9 E434 jmp char_face_right 273F:60D8 loc_1227: ; xref 273F:60C4 273F:60D8 E9 E3FE jmp char_face_up 273F:60DB loc_1228: ; xref 273F:60CE 273F:60DB E9 E41D jmp char_face_left 273F:60DE loc_1229: ; xref 273F:60C9 273F:60DE E9 E409 jmp char_face_down player_change_room endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:00A6 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:60E1 sub_138 proc near 273F:60E1 loc_1230: ; xref 273F:6106 273F:60E1 úBF B14E mov di, offset animation_table 273F:60E4 BE 6CEF mov si, offset player_hotspot_rec 273F:60E7 E8 B021 call character_find_impinging_chars 273F:60EA F7 06 10BE FFFF test num_impinging_chars, 0FFFFh 273F:60F0 74 16 jz loc_ret_1231 ; Jump if zero 273F:60F2 FF 36 6D06 push player_tick_handler 273F:60F6 C7 06 6D06 41BD mov player_tick_handler, offset null_tick_proc 273F:60FC E8 E311 call character_paused_list_countdown 273F:60FF E8 E094 call animation_tick 273F:6102 8F 06 6D06 pop player_tick_handler 273F:6106 EB D9 jmp short loc_1230 ; (60E1) 273F:6108 loc_ret_1231: ; xref 273F:60F0 273F:6108 C3 retn sub_138 endp 273F:6109 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8132 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ start_talk_noone proc near 273F:610A B0 01 mov al, 1 273F:610C 8B D1 mov dx, cx 273F:610E B9 03E7 mov cx, NOONE_HOTSPOT_ID 273F:6111 EB 38 jmp talk_converse start_talk_noone endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6113 B8 0001 mov ax,1 273F:6116 EB 33 jmp talk_converse ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx=talking char Id, cx=talk to char Id, dx=string Id ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_converse proc near 273F:6118 32 C0 xor al, al 273F:611A EB 2F jmp talk_converse seq_converse endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:611C talk_setup: 273F:611C EB 0C jmp talk_setup_2 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:611E 32 C0 xor al,al ; Zero register 273F:6120 8B D3 mov dx,bx 273F:6122 BB 03E8 mov bx, PLAYER_HOTSPOT_ID 273F:6125 B9 03E7 mov cx,3E7h 273F:6128 EB 21 jmp short talk_converse ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:5DF9 273F:612A talk_setup_2: 273F:612A 51 push cx 273F:612B E8 ABBA call get_room_resource_pointer 273F:612E 59 pop cx ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:5DDC, 8C43, 8C8F, 8D33 talk_setup_3: 273F:612F ú89 54 3C mov [si+HS_RESPONSE_ID], dx 273F:6132 89 4C 39 mov [si+HS_TALK_CHAR_ID], cx 273F:6135 C7 44 37 0028 mov word ptr [si+HS_TALK_COUNTDOWN], TALK_COUNTDOWN_MAX 273F:613A 56 push si 273F:613B 8B D9 mov bx, cx 273F:613D E8 ABA8 call get_room_resource_pointer ; Get char talking to 273F:6140 5B pop bx 273F:6141 87 DE xchg bx, si ; bx=hotspot talking to 273F:6143 8B 47 37 mov ax, [bx+HS_TALK_COUNTDOWN] 273F:6146 01 44 37 add [si+HS_TALK_COUNTDOWN], ax 273F:6149 EB 16 jmp short loc_1236 ; bx=talking char Id, cx=talking to char Id, dx=string Id, ax=??? 273F:614B talk_converse: 273F:614B 50 push ax 273F:614C 51 push cx 273F:614D E8 AB98 call get_room_resource_pointer 273F:6150 59 pop cx 273F:6151 58 pop ax ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:582D, 638C 273F:6152 talk_converse_2: 273F:6152 ú89 54 3C mov [si+HS_RESPONSE_ID], dx 273F:6155 89 4C 39 mov [si+HS_TALK_CHAR_ID],cx 273F:6158 C7 44 37 0028 mov [si+HS_TALK_COUNTDOWN], TALK_COUNTDOWN_MAX 273F:615D A8 FF test al,0FFh 273F:615F 74 16 jz loc_ret_1237 ; Jump if zero 273F:6161 loc_1236: ; xref 273F:6149 273F:6161 8B 44 37 mov ax, [si+HS_TALK_COUNTDOWN] 273F:6164 89 44 42 mov [si+HS_DELAY_CTR], ax 273F:6167 C6 44 44 05 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_CONVERSING 273F:616B A1 BA19 mov ax, use_hotspot_id 273F:616E 89 44 3E mov [si+HS_V3E], ax 273F:6171 A1 BA1B mov ax, active_hotspot_id 273F:6174 89 44 40 mov [si+HS_V40], ax 273F:6177 loc_ret_1237: 273F:6177 C3 retn seq_converse endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4F8A, 5E4C, 81B3, 81F3, 820E, 8241, 82A0 ; 85CE, 8663, 87EC, 882A, 8D3B, 8D59 ; si = hotspot record, bx = table offset ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_countdown_handler proc near 273F:6178 úF7 44 37 FFFF test word ptr [si+HS_TALK_COUNTDOWN], 0FFFFh 273F:617D 74 F8 jz loc_ret_1237 ; Jump if zero 273F:617F 83 7C 37 28 cmp word ptr [si+HS_TALK_COUNTDOWN], TALK_COUNTDOWN_MAX 273F:6183 74 22 je loc_1241 ; Jump if equal 273F:6185 F6 06 CE20 80 test game_flags, 80h 273F:618A 75 16 jnz loc_1240 ; Jump if not zero 273F:618C F6 06 CE20 0C test game_flags, 0Ch 273F:6191 74 0A jz loc_1239 ; Jump if zero 273F:6193 83 44 42 01 add word ptr [si+HS_DELAY_CTR], 1 273F:6197 80 2E CE20 04 sub game_flags, 4 273F:619C C3 retn 273F:619D loc_1239: ; xref 273F:6191 273F:619D 80 0E CE20 04 or game_flags, 4 273F:61A2 loc_1240: ; xref 273F:618A 273F:61A2 83 6C 37 01 sub word ptr [si+HS_TALK_COUNTDOWN], 1 273F:61A6 C3 retn 273F:61A7 loc_1241: ; xref 273F:6183 273F:61A7 83 6C 37 01 sub word ptr [si+HS_TALK_COUNTDOWN], 1 273F:61AB 53 push bx 273F:61AC E8 0020 call talk_add_voice_animation 273F:61AF E8 0298 call sub_153 ; (644A) 273F:61B2 81 7C 39 03E7 cmp word ptr [si+HS_TALK_CHAR_ID], NOONE_HOTSPOT_ID 273F:61B7 74 14 je loc_1242 ; Jump if equal 273F:61B9 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:61BC 8B 5C 39 mov bx, [si+HS_TALK_CHAR_ID] 273F:61BF 89 1E BA1B mov active_hotspot_id, bx 273F:61C3 50 push ax 273F:61C4 53 push bx 273F:61C5 E8 E532 call character_face_hotspot_2 273F:61C8 58 pop ax 273F:61C9 5B pop bx 273F:61CA E8 E52D call character_face_hotspot_2 273F:61CD loc_1242: ; xref 273F:61B7 273F:61CD 5B pop bx 273F:61CE C3 retn talk_countdown_handler endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:61AC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_add_voice_animation proc near 273F:61CF 8B 45 1B mov ax,[di+ANIM_HOTSPOT_ID] 273F:61D2 57 push di 273F:61D3 úBF B14E mov di, offset animation_table 273F:61D6 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:61D9 locloop_1243: 273F:61D9 F6 45 0C FF test byte ptr [di+ANIM_LAYER], 0FFh ; Empty slot? 273F:61DD 74 12 jz loc_1245 ; Jump if slot found 273F:61DF 83 7D 1B FF cmp word ptr [di+ANIM_HOTSPOT_ID], 0FFFFh 273F:61E3 75 05 jne loc_1244 ; Jump if not equal 273F:61E5 3B 45 1E cmp ax,[di+1Eh] 273F:61E8 74 07 je loc_1245 ; Jump if equal 273F:61EA loc_1244: ; xref 273F:61E3 273F:61EA 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:61ED E2 EA loop locloop_1243 ; Loop if cx > 0 273F:61EF 5F pop di 273F:61F0 C3 retn 273F:61F1 loc_1245: ; xref 273F:61DD, 61E8 273F:61F1 5B pop bx 273F:61F2 87 DF xchg bx,di ; di = passed character animation entry, bx = slot to add voice entry into 273F:61F4 8B 45 0E mov ax, [di+ANIM_ROOM_NUM] 273F:61F7 89 47 0E mov [bx+ANIM_ROOM_NUM], ax 273F:61FA C7 47 1B FFFF mov word ptr [bx+ANIM_HOTSPOT_ID], 0FFFFh 273F:61FF 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:6202 89 47 1E mov [bx+1Eh], ax 273F:6205 8B 44 3C mov ax, [si+3Ch] 273F:6208 89 47 20 mov [bx+20h],ax 273F:620B C6 47 0D 01 mov byte ptr [bx+ANIM_FLAGS], 1 273F:620F 8B 05 mov ax, [di] ; X position 273F:6211 05 000C add ax, 12 273F:6214 89 07 mov [bx], ax 273F:6216 8B 45 02 mov ax, [di+ANIM_Y] 273F:6219 2D 0012 sub ax, 18 273F:621C 89 47 02 mov [bx+ANIM_Y], ax 273F:621F C7 47 04 0020 mov word ptr [bx+ANIM_WIDTH], 32 273F:6224 C7 47 06 0012 mov word ptr [bx+ANIM_HEIGHT], 18 273F:6229 C6 47 0C 01 mov byte ptr [bx+ANIM_LAYER], 1 273F:622D C6 47 10 01 mov byte ptr [bx+ANIM_CAN_UNLOAD], 1 273F:6231 C7 47 11 625E mov word ptr [bx+ANIM_TICK_PROC], offset voice_tick_proc 273F:6236 C7 47 13 0018 mov word ptr [bx+ANIM_WIDTH_COPY], 24 273F:623B 8B 45 15 mov ax, [di+ANIM_HEIGHT_COPY] 273F:623E 05 000E add ax, 14 273F:6241 89 47 15 mov [bx+ANIM_HEIGHT_COPY], ax 273F:6244 C7 47 17 0001 mov word ptr [bx+17h], 1 273F:6249 C7 47 08 0000 mov word ptr [bx+8], 0 273F:624E A1 5813 mov ax, voice_pixel_segment 273F:6251 89 47 0A mov [bx+ANIM_SEGMENT], ax 273F:6254 C6 47 28 00 mov byte ptr [bx+ANIM_START_COLOUR], 0 273F:6258 C7 47 24 0028 mov word ptr [bx+24h], 28h 273F:625D C3 retn talk_add_voice_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ voice_tick_proc proc near 273F:625E 83 6D 24 01 sub word ptr [di+ANIM_VOICE_CTR], 1 ; Decrement countdown ctr 273F:6262 74 3A jz loc_1247 ; Jump if zero 273F:6264 8B 5D 1E mov bx, [di+ANIM_VOICE_CHAR_ID] 273F:6267 E8 AA7E call get_room_resource_pointer 273F:626A 8B 45 0E mov ax, [di+ANIM_ROOM_NUM] 273F:626D 3B 44 06 cmp ax, [si+HS_ROOM_NUM] ; Still in same room as char? 273F:6270 75 2C jne loc_1247 ; If not then unload 273F:6272 F7 44 37 FFFF test word ptr [si+HS_TALK_COUNTDOWN],0FFFFh 273F:6277 74 25 jz loc_1247 ; Jump if zero 273F:6279 E8 E532 call room_check_x_extents 273F:627C 74 06 jz loc_1246 ; Jump if zero 273F:627E C7 45 02 0008 mov word ptr [di+ANIM_Y], -120 273F:6283 C3 retn 273F:6284 loc_1246: ; xref 273F:627C 273F:6284 8A 44 35 mov al, [si+HS_TALK_X] 273F:6287 98 cbw 273F:6288 03 44 0D add ax, [si+HS_X] 273F:628B 05 000C add ax, 12 273F:628E 89 05 mov [di], ax 273F:6290 8A 44 36 mov al,[si+HS_TALK_Y] 273F:6293 98 cbw 273F:6294 03 44 0F add ax,[si+HS_Y] 273F:6297 2D 0012 sub ax, 18 273F:629A 89 45 02 mov [di+ANIM_Y], ax 273F:629D C3 retn 273F:629E loc_1247: ; xref 273F:6262, 6270, 6277 273F:629E E9 AFD6 jmp animation_unload_2 voice_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0113 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ handle_talking proc near 273F:62A1 83 3E 9838 01 cmp data_1087,1 ; (31E4:9838=0) 273F:62A6 72 3C jb loc_ret_1249 ; Jump if below 273F:62A8 74 3B jz loc_1250 ; Jump if zero 273F:62AA 83 3E 9838 02 cmp data_1087,2 ; (31E4:9838=0) 273F:62AF 74 75 je loc_1251 ; Jump if equal 273F:62B1 83 06 9838 01 add data_1087,1 ; (31E4:9838=0) 273F:62B6 A1 9847 mov ax,data_1093 ; (31E4:9847=0) 273F:62B9 39 06 9838 cmp data_1087,ax ; (31E4:9838=0) 273F:62BD 72 25 jb loc_ret_1249 ; Jump if below 273F:62BF C7 06 9838 0000 mov data_1087,0 ; (31E4:9838=0) ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:64BC, 8DDF 273F:62C5 sub_147: 273F:62C5 loc_1248: ; xref 273F:149F, 65DB 273F:62C5 úA1 11C2 mov ax, talk_dialog_left 273F:62C8 8B 1E 11C0 mov bx, talk_dialog_top 273F:62CC 8B 2E 11C4 mov bp, talk_dialog_width 273F:62D0 8B 16 11C6 mov dx, talk_dialog_height 273F:62D4 B1 81 mov cl, 81h 273F:62D6 E8 A8B6 call sub_22 ; (0B8F) 273F:62D9 C6 06 9837 00 mov talk_dialog_active, 0 273F:62DE C7 06 9838 0000 mov data_431,0 ; (273F:9838=5C8Bh) 273F:62E4 loc_ret_1249: ; xref 273F:62A6, 62BD 273F:62E4 C3 retn 273F:62E5 loc_1250: ; xref 273F:62A8 273F:62E5 C7 06 9847 0014 mov data_439,14h ; (273F:9847=0F7F5h) 273F:62EB C6 06 9837 01 mov talk_dialog_active, 1 273F:62F0 83 06 9838 01 add data_431,1 ; (273F:9838=5C8Bh) 273F:62F5 BF CCE0 mov di, offset talk_character_buffer 273F:62F8 8B 1E 983B mov bx, talk_character_id 273F:62FC E8 AA20 call get_room_resource_pointer3 273F:62FF 8B 44 02 mov ax, [si+HSH_NAME] ; Get character name 273F:6302 80 E4 1F and ah, 1Fh 273F:6305 E8 1A32 call decode_string 273F:6308 A1 983D mov ax, data_434 ; (273F:983D=3B75h) 273F:630B E8 005A call sub_148 ; (6368) 273F:630E BF CCF4 mov di, offset talk_text_buffer 273F:6311 A1 983D mov ax, data_434 273F:6314 E8 1A23 call decode_string 273F:6317 BF CCF4 mov di, offset talk_text_buffer 273F:631A úBE CCE0 mov si, offset talk_character_buffer 273F:631D E8 B72A call talk_dialog_init 273F:6320 C6 06 4B40 01 mov data_791, 1 273F:6325 C3 retn 273F:6326 loc_1251: ; xref 273F:62AF 273F:6326 83 06 9847 03 add data_439,3 ; (273F:9847=0F7F5h) 273F:632B F6 06 CE20 80 test game_flags, 80h 273F:6330 75 12 jnz loc_1253 ; Jump if not zero 273F:6332 F6 06 CE20 03 test game_flags, 3 273F:6337 74 06 jz loc_1252 ; Jump if zero 273F:6339 80 2E CE20 01 sub game_flags, 1 273F:633E C3 retn 273F:633F loc_1252: ; xref 273F:6337 273F:633F 80 0E CE20 01 or game_flags, 1 273F:6344 loc_1253: ; xref 273F:6330 273F:6344 C6 06 4B40 01 mov data_791, 1 273F:6349 úBB B9F9 mov bx, talk_speech_ptr 273F:634C E8 B849 call sub_51 ; (1B98) 273F:634F 0B C0 or ax,ax ; Zero ? 273F:6351 74 14 jz loc_ret_1254 ; Jump if zero 273F:6353 83 06 9838 01 add data_431, 1 273F:6358 C6 06 4B40 00 mov data_791, 0 273F:635D 80 26 CE20 F0 and game_flags, 0F0h 273F:6362 80 0E CE20 05 or game_flags, 5 273F:6367 loc_ret_1254: ; xref 273F:6351 273F:6367 C3 retn handle_talking endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:630B, 6428 ; ax=11fh, dx=player id, si=player hotspot, di=player anim slot ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6368 sub_148 proc near 273F:6368 E8 1B28 call sub_208 ; (7E93) 273F:636B 8A D8 mov bl,al 273F:636D 56 push si 273F:636E 53 push bx 273F:636F BF 4B43 mov di, offset hotspot_name 273F:6372 A1 9843 mov ax,data_437 ; (273F:9843=3F75h) 273F:6375 E8 1B2E call sub_209 ; (7EA6) 273F:6378 5B pop bx 273F:6379 5E pop si 273F:637A 56 push si 273F:637B BF 4B93 mov di, action_name 273F:637E A1 9845 mov ax,data_438 ; (273F:9845=448Bh) 273F:6381 E8 1B22 call sub_209 ; (7EA6) 273F:6384 5E pop si 273F:6385 C3 retn sub_148 endp ;* No entry point to code 273F:6386 B9 03E7 mov cx,3E7h 273F:6389 B8 0001 mov ax,1 273F:638C E8 FDC3 call sub_143 ; (6152) 273F:638F C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:52A9 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ display_message_dialog proc near 273F:6390 89 16 4B41 mov data_792, dx 273F:6394 53 push bx 273F:6395 8B D9 mov bx, cx 273F:6397 E8 A94E call get_room_resource_pointer 273F:639A 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] 273F:639D 5B pop bx 273F:639E B2 01 mov dl,1 273F:63A0 EB 19 jmp display_message_dialog_4 ; si = HS [from cx], bx = param1, dl = 1 ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:4613, 5BC1, 5CCD display_message_dialog_2: 273F:63A2 8B 16 BA1B mov dx, active_hotspot_id 273F:63A6 89 16 4B41 mov data_792, dx 273F:63AA 8B 4D 1B mov cx, [di+ANIM_HOTSPOT_ID] 273F:63AD B2 01 mov dl,1 273F:63AF EB 0A jmp display_message_dialog_4 ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:465A, 466E, 467E, 576B, 5D0F ; ax = Id stored in a sequence offset: 801ah for "look through" window ; si = player hotspot rec, di = player animation slot display_message_dialog_3: 273F:63B1 ú80 E4 7F and ah, 7Fh 273F:63B4 8B D8 mov bx, ax 273F:63B6 8B 4D 1B mov cx, [di+ANIM_HOTSPOT_ID] 273F:63B9 33 D2 xor dx,dx ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:8D20 display_message_dialog_4: 273F:63BB 8B C1 mov ax,cx 273F:63BD E8 A92A call get_room_resource_pointer2 ; Get hs resource 273F:63C0 8B 7C 0B mov di,[si+HS_ANIM_OFFSET] ; Get char's hotspot Id 273F:63C3 B8 47D5 mov ax, messages_seg 273F:63C6 8E C0 mov es, ax 273F:63C8 8B C3 mov ax, bx 273F:63CA 87 CA xchg cx, dx 273F:63CC BB 0000 mov bx, 0 ; ax = the passed offset with high bit cleared: eg. 801A for window look throug => 1Ah ; si=hotspot rec, di=player anim slot, dx=character hotspot Id 273F:63CF loc_1258: ; Find entry for char Id 273F:63CF ú26: 39 17 cmp es:[bx],dx 273F:63D2 74 05 je loc_1259 273F:63D4 83 C3 04 add bx,4 273F:63D7 EB F6 jmp short loc_1258 273F:63D9 loc_1259: 273F:63D9 26: 8B 5F 02 mov bx,es:[bx+2] ; bx<=5Ch 273F:63DD 80 E4 7F and ah,7Fh 273F:63E0 52 push dx 273F:63E1 BA 08C4 mov dx,8C4h 273F:63E4 loc_1260: ; xref 273F:63F3 273F:63E4 ú26: 83 3F FF cmp word ptr es:[bx],0FFFFh ; Check [5ch] 273F:63E8 74 0E je loc_1262 ; End of list? 273F:63EA 26: 3B 47 02 cmp ax,es:[bx+2] ; Found 1Ah? 273F:63EE 74 05 je loc_1261 ; Jump if equal 273F:63F0 83 C3 04 add bx,4 273F:63F3 EB EF jmp short loc_1260 ; Loop through table 273F:63F5 loc_1261: 273F:63F5 26: 8B 17 mov dx, es:[bx] ; dx<=811fh 273F:63F8 loc_1262: 273F:63F8 8B C2 mov ax,dx ; ax=811fh 273F:63FA 5A pop dx ; dx=3e8h 273F:63FB 3D 0076 cmp ax, 76h 273F:63FE 74 08 je loc_1263 ; Jump if equal 273F:6400 3D 0120 cmp ax,120h 273F:6403 75 06 jne loc_1264 ; Jump if not equal 273F:6405 E9 0157 jmp loc_1279 ; (655F) 273F:6408 loc_1263: ; xref 273F:63FE 273F:6408 E9 0144 jmp loc_1278 ; (654F) 273F:640B loc_1264: ; xref 273F:6403 273F:640B 0B C0 or ax,ax ; Zero ? 273F:640D 74 3A jz loc_ret_1267 ; Jump if zero 273F:640F 79 22 jns loc_1265 ; Jump if not sign 273F:6411 8B D8 mov bx, ax 273F:6413 80 E7 7F and bh, 7Fh ; bx=811fh 273F:6416 A1 BA19 mov ax, use_hotspot_id ; ax=41Bh 273F:6419 A3 9843 mov data_437,ax 273F:641C A1 BA1B mov ax, active_hotspot_id ; ax=41bh 273F:641F A3 9845 mov data_438,ax 273F:6422 56 push si 273F:6423 57 push di 273F:6424 55 push bp 273F:6425 53 push bx 273F:6426 8B C3 mov ax,bx ; ax=11fh, dx=player id, si=player hotspot, di=player anim slot 273F:6428 E8 FF3D call sub_148 ; (6368) 273F:642B 5B pop bx 273F:642C E8 248D call display_dialog 273F:642F 5D pop bp 273F:6430 5F pop di 273F:6431 5E pop si 273F:6432 C3 retn ; Further handling code for if the ax is not signed. In this case the message ; is shown as a talk dialog 273F:6433 loc_1265: ; xref 273F:640F 273F:6433 8B D0 mov dx, ax 273F:6435 F6 C1 FF test cl, 0FFh 273F:6438 74 07 jz loc_1266 ; Jump if zero 273F:643A 8B 0E 4B41 mov cx, data_792 273F:643E E9 FCEE jmp talk_setup_3 273F:6441 loc_1266: ; xref 273F:6438 273F:6441 B9 03E7 mov cx, 3E7h 273F:6444 B0 01 mov al, 1 273F:6446 E9 FD09 jmp talk_converse_2 273F:6449 loc_ret_1267: ; xref 273F:640D, 6451 273F:6449 C3 retn display_message_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:61AF ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ sub_153 proc near 273F:644A 8B 44 06 mov ax, [si+HS_ROOM_NUM] ; Don't display dialog if 273F:644D 3B 06 9832 cmp ax, room_number ; player not in the same 273F:6451 75 F6 jne loc_ret_1267 ; room as character 273F:6453 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:6456 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:6459 75 19 jne loc_1268 ; Jump if not equal 273F:645B C7 06 9841 0000 mov data_1091, 0 273F:6461 A3 983F mov data_1090, ax 273F:6464 81 7C 39 03E7 cmp word ptr [si+HS_TALK_CHAR_ID], NOONE_HOTSPOT_ID 273F:6469 74 44 je loc_1273 ; Jump if equal 273F:646B 8B 5C 39 mov bx, [si+NOONE_HOTSPOT_ID] 273F:646E 89 1E 9841 mov data_1091, bx 273F:6472 EB 3B jmp short loc_1273 ; (64AF) 273F:6474 loc_1268: ; xref 273F:6459 273F:6474 39 06 983F cmp data_1090, ax 273F:6478 74 08 je loc_1269 ; Jump if equal 273F:647A 39 06 9841 cmp data_1091, ax 273F:647E 74 02 je loc_1269 ; Jump if equal 273F:6480 EB 0F jmp short loc_1270 ; (6491) 273F:6482 loc_1269: ; xref 273F:6478, 647E 273F:6482 8B 5C 39 mov bx,[si+HS_TALK_CHAR_ID] 273F:6485 3B 1E 983F cmp bx, data_1090 273F:6489 74 24 je loc_1273 ; Jump if equal 273F:648B 3B 1E 9841 cmp bx, data_1091 273F:648F 74 1E je loc_1273 ; Jump if equal 273F:6491 loc_1270: ; xref 273F:6480 273F:6491 F6 06 9849 FF test pathfind_data, 0FFh 273F:6496 75 16 jnz loc_ret_1272 ; Jump if not zero 273F:6498 F7 06 9838 FFFF test data_431,0FFFFh ; (273F:9838=5C8Bh) 273F:649E 74 07 jz loc_1271 ; Jump if zero 273F:64A0 F6 06 983A FF test byte ptr data_432,0FFh ; (273F:983A=0F7h) 273F:64A5 75 07 jnz loc_ret_1272 ; Jump if not zero 273F:64A7 loc_1271: ; xref 273F:649E 273F:64A7 C6 06 983A 00 mov byte ptr data_432,0 ; (273F:983A=0F7h) 273F:64AC EB 06 jmp short loc_1274 ; (64B4) 273F:64AE loc_ret_1272: ; xref 273F:6496, 64A5 273F:64AE C3 retn 273F:64AF loc_1273: ; xref 273F:6469, 6472, 6489, 648F 273F:64AF C6 06 983A 01 mov byte ptr data_432,1 ; (273F:983A=0F7h) 273F:64B4 loc_1274: ; xref 273F:64AC 273F:64B4 F7 06 9838 FFFF test data_431,0FFFFh ; (273F:9838=5C8Bh) 273F:64BA 74 03 jz loc_1275 ; Jump if zero 273F:64BC E8 FE06 call sub_147 ; (62C5) 273F:64BF loc_1275: ; xref 273F:64BA 273F:64BF C7 06 9838 0001 mov data_431,1 ; (273F:9838=5C8Bh) 273F:64C5 8B 44 3C mov ax, [si+HS_RESPONSE_ID] 273F:64C8 A3 983D mov data_434,ax ; (273F:983D=3B75h) 273F:64CB 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:64CE A3 983B mov talk_character_id, ax 273F:64D1 8B 44 3E mov ax, [si+HS_V3E] 273F:64D4 A3 9843 mov data_437,ax ; (273F:9843=3F75h) 273F:64D7 8B 44 40 mov ax, [si+HS_V40] 273F:64DA A3 9845 mov data_438,ax ; (273F:9845=448Bh) 273F:64DD C3 retn ;* No entry point to code 273F:64DE 89 1E 983F mov data_1090, bx 273F:64E2 89 0E 9841 mov data_1091, cx 273F:64E6 C3 retn sub_153 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:654F, 655F ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ add_puzzled_animation proc near 273F:64E7 8B DA mov bx,dx 273F:64E9 53 push bx 273F:64EA E8 A7FB call get_room_resource_pointer 273F:64ED úBB B14E mov bx, offset animation_table 273F:64F0 5A pop dx 273F:64F1 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:64F4 locloop_1276: 273F:64F4 F6 47 0C FF test byte ptr [bx+ANIM_LAYER], 0FFh 273F:64F8 74 0D jz loc_1277 ; Jump if anim has no layer 273F:64FA 39 57 1E cmp [bx+ANIM_VOICE_CHAR_ID], dx 273F:64FD 74 08 je loc_1277 ; Jump if equal 273F:64FF 83 C3 29 add bx, ANIMATION_SLOT_SIZE 273F:6502 E2 F0 loop locloop_1276 ; Loop if cx > 0 273F:6504 83 EB 29 sub bx, ANIMATION_SLOT_SIZE 273F:6507 loc_1277: 273F:6507 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:650A 89 47 0E mov [bx+ANIM_ROOM_NUM], ax 273F:650D C7 47 1B FFFE mov word ptr [bx+ANIM_HOTSPOT_ID], 0FFFEh 273F:6512 C7 47 20 0028 mov word ptr [bx+ANIM_CTR], 40 273F:6517 89 57 1E mov [bx+ANIM_VOICE_CHAR_ID], dx 273F:651A C6 47 0D 01 mov byte ptr [bx+ANIM_FLAGS], 1 273F:651E C7 47 04 0020 mov word ptr [bx+ANIM_WIDTH], 20h 273F:6523 C7 47 06 0012 mov word ptr [bx+ANIM_HEIGHT], 12h 273F:6528 C6 47 0C 01 mov byte ptr [bx+ANIM_LAYER], 1 273F:652C C6 47 10 01 mov byte ptr [bx+ANIM_CAN_UNLOAD], 1 273F:6530 C7 47 11 6571 mov word ptr [bx+ANIM_TICK_PROC], offset tick_proc_6571 273F:6535 C7 47 13 0013 mov word ptr [bx+ANIM_WIDTH_COPY], 19 273F:653A C7 47 15 0012 mov word ptr [bx+ANIM_HEIGHT_COPY], 18 273F:653F 8B 44 1B mov ax, [si+HS_HEIGHT_COPY] 273F:6542 01 47 15 add [bx+ANIM_HEIGHT_COPY], ax 273F:6545 C7 47 17 0001 mov word ptr [bx+ANIM_Y_CORRECTION], 1 273F:654A C6 47 28 00 mov byte ptr [bx+ANIM_START_COLOUR], 0 273F:654E C3 retn add_puzzled_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUPPORT CODE ; ; This is support code used by display_message_dialog ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:654F loc_1278: ; xref 273F:6408 273F:654F E8 FF95 call add_puzzled_animation 273F:6552 A1 5813 mov ax, voice_pixel_segment 273F:6555 89 47 0A mov [bx+ANIM_SEGMENT], ax 273F:6558 A1 5817 mov ax, voice_frame_offset 273F:655B 89 47 08 mov [bx+ANIM_FRAME_OFFSET], ax 273F:655E C3 retn 273F:655F loc_1279: ; xref 273F:6405 273F:655F E8 FF85 call add_puzzled_animation 273F:6562 A1 5813 mov ax, voice_pixel_segment 273F:6565 89 47 0A mov [bx+ANIM_SEGMENT], ax 273F:6568 A1 5817 mov ax, voice_frame_offset 273F:656B D1 E0 shl ax, 1 273F:656D 89 47 08 mov [bx+ANIM_FRAME_OFFSET], ax 273F:6570 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ tick_proc_6571 proc near 273F:6571 8B 45 1E mov ax, [di+ANIM_VOICE_CHAR_ID] 273F:6574 E8 A773 call get_room_resource_pointer2 273F:6577 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:657A 3B 45 0E cmp ax, [di+ANIM_ROOM_NUM] 273F:657D 75 0B jne loc_1280 ; Jump if not equal 273F:657F 83 6D 20 01 sub word ptr [di+ANIM_CTR], 1 273F:6583 74 05 jz loc_1280 ; Jump if zero 273F:6585 E8 E226 call room_check_x_extents 273F:6588 74 03 jz loc_1281 ; Jump if zero 273F:658A loc_1280: ; xref 273F:657D, 6583 273F:658A E9 ACEA jmp animation_unload_2 273F:658D loc_1281: ; xref 273F:6588 273F:658D 8A 44 35 mov al, [si+HS_TALK_X] 273F:6590 98 cbw ; Convrt byte to word 273F:6591 03 44 0D add ax, [si+HS_X] 273F:6594 05 000C add ax, 12 273F:6597 89 05 mov [di+ANIM_X], ax 273F:6599 8A 44 36 mov al, [si+HS_TALK_Y] 273F:659C 98 cbw 273F:659D 03 44 0F add ax, [si+HS_Y] 273F:65A0 2D 0014 sub ax, 20 273F:65A3 89 45 02 mov [di+ANIM_Y], ax 273F:65A6 C3 retn tick_proc_6571 endp ;* No entry point to code 273F:65A7 A1 983B mov ax, talk_character_id 273F:65AA E8 A73B call get_room_resource_pointer 273F:65AD C7 44 37 0000 mov word ptr [si+HS_TALK_COUNTDOWN],0 273F:65B2 81 3E 983B 03E8 cmp talk_character_id, PLAYER_HOTSPOT_ID 273F:65B8 75 16 jne loc_1282 ; Jump if not equal 273F:65BA A1 9841 mov ax, data_1091 273F:65BD 0B C0 or ax,ax ; Zero ? 273F:65BF 74 0F jz loc_1282 ; Jump if zero 273F:65C1 E8 A724 call get_room_resource_pointer 273F:65C4 F7 44 37 FFFF test word ptr [si+HS_TALK_COUNTDOWN],0FFFFh 273F:65C9 74 05 jz loc_1282 ; Jump if zero 273F:65CB C7 44 37 0028 mov word ptr [si+HS_TALK_COUNTDOWN],28h 273F:65D0 loc_1282: ; xref 273F:65B8, 65BF, 65C9 273F:65D0 C6 06 9837 00 mov talk_dialog_active, 0 273F:65D5 C7 06 9838 0000 mov data_431,0 ; (273F:9838=5C8Bh) 273F:65DB E9 FCE7 jmp loc_1248 ; (62C5) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; TABLE LIST ; ; The following table provides a list of offsets for handler methods ; for each of the possible actions in actions_list ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:65DE 0000 actions_proc_list dw 0 273F:65E0 6698 dw offset action_do ; 01 - GET 273F:65E2 0000 dw 0 273F:65E4 6698 dw offset action_do ; 03 - PUSH 273F:65E6 6698 dw offset action_do ; 04 - PULL 273F:65E8 6698 dw offset action_do ; 05 - OPERATE 273F:65EA 6698 dw offset action_do ; 06 - OPEN 273F:65EC 6698 dw offset action_do ; 07 - CLOSE 273F:65EE 6698 dw offset action_do ; 08 - LOCK 273F:65F0 6698 dw offset action_do ; 09 - UNLOCK 273F:65F2 66B3 dw offset action_use ; 10 - USE 273F:65F4 66B3 dw offset action_use ; 11 - GIVE 273F:65F6 6698 dw offset action_do ; 12 - TALK TO 273F:65F8 6738 dw offset action_tell ; 13 - TELL 273F:65FA 6698 dw offset action_do ; 14 - BUY 273F:65FC 6735 dw offset action_look ; 15 - LOOK 273F:65FE 6698 dw offset action_do ; 16 - LOOK AT 273F:6600 6698 dw offset action_do ; 17 - LOOK THROUGH 273F:6602 66E0 dw offset action_ask ; 18 - ASK 273F:6604 669E dw offset action_consume ; 19 - EAT (unused) 273F:6606 669E dw offset action_consume ; 20 - DRINK 273F:6608 669B dw offset action_status ; 21 - STATUS 273F:660A 6698 dw offset action_do ; 22 - GO TO 273F:660C 6698 dw offset action_do ; 23 - RETURN 273F:660E 6698 dw offset action_do ; 24 - BRIBE 273F:6610 669E dw offset action_consume ; 25 - EXAMINE 273F:6612 6698 dw offset action_do ; 26 - unused ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1431 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_show_rightclick_menu proc near 273F:6614 E8 A1D7 call sub_11 ; (07EE) 273F:6617 loc_1283: ; xref 273F:670A 273F:6617 úC7 06 3382 FFFF mov data_3382, 0FFFFh 273F:661D C7 06 3380 0000 mov data_3380, 0 273F:6623 C7 06 335E 0001 mov data_75e, 1 273F:6629 B8 0007 mov ax,7 273F:662C F7 26 336A mul word ptr ds:data_79e ; (0874:336A=7500h) dx:ax = data * ax 273F:6630 03 06 336E add ax,ds:data_81e ; (0874:336E=8090h) 273F:6634 A3 335A mov ds:data_74e,ax ; (0874:335A=0C70Fh) 273F:6637 C7 06 3350 0000 mov word ptr ds:data_71e,0 ; (0874:3350=9A90h) 273F:663D A1 3356 mov ax,ds:data_72e ; (0874:3356=289Ah) 273F:6640 A3 3379 mov ds:data_85e,ax ; (0874:3379=0C722h) 273F:6643 A1 3358 mov ax, data_3358 273F:6646 0B C0 or ax,ax ; Hotspot highlighted? 273F:6648 74 19 jz loc_1284 ; No, so set up for look/status menu 273F:664A 1E push ds 273F:664B 8E DD mov ds,bp 273F:664D E8 A69A call get_room_resource_pointer2 273F:6650 8B 04 mov ax,[si] 273F:6652 8B 54 02 mov dx,[si+2] 273F:6655 1F pop ds 273F:6656 81 E2 10FF and dx,10FFh 273F:665A 75 0D jnz loc_1285 ; Jump if not zero 273F:665C 0B C0 or ax,ax ; Zero ? 273F:665E 75 09 jnz loc_1285 ; Jump if not zero 273F:6660 E9 00D2 jmp action_handle ; Execution reaches this point if no hotspot was highlighted. ie. for the look/status menu 273F:6663 loc_1284: 273F:6663 B8 4000 mov ax,4000h ; Default actions: Drink, Examine, 273F:6666 BA 0118 mov dx,118h ; Look, Status 273F:6669 loc_1285: 273F:6669 F6 06 3360 FF test byte ptr ds:data_76e,0FFh 273F:666E 75 07 jnz loc_1286 273F:6670 25 F9FD and ax,0F9FDh ; Removes Drink, Examine actions.. 273F:6673 81 E2 FEF3 and dx,0FEF3h ; maybe others as well 273F:6677 loc_1286: 273F:6677 F7 06 337E FFFF test word ptr ds:data_88e,0FFFFh ; (0874:337E=0) 273F:667D 75 04 jnz loc_1287 273F:667F 81 E2 FF7F and dx,0FF7Fh ; Remove Bribe 273F:6683 loc_1287: 273F:6683 E8 02D4 call popmenu_populate_list 273F:6686 E8 0308 call menu_make_selections 273F:6689 0B C0 or ax,ax ; Any selection made 273F:668B 78 51 js loc_1290 ; No, so jump out 273F:668D D1 E0 shl ax,1 ; Get jump destination 273F:668F 8B D8 mov bx,ax ; for particular atcion 273F:6691 2E: 8B 87 65DE mov ax, cs:actions_proc_list[bx] 273F:6696 FF E0 jmp ax ; Jump to handler ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Action handler for use actions ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:6698 E8 028A action_do: call sub_159 273F:669B E9 0097 action_status: jmp action_handle 273F:669E E8 A6B3 action_consume: call sub_32 ; (0D54) 273F:66A1 F7 06 31E4 FFFF test popmenu_entry_count, 0FFFFh 273F:66A7 74 57 jz loc_1291 ; Jump if zero 273F:66A9 E8 02E5 call menu_make_selections 273F:66AC 0B C0 or ax,ax ; Zero ? 273F:66AE 78 53 js loc_1292 ; Jump if sign=1 273F:66B0 E9 0082 jmp action_handle 273F:66B3 E8 A69E action_use: call sub_32 ; (0D54) 273F:66B6 F7 06 31E4 FFFF test popmenu_entry_count, 0FFFFh 273F:66BC 74 42 jz loc_1291 ; Jump if zero 273F:66BE E8 02D0 call menu_make_selections ; Select inventory item 273F:66C1 0B C0 or ax,ax ; Zero ? 273F:66C3 78 3E js loc_1292 ; Jump if sign=1 273F:66C5 8B 36 3380 mov si, data_3380 ; Get the hotspot 273F:66C9 83 BC 337C 0B cmp word ptr ds:data_86e+1[si],0Bh ; (0874:337C=4758h) 273F:66CE 75 05 jne loc_1288 ; Jump if not equal 273F:66D0 BB 33E4 mov bx,33E4h 273F:66D3 EB 03 jmp short loc_1289 ; (66D8) 273F:66D5 loc_1288: ; xref 273F:66CE 273F:66D5 BB 33E0 mov bx,33E0h 273F:66D8 loc_1289: ; xref 273F:66D3 273F:66D8 E8 0575 call sub_166 ; (6C50) 273F:66DB E8 0247 call sub_159 ; (6925) 273F:66DE loc_1290: ; xref 273F:668B 273F:66DE EB 55 jmp action_handle 273F:66E0 E8 0242 action_ask: call sub_159 ; (6925) 273F:66E3 BB 33F1 mov bx,33F1h 273F:66E6 E8 0567 call sub_166 ; (6C50) 273F:66E9 B8 0001 mov ax,1 273F:66EC E8 A6C0 call sub_34 ; (0DAF) 273F:66EF F7 06 31E4 FFFF test popmenu_entry_count, 0FFFFh 273F:66F5 74 09 jz loc_1291 ; Jump if zero 273F:66F7 E8 0297 call menu_make_selections 273F:66FA 0B C0 or ax,ax ; Zero ? 273F:66FC 78 05 js loc_1292 ; Jump if sign=1 273F:66FE EB 35 jmp action_handle 273F:6700 loc_1291: ; xref 273F:66A7, 66BC, 66F5 273F:6700 E8 000A call sub_156 ; (670D) 273F:6703 loc_1292: ; xref 273F:66AE, 66C3, 66FC, 6763 273F:6703 1E push ds 273F:6704 8E DD mov ds,bp 273F:6706 E8 08FC call menubar_clear_image 273F:6709 1F pop ds 273F:670A E9 FF0A jmp loc_1283 ; (6617) ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:6700, 6792 273F:670D sub_156: 273F:670D BB 33E7 mov bx,33E7h 273F:6710 E8 053D call sub_166 ; (6C50) 273F:6713 1E push ds 273F:6714 07 pop es 273F:6715 úBF 3174 mov di,3174h ; (273F:3174=7) 273F:6718 B8 33E2 mov ax,33E2h 273F:671B B9 0012 mov cx,12h 273F:671E F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:6720 C7 06 334C 0000 mov popmenu_num_entries, 0 273F:6726 E8 02B8 call menu_make_selections_select 273F:6729 1E push ds 273F:672A 8E DD mov ds,bp 273F:672C loc_1293: ; xref 273F:6731 273F:672C F6 06 11D5 FF test byte ptr ds:data_29e,0FFh ; (0000:11D5=8Bh) 273F:6731 75 F9 jnz loc_1293 ; Jump if not zero 273F:6733 1F pop ds 273F:6734 C3 retn 273F:6735 úE9 A153 action_handle: jmp action_handle_2 room_show_rightclick_menu endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ action_tell proc near 273F:6738 E8 01EA call sub_159 ; (6925) 273F:673B BB 33E4 mov bx,33E4h 273F:673E E8 050F call sub_166 ; (6C50) 273F:6741 loc_1295: ; xref 273F:676E, 67EA 273F:6741 ú83 3E 3380 08 cmp data_3380, 8 273F:6746 75 06 jne loc_1296 ; Jump if not equal 273F:6748 A1 3356 mov ax,word ptr ds:[3356h] ; (273F:3356=9B9h) 273F:674B A3 3379 mov data_266,ax ; (273F:3379=62C0h) 273F:674E loc_1296: ; xref 273F:6746 273F:674E BA 006A mov dx,6Ah 273F:6751 B8 07FD mov ax,7FDh 273F:6754 E8 0203 call popmenu_populate_list 273F:6757 E8 0237 call menu_make_selections 273F:675A 0B C0 or ax,ax ; Zero ? 273F:675C 79 12 jns loc_1298 ; Jump if not sign 273F:675E 83 3E 3380 08 cmp data_3380, 8 273F:6763 74 9E je loc_1292 ; Jump if equal 273F:6765 loc_1297: ; xref 273F:6795, 679C, 683E 273F:6765 úE8 00F7 call sub_157 ; (685F) 273F:6768 C7 06 3380 0008 mov data_3380, 8 273F:676E EB D1 jmp short loc_1295 ; (6741) 273F:6770 loc_1298: ; xref 273F:675C 273F:6770 3D 0017 cmp ax,17h 273F:6773 74 4B je loc_1304 ; Jump if equal 273F:6775 3D 000A cmp ax,0Ah 273F:6778 74 0A je loc_1299 ; Jump if equal 273F:677A 3D 0014 cmp ax,14h 273F:677D 74 05 je loc_1299 ; Jump if equal 273F:677F 3D 000B cmp ax,0Bh 273F:6782 75 03 jne loc_1300 ; Jump if not equal 273F:6784 loc_1299: ; xref 273F:6778, 677D 273F:6784 B8 0001 mov ax,1 273F:6787 loc_1300: ; xref 273F:6782 273F:6787 E8 A625 call sub_34 ; (0DAF) 273F:678A F7 06 31E4 FFFF test word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h) 273F:6790 75 05 jnz loc_1302 ; Jump if not zero 273F:6792 loc_1301: ; xref 273F:683B 273F:6792 úE8 FF78 call sub_156 ; (670D) 273F:6795 EB CE jmp short loc_1297 ; (6765) 273F:6797 loc_1302: ; xref 273F:6790 273F:6797 E8 01F7 call menu_make_selections 273F:679A 0B C0 or ax,ax ; Zero ? 273F:679C 78 C7 js loc_1297 ; Jump if sign=1 273F:679E 8B 1E 3380 mov bx, data_3380 273F:67A2 8B 9F 337C mov bx,word ptr data_267+1[bx] ; (273F:337C=4Eh) 273F:67A6 83 FB 16 cmp bx,16h 273F:67A9 75 03 jne loc_1303 ; Jump if not equal 273F:67AB A3 3379 mov data_266,ax ; (273F:3379=62C0h) 273F:67AE loc_1303: ; xref 273F:67A9 273F:67AE 83 FB 12 cmp bx,12h 273F:67B1 74 4E je loc_1308 ; Jump if equal 273F:67B3 83 FB 0B cmp bx,0Bh 273F:67B6 74 66 je loc_1309 ; Jump if equal 273F:67B8 83 FB 0A cmp bx,0Ah 273F:67BB 75 03 jne loc_1304 ; Jump if not equal 273F:67BD E9 0081 jmp loc_1312 ; (6841) 273F:67C0 loc_1304: ; xref 273F:6773, 67BB, 681C, 6839 ; 685C 273F:67C0 ú83 3E 3380 4A cmp data_3380, 4Ah 273F:67C5 73 0B jae loc_1305 ; Jump if above or = 273F:67C7 BE 2E41 mov si,2E41h 273F:67CA BB 2E53 mov bx,2E53h 273F:67CD B9 FFFF mov cx,0FFFFh 273F:67D0 EB 09 jmp short loc_1306 ; (67DB) 273F:67D2 loc_1305: ; xref 273F:67C5 273F:67D2 BE 2E4B mov si,2E4Bh 273F:67D5 BB 2E55 mov bx,2E55h 273F:67D8 B9 0001 mov cx,1 273F:67DB loc_1306: ; xref 273F:67D0 273F:67DB E8 054D call sub_168 ; (6D2B) 273F:67DE E8 01B0 call menu_make_selections 273F:67E1 0B C0 or ax,ax ; Zero ? 273F:67E3 78 59 js loc_1311 ; Jump if sign=1 273F:67E5 3D 7D00 cmp ax,7D00h 273F:67E8 75 03 jne loc_1307 ; Jump if not equal 273F:67EA E9 FF54 jmp loc_1295 ; (6741) 273F:67ED loc_1307: ; xref 273F:67E8 273F:67ED A1 338A mov ax,word ptr ds:[338Ah] ; (273F:338A=8E9h) 273F:67F0 A3 335E mov data_335E, ax 273F:67F3 33 FF xor di,di ; Zero register 273F:67F5 E8 00AD call sub_158 ; (68A5) 273F:67F8 BB 33F5 mov bx,33F5h 273F:67FB E8 0452 call sub_166 ; (6C50) 273F:67FE E9 FF34 jmp action_handle 273F:6801 loc_1308: ; xref 273F:67B1 273F:6801 BB 33F1 mov bx,33F1h 273F:6804 E8 0449 call sub_166 ; (6C50) 273F:6807 B8 0001 mov ax,1 273F:680A E8 A5A2 call sub_34 ; (0DAF) 273F:680D F7 06 31E4 FFFF test word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h) 273F:6813 74 26 jz loc_1310 ; Jump if zero 273F:6815 E8 0179 call menu_make_selections 273F:6818 0B C0 or ax,ax ; Zero ? 273F:681A 78 22 js loc_1311 ; Jump if sign=1 273F:681C EB A2 jmp short loc_1304 ; (67C0) 273F:681E loc_1309: ; xref 273F:67B6 273F:681E BB 33E4 mov bx,33E4h 273F:6821 E8 042C call sub_166 ; (6C50) 273F:6824 B8 000B mov ax,0Bh 273F:6827 E8 A585 call sub_34 ; (0DAF) 273F:682A F7 06 31E4 FFFF test word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h) 273F:6830 74 09 jz loc_1310 ; Jump if zero 273F:6832 E8 015C call menu_make_selections 273F:6835 0B C0 or ax,ax ; Zero ? 273F:6837 78 05 js loc_1311 ; Jump if sign=1 273F:6839 EB 85 jmp short loc_1304 ; (67C0) 273F:683B loc_1310: ; xref 273F:6813, 6830, 6853 273F:683B E9 FF54 jmp loc_1301 ; (6792) 273F:683E loc_1311: ; xref 273F:67E3, 681A, 6837, 685A 273F:683E E9 FF24 jmp loc_1297 ; (6765) 273F:6841 loc_1312: ; xref 273F:67BD 273F:6841 BB 33E0 mov bx,33E0h 273F:6844 E8 0409 call sub_166 ; (6C50) 273F:6847 B8 000A mov ax,0Ah 273F:684A E8 A562 call sub_34 ; (0DAF) 273F:684D F7 06 31E4 FFFF test word ptr ds:[31E4h],0FFFFh ; (273F:31E4=0E4h) 273F:6853 74 E6 jz loc_1310 ; Jump if zero 273F:6855 E8 0139 call menu_make_selections 273F:6858 0B C0 or ax,ax ; Zero ? 273F:685A 78 E2 js loc_1311 ; Jump if sign=1 273F:685C E9 FF61 jmp loc_1304 ; (67C0) action_tell endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6765 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:685F sub_157 proc near 273F:685F 83 2E 3380 04 sub data_3380, 4 273F:6864 8B 1E 3380 mov bx, data_3380 273F:6868 8B 87 3382 mov ax, data_3382[bx] 273F:686C C7 87 3382 FFFF mov data_3382[bx],0FFFFh 273F:6872 B9 0140 mov cx,140h 273F:6875 50 push ax 273F:6876 33 D2 xor dx,dx ; Zero register 273F:6878 F7 F1 div cx ; ax,dx rem=dx:ax/reg 273F:687A 52 push dx 273F:687B 50 push ax 273F:687C A1 335E mov ax, data_335E 273F:687F 33 D2 xor dx,dx ; Zero register 273F:6881 F7 F1 div cx ; ax,dx rem=dx:ax/reg 273F:6883 5A pop dx 273F:6884 3B C2 cmp ax,dx 273F:6886 74 0B je loc_1313 ; Jump if equal 273F:6888 1E push ds 273F:6889 52 push dx 273F:688A 8E DD mov ds,bp 273F:688C E8 078D call talk_clear_line 273F:688F 58 pop ax 273F:6890 1F pop ds 273F:6891 EB 04 jmp short loc_1314 ; (6897) 273F:6893 loc_1313: ; xref 273F:6886 273F:6893 0B C0 or ax,ax ; Zero ? 273F:6895 74 03 jz loc_1315 ; Jump if zero 273F:6897 loc_1314: ; xref 273F:6891 273F:6897 E8 0474 call sub_167 ; (6D0E) 273F:689A loc_1315: ; xref 273F:6895 273F:689A F7 26 336A mul word ptr ds:[336Ah] ; (273F:336A=40C7h) dx:ax = data * ax 273F:689E 8B F8 mov di,ax 273F:68A0 58 pop ax 273F:68A1 8F 06 335E pop data_335E ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:67F5 273F:68A5 sub_158: 273F:68A5 8B 1E 3376 mov bx,data_265 ; (273F:3376=0F632h) 273F:68A9 8E C3 mov es,bx 273F:68AB 81 3E 3368 362D cmp menu_items_proc2, offset vga_menu_items 273F:68B1 75 1D jne loc_1317 ; Jump if not equal 273F:68B3 03 F8 add di,ax 273F:68B5 BB 0140 mov bx,140h 273F:68B8 2B D8 sub bx,ax 273F:68BA BA 0008 mov dx,8 273F:68BD 32 C0 xor al,al ; Zero register 273F:68BF loc_1316: ; xref 273F:68CC 273F:68BF 57 push di 273F:68C0 8B CB mov cx,bx 273F:68C2 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:68C4 5F pop di 273F:68C5 ú81 C7 0140 add di,data_1458e ; (F632:0140=0) 273F:68C9 83 EA 01 sub dx,1 273F:68CC 75 F1 jnz loc_1316 ; Jump if not zero 273F:68CE EB 4C jmp short loc_1320 ; (691C) 273F:68D0 loc_1317: ; xref 273F:68B1 273F:68D0 8A C8 mov cl,al 273F:68D2 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:68D4 24 FC and al,0FCh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 252 273F:68D6 80 E1 07 and cl,7 273F:68D9 03 F8 add di,ax 273F:68DB BA FF00 mov dx,0FF00h 273F:68DE D3 FA sar dx,cl ; Shift w/sign fill 273F:68E0 BB 00A0 mov bx,0A0h 273F:68E3 2B D8 sub bx,ax 273F:68E5 B6 08 mov dh,8 273F:68E7 57 push di 273F:68E8 loc_1318: ; xref 273F:68FE 273F:68E8 26: 20 15 and es:[di],dl 273F:68EB 26: 20 55 01 and es:[di+1],dl 273F:68EF 26: 20 55 02 and es:[di+2],dl 273F:68F3 26: 20 55 03 and es:[di+3],dl 273F:68F7 ú81 C7 00A0 add di,data_1457e ; (F632:00A0=0) 273F:68FB 80 EE 01 sub dh,1 273F:68FE 75 E8 jnz loc_1318 ; Jump if not zero 273F:6900 5F pop di 273F:6901 83 C7 04 add di,4 273F:6904 83 EB 04 sub bx,4 273F:6907 74 13 jz loc_1320 ; Jump if zero 273F:6909 B2 08 mov dl,8 273F:690B 32 C0 xor al,al ; Zero register 273F:690D loc_1319: ; xref 273F:691A 273F:690D 57 push di 273F:690E 8B CB mov cx,bx 273F:6910 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:6912 5F pop di 273F:6913 81 C7 00A0 add di,0A0h 273F:6917 80 EA 01 sub dl,1 273F:691A 75 F1 jnz loc_1319 ; Jump if not zero 273F:691C loc_1320: ; xref 273F:68CE, 6907 273F:691C 8E C5 mov es,bp 273F:691E 26: C6 06 4BF0 02 mov byte ptr es:data_46e,2 ; (0000:4BF0=28h) 273F:6924 C3 retn sub_157 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6698, 66DB, 66E0, 6738 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6925 sub_159 proc near 273F:6925 8B 1E 3358 mov bx, data_3358 ; Get the hotspot Id 273F:6929 8B 36 3380 mov si, data_3380 ; Get offset 273F:692D 89 9C 3382 mov data_3382[si], bx ; Store hotspot Id 273F:6931 89 9C 3384 mov word ptr ds:[3384h][si], bx 273F:6935 C7 84 3386 FFFF mov word ptr ds:[3386h][si], 0FFFFh 273F:693B 83 06 3380 04 add data_3380, 4 273F:6940 1E push ds 273F:6941 8E DD mov ds,bp 273F:6943 E8 A3D9 call get_room_resource_pointer3 ; Get header pointer 273F:6946 8B 44 02 mov ax, [si+HSH_NAME] 273F:6949 80 E4 1F and ah, 1Fh 273F:694C 1F pop ds 273F:694D BF 30D4 mov di, offset hotspot_display_buffer 273F:6950 E8 13E7 call decode_string ; Decode hotspot name 273F:6953 BB 30D4 mov bx, offset hotspot_display_buffer 273F:6956 E8 02F7 call sub_166 ; Displays name 273F:6959 C3 retn sub_159 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6683, 6754 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:695A popmenu_populate_list proc near 273F:695A C7 06 31E4 0000 mov popmenu_entry_count, 0 273F:6960 úBF 31E6 mov di, offset popmenu_entry_contents 273F:6963 úBE 2D5F mov si, offset actions_list 273F:6966 1E push ds 273F:6967 07 pop es 273F:6968 8E DD mov ds,bp 273F:696A 8B E8 mov bp,ax 273F:696C B9 0019 mov cx, NUM_ACTIONS ; 19h 273F:696F locloop_1321: 273F:696F D1 DA rcr dx,1 ; Rotate thru carry 273F:6971 D1 DD rcr bp,1 ; Rotate thru carry 273F:6973 73 0F jnc loc_1323 ; If bit wasn't set, don't add 273F:6975 A5 movsw ; Copy over action Id 273F:6976 loc_1322: 273F:6976 AC lodsb ; Copy over action name 273F:6977 AA stosb 273F:6978 0A C0 or al,al 273F:697A 75 FA jnz loc_1322 273F:697C 26: 83 06 31E4 01 add es:popmenu_entry_count, 1 ; Increment # actions 273F:6982 EB 06 jmp short loc_1325 273F:6984 loc_1323: 273F:6984 AD lodsw ; Skip over action Id 273F:6985 loc_1324: 273F:6985 AC lodsb ; Scan over action name 273F:6986 0A C0 or al,al 273F:6988 75 FB jnz loc_1324 273F:698A loc_1325: 273F:698A E2 E3 loop locloop_1321 ; Loop through remaining actions 273F:698C 8C DD mov bp,ds 273F:698E 06 push es 273F:698F 1F pop ds 273F:6990 C3 retn popmenu_populate_list endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6686, 66A9, 66BE, 66F7, 6757, 6797, 67DE ; 6815, 6832, 6855 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ menu_make_selections proc near 273F:6991 8B 36 3380 mov si, data_3380 273F:6995 F6 84 3383 80 test byte ptr ds:[3383h][si],80h ; (273F:3383=74h) 273F:699A 74 36 jz loc_1327 ; Jump if zero 273F:699C C6 06 337D 00 mov data_269,0 ; (273F:337D=0) 273F:69A1 E8 01E6 call sub_165 ; (6B8A) 273F:69A4 E8 003A call menu_make_selections_select 273F:69A7 0B C0 or ax,ax ; Zero ? 273F:69A9 78 26 js loc_ret_1326 ; Jump if sign=1 273F:69AB 3D 7CFF cmp ax,7CFFh 273F:69AE 74 21 je loc_ret_1326 ; Jump if equal 273F:69B0 FF 36 335E push data_335E 273F:69B4 E8 0299 call sub_166 ; (6C50) 273F:69B7 5B pop bx 273F:69B8 8B 36 3380 mov si, data_3380 273F:69BC 89 9C 3382 mov data_3382[si],bx 273F:69C0 89 84 3384 mov word ptr ds:[3384h][si],ax ; (273F:3384=810Ch) 273F:69C4 83 C6 04 add si,4 273F:69C7 C7 84 3382 FFFF mov data_3382[si], 0FFFFh 273F:69CD 89 36 3380 mov data_3380, si 273F:69D1 loc_ret_1326: ; xref 273F:69A9, 69AE 273F:69D1 C3 retn 273F:69D2 loc_1327: ; xref 273F:699A 273F:69D2 83 06 3380 04 add data_3380, 4 273F:69D7 8B 84 3384 mov ax,word ptr ds:[3384h][si] ; (273F:3384=810Ch) 273F:69DB C6 06 337D 01 mov data_269,1 ; (273F:337D=0) 273F:69E0 C3 retn menu_make_selections endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6726, 69A4 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ menu_make_selections_select proc near 273F:69E1 A1 3362 mov ax, popmenu_current_index 273F:69E4 3B 06 334C cmp ax, popmenu_num_entries 273F:69E8 72 06 jb loc_1328 ; Jump if below 273F:69EA C7 06 3362 0000 mov popmenu_current_index, 0 273F:69F0 loc_1328: ; xref 273F:69E8 273F:69F0 A1 334C mov ax, popmenu_num_entries 273F:69F3 D0 E8 shr al,1 ; Shift w/zeros fill 273F:69F5 04 01 add al,1 273F:69F7 3C 06 cmp al,6 273F:69F9 72 02 jb loc_1329 ; Jump if below 273F:69FB B0 05 mov al,5 273F:69FD loc_1329: ; xref 273F:69F9 273F:69FD A3 335C mov popmenu_num_visible_items, ax 273F:6A00 1E push ds 273F:6A01 55 push bp 273F:6A02 50 push ax 273F:6A03 FF 36 334E push word ptr ds:[334Eh] ; (273F:334E=83E4h) 273F:6A07 8E DD mov ds,bp 273F:6A09 FF 16 0752 call word ptr ds:data_16e ; (0000:0752=0) 273F:6A0D E8 AAFE call room_add_animations 273F:6A10 5B pop bx 273F:6A11 5A pop dx 273F:6A12 FF 16 0778 call word ptr ds:data_21e ; (0000:0778=5253h) 273F:6A16 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:6A1B 75 28 jne loc_1330 ; Jump if not equal 273F:6A1D 5D pop bp 273F:6A1E 1F pop ds 273F:6A1F E8 00E1 call menu_create_popmenu 273F:6A22 1E push ds 273F:6A23 55 push bp 273F:6A24 8E DD mov ds,bp 273F:6A26 FF 16 0744 call [show_screen_proc] 273F:6A2A 5D pop bp 273F:6A2B 1F pop ds 273F:6A2C 8A 1E 334E mov bl,byte ptr ds:[334Eh] ; (273F:334E=0E4h) 273F:6A30 8A 16 335C mov dl,byte ptr [popmenu_num_visible_items] 273F:6A34 1E push ds 273F:6A35 55 push bp 273F:6A36 8E DD mov ds,bp 273F:6A38 FF 16 0778 call word ptr ds:data_21e ; (0000:0778=5253h) 273F:6A3C 5D pop bp 273F:6A3D 1F pop ds 273F:6A3E E8 00C2 call menu_create_popmenu 273F:6A41 1E push ds 273F:6A42 55 push bp 273F:6A43 8E DD mov ds,bp 273F:6A45 loc_1330: ; xref 273F:6A1B 273F:6A45 FF 16 0744 call [show_screen_proc] 273F:6A49 5D pop bp 273F:6A4A 1F pop ds 273F:6A4B B8 000B mov ax,0Bh 273F:6A4E CD 33 int 33h ; Mouse driver ax=func 000Bh ; read motion counters, cx & dx 273F:6A50 C7 06 3366 0000 mov mouse_y_change, 0 273F:6A56 8E C5 mov es,bp 273F:6A58 26: C6 06 11DA 00 mov mouse_buttons2, 0 273F:6A5E EB 07 jmp short loc_1332 ; (6A67) 273F:6A60 loc_1331: ; xref 273F:6AA3, 6ACC, 6AD9 273F:6A60 úE8 00A0 call menu_create_popmenu 273F:6A63 FF 16 3368 call [menu_items_proc2] ; Add the menu items 273F:6A67 loc_1332: 273F:6A67 F7 06 334C FFFF test popmenu_num_entries, 0FFFFh ; Any entries at all? 273F:6A6D 74 6C jz sub162_abort ; No, so abort 273F:6A6F 8E C5 mov es,bp 273F:6A71 26: F6 06 11DA FF test mouse_buttons2, 0FFh 273F:6A77 75 6C jnz loc_1339 ; Jump if not zero 273F:6A79 E8 2AA4 call check_keypress ; Any key pressed? 273F:6A7C 74 1C jz loc_1333 ; No, so skip kbd code 273F:6A7E 8A D8 mov bl,al 273F:6A80 B8 FFFF mov ax,0FFFFh ; Constant for moving up 273F:6A83 80 FB C8 cmp bl,0C8h ; Up arrow pressed? 273F:6A86 74 46 je sub162_moveup ; Yes, so handle it 273F:6A88 B8 0001 mov ax,1 ; Constant for moving down 273F:6A8B 80 FB D0 cmp bl,0D0h ; Down arrow pressed? 273F:6A8E 74 29 je sub162_movedown ; Yes, so handle it 273F:6A90 80 FB 0D cmp bl,0Dh ; Enter key pressed? 273F:6A93 74 5A je sub162_select ; Yes, so handle it 273F:6A95 80 FB 20 cmp bl,20h ; ' ' 273F:6A98 74 41 je sub162_abort 273F:6A9A loc_1333: 273F:6A9A 33 D2 xor dx,dx ; Zero register 273F:6A9C B8 000B mov ax,0Bh 273F:6A9F CD 33 int 33h ; Mouse driver ax=func 000Bh ; read motion counters, cx & dx 273F:6AA1 0B D2 or dx,dx ; Zero ? 273F:6AA3 74 BB jz loc_1331 ; Jump if zero 273F:6AA5 03 16 3366 add dx, mouse_y_change 273F:6AA9 8B C2 mov ax,dx 273F:6AAB 99 cwd ; Word to double word 273F:6AAC úBB 000A mov bx,0Ah ; (273F:000A=23h) 273F:6AAF F7 FB idiv bx ; ax,dx rem=dx:ax/reg 273F:6AB1 89 16 3366 mov mouse_y_change, dx 273F:6AB5 0B C0 or ax,ax ; Zero ? 273F:6AB7 78 15 js sub162_moveup 273F:6AB9 sub162_movedown: 273F:6AB9 03 06 3362 add ax, popmenu_current_index 273F:6ABD 3B 06 334C cmp ax, popmenu_num_entries 273F:6AC1 72 06 jb loc_1335 ; Jump if below 273F:6AC3 A1 334C mov ax, popmenu_num_entries 273F:6AC6 2D 0001 sub ax,1 273F:6AC9 loc_1335: ; xref 273F:6AC1 273F:6AC9 A3 3362 mov popmenu_current_index, ax 273F:6ACC EB 92 jmp short loc_1331 ; (6A60) 273F:6ACE sub162_moveup: 273F:6ACE 03 06 3362 add ax, popmenu_current_index 273F:6AD2 72 02 jc loc_1337 273F:6AD4 33 C0 xor ax,ax ; Already at first item 273F:6AD6 loc_1337: 273F:6AD6 A3 3362 mov popmenu_current_index, ax 273F:6AD9 EB 85 jmp short loc_1331 ; (6A60) 273F:6ADB sub162_abort: 273F:6ADB A1 3364 mov ax, popmenu_prior_index ; Reset index to prior one 273F:6ADE A3 3362 mov popmenu_current_index, ax 273F:6AE1 B8 FFFF mov ax,0FFFFh 273F:6AE4 C3 retn 273F:6AE5 loc_1339: ; xref 273F:6A77 273F:6AE5 8E C5 mov es,bp 273F:6AE7 26: F6 06 11DA 02 test byte ptr es:data_32e,2 ; (0000:11DA=0D3h) 273F:6AED 75 EC jnz sub162_abort 273F:6AEF sub162_select: 273F:6AEF A1 3362 mov ax, popmenu_current_index ; Backup selected index 273F:6AF2 A3 3364 mov popmenu_prior_index, ax 273F:6AF5 C7 06 3362 0000 mov popmenu_current_index, 0 273F:6AFB 8B 1E 3372 mov bx,word ptr ds:[3372h] ; (273F:3372=0C31Fh) 273F:6AFF 8B 47 FD mov ax,[bx-3] 273F:6B02 C3 retn menu_make_selections_select endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6A1F, 6A3E, 6A60 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6B03 menu_create_popmenu proc near 273F:6B03 A1 3376 mov ax,data_265 ; (273F:3376=0F632h) 273F:6B06 8E C0 mov es,ax 273F:6B08 55 push bp 273F:6B09 8B 36 3362 mov si, popmenu_current_index 273F:6B0D D1 E6 shl si,1 ; Shift w/zeros fill 273F:6B0F D1 E6 shl si,1 ; Shift w/zeros fill 273F:6B11 ú81 C6 3174 add si,3174h ; (273F:3174=7) 273F:6B15 8B 3E 335A mov di,word ptr ds:[335Ah] ; (273F:335A=0ACA4h) 273F:6B19 8B 2E 337B mov bp,data_267 ; (273F:337B=4EB9h) 273F:6B1D B8 0005 mov ax,5 273F:6B20 2B 06 335C sub ax, popmenu_num_visible_items 273F:6B24 74 0E jz loc_1341 ; Jump if zero 273F:6B26 8B D8 mov bx,ax 273F:6B28 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:6B2A D1 E3 shl bx,1 ; Shift w/zeros fill 273F:6B2C 03 F3 add si,bx 273F:6B2E F7 26 336A mul word ptr ds:[336Ah] ; (273F:336A=40C7h) dx:ax = data * ax 273F:6B32 03 F8 add di,ax 273F:6B34 loc_1341: ; xref 273F:6B24 273F:6B34 8B 0E 335C mov cx, popmenu_num_visible_items 273F:6B38 D0 E1 shl cl,1 ; Shift w/zeros fill 273F:6B3A 80 E9 01 sub cl,1 273F:6B3D locloop_1342: ; xref 273F:6B4D 273F:6B3D 56 push si 273F:6B3E 57 push di 273F:6B3F 8B 34 mov si,[si] 273F:6B41 E8 000D call sub_164 ; (6B51) 273F:6B44 5F pop di 273F:6B45 5E pop si 273F:6B46 03 3E 336A add di,word ptr ds:[336Ah] ; (273F:336A=40C7h) 273F:6B4A 83 C6 04 add si,4 273F:6B4D E2 EE loop locloop_1342 ; Loop if cx > 0 273F:6B4F 5D pop bp 273F:6B50 C3 retn menu_create_popmenu endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6B41 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6B51 sub_164 proc near 273F:6B51 51 push cx 273F:6B52 AC lodsb ; String [si] to al 273F:6B53 8B 16 33DE mov dx,word ptr ds:[33DEh] ; (273F:33DE=0F300h) 273F:6B57 3B 0E 335C cmp cx, popmenu_num_visible_items 273F:6B5B 75 08 jne loc_1343 ; Jump if not equal 273F:6B5D 8B 16 33DC mov dx,word ptr ds:[33DCh] ; (273F:33DC=7BB9h) 273F:6B61 89 36 3372 mov word ptr ds:[3372h],si ; (273F:3372=0C31Fh) 273F:6B65 loc_1343: ; xref 273F:6B5B 273F:6B65 8A 0E 334E mov cl,byte ptr ds:[334Eh] ; (273F:334E=0E4h) 273F:6B69 32 ED xor ch,ch ; Zero register 273F:6B6B locloop_1344: ; xref 273F:6B78 273F:6B6B AC lodsb ; String [si] to al 273F:6B6C 0A C0 or al,al ; Zero ? 273F:6B6E 74 0C jz locloop_1345 ; Jump if zero 273F:6B70 FF 16 336C call word ptr ds:[336Ch] ; (273F:336C=8301h) 273F:6B74 03 3E 336E add di,word ptr ds:[336Eh] ; (273F:336E=1EDh) 273F:6B78 E2 F1 loop locloop_1344 ; Loop if cx > 0 273F:6B7A EB 0C jmp short loc_1346 ; (6B88) 273F:6B7C locloop_1345: ; xref 273F:6B6E, 6B86 273F:6B7C B0 20 mov al,20h ; ' ' 273F:6B7E FF 16 336C call word ptr ds:[336Ch] ; (273F:336C=8301h) 273F:6B82 03 3E 336E add di,word ptr ds:[336Eh] ; (273F:336E=1EDh) 273F:6B86 E2 F4 loop locloop_1345 ; Loop if cx > 0 273F:6B88 loc_1346: ; xref 273F:6B7A 273F:6B88 59 pop cx 273F:6B89 C3 retn sub_164 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:69A1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6B8A sub_165 proc near 273F:6B8A 55 push bp 273F:6B8B 1E push ds 273F:6B8C 07 pop es 273F:6B8D úBE 31E4 mov si, popmenu_entry_count 273F:6B90 AD lodsw ; String [si] to ax 273F:6B91 8B C8 mov cx,ax 273F:6B93 89 0E 334C mov popmenu_num_entries, cx 273F:6B97 0B C9 or cx,cx ; Zero ? 273F:6B99 75 02 jnz loc_1347 ; Jump if not zero 273F:6B9B 5D pop bp 273F:6B9C C3 retn 273F:6B9D loc_1347: ; xref 273F:6B99 273F:6B9D C7 06 334E 0004 mov word ptr ds:[334Eh],4 ; (273F:334E=83E4h) 273F:6BA3 úBF 30D4 mov di,30D4h ; (273F:30D4=11h) 273F:6BA6 locloop_1348: ; xref 273F:6C14 273F:6BA6 83 C6 02 add si,2 273F:6BA9 89 75 04 mov [di+4],si 273F:6BAC C7 45 06 0000 mov word ptr [di+6],0 273F:6BB1 51 push cx 273F:6BB2 B9 0004 mov cx,4 273F:6BB5 8B EF mov bp,di 273F:6BB7 locloop_1349: ; xref 273F:6BBD 273F:6BB7 AC lodsb ; String [si] to al 273F:6BB8 AA stosb ; Store al to es:[di] 273F:6BB9 0A C0 or al,al ; Zero ? 273F:6BBB 74 05 jz loc_1351 ; Jump if zero 273F:6BBD E2 F8 loop locloop_1349 ; Loop if cx > 0 273F:6BBF EB 03 jmp short loc_1352 ; (6BC4) 273F:6BC1 locloop_1350: ; xref 273F:6BC2 273F:6BC1 AA stosb ; Store al to es:[di] 273F:6BC2 loc_1351: ; xref 273F:6BBB 273F:6BC2 E2 FD loop locloop_1350 ; Loop if cx > 0 273F:6BC4 loc_1352: ; xref 273F:6BBF 273F:6BC4 59 pop cx 273F:6BC5 8B 45 FC mov ax,[di-4] 273F:6BC8 8B 55 FE mov dx,[di-2] 273F:6BCB úBB 30D4 mov bx,30D4h ; (273F:30D4=11h) 273F:6BCE loc_1353: ; xref 273F:6BF8 273F:6BCE ú3B DD cmp bx,bp 273F:6BD0 74 28 je loc_1357 ; Jump if equal 273F:6BD2 3A 07 cmp al,[bx] 273F:6BD4 72 1B jb loc_1355 ; Jump if below 273F:6BD6 75 13 jnz loc_1354 ; Jump if not zero 273F:6BD8 3A 67 01 cmp ah,[bx+1] 273F:6BDB 72 14 jb loc_1355 ; Jump if below 273F:6BDD 75 0C jnz loc_1354 ; Jump if not zero 273F:6BDF 3A 57 02 cmp dl,[bx+2] 273F:6BE2 72 0D jb loc_1355 ; Jump if below 273F:6BE4 75 05 jnz loc_1354 ; Jump if not zero 273F:6BE6 3A 77 03 cmp dh,[bx+3] 273F:6BE9 72 06 jb loc_1355 ; Jump if below 273F:6BEB loc_1354: ; xref 273F:6BD6, 6BDD, 6BE4 273F:6BEB 83 45 02 04 add word ptr [di+2],4 273F:6BEF EB 04 jmp short loc_1356 ; (6BF5) 273F:6BF1 loc_1355: ; xref 273F:6BD4, 6BDB, 6BE2, 6BE9 273F:6BF1 83 47 06 04 add word ptr [bx+6],4 273F:6BF5 loc_1356: ; xref 273F:6BEF 273F:6BF5 83 C3 08 add bx,8 273F:6BF8 EB D4 jmp short loc_1353 ; (6BCE) 273F:6BFA loc_1357: ; xref 273F:6BD0 273F:6BFA B4 01 mov ah,1 273F:6BFC 83 EE 01 sub si,1 273F:6BFF loc_1358: ; xref 273F:6C05 273F:6BFF 80 C4 01 add ah,1 273F:6C02 AC lodsb ; String [si] to al 273F:6C03 0A C0 or al,al ; Zero ? 273F:6C05 75 F8 jnz loc_1358 ; Jump if not zero 273F:6C07 3A 26 334E cmp ah,byte ptr ds:[334Eh] ; (273F:334E=0E4h) 273F:6C0B 72 04 jb loc_1359 ; Jump if below 273F:6C0D 88 26 334E mov byte ptr ds:[334Eh],ah ; (273F:334E=0E4h) 273F:6C11 loc_1359: ; xref 273F:6C0B 273F:6C11 83 C7 04 add di,4 273F:6C14 E2 90 loop locloop_1348 ; Loop if cx > 0 273F:6C16 8B 0E 334C mov cx, popmenu_num_entries 273F:6C1A 51 push cx 273F:6C1B 81 EF 30D4 sub di,30D4h 273F:6C1F D1 EF shr di,1 ; Shift w/zeros fill 273F:6C21 ú81 C7 3184 add di,3184h ; (273F:3184=33h) 273F:6C25 B8 33E2 mov ax,33E2h 273F:6C28 B9 0008 mov cx,8 273F:6C2B F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:6C2D úBE 30D8 mov si,30D8h ; (273F:30D8=0FFh) 273F:6C30 úBF 3174 mov di,3174h ; (273F:3174=7) 273F:6C33 B8 33E2 mov ax,33E2h 273F:6C36 B9 0008 mov cx,8 273F:6C39 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:6C3B 59 pop cx 273F:6C3C 33 D2 xor dx,dx ; Zero register 273F:6C3E locloop_1360: ; xref 273F:6C4C 273F:6C3E AD lodsw ; String [si] to ax 273F:6C3F 8B 1C mov bx,[si] 273F:6C41 89 01 mov [bx+di],ax 273F:6C43 89 51 02 mov [bx+di+2],dx 273F:6C46 83 C6 06 add si,6 273F:6C49 83 C2 01 add dx,1 273F:6C4C E2 F0 loop locloop_1360 ; Loop if cx > 0 273F:6C4E 5D pop bp 273F:6C4F loc_ret_1361: ; xref 273F:6C55 273F:6C4F C3 retn sub_165 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:66D8, 66E6, 6710, 673E, 67FB, 6804, 6821 ; 6844, 6956, 69B4 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6C50 sub_166 proc near 273F:6C50 F6 06 337D FF test data_269,0FFh ; (273F:337D=0) 273F:6C55 75 F8 jnz loc_ret_1361 ; Jump if not zero 273F:6C57 8E C5 mov es,bp 273F:6C59 26: C6 06 4BF0 02 mov byte ptr es:data_46e,2 ; (0000:4BF0=28h) 273F:6C5F 50 push ax 273F:6C60 53 push bx 273F:6C61 8B F3 mov si,bx 273F:6C63 A1 3370 mov ax,word ptr ds:[3370h] ; (273F:3370=0E375h) 273F:6C66 8E C0 mov es,ax 273F:6C68 33 D2 xor dx,dx ; Zero register 273F:6C6A B1 03 mov cl,3 273F:6C6C loc_1362: ; xref 273F:6C7A 273F:6C6C úAC lodsb ; String [si] to al 273F:6C6D 2C 20 sub al,20h ; ' ' 273F:6C6F 72 0B jc loc_1363 ; Jump if carry Set 273F:6C71 32 E4 xor ah,ah ; Zero register 273F:6C73 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:6C75 8B D8 mov bx,ax 273F:6C77 26: 02 17 add dl,es:[bx] 273F:6C7A EB F0 jmp short loc_1362 ; (6C6C) 273F:6C7C loc_1363: ; xref 273F:6C6F 273F:6C7C 26: 02 16 0000 add dl,es:data_1454e ; (E375:0000=0) 273F:6C81 A1 335E mov ax, data_335E 273F:6C84 3D 0001 cmp ax,1 273F:6C87 75 09 jne loc_1364 ; Jump if not equal 273F:6C89 1E push ds 273F:6C8A 50 push ax 273F:6C8B 8E DD mov ds,bp 273F:6C8D E8 0375 call menubar_clear_image 273F:6C90 58 pop ax 273F:6C91 1F pop ds 273F:6C92 loc_1364: ; xref 273F:6C87 273F:6C92 BB 0140 mov bx,140h 273F:6C95 8A CA mov cl,dl 273F:6C97 32 ED xor ch,ch ; Zero register 273F:6C99 33 D2 xor dx,dx ; Zero register 273F:6C9B F7 F3 div bx ; ax,dx rem=dx:ax/reg 273F:6C9D 8B F2 mov si,dx 273F:6C9F 03 F1 add si,cx 273F:6CA1 3B F3 cmp si,bx 273F:6CA3 72 17 jb loc_1365 ; Jump if below 273F:6CA5 05 0001 add ax,1 273F:6CA8 50 push ax 273F:6CA9 50 push ax 273F:6CAA 53 push bx 273F:6CAB 51 push cx 273F:6CAC 1E push ds 273F:6CAD 8E DD mov ds,bp 273F:6CAF E8 036A call talk_clear_line 273F:6CB2 1F pop ds 273F:6CB3 59 pop cx 273F:6CB4 5B pop bx 273F:6CB5 58 pop ax 273F:6CB6 F7 E3 mul bx ; dx:ax = reg * ax 273F:6CB8 A3 335E mov data_335E, ax 273F:6CBB 58 pop ax 273F:6CBC loc_1365: ; xref 273F:6CA3 273F:6CBC 01 0E 335E add data_335E, cx 273F:6CC0 0B C0 or ax,ax ; Zero ? 273F:6CC2 74 03 jz loc_1366 ; Jump if zero 273F:6CC4 E8 0047 call sub_167 ; (6D0E) 273F:6CC7 loc_1366: ; xref 273F:6CC2 273F:6CC7 8B CA mov cx,dx 273F:6CC9 F7 26 336A mul word ptr ds:[336Ah] ; (273F:336A=40C7h) dx:ax = data * ax 273F:6CCD 8B F8 mov di,ax 273F:6CCF 8B 1E 3376 mov bx,data_265 ; (273F:3376=0F632h) 273F:6CD3 8E C3 mov es,bx 273F:6CD5 B7 06 mov bh,6 273F:6CD7 5E pop si 273F:6CD8 81 3E 3368 362D cmp menu_items_proc2, offset vga_menu_items 273F:6CDE 75 04 jne loc_1367 ; Jump if not equal 273F:6CE0 03 F9 add di,cx 273F:6CE2 EB 0C jmp short loc_1368 ; (6CF0) 273F:6CE4 loc_1367: ; xref 273F:6CDE 273F:6CE4 8B C1 mov ax,cx 273F:6CE6 80 E1 07 and cl,7 273F:6CE9 25 01F8 and ax,1F8h 273F:6CEC D1 E8 shr ax,1 ; Shift w/zeros fill 273F:6CEE 03 F8 add di,ax 273F:6CF0 loc_1368: ; xref 273F:6CE2, 6D0A 273F:6CF0 úAC lodsb ; String [si] to al 273F:6CF1 2C 20 sub al,20h ; ' ' 273F:6CF3 72 17 jc loc_1369 ; Jump if carry Set 273F:6CF5 1E push ds 273F:6CF6 55 push bp 273F:6CF7 8B 2E 3374 mov bp,data_264 ; (273F:3374=0FF32h) 273F:6CFB 1F pop ds 273F:6CFC 8B 1E 076E mov bx, data_571 273F:6D00 8A 7F 04 mov bh,[bx+4] 273F:6D03 FF 16 075A call [display2_character_proc] 273F:6D07 8C DD mov bp,ds 273F:6D09 1F pop ds 273F:6D0A EB E4 jmp short loc_1368 ; (6CF0) 273F:6D0C loc_1369: ; xref 273F:6CF3 273F:6D0C 58 pop ax 273F:6D0D C3 retn sub_166 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6897, 6CC4 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6D0E sub_167 proc near 273F:6D0E 50 push ax 273F:6D0F 51 push cx 273F:6D10 52 push dx 273F:6D11 1E push ds 273F:6D12 55 push bp 273F:6D13 8E DD mov ds,bp 273F:6D15 33 C0 xor ax,ax ; Zero register 273F:6D17 33 DB xor bx,bx ; Zero register 273F:6D19 BD 0027 mov bp,27h 273F:6D1C BA 0001 mov dx,1 273F:6D1F B9 0001 mov cx,1 273F:6D22 E8 9E5E call sub_21 ; (0B83) 273F:6D25 5D pop bp 273F:6D26 1F pop ds 273F:6D27 5A pop dx 273F:6D28 59 pop cx 273F:6D29 58 pop ax 273F:6D2A C3 retn sub_167 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:67DB ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6D2B sub_168 proc near 273F:6D2B 1E push ds 273F:6D2C 1E push ds 273F:6D2D 07 pop es 273F:6D2E 8E DD mov ds,bp 273F:6D30 úBF 31E4 mov di,31E4h ; (273F:31E4=0E4h) 273F:6D33 0B C9 or cx,cx ; Zero ? 273F:6D35 79 05 jns loc_1370 ; Jump if not sign 273F:6D37 8A 4C FF mov cl,[si-1] 273F:6D3A 32 ED xor ch,ch ; Zero register 273F:6D3C loc_1370: ; xref 273F:6D35 273F:6D3C 8B C1 mov ax,cx 273F:6D3E AB stosw ; Store ax to es:[di] 273F:6D3F locloop_1371: ; xref 273F:6D4B 273F:6D3F 8B 07 mov ax,[bx] 273F:6D41 83 C3 02 add bx,2 273F:6D44 AB stosw ; Store ax to es:[di] 273F:6D45 loc_1372: ; xref 273F:6D49 273F:6D45 AC lodsb ; String [si] to al 273F:6D46 AA stosb ; Store al to es:[di] 273F:6D47 0A C0 or al,al ; Zero ? 273F:6D49 75 FA jnz loc_1372 ; Jump if not zero 273F:6D4B E2 F2 loop locloop_1371 ; Loop if cx > 0 273F:6D4D 1F pop ds 273F:6D4E C3 retn sub_168 endp 273F:6D4F 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß menubar_handle_menu proc near 273F:6D50 C6 06 11DA 00 mov mouse_buttons2, 0 273F:6D55 C6 06 38B0 01 mov data_781, 1 273F:6D5A E8 B218 call show_arrow_cursor 273F:6D5D E8 0287 call sub_173 ; (6FE7) 273F:6D60 C7 06 4BF1 0000 mov menuitem_table_location, 0 273F:6D66 loc_1374: ; xref 273F:6E6A, 6EA4 273F:6D66 úE8 27B7 call check_keypress ; (9520) 273F:6D69 74 71 jz loc_1380 ; Jump if zero 273F:6D6B 3C C8 cmp al,0C8h 273F:6D6D 75 1A jne loc_1375 ; Jump if not equal 273F:6D6F 83 2E 11D3 08 sub mouse_y, 8 273F:6D74 83 2E 11D8 08 sub mouse_y2, 8 273F:6D79 73 5D jnc loc_1379 ; Jump if carry=0 273F:6D7B C7 06 11D8 0004 mov mouse_y2, 4 273F:6D81 C7 06 11D3 0004 mov mouse_y, 4 273F:6D87 EB 4F jmp short loc_1379 ; (6DD8) 273F:6D89 loc_1375: ; xref 273F:6D6D 273F:6D89 3C D0 cmp al,0D0h 273F:6D8B 75 13 jne loc_1376 ; Jump if not equal 273F:6D8D 83 3E 11D8 64 cmp mouse_y2, 64h 273F:6D92 73 44 jae loc_1379 ; Jump if above or = 273F:6D94 83 06 11D8 08 add mouse_y2, 8 273F:6D99 83 06 11D3 08 add mouse_y, 8 273F:6D9E EB 38 jmp short loc_1379 ; (6DD8) 273F:6DA0 loc_1376: ; xref 273F:6D8B 273F:6DA0 3C CB cmp al,0CBh 273F:6DA2 75 13 jne loc_1377 ; Jump if not equal 273F:6DA4 83 3E 11D6 15 cmp mouse_x2, 15h 273F:6DA9 72 2D jb loc_1379 ; Jump if below 273F:6DAB 83 2E 11D6 14 sub mouse_x2, 14h 273F:6DB0 83 2E 11D1 14 sub mouse_x, 14h 273F:6DB5 EB 21 jmp short loc_1379 ; (6DD8) 273F:6DB7 loc_1377: ; xref 273F:6DA2 273F:6DB7 3C CD cmp al,0CDh 273F:6DB9 75 14 jne loc_1378 ; Jump if not equal 273F:6DBB 81 3E 11D6 0135 cmp mouse_x2, 135h 273F:6DC1 73 15 jae loc_1379 ; Jump if above or = 273F:6DC3 83 06 11D6 14 add mouse_x2, 14h 273F:6DC8 83 06 11D1 14 add mouse_x, 14h 273F:6DCD EB 09 jmp short loc_1379 ; (6DD8) 273F:6DCF loc_1378: ; xref 273F:6DB9 273F:6DCF 3C 0D cmp al,0Dh 273F:6DD1 75 09 jne loc_1380 ; Jump if not equal 273F:6DD3 C6 06 11D5 00 mov mouse_buttons, 0 273F:6DD8 loc_1379: ; xref 273F:6D79, 6D87, 6D92, 6D9E ; 6DA9, 6DB5, 6DC1, 6DCD 273F:6DD8 FF 16 075E call [show_cursor_proc] 273F:6DDC loc_1380: ; xref 273F:6D69, 6DD1 273F:6DDC A1 11D8 mov ax, mouse_y2 273F:6DDF A3 4BF6 mov word ptr ds:[4BF6h],ax ; (273F:4BF6=0C683h) 273F:6DE2 A1 11D6 mov ax, mouse_x2 273F:6DE5 A3 4BF8 mov data_unk1, ax 273F:6DE8 A0 11D5 mov al, mouse_buttons 273F:6DEB A2 4BFA mov mouse_buttons_temp, al 273F:6DEE F6 06 4BF0 FF test byte ptr ds:[4BF0h],0FFh ; (273F:4BF0=3) 273F:6DF3 75 07 jnz loc_1381 ; Jump if not zero 273F:6DF5 F6 06 4BF5 FF test byte ptr ds:[4BF5h],0FFh ; (273F:4BF5=0F5h) 273F:6DFA 74 09 jz loc_1382 ; Jump if zero 273F:6DFC loc_1381: ; xref 273F:6DF3 273F:6DFC FF 16 0744 call word ptr [show_screen_proc] 273F:6E00 C6 06 4BF5 00 mov byte ptr ds:[4BF5h],0 ; (273F:4BF5=0F5h) 273F:6E05 loc_1382: 273F:6E05 A1 4CE4 mov ax, data_segment2 ; Stores off-screen copy of menubar 273F:6E08 8E C0 mov es,ax 273F:6E0A F6 06 4BFA FF test mouse_buttons_temp, 0FFh ; Mouse button released? 273F:6E0F 74 5C jz loc_1390 ; Yes 273F:6E11 83 3E 4BF6 08 cmp word ptr ds:[4BF6h],8 273F:6E16 72 08 jb loc_1383 ; Jump if below 273F:6E18 F7 06 4BF1 FFFF test menuitem_table_location, 0FFFFh 273F:6E1E 75 69 jnz loc_1392 ; Jump if not zero 273F:6E20 loc_1383: ; xref 273F:6E16 273F:6E20 úBE 4C0B mov si, offset menuitem_table_info 273F:6E23 A1 4BF8 mov ax, data_unk1 273F:6E26 B9 0004 mov cx, MENUITEM_NUM_MENUS ; 4 tables 273F:6E29 locloop_1384: ; xref 273F:6E3C 273F:6E29 F7 44 0A FFFF test word ptr [si+0Ah],0FFFFh 273F:6E2E 74 09 jz loc_1385 ; Jump if zero 273F:6E30 3B 04 cmp ax,[si] 273F:6E32 72 0A jb loc_1386 ; Jump if below 273F:6E34 3B 44 02 cmp ax,[si+2] 273F:6E37 72 07 jb loc_1387 ; Jump if below 273F:6E39 loc_1385: ; table diff is 0Eh 273F:6E39 83 C6 0E add si, offset menuitem_table_file - offset menuitem_table_info 273F:6E3C E2 EB loop locloop_1384 ; Loop if cx > 0 273F:6E3E loc_1386: ; xref 273F:6E32 273F:6E3E 33 F6 xor si,si ; Zero register 273F:6E40 loc_1387: ; xref 273F:6E37 273F:6E40 3B 36 4BF1 cmp si, menuitem_table_location 273F:6E44 74 24 je loc_1389 ; Jump if equal 273F:6E46 56 push si 273F:6E47 FF 16 0752 call [show_compressed_screen_proc] 273F:6E4B E8 A6C0 call room_add_animations 273F:6E4E 5E pop si 273F:6E4F 0B F6 or si,si ; Zero ? 273F:6E51 74 06 jz loc_1388 ; Jump if zero 273F:6E53 E8 013C call toggle_menu_highlight 273F:6E56 E8 00B1 call menubar_create_menu 273F:6E59 loc_1388: ; xref 273F:6E51 273F:6E59 C7 06 4BF3 0000 mov word ptr ds:[4BF3h],0 ; (273F:4BF3=3E6h) 273F:6E5F 87 36 4BF1 xchg menuitem_table_location, si 273F:6E63 0B F6 or si,si ; Menu currently visible? 273F:6E65 74 03 jz loc_1389 ; No, so skip removing it 273F:6E67 E8 0128 call toggle_menu_highlight 273F:6E6A loc_1389: ; xref 273F:6E44, 6E65 273F:6E6A E9 FEF9 jmp loc_1374 ; (6D66) 273F:6E6D loc_1390: ; xref 273F:6E0F 273F:6E6D E8 004C call sub_169 ; (6EBC) ; At this point a menu item has been selected. I suspect that: ; ax=item index in menu (1 to 3), BP=> 2=Info, 4=File, 3=>Help ; If no item selected, then bp = 0 & ax = 0 273F:6E70 0B C0 or ax,ax ; Zero ? 273F:6E72 75 33 jnz loc_1395 ; Jump if not zero 273F:6E74 loc_1391: ; xref 273F:6EBA 273F:6E74 úC6 06 38B0 00 mov data_781, 0 273F:6E79 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:6E7E E8 B0F4 call show_arrow_cursor 273F:6E81 C6 06 11DA 00 mov mouse_buttons2, 0 273F:6E86 E9 017C jmp menubar_clear_image 273F:6E89 loc_1392: ; xref 273F:6E1E 273F:6E89 E8 0030 call sub_169 ; (6EBC) 273F:6E8C 0B C0 or ax,ax ; Zero ? 273F:6E8E 74 09 jz loc_1393 ; Jump if zero 273F:6E90 3B 06 4BF3 cmp ax,word ptr ds:[4BF3h] ; (273F:4BF3=3E6h) 273F:6E94 74 0E je loc_1394 ; Jump if equal 273F:6E96 E8 010A call sub_172 ; (6FA3) 273F:6E99 loc_1393: ; xref 273F:6E8E 273F:6E99 87 06 4BF3 xchg word ptr ds:[4BF3h],ax ; (273F:4BF3=3E6h) 273F:6E9D 0B C0 or ax,ax ; Zero ? 273F:6E9F 74 03 jz loc_1394 ; Jump if zero 273F:6EA1 E8 00FF call sub_172 ; (6FA3) 273F:6EA4 loc_1394: ; xref 273F:6E94, 6E9F 273F:6EA4 E9 FEBF jmp loc_1374 ; (6D66) 273F:6EA7 loc_1395: ; xref 273F:6E72 273F:6EA7 8B 36 4BF1 mov si, menuitem_table_location 273F:6EAB 8B 74 0C mov si,[si+0Ch] 273F:6EAE 48 dec ax 273F:6EAF B3 04 mov bl,4 273F:6EB1 F6 E3 mul bl ; ax = reg * al 273F:6EB3 03 F0 add si,ax 273F:6EB5 8B 44 02 mov ax,[si+2] 273F:6EB8 FF D0 call ax ; Handle the selected item 273F:6EBA EB B8 jmp short loc_1391 menubar_handle_menu endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6E6D, 6E89 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6EBC sub_169 proc near 273F:6EBC 8B 36 4BF1 mov si, menuitem_table_location 273F:6EC0 B1 03 mov cl,3 273F:6EC2 8B 44 04 mov ax,[si+4] 273F:6EC5 40 inc ax 273F:6EC6 8B 5C 08 mov bx,[si+8] 273F:6EC9 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:6ECB D3 E3 shl bx,cl ; Shift w/zeros fill 273F:6ECD 39 06 4BF8 cmp data_unk1, ax 273F:6ED1 72 34 jb loc_1397 ; Jump if below 273F:6ED3 03 D8 add bx,ax 273F:6ED5 39 1E 4BF8 cmp data_unk1, bx 273F:6ED9 73 2C jae loc_1397 ; Jump if above or = 273F:6EDB 8B 44 06 mov ax,[si+6] 273F:6EDE 8B 5C 0A mov bx,[si+0Ah] 273F:6EE1 43 inc bx 273F:6EE2 D3 E0 shl ax,cl ; Shift w/zeros fill 273F:6EE4 D3 E3 shl bx,cl ; Shift w/zeros fill 273F:6EE6 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:6EEB 74 03 je loc_1396 ; Jump if equal 273F:6EED 05 0003 add ax,3 273F:6EF0 loc_1396: ; xref 273F:6EEB 273F:6EF0 3B 06 4BF6 cmp ax,word ptr ds:[4BF6h] ; (273F:4BF6=0C683h) 273F:6EF4 73 11 jae loc_1397 ; Jump if above or = 273F:6EF6 03 D8 add bx,ax 273F:6EF8 39 1E 4BF6 cmp word ptr ds:[4BF6h],bx ; (273F:4BF6=0C683h) 273F:6EFC 73 09 jae loc_1397 ; Jump if above or = 273F:6EFE 2B 06 4BF6 sub ax,word ptr ds:[4BF6h] ; (273F:4BF6=0C683h) 273F:6F02 F7 D8 neg ax 273F:6F04 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:6F06 C3 retn 273F:6F07 loc_1397: ; xref 273F:6ED1, 6ED9, 6EF4, 6EFC 273F:6F07 33 C0 xor ax,ax ; Zero register 273F:6F09 C3 retn sub_169 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6E56 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ; SI = pointer to data block containing the details of the menu 273F:6F0A menubar_create_menu proc near 273F:6F0A 56 push si 273F:6F0B 56 push si 273F:6F0C 8B 44 04 mov ax,[si+4] 273F:6F0F 8B 5C 06 mov bx,[si+6] 273F:6F12 8B 4C 08 mov cx,[si+8] 273F:6F15 8B 54 0A mov dx,[si+0Ah] ; Number of menu entries 273F:6F18 BD 0001 mov bp,1 273F:6F1B FF 16 077A call [draw_dialog_proc] 273F:6F1F 5E pop si 273F:6F20 8B 4C 0A mov cx,[si+0Ah] ; Number of menu entries 273F:6F23 8B 44 06 mov ax,[si+6] 273F:6F26 FE C0 inc al 273F:6F28 F7 26 074C mul menubar_block_size ; Get # lines to save 273F:6F2C 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:6F31 74 0C je loc_1398 ; Jump if equal 273F:6F33 03 06 0748 add ax, screen_width 273F:6F37 03 06 0748 add ax, screen_width 273F:6F3B 03 06 0748 add ax, screen_width 273F:6F3F loc_1398: ; xref 273F:6F31 273F:6F3F 8B F8 mov di,ax 273F:6F41 8B 44 04 mov ax,[si+4] 273F:6F44 FE C0 inc al 273F:6F46 F7 26 074A mul char_width ; (273F:074A=43A0h) dx:ax = data * ax 273F:6F4A 03 F8 add di,ax 273F:6F4C 8B 2E 4CF2 mov bp, font_segment 273F:6F50 8B 1E 076E mov bx, data_571 273F:6F54 8B 17 mov dx,[bx] 273F:6F56 8B 5C 08 mov bx,[si+8] ; Max chars in menu 273F:6F59 8B 4C 0A mov cx,[si+0Ah] 273F:6F5C 8B 74 0C mov si,[si+0Ch] ; Offset of list of menuitem text ; strings and handler offsets 273F:6F5F locloop_1399: 273F:6F5F 57 push di 273F:6F60 51 push cx 273F:6F61 56 push si 273F:6F62 8B 34 mov si,[si] 273F:6F64 8B CB mov cx,bx 273F:6F66 locloop_1400: ; Loop to add menu item text 273F:6F66 AC lodsb ; Load next character 273F:6F67 0A C0 or al,al ; Is it the end of the string? 273F:6F69 74 0C jz locloop_1401 ; Jump if yes 273F:6F6B FF 16 076A call [display_character_proc]; Load character 273F:6F6F 03 3E 074A add di, char_width ; Move the store position 273F:6F73 E2 F1 loop locloop_1400 ; Loop if cx > 0 273F:6F75 EB 0D jmp short loc_1402 ; (6F84) 273F:6F77 locloop_1401: ; xref 273F:6F69, 6F82 273F:6F77 B8 0020 mov ax,20h 273F:6F7A FF 16 076A call [display_character_proc] 273F:6F7E 03 3E 074A add di, char_width 273F:6F82 E2 F3 loop locloop_1401 ; Loop if cx > 0 273F:6F84 loc_1402: ; xref 273F:6F75 273F:6F84 5E pop si 273F:6F85 59 pop cx 273F:6F86 5F pop di 273F:6F87 03 3E 074C add di, menubar_block_size 273F:6F8B 83 C6 04 add si,4 273F:6F8E E2 CF loop locloop_1399 ; Loop if cx > 0 273F:6F90 5E pop si 273F:6F91 C3 retn menubar_create_menu endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6E53, 6E67 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6F92 toggle_menu_highlight proc near 273F:6F92 8B 5C 02 mov bx,[si+2] 273F:6F95 8B 3C mov di,[si] 273F:6F97 2B DF sub bx,di 273F:6F99 FF 16 0772 call [toggle_menu_highlight_proc] 273F:6F9D C6 06 4BF0 02 mov byte ptr ds:[4BF0h],2 ; (273F:4BF0=3) 273F:6FA2 C3 retn toggle_menu_highlight endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6E96, 6EA1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6FA3 sub_172 proc near 273F:6FA3 50 push ax 273F:6FA4 03 44 06 add ax,[si+6] 273F:6FA7 50 push ax 273F:6FA8 BB 0A00 mov bx,0A00h 273F:6FAB F7 E3 mul bx ; dx:ax = reg * ax 273F:6FAD 8B F8 mov di,ax 273F:6FAF 8B 44 04 mov ax,[si+4] 273F:6FB2 40 inc ax 273F:6FB3 50 push ax 273F:6FB4 B3 08 mov bl,8 273F:6FB6 F6 E3 mul bl ; ax = reg * al 273F:6FB8 03 F8 add di,ax 273F:6FBA 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:6FBF 74 04 je loc_1403 ; Jump if equal 273F:6FC1 81 C7 03C0 add di,3C0h 273F:6FC5 loc_1403: ; xref 273F:6FBF 273F:6FC5 8B 5C 08 mov bx,[si+8] 273F:6FC8 53 push bx 273F:6FC9 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:6FCB D1 E3 shl bx,1 ; Shift w/zeros fill 273F:6FCD D1 E3 shl bx,1 ; Shift w/zeros fill 273F:6FCF FF 16 0770 call word ptr ds:[770h] ; (273F:0770=6411h) 273F:6FD3 5D pop bp 273F:6FD4 58 pop ax 273F:6FD5 5B pop bx 273F:6FD6 4B dec bx 273F:6FD7 BA 0002 mov dx,2 273F:6FDA B9 0001 mov cx,1 273F:6FDD E8 9BA3 call sub_21 ; (0B83) 273F:6FE0 58 pop ax 273F:6FE1 C6 06 4BF5 01 mov byte ptr ds:[4BF5h],1 ; (273F:4BF5=0F5h) 273F:6FE6 C3 retn sub_172 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6D5D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:6FE7 sub_173 proc near 273F:6FE7 A1 4CE4 mov ax, data_segment2 273F:6FEA 8E C0 mov es,ax 273F:6FEC 8B 0E 074C mov cx, menubar_block_size 273F:6FF0 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:6FF2 A1 4CF6 mov ax,word ptr ds:[4CF6h] ; (273F:4CF6=8BFFh) 273F:6FF5 1E push ds 273F:6FF6 8E D8 mov ds,ax 273F:6FF8 33 F6 xor si,si ; Zero register 273F:6FFA 33 FF xor di,di ; Zero register 273F:6FFC F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:6FFE 1F pop ds 273F:6FFF C6 06 4BF0 02 mov byte ptr ds:[4BF0h],2 ; (273F:4BF0=3) 273F:7004 C3 retn sub_173 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0087, 1365, 1D10, 3C98, 6706, 6C8D, 70A5 ; 7BB7, 8FB2, A828 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ menubar_clear_image proc near 273F:7005 A1 4CE4 mov ax, data_segment2 273F:7008 8E C0 mov es,ax 273F:700A 8B 0E 074C mov cx, menubar_block_size 273F:700E D1 E9 shr cx,1 ; Shift w/zeros fill 273F:7010 33 C0 xor ax,ax ; Zero register 273F:7012 33 FF xor di,di ; Zero register 273F:7014 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:7016 C6 06 4BF0 02 mov byte ptr data_794,2 ; (31E4:4BF0=0) 273F:701B C3 retn menubar_clear_image endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:688C, 6CAF, 8DED ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_clear_line proc near 273F:701C 0B C0 or ax,ax ; Zero ? 273F:701E 74 E5 jz menubar_clear_image 273F:7020 F7 26 074C mul menubar_block_size 273F:7024 8B F8 mov di,ax 273F:7026 A1 4CE4 mov ax, data_segment2 273F:7029 8E C0 mov es, ax 273F:702B 8B 0E 074C mov cx, menubar_block_size 273F:702F D1 E9 shr cx,1 ; Shift w/zeros fill 273F:7031 33 C0 xor ax,ax ; Zero register 273F:7033 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:7035 C3 retn talk_clear_line endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ menuitem_quit proc near 273F:7036 E8 000B call confirm_dialog 273F:7039 74 01 jz loc_1405 ; Jump if zero 273F:703B C3 retn 273F:703C loc_1405: ; xref 273F:7039 273F:703C B8 0000 mov ax,0 273F:703F B6 01 mov dh,1 273F:7041 E8 CF60 call display_message ; (3FA4) menuitem_quit endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7036, 70EA ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7044 confirm_dialog proc near 273F:7044 BE 5040 mov si,5040h 273F:7047 C7 44 08 0179 mov word ptr [si+8],179h 273F:704C C6 06 38B0 01 mov data_781, 1 273F:7051 E8 18B9 call sub_216 ; (890D) 273F:7054 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:7059 75 03 jne loc_1406 ; Jump if not equal 273F:705B E8 18AF call sub_216 ; (890D) 273F:705E loc_1406: ; xref 273F:7059 273F:705E E8 AF2A call mouse_wait ; (1F8B) 273F:7061 loc_1407: ; xref 273F:707F 273F:7061 úE8 AF32 call pause_for_input ; (1F96) 273F:7064 50 push ax 273F:7065 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:706A FF 16 075E call [show_cursor_proc] 273F:706E 58 pop ax 273F:706F 3C 6E cmp al,6Eh ; 'n' 273F:7071 74 0E je loc_1408 ; Jump if equal 273F:7073 3C 4E cmp al,4Eh ; 'N' 273F:7075 74 0A je loc_1408 ; Jump if equal 273F:7077 3C 79 cmp al,79h ; 'y' 273F:7079 74 08 je loc_ret_1409 ; Jump if equal 273F:707B 3C 59 cmp al,59h ; 'Y' 273F:707D 74 04 je loc_ret_1409 ; Jump if equal 273F:707F EB E0 jmp short loc_1407 ; (7061) 273F:7081 loc_1408: ; xref 273F:7071, 7075 273F:7081 0C 01 or al,1 273F:7083 loc_ret_1409: ; xref 273F:7079, 707D 273F:7083 C3 retn confirm_dialog endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß menuitem_credits proc near 273F:7084 80 0E 11D0 01 or menubar_state, 1 ; Hide the cursor 273F:7089 FF 16 075E call [show_cursor_proc] 273F:708D FF 36 9832 push room_number 273F:7091 C7 06 9832 0032 mov room_number, 32h 273F:7097 E8 98B4 call clear_layer_rects 273F:709A E8 98D2 call room_load_layers 273F:709D FF 16 0752 call [show_compressed_screen_proc] 273F:70A1 FF 16 0764 call [empty_palette_proc] 273F:70A5 E8 FF5D call menubar_clear_image 273F:70A8 FF 16 0744 call [show_screen_proc] 273F:70AC FF 16 0762 call [set_lower_palette_proc] 273F:70B0 E8 AEE3 call pause_for_input ; (1F96) 273F:70B3 E8 AEA9 call show_disk_cursor 273F:70B6 8F 06 9832 pop room_number 273F:70BA E8 9891 call clear_layer_rects 273F:70BD E8 98AF call room_load_layers 273F:70C0 FF 16 074E call word ptr ds:[74Eh] ; (273F:074E=8010h) 273F:70C4 E8 9920 call sub_16 ; (09E7) 273F:70C7 E8 9A34 call sub_19 ; (0AFE) 273F:70CA E8 C9E1 call replace_vga_palette ; (3AAE) 273F:70CD FF 16 0752 call [show_compressed_screen_proc] 273F:70D1 E8 A43A call room_add_animations 273F:70D4 FF 16 0764 call [empty_palette_proc] 273F:70D8 FF 16 0744 call [show_screen_proc] 273F:70DC FF 16 0762 call [set_lower_palette_proc] 273F:70E0 80 26 11D0 FE and menubar_state, 0FEh 273F:70E5 FF 16 075E call [show_cursor_proc] 273F:70E9 C3 retn menuitem_credits endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß menuitem_restart proc near 273F:70EA E8 FF57 call confirm_dialog 273F:70ED 75 05 jnz loc_ret_1410 ; Jump if not zero 273F:70EF 80 0E 073D 10 or status_flags2, FLAG_RESTART ; 10h 273F:70F4 loc_ret_1410: ; xref 273F:70ED 273F:70F4 C3 retn menuitem_restart endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8FEC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:70F5 menuitem_textspeed proc near 273F:70F5 BE 4C7F mov si, offset slowtext_slow_substr 273F:70F8 80 36 CE20 80 xor game_flags, 80h 273F:70FD 79 03 jns loc_1411 ; Jump if not sign 273F:70FF úBE 4C83 mov si, offset slowtext_fast_substr 273F:7102 loc_1411: 273F:7102 úBF 4C74 mov di, offset menuitem_textspeed_str 273F:7105 B9 0002 mov cx, 2 ; Four characters to replace 273F:7108 1E push ds 273F:7109 07 pop es 273F:710A F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:710C C3 retn menuitem_textspeed endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß menuitem_sound proc near 273F:710D E8 30E3 call sub_257 273F:7110 BE 4C91 mov si, offset sound_on_substr 273F:7113 F6 06 5660 02 test music_status, 2 273F:7118 75 03 jnz loc_1412 273F:711A úBE 4C95 mov si, offset sound_off_substr 273F:711D loc_1412: 273F:711D 80 36 5660 02 xor music_status, 2 273F:7122 úBF 4C8D mov di, offset menuitem_sound_str+6 ; Start of 'off' or 'on' 273F:7125 B9 0002 mov cx,2 ; Move four bytes 273F:7128 1E push ds 273F:7129 07 pop es 273F:712A F3/ A5 rep movsw 273F:712C C3 retn menuitem_sound endp 273F:712D 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4380, 721C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_flag_covered_cells proc near 273F:712E ú53 push bx 273F:712F E8 D262 call pathfind_get_cell 273F:7132 74 0D jz loc_1416 ; Exit if animation offscreen 273F:7134 locloop_1414: 273F:7134 09 07 or [bx], ax ; Flag cell as covered 273F:7136 D0 E8 shr al, 1 ; Rotate bit mask 273F:7138 73 05 jnc loc_1415 ; Jump if not passed bit 0 273F:713A 83 C3 01 add bx, 1 ; Move to next byte in data 273F:713D B0 80 mov al, 80h ; Reset bit mask 273F:713F loc_1415: 273F:713F E2 F3 loop locloop_1414 ; Loop for remaining cells 273F:7141 loc_1416: 273F:7141 5B pop bx 273F:7142 C3 retn pathfind_flag_covered_cells endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7245 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ pathfind_clear_covered_cells proc near 273F:7143 53 push bx 273F:7144 E8 D24D call pathfind_get_cell 273F:7147 74 12 jz loc_1420 ; Jump if zero 273F:7149 32 E4 xor ah,ah ; Zero register 273F:714B F7 D0 not ax 273F:714D locloop_1418: ; xref 273F:7159 273F:714D 20 07 and [bx],al 273F:714F D1 E8 shr ax,1 ; Shift w/zeros fill 273F:7151 72 06 jc loc_1419 ; Jump if carry Set 273F:7153 83 C3 01 add bx,1 273F:7156 B8 FF7F mov ax,0FF7Fh 273F:7159 loc_1419: ; xref 273F:7151 273F:7159 E2 F2 loop locloop_1418 ; Loop if cx > 0 273F:715B loc_1420: ; xref 273F:7147 273F:715B 5B pop bx 273F:715C C3 retn pathfind_clear_covered_cells endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_set_action_ctr proc near 273F:715D E8 9B88 call get_room_resource_pointer 273F:7160 88 4C 2A mov [si+HS_ACTION_CTR], cl 273F:7163 C3 retn seq_set_action_ctr endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7164 E8 9B81 call get_room_resource_pointer 273F:7167 E8 0008 call animation_load_2 273F:716A C6 45 10 00 mov byte ptr [di+ANIM_CAN_UNLOAD], 0 273F:716E C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:88B7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:716F animation_load proc near 273F:716F E8 9B76 call get_room_resource_pointer ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:7167, 7F7E 273F:7172 animation_load_2: 273F:7172 úE8 9F5E call animation_find_slot ; di = free animation list slot. si = pointer to resource, bx = resource Id 273F:7175 89 7C 0B mov [si+HS_ANIM_OFFSET], di ; Store slot anim is placed in 273F:7178 89 5D 1B mov [di+ANIM_HOTSPOT_ID], bx ; Save Id of anim resource 273F:717B 89 75 19 mov [di+ANIM_HOTSPOT_OFFSET], si ; Save ptr of anim resource 273F:717E 8B 44 0F mov ax, [si+HS_Y] ; Copy over Y start 273F:7181 89 45 02 mov [di+ANIM_Y], ax 273F:7184 8B 44 0D mov ax, [si+HS_X] ; Copy over X start 273F:7187 89 05 mov [di+ANIM_X], ax 273F:7189 8B 44 11 mov ax, [si+HS_WIDTH] ; Copy over width 273F:718C 89 45 04 mov [di+ANIM_WIDTH], ax 273F:718F 8B 44 13 mov ax, [si+HS_HEIGHT] ; Copy over height 273F:7192 89 45 06 mov [di+ANIM_HEIGHT], ax 273F:7195 8A 44 15 mov al, [si+HS_LAYER] ; Copy layer 273F:7198 88 45 0C mov [di+ANIM_LAYER], al 273F:719B 8A 44 16 mov al, [si+16h] 273F:719E 88 45 0D mov [di+ANIM_FLAGS], al 273F:71A1 C6 45 10 01 mov byte ptr [di+ANIM_CAN_UNLOAD], 1 273F:71A5 8B 44 17 mov ax, [si+HS_TICK_PROC] ; Copy tick handler proc 273F:71A8 89 45 11 mov [di+ANIM_TICK_PROC], ax 273F:71AB 8B 44 19 mov ax, [si+HS_WIDTH_COPY] 273F:71AE 89 45 13 mov [di+ANIM_WIDTH_COPY], ax 273F:71B1 8B 44 1B mov ax, [si+HS_HEIGHT_COPY] 273F:71B4 89 45 15 mov [di+ANIM_HEIGHT_COPY], ax 273F:71B7 8B 44 1D mov ax, [si+HS_Y_CORRECTION] ; Y correction 273F:71BA 89 45 17 mov [di+ANIM_Y_CORRECTION], ax 273F:71BD C7 45 1E 0000 mov word ptr [di+ANIM_VOICE_CHAR_ID], 0 273F:71C2 8B 44 06 mov ax, [si+HS_ROOM_NUM] ; Copy room number 273F:71C5 89 45 0E mov [di+ANIM_ROOM_NUM], ax 273F:71C8 8A 44 23 mov al, [si+HS_START_COLOUR] ; Copy colour offset 273F:71CB 88 45 28 mov [di+ANIM_START_COLOUR], al 273F:71CE 8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] ; Get animation record 273F:71D1 8B 47 03 mov ax, [bx+PIXEL_DATA_SEGMENT] ; Get pixel data segment 273F:71D4 89 45 0A mov [di+ANIM_SEGMENT], ax ; Set it in animation 273F:71D7 33 C9 xor cx, cx 273F:71D9 F6 47 02 04 test byte ptr [bx+PIXEL_FLAGS], PIXELFLAG_HAS_TABLE 273F:71DD 74 07 jz loc_1422 ; Jump if zero 273F:71DF 8E C0 mov es, ax 273F:71E1 26: 8B 0E 0000 mov cx, es:[0] 273F:71E6 loc_1422: 273F:71E6 89 4D 08 mov [di+ANIM_FRAME_OFFSET], cx ; Set frame 273F:71E9 C6 45 27 01 mov byte ptr [di+ANIM_WALK_FLAG], 1 273F:71ED C3 retn animation_load endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1326, 1D93, 5207, 538B, 5705, 5746, 57DC ; 5FF9, 720B, 8025, 826F, 86C6, 86D1, 86E8 ; 86F2, 8708, 8727, 8894, 9E82 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_exit_hs_get_pointer proc near 273F:71EE úBE CE30 mov si, offset room_exit_joins_table 273F:71F1 loc_1423: ; xref 273F:71FD 273F:71F1 ú3B 04 cmp ax, [si] 273F:71F3 74 0A je loc_1424 ; Jump if equal 273F:71F5 3B 44 06 cmp ax, [si+REHS_HOTSPOT2_ID] 273F:71F8 74 09 je loc_1425 ; Jump if equal 273F:71FA 83 C6 11 add si, REHS_RECORD_SIZE 273F:71FD EB F2 jmp short loc_1423 ; (71F1) 273F:71FF loc_1424: ; xref 273F:71F3 273F:71FF BB 0002 mov bx, REHS_HOTSPOT1_CURRENT_FRAME 273F:7202 C3 retn 273F:7203 loc_1425: ; xref 273F:71F8 273F:7203 BB 0008 mov bx, REHS_HOTSPOT2_CURRENT_FRAME 273F:7206 C3 retn room_exit_hs_get_pointer endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; This tick handler proc is used by a lot of the resources in the 3rd ; hotspot table (hotspots starting at 2711h) ; di = animation slot entry, si = hotspot resource ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß room_exits_tick_proc proc near 273F:7207 8B 45 1B mov ax,[di+ANIM_HOTSPOT_ID] ; Get hotspot Id 273F:720A 56 push si ; Save hotspot ptr 273F:720B E8 FFE0 call room_exit_hs_get_pointer 273F:720E F6 44 0C FF test byte ptr [si+REHS_EXIT_BLOCKED], 0FFh 273F:7212 74 2A jz loc_1427 ; Jump if exit blocked ; Eexecution reaches this point if the room exit is blocked 273F:7214 8A 00 mov al, [bx+si] ; Get frame number 273F:7216 3A 40 01 cmp al, [bx+si+1] ; Check against dest frame 273F:7219 74 12 je loc_1426 ; If equal, go set frame 273F:721B 50 push ax 273F:721C E8 FF0F call pathfind_flag_covered_cells 273F:721F 58 pop ax 273F:7220 04 01 add al, 1 ; Move to next frame 273F:7222 3A 40 01 cmp al, [bx+si+1] ; Reached end frame yet? 273F:7225 75 06 jne loc_1426 ; No, so go set frame 273F:7227 B9 0001 mov cx, 1 273F:722A E8 00DA call room_exit_play_sound ; The code below sets the frame number and offset of the given hotspot to the # in AL 273F:722D loc_1426: 273F:722D ú88 00 mov [bx+si],al ; Store frame number 273F:722F 5E pop si 273F:7230 8B 5C 21 mov bx,[si+HS_PIXEL_OFFSET] 273F:7233 32 E4 xor ah,ah ; Calculate frame offset 273F:7235 F7 67 07 mul word ptr [bx+PIXEL_FRAME_SIZE] 273F:7238 89 45 08 mov [di+ANIM_FRAME_OFFSET], ax ; Save frame start 273F:723B C3 retn 273F:723C 5E pop si 273F:723D C3 retn ; Execution reaches this pointer if the room exit is currently active 273F:723E loc_1427: 273F:723E 8A 00 mov al, [bx+si] ; Get frame number 273F:7240 0A C0 or al, al ; Zero ? 273F:7242 74 E9 jz loc_1426 ; If zero, go set and exit 273F:7244 50 push ax 273F:7245 E8 FEFB call pathfind_clear_covered_cells 273F:7248 58 pop ax 273F:7249 3A 40 01 cmp al, [bx+si+1] ; Current frame at end frame? 273F:724C 75 19 jne loc_1428 ; No, so go move back 1 frame 273F:724E 33 C9 xor cx, cx ; Zero register 273F:7250 E8 00B4 call room_exit_play_sound 273F:7253 80 3E BAB9 01 cmp byte ptr script_val_88, 1 273F:7258 75 0D jne loc_1428 ; Jump if not equal 273F:725A 53 push bx 273F:725B 50 push ax 273F:725C B8 0C00 mov ax, 0C00h 273F:725F 32 DB xor bl, bl ; Zero register 273F:7261 FF 1E 5662 call dword ptr [play_music_proc] 273F:7265 58 pop ax 273F:7266 5B pop bx 273F:7267 loc_1428: 273F:7267 2C 01 sub al, 1 ; Move to prior frame 273F:7269 EB C2 jmp short loc_1426 ; Go set frame room_exits_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:57ED, 57F7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ door_close_check proc near 273F:726B 55 push bp 273F:726C 56 push si 273F:726D 8B 5F 0B mov bx, [bx+HS_ANIM_OFFSET] 273F:7270 8B 57 0E mov dx, [bx+ANIM_ROOM_NUM] ; Get room number 273F:7273 úBE B14E mov si, offset animation_table 273F:7276 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:7279 8B 07 mov ax, [bx+ANIM_X] 273F:727B A3 10E6 mov char_rect_left, ax 273F:727E 03 47 13 add ax, [bx+ANIM_WIDTH_COPY] 273F:7281 A3 10E8 mov char_rect_right, ax 273F:7284 8B 47 02 mov ax, [bx+ANIM_Y] 273F:7287 03 47 15 add ax, [bx+ANIM_HEIGHT_COPY] 273F:728A 50 push ax 273F:728B 2B 47 17 sub ax, [bx+ANIM_Y_CORRECTION] 273F:728E 2B 47 22 sub ax, [bx+ANIM_CHAR_RECT_Y] 273F:7291 A3 10EA mov char_rect_top, ax 273F:7294 58 pop ax 273F:7295 03 47 22 add ax, [bx+ANIM_CHAR_RECT_Y] 273F:7298 A3 10EC mov char_rect_bottom, ax 273F:729B locloop_1429: ; xref 273F:72FC 273F:729B 3B FE cmp di, si ; Reached anim pointed to by DI? 273F:729D 74 5A je loc_1431 ; Skip if yes 273F:729F 3B F3 cmp si, bx ; Reached anim pointed to by BX? 273F:72A1 74 56 je loc_1431 ; Skip if yes 273F:72A3 F6 44 0C FF test [si+ANIM_LAYER], 0FFh ; Animation has a layer? 273F:72A7 74 50 jz loc_1431 ; Skip if not 273F:72A9 3B 54 0E cmp dx, [si+ANIM_ROOM_NUM] ; In same room? 273F:72AC 75 4B jne loc_1431 ; Skip if not 273F:72AE 8B 44 1B mov ax, [si+ANIM_HOTSPOT_ID] 273F:72B1 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:72B4 72 43 jb loc_1431 ; Skip low end animations 273F:72B6 3D 0408 cmp ax, FIRST_OBJECT_HOTSPOT_ID 273F:72B9 72 05 jb loc_1430 ; Jump if below 273F:72BB 3D 2710 cmp ax, START_EXIT_HOTSPOT_ID 273F:72BE 72 39 jb loc_1431 ; Jump if below 273F:72C0 loc_1430: 273F:72C0 3D FFFE cmp ax,0FFFEh 273F:72C3 73 34 jae loc_1431 ; Skip if Id is 0fffeh or 0ffffh 273F:72C5 8B 04 mov ax, [si+ANIM_X] ; Get anim x pos 273F:72C7 3B 06 10E8 cmp ax, char_rect_right ; More than set X pos? 273F:72CB 73 2C jae loc_1431 ; If yes, skip entry 273F:72CD 03 44 13 add ax,[si+ANIM_WIDTH_COPY] ; anim width 273F:72D0 3B 06 10E6 cmp ax, char_rect_left ; Compare against loaded right 273F:72D4 72 23 jb loc_1431 ; Skip if less or equal 273F:72D6 74 21 jz loc_1431 ; This point is only reached if an animation is in the current room if it's ; X start is less than or equal to that specified at routine start, and it's right ; is greater than the X end position. That is to say, the given horizontal slice 273F:72D8 8B 44 02 mov ax, [si+ANIM_Y] ; Get Y position 273F:72DB 03 44 15 add ax, [si+ANIM_HEIGHT_COPY]; Add copy of anim height 273F:72DE 8B E8 mov bp,ax 273F:72E0 03 44 22 add ax, [si+ANIM_CHAR_RECT_Y] 273F:72E3 3B 06 10EA cmp ax, char_rect_top 273F:72E7 72 10 jb loc_1431 ; Not meeting Y start 273F:72E9 8B C5 mov ax, bp 273F:72EB 2B 44 17 sub ax, [si+ANIM_Y_CORRECTION] 273F:72EE 2B 44 22 sub ax, [si+ANIM_CHAR_RECT_Y] 273F:72F1 3B 06 10EC cmp ax, char_rect_bottom 273F:72F5 74 0B je loc_1432 ; Jump if equal 273F:72F7 72 09 jc loc_1432 ; Jump if carry Set 273F:72F9 loc_1431: 273F:72F9 83 C6 29 add si, ANIMATION_SLOT_SIZE 273F:72FC E2 9D loop locloop_1429 ; Loop if cx > 0 273F:72FE 0C 01 or al,1 ; Result = 1 (no blockings) 273F:7300 EB 02 jmp short loc_1433 273F:7302 loc_1432: 273F:7302 33 C0 xor ax,ax ; Result = 0 (a blocking) 273F:7304 loc_1433: 273F:7304 5E pop si 273F:7305 5D pop bp 273F:7306 C3 retn door_close_check endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:722A, 7250 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ room_exit_play_sound proc near 273F:7307 50 push ax 273F:7308 56 push si 273F:7309 53 push bx 273F:730A 57 push di 273F:730B 8B 16 9832 mov dx, room_number 273F:730F 8B 7C 0D mov di, [si+REHS_HOTSPOT1_OFFSET] 273F:7312 83 FB 02 cmp bx, 2 273F:7315 74 03 je loc_1434 273F:7317 8B 7C 0F mov di, [si+REHS_HOTSPOT2_OFFSET] 273F:731A loc_1434: ; xref 273F:7315 273F:731A 3B 55 06 cmp dx, [di+HS_ROOM_NUM] 273F:731D 75 10 jne loc_1435 ; Jump if not equal 273F:731F 03 D9 add bx, cx 273F:7321 8A 58 02 mov bl, [bx+si+2] 273F:7324 32 FF xor bh, bh 273F:7326 0B DB or bx, bx ; Zero ? 273F:7328 74 05 jz loc_1435 ; Jump if zero 273F:732A E8 2CD0 call play_sound 273F:732D 8B CE mov cx, si 273F:732F loc_1435: ; xref 273F:731D, 7328 273F:732F 5F pop di 273F:7330 5B pop bx 273F:7331 5E pop si 273F:7332 58 pop ax 273F:7333 C3 retn room_exit_play_sound endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7876 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7334 animation_decode_inner proc near 273F:7334 83 C6 06 add si,6 273F:7337 1E push ds 273F:7338 8E DA mov ds,dx 273F:733A B5 10 mov ch,10h 273F:733C B1 04 mov cl,4 273F:733E 33 FF xor di,di ; Zero register 273F:7340 loc_1436: ; xref 273F:7365 273F:7340 AC lodsb ; String [si] to al 273F:7341 26: 88 45 10 mov es:[di+10h],al 273F:7345 26: 80 65 10 0F and byte ptr es:[di+10h],0Fh 273F:734A D2 E8 shr al,cl ; Shift w/zeros fill 273F:734C 26: 88 05 mov es:[di],al 273F:734F AC lodsb ; String [si] to al 273F:7350 26: 88 45 30 mov es:[di+30h],al 273F:7354 26: 80 65 30 0F and byte ptr es:[di+30h],0Fh 273F:7359 D2 E8 shr al,cl ; Shift w/zeros fill 273F:735B 26: 88 45 20 mov es:[di+20h],al 273F:735F 83 C7 01 add di,1 273F:7362 80 ED 01 sub ch,1 273F:7365 75 D9 jnz loc_1436 ; Jump if not zero 273F:7367 úBF 0040 mov di, 40h 273F:736A AC lodsb ; String [si] to al 273F:736B 8A E0 mov ah,al 273F:736D AC lodsb ; String [si] to al 273F:736E 32 ED xor ch,ch ; Zero register 273F:7370 B1 04 mov cl,4 273F:7372 26: 88 25 mov es:[di],ah 273F:7375 26: 80 25 F0 and byte ptr es:[di],0F0h 273F:7379 8A DC mov bl,ah 273F:737B D3 E0 shl ax,cl ; Shift w/zeros fill 273F:737D D2 EB shr bl,cl ; Shift w/zeros fill 273F:737F 32 FF xor bh,bh ; Zero register 273F:7381 B2 01 mov dl,1 273F:7383 loc_1437: ; xref 273F:73A1, 73A9, 74DD 273F:7383 úD1 D0 rcl ax,1 ; Rotate thru carry 273F:7385 E2 03 loop locloop_1438 ; Loop if cx > 0 273F:7387 AC lodsb ; String [si] to al 273F:7388 B1 08 mov cl,8 273F:738A locloop_1438: ; xref 273F:7385 273F:738A 72 1F jc loc_1441 ; Jump if carry Set 273F:738C 26: 8A 1F mov bl,es:[bx] 273F:738F loc_1439: ; xref 273F:73C1, 73C7, 73D6, 7417 273F:738F ú80 F2 01 xor dl,1 273F:7392 74 0F jz loc_1440 ; Jump if zero 273F:7394 8A F3 mov dh,bl 273F:7396 D0 E6 shl dh,1 ; Shift w/zeros fill 273F:7398 D0 E6 shl dh,1 ; Shift w/zeros fill 273F:739A D0 E6 shl dh,1 ; Shift w/zeros fill 273F:739C D0 E6 shl dh,1 ; Shift w/zeros fill 273F:739E 26: 88 35 mov es:[di],dh 273F:73A1 EB E0 jmp short loc_1437 ; (7383) 273F:73A3 loc_1440: ; xref 273F:7392 273F:73A3 26: 08 1D or es:[di],bl 273F:73A6 83 C7 01 add di,1 273F:73A9 EB D8 jmp short loc_1437 ; (7383) 273F:73AB loc_1441: ; xref 273F:738A 273F:73AB D1 D0 rcl ax,1 ; Rotate thru carry 273F:73AD E2 03 loop locloop_1442 ; Loop if cx > 0 273F:73AF AC lodsb ; String [si] to al 273F:73B0 B1 08 mov cl,8 273F:73B2 locloop_1442: ; xref 273F:73AD 273F:73B2 72 15 jc loc_1445 ; Jump if carry Set 273F:73B4 D1 D0 rcl ax,1 ; Rotate thru carry 273F:73B6 E2 03 loop locloop_1443 ; Loop if cx > 0 273F:73B8 AC lodsb ; String [si] to al 273F:73B9 B1 08 mov cl,8 273F:73BB locloop_1443: ; xref 273F:73B6 273F:73BB 72 06 jc loc_1444 ; Jump if carry Set 273F:73BD 26: 8A 5F 10 mov bl,es:[bx+10h] 273F:73C1 EB CC jmp short loc_1439 ; (738F) 273F:73C3 loc_1444: ; xref 273F:73BB 273F:73C3 26: 8A 5F 20 mov bl,es:[bx+20h] 273F:73C7 EB C6 jmp short loc_1439 ; (738F) 273F:73C9 loc_1445: ; xref 273F:73B2 273F:73C9 D1 D0 rcl ax,1 ; Rotate thru carry 273F:73CB E2 03 loop locloop_1446 ; Loop if cx > 0 273F:73CD AC lodsb ; String [si] to al 273F:73CE B1 08 mov cl,8 273F:73D0 locloop_1446: ; xref 273F:73CB 273F:73D0 72 06 jc loc_1447 ; Jump if carry Set 273F:73D2 26: 8A 5F 30 mov bl,es:[bx+30h] 273F:73D6 EB B7 jmp short loc_1439 ; (738F) 273F:73D8 loc_1447: ; xref 273F:73D0 273F:73D8 8A F4 mov dh,ah 273F:73DA D0 EE shr dh,1 ; Shift w/zeros fill 273F:73DC D0 EE shr dh,1 ; Shift w/zeros fill 273F:73DE D0 EE shr dh,1 ; Shift w/zeros fill 273F:73E0 D0 EE shr dh,1 ; Shift w/zeros fill 273F:73E2 D1 D0 rcl ax,1 ; Rotate thru carry 273F:73E4 E2 03 loop locloop_1448 ; Loop if cx > 0 273F:73E6 AC lodsb ; String [si] to al 273F:73E7 B1 08 mov cl,8 273F:73E9 locloop_1448: ; xref 273F:73E4 273F:73E9 D1 D0 rcl ax,1 ; Rotate thru carry 273F:73EB E2 03 loop locloop_1449 ; Loop if cx > 0 273F:73ED AC lodsb ; String [si] to al 273F:73EE B1 08 mov cl,8 273F:73F0 locloop_1449: ; xref 273F:73EB 273F:73F0 D1 D0 rcl ax,1 ; Rotate thru carry 273F:73F2 E2 03 loop locloop_1450 ; Loop if cx > 0 273F:73F4 AC lodsb ; String [si] to al 273F:73F5 B1 08 mov cl,8 273F:73F7 locloop_1450: ; xref 273F:73F2 273F:73F7 D1 D0 rcl ax,1 ; Rotate thru carry 273F:73F9 E2 03 loop locloop_1451 ; Loop if cx > 0 273F:73FB AC lodsb ; String [si] to al 273F:73FC B1 08 mov cl,8 273F:73FE locloop_1451: ; xref 273F:73F9 273F:73FE 26: 3A 37 cmp dh,es:[bx] 273F:7401 74 17 je loc_1452 ; Jump if equal 273F:7403 26: 3A 77 10 cmp dh,es:[bx+10h] 273F:7407 74 29 je loc_1454 ; Jump if equal 273F:7409 26: 3A 77 20 cmp dh,es:[bx+20h] 273F:740D 74 2D je loc_1455 ; Jump if equal 273F:740F 26: 3A 77 30 cmp dh,es:[bx+30h] 273F:7413 74 5E je loc_1462 ; Jump if equal 273F:7415 8A DE mov bl,dh 273F:7417 E9 FF75 jmp loc_1439 ; (738F) 273F:741A loc_1452: ; xref 273F:7401 273F:741A 51 push cx 273F:741B 52 push dx 273F:741C E8 00C7 call sub_186 ; (74E6) 273F:741F 8A D6 mov dl,dh 273F:7421 E8 00C2 call sub_186 ; (74E6) 273F:7424 8A EA mov ch,dl 273F:7426 8A CE mov cl,dh 273F:7428 5A pop dx 273F:7429 0B C9 or cx,cx ; Zero ? 273F:742B 74 02 jz loc_1453 ; Jump if zero 273F:742D EB 74 jmp short loc_1468 ; (74A3) 273F:742F loc_1453: 273F:742F E9 00AE jmp loc_1471 ; Exit 273F:7432 loc_1454: ; xref 273F:7407 273F:7432 51 push cx 273F:7433 E8 00B0 call sub_186 ; (74E6) 273F:7436 8A CE mov cl,dh 273F:7438 32 ED xor ch,ch ; Zero register 273F:743A EB 67 jmp short loc_1468 ; (74A3) 273F:743C loc_1455: ; xref 273F:740D 273F:743C 8A F4 mov dh,ah 273F:743E D0 EE shr dh,1 ; Shift w/zeros fill 273F:7440 D0 EE shr dh,1 ; Shift w/zeros fill 273F:7442 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7444 E2 03 loop locloop_1456 ; Loop if cx > 0 273F:7446 AC lodsb ; String [si] to al 273F:7447 B1 08 mov cl,8 273F:7449 locloop_1456: ; xref 273F:7444 273F:7449 D1 D0 rcl ax,1 ; Rotate thru carry 273F:744B E2 03 loop locloop_1457 ; Loop if cx > 0 273F:744D AC lodsb ; String [si] to al 273F:744E B1 08 mov cl,8 273F:7450 locloop_1457: ; xref 273F:744B 273F:7450 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7452 E2 03 loop locloop_1458 ; Loop if cx > 0 273F:7454 AC lodsb ; String [si] to al 273F:7455 B1 08 mov cl,8 273F:7457 locloop_1458: ; xref 273F:7452 273F:7457 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7459 E2 03 loop locloop_1459 ; Loop if cx > 0 273F:745B AC lodsb ; String [si] to al 273F:745C B1 08 mov cl,8 273F:745E locloop_1459: ; xref 273F:7459 273F:745E D1 D0 rcl ax,1 ; Rotate thru carry 273F:7460 E2 03 loop locloop_1460 ; Loop if cx > 0 273F:7462 AC lodsb ; String [si] to al 273F:7463 B1 08 mov cl,8 273F:7465 locloop_1460: ; xref 273F:7460 273F:7465 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7467 E2 03 loop locloop_1461 ; Loop if cx > 0 273F:7469 AC lodsb ; String [si] to al 273F:746A B1 08 mov cl,8 273F:746C locloop_1461: ; xref 273F:7467 273F:746C 51 push cx 273F:746D 8A CE mov cl,dh 273F:746F 32 ED xor ch,ch ; Zero register 273F:7471 EB 30 jmp short loc_1468 ; (74A3) 273F:7473 loc_1462: ; xref 273F:7413 273F:7473 8A F4 mov dh,ah 273F:7475 D0 EE shr dh,1 ; Shift w/zeros fill 273F:7477 D0 EE shr dh,1 ; Shift w/zeros fill 273F:7479 D0 EE shr dh,1 ; Shift w/zeros fill 273F:747B D1 D0 rcl ax,1 ; Rotate thru carry 273F:747D E2 03 loop locloop_1463 ; Loop if cx > 0 273F:747F AC lodsb ; String [si] to al 273F:7480 B1 08 mov cl,8 273F:7482 locloop_1463: ; xref 273F:747D 273F:7482 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7484 E2 03 loop locloop_1464 ; Loop if cx > 0 273F:7486 AC lodsb ; String [si] to al 273F:7487 B1 08 mov cl,8 273F:7489 locloop_1464: ; xref 273F:7484 273F:7489 D1 D0 rcl ax,1 ; Rotate thru carry 273F:748B E2 03 loop locloop_1465 ; Loop if cx > 0 273F:748D AC lodsb ; String [si] to al 273F:748E B1 08 mov cl,8 273F:7490 locloop_1465: ; xref 273F:748B 273F:7490 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7492 E2 03 loop locloop_1466 ; Loop if cx > 0 273F:7494 AC lodsb ; String [si] to al 273F:7495 B1 08 mov cl,8 273F:7497 locloop_1466: ; xref 273F:7492 273F:7497 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7499 E2 03 loop locloop_1467 ; Loop if cx > 0 273F:749B AC lodsb ; String [si] to al 273F:749C B1 08 mov cl,8 273F:749E locloop_1467: ; xref 273F:7499 273F:749E 51 push cx 273F:749F 8A CE mov cl,dh 273F:74A1 32 ED xor ch,ch ; Zero register 273F:74A3 loc_1468: ; xref 273F:742D, 743A, 7471 273F:74A3 F6 C2 01 test dl,1 273F:74A6 74 0C jz loc_1469 ; Jump if zero 273F:74A8 26: 08 1D or es:[di],bl 273F:74AB 83 C7 01 add di,1 273F:74AE 83 E9 01 sub cx,1 273F:74B1 80 E2 FE and dl,0FEh 273F:74B4 loc_1469: ; xref 273F:74A6 273F:74B4 8A F3 mov dh,bl 273F:74B6 D0 E6 shl dh,1 ; Shift w/zeros fill 273F:74B8 D0 E6 shl dh,1 ; Shift w/zeros fill 273F:74BA D0 E6 shl dh,1 ; Shift w/zeros fill 273F:74BC D0 E6 shl dh,1 ; Shift w/zeros fill 273F:74BE 0A DE or bl,dh 273F:74C0 51 push cx 273F:74C1 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:74C3 86 C3 xchg al,bl 273F:74C5 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:74C7 86 C3 xchg al,bl 273F:74C9 59 pop cx 273F:74CA 83 E1 01 and cx,1 273F:74CD 74 0A jz loc_1470 ; Jump if zero 273F:74CF 26: 88 1D mov es:[di],bl 273F:74D2 26: 80 25 F0 and byte ptr es:[di],0F0h 273F:74D6 80 CA 01 or dl,1 273F:74D9 loc_1470: ; xref 273F:74CD 273F:74D9 59 pop cx 273F:74DA 80 E3 0F and bl,0Fh 273F:74DD E9 FEA3 jmp loc_1437 ; (7383) 273F:74E0 loc_1471: 273F:74E0 58 pop ax 273F:74E1 1F pop ds 273F:74E2 FF 26 0776 jmp [data_575] ; For VGA, no implementation animation_decode_inner endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:741C, 7421, 7433 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:74E6 sub_186 proc near 273F:74E6 8A F4 mov dh,ah 273F:74E8 D1 D0 rcl ax,1 ; Rotate thru carry 273F:74EA E2 03 loop locloop_1472 ; Loop if cx > 0 273F:74EC AC lodsb ; String [si] to al 273F:74ED B1 08 mov cl,8 273F:74EF locloop_1472: ; xref 273F:74EA 273F:74EF D1 D0 rcl ax,1 ; Rotate thru carry 273F:74F1 E2 03 loop locloop_1473 ; Loop if cx > 0 273F:74F3 AC lodsb ; String [si] to al 273F:74F4 B1 08 mov cl,8 273F:74F6 locloop_1473: ; xref 273F:74F1 273F:74F6 D1 D0 rcl ax,1 ; Rotate thru carry 273F:74F8 E2 03 loop locloop_1474 ; Loop if cx > 0 273F:74FA AC lodsb ; String [si] to al 273F:74FB B1 08 mov cl,8 273F:74FD locloop_1474: ; xref 273F:74F8 273F:74FD D1 D0 rcl ax,1 ; Rotate thru carry 273F:74FF E2 03 loop locloop_1475 ; Loop if cx > 0 273F:7501 AC lodsb ; String [si] to al 273F:7502 B1 08 mov cl,8 273F:7504 locloop_1475: ; xref 273F:74FF 273F:7504 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7506 E2 03 loop locloop_1476 ; Loop if cx > 0 273F:7508 AC lodsb ; String [si] to al 273F:7509 B1 08 mov cl,8 273F:750B locloop_1476: ; xref 273F:7506 273F:750B D1 D0 rcl ax,1 ; Rotate thru carry 273F:750D E2 03 loop locloop_1477 ; Loop if cx > 0 273F:750F AC lodsb ; String [si] to al 273F:7510 B1 08 mov cl,8 273F:7512 locloop_1477: ; xref 273F:750D 273F:7512 D1 D0 rcl ax,1 ; Rotate thru carry 273F:7514 E2 03 loop locloop_1478 ; Loop if cx > 0 273F:7516 AC lodsb ; String [si] to al 273F:7517 B1 08 mov cl,8 273F:7519 locloop_1478: ; xref 273F:7514 273F:7519 D1 D0 rcl ax,1 ; Rotate thru carry 273F:751B E2 03 loop locloop_1479 ; Loop if cx > 0 273F:751D AC lodsb ; String [si] to al 273F:751E B1 08 mov cl,8 273F:7520 locloop_1479: ; xref 273F:751B 273F:7520 C3 retn sub_186 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:25C8, 25CD, 25DF ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7521 sub_187 proc near 273F:7521 8A C6 mov al,dh 273F:7523 D1 D2 rcl dx,1 ; Rotate thru carry 273F:7525 E2 07 loop locloop_1480 ; Loop if cx > 0 273F:7527 86 D0 xchg dl,al 273F:7529 AC lodsb ; String [si] to al 273F:752A 86 D0 xchg dl,al 273F:752C B1 08 mov cl,8 273F:752E locloop_1480: ; xref 273F:7525 273F:752E D1 D2 rcl dx,1 ; Rotate thru carry 273F:7530 E2 07 loop locloop_1481 ; Loop if cx > 0 273F:7532 86 D0 xchg dl,al 273F:7534 AC lodsb ; String [si] to al 273F:7535 86 D0 xchg dl,al 273F:7537 B1 08 mov cl,8 273F:7539 locloop_1481: ; xref 273F:7530 273F:7539 D1 D2 rcl dx,1 ; Rotate thru carry 273F:753B E2 07 loop locloop_1482 ; Loop if cx > 0 273F:753D 86 D0 xchg dl,al 273F:753F AC lodsb ; String [si] to al 273F:7540 86 D0 xchg dl,al 273F:7542 B1 08 mov cl,8 273F:7544 locloop_1482: ; xref 273F:753B 273F:7544 D1 D2 rcl dx,1 ; Rotate thru carry 273F:7546 E2 07 loop locloop_1483 ; Loop if cx > 0 273F:7548 86 D0 xchg dl,al 273F:754A AC lodsb ; String [si] to al 273F:754B 86 D0 xchg dl,al 273F:754D B1 08 mov cl,8 273F:754F locloop_1483: ; xref 273F:7546 273F:754F D1 D2 rcl dx,1 ; Rotate thru carry nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 285 273F:7551 E2 07 loop locloop_1484 ; Loop if cx > 0 273F:7553 86 D0 xchg dl,al 273F:7555 AC lodsb ; String [si] to al 273F:7556 86 D0 xchg dl,al 273F:7558 B1 08 mov cl,8 273F:755A locloop_1484: ; xref 273F:7551 273F:755A D1 D2 rcl dx,1 ; Rotate thru carry 273F:755C E2 07 loop locloop_1485 ; Loop if cx > 0 273F:755E 86 D0 xchg dl,al 273F:7560 AC lodsb ; String [si] to al 273F:7561 86 D0 xchg dl,al 273F:7563 B1 08 mov cl,8 273F:7565 locloop_1485: ; xref 273F:755C 273F:7565 D1 D2 rcl dx,1 ; Rotate thru carry 273F:7567 E2 07 loop locloop_1486 ; Loop if cx > 0 273F:7569 86 D0 xchg dl,al 273F:756B AC lodsb ; String [si] to al 273F:756C 86 D0 xchg dl,al 273F:756E B1 08 mov cl,8 273F:7570 locloop_1486: ; xref 273F:7567 273F:7570 D1 D2 rcl dx,1 ; Rotate thru carry 273F:7572 E2 07 loop locloop_1487 ; Loop if cx > 0 273F:7574 86 D0 xchg dl,al 273F:7576 AC lodsb ; String [si] to al 273F:7577 86 D0 xchg dl,al 273F:7579 B1 08 mov cl,8 273F:757B locloop_1487: ; xref 273F:7572 273F:757B C3 retn sub_187 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:075E ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:757C show_startup proc near 273F:757C E8 8D3E call validate_header 273F:757F B4 48 mov ah,48h 273F:7581 BB FFFF mov bx,0FFFFh 273F:7584 CD 21 int 21h ; DOS Services ah=function 48h ; allocate memory, bx=bytes/16 273F:7586 81 FB 61A8 cmp bx,61A8h 273F:758A 73 08 jae loc_1488 ; There is enough memory 273F:758C B8 0008 mov ax,8 273F:758F B6 01 mov dh,1 273F:7591 E8 CA10 call display_message ; (3FA4) 273F:7594 loc_1488: ; xref 273F:758A assume ds:data_seg 273F:7594 89 1E 4CFC mov largest_free_block,bx ; (31E4:4CFC=0) 273F:7598 89 1E 4D02 mov buffer_segment_end, bx ; (31E4:4D02=0) 273F:759C B4 48 mov ah,48h 273F:759E CD 21 int 21h ; DOS Services ah=function 48h ; allocate memory, bx=bytes/16 273F:75A0 A3 4D00 mov buffer_segment, ax ; (31E4:4D00=0) 273F:75A3 01 06 4D02 add buffer_segment_end, ax ; (31E4:4D02=0) 273F:75A7 FF 16 0764 call [empty_palette_proc] 273F:75AB B8 0019 mov ax,19h ; Get first palette 273F:75AE E8 C516 call read_palette 273F:75B1 B8 0018 mov ax,18h ; Revolution title image 273F:75B4 E8 059C call read_entry_into_buffer 273F:75B7 E8 05CF call decode_and_fade_in_display 273F:75BA 33 C0 xor ax,ax 273F:75BC E8 D42A call sleep 273F:75BF B8 001A mov ax,1Ah ; Virgin games image load 273F:75C2 E8 058E call read_entry_into_buffer 273F:75C5 B8 0096 mov ax,96h 273F:75C8 E8 D41E call sleep 273F:75CB FF 16 0766 call word ptr [fade_out_proc] 273F:75CF B8 001B mov ax,1Bh 273F:75D2 E8 C4F2 call read_palette 273F:75D5 E8 05B1 call decode_and_fade_in_display 273F:75D8 33 C0 xor ax,ax 273F:75DA E8 D40C call sleep 273F:75DD B8 001E mov ax,1Eh ; Virtual Theatre title 273F:75E0 E8 0570 call read_entry_into_buffer 273F:75E3 B8 0096 mov ax,96h 273F:75E6 E8 D400 call sleep 273F:75E9 FF 16 0766 call word ptr [fade_out_proc] 273F:75ED B8 001F mov ax,1Fh 273F:75F0 E8 C4D4 call read_palette ; (3AC7) 273F:75F3 E8 0593 call decode_and_fade_in_display 273F:75F6 33 C0 xor ax,ax ; Zero register 273F:75F8 E8 D3EE call sleep ; (49E9) 273F:75FB B8 001C mov ax,1Ch ; Lure of the Temptress title 273F:75FE E8 0552 call read_entry_into_buffer 273F:7601 B8 0096 mov ax,96h 273F:7604 E8 D3E2 call sleep 273F:7607 FF 16 0766 call word ptr [fade_out_proc] 273F:760B B8 001D mov ax,1Dh 273F:760E E8 C4B6 call read_palette 273F:7611 E8 0575 call decode_and_fade_in_display 273F:7614 33 C0 xor ax,ax 273F:7616 E8 D3D0 call sleep 273F:7619 F6 06 5660 08 test music_status,8 273F:761E 75 27 jnz loc_1489 273F:7620 B8 000A mov ax,0Ah 273F:7623 8B 0E 4D00 mov cx, buffer_segment ; (31E4:4D00=0) 273F:7627 33 D2 xor dx,dx ; Zero register 273F:7629 89 0E 5664 mov word ptr play_music_proc+2,cx 273F:762D C7 06 5662 0000 mov play_music_proc, 0 273F:7633 8B 1E 4D00 mov bx, buffer_segment ; (31E4:4D00=0) 273F:7637 89 1E 4CE4 mov data_segment2, bx 273F:763B 80 26 11D0 EF and menubar_state, 0EFh ; (31E4:11D0=3) 273F:7640 E8 8CD1 call read_entry ; (0314) 273F:7643 01 16 4D00 add buffer_segment,dx ; (31E4:4D00=0) 273F:7647 loc_1489: ; xref 273F:761E 273F:7647 B8 0096 mov ax,96h 273F:764A E8 D39C call sleep ; (49E9) 273F:764D F6 06 11D0 40 test menubar_state, 40h ; Skip the intro? 273F:7652 75 03 jnz loc_1490 ; Jump if not zero 273F:7654 E8 2C65 call show_introduction ; Run the intro 273F:7657 loc_1490: ; xref 273F:7652 273F:7657 E8 290A call sub_246 ; (9F64) 273F:765A B8 0010 mov ax, 10h ; Load strings resource 273F:765D E8 0514 call read_into_buffer 273F:7660 A3 4CE8 mov strings_segment, ax 273F:7663 B8 0009 mov ax,9 ; Load names resource 273F:7666 E8 050B call read_into_buffer 273F:7669 A3 4CEE mov names_segment, ax 273F:766C B8 0003 mov ax,3 ; Load alternate font 273F:766F E8 0502 call read_into_buffer 273F:7672 A3 4CF0 mov font2_segment, ax 273F:7675 80 0E 073C 02 or status_flags, STATUS_UNKNOWN 273F:767A B8 0001 mov ax, 1 ; Load cursors resource 273F:767D E8 04F4 call read_into_buffer 273F:7680 A3 4CF4 mov cursors_segment, ax 273F:7683 A1 4D00 mov ax, buffer_segment 273F:7686 A3 4CFE mov data_814, ax 273F:7689 E9 0408 jmp load_resources show_startup endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:007A ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:768C sub_189 proc near 273F:768C E8 8B6C call read_and_validate_header 273F:768F úBE B883 mov si, offset animation_block_list 273F:7692 loc_1492: 273F:7692 ú8B 1C mov bx, [si] 273F:7694 0B DB or bx, bx ; End of list? 273F:7696 74 09 jz loc_1493 ; Jump if yes 273F:7698 83 C6 02 add si, 2 273F:769B 80 67 02 F7 and byte ptr [bx+2], 0F7h 273F:769F EB F1 jmp short loc_1492 273F:76A1 loc_1493: 273F:76A1 úBE B883 mov si, offset animation_block_list 273F:76A4 loc_1494: 273F:76A4 ú8B 1C mov bx, [si] 273F:76A6 0B DB or bx, bx ; End of list? 273F:76A8 74 13 jz loc_1495 ; Jump if yes 273F:76AA 83 C6 02 add si,2 273F:76AD F6 47 02 20 test byte ptr [bx+ANIM_FLAGS], 20h ; ' ' 273F:76B1 F6 47 02 02 test byte ptr [bx+ANIM_FLAGS], 2 273F:76B5 74 ED jz loc_1494 ; Jump if zero 273F:76B7 80 4F 02 08 or byte ptr [bx+ANIM_FLAGS], 8 273F:76BB EB E7 jmp short loc_1494 273F:76BD loc_1495: ; xref 273F:76A8 273F:76BD E8 0324 call sub_194 273F:76C0 8B 1E 9832 mov bx, room_number 273F:76C4 E8 9621 call get_room_resource_pointer 273F:76C7 8B 74 06 mov si, [si+6] 273F:76CA 0B F6 or si, si ; Any table set? 273F:76CC 74 20 jz loc_1498 ; Skip if not ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:8FD0 ; si = Offset of table for animation resources for a room 273F:76CE sub_190: 273F:76CE loc_1496: 273F:76CE ú8B 1C mov bx, [si] 273F:76D0 0B DB or bx, bx ; End of list reached? 273F:76D2 74 1A jz loc_1498 ; Jump if yes 273F:76D4 F7 47 03 FFFF test word ptr [bx+3], 0FFFFh 273F:76D9 75 0E jnz loc_1497 ; Jump if not zero 273F:76DB 89 1D mov [di], bx ; Store in output list 273F:76DD 83 C7 02 add di, 2 ; Move to next position 273F:76E0 56 push si 273F:76E1 57 push di 273F:76E2 E8 00FD call animation_decode ; Decode animation 273F:76E5 5F pop di 273F:76E6 5E pop si 273F:76E7 72 0A jc loc_1499 ; Jump if carry Set 273F:76E9 loc_1497: ; xref 273F:76D9 273F:76E9 83 C6 02 add si,2 273F:76EC EB E0 jmp short loc_1496 ; (76CE) 273F:76EE loc_1498: ; xref 273F:76CC, 76D2 273F:76EE C7 05 0000 mov word ptr [di],0 273F:76F2 C3 retn 273F:76F3 loc_1499: ; xref 273F:76E7 273F:76F3 C7 05 0000 mov word ptr [di],0 273F:76F7 E8 00A8 call sub_192 ; (77A2) 273F:76FA 73 90 jnc sub_189 273F:76FC C3 retn sub_189 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:152C, 15D2, 1617 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ animation_resolve_segment proc near 273F:76FD loc_1500: ; xref 273F:7790 273F:76FD ú83 7F 1B FE cmp word ptr [bx+1Bh],0FFFEh 273F:7701 72 05 jb loc_1501 ; Jump if below 273F:7703 BF 5810 mov di, offset voice_anim_block 273F:7706 EB 06 jmp short loc_1502 ; (770E) 273F:7708 loc_1501: 273F:7708 8B 77 19 mov si, [bx+ANIM_HOTSPOT_OFFSET] 273F:770B 8B 7C 21 mov di, [si+HS_PIXEL_OFFSET] ; Loop to see if animation_block_list contains any existing matching entry ; (scanning until a 0 entry is found). If it's found, the segment value at ; word [di+3] is returned 273F:770E loc_1502: 273F:770E 53 push bx 273F:770F úBB B883 mov bx, offset animation_block_list 273F:7712 loc_1503: 273F:7712 ú3B 3F cmp di,[bx] 273F:7714 75 03 jne loc_1504 ; Jump if not equal 273F:7716 E9 0081 jmp loc_1510 ; (779A) 273F:7719 loc_1504: ; xref 273F:7714 273F:7719 F7 07 FFFF test word ptr [bx],0FFFFh 273F:771D 74 05 jz loc_1505 ; Jump if zero 273F:771F 83 C3 02 add bx,2 273F:7722 EB EE jmp short loc_1503 ; At this point, the end of the list at animation_block_list has been reached 273F:7724 loc_1505: ; xref 273F:771D 273F:7724 F6 06 073D 01 test status_flags2, 1 273F:7729 74 03 jz loc_1506 ; Jump if zero 273F:772B 5B pop bx 273F:772C EB 5C jmp short loc_1507 ; (778A) ; The following code seems to be responsible for preparing the data. Perhaps ; uncompressing it the first time from some source? 273F:772E loc_1506: ; xref 273F:7729 273F:772E 53 push bx 273F:772F 57 push di 273F:7730 8B DF mov bx,di 273F:7732 E8 00AD call animation_decode 273F:7735 5F pop di 273F:7736 5E pop si 273F:7737 73 5A jnc loc_1509 ; Jump if carry=0 273F:7739 E8 0066 call sub_192 ; (77A2) 273F:773C 73 51 jnc loc_1508 ; Jump if carry=0 273F:773E 5B pop bx 273F:773F 81 7F 1B 03E9 cmp word ptr [bx+ANIM_HOTSPOT_ID], RATPOUCH_HOTSPOT_ID 273F:7744 72 44 jb loc_1507 ; Jump if below 273F:7746 81 7F 1B 0408 cmp word ptr [bx+ANIM_HOTSPOT_ID], FIRST_OBJECT_HOTSPOT_ID 273F:774B 73 3D jae loc_1507 ; Jump if above or = 273F:774D 83 7F 0E 2A cmp word ptr [bx+ANIM_ROOM_NUM], 2Ah 273F:7751 73 37 jae loc_1507 ; Jump if above or = 273F:7753 8B 77 19 mov si, [bx+ANIM_HOTSPOT_OFFSET] 273F:7756 8B FB mov di, bx 273F:7758 E8 CC2C call character_pathfind_clear 273F:775B C7 44 06 0018 mov word ptr [si+HS_ROOM_NUM], 24 273F:7760 C7 47 0E 0018 mov word ptr [bx+ANIM_ROOM_NUM], 24 273F:7765 C7 44 0D 00C0 mov word ptr [si+HS_X], 80h + 64 273F:776A C7 07 00C0 mov word ptr [bx+ANIM_X], 80h + 64 273F:776E C7 44 0F 00F4 mov word ptr [si+HS_Y], 80h + 74h 273F:7773 C7 47 02 00F4 mov word ptr [bx+ANIM_Y], 80h + 74h 273F:7778 C6 06 4F8A 01 mov data_817, 1 273F:777D 53 push bx 273F:777E 8B DE mov bx,si 273F:7780 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:7783 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:7786 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:7789 5B pop bx 273F:778A loc_1507: 273F:778A 33 C0 xor ax,ax ; Couldn't resolve 273F:778C F9 stc ; Flag error occurred 273F:778D EB 0F jmp short loc_1511 273F:778F loc_1508: ; xref 273F:773C 273F:778F 5B pop bx 273F:7790 E9 FF6A jmp loc_1500 ; (76FD) 273F:7793 loc_1509: ; xref 273F:7737 273F:7793 89 3C mov [si], di 273F:7795 C7 44 02 0000 mov word ptr [si+2],0 273F:779A loc_1510: ; xref 273F:7716 273F:779A 5B pop bx 273F:779B 8B 45 03 mov ax, [di+3] 273F:779E loc_1511: 273F:779E 89 47 0A mov [bx+ANIM_SEGMENT], ax ; Save segment 273F:77A1 C3 retn animation_resolve_segment endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:76F7, 7739 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:77A2 sub_192 proc near 273F:77A2 úBE B883 mov si, offset animation_block_list 273F:77A5 loc_1512: ; xref 273F:77B2, 77B8 273F:77A5 ú8B 1C mov bx,[si] 273F:77A7 0B DB or bx,bx ; Zero ? 273F:77A9 74 0F jz loc_1513 ; Jump if zero 273F:77AB 83 C6 02 add si,2 273F:77AE F6 47 02 21 test byte ptr [bx+PIXEL_FLAGS], 21h ; '!' 273F:77B2 75 F1 jnz loc_1512 ; Jump if not zero 273F:77B4 80 4F 02 08 or byte ptr [bx+PIXEL_FLAGS], 8 273F:77B8 EB EB jmp short loc_1512 ; (77A5) 273F:77BA loc_1513: ; xref 273F:77A9 273F:77BA úBF B14E mov di, offset animation_table 273F:77BD 8B 16 9832 mov dx, room_number 273F:77C1 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:77C4 locloop_1514: ; xref 273F:77DC 273F:77C4 F6 45 0C FF test byte ptr [di+ANIM_LAYER], 0FFh 273F:77C8 74 0F jz loc_1515 ; Jump if zero 273F:77CA 3B 55 0E cmp dx, [di+ANIM_ROOM_NUM] 273F:77CD 75 0A jne loc_1515 ; Jump if not equal 273F:77CF 8B 75 19 mov si, [di+ANIM_HOTSPOT_OFFSET] 273F:77D2 8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:77D5 80 67 02 F7 and byte ptr [bx+PIXEL_FLAGS], 0F7h 273F:77D9 loc_1515: 273F:77D9 83 C7 29 add di, ANIMATION_SLOT_SIZE 273F:77DC E2 E6 loop locloop_1514 ; Loop if cx > 0 273F:77DE E8 0203 call sub_194 ; (79E4) 273F:77E1 C3 retn sub_192 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:3D28, 76E2, 7732 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ animation_decode proc near 273F:77E2 80 3E 0786 02 cmp byte ptr ds:[drive_number],2 ; (273F:0786=0E8h) 273F:77E7 73 05 jae loc_1516 ; Jump if above or = 273F:77E9 53 push bx 273F:77EA E8 A772 call show_disk_cursor 273F:77ED 5B pop bx 273F:77EE loc_1516: ; xref 273F:77E7 273F:77EE 8B 07 mov ax,[bx] 273F:77F0 53 push bx 273F:77F1 E8 8BF2 call get_entry_size 273F:77F4 5B pop bx 273F:77F5 8B 0E 4D02 mov cx, buffer_segment_end 273F:77F9 2B CA sub cx,dx 273F:77FB 83 E9 08 sub cx,8 273F:77FE 3B 0E 4D00 cmp cx, buffer_segment 273F:7802 73 02 jae loc_1517 ; Jump if above or = 273F:7804 F9 stc ; Set carry flag 273F:7805 C3 retn 273F:7806 loc_1517: ; xref 273F:7802 273F:7806 89 0E 4D04 mov anim_src_segment2, cx 273F:780A 89 0E 4D06 mov anim_src_segment, cx 273F:780E 8B 07 mov ax,[bx] ; Get anim resource id 273F:7810 33 D2 xor dx,dx ; Read into cx:dx 273F:7812 53 push bx 273F:7813 E8 8AFE call read_entry 273F:7816 01 16 4D06 add anim_src_segment, dx ; Save end of animation 273F:781A 1E push ds 273F:781B A1 4D06 mov ax, anim_src_segment 273F:781E 8E C0 mov es,ax 273F:7820 A1 4D04 mov ax, anim_src_segment2 273F:7823 8E D8 mov ds,ax 273F:7825 8B 0E 0000 mov cx,ds:[0] ; Get in # table entries 273F:7829 26: 89 0E 0000 mov es:[0], cx ; Store # entries 273F:782E B5 05 mov ch,5 273F:7830 86 E9 xchg ch,cl 273F:7832 BE 0002 mov si, 2 ; Point to table start 273F:7835 8B FE mov di,si ; Point to dest table data 273F:7837 33 D2 xor dx,dx 273F:7839 loc_1518: 273F:7839 AD lodsw ; String [si] to ax 273F:783A AB stosw ; Store ax to es:[di] 273F:783B 05 001F add ax,1Fh 273F:783E D3 E8 shr ax,cl ; Shift w/zeros fill 273F:7840 03 D0 add dx,ax 273F:7842 80 ED 01 sub ch,1 273F:7845 75 F2 jnz loc_1518 ; Jump if not zero ; At this point the entire header has been copied from ds:0 to es:0, and ; dx = summation : foreach header value -> (value + 0x1f) / 32 273F:7847 1F pop ds 273F:7848 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:784D 75 0B jne loc_1519 ; Jump if not equal 273F:784F 8B C2 mov ax,dx 273F:7851 05 0003 add ax,3 273F:7854 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:7856 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:7858 03 D0 add dx,ax 273F:785A loc_1519: ; xref 273F:784D 273F:785A 81 C2 0081 add dx,81h ; Add extra needed amount 273F:785E 8B 0E 4D00 mov cx, buffer_segment 273F:7862 03 CA add cx,dx 273F:7864 3B 0E 4D02 cmp cx, buffer_segment_end ; Enough room? 273F:7868 72 03 jb loc_1520 ; Yes, so carry on 273F:786A 5E pop si ; There won't be space left 273F:786B F9 stc ; Flag error 273F:786C C3 retn 273F:786D loc_1520: 273F:786D A1 4D00 mov ax, buffer_segment 273F:7870 8E C0 mov es,ax 273F:7872 8B 16 4D04 mov dx, anim_src_segment2 273F:7876 E8 FABB call animation_decode_inner 273F:7879 5E pop si ; Retrieve anim rec ptr 273F:787A 89 7C 05 mov [si+PIXEL_DATA_SIZE], di ; Store size of decoded rsc? 273F:787D 83 6C 05 40 sub word ptr [si+PIXEL_DATA_SIZE], 40h ; ??? 273F:7881 33 FF xor di, di 273F:7883 F6 44 02 04 test byte ptr [si+PIXEL_FLAGS], PIXELFLAG_HAS_TABLE 273F:7887 74 34 jz loc_1523 ; Skip if not 273F:7889 56 push si 273F:788A 1E push ds 273F:788B 8A 16 0742 mov dl, video_style 273F:788F A1 4D06 mov ax, anim_src_segment 273F:7892 8E D8 mov ds, ax 273F:7894 úBE 0002 mov si, 2 ; Offset of 1st header entry 273F:7897 8B 0E 0000 mov cx, ds:[0] ; Get number of entries 273F:789B 8B E9 mov bp, cx 273F:789D D1 E5 shl bp, 1 273F:789F locloop_1521: 273F:789F 26: 89 2D mov es:[di],bp 273F:78A2 83 C7 02 add di,2 273F:78A5 8B 04 mov ax,[si] 273F:78A7 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:78A9 83 C6 02 add si,2 273F:78AC 03 E8 add bp,ax 273F:78AE 80 FA 01 cmp dl, VIDEO_STYLE_VGA 273F:78B1 74 06 je loc_1522 ; Jump if equal 273F:78B3 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:78B5 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:78B7 03 E8 add bp,ax 273F:78B9 loc_1522: ; xref 273F:78B1 273F:78B9 E2 E4 loop locloop_1521 ; Loop if cx > 0 273F:78BB 1F pop ds 273F:78BC 5E pop si 273F:78BD loc_1523: ; xref 273F:7887 273F:78BD 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:78C2 74 58 je loc_1525 ; Jump if equal 273F:78C4 8B 4C 05 mov cx, [si+PIXEL_DATA_SIZE]; Get size of file 273F:78C7 D1 E9 shr cx, 1 ; Divide by 2 for # words 273F:78C9 56 push si 273F:78CA úBE 0040 mov si, 40h 273F:78CD A1 4D00 mov ax, buffer_segment 273F:78D0 8E C0 mov es, ax 273F:78D2 1E push ds 273F:78D3 8E D8 mov ds, ax ; Copy the decoded data from offset 40h back to offset 0h. This will discard ; the 40h byte header that was used during the decoding process 273F:78D5 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:78D7 1F pop ds 273F:78D8 5E pop si 273F:78D9 8B C7 mov ax,di 273F:78DB 89 44 05 mov [si+PIXEL_DATA_SIZE], ax ; Store new size 273F:78DE 8B D0 mov dx, ax 273F:78E0 83 EA 01 sub dx, 1 273F:78E3 D1 EA shr dx, 1 273F:78E5 D1 EA shr dx, 1 273F:78E7 D1 EA shr dx, 1 273F:78E9 D1 EA shr dx, 1 273F:78EB 83 C2 01 add dx, 1 ; # paragraphs + 1 273F:78EE 51 push cx 273F:78EF 8B CA mov cx, dx 273F:78F1 03 0E 4D00 add cx, buffer_segment 273F:78F5 3B 0E 4D02 cmp cx, buffer_segment_end ; Fit within memory? 273F:78F9 59 pop cx 273F:78FA 72 02 jc loc_1524 ; Jump if yes 273F:78FC F9 stc ; Set carry to flag error 273F:78FD C3 retn 273F:78FE loc_1524: 273F:78FE 8B 2E 4D00 mov bp, buffer_segment 273F:7902 01 16 4D00 add buffer_segment, dx 273F:7906 A1 4D06 mov ax, anim_src_segment ; Get ptr to copy of 273F:7909 8E C0 mov es,ax ; anim table header 273F:790B 26: A1 0002 mov ax, es:[2] ; Get 1st entry size 273F:790F D1 E8 shr ax, 1 ; Get number of words 273F:7911 89 44 07 mov [si+PIXEL_FRAME_SIZE], ax ; Store frame size 273F:7914 89 6C 03 mov [si+PIXEL_DATA_SEGMENT], bp 273F:7917 E8 01F4 call animation_decode_2 273F:791A F8 clc ; Clear carry flag 273F:791B C3 retn ; Start of post processing code for when in EGA mode 273F:791C loc_1525: 273F:791C 8B 4C 05 mov cx, [si+5] 273F:791F 8B C1 mov ax, cx 273F:7921 D1 E8 shr ax, 1 273F:7923 D1 E8 shr ax, 1 273F:7925 01 44 05 add [si+PIXEL_DATA_SIZE], ax 273F:7928 03 C1 add ax, cx 273F:792A 05 000F add ax, 0Fh 273F:792D D1 E8 shr ax, 1 273F:792F D1 E8 shr ax, 1 273F:7931 D1 E8 shr ax, 1 273F:7933 D1 E8 shr ax, 1 273F:7935 01 06 4D00 add buffer_segment, ax 273F:7939 D1 E9 shr cx, 1 273F:793B 06 push es 273F:793C A1 4D06 mov ax, anim_src_segment 273F:793F 8E C0 mov es, ax 273F:7941 26: A1 0002 mov ax, es:[2] 273F:7945 D1 E8 shr ax, 1 273F:7947 D1 E8 shr ax, 1 273F:7949 26: 03 06 0002 add ax, es:[2] 273F:794E D1 E8 shr ax, 1 273F:7950 89 44 07 mov [si+PIXEL_FRAME_SIZE], ax 273F:7953 07 pop es 273F:7954 1E push ds 273F:7955 8C C0 mov ax,es 273F:7957 89 44 03 mov [si+PIXEL_DATA_SEGMENT], ax 273F:795A 8E D8 mov ds, ax 273F:795C úBE 0040 mov si, 40h 273F:795F 57 push di 273F:7960 F3/ A5 rep movsw 273F:7962 8B D7 mov dx, di 273F:7964 5F pop di 273F:7965 1F pop ds 273F:7966 1E push ds 273F:7967 A1 4D06 mov ax, anim_src_segment 273F:796A 8E D8 mov ds, ax 273F:796C 8B 0E 0000 mov cx, ds:[0] 273F:7970 úBE 0002 mov si, 2 273F:7973 83 EF 01 sub di, 1 273F:7976 locloop_1526: 273F:7976 AD lodsw 273F:7977 D1 E8 shr ax, 1 273F:7979 50 push ax 273F:797A 03 F8 add di, ax 273F:797C 57 push di 273F:797D D1 E8 shr ax, 1 273F:797F D1 E8 shr ax, 1 273F:7981 03 F8 add di, ax 273F:7983 57 push di 273F:7984 E2 F0 loop locloop_1526 ; Loop if cx > 0 273F:7986 8B F2 mov si,dx 273F:7988 83 EE 01 sub si,1 273F:798B 8B 16 0000 mov dx, ds:[0] 273F:798F 06 push es 273F:7990 1F pop ds 273F:7991 FD std ; Set direction flag 273F:7992 loc_1527: ; xref 273F:79B4 273F:7992 5B pop bx 273F:7993 5F pop di 273F:7994 59 pop cx 273F:7995 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:7997 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:7999 locloop_1528: ; xref 273F:79AF 273F:7999 AC lodsb ; String [si] to al 273F:799A 8A E0 mov ah,al 273F:799C AA stosb ; Store al to es:[di] 273F:799D AC lodsb ; String [si] to al 273F:799E 0A E0 or ah,al 273F:79A0 AA stosb ; Store al to es:[di] 273F:79A1 AC lodsb ; String [si] to al 273F:79A2 0A E0 or ah,al 273F:79A4 AA stosb ; Store al to es:[di] 273F:79A5 AC lodsb ; String [si] to al 273F:79A6 0A E0 or ah,al 273F:79A8 AA stosb ; Store al to es:[di] 273F:79A9 26: 88 27 mov es:[bx],ah 273F:79AC 83 EB 01 sub bx,1 273F:79AF E2 E8 loop locloop_1528 ; Loop if cx > 0 273F:79B1 83 EA 01 sub dx,1 273F:79B4 75 DC jnz loc_1527 ; Jump if not zero 273F:79B6 1F pop ds 273F:79B7 FC cld ; Clear direction 273F:79B8 F8 clc ; Clear carry flag 273F:79B9 C3 retn animation_decode endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_deactivate_hotspot_set proc near 273F:79BA D1 E3 shl bx,1 273F:79BC 8B B7 13CA mov si, [hotspot_dealloc_table][bx] 273F:79C0 loc_1529: 273F:79C0 úAD lodsw ; String [si] to ax 273F:79C1 0B C0 or ax,ax ; Zero ? 273F:79C3 74 1D jz loc_ret_1530 ; Jump if zero 273F:79C5 56 push si 273F:79C6 8B D8 mov bx,ax 273F:79C8 E8 931D call get_room_resource_pointer 273F:79CB 5B pop bx 273F:79CC 87 DE xchg bx, si 273F:79CE 8B 7F 0B mov di, [bx+HS_ANIM_OFFSET] 273F:79D1 0B FF or di, di ; Zero ? 273F:79D3 74 EB jz loc_1529 ; Jump if zero 273F:79D5 33 C0 xor ax,ax ; Zero register 273F:79D7 88 45 0C mov [di+ANIM_LAYER], al 273F:79DA 89 45 1B mov [di+ANIM_HOTSPOT_ID], ax 273F:79DD 89 47 0B mov [bx+HS_ANIM_OFFSET], ax 273F:79E0 EB DE jmp short loc_1529 ; (79C0) 273F:79E2 loc_ret_1530: ; xref 273F:79C3 273F:79E2 C3 retn seq_deactivate_hotspot_set endp 273F:79E3 00 data_401 db 0 ; xref 273F:79E4, 7A4F, 7A8A ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:76BD, 77DE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:79E4 sub_194 proc near 273F:79E4 2E: C6 06 79E3 00 mov cs:data_401,0 ; (273F:79E3=0) 273F:79EA úBE B883 mov si, offset animation_block_list 273F:79ED 8B FE mov di,si 273F:79EF 8B 2E 4CFA mov bp,data_812 ; (31E4:4CFA=0) 273F:79F3 loc_1531: ; xref 273F:7A10, 7A33, 7A48, 7A55 273F:79F3 úAD lodsw ; String [si] to ax 273F:79F4 0B C0 or ax,ax ; Zero ? 273F:79F6 74 5F jz loc_1534 ; Jump if zero 273F:79F8 8B D8 mov bx,ax 273F:79FA F6 47 02 08 test byte ptr [bx+2],8 273F:79FE 75 4A jnz loc_1532 ; Jump if not zero 273F:7A00 F7 47 03 FFFF test word ptr [bx+3],0FFFFh 273F:7A05 74 48 jz loc_1533 ; Jump if zero 273F:7A07 89 1D mov [di],bx 273F:7A09 83 C7 02 add di,2 273F:7A0C F6 47 02 20 test byte ptr [bx+2],20h ; ' ' 273F:7A10 75 E1 jnz loc_1531 ; Jump if not zero 273F:7A12 8B 47 03 mov ax,[bx+3] 273F:7A15 8E C5 mov es,bp 273F:7A17 89 6F 03 mov [bx+3],bp 273F:7A1A 8B 4F 05 mov cx,[bx+5] 273F:7A1D 8B D1 mov dx,cx 273F:7A1F 83 EA 01 sub dx,1 273F:7A22 D1 EA shr dx,1 ; Shift w/zeros fill 273F:7A24 D1 EA shr dx,1 ; Shift w/zeros fill 273F:7A26 D1 EA shr dx,1 ; Shift w/zeros fill 273F:7A28 D1 EA shr dx,1 ; Shift w/zeros fill 273F:7A2A 83 C2 01 add dx,1 273F:7A2D 03 EA add bp,dx 273F:7A2F 8C C2 mov dx,es 273F:7A31 3B C2 cmp ax,dx 273F:7A33 74 BE je loc_1531 ; Jump if equal 273F:7A35 1E push ds 273F:7A36 56 push si 273F:7A37 57 push di 273F:7A38 33 F6 xor si,si ; Zero register 273F:7A3A 33 FF xor di,di ; Zero register 273F:7A3C 8E D8 mov ds,ax 273F:7A3E 83 C1 01 add cx,1 273F:7A41 D1 E9 shr cx,1 ; Shift w/zeros fill 273F:7A43 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:7A45 5F pop di 273F:7A46 5E pop si 273F:7A47 1F pop ds 273F:7A48 EB A9 jmp short loc_1531 ; (79F3) 273F:7A4A loc_1532: ; xref 273F:79FE 273F:7A4A C7 47 03 0000 mov word ptr [bx+3],0 273F:7A4F loc_1533: ; xref 273F:7A05 273F:7A4F 2E: C6 06 79E3 01 mov cs:data_401,1 ; (273F:79E3=0) 273F:7A55 EB 9C jmp short loc_1531 ; (79F3) 273F:7A57 loc_1534: ; xref 273F:79F6 273F:7A57 C7 05 0000 mov word ptr [di],0 273F:7A5B 89 2E 4D00 mov buffer_segment, bp ; (31E4:4D00=0) ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:7B0A, 8FD3 273F:7A5F sub_195: 273F:7A5F 57 push di 273F:7A60 úBE B14E mov si, offset animation_table 273F:7A63 B9 002D mov cx, NUM_ANIMATION_SLOTS 273F:7A66 locloop_1535: ; xref 273F:7A86 273F:7A66 F6 44 0C FF test byte ptr [si+0Ch],0FFh 273F:7A6A 74 17 jz loc_1538 ; Jump if zero 273F:7A6C 83 7C 1B FE cmp word ptr [si+1Bh],0FFFEh 273F:7A70 72 05 jb loc_1536 ; Jump if below 273F:7A72 úBF 5810 mov di, offset voice_anim_block 273F:7A75 EB 06 jmp short loc_1537 ; (7A7D) 273F:7A77 loc_1536: ; xref 273F:7A70 273F:7A77 8B 7C 19 mov di,[si+19h] 273F:7A7A 8B 7D 21 mov di,[di+21h] 273F:7A7D loc_1537: ; xref 273F:7A75 273F:7A7D 8B 45 03 mov ax,[di+3] 273F:7A80 89 44 0A mov [si+0Ah],ax 273F:7A83 loc_1538: ; xref 273F:7A6A 273F:7A83 83 C6 29 add si,29h 273F:7A86 E2 DE loop locloop_1535 ; Loop if cx > 0 273F:7A88 5F pop di 273F:7A89 F8 clc ; Clear carry flag assume ds:seg_code 273F:7A8A 2E: F6 06 79E3 FF test cs:data_401,0FFh ; (273F:79E3=0) 273F:7A90 75 01 jnz loc_ret_1539 ; Jump if not zero 273F:7A92 F9 stc ; Set carry flag 273F:7A93 loc_ret_1539: ; xref 273F:7A90 273F:7A93 C3 retn sub_194 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A651, A6AE, A700 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7A94 load_resources proc near 273F:7A94 A1 4CFE mov ax, data_814 273F:7A97 A3 4D00 mov buffer_segment, ax 273F:7A9A A3 4CE0 mov current_room_segment, ax 273F:7A9D A3 4CE2 mov data_segment, ax 273F:7AA0 05 2146 add ax,2146h 273F:7AA3 A3 4CE4 mov data_segment2, ax 273F:7AA6 05 0FA0 add ax, 0FA0h 273F:7AA9 A3 4CE6 mov talk_dialog_buffer, ax 273F:7AAC 05 0340 add ax,340h 273F:7AAF A3 4D00 mov buffer_segment, ax 273F:7AB2 B8 0004 mov ax,4 ; Read font data 273F:7AB5 E8 00BC call read_into_buffer 273F:7AB8 A3 4CF2 mov font_segment, ax 273F:7ABB B8 0005 mov ax,5 ; Read menubar 273F:7ABE 8B 0E 4CE2 mov cx,data_segment 273F:7AC2 BA 0080 mov dx,80h 273F:7AC5 E8 884C call read_entry 273F:7AC8 A1 4D00 mov ax,buffer_segment 273F:7ACB 8E C0 mov es,ax 273F:7ACD 8B 16 4CE2 mov dx,data_segment 273F:7AD1 FF 16 077C call [decode_entry_proc] 273F:7AD5 A1 4D00 mov ax,buffer_segment ; (31E4:4D00=0) 273F:7AD8 A3 4CF6 mov data_810,ax ; (31E4:4CF6=0) 273F:7ADB 8B 16 074C mov dx, menubar_block_size 273F:7ADF B1 04 mov cl,4 273F:7AE1 D3 EA shr dx,cl ; Shift w/zeros fill 273F:7AE3 01 16 4D00 add buffer_segment, dx ; (31E4:4D00=0) 273F:7AE7 A1 4D00 mov ax,buffer_segment ; (31E4:4D00=0) 273F:7AEA A3 4CF8 mov data_811,ax ; (31E4:4CF8=0) 273F:7AED E8 00D1 call load_string_resources 273F:7AF0 A1 4D00 mov ax,buffer_segment ; (31E4:4D00=0) 273F:7AF3 8B 16 4D02 mov dx,buffer_segment_end ; (31E4:4D02=0) 273F:7AF7 2B D0 sub dx,ax 273F:7AF9 81 FA 186A cmp dx,186Ah 273F:7AFD 73 08 jae loc_1541 ; Jump if above or = 273F:7AFF B8 0008 mov ax,8 273F:7B02 B6 01 mov dh,1 273F:7B04 E8 C49D call display_message ; (3FA4) 273F:7B07 loc_1541: ; xref 273F:7AFD 273F:7B07 E8 9998 call sub_45 ; (14A2) 273F:7B0A E8 FF52 call sub_195 ; (7A5F) 273F:7B0D C3 retn load_resources endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7917 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ animation_decode_2 proc near 273F:7B0E F6 44 02 10 test byte ptr [si+PIXEL_FLAGS], 10h 273F:7B12 74 3E jz loc_ret_1542 ; Jump if zero 273F:7B14 B8 2146 mov ax, 2146h 273F:7B17 03 06 4CE0 add ax, current_room_segment 273F:7B1B 2B 06 4CE2 sub ax, data_segment 273F:7B1F 8B 5C 05 mov bx, [si+PIXEL_DATA_SIZE] 273F:7B22 83 C3 0F add bx, 0Fh 273F:7B25 B1 04 mov cl, 4 273F:7B27 D3 EB shr bx, cl ; Shift w/zeros fill 273F:7B29 3B D8 cmp bx, ax 273F:7B2B 73 25 jae loc_ret_1542 ; Jump if above or = 273F:7B2D 80 4C 02 20 or byte ptr [si+PIXEL_FLAGS], 20h 273F:7B31 1E push ds 273F:7B32 A1 4CE2 mov ax, data_segment 273F:7B35 01 1E 4CE2 add data_segment, bx 273F:7B39 8E C0 mov es, ax 273F:7B3B 8B 4C 05 mov cx, [si+PIXEL_DATA_SIZE] 273F:7B3E D1 E9 shr cx, 1 ; Shift w/zeros fill 273F:7B40 87 44 03 xchg [si+PIXEL_DATA_SEGMENT], ax 273F:7B43 A3 4D00 mov buffer_segment, ax 273F:7B46 8E D8 mov ds, ax 273F:7B48 56 push si 273F:7B49 33 F6 xor si, si 273F:7B4B 33 FF xor di, di 273F:7B4D F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:7B4F 5E pop si 273F:7B50 1F pop ds 273F:7B51 C3 retn 273F:7B52 loc_ret_1542: 273F:7B52 C3 retn animation_decode_2 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:75B4, 75C2, 75E0, 75FE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ read_entry_into_buffer proc near 273F:7B53 8B 0E 4D00 mov cx, buffer_segment 273F:7B57 89 0E 4CE4 mov data_segment2, cx 273F:7B5B BA 0080 mov dx, 80h 273F:7B5E 80 26 11D0 EF and menubar_state, 0EFh 273F:7B63 E8 87AE call read_entry 273F:7B66 C3 retn read_entry_into_buffer endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A2BF, A2E9 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7B67 read_into_buffer_2 proc near 273F:7B67 8B 0E 4D00 mov cx,buffer_segment ; (31E4:4D00=0) 273F:7B6B 89 0E 4CE4 mov data_segment2, cx 273F:7B6F 80 26 11D0 EF and menubar_state, 0EFh ; (31E4:11D0=3) ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:765D, 7666, 766F, 767D, 7AB5, 7BCB, 7BDB 273F:7B74 read_into_buffer: 273F:7B74 8B 0E 4D00 mov cx,buffer_segment ; (31E4:4D00=0) 273F:7B78 33 D2 xor dx,dx ; Zero register 273F:7B7A 80 26 11D0 EF and menubar_state, 0EFh ; (31E4:11D0=3) 273F:7B7F 51 push cx 273F:7B80 E8 8791 call read_entry ; (0314) 273F:7B83 01 16 4D00 add buffer_segment, dx ; (31E4:4D00=0) 273F:7B87 58 pop ax 273F:7B88 C3 retn read_into_buffer_2 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:75B7, 75D5, 75F3, 7611 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7B89 decode_and_fade_in_display proc near 273F:7B89 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:7B8E 74 10 je loc_1543 ; Jump if equal 273F:7B90 B8 A000 mov ax, VGA_SEGMENT 273F:7B93 8E C0 mov es,ax 273F:7B95 8B 16 4D00 mov dx, buffer_segment ; decode loaded file entry 273F:7B99 E8 BDEE call decode_file_entry ; (398A) 273F:7B9C FF 26 0760 jmp word ptr [fade_in_proc] 273F:7BA0 loc_1543: ; xref 273F:7B8E 273F:7BA0 8B 16 4D00 mov dx, buffer_segment ; (31E4:4D00=0) 273F:7BA4 8B C2 mov ax,dx 273F:7BA6 05 0FA0 add ax,0FA0h 273F:7BA9 A3 4CE4 mov data_segment2, ax 273F:7BAC 05 0050 add ax,50h 273F:7BAF 8E C0 mov es,ax 273F:7BB1 E8 A8B6 call ega_decode_entry 273F:7BB4 E8 8DAA call clear_hotspot_rects 273F:7BB7 E8 F44B call menubar_clear_image 273F:7BBA E8 A49F call ega_show_menu 273F:7BBD FF 26 0760 jmp word ptr [fade_in_proc] decode_and_fade_in_display endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7AED, 8FAF, 93AC ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7BC1 load_string_resources proc near assume ds:seg_code 273F:7BC1 83 3E 9832 2A cmp room_number, 2Ah 273F:7BC6 73 09 jae loc_1544 ; Jump if above or = 273F:7BC8 B8 0011 mov ax,11h 273F:7BCB E8 FFA6 call read_into_buffer ; (7B74) 273F:7BCE A3 4CEA mov strings_segment_2, ax 273F:7BD1 loc_1544: ; xref 273F:7BC6 273F:7BD1 83 3E 9832 2A cmp room_number, 2Ah 273F:7BD6 72 09 jb loc_1545 ; Jump if below 273F:7BD8 B8 0012 mov ax,12h 273F:7BDB E8 FF96 call read_into_buffer ; (7B74) 273F:7BDE A3 4CEC mov strings_segment_3, ax 273F:7BE1 loc_1545: ; xref 273F:7BD6 273F:7BE1 A1 4D00 mov ax, buffer_segment 273F:7BE4 A3 4CFA mov word ptr ds:[4CFAh],ax ; (273F:4CFA=0C183h) 273F:7BE7 C3 retn load_string_resources endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7FF7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_character_in_room proc near 0C07:7BE8 C7 06 BA1F 0000 mov general_val, 0 0C07:7BEE 81 FB 03E8 cmp bx, PLAYER_HOTSPOT_ID 0C07:7BF2 72 E jb loc_ret_1546 0C07:7BF4 E8 F1 90 call get_room_resource_pointer 0C07:7BF7 3B 4C 06 cmp cx, [si+HS_ROOM_NUM] 0C07:7BFA 75 06 jnz loc_ret_1546 0C07:7BFC C7061FBA0100 mov general_val, 1 0C07:7C02 C3 loc_ret_1546: ret seq_character_in_room endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7FF7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7C03 hotspot_disable proc near 273F:7C03 E8 90E2 call get_room_resource_pointer 273F:7C06 80 64 03 7F and byte ptr [si+HS_FLAGS], 7Fh 273F:7C0A C3 retn hotspot_disable endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:60B5 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7C0B hotspot_enable proc near 273F:7C0B E8 90DA call get_room_resource_pointer 273F:7C0E 80 4C 03 80 or byte ptr [si+HS_FLAGS], 80h 273F:7C12 C3 retn hotspot_enable endp 273F:7C13 00 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ follower_tick_proc proc near 0C07:7C14 8B DE mov bx, si 0C07:7C16 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 0C07:7C19 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 0C07:7C1C F7 06 BA5F FFFF test script_val_37, 0FFFFh 0C07:7C22 75 38 jnz loc_1548_2 0C07:7C24 8B DE mov bx, si 0C07:7C26 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 0C07:7C29 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 0C07:7C2C F7 44 61 FFFF test word ptr [si+HS_ACTION_OFFSET], 0FFFFh 0C07:7C31 75 29 jnz loc_1548_2 0C07:7C33 8B 47 03 mov ax, [bx+CURRENT_ACTION_ROOM_NUM] 0C07:7C36 3B 44 06 cmp ax, [si+HS_ROOM_NUM] 0C07:7C39 74 21 jz loc_1548_2 0C07:7C3B A1 6CF5 mov ax, [player_hotspot_rec+HS_ROOM_NUM] ; The code below seems to use a lookup table for setting Ratpouch's destination ; to be certain different room numbers if the player is in certain rooms 0C07:7C3E 53 push bx 0C07:7C3F 81 7D 1B 03EF cmp word ptr [di+ANIM_HOTSPOT_ID], GOEWIN_HOTSPOT_ID 0C07:7C44 74 12 jz loc_1548 0C07:7C46 BB 4F6D mov bx, offset follower_room_translate_list - 4 0C07:7C49 83 C3 02 add bx, 2 273F:7C49 loc_1547: ; xref 273F:7C53 273F:7C49 83 C3 02 add bx, 2 273F:7C4C F6 07 FF test byte ptr [bx], 0FFh 273F:7C4F 74 07 jz loc_1548 ; Jump if zero 273F:7C51 3A 07 cmp al, [bx] ; Player's room #? 273F:7C53 75 F4 jne loc_1547 ; Jump if not equal 273F:7C55 8A 47 01 mov al, [bx+1] ; Get new room # 273F:7C58 loc_1548: 273F:7C58 5B pop bx 273F:7C59 89 47 03 mov [bx+CURRENT_ACTION_ROOM_NUM], ax 273F:7C5C 8A 44 44 loc_1548_2: mov al, [si+HS_CHAR_MODE] 273F:7C5F 3C 02 cmp al, CHARMODE_IDLE 273F:7C61 75 35 jne loc_1550 ; Jump if not equal 273F:7C63 F6 06 4F8A FF test data_817, 0FFh 273F:7C68 74 24 jz loc_1549 ; Jump if zero 273F:7C6A C6 06 4F8A 00 mov data_817, 0 273F:7C6F 83 44 61 05 add word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:7C73 83 C3 05 add bx, CURRENT_ACTION_RECORD_SIZE 273F:7C76 C6 44 4D 00 mov byte ptr [si+HS_V4D], 0 273F:7C7A C7 47 01 13C2 mov word ptr [bx+CURRENT_ACTION_SUPPORT_TABLE], 13C2h 273F:7C7F C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:7C82 C7 47 03 0007 mov word ptr [bx+CURRENT_ACTION_ROOM_NUM], 7 273F:7C87 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:7C8B E9 D2F4 jmp standard_character_tick_proc 273F:7C8E loc_1549: ; xref 273F:7C68 273F:7C8E F6 44 FF FF test byte ptr [si-1], 0FFh 273F:7C92 74 07 jz loc_1551 ; Jump if zero 273F:7C94 80 6C FF 01 sub byte ptr [si-1], 1 273F:7C98 loc_1550: ; xref 273F:7C61 273F:7C98 E9 D2E7 jmp standard_character_tick_proc 273F:7C9B loc_1551: ; xref 273F:7C92 273F:7C9B 8B 5C 06 mov bx, [si+HS_ROOM_NUM] 273F:7C9E 83 EB 01 sub bx, 1 273F:7CA1 D1 E3 shl bx, 1 273F:7CA3 ú81 C3 4D10 add bx, 4D10h 273F:7CA7 8B 1F mov bx, [bx] 273F:7CA9 8A 0F mov cl, [bx] 273F:7CAB 0A C9 or cl, cl ; Zero ? 273F:7CAD 74 25 jz loc_1554 ; Jump if zero 273F:7CAF E8 C7BA call random 273F:7CB2 32 ED xor ch, ch 273F:7CB4 F7 E1 mul cx ; dx:ax = reg * ax 273F:7CB6 83 C3 01 add bx, 1 273F:7CB9 0B D2 or dx, dx ; Zero ? 273F:7CBB 74 0F jz loc_1553 ; Jump if zero 273F:7CBD loc_1552: ; xref 273F:7CC5, 7CCA 273F:7CBD 8B 07 mov ax, [bx] 273F:7CBF 83 C3 02 add bx, 2 273F:7CC2 3D FFFF cmp ax, 0FFFFh 273F:7CC5 75 F6 jne loc_1552 ; Jump if not equal 273F:7CC7 83 EA 01 sub dx, 1 273F:7CCA 75 F1 jnz loc_1552 ; Jump if not zero 273F:7CCC loc_1553: ; xref 273F:7CBB 273F:7CCC 8B 07 mov ax, [bx] 273F:7CCE 83 C3 02 add bx, 2 273F:7CD1 3D 0004 cmp ax, 4 273F:7CD4 loc_1554: ; xref 273F:7CAD 273F:7CD4 74 61 je loc_1557 ; Jump if equal 273F:7CD6 3D 0003 cmp ax, 3 273F:7CD9 75 0E jne loc_1555 ; Jump if not equal 273F:7CDB 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:7CDE 3B 06 6CF5 cmp ax, [player_hotspot_rec+HS_ROOM_NUM] 273F:7CE2 75 53 jne loc_1557 ; Jump if not equal 273F:7CE4 C7 47 FE 0004 mov word ptr [bx-2], 4 273F:7CE9 loc_1555: ; xref 273F:7CD9 273F:7CE9 8B CB mov cx,bx 273F:7CEB 83 3F FE cmp word ptr [bx], 0FFFEh 273F:7CEE 75 2A jne loc_1556 ; Jump if not equal 273F:7CF0 8B DE mov bx,si 273F:7CF2 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:7CF5 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:7CF8 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:7CFB C7 06 0001 69D3 mov word ptr ds:[1],69D3h ; (273F:0001=31E4h) 273F:7D01 C7 06 69D3 0020 mov word ptr ds:[69D3h],20h ; (273F:69D3=8006h) 273F:7D07 C7 06 69D5 0000 mov word ptr ds:[69D5h],0 ; (273F:69D5=433h) 273F:7D0D 83 C1 02 add cx, 2 273F:7D10 83 44 61 05 add word ptr [si+HS_ACTION_OFFSET], CURRENT_ACTION_RECORD_SIZE 273F:7D14 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:7D17 89 47 08 mov [bx+8], ax 273F:7D1A loc_1556: ; xref 273F:7CEE 273F:7D1A 8B DE mov bx, si 273F:7D1C 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:7D1F 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:7D22 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:7D25 89 4F 01 mov [bx+CURRENT_ACTION_SUPPORT_TABLE], cx 273F:7D28 C6 44 44 00 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE 273F:7D2C E8 C73D call random 273F:7D2F B9 0020 mov cx, 20h 273F:7D32 F7 E1 mul cx ; dx:ax = reg * ax 273F:7D34 88 54 FF mov [si-1], dl 273F:7D37 loc_1557: ; xref 273F:7CD4, 7CE2 273F:7D37 E9 D248 jmp standard_character_tick_proc follower_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0D9B, 0E9B, 1381, 1D1D, 59C1, 5A23, 6305 ; 6314, 6950, 8953, 8DF8 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ decode_string proc near 273F:7D3A loc_1558: ; xref 273F:7EEA 273F:7D3A ú1E push ds 273F:7D3B 25 1FFF and ax,1FFFh 273F:7D3E E8 0099 call decode_string_init 273F:7D41 loc_1559: ; xref 273F:7D49 273F:7D41 úE8 0061 call read_bit 273F:7D44 74 05 jz loc_1560 ; Jump if zero 273F:7D46 83 C6 02 add si,2 273F:7D49 EB F6 jmp short loc_1559 ; (7D41) 273F:7D4B loc_1560: ; xref 273F:7D44 273F:7D4B E8 0057 call read_bit 273F:7D4E loc_1561: ; xref 273F:7D5E, 7D7E, 7DA0 273F:7D4E úE8 98F7 call decode_character 273F:7D51 0A C0 or al,al ; End of string sequence? 273F:7D53 74 4D jz loc_1568 ; If yes, then exit 273F:7D55 3C A0 cmp al,0A0h 273F:7D57 73 27 jae loc_1565 ; Jump if above or = 273F:7D59 3C 25 cmp al,25h ; '%' 273F:7D5B 74 03 je loc_1562 ; Jump if equal 273F:7D5D AA stosb ; Store al to es:[di] 273F:7D5E EB EE jmp short loc_1561 ; (7D4E) 273F:7D60 loc_1562: ; % handler - if it's %1, replace 273F:7D60 E8 98E5 call decode_character ; it with the highlighted hotspot 273F:7D63 1E push ds ; name. Otherwise, replace it 273F:7D64 56 push si ; it with selected action string 273F:7D65 BE 31E4 mov si,seg data_seg 273F:7D68 8E DE mov ds,si 273F:7D6A BE 4B43 mov si, offset hotspot_name 273F:7D6D 3C 31 cmp al,31h ; '1' 273F:7D6F 74 03 je loc_1563 ; Jump if equal 273F:7D71 úBE 4B93 mov si, offset action_name 273F:7D74 loc_1563: 273F:7D74 úAC lodsb ; String [si] to al 273F:7D75 0A C0 or al,al 273F:7D77 74 03 jz loc_1564 ; Copy bytes until NULL 273F:7D79 AA stosb 273F:7D7A EB F8 jmp short loc_1563 273F:7D7C loc_1564: 273F:7D7C 5E pop si 273F:7D7D 1F pop ds 273F:7D7E EB CE jmp short loc_1561 ; (7D4E) 273F:7D80 loc_1565: ; Handle character name substitution 273F:7D80 56 push si 273F:7D81 1E push ds 273F:7D82 2C A0 sub al,0A0h 273F:7D84 32 E4 xor ah,ah ; Zero register 273F:7D86 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:7D88 8B F0 mov si,ax 273F:7D8A B8 31E4 mov ax,data_seg 273F:7D8D 8E D8 mov ds,ax assume ds:data_seg 273F:7D8F A1 4CEE mov ax, names_segment 273F:7D92 8E D8 mov ds,ax 273F:7D94 8B 34 mov si,[si] ; Get name position from offset list 273F:7D96 loc_1566: 273F:7D96 úAC lodsb ; String [si] to al 273F:7D97 0A C0 or al,al ; Zero ? 273F:7D99 74 03 jz loc_1567 ; Jump if zero 273F:7D9B AA stosb ; Store al to es:[di] 273F:7D9C EB F8 jmp short loc_1566 273F:7D9E loc_1567: 273F:7D9E 1F pop ds 273F:7D9F 5E pop si 273F:7DA0 EB AC jmp short loc_1561 273F:7DA2 loc_1568: 273F:7DA2 AA stosb ; Store final NULL 273F:7DA3 1F pop ds 273F:7DA4 C3 retn decode_string endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1648, 1650, 165B, 1663, 1671, 167C, 168A ; 1692, 169A, 16A8, 16B3, 16BE, 16C9, 16D7 ; 16DF, 16E7, 16F2, 1700, 1708, 1716, 1721 ; 172F, 1737, 173F, 174D, 1755, 1763, 176E ; 177C, 1784, 178C, 179A, 17A2, 17B0, 17BB ; 17C9, 17D1, 17D9, 17E4, 17F2, 17FA, 1808 ; 1813, 181E, 182C, 1834, 183C, 1847, 1855 ; 185D, 186B, 1876, 1884, 188C, 1894, 189F ; 18AD, 18B8, 18C3, 18D1, 18D9, 18E1, 18EF ; 18F7, 1905, 1910, 191E, 1926, 192E, 1939 ; 1947, 1952, 195D, 196B, 1973, 197B, 1989 ; 1994, 19A2, 19AA, 19B5, 19C0, 19CE, 19D6 ; 19E1, 19EF, 19F7, 1A05, 1A0D, 1A1B, 1A23 ; 1A31, 1A39, 7D41, 7D4B, 7E97, 7EA1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7DA5 read_bit proc near 273F:7DA5 8A 04 mov al,[si] 273F:7DA7 22 C2 and al,dl 273F:7DA9 D0 EA shr dl,1 ; Shift w/zeros fill 273F:7DAB 73 03 jnc loc_1569 ; Jump if carry=0 273F:7DAD 46 inc si 273F:7DAE B2 80 mov dl,80h 273F:7DB0 loc_1569: ; xref 273F:7DAB 273F:7DB0 0A C0 or al,al ; Zero ? 273F:7DB2 C3 retn read_bit endp ;* No entry point to code 273F:7DB3 1E push ds 273F:7DB4 07 pop es 273F:7DB5 8B EC mov bp,sp 273F:7DB7 83 C5 02 add bp,2 273F:7DBA loc_1570: ; xref 273F:7DC4, 7DD8 273F:7DBA úAC lodsb ; String [si] to al 273F:7DBB 0A C0 or al,al ; Zero ? 273F:7DBD 74 07 jz loc_ret_1571 ; Jump if zero 273F:7DBF 3C 25 cmp al,25h ; '%' 273F:7DC1 74 04 je loc_1572 ; Jump if equal 273F:7DC3 AA stosb ; Store al to es:[di] 273F:7DC4 EB F4 jmp short loc_1570 ; (7DBA) 273F:7DC6 loc_ret_1571: ; xref 273F:7DBD 273F:7DC6 C3 retn 273F:7DC7 loc_1572: ; xref 273F:7DC1 273F:7DC7 AC lodsb ; String [si] to al 273F:7DC8 56 push si 273F:7DC9 8B 76 00 mov si,[bp] 273F:7DCC 83 C5 02 add bp,2 273F:7DCF loc_1573: ; xref 273F:7DD5 273F:7DCF úAC lodsb ; String [si] to al 273F:7DD0 0A C0 or al,al ; Zero ? 273F:7DD2 74 03 jz loc_1574 ; Jump if zero 273F:7DD4 AA stosb ; Store al to es:[di] 273F:7DD5 EB F8 jmp short loc_1573 ; (7DCF) 273F:7DD7 loc_1574: ; xref 273F:7DD2 273F:7DD7 5E pop si 273F:7DD8 EB E0 jmp short loc_1570 ; (7DBA) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7D3E, 7E94 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7DDA decode_string_init proc near 273F:7DDA 1E push ds 273F:7DDB 50 push ax 273F:7DDC B8 31E4 mov ax,data_seg 273F:7DDF 8E D8 mov ds,ax 273F:7DE1 58 pop ax 273F:7DE2 83 3E 9832 2A cmp room_number, 2Ah 273F:7DE7 72 0D jb loc_1575 ; Jump if below 273F:7DE9 3D 07D0 cmp ax,7D0h 273F:7DEC 72 08 jb loc_1575 ; Jump if below 273F:7DEE 3D 0FA0 cmp ax,0FA0h 273F:7DF1 73 03 jae loc_1575 ; Jump if above or = 273F:7DF3 B8 0076 mov ax,76h 273F:7DF6 loc_1575: ; xref 273F:7DE7, 7DEC, 7DF1 273F:7DF6 83 3E 9832 2A cmp room_number, 2Ah 273F:7DFB 73 08 jae loc_1576 ; Jump if above or = 273F:7DFD 3D 0FA0 cmp ax,0FA0h 273F:7E00 72 03 jb loc_1576 ; Jump if below 273F:7E02 B8 0076 mov ax,76h 273F:7E05 loc_1576: ; xref 273F:7DFB, 7E00 273F:7E05 1F pop ds 273F:7E06 1E push ds 273F:7E07 07 pop es 273F:7E08 BB 31E4 mov bx,seg data_seg 273F:7E0B 8E DB mov ds,bx 273F:7E0D 8B 1E 4CE8 mov bx, strings_segment 273F:7E11 3D 07D0 cmp ax,7D0h 273F:7E14 72 13 jb loc_1577 ; Jump if below 273F:7E16 8B 1E 4CEA mov bx, strings_segment_2 273F:7E1A 2D 07D0 sub ax,7D0h 273F:7E1D 3D 07D0 cmp ax,7D0h 273F:7E20 72 07 jb loc_1577 ; Jump if below 273F:7E22 8B 1E 4CEC mov bx, strings_segment_3 273F:7E26 2D 07D0 sub ax,7D0h 273F:7E29 loc_1577: ; xref 273F:7E14, 7E20 273F:7E29 8E DB mov ds,bx 273F:7E2B 8B D0 mov dx,ax 273F:7E2D úBE 0004 mov si, 4 273F:7E30 55 push bp 273F:7E31 33 DB xor bx,bx ; Zero register 273F:7E33 33 ED xor bp,bp ; Zero register 273F:7E35 B1 05 mov cl,5 273F:7E37 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:7E39 74 0A jz loc_1579 ; Jump if zero 273F:7E3B 8B C8 mov cx,ax 273F:7E3D locloop_1578: ; xref 273F:7E43 273F:7E3D AD lodsw ; String [si] to ax 273F:7E3E 03 D8 add bx,ax 273F:7E40 83 D5 00 adc bp,0 273F:7E43 E2 F8 loop locloop_1578 ; Loop if cx > 0 273F:7E45 loc_1579: ; xref 273F:7E39 273F:7E45 8B CA mov cx,dx 273F:7E47 83 E1 1F and cx,1Fh 273F:7E4A 74 28 jz loc_1582 ; Jump if zero 273F:7E4C 83 E2 E0 and dx,0FFE0h 273F:7E4F 03 16 0000 add dx,ds:[0] 273F:7E53 8B F2 mov si,dx 273F:7E55 locloop_1580: ; xref 273F:7E61, 7E72 273F:7E55 AC lodsb ; String [si] to al 273F:7E56 32 E4 xor ah,ah ; Zero register 273F:7E58 A8 80 test al,80h 273F:7E5A 75 09 jnz loc_1581 ; Jump if not zero 273F:7E5C 03 D8 add bx,ax 273F:7E5E 83 D5 00 adc bp,0 273F:7E61 E2 F2 loop locloop_1580 ; Loop if cx > 0 273F:7E63 EB 0F jmp short loc_1582 ; (7E74) 273F:7E65 loc_1581: ; xref 273F:7E5A 273F:7E65 24 7F and al,7Fh 273F:7E67 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:7E69 D1 E0 shl ax,1 ; Shift w/zeros fill 273F:7E6B D1 E0 shl ax,1 ; Shift w/zeros fill 273F:7E6D 03 D8 add bx,ax 273F:7E6F 83 D5 00 adc bp,0 273F:7E72 E2 E1 loop locloop_1580 ; Loop if cx > 0 273F:7E74 loc_1582: ; xref 273F:7E4A, 7E63 273F:7E74 B2 80 mov dl,80h 273F:7E76 8A CB mov cl,bl 273F:7E78 80 E1 03 and cl,3 273F:7E7B 74 04 jz loc_1583 ; Jump if zero 273F:7E7D D0 E1 shl cl,1 ; Shift w/zeros fill 273F:7E7F D2 EA shr dl,cl ; Shift w/zeros fill 273F:7E81 loc_1583: ; xref 273F:7E7B 273F:7E81 D1 EB shr bx,1 ; Shift w/zeros fill 273F:7E83 D1 EB shr bx,1 ; Shift w/zeros fill 273F:7E85 03 1E 0002 add bx,word ptr ds:[2] 273F:7E89 8B F3 mov si,bx 273F:7E8B B1 0E mov cl,0Eh 273F:7E8D D3 E5 shl bp,cl ; Shift w/zeros fill 273F:7E8F 03 F5 add si,bp 273F:7E91 5D pop bp 273F:7E92 C3 retn decode_string_init endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6368 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7E93 sub_208 proc near 273F:7E93 1E push ds 273F:7E94 E8 FF43 call decode_string_init 273F:7E97 loc_1584: ; xref 273F:7E9F 273F:7E97 úE8 FF0B call read_bit 273F:7E9A 74 05 jz loc_1585 ; Jump if zero 273F:7E9C 83 C6 02 add si,2 273F:7E9F EB F6 jmp short loc_1584 ; (7E97) 273F:7EA1 loc_1585: ; xref 273F:7E9A 273F:7EA1 E8 FF01 call read_bit 273F:7EA4 1F pop ds 273F:7EA5 C3 retn sub_208 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:6375, 6381 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7EA6 sub_209 proc near 273F:7EA6 3D 03E7 cmp ax,3E7h 273F:7EA9 74 05 je loc_1586 ; Jump if equal 273F:7EAB 3D 03E5 cmp ax,3E5h 273F:7EAE 75 04 jne loc_1587 ; Jump if not equal 273F:7EB0 loc_1586: ; xref 273F:7EA9 273F:7EB0 C6 05 00 mov byte ptr [di],0 273F:7EB3 C3 retn 273F:7EB4 loc_1587: ; xref 273F:7EAE 273F:7EB4 E8 8E6A call get_room_resource_pointer3 273F:7EB7 8B 44 02 mov ax,[si+2] 273F:7EBA F6 C3 FF test bl,0FFh 273F:7EBD 74 28 jz loc_1593 ; Jump if zero 273F:7EBF F6 C4 C0 test ah,0C0h 273F:7EC2 74 0C jz loc_1589 ; Jump if zero 273F:7EC4 78 05 js loc_1588 ; Jump if sign=1 273F:7EC6 BE 4F90 mov si,4F90h 273F:7EC9 EB 0D jmp short loc_1590 ; (7ED8) 273F:7ECB loc_1588: ; xref 273F:7EC4 273F:7ECB BE 4F92 mov si,4F92h 273F:7ECE EB 08 jmp short loc_1590 ; (7ED8) 273F:7ED0 loc_1589: ; xref 273F:7EC2 273F:7ED0 F6 C4 20 test ah,20h ; ' ' 273F:7ED3 74 12 jz loc_1593 ; Jump if zero 273F:7ED5 úBE 4F95 mov si,4F95h ; (273F:4F95=44h) 273F:7ED8 loc_1590: ; xref 273F:7EC9, 7ECE 273F:7ED8 50 push ax 273F:7ED9 1E push ds 273F:7EDA 07 pop es 273F:7EDB loc_1591: ; xref 273F:7EE1 273F:7EDB úAC lodsb ; String [si] to al 273F:7EDC 0A C0 or al,al ; Zero ? 273F:7EDE 74 03 jz loc_1592 ; Jump if zero 273F:7EE0 AA stosb ; Store al to es:[di] 273F:7EE1 EB F8 jmp short loc_1591 ; (7EDB) 273F:7EE3 loc_1592: ; xref 273F:7EDE 273F:7EE3 B0 20 mov al,20h ; ' ' 273F:7EE5 AA stosb ; Store al to es:[di] 273F:7EE6 58 pop ax 273F:7EE7 loc_1593: ; xref 273F:7EBD, 7ED3 273F:7EE7 80 E4 1F and ah,1Fh 273F:7EEA E9 FE4D jmp loc_1558 ; (7D3A) sub_209 endp db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:7EEE C6 06 70FD 03 mov byte ptr [70FDh], 3 273F:7EF3 C7 06 70FB 7FFF MOV WORD PTR [70FB],7FFF 273F:7EF9 C3 RET ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß skorl_tick_proc proc near 273F:7EFA F7 06 BA2B FFFF test script_v11, 0FFFFh 273F:7F00 74 22 jz vskorl_2 273F:7F02 F6 45 1D FF test byte ptr [di+ANIM_SKIP], 0FFh 273F:7F06 75 1C jnz vskorl_2 273F:7F08 F6 06 1926 FF test data_669, 0FFh 273F:7F0D 75 15 jnz vskorl_2 273F:7F0F BB 6CEF mov bx, offset player_hotspot_rec 273F:7F12 8B 44 06 mov ax, [si+HS_ROOM_NUM] ; Is Skorl in the same 273F:7F15 3B 47 06 cmp ax, [bx+HS_ROOM_NUM] ; room as the player? 273F:7F18 75 0A jnz vskorl_2 ; No, so skip 273F:7F1A E8 84 D6 call characters_impinging_check ; Check if Skorl has 'caught' player 273F:7F1D 74 05 jz vskorl_2 273F:7F1F 80 0E 073D 70 or status_flags2, FLAG_RESTART || FLAG_CAUGHT || FLAG_RESTORERESTART 273F:7F24 E9 5B D0 vskorl_2: jmp standard_character_tick_proc skorl_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß set_village_skorl_tick_proc proc near 273F:7F27 C7 06 6DFD 7EFA mov word ptr [village_skorl_hotspot_rec+HS_TICK_PROC], offset skorl_tick_proc 273F:7F2D 8B 3E 6DF1 mov di, [village_skorl_hotspot_rec+HS_ANIM_OFFSET] 273F:7F31 C7 45 11 FA 7E mov word ptr [di+ANIM_TICK_PROC], offset skorl_tick_proc 273F:7F36 C3 ret set_village_skorl_tick_proc endp 273F:7F37 E8 3E E2 call talk_countdown_handler ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Tick action proc for standard animations, and is responsible ; for them being animated. This seems to include the vertical ; movement of the drip animation ; di = animation slot entry, si = hotspot resource ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ std_animation_tick_proc proc near 273F:7F3A úF7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:7F3F 75 0E jnz loc_1596 ; Jump if not zero 273F:7F41 E8 9065 call hotspot_script_execute 273F:7F44 75 08 jnz loc_ret_1595 ; Jump if not zero 273F:7F46 E8 9329 call animation_unload 273F:7F49 81 4C 06 8000 or word ptr [si+6], 8000h 273F:7F4E loc_ret_1595: ; xref 273F:7F44 273F:7F4E C3 retn 273F:7F4F loc_1596: ; xref 273F:7F3F, 7F6E, 7FA6 273F:7F4F 83 6C 1F 01 sub word ptr [si+HS_FRAME_CTR], 1 273F:7F53 C3 retn std_animation_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7F54 F6 44 2A FF test byte ptr [si+2Ah],0FFh 273F:7F58 75 0D jnz loc_1598 ; Jump if not zero 273F:7F5A úBB 6CEF mov bx, offset player_hotspot_rec 273F:7F5D E8 D641 call characters_impinging_check 273F:7F60 74 04 jz loc_ret_1597 ; Jump if zero 273F:7F62 80 44 2A 01 add byte ptr [si+2Ah],1 273F:7F66 loc_ret_1597: ; xref 273F:7F60 273F:7F66 C3 retn 273F:7F67 loc_1598: ; xref 273F:7F58 273F:7F67 EB D1 jmp short std_animation_tick_proc ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ dropping_torch_tick_proc proc near 273F:7F69 F7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:7F6E 75 DF jnz loc_1596 ; Jump if not zero 273F:7F70 E8 9036 call hotspot_script_execute 273F:7F73 75 7E jnz loc_ret_1599 ; Jump if not zero 273F:7F75 E8 92FA call animation_unload 273F:7F78 BB 041C mov bx, 41Ch 273F:7F7B BE 7F1F mov si, 7F1Fh 273F:7F7E E8 F1F1 call animation_load_2 273F:7F81 BB 0008 mov bx,8 273F:7F84 A0 1926 mov al, data_669 273F:7F87 50 push ax 273F:7F88 C6 06 1926 00 mov data_669, 0 273F:7F8D E8 206D call play_sound ; (9FFD) 273F:7F90 58 pop ax 273F:7F91 A2 1926 mov data_669, al 273F:7F94 BB 0418 mov bx, 418h ; Fire on straw in room #1 273F:7F97 úBE 7EF0 mov si,offset data_409 273F:7F9A 80 4C 03 80 or byte ptr [si+3],80h ; Enable it to be highlighted 273F:7F9E E9 F1D1 jmp animation_load_2 ; Load it for animation dropping_torch_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7FA1 F7 44 1F FFFF test word ptr [si+1Fh],0FFFFh 273F:7FA6 75 A7 jnz loc_1596 ; Jump if not zero 273F:7FA8 E8 8FFE call hotspot_script_execute 273F:7FAB 75 46 jnz loc_ret_1599 ; Jump if not zero 273F:7FAD E8 92C2 call animation_unload 273F:7FB0 C6 44 15 00 mov byte ptr [si+15h],0 273F:7FB4 C7 06 6CFC 0120 mov word ptr [player_hotspot_rec+HS_X], 80h + (SCREEN_WIDTH / 2) 273F:7FBA C7 06 6CFE 00E0 mov word ptr [player_hotspot_rec+HS_Y], 80h + (SCREEN_HEIGHT - MENUBAR_Y_SIZE) / 2 273F:7FC0 8B 1E 6CFA mov bx, word ptr [player_hotspot_rec+HS_ANIM_OFFSET] 273F:7FC4 C7 07 0120 mov word ptr [bx+ANIM_X], 80h + (SCREEN_WIDTH / 2) 273F:7FC8 C7 47 02 00E0 mov word ptr [bx+ANIM_Y], 80h + (SCREEN_HEIGHT - MENUBAR_Y_SIZE) / 2 273F:7FCD C6 47 26 01 mov byte ptr [bx+ANIM_DIRECTION], FACING_DOWN 273F:7FD1 E8 C6DD call character_reset_direction 273F:7FD4 C6 44 44 00 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_NONE 273F:7FD8 C6 44 49 00 mov byte ptr [si+HS_PATHFIND_COVERED], 0 273F:7FDC C6 06 70FD 00 mov byte ptr ds:[70FDh],0 ; (273F:70FD=79h) 273F:7FE1 C7 06 70FB 0000 mov word ptr ds:[70FBh],0 ; (273F:70FB=80CEh) 273F:7FE7 C7 06 70B9 1C00 mov [ratpouch_hotspot_rec], 1C00h ; Set his actions 273F:7FED C7 06 70BB 0082 mov [ratpouch_hotspot_rec+2],82h 273F:7FF3 loc_ret_1599: ; xref 273F:7F73, 7FAB 273F:7FF3 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:7FF4 BB 040F mov bx, 40Fh 273F:7FF7 E8 FC09 call hotspot_disable 273F:7FFA 8B 7C 0B mov di,[si+0Bh] 273F:7FFD E8 9272 call animation_unload 273F:8000 BB 040E mov bx, 40Eh 273F:8003 úBE 7EC6 mov si, 7EC6h ; (273F:7EC6=0BEh) 273F:8006 E9 F169 jmp animation_load_2 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ fire_tick_proc proc near 273F:8009 E8 FF2E call std_animation_tick_proc 273F:800C E9 F11F jmp pathfind_flag_covered_cells fire_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:800F C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:8013 loc_set_frame_offset: ; xref 273F:8269, 83C8, 840E, 84C7 ; 84D2, 85D1 273F:8013 ú8A 44 2A mov al, [si+HS_ACTION_CTR] 273F:8016 32 E4 xor ah, ah ; Zero register 273F:8018 8B 5C 21 mov bx, [si+HS_PIXEL_OFFSET] 273F:801B F7 67 07 mul word ptr [bx+PIXEL_FRAME_SIZE] 273F:801E 89 45 08 mov [di+ANIM_FRAME_OFFSET], ax 273F:8021 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8022 B8 2714 mov ax, 2714h 273F:8025 E8 F1C6 call room_exit_hs_get_pointer 273F:8028 C6 44 0C 00 mov byte ptr [si+0Ch],0 ; Mark door open 273F:802C úBE 70B9 mov si, offset ratpouch_hotspot_rec 273F:802F 8B DE mov bx,si 273F:8031 03 5C 61 add bx, [si+ACTION_OFFSET] 273F:8034 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:8037 C7 47 03 0007 mov word ptr [bx+CURRENT_ACTION_ROOM_NUM], 7 273F:803C 33 C0 xor ax,ax ; Zero register 273F:803E 8B 5F 01 mov bx, [bx+CURRENT_ACTION_SUPPORT_TABLE] 273F:8041 89 07 mov [bx],ax 273F:8043 89 04 mov [si],ax 273F:8045 89 44 02 mov [si+2],ax 273F:8048 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_cut_sack proc near 273F:8049 C7 06 840A 010A mov sack_hotspot_rec[HS_Y], 10Ah 273F:804F 8B 1E 8406 mov bx, sack_hotspot_rec[HS_ANIM_OFFSET] 273F:8053 0B DB or bx, bx ; Is active animation? 273F:8055 74 05 jz loc_ret_1601 ; Skip if not 273F:8057 C7 47 02 010A mov word ptr [bx+ANIM_Y], 10Ah 273F:805C loc_ret_1601: ; xref 273F:8055 273F:805C C3 retn seq_cut_sack endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:805D C7 06 6BDD 0063 mov word ptr ds:[6BDDh],63h ; (273F:6BDD=0C75h) 273F:8063 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8064 C7 06 6BDD 0013 mov word ptr ds:[6BDDh],13h ; (273F:6BDD=0C75h) 273F:806A C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_37 proc near 273F:806B C7 06 7E7D 0118 mov oil_burner_hotspot_rec[HS_X], 7F3Ah ;Maybe incorrect? 273F:8071 C7 06 7E87 7F3A mov word ptr ds:[7E87h],7F3Ah ; (273F:7E87=2) 273F:8077 8B 3E 7E7B mov di, oil_burner_hotspot_rec[HS_ANIM_OFFSET] 273F:807B C7 05 0118 mov word ptr [di],118h ; X start 273F:807F C7 45 11 7F3A mov word ptr [di+11h],7F3Ah ; Handler proc offset 273F:8084 C3 retn seq_method_37 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8085 C7 06 8EA9 09E0 mov word ptr ds:[8EA9h],9E0h ; (273F:8EA9=0F003h) 273F:808B 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:8090 75 06 jne loc_ret_1602 ; Jump if not equal 273F:8092 C7 06 8EA9 0AF0 mov word ptr ds:[8EA9h],0AF0h ; (273F:8EA9=0F003h) 273F:8098 loc_ret_1602: ; xref 273F:8090 273F:8098 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_transform_player proc near 273F:8099 úBE 7E9B mov si, offset resource_425_rec 273F:809C úBF 6CEF mov di, offset player_hotspot_rec 273F:809F 8B 45 06 mov ax, [di+HS_ROOM_NUM] ; Get player room number 273F:80A2 89 44 06 mov [si+HS_ROOM_NUM], ax ; Move into player's room 273F:80A5 8B 45 0D mov ax, [di+HS_X] 273F:80A8 2D 000E sub ax, 14 273F:80AB 89 44 0D mov [si+HS_X], ax ; Set x position 273F:80AE 8B 45 0F mov ax,[di+HS_Y] 273F:80B1 2D 000A sub ax, 10 273F:80B4 89 44 0F mov [si+HS_Y], ax ; Set y position 273F:80B7 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:80BB C7 44 24 0630 mov word ptr [si+HS_SCRIPT_OFFSET], 630h 273F:80C0 BB 0425 mov bx, 425h 273F:80C3 E9 8C00 jmp animation_load_entry seq_transform_player endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:80C6 A1 6CF5 mov ax,word ptr ds:[6CF5h] ; (273F:6CF5=551Eh) 273F:80C9 89 44 06 mov [si+6],ax 273F:80CC A1 6CFC mov ax,word ptr ds:[6CFCh] ; (273F:6CFC=1E8Bh) 273F:80CF 2D 000E sub ax,0Eh 273F:80D2 89 05 mov [di],ax 273F:80D4 A1 6CFE mov ax,word ptr ds:[6CFEh] ; (273F:6CFE=76Eh) 273F:80D7 2D 000A sub ax,0Ah 273F:80DA 89 45 02 mov [di+2],ax 273F:80DD 80 44 2A 01 add byte ptr [si+2Ah],1 273F:80E1 80 7C 2A 06 cmp byte ptr [si+2Ah],6 273F:80E5 75 30 jne loc_1606 ; Jump if not equal 273F:80E7 83 3E BA2B 02 cmp script_v11, 2 273F:80EC 74 08 je loc_1603 ; Jump if equal 273F:80EE F7 06 BA4D FFFF test word ptr ds:data_488e,0FFFFh ; (273F:BA4D=0) 273F:80F4 74 0B jz loc_1604 ; Jump if zero 273F:80F6 loc_1603: ; xref 273F:80EC 273F:80F6 C7 06 BA4D 0000 mov word ptr ds:data_488e,0 ; (273F:BA4D=0) 273F:80FC BB 5C80 mov bx,5C80h 273F:80FF EB 08 jmp short loc_1605 ; (8109) 273F:8101 loc_1604: ; xref 273F:80F4 273F:8101 83 06 BA4D 01 add word ptr ds:data_488e,1 ; (273F:BA4D=0) 273F:8106 úBB 5CAA mov bx,5CAAh ; (273F:5CAA=0BAh) 273F:8109 loc_1605: ; xref 273F:80FF 273F:8109 89 1E 6D10 mov word ptr ds:[6D10h],bx ; (273F:6D10=1E52h) 273F:810D 8B 47 03 mov ax,[bx+3] 273F:8110 8B 1E 6CFA mov bx,word ptr ds:[6CFAh] ; (273F:6CFA=1F33h) 273F:8114 89 47 0A mov [bx+0Ah],ax 273F:8117 loc_1606: ; xref 273F:80E5 273F:8117 E8 8E8F call hotspot_script_execute 273F:811A 75 22 jnz loc_ret_1607 ; Jump if not zero 273F:811C E8 9153 call animation_unload 273F:811F C7 44 06 01A8 mov word ptr [si+6],1A8h 273F:8124 F7 06 BA4D FFFF test word ptr ds:data_488e,0FFFFh ; (273F:BA4D=0) 273F:812A 74 12 jz loc_ret_1607 ; Jump if zero 273F:812C BB 03E9 mov bx, RATPOUCH_HOTSPOT_ID 273F:812F B9 0854 mov cx, 854h 273F:8132 E8 DFD5 call start_talk_noone 273F:8135 B8 0004 mov ax,4 273F:8138 úBE 70B9 mov si, offset ratpouch_hotspot_rec 273F:813B E9 C3F7 jmp loc_867 ; (4535) 273F:813E loc_ret_1607: ; xref 273F:811A, 812A, 814E 273F:813E C3 retn ;* No entry point to code 273F:813F F7 44 1F FFFF test word ptr [si+1Fh],0FFFFh 273F:8144 74 05 jz loc_1608 ; Jump if zero 273F:8146 83 6C 1F 01 sub word ptr [si+1Fh],1 273F:814A C3 retn 273F:814B loc_1608: ; xref 273F:8144 273F:814B E8 8E5B call hotspot_script_execute 273F:814E 75 EE jnz loc_ret_1607 ; Jump if not zero 273F:8150 C7 44 24 0B82 mov word ptr [si+24h],0B82h 273F:8155 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:815A 75 05 jne loc_1609 ; Jump if not equal 273F:815C C7 44 24 0B7C mov word ptr [si+24h],0B7Ch 273F:8161 loc_1609: ; xref 273F:815A 273F:8161 C7 06 BA4B 0001 mov word ptr ds:data_487e,1 ; (273F:BA4B=0) 273F:8167 C3 retn 273F:8168 0C00 data_410 dw 0C00h 273F:816A 0082 data_411 dw 82h ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Sets the action bitset for Goewin ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_55 proc near 273F:816C C6 06 7D4B 01 mov BYTE PTR [goewin_hotspot_rec+HS_ACTION_CTR], 1 273F:8171 2E A1 8168 mov ax, cs:data_410 273F:8175 A3 7D21 mov [goewin_hotspot_rec], ax 273F:8178 2E A1 816A mov ax, cs:data_411 273F:817C A3 7D23 mov [goewin_hotspot_rec+2], ax 273F:817F C3 ret seq_method_55 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8180 F6 44 2A FF test bye ptr [SI+HS_ACTION_CTR], 0FFh 273F:8184 74 B8 jz loc_ret_1607 273F:8186 E8 20 8E call hotspot_script_execute 273F:8189 75 B3 jnz loc_ret_1607 273F:818B C7 44 17 4F82 mov word ptr [si+HS_TICK_PROC], 4F82h 273F:8190 C7 45 11 4F82 mov word ptr [di+ANIM_TICK_PROC], 4F82h 273F:8195 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:8199 C3 ret ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_is_skorl_in_cell proc near 273F:819A C7 06 BA1F 0000 mov general_val, 0 273F:81A0 83 3E 6D6D 01 cmp skorl_hotspot_rec[HS_ROOM_NUM], 1 273F:81A5 74 06 je loc_ret_1610 273F:81A7 C7 06 BA1F 0001 mov general_val, 1 273F:81AD loc_ret_1610: 273F:81AD C3 retn seq_is_skorl_in_cell endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_3 proc near 273F:81AE 88 1E 9836 mov data_1085, bl ; Set HS-435h(4802h)[34h] 273F:81B2 C3 retn seq_method_3 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ prisoner_tick_proc proc near 273F:81B3 E8 DFC2 call talk_countdown_handler 273F:81B6 F7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:81BB 74 05 jz loc_1612 ; Jump if zero 273F:81BD 83 6C 1F 01 sub word ptr [si+HS_FRAME_CTR], 1 273F:81C1 loc_ret_1611: 273F:81C1 C3 retn 273F:81C2 loc_1612: 273F:81C2 F6 44 2A FF test byte ptr [si+HS_ACTION_CTR], 0FFh 273F:81C6 74 11 jz loc_1613 ; Jump if zero 273F:81C8 E8 8DDE call hotspot_script_execute 273F:81CB 0B C0 or ax, ax ; Zero ? 273F:81CD 75 F2 jnz loc_ret_1611 ; Jump if not zero 273F:81CF C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:81D3 C7 44 24 03E0 mov word ptr [si+HS_SCRIPT_OFFSET], 3E0h 273F:81D8 C3 retn 273F:81D9 loc_1613: ; xref 273F:81C6 273F:81D9 F7 06 BA33 FFFF test prisoner_dead, 0FFFFh 273F:81DF 75 E0 jnz loc_ret_1611 ; Jump if not zero 273F:81E1 E8 C288 call random 273F:81E4 3D 0006 cmp ax, 6 273F:81E7 72 D8 jb loc_ret_1611 ; Jump if below 273F:81E9 C6 44 2A 01 mov byte ptr [si+HS_ACTION_CTR], 1 273F:81ED C7 44 24 03F6 mov word ptr [si+HS_SCRIPT_OFFSET], 3F6h 273F:81F2 C3 retn prisoner_tick_proc endp ;* No entry point to code 273F:81F3 E8 DF82 call talk_countdown_handler 273F:81F6 F7 44 1F FFFF test word ptr [si+1Fh],0FFFFh 273F:81FB 74 05 jz loc_1614 ; Jump if zero 273F:81FD 83 6C 1F 01 sub word ptr [si+1Fh],1 273F:8201 C3 retn 273F:8202 loc_1614: ; xref 273F:81FB 273F:8202 E8 8DA4 call hotspot_script_execute 273F:8205 8A 44 2A mov al,[si+2Ah] 273F:8208 32 E4 xor ah,ah ; Zero register 273F:820A 89 44 1F mov [si+1Fh],ax 273F:820D C3 retn ;* No entry point to code 273F:820E E8 DF67 call talk_countdown_handler 273F:8211 F7 44 1F FFFF test word ptr [si+1Fh],0FFFFh 273F:8216 74 05 jz loc_1616 ; Jump if zero 273F:8218 83 6C 1F 01 sub word ptr [si+1Fh],1 273F:821C loc_ret_1615: ; xref 273F:8222 273F:821C C3 retn 273F:821D loc_1616: ; xref 273F:8216 273F:821D E8 8D89 call hotspot_script_execute 273F:8220 0B C0 or ax,ax ; Zero ? 273F:8222 75 F8 jnz loc_ret_1615 ; Jump if not zero 273F:8224 E8 C245 call random 273F:8227 BB 0000 mov bx,0 273F:822A A9 0004 test ax,4 273F:822D 74 03 jz loc_1617 ; Jump if zero 273F:822F BB 0054 mov bx,54h 273F:8232 loc_1617: ; xref 273F:822D 273F:8232 89 5C 24 mov [si+24h],bx 273F:8235 úBB 003F mov bx,3Fh ; (273F:003F=0) 273F:8238 F7 E3 mul bx ; dx:ax = reg * ax 273F:823A 83 C2 14 add dx,14h 273F:823D 89 54 1F mov [si+1Fh],dx 273F:8240 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ head_animation_tick_proc proc near 273F:8241 E8 DF34 call talk_countdown_handler 273F:8244 úBB 6CEF mov bx, offset player_hotspot_rec 273F:8247 81 7F 0F 00CF cmp word ptr [bx+HS_Y], 80h + 79 273F:824C 73 03 jae loc_1618 ; Jump if above or = 273F:824E úBB 70B9 mov bx, offset ratpouch_hotspot_rec 273F:8251 loc_1618: ; xref 273F:824C 273F:8251 8B 5F 0D mov bx, [bx+HS_X] 273F:8254 33 C0 xor ax, ax 273F:8256 81 FB 00C8 cmp bx, 80h + 72 273F:825A 72 0A jb loc_1619 ; Jump if below 273F:825C B0 01 mov al, 1 273F:825E 81 FB 012C cmp bx, 80h + 172 273F:8262 72 02 jb loc_1619 ; Jump if below 273F:8264 B0 02 mov al,2 273F:8266 loc_1619: ; xref 273F:825A, 8262 273F:8266 88 44 2A mov [si+2Ah], al 273F:8269 E9 FDA7 jmp loc_set_frame_offset head_animation_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_room_14_door_close proc near 273F:826C B8 2719 mov ax,2719h 273F:826F E8 EF7C call room_exit_hs_get_pointer 273F:8272 C6 44 0C 01 mov byte ptr [si+0Ch],1 273F:8276 C3 retn seq_room_14_door_close proc near ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_decrase_groats proc near 273F:8277 E8 8A6E call get_room_resource_pointer 273F:827A 29 0E BC49 sub num_groats, cx 273F:827E C3 retn seq_decrase_groats endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_incrase_groats proc near 273F:827F E8 8A66 call get_room_resource_pointer 273F:8282 01 0E BC49 add num_groats, cx 273F:8286 C3 retn seq_incrase_groats endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:82AF, 855B, 85F2 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8287 sub_211 proc near 273F:8287 úBB 502A mov bx, offset sub_211_list 273F:828A B9 0003 mov cx, 3 273F:828D 8B 44 06 mov ax, [si+HS_ROOM_NUM] 273F:8290 locloop_1620: ; xref 273F:8297 273F:8290 39 07 cmp [bx], ax ; Found entry for room #? 273F:8292 74 08 je loc_1621 ; Exit if yes 273F:8294 83 C3 04 add bx, 4 273F:8297 E2 F7 loop locloop_1620 ; Loop if cx > 0 273F:8299 33 DB xor bx,bx ; Zero return 273F:829B C3 retn 273F:829C loc_1621: ; xref 273F:8292 273F:829C 8B 5F 02 mov bx, [bx+2] 273F:829F C3 retn sub_211 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:82A0 E8 DED5 call talk_countdown_handler 273F:82A3 F7 44 1F FFFF test word ptr [si+1Fh],0FFFFh 273F:82A8 74 05 jz loc_1622 ; Jump if zero 273F:82AA 83 6C 1F 01 sub word ptr [si+1Fh],1 273F:82AE C3 retn 273F:82AF loc_1622: ; xref 273F:82A8 273F:82AF E8 FFD5 call sub_211 ; (8287) 273F:82B2 8A 44 28 mov al,[si+28h] 273F:82B5 0A C0 or al,al ; Zero ? 273F:82B7 75 60 jnz loc_1626 ; Jump if not zero 273F:82B9 F7 07 FFFF test word ptr [bx],0FFFFh 273F:82BD 74 03 jz loc_1623 ; Jump if zero 273F:82BF E9 0159 jmp loc_1646 ; (841B) 273F:82C2 loc_1623: ; xref 273F:82BD 273F:82C2 53 push bx 273F:82C3 83 C3 02 add bx,2 273F:82C6 B9 0004 mov cx,4 273F:82C9 locloop_1624: ; xref 273F:82ED 273F:82C9 F6 47 03 80 test byte ptr [bx+3],80h 273F:82CD 74 1B jz loc_1625 ; Jump if zero 273F:82CF 8B CB mov cx,bx 273F:82D1 C6 47 03 00 mov byte ptr [bx+3],0 273F:82D5 8B 07 mov ax,[bx] 273F:82D7 5B pop bx 273F:82D8 89 0F mov [bx],cx 273F:82DA 56 push si 273F:82DB E8 8A0C call get_room_resource_pointer2 273F:82DE 8B 44 0D mov ax,[si+0Dh] 273F:82E1 5E pop si 273F:82E2 89 44 24 mov [si+24h],ax 273F:82E5 C6 44 28 80 mov byte ptr [si+28h],80h 273F:82E9 C3 retn 273F:82EA loc_1625: ; xref 273F:82CD 273F:82EA 83 C3 04 add bx,4 273F:82ED E2 DA loop locloop_1624 ; Loop if cx > 0 273F:82EF 5B pop bx 273F:82F0 33 C0 xor ax,ax ; Zero register 273F:82F2 89 47 02 mov [bx+2],ax 273F:82F5 89 47 04 mov [bx+4],ax 273F:82F8 89 47 06 mov [bx+6],ax 273F:82FB 89 47 08 mov [bx+8],ax 273F:82FE 89 47 0A mov [bx+0Ah],ax 273F:8301 89 47 0C mov [bx+0Ch],ax nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 316 273F:8304 89 47 0E mov [bx+0Eh],ax 273F:8307 89 47 10 mov [bx+10h],ax 273F:830A E8 C15F call random 273F:830D B9 0003 mov cx,3 273F:8310 F7 E1 mul cx ; dx:ax = reg * ax 273F:8312 92 xchg dx,ax 273F:8313 05 0001 add ax,1 273F:8316 88 44 28 mov [si+28h],al 273F:8319 loc_1626: ; xref 273F:82B7 273F:8319 A8 80 test al,80h 273F:831B 75 10 jnz loc_1627 ; Jump if not zero 273F:831D 24 3F and al,3Fh ; '?' 273F:831F 3C 02 cmp al,2 273F:8321 72 0D jb loc_1628 ; Jump if below 273F:8323 74 0D jz loc_1629 ; Jump if zero 273F:8325 3C 04 cmp al,4 273F:8327 74 0E je loc_1631 ; Jump if equal 273F:8329 72 09 jc loc_1630 ; Jump if carry Set 273F:832B EB 0D jmp short loc_1632 ; (833A) 273F:832D loc_1627: ; xref 273F:831B 273F:832D E9 015A jmp loc_1652 ; (848A) 273F:8330 loc_1628: ; xref 273F:8321 273F:8330 EB 0B jmp short loc_1633 ; (833D) 273F:8332 loc_1629: ; xref 273F:8323 273F:8332 EB 2F jmp short loc_1636 ; (8363) 273F:8334 loc_1630: ; xref 273F:8329 273F:8334 E9 00CA jmp loc_1643 ; (8401) 273F:8337 loc_1631: ; xref 273F:8327 273F:8337 E9 00D7 jmp loc_1645 ; (8411) 273F:833A loc_1632: ; xref 273F:832B 273F:833A E9 00B6 jmp loc_1642 ; (83F3) 273F:833D loc_1633: ; xref 273F:8330 273F:833D E8 C12C call random 273F:8340 81 7D 1B 0436 cmp word ptr [di+1Bh],436h 273F:8345 74 11 je loc_1635 ; Jump if equal 273F:8347 BB 0055 mov bx,55h 273F:834A F7 E3 mul bx ; dx:ax = reg * ax 273F:834C 81 C2 00F5 add dx,0F5h 273F:8350 loc_1634: ; xref 273F:8361 273F:8350 ú89 54 24 mov [si+24h],dx 273F:8353 C6 44 28 83 mov byte ptr [si+28h],83h 273F:8357 C3 retn 273F:8358 loc_1635: ; xref 273F:8345 273F:8358 BB 0033 mov bx,33h 273F:835B F7 E3 mul bx ; dx:ax = reg * ax 273F:835D 81 C2 00DE add dx,0DEh 273F:8361 EB ED jmp short loc_1634 ; (8350) 273F:8363 loc_1636: ; xref 273F:8332 273F:8363 F6 44 28 40 test byte ptr [si+28h],40h ; '@' 273F:8367 75 4B jnz loc_1640 ; Jump if not zero 273F:8369 81 7D 1B 0436 cmp word ptr [di+1Bh],436h 273F:836E 75 3E jne loc_1638 ; Jump if not equal 273F:8370 83 3E 6CF5 23 cmp word ptr ds:[6CF5h],23h ; (273F:6CF5=551Eh) 273F:8375 74 37 je loc_1638 ; Jump if equal 273F:8377 83 3E 6DEC 23 cmp word ptr ds:[6DECh],23h ; (273F:6DEC=4BFAh) 273F:837C 74 30 je loc_1638 ; Jump if equal 273F:837E 83 3E 77C8 23 cmp word ptr ds:[77C8h],23h ; (273F:77C8=0F74h) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 317 273F:8383 74 29 je loc_1638 ; Jump if equal 273F:8385 E8 C0E4 call random 273F:8388 0B C0 or ax,ax ; Zero ? 273F:838A 78 05 js loc_1637 ; Jump if sign=1 273F:838C B8 4FED mov ax,4FEDh 273F:838F EB 20 jmp short loc_1639 ; (83B1) 273F:8391 loc_1637: ; xref 273F:838A 273F:8391 C7 44 21 59ED mov word ptr [si+21h],59EDh 273F:8396 C7 45 04 0020 mov word ptr [di+4],20h 273F:839B C6 06 5029 08 mov byte ptr ds:[5029h],8 ; (273F:5029=47h) 273F:83A0 83 2D 08 sub word ptr [di],8 273F:83A3 A1 59F0 mov ax,word ptr ds:[59F0h] ; (273F:59F0=0ABBh) 273F:83A6 89 45 0A mov [di+0Ah],ax 273F:83A9 B8 5010 mov ax,5010h 273F:83AC EB 03 jmp short loc_1639 ; (83B1) 273F:83AE loc_1638: ; xref 273F:836E, 8375, 837C, 8383 273F:83AE 8B 47 14 mov ax,[bx+14h] 273F:83B1 loc_1639: ; xref 273F:838F, 83AC 273F:83B1 89 44 24 mov [si+24h],ax 273F:83B4 loc_1640: ; xref 273F:8367, 83F7, 83FF 273F:83B4 ú80 4C 28 40 or byte ptr [si+28h],40h ; '@' 273F:83B8 8B 5C 24 mov bx,[si+24h] 273F:83BB 83 44 24 01 add word ptr [si+24h],1 273F:83BF 8A 07 mov al,[bx] 273F:83C1 0A C0 or al,al ; Zero ? 273F:83C3 74 06 jz loc_1641 ; Jump if zero 273F:83C5 88 44 2A mov [si+2Ah],al 273F:83C8 E9 FC48 jmp loc_set_frame_offset 273F:83CB loc_1641: ; xref 273F:83C3 273F:83CB 81 7D 1B 0436 cmp word ptr [di+1Bh],436h 273F:83D0 75 2F jne loc_1643 ; Jump if not equal 273F:83D2 C7 44 21 59E4 mov word ptr [si+21h],59E4h 273F:83D7 C7 45 04 0010 mov word ptr [di+4],10h 273F:83DC A1 59E7 mov ax,word ptr ds:[59E7h] ; (273F:59E7=2E00h) 273F:83DF 89 45 0A mov [di+0Ah],ax 273F:83E2 F6 06 5029 FF test byte ptr ds:[5029h],0FFh ; (273F:5029=47h) 273F:83E7 74 18 jz loc_1643 ; Jump if zero 273F:83E9 83 05 08 add word ptr [di],8 273F:83EC C6 06 5029 00 mov byte ptr ds:[5029h],0 ; (273F:5029=47h) 273F:83F1 EB 0E jmp short loc_1643 ; (8401) 273F:83F3 loc_1642: ; xref 273F:833A 273F:83F3 F6 44 28 40 test byte ptr [si+28h],40h ; '@' 273F:83F7 75 BB jnz loc_1640 ; Jump if not zero 273F:83F9 8B 47 16 mov ax,[bx+16h] 273F:83FC 89 44 24 mov [si+24h],ax 273F:83FF EB B3 jmp short loc_1640 ; (83B4) 273F:8401 loc_1643: ; xref 273F:8334, 83D0, 83E7, 83F1 273F:8401 C7 44 1F 000A mov word ptr [si+1Fh],0Ah 273F:8406 loc_1644: ; xref 273F:8419 273F:8406 úC6 44 28 00 mov byte ptr [si+28h],0 273F:840A C6 44 2A 0C mov byte ptr [si+2Ah],0Ch 273F:840E E9 FC02 jmp loc_set_frame_offset 273F:8411 loc_1645: ; xref 273F:8337 273F:8411 F7 06 9838 FFFF test data_431,0FFFFh ; (273F:9838=5C8Bh) 273F:8417 75 35 jnz loc_ret_1647 ; Jump if not zero 273F:8419 EB EB jmp short loc_1644 ; (8406) 273F:841B loc_1646: ; xref 273F:82BF 273F:841B 8B D3 mov dx,bx 273F:841D 8B 1F mov bx,[bx] 273F:841F 8B 07 mov ax,[bx] 273F:8421 56 push si 273F:8422 E8 88C5 call get_room_resource_pointer2 273F:8425 8B 44 0F mov ax,[si+0Fh] 273F:8428 03 44 1B add ax,[si+1Bh] 273F:842B 5E pop si 273F:842C 87 DA xchg bx,dx 273F:842E 8B 4F 18 mov cx,[bx+18h] 273F:8431 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:8433 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:8435 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:8437 81 C1 0098 add cx,98h 273F:843B 3B C1 cmp ax,cx 273F:843D 72 10 jb loc_1648 ; Jump if below 273F:843F C7 07 0000 mov word ptr [bx],0 273F:8443 87 DA xchg bx,dx 273F:8445 C7 07 0000 mov word ptr [bx],0 273F:8449 C7 47 02 0000 mov word ptr [bx+2],0 273F:844E loc_ret_1647: ; xref 273F:8417 273F:844E C3 retn 273F:844F loc_1648: ; xref 273F:843D 273F:844F 87 DA xchg bx,dx 273F:8451 81 3F 03E8 cmp word ptr [bx], PLAYER_HOTSPOT_ID 273F:8455 74 05 je loc_1649 ; Jump if equal 273F:8457 C6 47 03 00 mov byte ptr [bx+3],0 273F:845B C3 retn 273F:845C loc_1649: ; xref 273F:8455 273F:845C 80 67 03 7F and byte ptr [bx+3],7Fh 273F:8460 F6 47 03 07 test byte ptr [bx+3],7 273F:8464 74 0D jz loc_1651 ; Jump if zero 273F:8466 8A 47 03 mov al,[bx+3] 273F:8469 80 67 03 F8 and byte ptr [bx+3],0F8h 273F:846D 32 E4 xor ah,ah ; Zero register 273F:846F 89 44 28 mov [si+28h],ax 273F:8472 loc_ret_1650: ; xref 273F:8478 273F:8472 C3 retn 273F:8473 loc_1651: ; xref 273F:8464 273F:8473 F7 44 2F FFFF test word ptr [si+2Fh],0FFFFh 273F:8478 75 F8 jnz loc_ret_1650 ; Jump if not zero 273F:847A C7 07 0000 mov word ptr [bx],0 273F:847E 8B DA mov bx,dx 273F:8480 C7 07 0000 mov word ptr [bx],0 273F:8484 C7 44 28 0002 mov word ptr [si+28h],2 273F:8489 C3 retn 273F:848A loc_1652: ; xref 273F:832D 273F:848A 8B 44 0D mov ax,[si+0Dh] 273F:848D BA FFFE mov dx,0FFFEh 273F:8490 2B 44 24 sub ax,[si+24h] 273F:8493 73 14 jnc loc_1654 ; Jump if carry=0 273F:8495 F7 D8 neg ax 273F:8497 F7 DA neg dx 273F:8499 80 44 2A 01 add byte ptr [si+2Ah],1 273F:849D 80 7C 2A 06 cmp byte ptr [si+2Ah],6 nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 319 273F:84A1 72 04 jb loc_1653 ; Jump if below 273F:84A3 C6 44 2A 00 mov byte ptr [si+2Ah],0 273F:84A7 loc_1653: ; xref 273F:84A1 273F:84A7 EB 14 jmp short loc_1656 ; (84BD) 273F:84A9 loc_1654: ; xref 273F:8493 273F:84A9 80 44 2A 01 add byte ptr [si+2Ah],1 273F:84AD 80 7C 2A 0C cmp byte ptr [si+2Ah],0Ch 273F:84B1 73 06 jae loc_1655 ; Jump if above or = 273F:84B3 80 7C 2A 06 cmp byte ptr [si+2Ah],6 273F:84B7 73 04 jae loc_1656 ; Jump if above or = 273F:84B9 loc_1655: ; xref 273F:84B1 273F:84B9 C6 44 2A 06 mov byte ptr [si+2Ah],6 273F:84BD loc_1656: ; xref 273F:84A7, 84B7 273F:84BD 3D 0002 cmp ax,2 273F:84C0 72 08 jb loc_1657 ; Jump if below 273F:84C2 01 54 0D add [si+0Dh],dx 273F:84C5 01 15 add [di],dx 273F:84C7 E9 FB49 jmp loc_set_frame_offset 273F:84CA loc_1657: ; xref 273F:84C0 273F:84CA C6 44 2A 0C mov byte ptr [si+2Ah],0Ch 273F:84CE 80 64 28 7F and byte ptr [si+28h],7Fh 273F:84D2 E9 FB3E jmp loc_set_frame_offset ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8565 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:84D5 sub_212 proc near 273F:84D5 8B 44 0F mov ax, [si+HS_Y] 273F:84D8 03 44 1B add ax, [si+HS_HEIGHT_COPY] 273F:84DB 8B 4F 18 mov cx, [bx+18h] 273F:84DE D1 E1 shl cx,1 ; Shift w/zeros fill 273F:84E0 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:84E2 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:84E4 81 C1 0098 add cx,98h 273F:84E8 3B C1 cmp ax,cx 273F:84EA 73 06 jae loc_1658 ; Jump if above or = 273F:84EC 0D 0001 or ax,1 273F:84EF 33 C9 xor cx,cx ; Zero register 273F:84F1 C3 retn 273F:84F2 loc_1658: ; xref 273F:84EA 273F:84F2 53 push bx 273F:84F3 8B 44 06 mov ax,[si+6] 273F:84F6 2D 0001 sub ax,1 273F:84F9 BA 0078 mov dx,78h 273F:84FC F7 E2 mul dx ; dx:ax = reg * ax 273F:84FE 8B 4F 18 mov cx,[bx+18h] 273F:8501 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:8503 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:8505 03 4F 18 add cx,[bx+18h] 273F:8508 03 C1 add ax,cx 273F:850A 05 0004 add ax,4 273F:850D úBB 984A mov bx, offset data_441 273F:8510 03 D8 add bx,ax 273F:8512 B2 01 mov dl,1 273F:8514 B9 0027 mov cx,27h 273F:8517 32 F6 xor dh,dh ; Zero register 273F:8519 locloop_1659: ; xref 273F:8553 273F:8519 84 17 test dl,[bx] 273F:851B 75 2B jnz loc_1660 ; Jump if not zero 273F:851D 80 C6 01 add dh,1 273F:8520 80 FE 04 cmp dh,4 273F:8523 72 25 jb loc_1661 ; Jump if below 273F:8525 B8 0008 mov ax,8 273F:8528 F7 E1 mul cx ; dx:ax = reg * ax 273F:852A 8B C8 mov cx,ax 273F:852C 81 C1 0080 add cx,80h 273F:8530 5B pop bx 273F:8531 53 push bx 273F:8532 8B 57 18 mov dx,[bx+18h] 273F:8535 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:8537 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:8539 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:853B 81 C2 0088 add dx,88h 273F:853F B0 01 mov al,1 273F:8541 E8 CFD5 call character_start_walking 273F:8544 33 C9 xor cx,cx ; Zero register 273F:8546 5B pop bx 273F:8547 C3 retn 273F:8548 loc_1660: ; xref 273F:851B 273F:8548 32 F6 xor dh,dh ; Zero register 273F:854A loc_1661: ; xref 273F:8523 273F:854A D0 E2 shl dl,1 ; Shift w/zeros fill 273F:854C 73 05 jnc loc_1662 ; Jump if carry=0 273F:854E 83 EB 01 sub bx,1 273F:8551 B2 01 mov dl,1 273F:8553 loc_1662: ; xref 273F:854C 273F:8553 E2 C4 loop locloop_1659 ; Loop if cx > 0 273F:8555 83 C9 01 or cx,1 273F:8558 5B pop bx 273F:8559 C3 retn sub_212 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:45B8 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:855A sub_213 proc near 273F:855A 53 push bx 273F:855B E8 FD29 call sub_211 ; list[room #] => bx 273F:855E F6 44 2A FF test byte ptr [si+HS_ACTION_CTR], 0FFh 273F:8562 75 45 jnz loc_1669 ; Jump if not zero 273F:8564 58 pop ax 273F:8565 E8 FF6D call sub_212 ; (84D5) 273F:8568 74 03 jz loc_1664 ; Jump if zero 273F:856A loc_1663: ; xref 273F:8594 273F:856A ú33 C0 xor ax,ax ; Zero register 273F:856C C3 retn 273F:856D loc_1664: ; xref 273F:8568 273F:856D 0B C0 or ax, ax ; Zero ? 273F:856F 74 35 jz loc_1668 ; Jump if zero 273F:8571 83 C3 02 add bx, 2 273F:8574 B9 0004 mov cx, 4 273F:8577 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:857A locloop_1665: ; xref 273F:8581 273F:857A 39 07 cmp [bx], ax 273F:857C 74 18 je loc_1667 ; Jump if equal 273F:857E 83 C3 04 add bx,4 273F:8581 E2 F7 loop locloop_1665 ; Loop if cx > 0 273F:8583 B9 0004 mov cx, 4 273F:8586 83 EB 10 sub bx, 10h 273F:8589 locloop_1666: ; xref 273F:8592 273F:8589 F7 07 FFFF test word ptr [bx], 0FFFFh 273F:858D 74 07 jz loc_1667 ; Jump if zero 273F:858F 83 C3 04 add bx, 4 273F:8592 E2 F5 loop locloop_1666 ; Loop if cx > 0 273F:8594 EB D4 jmp short loc_1663 ; (856A) 273F:8596 loc_1667: ; xref 273F:857C, 858D 273F:8596 89 07 mov [bx],ax 273F:8598 C6 47 03 82 mov byte ptr [bx+3],82h 273F:859C C6 44 2A 01 mov byte ptr [si+2Ah],1 273F:85A0 E8 BDC3 call character_update_movement 273F:85A3 E8 BF33 call char_face_up 273F:85A6 loc_1668: ; xref 273F:856F 273F:85A6 33 C0 xor ax,ax ; Zero register 273F:85A8 C3 retn 273F:85A9 loc_1669: ; xref 273F:8562 273F:85A9 83 C3 02 add bx, 2 273F:85AC B9 0004 mov cx, 4 273F:85AF 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:85B2 locloop_1670: ; xref 273F:85B9 273F:85B2 39 07 cmp [bx], ax 273F:85B4 74 0D je loc_1672 ; Jump if equal 273F:85B6 83 C3 04 add bx,4 273F:85B9 E2 F7 loop locloop_1670 ; Loop if cx > 0 273F:85BB C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:85BF loc_1671: ; xref 273F:85C7 273F:85BF 5B pop bx 273F:85C0 33 C0 xor ax,ax ; Zero register 273F:85C2 C3 retn 273F:85C3 loc_1672: ; xref 273F:85B4 273F:85C3 F6 47 03 80 test byte ptr [bx+3], 80h 273F:85C7 75 F6 jnz loc_1671 ; Jump if not zero 273F:85C9 5B pop bx 273F:85CA B8 0001 mov ax, 1 273F:85CD C3 retn sub_213 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:85CE E8 DBA7 call talk_countdown_handler 273F:85D1 E9 FA3F jmp loc_set_frame_offset ;* No entry point to code 273F:85D4 BA 3627 mov dx,3627h 273F:85D7 8B 44 06 mov ax,[si+6] 273F:85DA 89 47 03 mov [bx+3],ax 273F:85DD 89 57 01 mov [bx+1],dx 273F:85E0 C3 retn ;* No entry point to code 273F:85E1 C7 06 6B98 0063 mov word ptr ds:[6B98h],63h ; (273F:6B98=75C9h) 273F:85E7 C3 retn ;* No entry point to code 273F:85E8 C7 06 6B98 0011 mov word ptr ds:[6B98h],11h ; (273F:6B98=75C9h) 273F:85EE C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_56 proc near 273F:85EF úBE 6CEF mov si, offset player_hotspot_rec 273F:85F2 E8 FC92 call sub_211 ; (8287) 273F:85F5 0B DB or bx,bx ; Zero ? 273F:85F7 74 16 jz loc_ret_1675 ; Jump if zero 273F:85F9 83 C3 02 add bx,2 273F:85FC B9 0004 mov cx,4 273F:85FF locloop_1673: ; xref 273F:8608 273F:85FF 81 3F 03E8 cmp word ptr [bx], PLAYER_HOTSPOT_ID 273F:8603 74 06 je loc_1674 ; Jump if equal 273F:8605 83 C3 04 add bx,4 273F:8608 E2 F5 loop locloop_1673 ; Loop if cx > 0 273F:860A C3 retn 273F:860B loc_1674: ; xref 273F:8603 273F:860B 80 4F 03 05 or byte ptr [bx+3],5 273F:860F loc_ret_1675: ; xref 273F:85F7 273F:860F C3 retn seq_method_56 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ get_num_groats proc near 273F:8610 A1 BC49 mov ax, num_groats 273F:8613 A3 BA1F mov general_val, ax 273F:8616 loc_ret_1676: ; xref 273F:861C, 8623 273F:8616 C3 retn get_num_groats endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:8617 83 3E BA3B 08 cmp talk_record_index, 8 273F:861C 72 F8 jb loc_ret_1676 ; Jump if below 273F:861E 83 3E BA3B 0E cmp talk_record_index, 0Eh 273F:8623 73 F1 jae loc_ret_1676 ; Jump if above or = 273F:8625 C7 44 0F 00D5 mov word ptr [si+0Fh],0D5h 273F:862A E9 EB45 jmp animation_load_2 273F:862D E9 DB48 jmp talk_countdown_handler ;* No entry point to code 273F:8630 úBE 7D21 mov si, offset goewin_hotspot_rec 273F:8633 8B 7C 0B mov di,[si+0Bh] 273F:8636 E8 BD2D call character_update_movement 273F:8639 8B DE mov bx,si 273F:863B 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:863E 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:8641 C6 07 03 mov byte ptr [bx],3 273F:8644 C7 44 28 05DC mov word ptr [si+28h],5DCh 273F:8649 C7 44 24 0616 mov word ptr [si+24h],616h 273F:864E C7 45 11 865A mov word ptr [di+11h],865Ah 273F:8653 C7 06 BD9B 03EF mov word ptr ds:data_496e,3EFh ; (273F:BD9B=0) 273F:8659 loc_ret_1677: ; xref 273F:8679 273F:8659 C3 retn ;* No entry point to code 273F:865A C7 44 50 0000 mov word ptr [si+HS_DIRECTION], 0 273F:865F C6 44 44 07 mov byte ptr [si+HS_CHAR_MODE], CHARMODE_7 273F:8663 E8 DB12 call talk_countdown_handler 273F:8666 F7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:866B 74 05 jz loc_1678 ; Jump if zero 273F:866D 83 6C 1F 01 sub word ptr [si+HS_FRAME_CTR], 1 273F:8671 C3 retn 273F:8672 loc_1678: ; xref 273F:866B 273F:8672 E8 8934 call hotspot_script_execute 273F:8675 83 6C 28 01 sub word ptr [si+HS_FRAME_OFFSET], 1 273F:8679 75 DE jnz loc_ret_1677 ; Jump if not zero 273F:867B 83 3E BA3B 0C cmp talk_record_index, 0Ch 273F:8680 74 3B je loc_1679 ; Jump if equal 273F:8682 83 3E BA3B 0D cmp talk_record_index, 0Dh 273F:8687 74 34 je loc_1679 ; Jump if equal 273F:8689 83 3E BA3B 0E cmp talk_record_index, 0Eh 273F:868E 74 2D je loc_1679 ; Jump if equal 273F:8690 83 3E 6CF5 22 cmp [player_hotspot_rec+HS_ROOM_NUM], 34 273F:8695 74 26 je loc_1679 ; Jump if equal ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_60 proc near 273F:8697 úBE 7D21 mov si, offset goewin_hotspot_rec 273F:869A 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] 273F:869D 8B DE mov bx, si 273F:869F 03 5C 61 add bx, [si+HS_ACTION_OFFSET] 273F:86A2 83 C3 63 add bx, HS_FIRST_ACTION_OFFSET 273F:86A5 C6 07 02 mov byte ptr [bx], CHAR_ACTION_DISPATCH_ACTION 273F:86A8 C6 44 44 00 mov byte ptr [si+HS_CHAR_MODE], 0 273F:86AC C7 44 50 0000 mov word ptr [si+HS_DIRECTION], 0 273F:86B1 C7 45 11 4F82 mov word ptr [di+ANIM_TICK_PROC], offset standard_character_tick_proc 273F:86B6 C7 06 BD9B FFFF mov word ptr ds:data_496e, 0FFFFh ; (273F:BD9B=0) 273F:86BC C3 retn seq_method_60 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:86BD loc_1679: ; xref 273F:8680, 8687, 868E, 8695 273F:86BD C7 44 28 05DC mov word ptr [si+HS_FRAME_OFFSET], 5DCh 273F:86C2 C3 retn ;* No entry point to code 273F:86C3 B8 271E mov ax, 271Eh 273F:86C6 E8 EB25 call room_exit_hs_get_pointer 273F:86C9 C6 44 0C 00 mov byte ptr [si+REHS_EXIT_BLOCKED], 0 273F:86CD C3 retn ;* No entry point to code 273F:86CE B8 271E mov ax,271Eh 273F:86D1 E8 EB1A call room_exit_hs_get_pointer 273F:86D4 C6 44 0C 01 mov byte ptr [si+REHS_EXIT_BLOCKED], 1 273F:86D8 C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_59 proc near 273F:86D9 C7 06 8CE7 0800 mov data_8ce7, 800h 273F:86DF C7 06 8D2C 0800 mov data_8d2C, 800h 273F:86E5 C3 retn seq_method_59 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_door_close proc near 273F:86E6 8B C3 mov ax,bx 273F:86E8 E8 EB03 call room_exit_hs_get_pointer 273F:86EB C6 44 0C 01 mov byte ptr [si+REHS_EXIT_BLOCKED], 1 273F:86EF C3 retn seq_door_close endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_door_open proc near 273F:86F0 8B C3 mov ax,bx 273F:86F2 E8 EAF9 call room_exit_hs_get_pointer 273F:86F5 C6 44 0C 00 mov byte ptr [si+REHS_EXIT_BLOCKED], 0 273F:86F9 C3 retn seq_door_open endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:86FA B8 272A mov ax,272Ah 273F:86FD EB 03 jmp short loc_1680 ; (8702) 273F:86FF B8 2C 27 db 0B8h, 2Ch, 27h 273F:8702 loc_1680: ; xref 273F:86FD, 8740 273F:8702 úC7 45 08 0000 mov word ptr [di+8],0 273F:8707 56 push si 273F:8708 E8 EAE3 call room_exit_hs_get_pointer 273F:870B 5B pop bx 273F:870C 87 DE xchg bx,si 273F:870E F6 47 0C FF test byte ptr [bx+0Ch],0FFh 273F:8712 75 09 jnz loc_ret_1681 ; Jump if not zero 273F:8714 8B 5C 21 mov bx,[si+21h] 273F:8717 8B 47 07 mov ax,[bx+7] 273F:871A 89 45 08 mov [di+8],ax 273F:871D loc_ret_1681: ; xref 273F:8712 273F:871D C3 retn 273F:871E B8 272A mov az, 272Ah 273F:8721 loc_1682: ; xref 273F:8745, 874A 273F:8721 úC7 45 08 0000 mov word ptr [di+8],0 273F:8726 56 push si 273F:8727 E8 EAC4 call room_exit_hs_get_pointer 273F:872A 5B pop bx 273F:872B 87 DE xchg bx,si 273F:872D F6 47 0C FF test byte ptr [bx+0Ch],0FFh 273F:8731 74 09 jz loc_ret_1683 ; Jump if zero 273F:8733 8B 5C 21 mov bx,[si+21h] 273F:8736 8B 47 07 mov ax,[bx+7] 273F:8739 89 45 08 mov [di+8],ax 273F:873C loc_ret_1683: ; xref 273F:8731 273F:873C C3 retn ;* No entry point to code 273F:873D B8 272E mov ax,272Eh 273F:8740 EB C0 jmp short loc_1680 ; (8702) ;* No entry point to code 273F:8742 B8 272C mov ax,272Ch 273F:8745 EB DA jmp short loc_1682 ; (8721) ;* No entry point to code 273F:8747 B8 272A mov ax,272Ah 273F:874A EB D5 jmp short loc_1682 ; (8721) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_58 proc near 273F:874C C7 06 BA1D 0000 mov sequence_result, 0 273F:8752 81 3E 84CD 03E8 cmp hotspot_2713_hs5e, PLAYER_HOTSPOT_ID 273F:8758 75 06 jne loc_ret_1684 ; Jump if not equal 273F:875A C7 06 BA1D 0001 mov sequence_result, 1 273F:8760 loc_ret_1684: 273F:8760 C3 retn seq_method_58 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_method_43 proc near 273F:8761 úBE 7D21 mov si, offset goewin_hotspot_rec 273F:8764 8B 7C 0B mov di, [si+HS_ANIM_OFFSET] 273F:8767 C7 45 11 4F82 mov word ptr [di+ANIM_TICK_PROC], 4F82h 273F:876C C7 44 17 4F82 mov word ptr [si+HS_TICK_PROC], 4F82h 273F:8771 C7 44 64 7D9D mov word ptr [si+HS_FIRST_ACTION_OFFSET+CURRENT_ACTION_SUPPORT_TABLE], 7D9Dh 273F:8776 C6 44 63 02 mov byte ptr [si+HS_FIRST_ACTION_OFFSET], 2 273F:877A 81 36 7D21 1000 xor [goewin_hotspot_rec+HS_ACTIONS], 1000h 273F:8780 EB 22 jmp short loc_1685 seq_method_43 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8782 úBE 7D21 mov si, offset goewin_hotspot_rec 273F:8785 8B 7C 0B mov di,[si+0Bh] 273F:8788 C7 45 11 7C24 mov word ptr [di+11h],7C24h 273F:878D C7 44 17 7C24 mov word ptr [si+17h],7C24h 273F:8792 C7 44 64 4EBB mov word ptr [si+64h],4EBBh 273F:8797 C6 44 63 02 mov byte ptr [si+63h],2 273F:879B C7 44 66 0026 mov word ptr [si+66h],26h 273F:87A0 81 0C 1000 or word ptr [si],1000h 273F:87A4 loc_1685: ; xref 273F:8780 273F:87A4 33 C0 xor ax,ax ; Zero register 273F:87A6 89 44 61 mov [si+HS_ACTION_OFFSET], ax 273F:87A9 88 44 2A mov [si+HS_ACTION_CTR], al 273F:87AC 89 44 42 mov [si+HS_DELAY_CTR], ax 273F:87AF 88 44 44 mov [si+HS_CHAR_MODE], al 273F:87B2 C3 retn ;* No entry point to code 273F:87B3 E8 87F3 call hotspot_script_execute 273F:87B6 75 05 jnz loc_ret_1686 ; Jump if not zero 273F:87B8 80 0E 073D 50 or status_flags2, 50h 273F:87BD loc_ret_1686: ; xref 273F:87B6, 87C3 273F:87BD C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; This method is referenced by a jump point for NPC script action #40 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_jump_to_address_proc_1 proc near 273F:87BE 83 3E BA25 13 cmp old_room_number, 13h 273F:87C3 75 F8 jne loc_ret_1686 ; Jump if not equal 273F:87C5 C7 06 BA3B 0018 mov talk_record_index, 18h 273F:87CB BB 03F1 mov bx,3F1h 273F:87CE B9 0154 mov cx,154h 273F:87D1 E8 0006 call seq_set_hotspot_name 273F:87D4 BB 0AB9 mov bx, 0AB9h 273F:87D7 E9 00E2 jmp display_dialog npc_jump_to_address_proc_1 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:87D1, 89A6 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:87DA seq_set_hotspot_name proc near 273F:87DA 51 push cx 273F:87DB E8 8541 call get_room_resource_pointer3 273F:87DE 58 pop ax 273F:87DF 89 44 02 mov [si+HSH_NAME], ax 273F:87E2 C3 retn seq_set_hotspot_name endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_set_desc proc near 273F:87E3 51 push cx 273F:87E4 E8 8538 call get_room_resource_pointer3 273F:87E7 58 pop ax 273F:87E8 89 44 04 mov [si+HSH_DESC], ax 273F:87EB C3 retn seq_set_desc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:87EC E8 D989 call talk_countdown_handler 273F:87EF F7 44 1F FFFF test word ptr [si+1Fh],0FFFFh 273F:87F4 74 05 jz loc_1688 ; Jump if zero 273F:87F6 83 6C 1F 01 sub word ptr [si+1Fh],1 273F:87FA loc_ret_1687: ; xref 273F:87FE 273F:87FA C3 retn 273F:87FB loc_1688: ; xref 273F:87F4 273F:87FB E8 87AB call hotspot_script_execute 273F:87FE 75 FA jnz loc_ret_1687 ; Jump if not zero 273F:8800 E8 8A6F call animation_unload 273F:8803 C6 44 15 FF mov byte ptr [si+15h],0FFh 273F:8807 C7 44 37 0000 mov word ptr [si+HS_TALK_COUNTDOWN],0 273F:880C 80 4C 03 20 or byte ptr [si+3],20h ; ' ' 273F:8810 C7 06 6FEF 002D mov word ptr ds:[6FEFh],2Dh ; (273F:6FEF=0D107h) 273F:8816 úBB 03F3 mov bx,3F3h ; (273F:03F3=0FBh) 273F:8819 E9 84AA jmp animation_load_entry ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; This method is referenced by a jump point for NPC script action #40 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß npc_jump_to_address_proc_2 proc near 273F:881C 81 3E 6CFE 00B4 cmp [player_hotspot_rec+HS_Y], 80h + 52 273F:8822 73 14 jae loc_ret_1689 ; Jump if above or = 273F:8824 BD 706C mov bp, 706Ch 273F:8827 E9 CD57 jmp character_walking_end npc_jump_to_address_proc_2 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Contains all the standard handling for characters, such as the Skorl ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ rack_serf_tick_proc proc near 273F:882A E8 D94B call talk_countdown_handler 273F:882D F7 44 1F FFFF test word ptr [si+HS_FRAME_CTR], 0FFFFh 273F:8832 74 05 jz loc_1690 273F:8834 83 6C 1F 01 sub word ptr [si+HS_FRAME_CTR], 1 273F:8838 loc_ret_1689: 273F:8838 C3 retn 273F:8839 loc_1690: 273F:8839 F6 44 2A FF test byte ptr [si+HS_ACTION_CTR], 0FFh 273F:883D 75 01 jnz loc_1691 273F:883F C3 retn 273F:8840 loc_1691: ; xref 273F:883D 273F:8840 80 7C 2A 01 cmp byte ptr [si+HS_ACTION_CTR], 1 273F:8844 74 0E je loc_1692 273F:8846 80 7C 2A 02 cmp byte ptr [si+HS_ACTION_CTR], 2 273F:884A 74 12 je loc_1694 273F:884C 80 7C 2A 03 cmp byte ptr [si+HS_ACTION_CTR], 3 273F:8850 74 18 je loc_1695 273F:8852 EB 23 jmp short loc_1696 273F:8854 loc_1692: 273F:8854 C7 44 24 035C mov word ptr [si+HS_MOVEMENT_OFFSET], 35Ch 273F:8859 80 44 2A 01 add byte ptr [si+HS_ACTION_CTR], 1 273F:885D loc_ret_1693: ; xref 273F:8863, 887C 273F:885D C3 retn 273F:885E loc_1694: ; xref 273F:884A 273F:885E E8 8748 call hotspot_script_execute 273F:8861 0B C0 or ax,ax ; Zero ? 273F:8863 75 F8 jnz loc_ret_1693 ; Jump if not zero 273F:8865 C6 44 2A 00 mov byte ptr [si+HS_ACTION_CTR], 0 273F:8869 C3 retn 273F:886A loc_1695: ; xref 273F:8850 273F:886A C7 44 24 0384 mov word ptr [si+HS_SCRIPT_OFFSET], 384h 273F:886F 80 44 2A 01 add byte ptr [si+HS_ACTION_CTR], 1 273F:8873 C6 45 0C 02 mov byte ptr [di+ANIM_LAYER], 2 273F:8877 loc_1696: ; xref 273F:8852 273F:8877 E8 872F call hotspot_script_execute 273F:887A 0B C0 or ax,ax ; Zero ? 273F:887C 75 DF jnz loc_ret_1693 ; Jump if not zero 273F:887E E8 89F1 call animation_unload 273F:8881 C6 44 15 FF mov byte ptr [si+HS_LAYER], 0FFh 273F:8885 C7 06 70BF 0004 mov [ratpouch_hotspot_rec+HS_ROOM_NUM], 4 273F:888B BB 03E9 mov bx, RATPOUCH_HOTSPOT_ID 273F:888E E9 8435 jmp animation_load_entry rack_serf_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_check_cell_door proc near 273F:8891 B8 2712 mov ax,2712h ; Cell door hotspot Id 273F:8894 E8 E957 call room_exit_hs_get_pointer 273F:8897 F6 44 0C FF test byte ptr [si+REHS_EXIT_BLOCKED], 0FFh 273F:889B 75 0E jnz loc_ret_1697 ; Jump if blocked seq_check_cell_door_2: 273F:889D F7 06 BA29 FFFF test torch_hide, 0FFFFh ; Torch been pulled? 273F:88A3 74 06 jz loc_ret_1697 ; No, so exit 273F:88A5 BB 0015 mov bx, 15h 273F:88A8 E8 1752 call play_sound ; (9FFD) 273F:88AB loc_ret_1697: ; xref 273F:889B, 88A3 273F:88AB C3 retn seq_check_cell_door endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called by the torch hotspot in room #1 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß torch_load_method proc near 273F:88AC F7 06 BA29 FFFF test torch_hide, 0FFFFh ; Has torch been pulled? 273F:88B2 75 06 jnz loc_ret_1698 ; Yes, so skip load 273F:88B4 BB 040F mov bx,40Fh ; Otherwise, load torch 273F:88B7 E8 E8B5 call animation_load 273F:88BA loc_ret_1698: ; xref 273F:88B2 273F:88BA C3 retn torch_load_method proc near 273F:88BB 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx = Room description resource Id ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ display_dialog proc near 273F:88BC BE 5040 mov si, offset look_info 273F:88BF 89 5C 08 mov [si+8],bx 273F:88C2 C6 06 38B0 01 mov data_781, 1 273F:88C7 E8 0043 call sub_216 ; (890D) 273F:88CA 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:88CF 75 03 jne loc_1700 ; Jump if not equal 273F:88D1 E8 0052 call sub_217 ; (8926) 273F:88D4 loc_1700: ; xref 273F:88CF 273F:88D4 F6 06 073C 20 test byte ptr ds:[73Ch],20h ; (273F:073C=17h) ' ' 273F:88D9 74 0F jz loc_1701 ; Jump if zero 273F:88DB E8 B1DD call replace_vga_palette2 ; (3ABB) 273F:88DE FF 36 073C push word ptr ds:[73Ch] ; (273F:073C=17h) 273F:88E2 FF 16 0762 call [set_lower_palette_proc] 273F:88E6 8F 06 073C pop word ptr ds:[73Ch] ; (273F:073C=17h) 273F:88EA loc_1701: ; xref 273F:88D9 273F:88EA E8 969E call mouse_wait ; (1F8B) 273F:88ED E8 96A6 call pause_for_input ; (1F96) 273F:88F0 E8 9698 call mouse_wait ; (1F8B) 273F:88F3 C6 06 38B0 00 mov data_781, 0 273F:88F8 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:88FD FF 16 075E call [show_cursor_proc] 273F:8901 F6 06 073C 20 test byte ptr ds:[73Ch],20h ; (273F:073C=17h) ' ' 273F:8906 74 04 jz loc_ret_1702 ; Jump if zero 273F:8908 FF 16 0764 call [empty_palette_proc] 273F:890C loc_ret_1702: ; xref 273F:8906 273F:890C C3 retn display_dialog proc near ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4129, 7051, 705B, 88C7 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:890D sub_216 proc near 273F:890D F6 06 11D0 20 test menubar_state, 20h ; (273F:11D0=56h) ' ' 273F:8912 74 12 jz loc_1703 ; Jump if zero 273F:8914 56 push si 273F:8915 80 0E 11D0 01 or menubar_state, 1 ; (273F:11D0=56h) 273F:891A FF 16 075E call [show_cursor_proc] 273F:891E FF 16 0752 call [show_compressed_screen_proc] 273F:8922 E8 8BE9 call room_add_animations 273F:8925 5E pop si ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:88D1 273F:8926 sub_217: 273F:8926 loc_1703: ; xref 273F:8912 273F:8926 56 push si 273F:8927 8A 44 01 mov al,[si+1] 273F:892A 04 01 add al,1 273F:892C 32 E4 xor ah,ah ; Zero register 273F:892E F7 26 074C mul menubar_block_size 273F:8932 8A 0C mov cl,[si] 273F:8934 80 C1 01 add cl,1 273F:8937 32 ED xor ch,ch ; Zero register 273F:8939 91 xchg cx,ax 273F:893A F7 26 074A mul char_width 273F:893E 03 C1 add ax,cx 273F:8940 A3 BA0F mov ds:data_470e,ax ; (273F:BA0F=0) 273F:8943 A3 BA11 mov ds:data_471e,ax ; (273F:BA11=0) 273F:8946 8B 44 08 mov ax,[si+8] 273F:8949 BF AF42 mov di, offset talk_string_buffer 273F:894C 89 3E BA07 mov talk_string_offset, di 273F:8950 FF 74 06 push word ptr [si+6] 273F:8953 E8 F3E4 call decode_string 273F:8956 5D pop bp 273F:8957 A1 0748 mov ax, screen_width 273F:895A A3 BA09 mov ds:data_468e,ax ; (273F:BA09=0) 273F:895D A1 4CE4 mov ax, data_segment2 273F:8960 A3 BA0D mov ds:data_469e,ax ; (273F:BA0D=0) 273F:8963 C6 06 BA13 04 mov byte ptr ds:data_472e,4 ; (273F:BA13=0) 273F:8968 8B 3E 076E mov di, data_571 273F:896C 8A 45 05 mov al,[di+5] 273F:896F A2 BA14 mov ds:data_473e,al ; (273F:BA14=0) 273F:8972 8B 3E BA07 mov di, talk_string_offset 273F:8976 BB BA07 mov bx, offset talk_string_offset 273F:8979 A1 4CF0 mov ax, font2_segment 273F:897C 8E C0 mov es, ax 273F:897E B1 03 mov cl, 3 273F:8980 E8 91AD call word_wrap_string 273F:8983 5E pop si 273F:8984 56 push si 273F:8985 8A D0 mov dl,al 273F:8987 88 44 03 mov [si+3],al 273F:898A 8A 04 mov al,[si] 273F:898C 8A 5C 01 mov bl,[si+1] 273F:898F 8A 4C 02 mov cl,[si+2] 273F:8992 33 ED xor bp,bp ; Zero register 273F:8994 FF 16 077A call [draw_dialog_proc] 273F:8998 úBB BA07 mov bx, offset talk_string_offset 273F:899B loc_1704: ; xref 273F:899E 273F:899B E8 91FA call sub_51 ; (1B98) 273F:899E 74 FB jz loc_1704 ; Jump if zero 273F:89A0 FF 16 0744 call word ptr [show_screen_proc] 273F:89A4 5E pop si 273F:89A5 C3 retn sub_216 endp ;* No entry point to code 273F:89A6 E8 FE31 call seq_set_hotspot_name 273F:89A9 8B 34 mov si,[si] 273F:89AB 80 4C 03 80 or byte ptr [si+3],80h 273F:89AF C3 retn ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; JUMP POINT ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:89B0 loc_1705: ; xref 273F:5BD7 273F:89B0 E8 006E call talk_init 273F:89B3 8B 1E BA21 mov bx, script_v6 273F:89B7 D1 E3 shl bx, 1 273F:89B9 8B 9F 5050 mov bx, give_talk_list[bx] 273F:89BD E8 00C8 call talk_init2 273F:89C0 E9 CBCA jmp character_walking_end_2 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_to_proc proc near 273F:89C3 8B DD mov bx,bp 273F:89C5 8B 07 mov ax, [bx] 273F:89C7 83 C5 02 add bp,2 273F:89CA A3 BA19 mov use_hotspot_id, ax 273F:89CD A3 BA1B mov active_hotspot_id, ax 273F:89D0 56 push si 273F:89D1 E8 8316 call get_room_resource_pointer2 273F:89D4 5B pop bx 273F:89D5 87 DE xchg bx,si 273F:89D7 81 3E BA19 03EA cmp use_hotspot_id, SKORL_HOTSPOT_ID 273F:89DD 74 21 je loc_1708 ; Jump if equal 273F:89DF 83 7C 06 1C cmp word ptr [si+HS_ROOM_NUM], 28 273F:89E3 75 08 jne loc_1706 ; Jump if not equal 273F:89E5 81 3E BA19 03EB cmp use_hotspot_id, 3EBh 273F:89EB 74 13 je loc_1708 ; Jump if equal 273F:89ED loc_1706: ; xref 273F:89E3 273F:89ED A1 BA19 mov ax, use_hotspot_id 273F:89F0 E8 BBB4 call hotspot_action_precheck 273F:89F3 0B C0 or ax,ax ; Zero ? 273F:89F5 74 09 jz loc_1708 ; Jump if zero 273F:89F7 3D 0003 cmp ax,3 273F:89FA 74 03 je loc_ret_1707 ; Jump if equal 273F:89FC E9 CB82 jmp character_walking_end 273F:89FF loc_ret_1707: ; xref 273F:89FA 273F:89FF C3 retn 273F:8A00 loc_1708: ; xref 273F:89DD, 89EB, 89F5 273F:8A00 E8 BCEB call character_face_hotspot 273F:8A03 E8 CBF0 call hotspot_get_action_sequence 273F:8A06 79 03 jns loc_1709 ; Jump if not sign 273F:8A08 E9 D9A6 jmp display_message_dialog_3 273F:8A0B loc_1709: ; xref 273F:8A06 273F:8A0B 74 08 jz loc_1710 ; Jump if zero 273F:8A0D E8 B424 call sequence_execute 273F:8A10 74 03 jz loc_1710 ; Jump if zero 273F:8A12 E9 CB6C jmp character_walking_end 273F:8A15 loc_1710: ; xref 273F:8A0B, 8A10 273F:8A15 E8 0009 call talk_init 273F:8A18 E8 0026 call talk_get_record 273F:8A1B E8 006A call talk_init2 273F:8A1E E9 CB6C jmp character_walking_end_2 talk_to_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx = talking to char hotspot rec ; di = player anim slot ; Amongst other things, sets the player's tick proc to the ; talk tick handler ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_init proc near 273F:8A21 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:8A24 89 47 2F mov [bx+HS_USE_HOTSPOT_ID], ax 273F:8A27 C7 47 2B 0000 mov [bx+HS_V2B], 0 273F:8A2C 89 1E CF06 mov talk_to_hotspot_ptr, bx 273F:8A30 55 push bp 273F:8A31 E8 B932 call character_update_movement 273F:8A34 5D pop bp 273F:8A35 B8 8ABD mov ax, offset talk_tick_proc 273F:8A38 89 45 11 mov [di+ANIM_TICK_PROC], ax 273F:8A3B C6 06 9834 03 mov cursor_state, CURSORSTATE_TALK 273F:8A40 C3 retn talk_init endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx = talking to char hotspot rec ; Called from: 273F:8A18 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_get_record proc near 273F:8A41 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8A45 F7 47 33 FFFF test word ptr [bx+HS_V33], 0FFFFh 273F:8A4A 74 0A jz loc_1711 ; Jump if zero 273F:8A4C FF 77 33 push word ptr [bx+HS_V33] 273F:8A4F C7 47 33 0000 mov word ptr [bx+HS_V33], 0 273F:8A54 5B pop bx 273F:8A55 C3 retn 273F:8A56 loc_1711: ; xref 273F:8A4A 273F:8A56 8B 0E BA1B mov cx, active_hotspot_id 273F:8A5A úBB 505C mov bx, offset talk_table 273F:8A5D loc_1712: ; xref 273F:8A64 273F:8A5D ú3B 0F cmp cx, [bx] ; Hotspot entry found? 273F:8A5F 74 05 je loc_1713 ; If yes then jump 273F:8A61 83 C3 04 add bx,4 ; Move to next record 273F:8A64 EB F7 jmp short loc_1712 273F:8A66 loc_1713: 273F:8A66 8B 5F 02 mov bx, [bx+2] ; Get offset of talk data 273F:8A69 56 push si 273F:8A6A A1 BA1B mov ax, active_hotspot_id 273F:8A6D E8 82B1 call get_room_resource_pointer4 273F:8A70 8B 44 02 mov ax, [si+HSH_NAME] 273F:8A73 5E pop si 273F:8A74 3D 017A cmp ax, 17Ah ; "Stranger"? 273F:8A77 74 0C je loc_1714 ; If yes then jump 273F:8A79 A1 BA3B mov ax, talk_record_index ; Get talk index to use 273F:8A7C D1 E0 shl ax, 1 273F:8A7E 03 D8 add bx, ax 273F:8A80 8B 5F 02 mov bx,[bx+2] ; Return alt offset 273F:8A83 EB 02 jmp short loc_ret_1715 273F:8A85 loc_1714: 273F:8A85 8B 1F mov bx, [bx] ; Return main offset 273F:8A87 loc_ret_1715: 273F:8A87 C3 retn talk_get_record endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx = talk record offset ; Called from: 273F:89BD, 8A1B ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_init2 proc near 273F:8A88 8B 07 mov ax, [bx] 273F:8A8A A3 CF02 mov talk_response_ptr, ax 273F:8A8D 83 C3 02 add bx, 2 273F:8A90 89 1E CF00 mov talk_data_ptr, bx 273F:8A94 89 1E CF04 mov talk_next_talk_offset, bx 273F:8A98 C6 06 CF08 FF mov talk_state, TALK_START 273F:8A9D C6 06 CF0B 00 mov talk_cf0b, 0 273F:8AA2 8B 45 1B mov ax, [di+ANIM_HOTSPOT_ID] 273F:8AA5 A3 983F mov data_1090, ax 273F:8AA8 A1 BA1B mov ax, active_hotspot_id 273F:8AAB A3 9841 mov data_1091, ax 273F:8AAE C6 06 9849 01 mov pathfind_data, 1 273F:8AB3 C3 retn talk_init2 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8AB4 loc_1716: ; xref 273F:8AC9 273F:8AB4 E9 0281 jmp loc_1753 ; (8D38) 273F:8AB7 loc_1717: ; xref 273F:8AC2 273F:8AB7 E9 00A8 jmp talk_handle_selection 273F:8ABA loc_1718: ; xref 273F:8AD0 273F:8ABA E9 0299 jmp loc_1755 ; (8D56) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; bx = eb26h for Skorl ; talk_data_ptr = e5aa for prisoner ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_tick_proc proc near 273F:8ABD 80 3E CF08 02 cmp talk_state, TALK_SELECT ; Talk selection? 273F:8AC2 74 F3 je loc_1717 ; If yes then jump 273F:8AC4 80 3E CF08 03 cmp talk_state, TALK_UNKNOWN 273F:8AC9 74 E9 je loc_1716 ; Jump if equal 273F:8ACB 80 3E CF08 04 cmp talk_state, 4 273F:8AD0 74 E8 je loc_1718 ; Jump if equal ; Handler for showing a list of talking options. This only gets run once before ; the talk state changes to TALK_SELECT 273F:8AD2 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8AD6 C6 06 CF09 00 mov talk_line_num, 0 273F:8ADB C6 06 CF0A 00 mov talk_selected_line, 0 273F:8AE0 C6 06 CF08 02 mov talk_state, TALK_SELECT 273F:8AE5 8B 1E CF00 mov bx, talk_data_ptr 273F:8AE9 BD CF0C mov bp, offset talk_entry_list 273F:8AEC loc_1719: 273F:8AEC F6 47 03 40 test byte ptr [bx+3], 40h 273F:8AF0 74 06 jz loc_1720 273F:8AF2 F6 47 03 80 test byte ptr [bx+3], 80h 273F:8AF6 75 2E jnz loc_1723 273F:8AF8 loc_1720: 273F:8AF8 8B 07 mov ax, [bx] ; Get sequence offset 273F:8AFA 25 3FFF and ax, 3FFFh 273F:8AFD 74 05 jz loc_1721 ; Jump if zero 273F:8AFF E8 B332 call sequence_execute 273F:8B02 74 1C jz loc_1722 ; If zero, skip line 273F:8B04 loc_1721: 273F:8B04 87 DD xchg bx, bp 273F:8B06 89 2F mov [bx], bp ; Add to lookup list 273F:8B08 83 C3 02 add bx,2 ; Move to next entry 273F:8B0B 87 DD xchg bx, bp 273F:8B0D 8B 47 02 mov ax, [bx+TALK_DESC_ID] 273F:8B10 80 E4 3F and ah, 3Fh 273F:8B13 80 06 CF09 01 add talk_line_num, 1 273F:8B18 3D 0424 cmp ax, TALK_MAGIC_ID ; Magic skip number 273F:8B1B 74 03 je loc_1722 ; Jump if equal 273F:8B1D E8 02C3 call talk_handle_line 273F:8B20 loc_1722: ; xref 273F:8B02, 8B1B 273F:8B20 F6 47 01 80 test byte ptr [bx+1],80h 273F:8B24 75 08 jnz loc_1724 ; Jump if not zero 273F:8B26 loc_1723: ; xref 273F:8AF6 273F:8B26 83 C3 06 add bx, 6 273F:8B29 83 3F FF cmp word ptr [bx], 0FFFFh 273F:8B2C 75 BE jne loc_1719 273F:8B2E loc_1724: ; xref 273F:8B24 273F:8B2E 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8B32 C7 47 42 0000 mov word ptr [bx+HS_DELAY_CTR], 0 273F:8B37 80 3E CF09 01 cmp talk_line_num, 1 ; Only one option? 273F:8B3C 75 05 jne loc_1725 ; If not, then jump 273F:8B3E B9 0081 mov cx,81h 273F:8B41 EB 03 jmp short loc_1726 ; (8B46) 273F:8B43 loc_1725: ; xref 273F:8B3C 273F:8B43 B9 0001 mov cx,1 273F:8B46 loc_1726: ; xref 273F:8B41 273F:8B46 B8 0000 mov ax,0 273F:8B49 BB 0000 mov bx,0 273F:8B4C BD 0026 mov bp,26h 273F:8B4F BA 0002 mov dx,2 273F:8B52 E8 802E call sub_21 ; Mark rects needing display 273F:8B55 F6 06 11DA FF test mouse_buttons2, 0FFh 273F:8B5A 74 05 jz loc_ret_1727 ; Jump if zero 273F:8B5C C6 06 11DA 00 mov mouse_buttons2, 0 273F:8B61 loc_ret_1727: ; xref 273F:8B5A 273F:8B61 C3 retn talk_tick_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_handle_selection: 273F:8B62 80 3E CF09 01 cmp talk_line_num, 1 ; Were any lines present 273F:8B67 75 1B jne loc_1731 ; If yes then jump ; This code fragment is only reached if talking to someone who only has a canned response. ; ie. no options need be presented. Such as the prisoner saying "I want water" 273F:8B69 F6 06 11DA FF test mouse_buttons2, 0FFh 273F:8B6E 74 05 jz loc_1729 ; Jump if zero 273F:8B70 C6 06 11DA 00 mov mouse_buttons2, 0 273F:8B75 loc_1729: ; xref 273F:8B6E 273F:8B75 F7 06 9838 FFFF test data_431,0FFFFh ; (273F:9838=5C8Bh) 273F:8B7B 74 01 jz loc_1730 ; Jump if zero 273F:8B7D C3 retn 273F:8B7E loc_1730: 273F:8B7E BB 0001 mov bx, 1 ; Response #1 273F:8B81 E9 0092 jmp loc_1741 ; This code is reached both for the handling of highlighting the list of possible talk ; selections, as well as for handling the response when one of those lines is selected 273F:8B84 loc_1731: ; xref 273F:8B67 273F:8B84 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8B88 A1 11D8 mov ax, mouse_y2 273F:8B8B D1 E8 shr ax,1 ; Shift w/zeros fill 273F:8B8D D1 E8 shr ax,1 ; Shift w/zeros fill 273F:8B8F D1 E8 shr ax,1 ; Shift w/zeros fill 273F:8B91 74 08 jz loc_1732 ; Jump if zero 273F:8B93 38 06 CF09 cmp talk_line_num, al 273F:8B97 73 02 jae loc_1732 273F:8B99 33 C0 xor ax,ax ; No line selected 273F:8B9B loc_1732: 273F:8B9B 3A 06 CF0A cmp al, talk_selected_line ; Still on same line? 273F:8B9F 74 5C je loc_1737 ; If yse then jump 273F:8BA1 86 06 CF0A xchg talk_selected_line, al 273F:8BA5 0A C0 or al, al ; Any current selection? 273F:8BA7 74 08 jz loc_1733 ; If not then skip 273F:8BA9 80 0E 11D0 02 or menubar_state, 2 273F:8BAE E8 0281 call talk_toggle_line_highlight ; Deselect old line 273F:8BB1 loc_1733: 273F:8BB1 A0 CF0A mov al, talk_selected_line 273F:8BB4 0A C0 or al,al ; Any new selected line? 273F:8BB6 74 08 jz loc_1734 ; If not then jump 273F:8BB8 80 0E 11D0 02 or menubar_state, 2 273F:8BBD E8 0272 call talk_toggle_line_highlight ; Highlight new line 273F:8BC0 loc_1734: 273F:8BC0 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:8BC5 74 06 je loc_1735 ; Jump if equal 273F:8BC7 C7 06 11EC 0000 mov data_640, 0 273F:8BCD loc_1735: ; xref 273F:8BC5 273F:8BCD FF 16 075E call [show_cursor_proc] 273F:8BD1 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:8BD6 75 12 jne loc_1736 ; Jump if not equal 273F:8BD8 33 C0 xor ax,ax ; Zero register 273F:8BDA 33 DB xor bx,bx ; Zero register 273F:8BDC BD 0140 mov bp,140h 273F:8BDF BA 001F mov dx,1Fh 273F:8BE2 B9 0001 mov cx,1 273F:8BE5 E8 7FA7 call sub_22 ; (0B8F) 273F:8BE8 EB 13 jmp short loc_1737 ; (8BFD) 273F:8BEA loc_1736: ; xref 273F:8BD6 273F:8BEA A1 11D6 mov ax, mouse_x2 273F:8BED 8B 1E 11D8 mov bx, mouse_y2 273F:8BF1 BD 0010 mov bp,10h 273F:8BF4 BA 0010 mov dx,10h 273F:8BF7 B9 0001 mov cx,1 273F:8BFA E8 7F92 call sub_22 ; (0B8F) 273F:8BFD loc_1737: ; xref 273F:8B9F, 8BE8 273F:8BFD 32 C0 xor al,al ; Zero register 273F:8BFF 86 06 11DA xchg mouse_buttons2, al 273F:8C03 A8 07 test al,7 ; Any buttons pressed? 273F:8C05 74 07 jz loc_ret_1738 ; Skip if not ; At this point a talk line has been selected 273F:8C07 A8 03 test al,3 273F:8C09 75 05 jnz loc_1740 273F:8C0B E9 00F8 jmp loc_1751 ; Handle selection 273F:8C0E loc_ret_1738: ; xref 273F:8C05 273F:8C0E C3 retn 273F:8C0F loc_ret_1739: ; xref 273F:8C19 273F:8C0F C3 retn 273F:8C10 loc_1740: ; xref 273F:8C09 273F:8C10 8A 1E CF0A mov bl, talk_selected_line 273F:8C14 32 FF xor bh,bh ; Zero register ; This code point is reached both for automatic responses from a character, ; or when a talk item has been selected and needs to be "spoken" 273F:8C16 loc_1741: 273F:8C16 80 EB 01 sub bl, 1 273F:8C19 72 F4 jc loc_ret_1739 ; If bl had been 0, invalid exit 273F:8C1B 80 06 CF0B 01 add talk_cf0b, 1 273F:8C20 D1 E3 shl bx,1 273F:8C22 8B 9F CF0C mov bx, talk_entry_list[bx] ; Get selected talk entry 273F:8C26 8B 57 02 mov dx, [bx+TALK_DESC_ID] 273F:8C29 80 E6 3F and dh,3Fh ; '?' 273F:8C2C 80 4F 03 40 or byte ptr [bx+TALK_DESC_ID+1], 40h ; Flag desc 273F:8C30 81 FA 0424 cmp dx, TALK_MAGIC_ID 273F:8C34 74 11 je loc_1742 ; Jump if equal 273F:8C36 53 push bx 273F:8C37 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8C3B 8B 5F 0B mov bx, [bx+HS_ANIM_OFFSET] 273F:8C3E 8B 4F 1B mov cx, [bx+ANIM_HOTSPOT_ID] 273F:8C41 B0 01 mov al, 1 273F:8C43 E8 D4E9 call talk_setup_3 ; (612F) 273F:8C46 5B pop bx 273F:8C47 loc_1742: ; xref 273F:8C34 273F:8C47 8B 47 04 mov ax, [bx+TALK_POST_SEQUENCE] 273F:8C4A F6 C4 80 test ah, 80h 273F:8C4D 74 06 jz loc_1743 ; Jump if zero 273F:8C4F 80 E4 7F and ah, 7Fh 273F:8C52 E8 B1DF call sequence_execute 273F:8C55 loc_1743: 273F:8C55 8B 1E CF02 mov bx, talk_response_ptr 273F:8C59 D1 E0 shl ax, 1 273F:8C5B 03 D8 add bx, ax 273F:8C5D D1 E0 shl ax, 1 273F:8C5F 03 D8 add bx, ax 273F:8C61 8B 07 mov ax, [bx] ; Get sequence to run 273F:8C63 0B C0 or ax, ax 273F:8C65 74 08 jz loc_1744 ; Jump if zero 273F:8C67 E8 B1CA call sequence_execute 273F:8C6A 3D 1092 cmp ax, 1092h 273F:8C6D 75 E6 jne loc_1743 ; Jump if not equal 273F:8C6F loc_1744: ; xref 273F:8C65 273F:8C6F 8B 47 02 mov ax, [bx+2] 273F:8C72 F6 C4 80 test ah, 80h 273F:8C75 74 06 jz loc_1745 ; Jump if zero 273F:8C77 80 E4 7F and ah, 7Fh 273F:8C7A E8 B1B7 call sequence_execute 273F:8C7D loc_1745: ; xref 273F:8C75 273F:8C7D 3D 0424 cmp ax, 424h 273F:8C80 74 12 je loc_1746 ; Jump if equal 273F:8C82 53 push bx 273F:8C83 8B D0 mov dx,ax 273F:8C85 B9 03E8 mov cx, PLAYER_HOTSPOT_ID 273F:8C88 56 push si 273F:8C89 8B 36 CF06 mov si, talk_to_hotspot_ptr 273F:8C8D B0 01 mov al,1 273F:8C8F E8 D49D call talk_setup_3 ; (612F) 273F:8C92 5E pop si 273F:8C93 5B pop bx 273F:8C94 loc_1746: ; xref 273F:8C80 273F:8C94 8B 47 04 mov ax, [bx+4] 273F:8C97 3D FFFF cmp ax, 0FFFFh 273F:8C9A 74 28 je loc_1748 ; Jump if equal 273F:8C9C F6 C4 80 test ah, 80h 273F:8C9F 74 0B jz loc_1747 ; Jump if zero 273F:8CA1 80 E4 7F and ah, 7Fh 273F:8CA4 E8 B18D call sequence_execute 273F:8CA7 3D FFFF cmp ax, 0FFFFh 273F:8CAA 74 18 je loc_1748 ; Jump if equal 273F:8CAC loc_1747: ; xref 273F:8C9F 273F:8CAC D1 E0 shl ax, 1 273F:8CAE 8B D8 mov bx, ax 273F:8CB0 D1 E0 shl ax, 1 273F:8CB2 03 C3 add ax, bx 273F:8CB4 03 06 CF04 add ax, talk_next_talk_offset ; Next sequence start offset 273F:8CB8 A3 CF00 mov talk_data_ptr, ax 273F:8CBB C6 06 CF08 03 mov talk_state, 3 273F:8CC0 EB 07 jmp short loc_1749 ; (8CC9) 273F:8CC2 5B pop bx 273F:8CC3 C3 ret 273F:8CC4 loc_1748: 273F:8CC4 C6 06 CF08 04 mov talk_state, 4 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8D06 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8CC9 sub_221 proc near 273F:8CC9 loc_1749: ; xref 273F:8CC0, 8D04 273F:8CC9 úB8 0001 mov ax,1 273F:8CCC BB 0001 mov bx,1 273F:8CCF BD 0026 mov bp,26h 273F:8CD2 BA 0001 mov dx,1 273F:8CD5 B9 0081 mov cx,81h 273F:8CD8 E9 7EA8 jmp loc_92 ; (0B83) sub_221 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8CDB loc_1750: ; xref 273F:8D24, 8D36, 8D6E 273F:8CDB úC6 06 9849 00 mov pathfind_data, 0 273F:8CE0 C7 06 B15F 5E44 mov word ptr ds:data_450e, offset player_tick_proc 273F:8CE6 C6 06 6D33 00 mov [player_hotspot_rec+HS_CHAR_MODE], CHARMODE_NONE 273F:8CEB C7 06 6D31 0000 mov [player_hotspot_rec+HS_DELAY_CTR], 0 273F:8CF1 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8CF5 C7 47 2F 0000 mov word ptr [bx+HS_USE_HOTSPOT_ID], 0 273F:8CFA C7 47 42 0018 mov word ptr [bx+HS_DELAY_CTR], 18h 273F:8CFF C6 06 9834 00 mov cursor_state, CURSORSTATE_NONE 273F:8D04 EB C3 jmp short loc_1749 ; (8CC9) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; This point is reached if the third button is pressed. It causes the ; talk to abort, and the talked to character to show the question mark briefly ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8D06 loc_1751: ; xref 273F:8C0B 273F:8D06 E8 FFC0 call sub_221 ; (8CC9) 273F:8D09 F6 06 CF0B FF test talk_cf0b, 0FFh 273F:8D0E 75 16 jnz loc_1752 ; Jump if not zero 273F:8D10 56 push si 273F:8D11 8B 36 CF06 mov si, talk_to_hotspot_ptr 273F:8D15 8B 5C 0B mov bx, [si+HS_ANIM_OFFSET] 273F:8D18 8B 4F 1B mov cx, [bx+1Bh] 273F:8D1B BB 002B mov bx,2Bh 273F:8D1E 33 D2 xor dx,dx ; Zero register 273F:8D20 E8 D698 call display_message_dialog_4 273F:8D23 5E pop si 273F:8D24 EB B5 jmp short loc_1750 ; (8CDB) 273F:8D26 loc_1752: ; xref 273F:8D0E 273F:8D26 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8D2A 8B 5F 0B mov bx,[bx+HS_ANIM_OFFSET] 273F:8D2D 8B 4F 1B mov cx,[bx+ANIM_HOTSPOT_ID] 273F:8D30 BA 088D mov dx, 88Dh 273F:8D33 E8 D3F9 call talk_setup_3 273F:8D36 EB A3 jmp short loc_1750 ; (8CDB) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8D38 loc_1753: ; xref 273F:8AB4 273F:8D38 E8 0036 call sub_222 ; (8D71) 273F:8D3B E8 D43A call talk_countdown_handler 273F:8D3E 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8D42 83 7F 37 06 cmp word ptr [bx+HS_TALK_COUNTDOWN],6 273F:8D46 73 0D jae loc_ret_1754 ; Jump if above or = 273F:8D48 F7 06 9838 FFFF test data_431,0FFFFh ; (273F:9838=5C8Bh) 273F:8D4E 75 05 jnz loc_ret_1754 ; Jump if not zero 273F:8D50 C6 06 CF08 01 mov talk_state, 1 273F:8D55 loc_ret_1754: ; xref 273F:8D46, 8D4E, 8D64, 8D6C 273F:8D55 C3 retn 273F:8D56 loc_1755: ; xref 273F:8ABA 273F:8D56 E8 0018 call sub_222 ; (8D71) 273F:8D59 E8 D41C call talk_countdown_handler 273F:8D5C 8B 1E CF06 mov bx, talk_to_hotspot_ptr 273F:8D60 83 7F 37 06 cmp word ptr [bx+HS_TALK_COUNTDOWN],6 273F:8D64 73 EF jae loc_ret_1754 ; Jump if above or = 273F:8D66 F7 06 9838 FFFF test data_431,0FFFFh ; (273F:9838=5C8Bh) 273F:8D6C 75 E7 jnz loc_ret_1754 ; Jump if not zero 273F:8D6E E9 FF6A jmp loc_1750 ; (8CDB) ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8D38, 8D56 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8D71 sub_222 proc near 273F:8D71 F6 06 11DA 07 test mouse_buttons2, 7 273F:8D76 74 6A jz loc_ret_1758 ; Jump if zero 273F:8D78 C6 06 11DA 00 mov mouse_buttons2, 0 273F:8D7D C3 retn ;* No entry point to code 273F:8D7E F6 06 9837 FF test talk_dialog_active, 0FFh 273F:8D83 74 5D jz loc_ret_1758 ; Jump if zero 273F:8D85 A1 11D6 mov ax, mouse_x2 273F:8D88 3B 06 11C2 cmp ax, talk_dialog_left 273F:8D8C 72 54 jb loc_ret_1758 ; Jump if below 273F:8D8E 2B 06 11C2 sub ax, talk_dialog_left 273F:8D92 3B 06 11C4 cmp ax, talk_dialog_width 273F:8D96 73 4A jae loc_ret_1758 ; Jump if above or = 273F:8D98 A1 11D8 mov ax, mouse_y2 273F:8D9B 3B 06 11C0 cmp ax, talk_dialog_top 273F:8D9F 72 41 jb loc_ret_1758 ; Jump if below 273F:8DA1 2B 06 11C0 sub ax, talk_dialog_top 273F:8DA5 3B 06 11C6 cmp ax, talk_dialog_height 273F:8DA9 73 37 jae loc_ret_1758 ; Jump if above or = 273F:8DAB A1 983B mov ax, talk_character_id 273F:8DAE 56 push si 273F:8DAF E8 7F38 call get_room_resource_pointer2 273F:8DB2 C7 44 37 0000 mov word ptr [si+HS_TALK_COUNTDOWN],0 273F:8DB7 5E pop si 273F:8DB8 81 3E 983B 03E8 cmp talk_character_id, PLAYER_HOTSPOT_ID 273F:8DBE 75 14 jne loc_1757 ; Jump if not equal 273F:8DC0 A1 9841 mov ax, data_1091 273F:8DC3 56 push si 273F:8DC4 E8 7F23 call get_room_resource_pointer2 273F:8DC7 F7 44 37 FFFF test word ptr [si+HS_TALK_COUNTDOWN],0FFFFh 273F:8DCC 74 05 jz loc_1756 ; Jump if zero 273F:8DCE C7 44 37 0028 mov word ptr [si+HS_TALK_COUNTDOWN], 28h 273F:8DD3 loc_1756: ; xref 273F:8DCC 273F:8DD3 5E pop si 273F:8DD4 loc_1757: ; xref 273F:8DBE 273F:8DD4 C6 06 9837 00 mov talk_dialog_active, 0 273F:8DD9 C7 06 9838 0000 mov data_431,0 ; (273F:9838=5C8Bh) 273F:8DDF E8 D4E3 call sub_147 ; (62C5) 273F:8DE2 loc_ret_1758: ; xref 273F:8D76, 8D83, 8D8C, 8D96 ; 8D9F, 8DA9 273F:8DE2 C3 retn sub_222 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8B1D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_handle_line proc near 273F:8DE3 56 push si 273F:8DE4 57 push di 273F:8DE5 55 push bp 273F:8DE6 53 push bx 273F:8DE7 50 push ax 273F:8DE8 A0 CF09 mov al, talk_line_num 273F:8DEB 32 E4 xor ah, ah ; Zero register 273F:8DED E8 E22C call talk_clear_line 273F:8DF0 58 pop ax 273F:8DF1 BF AF42 mov di, offset talk_string_buffer 273F:8DF4 89 3E BA07 mov talk_string_offset, di 273F:8DF8 E8 EF3F call decode_string 273F:8DFB A0 CF09 mov al, talk_line_num 273F:8DFE 32 E4 xor ah, ah 273F:8E00 F7 26 074C mul menubar_block_size ; Calculate display offset 273F:8E04 A3 BA0F mov ds:data_470e, ax 273F:8E07 A3 BA11 mov ds:data_471e, ax 273F:8E0A C6 06 BA13 00 mov byte ptr ds:data_472e, 0 273F:8E0F A1 0748 mov ax, screen_width 273F:8E12 A3 BA09 mov ds:data_468e,ax 273F:8E15 A1 4CE4 mov ax, data_segment2 273F:8E18 A3 BA0D mov ds:data_469e, ax 273F:8E1B 8B 36 076E mov si, data_571 273F:8E1F 8A 44 05 mov al, [si+5] 273F:8E22 A2 BA14 mov ds:data_473e, al 273F:8E25 úBB BA07 mov bx, offset talk_string_offset 273F:8E28 loc_1759: 273F:8E28 E8 8D6D call sub_51 ; (1B98) 273F:8E2B 74 FB jz loc_1759 ; Jump if zero 273F:8E2D 5B pop bx 273F:8E2E 5D pop bp 273F:8E2F 5F pop di 273F:8E30 5E pop si 273F:8E31 C3 retn talk_handle_line endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8BAE, 8BBD ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ talk_toggle_line_highlight proc near 273F:8E32 32 E4 xor ah,ah ; Zero register 273F:8E34 BB 0A00 mov bx, MENUBAR_BLOCK_SIZE 273F:8E37 F7 E3 mul bx ; dx:ax = reg * ax 273F:8E39 8B F8 mov di,ax 273F:8E3B 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:8E40 75 06 jne loc_1760 ; Jump if not equal 273F:8E42 BB 0140 mov bx,140h 273F:8E45 E9 A154 jmp loc_637 ; (2F9C) 273F:8E48 loc_1760: ; xref 273F:8E40 273F:8E48 1E push ds 273F:8E49 B8 A000 mov ax, VGA_SEGMENT 273F:8E4C 8E C0 mov es,ax 273F:8E4E A1 4CE4 mov ax, data_segment2 273F:8E51 8E D8 mov ds,ax 273F:8E53 B9 0A00 mov cx, MENUBAR_BLOCK_SIZE 273F:8E56 locloop_1761: ; xref 273F:8E68 273F:8E56 80 3D E2 cmp byte ptr [di],0E2h 273F:8E59 74 05 je loc_1762 ; Jump if equal 273F:8E5B 80 3D FF cmp byte ptr [di],0FFh 273F:8E5E 75 07 jne loc_1763 ; Jump if not equal 273F:8E60 loc_1762: ; xref 273F:8E59 273F:8E60 80 35 1D xor byte ptr [di],1Dh 273F:8E63 26: 80 35 1D xor byte ptr es:[di],1Dh 273F:8E67 loc_1763: ; xref 273F:8E5E 273F:8E67 47 inc di 273F:8E68 E2 EC loop locloop_1761 ; Loop if cx > 0 273F:8E6A 1F pop ds 273F:8E6B C3 retn talk_toggle_line_highlight endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ;* No entry point to code 273F:8E6C E8 7E79 call get_room_resource_pointer 273F:8E6F F7 44 33 FFFF test word ptr [si+33h],0FFFFh 273F:8E74 74 05 jz loc_1764 ; Jump if zero 273F:8E76 8B 74 33 mov si,[si+33h] 273F:8E79 EB 26 jmp short loc_1768 ; (8EA1) 273F:8E7B loc_1764: ; xref 273F:8E74 273F:8E7B úBE 505C mov si, offset talk_table 273F:8E7E loc_1765: ; xref 273F:8E85 273F:8E7E ú3B 1C cmp bx,[si] 273F:8E80 74 05 je loc_1766 ; Jump if equal 273F:8E82 83 C6 04 add si,4 273F:8E85 EB F7 jmp short loc_1765 ; (8E7E) 273F:8E87 loc_1766: ; xref 273F:8E80 273F:8E87 8B 7C 02 mov di,[si+2] 273F:8E8A E8 7E92 call get_room_resource_pointer3 273F:8E8D 81 7C 02 017A cmp word ptr [si+2],17Ah 273F:8E92 74 0B je loc_1767 ; Jump if equal 273F:8E94 8B 1E BA3B mov bx, talk_record_index 273F:8E98 D1 E3 shl bx,1 ; Shift w/zeros fill 273F:8E9A 8B 71 02 mov si,[bx+di+2] 273F:8E9D EB 02 jmp short loc_1768 ; (8EA1) 273F:8E9F loc_1767: ; xref 273F:8E92 273F:8E9F 8B 35 mov si,[di] 273F:8EA1 loc_1768: ; xref 273F:8E79, 8E9D 273F:8EA1 83 C6 02 add si,2 273F:8EA4 B8 0008 mov ax,8 273F:8EA7 F7 E1 mul cx ; dx:ax = reg * ax 273F:8EA9 03 F0 add si,ax 273F:8EAB 81 4C 02 C000 or word ptr [si+2],0C000h 273F:8EB0 C3 retn 273F:8EB1 00 db 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ menuitem_save proc near 273F:8EB2 B0 56 mov al, 56h 273F:8EB4 E8 52 01 call saverestore_proc 273F:8EB7 2D 00001 sub ax, 1 273F:8EBA 73 03 jnb mi_save_1 273F:8EBC E9 80 00 jmp loc_1774 273F:8EBF 50 mi_save_1 push ax 273F:8EC0 E8 9C 90 call show_disk_cursor 273F:8EC3 58 pop ax 273F:8EC4 3B 06 08 03 cmp ax, data_540 273F:8EC8 72 0C jb mi_save_2 273F:8ECA 83 3E 0308 0F cmp data_540, 0Fh 273F:8ECF 73 05 jnb mi_save_2 273F:8ED1 83 06 0308 01 add data_540, 1 273F:8ED6 loc_1769: 273F:8ED6 BB F010 mov bx, WRITE_BUFFER_SIZE 273F:8ED9 81 EB 5D90 sub bx, offset write_buffer 273F:8EDD F7 E3 mul bx ; dx:ax = reg * ax 273F:8EDF 05 0200 add ax,200h 273F:8EE2 83 D2 00 adc dx,0 273F:8EE5 50 push ax 273F:8EE6 52 push dx 273F:8EE7 8B CA mov cx,dx 273F:8EE9 8B D0 mov dx,ax 273F:8EEB B8 4200 mov ax,4200h 273F:8EEE 8B 1E 554D mov bx, data_832 273F:8EF2 CD 21 int 21h ; DOS Services ah=function 42h ; move file ptr, bx=file handle ; al=method, cx,dx=offset 273F:8EF4 59 pop cx 273F:8EF5 5B pop bx 273F:8EF6 73 09 jnc loc_1771 ; Jump if carry=0 273F:8EF8 loc_1770: ; xref 273F:8F03, 8F07, 8F31, 8F3D 273F:8EF8 BB 00A2 mov bx,0A2h 273F:8EFB E8 F9BE call display_dialog 273F:8EFE 33 C0 xor ax,ax ; Zero register 273F:8F00 C3 retn 273F:8F01 loc_1771: ; xref 273F:8EF6 273F:8F01 3B D1 cmp dx,cx 273F:8F03 75 F3 jne loc_1770 ; Jump if not equal 273F:8F05 3B C3 cmp ax,bx 273F:8F07 75 EF jne loc_1770 ; Jump if not equal 273F:8F09 B4 40 mov ah,40h ; '@' 273F:8F0B 8B 1E 554D mov bx, data_832 273F:8F0F B9 F010 mov cx, WRITE_BUFFER_SIZE 273F:8F12 úBA 5D90 mov dx, offset write_buffer ; (273F:5D90=47h) 273F:8F15 2B CA sub cx,dx 273F:8F17 CD 21 int 21h ; DOS Services ah=function 40h ; write file bx=file handle ; cx=bytes from ds:dx buffer 273F:8F19 73 09 jnc loc_1773 ; Jump if carry=0 273F:8F1B loc_1772: ; xref 273F:8F26 273F:8F1B BB 00A2 mov bx,0A2h 273F:8F1E E8 F99B call display_dialog 273F:8F21 33 C0 xor ax,ax ; Zero register 273F:8F23 C3 retn 273F:8F24 loc_1773: ; xref 273F:8F19 273F:8F24 3B C1 cmp ax,cx 273F:8F26 75 F3 jne loc_1772 ; Jump if not equal 273F:8F28 B8 4200 mov ax,4200h 273F:8F2B 33 C9 xor cx,cx ; Zero register 273F:8F2D 33 D2 xor dx,dx ; Zero register 273F:8F2F CD 21 int 21h ; DOS Services ah=function 42h ; move file ptr, bx=file handle ; al=method, cx,dx=offset 273F:8F31 72 C5 jc loc_1770 ; Jump if carry Set 273F:8F33 B4 40 mov ah,40h 273F:8F35 B9 0200 mov cx,200h 273F:8F38 úBA 0119 mov dx, offset file_buffer ; (273F:0119=0FFh) 273F:8F3B CD 21 int 21h ; DOS Services ah=function 40h ; write file bx=file handle ; cx=bytes from ds:dx buffer 273F:8F3D 72 B9 jc loc_1770 ; Jump if carry Set 273F:8F3F loc_1774: ; xref 273F:8F57 273F:8F3F 8B 1E 554D mov bx, data_832 273F:8F43 B4 3E mov ah,3Eh 273F:8F45 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:8F47 0C 01 or al,1 273F:8F49 C3 retn menuitem_save endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:9381 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:8F4A menuitem_restore proc near 273F:8F4A B0 AC mov al,0ACh 273F:8F4C E8 00BA call saverestore_proc assume ds:data_seg 273F:8F4F 83 06 0308 01 add data_540,1 ; (31E4:0308=0) 273F:8F54 2D 0001 sub ax,1 273F:8F57 72 E6 jc loc_1774 ; Jump if carry Set 273F:8F59 50 push ax 273F:8F5A E8 9002 call show_disk_cursor 273F:8F5D E8 0458 call sub_230 ; (93B8) 273F:8F60 E8 1290 call sub_257 ; (A1F3) 273F:8F63 58 pop ax 273F:8F64 BB F010 mov bx, WRITE_BUFFER_SIZE 273F:8F67 81 EB 5D90 sub bx, offset write_buffer 273F:8F6B F7 E3 mul bx ; dx:ax = reg * ax 273F:8F6D 05 0200 add ax,200h 273F:8F70 83 D2 00 adc dx,0 273F:8F73 50 push ax 273F:8F74 52 push dx 273F:8F75 8B CA mov cx,dx 273F:8F77 8B D0 mov dx,ax 273F:8F79 B8 4200 mov ax,4200h 273F:8F7C 8B 1E 554D mov bx, data_832 273F:8F80 CD 21 int 21h ; DOS Services ah=function 42h ; move file ptr, bx=file handle ; al=method, cx,dx=offset 273F:8F82 59 pop cx 273F:8F83 5B pop bx 273F:8F84 B4 3F mov ah,3Fh ; '?' 273F:8F86 8B 1E 554D mov bx, data_832 273F:8F8A B9 F010 mov cx, WRITE_BUFFER_SIZE 273F:8F8D úBA 5D90 mov dx, offset write_buffer ; (31E4:5D90=0) 273F:8F90 2B CA sub cx,dx 273F:8F92 CD 21 int 21h ; DOS Services ah=function 3Fh ; read file, bx=file handle ; cx=bytes to ds:dx buffer 273F:8F94 B8 4200 mov ax,4200h 273F:8F97 33 C9 xor cx,cx ; Zero register 273F:8F99 33 D2 xor dx,dx ; Zero register 273F:8F9B CD 21 int 21h ; DOS Services ah=function 42h ; move file ptr, bx=file handle ; al=method, cx,dx=offset 273F:8F9D B4 40 mov ah,40h ; '@' 273F:8F9F B9 0200 mov cx,200h 273F:8FA2 úBA 0119 mov dx,offset file_buffer ; (31E4:0119=0) 273F:8FA5 CD 21 int 21h ; DOS Services ah=function 40h ; write file bx=file handle ; cx=bytes from ds:dx buffer 273F:8FA7 B4 3E mov ah,3Eh 273F:8FA9 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:8FAB FF 16 0766 call word ptr [fade_out_proc] 273F:8FAF E8 EC0F call load_string_resources 273F:8FB2 E8 E050 call menubar_clear_image 273F:8FB5 E8 7996 call clear_layer_rects 273F:8FB8 E8 79B4 call room_load_layers 273F:8FBB FF 16 074E call word ptr ds:[74Eh] ; (273F:074E=8010h) 273F:8FBF E8 7A25 call sub_16 ; (09E7) 273F:8FC2 E8 7B39 call sub_19 ; (0AFE) 273F:8FC5 E8 7999 call clear_hotspot_rects 273F:8FC8 E8 84D7 call sub_45 ; (14A2) 273F:8FCB úBE B883 mov si, offset animation_block_list 273F:8FCE 8B FE mov di,si 273F:8FD0 E8 E6FB call sub_190 ; (76CE) 273F:8FD3 E8 EA89 call sub_195 ; (7A5F) assume ds:seg_code 273F:8FD6 C6 06 9837 00 mov talk_dialog_active, 0 273F:8FDB C7 06 9838 0000 mov data_431,0 ; (273F:9838=5C8Bh) 273F:8FE1 E8 123D call sub_259 ; (A221) 273F:8FE4 E8 BF8D call seq_pathfind_reset 273F:8FE7 80 36 CE20 80 xor game_flags, 80h 273F:8FEC E8 E106 call sub_177 ; (70F5) 273F:8FEF FF 16 0752 call [show_compressed_screen_proc] 273F:8FF3 E8 8518 call room_add_animations 273F:8FF6 FF 16 0744 call word ptr [show_screen_proc] 273F:8FFA E8 AAB1 call replace_vga_palette ; (3AAE) 273F:8FFD FF 16 0760 call word ptr ds:[760h] ; (273F:0760=0C76Eh) 273F:9001 C6 06 1456 FF mov data_213,0FFh ; (273F:1456=42h) 273F:9006 33 C0 xor ax,ax ; Zero register 273F:9008 C3 retn menuitem_restore endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8F4C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:9009 saverestore_proc proc near 273F:9009 A2 5553 mov data_344,al ; (273F:5553=0DFh) 273F:900C 80 3E 0786 02 cmp drive_number, 2 ; Running on hard drive? 273F:9011 73 1C jae loc_1776 ; If yes, skip prompt msg 273F:9013 F6 06 00B5 80 test byte ptr ds:[0B5h],80h 273F:9018 75 0D jnz loc_1775 273F:901A 8B 1E 00B4 mov bx,word ptr ds:[file_handle] 273F:901E B4 3E mov ah,3Eh 273F:9020 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:9022 C6 06 00B5 80 mov byte ptr ds:[0B5h],80h 273F:9027 loc_1775: 273F:9027 B8 000B mov ax,0Bh ; Prompt to insert data disk 273F:902A B6 00 mov dh,0 273F:902C E8 AF75 call display_message 273F:902F loc_1776: 273F:902F B8 3D02 mov ax,3D02h 273F:9032 BA 5540 mov dx, offset savegame_filename 273F:9035 CD 21 int 21h ; DOS Services ah=function 3Dh ; open file, al=mode,name@ds:dx 273F:9037 72 18 jc loc_1777 ; Jump if error occurred 273F:9039 A3 554D mov data_832, ax 273F:903C 8B D8 mov bx,ax 273F:903E B4 3F mov ah,3Fh 273F:9040 B9 0200 mov cx,200h 273F:9043 úBA 0119 mov dx, offset file_buffer ; (273F:0119=0FFh) 273F:9046 CD 21 int 21h ; DOS Services ah=function 3Fh ; read file, bx=file handle ; cx=bytes to ds:dx buffer 273F:9048 3D 0200 cmp ax,200h ; Read 512 bytes? 273F:904B 74 27 je loc_1779 ; Jump if equal 273F:904D B4 3E mov ah,3Eh 273F:904F CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:9051 loc_1777: ; xref 273F:9037 273F:9051 B4 3C mov ah,3Ch ; '<' 273F:9053 33 C9 xor cx,cx ; Zero register 273F:9055 BA 5540 mov dx, offset savegame_filename 273F:9058 CD 21 int 21h ; DOS Services ah=function 3Ch ; create/truncate file @ ds:dx 273F:905A 73 09 jnc loc_1778 ; Jump if carry=0 273F:905C BB 00A2 mov bx,0A2h 273F:905F E8 F85A call display_dialog 273F:9062 33 C0 xor ax,ax ; Zero register 273F:9064 C3 retn 273F:9065 loc_1778: ; xref 273F:905A 273F:9065 A3 554D mov data_832, ax 273F:9068 1E push ds 273F:9069 07 pop es 273F:906A úBF 0119 mov di, offset file_buffer ; (273F:0119=0FFh) 273F:906D B9 0100 mov cx,100h 273F:9070 33 C0 xor ax,ax ; Zero register 273F:9072 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:9074 loc_1779: ; xref 273F:904B 273F:9074 80 3E 5553 AC cmp data_344,0ACh ; (273F:5553=0DFh) 273F:9079 75 0A jne loc_1780 ; Jump if not equal 273F:907B 83 2E 0308 01 sub word ptr ds:[308h],1 ; (273F:0308=21CDh) 273F:9080 73 03 jnc loc_1780 ; Jump if carry=0 273F:9082 33 C0 xor ax,ax ; Zero register nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 344 273F:9084 C3 retn 273F:9085 loc_1780: ; xref 273F:9079, 9080 273F:9085 B0 02 mov al,2 273F:9087 B3 04 mov bl,4 273F:9089 B1 20 mov cl,20h ; ' ' 273F:908B 8B 16 0308 mov dx,word ptr ds:[308h] ; (273F:0308=21CDh) 273F:908F 83 C2 02 add dx,2 273F:9092 83 FA 11 cmp dx,11h 273F:9095 73 03 jae loc_1781 ; Jump if above or = 273F:9097 80 C2 01 add dl,1 273F:909A loc_1781: ; xref 273F:9095 273F:909A BD 0001 mov bp,1 273F:909D FF 16 077A call [draw_dialog_proc] 273F:90A1 A1 4CE4 mov ax, data_segment2 273F:90A4 8E C0 mov es,ax 273F:90A6 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:90AB 74 1E je loc_1783 ; Jump if equal 273F:90AD úBF 3E92 mov di,data_1466e ; (FF12:3E92=80h) 273F:90B0 úBE 558D mov si,558Dh ; (273F:558D=33h) 273F:90B3 BA 0005 mov dx,5 273F:90B6 loc_1782: ; xref 273F:90C7 273F:90B6 57 push di 273F:90B7 AC lodsb ; String [si] to al 273F:90B8 8A E0 mov ah,al 273F:90BA B9 0085 mov cx,85h 273F:90BD F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:90BF 5F pop di 273F:90C0 81 C7 0140 add di,140h 273F:90C4 83 EA 01 sub dx,1 273F:90C7 75 ED jnz loc_1782 ; Jump if not zero 273F:90C9 EB 03 jmp short loc_1784 ; (90CE) 273F:90CB loc_1783: ; xref 273F:90AB 273F:90CB E8 9F57 call sub_69 ; (3025) 273F:90CE loc_1784: ; xref 273F:90C9 273F:90CE BE 5576 mov si,5576h 273F:90D1 B9 000C mov cx,0Ch 273F:90D4 80 3E 5553 56 cmp data_344,56h ; (273F:5553=0DFh) 'V' 273F:90D9 75 06 jne loc_1785 ; Jump if not equal 273F:90DB úBE 5583 mov si,5583h ; (273F:5583=1Bh) 273F:90DE B9 0009 mov cx,9 273F:90E1 loc_1785: ; xref 273F:90D9 273F:90E1 B8 0020 mov ax,20h 273F:90E4 2B C1 sub ax,cx 273F:90E6 D1 E8 shr ax,1 ; Shift w/zeros fill 273F:90E8 05 0003 add ax,3 273F:90EB 8B 3E 076E mov di, data_571 273F:90EF 8B 15 mov dx,[di] 273F:90F1 BB 0005 mov bx,5 273F:90F4 E8 01EC call sub_227 ; (92E3) 273F:90F7 8B 0E 0308 mov cx,word ptr ds:[308h] ; (273F:0308=21CDh) 273F:90FB 83 F9 0F cmp cx,0Fh 273F:90FE 73 03 jae loc_1786 ; Jump if above or = 273F:9100 83 C1 01 add cx,1 273F:9103 loc_1786: ; xref 273F:90FE 273F:9103 úBE 0119 mov si, offset file_buffer ; (273F:0119=0FFh) 273F:9106 B8 0003 mov ax,3 273F:9109 BB 0007 mov bx,7 273F:910C locloop_1787: ; xref 273F:9126 273F:910C 50 push ax 273F:910D 53 push bx 273F:910E 51 push cx 273F:910F 56 push si 273F:9110 B9 0020 mov cx,20h 273F:9113 8B 3E 076E mov di,word ptr ds:[76Eh] ; (273F:076E=0D806h) 273F:9117 8B 15 mov dx,[di] 273F:9119 E8 01C7 call sub_227 ; (92E3) 273F:911C 5E pop si 273F:911D 59 pop cx 273F:911E 5B pop bx 273F:911F 58 pop ax 273F:9120 83 C3 01 add bx,1 273F:9123 83 C6 21 add si,21h 273F:9126 E2 E4 loop locloop_1787 ; Loop if cx > 0 273F:9128 FF 16 0744 call word ptr [show_screen_proc] 273F:912C E8 8E5C call mouse_wait ; (1F8B) 273F:912F loc_1788: ; xref 273F:9188, 91E5, 92B3 273F:912F úE8 0296 call room_check_keypresses 273F:9132 F6 06 11DA 01 test mouse_buttons2, 1 273F:9137 74 08 jz loc_1789 ; Jump if zero 273F:9139 C6 06 11DA 00 mov mouse_buttons2, 0 273F:913E E9 00A7 jmp loc_1797 ; (91E8) 273F:9141 loc_1789: ; xref 273F:9137 273F:9141 F6 06 11DA 02 test mouse_buttons2, 2 273F:9146 74 06 jz loc_1790 ; Jump if zero 273F:9148 33 C0 xor ax,ax ; Zero register 273F:914A A2 11DA mov mouse_buttons2, al 273F:914D C3 retn 273F:914E loc_1790: ; xref 273F:9146 273F:914E A1 11D6 mov ax, mouse_x2 273F:9151 8B 1E 11D8 mov bx, mouse_y2 273F:9155 B1 03 mov cl,3 273F:9157 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:9159 D3 EB shr bx,cl ; Shift w/zeros fill 273F:915B 3D 0002 cmp ax,2 273F:915E 72 22 jb loc_1792 ; Jump if below 273F:9160 3D 0022 cmp ax,22h 273F:9163 73 1D jae loc_1792 ; Jump if above or = 273F:9165 83 FB 07 cmp bx,7 273F:9168 72 18 jb loc_1792 ; Jump if below 273F:916A 8B 0E 0308 mov cx,word ptr ds:[308h] ; (273F:0308=21CDh) 273F:916E 83 F9 0F cmp cx,0Fh 273F:9171 72 03 jb loc_1791 ; Jump if below 273F:9173 83 E9 01 sub cx,1 273F:9176 loc_1791: ; xref 273F:9171 273F:9176 83 C1 08 add cx,8 273F:9179 3B D9 cmp bx,cx 273F:917B 73 05 jae loc_1792 ; Jump if above or = 273F:917D 83 EB 06 sub bx,6 273F:9180 EB 02 jmp short loc_1793 ; (9184) 273F:9182 loc_1792: ; xref 273F:915E, 9163, 9168, 917B 273F:9182 33 DB xor bx,bx ; Zero register 273F:9184 loc_1793: ; xref 273F:9180 nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 346 273F:9184 3B 1E 5551 cmp bx,data_343 ; (273F:5551=0E807h) 273F:9188 74 A5 je loc_1788 ; Jump if equal 273F:918A 87 1E 5551 xchg data_343,bx ; (273F:5551=0E807h) 273F:918E 0B DB or bx,bx ; Zero ? 273F:9190 74 21 jz loc_1794 ; Jump if zero 273F:9192 8B C3 mov ax,bx 273F:9194 2D 0001 sub ax,1 273F:9197 B9 0021 mov cx,21h 273F:919A F7 E1 mul cx ; dx:ax = reg * ax 273F:919C 05 0119 add ax, offset file_buffer 273F:919F 8B F0 mov si,ax 273F:91A1 8B 3E 076E mov di,word ptr ds:[76Eh] ; (273F:076E=0D806h) 273F:91A5 8B 15 mov dx,[di] 273F:91A7 B8 0003 mov ax,3 273F:91AA 83 C3 06 add bx,6 273F:91AD B9 0020 mov cx,20h 273F:91B0 E8 0130 call sub_227 ; (92E3) 273F:91B3 loc_1794: ; xref 273F:9190 273F:91B3 F7 06 5551 FFFF test data_343,0FFFFh ; (273F:5551=0E807h) 273F:91B9 74 26 jz loc_1795 ; Jump if zero 273F:91BB 8B 1E 5551 mov bx,data_343 ; (273F:5551=0E807h) 273F:91BF 8B C3 mov ax,bx 273F:91C1 2D 0001 sub ax,1 273F:91C4 B9 0021 mov cx,21h 273F:91C7 F7 E1 mul cx ; dx:ax = reg * ax 273F:91C9 05 0119 add ax, offset file_buffer 273F:91CC 8B F0 mov si,ax 273F:91CE 8B 3E 076E mov di,word ptr ds:[76Eh] ; (273F:076E=0D806h) 273F:91D2 8B 55 02 mov dx,[di+2] 273F:91D5 B8 0003 mov ax,3 273F:91D8 83 C3 06 add bx,6 273F:91DB B9 0020 mov cx,20h 273F:91DE E8 0102 call sub_227 ; (92E3) 273F:91E1 loc_1795: ; xref 273F:91B9 273F:91E1 FF 16 0744 call word ptr [show_screen_proc] 273F:91E5 loc_1796: ; xref 273F:91EE 273F:91E5 E9 FF47 jmp loc_1788 ; (912F) 273F:91E8 loc_1797: ; xref 273F:913E 273F:91E8 F7 06 5551 FFFF test data_343,0FFFFh ; (273F:5551=0E807h) 273F:91EE 74 F5 jz loc_1796 ; Jump if zero 273F:91F0 80 0E 11D0 01 or menubar_state, 1 ; (273F:11D0=56h) 273F:91F5 FF 16 075E call [show_cursor_proc] 273F:91F9 B8 0021 mov ax,21h 273F:91FC F7 26 5551 mul data_343 ; (273F:5551=0E807h) dx:ax = data * ax 273F:9200 2D 0021 sub ax,21h 273F:9203 05 0119 add ax, offset file_buffer 273F:9206 8B F0 mov si,ax 273F:9208 8B F8 mov di,ax 273F:920A loc_1798: ; xref 273F:9212 273F:920A úF6 05 FF test byte ptr [di],0FFh 273F:920D 74 05 jz loc_1799 ; Jump if zero 273F:920F 83 C7 01 add di,1 273F:9212 EB F6 jmp short loc_1798 ; (920A) 273F:9214 loc_1799: ; xref 273F:920D, 928A, 9297 273F:9214 úC6 05 5F mov byte ptr [di],5Fh ; '_' 273F:9217 C6 45 01 00 mov byte ptr [di+1],0 273F:921B 57 push di nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 347 273F:921C 56 push si 273F:921D 8B 3E 076E mov di,word ptr ds:[76Eh] ; (273F:076E=0D806h) 273F:9221 8B 15 mov dx,[di] 273F:9223 B8 0003 mov ax,3 273F:9226 8B 1E 5551 mov bx,data_343 ; (273F:5551=0E807h) 273F:922A 83 C3 06 add bx,6 273F:922D B9 0020 mov cx,20h 273F:9230 E8 00B0 call sub_227 ; (92E3) 273F:9233 FF 16 0744 call word ptr [show_screen_proc] 273F:9237 5E pop si 273F:9238 5F pop di 273F:9239 loc_1800: ; xref 273F:924A, 9283, 9292, 92DF 273F:9239 úF6 06 11DA 01 test mouse_buttons2, 1 273F:923E 75 7A jnz loc_1808 ; Jump if not zero 273F:9240 F6 06 11DA 02 test mouse_buttons2, 2 273F:9245 75 57 jnz loc_1806 ; Jump if not zero 273F:9247 E8 02D6 call check_keypress ; (9520) 273F:924A 74 ED jz loc_1800 ; Jump if zero 273F:924C 80 3E 5553 AC cmp data_344,0ACh ; (273F:5553=0DFh) 273F:9251 74 47 je loc_1805 ; Jump if equal 273F:9253 3C 30 cmp al,30h ; '0' 273F:9255 72 14 jb loc_1801 ; Jump if below 273F:9257 3C 3A cmp al,3Ah ; ':' 273F:9259 72 21 jb loc_1803 ; Jump if below 273F:925B 3C 41 cmp al,41h ; 'A' 273F:925D 72 0C jb loc_1801 ; Jump if below 273F:925F 3C 5B cmp al,5Bh ; '[' 273F:9261 72 19 jb loc_1803 ; Jump if below 273F:9263 3C 61 cmp al,61h ; 'a' 273F:9265 72 04 jb loc_1801 ; Jump if below 273F:9267 3C 7B cmp al,7Bh ; '{' 273F:9269 72 11 jb loc_1803 ; Jump if below 273F:926B loc_1801: ; xref 273F:9255, 925D, 9265 273F:926B úBB 5554 mov bx,offset data_345 ; (273F:5554=0E8h) 273F:926E loc_1802: ; xref 273F:927A 273F:926E úF6 07 FF test byte ptr [bx],0FFh 273F:9271 74 19 jz loc_1804 ; Jump if zero 273F:9273 3A 07 cmp al,[bx] 273F:9275 74 05 je loc_1803 ; Jump if equal 273F:9277 83 C3 01 add bx,1 273F:927A EB F2 jmp short loc_1802 ; (926E) 273F:927C loc_1803: ; xref 273F:9259, 9261, 9269, 9275 273F:927C 8B DF mov bx,di 273F:927E 2B DE sub bx,si 273F:9280 83 FB 1F cmp bx,1Fh 273F:9283 73 B4 jae loc_1800 ; Jump if above or = 273F:9285 88 05 mov [di],al 273F:9287 83 C7 01 add di,1 273F:928A EB 88 jmp short loc_1799 ; (9214) 273F:928C loc_1804: ; xref 273F:9271 273F:928C 3C 08 cmp al,8 273F:928E 75 0A jne loc_1805 ; Jump if not equal 273F:9290 3B F7 cmp si,di 273F:9292 74 A5 je loc_1800 ; Jump if equal 273F:9294 83 EF 01 sub di,1 273F:9297 E9 FF7A jmp loc_1799 ; (9214) 273F:929A loc_1805: ; xref 273F:9251, 928E nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 348 273F:929A 3C 1B cmp al,1Bh 273F:929C 75 18 jne loc_1807 ; Jump if not equal 273F:929E loc_1806: ; xref 273F:9245 273F:929E C6 05 00 mov byte ptr [di],0 273F:92A1 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:92A6 FF 16 075E call [show_cursor_proc] 273F:92AA FF 16 0744 call word ptr [show_screen_proc] 273F:92AE C6 06 11DA 00 mov mouse_buttons2, 0 273F:92B3 E9 FE79 jmp loc_1788 ; (912F) 273F:92B6 loc_1807: ; xref 273F:929C 273F:92B6 3C 0D cmp al,0Dh 273F:92B8 75 25 jne loc_1809 ; Jump if not equal 273F:92BA loc_1808: ; xref 273F:923E 273F:92BA C6 06 11DA 00 mov mouse_buttons2, 0 273F:92BF 3B FE cmp di,si 273F:92C1 74 1C je loc_1809 ; Jump if equal 273F:92C3 C6 05 00 mov byte ptr [di],0 273F:92C6 80 26 11D0 FE and menubar_state, 0FEh ; (273F:11D0=56h) 273F:92CB FF 16 075E call [show_cursor_proc] 273F:92CF FF 16 0744 call word ptr [show_screen_proc] 273F:92D3 C6 06 11DA 00 mov mouse_buttons2, 0 273F:92D8 33 C0 xor ax,ax ; Zero register 273F:92DA 87 06 5551 xchg data_343,ax ; (273F:5551=0E807h) 273F:92DE C3 retn 273F:92DF loc_1809: ; xref 273F:92B8, 92C1 273F:92DF E9 FF57 jmp loc_1800 ; (9239) 273F:92E2 C3 db 0C3h saverestore_proc endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:90F4, 9119, 91B0, 91DE, 9230 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:92E3 sub_227 proc near 273F:92E3 50 push ax 273F:92E4 53 push bx 273F:92E5 52 push dx 273F:92E6 F7 26 074A mul char_width 273F:92EA 8B F8 mov di,ax 273F:92EC A1 074C mov ax, menubar_block_size 273F:92EF F7 E3 mul bx ; dx:ax = reg * ax 273F:92F1 03 F8 add di,ax 273F:92F3 5A pop dx 273F:92F4 A1 4CE4 mov ax, data_segment2 273F:92F7 8E C0 mov es,ax 273F:92F9 8B 2E 4CF2 mov bp, font_segment 273F:92FD loc_1810: ; xref 273F:930D 273F:92FD úAC lodsb ; String [si] to al 273F:92FE 0A C0 or al,al ; Zero ? 273F:9300 74 0D jz loc_1811 ; Jump if zero 273F:9302 FF 16 076A call [display_character_proc] 273F:9306 03 3E 074A add di, char_width 273F:930A 80 C5 01 add ch,1 273F:930D EB EE jmp short loc_1810 ; (92FD) 273F:930F loc_1811: ; xref 273F:9300, 9320 273F:930F ú3A E9 cmp ch,cl 273F:9311 73 0F jae loc_1812 ; Jump if above or = 273F:9313 B0 20 mov al,20h ; ' ' 273F:9315 FF 16 076A call [display_character_proc] 273F:9319 03 3E 074A add di, char_width 273F:931D 80 C5 01 add ch,1 273F:9320 EB ED jmp short loc_1811 ; (930F) 273F:9322 loc_1812: ; xref 273F:9311 273F:9322 5B pop bx 273F:9323 58 pop ax 273F:9324 83 EB 01 sub bx,1 273F:9327 8A CD mov cl,ch 273F:9329 32 ED xor ch,ch ; Zero register 273F:932B 8B E9 mov bp,cx 273F:932D B9 0081 mov cx,81h 273F:9330 BA 0001 mov dx,1 273F:9333 E9 784D jmp loc_92 ; (0B83) sub_227 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:015D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:9336 sub_228 proc near 273F:9336 E8 0EBA call sub_257 ; (A1F3) 273F:9339 B8 01BC mov ax,1BCh 273F:933C B3 00 mov bl,0 assume ds:data_seg 273F:933E FF 1E 5662 call dword ptr [play_music_proc] 273F:9342 E8 8C30 call show_arrow_cursor 273F:9345 80 3E 0786 02 cmp default_drive, 2 ; Is it drive A or B (0 or 1)? 273F:934A 72 20 jb loc_1813 ; Yes, so running on floppy 273F:934C B8 3D00 mov ax,3D00h 273F:934F úBA 5540 mov dx, offset savegame_filename 273F:9352 CD 21 int 21h ; DOS Services ah=function 3Dh ; open file, al=mode,name@ds:dx 273F:9354 72 35 jc loc_1815 ; Jump if carry Set 273F:9356 8B D8 mov bx,ax 273F:9358 B8 4202 mov ax,4202h 273F:935B 33 C9 xor cx,cx ; Zero register 273F:935D 33 D2 xor dx,dx ; Zero register 273F:935F CD 21 int 21h ; DOS Services ah=function 42h ; move file ptr, bx=file handle ; al=method, cx,dx=offset 273F:9361 72 24 jc loc_1814 ; Jump if carry Set 273F:9363 3D 03E8 cmp ax, PLAYER_HOTSPOT_ID 273F:9366 72 1F jb loc_1814 ; Jump if below 273F:9368 B4 3E mov ah,3Eh 273F:936A CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:936C loc_1813: ; xref 273F:934A 273F:936C FF 16 0766 call word ptr [fade_out_proc] 273F:9370 C7 06 9832 FFFF mov room_number, 0FFFFh 273F:9376 A1 4CE0 mov ax, current_room_segment 273F:9379 A3 4CE2 mov data_segment, ax 273F:937C E8 A9A0 call restart_restore_dialog ; Show restore/restart dialog 273F:937F 75 0A jnz loc_1815 ; Jump if not zero 273F:9381 E8 FBC6 call menuitem_restore 273F:9384 75 05 jnz loc_1815 ; Jump if not zero 273F:9386 C3 retn 273F:9387 loc_1814: ; xref 273F:9361, 9366 273F:9387 B4 3E mov ah,3Eh 273F:9389 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:0169 273F:938B sub_229: 273F:938B loc_1815: ; xref 273F:9354, 937F, 9384 273F:938B E8 8BD1 call show_disk_cursor 273F:938E FF 16 0766 call word ptr [fade_out_proc] 273F:9392 E8 0E5E call sub_257 ; (A1F3) 273F:9395 B8 FFFF mov ax,0FFFFh 273F:9398 C7 06 9832 FFFF mov room_number, 0FFFFh 273F:939E E8 0017 call sub_230 ; (93B8) 273F:93A1 B8 400E mov ax,400Eh 273F:93A4 8C D9 mov cx,ds 273F:93A6 BA 5D90 mov dx,5D90h 273F:93A9 E8 6F68 call read_entry ; (0314) 273F:93AC E8 E812 call load_string_resources 273F:93AF C6 06 1456 FF mov current_room_num, 0FFh 273F:93B4 0D 0001 or ax,1 273F:93B7 C3 retn sub_228 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8F5D, 939E ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:93B8 sub_230 proc near assume ds:seg_code 273F:93B8 A1 9832 mov ax, room_number 273F:93BB A3 554F mov data_342,ax ; (273F:554F=8BDDh) 273F:93BE E8 80E1 call sub_45 ; (14A2) 273F:93C1 A1 4CF8 mov ax, data_811 273F:93C4 A3 4D00 mov buffer_segment, ax 273F:93C7 C3 retn sub_230 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0104, 14E6, 3D65, 912F ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:93C8 room_check_keypresses proc near 273F:93C8 loc_1816: ; xref 273F:94D8 273F:93C8 úE8 0155 call check_keypress ; (9520) 273F:93CB 74 3B jz loc_ret_1820 ; Jump if zero 273F:93CD E8 01B8 call sub_233 ; (9588) 273F:93D0 74 36 jz loc_ret_1820 ; Jump if zero 273F:93D2 3C 41 cmp al,41h ; 'A' 273F:93D4 72 06 jb loc_1817 ; Jump if below 273F:93D6 3C 5B cmp al,5Bh ; 'Z'+1 273F:93D8 73 02 jae loc_1817 ; Jump if above or = 273F:93DA 04 20 add al,20h ; Convert uppercase to lowercase 273F:93DC loc_1817: 273F:93DC 3C 70 cmp al,70h ; 'p' - Pause 273F:93DE 75 29 jne loc_1821 ; Jump if not equal 273F:93E0 A0 5660 mov al, music_status 273F:93E3 50 push ax 273F:93E4 80 26 5660 FB and music_status, 0FBh 273F:93E9 E8 8B9F call mouse_wait ; (1F8B) 273F:93EC loc_1818: ; xref 273F:93FF 273F:93EC E8 8823 call room_check_cursors 273F:93EF E8 80C6 call set_vga_palette ; (14B8) 273F:93F2 F6 06 11D5 FF test mouse_buttons, 0FFh ; (31E4:11D5=0) 273F:93F7 75 08 jnz loc_1819 ; Jump if not zero 273F:93F9 B4 06 mov ah,6 273F:93FB B2 FF mov dl,0FFh 273F:93FD CD 21 int 21h ; DOS Services ah=function 06h ; special char i/o, dl=subfunc 273F:93FF 74 EB jz loc_1818 ; Jump if zero 273F:9401 loc_1819: ; xref 273F:93F7 273F:9401 E8 8B87 call mouse_wait ; (1F8B) 273F:9404 58 pop ax 273F:9405 A2 5660 mov music_status, al 273F:9408 loc_ret_1820: ; xref 273F:93CB, 93D0 273F:9408 C3 retn 273F:9409 loc_1821: ; xref 273F:93DE 273F:9409 3C 71 cmp al,71h ; 'q' - Quit 273F:940B 75 0A jne loc_1822 ; Jump if not equal 273F:940D EB 08 jmp short loc_1822 ; (9417) ;* No entry point to code 273F:940F B8 0000 mov ax,0 273F:9412 B6 01 mov dh,1 273F:9414 E8 AB8D call display_message ; (3FA4) 273F:9417 loc_1822: 273F:9417 3C C8 cmp al, 0C8h ; Up arrow? 273F:9419 75 07 jne loc_1823 ; Jump if not equal 273F:941B 33 C9 xor cx, cx 273F:941D BA FFFE mov dx, 0FFFEh 273F:9420 EB 7C jmp short loc_1834 273F:9422 loc_1823: 273F:9422 3C D0 cmp al,0D0h ; Down arrow? 273F:9424 75 07 jne loc_1824 ; Jump if not equal 273F:9426 33 C9 xor cx,cx 273F:9428 BA 0002 mov dx,2 273F:942B EB 71 jmp short loc_1834 273F:942D loc_1824: 273F:942D 3C CB cmp al,0CBh ; Left arrow? 273F:942F 75 07 jne loc_1825 ; Jump if not equal 273F:9431 B9 FFFC mov cx,0FFFCh 273F:9434 33 D2 xor dx,dx 273F:9436 EB 66 jmp short loc_1834 273F:9438 loc_1825: 273F:9438 3C CD cmp al,0CDh ; Right arrow? 273F:943A 75 07 jne loc_1826 ; Jump if not equal 273F:943C B9 0004 mov cx,4 273F:943F 33 D2 xor dx,dx 273F:9441 EB 5B jmp short loc_1834 273F:9443 loc_1826: 273F:9443 3C C9 cmp al,0C9h 273F:9445 75 09 jne loc_1827 ; Jump if not equal 273F:9447 8B 0E 11D1 mov cx, mouse_x 273F:944B BA 000A mov dx,0Ah 273F:944E EB 74 jmp short loc_1837 ; (94C4) 273F:9450 loc_1827: ; xref 273F:9445 273F:9450 3C D1 cmp al,0D1h 273F:9452 75 09 jne loc_1828 ; Jump if not equal 273F:9454 8B 0E 11D1 mov cx, mouse_x 273F:9458 BA 00BE mov dx,0BEh 273F:945B EB 67 jmp short loc_1837 ; (94C4) 273F:945D loc_1828: ; xref 273F:9452 273F:945D 3C C7 cmp al,0C7h 273F:945F 75 09 jne loc_1829 ; Jump if not equal 273F:9461 B9 0008 mov cx,8 273F:9464 8B 16 11D3 mov dx, mouse_y 273F:9468 EB 5A jmp short loc_1837 ; (94C4) 273F:946A loc_1829: ; xref 273F:945F 273F:946A 3C CF cmp al,0CFh 273F:946C 75 09 jne loc_1830 ; Jump if not equal 273F:946E B9 0138 mov cx,138h 273F:9471 8B 16 11D3 mov dx, mouse_y 273F:9475 EB 4D jmp short loc_1837 ; (94C4) 273F:9477 loc_1830: ; xref 273F:946C 273F:9477 3C 20 cmp al,20h ; ' ' 273F:9479 75 0D jne loc_1832 ; Jump if not equal 273F:947B loc_1831: ; xref 273F:948A 273F:947B 8B 0E 11D1 mov cx, mouse_x 273F:947F 8B 16 11D3 mov dx, mouse_y 273F:9483 BB 0001 mov bx,1 273F:9486 EB 3E jmp short loc_1838 ; (94C6) 273F:9488 loc_1832: ; xref 273F:9479 273F:9488 3C 1B cmp al,1Bh 273F:948A 74 EF je loc_1831 ; Jump if equal 273F:948C 3C 0D cmp al,0Dh 273F:948E 75 0D jne loc_ret_1833 ; Jump if not equal 273F:9490 8B 0E 11D1 mov cx, mouse_x 273F:9494 8B 16 11D3 mov dx, mouse_y 273F:9498 BB 0002 mov bx,2 273F:949B EB 29 jmp short loc_1838 ; (94C6) 273F:949D loc_ret_1833: ; xref 273F:948E 273F:949D C3 retn 273F:949E loc_1834: ; xref 273F:9420, 942B, 9436, 9441 273F:949E F7 06 55A1 0003 test data_836,3 ; (31E4:55A1=0) 273F:94A4 74 0E jz loc_1835 ; Jump if zero 273F:94A6 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:94A8 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:94AA D1 E2 shl dx,1 ; Shift w/zeros fill 273F:94AC D1 E2 shl dx,1 ; Shift w/zeros fill 273F:94AE D1 E1 shl cx,1 ; Shift w/zeros fill 273F:94B0 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:94B2 D1 E2 shl dx,1 ; Shift w/zeros fill 273F:94B4 loc_1835: ; xref 273F:94A4 273F:94B4 03 0E 11D1 add cx, mouse_x 273F:94B8 79 02 jns loc_1836 ; Jump if not sign 273F:94BA 33 C9 xor cx,cx ; Zero register 273F:94BC loc_1836: ; xref 273F:94B8 273F:94BC 03 16 11D3 add dx, mouse_y 273F:94C0 79 02 jns loc_1837 ; Jump if not sign 273F:94C2 33 D2 xor dx,dx ; Zero register 273F:94C4 loc_1837: ; xref 273F:944E, 945B, 9468, 9475 ; 94C0 273F:94C4 33 DB xor bx,bx ; Zero register 273F:94C6 loc_1838: ; xref 273F:9486, 949B 273F:94C6 D1 E1 shl cx,1 ; Shift w/zeros fill 273F:94C8 0E E8 8A1C callf mouse_handler ; (1EE8) 273F:94CC 83 3E 11D3 08 cmp mouse_y, 8 273F:94D1 72 05 jb loc_1840 ; Jump if below 273F:94D3 C6 06 11D5 00 mov mouse_buttons, 0 273F:94D8 loc_1840: ; xref 273F:94D1 273F:94D8 E9 FEED jmp loc_1816 ; (93C8) room_check_keypresses endp ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; ; External Entry Point ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 273F:94DB keyboard_handler proc far ; xref 273F:0703 273F:94DB 9C pushf ; Push flags assume ds:seg_code 273F:94DC 2E: FF 1E 04AE call dword ptr cs:[old_kbd_int_proc] 273F:94E1 50 push ax 273F:94E2 53 push bx 273F:94E3 51 push cx 273F:94E4 52 push dx 273F:94E5 56 push si 273F:94E6 57 push di 273F:94E7 55 push bp 273F:94E8 1E push ds 273F:94E9 06 push es 273F:94EA 9C pushf ; Push flags 273F:94EB B8 31E4 mov ax,data_seg 273F:94EE 8E D8 mov ds,ax 273F:94F0 33 C0 xor ax,ax ; Zero register 273F:94F2 8E C0 mov es,ax 273F:94F4 26: A1 0417 mov ax,es:keybd_flags_1_ ; (0000:0417=0) assume ds:data_seg 273F:94F8 A3 55A1 mov data_836,ax ; (31E4:55A1=0) 273F:94FB C6 06 55A0 01 mov byte ptr data_835,1 ; (31E4:55A0=0) 273F:9500 C7 06 F010 0000 mov timer_ticks, 0 ; (31E4:F010=0) 273F:9506 80 3E 1854 04 cmp cp_num_digits, 4 273F:950B 72 08 jb loc_1841 ; Jump if below 273F:950D C6 06 1854 01 mov cp_num_digits, 1 273F:9512 E8 01A8 call sub_236 ; (96BD) 273F:9515 loc_1841: ; xref 273F:950B 273F:9515 9D popf ; Pop flags 273F:9516 07 pop es 273F:9517 1F pop ds 273F:9518 5D pop bp 273F:9519 5F pop di 273F:951A 5E pop si 273F:951B 5A pop dx 273F:951C 59 pop cx 273F:951D 5B pop bx 273F:951E 58 pop ax 273F:951F CF iret ; Interrupt return keyboard_handler endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1FA1, 3B84, 3B92, 3BAF, 6A79, 6D66, 9247 ; 93C8, 9D7B, AA0D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:9520 check_keypress proc near 273F:9520 B4 06 mov ah,6 273F:9522 B2 FF mov dl,0FFh 273F:9524 CD 21 int 21h ; DOS Services ah=function 06h ; special char i/o, dl=subfunc 273F:9526 74 0D jz loc_ret_1842 ; Jump if zero 273F:9528 0A C0 or al,al ; Zero ? 273F:952A 75 09 jnz loc_ret_1842 ; Jump if not zero 273F:952C B4 06 mov ah,6 273F:952E B2 FF mov dl,0FFh 273F:9530 CD 21 int 21h ; DOS Services ah=function 06h ; special char i/o, dl=subfunc 273F:9532 0C 80 or al,80h 273F:9534 C3 retn 273F:9535 loc_ret_1842: ; xref 273F:9526, 952A 273F:9535 C3 retn check_keypress endp 273F:9536 48 data_419 db 48h ; xref 273F:95B5 273F:9537 95 E2 95 4F 95 F4 db 95h,0E2h, 95h, 4Fh, 95h,0F4h 273F:953D 95 63 95 13 96 71 db 95h, 63h, 95h, 13h, 96h, 71h 273F:9543 95 2C 96 00 00 db 95h, 2Ch, 96h, 00h, 00h 273F:9548 3C 43 44 48 4E 3C db 'FOJOC@RJH=', 0 273F:9555 3D 3C 3E 46 4F 4A 273F:955B 4F 43 40 52 4A 48 273F:9561 3D 00 273F:9563 46 44 47 47 4F 43 db 'FDGGOC@AP>F@M', 0 273F:9569 40 41 50 3E 46 40 273F:956F 4D 00 273F:9571 40 3C 4E 40 42 4A db '@ 0 273F:A066 úBF B9C7 mov di, offset data_1121 273F:A069 B9 000A mov cx,0Ah 273F:A06C locloop_1961: ; xref 273F:A0B7 273F:A06C F6 45 02 FF test byte ptr [di+2],0FFh 273F:A070 75 42 jnz loc_1963 ; Jump if not zero 273F:A072 8A 04 mov al,[si] 273F:A074 88 05 mov [di],al 273F:A076 88 5D 01 mov [di+1],bl 273F:A079 8A 4C 02 mov cl,[si+2] 273F:A07C F6 06 5660 11 test music_status, 11h 273F:A081 74 0F jz loc_1962 ; Jump if zero 273F:A083 D0 E9 shr cl,1 ; Shift w/zeros fill 273F:A085 D0 E9 shr cl,1 ; Shift w/zeros fill 273F:A087 F6 06 5660 10 test music_status, 10h 273F:A08C 74 04 jz loc_1962 ; Jump if zero 273F:A08E D0 E9 shr cl,1 ; Shift w/zeros fill 273F:A090 D0 E9 shr cl,1 ; Shift w/zeros fill 273F:A092 loc_1962: ; xref 273F:A081, A08C 273F:A092 80 E1 03 and cl,3 273F:A095 88 4D 02 mov [di+2],cl 273F:A098 8A 4C 03 mov cl,[si+3] 273F:A09B 88 4D 03 mov [di+3],cl 273F:A09E 8A 4C 04 mov cl,[si+4] 273F:A0A1 88 4D 04 mov [di+4],cl 273F:A0A4 B4 01 mov ah,1 273F:A0A6 32 FF xor bh,bh ; Zero register 273F:A0A8 FF 1E 5662 call dword ptr [play_music_proc] 273F:A0AC 8A 4C 04 mov cl,[si+4] 273F:A0AF 8A 1C mov bl,[si] 273F:A0B1 E9 00DD jmp loc_1977 ; (A191) 273F:A0B4 loc_1963: ; xref 273F:A070 273F:A0B4 83 C7 05 add di,5 273F:A0B7 E2 B3 loop locloop_1961 ; Loop if cx > 0 273F:A0B9 C3 retn ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:0071 273F:A0BA sub_249: 273F:A0BA E8 0098 call sub_253 ; (A155) 273F:A0BD úBE B9C7 mov si, offset data_1121 273F:A0C0 B9 000A mov cx,0Ah 273F:A0C3 locloop_1964: ; xref 273F:A0DC 273F:A0C3 F6 44 02 FF test byte ptr [si+2],0FFh 273F:A0C7 74 10 jz loc_1965 ; Jump if zero 273F:A0C9 F6 44 03 01 test byte ptr [si+3],1 273F:A0CD 74 0A jz loc_1965 ; Jump if zero 273F:A0CF B4 04 mov ah,4 273F:A0D1 8A 04 mov al,[si] 273F:A0D3 24 7F and al,7Fh 273F:A0D5 FF 1E 5662 call dword ptr [play_music_proc] 273F:A0D9 loc_1965: ; xref 273F:A0C7, A0CD 273F:A0D9 83 C6 05 add si,5 273F:A0DC E2 E5 loop locloop_1964 ; Loop if cx > 0 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:9FE0, 9FFE, A11A ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß sub_250 proc near 273F:A0DE úBE B9C7 mov si, offset data_1121 273F:A0E1 B9 000A mov cx, 0Ah 273F:A0E4 locloop_1966: ; xref 273F:A117 273F:A0E4 F6 44 02 FF test byte ptr [si+2],0FFh 273F:A0E8 74 2A jz loc_1968 ; Jump if zero 273F:A0EA B4 05 mov ah,5 273F:A0EC 8A 04 mov al,[si] 273F:A0EE 24 7F and al,7Fh 273F:A0F0 F9 stc ; Set carry flag assume ds:seg_code 273F:A0F1 FF 1E 5662 call dword ptr [play_music_proc] 273F:A0F5 73 1D jnc loc_1968 ; Jump if carry=0 273F:A0F7 51 push cx 273F:A0F8 8A 4C 02 mov cl,[si+2] 273F:A0FB 8A 44 01 mov al,[si+1] 273F:A0FE 32 E4 xor ah,ah ; Zero register 273F:A100 05 5669 add ax,5669h 273F:A103 8B F8 mov di,ax 273F:A105 32 ED xor ch,ch ; Zero register 273F:A107 locloop_1967: ; xref 273F:A10D 273F:A107 C6 05 00 mov byte ptr [di],0 273F:A10A 83 C7 01 add di,1 273F:A10D E2 F8 loop locloop_1967 ; Loop if cx > 0 273F:A10F C6 44 02 00 mov byte ptr [si+2],0 273F:A113 59 pop cx 273F:A114 loc_1968: ; xref 273F:A0E8, A0F5 273F:A114 83 C6 05 add si,5 273F:A117 E2 CB loop locloop_1966 ; Loop if cx > 0 273F:A119 C3 retn sub_250 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß seq_method_66 proc near 273F:A11A E8 FFC1 call sub_250 ; (A0DE) 273F:A11D C7 06 BA1F 0000 mov general_val, 0 273F:A123 E8 0009 call sub_251 ; (A12F) 273F:A126 74 06 jz loc_ret_1969 ; Jump if zero 273F:A128 C7 06 BA1F 0001 mov general_val, 1 273F:A12E loc_ret_1969: ; xref 273F:A126 273F:A12E C3 retn seq_method_66 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:9FF6, A123, A192 ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 273F:A12F sub_251: 273F:A12F úBE B9C7 mov si, offset data_1121 273F:A132 B9 000A mov cx,0Ah 273F:A135 locloop_1970: ; xref 273F:A142 273F:A135 F6 44 02 FF test byte ptr [si+2],0FFh 273F:A139 74 04 jz loc_1971 ; Jump if zero 273F:A13B 38 1C cmp [si],bl 273F:A13D 74 08 je loc_1972 ; Jump if equal 273F:A13F loc_1971: ; xref 273F:A139 273F:A13F 83 C6 05 add si,5 273F:A142 E2 F1 loop locloop_1970 ; Loop if cx > 0 273F:A144 33 F6 xor si,si ; Zero register 273F:A146 C3 retn 273F:A147 loc_1972: ; xref 273F:A13D 273F:A147 0B F6 or si,si ; Zero ? 273F:A149 C3 retn ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:A180, A18D 273F:A14A sub_252: 273F:A14A B4 04 mov ah,4 273F:A14C 8A C3 mov al,bl 273F:A14E 24 7F and al,7Fh 273F:A150 FF 1E 5662 call dword ptr [play_music_proc] 273F:A154 C3 retn ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:A0BA 273F:A155 sub_253: 273F:A155 A1 9832 mov ax, room_number 273F:A158 E8 6B8F call get_room_resource_pointer2 273F:A15B 8A 44 17 mov al, [si+17h] 273F:A15E 3A 06 BAB9 cmp al, script_val_88 273F:A162 74 1F je loc_ret_1975 ; Jump if equal 273F:A164 A2 BAB9 mov script_val_88, al 273F:A167 3C 01 cmp al,1 273F:A169 72 12 jb loc_1974 ; Jump if below 273F:A16B 74 17 jz loc_1976 ; Jump if zero 273F:A16D 3C 03 cmp al,3 273F:A16F 72 04 jb loc_1973 ; Jump if below 273F:A171 74 0A jz loc_1974 ; Jump if zero 273F:A173 EB 08 jmp short loc_1974 ; (A17D) 273F:A175 loc_1973: ; xref 273F:A16F 273F:A175 33 DB xor bx, bx ; Zero register 273F:A177 B9 000F mov cx, 0Fh 273F:A17A E8 0014 call sub_254 ; (A191) 273F:A17D loc_1974: ; xref 273F:A169, A171, A173 273F:A17D BB 0001 mov bx,1 273F:A180 E8 FFC7 call sub_252 ; (A14A) 273F:A183 loc_ret_1975: ; xref 273F:A162 273F:A183 C3 retn 273F:A184 loc_1976: ; xref 273F:A16B 273F:A184 BB 0002 mov bx,2 273F:A187 E8 FE73 call play_sound ; (9FFD) 273F:A18A BB 0021 mov bx,21h 273F:A18D E8 FFBA call sub_252 ; (A14A) 273F:A190 C3 retn ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:A17A 273F:A191 sub_254: 273F:A191 loc_1977: ; xref 273F:A0B1 273F:A191 51 push cx 273F:A192 E8 FF9A call sub_251 ; (A12F) 273F:A195 59 pop cx 273F:A196 74 21 jz loc_ret_1979 ; Jump if zero 273F:A198 F6 06 5660 01 test music_status, 1 273F:A19D 75 1A jnz loc_ret_1979 ; Jump if not zero ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; ; Called from: 273F:A259 273F:A19F sub_255: 273F:A19F 8A D9 mov bl,cl 273F:A1A1 8A 4C 02 mov cl,[si+2] 273F:A1A4 8A 44 01 mov al,[si+1] 273F:A1A7 32 ED xor ch,ch ; Zero register 273F:A1A9 locloop_1978: ; xref 273F:A1B7 273F:A1A9 B4 06 mov ah,6 273F:A1AB 50 push ax 273F:A1AC 53 push bx 273F:A1AD 51 push cx assume ds:seg_code 273F:A1AE FF 1E 5662 call dword ptr [play_music_proc] 273F:A1B2 59 pop cx 273F:A1B3 5B pop bx 273F:A1B4 58 pop ax 273F:A1B5 04 01 add al,1 273F:A1B7 E2 F0 loop locloop_1978 ; Loop if cx > 0 273F:A1B9 loc_ret_1979: ; xref 273F:A196, A19D 273F:A1B9 C3 retn sub_247 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A3CE, A5A3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A1BA sub_256 proc near assume ds:data_seg 273F:A1BA F6 06 5660 11 test music_status, 11h 273F:A1BF 75 1F jnz loc_1982 ; Jump if not zero 273F:A1C1 33 C0 xor ax,ax ; Zero register 273F:A1C3 E8 A823 call sleep ; (49E9) 273F:A1C6 B1 40 mov cl,40h ; '@' 273F:A1C8 loc_1980: ; xref 273F:A1DE 273F:A1C8 B8 0608 mov ax,608h 273F:A1CB 8A D9 mov bl,cl 273F:A1CD loc_1981: ; xref 273F:A1D5 273F:A1CD 50 push ax 273F:A1CE FF 1E 5662 call dword ptr [play_music_proc] 273F:A1D2 58 pop ax 273F:A1D3 2C 01 sub al,1 273F:A1D5 73 F6 jnc loc_1981 ; Jump if carry=0 273F:A1D7 8B C2 mov ax,dx 273F:A1D9 E8 A80D call sleep ; (49E9) 273F:A1DC D0 E9 shr cl,1 ; Shift w/zeros fill nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 383 273F:A1DE 75 E8 jnz loc_1980 ; Jump if not zero 273F:A1E0 loc_1982: ; xref 273F:A1BF 273F:A1E0 E8 0010 call sub_257 ; (A1F3) 273F:A1E3 B8 0608 mov ax,608h 273F:A1E6 B3 80 mov bl,80h 273F:A1E8 loc_1983: ; xref 273F:A1F0 273F:A1E8 50 push ax 273F:A1E9 FF 1E 5662 call dword ptr [play_music_proc] 273F:A1ED 58 pop ax 273F:A1EE 2C 01 sub al,1 273F:A1F0 73 F6 jnc loc_1983 ; Jump if carry=0 273F:A1F2 C3 retn sub_256 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:4067, 710D, 8F60, 9336, 9392, A1E0, A436 ; A47D, A58F, A5AC, A654, A6D6, A8E6, A977 ; A98D ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A1F3 sub_257 proc near 273F:A1F3 06 push es 273F:A1F4 57 push di 273F:A1F5 51 push cx 273F:A1F6 B4 03 mov ah,3 273F:A1F8 FF 1E 5662 call dword ptr [play_music_proc] 273F:A1FC úBF 5669 mov di,offset data_843 ; (31E4:5669=0) 273F:A1FF 1E push ds 273F:A200 07 pop es 273F:A201 B9 0008 mov cx,8 273F:A204 32 C0 xor al,al ; Zero register 273F:A206 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di] 273F:A208 59 pop cx 273F:A209 5F pop di 273F:A20A 07 pop es 273F:A20B C3 retn sub_257 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:1061 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ play_music proc near 273F:A20C B8 0005 mov ax,5 273F:A20F F7 E3 mul bx ; dx:ax = reg * ax 273F:A211 05 5671 add ax,5671h 273F:A214 8B F0 mov si,ax 273F:A216 8A 04 mov al,[si] 273F:A218 24 7F and al,7Fh 273F:A21A B4 04 mov ah,4 273F:A21C FF 1E 5662 call dword ptr [play_music_proc] 273F:A220 C3 retn play_music endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8FE1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A221 sub_259 proc near 273F:A221 úBE B9C7 mov si, offset data_1121 273F:A224 B9 000A mov cx,0Ah 273F:A227 locloop_1984: ; xref 273F:A260 273F:A227 F6 44 02 FF test byte ptr [si+2],0FFh 273F:A22B 74 30 jz loc_1986 ; Jump if zero 273F:A22D F6 44 03 02 test byte ptr [si+3],2 273F:A231 74 2A jz loc_1986 ; Jump if zero 273F:A233 51 push cx 273F:A234 8A 44 01 mov al,[si+1] 273F:A237 32 E4 xor ah,ah ; Zero register 273F:A239 05 5669 add ax,5669h 273F:A23C 8B F8 mov di,ax 273F:A23E 8A 4C 02 mov cl,[si+2] 273F:A241 32 ED xor ch,ch ; Zero register 273F:A243 locloop_1985: ; xref 273F:A249 273F:A243 C6 05 01 mov byte ptr [di],1 273F:A246 83 C7 01 add di,1 273F:A249 E2 F8 loop locloop_1985 ; Loop if cx > 0 273F:A24B B4 01 mov ah,1 273F:A24D 8A 04 mov al,[si] 273F:A24F 8A 5C 01 mov bl,[si+1] 273F:A252 FF 1E 5662 call dword ptr [play_music_proc] 273F:A256 8A 4C 04 mov cl,[si+4] 273F:A259 E8 FF43 call sub_255 ; (A19F) 273F:A25C 59 pop cx 273F:A25D loc_1986: ; xref 273F:A22B, A231 273F:A25D 83 C6 05 add si,5 273F:A260 E2 C5 loop locloop_1984 ; Loop if cx > 0 273F:A262 C3 retn sub_259 endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:8FE1 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ music_proc_unknown proc far 273F:A263 1E push ds 273F:A264 51 push cx 273F:A265 2E: 8B 0E 9F62 mov cx,word ptr cs:data_442+2 ; (273F:9F62=0) 273F:A26A 8E D9 mov ds,cx 273F:A26C 04 01 add al,1 273F:A26E 80 FC 01 cmp ah,1 273F:A271 72 45 jb loc_1992 ; Jump if below 273F:A273 74 2A jz loc_1989 ; Jump if zero 273F:A275 80 FC 03 cmp ah,3 273F:A278 72 1E jb loc_1988 ; Jump if below 273F:A27A 74 0F jz loc_1987 ; Jump if zero 273F:A27C 80 FC 05 cmp ah,5 273F:A27F 72 0A jb loc_1987 ; Jump if below 273F:A281 75 35 jnz loc_1992 ; Jump if not zero 273F:A283 3A 06 0009 cmp al,byte ptr ds:data_4e+1 ; (0000:0009=0) 273F:A287 74 21 je loc_1990 ; Jump if equal 273F:A289 EB 2D jmp short loc_1992 ; (A2B8) 273F:A28B loc_1987: ; xref 273F:A27A, A27F 273F:A28B C6 06 000B FF mov byte ptr ds:data_6e+1,0FFh ; (0000:000B=0C8h) 273F:A290 C7 06 0008 00FF mov word ptr ds:data_4e,0FFh ; (0000:0008=30h) 273F:A296 EB 12 jmp short loc_1990 ; (A2AA) 273F:A298 loc_1988: ; xref 273F:A278 273F:A298 2E: FF 1E 9F60 call cs:data_442 ; (273F:9F60=0) 273F:A29D EB 0B jmp short loc_1990 ; (A2AA) 273F:A29F loc_1989: ; xref 273F:A273 273F:A29F 80 E4 7F and ah,7Fh 273F:A2A2 80 FF 01 cmp bh,1 273F:A2A5 74 07 je loc_1991 ; Jump if equal 273F:A2A7 A2 000A mov ds:data_6e,al ; (0000:000A=0) 273F:A2AA loc_1990: ; xref 273F:A287, A296, A29D, A2B6 273F:A2AA ú59 pop cx 273F:A2AB 1F pop ds 273F:A2AC F8 clc ; Clear carry flag 273F:A2AD CB retf ; Return far 273F:A2AE loc_1991: ; xref 273F:A2A5 273F:A2AE A2 0008 mov byte ptr ds:[8],al ; (273F:0008=0B8h) 273F:A2B1 C6 06 0009 00 mov byte ptr ds:[9],0 ; (273F:0009=0FCh) 273F:A2B6 EB F2 jmp short loc_1990 ; (A2AA) 273F:A2B8 loc_1992: ; xref 273F:A271, A281, A289 273F:A2B8 59 pop cx 273F:A2B9 1F pop ds 273F:A2BA F9 stc ; Set carry flag 273F:A2BB CB retf ; Return far music_proc_unknown endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:7654 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A2BC show_introduction proc near 273F:A2BC B8 0030 mov ax,30h ; Load MIDI entry #48 273F:A2BF E8 D8A5 call read_into_buffer_2 assume ds:data_seg 273F:A2C2 A3 5782 mov misc_segment, ax ; (31E4:5782=0) 273F:A2C5 8B D0 mov dx,ax 273F:A2C7 B8 0004 mov ax,4 273F:A2CA 33 C9 xor cx,cx ; Zero register 273F:A2CC 80 0E 5668 80 or note_flag, MUSIC_NOTE ; Show music note on screen 273F:A2D1 FF 1E 5662 call dword ptr [play_music_proc] 273F:A2D5 72 07 jc loc_1993 ; Jump if carry Set 273F:A2D7 80 0E 5660 24 or music_status, 24h 273F:A2DC EB 57 jmp short loc_1995 ; (A335) 273F:A2DE loc_1993: 273F:A2DE B8 0031 mov ax,31h ; Load MIDI entry #49 273F:A2E1 8B 0E 5782 mov cx,misc_segment ; (31E4:5782=0) 273F:A2E5 89 0E 4D00 mov buffer_segment, cx ; (31E4:4D00=0) 273F:A2E9 E8 D87B call read_into_buffer_2 ; (7B67) 273F:A2EC 8B D0 mov dx,ax 273F:A2EE B8 0001 mov ax,1 273F:A2F1 33 C9 xor cx,cx ; Zero register 273F:A2F3 FF 1E 5662 call dword ptr [play_music_proc] 273F:A2F7 73 37 jnc loc_1994 ; Jump if carry=0 273F:A2F9 8B 0E 5664 mov cx,word ptr play_music_proc+2 273F:A2FD 33 D2 xor dx,dx ; Zero register 273F:A2FF B8 000F mov ax,0Fh 273F:A302 E8 600F call read_entry ; (0314) 273F:A305 03 16 5664 add dx,word ptr play_music_proc+2 273F:A309 89 16 4D00 mov buffer_segment, dx ; (31E4:4D00=0) 273F:A30D 89 16 5782 mov misc_segment, dx 273F:A311 A1 5664 mov ax,word ptr play_music_proc+2 ; (31E4:5664=273Fh) 273F:A314 2E: A3 9F62 mov word ptr cs:data_442+2,ax ; (273F:9F62=0) 273F:A318 2E: C7 06 9F60 0000 mov word ptr cs:data_442,0 ; (273F:9F60=0) 273F:A31F C7 06 5662 A263 mov play_music_proc, offset music_proc_unknown 273F:A325 8C 0E 5664 mov word ptr play_music_proc+2,cs 273F:A329 80 0E 5660 14 or music_status, 14h 273F:A32E EB 05 jmp short loc_1995 ; (A335) 273F:A330 loc_1994: 273F:A330 80 0E 5660 05 or music_status, 5 273F:A335 loc_1995: ; xref 273F:A2DC, A32E 273F:A335 80 26 5668 7F and note_flag, MUSIC_NOTE_OFF 273F:A33A 8B 0E 5782 mov cx,misc_segment ; (31E4:5782=0) 273F:A33E 87 0E 4D00 xchg buffer_segment, cx ; (31E4:4D00=0) 273F:A342 89 0E 5782 mov misc_segment, cx 273F:A346 89 0E 5780 mov palette_segment, cx 273F:A34A B8 0032 mov ax,32h ; Load set of sub-palettes 273F:A34D 33 D2 xor dx,dx 273F:A34F E8 5FC2 call read_entry 273F:A352 01 16 5782 add misc_segment, dx ; Here it uses a new method of displaying the picture. After having loaded ; Entry Id 32h into the buffer segment, the "Kingdom was at peace" screen will be ; decoded into memory and then copied onto the screen by the [copy_screen_proc] 273F:A356 B8 0040 mov ax,40h ; "The kingdom was at peace" 273F:A359 E8 0457 call load_pic_with_animation 273F:A35C FF 16 0766 call word ptr [fade_out_proc] 273F:A360 B8 0100 mov ax,100h 273F:A363 BB 0100 mov bx,100h 273F:A366 FF 1E 5662 call dword ptr [play_music_proc] 273F:A36A 33 C0 xor ax,ax ; Zero register 273F:A36C E8 0519 call pause_with_kbd_mouse_break 273F:A36F FF 16 077E call word ptr [copy_screen_proc] 273F:A373 33 C0 xor ax,ax ; Install sub-palette #0 273F:A375 E8 04C1 call install_palette 273F:A378 E8 04F3 call screen_fade_in 273F:A37B C6 06 55A0 00 mov byte ptr data_835,0 ; (31E4:55A0=0) 273F:A380 B8 035A mov ax,35Ah 273F:A383 E8 0502 call pause_with_kbd_mouse_break 273F:A386 73 02 jnc loc_1996 ; Jump if full timeout occurred 273F:A388 74 76 jz loc_2005 ; Jump if Escape pressed 273F:A38A loc_1996: ; xref 273F:A386 ; Loop for animation of showing peasants working in the field screen 273F:A38A B9 004C mov cx,4Ch ; Number of animation frames 273F:A38D locloop_1997: ; xref 273F:A3A2 273F:A38D B8 0007 mov ax,7 273F:A390 E8 04F5 call pause_with_kbd_mouse_break 273F:A393 73 05 jnc loc_1998 ; Jump if full timeout occurred 273F:A395 75 0F jnz loc_1999 ; Jump if Escape not pressed 273F:A397 E9 0202 jmp loc_2019 273F:A39A loc_1998: ; xref 273F:A393 273F:A39A 57 push di 273F:A39B 51 push cx 273F:A39C FF 16 0780 call word ptr [pic_decode_proc] 273F:A3A0 59 pop cx 273F:A3A1 5F pop di 273F:A3A2 E2 E9 loop locloop_1997 ; Loop if cx > 0 273F:A3A4 EB 15 jmp short loc_2001 ; (A3BB) 273F:A3A6 loc_1999: ; xref 273F:A395 273F:A3A6 E8 04B6 call fade_out 273F:A3A9 locloop_2000: ; xref 273F:A3AF 273F:A3A9 51 push cx 273F:A3AA FF 16 0780 call word ptr [pic_decode_proc] 273F:A3AE 59 pop cx 273F:A3AF E2 F8 loop locloop_2000 ; Loop if cx > 0 273F:A3B1 B8 0001 mov ax,1 273F:A3B4 E8 0482 call install_palette 273F:A3B7 FF 16 0760 call word ptr [fade_in_proc] 273F:A3BB loc_2001: ; xref 273F:A3A4 273F:A3BB B8 0042 mov ax,42h ; Cliff overhang image 273F:A3BE E8 03F2 call load_pic_with_animation 273F:A3C1 B8 0001 mov ax,1 273F:A3C4 E8 0472 call install_palette 273F:A3C7 FF 16 0762 call [set_lower_palette_proc] 273F:A3CB BA 0014 mov dx,14h 273F:A3CE E8 FDE9 call sub_256 ; (A1BA) 273F:A3D1 B8 0064 mov ax,64h 273F:A3D4 E8 04B1 call pause_with_kbd_mouse_break 273F:A3D7 73 02 jnc loc_2002 ; Jump if carry=0 273F:A3D9 74 25 jz loc_2005 ; Jump if zero 273F:A3DB loc_2002: ; xref 273F:A3D7 273F:A3DB B8 0101 mov ax,101h 273F:A3DE BB 0100 mov bx,100h 273F:A3E1 FF 1E 5662 call dword ptr [play_music_proc] 273F:A3E5 B8 00C8 mov ax,0C8h 273F:A3E8 E8 049D call pause_with_kbd_mouse_break 273F:A3EB 73 02 jnc loc_2003 ; Jump if carry=0 273F:A3ED 74 11 jz loc_2005 ; Jump if zero 273F:A3EF loc_2003: ; xref 273F:A3EB 273F:A3EF FF 16 077E call word ptr [copy_screen_proc] 273F:A3F3 B9 0064 mov cx,64h 273F:A3F6 locloop_2004: ; xref 273F:A409 273F:A3F6 B8 0007 mov ax,7 273F:A3F9 E8 048C call pause_with_kbd_mouse_break 273F:A3FC 73 05 jnc loc_2006 ; Jump if carry=0 273F:A3FE 75 0D jnz loc_2007 ; Jump if not zero 273F:A400 loc_2005: ; xref 273F:A388, A3D9, A3ED, A434 273F:A400 E9 0199 jmp loc_2019 ; (A59C) 273F:A403 loc_2006: ; xref 273F:A3FC 273F:A403 51 push cx 273F:A404 FF 16 0780 call word ptr [pic_decode_proc] 273F:A408 59 pop cx 273F:A409 E2 EB loop locloop_2004 ; Loop if cx > 0 273F:A40B EB 0F jmp short loc_2009 ; (A41C) 273F:A40D loc_2007: ; xref 273F:A3FE 273F:A40D E8 044F call fade_out 273F:A410 locloop_2008: ; xref 273F:A416 273F:A410 51 push cx 273F:A411 FF 16 0780 call word ptr [pic_decode_proc] 273F:A415 59 pop cx 273F:A416 E2 F8 loop locloop_2008 ; Loop if cx > 0 273F:A418 FF 16 0760 call word ptr [fade_in_proc] 273F:A41C loc_2009: ; xref 273F:A40B 273F:A41C B8 0044 mov ax,44h 273F:A41F E8 0391 call load_pic_with_animation 273F:A422 B8 0002 mov ax,2 273F:A425 E8 0411 call install_palette 273F:A428 FF 16 0762 call [set_lower_palette_proc] 273F:A42C B8 05FA mov ax,5FAh 273F:A42F E8 0456 call pause_with_kbd_mouse_break 273F:A432 73 02 jnc loc_2010 ; Jump if carry=0 273F:A434 74 CA jz loc_2005 ; Jump if zero 273F:A436 loc_2010: ; xref 273F:A432 273F:A436 E8 FDBA call sub_257 ; (A1F3) 273F:A439 B8 0102 mov ax,102h 273F:A43C BB 0100 mov bx,100h 273F:A43F FF 1E 5662 call dword ptr [play_music_proc] 273F:A443 FF 16 077E call word ptr [copy_screen_proc] 273F:A447 B9 00F3 mov cx,0F3h 273F:A44A locloop_2011: ; xref 273F:A45D 273F:A44A B8 0004 mov ax,4 273F:A44D E8 0438 call pause_with_kbd_mouse_break 273F:A450 73 05 jnc loc_2012 ; Jump if carry=0 273F:A452 75 0B jnz loc_2013 ; Jump if not zero 273F:A454 E9 0145 jmp loc_2019 ; (A59C) 273F:A457 loc_2012: ; xref 273F:A450 273F:A457 51 push cx 273F:A458 FF 16 0780 call word ptr [pic_decode_proc] 273F:A45C 59 pop cx 273F:A45D E2 EB loop locloop_2011 ; Loop if cx > 0 273F:A45F loc_2013: ; xref 273F:A452 273F:A45F B8 0024 mov ax,24h 273F:A462 E8 034E call load_pic_with_animation 273F:A465 FF 16 077E call word ptr [copy_screen_proc] 273F:A469 33 C0 xor ax,ax ; Zero register 273F:A46B E8 041A call pause_with_kbd_mouse_break 273F:A46E B8 0003 mov ax,3 273F:A471 E8 03C5 call install_palette 273F:A474 E8 0404 call set_lower_palette 273F:A477 B8 0328 mov ax,328h 273F:A47A E8 040B call pause_with_kbd_mouse_break 273F:A47D E8 FD73 call sub_257 ; (A1F3) 273F:A480 B8 0103 mov ax,103h 273F:A483 BB 0100 mov bx,100h 273F:A486 FF 1E 5662 call dword ptr [play_music_proc] 273F:A48A B8 0046 mov ax,46h 273F:A48D E8 0323 call load_pic_with_animation 273F:A490 B8 031E mov ax,31Eh 273F:A493 E8 03F2 call pause_with_kbd_mouse_break 273F:A496 FF 16 077E call word ptr [copy_screen_proc] 273F:A49A B9 007C mov cx,7Ch 273F:A49D locloop_2014: ; xref 273F:A4B0 273F:A49D B8 0007 mov ax,7 273F:A4A0 E8 03E5 call pause_with_kbd_mouse_break 273F:A4A3 73 05 jnc loc_2015 ; Jump if carry=0 273F:A4A5 75 0B jnz loc_2016 ; Jump if not zero 273F:A4A7 E9 00F2 jmp loc_2019 ; (A59C) 273F:A4AA loc_2015: ; xref 273F:A4A3 273F:A4AA 51 push cx 273F:A4AB FF 16 0780 call word ptr [pic_decode_proc] 273F:A4AF 59 pop cx 273F:A4B0 E2 EB loop locloop_2014 ; Loop if cx > 0 273F:A4B2 loc_2016: ; xref 273F:A4A5 273F:A4B2 B8 0048 mov ax,48h 273F:A4B5 E8 02FB call load_pic_with_animation 273F:A4B8 E8 03A4 call fade_out 273F:A4BB B8 0004 mov ax,4 273F:A4BE E8 0378 call install_palette 273F:A4C1 FF 16 077E call word ptr [copy_screen_proc] 273F:A4C5 B8 0063 mov ax,63h 273F:A4C8 E8 03BD call pause_with_kbd_mouse_break 273F:A4CB E8 03AD call set_lower_palette 273F:A4CE B8 0054 mov ax,54h 273F:A4D1 E8 03B4 call pause_with_kbd_mouse_break 273F:A4D4 E8 0388 call fade_out 273F:A4D7 FF 16 0780 call word ptr [pic_decode_proc] 273F:A4DB B8 005D mov ax,5Dh 273F:A4DE E8 03A7 call pause_with_kbd_mouse_break 273F:A4E1 E8 0397 call set_lower_palette 273F:A4E4 B8 0052 mov ax,52h 273F:A4E7 E8 039E call pause_with_kbd_mouse_break 273F:A4EA E8 0372 call fade_out 273F:A4ED FF 16 0780 call word ptr [pic_decode_proc] 273F:A4F1 B8 003F mov ax,3Fh 273F:A4F4 E8 0391 call pause_with_kbd_mouse_break 273F:A4F7 E8 0381 call set_lower_palette 273F:A4FA B8 0057 mov ax,57h 273F:A4FD E8 0388 call pause_with_kbd_mouse_break 273F:A500 E8 035C call fade_out 273F:A503 FF 16 0780 call word ptr [pic_decode_proc] 273F:A507 B8 0059 mov ax,59h 273F:A50A E8 037B call pause_with_kbd_mouse_break 273F:A50D E8 036B call set_lower_palette 273F:A510 B8 005A mov ax,5Ah 273F:A513 E8 0372 call pause_with_kbd_mouse_break 273F:A516 E8 0346 call fade_out 273F:A519 FF 16 0780 call word ptr [pic_decode_proc] 273F:A51D B8 0035 mov ax,35h 273F:A520 E8 0365 call pause_with_kbd_mouse_break 273F:A523 E8 0355 call set_lower_palette 273F:A526 B8 0058 mov ax,58h 273F:A529 E8 035C call pause_with_kbd_mouse_break 273F:A52C E8 0330 call fade_out 273F:A52F FF 16 0780 call word ptr [pic_decode_proc] 273F:A533 B8 005B mov ax,5Bh 273F:A536 E8 034F call pause_with_kbd_mouse_break 273F:A539 E8 033F call set_lower_palette 273F:A53C B8 0059 mov ax,59h 273F:A53F E8 0346 call pause_with_kbd_mouse_break 273F:A542 FF 16 0766 call word ptr [fade_out_proc] 273F:A546 B8 0021 mov ax,21h 273F:A549 E8 957B call read_palette ; (3AC7) 273F:A54C B8 0022 mov ax,22h 273F:A54F E8 0261 call load_pic_with_animation 273F:A552 FF 16 077E call word ptr [copy_screen_proc] 273F:A556 B8 A000 mov ax, VGA_SEGMENT 273F:A559 8E C0 mov es,ax 273F:A55B úBF F000 mov di,data_1448e ; (A000:F000=0) 273F:A55E B9 0500 mov cx,500h 273F:A561 33 C0 xor ax,ax ; Zero register 273F:A563 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di] 273F:A565 FF 16 0760 call word ptr [fade_in_proc] 273F:A569 33 C0 xor ax,ax ; Zero register 273F:A56B E8 031A call pause_with_kbd_mouse_break 273F:A56E B8 0384 mov ax,384h 273F:A571 E8 0314 call pause_with_kbd_mouse_break 273F:A574 72 19 jc loc_2018 ; Jump if carry Set 273F:A576 F6 06 5660 10 test music_status, 10h 273F:A57B 75 12 jnz loc_2018 ; Jump if not zero 273F:A57D loc_2017: ; xref 273F:A58D 273F:A57D B8 0005 mov ax,5 273F:A580 E8 0305 call pause_with_kbd_mouse_break 273F:A583 72 0A jc loc_2018 ; Jump if carry Set 273F:A585 F9 stc ; Set carry flag 273F:A586 B8 0503 mov ax,503h 273F:A589 FF 1E 5662 call dword ptr [play_music_proc] 273F:A58D 73 EE jnc loc_2017 ; Jump if carry=0 273F:A58F loc_2018: ; xref 273F:A574, A57B, A583 273F:A58F E8 FC61 call sub_257 ; (A1F3) 273F:A592 80 26 5660 FB and music_status, 0FBh 273F:A597 FF 16 0766 call word ptr [fade_out_proc] 273F:A59B C3 retn 273F:A59C loc_2019: ; xref 273F:A397, A400, A454, A4A7 273F:A59C FF 16 0766 call word ptr [fade_out_proc] 273F:A5A0 BA 0014 mov dx,14h 273F:A5A3 E8 FC14 call sub_256 ; (A1BA) 273F:A5A6 80 26 5660 FB and music_status, 0FBh 273F:A5AB C3 retn show_introduction endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0033 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ display_chute_animation proc near 273F:A5AC E8 FC44 call sub_257 ; (A1F3) 273F:A5AF A1 4CFE mov ax, data_814 273F:A5B2 A3 5782 mov misc_segment, ax 273F:A5B5 E8 79A7 call show_disk_cursor 273F:A5B8 B8 404C mov ax,404Ch 273F:A5BB E8 9509 call read_palette ; (3AC7) 273F:A5BE B8 404D mov ax,404Dh 273F:A5C1 E8 01EF call load_pic_with_animation 273F:A5C4 80 0E 11D0 01 or menubar_state, 1 ; (31E4:11D0=3) 273F:A5C9 FF 16 075E call word ptr [show_cursor_proc] 273F:A5CD FF 16 077E call word ptr [copy_screen_proc] 273F:A5D1 E8 029A call sub_267 ; (A86E) 273F:A5D4 53 push bx 273F:A5D5 B8 0140 mov ax,140h 273F:A5D8 33 DB xor bx,bx ; Zero register 273F:A5DA FF 1E 5662 call dword ptr [play_music_proc] 273F:A5DE 5B pop bx 273F:A5DF B9 0018 mov cx,18h 273F:A5E2 locloop_2020: ; xref 273F:A5EE 273F:A5E2 51 push cx 273F:A5E3 B8 0006 mov ax,6 273F:A5E6 E8 A400 call sleep 273F:A5E9 FF 16 0780 call word ptr [pic_decode_proc] 273F:A5ED 59 pop cx 273F:A5EE E2 F2 loop locloop_2020 ; Loop if cx > 0 273F:A5F0 B8 404F mov ax,404Fh 273F:A5F3 E8 01BD call load_pic_with_animation 273F:A5F6 FF 16 0764 call [empty_palette_proc] 273F:A5FA B9 0004 mov cx,4 273F:A5FD locloop_2021: ; xref 273F:A620 273F:A5FD 51 push cx 273F:A5FE FF 16 077E call word ptr [copy_screen_proc] 273F:A602 59 pop cx 273F:A603 83 F9 04 cmp cx,4 273F:A606 75 05 jne loc_2022 ; Jump if not equal 273F:A608 51 push cx 273F:A609 E8 0262 call sub_267 ; (A86E) 273F:A60C 59 pop cx 273F:A60D loc_2022: ; xref 273F:A606 273F:A60D 51 push cx 273F:A60E B9 000B mov cx,0Bh 273F:A611 locloop_2023: ; xref 273F:A61D 273F:A611 51 push cx 273F:A612 B8 0005 mov ax,5 273F:A615 E8 A3D1 call sleep ; (49E9) 273F:A618 FF 16 0780 call word ptr [pic_decode_proc] 273F:A61C 59 pop cx 273F:A61D E2 F2 loop locloop_2023 ; Loop if cx > 0 273F:A61F 59 pop cx nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 392 273F:A620 E2 DB loop locloop_2021 ; Loop if cx > 0 273F:A622 FF 16 0764 call [empty_palette_proc] 273F:A626 B8 4051 mov ax,4051h 273F:A629 E8 0187 call load_pic_with_animation 273F:A62C FF 16 077E call word ptr [copy_screen_proc] 273F:A630 E8 0248 call set_lower_palette 273F:A633 B9 0006 mov cx,6 273F:A636 locloop_2024: ; xref 273F:A642 273F:A636 51 push cx 273F:A637 B8 0006 mov ax,6 273F:A63A E8 A3AC call sleep ; (49E9) 273F:A63D FF 16 0780 call word ptr [pic_decode_proc] 273F:A641 59 pop cx 273F:A642 E2 F2 loop locloop_2024 ; Loop if cx > 0 273F:A644 FF 16 0766 call word ptr [fade_out_proc] 273F:A648 80 26 11D0 FE and menubar_state, 0FEh ; (31E4:11D0=3) 273F:A64D FF 16 075E call word ptr [show_cursor_proc] 273F:A651 E8 D440 call load_resources 273F:A654 E8 FB9C call sub_257 ; (A1F3) 273F:A657 C6 06 BAB9 01 mov byte ptr script_val_88, 1 273F:A65C C3 retn display_chute_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0153 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A65D skorl_knockout proc near 273F:A65D FF 16 0766 call word ptr [fade_out_proc] 273F:A661 E8 78FB call show_disk_cursor 273F:A664 A1 4CFE mov ax, data_814 273F:A667 A3 5782 mov misc_segment, ax 273F:A66A B8 4060 mov ax,4060h 273F:A66D E8 9457 call read_palette ; (3AC7) 273F:A670 B8 4061 mov ax,4061h 273F:A673 E8 013D call load_pic_with_animation 273F:A676 80 0E 11D0 01 or menubar_state, 1 ; (31E4:11D0=3) 273F:A67B FF 16 075E call word ptr [show_cursor_proc] 273F:A67F FF 16 077E call word ptr [copy_screen_proc] 273F:A683 E8 01E8 call sub_267 ; (A86E) 273F:A686 B9 0018 mov cx,18h 273F:A689 locloop_2025: ; xref 273F:A6A8 273F:A689 51 push cx 273F:A68A B8 0004 mov ax,4 273F:A68D E8 A359 call sleep ; (49E9) 273F:A690 83 F9 0C cmp cx,0Ch 273F:A693 75 0E jne loc_2026 ; Jump if not equal 273F:A695 55 push bp 273F:A696 56 push si 273F:A697 52 push dx 273F:A698 53 push bx 273F:A699 BB 0033 mov bx,33h 273F:A69C E8 F95E call play_sound ; (9FFD) 273F:A69F 5B pop bx 273F:A6A0 5A pop dx 273F:A6A1 5E pop si 273F:A6A2 5D pop bp 273F:A6A3 loc_2026: ; xref 273F:A693 273F:A6A3 FF 16 0780 call word ptr [pic_decode_proc] 273F:A6A7 59 pop cx 273F:A6A8 E2 DF loop locloop_2025 ; Loop if cx > 0 273F:A6AA FF 16 0766 call word ptr [fade_out_proc] 273F:A6AE E8 D3E3 call load_resources 273F:A6B1 80 26 11D0 FE and menubar_state, 0FEh ; (31E4:11D0=3) 273F:A6B6 FF 16 075E call word ptr [show_cursor_proc] 273F:A6BA C3 retn skorl_knockout endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:0038 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ display_barrel_animation proc near 273F:A6BB A1 4CFE mov ax, data_814 273F:A6BE A3 5782 mov misc_segment, ax 273F:A6C1 B8 E9F0 mov ax,0E9F0h 273F:A6C4 E8 9400 call read_palette ; (3AC7) 273F:A6C7 B8 E9F1 mov ax,0E9F1h 273F:A6CA E8 00E6 call load_pic_with_animation 273F:A6CD 80 0E 11D0 01 or menubar_state, 1 ; (31E4:11D0=3) 273F:A6D2 FF 16 075E call word ptr [show_cursor_proc] 273F:A6D6 E8 FB1A call sub_257 ; (A1F3) 273F:A6D9 B8 013B mov ax,13Bh 273F:A6DC 33 DB xor bx,bx ; Zero register 273F:A6DE FF 1E 5662 call dword ptr [play_music_proc] 273F:A6E2 FF 16 077E call word ptr [copy_screen_proc] 273F:A6E6 E8 0185 call sub_267 ; (A86E) 273F:A6E9 B9 00B0 mov cx,0B0h 273F:A6EC locloop_2027: ; xref 273F:A6F8 273F:A6EC 51 push cx 273F:A6ED B8 0007 mov ax,7 273F:A6F0 E8 A2F6 call sleep ; (49E9) 273F:A6F3 FF 16 0780 call word ptr [pic_decode_proc] 273F:A6F7 59 pop cx 273F:A6F8 E2 F2 loop locloop_2027 ; Loop if cx > 0 273F:A6FA C7 06 9832 002A mov room_number, ROOMNUM_WINE_CELLAR 273F:A700 E8 D391 call load_resources 273F:A703 FF 16 0766 call word ptr [fade_out_proc] 273F:A707 80 26 11D0 FE and menubar_state, 0FEh 273F:A70C FF 16 075E call word ptr [show_cursor_proc] 273F:A710 C3 retn display_barrel_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [pic_decode_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_pic_decode proc near 273F:A711 1E push ds 273F:A712 B8 A000 mov ax, VGA_SEGMENT 273F:A715 8E C0 mov es,ax 273F:A717 33 FF xor di,di ; Zero register 273F:A719 8E DA mov ds,dx 273F:A71B loc_2028: 273F:A71B 8A 0F mov cl,[bx] ; Get repeating length 273F:A71D 32 ED xor ch,ch 273F:A71F 83 C3 01 add bx,1 273F:A722 0A C9 or cl,cl ; Was the repeat length 0? 273F:A724 75 05 jnz loc_2029 273F:A726 8B 0F mov cx,[bx] ; Yes, so get length from next 2 bytes 273F:A728 83 C3 02 add bx,2 273F:A72B loc_2029: 273F:A72B 8E DD mov ds,bp 273F:A72D F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:A72F 8E DA mov ds,dx 273F:A731 8A 07 mov al,[bx] ; Get screen inc amount 273F:A733 32 E4 xor ah,ah 273F:A735 83 C3 01 add bx,1 273F:A738 0A C0 or al,al ; Zero ? 273F:A73A 75 05 jnz loc_2030 273F:A73C 8B 07 mov ax,[bx] ; Yes, so get inc from next 2 bytes 273F:A73E 83 C3 02 add bx,2 273F:A741 loc_2030: 273F:A741 03 F8 add di,ax 273F:A743 81 FF FA00 cmp di, 320*200 ; 0FA00h = full screen 273F:A747 72 D2 jb loc_2028 ; Jump if below 273F:A749 1F pop ds 273F:A74A B1 04 mov cl,4 273F:A74C 8B C6 mov ax,si 273F:A74E D3 E8 shr ax,cl ; Shift w/zeros fill 273F:A750 03 E8 add bp,ax 273F:A752 83 E6 0F and si,0Fh 273F:A755 8B C3 mov ax,bx 273F:A757 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:A759 03 D0 add dx,ax 273F:A75B 83 E3 0F and bx,0Fh 273F:A75E C3 retn vga_pic_decode endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [pic_decode_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ega_pic_decode endp 273F:A75F 1E push ds 273F:A760 1E push ds 273F:A761 07 pop es 273F:A762 8E DD mov ds,bp 273F:A764 AC lodsb ; String [si] to al 273F:A765 8A C8 mov cl,al 273F:A767 loc_2031: ; xref 273F:A77D 273F:A767 ú80 E9 01 sub cl,1 273F:A76A 72 13 jc loc_2032 ; Jump if carry Set 273F:A76C AC lodsb ; String [si] to al 273F:A76D 32 E4 xor ah,ah ; Zero register 273F:A76F 8B D8 mov bx,ax 273F:A771 26: C6 87 0790 01 mov byte ptr es:[hotspot_rects_list][bx],1 ; (273F:0790=1Fh) 273F:A777 26: C6 87 0890 01 mov byte ptr es:[hotspot_rects_list+100h][bx],1 ; (273F:0890=0BEh) 273F:A77D EB E8 jmp short loc_2031 ; (A767) 273F:A77F loc_2032: ; xref 273F:A76A 273F:A77F 26: A1 4CE4 mov ax, es:data_segment2 273F:A783 8E C0 mov es,ax 273F:A785 BF 0500 mov di, MENUBAR_BLOCK_SIZE/2 273F:A788 loc_2033: ; xref 273F:A797, A79D 273F:A788 úAC lodsb ; String [si] to al 273F:A789 32 E4 xor ah,ah ; Zero register 273F:A78B 03 F8 add di,ax 273F:A78D ú81 FF 7D00 cmp di,data_1467e ; (FF12:7D00=0C2h) 273F:A791 73 0C jae loc_2034 ; Jump if above or = 273F:A793 AC lodsb ; String [si] to al 273F:A794 25 00FF and ax,0FFh 273F:A797 74 EF jz loc_2033 ; Jump if zero 273F:A799 8B C8 mov cx,ax 273F:A79B F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di] 273F:A79D EB E9 jmp short loc_2033 ; (A788) 273F:A79F loc_2034: ; xref 273F:A791 273F:A79F 1F pop ds 273F:A7A0 B1 04 mov cl,4 273F:A7A2 8B C6 mov ax,si 273F:A7A4 D3 E8 shr ax,cl ; Shift w/zeros fill 273F:A7A6 03 E8 add bp,ax 273F:A7A8 83 E6 0F and si,0Fh 273F:A7AB 55 push bp 273F:A7AC 56 push si 273F:A7AD E8 78AC call ega_show_menu 273F:A7B0 5E pop si 273F:A7B1 5D pop bp 273F:A7B2 C3 retn ega_pic_decode endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A359, A3BE, A41F, A462, A48D, A4B5, A54F ; A5C1, A5F3, A629, A673, A6CA, A91A, A9E3 ; A9F3 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A7B3 load_pic_with_animation proc near 273F:A7B3 50 push ax 273F:A7B4 E8 5C2F call get_entry_size 273F:A7B7 8B 0E 4D02 mov cx,buffer_segment_end ; (31E4:4D02=0) 273F:A7BB 2B CA sub cx,dx 273F:A7BD 33 D2 xor dx,dx ; Zero register 273F:A7BF 51 push cx 273F:A7C0 E8 5B51 call read_entry ; (0314) 273F:A7C3 5A pop dx 273F:A7C4 83 EA 08 sub dx,8 273F:A7C7 A1 5782 mov ax,misc_segment ; (31E4:5782=0) 273F:A7CA 8E C0 mov es,ax 273F:A7CC E8 91BB call decode_file_entry ; (398A) 273F:A7CF 89 16 5784 mov decoded_data_end_segment, dx 273F:A7D3 58 pop ax 273F:A7D4 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:A7D9 74 0A je loc_ret_2035 ; Jump if equal 273F:A7DB 8B CA mov cx,dx 273F:A7DD 33 D2 xor dx,dx ; Zero register 273F:A7DF 05 0001 add ax,1 273F:A7E2 E8 5B2F call read_entry ; (0314) 273F:A7E5 loc_ret_2035: ; xref 273F:A7D9 273F:A7E5 C3 retn load_pic_with_animation endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called indircetly via calls to word ptr [copy_screen_proc] ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ vga_copy_screen proc near 273F:A7E6 B8 A000 mov ax, VGA_SEGMENT 273F:A7E9 8E C0 mov es,ax 273F:A7EB 1E push ds 273F:A7EC A1 5782 mov ax,misc_segment ; (31E4:5782=0) 273F:A7EF 8E D8 mov ds,ax 273F:A7F1 33 F6 xor si,si ; Zero register 273F:A7F3 33 FF xor di,di ; Zero register 273F:A7F5 B9 7D00 mov cx, 320*200/2 ; 7D00h 273F:A7F8 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:A7FA 1F pop ds 273F:A7FB 8B 2E 5782 mov bp,misc_segment ; (31E4:5782=0) 273F:A7FF 81 C5 0FA0 add bp, 320*200/16 ; 0FA0h (segment incr amount) 273F:A803 8B 16 5784 mov dx, decoded_data_end_segment 273F:A807 33 F6 xor si,si ; Zero register for BP:SI return 273F:A809 33 DB xor bx,bx ; Zero register for DX:BX return 273F:A80B C3 retn vga_copy_screen endp ega_copy_screen proc near assume ds:seg_code 273F:A80C A1 5784 mov ax,data_354 ; (273F:5784=0A302h) 273F:A80F A3 4CE4 mov data_segment2, ax 273F:A812 8E C0 mov es,ax 273F:A814 1E push ds 273F:A815 A1 5782 mov ax,data_353 ; (273F:5782=0C583h) 273F:A818 8E D8 mov ds,ax 273F:A81A 33 F6 xor si,si ; Zero register 273F:A81C úBF 0500 mov di,data_1450e ; (A302:0500=0) 273F:A81F B9 3C00 mov cx,3C00h 273F:A822 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:A824 1F pop ds 273F:A825 E8 6139 call clear_hotspot_rects 273F:A828 E8 C7DA call menubar_clear_image 273F:A82B E8 782E call ega_show_menu 273F:A82E 8B 2E 5782 mov bp,data_353 ; (273F:5782=0C583h) 273F:A832 81 C5 0780 add bp,780h 273F:A836 33 F6 xor si,si ; Zero register 273F:A838 C3 retn ega_copy_screen endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A375, A3B4, A3C4, A425, A471, A4BE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A839 install_palette proc near assume ds:data_seg 273F:A839 80 3E 0742 02 cmp video_style, VIDEO_STYLE_EGA 273F:A83E 74 1E je loc_ret_2036 ; Jump if equal 273F:A840 56 push si 273F:A841 57 push di 273F:A842 52 push dx 273F:A843 1E push ds 273F:A844 úBE 00C0 mov si, 0C0h ; 64 palette entries * 3 bytes 273F:A847 F7 E6 mul si ; dx:ax = reg * ax 273F:A849 8B F0 mov si,ax 273F:A84B úBF 1457 mov di,offset unprocessed_vga_palette 273F:A84E 1E push ds 273F:A84F 07 pop es 273F:A850 A1 5780 mov ax, palette_segment 273F:A853 8E D8 mov ds,ax 273F:A855 B9 0060 mov cx, 0C0h/2 ; Copy palette data over 273F:A858 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di] 273F:A85A 1F pop ds 273F:A85B 5A pop dx 273F:A85C 5F pop di 273F:A85D 5E pop si 273F:A85E loc_ret_2036: ; xref 273F:A83E 273F:A85E C3 retn install_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A3A6, A40D, A4B8, A4D4, A4EA, A500, A516 ; A52C ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A85F fade_out proc near 273F:A85F 55 push bp 273F:A860 56 push si 273F:A861 52 push dx 273F:A862 53 push bx 273F:A863 51 push cx 273F:A864 FF 16 0766 call word ptr [fade_out_proc] 273F:A868 59 pop cx 273F:A869 5B pop bx 273F:A86A 5A pop dx 273F:A86B 5E pop si 273F:A86C 5D pop bp 273F:A86D C3 retn fade_out endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A378, A5D1, A609, A683, A6E6, A932 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A86E screen_fade_in proc near 273F:A86E 55 push bp 273F:A86F 56 push si 273F:A870 52 push dx 273F:A871 53 push bx 273F:A872 FF 16 0760 call word ptr [fade_in_proc] 273F:A876 5B pop bx 273F:A877 5A pop dx 273F:A878 5E pop si 273F:A879 5D pop bp 273F:A87A C3 retn screen_fade_in endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A474, A4CB, A4E1, A4F7, A50D, A523, A539 ; A630 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A87B set_lower_palette proc near 273F:A87B 55 push bp 273F:A87C 56 push si 273F:A87D 52 push dx 273F:A87E 53 push bx 273F:A87F FF 16 0762 call [set_lower_palette_proc] 273F:A883 5B pop bx 273F:A884 5A pop dx 273F:A885 5E pop si 273F:A886 5D pop bp 273F:A887 C3 retn set_lower_palette endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Called from: 273F:A36C, A383, A390, A3D4, A3E8, A3F9, A42F ; A44D, A46B, A47A, A493, A4A0, A4C8, A4D1 ; A4DE, A4E7, A4F4, A4FD, A50A, A513, A520 ; A529, A536, A53F, A56B, A571, A580, A9E9 ; A9F9 ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 273F:A888 pause_with_kbd_mouse_break proc near 273F:A888 loc_2037: ; xref 273F:A89A, A8B8 273F:A888 úF6 06 55A0 FF test byte ptr data_835,0FFh ; (31E4:55A0=0) 273F:A88D 75 15 jnz loc_2038 ; Jump if not zero 273F:A88F F6 06 11D5 03 test byte ptr mouse_buttons, 3 273F:A894 75 42 jnz loc_2043 ; Jump if not zero 273F:A896 39 06 38B1 cmp time_ctr, ax ; (31E4:38B1=0) 273F:A89A 72 EC jb loc_2037 ; Jump if below 273F:A89C C7 06 38B1 0000 mov time_ctr, 0 ; (31E4:38B1=0) 273F:A8A2 F8 clc ; Clear carry flag 273F:A8A3 C3 retn 273F:A8A4 loc_2038: ; xref 273F:A88D 273F:A8A4 C6 06 55A0 00 mov byte ptr data_835,0 ; (31E4:55A0=0) 273F:A8A9 52 push dx 273F:A8AA 50 push ax 273F:A8AB A1 38B1 mov ax, time_ctr ; (31E4:38B1=0) 273F:A8AE B4 06 mov ah,6 273F:A8B0 B2 FF mov dl,0FFh 273F:A8B2 CD 21 int 21h ; DOS Services ah=function 06h ; special char i/o, dl=subfunc 273F:A8B4 75 04 jnz loc_2040 ; Jump if not zero 273F:A8B6 loc_2039: ; xref 273F:A8CA 273F:A8B6 58 pop ax 273F:A8B7 5A pop dx 273F:A8B8 EB CE jmp short loc_2037 ; (A888) 273F:A8BA loc_2040: ; xref 273F:A8B4 273F:A8BA 50 push ax 273F:A8BB loc_2041: ; xref 273F:A8C1 273F:A8BB B4 06 mov ah,6 273F:A8BD B2 FF mov dl,0FFh 273F:A8BF CD 21 int 21h ; DOS Services ah=function 06h ; special char i/o, dl=subfunc 273F:A8C1 75 F8 jnz loc_2041 ; Jump if not zero 273F:A8C3 58 pop ax 273F:A8C4 3C 20 cmp al,20h ; ' ' 273F:A8C6 74 04 je loc_2042 ; Jump if equal 273F:A8C8 3C 1B cmp al,1Bh 273F:A8CA 75 EA jne loc_2039 ; Jump if not equal 273F:A8CC loc_2042: ; xref 273F:A8C6 273F:A8CC C7 06 38B1 0000 mov time_ctr, 0 ; (31E4:38B1=0) 273F:A8D2 3C 1B cmp al,1Bh 273F:A8D4 F9 stc ; Set carry flag 273F:A8D5 58 pop ax 273F:A8D6 5A pop dx 273F:A8D7 C3 retn 273F:A8D8 loc_2043: ; xref 273F:A894 273F:A8D8 F6 06 11D5 01 test mouse_buttons, 1 273F:A8DD F9 stc ; Set carry flag 273F:A8DE C3 retn pause_with_kbd_mouse_break endp ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ; ; Starts ending sequence ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ seq_endgame_sequence proc near 273F:A8DF FF 16 0766 call word ptr ds:[fade_out_proc] 273F:A8E3 E8 7679 call show_disk_cursor 273F:A8E6 E8 F90A call sub_257 ; (A1F3) 273F:A8E9 A1 4CFE mov ax, data_814 273F:A8EC A3 5782 mov data_353, ax 273F:A8EF F6 06 5660 20 test music_status, 20h 273F:A8F4 74 1B jz loc_2044 ; Jump if zero 273F:A8F6 B8 FF10 mov ax,0FF10h 273F:A8F9 8B 0E 5782 mov cx,data_353 ; (273F:5782=0C583h) 273F:A8FD 51 push cx 273F:A8FE 33 D2 xor dx,dx ; Zero register 273F:A900 E8 5A11 call read_entry ; (0314) 273F:A903 01 16 5782 add data_353,dx ; (273F:5782=0C583h) 273F:A907 B8 0004 mov ax,4 273F:A90A 5A pop dx 273F:A90B 33 C9 xor cx,cx ; Zero register 273F:A90D FF 1E 5662 call dword ptr [play_music_proc] 273F:A911 loc_2044: ; xref 273F:A8F4 273F:A911 B8 FF00 mov ax,0FF00h 273F:A914 E8 91B0 call read_palette ; (3AC7) 273F:A917 B8 FF01 mov ax,0FF01h 273F:A91A E8 FE96 call load_pic_with_animation 273F:A91D 03 16 5784 add dx,data_354 ; (273F:5784=0A302h) 273F:A921 89 16 5780 mov data_352,dx ; (273F:5780=78Bh) 273F:A925 80 0E 11D0 01 or menubar_state, 1 273F:A92A FF 16 075E call [show_cursor_proc] 273F:A92E FF 16 077E call word ptr ds:[77Eh] ; (273F:077E=0C00Bh) 273F:A932 E8 FF39 call sub_267 ; (A86E) 273F:A935 úBF 5786 mov di,offset data_355 ; (273F:5786=19h) 273F:A938 loc_2045: ; xref 273F:A971 273F:A938 8B 0D mov cx,[di] 273F:A93A 57 push di 273F:A93B locloop_2046: ; xref 273F:A947 273F:A93B 51 push cx 273F:A93C B8 0009 mov ax, 9 273F:A93F E8 A0A7 call sleep ; (49E9) 273F:A942 FF 16 0780 call word ptr ds:[780h] ; (273F:0780=4574h) 273F:A946 59 pop cx 273F:A947 E2 F2 loop locloop_2046 ; Loop if cx > 0 273F:A949 5F pop di 273F:A94A 55 push bp 273F:A94B 56 push si 273F:A94C 52 push dx 273F:A94D 53 push bx 273F:A94E 8B 45 02 mov ax,[di+2] 273F:A951 F6 06 5660 20 test music_status, 20h 273F:A956 74 03 jz loc_2047 ; Jump if zero 273F:A958 8B 45 04 mov ax,[di+4] 273F:A95B loc_2047: ; xref 273F:A956 273F:A95B 0B C0 or ax,ax ; Zero ? 273F:A95D 74 07 jz loc_2048 ; Jump if zero 273F:A95F 8A 5D 06 mov bl, [di+6] 273F:A962 FF 1E 5662 call dword ptr [play_music_proc] 273F:A966 loc_2048: ; xref 273F:A95D 273F:A966 5B pop bx 273F:A967 5A pop dx 273F:A968 5E pop si 273F:A969 5D pop bp 273F:A96A 83 C7 07 add di,7 273F:A96D F7 05 FFFF test word ptr [di],0FFFFh 273F:A971 75 C5 jnz loc_2045 ; Jump if not zero 273F:A973 55 push bp 273F:A974 56 push si 273F:A975 52 push dx 273F:A976 53 push bx 273F:A977 E8 F879 call sub_257 ; (A1F3) 273F:A97A B8 0100 mov ax,100h 273F:A97D 33 DB xor bx,bx ; Zero register 273F:A97F FF 1E 5662 call dword ptr [play_music_proc] 273F:A983 loc_2049: ; xref 273F:A98B 273F:A983 B8 0500 mov ax,500h 273F:A986 F9 stc ; Set carry flag 273F:A987 FF 1E 5662 call dword ptr [play_music_proc] 273F:A98B 73 F6 jnc loc_2049 ; Jump if carry=0 273F:A98D E8 F863 call sub_257 ; (A1F3) 273F:A990 F6 06 5660 20 test music_status, 20h 273F:A995 74 0B jz loc_2050 ; Jump if zero 273F:A997 B8 0106 mov ax,106h 273F:A99A 33 DB xor bx,bx ; Zero register 273F:A99C FF 1E 5662 call dword ptr [play_music_proc] 273F:A9A0 EB 3A jmp short loc_2052 ; (A9DC) 273F:A9A2 loc_2050: ; xref 273F:A995 273F:A9A2 F6 06 5660 01 test music_status, 1 273F:A9A7 74 2A jz loc_2051 ; Jump if zero 273F:A9A9 B8 FF11 mov ax,0FF11h 273F:A9AC 8B 0E 4CFE mov cx, data_814 273F:A9B0 33 D2 xor dx,dx ; Zero register 273F:A9B2 51 push cx 273F:A9B3 E8 595E call read_entry ; (0314) 273F:A9B6 03 16 4CFE add dx, data_814 273F:A9BA 89 16 5782 mov data_353,dx ; (273F:5782=0C583h) 273F:A9BE 5A pop dx 273F:A9BF 33 C9 xor cx,cx ; Zero register 273F:A9C1 B8 0001 mov ax,1 273F:A9C4 FF 1E 5662 call dword ptr [play_music_proc] 273F:A9C8 B8 0100 mov ax,100h 273F:A9CB 33 DB xor bx,bx ; Zero register 273F:A9CD FF 1E 5662 call dword ptr [play_music_proc] 273F:A9D1 EB 09 jmp short loc_2052 ; (A9DC) 273F:A9D3 loc_2051: ; xref 273F:A9A7 273F:A9D3 B8 0106 mov ax,106h 273F:A9D6 B7 01 mov bh,1 273F:A9D8 FF 1E 5662 call dword ptr [play_music_proc] 273F:A9DC loc_2052: ; xref 273F:A9A0, A9D1 273F:A9DC 5B pop bx 273F:A9DD 5A pop dx 273F:A9DE 5E pop si 273F:A9DF 5D pop bp 273F:A9E0 B8 FF03 mov ax,0FF03h 273F:A9E3 E8 FDCD call load_pic_with_animation 273F:A9E6 B8 0096 mov ax,96h 273F:A9E9 E8 FE9C call pause_with_kbd_mouse_break 273F:A9EC FF 16 077E call word ptr ds:[77Eh] ; (273F:077E=0C00Bh) 273F:A9F0 B8 FF05 mov ax,0FF05h 273F:A9F3 E8 FDBD call load_pic_with_animation 273F:A9F6 B8 05DC mov ax,5DCh 273F:A9F9 E8 FE8C call pause_with_kbd_mouse_break 273F:A9FC FF 16 077E call word ptr ds:[77Eh] ; (273F:077E=0C00Bh) 273F:AA00 B8 05DC mov ax,5DCh 273F:AA03 E8 9FE3 call sleep ; (49E9) 273F:AA06 loc_2053: ; xref 273F:AA10 273F:AA06 F6 06 11D5 FF test mouse_buttons, 0FFh 273F:AA0B 75 05 jnz loc_2054 ; Jump if not zero 273F:AA0D E8 EB10 call check_keypress ; (9520) 273F:AA10 74 F4 jz loc_2053 ; Jump if zero 273F:AA12 loc_2054: ; xref 273F:AA0B 273F:AA12 FF 16 0766 call word ptr ds:[fade_out_proc] 273F:AA16 B8 0000 mov ax,0 273F:AA19 B6 01 mov dh,1 273F:AA1B E8 9586 call display_message ; (3FA4) 273F:AA1E E8 5DAC call sub_10 ; (07CD) 273F:AA21 C7 06 86DF 001C mov word ptr ds:[86DFh],1Ch ; (273F:86DF=6C7h) 273F:AA27 B4 3C mov ah,3Ch ; '<' 273F:AA29 33 C9 xor cx,cx ; Zero register 273F:AA2B úBA 5D80 mov dx,5D80h ; (273F:5D80=0E8h) 273F:AA2E CD 21 int 21h ; DOS Services ah=function 3Ch ; create/truncate file @ ds:dx 273F:AA30 72 16 jc loc_ret_2055 ; Jump if carry Set 273F:AA32 8B D8 mov bx,ax 273F:AA34 B4 40 mov ah,40h ; '@' 273F:AA36 B9 F010 mov cx, WRITE_BUFFER_SIZE 273F:AA39 úBA 5D90 mov dx, offset write_buffer ; (273F:5D90=47h) 273F:AA3C 2B CA sub cx,dx 273F:AA3E CD 21 int 21h ; DOS Services ah=function 40h ; write file bx=file handle ; cx=bytes from ds:dx buffer 273F:AA40 72 06 jc loc_ret_2055 ; Jump if carry Set 273F:AA42 B4 3E mov ah,3Eh 273F:AA44 CD 21 int 21h ; DOS Services ah=function 3Eh ; close file, bx=file handle 273F:AA46 73 00 jnc loc_ret_2055 ; Jump if carry=0 273F:AA48 loc_ret_2055: ; xref 273F:AA30, AA40, AA46 273F:AA48 C3 retn seq_endgame_sequence endp 273F:AA49 0007[00] db 7 dup (0) seg_code ends ;------------------------------------------------------------ data_seg ---- data_seg segment byte public assume cs:data_seg , ds:data_seg , ss:stack_seg_k 31E4:0000 43 6F 70 79 72 69 copyright db 'Copyright Revolution Software 1990-1992' 31E4:0006 67 68 74 20 52 65 31E4:000C 76 6F 6C 75 74 69 31E4:0012 6F 6E 20 53 6F 66 31E4:0018 74 77 61 72 65 20 31E4:001E 31 39 31E4:0020 39 30 2D 31 39 39 31E4:0026 32 31E4:0027 20 20 20 53 79 73 data_519 db ' System design and code: David' 31E4:002D 74 65 6D 20 64 65 31E4:0033 73 69 67 6E 20 61 31E4:0039 6E 64 20 63 6F 64 31E4:003F 65 3A 20 44 61 76 31E4:0045 69 64 31E4:0047 20 53 79 6B 65 73 db ' Sykes and Tony Warriner. Some o' 31E4:004D 20 61 6E 64 20 54 31E4:0053 6F 6E 79 20 57 61 31E4:0059 72 72 69 6E 65 72 31E4:005F 2E 20 53 6F 6D 65 31E4:0065 20 6F 31E4:0067 74 68 65 72 20 70 db 'ther people did the rest. This' 31E4:006D 65 6F 70 6C 65 20 31E4:0073 64 69 64 20 74 68 31E4:0079 65 20 72 65 73 74 31E4:007F 2E 20 20 20 54 68 31E4:0085 69 73 31E4:0087 20 76 65 72 73 69 db ' version assembled 15:16:59 on 0' 31E4:008D 6F 6E 20 61 73 73 31E4:0093 65 6D 62 6C 65 64 31E4:0099 20 31 35 3A 31 36 31E4:009F 3A 35 39 20 6F 6E 31E4:00A5 20 30 31E4:00A7 31 2F 31 30 2F 39 db '1/10/92' 31E4:00AD 32 31E4:00AE 00 00 db 0, 0 31E4:00B0 00 data_525 db 0 ; xref 273F:03D0 31E4:00B1 01 data_526 db 1 ; xref 273F:0C46 31E4:00B2 0000 data_527 dw 0 ; Data table (indexed access) 31E4:00B4 FF db 0FFh 31E4:00B5 FF data_528 db 0FFh 31E4:00B6 0000 file_offset_table dw 0 31E4:00B8 00C8 dw offset disk1vga 31E4:00BA 00D2 dw offset disk2vga 31E4:00BC 00DC dw offset disk3vga 31E4:00BE 00E6 dw offset disk4vga 31E4:00C0 00F0 dw offset disk1ega 31E4:00C2 00FA dw offset disk2ega 31E4:00C4 0104 dw offset disk3ega 31E4:00C6 010E dw offset disk4ega 31E4:00C8 44 49 53 4B 31 2E disk1vga db 'DISK1.VGA', 0 31E4:00CE 56 47 41 00 31E4:00D2 44 49 53 4B 32 2E disk2vga db 'DISK2.VGA', 0 31E4:00D8 56 47 41 00 31E4:00DC 44 49 53 4B 33 2E disk3vga db 'DISK3.VGA', 0 31E4:00E2 56 47 41 00 31E4:00E6 44 49 53 4B 34 2E disk4vga db 'DISK4.VGA', 0 31E4:00EC 56 47 41 00 31E4:00F0 44 49 53 4B 31 2E disk1ega db 'DISK1.EGA', 0 31E4:00F6 45 47 41 00 31E4:00FA 44 49 53 4B 32 2E disk2ega db 'DISK2.EGA', 0 31E4:0100 45 47 41 00 31E4:0104 44 49 53 4B 33 2E disk3ega db 'DISK3.EGA', 0 31E4:010A 45 47 41 00 31E4:010E 44 49 53 4B 34 2E disk4ega db 'DISK4.EGA', 0 31E4:0118 00 retry_count db 0 ; xref 273F:039F, 273F:03A5 ; 273F:03AA, 273F:03B1 31E4:0119 file_buffer dw 0, 0, 0 file_filenum dw 0 31E4:0121 file_entries db 5f8h dup (0) ; space for the file entries table ;***** - Old data block definitions 31E4:0119 0000 data_535 dw 0 ; xref 273F:0351, 273F:8FA2 31E4:011B 0000 data_536 dw 0 31E4:011D 0000 data_537 dw 0 31E4:011F 0000 data_538 dw 0 31E4:0121 0120[00] db 288 dup (0) 31E4:0241 0000 data_539 dw 0 ; Data table (indexed access) ; xref 31E4:7E86 31E4:0243 00C5[00] db 197 dup (0) 31E4:0308 0000 data_540 dw 0 ; Data table (indexed access) ; xref 273F:8F4F 31E4:030A 00DC[00] db 220 dup (0) 31E4:03E6 0000 data_541 dw 0 ; Data table (indexed access) ; xref 31E4:BCCD 31E4:03E8 0338[00] db 824 dup (0) ;***** ---------------------------- 31E4:0719 0007[00] db 7 dup (0) 31E4:0720 6F 6E 00 00 74 6F db 6Fh, 6Eh, 00h, 00h, 74h, 6Fh 31E4:0726 00 db 00h 31E4:0727 28 6E 6F 74 68 69 db '(nothing)' 31E4:072D 6E 67 29 31E4:0730 00 66 6F 72 00 2E db 00h, 66h, 6Fh, 72h, 00h, 2Eh 31E4:0736 20 2E 20 2E 00 db 20h, 2Eh, 20h, 2Eh, 00h 31E4:073B 00 data_542 db 0 ; xref 273F:0745, 273F:4016 ; 273F:4088 31E4:073C 00 status_flags db 0 31E4:073D 00 status_flags2 db 0 31E4:073E 01 old_ctrl_break_flag db 1 ; xref 273F:0725, 273F:402C 31E4:073F 01 data_546 db 1 ; xref 273F:073E, 273F:4037 31E4:0740 0000 data_547 dw 0 ; xref 273F:07DE 31E4:0742 00 video_style db 0 ; 1=VGA, 2=EGA 31E4:0743 00 video_mode db 0 ; xref 273F:04FF, 273F:05C0 31E4:0744 0000 show_screen_proc dw 0 ; xref 273F:0509, 273F:05CA 31E4:0746 0000 screen_size dw 0 ; xref 273F:0515, 273F:05D6 31E4:0748 0000 screen_width dw 0 ; xref 273F:051B, 273F:05DC 31E4:074A 0000 char_width dw 0 ; xref 273F:050F, 273F:05D0 31E4:074C 0000 menubar_block_size dw 0 ; xref 273F:0521, 273F:05E2 ; 273F:700A, 273F:7ADB 31E4:074E 0000 data_555 dw 0 ; xref 273F:0527, 273F:05E8 31E4:0750 0000 segment_screen_proc dw 0 ; xref 273F:052D, 273F:05EE 31E4:0752 0000 show_compressed_screen_proc dw 0 31E4:0754 0000 add_animation_proc dw 0 31E4:0756 0000 draw_talk_dialog_proc dw 0 31E4:0758 0000 talk_dialog_proc dw 0 31E4:075A 0000 display2_character_proc dw 0 31E4:075C 0000 add_rect_proc dw 0 31E4:075E 0000 show_cursor_proc dw 0 31E4:0760 0000 fade_in_proc dw 0 31E4:0762 0000 set_lower_palette_proc dw 0 31E4:0764 0000 empty_palette_proc dw 0 31E4:0766 0000 fade_out_proc dw 0 31E4:0768 0000 data_568 dw 0 31E4:076A 0000 display_character_proc dw 0 31E4:076C 0000 menu_items_proc dw 0 31E4:076E 0000 data_571 dw 0 31E4:0770 0000 data_572 dw 0 ; xref 273F:0587, 273F:064E 31E4:0772 0000 toggle_menu_highlight_proc dw 0 31E4:0774 0000 data_574 dw 0 ; xref 273F:0593, 273F:065A 31E4:0776 0000 data_575 dw 0 ; xref 273F:0599, 273F:0660 31E4:0778 0000 data_576 dw 0 ; xref 273F:059F, 273F:0666 31E4:077A 0000 draw_dialog_proc dw 0 31E4:077C 0000 decode_entry_proc dw 0 31E4:077E 0000 copy_screen_proc dw 0 31E4:0780 0000 pic_decode_proc dw 0 31E4:0782 0000 saved_mouse_x dw 0 31E4:0784 0000 saved_mouse_y dw 0 31E4:0786 00 default_drive db 0 ; xref 273F:0712, 273F:9345 31E4:0787 0009[00] db 9 dup (0) 31E4:0790 00 hotspot_rects_list db 0 ; xref 273F:0963, 273F:0B61 31E4:0791 0044[00] db 68 dup (0) 31E4:07D5 00 data_584 db 0 ; Data table (indexed access) 31E4:07D6 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:07DC 0064[00] display_mask db 100 dup (0) 31E4:0890 0100[00] hotspot_rects_list_2 db 256 dup (0) 31E4:0990 0000 data_587 dw 0 ; xref 273F:2087 31E4:0992 0100[00] rects_layer_0 db 256 dup (0) 31E4:0A92 0100[00] rects_layer_1 db 256 dup (0) 31E4:0B92 0100[00] rects_layer_2 db 256 dup (0) 31E4:0C92 0100[00] rects_layer_3 db 256 dup (0) 31E4:0ADE 00 data_593 db 0 ; xref 273F:09E7 31E4:0ADF 0026[00] db 38 dup (0) 31E4:0B05 00 data_594 db 0 31E4:0B06 0015[00] db 21 dup (0) 31E4:0B1B 00 data_595 db 0 ; Data table (indexed access) 31E4:0B1C 00 db 0 31E4:0B1D 00 data_596 db 0 ; Data table (indexed access) 31E4:0B1E 00 00 00 db 0, 0, 0 31E4:0B21 00 data_597 db 0 ; Data table (indexed access) 31E4:0B22 0016[00] db 22 dup (0) 31E4:0B38 00 data_598 db 0 ; xref 273F:0AFE 31E4:0B39 00A5[00] db 165 dup (0) 31E4:0BDE 00 data_599 db 0 ; xref 273F:09ED 31E4:0BDF 0048[00] db 72 dup (0) 31E4:0C27 00 data_600 db 0 31E4:0C28 00B6[00] db 182 dup (0) 31E4:0CDE 00 data_601 db 0 ; xref 273F:09F3 31E4:0CDF 00B3[00] db 179 dup (0) 31E4:0D92 0010[00] room_layers dw 8 dup (0) ; Resource Ids for layers in room display 31E4:0DA2 0000 rectangle_size dw 0 31E4:0DA4 00 num_occupied_rects db 0 31E4:0DA5 00 current_layer db 0 31E4:0DA6 0000 rect_x_start dw 0 31E4:0DA8 0000 rect_y_end dw 0 31E4:0DAA 0000 num_horiz_rects dw 0 31E4:0DAC 0000 num_vert_rects dw 0 31E4:0DAE 00 00 db 0, 0 31E4:0DB0 A000 screen_start_seg dw 0A000h ; I think these two are used for page 31E4:0DB2 A200 screen_start_seg2 dw 0A200h ; swapping for writing to a back buffer 31E4:0DB4 00 talk_dialog_close_flag db 0 31E4:0DB5 processed_vga_palette db 300h dup (0) ; Holds processed VGA palette 31E4:10B5 4C 6F 6F 6B 20 61 look_at_str db 'Look at ', 0 ; xref 273F:136B 31E4:10BB 74 20 00 31E4:10BE 0000 num_impinging_chars dw 0 31E4:10C0 0026[00] impinging_char_list db 38 dup (0) 31E4:10E6 0000 char_rect_left dw 0 31E4:10E8 0000 char_rect_right dw 0 31E4:10EA 0000 char_rect_top dw 0 31E4:10EC 0000 char_rect_bottom dw 0 31E4:10EE 0000 pl_check_result dw 0 31E4:10F0 00 animation_table2 db 0 ; xref 273F:1556, 273F:1598 ; 273F:15C3 31E4:10F1 00BF[00] db 198 dup (0) 31E4:11B0 0000 data_11b0 db 0 31E4:11B1 000F[00] db 15 dup (0) 31E4:11C0 0021 talk_dialog_top dw 21h 31E4:11C2 0027 talk_dialog_left dw 27h 31E4:11C4 0000 talk_dialog_width dw 0 31E4:11C6 0000 talk_dialog_height dw 0 31E4:11C8 0008[00] db 8 dup (0) 31E4:11D0 03 menubar_state db 3 31E4:11D1 0000 mouse_x dw 0 31E4:11D3 0000 mouse_y dw 0 31E4:11D5 00 mouse_buttons db 0 31E4:11D6 0000 mouse_x2 dw 0 31E4:11D8 0000 mouse_y2 dw 0 31E4:11DA 00 mouse_buttons2 db 0 31E4:11DB 0000 char_dest_x dw 0 31E4:11DD 0000 char_dest_y dw 0 31E4:11DF 0000 cursor_centroid dw 0 31E4:11E1 0000 cursor_index dw 0 31E4:11E3 00 cursor_index_new db 0 31E4:11E4 0000 hotspot_name_id2 dw 0 31E4:11E6 0000 hotspot_name_id dw 0 31E4:11E8 0000 data_638 dw 0 ; xref 273F:2118, 273F:2AD2 ; 273F:2B31 31E4:11EA 00 data_639 db 0 ; xref 273F:2B21 31E4:11EB 00 db 0 31E4:11EC 0000 data_640 dw 0 ; xref 273F:2123, 273F:2AF7 31E4:11EE 00 data_641 db 0 ; xref 273F:2B61 31E4:11EF 00BF[00] db 191 dup (0) 31E4:12AE 00 data_642 db 0 ; xref 273F:211B, 273F:2149 31E4:12AF 0074[00] db 116 dup (0) 31E4:1323 0016[00] db 22 dup (0) 31E4:1339 001F[00] db 31 dup (0) 31E4:1358 0028[00] db 40 dup (0) 31E4:1380 13C2 support_data_offset_list dw 13C2h 31E4:1382 BB95 dw 0BB95h 31E4:1384 3617 dw 3617h 31E4:1386 365B dw 365Bh 31E4:1388 7135 dw 7135h 31E4:138A 7AF5 dw 7AF5h 31E4:138C 7ACB dw 7ACBh 31E4:138E 7DF9 dw 7DF9h 31E4:1390 7DA8 dw 7DA8h 31E4:1392 785C dw 785Ch 31E4:1394 7248 dw 7248h 31E4:1396 726E dw 726Eh 31E4:1398 728A dw 728Ah 31E4:139A 709E dw 709Eh 31E4:139C 3661 dw 3661h 31E4:139E 6F4F dw 6F4Fh 31E4:13A0 6F77 dw 6F77h 31E4:13A2 6F9F dw 6F9Fh 31E4:13A4 0000 dw 0 31E4:13A6 00 00 22 db 00h, 00h, 22h 31E4:13A9 79 4A 79 72 79 00 db 79h, 4Ah, 79h, 72h, 79h, 00h 31E4:13AF 00 00 00 2B 6F A6 db 00h, 00h, 00h, 2Bh, 6Fh,0A6h 31E4:13B5 77 00 77 36 77 60 db 77h, 00h, 77h, 36h, 77h, 60h 31E4:13BB 77 98 79 BD 7A 5D db 77h, 98h, 79h,0BDh, 7Ah, 5Dh 31E4:13C1 7A 20 00 1F 00 00 db 7Ah, 20h, 00h, 1Fh, 00h, 00h 31E4:13C7 00 FA 7E db 00h,0FAh, 7Eh 31E4:13CA 13D2 hotspot_dealloc_table: dw offset dealloc_hotspot_list_1 31E4:13CC 13E2 dw offset dealloc_hotspot_list_2 31E4:13CE 13F4 dw offset dealloc_hotspot_list_3 31E4:13D0 13F2 dw offset dealloc_hotspot_list_4 31E4:13D2 13F2 dealloc_hotspot_list_1: dw 13F2h 31E4:13D4 0418 2711 2712 040D dw 0418h, 2711h, 2712h, 040Dh 31E4:13DA 03EA 0411 0000 dw 03EAh, 0411h, 0 31E4:13E2 2729 dealloc_hotspot_list_2: dw 2729h 31E4:13E4 272A 272B 272C 272D dw 272Ah, 272Bh, 272Ch, 272Eh 31E4:13EC 272E 272F 0000 dw 272Eh, 272Fh, 0 31E4:13F2 03EF dealloc_hotspot_list_4: dw 03EFh 31E4:13F4 03E9 dealloc_hotspot_list_3: dw 03E9h 31E4:13F6 03EB 03EC 03ED 03EE dw 03EBh, 03ECh, 03EDh, 03EEh 31E4:13FE 03F0 03F1 0420 0429 dw 03F0h, 03F1h, 0420h, 0429h 31E4:1406 0436 2715 2716 2717 dw 0436h, 2715h, 2716h, 2717h 31E4:140E 2718 2719 271A 271E dw 2718h, 2719h, 271Ah, 271Eh 31E4:1416 271F 2720 2721 2722 dw 271Fh, 2720h, 2721h, 2722h 31E4:141E 2725 2726 0000 dw 2725h, 2726h, 0 31E4:1424 000C[00] db 12 dup (0) 31E4:1430 10 58 BF 5C A0 58 db 10h, 58h,0BFh, 5Ch,0A0h, 58h 31E4:1436 C4 58 CD db 0C4h, 58h,0CDh 31E4:1439 58 34 58 db 58h, 34h, 58h 31E4:143C 0008[00] db 8 dup (0) 31E4:1444 79 00 59 00 04 06 ega_unknown_rec db 79h, 00h, 59h, 00h, 04h, 06h 31E4:144A 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:1450 DC E2 DC FF E3 E2 vga_unknown_rec db 0DCh,0E2h,0DCh,0FFh,0E3h,0E2h 31E4:1456 FF current_room_num db 0FFh 31E4:1457 00 unprocessed_vga_palette db 0 31E4:1458 00 00 00 00 00 34 db 00h, 00h, 00h, 00h, 00h, 34h 31E4:145E 34 2C 18 10 2C 24 db 34h, 2Ch, 18h, 10h, 2Ch, 24h 31E4:1464 24 18 18 18 18 10 db 24h, 18h, 18h, 18h, 18h, 10h 31E4:146A 10 10 08 08 08 3C db 10h, 10h, 08h, 08h, 08h, 3Ch 31E4:1470 2C 18 34 08 00 34 db 2Ch, 18h, 34h, 08h, 00h, 34h 31E4:1476 24 18 2C 18 10 24 db 24h, 18h, 2Ch, 18h, 10h, 24h 31E4:147C 10 08 18 08 00 10 db 10h, 08h, 18h, 08h, 00h, 10h 31E4:1482 00 00 3C 30 20 26 db 00h, 00h, 3Ch, 30h, 20h, 26h 31E4:1484 24 22 24 21 20 20 db 24h, 22h, 24h, 21h, 20h, 20h 31E4:148E 1E 1C 1E 1B 1A 1A db 1Eh, 1Ch, 1Eh, 1Bh, 1Ah, 1Ah 31E4:1494 17 16 16 14 12 14 db 17h, 16h, 16h, 14h, 12h, 14h 31E4:149A 12 10 12 10 0E 10 db 12h, 10h, 12h, 10h, 0Eh, 10h 31E4:14A0 0E 0C 0E 0C 0A 0C db 0Eh, 0Ch, 0Eh, 0Ch, 0Ah, 0Ch 31E4:14A6 0A 09 0A 08 07 db 0Ah, 09h, 0Ah, 08h, 07h 31E4:14AB 000C[00] db 12 dup (0) 31E4:14B7 3F 2D 1B 39 28 19 db 3Fh, 2Dh, 1Bh, 39h, 28h, 19h 31E4:14BD 34 22 17 30 1E 13 db 34h, 22h, 17h, 30h, 1Eh, 13h 31E4:14C3 2C 1A 0F 28 17 0B db 2Ch, 1Ah, 0Fh, 28h, 17h, 0Bh 31E4:14C9 25 15 08 22 12 05 db 25h, 15h, 08h, 22h, 12h, 05h 31E4:14CF 1F 10 03 1B 0E 01 db 1Fh, 10h, 03h, 1Bh, 0Eh, 01h 31E4:14D5 18 0C 00 16 0B 00 db 18h, 0Ch, 00h, 16h, 0Bh, 00h 31E4:14DB 13 09 00 11 08 00 db 13h, 09h, 00h, 11h, 08h, 00h 31E4:14E1 0F 07 00 0C 06 db 0Fh, 07h, 00h, 0Ch, 06h 31E4:14E6 00F4[00] db 244 dup (0) 31E4:15DA 00 unprocessed_vga_palette2 db 0 ; xref 273F:3AB3 31E4:15DB 00 00 2E 2C 28 0E db 00h, 00h, 2Eh, 2Ch, 28h, 0Eh 31E4:15E1 0E 14 24 23 20 1B db 0Eh, 14h, 24h, 23h, 20h, 1Bh 31E4:15E7 1A 17 12 11 0F 0A db 1Ah, 17h, 12h, 11h, 0Fh, 0Ah 31E4:15ED 0A 10 10 12 1A 37 db 0Ah, 10h, 10h, 12h, 1Ah, 37h 31E4:15F3 24 1B 30 20 18 28 db 24h, 1Bh, 30h, 20h, 18h, 28h 31E4:15F9 18 10 20 10 08 18 db 18h, 10h, 20h, 10h, 08h, 18h 31E4:15FF 08 db 8 31E4:1600 00 db 0 31E4:1601 10 00 00 13 14 1E db 10h, 00h, 00h, 13h, 14h, 1Eh 31E4:1607 00 00 00 3F 2A 20 db 00h, 00h, 00h, 3Fh, 2Ah, 20h 31E4:160D 1C 18 0C 24 20 20 db 1Ch, 18h, 0Ch, 24h, 20h, 20h 31E4:1613 1C 18 18 14 10 10 db 1Ch, 18h, 18h, 14h, 10h, 10h 31E4:1619 0C 08 08 0A 09 04 db 0Ch, 08h, 08h, 0Ah, 09h, 04h 31E4:161F 10 12 08 30 20 18 db 10h, 12h, 08h, 30h, 20h, 18h 31E4:1625 28 18 10 20 10 08 db 28h, 18h, 10h, 20h, 10h, 08h 31E4:162B 18 08 00 10 00 00 db 18h, 08h, 00h, 10h, 00h, 00h 31E4:1631 10 0E 05 00 00 00 db 10h, 0Eh, 05h, 00h, 00h, 00h 31E4:1637 2F 2B 2B 34 26 1A db 2Fh, 2Bh, 2Bh, 34h, 26h, 1Ah 31E4:163D 26 21 21 1C 18 18 db 26h, 21h, 21h, 1Ch, 18h, 18h 31E4:1643 14 10 10 0C 08 08 db 14h, 10h, 10h, 0Ch, 08h, 08h 31E4:1649 08 0C 00 28 08 00 db 08h, 0Ch, 00h, 28h, 08h, 00h 31E4:164F 30 20 18 28 18 10 db 30h, 20h, 18h, 28h, 18h, 10h 31E4:1655 20 10 08 18 08 00 db 20h, 10h, 08h, 18h, 08h, 00h 31E4:165B 10 00 00 14 18 db 10h, 00h, 00h, 14h, 18h 31E4:1660 008B[00] db 139 dup (0) 31E4:16EB unprocessed_vga_palette3 db 0Eh, 0Bh, 08h, 10h, 08h, 00h 31E4:16F1 14 0C 04 18 10 08 db 14h, 0Ch, 04h, 18h, 10h, 08h 31E4:16F7 1C 14 0C 20 18 10 db 1Ch, 14h, 0Ch, 20h, 18h, 10h 31E4:16FD 1F 1F 1F db 1Fh, 1Fh, 1Fh 31E4:1700 3F 3F 3F db 3Fh, 3Fh, 3Fh 31E4:1703 0024[00] db 36 dup (0) 31E4:1727 upper_vga_palette db 0Dh, 09h, 04h ; colours for pallete db 12h, 0Dh, 06h ; entries #F0h - FFh db 17h, 10h, 09h db 1Ch, 15h, 0Dh db 21h, 19h, 10h db 26h, 1Eh, 15h db 2Ch, 23h, 1Ah db 3Fh, 30h, 00h db 22h, 22h, 2Bh db 16h, 17h, 25h db 0Dh, 0Dh, 20h db 05h, 06h, 1Bh db 00h, 00h, 16h db 1Fh, 1Fh, 1Fh db 00h, 00h, 00h db 3Fh, 3Fh, 3Fh 31E4:1757 00 replacement_vga_palette db 0 ; Replacement section of VGA palette 31E4:1758 00 00 2E 2C 28 0E db 00h, 00h, 2Eh, 2Ch, 28h, 0Eh 31E4:175E 0E 14 24 23 20 1B db 0Eh, 14h, 24h, 23h, 20h, 1Bh 31E4:1764 1A 17 12 11 0F 0A db 1Ah, 17h, 12h, 11h, 0Fh, 0Ah 31E4:176A 0A 10 10 12 1A 37 db 0Ah, 10h, 10h, 12h, 1Ah, 37h 31E4:1770 24 1B 30 20 18 28 db 24h, 1Bh, 30h, 20h, 18h, 28h 31E4:1776 18 10 20 10 08 18 db 18h, 10h, 20h, 10h, 08h, 18h 31E4:177C 08 00 10 00 00 13 db 08h, 00h, 10h, 00h, 00h, 13h 31E4:1782 14 1E 00 00 00 3F db 14h, 1Eh, 00h, 00h, 00h, 3Fh 31E4:1788 2A 20 1C 18 0C 24 db 2Ah, 20h, 1Ch, 18h, 0Ch, 24h 31E4:178E 20 20 1C 18 18 14 db 20h, 20h, 1Ch, 18h, 18h, 14h 31E4:1794 10 10 0C 08 08 0A db 10h, 10h, 0Ch, 08h, 08h, 0Ah 31E4:179A 09 04 10 12 08 30 db 09h, 04h, 10h, 12h, 08h, 30h 31E4:17A0 20 18 28 18 10 20 db 20h, 18h, 28h, 18h, 10h, 20h 31E4:17A6 10 08 18 08 00 10 db 10h, 08h, 18h, 08h, 00h, 10h 31E4:17AC 00 00 10 0E 05 00 db 00h, 00h, 10h, 0Eh, 05h, 00h 31E4:17B2 00 00 2F 2B 2B 34 db 00h, 00h, 2Fh, 2Bh, 2Bh, 34h 31E4:17B8 26 1A 26 21 21 1C db 26h, 1Ah, 26h, 21h, 21h, 1Ch 31E4:17BE 18 18 14 10 10 0C db 18h, 18h, 14h, 10h, 10h, 0Ch 31E4:17C4 08 08 08 0C 00 28 db 08h, 08h, 08h, 0Ch, 00h, 28h 31E4:17CA 08 00 30 20 18 28 db 08h, 00h, 30h, 20h, 18h, 28h 31E4:17D0 18 10 20 10 08 18 db 18h, 10h, 20h, 10h, 08h, 18h 31E4:17D6 08 00 10 00 00 14 db 08h, 00h, 10h, 00h, 00h, 14h 31E4:17DC 18 00 00 00 00 32 db 18h, 00h, 00h, 00h, 00h, 32h 31E4:17E2 20 1F 2A 1A 18 22 db 20h, 1Fh, 2Ah, 1Ah, 18h, 22h 31E4:17E8 14 12 1A 0F 0D 12 db 14h, 12h, 1Ah, 0Fh, 0Dh, 12h 31E4:17EE 0A 08 2F 04 00 26 db 0Ah, 08h, 2Fh, 04h, 00h, 26h 31E4:17F4 00 1D 1C 00 16 12 db 00h, 1Dh, 1Ch, 00h, 16h, 12h 31E4:17FA 00 0E 37 2A 00 2C db 00h, 0Eh, 37h, 2Ah, 00h, 2Ch 31E4:1800 21 00 22 19 00 18 db 21h, 00h, 22h, 19h, 00h, 18h 31E4:1806 11 00 0E 0A 00 db 11h, 00h, 0Eh, 0Ah, 00h 31E4:180B 0E replacement_vga_ palette2 db 0Eh 31E4:180C 0B 08 10 08 00 14 db 0Bh, 08h, 10h, 08h, 00h, 14h 31E4:1812 0C 04 18 10 08 1C db 0Ch, 04h, 18h, 10h, 08h, 1Ch 31E4:1818 14 0C 20 18 10 1F db 14h, 0Ch, 20h, 18h, 10h, 1Fh 31E4:181E 1F 1F db 1Fh, 1Fh 31E4:1820 3F 3F 3F db 3Fh, 3Fh, 3Fh 31E4:1823 000D[00] db 13 dup (0) 31E4:1830 413A animation_rec_1 dw 413Ah ; Disk resource Id 31E4:1832 12 00 00 00 db 12h, 00h, 00h, 00h 31E4:1836 00 00 00 db 00h, 00h, 00h 31E4:1839 413C animation_rec_2 dw 413Ch 31E4:183B 12 00 00 00 db 12h, 00h, 00h, 00h 31E4:183F 00 00 00 db 00h, 00h, 00h 31E4:1842 413B animation_rec_3 dw 413Bh 31E4:1844 12 00 00 00 db 12h, 00h, 00h, 00h 31E4:1848 00 00 00 db 00h, 00h, 00h 31E4:184B 7901 animation_rec_4 dw 7901h 31E4:184D 12 db 12h 31E4:184E 0000 dw 0 31E4:1850 00 00 00 00 anim_src_table db 0, 0, 0, 0 31E4:1854 00 cp_num_digits db 0 31E4:1855 00 cp_num_tries db 0 31E4:1856 3D0F cp_proc dw offset cp_proc_1 ; Remaining entries of anim_src_table 31E4:1858 E8 00 E0 00 20 00 30 00 31E4:185E 30 00 33 01 E0 00 20 00 31E4:1866 30 00 B9 00 A8 00 D0 00 31E4:186E 28 00 0A 01 28 01 10 00 31E4:1876 08 00 11 01 28 01 10 00 31E4:187E 08 00 24 01 28 01 10 00 31E4:1886 08 00 2B 01 28 01 10 00 31E4:188E 08 00 F6 00 18 01 30 00 31E4:1896 0E 00 28 01 18 01 30 00 31e4:189E 0E 00 dw 0E00h ; The table below contains the offset for the code fragments to handle each of ; the possible opcodes in the simple instruction interpreter used by the game 31E4:18A0 3F9F sequence_table dw offset sequence_restore_sp ; 00/01h opcode 31E4:18A2 3E72 dw offset sequence_add ; 02/03h opcode 31E4:18A4 3E7C dw offset sequence_subtract ; 04/05h opcode 31E4:18A6 3E86 dw offset sequence_multiply ; 06/07h opcode 31E4:18A8 3E92 dw offset sequence_divide ; 08/09h opcode 31E4:18AA 3EA0 dw offset sequence_not_equals ; 05h opcode 31E4:18AC 3EBA dw offset sequence_equals ; 06h opcode 31E4:18AE 3EC3 dw offset sequence_greater ; 0E/0Fh opcode 31E4:18B0 3ECC dw offset sequence_smaller ; 10/11h opcode 31E4:18B2 3ED5 dw offset sequence_smaller2 ; 12/13h opcode 31E4:18B4 3EDE dw offset sequence_greater2 ; 14/15h opcode 31E4:18B6 3EE7 dw offset sequence_and ; 16/17h opcode 31E4:18B8 3EF2 dw offset sequence_or ; 18/19h opcode 31E4:18BA 3EFD dw offset sequence_logical_and ; 1A/1Bh opcode 31E4:18BC 3F0C dw offset sequence_logical_or ; 1C/1Dh opcode 31E4:18BE 3F1B dw offset sequence_get_field ; 1E/1Fh opcode 31E4:18C0 3F2D dw offset sequence_set_field ; 20/21h opcode 31E4:18C2 3F46 dw offset sequence_push_value ; 22/23h opcode 31E4:18C4 3F4E dw offset sequence_subroutine ; 24/25h opcode 31E4:18C6 3F58 dw offset sequence_call_method ; 26/27h opcode 31E4:18C8 3F9E dw offset sequence_end ; 28/29h opcode 31E4:18CA 3F90 dw offset sequence_cond_jump ; 2A/2Bh opcode 31E4:18CC 3F99 dw offset sequence_jump ; 2C/2Dh opcode 31E4:18CE 3F9F dw offset sequence_restore_sp ; 2E/2Fh opcode 31E4:18D0 3F9F dw offset sequence_restore_sp ; 30/31h opcode 31E4:18D2 3F3F dw offset sequence_random ; 32/33h opcode 31E4:18D4 003C[00] db 60 dup (0) 31E4:1910 0000 current_sp dw 0 31E4:1912 000E[00] db 14 dup (0) 31E4:1920 0000 room_exit_hotspot_id dw 0 31E4:1922 0000 dest_room_num dw 0 31E4:1924 0000 hotspot_id dw 0 31E4:1926 00 data_669 db 0 ; xref 273F:47F3, 273F:4829 ; 273F:A00C 31E4:1927 0000 active_animation_offset dw 0 31E4:1929 96 00 24 81 exit_coord_list db 96h, 00h, 24h, 81h 31E4:192D 02 00 00 db 02h, 00h, 00h 31E4:1930 0051[00] db 81 dup (0) 31E4:1981 E3 00 DA 80 01 00 db 0E3h, 00h,0DAh, 80h, 01h, 00h 31E4:1987 44 01 DA 00 03 00 db 44h, 01h,0DAh, 00h, 03h, 00h 31E4:198D BA 01 FC 00 05 00 db 0BAh, 01h,0FCh, 00h, 05h, 00h 31E4:1993 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:1999 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:199F 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:19A5 00 00 06 06 db 0, 0, 6, 6 31E4:19A9 0018[0C] db 24 dup (0Ch) 31E4:19C1 00 00 00 00 00 0C db 00h, 00h, 00h, 00h, 00h, 0Ch 31E4:19C7 0012[00] db 18 dup (0) 31E4:19D9 80 00 1B 01 02 00 db 80h, 00h, 1Bh, 01h, 02h, 00h 31E4:19DF B8 01 1B 01 04 db 0B8h, 01h, 1Bh, 01h, 04h 31E4:19E4 001C[00] db 28 dup (0) 31E4:1A00 06 db 6 31E4:1A01 0030[00] db 48 dup (0) 31E4:1A31 52 01 3C 01 03 db 52h, 01h, 3Ch, 01h, 03h 31E4:1A36 0053[00] db 83 dup (0) 31E4:1A89 3A 01 DD 00 06 00 db 3Ah, 01h,0DDh, 00h, 06h, 00h 31E4:1A8F AA 01 0B 81 28 00 db 0AAh, 01h, 0Bh, 81h, 28h, 00h 31E4:1A95 00 db 00h 31E4:1A96 003C[00] db 60 dup (0) 31E4:1AD2 06 06 06 06 db 6, 6, 6, 6 31E4:1AD6 000B[00] db 11 dup (0) 31E4:1AE1 AA 01 0B 01 05 00 db 0AAh, 01h, 0Bh, 01h, 05h, 00h 31E4:1AE7 83 00 0B 01 db 83h, 00h, 0Bh, 01h 31E4:1AEB 29 db 29h 31E4:1AEC 0041[00] db 65 dup (0) 31E4:1B2D 06 db 6 31E4:1B2E 000B[00] db 11 dup (0) 31E4:1B39 9A 00 0A 01 08 db 9Ah, 00h, 0Ah, 01h, 08h 31E4:1B3E 0053[00] db 83 dup (0) 31E4:1B91 17 01 4B 01 07 00 db 17h, 01h, 4Bh, 01h, 07h, 00h 31E4:1B97 F2 00 FC 00 db 0F2h, 00h,0FCh, 00h 31E4:1B9B 09 db 9 31E4:1B9C 0021[00] db 33 dup (0) 31E4:1BBD 0018[06] db 24 dup (6) 31E4:1BD5 00 06 06 06 db 0, 6, 6, 6 31E4:1BD9 0010[00] db 16 dup (0) 31E4:1BE9 52 01 44 01 08 00 db 52h, 01h, 44h, 01h, 08h, 00h 31E4:1BEF 81 00 19 01 0A 00 db 81h, 00h, 19h, 01h, 0Ah, 00h 31E4:1BF5 0021[00] db 33 dup (0) 31E4:1C16 0017[06] db 23 dup (6) 31E4:1C2D 00 06 06 06 db 0, 6, 6, 6 31E4:1C31 0010[00] db 16 dup (0) 31E4:1C41 BF 01 09 01 09 00 db 0BFh, 01h, 09h, 01h, 09h, 00h 31E4:1C47 B8 00 4B 01 0B 00 db 0B8h, 00h, 4Bh, 01h, 0Bh, 00h 31E4:1C4D 7E 00 2B 01 0D 00 db 7Eh, 00h, 2Bh, 01h, 0Dh, 00h 31E4:1C53 02 01 03 81 22 00 db 02h, 01h, 03h, 81h, 22h, 00h 31E4:1C59 00 db 00h 31E4:1C5A 0015[00] db 21 dup (0) 31E4:1C6F 06 06 db 6, 6 31E4:1C71 0C db 0Ch 31E4:1C72 0C 0C 0C 0C 0C 0C data_691 db 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch ; xref 31E4:726C 31E4:1C78 0C 31E4:1C79 0C 0C 0C 0C db 0Ch, 0Ch, 0Ch, 0Ch 31E4:1C7D 0C data_692 db 0Ch ; Data table (indexed access) 31E4:1C7E 0C 0C 0C 0C 0C 0C db 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch 31E4:1C84 06 00 12 db 06h, 00h, 12h 31E4:1C87 0C 0C db 0Ch, 0Ch 31E4:1C89 0010[00] db 16 dup (0) 31E4:1C99 F2 00 FC 00 0A 00 db 0F2h, 00h,0FCh, 00h, 0Ah, 00h 31E4:1C9F 0C 01 4B 01 1B 00 db 0Ch, 01h, 4Bh, 01h, 1Bh, 00h 31E4:1CA5 0023[00] db 35 dup (0) 31E4:1CC8 06 db 6 31E4:1CC9 000D[00] db 13 dup (0) 31E4:1CD6 06 00 00 00 00 00 db 6, 0, 0, 0, 0, 0 31E4:1CDC 06 00 00 db 6, 0, 0 31E4:1CDF 0012[00] db 18 dup (0) 31E4:1CF1 05 01 C4 00 14 00 db 05h, 01h,0C4h, 00h, 14h, 00h 31E4:1CF7 6B 01 2C 01 1B 00 db 6Bh, 01h, 2Ch, 01h, 1Bh, 00h 31E4:1CFD A5 00 D4 80 20 00 db 0A5h, 00h,0D4h, 80h, 20h, 00h 31E4:1D03 0018[00] db 24 dup (0) 31E4:1D1B 06 06 06 06 06 db 6, 6, 6, 6, 6 31E4:1D20 000F[00] db 15 dup (0) 31E4:1D2F 06 00 00 00 00 0C db 06h, 00h, 00h, 00h, 00h, 0Ch 31E4:1D35 00 06 00 00 db 00h, 06h, 00h, 00h 31E4:1D39 0010[00] db 16 dup (0) 31E4:1D49 BF 01 26 01 0A 00 db 0BFh, 01h, 26h, 01h, 0Ah, 00h 31E4:1D4F 80 00 35 01 0E 00 db 80h, 00h, 35h, 01h, 0Eh, 00h 31E4:1D55 BC 00 43 01 14 00 db 0BCh, 00h, 43h, 01h, 14h, 00h 31E4:1D5B 001D[00] db 29 dup (0) 31E4:1D78 0C 00 06 06 06 0C db 0Ch, 00h, 06h, 06h, 06h, 0Ch 31E4:1D7E 0C 06 db 0Ch, 06h 31E4:1D80 0007[0C] db 7 dup (0Ch) 31E4:1D87 00 0C 0C 06 06 0C db 00h, 0Ch, 0Ch, 06h, 06h, 0Ch 31E4:1D8D 00 00 06 0C 00 db 00h, 00h, 06h, 0Ch, 00h 31E4:1D92 000F[00] db 15 dup (0) 31E4:1DA1 BF 01 10 01 0D 00 db 0BFh, 01h, 10h, 01h, 0Dh, 00h 31E4:1DA7 80 00 14 01 0F 00 db 80h, 00h, 14h, 01h, 0Fh, 00h 31E4:1DAD D2 00 46 01 13 00 db 0D2h, 00h, 46h, 01h, 13h, 00h 31E4:1DB3 F1 00 E8 80 1F 00 db 0F1h, 00h,0E8h, 80h, 1Fh, 00h 31E4:1DB9 001A[00] db 26 dup (0) 31E4:1DD3 06 06 0C 0C 0C 00 db 06h, 06h, 0Ch, 0Ch, 0Ch, 00h 31E4:1DD9 0C 0C 0C 0C 0C 0C db 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Ch 31E4:1DDF 00 0C 0C 0C 12 00 db 00h, 0Ch, 0Ch, 0Ch, 12h, 00h 31E4:1DE5 00 00 0C 00 db 00h, 00h, 0Ch, 00h 31E4:1DE9 0010[00] db 16 dup (0) 31E4:1DF9 BF 01 24 01 0E 00 db 0BFh, 01h, 24h, 01h, 0Eh, 00h 31E4:1DFF FA 00 46 01 11 00 db 0FAh, 00h, 46h, 01h, 11h, 00h 31E4:1E05 F4 00 F4 80 26 00 db 0F4h, 00h,0F4h, 80h, 26h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 415 31E4:1E0B 00 00 db 00h, 00h 31E4:1E0D 001F[00] db 31 dup (0) 31E4:1E2C 06 06 06 00 00 06 db 6, 6, 6, 0, 0, 6 31E4:1E32 06 06 06 00 00 00 db 6, 6, 6, 0, 0, 0 31E4:1E38 06 06 00 db 6, 6, 0 31E4:1E3B 0007[00] db 7 dup (0) 31E4:1E42 0C 00 db 0Ch, 00h 31E4:1E44 000D[00] db 13 dup (0) 31E4:1E51 12 01 B4 00 0F 00 db 12h, 01h,0B4h, 00h, 0Fh, 00h 31E4:1E57 0C 01 46 01 11 00 db 0Ch, 01h, 46h, 01h, 11h, 00h 31E4:1E5D 0023[00] db 35 dup (0) 31E4:1E80 06 00 00 00 00 06 db 6, 0, 0, 0, 0, 6 31E4:1E86 06 06 db 6, 6 31E4:1E88 0007[06] db 7 dup (6) 31E4:1E8F 00 06 06 06 00 06 db 0, 6, 6, 6, 0, 6 31E4:1E95 00 00 06 06 db 0, 0, 6, 6 31E4:1E99 0010[00] db 16 dup (0) 31E4:1EA9 E1 00 EA 00 0F 00 db 0E1h, 00h,0EAh, 00h, 0Fh, 00h 31E4:1EAF B1 00 46 01 12 00 db 0B1h, 00h, 46h, 01h, 12h, 00h 31E4:1EB5 BF 01 30 01 13 00 db 0BFh, 01h, 30h, 01h, 13h, 00h 31E4:1EBB 80 00 32 01 15 00 db 80h, 00h, 32h, 01h, 15h, 00h 31E4:1EC1 4B 01 05 81 1D db 4Bh, 01h, 05h, 81h, 1Dh 31E4:1EC6 000D[00] db 13 dup (0) 31E4:1ED3 0008[0C] db 8 dup (0Ch) 31E4:1EDB 00 00 00 06 0C 0C db 00h, 00h, 00h, 06h, 0Ch, 0Ch 31E4:1EE1 12 12 06 06 0C 0C db 12h, 12h, 06h, 06h, 0Ch, 0Ch 31E4:1EE7 0C 06 18 0C 0C 0C db 0Ch, 06h, 18h, 0Ch, 0Ch, 0Ch 31E4:1EED 00 db 00h 31E4:1EEE 0C 0C 0C db 0Ch, 0Ch, 0Ch 31E4:1EF1 0010[00] db 16 dup (0) 31E4:1F01 48 01 DD 00 11 00 db 48h, 01h,0DDh, 00h, 11h, 00h 31E4:1F07 80 00 20 01 17 00 db 80h, 00h, 20h, 01h, 17h, 00h 31E4:1F0D BE 01 37 01 18 00 db 0BEh, 01h, 37h, 01h, 18h, 00h 31E4:1F13 02 01 EB 00 1C db 02h, 01h,0EBh, 00h, 1Ch 31E4:1F18 0022[00] db 34 dup (0) 31E4:1F3A 06 06 0C 0C 00 00 db 06h, 06h, 0Ch, 0Ch, 00h, 00h 31E4:1F40 12 00 db 12h, 00h 31E4:1F42 0017[00] db 23 dup (0) 31E4:1F59 0F 01 EE 00 0E 00 db 0Fh, 01h,0EEh, 00h, 0Eh, 00h 31E4:1F5F 80 00 1F 01 11 00 db 80h, 00h, 1Fh, 01h, 11h, 00h 31E4:1F65 BE 01 24 01 14 00 db 0BEh, 01h, 24h, 01h, 14h, 00h 31E4:1F6B D7 00 42 01 19 00 db 0D7h, 00h, 42h, 01h, 19h, 00h 31E4:1F71 72 01 EB 80 1E 00 db 72h, 01h,0EBh, 80h, 1Eh, 00h 31E4:1F77 9C 00 ED 00 db 9Ch, 00h,0EDh, 00h 31E4:1F7B 23 db 23h 31E4:1F7C 000C[00] db 12 dup (0) 31E4:1F88 0C 0C 00 00 06 06 db 0Ch, 0Ch, 00h, 00h, 06h, 06h 31E4:1F8E 06 00 0C 06 06 06 db 06h, 00h, 0Ch, 06h, 06h, 06h 31E4:1F94 12 12 0C 0C 06 06 db 12h, 12h, 0Ch, 0Ch, 06h, 06h 31E4:1F9A 18 00 0C 00 00 1E db 18h, 00h, 0Ch, 00h, 00h, 1Eh 31E4:1FA0 0C 00 db 0Ch, 00h 31E4:1FA2 000F[00] db 15 dup (0) 31E4:1FB1 D3 00 C0 00 0D 00 db 0D3h, 00h,0C0h, 00h, 0Dh, 00h 31E4:1FB7 80 00 18 01 13 00 db 80h, 00h, 18h, 01h, 13h, 00h 31E4:1FBD 66 01 41 01 0C 00 db 66h, 01h, 41h, 01h, 0Ch, 00h 31E4:1FC3 42 01 E2 80 24 00 db 42h, 01h,0E2h, 80h, 24h, 00h 31E4:1FC9 0017[00] db 23 dup (0) 31E4:1FE0 0C 00 00 06 06 06 db 0Ch, 00h, 00h, 06h, 06h, 06h 31E4:1FE6 0008[06] db 8 dup (6) 31E4:1FEE 0C 0C 06 06 06 00 db 0Ch, 0Ch, 06h, 06h, 06h, 00h 31E4:1FF4 0C 00 00 06 12 00 db 0Ch, 00h, 00h, 06h, 12h, 00h 31E4:1FFA 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:2000 00 data_721 db 0 ; Data table (indexed access) 31E4:2001 0008[00] db 8 dup (0) 31E4:2009 A2 01 07 01 11 00 db 0A2h, 01h, 07h, 01h, 11h, 00h 31E4:200F 8F 00 03 01 16 00 db 8Fh, 00h, 03h, 01h, 16h, 00h 31E4:2015 00 db 00h 31E4:2016 002C[00] db 44 dup (0) 31E4:2042 06 06 db 6, 6 31E4:2044 001D[00] db 29 dup (0) 31E4:2061 F2 00 FC 00 15 00 db 0F2h, 00h,0FCh, 00h, 15h, 00h 31E4:2067 14 01 4B 01 17 db 14h, 01h, 4Bh, 01h, 17h 31E4:206C 002A[00] db 42 dup (0) 31E4:2096 06 00 00 00 00 06 db 6, 0, 0, 0, 0, 6 31E4:209C 06 06 00 00 06 db 6, 6, 0, 0, 6 31E4:20A1 0018[00] db 24 dup (0) 31E4:20B9 A2 01 07 01 12 00 db 0A2h, 01h, 07h, 01h, 12h, 00h 31E4:20BF 8F 00 03 01 16 00 db 8Fh, 00h, 03h, 01h, 16h, 00h 31E4:20C5 00 db 00h 31E4:20C6 002B[00] db 43 dup (0) 31E4:20F1 06 06 db 6, 6 31E4:20F3 001E[00] db 30 dup (0) 31E4:2111 A2 01 07 01 19 00 db 0A2h, 01h, 07h, 01h, 19h, 00h 31E4:2117 8F 00 03 01 12 db 8Fh, 00h, 03h, 01h, 12h 31E4:211C 0027[00] db 39 dup (0) 31E4:2143 06 06 06 06 00 00 db 6, 6, 6, 6, 0, 0 31E4:2149 06 06 06 00 00 00 db 6, 6, 6, 0, 0, 0 31E4:214F 00 06 06 00 db 0, 6, 6, 0 31E4:2153 0016[00] db 22 dup (0) 31E4:2169 F2 00 FC 00 13 00 db 0F2h, 00h,0FCh, 00h, 13h, 00h 31E4:216F 14 01 4B 01 18 00 db 14h, 01h, 4Bh, 01h, 18h, 00h 31E4:2175 0029[00] db 41 dup (0) 31E4:219E 06 00 00 00 06 06 db 6, 0, 0, 0, 6, 6 31E4:21A4 06 00 00 00 06 00 db 6, 0, 0, 0, 6, 0 31E4:21AA 00 db 0 31E4:21AB 0016[00] db 22 dup (0) 31E4:21C1 12 01 B4 00 14 00 db 12h, 01h,0B4h, 00h, 14h, 00h 31E4:21C7 14 01 46 01 db 14h, 01h, 46h, 01h 31E4:21CB 0C db 0Ch 31E4:21CC 0023[00] db 35 dup (0) 31E4:21EF 06 06 db 6, 6 31E4:21F1 000E[00] db 14 dup (0) 31E4:21FF 06 00 00 00 00 06 db 6, 0, 0, 0, 0, 6 31E4:2205 00 00 db 0, 0 31E4:2207 0012[00] db 18 dup (0) 31E4:2219 A2 01 07 01 0B 00 db 0A2h, 01h, 07h, 01h, 0Bh, 00h 31E4:221F 8F 00 03 01 0C 00 db 8Fh, 00h, 03h, 01h, 0Ch, 00h 31E4:2225 0023[00] db 35 dup (0) 31E4:2248 06 00 00 00 06 06 db 6, 0, 0, 0, 6, 6 31E4:224E 06 db 6 31E4:224F 0008[06] db 8 dup (6) 31E4:2257 00 06 06 06 00 06 db 0, 6, 6, 6, 0, 6 31E4:225D 00 00 06 06 db 0, 0, 6, 6 31E4:2261 0010[00] db 16 dup (0) 31E4:2271 02 01 EE 00 12 db 02h, 01h,0EEh, 00h, 12h 31E4:2276 0053[00] db 83 dup (0) 31E4:22C9 9B 00 4A 81 11 00 db 9Bh, 00h, 4Ah, 81h, 11h, 00h 31E4:22CF 0052[00] db 82 dup (0) 31E4:2321 C3 00 3B 81 13 00 db 0C3h, 00h, 3Bh, 81h, 13h, 00h 31E4:2327 00 db 00h 31E4:2328 0051[00] db 81 dup (0) 31E4:2379 65 01 43 81 0E db 65h, 01h, 43h, 81h, 0Eh 31E4:237E 0053[00] db 83 dup (0) 31E4:23D1 AC 00 43 81 0C 00 db 0ACh, 00h, 43h, 81h, 0Ch, 00h 31E4:23D7 0042[00] db 66 dup (0) 31E4:2419 00 data_743 db 0 31E4:241A 000F[00] db 15 dup (0) 31E4:2429 AC 00 43 01 0C 00 db 0ACh, 00h, 43h, 01h, 0Ch, 00h 31E4:242F 0052[00] db 82 dup (0) 31E4:2481 C3 00 34 81 0A 00 db 0C3h, 00h, 34h, 81h, 0Ah, 00h 31E4:2487 00 db 00h 31E4:2488 0051[00] db 81 dup (0) 31E4:24D9 4B 01 43 01 13 00 db 4Bh, 01h, 43h, 01h, 13h, 00h 31E4:24DF 0052[00] db 82 dup (0) 31E4:2531 80 00 04 81 14 00 db 80h, 00h, 04h, 81h, 14h, 00h 31E4:2537 00 db 00h 31E4:2538 0051[00] db 81 dup (0) 31E4:2589 AC 00 43 01 0C 00 db 0ACh, 00h, 43h, 01h, 0Ch, 00h 31E4:258F 0052[00] db 82 dup (0) 31E4:25E1 42 01 45 81 0F 00 db 42h, 01h, 45h, 81h, 0Fh, 00h 31E4:25E7 83 00 0B db 83h, 00h, 0Bh 31E4:25EA 41 27 db 41h, 27h 31E4:25EC 003F[00] db 63 dup (0) 31E4:262B 06 06 db 6, 6 31E4:262D 000C[00] db 12 dup (0) 31E4:2639 AA 01 0B 81 26 00 db 0AAh, 01h, 0Bh, 81h, 26h, 00h 31E4:263F 83 00 0B 41 28 00 db 83h, 00h, 0Bh, 41h, 28h, 00h 31E4:2645 003F[00] db 63 dup (0) 31E4:2684 06 db 6 31E4:2685 000C[00] db 12 dup (0) 31E4:2691 AA 01 0B 81 27 00 db 0AAh, 01h, 0Bh, 81h, 27h, 00h 31E4:2697 83 00 0B 41 29 00 db 83h, 00h, 0Bh, 41h, 29h, 00h 31E4:269D 0040[00] db 64 dup (0) 31E4:26DD 06 db 6 31E4:26DE 000B[00] db 11 dup (0) 31E4:26E9 AA 01 0B 01 28 db 0AAh, 01h, 0Bh, 01h, 28h 31E4:26EE 0029[00] db 41 dup (0) 31E4:2717 0000 data_756 dw 0 ; Data table (indexed access) ; xref 31E4:BD21 31E4:2719 0028[00] db 40 dup (0) 31E4:2741 BB 01 2B 01 2B db 0BBh, 01h, 2Bh, 01h, 2Bh 31E4:2746 0053[00] db 83 dup (0) 31E4:2799 7A 00 12 01 2A 00 db 7Ah, 00h, 12h, 01h, 2Ah, 00h 31E4:279F BA 01 11 01 db 0BAh, 01h, 11h, 01h 31E4:27A3 2C db 2Ch 31E4:27A4 0044[00] db 68 dup (0) 31E4:27E8 06 06 06 06 06 00 db 06h, 06h, 06h, 06h, 06h, 00h 31E4:27EE 00 00 00 0C 01 48 db 00h, 00h, 00h, 0Ch, 01h, 48h 31E4:27F4 01 2B 00 D1 00 F4 db 01h, 2Bh, 00h,0D1h, 00h,0F4h 31E4:27FA 00 32 00 6C 01 DD db 00h, 32h, 00h, 6Ch, 01h,0DDh 31E4:2800 00 data_759 db 0 ; xref 31E4:1895 31E4:2801 2D 00 00 db 2Dh, 00h, 00h 31E4:2804 003D[00] db 61 dup (0) 31E4:2841 0C 0C 00 0C 00 06 db 0Ch, 0Ch, 00h, 0Ch, 00h, 06h 31E4:2847 06 00 94 00 C1 00 db 06h, 00h, 94h, 00h,0C1h, 00h 31E4:284D 34 00 BF 01 C2 00 db 34h, 00h,0BFh, 01h,0C2h, 00h 31E4:2853 33 00 7F 00 30 01 db 33h, 00h, 7Fh, 00h, 30h, 01h 31E4:2859 2C 00 BF 01 23 01 db 2Ch, 00h,0BFh, 01h, 23h, 01h 31E4:285F 2E 00 00 db 2Eh, 00h, 00h 31E4:2862 0034[00] db 52 dup (0) 31E4:2896 0C 0C 0C 00 12 06 db 0Ch, 0Ch, 0Ch, 00h, 12h, 06h 31E4:289C 12 00 00 06 00 7F db 12h, 00h, 00h, 06h, 00h, 7Fh 31E4:28A2 00 C1 00 32 00 06 db 00h,0C1h, 00h, 32h, 00h, 06h 31E4:28A8 01 A8 00 2F 00 7F db 01h,0A8h, 00h, 2Fh, 00h, 7Fh 31E4:28AE 00 2F 01 2D 00 B1 db 00h, 2Fh, 01h, 2Dh, 00h,0B1h 31E4:28B4 01 34 01 db 01h, 34h, 01h 31E4:28B7 30 db 30h 31E4:28B8 0036[00] db 54 dup (0) 31E4:28EE 0C 0C 0C 0C 00 06 db 0Ch, 0Ch, 0Ch, 0Ch, 00h, 06h 31E4:28F4 12 12 00 00 00 BB db 12h, 12h, 00h, 00h, 00h,0BBh 31E4:28FA 01 3A 01 2E 00 00 db 01h, 3Ah, 01h, 2Eh, 00h, 00h 31E4:2900 0051[00] db 81 dup (0) 31E4:2951 8A 00 0A 01 2E db 8Ah, 00h, 0Ah, 01h, 2Eh 31E4:2956 0053[00] db 83 dup (0) 31E4:29A9 BB 01 3A 01 2E 00 db 0BBh, 01h, 3Ah, 01h, 2Eh, 00h 31E4:29AF 7F 00 33 01 01 db 7Fh, 00h, 33h, 01h, 01h 31E4:29B4 0019[00] db 25 dup (0) 31E4:29CD 06 db 6 31E4:29CE 0033[00] db 51 dup (0) ; The hotspot table contains a set of hotspot entries, each one being an Id ; following by four word parameters specifying the bounds of the hotspot; ; each coordinate being the position + 80h. The table is ended by an Id ; entry of 0 31E4:2A01 2716 hotspot_table dw 2716h ;Id dw 99h, b8h, 112h, 147h ;xs,xe,ys,ye .... table contents removed.... 31E4:2D5C 0000 dw 0 ; End of list specifier 31E4:2D5E 00 db 0 31E4:2D5F actions_list dw 1 db 1, 'Get', 0 31E4:2D66 dw 0 db 1, 'Drop', 0 31E4:2D6E dw 3 db 1, 'Push', 0 31E4:2D76 dw 4 db 1, 'Pull', 0 31E4:2D7E dw 5 db 1, 'Operate', 0 31E4:2D89 dw 6 db 1, 'Open', 0 31E4:2D91 dw 7 db 1, 'Close', 0 31E4:2D9A dw 8 db 1, 'Lock', 0 31E4:2DA2 dw 9 db 1, 'Unlock', 0 31E4:2DAC dw 10 db 1, 'Use', 0 31E4:2DB3 dw 11 db 1, 'Give', 0 31E4:2DBB dw 12 db 1, 'Talk to', 0 31E4:2DC6 dw 13 db 1, 'Tell', 0 31E4:2DCE dw 14 db 1, 'Buy', 0 31E4:2DD5 dw 15 db 1, 'Look', 0 31E4:2DDD dw 16 db 1, 'Look at', 0 31E4:2DE8 dw 17 db 1, 'Look through', 0 31E4:2DF8 dw 18 db 1, 'Ask', 0 31E4:2DFF dw 0 db 1, 'Eat', 0 31E4:2E06 dw 20 db 1, 'Drink', 0 31E4:2E0F dw 21 db 1, 'Status', 0 31E4:2E19 dw 22 db 1, 'Go to', 0 31E4:2E22 dw 23 db 1, 'Return', 0 31E4:2E2C dw 24 db 1, 'Bribe', 0 31E4:2E35 dw 25 db 1, 'Examine', 0 31E4:2E40 db 02h 31E4:2E41 db 1, 'and then', 0 31E4:2E4B db 1, 'finish', 0 31E4:2E53 00 7D FF 7C db 00h, 7Dh,0FFh, 7Ch ; This table contains a set of references of the room exit hotspots in ; the various rooms - it used by the NPC movement code 31E4:2E57 02 80 2712 room_exit_hotspots db 02h, 80h, 2712h 31E4:2E5B 01 80 2711 db 01h, 80h, 2711h 31E4:2E5F 11 80 2715 db 11h, 80h, 2715h 31E4:2E63 1D 80 2716 db 1Dh, 80h, 2716h 31E4:2E67 13 80 2717 db 13h, 80h, 2717h 31E4:2E6B 1E 80 2718 db 1Eh, 80h, 2718h 31E4:2E6F 0E 80 2719 db 0Eh, 80h, 2719h 31E4:2E73 1F 80 271A db 1Fh, 80h, 271Ah 31E4:2E77 0F 80 271E db 0Fh, 80h, 271Eh 31E4:2E7B 0C 80 271F db 0Ch, 80h, 271Fh 31E4:2E7F 20 80 2720 db 20h, 80h, 2720h 31E4:2E83 14 80 2721 db 14h, 80h, 2721h 31E4:2E87 24 80 2722 db 24h, 80h, 2722h 31E4:2E8B 0A 80 2725 db 0Ah, 80h, 2725h 31E4:2E8F 22 80 2726 db 22h, 80h, 2726h 31E4:2E93 26 80 2729 db 26h, 80h, 2729h 31E4:2E97 26 40 272A db 26h, 40h, 272Ah 31E4:2E9B 27 80 272B db 27h, 80h, 272Bh 31E4:2E9F 27 40 272C db 27h, 40h, 272Ch 31E4:2EA3 28 80 272D db 28h, 80h, 272Dh 31E4:2EA7 28 40 272C db 28h, 40h, 272Ch 31E4:2EAB 29 80 272D db 29h, 80h, 272Dh 31E4:2EAF 00 00 dw 0 ; This table contains a set of rectangles indicating the main walkable areas ; of each room, and is used by the NPC code to choose random destinations for ; characters after bumping into each other 31E4:2EB1 02 room_bounds_table db 02h 31E4:2EB2 01 51 01 1D 01 38 db 01h, 51h, 01h, 1Dh, 01h, 38h 31E4:2EB8 01 B2 00 6A 01 F9 db 01h,0B2h, 00h, 6Ah, 01h,0F9h 31E4:2EBE 00 12 01 C1 00 63 db 00h, 12h, 01h,0C1h, 00h, 63h 31E4:2EC4 01 12 01 2E 01 FF db 01h, 12h, 01h, 2Eh, 01h,0FFh 31E4:2ECA 00 7D 01 11 01 2E db 00h, 7Dh, 01h, 11h, 01h, 2Eh 31E4:2ED0 01 E2 00 53 01 02 db 01h,0E2h, 00h, 53h, 01h, 02h 31E4:2ED6 01 1B 01 D0 00 5F db 01h, 1Bh, 01h,0D0h, 00h, 5Fh 31E4:2EDC 01 1A 01 3F 01 D6 db 01h, 1Ah, 01h, 3Fh, 01h,0D6h 31E4:2EE2 00 69 01 F6 00 27 db 00h, 69h, 01h,0F6h, 00h, 27h 31E4:2EE8 01 B7 00 82 01 19 db 01h,0B7h, 00h, 82h, 01h, 19h 31E4:2EEE 01 41 01 A4 00 9F db 01h, 41h, 01h,0A4h, 00h, 9Fh 31E4:2EF4 01 1F 01 41 01 C6 db 01h, 1Fh, 01h, 41h, 01h,0C6h 31E4:2EFA 00 9F 01 FF 00 38 db 00h, 9Fh, 01h,0FFh, 00h, 38h 31E4:2F00 01 86 00 9F 01 07 db 01h, 86h, 00h, 9Fh, 01h, 07h 31E4:2F06 01 38 01 9C 00 9F db 01h, 38h, 01h, 9Ch, 00h, 9Fh 31E4:2F0C 01 0D 01 38 01 9C db 01h, 0Dh, 01h, 38h, 01h, 9Ch 31E4:2F12 00 9F 01 F7 db 00h, 9Fh, 01h,0F7h 31E4:2F16 00 db 0 31E4:2F17 38 01 CF 00 70 01 db 38h, 01h,0CFh, 00h, 70h, 01h 31E4:2F1D EF 00 28 01 9C 00 db 0EFh, 00h, 28h, 01h, 9Ch, 00h 31E4:2F23 9F 01 0E 01 38 01 db 9Fh, 01h, 0Eh, 01h, 38h, 01h 31E4:2F29 A9 00 90 01 EE 00 db 0A9h, 00h, 90h, 01h,0EEh, 00h 31E4:2F2F 1D 01 DF 00 68 01 db 1Dh, 01h,0DFh, 00h, 68h, 01h 31E4:2F35 0F 01 38 01 C7 00 db 0Fh, 01h, 38h, 01h,0C7h, 00h 31E4:2F3B 78 01 01 01 38 01 db 78h, 01h, 01h, 01h, 38h, 01h 31E4:2F41 AF 00 87 01 08 01 db 0AFh, 00h, 87h, 01h, 08h, 01h 31E4:2F47 37 01 C4 00 60 01 db 37h, 01h,0C4h, 00h, 60h, 01h 31E4:2F4D EF 00 20 01 A0 00 db 0EFh, 00h, 20h, 01h,0A0h, 00h 31E4:2F53 3D 01 E9 00 3D 01 db 3Dh, 01h,0E9h, 00h, 3Dh, 01h 31E4:2F59 DA 00 7C 01 FC 00 db 0DAh, 00h, 7Ch, 01h,0FCh, 00h 31E4:2F5F 1A 01 db 1Ah, 01h ; Room exits table 31E4:2F61 0000 room_exits_table dw 0 31E4:2F63 353D dw offset room1_exits 31E4:2F65 354D ... offset list 31E4:2F67 3579 31E4:2F69 3597 31E4:2F6B 2FE3 31E4:2F6D 2FC5 31E4:2F6F 35A7 31E4:2F71 3501 31E4:2F73 34E3 31E4:2F75 34A9 31E4:2F77 351F 31E4:2F79 347D 31E4:2F7B 3451 31E4:2F7D 3417 31E4:2F7F 33EB 31E4:2F81 33CD 31E4:2F83 3385 31E4:2F85 334B 31E4:2F87 32F5 31E4:2F89 32BB 31E4:2F8B 329D 31E4:2F8D 327F 31E4:2F8F 3261 31E4:2F91 3243 31E4:2F93 3225 31E4:2F95 3207 31E4:2F97 31E9 31E4:2F99 31D9 31E4:2F9B 31C9 31E4:2F9D 31A9 31E4:2F9F 31B9 31E4:2FA1 3199 31E4:2FA3 0000 31E4:2FA5 313D 31E4:2FA7 30FF 31E4:2FA9 314D 31E4:2FAB 0000 31E4:2FAD 315D 31E4:2FAF 317B 31E4:2FB1 311F 31E4:2FB3 310F 31E4:2FB5 30EF 31E4:2FB7 30D1 31E4:2FB9 30A5 31E4:2FBB 306B 31E4:2FBD 3031 31E4:2FBF 3021 31E4:2FC1 3001 31E4:2FC3 3011 31E4:2FC5 91 01 BF 01 db 11h, 30h, 91h, 01h,0BFh, 01h 31E4:2FC9 CE 00 0E 01 0E 00 db 0CEh, 00h, 0Eh, 01h, 0Eh, 00h 31E4:2FCF 00 00 05 00 7F 00 db 00h, 00h, 05h, 00h, 7Fh, 00h 31E4:2FD5 AC 00 D0 00 0E 01 db 0ACh, 00h,0D0h, 00h, 0Eh, 01h 31E4:2FDB 0D 00 00 00 29 00 db 0Dh, 00h, 00h, 00h, 29h, 00h 31E4:2FE1 00 00 36 01 56 01 db 00h, 00h, 36h, 01h, 56h, 01h 31E4:2FE7 C6 00 FA 00 0B 00 db 0C6h, 00h,0FAh, 00h, 0Bh, 00h 31E4:2FED 00 00 06 00 91 01 db 00h, 00h, 06h, 00h, 91h, 01h 31E4:2FF3 BF 01 CE 00 0E 01 db 0BFh, 01h,0CEh, 00h, 0Eh, 01h 31E4:2FF9 0E 00 2F 27 28 00 db 0Eh, 00h, 2Fh, 27h, 28h, 00h 31E4:2FFF 00 00 77 00 C3 00 db 00h, 00h, 77h, 00h,0C3h, 00h 31E4:3005 CF 00 15 01 0D 00 db 0CFh, 00h, 15h, 01h, 0Dh, 00h 31E4:300B 00 00 2E 00 00 00 db 00h, 00h, 2Eh, 00h, 00h, 00h 31E4:3011 7F 00 9B 00 EC 00 db 7Fh, 00h, 9Bh, 00h,0ECh, 00h 31E4:3017 3E 01 0D 00 00 00 db 3Eh, 01h, 0Dh, 00h, 00h, 00h 31E4:301D 01 00 00 00 AA 01 db 01h, 00h, 00h, 00h,0AAh, 01h 31E4:3023 C2 01 D7 00 3E 01 db 0C2h, 01h,0D7h, 00h, 3Eh, 01h 31E4:3029 0E 00 00 00 2E 00 db 0Eh, 00h, 00h, 00h, 2Eh, 00h 31E4:302F 00 00 7F 00 94 00 db 00h, 00h, 7Fh, 00h, 94h, 00h 31E4:3035 87 00 C8 00 0D 00 db 87h, 00h,0C8h, 00h, 0Dh, 00h 31E4:303B 00 00 32 00 00 01 db 00h, 00h, 32h, 00h, 00h, 01h 31E4:3041 22 01 7F 00 C1 00 db 22h, 01h, 7Fh, 00h,0C1h, 00h 31E4:3047 0B 00 00 00 2F 00 db 0Bh, 00h, 00h, 00h, 2Fh, 00h 31E4:304D 7F 00 94 00 F5 00 db 7Fh, 00h, 94h, 00h,0F5h, 00h 31E4:3053 47 01 0D 00 00 00 db 47h, 01h, 0Dh, 00h, 00h, 00h 31E4:3059 2D 00 7F 01 96 01 db 2Dh, 00h, 7Fh, 01h, 96h, 01h 31E4:305F F4 00 3D 01 0E 00 db 0F4h, 00h, 3Dh, 01h, 0Eh, 00h 31E4:3065 00 00 30 00 00 00 db 00h, 00h, 30h, 00h, 00h, 00h 31E4:306B 7D 00 C7 00 87 00 db 7Dh, 00h,0C7h, 00h, 87h, 00h 31E4:3071 CD 00 0D 00 00 00 db 0CDh, 00h, 0Dh, 00h, 00h, 00h 31E4:3077 34 00 AB 01 BF 01 db 34h, 00h,0ABh, 01h,0BFh, 01h 31E4:307D 87 00 CD 00 0E 00 db 87h, 00h,0CDh, 00h, 0Eh, 00h 31E4:3083 00 00 33 00 7D 00 db 00h, 00h, 33h, 00h, 7Dh, 00h 31E4:3089 A7 00 E7 00 3D 01 db 0A7h, 00h,0E7h, 00h, 3Dh, 01h 31E4:308F 0D 00 00 00 2C 00 db 0Dh, 00h, 00h, 00h, 2Ch, 00h 31E4:3095 AB 01 F4 01 F5 00 db 0ABh, 01h,0F4h, 01h,0F5h, 00h 31E4:309B 47 01 0E 00 00 00 db 47h, 01h, 0Eh, 00h, 00h, 00h 31E4:30A1 2E 00 00 00 04 01 db 2Eh, 00h, 00h, 00h, 04h, 01h 31E4:30A7 44 01 39 01 47 01 db 44h, 01h, 39h, 01h, 47h, 01h 31E4:30AD 0C 00 00 00 2B 00 db 0Ch, 00h, 00h, 00h, 2Bh, 00h 31E4:30B3 CF 00 F3 00 BD 00 db 0CFh, 00h,0F3h, 00h,0BDh, 00h 31E4:30B9 00 01 0B 00 00 00 db 00h, 01h, 0Bh, 00h, 00h, 00h 31E4:30BF 32 00 67 01 8A 01 db 32h, 00h, 67h, 01h, 8Ah, 01h 31E4:30C5 BE 00 01 01 0B 00 db 0BEh, 00h, 01h, 01h, 0Bh, 00h 31E4:30CB 00 00 2D 00 00 00 db 00h, 00h, 2Dh, 00h, 00h, 00h 31E4:30D1 7F 00 9A db 7Fh, 00h, 9Ah 31E4:30D4 00 C6 00 hotspot_display_buffer db 00h,0C6h, 00h 31E4:30D7 19 01 0D 00 00 00 db 19h, 01h, 0Dh, 00h, 00h, 00h 31E4:30DD 2A 00 A7 01 BF 01 db 2Ah, 00h,0A7h, 01h,0BFh, 01h 31E4:30E3 CF 00 21 01 0E 00 db 0CFh, 00h, 21h, 01h, 0Eh, 00h 31E4:30E9 00 00 2C 00 00 00 db 00h, 00h, 2Ch, 00h, 00h, 00h 31E4:30EF A3 01 BF 01 C8 00 db 0A3h, 01h,0BFh, 01h,0C8h, 00h 31E4:30F5 29 01 0E 00 00 00 db 29h, 01h, 0Eh, 00h, 00h, 00h 31E4:30FB 2B 00 00 00 db 2Bh, 00h, 00h, 00h 31E4:30FF 3F db 3Fh 31E4:3100 01 data_771 db 1 31E4:3101 74 01 32 01 4A 01 db 74h, 01h, 32h, 01h, 4Ah, 01h 31E4:3107 0C 00 00 00 13 00 db 0Ch, 00h, 00h, 00h, 13h, 00h 31E4:310D 00 00 91 01 BF 01 db 00h, 00h, 91h, 01h,0BFh, 01h 31E4:3113 CE 00 0E 01 0E 00 db 0CEh, 00h, 0Eh, 01h, 0Eh, 00h 31E4:3119 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:311F 91 01 BF 01 CE 00 db 91h, 01h,0BFh, 01h,0CEh, 00h 31E4:3125 0E 01 0E 00 2D 27 db 0Eh, 01h, 0Eh, 00h, 2Dh, 27h 31E4:312B 27 00 7F 00 AC 00 db 27h, 00h, 7Fh, 00h,0ACh, 00h 31E4:3131 D0 00 0E 01 0D 00 db 0D0h, 00h, 0Eh, 01h, 0Dh, 00h 31E4:3137 2E 27 29 00 00 00 db 2Eh, 27h, 29h, 00h, 00h, 00h 31E4:313D C1 00 E0 00 1D 01 db 0C1h, 00h,0E0h, 00h, 1Dh, 01h 31E4:3143 36 01 0C 00 26 27 db 36h, 01h, 0Ch, 00h, 26h, 27h 31E4:3149 0A 00 00 00 7F 00 db 0Ah, 00h, 00h, 00h, 7Fh, 00h 31E4:314F 94 00 C6 00 14 01 db 94h, 00h,0C6h, 00h, 14h, 01h 31E4:3155 0D 00 22 27 14 00 db 0Dh, 00h, 22h, 27h, 14h, 00h 31E4:315B 00 00 2E 01 62 01 db 00h, 00h, 2Eh, 01h, 62h, 01h 31E4:3161 34 01 90 01 0C 00 db 34h, 01h, 90h, 01h, 0Ch, 00h 31E4:3167 29 27 0F 00 7F 00 db 29h, 27h, 0Fh, 00h, 7Fh, 00h 31E4:316D AC 00 D0 00 0E 01 db 0ACh, 00h,0D0h, 00h, 0Eh, 01h 31E4:3173 0D 00 2A 27 27 00 db 0Dh, 00h, 2Ah, 27h, 27h, 00h 31E4:3179 00 00 91 01 BF 01 db 00h, 00h, 91h, 01h,0BFh, 01h 31E4:317F CE 00 0E 01 0E 00 db 0CEh, 00h, 0Eh, 01h, 0Eh, 00h 31E4:3185 2B 27 26 00 7F 00 db 2Bh, 27h, 26h, 00h, 7Fh, 00h 31E4:318B AC 00 D0 00 0E 01 db 0ACh, 00h,0D0h, 00h, 0Eh, 01h 31E4:3191 0D 00 2C 27 28 00 db 0Dh, 00h, 2Ch, 27h, 28h, 00h 31E4:3197 00 00 A3 00 CB 00 db 00h, 00h,0A3h, 00h,0CBh, 00h 31E4:319D 36 01 4A 01 0C 00 db 36h, 01h, 4Ah, 01h, 0Ch, 00h 31E4:31A3 20 27 0C 00 00 00 db 20h, 27h, 0Ch, 00h, 00h, 00h 31E4:31A9 B9 00 E0 00 24 01 db 0B9h, 00h,0E0h, 00h, 24h, 01h 31E4:31AF 4A 01 0C 00 18 27 db 4Ah, 01h, 0Ch, 00h, 18h, 27h 31E4:31B5 13 00 00 00 63 01 db 13h, 00h, 00h, 00h, 63h, 01h 31E4:31BB 83 01 39 01 90 01 db 83h, 01h, 39h, 01h, 90h, 01h 31E4:31C1 0C 00 1A 27 0E 00 db 0Ch, 00h, 1Ah, 27h, 0Eh, 00h 31E4:31C7 00 00 98 00 B9 00 db 00h, 00h, 98h, 00h,0B9h, 00h 31E4:31CD 2E 01 48 01 0C 00 db 2Eh, 01h, 48h, 01h, 0Ch, 00h 31E4:31D3 16 27 11 00 00 00 db 16h, 27h, 11h, 00h, 00h, 00h 31E4:31D9 00 01 20 01 D5 00 db 00h, 01h, 20h, 01h,0D5h, 00h 31E4:31DF 0F 01 0B 00 00 db 0Fh, 01h, 0Bh, 00h, 00h ; Popmenu entry list : The contents of the popup menu get constructed in this ; data block - first word is the number of entries, followed by the list of ; items in it; each one being a word giving the Item Id, followed by the text 31E4:31E4 1200 popmenu_entry_count dw 1200h ; Number of entries 31E4:31E6 popmenu_entry_contents ... data 31E4:31E9 7F 00 db 7Fh, 00h 31E4:31EB BC 00 BB 00 29 01 db 0BCh, 00h,0BBh, 00h, 29h, 01h 31E4:31F1 0D 00 00 00 0C 00 db 0Dh, 00h, 00h, 00h, 0Ch, 00h 31E4:31F7 7E 01 BF 01 BB 00 db 7Eh, 01h,0BFh, 01h,0BBh, 00h 31E4:31FD 29 01 0E 00 00 00 db 29h, 01h, 0Eh, 00h, 00h, 00h 31E4:3203 0B 00 00 00 D8 00 db 0Bh, 00h, 00h, 00h,0D8h, 00h 31E4:3209 61 01 2D 01 90 01 db 61h, 01h, 2Dh, 01h, 90h, 01h 31E4:320F 0C 00 00 00 0C 00 db 0Ch, 00h, 00h, 00h, 0Ch, 00h 31E4:3215 08 01 33 01 90 00 db 08h, 01h, 33h, 01h, 90h, 00h 31E4:321B C8 00 0B 00 00 00 db 0C8h, 00h, 0Bh, 00h, 00h, 00h 31E4:3221 14 00 00 00 CB 00 db 14h, 00h, 00h, 00h,0CBh, 00h 31E4:3227 61 01 36 01 90 01 db 61h, 01h, 36h, 01h, 90h, 01h 31E4:322D 0C 00 00 00 18 00 db 0Ch, 00h, 00h, 00h, 18h, 00h 31E4:3233 EB 00 12 01 D6 00 db 0EBh, 00h, 12h, 01h,0D6h, 00h 31E4:3239 07 01 0B 00 00 00 db 07h, 01h, 0Bh, 00h, 00h, 00h 31E4:323F 13 00 00 00 7F 00 db 13h, 00h, 00h, 00h, 7Fh, 00h 31E4:3245 BC 00 BB 00 29 01 db 0BCh, 00h,0BBh, 00h, 29h, 01h 31E4:324B 0D 00 00 00 12 00 db 0Dh, 00h, 00h, 00h, 12h, 00h 31E4:3251 7E 01 BF 01 BB 00 db 7Eh, 01h,0BFh, 01h,0BBh, 00h 31E4:3257 29 01 0E 00 00 00 db 29h, 01h, 0Eh, 00h, 00h, 00h 31E4:325D 19 00 00 00 7F 00 db 19h, 00h, 00h, 00h, 7Fh, 00h 31E4:3263 BC 00 BB 00 29 01 db 0BCh, 00h,0BBh, 00h, 29h, 01h 31E4:3269 0D 00 00 00 16 00 db 0Dh, 00h, 00h, 00h, 16h, 00h 31E4:326F 7E 01 BF 01 BB 00 db 7Eh, 01h,0BFh, 01h,0BBh, 00h 31E4:3275 29 01 0E 00 00 00 db 29h, 01h, 0Eh, 00h, 00h, 00h 31E4:327B 12 00 00 00 D8 00 db 12h, 00h, 00h, 00h,0D8h, 00h 31E4:3281 61 01 3D 01 90 01 db 61h, 01h, 3Dh, 01h, 90h, 01h 31E4:3287 0C 00 00 00 17 00 db 0Ch, 00h, 00h, 00h, 17h, 00h 31E4:328D F2 00 12 01 DA 00 db 0F2h, 00h, 12h, 01h,0DAh, 00h 31E4:3293 0D 01 0B 00 00 00 db 0Dh, 01h, 0Bh, 00h, 00h, 00h 31E4:3299 15 00 00 00 7F 00 db 15h, 00h, 00h, 00h, 7Fh, 00h 31E4:329F BC 00 BB 00 29 01 db 0BCh, 00h,0BBh, 00h, 29h, 01h 31E4:32A5 0D 00 00 00 16 00 db 0Dh, 00h, 00h, 00h, 16h, 00h 31E4:32AB 7E 01 BF 01 BB 00 db 7Eh, 01h,0BFh, 01h,0BBh, 00h 31E4:32B1 29 01 0E 00 00 00 db 29h, 01h, 0Eh, 00h, 00h, 00h 31E4:32B7 11 00 00 00 7F 00 db 11h, 00h, 00h, 00h, 7Fh, 00h 31E4:32BD 87 00 D5 00 54 01 db 87h, 00h,0D5h, 00h, 54h, 01h 31E4:32C3 0D 00 00 00 13 00 db 0Dh, 00h, 00h, 00h, 13h, 00h 31E4:32C9 C8 00 EF 00 AC 00 db 0C8h, 00h,0EFh, 00h,0ACh, 00h 31E4:32CF D4 00 0B 00 00 00 db 0D4h, 00h, 0Bh, 00h, 00h, 00h 31E4:32D5 0D 00 5B 01 89 01 db 0Dh, 00h, 5Bh, 01h, 89h, 01h 31E4:32DB 39 01 54 01 0C 00 db 39h, 01h, 54h, 01h, 0Ch, 00h 31E4:32E1 00 00 1A 00 44 01 db 00h, 00h, 1Ah, 00h, 44h, 01h 31E4:32E7 61 01 BB 00 F4 00 db 61h, 01h,0BBh, 00h,0F4h, 00h 31E4:32ED 0B 00 21 27 24 00 db 0Bh, 00h, 21h, 27h, 24h, 00h 31E4:32F3 00 00 7F 00 87 00 db 00h, 00h, 7Fh, 00h, 87h, 00h 31E4:32F9 07 01 2F 01 0D 00 db 07h, 01h, 2Fh, 01h, 0Dh, 00h 31E4:32FF 00 00 11 00 FB 00 db 00h, 00h, 11h, 00h,0FBh, 00h 31E4:3305 36 01 C0 00 F5 00 db 36h, 01h,0C0h, 00h,0F5h, 00h 31E4:330B 0B 00 00 00 0E 00 db 0Bh, 00h, 00h, 00h, 0Eh, 00h 31E4:3311 B0 01 BF 01 0C 01 db 0B0h, 01h,0BFh, 01h, 0Ch, 01h 31E4:3317 4A 01 0E 00 00 00 db 4Ah, 01h, 0Eh, 00h, 00h, 00h 31E4:331D 14 00 B9 00 FE 00 db 14h, 00h,0B9h, 00h,0FEh, 00h 31E4:3323 39 01 47 01 0C 00 db 39h, 01h, 47h, 01h, 0Ch, 00h 31E4:3329 00 00 19 00 6F 01 db 00h, 00h, 19h, 00h, 6Fh, 01h 31E4:332F 88 01 D0 00 07 01 db 88h, 01h,0D0h, 00h, 07h, 01h 31E4:3335 0B 00 17 27 1E 00 db 0Bh, 00h, 17h, 27h, 1Eh, 00h 31E4:333B 98 00 B6 00 B8 00 db 98h, 00h,0B6h, 00h,0B8h, 00h 31E4:3341 03 01 0B 00 00 00 db 03h, 01h, 0Bh, 00h, 00h, 00h 31E4:3347 23 00 00 00 7F db 23h, 00h, 00h, 00h, 7Fh 31E4:334C 8700 popmenu_num_entries dw 8700h 31E4:334D 00 02 01 47 01 db 00h, 02h, 01h, 47h, 01h 31E4:3353 0D 00 00 00 17 db 0Dh, 00h, 00h, 00h, 17h 31E4:3358 3B00 data_3358 dw 3B00h 31E4:335A 01 7E 01 B5 db 01h, 7Eh, 01h,0B5h 31E4:335E EB00 data_335E dw 0EB00h 31E4:335F 00 0B db 00h, 0Bh 31E4:3362 0000 popmenu_current_index dw 0 31E4:3364 0100 popmenu_prior_index dw 100h 31E4:3366 0000 mouse_y_change dw 0 31E4:3368 0000 menu_items_proc2 dw 0 31E4:336B 0F 01 47 01 0E 00 db 0Fh, 01h, 47h, 01h, 0Eh, 00h 31E4:3371 00 00 18 00 0C 01 db 00h, 00h, 18h, 00h, 0Ch, 01h 31E4:3377 2F 01 CB 00 F9 00 db 2Fh, 01h,0CBh, 00h,0F9h, 00h 31E4:337D 0D 00 00 db 0Dh, 00h, 00h 31E4:3380 1C00 data_3380 dw 1C00h 31E4:3382 00 00 data_3382 dw 0 31E4:3384 D400 data_3384 dw 0D400h 31E4:3386 0B00 data_3386 dw 0B00h 31E4:3388 01 db 01h 31E4:3389 BB 00 0A 01 0B 00 db 0BBh, 00h, 0Ah, 01h, 0Bh, 00h 31E4:338F 00 00 10 00 9B 00 db 00h, 00h, 10h, 00h, 9Bh, 00h 31E4:3395 DF 00 21 01 47 01 db 0DFh, 00h, 21h, 01h, 47h, 01h 31E4:339B 0C 00 00 00 12 00 db 0Ch, 00h, 00h, 00h, 12h, 00h 31E4:33A1 B0 01 C2 01 DB 00 db 0B0h, 01h,0C2h, 01h,0DBh, 00h 31E4:33A7 47 01 0E 00 00 00 db 47h, 01h, 0Eh, 00h, 00h, 00h 31E4:33AD 13 00 7F 00 87 00 db 13h, 00h, 7Fh, 00h, 87h, 00h 31E4:33B3 0B 01 47 01 0D 00 db 0Bh, 01h, 47h, 01h, 0Dh, 00h 31E4:33B9 00 00 15 00 4A 01 db 00h, 00h, 15h, 00h, 4Ah, 01h 31E4:33BF 63 01 E5 00 18 01 db 63h, 01h,0E5h, 00h, 18h, 01h 31E4:33C5 0B 00 15 27 1D 00 db 0Bh, 00h, 15h, 27h, 1Dh, 00h 31E4:33CB 00 00 D8 00 61 01 db 00h, 00h,0D8h, 00h, 61h, 01h 31E4:33D1 2D 01 90 01 0C 00 db 2Dh, 01h, 90h, 01h, 0Ch, 00h 31E4:33D7 00 00 11 00 08 01 db 00h, 00h, 11h, 00h, 08h, 01h 31E4:33DD 33 01 90 00 C8 00 db 33h, 01h, 90h, 00h,0C8h, 00h 31E4:33E3 0B 00 00 00 0F 00 db 0Bh, 00h, 00h, 00h, 0Fh, 00h 31E4:33E9 00 00 7F 00 73 01 db 00h, 00h, 7Fh, 00h, 73h, 01h 31E4:33EF 3B 01 47 01 0C 00 db 3Bh, 01h, 47h, 01h, 0Ch, 00h 31E4:33F5 00 00 10 00 B0 01 db 00h, 00h, 10h, 00h,0B0h, 01h 31E4:33FB C2 01 FD 00 46 01 db 0C2h, 01h,0FDh, 00h, 46h, 01h 31E4:3401 0E 00 00 00 0E 00 db 0Eh, 00h, 00h, 00h, 0Eh, 00h 31E4:3407 EA 00 29 01 B4 00 db 0EAh, 00h, 29h, 01h,0B4h, 00h 31E4:340D 04 01 0B 00 1E 27 db 04h, 01h, 0Bh, 00h, 1Eh, 27h 31E4:3413 26 00 00 00 7F 00 db 26h, 00h, 00h, 00h, 7Fh, 00h 31E4:3419 87 00 F8 00 2A 01 db 87h, 00h,0F8h, 00h, 2Ah, 01h 31E4:341F 0D 00 00 00 0F 00 db 0Dh, 00h, 00h, 00h, 0Fh, 00h 31E4:3425 7F 00 15 01 39 01 db 7Fh, 00h, 15h, 01h, 39h, 01h 31E4:342B 5E 01 0C 00 00 00 db 5Eh, 01h, 0Ch, 00h, 00h, 00h 31E4:3431 13 00 B0 01 C2 01 db 13h, 00h,0B0h, 01h,0C2h, 01h 31E4:3437 F3 00 2B 01 0E 00 db 0F3h, 00h, 2Bh, 01h, 0Eh, 00h 31E4:343D 00 00 0D 00 F4 00 db 00h, 00h, 0Dh, 00h,0F4h, 00h 31E4:3443 0F 01 CB 00 FA 00 db 0Fh, 01h,0CBh, 00h,0FAh, 00h 31E4:3449 0B 00 19 27 1F 00 db 0Bh, 00h, 19h, 27h, 1Fh, 00h 31E4:344F 00 00 7F 00 8E 00 db 00h, 00h, 7Fh, 00h, 8Eh, 00h 31E4:3455 E6 00 4A 01 0D 00 db 0E6h, 00h, 4Ah, 01h, 0Dh, 00h 31E4:345B 00 00 0E 00 B1 01 db 00h, 00h, 0Eh, 00h,0B1h, 01h 31E4:3461 C2 01 DF 00 5E 01 db 0C2h, 01h,0DFh, 00h, 5Eh, 01h 31E4:3467 0E 00 00 00 0A 00 db 0Eh, 00h, 00h, 00h, 0Ah, 00h 31E4:346D 9B 00 FE 00 3E 01 db 9Bh, 00h,0FEh, 00h, 3Eh, 01h 31E4:3473 47 01 0C 00 00 00 db 47h, 01h, 0Ch, 00h, 00h, 00h 31E4:3479 14 00 00 00 01 01 db 14h, 00h, 00h, 00h, 01h, 01h 31E4:347F 24 01 85 00 D0 00 db 24h, 01h, 85h, 00h,0D0h, 00h 31E4:3485 0B 00 00 00 1A 00 db 0Bh, 00h, 00h, 00h, 1Ah, 00h 31E4:348B 4D 01 BF 01 13 01 db 4Dh, 01h,0BFh, 01h, 13h, 01h 31E4:3491 47 01 0E 00 00 00 db 47h, 01h, 0Eh, 00h, 00h, 00h 31E4:3497 1B 00 A2 00 C2 00 db 1Bh, 00h,0A2h, 00h,0C2h, 00h 31E4:349D AC 00 DE 00 0B 00 db 0ACh, 00h,0DEh, 00h, 0Bh, 00h 31E4:34A3 1F 27 20 00 00 00 db 1Fh, 27h, 20h, 00h, 00h, 00h 31E4:34A9 9A 01 C2 01 CC 00 db 9Ah, 01h,0C2h, 01h,0CCh, 00h 31E4:34AF 14 01 0E 00 00 00 db 14h, 01h, 0Eh, 00h, 00h, 00h 31E4:34B5 09 00 7F 00 87 00 db 09h, 00h, 7Fh, 00h, 87h, 00h 31E4:34BB F6 00 47 01 0D 00 db 0F6h, 00h, 47h, 01h, 0Dh, 00h 31E4:34C1 00 00 0D 00 AF 00 db 00h, 00h, 0Dh, 00h,0AFh, 00h 31E4:34C7 D4 00 39 01 4A 01 db 0D4h, 00h, 39h, 01h, 4Ah, 01h 31E4:34CD 0C 00 00 00 0B 00 db 0Ch, 00h, 00h, 00h, 0Bh, 00h 31E4:34D3 05 01 1E 01 DB 00 db 05h, 01h, 1Eh, 01h,0DBh, 00h 31E4:34D9 0E 01 0B 00 25 27 db 0Eh, 01h, 0Bh, 00h, 25h, 27h 31E4:34DF 22 00 00 00 7F 00 db 22h, 00h, 00h, 00h, 7Fh, 00h 31E4:34E5 B2 00 E6 00 29 01 db 0B2h, 00h,0E6h, 00h, 29h, 01h 31E4:34EB 0D 00 00 00 0A 00 db 0Dh, 00h, 00h, 00h, 0Ah, 00h 31E4:34F1 E1 00 92 01 39 01 db 0E1h, 00h, 92h, 01h, 39h, 01h 31E4:34F7 47 01 0C 00 00 00 db 47h, 01h, 0Ch, 00h, 00h, 00h 31E4:34FD 08 00 00 00 D8 00 db 08h, 00h, 00h, 00h,0D8h, 00h 31E4:3503 61 01 31 01 90 01 db 61h, 01h, 31h, 01h, 90h, 01h 31E4:3509 0C 00 00 00 07 00 db 0Ch, 00h, 00h, 00h, 07h, 00h 31E4:350F EC 00 12 01 D5 00 db 0ECh, 00h, 12h, 01h,0D5h, 00h 31E4:3515 09 01 0B 00 00 00 db 09h, 01h, 0Bh, 00h, 00h, 00h 31E4:351B 09 00 00 00 D8 00 db 09h, 00h, 00h, 00h,0D8h, 00h 31E4:3521 61 01 38 01 90 01 db 61h, 01h, 38h, 01h, 90h, 01h 31E4:3527 0C 00 00 00 0C 00 db 0Ch, 00h, 00h, 00h, 0Ch, 00h 31E4:352D EC 00 12 01 D6 00 db 0ECh, 00h, 12h, 01h,0D6h, 00h 31E4:3533 0D 01 0B 00 00 00 db 0Dh, 01h, 0Bh, 00h, 00h, 00h 31E4:3539 0A 00 00 00 31E4:353D room1_exits dw 7Fh 31E4:353F E0 00 E8 00 29 01 db 0E0h, 00h,0E8h, 00h, 29h, 01h 31E4:3545 0D db 0Dh 31E4:3546 00 data_772 db 0 ; Data table (indexed access) 31E4:3547 11 27 02 00 00 00 db 11h, 27h, 02h, 00h, 00h, 00h 31E4:354D DE 00 FB 00 C8 00 db 0DEh, 00h,0FBh, 00h,0C8h, 00h 31E4:3553 FA 00 0B 00 12 27 db 0FAh, 00h, 0Bh, 00h, 12h, 27h 31E4:3559 01 00 3E 01 5B 01 db 01h, 00h, 3Eh, 01h, 5Bh, 01h 31E4:355F C8 00 FA 00 0B 00 db 0C8h, 00h,0FAh, 00h, 0Bh, 00h 31E4:3565 00 00 03 00 94 01 db 00h, 00h, 03h, 00h, 94h, 01h 31E4:356B C2 01 D1 00 01 01 db 0C2h, 01h,0D1h, 00h, 01h, 01h 31E4:3571 0E 00 14 27 05 00 db 0Eh, 00h, 14h, 27h, 05h, 00h 31E4:3577 00 00 7F 00 A4 00 db 00h, 00h, 7Fh, 00h,0A4h, 00h 31E4:357D E5 00 20 01 0D 00 db 0E5h, 00h, 20h, 01h, 0Dh, 00h 31E4:3583 00 00 02 00 84 01 db 00h, 00h, 02h, 00h, 84h, 01h 31E4:3589 BE 01 E5 00 26 01 db 0BEh, 01h,0E5h, 00h, 26h, 01h 31E4:358F 0E 00 00 00 04 00 db 0Eh, 00h, 00h, 00h, 04h, 00h 31E4:3595 00 00 46 01 6B 01 db 00h, 00h, 46h, 01h, 6Bh, 01h 31E4:359B 31 01 47 01 0C 00 db 31h, 01h, 47h, 01h, 0Ch, 00h 31E4:35A1 00 00 03 00 00 00 db 00h, 00h, 03h, 00h, 00h, 00h 31E4:35A7 7F 00 D2 00 DA 00 db 7Fh, 00h,0D2h, 00h,0DAh, 00h 31E4:35AD 1B 01 0D 00 00 00 db 1Bh, 01h, 0Dh, 00h, 00h, 00h 31E4:35B3 08 00 00 00 1C 00 db 08h, 00h, 00h, 00h, 1Ch, 00h 31E4:35B9 02 00 F7 35 1E 00 db 02h, 00h,0F7h, 35h, 1Eh, 00h 31E4:35BF 58 1D 1E 00 16 2C db 58h, 1Dh, 1Eh, 00h, 16h, 2Ch 31E4:35C5 1F 00 23 00 1D 2C db 1Fh, 00h, 23h, 00h, 1Dh, 2Ch 31E4:35CB C5 35 1C 00 01 00 db 0C5h, 35h, 1Ch, 00h, 01h, 00h 31E4:35D1 F7 35 21 00 E7 03 db 0F7h, 35h, 21h, 00h,0E7h, 03h 31E4:35D7 1E 00 0B 1D 1F 00 db 1Eh, 00h, 0Bh, 1Dh, 1Fh, 00h 31E4:35DD 1E 00 0B 1D 1C 00 db 1Eh, 00h, 0Bh, 1Dh, 1Ch, 00h 31E4:35E3 02 00 00 00 07 00 db 02h, 00h, 00h, 00h, 07h, 00h 31E4:35E9 12 27 1F 00 1E 00 db 12h, 27h, 1Fh, 00h, 1Eh, 00h 31E4:35EF 3A 2C 20 00 1E 00 db 3Ah, 2Ch, 20h, 00h, 1Eh, 00h 31E4:35F5 58 1D 1C 00 04 00 db 58h, 1Dh, 1Ch, 00h, 04h, 00h 31E4:35FB 00 00 05 00 10 04 db 00h, 00h, 05h, 00h, 10h, 04h 31E4:3601 1E 00 58 1D 1C 00 db 1Eh, 00h, 58h, 1Dh, 1Ch, 00h 31E4:3607 03 00 00 00 1E 00 db 03h, 00h, 00h, 00h, 1Eh, 00h 31E4:360D 58 1D 1E 00 58 1D db 58h, 1Dh, 1Eh, 00h, 58h, 1Dh 31E4:3613 22 00 B7 35 21 00 db 22h, 00h,0B7h, 35h, 21h, 00h 31E4:3619 18 04 1E 00 E9 12 db 18h, 04h, 1Eh, 00h,0E9h, 12h 31E4:361F 21 00 11 27 21 00 db 21h, 00h, 11h, 27h, 21h, 00h 31E4:3625 E8 03 20 00 20 00 db 0E8h, 03h, 20h, 00h, 20h, 00h 31E4:362B 20 00 20 00 27 00 db 20h, 00h, 20h, 00h, 27h, 00h 31E4:3631 CB 00 00 00 20 00 db 0CBh, 00h, 00h, 00h, 20h, 00h 31E4:3637 20 00 20 00 20 00 db 20h, 00h, 20h, 00h, 20h, 00h 31E4:363D 27 00 CC 00 00 00 db 27h, 00h,0CCh, 00h, 00h, 00h 31E4:3643 20 00 20 00 20 00 db 20h, 00h, 20h, 00h, 20h, 00h 31E4:3649 21 00 11 27 1E 00 db 21h, 00h, 11h, 27h, 1Eh, 00h 31E4:364F 31 1D 27 00 8C 00 db 31h, 1Dh, 27h, 00h, 8Ch, 00h 31E4:3655 00 00 22 00 27 36 db 00h, 00h, 22h, 00h, 27h, 36h 31E4:365B 1C 00 02 00 27 36 db 1Ch, 00h, 02h, 00h, 27h, 36h 31E4:3661 1E 00 42 1E 21 00 db 1Eh, 00h, 42h, 1Eh, 21h, 00h 31E4:3667 E8 03 22 00 61 36 db 0E8h, 03h, 22h, 00h, 61h, 36h 31E4:366D 00 00 00 db 00h, 00h, 00h 31E4:3670 0000 errormsg_list dw 0 ;Table used by display_message() to print errors 31E4:3672 368A dw offset errormsg1 31E4:3674 369E dw offset errormsg2 31E4:3676 36C2 dw offset errormsg3 31E4:3678 36E0 dw offset errormsg4 31E4:367A 36FB dw offset errormsg5 31E4:367C 3713 dw offset errormsg6 31E4:367E 372B dw offset errormsg7 31E4:3680 3763 dw offset errormsg8 31E4:3682 3788 dw offset errormsg9 31E4:3684 379F dw offset errormsga 31E4:3686 3743 dw offset errormsgb 31E4:3688 37C0 dw offset errormsgc 31E4:368A errormsg1 db 6, '8Disk read error.$', 0 31E4:369E errormsg2 db 'Game needs colour EGA/VGA monitor.$', 0 31E4:36C2 errormsg3 db 'Game needs DOS 2.0 or later.$', 0 31E4:36E0 errormsg4 db 11h, '8Please insert game disk$', 0 31E4:36FB errormsg5 db 1Ch, '8Please insert disk A$', 0 31E4:3713 errormsg6 db 27h, '8Please insert disk B$', 0 31E4:372B errormsg7 db 32h, '8Please insert disk C$', 0 31E4:3743 errormsgb db 3Dh, '8Please insert Lure data disk$', 0 31E4:3763 errormsg8 db 'Not enough memory to play the game.$', 0 31E4:3788 errormsg9 db 'Data file is corrupt.$', 0 31E4:379F errormsga db 'Sorry - copy protection failed.$', 0 31E4:37C0 errormsgc db 'Unknown error.$' 31E4:37D0 data_777 db 'Press a mouse button when ready.$', 0 31E4:37F2 data_778 db 'and press any key.$', 0 31E4:3806 09 09 15 05 0A db 09h, 09h, 15h, 05h, 0Ah 31E4:380B 0A B0 00 7A 00 00 db 0Ah,0B0h, 00h, 7Ah, 00h, 00h 31E4:3811 09 09 15 05 0A 0A db 09h, 09h, 15h, 05h, 0Ah, 0Ah 31E4:3817 B0 00 78 00 00 09 db 0B0h, 00h, 78h, 00h, 00h, 09h 31E4:381D 09 15 05 0A 0A B0 db 09h, 15h, 05h, 0Ah, 0Ah,0B0h 31E4:3823 00 64 01 00 09 09 db 00h, 64h, 01h, 00h, 09h, 09h 31E4:3829 15 05 0A 0A B0 00 db 15h, 05h, 0Ah, 0Ah,0B0h, 00h 31E4:382F 65 01 00 09 09 15 db 65h, 01h, 00h, 09h, 09h, 15h 31E4:3835 05 0A 0A B0 00 66 db 05h, 0Ah, 0Ah,0B0h, 00h, 66h 31E4:383B 01 00 09 06 15 05 db 01h, 00h, 09h, 06h, 15h, 05h 31E4:3841 0A 0A B0 00 56 01 db 0Ah, 0Ah,0B0h, 00h, 56h, 01h 31E4:3847 00 db 00h 31E4:3848 0A 0D 24 data_779 db 0Ah, 0Dh, '$' ; xref 273F:4055, 273F:4094 ; 273F:40AB 31E4:384B 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h 31E4:3850 41D9 actions2_proc_list dw 41D9h dw offset get_proc ; 1 = GET dw 0 dw offset operate_proc dw offset operate_proc dw offset operate_proc ; 5 dw offset open_proc dw offset close_proc 31E4:3860 dw offset lock_unlock_proc dw offset lock_unlock_proc dw offset use_proc ; 10 = USE dw offset give_proc dw offset talk_to_proc dw offset tell_proc dw 0 dw offset look_proc ; 15 = LOOK 31E4:3870 dw offset look_at_proc dw offset look_through_proc dw offset ask_proc dw 0 dw offset drink_proc ; 20 = DRINK dw offset status_proc dw offset go_to_proc dw offset return_proc 31E4:3880 dw offset bribe_proc dw offset examine_proc ; 25 dw 0 dw 0 dw offset npc_set_blocked_offset_proc dw offset npc_unknown_1 dw offset npc_execute_script_proc ; 30 dw offset npc_reset_paused_list dw offset npc_set_random_dest dw offset npc_walking_check dw offset npc_set_support_offset dw offset npc_set_support_offset_conditional ; 35 dw offset npc_dispatch_action dw offset npc_unknown_3 dw offset npc_pause dw offset npc_start_talking dw offset npc_jump_to_address ; 40 31E4:38A2 0001 random_v1 dw 1 31E4:38A4 0000 random_v2 dw 0 31E4:38A6 0B[00] db 11 dup (0) 31E4:38B0 01 data_781 db 1 31E4:38B1 0000 time_ctr dw 0 ; xref 273F:4974, 273F:A896 ; 273F:A89C, 273F:A8AB ; 273F:A8CC 31E4:38B3 32 data_783 db 32h ; xref 273F:4956, 273F:4967 31E4:38B4 008D[00] db 140 dup (0) 31E4:3940 0000 pathfind_buffer_end dw 0 31E4:3942 0000 pathfind_sp dw 0 31E4:3944 0000 pathfind_countdown_ctr dw 0 31E4:3946 0000 pathfind_in_progress db 0 31E4:3947 003C[00] db 60 dup (0) 31E4:3983 000A[00] player_pathfind_data dw 5 dup (0) ........ 31E4:3E92 00 data_785 db 0 ; xref 31E4:18A6 31E4:3E93 01CD[00] db 461 dup (0) 31E4:4060 ú077D[00] db 1917 dup (0) 31E4:4227 000A[00] chars_pathfind_data dw 5 dup (0) ........ 31E4:47DD 0000 0000 data_786 dd 00000h ; Data table (indexed access) 31E4:47E1 02EF[00] db 751 dup (0) ; List of hotspots that don't to be walked to before being looked at lookat_hotspot_list 31E4:4AD0 0411 0412 041F 0420 dw 0411h, 0412h, 041Fh, 0420h 31E4:4AD8 0421 0422 0426 0427 dw 0421h, 0422h, 0426h, 0427h 31E4:4AE0 0428 0429 0436 0437 dw 0428h, 0429h, 0436h, 0437h 31E4:4AE8 0000 dw 0 31E4:4AEA 0421 0879 bribe_hotspot_list dw 421h, 879h 31E4:4AEE 03E9 08C7 dw 3E9h, 8C7h 31E4:4AF2 0429 08D1 dw 429h, 8D1h 31E4:4AF6 0422 08D4 dw 422h, 8D4h 31E4:4AFA 0420 08D6 dw 420h, 8D6h 31E4:4AFE 042B 0956 dw 42Bh, 956h 31E4:4B02 03F2 0BE6 dw 3F2h,0BE6h 31E4:4B06 0000 dw 0 31E4:4B08 59 6F 75 20 61 72 carrying_str db 'You are carrying ' 31E4:4B0E 65 20 63 61 72 72 31E4:4B14 79 69 6E 67 20 31E4:4B19 6E 6F 74 68 69 6E items_str dw 'nothing.', 0 31E4:4B1F 67 2E 00 31E4:4B22 59 6F 75 20 68 61 money_str db 'You have ' 31E4:4B28 76 65 20 31E4:4B2B 78 s_num_groats db 'x' 31E4:4B2C 20 67 72 6F 61 74 db ' groat' 31E4:4B32 73 00 s_groats_plural db 's', 0 31E4:4B34 000C[00] db 13 dup (0) 31E4:4B40 00 data_791 db 0 31E4:4B41 00 00 data_792 dw 0 31E4:4B43 0050[00] hotspot_name db 80 dup (0) 31E4:4B93 005D[00] action_name db 93 dup (0) 31E4:4BF0 00 data_794 db 0 ; xref 273F:207A, 273F:7016 31E4:4BF1 0000 menuitem_table_location dw 0 31E4:4BF1 0007[00] db 7 dup (0) 31E4:4BF8 0000 data_unk1 dw 0 31E4:4BFA 00 mouse_buttons_temp db 0 31E4:4BFB 4C5A menuitem_list_info db offset menuitem_credits_str 31E4:4BFD 7084 dw offset menuitem_credits 31E4:4BFF 67 4C menuitem_list_file db offset menuitem_restart_str 31E4:4C01 70EA dw offset menuitem_restart 31E4:4C03 43 4C db offset menuitem_save_str 31E4:4C05 8EB2 dw offset menuitem_save 31E4:4C07 4D 4C db offset menuitem_restore_str 31E4:4C09 8F4A dw offset menuitem_restore 31E4:4C0B 0028 menuitem_table_info dw 28h ; X start 31E4:4C0D 0057 dw 57h ; X end 31E4:4C0F 0003 dw 3 31E4:4C11 0001 dw 1 31E4:4C13 0007 dw 7 ; Max characters width 31E4:4C15 0001 dw 1 ; Num items 31E4:4C17 4BFB dw offset menuitem_list_info 31E4:4C19 menuitem_table_file dw 7Fh 31E4:4C1B B3 00 dw 0B3h 31E4:4C1D 0D 00 dw 0Dh 31E4:4C1F 01 00 dw 01h 31E4:4C21 0C 00 dw 0Ch 31E4:4C23 03 00 dw 03h 31E4:4C25 4BFF dw offset menuitem_list_file 31E4:4C27 menuitem_table_info2 dw 0A0h 31E4:4C29 dw 0A6h 31E4:4C2B 06 00 dw 6 31E4:4C2D 01 00 dw 1 31E4:4C2F 05 00 dw 5 31E4:4C31 00 00 dw 0 31E4:4C33 FB 4B db offset menuitem_list_info 31E4:4C35 E0 00 menuitem_table_help dw 0E0h 31E4:4C37 19 01 dw 119h 31E4:4C39 1B 00 dw 1Bh 31E4:4C3B 01 00 dw 1 31E4:4C3D 0A 00 dw 0Ah 31E4:4C3F 03 00 dw 03h 31E4:4C41 4C99 dw offset menuitem_list_help 31E4:4C43 menuitem_save_str db 'Save game', 0 31E4:4C4D menuitem_restore_str db 'Restore game', 0 31E4:4C5A menuitem_credits_str db 'Credits', 0 31E4:4C62 menuitem_quit_str db 'Quit', 0 31E4:4C67 menuitem_restart_str db 'Restart game', 0 31E4:4C74 menuitem_textspeed_str db 'Slow text', 8Bh, 0 31E4:4C7F slowtext_slow_substr db 'Slow' 31E4:4C83 slowtext_fast_substr db 'Fast' 31E4:4C87 menuitem_sound_str db 'Sound on ', 0 31E4:4C91 sound_on_substr db 'on ', 0 31E4:4C95 sound_off_substr db 'off', 0 31E4:4C99 4C62 menu_list_help dw offset menuitem_quit_str 31E4:4C9B 7036 dw offset menuitem_quit 31E4:4C9D 4C74 dw offset menuitem_textspeed_str 31E4:4C9F 70F5 dw offset menuitem_textspeed 31E4:4CA1 4C87 dw offset menuitem_sound_str 31E4:4CA3 710D dw offset menuitem_sound 31E4:4CA5 00 db 0 31E4:4CA6 000A[00] db 10 dup (0) 31E4:4CB0 exit_hotspots_list dw 2711h ; Cell door room #1 dw 2712h ; Cell door room #2 dw 2714h dw 2715h dw 2716h dw 2717h dw 2718h dw 2719h dw 271Ah dw 271Eh dw 271Fh dw 2720h dw 2721h dw 2722h dw 2725h dw 2726h dw 2729h dw 272Ah dw 272Bh dw 272Ch dw 272Dh dw 272Eh dw 272Fh dw 0 31E4:4CE0 0000 current_room_segment dw 0 31E4:4CE2 0000 data_segment dw 0 31E4:4CE4 0000 data_segment2 dw 0 31E4:4CE6 0000 talk_dialog_buffer dw 0 31E4:4CE8 0000 strings_segment dw 0 31E4:4CEA 0000 strings_segment_2 dw 0 ; xref 273F:7E16 31E4:4CEC 0000 strings_segment_3 dw 0 ; xref 273F:7E22 31E4:4CEE 0000 names_segment dw 0 31E4:4CF0 0000 font2_segment dw 0 31E4:4CF2 0000 font_segment dw 0 31E4:4CF4 0000 cursors_segment dw 0 31E4:4CF6 0000 data_810 dw 0 ; xref 273F:7AD8 31E4:4CF8 0000 data_811 dw 0 ; xref 273F:7AEA 31E4:4CFA 0000 data_812 dw 0 ; xref 273F:79EF 31E4:4CFC 0000 largest_free_block dw 0 31E4:4CFE 0000 data_814 dw 0 31E4:4D00 0000 buffer_segment dw 0 31E4:4D02 0000 buffer_segment_end dw 0 31E4:4D04 0000 anim_src_segment2 dw 0 31E4:4D06 0000 anim_src_segment dw 0 31E4:4D08 0008[00] db 8 dup (0) 31E4:4D10 42 4E 1B 4E 63 4E db 42h, 4Eh, 1Bh, 4Eh, 63h, 4Eh 31E4:4D16 AC 4E 00 00 00 00 db 0ACh, 4Eh, 00h, 00h, 00h, 00h 31E4:4D1C AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D22 C9 4E AC 4E AC 4E db 0C9h, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D28 AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D2E AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D34 AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D3A AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D40 AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D46 AC 4E 62 4D AC 4E db 0ACh, 4Eh, 62h, 4Dh,0ACh, 4Eh 31E4:4D4C AC 4E F0 4E AC 4E db 0ACh, 4Eh,0F0h, 4Eh,0ACh, 4Eh 31E4:4D52 AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D58 AC 4E AC 4E AC 4E db 0ACh, 4Eh,0ACh, 4Eh,0ACh, 4Eh 31E4:4D5E AC 4E AC 4E 08 01 db 0ACh, 4Eh,0ACh, 4Eh, 08h, 01h 31E4:4D64 00 1E 00 42 1E 20 db 00h, 1Eh, 00h, 42h, 1Eh, 20h 31E4:4D6A 00 00 00 FF FF 01 db 00h, 00h, 00h,0FFh,0FFh, 01h 31E4:4D70 00 20 00 1F 00 00 db 00h, 20h, 00h, 1Fh, 00h, 00h 31E4:4D76 00 FF FF 01 00 20 db 00h,0FFh,0FFh, 01h, 00h, 20h 31E4:4D7C 00 1F 00 00 00 FF db 00h, 1Fh, 00h, 00h, 00h,0FFh 31E4:4D82 FF 03 00 24 00 20 db 0FFh, 03h, 00h, 24h, 00h, 20h 31E4:4D88 04 A5 4D 25 00 20 db 04h,0A5h, 4Dh, 25h, 00h, 20h 31E4:4D8E 04 02 08 00 00 04 db 04h, 02h, 08h, 00h, 00h, 04h 31E4:4D94 08 00 00 25 00 20 db 08h, 00h, 00h, 25h, 00h, 20h 31E4:4D9A 04 03 08 00 00 00 db 04h, 03h, 08h, 00h, 00h, 00h 31E4:4DA0 00 00 00 20 00 00 db 00h, 00h, 00h, 20h, 00h, 00h 31E4:4DA6 00 FF FF 01 00 20 db 00h,0FFh,0FFh, 01h, 00h, 20h 31E4:4DAC 00 1F 00 00 00 FF db 00h, 1Fh, 00h, 00h, 00h,0FFh 31E4:4DB2 FF 01 00 20 00 1F db 0FFh, 01h, 00h, 20h, 00h, 1Fh 31E4:4DB8 00 00 00 FF FF 03 db 00h, 00h, 00h,0FFh,0FFh, 03h 31E4:4DBE 00 24 00 20 04 A5 db 00h, 24h, 00h, 20h, 04h,0A5h 31E4:4DC4 4D 25 00 20 04 02 db 4Dh, 25h, 00h, 20h, 04h, 02h 31E4:4DCA 08 00 00 04 08 00 db 08h, 00h, 00h, 04h, 08h, 00h 31E4:4DD0 00 25 00 20 04 94 db 00h, 25h, 00h, 20h, 04h, 94h 31E4:4DD6 0B 00 00 95 0B 00 db 0Bh, 00h, 00h, 95h, 0Bh, 00h 31E4:4DDC 00 25 00 20 04 96 db 00h, 25h, 00h, 20h, 04h, 96h 31E4:4DE2 0B 0F 00 00 00 00 db 0Bh, 0Fh, 00h, 00h, 00h, 00h 31E4:4DE8 00 20 00 00 00 FF db 00h, 20h, 00h, 00h, 00h,0FFh 31E4:4DEE FF 03 00 25 00 2B db 0FFh, 03h, 00h, 25h, 00h, 2Bh 31E4:4DF4 04 DB 0A 00 00 DC db 04h,0DBh, 0Ah, 00h, 00h,0DCh 31E4:4DFA 0A 00 00 25 00 2B db 0Ah, 00h, 00h, 25h, 00h, 2Bh 31E4:4E00 04 DD 0A 00 00 DE db 04h,0DDh, 0Ah, 00h, 00h,0DEh 31E4:4E06 0A 0A 00 25 00 2B db 0Ah, 0Ah, 00h, 25h, 00h, 2Bh 31E4:4E0C 04 DF 0A 0F 00 E0 db 04h,0DFh, 0Ah, 0Fh, 00h,0E0h 31E4:4E12 0A 00 00 1F 00 00 db 0Ah, 00h, 00h, 1Fh, 00h, 00h 31E4:4E18 00 FF FF 02 01 00 db 00h,0FFh,0FFh, 02h, 01h, 00h 31E4:4E1E 1E 00 42 1E 20 00 db 1Eh, 00h, 42h, 1Eh, 20h, 00h 31E4:4E24 00 00 FF FF 01 00 db 00h, 00h,0FFh,0FFh, 01h, 00h 31E4:4E2A 20 00 00 00 FF FF db 20h, 00h, 00h, 00h,0FFh,0FFh 31E4:4E30 01 00 FE FF 1C 00 db 01h, 00h,0FEh,0FFh, 1Ch, 00h 31E4:4E36 03 00 00 00 20 00 db 03h, 00h, 00h, 00h, 20h, 00h 31E4:4E3C 1F 00 00 00 FF FF db 1Fh, 00h, 00h, 00h,0FFh,0FFh 31E4:4E42 03 01 00 20 00 00 db 03h, 01h, 00h, 20h, 00h, 00h 31E4:4E48 00 FF FF 01 00 11 db 00h,0FFh,0FFh, 01h, 00h, 11h 31E4:4E4E 00 0C 04 1F 00 00 db 00h, 0Ch, 04h, 1Fh, 00h, 00h 31E4:4E54 00 FF FF 01 00 1E db 00h,0FFh,0FFh, 01h, 00h, 1Eh 31E4:4E5A 00 42 1E 20 00 00 db 00h, 42h, 1Eh, 20h, 00h, 00h 31E4:4E60 00 FF FF 05 01 00 db 00h,0FFh,0FFh, 05h, 01h, 00h 31E4:4E66 1E 00 42 1E 20 00 db 1Eh, 00h, 42h, 1Eh, 20h, 00h 31E4:4E6C 00 00 FF FF 01 00 db 00h, 00h,0FFh,0FFh, 01h, 00h 31E4:4E72 20 00 00 00 FF FF db 20h, 00h, 00h, 00h,0FFh,0FFh 31E4:4E78 03 00 06 00 32 75 db 03h, 00h, 06h, 00h, 32h, 75h 31E4:4E7E 00 00 FF FF 03 00 db 00h, 00h,0FFh,0FFh, 03h, 00h 31E4:4E84 1D 00 54 E8 00 00 db 1Dh, 00h, 54h,0E8h, 00h, 00h 31E4:4E8A FF FF 03 00 1F 00 db 0FFh,0FFh, 03h, 00h, 1Fh, 00h 31E4:4E90 11 00 30 75 1F 00 db 11h, 00h, 30h, 75h, 1Fh, 00h 31E4:4E96 00 00 FF FF 01 00 db 00h, 00h,0FFh,0FFh, 01h, 00h 31E4:4E9C FE FF 1C 00 02 00 db 0FEh,0FFh, 1Ch, 00h, 02h, 00h 31E4:4EA2 00 00 20 00 1F 00 db 00h, 00h, 20h, 00h, 1Fh, 00h 31E4:4EA8 00 00 FF FF 03 01 db 00h, 00h,0FFh,0FFh, 03h, 01h 31E4:4EAE 00 1E 00 42 1E 20 db 00h, 1Eh, 00h, 42h, 1Eh, 20h 31E4:4EB4 00 00 00 FF FF 01 db 00h, 00h, 00h,0FFh,0FFh, 01h 31E4:4EBA 00 1F 00 00 00 FF db 00h, 1Fh, 00h, 00h, 00h,0FFh 31E4:4EC0 FF 01 00 20 00 00 db 0FFh, 01h, 00h, 20h, 00h, 00h 31E4:4EC6 00 FF FF 04 01 00 db 00h,0FFh,0FFh, 04h, 01h, 00h 31E4:4ECC 1E 00 42 1E 20 00 db 1Eh, 00h, 42h, 1Eh, 20h, 00h 31E4:4ED2 00 00 FF FF 03 00 db 00h, 00h,0FFh,0FFh, 03h, 00h 31E4:4ED8 1D 00 62 E8 00 00 db 1Dh, 00h, 62h,0E8h, 00h, 00h 31E4:4EDE FF FF 01 00 1F 00 db 0FFh,0FFh, 01h, 00h, 1Fh, 00h 31E4:4EE4 00 00 FF FF 01 00 db 00h, 00h,0FFh,0FFh, 01h, 00h 31E4:4EEA 20 00 00 00 FF FF db 20h, 00h, 00h, 00h,0FFh,0FFh 31E4:4EF0 07 01 00 23 00 6C db 07h, 01h, 00h, 23h, 00h, 6Ch 31E4:4EF6 1E FF 4E 1E 00 42 db 1Eh,0FFh, 4Eh, 1Eh, 00h, 42h 31E4:4EFC 1E 20 00 00 00 FF db 1Eh, 20h, 00h, 00h, 00h,0FFh 31E4:4F02 FF 03 00 25 00 29 db 0FFh, 03h, 00h, 25h, 00h, 29h 31E4:4F08 04 9B 0B 00 00 9C db 04h, 9Bh, 0Bh, 00h, 00h, 9Ch 31E4:4F0E 0B 00 00 25 00 29 db 0Bh, 00h, 00h, 25h, 00h, 29h 31E4:4F14 04 9D 0B 00 00 00 db 04h, 9Dh, 0Bh, 00h, 00h, 00h 31E4:4F1A 00 00 00 20 00 00 db 00h, 00h, 00h, 20h, 00h, 00h 31E4:4F20 00 FF FF 03 00 25 db 00h,0FFh,0FFh, 03h, 00h, 25h 31E4:4F26 00 29 04 9E 0B 00 db 00h, 29h, 04h, 9Eh, 0Bh, 00h 31E4:4F2C 00 9F 0B 00 00 25 db 00h, 9Fh, 0Bh, 00h, 00h, 25h 31E4:4F32 00 29 04 A0 0B 00 db 00h, 29h, 04h,0A0h, 0Bh, 00h 31E4:4F38 00 A2 0B 00 00 25 db 00h,0A2h, 0Bh, 00h, 00h, 25h 31E4:4F3E 00 29 04 A1 0B 00 db 00h, 29h, 04h,0A1h, 0Bh, 00h 31E4:4F44 00 00 00 00 00 20 db 00h, 00h, 00h, 00h, 00h, 20h 31E4:4F4A 00 00 00 FF FF 01 db 00h, 00h, 00h,0FFh,0FFh, 01h 31E4:4F50 00 1F 00 00 00 FF db 00h, 1Fh, 00h, 00h, 00h,0FFh 31E4:4F56 FF 01 00 20 00 00 db 0FFh, 01h, 00h, 20h, 00h, 00h 31E4:4F5C 00 FF FF 01 00 1F db 00h,0FFh,0FFh, 01h, 00h, 1Fh 31E4:4F62 00 00 00 FF FF 01 db 00h, 00h, 00h,0FFh,0FFh, 01h 31E4:4F68 00 20 00 00 00 FF db 00h, 20h, 00h, 00h, 00h,0FFh 31E4:4F6E FF 1F 0E db 0FFh, 1Fh, 0Eh 31E4:4F71 follower_room_translate_list db 1Eh, 13h, 07h, 08h, 1Ch, 12h 31E4:4F77 db 26h, 0Fh, 27h, 0Fh, 28h, 0Fh 31E4:4F7D db 29h, 0Fh, 22h, 0Ah, 23h, 13h 31E4:4F83 db 24h, 14h, 31h, 2Ch, 2Fh, 2Ch 31E4:4F89 db 00h 31E4:4F8A 00 data_817 db 0 31E4:4F8B 00 00 00 00 00 61 db 00h, 00h, 00h, 00h, 00h, 61h 31E4:4F91 00 61 6E 00 db 00h, 61h, 6Eh, 00h 31E4:4F95 74 68 65 db 74h, 68h, 65h 31E4:4F98 0008[00] db 8 dup (0) 31E4:4FA0 15 16 17 18 19 1A db 15h, 16h, 17h, 18h, 19h, 1Ah 31E4:4FA6 19 18 17 16 17 18 db 19h, 18h, 17h, 16h, 17h, 18h 31E4:4FAC 19 1A 19 18 17 16 db 19h, 1Ah, 19h, 18h, 17h, 16h 31E4:4FB2 15 00 0D 0E 0F 10 db 15h, 00h, 0Dh, 0Eh, 0Fh, 10h 31E4:4FB8 11 12 11 12 11 10 db 11h, 12h, 11h, 12h, 11h, 10h 31E4:4FBE 0F 13 14 00 0C 0D db 0Fh, 13h, 14h, 00h, 0Ch, 0Dh 31E4:4FC4 0E 0F 10 0F 10 0F db 0Eh, 0Fh, 10h, 0Fh, 10h, 0Fh 31E4:4FCA 10 0F 0E 0D 0C 00 db 10h, 0Fh, 0Eh, 0Dh, 0Ch, 00h 31E4:4FD0 01 02 03 04 05 04 db 01h, 02h, 03h, 04h, 05h, 04h 31E4:4FD6 05 04 03 02 06 07 db 05h, 04h, 03h, 02h, 06h, 07h 31E4:4FDC 00 0D 0E 0F 10 11 db 00h, 0Dh, 0Eh, 0Fh, 10h, 11h 31E4:4FE2 12 13 14 15 16 17 db 12h, 13h, 14h, 15h, 16h, 17h 31E4:4FE8 18 19 1A 1B 00 1C db 18h, 19h, 1Ah, 1Bh, 00h, 1Ch 31E4:4FEE 1D 1E 1F db 1Dh, 1Eh, 1Fh 31E4:4FF1 20 21 22 23 24 db ' !"#$' 31E4:4FF6 25 26 27 28 29 2A db '%&', 27h, '()*+,-./0(', 27h, '&%' 31E4:4FFC 2B 2C 2D 2E 2F 30 31E4:5002 28 27 26 25 31E4:5006 24 db '$' 31E4:5007 23 22 21 20 db '#"! ' 31E4:500B 1F 1E 1D 1C 00 01 db 1Fh, 1Eh, 1Dh, 1Ch, 00h, 01h 31E4:5011 02 03 04 05 06 07 db 02h, 03h, 04h, 05h, 06h, 07h 31E4:5017 08 09 0A 0B 0C 0D db 08h, 09h, 0Ah, 0Bh, 0Ch, 0Dh 31E4:501D 0E 0F 10 11 12 13 db 0Eh, 0Fh, 10h, 11h, 12h, 13h 31E4:5023 14 15 16 17 18 00 db 14h, 15h, 16h, 17h, 18h, 00h 31E4:5029 00 db 0 31E4:502A 001D BB47 sub_211_list dw 1Dh, 0BB47h 31E4:502E 0020 BB61 dw 20h, 0BB61h 31E4:5032 0023 BB7B dw 23h, 0BB7Bh 31E4:5036 000A[00] db 10 dup (0) 31E4:5040 09 08 15 05 0A 0A look_info db 09h, 08h, 15h, 05h, 0Ah, 0Ah 31E4:5046 B0 00 db 0B0h, 00h, 31E4:5048 D2 00 db 0D2h, 00h 31E4:504A 0006[00] db 6 dup (0) 31E4:5050 CF5E give_talk_list dw 0CF5Eh ; Data table (indexed access) 31E4:5052 CF14 dw 0CF14h 31E4:5054 CF90 dw 0CF90h 31E4:5056 CFAA dw 0CFAAh 31E4:5058 CFD0 dw 0CFD0h 31E4:505A CFF6 dw 0CFF6h ; The following table consists of the set of hotspot Ids and offsets for character talk records. ; Following this is the individual talk records for the characters 31E4:505C 03EA 5202 talk_table db 03EAh, offset skorl_record 31E4:5060 0411 5206 db 0411h, 5206h 31E4:5064 03E9 5426 db 03E9h, 5426h 31E4:5068 0412 5478 db 0412h, 5478h 31E4:506C 03EB 547C db 03EBh, 547Ch 31E4:5070 03EC 54B2 db 03ECh, 54B2h 31E4:5074 03ED 52E2 db 03EDh, 52E2h 31E4:5078 041F 52AC db 041Fh, 52ACh 31E4:507C 0421 53F0 db 0421h, 53F0h 31E4:5080 0422 53BA db 0422h, 53BAh 31E4:5084 0426 545C db 0426h, 545Ch 31E4:5088 0428 545C db 0428h, 545Ch 31E4:508C 0427 5384 db 0427h, 5384h 31E4:5090 03EF 5318 db 03EFh, 5318h 31E4:5094 0420 534E db 0420h, 534Eh 31E4:5098 0429 520A db 0429h, 520Ah 31E4:509C 03EE 5196 db 03EEh, 5196h 31E4:50A0 03F0 51CC db 03F0h, 51CCh 31E4:50A4 042B 5276 db 042Bh, 5276h 31E4:50A8 042C 5240 db 042Ch, 5240h 31E4:50AC 042D 5240 db 042Dh, 5240h 31E4:50B0 0434 5504 db 0434h, 5504h 31E4:50B4 0436 512A db 0436h, 512Ah 31E4:50B8 03F1 5160 db 03F1h, 5160h 31E4:50BC 03F2 511C db 03F2h, 511Ch 31E4:50C0 0437 5102 db 0437h, 5102h 31E4:50C4 0438 510E db 0438h, 510Eh 31E4:50C8 0442 50CC db 0442h, offset talk_442h_record 31E4:50CC 10 D0 00 00 1E D0 talk_442h_record db 10h,0D0h, 00h, 00h, 1Eh,0D0h 31E4:5202 0000 skorl_record dw 0 31E4:5204 EB24 dw offset skorl_talk_0 31E4:5206 0000 E022 ;***** TALK RECORD DATA deleted ***** 31E4:5504 002C[00] db 44 dup (0) ; Start of final talk list 31E4:5530 EE EB 7A EC dw 0EBEEh, 0EC7Ah 31E4:5534 000C[00] db 12 dup (0) 31E4:5540 73 61 76 65 67 61 savegame_filename db 'savegame.dta', 0 ; xref 273F:934F 31E4:5546 6D 65 2E 64 74 61 31E4:554C 00 31E4:554D FFFF data_832 dw 0FFFFh ; xref 273F:8F7C, 273F:8F86 31E4:554F 00 00 00 00 00 20 db 00h, 00h, 00h, 00h, 00h, 20h 31E4:5555 21 40 23 24 db '!@#$' 31E4:5559 25 5E 26 2A 28 29 db '%^&*()_+|-=\{}[]:;', 27h, '<>?,.' 31E4:555F 5F 2B 7C 2D 3D 5C 31E4:5565 7B 7D 5B 5D 3A 3B 31E4:556B 27 3C 3E 3F 2C 2E 31E4:5571 2F 60 7E 22 00 db '/`~"', 0 31E4:5576 52 65 73 74 6F 72 db 'Restore game', 0 31E4:557C 65 20 67 61 6D 65 31E4:5582 00 31E4:5583 53 61 76 65 20 67 db 'Save game', 0 31E4:5589 61 6D 65 00 31E4:558D E0 E1 E1 E0 DE 01 db 0E0h,0E1h,0E1h,0E0h,0DEh, 01h 31E4:5593 79 12 db 79h, 12h 31E4:5595 000B[00] db 11 dup (0) 31E4:55A0 00 data_835 db 0 ; xref 273F:94FB, 273F:A37B ; 273F:A888, 273F:A8A4 31E4:55A1 0000 data_836 dw 0 ; xref 273F:949E, 273F:94F8 31E4:55A3 04 0A 10 16 05 0B db 04h, 0Ah, 10h, 16h, 05h, 0Bh 31E4:55A9 11 17 06 0C 12 07 db 11h, 17h, 06h, 0Ch, 12h, 07h 31E4:55AF 0D 13 08 0E 14 09 db 0Dh, 13h, 08h, 0Eh, 14h, 09h 31E4:55B5 0F 15 00 00 db 0Fh, 15h, 00h, 00h 31E4:55B9 0007[00] db 7 dup (0) 31E4:55C0 10 63 12 00 00 00 db 10h, 63h, 12h, 00h, 00h, 00h 31E4:55C6 00 00 00 11 63 12 db 00h, 00h, 00h, 11h, 63h, 12h 31E4:55CC 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:55D2 12 63 12 00 00 00 db 12h, 63h, 12h, 00h, 00h, 00h 31E4:55D8 00 00 00 13 63 12 db 00h, 00h, 00h, 13h, 63h, 12h 31E4:55DE 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:55E4 14 63 12 00 00 00 db 14h, 63h, 12h, 00h, 00h, 00h 31E4:55EA 00 00 00 15 63 12 db 00h, 00h, 00h, 15h, 63h, 12h 31E4:55F0 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:55F6 16 63 12 00 00 00 db 16h, 63h, 12h, 00h, 00h, 00h 31E4:55FC 00 00 00 17 63 12 db 00h, 00h, 00h, 17h, 63h, 12h 31E4:5602 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5608 18 63 12 00 00 00 db 18h, 63h, 12h, 00h, 00h, 00h 31E4:560E 00 00 00 19 63 12 db 00h, 00h, 00h, 19h, 63h, 12h 31E4:5614 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:561A 20 63 12 00 00 00 db 20h, 63h, 12h, 00h, 00h, 00h 31E4:5620 00 00 00 21 63 12 db 00h, 00h, 00h, 21h, 63h, 12h 31E4:5626 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 31E4:562B sub_272 proc near 31E4:562B 00 22 add [bp+si],ah 31E4:562D 63 12 00 00 00 00 db 63h, 12h, 00h, 00h, 00h, 00h 31E4:5633 00 00 23 63 12 00 db 00h, 00h, 23h, 63h, 12h, 00h 31E4:5639 00 00 00 00 00 24 db 00h, 00h, 00h, 00h, 00h, 24h 31E4:563F 63 12 00 00 00 00 db 63h, 12h, 00h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 444 31E4:5645 00 00 25 63 12 00 db 00h, 00h, 25h, 63h, 12h, 00h 31E4:564B 00 00 00 00 00 26 db 00h, 00h, 00h, 00h, 00h, 26h 31E4:5651 63 12 db 63h, 12h 31E4:5653 000D[00] db 13 dup (0) 31E4:5660 00 music_status db 0 ; xref 273F:092D, 273F:493B ; 273F:4942, 273F:7619 ; 273F:93E0, 273F:93E4 ; 273F:9405, 273F:9FA2 ; 273F:9FCA, 273F:9FD9 ; 273F:A016, 273F:A021 ; 273F:A07C, 273F:A087 ; 273F:A198, 273F:A1BA ; 273F:A2D7, 273F:A329 ; 273F:A330, 273F:A576 ; 273F:A592, 273F:A5A6 31E4:5661 00 db 0 31E4:5662 0000 0000 play_music_proc dw 0, 0 ; xref 273F:04BC, 273F:494B ; 273F:762D, 273F:933E ; 273F:9F7C, 273F:9F99 ; 273F:9FBE, 273F:A0A8 ; 273F:A0D5, 273F:A150 ; 273F:A1CE, 273F:A1E9 ; 273F:A1F8, 273F:A2D1 ; 273F:A2F3, 273F:A31F ; 273F:A366, 273F:A3E1 ; 273F:A43F, 273F:A486 ; 273F:A589, 273F:A5DA ; 273F:A6DE 31E4:5666 00 00 db 0, 0 31E4:5668 00 note_flag db 0 ; xref 273F:48E2, 273F:48E9 ; 273F:48F0, 273F:48F5 ; 273F:4908, 273F:4936 ; 273F:9F77, 273F:9F9D ; 273F:9FC5, 273F:9FD4 ; 273F:A2CC, 273F:A335 31E4:5669 00 data_843 db 0 ; xref 273F:A031, 273F:A1FC 31E4:566A 0007[00] db 7 dup (0) 31E4:5671 8A 1E 1A 03 80 00 db 8Ah, 1Eh, 1Ah, 03h, 80h, 00h 31E4:5677 40 15 00 80 81 40 db 40h, 15h, 00h, 80h, 81h, 40h 31E4:567D 02 02 C8 06 40 15 db 02h, 02h,0C8h, 06h, 40h, 15h 31E4:5683 00 80 12 64 15 00 db 00h, 80h, 12h, 64h, 15h, 00h 31E4:5689 80 13 40 15 00 80 db 80h, 13h, 40h, 15h, 00h, 80h 31E4:568F 11 0A 15 00 40 18 db 11h, 0Ah, 15h, 00h, 40h, 18h 31E4:5695 1E 15 00 80 97 1E db 1Eh, 15h, 00h, 80h, 97h, 1Eh 31E4:569B 19 03 C8 07 7E 15 db 19h, 03h,0C8h, 07h, 7Eh, 15h 31E4:56A1 01 80 08 7E 15 01 db 01h, 80h, 08h, 7Eh, 15h, 01h 31E4:56A7 80 00 40 15 00 0F db 80h, 00h, 40h, 15h, 00h, 0Fh 31E4:56AD 8A 40 1A 03 18 16 db 8Ah, 40h, 1Ah, 03h, 18h, 16h 31E4:56B3 00 15 01 80 15 7F db 00h, 15h, 01h, 80h, 15h, 7Fh 31E4:56B9 06 01 80 8F 0A 11 db 06h, 01h, 80h, 8Fh, 0Ah, 11h 31E4:56BF 03 1C 41 64 15 01 db 03h, 1Ch, 41h, 64h, 15h, 01h 31E4:56C5 80 10 64 16 01 02 db 80h, 10h, 64h, 16h, 01h, 02h 31E4:56CB 97 8C 19 03 08 99 db 97h, 8Ch, 19h, 03h, 08h, 99h 31E4:56D1 6A 11 02 6A 2B 80 db 6Ah, 11h, 02h, 6Ah, 2Bh, 80h 31E4:56D7 15 01 80 97 80 19 db 15h, 01h, 80h, 97h, 80h, 19h 31E4:56DD 03 04 2A 80 15 01 db 03h, 04h, 2Ah, 80h, 15h, 01h 31E4:56E3 C8 38 80 15 01 80 db 0C8h, 38h, 80h, 15h, 01h, 80h 31E4:56E9 3A 80 05 00 80 36 db 3Ah, 80h, 05h, 00h, 80h, 36h 31E4:56EF 80 15 00 80 35 80 db 80h, 15h, 00h, 80h, 35h, 80h 31E4:56F5 15 00 80 18 1E 15 db 15h, 00h, 80h, 18h, 1Eh, 15h 31E4:56FB 00 19 18 1E 15 00 db 00h, 19h, 18h, 1Eh, 15h, 00h 31E4:5701 07 02 1E 15 00 80 db 07h, 02h, 1Eh, 15h, 00h, 80h 31E4:5707 04 1E 05 00 80 05 db 04h, 1Eh, 05h, 00h, 80h, 05h 31E4:570D 1E 05 00 80 09 1E db 1Eh, 05h, 00h, 80h, 09h, 1Eh 31E4:5713 15 00 80 0C 80 19 db 15h, 00h, 80h, 0Ch, 80h, 19h 31E4:5719 02 80 83 80 19 00 db 02h, 80h, 83h, 80h, 19h, 00h 31E4:571F 80 1A 80 15 00 80 db 80h, 1Ah, 80h, 15h, 00h, 80h 31E4:5725 22 80 15 00 80 1B db 22h, 80h, 15h, 00h, 80h, 1Bh 31E4:572B 80 1D 00 80 9E 80 db 80h, 1Dh, 00h, 80h, 9Eh, 80h 31E4:5731 19 01 80 9F 80 15 db 19h, 01h, 80h, 9Fh, 80h, 15h 31E4:5737 01 80 21 80 05 01 db 01h, 80h, 21h, 80h, 05h, 01h 31E4:573D 80 2D 80 15 01 80 db 80h, 2Dh, 80h, 15h, 01h, 80h 31E4:5743 30 80 15 01 80 B4 db 30h, 80h, 15h, 01h, 80h,0B4h 31E4:5749 80 15 01 80 23 80 db 80h, 15h, 01h, 80h, 23h, 80h 31E4:574F 11 01 80 24 80 11 db 11h, 01h, 80h, 24h, 80h, 11h 31E4:5755 01 80 25 80 11 01 db 01h, 80h, 25h, 80h, 11h, 01h 31E4:575B 80 26 80 11 01 80 db 80h, 26h, 80h, 11h, 01h, 80h 31E4:5761 27 80 11 01 80 28 db 27h, 80h, 11h, 01h, 80h, 28h 31E4:5767 80 11 01 C8 42 64 db 80h, 11h, 01h,0C8h, 42h, 64h 31E4:576D 15 01 80 29 80 15 db 15h, 01h, 80h, 29h, 80h, 15h 31E4:5773 01 80 3F 80 15 01 db 01h, 80h, 3Fh, 80h, 15h, 01h 31E4:5779 80 FF 00 db 80h,0FFh, 00h 31E4:577C 00 00 00 00 db 0, 0, 0, 0 31E4:5780 0000 palette_segment dw 0 ; xref 273F:A346, 273F:A850 31E4:5782 0000 misc_segment dw 0 ; xref 273F:A2C2, 273F:A2E1 ; 273F:A30D, 273F:A33A ; 273F:A342, 273F:A352 ; 273F:A5B2, 273F:A667 ; 273F:A6BE, 273F:A7C7 ; 273F:A7EC, 273F:A7FB 31E4:5784 0000 decoded_data_end_segment dw 0 ; xref 273F:A7CF, 273F:A803 31E4:5786 09 00 45 01 02 01 db 09h, 00h, 45h, 01h, 02h, 01h 31E4:578C 00 1B 00 48 01 05 db 00h, 1Bh, 00h, 48h, 01h, 05h 31E4:5792 01 00 18 00 46 01 db 01h, 00h, 18h, 00h, 46h, 01h 31E4:5798 03 01 02 18 00 37 db 03h, 01h, 02h, 18h, 00h, 37h 31E4:579E 01 01 01 00 03 00 db 01h, 01h, 01h, 00h, 03h, 00h 31E4:57A4 37 01 01 01 01 03 db 37h, 01h, 01h, 01h, 01h, 03h 31E4:57AA 00 37 01 01 01 02 db 00h, 37h, 01h, 01h, 01h, 02h 31E4:57B0 03 00 37 01 01 01 db 03h, 00h, 37h, 01h, 01h, 01h 31E4:57B6 03 03 00 37 01 01 db 03h, 03h, 00h, 37h, 01h, 01h 31E4:57BC 01 04 04 00 37 01 db 01h, 04h, 04h, 00h, 37h, 01h 31E4:57C2 01 01 05 07 00 47 db 01h, 01h, 05h, 07h, 00h, 47h 31E4:57C8 01 04 01 06 1F 00 db 01h, 04h, 01h, 06h, 1Fh, 00h 31E4:57CE 00 00 06 01 00 db 00h, 00h, 06h, 01h, 00h 31E4:57D3 000D[00] db 13 dup (0) hotspot_script_master_list 31E4:57E0 F0 02 80 00 AE 0B db 0F0h, 02h, 80h, 00h,0AEh, 0Bh 31E4:57E6 84 0C B2 0C 08 0D db 84h, 0Ch,0B2h, 0Ch, 08h, 0Dh 31E4:57EC 00 04 1E 26 C2 26 db 00h, 04h, 1Eh, 26h,0C2h, 26h 31E4:57F2 08 27 78 26 DA 09 db 08h, 27h, 78h, 26h,0DAh, 09h 31E4:57F8 E0 09 4C 04 52 0F db 0E0h, 09h, 4Ch, 04h, 52h, 0Fh 31E4:57FE F0 0A 00 00 00 00 db 0F0h, 0Ah, 00h, 00h, 00h, 00h 31E4:5804 00 00 82 02 22 03 db 00h, 00h, 82h, 02h, 22h, 03h 31E4:580A 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h ; This animation pixel block is referenced by the pixel block for rooms 31E4:5810 08 40 01 voice_anim_block db 08h, 40h, 01h 31E4:5813 0000 voice_pixel_segment dw 0 31E4:5815 0000 dw 0 31E4:5817 0000 voice_frame_offset dw 0 31E4:5819 10 43 12 db 10h, 43h, 12h 31E4:581C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5822 12 43 12 00 00 00 db 12h, 43h, 12h, 00h, 00h, 00h 31E4:5828 00 00 00 13 43 12 db 00h, 00h, 00h, 13h, 43h, 12h 31E4:582E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5834 17 41 12 00 00 00 db 17h, 41h, 12h, 00h, 00h, 00h 31E4:583A 00 00 00 11 db 00h, 00h, 00h, 11h 31E4:583E 41 db 41h 31E4:583F 0007[00] db 7 dup (0) 31E4:5846 10 42 12 00 00 00 db 10h, 42h, 12h, 00h, 00h, 00h 31E4:584C 00 00 00 12 41 12 db 00h, 00h, 00h, 12h, 41h, 12h 31E4:5852 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5858 11 42 12 00 00 00 db 11h, 42h, 12h, 00h, 00h, 00h 31E4:585E 00 00 00 10 91 12 db 00h, 00h, 00h, 10h, 91h, 12h 31E4:5864 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:586A 10 9D 12 00 00 00 db 10h, 9Dh, 12h, 00h, 00h, 00h 31E4:5870 00 00 00 11 9D 12 db 00h, 00h, 00h, 11h, 9Dh, 12h 31E4:5876 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:587C 11 A0 12 00 00 00 db 11h,0A0h, 12h, 00h, 00h, 00h 31E4:5882 00 00 00 10 8C 12 db 00h, 00h, 00h, 10h, 8Ch, 12h 31E4:5888 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:588E 10 A0 12 00 00 00 db 10h,0A0h, 12h, 00h, 00h, 00h 31E4:5894 00 00 00 db 00h, 00h, 00h, 31E4:5897 4114 anim_entry_1: dw 4114h ; Disk res for anim contents? 31E4:5899 12 db 12h 31E4:589A 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:58A0 11 44 04 00 00 00 db 11h, 44h, 04h, 00h, 00h, 00h 31E4:58A6 00 00 00 12 42 12 db 00h, 00h, 00h, 12h, 42h, 12h 31E4:58AC 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:58B2 11 87 12 00 00 00 db 11h, 87h, 12h, 00h, 00h, 00h 31E4:58B8 00 00 00 10 87 12 db 00h, 00h, 00h, 10h, 87h, 12h 31E4:58BE 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:58C4 13 41 12 00 00 00 db 13h, 41h, 12h, 00h, 00h, 00h 31E4:58CA 00 00 00 15 41 12 db 00h, 00h, 00h, 15h, 41h, 12h 31E4:58D0 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:58D6 12 44 12 00 00 00 db 12h, 44h, 12h, 00h, 00h, 00h 31E4:58DC 00 00 00 16 41 12 db 00h, 00h, 00h, 16h, 41h, 12h 31E4:58E2 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:58E8 10 9C 12 00 00 00 db 10h, 9Ch, 12h, 00h, 00h, 00h 31E4:58EE 00 00 00 10 93 12 db 00h, 00h, 00h, 10h, 93h, 12h 31E4:58F4 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:58FA 10 9E 12 00 00 00 db 10h, 9Eh, 12h, 00h, 00h, 00h 31E4:5900 00 00 00 10 8E 12 db 00h, 00h, 00h, 10h, 8Eh, 12h 31E4:5906 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:590C 10 9F 12 00 00 00 db 10h, 9Fh, 12h, 00h, 00h, 00h 31E4:5912 00 00 00 11 9C 12 db 00h, 00h, 00h, 11h, 9Ch, 12h 31E4:5918 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:591E 11 9F 12 00 00 00 db 11h, 9Fh, 12h, 00h, 00h, 00h 31E4:5924 00 00 00 13 9E 12 db 00h, 00h, 00h, 13h, 9Eh, 12h 31E4:592A 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5930 16 9E 12 00 00 00 db 16h, 9Eh, 12h, 00h, 00h, 00h 31E4:5936 00 00 00 12 9C 12 db 00h, 00h, 00h, 12h, 9Ch, 12h 31E4:593C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5942 11 94 12 00 00 00 db 11h, 94h, 12h, 00h, 00h, 00h 31E4:5948 00 00 00 12 A0 12 db 00h, 00h, 00h, 12h,0A0h, 12h 31E4:594E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5954 11 8C 12 00 00 00 db 11h, 8Ch, 12h, 00h, 00h, 00h 31E4:595A 00 00 00 10 A4 12 db 00h, 00h, 00h, 10h,0A4h, 12h 31E4:5960 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5966 10 94 12 00 00 00 db 10h, 94h, 12h, 00h, 00h, 00h 31E4:596C 00 00 00 12 9F 12 db 00h, 00h, 00h, 12h, 9Fh, 12h 31E4:5972 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5978 13 9F 12 00 00 00 db 13h, 9Fh, 12h, 00h, 00h, 00h 31E4:597E 00 00 00 12 9E 12 db 00h, 00h, 00h, 12h, 9Eh, 12h 31E4:5984 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:598A 10 8F 12 00 00 00 db 10h, 8Fh, 12h, 00h, 00h, 00h 31E4:5990 00 00 00 12 9D 12 db 00h, 00h, 00h, 12h, 9Dh, 12h 31E4:5996 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:599C 20 8A 12 00 00 00 db 20h, 8Ah, 12h, 00h, 00h, 00h 31E4:59A2 00 00 00 10 A2 12 db 00h, 00h, 00h, 10h,0A2h, 12h 31E4:59A8 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:59AE 12 66 12 00 00 00 db 12h, 66h, 12h, 00h, 00h, 00h 31E4:59B4 00 00 00 10 66 12 db 00h, 00h, 00h, 10h, 66h, 12h 31E4:59BA 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:59C0 11 66 12 00 00 00 db 11h, 66h, 12h, 00h, 00h, 00h 31E4:59C6 00 00 00 13 66 12 db 00h, 00h, 00h, 13h, 66h, 12h 31E4:59CC 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:59D2 10 69 12 00 00 00 db 10h, 69h, 12h, 00h, 00h, 00h 31E4:59D8 00 00 00 04 ED 12 db 00h, 00h, 00h, 04h,0EDh, 12h 31E4:59DE 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:59E4 10 A3 12 00 00 00 db 10h,0A3h, 12h, 00h, 00h, 00h 31E4:59EA 00 00 00 11 A3 12 db 00h, 00h, 00h, 11h,0A3h, 12h 31E4:59F0 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 31E4:59F5 sub_273: 31E4:59F5 00 11 add [bx+di],dl 31E4:59F7 69 12 00 00 00 00 db 69h, 12h, 00h, 00h, 00h, 00h 31E4:59FD 00 00 12 69 12 00 db 00h, 00h, 12h, 69h, 12h, 00h 31E4:5A03 00 00 00 00 00 13 db 00h, 00h, 00h, 00h, 00h, 13h 31E4:5A09 69 12 00 00 00 00 db 69h, 12h, 00h, 00h, 00h, 00h 31E4:5A0F 00 00 14 69 12 00 db 00h, 00h, 14h, 69h, 12h, 00h 31E4:5A15 00 00 00 00 00 16 db 00h, 00h, 00h, 00h, 00h, 16h 31E4:5A1B EF 12 00 00 00 00 db 0EFh, 12h, 00h, 00h, 00h, 00h 31E4:5A21 00 00 10 EA 12 00 db 00h, 00h, 10h,0EAh, 12h, 00h 31E4:5A27 00 00 00 00 00 15 db 00h, 00h, 00h, 00h, 00h, 15h 31E4:5A2D EF 12 00 00 00 00 db 0EFh, 12h, 00h, 00h, 00h, 00h 31E4:5A33 00 00 14 EF 12 00 db 00h, 00h, 14h,0EFh, 12h, 00h 31E4:5A39 00 00 00 00 00 13 db 00h, 00h, 00h, 00h, 00h, 13h 31E4:5A3F EF 12 00 00 00 00 db 0EFh, 12h, 00h, 00h, 00h, 00h 31E4:5A45 00 00 11 EA 12 00 db 00h, 00h, 11h,0EAh, 12h, 00h 31E4:5A4B 00 00 00 00 00 10 db 00h, 00h, 00h, 00h, 00h, 10h 31E4:5A51 EF 12 00 00 00 00 db 0EFh, 12h, 00h, 00h, 00h, 00h 31E4:5A57 00 00 11 EF 12 00 db 00h, 00h, 11h,0EFh, 12h, 00h 31E4:5A5D 00 00 00 00 00 12 db 00h, 00h, 00h, 00h, 00h, 12h 31E4:5A63 EF 12 00 00 00 00 db 0EFh, 12h, 00h, 00h, 00h, 00h 31E4:5A69 00 00 17 63 12 00 db 00h, 00h, 17h, 63h, 12h, 00h 31E4:5A6F 00 00 00 00 00 27 db 00h, 00h, 00h, 00h, 00h, 27h 31E4:5A75 63 12 00 00 00 00 db 63h, 12h, 00h, 00h, 00h, 00h 31E4:5A7B 00 00 28 63 12 00 db 00h, 00h, 28h, 63h, 12h, 00h 31E4:5A81 00 00 00 00 00 17 db 00h, 00h, 00h, 00h, 00h, 17h 31E4:5A87 EF 12 00 00 00 00 db 0EFh, 12h, 00h, 00h, 00h, 00h 31E4:5A8D 00 00 12 8E 12 00 db 00h, 00h, 12h, 8Eh, 12h, 00h 31E4:5A93 00 00 00 00 00 11 db 00h, 00h, 00h, 00h, 00h, 11h 31E4:5A99 8E 12 00 00 00 00 db 8Eh, 12h, 00h, 00h, 00h, 00h 31E4:5A9F 00 00 14 9D 12 00 db 00h, 00h, 14h, 9Dh, 12h, 00h 31E4:5AA5 00 00 00 00 00 11 db 00h, 00h, 00h, 00h, 00h, 11h 31E4:5AAB A2 12 00 00 00 00 db 0A2h, 12h, 00h, 00h, 00h, 00h 31E4:5AB1 00 00 13 9D 12 00 db 00h, 00h, 13h, 9Dh, 12h, 00h 31E4:5AB7 00 00 00 00 00 06 db 00h, 00h, 00h, 00h, 00h, 06h 31E4:5ABD EB 12 00 00 00 00 db 0EBh, 12h, 00h, 00h, 00h, 00h 31E4:5AC3 00 00 05 EB 12 00 db 00h, 00h, 05h,0EBh, 12h, 00h 31E4:5AC9 00 00 00 00 00 02 db 00h, 00h, 00h, 00h, 00h, 02h 31E4:5ACF EB 12 00 00 00 00 db 0EBh, 12h, 00h, 00h, 00h, 00h 31E4:5AD5 00 00 03 EB 12 00 db 00h, 00h, 03h,0EBh, 12h, 00h 31E4:5ADB 00 00 00 00 00 04 db 00h, 00h, 00h, 00h, 00h, 04h 31E4:5AE1 EB 12 00 00 00 00 db 0EBh, 12h, 00h, 00h, 00h, 00h 31E4:5AE7 00 00 12 EA 12 00 db 00h, 00h, 12h,0EAh, 12h, 00h 31E4:5AED 00 00 00 00 00 13 db 00h, 00h, 00h, 00h, 00h, 13h 31E4:5AF3 EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5AF9 00 00 14 EA 12 00 db 00h, 00h, 14h,0EAh, 12h, 00h 31E4:5AFF 00 00 00 00 00 15 db 00h, 00h, 00h, 00h, 00h, 15h 31E4:5B05 EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B0B 00 00 16 EA 12 00 db 00h, 00h, 16h,0EAh, 12h, 00h 31E4:5B11 00 00 00 00 00 17 db 00h, 00h, 00h, 00h, 00h, 17h 31E4:5B17 EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B1D 00 00 18 EA 12 00 db 00h, 00h, 18h,0EAh, 12h, 00h 31E4:5B23 00 00 00 00 00 19 db 00h, 00h, 00h, 00h, 00h, 19h 31E4:5B29 EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B2F 00 00 20 EA 12 00 db 00h, 00h, 20h,0EAh, 12h, 00h 31E4:5B35 00 00 00 00 00 21 db 00h, 00h, 00h, 00h, 00h, 21h 31E4:5B3B EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B41 00 00 22 EA 12 00 db 00h, 00h, 22h,0EAh, 12h, 00h 31E4:5B47 00 00 00 00 00 23 db 00h, 00h, 00h, 00h, 00h, 23h 31E4:5B4D EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B53 00 00 24 EA 12 00 db 00h, 00h, 24h,0EAh, 12h, 00h 31E4:5B59 00 00 00 00 00 25 db 00h, 00h, 00h, 00h, 00h, 25h 31E4:5B5F EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B65 00 00 26 EA 12 00 db 00h, 00h, 26h,0EAh, 12h, 00h 31E4:5B6B 00 00 00 00 00 27 db 00h, 00h, 00h, 00h, 00h, 27h 31E4:5B71 EA 12 00 00 00 00 db 0EAh, 12h, 00h, 00h, 00h, 00h 31E4:5B77 00 00 13 9C 12 00 db 00h, 00h, 13h, 9Ch, 12h, 00h 31E4:5B7D 00 00 00 00 00 14 db 00h, 00h, 00h, 00h, 00h, 14h 31E4:5B83 9C 12 00 00 00 00 db 9Ch, 12h, 00h, 00h, 00h, 00h 31E4:5B89 00 00 0A 8D 12 00 db 00h, 00h, 0Ah, 8Dh, 12h, 00h 31E4:5B8F 00 00 00 00 00 0B db 00h, 00h, 00h, 00h, 00h, 0Bh 31E4:5B95 8D 12 00 00 00 00 db 8Dh, 12h, 00h, 00h, 00h, 00h 31E4:5B9B 00 00 0C 8D 12 00 db 00h, 00h, 0Ch, 8Dh, 12h, 00h 31E4:5BA1 00 00 00 00 00 0D db 00h, 00h, 00h, 00h, 00h, 0Dh 31E4:5BA7 8D 12 00 00 00 00 db 8Dh, 12h, 00h, 00h, 00h, 00h 31E4:5BAD 00 00 15 69 12 00 db 00h, 00h, 15h, 69h, 12h, 00h 31E4:5BB3 00 00 00 00 00 0F db 00h, 00h, 00h, 00h, 00h, 0Fh 31E4:5BB9 00 FC FF 00 00 0E db 00h,0FCh,0FFh, 00h, 00h, 0Eh 31E4:5BBF 00 FC FF 00 00 0D db 00h,0FCh,0FFh, 00h, 00h, 0Dh 31E4:5BC5 00 FC FF 00 00 0C db 00h,0FCh,0FFh, 00h, 00h, 0Ch 31E4:5BCB 00 FC FF 00 00 0B db 00h,0FCh,0FFh, 00h, 00h, 0Bh 31E4:5BD1 00 FC FF 00 00 0A db 00h,0FCh,0FFh, 00h, 00h, 0Ah 31E4:5BD7 00 FC FF 00 00 09 db 00h,0FCh,0FFh, 00h, 00h, 09h 31E4:5BDD 00 FC FF 00 00 08 db 00h,0FCh,0FFh, 00h, 00h, 08h 31E4:5BE3 00 FC FF 00 00 FF db 00h,0FCh,0FFh, 00h, 00h,0FFh 31E4:5BE9 FF 00 00 04 00 00 db 0FFh, 00h, 00h, 04h, 00h, 00h 31E4:5BEF 00 01 00 04 00 00 db 00h, 01h, 00h, 04h, 00h, 00h 31E4:5BF5 00 02 00 04 00 00 db 00h, 02h, 00h, 04h, 00h, 00h 31E4:5BFB 00 03 00 04 00 00 db 00h, 03h, 00h, 04h, 00h, 00h 31E4:5C01 00 04 00 04 00 00 db 00h, 04h, 00h, 04h, 00h, 00h 31E4:5C07 00 05 00 04 00 00 db 00h, 05h, 00h, 04h, 00h, 00h 31E4:5C0D 00 06 00 04 00 00 db 00h, 06h, 00h, 04h, 00h, 00h 31E4:5C13 00 07 00 04 00 00 db 00h, 07h, 00h, 04h, 00h, 00h 31E4:5C19 00 FF FF 18 00 00 db 00h,0FFh,0FFh, 18h, 00h, 00h 31E4:5C1F 00 FE FF 19 00 00 db 00h,0FEh,0FFh, 19h, 00h, 00h 31E4:5C25 00 FE FF 1A 00 00 db 00h,0FEh,0FFh, 1Ah, 00h, 00h 31E4:5C2B 00 FE FF 1B 00 00 db 00h,0FEh,0FFh, 1Bh, 00h, 00h 31E4:5C31 00 FE FF 1C 00 00 db 00h,0FEh,0FFh, 1Ch, 00h, 00h 31E4:5C37 00 FE FF 1D 00 00 db 00h,0FEh,0FFh, 1Dh, 00h, 00h 31E4:5C3D 00 FE FF 1E 00 00 db 00h,0FEh,0FFh, 1Eh, 00h, 00h 31E4:5C43 00 FE FF 1F 00 00 db 00h,0FEh,0FFh, 1Fh, 00h, 00h 31E4:5C49 00 FE FF FF FF 10 db 00h,0FEh,0FFh,0FFh,0FFh, 10h 31E4:5C4F 00 00 00 02 00 11 db 00h, 00h, 00h, 02h, 00h, 11h 31E4:5C55 00 00 00 02 00 12 db 00h, 00h, 00h, 02h, 00h, 12h 31E4:5C5B 00 00 00 02 00 13 db 00h, 00h, 00h, 02h, 00h, 13h 31E4:5C61 00 00 00 02 00 14 db 00h, 00h, 00h, 02h, 00h, 14h 31E4:5C67 00 00 00 02 00 15 db 00h, 00h, 00h, 02h, 00h, 15h 31E4:5C6D 00 00 00 02 00 16 db 00h, 00h, 00h, 02h, 00h, 16h 31E4:5C73 00 00 00 02 00 17 db 00h, 00h, 00h, 02h, 00h, 17h 31E4:5C79 00 00 00 02 00 FF db 00h, 00h, 00h, 02h, 00h,0FFh 31E4:5C7F FF db 0FFh 31E4:5C80 20 41 db 20h, 41h 31E4:5C82 0007[00] db 7 dup (0) 31E4:5C89 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5C8F EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5C95 21 41 00 00 00 00 db 21h, 41h, 00h, 00h, 00h, 00h 31E4:5C9B 00 00 00 1C 5C 4E db 00h, 00h, 00h, 1Ch, 5Ch, 4Eh 31E4:5CA1 5C B8 5B EA 5B 23 db 5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h 31E4:5CA7 22 21 20 17 9E db 22h, 21h, 20h, 17h, 9Eh 31E4:5CAC 0007[00] db 7 dup (0) 31E4:5CB3 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5CB9 EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5CBF 11 43 00 00 00 00 db 11h, 43h, 00h, 00h, 00h, 00h 31E4:5CC5 00 00 00 1C 5C 4E db 00h, 00h, 00h, 1Ch, 5Ch, 4Eh 31E4:5CCB 5C B8 5B EA 5B 23 db 5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h 31E4:5CD1 22 21 20 10 44 00 db 22h, 21h, 20h, 10h, 44h, 00h 31E4:5CD7 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5CDD 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5CE3 EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5CE9 12 8A 00 00 00 00 db 12h, 8Ah, 00h, 00h, 00h, 00h 31E4:5CEF 00 00 00 1C 5C 4E db 00h, 00h, 00h, 1Ch, 5Ch, 4Eh 31E4:5CF5 5C B8 5B EA 5B 23 db 5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h 31E4:5CFB 22 21 20 13 8A 00 db 22h, 21h, 20h, 13h, 8Ah, 00h 31E4:5D01 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5D07 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5D0D EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5D13 10 8A 00 00 00 00 db 10h, 8Ah, 00h, 00h, 00h, 00h 31E4:5D19 00 00 00 1C 5C 4E db 00h, 00h, 00h, 1Ch, 5Ch, 4Eh 31E4:5D1F 5C B8 5B EA 5B 23 db 5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h 31E4:5D25 22 21 20 14 9F db 22h, 21h, 20h, 14h, 9Fh 31E4:5D2A 0007[00] db 7 dup (0) 31E4:5D31 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5D37 EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5D3D 14 A4 db 14h,0A4h 31E4:5D3F 0007[00] db 7 dup (0) 31E4:5D46 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5D4C EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5D52 11 A4 00 00 00 00 db 11h,0A4h, 00h, 00h, 00h, 00h 31E4:5D58 00 00 00 1C 5C 4E db 00h, 00h, 00h, 1Ch, 5Ch, 4Eh 31E4:5D5E 5C B8 5B EA 5B 23 db 5Ch,0B8h, 5Bh,0EAh, 5Bh, 23h 31E4:5D64 22 21 20 18 EF db 22h, 21h, 20h, 18h,0EFh 31E4:5D69 0007[00] db 7 dup (0) 31E4:5D70 1C 5C 4E 5C B8 5B db 1Ch, 5Ch, 4Eh, 5Ch,0B8h, 5Bh 31E4:5D76 EA 5B 23 22 21 20 db 0EAh, 5Bh, 23h, 22h, 21h, 20h 31E4:5D7C 00 00 00 00 52 00 db 00h, 00h, 00h, 00h, 52h, 00h 31E4:5D82 000E[00] db 14 dup (0) 31E4:5D90 00 write_buffer db 0 ; xref 273F:8F8D 31E4:5D91 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:5D97 00 db 0 31E4:5D98 EF hotspot_table_2 db 0EFh 31E4:5D99 6C 47 00 00 00 00 db 6Ch, 47h, 00h, 00h, 00h, 00h 31E4:5D9F 00 00 B9 70 F1 00 db 00h, 00h,0B9h, 70h,0F1h, 00h 31E4:5DA5 33 01 00 00 03 67 db 33h, 01h, 00h, 00h, 03h, 67h 31E4:5DAB 6D 49 00 E2 00 00 db 6Dh, 49h, 00h,0E2h, 00h, 00h 31E4:5DB1 00 01 CE 72 7A 01 db 00h, 01h,0CEh, 72h, 7Ah, 01h 31E4:5DB7 D0 08 00 00 02 C2 db 0D0h, 08h, 00h, 00h, 02h,0C2h 31E4:5DBD 77 7A 01 D8 08 00 db 77h, 7Ah, 01h,0D8h, 08h, 00h 31E4:5DC3 00 02 E1 79 7A 01 db 00h, 02h,0E1h, 79h, 7Ah, 01h 31E4:5DC9 DC 08 00 00 02 1F db 0DCh, 08h, 00h, 00h, 02h, 1Fh 31E4:5DCF 7B 7A 01 12 0B 00 db 7Bh, 7Ah, 01h, 12h, 0Bh, 00h 31E4:5DD5 00 02 21 7D 55 08 db 00h, 02h, 21h, 7Dh, 55h, 08h 31E4:5DDB 56 08 00 00 06 18 db 56h, 08h, 00h, 00h, 06h, 18h 31E4:5DE1 7C 7A 01 26 0B 00 db 7Ch, 7Ah, 01h, 26h, 0Bh, 00h 31E4:5DE7 00 02 E6 6D 49 00 db 00h, 02h,0E6h, 6Dh, 49h, 00h 31E4:5DED FE 0B 00 00 02 50 db 0FEh, 0Bh, 00h, 00h, 02h, 50h 31E4:5DF3 71 7A 01 A4 0F 00 db 71h, 7Ah, 01h,0A4h, 0Fh, 00h 31E4:5DF9 00 08 E9 6F 49 00 db 00h, 08h,0E9h, 6Fh, 49h, 00h 31E4:5DFF DF 0F 00 00 00 FF db 0DFh, 0Fh, 00h, 00h, 00h,0FFh 31E4:5E05 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 31E4:5E0B 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:5E11 00 00 00 00 00 FF db 00h, 00h, 00h, 00h, 00h,0FFh 31E4:5E17 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 31E4:5E1D 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:5E23 00 00 00 00 00 FF db 00h, 00h, 00h, 00h, 00h,0FFh 31E4:5E29 FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 31E4:5E2F 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:5E35 00 00 00 00 00 FF db 00h, 00h, 00h, 00h, 00h,0FFh 31E4:5E3B FF 00 00 00 00 00 db 0FFh, 00h, 00h, 00h, 00h, 00h 31E4:5E41 00 00 FF db 00h, 00h,0FFh ;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 31E4:5E44 sub_274: 31E4:5E44 FF 00 inc word ptr [bx+si] 31E4:5E46 00 00 00 00 00 db 0, 0, 0, 0, 0 31E4:5E4B loc_2130: 31E4:5E4B 00 FF add bh,bh 31E4:5E4D FF 00 inc word ptr [bx+si] 31E4:5E4F 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5E55 FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:5E5B 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:5E61 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5E67 FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:5E6D 00 00 db 00h, 00h 31E4:5E6F loc_2131: 31E4:5E6F 00 FF add bh,bh 31E4:5E71 FF 00 inc word ptr [bx+si] 31E4:5E73 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5E79 FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:5E7F 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:5E85 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5E8B FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:5E91 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:5E97 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5E9D FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:5EA3 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:5EA9 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5EAF FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:5EB5 00 00 00 db 00h, 00h, 00h 31E4:5EB8 07 hotspot_table_5 db 7 ; xref 273F:1CA1, 273F:1CEE 31E4:5EB9 7E 8B 40 AC 00 00 db 7Eh, 8Bh, 40h,0ACh, 00h, 00h 31E4:5EBF 00 01 B0 81 8B 40 db 00h, 01h,0B0h, 81h, 8Bh, 40h 31E4:5EC5 AC 00 00 00 01 DB db 0ACh, 00h, 00h, 00h, 01h,0DBh 31E4:5ECB 81 8B 40 AC 00 00 db 81h, 8Bh, 40h,0ACh, 00h, 00h 31E4:5ED1 00 01 db 00h, 01h 31E4:5ED3 0009[00] db 9 dup (0) 31E4:5EDC EA 6A CD 40 5C 01 db 0EAh, 6Ah,0CDh, 40h, 5Ch, 01h 31E4:5EE2 00 00 01 FB 83 EE db 00h, 00h, 01h,0FBh, 83h,0EEh 31E4:5EE8 40 EF 00 00 00 01 db 40h,0EFh, 00h, 00h, 00h, 01h 31E4:5EEE C6 7E 00 00 00 00 db 0C6h, 7Eh, 00h, 00h, 00h, 00h 31E4:5EF4 00 00 00 D2 7F 8B db 00h, 00h, 00h,0D2h, 7Fh, 8Bh 31E4:5EFA 40 AC 00 00 00 01 db 40h,0ACh, 00h, 00h, 00h, 01h 31E4:5F00 05 80 8F 20 E1 00 db 05h, 80h, 8Fh, 20h,0E1h, 00h 31E4:5F06 00 00 01 37 80 48 db 00h, 00h, 01h, 37h, 80h, 48h 31E4:5F0C 00 E0 00 00 00 01 db 00h,0E0h, 00h, 00h, 00h, 01h 31E4:5F12 81 80 92 20 DA 00 db 81h, 80h, 92h, 20h,0DAh, 00h 31E4:5F18 00 00 01 00 db 00h, 00h, 01h, 00h 31E4:5F1C 001A[00] db 26 dup (0) 31E4:5F36 A7 7F 00 00 00 00 db 0A7h, 7Fh, 00h, 00h, 00h, 00h 31E4:5F3C 00 00 00 7C 7F 35 db 00h, 00h, 00h, 7Ch, 7Fh, 35h 31E4:5F42 21 36 01 00 00 02 db 21h, 36h, 01h, 00h, 00h, 02h 31E4:5F48 F0 7E D3 40 23 01 db 0F0h, 7Eh,0D3h, 40h, 23h, 01h 31E4:5F4E 00 00 01 06 82 D3 db 00h, 00h, 01h, 06h, 82h,0D3h 31E4:5F54 40 D4 00 00 00 01 db 40h,0D4h, 00h, 00h, 00h, 01h 31E4:5F5A 31 82 00 00 00 00 db 31h, 82h, 00h, 00h, 00h, 00h 31E4:5F60 00 00 00 5C 82 D5 db 00h, 00h, 00h, 5Ch, 82h,0D5h 31E4:5F66 00 D9 00 00 00 01 db 00h,0D9h, 00h, 00h, 00h, 01h 31E4:5F6C 1F 7F 00 00 00 00 db 1Fh, 7Fh, 00h, 00h, 00h, 00h 31E4:5F72 00 00 00 49 7F db 00h, 00h, 00h, 49h, 7Fh 31E4:5F77 0007[00] db 7 dup (0) 31E4:5F7E 3A 7E 8B 40 AC 00 db 3Ah, 7Eh, 8Bh, 40h,0ACh, 00h 31E4:5F84 00 00 01 55 88 7A db 00h, 00h, 01h, 55h, 88h, 7Ah 31E4:5F8A 01 A6 08 00 00 02 db 01h,0A6h, 08h, 00h, 00h, 02h 31E4:5F90 D1 80 7A 01 8E 08 db 0D1h, 80h, 7Ah, 01h, 8Eh, 08h 31E4:5F96 00 00 02 05 8C 7A db 00h, 00h, 02h, 05h, 8Ch, 7Ah 31E4:5F9C 01 CD 08 00 00 02 db 01h,0CDh, 08h, 00h, 00h, 02h 31E4:5FA2 71 8D 7A 01 66 08 db 71h, 8Dh, 7Ah, 01h, 66h, 08h 31E4:5FA8 00 00 02 85 8E 00 db 00h, 00h, 02h, 85h, 8Eh, 00h 31E4:5FAE 00 00 00 00 00 02 db 00h, 00h, 00h, 00h, 00h, 02h 31E4:5FB4 70 7E 4E 48 4F 08 db 70h, 7Eh, 4Eh, 48h, 4Fh, 08h 31E4:5FBA 00 00 02 9B 7E 00 db 00h, 00h, 02h, 9Bh, 7Eh, 00h 31E4:5FC0 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:5FC6 B6 8D 49 00 7A 0C db 0B6h, 8Dh, 49h, 00h, 7Ah, 0Ch 31E4:5FCC 00 00 02 40 8E 49 db 00h, 00h, 02h, 40h, 8Eh, 49h 31E4:5FD2 00 8A 08 00 00 02 db 00h, 8Ah, 08h, 00h, 00h, 02h 31E4:5FD8 loc_2132: 31E4:5FD8 FB sti ; Enable interrupts 31E4:5FD9 8D 49 00 lea cx,[bx+di+0] ; Load effective addr 31E4:5FDC 7B 0C jnp loc_2133 ; Jump if not parity 31E4:5FDE 00 00 add [bx+si],al 31E4:5FE0 02 1E 7A81 add bl,ds:data_54e ; (0000:7A81=0D1h) 31E4:5FE4 01 A5 0008 add ds:data_4e[di],sp ; (0000:0008=30h) 31E4:5FE8 00 02 add [bp+si],al 31E4:5FEA loc_2133: ; xref 31E4:5FDC 31E4:5FEA 8C 82 090B mov [bp+si+90Bh],es 31E4:5FEE 0C 09 or al,9 31E4:5FF0 00 00 add [bx+si],al 31E4:5FF2 02 55 8C add dl,[di-74h] 31E4:5FF5 7A 01 jp loc_2134 ; Jump if parity=1 31E4:5FF7 54 push sp 31E4:5FF8 loc_2134: ; xref 31E4:5FF5 31E4:5FF8 09 00 or [bx+si],ax 31E4:5FFA 00 02 add [bp+si],al 31E4:5FFC E7 8C out 8Ch,ax ; port 8Ch ??I/O Non-standard 31E4:5FFE 96 xchg si,ax 31E4:5FFF 09 A6 000A or [bp+0Ah],sp 31E4:6003 00 02 add [bp+si],al 31E4:6005 2C 8D sub al,8Dh 31E4:6007 96 xchg si,ax 31E4:6008 09 A6 000A or [bp+0Ah],sp 31E4:600C 00 02 add [bp+si],al 31E4:600E C2 D482 retn 0D482h sub_272 endp 31E4:6011 29 06 0C 00 00 04 db 29h, 06h, 0Ch, 00h, 00h, 04h 31E4:6017 F8 82 D3 29 06 0C db 0F8h, 82h,0D3h, 29h, 06h, 0Ch 31E4:601D 00 00 04 2E 83 D4 db 00h, 00h, 04h, 2Eh, 83h,0D4h 31E4:6023 29 06 0C 00 00 04 db 29h, 06h, 0Ch, 00h, 00h, 04h 31E4:6029 64 83 D3 29 06 0C db 64h, 83h,0D3h, 29h, 06h, 0Ch 31E4:602F 00 00 04 9A 83 D4 db 00h, 00h, 04h, 9Ah, 83h,0D4h 31E4:6035 29 06 0C 00 00 04 db 29h, 06h, 0Ch, 00h, 00h, 04h 31E4:603B D0 83 D3 29 06 0C db 0D0h, 83h,0D3h, 29h, 06h, 0Ch 31E4:6041 00 00 04 B5 8E 0D db 00h, 00h, 04h,0B5h, 8Eh, 0Dh 31E4:6047 0A 93 0B 00 00 04 db 0Ah, 93h, 0Bh, 00h, 00h, 04h 31E4:604D 02 98 00 00 00 00 db 02h, 98h, 00h, 00h, 00h, 00h 31E4:6053 00 00 00 6B 81 7A db 00h, 00h, 00h, 6Bh, 81h, 7Ah 31E4:6059 01 83 0A 00 00 02 db 01h, 83h, 0Ah, 00h, 00h, 02h 31E4:605F 25 8F 49 00 DF 0F db 25h, 8Fh, 49h, 00h,0DFh, 0Fh 31E4:6065 00 00 08 6A 8F 49 db 00h, 00h, 08h, 6Ah, 8Fh, 49h 31E4:606B 00 DF 0F 00 00 08 db 00h,0DFh, 0Fh, 00h, 00h, 08h 31E4:6071 AF 8F 00 00 00 00 db 0AFh, 8Fh, 00h, 00h, 00h, 00h 31E4:6077 00 00 08 CB 95 E8 db 00h, 00h, 08h,0CBh, 95h,0E8h 31E4:607D 0F E9 0F 00 00 08 db 0Fh,0E9h, 0Fh, 00h, 00h, 08h 31E4:6083 F5 95 00 00 00 00 db 0F5h, 95h, 00h, 00h, 00h, 00h 31E4:6089 00 00 08 1F 96 00 db 00h, 00h, 08h, 1Fh, 96h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 453 31E4:608F 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 31E4:6095 54 96 EA 0F EB 0F db 54h, 96h,0EAh, 0Fh,0EBh, 0Fh 31E4:609B 00 00 08 D8 97 00 db 00h, 00h, 08h,0D8h, 97h, 00h 31E4:60A1 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 31E4:60A7 AD 96 db 0ADh, 96h 31E4:60A9 0007[00] db 7 dup (0) 31E4:60B0 D7 96 db 0D7h, 96h 31E4:60B2 0007[00] db 7 dup (0) 31E4:60B9 01 97 00 00 00 00 db 01h, 97h, 00h, 00h, 00h, 00h 31E4:60BF 00 00 00 A2 8C 7A db 00h, 00h, 00h,0A2h, 8Ch, 7Ah 31E4:60C5 01 0A 0C 00 00 02 db 01h, 0Ah, 0Ch, 00h, 00h, 02h 31E4:60CB DA 8F 00 00 00 00 db 0DAh, 8Fh, 00h, 00h, 00h, 00h 31E4:60D1 00 00 02 5A 97 db 00h, 00h, 02h, 5Ah, 97h 31E4:60D6 0007[00] db 7 dup (0) 31E4:60DD 84 97 00 00 00 00 db 84h, 97h, 00h, 00h, 00h, 00h 31E4:60E3 00 00 00 AE 97 00 db 00h, 00h, 00h,0AEh, 97h, 00h 31E4:60E9 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:60EF 05 90 00 00 00 00 db 05h, 90h, 00h, 00h, 00h, 00h 31E4:60F5 00 00 08 30 90 00 db 00h, 00h, 08h, 30h, 90h, 00h 31E4:60FB 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 31E4:6101 5B 90 00 00 00 00 db 5Bh, 90h, 00h, 00h, 00h, 00h 31E4:6107 00 00 08 86 90 00 db 00h, 00h, 08h, 86h, 90h, 00h 31E4:610D 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:6113 B1 90 00 00 00 00 db 0B1h, 90h, 00h, 00h, 00h, 00h 31E4:6119 00 00 00 DC 90 db 00h, 00h, 00h,0DCh, 90h 31E4:611E 0007[00] db 7 dup (0) 31E4:6125 07 91 db 07h, 91h 31E4:6127 0007[00] db 7 dup (0) 31E4:612E 32 91 00 00 00 00 db 32h, 91h, 00h, 00h, 00h, 00h 31E4:6134 00 00 00 5D 91 db 00h, 00h, 00h, 5Dh, 91h 31E4:6139 0007[00] db 7 dup (0) 31E4:6140 88 91 00 00 00 00 db 88h, 91h, 00h, 00h, 00h, 00h 31E4:6146 00 00 00 B3 91 00 db 00h, 00h, 00h,0B3h, 91h, 00h 31E4:614C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:6152 DE 91 db 0DEh, 91h 31E4:6154 0007[00] db 7 dup (0) 31E4:615B 09 92 00 00 00 00 db 09h, 92h, 00h, 00h, 00h, 00h 31E4:6161 00 00 00 34 92 db 00h, 00h, 00h, 34h, 92h 31E4:6166 0007[00] db 7 dup (0) 31E4:616D 5F 92 db 5Fh, 92h 31E4:616F 0007[00] db 7 dup (0) 31E4:6176 8A 92 00 00 00 00 db 8Ah, 92h, 00h, 00h, 00h, 00h 31E4:617C 00 00 00 61 93 db 00h, 00h, 00h, 61h, 93h 31E4:6181 0007[00] db 7 dup (0) 31E4:6188 B5 92 db 0B5h, 92h 31E4:618A 0007[00] db 7 dup (0) 31E4:6191 E0 92 db 0E0h, 92h 31E4:6193 0007[00] db 7 dup (0) 31E4:619A 0B 93 00 00 00 00 db 0Bh, 93h, 00h, 00h, 00h, 00h 31E4:61A0 00 00 00 36 93 00 db 00h, 00h, 00h, 36h, 93h, 00h 31E4:61A6 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:61AC 8C 93 00 00 00 00 db 8Ch, 93h, 00h, 00h, 00h, 00h 31E4:61B2 00 00 00 B7 93 00 db 00h, 00h, 00h,0B7h, 93h, 00h 31E4:61B8 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:61BE E2 93 db 0E2h, 93h 31E4:61C0 0007[00] db 7 dup (0) 31E4:61C7 0D 94 00 00 00 00 db 0Dh, 94h, 00h, 00h, 00h, 00h 31E4:61CD 00 00 00 38 94 db 00h, 00h, 00h, 38h, 94h 31E4:61D2 0007[00] db 7 dup (0) 31E4:61D9 63 94 db 63h, 94h 31E4:61DB 0007[00] db 7 dup (0) 31E4:61E2 8E 94 00 00 00 00 db 8Eh, 94h, 00h, 00h, 00h, 00h 31E4:61E8 00 00 00 B9 94 A7 db 00h, 00h, 00h,0B9h, 94h,0A7h 31E4:61EE 0C A8 0C 00 00 00 db 0Ch,0A8h, 0Ch, 00h, 00h, 00h 31E4:61F4 EC 94 A9 0C AA 0C db 0ECh, 94h,0A9h, 0Ch,0AAh, 0Ch 31E4:61FA 00 00 02 17 95 db 00h, 00h, 02h, 17h, 95h 31E4:61FF 0007[00] db 7 dup (0) 31E4:6206 42 95 db 42h, 95h 31E4:6208 0007[00] db 7 dup (0) 31E4:620F 6D 95 db 6Dh, 95h 31E4:6211 0010[00] db 16 dup (0) 31E4:6221 98 95 db 98h, 95h 31E4:6223 0007[00] db 7 dup (0) 31E4:622A FA 8E 00 00 00 00 db 0FAh, 8Eh, 00h, 00h, 00h, 00h 31E4:6230 00 00 00 D4 db 00h, 00h, 00h,0D4h 31E4:6234 6A db 6Ah 31E4:6235 0007[00] db 7 dup (0) 31E4:623C FF FF db 0FFh,0FFh 31E4:623E 39 hotspot_table_3 db 39h 31E4:623F 84 6C 40 E7 00 DC db 84h, 6Ch, 40h,0E7h, 00h,0DCh 31E4:6245 00 0F 38 87 6D 20 db 00h, 0Fh, 38h, 87h, 6Dh, 20h 31E4:624B AD 00 00 00 01 70 db 0ADh, 00h, 00h, 00h, 01h, 70h 31E4:6251 87 6D 20 E5 00 00 db 87h, 6Dh, 20h,0E5h, 00h, 00h 31E4:6257 00 01 6E 84 90 40 db 00h, 01h, 6Eh, 84h, 90h, 40h 31E4:625D E4 00 DD 00 0F AE db 0E4h, 00h,0DDh, 00h, 0Fh,0AEh 31E4:6263 87 91 20 DB 00 00 db 87h, 91h, 20h,0DBh, 00h, 00h 31E4:6269 00 01 E6 87 DD 47 db 00h, 01h,0E6h, 87h,0DDh, 47h 31E4:626F 7B 08 00 00 02 1B db 7Bh, 08h, 00h, 00h, 02h, 1Bh 31E4:6275 88 DD 47 7B 08 00 db 88h,0DDh, 47h, 7Bh, 08h, 00h 31E4:627B 00 02 AE 88 DD 47 db 00h, 02h,0AEh, 88h,0DDh, 47h 31E4:6281 31 08 00 00 02 D8 db 31h, 08h, 00h, 00h, 02h,0D8h 31E4:6287 88 DD 47 7B 08 00 db 88h,0DDh, 47h, 7Bh, 08h, 00h 31E4:628D 00 02 10 89 DD 47 db 00h, 02h, 10h, 89h,0DDh, 47h 31E4:6293 7B 08 00 00 02 69 db 7Bh, 08h, 00h, 00h, 02h, 69h 31E4:6299 8A DD 47 7B 08 00 db 8Ah,0DDh, 47h, 7Bh, 08h, 00h 31E4:629F 00 02 98 84 49 41 db 00h, 02h, 98h, 84h, 49h, 41h 31E4:62A5 5B 01 00 00 0F D9 db 5Bh, 01h, 00h, 00h, 0Fh,0D9h 31E4:62AB 86 80 41 81 01 00 db 86h, 80h, 41h, 81h, 01h, 00h 31E4:62B1 00 0F 0E 87 7D 41 db 00h, 0Fh, 0Eh, 87h, 7Dh, 41h 31E4:62B7 62 01 00 00 0F A4 db 62h, 01h, 00h, 00h, 0Fh,0A4h 31E4:62BD 8A DD 47 05 0C 00 db 8Ah,0DDh, 47h, 05h, 0Ch, 00h 31E4:62C3 00 02 4B 89 DD 47 db 00h, 02h, 4Bh, 89h,0DDh, 47h 31E4:62C9 7B 08 00 00 02 75 db 7Bh, 08h, 00h, 00h, 02h, 75h 31E4:62CF 89 DD 47 7B 08 00 db 89h,0DDh, 47h, 7Bh, 08h, 00h 31E4:62D5 00 02 B0 89 DD 47 db 00h, 02h,0B0h, 89h,0DDh, 47h 31E4:62DB 7B 08 00 00 02 DA db 7Bh, 08h, 00h, 00h, 02h,0DAh 31E4:62E1 89 DD 47 7B 08 00 db 89h,0DDh, 47h, 7Bh, 08h, 00h 31E4:62E7 00 02 C7 84 F3 48 db 00h, 02h,0C7h, 84h,0F3h, 48h 31E4:62ED F4 db 0F4h 31E4:62EE loc_2135: 31E4:62EE 08 00 or [bx+si],al 31E4:62F0 00 0F add [bx],cl 31E4:62F2 56 push si 31E4:62F3 86 7B 41 xchg [bp+di+41h],bh 31E4:62F6 7C 01 ;* jl loc_2136 ;*Jump if < 31E4:62F6 7C 01 db 7Ch, 01h 31E4:62F8 00 00 add [bx+si],al 31E4:62FA 0F ;* pop cs ; Dangerous-8088 only 31E4:62FA 0F db 0Fh 31E4:62FB 15 DD8A adc ax,0DD8Ah 31E4:62FE 47 inc di 31E4:62FF 7B 08 ;* jnp loc_2137 ;*Jump if not parity 31E4:62FF 7B 08 db 7Bh, 08h 31E4:6301 00 00 add [bx+si],al 31E4:6303 02 3F add bh,[bx] 31E4:6305 8A DD mov bl,ch 31E4:6307 47 inc di 31E4:6308 7B 08 jnp loc_2138 ; Jump if not parity 31E4:630A 00 00 add [bx+si],al 31E4:630C 02 80 5086 add al,data_822[bx+si] ; (31E4:5086=5Ch) 31E4:6310 41 inc cx 31E4:6311 53 push bx 31E4:6312 loc_2138: ; xref 31E4:6308 31E4:6312 01 00 add [bx+si],ax 31E4:6314 00 0F add [bx],cl 31E4:6316 AF scasw ; Scan es:[di] for ax 31E4:6317 86 51 41 xchg [bx+di+41h],dl 31E4:631A 52 push dx 31E4:631B 01 00 add [bx+si],ax 31E4:631D 00 0F add [bx],cl 31E4:631F CE into ; Int 4 on overflow 31E4:6320 8A DD mov bl,ch 31E4:6322 47 inc di 31E4:6323 7B 08 jnp $+0Ah ; Jump if not parity 31E4:6325 00 00 add [bx+si],al 31E4:6327 04 09 add al,9 31E4:6329 8B DD mov bx,bp 31E4:632B 47 inc di 31E4:632C 07 pop es 31E4:632D 0C 00 or al,0 31E4:632F 00 04 add [si],al 31E4:6331 33 8B 47DD xor cx,[bp+di+47DDh] 31E4:6335 07 pop es 31E4:6336 0C 00 or al,0 31E4:6338 00 04 add [si],al 31E4:633A 5D pop bp 31E4:633B 8B DD mov bx,bp 31E4:633D 47 inc di 31E4:633E 07 pop es 31E4:633F 0C 00 or al,0 31E4:6341 00 04 add [si],al 31E4:6343 87 8B 47DD xchg [bp+di+47DDh],cx 31E4:6347 07 pop es 31E4:6348 0C 00 or al,0 31E4:634A 00 04 add [si],al 31E4:634C B1 8B mov cl,8Bh 31E4:634E DD 47 07 fld qword ptr [bx+7] ; Push onto stack 31E4:6351 0C 00 or al,0 31E4:6353 00 04 add [si],al 31E4:6355 DB 8B DD 47 07 0C db 0DBh, 8Bh,0DDh, 47h, 07h, 0Ch 31E4:635B 00 00 04 F1 84 5D db 00h, 00h, 04h,0F1h, 84h, 5Dh 31E4:6361 41 5E 01 00 00 0F db 41h, 5Eh, 01h, 00h, 00h, 0Fh 31E4:6367 1B 85 4E 4B 4D 0B db 1Bh, 85h, 4Eh, 4Bh, 4Dh, 0Bh 31E4:636D 00 00 0F 45 85 65 db 00h, 00h, 0Fh, 45h, 85h, 65h 31E4:6373 0B 66 0B 00 00 0F db 0Bh, 66h, 0Bh, 00h, 00h, 0Fh 31E4:6379 6F 85 67 0B 68 0B db 6Fh, 85h, 67h, 0Bh, 68h, 0Bh 31E4:637F 00 00 0F 99 85 7E db 00h, 00h, 0Fh, 99h, 85h, 7Eh 31E4:6385 41 7F 01 00 00 0F db 41h, 7Fh, 01h, 00h, 00h, 0Fh 31E4:638B C8 85 FE 2F 15 10 db 0C8h, 85h,0FEh, 2Fh, 15h, 10h 31E4:6391 14 10 0F F2 85 FF db 14h, 10h, 0Fh,0F2h, 85h,0FFh 31E4:6397 2F 00 10 00 00 08 db 2Fh, 00h, 10h, 00h, 00h, 08h 31E4:639D 27 86 6B 21 6C 01 db 27h, 86h, 6Bh, 21h, 6Ch, 01h 31E4:63A3 00 00 0F 1C 86 74 db 00h, 00h, 0Fh, 1Ch, 86h, 74h 31E4:63A9 81 75 01 00 00 0F db 81h, 75h, 01h, 00h, 00h, 0Fh 31E4:63AF FF FF db 0FFh,0FFh 31E4:63B1 A3 hotspot_table_4 db 0A3h 31E4:63B2 6C 86 40 9A 00 00 db 6Ch, 86h, 40h, 9Ah, 00h, 00h 31E4:63B8 00 01 6F 6C EA 40 db 00h, 01h, 6Fh, 6Ch,0EAh, 40h 31E4:63BE EB 00 00 00 01 89 db 0EBh, 00h, 00h, 00h, 01h, 89h 31E4:63C4 6C E8 40 E9 00 00 db 6Ch,0E8h, 40h,0E9h, 00h, 00h 31E4:63CA 00 01 65 6C 04 41 db 00h, 01h, 65h, 6Ch, 04h, 41h 31E4:63D0 05 01 00 00 01 56 db 05h, 01h, 00h, 00h, 01h, 56h 31E4:63D6 6C 06 21 07 01 00 db 6Ch, 06h, 21h, 07h, 01h, 00h 31E4:63DC 00 01 44 6C 1A 21 db 00h, 01h, 44h, 6Ch, 1Ah, 21h 31E4:63E2 1B 01 00 00 01 35 db 1Bh, 01h, 00h, 00h, 01h, 35h 31E4:63E8 6C 10 21 0D 01 00 db 6Ch, 10h, 21h, 0Dh, 01h, 00h 31E4:63EE 00 01 26 6C 0F 21 db 00h, 01h, 26h, 6Ch, 0Fh, 21h 31E4:63F4 0E 01 00 00 01 0D db 0Eh, 01h, 00h, 00h, 01h, 0Dh 31E4:63FA 6C 24 21 25 01 00 db 6Ch, 24h, 21h, 25h, 01h, 00h 31E4:6400 00 01 1C 6C 11 21 db 00h, 01h, 1Ch, 6Ch, 11h, 21h 31E4:6406 12 01 00 00 01 FB db 12h, 01h, 00h, 00h, 01h,0FBh 31E4:640C 6B 21 21 22 01 00 db 6Bh, 21h, 21h, 22h, 01h, 00h 31E4:6412 00 01 E9 6B EC 27 db 00h, 01h,0E9h, 6Bh,0ECh, 27h 31E4:6418 ED 07 00 00 02 D7 db 0EDh, 07h, 00h, 00h, 02h,0D7h 31E4:641E 6B 33 48 32 08 00 db 6Bh, 33h, 48h, 32h, 08h, 00h 31E4:6424 00 02 C4 6B EA 40 db 00h, 02h,0C4h, 6Bh,0EAh, 40h 31E4:642A 61 08 00 00 02 BA db 61h, 08h, 00h, 00h, 02h,0BAh 31E4:6430 6B 2F 08 2D 08 00 db 6Bh, 2Fh, 08h, 2Dh, 08h, 00h 31E4:6436 00 02 B0 6B 2F 08 db 00h, 02h,0B0h, 6Bh, 2Fh, 08h 31E4:643C 74 08 00 00 02 A6 db 74h, 08h, 00h, 00h, 02h,0A6h 31E4:6442 6B 71 48 7E 08 00 db 6Bh, 71h, 48h, 7Eh, 08h, 00h 31E4:6448 00 02 A6 6B 71 08 db 00h, 02h,0A6h, 6Bh, 71h, 08h 31E4:644E 7E 08 00 00 02 9C db 7Eh, 08h, 00h, 00h, 02h, 9Ch 31E4:6454 6B 7F 08 68 08 00 db 6Bh, 7Fh, 08h, 68h, 08h, 00h 31E4:645A 00 02 88 6B 7F 08 db 00h, 02h, 88h, 6Bh, 7Fh, 08h 31E4:6460 82 08 00 00 02 92 db 82h, 08h, 00h, 00h, 02h, 92h 31E4:6466 6B 83 08 6E 08 00 db 6Bh, 83h, 08h, 6Eh, 08h, 00h 31E4:646C 00 02 7E 6B 71 08 db 00h, 02h, 7Eh, 6Bh, 71h, 08h 31E4:6472 85 08 00 00 02 74 db 85h, 08h, 00h, 00h, 02h, 74h 31E4:6478 6B 83 08 87 08 00 db 6Bh, 83h, 08h, 87h, 08h, 00h 31E4:647E 00 02 6A 6B 83 08 db 00h, 02h, 6Ah, 6Bh, 83h, 08h 31E4:6484 89 08 00 00 02 60 db 89h, 08h, 00h, 00h, 02h, 60h 31E4:648A 6B 30 08 65 08 00 db 6Bh, 30h, 08h, 65h, 08h, 00h 31E4:6490 00 02 56 6B 30 08 db 00h, 02h, 56h, 6Bh, 30h, 08h 31E4:6496 2E 08 00 00 02 db 2Eh, 08h, 00h, 00h, 02h 31E4:649B 4C 6B db 4Ch, 6Bh 31E4:649D 0009[00] db 9 dup (0) 31E4:64A6 C8 09 C9 09 00 00 db 0C8h, 09h,0C9h, 09h, 00h, 00h 31E4:64AC 00 B4 6C 2F 08 FB db 00h,0B4h, 6Ch, 2Fh, 08h,0FBh 31E4:64B2 0B 00 00 02 14 6B db 0Bh, 00h, 00h, 02h, 14h, 6Bh 31E4:64B8 E0 4F E3 0F 00 00 db 0E0h, 4Fh,0E3h, 0Fh, 00h, 00h 31E4:64BE 08 3D 6B E1 0F E2 db 08h, 3Dh, 6Bh,0E1h, 0Fh,0E2h 31E4:64C4 0F 00 00 08 29 6B db 0Fh, 00h, 00h, 08h, 29h, 6Bh 31E4:64CA E1 0F E6 0F 00 00 db 0E1h, 0Fh,0E6h, 0Fh, 00h, 00h 31E4:64D0 08 29 6B E1 0F E6 db 08h, 29h, 6Bh,0E1h, 0Fh,0E6h 31E4:64D6 0F 00 00 08 29 6B db 0Fh, 00h, 00h, 08h, 29h, 6Bh 31E4:64DC E1 0F E6 0F 00 00 db 0E1h, 0Fh,0E6h, 0Fh, 00h, 00h 31E4:64E2 08 29 6B E1 0F E6 db 08h, 29h, 6Bh,0E1h, 0Fh,0E6h 31E4:64E8 0F 00 00 08 29 6B db 0Fh, 00h, 00h, 08h, 29h, 6Bh 31E4:64EE E1 0F E6 0F 00 00 db 0E1h, 0Fh,0E6h, 0Fh, 00h, 00h 31E4:64F4 08 33 6B E1 0F E6 db 08h, 33h, 6Bh,0E1h, 0Fh,0E6h 31E4:64FA 0F 00 00 08 33 6B db 0Fh, 00h, 00h, 08h, 33h, 6Bh 31E4:6500 E1 0F E6 0F 00 00 db 0E1h, 0Fh,0E6h, 0Fh, 00h, 00h 31E4:6506 08 33 6B E1 0F E6 db 08h, 33h, 6Bh,0E1h, 0Fh,0E6h 31E4:650C 0F 00 00 08 A4 6A db 0Fh, 00h, 00h, 08h,0A4h, 6Ah 31E4:6512 DD 47 7B 08 00 00 db 0DDh, 47h, 7Bh, 08h, 00h, 00h 31E4:6518 01 C2 6A A7 0B A3 db 01h,0C2h, 6Ah,0A7h, 0Bh,0A3h 31E4:651E loc_2139: 31E4:651E 0B 00 or ax,[bx+si] 31E4:6520 00 02 add [bp+si],al 31E4:6522 C2 A76A retn 0A76Ah ;* No entry point to code 31E4:6525 0B A4 000B or sp,word ptr copyright+0Bh[si] ; (31E4:000B=7665h) 31E4:6529 00 02 add [bp+si],al 31E4:652B B8 A86A mov ax,0A86Ah 31E4:652E 0B A5 000B or sp,word ptr copyright+0Bh[di] ; (31E4:000B=7665h) 31E4:6532 00 02 add [bp+si],al 31E4:6534 B8 A86A mov ax,0A86Ah 31E4:6537 0B A6 000B or sp,[bp+0Bh] 31E4:653B 00 02 add [bp+si],al 31E4:653D AE scasb ; Scan es:[di] for al 31E4:653E 6A 83 08 FF 0B 00 db 6Ah, 83h, 08h,0FFh, 0Bh, 00h 31E4:6544 00 00 9A 6A DD 47 db 00h, 00h, 9Ah, 6Ah,0DDh, 47h 31E4:654A 7B 08 00 00 00 7F db 7Bh, 08h, 00h, 00h, 00h, 7Fh 31E4:6550 6A 85 40 AE 00 00 db 6Ah, 85h, 40h,0AEh, 00h, 00h 31E4:6556 00 01 70 6A 54 0C db 00h, 01h, 70h, 6Ah, 54h, 0Ch 31E4:655C 55 0C 00 00 02 5E db 55h, 0Ch, 00h, 00h, 02h, 5Eh 31E4:6562 6A 58 0C 79 0C 00 db 6Ah, 58h, 0Ch, 79h, 0Ch, 00h 31E4:6568 00 02 54 6A EE 40 db 00h, 02h, 54h, 6Ah,0EEh, 40h 31E4:656E 61 0C 00 00 02 54 db 61h, 0Ch, 00h, 00h, 02h, 54h 31E4:6574 6A 7D 0C 60 0C 00 db 6Ah, 7Dh, 0Ch, 60h, 0Ch, 00h 31E4:657A 00 02 54 6A 7E 0C db 00h, 02h, 54h, 6Ah, 7Eh, 0Ch 31E4:6580 5F 0C 00 00 02 54 db 5Fh, 0Ch, 00h, 00h, 02h, 54h 31E4:6586 6A 7F 0C 5E 0C 00 db 6Ah, 7Fh, 0Ch, 5Eh, 0Ch, 00h 31E4:658C 00 02 54 6A 80 0C db 00h, 02h, 54h, 6Ah, 80h, 0Ch 31E4:6592 5C 0C 00 00 02 45 db 5Ch, 0Ch, 00h, 00h, 02h, 45h 31E4:6598 6A FC 0F FD 0F 00 db 6Ah,0FCh, 0Fh,0FDh, 0Fh, 00h 31E4:659E 00 08 3B 6A 02 30 db 00h, 08h, 3Bh, 6Ah, 02h, 30h 31E4:65A4 03 10 00 00 08 31 db 03h, 10h, 00h, 00h, 08h, 31h 31E4:65AA 6A 04 30 05 10 00 db 6Ah, 04h, 30h, 05h, 10h, 00h 31E4:65B0 00 08 27 6A 90 20 db 00h, 08h, 27h, 6Ah, 90h, 20h 31E4:65B6 06 10 00 00 08 27 db 06h, 10h, 00h, 00h, 08h, 27h 31E4:65BC 6A 07 10 08 10 00 db 6Ah, 07h, 10h, 08h, 10h, 00h 31E4:65C2 00 08 27 6A 09 10 db 00h, 08h, 27h, 6Ah, 09h, 10h 31E4:65C8 0A 10 00 00 08 27 db 0Ah, 10h, 00h, 00h, 08h, 27h 31E4:65CE 6A 0B 10 0C 10 00 db 6Ah, 0Bh, 10h, 0Ch, 10h, 00h 31E4:65D4 00 08 27 6A 0D 10 db 00h, 08h, 27h, 6Ah, 0Dh, 10h 31E4:65DA 0E 10 00 00 02 13 db 0Eh, 10h, 00h, 00h, 02h, 13h 31E4:65E0 6A 19 10 1A 10 00 db 6Ah, 19h, 10h, 1Ah, 10h, 00h 31E4:65E6 00 08 1D 6A F3 08 db 00h, 08h, 1Dh, 6Ah,0F3h, 08h 31E4:65EC B8 0C 00 00 02 FF db 0B8h, 0Ch, 00h, 00h, 02h,0FFh 31E4:65F2 FF db 0FFh player_action_support_record: 31E4:65F3 03E0[00] db 992 dup (0) 31E4:69D3 20 00 db 20h, 00h 31E4:69D5 0042[00] db 66 dup (0) 31E4:6A17 57 6D 2D 00 00 00 db 57h, 6Dh, 2Dh, 00h, 00h, 00h 31E4:6A1D 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6A23 24 00 00 00 00 00 db 24h, 00h, 00h, 00h, 00h, 00h 31E4:6A29 00 00 57 6D 2B 00 db 00h, 00h, 57h, 6Dh, 2Bh, 00h 31E4:6A2F 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:6A35 57 6D 2B 00 00 00 db 57h, 6Dh, 2Bh, 00h, 00h, 00h 31E4:6A3B 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6A41 2B 00 00 00 00 00 db 2Bh, 00h, 00h, 00h, 00h, 00h 31E4:6A47 00 00 4F 6A 2B 00 db 00h, 00h, 4Fh, 6Ah, 2Bh, 00h 31E4:6A4D 00 00 01 00 10 BD db 00h, 00h, 01h, 00h, 10h,0BDh 31E4:6A53 12 00 00 00 00 57 db 12h, 00h, 00h, 00h, 00h, 57h 31E4:6A59 6D 22 00 00 00 00 db 6Dh, 22h, 00h, 00h, 00h, 00h 31E4:6A5F 00 00 00 57 6D 09 db 00h, 00h, 00h, 57h, 6Dh, 09h 31E4:6A65 00 00 00 02 00 01 db 00h, 00h, 00h, 02h, 00h, 01h 31E4:6A6B 0B 80 10 2F 0E 01 db 0Bh, 80h, 10h, 2Fh, 0Eh, 01h 31E4:6A71 02 00 00 68 6A 1E db 02h, 00h, 00h, 68h, 6Ah, 1Eh 31E4:6A77 00 01 00 01 00 11 db 00h, 01h, 00h, 01h, 00h, 11h 31E4:6A7D 1F 02 00 00 01 00 db 1Fh, 02h, 00h, 00h, 01h, 00h 31E4:6A83 7A 6A 01 00 03 00 db 7Ah, 6Ah, 01h, 00h, 03h, 00h 31E4:6A89 05 00 01 10 80 06 db 05h, 00h, 01h, 10h, 80h, 06h 31E4:6A8F 06 80 07 07 00 08 db 06h, 80h, 07h, 07h, 00h, 08h 31E4:6A95 36 09 09 36 09 E1 db 36h, 09h, 09h, 36h, 09h,0E1h 31E4:6A9B 03 00 00 89 6A 0C db 03h, 00h, 00h, 89h, 6Ah, 0Ch 31E4:6AA1 00 00 00 E0 01 00 db 00h, 00h, 00h,0E0h, 01h, 00h 31E4:6AA7 00 89 6A 04 db 00h, 89h, 6Ah, 04h 31E4:6AAB 0007[00] db 7 dup (0) 31E4:6AB2 57 6D 0C 00 00 00 db 57h, 6Dh, 0Ch, 00h, 00h, 00h 31E4:6AB8 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6ABE 23 00 00 00 00 00 db 23h, 00h, 00h, 00h, 00h, 00h 31E4:6AC4 00 00 57 6D 13 00 db 00h, 00h, 57h, 6Dh, 13h, 00h 31E4:6ACA 00 00 02 00 0A 66 db 00h, 00h, 02h, 00h, 0Ah, 66h 31E4:6AD0 12 01 0B 80 db 12h, 01h, 0Bh, 80h ; Hotspot entry 46Bh contains a loading routine offset for the copy protection check 31E4:6AD4 39 41 00 00 CC 6A db 39h, 41h, 00h, 00h, 0cch, 6ah 31E4:6ADA FF FF 00 db 0FFh,0FFh, 00h 31E4:6ADD 3AFE dw offset copy_protection_check 31E4:6ADF 00 00 64 db 00h, 00h, 64h 31E4:6AE2 00 64 00 10 00 01 db 00h, 64h, 00h, 10h, 00h, 01h 31E4:6AE8 00 03 01 02 00 40 db 00h, 03h, 01h, 02h, 00h, 40h 31E4:6AEE CC 6A 02 00 00 72 db 0CCh, 6Ah, 02h, 00h, 00h, 72h 31E4:6AF4 71 00 00 64 00 64 db 71h, 00h, 00h, 64h, 00h, 64h 31E4:6AFA 00 10 00 01 00 03 db 00h, 10h, 00h, 01h, 00h, 03h 31E4:6B00 00 BD 41 02 00 02 db 00h,0BDh, 41h, 02h, 00h, 02h 31E4:6B06 00 02 00 00 00 A9 db 00h, 02h, 00h, 00h, 00h,0A9h 31E4:6B0C 58 00 00 00 00 00 db 58h, 00h, 00h, 00h, 00h, 00h 31E4:6B12 00 00 09 02 00 40 db 00h, 00h, 09h, 02h, 00h, 40h 31E4:6B18 1E 6B 2A 00 02 00 db 1Eh, 6Bh, 2Ah, 00h, 02h, 00h 31E4:6B1E 03 00 0A 50 04 04 db 03h, 00h, 0Ah, 50h, 04h, 04h 31E4:6B24 30 04 01 30 04 00 db 30h, 04h, 01h, 30h, 04h, 00h 31E4:6B2A 00 00 00 57 6D 2A db 00h, 00h, 00h, 57h, 6Dh, 2Ah 31E4:6B30 00 02 00 00 00 00 db 00h, 02h, 00h, 00h, 00h, 00h 31E4:6B36 00 57 6D 2A 00 03 db 00h, 57h, 6Dh, 2Ah, 00h, 03h 31E4:6B3C 00 00 00 00 00 47 db 00h, 00h, 00h, 00h, 00h, 47h 31E4:6B42 6B 2A 00 02 00 01 db 6Bh, 2Ah, 00h, 02h, 00h, 01h 31E4:6B48 00 10 B6 12 00 00 db 00h, 10h,0B6h, 12h, 00h, 00h 31E4:6B4E 00 00 57 6D 22 00 db 00h, 00h, 57h, 6Dh, 22h, 00h 31E4:6B54 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 31E4:6B5A 57 6D 0A 00 03 00 db 57h, 6Dh, 0Ah, 00h, 03h, 00h 31E4:6B60 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6B66 0C 00 00 00 00 00 db 0Ch, 00h, 00h, 00h, 00h, 00h 31E4:6B6C 00 00 57 6D 1D 00 db 00h, 00h, 57h, 6Dh, 1Dh, 00h 31E4:6B72 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:6B78 57 6D 1C 00 00 00 db 57h, 6Dh, 1Ch, 00h, 00h, 00h 31E4:6B7E 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6B84 14 00 00 00 00 00 db 14h, 00h, 00h, 00h, 00h, 00h 31E4:6B8A 00 00 57 6D 11 00 db 00h, 00h, 57h, 6Dh, 11h, 00h 31E4:6B90 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:6B96 57 6D 11 00 00 00 db 57h, 6Dh, 11h, 00h, 00h, 00h 31E4:6B9C 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6BA2 0E db 0Eh 31E4:6BA3 0007[00] db 7 dup (0) 31E4:6BAA 57 6D 09 00 00 00 db 57h, 6Dh, 09h, 00h, 00h, 00h 31E4:6BB0 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:6BB6 13 00 00 00 00 00 db 13h, 00h, 00h, 00h, 00h, 00h 31E4:6BBC 00 00 57 6D 0A 00 db 00h, 00h, 57h, 6Dh, 0Ah, 00h 31E4:6BC2 00 00 00 02 00 50 db 00h, 00h, 00h, 02h, 00h, 50h 31E4:6BC8 CE 6B 1E 00 01 00 db 0CEh, 6Bh, 1Eh, 00h, 01h, 00h 31E4:6BCE 02 00 0A 4F 0B 01 db 02h, 00h, 0Ah, 4Fh, 0Bh, 01h 31E4:6BD4 00 0B 80 01 02 00 db 00h, 0Bh, 80h, 01h, 02h, 00h 31E4:6BDA 40 E1 6B 13 00 00 db 40h,0E1h, 6Bh, 13h, 00h, 00h 31E4:6BE0 00 02 00 0A 81 09 db 00h, 02h, 00h, 0Ah, 81h, 09h 31E4:6BE6 01 0B 80 01 02 00 db 01h, 0Bh, 80h, 01h, 02h, 00h 31E4:6BEC 00 F3 6B 1C 00 01 db 00h,0F3h, 6Bh, 1Ch, 00h, 01h 31E4:6BF2 00 02 00 01 50 0D db 00h, 02h, 00h, 01h, 50h, 0Dh 31E4:6BF8 05 FB 08 10 00 00 db 05h,0FBh, 08h, 10h, 00h, 00h 31E4:6BFE 00 05 db 00h, 05h 31E4:6C00 6C data_891 db 6Ch 31E4:6C01 04 00 03 00 02 00 db 04h, 00h, 03h, 00h, 02h, 00h 31E4:6C07 01 12 80 05 21 80 db 01h, 12h, 80h, 05h, 21h, 80h 31E4:6C0D 01 02 00 00 17 6C db 01h, 02h, 00h, 00h, 17h, 6Ch 31E4:6C13 01 00 00 00 01 00 db 01h, 00h, 00h, 00h, 01h, 00h 31E4:6C19 01 1F 80 00 00 00 db 01h, 1Fh, 80h, 00h, 00h, 00h 31E4:6C1F 00 57 6D 03 00 01 db 00h, 57h, 6Dh, 03h, 00h, 01h 31E4:6C25 00 00 00 00 00 30 db 00h, 00h, 00h, 00h, 00h, 30h 31E4:6C2B 6C 03 00 00 00 01 db 6Ch, 03h, 00h, 00h, 00h, 01h 31E4:6C31 00 01 19 80 00 00 db 00h, 01h, 19h, 80h, 00h, 00h 31E4:6C37 00 00 3F 6C 03 00 db 00h, 00h, 3Fh, 6Ch, 03h, 00h 31E4:6C3D 03 00 01 00 01 19 db 03h, 00h, 01h, 00h, 01h, 19h 31E4:6C43 80 01 02 00 00 4E db 80h, 01h, 02h, 00h, 00h, 4Eh 31E4:6C49 6C 04 00 01 00 02 db 6Ch, 04h, 00h, 01h, 00h, 02h 31E4:6C4F 00 0A AD 07 01 0B db 00h, 0Ah,0ADh, 07h, 01h, 0Bh 31E4:6C55 80 00 00 00 00 60 db 80h, 00h, 00h, 00h, 00h, 60h 31E4:6C5B 6C 03 00 00 00 01 db 6Ch, 03h, 00h, 00h, 00h, 01h 31E4:6C61 00 01 12 80 00 00 db 00h, 01h, 12h, 80h, 00h, 00h 31E4:6C67 00 00 4E 6C 02 00 db 00h, 00h, 4Eh, 6Ch, 02h, 00h 31E4:6C6D 00 00 70 02 00 40 db 00h, 00h, 70h, 02h, 00h, 40h 31E4:6C73 78 6C 03 00 00 05 db 78h, 6Ch, 03h, 00h, 00h, 05h 31E4:6C79 00 06 41 2C 05 41 db 00h, 06h, 41h, 2Ch, 05h, 41h 31E4:6C7F 2C 07 03 80 0A F8 db 2Ch, 07h, 03h, 80h, 0Ah,0F8h 31E4:6C85 07 01 0B 80 2D 02 db 07h, 01h, 0Bh, 80h, 2Dh, 02h 31E4:6C8B 00 00 92 6C 03 00 db 00h, 00h, 92h, 6Ch, 03h, 00h 31E4:6C91 00 05 00 01 10 80 db 00h, 05h, 00h, 01h, 10h, 80h 31E4:6C97 04 13 80 03 13 80 db 04h, 13h, 80h, 03h, 13h, 80h 31E4:6C9D 06 14 80 10 AF 12 db 06h, 14h, 80h, 10h,0AFh, 12h 31E4:6CA3 00 00 01 00 AC 6C db 00h, 00h, 01h, 00h,0ACh, 6Ch 31E4:6CA9 03 00 00 02 00 01 db 03h, 00h, 00h, 02h, 00h, 01h 31E4:6CAF 0B 80 11 21 05 00 db 0Bh, 80h, 11h, 21h, 05h, 00h 31E4:6CB5 00 01 00 BD 6C 13 db 00h, 01h, 00h,0BDh, 6Ch, 13h 31E4:6CBB 00 00 01 00 11 3C db 00h, 00h, 01h, 00h, 11h, 3Ch 31E4:6CC1 02 40 04 db 02h, 40h, 04h 31E4:6CC4 0020[00] db 32 dup (0) 31E4:6CE4 0001 data_893 dw 1 31E4:6CE6 0009[00] db 9 dup (0) ; This is the hotspot resource that represents the player character, and is returned ; when a call to get_room_resource_pointer is done with id = 3e8h 31E4:6CEF 00 player_hotspot_rec db 0 31E4:6CF0 00 00 40 57 6D db 00h, 00h, 40h, 57h, 6Dh 31E4:6CF5 0001 player_room_number dw 1 31E4:6CF7 00 67 71 db 00h, 67h, 71h 31E4:6CFA 0000 data_897 dw 0 31E4:6CFC 0110 data_898 dw 110h 31E4:6CFE 00FA data_899 dw 0FAh 31E4:6D00 20 00 30 00 01 01 db 20h, 00h, 30h, 00h, 01h, 01h 31E4:6D06 5E44 player_tick_handler dw offset player_tick_proc 31E4:6D08 20 00 30 00 08 00 db 20h, 00h, 30h, 00h, 08h, 00h 31E4:6D0E 00 00 80 5C 80 00 db 00h, 00h, 80h, 5Ch, 80h, 00h 31E4:6D14 0010[00] db 16 dup (0) 31E4:6D24 F8 04 00 db 0F8h, 04h, 00h 31E4:6D27 0022[00] db 34 dup (0) .... 31E4:6D31 0000 dw 0 31E4:6D33 00 db 0 .... 31E4:6D49 73 66 db 73h, 66h 31E4:6D4B 0007[00] db 7 dup (0) 31E4:6D52 00 player_action_state db 0 31E4:6D53 F3 65 00 00 00 00 db 0F3h, 65h, 00h, 00h, 00h, 00h 31E4:6D59 04 00 0B 88 17 12 db 04h, 00h, 0Bh, 88h, 17h, 12h 31E4:6D5F 8C 1B 0D B0 1C 0C db 8Ch, 1Bh, 0Dh,0B0h, 1Ch, 0Ch 31E4:6D65 43 15 db 43h, 15h 31E4:6D67 00 0C 82 00 skorl_hotspot_rec db 00h, 0Ch, 82h, 00h 31E4:6D6B 59 6D 03 00 00 67 db 59h, 6Dh, 03h, 00h, 00h, 67h 31E4:6D71 71 00 00 32 01 E8 db 71h, 00h, 00h, 32h, 01h,0E8h 31E4:6D77 00 20 00 30 00 01 db 00h, 20h, 00h, 30h, 00h, 01h 31E4:6D7D 01 FA 7E 20 00 30 db 01h,0FAh, 7Eh, 20h, 00h, 30h 31E4:6D83 00 08 00 00 00 BF db 00h, 08h, 00h, 00h, 00h,0BFh 31E4:6D89 5C 9E db 5Ch, 9Eh 31E4:6D8B 0009[00] db 9 dup (0) 31E4:6D94 C2 15 00 00 2C 01 db 0C2h, 15h, 00h, 00h, 2Ch, 01h 31E4:6D9A 00 00 00 04 00 db 00h, 00h, 00h, 04h, 00h 31E4:6D9F 000D[00] db 13 dup (0) 31E4:6DAC C2 14 00 db 0C2h, 14h, 00h 31E4:6DAF 0012[00] db 18 dup (0) 31E4:6DC1 F3 66 db 0F3h, 66h 31E4:6DC3 0007[00] db 7 dup (0) 31E4:6DCA 02 B7 35 03 db 02h,0B7h, 35h, 03h 31E4:6DCE 0010[00] db 16 dup (0) 31E4:6DDE 02 00 0B 88 17 12 db 02h, 00h, 0Bh, 88h, 17h, 12h 31E4:6DE4 8C 1B db 8Ch, 1Bh village_skorl_hotspot_rec: 31E4:6DE6 00 0C 82 00 db 00h, 0Ch, 82h, 00h 31E4:6DEA DE 6D 13 00 00 67 db 0DEh, 6Dh, 13h, 00h, 00h, 67h 31E4:6DF0 71 00 00 39 01 F3 db 71h, 00h, 00h, 39h, 01h,0F3h 31E4:6DF6 00 20 00 30 00 01 db 00h, 20h, 00h, 30h, 00h, 01h 31E4:6DFC 01 82 4F 20 00 30 db 01h, 82h, 4Fh, 20h, 00h, 30h 31E4:6E02 00 08 00 00 00 BF db 00h, 08h, 00h, 00h, 00h,0BFh 31E4:6E08 5C 9E db 5Ch, 9Eh 31E4:6E0A 0009[00] db 9 dup (0) 31E4:6E13 15 15 00 00 64 00 db 15h, 15h, 00h, 00h, 64h, 00h 31E4:6E19 00 00 00 04 28 00 db 00h, 00h, 00h, 04h, 28h, 00h 31E4:6E1F 00 00 00 50 0B db 00h, 00h, 00h, 50h, 0Bh 31E4:6E24 0007[00] db 7 dup (0) 31E4:6E2B D9 14 db 0D9h, 14h 31E4:6E2D 0013[00] db 19 dup (0) 31E4:6E40 33 69 00 00 00 00 db 33h, 69h, 00h, 00h, 00h, 00h 31E4:6E46 00 00 00 02 5D 6E db 00h, 00h, 00h, 02h, 5Dh, 6Eh 31E4:6E4C 13 00 db 13h, 00h 31E4:6E4E 000F[00] db 15 dup (0) 31E4:6E5D 1C 00 13 00 00 00 db 1Ch, 00h, 13h, 00h, 00h, 00h 31E4:6E63 23 00 D1 1D FB 6E db 23h, 00h,0D1h, 1Dh,0FBh, 6Eh 31E4:6E69 21 00 4C 75 1F 00 db 21h, 00h, 4Ch, 75h, 1Fh, 00h 31E4:6E6F 23 00 E2 1D FB 6E db 23h, 00h,0E2h, 1Dh,0FBh, 6Eh 31E4:6E75 1C 00 23 00 FB 6E db 1Ch, 00h, 23h, 00h,0FBh, 6Eh 31E4:6E7B 24 00 36 04 FB 6E db 24h, 00h, 36h, 04h,0FBh, 6Eh 31E4:6E81 23 00 E2 1D EF 6E db 23h, 00h,0E2h, 1Dh,0EFh, 6Eh 31E4:6E87 1E 00 B9 2A 25 00 db 1Eh, 00h,0B9h, 2Ah, 25h, 00h 31E4:6E8D 36 04 AF 0A 00 00 db 36h, 04h,0AFh, 0Ah, 00h, 00h 31E4:6E93 B0 0A 11 00 23 00 db 0B0h, 0Ah, 11h, 00h, 23h, 00h 31E4:6E99 E2 1D EF 6E 25 00 db 0E2h, 1Dh,0EFh, 6Eh, 25h, 00h 31E4:6E9F 36 04 B1 0A 11 00 db 36h, 04h,0B1h, 0Ah, 11h, 00h 31E4:6EA5 B2 0A 1E 00 23 00 db 0B2h, 0Ah, 1Eh, 00h, 23h, 00h 31E4:6EAB E2 1D EF 6E 25 00 db 0E2h, 1Dh,0EFh, 6Eh, 25h, 00h 31E4:6EB1 36 04 B3 0A 50 00 db 36h, 04h,0B3h, 0Ah, 50h, 00h 31E4:6EB7 B4 0A 0A 00 23 00 db 0B4h, 0Ah, 0Ah, 00h, 23h, 00h 31E4:6EBD E2 1D EF 6E 25 00 db 0E2h, 1Dh,0EFh, 6Eh, 25h, 00h 31E4:6EC3 36 04 B5 0A 00 00 db 36h, 04h,0B5h, 0Ah, 00h, 00h 31E4:6EC9 B6 0A 37 00 23 00 db 0B6h, 0Ah, 37h, 00h, 23h, 00h 31E4:6ECF E2 1D EF 6E 25 00 db 0E2h, 1Dh,0EFh, 6Eh, 25h, 00h 31E4:6ED5 36 04 B7 0A 14 00 db 36h, 04h,0B7h, 0Ah, 14h, 00h 31E4:6EDB B8 0A 32 00 1F 00 db 0B8h, 0Ah, 32h, 00h, 1Fh, 00h 31E4:6EE1 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:6EE7 28 00 BE 87 22 00 db 28h, 00h,0BEh, 87h, 22h, 00h 31E4:6EED FB 6E 25 00 36 04 db 0FBh, 6Eh, 25h, 00h, 36h, 04h 31E4:6EF3 AD 0A 00 00 AE 0A db 0ADh, 0Ah, 00h, 00h,0AEh, 0Ah 31E4:6EF9 00 00 1E 00 C0 2A db 00h, 00h, 1Eh, 00h,0C0h, 2Ah 31E4:6EFF 1C 00 12 00 00 00 db 1Ch, 00h, 12h, 00h, 00h, 00h 31E4:6F05 1C 00 16 00 00 00 db 1Ch, 00h, 16h, 00h, 00h, 00h 31E4:6F0B 1C 00 13 00 00 00 db 1Ch, 00h, 13h, 00h, 00h, 00h 31E4:6F11 23 00 7D 1E 2B 6F db 23h, 00h, 7Dh, 1Eh, 2Bh, 6Fh 31E4:6F17 1C 00 1E 00 00 00 db 1Ch, 00h, 1Eh, 00h, 00h, 00h 31E4:6F1D 1E 00 8A 1E 1C 00 db 1Eh, 00h, 8Ah, 1Eh, 1Ch, 00h 31E4:6F23 13 00 00 00 07 00 db 13h, 00h, 00h, 00h, 07h, 00h 31E4:6F29 17 27 1C 00 14 00 db 17h, 27h, 1Ch, 00h, 14h, 00h 31E4:6F2F 00 00 1C 00 1B 00 db 00h, 00h, 1Ch, 00h, 1Bh, 00h 31E4:6F35 00 00 1C 00 09 00 db 00h, 00h, 1Ch, 00h, 09h, 00h 31E4:6F3B 00 00 20 00 1C 00 db 00h, 00h, 20h, 00h, 1Ch, 00h 31E4:6F41 20 00 C3 6F 24 00 db 20h, 00h,0C3h, 6Fh, 24h, 00h 31E4:6F47 29 04 C3 6F 1E 00 db 29h, 04h,0C3h, 6Fh, 1Eh, 00h 31E4:6F4D F4 1E 25 00 29 04 db 0F4h, 1Eh, 25h, 00h, 29h, 04h 31E4:6F53 F2 0A 00 00 AB 0C db 0F2h, 0Ah, 00h, 00h,0ABh, 0Ch 31E4:6F59 00 00 25 00 29 04 db 00h, 00h, 25h, 00h, 29h, 04h 31E4:6F5F F4 0A 00 00 F5 0A db 0F4h, 0Ah, 00h, 00h,0F5h, 0Ah 31E4:6F65 00 00 25 00 29 04 db 00h, 00h, 25h, 00h, 29h, 04h 31E4:6F6B F6 0A 00 00 00 00 db 0F6h, 0Ah, 00h, 00h, 00h, 00h 31E4:6F71 00 00 22 00 C3 6F db 00h, 00h, 22h, 00h,0C3h, 6Fh 31E4:6F77 25 00 29 04 CB 0B db 25h, 00h, 29h, 04h,0CBh, 0Bh 31E4:6F7D 00 00 CC 0B 00 00 db 00h, 00h,0CCh, 0Bh, 00h, 00h 31E4:6F83 25 00 29 04 CD 0B db 25h, 00h, 29h, 04h,0CDh, 0Bh 31E4:6F89 00 00 CE 0B 00 00 db 00h, 00h,0CEh, 0Bh, 00h, 00h 31E4:6F8F 25 00 29 04 CF 0B db 25h, 00h, 29h, 04h,0CFh, 0Bh 31E4:6F95 00 00 D0 0B 00 00 db 00h, 00h,0D0h, 0Bh, 00h, 00h 31E4:6F9B 22 00 C3 6F 25 00 db 22h, 00h,0C3h, 6Fh, 25h, 00h 31E4:6FA1 29 04 D1 0B 00 00 db 29h, 04h,0D1h, 0Bh, 00h, 00h 31E4:6FA7 D2 0B 00 00 25 00 db 0D2h, 0Bh, 00h, 00h, 25h, 00h 31E4:6FAD 29 04 D3 0B 00 00 db 29h, 04h,0D3h, 0Bh, 00h, 00h 31E4:6FB3 D4 0B 00 00 25 00 db 0D4h, 0Bh, 00h, 00h, 25h, 00h 31E4:6FB9 29 04 D5 0B 00 00 db 29h, 04h,0D5h, 0Bh, 00h, 00h 31E4:6FBF 00 00 00 00 1C 00 db 00h, 00h, 00h, 00h, 1Ch, 00h 31E4:6FC5 13 00 00 00 21 00 db 13h, 00h, 00h, 00h, 21h, 00h 31E4:6FCB 17 27 23 00 E4 1E db 17h, 27h, 23h, 00h,0E4h, 1Eh 31E4:6FD1 17 6F 1C 00 0E 00 db 17h, 6Fh, 1Ch, 00h, 0Eh, 00h 31E4:6FD7 00 00 1C 00 0A 00 db 00h, 00h, 1Ch, 00h, 0Ah, 00h 31E4:6FDD 00 00 1C 00 0C 00 db 00h, 00h, 1Ch, 00h, 0Ch, 00h 31E4:6FE3 00 00 22 00 5D 6E db 00h, 00h, 22h, 00h, 5Dh, 6Eh 31E4:6FE9 00 0C 82 00 db 00h, 0Ch, 82h, 00h 31E4:6FED 59 6D db 59h, 6Dh 31E4:6FEF 0063 data_914 dw 63h 31E4:6FF1 00 67 71 00 00 71 db 00h, 67h, 71h, 00h, 00h, 71h 31E4:6FF7 01 18 01 20 00 30 db 01h, 18h, 01h, 20h, 00h, 30h 31E4:6FFD 00 01 01 02 7F 20 db 00h, 01h, 01h, 02h, 7Fh, 20h 31E4:7003 00 30 00 08 00 00 db 00h, 30h, 00h, 08h, 00h, 00h 31E4:7009 00 BF 5C 9E db 00h,0BFh, 5Ch, 9Eh 31E4:700D 0009[00] db 9 dup (0) 31E4:7016 02 16 00 00 64 00 db 02h, 16h, 00h, 00h, 64h, 00h 31E4:701C 00 00 00 04 db 00h, 00h, 00h, 04h 31E4:7020 000E[00] db 14 dup (0) 31E4:702E AB 14 00 db 0ABh, 14h, 00h 31E4:7031 0012[00] db 18 dup (0) 31E4:7043 33 69 00 00 00 00 db 33h, 69h, 00h, 00h, 00h, 00h 31E4:7049 00 00 00 02 db 00h, 00h, 00h, 02h 31E4:704D 60 70 2D db 60h, 70h, 2Dh 31E4:7050 0010[00] db 16 dup (0) 31E4:7060 28 00 1C 88 21 00 db 28h, 00h, 1Ch, 88h, 21h, 00h 31E4:7066 E8 03 21 00 E8 03 db 0E8h, 03h, 21h, 00h,0E8h, 03h 31E4:706C 1C 00 2C 00 00 00 db 1Ch, 00h, 2Ch, 00h, 00h, 00h 31E4:7072 21 00 E8 03 21 00 db 21h, 00h,0E8h, 03h, 21h, 00h 31E4:7078 E8 03 1C 00 2B 00 db 0E8h, 03h, 1Ch, 00h, 2Bh, 00h 31E4:707E 00 00 21 00 E8 03 db 00h, 00h, 21h, 00h,0E8h, 03h 31E4:7084 21 00 E8 03 1C 00 db 21h, 00h,0E8h, 03h, 1Ch, 00h 31E4:708A 2A 00 00 00 21 00 db 2Ah, 00h, 00h, 00h, 21h, 00h 31E4:7090 E8 03 21 00 4E 75 db 0E8h, 03h, 21h, 00h, 4Eh, 75h 31E4:7096 1E 00 49 1E 21 00 db 1Eh, 00h, 49h, 1Eh, 21h, 00h 31E4:709C E8 03 1E 00 42 1E db 0E8h, 03h, 1Eh, 00h, 42h, 1Eh 31E4:70A2 21 00 E8 03 20 00 db 21h, 00h,0E8h, 03h, 20h, 00h 31E4:70A8 22 00 9E 70 03 00 db 22h, 00h, 9Eh, 70h, 03h, 00h 31E4:70AE 0B 33 18 12 32 1C db 0Bh, 33h, 18h, 12h, 32h, 1Ch 31E4:70B4 0D B0 1C 00 00 db 0Dh,0B0h, 1Ch, 00h, 00h 31E4:70B9 1C00 ratpouch_hotspot_rec dw 1C00h 31E4:70BB 0082 dw 82h 31E4:70BD 70AC dw 70ACh 31E4:70BF 0005 dw 5 31E4:70C1 00 67 71 00 00 B4 db 00h, 67h, 71h, 00h, 00h,0B4h 31E4:70C7 00 E9 00 20 00 30 db 00h,0E9h, 00h, 20h, 00h, 30h 31E4:70CD 00 01 01 14 7C 20 db 00h, 01h, 01h, 14h, 7Ch, 20h 31E4:70D3 00 30 00 08 00 00 db 00h, 30h, 00h, 08h, 00h, 00h 31E4:70D9 00 D4 5C AD db 00h,0D4h, 5Ch,0ADh 31E4:70DD 0009[00] db 9 dup (0) 31E4:70E6 55 16 00 00 96 00 db 55h, 16h, 00h, 00h, 96h, 00h 31E4:70EC 00 00 F6 0A 28 00 db 00h, 00h,0F6h, 0Ah, 28h, 00h 31E4:70F2 E8 db 0E8h 31E4:70F3 loc_2141: 31E4:70F3 03 00 add ax,[bx+si] 31E4:70F5 9C pushf ; Push flags 31E4:70F6 00 00 00 00 00 db 0, 0, 0, 0, 0 31E4:70FB 002A data_923 dw 2Ah 31E4:70FD 05 data_924 db 5 31E4:70FE F9 12 00 db 0F9h, 12h, 00h 31E4:7101 0012[00] db 18 dup (0) 31E4:7113 33 67 73 67 00 00 db 33h, 67h, 73h, 67h, 00h, 00h 31E4:7119 00 00 00 02 D3 69 db 00h, 00h, 00h, 02h,0D3h, 69h 31E4:711F 04 db 04h 31E4:7120 0015[00] db 21 dup (0) 31E4:7135 1C 00 07 00 00 00 db 1Ch, 00h, 07h, 00h, 00h, 00h 31E4:713B 20 00 1F 00 1E 00 db 20h, 00h, 1Fh, 00h, 1Eh, 00h 31E4:7141 97 16 00 00 03 00 db 97h, 16h, 00h, 00h, 03h, 00h 31E4:7147 0B 88 17 12 8C 1B db 0Bh, 88h, 17h, 12h, 8Ch, 1Bh 31E4:714D 0D BD 1C 00 0C 02 db 0Dh,0BDh, 1Ch, 00h, 0Ch, 02h 31E4:7153 00 45 71 2C 00 00 db 00h, 45h, 71h, 2Ch, 00h, 00h 31E4:7159 67 71 00 00 4A 01 db 67h, 71h, 00h, 00h, 4Ah, 01h 31E4:715F 02 01 20 00 30 00 db 02h, 01h, 20h, 00h, 30h, 00h 31E4:7165 01 01 82 4F 20 00 db 01h, 01h, 82h, 4Fh, 20h, 00h 31E4:716B 30 00 08 00 00 00 db 30h, 00h, 08h, 00h, 00h, 00h 31E4:7171 67 5D 80 00 00 db 67h, 5Dh, 80h, 00h, 00h 31E4:7176 0007[00] db 7 dup (0) 31E4:717D 7B 15 00 00 96 00 db 7Bh, 15h, 00h, 00h, 96h, 00h 31E4:7183 00 00 F8 09 00 db 00h, 00h,0F8h, 09h, 00h 31E4:7188 000D[00] db 13 dup (0) 31E4:7195 88 14 db 88h, 14h 31E4:7197 0013[00] db 19 dup (0) 31E4:71AA 73 69 B3 69 00 00 db 73h, 69h,0B3h, 69h, 00h, 00h 31E4:71B0 00 00 00 02 CC db 00h, 00h, 00h, 02h,0CCh 31E4:71B5 71 2C db 71h, 2Ch 31E4:71B7 0015[00] db 21 dup (0) 31E4:71CC 20 00 1C 00 2A 00 db 20h, 00h, 1Ch, 00h, 2Ah, 00h 31E4:71D2 00 00 21 00 4E 75 db 00h, 00h, 21h, 00h, 4Eh, 75h 31E4:71D8 1F 00 1C 00 2D 00 db 1Fh, 00h, 1Ch, 00h, 2Dh, 00h 31E4:71DE 00 00 25 00 37 04 db 00h, 00h, 25h, 00h, 37h, 04h 31E4:71E4 A5 0F 00 00 A6 0F db 0A5h, 0Fh, 00h, 00h,0A6h, 0Fh 31E4:71EA 00 00 25 00 37 04 db 00h, 00h, 25h, 00h, 37h, 04h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 464 31E4:71F0 A7 0F 00 00 A8 0F db 0A7h, 0Fh, 00h, 00h,0A8h, 0Fh 31E4:71F6 00 00 1C 00 2A 00 db 00h, 00h, 1Ch, 00h, 2Ah, 00h 31E4:71FC 00 00 20 00 1C 00 db 00h, 00h, 20h, 00h, 1Ch, 00h 31E4:7202 2D 00 00 00 25 00 db 2Dh, 00h, 00h, 00h, 25h, 00h 31E4:7208 37 04 A9 0F 00 00 db 37h, 04h,0A9h, 0Fh, 00h, 00h 31E4:720E AA 0F 00 00 25 00 db 0AAh, 0Fh, 00h, 00h, 25h, 00h 31E4:7214 37 04 AB 0F 00 00 db 37h, 04h,0ABh, 0Fh, 00h, 00h 31E4:721A AC 0F 00 00 1C 00 db 0ACh, 0Fh, 00h, 00h, 1Ch, 00h 31E4:7220 2A 00 00 00 20 00 db 2Ah, 00h, 00h, 00h, 20h, 00h 31E4:7226 1C 00 2D 00 00 00 db 1Ch, 00h, 2Dh, 00h, 00h, 00h 31E4:722C 25 00 37 04 AD 0F db 25h, 00h, 37h, 04h,0ADh, 0Fh 31E4:7232 00 00 AE 0F 00 00 db 00h, 00h,0AEh, 0Fh, 00h, 00h 31E4:7238 25 00 37 04 AF 0F db 25h, 00h, 37h, 04h,0AFh, 0Fh 31E4:723E 00 00 B0 0F 00 00 db 00h, 00h,0B0h, 0Fh, 00h, 00h 31E4:7244 22 00 CE 71 1C 00 db 22h, 00h,0CEh, 71h, 1Ch, 00h 31E4:724A 2D 00 00 00 25 00 db 2Dh, 00h, 00h, 00h, 25h, 00h 31E4:7250 37 04 C9 0F 00 00 db 37h, 04h,0C9h, 0Fh, 00h, 00h 31E4:7256 CA 0F 00 00 25 00 db 0CAh, 0Fh, 00h, 00h, 25h, 00h 31E4:725C 37 04 CB 0F 00 00 db 37h, 04h,0CBh, 0Fh, 00h, 00h 31E4:7262 CC 0F 00 db 0CCh, 0Fh, 00h 31E4:7265 loc_2142: 31E4:7265 00 1E FF00 add ds:data_1202e,bl ; (31E4:FF00=2Fh) 31E4:7269 1D 0022 sbb ax,22h 31E4:726C A2 1C72 mov byte ptr data_691,al ; (31E4:1C72=' ') 31E4:726F 00 2D add [di],ch 31E4:7271 00 00 add [bx+si],al 31E4:7273 00 25 add [di],ah 31E4:7275 00 37 add [bx],dh 31E4:7277 04 CD add al,0CDh 31E4:7279 0F ;* pop cs ; Dangerous-8088 only 31E4:7279 0F db 0Fh 31E4:727A 00 00 add [bx+si],al 31E4:727C CE into ; Int 4 on overflow 31E4:727D 0F ;* pop cs ; Dangerous-8088 only 31E4:727D 0F db 0Fh 31E4:727E 00 00 add [bx+si],al 31E4:7280 1E push ds 31E4:7281 00 BE 1F20 add [bp+1F20h],bh 31E4:7285 00 22 add [bp+si],ah 31E4:7287 00 CE add dh,cl 31E4:7289 71 1C ;* jno loc_2143 ;*Jump if not overflw 31E4:7289 71 1C db 71h, 1Ch 31E4:728B 00 2D add [di],ch 31E4:728D 00 00 add [bx+si],al 31E4:728F 00 25 add [di],ah 31E4:7291 00 37 add [bx],dh 31E4:7293 04 CF add al,0CFh 31E4:7295 0F ;* pop cs ; Dangerous-8088 only 31E4:7295 0F db 0Fh 31E4:7296 00 00 add [bx+si],al 31E4:7298 D0 0F ror byte ptr [bx],1 ; Rotate 31E4:729A 00 00 add [bx+si],al 31E4:729C 1F pop ds 31E4:729D 00 1E FF00 add ds:data_1202e,bl ; (31E4:FF00=2Fh) 31E4:72A1 1D 0020 sbb ax,20h 31E4:72A4 1F pop ds 31E4:72A5 00 1E 4200 add ds:data_62e,bl ; (0002:4200=0C4h) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 465 31E4:72A9 1E push ds 31E4:72AA 20 00 and [bx+si],al 31E4:72AC 1F pop ds 31E4:72AD 00 20 add [bx+si],ah 31E4:72AF 00 1F add [bx],bl 31E4:72B1 00 20 add [bx+si],ah 31E4:72B3 00 1F add [bx],bl 31E4:72B5 00 20 add [bx+si],ah 31E4:72B7 00 1F add [bx],bl 31E4:72B9 00 20 add [bx+si],ah 31E4:72BB 00 1F add [bx],bl 31E4:72BD 00 20 add [bx+si],ah 31E4:72BF 00 1F add [bx],bl 31E4:72C1 00 22 add [bp+si],ah 31E4:72C3 00 A2 0272 add [bp+si+272h],ah 31E4:72C7 00 0B add [bp+di],cl 31E4:72C9 D9 17 fst dword ptr [bx] ; Store st to memory 31E4:72CB 12 8C 001B adc cl,ds:data_61e[si] ; (0002:001B=0C8h) 31E4:72CF 0C 82 or al,82h 31E4:72D1 00 C6 add dh,al 31E4:72D3 72 17 ;* jc loc_2144 ;*Jump if carry Set 31E4:72D3 72 17 db 72h, 17h 31E4:72D5 00 00 add [bx+si],al 31E4:72D7 67 71 00 00 16 01 db 67h, 71h, 00h, 00h, 16h, 01h 31E4:72DD F8 00 20 00 30 00 db 0F8h, 00h, 20h, 00h, 30h, 00h 31E4:72E3 01 01 82 4F 20 00 db 01h, 01h, 82h, 4Fh, 20h, 00h 31E4:72E9 30 00 db 30h, 00h 31E4:72EB 08 db 8 31E4:72EC 00 00 00 E9 5C 9E db 00h, 00h, 00h,0E9h, 5Ch, 9Eh 31E4:72F2 0009[00] db 9 dup (0) 31E4:72FB 54 15 00 00 96 00 db 54h, 15h, 00h, 00h, 96h, 00h 31E4:7301 00 00 F8 04 28 00 db 00h, 00h,0F8h, 04h, 28h, 00h 31E4:7307 00 00 00 50 0B db 00h, 00h, 00h, 50h, 0Bh 31E4:730C 0007[00] db 7 dup (0) 31E4:7313 54 13 00 db 54h, 13h, 00h 31E4:7316 0012[00] db 18 dup (0) 31E4:7328 93 67 db 93h, 67h 31E4:732A 0007[00] db 7 dup (0) 31E4:7331 02 4A 73 17 db 02h, 4Ah, 73h, 17h 31E4:7335 0015[00] db 21 dup (0) 31E4:734A 1C 00 1C 00 00 00 db 1Ch, 00h, 1Ch, 00h, 00h, 00h 31E4:7350 21 00 3B 75 21 00 db 21h, 00h, 3Bh, 75h, 21h, 00h 31E4:7356 E5 03 1F 00 05 00 db 0E5h, 03h, 1Fh, 00h, 05h, 00h 31E4:735C 3B 75 05 00 3B 75 db 3Bh, 75h, 05h, 00h, 3Bh, 75h 31E4:7362 05 00 3B 75 05 00 db 05h, 00h, 3Bh, 75h, 05h, 00h 31E4:7368 3B 75 05 00 3B 75 db 3Bh, 75h, 05h, 00h, 3Bh, 75h 31E4:736E 21 00 db 21h, 00h 31E4:7370 loc_2145: 31E4:7370 3B 75 21 cmp si,[di+21h] 31E4:7373 00 E5 add ch,ah 31E4:7375 03 1F add bx,[bx] 31E4:7377 00 05 add [di],al 31E4:7379 00 3B add [bp+di],bh 31E4:737B 75 05 ;* jnz loc_2146 ;*Jump if not zero 31E4:737B 75 05 db 75h, 05h 31E4:737D 00 3B add [bp+di],bh 31E4:737F 75 05 ;* jnz loc_2147 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 466 31E4:737F 75 05 db 75h, 05h 31E4:7381 00 3B add [bp+di],bh 31E4:7383 75 05 ;* jnz loc_2148 ;*Jump if not zero 31E4:7383 75 05 db 75h, 05h 31E4:7385 00 3B add [bp+di],bh 31E4:7387 75 05 ;* jnz loc_2149 ;*Jump if not zero 31E4:7387 75 05 db 75h, 05h 31E4:7389 00 3B add [bp+di],bh 31E4:738B 75 21 ;* jnz loc_2156 ;*Jump if not zero 31E4:738B 75 21 db 75h, 21h 31E4:738D 00 3B add [bp+di],bh 31E4:738F 75 21 ;* jnz loc_2157 ;*Jump if not zero 31E4:738F 75 21 db 75h, 21h 31E4:7391 00 E5 add ch,ah 31E4:7393 03 1F add bx,[bx] 31E4:7395 00 05 add [di],al 31E4:7397 00 3B add [bp+di],bh 31E4:7399 75 05 ;* jnz loc_2152 ;*Jump if not zero 31E4:7399 75 05 db 75h, 05h 31E4:739B 00 3B add [bp+di],bh 31E4:739D 75 05 ;* jnz loc_2153 ;*Jump if not zero 31E4:739D 75 05 db 75h, 05h 31E4:739F 00 3B add [bp+di],bh 31E4:73A1 75 05 ;* jnz loc_2154 ;*Jump if not zero 31E4:73A1 75 05 db 75h, 05h 31E4:73A3 00 3B add [bp+di],bh 31E4:73A5 75 05 ;* jnz loc_2155 ;*Jump if not zero 31E4:73A5 75 05 db 75h, 05h 31E4:73A7 00 3B add [bp+di],bh 31E4:73A9 75 21 ;* jnz loc_2162 ;*Jump if not zero 31E4:73A9 75 21 db 75h, 21h 31E4:73AB 00 3B add [bp+di],bh 31E4:73AD 75 21 ;* jnz loc_2163 ;*Jump if not zero 31E4:73AD 75 21 db 75h, 21h 31E4:73AF 00 E5 add ch,ah 31E4:73B1 03 1F add bx,[bx] 31E4:73B3 00 05 add [di],al 31E4:73B5 00 3B add [bp+di],bh 31E4:73B7 75 05 ;* jnz loc_2158 ;*Jump if not zero 31E4:73B7 75 05 db 75h, 05h 31E4:73B9 00 3B add [bp+di],bh 31E4:73BB 75 05 ;* jnz loc_2159 ;*Jump if not zero 31E4:73BB 75 05 db 75h, 05h 31E4:73BD 00 3B add [bp+di],bh 31E4:73BF 75 05 ;* jnz loc_2160 ;*Jump if not zero 31E4:73BF 75 05 db 75h, 05h 31E4:73C1 00 3B add [bp+di],bh 31E4:73C3 75 05 ;* jnz loc_2161 ;*Jump if not zero 31E4:73C3 75 05 db 75h, 05h 31E4:73C5 00 3B add [bp+di],bh 31E4:73C7 75 21 ;* jnz loc_2167 ;*Jump if not zero 31E4:73C7 75 21 db 75h, 21h 31E4:73C9 00 E5 add ch,ah 31E4:73CB 03 1F add bx,[bx] 31E4:73CD 00 05 add [di],al 31E4:73CF 00 3B add [bp+di],bh 31E4:73D1 75 05 ;* jnz loc_2164 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 467 31E4:73D1 75 05 db 75h, 05h 31E4:73D3 00 3B add [bp+di],bh 31E4:73D5 75 20 jnz loc_2168 ; Jump if not zero 31E4:73D7 00 05 add [di],al 31E4:73D9 00 3B add [bp+di],bh 31E4:73DB 75 05 ;* jnz loc_2165 ;*Jump if not zero 31E4:73DB 75 05 db 75h, 05h 31E4:73DD 00 3B add [bp+di],bh 31E4:73DF 75 05 ;* jnz loc_2166 ;*Jump if not zero 31E4:73DF 75 05 db 75h, 05h 31E4:73E1 00 3B add [bp+di],bh 31E4:73E3 75 05 ;* jnz loc_2167 ;*Jump if not zero 31E4:73E3 75 05 db 75h, 05h 31E4:73E5 00 3B add [bp+di],bh 31E4:73E7 75 21 ;* jnz loc_2174 ;*Jump if not zero 31E4:73E7 75 21 db 75h, 21h 31E4:73E9 00 E5 add ch,ah 31E4:73EB 03 1F add bx,[bx] 31E4:73ED 00 05 add [di],al 31E4:73EF 00 3B add [bp+di],bh 31E4:73F1 75 05 ;* jnz loc_2169 ;*Jump if not zero 31E4:73F1 75 05 db 75h, 05h 31E4:73F3 00 3B add [bp+di],bh 31E4:73F5 75 05 ;* jnz loc_2170 ;*Jump if not zero 31E4:73F5 75 05 db 75h, 05h 31E4:73F7 loc_2168: ; xref 31E4:73D5 31E4:73F7 00 3B add [bp+di],bh 31E4:73F9 75 05 ;* jnz loc_2171 ;*Jump if not zero 31E4:73F9 75 05 db 75h, 05h 31E4:73FB 00 3B add [bp+di],bh 31E4:73FD 75 05 ;* jnz loc_2172 ;*Jump if not zero 31E4:73FD 75 05 db 75h, 05h 31E4:73FF 00 3B add [bp+di],bh 31E4:7401 75 05 ;* jnz loc_2173 ;*Jump if not zero 31E4:7401 75 05 db 75h, 05h 31E4:7403 00 3B add [bp+di],bh 31E4:7405 75 05 ;* jnz loc_2175 ;*Jump if not zero 31E4:7405 75 05 db 75h, 05h 31E4:7407 00 3B add [bp+di],bh 31E4:7409 75 05 ;* jnz loc_2176 ;*Jump if not zero 31E4:7409 75 05 db 75h, 05h 31E4:740B 00 3B add [bp+di],bh 31E4:740D 75 1C jnz loc_2177 ; Jump if not zero 31E4:740F 00 12 add [bp+si],dl 31E4:7411 00 4A 73 add [bp+si+73h],cl 31E4:7414 20 00 and [bx+si],al 31E4:7416 1F pop ds 31E4:7417 00 1F add [bx],bl 31E4:7419 00 1F add [bx],bl 31E4:741B 00 1C add [si],bl 31E4:741D 00 1C add [si],bl 31E4:741F 00 EC add ah,ch 31E4:7421 76 21 ;* jbe loc_2182 ;*Jump if below or = 31E4:7421 76 21 db 76h, 21h 31E4:7423 00 3B add [bp+di],bh 31E4:7425 75 21 ;* jnz loc_2184 ;*Jump if not zero 31E4:7425 75 21 db 75h, 21h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 468 31E4:7427 00 E5 add ch,ah 31E4:7429 03 1F add bx,[bx] 31E4:742B loc_2177: ; xref 31E4:740D 31E4:742B 00 05 add [di],al 31E4:742D 00 3B add [bp+di],bh 31E4:742F 75 05 ;* jnz loc_2178 ;*Jump if not zero 31E4:742F 75 05 db 75h, 05h 31E4:7431 00 3B add [bp+di],bh 31E4:7433 75 05 ;* jnz loc_2179 ;*Jump if not zero 31E4:7433 75 05 db 75h, 05h 31E4:7435 00 3B add [bp+di],bh 31E4:7437 75 05 ;* jnz loc_2180 ;*Jump if not zero 31E4:7437 75 05 db 75h, 05h 31E4:7439 00 3B add [bp+di],bh 31E4:743B 75 05 ;* jnz loc_2181 ;*Jump if not zero 31E4:743B 75 05 db 75h, 05h 31E4:743D 00 3B add [bp+di],bh 31E4:743F 75 05 ;* jnz loc_2183 ;*Jump if not zero 31E4:743F 75 05 db 75h, 05h 31E4:7441 00 3B add [bp+di],bh 31E4:7443 75 21 ;* jnz loc_2190 ;*Jump if not zero 31E4:7443 75 21 db 75h, 21h 31E4:7445 00 E5 add ch,ah 31E4:7447 03 1F add bx,[bx] 31E4:7449 00 05 add [di],al 31E4:744B 00 3B add [bp+di],bh 31E4:744D 75 05 ;* jnz loc_2185 ;*Jump if not zero 31E4:744D 75 05 db 75h, 05h 31E4:744F 00 3B add [bp+di],bh 31E4:7451 75 05 ;* jnz loc_2186 ;*Jump if not zero 31E4:7451 75 05 db 75h, 05h 31E4:7453 00 3B add [bp+di],bh 31E4:7455 75 05 ;* jnz loc_2187 ;*Jump if not zero 31E4:7455 75 05 db 75h, 05h 31E4:7457 00 3B add [bp+di],bh 31E4:7459 75 05 ;* jnz loc_2188 ;*Jump if not zero 31E4:7459 75 05 db 75h, 05h 31E4:745B 00 3B add [bp+di],bh 31E4:745D 75 05 ;* jnz loc_2189 ;*Jump if not zero 31E4:745D 75 05 db 75h, 05h 31E4:745F 00 3B add [bp+di],bh 31E4:7461 75 21 ;* jnz loc_2196 ;*Jump if not zero 31E4:7461 75 21 db 75h, 21h 31E4:7463 00 E5 add ch,ah 31E4:7465 03 1F add bx,[bx] 31E4:7467 00 05 add [di],al 31E4:7469 00 3B add [bp+di],bh 31E4:746B 75 05 ;* jnz loc_2191 ;*Jump if not zero 31E4:746B 75 05 db 75h, 05h 31E4:746D 00 3B add [bp+di],bh 31E4:746F 75 05 ;* jnz loc_2192 ;*Jump if not zero 31E4:746F 75 05 db 75h, 05h 31E4:7471 00 3B add [bp+di],bh 31E4:7473 75 05 ;* jnz loc_2193 ;*Jump if not zero 31E4:7473 75 05 db 75h, 05h 31E4:7475 00 3B add [bp+di],bh 31E4:7477 75 05 ;* jnz loc_2194 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 469 31E4:7477 75 05 db 75h, 05h 31E4:7479 00 3B add [bp+di],bh 31E4:747B 75 05 ;* jnz loc_2195 ;*Jump if not zero 31E4:747B 75 05 db 75h, 05h 31E4:747D 00 3B add [bp+di],bh 31E4:747F 75 1C jnz loc_2198 ; Jump if not zero 31E4:7481 00 1C add [si],bl 31E4:7483 00 00 add [bx+si],al 31E4:7485 00 21 add [bx+di],ah 31E4:7487 00 3B add [bp+di],bh 31E4:7489 75 21 ;* jnz loc_2202 ;*Jump if not zero 31E4:7489 75 21 db 75h, 21h 31E4:748B 00 E5 add ch,ah 31E4:748D 03 1F add bx,[bx] 31E4:748F 00 05 add [di],al 31E4:7491 00 3B add [bp+di],bh 31E4:7493 75 05 ;* jnz loc_2197 ;*Jump if not zero 31E4:7493 75 05 db 75h, 05h 31E4:7495 00 3B add [bp+di],bh 31E4:7497 75 05 ;* jnz loc_2199 ;*Jump if not zero 31E4:7497 75 05 db 75h, 05h 31E4:7499 00 3B add [bp+di],bh 31E4:749B 75 05 ;* jnz loc_2200 ;*Jump if not zero 31E4:749B 75 05 db 75h, 05h 31E4:749D loc_2198: ; xref 31E4:747F 31E4:749D 00 3B add [bp+di],bh 31E4:749F 75 05 ;* jnz loc_2201 ;*Jump if not zero 31E4:749F 75 05 db 75h, 05h 31E4:74A1 00 3B add [bp+di],bh 31E4:74A3 75 21 ;* jnz loc_2207 ;*Jump if not zero 31E4:74A3 75 21 db 75h, 21h 31E4:74A5 00 3B add [bp+di],bh 31E4:74A7 75 21 ;* jnz loc_2208 ;*Jump if not zero 31E4:74A7 75 21 db 75h, 21h 31E4:74A9 00 E5 add ch,ah 31E4:74AB 03 1F add bx,[bx] 31E4:74AD 00 05 add [di],al 31E4:74AF 00 3B add [bp+di],bh 31E4:74B1 75 05 ;* jnz loc_2203 ;*Jump if not zero 31E4:74B1 75 05 db 75h, 05h 31E4:74B3 00 3B add [bp+di],bh 31E4:74B5 75 05 ;* jnz loc_2204 ;*Jump if not zero 31E4:74B5 75 05 db 75h, 05h 31E4:74B7 00 3B add [bp+di],bh 31E4:74B9 75 05 ;* jnz loc_2205 ;*Jump if not zero 31E4:74B9 75 05 db 75h, 05h 31E4:74BB 00 3B add [bp+di],bh 31E4:74BD 75 05 ;* jnz loc_2206 ;*Jump if not zero 31E4:74BD 75 05 db 75h, 05h 31E4:74BF 00 3B add [bp+di],bh 31E4:74C1 75 21 ;* jnz loc_2213 ;*Jump if not zero 31E4:74C1 75 21 db 75h, 21h 31E4:74C3 00 3B add [bp+di],bh 31E4:74C5 75 21 ;* jnz loc_2214 ;*Jump if not zero 31E4:74C5 75 21 db 75h, 21h 31E4:74C7 00 E5 add ch,ah 31E4:74C9 03 1F add bx,[bx] nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 470 31E4:74CB 00 05 add [di],al 31E4:74CD 00 3B add [bp+di],bh 31E4:74CF 75 05 ;* jnz loc_2209 ;*Jump if not zero 31E4:74CF 75 05 db 75h, 05h 31E4:74D1 00 3B add [bp+di],bh 31E4:74D3 75 05 ;* jnz loc_2210 ;*Jump if not zero 31E4:74D3 75 05 db 75h, 05h 31E4:74D5 00 3B add [bp+di],bh 31E4:74D7 75 05 ;* jnz loc_2211 ;*Jump if not zero 31E4:74D7 75 05 db 75h, 05h 31E4:74D9 00 3B add [bp+di],bh 31E4:74DB 75 05 ;* jnz loc_2212 ;*Jump if not zero 31E4:74DB 75 05 db 75h, 05h 31E4:74DD 00 3B add [bp+di],bh 31E4:74DF 75 21 ;* jnz loc_2219 ;*Jump if not zero 31E4:74DF 75 21 db 75h, 21h 31E4:74E1 00 3B add [bp+di],bh 31E4:74E3 75 21 ;* jnz loc_2220 ;*Jump if not zero 31E4:74E3 75 21 db 75h, 21h 31E4:74E5 00 E5 add ch,ah 31E4:74E7 03 1F add bx,[bx] 31E4:74E9 00 05 add [di],al 31E4:74EB 00 3B add [bp+di],bh 31E4:74ED 75 05 ;* jnz loc_2215 ;*Jump if not zero 31E4:74ED 75 05 db 75h, 05h 31E4:74EF 00 3B add [bp+di],bh 31E4:74F1 75 05 ;* jnz loc_2216 ;*Jump if not zero 31E4:74F1 75 05 db 75h, 05h 31E4:74F3 00 3B add [bp+di],bh 31E4:74F5 75 05 ;* jnz loc_2217 ;*Jump if not zero 31E4:74F5 75 05 db 75h, 05h 31E4:74F7 00 3B add [bp+di],bh 31E4:74F9 75 05 ;* jnz loc_2218 ;*Jump if not zero 31E4:74F9 75 05 db 75h, 05h 31E4:74FB 00 3B add [bp+di],bh 31E4:74FD 75 21 ;* jnz loc_2224 ;*Jump if not zero 31E4:74FD 75 21 db 75h, 21h 31E4:74FF 00 E5 add ch,ah 31E4:7501 03 1F add bx,[bx] 31E4:7503 00 05 add [di],al 31E4:7505 00 3B add [bp+di],bh 31E4:7507 75 05 ;* jnz loc_2221 ;*Jump if not zero 31E4:7507 75 05 db 75h, 05h 31E4:7509 00 3B add [bp+di],bh 31E4:750B 75 20 jnz loc_2225 ; Jump if not zero 31E4:750D 00 05 add [di],al 31E4:750F 00 3B add [bp+di],bh 31E4:7511 75 05 ;* jnz loc_2222 ;*Jump if not zero 31E4:7511 75 05 db 75h, 05h 31E4:7513 00 3B add [bp+di],bh 31E4:7515 75 05 ;* jnz loc_2223 ;*Jump if not zero 31E4:7515 75 05 db 75h, 05h 31E4:7517 00 3B add [bp+di],bh 31E4:7519 75 05 ;* jnz loc_2224 ;*Jump if not zero 31E4:7519 75 05 db 75h, 05h 31E4:751B 00 3B add [bp+di],bh 31E4:751D 75 21 ;* jnz loc_2231 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 471 31E4:751D 75 21 db 75h, 21h 31E4:751F 00 E5 add ch,ah 31E4:7521 03 1F add bx,[bx] 31E4:7523 00 05 add [di],al 31E4:7525 00 3B add [bp+di],bh 31E4:7527 75 05 ;* jnz loc_2226 ;*Jump if not zero 31E4:7527 75 05 db 75h, 05h 31E4:7529 00 3B add [bp+di],bh 31E4:752B 75 05 ;* jnz loc_2227 ;*Jump if not zero 31E4:752B 75 05 db 75h, 05h 31E4:752D loc_2225: ; xref 31E4:750B 31E4:752D 00 3B add [bp+di],bh 31E4:752F 75 05 ;* jnz loc_2228 ;*Jump if not zero 31E4:752F 75 05 db 75h, 05h 31E4:7531 00 3B add [bp+di],bh 31E4:7533 75 05 ;* jnz loc_2229 ;*Jump if not zero 31E4:7533 75 05 db 75h, 05h 31E4:7535 00 3B add [bp+di],bh 31E4:7537 75 05 ;* jnz loc_2230 ;*Jump if not zero 31E4:7537 75 05 db 75h, 05h 31E4:7539 00 3B add [bp+di],bh 31E4:753B 75 05 ;* jnz loc_2232 ;*Jump if not zero 31E4:753B 75 05 db 75h, 05h 31E4:753D 00 3B add [bp+di],bh 31E4:753F 75 05 ;* jnz loc_2233 ;*Jump if not zero 31E4:753F 75 05 db 75h, 05h 31E4:7541 00 3B add [bp+di],bh 31E4:7543 75 1C jnz loc_2234 ; Jump if not zero 31E4:7545 00 12 add [bp+si],dl 31E4:7547 00 4A 73 add [bp+si+73h],cl 31E4:754A 20 00 and [bx+si],al 31E4:754C 1F pop ds 31E4:754D 00 1F add [bx],bl 31E4:754F 00 1F add [bx],bl 31E4:7551 00 1C add [si],bl 31E4:7553 00 1C add [si],bl 31E4:7555 00 EC add ah,ch 31E4:7557 76 21 ;* jbe loc_2239 ;*Jump if below or = 31E4:7557 76 21 db 76h, 21h 31E4:7559 00 3B add [bp+di],bh 31E4:755B 75 21 ;* jnz loc_2241 ;*Jump if not zero 31E4:755B 75 21 db 75h, 21h 31E4:755D 00 E5 add ch,ah 31E4:755F 03 1F add bx,[bx] 31E4:7561 loc_2234: ; xref 31E4:7543 31E4:7561 00 05 add [di],al 31E4:7563 00 3B add [bp+di],bh 31E4:7565 75 05 ;* jnz loc_2235 ;*Jump if not zero 31E4:7565 75 05 db 75h, 05h 31E4:7567 00 3B add [bp+di],bh 31E4:7569 75 05 ;* jnz loc_2236 ;*Jump if not zero 31E4:7569 75 05 db 75h, 05h 31E4:756B 00 3B add [bp+di],bh 31E4:756D 75 05 ;* jnz loc_2237 ;*Jump if not zero 31E4:756D 75 05 db 75h, 05h 31E4:756F 00 3B add [bp+di],bh 31E4:7571 75 05 ;* jnz loc_2238 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 472 31E4:7571 75 05 db 75h, 05h 31E4:7573 00 3B add [bp+di],bh 31E4:7575 75 05 ;* jnz loc_2240 ;*Jump if not zero 31E4:7575 75 05 db 75h, 05h 31E4:7577 00 3B add [bp+di],bh 31E4:7579 75 21 ;* jnz loc_2247 ;*Jump if not zero 31E4:7579 75 21 db 75h, 21h 31E4:757B 00 E5 add ch,ah 31E4:757D 03 1F add bx,[bx] 31E4:757F 00 05 add [di],al 31E4:7581 00 3B add [bp+di],bh 31E4:7583 75 05 ;* jnz loc_2242 ;*Jump if not zero 31E4:7583 75 05 db 75h, 05h 31E4:7585 00 3B add [bp+di],bh 31E4:7587 75 05 ;* jnz loc_2243 ;*Jump if not zero 31E4:7587 75 05 db 75h, 05h 31E4:7589 00 3B add [bp+di],bh 31E4:758B 75 05 ;* jnz loc_2244 ;*Jump if not zero 31E4:758B 75 05 db 75h, 05h 31E4:758D 00 3B add [bp+di],bh 31E4:758F 75 05 ;* jnz loc_2245 ;*Jump if not zero 31E4:758F 75 05 db 75h, 05h 31E4:7591 00 3B add [bp+di],bh 31E4:7593 75 05 ;* jnz loc_2246 ;*Jump if not zero 31E4:7593 75 05 db 75h, 05h 31E4:7595 00 3B add [bp+di],bh 31E4:7597 75 21 ;* jnz loc_2253 ;*Jump if not zero 31E4:7597 75 21 db 75h, 21h 31E4:7599 00 E5 add ch,ah 31E4:759B 03 1F add bx,[bx] 31E4:759D 00 05 add [di],al 31E4:759F 00 3B add [bp+di],bh 31E4:75A1 75 05 ;* jnz loc_2248 ;*Jump if not zero 31E4:75A1 75 05 db 75h, 05h 31E4:75A3 00 3B add [bp+di],bh 31E4:75A5 75 05 ;* jnz loc_2249 ;*Jump if not zero 31E4:75A5 75 05 db 75h, 05h 31E4:75A7 00 3B add [bp+di],bh 31E4:75A9 75 05 ;* jnz loc_2250 ;*Jump if not zero 31E4:75A9 75 05 db 75h, 05h 31E4:75AB 00 3B add [bp+di],bh 31E4:75AD 75 05 ;* jnz loc_2251 ;*Jump if not zero 31E4:75AD 75 05 db 75h, 05h 31E4:75AF 00 3B add [bp+di],bh 31E4:75B1 75 05 ;* jnz loc_2252 ;*Jump if not zero 31E4:75B1 75 05 db 75h, 05h 31E4:75B3 00 3B add [bp+di],bh 31E4:75B5 75 1C jnz loc_2255 ; Jump if not zero 31E4:75B7 00 1C add [si],bl 31E4:75B9 00 00 add [bx+si],al 31E4:75BB 00 21 add [bx+di],ah 31E4:75BD 00 3B add [bp+di],bh 31E4:75BF 75 21 ;* jnz loc_2259 ;*Jump if not zero 31E4:75BF 75 21 db 75h, 21h 31E4:75C1 00 E5 add ch,ah 31E4:75C3 03 1F add bx,[bx] 31E4:75C5 00 05 add [di],al nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 473 31E4:75C7 00 3B add [bp+di],bh 31E4:75C9 75 05 ;* jnz loc_2254 ;*Jump if not zero 31E4:75C9 75 05 db 75h, 05h 31E4:75CB 00 3B add [bp+di],bh 31E4:75CD 75 05 ;* jnz loc_2256 ;*Jump if not zero 31E4:75CD 75 05 db 75h, 05h 31E4:75CF 00 3B add [bp+di],bh 31E4:75D1 75 05 ;* jnz loc_2257 ;*Jump if not zero 31E4:75D1 75 05 db 75h, 05h 31E4:75D3 loc_2255: ; xref 31E4:75B5 31E4:75D3 00 3B add [bp+di],bh 31E4:75D5 75 05 ;* jnz loc_2258 ;*Jump if not zero 31E4:75D5 75 05 db 75h, 05h 31E4:75D7 00 3B add [bp+di],bh 31E4:75D9 75 21 ;* jnz loc_2264 ;*Jump if not zero 31E4:75D9 75 21 db 75h, 21h 31E4:75DB 00 3B add [bp+di],bh 31E4:75DD 75 21 ;* jnz loc_2265 ;*Jump if not zero 31E4:75DD 75 21 db 75h, 21h 31E4:75DF 00 E5 add ch,ah 31E4:75E1 03 1F add bx,[bx] 31E4:75E3 00 05 add [di],al 31E4:75E5 00 3B add [bp+di],bh 31E4:75E7 75 05 ;* jnz loc_2260 ;*Jump if not zero 31E4:75E7 75 05 db 75h, 05h 31E4:75E9 00 3B add [bp+di],bh 31E4:75EB 75 05 ;* jnz loc_2261 ;*Jump if not zero 31E4:75EB 75 05 db 75h, 05h 31E4:75ED 00 3B add [bp+di],bh 31E4:75EF 75 05 ;* jnz loc_2262 ;*Jump if not zero 31E4:75EF 75 05 db 75h, 05h 31E4:75F1 00 3B add [bp+di],bh 31E4:75F3 75 05 ;* jnz loc_2263 ;*Jump if not zero 31E4:75F3 75 05 db 75h, 05h 31E4:75F5 00 3B add [bp+di],bh 31E4:75F7 75 21 ;* jnz loc_2270 ;*Jump if not zero 31E4:75F7 75 21 db 75h, 21h 31E4:75F9 00 3B add [bp+di],bh 31E4:75FB 75 21 ;* jnz loc_2271 ;*Jump if not zero 31E4:75FB 75 21 db 75h, 21h 31E4:75FD 00 E5 add ch,ah 31E4:75FF 03 1F add bx,[bx] 31E4:7601 00 05 add [di],al 31E4:7603 00 3B add [bp+di],bh 31E4:7605 75 05 ;* jnz loc_2266 ;*Jump if not zero 31E4:7605 75 05 db 75h, 05h 31E4:7607 00 3B add [bp+di],bh 31E4:7609 75 05 ;* jnz loc_2267 ;*Jump if not zero 31E4:7609 75 05 db 75h, 05h 31E4:760B 00 3B add [bp+di],bh 31E4:760D 75 05 ;* jnz loc_2268 ;*Jump if not zero 31E4:760D 75 05 db 75h, 05h 31E4:760F 00 3B add [bp+di],bh 31E4:7611 75 05 ;* jnz loc_2269 ;*Jump if not zero 31E4:7611 75 05 db 75h, 05h 31E4:7613 00 3B add [bp+di],bh 31E4:7615 75 21 ;* jnz loc_2276 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 474 31E4:7615 75 21 db 75h, 21h 31E4:7617 00 3B add [bp+di],bh 31E4:7619 75 21 ;* jnz loc_2277 ;*Jump if not zero 31E4:7619 75 21 db 75h, 21h 31E4:761B 00 E5 add ch,ah 31E4:761D 03 1F add bx,[bx] 31E4:761F 00 05 add [di],al 31E4:7621 00 3B add [bp+di],bh 31E4:7623 75 05 ;* jnz loc_2272 ;*Jump if not zero 31E4:7623 75 05 db 75h, 05h 31E4:7625 00 3B add [bp+di],bh 31E4:7627 75 05 ;* jnz loc_2273 ;*Jump if not zero 31E4:7627 75 05 db 75h, 05h 31E4:7629 00 3B add [bp+di],bh 31E4:762B 75 05 ;* jnz loc_2274 ;*Jump if not zero 31E4:762B 75 05 db 75h, 05h 31E4:762D 00 3B add [bp+di],bh 31E4:762F 75 05 ;* jnz loc_2275 ;*Jump if not zero 31E4:762F 75 05 db 75h, 05h 31E4:7631 00 3B add [bp+di],bh 31E4:7633 75 21 ;* jnz loc_2281 ;*Jump if not zero 31E4:7633 75 21 db 75h, 21h 31E4:7635 00 E5 add ch,ah 31E4:7637 03 1F add bx,[bx] 31E4:7639 00 05 add [di],al 31E4:763B 00 3B add [bp+di],bh 31E4:763D 75 05 ;* jnz loc_2278 ;*Jump if not zero 31E4:763D 75 05 db 75h, 05h 31E4:763F 00 3B add [bp+di],bh 31E4:7641 75 20 jnz loc_2282 ; Jump if not zero 31E4:7643 00 05 add [di],al 31E4:7645 00 3B add [bp+di],bh 31E4:7647 75 05 ;* jnz loc_2279 ;*Jump if not zero 31E4:7647 75 05 db 75h, 05h 31E4:7649 00 3B add [bp+di],bh 31E4:764B 75 05 ;* jnz loc_2280 ;*Jump if not zero 31E4:764B 75 05 db 75h, 05h 31E4:764D 00 3B add [bp+di],bh 31E4:764F 75 05 ;* jnz loc_2281 ;*Jump if not zero 31E4:764F 75 05 db 75h, 05h 31E4:7651 00 3B add [bp+di],bh 31E4:7653 75 21 ;* jnz loc_2288 ;*Jump if not zero 31E4:7653 75 21 db 75h, 21h 31E4:7655 00 E5 add ch,ah 31E4:7657 03 1F add bx,[bx] 31E4:7659 00 05 add [di],al 31E4:765B 00 3B add [bp+di],bh 31E4:765D 75 05 ;* jnz loc_2283 ;*Jump if not zero 31E4:765D 75 05 db 75h, 05h 31E4:765F 00 3B add [bp+di],bh 31E4:7661 75 05 ;* jnz loc_2284 ;*Jump if not zero 31E4:7661 75 05 db 75h, 05h 31E4:7663 loc_2282: ; xref 31E4:7641 31E4:7663 00 3B add [bp+di],bh 31E4:7665 75 05 ;* jnz loc_2285 ;*Jump if not zero 31E4:7665 75 05 db 75h, 05h 31E4:7667 00 3B add [bp+di],bh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 475 31E4:7669 75 05 ;* jnz loc_2286 ;*Jump if not zero 31E4:7669 75 05 db 75h, 05h 31E4:766B 00 3B add [bp+di],bh 31E4:766D 75 05 ;* jnz loc_2287 ;*Jump if not zero 31E4:766D 75 05 db 75h, 05h 31E4:766F 00 3B add [bp+di],bh 31E4:7671 75 05 ;* jnz loc_2289 ;*Jump if not zero 31E4:7671 75 05 db 75h, 05h 31E4:7673 00 3B add [bp+di],bh 31E4:7675 75 05 ;* jnz loc_2290 ;*Jump if not zero 31E4:7675 75 05 db 75h, 05h 31E4:7677 00 3B add [bp+di],bh 31E4:7679 75 1C jnz loc_2291 ; Jump if not zero 31E4:767B 00 12 add [bp+si],dl 31E4:767D 00 4A 73 add [bp+si+73h],cl 31E4:7680 20 00 and [bx+si],al 31E4:7682 1F pop ds 31E4:7683 00 1F add [bx],bl 31E4:7685 00 1F add [bx],bl 31E4:7687 00 1C add [si],bl 31E4:7689 00 1C add [si],bl 31E4:768B 00 EC add ah,ch 31E4:768D 76 21 ;* jbe loc_2296 ;*Jump if below or = 31E4:768D 76 21 db 76h, 21h 31E4:768F 00 3B add [bp+di],bh 31E4:7691 75 21 ;* jnz loc_2298 ;*Jump if not zero 31E4:7691 75 21 db 75h, 21h 31E4:7693 00 E5 add ch,ah 31E4:7695 03 1F add bx,[bx] 31E4:7697 loc_2291: ; xref 31E4:7679 31E4:7697 00 05 add [di],al 31E4:7699 00 3B add [bp+di],bh 31E4:769B 75 05 ;* jnz loc_2292 ;*Jump if not zero 31E4:769B 75 05 db 75h, 05h 31E4:769D 00 3B add [bp+di],bh 31E4:769F 75 05 ;* jnz loc_2293 ;*Jump if not zero 31E4:769F 75 05 db 75h, 05h 31E4:76A1 00 3B add [bp+di],bh 31E4:76A3 75 05 ;* jnz loc_2294 ;*Jump if not zero 31E4:76A3 75 05 db 75h, 05h 31E4:76A5 00 3B add [bp+di],bh 31E4:76A7 75 05 ;* jnz loc_2295 ;*Jump if not zero 31E4:76A7 75 05 db 75h, 05h 31E4:76A9 00 3B add [bp+di],bh 31E4:76AB 75 05 ;* jnz loc_2297 ;*Jump if not zero 31E4:76AB 75 05 db 75h, 05h 31E4:76AD 00 3B add [bp+di],bh 31E4:76AF 75 21 ;* jnz loc_2304 ;*Jump if not zero 31E4:76AF 75 21 db 75h, 21h 31E4:76B1 00 E5 add ch,ah 31E4:76B3 03 1F add bx,[bx] 31E4:76B5 00 05 add [di],al 31E4:76B7 00 3B add [bp+di],bh 31E4:76B9 75 05 ;* jnz loc_2299 ;*Jump if not zero 31E4:76B9 75 05 db 75h, 05h 31E4:76BB 00 3B add [bp+di],bh 31E4:76BD 75 05 ;* jnz loc_2300 ;*Jump if not zero nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 476 31E4:76BD 75 05 db 75h, 05h 31E4:76BF 00 3B add [bp+di],bh 31E4:76C1 75 05 ;* jnz loc_2301 ;*Jump if not zero 31E4:76C1 75 05 db 75h, 05h 31E4:76C3 00 3B add [bp+di],bh 31E4:76C5 75 05 ;* jnz loc_2302 ;*Jump if not zero 31E4:76C5 75 05 db 75h, 05h 31E4:76C7 00 3B add [bp+di],bh 31E4:76C9 75 05 ;* jnz loc_2303 ;*Jump if not zero 31E4:76C9 75 05 db 75h, 05h 31E4:76CB 00 3B add [bp+di],bh 31E4:76CD 75 21 ;* jnz loc_2310 ;*Jump if not zero 31E4:76CD 75 21 db 75h, 21h 31E4:76CF 00 E5 add ch,ah 31E4:76D1 03 1F add bx,[bx] 31E4:76D3 00 05 add [di],al 31E4:76D5 00 3B add [bp+di],bh 31E4:76D7 75 05 ;* jnz loc_2305 ;*Jump if not zero 31E4:76D7 75 05 db 75h, 05h 31E4:76D9 00 3B add [bp+di],bh 31E4:76DB 75 05 ;* jnz loc_2306 ;*Jump if not zero 31E4:76DB 75 05 db 75h, 05h 31E4:76DD 00 3B add [bp+di],bh 31E4:76DF 75 05 ;* jnz loc_2307 ;*Jump if not zero 31E4:76DF 75 05 db 75h, 05h 31E4:76E1 00 3B add [bp+di],bh 31E4:76E3 75 05 ;* jnz loc_2308 ;*Jump if not zero 31E4:76E3 75 05 db 75h, 05h 31E4:76E5 00 3B add [bp+di],bh 31E4:76E7 75 05 ;* jnz loc_2309 ;*Jump if not zero 31E4:76E7 75 05 db 75h, 05h 31E4:76E9 00 3B add [bp+di],bh 31E4:76EB 75 1C ;* jnz loc_2311 ;*Jump if not zero 31E4:76EB 75 1C db 75h, 1Ch 31E4:76ED 00 1D add [di],bl 31E4:76EF 00 86 0777 add [bp+777h],al 31E4:76F3 00 16 2427 add ds:data_34e,dl ; (0000:2427=8Bh) 31E4:76F7 00 20 add [bx+si],ah 31E4:76F9 04 86 add al,86h 31E4:76FB 77 1E ja loc_2312 ; Jump if above 31E4:76FD 00 1C add [si],bl 31E4:76FF 1F pop ds 31E4:7700 25 2000 and ax,2000h 31E4:7703 04 05 add al,5 31E4:7705 08 00 or [bx+si],al 31E4:7707 00 00 db 0, 0 31E4:7709 00 00 00 25 00 20 db 00h, 00h, 00h, 25h, 00h, 20h 31E4:770F 04 00 00 00 00 D9 db 04h, 00h, 00h, 00h, 00h,0D9h 31E4:7715 08 00 00 25 00 db 08h, 00h, 00h, 25h, 00h 31E4:771A 20 db 20h 31E4:771B loc_2312: ; xref 31E4:76FB 31E4:771B 04 06 add al,6 31E4:771D 08 00 or [bx+si],al 31E4:771F 00 00 00 00 00 25 db 00h, 00h, 00h, 00h, 00h, 25h 31E4:7725 00 20 04 07 08 00 db 00h, 20h, 04h, 07h, 08h, 00h 31E4:772B 00 00 00 00 00 1F db 00h, 00h, 00h, 00h, 00h, 1Fh 31E4:7731 00 22 00 86 77 25 db 00h, 22h, 00h, 86h, 77h, 25h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 477 31E4:7737 00 20 04 F0 0B 00 db 00h, 20h, 04h,0F0h, 0Bh, 00h 31E4:773D 00 F1 0B 00 00 25 db 00h,0F1h, 0Bh, 00h, 00h, 25h 31E4:7743 00 20 04 F2 0B 00 db 00h, 20h, 04h,0F2h, 0Bh, 00h 31E4:7749 00 F3 0B 14 00 25 db 00h,0F3h, 0Bh, 14h, 00h, 25h 31E4:774F 00 20 04 F4 0B 14 db 00h, 20h, 04h,0F4h, 0Bh, 14h 31E4:7755 00 00 00 00 00 1F db 00h, 00h, 00h, 00h, 00h, 1Fh 31E4:775B 00 22 00 86 77 25 db 00h, 22h, 00h, 86h, 77h, 25h 31E4:7761 00 20 04 F5 0B 00 db 00h, 20h, 04h,0F5h, 0Bh, 00h 31E4:7767 00 F6 0B 00 00 25 db 00h,0F6h, 0Bh, 00h, 00h, 25h 31E4:776D 00 20 04 F7 0B 00 db 00h, 20h, 04h,0F7h, 0Bh, 00h 31E4:7773 00 F8 db 00h,0F8h 31E4:7775 000B data_936 dw 0Bh ; xref 31E4:BCFE 31E4:7777 00 25 00 20 04 F9 db 00h, 25h, 00h, 20h, 04h,0F9h 31E4:777D 0B 00 00 FA 0B 00 db 0Bh, 00h, 00h,0FAh, 0Bh, 00h 31E4:7783 00 1F 00 1C 00 11 db 00h, 1Fh, 00h, 1Ch, 00h, 11h 31E4:7789 00 00 00 07 00 15 db 00h, 00h, 00h, 07h, 00h, 15h 31E4:778F 27 1C 00 14 00 00 db 27h, 1Ch, 00h, 14h, 00h, 00h 31E4:7795 00 1C 00 0D 00 00 db 00h, 1Ch, 00h, 0Dh, 00h, 00h 31E4:779B 00 1C 00 0F 00 00 db 00h, 1Ch, 00h, 0Fh, 00h, 00h 31E4:77A1 00 22 00 4A 73 1C db 00h, 22h, 00h, 4Ah, 73h, 1Ch 31E4:77A7 00 1C 00 EC 76 20 db 00h, 1Ch, 00h,0ECh, 76h, 20h 31E4:77AD 00 1F 00 1F 00 1F db 00h, 1Fh, 00h, 1Fh, 00h, 1Fh 31E4:77B3 00 1F 00 22 00 EC db 00h, 1Fh, 00h, 22h, 00h,0ECh 31E4:77B9 76 02 00 0B F7 16 db 76h, 02h, 00h, 0Bh,0F7h, 16h 31E4:77BF 12 8C 1B 00 0C 82 db 12h, 8Ch, 1Bh, 00h, 0Ch, 82h 31E4:77C5 00 BA 77 0A 00 00 db 00h,0BAh, 77h, 0Ah, 00h, 00h 31E4:77CB 67 71 00 00 21 01 db 67h, 71h, 00h, 00h, 21h, 01h 31E4:77D1 06 01 20 00 30 00 db 06h, 01h, 20h, 00h, 30h, 00h 31E4:77D7 01 01 82 4F 20 00 db 01h, 01h, 82h, 4Fh, 20h, 00h 31E4:77DD 30 00 08 00 00 00 db 30h, 00h, 08h, 00h, 00h, 00h 31E4:77E3 13 5D 9E db 13h, 5Dh, 9Eh 31E4:77E6 0009[00] db 9 dup (0) 31E4:77EF 54 15 00 00 96 00 db 54h, 15h, 00h, 00h, 96h, 00h 31E4:77F5 00 00 F8 04 00 db 00h, 00h,0F8h, 04h, 00h 31E4:77FA 000D[00] db 13 dup (0) 31E4:7807 9F 13 00 db 9Fh, 13h, 00h 31E4:780A 0012[00] db 18 dup (0) 31E4:781C D3 67 00 00 00 00 db 0D3h, 67h, 00h, 00h, 00h, 00h 31E4:7822 00 00 00 02 AC db 00h, 00h, 00h, 02h,0ACh 31E4:7827 78 0A db 78h, 0Ah 31E4:7829 0015[00] db 21 dup (0) 31E4:783E 23 00 00 00 5C 78 db 23h, 00h, 00h, 00h, 5Ch, 78h 31E4:7844 25 00 ED 03 A8 0A db 25h, 00h,0EDh, 03h,0A8h, 0Ah 31E4:784A 00 00 A9 0A 00 00 db 00h, 00h,0A9h, 0Ah, 00h, 00h 31E4:7850 25 00 ED 03 AA 0A db 25h, 00h,0EDh, 03h,0AAh, 0Ah 31E4:7856 00 00 AB 0A 00 00 db 00h, 00h,0ABh, 0Ah, 00h, 00h 31E4:785C 1C 00 0E 00 00 00 db 1Ch, 00h, 0Eh, 00h, 00h, 00h 31E4:7862 1C 00 13 00 00 00 db 1Ch, 00h, 13h, 00h, 00h, 00h 31E4:7868 1C 00 20 00 A6 78 db 1Ch, 00h, 20h, 00h,0A6h, 78h 31E4:786E 07 00 20 27 24 00 db 07h, 00h, 20h, 27h, 24h, 00h 31E4:7874 29 04 db 29h, 04h 31E4:7876 loc_2313: 31E4:7876 9C pushf ; Push flags 31E4:7877 78 25 js loc_2314 ; Jump if sign=1 31E4:7879 00 29 add [bx+di],ch 31E4:787B 04 72 add al,72h ; 'r' 31E4:787D 09 00 or [bx+si],ax nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 478 31E4:787F 00 73 09 add [bp+di+9],dh 31E4:7882 00 00 add [bx+si],al 31E4:7884 25 2900 and ax,2900h 31E4:7887 04 74 add al,74h ; 't' 31E4:7889 09 00 or [bx+si],ax 31E4:788B 00 00 00 00 00 25 db 00h, 00h, 00h, 00h, 00h, 25h 31E4:7891 00 29 04 75 09 00 db 00h, 29h, 04h, 75h, 09h, 00h 31E4:7897 00 00 00 00 00 1C db 00h, 00h, 00h, 00h, 00h, 1Ch 31E4:789D 00 db 00h 31E4:789E loc_2314: ; xref 31E4:7877 31E4:789E 0C 00 or al,0 31E4:78A0 00 00 add [bx+si],al 31E4:78A2 07 pop es 31E4:78A3 00 1F add [bx],bl 31E4:78A5 27 daa ; Decimal adjust 31E4:78A6 1C 00 sbb al,0 31E4:78A8 0A 00 or al,[bx+si] 31E4:78AA 00 00 add [bx+si],al 31E4:78AC 1C 00 sbb al,0 31E4:78AE 0E push cs 31E4:78AF 00 00 add [bx+si],al 31E4:78B1 00 1C add [si],bl 31E4:78B3 00 13 add [bp+di],dl 31E4:78B5 00 00 add [bx+si],al 31E4:78B7 00 1C add [si],bl 31E4:78B9 00 20 add [bx+si],ah 31E4:78BB 00 FC add ah,bh 31E4:78BD 78 07 js loc_2315 ; Jump if sign=1 31E4:78BF 00 20 add [bx+si],ah 31E4:78C1 27 daa ; Decimal adjust 31E4:78C2 24 00 and al,0 31E4:78C4 29 04 sub [si],ax 31E4:78C6 loc_2315: ; xref 31E4:78BD 31E4:78C6 F2 78 25 00 29 04 db 0F2h, 78h, 25h, 00h, 29h, 04h 31E4:78CC 97 0B 00 00 98 0B db 97h, 0Bh, 00h, 00h, 98h, 0Bh 31E4:78D2 00 00 25 00 29 04 db 00h, 00h, 25h, 00h, 29h, 04h 31E4:78D8 99 0B 00 00 00 00 db 99h, 0Bh, 00h, 00h, 00h, 00h 31E4:78DE 00 00 25 00 29 04 db 00h, 00h, 25h, 00h, 29h, 04h 31E4:78E4 9A 0B 1E 00 00 00 db 9Ah, 0Bh, 1Eh, 00h, 00h, 00h 31E4:78EA 00 00 1F 00 1F 00 db 00h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:78F0 1F 00 1C 00 0C 00 db 1Fh, 00h, 1Ch, 00h, 0Ch, 00h 31E4:78F6 00 00 07 00 1F 27 db 00h, 00h, 07h, 00h, 1Fh, 27h 31E4:78FC 1C 00 0A 00 00 00 db 1Ch, 00h, 0Ah, 00h, 00h, 00h 31E4:7902 1C 00 0E 00 00 00 db 1Ch, 00h, 0Eh, 00h, 00h, 00h 31E4:7908 1C 00 13 00 00 00 db 1Ch, 00h, 13h, 00h, 00h, 00h 31E4:790E 1E 00 6C 1F 1C 00 db 1Eh, 00h, 6Ch, 1Fh, 1Ch, 00h 31E4:7914 23 00 98 79 24 00 db 23h, 00h, 98h, 79h, 24h, 00h 31E4:791A 36 04 96 79 1E 00 db 36h, 04h, 96h, 79h, 1Eh, 00h 31E4:7920 44 1F 25 00 36 04 db 44h, 1Fh, 25h, 00h, 36h, 04h 31E4:7926 D6 0B 00 00 D7 0B db 0D6h, 0Bh, 00h, 00h,0D7h, 0Bh 31E4:792C 00 00 25 00 36 04 db 00h, 00h, 25h, 00h, 36h, 04h 31E4:7932 D8 0B 00 00 D9 0B db 0D8h, 0Bh, 00h, 00h,0D9h, 0Bh 31E4:7938 00 00 25 00 db 00h, 00h, 25h, 00h 31E4:793C 36 db 36h 31E4:793D loc_2316: 31E4:793D 04 DA add al,0DAh 31E4:793F 0B 00 or ax,[bx+si] 31E4:7941 00 00 00 00 00 22 db 00h, 00h, 00h, 00h, 00h, 22h 31E4:7947 00 96 79 25 00 36 db 00h, 96h, 79h, 25h, 00h, 36h 31E4:794D 04 DB 0B 00 00 DC db 04h,0DBh, 0Bh, 00h, 00h,0DCh 31E4:7953 0B 00 00 25 00 36 db 0Bh, 00h, 00h, 25h, 00h, 36h 31E4:7959 04 DD 0B 00 00 DE db 04h,0DDh, 0Bh, 00h, 00h,0DEh 31E4:795F 0B 00 00 25 00 36 db 0Bh, 00h, 00h, 25h, 00h, 36h 31E4:7965 04 DF 0B 00 00 E0 db 04h,0DFh, 0Bh, 00h, 00h,0E0h 31E4:796B 0B 00 00 22 00 96 db 0Bh, 00h, 00h, 22h, 00h, 96h 31E4:7971 79 25 00 36 04 E1 db 79h, 25h, 00h, 36h, 04h,0E1h 31E4:7977 0B 00 00 E2 0B 00 db 0Bh, 00h, 00h,0E2h, 0Bh, 00h 31E4:797D 00 25 00 36 04 E3 db 00h, 25h, 00h, 36h, 04h,0E3h 31E4:7983 0B 00 00 E4 0B 00 db 0Bh, 00h, 00h,0E4h, 0Bh, 00h 31E4:7989 00 25 00 36 04 E5 db 00h, 25h, 00h, 36h, 04h,0E5h 31E4:798F 0B 00 00 00 00 00 db 0Bh, 00h, 00h, 00h, 00h, 00h 31E4:7995 00 1F 00 1C 00 0C db 00h, 1Fh, 00h, 1Ch, 00h, 0Ch 31E4:799B 00 00 00 1C 00 0A db 00h, 00h, 00h, 1Ch, 00h, 0Ah 31E4:79A1 00 00 00 22 00 5C db 00h, 00h, 00h, 22h, 00h, 5Ch 31E4:79A7 78 1C 00 0F 00 00 db 78h, 1Ch, 00h, 0Fh, 00h, 00h 31E4:79AD 00 21 00 E6 03 1F db 00h, 21h, 00h,0E6h, 03h, 1Fh 31E4:79B3 00 1F 00 1F 00 1F db 00h, 1Fh, 00h, 1Fh, 00h, 1Fh 31E4:79B9 00 1F 00 1F 00 1F db 00h, 1Fh, 00h, 1Fh, 00h, 1Fh 31E4:79BF 00 1F 00 1F 00 1F db 00h, 1Fh, 00h, 1Fh, 00h, 1Fh 31E4:79C5 00 1F 00 1F 00 1F db 00h, 1Fh, 00h, 1Fh, 00h, 1Fh 31E4:79CB 00 1F 00 1E 00 31 db 00h, 1Fh, 00h, 1Eh, 00h, 31h 31E4:79D1 27 22 00 5C 78 03 db 27h, 22h, 00h, 5Ch, 78h, 03h 31E4:79D7 00 0B D1 16 12 8C db 00h, 0Bh,0D1h, 16h, 12h, 8Ch 31E4:79DD 1B 18 81 1D 00 0C db 1Bh, 18h, 81h, 1Dh, 00h, 0Ch 31E4:79E3 82 00 D6 79 0A 00 db 82h, 00h,0D6h, 79h, 0Ah, 00h 31E4:79E9 00 67 71 00 00 75 db 00h, 67h, 71h, 00h, 00h, 75h 31E4:79EF 01 E5 00 20 00 30 db 01h,0E5h, 00h, 20h, 00h, 30h 31E4:79F5 00 01 01 82 4F 20 db 00h, 01h, 01h, 82h, 4Fh, 20h 31E4:79FB 00 30 00 08 00 00 db 00h, 30h, 00h, 08h, 00h, 00h 31E4:7A01 00 FE 5C 8F 00 db 00h,0FEh, 5Ch, 8Fh, 00h 31E4:7A06 0008[00] db 8 dup (0) 31E4:7A0E 15 16 00 00 96 00 db 15h, 16h, 00h, 00h, 96h, 00h 31E4:7A14 00 00 F8 04 28 00 db 00h, 00h,0F8h, 04h, 28h, 00h 31E4:7A1A 00 00 00 50 0B db 00h, 00h, 00h, 50h, 0Bh 31E4:7A1F 0007[00] db 7 dup (0) 31E4:7A26 DA 13 db 0DAh, 13h 31E4:7A28 0013[00] db 19 dup (0) 31E4:7A3B 13 68 00 00 00 00 db 13h, 68h, 00h, 00h, 00h, 00h 31E4:7A41 00 00 00 02 5D 7A db 00h, 00h, 00h, 02h, 5Dh, 7Ah 31E4:7A47 0F db 0Fh 31E4:7A48 0015[00] db 21 dup (0) 31E4:7A5D 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7A63 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7A69 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7A6F 1C 00 15 00 00 00 db 1Ch, 00h, 15h, 00h, 00h, 00h 31E4:7A75 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7A7B 1F 00 1C 00 12 00 db 1Fh, 00h, 1Ch, 00h, 12h, 00h 31E4:7A81 00 00 1C 00 19 00 db 00h, 00h, 1Ch, 00h, 19h, 00h 31E4:7A87 00 00 20 00 1F 00 db 00h, 00h, 20h, 00h, 1Fh, 00h 31E4:7A8D 1F 00 1F 00 1C 00 db 1Fh, 00h, 1Fh, 00h, 1Ch, 00h 31E4:7A93 17 00 00 00 20 00 db 17h, 00h, 00h, 00h, 20h, 00h 31E4:7A99 1F 00 1C 00 15 00 db 1Fh, 00h, 1Ch, 00h, 15h, 00h 31E4:7A9F 00 00 1C 00 14 00 db 00h, 00h, 1Ch, 00h, 14h, 00h 31E4:7AA5 00 00 1C 00 0D 00 db 00h, 00h, 1Ch, 00h, 0Dh, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 480 31E4:7AAB 00 00 1E 00 80 1F db 00h, 00h, 1Eh, 00h, 80h, 1Fh 31E4:7AB1 1C 00 0F 00 00 00 db 1Ch, 00h, 0Fh, 00h, 00h, 00h 31E4:7AB7 20 00 22 00 5D 7A db 20h, 00h, 22h, 00h, 5Dh, 7Ah 31E4:7ABD 1C 00 09 00 00 00 db 1Ch, 00h, 09h, 00h, 00h, 00h 31E4:7AC3 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7AC9 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7ACF 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7AD5 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7ADB 1C 00 07 00 00 00 db 1Ch, 00h, 07h, 00h, 00h, 00h 31E4:7AE1 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7AE7 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7AED 1E 00 94 1F 22 00 db 1Eh, 00h, 94h, 1Fh, 22h, 00h 31E4:7AF3 BD 7A 1C 00 1D 00 db 0BDh, 7Ah, 1Ch, 00h, 1Dh, 00h 31E4:7AF9 15 7B 07 00 16 27 db 15h, 7Bh, 07h, 00h, 16h, 27h 31E4:7AFF 24 00 20 04 15 7B db 24h, 00h, 20h, 04h, 15h, 7Bh 31E4:7B05 25 00 20 04 51 0B db 25h, 00h, 20h, 04h, 51h, 0Bh 31E4:7B0B 00 00 52 0B 00 00 db 00h, 00h, 52h, 0Bh, 00h, 00h 31E4:7B11 1F 00 1F 00 00 00 db 1Fh, 00h, 1Fh, 00h, 00h, 00h 31E4:7B17 02 00 0B F7 19 12 db 02h, 00h, 0Bh,0F7h, 19h, 12h 31E4:7B1D 8C 1B 00 0C 82 00 db 8Ch, 1Bh, 00h, 0Ch, 82h, 00h 31E4:7B23 17 7B 24 00 00 67 db 17h, 7Bh, 24h, 00h, 00h, 67h 31E4:7B29 71 00 00 6B 01 07 db 71h, 00h, 00h, 6Bh, 01h, 07h 31E4:7B2F 01 20 00 30 00 01 db 01h, 20h, 00h, 30h, 00h, 01h 31E4:7B35 01 82 4F 20 00 30 db 01h, 82h, 4Fh, 20h, 00h, 30h 31E4:7B3B 00 08 00 00 00 3D db 00h, 08h, 00h, 00h, 00h, 3Dh 31E4:7B41 5D 9E db 5Dh, 9Eh 31E4:7B43 0009[00] db 9 dup (0) 31E4:7B4C A8 15 00 00 96 00 db 0A8h, 15h, 00h, 00h, 96h, 00h 31E4:7B52 00 00 F8 04 28 00 db 00h, 00h,0F8h, 04h, 28h, 00h 31E4:7B58 00 00 00 50 0B db 00h, 00h, 00h, 50h, 0Bh 31E4:7B5D 0007[00] db 7 dup (0) 31E4:7B64 07 15 00 00 db 07h, 15h, 00h, 00h 31E4:7B68 0011[00] db 17 dup (0) 31E4:7B79 53 68 db 53h, 68h 31E4:7B7B 0007[00] db 7 dup (0) 31E4:7B82 02 9B 7B 24 db 02h, 9Bh, 7Bh, 24h 31E4:7B86 0015[00] db 21 dup (0) 31E4:7B9B 1C 00 14 00 00 00 db 1Ch, 00h, 14h, 00h, 00h, 00h 31E4:7BA1 07 00 21 27 1C 00 db 07h, 00h, 21h, 27h, 1Ch, 00h 31E4:7BA7 0F 00 00 00 1C 00 db 0Fh, 00h, 00h, 00h, 1Ch, 00h 31E4:7BAD 11 00 00 00 1C 00 db 11h, 00h, 00h, 00h, 1Ch, 00h 31E4:7BB3 0A 00 00 00 1C 00 db 0Ah, 00h, 00h, 00h, 1Ch, 00h 31E4:7BB9 0C 00 00 00 1C 00 db 0Ch, 00h, 00h, 00h, 1Ch, 00h 31E4:7BBF 14 00 00 00 1C 00 db 14h, 00h, 00h, 00h, 1Ch, 00h 31E4:7BC5 24 00 9B 7B 07 00 db 24h, 00h, 9Bh, 7Bh, 07h, 00h 31E4:7BCB 22 27 20 00 1F 00 db 22h, 27h, 20h, 00h, 1Fh, 00h 31E4:7BD1 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7BD7 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7BDD 1F 00 1F 00 20 00 db 1Fh, 00h, 1Fh, 00h, 20h, 00h 31E4:7BE3 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7BE9 1F 00 20 00 1F 00 db 1Fh, 00h, 20h, 00h, 1Fh, 00h 31E4:7BEF 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7BF5 20 00 1F 00 1F 00 db 20h, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7BFB 1F 00 1F 00 20 00 db 1Fh, 00h, 1Fh, 00h, 20h, 00h 31E4:7C01 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7C07 1F 00 22 00 9B 7B db 1Fh, 00h, 22h, 00h, 9Bh, 7Bh 31E4:7C0D 03 00 0B 3B 1A 12 db 03h, 00h, 0Bh, 3Bh, 1Ah, 12h 31E4:7C13 8C 1B 0D B0 1C 00 db 8Ch, 1Bh, 0Dh,0B0h, 1Ch, 00h 31E4:7C19 0C 82 00 0D 7C 24 db 0Ch, 82h, 00h, 0Dh, 7Ch, 24h 31E4:7C1F 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:7C25 F7 00 FD 00 20 00 db 0F7h, 00h,0FDh, 00h, 20h, 00h 31E4:7C2B 30 00 01 01 82 4F db 30h, 00h, 01h, 01h, 82h, 4Fh 31E4:7C31 20 00 30 00 08 00 db 20h, 00h, 30h, 00h, 08h, 00h 31E4:7C37 00 00 52 5D 9E db 00h, 00h, 52h, 5Dh, 9Eh 31E4:7C3C 0009[00] db 9 dup (0) 31E4:7C45 A8 15 00 00 96 00 db 0A8h, 15h, 00h, 00h, 96h, 00h 31E4:7C4B 00 00 F8 04 00 db 00h, 00h,0F8h, 04h, 00h 31E4:7C50 000D[00] db 13 dup (0) 31E4:7C5D 07 15 00 00 db 07h, 15h, 00h, 00h 31E4:7C61 0011[00] db 17 dup (0) 31E4:7C72 F3 68 db 0F3h, 68h 31E4:7C74 0007[00] db 7 dup (0) 31E4:7C7B 02 94 7C 24 db 02h, 94h, 7Ch, 24h 31E4:7C7F 0015[00] db 21 dup (0) 31E4:7C94 1C 00 14 00 00 00 db 1Ch, 00h, 14h, 00h, 00h, 00h 31E4:7C9A 22 00 AC 7C 1F 00 db 22h, 00h,0ACh, 7Ch, 1Fh, 00h 31E4:7CA0 1F 00 1C 00 14 00 db 1Fh, 00h, 1Ch, 00h, 14h, 00h 31E4:7CA6 00 00 07 00 21 27 db 00h, 00h, 07h, 00h, 21h, 27h 31E4:7CAC 1C 00 0F 00 00 00 db 1Ch, 00h, 0Fh, 00h, 00h, 00h 31E4:7CB2 1C 00 11 00 00 00 db 1Ch, 00h, 11h, 00h, 00h, 00h 31E4:7CB8 1C 00 0A 00 00 00 db 1Ch, 00h, 0Ah, 00h, 00h, 00h 31E4:7CBE 1C 00 0C 00 00 00 db 1Ch, 00h, 0Ch, 00h, 00h, 00h 31E4:7CC4 1C 00 14 00 00 00 db 1Ch, 00h, 14h, 00h, 00h, 00h 31E4:7CCA 1C 00 24 00 9E 7C db 1Ch, 00h, 24h, 00h, 9Eh, 7Ch 31E4:7CD0 07 00 22 27 20 00 db 07h, 00h, 22h, 27h, 20h, 00h 31E4:7CD6 1F 00 db 1Fh, 00h 31E4:7CD8 loc_2317: 31E4:7CD8 1F pop ds 31E4:7CD9 00 1F add [bx],bl 31E4:7CDB 00 1F add [bx],bl 31E4:7CDD 00 20 add [bx+si],ah 31E4:7CDF 00 1F add [bx],bl 31E4:7CE1 00 1F add [bx],bl 31E4:7CE3 00 1F add [bx],bl 31E4:7CE5 00 1F add [bx],bl 31E4:7CE7 00 20 add [bx+si],ah 31E4:7CE9 00 1F add [bx],bl 31E4:7CEB 00 1F add [bx],bl 31E4:7CED 00 1F add [bx],bl 31E4:7CEF 00 1F add [bx],bl 31E4:7CF1 00 20 add [bx+si],ah 31E4:7CF3 00 1F add [bx],bl 31E4:7CF5 00 1F add [bx],bl 31E4:7CF7 00 1F add [bx],bl 31E4:7CF9 00 1F add [bx],bl 31E4:7CFB 00 20 add [bx+si],ah 31E4:7CFD 00 1F add [bx],bl 31E4:7CFF 00 1F add [bx],bl 31E4:7D01 00 1F add [bx],bl 31E4:7D03 00 1F add [bx],bl 31E4:7D05 00 20 add [bx+si],ah 31E4:7D07 00 1F add [bx],bl 31E4:7D09 00 1F add [bx],bl 31E4:7D0B 00 1F add [bx],bl 31E4:7D0D 00 1F add [bx],bl 31E4:7D0F 00 22 add [bp+si],ah 31E4:7D11 00 9E 037C add [bp+37Ch],bl 31E4:7D15 00 0B add [bp+di],cl 31E4:7D17 CB retf ; Return far 31E4:7D18 25 0D CA 1C 12 8C db 25h, 0Dh,0CAh, 1Ch, 12h, 8Ch 31E4:7D1E 1B 00 00 db 1Bh, 00h, 00h 31E4:7D21 goewin_hotspot_rec: 31E4:7D21 00 00 00 db 00h, 00h, 00h 31E4:7D24 00 14 7D 1F 00 00 db 00h, 14h, 7Dh, 1Fh, 00h, 00h 31E4:7D2A 67 71 00 00 11 01 db 67h, 71h, 00h, 00h, 11h, 01h 31E4:7D30 E6 00 20 00 30 00 db 0E6h, 00h, 20h, 00h, 30h, 00h 31E4:7D36 01 01 80 81 20 00 db 01h, 01h, 80h, 81h, 20h, 00h 31E4:7D3C 30 00 08 00 00 00 db 30h, 00h, 08h, 00h, 00h, 00h 31E4:7D42 1E 59 9E 3A 04 db 1Eh, 59h, 9Eh, 3Ah, 04h 31E4:7D47 0007[00] db 7 dup (0) 31E4:7D4E 5B 15 00 00 96 00 db 5Bh, 15h, 00h, 00h, 96h, 00h 31E4:7D54 00 00 F8 04 00 db 00h, 00h,0F8h, 04h, 00h 31E4:7D59 000D[00] db 13 dup (0) 31E4:7D66 2D 14 00 db 2Dh, 14h, 00h 31E4:7D69 0012[00] db 18 dup (0) 31E4:7D7B 93 68 D3 68 00 00 db 93h, 68h,0D3h, 68h, 00h, 00h 31E4:7D81 00 00 00 02 9D 7D db 00h, 00h, 00h, 02h, 9Dh, 7Dh 31E4:7D87 0E db 0Eh 31E4:7D88 0015[00] db 21 dup (0) 31E4:7D9D 1C 00 22 00 00 00 db 1Ch, 00h, 22h, 00h, 00h, 00h 31E4:7DA3 21 00 4A 75 1E 00 db 21h, 00h, 4Ah, 75h, 1Eh, 00h 31E4:7DA9 CD 1D 1C 00 0A 00 db 0CDh, 1Dh, 1Ch, 00h, 0Ah, 00h 31E4:7DAF 00 00 07 00 25 27 db 00h, 00h, 07h, 00h, 25h, 27h 31E4:7DB5 1C 00 14 00 00 00 db 1Ch, 00h, 14h, 00h, 00h, 00h 31E4:7DBB 1C 00 11 00 00 00 db 1Ch, 00h, 11h, 00h, 00h, 00h 31E4:7DC1 1C 00 0F 00 00 00 db 1Ch, 00h, 0Fh, 00h, 00h, 00h 31E4:7DC7 22 00 9D 7D 1C 00 db 22h, 00h, 9Dh, 7Dh, 1Ch, 00h 31E4:7DCD 0F 00 00 00 21 00 db 0Fh, 00h, 00h, 00h, 21h, 00h 31E4:7DD3 E6 03 1F 00 1F 00 db 0E6h, 03h, 1Fh, 00h, 1Fh, 00h 31E4:7DD9 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7DDF 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7DE5 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7DEB 1F 00 1F 00 1F 00 db 1Fh, 00h, 1Fh, 00h, 1Fh, 00h 31E4:7DF1 1E 00 31 27 22 00 db 1Eh, 00h, 31h, 27h, 22h, 00h 31E4:7DF7 9D 7D 1C 00 26 00 db 9Dh, 7Dh, 1Ch, 00h, 26h, 00h 31E4:7DFD F9 7D 20 00 20 00 db 0F9h, 7Dh, 20h, 00h, 20h, 00h 31E4:7E03 22 00 01 7E 09 02 db 22h, 00h, 01h, 7Eh, 09h, 02h 31E4:7E09 00 10 32 7E 02 00 db 00h, 10h, 32h, 7Eh, 02h, 00h 31E4:7E0F 00 db 00h 31E4:7E10 loc_2318: 31E4:7E10 72 71 jc loc_2322 ; Jump if carry Set 31E4:7E12 00 00 add [bx+si],al 31E4:7E14 08 01 or [bx+di],al 31E4:7E16 loc_2320: 31E4:7E16 C7 00 0010 mov word ptr [bx+si],10h 31E4:7E1A 0B 00 or ax,[bx+si] 31E4:7E1C 03 01 add ax,[bx+di] 31E4:7E1E 3A 7F 08 cmp bh,[bx+8] 31E4:7E21 00 2F add [bx],ch 31E4:7E23 00 02 add [bp+si],al 31E4:7E25 00 00 add [bx+si],al 31E4:7E27 00 3D add [di],bh 31E4:7E29 58 pop ax nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 483 31E4:7E2A 00 58 06 add [bx+si+6],bl 31E4:7E2D 00 00 00 00 00 02 db 00h, 00h, 00h, 00h, 00h, 02h 31E4:7E33 00 01 0B 80 04 0B db 00h, 01h, 0Bh, 80h, 04h, 0Bh 31E4:7E39 80 09 02 00 10 32 db 80h, 09h, 02h, 00h, 10h, 32h 31E4:7E3F 7E 02 00 00 72 71 db 7Eh, 02h, 00h, 00h, 72h, 71h 31E4:7E45 00 00 2C 01 C7 00 db 00h, 00h, 2Ch, 01h,0C7h, 00h 31E4:7E4B 10 00 0B 00 03 01 db 10h, 00h, 0Bh, 00h, 03h, 01h 31E4:7E51 3A 7F 08 00 2F 00 db 3Ah, 7Fh, 08h, 00h, 2Fh, 00h 31E4:7E57 02 00 00 00 3D 58 db 02h, 00h, 00h, 00h, 3Dh, 58h 31E4:7E5D 00 4E 06 00 00 00 db 00h, 4Eh, 06h, 00h, 00h, 00h 31E4:7E63 00 06 03 00 01 0B db 00h, 06h, 03h, 00h, 01h, 0Bh 31E4:7E69 80 10 20 0A 0A 37 db 80h, 10h, 20h, 0Ah, 0Ah, 37h 31E4:7E6F 0A db 0Ah oil_burner_hotspot_rec: 31E4:7E70 01 02 00 50 65 db 01h, 02h, 00h, 50h, 65h 31E4:7E75 7E 1E 00 00 72 71 db 7Eh, 1Eh, 00h, 00h, 72h, 71h 31E4:7E7B 00 00 78 00 05 01 db 00h, 00h, 78h, 00h, 05h, 01h 31E4:7E81 10 00 db 10h, 00h 31E4:7E83 loc_2322: ; xref 31E4:7E10 31E4:7E83 06 push es 31E4:7E84 00 02 add [bp+si],al 31E4:7E86 01 BD 0241 add data_539[di],di ; (31E4:0241=0) 31E4:7E8A 00 46 00 add [bp],al 31E4:7E8D 02 00 add al,[bx+si] 31E4:7E8F 00 00 add [bx+si],al 31E4:7E91 27 daa ; Decimal adjust 31E4:7E92 59 pop cx 31E4:7E93 00 1C add [si],bl 31E4:7E95 06 push es 31E4:7E96 0008[00] db 8 dup (0) 31E4:7E9E 20 57 6D A8 01 00 db 20h, 57h, 6Dh,0A8h, 01h, 00h 31E4:7EA4 67 71 00 00 78 00 db 67h, 71h, 00h, 00h, 78h, 00h 31E4:7EAA 05 01 30 00 44 00 db 05h, 01h, 30h, 00h, 44h, 00h 31E4:7EB0 01 01 C6 80 2F 00 db 01h, 01h,0C6h, 80h, 2Fh, 00h 31E4:7EB6 44 00 02 00 00 00 db 44h, 00h, 02h, 00h, 00h, 00h 31E4:7EBC 30 59 db 30h, 59h 31E4:7EBE 000B[00] db 11 dup (0) 31E4:7EC9 20 57 6D 01 80 00 db 20h, 57h, 6Dh, 01h, 80h, 00h 31E4:7ECF 72 71 00 00 47 01 db 72h, 71h, 00h, 00h, 47h, 01h 31E4:7ED5 F2 00 10 00 19 00 db 0F2h, 00h, 10h, 00h, 19h, 00h 31E4:7EDB 03 01 69 7F 10 00 db 03h, 01h, 69h, 7Fh, 10h, 00h 31E4:7EE1 19 00 04 00 00 00 db 19h, 00h, 04h, 00h, 00h, 00h 31E4:7EE7 C4 58 00 84 01 00 db 0C4h, 58h, 00h, 84h, 01h, 00h 31E4:7EED 00 00 00 01 02 00 db 00h, 00h, 00h, 01h, 02h, 00h 31E4:7EF3 50 1A 7F 01 00 00 db 50h, 1Ah, 7Fh, 01h, 00h, 00h 31E4:7EF9 BD 41 00 00 38 01 db 0BDh, 41h, 00h, 00h, 38h, 01h 31E4:7EFF E8 00 20 00 3D 00 db 0E8h, 00h, 20h, 00h, 3Dh, 00h 31E4:7F05 03 01 09 80 20 00 db 03h, 01h, 09h, 80h, 20h, 00h 31E4:7F0B 35 00 04 00 00 00 db 35h, 00h, 04h, 00h, 00h, 00h 31E4:7F11 CD 58 00 82 02 00 db 0CDh, 58h, 00h, 82h, 02h, 00h 31E4:7F17 00 00 00 01 00 01 db 00h, 00h, 00h, 01h, 00h, 01h 31E4:7F1D 1D 80 00 00 00 20 db 1Dh, 80h, 00h, 00h, 00h, 20h 31E4:7F23 57 6D 01 00 00 BD db 57h, 6Dh, 01h, 00h, 00h,0BDh 31E4:7F29 41 00 00 40 01 64 db 41h, 00h, 00h, 40h, 01h, 64h 31E4:7F2F 00 20 00 0C 00 03 db 00h, 20h, 00h, 0Ch, 00h, 03h 31E4:7F35 01 3A 7F 14 00 0C db 01h, 3Ah, 7Fh, 14h, 00h, 0Ch 31E4:7F3B 00 04 00 14 00 34 db 00h, 04h, 00h, 14h, 00h, 34h 31E4:7F41 58 00 26 02 00 00 db 58h, 00h, 26h, 02h, 00h, 00h 31E4:7F47 00 00 00 00 00 20 db 00h, 00h, 00h, 00h, 00h, 20h 31E4:7F4D 57 6D 04 00 00 72 db 57h, 6Dh, 04h, 00h, 00h, 72h 31E4:7F53 71 00 00 C2 00 0F db 71h, 00h, 00h,0C2h, 00h, 0Fh 31E4:7F59 01 20 00 0C 00 03 db 01h, 20h, 00h, 0Ch, 00h, 03h 31E4:7F5F 01 54 7F 14 00 0C db 01h, 54h, 7Fh, 14h, 00h, 0Ch 31E4:7F65 00 04 00 0A 00 34 db 00h, 04h, 00h, 0Ah, 00h, 34h 31E4:7F6B 58 00 A4 01 00 00 db 58h, 00h,0A4h, 01h, 00h, 00h 31E4:7F71 00 00 00 02 00 0A db 00h, 00h, 00h, 02h, 00h, 0Ah 31E4:7F77 B7 0A 01 23 80 01 db 0B7h, 0Ah, 01h, 23h, 80h, 01h 31E4:7F7D 02 00 00 74 7F 07 db 02h, 00h, 00h, 74h, 7Fh, 07h 31E4:7F83 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:7F89 19 01 C9 00 10 00 db 19h, 01h,0C9h, 00h, 10h, 00h 31E4:7F8F 37 00 03 00 3A 7F db 37h, 00h, 03h, 00h, 3Ah, 7Fh 31E4:7F95 0E 00 37 00 01 00 db 0Eh, 00h, 37h, 00h, 01h, 00h 31E4:7F9B 00 00 BB 58 00 9E db 00h, 00h,0BBh, 58h, 00h, 9Eh 31E4:7FA1 02 00 db 02h, 00h 31E4:7FA3 0007[00] db 7 dup (0) 31E4:7FAA 20 57 6D 07 00 00 db 20h, 57h, 6Dh, 07h, 00h, 00h 31E4:7FB0 72 71 00 00 1C 01 db 72h, 71h, 00h, 00h, 1Ch, 01h 31E4:7FB6 CA 00 20 00 30 00 db 0CAh, 00h, 20h, 00h, 30h, 00h 31E4:7FBC 01 01 A1 7F 10 00 db 01h, 01h,0A1h, 7Fh, 10h, 00h 31E4:7FC2 30 00 04 00 00 00 db 30h, 00h, 04h, 00h, 00h, 00h 31E4:7FC8 B2 58 80 A8 02 00 db 0B2h, 58h, 80h,0A8h, 02h, 00h 31E4:7FCE 00 00 00 00 09 02 db 00h, 00h, 00h, 00h, 09h, 02h 31E4:7FD4 00 10 FD 7F 01 00 db 00h, 10h,0FDh, 7Fh, 01h, 00h 31E4:7FDA 00 AC 88 00 00 4D db 00h,0ACh, 88h, 00h, 00h, 4Dh 31E4:7FE0 01 EB 00 10 00 18 db 01h,0EBh, 00h, 10h, 00h, 18h 31E4:7FE6 00 03 01 3A 7F 0B db 00h, 03h, 01h, 3Ah, 7Fh, 0Bh 31E4:7FEC 00 3B 00 02 00 00 db 00h, 3Bh, 00h, 02h, 00h, 00h 31E4:7FF2 00 97 58 00 4E 06 db 00h, 97h, 58h, 00h, 4Eh, 06h 31E4:7FF8 00 00 00 00 00 02 db 00h, 00h, 00h, 00h, 00h, 02h 31E4:7FFE 00 01 db 00h, 01h 31E4:8000 E4 data_962 db 0E4h 31E4:8001 03 04 E4 03 11 02 db 03h, 04h,0E4h, 03h, 11h, 02h 31E4:8007 00 00 2F 80 04 00 db 00h, 00h, 2Fh, 80h, 04h, 00h 31E4:800D 00 72 71 00 00 F2 db 00h, 72h, 71h, 00h, 00h,0F2h 31E4:8013 00 0C 01 30 00 10 db 00h, 0Ch, 01h, 30h, 00h, 10h 31E4:8019 00 00 00 BD 41 08 db 00h, 00h, 00h,0BDh, 41h, 08h 31E4:801F 00 20 00 10 00 00 db 00h, 20h, 00h, 10h, 00h, 00h 31E4:8025 00 db 00h 31E4:8026 3D 58 db 3Dh, 58h 31E4:8028 0007[00] db 7 dup (0) 31E4:802F 02 00 01 10 80 05 db 02h, 00h, 01h, 10h, 80h, 05h 31E4:8035 0A 07 00 08 00 00 db 0Ah, 07h, 00h, 08h, 00h, 00h 31E4:803B 7C 80 04 00 00 67 db 7Ch, 80h, 04h, 00h, 00h, 67h 31E4:8041 71 00 00 AA 00 0C db 71h, 00h, 00h,0AAh, 00h, 0Ch 31E4:8047 01 50 00 0E 00 01 db 01h, 50h, 00h, 0Eh, 00h, 01h 31E4:804D 01 2A 88 49 00 1E db 01h, 2Ah, 88h, 49h, 00h, 1Eh 31E4:8053 00 02 00 00 00 A0 db 00h, 02h, 00h, 00h, 00h,0A0h 31E4:8059 58 AD db 58h,0ADh 31E4:805B 000D[00] db 13 dup (0) 31E4:8068 96 00 00 00 0A db 96h, 00h, 00h, 00h, 0Ah 31E4:806D 000F[00] db 15 dup (0) 31E4:807C 01 00 0C 93 1A 00 db 01h, 00h, 0Ch, 93h, 1Ah, 00h 31E4:8082 0C 00 00 C6 80 02 db 0Ch, 00h, 00h,0C6h, 80h, 02h 31E4:8088 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:808E AA 00 CF 00 10 00 db 0AAh, 00h,0CFh, 00h, 10h, 00h 31E4:8094 10 00 03 01 B3 81 db 10h, 00h, 03h, 01h,0B3h, 81h 31E4:809A 08 00 3E 00 02 00 db 08h, 00h, 3Eh, 00h, 02h, 00h 31E4:80A0 00 00 A9 58 00 E0 db 00h, 00h,0A9h, 58h, 00h,0E0h 31E4:80A6 03 db 03h 31E4:80A7 000B[00] db 11 dup (0) 31E4:80B2 96 00 00 00 F8 06 db 96h, 00h, 00h, 00h,0F8h, 06h 31E4:80B8 000E[00] db 14 dup (0) 31E4:80C6 03 00 0C B7 1A 0B db 03h, 00h, 0Ch,0B7h, 1Ah, 0Bh 31E4:80CC D4 1A 10 CB 12 00 db 0D4h, 1Ah, 10h,0CBh, 12h, 00h 31E4:80D2 0C 82 00 45 88 1D db 0Ch, 82h, 00h, 45h, 88h, 1Dh 31E4:80D8 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:80DE 10 01 C2 00 20 00 db 10h, 01h,0C2h, 00h, 20h, 00h 31E4:80E4 16 00 03 01 A0 82 db 16h, 00h, 03h, 01h,0A0h, 82h 31E4:80EA 20 00 16 00 02 00 db 20h, 00h, 16h, 00h, 02h, 00h 31E4:80F0 00 00 db 00h, 00h 31E4:80F2 73 58 db 73h, 58h 31E4:80F4 000E[00] db 14 dup (0) 31E4:8102 96 00 00 00 F4 06 db 96h, 00h, 00h, 00h,0F4h, 06h 31E4:8108 28 00 00 00 00 50 db 28h, 00h, 00h, 00h, 00h, 50h 31E4:810E 0B db 0Bh 31E4:810F 0007[00] db 7 dup (0) 31E4:8116 02 00 0B 49 17 12 db 02h, 00h, 0Bh, 49h, 17h, 12h 31E4:811C 8C 1B 00 0C 82 00 db 8Ch, 1Bh, 00h, 0Ch, 82h, 00h 31E4:8122 16 81 20 00 00 67 db 16h, 81h, 20h, 00h, 00h, 67h 31E4:8128 71 00 00 10 01 C4 db 71h, 00h, 00h, 10h, 01h,0C4h 31E4:812E 00 20 00 16 00 03 db 00h, 20h, 00h, 16h, 00h, 03h 31E4:8134 01 A0 82 20 00 16 db 01h,0A0h, 82h, 20h, 00h, 16h 31E4:813A 00 02 00 00 00 db 00h, 02h, 00h, 00h, 00h 31E4:813F 7C 58 db 7Ch, 58h 31E4:8141 000E[00] db 14 dup (0) 31E4:814F 96 00 00 00 F2 06 db 96h, 00h, 00h, 00h,0F2h, 06h 31E4:8155 28 00 00 00 00 50 db 28h, 00h, 00h, 00h, 00h, 50h 31E4:815B 0B db 0Bh 31E4:815C 0007[00] db 7 dup (0) 31E4:8163 02 00 0B 9F 18 12 db 02h, 00h, 0Bh, 9Fh, 18h, 12h 31E4:8169 8C 1B 00 0C 82 00 db 8Ch, 1Bh, 00h, 0Ch, 82h, 00h 31E4:816F 63 81 23 00 00 67 db 63h, 81h, 23h, 00h, 00h, 67h 31E4:8175 71 00 00 02 01 D8 db 71h, 00h, 00h, 02h, 01h,0D8h 31E4:817B 00 10 00 17 00 03 db 00h, 10h, 00h, 17h, 00h, 03h 31E4:8181 01 A0 82 10 00 17 db 01h,0A0h, 82h, 10h, 00h, 17h 31E4:8187 00 02 00 00 00 E4 db 00h, 02h, 00h, 00h, 00h,0E4h 31E4:818D 59 db 59h 31E4:818E 000E[00] db 14 dup (0) 31E4:819C 96 00 00 00 F0 06 db 96h, 00h, 00h, 00h,0F0h, 06h 31E4:81A2 28 00 00 00 00 50 db 28h, 00h, 00h, 00h, 00h, 50h 31E4:81A8 0B db 0Bh 31E4:81A9 0007[00] db 7 dup (0) 31E4:81B0 09 02 00 10 32 7E db 09h, 02h, 00h, 10h, 32h, 7Eh 31E4:81B6 03 00 00 72 71 00 db 03h, 00h, 00h, 72h, 71h, 00h 31E4:81BC 00 62 01 DF 00 10 db 00h, 62h, 01h,0DFh, 00h, 10h 31E4:81C2 00 0B 00 03 01 3A db 00h, 0Bh, 00h, 03h, 01h, 3Ah 31E4:81C8 7F 08 00 2F 00 02 db 7Fh, 08h, 00h, 2Fh, 00h, 02h 31E4:81CE 00 00 00 3D 58 00 db 00h, 00h, 00h, 3Dh, 58h, 00h 31E4:81D4 4E 06 00 00 00 00 db 4Eh, 06h, 00h, 00h, 00h, 00h 31E4:81DA 00 09 02 00 10 32 db 00h, 09h, 02h, 00h, 10h, 32h 31E4:81E0 7E 04 00 00 72 71 db 7Eh, 04h, 00h, 00h, 72h, 71h 31E4:81E6 00 00 DC 00 DD 00 db 00h, 00h,0DCh, 00h,0DDh, 00h 31E4:81EC 10 00 0B 00 01 01 db 10h, 00h, 0Bh, 00h, 01h, 01h 31E4:81F2 3A 7F 08 00 2F 00 db 3Ah, 7Fh, 08h, 00h, 2Fh, 00h 31E4:81F8 02 00 00 00 3D 58 db 02h, 00h, 00h, 00h, 3Dh, 58h 31E4:81FE 00 4E 06 db 00h, 4Eh, 06h 31E4:8201 0009[00] db 9 dup (0) 31E4:820A 1A 7F 04 00 00 72 db 1Ah, 7Fh, 04h, 00h, 00h, 72h 31E4:8210 71 00 00 12 01 F4 db 71h, 00h, 00h, 12h, 01h,0F4h 31E4:8216 00 10 00 1B 00 03 db 00h, 10h, 00h, 1Bh, 00h, 03h 31E4:821C 01 3A 7F 10 00 1B db 01h, 3Ah, 7Fh, 10h, 00h, 1Bh 31E4:8222 00 02 00 00 00 D6 db 00h, 02h, 00h, 00h, 00h,0D6h 31E4:8228 58 00 4E 06 db 58h, 00h, 4Eh, 06h 31E4:822C 0008[00] db 8 dup (0) 31E4:8234 20 57 6D 01 00 00 db 20h, 57h, 6Dh, 01h, 00h, 00h 31E4:823A 72 71 00 00 58 01 db 72h, 71h, 00h, 00h, 58h, 01h 31E4:8240 BC 00 10 00 0A 00 db 0BCh, 00h, 10h, 00h, 0Ah, 00h 31E4:8246 01 01 3A 7F 0F 00 db 01h, 01h, 3Ah, 7Fh, 0Fh, 00h 31E4:824C 0A 00 02 00 00 00 db 0Ah, 00h, 02h, 00h, 00h, 00h 31E4:8252 DF 58 00 1C 01 00 db 0DFh, 58h, 00h, 1Ch, 01h, 00h 31E4:8258 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:825E 01 00 87 82 01 00 db 01h, 00h, 87h, 82h, 01h, 00h 31E4:8264 00 67 71 00 00 18 db 00h, 67h, 71h, 00h, 00h, 18h 31E4:826A 01 58 00 10 00 10 db 01h, 58h, 00h, 10h, 00h, 10h 31E4:8270 00 01 01 BD 41 10 db 00h, 01h, 01h,0BDh, 41h, 10h 31E4:8276 00 10 00 02 00 00 db 00h, 10h, 00h, 02h, 00h, 00h 31E4:827C 00 db 00h 31E4:827D 34 58 db 34h, 58h 31E4:827F 0008[00] db 8 dup (0) 31E4:8287 01 00 11 1A 80 00 db 01h, 00h, 11h, 1Ah, 80h, 00h 31E4:828D 00 00 00 57 6D 14 db 00h, 00h, 00h, 57h, 6Dh, 14h 31E4:8293 00 00 17 86 00 00 db 00h, 00h, 17h, 86h, 00h, 00h 31E4:8299 75 01 64 00 10 00 db 75h, 01h, 64h, 00h, 10h, 00h 31E4:829F 10 00 03 01 BD 41 db 10h, 00h, 03h, 01h,0BDh, 41h 31E4:82A5 10 00 10 00 02 00 db 10h, 00h, 10h, 00h, 02h, 00h 31E4:82AB 00 00 db 00h, 00h 31E4:82AD 42 59 db 42h, 59h 31E4:82AF 0008[00] db 8 dup (0) 31E4:82B7 03 00 01 10 80 04 db 03h, 00h, 01h, 10h, 80h, 04h 31E4:82BD E5 0F 03 35 10 0D db 0E5h, 0Fh, 03h, 35h, 10h, 0Dh 31E4:82C3 02 00 10 B7 82 26 db 02h, 00h, 10h,0B7h, 82h, 26h 31E4:82C9 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:82CF 4C 01 C6 00 10 00 db 4Ch, 01h,0C6h, 00h, 10h, 00h 31E4:82D5 0A 00 03 01 FA 86 db 0Ah, 00h, 03h, 01h,0FAh, 86h 31E4:82DB 09 00 0A 00 02 00 db 09h, 00h, 0Ah, 00h, 02h, 00h 31E4:82E1 00 00 C9 db 00h, 00h,0C9h 31E4:82E4 59 db 59h 31E4:82E5 0008[00] db 8 dup (0) 31E4:82ED 03 00 01 10 80 04 db 03h, 00h, 01h, 10h, 80h, 04h 31E4:82F3 6F 0F 03 BF 0F 0D db 6Fh, 0Fh, 03h,0BFh, 0Fh, 0Dh 31E4:82F9 02 00 10 ED 82 26 db 02h, 00h, 10h,0EDh, 82h, 26h 31E4:82FF 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8305 E3 00 C6 00 10 00 db 0E3h, 00h,0C6h, 00h, 10h, 00h 31E4:830B 0A 00 03 01 FF 86 db 0Ah, 00h, 03h, 01h,0FFh, 86h 31E4:8311 09 00 0A 00 02 00 db 09h, 00h, 0Ah, 00h, 02h, 00h 31E4:8317 00 00 C9 db 00h, 00h,0C9h 31E4:831A 59 db 59h 31E4:831B 0008[00] db 8 dup (0) 31E4:8323 03 00 01 10 80 03 db 03h, 00h, 01h, 10h, 80h, 03h 31E4:8329 21 11 04 D1 10 0D db 21h, 11h, 04h,0D1h, 10h, 0Dh 31E4:832F 02 00 10 23 83 27 db 02h, 00h, 10h, 23h, 83h, 27h 31E4:8335 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:833B 4C 01 C6 00 10 00 db 4Ch, 01h,0C6h, 00h, 10h, 00h 31E4:8341 0A 00 03 01 3D 87 db 0Ah, 00h, 03h, 01h, 3Dh, 87h 31E4:8347 09 00 0A 00 02 00 db 09h, 00h, 0Ah, 00h, 02h, 00h 31E4:834D 00 00 C9 db 00h, 00h,0C9h 31E4:8350 59 db 59h 31E4:8351 0008[00] db 8 dup (0) 31E4:8359 03 00 01 10 80 03 db 03h, 00h, 01h, 10h, 80h, 03h 31E4:835F AB 10 04 5B 10 0D db 0ABh, 10h, 04h, 5Bh, 10h, 0Dh 31E4:8365 02 00 10 59 83 27 db 02h, 00h, 10h, 59h, 83h, 27h 31E4:836B 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8371 E3 00 C6 00 10 00 db 0E3h, 00h,0C6h, 00h, 10h, 00h 31E4:8377 0A 00 03 01 1E 87 db 0Ah, 00h, 03h, 01h, 1Eh, 87h 31E4:837D 09 00 0A 00 02 00 db 09h, 00h, 0Ah, 00h, 02h, 00h 31E4:8383 00 00 C9 db 00h, 00h,0C9h 31E4:8386 59 db 59h 31E4:8387 0008[00] db 8 dup (0) 31E4:838F 03 00 01 10 80 03 db 03h, 00h, 01h, 10h, 80h, 03h 31E4:8395 07 12 04 BD 11 0D db 07h, 12h, 04h,0BDh, 11h, 0Dh 31E4:839B 02 00 10 8F 83 28 db 02h, 00h, 10h, 8Fh, 83h, 28h 31E4:83A1 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:83A7 52 01 C6 00 10 00 db 52h, 01h,0C6h, 00h, 10h, 00h 31E4:83AD 0A 00 03 00 47 87 db 0Ah, 00h, 03h, 00h, 47h, 87h 31E4:83B3 09 00 0A 00 02 00 db 09h, 00h, 0Ah, 00h, 02h, 00h 31E4:83B9 00 00 C9 db 00h, 00h,0C9h 31E4:83BC 59 db 59h 31E4:83BD 0008[00] db 8 dup (0) 31E4:83C5 03 00 01 10 80 03 db 03h, 00h, 01h, 10h, 80h, 03h 31E4:83CB 97 11 04 47 11 0D db 97h, 11h, 04h, 47h, 11h, 0Dh 31E4:83D1 02 00 10 C5 83 28 db 02h, 00h, 10h,0C5h, 83h, 28h 31E4:83D7 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:83DD E9 00 C6 00 10 00 db 0E9h, 00h,0C6h, 00h, 10h, 00h 31E4:83E3 0A 00 03 00 42 87 db 0Ah, 00h, 03h, 00h, 42h, 87h 31E4:83E9 09 00 0A 00 02 00 db 09h, 00h, 0Ah, 00h, 02h, 00h 31E4:83EF 00 00 C9 db 00h, 00h,0C9h 31E4:83F2 59 db 59h 31E4:83F3 0008[00] db 8 dup (0) sack_hotspot_rec 31E4:83FB 2D 02 00 00 25 84 db 2Dh, 02h, 00h, 00h, 25h, 84h 31E4:8401 03 00 00 67 71 db 03h, 00h, 00h, 67h, 71h 31E4:8406 0000 data_8406 dw 0 31E4:8408 015E dw 015Eh 31E4:840A 0064 data_840a dw 64h 31E4:840C 20 db 20h 31E4:840D 00 0E 00 03 00 BD db 00h, 0Eh, 00h, 03h, 00h,0BDh 31E4:8413 41 1B 00 18 00 02 db 41h, 1Bh, 00h, 18h, 00h, 02h 31E4:8419 00 00 00 2B 58 40 db 00h, 00h, 00h, 2Bh, 58h, 40h 31E4:841F 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:8425 06 00 10 84 08 06 db 06h, 00h, 10h, 84h, 08h, 06h 31E4:842B E4 08 01 10 80 04 db 0E4h, 08h, 01h, 10h, 80h, 04h 31E4:8431 10 80 03 10 80 0A db 10h, 80h, 03h, 10h, 80h, 0Ah 31E4:8437 44 08 01 02 00 00 db 44h, 08h, 01h, 02h, 00h, 00h 31E4:843D 63 84 03 00 00 72 db 63h, 84h, 03h, 00h, 00h, 72h 31E4:8443 71 00 00 64 01 09 db 71h, 00h, 00h, 64h, 01h, 09h 31E4:8449 01 10 00 0C 00 01 db 01h, 10h, 00h, 0Ch, 00h, 01h 31E4:844F 01 BD 41 04 00 0D db 01h,0BDh, 41h, 04h, 00h, 0Dh 31E4:8455 00 04 00 00 00 19 db 00h, 04h, 00h, 00h, 00h, 19h 31E4:845B 58 70 00 00 00 00 db 58h, 70h, 00h, 00h, 00h, 00h 31E4:8461 00 00 03 00 19 D2 db 00h, 00h, 03h, 00h, 19h,0D2h 31E4:8467 12 10 D2 12 14 0E db 12h, 10h,0D2h, 12h, 14h, 0Eh 31E4:846D 00 db 00h 31E4:846E 01 02 00 00 57 hotspot_2713 db 01h, 02h, 00h, 00h, 57h 31E4:8473 6D 03 00 00 72 71 db 6Dh, 03h, 00h, 00h, 72h, 71h 31E4:8479 00 00 BF 00 FB 00 db 00h, 00h,0BFh, 00h,0FBh, 00h 31E4:847F 10 00 03 00 01 01 db 10h, 00h, 03h, 00h, 01h, 01h 31E4:8485 BD 41 10 00 1E 00 db 0BDh, 41h, 10h, 00h, 1Eh, 00h 31E4:848B 04 00 00 00 22 58 db 04h, 00h, 00h, 00h, 22h, 58h 31E4:8491 70 00 00 00 00 00 db 70h, 00h, 00h, 00h, 00h, 00h 31E4:8497 00 01 02 00 00 57 db 00h, 01h, 02h, 00h, 00h, 57h 31E4:849D 6D 02 01 00 72 71 db 6Dh, 02h, 01h, 00h, 72h, 71h 31E4:84A3 00 00 1D 01 07 01 db 00h, 00h, 1Dh, 01h, 07h, 01h 31E4:84A9 10 00 03 00 01 01 db 10h, 00h, 03h, 00h, 01h, 01h 31E4:84AF BD 41 06 00 03 00 db 0BDh, 41h, 06h, 00h, 03h, 00h 31E4:84B5 02 db 02h 31E4:84B6 000C[00] db 12 dup (0) 31E4:84C2 01 00 19 F1 0D 01 db 01h, 00h, 19h,0F1h, 0Dh, 01h 31E4:84C8 02 00 00 C2 84 db 02h, 00h, 00h,0C2h, 84h 31E4:84CD 0102 hotspot_2713_hs5e dw 0102h 31E4:84CF 00 72 71 00 00 db 00h, 72h, 71h, 00h, 00h 31E4:84D4 1D 01 07 01 10 00 db 1Dh, 01h, 07h, 01h, 10h, 00h 31E4:84DA 0F 00 01 01 BD 41 db 0Fh, 00h, 01h, 01h,0BDh, 41h 31E4:84E0 0F 00 0F 00 02 db 0Fh, 00h, 0Fh, 00h, 02h 31E4:84E5 000C[00] db 12 dup (0) 31E4:84F1 01 02 00 00 57 6D db 01h, 02h, 00h, 00h, 57h, 6Dh 31E4:84F7 02 01 00 72 71 00 db 02h, 01h, 00h, 72h, 71h, 00h 31E4:84FD 00 1D 01 07 01 10 db 00h, 1Dh, 01h, 07h, 01h, 10h 31E4:8503 00 0F 00 01 01 BD db 00h, 0Fh, 00h, 01h, 01h,0BDh 31E4:8509 41 0F 00 0F 00 02 db 41h, 0Fh, 00h, 0Fh, 00h, 02h 31E4:850F 000C[00] db 12 dup (0) 31E4:851B 01 02 00 00 57 6D db 01h, 02h, 00h, 00h, 57h, 6Dh 31E4:8521 02 01 00 72 71 00 db 02h, 01h, 00h, 72h, 71h, 00h 31E4:8527 00 1D 01 07 01 10 db 00h, 1Dh, 01h, 07h, 01h, 10h 31E4:852D 00 0F 00 01 01 BD db 00h, 0Fh, 00h, 01h, 01h,0BDh 31E4:8533 41 0F 00 0F 00 02 db 41h, 0Fh, 00h, 0Fh, 00h, 02h 31E4:8539 000C[00] db 12 dup (0) 31E4:8545 01 02 00 20 57 6D db 01h, 02h, 00h, 20h, 57h, 6Dh 31E4:854B 12 00 00 72 71 00 db 12h, 00h, 00h, 72h, 71h, 00h 31E4:8551 00 BC 00 EF 00 10 db 00h,0BCh, 00h,0EFh, 00h, 10h 31E4:8557 00 08 00 01 01 BD db 00h, 08h, 00h, 01h, 01h,0BDh 31E4:855D 41 08 00 08 00 02 db 41h, 08h, 00h, 08h, 00h, 02h 31E4:8563 00 00 00 8F 5A 00 db 00h, 00h, 00h, 8Fh, 5Ah, 00h 31E4:8569 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:856F 01 02 00 20 57 6D db 01h, 02h, 00h, 20h, 57h, 6Dh 31E4:8575 0E 00 00 72 71 00 db 0Eh, 00h, 00h, 72h, 71h, 00h 31E4:857B 00 8C 01 FE 00 10 db 00h, 8Ch, 01h,0FEh, 00h, 10h 31E4:8581 00 06 00 01 01 BD db 00h, 06h, 00h, 01h, 01h,0BDh 31E4:8587 41 0A 00 06 00 02 db 41h, 0Ah, 00h, 06h, 00h, 02h 31E4:858D 00 00 00 98 5A 00 db 00h, 00h, 00h, 98h, 5Ah, 00h 31E4:8593 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:8599 01 02 00 00 57 6D db 01h, 02h, 00h, 00h, 57h, 6Dh 31E4:859F 02 01 00 72 71 00 db 02h, 01h, 00h, 72h, 71h, 00h 31E4:85A5 00 1D 01 07 01 10 db 00h, 1Dh, 01h, 07h, 01h, 10h 31E4:85AB 00 0F 00 01 01 BD db 00h, 0Fh, 00h, 01h, 01h,0BDh 31E4:85B1 41 0F 00 0F 00 02 db 41h, 0Fh, 00h, 0Fh, 00h, 02h 31E4:85B7 000C[00] db 12 dup (0) 31E4:85C3 01 00 01 13 04 01 db 01h, 00h, 01h, 13h, 04h, 01h 31E4:85C9 02 00 40 C3 85 2B db 02h, 00h, 40h,0C3h, 85h, 2Bh 31E4:85CF 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:85D5 F3 00 F0 00 10 00 db 0F3h, 00h,0F0h, 00h, 10h, 00h 31E4:85DB 0D 00 03 01 BD 41 db 0Dh, 00h, 03h, 01h,0BDh, 41h 31E4:85E1 0F 00 0F 00 02 00 db 0Fh, 00h, 0Fh, 00h, 02h, 00h 31E4:85E7 00 00 BC 5A 00 00 db 00h, 00h,0BCh, 5Ah, 00h, 00h 31E4:85ED 00 00 00 00 00 01 db 00h, 00h, 00h, 00h, 00h, 01h 31E4:85F3 02 00 00 57 6D 2B db 02h, 00h, 00h, 57h, 6Dh, 2Bh 31E4:85F9 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:85FF 0E 01 F0 00 10 00 db 0Eh, 01h,0F0h, 00h, 10h, 00h 31E4:8605 0D 00 03 01 BD 41 db 0Dh, 00h, 03h, 01h,0BDh, 41h 31E4:860B 0F 00 0F 00 02 00 db 0Fh, 00h, 0Fh, 00h, 02h, 00h 31E4:8611 00 00 C5 db 00h, 00h,0C5h 31E4:8614 5A db 5Ah 31E4:8615 0007[00] db 7 dup (0) 31E4:861C 01 02 00 00 57 6D db 01h, 02h, 00h, 00h, 57h, 6Dh 31E4:8622 BB 01 00 72 71 01 db 0BBh, 01h, 00h, 72h, 71h, 01h 31E4:8628 02 00 00 57 6D BB db 02h, 00h, 00h, 57h, 6Dh,0BBh 31E4:862E 01 00 72 71 00 00 db 01h, 00h, 72h, 71h, 00h, 00h 31E4:8634 0E 01 F0 00 10 00 db 0Eh, 01h,0F0h, 00h, 10h, 00h 31E4:863A 0D 00 03 01 BD 41 db 0Dh, 00h, 03h, 01h,0BDh, 41h 31E4:8640 0F 00 0F 00 02 00 db 0Fh, 00h, 0Fh, 00h, 02h, 00h 31E4:8646 00 00 C5 db 00h, 00h,0C5h 31E4:8649 5A db 5Ah 31E4:864A 0007[00] db 7 dup (0) 31E4:8651 01 00 19 FE 0D 01 db 01h, 00h, 19h,0FEh, 0Dh, 01h 31E4:8657 02 00 00 51 86 63 db 02h, 00h, 00h, 51h, 86h, 63h 31E4:865D 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8663 F3 00 F6 00 10 00 db 0F3h, 00h,0F6h, 00h, 10h, 00h 31E4:8669 07 00 01 01 BD 41 db 07h, 00h, 01h, 01h,0BDh, 41h 31E4:866F 0F 00 07 00 02 db 0Fh, 00h, 07h, 00h, 02h 31E4:8674 000C[00] db 12 dup (0) 31E4:8680 01 02 00 00 57 6D db 01h, 02h, 00h, 00h, 57h, 6Dh 31E4:8686 00 01 00 72 71 00 db 00h, 01h, 00h, 72h, 71h, 00h 31E4:868C 00 F3 00 F6 00 10 db 00h,0F3h, 00h,0F6h, 00h, 10h 31E4:8692 00 0F 00 01 01 BD db 00h, 0Fh, 00h, 01h, 01h,0BDh 31E4:8698 41 08 00 0F 00 02 db 41h, 08h, 00h, 0Fh, 00h, 02h 31E4:869E 000C[00] db 12 dup (0) 31E4:86AA 01 00 14 2E 80 01 db 01h, 00h, 14h, 2Eh, 80h, 01h 31E4:86B0 02 00 00 AA 86 00 db 02h, 00h, 00h,0AAh, 86h, 00h 31E4:86B6 01 00 72 71 00 00 db 01h, 00h, 72h, 71h, 00h, 00h 31E4:86BC F3 00 F6 00 10 00 db 0F3h, 00h,0F6h, 00h, 10h, 00h 31E4:86C2 07 00 01 01 BD 41 db 07h, 00h, 01h, 01h,0BDh, 41h 31E4:86C8 05 00 07 00 02 db 05h, 00h, 07h, 00h, 02h 31E4:86CD 000C[00] db 12 dup (0) 31E4:86D9 01 02 00 00 57 6D db 01h, 02h, 00h, 00h, 57h, 6Dh 31E4:86DF 00 00 00 72 71 00 db 00h, 00h, 00h, 72h, 71h, 00h 31E4:86E5 00 3A 01 3A 01 10 db 00h, 3Ah, 01h, 3Ah, 01h, 10h 31E4:86EB 00 03 00 01 01 BD db 00h, 03h, 00h, 01h, 01h,0BDh 31E4:86F1 41 06 00 04 00 02 db 41h, 06h, 00h, 04h, 00h, 02h 31E4:86F7 00 00 00 db 00h, 00h, 00h 31E4:86FA 39 59 db 39h, 59h 31E4:86FC 0007[00] db 7 dup (0) 31E4:8703 03 00 10 C7 09 19 db 03h, 00h, 10h,0C7h, 09h, 19h 31E4:8709 C7 09 14 B4 0B 01 db 0C7h, 09h, 14h,0B4h, 0Bh, 01h 31E4:870F 02 00 00 03 87 E7 db 02h, 00h, 00h, 03h, 87h,0E7h 31E4:8715 03 00 72 71 00 00 db 03h, 00h, 72h, 71h, 00h, 00h 31E4:871B E9 00 F3 00 10 00 db 0E9h, 00h,0F3h, 00h, 10h, 00h 31E4:8721 09 00 01 01 BD 41 db 09h, 00h, 01h, 01h,0BDh, 41h 31E4:8727 06 00 09 00 02 db 06h, 00h, 09h, 00h, 02h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 490 31E4:872C 000C[00] db 12 dup (0) 31E4:8738 E0 01 00 10 62 87 db 0E0h, 01h, 00h, 10h, 62h, 87h 31E4:873E 01 00 00 67 71 00 db 01h, 00h, 00h, 67h, 71h, 00h 31E4:8744 00 D1 00 F6 00 10 db 00h,0D1h, 00h,0F6h, 00h, 10h 31E4:874A 00 35 00 03 00 07 db 00h, 35h, 00h, 03h, 00h, 07h 31E4:8750 72 0B 00 35 00 08 db 72h, 0Bh, 00h, 35h, 00h, 08h 31E4:8756 00 00 00 db 00h, 00h, 00h 31E4:8759 4F 58 db 4Fh, 58h 31E4:875B 0007[00] db 7 dup (0) 31E4:8762 04 00 01 10 80 06 db 04h, 00h, 01h, 10h, 80h, 06h 31E4:8768 59 02 08 CE 02 09 db 59h, 02h, 08h,0CEh, 02h, 09h 31E4:876E CE 02 E0 01 00 10 db 0CEh, 02h,0E0h, 01h, 00h, 10h 31E4:8774 9A 87 02 00 00 67 db 9Ah, 87h, 02h, 00h, 00h, 67h 31E4:877A 71 00 00 E0 00 C8 db 71h, 00h, 00h,0E0h, 00h,0C8h 31E4:8780 00 20 00 30 00 03 db 00h, 20h, 00h, 30h, 00h, 03h 31E4:8786 01 07 72 20 00 30 db 01h, 07h, 72h, 20h, 00h, 30h 31E4:878C 00 04 00 00 00 db 00h, 04h, 00h, 00h, 00h 31E4:8791 58 58 db 58h, 58h 31E4:8793 0007[00] db 7 dup (0) 31E4:879A 06 00 10 CA 08 06 db 06h, 00h, 10h,0CAh, 08h, 06h 31E4:87A0 86 02 07 B7 02 08 db 86h, 02h, 07h,0B7h, 02h, 08h 31E4:87A6 F8 02 09 25 03 01 db 0F8h, 02h, 09h, 25h, 03h, 01h 31E4:87AC 10 80 0D 02 00 40 db 10h, 80h, 0Dh, 02h, 00h, 40h 31E4:87B2 D8 87 02 00 00 67 db 0D8h, 87h, 02h, 00h, 00h, 67h 31E4:87B8 71 00 00 88 01 D0 db 71h, 00h, 00h, 88h, 01h,0D0h 31E4:87BE 00 20 00 40 00 03 db 00h, 20h, 00h, 40h, 00h, 03h 31E4:87C4 01 07 72 20 00 35 db 01h, 07h, 72h, 20h, 00h, 35h 31E4:87CA 00 08 00 00 00 46 db 00h, 08h, 00h, 00h, 00h, 46h 31E4:87D0 58 10 00 00 00 00 db 58h, 10h, 00h, 00h, 00h, 00h 31E4:87D6 00 00 04 00 06 07 db 00h, 00h, 04h, 00h, 06h, 07h 31E4:87DC 00 03 04 05 04 04 db 00h, 03h, 04h, 05h, 04h, 04h 31E4:87E2 05 01 12 80 61 02 db 05h, 01h, 12h, 80h, 61h, 02h 31E4:87E8 00 10 10 88 11 00 db 00h, 10h, 10h, 88h, 11h, 00h 31E4:87EE 00 67 71 00 00 49 db 00h, 67h, 71h, 00h, 00h, 49h 31E4:87F4 01 E5 00 20 00 39 db 01h,0E5h, 00h, 20h, 00h, 39h 31E4:87FA 00 03 01 07 72 20 db 00h, 03h, 01h, 07h, 72h, 20h 31E4:8800 00 34 00 08 00 00 db 00h, 34h, 00h, 08h, 00h, 00h 31E4:8806 00 db 00h 31E4:8807 61 58 db 61h, 58h 31E4:8809 0007[00] db 7 dup (0) 31E4:8810 03 00 06 73 0D 07 db 03h, 00h, 06h, 73h, 0Dh, 07h 31E4:8816 7A 0D 01 0B 80 61 db 7Ah, 0Dh, 01h, 0Bh, 80h, 61h 31E4:881C 02 00 10 10 88 1D db 02h, 00h, 10h, 10h, 88h, 1Dh 31E4:8822 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8828 98 00 1E 01 60 00 db 98h, 00h, 1Eh, 01h, 60h, 00h 31E4:882E 28 00 03 01 07 72 db 28h, 00h, 03h, 01h, 07h, 72h 31E4:8834 20 00 2C 00 08 00 db 20h, 00h, 2Ch, 00h, 08h, 00h 31E4:883A 00 00 db 00h, 00h 31E4:883C 6A 58 db 6Ah, 58h 31E4:883E 0007[00] db 7 dup (0) 31E4:8845 02 00 0B 88 17 12 db 02h, 00h, 0Bh, 88h, 17h, 12h 31E4:884B 8C 1B 02 00 0B F6 db 8Ch, 1Bh, 02h, 00h, 0Bh,0F6h 31E4:8851 1B 12 D0 1B 00 0C db 1Bh, 12h,0D0h, 1Bh, 00h, 0Ch 31E4:8857 82 00 4D 88 1C 00 db 82h, 00h, 4Dh, 88h, 1Ch, 00h 31E4:885D 00 72 71 00 00 CE db 00h, 72h, 71h, 00h, 00h,0CEh 31E4:8863 00 13 01 30 00 2F db 00h, 13h, 01h, 30h, 00h, 2Fh 31E4:8869 00 01 01 F3 81 27 db 00h, 01h, 01h,0F3h, 81h, 27h 31E4:886F 00 43 00 02 00 00 db 00h, 43h, 00h, 02h, 00h, 00h 31E4:8875 00 E8 58 00 EC 00 db 00h,0E8h, 58h, 00h,0ECh, 00h 31E4:887B 00 00 00 00 05 00 db 00h, 00h, 00h, 00h, 05h, 00h 31E4:8881 00 00 00 00 00 96 db 00h, 00h, 00h, 00h, 00h, 96h 31E4:8887 00 00 00 02 06 db 00h, 00h, 00h, 02h, 06h 31E4:888C 000E[00] db 14 dup (0) 31E4:889A 06 00 08 36 09 09 db 06h, 00h, 08h, 36h, 09h, 09h 31E4:88A0 36 09 06 05 09 07 db 36h, 09h, 06h, 05h, 09h, 07h 31E4:88A6 1F 09 01 10 80 10 db 1Fh, 09h, 01h, 10h, 80h, 10h 31E4:88AC C4 12 E1 03 00 10 db 0C4h, 12h,0E1h, 03h, 00h, 10h 31E4:88B2 9A 88 13 00 00 67 db 9Ah, 88h, 13h, 00h, 00h, 67h 31E4:88B8 71 00 00 6D 01 D1 db 71h, 00h, 00h, 6Dh, 01h,0D1h 31E4:88BE 00 20 00 39 00 03 db 00h, 20h, 00h, 39h, 00h, 03h 31E4:88C4 01 07 72 20 00 37 db 01h, 07h, 72h, 20h, 00h, 37h 31E4:88CA 00 08 00 00 00 F1 db 00h, 08h, 00h, 00h, 00h,0F1h 31E4:88D0 58 db 58h 31E4:88D1 0007[00] db 7 dup (0) 31E4:88D8 61 02 00 10 10 88 db 61h, 02h, 00h, 10h, 10h, 88h 31E4:88DE 1E 00 00 67 71 00 db 1Eh, 00h, 00h, 67h, 71h, 00h 31E4:88E4 00 C2 00 05 01 60 db 00h,0C2h, 00h, 05h, 01h, 60h 31E4:88EA 00 28 00 03 01 07 db 00h, 28h, 00h, 03h, 01h, 07h 31E4:88F0 72 20 00 30 00 04 db 72h, 20h, 00h, 30h, 00h, 04h 31E4:88F6 00 00 00 FA 58 20 db 00h, 00h, 00h,0FAh, 58h, 20h 31E4:88FC 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:8902 04 00 08 D1 0C 09 db 04h, 00h, 08h,0D1h, 0Ch, 09h 31E4:8908 D1 0C 06 D1 0C 01 db 0D1h, 0Ch, 06h,0D1h, 0Ch, 01h 31E4:890E 10 80 E1 03 00 10 db 10h, 80h,0E1h, 03h, 00h, 10h 31E4:8914 02 89 0E 00 00 67 db 02h, 89h, 0Eh, 00h, 00h, 67h 31E4:891A 71 00 00 F6 00 CC db 71h, 00h, 00h,0F6h, 00h,0CCh 31E4:8920 00 20 00 31 00 03 db 00h, 20h, 00h, 31h, 00h, 03h 31E4:8926 01 07 72 20 00 31 db 01h, 07h, 72h, 20h, 00h, 31h 31E4:892C 00 04 00 00 00 03 db 00h, 04h, 00h, 00h, 00h, 03h 31E4:8932 59 50 00 00 00 00 db 59h, 50h, 00h, 00h, 00h, 00h 31E4:8938 00 00 05 00 01 10 db 00h, 00h, 05h, 00h, 01h, 10h 31E4:893E 80 06 00 00 07 00 db 80h, 06h, 00h, 00h, 07h, 00h 31E4:8944 00 db 00h 31E4:8945 08 36 09 09 36 db 08h, 36h, 09h, 09h, 36h 31E4:894A loc_2325: 31E4:894A 09 61 02 or [bx+di+2],sp 31E4:894D 00 10 add [bx+si],dl 31E4:894F 3A 89 000C cmp cl,byte ptr copyright+0Ch[bx+di] ; (31E4:000C='vo') 31E4:8953 00 67 71 add [bx+71h],ah 31E4:8956 00 00 add [bx+si],al 31E4:8958 A8 00 test al,0 31E4:895A AA stosb ; Store al to es:[di] 31E4:895B 00 20 add [bx+si],ah 31E4:895D 00 3B add [bp+di],bh 31E4:895F 00 03 add [bp+di],al 31E4:8961 01 07 add [bx],ax 31E4:8963 72 20 jc loc_2326 ; Jump if carry Set 31E4:8965 00 3B add [bp+di],bh 31E4:8967 00 04 add [si],al 31E4:8969 00 00 add [bx+si],al 31E4:896B 00 54 59 add [si+59h],dl 31E4:896E 0007[00] db 7 dup (0) 31E4:8975 61 02 00 10 3A 89 db 61h, 02h, 00h, 10h, 3Ah, 89h 31E4:897B 20 00 00 67 71 00 db 20h, 00h, 00h, 67h, 71h, 00h 31E4:8981 00 AC 00 17 db 00h,0ACh, 00h, 17h 31E4:8985 loc_2326: ; xref 31E4:8963 31E4:8985 01 50 00 ;* add [bx+si+0],dx 31E4:8985 01 50 00 db 01h, 50h, 00h 31E4:8988 30 00 03 01 07 72 db 30h, 00h, 03h, 01h, 07h, 72h 31E4:898E 20 00 36 00 04 00 db 20h, 00h, 36h, 00h, 04h, 00h 31E4:8994 00 00 db 00h, 00h 31E4:8996 4B 59 db 4Bh, 59h 31E4:8998 0007[00] db 7 dup (0) 31E4:899F 05 00 01 10 80 06 db 05h, 00h, 01h, 10h, 80h, 06h 31E4:89A5 81 0D 07 00 00 08 db 81h, 0Dh, 07h, 00h, 00h, 08h 31E4:89AB 36 09 09 36 09 E1 db 36h, 09h, 09h, 36h, 09h,0E1h 31E4:89B1 03 00 10 9F 89 14 db 03h, 00h, 10h, 9Fh, 89h, 14h 31E4:89B7 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:89BD 41 01 BC 00 20 00 db 41h, 01h,0BCh, 00h, 20h, 00h 31E4:89C3 38 00 03 01 07 72 db 38h, 00h, 03h, 01h, 07h, 72h 31E4:89C9 20 00 38 00 04 00 db 20h, 00h, 38h, 00h, 04h, 00h 31E4:89CF 00 00 db 00h, 00h 31E4:89D1 66 59 db 66h, 59h 31E4:89D3 0007[00] db 7 dup (0) 31E4:89DA 61 02 00 10 3A 89 db 61h, 02h, 00h, 10h, 3Ah, 89h 31E4:89E0 24 00 00 67 71 00 db 24h, 00h, 00h, 67h, 71h, 00h 31E4:89E6 00 93 00 E1 00 70 db 00h, 93h, 00h,0E1h, 00h, 70h 31E4:89EC 00 30 00 03 01 07 db 00h, 30h, 00h, 03h, 01h, 07h 31E4:89F2 72 08 00 1E 00 04 db 72h, 08h, 00h, 1Eh, 00h, 04h 31E4:89F8 00 00 00 5D 59 50 db 00h, 00h, 00h, 5Dh, 59h, 50h 31E4:89FE 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:8A04 05 00 01 10 80 06 db 05h, 00h, 01h, 10h, 80h, 06h 31E4:8A0A 5B 0E 07 00 00 08 db 5Bh, 0Eh, 07h, 00h, 00h, 08h 31E4:8A10 36 09 09 36 09 61 db 36h, 09h, 09h, 36h, 09h, 61h 31E4:8A16 02 00 10 04 8A 0A db 02h, 00h, 10h, 04h, 8Ah, 0Ah 31E4:8A1C 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8A22 06 01 DB 00 20 00 db 06h, 01h,0DBh, 00h, 20h, 00h 31E4:8A28 36 00 01 01 07 72 db 36h, 00h, 01h, 01h, 07h, 72h 31E4:8A2E 1A 00 36 00 04 00 db 1Ah, 00h, 36h, 00h, 04h, 00h 31E4:8A34 00 00 9C 59 00 00 db 00h, 00h, 9Ch, 59h, 00h, 00h 31E4:8A3A 00 00 00 00 00 61 db 00h, 00h, 00h, 00h, 00h, 61h 31E4:8A40 02 00 10 3A 89 22 db 02h, 00h, 10h, 3Ah, 89h, 22h 31E4:8A46 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8A4C B6 00 F3 00 30 00 db 0B6h, 00h,0F3h, 00h, 30h, 00h 31E4:8A52 39 00 03 01 07 72 db 39h, 00h, 03h, 01h, 07h, 72h 31E4:8A58 28 00 39 00 04 00 db 28h, 00h, 39h, 00h, 04h, 00h 31E4:8A5E 00 00 A5 59 00 00 db 00h, 00h,0A5h, 59h, 00h, 00h 31E4:8A64 00 00 00 00 00 61 db 00h, 00h, 00h, 00h, 00h, 61h 31E4:8A6A 02 00 10 10 88 1F db 02h, 00h, 10h, 10h, 88h, 1Fh 31E4:8A70 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8A76 41 01 15 01 40 00 db 41h, 01h, 15h, 01h, 40h, 00h 31E4:8A7C 22 00 03 01 07 db 22h, 00h, 03h, 01h, 07h 31E4:8A81 loc_2327: 31E4:8A81 72 20 jc $+22h ; Jump if carry Set 31E4:8A83 00 4A 00 ;* add [bp+si+0],cl 31E4:8A83 00 4A 00 db 00h, 4Ah, 00h 31E4:8A86 04 00 00 00 0C 59 db 04h, 00h, 00h, 00h, 0Ch, 59h 31E4:8A8C 0007[00] db 7 dup (0) 31E4:8A93 05 00 01 10 80 06 db 05h, 00h, 01h, 10h, 80h, 06h 31E4:8A99 06 80 07 10 80 08 db 06h, 80h, 07h, 10h, 80h, 08h 31E4:8A9F 36 09 09 36 09 E1 db 36h, 09h, 09h, 36h, 09h,0E1h 31E4:8AA5 03 00 10 93 8A 0F db 03h, 00h, 10h, 93h, 8Ah, 0Fh 31E4:8AAB 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8AB1 E3 00 A8 00 40 00 db 0E3h, 00h,0A8h, 00h, 40h, 00h 31E4:8AB7 61 00 03 01 07 72 db 61h, 00h, 03h, 01h, 07h, 72h 31E4:8ABD 3D 00 5D 00 04 00 db 3Dh, 00h, 5Dh, 00h, 04h, 00h 31E4:8AC3 00 00 8A 59 00 00 db 00h, 00h, 8Ah, 59h, 00h, 00h 31E4:8AC9 00 00 00 00 00 E1 db 00h, 00h, 00h, 00h, 00h,0E1h 31E4:8ACF 03 00 10 93 8A 26 db 03h, 00h, 10h, 93h, 8Ah, 26h 31E4:8AD5 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8ADB 32 01 14 01 40 00 db 32h, 01h, 14h, 01h, 40h, 00h 31E4:8AE1 35 00 03 01 07 72 db 35h, 00h, 03h, 01h, 07h, 72h 31E4:8AE7 35 00 35 00 04 00 db 35h, 00h, 35h, 00h, 04h, 00h 31E4:8AED 00 00 AE 59 00 00 db 00h, 00h,0AEh, 59h, 00h, 00h 31E4:8AF3 00 00 00 00 00 05 db 00h, 00h, 00h, 00h, 00h, 05h 31E4:8AF9 00 01 10 80 06 06 db 00h, 01h, 10h, 80h, 06h, 06h 31E4:8AFF 80 07 10 80 08 36 db 80h, 07h, 10h, 80h, 08h, 36h 31E4:8B05 09 09 36 09 E1 03 db 09h, 09h, 36h, 09h,0E1h, 03h 31E4:8B0B 00 10 F8 8A 26 00 db 00h, 10h,0F8h, 8Ah, 26h, 00h 31E4:8B11 00 67 71 00 00 91 db 00h, 67h, 71h, 00h, 00h, 91h 31E4:8B17 00 CD 00 30 00 42 db 00h,0CDh, 00h, 30h, 00h, 42h 31E4:8B1D 00 03 01 07 72 18 db 00h, 03h, 01h, 07h, 72h, 18h 31E4:8B23 00 42 00 04 00 00 db 00h, 42h, 00h, 04h, 00h, 00h 31E4:8B29 00 B7 db 00h,0B7h 31E4:8B2B 59 db 59h 31E4:8B2C 0007[00] db 7 dup (0) 31E4:8B33 E1 03 00 10 F8 8A db 0E1h, 03h, 00h, 10h,0F8h, 8Ah 31E4:8B39 27 00 db 27h, 00h 31E4:8B3B loc_2328: 31E4:8B3B 00 67 71 add [bx+71h],ah 31E4:8B3E 00 00 add [bx+si],al 31E4:8B40 81 01 00CD add word ptr [bx+di],0CDh 31E4:8B44 30 00 xor [bx+si],al 31E4:8B46 42 inc dx 31E4:8B47 00 03 add [bp+di],al 31E4:8B49 01 07 add [bx],ax 31E4:8B4B 72 30 jc loc_2329 ; Jump if carry Set 31E4:8B4D 00 42 00 ;* add [bp+si+0],al 31E4:8B4D 00 42 00 db 00h, 42h, 00h 31E4:8B50 04 00 00 00 C0 59 db 04h, 00h, 00h, 00h,0C0h, 59h 31E4:8B56 0007[00] db 7 dup (0) 31E4:8B5D E1 03 00 10 F8 8A db 0E1h, 03h, 00h, 10h,0F8h, 8Ah 31E4:8B63 27 00 00 67 71 00 db 27h, 00h, 00h, 67h, 71h, 00h 31E4:8B69 00 91 00 CD 00 30 db 00h, 91h, 00h,0CDh, 00h, 30h 31E4:8B6F 00 42 00 03 01 07 db 00h, 42h, 00h, 03h, 01h, 07h 31E4:8B75 72 18 00 42 00 04 db 72h, 18h, 00h, 42h, 00h, 04h 31E4:8B7B 00 00 db 00h, 00h 31E4:8B7D loc_2329: ; xref 31E4:8B4B 31E4:8B7D 00 B7 0059 add byte ptr data_519+32h[bx],dh ; (31E4:0059='rriner. Some oth') 31E4:8B81 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:8B87 E1 03 00 10 F8 8A db 0E1h, 03h, 00h, 10h,0F8h, 8Ah 31E4:8B8D 28 00 00 67 71 00 db 28h, 00h, 00h, 67h, 71h, 00h 31E4:8B93 00 81 01 CD 00 30 db 00h, 81h, 01h,0CDh, 00h, 30h 31E4:8B99 00 42 00 03 01 07 db 00h, 42h, 00h, 03h, 01h, 07h 31E4:8B9F 72 30 00 42 00 04 db 72h, 30h, 00h, 42h, 00h, 04h 31E4:8BA5 00 00 00 C0 db 00h, 00h, 00h,0C0h 31E4:8BA9 59 db 59h 31E4:8BAA 0007[00] db 7 dup (0) 31E4:8BB1 E1 03 00 10 F8 8A db 0E1h, 03h, 00h, 10h,0F8h, 8Ah 31E4:8BB7 28 00 00 67 71 00 db 28h, 00h, 00h, 67h, 71h, 00h 31E4:8BBD 00 91 00 CD 00 30 db 00h, 91h, 00h,0CDh, 00h, 30h 31E4:8BC3 00 42 00 03 01 07 db 00h, 42h, 00h, 03h, 01h, 07h 31E4:8BC9 72 18 00 42 00 04 db 72h, 18h, 00h, 42h, 00h, 04h 31E4:8BCF 00 00 00 B7 db 00h, 00h, 00h,0B7h 31E4:8BD3 59 db 59h 31E4:8BD4 0007[00] db 7 dup (0) 31E4:8BDB E1 03 00 10 F8 8A db 0E1h, 03h, 00h, 10h,0F8h, 8Ah 31E4:8BE1 05 00 00 67 71 00 db 05h, 00h, 00h, 67h, 71h, 00h 31E4:8BE7 00 81 01 CD 00 30 db 00h, 81h, 01h,0CDh, 00h, 30h 31E4:8BED 00 42 00 03 01 07 db 00h, 42h, 00h, 03h, 01h, 07h 31E4:8BF3 72 30 00 42 00 04 db 72h, 30h, 00h, 42h, 00h, 04h 31E4:8BF9 00 00 00 C0 db 00h, 00h, 00h,0C0h 31E4:8BFD 59 db 59h 31E4:8BFE 0008[00] db 8 dup (0) 31E4:8C06 0C 82 00 4A 8C 20 db 0Ch, 82h, 00h, 4Ah, 8Ch, 20h 31E4:8C0C 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8C12 28 01 F4 00 20 00 db 28h, 01h,0F4h, 00h, 20h, 00h 31E4:8C18 16 00 01 01 0E 82 db 16h, 00h, 01h, 01h, 0Eh, 82h 31E4:8C1E 18 00 28 00 02 00 db 18h, 00h, 28h, 00h, 02h, 00h 31E4:8C24 00 00 8E 58 00 db 00h, 00h, 8Eh, 58h, 00h 31E4:8C29 000D[00] db 13 dup (0) 31E4:8C36 96 00 00 00 F6 04 db 96h, 00h, 00h, 00h,0F6h, 04h 31E4:8C3C 00 db 00h 31E4:8C3D 000D[00] db 13 dup (0) 31E4:8C4A 03 00 18 8B 1D 0B db 03h, 00h, 18h, 8Bh, 1Dh, 0Bh 31E4:8C50 13 19 12 0A 80 00 db 13h, 19h, 12h, 0Ah, 80h, 00h 31E4:8C56 0C 82 00 45 88 1D db 0Ch, 82h, 00h, 45h, 88h, 1Dh 31E4:8C5C 00 00 67 71 00 00 db 00h, 00h, 67h, 71h, 00h, 00h 31E4:8C62 BE 00 EA 00 20 00 db 0BEh, 00h,0EAh, 00h, 20h, 00h 31E4:8C68 19 00 01 01 37 7F db 19h, 00h, 01h, 01h, 37h, 7Fh 31E4:8C6E 10 00 29 00 02 00 db 10h, 00h, 29h, 00h, 02h, 00h 31E4:8C74 00 00 93 59 00 6A db 00h, 00h, 93h, 59h, 00h, 6Ah 31E4:8C7A 06 db 06h 31E4:8C7B 000B[00] db 11 dup (0) 31E4:8C86 96 00 00 00 F8 02 db 96h, 00h, 00h, 00h,0F8h, 02h 31E4:8C8C 00 db 00h 31E4:8C8D 000D[00] db 13 dup (0) 31E4:8C9A 02 00 0B AB 16 12 db 02h, 00h, 0Bh,0ABh, 16h, 12h 31E4:8CA0 8C 1B 00 0C 82 00 db 8Ch, 1Bh, 00h, 0Ch, 82h, 00h 31E4:8CA6 9A 8C 1D 00 00 72 db 9Ah, 8Ch, 1Dh, 00h, 00h, 72h 31E4:8CAC 71 00 00 4C 01 FD db 71h, 00h, 00h, 4Ch, 01h,0FDh 31E4:8CB2 00 20 00 2D 00 01 db 00h, 20h, 00h, 2Dh, 00h, 01h 31E4:8CB8 01 37 7F 10 00 2D db 01h, 37h, 7Fh, 10h, 00h, 2Dh 31E4:8CBE 00 02 00 00 00 B3 db 00h, 02h, 00h, 00h, 00h,0B3h 31E4:8CC4 5A 00 E4 06 db 5Ah, 00h,0E4h, 06h 31E4:8CC8 000B[00] db 11 dup (0) 31E4:8CD3 96 00 00 00 FE 06 db 96h, 00h, 00h, 00h,0FEh, 06h 31E4:8CD9 000E[00] db 14 dup (0) 31E4:8CE7 0000 data_8ce7 dw 0 31E4:8CE9 0000 dw 0 31E4:8CEB 57 6D 0F 00 00 72 db 57h, 6Dh, 0Fh, 00h, 00h, 72h 31E4:8CF1 71 00 00 3F 01 64 db 71h, 00h, 00h, 3Fh, 01h, 64h 31E4:8CF7 00 10 00 02 00 01 db 00h, 10h, 00h, 02h, 00h, 01h 31E4:8CFD 00 2D 86 01 00 02 db 00h, 2Dh, 86h, 01h, 00h, 02h 31E4:8D03 00 02 00 00 00 80 db 00h, 02h, 00h, 00h, 00h, 80h 31E4:8D09 5C 00 db 5Ch, 00h 31E4:8D0B 000D[00] db 13 dup (0) 31E4:8D18 96 00 00 00 00 68 db 96h, 00h, 00h, 00h, 00h, 68h 31E4:8D1E 00 db 00h 31E4:8D1F 000D[00] db 13 dup (0) 31E4:8D2C 0000 data_8d2c dw 0 31E4:8D2E 0000 dw 0 31E4:8D30 57 6D 0F 00 00 72 db 57h, 6Dh, 0Fh, 00h, 00h, 72h 31E4:8D36 71 00 00 DB 00 64 db 71h, 00h, 00h,0DBh, 00h, 64h 31E4:8D3C 00 10 00 02 00 01 db 00h, 10h, 00h, 02h, 00h, 01h 31E4:8D42 00 2D 86 01 00 02 db 00h, 2Dh, 86h, 01h, 00h, 02h 31E4:8D48 00 02 00 00 00 80 db 00h, 02h, 00h, 00h, 00h, 80h 31E4:8D4E 5C 00 db 5Ch, 00h 31E4:8D50 000D[00] db 13 dup (0) 31E4:8D5D 96 00 00 00 00 68 db 96h, 00h, 00h, 00h, 00h, 68h 31E4:8D63 00 db 00h 31E4:8D64 000E[00] db 14 dup (0) 31E4:8D72 0C 82 00 45 88 0C db 0Ch, 82h, 00h, 45h, 88h, 0Ch 31E4:8D78 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8D7E 0F 01 F1 00 10 00 db 0Fh, 01h,0F1h, 00h, 10h, 00h 31E4:8D84 08 00 01 01 41 82 db 08h, 00h, 01h, 01h, 41h, 82h 31E4:8D8A 18 00 18 00 02 00 db 18h, 00h, 18h, 00h, 02h, 00h 31E4:8D90 00 00 85 58 00 db 00h, 00h, 85h, 58h, 00h 31E4:8D95 000D[00] db 13 dup (0) 31E4:8DA2 96 00 00 00 F4 06 db 96h, 00h, 00h, 00h,0F4h, 06h 31E4:8DA8 000F[00] db 15 dup (0) 31E4:8DB7 08 00 00 57 6D 1F db 08h, 00h, 00h, 57h, 6Dh, 1Fh 31E4:8DBD 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8DC3 2A 01 E3 00 20 00 db 2Ah, 01h,0E3h, 00h, 20h, 00h 31E4:8DC9 30 00 01 01 CE 85 db 30h, 00h, 01h, 01h,0CEh, 85h 31E4:8DCF 20 00 30 00 02 00 db 20h, 00h, 30h, 00h, 02h, 00h 31E4:8DD5 00 00 6F 59 9E db 00h, 00h, 6Fh, 59h, 9Eh 31E4:8DDA 000D[00] db 13 dup (0) 31E4:8DE7 96 00 00 00 02 06 db 96h, 00h, 00h, 00h, 02h, 06h 31E4:8DED 000F[00] db 15 dup (0) 31E4:8DFC 08 00 00 57 6D 1F db 08h, 00h, 00h, 57h, 6Dh, 1Fh 31E4:8E02 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8E08 EA 00 E3 00 20 00 db 0EAh, 00h,0E3h, 00h, 20h, 00h 31E4:8E0E 30 00 01 01 CE 85 db 30h, 00h, 01h, 01h,0CEh, 85h 31E4:8E14 20 00 30 00 02 00 db 20h, 00h, 30h, 00h, 02h, 00h 31E4:8E1A 00 00 78 59 9E db 00h, 00h, 78h, 59h, 9Eh 31E4:8E1F 000D[00] db 13 dup (0) 31E4:8E2C 96 00 00 00 02 06 db 96h, 00h, 00h, 00h, 02h, 06h 31E4:8E32 000F[00] db 15 dup (0) 31E4:8E41 0C 82 00 45 88 0E db 0Ch, 82h, 00h, 45h, 88h, 0Eh 31E4:8E47 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:8E4D 11 01 CF 00 20 00 db 11h, 01h,0CFh, 00h, 20h, 00h 31E4:8E53 30 00 01 01 CE 85 db 30h, 00h, 01h, 01h,0CEh, 85h 31E4:8E59 20 00 30 00 02 00 db 20h, 00h, 30h, 00h, 02h, 00h 31E4:8E5F 00 00 6F 59 9E 00 db 00h, 00h, 6Fh, 59h, 9Eh, 00h 31E4:8E65 00 00 00 00 00 01 db 00h, 00h, 00h, 00h, 00h, 01h 31E4:8E6B 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:8E71 96 00 00 00 02 06 db 96h, 00h, 00h, 00h, 02h, 06h 31E4:8E77 0011[00] db 17 dup (0) 31E4:8E88 20 00 00 1E 00 00 db 20h, 00h, 00h, 1Eh, 00h, 00h 31E4:8E8E 72 71 00 00 11 01 db 72h, 71h, 00h, 00h, 11h, 01h 31E4:8E94 E6 00 30 00 20 00 db 0E6h, 00h, 30h, 00h, 20h, 00h 31E4:8E9A 02 01 3F 81 26 00 db 02h, 01h, 3Fh, 81h, 26h, 00h 31E4:8EA0 40 00 02 00 00 00 db 40h, 00h, 02h, 00h, 00h, 00h 31E4:8EA6 81 59 00 DA 09 00 db 81h, 59h, 00h,0DAh, 09h, 00h 31E4:8EAC 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 31E4:8EB2 0A 2D 12 00 0A 00 db 0Ah, 2Dh, 12h, 00h, 0Ah, 00h 31E4:8EB8 00 B0 8E 29 00 00 db 00h,0B0h, 8Eh, 29h, 00h, 00h 31E4:8EBE 72 71 00 00 C7 00 db 72h, 71h, 00h, 00h,0C7h, 00h 31E4:8EC4 E7 00 10 00 08 00 db 0E7h, 00h, 10h, 00h, 08h, 00h 31E4:8ECA 03 01 37 7F 0E 00 db 03h, 01h, 37h, 7Fh, 0Eh, 00h 31E4:8ED0 08 00 04 00 00 00 db 08h, 00h, 04h, 00h, 00h, 00h 31E4:8ED6 D2 59 00 88 0B 00 db 0D2h, 59h, 00h, 88h, 0Bh, 00h 31E4:8EDC 00 db 00h 31E4:8EDD 0009[00] db 9 dup (0) 31E4:8EE6 96 00 00 00 0A 12 db 96h, 00h, 00h, 00h, 0Ah, 12h 31E4:8EEC 00 db 00h 31E4:8EED 0010[00] db 16 dup (0) 31E4:8EFD 20 B0 8E 29 00 00 db 20h,0B0h, 8Eh, 29h, 00h, 00h 31E4:8F03 72 71 00 00 AA 00 db 72h, 71h, 00h, 00h,0AAh, 00h 31E4:8F09 07 01 70 00 1F 00 db 07h, 01h, 70h, 00h, 1Fh, 00h 31E4:8F0F 03 00 3A 7F 6F 00 db 03h, 00h, 3Ah, 7Fh, 6Fh, 00h 31E4:8F15 1F 00 04 00 00 00 db 1Fh, 00h, 04h, 00h, 00h, 00h 31E4:8F1B AF 5B 00 BC 0B 00 db 0AFh, 5Bh, 00h,0BCh, 0Bh, 00h 31E4:8F21 00 00 00 00 00 08 db 00h, 00h, 00h, 00h, 00h, 08h 31E4:8F27 00 00 57 6D 2D 00 db 00h, 00h, 57h, 6Dh, 2Dh, 00h 31E4:8F2D 00 67 71 00 00 7A db 00h, 67h, 71h, 00h, 00h, 7Ah 31E4:8F33 01 14 01 30 00 33 db 01h, 14h, 01h, 30h, 00h, 33h 31E4:8F39 00 02 01 EC 87 20 db 00h, 02h, 01h,0ECh, 87h, 20h 31E4:8F3F 00 33 00 04 00 00 db 00h, 33h, 00h, 04h, 00h, 00h 31E4:8F45 00 DB 59 9E EA 0B db 00h,0DBh, 59h, 9Eh,0EAh, 0Bh 31E4:8F4B 00 00 00 db 00h, 00h, 00h 31E4:8F4E 0008[00] db 8 dup (0) 31E4:8F56 96 00 00 00 02 0A db 96h, 00h, 00h, 00h, 02h, 0Ah 31E4:8F5C 00 db 00h 31E4:8F5D 000E[00] db 14 dup (0) 31E4:8F6B 08 00 00 57 6D 2A db 08h, 00h, 00h, 57h, 6Dh, 2Ah 31E4:8F71 80 00 67 71 00 00 db 80h, 00h, 67h, 71h, 00h, 00h 31E4:8F77 99 00 16 01 40 00 db 99h, 00h, 16h, 01h, 40h, 00h 31E4:8F7D 28 00 01 01 EC 87 db 28h, 00h, 01h, 01h,0ECh, 87h 31E4:8F83 3F 00 28 00 04 00 db 3Fh, 00h, 28h, 00h, 04h, 00h 31E4:8F89 00 00 23 5A 9E A2 db 00h, 00h, 23h, 5Ah, 9Eh,0A2h 31E4:8F8F 0C 00 db 0Ch, 00h 31E4:8F91 000A[00] db 10 dup (0) 31E4:8F9B 96 00 00 00 0A 12 db 96h, 00h, 00h, 00h, 0Ah, 12h 31E4:8FA1 00 db 00h 31E4:8FA2 0010[00] db 16 dup (0) 31E4:8FB2 20 57 6D 2A 80 00 db 20h, 57h, 6Dh, 2Ah, 80h, 00h 31E4:8FB8 67 71 00 00 99 00 db 67h, 71h, 00h, 00h, 99h, 00h 31E4:8FBE 16 01 20 00 25 00 db 16h, 01h, 20h, 00h, 25h, 00h 31E4:8FC4 02 01 3A 7F 1B 00 db 02h, 01h, 3Ah, 7Fh, 1Bh, 00h 31E4:8FCA 25 00 04 00 00 00 db 25h, 00h, 04h, 00h, 00h, 00h 31E4:8FD0 47 5A 00 EC 0C 00 db 47h, 5Ah, 00h,0ECh, 0Ch, 00h 31E4:8FD6 0007[00] db 7 dup (0) 31E4:8FDD 20 57 6D 1D 00 00 db 20h, 57h, 6Dh, 1Dh, 00h, 00h 31E4:8FE3 72 71 00 00 7B 01 db 72h, 71h, 00h, 00h, 7Bh, 01h 31E4:8FE9 E9 00 20 00 27 00 db 0E9h, 00h, 20h, 00h, 27h, 00h 31E4:8FEF 03 00 3A 7F 14 00 db 03h, 00h, 3Ah, 7Fh, 14h, 00h 31E4:8FF5 27 00 04 00 00 00 db 27h, 00h, 04h, 00h, 00h, 00h 31E4:8FFB A1 5A 20 14 db 0A1h, 5Ah, 20h, 14h 31E4:8FFF 0D db 0Dh 31E4:9000 0008[00] db 8 dup (0) 31E4:9008 20 57 6D 2B 00 00 db 20h, 57h, 6Dh, 2Bh, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 497 31E4:900E 72 71 00 00 7D 01 db 72h, 71h, 00h, 00h, 7Dh, 01h 31E4:9014 F9 db 0F9h 31E4:9015 loc_2330: 31E4:9015 00 30 add [bx+si],dh 31E4:9017 00 29 add [bx+di],ch 31E4:9019 00 03 add [bp+di],al 31E4:901B 00 3A add [bp+si],bh 31E4:901D 7F 14 jg loc_2331 ; Jump if > 31E4:901F 00 27 add [bx],ah 31E4:9021 00 04 add [si],al 31E4:9023 00 00 add [bx+si],al 31E4:9025 00 CE add dh,cl 31E4:9027 5A pop dx 31E4:9028 40 inc ax 31E4:9029 2E 0D 00 00 00 00 db 2Eh, 0Dh, 00h, 00h, 00h, 00h 31E4:902F 00 00 00 00 db 00h, 00h, 00h, 00h 31E4:9033 loc_2331: ; xref 31E4:901D 31E4:9033 20 57 6D and [bx+6Dh],dl 31E4:9036 2B 00 sub ax,[bx+si] 31E4:9038 00 72 71 add [bp+si+71h],dh 31E4:903B 00 00 add [bx+si],al 31E4:903D 70 01 ;* jo loc_2332 ;*Jump if overflow=1 31E4:903D 70 01 db 70h, 01h 31E4:903F E1 00 loopz locloop_2333 ; Loop if zf=1, cx>0 31E4:9041 locloop_2333: ; xref 31E4:903F 31E4:9041 30 00 xor [bx+si],al 31E4:9043 11 00 adc [bx+si],ax 31E4:9045 03 00 add ax,[bx+si] 31E4:9047 3A 7F 14 cmp bh,[bx+14h] 31E4:904A 00 27 add [bx],ah 31E4:904C 00 04 add [si],al 31E4:904E 00 00 add [bx+si],al 31E4:9050 00 D7 add bh,dl 31E4:9052 5A pop dx 31E4:9053 40 inc ax 31E4:9054 4E dec si 31E4:9055 0D 0000 or ax,0 31E4:9058 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:905E 20 57 6D 2B 00 00 db 20h, 57h, 6Dh, 2Bh, 00h, 00h 31E4:9064 72 71 00 00 7D 01 db 72h, 71h, 00h, 00h, 7Dh, 01h 31E4:906A D6 00 10 00 05 00 db 0D6h, 00h, 10h, 00h, 05h, 00h 31E4:9070 03 00 3A 7F 14 00 db 03h, 00h, 3Ah, 7Fh, 14h, 00h 31E4:9076 27 00 04 00 00 00 db 27h, 00h, 04h, 00h, 00h, 00h 31E4:907C E0 5A 00 db 0E0h, 5Ah, 00h 31E4:907F 6E 0D db 6Eh, 0Dh 31E4:9081 0008[00] db 8 dup (0) 31E4:9089 loc_2334: 31E4:9089 20 57 6D and [bx+6Dh],dl 31E4:908C 2D 0000 sub ax,0 31E4:908F 72 71 ;* jc loc_2337 ;*Jump if carry Set 31E4:908F 72 71 db 72h, 71h 31E4:9091 00 00 add [bx+si],al 31E4:9093 35 E401 xor ax,0E401h 31E4:9096 00 10 add [bx+si],dl 31E4:9098 00 0B add [bp+di],cl nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 498 31E4:909A 00 03 add [bp+di],al 31E4:909C 01 3A add [bp+si],di 31E4:909E 7F 14 jg loc_2335 ; Jump if > 31E4:90A0 00 27 add [bx],ah 31E4:90A2 00 04 add [si],al 31E4:90A4 00 00 add [bx+si],al 31E4:90A6 00 E9 add cl,ch 31E4:90A8 5A pop dx 31E4:90A9 00 92 000D add [bp+si+0Dh],dl 31E4:90AD 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:90B3 00 db 0 31E4:90B4 loc_2335: ; xref 31E4:909E 31E4:90B4 20 57 6D and [bx+6Dh],dl 31E4:90B7 2E: 00 00 add cs:[bx+si],al 31E4:90BA 72 71 ;* jc loc_2339 ;*Jump if carry Set 31E4:90BA 72 71 db 72h, 71h 31E4:90BC 00 00 add [bx+si],al 31E4:90BE 80 00 E4 add byte ptr [bx+si],0E4h 31E4:90C1 00 10 add [bx+si],dl 31E4:90C3 00 0B add [bp+di],cl 31E4:90C5 00 03 add [bp+di],al 31E4:90C7 01 3A add [bp+si],di 31E4:90C9 7F 14 jg loc_2336 ; Jump if > 31E4:90CB 00 27 add [bx],ah 31E4:90CD 00 04 add [si],al 31E4:90CF 00 00 add [bx+si],al 31E4:90D1 00 E9 add cl,ch 31E4:90D3 5A pop dx 31E4:90D4 00 92 000D add [bp+si+0Dh],dl 31E4:90D8 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:90DE 00 db 0 31E4:90DF loc_2336: ; xref 31E4:90C9 31E4:90DF 20 57 6D and [bx+6Dh],dl 31E4:90E2 30 00 xor [bx+si],al 31E4:90E4 00 72 71 add [bp+si+71h],dh 31E4:90E7 00 00 add [bx+si],al 31E4:90E9 A1 E500 mov ax,data_1185 ; (31E4:E500=8000h) 31E4:90EC 00 10 add [bx+si],dl 31E4:90EE 00 0B add [bp+di],cl 31E4:90F0 00 02 add [bp+si],al 31E4:90F2 01 3A add [bp+si],di 31E4:90F4 7F 14 jg loc_2338 ; Jump if > 31E4:90F6 00 27 add [bx],ah 31E4:90F8 00 04 add [si],al 31E4:90FA 00 00 add [bx+si],al 31E4:90FC 00 E9 add cl,ch 31E4:90FE 5A pop dx 31E4:90FF 00 92 000D add [bp+si+0Dh],dl 31E4:9103 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:9109 00 db 0 31E4:910A loc_2338: ; xref 31E4:90F4 31E4:910A 20 57 6D and [bx+6Dh],dl 31E4:910D 2C 00 sub al,0 31E4:910F 00 72 71 add [bp+si+71h],dh 31E4:9112 00 00 add [bx+si],al 31E4:9114 1B 01 sbb ax,[bx+di] 31E4:9116 C4 00 les ax,dword ptr [bx+si] ; Load seg:offset ptr nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 499 31E4:9118 10 00 adc [bx+si],al 31E4:911A 12 00 adc al,[bx+si] 31E4:911C 03 01 add ax,[bx+di] 31E4:911E 3A 7F 14 cmp bh,[bx+14h] 31E4:9121 00 27 add [bx],ah 31E4:9123 00 04 add [si],al 31E4:9125 00 00 add [bx+si],al 31E4:9127 00 F2 add dl,dh 31E4:9129 5A pop dx 31E4:912A 00 AE 000D add [bp+0Dh],ch 31E4:912E 0007[00] db 7 dup (0) 31E4:9135 20 57 6D 2C 00 00 db 20h, 57h, 6Dh, 2Ch, 00h, 00h 31E4:913B 72 71 00 00 32 01 db 72h, 71h, 00h, 00h, 32h, 01h 31E4:9141 A8 00 30 00 08 00 db 0A8h, 00h, 30h, 00h, 08h, 00h 31E4:9147 03 01 3A 7F 14 00 db 03h, 01h, 3Ah, 7Fh, 14h, 00h 31E4:914D 27 00 04 00 00 00 db 27h, 00h, 04h, 00h, 00h, 00h 31E4:9153 FB 5A 00 C8 0D 00 db 0FBh, 5Ah, 00h,0C8h, 0Dh, 00h 31E4:9159 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:915F 00 20 57 6D 2D 00 db 00h, 20h, 57h, 6Dh, 2Dh, 00h 31E4:9165 00 72 71 00 00 BF db 00h, 72h, 71h, 00h, 00h,0BFh 31E4:916B 00 08 01 20 00 1E db 00h, 08h, 01h, 20h, 00h, 1Eh 31E4:9171 00 03 00 3A 7F 14 db 00h, 03h, 00h, 3Ah, 7Fh, 14h 31E4:9177 00 27 00 04 00 00 db 00h, 27h, 00h, 04h, 00h, 00h 31E4:917D 00 04 5B 00 D4 0D db 00h, 04h, 5Bh, 00h,0D4h, 0Dh 31E4:9183 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:9189 00 00 db 00h, 00h 31E4:918B loc_2340: 31E4:918B 20 57 6D and [bx+6Dh],dl 31E4:918E 2D 0000 sub ax,0 31E4:9191 72 71 ;* jc loc_2341 ;*Jump if carry Set 31E4:9191 72 71 db 72h, 71h 31E4:9193 00 00 add [bx+si],al 31E4:9195 2E 01 FB 00 10 00 db 2Eh, 01h,0FBh, 00h, 10h, 00h 31E4:919B 10 00 03 00 3A 7F db 10h, 00h, 03h, 00h, 3Ah, 7Fh 31E4:91A1 10 00 10 00 04 00 db 10h, 00h, 10h, 00h, 04h, 00h 31E4:91A7 00 00 0D 5B 00 04 db 00h, 00h, 0Dh, 5Bh, 00h, 04h 31E4:91AD 0E db 0Eh 31E4:91AE 0008[00] db 8 dup (0) 31E4:91B6 20 57 6D 2D 00 00 db 20h, 57h, 6Dh, 2Dh, 00h, 00h 31E4:91BC 72 71 00 00 5E 01 db 72h, 71h, 00h, 00h, 5Eh, 01h 31E4:91C2 07 01 10 00 10 00 db 07h, 01h, 10h, 00h, 10h, 00h 31E4:91C8 03 00 3A 7F 10 00 db 03h, 00h, 3Ah, 7Fh, 10h, 00h 31E4:91CE 10 00 04 00 8C 00 db 10h, 00h, 04h, 00h, 8Ch, 00h 31E4:91D4 16 5B 00 40 0E db 16h, 5Bh, 00h, 40h, 0Eh 31E4:91D9 0008[00] db 8 dup (0) 31E4:91E1 20 57 6D 2D 00 00 db 20h, 57h, 6Dh, 2Dh, 00h, 00h 31E4:91E7 72 71 00 00 A0 01 db 72h, 71h, 00h, 00h,0A0h, 01h 31E4:91ED 0E 01 10 00 10 00 db 0Eh, 01h, 10h, 00h, 10h, 00h 31E4:91F3 02 01 3A 7F 10 00 db 02h, 01h, 3Ah, 7Fh, 10h, 00h 31E4:91F9 10 00 04 00 28 00 db 10h, 00h, 04h, 00h, 28h, 00h 31E4:91FF 1F 5B 00 8C 0E db 1Fh, 5Bh, 00h, 8Ch, 0Eh 31E4:9204 00 db 0 31E4:9205 0007[00] db 7 dup (0) 31E4:920C 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:9212 72 71 00 00 80 00 db 72h, 71h, 00h, 00h, 80h, 00h 31E4:9218 09 01 20 00 2E 00 db 09h, 01h, 20h, 00h, 2Eh, 00h 31E4:921E 02 01 3A 7F 19 00 db 02h, 01h, 3Ah, 7Fh, 19h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 500 31E4:9224 2E 00 04 00 00 00 db 2Eh, 00h, 04h, 00h, 00h, 00h 31E4:922A 28 5B 00 E6 0E db 28h, 5Bh, 00h,0E6h, 0Eh 31E4:922F 0008[00] db 8 dup (0) 31E4:9237 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:923D 72 71 00 00 C7 00 db 72h, 71h, 00h, 00h,0C7h, 00h 31E4:9243 0E 01 10 00 18 00 db 0Eh, 01h, 10h, 00h, 18h, 00h 31E4:9249 02 00 3A 7F 10 00 db 02h, 00h, 3Ah, 7Fh, 10h, 00h 31E4:924F 18 00 04 00 00 00 db 18h, 00h, 04h, 00h, 00h, 00h 31E4:9255 31 5B 00 BC 0F 00 db 31h, 5Bh, 00h,0BCh, 0Fh, 00h 31E4:925B 0007[00] db 7 dup (0) 31E4:9262 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:9268 72 71 00 00 9A 00 db 72h, 71h, 00h, 00h, 9Ah, 00h 31E4:926E 07 01 10 00 10 00 db 07h, 01h, 10h, 00h, 10h, 00h 31E4:9274 02 00 3A 7F 10 00 db 02h, 00h, 3Ah, 7Fh, 10h, 00h 31E4:927A 10 00 04 00 00 00 db 10h, 00h, 04h, 00h, 00h, 00h 31E4:9280 3A 5B 00 EC 0F db 3Ah, 5Bh, 00h,0ECh, 0Fh 31E4:9285 0008[00] db 8 dup (0) 31E4:928D 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:9293 72 71 00 00 F4 00 db 72h, 71h, 00h, 00h,0F4h, 00h 31E4:9299 12 01 20 00 21 00 db 12h, 01h, 20h, 00h, 21h, 00h 31E4:929F 02 01 3A 7F 13 00 db 02h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:92A5 21 00 04 00 00 00 db 21h, 00h, 04h, 00h, 00h, 00h 31E4:92AB 43 5B 00 38 10 00 db 43h, 5Bh, 00h, 38h, 10h, 00h 31E4:92B1 0007[00] db 7 dup (0) 31E4:92B8 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:92BE 72 71 00 00 29 01 db 72h, 71h, 00h, 00h, 29h, 01h 31E4:92C4 FA 00 20 00 14 00 db 0FAh, 00h, 20h, 00h, 14h, 00h 31E4:92CA 03 00 3A 7F 15 00 db 03h, 00h, 3Ah, 7Fh, 15h, 00h 31E4:92D0 14 00 04 00 00 00 db 14h, 00h, 04h, 00h, 00h, 00h 31E4:92D6 55 5B 00 82 10 00 db 55h, 5Bh, 00h, 82h, 10h, 00h 31E4:92DC 0007[00] db 7 dup (0) 31E4:92E3 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:92E9 72 71 00 00 48 01 db 72h, 71h, 00h, 00h, 48h, 01h 31E4:92EF 14 01 10 00 0F 00 db 14h, 01h, 10h, 00h, 0Fh, 00h 31E4:92F5 03 00 3A 7F 0B 00 db 03h, 00h, 3Ah, 7Fh, 0Bh, 00h 31E4:92FB 0F 00 04 00 00 00 db 0Fh, 00h, 04h, 00h, 00h, 00h 31E4:9301 5E 5B 50 3E 11 00 db 5Eh, 5Bh, 50h, 3Eh, 11h, 00h 31E4:9307 0007[00] db 7 dup (0) 31E4:930E 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:9314 72 71 00 00 23 01 db 72h, 71h, 00h, 00h, 23h, 01h 31E4:931A 19 01 10 00 0B 00 db 19h, 01h, 10h, 00h, 0Bh, 00h 31E4:9320 03 00 3A 7F 0F 00 db 03h, 00h, 3Ah, 7Fh, 0Fh, 00h 31E4:9326 0B 00 04 00 00 00 db 0Bh, 00h, 04h, 00h, 00h, 00h 31E4:932C 67 5B 00 80 11 00 db 67h, 5Bh, 00h, 80h, 11h, 00h 31E4:9332 0007[00] db 7 dup (0) 31E4:9339 20 57 6D 2E 00 00 db 20h, 57h, 6Dh, 2Eh, 00h, 00h 31E4:933F 72 71 00 00 32 01 db 72h, 71h, 00h, 00h, 32h, 01h 31E4:9345 18 01 20 00 14 00 db 18h, 01h, 20h, 00h, 14h, 00h 31E4:934B 03 00 3A 7F 0F 00 db 03h, 00h, 3Ah, 7Fh, 0Fh, 00h 31E4:9351 0B 00 04 00 00 00 db 0Bh, 00h, 04h, 00h, 00h, 00h 31E4:9357 70 5B 00 A4 11 00 db 70h, 5Bh, 00h,0A4h, 11h, 00h 31E4:935D 0007[00] db 7 dup (0) 31E4:9364 20 57 6D 2A 00 00 db 20h, 57h, 6Dh, 2Ah, 00h, 00h 31E4:936A 72 71 00 00 03 01 db 72h, 71h, 00h, 00h, 03h, 01h 31E4:9370 F6 00 20 00 0C 00 db 0F6h, 00h, 20h, 00h, 0Ch, 00h 31E4:9376 01 01 3A 7F 13 00 db 01h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:937C 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 501 31E4:9382 4C 5B 00 14 12 00 db 4Ch, 5Bh, 00h, 14h, 12h, 00h 31E4:9388 0007[00] db 7 dup (0) ; Data table (indexed access) 31E4:938F 20 57 6D 2A 00 00 db 20h, 57h, 6Dh, 2Ah, 00h, 00h 31E4:9395 72 71 00 00 15 01 db 72h, 71h, 00h, 00h, 15h, 01h 31E4:939B 12 01 20 00 0C 00 db 12h, 01h, 20h, 00h, 0Ch, 00h 31E4:93A1 01 01 3A 7F 13 00 db 01h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:93A7 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h 31E4:93AD 4C 5B 00 4E 12 db 4Ch, 5Bh, 00h, 4Eh, 12h 31E4:93B2 0008[00] db 8 dup (0) 31E4:93BA 20 57 6D 2A 00 00 db 20h, 57h, 6Dh, 2Ah, 00h, 00h 31E4:93C0 72 71 00 00 42 01 db 72h, 71h, 00h, 00h, 42h, 01h 31E4:93C6 18 01 20 00 0C 00 db 18h, 01h, 20h, 00h, 0Ch, 00h 31E4:93CC 01 01 3A 7F 13 00 db 01h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:93D2 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h 31E4:93D8 4C 5B 00 E8 12 00 db 4Ch, 5Bh, 00h,0E8h, 12h, 00h 31E4:93DE 0007[00] db 7 dup (0) 31E4:93E5 20 57 6D 2B 00 00 db 20h, 57h, 6Dh, 2Bh, 00h, 00h 31E4:93EB 72 71 00 00 92 00 db 72h, 71h, 00h, 00h, 92h, 00h 31E4:93F1 0D 01 20 00 0C 00 db 0Dh, 01h, 20h, 00h, 0Ch, 00h 31E4:93F7 01 01 3A 7F 13 00 db 01h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:93FD 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h 31E4:9403 4C 5B 00 26 14 00 db 4Ch, 5Bh, 00h, 26h, 14h, 00h 31E4:9409 0007[00] db 7 dup (0) 31E4:9410 20 57 6D 2B 00 00 db 20h, 57h, 6Dh, 2Bh, 00h, 00h 31E4:9416 72 71 00 00 87 00 db 72h, 71h, 00h, 00h, 87h, 00h 31E4:941C 22 01 20 00 0C 00 db 22h, 01h, 20h, 00h, 0Ch, 00h 31E4:9422 01 01 3A 7F 13 00 db 01h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:9428 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h 31E4:942E 4C 5B 00 7C 14 db 4Ch, 5Bh, 00h, 7Ch, 14h 31E4:9433 0008[00] db 8 dup (0) 31E4:943B 20 57 6D 2C 00 00 db 20h, 57h, 6Dh, 2Ch, 00h, 00h 31E4:9441 72 71 00 00 0E 01 db 72h, 71h, 00h, 00h, 0Eh, 01h 31E4:9447 3D 01 20 00 0C 00 db 3Dh, 01h, 20h, 00h, 0Ch, 00h 31E4:944D 01 01 3A 7F 13 00 db 01h, 01h, 3Ah, 7Fh, 13h, 00h 31E4:9453 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h 31E4:9459 4C 5B 00 20 15 00 db 4Ch, 5Bh, 00h, 20h, 15h, 00h 31E4:945F 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:9465 00 20 57 6D 1C 00 db 00h, 20h, 57h, 6Dh, 1Ch, 00h 31E4:946B 00 72 71 00 00 F1 db 00h, 72h, 71h, 00h, 00h,0F1h 31E4:9471 00 1E 01 50 00 0B db 00h, 1Eh, 01h, 50h, 00h, 0Bh 31E4:9477 00 03 00 3A 7F 48 db 00h, 03h, 00h, 3Ah, 7Fh, 48h 31E4:947D 00 0B 00 04 00 00 db 00h, 0Bh, 00h, 04h, 00h, 00h 31E4:9483 00 79 5B 00 AA 15 db 00h, 79h, 5Bh, 00h,0AAh, 15h 31E4:9489 00 db 00h 31E4:948A 0007[00] db 7 dup (0) 31E4:9491 20 57 6D 1C 00 00 db 20h, 57h, 6Dh, 1Ch, 00h, 00h 31E4:9497 72 71 00 00 62 01 db 72h, 71h, 00h, 00h, 62h, 01h 31E4:949D F0 00 20 00 2B 00 db 0F0h, 00h, 20h, 00h, 2Bh, 00h 31E4:94A3 03 00 3A 7F 14 00 db 03h, 00h, 3Ah, 7Fh, 14h, 00h 31E4:94A9 2A 00 04 00 00 00 db 2Ah, 00h, 04h, 00h, 00h, 00h 31E4:94AF 82 5B 00 AA 15 00 db 82h, 5Bh, 00h,0AAh, 15h, 00h 31E4:94B5 00 db 00h 31E4:94B6 0007[00] db 7 dup (0) 31E4:94BD 57 6D 0D 00 00 72 db 57h, 6Dh, 0Dh, 00h, 00h, 72h 31E4:94C3 71 00 00 7C 01 23 db 71h, 00h, 00h, 7Ch, 01h, 23h 31E4:94C9 01 20 00 1C 00 02 db 01h, 20h, 00h, 1Ch, 00h, 02h 31E4:94CF 01 3A 7F 18 00 1C db 01h, 3Ah, 7Fh, 18h, 00h, 1Ch 31E4:94D5 00 04 00 00 00 8B db 00h, 04h, 00h, 00h, 00h, 8Bh 31E4:94DB 5B 10 E6 15 00 00 db 5Bh, 10h,0E6h, 15h, 00h, 00h 31E4:94E1 00 00 00 02 00 0A db 00h, 00h, 00h, 02h, 00h, 0Ah 31E4:94E7 03 0B 01 2F 80 01 db 03h, 0Bh, 01h, 2Fh, 80h, 01h 31E4:94ED 02 00 00 E4 94 0D db 02h, 00h, 00h,0E4h, 94h, 0Dh 31E4:94F3 00 00 72 71 00 00 db 00h, 00h, 72h, 71h, 00h, 00h 31E4:94F9 D5 00 FE 00 10 00 db 0D5h, 00h,0FEh, 00h, 10h, 00h 31E4:94FF 0A 00 03 01 3A 7F db 0Ah, 00h, 03h, 01h, 3Ah, 7Fh 31E4:9505 07 00 08 00 04 00 db 07h, 00h, 08h, 00h, 04h, 00h 31E4:950B 00 00 94 5B 30 1A db 00h, 00h, 94h, 5Bh, 30h, 1Ah 31E4:9511 16 00 00 00 00 00 db 16h, 00h, 00h, 00h, 00h, 00h 31E4:9517 00 00 00 20 57 6D db 00h, 00h, 00h, 20h, 57h, 6Dh 31E4:951D 09 00 00 72 71 00 db 09h, 00h, 00h, 72h, 71h, 00h 31E4:9523 00 80 00 88 00 10 db 00h, 80h, 00h, 88h, 00h, 10h 31E4:9529 00 14 00 02 01 3A db 00h, 14h, 00h, 02h, 01h, 3Ah 31E4:952F 7F 0F 00 14 00 04 db 7Fh, 0Fh, 00h, 14h, 00h, 04h 31E4:9535 00 00 00 A6 5B 00 db 00h, 00h, 00h,0A6h, 5Bh, 00h 31E4:953B 46 16 db 46h, 16h 31E4:953D 0008[00] db 8 dup (0) 31E4:9545 20 57 6D 09 00 00 db 20h, 57h, 6Dh, 09h, 00h, 00h 31E4:954B 72 71 00 00 80 00 db 72h, 71h, 00h, 00h, 80h, 00h 31E4:9551 88 00 10 00 14 00 db 88h, 00h, 10h, 00h, 14h, 00h 31E4:9557 02 01 3A 7F 0F 00 db 02h, 01h, 3Ah, 7Fh, 0Fh, 00h 31E4:955D 14 00 04 00 00 00 db 14h, 00h, 04h, 00h, 00h, 00h 31E4:9563 A6 5B 00 8A 19 db 0A6h, 5Bh, 00h, 8Ah, 19h 31E4:9568 0008[00] db 8 dup (0) 31E4:9570 20 57 6D 09 00 00 db 20h, 57h, 6Dh, 09h, 00h, 00h 31E4:9576 72 71 00 00 80 00 db 72h, 71h, 00h, 00h, 80h, 00h 31E4:957C 88 00 10 00 14 00 db 88h, 00h, 10h, 00h, 14h, 00h 31E4:9582 02 01 3A 7F 0F 00 db 02h, 01h, 3Ah, 7Fh, 0Fh, 00h 31E4:9588 14 00 04 00 00 00 db 14h, 00h, 04h, 00h, 00h, 00h 31E4:958E A6 5B 00 92 1E db 0A6h, 5Bh, 00h, 92h, 1Eh 31E4:9593 0008[00] db 8 dup (0) 31E4:959B 20 57 6D 0F 00 00 db 20h, 57h, 6Dh, 0Fh, 00h, 00h 31E4:95A1 72 71 00 00 B1 01 db 72h, 71h, 00h, 00h,0B1h, 01h 31E4:95A7 B5 00 10 00 08 00 db 0B5h, 00h, 10h, 00h, 08h, 00h 31E4:95AD 01 01 3A 7F 0B 00 db 01h, 01h, 3Ah, 7Fh, 0Bh, 00h 31E4:95B3 08 00 04 00 00 00 db 08h, 00h, 04h, 00h, 00h, 00h 31E4:95B9 9D 5B 00 06 26 00 db 9Dh, 5Bh, 00h, 06h, 26h, 00h 31E4:95BF 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 31E4:95C5 01 10 80 05 F2 05 db 01h, 10h, 80h, 05h,0F2h, 05h 31E4:95CB 11 02 00 00 C3 95 db 11h, 02h, 00h, 00h,0C3h, 95h 31E4:95D1 30 00 00 72 71 00 db 30h, 00h, 00h, 72h, 71h, 00h 31E4:95D7 00 21 01 EB 00 60 db 00h, 21h, 01h,0EBh, 00h, 60h 31E4:95DD 00 40 00 01 01 3A db 00h, 40h, 00h, 01h, 01h, 3Ah 31E4:95E3 7F 5C 00 40 00 04 db 7Fh, 5Ch, 00h, 40h, 00h, 04h 31E4:95E9 00 00 00 2C 5A 00 db 00h, 00h, 00h, 2Ch, 5Ah, 00h 31E4:95EF 72 26 db 72h, 26h 31E4:95F1 0007[00] db 7 dup (0) 31E4:95F8 20 C3 95 30 00 00 db 20h,0C3h, 95h, 30h, 00h, 00h 31E4:95FE 72 71 00 00 61 01 db 72h, 71h, 00h, 00h, 61h, 01h 31E4:9604 85 data_1064 db 85h 31E4:9605 00 10 00 7D 00 01 db 00h, 10h, 00h, 7Dh, 00h, 01h 31E4:960B 01 3A 7F 03 00 7D db 01h, 3Ah, 7Fh, 03h, 00h, 7Dh 31E4:9611 00 01 00 00 00 35 db 00h, 01h, 00h, 00h, 00h, 35h 31E4:9617 5A 00 db 5Ah, 00h 31E4:9619 72 26 db 72h, 26h 31E4:961B 0007[00] db 7 dup (0) 31E4:9622 20 C3 95 30 00 00 db 20h,0C3h, 95h, 30h, 00h, 00h 31E4:9628 72 71 00 00 81 01 db 72h, 71h, 00h, 00h, 81h, 01h 31E4:962E 85 00 10 00 8D 00 db 85h, 00h, 10h, 00h, 8Dh, 00h 31E4:9634 01 01 3A 7F 03 00 db 01h, 01h, 3Ah, 7Fh, 03h, 00h 31E4:963A 8D 00 01 00 00 00 db 8Dh, 00h, 01h, 00h, 00h, 00h 31E4:9640 3E 5A 00 72 26 00 db 3Eh, 5Ah, 00h, 72h, 26h, 00h 31E4:9646 00 00 00 03 00 0A db 00h, 00h, 00h, 03h, 00h, 0Ah 31E4:964C 59 06 04 8F 06 01 db 59h, 06h, 04h, 8Fh, 06h, 01h 31E4:9652 10 80 09 02 00 00 db 10h, 80h, 09h, 02h, 00h, 00h 31E4:9658 49 96 30 00 00 72 db 49h, 96h, 30h, 00h, 00h, 72h 31E4:965E 71 00 00 06 01 07 db 71h, 00h, 00h, 06h, 01h, 07h 31E4:9664 01 50 00 25 00 01 db 01h, 50h, 00h, 25h, 00h, 01h 31E4:966A 01 3A 7F 50 00 25 db 01h, 3Ah, 7Fh, 50h, 00h, 25h 31E4:9670 00 01 00 00 00 50 db 00h, 01h, 00h, 00h, 00h, 50h 31E4:9676 5A 00 BC 26 00 00 db 5Ah, 00h,0BCh, 26h, 00h, 00h 31E4:967C 00 00 00 00 41 04 db 00h, 00h, 00h, 00h, 41h, 04h 31E4:9682 92 10 00 00 03 db 92h, 10h, 00h, 00h, 03h 31E4:9687 0007[00] db 7 dup (0) 31E4:968E F4 0C 94 0B 08 00 db 0F4h, 0Ch, 94h, 0Bh, 08h, 00h 31E4:9694 34 0A D4 08 06 0D db 34h, 0Ah,0D4h, 08h, 06h, 0Dh 31E4:969A 00 db 00h 31E4:969B 0009[00] db 9 dup (0) 31E4:96A4 DC 0D EF 6C db 0DCh, 0Dh,0EFh, 6Ch 31E4:96A8 0008[00] db 8 dup (0) 31E4:96B0 20 57 6D 06 00 00 db 20h, 57h, 6Dh, 06h, 00h, 00h 31E4:96B6 72 71 00 00 C8 00 db 72h, 71h, 00h, 00h,0C8h, 00h 31E4:96BC D3 00 40 00 3E 00 db 0D3h, 00h, 40h, 00h, 3Eh, 00h 31E4:96C2 01 01 2D 98 30 00 db 01h, 01h, 2Dh, 98h, 30h, 00h 31E4:96C8 3E 00 01 00 00 00 db 3Eh, 00h, 01h, 00h, 00h, 00h 31E4:96CE 6B 5A 20 00 db 6Bh, 5Ah, 20h, 00h 31E4:96D2 0008[00] db 8 dup (0) 31E4:96DA 20 57 6D 06 00 00 db 20h, 57h, 6Dh, 06h, 00h, 00h 31E4:96E0 72 71 00 00 60 00 db 72h, 71h, 00h, 00h, 60h, 00h 31E4:96E6 68 00 20 00 20 00 db 68h, 00h, 20h, 00h, 20h, 00h 31E4:96EC 01 01 BD 41 20 00 db 01h, 01h,0BDh, 41h, 20h, 00h 31E4:96F2 20 00 01 00 00 00 db 20h, 00h, 01h, 00h, 00h, 00h 31E4:96F8 74 5A 10 00 db 74h, 5Ah, 10h, 00h 31E4:96FC 0008[00] db 8 dup (0) 31E4:9704 20 57 6D 06 00 00 db 20h, 57h, 6Dh, 06h, 00h, 00h 31E4:970A 72 71 00 00 60 00 db 72h, 71h, 00h, 00h, 60h, 00h 31E4:9710 68 00 20 00 20 00 db 68h, 00h, 20h, 00h, 20h, 00h 31E4:9716 01 01 BD 41 20 00 db 01h, 01h,0BDh, 41h, 20h, 00h 31E4:971C 20 00 01 00 00 00 db 20h, 00h, 01h, 00h, 00h, 00h 31E4:9722 7D 5A 20 00 db 7Dh, 5Ah, 20h, 00h 31E4:9726 0007[00] db 7 dup (0) 31E4:972D 46 04 92 10 00 00 db 46h, 04h, 92h, 10h, 00h, 00h 31E4:9733 03 db 03h 31E4:9734 0007[00] db 7 dup (0) 31E4:973B F4 0C 94 0B 08 00 db 0F4h, 0Ch, 94h, 0Bh, 08h, 00h 31E4:9741 34 0A D4 08 06 0D db 34h, 0Ah,0D4h, 08h, 06h, 0Dh 31E4:9747 00 db 00h 31E4:9748 0009[00] db 9 dup (0) 31E4:9751 DC 0D EF 6C db 0DCh, 0Dh,0EFh, 6Ch 31E4:9755 0008[00] db 8 dup (0) 31E4:975D 20 57 6D 31 00 00 db 20h, 57h, 6Dh, 31h, 00h, 00h 31E4:9763 72 71 00 00 C8 00 db 72h, 71h, 00h, 00h,0C8h, 00h 31E4:9769 FC 00 40 00 3E 00 db 0FCh, 00h, 40h, 00h, 3Eh, 00h 31E4:976F 01 01 2D 98 30 00 db 01h, 01h, 2Dh, 98h, 30h, 00h 31E4:9775 3E 00 01 00 00 00 db 3Eh, 00h, 01h, 00h, 00h, 00h 31E4:977B 6B 5A 70 00 db 6Bh, 5Ah, 70h, 00h 31E4:977F 0008[00] db 8 dup (0) 31E4:9787 20 57 6D 31 00 00 db 20h, 57h, 6Dh, 31h, 00h, 00h 31E4:978D 72 71 00 00 60 00 db 72h, 71h, 00h, 00h, 60h, 00h 31E4:9793 68 00 20 00 20 00 db 68h, 00h, 20h, 00h, 20h, 00h 31E4:9799 01 01 BD 41 20 00 db 01h, 01h,0BDh, 41h, 20h, 00h 31E4:979F 20 00 01 00 00 00 db 20h, 00h, 01h, 00h, 00h, 00h 31E4:97A5 74 5A db 74h, 5Ah 31E4:97A7 000A[00] db 10 dup (0) 31E4:97B1 20 57 6D 31 00 00 db 20h, 57h, 6Dh, 31h, 00h, 00h 31E4:97B7 72 71 00 00 60 00 db 72h, 71h, 00h, 00h, 60h, 00h 31E4:97BD 68 00 20 00 20 00 db 68h, 00h, 20h, 00h, 20h, 00h 31E4:97C3 01 01 BD 41 20 00 db 01h, 01h,0BDh, 41h, 20h, 00h 31E4:97C9 20 00 01 00 00 00 db 20h, 00h, 01h, 00h, 00h, 00h 31E4:97CF 7D 5A db 7Dh, 5Ah 31E4:97D1 000A[00] db 10 dup (0) 31E4:97DB 20 00 00 2D 00 00 db 20h, 00h, 00h, 2Dh, 00h, 00h 31E4:97E1 72 71 00 00 70 01 db 72h, 71h, 00h, 00h, 70h, 01h 31E4:97E7 1B 01 20 00 25 00 db 1Bh, 01h, 20h, 00h, 25h, 00h 31E4:97ED 01 01 BD 41 18 00 db 01h, 01h,0BDh, 41h, 18h, 00h 31E4:97F3 25 00 01 00 00 00 db 25h, 00h, 01h, 00h, 00h, 00h 31E4:97F9 86 5A 00 db 86h, 5Ah, 00h 31E4:97FC 0009[00] db 9 dup (0) 31E4:9805 20 57 6D 29 00 00 db 20h, 57h, 6Dh, 29h, 00h, 00h 31E4:980B BD 41 00 00 A3 00 db 0BDh, 41h, 00h, 00h,0A3h, 00h 31E4:9811 C9 00 D0 00 59 00 db 0C9h, 00h,0D0h, 00h, 59h, 00h 31E4:9817 02 00 B3 87 14 00 db 02h, 00h,0B3h, 87h, 14h, 00h 31E4:981D 0C 00 04 00 00 00 db 0Ch, 00h, 04h, 00h, 00h, 00h 31E4:9823 F6 59 00 db 0F6h, 59h, 00h 31E4:9826 4E 27 db 4Eh, 27h 31E4:9828 00 00 00 00 db 0, 0, 0, 0 31E4:982C 0000 new_room_number_2 dw 0 ; xref 273F:60AB 31E4:982E 0000 new_room_x dw 0 ; xref 273F:6093 31E4:9830 0000 new_room_y dw 0 ; xref 273F:609F 31E4:9832 0001 room_number dw 1 31E4:9834 00 data_1084 db 0 ; xref 273F:12AF, 273F:12BE ; 273F:12C5, 273F:132F ; 273F:140B, 273F:1C4B ; 273F:1C52, 273F:1C70 ; 273F:5588 31E4:9835 00 num_inventory_items db 0 ; xref 273F:59DB, 273F:5A03 31E4:9836 01 data_1085 db 1 31E4:9837 00 talk_dialog_active db 0 31E4:9838 0000 data_1087 dw 0 31E4:983A 00 data_1088 db 0 31E4:983B 03E8 talk_character_id dw PLAYER_HOTSPOT_ID 31E4:983D 6B 00 db 6Bh, 00h 31E4:983F 03EA data_1090 dw 3EAh ; xref 273F:1FC8 31E4:9841 0000 data_1091 dw 0 ; xref 273F:1489 31E4:9843 00 00 00 00 db 0, 0, 0, 0 31E4:9847 0000 data_1093 dw 0 ; xref 273F:62B6 31E4:9849 00 pathfind_data db 00 ; Set of entries each 120 bytes 31E4:984A A5 C4 00 00 00 pathfind_data2 db 00h,0A5h,0C4h, 00h, 00h, 00h 31E4:984F 96 75 5A AD 93 A0 db 96h, 75h, 5Ah,0ADh, 93h,0A0h 31E4:9855 74 C9 24 44 8F C4 db 74h,0C9h, 24h, 44h, 8Fh,0C4h 31E4:985B A9 88 93 3C 15 86 db 0A9h, 88h, 93h, 3Ch, 15h, 86h 31E4:9861 24 A8 1B 44 7E E0 db 24h,0A8h, 1Bh, 44h, 7Eh,0E0h 31E4:9867 69 C2 D4 CC C4 4C db 69h,0C2h,0D4h,0CCh,0C4h, 4Ch 31E4:986D FB F4 86 E2 2E 6F db 0FBh,0F4h, 86h,0E2h, 2Eh, 6Fh 31E4:9873 D6 C6 B8 D5 FF FC db 0D6h,0C6h,0B8h,0D5h,0FFh,0FCh 31E4:9879 1E 80 9C 00 05 4C db 1Eh, 80h, 9Ch, 00h, 05h, 4Ch 31E4:987F CC 56 00 05 22 11 db 0CCh, 56h, 00h, 05h, 22h, 11h 31E4:9885 56 00 05 62 98 5C db 56h, 00h, 05h, 62h, 98h, 5Ch 31E4:988B 00 04 A1 45 12 00 db 00h, 04h,0A1h, 45h, 12h, 00h 31E4:9891 04 00 09 46 00 07 db 04h, 00h, 09h, 46h, 00h, 07h 31E4:9897 EF 74 96 00 05 00 db 0EFh, 74h, 96h, 00h, 05h, 00h 31E4:989D 02 36 00 07 FF E9 db 02h, 36h, 00h, 07h,0FFh,0E9h 31E4:98A3 D0 03 F8 01 FF F2 db 0D0h, 03h,0F8h, 01h,0FFh,0F2h 31E4:98A9 00 20 00 0B D6 00 db 00h, 20h, 00h, 0Bh,0D6h, 00h 31E4:98AF 20 00 06 16 EF E0 db 20h, 00h, 06h, 16h,0EFh,0E0h 31E4:98B5 00 01 EE 20 E0 00 db 00h, 01h,0EEh, 20h,0E0h, 00h 31E4:98BB 01 3A B7 7F FF FE db 01h, 3Ah,0B7h, 7Fh,0FFh,0FEh 31E4:98C1 C6 00 80 24 01 00 db 0C6h, 00h, 80h, 24h, 01h, 00h 31E4:98C7 50 80 24 01 00 8E db 50h, 80h, 24h, 01h, 00h, 8Eh 31E4:98CD 80 24 01 00 82 80 db 80h, 24h, 01h, 00h, 82h, 80h 31E4:98D3 24 01 00 16 80 24 db 24h, 01h, 00h, 16h, 80h, 24h 31E4:98D9 01 00 90 80 24 01 db 01h, 00h, 90h, 80h, 24h, 01h 31E4:98DF 00 A6 80 24 01 FF db 00h,0A6h, 80h, 24h, 01h,0FFh 31E4:98E5 04 80 24 01 00 46 db 04h, 80h, 24h, 01h, 00h, 46h 31E4:98EB 80 E7 01 00 62 90 db 80h,0E7h, 01h, 00h, 62h, 90h 31E4:98F1 81 09 00 44 90 81 db 81h, 09h, 00h, 44h, 90h, 81h 31E4:98F7 09 00 5E 90 81 09 db 09h, 00h, 5Eh, 90h, 81h, 09h 31E4:98FD 00 36 90 81 09 00 db 00h, 36h, 90h, 81h, 09h, 00h 31E4:9903 59 FF FF 0F E0 96 db 59h,0FFh,0FFh, 0Fh,0E0h, 96h 31E4:9909 00 00 00 10 88 00 db 00h, 00h, 00h, 10h, 88h, 00h 31E4:990F 00 00 08 C8 00 7E db 00h, 00h, 08h,0C8h, 00h, 7Eh 31E4:9915 00 0C 30 00 00 00 db 00h, 0Ch, 30h, 00h, 00h, 00h 31E4:991B 0C C0 00 00 00 0C db 0Ch,0C0h, 00h, 00h, 00h, 0Ch 31E4:9921 FF FF FF FF FF 80 db 0FFh,0FFh,0FFh,0FFh,0FFh, 80h 31E4:9927 0A 94 D0 82 BD 4D db 0Ah, 94h,0D0h, 82h,0BDh, 4Dh 31E4:992D 31 4E 08 DF 4E 6C db 31h, 4Eh, 08h,0DFh, 4Eh, 6Ch 31E4:9933 8E B6 0A 45 00 A2 db 8Eh,0B6h, 0Ah, 45h, 00h,0A2h 31E4:9939 BE 02 95 44 58 80 db 0BEh, 02h, 95h, 44h, 58h, 80h 31E4:993F BA 80 16 26 FC B6 db 0BAh, 80h, 16h, 26h,0FCh,0B6h 31E4:9945 97 00 22 8A A6 C4 db 97h, 00h, 22h, 8Ah,0A6h,0C4h 31E4:994B 30 E8 88 7A 6C 45 db 30h,0E8h, 88h, 7Ah, 6Ch, 45h 31E4:9951 0A B2 72 87 87 C6 db 0Ah,0B2h, 72h, 87h, 87h,0C6h 31E4:9957 83 8E 8A 66 06 BC db 83h, 8Eh, 8Ah, 66h, 06h,0BCh 31E4:995D FE 92 C6 E6 81 03 db 0FEh, 92h,0C6h,0E6h, 81h, 03h 31E4:9963 02 16 0E FF 03 7F db 02h, 16h, 0Eh,0FFh, 03h, 7Fh 31E4:9969 F7 58 80 02 00 00 db 0F7h, 58h, 80h, 02h, 00h, 00h 31E4:996F 00 80 02 00 00 00 db 00h, 80h, 02h, 00h, 00h, 00h 31E4:9975 80 02 00 00 00 80 db 80h, 02h, 00h, 00h, 00h, 80h 31E4:997B 02 00 00 00 80 02 db 02h, 00h, 00h, 00h, 80h, 02h 31E4:9981 00 00 00 80 03 FF db 00h, 00h, 00h, 80h, 03h,0FFh 31E4:9987 FF FF 80 03 FF FF db 0FFh,0FFh, 80h, 03h,0FFh,0FFh 31E4:998D FF 80 0F C0 00 00 db 0FFh, 80h, 0Fh,0C0h, 00h, 00h 31E4:9993 70 00 00 00 00 00 db 70h, 00h, 00h, 00h, 00h, 00h 31E4:9999 38 00 1F F0 1F 10 db 38h, 00h, 1Fh,0F0h, 1Fh, 10h 31E4:999F 00 00 00 14 30 00 db 00h, 00h, 00h, 14h, 30h, 00h 31E4:99A5 00 00 16 FF FF FF db 00h, 00h, 16h,0FFh,0FFh,0FFh 31E4:99AB FF FF E9 FF 9B 32 db 0FFh,0FFh,0E9h,0FFh, 9Bh, 32h 31E4:99B1 FF 02 80 36 22 AE db 0FFh, 02h, 80h, 36h, 22h,0AEh 31E4:99B7 FE AA A5 36 E9 A2 db 0FEh,0AAh,0A5h, 36h,0E9h,0A2h 31E4:99BD BF 80 CE 8C 86 D2 db 0BFh, 80h,0CEh, 8Ch, 86h,0D2h 31E4:99C3 D6 16 E2 36 C0 3D db 0D6h, 16h,0E2h, 36h,0C0h, 3Dh 31E4:99C9 D6 9C 4A AE 88 A6 db 0D6h, 9Ch, 4Ah,0AEh, 88h,0A6h 31E4:99CF B4 BA B5 10 FD 9D db 0B4h,0BAh,0B5h, 10h,0FDh, 9Dh 31E4:99D5 93 BE 57 2B E1 02 db 93h,0BEh, 57h, 2Bh,0E1h, 02h 31E4:99DB 65 CE 6E BB FF FF db 65h,0CEh, 6Eh,0BBh,0FFh,0FFh 31E4:99E1 FF FF D5 02 00 00 db 0FFh,0FFh,0D5h, 02h, 00h, 00h 31E4:99E7 00 80 02 00 00 00 db 00h, 80h, 02h, 00h, 00h, 00h 31E4:99ED 80 02 00 00 00 80 db 80h, 02h, 00h, 00h, 00h, 80h 31E4:99F3 02 00 00 00 80 02 db 02h, 00h, 00h, 00h, 80h, 02h 31E4:99F9 00 00 00 80 02 00 db 00h, 00h, 00h, 80h, 02h, 00h 31E4:99FF 00 00 80 07 FF FF db 00h, 00h, 80h, 07h,0FFh,0FFh 31E4:9A05 FF C0 08 00 00 00 db 0FFh,0C0h, 08h, 00h, 00h, 00h 31E4:9A0B 20 10 00 00 00 10 db 20h, 10h, 00h, 00h, 00h, 10h 31E4:9A11 3F FF 00 00 0C 40 db 3Fh,0FFh, 00h, 00h, 0Ch, 40h 31E4:9A17 00 00 00 04 FF FF db 00h, 00h, 00h, 04h,0FFh,0FFh 31E4:9A1D FF 83 FF B0 00 00 db 0FFh, 83h,0FFh,0B0h, 00h, 00h 31E4:9A23 02 00 F0 00 00 00 db 02h, 00h,0F0h, 00h, 00h, 00h 31E4:9A29 00 11 22 00 00 30 db 00h, 11h, 22h, 00h, 00h, 30h 31E4:9A2F 60 08 A0 C8 C4 C5 db 60h, 08h,0A0h,0C8h,0C4h,0C5h 31E4:9A35 82 20 62 8C 88 2F db 82h, 20h, 62h, 8Ch, 88h, 2Fh 31E4:9A3B 20 22 A0 32 10 22 db 20h, 22h,0A0h, 32h, 10h, 22h 31E4:9A41 D7 48 87 64 0C 00 db 0D7h, 48h, 87h, 64h, 0Ch, 00h 31E4:9A47 74 34 1A 63 F1 10 db 74h, 34h, 1Ah, 63h,0F1h, 10h 31E4:9A4D A4 64 9A 11 34 81 db 0A4h, 64h, 9Ah, 11h, 34h, 81h 31E4:9A53 09 02 10 64 31 92 db 09h, 02h, 10h, 64h, 31h, 92h 31E4:9A59 A2 15 AA A0 41 AE db 0A2h, 15h,0AAh,0A0h, 41h,0AEh 31E4:9A5F 10 10 05 5A 22 10 db 10h, 10h, 05h, 5Ah, 22h, 10h 31E4:9A65 00 88 B0 04 08 84 db 00h, 88h,0B0h, 04h, 08h, 84h 31E4:9A6B 18 B8 64 04 6E 40 db 18h,0B8h, 64h, 04h, 6Eh, 40h 31E4:9A71 26 C4 02 00 B0 55 db 26h,0C4h, 02h, 00h,0B0h, 55h 31E4:9A77 C8 03 FF 05 28 10 db 0C8h, 03h,0FFh, 05h, 28h, 10h 31E4:9A7D 00 FC 08 19 98 00 db 00h,0FCh, 08h, 19h, 98h, 00h 31E4:9A83 3F 93 E0 06 00 40 db 3Fh, 93h,0E0h, 06h, 00h, 40h 31E4:9A89 30 18 61 0F 81 00 db 30h, 18h, 61h, 0Fh, 81h, 00h 31E4:9A8F 51 36 B0 0C A2 42 db 51h, 36h,0B0h, 0Ch,0A2h, 42h 31E4:9A95 10 43 F1 86 02 6C db 10h, 43h,0F1h, 86h, 02h, 6Ch 31E4:9A9B 1E 00 44 A8 db 1Eh, 00h, 44h,0A8h 31E4:9A9F B1 data_1094 db 0B1h 31E4:9AA0 F5 A7 00 00 00 00 db 0F5h,0A7h, 00h, 00h, 00h, 00h 31E4:9AA6 00 FD 55 65 72 D7 db 00h,0FDh, 55h, 65h, 72h,0D7h 31E4:9AAC 03 5D A9 75 40 4B db 03h, 5Dh,0A9h, 75h, 40h, 4Bh 31E4:9AB2 4C 99 44 5B 2E 94 db 4Ch, 99h, 44h, 5Bh, 2Eh, 94h 31E4:9AB8 98 AA A5 81 25 92 db 98h,0AAh,0A5h, 81h, 25h, 92h 31E4:9ABE 4A CD EA 40 00 09 db 4Ah,0CDh,0EAh, 40h, 00h, 09h 31E4:9AC4 72 00 19 52 A0 06 db 72h, 00h, 19h, 52h,0A0h, 06h 31E4:9ACA AC 39 54 51 42 80 db 0ACh, 39h, 54h, 51h, 42h, 80h 31E4:9AD0 00 AA 29 22 52 B2 db 00h,0AAh, 29h, 22h, 52h,0B2h 31E4:9AD6 00 02 44 00 16 4C db 00h, 02h, 44h, 00h, 16h, 4Ch 31E4:9ADC 90 00 56 87 EB BB db 90h, 00h, 56h, 87h,0EBh,0BBh 31E4:9AE2 76 83 B3 00 00 20 db 76h, 83h,0B3h, 00h, 00h, 20h 31E4:9AE8 BC 02 CF FF 1E 00 db 0BCh, 02h,0CFh,0FFh, 1Eh, 00h 31E4:9AEE FF F0 00 80 FF 00 db 0FFh,0F0h, 00h, 80h,0FFh, 00h 31E4:9AF4 00 00 FF 00 00 00 db 00h, 00h,0FFh, 00h, 00h, 00h 31E4:9AFA 00 00 FC 00 00 00 db 00h, 00h,0FCh, 00h, 00h, 00h 31E4:9B00 7F 82 00 00 00 58 db 7Fh, 82h, 00h, 00h, 00h, 58h 31E4:9B06 B9 00 00 01 9F 96 db 0B9h, 00h, 00h, 01h, 9Fh, 96h 31E4:9B0C 80 00 06 60 8A 40 db 80h, 00h, 06h, 60h, 8Ah, 40h 31E4:9B12 00 F9 C0 56 3F FF db 00h,0F9h,0C0h, 56h, 3Fh,0FFh 31E4:9B18 3A 13 FF E0 20 40 db 3Ah, 13h,0FFh,0E0h, 20h, 40h 31E4:9B1E 80 FF FB 56 19 90 db 80h,0FFh,0FBh, 56h, 19h, 90h 31E4:9B24 FF EF 64 44 24 FF db 0FFh,0EFh, 64h, 44h, 24h,0FFh 31E4:9B2A E0 20 08 30 FF FD db 0E0h, 20h, 08h, 30h,0FFh,0FDh 31E4:9B30 EA 69 90 FF F2 F4 db 0EAh, 69h, 90h,0FFh,0F2h,0F4h 31E4:9B36 02 81 FF E1 4B 01 db 02h, 81h,0FFh,0E1h, 4Bh, 01h 31E4:9B3C 28 FF FA 50 AB 26 db 28h,0FFh,0FAh, 50h,0ABh, 26h 31E4:9B42 00 09 E0 91 1E 00 db 00h, 09h,0E0h, 91h, 1Eh, 00h 31E4:9B48 09 53 84 B0 00 08 db 09h, 53h, 84h,0B0h, 00h, 08h 31E4:9B4E 2F 2D A0 00 09 43 db 2Fh, 2Dh,0A0h, 00h, 09h, 43h 31E4:9B54 1C E3 00 09 38 85 db 1Ch,0E3h, 00h, 09h, 38h, 85h 31E4:9B5A 39 00 09 8D 57 DE db 39h, 00h, 09h, 8Dh, 57h,0DEh 31E4:9B60 00 09 FF 28 19 00 db 00h, 09h,0FFh, 28h, 19h, 00h 31E4:9B66 FE 00 9D 81 00 00 db 0FEh, 00h, 9Dh, 81h, 00h, 00h 31E4:9B6C 00 67 69 03 C0 00 db 00h, 67h, 69h, 03h,0C0h, 00h 31E4:9B72 15 18 00 40 00 09 db 15h, 18h, 00h, 40h, 00h, 09h 31E4:9B78 6B FF FF FF FB 85 db 6Bh,0FFh,0FFh,0FFh,0FBh, 85h 31E4:9B7E D7 44 02 FA F5 FB db 0D7h, 44h, 02h,0FAh,0F5h,0FBh 31E4:9B84 31 A8 63 FF C0 16 db 31h,0A8h, 63h,0FFh,0C0h, 16h 31E4:9B8A BD A4 FE 15 21 22 db 0BDh,0A4h,0FEh, 15h, 21h, 22h 31E4:9B90 78 70 05 23 88 82 db 78h, 70h, 05h, 23h, 88h, 82h 31E4:9B96 74 D4 D5 4B 5F AA db 74h,0D4h,0D5h, 4Bh, 5Fh,0AAh 31E4:9B9C 00 09 9A 9B 22 CD db 00h, 09h, 9Ah, 9Bh, 22h,0CDh 31E4:9BA2 4F 55 9A 8A 05 C0 db 4Fh, 55h, 9Ah, 8Ah, 05h,0C0h 31E4:9BA8 A8 FE FC 01 07 56 db 0A8h,0FEh,0FCh, 01h, 07h, 56h 31E4:9BAE E2 16 92 B8 FE 33 db 0E2h, 16h, 92h,0B8h,0FEh, 33h 31E4:9BB4 5F E7 42 06 2C CF db 5Fh,0E7h, 42h, 06h, 2Ch,0CFh 31E4:9BBA 42 17 E5 A7 F2 9D db 42h, 17h,0E5h,0A7h,0F2h, 9Dh 31E4:9BC0 64 24 39 F3 A4 34 db 64h, 24h, 39h,0F3h,0A4h, 34h 31E4:9BC6 2F 20 CB 92 A4 22 db 2Fh, 20h,0CBh, 92h,0A4h, 22h 31E4:9BCC 0B 26 E1 B4 24 03 db 0Bh, 26h,0E1h,0B4h, 24h, 03h 31E4:9BD2 AD 9C A4 23 3A 00 db 0ADh, 9Ch,0A4h, 23h, 3Ah, 00h 31E4:9BD8 00 E4 37 DD AB 24 db 00h,0E4h, 37h,0DDh,0ABh, 24h 31E4:9BDE 44 20 00 B1 C6 CC db 44h, 20h, 00h,0B1h,0C6h,0CCh 31E4:9BE4 3F 87 9B 01 D0 07 db 3Fh, 87h, 9Bh, 01h,0D0h, 07h 31E4:9BEA C8 1A 28 60 01 E7 db 0C8h, 1Ah, 28h, 60h, 01h,0E7h 31E4:9BF0 A3 D7 A0 00 12 BB db 0A3h,0D7h,0A0h, 00h, 12h,0BBh 31E4:9BF6 D4 A0 00 11 20 59 db 0D4h,0A0h, 00h, 11h, 20h, 59h 31E4:9BFC C0 00 0F 25 1B 40 db 0C0h, 00h, 0Fh, 25h, 1Bh, 40h 31E4:9C02 00 09 57 EE 40 00 db 00h, 09h, 57h,0EEh, 40h, 00h 31E4:9C08 08 A8 5E C4 7A 68 db 08h,0A8h, 5Eh,0C4h, 7Ah, 68h 31E4:9C0E 00 D3 9D 90 2E DB db 00h,0D3h, 9Dh, 90h, 2Eh,0DBh 31E4:9C14 91 77 D6 BB 25 A4 db 91h, 77h,0D6h,0BBh, 25h,0A4h 31E4:9C1A EC 09 7F 5E 00 BE db 0ECh, 09h, 7Fh, 5Eh, 00h,0BEh 31E4:9C20 D7 B6 00 A6 4C ED db 0D7h,0B6h, 00h,0A6h, 4Ch,0EDh 31E4:9C26 FD 09 0B A5 94 38 db 0FDh, 09h, 0Bh,0A5h, 94h, 38h 31E4:9C2C F5 A4 FE BC ED 03 db 0F5h,0A4h,0FEh,0BCh,0EDh, 03h 31E4:9C32 A0 FC CE AE FB 57 db 0A0h,0FCh,0CEh,0AEh,0FBh, 57h 31E4:9C38 EE 73 2A 09 99 EE db 0EEh, 73h, 2Ah, 09h, 99h,0EEh 31E4:9C3E 6F A4 94 E7 EC 55 db 6Fh,0A4h, 94h,0E7h,0ECh, 55h 31E4:9C44 6B 2C 3F FC 00 7A db 6Bh, 2Ch, 3Fh,0FCh, 00h, 7Ah 31E4:9C4A 1B B5 7D FF A8 2C db 1Bh,0B5h, 7Dh,0FFh,0A8h, 2Ch 31E4:9C50 DD FE 00 68 A4 4E db 0DDh,0FEh, 00h, 68h,0A4h, 4Eh 31E4:9C56 C4 00 2B 02 FF F8 db 0C4h, 00h, 2Bh, 02h,0FFh,0F8h 31E4:9C5C 00 1F F4 00 00 00 db 00h, 1Fh,0F4h, 00h, 00h, 00h 31E4:9C62 00 13 00 00 00 00 db 00h, 13h, 00h, 00h, 00h, 00h 31E4:9C68 12 00 00 00 00 12 db 12h, 00h, 00h, 00h, 00h, 12h 31E4:9C6E FC 00 00 00 17 04 db 0FCh, 00h, 00h, 00h, 17h, 04h 31E4:9C74 00 00 00 16 04 00 db 00h, 00h, 00h, 16h, 04h, 00h 31E4:9C7A 00 00 12 07 FC 00 db 00h, 00h, 12h, 07h,0FCh, 00h 31E4:9C80 00 7A FF E7 48 84 db 00h, 7Ah,0FFh,0E7h, 48h, 84h 31E4:9C86 20 BC 1F DF BD AE db 20h,0BCh, 1Fh,0DFh,0BDh,0AEh 31E4:9C8C CD C7 9A 84 70 EB db 0CDh,0C7h, 9Ah, 84h, 70h,0EBh 31E4:9C92 CB 34 D7 9B 8B 93 db 0CBh, 34h,0D7h, 9Bh, 8Bh, 93h 31E4:9C98 2F 32 3A 5D D8 EE db 2Fh, 32h, 3Ah, 5Dh,0D8h,0EEh 31E4:9C9E E6 CE 9B 13 79 9D db 0E6h,0CEh, 9Bh, 13h, 79h, 9Dh 31E4:9CA4 54 72 D3 C1 00 3A db 54h, 72h,0D3h,0C1h, 00h, 3Ah 31E4:9CAA 6F FB 5D 94 2A 1A db 6Fh,0FBh, 5Dh, 94h, 2Ah, 1Ah 31E4:9CB0 AC 45 9A D6 6B CF db 0ACh, 45h, 9Ah,0D6h, 6Bh,0CFh 31E4:9CB6 F9 8D 4C 4B EF 0B db 0F9h, 8Dh, 4Ch, 4Bh,0EFh, 0Bh 31E4:9CBC B8 62 6F 67 0C 3B db 0B8h, 62h, 6Fh, 67h, 0Ch, 3Bh 31E4:9CC2 6E 85 EF 0F 40 1C db 6Eh, 85h,0EFh, 0Fh, 40h, 1Ch 31E4:9CC8 7E FF 08 DF EC EF db 7Eh,0FFh, 08h,0DFh,0ECh,0EFh 31E4:9CCE FD 09 E0 1F FF ED db 0FDh, 09h,0E0h, 1Fh,0FFh,0EDh 31E4:9CD4 EE 00 00 17 5F 00 db 0EEh, 00h, 00h, 17h, 5Fh, 00h 31E4:9CDA 00 01 FF E0 00 00 db 00h, 01h,0FFh,0E0h, 00h, 00h 31E4:9CE0 07 00 00 00 00 19 db 07h, 00h, 00h, 00h, 00h, 19h 31E4:9CE6 00 00 00 00 6E 00 db 00h, 00h, 00h, 00h, 6Eh, 00h 31E4:9CEC 00 00 00 9B 00 00 db 00h, 00h, 00h, 9Bh, 00h, 00h 31E4:9CF2 00 07 E7 FE 1F FF db 00h, 07h,0E7h,0FEh, 1Fh,0FFh 31E4:9CF8 F9 DC 4E 46 C0 C1 db 0F9h,0DCh, 4Eh, 46h,0C0h,0C1h 31E4:9CFE 4C FF FB DA 2D 50 db 4Ch,0FFh,0FBh,0DAh, 2Dh, 50h 31E4:9D04 7A BB 53 C6 22 FF db 7Ah,0BBh, 53h,0C6h, 22h,0FFh 31E4:9D0A B7 66 8F 02 39 97 db 0B7h, 66h, 8Fh, 02h, 39h, 97h 31E4:9D10 DF 28 78 DB 46 FC db 0DFh, 28h, 78h,0DBh, 46h,0FCh 31E4:9D16 2C 86 7A FD EE AE db 2Ch, 86h, 7Ah,0FDh,0EEh,0AEh 31E4:9D1C D2 DF 78 31 35 9C db 0D2h,0DFh, 78h, 31h, 35h, 9Ch 31E4:9D22 FB FF E9 AC AC FD db 0FBh,0FFh,0E9h,0ACh,0ACh,0FDh 31E4:9D28 FC 2D C6 4E D7 DC db 0FCh, 2Dh,0C6h, 4Eh,0D7h,0DCh 31E4:9D2E 2E AB A5 AF BC 21 db 2Eh,0ABh,0A5h,0AFh,0BCh, 21h 31E4:9D34 2F EC 9F BC 2C C6 db 2Fh,0ECh, 9Fh,0BCh, 2Ch,0C6h 31E4:9D3A 7E DF FC 29 FA A6 db 7Eh,0DFh,0FCh, 29h,0FAh,0A6h 31E4:9D40 FA EC 3E 3F EF F6 db 0FAh,0ECh, 3Eh, 3Fh,0EFh,0F6h 31E4:9D46 FC 2B D7 7D BB AC db 0FCh, 2Bh,0D7h, 7Dh,0BBh,0ACh 31E4:9D4C 3F 2D D9 F7 F0 03 db 3Fh, 2Dh,0D9h,0F7h,0F0h, 03h 31E4:9D52 55 BF F6 A0 00 C5 db 55h,0BFh,0F6h,0A0h, 00h,0C5h 31E4:9D58 67 7F C0 00 2C DE db 67h, 7Fh,0C0h, 00h, 2Ch,0DEh 31E4:9D5E EE C0 00 12 BA 97 db 0EEh,0C0h, 00h, 12h,0BAh, 97h 31E4:9D64 C0 00 12 AF BE C0 db 0C0h, 00h, 12h,0AFh,0BEh,0C0h 31E4:9D6A 00 13 BD FF C0 00 db 00h, 13h,0BDh,0FFh,0C0h, 00h 31E4:9D70 15 B2 F9 CF E0 84 db 15h,0B2h,0F9h,0CFh,0E0h, 84h 31E4:9D76 21 EF 3E 44 9D A8 db 21h,0EFh, 3Eh, 44h, 9Dh,0A8h 31E4:9D7C C0 18 0E A0 25 DF db 0C0h, 18h, 0Eh,0A0h, 25h,0DFh 31E4:9D82 EA FA 80 22 50 6B db 0EAh,0FAh, 80h, 22h, 50h, 6Bh 31E4:9D88 0A 9D 24 50 6B FC db 0Ah, 9Dh, 24h, 50h, 6Bh,0FCh 31E4:9D8E A0 08 50 4B FE AA db 0A0h, 08h, 50h, 4Bh,0FEh,0AAh 31E4:9D94 D8 D0 79 0A 80 06 db 0D8h,0D0h, 79h, 0Ah, 80h, 06h 31E4:9D9A 50 59 0A B5 42 D0 db 50h, 59h, 0Ah,0B5h, 42h,0D0h 31E4:9DA0 49 08 AD 34 70 7F db 49h, 08h,0ADh, 34h, 70h, 7Fh 31E4:9DA6 0C 80 06 FF 80 03 db 0Ch, 80h, 06h,0FFh, 80h, 03h 31E4:9DAC FE 42 F8 00 00 03 db 0FEh, 42h,0F8h, 00h, 00h, 03h 31E4:9DB2 7E 78 00 40 01 80 db 7Eh, 78h, 00h, 40h, 01h, 80h 31E4:9DB8 F8 00 F8 00 7F D8 db 0F8h, 00h,0F8h, 00h, 7Fh,0D8h 31E4:9DBE 01 FC 00 7F E8 00 db 01h,0FCh, 00h, 7Fh,0E8h, 00h 31E4:9DC4 00 00 7F E8 00 00 db 00h, 00h, 7Fh,0E8h, 00h, 00h 31E4:9DCA 00 FF F4 00 00 01 db 00h,0FFh,0F4h, 00h, 00h, 01h 31E4:9DD0 FF B2 00 00 07 FF db 0FFh,0B2h, 00h, 00h, 07h,0FFh 31E4:9DD6 ED 00 00 00 7F BE db 0EDh, 00h, 00h, 00h, 7Fh,0BEh 31E4:9DDC 80 00 FF FF 0D 60 db 80h, 00h,0FFh,0FFh, 0Dh, 60h 31E4:9DE2 0F FF FF FB DF FF db 0Fh,0FFh,0FFh,0FBh,0DFh,0FFh 31E4:9DE8 FF FF 08 1B 61 08 db 0FFh,0FFh, 08h, 1Bh, 61h, 08h 31E4:9DEE 46 BE 7F 7D DE 7B db 46h,0BEh, 7Fh, 7Dh,0DEh, 7Bh 31E4:9DF4 94 D5 9F FF F6 01 db 94h,0D5h, 9Fh,0FFh,0F6h, 01h 31E4:9DFA AF 42 BF D9 77 56 db 0AFh, 42h,0BFh,0D9h, 77h, 56h 31E4:9E00 FD 3B 56 86 76 C3 db 0FDh, 3Bh, 56h, 86h, 76h,0C3h 31E4:9E06 F3 CA 24 F9 BB ED db 0F3h,0CAh, 24h,0F9h,0BBh,0EDh 31E4:9E0C C7 3D 75 B0 6E 96 db 0C7h, 3Dh, 75h,0B0h, 6Eh, 96h 31E4:9E12 4F 6A 0F DD AA 03 db 4Fh, 6Ah, 0Fh,0DDh,0AAh, 03h 31E4:9E18 71 6E 7F 57 CE E5 db 71h, 6Eh, 7Fh, 57h,0CEh,0E5h 31E4:9E1E 4F D2 FF 11 9A D1 db 4Fh,0D2h,0FFh, 11h, 9Ah,0D1h 31E4:9E24 B7 5A 6C D5 BD C7 db 0B7h, 5Ah, 6Ch,0D5h,0BDh,0C7h 31E4:9E2A 7C 3F 3E 2D BF F7 db 7Ch, 3Fh, 3Eh, 2Dh,0BFh,0F7h 31E4:9E30 E4 B0 C9 41 7E 4C db 0E4h,0B0h,0C9h, 41h, 7Eh, 4Ch 31E4:9E36 1D F2 67 FD FC D7 db 1Dh,0F2h, 67h,0FDh,0FCh,0D7h 31E4:9E3C F7 EB 7E 7A 6D 55 db 0F7h,0EBh, 7Eh, 7Ah, 6Dh, 55h 31E4:9E42 FF 80 5F FF FE 00 db 0FFh, 80h, 5Fh,0FFh,0FEh, 00h 31E4:9E48 00 E0 db 00h,0E0h 31E4:9E4A 0008[00] db 8 dup (0) 31E4:9E52 FF 00 00 00 0F 3E db 0FFh, 00h, 00h, 00h, 0Fh, 3Eh 31E4:9E58 00 00 01 F3 FA 00 db 00h, 00h, 01h,0F3h,0FAh, 00h 31E4:9E5E 00 06 7C BC AF FD db 00h, 06h, 7Ch,0BCh,0AFh,0FDh 31E4:9E64 F5 6A 74 F7 BD F7 db 0F5h, 6Ah, 74h,0F7h,0BDh,0F7h 31E4:9E6A 58 07 DA DB B3 FD db 58h, 07h,0DAh,0DBh,0B3h,0FDh 31E4:9E70 FD 41 FB F5 AB 5D db 0FDh, 41h,0FBh,0F5h,0ABh, 5Dh 31E4:9E76 6F FF FF 6F BF 9E db 6Fh,0FFh,0FFh, 6Fh,0BFh, 9Eh 31E4:9E7C 98 7B F9 D6 33 77 db 98h, 7Bh,0F9h,0D6h, 33h, 77h 31E4:9E82 EF 6F 56 FE D4 2F db 0EFh, 6Fh, 56h,0FEh,0D4h, 2Fh 31E4:9E88 BF FD E9 B4 2B 5D db 0BFh,0FDh,0E9h,0B4h, 2Bh, 5Dh 31E4:9E8E BF 0A F4 2F F3 FF db 0BFh, 0Ah,0F4h, 2Fh,0F3h,0FFh 31E4:9E94 E5 F4 29 77 9F A3 db 0E5h,0F4h, 29h, 77h, 9Fh,0A3h 31E4:9E9A D4 2F D7 7F 17 54 db 0D4h, 2Fh,0D7h, 7Fh, 17h, 54h 31E4:9EA0 29 FD FF CF F4 2A db 29h,0FDh,0FFh,0CFh,0F4h, 2Ah 31E4:9EA6 9D FF 62 D7 FF FE db 9Dh,0FFh, 62h,0D7h,0FFh,0FEh 31E4:9EAC 00 1E 88 00 00 00 db 00h, 1Eh, 88h, 00h, 00h, 00h 31E4:9EB2 FF F8 db 0FFh,0F8h 31E4:9EB4 000D[00] db 13 dup (0) 31E4:9EC1 FF 80 00 0F FF F0 db 0FFh, 80h, 00h, 0Fh,0FFh,0F0h 31E4:9EC7 00 03 F3 FB 00 00 db 00h, 03h,0F3h,0FBh, 00h, 00h 31E4:9ECD 1D 7F FB 00 00 2F db 1Dh, 7Fh,0FBh, 00h, 00h, 2Fh 31E4:9ED3 C3 5F 00 00 4F 3E db 0C3h, 5Fh, 00h, 00h, 4Fh, 3Eh 31E4:9ED9 AD FB 94 FE 84 26 db 0ADh,0FBh, 94h,0FEh, 84h, 26h 31E4:9EDF F4 FB FB 76 EF FF db 0F4h,0FBh,0FBh, 76h,0EFh,0FFh 31E4:9EE5 6D E2 D4 AF C8 3D db 6Dh,0E2h,0D4h,0AFh,0C8h, 3Dh 31E4:9EEB FE EE C6 D7 BE DA db 0FEh,0EEh,0C6h,0D7h,0BEh,0DAh 31E4:9EF1 DE BD 3B 7F FD FD db 0DEh,0BDh, 3Bh, 7Fh,0FDh,0FDh 31E4:9EF7 45 CB 6F FF 9B 77 db 45h,0CBh, 6Fh,0FFh, 9Bh, 77h 31E4:9EFD 1F BF FD db 1Fh,0BFh,0FDh 31E4:9F00 56 data_1097 db 56h ; xref 31E4:189D 31E4:9F01 92 4F 78 07 FA 97 db 92h, 4Fh, 78h, 07h,0FAh, 97h 31E4:9F07 66 78 06 9F 27 F2 db 66h, 78h, 06h, 9Fh, 27h,0F2h 31E4:9F0D F8 05 FC A4 92 E8 db 0F8h, 05h,0FCh,0A4h, 92h,0E8h 31E4:9F13 05 3F AF FF 38 07 db 05h, 3Fh,0AFh,0FFh, 38h, 07h 31E4:9F19 35 D6 33 E8 05 B7 db 35h,0D6h, 33h,0E8h, 05h,0B7h 31E4:9F1F FF BF F8 04 FE BF db 0FFh,0BFh,0F8h, 04h,0FEh,0BFh 31E4:9F25 78 FF E7 FF FF FF db 78h,0FFh,0E7h,0FFh,0FFh,0FFh 31E4:9F2B F8 00 FF FF 80 F8 db 0F8h, 00h,0FFh,0FFh, 80h,0F8h 31E4:9F31 00 00 00 80 00 00 db 00h, 00h, 00h, 80h, 00h, 00h 31E4:9F37 00 00 80 00 00 00 db 00h, 00h, 80h, 00h, 00h, 00h 31E4:9F3D 00 80 00 00 00 00 db 00h, 80h, 00h, 00h, 00h, 00h 31E4:9F43 80 00 00 00 3F 80 db 80h, 00h, 00h, 00h, 3Fh, 80h 31E4:9F49 00 00 03 CE 80 00 db 00h, 00h, 03h,0CEh, 80h, 00h 31E4:9F4F 00 04 7F 00 00 42 db 00h, 04h, 7Fh, 00h, 00h, 42h 31E4:9F55 10 84 00 00 42 00 db 10h, 84h, 00h, 00h, 42h, 00h 31E4:9F5B 00 00 00 42 00 04 db 00h, 00h, 00h, 42h, 00h, 04h 31E4:9F61 00 00 42 00 00 00 db 00h, 00h, 42h, 00h, 00h, 00h 31E4:9F67 00 42 00 00 00 00 db 00h, 42h, 00h, 00h, 00h, 00h 31E4:9F6D 42 00 00 00 00 42 db 42h, 00h, 00h, 00h, 00h, 42h 31E4:9F73 00 00 00 00 C3 00 db 00h, 00h, 00h, 00h,0C3h, 00h 31E4:9F79 00 00 00 81 00 00 db 00h, 00h, 00h, 81h, 00h, 00h 31E4:9F7F 00 01 00 80 00 00 db 00h, 01h, 00h, 80h, 00h, 00h 31E4:9F85 01 00 80 00 db 01h, 00h, 80h, 00h 31E4:9F89 loc_2342: ; xref 31E4:9FCA 31E4:9F89 00 01 add [bx+di],al 31E4:9F8B 00 80 0000 add byte ptr copyright[bx+si],al ; (31E4:0000='Copyright Revolu') 31E4:9F8F 02 00 add al,[bx+si] 31E4:9F91 40 inc ax 31E4:9F92 00 00 add [bx+si],al 31E4:9F94 02 00 add al,[bx+si] 31E4:9F96 40 inc ax 31E4:9F97 00 00 add [bx+si],al 31E4:9F99 04 00 add al,0 31E4:9F9B 40 inc ax 31E4:9F9C 00 00 add [bx+si],al 31E4:9F9E 04 00 add al,0 31E4:9FA0 20 00 and [bx+si],al 31E4:9FA2 00 04 add [si],al 31E4:9FA4 00 20 add [bx+si],ah 31E4:9FA6 00 00 add [bx+si],al 31E4:9FA8 08 00 or [bx+si],al 31E4:9FAA 10 00 adc [bx+si],al nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 511 31E4:9FAC 00 08 add [bx+si],cl 31E4:9FAE 00 10 add [bx+si],dl 31E4:9FB0 00 00 add [bx+si],al 31E4:9FB2 10 00 adc [bx+si],al 31E4:9FB4 08 00 or [bx+si],al 31E4:9FB6 00 10 add [bx+si],dl 31E4:9FB8 00 08 add [bx+si],cl 31E4:9FBA 00 00 add [bx+si],al 31E4:9FBC 20 00 and [bx+si],al 31E4:9FBE 0C 00 or al,0 31E4:9FC0 00 20 add [bx+si],ah 31E4:9FC2 00 04 add [si],al 31E4:9FC4 00 00 add [bx+si],al 31E4:9FC6 20 00 and [bx+si],al 31E4:9FC8 04 00 add al,0 31E4:9FCA 78 BD js loc_2342 ; Jump if sign=1 31E4:9FCC 95 xchg bp,ax 31E4:9FCD F9 stc ; Set carry flag 31E4:9FCE 7F D9 ;* jg loc_2343 ;*Jump if > 31E4:9FCE 7F D9 db 7Fh,0D9h 31E4:9FD0 9A F627:7FAE ;* call far ptr sub_281 ;*(F627:7FAE) 31E4:9FD0 9A db 9Ah 31E4:9FD1 7FAE F627 dw 7FAEh, 0F627h 31E4:9FD5 B3 BF mov bl,0BFh 31E4:9FD7 4E dec si 31E4:9FD8 7F 75 jg $+77h ; Jump if > 31E4:9FDA F5 cmc ; Complement carry 31E4:9FDB 55 push bp 31E4:9FDC FD std ; Set direction flag 31E4:9FDD C9 DD FD 7F E7 8D db 0C9h,0DDh,0FDh, 7Fh,0E7h, 8Dh 31E4:9FE3 77 FF ED 1D BB DF db 77h,0FFh,0EDh, 1Dh,0BBh,0DFh 31E4:9FE9 E0 6F FD 77 37 E0 db 0E0h, 6Fh,0FDh, 77h, 37h,0E0h 31E4:9FEF 7E D4 34 6D E0 57 db 7Eh,0D4h, 34h, 6Dh,0E0h, 57h 31E4:9FF5 7F BD DF E0 5F AF db 7Fh,0BDh,0DFh,0E0h, 5Fh,0AFh 31E4:9FFB 7F BF E0 4F F7 6B db 7Fh,0BFh,0E0h, 4Fh,0F7h, 6Bh 31E4:A001 E7 E0 43 FF BB 7F db 0E7h,0E0h, 43h,0FFh,0BBh, 7Fh 31E4:A007 E0 43 FF CF FF 60 db 0E0h, 43h,0FFh,0CFh,0FFh, 60h 31E4:A00D 43 87 F6 F7 E0 23 db 43h, 87h,0F6h,0F7h,0E0h, 23h 31E4:A013 FC A7 BE A0 13 87 db 0FCh,0A7h,0BEh,0A0h, 13h, 87h 31E4:A019 98 BD A0 0B 85 FF db 98h,0BDh,0A0h, 0Bh, 85h,0FFh 31E4:A01F EF 40 05 FC FF FD db 0EFh, 40h, 05h,0FCh,0FFh,0FDh 31E4:A025 80 03 83 1F FE 00 db 80h, 03h, 83h, 1Fh,0FEh, 00h 31E4:A02B 00 00 7F 00 db 00h, 00h, 7Fh, 00h 31E4:A02F 000E[00] db 14 dup (0) 31E4:A03D FC 3F FF FF FF DB db 0FCh, 3Fh,0FFh,0FFh,0FFh,0DBh 31E4:A043 FB F9 F3 D6 FD DA db 0FBh,0F9h,0F3h,0D6h,0FDh,0DAh 31E4:A049 AF 7F F7 C6 DB B7 db 0AFh, 7Fh,0F7h,0C6h,0DBh,0B7h 31E4:A04F FF FA E6 FB EF FF db 0FFh,0FAh,0E6h,0FBh,0EFh,0FFh 31E4:A055 FD 34 AE FB 00 F5 db 0FDh, 34h,0AEh,0FBh, 00h,0F5h 31E4:A05B AF D7 F7 00 FD DD db 0AFh,0D7h,0F7h, 00h,0FDh,0DDh 31E4:A061 EE D7 00 B1 B7 ED db 0EEh,0D7h, 00h,0B1h,0B7h,0EDh 31E4:A067 FF 00 AF 9E 67 6B db 0FFh, 00h,0AFh, 9Eh, 67h, 6Bh 31E4:A06D 00 FB E9 EE 9F 00 db 00h,0FBh,0E9h,0EEh, 9Fh, 00h 31E4:A073 F4 65 7F EF 00 FB db 0F4h, 65h, 7Fh,0EFh, 00h,0FBh 31E4:A079 8E FB FF 00 FA 7B db 8Eh,0FBh,0FFh, 00h,0FAh, 7Bh 31E4:A07F BF 00 00 BF FF FF db 0BFh, 00h, 00h,0BFh,0FFh,0FFh 31E4:A085 F8 00 EB FF FF F8 db 0F8h, 00h,0EBh,0FFh,0FFh,0F8h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 512 31E4:A08B 00 B7 FF FF F8 00 db 00h,0B7h,0FFh,0FFh,0F8h, 00h 31E4:A091 AB FF E0 00 00 B1 db 0ABh,0FFh,0E0h, 00h, 00h,0B1h 31E4:A097 FF 80 00 00 FF 00 db 0FFh, 80h, 00h, 00h,0FFh, 00h 31E4:A09D 0009[00] db 9 dup (0) 31E4:A0A6 FF FF E0 00 00 FF db 0FFh,0FFh,0E0h, 00h, 00h,0FFh 31E4:A0AC BF 7F C0 00 FF 77 db 0BFh, 7Fh,0C0h, 00h,0FFh, 77h 31E4:A0B2 EB FF FF AD B6 A6 db 0EBh,0FFh,0FFh,0ADh,0B6h,0A6h 31E4:A0B8 F3 DD 7D 66 A9 2E db 0F3h,0DDh, 7Dh, 66h,0A9h, 2Eh 31E4:A0BE E4 DD 3F 97 CF FE db 0E4h,0DDh, 3Fh, 97h,0CFh,0FEh 31E4:A0C4 CB 53 DF 7E CA 3A db 0CBh, 53h,0DFh, 7Eh,0CAh, 3Ah 31E4:A0CA 1A EF A8 6B A1 DF db 1Ah,0EFh,0A8h, 6Bh,0A1h,0DFh 31E4:A0D0 F3 7F 7F 9D FB DF db 0F3h, 7Fh, 7Fh, 9Dh,0FBh,0DFh 31E4:A0D6 86 4D FE 5F FA BE db 86h, 4Dh,0FEh, 5Fh,0FAh,0BEh 31E4:A0DC BD 7F F7 FF BB 9A db 0BDh, 7Fh,0F7h,0FFh,0BBh, 9Ah 31E4:A0E2 C1 D5 01 37 E3 C1 db 0C1h,0D5h, 01h, 37h,0E3h,0C1h 31E4:A0E8 7D 01 FC 2F C1 FF db 7Dh, 01h,0FCh, 2Fh,0C1h,0FFh 31E4:A0EE 01 DC 31 C1 9B 01 db 01h,0DCh, 31h,0C1h, 9Bh, 01h 31E4:A0F4 FC 2E C1 DF 01 4C db 0FCh, 2Eh,0C1h,0DFh, 01h, 4Ch 31E4:A0FA 23 C1 FD 01 7C 3C db 23h,0C1h,0FDh, 01h, 7Ch, 3Ch 31E4:A100 C1 3F 01 F4 39 21 db 0C1h, 3Fh, 01h,0F4h, 39h, 21h 31E4:A106 C0 00 0F B7 E0 00 db 0C0h, 00h, 0Fh,0B7h,0E0h, 00h 31E4:A10C 00 00 0F db 00h, 00h, 0Fh 31E4:A10F 000F[00] db 15 dup (0) 31E4:A11E 80 00 00 00 00 F0 db 80h, 00h, 00h, 00h, 00h,0F0h 31E4:A124 00 00 00 00 FF 00 db 00h, 00h, 00h, 00h,0FFh, 00h 31E4:A12A 00 00 01 FF C3 FF db 00h, 00h, 01h,0FFh,0C3h,0FFh 31E4:A130 FF FF 00 02 F7 FF db 0FFh,0FFh, 00h, 02h,0F7h,0FFh 31E4:A136 F4 00 03 FB 76 FF db 0F4h, 00h, 03h,0FBh, 76h,0FFh 31E4:A13C 00 03 FE EC DF 00 db 00h, 03h,0FEh,0ECh,0DFh, 00h 31E4:A142 02 EB FB AF 00 03 db 02h,0EBh,0FBh,0AFh, 00h, 03h 31E4:A148 FF FE F7 00 03 D3 db 0FFh,0FEh,0F7h, 00h, 03h,0D3h 31E4:A14E 7D 7F 00 03 82 FA db 7Dh, 7Fh, 00h, 03h, 82h,0FAh 31E4:A154 5F 00 03 EF FB FE db 5Fh, 00h, 03h,0EFh,0FBh,0FEh 31E4:A15A 00 03 9F FF 9E 0F db 00h, 03h, 9Fh,0FFh, 9Eh, 0Fh 31E4:A160 C3 B9 FE FD F0 03 db 0C3h,0B9h,0FEh,0FDh,0F0h, 03h 31E4:A166 4F FF EF 00 03 FF db 4Fh,0FFh,0EFh, 00h, 03h,0FFh 31E4:A16C 04 FE 00 07 F7 07 db 04h,0FEh, 00h, 07h,0F7h, 07h 31E4:A172 E1 00 03 FB F7 DD db 0E1h, 00h, 03h,0FBh,0F7h,0DDh 31E4:A178 00 03 E5 00 2F 00 db 00h, 03h,0E5h, 00h, 2Fh, 00h 31E4:A17E 00 1D 00 17 00 00 db 00h, 1Dh, 00h, 17h, 00h, 00h 31E4:A184 0F F0 0B 00 00 0F db 0Fh,0F0h, 0Bh, 00h, 00h, 0Fh 31E4:A18A F0 07 00 00 00 00 db 0F0h, 07h, 00h, 00h, 00h, 00h 31E4:A190 1F 00 00 00 00 2F db 1Fh, 00h, 00h, 00h, 00h, 2Fh 31E4:A196 00 00 00 00 5F 00 db 00h, 00h, 00h, 00h, 5Fh, 00h 31E4:A19C 00 00 00 5F 00 00 db 00h, 00h, 00h, 5Fh, 00h, 00h 31E4:A1A2 00 00 5F FF FF FF db 00h, 00h, 5Fh,0FFh,0FFh,0FFh 31E4:A1A8 F0 57 6E AF DB F5 db 0F0h, 57h, 6Eh,0AFh,0DBh,0F5h 31E4:A1AE 55 FF FA DF D7 6A db 55h,0FFh,0FAh,0DFh,0D7h, 6Ah 31E4:A1B4 F5 EB F9 D4 01 E6 db 0F5h,0EBh,0F9h,0D4h, 01h,0E6h 31E4:A1BA EE 82 77 FF BF E0 db 0EEh, 82h, 77h,0FFh,0BFh,0E0h 31E4:A1C0 9B 55 00 DC F9 76 db 9Bh, 55h, 00h,0DCh,0F9h, 76h 31E4:A1C6 7D 77 E5 FC 1F AF db 7Dh, 77h,0E5h,0FCh, 1Fh,0AFh 31E4:A1CC 7E FF E7 AB BC 00 db 7Eh,0FFh,0E7h,0ABh,0BCh, 00h 31E4:A1D2 00 3C B6 2C 00 00 db 00h, 3Ch,0B6h, 2Ch, 00h, 00h 31E4:A1D8 22 DB 6C 00 00 2F db 22h,0DBh, 6Ch, 00h, 00h, 2Fh 31E4:A1DE ED 7C 00 00 3E FB db 0EDh, 7Ch, 00h, 00h, 3Eh,0FBh 31E4:A1E4 E4 00 00 3F FF FC db 0E4h, 00h, 00h, 3Fh,0FFh,0FCh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 513 31E4:A1EA 00 00 40 00 02 00 db 00h, 00h, 40h, 00h, 02h, 00h 31E4:A1F0 0F 80 00 01 F8 00 db 0Fh, 80h, 00h, 01h,0F8h, 00h 31E4:A1F6 00 00 00 00 0E 00 db 00h, 00h, 00h, 00h, 0Eh, 00h 31E4:A1FC 00 00 78 0A 00 00 db 00h, 00h, 78h, 0Ah, 00h, 00h 31E4:A202 00 68 FE 00 00 00 db 00h, 68h,0FEh, 00h, 00h, 00h 31E4:A208 7F FE 00 00 00 76 db 7Fh,0FEh, 00h, 00h, 00h, 76h 31E4:A20E FF FF FF FF FA CF db 0FFh,0FFh,0FFh,0FFh,0FAh,0CFh 31E4:A214 FF FF BE 6B 56 BE db 0FFh,0FFh,0BEh, 6Bh, 56h,0BEh 31E4:A21A DA F6 DB DF 54 99 db 0DAh,0F6h,0DBh,0DFh, 54h, 99h 31E4:A220 4F FF AB F2 BE 2D db 4Fh,0FFh,0ABh,0F2h,0BEh, 2Dh 31E4:A226 18 CF BD FF 94 95 db 18h,0CFh,0BDh,0FFh, 94h, 95h 31E4:A22C AB D5 FF AA C9 FF db 0ABh,0D5h,0FFh,0AAh,0C9h,0FFh 31E4:A232 6A AF 69 EA AB 3E db 6Ah,0AFh, 69h,0EAh,0ABh, 3Eh 31E4:A238 BE C5 AD D2 AA C7 db 0BEh,0C5h,0ADh,0D2h,0AAh,0C7h 31E4:A23E D6 E9 B2 AD 6F ED db 0D6h,0E9h,0B2h,0ADh, 6Fh,0EDh 31E4:A244 AA D7 DF 6F 25 39 db 0AAh,0D7h,0DFh, 6Fh, 25h, 39h 31E4:A24A EF 77 F0 E8 A5 B7 db 0EFh, 77h,0F0h,0E8h,0A5h,0B7h 31E4:A250 7C 16 EB 7D EA DC db 7Ch, 16h,0EBh, 7Dh,0EAh,0DCh 31E4:A256 17 97 5D E7 74 13 db 17h, 97h, 5Dh,0E7h, 74h, 13h 31E4:A25C ED 77 D5 DC 1F db 0EDh, 77h,0D5h,0DCh, 1Fh 31E4:A261 49 db 49h 31E4:A262 úBF E3 BC 1F db 0BFh,0E3h,0BCh, 1Fh 31E4:A266 ú03 CF FF FC 1D FD db 03h,0CFh,0FFh,0FCh, 1Dh,0FDh 31E4:A26C 37 B5 FC 17 BF 26 db 37h,0B5h,0FCh, 17h,0BFh, 26h 31E4:A272 FF FC 1F BC F7 FB db 0FFh,0FCh, 1Fh,0BCh,0F7h,0FBh 31E4:A278 D0 07 D2 F7 FF A0 db 0D0h, 07h,0D2h,0F7h,0FFh,0A0h 31E4:A27E 01 FF 7D DA A0 00 db 01h,0FFh, 7Dh,0DAh,0A0h, 00h 31E4:A284 1E EB DF A0 00 1D db 1Eh,0EBh,0DFh,0A0h, 00h, 1Dh 31E4:A28A 7F EA C0 00 0D 67 db 7Fh,0EAh,0C0h, 00h, 0Dh, 67h 31E4:A290 DE C0 00 0E EF D5 db 0DEh,0C0h, 00h, 0Eh,0EFh,0D5h 31E4:A296 40 00 0A FA DE FF db 40h, 00h, 0Ah,0FAh,0DEh,0FFh 31E4:A29C FF 6A F4 F3 E9 52 db 0FFh, 6Ah,0F4h,0F3h,0E9h, 52h 31E4:A2A2 D6 BB BF F8 D6 7E db 0D6h,0BBh,0BFh,0F8h,0D6h, 7Eh 31E4:A2A8 07 FF F7 D3 FE F8 db 07h,0FFh,0F7h,0D3h,0FEh,0F8h 31E4:A2AE BD 78 E9 5E 1D 8E db 0BDh, 78h,0E9h, 5Eh, 1Dh, 8Eh 31E4:A2B4 6F BE BE E2 FA E9 db 6Fh,0BEh,0BEh,0E2h,0FAh,0E9h 31E4:A2BA 3D 6F F8 CE DF 7B db 3Dh, 6Fh,0F8h,0CEh,0DFh, 7Bh 31E4:A2C0 FE 00 00 60 BA FE db 0FEh, 00h, 00h, 60h,0BAh,0FEh 31E4:A2C6 00 00 79 96 B6 00 db 00h, 00h, 79h, 96h,0B6h, 00h 31E4:A2CC 00 75 63 66 00 00 db 00h, 75h, 63h, 66h, 00h, 00h 31E4:A2D2 4B 65 D6 00 00 3F db 4Bh, 65h,0D6h, 00h, 00h, 3Fh 31E4:A2D8 FF FC 00 00 40 00 db 0FFh,0FCh, 00h, 00h, 40h, 00h 31E4:A2DE 02 00 0F 80 00 01 db 02h, 00h, 0Fh, 80h, 00h, 01h 31E4:A2E4 C0 00 00 00 00 00 db 0C0h, 00h, 00h, 00h, 00h, 00h 31E4:A2EA 0E 00 00 00 70 0E db 0Eh, 00h, 00h, 00h, 70h, 0Eh 31E4:A2F0 00 00 00 50 FE 00 db 00h, 00h, 00h, 50h,0FEh, 00h 31E4:A2F6 00 00 7F AE 00 00 db 00h, 00h, 7Fh,0AEh, 00h, 00h 31E4:A2FC 00 7F BF FF FF FF db 00h, 7Fh,0BFh,0FFh,0FFh,0FFh 31E4:A302 FF EE DF BD FF FF db 0FFh,0EEh,0DFh,0BDh,0FFh,0FFh 31E4:A308 FA BA A9 FA 7F DC db 0FAh,0BAh,0A9h,0FAh, 7Fh,0DCh 31E4:A30E FE 5E DF AF BA EF db 0FEh, 5Eh,0DFh,0AFh,0BAh,0EFh 31E4:A314 DE B7 3C AA 6E 7B db 0DEh,0B7h, 3Ch,0AAh, 6Eh, 7Bh 31E4:A31A FE 96 FD 74 0D 76 db 0FEh, 96h,0FDh, 74h, 0Dh, 76h 31E4:A320 FB 65 F4 BE FF BB db 0FBh, 65h,0F4h,0BEh,0FFh,0BBh 31E4:A326 A7 6E F2 FB 77 6A db 0A7h, 6Eh,0F2h,0FBh, 77h, 6Ah 31E4:A32C E3 B7 6F D9 AB FE db 0E3h,0B7h, 6Fh,0D9h,0ABh,0FEh 31E4:A332 95 F7 FE FD FB FD db 95h,0F7h,0FEh,0FDh,0FBh,0FDh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 514 31E4:A338 7E 00 00 20 07 C2 db 7Eh, 00h, 00h, 20h, 07h,0C2h 31E4:A33E 00 00 20 00 02 00 db 00h, 00h, 20h, 00h, 02h, 00h 31E4:A344 00 20 00 02 00 00 db 00h, 20h, 00h, 02h, 00h, 00h 31E4:A34A 20 00 02 00 00 3F db 20h, 00h, 02h, 00h, 00h, 3Fh 31E4:A350 FF FE 00 00 40 00 db 0FFh,0FEh, 00h, 00h, 40h, 00h 31E4:A356 02 00 07 80 00 01 db 02h, 00h, 07h, 80h, 00h, 01h 31E4:A35C F0 00 00 00 00 00 db 0F0h, 00h, 00h, 00h, 00h, 00h 31E4:A362 0E 00 db 0Eh, 00h 31E4:A364 00 00 70 0E 00 00 db 00h, 00h, 70h, 0Eh, 00h, 00h 31E4:A36A 00 70 FA 00 00 00 db 00h, 70h,0FAh, 00h, 00h, 00h 31E4:A370 7F F6 00 00 00 6F db 7Fh,0F6h, 00h, 00h, 00h, 6Fh 31E4:A376 FB db 0FBh 31E4:A377 0007[FF] db 7 dup (0FFh) 31E4:A37E FD B7 AF DB 3E FF db 0FDh,0B7h,0AFh,0DBh, 3Eh,0FFh 31E4:A384 7F 08 00 00 00 00 db 7Fh, 08h, 00h, 00h, 00h, 00h 31E4:A38A AE D5 56 5E DB 9D db 0AEh,0D5h, 56h, 5Eh,0DBh, 9Dh 31E4:A390 5A 8E EE 9D AA 0B db 5Ah, 8Eh,0EEh, 9Dh,0AAh, 0Bh 31E4:A396 1E 95 55 25 B0 F3 db 1Eh, 95h, 55h, 25h,0B0h,0F3h 31E4:A39C D5 B7 9A 01 BD 5D db 0D5h,0B7h, 9Ah, 01h,0BDh, 5Dh 31E4:A3A2 F9 9D 95 E1 BD 75 db 0F9h, 9Dh, 95h,0E1h,0BDh, 75h 31E4:A3A8 BE 56 DF F9 2B 12 db 0BEh, 56h,0DFh,0F9h, 2Bh, 12h 31E4:A3AE 87 F6 43 67 D8 D4 db 87h,0F6h, 43h, 67h,0D8h,0D4h 31E4:A3B4 17 BE 91 A4 E4 1B db 17h,0BEh, 91h,0A4h,0E4h, 1Bh 31E4:A3BA 4D FA C9 9C 1B 3D db 4Dh,0FAh,0C9h, 9Ch, 1Bh, 3Dh 31E4:A3C0 B5 55 CC 1A 91 1D db 0B5h, 55h,0CCh, 1Ah, 91h, 1Dh 31E4:A3C6 8B 3C 1A 16 A9 9A db 8Bh, 3Ch, 1Ah, 16h,0A9h, 9Ah 31E4:A3CC D4 1B 69 BF B5 9C db 0D4h, 1Bh, 69h,0BFh,0B5h, 9Ch 31E4:A3D2 18 45 D5 2C 64 1E db 18h, 45h,0D5h, 2Ch, 64h, 1Eh 31E4:A3D8 C9 5D F7 4C 3E 20 db 0C9h, 5Dh,0F7h, 4Ch, 3Eh, 20h 31E4:A3DE 33 80 D0 03 CD 98 db 33h, 80h,0D0h, 03h,0CDh, 98h 31E4:A3E4 6F A0 00 E3 AE A9 db 6Fh,0A0h, 00h,0E3h,0AEh,0A9h 31E4:A3EA A0 00 1E 77 F5 C0 db 0A0h, 00h, 1Eh, 77h,0F5h,0C0h 31E4:A3F0 00 16 43 3F C0 00 db 00h, 16h, 43h, 3Fh,0C0h, 00h 31E4:A3F6 12 D4 ED 40 00 15 db 12h,0D4h,0EDh, 40h, 00h, 15h 31E4:A3FC 5E 0B 40 00 17 6C db 5Eh, 0Bh, 40h, 00h, 17h, 6Ch 31E4:A402 00 00 42 84 20 00 db 00h, 00h, 42h, 84h, 20h, 00h 31E4:A408 00 42 00 00 00 00 db 00h, 42h, 00h, 00h, 00h, 00h 31E4:A40E 42 84 20 00 00 42 db 42h, 84h, 20h, 00h, 00h, 42h 31E4:A414 84 00 00 00 42 00 db 84h, 00h, 00h, 00h, 42h, 00h 31E4:A41A 00 00 00 42 00 00 db 00h, 00h, 00h, 42h, 00h, 00h 31E4:A420 00 00 42 00 00 00 db 00h, 00h, 42h, 00h, 00h, 00h 31E4:A426 00 42 00 00 00 00 db 00h, 42h, 00h, 00h, 00h, 00h 31E4:A42C 81 00 00 00 01 00 db 81h, 00h, 00h, 00h, 01h, 00h 31E4:A432 80 00 00 01 00 80 db 80h, 00h, 00h, 01h, 00h, 80h 31E4:A438 00 00 02 00 40 00 db 00h, 00h, 02h, 00h, 40h, 00h 31E4:A43E 00 02 00 40 00 00 db 00h, 02h, 00h, 40h, 00h, 00h 31E4:A444 02 00 20 00 00 04 db 02h, 00h, 20h, 00h, 00h, 04h 31E4:A44A 00 20 00 00 04 00 db 00h, 20h, 00h, 00h, 04h, 00h 31E4:A450 20 00 00 08 00 10 db 20h, 00h, 00h, 08h, 00h, 10h 31E4:A456 00 00 08 00 10 00 db 00h, 00h, 08h, 00h, 10h, 00h 31E4:A45C 00 10 00 10 00 00 db 00h, 10h, 00h, 10h, 00h, 00h 31E4:A462 10 00 08 00 00 10 db 10h, 00h, 08h, 00h, 00h, 10h 31E4:A468 00 08 00 00 20 00 db 00h, 08h, 00h, 00h, 20h, 00h 31E4:A46E 04 00 00 20 00 04 db 04h, 00h, 00h, 20h, 00h, 04h 31E4:A474 00 00 40 00 02 00 db 00h, 00h, 40h, 00h, 02h, 00h 31E4:A47A D3 D6 A4 EA 0A E5 db 0D3h,0D6h,0A4h,0EAh, 0Ah,0E5h 31E4:A480 70 00 23 A0 B7 C0 db 70h, 00h, 23h,0A0h,0B7h,0C0h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 515 31E4:A486 84 2A BE A0 CD C4 db 84h, 2Ah,0BEh,0A0h,0CDh,0C4h 31E4:A48C 5B 00 E7 C0 80 3F db 5Bh, 00h,0E7h,0C0h, 80h, 3Fh 31E4:A492 12 29 5C 94 82 CA db 12h, 29h, 5Ch, 94h, 82h,0CAh 31E4:A498 9D 46 D6 BF 00 FF db 9Dh, 46h,0D6h,0BFh, 00h,0FFh 31E4:A49E C0 00 03 57 00 40 db 0C0h, 00h, 03h, 57h, 00h, 40h 31E4:A4A4 00 02 00 00 40 00 db 00h, 02h, 00h, 00h, 40h, 00h 31E4:A4AA 02 00 00 40 00 02 db 02h, 00h, 00h, 40h, 00h, 02h 31E4:A4B0 00 00 40 00 02 00 db 00h, 00h, 40h, 00h, 02h, 00h 31E4:A4B6 00 3F FF FC 00 00 db 00h, 3Fh,0FFh,0FCh, 00h, 00h 31E4:A4BC 40 00 02 00 07 80 db 40h, 00h, 02h, 00h, 07h, 80h 31E4:A4C2 00 01 F0 00 00 00 db 00h, 01h,0F0h, 00h, 00h, 00h 31E4:A4C8 00 00 0E 00 00 00 db 00h, 00h, 0Eh, 00h, 00h, 00h 31E4:A4CE 70 0A 00 00 00 40 db 70h, 0Ah, 00h, 00h, 00h, 40h 31E4:A4D4 FE 00 00 00 40 BA db 0FEh, 00h, 00h, 00h, 40h,0BAh 31E4:A4DA 00 00 00 40 53 FF db 00h, 00h, 00h, 40h, 53h,0FFh 31E4:A4E0 FF FF db 0FFh,0FFh 31E4:A4E2 úFF 3A FD 77 67 7E db 0FFh, 3Ah,0FDh, 77h, 67h, 7Eh 31E4:A4E8 63 A5 7F F7 C5 FF db 63h,0A5h, 7Fh,0F7h,0C5h,0FFh 31E4:A4EE E6 7B 7E ED 20 00 db 0E6h, 7Bh, 7Eh,0EDh, 20h, 00h 31E4:A4F4 01 05 34 BE 4F 92 db 01h, 05h, 34h,0BEh, 4Fh, 92h 31E4:A4FA AA 02 E9 B4 89 44 db 0AAh, 02h,0E9h,0B4h, 89h, 44h 31E4:A500 5A 8B D8 98 A6 B6 db 5Ah, 8Bh,0D8h, 98h,0A6h,0B6h 31E4:A506 96 1A 99 00 0B 40 db 96h, 1Ah, 99h, 00h, 0Bh, 40h 31E4:A50C 32 A5 77 FB 66 9D db 32h,0A5h, 77h,0FBh, 66h, 9Dh 31E4:A512 59 04 77 CA 00 E9 db 59h, 04h, 77h,0CAh, 00h,0E9h 31E4:A518 39 7A 8B 4B 02 2E db 39h, 7Ah, 8Bh, 4Bh, 02h, 2Eh 31E4:A51E 7B D4 25 FB D4 E0 db 7Bh,0D4h, 25h,0FBh,0D4h,0E0h 31E4:A524 2A E7 0F 38 E7 FE db 2Ah,0E7h, 0Fh, 38h,0E7h,0FEh 31E4:A52A CB 0A 0A 5B 3F 17 db 0CBh, 0Ah, 0Ah, 5Bh, 3Fh, 17h 31E4:A530 09 46 EE EB AD 0D db 09h, 46h,0EEh,0EBh,0ADh, 0Dh 31E4:A536 22 2E EB 75 09 4B db 22h, 2Eh,0EBh, 75h, 09h, 4Bh 31E4:A53C E5 6B F9 08 07 53 db 0E5h, 6Bh,0F9h, 08h, 07h, 53h 31E4:A542 B7 D7 0F EC A9 DD db 0B7h,0D7h, 0Fh,0ECh,0A9h,0DDh 31E4:A548 E8 00 12 C4 6F D0 db 0E8h, 00h, 12h,0C4h, 6Fh,0D0h 31E4:A54E 00 0B 7D FF A0 01 db 00h, 0Bh, 7Dh,0FFh,0A0h, 01h 31E4:A554 85 88 D7 40 00 02 db 85h, 88h,0D7h, 40h, 00h, 02h 31E4:A55A F5 BE 9C 00 01 5E db 0F5h,0BEh, 9Ch, 00h, 01h, 5Eh 31E4:A560 ED 04 00 78 AF D9 db 0EDh, 04h, 00h, 78h,0AFh,0D9h 31E4:A566 04 00 40 AB 33 52 db 04h, 00h, 40h,0ABh, 33h, 52h 31E4:A56C B2 AA 66 93 45 12 db 0B2h,0AAh, 66h, 93h, 45h, 12h 31E4:A572 01 12 52 48 00 50 db 01h, 12h, 52h, 48h, 00h, 50h 31E4:A578 91 84 22 92 D5 9F db 91h, 84h, 22h, 92h,0D5h, 9Fh 31E4:A57E A7 B5 A2 82 BB B3 db 0A7h,0B5h,0A2h, 82h,0BBh,0B3h 31E4:A584 01 52 46 49 12 97 db 01h, 52h, 46h, 49h, 12h, 97h 31E4:A58A A9 56 1A F7 B4 10 db 0A9h, 56h, 1Ah,0F7h,0B4h, 10h 31E4:A590 09 A7 99 1C A1 28 db 09h,0A7h, 99h, 1Ch,0A1h, 28h 31E4:A596 99 D7 AA 92 DD 32 db 99h,0D7h,0AAh, 92h,0DDh, 32h 31E4:A59C 6A 64 A0 21 B5 B5 db 6Ah, 64h,0A0h, 21h,0B5h,0B5h 31E4:A5A2 4B 2D 95 57 F3 BF db 4Bh, 2Dh, 95h, 57h,0F3h,0BFh 31E4:A5A8 FF F8 00 D6 C0 00 db 0FFh,0F8h, 00h,0D6h,0C0h, 00h 31E4:A5AE 05 54 73 40 00 04 db 05h, 54h, 73h, 40h, 00h, 04h 31E4:A5B4 EB BF 40 00 02 F3 db 0EBh,0BFh, 40h, 00h, 02h,0F3h 31E4:A5BA 7E F0 00 01 2D 9F db 7Eh,0F0h, 00h, 01h, 2Dh, 9Fh 31E4:A5C0 E0 00 30 92 D3 C0 db 0E0h, 00h, 30h, 92h,0D3h,0C0h 31E4:A5C6 00 18 5B 87 C0 01 db 00h, 18h, 5Bh, 87h,0C0h, 01h 31E4:A5CC F8 27 B8 00 01 F0 db 0F8h, 27h,0B8h, 00h, 01h,0F0h 31E4:A5D2 13 A0 00 00 F0 08 db 13h,0A0h, 00h, 00h,0F0h, 08h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 516 31E4:A5D8 A0 00 00 00 06 BF db 0A0h, 00h, 00h, 00h, 06h,0BFh 31E4:A5DE 00 00 00 01 73 6D db 00h, 00h, 00h, 01h, 73h, 6Dh 31E4:A5E4 BB EE 73 F6 5A 9F db 0BBh,0EEh, 73h,0F6h, 5Ah, 9Fh 31E4:A5EA F7 35 E5 25 56 AA db 0F7h, 35h,0E5h, 25h, 56h,0AAh 31E4:A5F0 ED B7 9A 54 B1 3B db 0EDh,0B7h, 9Ah, 54h,0B1h, 3Bh 31E4:A5F6 F3 DB 57 6F FD FD db 0F3h,0DBh, 57h, 6Fh,0FDh,0FDh 31E4:A5FC 4F 9B 55 5F BD DD db 4Fh, 9Bh, 55h, 5Fh,0BDh,0DDh 31E4:A602 DB 76 FD 5A 6A 4A db 0DBh, 76h,0FDh, 5Ah, 6Ah, 4Ah 31E4:A608 A4 DF B7 FE BE 36 db 0A4h,0DFh,0B7h,0FEh,0BEh, 36h 31E4:A60E BF F3 BC 97 6C BF db 0BFh,0F3h,0BCh, 97h, 6Ch,0BFh 31E4:A614 FF D3 F9 B5 77 DB db 0FFh,0D3h,0F9h,0B5h, 77h,0DBh 31E4:A61A FA D5 B5 7F FF C0 db 0FAh,0D5h,0B5h, 7Fh,0FFh,0C0h 31E4:A620 00 1D D9 87 DF FF db 00h, 1Dh,0D9h, 87h,0DFh,0FFh 31E4:A626 D6 EF DB 20 00 25 db 0D6h,0EFh,0DBh, 20h, 00h, 25h 31E4:A62C EF F2 db 0EFh,0F2h 31E4:A62E 40 db 40h ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 31E4:A62F sub_275 proc near 31E4:A62F 00 13 add [bp+di],dl 31E4:A631 B7 B6 mov bh,0B6h 31E4:A633 80 00 0B add byte ptr [bx+si],0Bh 31E4:A636 3D 00DD cmp ax,0DDh 31E4:A639 00 05 add [di],al 31E4:A63B EF out dx,ax ; port 8300h ??I/O Non-standard 31E4:A63C DA 00 fiadd dword ptr [bx+si] ; st = st + memory 31E4:A63E 00 02 add [bp+si],al 31E4:A640 F0> B4 00 lock mov ah,0 31E4:A643 7F FF FF 74 00 40 db 7Fh,0FFh,0FFh, 74h, 00h, 40h 31E4:A649 01 AE FF FF FE 03 db 01h,0AEh,0FFh,0FFh,0FEh, 03h 31E4:A64F A9 BC 00 49 FA AA db 0A9h,0BCh, 00h, 49h,0FAh,0AAh 31E4:A655 64 00 7E F3 B7 7C db 64h, 00h, 7Eh,0F3h,0B7h, 7Ch 31E4:A65B 00 E6 DD 74 8F 7A db 00h,0E6h,0DDh, 74h, 8Fh, 7Ah 31E4:A661 B5 4D 72 FD B5 99 db 0B5h, 4Dh, 72h,0FDh,0B5h, 99h 31E4:A667 A5 D6 BD 29 85 49 db 0A5h,0D6h,0BDh, 29h, 85h, 49h 31E4:A66D AD FA 69 F3 6B 6D db 0ADh,0FAh, 69h,0F3h, 6Bh, 6Dh 31E4:A673 5E 58 A9 51 DA FF db 5Eh, 58h,0A9h, 51h,0DAh,0FFh 31E4:A679 BB 7E 9E B7 FE AD db 0BBh, 7Eh, 9Eh,0B7h,0FEh,0ADh 31E4:A67F 2B 4A D7 E5 7B F3 db 2Bh, 4Ah,0D7h,0E5h, 7Bh,0F3h 31E4:A685 6E 7F E7 AD EE DD db 6Eh, 7Fh,0E7h,0ADh,0EEh,0DDh 31E4:A68B 79 FF BB B6 D5 AF db 79h,0FFh,0BBh,0B6h,0D5h,0AFh 31E4:A691 FB B7 6D 5A FB EF db 0FBh,0B7h, 6Dh, 5Ah,0FBh,0EFh 31E4:A697 F5 CD F7 BB FE F5 db 0F5h,0CDh,0F7h,0BBh,0FEh,0F5h 31E4:A69D AA 94 DD FA FF FB db 0AAh, 94h,0DDh,0FAh,0FFh,0FBh 31E4:A6A3 EF FD BB FF FF FE db 0EFh,0FDh,0BBh,0FFh,0FFh,0FEh 31E4:A6A9 6F B4 02 30 81 9E db 6Fh,0B4h, 02h, 30h, 81h, 9Eh 31E4:A6AF E8 03 83 80 4F 90 db 0E8h, 03h, 83h, 80h, 4Fh, 90h 31E4:A6B5 00 00 00 2D 20 00 db 00h, 00h, 00h, 2Dh, 20h, 00h 31E4:A6BB 00 00 17 40 00 FE db 00h, 00h, 17h, 40h, 00h,0FEh 31E4:A6C1 00 0B 80 00 82 00 db 00h, 0Bh, 80h, 00h, 82h, 00h 31E4:A6C7 04 FF FF FF F0 FF db 04h,0FFh,0FFh,0FFh,0F0h,0FFh 31E4:A6CD 00 00 00 10 80 FE db 00h, 00h, 00h, 10h, 80h,0FEh 31E4:A6D3 B6 F7 DF 9E FD 37 db 0B6h,0F7h,0DFh, 9Eh,0FDh, 37h 31E4:A6D9 5E DD ED A9 AD DD db 5Eh,0DDh,0EDh,0A9h,0ADh,0DDh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 517 31E4:A6DF AFFF dw 0AFFFh ; Data table (indexed access) 31E4:A6E1 FB 7B 5E DB B7 7F db 0FBh, 7Bh, 5Eh,0DBh,0B7h, 7Fh 31E4:A6E7 69 6D EE EF B6 83 db 69h, 6Dh,0EEh,0EFh,0B6h, 83h 31E4:A6ED F1 59 37 DC FC AD db 0F1h, 59h, 37h,0DCh,0FCh,0ADh 31E4:A6F3 DA D7 FF 6E B5 5B db 0DAh,0D7h,0FFh, 6Eh,0B5h, 5Bh 31E4:A6F9 ED F5 FF db 0EDh,0F5h,0FFh 31E4:A6FC loc_2345: ; xref 31E4:A6FF 31E4:A6FC úAD lodsw ; String [si] to ax 31E4:A6FD AB stosw ; Store ax to es:[di] 31E4:A6FE 2F das ; Decimal adjust 31E4:A6FF EB FB jmp short loc_2345 ; (A6FC) sub_275 endp 31E4:A701 ED 7D BB EC EB 5B db 0EDh, 7Dh,0BBh,0ECh,0EBh, 5Bh 31E4:A707 FF FF BF FF 52 00 db 0FFh,0FFh,0BFh,0FFh, 52h, 00h 31E4:A70D 0F FD BF FE FF 6C db 0Fh,0FDh,0BFh,0FEh,0FFh, 6Ch 31E4:A713 BE FF FF C0 00 FF db 0BEh,0FFh,0FFh,0C0h, 00h,0FFh 31E4:A719 FC 00 3E AA FF 00 db 0FCh, 00h, 3Eh,0AAh,0FFh, 00h 31E4:A71F 00 01 00 BE 00 00 db 00h, 01h, 00h,0BEh, 00h, 00h 31E4:A725 00 80 F4 00 00 00 db 00h, 80h,0F4h, 00h, 00h, 00h 31E4:A72B 40 E8 00 FF 00 20 db 40h,0E8h, 00h,0FFh, 00h, 20h 31E4:A731 D0 00 FF 00 10 A0 db 0D0h, 00h,0FFh, 00h, 10h,0A0h 31E4:A737 00 00 00 08 40 00 db 00h, 00h, 00h, 08h, 40h, 00h 31E4:A73D 00 00 04 80 00 00 db 00h, 00h, 04h, 80h, 00h, 00h 31E4:A743 00 02 F8 3F FF FF db 00h, 02h,0F8h, 3Fh,0FFh,0FFh 31E4:A749 FE 2D 2B 34 62 15 db 0FEh, 2Dh, 2Bh, 34h, 62h, 15h 31E4:A74F 18 66 6B 2A C3 2B db 18h, 66h, 6Bh, 2Ah,0C3h, 2Bh 31E4:A755 A4 26 23 09 96 41 db 0A4h, 26h, 23h, 09h, 96h, 41h 31E4:A75B 27 28 30 4A 2B 1C db 27h, 28h, 30h, 4Ah, 2Bh, 1Ch 31E4:A761 2A db 2Ah 31E4:A762 loc_2346: 31E4:A762 2E 93 34 36 DA 14 db 2Eh, 93h, 34h, 36h,0DAh, 14h 31E4:A768 16 54 32 2D 16 12 db 16h, 54h, 32h, 2Dh, 16h, 12h 31E4:A76E 9A 66 2A 12 13 17 db 9Ah, 66h, 2Ah, 12h, 13h, 17h 31E4:A774 19 2F 7F 55 28 5F db 19h, 2Fh, 7Fh, 55h, 28h, 5Fh 31E4:A77A 96 94 93 69 96 db 96h, 94h, 93h, 69h, 96h 31E4:A77F 57 4B 3D 3D 44 2B db 'WK==D+V0' 31E4:A785 56 30 31E4:A787 91 B6 AB 98 A2 96 db 91h,0B6h,0ABh, 98h,0A2h, 96h 31E4:A78D 3A 99 71 91 48 7F db 3Ah, 99h, 71h, 91h, 48h, 7Fh 31E4:A793 66 7A 55 64 63 5D db 'fzUdc]hIO' 31E4:A799 68 49 4F 31E4:A79C 13 34 3A 35 99 35 db 13h, 34h, 3Ah, 35h, 99h, 35h 31E4:A7A2 91 9A 97 78 93 98 db 91h, 9Ah, 97h, 78h, 93h, 98h 31E4:A7A8 91 9F 91 2E 13 58 db 91h, 9Fh, 91h, 2Eh, 13h, 58h 31E4:A7AE AD 14 92 98 A2 9F db 0ADh, 14h, 92h, 98h,0A2h, 9Fh 31E4:A7B4 9A 12 91 16 2F 58 db 9Ah, 12h, 91h, 16h, 2Fh, 58h 31E4:A7BA 77 71 96 5F 92 92 db 77h, 71h, 96h, 5Fh, 92h, 92h 31E4:A7C0 AB C5 02 AE BE B7 db 0ABh,0C5h, 02h,0AEh,0BEh,0B7h 31E4:A7C6 EA BF DC EE E7 EF db 0EAh,0BFh,0DCh,0EEh,0E7h,0EFh 31E4:A7CC CB FE 6E D5 F7 FF db 0CBh,0FEh, 6Eh,0D5h,0F7h,0FFh 31E4:A7D2 6B F3 2E 7B CB 72 db 6Bh,0F3h, 2Eh, 7Bh,0CBh, 72h 31E4:A7D8 6D 5D BF EF 00 0D db 6Dh, 5Dh,0BFh,0EFh, 00h, 0Dh 31E4:A7DE 6E DE AA 77 FB 5D db 6Eh,0DEh,0AAh, 77h,0FBh, 5Dh 31E4:A7E4 5F DB 6E 67 75 BA db 5Fh,0DBh, 6Eh, 67h, 75h,0BAh 31E4:A7EA D9 FD 5E D5 D7 ED db 0D9h,0FDh, 5Eh,0D5h,0D7h,0EDh 31E4:A7F0 AE EF DD 77 DF F4 db 0AEh,0EFh,0DDh, 77h,0DFh,0F4h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 518 31E4:A7F6 CF 65 EB BB D6 DB db 0CFh, 65h,0EBh,0BBh,0D6h,0DBh 31E4:A7FC 7F FF F5 FF D6 FE db 7Fh,0FFh,0F5h,0FFh,0D6h,0FEh 31E4:A802 DF FD 5F FF FB 78 db 0DFh,0FDh, 5Fh,0FFh,0FBh, 78h 31E4:A808 46 A0 00 04 EB 3B db 46h,0A0h, 00h, 04h,0EBh, 3Bh 31E4:A80E 40 0F FE DF DF 80 db 40h, 0Fh,0FEh,0DFh,0DFh, 80h 31E4:A814 00 02 52 DD 00 00 db 00h, 02h, 52h,0DDh, 00h, 00h 31E4:A81A 01 7F DA 00 00 00 db 01h, 7Fh,0DAh, 00h, 00h, 00h 31E4:A820 BD 74 00 00 00 48 db 0BDh, 74h, 00h, 00h, 00h, 48h 31E4:A826 FF EF FF FF FF DB db 0FFh,0EFh,0FFh,0FFh,0FFh,0DBh 31E4:A82C 0F FF B7 3F BD 0F db 0Fh,0FFh,0B7h, 3Fh,0BDh, 0Fh 31E4:A832 F3 AB FF BD 0E FF db 0F3h,0ABh,0FFh,0BDh, 0Eh,0FFh 31E4:A838 9A BF ED 55 B7 6A db 9Ah,0BFh,0EDh, 55h,0B7h, 6Ah 31E4:A83E 04 FF 6E CB D5 EE db 04h,0FFh, 6Eh,0CBh,0D5h,0EEh 31E4:A844 ED FD 67 D6 FE BD db 0EDh,0FDh, 67h,0D6h,0FEh,0BDh 31E4:A84A FD AD DD EF FA B7 db 0FDh,0ADh,0DDh,0EFh,0FAh,0B7h 31E4:A850 F7 BD 9F FF 6F BA db 0F7h,0BDh, 9Fh,0FFh, 6Fh,0BAh 31E4:A856 BA FD EA EB 6F DF db 0BAh,0FDh,0EAh,0EBh, 6Fh,0DFh 31E4:A85C FF DF BB BB 7F FB db 0FFh,0DFh,0BBh,0BBh, 7Fh,0FBh 31E4:A862 F6 F5 6F BA F5 FD db 0F6h,0F5h, 6Fh,0BAh,0F5h,0FDh 31E4:A868 9E CA 95 6D F6 DB db 9Eh,0CAh, 95h, 6Dh,0F6h,0DBh 31E4:A86E 6D 5C FF EF B4 6A db 6Dh, 5Ch,0FFh,0EFh,0B4h, 6Ah 31E4:A874 B6 DF FD BF B7 7F db 0B6h,0DFh,0FDh,0BFh,0B7h, 7Fh 31E4:A87A FF FD 77 77 AD AD db 0FFh,0FDh, 77h, 77h,0ADh,0ADh 31E4:A880 AB FD F8 7D DB DA db 0ABh,0FDh,0F8h, 7Dh,0DBh,0DAh 31E4:A886 FF FF 5F 7F FC 80 db 0FFh,0FFh, 5Fh, 7Fh,0FCh, 80h 31E4:A88C 06 BD FE 21 00 00 db 06h,0BDh,0FEh, 21h, 00h, 00h 31E4:A892 FF FF C6 00 00 1C db 0FFh,0FFh,0C6h, 00h, 00h, 1Ch 31E4:A898 00 E8 00 00 03 FF db 00h,0E8h, 00h, 00h, 03h,0FFh 31E4:A89E EF 00 00 00 00 B0 db 0EFh, 00h, 00h, 00h, 00h,0B0h 31E4:A8A4 C0 00 00 00 1D BF db 0C0h, 00h, 00h, 00h, 1Dh,0BFh 31E4:A8AA 00 03 FF 00 7F FF db 00h, 03h,0FFh, 00h, 7Fh,0FFh 31E4:A8B0 02 00 B6 8A 9A EE db 02h, 00h,0B6h, 8Ah, 9Ah,0EEh 31E4:A8B6 83 9E 5C B6 54 B5 db 83h, 9Eh, 5Ch,0B6h, 54h,0B5h 31E4:A8BC EA 8C 92 B5 5F FD db 0EAh, 8Ch, 92h,0B5h, 5Fh,0FDh 31E4:A8C2 3C E7 6F 5D D5 55 db 3Ch,0E7h, 6Fh, 5Dh,0D5h, 55h 31E4:A8C8 FF EA FB DD 7F FB db 0FFh,0EAh,0FBh,0DDh, 7Fh,0FBh 31E4:A8CE BE F5 DF 99 A6 F7 db 0BEh,0F5h,0DFh, 99h,0A6h,0F7h 31E4:A8D4 BF DA AA FE BE E7 db 0BFh,0DAh,0AAh,0FEh,0BEh,0E7h 31E4:A8DA F7 7A 95 49 3F F7 db 0F7h, 7Ah, 95h, 49h, 3Fh,0F7h 31E4:A8E0 D7 6B 37 B5 FF 7F db 0D7h, 6Bh, 37h,0B5h,0FFh, 7Fh 31E4:A8E6 2A FF DF ED B5 EA db 2Ah,0FFh,0DFh,0EDh,0B5h,0EAh 31E4:A8EC EC AD EB F7 7F FF db 0ECh,0ADh,0EBh,0F7h, 7Fh,0FFh 31E4:A8F2 FF 43 FF FF F8 AB db 0FFh, 43h,0FFh,0FFh,0F8h,0ABh 31E4:A8F8 FC 00 00 65 FF 00 db 0FCh, 00h, 00h, 65h,0FFh, 00h 31E4:A8FE 00 00 02 FF E0 00 db 00h, 00h, 02h,0FFh,0E0h, 00h 31E4:A904 00 01 BD 20 00 00 db 00h, 01h,0BDh, 20h, 00h, 00h 31E4:A90A 00 5F 40 00 03 80 db 00h, 5Fh, 40h, 00h, 03h, 80h 31E4:A910 2F 80 00 27 E0 17 db 2Fh, 80h, 00h, 27h,0E0h, 17h 31E4:A916 80 00 0C 10 0B 80 db 80h, 00h, 0Ch, 10h, 0Bh, 80h 31E4:A91C 00 07 40 05 80 00 db 00h, 07h, 40h, 05h, 80h, 00h 31E4:A922 00 00 02 80 00 00 db 00h, 00h, 02h, 80h, 00h, 00h 31E4:A928 00 01 00 00 00 db 00h, 01h, 00h, 00h, 00h 31E4:A92D 00 00 FE FE FE FE db 00h, 00h,0FEh,0FEh,0FEh,0FEh 31E4:A933 FE 00 db 0FEh, 00h 31E4:A935 001A[00] db 26 dup (0) 31E4:A94F FE FE FE FE FE 00 db 0FEh,0FEh,0FEh,0FEh,0FEh, 00h 31E4:A955 0008[00] db 8 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 519 31E4:A95D FE FE FF FF FF FF db 0FEh,0FEh,0FFh,0FFh,0FFh,0FFh 31E4:A963 FF FE FE 00 00 00 db 0FFh,0FEh,0FEh, 00h, 00h, 00h 31E4:A969 00 00 00 FE FF FF db 00h, 00h, 00h,0FEh,0FFh,0FFh 31E4:A96F FE 00 FE 00 FE FF db 0FEh, 00h,0FEh, 00h,0FEh,0FFh 31E4:A975 FF FE 00 00 00 00 db 0FFh,0FEh, 00h, 00h, 00h, 00h 31E4:A97B FE FF 00 FE 00 FE db 0FEh,0FFh, 00h,0FEh, 00h,0FEh 31E4:A981 00 FE 00 FE 00 FF db 00h,0FEh, 00h,0FEh, 00h,0FFh 31E4:A987 FE 00 00 00 FE FF db 0FEh, 00h, 00h, 00h,0FEh,0FFh 31E4:A98D FE FF FE 00 FE 00 db 0FEh,0FFh,0FEh, 00h,0FEh, 00h 31E4:A993 FE 00 FE FF FE 00 db 0FEh, 00h,0FEh,0FFh,0FEh, 00h 31E4:A999 00 FE FF FE 00 FE db 00h,0FEh,0FFh,0FEh, 00h,0FEh 31E4:A99F FF FE 00 ED F6 6B db 0FFh,0FEh, 00h,0EDh,0F6h, 6Bh 31E4:A9A5 68 0B CE AB 55 53 db 68h, 0Bh,0CEh,0ABh, 55h, 53h 31E4:A9AB 79 EA 76 B6 96 B7 db 79h,0EAh, 76h,0B6h, 96h,0B7h 31E4:A9B1 AC CA 96 9E 59 CD db 0ACh,0CAh, 96h, 9Eh, 59h,0CDh 31E4:A9B7 4F 6B F5 6F 9A FF db 4Fh, 6Bh,0F5h, 6Fh, 9Ah,0FFh 31E4:A9BD 75 49 B7 DB CD 53 db 75h, 49h,0B7h,0DBh,0CDh, 53h 31E4:A9C3 6A EF FF AE EA DA db 6Ah,0EFh,0FFh,0AEh,0EAh,0DAh 31E4:A9C9 FB F6 FB A7 CF FF db 0FBh,0F6h,0FBh,0A7h,0CFh,0FFh 31E4:A9CF BF FF 5E DF 67 EF db 0BFh,0FFh, 5Eh,0DFh, 67h,0EFh 31E4:A9D5 BB F7 FB B5 7F FF db 0BBh,0F7h,0FBh,0B5h, 7Fh,0FFh 31E4:A9DB FF FF BF EB C0 00 db 0FFh,0FFh,0BFh,0EBh,0C0h, 00h 31E4:A9E1 00 7F D7 C0 00 00 db 00h, 7Fh,0D7h,0C0h, 00h, 00h 31E4:A9E7 10 D7 40 00 00 1F db 10h,0D7h, 40h, 00h, 00h, 1Fh 31E4:A9ED FF C0 00 00 01 38 db 0FFh,0C0h, 00h, 00h, 01h, 38h 31E4:A9F3 00 00 00 01 FF 00 db 00h, 00h, 00h, 01h,0FFh, 00h 31E4:A9F9 00 00 01 FD 00 00 db 00h, 00h, 01h,0FDh, 00h, 00h 31E4:A9FF 00 01 BF 80 00 00 db 00h, 01h,0BFh, 80h, 00h, 00h 31E4:AA05 01 DF C0 00 00 01 db 01h,0DFh,0C0h, 00h, 00h, 01h 31E4:AA0B CF 60 00 00 01 DD db 0CFh, 60h, 00h, 00h, 01h,0DDh 31E4:AA11 DF F8 00 01 CC B6 db 0DFh,0F8h, 00h, 01h,0CCh,0B6h 31E4:AA17 D7 F7 FF E8 DE EE db 0D7h,0F7h,0FFh,0E8h,0DEh,0EEh 31E4:AA1D FB AE FB 6A B7 E4 db 0FBh,0AEh,0FBh, 6Ah,0B7h,0E4h 31E4:AA23 99 65 B2 B5 6A 99 db 99h, 65h,0B2h,0B5h, 6Ah, 99h 31E4:AA29 FB 6D 49 67 4E E9 db 0FBh, 6Dh, 49h, 67h, 4Eh,0E9h 31E4:AA2F 96 B5 D7 B5 F3 73 db 96h,0B5h,0D7h,0B5h,0F3h, 73h 31E4:AA35 58 D4 BB 7D 9A FE db 58h,0D4h,0BBh, 7Dh, 9Ah,0FEh 31E4:AA3B BE EA AC 56 A2 44 db 0BEh,0EAh,0ACh, 56h,0A2h, 44h 31E4:AA41 C9 F6 6D 5F 7C BD db 0C9h,0F6h, 6Dh, 5Fh, 7Ch,0BDh 31E4:AA47 FF FF DA AD B5 DF db 0FFh,0FFh,0DAh,0ADh,0B5h,0DFh 31E4:AA4D DF BB 5A FD 9F FB db 0DFh,0BBh, 5Ah,0FDh, 9Fh,0FBh 31E4:AA53 FE ED 6F FF 7F FF db 0FEh,0EDh, 6Fh,0FFh, 7Fh,0FFh 31E4:AA59 F7 FB F2 80 00 db 0F7h,0FBh,0F2h, 80h, 00h 31E4:AA5E ú0D C3 FE 80 00 0E db 0Dh,0C3h,0FEh, 80h, 00h, 0Eh 31E4:AA64 7F FF 80 00 01 FF db 7Fh,0FFh, 80h, 00h, 01h,0FFh 31E4:AA6A 38 00 00 00 FC FE db 38h, 00h, 00h, 00h,0FCh,0FEh 31E4:AA70 00 00 00 7F F2 00 db 00h, 00h, 00h, 7Fh,0F2h, 00h 31E4:AA76 00 00 7D EB 00 00 db 00h, 00h, 7Dh,0EBh, 00h, 00h 31E4:AA7C 00 5F F5 80 00 00 db 00h, 5Fh,0F5h, 80h, 00h, 00h 31E4:AA82 77 6E C0 00 03 ED db 77h, 6Eh,0C0h, 00h, 03h,0EDh 31E4:AA88 9B 60 00 04 DF FE db 9Bh, 60h, 00h, 04h,0DFh,0FEh 31E4:AA8E FF FF FD 9F BB 36 db 0FFh,0FFh,0FDh, 9Fh,0BBh, 36h 31E4:AA94 A0 0B FE BF 54 AF db 0A0h, 0Bh,0FEh,0BFh, 54h,0AFh 31E4:AA9A F5 BB BC AF 2D 5D db 0F5h,0BBh,0BCh,0AFh, 2Dh, 5Dh 31E4:AAA0 9E BA B4 B3 77 DB db 9Eh,0BAh,0B4h,0B3h, 77h,0DBh 31E4:AAA6 AD D9 6B BD BB BD db 0ADh,0D9h, 6Bh,0BDh,0BBh,0BDh 31E4:AAAC AA CB 95 93 B5 55 db 0AAh,0CBh, 95h, 93h,0B5h, 55h 31E4:AAB2 96 FB 59 EB A7 75 db 96h,0FBh, 59h,0EBh,0A7h, 75h 31E4:AAB8 5A F6 BE 95 77 6F db 5Ah,0F6h,0BEh, 95h, 77h, 6Fh 31E4:AABE 66 CA BE 6E AE B7 db 66h,0CAh,0BEh, 6Eh,0AEh,0B7h 31E4:AAC4 AA 9A FF 73 DF 7D db 0AAh, 9Ah,0FFh, 73h,0DFh, 7Dh 31E4:AACA FF FF FF 7F C1 38 db 0FFh,0FFh,0FFh, 7Fh,0C1h, 38h 31E4:AAD0 00 00 DD FE 60 00 db 00h, 00h,0DDh,0FEh, 60h, 00h 31E4:AAD6 00 FE 1C C0 00 00 db 00h,0FEh, 1Ch,0C0h, 00h, 00h 31E4:AADC BF FF 80 00 00 FF db 0BFh,0FFh, 80h, 00h, 00h,0FFh 31E4:AAE2 38 00 00 00 FC F8 db 38h, 00h, 00h, 00h,0FCh,0F8h 31E4:AAE8 00 00 00 7F E8 00 db 00h, 00h, 00h, 7Fh,0E8h, 00h 31E4:AAEE 00 00 FF EC 00 00 db 00h, 00h,0FFh,0ECh, 00h, 00h 31E4:AAF4 01 FB D7 F8 00 07 db 01h,0FBh,0D7h,0F8h, 00h, 07h 31E4:AAFA E7 7F FF FF FD 3B db 0E7h, 7Fh,0FFh,0FFh,0FDh, 3Bh 31E4:AB00 DF FF DB 7E E7 E7 db 0DFh,0FFh,0DBh, 7Eh,0E7h,0E7h 31E4:AB06 FE FD EE BD A5 59 db 0FEh,0FDh,0EEh,0BDh,0A5h, 59h 31E4:AB0C 9A A9 26 8D 15 FD db 9Ah,0A9h, 26h, 8Dh, 15h,0FDh 31E4:AB12 D6 db 0D6h 31E4:AB13 loc_2348: 31E4:AB13 54 push sp 31E4:AB14 F2 49 2B 3C 53 F5 db 0F2h, 49h, 2Bh, 3Ch, 53h,0F5h 31E4:AB1A A9 50 5F DB BB FF db 0A9h, 50h, 5Fh,0DBh,0BBh,0FFh 31E4:AB20 63 6F 83 BF F7 BF db 63h, 6Fh, 83h,0BFh,0F7h,0BFh 31E4:AB26 74 37 B6 A6 6A 7E db 74h, 37h,0B6h,0A6h, 6Ah, 7Eh 31E4:AB2C 9D BB E5 92 BF 5A db 9Dh,0BBh,0E5h, 92h,0BFh, 5Ah 31E4:AB32 55 67 74 B0 AF 5F db 55h, 67h, 74h,0B0h,0AFh, 5Fh 31E4:AB38 FC A6 D9 53 55 BB db 0FCh,0A6h,0D9h, 53h, 55h,0BBh 31E4:AB3E A2 35 B4 7A AA 00 db 0A2h, 35h,0B4h, 7Ah,0AAh, 00h 31E4:AB44 05 db 05h 31E4:AB45 loc_2349: 31E4:AB45 3C F2 cmp al,0F2h 31E4:AB47 98 cbw ; Convrt byte to word 31E4:AB48 0F ;* pop cs ; Dangerous-8088 only 31E4:AB48 0F db 0Fh 31E4:AB49 F3 7B EF 5D F0 0E db 0F3h, 7Bh,0EFh, 5Dh,0F0h, 0Eh 31E4:AB4F 7C F4 9D 00 03 72 db 7Ch,0F4h, 9Dh, 00h, 03h, 72h 31E4:AB55 F7 6B 00 01 FF E2 db 0F7h, 6Bh, 00h, 01h,0FFh,0E2h 31E4:AB5B 5E 00 00 00 BD 34 db 5Eh, 00h, 00h, 00h,0BDh, 34h 31E4:AB61 00 00 FF C8 C8 00 db 00h, 00h,0FFh,0C8h,0C8h, 00h 31E4:AB67 01 93 AE F8 00 07 db 01h, 93h,0AEh,0F8h, 00h, 07h 31E4:AB6D 9B 40 D0 00 00 4B db 9Bh, 40h,0D0h, 00h, 00h, 4Bh 31E4:AB73 9E 5E 00 00 29 B2 db 9Eh, 5Eh, 00h, 00h, 29h,0B2h 31E4:AB79 B1 00 00 AE BA DE db 0B1h, 00h, 00h,0AEh,0BAh,0DEh 31E4:AB7F FF FF 32 0D 26 29 db 0FFh,0FFh, 32h, 0Dh, 26h, 29h 31E4:AB85 EE 28 65 00 4B D3 db 0EEh, 28h, 65h, 00h, 4Bh,0D3h 31E4:AB8B EB A2 5A 9A 20 03 db 0EBh,0A2h, 5Ah, 9Ah, 20h, 03h 31E4:AB91 EC 16 C8 99 55 19 db 0ECh, 16h,0C8h, 99h, 55h, 19h 31E4:AB97 A0 C5 A3 B3 0C 57 db 0A0h,0C5h,0A3h,0B3h, 0Ch, 57h 31E4:AB9D AE E8 F9 B4 86 6B db 0AEh,0E8h,0F9h,0B4h, 86h, 6Bh 31E4:ABA3 A9 93 db 0A9h, 93h 31E4:ABA5 loc_2350: 31E4:ABA5 55 push bp 31E4:ABA6 19 4C 72 sbb [si+72h],cx 31E4:ABA9 29 6A CC sub [bp+si-34h],bp 31E4:ABAC 4A dec dx 31E4:ABAD EA 966B:DBED ;* jmp far ptr loc_2376 ;*(966B:DBED) 31E4:ABAD EA db 0EAh 31E4:ABAE DBED 966B dw 0DBEDh, 966Bh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 521 ;* No entry point to code 31E4:ABB2 D2 7B D6 sar byte ptr [bp+di-2Ah],cl ; Shift w/sign fill 31E4:ABB5 CF iret ; Interrupt return ;* No entry point to code 31E4:ABB6 54 push sp 31E4:ABB7 CB retf ;* No entry point to code 31E4:ABB8 9F lahf ; Load ah from flags 31E4:ABB9 BA 55A5 mov dx,55A5h 31E4:ABBC FF C9 dec cx 31E4:ABBE 5A pop dx 31E4:ABBF úBF FFE7 mov di,data_1203e ; (31E4:FFE7=0) 31E4:ABC2 19 DF sbb di,bx 31E4:ABC4 7F FF FE 4D D4 80 db 7Fh,0FFh,0FEh, 4Dh,0D4h, 80h 31E4:ABCA 00 01 43 F9 04 00 db 00h, 01h, 43h,0F9h, 04h, 00h 31E4:ABD0 81 B5 B2 00 00 01 db 81h,0B5h,0B2h, 00h, 00h, 01h 31E4:ABD6 C9 E4 00 00 00 7A db 0C9h,0E4h, 00h, 00h, 00h, 7Ah 31E4:ABDC C8 00 00 00 36 90 db 0C8h, 00h, 00h, 00h, 36h, 90h 31E4:ABE2 18 00 30 3F 20 00 db 18h, 00h, 30h, 3Fh, 20h, 00h 31E4:ABE8 00 00 00 40 00 00 db 00h, 00h, 00h, 40h, 00h, 00h 31E4:ABEE 00 01 80 00 00 00 db 00h, 01h, 80h, 00h, 00h, 00h 31E4:ABF4 01 FF FF FF FF FF db 01h,0FFh,0FFh,0FFh,0FFh,0FFh 31E4:ABFA AD E5 3B FD FC F3 db 0ADh,0E5h, 3Bh,0FDh,0FCh,0F3h 31E4:AC00 B2 A5 3D EB F3 BB db 0B2h,0A5h, 3Dh,0EBh,0F3h,0BBh 31E4:AC06 9B BD 67 F7 6A B9 db 9Bh,0BDh, 67h,0F7h, 6Ah,0B9h 31E4:AC0C 2D 2F D6 C7 3D BD db 2Dh, 2Fh,0D6h,0C7h, 3Dh,0BDh 31E4:AC12 95 FA B5 32 8A 48 db 95h,0FAh,0B5h, 32h, 8Ah, 48h 31E4:AC18 72 A5 55 6C 5B 7F db 72h,0A5h, 55h, 6Ch, 5Bh, 7Fh 31E4:AC1E B8 EC A4 97 DD 72 db 0B8h,0ECh,0A4h, 97h,0DDh, 72h 31E4:AC24 D6 D5 27 BF 53 6A db 0D6h,0D5h, 27h,0BFh, 53h, 6Ah 31E4:AC2A 95 2B F4 EA DD 55 db 95h, 2Bh,0F4h,0EAh,0DDh, 55h 31E4:AC30 D5 F5 8D D2 ED 7F db 0D5h,0F5h, 8Dh,0D2h,0EDh, 7Fh 31E4:AC36 7B FF 6F AE BB 85 db 7Bh,0FFh, 6Fh,0AEh,0BBh, 85h 31E4:AC3C FF FE 79 9F EA 00 db 0FFh,0FEh, 79h, 9Fh,0EAh, 00h 31E4:AC42 01 7A BF 07 FF FF db 01h, 7Ah,0BFh, 07h,0FFh,0FFh 31E4:AC48 FF F8 F8 00 00 00 db 0FFh,0F8h,0F8h, 00h, 00h, 00h 31E4:AC4E 07 00 00 00 00 00 db 07h, 00h, 00h, 00h, 00h, 00h 31E4:AC54 80 00 00 00 01 80 db 80h, 00h, 00h, 00h, 01h, 80h 31E4:AC5A 00 00 00 01 FF FF db 00h, 00h, 00h, 01h,0FFh,0FFh 31E4:AC60 FF FF FF 00 db 0FFh,0FFh,0FFh, 00h 31E4:AC64 000E[00] db 14 dup (0) 31E4:AC72 D6 E7 66 EF F6 13 db 0D6h,0E7h, 66h,0EFh,0F6h, 13h 31E4:AC78 6F ED B2 AB B5 37 db 6Fh,0EDh,0B2h,0ABh,0B5h, 37h 31E4:AC7E EB 3B 35 DB 46 CF db 0EBh, 3Bh, 35h,0DBh, 46h,0CFh 31E4:AC84 2A 56 EB 6B BB 73 db 2Ah, 56h,0EBh, 6Bh,0BBh, 73h 31E4:AC8A A5 FD 7B B7 EA E5 db 0A5h,0FDh, 7Bh,0B7h,0EAh,0E5h 31E4:AC90 93 7F FE FF FD 9F db 93h, 7Fh,0FEh,0FFh,0FDh, 9Fh 31E4:AC96 43 BF F8 7F FB 43 db 43h,0BFh,0F8h, 7Fh,0FBh, 43h 31E4:AC9C E7 F8 5E AB C3 FF db 0E7h,0F8h, 5Eh,0ABh,0C3h,0FFh 31E4:ACA2 78 51 DF C2 E9 F8 db 78h, 51h,0DFh,0C2h,0E9h,0F8h 31E4:ACA8 5B AB C3 69 E8 50 db 5Bh,0ABh,0C3h, 69h,0E8h, 50h 31E4:ACAE D7 C3 5D D8 5D FF db 0D7h,0C3h, 5Dh,0D8h, 5Dh,0FFh 31E4:ACB4 C2 AF B8 79 BF C2 db 0C2h,0AFh,0B8h, 79h,0BFh,0C2h 31E4:ACBA FB F8 52 8F C3 FF db 0FBh,0F8h, 52h, 8Fh,0C3h,0FFh 31E4:ACC0 C0 77 A8 C0 00 00 db 0C0h, 77h,0A8h,0C0h, 00h, 00h 31E4:ACC6 12 5B 40 00 00 15 db 12h, 5Bh, 40h, 00h, 00h, 15h 31E4:ACCC E7 C0 00 00 29 FA db 0E7h,0C0h, 00h, 00h, 29h,0FAh 31E4:ACD2 00 00 00 4B FF 80 db 00h, 00h, 00h, 4Bh,0FFh, 80h 31E4:ACD8 00 00 B4 FF F8 00 db 00h, 00h,0B4h,0FFh,0F8h, 00h 31E4:ACDE 01 6B DE C6 00 02 db 01h, 6Bh,0DEh,0C6h, 00h, 02h 31E4:ACE4 C8 EB 39 87 FD BF db 0C8h,0EBh, 39h, 87h,0FDh,0BFh 31E4:ACEA 08 C5 69 9B 6E 40 db 08h,0C5h, 69h, 9Bh, 6Eh, 40h 31E4:ACF0 80 00 00 00 40 68 db 80h, 00h, 00h, 00h, 40h, 68h 31E4:ACF6 91 22 A0 46 AA E8 db 91h, 22h,0A0h, 46h,0AAh,0E8h 31E4:ACFC 8A 4B AD 34 A5 93 db 8Ah, 4Bh,0ADh, 34h,0A5h, 93h 31E4:AD02 6A 2F D7 AD 3A AA db 6Ah, 2Fh,0D7h,0ADh, 3Ah,0AAh 31E4:AD08 FF FF FF FF FF 00 db 0FFh,0FFh,0FFh,0FFh,0FFh, 00h 31E4:AD0E 00 00 00 00 FC 00 db 00h, 00h, 00h, 00h,0FCh, 00h 31E4:AD14 00 00 00 03 FF FF db 00h, 00h, 00h, 03h,0FFh,0FFh 31E4:AD1A FF FF 98 00 06 52 db 0FFh,0FFh, 98h, 00h, 06h, 52h 31E4:AD20 9B A8 AB A9 92 95 db 9Bh,0A8h,0ABh,0A9h, 92h, 95h 31E4:AD26 A4 db 0A4h 31E4:AD27 loc_2351: ; xref 31E4:AD38 31E4:AD27 A6 cmpsb ; Cmp [si] to es:[di] 31E4:AD28 35 4D55 xor ax,4D55h 31E4:AD2B AA stosb ; Store al to es:[di] 31E4:AD2C A4 movsb ; Mov [si] to es:[di] 31E4:AD2D A9 6962 test ax,6962h 31E4:AD30 E6 A9 out 0A9h,al ; port 0A9h ??I/O Non-standard 31E4:AD32 4E dec si 31E4:AD33 59 pop cx 31E4:AD34 2B EB sub bp,bx 31E4:AD36 55 push bp 31E4:AD37 9F lahf ; Load ah from flags 31E4:AD38 7F ED jg loc_2351 ; Jump if > 31E4:AD3A 9A FFFF:FF7F ;* call far ptr sub_283 ;*(FFFF:FF7F) 31E4:AD3A 9A db 9Ah 31E4:AD3B FF7F FFFF dw 0FF7Fh, 0FFFFh 31E4:AD3F A6 cmpsb ; Cmp [si] to es:[di] 31E4:AD40 80 87 0080 DD add byte ptr data_519+59h[bx],0DDh ; (31E4:0080=' This ') 31E4:AD45 07 pop es 31E4:AD46 06 push es 31E4:AD47 00 00 add [bx+si],al 31E4:AD49 EF out dx,ax ; port 0, DMA-1 bas&add ch 0 31E4:AD4A F8 clc ; Clear carry flag 31E4:AD4B 00 00 add [bx+si],al 31E4:AD4D 00 FC add ah,bh 31E4:AD4F 00 60 02 add [bx+si+2],ah 31E4:AD52 00 00 00 00 00 3F db 00h, 00h, 00h, 00h, 00h, 3Fh 31E4:AD58 C0 00 00 03 FF 40 db 0C0h, 00h, 00h, 03h,0FFh, 40h 31E4:AD5E 00 00 00 db 00h, 00h, 00h 31E4:AD61 3F db 3Fh 31E4:AD62 0007[FF] db 7 dup (0FFh) 31E4:AD69 0F FF FF FF FF 0F db 0Fh,0FFh,0FFh,0FFh,0FFh, 0Fh 31E4:AD6F FF FF FF FF 0F FF db 0FFh,0FFh,0FFh,0FFh, 0Fh,0FFh 31E4:AD75 FF FF FF 0F FF FF db 0FFh,0FFh,0FFh, 0Fh,0FFh,0FFh 31E4:AD7B FF FF 0F FF FF FF db 0FFh,0FFh, 0Fh,0FFh,0FFh,0FFh 31E4:AD81 FF 0F F0 00 00 00 db 0FFh, 0Fh,0F0h, 00h, 00h, 00h 31E4:AD87 00 08 00 00 00 00 db 00h, 08h, 00h, 00h, 00h, 00h 31E4:AD8D 08 00 FF FF FF F0 db 08h, 00h,0FFh,0FFh,0FFh,0F0h 31E4:AD93 00 FF FF FF F0 00 db 00h,0FFh,0FFh,0FFh,0F0h, 00h 31E4:AD99 FF FF FF F0 00 FF db 0FFh,0FFh,0FFh,0F0h, 00h,0FFh 31E4:AD9F FF FF F0 00 FF FF db 0FFh,0FFh,0F0h, 00h,0FFh,0FFh 31E4:ADA5 FF F0 00 FF FF FF db 0FFh,0F0h, 00h,0FFh,0FFh,0FFh 31E4:ADAB F0 00 FF FF FF F0 db 0F0h, 00h,0FFh,0FFh,0FFh,0F0h 31E4:ADB1 00 FF FF FF F0 00 db 00h,0FFh,0FFh,0FFh,0F0h, 00h 31E4:ADB7 00 00 1F F0 00 00 db 00h, 00h, 1Fh,0F0h, 00h, 00h 31E4:ADBD 00 1F F0 00 30 06 db 00h, 1Fh,0F0h, 00h, 30h, 06h 31E4:ADC3 00 08 00 00 00 00 db 00h, 08h, 00h, 00h, 00h, 00h 31E4:ADC9 07 FF 20 02 00 00 db 07h,0FFh, 20h, 02h, 00h, 00h 31E4:ADCF 00 FF FC 00 00 3F db 00h,0FFh,0FCh, 00h, 00h, 3Fh 31E4:ADD5 FF FE 08 00 1F db 0FFh,0FEh, 08h, 00h, 1Fh 31E4:ADDA 004E[00] db 78 dup (0) 31E4:AE28 0F FF 00 00 00 0F db 0Fh,0FFh, 00h, 00h, 00h, 0Fh 31E4:AE2E FF 00 00 00 0F FF db 0FFh, 00h, 00h, 00h, 0Fh,0FFh 31E4:AE34 00 00 00 0F FF 00 db 00h, 00h, 00h, 0Fh,0FFh, 00h 31E4:AE3A 00 00 0F FF 00 00 db 00h, 00h, 0Fh,0FFh, 00h, 00h 31E4:AE40 00 0F FF 00 00 00 db 00h, 0Fh,0FFh, 00h, 00h, 00h 31E4:AE46 0F C0 00 00 00 0F db 0Fh,0C0h, 00h, 00h, 00h, 0Fh 31E4:AE4C C0 00 00 00 0F FF db 0C0h, 00h, 00h, 00h, 0Fh,0FFh 31E4:AE52 00 db 00h 31E4:AE53 0028[00] db 40 dup (0) 31E4:AE7B 20 04 00 00 01 11 db 20h, 04h, 00h, 00h, 01h, 11h 31E4:AE81 00 81 00 8A 08 13 db 00h, 81h, 00h, 8Ah, 08h, 13h 31E4:AE87 64 A3 28 47 19 52 db 64h,0A3h, 28h, 47h, 19h, 52h 31E4:AE8D 2B 96 A8 78 48 85 db 2Bh, 96h,0A8h, 78h, 48h, 85h 31E4:AE93 06 B5 0A D6 A1 00 db 06h,0B5h, 0Ah,0D6h,0A1h, 00h 31E4:AE99 7F FF E5 16 FF 80 db 7Fh,0FFh,0E5h, 16h,0FFh, 80h 31E4:AE9F 00 1F 00 00 00 07 db 00h, 1Fh, 00h, 00h, 00h, 07h 31E4:AEA5 FC 90 FE 00 06 02 db 0FCh, 90h,0FEh, 00h, 06h, 02h 31E4:AEAB 6A 02 00 07 01 62 db 6Ah, 02h, 00h, 07h, 01h, 62h 31E4:AEB1 07 80 07 0F CC 09 db 07h, 80h, 07h, 0Fh,0CCh, 09h 31E4:AEB7 00 3F F0 24 12 00 db 00h, 3Fh,0F0h, 24h, 12h, 00h 31E4:AEBD 00 00 10 3E 00 00 db 00h, 00h, 10h, 3Eh, 00h, 00h 31E4:AEC3 00 08 1F FF FF FF db 00h, 08h, 1Fh,0FFh,0FFh,0FFh 31E4:AEC9 F8 db 0F8h 31E4:AECA 0038[00] db 56 dup (0) 31E4:AF02 01 54 00 03 65 A6 db 01h, 54h, 00h, 03h, 65h,0A6h 31E4:AF08 00 90 BC 34 AA 2A db 00h, 90h,0BCh, 34h,0AAh, 2Ah 31E4:AF0E 5A 9B AA 94 91 52 db 5Ah, 9Bh,0AAh, 94h, 91h, 52h 31E4:AF14 85 94 A9 9C A2 66 db 85h, 94h,0A9h, 9Ch,0A2h, 66h 31E4:AF1A F5 67 21 48 A6 E6 db 0F5h, 67h, 21h, 48h,0A6h,0E6h 31E4:AF20 D4 A9 72 EF DB A6 db 0D4h,0A9h, 72h,0EFh,0DBh,0A6h 31E4:AF26 59 17 37 57 DA F7 db 59h, 17h, 37h, 57h,0DAh,0F7h 31E4:AF2C FB 7F FF FF FF FF db 0FBh, 7Fh,0FFh,0FFh,0FFh,0FFh 31E4:AF32 FF 00 db 0FFh, 00h 31E4:AF34 0009[00] db 9 dup (0) 31E4:AF3D FF FF FF FF FF db 0FFh,0FFh,0FFh,0FFh,0FFh 31E4:AF42 0168[00] talk_string_buffer db 360 dup (0) 31E4:B0AA 0000 game_time_ctr dw 0 31E4:B0AC 0000 game_time_ctr_2 dw 0 31E4:B0AE 00A0[00] character_pause_list db 160 dup (0) ; Animation table - this contains the list of active hotspots 31E4:B14E 0011[00] animation_table db 17 dup (0) 31E4:B15F 0000 slot0_tick_proc dw 0 ; Tick handler 31E4:B161 0011[00] db 17 dup (0) 31E4:B172 0000 data_1116 dw 0 ; Offset 24h in slot dw 0 31E4:B176 00 slot0_col_offset db 0 31E4:B177 070C[00] db 1804 dup (0) ; Remaining slots 31E4:B883 00 animation_block_list db 0 31E4:B884 0027[00] db 39 dup (0) 31E4:B8AB 0000 seq_timer_ctr dw 0 ; xref 273F:485A, 273F:495D 31E4:B8AD 0000 seq_timer_ctr_2 dw 0 ; xref 273F:485E, 273F:4962 31E4:B8AF 0118[00] sequence_delay_table db 280 dup (0) 31E4:B9C7 0032[00] data_1121 db 50 dup (0) ; xref 273F:A066, 273F:A0BD 31E4:B9F9 0000 talk_speech_ptr dw 0 31E4:B9FB 0000 data_b9fb dw 0 31E4:B9FD 0000 data_1122 dw 0 31E4:B9FF 0000 talk_buffer_segment dw 0 31E4:BA01 0000 talk_buffer_offset dw 0 31E4:BA03 0000 talk_buffer_offset_2 dw 0 31E4:BA05 00 db 0 31E4:BA06 00 data_ba06 db 0 31E4:BA07 0000 talk_string_offset dw 0 31E4:BA09 000C[00] db 12 dup (0) ; All variables below are placed together to be accessible from the sequence ; executor GET_FIELD and SET_FIELD opcodes 31E4:BA15 0000 room_number_2 dw 0 31E4:BA17 0000 character_hotspot dw 0 31E4:BA19 0000 use_hotspot_id dw 0 31E4:BA1B 0000 active_hotspot_id dw 0 31E4:BA1D 0000 sequence_result dw 0 31E4:BA1F 0000 general_val dw 0 31E4:BA21 0000 script_v6 dw 0 31E4:BA23 0000 new_room_number dw 0 31E4:BA25 0000 old_room_number dw 0 31E4:BA27 0000 cell_door_state dw 0 31E4:BA29 0000 torch_hide dw 0 ; #10 31E4:BA2B 0000 script_v11 dw 0 31E4:BA2D 0000 dw 0 31E4:BA2F 0000 dw 0 31E4:BA31 0000 dw 0 31E4:BA33 0000 prisoner_dead dw 0 31E4:BA35 0000 dw 0 31E4:BA37 0000 dw 0 31E4:BA39 0000 bottle_filled dw 0 31E4:BA3B 0000 talk_record_index dw 0 ; xref 273F:2035, 273F:5C96 31E4:BA3D 0000 sack_cut dw 0 ; #20 31E4:BA3F 0000 dw 0 31E4:BA41 0000 dw 0 31E4:BA43 0000 dw 0 31E4:BA45 0000 dw 0 31E4:BA47 0000 dw 0 31E4:BA49 0000 dw 0 31E4:BA4B 0000 dw 0 31E4:BA4D 0000 dw 0 31E4:BA4F 0000 script_val_29 dw 0 31E4:BA51 0000 dw 0 ; #30 31E4:BA53 0000 dw 0 31E4:BA55 0000 dw 0 31E4:BA57 0000 dw 0 31E4:BA59 0000 dw 0 31E4:BA5B 0000 dw 0 31E4:BA5D 0000 dw 0 31E4:BA5F 0000 script_val_37 dw 0 31E4:BA61 0000 dw 0 31E4:BA63 0000 dw 0 31E4:BA65 0000 dw 0 ; #40 31E4:BA67 0000 dw 0 31E4:BA69 0000 dw 0 31E4:BA6B 0000 dw 0 31E4:BA6D 0000 dw 0 31E4:BA6F 0000 dw 0 31E4:BA71 0000 dw 0 31E4:BA73 0000 dw 0 31E4:BA75 0000 dw 0 ; #50 31E4:BA77 0000 dw 0 31E4:BA79 0000 dw 0 31E4:BA7B 0000 dw 0 31E4:BA7D 0000 dw 0 31E4:BA7F 0000 dw 0 31E4:BA81 0000 dw 0 31E4:BA83 0000 dw 0 31E4:BA85 0000 dw 0 ; #60 31E4:BA87 0000 dw 0 31E4:BA89 0000 dw 0 31E4:BA8B 0000 dw 0 31E4:BA8D 0000 dw 0 31E4:BA8F 0000 dw 0 31E4:BA91 0000 dw 0 31E4:BA93 0000 dw 0 31E4:BA95 0000 dw 0 ; #70 31E4:BA97 0000 dw 0 31E4:BA99 0000 dw 0 31E4:BA9B 0000 script_val_73 db 0 31E4:BA9D 0000 dw 0 31E4:BA9F 0000 dw 0 31E4:BAA1 0000 dw 0 31E4:BAA3 0000 dw 0 31E4:BAA5 0000 dw 0 31E4:BAA7 0000 dw 0 31E4:BAA9 0000 script_val_80 dw 0 ; #80 31E4:BAAB 0000 dw 0 31E4:BAAD 0000 room_exit_animation_flag dw 0 31E4:BAAF 0000 dw 0 31E4:BAB1 0000 dw 0 31E4:BAB3 0000 dw 0 31E4:BAB5 0000 dw 0 31E4:BAB7 0000 script_val_87 dw 0 31E4:BAB9 0000 script_val_88 dw 0 31E4:BABB 0000 dw 0 31E4:BABD 0000 dw 0 31E4:BABF 0CC6 sequence_method_list dw offset animation_load_entry dw offset sequence_set_hotspot_script dw offset sub_247 dw offset seq_method_3 dw offset sequence_delay_list_init dw offset seq_deactivate_hotspot_set dw offset seq_deactivate_hotspot dw offset seq_pathfind_reset 31E4:BACF dw offset add_sequence_delay dw offset sub_252 dw offset seq_character_in_room ; #10 dw offset seq_set_desc dw offset seq_set_hotspot_name dw offset play_sound dw offset seq_endgame_sequence dw offset sub_238 31E4:BADF dw offset display_dialog dw offset seq_method_17 dw offset seq_room_remote_view_setup dw offset start_talk_noone dw offset seq_check_cell_door_2 ; #20 dw offset play_music dw offset seq_get_door_blocked dw offset seq_is_skorl_in_cell 31E4:BAEF dw 8022h dw offset sub_92 dw 7eeeh dw offset seq_set_blocking_hotspot_script dw offset seq_decrease_inventory_items dw offset talk_setup dw offset seq_set_action_ctr ; #30 dw offset seq_converse 31E4:BAFF dw offset seq_disable_hotspot dw offset seq_cut_sack dw offset seq_increase_groats dw offset seq_enable_hotspot dw offset display_message_dialog_4 dw offset seq_method_37 dw offset seq_transform_player dw offset seq_room_14_door_close 31E4:BB0F dw offset seq_check_dropped_desc ; #40 dw 8782h dw offset seq_door_close dw offset seq_method_43 dw offset seq_door_open dw offset seq_method_45 dw 2035h dw offset display_message_dialog 31E4:BB1F dw offset seq_set_new_dispatch_action dw offset seq_set_support_offset dw offset seq_add_item_to_inventory ; #50 dw offset seq_decrase_groats dw 8630h dw offset seq_method_53 dw offset set_village_skorl_tick_proc dw offset seq_method_55 31E4:BB2F dw offset seq_method_56 dw offset get_num_groats dw offset seq_method_58 dw offset seq_method_59 dw offset seq_method_60 ; #60 dw offset seq_kill_player dw offset animation_load dw offset seq_add_actions 31E4:BB3F dw offset seq_random_to_general 31E4:BB41 dw offset seq_check_cell_door dw offset seq_method_66 31E4:BB45 0000 current_action_num dw 0 31E4:BB47 0012[00] db 18 dup (0) 31E4:BB59 20 04 A0 4F B4 4F db 20h, 04h,0A0h, 4Fh,0B4h, 4Fh 31E4:BB5F 0D 00 00 db 0Dh, 00h, 00h 31E4:BB62 0011[00] db 17 dup (0) 31E4:BB73 29 04 C2 4F D0 4F db 29h, 04h,0C2h, 4Fh,0D0h, 4Fh 31E4:BB79 0E db 0Eh 31E4:BB7A 0013[00] db 19 dup (0) 31E4:BB8D 36 04 DD 4F DD 4F db 36h, 04h,0DDh, 4Fh,0DDh, 4Fh 31E4:BB93 10 00 db 10h, 00h ; Following is a support data offset set indexed both by the script index list, ; as well as directly by the program code 31E4:BB95 06 00 00 00 support_data_rec_bb95 db 06h, 00h, 00h, 00h 31E4:BB99 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BB9F 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBA5 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBAB 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBB1 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBB7 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBBD 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBC3 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBC9 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBCF 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBD5 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBDB 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBE1 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBE7 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBED 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBF3 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBF9 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 31E4:BBFF 00 db 00h 31E4:BC00 00 data_1143 db 0 31E4:BC01 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC07 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC0D 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC13 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC19 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC1F 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC25 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC2B 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC31 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC37 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC3D 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC43 06 00 00 00 00 00 db 06h, 00h, 00h, 00h, 00h, 00h 31E4:BC49 00 00 num_groats dw 0 hotspot_walkto_list 31E4:BC4B 0418 0143 8123 dw 418h, 143h, 8123h 31E4:BC51 2721 0144 80FB 31E4:BC57 2722 0095 8105 31E4:BC5D 271F 00AC 80EB 31E4:BC63 2720 00AE 813A 31E4:BC69 271E 00ED 810C 31E4:BC6F 753C 016D 010E 31E4:BC75 0421 0112 0112 31E4:BC7B 0422 00F0 010A 31E4:BC81 753B 012A 811B 31E4:BC87 041F 00E6 0131 31E4:BC8D 2716 009C 813A 31E4:BC93 2711 00E5 0125 31E4:BC99 2712 00E4 00FA ...more... 31E4:BC9E 5E 75 add [bp+75h],bl 31E4:BCA1 59 pop cx 31E4:BCA2 01 31 add [bx+di],si 31E4:BCA4 loc_2354: ; xref 31E4:BCE8 31E4:BCA4 01 0F add [bx],cx 31E4:BCA6 04 42 add al,42h ; 'B' 31E4:BCA8 01 25 add [di],sp 31E4:BCAA 01 10 add [bx+si],dx 31E4:BCAC 04 EF add al,0EFh 31E4:BCAE 00 1C add [si],bl 31E4:BCB0 81 35 EF75 xor word ptr [di],0EF75h 31E4:BCB4 00 1A add [bp+si],bl 31E4:BCB6 01 14 add [si],dx 31E4:BCB8 27 daa ; Decimal adjust 31E4:BCB9 82 01 04 add byte ptr [bx+di],4 31E4:BCBC 01 1B add [bp+di],bx 31E4:BCBE 04 1A add al,1Ah 31E4:BCC0 01 1A add [bp+si],bx 31E4:BCC2 01 4A 75 add [bp+si+75h],cx 31E4:BCC5 35 FC01 xor ax,0FC01h 31E4:BCC8 00 4C 75 add [si+75h],cl 31E4:BCCB D4 00 ;* aam 0 ; undocumented inst 31E4:BCCB D4 00 db 0D4h, 00h 31E4:BCCD 03 81 03E6 add ax,data_541[bx+di] ; (31E4:03E6=0) 31E4:BCD1 FC cld ; Clear direction 31E4:BCD2 00 29 add [bx+di],ch 31E4:BCD4 01 E7 add di,sp 31E4:BCD6 03 CE add cx,si 31E4:BCD8 00 22 add [bp+si],ah 31E4:BCDA 01 30 add [bx+si],si 31E4:BCDC 75 E1 ;* jnz loc_2356 ;*Jump if not zero 31E4:BCDC 75 E1 db 75h,0E1h 31E4:BCDE 00 12 add [bp+si],dl 31E4:BCE0 01 31 add [bx+di],si 31E4:BCE2 75 BA jnz loc_2353 ; Jump if not zero 31E4:BCE4 00 1B add [bp+di],bl 31E4:BCE6 01 32 add [bp+si],si 31E4:BCE8 75 BA jnz loc_2354 ; Jump if not zero 31E4:BCEA 00 1B add [bp+di],bl 31E4:BCEC 01 0D add [di],cx 31E4:BCEE 04 67 add al,67h ; 'g' 31E4:BCF0 01 14 add [si],dx 31E4:BCF2 01 33 add [bp+di],si 31E4:BCF4 75 12 jnz loc_2357 ; Jump if not zero 31E4:BCF6 01 11 add [bx+di],dx 31E4:BCF8 01 34 add [si],si 31E4:BCFA 75 1E jnz loc_2358 ; Jump if not zero 31E4:BCFC 01 14 add [si],dx 31E4:BCFE 01 36 7775 add data_936,si ; (31E4:7775=0Bh) 31E4:BD02 01 1D add [di],bx 31E4:BD04 01 37 add [bx],si 31E4:BD06 75 A9 ;* jnz loc_2355 ;*Jump if not zero 31E4:BD06 75 A9 db 75h,0A9h 31E4:BD08 loc_2357: ; xref 31E4:BCF4 31E4:BD08 00 1C add [si],bl 31E4:BD0A 01 38 add [bx+si],di 31E4:BD0C 75 43 ;* jnz loc_2359 ;*Jump if not zero 31E4:BD0C 75 43 db 75h, 43h 31E4:BD0E 01 2B add [bp+di],bp 31E4:BD10 01 39 add [bx+di],di 31E4:BD12 75 31 jnz $+33h ; Jump if not zero 31E4:BD14 01 1B add [bp+di],bx 31E4:BD16 01 3A add [bp+si],di 31E4:BD18 75 7B ;* jnz loc_2361 ;*Jump if not zero 31E4:BD18 75 7B db 75h, 7Bh 31E4:BD1A loc_2358: ; xref 31E4:BCFA 31E4:BD1A 01 25 add [di],sp 31E4:BD1C 01 18 add [bx+si],bx 31E4:BD1E 27 daa ; Decimal adjust 31E4:BD1F C4 00 les ax,dword ptr [bx+si] ; Load seg:offset ptr 31E4:BD21 23 81 2717 and ax,data_756[bx+di] ; (31E4:2717=0) 31E4:BD25 72 01 jc $+3 ; Jump if carry Set 31E4:BD27 0E push cs 31E4:BD28 01 1A add [bp+si],bx 31E4:BD2A 27 daa ; Decimal adjust 31E4:BD2B 64 01 2E 81 24 04 db 64h, 01h, 2Eh, 81h, 24h, 04h 31E4:BD31 0D 01 1C 01 3D 75 db 0Dh, 01h, 1Ch, 01h, 3Dh, 75h 31E4:BD37 2E 01 1C 01 5F 75 db 2Eh, 01h, 1Ch, 01h, 5Fh, 75h 31E4:BD3D 1E 01 1C 01 3E 75 db 1Eh, 01h, 1Ch, 01h, 3Eh, 75h 31E4:BD43 55 01 15 01 3F 75 db 55h, 01h, 15h, 01h, 3Fh, 75h 31E4:BD49 8F 01 15 01 40 75 db 8Fh, 01h, 15h, 01h, 40h, 75h 31E4:BD4F CC 00 db 0CCh, 00h 31E4:BD51 loc_2359: ; xref 31E4:BD0C 31E4:BD51 19 01 sbb [bx+di],ax 31E4:BD53 41 inc cx 31E4:BD54 loc_2360: ; xref 31E4:BD7E 31E4:BD54 75 63 jnz $+65h ; Jump if not zero 31E4:BD56 01 1E 4201 add word ptr ds:[4201h],bx ; (31E4:4201=0) 31E4:BD5A 75 83 jnz $-7Bh ; Jump if not zero 31E4:BD5C 01 FC add sp,di 31E4:BD5E 00 43 75 add [bp+di+75h],al 31E4:BD61 12 01 adc al,[bx+di] 31E4:BD63 38 01 cmp [bx+di],al 31E4:BD65 44 inc sp 31E4:BD66 75 4D jnz $+4Fh ; Jump if not zero 31E4:BD68 01 1E 4501 add word ptr ds:[4501h],bx ; (31E4:4501=0) 31E4:BD6C 75 FB jnz $-3 ; Jump if not zero 31E4:BD6E 00 14 add [si],dl ;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ; SUBROUTINE ;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 31E4:BD70 sub_276 proc near 31E4:BD70 01 46 75 add [bp+75h],ax 31E4:BD73 31 01 xor [bx+di],ax 31E4:BD75 13 01 adc ax,[bx+di] 31E4:BD77 17 pop ss 31E4:BD78 04 18 add al,18h 31E4:BD7A 01 06 4701 add ds:data_45e,ax ; (0000:4701=800Fh) 31E4:BD7E 75 D4 jnz loc_2360 ; Jump if not zero 31E4:BD80 00 F3 add bl,dh 31E4:BD82 00 48 75 add [bx+si+75h],cl 31E4:BD85 AC lodsb ; String [si] to al 31E4:BD86 00 13 add [bp+di],dl 31E4:BD88 01 2A add [bp+si],bp 31E4:BD8A 04 72 add al,72h ; 'r' 31E4:BD8C 01 06 2B01 add ds:data_38e,ax ; (0000:2B01=663Eh) 31E4:BD90 04 D4 add al,0D4h 31E4:BD92 00 1C add [si],bl 31E4:BD94 81 49 75 00C8 or word ptr [bx+di+75h],0C8h 31E4:BD99 2B 01 sub ax,[bx+di] 31E4:BD9B FF FF 33 01 0A 01 db 0FFh,0FFh, 33h, 01h, 0Ah, 01h 31E4:BDA1 2C 04 40 01 22 01 db 2Ch, 04h, 40h, 01h, 22h, 01h 31E4:BDA7 2D 04 C6 00 29 01 db 2Dh, 04h,0C6h, 00h, 29h, 01h 31E4:BDAD 4B 75 1C 01 20 01 db 4Bh, 75h, 1Ch, 01h, 20h, 01h 31E4:BDB3 25 27 01 01 15 81 db 25h, 27h, 01h, 01h, 15h, 81h 31E4:BDB9 26 27 C5 00 1C 81 db 26h, 27h,0C5h, 00h, 1Ch, 81h 31E4:BDBF 29 27 42 01 36 81 db 29h, 27h, 42h, 01h, 36h, 81h 31E4:BDC5 2A 27 BF 00 0C 81 db 2Ah, 27h,0BFh, 00h, 0Ch, 81h 31E4:BDCB 2B 27 67 01 0C 81 db 2Bh, 27h, 67h, 01h, 0Ch, 81h 31E4:BDD1 2C 27 BF 00 0C 81 db 2Ch, 27h,0BFh, 00h, 0Ch, 81h 31E4:BDD7 2D 27 67 01 0C 81 db 2Dh, 27h, 67h, 01h, 0Ch, 81h 31E4:BDDD 2E 27 BF 00 0C 81 db 2Eh, 27h,0BFh, 00h, 0Ch, 81h 31E4:BDE3 1C 27 2C 01 34 01 db 1Ch, 27h, 2Ch, 01h, 34h, 01h 31E4:BDE9 2F 27 67 01 0C 81 db 2Fh, 27h, 67h, 01h, 0Ch, 81h 31E4:BDEF 2E 04 49 01 F1 00 db 2Eh, 04h, 49h, 01h,0F1h, 00h 31E4:BDF5 2F 04 E3 00 F1 00 db 2Fh, 04h,0E3h, 00h,0F1h, 00h 31E4:BDFB 30 04 3A 01 F1 00 db 30h, 04h, 3Ah, 01h,0F1h, 00h 31E4:BE01 31 04 E3 00 F1 00 db 31h, 04h,0E3h, 00h,0F1h, 00h 31E4:BE07 32 04 49 01 F1 00 db 32h, 04h, 49h, 01h,0F1h, 00h 31E4:BE0D 33 04 E3 00 F1 00 db 33h, 04h,0E3h, 00h,0F1h, 00h 31E4:BE13 34 04 0E 01 16 01 db 34h, 04h, 0Eh, 01h, 16h, 01h 31E4:BE19 37 04 7A 01 30 01 db 37h, 04h, 7Ah, 01h, 30h, 01h 31E4:BE1F 4D 75 99 00 30 01 db 4Dh, 75h, 99h, 00h, 30h, 01h 31E4:BE25 4E 75 99 00 30 01 db 4Eh, 75h, 99h, 00h, 30h, 01h 31E4:BE2B 4F 75 A9 00 28 01 db 4Fh, 75h,0A9h, 00h, 28h, 01h 31E4:BE31 50 75 A9 00 28 01 db 50h, 75h,0A9h, 00h, 28h, 01h 31E4:BE37 51 75 C4 00 11 01 db 51h, 75h,0C4h, 00h, 11h, 01h 31E4:BE3D 52 75 C4 00 11 01 db 52h, 75h,0C4h, 00h, 11h, 01h 31E4:BE43 53 75 C4 00 11 01 db 53h, 75h,0C4h, 00h, 11h, 01h 31E4:BE49 54 75 55 01 0C 01 db 54h, 75h, 55h, 01h, 0Ch, 01h 31E4:BE4F 55 75 55 01 0C 01 db 55h, 75h, 55h, 01h, 0Ch, 01h 31E4:BE55 56 75 55 01 0C 01 db 56h, 75h, 55h, 01h, 0Ch, 01h 31E4:BE5B 38 04 AE 00 28 01 db 38h, 04h,0AEh, 00h, 28h, 01h 31E4:BE61 3A 04 22 01 02 01 db 3Ah, 04h, 22h, 01h, 02h, 01h 31E4:BE67 3D 04 0D 01 20 81 db 3Dh, 04h, 0Dh, 01h, 20h, 81h 31E4:BE6D 12 04 AD 00 0D 81 db 12h, 04h,0ADh, 00h, 0Dh, 81h 31E4:BE73 0C 04 AD 00 0D 81 db 0Ch, 04h,0ADh, 00h, 0Dh, 81h 31E4:BE79 32 27 A9 00 19 01 db 32h, 27h,0A9h, 00h, 19h, 01h 31E4:BE7F 58 75 8C 00 1F 01 db 58h, 75h, 8Ch, 00h, 1Fh, 01h 31E4:BE85 59 75 DF 00 14 01 db 59h, 75h,0DFh, 00h, 14h, 01h 31E4:BE8B 5A 75 BA 00 26 01 db 5Ah, 75h,0BAh, 00h, 26h, 01h 31E4:BE91 5B 75 64 01 2A 01 db 5Bh, 75h, 64h, 01h, 2Ah, 01h 31E4:BE97 5C 75 6B 01 FC 00 db 5Ch, 75h, 6Bh, 01h,0FCh, 00h 31E4:BE9D 5D 75 6B 01 FC 00 db 5Dh, 75h, 6Bh, 01h,0FCh, 00h 31E4:BEA3 42 04 59 01 32 01 db 42h, 04h, 59h, 01h, 32h, 01h 31E4:BEA9 60 75 17 01 0A 01 db 60h, 75h, 17h, 01h, 0Ah, 01h 31E4:BEAF 61 75 C5 00 1A 01 db 61h, 75h,0C5h, 00h, 1Ah, 01h 31E4:BEB5 62 75 3F 01 19 01 db 62h, 75h, 3Fh, 01h, 19h, 01h 31E4:BEBB 63 75 29 01 15 01 db 63h, 75h, 29h, 01h, 15h, 01h 31E4:BEC1 64 75 29 01 15 01 db 64h, 75h, 29h, 01h, 15h, 01h 31E4:BEC7 65 75 C5 00 1A 01 db 65h, 75h,0C5h, 00h, 1Ah, 01h 31E4:BECD 66 75 E1 00 0B 01 db 66h, 75h,0E1h, 00h, 0Bh, 01h 31E4:BED3 35 27 E1 00 0B 01 db 35h, 27h,0E1h, 00h, 0Bh, 01h 31E4:BED9 36 27 0A 01 0C 01 db 36h, 27h, 0Ah, 01h, 0Ch, 01h 31E4:BEDF 67 75 7A 01 0B 01 db 67h, 75h, 7Ah, 01h, 0Bh, 01h 31E4:BEE5 68 75 51 01 0B 01 db 68h, 75h, 51h, 01h, 0Bh, 01h 31E4:BEEB 69 75 3B 01 0B 01 db 69h, 75h, 3Bh, 01h, 0Bh, 01h 31E4:BEF1 6A 75 4B 01 14 01 db 6Ah, 75h, 4Bh, 01h, 14h, 01h 31E4:BEF7 6B 75 60 01 14 01 db 6Bh, 75h, 60h, 01h, 14h, 01h 31E4:BEFD 6C 75 69 01 14 01 db 6Ch, 75h, 69h, 01h, 14h, 01h 31E4:BF03 6D 75 4C 01 0B 01 db 6Dh, 75h, 4Ch, 01h, 0Bh, 01h 31E4:BF09 13 27 BA 00 1A 01 db 13h, 27h,0BAh, 00h, 1Ah, 01h 31E4:BF0F E5 03 29 01 12 81 db 0E5h, 03h, 29h, 01h, 12h, 81h 31E4:BF15 6E 75 6A 01 C3 00 db 6Eh, 75h, 6Ah, 01h,0C3h, 00h 31E4:BF1B 63 04 64 01 24 01 db 63h, 04h, 64h, 01h, 24h, 01h 31E4:BF21 64 04 CF 00 23 01 db 64h, 04h,0CFh, 00h, 23h, 01h 31E4:BF27 57 75 51 01 12 01 db 57h, 75h, 51h, 01h, 12h, 01h 31E4:BF2D 6F 75 43 01 02 01 db 6Fh, 75h, 43h, 01h, 02h, 01h 31E4:BF33 15 27 4C 01 1F 01 db 15h, 27h, 4Ch, 01h, 1Fh, 01h 31E4:BF39 00 db 00h 31E4:BF3A 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0 31E4:BF40 0000 room_info_table dw 0 31E4:BF42 0007[00] db 7 dup (0) 31E4:BF49 0D C1 01 00 84 00 db 0Dh,0C1h, 01h, 00h, 84h, 00h 31E4:BF4F 00 00 01 3C C1 02 db 00h, 00h, 01h, 3Ch,0C1h, 02h 31E4:BF55 00 71 00 00 00 01 db 00h, 71h, 00h, 00h, 00h, 01h 31E4:BF5B 85 C1 03 00 DE 00 db 85h,0C1h, 03h, 00h,0DEh, 00h 31E4:BF61 00 00 01 C4 C1 04 db 00h, 00h, 01h,0C4h,0C1h, 04h 31E4:BF67 00 DF 00 00 00 01 db 00h,0DFh, 00h, 00h, 00h, 01h 31E4:BF6D FD C9 09 0C CA 0B db 0FDh,0C9h, 09h, 0Ch,0CAh, 0Bh 31E4:BF73 00 00 00 3C CA 09 db 00h, 00h, 00h, 3Ch,0CAh, 09h 31E4:BF79 0C CA 0B 00 00 00 db 0Ch,0CAh, 0Bh, 00h, 00h, 00h 31E4:BF7F FD C1 07 00 7D 08 db 0FDh,0C1h, 07h, 00h, 7Dh, 08h 31E4:BF85 00 00 02 2C C2 08 db 00h, 00h, 02h, 2Ch,0C2h, 08h 31E4:BF8B 00 7C 08 00 00 02 db 00h, 7Ch, 08h, 00h, 00h, 02h 31E4:BF91 6B C2 09 00 62 08 db 6Bh,0C2h, 09h, 00h, 62h, 08h 31E4:BF97 00 00 02 AA C2 0A db 00h, 00h, 02h,0AAh,0C2h, 0Ah 31E4:BF9D 00 63 08 00 00 02 db 00h, 63h, 08h, 00h, 00h, 02h 31E4:BFA3 09 C3 0B 00 7C 08 db 09h,0C3h, 0Bh, 00h, 7Ch, 08h 31E4:BFA9 00 00 02 48 C3 0C db 00h, 00h, 02h, 48h,0C3h, 0Ch 31E4:BFAF 00 64 08 00 00 02 db 00h, 64h, 08h, 00h, 00h, 02h 31E4:BFB5 97 C3 0D 00 72 08 db 97h,0C3h, 0Dh, 00h, 72h, 08h 31E4:BFBB 00 00 02 E6 C3 0E db 00h, 00h, 02h,0E6h,0C3h, 0Eh 31E4:BFC1 00 67 08 00 00 02 db 00h, 67h, 08h, 00h, 00h, 02h 31E4:BFC7 59 C4 0F 00 73 08 db 59h,0C4h, 0Fh, 00h, 73h, 08h 31E4:BFCD 00 00 02 00 db 00h, 00h, 02h, 00h 31E4:BFD1 0008[00] db 8 dup (0) 31E4:BFD9 A8 C4 11 00 6D 08 db 0A8h,0C4h, 11h, 00h, 6Dh, 08h 31E4:BFDF 00 00 02 17 C5 12 db 00h, 00h, 02h, 17h,0C5h, 12h 31E4:BFE5 00 74 0B 00 00 02 db 00h, 74h, 0Bh, 00h, 00h, 02h 31E4:BFEB 76 C5 13 00 6F 08 db 76h,0C5h, 13h, 00h, 6Fh, 08h 31E4:BFF1 00 00 02 F5 C5 14 db 00h, 00h, 02h,0F5h,0C5h, 14h 31E4:BFF7 00 84 08 00 00 02 db 00h, 84h, 08h, 00h, 00h, 02h 31E4:BFFD 54 C6 15 00 7C 08 db 54h,0C6h, 15h, 00h, 7Ch, 08h 31E4:C003 00 00 02 93 C6 16 db 00h, 00h, 02h, 93h,0C6h, 16h 31E4:C009 00 7C 08 00 00 02 db 00h, 7Ch, 08h, 00h, 00h, 02h 31E4:C00F D2 C6 17 00 7C 08 db 0D2h,0C6h, 17h, 00h, 7Ch, 08h 31E4:C015 00 00 02 11 C7 18 db 00h, 00h, 02h, 11h,0C7h, 18h 31E4:C01B 00 7C 08 00 00 02 db 00h, 7Ch, 08h, 00h, 00h, 02h 31E4:C021 50 C7 19 00 7C 08 db 50h,0C7h, 19h, 00h, 7Ch, 08h 31E4:C027 00 00 02 00 00 1A db 00h, 00h, 02h, 00h, 00h, 1Ah 31E4:C02D 00 7C 08 00 00 02 db 00h, 7Ch, 08h, 00h, 00h, 02h 31E4:C033 8F C7 1B 00 7C 08 db 8Fh,0C7h, 1Bh, 00h, 7Ch, 08h 31E4:C039 00 00 02 CE C7 1C db 00h, 00h, 02h,0CEh,0C7h, 1Ch 31E4:C03F 00 86 08 00 00 02 db 00h, 86h, 08h, 00h, 00h, 02h 31E4:C045 FD C7 1D 00 88 08 db 0FDh,0C7h, 1Dh, 00h, 88h, 08h 31E4:C04B 00 00 02 2C C8 1E db 00h, 00h, 02h, 2Ch,0C8h, 1Eh 31E4:C051 00 4D 08 00 00 02 db 00h, 4Dh, 08h, 00h, 00h, 02h 31E4:C057 5B C8 1F 00 70 08 db 5Bh,0C8h, 1Fh, 00h, 70h, 08h 31E4:C05D 00 00 02 B9 C8 20 db 00h, 00h, 02h,0B9h,0C8h, 20h 31E4:C063 00 8C 08 00 00 02 db 00h, 8Ch, 08h, 00h, 00h, 02h 31E4:C069 00 00 21 00 00 00 db 00h, 00h, 21h, 00h, 00h, 00h 31E4:C06F 00 00 02 E8 C8 22 db 00h, 00h, 02h,0E8h,0C8h, 22h 31E4:C075 00 CE 00 00 00 02 db 00h,0CEh, 00h, 00h, 00h, 02h 31E4:C07B 17 C9 23 00 9B 0C db 17h,0C9h, 23h, 00h, 9Bh, 0Ch 31E4:C081 00 00 02 8A C8 24 db 00h, 00h, 02h, 8Ah,0C8h, 24h 31E4:C087 00 EA 08 00 00 02 db 00h,0EAh, 08h, 00h, 00h, 02h 31E4:C08D 00 00 25 00 00 00 db 00h, 00h, 25h, 00h, 00h, 00h 31E4:C093 00 00 02 46 C9 26 db 00h, 00h, 02h, 46h,0C9h, 26h 31E4:C099 00 CA 0B 00 00 04 db 00h,0CAh, 0Bh, 00h, 00h, 04h 31E4:C09F 7F C9 27 00 CA 0B db 7Fh,0C9h, 27h, 00h,0CAh, 0Bh 31E4:C0A5 00 00 04 BE C9 28 db 00h, 00h, 04h,0BEh,0C9h, 28h 31E4:C0AB 00 CA 0B 00 00 04 db 00h,0CAh, 0Bh, 00h, 00h, 04h 31E4:C0B1 7B CA 29 00 F1 0A db 7Bh,0CAh, 29h, 00h,0F1h, 0Ah 31E4:C0B7 00 00 04 AA CA 2A db 00h, 00h, 04h,0AAh,0CAh, 2Ah 31E4:C0BD 00 A0 0F 00 00 08 db 00h,0A0h, 0Fh, 00h, 00h, 08h 31E4:C0C3 D9 CA 2B 00 A1 0F db 0D9h,0CAh, 2Bh, 00h,0A1h, 0Fh 31E4:C0C9 00 00 08 18 CB 2C db 00h, 00h, 08h, 18h,0CBh, 2Ch 31E4:C0CF 00 F3 0F 00 00 08 db 00h,0F3h, 0Fh, 00h, 00h, 08h 31E4:C0D5 67 CB 2D 00 A2 0F db 67h,0CBh, 2Dh, 00h,0A2h, 0Fh 31E4:C0DB 00 00 08 D0 CB 2E db 00h, 00h, 08h,0D0h,0CBh, 2Eh 31E4:C0E1 00 A2 0F 00 00 08 db 00h,0A2h, 0Fh, 00h, 00h, 08h 31E4:C0E7 29 CC 2F 00 18 10 db 29h,0CCh, 2Fh, 00h, 18h, 10h 31E4:C0ED 00 00 08 68 CC 30 db 00h, 00h, 08h, 68h,0CCh, 30h 31E4:C0F3 00 17 10 00 00 08 db 00h, 17h, 10h, 00h, 00h, 08h 31E4:C0F9 97 CC 2F 00 18 10 db 97h,0CCh, 2Fh, 00h, 18h, 10h 31E4:C0FF 00 00 08 C0 CC db 00h, 00h, 08h,0C0h,0CCh 31E4:C104 0007[00] db 7 dup (0) 31E4:C10B FF FF db 0FFh,0FFh ; Start of room information data for initial cell room 31E4:C10D 0000 dw 0000h 31E4:C10F 8020 dw 8020h 31E4:C111 6D57 dw 6D57h 31E4:C113 1430 dw 1430h ; Offset for auto-load pixel blocks 31E4:C115 02 db 2 ; Default number of screns 31E4:C116 4100 dw 4100h ; Layer Id - Background 31E4:C118 4101 dw 4101h ; Layer Id - Front part of door 31E4:C11A 4102 dw 4102h ; Layer Id - cell window overlay 31E4:C11C 00 db 00h 31E4:C11D 00 db 00h 31E4:C11E 3B db 3Bh 31E4:C11F 0007[00] db 7 dup (0) 31E4:C126 00CD dw 0CDh ; X start 31E4:C128 0000 dw 0 ; X end 31E4:C12A 00A8 dw 0A8h 31E4:C12C D0 00 1F 01 26 01 db 0D0h, 00h, 1Fh, 01h, 26h, 01h 31E4:C132 FF FF 02 40 E4 00 db 0FFh,0FFh, 02h, 40h,0E4h, 00h 31E4:C138 00 01 FF FF 00 00 db 00h, 01h,0FFh,0FFh, 00h, 00h 31E4:C13E 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C144 02 01 42 02 42 00 db 02h, 01h, 42h, 02h, 42h, 00h 31E4:C14A 00 00 00 E8 2B 00 db 00h, 00h, 00h,0E8h, 2Bh, 00h 31E4:C150 0009[00] db 9 dup (0) 31E4:C159 E0 00 FC 00 EE 00 db 0E0h, 00h,0FCh, 00h,0EEh, 00h 31E4:C15F F8 00 FF FF 01 10 db 0F8h, 00h,0FFh,0FFh, 01h, 10h 31E4:C165 C6 00 28 01 3C 01 db 0C6h, 00h, 28h, 01h, 3Ch, 01h 31E4:C16B 6E 01 E8 00 FC 00 db 6Eh, 01h,0E8h, 00h,0FCh, 00h 31E4:C171 FF FF 03 10 90 00 db 0FFh,0FFh, 03h, 10h, 90h, 00h 31E4:C177 20 01 AA 01 B8 01 db 20h, 01h,0AAh, 01h,0B8h, 01h 31E4:C17D E6 00 18 01 55 05 db 0E6h, 00h, 18h, 01h, 55h, 05h 31E4:C183 FF FF 00 00 20 00 db 0FFh,0FFh, 00h, 00h, 20h, 00h 31E4:C189 57 6D 3C 14 02 01 db 57h, 6Dh, 3Ch, 14h, 02h, 01h 31E4:C18F 43 02 43 00 00 00 db 43h, 02h, 43h, 00h, 00h, 00h 31E4:C195 00 EC 2B 00 00 00 db 00h,0ECh, 2Bh, 00h, 00h, 00h 31E4:C19B 00 00 02 9F 00 81 db 00h, 00h, 02h, 9Fh, 00h, 81h 31E4:C1A1 01 8A 00 98 00 1A db 01h, 8Ah, 00h, 98h, 00h, 1Ah 31E4:C1A7 01 24 01 FF FF 02 db 01h, 24h, 01h,0FFh,0FFh, 02h 31E4:C1AD 40 44 01 00 01 A4 db 40h, 44h, 01h, 00h, 01h,0A4h 31E4:C1B3 01 C0 01 1A 01 24 db 01h,0C0h, 01h, 1Ah, 01h, 24h 31E4:C1B9 01 FF FF 04 80 4F db 01h,0FFh,0FFh, 04h, 80h, 4Fh 31E4:C1BF 01 3A 01 FF FF 00 db 01h, 3Ah, 01h,0FFh,0FFh, 00h 31E4:C1C5 00 20 00 57 6D 3C db 00h, 20h, 00h, 57h, 6Dh, 3Ch 31E4:C1CB 14 03 00 44 01 44 db 14h, 03h, 00h, 44h, 01h, 44h 31E4:C1D1 02 44 03 44 F3 2B db 02h, 44h, 03h, 44h,0F3h, 2Bh 31E4:C1D7 00 00 00 00 00 03 db 00h, 00h, 00h, 00h, 00h, 03h 31E4:C1DD 00 00 00 00 4C 01 db 00h, 00h, 00h, 00h, 4Ch, 01h 31E4:C1E3 6D 01 39 01 40 01 db 6Dh, 01h, 39h, 01h, 40h, 01h 31E4:C1E9 FF FF 03 20 80 01 db 0FFh,0FFh, 03h, 20h, 80h, 01h 31E4:C1EF 20 01 50 01 69 01 db 20h, 01h, 50h, 01h, 69h, 01h 31E4:C1F5 21 01 30 01 C6 05 db 21h, 01h, 30h, 01h,0C6h, 05h 31E4:C1FB FF FF 00 00 20 00 db 0FFh,0FFh, 00h, 00h, 20h, 00h 31E4:C201 57 6D 3C 14 02 00 db 57h, 6Dh, 3Ch, 14h, 02h, 00h 31E4:C207 87 01 87 00 00 00 db 87h, 01h, 87h, 00h, 00h, 00h 31E4:C20D 00 83 00 FF FF 0F db 00h, 83h, 00h,0FFh,0FFh, 0Fh 31E4:C213 00 01 04 DE 00 00 db 00h, 01h, 04h,0DEh, 00h, 00h 31E4:C219 00 A5 00 D5 00 EF db 00h,0A5h, 00h,0D5h, 00h,0EFh 31E4:C21F 00 2C 01 FF FF 08 db 00h, 2Ch, 01h,0FFh,0FFh, 08h 31E4:C225 80 10 01 40 01 FF db 80h, 10h, 01h, 40h, 01h,0FFh 31E4:C22B FF 00 00 00 20 57 db 0FFh, 00h, 00h, 00h, 20h, 57h 31E4:C231 6D 3C 14 01 00 88 db 6Dh, 3Ch, 14h, 01h, 00h, 88h 31E4:C237 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:C23D FA 2B 00 00 00 00 db 0FAh, 2Bh, 00h, 00h, 00h, 00h 31E4:C243 01 05 00 00 00 00 db 01h, 05h, 00h, 00h, 00h, 00h 31E4:C249 C7 00 6F 01 3F 01 db 0C7h, 00h, 6Fh, 01h, 3Fh, 01h 31E4:C24F 47 01 FF FF 07 10 db 47h, 01h,0FFh,0FFh, 07h, 10h 31E4:C255 D1 00 11 01 ED 00 db 0D1h, 00h, 11h, 01h,0EDh, 00h 31E4:C25B 12 01 FA 00 09 01 db 12h, 01h,0FAh, 00h, 09h, 01h 31E4:C261 FF FF 09 00 50 01 db 0FFh,0FFh, 09h, 00h, 50h, 01h 31E4:C267 40 01 FF FF 00 00 db 40h, 01h,0FFh,0FFh, 00h, 00h 31E4:C26D 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C273 02 00 89 01 89 00 db 02h, 00h, 89h, 01h, 89h, 00h 31E4:C279 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:C27F 00 00 00 01 06 00 db 00h, 00h, 00h, 01h, 06h, 00h 31E4:C285 00 00 00 DD 00 8D db 00h, 00h, 00h,0DDh, 00h, 8Dh 31E4:C28B 01 40 01 90 01 FF db 01h, 40h, 01h, 90h, 01h,0FFh 31E4:C291 FF 08 40 F2 00 16 db 0FFh, 08h, 40h,0F2h, 00h, 16h 31E4:C297 01 81 00 B2 00 E6 db 01h, 81h, 00h,0B2h, 00h,0E6h 31E4:C29D 00 29 01 FF FF 0A db 00h, 29h, 01h,0FFh,0FFh, 0Ah 31E4:C2A3 20 A4 01 10 01 FF db 20h,0A4h, 01h, 10h, 01h,0FFh 31E4:C2A9 FF 00 00 20 00 57 db 0FFh, 00h, 00h, 20h, 00h, 57h 31E4:C2AF 6D 3C 14 02 00 8A db 6Dh, 3Ch, 14h, 02h, 00h, 8Ah 31E4:C2B5 01 8A 00 00 00 00 db 01h, 8Ah, 00h, 00h, 00h, 00h 31E4:C2BB FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:C2C1 01 07 00 00 B5 01 db 01h, 07h, 00h, 00h,0B5h, 01h 31E4:C2C7 C0 01 00 02 01 01 db 0C0h, 01h, 00h, 02h, 01h, 01h 31E4:C2CD 16 01 FF FF 09 00 db 16h, 01h,0FFh,0FFh, 09h, 00h 31E4:C2D3 A9 00 21 01 AC 00 db 0A9h, 00h, 21h, 01h,0ACh, 00h 31E4:C2D9 DB 00 44 01 4A 01 db 0DBh, 00h, 44h, 01h, 4Ah, 01h 31E4:C2DF FF FF 0B 00 F2 00 db 0FFh,0FFh, 0Bh, 00h,0F2h, 00h 31E4:C2E5 16 01 50 00 7A 00 db 16h, 01h, 50h, 00h, 7Ah, 00h 31E4:C2EB F6 00 46 01 FF FF db 0F6h, 00h, 46h, 01h,0FFh,0FFh 31E4:C2F1 0D 00 A4 01 2B 01 db 0Dh, 00h,0A4h, 01h, 2Bh, 01h 31E4:C2F7 01 01 20 01 FC 00 db 01h, 01h, 20h, 01h,0FCh, 00h 31E4:C2FD 0A 01 FF FF 22 00 db 0Ah, 01h,0FFh,0FFh, 22h, 00h 31E4:C303 C5 00 2F 01 FF FF db 0C5h, 00h, 2Fh, 01h,0FFh,0FFh 31E4:C309 00 00 00 20 57 6D db 00h, 00h, 00h, 20h, 57h, 6Dh 31E4:C30F 3C 14 01 00 88 00 db 3Ch, 14h, 01h, 00h, 88h, 00h 31E4:C315 00 00 00 00 00 FF db 00h, 00h, 00h, 00h, 00h,0FFh 31E4:C31B FF 00 00 00 00 01 db 0FFh, 00h, 00h, 00h, 00h, 01h 31E4:C321 05 00 00 00 00 C7 db 05h, 00h, 00h, 00h, 00h,0C7h 31E4:C327 00 6F 01 3F 01 47 db 00h, 6Fh, 01h, 3Fh, 01h, 47h 31E4:C32D 01 FF FF 1B 20 77 db 01h,0FFh,0FFh, 1Bh, 20h, 77h 31E4:C333 01 0B 01 ED 00 12 db 01h, 0Bh, 01h,0EDh, 00h, 12h 31E4:C339 01 FA 00 09 01 FF db 01h,0FAh, 00h, 09h, 01h,0FFh 31E4:C33F FF 0A 00 BE 00 46 db 0FFh, 0Ah, 00h,0BEh, 00h, 46h 31E4:C345 01 FF FF 00 00 20 db 01h,0FFh,0FFh, 00h, 00h, 20h 31E4:C34B 00 57 6D 3C 14 03 db 00h, 57h, 6Dh, 3Ch, 14h, 03h 31E4:C351 00 8C 01 8C 02 8C db 00h, 8Ch, 01h, 8Ch, 02h, 8Ch 31E4:C357 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:C35D 00 00 01 0F 00 00 db 00h, 00h, 01h, 0Fh, 00h, 00h 31E4:C363 00 00 03 01 22 01 db 00h, 00h, 03h, 01h, 22h, 01h 31E4:C369 BD 00 D8 00 FF FF db 0BDh, 00h,0D8h, 00h,0FFh,0FFh 31E4:C36F 14 00 65 01 44 01 db 14h, 00h, 65h, 01h, 44h, 01h 31E4:C375 6C 01 89 01 26 01 db 6Ch, 01h, 89h, 01h, 26h, 01h 31E4:C37B 3B 01 FF FF 1B 00 db 3Bh, 01h,0FFh,0FFh, 1Bh, 00h 31E4:C381 AD 00 0B 01 A2 00 db 0ADh, 00h, 0Bh, 01h,0A2h, 00h 31E4:C387 C3 00 C6 00 E0 00 db 0C3h, 00h,0C6h, 00h,0E0h, 00h 31E4:C38D FF FF 20 00 AC 00 db 0FFh,0FFh, 20h, 00h,0ACh, 00h 31E4:C393 40 01 FF FF 00 00 db 40h, 01h,0FFh,0FFh, 00h, 00h 31E4:C399 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C39F 02 00 8D 01 8D 02 db 02h, 00h, 8Dh, 01h, 8Dh, 02h 31E4:C3A5 8D 00 00 01 2C 00 db 8Dh, 00h, 00h, 01h, 2Ch, 00h 31E4:C3AB 00 00 00 01 08 00 db 00h, 00h, 00h, 01h, 08h, 00h 31E4:C3B1 00 00 00 50 00 7A db 00h, 00h, 00h, 50h, 00h, 7Ah 31E4:C3B7 00 1A 01 46 01 FF db 00h, 1Ah, 01h, 46h, 01h,0FFh 31E4:C3BD FF 0E 00 A8 01 1F db 0FFh, 0Eh, 00h,0A8h, 01h, 1Fh 31E4:C3C3 01 C6 01 E0 01 10 db 01h,0C6h, 01h,0E0h, 01h, 10h 31E4:C3C9 01 46 01 FF FF 0A db 01h, 46h, 01h,0FFh,0FFh, 0Ah 31E4:C3CF 00 7A 00 30 01 9F db 00h, 7Ah, 00h, 30h, 01h, 9Fh 31E4:C3D5 00 0E 01 44 01 4A db 00h, 0Eh, 01h, 44h, 01h, 4Ah 31E4:C3DB 01 FF FF 14 00 D4 db 01h,0FFh,0FFh, 14h, 00h,0D4h 31E4:C3E1 00 D8 00 FF FF 00 db 00h,0D8h, 00h,0FFh,0FFh, 00h 31E4:C3E7 00 20 00 57 6D 3C db 00h, 20h, 00h, 57h, 6Dh, 3Ch 31E4:C3ED 14 02 00 8E 01 8E db 14h, 02h, 00h, 8Eh, 01h, 8Eh 31E4:C3F3 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 31E4:C3F9 00 00 00 00 01 09 db 00h, 00h, 00h, 00h, 01h, 09h 31E4:C3FF 00 00 00 00 50 00 db 00h, 00h, 00h, 00h, 50h, 00h 31E4:C405 7A 00 11 01 26 01 db 7Ah, 00h, 11h, 01h, 26h, 01h 31E4:C40B FF FF 0F 00 A4 01 db 0FFh,0FFh, 0Fh, 00h,0A4h, 01h 31E4:C411 2B 01 80 00 0E 01 db 2Bh, 01h, 80h, 00h, 0Eh, 01h 31E4:C417 3D 01 4A 01 FF FF db 3Dh, 01h, 4Ah, 01h,0FFh,0FFh 31E4:C41D 13 00 04 01 02 01 db 13h, 00h, 04h, 01h, 02h, 01h 31E4:C423 C6 01 E0 01 FC 00 db 0C6h, 01h,0E0h, 01h,0FCh, 00h 31E4:C429 28 01 FF FF 0D 00 db 28h, 01h,0FFh,0FFh, 0Dh, 00h 31E4:C42F 7A 00 35 01 F7 00 db 7Ah, 00h, 35h, 01h,0F7h, 00h 31E4:C435 12 01 E8 00 F8 00 db 12h, 01h,0E8h, 00h,0F8h, 00h 31E4:C43B FF FF 1F 00 67 01 db 0FFh,0FFh, 1Fh, 00h, 67h, 01h 31E4:C441 3B 01 E8 00 54 01 db 3Bh, 01h,0E8h, 00h, 54h, 01h 31E4:C447 09 01 17 01 39 0D db 09h, 01h, 17h, 01h, 39h, 0Dh 31E4:C44D 35 01 4A 01 FC 00 db 35h, 01h, 4Ah, 01h,0FCh, 00h 31E4:C453 0B 01 39 0D FF FF db 0Bh, 01h, 39h, 0Dh,0FFh,0FFh 31E4:C459 00 00 20 00 57 6D db 00h, 00h, 20h, 00h, 57h, 6Dh 31E4:C45F 3C 14 02 00 8F 01 db 3Ch, 14h, 02h, 00h, 8Fh, 01h 31E4:C465 8F 00 00 00 00 0D db 8Fh, 00h, 00h, 00h, 00h, 0Dh 31E4:C46B 0F 00 00 00 00 01 db 0Fh, 00h, 00h, 00h, 00h, 01h 31E4:C471 0A 00 00 00 00 7F db 0Ah, 00h, 00h, 00h, 00h, 7Fh 31E4:C477 00 73 01 3D 01 48 db 00h, 73h, 01h, 3Dh, 01h, 48h 31E4:C47D 01 FF FF 11 00 E3 db 01h,0FFh,0FFh, 11h, 00h,0E3h 31E4:C483 00 0E 01 B2 01 C2 db 00h, 0Eh, 01h,0B2h, 01h,0C2h 31E4:C489 01 11 01 3C 01 FF db 01h, 11h, 01h, 3Ch, 01h,0FFh 31E4:C48F FF 0E 00 7A 00 1D db 0FFh, 0Eh, 00h, 7Ah, 00h, 1Dh 31E4:C495 01 EC 00 23 01 F0 db 01h,0ECh, 00h, 23h, 01h,0F0h 31E4:C49B 00 FA 00 FF FF 26 db 00h,0FAh, 00h,0FFh,0FFh, 26h 31E4:C4A1 00 42 01 46 01 FF db 00h, 42h, 01h, 46h, 01h,0FFh 31E4:C4A7 FF 00 00 20 00 57 db 0FFh, 00h, 00h, 20h, 00h, 57h 31E4:C4AD 6D 3C 14 03 00 91 db 6Dh, 3Ch, 14h, 03h, 00h, 91h 31E4:C4B3 01 91 02 91 00 00 db 01h, 91h, 02h, 91h, 00h, 00h 31E4:C4B9 FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:C4BF 01 0B 00 00 00 00 db 01h, 0Bh, 00h, 00h, 00h, 00h 31E4:C4C5 50 00 7A 00 0B 01 db 50h, 00h, 7Ah, 00h, 0Bh, 01h 31E4:C4CB 47 01 FF FF 15 00 db 47h, 01h,0FFh,0FFh, 15h, 00h 31E4:C4D1 77 01 0B 01 D2 00 db 77h, 01h, 0Bh, 01h,0D2h, 00h 31E4:C4D7 0C 01 CE 00 F5 00 db 0Ch, 01h,0CEh, 00h,0F5h, 00h 31E4:C4DD FF FF 0F 00 FC 00 db 0FFh,0FFh, 0Fh, 00h,0FCh, 00h 31E4:C4E3 46 01 C6 01 E0 01 db 46h, 01h,0C6h, 01h,0E0h, 01h 31E4:C4E9 1C 01 47 01 FF FF db 1Ch, 01h, 47h, 01h,0FFh,0FFh 31E4:C4EF 13 00 78 00 21 01 db 13h, 00h, 78h, 00h, 21h, 01h 31E4:C4F5 9F 00 11 01 40 01 db 9Fh, 00h, 11h, 01h, 40h, 01h 31E4:C4FB 48 01 FF FF 12 00 db 48h, 01h,0FFh,0FFh, 12h, 00h 31E4:C501 4D 01 F0 00 4A 01 db 4Dh, 01h,0F0h, 00h, 4Ah, 01h 31E4:C507 63 01 0A 01 14 01 db 63h, 01h, 0Ah, 01h, 14h, 01h 31E4:C50D FF FF 1D 00 99 00 db 0FFh,0FFh, 1Dh, 00h, 99h, 00h 31E4:C513 40 01 FF FF 00 00 db 40h, 01h,0FFh,0FFh, 00h, 00h 31E4:C519 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C51F 02 00 92 01 92 00 db 02h, 00h, 92h, 01h, 92h, 00h 31E4:C525 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:C52B 00 00 00 01 0C 00 db 00h, 00h, 00h, 01h, 0Ch, 00h 31E4:C531 00 00 00 50 00 7A db 00h, 00h, 00h, 50h, 00h, 7Ah 31E4:C537 00 13 01 3C 01 FF db 00h, 13h, 01h, 3Ch, 01h,0FFh 31E4:C53D FF 17 00 77 01 0B db 0FFh, 17h, 00h, 77h, 01h, 0Bh 31E4:C543 01 3B 01 7E 01 DD db 01h, 3Bh, 01h, 7Eh, 01h,0DDh 31E4:C549 00 EB 00 FF FF 11 db 00h,0EBh, 00h,0FFh,0FFh, 11h 31E4:C54F 00 B1 00 42 01 C6 db 00h,0B1h, 00h, 42h, 01h,0C6h 31E4:C555 01 E0 01 0F 01 47 db 01h,0E0h, 01h, 0Fh, 01h, 47h 31E4:C55B 01 FF FF 18 00 AD db 01h,0FFh,0FFh, 18h, 00h,0ADh 31E4:C561 00 0B 01 FF 00 19 db 00h, 0Bh, 01h,0FFh, 00h, 19h 31E4:C567 01 DB 00 EF 00 FF db 01h,0DBh, 00h,0EFh, 00h,0FFh 31E4:C56D FF 1C 40 01 01 10 db 0FFh, 1Ch, 40h, 01h, 01h, 10h 31E4:C573 01 FF FF 00 00 20 db 01h,0FFh,0FFh, 00h, 00h, 20h 31E4:C579 00 57 6D 3C 14 03 db 00h, 57h, 6Dh, 3Ch, 14h, 03h 31E4:C57F 00 93 01 93 02 93 db 00h, 93h, 01h, 93h, 02h, 93h 31E4:C585 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:C58B 00 00 01 0E 00 00 db 00h, 00h, 01h, 0Eh, 00h, 00h 31E4:C591 00 00 50 00 7A 00 db 00h, 00h, 50h, 00h, 7Ah, 00h 31E4:C597 0C 01 2E 01 FF FF db 0Ch, 01h, 2Eh, 01h,0FFh,0FFh 31E4:C59D 11 00 AD 01 3B 01 db 11h, 00h,0ADh, 01h, 3Bh, 01h 31E4:C5A3 F7 00 36 01 E6 00 db 0F7h, 00h, 36h, 01h,0E6h, 00h 31E4:C5A9 F8 00 FF FF 0E 00 db 0F8h, 00h,0FFh,0FFh, 0Eh, 00h 31E4:C5AF B1 00 46 01 C6 01 db 0B1h, 00h, 46h, 01h,0C6h, 01h 31E4:C5B5 E0 01 11 01 43 01 db 0E0h, 01h, 11h, 01h, 43h, 01h 31E4:C5BB FF FF 14 00 7C 00 db 0FFh,0FFh, 14h, 00h, 7Ch, 00h 31E4:C5C1 26 01 BC 00 FE 00 db 26h, 01h,0BCh, 00h,0FEh, 00h 31E4:C5C7 40 01 48 01 FF FF db 40h, 01h, 48h, 01h,0FFh,0FFh 31E4:C5CD 19 00 F2 00 16 01 db 19h, 00h,0F2h, 00h, 16h, 01h 31E4:C5D3 6F 01 90 01 F7 00 db 6Fh, 01h, 90h, 01h,0F7h, 00h 31E4:C5D9 04 01 FF FF 1E 00 db 04h, 01h,0FFh,0FFh, 1Eh, 00h 31E4:C5DF C1 00 29 01 95 00 db 0C1h, 00h, 29h, 01h, 95h, 00h 31E4:C5E5 BA 00 F5 00 FF 00 db 0BAh, 00h,0F5h, 00h,0FFh, 00h 31E4:C5EB FF FF 23 00 4C 01 db 0FFh,0FFh, 23h, 00h, 4Ch, 01h 31E4:C5F1 43 01 FF FF 00 00 db 43h, 01h,0FFh,0FFh, 00h, 00h 31E4:C5F7 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C5FD 03 00 94 01 94 02 db 03h, 00h, 94h, 01h, 94h, 02h 31E4:C603 94 00 00 FF FF 00 db 94h, 00h, 00h,0FFh,0FFh, 00h 31E4:C609 00 00 00 01 14 00 db 00h, 00h, 00h, 01h, 14h, 00h 31E4:C60F 00 00 00 50 00 7A db 00h, 00h, 00h, 50h, 00h, 7Ah 31E4:C615 00 0E 01 33 01 FF db 00h, 0Eh, 01h, 33h, 01h,0FFh 31E4:C61B FF 13 00 AE 01 2C db 0FFh, 13h, 00h,0AEh, 01h, 2Ch 31E4:C621 01 D1 00 ED 00 CA db 01h,0D1h, 00h,0EDh, 00h,0CAh 31E4:C627 00 D4 00 FF FF 0D db 00h,0D4h, 00h,0FFh,0FFh, 0Dh 31E4:C62D 00 BC 00 40 01 FE db 00h,0BCh, 00h, 40h, 01h,0FEh 31E4:C633 00 82 01 43 01 47 db 00h, 82h, 01h, 43h, 01h, 47h 31E4:C639 01 FF FF 0C 00 01 db 01h,0FFh,0FFh, 0Ch, 00h, 01h 31E4:C63F 01 E0 00 40 01 5D db 01h,0E0h, 00h, 40h, 01h, 5Dh 31E4:C645 01 E8 00 F3 00 FF db 01h,0E8h, 00h,0F3h, 00h,0FFh 31E4:C64B FF 24 10 85 00 0E db 0FFh, 24h, 10h, 85h, 00h, 0Eh 31E4:C651 01 FF FF 00 00 00 db 01h,0FFh,0FFh, 00h, 00h, 00h 31E4:C657 20 57 6D 3C 14 02 db 20h, 57h, 6Dh, 3Ch, 14h, 02h 31E4:C65D 10 88 11 88 00 00 db 10h, 88h, 11h, 88h, 00h, 00h 31E4:C663 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:C669 00 00 01 0D BA 00 db 00h, 00h, 01h, 0Dh,0BAh, 00h 31E4:C66F 86 01 90 00 B2 00 db 86h, 01h, 90h, 00h,0B2h, 00h 31E4:C675 FB 00 0D 01 FF FF db 0FBh, 00h, 0Dh, 01h,0FFh,0FFh 31E4:C67B 16 40 F2 00 16 01 db 16h, 40h,0F2h, 00h, 16h, 01h 31E4:C681 8C 01 AA 01 FB 00 db 8Ch, 01h,0AAh, 01h,0FBh, 00h 31E4:C687 0D 01 FF FF 11 00 db 0Dh, 01h,0FFh,0FFh, 11h, 00h 31E4:C68D 78 00 3E 01 FF FF db 78h, 00h, 3Eh, 01h,0FFh,0FFh 31E4:C693 00 00 00 20 57 6D db 00h, 00h, 00h, 20h, 57h, 6Dh 31E4:C699 3C 14 01 00 88 00 db 3Ch, 14h, 01h, 00h, 88h, 00h 31E4:C69F 00 00 00 00 00 FF db 00h, 00h, 00h, 00h, 00h,0FFh 31E4:C6A5 FF 00 00 00 00 01 db 0FFh, 00h, 00h, 00h, 00h, 01h 31E4:C6AB 05 00 00 00 00 C7 db 05h, 00h, 00h, 00h, 00h,0C7h 31E4:C6B1 00 6F 01 40 01 48 db 00h, 6Fh, 01h, 40h, 01h, 48h 31E4:C6B7 01 FF FF 17 10 AD db 01h,0FFh,0FFh, 17h, 10h,0ADh 31E4:C6BD 00 0B 01 ED 00 12 db 00h, 0Bh, 01h,0EDh, 00h, 12h 31E4:C6C3 01 FA 00 09 01 FF db 01h,0FAh, 00h, 09h, 01h,0FFh 31E4:C6C9 FF 15 10 AD 00 0B db 0FFh, 15h, 10h,0ADh, 00h, 0Bh 31E4:C6CF 01 FF FF 00 00 00 db 01h,0FFh,0FFh, 00h, 00h, 00h 31E4:C6D5 20 57 6D 3C 14 02 db 20h, 57h, 6Dh, 3Ch, 14h, 02h 31E4:C6DB 10 88 11 88 00 00 db 10h, 88h, 11h, 88h, 00h, 00h 31E4:C6E1 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:C6E7 00 00 01 0D BA 00 db 00h, 00h, 01h, 0Dh,0BAh, 00h 31E4:C6ED 86 01 90 00 B2 00 db 86h, 01h, 90h, 00h,0B2h, 00h 31E4:C6F3 FB 00 0D 01 FF FF db 0FBh, 00h, 0Dh, 01h,0FFh,0FFh 31E4:C6F9 16 80 13 01 42 01 db 16h, 80h, 13h, 01h, 42h, 01h 31E4:C6FF 8C 01 AA 01 FB 00 db 8Ch, 01h,0AAh, 01h,0FBh, 00h 31E4:C705 0D 01 FF FF 12 00 db 0Dh, 01h,0FFh,0FFh, 12h, 00h 31E4:C70B 73 00 2E 01 FF FF db 73h, 00h, 2Eh, 01h,0FFh,0FFh 31E4:C711 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:C717 3C 14 02 10 88 11 db 3Ch, 14h, 02h, 10h, 88h, 11h 31E4:C71D 88 00 00 00 00 FF db 88h, 00h, 00h, 00h, 00h,0FFh 31E4:C723 FF 00 00 00 00 01 db 0FFh, 00h, 00h, 00h, 00h, 01h 31E4:C729 0D BA 00 86 01 90 db 0Dh,0BAh, 00h, 86h, 01h, 90h 31E4:C72F 00 B2 00 FB 00 0D db 00h,0B2h, 00h,0FBh, 00h, 0Dh 31E4:C735 01 FF FF 12 00 A8 db 01h,0FFh,0FFh, 12h, 00h,0A8h 31E4:C73B 01 34 01 8C 01 AA db 01h, 34h, 01h, 8Ch, 01h,0AAh 31E4:C741 01 FB 00 0D 01 FF db 01h,0FBh, 00h, 0Dh, 01h,0FFh 31E4:C747 FF 19 80 13 01 42 db 0FFh, 19h, 80h, 13h, 01h, 42h 31E4:C74D 01 FF FF 00 00 00 db 01h,0FFh,0FFh, 00h, 00h, 00h 31E4:C753 20 57 6D 3C 14 01 db 20h, 57h, 6Dh, 3Ch, 14h, 01h 31E4:C759 00 88 00 00 00 00 db 00h, 88h, 00h, 00h, 00h, 00h 31E4:C75F 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:C765 00 00 01 05 00 00 db 00h, 00h, 01h, 05h, 00h, 00h 31E4:C76B 00 00 C7 00 6F 01 db 00h, 00h,0C7h, 00h, 6Fh, 01h 31E4:C771 40 01 48 01 FF FF db 40h, 01h, 48h, 01h,0FFh,0FFh 31E4:C777 18 20 77 01 0B 01 db 18h, 20h, 77h, 01h, 0Bh, 01h 31E4:C77D ED 00 12 01 FA 00 db 0EDh, 00h, 12h, 01h,0FAh, 00h 31E4:C783 09 01 FF FF 13 00 db 09h, 01h,0FFh,0FFh, 13h, 00h 31E4:C789 D0 00 42 01 FF FF db 0D0h, 00h, 42h, 01h,0FFh,0FFh 31E4:C78F 00 00 00 00 57 6D db 00h, 00h, 00h, 00h, 57h, 6Dh 31E4:C795 3C 14 02 10 88 11 db 3Ch, 14h, 02h, 10h, 88h, 11h 31E4:C79B 88 00 00 00 00 FF db 88h, 00h, 00h, 00h, 00h,0FFh 31E4:C7A1 FF 00 00 00 00 01 db 0FFh, 00h, 00h, 00h, 00h, 01h 31E4:C7A7 0D BA 00 86 01 90 db 0Dh,0BAh, 00h, 86h, 01h, 90h 31E4:C7AD 00 B2 00 FB 00 0D db 00h,0B2h, 00h,0FBh, 00h, 0Dh 31E4:C7B3 01 FF FF 0C 00 5A db 01h,0FFh,0FFh, 0Ch, 00h, 5Ah 31E4:C7B9 01 34 01 8C 01 AA db 01h, 34h, 01h, 8Ch, 01h,0AAh 31E4:C7BF 01 FB 00 0D 01 FF db 01h,0FBh, 00h, 0Dh, 01h,0FFh 31E4:C7C5 FF 0B 80 13 01 42 db 0FFh, 0Bh, 80h, 13h, 01h, 42h 31E4:C7CB 01 FF FF 00 00 20 db 01h,0FFh,0FFh, 00h, 00h, 20h 31E4:C7D1 00 57 6D 3C 14 03 db 00h, 57h, 6Dh, 3Ch, 14h, 03h 31E4:C7D7 00 9C 01 9C 02 9C db 00h, 9Ch, 01h, 9Ch, 02h, 9Ch 31E4:C7DD 00 00 0F 2C 00 00 db 00h, 00h, 0Fh, 2Ch, 00h, 00h 31E4:C7E3 00 00 02 10 BA 00 db 00h, 00h, 02h, 10h,0BAh, 00h 31E4:C7E9 86 01 F9 00 21 01 db 86h, 01h,0F9h, 00h, 21h, 01h 31E4:C7EF F8 00 0A 01 FF FF db 0F8h, 00h, 0Ah, 01h,0FFh,0FFh 31E4:C7F5 12 10 19 01 F0 00 db 12h, 10h, 19h, 01h,0F0h, 00h 31E4:C7FB FF FF 00 00 20 00 db 0FFh,0FFh, 00h, 00h, 20h, 00h 31E4:C801 57 6D 3C 14 03 00 db 57h, 6Dh, 3Ch, 14h, 03h, 00h 31E4:C807 9D 01 9D 02 9D 00 db 9Dh, 01h, 9Dh, 02h, 9Dh, 00h 31E4:C80D 00 08 2C 00 00 00 db 00h, 08h, 2Ch, 00h, 00h, 00h 31E4:C813 00 02 11 BA 00 86 db 00h, 02h, 11h,0BAh, 00h, 86h 31E4:C819 01 99 00 B7 00 42 db 01h, 99h, 00h,0B7h, 00h, 42h 31E4:C81F 01 54 01 FF FF 11 db 01h, 54h, 01h,0FFh,0FFh, 11h 31E4:C825 00 4D 01 20 01 FF db 00h, 4Dh, 01h, 20h, 01h,0FFh 31E4:C82B FF 00 00 20 00 57 db 0FFh, 00h, 00h, 20h, 00h, 57h 31E4:C831 6D 3C 14 02 00 9E db 6Dh, 3Ch, 14h, 02h, 00h, 9Eh 31E4:C837 01 9E 00 00 00 00 db 01h, 9Eh, 00h, 00h, 00h, 00h 31E4:C83D FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:C843 02 13 00 00 00 00 db 02h, 13h, 00h, 00h, 00h, 00h 31E4:C849 B4 00 30 01 32 01 db 0B4h, 00h, 30h, 01h, 32h, 01h 31E4:C84F 40 01 FF FF 13 00 db 40h, 01h,0FFh,0FFh, 13h, 00h 31E4:C855 72 01 10 01 FF FF db 72h, 01h, 10h, 01h,0FFh,0FFh 31E4:C85B 00 00 20 00 57 6D db 00h, 00h, 20h, 00h, 57h, 6Dh 31E4:C861 3C 14 02 00 9F 01 db 3Ch, 14h, 02h, 00h, 9Fh, 01h 31E4:C867 9F 00 00 00 00 FF db 9Fh, 00h, 00h, 00h, 00h,0FFh 31E4:C86D FF 00 00 00 00 02 db 0FFh, 00h, 00h, 00h, 00h, 02h 31E4:C873 12 00 00 00 00 38 db 12h, 00h, 00h, 00h, 00h, 38h 31E4:C879 01 86 01 3C 01 40 db 01h, 86h, 01h, 3Ch, 01h, 40h 31E4:C87F 01 FF FF 0E 00 F7 db 01h,0FFh,0FFh, 0Eh, 00h,0F7h 31E4:C885 00 02 01 FF FF 00 db 00h, 02h, 01h,0FFh,0FFh, 00h 31E4:C88B 00 20 00 57 6D 3C db 00h, 20h, 00h, 57h, 6Dh, 3Ch 31E4:C891 14 02 00 A4 01 A4 db 14h, 02h, 00h,0A4h, 01h,0A4h 31E4:C897 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 31E4:C89D 00 00 00 00 02 12 db 00h, 00h, 00h, 00h, 02h, 12h 31E4:C8A3 00 00 00 00 80 00 db 00h, 00h, 00h, 00h, 80h, 00h 31E4:C8A9 8C 00 FB 00 09 01 db 8Ch, 00h,0FBh, 00h, 09h, 01h 31E4:C8AF FF FF 14 40 44 01 db 0FFh,0FFh, 14h, 40h, 44h, 01h 31E4:C8B5 FB 00 FF FF 00 00 db 0FBh, 00h,0FFh,0FFh, 00h, 00h 31E4:C8BB 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C8C1 02 00 A0 01 A0 00 db 02h, 00h,0A0h, 01h,0A0h, 00h 31E4:C8C7 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:C8CD 00 00 00 02 12 00 db 00h, 00h, 00h, 02h, 12h, 00h 31E4:C8D3 00 00 00 AA 00 C6 db 00h, 00h, 00h,0AAh, 00h,0C6h 31E4:C8D9 00 44 01 5E 01 FF db 00h, 44h, 01h, 5Eh, 01h,0FFh 31E4:C8DF FF 0C 00 A1 00 EA db 0FFh, 0Ch, 00h,0A1h, 00h,0EAh 31E4:C8E5 00 FF FF 00 00 20 db 00h,0FFh,0FFh, 00h, 00h, 20h 31E4:C8EB 00 57 6D 3C 14 02 db 00h, 57h, 6Dh, 3Ch, 14h, 02h 31E4:C8F1 00 A2 01 A2 00 00 db 00h,0A2h, 01h,0A2h, 00h, 00h 31E4:C8F7 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 31E4:C8FD 00 00 02 15 00 00 db 00h, 00h, 02h, 15h, 00h, 00h 31E4:C903 00 00 C1 00 E0 00 db 00h, 00h,0C1h, 00h,0E0h, 00h 31E4:C909 30 01 3C 01 FF FF db 30h, 01h, 3Ch, 01h,0FFh,0FFh 31E4:C90F 0A 00 03 01 15 01 db 0Ah, 00h, 03h, 01h, 15h, 01h 31E4:C915 FF FF 00 00 20 00 db 0FFh,0FFh, 00h, 00h, 20h, 00h 31E4:C91B 57 6D 3C 14 02 00 db 57h, 6Dh, 3Ch, 14h, 02h, 00h 31E4:C921 A3 01 A3 02 A3 00 db 0A3h, 01h,0A3h, 02h,0A3h, 00h 31E4:C927 00 FF FF 00 00 00 db 00h,0FFh,0FFh, 00h, 00h, 00h 31E4:C92D 00 02 15 00 00 00 db 00h, 02h, 15h, 00h, 00h, 00h 31E4:C933 00 41 01 70 01 41 db 00h, 41h, 01h, 70h, 01h, 41h 31E4:C939 01 54 01 FF FF 13 db 01h, 54h, 01h,0FFh,0FFh, 13h 31E4:C93F 00 9C 00 0A 01 FF db 00h, 9Ch, 00h, 0Ah, 01h,0FFh 31E4:C945 FF 00 00 20 00 57 db 0FFh, 00h, 00h, 20h, 00h, 57h 31E4:C94B 6D 3C 14 02 00 66 db 6Dh, 3Ch, 14h, 02h, 00h, 66h 31E4:C951 01 66 00 00 00 00 db 01h, 66h, 00h, 00h, 00h, 00h 31E4:C957 91 0E 00 00 00 00 db 91h, 0Eh, 00h, 00h, 00h, 00h 31E4:C95D 03 12 00 00 00 00 db 03h, 12h, 00h, 00h, 00h, 00h 31E4:C963 80 00 9B 00 FA 00 db 80h, 00h, 9Bh, 00h,0FAh, 00h 31E4:C969 18 01 FF FF 27 00 db 18h, 01h,0FFh,0FFh, 27h, 00h 31E4:C96F 86 01 13 01 2C 01 db 86h, 01h, 13h, 01h, 2Ch, 01h 31E4:C975 5E 01 42 01 4A 01 db 5Eh, 01h, 42h, 01h, 4Ah, 01h 31E4:C97B F2 0E FF FF 00 00 db 0F2h, 0Eh,0FFh,0FFh, 00h, 00h 31E4:C981 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:C987 02 00 67 01 67 00 db 02h, 00h, 67h, 01h, 67h, 00h 31E4:C98D 00 00 00 05 02 00 db 00h, 00h, 00h, 05h, 02h, 00h 31E4:C993 00 00 00 03 12 00 db 00h, 00h, 00h, 03h, 12h, 00h 31E4:C999 00 00 00 A2 01 C7 db 00h, 00h, 00h,0A2h, 01h,0C7h 31E4:C99F 01 04 01 18 01 FF db 01h, 04h, 01h, 18h, 01h,0FFh 31E4:C9A5 FF 26 00 9F 00 13 db 0FFh, 26h, 00h, 9Fh, 00h, 13h 31E4:C9AB 01 80 00 9B 00 FA db 01h, 80h, 00h, 9Bh, 00h,0FAh 31E4:C9B1 00 18 01 FF FF 28 db 00h, 18h, 01h,0FFh,0FFh, 28h 31E4:C9B7 00 86 01 13 01 FF db 00h, 86h, 01h, 13h, 01h,0FFh 31E4:C9BD FF 00 00 20 00 57 db 0FFh, 00h, 00h, 20h, 00h, 57h 31E4:C9C3 6D 3C 14 02 00 68 db 6Dh, 3Ch, 14h, 02h, 00h, 68h 31E4:C9C9 01 68 00 00 00 00 db 01h, 68h, 00h, 00h, 00h, 00h 31E4:C9CF FF FF 00 00 00 00 db 0FFh,0FFh, 00h, 00h, 00h, 00h 31E4:C9D5 03 12 00 00 00 00 db 03h, 12h, 00h, 00h, 00h, 00h 31E4:C9DB A2 01 C7 01 04 01 db 0A2h, 01h,0C7h, 01h, 04h, 01h 31E4:C9E1 18 01 FF FF 27 00 db 18h, 01h,0FFh,0FFh, 27h, 00h 31E4:C9E7 9F 00 13 01 80 00 db 9Fh, 00h, 13h, 01h, 80h, 00h 31E4:C9ED 9B 00 FA 00 18 01 db 9Bh, 00h,0FAh, 00h, 18h, 01h 31E4:C9F3 FF FF 05 00 86 01 db 0FFh,0FFh, 05h, 00h, 86h, 01h 31E4:C9F9 13 01 FF FF 00 00 db 13h, 01h,0FFh,0FFh, 00h, 00h 31E4:C9FF 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:CA05 02 00 46 01 46 00 db 02h, 00h, 46h, 01h, 46h, 00h 31E4:CA0B 00 00 00 FF FF 00 db 00h, 00h, 00h,0FFh,0FFh, 00h 31E4:CA11 00 00 00 03 12 00 db 00h, 00h, 00h, 03h, 12h, 00h 31E4:CA17 00 00 00 A2 01 C7 db 00h, 00h, 00h,0A2h, 01h,0C7h 31E4:CA1D 01 04 01 18 01 FF db 01h, 04h, 01h, 18h, 01h,0FFh 31E4:CA23 FF 28 00 9F 00 13 db 0FFh, 28h, 00h, 9Fh, 00h, 13h 31E4:CA29 01 29 01 51 01 E6 db 01h, 29h, 01h, 51h, 01h,0E6h 31E4:CA2F 00 F7 00 FF FF 06 db 00h,0F7h, 00h,0FFh,0FFh, 06h 31E4:CA35 20 96 01 1B 01 FF db 20h, 96h, 01h, 1Bh, 01h,0FFh 31E4:CA3B FF 00 00 20 00 57 db 0FFh, 00h, 00h, 20h, 00h, 57h 31E4:CA41 6D 3C 14 02 00 45 db 6Dh, 3Ch, 14h, 02h, 00h, 45h 31E4:CA47 01 45 00 00 00 00 db 01h, 45h, 00h, 00h, 00h, 00h 31E4:CA4D B1 01 FF FF 0F 00 db 0B1h, 01h,0FFh,0FFh, 0Fh, 00h 31E4:CA53 03 12 00 00 00 00 db 03h, 12h, 00h, 00h, 00h, 00h 31E4:CA59 A2 01 C7 01 04 01 db 0A2h, 01h,0C7h, 01h, 04h, 01h 31E4:CA5F 18 01 FF FF 05 40 db 18h, 01h,0FFh,0FFh, 05h, 40h 31E4:CA65 32 01 04 01 80 00 db 32h, 01h, 04h, 01h, 80h, 00h 31E4:CA6B 9B 00 FA 00 18 01 db 9Bh, 00h,0FAh, 00h, 18h, 01h 31E4:CA71 FF FF 29 00 86 01 db 0FFh,0FFh, 29h, 00h, 86h, 01h 31E4:CA77 13 01 FF FF 00 00 db 13h, 01h,0FFh,0FFh, 00h, 00h 31E4:CA7D 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:CA83 02 00 69 01 69 00 db 02h, 00h, 69h, 01h, 69h, 00h 31E4:CA89 00 00 00 FF FF FF db 00h, 00h, 00h,0FFh,0FFh,0FFh 31E4:CA8F FF 0F 00 03 12 00 db 0FFh, 0Fh, 00h, 03h, 12h, 00h 31E4:CA95 00 00 00 A2 01 C7 db 00h, 00h, 00h,0A2h, 01h,0C7h 31E4:CA9B 01 04 01 18 01 FF db 01h, 04h, 01h, 18h, 01h,0FFh 31E4:CAA1 FF 06 00 8F 00 1B db 0FFh, 06h, 00h, 8Fh, 00h, 1Bh 31E4:CAA7 01 FF FF 00 00 20 db 01h,0FFh,0FFh, 00h, 00h, 20h 31E4:CAAD 00 57 6D 3C 14 03 db 00h, 57h, 6Dh, 3Ch, 14h, 03h 31E4:CAB3 00 EA 01 EA 02 EA db 00h,0EAh, 01h,0EAh, 02h,0EAh 31E4:CAB9 00 00 51 00 FF FF db 00h, 00h, 51h, 00h,0FFh,0FFh 31E4:CABF 0F 00 04 12 00 00 db 0Fh, 00h, 04h, 12h, 00h, 00h 31E4:CAC5 00 00 B4 01 C7 01 db 00h, 00h,0B4h, 01h,0C7h, 01h 31E4:CACB 20 01 34 01 FF FF db 20h, 01h, 34h, 01h,0FFh,0FFh 31E4:CAD1 2B 00 7F 00 1D 01 db 2Bh, 00h, 7Fh, 00h, 1Dh, 01h 31E4:CAD7 FF FF 00 00 20 00 db 0FFh,0FFh, 00h, 00h, 20h, 00h 31E4:CADD 57 6D 3C 14 02 00 db 57h, 6Dh, 3Ch, 14h, 02h, 00h 31E4:CAE3 EB 01 EB 00 00 00 db 0EBh, 01h,0EBh, 00h, 00h, 00h 31E4:CAE9 00 FF FF FF FF 0F db 00h,0FFh,0FFh,0FFh,0FFh, 0Fh 31E4:CAEF 00 04 12 00 00 00 db 00h, 04h, 12h, 00h, 00h, 00h 31E4:CAF5 00 7F 00 8D 00 08 db 00h, 7Fh, 00h, 8Dh, 00h, 08h 31E4:CAFB 01 34 0B FF FF 2A db 01h, 34h, 0Bh,0FFh,0FFh, 2Ah 31E4:CB01 00 A4 01 32 01 B7 db 00h,0A4h, 01h, 32h, 01h,0B7h 31E4:CB07 01 C7 01 09 01 1E db 01h,0C7h, 01h, 09h, 01h, 1Eh 31E4:CB0D 01 FF FF 2C 80 0A db 01h,0FFh,0FFh, 2Ch, 80h, 0Ah 31E4:CB13 01 40 01 FF FF 00 db 01h, 40h, 01h,0FFh,0FFh, 00h 31E4:CB19 00 00 00 57 6D 3C db 00h, 00h, 00h, 57h, 6Dh, 3Ch 31E4:CB1F 14 03 00 EC 01 EC db 14h, 03h, 00h,0ECh, 01h,0ECh 31E4:CB25 02 EC 00 00 FF FF db 02h,0ECh, 00h, 00h,0FFh,0FFh 31E4:CB2B FF FF 0F 00 04 12 db 0FFh,0FFh, 0Fh, 00h, 04h, 12h 31E4:CB31 00 00 00 00 09 01 db 00h, 00h, 00h, 00h, 09h, 01h 31E4:CB37 2C 01 44 01 4A 01 db 2Ch, 01h, 44h, 01h, 4Ah, 01h 31E4:CB3D FF FF 2B 20 A4 01 db 0FFh,0FFh, 2Bh, 20h,0A4h, 01h 31E4:CB43 1A 01 D0 00 F0 00 db 1Ah, 01h,0D0h, 00h,0F0h, 00h 31E4:CB49 EE 00 FB 00 FF FF db 0EEh, 00h,0FBh, 00h,0FFh,0FFh 31E4:CB4F 2D 10 A0 00 C8 00 db 2Dh, 10h,0A0h, 00h,0C8h, 00h 31E4:CB55 6A 01 88 01 F0 00 db 6Ah, 01h, 88h, 01h,0F0h, 00h 31E4:CB5B F9 00 FF FF 2D 10 db 0F9h, 00h,0FFh,0FFh, 2Dh, 10h 31E4:CB61 87 00 3C 01 FF FF db 87h, 00h, 3Ch, 01h,0FFh,0FFh 31E4:CB67 00 00 20 00 57 6D db 00h, 00h, 20h, 00h, 57h, 6Dh 31E4:CB6D 3C 14 03 00 ED 01 db 3Ch, 14h, 03h, 00h,0EDh, 01h 31E4:CB73 ED 02 ED 03 ED FF db 0EDh, 02h,0EDh, 03h,0EDh,0FFh 31E4:CB79 FF FF FF 0F 00 04 db 0FFh,0FFh,0FFh, 0Fh, 00h, 04h 31E4:CB7F 12 00 00 00 00 9A db 12h, 00h, 00h, 00h, 00h, 9Ah 31E4:CB85 00 AE 00 C0 00 CC db 00h,0AEh, 00h,0C0h, 00h,0CCh 31E4:CB8B 00 FF FF 2C 40 D3 db 00h,0FFh,0FFh, 2Ch, 40h,0D3h 31E4:CB91 00 02 01 BF 01 F4 db 00h, 02h, 01h,0BFh, 01h,0F4h 31E4:CB97 01 C0 00 CC 00 FF db 01h,0C0h, 00h,0CCh, 00h,0FFh 31E4:CB9D FF 2E 00 71 00 C8 db 0FFh, 2Eh, 00h, 71h, 00h,0C8h 31E4:CBA3 00 80 00 8B 00 2C db 00h, 80h, 00h, 8Bh, 00h, 2Ch 31E4:CBA9 01 5E 01 FF FF 2C db 01h, 5Eh, 01h,0FFh,0FFh, 2Ch 31E4:CBAF 40 6E 01 07 01 BF db 40h, 6Eh, 01h, 07h, 01h,0BFh 31E4:CBB5 01 F4 01 11 01 36 db 01h,0F4h, 01h, 11h, 01h, 36h 31E4:CBBB 01 FF FF 2E 00 71 db 01h,0FFh,0FFh, 2Eh, 00h, 71h 31E4:CBC1 00 2F 01 CA 00 F0 db 00h, 2Fh, 01h,0CAh, 00h,0F0h 31E4:CBC7 00 22 01 47 01 15 db 00h, 22h, 01h, 47h, 01h, 15h 31E4:CBCD 1E FF FF 00 00 00 db 1Eh,0FFh,0FFh, 00h, 00h, 00h 31E4:CBD3 00 57 6D 3C 14 03 db 00h, 57h, 6Dh, 3Ch, 14h, 03h 31E4:CBD9 00 EE 01 EE 02 EE db 00h,0EEh, 01h,0EEh, 02h,0EEh 31E4:CBDF 03 EE D3 04 FF FF db 03h,0EEh,0D3h, 04h,0FFh,0FFh 31E4:CBE5 0F 00 04 12 00 00 db 0Fh, 00h, 04h, 12h, 00h, 00h 31E4:CBEB 00 00 7F 00 84 00 db 00h, 00h, 7Fh, 00h, 84h, 00h 31E4:CBF1 C0 00 CC 00 FF FF db 0C0h, 00h,0CCh, 00h,0FFh,0FFh 31E4:CBF7 2D 00 AA 01 C8 00 db 2Dh, 00h,0AAh, 01h,0C8h, 00h 31E4:CBFD 7F 00 84 00 11 01 db 7Fh, 00h, 84h, 00h, 11h, 01h 31E4:CC03 36 01 FF FF 2D 00 db 36h, 01h,0FFh,0FFh, 2Dh, 00h 31E4:CC09 AA 01 2F 01 A1 01 db 0AAh, 01h, 2Fh, 01h,0A1h, 01h 31E4:CC0F B8 01 2F 01 40 01 db 0B8h, 01h, 2Fh, 01h, 40h, 01h 31E4:CC15 FF FF 30 00 AA 00 db 0FFh,0FFh, 30h, 00h,0AAh, 00h 31E4:CC1B 12 01 00 01 22 01 db 12h, 01h, 00h, 01h, 22h, 01h 31E4:CC21 A0 00 BC 00 90 05 db 0A0h, 00h,0BCh, 00h, 90h, 05h 31E4:CC27 FF FF 00 00 20 00 db 0FFh,0FFh, 00h, 00h, 20h, 00h 31E4:CC2D 57 6D 3C 14 02 00 db 57h, 6Dh, 3Ch, 14h, 02h, 00h 31E4:CC33 F0 01 F0 00 00 00 db 0F0h, 01h,0F0h, 00h, 00h, 00h 31E4:CC39 00 FF FF 00 00 00 db 00h,0FFh,0FFh, 00h, 00h, 00h 31E4:CC3F 00 01 12 00 00 00 db 00h, 01h, 12h, 00h, 00h, 00h 31E4:CC45 00 80 00 8C 00 31 db 00h, 80h, 00h, 8Ch, 00h, 31h 31E4:CC4B 01 36 01 FF FF 2E db 01h, 36h, 01h,0FFh,0FFh, 2Eh 31E4:CC51 40 07 01 CF 00 B6 db 40h, 07h, 01h,0CFh, 00h,0B6h 31E4:CC57 01 C2 01 31 01 4A db 01h,0C2h, 01h, 31h, 01h, 4Ah 31E4:CC5D 01 FF FF 2E 40 07 db 01h,0FFh,0FFh, 2Eh, 40h, 07h 31E4:CC63 01 CF 00 FF FF 00 db 01h,0CFh, 00h,0FFh,0FFh, 00h 31E4:CC69 00 20 00 57 6D 3C db 00h, 20h, 00h, 57h, 6Dh, 3Ch 31E4:CC6F 14 02 00 EF 01 EF db 14h, 02h, 00h,0EFh, 01h,0EFh 31E4:CC75 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 31E4:CC7B 00 00 00 00 04 12 db 00h, 00h, 00h, 00h, 04h, 12h 31E4:CC81 00 00 00 00 A6 00 db 00h, 00h, 00h, 00h,0A6h, 00h 31E4:CC87 B5 00 07 01 10 01 db 0B5h, 00h, 07h, 01h, 10h, 01h 31E4:CC8D FF FF 2E 00 83 01 db 0FFh,0FFh, 2Eh, 00h, 83h, 01h 31E4:CC93 38 01 FF FF 00 00 db 38h, 01h,0FFh,0FFh, 00h, 00h 31E4:CC99 20 00 57 6D 3C 14 db 20h, 00h, 57h, 6Dh, 3Ch, 14h 31E4:CC9F 02 00 F2 01 F2 00 db 02h, 00h,0F2h, 01h,0F2h, 00h 31E4:CCA5 00 00 00 DE 01 FF db 00h, 00h, 00h,0DEh, 01h,0FFh 31E4:CCAB FF 0F 00 01 12 00 db 0FFh, 0Fh, 00h, 01h, 12h, 00h 31E4:CCB1 00 00 00 80 00 8C db 00h, 00h, 00h, 80h, 00h, 8Ch 31E4:CCB7 00 31 01 4A 01 AD db 00h, 31h, 01h, 4Ah, 01h,0ADh 31E4:CCBD 01 FF FF 00 00 00 db 01h,0FFh,0FFh, 00h, 00h, 00h 31E4:CCC3 00 57 6D 00 00 01 db 00h, 57h, 6Dh, 00h, 00h, 01h 31E4:CCC9 00 78 00 00 00 00 db 00h, 78h, 00h, 00h, 00h, 00h 31E4:CCCF 00 00 FF FF FF FF db 00h, 00h,0FFh,0FFh,0FFh,0FFh 31E4:CCD5 0F 00 01 12 00 00 db 0Fh, 00h, 01h, 12h, 00h, 00h 31E4:CCDB 00 00 FF FF 00 db 00h, 00h,0FFh,0FFh, 00h 31E4:CCE0 0014[00] talk_character_buffer db 20 dup (0) 31E4:CCF4 012C[00] talk_text_buffer db 300 dup (0) 31E4:CE20 05 game_flags db 5 31E4:CE21 00 00 db 0, 0 31E4:CE23 000D[00] db 13 dup (0) 31E4:CE30 loc_2362: ; xref 31E4:CEA5 31E4:CE30 11 27 room_exit_joins_table dw 2711h ; Res Id for Cell Door #1 31E4:CE32 03 03 dw 0303h ; Result 1 31E4:CE34 0A 09 dw 090Ah 31E4:CE36 12 27 dw 2712h ; Res Id for Cell Door #2 31E4:CE38 03 04 dw 0403h ; Result 2 31E4:CE3A 0A 09 or cl,[bx+di] 31E4:CE3C 01 38 add [bx+si],di 31E4:CE3E 87 70 87 xchg [bx+si-79h],si 31E4:CE41 14 27 adc al,27h ; ''' 31E4:CE43 03 03 add ax,[bp+di] 31E4:CE45 0D 000D or ax,0Dh 31E4:CE48 00 00 add [bx+si],al 31E4:CE4A 00 0A add [bp+si],cl 31E4:CE4C 09 01 or [bx+di],ax 31E4:CE4E AE scasb ; Scan es:[di] for al 31E4:CE4F 87 AE 1587 xchg [bp+1587h],bp 31E4:CE53 27 daa ; Decimal adjust 31E4:CE54 03 04 add ax,[si] 31E4:CE56 0A 17 or dl,[bx] 31E4:CE58 16 push ss 31E4:CE59 27 daa ; Decimal adjust 31E4:CE5A 03 05 add ax,[di] 31E4:CE5C 0A 17 or dl,[bx] 31E4:CE5E 01 E6 add si,sp 31E4:CE60 87 1B xchg [bp+di],bx 31E4:CE62 88 17 mov [bx],dl 31E4:CE64 27 daa ; Decimal adjust 31E4:CE65 03 04 add ax,[si] 31E4:CE67 0A 17 or dl,[bx] 31E4:CE69 18 27 sbb [bx],ah 31E4:CE6B 03 05 add ax,[di] 31E4:CE6D 0A 17 or dl,[bx] 31E4:CE6F 01 AE D888 add [bp-2778h],bp 31E4:CE73 88 19 mov [bx+di],bl 31E4:CE75 27 daa ; Decimal adjust 31E4:CE76 03 04 add ax,[si] 31E4:CE78 0A 17 or dl,[bx] 31E4:CE7A 1A 27 sbb ah,[bx] 31E4:CE7C 03 05 add ax,[di] 31E4:CE7E 0A 17 or dl,[bx] 31E4:CE80 01 10 add [bx+si],dx 31E4:CE82 89 69 8A mov [bx+di-76h],bp 31E4:CE85 1E push ds 31E4:CE86 27 daa ; Decimal adjust 31E4:CE87 03 04 add ax,[si] 31E4:CE89 0A 17 or dl,[bx] 31E4:CE8B 29 27 sub [bx],sp 31E4:CE8D 03 04 add ax,[si] 31E4:CE8F 0A 17 or dl,[bx] 31E4:CE91 01 A4 CE8A add ds:data_59e[si],sp ; (0000:CE8A=301Eh) 31E4:CE95 8A 1F mov bl,[bx] 31E4:CE97 27 daa ; Decimal adjust 31E4:CE98 03 05 add ax,[di] 31E4:CE9A 0A 17 or dl,[bx] 31E4:CE9C 20 27 and [bx],ah 31E4:CE9E 03 05 add ax,[di] 31E4:CEA0 0A 17 or dl,[bx] 31E4:CEA2 01 4B 89 add [bp+di-77h],cx 31E4:CEA5 75 89 jnz loc_2362 ; Jump if not zero 31E4:CEA7 21 27 and [bx],sp 31E4:CEA9 03 05 add ax,[di] 31E4:CEAB 0A 17 or dl,[bx] 31E4:CEAD 22 27 and ah,[bx] 31E4:CEAF 03 05 add ax,[di] 31E4:CEB1 0A 17 or dl,[bx] 31E4:CEB3 01 B0 DA89 add ds:data_60e[bx+si],si ; (0000:DA89=52F9h) 31E4:CEB7 89 25 mov [di],sp 31E4:CEB9 27 daa ; Decimal adjust 31E4:CEBA 03 05 add ax,[di] 31E4:CEBC 0A 17 or dl,[bx] 31E4:CEBE 26 27 03 04 0A 17 db 26h, 27h, 03h, 04h, 0Ah, 17h 31E4:CEC4 01 15 8A 3F 8A 2A db 01h, 15h, 8Ah, 3Fh, 8Ah, 2Ah 31E4:CECA 27 03 05 00 00 2B db 27h, 03h, 05h, 00h, 00h, 2Bh 31E4:CED0 27 03 05 00 00 01 db 27h, 03h, 05h, 00h, 00h, 01h 31E4:CED6 09 8B 33 8B 2C 27 db 09h, 8Bh, 33h, 8Bh, 2Ch, 27h 31E4:CEDC 03 05 00 00 2D 27 db 03h, 05h, 00h, 00h, 2Dh, 27h 31E4:CEE2 03 05 00 00 01 5D db 03h, 05h, 00h, 00h, 01h, 5Dh 31E4:CEE8 8B 87 8B 2E 27 03 db 8Bh, 87h, 8Bh, 2Eh, 27h, 03h 31E4:CEEE 05 00 00 2F 27 03 db 05h, 00h, 00h, 2Fh, 27h, 03h 31E4:CEF4 05 00 00 01 B1 8B db 05h, 00h, 00h, 01h,0B1h, 8Bh 31E4:CEFA DB 8B 00 db 0DBh, 8Bh, 00h 31E4:CEFD 0005[00] db 5 dup (0) 31E4:CF02 0000 talk_response_ptr dw 0 31E4:CF04 0000 talk_next_talk_offset dw 0 31E4:CF06 0000 talk_to_hotspot_ptr dw 0 31E4:CF08 0000 talk_state dw 0 31E4:CF09 00 talk_line_num db 0 31E4:CF0A 00 talk_selected_line db 0 31E4:CF0B 00 talk_cf0b db 0 31E4:CF0C 0008 talk_entry_list db 8 dup (0) 31E4:CF14 3A CF 00 80 24 04 db 3Ah,0CFh, 00h, 80h, 24h, 04h 31E4:CF1A 00 00 00 80 FB 00 db 00h, 00h, 00h, 80h,0FBh, 00h 31E4:CF20 01 00 00 80 F9 00 db 01h, 00h, 00h, 80h,0F9h, 00h 31E4:CF26 02 00 00 80 FC 00 db 02h, 00h, 00h, 80h,0FCh, 00h 31E4:CF2C 03 00 00 80 FE 00 db 03h, 00h, 00h, 80h,0FEh, 00h 31E4:CF32 04 00 00 80 24 04 db 04h, 00h, 00h, 80h, 24h, 04h 31E4:CF38 05 00 00 00 FA 00 db 05h, 00h, 00h, 00h,0FAh, 00h 31E4:CF3E 01 00 0B 20 00 01 db 01h, 00h, 0Bh, 20h, 00h, 01h 31E4:CF44 02 00 00 00 FF 00 db 02h, 00h, 00h, 00h,0FFh, 00h 31E4:CF4A 03 00 00 00 01 01 db 03h, 00h, 00h, 00h, 01h, 01h 31E4:CF50 04 00 00 00 94 00 db 04h, 00h, 00h, 00h, 94h, 00h 31E4:CF56 05 00 E9 1F 24 04 db 05h, 00h,0E9h, 1Fh, 24h, 04h 31E4:CF5C FF FF 78 CF 00 80 db 0FFh,0FFh, 78h,0CFh, 00h, 80h 31E4:CF62 24 04 00 00 00 80 db 24h, 04h, 00h, 00h, 00h, 80h 31E4:CF68 78 0A 01 00 00 80 db 78h, 0Ah, 01h, 00h, 00h, 80h 31E4:CF6E 24 04 02 00 00 80 db 24h, 04h, 02h, 00h, 00h, 80h 31E4:CF74 24 04 03 00 00 00 db 24h, 04h, 03h, 00h, 00h, 00h 31E4:CF7A 77 0A 01 00 00 00 db 77h, 0Ah, 01h, 00h, 00h, 00h 31E4:CF80 40 0B 02 00 00 00 db 40h, 0Bh, 02h, 00h, 00h, 00h 31E4:CF86 41 0B 03 00 7E 29 db 41h, 0Bh, 03h, 00h, 7Eh, 29h 31E4:CF8C 24 04 FF FF 9E CF db 24h, 04h,0FFh,0FFh, 9Eh,0CFh 31E4:CF92 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:CF98 00 80 24 04 01 00 db 00h, 80h, 24h, 04h, 01h, 00h 31E4:CF9E 00 00 24 04 01 00 db 00h, 00h, 24h, 04h, 01h, 00h 31E4:CFA4 60 2A 24 04 FF FF db 60h, 2Ah, 24h, 04h,0FFh,0FFh 31E4:CFAA BE CF 00 80 24 04 db 0BEh,0CFh, 00h, 80h, 24h, 04h 31E4:CFB0 00 00 00 80 24 04 db 00h, 00h, 00h, 80h, 24h, 04h 31E4:CFB6 01 00 00 80 24 04 db 01h, 00h, 00h, 80h, 24h, 04h 31E4:CFBC 02 00 00 00 BD 0B db 02h, 00h, 00h, 00h,0BDh, 0Bh 31E4:CFC2 01 00 00 00 BE 0B db 01h, 00h, 00h, 00h,0BEh, 0Bh 31E4:CFC8 02 00 00 00 BF 0B db 02h, 00h, 00h, 00h,0BFh, 0Bh 31E4:CFCE FF FF E4 CF 00 80 db 0FFh,0FFh,0E4h,0CFh, 00h, 80h 31E4:CFD4 24 04 00 00 00 80 db 24h, 04h, 00h, 00h, 00h, 80h 31E4:CFDA EC 0B 01 00 00 80 db 0ECh, 0Bh, 01h, 00h, 00h, 80h 31E4:CFE0 EE 0B 02 00 00 00 db 0EEh, 0Bh, 02h, 00h, 00h, 00h 31E4:CFE6 EB 0B 01 00 00 00 db 0EBh, 0Bh, 01h, 00h, 00h, 00h 31E4:CFEC ED 0B 02 00 00 00 db 0EDh, 0Bh, 02h, 00h, 00h, 00h 31E4:CFF2 EF 0B FF FF 04 D0 db 0EFh, 0Bh,0FFh,0FFh, 04h,0D0h 31E4:CFF8 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:CFFE 00 80 24 04 01 00 db 00h, 80h, 24h, 04h, 01h, 00h 31E4:D004 00 00 17 0B 01 00 db 00h, 00h, 17h, 0Bh, 01h, 00h 31E4:D00A 06 19 24 04 FF FF db 06h, 19h, 24h, 04h,0FFh,0FFh 31E4:D010 18 D0 00 80 D5 07 db 18h,0D0h, 00h, 80h,0D5h, 07h 31E4:D016 00 00 73 2A 10 0C db 00h, 00h, 73h, 2Ah, 10h, 0Ch 31E4:D01C FF FF 26 D0 00 80 db 0FFh,0FFh, 26h,0D0h, 00h, 80h 31E4:D022 F9 07 00 00 00 00 db 0F9h, 07h, 00h, 00h, 00h, 00h 31E4:D028 13 0C FF FF 46 D0 db 13h, 0Ch,0FFh,0FFh, 46h,0D0h 31E4:D02E 00 80 FB 07 00 00 db 00h, 80h,0FBh, 07h, 00h, 00h 31E4:D034 00 80 16 0C 01 00 db 00h, 80h, 16h, 0Ch, 01h, 00h 31E4:D03A 00 80 18 0C 02 00 db 00h, 80h, 18h, 0Ch, 02h, 00h 31E4:D040 00 80 1A db 00h, 80h, 1Ah 31E4:D043 0C db 0Ch 31E4:D044 loc_2363: 31E4:D044 03 00 add ax,[bx+si] 31E4:D046 00 00 add [bx+si],al 31E4:D048 15 010C adc ax,10Ch 31E4:D04B 00 00 add [bx+si],al 31E4:D04D 00 17 add [bx],dl 31E4:D04F 0C 02 or al,2 31E4:D051 00 00 add [bx+si],al 31E4:D053 00 19 add [bx+di],bl 31E4:D055 0C 03 or al,3 31E4:D057 00 00 add [bx+si],al 31E4:D059 00 1B add [bp+di],bl 31E4:D05B 0C FF or al,0FFh 31E4:D05D FF 66 D0 jmp word ptr [bp-30h] ;* sub_276 endp 31E4:D060 00 80 29 0A 00 00 db 00h, 80h, 29h, 0Ah, 00h, 00h 31E4:D066 00 00 0D 0C FF FF db 00h, 00h, 0Dh, 0Ch,0FFh,0FFh 31E4:D06C 8C D0 00 00 22 08 db 8Ch,0D0h, 00h, 00h, 22h, 08h 31E4:D072 00 00 00 80 2C 08 db 00h, 00h, 00h, 80h, 2Ch, 08h 31E4:D078 02 00 00 80 29 0C db 02h, 00h, 00h, 80h, 29h, 0Ch 31E4:D07E 01 00 00 80 24 04 db 01h, 00h, 00h, 80h, 24h, 04h 31E4:D084 03 00 00 80 2E 0C db 03h, 00h, 00h, 80h, 2Eh, 0Ch 31E4:D08A 04 00 00 00 28 0C db 04h, 00h, 00h, 00h, 28h, 0Ch 31E4:D090 02 00 00 00 2A 0C db 02h, 00h, 00h, 00h, 2Ah, 0Ch 31E4:D096 FF FF 00 00 2C 0C db 0FFh,0FFh, 00h, 00h, 2Ch, 0Ch 31E4:D09C 03 00 00 00 2D 0C db 03h, 00h, 00h, 00h, 2Dh, 0Ch 31E4:D0A2 04 00 00 00 2F 0C db 04h, 00h, 00h, 00h, 2Fh, 0Ch 31E4:D0A8 FF FF CA D0 00 00 db 0FFh,0FFh,0CAh,0D0h, 00h, 00h 31E4:D0AE 38 88 00 00 00 80 db 38h, 88h, 00h, 00h, 00h, 80h 31E4:D0B4 0F 0C 04 00 00 80 db 0Fh, 0Ch, 04h, 00h, 00h, 80h 31E4:D0BA 1E 0C 01 00 00 80 db 1Eh, 0Ch, 01h, 00h, 00h, 80h 31E4:D0C0 20 0C 02 00 00 80 db 20h, 0Ch, 02h, 00h, 00h, 80h 31E4:D0C6 24 04 03 00 00 00 db 24h, 04h, 03h, 00h, 00h, 00h 31E4:D0CC 1D 0C 02 00 00 00 db 1Dh, 0Ch, 02h, 00h, 00h, 00h 31E4:D0D2 1F 0C 03 00 00 00 db 1Fh, 0Ch, 03h, 00h, 00h, 00h 31E4:D0D8 21 0C 04 00 83 2A db 21h, 0Ch, 04h, 00h, 83h, 2Ah 31E4:D0DE 24 04 FF FF 00 00 db 24h, 04h,0FFh,0FFh, 00h, 00h 31E4:D0E4 12 0C FF FF FC D0 db 12h, 0Ch,0FFh,0FFh,0FCh,0D0h 31E4:D0EA 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:D0F0 00 80 32 0C 01 00 db 00h, 80h, 32h, 0Ch, 01h, 00h 31E4:D0F6 00 80 34 0C 02 00 db 00h, 80h, 34h, 0Ch, 02h, 00h 31E4:D0FC 00 00 31 0C 01 00 db 00h, 00h, 31h, 0Ch, 01h, 00h 31E4:D102 00 00 33 0C 02 00 db 00h, 00h, 33h, 0Ch, 02h, 00h 31E4:D108 00 00 35 0C FF FF db 00h, 00h, 35h, 0Ch,0FFh,0FFh 31E4:D10E 28 D1 00 00 CA 09 db 28h,0D1h, 00h, 00h,0CAh, 09h 31E4:D114 00 00 00 80 0D 0B db 00h, 00h, 00h, 80h, 0Dh, 0Bh 31E4:D11A 02 00 00 80 38 0C db 02h, 00h, 00h, 80h, 38h, 0Ch 31E4:D120 01 00 00 80 3C 0C db 01h, 00h, 00h, 80h, 3Ch, 0Ch 31E4:D126 03 00 00 00 37 0C db 03h, 00h, 00h, 00h, 37h, 0Ch 31E4:D12C 02 00 00 00 39 0C db 02h, 00h, 00h, 00h, 39h, 0Ch 31E4:D132 FF FF 00 00 3B 0C db 0FFh,0FFh, 00h, 00h, 3Bh, 0Ch 31E4:D138 03 00 00 00 3D 0C db 03h, 00h, 00h, 00h, 3Dh, 0Ch 31E4:D13E FF FF 5A D1 69 23 db 0FFh,0FFh, 5Ah,0D1h, 69h, 23h 31E4:D144 03 09 00 00 00 80 db 03h, 09h, 00h, 00h, 00h, 80h 31E4:D14A 27 0C 03 00 00 80 db 27h, 0Ch, 03h, 00h, 00h, 80h 31E4:D150 40 0C 01 00 00 80 db 40h, 0Ch, 01h, 00h, 00h, 80h 31E4:D156 24 04 02 00 00 00 db 24h, 04h, 02h, 00h, 00h, 00h 31E4:D15C 3F 0C 02 00 00 00 db 3Fh, 0Ch, 02h, 00h, 00h, 00h 31E4:D162 41 0C 03 00 00 00 db 41h, 0Ch, 03h, 00h, 00h, 00h 31E4:D168 42 0C FF FF 00 00 db 42h, 0Ch,0FFh,0FFh, 00h, 00h 31E4:D16E 2B 0C FF FF 80 D1 db 2Bh, 0Ch,0FFh,0FFh, 80h,0D1h 31E4:D174 00 80 EF 09 00 00 db 00h, 80h,0EFh, 09h, 00h, 00h 31E4:D17A 00 80 45 0C 01 00 db 00h, 80h, 45h, 0Ch, 01h, 00h 31E4:D180 00 00 44 0C 01 00 db 00h, 00h, 44h, 0Ch, 01h, 00h 31E4:D186 00 00 46 0C FF FF db 00h, 00h, 46h, 0Ch,0FFh,0FFh 31E4:D18C 9A D1 00 80 40 09 db 9Ah,0D1h, 00h, 80h, 40h, 09h 31E4:D192 00 00 00 80 48 0C db 00h, 00h, 00h, 80h, 48h, 0Ch 31E4:D198 01 00 00 00 47 0C db 01h, 00h, 00h, 00h, 47h, 0Ch 31E4:D19E 01 00 00 00 49 0C db 01h, 00h, 00h, 00h, 49h, 0Ch 31E4:D1A4 FF FF B4 D1 00 80 db 0FFh,0FFh,0B4h,0D1h, 00h, 80h 31E4:D1AA 48 09 00 00 00 80 db 48h, 09h, 00h, 00h, 00h, 80h 31E4:D1B0 4B 0C 01 00 00 00 db 4Bh, 0Ch, 01h, 00h, 00h, 00h 31E4:D1B6 4A 0C 01 00 00 00 db 4Ah, 0Ch, 01h, 00h, 00h, 00h 31E4:D1BC 24 04 FF FF CE D1 db 24h, 04h,0FFh,0FFh,0CEh,0D1h 31E4:D1C2 00 80 2E 0B 00 00 db 00h, 80h, 2Eh, 0Bh, 00h, 00h 31E4:D1C8 00 80 4E 0C 01 00 db 00h, 80h, 4Eh, 0Ch, 01h, 00h 31E4:D1CE 00 00 4D 0C 01 00 db 00h, 00h, 4Dh, 0Ch, 01h, 00h 31E4:D1D4 00 00 4F 0C FF FF db 00h, 00h, 4Fh, 0Ch,0FFh,0FFh 31E4:D1DA E2 D1 00 80 92 09 db 0E2h,0D1h, 00h, 80h, 92h, 09h 31E4:D1E0 00 00 00 00 50 0C db 00h, 00h, 00h, 00h, 50h, 0Ch 31E4:D1E6 FF FF F6 D1 00 80 db 0FFh,0FFh,0F6h,0D1h, 00h, 80h 31E4:D1EC 38 0A 00 00 00 80 db 38h, 0Ah, 00h, 00h, 00h, 80h 31E4:D1F2 52 0C 01 00 00 00 db 52h, 0Ch, 01h, 00h, 00h, 00h 31E4:D1F8 51 0C 01 00 00 00 db 51h, 0Ch, 01h, 00h, 00h, 00h 31E4:D1FE 53 0C FF db 53h, 0Ch,0FFh 31E4:D201 0AFF data_1156 dw 0AFFh ; xref 31E4:2A54 31E4:D203 D2 00 80 D5 07 00 db 0D2h, 00h, 80h,0D5h, 07h, 00h 31E4:D209 00 00 00 EC A4 FF db 00h, 00h, 00h,0ECh,0A4h,0FFh 31E4:D20F FF 36 D2 00 00 59 db 0FFh, 36h,0D2h, 00h, 00h, 59h 31E4:D215 89 00 00 00 00 5B db 89h, 00h, 00h, 00h, 00h, 5Bh 31E4:D21B 89 01 00 00 80 F9 db 89h, 01h, 00h, 00h, 80h,0F9h 31E4:D221 07 02 00 db 07h, 02h, 00h 31E4:D224 0007[00] db 7 dup (0) 31E4:D22B 80 24 04 03 00 00 db 80h, 24h, 04h, 03h, 00h, 00h 31E4:D231 80 EF 07 04 00 FC db 80h,0EFh, 07h, 04h, 00h,0FCh 31E4:D237 24 5A 09 00 00 09 db 24h, 5Ah, 09h, 00h, 00h, 09h 31E4:D23D 25 5C 09 04 00 00 db 25h, 5Ch, 09h, 04h, 00h, 00h 31E4:D243 00 5E 09 05 00 00 db 00h, 5Eh, 09h, 05h, 00h, 00h 31E4:D249 00 5D 09 00 00 00 db 00h, 5Dh, 09h, 00h, 00h, 00h 31E4:D24F 00 5F 09 FF FF 7A db 00h, 5Fh, 09h,0FFh,0FFh, 7Ah 31E4:D255 D2 16 25 59 09 00 db 0D2h, 16h, 25h, 59h, 09h, 00h 31E4:D25B 00 1D 25 5B 09 01 db 00h, 1Dh, 25h, 5Bh, 09h, 01h 31E4:D261 00 00 80 FB 07 02 db 00h, 00h, 80h,0FBh, 07h, 02h 31E4:D267 00 db 00h 31E4:D268 0007[00] db 7 dup (0) 31E4:D26F 80 24 04 03 00 00 db 80h, 24h, 04h, 03h, 00h, 00h 31E4:D275 80 76 00 04 00 FC db 80h, 76h, 00h, 04h, 00h,0FCh 31E4:D27B 24 5A 09 00 00 09 db 24h, 5Ah, 09h, 00h, 00h, 09h 31E4:D281 25 5C 09 04 00 00 db 25h, 5Ch, 09h, 04h, 00h, 00h 31E4:D287 00 62 09 05 00 00 db 00h, 62h, 09h, 05h, 00h, 00h 31E4:D28D 00 5D 09 00 00 00 db 00h, 5Dh, 09h, 00h, 00h, 00h 31E4:D293 00 24 04 FF FF B8 db 00h, 24h, 04h,0FFh,0FFh,0B8h 31E4:D299 D2 16 25 59 09 00 db 0D2h, 16h, 25h, 59h, 09h, 00h 31E4:D29F 00 1D 25 5B 09 01 db 00h, 1Dh, 25h, 5Bh, 09h, 01h 31E4:D2A5 00 00 00 22 08 02 db 00h, 00h, 00h, 22h, 08h, 02h 31E4:D2AB 00 00 80 2C 08 04 db 00h, 00h, 80h, 2Ch, 08h, 04h 31E4:D2B1 00 00 80 24 04 03 db 00h, 00h, 80h, 24h, 04h, 03h 31E4:D2B7 00 FC 24 5A 09 00 db 00h,0FCh, 24h, 5Ah, 09h, 00h 31E4:D2BD 00 09 25 5C 09 04 db 00h, 09h, 25h, 5Ch, 09h, 04h 31E4:D2C3 00 00 00 63 09 FF db 00h, 00h, 00h, 63h, 09h,0FFh 31E4:D2C9 FF 00 00 5D 09 00 db 0FFh, 00h, 00h, 5Dh, 09h, 00h 31E4:D2CF 00 00 00 A1 0A FF db 00h, 00h, 00h,0A1h, 0Ah,0FFh 31E4:D2D5 FF F6 D2 16 25 59 db 0FFh,0F6h,0D2h, 16h, 25h, 59h 31E4:D2DB 09 00 00 1D 25 5B db 09h, 00h, 00h, 1Dh, 25h, 5Bh 31E4:D2E1 09 01 00 00 80 38 db 09h, 01h, 00h, 00h, 80h, 38h 31E4:D2E7 08 02 00 db 08h, 02h, 00h 31E4:D2EA 0007[00] db 7 dup (0) 31E4:D2F1 80 24 04 03 00 FC db 80h, 24h, 04h, 03h, 00h,0FCh 31E4:D2F7 24 5A 09 00 00 09 db 24h, 5Ah, 09h, 00h, 00h, 09h 31E4:D2FD 25 5C 09 04 00 00 db 25h, 5Ch, 09h, 04h, 00h, 00h 31E4:D303 00 64 09 FF FF 00 db 00h, 64h, 09h,0FFh,0FFh, 00h 31E4:D309 00 5D 09 00 00 1C db 00h, 5Dh, 09h, 00h, 00h, 1Ch 31E4:D30F D3 00 80 24 04 00 db 0D3h, 00h, 80h, 24h, 04h, 00h 31E4:D315 00 00 80 66 09 01 db 00h, 00h, 80h, 66h, 09h, 01h 31E4:D31B 00 00 00 65 09 01 db 00h, 00h, 00h, 65h, 09h, 01h 31E4:D321 00 00 00 67 09 FF db 00h, 00h, 00h, 67h, 09h,0FFh 31E4:D327 FF 36 D3 00 80 0D db 0FFh, 36h,0D3h, 00h, 80h, 0Dh 31E4:D32D 0B 00 00 00 80 0F db 0Bh, 00h, 00h, 00h, 80h, 0Fh 31E4:D333 0B 01 00 00 00 0E db 0Bh, 01h, 00h, 00h, 00h, 0Eh 31E4:D339 0B 01 00 00 00 10 db 0Bh, 01h, 00h, 00h, 00h, 10h 31E4:D33F 0B FF FF 4A D3 00 db 0Bh,0FFh,0FFh, 4Ah,0D3h, 00h 31E4:D345 80 CA 09 00 00 00 db 80h,0CAh, 09h, 00h, 00h, 00h 31E4:D34B 00 11 0B FF FF 6A db 00h, 11h, 0Bh,0FFh,0FFh, 6Ah 31E4:D351 D3 69 23 03 09 00 db 0D3h, 69h, 23h, 03h, 09h, 00h 31E4:D357 00 00 80 40 09 02 db 00h, 00h, 80h, 40h, 09h, 02h 31E4:D35D 0008[00] db 8 dup (0) 31E4:D365 80 69 09 01 00 00 db 80h, 69h, 09h, 01h, 00h, 00h 31E4:D36B 00 68 09 03 00 00 db 00h, 68h, 09h, 03h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 545 31E4:D371 00 6A 09 FF FF 00 db 00h, 6Ah, 09h,0FFh,0FFh, 00h 31E4:D377 00 D2 09 FF FF 8A db 00h,0D2h, 09h,0FFh,0FFh, 8Ah 31E4:D37D D3 00 80 01 0C 00 db 0D3h, 00h, 80h, 01h, 0Ch, 00h 31E4:D383 00 00 80 03 0C 01 db 00h, 00h, 80h, 03h, 0Ch, 01h 31E4:D389 00 00 00 02 0C 01 db 00h, 00h, 00h, 02h, 0Ch, 01h 31E4:D38F 00 00 00 04 0C FF db 00h, 00h, 00h, 04h, 0Ch,0FFh 31E4:D395 FF AA D3 00 80 48 db 0FFh,0AAh,0D3h, 00h, 80h, 48h 31E4:D39B 09 00 db 09h, 00h 31E4:D39D 0008[00] db 8 dup (0) 31E4:D3A5 80 6C 09 01 00 00 db 80h, 6Ch, 09h, 01h, 00h, 00h 31E4:D3AB 00 6B 09 02 00 00 db 00h, 6Bh, 09h, 02h, 00h, 00h 31E4:D3B1 00 6D 09 FF FF CA db 00h, 6Dh, 09h,0FFh,0FFh,0CAh 31E4:D3B7 D3 00 80 97 09 00 db 0D3h, 00h, 80h, 97h, 09h, 00h 31E4:D3BD 00 db 00h 31E4:D3BE 0007[00] db 7 dup (0) 31E4:D3C5 80 99 09 01 00 00 db 80h, 99h, 09h, 01h, 00h, 00h 31E4:D3CB 00 98 09 02 00 00 db 00h, 98h, 09h, 02h, 00h, 00h 31E4:D3D1 00 9A 09 FF FF E4 db 00h, 9Ah, 09h,0FFh,0FFh,0E4h 31E4:D3D7 D3 00 80 97 09 00 db 0D3h, 00h, 80h, 97h, 09h, 00h 31E4:D3DD 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 31E4:D3E3 00 B7 26 9B 09 FF db 00h,0B7h, 26h, 9Bh, 09h,0FFh 31E4:D3E9 FF F2 D3 00 80 9C db 0FFh,0F2h,0D3h, 00h, 80h, 9Ch 31E4:D3EF 09 00 00 00 00 9D db 09h, 00h, 00h, 00h, 00h, 9Dh 31E4:D3F5 09 FF FF 0C D4 00 db 09h,0FFh,0FFh, 0Ch,0D4h, 00h 31E4:D3FB 00 38 0A 00 00 00 db 00h, 38h, 0Ah, 00h, 00h, 00h 31E4:D401 80 7F 0A 02 00 00 db 80h, 7Fh, 0Ah, 02h, 00h, 00h 31E4:D407 80 7D 0A 01 00 00 db 80h, 7Dh, 0Ah, 01h, 00h, 00h 31E4:D40D 00 7C 0A 02 00 00 db 00h, 7Ch, 0Ah, 02h, 00h, 00h 31E4:D413 00 7E 0A FF FF 00 db 00h, 7Eh, 0Ah,0FFh,0FFh, 00h 31E4:D419 00 80 0A FF FF 26 db 00h, 80h, 0Ah,0FFh,0FFh, 26h 31E4:D41F D4 00 80 D5 07 00 db 0D4h, 00h, 80h,0D5h, 07h, 00h 31E4:D425 00 00 00 94 A4 FF db 00h, 00h, 00h, 94h,0A4h,0FFh 31E4:D42B FF 52 D4 6D 23 36 db 0FFh, 52h,0D4h, 6Dh, 23h, 36h 31E4:D431 09 00 00 00 00 2E db 09h, 00h, 00h, 00h, 00h, 2Eh 31E4:D437 89 03 00 00 80 3A db 89h, 03h, 00h, 00h, 80h, 3Ah 31E4:D43D 09 04 00 db 09h, 04h, 00h 31E4:D440 0007[00] db 7 dup (0) 31E4:D447 80 2B 09 01 00 00 db 80h, 2Bh, 09h, 01h, 00h, 00h 31E4:D44D 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:D453 00 37 09 04 00 00 db 00h, 37h, 09h, 04h, 00h, 00h 31E4:D459 00 38 09 05 00 70 db 00h, 38h, 09h, 05h, 00h, 70h 31E4:D45F 24 24 04 FF FF 00 db 24h, 24h, 04h,0FFh,0FFh, 00h 31E4:D465 00 39 09 FF FF 00 db 00h, 39h, 09h,0FFh,0FFh, 00h 31E4:D46B 00 3B 09 FF FF 90 db 00h, 3Bh, 09h,0FFh,0FFh, 90h 31E4:D471 D4 00 00 6D 0B 08 db 0D4h, 00h, 00h, 6Dh, 0Bh, 08h 31E4:D477 00 00 80 40 09 00 db 00h, 00h, 80h, 40h, 09h, 00h 31E4:D47D 00 00 80 42 09 02 db 00h, 00h, 80h, 42h, 09h, 02h 31E4:D483 00 00 80 24 04 03 db 00h, 00h, 80h, 24h, 04h, 03h 31E4:D489 00 00 80 45 89 04 db 00h, 00h, 80h, 45h, 89h, 04h 31E4:D48F 00 A4 24 41 09 02 db 00h,0A4h, 24h, 41h, 09h, 02h 31E4:D495 00 00 00 4B 09 FF db 00h, 00h, 00h, 4Bh, 09h,0FFh 31E4:D49B FF 00 00 43 09 03 db 0FFh, 00h, 00h, 43h, 09h, 03h 31E4:D4A1 00 00 00 44 09 04 db 00h, 00h, 00h, 44h, 09h, 04h 31E4:D4A7 00 42 2A 46 09 FF db 00h, 42h, 2Ah, 46h, 09h,0FFh 31E4:D4AD FF 00 00 47 09 04 db 0FFh, 00h, 00h, 47h, 09h, 04h 31E4:D4B3 00 BB 24 49 09 07 db 00h,0BBh, 24h, 49h, 09h, 07h 31E4:D4B9 00 00 00 4A 09 FF db 00h, 00h, 00h, 4Ah, 09h,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 546 31E4:D4BF FF 00 00 72 0B 00 db 0FFh, 00h, 00h, 72h, 0Bh, 00h 31E4:D4C5 00 D4 D4 00 80 48 db 00h,0D4h,0D4h, 00h, 80h, 48h 31E4:D4CB 09 00 00 00 80 24 db 09h, 00h, 00h, 00h, 80h, 24h 31E4:D4D1 04 01 00 00 00 49 db 04h, 01h, 00h, 00h, 00h, 49h 31E4:D4D7 09 01 00 00 00 4A db 09h, 01h, 00h, 00h, 00h, 4Ah 31E4:D4DD 09 FF FF E8 D4 00 db 09h,0FFh,0FFh,0E8h,0D4h, 00h 31E4:D4E3 80 24 04 00 00 00 db 80h, 24h, 04h, 00h, 00h, 00h 31E4:D4E9 00 27 0B FF FF F6 db 00h, 27h, 0Bh,0FFh,0FFh,0F6h 31E4:D4EF D4 00 80 D5 07 00 db 0D4h, 00h, 80h,0D5h, 07h, 00h 31E4:D4F5 00 00 00 60 A4 FF db 00h, 00h, 00h, 60h,0A4h,0FFh 31E4:D4FB FF 22 D5 6D 23 29 db 0FFh, 22h,0D5h, 6Dh, 23h, 29h 31E4:D501 09 00 00 00 00 2E db 09h, 00h, 00h, 00h, 00h, 2Eh 31E4:D507 89 03 00 00 80 30 db 89h, 03h, 00h, 00h, 80h, 30h 31E4:D50D 09 04 00 db 09h, 04h, 00h 31E4:D510 0007[00] db 7 dup (0) 31E4:D517 80 2B 09 01 00 00 db 80h, 2Bh, 09h, 01h, 00h, 00h 31E4:D51D 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:D523 00 2A 09 04 00 00 db 00h, 2Ah, 09h, 04h, 00h, 00h 31E4:D529 00 2C 09 05 00 70 db 00h, 2Ch, 09h, 05h, 00h, 70h 31E4:D52F 24 24 04 FF FF 00 db 24h, 24h, 04h,0FFh,0FFh, 00h 31E4:D535 00 2F 09 FF FF 00 db 00h, 2Fh, 09h,0FFh,0FFh, 00h 31E4:D53B 00 31 09 FF FF 4E db 00h, 31h, 09h,0FFh,0FFh, 4Eh 31E4:D541 D5 00 80 24 04 00 db 0D5h, 00h, 80h, 24h, 04h, 00h 31E4:D547 00 00 80 14 0B 01 db 00h, 00h, 80h, 14h, 0Bh, 01h 31E4:D54D 00 00 00 13 0B 01 db 00h, 00h, 00h, 13h, 0Bh, 01h 31E4:D553 00 00 00 15 0B FF db 00h, 00h, 00h, 15h, 0Bh,0FFh 31E4:D559 FF 92 D5 00 00 6D db 0FFh, 92h,0D5h, 00h, 00h, 6Dh 31E4:D55F 8B 06 00 00 80 40 db 8Bh, 06h, 00h, 00h, 80h, 40h 31E4:D565 09 00 00 00 00 4D db 09h, 00h, 00h, 00h, 00h, 4Dh 31E4:D56B 09 01 00 00 80 42 db 09h, 01h, 00h, 00h, 80h, 42h 31E4:D571 09 02 00 00 80 24 db 09h, 02h, 00h, 00h, 80h, 24h 31E4:D577 04 03 00 00 80 51 db 04h, 03h, 00h, 00h, 80h, 51h 31E4:D57D 09 04 00 00 80 24 db 09h, 04h, 00h, 00h, 80h, 24h 31E4:D583 04 05 00 00 80 6F db 04h, 05h, 00h, 00h, 80h, 6Fh 31E4:D589 0B 07 00 00 80 24 db 0Bh, 07h, 00h, 00h, 80h, 24h 31E4:D58F 04 08 00 C8 24 4C db 04h, 08h, 00h,0C8h, 24h, 4Ch 31E4:D595 09 02 00 00 00 4E db 09h, 02h, 00h, 00h, 00h, 4Eh 31E4:D59B 09 FF FF DF 24 4F db 09h,0FFh,0FFh,0DFh, 24h, 4Fh 31E4:D5A1 09 04 00 00 00 50 db 09h, 04h, 00h, 00h, 00h, 50h 31E4:D5A7 09 05 00 00 00 52 db 09h, 05h, 00h, 00h, 00h, 52h 31E4:D5AD 09 06 00 00 00 53 db 09h, 06h, 00h, 00h, 00h, 53h 31E4:D5B3 09 FF FF 00 00 6E db 09h,0FFh,0FFh, 00h, 00h, 6Eh 31E4:D5B9 0B 07 00 00 00 70 db 0Bh, 07h, 00h, 00h, 00h, 70h 31E4:D5BF 0B 08 00 2F 2A 24 db 0Bh, 08h, 00h, 2Fh, 2Ah, 24h 31E4:D5C5 04 FF FF E2 D5 00 db 04h,0FFh,0FFh,0E2h,0D5h, 00h 31E4:D5CB 80 48 09 00 00 00 db 80h, 48h, 09h, 00h, 00h, 00h 31E4:D5D1 00 3A 0A 01 00 00 db 00h, 3Ah, 0Ah, 01h, 00h, 00h 31E4:D5D7 00 3C 0A 02 00 00 db 00h, 3Ch, 0Ah, 02h, 00h, 00h 31E4:D5DD 80 3E 0A 03 00 00 db 80h, 3Eh, 0Ah, 03h, 00h, 00h 31E4:D5E3 00 39 0A 01 00 00 db 00h, 39h, 0Ah, 01h, 00h, 00h 31E4:D5E9 00 3B 0A FF FF 00 db 00h, 3Bh, 0Ah,0FFh,0FFh, 00h 31E4:D5EF 00 3D 0A FF FF 00 db 00h, 3Dh, 0Ah,0FFh,0FFh, 00h 31E4:D5F5 00 3F 0A FF FF 02 db 00h, 3Fh, 0Ah,0FFh,0FFh, 02h 31E4:D5FB D6 00 80 D5 07 00 db 0D6h, 00h, 80h,0D5h, 07h, 00h 31E4:D601 00 00 00 85 A2 FF db 00h, 00h, 00h, 85h,0A2h,0FFh 31E4:D607 FF 1C D6 00 00 BD db 0FFh, 1Ch,0D6h, 00h, 00h,0BDh 31E4:D60D 08 02 00 00 80 F9 db 08h, 02h, 00h, 00h, 80h,0F9h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 547 31E4:D613 07 03 00 db 07h, 03h, 00h 31E4:D616 0008[00] db 8 dup (0) 31E4:D61E 91 08 00 00 00 00 db 91h, 08h, 00h, 00h, 00h, 00h 31E4:D624 BA 08 00 00 02 22 db 0BAh, 08h, 00h, 00h, 02h, 22h 31E4:D62A 95 A2 01 00 00 00 db 95h,0A2h, 01h, 00h, 00h, 00h 31E4:D630 BE 08 FF FF 42 D6 db 0BEh, 08h,0FFh,0FFh, 42h,0D6h 31E4:D636 00 00 BD 08 02 00 db 00h, 00h,0BDh, 08h, 02h, 00h 31E4:D63C 00 80 FB 07 03 00 db 00h, 80h,0FBh, 07h, 03h, 00h 31E4:D642 00 00 91 08 00 00 db 00h, 00h, 91h, 08h, 00h, 00h 31E4:D648 00 00 BA 08 00 00 db 00h, 00h,0BAh, 08h, 00h, 00h 31E4:D64E 02 22 95 A2 01 00 db 02h, 22h, 95h,0A2h, 01h, 00h 31E4:D654 00 00 BF 08 FF FF db 00h, 00h,0BFh, 08h,0FFh,0FFh 31E4:D65A 6E D6 00 00 BD 08 db 6Eh,0D6h, 00h, 00h,0BDh, 08h 31E4:D660 02 00 00 00 22 08 db 02h, 00h, 00h, 00h, 22h, 08h 31E4:D666 03 00 00 80 2C 08 db 03h, 00h, 00h, 80h, 2Ch, 08h 31E4:D66C 04 00 00 00 91 08 db 04h, 00h, 00h, 00h, 91h, 08h 31E4:D672 00 00 00 00 BA 08 db 00h, 00h, 00h, 00h,0BAh, 08h 31E4:D678 00 00 02 22 95 A2 db 00h, 00h, 02h, 22h, 95h,0A2h 31E4:D67E 01 00 00 00 C0 08 db 01h, 00h, 00h, 00h,0C0h, 08h 31E4:D684 FF FF 00 00 E3 0A db 0FFh,0FFh, 00h, 00h,0E3h, 0Ah 31E4:D68A FF FF 9A D6 00 00 db 0FFh,0FFh, 9Ah,0D6h, 00h, 00h 31E4:D690 BD 08 02 00 00 80 db 0BDh, 08h, 02h, 00h, 00h, 80h 31E4:D696 38 08 03 00 00 00 db 38h, 08h, 03h, 00h, 00h, 00h 31E4:D69C 91 08 00 00 00 00 db 91h, 08h, 00h, 00h, 00h, 00h 31E4:D6A2 BA 08 00 00 02 22 db 0BAh, 08h, 00h, 00h, 02h, 22h 31E4:D6A8 95 A2 01 00 00 00 db 95h,0A2h, 01h, 00h, 00h, 00h 31E4:D6AE C1 08 FF FF BA D6 db 0C1h, 08h,0FFh,0FFh,0BAh,0D6h 31E4:D6B4 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:D6BA 00 00 C2 08 FF FF db 00h, 00h,0C2h, 08h,0FFh,0FFh 31E4:D6C0 D4 D6 00 80 CA db 0D4h,0D6h, 00h, 80h,0CAh 31E4:D6C5 09 db 9 31E4:D6C6 0009[00] db 9 dup (0) 31E4:D6CF 80 24 04 db 80h, 24h, 04h 31E4:D6D2 01 data_1167 db 1 ; Data table (indexed access) 31E4:D6D3 00 00 00 E9 09 02 db 00h, 00h, 00h,0E9h, 09h, 02h 31E4:D6D9 00 3B 28 24 04 FF db 00h, 3Bh, 28h, 24h, 04h,0FFh 31E4:D6DF FF FA D6 69 23 03 db 0FFh,0FAh,0D6h, 69h, 23h, 03h 31E4:D6E5 09 00 00 00 00 ED db 09h, 00h, 00h, 00h, 00h,0EDh 31E4:D6EB 09 01 00 00 80 EF db 09h, 01h, 00h, 00h, 80h,0EFh 31E4:D6F1 09 02 00 db 09h, 02h, 00h 31E4:D6F4 0008[00] db 8 dup (0) 31E4:D6FC EC 09 FF FF 00 00 db 0ECh, 09h,0FFh,0FFh, 00h, 00h 31E4:D702 EE 09 FF FF 00 00 db 0EEh, 09h,0FFh,0FFh, 00h, 00h 31E4:D708 F0 09 FF FF 14 D7 db 0F0h, 09h,0FFh,0FFh, 14h,0D7h 31E4:D70E 00 80 40 09 00 00 db 00h, 80h, 40h, 09h, 00h, 00h 31E4:D714 00 00 EB 09 FF FF db 00h, 00h,0EBh, 09h,0FFh,0FFh 31E4:D71A 22 D7 00 80 48 09 db 22h,0D7h, 00h, 80h, 48h, 09h 31E4:D720 00 00 00 00 F1 09 db 00h, 00h, 00h, 00h,0F1h, 09h 31E4:D726 FF FF 30 D7 00 80 db 0FFh,0FFh, 30h,0D7h, 00h, 80h 31E4:D72C 92 09 00 00 00 00 db 92h, 09h, 00h, 00h, 00h, 00h 31E4:D732 F2 09 FF FF 3E D7 db 0F2h, 09h,0FFh,0FFh, 3Eh,0D7h 31E4:D738 00 80 38 0A 00 00 db 00h, 80h, 38h, 0Ah, 00h, 00h 31E4:D73E 00 00 0C 0B FF FF db 00h, 00h, 0Ch, 0Bh,0FFh,0FFh 31E4:D744 52 D7 00 80 24 04 db 52h,0D7h, 00h, 80h, 24h, 04h 31E4:D74A 00 00 00 80 24 04 db 00h, 00h, 00h, 80h, 24h, 04h 31E4:D750 01 00 00 00 B1 08 db 01h, 00h, 00h, 00h,0B1h, 08h 31E4:D756 01 00 96 2A 24 04 db 01h, 00h, 96h, 2Ah, 24h, 04h 31E4:D75C FF FF 7E D7 00 80 db 0FFh,0FFh, 7Eh,0D7h, 00h, 80h 31E4:D762 B2 08 00 00 00 80 db 0B2h, 08h, 00h, 00h, 00h, 80h 31E4:D768 B4 08 01 00 72 A2 db 0B4h, 08h, 01h, 00h, 72h,0A2h 31E4:D76E B7 08 04 00 00 80 db 0B7h, 08h, 04h, 00h, 00h, 80h 31E4:D774 24 04 03 00 00 80 db 24h, 04h, 03h, 00h, 00h, 80h 31E4:D77A 6F 09 02 00 00 00 db 6Fh, 09h, 02h, 00h, 00h, 00h 31E4:D780 B3 08 01 00 00 00 db 0B3h, 08h, 01h, 00h, 00h, 00h 31E4:D786 B5 08 02 00 00 00 db 0B5h, 08h, 02h, 00h, 00h, 00h 31E4:D78C B8 08 03 00 00 00 db 0B8h, 08h, 03h, 00h, 00h, 00h 31E4:D792 24 04 FF FF 00 00 db 24h, 04h,0FFh,0FFh, 00h, 00h 31E4:D798 6E 09 04 00 A4 D7 db 6Eh, 09h, 04h, 00h,0A4h,0D7h 31E4:D79E 00 80 CA 09 00 00 db 00h, 80h,0CAh, 09h, 00h, 00h 31E4:D7A4 00 00 31 0B FF FF db 00h, 00h, 31h, 0Bh,0FFh,0FFh 31E4:D7AA B8 D7 69 23 03 09 db 0B8h,0D7h, 69h, 23h, 03h, 09h 31E4:D7B0 00 00 00 80 75 0A db 00h, 00h, 00h, 80h, 75h, 0Ah 31E4:D7B6 01 00 00 00 70 09 db 01h, 00h, 00h, 00h, 70h, 09h 31E4:D7BC FF FF 00 00 81 0C db 0FFh,0FFh, 00h, 00h, 81h, 0Ch 31E4:D7C2 FF FF CC D7 00 80 db 0FFh,0FFh,0CCh,0D7h, 00h, 80h 31E4:D7C8 EF 09 00 00 00 00 db 0EFh, 09h, 00h, 00h, 00h, 00h 31E4:D7CE 32 0B FF FF DA D7 db 32h, 0Bh,0FFh,0FFh,0DAh,0D7h 31E4:D7D4 00 80 40 09 00 00 db 00h, 80h, 40h, 09h, 00h, 00h 31E4:D7DA 00 00 33 0B FF FF db 00h, 00h, 33h, 0Bh,0FFh,0FFh 31E4:D7E0 E8 D7 00 80 2E 0B db 0E8h,0D7h, 00h, 80h, 2Eh, 0Bh 31E4:D7E6 00 00 00 00 34 0B db 00h, 00h, 00h, 00h, 34h, 0Bh 31E4:D7EC FF FF 38 D8 00 00 db 0FFh,0FFh, 38h,0D8h, 00h, 00h 31E4:D7F2 48 09 00 00 00 80 db 48h, 09h, 00h, 00h, 00h, 80h 31E4:D7F8 7D 09 01 db 7Dh, 09h, 01h 31E4:D7FB 0009[00] db 9 dup (0) 31E4:D804 7F data_1170 db 7Fh 31E4:D805 09 03 00 00 00 80 db 09h, 03h, 00h, 00h, 00h, 80h 31E4:D80B 09 02 00 00 80 81 db 09h, 02h, 00h, 00h, 80h, 81h 31E4:D811 09 04 00 00 00 83 db 09h, 04h, 00h, 00h, 00h, 83h 31E4:D817 09 05 00 00 00 86 db 09h, 05h, 00h, 00h, 00h, 86h 31E4:D81D 09 06 00 00 80 89 db 09h, 06h, 00h, 00h, 80h, 89h 31E4:D823 09 07 00 00 80 85 db 09h, 07h, 00h, 00h, 80h, 85h 31E4:D829 09 08 00 00 80 88 db 09h, 08h, 00h, 00h, 80h, 88h 31E4:D82F 09 08 00 00 80 61 db 09h, 08h, 00h, 00h, 80h, 61h 31E4:D835 0B 0B 00 00 00 7C db 0Bh, 0Bh, 00h, 00h, 00h, 7Ch 31E4:D83B 09 FF FF 00 00 7E db 09h,0FFh,0FFh, 00h, 00h, 7Eh 31E4:D841 09 03 00 8F 25 82 db 09h, 03h, 00h, 8Fh, 25h, 82h 31E4:D847 09 06 00 82 25 82 db 09h, 06h, 00h, 82h, 25h, 82h 31E4:D84D 09 06 00 9C 25 82 db 09h, 06h, 00h, 9Ch, 25h, 82h 31E4:D853 09 06 00 00 00 84 db 09h, 06h, 00h, 00h, 00h, 84h 31E4:D859 09 09 00 00 00 87 db 09h, 09h, 00h, 00h, 00h, 87h 31E4:D85F 09 0A 00 00 00 8A db 09h, 0Ah, 00h, 00h, 00h, 8Ah 31E4:D865 09 0A 00 24 25 8C db 09h, 0Ah, 00h, 24h, 25h, 8Ch 31E4:D86B 09 FF FF 00 00 5F db 09h,0FFh,0FFh, 00h, 00h, 5Fh 31E4:D871 0B FF FF 00 00 60 db 0Bh,0FFh,0FFh, 00h, 00h, 60h 31E4:D877 0B 0B 00 00 00 62 db 0Bh, 0Bh, 00h, 00h, 00h, 62h 31E4:D87D 0B FF FF A0 D8 A9 db 0Bh,0FFh,0FFh,0A0h,0D8h,0A9h 31E4:D883 25 63 0B 04 00 BA db 25h, 63h, 0Bh, 04h, 00h,0BAh 31E4:D889 25 8D 09 00 00 00 db 25h, 8Dh, 09h, 00h, 00h, 00h 31E4:D88F 80 48 09 03 db 80h, 48h, 09h, 03h 31E4:D893 0008[00] db 8 dup (0) 31E4:D89B 80 90 09 02 00 87 db 80h, 90h, 09h, 02h, 00h, 87h 31E4:D8A1 26 8E 09 FF FF 00 db 26h, 8Eh, 09h,0FFh,0FFh, 00h 31E4:D8A7 00 8F 09 04 00 9E db 00h, 8Fh, 09h, 04h, 00h, 9Eh 31E4:D8AD 26 91 09 FF FF 00 db 26h, 91h, 09h,0FFh,0FFh, 00h 31E4:D8B3 00 7C 09 FF FF 00 db 00h, 7Ch, 09h,0FFh,0FFh, 00h 31E4:D8B9 00 64 0B FF FF D2 db 00h, 64h, 0Bh,0FFh,0FFh,0D2h 31E4:D8BF D8 00 80 92 09 00 db 0D8h, 00h, 80h, 92h, 09h, 00h 31E4:D8C5 00 db 00h 31E4:D8C6 0007[00] db 7 dup (0) 31E4:D8CD 80 94 09 01 00 00 db 80h, 94h, 09h, 01h, 00h, 00h 31E4:D8D3 00 93 09 02 00 CE db 00h, 93h, 09h, 02h, 00h,0CEh 31E4:D8D9 26 95 09 FF FF E6 db 26h, 95h, 09h,0FFh,0FFh,0E6h 31E4:D8DF D8 00 80 72 0C 00 db 0D8h, 00h, 80h, 72h, 0Ch, 00h 31E4:D8E5 00 00 00 73 0C FF db 00h, 00h, 00h, 73h, 0Ch,0FFh 31E4:D8EB FF 0C D9 00 80 A7 db 0FFh, 0Ch,0D9h, 00h, 80h,0A7h 31E4:D8F1 09 00 00 00 80 A9 db 09h, 00h, 00h, 00h, 80h,0A9h 31E4:D8F7 09 02 00 00 80 24 db 09h, 02h, 00h, 00h, 80h, 24h 31E4:D8FD 04 03 00 00 80 AC db 04h, 03h, 00h, 00h, 80h,0ACh 31E4:D903 09 04 00 00 80 AE db 09h, 04h, 00h, 00h, 80h,0AEh 31E4:D909 09 05 00 FD 26 AB db 09h, 05h, 00h,0FDh, 26h,0ABh 31E4:D90F 09 FF FF 00 00 A8 db 09h,0FFh,0FFh, 00h, 00h,0A8h 31E4:D915 09 01 00 00 00 AA db 09h, 01h, 00h, 00h, 00h,0AAh 31E4:D91B 09 02 00 38 27 AD db 09h, 02h, 00h, 38h, 27h,0ADh 31E4:D921 09 03 00 00 00 24 db 09h, 03h, 00h, 00h, 00h, 24h 31E4:D927 04 04 00 00 00 AF db 04h, 04h, 00h, 00h, 00h,0AFh 31E4:D92D 09 FF FF 00 80 24 db 09h,0FFh,0FFh, 00h, 80h, 24h 31E4:D933 04 66 D9 00 00 D5 db 04h, 66h,0D9h, 00h, 00h,0D5h 31E4:D939 09 00 00 00 00 D7 db 09h, 00h, 00h, 00h, 00h,0D7h 31E4:D93F 09 01 00 00 00 D9 db 09h, 01h, 00h, 00h, 00h,0D9h 31E4:D945 09 02 00 00 80 DD db 09h, 02h, 00h, 00h, 80h,0DDh 31E4:D94B 09 04 00 00 80 DB db 09h, 04h, 00h, 00h, 80h,0DBh 31E4:D951 09 03 00 00 00 DF db 09h, 03h, 00h, 00h, 00h,0DFh 31E4:D957 09 05 00 00 00 E1 db 09h, 05h, 00h, 00h, 00h,0E1h 31E4:D95D 09 06 00 00 80 E2 db 09h, 06h, 00h, 00h, 80h,0E2h 31E4:D963 09 07 00 00 00 D6 db 09h, 07h, 00h, 00h, 00h,0D6h 31E4:D969 09 FF FF 00 00 74 db 09h,0FFh,0FFh, 00h, 00h, 74h 31E4:D96F 0C FF FF 00 00 DA db 0Ch,0FFh,0FFh, 00h, 00h,0DAh 31E4:D975 09 04 00 00 00 DC db 09h, 04h, 00h, 00h, 00h,0DCh 31E4:D97B 09 FF FF 00 00 DE db 09h,0FFh,0FFh, 00h, 00h,0DEh 31E4:D981 09 05 00 00 00 E0 db 09h, 05h, 00h, 00h, 00h,0E0h 31E4:D987 09 FF FF 00 00 E3 db 09h,0FFh,0FFh, 00h, 00h,0E3h 31E4:D98D 09 FF FF 00 00 E4 db 09h,0FFh,0FFh, 00h, 00h,0E4h 31E4:D993 09 FF FF B0 D9 00 db 09h,0FFh,0FFh,0B0h,0D9h, 00h 31E4:D999 00 E5 09 00 00 00 db 00h,0E5h, 09h, 00h, 00h, 00h 31E4:D99F 80 E4 0A 02 00 00 db 80h,0E4h, 0Ah, 02h, 00h, 00h 31E4:D9A5 80 E7 09 01 00 00 db 80h,0E7h, 09h, 01h, 00h, 00h 31E4:D9AB 80 E6 0A 03 00 00 db 80h,0E6h, 0Ah, 03h, 00h, 00h 31E4:D9B1 00 E6 09 02 00 00 db 00h,0E6h, 09h, 02h, 00h, 00h 31E4:D9B7 00 E8 09 FF FF 00 db 00h,0E8h, 09h,0FFh,0FFh, 00h 31E4:D9BD 00 E5 0A 03 00 00 db 00h,0E5h, 0Ah, 03h, 00h, 00h 31E4:D9C3 00 24 04 FF FF E2 db 00h, 24h, 04h,0FFh,0FFh,0E2h 31E4:D9C9 D9 00 80 38 0A 00 db 0D9h, 00h, 80h, 38h, 0Ah, 00h 31E4:D9CF 00 00 80 37 0B 01 db 00h, 00h, 80h, 37h, 0Bh, 01h 31E4:D9D5 00 00 80 24 04 02 db 00h, 00h, 80h, 24h, 04h, 02h 31E4:D9DB 00 00 80 6E 09 03 db 00h, 00h, 80h, 6Eh, 09h, 03h 31E4:D9E1 00 00 00 36 0B 01 db 00h, 00h, 00h, 36h, 0Bh, 01h 31E4:D9E7 00 00 00 38 0B 02 db 00h, 00h, 00h, 38h, 0Bh, 02h 31E4:D9ED 00 00 00 39 0B 03 db 00h, 00h, 00h, 39h, 0Bh, 03h 31E4:D9F3 00 00 00 3A 0B FF db 00h, 00h, 00h, 3Ah, 0Bh,0FFh 31E4:D9F9 FF 02 DA 00 80 80 db 0FFh, 02h,0DAh, 00h, 80h, 80h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 550 31E4:D9FF 08 00 00 00 00 db 08h, 00h, 00h, 00h, 00h 31E4:DA04 81 data_1173 db 81h 31E4:DA05 08 FF FF 22 DA B5 db 08h,0FFh,0FFh, 22h,0DAh,0B5h 31E4:DA0B 27 B0 09 00 00 D5 db 27h,0B0h, 09h, 00h, 00h,0D5h 31E4:DA11 A7 B2 09 01 00 00 db 0A7h,0B2h, 09h, 01h, 00h, 00h 31E4:DA17 80 B4 09 02 00 00 db 80h,0B4h, 09h, 02h, 00h, 00h 31E4:DA1D 80 B6 09 03 00 00 db 80h,0B6h, 09h, 03h, 00h, 00h 31E4:DA23 00 B1 09 FF FF A9 db 00h,0B1h, 09h,0FFh,0FFh,0A9h 31E4:DA29 2A B3 09 02 00 00 db 2Ah,0B3h, 09h, 02h, 00h, 00h 31E4:DA2F 00 B5 09 03 00 00 db 00h,0B5h, 09h, 03h, 00h, 00h 31E4:DA35 00 24 04 FF FF 5A db 00h, 24h, 04h,0FFh,0FFh, 5Ah 31E4:DA3B DA 00 80 D5 07 00 db 0DAh, 00h, 80h,0D5h, 07h, 00h 31E4:DA41 00 00 80 DE 08 01 db 00h, 00h, 80h,0DEh, 08h, 01h 31E4:DA47 00 00 00 E0 08 02 db 00h, 00h, 00h,0E0h, 08h, 02h 31E4:DA4D 00 00 80 E2 08 03 db 00h, 00h, 80h,0E2h, 08h, 03h 31E4:DA53 00 00 80 24 04 04 db 00h, 00h, 80h, 24h, 04h, 04h 31E4:DA59 00 00 00 B5 A2 01 db 00h, 00h, 00h,0B5h,0A2h, 01h 31E4:DA5F 00 00 00 DF 08 02 db 00h, 00h, 00h,0DFh, 08h, 02h 31E4:DA65 00 00 00 E1 08 04 db 00h, 00h, 00h,0E1h, 08h, 04h 31E4:DA6B 00 00 00 E3 08 FF db 00h, 00h, 00h,0E3h, 08h,0FFh 31E4:DA71 FF 58 28 24 04 FF db 0FFh, 58h, 28h, 24h, 04h,0FFh 31E4:DA77 FF 92 DA 00 00 F9 db 0FFh, 92h,0DAh, 00h, 00h,0F9h 31E4:DA7D 07 00 00 71 A8 F4 db 07h, 00h, 00h, 71h,0A8h,0F4h 31E4:DA83 09 01 db 09h, 01h 31E4:DA85 00 00 00 00 db 0, 0, 0, 0 31E4:DA89 0000 data_1175 dw 0 ; Data table (indexed access) 31E4:DA8B 00 00 80 24 04 02 db 00h, 00h, 80h, 24h, 04h, 02h 31E4:DA91 00 00 00 E4 08 FF db 00h, 00h, 00h,0E4h, 08h,0FFh 31E4:DA97 FF 00 00 E1 08 03 db 0FFh, 00h, 00h,0E1h, 08h, 03h 31E4:DA9D 00 58 28 24 04 FF db 00h, 58h, 28h, 24h, 04h,0FFh 31E4:DAA3 FF BE DA 00 00 FB db 0FFh,0BEh,0DAh, 00h, 00h,0FBh 31E4:DAA9 07 00 00 71 A8 F4 db 07h, 00h, 00h, 71h,0A8h,0F4h 31E4:DAAF 09 01 db 09h, 01h 31E4:DAB1 0008[00] db 8 dup (0) 31E4:DAB9 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:DABF 00 E5 08 FF FF 00 db 00h,0E5h, 08h,0FFh,0FFh, 00h 31E4:DAC5 00 E1 08 03 00 58 db 00h,0E1h, 08h, 03h, 00h, 58h 31E4:DACB 28 24 04 FF FF EA db 28h, 24h, 04h,0FFh,0FFh,0EAh 31E4:DAD1 DA 00 00 22 08 00 db 0DAh, 00h, 00h, 22h, 08h, 00h 31E4:DAD7 00 71 28 F4 09 02 db 00h, 71h, 28h,0F4h, 09h, 02h 31E4:DADD 00 00 80 2C 08 01 db 00h, 00h, 80h, 2Ch, 08h, 01h 31E4:DAE3 00 00 80 24 04 03 db 00h, 00h, 80h, 24h, 04h, 03h 31E4:DAE9 00 00 00 E6 08 FF db 00h, 00h, 00h,0E6h, 08h,0FFh 31E4:DAEF FF 00 00 81 0A FF db 0FFh, 00h, 00h, 81h, 0Ah,0FFh 31E4:DAF5 FF 00 00 E1 08 03 db 0FFh, 00h, 00h,0E1h, 08h, 03h 31E4:DAFB 00 58 28 24 04 FF db 00h, 58h, 28h, 24h, 04h,0FFh 31E4:DB01 FF 16 DB 71 28 F4 db 0FFh, 16h,0DBh, 71h, 28h,0F4h 31E4:DB07 09 01 00 00 80 38 db 09h, 01h, 00h, 00h, 80h, 38h 31E4:DB0D 08 00 00 00 80 24 db 08h, 00h, 00h, 00h, 80h, 24h 31E4:DB13 04 02 00 00 00 E7 db 04h, 02h, 00h, 00h, 00h,0E7h 31E4:DB19 08 FF FF 00 00 E1 db 08h,0FFh,0FFh, 00h, 00h,0E1h 31E4:DB1F 08 02 00 58 28 24 db 08h, 02h, 00h, 58h, 28h, 24h 31E4:DB25 04 FF FF 30 DB 00 db 04h,0FFh,0FFh, 30h,0DBh, 00h 31E4:DB2B 80 F5 09 00 00 00 db 80h,0F5h, 09h, 00h, 00h, 00h 31E4:DB31 00 F6 09 FF FF 56 db 00h,0F6h, 09h,0FFh,0FFh, 56h 31E4:DB37 DB 00 80 24 04 00 db 0DBh, 00h, 80h, 24h, 04h, 00h 31E4:DB3D 00 00 00 EE 08 01 db 00h, 00h, 00h,0EEh, 08h, 01h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 551 31E4:DB43 00 00 00 F1 88 02 db 00h, 00h, 00h,0F1h, 88h, 02h 31E4:DB49 00 00 80 EF 08 03 db 00h, 00h, 80h,0EFh, 08h, 03h 31E4:DB4F 00 00 80 24 04 04 db 00h, 00h, 80h, 24h, 04h, 04h 31E4:DB55 00 00 00 C5 A2 01 db 00h, 00h, 00h,0C5h,0A2h, 01h 31E4:DB5B 00 00 00 24 04 FF db 00h, 00h, 00h, 24h, 04h,0FFh 31E4:DB61 FF 00 00 F2 08 01 db 0FFh, 00h, 00h,0F2h, 08h, 01h 31E4:DB67 00 00 00 24 04 04 db 00h, 00h, 00h, 24h, 04h, 04h 31E4:DB6D 00 F6 22 24 04 FF db 00h,0F6h, 22h, 24h, 04h,0FFh 31E4:DB73 FF 88 DB 00 80 24 db 0FFh, 88h,0DBh, 00h, 80h, 24h 31E4:DB79 04 00 00 00 80 3C db 04h, 00h, 00h, 00h, 80h, 3Ch 31E4:DB7F 0B 01 00 00 80 3E db 0Bh, 01h, 00h, 00h, 80h, 3Eh 31E4:DB85 0B 02 00 00 00 3B db 0Bh, 02h, 00h, 00h, 00h, 3Bh 31E4:DB8B 0B 01 00 00 00 3D db 0Bh, 01h, 00h, 00h, 00h, 3Dh 31E4:DB91 0B 02 00 00 00 3F db 0Bh, 02h, 00h, 00h, 00h, 3Fh 31E4:DB97 0B FF FF A8 DB 69 db 0Bh,0FFh,0FFh,0A8h,0DBh, 69h 31E4:DB9D 23 03 09 00 00 00 db 23h, 03h, 09h, 00h, 00h, 00h 31E4:DBA3 80 F8 09 01 00 00 db 80h,0F8h, 09h, 01h, 00h, 00h 31E4:DBA9 00 F7 09 FF FF 00 db 00h,0F7h, 09h,0FFh,0FFh, 00h 31E4:DBAF 00 F9 09 FF FF C8 db 00h,0F9h, 09h,0FFh,0FFh,0C8h 31E4:DBB5 DB 00 00 40 09 00 db 0DBh, 00h, 00h, 40h, 09h, 00h 31E4:DBBB 00 00 80 75 0A 01 db 00h, 00h, 80h, 75h, 0Ah, 01h 31E4:DBC1 00 00 80 29 0B 02 db 00h, 00h, 80h, 29h, 0Bh, 02h 31E4:DBC7 00 00 00 AC 0A FF db 00h, 00h, 00h,0ACh, 0Ah,0FFh 31E4:DBCD FF 00 00 28 0B 02 db 0FFh, 00h, 00h, 28h, 0Bh, 02h 31E4:DBD3 00 00 00 2A 0B FF db 00h, 00h, 00h, 2Ah, 0Bh,0FFh 31E4:DBD9 FF E2 DB 00 80 48 db 0FFh,0E2h,0DBh, 00h, 80h, 48h 31E4:DBDF 09 00 00 00 00 2B db 09h, 00h, 00h, 00h, 00h, 2Bh 31E4:DBE5 0B FF FF F0 DB 00 db 0Bh,0FFh,0FFh,0F0h,0DBh, 00h 31E4:DBEB 80 2E 0B 00 00 00 db 80h, 2Eh, 0Bh, 00h, 00h, 00h 31E4:DBF1 00 2C 0B FF FF FE db 00h, 2Ch, 0Bh,0FFh,0FFh,0FEh 31E4:DBF7 DB 00 80 92 09 00 db 0DBh, 00h, 80h, 92h, 09h, 00h 31E4:DBFD 00 00 00 2D 0B FF db 00h, 00h, 00h, 2Dh, 0Bh,0FFh 31E4:DC03 FF 12 DC 00 80 38 db 0FFh, 12h,0DCh, 00h, 80h, 38h 31E4:DC09 0A 00 00 00 80 2F db 0Ah, 00h, 00h, 00h, 80h, 2Fh 31E4:DC0F 0B 01 00 00 00 09 db 0Bh, 01h, 00h, 00h, 00h, 09h 31E4:DC15 0B 01 00 00 00 30 db 0Bh, 01h, 00h, 00h, 00h, 30h 31E4:DC1B 0B FF FF 50 DC 00 db 0Bh,0FFh,0FFh, 50h,0DCh, 00h 31E4:DC21 80 D5 07 00 00 00 db 80h,0D5h, 07h, 00h, 00h, 00h 31E4:DC27 80 5E 0A 01 00 00 db 80h, 5Eh, 0Ah, 01h, 00h, 00h 31E4:DC2D 80 60 0A 02 00 00 db 80h, 60h, 0Ah, 02h, 00h, 00h 31E4:DC33 80 62 0A 03 00 00 db 80h, 62h, 0Ah, 03h, 00h, 00h 31E4:DC39 80 24 04 04 00 00 db 80h, 24h, 04h, 04h, 00h, 00h 31E4:DC3F 80 65 0A 05 00 00 db 80h, 65h, 0Ah, 05h, 00h, 00h 31E4:DC45 80 67 0A 06 00 00 db 80h, 67h, 0Ah, 06h, 00h, 00h 31E4:DC4B 80 69 0A 07 00 00 db 80h, 69h, 0Ah, 07h, 00h, 00h 31E4:DC51 00 3F A2 01 00 00 db 00h, 3Fh,0A2h, 01h, 00h, 00h 31E4:DC57 00 5F 0A 02 00 00 db 00h, 5Fh, 0Ah, 02h, 00h, 00h 31E4:DC5D 00 61 0A 03 00 00 db 00h, 61h, 0Ah, 03h, 00h, 00h 31E4:DC63 00 63 0A 04 00 00 db 00h, 63h, 0Ah, 04h, 00h, 00h 31E4:DC69 00 64 0A 05 00 00 db 00h, 64h, 0Ah, 05h, 00h, 00h 31E4:DC6F 00 66 0A 06 00 00 db 00h, 66h, 0Ah, 06h, 00h, 00h 31E4:DC75 00 68 0A 07 00 00 db 00h, 68h, 0Ah, 07h, 00h, 00h 31E4:DC7B 00 6A 0A FF FF 88 db 00h, 6Ah, 0Ah,0FFh,0FFh, 88h 31E4:DC81 DC 00 80 F9 07 00 db 0DCh, 00h, 80h,0F9h, 07h, 00h 31E4:DC87 00 00 00 4F A2 FF db 00h, 00h, 00h, 4Fh,0A2h,0FFh 31E4:DC8D FF 96 DC 00 80 FB db 0FFh, 96h,0DCh, 00h, 80h,0FBh 31E4:DC93 07 00 00 00 00 AB db 07h, 00h, 00h, 00h, 00h,0ABh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 552 31E4:DC99 08 FF FF AA DC 00 db 08h,0FFh,0FFh,0AAh,0DCh, 00h 31E4:DC9F 00 22 08 00 00 00 db 00h, 22h, 08h, 00h, 00h, 00h 31E4:DCA5 80 2C 08 01 00 00 db 80h, 2Ch, 08h, 01h, 00h, 00h 31E4:DCAB 00 AC 08 FF FF 00 db 00h,0ACh, 08h,0FFh,0FFh, 00h 31E4:DCB1 00 6B 0A FF FF BE db 00h, 6Bh, 0Ah,0FFh,0FFh,0BEh 31E4:DCB7 DC 00 80 38 08 00 db 0DCh, 00h, 80h, 38h, 08h, 00h 31E4:DCBD 00 00 00 AD 08 FF db 00h, 00h, 00h,0ADh, 08h,0FFh 31E4:DCC3 FF D2 DC 00 80 24 db 0FFh,0D2h,0DCh, 00h, 80h, 24h 31E4:DCC9 04 00 00 00 80 AF db 04h, 00h, 00h, 00h, 80h,0AFh 31E4:DCCF 08 01 00 00 00 AE db 08h, 01h, 00h, 00h, 00h,0AEh 31E4:DCD5 08 01 00 00 00 B0 db 08h, 01h, 00h, 00h, 00h,0B0h 31E4:DCDB 08 FF FF E6 DC 00 db 08h,0FFh,0FFh,0E6h,0DCh, 00h 31E4:DCE1 80 0D 0B 00 00 00 db 80h, 0Dh, 0Bh, 00h, 00h, 00h 31E4:DCE7 00 FD 0B FF FF 00 db 00h,0FDh, 0Bh,0FFh,0FFh, 00h 31E4:DCED DD 69 A3 03 db 0DDh, 69h,0A3h, 03h 31E4:DCF1 09 db 9 31E4:DCF2 0009[00] db 9 dup (0) 31E4:DCFB 80 6D 0A 01 00 00 db 80h, 6Dh, 0Ah, 01h, 00h, 00h 31E4:DD01 00 6C 0A 02 00 00 db 00h, 6Ch, 0Ah, 02h, 00h, 00h 31E4:DD07 00 6E 0A FF FF 20 db 00h, 6Eh, 0Ah,0FFh,0FFh, 20h 31E4:DD0D DD 00 80 40 09 00 db 0DDh, 00h, 80h, 40h, 09h, 00h 31E4:DD13 00 00 00 70 0A 01 db 00h, 00h, 00h, 70h, 0Ah, 01h 31E4:DD19 00 00 80 72 0A 02 db 00h, 00h, 80h, 72h, 0Ah, 02h 31E4:DD1F 00 00 00 6F 0A 01 db 00h, 00h, 00h, 6Fh, 0Ah, 01h 31E4:DD25 00 00 00 71 0A FF db 00h, 00h, 00h, 71h, 0Ah,0FFh 31E4:DD2B FF 00 00 73 0A FF db 0FFh, 00h, 00h, 73h, 0Ah,0FFh 31E4:DD31 FF 3A DD 00 80 48 db 0FFh, 3Ah,0DDh, 00h, 80h, 48h 31E4:DD37 09 00 00 00 00 62 db 09h, 00h, 00h, 00h, 00h, 62h 31E4:DD3D 0C FF FF 48 DD 00 db 0Ch,0FFh,0FFh, 48h,0DDh, 00h 31E4:DD43 80 92 09 00 00 00 db 80h, 92h, 09h, 00h, 00h, 00h 31E4:DD49 00 63 0C FF FF 62 db 00h, 63h, 0Ch,0FFh,0FFh, 62h 31E4:DD4F DD 00 00 38 0A 00 db 0DDh, 00h, 00h, 38h, 0Ah, 00h 31E4:DD55 00 00 80 1F 0B 01 db 00h, 00h, 80h, 1Fh, 0Bh, 01h 31E4:DD5B 00 00 80 66 0C 02 db 00h, 00h, 80h, 66h, 0Ch, 02h 31E4:DD61 00 00 00 64 0C FF db 00h, 00h, 00h, 64h, 0Ch,0FFh 31E4:DD67 FF 00 00 db 0FFh, 00h, 00h 31E4:DD6A 65 data_1178 db 65h ; Data table (indexed access) 31E4:DD6B 0C 02 00 00 00 67 db 0Ch, 02h, 00h, 00h, 00h, 67h 31E4:DD71 0C FF FF 7C DD 00 db 0Ch,0FFh,0FFh, 7Ch,0DDh, 00h 31E4:DD77 80 D5 07 00 00 00 db 80h,0D5h, 07h, 00h, 00h, 00h 31E4:DD7D 00 A4 A1 FF FF 90 db 00h,0A4h,0A1h,0FFh,0FFh, 90h 31E4:DD83 DD 00 00 90 08 02 db 0DDh, 00h, 00h, 90h, 08h, 02h 31E4:DD89 00 00 80 F9 07 03 db 00h, 00h, 80h,0F9h, 07h, 03h 31E4:DD8F 00 00 00 91 08 00 db 00h, 00h, 00h, 91h, 08h, 00h 31E4:DD95 00 00 00 BA 08 FF db 00h, 00h, 00h,0BAh, 08h,0FFh 31E4:DD9B FF 02 22 B4 A1 01 db 0FFh, 02h, 22h,0B4h,0A1h, 01h 31E4:DDA1 00 E0 21 1C A2 FF db 00h,0E0h, 21h, 1Ch,0A2h,0FFh 31E4:DDA7 FF B6 DD 00 00 90 db 0FFh,0B6h,0DDh, 00h, 00h, 90h 31E4:DDAD 08 02 00 00 80 FB db 08h, 02h, 00h, 00h, 80h,0FBh 31E4:DDB3 07 03 00 00 00 91 db 07h, 03h, 00h, 00h, 00h, 91h 31E4:DDB9 08 00 00 00 00 BA db 08h, 00h, 00h, 00h, 00h,0BAh 31E4:DDBF 08 FF FF 02 22 B4 db 08h,0FFh,0FFh, 02h, 22h,0B4h 31E4:DDC5 A1 01 00 E0 21 96 db 0A1h, 01h, 00h,0E0h, 21h, 96h 31E4:DDCB 08 FF FF E8 DD 00 db 08h,0FFh,0FFh,0E8h,0DDh, 00h 31E4:DDD1 00 90 08 02 00 00 db 00h, 90h, 08h, 02h, 00h, 00h 31E4:DDD7 80 22 08 03 00 db 80h, 22h, 08h, 03h, 00h 31E4:DDDC 0007[00] db 7 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 553 31E4:DDE3 80 98 08 04 00 00 db 80h, 98h, 08h, 04h, 00h, 00h 31E4:DDE9 00 91 08 00 00 00 db 00h, 91h, 08h, 00h, 00h, 00h 31E4:DDEF 00 BA 08 FF FF 02 db 00h,0BAh, 08h,0FFh,0FFh, 02h 31E4:DDF5 22 B4 A1 01 00 E0 db 22h,0B4h,0A1h, 01h, 00h,0E0h 31E4:DDFB 21 97 08 03 00 00 db 21h, 97h, 08h, 03h, 00h, 00h 31E4:DE01 00 99 08 FF FF 26 db 00h, 99h, 08h,0FFh,0FFh, 26h 31E4:DE07 DE 00 00 90 08 02 db 0DEh, 00h, 00h, 90h, 08h, 02h 31E4:DE0D 00 00 80 38 08 03 db 00h, 00h, 80h, 38h, 08h, 03h 31E4:DE13 00 db 00h 31E4:DE14 0008[00] db 8 dup (0) 31E4:DE1C 9B 08 04 00 00 80 db 9Bh, 08h, 04h, 00h, 00h, 80h 31E4:DE22 9D 08 05 00 00 00 db 9Dh, 08h, 05h, 00h, 00h, 00h 31E4:DE28 91 08 00 00 00 00 db 91h, 08h, 00h, 00h, 00h, 00h 31E4:DE2E BA 08 FF FF 02 22 db 0BAh, 08h,0FFh,0FFh, 02h, 22h 31E4:DE34 B4 A1 01 00 E0 21 db 0B4h,0A1h, 01h, 00h,0E0h, 21h 31E4:DE3A 9A 08 03 00 00 00 db 9Ah, 08h, 03h, 00h, 00h, 00h 31E4:DE40 9C 08 FF FF 00 00 db 9Ch, 08h,0FFh,0FFh, 00h, 00h 31E4:DE46 9E 08 FF FF 6A DE db 9Eh, 08h,0FFh,0FFh, 6Ah,0DEh 31E4:DE4C 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:DE52 00 00 A0 08 01 00 db 00h, 00h,0A0h, 08h, 01h, 00h 31E4:DE58 00 80 2D 0A 03 00 db 00h, 80h, 2Dh, 0Ah, 03h, 00h 31E4:DE5E 0007[00] db 7 dup (0) 31E4:DE65 80 A2 08 02 00 00 db 80h,0A2h, 08h, 02h, 00h, 00h 31E4:DE6B 00 9F 08 01 00 00 db 00h, 9Fh, 08h, 01h, 00h, 00h 31E4:DE71 00 A1 08 04 00 00 db 00h,0A1h, 08h, 04h, 00h, 00h 31E4:DE77 00 A3 08 FF FF 00 db 00h,0A3h, 08h,0FFh,0FFh, 00h 31E4:DE7D 00 2E 0A FF FF A2 db 00h, 2Eh, 0Ah,0FFh,0FFh,0A2h 31E4:DE83 DE 00 80 24 04 02 db 0DEh, 00h, 80h, 24h, 04h, 02h 31E4:DE89 00 00 00 CA 09 04 db 00h, 00h, 00h,0CAh, 09h, 04h 31E4:DE8F 00 00 80 90 08 06 db 00h, 00h, 80h, 90h, 08h, 06h 31E4:DE95 00 db 00h 31E4:DE96 0007[00] db 7 dup (0) 31E4:DE9D 80 CA 09 05 00 00 db 80h,0CAh, 09h, 05h, 00h, 00h 31E4:DEA3 00 91 08 01 00 00 db 00h, 91h, 08h, 01h, 00h, 00h 31E4:DEA9 00 BA 08 FF FF C7 db 00h,0BAh, 08h,0FFh,0FFh,0C7h 31E4:DEAF 28 31 0A 01 00 00 db 28h, 31h, 0Ah, 01h, 00h, 00h 31E4:DEB5 00 2F 0A 04 00 E0 db 00h, 2Fh, 0Ah, 04h, 00h,0E0h 31E4:DEBB 21 32 0A FF FF 00 db 21h, 32h, 0Ah,0FFh,0FFh, 00h 31E4:DEC1 00 30 0A FF FF 02 db 00h, 30h, 0Ah,0FFh,0FFh, 02h 31E4:DEC7 22 B4 A1 01 00 E0 db 22h,0B4h,0A1h, 01h, 00h,0E0h 31E4:DECD DE 69 23 03 09 02 db 0DEh, 69h, 23h, 03h, 09h, 02h 31E4:DED3 00 00 00 40 09 03 db 00h, 00h, 00h, 40h, 09h, 03h 31E4:DED9 00 00 80 90 08 04 db 00h, 00h, 80h, 90h, 08h, 04h 31E4:DEDF 00 00 00 91 08 00 db 00h, 00h, 00h, 91h, 08h, 00h 31E4:DEE5 00 00 00 BA 08 FF db 00h, 00h, 00h,0BAh, 08h,0FFh 31E4:DEEB FF 00 00 33 0A FF db 0FFh, 00h, 00h, 33h, 0Ah,0FFh 31E4:DEF1 FF E0 21 34 0A FF db 0FFh,0E0h, 21h, 34h, 0Ah,0FFh 31E4:DEF7 FF 02 22 B4 A1 00 db 0FFh, 02h, 22h,0B4h,0A1h, 00h 31E4:DEFD 00 0C DF 00 00 90 db 00h, 0Ch,0DFh, 00h, 00h, 90h 31E4:DF03 08 03 00 00 80 48 db 08h, 03h, 00h, 00h, 80h, 48h 31E4:DF09 09 02 00 00 00 91 db 09h, 02h, 00h, 00h, 00h, 91h 31E4:DF0F 08 00 00 00 00 BA db 08h, 00h, 00h, 00h, 00h,0BAh 31E4:DF15 08 FF FF E0 21 35 db 08h,0FFh,0FFh,0E0h, 21h, 35h 31E4:DF1B 0A FF FF 02 22 B4 db 0Ah,0FFh,0FFh, 02h, 22h,0B4h 31E4:DF21 A1 00 00 32 DF 00 db 0A1h, 00h, 00h, 32h,0DFh, 00h 31E4:DF27 00 90 08 03 00 00 db 00h, 90h, 08h, 03h, 00h, 00h 31E4:DF2D 80 92 09 02 00 00 db 80h, 92h, 09h, 02h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 554 31E4:DF33 00 91 08 00 00 00 db 00h, 91h, 08h, 00h, 00h, 00h 31E4:DF39 00 BA 08 FF FF E0 db 00h,0BAh, 08h,0FFh,0FFh,0E0h 31E4:DF3F 21 36 0A FF FF 02 db 21h, 36h, 0Ah,0FFh,0FFh, 02h 31E4:DF45 22 B4 A1 00 00 58 db 22h,0B4h,0A1h, 00h, 00h, 58h 31E4:DF4B DF 00 00 90 08 03 db 0DFh, 00h, 00h, 90h, 08h, 03h 31E4:DF51 00 00 80 38 0A 02 db 00h, 00h, 80h, 38h, 0Ah, 02h 31E4:DF57 00 00 00 91 08 00 db 00h, 00h, 00h, 91h, 08h, 00h 31E4:DF5D 00 00 00 BA 08 FF db 00h, 00h, 00h,0BAh, 08h,0FFh 31E4:DF63 FF E0 21 37 0A FF db 0FFh,0E0h, 21h, 37h, 0Ah,0FFh 31E4:DF69 FF 02 22 B4 A1 00 db 0FFh, 02h, 22h,0B4h,0A1h, 00h 31E4:DF6F 00 7E DF 00 80 D5 db 00h, 7Eh,0DFh, 00h, 80h,0D5h 31E4:DF75 07 00 00 00 80 20 db 07h, 00h, 00h, 00h, 80h, 20h 31E4:DF7B 08 01 00 00 00 49 db 08h, 01h, 00h, 00h, 00h, 49h 31E4:DF81 A1 01 00 00 00 21 db 0A1h, 01h, 00h, 00h, 00h, 21h 31E4:DF87 08 FF FF 92 DF 00 db 08h,0FFh,0FFh, 92h,0DFh, 00h 31E4:DF8D 80 F9 07 00 00 00 db 80h,0F9h, 07h, 00h, 00h, 00h 31E4:DF93 00 59 08 FF FF A0 db 00h, 59h, 08h,0FFh,0FFh,0A0h 31E4:DF99 DF 00 80 FB 07 00 db 0DFh, 00h, 80h,0FBh, 07h, 00h 31E4:DF9F 00 00 00 5A 08 FF db 00h, 00h, 00h, 5Ah, 08h,0FFh 31E4:DFA5 FF C6 DF 00 00 22 db 0FFh,0C6h,0DFh, 00h, 00h, 22h 31E4:DFAB 08 00 00 00 80 2C db 08h, 00h, 00h, 00h, 80h, 2Ch 31E4:DFB1 08 01 00 00 80 25 db 08h, 01h, 00h, 00h, 80h, 25h 31E4:DFB7 08 02 00 00 80 24 db 08h, 02h, 00h, 00h, 80h, 24h 31E4:DFBD 04 03 00 00 80 24 db 04h, 03h, 00h, 00h, 80h, 24h 31E4:DFC3 04 04 00 00 00 23 db 04h, 04h, 00h, 00h, 00h, 23h 31E4:DFC9 08 FF FF 72 21 24 db 08h,0FFh,0FFh, 72h, 21h, 24h 31E4:DFCF 08 02 00 00 00 26 db 08h, 02h, 00h, 00h, 00h, 26h 31E4:DFD5 08 03 00 00 00 27 db 08h, 03h, 00h, 00h, 00h, 27h 31E4:DFDB 08 04 00 59 21 24 db 08h, 04h, 00h, 59h, 21h, 24h 31E4:DFE1 04 FF FF EC DF 00 db 04h,0FFh,0FFh,0ECh,0DFh, 00h 31E4:DFE7 80 38 08 00 00 00 db 80h, 38h, 08h, 00h, 00h, 00h 31E4:DFED 00 A4 08 FF FF 00 db 00h,0A4h, 08h,0FFh,0FFh, 00h 31E4:DFF3 E0 00 80 24 04 00 db 0E0h, 00h, 80h, 24h, 04h, 00h 31E4:DFF9 00 00 80 41 0A 01 db 00h, 00h, 80h, 41h, 0Ah, 01h 31E4:DFFF 00 00 00 40 0A 01 db 00h, 00h, 00h, 40h, 0Ah, 01h 31E4:E005 00 00 00 42 0A FF db 00h, 00h, 00h, 42h, 0Ah,0FFh 31E4:E00B FF 1A E0 00 80 43 db 0FFh, 1Ah,0E0h, 00h, 80h, 43h 31E4:E011 0A 00 00 00 80 45 db 0Ah, 00h, 00h, 00h, 80h, 45h 31E4:E017 0A 01 00 00 00 44 db 0Ah, 01h, 00h, 00h, 00h, 44h 31E4:E01D 0A 01 00 00 00 46 db 0Ah, 01h, 00h, 00h, 00h, 46h 31E4:E023 0A FF FF 2E E0 00 db 0Ah,0FFh,0FFh, 2Eh,0E0h, 00h 31E4:E029 80 CA 09 00 00 00 db 80h,0CAh, 09h, 00h, 00h, 00h 31E4:E02F 00 74 0A FF FF 54 db 00h, 74h, 0Ah,0FFh,0FFh, 54h 31E4:E035 E0 69 23 03 09 00 db 0E0h, 69h, 23h, 03h, 09h, 00h 31E4:E03B 00 00 80 75 0A 01 db 00h, 00h, 80h, 75h, 0Ah, 01h 31E4:E041 00 00 80 E7 0A 02 db 00h, 00h, 80h,0E7h, 0Ah, 02h 31E4:E047 00 00 80 E9 0A 03 db 00h, 00h, 80h,0E9h, 0Ah, 03h 31E4:E04D 00 00 80 EB 0A 04 db 00h, 00h, 80h,0EBh, 0Ah, 04h 31E4:E053 00 00 00 47 0A FF db 00h, 00h, 00h, 47h, 0Ah,0FFh 31E4:E059 FF 00 00 76 0A 02 db 0FFh, 00h, 00h, 76h, 0Ah, 02h 31E4:E05F 00 00 00 E8 0A 03 db 00h, 00h, 00h,0E8h, 0Ah, 03h 31E4:E065 00 00 00 EA 0A 04 db 00h, 00h, 00h,0EAh, 0Ah, 04h 31E4:E06B 00 00 00 EC 0A FF db 00h, 00h, 00h,0ECh, 0Ah,0FFh 31E4:E071 FF 86 E0 00 80 EF db 0FFh, 86h,0E0h, 00h, 80h,0EFh 31E4:E077 09 00 00 00 00 49 db 09h, 00h, 00h, 00h, 00h, 49h 31E4:E07D 0A 01 00 00 80 4B db 0Ah, 01h, 00h, 00h, 80h, 4Bh 31E4:E083 0A 02 00 00 00 48 db 0Ah, 02h, 00h, 00h, 00h, 48h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 555 31E4:E089 0A 01 00 00 00 4A db 0Ah, 01h, 00h, 00h, 00h, 4Ah 31E4:E08F 0A FF FF 00 00 4C db 0Ah,0FFh,0FFh, 00h, 00h, 4Ch 31E4:E095 0A FF FF A6 E0 00 db 0Ah,0FFh,0FFh,0A6h,0E0h, 00h 31E4:E09B 80 40 09 00 00 00 db 80h, 40h, 09h, 00h, 00h, 00h 31E4:E0A1 80 4E 0A 01 00 00 db 80h, 4Eh, 0Ah, 01h, 00h, 00h 31E4:E0A7 00 4D 0A 01 00 00 db 00h, 4Dh, 0Ah, 01h, 00h, 00h 31E4:E0AD 00 4F 0A FF FF C6 db 00h, 4Fh, 0Ah,0FFh,0FFh,0C6h 31E4:E0B3 E0 00 80 48 09 00 db 0E0h, 00h, 80h, 48h, 09h, 00h 31E4:E0B9 00 00 80 24 04 01 db 00h, 00h, 80h, 24h, 04h, 01h 31E4:E0BF 00 00 80 52 0A 02 db 00h, 00h, 80h, 52h, 0Ah, 02h 31E4:E0C5 00 00 00 50 0A 01 db 00h, 00h, 00h, 50h, 0Ah, 01h 31E4:E0CB 00 00 00 51 0A 02 db 00h, 00h, 00h, 51h, 0Ah, 02h 31E4:E0D1 00 00 00 53 0A FF db 00h, 00h, 00h, 53h, 0Ah,0FFh 31E4:E0D7 FF F2 E0 00 80 97 db 0FFh,0F2h,0E0h, 00h, 80h, 97h 31E4:E0DD 09 00 00 00 00 55 db 09h, 00h, 00h, 00h, 00h, 55h 31E4:E0E3 0A 01 00 00 00 57 db 0Ah, 01h, 00h, 00h, 00h, 57h 31E4:E0E9 0A 02 00 00 80 59 db 0Ah, 02h, 00h, 00h, 80h, 59h 31E4:E0EF 0A 03 00 00 00 54 db 0Ah, 03h, 00h, 00h, 00h, 54h 31E4:E0F5 0A 01 00 00 00 56 db 0Ah, 01h, 00h, 00h, 00h, 56h 31E4:E0FB 0A FF FF 00 00 58 db 0Ah,0FFh,0FFh, 00h, 00h, 58h 31E4:E101 0A FF FF 00 00 5A db 0Ah,0FFh,0FFh, 00h, 00h, 5Ah 31E4:E107 0A FF FF 12 E1 00 db 0Ah,0FFh,0FFh, 12h,0E1h, 00h 31E4:E10D 80 92 09 00 00 00 db 80h, 92h, 09h, 00h, 00h, 00h 31E4:E113 00 5B 0A FF FF 20 db 00h, 5Bh, 0Ah,0FFh,0FFh, 20h 31E4:E119 E1 00 80 5C 0A 00 db 0E1h, 00h, 80h, 5Ch, 0Ah, 00h 31E4:E11F 00 00 00 5D 0A FF db 00h, 00h, 00h, 5Dh, 0Ah,0FFh 31E4:E125 FF 2E E1 00 80 D5 db 0FFh, 2Eh,0E1h, 00h, 80h,0D5h 31E4:E12B 07 00 00 00 00 EF db 07h, 00h, 00h, 00h, 00h,0EFh 31E4:E131 A0 FF FF 3C E1 00 db 0A0h,0FFh,0FFh, 3Ch,0E1h, 00h 31E4:E137 80 D9 07 00 00 00 db 80h,0D9h, 07h, 00h, 00h, 00h 31E4:E13D 00 0B 08 FF FF 50 db 00h, 0Bh, 08h,0FFh,0FFh, 50h 31E4:E143 E1 00 80 19 08 00 db 0E1h, 00h, 80h, 19h, 08h, 00h 31E4:E149 00 00 80 24 04 01 db 00h, 00h, 80h, 24h, 04h, 01h 31E4:E14F 00 00 00 11 08 01 db 00h, 00h, 00h, 11h, 08h, 01h 31E4:E155 00 FF 20 24 04 FF db 00h,0FFh, 20h, 24h, 04h,0FFh 31E4:E15B FF 70 E1 00 80 FB db 0FFh, 70h,0E1h, 00h, 80h,0FBh 31E4:E161 07 00 00 00 80 0D db 07h, 00h, 00h, 00h, 80h, 0Dh 31E4:E167 08 01 00 00 80 24 db 08h, 01h, 00h, 00h, 80h, 24h 31E4:E16D 04 03 00 1C 21 0C db 04h, 03h, 00h, 1Ch, 21h, 0Ch 31E4:E173 08 01 00 00 00 0E db 08h, 01h, 00h, 00h, 00h, 0Eh 31E4:E179 08 FF FF 00 00 17 db 08h,0FFh,0FFh, 00h, 00h, 17h 31E4:E17F 08 02 00 3C 21 24 db 08h, 02h, 00h, 3Ch, 21h, 24h 31E4:E185 04 FF FF 9C E1 00 db 04h,0FFh,0FFh, 9Ch,0E1h, 00h 31E4:E18B 00 22 08 00 00 00 db 00h, 22h, 08h, 00h, 00h, 00h 31E4:E191 80 2C 08 01 00 00 db 80h, 2Ch, 08h, 01h, 00h, 00h 31E4:E197 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:E19D 00 77 08 FF FF 00 db 00h, 77h, 08h,0FFh,0FFh, 00h 31E4:E1A3 00 E1 0A 02 00 2E db 00h,0E1h, 0Ah, 02h, 00h, 2Eh 31E4:E1A9 29 24 04 FF FF B6 db 29h, 24h, 04h,0FFh,0FFh,0B6h 31E4:E1AF E1 00 80 38 08 00 db 0E1h, 00h, 80h, 38h, 08h, 00h 31E4:E1B5 00 00 00 78 08 FF db 00h, 00h, 00h, 78h, 08h,0FFh 31E4:E1BB FF CA E1 00 80 24 db 0FFh,0CAh,0E1h, 00h, 80h, 24h 31E4:E1C1 04 00 00 00 80 CF db 04h, 00h, 00h, 00h, 80h,0CFh 31E4:E1C7 08 01 00 00 00 CE db 08h, 01h, 00h, 00h, 00h,0CEh 31E4:E1CD 08 01 00 00 00 24 db 08h, 01h, 00h, 00h, 00h, 24h 31E4:E1D3 04 FF FF DE E1 00 db 04h,0FFh,0FFh,0DEh,0E1h, 00h 31E4:E1D9 80 F5 08 00 00 00 db 80h,0F5h, 08h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 556 31E4:E1DF 00 F6 08 FF FF FE db 00h,0F6h, 08h,0FFh,0FFh,0FEh 31E4:E1E5 E1 5B 23 F8 08 00 db 0E1h, 5Bh, 23h,0F8h, 08h, 00h 31E4:E1EB 00 00 80 F5 08 02 db 00h, 00h, 80h,0F5h, 08h, 02h 31E4:E1F1 00 db 00h 31E4:E1F2 0007[00] db 7 dup (0) 31E4:E1F9 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:E1FF 00 0F A3 03 00 34 db 00h, 0Fh,0A3h, 03h, 00h, 34h 31E4:E205 23 24 04 FF FF 00 db 23h, 24h, 04h,0FFh,0FFh, 00h 31E4:E20B 00 F6 08 FF FF 5A db 00h,0F6h, 08h,0FFh,0FFh, 5Ah 31E4:E211 E2 00 00 F5 08 00 db 0E2h, 00h, 00h,0F5h, 08h, 00h 31E4:E217 00 8D A4 10 09 01 db 00h, 8Dh,0A4h, 10h, 09h, 01h 31E4:E21D 0008[00] db 8 dup (0) 31E4:E225 80 12 09 02 00 00 db 80h, 12h, 09h, 02h, 00h, 00h 31E4:E22B 80 14 09 03 00 00 db 80h, 14h, 09h, 03h, 00h, 00h 31E4:E231 80 16 09 04 00 00 db 80h, 16h, 09h, 04h, 00h, 00h 31E4:E237 80 18 09 05 00 00 db 80h, 18h, 09h, 05h, 00h, 00h 31E4:E23D 80 24 04 06 00 00 db 80h, 24h, 04h, 06h, 00h, 00h 31E4:E243 00 1B 09 07 00 00 db 00h, 1Bh, 09h, 07h, 00h, 00h 31E4:E249 80 1D 09 08 00 00 db 80h, 1Dh, 09h, 08h, 00h, 00h 31E4:E24F 80 1F 09 09 00 00 db 80h, 1Fh, 09h, 09h, 00h, 00h 31E4:E255 80 24 04 0A 00 00 db 80h, 24h, 04h, 0Ah, 00h, 00h 31E4:E25B 00 F6 08 FF FF 2D db 00h,0F6h, 08h,0FFh,0FFh, 2Dh 31E4:E261 24 11 09 03 00 00 db 24h, 11h, 09h, 03h, 00h, 00h 31E4:E267 00 13 09 04 00 00 db 00h, 13h, 09h, 04h, 00h, 00h 31E4:E26D 00 15 09 05 00 00 db 00h, 15h, 09h, 05h, 00h, 00h 31E4:E273 00 17 09 06 00 00 db 00h, 17h, 09h, 06h, 00h, 00h 31E4:E279 00 19 09 07 00 D3 db 00h, 19h, 09h, 07h, 00h,0D3h 31E4:E27F 23 1A 09 08 00 00 db 23h, 1Ah, 09h, 08h, 00h, 00h 31E4:E285 00 1C 09 09 00 B9 db 00h, 1Ch, 09h, 09h, 00h,0B9h 31E4:E28B 23 1E 09 0A 00 00 db 23h, 1Eh, 09h, 0Ah, 00h, 00h 31E4:E291 00 20 09 0B 00 94 db 00h, 20h, 09h, 0Bh, 00h, 94h 31E4:E297 23 24 04 FF FF 00 db 23h, 24h, 04h,0FFh,0FFh, 00h 31E4:E29D 00 3D 09 FF FF 00 db 00h, 3Dh, 09h,0FFh,0FFh, 00h 31E4:E2A3 00 3E 09 FF FF 00 db 00h, 3Eh, 09h,0FFh,0FFh, 00h 31E4:E2A9 00 3F 09 08 00 BC db 00h, 3Fh, 09h, 08h, 00h,0BCh 31E4:E2AF E2 4E 29 F8 0A 00 db 0E2h, 4Eh, 29h,0F8h, 0Ah, 00h 31E4:E2B5 00 00 80 40 09 01 db 00h, 00h, 80h, 40h, 09h, 01h 31E4:E2BB 00 00 00 F9 0A FF db 00h, 00h, 00h,0F9h, 0Ah,0FFh 31E4:E2C1 FF 00 00 F7 0A FF db 0FFh, 00h, 00h,0F7h, 0Ah,0FFh 31E4:E2C7 FF D6 E2 4E 29 F8 db 0FFh,0D6h,0E2h, 4Eh, 29h,0F8h 31E4:E2CD 0A 00 00 00 80 48 db 0Ah, 00h, 00h, 00h, 80h, 48h 31E4:E2D3 09 01 00 00 00 F9 db 09h, 01h, 00h, 00h, 00h,0F9h 31E4:E2D9 0A FF FF 00 00 FA db 0Ah,0FFh,0FFh, 00h, 00h,0FAh 31E4:E2DF 0A FF FF FC E2 4E db 0Ah,0FFh,0FFh,0FCh,0E2h, 4Eh 31E4:E2E5 29 F8 0A 00 00 00 db 29h,0F8h, 0Ah, 00h, 00h, 00h 31E4:E2EB 80 92 09 01 00 00 db 80h, 92h, 09h, 01h, 00h, 00h 31E4:E2F1 00 FC 0A 02 00 00 db 00h,0FCh, 0Ah, 02h, 00h, 00h 31E4:E2F7 80 FE 0A 03 00 00 db 80h,0FEh, 0Ah, 03h, 00h, 00h 31E4:E2FD 00 F9 0A FF FF 00 db 00h,0F9h, 0Ah,0FFh,0FFh, 00h 31E4:E303 00 FB 0A 02 00 00 db 00h,0FBh, 0Ah, 02h, 00h, 00h 31E4:E309 00 FD 0A FF FF 00 db 00h,0FDh, 0Ah,0FFh,0FFh, 00h 31E4:E30F 00 FF 0A FF FF 3A db 00h,0FFh, 0Ah,0FFh,0FFh, 3Ah 31E4:E315 E3 00 00 38 0A 00 db 0E3h, 00h, 00h, 38h, 0Ah, 00h 31E4:E31B 00 00 80 1F 0B 04 db 00h, 00h, 80h, 1Fh, 0Bh, 04h 31E4:E321 00 00 00 19 0B 01 db 00h, 00h, 00h, 19h, 0Bh, 01h 31E4:E327 00 00 80 1B 0B 02 db 00h, 00h, 80h, 1Bh, 0Bh, 02h 31E4:E32D 00 00 80 1D 0B 03 db 00h, 00h, 80h, 1Dh, 0Bh, 03h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 557 31E4:E333 00 00 80 21 0B 05 db 00h, 00h, 80h, 21h, 0Bh, 05h 31E4:E339 00 00 00 18 0B 02 db 00h, 00h, 00h, 18h, 0Bh, 02h 31E4:E33F 00 00 00 1A 0B FF db 00h, 00h, 00h, 1Ah, 0Bh,0FFh 31E4:E345 FF 00 00 1C 0B 04 db 0FFh, 00h, 00h, 1Ch, 0Bh, 04h 31E4:E34B 00 00 00 1E 0B FF db 00h, 00h, 00h, 1Eh, 0Bh,0FFh 31E4:E351 FF 00 00 20 0B 05 db 0FFh, 00h, 00h, 20h, 0Bh, 05h 31E4:E357 00 00 00 22 0B FF db 00h, 00h, 00h, 22h, 0Bh,0FFh 31E4:E35D FF 78 E3 00 80 D5 db 0FFh, 78h,0E3h, 00h, 80h,0D5h 31E4:E363 87 00 00 00 00 EF db 87h, 00h, 00h, 00h, 00h,0EFh 31E4:E369 07 5D A0 00 80 F6 db 07h, 5Dh,0A0h, 00h, 80h,0F6h 31E4:E36F 07 97 A0 00 80 F2 db 07h, 97h,0A0h, 00h, 80h,0F2h 31E4:E375 07 05 00 00 00 4D db 07h, 05h, 00h, 00h, 00h, 4Dh 31E4:E37B A0 01 00 00 00 F0 db 0A0h, 01h, 00h, 00h, 00h,0F0h 31E4:E381 07 FF FF 00 00 F1 db 07h,0FFh,0FFh, 00h, 00h,0F1h 31E4:E387 07 03 00 00 00 F7 db 07h, 03h, 00h, 00h, 00h,0F7h 31E4:E38D 07 FF FF 00 00 F8 db 07h,0FFh,0FFh, 00h, 00h,0F8h 31E4:E393 07 FF FF BE 20 F4 db 07h,0FFh,0FFh,0BEh, 20h,0F4h 31E4:E399 07 FF FF AA E3 00 db 07h,0FFh,0FFh,0AAh,0E3h, 00h 31E4:E39F 80 FD 07 00 00 00 db 80h,0FDh, 07h, 00h, 00h, 00h 31E4:E3A5 80 FF 07 01 00 00 db 80h,0FFh, 07h, 01h, 00h, 00h 31E4:E3AB 00 FE 07 01 00 00 db 00h,0FEh, 07h, 01h, 00h, 00h 31E4:E3B1 00 24 04 FF FF D0 db 00h, 24h, 04h,0FFh,0FFh,0D0h 31E4:E3B7 E3 00 80 1A 08 00 db 0E3h, 00h, 80h, 1Ah, 08h, 00h 31E4:E3BD 00 00 80 1C 08 01 db 00h, 00h, 80h, 1Ch, 08h, 01h 31E4:E3C3 00 00 80 1E 08 02 db 00h, 00h, 80h, 1Eh, 08h, 02h 31E4:E3C9 00 00 80 24 04 03 db 00h, 00h, 80h, 24h, 04h, 03h 31E4:E3CF 00 00 00 1B 08 01 db 00h, 00h, 00h, 1Bh, 08h, 01h 31E4:E3D5 00 00 00 1D 08 02 db 00h, 00h, 00h, 1Dh, 08h, 02h 31E4:E3DB 00 00 00 00 08 03 db 00h, 00h, 00h, 00h, 08h, 03h 31E4:E3E1 00 E2 20 01 08 FF db 00h,0E2h, 20h, 01h, 08h,0FFh 31E4:E3E7 FF F6 E3 00 00 22 db 0FFh,0F6h,0E3h, 00h, 00h, 22h 31E4:E3ED 08 00 00 00 80 2C db 08h, 00h, 00h, 00h, 80h, 2Ch 31E4:E3F3 08 01 00 00 00 46 db 08h, 01h, 00h, 00h, 00h, 46h 31E4:E3F9 08 FF FF 00 00 A7 db 08h,0FFh,0FFh, 00h, 00h,0A7h 31E4:E3FF 0A FF FF 0A E4 00 db 0Ah,0FFh,0FFh, 0Ah,0E4h, 00h 31E4:E405 80 38 08 00 00 00 db 80h, 38h, 08h, 00h, 00h, 00h 31E4:E40B 00 39 08 FF FF 2A db 00h, 39h, 08h,0FFh,0FFh, 2Ah 31E4:E411 E4 00 80 57 0B 00 db 0E4h, 00h, 80h, 57h, 0Bh, 00h 31E4:E417 00 00 00 59 0B 01 db 00h, 00h, 00h, 59h, 0Bh, 01h 31E4:E41D 00 00 80 5B 0B 02 db 00h, 00h, 80h, 5Bh, 0Bh, 02h 31E4:E423 00 00 80 24 04 03 db 00h, 00h, 80h, 24h, 04h, 03h 31E4:E429 00 00 00 58 0B 01 db 00h, 00h, 00h, 58h, 0Bh, 01h 31E4:E42F 00 00 00 5A 0B FF db 00h, 00h, 00h, 5Ah, 0Bh,0FFh 31E4:E435 FF 00 00 5C 0B FF db 0FFh, 00h, 00h, 5Ch, 0Bh,0FFh 31E4:E43B FF 00 00 24 04 FF db 0FFh, 00h, 00h, 24h, 04h,0FFh 31E4:E441 FF 50 E4 00 80 24 db 0FFh, 50h,0E4h, 00h, 80h, 24h 31E4:E447 04 00 00 00 80 E1 db 04h, 00h, 00h, 00h, 80h,0E1h 31E4:E44D 07 01 00 00 00 E0 db 07h, 01h, 00h, 00h, 00h,0E0h 31E4:E453 07 01 00 00 00 E2 db 07h, 01h, 00h, 00h, 00h,0E2h 31E4:E459 07 FF FF A0 E4 00 db 07h,0FFh,0FFh,0A0h,0E4h, 00h 31E4:E45F 80 E3 07 00 00 00 db 80h,0E3h, 07h, 00h, 00h, 00h 31E4:E465 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:E46B 00 E6 87 02 00 00 db 00h,0E6h, 87h, 02h, 00h, 00h 31E4:E471 00 E9 07 04 00 00 db 00h,0E9h, 07h, 04h, 00h, 00h 31E4:E477 80 F3 07 05 00 00 db 80h,0F3h, 07h, 05h, 00h, 00h 31E4:E47D 80 24 04 03 00 00 db 80h, 24h, 04h, 03h, 00h, 00h 31E4:E483 80 24 04 06 00 00 db 80h, 24h, 04h, 06h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 558 31E4:E489 80 01 0B 07 00 00 db 80h, 01h, 0Bh, 07h, 00h, 00h 31E4:E48F 80 03 0B 08 00 00 db 80h, 03h, 0Bh, 08h, 00h, 00h 31E4:E495 80 05 0B 09 00 00 db 80h, 05h, 0Bh, 09h, 00h, 00h 31E4:E49B 80 07 0B 0A 00 00 db 80h, 07h, 0Bh, 0Ah, 00h, 00h 31E4:E4A1 00 E4 07 01 00 00 db 00h,0E4h, 07h, 01h, 00h, 00h 31E4:E4A7 00 E5 07 02 00 00 db 00h,0E5h, 07h, 02h, 00h, 00h 31E4:E4AD 00 E7 07 05 00 00 db 00h,0E7h, 07h, 05h, 00h, 00h 31E4:E4B3 00 E8 07 03 00 00 db 00h,0E8h, 07h, 03h, 00h, 00h 31E4:E4B9 00 EA 07 06 00 00 db 00h,0EAh, 07h, 06h, 00h, 00h 31E4:E4BF 00 F5 07 FF FF 00 db 00h,0F5h, 07h,0FFh,0FFh, 00h 31E4:E4C5 00 00 0B 07 00 00 db 00h, 00h, 0Bh, 07h, 00h, 00h 31E4:E4CB 00 02 0B 08 00 00 db 00h, 02h, 0Bh, 08h, 00h, 00h 31E4:E4D1 00 04 0B 09 00 00 db 00h, 04h, 0Bh, 09h, 00h, 00h 31E4:E4D7 00 06 0B FF FF 00 db 00h, 06h, 0Bh,0FFh,0FFh, 00h 31E4:E4DD 00 08 0B FF FF EA db 00h, 08h, 0Bh,0FFh,0FFh,0EAh 31E4:E4E3 E4 69 A3 03 09 00 db 0E4h, 69h,0A3h, 03h, 09h, 00h 31E4:E4E9 00 00 00 29 08 FF db 00h, 00h, 00h, 29h, 08h,0FFh 31E4:E4EF FF F8 E4 00 80 24 db 0FFh,0F8h,0E4h, 00h, 80h, 24h 31E4:E4F5 04 00 00 00 00 2A db 04h, 00h, 00h, 00h, 00h, 2Ah 31E4:E4FB 08 FF FF 0C E5 db 08h,0FFh,0FFh, 0Ch,0E5h 31E4:E500 8000 data_1185 dw 8000h ; xref 31E4:90E9 31E4:E502 40 09 00 00 00 80 db 40h, 09h, 00h, 00h, 00h, 80h 31E4:E508 69 0C 01 00 00 00 db 69h, 0Ch, 01h, 00h, 00h, 00h 31E4:E50E 68 0C 01 00 00 00 db 68h, 0Ch, 01h, 00h, 00h, 00h 31E4:E514 6A 0C FF FF 20 E5 db 6Ah, 0Ch,0FFh,0FFh, 20h,0E5h 31E4:E51A 00 80 48 09 00 00 db 00h, 80h, 48h, 09h, 00h, 00h 31E4:E520 00 00 00 0C FF FF db 00h, 00h, 00h, 0Ch,0FFh,0FFh 31E4:E526 3A E5 00 80 24 04 db 3Ah,0E5h, 00h, 80h, 24h, 04h 31E4:E52C 00 00 00 80 6C 0C db 00h, 00h, 00h, 80h, 6Ch, 0Ch 31E4:E532 01 00 00 80 6E 0C db 01h, 00h, 00h, 80h, 6Eh, 0Ch 31E4:E538 02 00 00 00 6B 0C db 02h, 00h, 00h, 00h, 6Bh, 0Ch 31E4:E53E 01 00 00 00 6D 0C db 01h, 00h, 00h, 00h, 6Dh, 0Ch 31E4:E544 02 00 00 00 6F 0C db 02h, 00h, 00h, 00h, 6Fh, 0Ch 31E4:E54A FF FF 5A E5 00 80 db 0FFh,0FFh, 5Ah,0E5h, 00h, 80h 31E4:E550 2E 0B 00 00 00 80 db 2Eh, 0Bh, 00h, 00h, 00h, 80h 31E4:E556 71 0C 01 00 00 00 db 71h, 0Ch, 01h, 00h, 00h, 00h 31E4:E55C 70 0C 01 00 00 00 db 70h, 0Ch, 01h, 00h, 00h, 00h 31E4:E562 24 04 FF FF 7A E5 db 24h, 04h,0FFh,0FFh, 7Ah,0E5h 31E4:E568 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:E56E 00 80 98 0C 01 00 db 00h, 80h, 98h, 0Ch, 01h, 00h 31E4:E574 00 80 9A 0C 02 00 db 00h, 80h, 9Ah, 0Ch, 02h, 00h 31E4:E57A 00 00 97 0C 01 00 db 00h, 00h, 97h, 0Ch, 01h, 00h 31E4:E580 00 00 99 0C 02 00 db 00h, 00h, 99h, 0Ch, 02h, 00h 31E4:E586 00 00 24 04 FF FF db 00h, 00h, 24h, 04h,0FFh,0FFh 31E4:E58C 94 E5 00 80 38 0A db 94h,0E5h, 00h, 80h, 38h, 0Ah 31E4:E592 00 00 00 00 08 0C db 00h, 00h, 00h, 00h, 08h, 0Ch 31E4:E598 FF FF A2 E5 00 80 db 0FFh,0FFh,0A2h,0E5h, 00h, 80h 31E4:E59E 78 00 00 00 00 00 db 78h, 00h, 00h, 00h, 00h, 00h 31E4:E5A4 7D 00 FF FF CE E5 db 7Dh, 00h,0FFh,0FFh,0CEh,0E5h 31E4:E5AA 00 80 24 04 00 00 db 00h, 80h, 24h, 04h, 00h, 00h 31E4:E5B0 00 80 FB 00 02 00 db 00h, 80h,0FBh, 00h, 02h, 00h 31E4:E5B6 00 80 F9 00 03 00 db 00h, 80h,0F9h, 00h, 03h, 00h 31E4:E5BC 00 80 FC 00 04 00 db 00h, 80h,0FCh, 00h, 04h, 00h 31E4:E5C2 00 80 FE 00 05 00 db 00h, 80h,0FEh, 00h, 05h, 00h 31E4:E5C8 00 80 24 04 06 00 db 00h, 80h, 24h, 04h, 06h, 00h 31E4:E5CE CF 1F FD 00 FF FF db 0CFh, 1Fh,0FDh, 00h,0FFh,0FFh 31E4:E5D4 00 00 24 04 01 00 db 00h, 00h, 24h, 04h, 01h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 559 31E4:E5DA 0B 20 00 01 02 00 db 0Bh, 20h, 00h, 01h, 02h, 00h 31E4:E5E0 00 00 FF 00 03 00 db 00h, 00h,0FFh, 00h, 03h, 00h 31E4:E5E6 00 00 01 01 04 00 db 00h, 00h, 01h, 01h, 04h, 00h 31E4:E5EC 00 00 94 00 05 00 db 00h, 00h, 94h, 00h, 05h, 00h 31E4:E5F2 E9 1F 24 04 FF FF db 0E9h, 1Fh, 24h, 04h,0FFh,0FFh 31E4:E5F8 06 E6 00 80 F4 00 db 06h,0E6h, 00h, 80h,0F4h, 00h 31E4:E5FE 00 00 00 80 F6 00 db 00h, 00h, 00h, 80h,0F6h, 00h 31E4:E604 01 00 00 00 F5 00 db 01h, 00h, 00h, 00h,0F5h, 00h 31E4:E60A 01 00 00 00 F7 00 db 01h, 00h, 00h, 00h,0F7h, 00h 31E4:E610 FF FF 1A E6 00 80 db 0FFh,0FFh, 1Ah,0E6h, 00h, 80h 31E4:E616 F9 07 00 00 00 00 db 0F9h, 07h, 00h, 00h, 00h, 00h 31E4:E61C FA 07 FF FF 28 E6 db 0FAh, 07h,0FFh,0FFh, 28h,0E6h 31E4:E622 00 80 FB 07 00 00 db 00h, 80h,0FBh, 07h, 00h, 00h 31E4:E628 00 00 FC 07 FF FF db 00h, 00h,0FCh, 07h,0FFh,0FFh 31E4:E62E 3C E6 00 80 C9 08 db 3Ch,0E6h, 00h, 80h,0C9h, 08h 31E4:E634 00 00 00 80 24 04 db 00h, 00h, 00h, 80h, 24h, 04h 31E4:E63A 01 00 00 00 CA 08 db 01h, 00h, 00h, 00h,0CAh, 08h 31E4:E640 01 00 A8 22 24 04 db 01h, 00h,0A8h, 22h, 24h, 04h 31E4:E646 FF FF 56 E6 00 00 db 0FFh,0FFh, 56h,0E6h, 00h, 00h 31E4:E64C 2C 08 01 00 00 80 db 2Ch, 08h, 01h, 00h, 00h, 80h 31E4:E652 22 08 00 00 00 00 db 22h, 08h, 00h, 00h, 00h, 00h 31E4:E658 3B 08 FF FF 00 00 db 3Bh, 08h,0FFh,0FFh, 00h, 00h 31E4:E65E D7 0A FF FF 6A E6 db 0D7h, 0Ah,0FFh,0FFh, 6Ah,0E6h 31E4:E664 00 80 CB 08 00 00 db 00h, 80h,0CBh, 08h, 00h, 00h 31E4:E66A 00 00 CC 08 FF FF db 00h, 00h,0CCh, 08h,0FFh,0FFh 31E4:E670 78 E6 00 80 C9 08 db 78h,0E6h, 00h, 80h,0C9h, 08h 31E4:E676 00 00 00 00 10 0A db 00h, 00h, 00h, 00h, 10h, 0Ah 31E4:E67C FF FF 86 E6 00 80 db 0FFh,0FFh, 86h,0E6h, 00h, 80h 31E4:E682 38 08 00 00 00 00 db 38h, 08h, 00h, 00h, 00h, 00h 31E4:E688 3A 08 FF FF B2 E6 db 3Ah, 08h,0FFh,0FFh,0B2h,0E6h 31E4:E68E 69 23 03 09 00 00 db 69h, 23h, 03h, 09h, 00h, 00h 31E4:E694 00 80 C9 08 03 00 db 00h, 80h,0C9h, 08h, 03h, 00h 31E4:E69A 0007[00] db 7 dup (0) 31E4:E6A1 80 05 09 01 00 00 db 80h, 05h, 09h, 01h, 00h, 00h 31E4:E6A7 80 07 09 02 00 00 db 80h, 07h, 09h, 02h, 00h, 00h 31E4:E6AD 80 12 0A 04 00 00 db 80h, 12h, 0Ah, 04h, 00h, 00h 31E4:E6B3 00 04 09 03 00 00 db 00h, 04h, 09h, 03h, 00h, 00h 31E4:E6B9 00 06 09 04 00 00 db 00h, 06h, 09h, 04h, 00h, 00h 31E4:E6BF 00 08 09 FF FF 00 db 00h, 08h, 09h,0FFh,0FFh, 00h 31E4:E6C5 00 11 0A 05 00 00 db 00h, 11h, 0Ah, 05h, 00h, 00h 31E4:E6CB 00 13 0A FF FF EA db 00h, 13h, 0Ah,0FFh,0FFh,0EAh 31E4:E6D1 E6 00 80 C9 08 00 db 0E6h, 00h, 80h,0C9h, 08h, 00h 31E4:E6D7 0009[00] db 9 dup (0) 31E4:E6E0 15 0A 01 00 00 80 db 15h, 0Ah, 01h, 00h, 00h, 80h 31E4:E6E6 17 0A 02 00 00 00 db 17h, 0Ah, 02h, 00h, 00h, 00h 31E4:E6EC 14 0A 02 00 00 00 db 14h, 0Ah, 02h, 00h, 00h, 00h 31E4:E6F2 16 0A FF FF 00 00 db 16h, 0Ah,0FFh,0FFh, 00h, 00h 31E4:E6F8 18 0A FF FF 04 E7 db 18h, 0Ah,0FFh,0FFh, 04h,0E7h 31E4:E6FE 00 80 C9 08 00 00 db 00h, 80h,0C9h, 08h, 00h, 00h 31E4:E704 00 00 19 0A FF FF db 00h, 00h, 19h, 0Ah,0FFh,0FFh 31E4:E70A 2A E7 00 00 1A 0A db 2Ah,0E7h, 00h, 00h, 1Ah, 0Ah 31E4:E710 00 00 00 80 48 09 db 00h, 00h, 00h, 80h, 48h, 09h 31E4:E716 02 db 02h 31E4:E717 0008[00] db 8 dup (0) 31E4:E71F 80 1C 0A 01 00 00 db 80h, 1Ch, 0Ah, 01h, 00h, 00h 31E4:E725 80 1F 0A 03 00 00 db 80h, 1Fh, 0Ah, 03h, 00h, 00h 31E4:E72B 00 1B 0A 03 00 00 db 00h, 1Bh, 0Ah, 03h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 560 31E4:E731 00 1D 0A FF FF 00 db 00h, 1Dh, 0Ah,0FFh,0FFh, 00h 31E4:E737 00 1E 0A 04 00 00 db 00h, 1Eh, 0Ah, 04h, 00h, 00h 31E4:E73D 00 20 0A FF FF 4A db 00h, 20h, 0Ah,0FFh,0FFh, 4Ah 31E4:E743 E7 00 80 C9 08 00 db 0E7h, 00h, 80h,0C9h, 08h, 00h 31E4:E749 00 00 00 21 0A FF db 00h, 00h, 00h, 21h, 0Ah,0FFh 31E4:E74F FF 6A E7 00 80 22 db 0FFh, 6Ah,0E7h, 00h, 80h, 22h 31E4:E755 0A 00 00 00 80 24 db 0Ah, 00h, 00h, 00h, 80h, 24h 31E4:E75B 04 01 00 00 80 25 db 04h, 01h, 00h, 00h, 80h, 25h 31E4:E761 0A 02 00 00 80 27 db 0Ah, 02h, 00h, 00h, 80h, 27h 31E4:E767 0A 03 00 00 00 23 db 0Ah, 03h, 00h, 00h, 00h, 23h 31E4:E76D 0A 01 00 00 00 24 db 0Ah, 01h, 00h, 00h, 00h, 24h 31E4:E773 0A 02 00 00 00 26 db 0Ah, 02h, 00h, 00h, 00h, 26h 31E4:E779 0A 03 00 00 00 28 db 0Ah, 03h, 00h, 00h, 00h, 28h 31E4:E77F 0A FF FF BA E7 4F db 0Ah,0FFh,0FFh,0BAh,0E7h, 4Fh 31E4:E785 2A 88 0B 00 00 00 db 2Ah, 88h, 0Bh, 00h, 00h, 00h 31E4:E78B 00 7D 0B 03 00 00 db 00h, 7Dh, 0Bh, 03h, 00h, 00h 31E4:E791 80 38 0A 05 00 00 db 80h, 38h, 0Ah, 05h, 00h, 00h 31E4:E797 80 8A 0B 01 00 00 db 80h, 8Ah, 0Bh, 01h, 00h, 00h 31E4:E79D 80 8C 0B 02 00 00 db 80h, 8Ch, 0Bh, 02h, 00h, 00h 31E4:E7A3 80 7F 0B 04 00 00 db 80h, 7Fh, 0Bh, 04h, 00h, 00h 31E4:E7A9 80 82 0B 06 00 00 db 80h, 82h, 0Bh, 06h, 00h, 00h 31E4:E7AF 80 84 0B 07 00 00 db 80h, 84h, 0Bh, 07h, 00h, 00h 31E4:E7B5 80 86 0B 08 00 00 db 80h, 86h, 0Bh, 08h, 00h, 00h 31E4:E7BB 00 89 0B 03 00 00 db 00h, 89h, 0Bh, 03h, 00h, 00h 31E4:E7C1 00 8B 0B 04 00 00 db 00h, 8Bh, 0Bh, 04h, 00h, 00h 31E4:E7C7 00 8D 0B FF FF 00 db 00h, 8Dh, 0Bh,0FFh,0FFh, 00h 31E4:E7CD 00 7E 0B 05 00 00 db 00h, 7Eh, 0Bh, 05h, 00h, 00h 31E4:E7D3 00 80 0B FF FF 00 db 00h, 80h, 0Bh,0FFh,0FFh, 00h 31E4:E7D9 00 81 0B 06 00 00 db 00h, 81h, 0Bh, 06h, 00h, 00h 31E4:E7DF 00 83 0B 07 00 00 db 00h, 83h, 0Bh, 07h, 00h, 00h 31E4:E7E5 00 85 0B 08 00 00 db 00h, 85h, 0Bh, 08h, 00h, 00h 31E4:E7EB 00 87 0B FF FF 0A db 00h, 87h, 0Bh,0FFh,0FFh, 0Ah 31E4:E7F1 E8 00 80 24 84 00 db 0E8h, 00h, 80h, 24h, 84h, 00h 31E4:E7F7 00 00 80 5F 08 03 db 00h, 00h, 80h, 5Fh, 08h, 03h 31E4:E7FD 00 00 80 58 08 01 db 00h, 00h, 80h, 58h, 08h, 01h 31E4:E803 00 00 80 5D 08 02 db 00h, 00h, 80h, 5Dh, 08h, 02h 31E4:E809 00 00 00 57 08 02 db 00h, 00h, 00h, 57h, 08h, 02h 31E4:E80F 00 00 00 5C 08 03 db 00h, 00h, 00h, 5Ch, 08h, 03h 31E4:E815 00 82 21 5E 08 FF db 00h, 82h, 21h, 5Eh, 08h,0FFh 31E4:E81B FF 00 00 60 08 FF db 0FFh, 00h, 00h, 60h, 08h,0FFh 31E4:E821 FF 3C E8 00 00 B2 db 0FFh, 3Ch,0E8h, 00h, 00h,0B2h 31E4:E827 00 00 00 00 00 B3 db 00h, 00h, 00h, 00h, 00h,0B3h 31E4:E82D 00 01 00 00 80 B4 db 00h, 01h, 00h, 00h, 80h,0B4h 31E4:E833 00 02 00 00 80 F2 db 00h, 02h, 00h, 00h, 80h,0F2h 31E4:E839 00 03 00 FD 06 C1 db 00h, 03h, 00h,0FDh, 06h,0C1h 31E4:E83F 00 FF FF FD 06 C2 db 00h,0FFh,0FFh,0FDh, 06h,0C2h 31E4:E845 00 FF FF FD 06 C7 db 00h,0FFh,0FFh,0FDh, 06h,0C7h 31E4:E84B 00 03 00 00 00 F3 db 00h, 03h, 00h, 00h, 00h,0F3h 31E4:E851 00 FF FF 5C E8 00 db 00h,0FFh,0FFh, 5Ch,0E8h, 00h 31E4:E857 80 31 01 00 00 00 db 80h, 31h, 01h, 00h, 00h, 00h 31E4:E85D 00 32 01 FF FF 70 db 00h, 32h, 01h,0FFh,0FFh, 70h 31E4:E863 E8 00 80 24 04 00 db 0E8h, 00h, 80h, 24h, 04h, 00h 31E4:E869 00 00 80 D9 0A 01 db 00h, 00h, 80h,0D9h, 0Ah, 01h 31E4:E86F 00 00 00 D8 0A 01 db 00h, 00h, 00h,0D8h, 0Ah, 01h 31E4:E875 00 00 00 DA 0A FF db 00h, 00h, 00h,0DAh, 0Ah,0FFh 31E4:E87B FF 8A E8 00 80 D0 db 0FFh, 8Ah,0E8h, 00h, 80h,0D0h 31E4:E881 07 00 00 00 80 24 db 07h, 00h, 00h, 00h, 80h, 24h 31E4:E887 04 01 00 00 00 D1 db 04h, 01h, 00h, 00h, 00h,0D1h 31E4:E88D 07 01 00 00 00 D2 db 07h, 01h, 00h, 00h, 00h,0D2h 31E4:E893 07 FF FF B0 E8 00 db 07h,0FFh,0FFh,0B0h,0E8h, 00h 31E4:E899 80 db 80h 31E4:E89A 22 08 db 22h, 08h 31E4:E89C 0009[00] db 9 dup (0) 31E4:E8A5 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:E8AB 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:E8B1 00 3C 08 02 00 00 db 00h, 3Ch, 08h, 02h, 00h, 00h 31E4:E8B7 00 3D 08 03 00 00 db 00h, 3Dh, 08h, 03h, 00h, 00h 31E4:E8BD 00 3E 08 FF FF E8 db 00h, 3Eh, 08h,0FFh,0FFh,0E8h 31E4:E8C3 E8 00 80 db 0E8h, 00h, 80h 31E4:E8C6 38 08 db 38h, 08h 31E4:E8C8 0009[00] db 9 dup (0) 31E4:E8D1 80 40 08 01 00 00 db 80h, 40h, 08h, 01h, 00h, 00h 31E4:E8D7 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:E8DD 80 24 04 03 00 00 db 80h, 24h, 04h, 03h, 00h, 00h 31E4:E8E3 80 44 08 04 00 00 db 80h, 44h, 08h, 04h, 00h, 00h 31E4:E8E9 00 3F 08 02 00 00 db 00h, 3Fh, 08h, 02h, 00h, 00h 31E4:E8EF 00 41 08 03 00 00 db 00h, 41h, 08h, 03h, 00h, 00h 31E4:E8F5 00 42 08 04 00 00 db 00h, 42h, 08h, 04h, 00h, 00h 31E4:E8FB 00 43 08 05 00 db 00h, 43h, 08h, 05h, 00h 31E4:E900 00 data_1191 db 0 ; Data table (indexed access) 31E4:E901 00 45 08 FF FF 1A db 00h, 45h, 08h,0FFh,0FFh, 1Ah 31E4:E907 E9 00 80 FB 07 db 0E9h, 00h, 80h,0FBh, 07h 31E4:E90C 0009[00] db 9 dup (0) 31E4:E915 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:E91B 00 08 08 02 00 00 db 00h, 08h, 08h, 02h, 00h, 00h 31E4:E921 00 09 08 FF FF 52 db 00h, 09h, 08h,0FFh,0FFh, 52h 31E4:E927 E9 00 80 D5 87 00 db 0E9h, 00h, 80h,0D5h, 87h, 00h 31E4:E92D 00 00 80 24 84 01 db 00h, 00h, 80h, 24h, 84h, 01h 31E4:E933 00 00 80 24 84 02 db 00h, 00h, 80h, 24h, 84h, 02h 31E4:E939 00 2B A0 D9 07 03 db 00h, 2Bh,0A0h,0D9h, 07h, 03h 31E4:E93F 00 db 00h 31E4:E940 0007[00] db 7 dup (0) 31E4:E947 80 24 04 04 00 00 db 80h, 24h, 04h, 04h, 00h, 00h 31E4:E94D 80 24 04 05 00 00 db 80h, 24h, 04h, 05h, 00h, 00h 31E4:E953 00 1B A0 01 00 00 db 00h, 1Bh,0A0h, 01h, 00h, 00h 31E4:E959 00 D7 07 02 00 00 db 00h,0D7h, 07h, 02h, 00h, 00h 31E4:E95F 00 D8 07 FF FF 00 db 00h,0D8h, 07h,0FFh,0FFh, 00h 31E4:E965 00 DA 07 05 00 00 db 00h,0DAh, 07h, 05h, 00h, 00h 31E4:E96B 00 DB 07 06 00 00 db 00h,0DBh, 07h, 06h, 00h, 00h 31E4:E971 00 DC 07 FF FF 90 db 00h,0DCh, 07h,0FFh,0FFh, 90h 31E4:E977 E9 00 80 db 0E9h, 00h, 80h 31E4:E97A 29 0A db 29h, 0Ah 31E4:E97C 0009[00] db 9 dup (0) 31E4:E985 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:E98B 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:E991 00 2A 0A 02 00 00 db 00h, 2Ah, 0Ah, 02h, 00h, 00h 31E4:E997 00 2B 0A 03 00 00 db 00h, 2Bh, 0Ah, 03h, 00h, 00h 31E4:E99D 00 2C 0A FF FF B0 db 00h, 2Ch, 0Ah,0FFh,0FFh,0B0h 31E4:E9A3 E9 00 80 24 04 00 db 0E9h, 00h, 80h, 24h, 04h, 00h 31E4:E9A9 00 00 80 24 04 01 db 00h, 00h, 80h, 24h, 04h, 01h 31E4:E9AF 00 00 00 77 09 01 db 00h, 00h, 00h, 77h, 09h, 01h 31E4:E9B5 00 00 00 78 09 FF db 00h, 00h, 00h, 78h, 09h,0FFh 31E4:E9BB FF C4 E9 00 80 CA db 0FFh,0C4h,0E9h, 00h, 80h,0CAh 31E4:E9C1 09 00 db 09h, 00h 31E4:E9C3 00 00 00 CB 09 FF db 00h, 00h, 00h,0CBh, 09h,0FFh 31E4:E9C9 FF EA E9 69 A3 03 db 0FFh,0EAh,0E9h, 69h,0A3h, 03h 31E4:E9CF 09 00 00 00 80 24 db 09h, 00h, 00h, 00h, 80h, 24h 31E4:E9D5 04 02 00 db 04h, 02h, 00h 31E4:E9D8 0007[00] db 7 dup (0) 31E4:E9DF 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:E9E5 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:E9EB 00 79 09 03 00 00 db 00h, 79h, 09h, 03h, 00h, 00h 31E4:E9F1 00 7A 09 04 00 00 db 00h, 7Ah, 09h, 04h, 00h, 00h 31E4:E9F7 00 7B 09 FF FF 0A db 00h, 7Bh, 09h,0FFh,0FFh, 0Ah 31E4:E9FD EA 00 80 24 04 00 db 0EAh, 00h, 80h, 24h, 04h, 00h 31E4:EA03 00 00 80 CD 09 01 db 00h, 00h, 80h,0CDh, 09h, 01h 31E4:EA09 00 00 00 CC 09 01 db 00h, 00h, 00h,0CCh, 09h, 01h 31E4:EA0F 00 00 00 45 08 FF db 00h, 00h, 00h, 45h, 08h,0FFh 31E4:EA15 FF 30 EA 00 80 db 0FFh, 30h,0EAh, 00h, 80h 31E4:EA1A 40 09 db 40h, 09h 31E4:EA1C 0009[00] db 9 dup (0) 31E4:EA25 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:EA2B 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:EA31 00 CF 09 02 00 00 db 00h,0CFh, 09h, 02h, 00h, 00h 31E4:EA37 00 D0 09 03 00 00 db 00h,0D0h, 09h, 03h, 00h, 00h 31E4:EA3D 00 D1 09 FF FF 5C db 00h,0D1h, 09h,0FFh,0FFh, 5Ch 31E4:EA43 EA 00 80 db 0EAh, 00h, 80h 31E4:EA46 48 09 db 48h, 09h 31E4:EA48 0009[00] db 9 dup (0) 31E4:EA51 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:EA57 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:EA5D 00 B7 09 02 00 00 db 00h,0B7h, 09h, 02h, 00h, 00h 31E4:EA63 00 B8 09 03 00 00 db 00h,0B8h, 09h, 03h, 00h, 00h 31E4:EA69 00 B9 09 FF FF 8E db 00h,0B9h, 09h,0FFh,0FFh, 8Eh 31E4:EA6F EA 00 80 92 09 00 db 0EAh, 00h, 80h, 92h, 09h, 00h 31E4:EA75 00 db 00h 31E4:EA76 0007[00] db 7 dup (0) 31E4:EA7D 80 24 04 03 00 00 db 80h, 24h, 04h, 03h, 00h, 00h 31E4:EA83 80 BC 09 04 00 00 db 80h,0BCh, 09h, 04h, 00h, 00h 31E4:EA89 80 24 04 02 00 DC db 80h, 24h, 04h, 02h, 00h,0DCh 31E4:EA8F 27 BA 09 02 00 00 db 27h,0BAh, 09h, 02h, 00h, 00h 31E4:EA95 00 BE 09 04 00 00 db 00h,0BEh, 09h, 04h, 00h, 00h 31E4:EA9B 00 BF 09 FF FF 00 db 00h,0BFh, 09h,0FFh,0FFh, 00h 31E4:EAA1 00 BB 09 03 00 E7 db 00h,0BBh, 09h, 03h, 00h,0E7h 31E4:EAA7 26 BD 09 FF FF C0 db 26h,0BDh, 09h,0FFh,0FFh,0C0h 31E4:EAAD EA 00 80 75 0C 00 db 0EAh, 00h, 80h, 75h, 0Ch, 00h 31E4:EAB3 00 00 80 24 04 01 db 00h, 00h, 80h, 24h, 04h, 01h 31E4:EAB9 00 00 80 24 04 02 db 00h, 00h, 80h, 24h, 04h, 02h 31E4:EABF 00 00 00 76 0C 01 db 00h, 00h, 00h, 76h, 0Ch, 01h 31E4:EAC5 00 00 00 77 0C 02 db 00h, 00h, 00h, 77h, 0Ch, 02h 31E4:EACB 00 00 00 78 0C FF db 00h, 00h, 00h, 78h, 0Ch,0FFh 31E4:EAD1 FF E6 EA 00 80 C0 db 0FFh,0E6h,0EAh, 00h, 80h,0C0h 31E4:EAD7 09 00 00 00 80 A9 db 09h, 00h, 00h, 00h, 80h,0A9h 31E4:EADD 09 02 00 00 80 24 db 09h, 02h, 00h, 00h, 80h, 24h 31E4:EAE3 04 03 00 17 27 AB db 04h, 03h, 00h, 17h, 27h,0ABh 31E4:EAE9 09 FF FF 00 00 C1 db 09h,0FFh,0FFh, 00h, 00h,0C1h 31E4:EAEF 09 01 00 00 00 C2 db 09h, 01h, 00h, 00h, 00h,0C2h 31E4:EAF5 09 02 00 F3 27 24 db 09h, 02h, 00h,0F3h, 27h, 24h 31E4:EAFB 04 FF FF 12 EB 00 db 04h,0FFh,0FFh, 12h,0EBh, 00h 31E4:EB01 80 38 0A 00 00 00 db 80h, 38h, 0Ah, 00h, 00h, 00h 31E4:EB07 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:EB0D 80 24 04 02 00 00 db 80h, 24h, 04h, 02h, 00h, 00h 31E4:EB13 00 23 0B 01 00 00 db 00h, 23h, 0Bh, 01h, 00h, 00h 31E4:EB19 00 24 0B 02 00 00 db 00h, 24h, 0Bh, 02h, 00h, 00h 31E4:EB1F 00 25 0B FF FF 31E4:EB24 EB56 skorl_talk_0 dw offset skorl_responses 31E4:EB26 00 00 AF 00 01 db 00h, 00h,0AFh, 00h, 01h 31E4:EB2B 00 00 00 B0 00 01 db 00h, 00h, 00h,0B0h, 00h, 01h 31E4:EB31 00 00 80 B1 00 02 db 00h, 00h, 80h,0B1h, 00h, 02h 31E4:EB37 00 00 00 B5 00 03 db 00h, 00h, 00h,0B5h, 00h, 03h 31E4:EB3D 00 00 00 B6 00 04 db 00h, 00h, 00h,0B6h, 00h, 04h 31E4:EB43 00 00 80 B7 00 05 db 00h, 00h, 80h,0B7h, 00h, 05h 31E4:EB49 00 00 00 B8 00 06 db 00h, 00h, 00h,0B8h, 00h, 06h 31E4:EB4F 00 00 80 B9 00 07 db 00h, 00h, 80h,0B9h, 00h, 07h 31E4:EB55 00 db 00h 31E4:EB56 0000 00BF FFFF skorl_responses dw 0000h, 00BFh, 0FFFFh 31E4:EB5C 1FA8 00BE 0003 31E4:EB62 1FC2 00C0 FFFF 31E4:EB68 0000 00C4 FFFF 31E4:EB6E 0000 00C3 FFFF 31E4:EB74 0000 00C6 0006 31E4:EB7A 0000 00C5 FFFF 31E4:EB80 0000 00C8 FFFF 31E4:EB86 EBA6 8000 099E 31E4:EB86 A6 EB 00 80 9E db 0A6h,0EBh, 00h, 80h, 9Eh 31E4:EB8B 09 00 00 00 80 A0 db 09h, 00h, 00h, 00h, 80h,0A0h 31E4:EB91 09 01 00 00 80 A2 db 09h, 01h, 00h, 00h, 80h,0A2h 31E4:EB97 09 02 00 00 80 6C db 09h, 02h, 00h, 00h, 80h, 6Ch 31E4:EB9D 09 03 00 00 80 A5 db 09h, 03h, 00h, 00h, 80h,0A5h 31E4:EBA3 09 04 00 00 00 9F db 09h, 04h, 00h, 00h, 00h, 9Fh 31E4:EBA9 09 01 00 00 00 A1 db 09h, 01h, 00h, 00h, 00h,0A1h 31E4:EBAF 09 02 00 00 00 A3 db 09h, 02h, 00h, 00h, 00h,0A3h 31E4:EBB5 09 03 00 00 00 A4 db 09h, 03h, 00h, 00h, 00h,0A4h 31E4:EBBB 09 04 00 C1 26 A6 db 09h, 04h, 00h,0C1h, 26h,0A6h 31E4:EBC1 09 FF FF CC EB 00 db 09h,0FFh,0FFh,0CCh,0EBh, 00h 31E4:EBC7 80 7A 0A 00 00 00 db 80h, 7Ah, 0Ah, 00h, 00h, 00h 31E4:EBCD 00 7B 0A FF FF DA db 00h, 7Bh, 0Ah,0FFh,0FFh,0DAh 31E4:EBD3 EB 00 80 9E 09 00 db 0EBh, 00h, 80h, 9Eh, 09h, 00h 31E4:EBD9 00 00 00 79 0A FF db 00h, 00h, 00h, 79h, 0Ah,0FFh 31E4:EBDF FF E8 EB 00 80 9E db 0FFh,0E8h,0EBh, 00h, 80h, 9Eh 31E4:EBE5 09 00 00 00 00 24 db 09h, 00h, 00h, 00h, 00h, 24h 31E4:EBEB 04 FF FF 32 EC 00 db 04h,0FFh,0FFh, 32h,0ECh, 00h 31E4:EBF1 80 FB 09 00 00 00 db 80h,0FBh, 09h, 00h, 00h, 00h 31E4:EBF7 00 FD 89 02 00 00 db 00h,0FDh, 89h, 02h, 00h, 00h 31E4:EBFD 00 FF 89 03 00 00 db 00h,0FFh, 89h, 03h, 00h, 00h 31E4:EC03 80 01 0A 04 00 00 db 80h, 01h, 0Ah, 04h, 00h, 00h 31E4:EC09 80 69 08 05 00 00 db 80h, 69h, 08h, 05h, 00h, 00h 31E4:EC0F 80 24 04 06 00 00 db 80h, 24h, 04h, 06h, 00h, 00h 31E4:EC15 80 24 04 07 00 00 db 80h, 24h, 04h, 07h, 00h, 00h 31E4:EC1B 80 06 0A 08 00 00 db 80h, 06h, 0Ah, 08h, 00h, 00h 31E4:EC21 80 08 0A 09 00 00 db 80h, 08h, 0Ah, 09h, 00h, 00h 31E4:EC27 80 0A 0A 0A 00 00 db 80h, 0Ah, 0Ah, 0Ah, 00h, 00h 31E4:EC2D 80 0C 0A 0B 00 78 db 80h, 0Ch, 0Ah, 0Bh, 00h, 78h 31E4:EC33 28 24 04 FF FF 00 db 28h, 24h, 04h,0FFh,0FFh, 00h 31E4:EC39 00 FC 09 01 00 00 db 00h,0FCh, 09h, 01h, 00h, 00h 31E4:EC3F 00 FE 09 01 00 00 db 00h,0FEh, 09h, 01h, 00h, 00h 31E4:EC45 00 00 0A 01 00 00 db 00h, 00h, 0Ah, 01h, 00h, 00h 31E4:EC4B 00 02 0A 04 00 00 db 00h, 02h, 0Ah, 04h, 00h, 00h 31E4:EC51 00 03 0A 05 00 00 db 00h, 03h, 0Ah, 05h, 00h, 00h 31E4:EC57 00 04 0A 07 00 00 db 00h, 04h, 0Ah, 07h, 00h, 00h 31E4:EC5D 00 05 0A 07 00 00 db 00h, 05h, 0Ah, 07h, 00h, 00h 31E4:EC63 00 07 0A 08 00 00 db 00h, 07h, 0Ah, 08h, 00h, 00h 31E4:EC69 00 09 0A 09 00 A5 db 00h, 09h, 0Ah, 09h, 00h,0A5h 31E4:EC6F 28 0B 0A 0A 00 00 db 28h, 0Bh, 0Ah, 0Ah, 00h, 00h 31E4:EC75 00 24 04 FF FF 82 db 00h, 24h, 04h,0FFh,0FFh, 82h 31E4:EC7B EC 00 80 05 0A 00 db 0ECh, 00h, 80h, 05h, 0Ah, 00h 31E4:EC81 00 00 00 24 04 FF db 00h, 00h, 00h, 24h, 04h,0FFh 31E4:EC87 FF 9C EC 00 80 D5 db 0FFh, 9Ch,0ECh, 00h, 80h,0D5h 31E4:EC8D 07 00 00 00 00 85 db 07h, 00h, 00h, 00h, 00h, 85h 31E4:EC93 0A 01 00 00 80 87 db 0Ah, 01h, 00h, 00h, 80h, 87h 31E4:EC99 0A 02 00 E1 28 84 db 0Ah, 02h, 00h,0E1h, 28h, 84h 31E4:EC9F 0A 01 00 00 00 86 db 0Ah, 01h, 00h, 00h, 00h, 86h 31E4:ECA5 0A FF FF 00 00 88 db 0Ah,0FFh,0FFh, 00h, 00h, 88h 31E4:ECAB 0A FF FF B6 EC 00 db 0Ah,0FFh,0FFh,0B6h,0ECh, 00h 31E4:ECB1 80 F9 07 00 00 00 db 80h,0F9h, 07h, 00h, 00h, 00h 31E4:ECB7 00 89 0A FF FF C4 db 00h, 89h, 0Ah,0FFh,0FFh,0C4h 31E4:ECBD EC 00 80 FB 07 00 db 0ECh, 00h, 80h,0FBh, 07h, 00h 31E4:ECC3 00 00 00 8A 0A FF db 00h, 00h, 00h, 8Ah, 0Ah,0FFh 31E4:ECC9 FF D8 EC 00 00 22 db 0FFh,0D8h,0ECh, 00h, 00h, 22h 31E4:ECCF 08 00 00 00 80 2C db 08h, 00h, 00h, 00h, 80h, 2Ch 31E4:ECD5 08 01 00 00 00 8B db 08h, 01h, 00h, 00h, 00h, 8Bh 31E4:ECDB 0A FF FF 00 00 8C db 0Ah,0FFh,0FFh, 00h, 00h, 8Ch 31E4:ECE1 0A FF FF EC EC 00 db 0Ah,0FFh,0FFh,0ECh,0ECh, 00h 31E4:ECE7 80 38 08 00 00 00 db 80h, 38h, 08h, 00h, 00h, 00h 31E4:ECED 00 8D 0A FF FF 00 db 00h, 8Dh, 0Ah,0FFh,0FFh, 00h 31E4:ECF3 ED 00 80 24 04 00 db 0EDh, 00h, 80h, 24h, 04h, 00h 31E4:ECF9 00 00 80 8F 0A 01 db 00h, 00h, 80h, 8Fh, 0Ah, 01h 31E4:ECFF 00 00 00 8E 0A 01 db 00h, 00h, 00h, 8Eh, 0Ah, 01h 31E4:ED05 00 00 00 90 0A FF db 00h, 00h, 00h, 90h, 0Ah,0FFh 31E4:ED0B FF 20 ED 00 80 CA db 0FFh, 20h,0EDh, 00h, 80h,0CAh 31E4:ED11 09 00 00 00 80 92 db 09h, 00h, 00h, 00h, 80h, 92h 31E4:ED17 0A 01 00 00 80 94 db 0Ah, 01h, 00h, 00h, 80h, 94h 31E4:ED1D 0A 02 00 00 00 91 db 0Ah, 02h, 00h, 00h, 00h, 91h 31E4:ED23 0A 01 00 00 00 93 db 0Ah, 01h, 00h, 00h, 00h, 93h 31E4:ED29 0A 02 00 00 00 95 db 0Ah, 02h, 00h, 00h, 00h, 95h 31E4:ED2F 0A FF FF 40 ED 00 db 0Ah,0FFh,0FFh, 40h,0EDh, 00h 31E4:ED35 80 40 09 00 00 00 db 80h, 40h, 09h, 00h, 00h, 00h 31E4:ED3B 80 24 04 01 00 00 db 80h, 24h, 04h, 01h, 00h, 00h 31E4:ED41 00 0A 0B 01 00 00 db 00h, 0Ah, 0Bh, 01h, 00h, 00h 31E4:ED47 00 0B 0B FF FF 60 db 00h, 0Bh, 0Bh,0FFh,0FFh, 60h 31E4:ED4D ED 69 23 03 09 00 db 0EDh, 69h, 23h, 03h, 09h, 00h 31E4:ED53 00 00 80 99 0A 02 db 00h, 00h, 80h, 99h, 0Ah, 02h 31E4:ED59 00 00 80 97 0A 01 db 00h, 00h, 80h, 97h, 0Ah, 01h 31E4:ED5F 00 00 00 96 0A 02 db 00h, 00h, 00h, 96h, 0Ah, 02h 31E4:ED65 00 00 00 98 0A FF db 00h, 00h, 00h, 98h, 0Ah,0FFh 31E4:ED6B FF 00 00 9A 0A FF db 0FFh, 00h, 00h, 9Ah, 0Ah,0FFh 31E4:ED71 FF 86 ED 00 00 40 db 0FFh, 86h,0EDh, 00h, 00h, 40h 31E4:ED77 09 00 00 00 80 9C db 09h, 00h, 00h, 00h, 80h, 9Ch 31E4:ED7D 0A 01 00 00 80 24 db 0Ah, 01h, 00h, 00h, 80h, 24h 31E4:ED83 04 02 00 00 00 9B db 04h, 02h, 00h, 00h, 00h, 9Bh 31E4:ED89 0A FF FF 00 00 9D db 0Ah,0FFh,0FFh, 00h, 00h, 9Dh 31E4:ED8F 0A 02 00 00 00 9E db 0Ah, 02h, 00h, 00h, 00h, 9Eh 31E4:ED95 0A FF FF AC ED 00 db 0Ah,0FFh,0FFh,0ACh,0EDh, 00h 31E4:ED9B 80 48 09 00 00 00 db 80h, 48h, 09h, 00h, 00h, 00h 31E4:EDA1 80 A3 0A 01 00 00 db 80h,0A3h, 0Ah, 01h, 00h, 00h 31E4:EDA7 80 D1 0A 02 00 00 db 80h,0D1h, 0Ah, 02h, 00h, 00h 31E4:EDAD 00 A2 0A 01 00 00 db 00h,0A2h, 0Ah, 01h, 00h, 00h 31E4:EDB3 00 A4 0A 02 00 00 db 00h,0A4h, 0Ah, 02h, 00h, 00h 31E4:EDB9 00 A5 0A FF FF C6 db 00h,0A5h, 0Ah,0FFh,0FFh,0C6h 31E4:EDBF ED 00 80 92 09 00 db 0EDh, 00h, 80h, 92h, 09h, 00h 31E4:EDC5 00 00 00 D2 0A FF db 00h, 00h, 00h,0D2h, 0Ah,0FFh 31E4:EDCB FF E0 ED 00 80 38 db 0FFh,0E0h,0EDh, 00h, 80h, 38h 31E4:EDD1 0A 00 00 00 80 D4 db 0Ah, 00h, 00h, 00h, 80h,0D4h 31E4:EDD7 0A 01 00 00 80 D6 db 0Ah, 01h, 00h, 00h, 80h,0D6h 31E4:EDDD 0A 02 00 00 00 D3 db 0Ah, 02h, 00h, 00h, 00h,0D3h 31E4:EDE3 0A 01 00 00 00 D5 db 0Ah, 01h, 00h, 00h, 00h,0D5h 31E4:EDE9 0A 02 00 00 00 24 db 0Ah, 02h, 00h, 00h, 00h, 24h 31E4:EDEF 04 FF FF 12 EE 00 db 04h,0FFh,0FFh, 12h,0EEh, 00h 31E4:EDF5 80 C9 0A 00 00 00 db 80h,0C9h, 0Ah, 00h, 00h, 00h 31E4:EDFB 80 CB 0A 01 00 00 db 80h,0CBh, 0Ah, 01h, 00h, 00h 31E4:EE01 80 CD 0A 02 00 00 db 80h,0CDh, 0Ah, 02h, 00h, 00h 31E4:EE07 80 CD 0A 03 00 00 db 80h,0CDh, 0Ah, 03h, 00h, 00h 31E4:EE0D 80 24 04 04 00 00 db 80h, 24h, 04h, 04h, 00h, 00h 31E4:EE13 00 CA 0A 01 00 00 db 00h,0CAh, 0Ah, 01h, 00h, 00h 31E4:EE19 00 CC 0A 02 00 00 db 00h,0CCh, 0Ah, 02h, 00h, 00h 31E4:EE1F 00 CE 0A 03 00 00 db 00h,0CEh, 0Ah, 03h, 00h, 00h 31E4:EE25 00 CF 0A 04 00 FE db 00h,0CFh, 0Ah, 04h, 00h,0FEh 31E4:EE2B 28 24 04 FF FF 44 db 28h, 24h, 04h,0FFh,0FFh, 44h 31E4:EE31 EE 00 80 77 0B 00 db 0EEh, 00h, 80h, 77h, 0Bh, 00h 31E4:EE37 00 00 80 79 0B 01 db 00h, 00h, 80h, 79h, 0Bh, 01h 31E4:EE3D 00 00 80 7B 0B 02 db 00h, 00h, 80h, 7Bh, 0Bh, 02h 31E4:EE43 00 00 00 78 0B 01 db 00h, 00h, 00h, 78h, 0Bh, 01h 31E4:EE49 00 00 00 7A 0B 02 db 00h, 00h, 00h, 7Ah, 0Bh, 02h 31E4:EE4F 00 00 00 7C 0B FF db 00h, 00h, 00h, 7Ch, 0Bh,0FFh 31E4:EE55 FF 82 EE 00 80 BA db 0FFh, 82h,0EEh, 00h, 80h,0BAh 31E4:EE5B 0A 00 00 00 80 BC db 0Ah, 00h, 00h, 00h, 80h,0BCh 31E4:EE61 0A 01 00 00 80 BE db 0Ah, 01h, 00h, 00h, 80h,0BEh 31E4:EE67 0A 02 00 00 80 C0 db 0Ah, 02h, 00h, 00h, 80h,0C0h 31E4:EE6D 0A 03 00 00 80 C2 db 0Ah, 03h, 00h, 00h, 80h,0C2h 31E4:EE73 0A 04 00 00 80 C4 db 0Ah, 04h, 00h, 00h, 80h,0C4h 31E4:EE79 0A 05 00 00 80 C6 db 0Ah, 05h, 00h, 00h, 80h,0C6h 31E4:EE7F 0A 06 00 00 00 BB db 0Ah, 06h, 00h, 00h, 00h,0BBh 31E4:EE85 0A 01 00 00 00 BD db 0Ah, 01h, 00h, 00h, 00h,0BDh 31E4:EE8B 0A 02 00 00 00 BF db 0Ah, 02h, 00h, 00h, 00h,0BFh 31E4:EE91 0A 03 00 00 00 C1 db 0Ah, 03h, 00h, 00h, 00h,0C1h 31E4:EE97 0A 04 00 00 00 C3 db 0Ah, 04h, 00h, 00h, 00h,0C3h 31E4:EE9D 0A 05 00 00 00 C5 db 0Ah, 05h, 00h, 00h, 00h,0C5h 31E4:EEA3 0A 06 00 F1 28 C7 db 0Ah, 06h, 00h,0F1h, 28h,0C7h 31E4:EEA9 0A FF FF B4 EE 00 db 0Ah,0FFh,0FFh,0B4h,0EEh, 00h 31E4:EEAF 80 24 04 00 00 00 db 80h, 24h, 04h, 00h, 00h, 00h 31E4:EEB5 00 C8 0A FF FF CE db 00h,0C8h, 0Ah,0FFh,0FFh,0CEh 31E4:EEBB EE 00 80 B1 0F 00 db 0EEh, 00h, 80h,0B1h, 0Fh, 00h 31E4:EEC1 00 00 80 B3 0F 01 db 00h, 00h, 80h,0B3h, 0Fh, 01h 31E4:EEC7 00 00 80 C1 0F 02 db 00h, 00h, 80h,0C1h, 0Fh, 02h 31E4:EECD 00 00 00 B2 0F 01 db 00h, 00h, 00h,0B2h, 0Fh, 01h 31E4:EED3 00 9A 29 B4 0F 02 db 00h, 9Ah, 29h,0B4h, 0Fh, 02h 31E4:EED9 00 00 00 C2 0F FF db 00h, 00h, 00h,0C2h, 0Fh,0FFh 31E4:EEDF FF 1E EF 00 00 B5 db 0FFh, 1Eh,0EFh, 00h, 00h,0B5h 31E4:EEE5 8F 00 00 00 00 B7 db 8Fh, 00h, 00h, 00h, 00h,0B7h 31E4:EEEB 8F 01 00 00 00 B9 db 8Fh, 01h, 00h, 00h, 00h,0B9h 31E4:EEF1 8F 02 00 00 80 BF db 8Fh, 02h, 00h, 00h, 80h,0BFh 31E4:EEF7 0F 05 00 00 00 C3 db 0Fh, 05h, 00h, 00h, 00h,0C3h 31E4:EEFD 0F 07 00 02 2A C7 db 0Fh, 07h, 00h, 02h, 2Ah,0C7h 31E4:EF03 0F 08 00 00 80 C5 db 0Fh, 08h, 00h, 00h, 80h,0C5h 31E4:EF09 0F 09 00 00 80 BB db 0Fh, 09h, 00h, 00h, 80h,0BBh 31E4:EF0F 0F 03 00 00 80 BD db 0Fh, 03h, 00h, 00h, 80h,0BDh 31E4:EF15 0F db 0Fh 31E4:EF16 04 data_1199 db 4 31E4:EF17 00 00 80 C1 0F 06 db 00h, 00h, 80h,0C1h, 0Fh, 06h 31E4:EF1D 00 00 00 B6 0F 01 db 00h, 00h, 00h,0B6h, 0Fh, 01h 31E4:EF23 00 EC 29 B8 0F FF db 00h,0ECh, 29h,0B8h, 0Fh,0FFh 31E4:EF29 FF 00 00 BA 0F 07 db 0FFh, 00h, 00h,0BAh, 0Fh, 07h 31E4:EF2F 00 00 00 BC 0F 08 db 00h, 00h, 00h,0BCh, 0Fh, 08h 31E4:EF35 00 00 00 BE 0F 04 db 00h, 00h, 00h,0BEh, 0Fh, 04h 31E4:EF3B 00 00 00 C0 0F 04 db 00h, 00h, 00h,0C0h, 0Fh, 04h 31E4:EF41 00 00 00 C2 0F 04 db 00h, 00h, 00h,0C2h, 0Fh, 04h 31E4:EF47 00 C0 29 C4 0F FF db 00h,0C0h, 29h,0C4h, 0Fh,0FFh 31E4:EF4D FF D6 29 C8 0F FF db 0FFh,0D6h, 29h,0C8h, 0Fh,0FFh 31E4:EF53 FF AA 29 C6 0F FF db 0FFh,0AAh, 29h,0C6h, 0Fh,0FFh 31E4:EF59 FF 62 EF 00 80 24 db 0FFh, 62h,0EFh, 00h, 80h, 24h 31E4:EF5F 04 00 00 00 00 D1 db 04h, 00h, 00h, 00h, 00h,0D1h 31E4:EF65 0F FF FF 88 EF 00 db 0Fh,0FFh,0FFh, 88h,0EFh, 00h 31E4:EF6B 80 24 84 00 00 00 db 80h, 24h, 84h, 00h, 00h, 00h 31E4:EF71 00 D3 8F 01 00 02 db 00h,0D3h, 8Fh, 01h, 00h, 02h 31E4:EF77 2A C7 0F 03 00 00 db 2Ah,0C7h, 0Fh, 03h, 00h, 00h 31E4:EF7D 80 C5 0F 04 00 00 db 80h,0C5h, 0Fh, 04h, 00h, 00h 31E4:EF83 80 D5 0F 02 00 00 db 80h,0D5h, 0Fh, 02h, 00h, 00h 31E4:EF89 00 D2 0F 01 00 00 db 00h,0D2h, 0Fh, 01h, 00h, 00h 31E4:EF8F 00 D4 0F 04 00 00 db 00h,0D4h, 0Fh, 04h, 00h, 00h 31E4:EF95 00 D6 0F FF FF D6 db 00h,0D6h, 0Fh,0FFh,0FFh,0D6h 31E4:EF9B 29 C8 0F FF FF AA db 29h,0C8h, 0Fh,0FFh,0FFh,0AAh 31E4:EFA1 29 C6 0F FF FF B4 db 29h,0C6h, 0Fh,0FFh,0FFh,0B4h 31E4:EFA7 EF 00 80 D7 0F 00 db 0EFh, 00h, 80h,0D7h, 0Fh, 00h 31E4:EFAD 00 00 80 D9 0F 01 db 00h, 00h, 80h,0D9h, 0Fh, 01h 31E4:EFB3 00 00 00 D8 0F 01 db 00h, 00h, 00h,0D8h, 0Fh, 01h 31E4:EFB9 00 09 2A DA 0F FF db 00h, 09h, 2Ah,0DAh, 0Fh,0FFh 31E4:EFBF FF C8 EF 00 80 12 db 0FFh,0C8h,0EFh, 00h, 80h, 12h 31E4:EFC5 10 00 00 00 00 13 db 10h, 00h, 00h, 00h, 00h, 13h 31E4:EFCB 10 FF FF D6 EF 00 db 10h,0FFh,0FFh,0D6h,0EFh, 00h 31E4:EFD1 80 24 04 00 00 00 db 80h, 24h, 04h, 00h, 00h, 00h 31E4:EFD7 00 DB 0F FF FF EA db 00h,0DBh, 0Fh,0FFh,0FFh,0EAh 31E4:EFDD EF 00 80 DC 0F 00 db 0EFh, 00h, 80h,0DCh, 0Fh, 00h 31E4:EFE3 00 00 80 24 04 01 db 00h, 00h, 80h, 24h, 04h, 01h 31E4:EFE9 00 00 00 DD 0F 01 db 00h, 00h, 00h,0DDh, 0Fh, 01h 31E4:EFEF 00 1F 2A 24 04 FF db 00h, 1Fh, 2Ah, 24h, 04h,0FFh 31E4:EFF5 FF db 0FFh 31E4:EFF6 FE EF 00 80 1D db 0FEh,0EFh, 00h, 80h, 1Dh 31E4:EFFB 10 00 00 00 00 24 db 10h, 00h, 00h, 00h, 00h, 24h 31E4:F001 04 FF FF 00 db 04h,0FFh,0FFh, 00h 31E4:F005 000B[00] db 11 dup (0) 31E4:F010 0000 timer_ticks dw 0 ; xref 273F:14BF, 273F:14E9 ; 273F:48D5, 273F:48DD ; 273F:9500 31E4:F012 000E[00] db 14 dup (0) data_seg ends ;------------------------------------------------------------ scripts2_seg ---- scripts2_seg segment byte public assume cs:scripts2_seg, ds:scripts2_seg, ss:stack_seg_k 40E6:0000 06 00 06 00 01 00 db 06h, 00h, 06h, 00h, 01h, 00h 40E6:0006 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:000C 03 00 03 00 04 00 db 03h, 00h, 03h, 00h, 04h, 00h 40E6:0012 04 00 05 00 05 00 db 04h, 00h, 05h, 00h, 05h, 00h 40E6:0018 04 00 04 00 02 00 db 04h, 00h, 04h, 00h, 02h, 00h 40E6:001E 02 00 06 00 06 00 db 02h, 00h, 06h, 00h, 06h, 00h 40E6:0024 06 00 06 00 07 00 db 06h, 00h, 06h, 00h, 07h, 00h 40E6:002A 07 00 08 00 08 00 db 07h, 00h, 08h, 00h, 08h, 00h 40E6:0030 09 00 09 00 0A 00 db 09h, 00h, 09h, 00h, 0Ah, 00h 40E6:0036 0A 00 0B 00 0B 00 db 0Ah, 00h, 0Bh, 00h, 0Bh, 00h 40E6:003C 0A 00 0A 00 0B 00 db 0Ah, 00h, 0Ah, 00h, 0Bh, 00h 40E6:0042 0B 00 09 00 09 00 db 0Bh, 00h, 09h, 00h, 09h, 00h 40E6:0048 08 00 08 00 07 00 db 08h, 00h, 08h, 00h, 07h, 00h 40E6:004E 07 00 06 00 FC FF db 07h, 00h, 06h, 00h,0FCh,0FFh 40E6:0054 06 00 06 00 01 00 db 06h, 00h, 06h, 00h, 01h, 00h 40E6:005A 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:0060 03 00 03 00 04 00 db 03h, 00h, 03h, 00h, 04h, 00h 40E6:0066 04 00 05 00 05 00 db 04h, 00h, 05h, 00h, 05h, 00h 40E6:006C 04 00 04 00 02 00 db 04h, 00h, 04h, 00h, 02h, 00h 40E6:0072 02 00 F8 FF 11 00 db 02h, 00h,0F8h,0FFh, 11h, 00h 40E6:0078 20 00 06 00 06 00 db 20h, 00h, 06h, 00h, 06h, 00h 40E6:007E FC FF F6 FF 00 00 db 0FCh,0FFh,0F6h,0FFh, 00h, 00h 40E6:0084 00 00 F9 FF 15 59 db 00h, 00h,0F9h,0FFh, 15h, 59h 40E6:008A FD FF F8 FF 00 00 db 0FDh,0FFh,0F8h,0FFh, 00h, 00h 40E6:0090 FB FF 03 00 2F 00 db 0FBh,0FFh, 03h, 00h, 2Fh, 00h 40E6:0096 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:009C 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:00A2 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:00A8 F8 FF 07 00 1C 00 db 0F8h,0FFh, 07h, 00h, 1Ch, 00h 40E6:00AE F8 FF 1B 00 12 00 db 0F8h,0FFh, 1Bh, 00h, 12h, 00h 40E6:00B4 F8 FF 1C 00 17 00 db 0F8h,0FFh, 1Ch, 00h, 17h, 00h 40E6:00BA F8 FF 1C 00 18 00 db 0F8h,0FFh, 1Ch, 00h, 18h, 00h 40E6:00C0 F8 FF 1C 00 11 00 db 0F8h,0FFh, 1Ch, 00h, 11h, 00h 40E6:00C6 09 00 0A 00 0B 00 db 09h, 00h, 0Ah, 00h, 0Bh, 00h 40E6:00CC 0C 00 0D 00 0E 00 db 0Ch, 00h, 0Dh, 00h, 0Eh, 00h 40E6:00D2 F9 FF E9 5C FB FF db 0F9h,0FFh,0E9h, 5Ch,0FBh,0FFh 40E6:00D8 02 00 30 00 FD FF db 02h, 00h, 30h, 00h,0FDh,0FFh 40E6:00DE 08 00 00 00 22 00 db 08h, 00h, 00h, 00h, 22h, 00h 40E6:00E4 F6 FF 00 0C 82 00 db 0F6h,0FFh, 00h, 0Ch, 82h, 00h 40E6:00EA FC FF F8 FF 1E 00 db 0FCh,0FFh,0F8h,0FFh, 1Eh, 00h 40E6:00F0 1C 00 FE FF CE 00 db 1Ch, 00h,0FEh,0FFh,0CEh, 00h 40E6:00F6 13 01 00 00 FE FF db 13h, 01h, 00h, 00h,0FEh,0FFh 40E6:00FC D0 00 13 01 01 00 db 0D0h, 00h, 13h, 01h, 01h, 00h 40E6:0102 F8 FF 1F 00 1C 00 db 0F8h,0FFh, 1Fh, 00h, 1Ch, 00h 40E6:0108 FE FF D2 00 13 01 db 0FEh,0FFh,0D2h, 00h, 13h, 01h 40E6:010E 02 00 FE FF D0 00 db 02h, 00h,0FEh,0FFh,0D0h, 00h 40E6:0114 13 01 01 00 FA FF db 13h, 01h, 01h, 00h,0FAh,0FFh 40E6:011A EC 00 FE FF 80 00 db 0ECh, 00h,0FEh,0FFh, 80h, 00h 40E6:0120 64 00 FF FF 1E 00 db 64h, 00h,0FFh,0FFh, 1Eh, 00h 40E6:0126 FE FF 58 01 BC 00 db 0FEh,0FFh, 58h, 01h,0BCh, 00h 40E6:012C 00 00 FE FF 58 01 db 00h, 00h,0FEh,0FFh, 58h, 01h 40E6:0132 D0 00 00 00 FE FF db 0D0h, 00h, 00h, 00h,0FEh,0FFh 40E6:0138 58 01 F7 00 00 00 db 58h, 01h,0F7h, 00h, 00h, 00h 40E6:013E FE FF 58 01 33 01 db 0FEh,0FFh, 58h, 01h, 33h, 01h 40E6:0144 00 00 F8 FF 06 00 db 00h, 00h,0F8h,0FFh, 06h, 00h 40E6:014A 01 00 FE FF 57 01 db 01h, 00h,0FEh,0FFh, 57h, 01h 40E6:0150 33 01 01 00 FE FF db 33h, 01h, 01h, 00h,0FEh,0FFh 40E6:0156 56 01 33 01 02 00 db 56h, 01h, 33h, 01h, 02h, 00h 40E6:015C FE FF 55 01 33 01 db 0FEh,0FFh, 55h, 01h, 33h, 01h 40E6:0162 03 00 FE FF 53 01 db 03h, 00h,0FEh,0FFh, 53h, 01h 40E6:0168 33 01 04 00 FE FF db 33h, 01h, 04h, 00h,0FEh,0FFh 40E6:016E 52 01 33 01 05 00 db 52h, 01h, 33h, 01h, 05h, 00h 40E6:0174 06 00 FE FF 52 01 db 06h, 00h,0FEh,0FFh, 52h, 01h 40E6:017A 64 00 FF FF 02 00 db 64h, 00h,0FFh,0FFh, 02h, 00h 40E6:0180 FA FF 1C 01 00 00 db 0FAh,0FFh, 1Ch, 01h, 00h, 00h 40E6:0186 FF FF 02 00 FE FF db 0FFh,0FFh, 02h, 00h,0FEh,0FFh 40E6:018C 47 01 FB 00 01 00 db 47h, 01h,0FBh, 00h, 01h, 00h 40E6:0192 FF FF 02 00 FE FF db 0FFh,0FFh, 02h, 00h,0FEh,0FFh 40E6:0198 47 01 08 01 02 00 db 47h, 01h, 08h, 01h, 02h, 00h 40E6:019E FF FF 02 00 FC FF db 0FFh,0FFh, 02h, 00h,0FCh,0FFh 40E6:01A4 02 00 F8 FF 05 00 db 02h, 00h,0F8h,0FFh, 05h, 00h 40E6:01AA 04 00 FE FF F4 00 db 04h, 00h,0FEh,0FFh,0F4h, 00h 40E6:01B0 0F 01 03 00 FE FF db 0Fh, 01h, 03h, 00h,0FEh,0FFh 40E6:01B6 FE 00 0F 01 02 00 db 0FEh, 00h, 0Fh, 01h, 02h, 00h 40E6:01BC FE FF 08 01 0F 01 db 0FEh,0FFh, 08h, 01h, 0Fh, 01h 40E6:01C2 03 00 FE FF 12 01 db 03h, 00h,0FEh,0FFh, 12h, 01h 40E6:01C8 0F 01 02 00 FE FF db 0Fh, 01h, 02h, 00h,0FEh,0FFh 40E6:01CE 1C 01 0F 01 03 00 db 1Ch, 01h, 0Fh, 01h, 03h, 00h 40E6:01D4 FF FF 06 00 F8 FF db 0FFh,0FFh, 06h, 00h,0F8h,0FFh 40E6:01DA 05 00 04 00 FE FF db 05h, 00h, 04h, 00h,0FEh,0FFh 40E6:01E0 26 01 0F 01 02 00 db 26h, 01h, 0Fh, 01h, 02h, 00h 40E6:01E6 FE FF 30 01 0F 01 db 0FEh,0FFh, 30h, 01h, 0Fh, 01h 40E6:01EC 03 00 FE FF 3A 01 db 03h, 00h,0FEh,0FFh, 3Ah, 01h 40E6:01F2 0F 01 02 00 FE FF db 0Fh, 01h, 02h, 00h,0FEh,0FFh 40E6:01F8 44 01 0F 01 03 00 db 44h, 01h, 0Fh, 01h, 03h, 00h 40E6:01FE FE FF 4E 01 0F 01 db 0FEh,0FFh, 4Eh, 01h, 0Fh, 01h 40E6:0204 02 00 FE FF 58 01 db 02h, 00h,0FEh,0FFh, 58h, 01h 40E6:020A 0F 01 03 00 FE FF db 0Fh, 01h, 03h, 00h,0FEh,0FFh 40E6:0210 62 01 0F 01 02 00 db 62h, 01h, 0Fh, 01h, 02h, 00h 40E6:0216 FE FF 6C 01 0F 01 db 0FEh,0FFh, 6Ch, 01h, 0Fh, 01h 40E6:021C 03 00 FE FF 4E 01 db 03h, 00h,0FEh,0FFh, 4Eh, 01h 40E6:0222 64 00 FC FF FE FF db 64h, 00h,0FCh,0FFh,0FEh,0FFh 40E6:0228 3F 01 12 01 01 00 db 3Fh, 01h, 12h, 01h, 01h, 00h 40E6:022E F8 FF 05 00 01 00 db 0F8h,0FFh, 05h, 00h, 01h, 00h 40E6:0234 FE FF 35 01 12 01 db 0FEh,0FFh, 35h, 01h, 12h, 01h 40E6:023A 00 00 FE FF 2B 01 db 00h, 00h,0FEh,0FFh, 2Bh, 01h 40E6:0240 12 01 01 00 FE FF db 12h, 01h, 01h, 00h,0FEh,0FFh 40E6:0246 21 01 12 01 00 00 db 21h, 01h, 12h, 01h, 00h, 00h 40E6:024C FE FF 17 01 12 01 db 0FEh,0FFh, 17h, 01h, 12h, 01h 40E6:0252 01 00 F8 FF 05 00 db 01h, 00h,0F8h,0FFh, 05h, 00h 40E6:0258 01 00 FE FF 0D 01 db 01h, 00h,0FEh,0FFh, 0Dh, 01h 40E6:025E 12 01 00 00 FE FF db 12h, 01h, 00h, 00h,0FEh,0FFh 40E6:0264 03 01 12 01 01 00 db 03h, 01h, 12h, 01h, 01h, 00h 40E6:026A FE FF F9 00 12 01 db 0FEh,0FFh,0F9h, 00h, 12h, 01h 40E6:0270 00 00 FE FF EF 00 db 00h, 00h,0FEh,0FFh,0EFh, 00h 40E6:0276 12 01 01 00 FE FF db 12h, 01h, 01h, 00h,0FEh,0FFh 40E6:027C EF 00 64 00 FC FF db 0EFh, 00h, 64h, 00h,0FCh,0FFh 40E6:0282 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0288 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:028E 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:0294 09 00 0A 00 0B 00 db 09h, 00h, 0Ah, 00h, 0Bh, 00h 40E6:029A FA FF 82 02 00 00 db 0FAh,0FFh, 82h, 02h, 00h, 00h 40E6:02A0 01 00 02 00 FA FF db 01h, 00h, 02h, 00h,0FAh,0FFh 40E6:02A6 9E 02 FE FF 17 01 db 9Eh, 02h,0FEh,0FFh, 17h, 01h 40E6:02AC C0 00 00 00 01 00 db 0C0h, 00h, 00h, 00h, 01h, 00h 40E6:02B2 FE FF 1C 01 CD 00 db 0FEh,0FFh, 1Ch, 01h,0CDh, 00h 40E6:02B8 02 00 FE FF 1D 01 db 02h, 00h,0FEh,0FFh, 1Dh, 01h 40E6:02BE D8 00 03 00 FE FF db 0D8h, 00h, 03h, 00h,0FEh,0FFh 40E6:02C4 1F 01 DC 00 04 00 db 1Fh, 01h,0DCh, 00h, 04h, 00h 40E6:02CA F8 FF 24 00 07 00 db 0F8h,0FFh, 24h, 00h, 07h, 00h 40E6:02D0 FE FF 21 01 E0 00 db 0FEh,0FFh, 21h, 01h,0E0h, 00h 40E6:02D6 04 00 FF FF 01 00 db 04h, 00h,0FFh,0FFh, 01h, 00h 40E6:02DC 05 00 FF FF 02 00 db 05h, 00h,0FFh,0FFh, 02h, 00h 40E6:02E2 06 00 FF FF 03 00 db 06h, 00h,0FFh,0FFh, 03h, 00h 40E6:02E8 07 00 FF FF 01 00 db 07h, 00h,0FFh,0FFh, 01h, 00h 40E6:02EE FC FF 24 00 FF FF db 0FCh,0FFh, 24h, 00h,0FFh,0FFh 40E6:02F4 0A 00 25 00 FF FF db 0Ah, 00h, 25h, 00h,0FFh,0FFh 40E6:02FA 0A 00 26 00 FF FF db 0Ah, 00h, 26h, 00h,0FFh,0FFh 40E6:0300 0A 00 27 00 FF FF db 0Ah, 00h, 27h, 00h,0FFh,0FFh 40E6:0306 0A 00 26 00 FF FF db 0Ah, 00h, 26h, 00h,0FFh,0FFh 40E6:030C 04 00 27 00 FF FF db 04h, 00h, 27h, 00h,0FFh,0FFh 40E6:0312 06 00 26 00 FF FF db 06h, 00h, 26h, 00h,0FFh,0FFh 40E6:0318 04 00 27 00 FF FF db 04h, 00h, 27h, 00h,0FFh,0FFh 40E6:031E 06 00 FC FF F9 FF db 06h, 00h,0FCh,0FFh,0F9h,0FFh 40E6:0324 95 5C 00 00 FF FF db 95h, 5Ch, 00h, 00h,0FFh,0FFh 40E6:032A 0A 00 01 00 FF FF db 0Ah, 00h, 01h, 00h,0FFh,0FFh 40E6:0330 0A 00 02 00 FF FF db 0Ah, 00h, 02h, 00h,0FFh,0FFh 40E6:0336 0A 00 03 00 FF FF db 0Ah, 00h, 03h, 00h,0FFh,0FFh 40E6:033C 0A 00 02 00 FF FF db 0Ah, 00h, 02h, 00h,0FFh,0FFh 40E6:0342 04 00 03 00 FF FF db 04h, 00h, 03h, 00h,0FFh,0FFh 40E6:0348 06 00 02 00 FF FF db 06h, 00h, 02h, 00h,0FFh,0FFh 40E6:034E 04 00 03 00 FF FF db 04h, 00h, 03h, 00h,0FFh,0FFh 40E6:0354 06 00 F9 FF 80 5C db 06h, 00h,0F9h,0FFh, 80h, 5Ch 40E6:035A FC FF F8 FF 14 00 db 0FCh,0FFh,0F8h,0FFh, 14h, 00h 40E6:0360 04 00 FF FF 0B 00 db 04h, 00h,0FFh,0FFh, 0Bh, 00h 40E6:0366 01 00 FF FF 0A 00 db 01h, 00h,0FFh,0FFh, 0Ah, 00h 40E6:036C F8 FF 14 00 04 00 db 0F8h,0FFh, 14h, 00h, 04h, 00h 40E6:0372 02 00 FF FF 37 00 db 02h, 00h,0FFh,0FFh, 37h, 00h 40E6:0378 F8 FF 14 00 04 00 db 0F8h,0FFh, 14h, 00h, 04h, 00h 40E6:037E 01 00 00 00 FC FF db 01h, 00h, 00h, 00h,0FCh,0FFh 40E6:0384 FB FF 03 00 19 00 db 0FBh,0FFh, 03h, 00h, 19h, 00h 40E6:038A FE FF BE 00 FD 00 db 0FEh,0FFh,0BEh, 00h,0FDh, 00h 40E6:0390 03 00 FF FF 05 00 db 03h, 00h,0FFh,0FFh, 05h, 00h 40E6:0396 FB FF 03 00 1A 00 db 0FBh,0FFh, 03h, 00h, 1Ah, 00h 40E6:039C FE FF BE 00 FB 00 db 0FEh,0FFh,0BEh, 00h,0FBh, 00h 40E6:03A2 04 00 FF FF 03 00 db 04h, 00h,0FFh,0FFh, 03h, 00h 40E6:03A8 FB FF 02 00 1A 00 db 0FBh,0FFh, 02h, 00h, 1Ah, 00h 40E6:03AE FE FF BE 00 F4 00 db 0FEh,0FFh,0BEh, 00h,0F4h, 00h 40E6:03B4 05 00 FF FF 01 00 db 05h, 00h,0FFh,0FFh, 01h, 00h 40E6:03BA FB FF 02 00 1B 00 db 0FBh,0FFh, 02h, 00h, 1Bh, 00h 40E6:03C0 FE FF BE 00 F3 00 db 0FEh,0FFh,0BEh, 00h,0F3h, 00h 40E6:03C6 06 00 FF FF 01 00 db 06h, 00h,0FFh,0FFh, 01h, 00h 40E6:03CC FB FF 01 00 1B 00 db 0FBh,0FFh, 01h, 00h, 1Bh, 00h 40E6:03D2 FE FF BE 00 F3 00 db 0FEh,0FFh,0BEh, 00h,0F3h, 00h 40E6:03D8 07 00 FF FF 01 00 db 07h, 00h,0FFh,0FFh, 01h, 00h 40E6:03DE FC FF 02 00 FF FF db 0FCh,0FFh, 02h, 00h,0FFh,0FFh 40E6:03E4 14 00 01 00 FF FF db 14h, 00h, 01h, 00h,0FFh,0FFh 40E6:03EA 1E 00 02 00 FF FF db 1Eh, 00h, 02h, 00h,0FFh,0FFh 40E6:03F0 05 00 00 00 FC FF db 05h, 00h, 00h, 00h,0FCh,0FFh 40E6:03F6 02 00 FF FF 1E 00 db 02h, 00h,0FFh,0FFh, 1Eh, 00h 40E6:03FC 00 00 FC FF F9 FF db 00h, 00h,0FCh,0FFh,0F9h,0FFh 40E6:0402 1A 5A 00 00 01 00 db 1Ah, 5Ah, 00h, 00h, 01h, 00h 40E6:0408 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:040E 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0414 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:041A 03 00 00 00 01 00 db 03h, 00h, 00h, 00h, 01h, 00h 40E6:0420 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:0426 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:042C 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0432 03 00 F9 FF 80 5C db 03h, 00h,0F9h,0FFh, 80h, 5Ch 40E6:0438 FC FF FF FF 32 00 db 0FCh,0FFh,0FFh,0FFh, 32h, 00h 40E6:043E 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0444 04 00 F9 FF 28 5D db 04h, 00h,0F9h,0FFh, 28h, 5Dh 40E6:044A FC FF FF FF 14 00 db 0FCh,0FFh,0FFh,0FFh, 14h, 00h 40E6:0450 F9 FF AA 5A FF FF db 0F9h,0FFh,0AAh, 5Ah,0FFh,0FFh 40E6:0456 0A 00 00 00 01 00 db 0Ah, 00h, 00h, 00h, 01h, 00h 40E6:045C 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0462 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0468 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:046E 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0474 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:047A 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0480 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0486 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:048C 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0492 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0498 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:049E 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04A4 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04AA 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04B0 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04B6 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04BC 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04C2 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04C8 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04CE 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04D4 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04DA 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04E0 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04E6 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04EC 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04F2 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:04F8 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:04FE 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0504 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:050A 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0510 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0516 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:051C 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0522 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0528 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:052E 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0534 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:053A 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0540 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0546 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:054C 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0552 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0558 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:055E 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0564 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:056A 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0570 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0576 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:057C 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0582 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0588 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:058E 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0594 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:059A 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05A0 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05A6 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05AC 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05B2 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05B8 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05BE 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05C4 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05CA 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05D0 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05D6 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05DC 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05E2 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05E8 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05EE 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:05F4 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:05FA 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0600 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0606 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:060C 01 00 00 00 F9 FF db 01h, 00h, 00h, 00h,0F9h,0FFh 40E6:0612 28 5D 10 00 10 00 db 28h, 5Dh, 10h, 00h, 10h, 00h 40E6:0618 FA FF 16 06 00 00 db 0FAh,0FFh, 16h, 06h, 00h, 00h 40E6:061E 01 00 F8 FF 26 00 db 01h, 00h,0F8h,0FFh, 26h, 00h 40E6:0624 1E 00 F8 FF 27 00 db 1Eh, 00h,0F8h,0FFh, 27h, 00h 40E6:062A 1E 00 FA FF 1C 06 db 1Eh, 00h,0FAh,0FFh, 1Ch, 06h 40E6:0630 00 00 F8 FF 23 00 db 00h, 00h,0F8h,0FFh, 23h, 00h 40E6:0636 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:063C 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:0642 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:0648 09 00 0A 00 FC FF db 09h, 00h, 0Ah, 00h,0FCh,0FFh 40E6:064E 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0654 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:065A 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:0660 09 00 0A 00 0B 00 db 09h, 00h, 0Ah, 00h, 0Bh, 00h 40E6:0666 FA FF 4E 06 00 00 db 0FAh,0FFh, 4Eh, 06h, 00h, 00h 40E6:066C 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0672 04 00 05 00 06 00 db 04h, 00h, 05h, 00h, 06h, 00h 40E6:0678 06 00 06 00 06 00 db 06h, 00h, 06h, 00h, 06h, 00h 40E6:067E 06 00 05 00 07 00 db 06h, 00h, 05h, 00h, 07h, 00h 40E6:0684 00 00 F8 FF 11 00 db 00h, 00h,0F8h,0FFh, 11h, 00h 40E6:068A 1D 00 FF FF 23 00 db 1Dh, 00h,0FFh,0FFh, 23h, 00h 40E6:0690 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0696 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:069C 06 00 06 00 06 00 db 06h, 00h, 06h, 00h, 06h, 00h 40E6:06A2 06 00 05 00 07 00 db 06h, 00h, 05h, 00h, 07h, 00h 40E6:06A8 00 00 F8 FF 11 00 db 00h, 00h,0F8h,0FFh, 11h, 00h 40E6:06AE 1D 00 FF FF 2D 00 db 1Dh, 00h,0FFh,0FFh, 2Dh, 00h 40E6:06B4 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:06BA 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:06C0 06 00 06 00 06 00 db 06h, 00h, 06h, 00h, 06h, 00h 40E6:06C6 06 00 06 00 06 00 db 06h, 00h, 06h, 00h, 06h, 00h 40E6:06CC 06 00 06 00 05 00 db 06h, 00h, 06h, 00h, 05h, 00h 40E6:06D2 07 00 00 00 F8 FF db 07h, 00h, 00h, 00h,0F8h,0FFh 40E6:06D8 11 00 1D 00 FF FF db 11h, 00h, 1Dh, 00h,0FFh,0FFh 40E6:06DE 28 00 FA FF 6A 06 db 28h, 00h,0FAh,0FFh, 6Ah, 06h 40E6:06E4 F8 FF db 0F8h,0FFh 40E6:06E6 28 db 28h 40E6:06E7 0007[00] db 7 dup (0) 40E6:06EE 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:06F4 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:06FA 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0700 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0706 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:070C 28 db 28h 40E6:070D 0007[00] db 7 dup (0) 40E6:0714 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:071A 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0720 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0726 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:072C 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:0732 28 db 28h 40E6:0733 0007[00] db 7 dup (0) 40E6:073A 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0740 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0746 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:074C 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0752 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:0758 28 db 28h 40E6:0759 0007[00] db 7 dup (0) 40E6:0760 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0766 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:076C 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0772 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0778 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:077E 28 db 28h 40E6:077F 0007[00] db 7 dup (0) 40E6:0786 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:078C 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0792 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0798 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:079E 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:07A4 28 db 28h 40E6:07A5 0007[00] db 7 dup (0) 40E6:07AC 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:07B2 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:07B8 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:07BE 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:07C4 04 00 04 00 05 00 db 04h, 00h, 04h, 00h, 05h, 00h 40E6:07CA 05 00 06 00 06 00 db 05h, 00h, 06h, 00h, 06h, 00h 40E6:07D0 07 00 07 00 08 00 db 07h, 00h, 07h, 00h, 08h, 00h 40E6:07D6 08 00 09 00 09 00 db 08h, 00h, 09h, 00h, 09h, 00h 40E6:07DC 0A 00 0A 00 0B 00 db 0Ah, 00h, 0Ah, 00h, 0Bh, 00h 40E6:07E2 0B 00 0B 00 0B 00 db 0Bh, 00h, 0Bh, 00h, 0Bh, 00h 40E6:07E8 0A 00 0A 00 09 00 db 0Ah, 00h, 0Ah, 00h, 09h, 00h 40E6:07EE 09 00 08 00 F8 FF db 09h, 00h, 08h, 00h,0F8h,0FFh 40E6:07F4 11 00 1D 00 08 00 db 11h, 00h, 1Dh, 00h, 08h, 00h 40E6:07FA 07 00 07 00 06 00 db 07h, 00h, 07h, 00h, 06h, 00h 40E6:0800 06 00 05 00 05 00 db 06h, 00h, 05h, 00h, 05h, 00h 40E6:0806 F8 FF db 0F8h,0FFh 40E6:0808 28 db 28h 40E6:0809 0007[00] db 7 dup (0) 40E6:0810 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0816 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:081C 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0822 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0828 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:082E 28 db 28h 40E6:082F 0007[00] db 7 dup (0) 40E6:0836 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:083C 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0842 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0848 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:084E 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:0854 28 db 28h 40E6:0855 0007[00] db 7 dup (0) 40E6:085C 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0862 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0868 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:086E 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0874 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:087A 28 db 28h 40E6:087B 0007[00] db 7 dup (0) 40E6:0882 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0888 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:088E 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0894 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:089A 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:08A0 28 db 28h 40E6:08A1 0007[00] db 7 dup (0) 40E6:08A8 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:08AE 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:08B4 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:08BA 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:08C0 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:08C6 28 db 28h 40E6:08C7 0007[00] db 7 dup (0) 40E6:08CE 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:08D4 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:08DA 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:08E0 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:08E6 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:08EC 28 db 28h 40E6:08ED 0007[00] db 7 dup (0) 40E6:08F4 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:08FA 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0900 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0906 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:090C 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:0912 28 db 28h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 574 40E6:0913 0007[00] db 7 dup (0) 40E6:091A 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0920 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0926 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:092C 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0932 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:0938 28 db 28h 40E6:0939 0007[00] db 7 dup (0) 40E6:0940 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:0946 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:094C 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0952 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:0958 04 00 04 00 F8 FF db 04h, 00h, 04h, 00h,0F8h,0FFh 40E6:095E 28 db 28h 40E6:095F 0007[00] db 7 dup (0) 40E6:0966 01 00 01 00 F8 FF db 01h, 00h, 01h, 00h,0F8h,0FFh 40E6:096C 28 00 00 00 02 00 db 28h, 00h, 00h, 00h, 02h, 00h 40E6:0972 02 00 F8 FF 28 00 db 02h, 00h,0F8h,0FFh, 28h, 00h 40E6:0978 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:097E 04 00 04 00 05 00 db 04h, 00h, 04h, 00h, 05h, 00h 40E6:0984 05 00 06 00 06 00 db 05h, 00h, 06h, 00h, 06h, 00h 40E6:098A 07 00 07 00 08 00 db 07h, 00h, 07h, 00h, 08h, 00h 40E6:0990 08 00 09 00 09 00 db 08h, 00h, 09h, 00h, 09h, 00h 40E6:0996 0A 00 0A 00 0B 00 db 0Ah, 00h, 0Ah, 00h, 0Bh, 00h 40E6:099C 0B 00 0B 00 0B 00 db 0Bh, 00h, 0Bh, 00h, 0Bh, 00h 40E6:09A2 0A 00 0A 00 0B 00 db 0Ah, 00h, 0Ah, 00h, 0Bh, 00h 40E6:09A8 0B 00 0B 00 0B 00 db 0Bh, 00h, 0Bh, 00h, 0Bh, 00h 40E6:09AE 0B 00 0B 00 0B 00 db 0Bh, 00h, 0Bh, 00h, 0Bh, 00h 40E6:09B4 0B 00 0A 00 09 00 db 0Bh, 00h, 0Ah, 00h, 09h, 00h 40E6:09BA 09 00 08 00 F8 FF db 09h, 00h, 08h, 00h,0F8h,0FFh 40E6:09C0 11 00 1D 00 08 00 db 11h, 00h, 1Dh, 00h, 08h, 00h 40E6:09C6 07 00 07 00 06 00 db 07h, 00h, 07h, 00h, 06h, 00h 40E6:09CC 06 00 05 00 05 00 db 06h, 00h, 05h, 00h, 05h, 00h 40E6:09D2 FF FF 03 00 FA FF db 0FFh,0FFh, 03h, 00h,0FAh,0FFh 40E6:09D8 E4 06 00 00 FA FF db 0E4h, 06h, 00h, 00h,0FAh,0FFh 40E6:09DE DA 09 01 00 FF FF db 0DAh, 09h, 01h, 00h,0FFh,0FFh 40E6:09E4 00 00 02 00 FF FF db 00h, 00h, 02h, 00h,0FFh,0FFh 40E6:09EA 00 00 03 00 FF FF db 00h, 00h, 03h, 00h,0FFh,0FFh 40E6:09F0 00 00 04 00 FF FF db 00h, 00h, 04h, 00h,0FFh,0FFh 40E6:09F6 00 00 05 00 FF FF db 00h, 00h, 05h, 00h,0FFh,0FFh 40E6:09FC 00 00 06 00 FF FF db 00h, 00h, 06h, 00h,0FFh,0FFh 40E6:0A02 00 00 07 00 FF FF db 00h, 00h, 07h, 00h,0FFh,0FFh 40E6:0A08 00 00 08 00 FF FF db 00h, 00h, 08h, 00h,0FFh,0FFh 40E6:0A0E 00 00 09 00 FF FF db 00h, 00h, 09h, 00h,0FFh,0FFh 40E6:0A14 00 00 0A 00 FF FF db 00h, 00h, 0Ah, 00h,0FFh,0FFh 40E6:0A1A 00 00 0B 00 FF FF db 00h, 00h, 0Bh, 00h,0FFh,0FFh 40E6:0A20 00 00 0C 00 FF FF db 00h, 00h, 0Ch, 00h,0FFh,0FFh 40E6:0A26 00 00 0D 00 FF FF db 00h, 00h, 0Dh, 00h,0FFh,0FFh 40E6:0A2C 00 00 0E 00 FF FF db 00h, 00h, 0Eh, 00h,0FFh,0FFh 40E6:0A32 00 00 0F 00 FF FF db 00h, 00h, 0Fh, 00h,0FFh,0FFh 40E6:0A38 00 00 10 00 FF FF db 00h, 00h, 10h, 00h,0FFh,0FFh 40E6:0A3E 00 00 11 00 FF FF db 00h, 00h, 11h, 00h,0FFh,0FFh 40E6:0A44 00 00 12 00 FF FF db 00h, 00h, 12h, 00h,0FFh,0FFh 40E6:0A4A 00 00 13 00 FF FF db 00h, 00h, 13h, 00h,0FFh,0FFh 40E6:0A50 00 00 14 00 FF FF db 00h, 00h, 14h, 00h,0FFh,0FFh 40E6:0A56 00 00 15 00 FF FF db 00h, 00h, 15h, 00h,0FFh,0FFh 40E6:0A5C 00 00 16 00 FF FF db 00h, 00h, 16h, 00h,0FFh,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 575 40E6:0A62 00 00 17 00 FF FF db 00h, 00h, 17h, 00h,0FFh,0FFh 40E6:0A68 00 00 18 00 FF FF db 00h, 00h, 18h, 00h,0FFh,0FFh 40E6:0A6E 00 00 19 00 FF FF db 00h, 00h, 19h, 00h,0FFh,0FFh 40E6:0A74 00 00 1A 00 FF FF db 00h, 00h, 1Ah, 00h,0FFh,0FFh 40E6:0A7A 00 00 1B 00 FF FF db 00h, 00h, 1Bh, 00h,0FFh,0FFh 40E6:0A80 00 00 F8 FF 29 00 db 00h, 00h,0F8h,0FFh, 29h, 00h 40E6:0A86 00 00 1C 00 FF FF db 00h, 00h, 1Ch, 00h,0FFh,0FFh 40E6:0A8C 00 00 1D 00 FF FF db 00h, 00h, 1Dh, 00h,0FFh,0FFh 40E6:0A92 00 00 1E 00 FF FF db 00h, 00h, 1Eh, 00h,0FFh,0FFh 40E6:0A98 00 00 1F 00 FF FF db 00h, 00h, 1Fh, 00h,0FFh,0FFh 40E6:0A9E 00 00 20 00 FF FF db 00h, 00h, 20h, 00h,0FFh,0FFh 40E6:0AA4 00 00 21 00 FF FF db 00h, 00h, 21h, 00h,0FFh,0FFh 40E6:0AAA 00 00 22 00 FF FF db 00h, 00h, 22h, 00h,0FFh,0FFh 40E6:0AB0 00 00 23 00 FF FF db 00h, 00h, 23h, 00h,0FFh,0FFh 40E6:0AB6 00 00 24 00 FF FF db 00h, 00h, 24h, 00h,0FFh,0FFh 40E6:0ABC 00 00 25 00 FF FF db 00h, 00h, 25h, 00h,0FFh,0FFh 40E6:0AC2 00 00 F7 FF 29 00 db 00h, 00h,0F7h,0FFh, 29h, 00h 40E6:0AC8 26 00 FF FF 00 00 db 26h, 00h,0FFh,0FFh, 00h, 00h 40E6:0ACE 27 00 FF FF 00 00 db 27h, 00h,0FFh,0FFh, 00h, 00h 40E6:0AD4 28 00 FF FF 00 00 db 28h, 00h,0FFh,0FFh, 00h, 00h 40E6:0ADA 29 00 FF FF 00 00 db 29h, 00h,0FFh,0FFh, 00h, 00h 40E6:0AE0 2A 00 FF FF 00 00 db 2Ah, 00h,0FFh,0FFh, 00h, 00h 40E6:0AE6 2B 00 FF FF 00 00 db 2Bh, 00h,0FFh,0FFh, 00h, 00h 40E6:0AEC 2C 00 FC FF 01 00 db 2Ch, 00h,0FCh,0FFh, 01h, 00h 40E6:0AF2 FF FF 00 00 02 00 db 0FFh,0FFh, 00h, 00h, 02h, 00h 40E6:0AF8 FF FF 00 00 03 00 db 0FFh,0FFh, 00h, 00h, 03h, 00h 40E6:0AFE FF FF 00 00 04 00 db 0FFh,0FFh, 00h, 00h, 04h, 00h 40E6:0B04 FF FF 00 00 05 00 db 0FFh,0FFh, 00h, 00h, 05h, 00h 40E6:0B0A FF FF 00 00 06 00 db 0FFh,0FFh, 00h, 00h, 06h, 00h 40E6:0B10 FF FF 00 00 07 00 db 0FFh,0FFh, 00h, 00h, 07h, 00h 40E6:0B16 FF FF 00 00 08 00 db 0FFh,0FFh, 00h, 00h, 08h, 00h 40E6:0B1C FF FF 00 00 09 00 db 0FFh,0FFh, 00h, 00h, 09h, 00h 40E6:0B22 FF FF 00 00 0A 00 db 0FFh,0FFh, 00h, 00h, 0Ah, 00h 40E6:0B28 FF FF 00 00 0B 00 db 0FFh,0FFh, 00h, 00h, 0Bh, 00h 40E6:0B2E FF FF 00 00 0C 00 db 0FFh,0FFh, 00h, 00h, 0Ch, 00h 40E6:0B34 FF FF 00 00 0D 00 db 0FFh,0FFh, 00h, 00h, 0Dh, 00h 40E6:0B3A FF FF 00 00 0E 00 db 0FFh,0FFh, 00h, 00h, 0Eh, 00h 40E6:0B40 FF FF 00 00 F8 FF db 0FFh,0FFh, 00h, 00h,0F8h,0FFh 40E6:0B46 29 00 00 00 0F 00 db 29h, 00h, 00h, 00h, 0Fh, 00h 40E6:0B4C FF FF 00 00 10 00 db 0FFh,0FFh, 00h, 00h, 10h, 00h 40E6:0B52 FF FF 00 00 11 00 db 0FFh,0FFh, 00h, 00h, 11h, 00h 40E6:0B58 FF FF 00 00 12 00 db 0FFh,0FFh, 00h, 00h, 12h, 00h 40E6:0B5E FF FF 00 00 13 00 db 0FFh,0FFh, 00h, 00h, 13h, 00h 40E6:0B64 FF FF 00 00 F7 FF db 0FFh,0FFh, 00h, 00h,0F7h,0FFh 40E6:0B6A 29 00 14 00 FF FF db 29h, 00h, 14h, 00h,0FFh,0FFh 40E6:0B70 00 00 15 00 FF FF db 00h, 00h, 15h, 00h,0FFh,0FFh 40E6:0B76 00 00 16 00 FC FF db 00h, 00h, 16h, 00h,0FCh,0FFh 40E6:0B7C 16 00 FA FF 7C 0B db 16h, 00h,0FAh,0FFh, 7Ch, 0Bh 40E6:0B82 2C 00 FA FF 82 0B db 2Ch, 00h,0FAh,0FFh, 82h, 0Bh 40E6:0B88 00 00 FF FF 1E 00 db 00h, 00h,0FFh,0FFh, 1Eh, 00h 40E6:0B8E 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0B94 04 00 05 00 FF FF db 04h, 00h, 05h, 00h,0FFh,0FFh 40E6:0B9A 50 00 00 00 05 00 db 50h, 00h, 00h, 00h, 05h, 00h 40E6:0BA0 FF FF 78 00 00 00 db 0FFh,0FFh, 78h, 00h, 00h, 00h 40E6:0BA6 00 00 05 00 FA FF db 00h, 00h, 05h, 00h,0FAh,0FFh 40E6:0BAC 98 0B 04 00 03 00 db 98h, 0Bh, 04h, 00h, 03h, 00h 40E6:0BB2 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 576 40E6:0BB8 FA FF B6 0B 00 00 db 0FAh,0FFh,0B6h, 0Bh, 00h, 00h 40E6:0BBE 03 00 01 00 00 00 db 03h, 00h, 01h, 00h, 00h, 00h 40E6:0BC4 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:0BCA 01 00 00 00 03 00 db 01h, 00h, 00h, 00h, 03h, 00h 40E6:0BD0 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:0BD6 01 00 03 00 01 00 db 01h, 00h, 03h, 00h, 01h, 00h 40E6:0BDC 00 00 02 00 03 00 db 00h, 00h, 02h, 00h, 03h, 00h 40E6:0BE2 01 00 02 00 FA FF db 01h, 00h, 02h, 00h,0FAh,0FFh 40E6:0BE8 BC 0B 00 00 01 00 db 0BCh, 0Bh, 00h, 00h, 01h, 00h 40E6:0BEE 01 00 0B 00 0B 00 db 01h, 00h, 0Bh, 00h, 0Bh, 00h 40E6:0BF4 0C 00 0D 00 0E 00 db 0Ch, 00h, 0Dh, 00h, 0Eh, 00h 40E6:0BFA 0F 00 0C 00 0D 00 db 0Fh, 00h, 0Ch, 00h, 0Dh, 00h 40E6:0C00 0E 00 0F 00 0C 00 db 0Eh, 00h, 0Fh, 00h, 0Ch, 00h 40E6:0C06 0D 00 0E 00 0F 00 db 0Dh, 00h, 0Eh, 00h, 0Fh, 00h 40E6:0C0C 0C 00 0D 00 0E 00 db 0Ch, 00h, 0Dh, 00h, 0Eh, 00h 40E6:0C12 0F 00 0C 00 0D 00 db 0Fh, 00h, 0Ch, 00h, 0Dh, 00h 40E6:0C18 0E 00 0F 00 0C 00 db 0Eh, 00h, 0Fh, 00h, 0Ch, 00h 40E6:0C1E 0D 00 0E 00 0F 00 db 0Dh, 00h, 0Eh, 00h, 0Fh, 00h 40E6:0C24 0C 00 0D 00 0E 00 db 0Ch, 00h, 0Dh, 00h, 0Eh, 00h 40E6:0C2A 0F 00 0C 00 0D 00 db 0Fh, 00h, 0Ch, 00h, 0Dh, 00h 40E6:0C30 0E 00 0F 00 0C 00 db 0Eh, 00h, 0Fh, 00h, 0Ch, 00h 40E6:0C36 0D 00 0E 00 0F 00 db 0Dh, 00h, 0Eh, 00h, 0Fh, 00h 40E6:0C3C 0C 00 0D 00 0E 00 db 0Ch, 00h, 0Dh, 00h, 0Eh, 00h 40E6:0C42 0F 00 0B 00 0B 00 db 0Fh, 00h, 0Bh, 00h, 0Bh, 00h 40E6:0C48 01 00 01 00 00 00 db 01h, 00h, 01h, 00h, 00h, 00h 40E6:0C4E FF FF 24 00 01 00 db 0FFh,0FFh, 24h, 00h, 01h, 00h 40E6:0C54 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:0C5A 10 00 10 00 11 00 db 10h, 00h, 10h, 00h, 11h, 00h 40E6:0C60 11 00 11 00 11 00 db 11h, 00h, 11h, 00h, 11h, 00h 40E6:0C66 11 00 11 00 11 00 db 11h, 00h, 11h, 00h, 11h, 00h 40E6:0C6C 11 00 10 00 10 00 db 11h, 00h, 10h, 00h, 10h, 00h 40E6:0C72 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:0C78 01 00 00 00 FF FF db 01h, 00h, 00h, 00h,0FFh,0FFh 40E6:0C7E 57 00 FA FF EA 0B db 57h, 00h,0FAh,0FFh,0EAh, 0Bh 40E6:0C84 FF FF 14 00 00 00 db 0FFh,0FFh, 14h, 00h, 00h, 00h 40E6:0C8A 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0C90 04 00 03 00 05 00 db 04h, 00h, 03h, 00h, 05h, 00h 40E6:0C96 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:0C9C 09 00 0A 00 FC FF db 09h, 00h, 0Ah, 00h,0FCh,0FFh 40E6:0CA2 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0CA8 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:0CAE FA FF A2 0C 06 00 db 0FAh,0FFh,0A2h, 0Ch, 06h, 00h 40E6:0CB4 07 00 08 00 09 00 db 07h, 00h, 08h, 00h, 09h, 00h 40E6:0CBA 0A 00 0B 00 0C 00 db 0Ah, 00h, 0Bh, 00h, 0Ch, 00h 40E6:0CC0 FF FF 02 00 0D 00 db 0FFh,0FFh, 02h, 00h, 0Dh, 00h 40E6:0CC6 FF FF 02 00 0E 00 db 0FFh,0FFh, 02h, 00h, 0Eh, 00h 40E6:0CCC FF FF 02 00 0F 00 db 0FFh,0FFh, 02h, 00h, 0Fh, 00h 40E6:0CD2 FF FF 02 00 10 00 db 0FFh,0FFh, 02h, 00h, 10h, 00h 40E6:0CD8 FF FF 02 00 0F 00 db 0FFh,0FFh, 02h, 00h, 0Fh, 00h 40E6:0CDE FF FF 14 00 10 00 db 0FFh,0FFh, 14h, 00h, 10h, 00h 40E6:0CE4 FF FF 1E 00 FA FF db 0FFh,0FFh, 1Eh, 00h,0FAh,0FFh 40E6:0CEA DC 0C 00 00 01 00 db 0DCh, 0Ch, 00h, 00h, 01h, 00h 40E6:0CF0 02 00 F8 FF 2B 00 db 02h, 00h,0F8h,0FFh, 2Bh, 00h 40E6:0CF6 2A 00 03 00 04 00 db 2Ah, 00h, 03h, 00h, 04h, 00h 40E6:0CFC 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0D02 08 00 FA FF F2 0C db 08h, 00h,0FAh,0FFh,0F2h, 0Ch 40E6:0D08 09 00 0A 00 0B 00 db 09h, 00h, 0Ah, 00h, 0Bh, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 577 40E6:0D0E 0C 00 0D 00 FC FF db 0Ch, 00h, 0Dh, 00h,0FCh,0FFh 40E6:0D14 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0D1A 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:0D20 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:0D26 09 00 0A 00 FA FF db 09h, 00h, 0Ah, 00h,0FAh,0FFh 40E6:0D2C 14 0D 00 00 01 00 db 14h, 0Dh, 00h, 00h, 01h, 00h 40E6:0D32 07 00 02 00 05 00 db 07h, 00h, 02h, 00h, 05h, 00h 40E6:0D38 03 00 00 00 06 00 db 03h, 00h, 00h, 00h, 06h, 00h 40E6:0D3E 04 00 05 00 06 00 db 04h, 00h, 05h, 00h, 06h, 00h 40E6:0D44 00 00 03 00 07 00 db 00h, 00h, 03h, 00h, 07h, 00h 40E6:0D4A FA FF 2E 0D 00 00 db 0FAh,0FFh, 2Eh, 0Dh, 00h, 00h 40E6:0D50 01 00 07 00 02 00 db 01h, 00h, 07h, 00h, 02h, 00h 40E6:0D56 05 00 03 00 00 00 db 05h, 00h, 03h, 00h, 00h, 00h 40E6:0D5C 06 00 04 00 05 00 db 06h, 00h, 04h, 00h, 05h, 00h 40E6:0D62 06 00 00 00 03 00 db 06h, 00h, 00h, 00h, 03h, 00h 40E6:0D68 07 00 FA FF 4E 0D db 07h, 00h,0FAh,0FFh, 4Eh, 0Dh 40E6:0D6E 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:0D74 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:0D7A 03 00 03 00 04 00 db 03h, 00h, 03h, 00h, 04h, 00h 40E6:0D80 04 00 05 00 05 00 db 04h, 00h, 05h, 00h, 05h, 00h 40E6:0D86 06 00 06 00 07 00 db 06h, 00h, 06h, 00h, 07h, 00h 40E6:0D8C 07 00 FA FF 6E 0D db 07h, 00h,0FAh,0FFh, 6Eh, 0Dh 40E6:0D92 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0D98 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:0D9E 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:0DA4 09 00 0A 00 0B 00 db 09h, 00h, 0Ah, 00h, 0Bh, 00h 40E6:0DAA FA FF 92 0D 00 00 db 0FAh,0FFh, 92h, 0Dh, 00h, 00h 40E6:0DB0 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0DB6 04 00 05 00 06 00 db 04h, 00h, 05h, 00h, 06h, 00h 40E6:0DBC 07 00 08 00 09 00 db 07h, 00h, 08h, 00h, 09h, 00h 40E6:0DC2 0A 00 FA FF AE 0D db 0Ah, 00h,0FAh,0FFh,0AEh, 0Dh 40E6:0DC8 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0DCE 03 00 FA FF C8 0D db 03h, 00h,0FAh,0FFh,0C8h, 0Dh 40E6:0DD4 F8 FF 1D 00 2D 00 db 0F8h,0FFh, 1Dh, 00h, 2Dh, 00h 40E6:0DDA 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:0DE0 03 00 04 00 00 00 db 03h, 00h, 04h, 00h, 00h, 00h 40E6:0DE6 FF FF 64 00 F8 FF db 0FFh,0FFh, 64h, 00h,0F8h,0FFh 40E6:0DEC 1D 00 2D 00 00 00 db 1Dh, 00h, 2Dh, 00h, 00h, 00h 40E6:0DF2 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0DF8 04 00 00 00 FF FF db 04h, 00h, 00h, 00h,0FFh,0FFh 40E6:0DFE 28 00 FA FF D4 0D db 28h, 00h,0FAh,0FFh,0D4h, 0Dh 40E6:0E04 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:0E0A 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:0E10 02 00 03 00 02 00 db 02h, 00h, 03h, 00h, 02h, 00h 40E6:0E16 01 00 01 00 00 00 db 01h, 00h, 01h, 00h, 00h, 00h 40E6:0E1C FF FF 78 00 00 00 db 0FFh,0FFh, 78h, 00h, 00h, 00h 40E6:0E22 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:0E28 02 00 03 00 02 00 db 02h, 00h, 03h, 00h, 02h, 00h 40E6:0E2E 03 00 02 00 01 00 db 03h, 00h, 02h, 00h, 01h, 00h 40E6:0E34 01 00 00 00 FF FF db 01h, 00h, 00h, 00h,0FFh,0FFh 40E6:0E3A 28 00 FA FF 04 0E db 28h, 00h,0FAh,0FFh, 04h, 0Eh 40E6:0E40 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:0E46 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:0E4C 03 00 04 00 04 00 db 03h, 00h, 04h, 00h, 04h, 00h 40E6:0E52 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:0E58 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:0E5E 00 00 FF FF 5A 00 db 00h, 00h,0FFh,0FFh, 5Ah, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 578 40E6:0E64 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:0E6A 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:0E70 03 00 04 00 04 00 db 03h, 00h, 04h, 00h, 04h, 00h 40E6:0E76 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:0E7C 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:0E82 00 00 FF FF 71 00 db 00h, 00h,0FFh,0FFh, 71h, 00h 40E6:0E88 FA FF 40 0E 00 00 db 0FAh,0FFh, 40h, 0Eh, 00h, 00h 40E6:0E8E 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:0E94 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:0E9A 03 00 04 00 04 00 db 03h, 00h, 04h, 00h, 04h, 00h 40E6:0EA0 04 00 04 00 03 00 db 04h, 00h, 04h, 00h, 03h, 00h 40E6:0EA6 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:0EAC 01 00 01 00 00 00 db 01h, 00h, 01h, 00h, 00h, 00h 40E6:0EB2 FF FF 55 00 00 00 db 0FFh,0FFh, 55h, 00h, 00h, 00h 40E6:0EB8 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:0EBE 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:0EC4 04 00 04 00 04 00 db 04h, 00h, 04h, 00h, 04h, 00h 40E6:0ECA 04 00 04 00 04 00 db 04h, 00h, 04h, 00h, 04h, 00h 40E6:0ED0 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:0ED6 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:0EDC 00 00 FF FF 2F 00 db 00h, 00h,0FFh,0FFh, 2Fh, 00h 40E6:0EE2 FA FF 8C 0E 00 00 db 0FAh,0FFh, 8Ch, 0Eh, 00h, 00h 40E6:0EE8 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0EEE 04 00 05 00 06 00 db 04h, 00h, 05h, 00h, 06h, 00h 40E6:0EF4 07 00 06 00 05 00 db 07h, 00h, 06h, 00h, 05h, 00h 40E6:0EFA 04 00 03 00 02 00 db 04h, 00h, 03h, 00h, 02h, 00h 40E6:0F00 01 00 00 00 FF FF db 01h, 00h, 00h, 00h,0FFh,0FFh 40E6:0F06 38 00 00 00 01 00 db 38h, 00h, 00h, 00h, 01h, 00h 40E6:0F0C 02 00 03 00 04 00 db 02h, 00h, 03h, 00h, 04h, 00h 40E6:0F12 05 00 04 00 03 00 db 05h, 00h, 04h, 00h, 03h, 00h 40E6:0F18 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:0F1E FF FF 2F 00 00 00 db 0FFh,0FFh, 2Fh, 00h, 00h, 00h 40E6:0F24 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0F2A 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:0F30 FF FF 5A 00 00 00 db 0FFh,0FFh, 5Ah, 00h, 00h, 00h 40E6:0F36 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0F3C 04 00 05 00 06 00 db 04h, 00h, 05h, 00h, 06h, 00h 40E6:0F42 05 00 04 00 03 00 db 05h, 00h, 04h, 00h, 03h, 00h 40E6:0F48 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:0F4E FA FF E6 0E 00 00 db 0FAh,0FFh,0E6h, 0Eh, 00h, 00h 40E6:0F54 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:0F5A 04 00 05 00 06 00 db 04h, 00h, 05h, 00h, 06h, 00h 40E6:0F60 07 00 06 00 05 00 db 07h, 00h, 06h, 00h, 05h, 00h 40E6:0F66 06 00 07 00 06 00 db 06h, 00h, 07h, 00h, 06h, 00h 40E6:0F6C 05 00 06 00 07 00 db 05h, 00h, 06h, 00h, 07h, 00h 40E6:0F72 06 00 05 00 06 00 db 06h, 00h, 05h, 00h, 06h, 00h 40E6:0F78 07 00 08 00 09 00 db 07h, 00h, 08h, 00h, 09h, 00h 40E6:0F7E 0A 00 0B 00 0C 00 db 0Ah, 00h, 0Bh, 00h, 0Ch, 00h 40E6:0F84 0D 00 0E 00 0E 00 db 0Dh, 00h, 0Eh, 00h, 0Eh, 00h 40E6:0F8A 0F 00 0F 00 10 00 db 0Fh, 00h, 0Fh, 00h, 10h, 00h 40E6:0F90 10 00 11 00 FF FF db 10h, 00h, 11h, 00h,0FFh,0FFh 40E6:0F96 5A 00 12 00 11 00 db 5Ah, 00h, 12h, 00h, 11h, 00h 40E6:0F9C 12 00 11 00 FF FF db 12h, 00h, 11h, 00h,0FFh,0FFh 40E6:0FA2 28 00 12 00 13 00 db 28h, 00h, 12h, 00h, 13h, 00h 40E6:0FA8 14 00 14 00 14 00 db 14h, 00h, 14h, 00h, 14h, 00h 40E6:0FAE 14 00 14 00 14 00 db 14h, 00h, 14h, 00h, 14h, 00h 40E6:0FB4 13 00 12 00 FA FF db 13h, 00h, 12h, 00h,0FAh,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 579 40E6:0FBA 92 0F 01 00 01 00 db 92h, 0Fh, 01h, 00h, 01h, 00h 40E6:0FC0 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:0FC6 04 00 05 00 F8 FF db 04h, 00h, 05h, 00h,0F8h,0FFh 40E6:0FCC 06 00 2E 00 05 00 db 06h, 00h, 2Eh, 00h, 05h, 00h 40E6:0FD2 06 00 06 00 07 00 db 06h, 00h, 06h, 00h, 07h, 00h 40E6:0FD8 07 00 08 00 08 00 db 07h, 00h, 08h, 00h, 08h, 00h 40E6:0FDE 09 00 09 00 00 00 db 09h, 00h, 09h, 00h, 00h, 00h 40E6:0FE4 FF FF 19 00 FA FF db 0FFh,0FFh, 19h, 00h,0FAh,0FFh 40E6:0FEA BC 0F 00 00 00 00 db 0BCh, 0Fh, 00h, 00h, 00h, 00h 40E6:0FF0 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:0FF6 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:0FFC 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:1002 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:1008 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 40E6:100E 39 00 00 00 00 00 db 39h, 00h, 00h, 00h, 00h, 00h 40E6:1014 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:101A 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:1020 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:1026 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:102C 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 40E6:1032 62 00 FA FF EC 0F db 62h, 00h,0FAh,0FFh,0ECh, 0Fh 40E6:1038 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:103E 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:1044 03 00 03 00 04 00 db 03h, 00h, 03h, 00h, 04h, 00h 40E6:104A 04 00 05 00 05 00 db 04h, 00h, 05h, 00h, 05h, 00h 40E6:1050 06 00 06 00 05 00 db 06h, 00h, 06h, 00h, 05h, 00h 40E6:1056 05 00 04 00 04 00 db 05h, 00h, 04h, 00h, 04h, 00h 40E6:105C 05 00 05 00 06 00 db 05h, 00h, 05h, 00h, 06h, 00h 40E6:1062 06 00 05 00 05 00 db 06h, 00h, 05h, 00h, 05h, 00h 40E6:1068 04 00 04 00 03 00 db 04h, 00h, 04h, 00h, 03h, 00h 40E6:106E 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:1074 01 00 01 00 00 00 db 01h, 00h, 01h, 00h, 00h, 00h 40E6:107A FF FF 9D 00 FA FF db 0FFh,0FFh, 9Dh, 00h,0FAh,0FFh 40E6:1080 38 10 00 00 01 00 db 38h, 10h, 00h, 00h, 01h, 00h 40E6:1086 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:108C 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:1092 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:1098 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:109E 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:10A4 01 00 01 00 00 00 db 01h, 00h, 01h, 00h, 00h, 00h 40E6:10AA FF FF 39 00 00 00 db 0FFh,0FFh, 39h, 00h, 00h, 00h 40E6:10B0 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:10B6 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:10BC 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:10C2 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:10C8 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:10CE 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:10D4 00 00 FF FF 64 00 db 00h, 00h,0FFh,0FFh, 64h, 00h 40E6:10DA 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:10E0 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:10E6 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:10EC 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:10F2 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:10F8 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:10FE 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:1104 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:110A 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 580 40E6:1110 00 00 FF FF A0 00 db 00h, 00h,0FFh,0FFh,0A0h, 00h 40E6:1116 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:111C 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:1122 03 00 02 00 02 00 db 03h, 00h, 02h, 00h, 02h, 00h 40E6:1128 03 00 03 00 02 00 db 03h, 00h, 03h, 00h, 02h, 00h 40E6:112E 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:1134 00 00 FF FF 20 00 db 00h, 00h,0FFh,0FFh, 20h, 00h 40E6:113A FA FF 82 10 00 00 db 0FAh,0FFh, 82h, 10h, 00h, 00h 40E6:1140 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:1146 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:114C 00 00 FF FF 1B 00 db 00h, 00h,0FFh,0FFh, 1Bh, 00h 40E6:1152 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:1158 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:115E 01 00 00 00 FF FF db 01h, 00h, 00h, 00h,0FFh,0FFh 40E6:1164 A7 00 00 00 01 00 db 0A7h, 00h, 00h, 00h, 01h, 00h 40E6:116A 01 00 02 00 FF FF db 01h, 00h, 02h, 00h,0FFh,0FFh 40E6:1170 32 00 01 00 01 00 db 32h, 00h, 01h, 00h, 01h, 00h 40E6:1176 00 00 FF FF 44 00 db 00h, 00h,0FFh,0FFh, 44h, 00h 40E6:117C FA FF 3E 11 00 00 db 0FAh,0FFh, 3Eh, 11h, 00h, 00h 40E6:1182 01 00 01 00 01 00 db 01h, 00h, 01h, 00h, 01h, 00h 40E6:1188 01 00 00 00 FF FF db 01h, 00h, 00h, 00h,0FFh,0FFh 40E6:118E 14 01 00 00 01 00 db 14h, 01h, 00h, 00h, 01h, 00h 40E6:1194 01 00 01 00 01 00 db 01h, 00h, 01h, 00h, 01h, 00h 40E6:119A 00 00 FF FF 38 00 db 00h, 00h,0FFh,0FFh, 38h, 00h 40E6:11A0 FA FF 80 11 00 00 db 0FAh,0FFh, 80h, 11h, 00h, 00h 40E6:11A6 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:11AC 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:11B2 04 00 04 00 05 00 db 04h, 00h, 04h, 00h, 05h, 00h 40E6:11B8 05 00 06 00 06 00 db 05h, 00h, 06h, 00h, 06h, 00h 40E6:11BE 00 00 FF FF 52 00 db 00h, 00h,0FFh,0FFh, 52h, 00h 40E6:11C4 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:11CA 02 00 02 00 03 00 db 02h, 00h, 02h, 00h, 03h, 00h 40E6:11D0 03 00 04 00 04 00 db 03h, 00h, 04h, 00h, 04h, 00h 40E6:11D6 05 00 05 00 06 00 db 05h, 00h, 05h, 00h, 06h, 00h 40E6:11DC 06 00 00 00 FF FF db 06h, 00h, 00h, 00h,0FFh,0FFh 40E6:11E2 38 00 00 00 01 00 db 38h, 00h, 00h, 00h, 01h, 00h 40E6:11E8 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:11EE 03 00 03 00 04 00 db 03h, 00h, 03h, 00h, 04h, 00h 40E6:11F4 04 00 05 00 05 00 db 04h, 00h, 05h, 00h, 05h, 00h 40E6:11FA 05 00 05 00 04 00 db 05h, 00h, 05h, 00h, 04h, 00h 40E6:1200 04 00 05 00 05 00 db 04h, 00h, 05h, 00h, 05h, 00h 40E6:1206 06 00 06 00 00 00 db 06h, 00h, 06h, 00h, 00h, 00h 40E6:120C FF FF 81 00 FA FF db 0FFh,0FFh, 81h, 00h,0FAh,0FFh 40E6:1212 A4 11 06 00 FE FF db 0A4h, 11h, 06h, 00h,0FEh,0FFh 40E6:1218 13 01 F6 00 07 00 db 13h, 01h,0F6h, 00h, 07h, 00h 40E6:121E FE FF 23 01 F6 00 db 0FEh,0FFh, 23h, 01h,0F6h, 00h 40E6:1224 06 00 FE FF 33 01 db 06h, 00h,0FEh,0FFh, 33h, 01h 40E6:122A F6 00 07 00 F8 FF db 0F6h, 00h, 07h, 00h,0F8h,0FFh 40E6:1230 05 00 2A 00 FE FF db 05h, 00h, 2Ah, 00h,0FEh,0FFh 40E6:1236 43 01 F6 00 06 00 db 43h, 01h,0F6h, 00h, 06h, 00h 40E6:123C FE FF 53 01 F6 00 db 0FEh,0FFh, 53h, 01h,0F6h, 00h 40E6:1242 07 00 FE FF 63 01 db 07h, 00h,0FEh,0FFh, 63h, 01h 40E6:1248 F6 00 06 00 FC FF db 0F6h, 00h, 06h, 00h,0FCh,0FFh 40E6:124E 02 00 FE FF 15 01 db 02h, 00h,0FEh,0FFh, 15h, 01h 40E6:1254 1A 01 03 00 FE FF db 1Ah, 01h, 03h, 00h,0FEh,0FFh 40E6:125A 15 01 22 01 02 00 db 15h, 01h, 22h, 01h, 02h, 00h 40E6:1260 FE FF 15 01 2A 01 db 0FEh,0FFh, 15h, 01h, 2Ah, 01h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 581 40E6:1266 03 00 FE FF 15 01 db 03h, 00h,0FEh,0FFh, 15h, 01h 40E6:126C 32 01 02 00 FE FF db 32h, 01h, 02h, 00h,0FEh,0FFh 40E6:1272 25 01 32 01 07 00 db 25h, 01h, 32h, 01h, 07h, 00h 40E6:1278 FE FF 35 01 32 01 db 0FEh,0FFh, 35h, 01h, 32h, 01h 40E6:127E 06 00 FE FF 45 01 db 06h, 00h,0FEh,0FFh, 45h, 01h 40E6:1284 32 01 07 00 FE FF db 32h, 01h, 07h, 00h,0FEh,0FFh 40E6:128A 35 01 32 01 04 00 db 35h, 01h, 32h, 01h, 04h, 00h 40E6:1290 FE FF 25 01 32 01 db 0FEh,0FFh, 25h, 01h, 32h, 01h 40E6:1296 05 00 FE FF 15 01 db 05h, 00h,0FEh,0FFh, 15h, 01h 40E6:129C 32 01 04 00 FE FF db 32h, 01h, 04h, 00h,0FEh,0FFh 40E6:12A2 05 01 32 01 05 00 db 05h, 01h, 32h, 01h, 05h, 00h 40E6:12A8 FE FF F5 00 32 01 db 0FEh,0FFh,0F5h, 00h, 32h, 01h 40E6:12AE 04 00 FE FF E5 00 db 04h, 00h,0FEh,0FFh,0E5h, 00h 40E6:12B4 32 01 05 00 FE FF db 32h, 01h, 05h, 00h,0FEh,0FFh 40E6:12BA D5 00 32 01 04 00 db 0D5h, 00h, 32h, 01h, 04h, 00h 40E6:12C0 FE FF C5 00 32 01 db 0FEh,0FFh,0C5h, 00h, 32h, 01h 40E6:12C6 05 00 FE FF B5 00 db 05h, 00h,0FEh,0FFh,0B5h, 00h 40E6:12CC 32 01 04 00 FE FF db 32h, 01h, 04h, 00h,0FEh,0FFh 40E6:12D2 A5 00 32 01 05 00 db 0A5h, 00h, 32h, 01h, 05h, 00h 40E6:12D8 F8 FF 05 00 2A 00 db 0F8h,0FFh, 05h, 00h, 2Ah, 00h 40E6:12DE FE FF 95 00 32 01 db 0FEh,0FFh, 95h, 00h, 32h, 01h 40E6:12E4 02 00 FC FF 04 00 db 02h, 00h,0FCh,0FFh, 04h, 00h 40E6:12EA FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:12F0 05 00 FD FF F0 FF db 05h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:12F6 00 00 04 00 FD FF db 00h, 00h, 04h, 00h,0FDh,0FFh 40E6:12FC F0 FF 00 00 05 00 db 0F0h,0FFh, 00h, 00h, 05h, 00h 40E6:1302 FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:1308 04 00 FD FF F0 FF db 04h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:130E 00 00 05 00 FD FF db 00h, 00h, 05h, 00h,0FDh,0FFh 40E6:1314 F0 FF 00 00 04 00 db 0F0h,0FFh, 00h, 00h, 04h, 00h 40E6:131A FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:1320 05 00 FD FF F0 FF db 05h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:1326 00 00 04 00 FD FF db 00h, 00h, 04h, 00h,0FDh,0FFh 40E6:132C F0 FF 00 00 05 00 db 0F0h,0FFh, 00h, 00h, 05h, 00h 40E6:1332 FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:1338 04 00 08 00 FF FF db 04h, 00h, 08h, 00h,0FFh,0FFh 40E6:133E 96 00 06 00 FD FF db 96h, 00h, 06h, 00h,0FDh,0FFh 40E6:1344 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:134A FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1350 06 00 FD FF 10 00 db 06h, 00h,0FDh,0FFh, 10h, 00h 40E6:1356 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:135C 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:1362 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1368 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:136E 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:1374 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:137A FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1380 06 00 FD FF 10 00 db 06h, 00h,0FDh,0FFh, 10h, 00h 40E6:1386 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:138C 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:1392 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1398 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:139E 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:13A4 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:13AA FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:13B0 06 00 08 00 FF FF db 06h, 00h, 08h, 00h,0FFh,0FFh 40E6:13B6 4C 00 FE FF 60 01 db 4Ch, 00h,0FEh,0FFh, 60h, 01h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 582 40E6:13BC FA 00 F8 FF 05 00 db 0FAh, 00h,0F8h,0FFh, 05h, 00h 40E6:13C2 2A 00 04 00 FD FF db 2Ah, 00h, 04h, 00h,0FDh,0FFh 40E6:13C8 F0 FF 00 00 05 00 db 0F0h,0FFh, 00h, 00h, 05h, 00h 40E6:13CE FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:13D4 04 00 FD FF F0 FF db 04h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:13DA 00 00 05 00 FD FF db 00h, 00h, 05h, 00h,0FDh,0FFh 40E6:13E0 F0 FF 00 00 04 00 db 0F0h,0FFh, 00h, 00h, 04h, 00h 40E6:13E6 FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:13EC 05 00 FD FF F0 FF db 05h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:13F2 00 00 04 00 FD FF db 00h, 00h, 04h, 00h,0FDh,0FFh 40E6:13F8 F0 FF 00 00 05 00 db 0F0h,0FFh, 00h, 00h, 05h, 00h 40E6:13FE FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:1404 04 00 FD FF F0 FF db 04h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:140A 00 00 05 00 FD FF db 00h, 00h, 05h, 00h,0FDh,0FFh 40E6:1410 F0 FF 00 00 04 00 db 0F0h,0FFh, 00h, 00h, 04h, 00h 40E6:1416 FD FF F0 FF 00 00 db 0FDh,0FFh,0F0h,0FFh, 00h, 00h 40E6:141C 05 00 FD FF F0 FF db 05h, 00h,0FDh,0FFh,0F0h,0FFh 40E6:1422 00 00 FC FF 06 00 db 00h, 00h,0FCh,0FFh, 06h, 00h 40E6:1428 F8 FF 05 00 2B 00 db 0F8h,0FFh, 05h, 00h, 2Bh, 00h 40E6:142E FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1434 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:143A 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:1440 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:1446 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:144C 06 00 FD FF 00 00 db 06h, 00h,0FDh,0FFh, 00h, 00h 40E6:1452 F8 FF FD FF 10 00 db 0F8h,0FFh,0FDh,0FFh, 10h, 00h 40E6:1458 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:145E 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:1464 FD FF 00 00 F8 FF db 0FDh,0FFh, 00h, 00h,0F8h,0FFh 40E6:146A FD FF 00 00 F8 FF db 0FDh,0FFh, 00h, 00h,0F8h,0FFh 40E6:1470 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1476 F8 FF 01 00 FC FF db 0F8h,0FFh, 01h, 00h,0FCh,0FFh 40E6:147C 06 00 FD FF 10 00 db 06h, 00h,0FDh,0FFh, 10h, 00h 40E6:1482 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:1488 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:148E FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1494 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:149A 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:14A0 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:14A6 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:14AC 06 00 FD FF 10 00 db 06h, 00h,0FDh,0FFh, 10h, 00h 40E6:14B2 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:14B8 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:14BE FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:14C4 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:14CA 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:14D0 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:14D6 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:14DC 06 00 FD FF 10 00 db 06h, 00h,0FDh,0FFh, 10h, 00h 40E6:14E2 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:14E8 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:14EE FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:14F4 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:14FA 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:1500 00 00 F8 FF 00 00 db 00h, 00h,0F8h,0FFh, 00h, 00h 40E6:1506 FD FF 00 00 F8 FF db 0FDh,0FFh, 00h, 00h,0F8h,0FFh 40E6:150C 01 00 FD FF 10 00 db 01h, 00h,0FDh,0FFh, 10h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 583 40E6:1512 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:1518 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:151E FC FF 00 00 F8 FF db 0FCh,0FFh, 00h, 00h,0F8h,0FFh 40E6:1524 05 00 2C 00 FD FF db 05h, 00h, 2Ch, 00h,0FDh,0FFh 40E6:152A 00 00 F8 FF 01 00 db 00h, 00h,0F8h,0FFh, 01h, 00h 40E6:1530 FD FF 00 00 F8 FF db 0FDh,0FFh, 00h, 00h,0F8h,0FFh 40E6:1536 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:153C F8 FF 01 00 FD FF db 0F8h,0FFh, 01h, 00h,0FDh,0FFh 40E6:1542 00 00 F8 FF 00 00 db 00h, 00h,0F8h,0FFh, 00h, 00h 40E6:1548 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:154E 06 00 FD FF 10 00 db 06h, 00h,0FDh,0FFh, 10h, 00h 40E6:1554 00 00 07 00 FD FF db 00h, 00h, 07h, 00h,0FDh,0FFh 40E6:155A 10 00 00 00 06 00 db 10h, 00h, 00h, 00h, 06h, 00h 40E6:1560 FD FF 10 00 00 00 db 0FDh,0FFh, 10h, 00h, 00h, 00h 40E6:1566 07 00 FD FF 10 00 db 07h, 00h,0FDh,0FFh, 10h, 00h 40E6:156C 00 00 06 00 FD FF db 00h, 00h, 06h, 00h,0FDh,0FFh 40E6:1572 10 00 00 00 07 00 db 10h, 00h, 00h, 00h, 07h, 00h 40E6:1578 FD FF 00 00 F8 FF db 0FDh,0FFh, 00h, 00h,0F8h,0FFh 40E6:157E 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1584 F8 FF 00 00 FD FF db 0F8h,0FFh, 00h, 00h,0FDh,0FFh 40E6:158A 00 00 F8 FF 01 00 db 00h, 00h,0F8h,0FFh, 01h, 00h 40E6:1590 FD FF 00 00 F8 FF db 0FDh,0FFh, 00h, 00h,0F8h,0FFh 40E6:1596 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:159C F8 FF 01 00 FD FF db 0F8h,0FFh, 01h, 00h,0FDh,0FFh 40E6:15A2 00 00 F8 FF 00 00 db 00h, 00h,0F8h,0FFh, 00h, 00h 40E6:15A8 FC FF 02 00 02 00 db 0FCh,0FFh, 02h, 00h, 02h, 00h 40E6:15AE 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 40E6:15B4 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:15BA 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:15C0 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:15C6 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:15CC 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 40E6:15D2 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:15D8 01 00 02 00 02 00 db 01h, 00h, 02h, 00h, 02h, 00h 40E6:15DE 01 00 01 00 FA FF db 01h, 00h, 01h, 00h,0FAh,0FFh 40E6:15E4 AA 15 00 00 00 00 db 0AAh, 15h, 00h, 00h, 00h, 00h 40E6:15EA 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h 40E6:15F0 02 00 03 00 03 00 db 02h, 00h, 03h, 00h, 03h, 00h 40E6:15F6 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 40E6:15FC 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 40E6:1602 03 00 03 00 00 00 db 03h, 00h, 03h, 00h, 00h, 00h 40E6:1608 00 00 03 00 03 00 db 00h, 00h, 03h, 00h, 03h, 00h 40E6:160E 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 40E6:1614 03 00 FA FF E6 15 db 03h, 00h,0FAh,0FFh,0E6h, 15h 40E6:161A 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:1620 03 00 04 00 05 00 db 03h, 00h, 04h, 00h, 05h, 00h 40E6:1626 06 00 07 00 08 00 db 06h, 00h, 07h, 00h, 08h, 00h 40E6:162C 09 00 0A 00 0B 00 db 09h, 00h, 0Ah, 00h, 0Bh, 00h 40E6:1632 0C 00 0D 00 0E 00 db 0Ch, 00h, 0Dh, 00h, 0Eh, 00h 40E6:1638 0F 00 10 00 11 00 db 0Fh, 00h, 10h, 00h, 11h, 00h 40E6:163E 12 00 13 00 FA FF db 12h, 00h, 13h, 00h,0FAh,0FFh 40E6:1644 1A 16 FE FF 9E 00 db 1Ah, 16h,0FEh,0FFh, 9Eh, 00h 40E6:164A C8 00 01 00 FF FF db 0C8h, 00h, 01h, 00h,0FFh,0FFh 40E6:1650 10 00 FD FF 03 00 db 10h, 00h,0FDh,0FFh, 03h, 00h 40E6:1656 04 00 00 00 FD FF db 04h, 00h, 00h, 00h,0FDh,0FFh 40E6:165C 03 00 03 00 01 00 db 03h, 00h, 03h, 00h, 01h, 00h 40E6:1662 FD FF 05 00 02 00 db 0FDh,0FFh, 05h, 00h, 02h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 584 40E6:1668 00 00 FD FF 08 00 db 00h, 00h,0FDh,0FFh, 08h, 00h 40E6:166E 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:1674 05 00 02 00 00 00 db 05h, 00h, 02h, 00h, 00h, 00h 40E6:167A FD FF 06 00 04 00 db 0FDh,0FFh, 06h, 00h, 04h, 00h 40E6:1680 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:1686 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:168C 04 00 03 00 01 00 db 04h, 00h, 03h, 00h, 01h, 00h 40E6:1692 FD FF 05 00 05 00 db 0FDh,0FFh, 05h, 00h, 05h, 00h 40E6:1698 00 00 FD FF 05 00 db 00h, 00h,0FDh,0FFh, 05h, 00h 40E6:169E 03 00 01 00 FD FF db 03h, 00h, 01h, 00h,0FDh,0FFh 40E6:16A4 05 00 05 00 00 00 db 05h, 00h, 05h, 00h, 00h, 00h 40E6:16AA FD FF 05 00 04 00 db 0FDh,0FFh, 05h, 00h, 04h, 00h 40E6:16B0 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:16B6 03 00 00 00 FD FF db 03h, 00h, 00h, 00h,0FDh,0FFh 40E6:16BC 04 00 03 00 01 00 db 04h, 00h, 03h, 00h, 01h, 00h 40E6:16C2 FD FF 03 00 02 00 db 0FDh,0FFh, 03h, 00h, 02h, 00h 40E6:16C8 00 00 FD FF 03 00 db 00h, 00h,0FDh,0FFh, 03h, 00h 40E6:16CE 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:16D4 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:16DA FD FF 03 00 03 00 db 0FDh,0FFh, 03h, 00h, 03h, 00h 40E6:16E0 01 00 FD FF 02 00 db 01h, 00h,0FDh,0FFh, 02h, 00h 40E6:16E6 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:16EC 01 00 01 00 01 00 db 01h, 00h, 01h, 00h, 01h, 00h 40E6:16F2 FD FF 02 00 01 00 db 0FDh,0FFh, 02h, 00h, 01h, 00h 40E6:16F8 00 00 FD FF 03 00 db 00h, 00h,0FDh,0FFh, 03h, 00h 40E6:16FE 03 00 01 00 FD FF db 03h, 00h, 01h, 00h,0FDh,0FFh 40E6:1704 03 00 03 00 00 00 db 03h, 00h, 03h, 00h, 00h, 00h 40E6:170A FD FF 01 00 00 00 db 0FDh,0FFh, 01h, 00h, 00h, 00h 40E6:1710 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:1716 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:171C 02 00 00 00 01 00 db 02h, 00h, 00h, 00h, 01h, 00h 40E6:1722 FD FF 03 00 00 00 db 0FDh,0FFh, 03h, 00h, 00h, 00h 40E6:1728 00 00 FD FF 03 00 db 00h, 00h,0FDh,0FFh, 03h, 00h 40E6:172E 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:1734 05 00 FE FF 00 00 db 05h, 00h,0FEh,0FFh, 00h, 00h 40E6:173A FD FF 09 00 FD FF db 0FDh,0FFh, 09h, 00h,0FDh,0FFh 40E6:1740 01 00 FD FF 06 00 db 01h, 00h,0FDh,0FFh, 06h, 00h 40E6:1746 FC FF 00 00 FD FF db 0FCh,0FFh, 00h, 00h,0FDh,0FFh 40E6:174C 05 00 FE FF 01 00 db 05h, 00h,0FEh,0FFh, 01h, 00h 40E6:1752 FD FF 07 00 FE FF db 0FDh,0FFh, 07h, 00h,0FEh,0FFh 40E6:1758 00 00 FD FF 09 00 db 00h, 00h,0FDh,0FFh, 09h, 00h 40E6:175E FC FF 01 00 FD FF db 0FCh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1764 08 00 FD FF 00 00 db 08h, 00h,0FDh,0FFh, 00h, 00h 40E6:176A FD FF 06 00 FE FF db 0FDh,0FFh, 06h, 00h,0FEh,0FFh 40E6:1770 01 00 FD FF 05 00 db 01h, 00h,0FDh,0FFh, 05h, 00h 40E6:1776 FF FF 00 00 FD FF db 0FFh,0FFh, 00h, 00h,0FDh,0FFh 40E6:177C 03 00 FE FF 01 00 db 03h, 00h,0FEh,0FFh, 01h, 00h 40E6:1782 FD FF 04 00 FE FF db 0FDh,0FFh, 04h, 00h,0FEh,0FFh 40E6:1788 00 00 FD FF 03 00 db 00h, 00h,0FDh,0FFh, 03h, 00h 40E6:178E FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1794 02 00 FF FF 00 00 db 02h, 00h,0FFh,0FFh, 00h, 00h 40E6:179A FD FF 05 00 FD FF db 0FDh,0FFh, 05h, 00h,0FDh,0FFh 40E6:17A0 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:17A6 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:17AC 03 00 FF FF 01 00 db 03h, 00h,0FFh,0FFh, 01h, 00h 40E6:17B2 FD FF 04 00 00 00 db 0FDh,0FFh, 04h, 00h, 00h, 00h 40E6:17B8 00 00 FD FF 08 00 db 00h, 00h,0FDh,0FFh, 08h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 585 40E6:17BE FD FF 01 00 FD FF db 0FDh,0FFh, 01h, 00h,0FDh,0FFh 40E6:17C4 04 00 FE FF 00 00 db 04h, 00h,0FEh,0FFh, 00h, 00h 40E6:17CA FD FF 06 00 FE FF db 0FDh,0FFh, 06h, 00h,0FEh,0FFh 40E6:17D0 01 00 FD FF 07 00 db 01h, 00h,0FDh,0FFh, 07h, 00h 40E6:17D6 FF FF 00 00 FD FF db 0FFh,0FFh, 00h, 00h,0FDh,0FFh 40E6:17DC 08 00 FF FF 01 00 db 08h, 00h,0FFh,0FFh, 01h, 00h 40E6:17E2 FD FF 0A 00 FF FF db 0FDh,0FFh, 0Ah, 00h,0FFh,0FFh 40E6:17E8 00 00 FE FF 64 00 db 00h, 00h,0FEh,0FFh, 64h, 00h 40E6:17EE 64 00 03 00 FF FF db 64h, 00h, 03h, 00h,0FFh,0FFh 40E6:17F4 05 00 FE FF 7E 01 db 05h, 00h,0FEh,0FFh, 7Eh, 01h 40E6:17FA F0 00 03 00 FD FF db 0F0h, 00h, 03h, 00h,0FDh,0FFh 40E6:1800 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 40E6:1806 FD FF FF FF 06 00 db 0FDh,0FFh,0FFh,0FFh, 06h, 00h 40E6:180C 03 00 FD FF FF FF db 03h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1812 02 00 02 00 FD FF db 02h, 00h, 02h, 00h,0FDh,0FFh 40E6:1818 FC FF 04 00 03 00 db 0FCh,0FFh, 04h, 00h, 03h, 00h 40E6:181E FD FF FC FF 04 00 db 0FDh,0FFh,0FCh,0FFh, 04h, 00h 40E6:1824 02 00 FD FF FA FF db 02h, 00h,0FDh,0FFh,0FAh,0FFh 40E6:182A 04 00 03 00 FD FF db 04h, 00h, 03h, 00h,0FDh,0FFh 40E6:1830 FB FF 04 00 02 00 db 0FBh,0FFh, 04h, 00h, 02h, 00h 40E6:1836 FD FF FA FF 03 00 db 0FDh,0FFh,0FAh,0FFh, 03h, 00h 40E6:183C 03 00 FD FF FC FF db 03h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:1842 03 00 02 00 FD FF db 03h, 00h, 02h, 00h,0FDh,0FFh 40E6:1848 FB FF 02 00 03 00 db 0FBh,0FFh, 02h, 00h, 03h, 00h 40E6:184E FD FF FE FF 02 00 db 0FDh,0FFh,0FEh,0FFh, 02h, 00h 40E6:1854 02 00 FD FF FC FF db 02h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:185A 02 00 03 00 FD FF db 02h, 00h, 03h, 00h,0FDh,0FFh 40E6:1860 FC FF 02 00 02 00 db 0FCh,0FFh, 02h, 00h, 02h, 00h 40E6:1866 FD FF FD FF 01 00 db 0FDh,0FFh,0FDh,0FFh, 01h, 00h 40E6:186C 03 00 FD FF FA FF db 03h, 00h,0FDh,0FFh,0FAh,0FFh 40E6:1872 03 00 02 00 FD FF db 03h, 00h, 02h, 00h,0FDh,0FFh 40E6:1878 FB FF 01 00 03 00 db 0FBh,0FFh, 01h, 00h, 03h, 00h 40E6:187E FD FF FC FF 01 00 db 0FDh,0FFh,0FCh,0FFh, 01h, 00h 40E6:1884 02 00 FD FF FB FF db 02h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:188A 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:1890 FB FF 00 00 02 00 db 0FBh,0FFh, 00h, 00h, 02h, 00h 40E6:1896 FD FF F9 FF 00 00 db 0FDh,0FFh,0F9h,0FFh, 00h, 00h 40E6:189C 03 00 FD FF F8 FF db 03h, 00h,0FDh,0FFh,0F8h,0FFh 40E6:18A2 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:18A8 F9 FF FF FF 03 00 db 0F9h,0FFh,0FFh,0FFh, 03h, 00h 40E6:18AE FD FF F8 FF 00 00 db 0FDh,0FFh,0F8h,0FFh, 00h, 00h 40E6:18B4 02 00 FD FF F8 FF db 02h, 00h,0FDh,0FFh,0F8h,0FFh 40E6:18BA 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:18C0 F8 FF 00 00 02 00 db 0F8h,0FFh, 00h, 00h, 02h, 00h 40E6:18C6 FD FF F9 FF FF FF db 0FDh,0FFh,0F9h,0FFh,0FFh,0FFh 40E6:18CC 03 00 FD FF F7 FF db 03h, 00h,0FDh,0FFh,0F7h,0FFh 40E6:18D2 FF FF 02 00 FD FF db 0FFh,0FFh, 02h, 00h,0FDh,0FFh 40E6:18D8 FA FF FE FF 03 00 db 0FAh,0FFh,0FEh,0FFh, 03h, 00h 40E6:18DE FD FF F9 FF FE FF db 0FDh,0FFh,0F9h,0FFh,0FEh,0FFh 40E6:18E4 02 00 FD FF FB FF db 02h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:18EA FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:18F0 FB FF FE FF 02 00 db 0FBh,0FFh,0FEh,0FFh, 02h, 00h 40E6:18F6 FD FF FC FF FE FF db 0FDh,0FFh,0FCh,0FFh,0FEh,0FFh 40E6:18FC 03 00 FD FF FD FF db 03h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:1902 FE FF 02 00 FD FF db 0FEh,0FFh, 02h, 00h,0FDh,0FFh 40E6:1908 FD FF FE FF 03 00 db 0FDh,0FFh,0FEh,0FFh, 03h, 00h 40E6:190E FD FF FC FF FD FF db 0FDh,0FFh,0FCh,0FFh,0FDh,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 586 40E6:1914 02 00 FD FF FF FF db 02h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:191A FF FF 03 00 FD FF db 0FFh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1920 FE FF FE FF 02 00 db 0FEh,0FFh,0FEh,0FFh, 02h, 00h 40E6:1926 FD FF FE FF FD FF db 0FDh,0FFh,0FEh,0FFh,0FDh,0FFh 40E6:192C 03 00 FD FF FD FF db 03h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:1932 FD FF 02 00 FD FF db 0FDh,0FFh, 02h, 00h,0FDh,0FFh 40E6:1938 FD FF FC FF 03 00 db 0FDh,0FFh,0FCh,0FFh, 03h, 00h 40E6:193E FD FF FE FF FC FF db 0FDh,0FFh,0FEh,0FFh,0FCh,0FFh 40E6:1944 02 00 FD FF FE FF db 02h, 00h,0FDh,0FFh,0FEh,0FFh 40E6:194A FC FF 03 00 FD FF db 0FCh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1950 FD FF FB FF 02 00 db 0FDh,0FFh,0FBh,0FFh, 02h, 00h 40E6:1956 FD FF FE FF FB FF db 0FDh,0FFh,0FEh,0FFh,0FBh,0FFh 40E6:195C 03 00 FD FF FB FF db 03h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:1962 F9 FF 02 00 FD FF db 0F9h,0FFh, 02h, 00h,0FDh,0FFh 40E6:1968 FD FF FB FF 03 00 db 0FDh,0FFh,0FBh,0FFh, 03h, 00h 40E6:196E FD FF FC FF FA FF db 0FDh,0FFh,0FCh,0FFh,0FAh,0FFh 40E6:1974 02 00 FD FF FE FF db 02h, 00h,0FDh,0FFh,0FEh,0FFh 40E6:197A FC FF 03 00 FD FF db 0FCh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1980 FD FF E0 FF 02 00 db 0FDh,0FFh,0E0h,0FFh, 02h, 00h 40E6:1986 FA FF 46 16 FE FF db 0FAh,0FFh, 46h, 16h,0FEh,0FFh 40E6:198C A7 00 C5 00 02 00 db 0A7h, 00h,0C5h, 00h, 02h, 00h 40E6:1992 FD FF 02 00 02 00 db 0FDh,0FFh, 02h, 00h, 02h, 00h 40E6:1998 01 00 FD FF 09 00 db 01h, 00h,0FDh,0FFh, 09h, 00h 40E6:199E 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:19A4 03 00 01 00 01 00 db 03h, 00h, 01h, 00h, 01h, 00h 40E6:19AA FD FF 02 00 02 00 db 0FDh,0FFh, 02h, 00h, 02h, 00h 40E6:19B0 00 00 FD FF 05 00 db 00h, 00h,0FDh,0FFh, 05h, 00h 40E6:19B6 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:19BC 07 00 02 00 00 00 db 07h, 00h, 02h, 00h, 00h, 00h 40E6:19C2 FD FF 04 00 00 00 db 0FDh,0FFh, 04h, 00h, 00h, 00h 40E6:19C8 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:19CE 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:19D4 03 00 00 00 01 00 db 03h, 00h, 00h, 00h, 01h, 00h 40E6:19DA FD FF 01 00 00 00 db 0FDh,0FFh, 01h, 00h, 00h, 00h 40E6:19E0 00 00 FD FF 02 00 db 00h, 00h,0FDh,0FFh, 02h, 00h 40E6:19E6 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:19EC 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 40E6:19F2 FD FF 02 00 00 00 db 0FDh,0FFh, 02h, 00h, 00h, 00h 40E6:19F8 01 00 FD FF 02 00 db 01h, 00h,0FDh,0FFh, 02h, 00h 40E6:19FE 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1A04 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:1A0A FD FF 03 00 02 00 db 0FDh,0FFh, 03h, 00h, 02h, 00h 40E6:1A10 00 00 FD FF 03 00 db 00h, 00h,0FDh,0FFh, 03h, 00h 40E6:1A16 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:1A1C 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:1A22 FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:1A28 01 00 FD FF 02 00 db 01h, 00h,0FDh,0FFh, 02h, 00h 40E6:1A2E 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:1A34 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:1A3A FD FF 02 00 02 00 db 0FDh,0FFh, 02h, 00h, 02h, 00h 40E6:1A40 00 00 FD FF 04 00 db 00h, 00h,0FDh,0FFh, 04h, 00h 40E6:1A46 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:1A4C 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:1A52 FD FF 05 00 03 00 db 0FDh,0FFh, 05h, 00h, 03h, 00h 40E6:1A58 01 00 FD FF 07 00 db 01h, 00h,0FDh,0FFh, 07h, 00h 40E6:1A5E 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:1A64 04 00 01 00 01 00 db 04h, 00h, 01h, 00h, 01h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 587 40E6:1A6A FD FF 03 00 01 00 db 0FDh,0FFh, 03h, 00h, 01h, 00h 40E6:1A70 00 00 FD FF 04 00 db 00h, 00h,0FDh,0FFh, 04h, 00h 40E6:1A76 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1A7C 06 00 01 00 00 00 db 06h, 00h, 01h, 00h, 00h, 00h 40E6:1A82 FD FF 06 00 00 00 db 0FDh,0FFh, 06h, 00h, 00h, 00h 40E6:1A88 01 00 FD FF 04 00 db 01h, 00h,0FDh,0FFh, 04h, 00h 40E6:1A8E 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1A94 04 00 00 00 01 00 db 04h, 00h, 00h, 00h, 01h, 00h 40E6:1A9A FD FF 06 00 FF FF db 0FDh,0FFh, 06h, 00h,0FFh,0FFh 40E6:1AA0 00 00 FD FF 05 00 db 00h, 00h,0FDh,0FFh, 05h, 00h 40E6:1AA6 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1AAC 09 00 FE FF 00 00 db 09h, 00h,0FEh,0FFh, 00h, 00h 40E6:1AB2 FD FF 04 00 00 00 db 0FDh,0FFh, 04h, 00h, 00h, 00h 40E6:1AB8 01 00 FD FF 07 00 db 01h, 00h,0FDh,0FFh, 07h, 00h 40E6:1ABE FF FF 00 00 FD FF db 0FFh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1AC4 04 00 FF FF 01 00 db 04h, 00h,0FFh,0FFh, 01h, 00h 40E6:1ACA FD FF 05 00 FF FF db 0FDh,0FFh, 05h, 00h,0FFh,0FFh 40E6:1AD0 00 00 FD FF 04 00 db 00h, 00h,0FDh,0FFh, 04h, 00h 40E6:1AD6 FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1ADC 03 00 FF FF 00 00 db 03h, 00h,0FFh,0FFh, 00h, 00h 40E6:1AE2 FD FF 03 00 FF FF db 0FDh,0FFh, 03h, 00h,0FFh,0FFh 40E6:1AE8 01 00 FD FF 04 00 db 01h, 00h,0FDh,0FFh, 04h, 00h 40E6:1AEE FF FF 00 00 FD FF db 0FFh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1AF4 04 00 FF FF 01 00 db 04h, 00h,0FFh,0FFh, 01h, 00h 40E6:1AFA FD FF 04 00 FE FF db 0FDh,0FFh, 04h, 00h,0FEh,0FFh 40E6:1B00 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1B06 FF FF 01 00 FD FF db 0FFh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1B0C 03 00 FF FF 00 00 db 03h, 00h,0FFh,0FFh, 00h, 00h 40E6:1B12 FD FF 02 00 FF FF db 0FDh,0FFh, 02h, 00h,0FFh,0FFh 40E6:1B18 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:1B1E FF FF 00 00 FD FF db 0FFh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1B24 01 00 FF FF 01 00 db 01h, 00h,0FFh,0FFh, 01h, 00h 40E6:1B2A FD FF 01 00 00 00 db 0FDh,0FFh, 01h, 00h, 00h, 00h 40E6:1B30 00 00 FD FF 02 00 db 00h, 00h,0FDh,0FFh, 02h, 00h 40E6:1B36 FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1B3C 01 00 FF FF 00 00 db 01h, 00h,0FFh,0FFh, 00h, 00h 40E6:1B42 FD FF 01 00 FF FF db 0FDh,0FFh, 01h, 00h,0FFh,0FFh 40E6:1B48 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1B4E 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1B54 01 00 FF FF 01 00 db 01h, 00h,0FFh,0FFh, 01h, 00h 40E6:1B5A FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:1B60 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1B66 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1B6C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 40E6:1B72 FD FF 01 00 00 00 db 0FDh,0FFh, 01h, 00h, 00h, 00h 40E6:1B78 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1B7E 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1B84 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:1B8A FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:1B90 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1B96 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1B9C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 40E6:1BA2 FD FF 02 00 01 00 db 0FDh,0FFh, 02h, 00h, 01h, 00h 40E6:1BA8 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:1BAE 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:1BB4 03 00 01 00 01 00 db 03h, 00h, 01h, 00h, 01h, 00h 40E6:1BBA FD FF 04 00 04 00 db 0FDh,0FFh, 04h, 00h, 04h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 588 40E6:1BC0 00 00 FD FF 04 00 db 00h, 00h,0FDh,0FFh, 04h, 00h 40E6:1BC6 04 00 01 00 FD FF db 04h, 00h, 01h, 00h,0FDh,0FFh 40E6:1BCC 02 00 02 00 00 00 db 02h, 00h, 02h, 00h, 00h, 00h 40E6:1BD2 FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:1BD8 01 00 FD FF 02 00 db 01h, 00h,0FDh,0FFh, 02h, 00h 40E6:1BDE 02 00 00 00 FE FF db 02h, 00h, 00h, 00h,0FEh,0FFh 40E6:1BE4 64 00 64 00 FF FF db 64h, 00h, 64h, 00h,0FFh,0FFh 40E6:1BEA 15 00 FE FF 6F 01 db 15h, 00h,0FEh,0FFh, 6Fh, 01h 40E6:1BF0 F3 00 02 00 FD FF db 0F3h, 00h, 02h, 00h,0FDh,0FFh 40E6:1BF6 FD FF 05 00 03 00 db 0FDh,0FFh, 05h, 00h, 03h, 00h 40E6:1BFC FD FF FB FF 06 00 db 0FDh,0FFh,0FBh,0FFh, 06h, 00h 40E6:1C02 02 00 FD FF FF FF db 02h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1C08 02 00 03 00 FD FF db 02h, 00h, 03h, 00h,0FDh,0FFh 40E6:1C0E FE FF 04 00 02 00 db 0FEh,0FFh, 04h, 00h, 02h, 00h 40E6:1C14 FD FF FF FF 02 00 db 0FDh,0FFh,0FFh,0FFh, 02h, 00h 40E6:1C1A 03 00 FD FF FF FF db 03h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1C20 02 00 02 00 FD FF db 02h, 00h, 02h, 00h,0FDh,0FFh 40E6:1C26 FF FF 02 00 03 00 db 0FFh,0FFh, 02h, 00h, 03h, 00h 40E6:1C2C FD FF FE FF 02 00 db 0FDh,0FFh,0FEh,0FFh, 02h, 00h 40E6:1C32 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:1C38 01 00 03 00 FD FF db 01h, 00h, 03h, 00h,0FDh,0FFh 40E6:1C3E FF FF 01 00 02 00 db 0FFh,0FFh, 01h, 00h, 02h, 00h 40E6:1C44 FD FF FF FF 01 00 db 0FDh,0FFh,0FFh,0FFh, 01h, 00h 40E6:1C4A 03 00 FD FF FF FF db 03h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1C50 01 00 02 00 FD FF db 01h, 00h, 02h, 00h,0FDh,0FFh 40E6:1C56 00 00 01 00 00 00 db 00h, 00h, 01h, 00h, 00h, 00h 40E6:1C5C FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:1C62 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1C68 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1C6E 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:1C74 FD FF 00 00 02 00 db 0FDh,0FFh, 00h, 00h, 02h, 00h 40E6:1C7A 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1C80 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1C86 00 00 01 00 00 00 db 00h, 00h, 01h, 00h, 00h, 00h 40E6:1C8C FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:1C92 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1C98 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:1C9E 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:1CA4 FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:1CAA 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1CB0 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:1CB6 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:1CBC FD FF 00 00 01 00 db 0FDh,0FFh, 00h, 00h, 01h, 00h 40E6:1CC2 01 00 FD FF 02 00 db 01h, 00h,0FDh,0FFh, 02h, 00h 40E6:1CC8 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:1CCE 01 00 01 00 01 00 db 01h, 00h, 01h, 00h, 01h, 00h 40E6:1CD4 FD FF 01 00 00 00 db 0FDh,0FFh, 01h, 00h, 00h, 00h 40E6:1CDA 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1CE0 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1CE6 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 40E6:1CEC FD FF 01 00 FE FF db 0FDh,0FFh, 01h, 00h,0FEh,0FFh 40E6:1CF2 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1CF8 FE FF 00 00 FD FF db 0FEh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1CFE 01 00 FF FF 01 00 db 01h, 00h,0FFh,0FFh, 01h, 00h 40E6:1D04 FD FF 02 00 01 00 db 0FDh,0FFh, 02h, 00h, 01h, 00h 40E6:1D0A 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1D10 01 00 01 00 FD FF db 01h, 00h, 01h, 00h,0FDh,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 589 40E6:1D16 00 00 03 00 00 00 db 00h, 00h, 03h, 00h, 00h, 00h 40E6:1D1C FD FF 00 00 02 00 db 0FDh,0FFh, 00h, 00h, 02h, 00h 40E6:1D22 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1D28 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:1D2E 00 00 02 00 01 00 db 00h, 00h, 02h, 00h, 01h, 00h 40E6:1D34 FD FF 00 00 01 00 db 0FDh,0FFh, 00h, 00h, 01h, 00h 40E6:1D3A 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1D40 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1D46 00 00 01 00 00 00 db 00h, 00h, 01h, 00h, 00h, 00h 40E6:1D4C FD FF 00 00 01 00 db 0FDh,0FFh, 00h, 00h, 01h, 00h 40E6:1D52 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1D58 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1D5E 00 00 01 00 01 00 db 00h, 00h, 01h, 00h, 01h, 00h 40E6:1D64 FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:1D6A 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1D70 FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1D76 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:1D7C FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:1D82 03 00 FD FF 00 00 db 03h, 00h,0FDh,0FFh, 00h, 00h 40E6:1D88 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:1D8E FF FF 00 00 03 00 db 0FFh,0FFh, 00h, 00h, 03h, 00h 40E6:1D94 FD FF FE FF 01 00 db 0FDh,0FFh,0FEh,0FFh, 01h, 00h 40E6:1D9A 02 00 FD FF FD FF db 02h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:1DA0 FF FF 03 00 FD FF db 0FFh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1DA6 FE FF 00 00 02 00 db 0FEh,0FFh, 00h, 00h, 02h, 00h 40E6:1DAC FD FF FE FF FE FF db 0FDh,0FFh,0FEh,0FFh,0FEh,0FFh 40E6:1DB2 03 00 FD FF FF FF db 03h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1DB8 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:1DBE FF FF FE FF 03 00 db 0FFh,0FFh,0FEh,0FFh, 03h, 00h 40E6:1DC4 FD FF FD FF FE FF db 0FDh,0FFh,0FDh,0FFh,0FEh,0FFh 40E6:1DCA 02 00 FD FF FF FF db 02h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1DD0 FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1DD6 FE FF FF FF 02 00 db 0FEh,0FFh,0FFh,0FFh, 02h, 00h 40E6:1DDC FD FF FF FF FE FF db 0FDh,0FFh,0FFh,0FFh,0FEh,0FFh 40E6:1DE2 03 00 FD FF 00 00 db 03h, 00h,0FDh,0FFh, 00h, 00h 40E6:1DE8 FE FF 02 00 FD FF db 0FEh,0FFh, 02h, 00h,0FDh,0FFh 40E6:1DEE 00 00 FE FF 03 00 db 00h, 00h,0FEh,0FFh, 03h, 00h 40E6:1DF4 FD FF 00 00 FF FF db 0FDh,0FFh, 00h, 00h,0FFh,0FFh 40E6:1DFA 02 00 FD FF 01 00 db 02h, 00h,0FDh,0FFh, 01h, 00h 40E6:1E00 FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1E06 01 00 00 00 02 00 db 01h, 00h, 00h, 00h, 02h, 00h 40E6:1E0C FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:1E12 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1E18 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:1E1E 01 00 FF FF 00 00 db 01h, 00h,0FFh,0FFh, 00h, 00h 40E6:1E24 FD FF 02 00 FF FF db 0FDh,0FFh, 02h, 00h,0FFh,0FFh 40E6:1E2A 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:1E30 FD FF 00 00 FD FF db 0FDh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1E36 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:1E3C FD FF 03 00 FB FF db 0FDh,0FFh, 03h, 00h,0FBh,0FFh 40E6:1E42 00 00 FD FF 02 00 db 00h, 00h,0FDh,0FFh, 02h, 00h 40E6:1E48 FA FF 01 00 FD FF db 0FAh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1E4E 02 00 FB FF 00 00 db 02h, 00h,0FBh,0FFh, 00h, 00h 40E6:1E54 FD FF 01 00 FD FF db 0FDh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1E5A 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:1E60 FD FF 00 00 FD FF db 0FDh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1E66 02 00 FD FF 01 00 db 02h, 00h,0FDh,0FFh, 01h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 590 40E6:1E6C FD FF 01 00 FD FF db 0FDh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1E72 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1E78 FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1E7E 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:1E84 FE FF 64 00 64 00 db 0FEh,0FFh, 64h, 00h, 64h, 00h 40E6:1E8A FF FF 0A 00 FA FF db 0FFh,0FFh, 0Ah, 00h,0FAh,0FFh 40E6:1E90 8A 19 FE FF A1 00 db 8Ah, 19h,0FEh,0FFh,0A1h, 00h 40E6:1E96 EE 00 00 00 FD FF db 0EEh, 00h, 00h, 00h,0FDh,0FFh 40E6:1E9C 04 00 01 00 01 00 db 04h, 00h, 01h, 00h, 01h, 00h 40E6:1EA2 FD FF 02 00 FF FF db 0FDh,0FFh, 02h, 00h,0FFh,0FFh 40E6:1EA8 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:1EAE FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1EB4 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:1EBA FD FF 03 00 FD FF db 0FDh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1EC0 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:1EC6 FE FF 00 00 FD FF db 0FEh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1ECC 03 00 FF FF 01 00 db 03h, 00h,0FFh,0FFh, 01h, 00h 40E6:1ED2 FD FF 02 00 00 00 db 0FDh,0FFh, 02h, 00h, 00h, 00h 40E6:1ED8 00 00 FD FF 03 00 db 00h, 00h,0FDh,0FFh, 03h, 00h 40E6:1EDE FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1EE4 07 00 FF FF 00 00 db 07h, 00h,0FFh,0FFh, 00h, 00h 40E6:1EEA FD FF 04 00 00 00 db 0FDh,0FFh, 04h, 00h, 00h, 00h 40E6:1EF0 01 00 FD FF 04 00 db 01h, 00h,0FDh,0FFh, 04h, 00h 40E6:1EF6 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:1EFC 06 00 FF FF 01 00 db 06h, 00h,0FFh,0FFh, 01h, 00h 40E6:1F02 FD FF 06 00 FC FF db 0FDh,0FFh, 06h, 00h,0FCh,0FFh 40E6:1F08 00 00 FD FF 02 00 db 00h, 00h,0FDh,0FFh, 02h, 00h 40E6:1F0E FD FF 01 00 FD FF db 0FDh,0FFh, 01h, 00h,0FDh,0FFh 40E6:1F14 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:1F1A FD FF 03 00 FD FF db 0FDh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1F20 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:1F26 FA FF 00 00 FD FF db 0FAh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1F2C 02 00 FC FF 01 00 db 02h, 00h,0FCh,0FFh, 01h, 00h 40E6:1F32 FD FF 00 00 FD FF db 0FDh,0FFh, 00h, 00h,0FDh,0FFh 40E6:1F38 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:1F3E 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:1F44 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 40E6:1F4A FD FF FF FF 02 00 db 0FDh,0FFh,0FFh,0FFh, 02h, 00h 40E6:1F50 02 00 FD FF FE FF db 02h, 00h,0FDh,0FFh,0FEh,0FFh 40E6:1F56 01 00 03 00 FD FF db 01h, 00h, 03h, 00h,0FDh,0FFh 40E6:1F5C FF FF FF FF 02 00 db 0FFh,0FFh,0FFh,0FFh, 02h, 00h 40E6:1F62 FD FF FE FF FE FF db 0FDh,0FFh,0FEh,0FFh,0FEh,0FFh 40E6:1F68 03 00 FD FF FE FF db 03h, 00h,0FDh,0FFh,0FEh,0FFh 40E6:1F6E FE FF 02 00 FD FF db 0FEh,0FFh, 02h, 00h,0FDh,0FFh 40E6:1F74 FE FF FE FF 03 00 db 0FEh,0FFh,0FEh,0FFh, 03h, 00h 40E6:1F7A FD FF FE FF FE FF db 0FDh,0FFh,0FEh,0FFh,0FEh,0FFh 40E6:1F80 02 00 FD FF FF FF db 02h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1F86 FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1F8C 00 00 FE FF 02 00 db 00h, 00h,0FEh,0FFh, 02h, 00h 40E6:1F92 FD FF 01 00 FF FF db 0FDh,0FFh, 01h, 00h,0FFh,0FFh 40E6:1F98 03 00 FD FF 01 00 db 03h, 00h,0FDh,0FFh, 01h, 00h 40E6:1F9E 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:1FA4 01 00 01 00 03 00 db 01h, 00h, 01h, 00h, 03h, 00h 40E6:1FAA FD FF 02 00 03 00 db 0FDh,0FFh, 02h, 00h, 03h, 00h 40E6:1FB0 02 00 FD FF 03 00 db 02h, 00h,0FDh,0FFh, 03h, 00h 40E6:1FB6 02 00 03 00 FD FF db 02h, 00h, 03h, 00h,0FDh,0FFh 40E6:1FBC 01 00 01 00 02 00 db 01h, 00h, 01h, 00h, 02h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 591 40E6:1FC2 FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:1FC8 03 00 FD FF 01 00 db 03h, 00h,0FDh,0FFh, 01h, 00h 40E6:1FCE 01 00 02 00 FD FF db 01h, 00h, 02h, 00h,0FDh,0FFh 40E6:1FD4 01 00 00 00 03 00 db 01h, 00h, 00h, 00h, 03h, 00h 40E6:1FDA FD FF 01 00 FF FF db 0FDh,0FFh, 01h, 00h,0FFh,0FFh 40E6:1FE0 02 00 FD FF FF FF db 02h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1FE6 FC FF 03 00 FD FF db 0FCh,0FFh, 03h, 00h,0FDh,0FFh 40E6:1FEC FF FF FD FF 02 00 db 0FFh,0FFh,0FDh,0FFh, 02h, 00h 40E6:1FF2 FD FF 00 00 FE FF db 0FDh,0FFh, 00h, 00h,0FEh,0FFh 40E6:1FF8 03 00 FD FF FF FF db 03h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:1FFE FE FF 02 00 FD FF db 0FEh,0FFh, 02h, 00h,0FDh,0FFh 40E6:2004 00 00 FE FF 03 00 db 00h, 00h,0FEh,0FFh, 03h, 00h 40E6:200A FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:2010 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:2016 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:201C FF FF 01 00 02 00 db 0FFh,0FFh, 01h, 00h, 02h, 00h 40E6:2022 FD FF 00 00 01 00 db 0FDh,0FFh, 00h, 00h, 01h, 00h 40E6:2028 03 00 FD FF 00 00 db 03h, 00h,0FDh,0FFh, 00h, 00h 40E6:202E 01 00 02 00 FD FF db 01h, 00h, 02h, 00h,0FDh,0FFh 40E6:2034 FF FF 01 00 03 00 db 0FFh,0FFh, 01h, 00h, 03h, 00h 40E6:203A FD FF FD FF 02 00 db 0FDh,0FFh,0FDh,0FFh, 02h, 00h 40E6:2040 02 00 FD FF FF FF db 02h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:2046 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:204C FD FF FF FF 02 00 db 0FDh,0FFh,0FFh,0FFh, 02h, 00h 40E6:2052 FD FF FD FF FF FF db 0FDh,0FFh,0FDh,0FFh,0FFh,0FFh 40E6:2058 03 00 FD FF FF FF db 03h, 00h,0FDh,0FFh,0FFh,0FFh 40E6:205E FF FF 02 00 FD FF db 0FFh,0FFh, 02h, 00h,0FDh,0FFh 40E6:2064 FD FF 00 00 03 00 db 0FDh,0FFh, 00h, 00h, 03h, 00h 40E6:206A FD FF FE FF 02 00 db 0FDh,0FFh,0FEh,0FFh, 02h, 00h 40E6:2070 02 00 FD FF FD FF db 02h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:2076 02 00 03 00 FD FF db 02h, 00h, 03h, 00h,0FDh,0FFh 40E6:207C FF FF FF FF 02 00 db 0FFh,0FFh,0FFh,0FFh, 02h, 00h 40E6:2082 FD FF FF FF 01 00 db 0FDh,0FFh,0FFh,0FFh, 01h, 00h 40E6:2088 03 00 FD FF 00 00 db 03h, 00h,0FDh,0FFh, 00h, 00h 40E6:208E 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:2094 02 00 00 00 03 00 db 02h, 00h, 00h, 00h, 03h, 00h 40E6:209A FD FF 03 00 FF FF db 0FDh,0FFh, 03h, 00h,0FFh,0FFh 40E6:20A0 02 00 FD FF 03 00 db 02h, 00h,0FDh,0FFh, 03h, 00h 40E6:20A6 FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:20AC 02 00 FF FF 02 00 db 02h, 00h,0FFh,0FFh, 02h, 00h 40E6:20B2 FD FF 01 00 FF FF db 0FDh,0FFh, 01h, 00h,0FFh,0FFh 40E6:20B8 03 00 FD FF 00 00 db 03h, 00h,0FDh,0FFh, 00h, 00h 40E6:20BE 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:20C4 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 40E6:20CA FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:20D0 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:20D6 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:20DC 01 00 00 00 01 00 db 01h, 00h, 00h, 00h, 01h, 00h 40E6:20E2 FD FF 01 00 01 00 db 0FDh,0FFh, 01h, 00h, 01h, 00h 40E6:20E8 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:20EE 01 00 01 00 FD FF db 01h, 00h, 01h, 00h,0FDh,0FFh 40E6:20F4 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:20FA FD FF 03 00 02 00 db 0FDh,0FFh, 03h, 00h, 02h, 00h 40E6:2100 01 00 FD FF 02 00 db 01h, 00h,0FDh,0FFh, 02h, 00h 40E6:2106 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:210C 02 00 01 00 01 00 db 02h, 00h, 01h, 00h, 01h, 00h 40E6:2112 FD FF 02 00 02 00 db 0FDh,0FFh, 02h, 00h, 02h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 592 40E6:2118 00 00 FD FF 02 00 db 00h, 00h,0FDh,0FFh, 02h, 00h 40E6:211E 01 00 01 00 FD FF db 01h, 00h, 01h, 00h,0FDh,0FFh 40E6:2124 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:212A FD FF 02 00 02 00 db 0FDh,0FFh, 02h, 00h, 02h, 00h 40E6:2130 01 00 FD FF 03 00 db 01h, 00h,0FDh,0FFh, 03h, 00h 40E6:2136 02 00 00 00 FD FF db 02h, 00h, 00h, 00h,0FDh,0FFh 40E6:213C 02 00 02 00 01 00 db 02h, 00h, 02h, 00h, 01h, 00h 40E6:2142 FD FF 06 00 03 00 db 0FDh,0FFh, 06h, 00h, 03h, 00h 40E6:2148 00 00 FD FF 06 00 db 00h, 00h,0FDh,0FFh, 06h, 00h 40E6:214E 04 00 01 00 FD FF db 04h, 00h, 01h, 00h,0FDh,0FFh 40E6:2154 04 00 03 00 00 00 db 04h, 00h, 03h, 00h, 00h, 00h 40E6:215A FD FF 03 00 01 00 db 0FDh,0FFh, 03h, 00h, 01h, 00h 40E6:2160 01 00 FD FF 04 00 db 01h, 00h,0FDh,0FFh, 04h, 00h 40E6:2166 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:216C 05 00 02 00 01 00 db 05h, 00h, 02h, 00h, 01h, 00h 40E6:2172 FD FF 04 00 01 00 db 0FDh,0FFh, 04h, 00h, 01h, 00h 40E6:2178 00 00 FD FF 04 00 db 00h, 00h,0FDh,0FFh, 04h, 00h 40E6:217E 01 00 01 00 FD FF db 01h, 00h, 01h, 00h,0FDh,0FFh 40E6:2184 05 00 01 00 00 00 db 05h, 00h, 01h, 00h, 00h, 00h 40E6:218A FD FF 07 00 02 00 db 0FDh,0FFh, 07h, 00h, 02h, 00h 40E6:2190 01 00 FD FF 05 00 db 01h, 00h,0FDh,0FFh, 05h, 00h 40E6:2196 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:219C 04 00 01 00 01 00 db 04h, 00h, 01h, 00h, 01h, 00h 40E6:21A2 FD FF 08 00 01 00 db 0FDh,0FFh, 08h, 00h, 01h, 00h 40E6:21A8 00 00 FD FF 09 00 db 00h, 00h,0FDh,0FFh, 09h, 00h 40E6:21AE 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:21B4 07 00 00 00 00 00 db 07h, 00h, 00h, 00h, 00h, 00h 40E6:21BA FD FF 06 00 00 00 db 0FDh,0FFh, 06h, 00h, 00h, 00h 40E6:21C0 01 00 FD FF 07 00 db 01h, 00h,0FDh,0FFh, 07h, 00h 40E6:21C6 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:21CC 02 00 00 00 01 00 db 02h, 00h, 00h, 00h, 01h, 00h 40E6:21D2 FD FF 03 00 00 00 db 0FDh,0FFh, 03h, 00h, 00h, 00h 40E6:21D8 00 00 FD FF 04 00 db 00h, 00h,0FDh,0FFh, 04h, 00h 40E6:21DE 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:21E4 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 40E6:21EA FD FF 01 00 FF FF db 0FDh,0FFh, 01h, 00h,0FFh,0FFh 40E6:21F0 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:21F6 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:21FC 01 00 FF FF 01 00 db 01h, 00h,0FFh,0FFh, 01h, 00h 40E6:2202 FD FF 00 00 FF FF db 0FDh,0FFh, 00h, 00h,0FFh,0FFh 40E6:2208 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:220E FE FF 01 00 FD FF db 0FEh,0FFh, 01h, 00h,0FDh,0FFh 40E6:2214 00 00 FE FF 00 00 db 00h, 00h,0FEh,0FFh, 00h, 00h 40E6:221A FD FF 00 00 FE FF db 0FDh,0FFh, 00h, 00h,0FEh,0FFh 40E6:2220 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:2226 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:222C 04 00 01 00 01 00 db 04h, 00h, 01h, 00h, 01h, 00h 40E6:2232 FD FF 02 00 01 00 db 0FDh,0FFh, 02h, 00h, 01h, 00h 40E6:2238 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:223E 01 00 01 00 FD FF db 01h, 00h, 01h, 00h,0FDh,0FFh 40E6:2244 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 40E6:224A FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:2250 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:2256 FF FF 00 00 FD FF db 0FFh,0FFh, 00h, 00h,0FDh,0FFh 40E6:225C 01 00 FF FF 01 00 db 01h, 00h,0FFh,0FFh, 01h, 00h 40E6:2262 FD FF 00 00 FF FF db 0FDh,0FFh, 00h, 00h,0FFh,0FFh 40E6:2268 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 593 40E6:226E 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:2274 02 00 FF FF 00 00 db 02h, 00h,0FFh,0FFh, 00h, 00h 40E6:227A FD FF 05 00 01 00 db 0FDh,0FFh, 05h, 00h, 01h, 00h 40E6:2280 01 00 FD FF 04 00 db 01h, 00h,0FDh,0FFh, 04h, 00h 40E6:2286 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:228C 08 00 01 00 01 00 db 08h, 00h, 01h, 00h, 01h, 00h 40E6:2292 FD FF 09 00 00 00 db 0FDh,0FFh, 09h, 00h, 00h, 00h 40E6:2298 00 00 FE FF 64 00 db 00h, 00h,0FEh,0FFh, 64h, 00h 40E6:229E 64 00 00 00 FF FF db 64h, 00h, 00h, 00h,0FFh,0FFh 40E6:22A4 16 00 FE FF 8F 01 db 16h, 00h,0FEh,0FFh, 8Fh, 01h 40E6:22AA 0C 01 02 00 FD FF db 0Ch, 01h, 02h, 00h,0FDh,0FFh 40E6:22B0 FF FF FA FF 03 00 db 0FFh,0FFh,0FAh,0FFh, 03h, 00h 40E6:22B6 FD FF 00 00 FF FF db 0FDh,0FFh, 00h, 00h,0FFh,0FFh 40E6:22BC 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:22C2 FF FF 03 00 FD FF db 0FFh,0FFh, 03h, 00h,0FDh,0FFh 40E6:22C8 FE FF 00 00 02 00 db 0FEh,0FFh, 00h, 00h, 02h, 00h 40E6:22CE FD FF FE FF 00 00 db 0FDh,0FFh,0FEh,0FFh, 00h, 00h 40E6:22D4 03 00 FD FF FD FF db 03h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:22DA 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:22E0 FC FF FE FF 03 00 db 0FCh,0FFh,0FEh,0FFh, 03h, 00h 40E6:22E6 FD FF FD FF FF FF db 0FDh,0FFh,0FDh,0FFh,0FFh,0FFh 40E6:22EC 02 00 FD FF FD FF db 02h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:22F2 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:22F8 FD FF FF FF 02 00 db 0FDh,0FFh,0FFh,0FFh, 02h, 00h 40E6:22FE FD FF FC FF FE FF db 0FDh,0FFh,0FCh,0FFh,0FEh,0FFh 40E6:2304 03 00 FD FF FB FF db 03h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:230A FE FF 02 00 FD FF db 0FEh,0FFh, 02h, 00h,0FDh,0FFh 40E6:2310 FC FF FF FF 03 00 db 0FCh,0FFh,0FFh,0FFh, 03h, 00h 40E6:2316 FD FF FB FF FE FF db 0FDh,0FFh,0FBh,0FFh,0FEh,0FFh 40E6:231C 02 00 FD FF FE FF db 02h, 00h,0FDh,0FFh,0FEh,0FFh 40E6:2322 FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:2328 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 40E6:232E FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:2334 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:233A 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:2340 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 40E6:2346 FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:234C 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:2352 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:2358 01 00 01 00 01 00 db 01h, 00h, 01h, 00h, 01h, 00h 40E6:235E FD FF 02 00 02 00 db 0FDh,0FFh, 02h, 00h, 02h, 00h 40E6:2364 00 00 FD FF 01 00 db 00h, 00h,0FDh,0FFh, 01h, 00h 40E6:236A 02 00 01 00 FD FF db 02h, 00h, 01h, 00h,0FDh,0FFh 40E6:2370 01 00 01 00 00 00 db 01h, 00h, 01h, 00h, 00h, 00h 40E6:2376 FD FF 02 00 03 00 db 0FDh,0FFh, 02h, 00h, 03h, 00h 40E6:237C 01 00 FD FF 01 00 db 01h, 00h,0FDh,0FFh, 01h, 00h 40E6:2382 01 00 00 00 FD FF db 01h, 00h, 00h, 00h,0FDh,0FFh 40E6:2388 01 00 01 00 01 00 db 01h, 00h, 01h, 00h, 01h, 00h 40E6:238E FD FF 03 00 03 00 db 0FDh,0FFh, 03h, 00h, 03h, 00h 40E6:2394 00 00 FD FF 02 00 db 00h, 00h,0FDh,0FFh, 02h, 00h 40E6:239A 01 00 01 00 FD FF db 01h, 00h, 01h, 00h,0FDh,0FFh 40E6:23A0 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:23A6 FD FF 01 00 00 00 db 0FDh,0FFh, 01h, 00h, 00h, 00h 40E6:23AC 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:23B2 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:23B8 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:23BE FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 594 40E6:23C4 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:23CA FF FF 01 00 FD FF db 0FFh,0FFh, 01h, 00h,0FDh,0FFh 40E6:23D0 00 00 FF FF 00 00 db 00h, 00h,0FFh,0FFh, 00h, 00h 40E6:23D6 FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:23DC 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:23E2 FE FF 00 00 FD FF db 0FEh,0FFh, 00h, 00h,0FDh,0FFh 40E6:23E8 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:23EE FD FF 00 00 FF FF db 0FDh,0FFh, 00h, 00h,0FFh,0FFh 40E6:23F4 00 00 FD FF 00 00 db 00h, 00h,0FDh,0FFh, 00h, 00h 40E6:23FA 00 00 01 00 FD FF db 00h, 00h, 01h, 00h,0FDh,0FFh 40E6:2400 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 40E6:2406 FD FF 00 00 01 00 db 0FDh,0FFh, 00h, 00h, 01h, 00h 40E6:240C 01 00 FD FF 00 00 db 01h, 00h,0FDh,0FFh, 00h, 00h 40E6:2412 00 00 00 00 FD FF db 00h, 00h, 00h, 00h,0FDh,0FFh 40E6:2418 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 40E6:241E FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:2424 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:242A 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:2430 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 40E6:2436 FD FF 00 00 00 00 db 0FDh,0FFh, 00h, 00h, 00h, 00h 40E6:243C 03 00 FD FF 00 00 db 03h, 00h,0FDh,0FFh, 00h, 00h 40E6:2442 01 00 02 00 FD FF db 01h, 00h, 02h, 00h,0FDh,0FFh 40E6:2448 FF FF 00 00 03 00 db 0FFh,0FFh, 00h, 00h, 03h, 00h 40E6:244E FD FF FF FF 00 00 db 0FDh,0FFh,0FFh,0FFh, 00h, 00h 40E6:2454 02 00 FD FF 00 00 db 02h, 00h,0FDh,0FFh, 00h, 00h 40E6:245A 01 00 03 00 FD FF db 01h, 00h, 03h, 00h,0FDh,0FFh 40E6:2460 FF FF 00 00 02 00 db 0FFh,0FFh, 00h, 00h, 02h, 00h 40E6:2466 FD FF FE FF 00 00 db 0FDh,0FFh,0FEh,0FFh, 00h, 00h 40E6:246C 03 00 FD FF FD FF db 03h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:2472 01 00 02 00 FD FF db 01h, 00h, 02h, 00h,0FDh,0FFh 40E6:2478 FE FF 01 00 03 00 db 0FEh,0FFh, 01h, 00h, 03h, 00h 40E6:247E FD FF FE FF 01 00 db 0FDh,0FFh,0FEh,0FFh, 01h, 00h 40E6:2484 02 00 FD FF FD FF db 02h, 00h,0FDh,0FFh,0FDh,0FFh 40E6:248A 01 00 03 00 FD FF db 01h, 00h, 03h, 00h,0FDh,0FFh 40E6:2490 FF FF 01 00 02 00 db 0FFh,0FFh, 01h, 00h, 02h, 00h 40E6:2496 FD FF FD FF 01 00 db 0FDh,0FFh,0FDh,0FFh, 01h, 00h 40E6:249C 03 00 FD FF FE FF db 03h, 00h,0FDh,0FFh,0FEh,0FFh 40E6:24A2 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:24A8 FD FF 01 00 03 00 db 0FDh,0FFh, 01h, 00h, 03h, 00h 40E6:24AE FD FF FB FF 01 00 db 0FDh,0FFh,0FBh,0FFh, 01h, 00h 40E6:24B4 02 00 FD FF FC FF db 02h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:24BA 02 00 03 00 FD FF db 02h, 00h, 03h, 00h,0FDh,0FFh 40E6:24C0 FA FF 02 00 02 00 db 0FAh,0FFh, 02h, 00h, 02h, 00h 40E6:24C6 FD FF FD FF 00 00 db 0FDh,0FFh,0FDh,0FFh, 00h, 00h 40E6:24CC 03 00 FD FF FC FF db 03h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:24D2 01 00 02 00 FD FF db 01h, 00h, 02h, 00h,0FDh,0FFh 40E6:24D8 FD FF 01 00 03 00 db 0FDh,0FFh, 01h, 00h, 03h, 00h 40E6:24DE FD FF FD FF 00 00 db 0FDh,0FFh,0FDh,0FFh, 00h, 00h 40E6:24E4 02 00 FD FF FC FF db 02h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:24EA 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:24F0 FB FF 00 00 02 00 db 0FBh,0FFh, 00h, 00h, 02h, 00h 40E6:24F6 FD FF FD FF 00 00 db 0FDh,0FFh,0FDh,0FFh, 00h, 00h 40E6:24FC 03 00 FD FF FC FF db 03h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:2502 00 00 02 00 FD FF db 00h, 00h, 02h, 00h,0FDh,0FFh 40E6:2508 FD FF 00 00 03 00 db 0FDh,0FFh, 00h, 00h, 03h, 00h 40E6:250E FD FF FC FF 00 00 db 0FDh,0FFh,0FCh,0FFh, 00h, 00h 40E6:2514 02 00 FD FF F9 FF db 02h, 00h,0FDh,0FFh,0F9h,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 595 40E6:251A 00 00 03 00 FD FF db 00h, 00h, 03h, 00h,0FDh,0FFh 40E6:2520 FF FF 00 00 02 00 db 0FFh,0FFh, 00h, 00h, 02h, 00h 40E6:2526 FD FF FE FF FE FF db 0FDh,0FFh,0FEh,0FFh,0FEh,0FFh 40E6:252C 03 00 FD FF FC FF db 03h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:2532 FF FF 02 00 FD FF db 0FFh,0FFh, 02h, 00h,0FDh,0FFh 40E6:2538 FD FF FF FF 03 00 db 0FDh,0FFh,0FFh,0FFh, 03h, 00h 40E6:253E FD FF FA FF FD FF db 0FDh,0FFh,0FAh,0FFh,0FDh,0FFh 40E6:2544 02 00 FD FF FA FF db 02h, 00h,0FDh,0FFh,0FAh,0FFh 40E6:254A FC FF 03 00 FD FF db 0FCh,0FFh, 03h, 00h,0FDh,0FFh 40E6:2550 FA FF FD FF 02 00 db 0FAh,0FFh,0FDh,0FFh, 02h, 00h 40E6:2556 FD FF FD FF FE FF db 0FDh,0FFh,0FDh,0FFh,0FEh,0FFh 40E6:255C 03 00 FD FF FC FF db 03h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:2562 FF FF 02 00 FD FF db 0FFh,0FFh, 02h, 00h,0FDh,0FFh 40E6:2568 FE FF FF FF 03 00 db 0FEh,0FFh,0FFh,0FFh, 03h, 00h 40E6:256E FD FF FC FF FE FF db 0FDh,0FFh,0FCh,0FFh,0FEh,0FFh 40E6:2574 02 00 FD FF FC FF db 02h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:257A FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:2580 FD FF FF FF 02 00 db 0FDh,0FFh,0FFh,0FFh, 02h, 00h 40E6:2586 FD FF FC FF FE FF db 0FDh,0FFh,0FCh,0FFh,0FEh,0FFh 40E6:258C 03 00 FD FF FC FF db 03h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:2592 FD FF 02 00 FD FF db 0FDh,0FFh, 02h, 00h,0FDh,0FFh 40E6:2598 F8 FF FD FF 03 00 db 0F8h,0FFh,0FDh,0FFh, 03h, 00h 40E6:259E FD FF FA FF FE FF db 0FDh,0FFh,0FAh,0FFh,0FEh,0FFh 40E6:25A4 02 00 FD FF FB FF db 02h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:25AA FF FF 03 00 FD FF db 0FFh,0FFh, 03h, 00h,0FDh,0FFh 40E6:25B0 FA FF FE FF 02 00 db 0FAh,0FFh,0FEh,0FFh, 02h, 00h 40E6:25B6 FD FF FD FF FE FF db 0FDh,0FFh,0FDh,0FFh,0FEh,0FFh 40E6:25BC 03 00 FD FF FB FF db 03h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:25C2 FE FF 02 00 FD FF db 0FEh,0FFh, 02h, 00h,0FDh,0FFh 40E6:25C8 FB FF FE FF 03 00 db 0FBh,0FFh,0FEh,0FFh, 03h, 00h 40E6:25CE FD FF FC FF FE FF db 0FDh,0FFh,0FCh,0FFh,0FEh,0FFh 40E6:25D4 02 00 FD FF FC FF db 02h, 00h,0FDh,0FFh,0FCh,0FFh 40E6:25DA FE FF 03 00 FD FF db 0FEh,0FFh, 03h, 00h,0FDh,0FFh 40E6:25E0 FB FF FE FF 02 00 db 0FBh,0FFh,0FEh,0FFh, 02h, 00h 40E6:25E6 FD FF FD FF FF FF db 0FDh,0FFh,0FDh,0FFh,0FFh,0FFh 40E6:25EC 03 00 FD FF FB FF db 03h, 00h,0FDh,0FFh,0FBh,0FFh 40E6:25F2 FD FF 02 00 FE FF db 0FDh,0FFh, 02h, 00h,0FEh,0FFh 40E6:25F8 64 00 64 00 00 00 db 64h, 00h, 64h, 00h, 00h, 00h 40E6:25FE FF FF 0D 00 FA FF db 0FFh,0FFh, 0Dh, 00h,0FAh,0FFh 40E6:2604 92 1E FE FF 77 00 db 92h, 1Eh,0FEh,0FFh, 77h, 00h 40E6:260A FD 00 19 00 FD FF db 0FDh, 00h, 19h, 00h,0FDh,0FFh 40E6:2610 06 00 02 00 1A 00 db 06h, 00h, 02h, 00h, 1Ah, 00h 40E6:2616 FF FF 0A 00 FA FF db 0FFh,0FFh, 0Ah, 00h,0FAh,0FFh 40E6:261C 06 26 00 00 F8 FF db 06h, 26h, 00h, 00h,0F8h,0FFh 40E6:2622 22 00 30 00 00 00 db 22h, 00h, 30h, 00h, 00h, 00h 40E6:2628 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:262E 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:2634 03 00 00 00 01 00 db 03h, 00h, 00h, 00h, 01h, 00h 40E6:263A 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:2640 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:2646 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:264C 03 00 00 00 01 00 db 03h, 00h, 00h, 00h, 01h, 00h 40E6:2652 02 00 03 00 00 00 db 02h, 00h, 03h, 00h, 00h, 00h 40E6:2658 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:265E 00 00 01 00 02 00 db 00h, 00h, 01h, 00h, 02h, 00h 40E6:2664 03 00 00 00 01 00 db 03h, 00h, 00h, 00h, 01h, 00h 40E6:266A 02 00 03 00 F7 FF db 02h, 00h, 03h, 00h,0F7h,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 596 40E6:2670 22 00 00 00 FA FF db 22h, 00h, 00h, 00h,0FAh,0FFh 40E6:2676 72 26 00 00 00 00 db 72h, 26h, 00h, 00h, 00h, 00h 40E6:267C FF FF 01 00 F8 FF db 0FFh,0FFh, 01h, 00h,0F8h,0FFh 40E6:2682 14 00 30 00 01 00 db 14h, 00h, 30h, 00h, 01h, 00h 40E6:2688 FF FF 01 00 02 00 db 0FFh,0FFh, 01h, 00h, 02h, 00h 40E6:268E FF FF 01 00 03 00 db 0FFh,0FFh, 01h, 00h, 03h, 00h 40E6:2694 FF FF 01 00 04 00 db 0FFh,0FFh, 01h, 00h, 04h, 00h 40E6:269A FF FF 01 00 05 00 db 0FFh,0FFh, 01h, 00h, 05h, 00h 40E6:26A0 FF FF 01 00 06 00 db 0FFh,0FFh, 01h, 00h, 06h, 00h 40E6:26A6 FF FF 01 00 07 00 db 0FFh,0FFh, 01h, 00h, 07h, 00h 40E6:26AC FF FF 14 00 06 00 db 0FFh,0FFh, 14h, 00h, 06h, 00h 40E6:26B2 05 00 04 00 03 00 db 05h, 00h, 04h, 00h, 03h, 00h 40E6:26B8 02 00 01 00 00 00 db 02h, 00h, 01h, 00h, 00h, 00h 40E6:26BE FA FF BC 26 F9 FF db 0FAh,0FFh,0BCh, 26h,0F9h,0FFh 40E6:26C4 59 5A FD FF FE FF db 59h, 5Ah,0FDh,0FFh,0FEh,0FFh 40E6:26CA 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 40E6:26D0 01 00 01 00 FF FF db 01h, 00h, 01h, 00h,0FFh,0FFh 40E6:26D6 01 00 02 00 FF FF db 01h, 00h, 02h, 00h,0FFh,0FFh 40E6:26DC 01 00 03 00 FF FF db 01h, 00h, 03h, 00h,0FFh,0FFh 40E6:26E2 01 00 04 00 FF FF db 01h, 00h, 04h, 00h,0FFh,0FFh 40E6:26E8 01 00 05 00 FF FF db 01h, 00h, 05h, 00h,0FFh,0FFh 40E6:26EE 01 00 06 00 FF FF db 01h, 00h, 06h, 00h,0FFh,0FFh 40E6:26F4 01 00 07 00 FF FF db 01h, 00h, 07h, 00h,0FFh,0FFh 40E6:26FA 14 00 F9 FF 80 5C db 14h, 00h,0F9h,0FFh, 80h, 5Ch 40E6:2700 FD FF 02 00 00 00 db 0FDh,0FFh, 02h, 00h, 00h, 00h 40E6:2706 FC FF F9 FF 62 5A db 0FCh,0FFh,0F9h,0FFh, 62h, 5Ah 40E6:270C FD FF FE FF 00 00 db 0FDh,0FFh,0FEh,0FFh, 00h, 00h 40E6:2712 00 00 FF FF 01 00 db 00h, 00h,0FFh,0FFh, 01h, 00h 40E6:2718 01 00 FF FF 01 00 db 01h, 00h,0FFh,0FFh, 01h, 00h 40E6:271E 02 00 FF FF 01 00 db 02h, 00h,0FFh,0FFh, 01h, 00h 40E6:2724 03 00 FF FF 01 00 db 03h, 00h,0FFh,0FFh, 01h, 00h 40E6:272A 04 00 FF FF 01 00 db 04h, 00h,0FFh,0FFh, 01h, 00h 40E6:2730 05 00 FF FF 01 00 db 05h, 00h,0FFh,0FFh, 01h, 00h 40E6:2736 06 00 FF FF 01 00 db 06h, 00h,0FFh,0FFh, 01h, 00h 40E6:273C 07 00 FF FF 14 00 db 07h, 00h,0FFh,0FFh, 14h, 00h 40E6:2742 F9 FF 67 5D FD FF db 0F9h,0FFh, 67h, 5Dh,0FDh,0FFh 40E6:2748 02 00 00 00 FC FF db 02h, 00h, 00h, 00h,0FCh,0FFh 40E6:274E F9 FF F6 59 00 00 db 0F9h,0FFh,0F6h, 59h, 00h, 00h 40E6:2754 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:275A F9 FF FF 59 00 00 db 0F9h,0FFh,0FFh, 59h, 00h, 00h 40E6:2760 F8 FF 20 00 29 00 db 0F8h,0FFh, 20h, 00h, 29h, 00h 40E6:2766 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:276C F9 FF 08 5A 00 00 db 0F9h,0FFh, 08h, 5Ah, 00h, 00h 40E6:2772 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:2778 F9 FF 11 5A 00 00 db 0F9h,0FFh, 11h, 5Ah, 00h, 00h 40E6:277E 01 00 02 00 03 00 db 01h, 00h, 02h, 00h, 03h, 00h 40E6:2784 F7 FF 20 00 FC FF db 0F7h,0FFh, 20h, 00h,0FCh,0FFh 40E6:278A 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h scripts2_seg ends ;------------------------------------------------ seg_d ---- seg_d segment byte public assume cs:seg_d , ds:seg_d , ss:stack_seg_k 435F:0000 FF 55 1A call word ptr [di+1Ah] ;* 435F:0003 56 push si 435F:0004 11 56 08 adc [bp+8],dx 435F:0007 56 push si 435F:0008 2C 56 sub al,56h ; 'V' 435F:000A 35 2356 xor ax,2356h 435F:000D 56 push si 435F:000E EB FF 00 00 EB FF db 0EBh,0FFh, 00h, 00h,0EBh,0FFh 435F:0014 01 00 EB FF 02 00 db 01h, 00h,0EBh,0FFh, 02h, 00h 435F:001A EB FF 03 00 EB FF db 0EBh,0FFh, 03h, 00h,0EBh,0FFh 435F:0020 04 00 EB FF 05 00 db 04h, 00h,0EBh,0FFh, 05h, 00h 435F:0026 EB FF 06 00 EB FF db 0EBh,0FFh, 06h, 00h,0EBh,0FFh 435F:002C 07 00 db 07h, 00h 435F:002E 08 db 8 435F:002F 000B[00] db 11 dup (0) 435F:003A FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:0040 01 00 00 00 ED FF db 01h, 00h, 00h, 00h,0EDh,0FFh 435F:0046 00 db 00h 435F:0047 0007[00] db 7 dup (0) 435F:004E 01 00 db 1, 0 435F:0050 000A[00] db 10 dup (0) 435F:005A F2 FF 01 00 02 db 0F2h,0FFh, 01h, 00h, 02h 435F:005F 000B[00] db 11 dup (0) 435F:006A 02 00 db 2, 0 435F:006C 000A[00] db 10 dup (0) 435F:0076 02 00 db 2, 0 435F:0078 000A[00] db 10 dup (0) 435F:0082 02 00 db 2, 0 435F:0084 000A[00] db 10 dup (0) 435F:008E F2 FF 00 00 03 db 0F2h,0FFh, 00h, 00h, 03h 435F:0093 000B[00] db 11 dup (0) 435F:009E 04 00 db 4, 0 435F:00A0 000A[00] db 10 dup (0) 435F:00AA 05 00 00 db 5, 0, 0 435F:00AD 0009[00] db 9 dup (0) 435F:00B6 FE FF 00 00 EE FF db 0FEh,0FFh, 00h, 00h,0EEh,0FFh 435F:00BC 08 db 08h 435F:00BD 000B[00] db 11 dup (0) 435F:00C8 FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:00CE 01 00 00 00 ED FF db 01h, 00h, 00h, 00h,0EDh,0FFh 435F:00D4 00 db 00h 435F:00D5 0007[00] db 7 dup (0) 435F:00DC 01 00 db 1, 0 435F:00DE 000A[00] db 10 dup (0) 435F:00E8 F2 FF 01 00 02 db 0F2h,0FFh, 01h, 00h, 02h 435F:00ED 000B[00] db 11 dup (0) 435F:00F8 02 00 db 2, 0 435F:00FA 000A[00] db 10 dup (0) 435F:0104 02 00 db 2, 0 435F:0106 000A[00] db 10 dup (0) 435F:0110 02 00 db 2, 0 435F:0112 000A[00] db 10 dup (0) 435F:011C F2 FF 00 00 EE FF db 0F2h,0FFh, 00h, 00h,0EEh,0FFh 435F:0122 F8 FF 10 03 EF FF db 0F8h,0FFh, 10h, 03h,0EFh,0FFh 435F:0128 FE FF 02 00 00 00 db 0FEh,0FFh, 02h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 598 435F:012E ED FF 00 db 0EDh,0FFh, 00h 435F:0131 0007[00] db 7 dup (0) 435F:0138 F2 FF 02 00 01 db 0F2h,0FFh, 02h, 00h, 01h 435F:013D 000B[00] db 11 dup (0) 435F:0148 02 00 db 2, 0 435F:014A 000A[00] db 10 dup (0) 435F:0154 03 00 db 3, 0 435F:0156 000A[00] db 10 dup (0) 435F:0160 03 00 db 3, 0 435F:0162 000A[00] db 10 dup (0) 435F:016C 03 00 db 3, 0 435F:016E 000A[00] db 10 dup (0) 435F:0178 03 00 db 3, 0 435F:017A 000A[00] db 10 dup (0) 435F:0184 F2 FF 00 00 02 db 0F2h,0FFh, 00h, 00h, 02h 435F:0189 000B[00] db 11 dup (0) 435F:0194 01 00 db 1, 0 435F:0196 0016[00] db 22 dup (0) 435F:01AC FE FF 00 00 EE FF db 0FEh,0FFh, 00h, 00h,0EEh,0FFh 435F:01B2 08 db 08h 435F:01B3 000B[00] db 11 dup (0) 435F:01BE FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:01C4 03 00 00 00 ED FF db 03h, 00h, 00h, 00h,0EDh,0FFh 435F:01CA 00 db 00h 435F:01CB 0007[00] db 7 dup (0) 435F:01D2 F2 FF 03 00 01 db 0F2h,0FFh, 03h, 00h, 01h 435F:01D7 000B[00] db 11 dup (0) 435F:01E2 02 00 db 2, 0 435F:01E4 000A[00] db 10 dup (0) 435F:01EE 03 00 db 3, 0 435F:01F0 000A[00] db 10 dup (0) 435F:01FA 04 00 db 4, 0 435F:01FC 000A[00] db 10 dup (0) 435F:0206 05 00 00 db 5, 0, 0 435F:0209 0009[00] db 9 dup (0) 435F:0212 F2 FF 00 00 06 00 db 0F2h,0FFh, 00h, 00h, 06h, 00h 435F:0218 00 db 00h 435F:0219 0009[00] db 9 dup (0) 435F:0222 07 db 7 435F:0223 000B[00] db 11 dup (0) 435F:022E FE FF 00 00 EE FF db 0FEh,0FFh, 00h, 00h,0EEh,0FFh 435F:0234 08 db 08h 435F:0235 000B[00] db 11 dup (0) 435F:0240 FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:0246 03 00 00 00 ED FF db 03h, 00h, 00h, 00h,0EDh,0FFh 435F:024C 00 db 00h 435F:024D 0007[00] db 7 dup (0) 435F:0254 F2 FF 03 00 01 db 0F2h,0FFh, 03h, 00h, 01h 435F:0259 000B[00] db 11 dup (0) 435F:0264 02 00 db 2, 0 435F:0266 000A[00] db 10 dup (0) 435F:0270 03 00 db 3, 0 435F:0272 000A[00] db 10 dup (0) 435F:027C 04 00 db 4, 0 435F:027E 000A[00] db 10 dup (0) 435F:0288 05 00 00 db 5, 0, 0 435F:028B 0009[00] db 9 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 599 435F:0294 F2 FF 00 00 EE FF db 0F2h,0FFh, 00h, 00h,0EEh,0FFh 435F:029A F8 FF 10 03 06 00 db 0F8h,0FFh, 10h, 03h, 06h, 00h 435F:02A0 00 db 00h 435F:02A1 0009[00] db 9 dup (0) 435F:02AA 07 db 7 435F:02AB 000B[00] db 11 dup (0) 435F:02B6 FE FF 00 00 EE FF db 0FEh,0FFh, 00h, 00h,0EEh,0FFh 435F:02BC 08 db 08h 435F:02BD 000B[00] db 11 dup (0) 435F:02C8 FB FF 07 00 FC FF db 0FBh,0FFh, 07h, 00h,0FCh,0FFh 435F:02CE 00 db 00h 435F:02CF 0007[00] db 7 dup (0) 435F:02D6 EF FF 06 00 FC FF db 0EFh,0FFh, 06h, 00h,0FCh,0FFh 435F:02DC 00 db 00h 435F:02DD 0007[00] db 7 dup (0) 435F:02E4 EF FF 05 00 FC FF db 0EFh,0FFh, 05h, 00h,0FCh,0FFh 435F:02EA 00 db 00h 435F:02EB 0007[00] db 7 dup (0) 435F:02F2 EF FF 04 00 FC FF db 0EFh,0FFh, 04h, 00h,0FCh,0FFh 435F:02F8 00 db 00h 435F:02F9 0007[00] db 7 dup (0) 435F:0300 EF FF 08 db 0EFh,0FFh, 08h 435F:0303 000B[00] db 11 dup (0) 435F:030E FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:0314 04 db 04h 435F:0315 000D[00] db 13 dup (0) 435F:0322 01 00 db 1, 0 435F:0324 000A[00] db 10 dup (0) 435F:032E 02 00 db 2, 0 435F:0330 000A[00] db 10 dup (0) 435F:033A F1 FF 05 00 A0 03 db 0F1h,0FFh, 05h, 00h,0A0h, 03h 435F:0340 F2 FF 05 00 03 db 0F2h,0FFh, 05h, 00h, 03h 435F:0345 000B[00] db 11 dup (0) 435F:0350 F1 FF 02 00 F6 03 db 0F1h,0FFh, 02h, 00h,0F6h, 03h 435F:0356 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:035C 06 00 31 00 16 00 db 06h, 00h, 31h, 00h, 16h, 00h 435F:0362 F0 FF 46 0E 05 00 db 0F0h,0FFh, 46h, 0Eh, 05h, 00h 435F:0368 00 00 00 00 07 00 db 00h, 00h, 00h, 00h, 07h, 00h 435F:036E 38 00 16 00 F2 FF db 38h, 00h, 16h, 00h,0F2h,0FFh 435F:0374 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 435F:037A 00 00 06 00 32 00 db 00h, 00h, 06h, 00h, 32h, 00h 435F:0380 17 00 07 db 17h, 00h, 07h 435F:0383 000B[00] db 11 dup (0) 435F:038E FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:0393 000B[00] db 11 dup (0) 435F:039E FB FF EA FF 2A 00 db 0FBh,0FFh,0EAh,0FFh, 2Ah, 00h 435F:03A4 02 db 02h 435F:03A5 000B[00] db 11 dup (0) 435F:03B0 02 00 db 2, 0 435F:03B2 000A[00] db 10 dup (0) 435F:03BC 02 00 db 2, 0 435F:03BE 000A[00] db 10 dup (0) 435F:03C8 F2 FF 00 00 01 db 0F2h,0FFh, 00h, 00h, 01h 435F:03CD 0017[00] db 23 dup (0) 435F:03E4 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:03E9 000B[00] db 11 dup (0) 435F:03F4 FB FF 03 db 0FBh,0FFh, 03h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 600 435F:03F7 000B[00] db 11 dup (0) 435F:0402 03 00 db 3, 0 435F:0404 000A[00] db 10 dup (0) 435F:040E 02 00 db 2, 0 435F:0410 000A[00] db 10 dup (0) 435F:041A F2 FF 00 00 01 db 0F2h,0FFh, 00h, 00h, 01h 435F:041F 0017[00] db 23 dup (0) 435F:0436 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:043B 000B[00] db 11 dup (0) 435F:0446 FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:044C 05 db 05h 435F:044D 000D[00] db 13 dup (0) 435F:045A 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:0460 01 00 F9 FF F3 FF db 01h, 00h,0F9h,0FFh,0F3h,0FFh 435F:0466 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:046C 01 00 F9 FF F3 FF db 01h, 00h,0F9h,0FFh,0F3h,0FFh 435F:0472 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:0478 01 00 F9 FF F3 FF db 01h, 00h,0F9h,0FFh,0F3h,0FFh 435F:047E 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:0484 01 00 F9 FF F3 FF db 01h, 00h,0F9h,0FFh,0F3h,0FFh 435F:048A F2 FF 04 00 02 00 db 0F2h,0FFh, 04h, 00h, 02h, 00h 435F:0490 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 435F:0496 ED FF F7 FF 03 00 db 0EDh,0FFh,0F7h,0FFh, 03h, 00h 435F:049C 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 435F:04A2 0D 00 EF FF F1 FF db 0Dh, 00h,0EFh,0FFh,0F1h,0FFh 435F:04A8 04 00 4E 05 04 00 db 04h, 00h, 4Eh, 05h, 04h, 00h 435F:04AE 00 00 00 00 04 00 db 00h, 00h, 00h, 00h, 04h, 00h 435F:04B4 30 00 0C 00 F1 FF db 30h, 00h, 0Ch, 00h,0F1h,0FFh 435F:04BA 01 00 08 05 F0 FF db 01h, 00h, 08h, 05h,0F0h,0FFh 435F:04C0 F8 0D 05 00 00 00 db 0F8h, 0Dh, 05h, 00h, 00h, 00h 435F:04C6 00 00 05 00 30 00 db 00h, 00h, 05h, 00h, 30h, 00h 435F:04CC 1B 00 F2 FF 00 00 db 1Bh, 00h,0F2h,0FFh, 00h, 00h 435F:04D2 06 00 00 db 06h, 00h, 00h 435F:04D5 0009[00] db 9 dup (0) 435F:04DE 07 db 7 435F:04DF 000B[00] db 11 dup (0) 435F:04EA 08 00 db 8, 0 435F:04EC 000A[00] db 10 dup (0) 435F:04F6 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:04FB 000B[00] db 11 dup (0) 435F:0506 FB FF F2 FF 00 00 db 0FBh,0FFh,0F2h,0FFh, 00h, 00h 435F:050C 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0512 04 00 30 00 0C 00 db 04h, 00h, 30h, 00h, 0Ch, 00h 435F:0518 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:051E 04 00 30 00 0C 00 db 04h, 00h, 30h, 00h, 0Ch, 00h 435F:0524 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:052A 04 00 30 00 0C 00 db 04h, 00h, 30h, 00h, 0Ch, 00h 435F:0530 08 db 8 435F:0531 000B[00] db 11 dup (0) 435F:053C FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:0541 000B[00] db 11 dup (0) 435F:054C FB FF EA FF 2A 00 db 0FBh,0FFh,0EAh,0FFh, 2Ah, 00h 435F:0552 02 db 02h 435F:0553 000B[00] db 11 dup (0) 435F:055E 02 00 db 2, 0 435F:0560 000A[00] db 10 dup (0) 435F:056A 02 00 db 2, 0 nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 601 435F:056C 000A[00] db 10 dup (0) 435F:0576 F2 FF 00 00 01 db 0F2h,0FFh, 00h, 00h, 01h 435F:057B 0017[00] db 23 dup (0) 435F:0592 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:0597 000B[00] db 11 dup (0) 435F:05A2 FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:05A8 05 db 05h 435F:05A9 000D[00] db 13 dup (0) 435F:05B6 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:05BC 01 00 F9 FF F3 FF db 01h, 00h,0F9h,0FFh,0F3h,0FFh 435F:05C2 F2 FF 04 00 02 00 db 0F2h,0FFh, 04h, 00h, 02h, 00h 435F:05C8 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 435F:05CE ED FF F7 FF 03 00 db 0EDh,0FFh,0F7h,0FFh, 03h, 00h 435F:05D4 00 00 00 00 03 00 db 00h, 00h, 00h, 00h, 03h, 00h 435F:05DA 0D 00 EF FF F1 FF db 0Dh, 00h,0EFh,0FFh,0F1h,0FFh 435F:05E0 04 00 6E 06 04 00 db 04h, 00h, 6Eh, 06h, 04h, 00h 435F:05E6 00 00 00 00 04 00 db 00h, 00h, 00h, 00h, 04h, 00h 435F:05EC 30 00 0C 00 F1 FF db 30h, 00h, 0Ch, 00h,0F1h,0FFh 435F:05F2 01 00 40 06 F0 FF db 01h, 00h, 40h, 06h,0F0h,0FFh 435F:05F8 F8 0D 05 00 00 00 db 0F8h, 0Dh, 05h, 00h, 00h, 00h 435F:05FE 00 00 05 00 30 00 db 00h, 00h, 05h, 00h, 30h, 00h 435F:0604 1B 00 F2 FF 00 00 db 1Bh, 00h,0F2h,0FFh, 00h, 00h 435F:060A 06 00 00 db 06h, 00h, 00h 435F:060D 0009[00] db 9 dup (0) 435F:0616 07 db 7 435F:0617 000B[00] db 11 dup (0) 435F:0622 08 00 db 8, 0 435F:0624 000A[00] db 10 dup (0) 435F:062E FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:0633 000B[00] db 11 dup (0) 435F:063E FB FF F2 FF 00 00 db 0FBh,0FFh,0F2h,0FFh, 00h, 00h 435F:0644 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:064A 04 00 30 00 0C 00 db 04h, 00h, 30h, 00h, 0Ch, 00h 435F:0650 08 db 8 435F:0651 000B[00] db 11 dup (0) 435F:065C FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:0661 000B[00] db 11 dup (0) 435F:066C FB FF EA FF 2A 00 db 0FBh,0FFh,0EAh,0FFh, 2Ah, 00h 435F:0672 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:0678 02 00 ED FF F7 FF db 02h, 00h,0EDh,0FFh,0F7h,0FFh 435F:067E F2 FF 00 00 01 00 db 0F2h,0FFh, 00h, 00h, 01h, 00h 435F:0684 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 435F:068A F9 FF F3 FF 00 db 0F9h,0FFh,0F3h,0FFh, 00h 435F:068F 000B[00] db 11 dup (0) 435F:069A FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:069F 000B[00] db 11 dup (0) 435F:06AA FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:06B0 06 00 00 db 06h, 00h, 00h 435F:06B3 000B[00] db 11 dup (0) 435F:06BE 01 00 db 1, 0 435F:06C0 000A[00] db 10 dup (0) 435F:06CA 02 00 db 2, 0 435F:06CC 000A[00] db 10 dup (0) 435F:06D6 02 00 db 2, 0 435F:06D8 000A[00] db 10 dup (0) 435F:06E2 02 00 db 2, 0 435F:06E4 000A[00] db 10 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 602 435F:06EE 02 00 db 2, 0 435F:06F0 000A[00] db 10 dup (0) 435F:06FA 03 00 db 3, 0 435F:06FC 000A[00] db 10 dup (0) 435F:0706 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:070C 08 00 3C 00 1F 00 db 08h, 00h, 3Ch, 00h, 1Fh, 00h 435F:0712 F1 FF 02 00 58 07 db 0F1h,0FFh, 02h, 00h, 58h, 07h 435F:0718 F1 FF 03 00 22 07 db 0F1h,0FFh, 03h, 00h, 22h, 07h 435F:071E F0 FF 94 0E 05 00 db 0F0h,0FFh, 94h, 0Eh, 05h, 00h 435F:0724 00 00 00 00 09 00 db 00h, 00h, 00h, 00h, 09h, 00h 435F:072A 33 00 0D 00 06 00 db 33h, 00h, 0Dh, 00h, 06h, 00h 435F:0730 00 db 00h 435F:0731 0009[00] db 9 dup (0) 435F:073A 07 db 7 435F:073B 000B[00] db 11 dup (0) 435F:0746 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:074B 000B[00] db 11 dup (0) 435F:0756 FB FF 04 00 00 00 db 0FBh,0FFh, 04h, 00h, 00h, 00h 435F:075C 00 00 08 00 3C 00 db 00h, 00h, 08h, 00h, 3Ch, 00h 435F:0762 1F 00 04 00 00 00 db 1Fh, 00h, 04h, 00h, 00h, 00h 435F:0768 00 00 08 00 3C 00 db 00h, 00h, 08h, 00h, 3Ch, 00h 435F:076E 1F 00 04 00 00 00 db 1Fh, 00h, 04h, 00h, 00h, 00h 435F:0774 00 00 08 00 3C 00 db 00h, 00h, 08h, 00h, 3Ch, 00h 435F:077A 1F 00 07 db 1Fh, 00h, 07h 435F:077D 000B[00] db 11 dup (0) 435F:0788 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:078D 000B[00] db 11 dup (0) 435F:0798 FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:079E 06 00 00 db 06h, 00h, 00h 435F:07A1 000B[00] db 11 dup (0) 435F:07AC 01 00 db 1, 0 435F:07AE 000A[00] db 10 dup (0) 435F:07B8 02 00 db 2, 0 435F:07BA 000A[00] db 10 dup (0) 435F:07C4 02 00 db 2, 0 435F:07C6 000A[00] db 10 dup (0) 435F:07D0 03 00 db 3, 0 435F:07D2 000A[00] db 10 dup (0) 435F:07DC 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:07E2 08 00 3C 00 1F 00 db 08h, 00h, 3Ch, 00h, 1Fh, 00h 435F:07E8 F1 FF 02 00 2E 08 db 0F1h,0FFh, 02h, 00h, 2Eh, 08h 435F:07EE F1 FF 03 00 F8 07 db 0F1h,0FFh, 03h, 00h,0F8h, 07h 435F:07F4 F0 FF 94 0E 05 00 db 0F0h,0FFh, 94h, 0Eh, 05h, 00h 435F:07FA 00 00 00 00 09 00 db 00h, 00h, 00h, 00h, 09h, 00h 435F:0800 33 00 0D 00 06 00 db 33h, 00h, 0Dh, 00h, 06h, 00h 435F:0806 00 db 00h 435F:0807 0009[00] db 9 dup (0) 435F:0810 07 db 7 435F:0811 000B[00] db 11 dup (0) 435F:081C FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:0821 000B[00] db 11 dup (0) 435F:082C FB FF 04 00 00 00 db 0FBh,0FFh, 04h, 00h, 00h, 00h 435F:0832 00 00 08 00 3C 00 db 00h, 00h, 08h, 00h, 3Ch, 00h 435F:0838 1F 00 07 db 1Fh, 00h, 07h 435F:083B 000B[00] db 11 dup (0) 435F:0846 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:084B 000B[00] db 11 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 603 435F:0856 FB FF EF FF FE FF db 0FBh,0FFh,0EFh,0FFh,0FEh,0FFh 435F:085C 06 00 00 db 06h, 00h, 00h 435F:085F 000B[00] db 11 dup (0) 435F:086A 01 00 db 1, 0 435F:086C 000A[00] db 10 dup (0) 435F:0876 02 00 db 2, 0 435F:0878 000A[00] db 10 dup (0) 435F:0882 02 00 db 2, 0 435F:0884 000A[00] db 10 dup (0) 435F:088E 01 00 db 1, 0 435F:0890 0016[00] db 22 dup (0) 435F:08A6 FE FF 00 00 08 db 0FEh,0FFh, 00h, 00h, 08h 435F:08AB 000B[00] db 11 dup (0) 435F:08B6 FB FF 00 00 0E 00 db 0FBh,0FFh, 00h, 00h, 0Eh, 00h 435F:08BC 3C 00 CA 02 26 01 db 3Ch, 00h,0CAh, 02h, 26h, 01h 435F:08C2 C0 01 10 03 48 04 db 0C0h, 01h, 10h, 03h, 48h, 04h 435F:08C8 AC 06 58 08 A4 05 db 0ACh, 06h, 58h, 08h,0A4h, 05h 435F:08CE 9A 07 42 02 CA 00 db 9Ah, 07h, 42h, 02h,0CAh, 00h 435F:08D4 01 db 01h 435F:08D5 001F[00] db 31 dup (0) 435F:08F4 01 00 db 1, 0 435F:08F6 001E[00] db 30 dup (0) 435F:0914 01 00 01 00 00 01 db 1, 0, 1, 0, 0, 1 435F:091A 00 01 01 00 db 0, 1, 1, 0 435F:091E 0009[00] db 9 dup (0) 435F:0927 0B 00 09 01 00 00 db 0Bh, 00h, 09h, 01h, 00h, 00h 435F:092D 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:0933 00 01 00 01 00 00 db 00h, 01h, 00h, 01h, 00h, 00h 435F:0939 0B 00 01 00 01 00 db 0Bh, 00h, 01h, 00h, 01h, 00h 435F:093F 01 0A 00 01 00 00 db 01h, 0Ah, 00h, 01h, 00h, 00h 435F:0945 00 00 01 00 00 09 db 00h, 00h, 01h, 00h, 00h, 09h 435F:094B 01 00 01 01 00 00 db 01h, 00h, 01h, 01h, 00h, 00h 435F:0951 00 00 00 01 00 00 db 00h, 00h, 00h, 01h, 00h, 00h 435F:0957 00 00 00 00 01 01 db 00h, 00h, 00h, 00h, 01h, 01h 435F:095D 00 db 00h 435F:095E 0009[00] db 9 dup (0) 435F:0967 0A 00 00 09 00 01 db 0Ah, 00h, 00h, 09h, 00h, 01h 435F:096D 00 01 00 00 00 0B db 00h, 01h, 00h, 00h, 00h, 0Bh 435F:0973 00 01 00 00 01 01 db 00h, 01h, 00h, 00h, 01h, 01h 435F:0979 00 0B 00 00 00 01 db 00h, 0Bh, 00h, 00h, 00h, 01h 435F:097F 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:0985 00 00 01 06 00 00 db 00h, 00h, 01h, 06h, 00h, 00h 435F:098B 00 01 00 0A 01 00 db 00h, 01h, 00h, 0Ah, 01h, 00h 435F:0991 01 00 00 01 db 01h, 00h, 00h, 01h 435F:0995 0008[00] db 8 dup (0) 435F:099D 01 01 01 00 00 00 db 01h, 01h, 01h, 00h, 00h, 00h 435F:09A3 00 00 0A 00 00 01 db 00h, 00h, 0Ah, 00h, 00h, 01h 435F:09A9 0B 00 09 01 06 00 db 0Bh, 00h, 09h, 01h, 06h, 00h 435F:09AF 00 00 00 00 00 01 db 00h, 00h, 00h, 00h, 00h, 01h 435F:09B5 00 00 00 01 00 db 00h, 00h, 00h, 01h, 00h 435F:09BA 09 db 9 435F:09BB 000B[00] db 11 dup (0) 435F:09C6 09 01 01 0A 00 01 db 09h, 01h, 01h, 0Ah, 00h, 01h 435F:09CC 00 00 00 0B 00 00 db 00h, 00h, 00h, 0Bh, 00h, 00h 435F:09D2 06 00 01 00 00 01 db 06h, 00h, 01h, 00h, 00h, 01h 435F:09D8 00 01 01 09 00 00 db 00h, 01h, 01h, 09h, 00h, 00h 435F:09DE 00 00 01 01 00 06 db 00h, 00h, 01h, 01h, 00h, 06h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 604 435F:09E4 00 00 0A 00 00 00 db 00h, 00h, 0Ah, 00h, 00h, 00h 435F:09EA 0B 06 00 09 01 00 db 0Bh, 06h, 00h, 09h, 01h, 00h 435F:09F0 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 435F:09F6 00 00 0B 00 01 09 db 00h, 00h, 0Bh, 00h, 01h, 09h 435F:09FC 00 00 00 00 0A 01 db 00h, 00h, 00h, 00h, 0Ah, 01h 435F:0A02 01 01 00 00 00 00 db 01h, 01h, 00h, 00h, 00h, 00h 435F:0A08 00 00 01 00 01 09 db 00h, 00h, 01h, 00h, 01h, 09h 435F:0A0E 01 01 01 db 01h, 01h, 01h 435F:0A11 0023[00] db 35 dup (0) 435F:0A34 FF FF FF 03 FF FF db 0FFh,0FFh,0FFh, 03h,0FFh,0FFh 435F:0A3A 00 FF FF FF 00 FF db 00h,0FFh,0FFh,0FFh, 00h,0FFh 435F:0A40 00 FF 00 FF FF FF db 00h,0FFh, 00h,0FFh,0FFh,0FFh 435F:0A46 FF FF 00 00 FF 03 db 0FFh,0FFh, 00h, 00h,0FFh, 03h 435F:0A4C FF 00 03 db 0FFh, 00h, 03h 435F:0A4F 000B[FF] db 11 dup (0FFh) 435F:0A5A 00 FF FF FF 00 FF db 00h,0FFh,0FFh,0FFh, 00h,0FFh 435F:0A60 00 FF 00 FF FF FF db 00h,0FFh, 00h,0FFh,0FFh,0FFh 435F:0A66 FF FF 00 00 FF FF db 0FFh,0FFh, 00h, 00h,0FFh,0FFh 435F:0A6C FF 00 03 FF db 0FFh, 00h, 03h,0FFh 435F:0A70 000A[FF] db 10 dup (0FFh) 435F:0A7A 00 FF FF FF 00 db 00h,0FFh,0FFh,0FFh, 00h 435F:0A7F 0009[FF] db 9 dup (0FFh) 435F:0A88 00 00 FF FF FF 00 db 00h, 00h,0FFh,0FFh,0FFh, 00h 435F:0A8E 03 FF db 03h,0FFh 435F:0A90 000A[FF] db 10 dup (0FFh) 435F:0A9A 00 FF FF FF FF FF db 00h,0FFh,0FFh,0FFh,0FFh,0FFh 435F:0AA0 FF FF 00 FF FF FF db 0FFh,0FFh, 00h,0FFh,0FFh,0FFh 435F:0AA6 FF FF 00 00 FF FF db 0FFh,0FFh, 00h, 00h,0FFh,0FFh 435F:0AAC FF FF db 0FFh,0FFh 435F:0AAE 0D db 0Dh 435F:0AAF 000B[FF] db 11 dup (0FFh) 435F:0ABA 00 FF FF FF 00 FF db 00h,0FFh,0FFh,0FFh, 00h,0FFh 435F:0AC0 00 FF 00 FF FF FF db 00h,0FFh, 00h,0FFh,0FFh,0FFh 435F:0AC6 FF FF 00 0C FF FF db 0FFh,0FFh, 00h, 0Ch,0FFh,0FFh 435F:0ACC FF 00 03 FF db 0FFh, 00h, 03h,0FFh 435F:0AD0 000A[FF] db 10 dup (0FFh) 435F:0ADA 03 0C 03 FF 03 FF db 03h, 0Ch, 03h,0FFh, 03h,0FFh 435F:0AE0 03 FF 03 FF 03 FF db 03h,0FFh, 03h,0FFh, 03h,0FFh 435F:0AE6 03 FF FF FF FF 0D db 03h,0FFh,0FFh,0FFh,0FFh, 0Dh 435F:0AEC FF 00 03 FF db 0FFh, 00h, 03h,0FFh 435F:0AF0 000C[FF] db 12 dup (0FFh) 435F:0AFC 0C FF 00 FF FF FF db 0Ch,0FFh, 00h,0FFh,0FFh,0FFh 435F:0B02 FF FF FF 03 FF FF db 0FFh,0FFh,0FFh, 03h,0FFh,0FFh 435F:0B08 FF FF 0D FF FF 00 db 0FFh,0FFh, 0Dh,0FFh,0FFh, 00h 435F:0B0E FF FF FF 03 db 0FFh,0FFh,0FFh, 03h 435F:0B12 000C[FF] db 12 dup (0FFh) 435F:0B1E 00 FF db 00h,0FFh 435F:0B20 000D[FF] db 13 dup (0FFh) 435F:0B2D 00 03 db 0, 3 435F:0B2F 000B[FF] db 11 dup (0FFh) 435F:0B3A 03 FF FF FF FF FF db 03h,0FFh,0FFh,0FFh,0FFh,0FFh 435F:0B40 FF FF 00 FF FF 03 db 0FFh,0FFh, 00h,0FFh,0FFh, 03h 435F:0B46 FF FF FF FF 03 0C db 0FFh,0FFh,0FFh,0FFh, 03h, 0Ch 435F:0B4C FF db 0FFh 435F:0B4D 000E[FF] db 14 dup (0FFh) 435F:0B5B 03 FF FF 00 FF 00 db 03h,0FFh,0FFh, 00h,0FFh, 00h 435F:0B61 FF 00 FF FF FF FF db 0FFh, 00h,0FFh,0FFh,0FFh,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 605 435F:0B67 FF FF 00 FF FF FF db 0FFh,0FFh, 00h,0FFh,0FFh,0FFh 435F:0B6D 00 FF FF FF FF FF db 00h,0FFh,0FFh,0FFh,0FFh,0FFh 435F:0B73 FF 00 db 0FFh, 00h 435F:0B75 0022[00] db 34 dup (0) 435F:0B97 09 00 08 00 00 09 db 9, 0, 8, 0, 0, 9 435F:0B9D 0007[00] db 7 dup (0) 435F:0BA4 07 07 07 07 00 00 db 7, 7, 7, 7, 0, 0 435F:0BAA 09 00 07 00 08 00 db 9, 0, 7, 0, 8, 0 435F:0BB0 00 00 03 00 06 00 db 0, 0, 3, 0, 6, 0 435F:0BB6 06 00 06 00 06 00 db 6, 0, 6, 0, 6, 0 435F:0BBC 06 00 06 00 06 00 db 6, 0, 6, 0, 6, 0 435F:0BC2 06 db 6 435F:0BC3 0011[00] db 17 dup (0) 435F:0BD4 09 00 09 00 00 00 db 9, 0, 9, 0, 0, 0 435F:0BDA 09 00 06 06 db 9, 0, 6, 6 435F:0BDE 0009[00] db 9 dup (0) 435F:0BE7 07 07 0A 0A 0A 0A db 07h, 07h, 0Ah, 0Ah, 0Ah, 0Ah 435F:0BED 0007[00] db 7 dup (0) 435F:0BF4 0A 0A 0A 0A 0A 07 db 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 07h 435F:0BFA 07 07 07 db 07h, 07h, 07h 435F:0BFD 08 08 db 8, 8 435F:0BFF 000A[07] db 10 dup (7) 435F:0C09 08 08 08 08 07 07 db 08h, 08h, 08h, 08h, 07h, 07h 435F:0C0F 0A 0A 0A 0A 0A 07 db 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 07h 435F:0C15 07 07 07 07 07 07 db 07h, 07h, 07h, 07h, 07h, 07h 435F:0C1B 00 00 00 00 0B 0B db 00h, 00h, 00h, 00h, 0Bh, 0Bh 435F:0C21 00 0B 0B 00 00 0A db 00h, 0Bh, 0Bh, 00h, 00h, 0Ah 435F:0C27 0A 0A 0A 00 08 08 db 0Ah, 0Ah, 0Ah, 00h, 08h, 08h 435F:0C2D 0B 0B 0B 0B 07 08 db 0Bh, 0Bh, 0Bh, 0Bh, 07h, 08h 435F:0C33 07 db 07h 435F:0C34 0009[0B] db 9 dup (0Bh) 435F:0C3D 0A 0B 0B 0B 0B 0B db 0Ah, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh 435F:0C43 09 0B 0B 0B 0B 0B db 09h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh 435F:0C49 0A 0A 0B 06 06 06 db 0Ah, 0Ah, 0Bh, 06h, 06h, 06h 435F:0C4F 06 06 06 06 06 06 db 06h, 06h, 06h, 06h, 06h, 06h 435F:0C55 0A 0B 06 0A 0B 06 db 0Ah, 0Bh, 06h, 0Ah, 0Bh, 06h 435F:0C5B 0A 0B 06 0A 0B 06 db 0Ah, 0Bh, 06h, 0Ah, 0Bh, 06h 435F:0C61 0A 0B 0B 00 00 0B db 0Ah, 0Bh, 0Bh, 00h, 00h, 0Bh 435F:0C67 0B 0A 0A 0A 0A 0B db 0Bh, 0Ah, 0Ah, 0Ah, 0Ah, 0Bh 435F:0C6D 0007[0B] db 7 dup (0Bh) 435F:0C74 06 06 0B 06 07 0A db 06h, 06h, 0Bh, 06h, 07h, 0Ah 435F:0C7A 0A 0A 0B 0B 0B 08 db 0Ah, 0Ah, 0Bh, 0Bh, 0Bh, 08h 435F:0C80 07 07 0B 07 0B 06 db 07h, 07h, 0Bh, 07h, 0Bh, 06h 435F:0C86 0B 06 0B 0A 08 08 db 0Bh, 06h, 0Bh, 0Ah, 08h, 08h 435F:0C8C 07 07 0A 0A 0A 0A db 07h, 07h, 0Ah, 0Ah, 0Ah, 0Ah 435F:0C92 0A 00 06 0B 06 0A db 0Ah, 00h, 06h, 0Bh, 06h, 0Ah 435F:0C98 03 00 0A 0A 0A 0A db 03h, 00h, 0Ah, 0Ah, 0Ah, 0Ah 435F:0C9E 0B 03 0B 0B 0B 0B db 0Bh, 03h, 0Bh, 0Bh, 0Bh, 0Bh 435F:0CA4 0A 0B 0A 06 0B 06 db 0Ah, 0Bh, 0Ah, 06h, 0Bh, 06h 435F:0CAA 0A 03 00 07 07 07 db 0Ah, 03h, 00h, 07h, 07h, 07h 435F:0CB0 06 0B 0A 0A 0B 0A db 06h, 0Bh, 0Ah, 0Ah, 0Bh, 0Ah 435F:0CB6 0B 00 03 00 0A 0B db 0Bh, 00h, 03h, 00h, 0Ah, 0Bh 435F:0CBC 0A 0B 0B 00 07 0B db 0Ah, 0Bh, 0Bh, 00h, 07h, 0Bh 435F:0CC2 07 00 00 00 0A 07 db 07h, 00h, 00h, 00h, 0Ah, 07h 435F:0CC8 0B 07 00 03 03 06 db 0Bh, 07h, 00h, 03h, 03h, 06h 435F:0CCE 0B 06 03 03 db 0Bh, 06h, 03h, 03h 435F:0CD2 0022[00] db 34 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 606 435F:0CF4 05 00 0C 00 0C 00 db 05h, 00h, 0Ch, 00h, 0Ch, 00h 435F:0CFA 0A 00 09 00 08 00 db 0Ah, 00h, 09h, 00h, 08h, 00h 435F:0D00 07 00 07 00 04 00 db 07h, 00h, 07h, 00h, 04h, 00h 435F:0D06 02 00 01 00 0B 00 db 02h, 00h, 01h, 00h, 0Bh, 00h 435F:0D0C 02 00 0C 00 04 00 db 02h, 00h, 0Ch, 00h, 04h, 00h 435F:0D12 0D 00 05 00 00 00 db 0Dh, 00h, 05h, 00h, 00h, 00h 435F:0D18 00 00 0B 00 02 00 db 00h, 00h, 0Bh, 00h, 02h, 00h 435F:0D1E 0C 00 04 00 0D 00 db 0Ch, 00h, 04h, 00h, 0Dh, 00h 435F:0D24 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0D2A 0B 00 02 00 0C 00 db 0Bh, 00h, 02h, 00h, 0Ch, 00h 435F:0D30 04 00 0D 00 0C 00 db 04h, 00h, 0Dh, 00h, 0Ch, 00h 435F:0D36 00 00 00 00 0B 00 db 00h, 00h, 00h, 00h, 0Bh, 00h 435F:0D3C 02 00 0C 00 04 00 db 02h, 00h, 0Ch, 00h, 04h, 00h 435F:0D42 0D 00 0C 00 00 00 db 0Dh, 00h, 0Ch, 00h, 00h, 00h 435F:0D48 00 00 0B 00 02 00 db 00h, 00h, 0Bh, 00h, 02h, 00h 435F:0D4E 0C 00 04 00 0D 00 db 0Ch, 00h, 04h, 00h, 0Dh, 00h 435F:0D54 0C 00 00 00 00 00 db 0Ch, 00h, 00h, 00h, 00h, 00h 435F:0D5A 0B 00 0D 00 0C 00 db 0Bh, 00h, 0Dh, 00h, 0Ch, 00h 435F:0D60 04 00 0D 00 0C 00 db 04h, 00h, 0Dh, 00h, 0Ch, 00h 435F:0D66 00 00 00 00 0B 00 db 00h, 00h, 00h, 00h, 0Bh, 00h 435F:0D6C 0D 00 0C 00 04 00 db 0Dh, 00h, 0Ch, 00h, 04h, 00h 435F:0D72 0D 00 05 00 00 00 db 0Dh, 00h, 05h, 00h, 00h, 00h 435F:0D78 00 00 0B 00 0D 00 db 00h, 00h, 0Bh, 00h, 0Dh, 00h 435F:0D7E 0C 00 04 00 0D 00 db 0Ch, 00h, 04h, 00h, 0Dh, 00h 435F:0D84 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0D8A 0B 00 0D 00 0C 00 db 0Bh, 00h, 0Dh, 00h, 0Ch, 00h 435F:0D90 04 00 0D 00 05 00 db 04h, 00h, 0Dh, 00h, 05h, 00h 435F:0D96 00 00 00 00 0B 00 db 00h, 00h, 00h, 00h, 0Bh, 00h 435F:0D9C 02 00 0C 00 04 00 db 02h, 00h, 0Ch, 00h, 04h, 00h 435F:0DA2 0D 00 05 db 0Dh, 00h, 05h 435F:0DA5 000F[00] db 15 dup (0) 435F:0DB4 44 18 A8 13 2C 13 db 44h, 18h,0A8h, 13h, 2Ch, 13h 435F:0DBA 90 12 4A 18 44 18 db 90h, 12h, 4Ah, 18h, 44h, 18h 435F:0DC0 28 15 C8 16 18 14 db 28h, 15h,0C8h, 16h, 18h, 14h 435F:0DC6 4A 18 FF FF F6 55 db 4Ah, 18h,0FFh,0FFh,0F6h, 55h 435F:0DCC 00 00 F0 FF 00 00 db 00h, 00h,0F0h,0FFh, 00h, 00h 435F:0DD2 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0DD8 EF FF FB FF 00 db 0EFh,0FFh,0FBh,0FFh, 00h 435F:0DDD 000B[00] db 11 dup (0) 435F:0DE8 01 00 db 1, 0 435F:0DEA 000A[00] db 10 dup (0) 435F:0DF4 EF FF FB FF EE FF db 0EFh,0FFh,0FBh,0FFh,0EEh,0FFh 435F:0DFA FF FF 3E 56 F2 FF db 0FFh,0FFh, 3Eh, 56h,0F2h,0FFh 435F:0E00 00 00 00 00 06 00 db 00h, 00h, 00h, 00h, 06h, 00h 435F:0E06 00 00 18 db 00h, 00h, 18h 435F:0E09 0007[00] db 7 dup (0) 435F:0E10 03 00 00 00 18 00 db 03h, 00h, 00h, 00h, 18h, 00h 435F:0E16 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 435F:0E1C 02 00 00 00 18 db 02h, 00h, 00h, 00h, 18h 435F:0E21 000B[00] db 11 dup (0) 435F:0E2C 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E32 FF FF F6 55 EF FF db 0FFh,0FFh,0F6h, 55h,0EFh,0FFh 435F:0E38 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 435F:0E3E 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E44 FB FF EE FF FF FF db 0FBh,0FFh,0EEh,0FFh,0FFh,0FFh 435F:0E4A 3E 56 F2 FF 00 00 db 3Eh, 56h,0F2h,0FFh, 00h, 00h 435F:0E50 01 00 06 00 00 00 db 01h, 00h, 06h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 607 435F:0E56 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E5C 01 00 03 00 00 00 db 01h, 00h, 03h, 00h, 00h, 00h 435F:0E62 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E68 01 00 02 00 00 00 db 01h, 00h, 02h, 00h, 00h, 00h 435F:0E6E 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E74 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:0E7A 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E80 FF FF F6 55 EF FF db 0FFh,0FFh,0F6h, 55h,0EFh,0FFh 435F:0E86 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 435F:0E8C 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:0E92 FB FF EE FF FF FF db 0FBh,0FFh,0EEh,0FFh,0FFh,0FFh 435F:0E98 3E 56 F2 FF 00 00 db 3Eh, 56h,0F2h,0FFh, 00h, 00h 435F:0E9E 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:0EA4 14 00 F0 FF FF FF db 14h, 00h,0F0h,0FFh,0FFh,0FFh 435F:0EAA 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:0EB0 15 00 E2 FF 10 00 db 15h, 00h,0E2h,0FFh, 10h, 00h 435F:0EB6 EA FF 24 00 04 00 db 0EAh,0FFh, 24h, 00h, 04h, 00h 435F:0EBC 00 00 00 00 16 00 db 00h, 00h, 00h, 00h, 16h, 00h 435F:0EC2 E6 FF 16 00 05 00 db 0E6h,0FFh, 16h, 00h, 05h, 00h 435F:0EC8 00 00 00 00 16 00 db 00h, 00h, 00h, 00h, 16h, 00h 435F:0ECE E4 FF 17 00 06 00 db 0E4h,0FFh, 17h, 00h, 06h, 00h 435F:0ED4 00 00 00 00 17 00 db 00h, 00h, 00h, 00h, 17h, 00h 435F:0EDA E9 FF 16 00 06 00 db 0E9h,0FFh, 16h, 00h, 06h, 00h 435F:0EE0 00 00 00 00 17 00 db 00h, 00h, 00h, 00h, 17h, 00h 435F:0EE6 E9 FF 16 00 06 00 db 0E9h,0FFh, 16h, 00h, 06h, 00h 435F:0EEC 00 00 00 00 17 00 db 00h, 00h, 00h, 00h, 17h, 00h 435F:0EF2 E9 FF 16 00 06 00 db 0E9h,0FFh, 16h, 00h, 06h, 00h 435F:0EF8 00 00 00 00 17 00 db 00h, 00h, 00h, 00h, 17h, 00h 435F:0EFE E9 FF 16 00 07 00 db 0E9h,0FFh, 16h, 00h, 07h, 00h 435F:0F04 00 00 00 00 15 00 db 00h, 00h, 00h, 00h, 15h, 00h 435F:0F0A E9 FF 19 00 07 00 db 0E9h,0FFh, 19h, 00h, 07h, 00h 435F:0F10 00 00 00 00 15 00 db 00h, 00h, 00h, 00h, 15h, 00h 435F:0F16 E9 FF 19 00 08 00 db 0E9h,0FFh, 19h, 00h, 08h, 00h 435F:0F1C 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:0F22 00 00 00 00 08 00 db 00h, 00h, 00h, 00h, 08h, 00h 435F:0F28 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:0F2E 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 435F:0F34 F6 55 EF FF 00 00 db 0F6h, 55h,0EFh,0FFh, 00h, 00h 435F:0F3A 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:0F40 00 00 00 00 FB FF db 00h, 00h, 00h, 00h,0FBh,0FFh 435F:0F46 EE FF FF FF 3E 56 db 0EEh,0FFh,0FFh,0FFh, 3Eh, 56h 435F:0F4C 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:0F52 14 00 F0 FF FF FF db 14h, 00h,0F0h,0FFh,0FFh,0FFh 435F:0F58 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:0F5E 15 00 E2 FF 10 00 db 15h, 00h,0E2h,0FFh, 10h, 00h 435F:0F64 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0F6A 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:0F70 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0F76 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:0F7C 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0F82 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:0F88 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0F8E 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:0F94 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0F9A 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:0FA0 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0FA6 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 608 435F:0FAC 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0FB2 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:0FB8 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:0FBE 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:0FC4 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0FCA 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:0FD0 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0FD6 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:0FDC 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0FE2 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:0FE8 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0FEE 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:0FF4 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:0FFA 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:1000 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:1006 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:100C 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:1012 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:1018 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:101E 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:1024 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:102A 16 00 E6 FF 16 00 db 16h, 00h,0E6h,0FFh, 16h, 00h 435F:1030 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:1036 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:103C 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:1042 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:1048 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:104E 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:1054 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:105A 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:1060 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:1066 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:106C 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:1072 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:1078 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:107E 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:1084 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:108A 16 00 E4 FF 17 00 db 16h, 00h,0E4h,0FFh, 17h, 00h 435F:1090 ED FF EE FF FF FF db 0EDh,0FFh,0EEh,0FFh,0FFh,0FFh 435F:1096 50 56 db 50h, 56h 435F:1098 0048[00] db 72 dup (0) 435F:10E0 01 00 db 1, 0 435F:10E2 000A[00] db 10 dup (0) 435F:10EC 01 00 db 1, 0 435F:10EE 000A[00] db 10 dup (0) 435F:10F8 01 00 db 1, 0 435F:10FA 000A[00] db 10 dup (0) 435F:1104 01 00 db 1, 0 435F:1106 000A[00] db 10 dup (0) 435F:1110 01 00 db 1, 0 435F:1112 000A[00] db 10 dup (0) 435F:111C 02 00 db 2, 0 435F:111E 000A[00] db 10 dup (0) 435F:1128 03 00 db 3, 0 435F:112A 000A[00] db 10 dup (0) 435F:1134 04 00 db 4, 0 435F:1136 000A[00] db 10 dup (0) nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 609 435F:1140 05 00 00 db 5, 0, 0 435F:1143 0009[00] db 9 dup (0) 435F:114C 06 db 6 435F:114D 000B[00] db 11 dup (0) 435F:1158 07 db 7 435F:1159 000B[00] db 11 dup (0) 435F:1164 08 00 db 8, 0 435F:1166 000A[00] db 10 dup (0) 435F:1170 09 00 db 9, 0 435F:1172 000A[00] db 10 dup (0) 435F:117C 0A 00 db 0Ah, 00h 435F:117E 000A[00] db 10 dup (0) 435F:1188 0B 00 db 0Bh, 00h 435F:118A 000A[00] db 10 dup (0) 435F:1194 EC FF 0B db 0ECh,0FFh, 0Bh 435F:1197 000B[00] db 11 dup (0) 435F:11A2 F8 FF 96 11 EE FF db 0F8h,0FFh, 96h, 11h,0EEh,0FFh 435F:11A8 F2 FF 00 00 FF FF db 0F2h,0FFh, 00h, 00h,0FFh,0FFh 435F:11AE 47 56 00 00 F8 FF db 47h, 56h, 00h, 00h,0F8h,0FFh 435F:11B4 00 db 00h 435F:11B5 0009[00] db 9 dup (0) 435F:11BE FC FF 00 db 0FCh,0FFh, 00h 435F:11C1 0009[00] db 9 dup (0) 435F:11CA FD FF 00 db 0FDh,0FFh, 00h 435F:11CD 0013[00] db 19 dup (0) 435F:11E0 FF FF FF 55 EF FF db 0FFh,0FFh,0FFh, 55h,0EFh,0FFh 435F:11E6 08 db 08h 435F:11E7 000B[00] db 11 dup (0) 435F:11F2 FB FF EE FF F2 FF db 0FBh,0FFh,0EEh,0FFh,0F2h,0FFh 435F:11F8 00 00 FF FF 47 56 db 00h, 00h,0FFh,0FFh, 47h, 56h 435F:11FE 02 00 F8 FF 00 db 02h, 00h,0F8h,0FFh, 00h 435F:1203 0007[00] db 7 dup (0) 435F:120A 02 00 FC FF 00 db 02h, 00h,0FCh,0FFh, 00h 435F:120F 0007[00] db 7 dup (0) 435F:1216 02 00 FD FF 00 db 02h, 00h,0FDh,0FFh, 00h 435F:121B 0007[00] db 7 dup (0) 435F:1222 02 00 db 2, 0 435F:1224 000A[00] db 10 dup (0) 435F:122E FF FF FF 55 EF FF db 0FFh,0FFh,0FFh, 55h,0EFh,0FFh 435F:1234 08 db 08h 435F:1235 000B[00] db 11 dup (0) 435F:1240 FB FF EE FF F2 FF db 0FBh,0FFh,0EEh,0FFh,0F2h,0FFh 435F:1246 00 00 FF FF 47 56 db 00h, 00h,0FFh,0FFh, 47h, 56h 435F:124C 01 00 F8 FF 00 db 01h, 00h,0F8h,0FFh, 00h 435F:1251 0007[00] db 7 dup (0) 435F:1258 01 00 FC FF 00 db 01h, 00h,0FCh,0FFh, 00h 435F:125D 0007[00] db 7 dup (0) 435F:1264 01 00 FD FF 00 db 01h, 00h,0FDh,0FFh, 00h 435F:1269 0007[00] db 7 dup (0) 435F:1270 01 00 db 1, 0 435F:1272 000A[00] db 10 dup (0) 435F:127C FF FF FF 55 EF FF db 0FFh,0FFh,0FFh, 55h,0EFh,0FFh 435F:1282 08 db 08h 435F:1283 000B[00] db 11 dup (0) 435F:128E FB FF EF FF FF FF db 0FBh,0FFh,0EFh,0FFh,0FFh,0FFh 435F:1294 ED 55 00 00 0C 00 db 0EDh, 55h, 00h, 00h, 0Ch, 00h 435F:129A 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 610 435F:12A0 00 00 F6 FF 08 00 db 00h, 00h,0F6h,0FFh, 08h, 00h 435F:12A6 0C 13 01 00 00 00 db 0Ch, 13h, 01h, 00h, 00h, 00h 435F:12AC 00 00 11 00 F5 FF db 00h, 00h, 11h, 00h,0F5h,0FFh 435F:12B2 EF FF F2 FF 03 00 db 0EFh,0FFh,0F2h,0FFh, 03h, 00h 435F:12B8 02 00 00 00 FE FF db 02h, 00h, 00h, 00h,0FEh,0FFh 435F:12BE 12 00 F5 FF EF FF db 12h, 00h,0F5h,0FFh,0EFh,0FFh 435F:12C4 03 00 00 00 FC FF db 03h, 00h, 00h, 00h,0FCh,0FFh 435F:12CA 12 00 F4 FF EE FF db 12h, 00h,0F4h,0FFh,0EEh,0FFh 435F:12D0 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:12D6 12 00 F4 FF EE FF db 12h, 00h,0F4h,0FFh,0EEh,0FFh 435F:12DC 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:12E2 11 00 F5 FF EF FF db 11h, 00h,0F5h,0FFh,0EFh,0FFh 435F:12E8 05 00 00 00 00 00 db 05h, 00h, 00h, 00h, 00h, 00h 435F:12EE 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:12F4 F2 FF 00 00 FF FF db 0F2h,0FFh, 00h, 00h,0FFh,0FFh 435F:12FA F6 55 EE FF 00 00 db 0F6h, 55h,0EEh,0FFh, 00h, 00h 435F:1300 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1306 00 00 00 00 FB FF db 00h, 00h, 00h, 00h,0FBh,0FFh 435F:130C 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 435F:1312 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:1318 FF FF F6 55 EE FF db 0FFh,0FFh,0F6h, 55h,0EEh,0FFh 435F:131E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 435F:1324 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:132A FB FF EF FF FF FF db 0FBh,0FFh,0EFh,0FFh,0FFh,0FFh 435F:1330 C9 55 00 00 0C 00 db 0C9h, 55h, 00h, 00h, 0Ch, 00h 435F:1336 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:133C 00 00 01 00 00 00 db 00h, 00h, 01h, 00h, 00h, 00h 435F:1342 00 00 13 00 F2 FF db 00h, 00h, 13h, 00h,0F2h,0FFh 435F:1348 16 00 F2 FF 02 00 db 16h, 00h,0F2h,0FFh, 02h, 00h 435F:134E 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:1354 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:135A 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:1360 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:1366 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:136C 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:1372 F7 FF 07 00 66 13 db 0F7h,0FFh, 07h, 00h, 66h, 13h 435F:1378 F2 FF 00 00 01 00 db 0F2h,0FFh, 00h, 00h, 01h, 00h 435F:137E 00 00 00 00 13 00 db 00h, 00h, 00h, 00h, 13h, 00h 435F:1384 F2 FF 16 00 00 00 db 0F2h,0FFh, 16h, 00h, 00h, 00h 435F:138A 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1390 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 435F:1396 F6 55 EE FF 00 00 db 0F6h, 55h,0EEh,0FFh, 00h, 00h 435F:139C 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:13A2 00 00 00 00 FB FF db 00h, 00h, 00h, 00h,0FBh,0FFh 435F:13A8 EF FF FF FF DB 55 db 0EFh,0FFh,0FFh,0FFh,0DBh, 55h 435F:13AE 00 00 0C 00 00 00 db 00h, 00h, 0Ch, 00h, 00h, 00h 435F:13B4 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:13BA F2 FF 01 00 02 00 db 0F2h,0FFh, 01h, 00h, 02h, 00h 435F:13C0 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:13C6 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 435F:13CC 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:13D2 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 435F:13D8 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:13DE 00 00 00 00 F7 FF db 00h, 00h, 00h, 00h,0F7h,0FFh 435F:13E4 06 00 D6 13 F2 FF db 06h, 00h,0D6h, 13h,0F2h,0FFh 435F:13EA 00 00 03 00 00 00 db 00h, 00h, 03h, 00h, 00h, 00h 435F:13F0 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:13F6 00 00 04 00 00 00 db 00h, 00h, 04h, 00h, 00h, 00h 435F:13FC 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:1402 00 00 FF FF F6 55 db 00h, 00h,0FFh,0FFh,0F6h, 55h 435F:1408 EE FF 04 00 00 00 db 0EEh,0FFh, 04h, 00h, 00h, 00h 435F:140E 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:1414 00 00 FB FF EF FF db 00h, 00h,0FBh,0FFh,0EFh,0FFh 435F:141A FF FF E4 55 00 00 db 0FFh,0FFh,0E4h, 55h, 00h, 00h 435F:1420 00 00 00 00 0C 00 db 00h, 00h, 00h, 00h, 0Ch, 00h 435F:1426 18 00 F8 FF F6 FF db 18h, 00h,0F8h,0FFh,0F6h,0FFh 435F:142C 0D 00 A8 14 01 00 db 0Dh, 00h,0A8h, 14h, 01h, 00h 435F:1432 00 00 00 00 0D 00 db 00h, 00h, 00h, 00h, 0Dh, 00h 435F:1438 16 00 0D 00 02 00 db 16h, 00h, 0Dh, 00h, 02h, 00h 435F:143E 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1444 00 00 00 00 F4 FF db 00h, 00h, 00h, 00h,0F4h,0FFh 435F:144A 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:1450 0E 00 E3 FF 16 00 db 0Eh, 00h,0E3h,0FFh, 16h, 00h 435F:1456 F1 FF 03 00 E0 14 db 0F1h,0FFh, 03h, 00h,0E0h, 14h 435F:145C F0 FF F4 11 04 00 db 0F0h,0FFh,0F4h, 11h, 04h, 00h 435F:1462 00 00 00 00 0F 00 db 00h, 00h, 00h, 00h, 0Fh, 00h 435F:1468 E3 FF 16 00 05 00 db 0E3h,0FFh, 16h, 00h, 05h, 00h 435F:146E 00 00 00 00 10 00 db 00h, 00h, 00h, 00h, 10h, 00h 435F:1474 E3 FF 0A 00 06 00 db 0E3h,0FFh, 0Ah, 00h, 06h, 00h 435F:147A 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1480 00 00 00 00 07 db 00h, 00h, 00h, 00h, 07h 435F:1485 0007[00] db 7 dup (0) 435F:148C 11 00 F6 FF FF FF db 11h, 00h,0F6h,0FFh,0FFh,0FFh 435F:1492 F6 55 04 00 00 00 db 0F6h, 55h, 04h, 00h, 00h, 00h 435F:1498 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:149E 00 00 F7 FF 0D 00 db 00h, 00h,0F7h,0FFh, 0Dh, 00h 435F:14A4 94 14 FB FF 01 00 db 94h, 14h,0FBh,0FFh, 01h, 00h 435F:14AA 00 00 00 00 0D 00 db 00h, 00h, 00h, 00h, 0Dh, 00h 435F:14B0 16 00 0D 00 F4 FF db 16h, 00h, 0Dh, 00h,0F4h,0FFh 435F:14B6 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:14BC 0D 00 16 00 db 0Dh, 00h, 16h, 00h 435F:14C0 0D db 0Dh 435F:14C1 0007[00] db 7 dup (0) 435F:14C8 0C 00 18 00 F8 FF db 0Ch, 00h, 18h, 00h,0F8h,0FFh 435F:14CE FF FF F6 55 04 00 db 0FFh,0FFh,0F6h, 55h, 04h, 00h 435F:14D4 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:14DA 00 00 00 00 FB FF db 00h, 00h, 00h, 00h,0FBh,0FFh 435F:14E0 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:14E6 0E 00 E3 FF 16 00 db 0Eh, 00h,0E3h,0FFh, 16h, 00h 435F:14EC 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:14F2 0E 00 E3 FF 16 00 db 0Eh, 00h,0E3h,0FFh, 16h, 00h 435F:14F8 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:14FE 0E 00 E3 FF 16 00 db 0Eh, 00h,0E3h,0FFh, 16h, 00h 435F:1504 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:150A 0D 00 16 00 0D 00 db 0Dh, 00h, 16h, 00h, 0Dh, 00h 435F:1510 FF FF F6 55 04 00 db 0FFh,0FFh,0F6h, 55h, 04h, 00h 435F:1516 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:151C 00 00 00 00 F7 FF db 00h, 00h, 00h, 00h,0F7h,0FFh 435F:1522 0D 00 94 14 FB FF db 0Dh, 00h, 94h, 14h,0FBh,0FFh 435F:1528 EF FF FF FF D2 55 db 0EFh,0FFh,0FFh,0FFh,0D2h, 55h 435F:152E 00 00 00 00 00 00 db 00h, 00h, 00h, 00h, 00h, 00h 435F:1534 01 00 17 00 F8 FF db 01h, 00h, 17h, 00h,0F8h,0FFh 435F:153A 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:1540 02 00 16 00 05 00 db 02h, 00h, 16h, 00h, 05h, 00h 435F:1546 F4 FF F6 FF 0B 00 db 0F4h,0FFh,0F6h,0FFh, 0Bh, 00h 435F:154C DE 15 02 00 00 00 db 0DEh, 15h, 02h, 00h, 00h, 00h 435F:1552 00 00 03 00 17 00 db 00h, 00h, 03h, 00h, 17h, 00h 435F:1558 F0 FF F2 FF 04 00 db 0F0h,0FFh,0F2h,0FFh, 04h, 00h 435F:155E 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:1564 04 00 08 00 EE FF db 04h, 00h, 08h, 00h,0EEh,0FFh 435F:156A F1 FF 04 00 6C 16 db 0F1h,0FFh, 04h, 00h, 6Ch, 16h 435F:1570 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:1576 05 00 F0 FF EF FF db 05h, 00h,0F0h,0FFh,0EFh,0FFh 435F:157C F1 FF 01 00 14 16 db 0F1h,0FFh, 01h, 00h, 14h, 16h 435F:1582 F2 FF 00 00 F0 FF db 0F2h,0FFh, 00h, 00h,0F0h,0FFh 435F:1588 A6 11 05 00 00 00 db 0A6h, 11h, 05h, 00h, 00h, 00h 435F:158E 00 00 06 00 DF FF db 00h, 00h, 06h, 00h,0DFh,0FFh 435F:1594 05 00 06 00 00 00 db 05h, 00h, 06h, 00h, 00h, 00h 435F:159A 00 00 07 00 DF FF db 00h, 00h, 07h, 00h,0DFh,0FFh 435F:15A0 07 00 07 00 00 00 db 07h, 00h, 07h, 00h, 00h, 00h 435F:15A6 00 00 08 00 EF FF db 00h, 00h, 08h, 00h,0EFh,0FFh 435F:15AC 07 00 08 00 00 00 db 07h, 00h, 08h, 00h, 00h, 00h 435F:15B2 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:15B8 00 00 09 00 00 00 db 00h, 00h, 09h, 00h, 00h, 00h 435F:15BE 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:15C4 00 00 FF FF F6 55 db 00h, 00h,0FFh,0FFh,0F6h, 55h 435F:15CA 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:15D0 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:15D6 F7 FF 0B 00 CA 15 db 0F7h,0FFh, 0Bh, 00h,0CAh, 15h 435F:15DC FB FF 01 00 00 00 db 0FBh,0FFh, 01h, 00h, 00h, 00h 435F:15E2 00 00 02 00 16 00 db 00h, 00h, 02h, 00h, 16h, 00h 435F:15E8 05 00 01 00 00 00 db 05h, 00h, 01h, 00h, 00h, 00h 435F:15EE 00 00 02 00 16 00 db 00h, 00h, 02h, 00h, 16h, 00h 435F:15F4 05 db 05h 435F:15F5 0007[00] db 7 dup (0) 435F:15FC 01 00 17 00 F8 FF db 01h, 00h, 17h, 00h,0F8h,0FFh 435F:1602 FF FF F6 55 04 00 db 0FFh,0FFh,0F6h, 55h, 04h, 00h 435F:1608 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:160E 00 00 00 00 FB FF db 00h, 00h, 00h, 00h,0FBh,0FFh 435F:1614 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:161A 05 00 F0 FF EF FF db 05h, 00h,0F0h,0FFh,0EFh,0FFh 435F:1620 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:1626 05 00 F0 FF EF FF db 05h, 00h,0F0h,0FFh,0EFh,0FFh 435F:162C F2 FF 00 00 07 00 db 0F2h,0FFh, 00h, 00h, 07h, 00h 435F:1632 00 00 00 00 08 00 db 00h, 00h, 00h, 00h, 08h, 00h 435F:1638 EF FF 07 00 08 00 db 0EFh,0FFh, 07h, 00h, 08h, 00h 435F:163E 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1644 00 00 00 00 09 00 db 00h, 00h, 00h, 00h, 09h, 00h 435F:164A 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1650 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 435F:1656 F6 55 04 00 00 00 db 0F6h, 55h, 04h, 00h, 00h, 00h 435F:165C 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:1662 00 00 F7 FF 0B 00 db 00h, 00h,0F7h,0FFh, 0Bh, 00h 435F:1668 CA 15 FB FF EA FF db 0CAh, 15h,0FBh,0FFh,0EAh,0FFh 435F:166E 2A 00 03 00 00 00 db 2Ah, 00h, 03h, 00h, 00h, 00h 435F:1674 00 00 04 00 08 00 db 00h, 00h, 04h, 00h, 08h, 00h 435F:167A EE FF 03 00 00 00 db 0EEh,0FFh, 03h, 00h, 00h, 00h 435F:1680 00 00 04 00 08 00 db 00h, 00h, 04h, 00h, 08h, 00h 435F:1686 EE FF 03 00 00 00 db 0EEh,0FFh, 03h, 00h, 00h, 00h 435F:168C 00 00 04 00 08 00 db 00h, 00h, 04h, 00h, 08h, 00h 435F:1692 EE FF F2 FF 00 00 db 0EEh,0FFh,0F2h,0FFh, 00h, 00h 435F:1698 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:169E 03 00 17 00 F0 FF db 03h, 00h, 17h, 00h,0F0h,0FFh 435F:16A4 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:16AA 02 00 16 00 05 00 db 02h, 00h, 16h, 00h, 05h, 00h 435F:16B0 FF FF F6 55 04 00 db 0FFh,0FFh,0F6h, 55h, 04h, 00h 435F:16B6 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:16BC 00 00 00 00 F7 FF db 00h, 00h, 00h, 00h,0F7h,0FFh 435F:16C2 0B 00 CA 15 FB FF db 0Bh, 00h,0CAh, 15h,0FBh,0FFh 435F:16C8 EF FF FF FF C0 55 db 0EFh,0FFh,0FFh,0FFh,0C0h, 55h 435F:16CE 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:16D4 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:16DA F6 FF 0C 00 66 17 db 0F6h,0FFh, 0Ch, 00h, 66h, 17h 435F:16E0 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:16E6 18 00 01 00 FF FF db 18h, 00h, 01h, 00h,0FFh,0FFh 435F:16EC F4 FF F1 FF 05 00 db 0F4h,0FFh,0F1h,0FFh, 05h, 00h 435F:16F2 F8 17 F2 FF 05 00 db 0F8h, 17h,0F2h,0FFh, 05h, 00h 435F:16F8 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:16FE 09 00 F0 FF 05 00 db 09h, 00h,0F0h,0FFh, 05h, 00h 435F:1704 F1 FF 02 00 9E 17 db 0F1h,0FFh, 02h, 00h, 9Eh, 17h 435F:170A 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:1710 0A 00 DF FF 05 00 db 0Ah, 00h,0DFh,0FFh, 05h, 00h 435F:1716 F0 FF 42 12 05 00 db 0F0h,0FFh, 42h, 12h, 05h, 00h 435F:171C 00 00 00 00 0B 00 db 00h, 00h, 00h, 00h, 0Bh, 00h 435F:1722 EB FF 05 00 F2 FF db 0EBh,0FFh, 05h, 00h,0F2h,0FFh 435F:1728 00 00 06 00 00 00 db 00h, 00h, 06h, 00h, 00h, 00h 435F:172E 00 00 09 00 F2 FF db 00h, 00h, 09h, 00h,0F2h,0FFh 435F:1734 03 00 07 00 00 00 db 03h, 00h, 07h, 00h, 00h, 00h 435F:173A 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:1740 00 00 08 00 00 00 db 00h, 00h, 08h, 00h, 00h, 00h 435F:1746 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:174C 00 00 FF FF F6 55 db 00h, 00h,0FFh,0FFh,0F6h, 55h 435F:1752 04 00 00 00 00 00 db 04h, 00h, 00h, 00h, 00h, 00h 435F:1758 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:175E F7 FF 0C 00 52 17 db 0F7h,0FFh, 0Ch, 00h, 52h, 17h 435F:1764 FB FF 01 00 00 00 db 0FBh,0FFh, 01h, 00h, 00h, 00h 435F:176A 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:1770 00 00 F4 FF 01 00 db 00h, 00h,0F4h,0FFh, 01h, 00h 435F:1776 00 00 00 00 18 db 00h, 00h, 00h, 00h, 18h 435F:177B 000B[00] db 11 dup (0) 435F:1786 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:178C FF FF F6 55 04 00 db 0FFh,0FFh,0F6h, 55h, 04h, 00h 435F:1792 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1798 00 00 00 00 FB FF db 00h, 00h, 00h, 00h,0FBh,0FFh 435F:179E 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:17A4 09 00 F0 FF 05 00 db 09h, 00h,0F0h,0FFh, 05h, 00h 435F:17AA 03 00 00 00 00 00 db 03h, 00h, 00h, 00h, 00h, 00h 435F:17B0 09 00 F0 FF 05 00 db 09h, 00h,0F0h,0FFh, 05h, 00h 435F:17B6 02 00 00 00 00 00 db 02h, 00h, 00h, 00h, 00h, 00h 435F:17BC 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:17C2 F2 FF 00 00 F4 FF db 0F2h,0FFh, 00h, 00h,0F4h,0FFh 435F:17C8 01 00 00 00 00 00 db 01h, 00h, 00h, 00h, 00h, 00h 435F:17CE 18 db 18h 435F:17CF 000B[00] db 11 dup (0) 435F:17DA 18 00 00 00 00 00 db 18h, 00h, 00h, 00h, 00h, 00h 435F:17E0 FF FF F6 55 04 00 db 0FFh,0FFh,0F6h, 55h, 04h, 00h 435F:17E6 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:17EC 00 00 00 00 F7 FF db 00h, 00h, 00h, 00h,0F7h,0FFh nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 614 435F:17F2 0C 00 52 17 FB FF db 0Ch, 00h, 52h, 17h,0FBh,0FFh 435F:17F8 EA FF 2A 00 02 00 db 0EAh,0FFh, 2Ah, 00h, 02h, 00h 435F:17FE 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1804 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 435F:180A 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1810 00 00 00 00 02 00 db 00h, 00h, 00h, 00h, 02h, 00h 435F:1816 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:181C 00 00 00 00 01 00 db 00h, 00h, 00h, 00h, 01h, 00h 435F:1822 00 00 00 00 18 00 db 00h, 00h, 00h, 00h, 18h, 00h 435F:1828 00 00 00 00 FF FF db 00h, 00h, 00h, 00h,0FFh,0FFh 435F:182E F6 55 04 00 00 00 db 0F6h, 55h, 04h, 00h, 00h, 00h 435F:1834 00 00 18 00 00 00 db 00h, 00h, 18h, 00h, 00h, 00h 435F:183A 00 00 F7 FF 0C 00 db 00h, 00h,0F7h,0FFh, 0Ch, 00h 435F:1840 52 17 FB FF FA FF db 52h, 17h,0FBh,0FFh,0FAh,0FFh 435F:1846 F8 FF 44 18 F9 FF db 0F8h,0FFh, 44h, 18h,0F9h,0FFh 435F:184C F8 FF 4A 18 db 0F8h,0FFh, 4Ah, 18h seg_d ends ;------------------------------------- ega_talk_frame_seg ---- ega_talk_frame_seg segment byte public assume cs:ega_talk_frame_seg, ds:ega_talk_frame_seg, ss:stack_seg_k 44E4:0000 00 FF FF 00 00 FF db 00h,0FFh,0FFh, 00h, 00h,0FFh 44E4:0006 FF 00 00 FF FF 00 db 0FFh, 00h, 00h,0FFh,0FFh, 00h 44E4:000C 00 data_1404 db 0 ; xref 273F:3042 44E4:000D 80 80 80 00 00 00 db 80h, 80h, 80h, 00h, 00h, 00h 44E4:0013 00 00 01 01 00 3F db 00h, 00h, 01h, 01h, 00h, 3Fh 44E4:0019 80 80 BF FF 00 00 db 80h, 80h,0BFh,0FFh, 00h, 00h 44E4:001F FF FC 01 01 FC 3F db 0FFh,0FCh, 01h, 01h,0FCh, 3Fh 44E4:0025 BF 80 9F FF FF 00 db 0BFh, 80h, 9Fh,0FFh,0FFh, 00h 44E4:002B FF FC F9 01 FC db 0FFh,0FCh,0F9h, 01h,0FCh 44E4:0030 3F data_1405 db 3Fh ; xref 273F:3033 44E4:0031 BF 80 80 FF FF 00 db 0BFh, 80h, 80h,0FFh,0FFh, 00h 44E4:0037 00 FC FD 01 00 00 db 00h,0FCh,0FDh, 01h, 00h, 00h 44E4:003D 80 80 80 00 00 00 db 80h, 80h, 80h, 00h, 00h, 00h 44E4:0043 00 00 01 01 00 00 db 00h, 00h, 01h, 01h, 00h, 00h 44E4:0049 FF FF FF 00 FF FF db 0FFh,0FFh,0FFh, 00h,0FFh,0FFh 44E4:004F FF 00 FF FF FF 00 db 0FFh, 00h,0FFh,0FFh,0FFh, 00h 44E4:0055 000B[00] db 11 dup (0) ega_talk_frame_seg ends ;---------------------------------------------------- dialog_segment ---- dialog_segment segment byte public assume cs:dialog_segment, ds:dailog_segment, ss:stack_seg_k 44EA:0000 0010[E0] db 16 dup (0E0h) 44EA:0010 DE DF db 0DEh,0DFh 44EA:0012 000E[E1] db 14 dup (0E1h) 44EA:0020 DE DE DF E0 DF db 0DEh,0DEh,0DFh,0E0h,0DFh 44EA:0025 000C[DF] db 12 dup (0DFh) 44EA:0031 DE DE DF E0 DF db 0DEh,0DEh,0DFh,0E0h,0DFh 44EA:0036 000A[E0] db 10 dup (0E0h) 44EA:0040 DE DF DE DE DF E0 db 0DEh,0DFh,0DEh,0DEh,0DFh,0E0h 44EA:0046 DF E0 E1 db 0DFh,0E0h,0E1h 44EA:0049 0007[E1] db 7 dup (0E1h) 44EA:0050 DE DE DF DE DE DF db 0DEh,0DEh,0DFh,0DEh,0DEh,0DFh 44EA:0056 E0 DF E0 E1 db 0E0h,0DFh,0E0h,0E1h 44EA:005A 0007[DF] db 7 dup (0DFh) 44EA:0061 DE DE DF DE DE DF db 0DEh,0DEh,0DFh,0DEh,0DEh,0DFh 44EA:0067 E0 DF E0 E1 DF DE db 0E0h,0DFh,0E0h,0E1h,0DFh,0DEh 44EA:006D DE DE DE E0 DF DE db 0DEh,0DEh,0DEh,0E0h,0DFh,0DEh 44EA:0073 DE DF DE DE DF E0 db 0DEh,0DFh,0DEh,0DEh,0DFh,0E0h 44EA:0079 DF E0 E1 DF DE DD db 0DFh,0E0h,0E1h,0DFh,0DEh,0DDh 44EA:007F DD DC E1 DF DE DE db 0DDh,0DCh,0E1h,0DFh,0DEh,0DEh 44EA:0085 DF DE DE DF E0 DF db 0DFh,0DEh,0DEh,0DFh,0E0h,0DFh 44EA:008B E0 E1 DF DE DD DC db 0E0h,0E1h,0DFh,0DEh,0DDh,0DCh 44EA:0091 E0 E1 DF DE DE DF db 0E0h,0E1h,0DFh,0DEh,0DEh,0DFh 44EA:0097 DE DE DF E0 DF E0 db 0DEh,0DEh,0DFh,0E0h,0DFh,0E0h 44EA:009D E1 DF DE DD DD DC db 0E1h,0DFh,0DEh,0DDh,0DDh,0DCh 44EA:00A3 DF E0 E1 DF DE DE db 0DFh,0E0h,0E1h,0DFh,0DEh,0DEh 44EA:00A9 DF DE DE DF E0 DF db 0DFh,0DEh,0DEh,0DFh,0E0h,0DFh 44EA:00AF E0 E1 DF DE DD DC db 0E0h,0E1h,0DFh,0DEh,0DDh,0DCh 44EA:00B5 DF E0 E1 DF DE DE db 0DFh,0E0h,0E1h,0DFh,0DEh,0DEh 44EA:00BB DF DE DE DF E0 DF db 0DFh,0DEh,0DEh,0DFh,0E0h,0DFh 44EA:00C1 E0 E1 DF DE DC E0 db 0E0h,0E1h,0DFh,0DEh,0DCh,0E0h 44EA:00C7 E0 E0 E1 DF DE DE db 0E0h,0E0h,0E1h,0DFh,0DEh,0DEh 44EA:00CD DF DE DE DF E0 DF db 0DFh,0DEh,0DEh,0DFh,0E0h,0DFh 44EA:00D3 E0 E1 DF E0 E1 E1 db 0E0h,0E1h,0DFh,0E0h,0E1h,0E1h 44EA:00D9 E1 E1 E1 DF DE DE db 0E1h,0E1h,0E1h,0DFh,0DEh,0DEh 44EA:00DF DF DE DE DF E0 DF db 0DFh,0DEh,0DEh,0DFh,0E0h,0DFh 44EA:00E5 E0 E0 db 0E0h,0E0h 44EA:00E7 0008[DF] db 8 dup (0DFh) 44EA:00EF DE DE DF DE DE DF db 0DEh,0DEh,0DFh,0DEh,0DEh,0DFh 44EA:00F5 E0 DF DF db 0E0h,0DFh,0DFh 44EA:00F8 000B[DE] db 11 dup (0DEh) 44EA:0103 DF DE DE DF E0 DF db 0DFh,0DEh,0DEh,0DFh,0E0h,0DFh 44EA:0109 000B[DD] db 11 dup (0DDh) 44EA:0114 DE DF DE DE DF E0 db 0DEh,0DFh,0DEh,0DEh,0DFh,0E0h 44EA:011A DF db 0DFh 44EA:011B 000D[DF] db 13 dup (0DFh) 44EA:0128 DE DE DF db 0DEh,0DEh,0DFh 44EA:012B 0011[DE] db 17 dup (0DEh) 44EA:013C 0011[DD] db 17 dup (0DDh) 44EA:014D DE 00 00 db 0DEh, 00h, 00h dialog_segment ends ;--------------------------------------- vga_talk_frame_seg ---- vga_talk_frame_seg segment byte public assume cs:talk_frame_seg, ds:talk_frame_seg, ss:stack_seg_k 44FF:0000 E0 E0 E0 E0 E0 DF db 0E0h,0E0h,0E0h,0E0h,0E0h,0DFh 44FF:0006 DF E1 E1 E1 E1 DE db 0DFh,0E1h,0E1h,0E1h,0E1h,0DEh 44FF:000C DF E0 DD DF E0 DE db 0DFh,0E0h,0DDh,0DFh,0E0h,0DEh 44FF:0012 DF E0 DD DC E0 DF db 0DFh,0E0h,0DDh,0DCh,0E0h,0DFh 44FF:0018 DE DF E0 DF E0 DF db 0DEh,0DFh,0E0h,0DFh,0E0h,0DFh 44FF:001E DE DF E0 DF DF DF db 0DEh,0DFh,0E0h,0DFh,0DFh,0DFh 44FF:0024 DE DE DD DD DD DD db 0DEh,0DEh,0DDh,0DDh,0DDh,0DDh 44FF:002A DD 00 00 00 00 00 db 0DDh, 00h, 00h, 00h, 00h, 00h vga_talk_frame_seg ends ;------------------------------------------------- musical_note_seg ----- ; This segment contains the raw data for the display of a 14x14 pixel ; music note musical_note_seg segment byte public 4502:0000 0008[00] db 8 dup (0) 4502:0008 FC FA F9 F9 FC db 0FCh,0FAh,0F9h,0F9h,0FCh 4502:000D 0007[00] db 7 dup (0) 4502:0014 FC FA F9 F9 FA FA db 0FCh,0FAh,0F9h,0F9h,0FAh,0FAh 4502:001A FC 00 00 00 00 00 db 0FCh, 00h, 00h, 00h, 00h, 00h 4502:0020 FC FA F9 F9 FA FA db 0FCh,0FAh,0F9h,0F9h,0FAh,0FAh 4502:0026 FA FA FC 00 00 00 db 0FAh,0FAh,0FCh, 00h, 00h, 00h 4502:002C 00 FA F9 F9 FA FA db 00h,0FAh,0F9h,0F9h,0FAh,0FAh 4502:0032 FA FB FC FA FC 00 db 0FAh,0FBh,0FCh,0FAh,0FCh, 00h 4502:0038 00 00 00 F9 FA FA db 00h, 00h, 00h,0F9h,0FAh,0FAh 4502:003E FA FB FC FD FB FA db 0FAh,0FBh,0FCh,0FDh,0FBh,0FAh 4502:0044 FC 00 00 00 00 F9 db 0FCh, 00h, 00h, 00h, 00h,0F9h 4502:004A FA FB FC FD 00 00 db 0FAh,0FBh,0FCh,0FDh, 00h, 00h 4502:0050 FA FA FC 00 00 00 db 0FAh,0FAh,0FCh, 00h, 00h, 00h 4502:0056 00 F9 FA FC 00 00 db 00h,0F9h,0FAh,0FCh, 00h, 00h 4502:005C 00 00 F9 FA FC 00 db 00h, 00h,0F9h,0FAh,0FCh, 00h 4502:0062 00 00 00 F9 FA FC db 00h, 00h, 00h,0F9h,0FAh,0FCh 4502:0068 00 00 00 00 F9 FA db 00h, 00h, 00h, 00h,0F9h,0FAh 4502:006E FC 00 00 00 00 F9 db 0FCh, 00h, 00h, 00h, 00h,0F9h 4502:0074 FA FC 00 FB F9 F9 db 0FAh,0FCh, 00h,0FBh,0F9h,0F9h 4502:007A FA FA FC 00 00 00 db 0FAh,0FAh,0FCh, 00h, 00h, 00h 4502:0080 00 F9 FA FC 00 F9 db 00h,0F9h,0FAh,0FCh, 00h,0F9h 4502:0086 F8 F8 F9 FA FD 00 db 0F8h,0F8h,0F9h,0FAh,0FDh, 00h 4502:008C 00 00 00 F9 FA FC db 00h, 00h, 00h,0F9h,0FAh,0FCh 4502:0092 00 FB F9 F9 FA FC db 00h,0FBh,0F9h,0F9h,0FAh,0FCh 4502:0098 00 00 FB F9 F9 FA db 00h, 00h,0FBh,0F9h,0F9h,0FAh 4502:009E FA FC db 0FAh,0FCh 4502:00A0 0008[00] db 8 dup (0) 4502:00A8 F9 F8 F8 F9 FA FD db 0F9h,0F8h,0F8h,0F9h,0FAh,0FDh 4502:00AE 0008[00] db 8 dup (0) 4502:00B6 FB F9 F9 FA FC db 0FBh,0F9h,0F9h,0FAh,0FCh 4502:00BB 0015[00] db 21 dup (0) musical_note_seg ends ;---------------------------------------------- scripts_seg ---- scripts_seg segment byte public assume cs:scripts_seg, ds:scripts_seg, ss:stack_seg_k 450F:0000 23 00 00 21 08 00 db 23h, 00h, 00h, 21h, 08h, 00h 450F:0006 28 23 01 00 21 08 db 28h, 23h, 01h, 00h, 21h, 08h 450F:000C 00 28 23 18 00 21 db 00h, 28h, 23h, 18h, 00h, 21h 450F:0012 08 00 1F 24 00 23 db 08h, 00h, 1Fh, 24h, 00h, 23h 450F:0018 01 00 0A 2B 0C 00 db 01h, 00h, 0Ah, 2Bh, 0Ch, 00h 450F:001E 23 17 00 21 08 00 db 23h, 17h, 00h, 21h, 08h, 00h 450F:0024 23 00 00 21 24 00 db 23h, 00h, 00h, 21h, 24h, 00h 450F:002A 1F 24 00 23 02 00 db 1Fh, 24h, 00h, 23h, 02h, 00h 450F:0030 0A 2B 06 00 23 28 db 0Ah, 2Bh, 06h, 00h, 23h, 28h 450F:0036 00 21 08 00 28 23 db 00h, 21h, 08h, 00h, 28h, 23h 450F:003C 11 04 27 00 00 23 db 11h, 04h, 27h, 00h, 00h, 23h 450F:0042 13 00 23 18 04 27 db 13h, 00h, 23h, 18h, 04h, 27h 450F:0048 01 00 23 13 00 27 db 01h, 00h, 23h, 13h, 00h, 27h 450F:004E 02 00 28 1F 7A 00 db 02h, 00h, 28h, 1Fh, 7Ah, 00h 450F:0054 23 00 00 0A 2B 27 db 23h, 00h, 00h, 0Ah, 2Bh, 27h 450F:005A 00 23 01 00 21 7A db 00h, 23h, 01h, 00h, 21h, 7Ah 450F:0060 00 23 00 00 21 26 db 00h, 23h, 00h, 00h, 21h, 26h 450F:0066 00 23 08 00 27 03 db 00h, 23h, 08h, 00h, 27h, 03h 450F:006C 00 27 04 00 23 02 db 00h, 27h, 04h, 00h, 23h, 02h 450F:0072 00 27 05 00 23 F2 db 00h, 27h, 05h, 00h, 23h,0F2h 450F:0078 03 27 00 00 23 37 db 03h, 27h, 00h, 00h, 23h, 37h 450F:007E 04 27 00 00 28 1F db 04h, 27h, 00h, 00h, 28h, 1Fh 450F:0084 7C 00 23 00 00 0A db 7Ch, 00h, 23h, 00h, 00h, 0Ah 450F:008A 2B 8E 00 23 01 00 db 2Bh, 8Eh, 00h, 23h, 01h, 00h 450F:0090 21 7C 00 23 EA 03 db 21h, 7Ch, 00h, 23h,0EAh, 03h 450F:0096 27 06 00 23 02 00 db 27h, 06h, 00h, 23h, 02h, 00h 450F:009C 27 03 00 27 04 00 db 27h, 03h, 00h, 27h, 04h, 00h 450F:00A2 27 07 00 25 22 01 db 27h, 07h, 00h, 25h, 22h, 01h 450F:00A8 23 00 00 23 14 00 db 23h, 00h, 00h, 23h, 14h, 00h 450F:00AE 23 5A 2B 27 08 00 db 23h, 5Ah, 2Bh, 27h, 08h, 00h 450F:00B4 23 00 00 23 13 00 db 23h, 00h, 00h, 23h, 13h, 00h 450F:00BA 23 C2 2B 27 08 00 db 23h,0C2h, 2Bh, 27h, 08h, 00h 450F:00C0 23 19 00 27 09 00 db 23h, 19h, 00h, 27h, 09h, 00h 450F:00C6 23 01 00 21 26 00 db 23h, 01h, 00h, 21h, 26h, 00h 450F:00CC 23 01 00 21 56 00 db 23h, 01h, 00h, 21h, 56h, 00h 450F:00D2 23 01 00 21 58 00 db 23h, 01h, 00h, 21h, 58h, 00h 450F:00D8 23 01 00 21 6E 00 db 23h, 01h, 00h, 21h, 6Eh, 00h 450F:00DE 23 02 00 21 32 00 db 23h, 02h, 00h, 21h, 32h, 00h 450F:00E4 23 2A 00 21 70 00 db 23h, 2Ah, 00h, 21h, 70h, 00h 450F:00EA 23 E8 03 23 10 27 db 23h,0E8h, 03h, 23h, 10h, 27h 450F:00F0 27 0A 00 1F 0A 00 db 27h, 0Ah, 00h, 1Fh, 0Ah, 00h 450F:00F6 23 01 00 0A 2B 1E db 23h, 01h, 00h, 0Ah, 2Bh, 1Eh 450F:00FC 00 23 61 01 23 10 db 00h, 23h, 61h, 01h, 23h, 10h 450F:0102 27 27 0B 00 23 60 db 27h, 27h, 0Bh, 00h, 23h, 60h 450F:0108 01 23 10 27 27 0C db 01h, 23h, 10h, 27h, 27h, 0Ch 450F:010E 00 23 02 00 21 24 db 00h, 23h, 02h, 00h, 21h, 24h 450F:0114 00 23 01 00 21 8E db 00h, 23h, 01h, 00h, 21h, 8Eh 450F:011A 00 23 00 00 27 0D db 00h, 23h, 00h, 00h, 27h, 0Dh 450F:0120 00 28 23 EB 03 27 db 00h, 28h, 23h,0EBh, 03h, 27h 450F:0126 00 00 23 EC 03 27 db 00h, 00h, 23h,0ECh, 03h, 27h 450F:012C 00 00 23 ED 03 27 db 00h, 00h, 23h,0EDh, 03h, 27h 450F:0132 00 00 23 EE 03 27 db 00h, 00h, 23h,0EEh, 03h, 27h 450F:0138 00 00 23 EF 03 27 db 00h, 00h, 23h,0EFh, 03h, 27h 450F:013E 00 00 23 F0 03 27 db 00h, 00h, 23h,0F0h, 03h, 27h 450F:0144 00 00 23 F1 03 27 db 00h, 00h, 23h,0F1h, 03h, 27h 450F:014A 00 00 23 36 04 27 db 00h, 00h, 23h, 36h, 04h, 27h 450F:0150 00 00 23 15 27 27 db 00h, 00h, 23h, 15h, 27h, 27h 450F:0156 00 00 23 16 27 27 db 00h, 00h, 23h, 16h, 27h, 27h 450F:015C 00 00 23 17 27 27 db 00h, 00h, 23h, 17h, 27h, 27h 450F:0162 00 00 23 18 27 27 db 00h, 00h, 23h, 18h, 27h, 27h 450F:0168 00 00 23 19 27 27 db 00h, 00h, 23h, 19h, 27h, 27h 450F:016E 00 00 23 1A 27 27 db 00h, 00h, 23h, 1Ah, 27h, 27h 450F:0174 00 00 23 20 04 27 db 00h, 00h, 23h, 20h, 04h, 27h 450F:017A 00 00 23 29 04 27 db 00h, 00h, 23h, 29h, 04h, 27h 450F:0180 00 00 23 1E 27 27 db 00h, 00h, 23h, 1Eh, 27h, 27h 450F:0186 00 00 23 1F 27 27 db 00h, 00h, 23h, 1Fh, 27h, 27h 450F:018C 00 00 23 20 27 27 db 00h, 00h, 23h, 20h, 27h, 27h 450F:0192 00 00 23 21 27 27 db 00h, 00h, 23h, 21h, 27h, 27h 450F:0198 00 00 23 22 27 27 db 00h, 00h, 23h, 22h, 27h, 27h 450F:019E 00 00 23 25 27 27 db 00h, 00h, 23h, 25h, 27h, 27h 450F:01A4 00 00 23 26 27 27 db 00h, 00h, 23h, 26h, 27h, 27h 450F:01AA 00 00 28 27 0E 00 db 00h, 00h, 28h, 27h, 0Eh, 00h 450F:01B0 28 1F 8A 00 23 00 db 28h, 1Fh, 8Ah, 00h, 23h, 00h 450F:01B6 00 0A 2B 1B 00 23 db 00h, 0Ah, 2Bh, 1Bh, 00h, 23h 450F:01BC 03 00 27 05 00 27 db 03h, 00h, 27h, 05h, 00h, 27h 450F:01C2 0F 00 23 01 00 21 db 0Fh, 00h, 23h, 01h, 00h, 21h 450F:01C8 8A 00 23 01 00 23 db 8Ah, 00h, 23h, 01h, 00h, 23h 450F:01CE 01 00 23 D7 01 27 db 01h, 00h, 23h,0D7h, 01h, 27h 450F:01D4 08 00 28 23 9C 0C db 08h, 00h, 28h, 23h, 9Ch, 0Ch 450F:01DA 27 10 00 28 1F 8C db 27h, 10h, 00h, 28h, 1Fh, 8Ch 450F:01E0 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:01E6 15 00 27 11 00 23 db 15h, 00h, 27h, 11h, 00h, 23h 450F:01EC 01 00 21 8C 00 23 db 01h, 00h, 21h, 8Ch, 00h, 23h 450F:01F2 01 00 23 01 00 23 db 01h, 00h, 23h, 01h, 00h, 23h 450F:01F8 FE 01 27 08 00 28 db 0FEh, 01h, 27h, 08h, 00h, 28h 450F:01FE 23 16 10 27 10 00 db 23h, 16h, 10h, 27h, 10h, 00h 450F:0204 28 25 22 01 23 E9 db 28h, 25h, 22h, 01h, 23h,0E9h 450F:020A 03 27 00 00 1F 4A db 03h, 27h, 00h, 00h, 1Fh, 4Ah 450F:0210 00 23 01 00 0A 2B db 00h, 23h, 01h, 00h, 0Ah, 2Bh 450F:0216 06 00 23 02 00 21 db 06h, 00h, 23h, 02h, 00h, 21h 450F:021C 4A 00 28 1F 02 00 db 4Ah, 00h, 28h, 1Fh, 02h, 00h 450F:0222 23 E8 03 0C 2B 09 db 23h,0E8h, 03h, 0Ch, 2Bh, 09h 450F:0228 00 23 2A 00 21 08 db 00h, 23h, 2Ah, 00h, 21h, 08h 450F:022E 00 2D 09 00 23 04 db 00h, 2Dh, 09h, 00h, 23h, 04h 450F:0234 00 21 0E 00 27 12 db 00h, 21h, 0Eh, 00h, 27h, 12h 450F:023A 00 28 1F 02 00 23 db 00h, 28h, 1Fh, 02h, 00h, 23h 450F:0240 E8 03 0C 2B 09 00 db 0E8h, 03h, 0Ch, 2Bh, 09h, 00h 450F:0246 23 2A 00 21 08 00 db 23h, 2Ah, 00h, 21h, 08h, 00h 450F:024C 2D 09 00 23 23 00 db 2Dh, 09h, 00h, 23h, 23h, 00h 450F:0252 21 0E 00 27 12 00 db 21h, 0Eh, 00h, 27h, 12h, 00h 450F:0258 28 1F 12 00 23 01 db 28h, 1Fh, 12h, 00h, 23h, 01h 450F:025E 00 0A 2B 22 00 1F db 00h, 0Ah, 2Bh, 22h, 00h, 1Fh 450F:0264 02 00 23 E9 03 0C db 02h, 00h, 23h,0E9h, 03h, 0Ch 450F:026A 2B 09 00 23 06 00 db 2Bh, 09h, 00h, 23h, 06h, 00h 450F:0270 21 08 00 2D 0F 00 db 21h, 08h, 00h, 2Dh, 0Fh, 00h 450F:0276 23 73 01 23 E9 03 db 23h, 73h, 01h, 23h,0E9h, 03h 450F:027C 27 13 00 23 01 00 db 27h, 13h, 00h, 23h, 01h, 00h 450F:0282 21 08 00 28 1F 02 db 21h, 08h, 00h, 28h, 1Fh, 02h 450F:0288 00 23 EA 03 0A 2B db 00h, 23h,0EAh, 03h, 0Ah, 2Bh 450F:028E 06 00 23 00 00 21 db 06h, 00h, 23h, 00h, 00h, 21h 450F:0294 12 00 1F 12 00 23 db 12h, 00h, 1Fh, 12h, 00h, 23h 450F:029A 01 00 0A 2B 09 00 db 01h, 00h, 0Ah, 2Bh, 09h, 00h 450F:02A0 23 06 00 21 08 00 db 23h, 06h, 00h, 21h, 08h, 00h 450F:02A6 2D 0D 00 1F 02 00 db 2Dh, 0Dh, 00h, 1Fh, 02h, 00h 450F:02AC 23 E8 03 0A 2B 03 db 23h,0E8h, 03h, 0Ah, 2Bh, 03h 450F:02B2 00 27 14 00 28 1F db 00h, 27h, 14h, 00h, 28h, 1Fh 450F:02B8 02 00 23 EA 03 0A db 02h, 00h, 23h,0EAh, 03h, 0Ah 450F:02BE 2B 06 00 23 01 00 db 2Bh, 06h, 00h, 23h, 01h, 00h 450F:02C4 21 12 00 23 15 00 db 21h, 12h, 00h, 23h, 15h, 00h 450F:02CA 27 15 00 28 23 11 db 27h, 15h, 00h, 28h, 23h, 11h 450F:02D0 27 27 16 00 1F 0A db 27h, 27h, 16h, 00h, 1Fh, 0Ah 450F:02D6 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:02DC 09 00 23 88 00 27 db 09h, 00h, 23h, 88h, 00h, 27h 450F:02E2 10 00 2D 10 00 1F db 10h, 00h, 2Dh, 10h, 00h, 1Fh 450F:02E8 02 00 23 E8 03 0A db 02h, 00h, 23h,0E8h, 03h, 0Ah 450F:02EE 2B 06 00 23 87 00 db 2Bh, 06h, 00h, 23h, 87h, 00h 450F:02F4 27 10 00 28 23 11 db 27h, 10h, 00h, 28h, 23h, 11h 450F:02FA 27 27 16 00 1F 0A db 27h, 27h, 16h, 00h, 1Fh, 0Ah 450F:0300 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:0306 13 00 1F 02 00 23 db 13h, 00h, 1Fh, 02h, 00h, 23h 450F:030C E8 03 0A 2B 06 00 db 0E8h, 03h, 0Ah, 2Bh, 06h, 00h 450F:0312 23 88 00 27 10 00 db 23h, 88h, 00h, 27h, 10h, 00h 450F:0318 2D 09 00 25 8B 03 db 2Dh, 09h, 00h, 25h, 8Bh, 03h 450F:031E 23 01 00 21 12 00 db 23h, 01h, 00h, 21h, 12h, 00h 450F:0324 28 23 11 27 27 16 db 28h, 23h, 11h, 27h, 27h, 16h 450F:032A 00 1F 0A 00 23 00 db 00h, 1Fh, 0Ah, 00h, 23h, 00h 450F:0330 00 0A 2B 13 00 1F db 00h, 0Ah, 2Bh, 13h, 00h, 1Fh 450F:0336 02 00 23 E8 03 0A db 02h, 00h, 23h,0E8h, 03h, 0Ah 450F:033C 2B 06 00 23 88 00 db 2Bh, 06h, 00h, 23h, 88h, 00h 450F:0342 27 10 00 2D 42 00 db 27h, 10h, 00h, 2Dh, 42h, 00h 450F:0348 1F 02 00 23 E8 03 db 1Fh, 02h, 00h, 23h,0E8h, 03h 450F:034E 0A 2B 22 00 1F 12 db 0Ah, 2Bh, 22h, 00h, 1Fh, 12h 450F:0354 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:035A 09 00 23 6A 01 27 db 09h, 00h, 23h, 6Ah, 01h, 27h 450F:0360 10 00 2D 0C 00 23 db 10h, 00h, 2Dh, 0Ch, 00h, 23h 450F:0366 19 00 27 0D 00 23 db 19h, 00h, 27h, 0Dh, 00h, 23h 450F:036C 69 01 27 10 00 2D db 69h, 01h, 27h, 10h, 00h, 2Dh 450F:0372 10 00 1F 12 00 23 db 10h, 00h, 1Fh, 12h, 00h, 23h 450F:0378 01 00 0A 2B 06 00 db 01h, 00h, 0Ah, 2Bh, 06h, 00h 450F:037E 23 19 00 27 0D 00 db 23h, 19h, 00h, 27h, 0Dh, 00h 450F:0384 23 00 00 21 12 00 db 23h, 00h, 00h, 21h, 12h, 00h 450F:038A 28 1F 02 00 23 E8 db 28h, 1Fh, 02h, 00h, 23h,0E8h 450F:0390 03 0A 2B 4E 00 27 db 03h, 0Ah, 2Bh, 4Eh, 00h, 27h 450F:0396 17 00 1F 0A 00 23 db 17h, 00h, 1Fh, 0Ah, 00h, 23h 450F:039C 00 00 0A 2B 22 00 db 00h, 00h, 0Ah, 2Bh, 22h, 00h 450F:03A2 1F 12 00 23 00 00 db 1Fh, 12h, 00h, 23h, 00h, 00h 450F:03A8 0A 2B 0F 00 23 19 db 0Ah, 2Bh, 0Fh, 00h, 23h, 19h 450F:03AE 00 27 0D 00 23 D2 db 00h, 27h, 0Dh, 00h, 23h,0D2h 450F:03B4 00 27 10 00 2D 06 db 00h, 27h, 10h, 00h, 2Dh, 06h 450F:03BA 00 23 68 01 27 10 db 00h, 23h, 68h, 01h, 27h, 10h 450F:03C0 00 2D 1F 00 1F 12 db 00h, 2Dh, 1Fh, 00h, 1Fh, 12h 450F:03C6 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:03CC 0F 00 23 19 00 27 db 0Fh, 00h, 23h, 19h, 00h, 27h 450F:03D2 0D 00 23 43 01 27 db 0Dh, 00h, 23h, 43h, 01h, 27h 450F:03D8 10 00 2D 06 00 23 db 10h, 00h, 2Dh, 06h, 00h, 23h 450F:03DE 68 01 27 10 00 28 db 68h, 01h, 27h, 10h, 00h, 28h 450F:03E4 1F 14 00 23 00 00 db 1Fh, 14h, 00h, 23h, 00h, 00h 450F:03EA 0A 2B 24 00 23 0F db 0Ah, 2Bh, 24h, 00h, 23h, 0Fh 450F:03F0 04 27 06 00 23 38 db 04h, 27h, 06h, 00h, 23h, 38h 450F:03F6 75 27 06 00 23 0E db 75h, 27h, 06h, 00h, 23h, 0Eh 450F:03FC 04 27 00 00 23 01 db 04h, 27h, 00h, 00h, 23h, 01h 450F:0402 00 21 14 00 23 A8 db 00h, 21h, 14h, 00h, 23h,0A8h 450F:0408 00 27 10 00 23 01 db 00h, 27h, 10h, 00h, 23h, 01h 450F:040E 00 21 08 00 28 1F db 00h, 21h, 08h, 00h, 28h, 1Fh 450F:0414 02 00 23 E8 03 0A db 02h, 00h, 23h,0E8h, 03h, 0Ah 450F:041A 2B 09 00 23 01 10 db 2Bh, 09h, 00h, 23h, 01h, 10h 450F:0420 27 10 00 2D 09 00 db 27h, 10h, 00h, 2Dh, 09h, 00h 450F:0426 23 1B 10 1F 02 00 db 23h, 1Bh, 10h, 1Fh, 02h, 00h 450F:042C 27 13 00 28 1F 02 db 27h, 13h, 00h, 28h, 1Fh, 02h 450F:0432 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:0438 0F 00 23 F7 0F 27 db 0Fh, 00h, 23h,0F7h, 0Fh, 27h 450F:043E 10 00 23 01 00 21 db 10h, 00h, 23h, 01h, 00h, 21h 450F:0444 08 00 2D 06 00 23 db 08h, 00h, 2Dh, 06h, 00h, 23h 450F:044A 11 00 21 08 00 28 db 11h, 00h, 21h, 08h, 00h, 28h 450F:0450 23 11 00 21 08 00 db 23h, 11h, 00h, 21h, 08h, 00h 450F:0456 1F 04 00 23 36 27 db 1Fh, 04h, 00h, 23h, 36h, 27h 450F:045C 0A 2B 3D 00 1F 02 db 0Ah, 2Bh, 3Dh, 00h, 1Fh, 02h 450F:0462 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:0468 06 00 23 E5 0F 27 db 06h, 00h, 23h,0E5h, 0Fh, 27h 450F:046E 10 00 23 4D 75 27 db 10h, 00h, 23h, 4Dh, 75h, 27h 450F:0474 06 00 23 E4 0F 23 db 06h, 00h, 23h,0E4h, 0Fh, 23h 450F:047A 4E 75 27 0B 00 23 db 4Eh, 75h, 27h, 0Bh, 00h, 23h 450F:0480 39 04 27 00 00 23 db 39h, 04h, 27h, 00h, 00h, 23h 450F:0486 01 00 21 7E 00 23 db 01h, 00h, 21h, 7Eh, 00h, 23h 450F:048C 00 00 21 08 00 23 db 00h, 00h, 21h, 08h, 00h, 23h 450F:0492 00 00 23 5F 00 23 db 00h, 00h, 23h, 5Fh, 00h, 23h 450F:0498 9E 04 27 08 00 28 db 9Eh, 04h, 27h, 08h, 00h, 28h 450F:049E 1F 80 00 23 01 00 db 1Fh, 80h, 00h, 23h, 01h, 00h 450F:04A4 0A 2B 0C 00 23 04 db 0Ah, 2Bh, 0Ch, 00h, 23h, 04h 450F:04AA 00 23 38 04 27 01 db 00h, 23h, 38h, 04h, 27h, 01h 450F:04B0 00 2D 09 00 23 05 db 00h, 2Dh, 09h, 00h, 23h, 05h 450F:04B6 00 23 39 04 27 01 db 00h, 23h, 39h, 04h, 27h, 01h 450F:04BC 00 23 02 00 21 7E db 00h, 23h, 02h, 00h, 21h, 7Eh 450F:04C2 00 23 FB 0F 23 4E db 00h, 23h,0FBh, 0Fh, 23h, 4Eh 450F:04C8 75 27 0B 00 23 2D db 75h, 27h, 0Bh, 00h, 23h, 2Dh 450F:04CE 00 27 15 00 28 1F db 00h, 27h, 15h, 00h, 28h, 1Fh 450F:04D4 9C 00 23 00 00 0A db 9Ch, 00h, 23h, 00h, 00h, 0Ah 450F:04DA 2B 0C 00 23 01 00 db 2Bh, 0Ch, 00h, 23h, 01h, 00h 450F:04E0 23 3C 00 23 EA 04 db 23h, 3Ch, 00h, 23h,0EAh, 04h 450F:04E6 27 08 00 28 23 0E db 27h, 08h, 00h, 28h, 23h, 0Eh 450F:04EC 00 23 53 04 27 01 db 00h, 23h, 53h, 04h, 27h, 01h 450F:04F2 00 23 01 00 21 9C db 00h, 23h, 01h, 00h, 21h, 9Ch 450F:04F8 00 28 23 D6 00 23 db 00h, 28h, 23h,0D6h, 00h, 23h 450F:04FE E8 03 27 13 00 28 db 0E8h, 03h, 27h, 13h, 00h, 28h 450F:0504 1F 02 00 23 E8 03 db 1Fh, 02h, 00h, 23h,0E8h, 03h 450F:050A 0A 2B 0F 00 23 A9 db 0Ah, 2Bh, 0Fh, 00h, 23h,0A9h 450F:0510 00 27 10 00 23 01 db 00h, 27h, 10h, 00h, 23h, 01h 450F:0516 00 21 08 00 2D 03 db 00h, 21h, 08h, 00h, 2Dh, 03h 450F:051C 00 27 18 00 28 25 db 00h, 27h, 18h, 00h, 28h, 25h 450F:0522 1F 02 1F 0E 00 23 db 1Fh, 02h, 1Fh, 0Eh, 00h, 23h 450F:0528 00 00 0C 2B 06 00 db 00h, 00h, 0Ch, 2Bh, 06h, 00h 450F:052E 23 01 00 21 0E 00 db 23h, 01h, 00h, 21h, 0Eh, 00h 450F:0534 1F 02 00 23 E9 03 db 1Fh, 02h, 00h, 23h,0E9h, 03h 450F:053A 0A 2B 16 00 27 17 db 0Ah, 2Bh, 16h, 00h, 27h, 17h 450F:0540 00 1F 0A 00 23 00 db 00h, 1Fh, 0Ah, 00h, 23h, 00h 450F:0546 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:054C 9D 00 23 E9 03 27 db 9Dh, 00h, 23h,0E9h, 03h, 27h 450F:0552 13 00 28 1F 02 00 db 13h, 00h, 28h, 1Fh, 02h, 00h 450F:0558 23 E9 03 0A 2B 18 db 23h,0E9h, 03h, 0Ah, 2Bh, 18h 450F:055E 00 23 08 00 23 F3 db 00h, 23h, 08h, 00h, 23h,0F3h 450F:0564 00 23 0C 01 27 19 db 00h, 23h, 0Ch, 01h, 27h, 19h 450F:056A 00 27 1A 00 23 14 db 00h, 27h, 1Ah, 00h, 23h, 14h 450F:0570 27 27 06 00 2D 18 db 27h, 27h, 06h, 00h, 2Dh, 18h 450F:0576 00 23 00 00 27 05 db 00h, 23h, 00h, 00h, 27h, 05h 450F:057C 00 23 07 00 23 80 db 00h, 23h, 07h, 00h, 23h, 80h 450F:0582 00 23 88 00 27 19 db 00h, 23h, 88h, 00h, 27h, 19h 450F:0588 00 23 01 00 21 98 db 00h, 23h, 01h, 00h, 21h, 98h 450F:058E 00 28 1F 84 00 23 db 00h, 28h, 1Fh, 84h, 00h, 23h 450F:0594 00 00 0A 2B 17 00 db 00h, 00h, 0Ah, 2Bh, 17h, 00h 450F:059A 23 2F 00 23 00 20 db 23h, 2Fh, 00h, 23h, 00h, 20h 450F:05A0 02 23 9A 01 23 40 db 02h, 23h, 9Ah, 01h, 23h, 40h 450F:05A6 01 23 08 00 04 27 db 01h, 23h, 08h, 00h, 04h, 27h 450F:05AC 19 00 2D 14 00 23 db 19h, 00h, 2Dh, 14h, 00h, 23h 450F:05B2 31 00 23 00 20 02 db 31h, 00h, 23h, 00h, 20h, 02h 450F:05B8 23 9A 01 23 40 01 db 23h, 9Ah, 01h, 23h, 40h, 01h 450F:05BE 23 08 00 04 27 19 db 23h, 08h, 00h, 04h, 27h, 19h 450F:05C4 00 28 1F 02 00 23 db 00h, 28h, 1Fh, 02h, 00h, 23h 450F:05CA E8 03 0A 1F 1C 00 db 0E8h, 03h, 0Ah, 1Fh, 1Ch, 00h 450F:05D0 23 00 00 0A 1A 2B db 23h, 00h, 00h, 0Ah, 1Ah, 2Bh 450F:05D6 19 00 1F 20 00 23 db 19h, 00h, 1Fh, 20h, 00h, 23h 450F:05DC 00 00 0A 2B 0F 00 db 00h, 00h, 0Ah, 2Bh, 0Fh, 00h 450F:05E2 23 01 00 21 20 00 db 23h, 01h, 00h, 21h, 20h, 00h 450F:05E8 23 98 00 23 11 04 db 23h, 98h, 00h, 23h, 11h, 04h 450F:05EE 27 13 00 28 1F 02 db 27h, 13h, 00h, 28h, 1Fh, 02h 450F:05F4 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:05FA 53 00 1F 84 00 23 db 53h, 00h, 1Fh, 84h, 00h, 23h 450F:0600 00 00 0A 2B 40 00 db 00h, 00h, 0Ah, 2Bh, 40h, 00h 450F:0606 1F 82 00 23 01 00 db 1Fh, 82h, 00h, 23h, 01h, 00h 450F:060C 0A 2B 2D 00 23 06 db 0Ah, 2Bh, 2Dh, 00h, 23h, 06h 450F:0612 00 23 E8 03 27 1B db 00h, 23h,0E8h, 03h, 27h, 1Bh 450F:0618 00 23 07 00 23 3A db 00h, 23h, 07h, 00h, 23h, 3Ah 450F:061E 04 27 01 00 23 07 db 04h, 27h, 01h, 00h, 23h, 07h 450F:0624 00 23 3B 04 27 01 db 00h, 23h, 3Bh, 04h, 27h, 01h 450F:062A 00 23 07 00 23 3C db 00h, 23h, 07h, 00h, 23h, 3Ch 450F:0630 04 27 01 00 23 01 db 04h, 27h, 01h, 00h, 23h, 01h 450F:0636 00 21 84 00 2D 06 db 00h, 21h, 84h, 00h, 2Dh, 06h 450F:063C 00 23 EC 0F 27 10 db 00h, 23h,0ECh, 0Fh, 27h, 10h 450F:0642 00 2D 06 00 23 EC db 00h, 2Dh, 06h, 00h, 23h,0ECh 450F:0648 0F 27 10 00 2D 09 db 0Fh, 27h, 10h, 00h, 2Dh, 09h 450F:064E 00 23 EE 0F 1F 02 db 00h, 23h,0EEh, 0Fh, 1Fh, 02h 450F:0654 00 27 13 00 28 23 db 00h, 27h, 13h, 00h, 28h, 23h 450F:065A 11 00 21 08 00 1F db 11h, 00h, 21h, 08h, 00h, 1Fh 450F:0660 04 00 23 35 27 0A db 04h, 00h, 23h, 35h, 27h, 0Ah 450F:0666 2B 25 00 23 01 00 db 2Bh, 25h, 00h, 23h, 01h, 00h 450F:066C 21 9A 00 23 00 00 db 21h, 9Ah, 00h, 23h, 00h, 00h 450F:0672 21 08 00 23 35 27 db 21h, 08h, 00h, 23h, 35h, 27h 450F:0678 27 06 00 1F 02 00 db 27h, 06h, 00h, 1Fh, 02h, 00h 450F:067E 23 E8 03 0A 2B 09 db 23h,0E8h, 03h, 0Ah, 2Bh, 09h 450F:0684 00 23 11 10 27 10 db 00h, 23h, 11h, 10h, 27h, 10h 450F:068A 00 27 1C 00 28 1F db 00h, 27h, 1Ch, 00h, 28h, 1Fh 450F:0690 9A 00 23 01 00 0A db 9Ah, 00h, 23h, 01h, 00h, 0Ah 450F:0696 2B 3D 00 1F 02 00 db 2Bh, 3Dh, 00h, 1Fh, 02h, 00h 450F:069C 23 E8 03 0A 2B 0C db 23h,0E8h, 03h, 0Ah, 2Bh, 0Ch 450F:06A2 00 23 08 00 23 E8 db 00h, 23h, 08h, 00h, 23h,0E8h 450F:06A8 03 27 1B 00 2D 09 db 03h, 27h, 1Bh, 00h, 2Dh, 09h 450F:06AE 00 23 09 00 1F 02 db 00h, 23h, 09h, 00h, 1Fh, 02h 450F:06B4 00 27 1B 00 23 0A db 00h, 27h, 1Bh, 00h, 23h, 0Ah 450F:06BA 00 23 3D 04 27 01 db 00h, 23h, 3Dh, 04h, 27h, 01h 450F:06C0 00 23 01 00 21 82 db 00h, 23h, 01h, 00h, 21h, 82h 450F:06C6 00 23 00 00 23 05 db 00h, 23h, 00h, 00h, 23h, 05h 450F:06CC 00 23 F6 06 27 08 db 00h, 23h,0F6h, 06h, 27h, 08h 450F:06D2 00 2D 1F 00 1F 02 db 00h, 2Dh, 1Fh, 00h, 1Fh, 02h 450F:06D8 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:06DE 09 00 23 0F 10 27 db 09h, 00h, 23h, 0Fh, 10h, 27h 450F:06E4 10 00 2D 0C 00 23 db 10h, 00h, 2Dh, 0Ch, 00h, 23h 450F:06EA 10 10 23 E8 03 23 db 10h, 10h, 23h,0E8h, 03h, 23h 450F:06F0 F2 03 27 1D 00 28 db 0F2h, 03h, 27h, 1Dh, 00h, 28h 450F:06F6 23 00 00 21 82 00 db 23h, 00h, 00h, 21h, 82h, 00h 450F:06FC 28 23 01 00 21 20 db 28h, 23h, 01h, 00h, 21h, 20h 450F:0702 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:0708 00 28 23 01 00 21 db 00h, 28h, 23h, 01h, 00h, 21h 450F:070E 20 00 1F 1C 00 23 db 20h, 00h, 1Fh, 1Ch, 00h, 23h 450F:0714 00 00 0C 2B 09 00 db 00h, 00h, 0Ch, 2Bh, 09h, 00h 450F:071A 23 11 00 21 08 00 db 23h, 11h, 00h, 21h, 08h, 00h 450F:0720 2D 89 00 23 01 00 db 2Dh, 89h, 00h, 23h, 01h, 00h 450F:0726 23 11 04 27 1E 00 db 23h, 11h, 04h, 27h, 1Eh, 00h 450F:072C 1F 02 00 23 EA 03 db 1Fh, 02h, 00h, 23h,0EAh, 03h 450F:0732 0A 2B 24 00 23 00 db 0Ah, 2Bh, 24h, 00h, 23h, 00h 450F:0738 00 23 EA 03 27 1B db 00h, 23h,0EAh, 03h, 27h, 1Bh 450F:073E 00 23 97 00 23 11 db 00h, 23h, 97h, 00h, 23h, 11h 450F:0744 04 23 EA 03 27 1F db 04h, 23h,0EAh, 03h, 27h, 1Fh 450F:074A 00 23 96 00 23 EA db 00h, 23h, 96h, 00h, 23h,0EAh 450F:0750 03 23 11 04 27 1D db 03h, 23h, 11h, 04h, 27h, 1Dh 450F:0756 00 2D 52 00 23 14 db 00h, 2Dh, 52h, 00h, 23h, 14h 450F:075C 00 23 E8 03 27 1B db 00h, 23h,0E8h, 03h, 27h, 1Bh 450F:0762 00 1F 78 00 23 00 db 00h, 1Fh, 78h, 00h, 23h, 00h 450F:0768 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:076E ED 0A 23 11 04 27 db 0EDh, 0Ah, 23h, 11h, 04h, 27h 450F:0774 13 00 1F 78 00 23 db 13h, 00h, 1Fh, 78h, 00h, 23h 450F:077A 01 00 0A 2B 09 00 db 01h, 00h, 0Ah, 2Bh, 09h, 00h 450F:0780 23 EE 0A 23 11 04 db 23h,0EEh, 0Ah, 23h, 11h, 04h 450F:0786 27 13 00 1F 78 00 db 27h, 13h, 00h, 1Fh, 78h, 00h 450F:078C 23 01 00 02 21 78 db 23h, 01h, 00h, 02h, 21h, 78h 450F:0792 00 1F 78 00 23 02 db 00h, 1Fh, 78h, 00h, 23h, 02h 450F:0798 00 0A 2B 0F 00 23 db 00h, 0Ah, 2Bh, 0Fh, 00h, 23h 450F:079E 02 00 21 1C 00 23 db 02h, 00h, 21h, 1Ch, 00h, 23h 450F:07A4 F0 0A 23 11 04 27 db 0F0h, 0Ah, 23h, 11h, 04h, 27h 450F:07AA 0B 00 28 23 11 00 db 0Bh, 00h, 28h, 23h, 11h, 00h 450F:07B0 21 08 00 1F 04 00 db 21h, 08h, 00h, 1Fh, 04h, 00h 450F:07B6 23 13 27 0A 2B 3A db 23h, 13h, 27h, 0Ah, 2Bh, 3Ah 450F:07BC 00 23 00 00 21 08 db 00h, 23h, 00h, 00h, 21h, 08h 450F:07C2 00 23 35 75 27 06 db 00h, 23h, 35h, 75h, 27h, 06h 450F:07C8 00 1F 1C 00 23 00 db 00h, 1Fh, 1Ch, 00h, 23h, 00h 450F:07CE 00 0A 2B 1E 00 23 db 00h, 0Ah, 2Bh, 1Eh, 00h, 23h 450F:07D4 01 00 21 1C 00 23 db 01h, 00h, 21h, 1Ch, 00h, 23h 450F:07DA 1A 00 27 0D 00 23 db 1Ah, 00h, 27h, 0Dh, 00h, 23h 450F:07E0 03 00 23 11 04 27 db 03h, 00h, 23h, 11h, 04h, 27h 450F:07E6 1E 00 23 11 04 27 db 1Eh, 00h, 23h, 11h, 04h, 27h 450F:07EC 20 00 2D 06 00 23 db 20h, 00h, 2Dh, 06h, 00h, 23h 450F:07F2 6F 01 27 10 00 28 db 6Fh, 01h, 27h, 10h, 00h, 28h 450F:07F8 23 11 00 21 08 00 db 23h, 11h, 00h, 21h, 08h, 00h 450F:07FE 1F 04 00 23 10 27 db 1Fh, 04h, 00h, 23h, 10h, 27h 450F:0804 0A 2B 3B 00 1F 24 db 0Ah, 2Bh, 3Bh, 00h, 1Fh, 24h 450F:080A 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:0810 2B 00 23 01 00 21 db 2Bh, 00h, 23h, 01h, 00h, 21h 450F:0816 24 00 23 00 00 21 db 24h, 00h, 23h, 00h, 00h, 21h 450F:081C 08 00 23 04 00 27 db 08h, 00h, 23h, 04h, 00h, 27h 450F:0822 0D 00 1F 02 00 23 db 0Dh, 00h, 1Fh, 02h, 00h, 23h 450F:0828 E8 03 0A 2B 0C 00 db 0E8h, 03h, 0Ah, 2Bh, 0Ch, 00h 450F:082E 23 ED 00 27 10 00 db 23h,0EDh, 00h, 27h, 10h, 00h 450F:0834 23 04 00 27 15 00 db 23h, 04h, 00h, 27h, 15h, 00h 450F:083A 2D 06 00 23 1C 00 db 2Dh, 06h, 00h, 23h, 1Ch, 00h 450F:0840 21 08 00 28 23 11 db 21h, 08h, 00h, 28h, 23h, 11h 450F:0846 00 21 08 00 1F 04 db 00h, 21h, 08h, 00h, 1Fh, 04h 450F:084C 00 23 13 27 0A 2B db 00h, 23h, 13h, 27h, 0Ah, 2Bh 450F:0852 2F 00 1F 28 00 23 db 2Fh, 00h, 1Fh, 28h, 00h, 23h 450F:0858 00 00 0A 2B 25 00 db 00h, 00h, 0Ah, 2Bh, 25h, 00h 450F:085E 23 01 00 21 28 00 db 23h, 01h, 00h, 21h, 28h, 00h 450F:0864 23 00 00 21 08 00 db 23h, 00h, 00h, 21h, 08h, 00h 450F:086A 27 21 00 23 1A 00 db 27h, 21h, 00h, 23h, 1Ah, 00h 450F:0870 27 0D 00 1F 02 00 db 27h, 0Dh, 00h, 1Fh, 02h, 00h 450F:0876 23 E8 03 0A 2B 06 db 23h,0E8h, 03h, 0Ah, 2Bh, 06h 450F:087C 00 23 F0 00 27 10 db 00h, 23h,0F0h, 00h, 27h, 10h 450F:0882 00 28 23 01 00 21 db 00h, 28h, 23h, 01h, 00h, 21h 450F:0888 08 00 1F 28 00 23 db 08h, 00h, 1Fh, 28h, 00h, 23h 450F:088E 00 00 0A 2B 06 00 db 00h, 00h, 0Ah, 2Bh, 06h, 00h 450F:0894 23 00 00 21 08 00 db 23h, 00h, 00h, 21h, 08h, 00h 450F:089A 1F 28 00 23 02 00 db 1Fh, 28h, 00h, 23h, 02h, 00h 450F:08A0 0A 2B 06 00 23 D8 db 0Ah, 2Bh, 06h, 00h, 23h,0D8h 450F:08A6 00 27 10 00 1F 28 db 00h, 27h, 10h, 00h, 1Fh, 28h 450F:08AC 00 23 01 00 0A 2B db 00h, 23h, 01h, 00h, 0Ah, 2Bh 450F:08B2 15 00 23 0B 01 27 db 15h, 00h, 23h, 0Bh, 01h, 27h 450F:08B8 10 00 23 01 00 1F db 10h, 00h, 23h, 01h, 00h, 1Fh 450F:08BE 02 00 27 22 00 23 db 02h, 00h, 27h, 22h, 00h, 23h 450F:08C4 02 00 21 28 00 28 db 02h, 00h, 21h, 28h, 00h, 28h 450F:08CA 27 17 00 1F 0A 00 db 27h, 17h, 00h, 1Fh, 0Ah, 00h 450F:08D0 23 00 00 0C 2B 0C db 23h, 00h, 00h, 0Ch, 2Bh, 0Ch 450F:08D6 00 23 01 00 21 08 db 00h, 23h, 01h, 00h, 21h, 08h 450F:08DC 00 23 44 01 27 10 db 00h, 23h, 44h, 01h, 27h, 10h 450F:08E2 00 28 23 1E 00 21 db 00h, 28h, 23h, 1Eh, 00h, 21h 450F:08E8 08 00 1F 28 00 23 db 08h, 00h, 1Fh, 28h, 00h, 23h 450F:08EE 00 00 0C 2B 06 00 db 00h, 00h, 0Ch, 2Bh, 06h, 00h 450F:08F4 23 33 00 21 08 00 db 23h, 33h, 00h, 21h, 08h, 00h 450F:08FA 28 23 01 00 1F 02 db 28h, 23h, 01h, 00h, 1Fh, 02h 450F:0900 00 27 1B 00 28 1F db 00h, 27h, 1Bh, 00h, 28h, 1Fh 450F:0906 30 00 23 00 00 0A db 30h, 00h, 23h, 00h, 00h, 0Ah 450F:090C 2B 09 00 23 06 00 db 2Bh, 09h, 00h, 23h, 06h, 00h 450F:0912 21 08 00 2D 06 00 db 21h, 08h, 00h, 2Dh, 06h, 00h 450F:0918 23 3C 75 27 20 00 db 23h, 3Ch, 75h, 27h, 20h, 00h 450F:091E 28 23 3C 75 27 23 db 28h, 23h, 3Ch, 75h, 27h, 23h 450F:0924 00 1F 02 00 23 F1 db 00h, 1Fh, 02h, 00h, 23h,0F1h 450F:092A 03 0A 2B 06 00 23 db 03h, 0Ah, 2Bh, 06h, 00h, 23h 450F:0930 00 00 21 30 00 28 db 00h, 00h, 21h, 30h, 00h, 28h 450F:0936 1F 02 00 23 E9 03 db 1Fh, 02h, 00h, 23h,0E9h, 03h 450F:093C 0A 2B 34 00 23 E9 db 0Ah, 2Bh, 34h, 00h, 23h,0E9h 450F:0942 03 db 03h 450F:0943 loc_2367: 450F:0943 23 1B and bx,[bp+di] 450F:0945 27 daa ; Decimal adjust 450F:0946 27 daa ; Decimal adjust 450F:0947 0A 00 or al,[bx+si] 450F:0949 1F pop ds 450F:094A 0A 00 or al,[bx+si] 450F:094C 23 01 and ax,[bx+di] 450F:094E 00 0A add [bp+si],cl 450F:0950 2B 12 sub dx,[bp+si] 450F:0952 00 23 add [bp+di],ah 450F:0954 01 00 add [bx+si],ax 450F:0956 21 30 and [bx+si],si 450F:0958 00 23 add [bp+di],ah 450F:095A 35 1F08 xor ax,1F08h 450F:095D 02 00 add al,[bx+si] 450F:095F 27 daa ; Decimal adjust 450F:0960 13 00 adc ax,[bx+si] 450F:0962 2D 000C sub ax,0Ch 450F:0965 23 00 and ax,[bx+si] 450F:0967 00 1F add [bx],bl 450F:0969 02 00 add al,[bx+si] 450F:096B 23 2A and bp,[bp+si] 450F:096D 00 27 add [bx],ah 450F:096F 24 00 and al,0 450F:0971 2D 000C sub ax,0Ch 450F:0974 23 00 and ax,[bx+si] 450F:0976 00 1F add [bx],bl 450F:0978 02 00 add al,[bx+si] 450F:097A 23 2A and bp,[bp+si] 450F:097C 00 27 add [bx],ah 450F:097E 24 00 and al,0 450F:0980 28 23 sub [bp+di],ah 450F:0982 11 00 adc [bx+si],ax 450F:0984 21 08 and [bx+si],cx 450F:0986 00 1F add [bx],bl 450F:0988 04 00 add al,0 450F:098A 23 1B and bx,[bp+di] 450F:098C 27 daa ; Decimal adjust 450F:098D 0A 2B or ch,[bp+di] 450F:098F 35 1F00 xor ax,1F00h 450F:0992 02 00 add al,[bx+si] 450F:0994 23 E9 and bp,cx 450F:0996 03 0A add cx,[bp+si] 450F:0998 2B 15 sub dx,[di] 450F:099A 00 23 add [bp+di],ah 450F:099C 01 00 add [bx+si],ax 450F:099E 21 30 and [bx+si],si 450F:09A0 00 23 add [bp+di],ah 450F:09A2 00 00 add [bx+si],al 450F:09A4 21 08 and [bx+si],cx 450F:09A6 00 23 add [bp+di],ah 450F:09A8 35 1F08 xor ax,1F08h 450F:09AB 02 00 add al,[bx+si] 450F:09AD 27 daa ; Decimal adjust 450F:09AE 13 00 adc ax,[bx+si] 450F:09B0 1F pop ds 450F:09B1 02 00 add al,[bx+si] 450F:09B3 23 E8 and bp,ax nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 625 450F:09B5 03 0A add cx,[bp+si] 450F:09B7 2B 0C sub cx,[si] 450F:09B9 00 23 add [bp+di],ah 450F:09BB 34 08 xor al,8 450F:09BD 27 daa ; Decimal adjust 450F:09BE 10 00 adc [bx+si],al 450F:09C0 23 00 and ax,[bx+si] 450F:09C2 00 21 add [bx+di],ah 450F:09C4 08 00 or [bx+si],al 450F:09C6 28 23 sub [bp+di],ah 450F:09C8 01 00 add [bx+si],ax 450F:09CA 21 08 and [bx+si],cx 450F:09CC 00 1F add [bx],bl 450F:09CE 32 00 xor al,[bx+si] 450F:09D0 23 01 and ax,[bx+di] 450F:09D2 00 0A add [bp+si],cl 450F:09D4 2B 09 sub cx,[bx+di] 450F:09D6 00 23 add [bp+di],ah 450F:09D8 87 01 xchg [bx+di],ax 450F:09DA 27 daa ; Decimal adjust 450F:09DB 10 00 adc [bx+si],al 450F:09DD 2D 003F sub ax,3Fh 450F:09E0 1F pop ds 450F:09E1 32 00 xor al,[bx+si] 450F:09E3 23 02 and ax,[bp+si] 450F:09E5 00 0A add [bp+si],cl 450F:09E7 2B 09 sub cx,[bx+di] 450F:09E9 00 23 add [bp+di],ah 450F:09EB 86 01 xchg [bx+di],al 450F:09ED 27 daa ; Decimal adjust 450F:09EE 10 00 adc [bx+si],al 450F:09F0 2D 002C sub ax,2Ch 450F:09F3 1F pop ds 450F:09F4 32 00 xor al,[bx+si] 450F:09F6 23 03 and ax,[bp+di] 450F:09F8 00 0A add [bp+si],cl 450F:09FA 2B 09 sub cx,[bx+di] 450F:09FC 00 23 add [bp+di],ah 450F:09FE 89 01 mov [bx+di],ax 450F:0A00 27 daa ; Decimal adjust 450F:0A01 10 00 adc [bx+si],al 450F:0A03 2D 0019 sub ax,19h 450F:0A06 1F pop ds 450F:0A07 32 00 xor al,[bx+si] 450F:0A09 23 04 and ax,[si] 450F:0A0B 00 0A add [bp+si],cl 450F:0A0D 2B 09 sub cx,[bx+di] 450F:0A0F 00 23 add [bp+di],ah 450F:0A11 88 01 mov [bx+di],al 450F:0A13 27 daa ; Decimal adjust 450F:0A14 10 00 adc [bx+si],al 450F:0A16 2D 0006 sub ax,6 450F:0A19 23 00 and ax,[bx+si] 450F:0A1B 00 21 add [bx+di],ah 450F:0A1D 08 00 or [bx+si],al 450F:0A1F 28 1F sub [bx],bl 450F:0A21 34 00 xor al,0 nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 626 450F:0A23 23 01 and ax,[bx+di] 450F:0A25 00 0A add [bp+si],cl 450F:0A27 2B 0C sub cx,[si] 450F:0A29 00 23 add [bp+di],ah 450F:0A2B 01 00 add [bx+si],ax 450F:0A2D 21 08 and [bx+si],cx 450F:0A2F 00 23 add [bp+di],ah 450F:0A31 50 push ax 450F:0A32 08 27 or [bx],ah 450F:0A34 10 00 adc [bx+si],al 450F:0A36 28 23 sub [bp+di],ah 450F:0A38 11 00 adc [bx+si],ax 450F:0A3A 21 08 and [bx+si],cx 450F:0A3C 00 1F add [bx],bl 450F:0A3E 34 00 xor al,0 450F:0A40 23 00 and ax,[bx+si] 450F:0A42 00 0A add [bp+si],cl 450F:0A44 2B 65 00 ;* sub sp,[di+0] 450F:0A44 2B 65 00 db 2Bh, 65h, 00h 450F:0A47 1F 04 00 23 1C 27 db 1Fh, 04h, 00h, 23h, 1Ch, 27h 450F:0A4D 0A 2B 5B 00 1F 02 db 0Ah, 2Bh, 5Bh, 00h, 1Fh, 02h 450F:0A53 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:0A59 2D 00 23 01 00 21 db 2Dh, 00h, 23h, 01h, 00h, 21h 450F:0A5F 34 00 23 00 00 21 db 34h, 00h, 23h, 00h, 00h, 21h 450F:0A65 08 00 23 51 08 27 db 08h, 00h, 23h, 51h, 08h, 27h 450F:0A6B 10 00 23 01 00 23 db 10h, 00h, 23h, 01h, 00h, 23h 450F:0A71 02 00 23 AD 0A 27 db 02h, 00h, 23h,0ADh, 0Ah, 27h 450F:0A77 08 00 27 25 00 23 db 08h, 00h, 27h, 25h, 00h, 23h 450F:0A7D 0C 00 23 23 04 27 db 0Ch, 00h, 23h, 23h, 04h, 27h 450F:0A83 01 00 2D 24 00 23 db 01h, 00h, 2Dh, 24h, 00h, 23h 450F:0A89 01 00 21 34 00 23 db 01h, 00h, 21h, 34h, 00h, 23h 450F:0A8F 01 00 23 02 00 23 db 01h, 00h, 23h, 02h, 00h, 23h 450F:0A95 AD 0A 27 08 00 27 db 0ADh, 0Ah, 27h, 08h, 00h, 27h 450F:0A9B 25 00 23 0C 00 23 db 25h, 00h, 23h, 0Ch, 00h, 23h 450F:0AA1 23 04 27 01 00 23 db 23h, 04h, 27h, 01h, 00h, 23h 450F:0AA7 00 00 21 08 00 28 db 00h, 00h, 21h, 08h, 00h, 28h 450F:0AAD 23 52 08 23 E9 03 db 23h, 52h, 08h, 23h,0E9h, 03h 450F:0AB3 27 13 00 28 23 11 db 27h, 13h, 00h, 28h, 23h, 11h 450F:0AB9 00 21 08 00 1F 04 db 00h, 21h, 08h, 00h, 1Fh, 04h 450F:0ABF 00 23 1D 27 0A 2B db 00h, 23h, 1Dh, 27h, 0Ah, 2Bh 450F:0AC5 3B 00 1F 32 00 23 db 3Bh, 00h, 1Fh, 32h, 00h, 23h 450F:0ACB 00 00 0A 2B 2B 00 db 00h, 00h, 0Ah, 2Bh, 2Bh, 00h 450F:0AD1 23 03 00 21 32 00 db 23h, 03h, 00h, 21h, 32h, 00h 450F:0AD7 23 00 00 21 08 00 db 23h, 00h, 00h, 21h, 08h, 00h 450F:0ADD 23 04 00 27 0D 00 db 23h, 04h, 00h, 27h, 0Dh, 00h 450F:0AE3 1F 02 00 23 E8 03 db 1Fh, 02h, 00h, 23h,0E8h, 03h 450F:0AE9 0A 2B 0C 00 23 AC db 0Ah, 2Bh, 0Ch, 00h, 23h,0ACh 450F:0AEF 0C 27 10 00 23 04 db 0Ch, 27h, 10h, 00h, 23h, 04h 450F:0AF5 00 27 15 00 2D 06 db 00h, 27h, 15h, 00h, 2Dh, 06h 450F:0AFB 00 23 1C 00 21 08 db 00h, 23h, 1Ch, 00h, 21h, 08h 450F:0B01 00 28 23 11 00 21 db 00h, 28h, 23h, 11h, 00h, 21h 450F:0B07 08 00 1F 04 00 23 db 08h, 00h, 1Fh, 04h, 00h, 23h 450F:0B0D 1D 27 0A 2B 3B 00 db 1Dh, 27h, 0Ah, 2Bh, 3Bh, 00h 450F:0B13 1F 32 00 23 00 00 db 1Fh, 32h, 00h, 23h, 00h, 00h 450F:0B19 0A 2B 2B 00 23 04 db 0Ah, 2Bh, 2Bh, 00h, 23h, 04h 450F:0B1F 00 21 32 00 23 00 db 00h, 21h, 32h, 00h, 23h, 00h 450F:0B25 00 21 08 00 23 04 db 00h, 21h, 08h, 00h, 23h, 04h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 627 450F:0B2B 00 27 0D 00 1F 02 db 00h, 27h, 0Dh, 00h, 1Fh, 02h 450F:0B31 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:0B37 0C 00 23 B0 0C 27 db 0Ch, 00h, 23h,0B0h, 0Ch, 27h 450F:0B3D 10 00 23 04 00 27 db 10h, 00h, 23h, 04h, 00h, 27h 450F:0B43 15 00 2D 06 00 23 db 15h, 00h, 2Dh, 06h, 00h, 23h 450F:0B49 1C 00 21 08 00 28 db 1Ch, 00h, 21h, 08h, 00h, 28h 450F:0B4F 23 11 00 21 08 00 db 23h, 11h, 00h, 21h, 08h, 00h 450F:0B55 1F 04 00 23 1D 27 db 1Fh, 04h, 00h, 23h, 1Dh, 27h 450F:0B5B 0A 2B 54 00 1F 36 db 0Ah, 2Bh, 54h, 00h, 1Fh, 36h 450F:0B61 00 23 01 00 0A 2B db 00h, 23h, 01h, 00h, 0Ah, 2Bh 450F:0B67 4A 00 1F 32 00 23 db 4Ah, 00h, 1Fh, 32h, 00h, 23h 450F:0B6D 00 00 0A 2B 3A 00 db 00h, 00h, 0Ah, 2Bh, 3Ah, 00h 450F:0B73 23 01 00 21 32 00 db 23h, 01h, 00h, 21h, 32h, 00h 450F:0B79 23 0B 00 23 23 04 db 23h, 0Bh, 00h, 23h, 23h, 04h 450F:0B7F 27 01 00 23 00 00 db 27h, 01h, 00h, 23h, 00h, 00h 450F:0B85 21 08 00 23 00 00 db 21h, 08h, 00h, 23h, 00h, 00h 450F:0B8B 21 36 00 23 04 00 db 21h, 36h, 00h, 23h, 04h, 00h 450F:0B91 27 0D 00 1F 02 00 db 27h, 0Dh, 00h, 1Fh, 02h, 00h 450F:0B97 23 E8 03 0A 2B 0C db 23h,0E8h, 03h, 0Ah, 2Bh, 0Ch 450F:0B9D 00 23 53 08 27 10 db 00h, 23h, 53h, 08h, 27h, 10h 450F:0BA3 00 23 04 00 27 15 db 00h, 23h, 04h, 00h, 27h, 15h 450F:0BA9 00 2D 06 00 23 1C db 00h, 2Dh, 06h, 00h, 23h, 1Ch 450F:0BAF 00 21 08 00 28 23 db 00h, 21h, 08h, 00h, 28h, 23h 450F:0BB5 18 00 21 08 00 1F db 18h, 00h, 21h, 08h, 00h, 1Fh 450F:0BBB 32 00 23 01 00 0A db 32h, 00h, 23h, 01h, 00h, 0Ah 450F:0BC1 2B 48 00 23 01 00 db 2Bh, 48h, 00h, 23h, 01h, 00h 450F:0BC7 21 08 00 1F 02 00 db 21h, 08h, 00h, 1Fh, 02h, 00h 450F:0BCD 23 E8 03 0A 2B 22 db 23h,0E8h, 03h, 0Ah, 2Bh, 22h 450F:0BD3 00 1F 38 00 23 00 db 00h, 1Fh, 38h, 00h, 23h, 00h 450F:0BD9 00 0A 2B 03 00 27 db 00h, 0Ah, 2Bh, 03h, 00h, 27h 450F:0BDF 26 00 23 02 00 21 db 26h, 00h, 23h, 02h, 00h, 21h 450F:0BE5 3A 00 23 00 00 21 db 3Ah, 00h, 23h, 00h, 00h, 21h 450F:0BEB 32 00 23 06 00 21 db 32h, 00h, 23h, 06h, 00h, 21h 450F:0BF1 26 00 2D 16 00 1F db 26h, 00h, 2Dh, 16h, 00h, 1Fh 450F:0BF7 02 00 23 E9 03 0A db 02h, 00h, 23h,0E9h, 03h, 0Ah 450F:0BFD 2B 0C 00 23 DB 08 db 2Bh, 0Ch, 00h, 23h,0DBh, 08h 450F:0C03 23 E8 03 23 E9 03 db 23h,0E8h, 03h, 23h,0E9h, 03h 450F:0C09 27 1D 00 1F 32 00 db 27h, 1Dh, 00h, 1Fh, 32h, 00h 450F:0C0F 23 02 00 0A 2B 25 db 23h, 02h, 00h, 0Ah, 2Bh, 25h 450F:0C15 00 23 01 00 21 08 db 00h, 23h, 01h, 00h, 21h, 08h 450F:0C1B 00 1F 02 00 23 E8 db 00h, 1Fh, 02h, 00h, 23h,0E8h 450F:0C21 03 0A 2B 12 00 23 db 03h, 0Ah, 2Bh, 12h, 00h, 23h 450F:0C27 54 0B 27 10 00 23 db 54h, 0Bh, 27h, 10h, 00h, 23h 450F:0C2D 55 0B 27 10 00 23 db 55h, 0Bh, 27h, 10h, 00h, 23h 450F:0C33 82 0C 27 10 00 2D db 82h, 0Ch, 27h, 10h, 00h, 2Dh 450F:0C39 7B 00 1F 32 00 23 db 7Bh, 00h, 1Fh, 32h, 00h, 23h 450F:0C3F 03 00 0A 2B 32 00 db 03h, 00h, 0Ah, 2Bh, 32h, 00h 450F:0C45 23 01 00 21 08 00 db 23h, 01h, 00h, 21h, 08h, 00h 450F:0C4B 1F 02 00 23 E8 03 db 1Fh, 02h, 00h, 23h,0E8h, 03h 450F:0C51 0A 2B 09 00 23 56 db 0Ah, 2Bh, 09h, 00h, 23h, 56h 450F:0C57 0B 27 10 00 2D 16 db 0Bh, 27h, 10h, 00h, 2Dh, 16h 450F:0C5D 00 1F 02 00 23 E9 db 00h, 1Fh, 02h, 00h, 23h,0E9h 450F:0C63 03 0A 2B 0C 00 23 db 03h, 0Ah, 2Bh, 0Ch, 00h, 23h 450F:0C69 AD 0C 23 E8 03 23 db 0ADh, 0Ch, 23h,0E8h, 03h, 23h 450F:0C6F E9 03 27 1D 00 2D db 0E9h, 03h, 27h, 1Dh, 00h, 2Dh 450F:0C75 3F 00 1F 32 00 23 db 3Fh, 00h, 1Fh, 32h, 00h, 23h 450F:0C7B 04 00 0A 2B 35 00 db 04h, 00h, 0Ah, 2Bh, 35h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 628 450F:0C81 23 01 00 21 08 00 db 23h, 01h, 00h, 21h, 08h, 00h 450F:0C87 23 00 00 21 32 00 db 23h, 00h, 00h, 21h, 32h, 00h 450F:0C8D 1F 02 00 23 E8 03 db 1Fh, 02h, 00h, 23h,0E8h, 03h 450F:0C93 0A 2B 09 00 23 AE db 0Ah, 2Bh, 09h, 00h, 23h,0AEh 450F:0C99 0C 27 10 00 2D 16 db 0Ch, 27h, 10h, 00h, 2Dh, 16h 450F:0C9F 00 1F 02 00 23 E9 db 00h, 1Fh, 02h, 00h, 23h,0E9h 450F:0CA5 03 0A 2B 0C 00 23 db 03h, 0Ah, 2Bh, 0Ch, 00h, 23h 450F:0CAB AF 0C 23 E8 03 23 db 0AFh, 0Ch, 23h,0E8h, 03h, 23h 450F:0CB1 E9 03 27 1D 00 28 db 0E9h, 03h, 27h, 1Dh, 00h, 28h 450F:0CB7 27 26 00 23 05 00 db 27h, 26h, 00h, 23h, 05h, 00h 450F:0CBD 21 26 00 1F 40 00 db 21h, 26h, 00h, 1Fh, 40h, 00h 450F:0CC3 23 01 00 0A 2B 06 db 23h, 01h, 00h, 0Ah, 2Bh, 06h 450F:0CC9 00 23 07 00 21 26 db 00h, 23h, 07h, 00h, 21h, 26h 450F:0CCF 00 28 1F 38 00 23 db 00h, 28h, 1Fh, 38h, 00h, 23h 450F:0CD5 00 00 0A 2B 15 00 db 00h, 00h, 0Ah, 2Bh, 15h, 00h 450F:0CDB 23 5B 08 23 27 04 db 23h, 5Bh, 08h, 23h, 27h, 04h 450F:0CE1 27 13 00 25 13 0D db 27h, 13h, 00h, 25h, 13h, 0Dh 450F:0CE7 23 01 00 21 08 00 db 23h, 01h, 00h, 21h, 08h, 00h 450F:0CED 2D 12 00 23 C6 08 db 2Dh, 12h, 00h, 23h,0C6h, 08h 450F:0CF3 23 27 04 27 13 00 db 23h, 27h, 04h, 27h, 13h, 00h 450F:0CF9 23 01 00 23 27 04 db 23h, 01h, 00h, 23h, 27h, 04h 450F:0CFF 27 1E 00 28 23 01 db 27h, 1Eh, 00h, 28h, 23h, 01h 450F:0D05 00 23 27 04 27 1E db 00h, 23h, 27h, 04h, 27h, 1Eh 450F:0D0B 00 23 00 00 21 42 db 00h, 23h, 00h, 00h, 21h, 42h 450F:0D11 00 28 1F 42 00 23 db 00h, 28h, 1Fh, 42h, 00h, 23h 450F:0D17 00 00 0A 2B 1B 00 db 00h, 00h, 0Ah, 2Bh, 1Bh, 00h 450F:0D1D 23 00 00 23 0F 00 db 23h, 00h, 00h, 23h, 0Fh, 00h 450F:0D23 23 03 0D 27 08 00 db 23h, 03h, 0Dh, 27h, 08h, 00h 450F:0D29 23 00 00 23 27 04 db 23h, 00h, 00h, 23h, 27h, 04h 450F:0D2F 27 1E 00 23 01 00 db 27h, 1Eh, 00h, 23h, 01h, 00h 450F:0D35 21 42 00 28 1F 02 db 21h, 42h, 00h, 28h, 1Fh, 02h 450F:0D3B 00 23 E8 03 0A 2B db 00h, 23h,0E8h, 03h, 0Ah, 2Bh 450F:0D41 03 00 27 27 00 25 db 03h, 00h, 27h, 27h, 00h, 25h 450F:0D47 13 0D 23 01 00 21 db 13h, 0Dh, 23h, 01h, 00h, 21h 450F:0D4D 42 00 28 23 01 00 db 42h, 00h, 28h, 23h, 01h, 00h 450F:0D53 21 08 00 1F 02 00 db 21h, 08h, 00h, 1Fh, 02h, 00h 450F:0D59 23 E8 03 0A 2B 09 db 23h,0E8h, 03h, 0Ah, 2Bh, 09h 450F:0D5F 00 23 75 08 27 10 db 00h, 23h, 75h, 08h, 27h, 10h 450F:0D65 00 2D 09 00 23 76 db 00h, 2Dh, 09h, 00h, 23h, 76h 450F:0D6B 08 1F 02 00 27 13 db 08h, 1Fh, 02h, 00h, 27h, 13h 450F:0D71 00 28 23 44 75 27 db 00h, 28h, 23h, 44h, 75h, 27h 450F:0D77 20 00 28 23 44 75 db 20h, 00h, 28h, 23h, 44h, 75h 450F:0D7D 27 23 00 28 1F 02 db 27h, 23h, 00h, 28h, 1Fh, 02h 450F:0D83 00 23 E8 03 0A 1F db 00h, 23h,0E8h, 03h, 0Ah, 1Fh 450F:0D89 26 00 23 08 00 0E db 26h, 00h, 23h, 08h, 00h, 0Eh 450F:0D8F 1F 26 00 23 0D 00 db 1Fh, 26h, 00h, 23h, 0Dh, 00h 450F:0D95 10 1C 1A 2B 06 00 db 10h, 1Ch, 1Ah, 2Bh, 06h, 00h 450F:0D9B 23 06 00 db 23h, 06h, 00h 450F:0D9E loc_2368: 450F:0D9E 21 08 and [bx+si],cx 450F:0DA0 00 1F add [bx],bl 450F:0DA2 02 00 add al,[bx+si] 450F:0DA4 23 E9 and bp,cx 450F:0DA6 03 0A add cx,[bp+si] 450F:0DA8 1F pop ds 450F:0DA9 26: 00 23 add es:[bp+di],ah 450F:0DAC 08 00 or [bx+si],al nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 629 450F:0DAE 0E push cs 450F:0DAF 1F pop ds 450F:0DB0 26: 00 23 add es:[bp+di],ah 450F:0DB3 0D 1000 or ax,1000h 450F:0DB6 1C 1A sbb al,1Ah 450F:0DB8 2B 09 sub cx,[bx+di] 450F:0DBA 00 23 add [bp+di],ah 450F:0DBC 06 push es 450F:0DBD 00 21 add [bx+di],ah 450F:0DBF 08 00 or [bx+si],al 450F:0DC1 2D 002C sub ax,2Ch 450F:0DC4 1F pop ds 450F:0DC5 02 00 add al,[bx+si] 450F:0DC7 23 E9 and bp,cx 450F:0DC9 03 0A add cx,[bp+si] 450F:0DCB 2B 22 sub sp,[bp+si] 450F:0DCD 00 23 add [bp+di],ah 450F:0DCF E9 2303 jmp $+2306h 450F:0DD2 1B 27 27 28 00 1F db 1Bh, 27h, 27h, 28h, 00h, 1Fh 450F:0DD8 08 00 23 01 00 0A db 08h, 00h, 23h, 01h, 00h, 0Ah 450F:0DDE 2B 09 00 23 00 00 db 2Bh, 09h, 00h, 23h, 00h, 00h 450F:0DE4 21 08 00 2D 06 00 db 21h, 08h, 00h, 2Dh, 06h, 00h 450F:0DEA 23 06 00 21 08 00 db 23h, 06h, 00h, 21h, 08h, 00h 450F:0DF0 28 23 0E 09 27 10 db 28h, 23h, 0Eh, 09h, 27h, 10h 450F:0DF6 00 23 01 00 21 08 db 00h, 23h, 01h, 00h, 21h, 08h 450F:0DFC 00 28 23 8A 01 27 db 00h, 28h, 23h, 8Ah, 01h, 27h 450F:0E02 10 00 23 8B 01 27 db 10h, 00h, 23h, 8Bh, 01h, 27h 450F:0E08 10 00 23 8C 01 27 db 10h, 00h, 23h, 8Ch, 01h, 27h 450F:0E0E 10 00 23 8D 01 27 db 10h, 00h, 23h, 8Dh, 01h, 27h 450F:0E14 10 00 23 8E 01 27 db 10h, 00h, 23h, 8Eh, 01h, 27h 450F:0E1A 10 00 23 8F 01 27 db 10h, 00h, 23h, 8Fh, 01h, 27h 450F:0E20 10 00 23 01 00 21 db 10h, 00h, 23h, 01h, 00h, 21h 450F:0E26 96 00 23 01 00 21 db 96h, 00h, 23h, 01h, 00h, 21h 450F:0E2C 08 00 28 23 01 00 db 08h, 00h, 28h, 23h, 01h, 00h 450F:0E32 21 08 00 1F 96 00 db 21h, 08h, 00h, 1Fh, 96h, 00h 450F:0E38 23 00 00 0A 2B 09 db 23h, 00h, 00h, 0Ah, 2Bh, 09h 450F:0E3E 00 23 55 0C 27 10 db 00h, 23h, 55h, 0Ch, 27h, 10h 450F:0E44 00 2D 12 00 23 57 db 00h, 2Dh, 12h, 00h, 23h, 57h 450F:0E4A 0C 27 10 00 23 24 db 0Ch, 27h, 10h, 00h, 23h, 24h 450F:0E50 04 27 23 00 23 3D db 04h, 27h, 23h, 00h, 23h, 3Dh 450F:0E56 75 27 23 00 28 1F db 75h, 27h, 23h, 00h, 28h, 1Fh 450F:0E5C 02 00 23 EF 03 0A db 02h, 00h, 23h,0EFh, 03h, 0Ah 450F:0E62 2B 09 00 23 00 00 db 2Bh, 09h, 00h, 23h, 00h, 00h 450F:0E68 21 08 00 2D 22 00 db 21h, 08h, 00h, 2Dh, 22h, 00h 450F:0E6E 23 22 00 23 EF 03 db 23h, 22h, 00h, 23h,0EFh, 03h 450F:0E74 27 28 00 1F 08 00 db 27h, 28h, 00h, 1Fh, 08h, 00h 450F:0E7A 23 01 00 0A 2B 09 db 23h, 01h, 00h, 0Ah, 2Bh, 09h 450F:0E80 00 23 00 00 21 08 db 00h, 23h, 00h, 00h, 21h, 08h 450F:0E86 00 2D 06 00 23 06 db 00h, 2Dh, 06h, 00h, 23h, 06h 450F:0E8C 00 21 08 00 28 1F db 00h, 21h, 08h, 00h, 28h, 1Fh 450F:0E92 5E 00 23 00 00 0A db 5Eh, 00h, 23h, 00h, 00h, 0Ah 450F:0E98 2B 21 00 23 00 00 db 2Bh, 21h, 00h, 23h, 00h, 00h 450F:0E9E 23 01 00 23 BD 0E db 23h, 01h, 00h, 23h,0BDh, 0Eh 450F:0EA4 27 08 00 23 04 00 db 27h, 08h, 00h, 23h, 04h, 00h 450F:0EAA 27 03 00 27 29 00 db 27h, 03h, 00h, 27h, 29h, 00h 450F:0EB0 23 01 00 21 5E 00 db 23h, 01h, 00h, 21h, 5Eh, 00h 450F:0EB6 23 15 00 21 26 00 db 23h, 15h, 00h, 21h, 26h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 630 450F:0EBC 28 23 26 00 23 EF db 28h, 23h, 26h, 00h, 23h,0EFh 450F:0EC2 03 27 28 00 1F 08 db 03h, 27h, 28h, 00h, 1Fh, 08h 450F:0EC8 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:0ECE 0F 00 23 00 00 23 db 0Fh, 00h, 23h, 00h, 00h, 23h 450F:0ED4 02 00 23 BD 0E 27 db 02h, 00h, 23h,0BDh, 0Eh, 27h 450F:0EDA 08 00 2D 12 00 23 db 08h, 00h, 2Dh, 12h, 00h, 23h 450F:0EE0 29 27 27 2A 00 23 db 29h, 27h, 27h, 2Ah, 00h, 23h 450F:0EE6 01 00 21 62 00 23 db 01h, 00h, 21h, 62h, 00h, 23h 450F:0EEC 01 00 21 64 00 28 db 01h, 00h, 21h, 64h, 00h, 28h 450F:0EF2 1F 26 00 23 15 00 db 1Fh, 26h, 00h, 23h, 15h, 00h 450F:0EF8 10 2B 10 00 23 0F db 10h, 2Bh, 10h, 00h, 23h, 0Fh 450F:0EFE 00 23 00 40 02 23 db 00h, 23h, 00h, 40h, 02h, 23h 450F:0F04 F4 00 23 06 01 27 db 0F4h, 00h, 23h, 06h, 01h, 27h 450F:0F0A 19 00 28 1F 26 00 db 19h, 00h, 28h, 1Fh, 26h, 00h 450F:0F10 23 15 00 10 2B 1E db 23h, 15h, 00h, 10h, 2Bh, 1Eh 450F:0F16 00 23 00 00 23 04 db 00h, 23h, 00h, 00h, 23h, 04h 450F:0F1C 00 23 36 0F 27 08 db 00h, 23h, 36h, 0Fh, 27h, 08h 450F:0F22 00 23 02 00 27 03 db 00h, 23h, 02h, 00h, 27h, 03h 450F:0F28 00 23 01 00 27 05 db 00h, 23h, 01h, 00h, 27h, 05h 450F:0F2E 00 23 17 00 21 26 db 00h, 23h, 17h, 00h, 21h, 26h 450F:0F34 00 28 23 0F 00 23 db 00h, 28h, 23h, 0Fh, 00h, 23h 450F:0F3A EF 03 27 28 00 1F db 0EFh, 03h, 27h, 28h, 00h, 1Fh 450F:0F40 08 00 23 00 00 0A db 08h, 00h, 23h, 00h, 00h, 0Ah 450F:0F46 2B 0F 00 23 00 00 db 2Bh, 0Fh, 00h, 23h, 00h, 00h 450F:0F4C 23 02 00 23 36 0F db 23h, 02h, 00h, 23h, 36h, 0Fh 450F:0F52 27 08 00 2D 0C 00 db 27h, 08h, 00h, 2Dh, 0Ch, 00h 450F:0F58 23 00 00 23 04 00 db 23h, 00h, 00h, 23h, 04h, 00h 450F:0F5E 23 65 0F 27 08 00 db 23h, 65h, 0Fh, 27h, 08h, 00h 450F:0F64 28 23 29 27 27 2A db 28h, 23h, 29h, 27h, 27h, 2Ah 450F:0F6A 00 27 2B 00 28 1F db 00h, 27h, 2Bh, 00h, 28h, 1Fh 450F:0F70 62 00 23 00 00 0A db 62h, 00h, 23h, 00h, 00h, 0Ah 450F:0F76 2B 09 00 23 2D 00 db 2Bh, 09h, 00h, 23h, 2Dh, 00h 450F:0F7C 21 08 00 2D 3C 00 db 21h, 08h, 00h, 2Dh, 3Ch, 00h 450F:0F82 23 00 00 21 62 00 db 23h, 00h, 00h, 21h, 62h, 00h 450F:0F88 23 01 00 21 64 00 db 23h, 01h, 00h, 21h, 64h, 00h 450F:0F8E 23 01 00 21 66 00 db 23h, 01h, 00h, 21h, 66h, 00h 450F:0F94 23 01 00 21 68 00 db 23h, 01h, 00h, 21h, 68h, 00h 450F:0F9A 23 00 00 21 6A 00 db 23h, 00h, 00h, 21h, 6Ah, 00h 450F:0FA0 23 01 00 21 6C 00 db 23h, 01h, 00h, 21h, 6Ch, 00h 450F:0FA6 23 2C 27 27 2C 00 db 23h, 2Ch, 27h, 27h, 2Ch, 00h 450F:0FAC 23 2A 27 27 2A 00 db 23h, 2Ah, 27h, 27h, 2Ah, 00h 450F:0FB2 23 2E 27 27 2A 00 db 23h, 2Eh, 27h, 27h, 2Ah, 00h 450F:0FB8 23 0D 00 27 0D 00 db 23h, 0Dh, 00h, 27h, 0Dh, 00h 450F:0FBE 28 1F 62 00 23 01 db 28h, 1Fh, 62h, 00h, 23h, 01h 450F:0FC4 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:0FCA 2D 00 21 08 00 2D db 2Dh, 00h, 21h, 08h, 00h, 2Dh 450F:0FD0 12 00 23 01 00 21 db 12h, 00h, 23h, 01h, 00h, 21h 450F:0FD6 62 00 23 2C 27 27 db 62h, 00h, 23h, 2Ch, 27h, 27h 450F:0FDC 2A 00 23 0D 00 27 db 2Ah, 00h, 23h, 0Dh, 00h, 27h 450F:0FE2 0D 00 28 1F 64 00 db 0Dh, 00h, 28h, 1Fh, 64h, 00h 450F:0FE8 23 00 00 0A 2B 09 db 23h, 00h, 00h, 0Ah, 2Bh, 09h 450F:0FEE 00 23 2D 00 21 08 db 00h, 23h, 2Dh, 00h, 21h, 08h 450F:0FF4 00 2D 3C 00 23 01 db 00h, 2Dh, 3Ch, 00h, 23h, 01h 450F:0FFA 00 21 62 00 23 00 db 00h, 21h, 62h, 00h, 23h, 00h 450F:1000 00 21 64 00 23 01 db 00h, 21h, 64h, 00h, 23h, 01h 450F:1006 00 21 6A 00 23 00 db 00h, 21h, 6Ah, 00h, 23h, 00h 450F:100C 00 21 6C 00 23 00 db 00h, 21h, 6Ch, 00h, 23h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 631 450F:1012 00 21 66 00 23 01 db 00h, 21h, 66h, 00h, 23h, 01h 450F:1018 00 21 68 00 23 2A db 00h, 21h, 68h, 00h, 23h, 2Ah 450F:101E 27 27 2C 00 23 2C db 27h, 27h, 2Ch, 00h, 23h, 2Ch 450F:1024 27 27 2A 00 23 2E db 27h, 27h, 2Ah, 00h, 23h, 2Eh 450F:102A 27 27 2A 00 23 0D db 27h, 27h, 2Ah, 00h, 23h, 0Dh 450F:1030 00 27 0D 00 28 1F db 00h, 27h, 0Dh, 00h, 28h, 1Fh 450F:1036 64 00 23 01 00 0A db 64h, 00h, 23h, 01h, 00h, 0Ah 450F:103C 2B 09 00 23 2D 00 db 2Bh, 09h, 00h, 23h, 2Dh, 00h 450F:1042 21 08 00 2D 12 00 db 21h, 08h, 00h, 2Dh, 12h, 00h 450F:1048 23 01 00 21 64 00 db 23h, 01h, 00h, 21h, 64h, 00h 450F:104E 23 2A 27 27 2A 00 db 23h, 2Ah, 27h, 27h, 2Ah, 00h 450F:1054 23 0D 00 27 0D 00 db 23h, 0Dh, 00h, 27h, 0Dh, 00h 450F:105A 28 1F 66 00 23 00 db 28h, 1Fh, 66h, 00h, 23h, 00h 450F:1060 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:1066 2D 00 21 08 00 2D db 2Dh, 00h, 21h, 08h, 00h, 2Dh 450F:106C 3C 00 23 01 00 21 db 3Ch, 00h, 23h, 01h, 00h, 21h 450F:1072 62 00 23 00 00 21 db 62h, 00h, 23h, 00h, 00h, 21h 450F:1078 64 00 23 00 00 21 db 64h, 00h, 23h, 00h, 00h, 21h 450F:107E 66 00 23 01 00 21 db 66h, 00h, 23h, 01h, 00h, 21h 450F:1084 68 00 23 01 00 21 db 68h, 00h, 23h, 01h, 00h, 21h 450F:108A 6A 00 23 00 00 21 db 6Ah, 00h, 23h, 00h, 00h, 21h 450F:1090 6C 00 23 2A 27 27 db 6Ch, 00h, 23h, 2Ah, 27h, 27h 450F:1096 2C 00 23 2C 27 27 db 2Ch, 00h, 23h, 2Ch, 27h, 27h 450F:109C 2A 00 23 2E 27 27 db 2Ah, 00h, 23h, 2Eh, 27h, 27h 450F:10A2 2A 00 23 0D 00 27 db 2Ah, 00h, 23h, 0Dh, 00h, 27h 450F:10A8 0D 00 28 1F 66 00 db 0Dh, 00h, 28h, 1Fh, 66h, 00h 450F:10AE 23 01 00 0A 2B 09 db 23h, 01h, 00h, 0Ah, 2Bh, 09h 450F:10B4 00 23 2D 00 21 08 db 00h, 23h, 2Dh, 00h, 21h, 08h 450F:10BA 00 2D 12 00 23 01 db 00h, 2Dh, 12h, 00h, 23h, 01h 450F:10C0 00 21 66 00 23 2A db 00h, 21h, 66h, 00h, 23h, 2Ah 450F:10C6 27 27 2A 00 23 0D db 27h, 27h, 2Ah, 00h, 23h, 0Dh 450F:10CC 00 27 0D 00 28 1F db 00h, 27h, 0Dh, 00h, 28h, 1Fh 450F:10D2 68 00 23 00 00 0A db 68h, 00h, 23h, 00h, 00h, 0Ah 450F:10D8 2B 09 00 23 2D 00 db 2Bh, 09h, 00h, 23h, 2Dh, 00h 450F:10DE 21 08 00 2D 3C 00 db 21h, 08h, 00h, 2Dh, 3Ch, 00h 450F:10E4 23 01 00 21 62 00 db 23h, 01h, 00h, 21h, 62h, 00h 450F:10EA 23 01 00 21 64 00 db 23h, 01h, 00h, 21h, 64h, 00h 450F:10F0 23 01 00 21 66 00 db 23h, 01h, 00h, 21h, 66h, 00h 450F:10F6 23 00 00 21 68 00 db 23h, 00h, 00h, 21h, 68h, 00h 450F:10FC 23 01 00 21 6A 00 db 23h, 01h, 00h, 21h, 6Ah, 00h 450F:1102 23 01 00 21 6C 00 db 23h, 01h, 00h, 21h, 6Ch, 00h 450F:1108 23 2E 27 27 2C 00 db 23h, 2Eh, 27h, 27h, 2Ch, 00h 450F:110E 23 2C 27 27 2A 00 db 23h, 2Ch, 27h, 27h, 2Ah, 00h 450F:1114 23 2A 27 27 2A 00 db 23h, 2Ah, 27h, 27h, 2Ah, 00h 450F:111A 23 0D 00 27 0D 00 db 23h, 0Dh, 00h, 27h, 0Dh, 00h 450F:1120 28 1F 68 00 23 01 db 28h, 1Fh, 68h, 00h, 23h, 01h 450F:1126 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:112C 2D 00 21 08 00 2D db 2Dh, 00h, 21h, 08h, 00h, 2Dh 450F:1132 12 00 23 01 00 21 db 12h, 00h, 23h, 01h, 00h, 21h 450F:1138 68 00 23 2E 27 27 db 68h, 00h, 23h, 2Eh, 27h, 27h 450F:113E 2A 00 23 0D 00 27 db 2Ah, 00h, 23h, 0Dh, 00h, 27h 450F:1144 0D 00 28 1F 6A 00 db 0Dh, 00h, 28h, 1Fh, 6Ah, 00h 450F:114A 23 00 00 0A 2B 09 db 23h, 00h, 00h, 0Ah, 2Bh, 09h 450F:1150 00 23 2D 00 21 08 db 00h, 23h, 2Dh, 00h, 21h, 08h 450F:1156 00 2D 3C 00 23 00 db 00h, 2Dh, 3Ch, 00h, 23h, 00h 450F:115C 00 21 62 00 23 01 db 00h, 21h, 62h, 00h, 23h, 01h 450F:1162 00 21 64 00 23 01 db 00h, 21h, 64h, 00h, 23h, 01h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 632 450F:1168 00 21 66 00 23 01 db 00h, 21h, 66h, 00h, 23h, 01h 450F:116E 00 21 68 00 23 00 db 00h, 21h, 68h, 00h, 23h, 00h 450F:1174 00 21 6A 00 23 01 db 00h, 21h, 6Ah, 00h, 23h, 01h 450F:117A 00 21 6C 00 23 2C db 00h, 21h, 6Ch, 00h, 23h, 2Ch 450F:1180 27 27 2C 00 23 2A db 27h, 27h, 2Ch, 00h, 23h, 2Ah 450F:1186 27 27 2A 00 23 2E db 27h, 27h, 2Ah, 00h, 23h, 2Eh 450F:118C 27 27 2A 00 23 0D db 27h, 27h, 2Ah, 00h, 23h, 0Dh 450F:1192 00 27 0D 00 28 1F db 00h, 27h, 0Dh, 00h, 28h, 1Fh 450F:1198 6A 00 23 01 00 0A db 6Ah, 00h, 23h, 01h, 00h, 0Ah 450F:119E 2B 09 00 23 2D 00 db 2Bh, 09h, 00h, 23h, 2Dh, 00h 450F:11A4 21 08 00 2D 12 00 db 21h, 08h, 00h, 2Dh, 12h, 00h 450F:11AA 23 01 00 21 6A 00 db 23h, 01h, 00h, 21h, 6Ah, 00h 450F:11B0 23 2C 27 27 2A 00 db 23h, 2Ch, 27h, 27h, 2Ah, 00h 450F:11B6 23 0D 00 27 0D 00 db 23h, 0Dh, 00h, 27h, 0Dh, 00h 450F:11BC 28 1F 6C 00 23 00 db 28h, 1Fh, 6Ch, 00h, 23h, 00h 450F:11C2 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:11C8 2D 00 21 08 00 2D db 2Dh, 00h, 21h, 08h, 00h, 2Dh 450F:11CE 36 00 23 01 00 21 db 36h, 00h, 23h, 01h, 00h, 21h 450F:11D4 62 00 23 00 00 21 db 62h, 00h, 23h, 00h, 00h, 21h 450F:11DA 66 00 23 01 00 21 db 66h, 00h, 23h, 01h, 00h, 21h 450F:11E0 68 00 23 01 00 21 db 68h, 00h, 23h, 01h, 00h, 21h 450F:11E6 6A 00 23 00 00 21 db 6Ah, 00h, 23h, 00h, 00h, 21h 450F:11EC 6C 00 23 2A 27 27 db 6Ch, 00h, 23h, 2Ah, 27h, 27h 450F:11F2 2C 00 23 2C 27 27 db 2Ch, 00h, 23h, 2Ch, 27h, 27h 450F:11F8 2A 00 23 2E 27 27 db 2Ah, 00h, 23h, 2Eh, 27h, 27h 450F:11FE 2A 00 23 0D 00 27 db 2Ah, 00h, 23h, 0Dh, 00h, 27h 450F:1204 0D 00 28 1F 6C 00 db 0Dh, 00h, 28h, 1Fh, 6Ch, 00h 450F:120A 23 01 00 0A 2B 09 db 23h, 01h, 00h, 0Ah, 2Bh, 09h 450F:1210 00 23 2D 00 21 08 db 00h, 23h, 2Dh, 00h, 21h, 08h 450F:1216 00 2D 12 00 23 01 db 00h, 2Dh, 12h, 00h, 23h, 01h 450F:121C 00 21 6C 00 23 2A db 00h, 21h, 6Ch, 00h, 23h, 2Ah 450F:1222 27 27 2A 00 23 0D db 27h, 27h, 2Ah, 00h, 23h, 0Dh 450F:1228 00 27 0D 00 28 1F db 00h, 27h, 0Dh, 00h, 28h, 1Fh 450F:122E 04 00 23 28 27 0A db 04h, 00h, 23h, 28h, 27h, 0Ah 450F:1234 2B 28 00 1F 70 00 db 2Bh, 28h, 00h, 1Fh, 70h, 00h 450F:123A 23 00 00 0A 2B 06 db 23h, 00h, 00h, 0Ah, 2Bh, 06h 450F:1240 00 23 01 00 21 72 db 00h, 23h, 01h, 00h, 21h, 72h 450F:1246 00 27 1C 00 23 28 db 00h, 27h, 1Ch, 00h, 23h, 28h 450F:124C 27 27 06 00 23 FA db 27h, 27h, 06h, 00h, 23h,0FAh 450F:1252 09 27 10 00 23 00 db 09h, 27h, 10h, 00h, 23h, 00h 450F:1258 00 21 08 00 2D 06 db 00h, 21h, 08h, 00h, 2Dh, 06h 450F:125E 00 23 11 00 21 08 db 00h, 23h, 11h, 00h, 21h, 08h 450F:1264 00 28 1F 04 00 23 db 00h, 28h, 1Fh, 04h, 00h, 23h 450F:126A 13 27 0A 2B 38 00 db 13h, 27h, 0Ah, 2Bh, 38h, 00h 450F:1270 1F 02 00 23 E8 03 db 1Fh, 02h, 00h, 23h,0E8h, 03h 450F:1276 0A 2B 06 00 23 5F db 0Ah, 2Bh, 06h, 00h, 23h, 5Fh 450F:127C 01 27 10 00 23 0C db 01h, 27h, 10h, 00h, 23h, 0Ch 450F:1282 04 27 06 00 23 2B db 04h, 27h, 06h, 00h, 23h, 2Bh 450F:1288 01 23 12 04 27 0B db 01h, 23h, 12h, 04h, 27h, 0Bh 450F:128E 00 1F 1E 00 23 03 db 00h, 1Fh, 1Eh, 00h, 23h, 03h 450F:1294 00 0C 2B 0C 00 23 db 00h, 0Ch, 2Bh, 0Ch, 00h, 23h 450F:129A 67 01 23 E8 03 23 db 67h, 01h, 23h,0E8h, 03h, 23h 450F:12A0 12 04 27 1D 00 2D db 12h, 04h, 27h, 1Dh, 00h, 2Dh 450F:12A6 06 00 23 11 00 db 06h, 00h, 23h, 11h, 00h 450F:12AB 21 08 00 db '!', 8, 0 450F:12AE 28 23 31 75 27 23 db '(#1u', 27h, '#', 0 450F:12B4 00 nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 633 450F:12B5 28 23 4D 75 27 23 db '(#Mu', 27h, '#', 0 450F:12BB 00 450F:12BC 28 23 35 27 27 23 db '(#5', 27h, 27h, '#', 0 450F:12C2 00 450F:12C3 28 23 3C 75 27 23 db '(# 08 27 lock or [bx],ah 450F:2306 10 00 adc [bx+si],al 450F:2308 23 23 and sp,[bp+di] 450F:230A 27 daa ; Decimal adjust 450F:230B 27 daa ; Decimal adjust 450F:230C 32 00 xor al,[bx+si] 450F:230E 28 23 sub [bp+di],ah 450F:2310 F9 stc ; Set carry flag 450F:2311 08 21 or [bx+di],ah 450F:2313 08 00 or [bx+si],al 450F:2315 1F pop ds 450F:2316 08 00 or [bx+si],al 450F:2318 1F pop ds 450F:2319 46 inc si 450F:231A 00 02 add [bp+si],al 450F:231C 21 08 and [bx+si],cx 450F:231E 00 1F add [bx],bl 450F:2320 46 inc si 450F:2321 00 23 add [bp+di],ah 450F:2323 04 00 add al,0 450F:2325 0E push cs 450F:2326 2B 0A sub cx,[bp+si] 450F:2328 00 1F add [bx],bl 450F:232A 46 inc si 450F:232B 00 23 add [bp+di],ah 450F:232D 01 00 add [bx+si],ax 450F:232F 02 21 add ah,[bx+di] 450F:2331 46 inc si 450F:2332 00 28 add [bx+si],ch 450F:2334 1F pop ds 450F:2335 46 inc si 450F:2336 00 23 add [bp+di],ah 450F:2338 03 00 add ax,[bx+si] 450F:233A 0A 2B or ch,[bp+di] 450F:233C 0C 00 or al,0 450F:233E 23 00 and ax,[bx+si] 450F:2340 00 23 add [bp+di],ah 450F:2342 01 00 add [bx+si],ax 450F:2344 23 51 23 and dx,[bx+di+23h] 450F:2347 27 daa ; Decimal adjust 450F:2348 08 00 or [bx+si],al 450F:234A 23 92 2110 and dx,[bp+si+2110h] 450F:234E 08 00 or [bx+si],al 450F:2350 28 23 sub [bp+di],ah 450F:2352 FE 08 dec byte ptr [bx+si] 450F:2354 23 29 and bp,[bx+di] 450F:2356 04 27 add al,27h ; ''' 450F:2358 13 00 adc ax,[bx+si] 450F:235A 28 27 sub [bx],ah 450F:235C 3A 00 cmp al,[bx+si] 450F:235E 1F pop ds 450F:235F 08 00 or [bx+si],al 450F:2361 1F pop ds 450F:2362 48 dec ax 450F:2363 00 04 add [si],al 450F:2365 21 08 and [bx+si],cx 450F:2367 00 28 add [bx+si],ch 450F:2369 27 daa ; Decimal adjust 450F:236A 3A 00 cmp al,[bx+si] 450F:236C 28 27 sub [bx],ah 450F:236E 3A 00 cmp al,[bx+si] 450F:2370 1F pop ds 450F:2371 08 00 or [bx+si],al 450F:2373 23 01 and ax,[bx+di] 450F:2375 00 0A add [bp+si],cl 450F:2377 2B 09 sub cx,[bx+di] 450F:2379 00 23 add [bp+di],ah 450F:237B 00 00 add [bx+si],al 450F:237D 21 08 and [bx+si],cx 450F:237F 00 2D add [di],ch 450F:2381 10 00 adc [bx+si],al 450F:2383 1F pop ds 450F:2384 08 00 or [bx+si],al 450F:2386 23 00 and ax,[bx+si] 450F:2388 00 0A add [bp+si],cl 450F:238A 2B 06 2300 sub ax,ds:data_33e ; (0000:2300=1226h) 450F:238E 01 00 add [bx+si],ax 450F:2390 21 08 and [bx+si],cx 450F:2392 00 28 add [bx+si],ch 450F:2394 23 21 and sp,[bx+di] 450F:2396 09 27 or [bx],sp 450F:2398 10 00 adc [bx+si],al 450F:239A 23 23 and sp,[bp+di] 450F:239C 27 daa ; Decimal adjust 450F:239D 27 daa ; Decimal adjust 450F:239E 32 00 xor al,[bx+si] 450F:23A0 23 92 2110 and dx,[bp+si+2110h] 450F:23A4 08 00 or [bx+si],al 450F:23A6 23 01 and ax,[bx+di] 450F:23A8 00 21 add [bx+di],ah 450F:23AA 4A dec dx 450F:23AB 00 23 add [bp+di],ah 450F:23AD 0A 00 or al,[bx+si] 450F:23AF 21 26 2300 and ds:data_33e,sp ; (0000:2300=1226h) 450F:23B3 01 00 add [bx+si],ax 450F:23B5 21 48 00 ;* and [bx+si+0],cx 450F:23B5 21 48 00 db 21h, 48h, 00h 450F:23B8 28 23 00 00 23 E9 db 28h, 23h, 00h, 00h, 23h,0E9h 450F:23BE 03 23 0D 00 27 24 db 03h, 23h, 0Dh, 00h, 27h, 24h 450F:23C4 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:23CA 00 28 23 FC 08 21 db 00h, 28h, 23h,0FCh, 08h, 21h 450F:23D0 08 00 28 1F 00 00 db 08h, 00h, 28h, 1Fh, 00h, 00h 450F:23D6 23 E9 03 27 28 00 db 23h,0E9h, 03h, 27h, 28h, 00h 450F:23DC 1F 08 00 23 01 00 db 1Fh, 08h, 00h, 23h, 01h, 00h 450F:23E2 0A 2B 09 00 23 92 db 0Ah, 2Bh, 09h, 00h, 23h, 92h 450F:23E8 10 21 08 00 2D 0C db 10h, 21h, 08h, 00h, 2Dh, 0Ch 450F:23EE 00 23 0B 00 21 08 db 00h, 23h, 0Bh, 00h, 21h, 08h 450F:23F4 00 23 01 00 21 4C db 00h, 23h, 01h, 00h, 21h, 4Ch 450F:23FA 00 28 db 00h, 28h 450F:23FC 23 01 00 21 startup_sequence db 23h, 01h, 00h, 21h 450F:2400 12 00 23 E8 03 27 db 12h, 00h, 23h,0E8h, 03h, 27h 450F:2406 00 00 23 EA 03 27 db 00h, 00h, 23h,0EAh, 03h, 27h 450F:240C 00 00 23 12 27 27 db 00h, 00h, 23h, 12h, 27h, 27h 450F:2412 00 00 23 14 27 27 db 00h, 00h, 23h, 14h, 27h, 27h 450F:2418 00 00 23 00 00 23 db 00h, 00h, 23h, 00h, 00h, 23h 450F:241E 14 00 23 C7 2A 27 db 14h, 00h, 23h,0C7h, 2Ah, 27h 450F:2424 08 00 23 6B 04 27 db 08h, 00h, 23h, 6Bh, 04h, 27h 450F:242A 00 00 28 23 92 10 db 00h, 00h, 28h, 23h, 92h, 10h 450F:2430 21 08 00 1F 4C 00 db 21h, 08h, 00h, 1Fh, 4Ch, 00h 450F:2436 23 01 00 0A 2B 22 db 23h, 01h, 00h, 0Ah, 2Bh, 22h 450F:243C 00 1F 00 00 23 E9 db 00h, 1Fh, 00h, 00h, 23h,0E9h 450F:2442 03 27 28 00 1F 08 db 03h, 27h, 28h, 00h, 1Fh, 08h 450F:2448 00 23 01 00 0A 2B db 00h, 23h, 01h, 00h, 0Ah, 2Bh 450F:244E 09 00 23 0D 00 21 db 09h, 00h, 23h, 0Dh, 00h, 21h 450F:2454 08 00 2D 06 00 23 db 08h, 00h, 2Dh, 06h, 00h, 23h 450F:245A 0C 00 21 08 00 28 db 0Ch, 00h, 21h, 08h, 00h, 28h 450F:2460 23 0F 09 23 EE 03 db 23h, 0Fh, 09h, 23h,0EEh, 03h 450F:2466 27 0C 00 23 28 09 db 27h, 0Ch, 00h, 23h, 28h, 09h 450F:246C 21 08 00 28 1F 26 db 21h, 08h, 00h, 28h, 1Fh, 26h 450F:2472 00 23 0B 00 0A 2B db 00h, 23h, 0Bh, 00h, 0Ah, 2Bh 450F:2478 0C 00 23 2D 09 27 db 0Ch, 00h, 23h, 2Dh, 09h, 27h 450F:247E 10 00 23 01 00 21 db 10h, 00h, 23h, 01h, 00h, 21h 450F:2484 4E 00 23 92 10 21 db 4Eh, 00h, 23h, 92h, 10h, 21h 450F:248A 08 00 28 1F 4E 00 db 08h, 00h, 28h, 1Fh, 4Eh, 00h 450F:2490 21 08 00 28 23 34 db 21h, 08h, 00h, 28h, 23h, 34h 450F:2496 09 23 F0 03 27 0C db 09h, 23h,0F0h, 03h, 27h, 0Ch 450F:249C 00 23 35 09 21 08 db 00h, 23h, 35h, 09h, 21h, 08h 450F:24A2 00 28 23 92 10 21 db 00h, 28h, 23h, 92h, 10h, 21h 450F:24A8 08 00 1F 50 00 23 db 08h, 00h, 1Fh, 50h, 00h, 23h 450F:24AE 01 00 0A 2B 06 00 db 01h, 00h, 0Ah, 2Bh, 06h, 00h 450F:24B4 23 01 00 21 08 00 db 23h, 01h, 00h, 21h, 08h, 00h 450F:24BA 28 23 92 10 21 08 db 28h, 23h, 92h, 10h, 21h, 08h 450F:24C0 00 23 01 00 21 50 db 00h, 23h, 01h, 00h, 21h, 50h 450F:24C6 00 28 23 92 10 21 db 00h, 28h, 23h, 92h, 10h, 21h 450F:24CC 08 00 1F 52 00 23 db 08h, 00h, 1Fh, 52h, 00h, 23h 450F:24D2 01 00 0A 2B 06 00 db 01h, 00h, 0Ah, 2Bh, 06h, 00h 450F:24D8 23 05 00 21 08 00 db 23h, 05h, 00h, 21h, 08h, 00h 450F:24DE 28 23 92 10 21 08 db 28h, 23h, 92h, 10h, 21h, 08h 450F:24E4 00 23 01 00 21 52 db 00h, 23h, 01h, 00h, 21h, 52h 450F:24EA 00 28 23 55 09 23 db 00h, 28h, 23h, 55h, 09h, 23h 450F:24F0 2B 04 27 0C 00 23 db 2Bh, 04h, 27h, 0Ch, 00h, 23h 450F:24F6 58 09 21 08 00 28 db 58h, 09h, 21h, 08h, 00h, 28h 450F:24FC 23 00 00 21 56 00 db 23h, 00h, 00h, 21h, 56h, 00h 450F:2502 23 92 10 21 08 00 db 23h, 92h, 10h, 21h, 08h, 00h 450F:2508 28 23 00 00 21 58 db 28h, 23h, 00h, 00h, 21h, 58h 450F:250E 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:2514 00 28 1F 56 00 21 db 00h, 28h, 1Fh, 56h, 00h, 21h 450F:251A 08 00 28 1F 58 00 db 08h, 00h, 28h, 1Fh, 58h, 00h 450F:2520 21 08 00 28 23 0E db 21h, 08h, 00h, 28h, 23h, 0Eh 450F:2526 00 21 26 00 1F 70 db 00h, 21h, 26h, 00h, 1Fh, 70h 450F:252C 00 23 02 00 0A 2B db 00h, 23h, 02h, 00h, 0Ah, 2Bh 450F:2532 21 00 23 01 00 21 db 21h, 00h, 23h, 01h, 00h, 21h 450F:2538 5A 00 23 0D 00 23 db 5Ah, 00h, 23h, 0Dh, 00h, 23h 450F:253E EF 03 27 01 00 23 db 0EFh, 03h, 27h, 01h, 00h, 23h 450F:2544 00 00 23 28 00 23 db 00h, 00h, 23h, 28h, 00h, 23h 450F:254A 80 26 27 08 00 23 db 80h, 26h, 27h, 08h, 00h, 23h 450F:2550 92 10 21 08 00 1F db 92h, 10h, 21h, 08h, 00h, 1Fh 450F:2556 70 00 23 01 00 0A db 70h, 00h, 23h, 01h, 00h, 0Ah 450F:255C 2B 0C 00 23 0A 00 db 2Bh, 0Ch, 00h, 23h, 0Ah, 00h 450F:2562 21 08 00 23 33 27 db 21h, 08h, 00h, 23h, 33h, 27h 450F:2568 27 23 00 1F 70 00 db 27h, 23h, 00h, 1Fh, 70h, 00h 450F:256E 23 00 00 0A 2B 0C db 23h, 00h, 00h, 0Ah, 2Bh, 0Ch 450F:2574 00 23 32 27 27 23 db 00h, 23h, 32h, 27h, 27h, 23h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 650 450F:257A 00 23 09 00 21 08 db 00h, 23h, 09h, 00h, 21h, 08h 450F:2580 00 28 23 00 00 21 db 00h, 28h, 23h, 00h, 00h, 21h 450F:2586 70 00 23 92 10 21 db 70h, 00h, 23h, 92h, 10h, 21h 450F:258C 08 00 28 23 01 00 db 08h, 00h, 28h, 23h, 01h, 00h 450F:2592 21 70 00 23 92 10 db 21h, 70h, 00h, 23h, 92h, 10h 450F:2598 21 08 00 28 23 02 db 21h, 08h, 00h, 28h, 23h, 02h 450F:259E 00 21 70 00 23 92 db 00h, 21h, 70h, 00h, 23h, 92h 450F:25A4 10 21 08 00 28 1F db 10h, 21h, 08h, 00h, 28h, 1Fh 450F:25AA 5A 00 23 00 00 0A db 5Ah, 00h, 23h, 00h, 00h, 0Ah 450F:25B0 2B 06 00 23 01 00 db 2Bh, 06h, 00h, 23h, 01h, 00h 450F:25B6 21 08 00 28 1F 5A db 21h, 08h, 00h, 28h, 1Fh, 5Ah 450F:25BC 00 23 00 00 0C 2B db 00h, 23h, 00h, 00h, 0Ch, 2Bh 450F:25C2 06 00 23 01 00 21 db 06h, 00h, 23h, 01h, 00h, 21h 450F:25C8 08 00 28 23 24 00 db 08h, 00h, 28h, 23h, 24h, 00h 450F:25CE 21 08 00 1F 02 00 db 21h, 08h, 00h, 1Fh, 02h, 00h 450F:25D4 23 E9 03 0A 2B 06 db 23h,0E9h, 03h, 0Ah, 2Bh, 06h 450F:25DA 00 23 34 00 21 08 db 00h, 23h, 34h, 00h, 21h, 08h 450F:25E0 00 1F 70 00 23 01 db 00h, 1Fh, 70h, 00h, 23h, 01h 450F:25E6 00 0A 2B 37 00 1F db 00h, 0Ah, 2Bh, 37h, 00h, 1Fh 450F:25EC 04 00 23 33 27 0A db 04h, 00h, 23h, 33h, 27h, 0Ah 450F:25F2 2B 2D 00 23 00 00 db 2Bh, 2Dh, 00h, 23h, 00h, 00h 450F:25F8 21 08 00 23 01 00 db 21h, 08h, 00h, 23h, 01h, 00h 450F:25FE 21 5A 00 23 0D 00 db 21h, 5Ah, 00h, 23h, 0Dh, 00h 450F:2604 23 EF 03 27 01 00 db 23h,0EFh, 03h, 27h, 01h, 00h 450F:260A 23 00 00 23 28 00 db 23h, 00h, 00h, 23h, 28h, 00h 450F:2610 23 80 26 27 08 00 db 23h, 80h, 26h, 27h, 08h, 00h 450F:2616 23 6A 0B 1F 02 00 db 23h, 6Ah, 0Bh, 1Fh, 02h, 00h 450F:261C 23 EF 03 27 1D 00 db 23h,0EFh, 03h, 27h, 1Dh, 00h 450F:2622 1F 70 00 23 00 00 db 1Fh, 70h, 00h, 23h, 00h, 00h 450F:2628 0A 2B 37 00 1F 04 db 0Ah, 2Bh, 37h, 00h, 1Fh, 04h 450F:262E 00 23 32 27 0A 2B db 00h, 23h, 32h, 27h, 0Ah, 2Bh 450F:2634 2D 00 23 00 00 21 db 2Dh, 00h, 23h, 00h, 00h, 21h 450F:263A 08 00 23 01 00 21 db 08h, 00h, 23h, 01h, 00h, 21h 450F:2640 5A 00 23 00 00 23 db 5Ah, 00h, 23h, 00h, 00h, 23h 450F:2646 28 00 23 80 26 27 db 28h, 00h, 23h, 80h, 26h, 27h 450F:264C 08 00 23 0D 00 23 db 08h, 00h, 23h, 0Dh, 00h, 23h 450F:2652 EF 03 27 01 00 23 db 0EFh, 03h, 27h, 01h, 00h, 23h 450F:2658 69 0B 1F 02 00 23 db 69h, 0Bh, 1Fh, 02h, 00h, 23h 450F:265E EF 03 27 1D 00 1F db 0EFh, 03h, 27h, 1Dh, 00h, 1Fh 450F:2664 04 00 23 34 27 0A db 04h, 00h, 23h, 34h, 27h, 0Ah 450F:266A 2B 12 00 23 01 00 db 2Bh, 12h, 00h, 23h, 01h, 00h 450F:2670 21 08 00 23 73 0B db 21h, 08h, 00h, 23h, 73h, 0Bh 450F:2676 1F 02 00 23 EF 03 db 1Fh, 02h, 00h, 23h,0EFh, 03h 450F:267C 27 1D 00 28 23 02 db 27h, 1Dh, 00h, 28h, 23h, 02h 450F:2682 00 21 5A 00 28 23 db 00h, 21h, 5Ah, 00h, 28h, 23h 450F:2688 92 10 21 08 00 1F db 92h, 10h, 21h, 08h, 00h, 1Fh 450F:268E 5A 00 23 02 00 0A db 5Ah, 00h, 23h, 02h, 00h, 0Ah 450F:2694 2B 06 00 23 01 00 db 2Bh, 06h, 00h, 23h, 01h, 00h 450F:269A 21 08 00 28 23 28 db 21h, 08h, 00h, 28h, 23h, 28h 450F:26A0 27 27 32 00 23 92 db 27h, 27h, 32h, 00h, 23h, 92h 450F:26A6 10 21 08 00 23 03 db 10h, 21h, 08h, 00h, 23h, 03h 450F:26AC 00 21 5A 00 23 0F db 00h, 21h, 5Ah, 00h, 23h, 0Fh 450F:26B2 00 21 26 00 28 23 db 00h, 21h, 26h, 00h, 28h, 23h 450F:26B8 92 10 21 08 00 27 db 92h, 10h, 21h, 08h, 00h, 27h 450F:26BE 3B 00 28 23 10 00 db 3Bh, 00h, 28h, 23h, 10h, 00h 450F:26C4 21 26 00 23 92 10 db 21h, 26h, 00h, 23h, 92h, 10h 450F:26CA 21 08 00 28 23 11 db 21h, 08h, 00h, 28h, 23h, 11h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 651 450F:26D0 00 21 26 00 27 3C db 00h, 21h, 26h, 00h, 27h, 3Ch 450F:26D6 00 23 06 00 23 EF db 00h, 23h, 06h, 00h, 23h,0EFh 450F:26DC 03 27 31 00 23 92 db 03h, 27h, 31h, 00h, 23h, 92h 450F:26E2 10 21 08 00 28 23 db 10h, 21h, 08h, 00h, 28h, 23h 450F:26E8 12 00 21 26 00 23 db 12h, 00h, 21h, 26h, 00h, 23h 450F:26EE 08 00 23 EC 03 27 db 08h, 00h, 23h,0ECh, 03h, 27h 450F:26F4 31 00 23 92 10 21 db 31h, 00h, 23h, 92h, 10h, 21h 450F:26FA 08 00 28 23 0F 00 db 08h, 00h, 28h, 23h, 0Fh, 00h 450F:2700 EF23 data_1429 dw 0EF23h ; Data table (indexed access) 450F:2702 03 27 db 03h, 27h 450F:2704 0028 data_1430 dw 28h ; xref 450F:18FF 450F:2706 1F 08 00 23 00 00 db 1Fh, 08h, 00h, 23h, 00h, 00h 450F:270C 0A 2B db 0Ah, 2Bh 450F:270E 0006 data_1431 dw 6 ; Data table (indexed access) 450F:2710 23 92 10 21 08 00 db 23h, 92h, 10h, 21h, 08h, 00h 450F:2716 28 23 0F 00 23 EC db 28h, 23h, 0Fh, 00h, 23h,0ECh 450F:271C 03 27 28 00 1F 08 db 03h, 27h, 28h, 00h, 1Fh, 08h 450F:2722 00 23 00 00 0A 2B db 00h, 23h, 00h, 00h, 0Ah, 2Bh 450F:2728 06 00 23 92 10 21 db 06h, 00h, 23h, 92h, 10h, 21h 450F:272E 08 00 28 23 10 00 db 08h, 00h, 28h, 23h, 10h, 00h 450F:2734 21 26 00 28 23 1E db 21h, 26h, 00h, 28h, 23h, 1Eh 450F:273A 27 27 2C 00 23 00 db 27h, 27h, 2Ch, 00h, 23h, 00h 450F:2740 00 23 1E 00 23 60 db 00h, 23h, 1Eh, 00h, 23h, 60h 450F:2746 27 27 08 00 23 07 db 27h, 27h, 08h, 00h, 23h, 07h 450F:274C 00 23 EF 03 27 31 db 00h, 23h,0EFh, 03h, 27h, 31h 450F:2752 00 23 13 00 21 26 db 00h, 23h, 13h, 00h, 21h, 26h 450F:2758 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:275E 00 28 23 26 00 23 db 00h, 28h, 23h, 26h, 00h, 23h 450F:2764 EF 03 27 28 00 1F db 0EFh, 03h, 27h, 28h, 00h, 1Fh 450F:276A 08 00 23 00 00 0A db 08h, 00h, 23h, 00h, 00h, 0Ah 450F:2770 2B 0F 00 23 00 00 db 2Bh, 0Fh, 00h, 23h, 00h, 00h 450F:2776 23 0A 00 23 60 27 db 23h, 0Ah, 00h, 23h, 60h, 27h 450F:277C 27 08 00 2D 1C 00 db 27h, 08h, 00h, 2Dh, 1Ch, 00h 450F:2782 1F 26 00 23 15 00 db 1Fh, 26h, 00h, 23h, 15h, 00h 450F:2788 0C 2B 12 00 23 1E db 0Ch, 2Bh, 12h, 00h, 23h, 1Eh 450F:278E 27 27 2A 00 23 00 db 27h, 27h, 2Ah, 00h, 23h, 00h 450F:2794 00 23 02 00 23 9F db 00h, 23h, 02h, 00h, 23h, 9Fh 450F:279A 27 27 08 00 28 23 db 27h, 27h, 08h, 00h, 28h, 23h 450F:27A0 C5 09 27 10 00 23 db 0C5h, 09h, 27h, 10h, 00h, 23h 450F:27A6 C6 09 27 10 00 23 db 0C6h, 09h, 27h, 10h, 00h, 23h 450F:27AC C7 09 27 10 00 27 db 0C7h, 09h, 27h, 10h, 00h, 27h 450F:27B2 3D 00 28 1F 40 00 db 3Dh, 00h, 28h, 1Fh, 40h, 00h 450F:27B8 21 08 00 1F 08 00 db 21h, 08h, 00h, 1Fh, 08h, 00h 450F:27BE 23 00 00 0A 2B 09 db 23h, 00h, 00h, 0Ah, 2Bh, 09h 450F:27C4 00 23 01 00 21 08 db 00h, 23h, 01h, 00h, 21h, 08h 450F:27CA 00 2D 06 00 23 00 db 00h, 2Dh, 06h, 00h, 23h, 00h 450F:27D0 00 21 08 00 28 1F db 00h, 21h, 08h, 00h, 28h, 1Fh 450F:27D6 40 00 21 08 00 28 db 40h, 00h, 21h, 08h, 00h, 28h 450F:27DC 1F 5C 00 21 08 00 db 1Fh, 5Ch, 00h, 21h, 08h, 00h 450F:27E2 1F 08 00 23 00 00 db 1Fh, 08h, 00h, 23h, 00h, 00h 450F:27E8 0A 2B 06 00 23 92 db 0Ah, 2Bh, 06h, 00h, 23h, 92h 450F:27EE 10 21 08 00 28 23 db 10h, 21h, 08h, 00h, 28h, 23h 450F:27F4 00 00 23 07 00 23 db 00h, 00h, 23h, 07h, 00h, 23h 450F:27FA 1E 28 27 08 00 23 db 1Eh, 28h, 27h, 08h, 00h, 23h 450F:2800 00 00 23 01 00 23 db 00h, 00h, 23h, 01h, 00h, 23h 450F:2806 31 28 27 08 00 23 db 31h, 28h, 27h, 08h, 00h, 23h 450F:280C 01 00 21 5C 00 23 db 01h, 00h, 21h, 5Ch, 00h, 23h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 652 450F:2812 10 00 21 26 00 23 db 10h, 00h, 21h, 26h, 00h, 23h 450F:2818 92 10 21 08 00 28 db 92h, 10h, 21h, 08h, 00h, 28h 450F:281E 23 C4 09 23 EC 03 db 23h,0C4h, 09h, 23h,0ECh, 03h 450F:2824 27 13 00 23 09 00 db 27h, 13h, 00h, 23h, 09h, 00h 450F:282A 23 EC 03 27 31 00 db 23h,0ECh, 03h, 27h, 31h, 00h 450F:2830 28 23 C3 09 23 2C db 28h, 23h,0C3h, 09h, 23h, 2Ch 450F:2836 04 27 13 00 28 23 db 04h, 27h, 13h, 00h, 28h, 23h 450F:283C 00 00 23 01 00 23 db 00h, 00h, 23h, 01h, 00h, 23h 450F:2842 4E 28 27 08 00 23 db 4Eh, 28h, 27h, 08h, 00h, 23h 450F:2848 92 10 21 08 00 28 db 92h, 10h, 21h, 08h, 00h, 28h 450F:284E 23 EA 09 23 21 04 db 23h,0EAh, 09h, 23h, 21h, 04h 450F:2854 27 13 00 28 23 92 db 27h, 13h, 00h, 28h, 23h, 92h 450F:285A 10 21 08 00 23 30 db 10h, 21h, 08h, 00h, 23h, 30h 450F:2860 27 27 32 00 23 F3 db 27h, 27h, 32h, 00h, 23h,0F3h 450F:2866 09 27 10 00 23 00 db 09h, 27h, 10h, 00h, 23h, 00h 450F:286C 00 21 6E 00 28 1F db 00h, 21h, 6Eh, 00h, 28h, 1Fh 450F:2872 6E 00 21 08 00 28 db 6Eh, 00h, 21h, 08h, 00h, 28h 450F:2878 1F 72 00 23 00 00 db 1Fh, 72h, 00h, 23h, 00h, 00h 450F:287E 0A 2B 15 00 23 92 db 0Ah, 2Bh, 15h, 00h, 23h, 92h 450F:2884 10 21 08 00 23 00 db 10h, 21h, 08h, 00h, 23h, 00h 450F:288A 00 23 03 00 23 9E db 00h, 23h, 03h, 00h, 23h, 9Eh 450F:2890 28 27 08 00 2D 06 db 28h, 27h, 08h, 00h, 2Dh, 06h 450F:2896 00 23 01 00 21 08 db 00h, 23h, 01h, 00h, 21h, 08h 450F:289C 00 28 23 35 04 27 db 00h, 28h, 23h, 35h, 04h, 27h 450F:28A2 3E 00 28 23 29 27 db 3Eh, 00h, 28h, 23h, 29h, 27h 450F:28A8 27 2C 00 23 02 00 db 27h, 2Ch, 00h, 23h, 02h, 00h 450F:28AE 23 34 04 27 01 00 db 23h, 34h, 04h, 27h, 01h, 00h 450F:28B4 23 37 27 27 32 00 db 23h, 37h, 27h, 27h, 32h, 00h 450F:28BA 23 16 00 21 26 00 db 23h, 16h, 00h, 21h, 26h, 00h 450F:28C0 23 92 10 21 08 00 db 23h, 92h, 10h, 21h, 08h, 00h 450F:28C6 28 1F 74 00 23 00 db 28h, 1Fh, 74h, 00h, 23h, 00h 450F:28CC 00 0A 2B 09 00 23 db 00h, 0Ah, 2Bh, 09h, 00h, 23h 450F:28D2 92 10 21 08 00 2D db 92h, 10h, 21h, 08h, 00h, 2Dh 450F:28D8 06 00 23 03 00 21 db 06h, 00h, 23h, 03h, 00h, 21h 450F:28DE 08 00 28 23 82 0A db 08h, 00h, 28h, 23h, 82h, 0Ah 450F:28E4 23 36 04 27 0C 00 db 23h, 36h, 04h, 27h, 0Ch, 00h 450F:28EA 23 92 10 21 08 00 db 23h, 92h, 10h, 21h, 08h, 00h 450F:28F0 28 23 19 00 21 26 db 28h, 23h, 19h, 00h, 21h, 26h 450F:28F6 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:28FC 00 28 23 00 00 23 db 00h, 28h, 23h, 00h, 00h, 23h 450F:2902 02 00 23 11 29 27 db 02h, 00h, 23h, 11h, 29h, 27h 450F:2908 08 00 23 92 10 21 db 08h, 00h, 23h, 92h, 10h, 21h 450F:290E 08 00 28 23 E8 03 db 08h, 00h, 28h, 23h,0E8h, 03h 450F:2914 21 02 00 23 2A 00 db 21h, 02h, 00h, 23h, 2Ah, 00h 450F:291A 23 00 40 02 23 E7 db 23h, 00h, 40h, 02h, 23h,0E7h 450F:2920 00 23 1C 01 27 19 db 00h, 23h, 1Ch, 01h, 27h, 19h 450F:2926 00 23 02 00 21 98 db 00h, 23h, 02h, 00h, 21h, 98h 450F:292C 00 28 23 92 10 21 db 00h, 28h, 23h, 92h, 10h, 21h 450F:2932 08 00 23 00 00 23 db 08h, 00h, 23h, 00h, 00h, 23h 450F:2938 02 00 23 41 29 27 db 02h, 00h, 23h, 41h, 29h, 27h 450F:293E 08 00 28 23 E2 0A db 08h, 00h, 28h, 23h,0E2h, 0Ah 450F:2944 23 21 04 23 29 04 db 23h, 21h, 04h, 23h, 29h, 04h 450F:294A 27 1D 00 28 1F 4A db 27h, 1Dh, 00h, 28h, 1Fh, 4Ah 450F:2950 00 21 08 00 28 23 db 00h, 21h, 08h, 00h, 28h, 23h 450F:2956 46 0B 27 10 00 23 db 46h, 0Bh, 27h, 10h, 00h, 23h 450F:295C 92 10 21 08 00 28 db 92h, 10h, 21h, 08h, 00h, 28h 450F:2962 23 4C 0B 27 10 00 db 23h, 4Ch, 0Bh, 27h, 10h, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 653 450F:2968 23 31 27 27 32 00 db 23h, 31h, 27h, 27h, 32h, 00h 450F:296E 23 05 00 23 E8 03 db 23h, 05h, 00h, 23h,0E8h, 03h 450F:2974 27 22 00 23 92 10 db 27h, 22h, 00h, 23h, 92h, 10h 450F:297A 21 08 00 28 27 1C db 21h, 08h, 00h, 28h, 27h, 1Ch 450F:2980 00 23 42 0B 27 10 db 00h, 23h, 42h, 0Bh, 27h, 10h 450F:2986 00 23 31 27 27 06 db 00h, 23h, 31h, 27h, 27h, 06h 450F:298C 00 23 1D 27 27 32 db 00h, 23h, 1Dh, 27h, 27h, 32h 450F:2992 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:2998 00 28 23 A3 0F 23 db 00h, 28h, 23h,0A3h, 0Fh, 23h 450F:299E F2 03 27 0C 00 23 db 0F2h, 03h, 27h, 0Ch, 00h, 23h 450F:29A4 92 10 21 08 00 28 db 92h, 10h, 21h, 08h, 00h, 28h 450F:29AA 23 01 00 21 26 00 db 23h, 01h, 00h, 21h, 26h, 00h 450F:29B0 23 0A 00 23 F2 03 db 23h, 0Ah, 00h, 23h,0F2h, 03h 450F:29B6 27 31 00 23 92 10 db 27h, 31h, 00h, 23h, 92h, 10h 450F:29BC 21 08 00 28 23 01 db 21h, 08h, 00h, 28h, 23h, 01h 450F:29C2 00 21 26 00 23 0B db 00h, 21h, 26h, 00h, 23h, 0Bh 450F:29C8 00 23 F2 03 27 31 db 00h, 23h,0F2h, 03h, 27h, 31h 450F:29CE 00 23 92 10 21 08 db 00h, 23h, 92h, 10h, 21h, 08h 450F:29D4 00 28 23 01 00 21 db 00h, 28h, 23h, 01h, 00h, 21h 450F:29DA 26 00 23 0C 00 23 db 26h, 00h, 23h, 0Ch, 00h, 23h 450F:29E0 F2 03 27 31 00 23 db 0F2h, 03h, 27h, 31h, 00h, 23h 450F:29E6 92 10 21 08 00 28 db 92h, 10h, 21h, 08h, 00h, 28h 450F:29EC 23 0A 00 23 F2 03 db 23h, 0Ah, 00h, 23h,0F2h, 03h 450F:29F2 27 31 00 23 04 00 db 27h, 31h, 00h, 23h, 04h, 00h 450F:29F8 21 26 00 23 92 10 db 21h, 26h, 00h, 23h, 92h, 10h 450F:29FE 21 08 00 28 1F 7E db 21h, 08h, 00h, 28h, 1Fh, 7Eh 450F:2A04 00 21 08 00 28 23 db 00h, 21h, 08h, 00h, 28h, 23h 450F:2A0A 05 00 21 26 00 23 db 05h, 00h, 21h, 26h, 00h, 23h 450F:2A10 00 10 23 F2 03 27 db 00h, 10h, 23h,0F2h, 03h, 27h 450F:2A16 3F 00 23 92 10 21 db 3Fh, 00h, 23h, 92h, 10h, 21h 450F:2A1C 08 00 28 23 03 00 db 08h, 00h, 28h, 23h, 03h, 00h 450F:2A22 23 37 04 27 01 00 db 23h, 37h, 04h, 27h, 01h, 00h 450F:2A28 23 92 10 21 08 00 db 23h, 92h, 10h, 21h, 08h, 00h 450F:2A2E 28 23 71 0B 27 10 db 28h, 23h, 71h, 0Bh, 27h, 10h 450F:2A34 00 23 34 27 27 32 db 00h, 23h, 34h, 27h, 27h, 32h 450F:2A3A 00 23 92 db 00h, 23h, 92h 450F:2A3D loc_2373: 450F:2A3D 10 21 adc [bx+di],ah 450F:2A3F 08 00 or [bx+si],al 450F:2A41 28 23 sub [bp+di],ah 450F:2A43 0D 2100 or ax,2100h 450F:2A46 26: 00 23 add es:[bp+di],ah 450F:2A49 92 xchg dx,ax 450F:2A4A 10 21 adc [bx+di],ah 450F:2A4C 08 00 or [bx+si],al 450F:2A4E 28 1F sub [bx],bl 450F:2A50 4A dec dx 450F:2A51 00 23 add [bp+di],ah 450F:2A53 02 00 add al,[bx+si] 450F:2A55 0A 2B or ch,[bp+di] 450F:2A57 06 push es 450F:2A58 00 23 add [bp+di],ah 450F:2A5A 01 00 add [bx+si],ax 450F:2A5C 21 08 and [bx+si],cx 450F:2A5E 00 28 add [bx+si],ch 450F:2A60 23 91 270B and dx,ds:data_36e[bx+di] ; (0000:270B=113h) 450F:2A64 10 00 adc [bx+si],al nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 654 450F:2A66 23 92 270B and dx,[bp+si+270Bh] 450F:2A6A 10 00 adc [bx+si],al 450F:2A6C 23 92 2110 and dx,[bp+si+2110h] 450F:2A70 08 00 or [bx+si],al 450F:2A72 28 23 sub [bp+di],ah 450F:2A74 92 xchg dx,ax 450F:2A75 10 21 adc [bx+di],ah 450F:2A77 08 00 or [bx+si],al 450F:2A79 23 4D 01 and cx,[di+1] 450F:2A7C 23 42 04 and ax,[bp+si+4] 450F:2A7F 27 daa ; Decimal adjust 450F:2A80 0C 00 or al,0 450F:2A82 28 23 sub [bp+di],ah 450F:2A84 24 27 and al,27h ; ''' 450F:2A86 27 daa ; Decimal adjust 450F:2A87 32 00 xor al,[bx+si] 450F:2A89 23 4C 0C and cx,[si+0Ch] 450F:2A8C 27 daa ; Decimal adjust 450F:2A8D 10 00 adc [bx+si],al 450F:2A8F 23 92 2110 and dx,[bp+si+2110h] 450F:2A93 08 00 or [bx+si],al 450F:2A95 28 23 sub [bp+di],ah 450F:2A97 92 xchg dx,ax 450F:2A98 10 21 adc [bx+di],ah 450F:2A9A 08 00 or [bx+si],al 450F:2A9C 23 56 0C and dx,[bp+0Ch] 450F:2A9F 27 daa ; Decimal adjust 450F:2AA0 10 00 adc [bx+si],al 450F:2AA2 23 01 and ax,[bx+di] 450F:2AA4 00 21 add [bx+di],ah 450F:2AA6 94 xchg sp,ax 450F:2AA7 00 28 add [bx+si],ch 450F:2AA9 23 71 01 and si,[bx+di+1] 450F:2AAC 23 27 and sp,[bx] 450F:2AAE 04 27 add al,27h ; ''' 450F:2AB0 0C 00 or al,0 450F:2AB2 23 92 2110 and dx,[bp+si+2110h] 450F:2AB6 08 00 or [bx+si],al 450F:2AB8 28 23 sub [bp+di],ah 450F:2ABA 01 00 add [bx+si],ax 450F:2ABC 21 A2 2800 and [bp+si+2800h],sp 450F:2AC0 23 00 and ax,[bx+si] 450F:2AC2 00 21 add [bx+di],ah 450F:2AC4 A2 2800 mov ds:data_37e,al ; (0000:2800=12h) 450F:2AC7 1F pop ds 450F:2AC8 A4 movsb ; Mov [si] to es:[di] 450F:2AC9 00 23 add [bp+di],ah 450F:2ACB 00 00 add [bx+si],al 450F:2ACD 0A 2B or ch,[bp+di] 450F:2ACF 18 00 sbb [bx+si],al 450F:2AD1 23 2C and bp,[si] 450F:2AD3 00 23 add [bp+di],ah 450F:2AD5 32 00 xor al,[bx+si] 450F:2AD7 27 daa ; Decimal adjust 450F:2AD8 40 inc ax 450F:2AD9 00 1F add [bx],bl 450F:2ADB 0A 00 or al,[bx+si] nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 655 450F:2ADD 27 daa ; Decimal adjust 450F:2ADE 0D 2300 or ax,2300h 450F:2AE1 0C 00 or al,0 450F:2AE3 21 A6 2D00 and [bp+2D00h],sp 450F:2AE7 3C 00 cmp al,0 450F:2AE9 1F pop ds 450F:2AEA A4 movsb ; Mov [si] to es:[di] 450F:2AEB 00 23 add [bp+di],ah 450F:2AED 01 00 add [bx+si],ax 450F:2AEF 0A 2B or ch,[bp+di] 450F:2AF1 09 00 or [bx+si],ax 450F:2AF3 23 01 and ax,[bx+di] 450F:2AF5 00 27 add [bx],ah 450F:2AF7 0D 2D00 or ax,2D00h 450F:2AFA 29 00 sub [bx+si],ax 450F:2AFC 1F pop ds 450F:2AFD A4 movsb ; Mov [si] to es:[di] 450F:2AFE 00 23 add [bp+di],ah 450F:2B00 02 00 add al,[bx+si] 450F:2B02 0A 2B or ch,[bp+di] 450F:2B04 09 00 or [bx+si],ax 450F:2B06 23 0B and cx,[bp+di] 450F:2B08 00 27 add [bx],ah 450F:2B0A 0D 2D00 or ax,2D00h 450F:2B0D 16 push ss 450F:2B0E 00 1F add [bx],bl 450F:2B10 A4 movsb ; Mov [si] to es:[di] 450F:2B11 00 23 add [bp+di],ah 450F:2B13 03 00 add ax,[bx+si] 450F:2B15 0A 2B or ch,[bp+di] 450F:2B17 0C 00 or al,0 450F:2B19 23 21 and sp,[bx+di] 450F:2B1B 00 27 add [bx],ah 450F:2B1D 0D 2300 or ax,2300h 450F:2B20 0C 00 or al,0 450F:2B22 21 A6 1F00 and [bp+1F00h],sp 450F:2B26 A6 cmpsb ; Cmp [si] to es:[di] 450F:2B27 00 23 add [bp+di],ah 450F:2B29 0C 00 or al,0 450F:2B2B 0E push cs 450F:2B2C 2B 0F sub cx,[bx] 450F:2B2E 00 23 add [bp+di],ah 450F:2B30 00 00 add [bx+si],al 450F:2B32 23 03 and ax,[bp+di] 450F:2B34 00 23 add [bp+di],ah 450F:2B36 C7 2A 27 08 00 2D db 0C7h, 2Ah, 27h, 08h, 00h, 2Dh 450F:2B3C 1B 00 23 00 00 21 db 1Bh, 00h, 23h, 00h, 00h, 21h 450F:2B42 A6 00 23 3C 00 23 db 0A6h, 00h, 23h, 3Ch, 00h, 23h 450F:2B48 C8 00 27 40 00 23 db 0C8h, 00h, 27h, 40h, 00h, 23h 450F:2B4E 00 00 1F 0A 00 23 db 00h, 00h, 1Fh, 0Ah, 00h, 23h 450F:2B54 C7 2A 27 08 00 28 db 0C7h, 2Ah, 27h, 08h, 00h, 28h 450F:2B5A 1F A4 00 23 01 00 db 1Fh,0A4h, 00h, 23h, 01h, 00h 450F:2B60 0A 2B 06 00 23 03 db 0Ah, 2Bh, 06h, 00h, 23h, 03h 450F:2B66 00 27 02 00 1F A8 db 00h, 27h, 02h, 00h, 1Fh,0A8h 450F:2B6C 00 23 01 00 02 21 db 00h, 23h, 01h, 00h, 02h, 21h 450F:2B72 A8 00 1F A8 00 23 db 0A8h, 00h, 1Fh,0A8h, 00h, 23h 450F:2B78 04 00 0A 2B 0F 00 db 04h, 00h, 0Ah, 2Bh, 0Fh, 00h nlure.lst Sourcer v6.09 17-Nov- 5 5:53 pm Page 656 450F:2B7E 23 00 00 23 02 00 db 23h, 00h, 00h, 23h, 02h, 00h 450F:2B84 23 5A 2B 27 08 00 db 23h, 5Ah, 2Bh, 27h, 08h, 00h 450F:2B8A 2D 34 00 1F A8 00 db 2Dh, 34h, 00h, 1Fh,0A8h, 00h 450F:2B90 23 07 00 0E 2B 0F db 23h, 07h, 00h, 0Eh, 2Bh, 0Fh 450F:2B96 00 23 00 00 23 01 db 00h, 23h, 00h, 00h, 23h, 01h 450F:2B9C 00 23 5A 2B 27 08 db 00h, 23h, 5Ah, 2Bh, 27h, 08h 450F:2BA2 00 2D 1B 00 23 00 db 00h, 2Dh, 1Bh, 00h, 23h, 00h 450F:2BA8 00 21 A8 00 23 3C db 00h, 21h,0A8h, 00h, 23h, 3Ch 450F:2BAE 00 23 C8 00 27 40 db 00h, 23h,0C8h, 00h, 27h, 40h 450F:2BB4 00 23 00 00 1F 0A db 00h, 23h, 00h, 00h, 1Fh, 0Ah 450F:2BBA 00 23 5A 2B 27 08 db 00h, 23h, 5Ah, 2Bh, 27h, 08h 450F:2BC0 00 28 1F A4 00 23 db 00h, 28h, 1Fh,0A4h, 00h, 23h 450F:2BC6 01 00 0A 2B 06 00 db 01h, 00h, 0Ah, 2Bh, 06h, 00h 450F:2BCC 23 18 00 27 02 00 db 23h, 18h, 00h, 27h, 02h, 00h 450F:2BD2 23 14 00 23 96 00 db 23h, 14h, 00h, 23h, 96h, 00h 450F:2BD8 27 40 00 23 00 00 db 27h, 40h, 00h, 23h, 00h, 00h 450F:2BDE 1F 0A 00 23 C2 2B db 1Fh, 0Ah, 00h, 23h,0C2h, 2Bh 450F:2BE4 27 08 00 28 27 41 db 27h, 08h, 00h, 28h, 27h, 41h 450F:2BEA 00 28 23 12 00 27 db 00h, 28h, 23h, 12h, 00h, 27h 450F:2BF0 0D 00 28 23 15 00 db 0Dh, 00h, 28h, 23h, 15h, 00h 450F:2BF6 27 0D 00 28 23 0C db 27h, 0Dh, 00h, 28h, 23h, 0Ch 450F:2BFC 00 27 0D 00 28 23 db 00h, 27h, 0Dh, 00h, 28h, 23h 450F:2C02 0C 00 27 0D 00 28 db 0Ch, 00h, 27h, 0Dh, 00h, 28h 450F:2C08 23 15 00 27 0D 00 db 23h, 15h, 00h, 27h, 0Dh, 00h 450F:2C0E 28 23 0F 00 27 0D db 28h, 23h, 0Fh, 00h, 27h, 0Dh 450F:2C14 00 28 23 0E 00 27 db 00h, 28h, 23h, 0Eh, 00h, 27h 450F:2C1A 0D 00 28 23 15 00 db 0Dh, 00h, 28h, 23h, 15h, 00h 450F:2C20 27 42 00 1F 0A 00 db 27h, 42h, 00h, 1Fh, 0Ah, 00h 450F:2C26 21 08 00 1F 08 00 db 21h, 08h, 00h, 1Fh, 08h, 00h 450F:2C2C 23 00 00 0A 2B 06 db 23h, 00h, 00h, 0Ah, 2Bh, 06h 450F:2C32 00 23 19 00 27 0D db 00h, 23h, 19h, 00h, 27h, 0Dh 450F:2C38 00 28 23 19 00 27 db 00h, 28h, 23h, 19h, 00h, 27h 450F:2C3E 0D 00 28 23 04 00 db 0Dh, 00h, 28h, 23h, 04h, 00h 450F:2C44 27 0D 00 db 27h, 0Dh, 00h 450F:2C47 loc_2374: 450F:2C47 23 16 2701 and dx,ds:data_35e ; (0000:2701=2EE4h) 450F:2C4B 10 00 adc [bx+si],al 450F:2C4D 23 01 and ax,[bx+di] 450F:2C4F 00 21 add [bx+di],ah 450F:2C51 08 00 or [bx+si],al 450F:2C53 28 00 sub [bx+si],al 450F:2C55 000B[00] db 11 dup (0) scripts_seg ends ;-------------------------------------------------- messages_seg ---------- messages_seg segment byte public assume cs:messages_seg, ds:messages_seg, ss:stack_seg_k 47D5:0000 E8 data_1437 db 0E8h ; xref 273F:63CC 47D5:0001 03 5C 00 E9 03 EE db 03h, 5Ch, 00h,0E9h, 03h,0EEh 47D5:0007 00 11 04 EE 00 EA db 00h, 11h, 04h,0EEh, 00h,0EAh 47D5:000D 03 A0 01 12 04 EE db 03h,0A0h, 01h, 12h, 04h,0EEh 47D5:0013 00 EB 03 B6 01 F2 db 00h,0EBh, 03h,0B6h, 01h,0F2h 47D5:0019 03 E8 01 EC 03 F2 db 03h,0E8h, 01h,0ECh, 03h,0F2h 47D5:001F 03 ED 03 12 03 F1 db 03h,0EDh, 03h, 12h, 03h,0F1h 47D5:0025 03 DC 02 EE 03 76 db 03h,0DCh, 02h,0EEh, 03h, 76h 47D5:002B 03 F0 03 44 03 EF db 03h,0F0h, 03h, 44h, 03h,0EFh 47D5:0031 03 A8 03 29 04 46 db 03h,0A8h, 03h, 29h, 04h, 46h 47D5:0037 04 20 04 60 04 1F db 04h, 20h, 04h, 60h, 04h, 1Fh 47D5:003D 04 40 02 21 04 5E db 04h, 40h, 02h, 21h, 04h, 5Eh 47D5:0043 02 2B 04 78 02 36 db 02h, 2Bh, 04h, 78h, 02h, 36h 47D5:0049 04 B6 02 22 04 2C db 04h,0B6h, 02h, 22h, 04h, 2Ch 47D5:004F 04 27 04 12 02 42 db 04h, 27h, 04h, 12h, 02h, 42h 47D5:0055 04 92 02 34 04 AC db 04h, 92h, 02h, 34h, 04h,0ACh 47D5:005B 02 80 00 00 00 A1 db 02h, 80h, 00h, 00h, 00h,0A1h 47D5:0061 80 0B 00 EC 80 10 db 80h, 0Bh, 00h,0ECh, 80h, 10h 47D5:0067 00 68 80 11 00 0F db 00h, 68h, 80h, 11h, 00h, 0Fh 47D5:006D 8A 2D 00 08 81 12 db 8Ah, 2Dh, 00h, 08h, 81h, 12h 47D5:0073 00 1E 81 19 00 1F db 00h, 1Eh, 81h, 19h, 00h, 1Fh 47D5:0079 81 1A 00 82 80 02 db 81h, 1Ah, 00h, 82h, 80h, 02h 47D5:007F 00 89 80 06 00 83 db 00h, 89h, 80h, 06h, 00h, 83h 47D5:0085 80 03 00 88 80 04 db 80h, 03h, 00h, 88h, 80h, 04h 47D5:008B 00 A4 80 33 00 75 db 00h,0A4h, 80h, 33h, 00h, 75h 47D5:0091 00 05 00 9E 00 07 db 00h, 05h, 00h, 9Eh, 00h, 07h 47D5:0097 00 9F 00 08 00 A0 db 00h, 9Fh, 00h, 08h, 00h,0A0h 47D5:009D 00 09 00 76 00 0D db 00h, 09h, 00h, 76h, 00h, 0Dh 47D5:00A3 00 00 00 0E 00 09 db 00h, 00h, 00h, 0Eh, 00h, 09h 47D5:00A9 81 13 00 0A 81 14 db 81h, 13h, 00h, 0Ah, 81h, 14h 47D5:00AF 00 18 81 16 00 14 db 00h, 18h, 81h, 16h, 00h, 14h 47D5:00B5 81 17 00 13 81 18 db 81h, 17h, 00h, 13h, 81h, 18h 47D5:00BB 00 15 88 28 00 16 db 00h, 15h, 88h, 28h, 00h, 16h 47D5:00C1 81 1B 00 26 81 1C db 81h, 1Bh, 00h, 26h, 81h, 1Ch 47D5:00C7 00 2D 81 1D 00 2E db 00h, 2Dh, 81h, 1Dh, 00h, 2Eh 47D5:00CD 81 1E 00 2F 81 1F db 81h, 1Eh, 00h, 2Fh, 81h, 1Fh 47D5:00D3 00 73 80 21 00 37 db 00h, 73h, 80h, 21h, 00h, 37h 47D5:00D9 81 23 00 B1 8C 2F db 81h, 23h, 00h,0B1h, 8Ch, 2Fh 47D5:00DF 00 00 00 29 00 4A db 00h, 00h, 00h, 29h, 00h, 4Ah 47D5:00E5 81 2A 00 6D 81 2E db 81h, 2Ah, 00h, 6Dh, 81h, 2Eh 47D5:00EB 00 FF FF 80 00 00 db 00h,0FFh,0FFh, 80h, 00h, 00h 47D5:00F1 00 A1 00 0B 00 EC db 00h,0A1h, 00h, 0Bh, 00h,0ECh 47D5:00F7 00 10 00 08 01 12 db 00h, 10h, 00h, 08h, 01h, 12h 47D5:00FD 00 20 01 19 00 20 db 00h, 20h, 01h, 19h, 00h, 20h 47D5:0103 01 1A 00 6A 00 0F db 01h, 1Ah, 00h, 6Ah, 00h, 0Fh 47D5:0109 00 76 00 0D 00 82 db 00h, 76h, 00h, 0Dh, 00h, 82h 47D5:010F 00 02 00 83 00 03 db 00h, 02h, 00h, 83h, 00h, 03h 47D5:0115 00 88 00 04 00 A4 db 00h, 88h, 00h, 04h, 00h,0A4h 47D5:011B 00 33 00 72 01 06 db 00h, 33h, 00h, 72h, 01h, 06h 47D5:0121 00 75 00 05 00 9E db 00h, 75h, 00h, 05h, 00h, 9Eh 47D5:0127 00 07 00 9F 00 08 db 00h, 07h, 00h, 9Fh, 00h, 08h 47D5:012D 00 A0 00 09 00 7E db 00h,0A0h, 00h, 09h, 00h, 7Eh 47D5:0133 00 0A 00 7F 00 20 db 00h, 0Ah, 00h, 7Fh, 00h, 20h 47D5:0139 00 7B 00 24 00 76 db 00h, 7Bh, 00h, 24h, 00h, 76h 47D5:013F 00 01 00 76 00 0C db 00h, 01h, 00h, 76h, 00h, 0Ch 47D5:0145 00 76 00 2B 00 00 db 00h, 76h, 00h, 2Bh, 00h, 00h 47D5:014B 00 0E 00 E9 08 2C db 00h, 0Eh, 00h,0E9h, 08h, 2Ch 47D5:0151 00 68 00 11 00 18 db 00h, 68h, 00h, 11h, 00h, 18h 47D5:0157 01 16 00 17 01 17 db 01h, 16h, 00h, 17h, 01h, 17h 47D5:015D 00 76 00 18 00 76 db 00h, 76h, 00h, 18h, 00h, 76h 47D5:0163 00 1C 00 14 08 28 db 00h, 1Ch, 00h, 14h, 08h, 28h 47D5:0169 00 74 00 22 00 20 db 00h, 74h, 00h, 22h, 00h, 20h 47D5:016F 01 23 00 76 00 2F db 01h, 23h, 00h, 76h, 00h, 2Fh 47D5:0175 00 C8 08 29 00 77 db 00h,0C8h, 08h, 29h, 00h, 77h 47D5:017B 01 2A 00 20 01 1B db 01h, 2Ah, 00h, 20h, 01h, 1Bh 47D5:0181 00 20 01 1D 00 76 db 00h, 20h, 01h, 1Dh, 00h, 76h 47D5:0187 00 1E 00 76 00 1F db 00h, 1Eh, 00h, 76h, 00h, 1Fh 47D5:018D 00 20 01 21 00 68 db 00h, 20h, 01h, 21h, 00h, 68h 47D5:0193 00 13 00 34 01 14 db 00h, 13h, 00h, 34h, 01h, 14h 47D5:0199 00 6E 01 2E 00 FF db 00h, 6Eh, 01h, 2Eh, 00h,0FFh 47D5:019F FF 76 00 02 00 76 db 0FFh, 76h, 00h, 02h, 00h, 76h 47D5:01A5 00 06 00 76 00 0D db 00h, 06h, 00h, 76h, 00h, 0Dh 47D5:01AB 00 9B 00 0C 00 76 db 00h, 9Bh, 00h, 0Ch, 00h, 76h 47D5:01B1 00 2B 00 FF FF 82 db 00h, 2Bh, 00h,0FFh,0FFh, 82h 47D5:01B7 00 02 00 76 00 0D db 00h, 02h, 00h, 76h, 00h, 0Dh 47D5:01BD 00 00 00 03 00 00 db 00h, 00h, 00h, 03h, 00h, 00h 47D5:01C3 00 04 00 AE 0B 0A db 00h, 04h, 00h,0AEh, 0Bh, 0Ah 47D5:01C9 00 C0 0B 24 00 C3 db 00h,0C0h, 0Bh, 24h, 00h,0C3h 47D5:01CF 0C 31 00 76 00 01 db 0Ch, 31h, 00h, 76h, 00h, 01h 47D5:01D5 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:01DB 00 2B 00 D3 08 29 db 00h, 2Bh, 00h,0D3h, 08h, 29h 47D5:01E1 00 C3 0C 30 00 FF db 00h,0C3h, 0Ch, 30h, 00h,0FFh 47D5:01E7 FF 76 00 00 00 76 db 0FFh, 76h, 00h, 00h, 00h, 76h 47D5:01ED 00 11 00 76 00 0D db 00h, 11h, 00h, 76h, 00h, 0Dh 47D5:01F3 00 91 01 0A 00 90 db 00h, 91h, 01h, 0Ah, 00h, 90h 47D5:01F9 01 24 00 1C 10 20 db 01h, 24h, 00h, 1Ch, 10h, 20h 47D5:01FF 00 76 00 01 00 76 db 00h, 76h, 00h, 01h, 00h, 76h 47D5:0205 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:020B 00 92 01 29 00 FF db 00h, 92h, 01h, 29h, 00h,0FFh 47D5:0211 FF 76 00 01 00 82 db 0FFh, 76h, 00h, 01h, 00h, 82h 47D5:0217 00 02 00 B6 0B 0A db 00h, 02h, 00h,0B6h, 0Bh, 0Ah 47D5:021D 00 BA 0C 32 00 C7 db 00h,0BAh, 0Ch, 32h, 00h,0C7h 47D5:0223 0B 24 00 BD 0C 31 db 0Bh, 24h, 00h,0BDh, 0Ch, 31h 47D5:0229 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:022F 00 2B 00 76 00 0D db 00h, 2Bh, 00h, 76h, 00h, 0Dh 47D5:0235 00 8B 08 29 00 C5 db 00h, 8Bh, 08h, 29h, 00h,0C5h 47D5:023B 0C 30 00 FF FF B3 db 0Ch, 30h, 00h,0FFh,0FFh,0B3h 47D5:0241 0B 0A 00 C5 0B 24 db 0Bh, 0Ah, 00h,0C5h, 0Bh, 24h 47D5:0247 00 C2 0C 31 00 76 db 00h,0C2h, 0Ch, 31h, 00h, 76h 47D5:024D 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:0253 00 C5 08 29 00 C5 db 00h,0C5h, 08h, 29h, 00h,0C5h 47D5:0259 08 30 00 FF FF 76 db 08h, 30h, 00h,0FFh,0FFh, 76h 47D5:025F 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:0265 00 7A 08 29 00 01 db 00h, 7Ah, 08h, 29h, 00h, 01h 47D5:026B 09 24 00 B1 0B 0A db 09h, 24h, 00h,0B1h, 0Bh, 0Ah 47D5:0271 00 C3 0B 24 00 FF db 00h,0C3h, 0Bh, 24h, 00h,0FFh 47D5:0277 FF B5 0B 0A 00 76 db 0FFh,0B5h, 0Bh, 0Ah, 00h, 76h 47D5:027D 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:0283 00 57 09 29 00 57 db 00h, 57h, 09h, 29h, 00h, 57h 47D5:0289 09 30 00 4F 0B 24 db 09h, 30h, 00h, 4Fh, 0Bh, 24h 47D5:028F 00 FF FF 0B 0C 0A db 00h,0FFh,0FFh, 0Bh, 0Ch, 0Ah 47D5:0295 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:029B 00 2B 00 0E 0C 29 db 00h, 2Bh, 00h, 0Eh, 0Ch, 29h 47D5:02A1 00 C6 0C 30 00 0C db 00h,0C6h, 0Ch, 30h, 00h, 0Ch 47D5:02A7 0C 24 00 FF FF 76 db 0Ch, 24h, 00h,0FFh,0FFh, 76h 47D5:02AD 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:02B3 00 FF FF 76 00 0C db 00h,0FFh,0FFh, 76h, 00h, 0Ch 47D5:02B9 00 76 00 2B 00 35 db 00h, 76h, 00h, 2Bh, 00h, 35h 47D5:02BF 0B 29 00 01 09 24 db 0Bh, 29h, 00h, 01h, 09h, 24h 47D5:02C5 00 A9 0B 0A 00 BB db 00h,0A9h, 0Bh, 0Ah, 00h,0BBh 47D5:02CB 0C 32 00 B9 0B 24 db 0Ch, 32h, 00h,0B9h, 0Bh, 24h 47D5:02D1 00 C0 0C 31 00 C0 db 00h,0C0h, 0Ch, 31h, 00h,0C0h 47D5:02D7 0C 30 00 FF FF B7 db 0Ch, 30h, 00h,0FFh,0FFh,0B7h 47D5:02DD 0B 0A 00 C8 0B 24 db 0Bh, 0Ah, 00h,0C8h, 0Bh, 24h 47D5:02E3 00 BE 0C 31 00 76 db 00h,0BEh, 0Ch, 31h, 00h, 76h 47D5:02E9 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:02EF 00 76 00 01 00 82 db 00h, 76h, 00h, 01h, 00h, 82h 47D5:02F5 00 02 00 00 00 03 db 00h, 02h, 00h, 00h, 00h, 03h 47D5:02FB 00 00 00 04 00 76 db 00h, 00h, 00h, 04h, 00h, 76h 47D5:0301 00 0D 00 E9 0B 29 db 00h, 0Dh, 00h,0E9h, 0Bh, 29h 47D5:0307 00 C7 0C 30 00 E8 db 00h,0C7h, 0Ch, 30h, 00h,0E8h 47D5:030D 08 2C 00 FF FF AF db 08h, 2Ch, 00h,0FFh,0FFh,0AFh 47D5:0313 0B 0A 00 C1 0B 24 db 0Bh, 0Ah, 00h,0C1h, 0Bh, 24h 47D5:0319 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:031F 00 2B 00 76 00 01 db 00h, 2Bh, 00h, 76h, 00h, 01h 47D5:0325 00 82 00 02 00 00 db 00h, 82h, 00h, 02h, 00h, 00h 47D5:032B 00 03 00 00 00 04 db 00h, 03h, 00h, 00h, 00h, 04h 47D5:0331 00 76 00 0D 00 16 db 00h, 76h, 00h, 0Dh, 00h, 16h 47D5:0337 0B 29 00 16 0B 30 db 0Bh, 29h, 00h, 16h, 0Bh, 30h 47D5:033D 00 E8 08 2C 00 FF db 00h,0E8h, 08h, 2Ch, 00h,0FFh 47D5:0343 FF B4 0B 0A 00 C6 db 0FFh,0B4h, 0Bh, 0Ah, 00h,0C6h 47D5:0349 0B 24 00 76 00 0C db 0Bh, 24h, 00h, 76h, 00h, 0Ch 47D5:034F 00 76 00 2B 00 76 db 00h, 76h, 00h, 2Bh, 00h, 76h 47D5:0355 00 01 00 82 00 02 db 00h, 01h, 00h, 82h, 00h, 02h 47D5:035B 00 00 00 03 00 00 db 00h, 00h, 00h, 03h, 00h, 00h 47D5:0361 00 04 00 76 00 0D db 00h, 04h, 00h, 76h, 00h, 0Dh 47D5:0367 00 E8 0B 29 00 CA db 00h,0E8h, 0Bh, 29h, 00h,0CAh 47D5:036D 0C 30 00 E8 08 2C db 0Ch, 30h, 00h,0E8h, 08h, 2Ch 47D5:0373 00 FF FF B8 0B 0A db 00h,0FFh,0FFh,0B8h, 0Bh, 0Ah 47D5:0379 00 C9 0B 24 00 76 db 00h,0C9h, 0Bh, 24h, 00h, 76h 47D5:037F 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:0385 00 76 00 01 00 82 db 00h, 76h, 00h, 01h, 00h, 82h 47D5:038B 00 02 00 00 00 03 db 00h, 02h, 00h, 00h, 00h, 03h 47D5:0391 00 00 00 04 00 76 db 00h, 00h, 00h, 04h, 00h, 76h 47D5:0397 00 0D 00 EA 0B 29 db 00h, 0Dh, 00h,0EAh, 0Bh, 29h 47D5:039D 00 EA 0B 30 00 E8 db 00h,0EAh, 0Bh, 30h, 00h,0E8h 47D5:03A3 08 2C 00 FF FF AB db 08h, 2Ch, 00h,0FFh,0FFh,0ABh 47D5:03A9 0B 0A 00 BB 0B 24 db 0Bh, 0Ah, 00h,0BBh, 0Bh, 24h 47D5:03AF 00 0E 0A 2D 00 76 db 00h, 0Eh, 0Ah, 2Dh, 00h, 76h 47D5:03B5 00 0C 00 76 00 2B db 00h, 0Ch, 00h, 76h, 00h, 2Bh 47D5:03BB 00 76 00 01 00 82 db 00h, 76h, 00h, 01h, 00h, 82h 47D5:03C1 00 02 00 00 00 03 db 00h, 02h, 00h, 00h, 00h, 03h 47D5:03C7 00 00 00 04 00 76 db 00h, 00h, 00h, 04h, 00h, 76h 47D5:03CD 00 06 00 76 00 0D db 00h, 06h, 00h, 76h, 00h, 0Dh 47D5:03D3 00 76 09 29 00 76 db 00h, 76h, 09h, 29h, 00h, 76h 47D5:03D9 09 30 00 E8 08 2C db 09h, 30h, 00h,0E8h, 08h, 2Ch 47D5:03DF 00 80 00 00 00 A1 db 00h, 80h, 00h, 00h, 00h,0A1h 47D5:03E5 00 0B 00 9D 0C 10 db 00h, 0Bh, 00h, 9Dh, 0Ch, 10h 47D5:03EB 00 CB 0C 34 00 FF db 00h,0CBh, 0Ch, 34h, 00h,0FFh 47D5:03F1 FF AD 0B 0A 00 BD db 0FFh,0ADh, 0Bh, 0Ah, 00h,0BDh 47D5:03F7 0B 24 00 BF 0C 31 db 0Bh, 24h, 00h,0BFh, 0Ch, 31h 47D5:03FD 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:0403 00 2B 00 76 00 01 db 00h, 2Bh, 00h, 76h, 00h, 01h 47D5:0409 00 82 00 02 00 00 db 00h, 82h, 00h, 02h, 00h, 00h 47D5:040F 00 03 00 00 00 04 db 00h, 03h, 00h, 00h, 00h, 04h 47D5:0415 00 76 00 0D 00 71 db 00h, 76h, 00h, 0Dh, 00h, 71h 47D5:041B 09 29 00 BF 0C 30 db 09h, 29h, 00h,0BFh, 0Ch, 30h 47D5:0421 00 E8 08 2C 00 75 db 00h,0E8h, 08h, 2Ch, 00h, 75h 47D5:0427 00 05 00 FF FF AC db 00h, 05h, 00h,0FFh,0FFh,0ACh 47D5:042D 0B 0A 00 BC 0B 24 db 0Bh, 0Ah, 00h,0BCh, 0Bh, 24h 47D5:0433 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:0439 00 2B 00 D5 08 29 db 00h, 2Bh, 00h,0D5h, 08h, 29h 47D5:043F 00 D5 08 30 00 FF db 00h,0D5h, 08h, 30h, 00h,0FFh 47D5:0445 FF B2 0B 0A 00 C4 db 0FFh,0B2h, 0Bh, 0Ah, 00h,0C4h 47D5:044B 0B 24 00 76 00 0C db 0Bh, 24h, 00h, 76h, 00h, 0Ch 47D5:0451 00 76 00 2B 00 D2 db 00h, 76h, 00h, 2Bh, 00h,0D2h 47D5:0457 08 29 00 C8 0C 30 db 08h, 29h, 00h,0C8h, 0Ch, 30h 47D5:045D 00 FF FF AA 0B 0A db 00h,0FFh,0FFh,0AAh, 0Bh, 0Ah 47D5:0463 00 BC 0C 32 00 BA db 00h,0BCh, 0Ch, 32h, 00h,0BAh 47D5:0469 0B 24 00 C1 0C 31 db 0Bh, 24h, 00h,0C1h, 0Ch, 31h 47D5:046F 00 76 00 0C 00 76 db 00h, 76h, 00h, 0Ch, 00h, 76h 47D5:0475 00 2B 00 D7 08 29 db 00h, 2Bh, 00h,0D7h, 08h, 29h 47D5:047B 00 C9 0C 30 00 FF db 00h,0C9h, 0Ch, 30h, 00h,0FFh 47D5:0481 FF 00 db 0FFh, 00h 47D5:0483 000D[00] db 13 dup (0) messages_seg ends ;------------------------------------------------------ stack_seg_k ---- stack_seg_k segment word stack 'STACK' 481E:0000 03E8[00] db 1000 dup (0) 481E:03E8 33 33 db 33h, 33h 481E:03EA 0190[00] db 400 dup (0) 481E:057A 55 55 db 55h, 55h 481E:057C 0190[00] db 400 dup (0) stack_seg_k ends end start ±±±±±±±±±±±±±±±±±±±± CROSS REFERENCE - KEY ENTRY POINTS ±±±±±±±±±±±±±±±±±±± seg:off type label ---- ---- ---- -------------------------------- 273F:0000 far start 273F:0944 far critical_handler 273F:48C6 far timer_handler 273F:94DB far keyboard_handler ±±±±±±±±±±±±±±±±±± Interrupt Usage Synopsis ±±±±±±±±±±±±±±±±±± Interrupt 10h : Video display ah=functn xxh Interrupt 10h : ah=00h set display mode in al Interrupt 10h : ah=05h set display page al Interrupt 10h : ah=0Fh get state, al=mode, bh=page Interrupt 10h : ax=1002h set palette regs from es:dx Interrupt 10h : ax=1012h set cx color registers from Interrupt 10h : ah=12h EGA/VGA special, bl=function Interrupt 10h : ax=1A00h get display type in bx Interrupt 11h : Put equipment bits in ax Interrupt 21h : DOS Services ah=function xxh Interrupt 21h : ah=06h special char i/o, dl=subfunc Interrupt 21h : ah=09h display char string at ds:dx Interrupt 21h : ah=0Eh set default drive dl (0=a:) Interrupt 21h : ah=19h get default drive al (0=a:) Interrupt 21h : ah=25h set intrpt vector al to ds:dx Interrupt 21h : ah=30h get DOS version number ax Interrupt 21h : ax=3300h get ctrl-break flag in dl Interrupt 21h : ax=3301h set ctrl-break flag dl=off/on Interrupt 21h : ah=35h get intrpt vector al in es:bx Interrupt 21h : ah=3Ch create/truncate file @ ds:dx Interrupt 21h : ah=3Dh open file, al=mode,name@ds:dx Interrupt 21h : ah=3Eh close file, bx=file handle Interrupt 21h : ah=3Fh read file, bx=file handle Interrupt 21h : ah=40h write file bx=file handle Interrupt 21h : ah=42h move file ptr, bx=file handle Interrupt 21h : ah=48h allocate memory, bx=bytes/16 Interrupt 21h : ah=4Ah change memory allocation Interrupt 21h : ah=4Ch terminate with al=return code Interrupt 21h : ah=62h get Program Segment Prefix bx Interrupt 33h : Mouse driver ax=func xxxxh Interrupt 33h : ax=0000h installed?, ax=0 no, =-1 yes Interrupt 33h : ax=0003h get position, cx=horz,dx=vert Interrupt 33h : ax=0004h set position, cx=horz,dx=vert Interrupt 33h : ax=0007h set horz range, cx=min,dx=max Interrupt 33h : ax=0008h set vert range, cx=min,dx=max Interrupt 33h : ax=000Bh read motion counters, cx & dx Interrupt 33h : ax=000Ch set user handler at es:dx ±±±±±±±±±±±±±±±±±± I/O Port Usage Synopsis ±±±±±±±±±±±±±±±±±± Port 0 : DMA-1 bas&add ch 0 Port 3 : DMA-1 bas&cnt ch 1 Port 20h : 8259-1 int command Port 20h : al = 20h, end of interrupt Port 40h : 8253 timer 0 clock Port 42h : 8253 timer 2 spkr Port 43h : 8253 timer control Port 82h : DMA page reg ch 3 Port 3C4h : EGA sequencr index Port 3C4h : al = 2, map mask register Port 3C8h : VGA pel address Port 3C9h : VGA pel data reg Port 3CEh : EGA graphic index Port 3CEh : al = 3, data rotate Port 3CEh : al = 4, read map select Port 3CEh : al = 5, mode Port 3CEh : al = 7, ignore color bits Port 3CEh : al = 8, data bit mask Port 3DAh : CGA/EGA vid status 29 Ocurrences of non-standard I/O ports used (search for ??).