Previous 15994 Revisions Next

r12937 Sunday 25th September, 2011 at 21:00:48 UTC by Curt Coder
[ABC1600] Now boots to ABCenix but dies on key entry due to missing interrupt vector. (nw)
[src/emu/machine]z8536.c
[src/mess/drivers]abc1600.c

src/emu/machine/z8536.c
r12936r12937
319319           
320320            if (((m_register[PORT_A_MODE_SPECIFICATION] & PMS_PMS_MASK) >> 1) == PMS_OR_PEV)
321321            {
322               if       (m_match[PORT_A] & 0x80) vector |= 7;
323               else if (m_match[PORT_A] & 0x40) vector |= 6;
324               else if (m_match[PORT_A] & 0x20) vector |= 5;
325               else if (m_match[PORT_A] & 0x10) vector |= 4;
326               else if (m_match[PORT_A] & 0x08) vector |= 3;
327               else if (m_match[PORT_A] & 0x04) vector |= 2;
328               else if (m_match[PORT_A] & 0x02) vector |= 1;
329               else if (m_match[PORT_A] & 0x01) vector |= 0;
322               if       (m_match[PORT_A] & 0x80) vector |= 7 << 1;
323               else if (m_match[PORT_A] & 0x40) vector |= 6 << 1;
324               else if (m_match[PORT_A] & 0x20) vector |= 5 << 1;
325               else if (m_match[PORT_A] & 0x10) vector |= 4 << 1;
326               else if (m_match[PORT_A] & 0x08) vector |= 3 << 1;
327               else if (m_match[PORT_A] & 0x04) vector |= 2 << 1;
328               else if (m_match[PORT_A] & 0x02) vector |= 1 << 1;
329               else if (m_match[PORT_A] & 0x01) vector |= 0 << 1;
330330            }
331331            else
332332            {
r12936r12937
353353           
354354            if (((m_register[PORT_B_MODE_SPECIFICATION] & PMS_PMS_MASK) >> 1) == PMS_OR_PEV)
355355            {
356               if       (m_match[PORT_B] & 0x80) vector |= 7;
357               else if (m_match[PORT_B] & 0x40) vector |= 6;
358               else if (m_match[PORT_B] & 0x20) vector |= 5;
359               else if (m_match[PORT_B] & 0x10) vector |= 4;
360               else if (m_match[PORT_B] & 0x08) vector |= 3;
361               else if (m_match[PORT_B] & 0x04) vector |= 2;
362               else if (m_match[PORT_B] & 0x02) vector |= 1;
363               else if (m_match[PORT_B] & 0x01) vector |= 0;
356               if       (m_match[PORT_B] & 0x80) vector |= 7 << 1;
357               else if (m_match[PORT_B] & 0x40) vector |= 6 << 1;
358               else if (m_match[PORT_B] & 0x20) vector |= 5 << 1;
359               else if (m_match[PORT_B] & 0x10) vector |= 4 << 1;
360               else if (m_match[PORT_B] & 0x08) vector |= 3 << 1;
361               else if (m_match[PORT_B] & 0x04) vector |= 2 << 1;
362               else if (m_match[PORT_B] & 0x02) vector |= 1 << 1;
363               else if (m_match[PORT_B] & 0x01) vector |= 0 << 1;
364364            }
365365            else
366366            {
src/mess/drivers/abc1600.c
r12936r12937
1212
1313    - keyboard
1414        - "Bad command" on first enter after boot
15      - expose Z80DART interrupt acknowledge function
1516    - floppy
1617        - internal floppy is really drive 2, but wd17xx.c doesn't like having NULL drives
18      - mf: timeout several times while loading abcenix
1719    - BUS0I/0X/1/2
1820    - short/long reset (RSTBUT)
1921    - SCC interrupt
r12936r12937
10861088   case 6: // SYSSCC
10871089      m_sysscc = state;
10881090      update_drdy1();
1091      m_cio->pb5_w(!m_sysscc);
10891092      break;
10901093
10911094   case 7: // SYSFS
10921095      m_sysfs = state;
10931096      update_drdy0();
1097      m_cio->pb6_w(!m_sysfs);
10941098      break;
10951099   }
10961100}
r12936r12937
13111315
13121316   UINT8 data = 0;
13131317
1318   data |= !m_sysscc << 5;
1319   data |= !m_sysfs << 6;
1320   
13141321   // floppy interrupt
13151322   data |= wd17xx_intrq_r(m_fdc) << 7;
13161323
r12936r12937
14741481   case M68K_IRQ_2:
14751482      data = state->m_cio->intack_r();
14761483      break;
1484     
1485   case M68K_IRQ_5:
1486      //data = state->m_dart->z80daisy_irq_ack();
1487      break;
14771488   }
14781489
14791490   return data;

Previous 15994 Revisions Next


© 1998-2018 The MESS Team