Skip to content

Commit 17ffdc2

Browse files
authored
Display fixes to device select screen and disk list after exit (#122)
* Display fixes to device select screen and disk list after exit * Coco: Ensure drive slots consistently BLACK=unassigned, BLUE=read, RED=write
1 parent 03511b3 commit 17ffdc2

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/coco/input.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,12 +316,12 @@ HDSubState input_hosts_and_devices_devices(void)
316316
case 'R':
317317
case 'r':
318318
selected_device_slot=(byte)bar_get();
319-
hosts_and_devices_devices_set_mode(0);
319+
hosts_and_devices_devices_set_mode(MODE_READ);
320320
return HD_DEVICES;
321321
case 'W':
322322
case 'w':
323323
selected_device_slot=(byte)bar_get();
324-
hosts_and_devices_devices_set_mode(2);
324+
hosts_and_devices_devices_set_mode(MODE_WRITE);
325325
return HD_DEVICES;
326326
case 0x03:
327327
return HD_DONE;
@@ -438,13 +438,13 @@ SSSubState input_select_slot_choose(void)
438438
break;
439439
case 0x0d: // ENTER
440440
case 'R':
441-
mode=0;
441+
mode=MODE_READ;
442442
selected_device_slot=(char)bar_get();
443443
strncpy(source_path,path,224);
444444
old_pos = pos;
445445
return SS_DONE;
446446
case 'W':
447-
mode=2;
447+
mode=MODE_WRITE;
448448
selected_device_slot=(char)bar_get();
449449
return SS_DONE;
450450
case 0x5E:

src/hosts_and_devices.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ void hosts_and_devices_eject(unsigned char ds)
183183
io_umount_disk_image(ds);
184184
memset(deviceSlots[ds].file, 0, FILE_MAXLEN);
185185
deviceSlots[ds].hostSlot = 0xFF;
186+
deviceSlots[ds].mode = 0;
186187
io_put_device_slots(&deviceSlots[0]);
187188
io_get_device_slots(&deviceSlots[0]);
188189
screen_hosts_and_devices_eject(ds);
@@ -287,6 +288,10 @@ void hosts_and_devices_devices_set_mode(unsigned char m)
287288
//screen_hosts_and_devices_devices_selected(selected_device_slot); // Breaks disk order on screen??
288289
selected_device_slot = 0; // Go back to drive 0 instead
289290
hosts_and_devices_devices();
291+
#elif defined(_CMOC_VERSION_)
292+
io_mount_disk_image(selected_device_slot, m);
293+
screen_hosts_and_devices_device_slots(1,&deviceSlots[0],&deviceEnabled[0]);
294+
bar_jump(selected_device_slot);
290295
#else
291296
io_mount_disk_image(selected_device_slot, m);
292297
#endif
@@ -335,7 +340,7 @@ void hosts_and_devices_done(void)
335340
if (deviceSlots[i].hostSlot != 0xFF)
336341
{
337342
#ifdef _CMOC_VERSION_
338-
printf("%d:%s\n",i,deviceSlots[i].file);
343+
printf("%d:%s\n",i,strupr(deviceSlots[i].file));
339344
#endif
340345
#ifdef BUILD_APPLE2
341346
s = i + 1;

0 commit comments

Comments
 (0)