Previous 199869 Revisions Next

r33236 Thursday 6th November, 2014 at 10:30:02 UTC by Curt Coder
(MESS) victor9k: Floppy WIP. (nw)
[src/mess/drivers]victor9k.c
[src/mess/machine]victor9k_fdc.c

trunk/src/mess/drivers/victor9k.c
r241747r241748
511511   MCFG_DEVICE_ADD(FDC_TAG, VICTOR_9000_FDC, 0)
512512   MCFG_VICTOR_9000_FDC_IRQ_CB(WRITELINE(victor9k_state, fdc_irq_w))
513513   MCFG_VICTOR_9000_FDC_SYN_CB(DEVWRITELINE(I8259A_TAG, pic8259_device, ir0_w)) MCFG_DEVCB_XOR(1)
514   MCFG_VICTOR_9000_FDC_LBRDY_CB(INPUTLINE(I8088_TAG, INPUT_LINE_TEST))
514   MCFG_VICTOR_9000_FDC_LBRDY_CB(INPUTLINE(I8088_TAG, INPUT_LINE_TEST)) MCFG_DEVCB_XOR(1)
515515
516516   // internal ram
517517   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/machine/victor9k_fdc.c
r241747r241748
1313
1414    TODO:
1515
16   - disk error 8 (sync missing?)
16   - disk error 2 (cannot find block header?)
1717   - 8048 spindle speed control
1818    - read PLL
1919    - write logic
r241747r241748
2828//  MACROS / CONSTANTS
2929//**************************************************************************
3030
31#define LOG 1
32#define LOG_VIA 1
31#define LOG 0
32#define LOG_VIA 0
3333#define LOG_SCP 0
3434
3535#define I8048_TAG       "5d"
r241747r241748
211211   m_via6_irq(CLEAR_LINE),
212212   m_syn(0),
213213   m_lbrdy(1),
214   m_period(attotime::from_nsec(21300))
214   m_period(attotime::from_nsec(2130))
215215{
216216   cur_live.tm = attotime::never;
217217   cur_live.state = IDLE;
r241747r241748
11031103         // syn
11041104         int syn = !(cur_live.sync_byte_counter == 15);
11051105
1106         if (LOG) logerror("%s bit %u sync %u bc %u sbc %u sBC %u syn %u\n",cur_live.tm.as_string(),bit,sync,cur_live.bit_counter,cur_live.sync_bit_counter,cur_live.sync_byte_counter,syn);
1107
11061108         // GCR decoder
11071109         if (cur_live.drw) {
11081110            cur_live.i = cur_live.drw << 10 | cur_live.shift_reg;
r241747r241748
11201122
11211123         if (brdy != cur_live.brdy) {
11221124            if (LOG) logerror("%s BRDY %u\n", cur_live.tm.as_string(),brdy);
1125            if (LOG && !brdy)
1126            {
1127               UINT8 e = cur_live.e;
1128               UINT8 i = cur_live.i;
1129
1130               UINT8 data = BIT(e, 6) << 7 | BIT(i, 7) << 6 | BIT(e, 5) << 5 | BIT(e, 4) << 4 | BIT(e, 2) << 3 | BIT(i, 1) << 2 | (e & 0x03);
1131               logerror("%s BRDY %02x\n",cur_live.tm.as_string(),data);
1132            }
11231133            cur_live.brdy = brdy;
11241134            if (!brdy) cur_live.lbrdy = 0;
11251135            syncpoint = true;


Previous 199869 Revisions Next


© 1997-2024 The MAME Team