From 29da7f874866c5a53d04fadae561a9e9ddb4fafc Mon Sep 17 00:00:00 2001 From: Michael Zapf Date: Sat, 13 Sep 2014 22:56:36 +0000 Subject: [PATCH] (MESS) ti99: Changed logging for HFDC and interleave for MFM. (nw) --- src/emu/bus/ti99_peb/hfdc.c | 15 +++++++++------ src/lib/formats/ti99_dsk.c | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/emu/bus/ti99_peb/hfdc.c b/src/emu/bus/ti99_peb/hfdc.c index 7c6292ac371..8ed8e097990 100644 --- a/src/emu/bus/ti99_peb/hfdc.c +++ b/src/emu/bus/ti99_peb/hfdc.c @@ -41,7 +41,7 @@ 27C128 - EPROM 16K x 8 Author: Michael Zapf - June 2014: Rewritten for modern floppy implementation + September 2014: Rewritten for modern floppy implementation WORK IN PROGRESS @@ -80,6 +80,7 @@ #define TRACE_LINES 0 #define TRACE_MOTOR 0 #define TRACE_DMA 0 +#define TRACE_INT 0 // ========================================================================= @@ -543,14 +544,15 @@ WRITE8_MEMBER( myarc_hfdc_device::auxbus_out ) } else { - // HD selected index = slog2((data>>4) & 0x0f); if (index == -1) { - if (TRACE_LINES) logerror("%s: Unselect all drives\n", tag()); + if (TRACE_LINES) logerror("%s: Unselect all HD drives\n", tag()); + connect_floppy_unit(index); } else { + // HD selected if (TRACE_LINES) logerror("%s: Select hard disk WDS%d\n", tag(), index); // if (index>=0) m_hdc9234->connect_hard_drive(m_harddisk_unit[index-1]); } @@ -576,6 +578,7 @@ WRITE8_MEMBER( myarc_hfdc_device::auxbus_out ) // Output the step pulse to the selected floppy drive if (m_current_floppy != NULL) { + m_current_floppy->ss_w(data & 0x01); m_current_floppy->dir_w((data & 0x20)==0); m_current_floppy->stp_w((data & 0x10)==0); } @@ -670,7 +673,7 @@ void myarc_hfdc_device::set_floppy_motors_running(bool run) WRITE_LINE_MEMBER( myarc_hfdc_device::intrq_w ) { m_irq = (line_state)state; - if (TRACE_LINES) logerror("%s: INT pin from controller = %d, propagating to INTA*\n", tag(), state); + if (TRACE_INT) logerror("%s: INT pin from controller = %d, propagating to INTA*\n", tag(), state); // Set INTA* // Signal from SMC is active high, INTA* is active low; board inverts signal @@ -684,7 +687,7 @@ WRITE_LINE_MEMBER( myarc_hfdc_device::intrq_w ) */ WRITE_LINE_MEMBER( myarc_hfdc_device::dmarq_w ) { - if (TRACE_LINES) logerror("%s: DMARQ pin from controller = %d\n", tag(), state); + if (TRACE_DMA) logerror("%s: DMARQ pin from controller = %d\n", tag(), state); if (state == ASSERT_LINE) { m_hdc9234->dmaack(ASSERT_LINE); @@ -704,7 +707,7 @@ WRITE_LINE_MEMBER( myarc_hfdc_device::dip_w ) */ READ8_MEMBER( myarc_hfdc_device::read_buffer ) { - logerror("%s: Read access to onboard SRAM at %04x\n", tag(), m_dma_address); + if (TRACE_DMA) logerror("%s: Read access to onboard SRAM at %04x\n", tag(), m_dma_address); UINT8 value = m_buffer_ram[m_dma_address & 0x7fff]; m_dma_address = (m_dma_address+1) & 0x7fff; return value; diff --git a/src/lib/formats/ti99_dsk.c b/src/lib/formats/ti99_dsk.c index ba0475095cb..67b6a56b982 100644 --- a/src/lib/formats/ti99_dsk.c +++ b/src/lib/formats/ti99_dsk.c @@ -284,7 +284,7 @@ floppy_image_format_t::desc_e* ti99_sdf_format::get_desc_mfm(const format &f, in { static floppy_image_format_t::desc_e desc_mfm[] = { - { SECTOR_INTERLEAVE_SKEW, 6, 6 }, // Possible ilv: 0, 4, 6, 10, 12, 16. + { SECTOR_INTERLEAVE_SKEW, 4, 0 }, // Possible ilv: 0, 4, 6, 10, 12, 16. { MFM, 0x4e, f.gap_1 }, // track lead-in { SECTOR_LOOP_START, 0, 17 }, // 18 sectors { CRC_CCITT_START, 1 },