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)
63 for(i = 0; i < length; i++){
64 h->log->append(h->log->object, wgT(" cpu_write $%04x <- $%02x\n"), (int) address, *data);
72 static void dummy_write(const struct reader_handle *h, long address, long length, const uint8_t *data)
77 static void dummy_flash_config(const struct reader_handle *h, long c000x, long c2aaa, long c5555, long unit, bool retry)
81 static void dummy_flash_erase(const struct reader_handle *h, long address, bool dowait)
88 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)
93 g->value_add(g->bar, g->label, 0x200);
97 static void dummy_flash_status(const struct reader_handle *h, uint8_t s[2])
103 static void dummy_flash_device_get(const struct reader_handle *h, uint8_t s[2])
109 static uint8_t dummy_vram_connection(const struct reader_handle *h)
114 const struct reader_driver DRIVER_DUMMY = {
116 .memory_read = dummy_read,
117 .memory_write = dummy_cpu_write,
118 .flash_config = dummy_flash_config,
119 .flash_erase = dummy_flash_erase,
120 .flash_program = dummy_flash_program,
121 .flash_device_get = dummy_flash_device_get
123 .memory_read = dummy_read,
124 .memory_write = dummy_write,
125 .flash_config = dummy_flash_config,
126 .flash_erase = dummy_flash_erase,
127 .flash_program = dummy_flash_program,
128 .flash_device_get = dummy_flash_device_get
130 .name = wgT("dummy"),
131 .open = dummy_open, .close = dummy_close,
133 .flash_status = dummy_flash_status,
134 .vram_connection = dummy_vram_connection