program kermit; {$I kinit} {$I kdir} {$I kopen} {$I kdisplay} {$I khelp} {$I krec} {$I kterm} {$I ksend} {$I krec1} {$I kcmd} begin (* main *) lowvideo; file_type_var := ascii; parity_type_var := no_parity; port_type_var := comm; (* default communications port (reader/punch) *) timeout := 5; (* value for timeout, not implemented *) chk_type := '1'; (* we can only do type 1 checks *) repeat_char := '~'; (* not used right now *) done := false; (* dummy variable for main repeat, stop is via quit proc *) base_iobyte := iobyte; (* get the initial iobyte *) port := 2; (* port is comm *) port_iobyte := (base_iobyte and $fc) or port; (* set port iobyte *) debug := false; (* debug mode is off *) printing := false; (* print logging is off *) file_open := false; (* no files open *) print_mode := 'off'; (* print mode string for show *) debug_mode := 'off'; (* debug mode string for show *) maxtry := 5; (* default maximum retries *) repeat (* The following parameters are reset on each command *) packet_size := init_packet_size; (* our default packet size *) repeating := false; (* make sure we don't try repeat prefixing *) npad := 0; (* I don't need padding *) pad := chr(0); (* but if I did I'd want null *) my_pad_num := 0; (* I won't send padding unless requested *) end_of_line := 13; (* expected end of line character *) send_eol := 13; (* I'll send a cr to start with *) quote_char := '#'; (* I'll use the default quote *) quote_8 := '&'; (* I'll use the default 8 bit quote *) quoting := false; (* but I won't ask for it unless binary with parity *) prompt; (* send prompt *) get_cmd_line; (* execute typed command *) until done = true; (* Done is never set, it's just for the loop *) end. (* main *)