- Kermit protocol program for OLIMEX Neo6502 board
- Based on E-Kermit v1.8
- In beta-release phase
- Commands: send, receive, show directory, and quit
- File transfer with the USB storage file system only
- No terminal emulation
- Simulated sliding window protocol works on receiving only
- Neo6502-Kermit will truncate and rewrite received files
- Kermit binary (i.e., transparent) transfer only
- Packet size: 256 bytes
- Simulated sliding window size: 8
- File name length: 31 characters
- Neo6502 UEXT UART
- Speed: 9600 bps
- 8-bit, no parity
- Tested with a Mac running USB serial device
Using 8 simulated sliding windows with 256-byte packets, minimal prefixing:
- With
-DDEBUG
: ~300 bytes/sec (including the console and KDEBUG.LOG file outputs) - With
-NODEBUG
(no debug code): ~910 bytes/sec (almost full speed)
- Practical upper limit of speed: 19200 bps
- Receiving buffer overflow occurs >19200 bps
- Speed fixed to 9600 bps to allow margin
- Details: TBD
- see
ckermit-config.txt
for C-Kermit configuration example
In Kermit Protocol, there is no practical way to disable or prevent text file CR/LF conversion from the recipient side, if the sender side wants to do so.
For C-Kermit, you need to run all of the following commands to avoid doing text file conversion:
# This is required to avoid file type conversion
set file type binary
set file scan off
set file patterns off
set file text-patterns
Also, the format of "Text Type File" on Neo6502 is not clearly defined, although in the console code it seems to be CR-terminated, as shown in LLVM-MOS SDK.
- Fix basic compilation errors
- Add Neo6502 I/O functions to neoio.c
- Complete invocation test on emulator
- Perform actual communication testing over Neo6502 UEXT UART
- Make debug log available on file (KDEBUG.LOG)
- Test basic file receiving functions
- Describe non-capability of distinguishing file types (text/binary)
- Error handling of filesystem open/read/write operations
- Fix specification of the code (User interface)
- Implement UI for entering sending file names
- Implement file sending functions
- Test basic file sending functions
- Fix more bugs (e.g., filesize stat)
- Communication performance measurement
- Write user manual and documentation
Revised 3-Clause BSD License. See LICENSE.
See also Revised 3-Clause BSD License for Columbia University Kermit Software.
- E-Kermit: Frank da Cruz
- Neo6502 configuration and I/O functions: Kenji Rikitake