; ; ish file converter for MS-DOS Ver 2.00 (90/3/27) ; ; ; Copyright (c) 1986, 1987, 1989, 1990 by M. ishizuka ; All rights reserved. ; MAX_TAG equ 32d mode db 0 os db 0 n_flag db 0 lf_flag db 0 not_v30 db 0 keep_flag db 0 it_flag db 0 qu_flag db 0 file_number db 0 stdin db 0 stdout db 0 error_33_flag db 0 abort_flag db 0 ctrl_c_check_flag db ? tz_avail db 0 tz_low dw ? tz_high dw ? default_tag db 'default' default_tag_mode db ':' db ':' tag db MAX_TAG + 1 dup(0) tag_work dw 0 shell_escape db 0ffh shell db 128d dup (0) para_block dw 0 dw offset cmd dw ? dw 5ch dw ? dw 6ch dw ? cmd db 0, 0dh restore_count label word store_count dw 0 restore_volume_count dw 0 prefix_count db 0 prefix_table label byte cmp_table db 125d dup (0) cmp_table_2 db 13d dup (0) db 118d dup (0) even save_pos dw read_buffer + 1000h - 1 read_length dw 0ffffh title_count dw 0 title_count2 dw 0 title_length dw 0 save_count_low dw 0 save_count_high dw 0 line_number_low dw 1 line_number_high dw 0 line_number_low_save dw 1 line_number_high_save dw 0 mv_num dw 0 mv_num_save dw ? last_division_bytes_low dw ? last_division_bytes_high dw ? current_division dw ? max_division dw ? last_division_lines dw ? file_block_length dw 0 disk_read_length dw 0 disk_write_length_left dw 1000h disk_read_ptr dw 0 disk_write_ptr dw 0 ixx dw ? line1_l dw ? line1_h dw ? line2_l dw ? line2_h dw ? para_A dw ? para_B dw ? line_save_low dw ? line_save_high dw ? end_length dw ? end_length2 dw ? length_of_file_low dw ? length_of_file_high dw ? length_low dw ? length_high dw ? length_low_org dw ? length_high_org dw ? read_handler dw 0 write_handler dw 0 cmpfile_handler dw 0 cmpfile_handler2 dw 0 tz_handler dw 0 save_max_count_low dw ? save_max_count_high dw ? cmp_done_low dw ? cmp_done_high dw ? fsize_low dw ? fsize_high dw ? line_number_ptr dw ? block_number_begin dw ? block_number_ptr dw ? save_fname2_ptr dw ? display_buffer db 80d dup(?) display_length db '[ ', 11 dup(?) org ($+15 - offset base) and 0fff0h pre_read_buffer db 256d dup (?) read_buffer db 70d*70d dup(0) ; (read_buffer +1000h-1) must ; be set to 0 crc dw ? work_table db 69d dup(?) work_table2 db 73d*72d+1 dup(?) cmp_buffer db 70d*70d dup(?) org ($+15 - offset base) and 0fff0h save_data db ? ; pre-write_buffer write_buffer db 80d*72d+1 dup(?) db ? ; pre-work_work work_work db 128d dup(?) work_work2 db 63d dup(?) work_work3 db 13d dup(?) ; filename ishopt_fname db 'ish.opt', 0 db 128d - 8d dup(?) old_style db ? type_flag db ? save_fname db ?, 12 dup(?) crc_flag db ? renamed_flag db ? wildcards_expand_flag db 0 create_flag db ? restore_ok db ? utc db 8d dup (?) local_time_work db 20d dup (?) date_time_flag db 0 save_time dw ? save_date dw ? difference_of_time db 3d dup(?) crc_16 dw ? crc_32 dd ? current_division_length_low dw ? current_division_length_high dw ? current_crc_16 dw ? division_offset_low dw ? division_offset_high dw ? dos_version db ? error_count db ? error_seq db 3d dup( 0, ?, ?, ?, ? ) seq_old db ? work_fcb db 37d dup(?) work_fcb_2 db 139d dup(?) work_fcb_3 db 139d dup(?) check_drive db ?, ':\', 0 _dta_id db 0 _dta db 43 dup(?) _dta2 db 43 dup(?) save_pathname dw ? save_pathname_2 dw ? save_input_filename db 128d dup(?) save_input_filename_without_path dw ? switch_character db ? header_title_length_save dw ? db ? header_title_buffer db 128d dup(?) int21_2_work label byte int21_8_work db ? crc_check dw ? each_volume_crc16 label word rept 250d dw ? endm