OSDN Git Service

[General] Convert sourcecode's CRLF format: DOS(WINDOWS) to Unix, to apply patches...
[csp-qt/common_source_project-fm7.git] / source / src / vm / tf20.h
1 /*
2         Skelton for retropc emulator
3
4         Author : Takeda.Toshiya
5         Date   : 2008.02.28 -
6
7         [ EPSON TF-20 ]
8 */
9
10 #ifndef _TF20_H_
11 #define _TF20_H_
12
13 #include "vm.h"
14 #include "../emu.h"
15 #include "device.h"
16
17 #define SIGNAL_TF20_SIO 0
18
19 class DISK;
20
21 class TF20 : public DEVICE
22 {
23 private:
24         DEVICE *d_sio;
25         int did_sio;
26         
27         DISK* disk[MAX_DRIVE];
28         uint8 bufr[256], bufs[256];
29         int buflen, phase;
30         
31         bool process_cmd();
32         bool disk_protected(int drv);
33         uint8* get_sector(int drv, int trk, int sec);
34         
35 public:
36         TF20(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
37         ~TF20() {}
38         
39         // common functions
40         void initialize();
41         void release();
42         void reset();
43         void write_signal(int id, uint32 data, uint32 mask);
44         
45         // unitque function
46         void set_context_sio(DEVICE* device, int id)
47         {
48                 d_sio = device;
49                 did_sio = id;
50         }
51         void open_disk(int drv, _TCHAR path[], int offset);
52         void close_disk(int drv);
53         bool disk_inserted(int drv);
54 };
55
56 #endif
57