diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -104,19 +104,16 @@ datetime_talk(Device *d, Uint8 b0, Uint8 w) { | |||
104 | void | 104 | void |
105 | file_talk(Device *d, Uint8 b0, Uint8 w) { | 105 | file_talk(Device *d, Uint8 b0, Uint8 w) { |
106 | Uint8 read = b0 == 0xd; | 106 | Uint8 read = b0 == 0xd; |
107 | txt_printf("FILE TALK\n"); // DEBUG: Remove when done | ||
108 | if(w && (read || b0 == 0xf)) { | 107 | if(w && (read || b0 == 0xf)) { |
109 | char *name = (char *)&d->mem[mempeek16(d->dat, 0x8)]; | 108 | char *name = (char *)&d->mem[mempeek16(d->dat, 0x8)]; |
110 | Uint16 result = 0, length = mempeek16(d->dat, 0xa); | 109 | Uint16 result = 0, length = mempeek16(d->dat, 0xa); |
111 | Uint16 offset = mempeek16(d->dat, 0x4); | 110 | Uint16 offset = mempeek16(d->dat, 0x4); |
112 | Uint16 addr = mempeek16(d->dat, b0 - 1); | 111 | Uint16 addr = mempeek16(d->dat, b0 - 1); |
113 | int file_idx = fs_open_file(name); | 112 | int file_idx = fs_open_file(name, read ? OPEN_READ : OPEN_WRITE); |
114 | if (file_idx >= 0) { | 113 | if (file_idx >= 0) { |
115 | if (read) { | 114 | if (read) { |
116 | txt_printf("READING\n"); // DEBUG: Remove when done | ||
117 | result = fs_read(&d->mem[addr], length, file_idx, offset); | 115 | result = fs_read(&d->mem[addr], length, file_idx, offset); |
118 | } else { | 116 | } else { |
119 | txt_printf("WRITING\n"); // DEBUG: Remove when done | ||
120 | result = fs_write(&d->mem[addr], length, file_idx, offset, offset > 0); | 117 | result = fs_write(&d->mem[addr], length, file_idx, offset, offset > 0); |
121 | } | 118 | } |
122 | } | 119 | } |