Previous 199869 Revisions Next

r31334 Sunday 20th July, 2014 at 12:29:08 UTC by Jonathan Gevaryahu
(MESS) cat.c: fix canon cat breakage from r30715 [Lord Nightmare]
[src/mess/drivers]cat.c

trunk/src/mess/drivers/cat.c
r31333r31334
282282    data, though track 0 is just a disk "unique" identifier for the cat
283283    meaning 404480 usable bytes
284284  * (Once the floppy is working I'd declare the system working)
285- Centronics port finishing touches: verify where the paper out, slct/err, and IPP pins map in memory
285- Centronics port finishing touches: verify where the paper out, slct/err, and
286  IPP pins map in memory. The firmware doesn't actually use them, but they must
287  map somewhere as they connect to the ASIC.
286288- RS232C port and Modem "port" connected to the DUART's two ports
287289  These are currently optionally debug-logged but don't connect anywhere
288290- DTMF generator chip (connected to DUART 'user output' pins OP4,5,6,7)
r31333r31334
314316
315317* Swyft
316318- Figure out the keyboard (interrupts are involved? or maybe an NMI on a
317  timer/vblank? It iss possible this uses a similar 'keyboard read int'
319  timer/vblank? It is possible this uses a similar 'keyboard read int'
318320  to what the cat does)
319321- get the keyboard scanning actually working; the VIAs are going nuts right now.
320322- Beeper (on one of the vias?)
r31333r31334
705707{
706708   UINT16 retVal = 0;
707709   // Read country code
708   if (m_pr_cont == 0x0900)
710   if ((m_pr_cont&0xFF00) == 0x0900)
709711      retVal = m_dipsw->read();
710712
711713   // Regular keyboard read
712   if (m_pr_cont == 0x0800 || m_pr_cont == 0x0a00)
714   if ((m_pr_cont&0xFF00) == 0x0800 || (m_pr_cont&0xFF00) == 0x0a00)
713715   {
714716      retVal=0xff00;
715717      switch(m_keyboard_line)
r31333r31334
725727      }
726728   }
727729#if 0
728   if ((m_pr_cont != 0x0800) && (m_pr_cont != 0x0900) && (m_pr_cont != 0x0a00))
730   if (((m_pr_cont&0xFF00) != 0x0800) && ((m_pr_cont&0xFF00) != 0x0900) && ((m_pr_cont&0xFF00) != 0x0a00))
729731   {
730732      fprintf(stderr,"Read from keyboard in %06X with unexpected pr_cont %04X\n", 0x80000a+(offset<<1), m_pr_cont);
731733   }
r31333r31334
938940   AM_RANGE(0x80000c, 0x80000d) AM_READ(cat_0080_r) AM_MIRROR(0x18FFE0) // Open bus?
939941   AM_RANGE(0x80000e, 0x80000f) AM_READWRITE(cat_battery_r,cat_printer_control_w) AM_MIRROR(0x18FFE0) // Centronics Printer Control, keyboard led and country code enable
940942   AM_RANGE(0x800010, 0x80001f) AM_READ(cat_0080_r) AM_MIRROR(0x18FFE0) // Open bus?
941   //AM_RANGE(0x810000, 0x81001f) AM_DEVREADWRITE8("duartn68681", mc68681_device, read, write, 0xff00 ) AM_MIRROR(0x18FFE0)
942943   AM_RANGE(0x810000, 0x81001f) AM_DEVREADWRITE8("duartn68681", mc68681_device, read, write, 0xff ) AM_MIRROR(0x18FFE0)
943944   AM_RANGE(0x820000, 0x82003f) AM_READWRITE(cat_modem_r,cat_modem_w) AM_MIRROR(0x18FFC0) // AMI S35213 Modem Chip, all access is on bit 7
944945   AM_RANGE(0x830000, 0x830001) AM_READ(cat_6ms_counter_r) AM_MIRROR(0x18FFFE) // 16bit 6ms counter clocked by output of another 16bit counter clocked at 10mhz

Previous 199869 Revisions Next


© 1997-2024 The MAME Team