From 977712b9c51af4f2d681822047c7725423ef260b Mon Sep 17 00:00:00 2001 From: Peter Schorn Date: Sun, 21 Sep 2014 09:42:26 +0200 Subject: [PATCH] AltairZ80: More debug information available when using IMD disks --- AltairZ80/altairz80_hdsk.c | 4 +++- AltairZ80/i8272.c | 3 ++- AltairZ80/mfdc.c | 5 ++++- AltairZ80/s100_disk2.c | 3 ++- AltairZ80/s100_disk3.c | 3 ++- AltairZ80/s100_hdc1001.c | 3 ++- AltairZ80/vfdhd.c | 19 +++++++++++-------- AltairZ80/wd179x.c | 3 ++- 8 files changed, 28 insertions(+), 15 deletions(-) diff --git a/AltairZ80/altairz80_hdsk.c b/AltairZ80/altairz80_hdsk.c index 8f697285..724c6103 100644 --- a/AltairZ80/altairz80_hdsk.c +++ b/AltairZ80/altairz80_hdsk.c @@ -444,7 +444,9 @@ static t_stat hdsk_attach(UNIT *uptr, char *cptr) { detach_unit(uptr); return SCPE_OPENERR; } - hdsk_imd[thisUnitIndex] = diskOpen(uptr -> fileref, sim_deb && (hdsk_dev.dctrl & VERBOSE_MSG)); + hdsk_imd[thisUnitIndex] = diskOpenEx(uptr -> fileref, + sim_deb && (hdsk_dev.dctrl & VERBOSE_MSG), + &hdsk_dev, VERBOSE_MSG, VERBOSE_MSG); if (hdsk_imd[thisUnitIndex] == NULL) return SCPE_IOERR; verifyDiskInfo(hdsk_imd[thisUnitIndex], '0' + thisUnitIndex); diff --git a/AltairZ80/i8272.c b/AltairZ80/i8272.c index 5702caef..bad98f37 100644 --- a/AltairZ80/i8272.c +++ b/AltairZ80/i8272.c @@ -327,7 +327,8 @@ t_stat i8272_attach(UNIT *uptr, char *cptr) if(uptr->u3 == IMAGE_TYPE_IMD) { if (uptr->flags & UNIT_I8272_VERBOSE) printf("--------------------------------------------------------\n"); - i8272_info->drive[i].imd = diskOpen(uptr->fileref, uptr->flags & UNIT_I8272_VERBOSE); + i8272_info->drive[i].imd = diskOpenEx(uptr->fileref, uptr->flags & UNIT_I8272_VERBOSE, + &i8272_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_I8272_VERBOSE) printf("\n"); if (i8272_info->drive[i].imd == NULL) { diff --git a/AltairZ80/mfdc.c b/AltairZ80/mfdc.c index 1e01ef4e..6e95e874 100644 --- a/AltairZ80/mfdc.c +++ b/AltairZ80/mfdc.c @@ -64,6 +64,7 @@ #define CMD_MSG (1 << 2) #define RD_DATA_MSG (1 << 3) #define WR_DATA_MSG (1 << 4) +#define VERBOSE_MSG (1 << 5) extern uint32 PCX; extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc); @@ -173,6 +174,7 @@ static DEBTAB mfdc_dt[] = { { "CMD", CMD_MSG, "Commands" }, { "READ", RD_DATA_MSG, "Disk read activity" }, { "WRITE", WR_DATA_MSG, "Disk write activity" }, + { "VERBOSE", VERBOSE_MSG, "Verbose messages" }, { NULL, 0 } }; @@ -274,7 +276,8 @@ static t_stat mfdc_attach(UNIT *uptr, char *cptr) if (uptr->flags & UNIT_MFDC_VERBOSE) printf("--------------------------------------------------------\n"); - mfdc_info->drive[i].imd = diskOpen((uptr->fileref), (uptr->flags & UNIT_MFDC_VERBOSE)); + mfdc_info->drive[i].imd = diskOpenEx((uptr->fileref), (uptr->flags & UNIT_MFDC_VERBOSE), + &mfdc_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_MFDC_VERBOSE) printf("\n"); } else { diff --git a/AltairZ80/s100_disk2.c b/AltairZ80/s100_disk2.c index aa3dfb0d..637c5b18 100644 --- a/AltairZ80/s100_disk2.c +++ b/AltairZ80/s100_disk2.c @@ -281,7 +281,8 @@ static t_stat disk2_attach(UNIT *uptr, char *cptr) if (uptr->flags & UNIT_DISK2_VERBOSE) printf("--------------------------------------------------------\n"); - disk2_info->drive[i].imd = diskOpen((uptr->fileref), (uptr->flags & UNIT_DISK2_VERBOSE)); + disk2_info->drive[i].imd = diskOpenEx((uptr->fileref), (uptr->flags & UNIT_DISK2_VERBOSE), + &disk2_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_DISK2_VERBOSE) printf("\n"); } else { diff --git a/AltairZ80/s100_disk3.c b/AltairZ80/s100_disk3.c index 78eda7c8..ad7f50ff 100644 --- a/AltairZ80/s100_disk3.c +++ b/AltairZ80/s100_disk3.c @@ -348,7 +348,8 @@ static t_stat disk3_attach(UNIT *uptr, char *cptr) if (uptr->flags & UNIT_DISK3_VERBOSE) printf("--------------------------------------------------------\n"); - disk3_info->drive[i].imd = diskOpen((uptr->fileref), (uptr->flags & UNIT_DISK3_VERBOSE)); + disk3_info->drive[i].imd = diskOpenEx((uptr->fileref), (uptr->flags & UNIT_DISK3_VERBOSE), + &disk3_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_DISK3_VERBOSE) printf("\n"); } else { diff --git a/AltairZ80/s100_hdc1001.c b/AltairZ80/s100_hdc1001.c index 59280113..a28d1f87 100644 --- a/AltairZ80/s100_hdc1001.c +++ b/AltairZ80/s100_hdc1001.c @@ -242,7 +242,8 @@ static t_stat hdc1001_attach(UNIT *uptr, char *cptr) if (uptr->flags & UNIT_HDC1001_VERBOSE) printf("--------------------------------------------------------\n"); - hdc1001_info->drive[i].imd = diskOpen((uptr->fileref), (uptr->flags & UNIT_HDC1001_VERBOSE)); + hdc1001_info->drive[i].imd = diskOpenEx((uptr->fileref), (uptr->flags & UNIT_HDC1001_VERBOSE), + &hdc1001_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_HDC1001_VERBOSE) printf("\n"); } else { diff --git a/AltairZ80/vfdhd.c b/AltairZ80/vfdhd.c index 06df531b..78265586 100644 --- a/AltairZ80/vfdhd.c +++ b/AltairZ80/vfdhd.c @@ -65,6 +65,7 @@ #define RD_DATA_MSG (1 << 3) #define WR_DATA_MSG (1 << 4) #define STATUS_MSG (1 << 5) +#define VERBOSE_MSG (1 << 6) static void VFDHD_Command(void); @@ -183,13 +184,14 @@ static MTAB vfdhd_mod[] = { /* Debug Flags */ static DEBTAB vfdhd_dt[] = { - { "ERROR", ERROR_MSG, "Error messages" }, - { "SEEK", SEEK_MSG, "Seek messages" }, - { "CMD", CMD_MSG, "Command messages" }, - { "READ", RD_DATA_MSG, "Read messages" }, - { "WRITE", WR_DATA_MSG, "Write messages" }, - { "STATUS", STATUS_MSG, "Status messages" }, - { NULL, 0 } + { "ERROR", ERROR_MSG, "Error messages" }, + { "SEEK", SEEK_MSG, "Seek messages" }, + { "CMD", CMD_MSG, "Command messages" }, + { "READ", RD_DATA_MSG, "Read messages" }, + { "WRITE", WR_DATA_MSG, "Write messages" }, + { "STATUS", STATUS_MSG, "Status messages" }, + { "VERBOSE", VERBOSE_MSG, "Verbose messages" }, + { NULL, 0 } }; DEVICE vfdhd_dev = { @@ -267,7 +269,8 @@ static t_stat vfdhd_attach(UNIT *uptr, char *cptr) if (uptr->flags & UNIT_VFDHD_VERBOSE) printf("--------------------------------------------------------\n"); - vfdhd_info->drive[i].imd = diskOpen((uptr->fileref), (uptr->flags & UNIT_VFDHD_VERBOSE)); + vfdhd_info->drive[i].imd = diskOpenEx((uptr->fileref), (uptr->flags & UNIT_VFDHD_VERBOSE), + &vfdhd_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_VFDHD_VERBOSE) printf("\n"); } else { diff --git a/AltairZ80/wd179x.c b/AltairZ80/wd179x.c index f202c456..254e32d1 100644 --- a/AltairZ80/wd179x.c +++ b/AltairZ80/wd179x.c @@ -357,7 +357,8 @@ t_stat wd179x_attach(UNIT *uptr, char *cptr) if(uptr->u3 == IMAGE_TYPE_IMD) { if (uptr->flags & UNIT_WD179X_VERBOSE) printf("--------------------------------------------------------\n"); - wd179x_info->drive[i].imd = diskOpen(uptr->fileref, uptr->flags & UNIT_WD179X_VERBOSE); + wd179x_info->drive[i].imd = diskOpenEx(uptr->fileref, uptr->flags & UNIT_WD179X_VERBOSE, + &wd179x_dev, VERBOSE_MSG, VERBOSE_MSG); if (uptr->flags & UNIT_WD179X_VERBOSE) printf("\n"); if (wd179x_info->drive[i].imd == NULL) {