4 #include "reader_master.h"
5 #include "memory_manage.h"
8 void (*except)(const wgChar *str);
9 const struct textcontrol *log;
12 static const struct reader_handle *dummy_open(void (*except)(const wgChar *str), const struct textcontrol *log)
14 struct reader_handle *h;
15 h = Malloc(sizeof(struct reader_handle));
21 static void dummy_close(const struct reader_handle *h)
26 /*static void throw(const struct reader_handle *h)
29 size_t length = strlen(usb_strerror());
30 wchar_t *mm = Malloc(sizeof(wchar_t) * (length + 1));
31 mbstowcs(mm, usb_strerror(), length + 1);
35 h->except(usb_strerror());
39 static void dummy_read(const struct reader_handle *h, const struct gauge *g, long address, long length, uint8_t *data)
41 const int packet = 0x200;
42 while(length >= packet){
44 memset(data, 2, packet);
47 g->value_add(g->bar, g->label, packet);
50 memset(data, 33, length);
51 g->value_add(g->bar, g->label, length);
55 static void dummy_init(const struct reader_handle *h)
59 static void dummy_cpu_write(const struct reader_handle *h, long address, long length, const uint8_t *data)
62 h->log->append(h->log->object, wgT(" cpu_write $%04x <- $%02x\n"), (int) address, *data);
67 static void dummy_write(const struct reader_handle *h, long address, long length, const uint8_t *data)
72 static void dummy_flash_config(const struct reader_handle *h, long c000x, long c2aaa, long c5555, long unit, bool retry)
76 static void dummy_flash_erase(const struct reader_handle *h, long address, bool dowait)
83 static long dummy_flash_program(const struct reader_handle *h, const struct gauge *g, long address, long length, const uint8_t *data, bool dowait, bool skip)
88 g->value_add(g->bar, g->label, 0x200);
92 static void dummy_flash_status(const struct reader_handle *h, uint8_t s[2])
98 static void dummy_flash_device_get(const struct reader_handle *h, uint8_t s[2])
104 static uint8_t dummy_vram_connection(const struct reader_handle *h)
109 const struct reader_driver DRIVER_DUMMY = {
111 .memory_read = dummy_read,
112 .memory_write = dummy_cpu_write,
113 .flash_config = dummy_flash_config,
114 .flash_erase = dummy_flash_erase,
115 .flash_program = dummy_flash_program,
116 .flash_device_get = dummy_flash_device_get
118 .memory_read = dummy_read,
119 .memory_write = dummy_write,
120 .flash_config = dummy_flash_config,
121 .flash_erase = dummy_flash_erase,
122 .flash_program = dummy_flash_program,
123 .flash_device_get = dummy_flash_device_get
125 .name = wgT("dummy"),
126 .open = dummy_open, .close = dummy_close,
128 .flash_status = dummy_flash_status,
129 .vram_connection = dummy_vram_connection