# TTY Recorder and Player

Terminal screen buffer is recorded and replayed.

## Feature

The TTXttyrec plug-in records the screen buffer as a binary file. Select the TTY Record under File menu and the saving dialog is shown. Specify a file on the dialog and the recording will start. Again, select the TTY Record entry and the recording will stop.

This plug-in supports for recording the serial console. However, the Tera Term 4.60 or later needs to do it. So, the Tera Term before 4.60 supports this plug-in and only TCP connection.

The TTXttyplay plug-in replays the data recorded by the TTXttyrec plug-in. Select the TTY Replay under File menu and the opening dialog is shown. specify a recorded file and the recorded data will replay. The Tera Term 4.60 or later needs to use the TTXttyplay plug-in.

The data format is same as the ttyrec. The data recorded by the TTXttyrec plug-in can replay by using the ttyplay command. The data recorded by the ttyrec command can replay by using the TTXttyplay plug-in.

## Description

This is a sample plug-in which can hook the communication of TCP connection. The Precv is hooked, the current time-stamp and the received data are saved to a file as the ttyrec format. The serial console uses the hook mechanism of the serial connection at the Tera Term 4.60.

The TTXttyplay plug-in uses the hook mechanism of the log replaying at the Tera Term 4.60. When the log is replayed, the wait time is inserted into the sequential reading by returning the ERROR_IO_PENDING.

The function is implemented because the gettimeofday() not exist on the Windows.

## Bug

- The accuracy in a delay time is not good.