--- /dev/null
+/*\r
+ NEC PC-8201 Emulator 'ePC-8201'\r
+\r
+ Author : Takeda.Toshiya\r
+ Date : 2013.04.22-\r
+\r
+ [ cmt (record only) ]\r
+*/\r
+\r
+#ifndef _CMT_H_\r
+#define _CMT_H_\r
+\r
+#include "../vm.h"\r
+#include "../../emu.h"\r
+#include "../device.h"\r
+\r
+#define SIG_CMT_REMOTE 0\r
+#define SIG_CMT_SOD 1\r
+\r
+// max 256kbytes\r
+#define BUFFER_SIZE 0x40000\r
+\r
+class CMT : public DEVICE\r
+{\r
+private:\r
+ FILEIO* fio;\r
+ int bufcnt;\r
+ uint8 buffer[BUFFER_SIZE];\r
+ int prev_signal;\r
+ uint32 prev_clock;\r
+ bool is_wav, rec, remote;\r
+ \r
+ void write_buffer(uint8 value, int samples);\r
+ void put_signal();\r
+ \r
+public:\r
+ CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}\r
+ ~CMT() {}\r
+ \r
+ // common functions\r
+ void initialize();\r
+ void release();\r
+ void reset();\r
+ void write_signal(int id, uint32 data, uint32 mask);\r
+ \r
+ // unique functions\r
+ void rec_tape(_TCHAR* file_path);\r
+ void close_tape();\r
+ bool tape_inserted()\r
+ {\r
+ return rec;\r
+ }\r
+};\r
+\r
+#endif\r
+\r