program kermit; {$I kinit.pas} {$I kdir.pas} {$I kopen.pas} {$I kdisplay.pas} {$I khelp.pas} {$I krec.pas} {$I kterm.pas} {$I ksend.pas} {$I krec1.pas} {$I kcmd.pas} begin (* main *) {initialize the sio Port a (modem Port)} Port[$d] := $10; {channel reset} Port[$d] := $00; {sel reg 0} Port[$d] := $18; {reset chan a} Port[$d] := $04; {sel reg 4} Port[$d] := $44; {ascii params} Port[$d] := $03; {sel reg 3} Port[$d] := $c1; {8b/char rec} Port[$d] := $05; {sel reg 5} Port[$d] := $ea; {dtr,rts,8b/char tx} {end of initialize} file_type_var := ascii; parity_type_var := no_parity; 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 *) 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 *)