Previous 199869 Revisions Next

r19362 Thursday 6th December, 2012 at 18:02:17 UTC by Angelo Salese
Added CPU Type switch
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r19361r19362
1010   - Check for mouse support
1111   - kanji support;
1212    - Write a PC80S31K device (also used on PC-8801 and PC-88VA, it's the FDC + Z80 sub-system);
13   - Finish DIP-Switches support
1314
1415    TODO (PC-9801RS):
1516    - extra features;
r19361r19362
25012502   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
25022503   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
25032504   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2504   PORT_DIPNAME( 0x0100, 0x0000, "DSWB" )
2505   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
2506   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2507   PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unknown ) )
2508   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
2509   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2510   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
2511   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
2512   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2513   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
2514   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
2515   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2516   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
2517   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
2518   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2519   PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unknown ) ) //uhm, this attempts to DMA something if off ...?
2520   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
2521   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2522   PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Unknown ) )
2523   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
2524   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2525   PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Unknown ) )
2526   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
2527   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
25282505
2506   PORT_START("DSW5")
2507   PORT_DIPNAME( 0x01, 0x00, "DSW5" )
2508   PORT_DIPSETTING(      0x01, DEF_STR( Off ) )
2509   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2510   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
2511   PORT_DIPSETTING(      0x02, DEF_STR( Off ) )
2512   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2513   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2514   PORT_DIPSETTING(      0x04, DEF_STR( Off ) )
2515   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2516   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2517   PORT_DIPSETTING(      0x08, DEF_STR( Off ) )
2518   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2519   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2520   PORT_DIPSETTING(      0x10, DEF_STR( Off ) )
2521   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2522   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) //uhm, this attempts to DMA something if off ...?
2523   PORT_DIPSETTING(      0x20, DEF_STR( Off ) )
2524   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2525   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
2526   PORT_DIPSETTING(      0x40, DEF_STR( Off ) )
2527   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2528   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
2529   PORT_DIPSETTING(      0x80, DEF_STR( Off ) )
2530   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
2531
25292532   PORT_START("DSW2")
25302533   PORT_DIPNAME( 0x01, 0x01, "System Specification" ) PORT_DIPLOCATION("SW1:1") //jumps to daa00 if off, presumably some card booting
25312534   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
r19361r19362
25462549   PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" )
25472550   PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" )
25482551
2552   PORT_START("DSW3")
2553   PORT_DIPNAME( 0x01, 0x01, "DSW3" )
2554   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
2555   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2556   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2557   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2558   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2559   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2560   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2561   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2562   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2563   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2564   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2565   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2566   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2567   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2568   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2569   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2570   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2571   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2572   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2573   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2574   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2575   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2576   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2577
2578   PORT_START("DSW4")
2579   PORT_DIPNAME( 0x01, 0x01, "DSW4" )
2580   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
2581   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2582   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2583   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2584   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2585   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2586   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2587   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2588   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2589   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2590   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2591   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2592   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2593   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2594   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2595   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2596   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2597   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2598   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2599   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2600   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2601   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2602   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2603
25492604   PORT_START("OPN_PA1")
25502605   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
25512606   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
r19361r19362
25932648   PORT_DIPSETTING(    0x80, "2.5 MHz" )
25942649   PORT_DIPSETTING(    0x00, "5 MHz" )
25952650
2651   PORT_MODIFY("DSW4")
2652   PORT_DIPNAME( 0x04, 0x00, "CPU Type" ) PORT_DIPLOCATION("SW4:8")
2653   PORT_DIPSETTING(    0x04, "V30" )
2654   PORT_DIPSETTING(    0x00, "I386" )
2655
25962656   PORT_MODIFY("ROM_LOAD")
25972657   PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
25982658INPUT_PORTS_END
r19361r19362
28612921****************************************/
28622922
28632923READ8_MEMBER(pc9801_state::ppi_sys_porta_r){ return machine().root_device().ioport("DSW2")->read(); }
2864READ8_MEMBER(pc9801_state::ppi_sys_portb_r){ return machine().root_device().ioport("DSW1")->read() & 0xff; }
2865READ8_MEMBER(pc9801_state::ppi_prn_portb_r){ return machine().root_device().ioport("DSW1")->read() >> 8; }
2924READ8_MEMBER(pc9801_state::ppi_sys_portb_r){ return machine().root_device().ioport("DSW1")->read(); }
2925READ8_MEMBER(pc9801_state::ppi_prn_portb_r){ return machine().root_device().ioport("DSW5")->read(); }
28662926
28672927WRITE8_MEMBER(pc9801_state::ppi_sys_portc_w)
28682928{
r19361r19362
29423002   return res;
29433003}
29443004
2945READ8_MEMBER(pc9801_state::ppi_mouse_portb_r)
2946{
2947   printf("B\n");
2948   return 0xff;
2949}
3005READ8_MEMBER(pc9801_state::ppi_mouse_portb_r) { return machine().root_device().ioport("DSW3")->read(); }
3006READ8_MEMBER(pc9801_state::ppi_mouse_portc_r) { return machine().root_device().ioport("DSW4")->read(); }
29503007
2951READ8_MEMBER(pc9801_state::ppi_mouse_portc_r)
2952{
2953   printf("C\n");
2954   return 0xff;
2955}
2956
29573008WRITE8_MEMBER(pc9801_state::ppi_mouse_porta_w)
29583009{
29593010   printf("A %02x\n",data);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team