Previous 199869 Revisions Next

r36171 Sunday 1st March, 2015 at 20:42:16 UTC by Carl
(mess) m24: split m24 and correct dips, boots but it needs custom keyboard emulation (nw)
[src/mess]mess.mak
[src/mess/drivers]m24.c* pc.c

trunk/src/mess/drivers/m24.c
r0r244683
1#include "emu.h"
2
3#include "cpu/i86/i86.h"
4#include "bus/isa/isa.h"
5#include "bus/isa/isa_cards.h"
6#include "machine/pckeybrd.h"
7#include "includes/genpc.h"
8
9class m24_state : public driver_device
10{
11public:
12   m24_state(const machine_config &mconfig, device_type type, const char *tag) :
13      driver_device(mconfig, type, tag),
14      m_maincpu(*this, "maincpu"),
15      m_mb(*this, "mb")
16   { }
17   required_device<cpu_device> m_maincpu;
18   required_device<pc_noppi_mb_device> m_mb;
19
20   DECLARE_READ8_MEMBER(keyboard_r);
21   DECLARE_WRITE8_MEMBER(keyboard_w);
22};
23
24READ8_MEMBER(m24_state::keyboard_r)
25{
26   return 0;
27}
28
29WRITE8_MEMBER(m24_state::keyboard_w)
30{
31
32}
33
34static ADDRESS_MAP_START( m24_map, AS_PROGRAM, 16, m24_state )
35   ADDRESS_MAP_UNMAP_HIGH
36   AM_RANGE(0x00000, 0x9ffff) AM_RAMBANK("bank10")
37   AM_RANGE(0xa0000, 0xeffff) AM_NOP
38   AM_RANGE(0xf8000, 0xfffff) AM_ROM AM_REGION("maincpu", 0)
39ADDRESS_MAP_END
40
41static ADDRESS_MAP_START(m24_io, AS_IO, 16, m24_state )
42   ADDRESS_MAP_UNMAP_HIGH
43   AM_RANGE(0x0060, 0x0065) AM_READWRITE8(keyboard_r, keyboard_w, 0xffff)
44   AM_RANGE(0x0066, 0x0067) AM_READ_PORT("DSW0")
45ADDRESS_MAP_END
46
47static INPUT_PORTS_START( m24 )
48   PORT_START("DSW0")
49   PORT_DIPNAME( 0x8f, 0x89, "RAM banks")
50   PORT_DIPSETTING(    0x01, "128K" )
51   PORT_DIPSETTING(    0x82, "256K" )
52   PORT_DIPSETTING(    0x84, "512K - 256/256" )
53   PORT_DIPSETTING(    0x08, "512K - 512/0" )
54   PORT_DIPSETTING(    0x85, "640K - 256/384" )
55   PORT_DIPSETTING(    0x8d, "640K - 128/512" )
56   PORT_DIPSETTING(    0x89, "640K - 512/128" )
57   PORT_DIPNAME( 0x10, 0x00, "8087 installed")
58   PORT_DIPSETTING(    0x00, DEF_STR(No) )
59   PORT_DIPSETTING(    0x10, DEF_STR(Yes) )
60   PORT_DIPNAME( 0x20, 0x00, "Serial Port")
61   PORT_DIPSETTING(    0x20, "Z8530 SCC")
62   PORT_DIPSETTING(    0x00, "INS8250" )
63
64   //PORT_START("DSW1")
65   PORT_DIPNAME( 0x0100, 0x0000, "FDD Type")
66   PORT_DIPSETTING(    0x0000, "360K" )
67   PORT_DIPSETTING(    0x0100, "720K" )
68   PORT_DIPNAME( 0x0200, 0x0200, "FDD spinup")
69   PORT_DIPSETTING(    0x0000, "Slow" )
70   PORT_DIPSETTING(    0x0200, "Fast" )
71   PORT_DIPNAME( 0x0400, 0x0400, "HDD ROM")
72   PORT_DIPSETTING(    0x0000, "Internal" )
73   PORT_DIPSETTING(    0x0400, "External" )
74   PORT_DIPNAME( 0x0800, 0x0000, "Scroll rate")
75   PORT_DIPSETTING(    0x0800, "Slow" )
76   PORT_DIPSETTING(    0x0000, "Fast")
77   PORT_DIPNAME( 0x3000, 0x2000, "Graphics adapter")
78   PORT_DIPSETTING(    0x0000, "EGA/VGA" )
79   PORT_DIPSETTING(    0x1000, "Color 40x25" )
80   PORT_DIPSETTING(    0x2000, "Color 80x25" )
81   PORT_DIPSETTING(    0x3000, "Monochrome" )
82   PORT_DIPNAME( 0xc000, 0x4000, "Number of floppy drives")
83   PORT_DIPSETTING(    0x0000, "1" )
84   PORT_DIPSETTING(    0x4000, "2" )
85   PORT_DIPSETTING(    0x8000, "3" )
86   PORT_DIPSETTING(    0xc000, "4" )
87
88   PORT_INCLUDE(pc_keyboard)
89INPUT_PORTS_END
90
91static MACHINE_CONFIG_START( olivetti, m24_state )
92   /* basic machine hardware */
93   MCFG_CPU_ADD("maincpu", I8086, XTAL_8MHz)
94   MCFG_CPU_PROGRAM_MAP(m24_map)
95   MCFG_CPU_IO_MAP(m24_io)
96   MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
97
98   MCFG_PCNOPPI_MOTHERBOARD_ADD("mb", "maincpu")
99
100   MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "cga", false)
101   MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "fdc_xt", false)
102   MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", pc_isa8_cards, "lpt", false)
103   MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", pc_isa8_cards, "com", false)
104
105   /* keyboard */
106   MCFG_PC_KEYB_ADD("pc_keyboard", DEVWRITELINE("mb:pic8259", pic8259_device, ir1_w))
107   /* internal ram */
108   MCFG_RAM_ADD(RAM_TAG)
109   MCFG_RAM_DEFAULT_SIZE("640K")
110
111   /* software lists */
112   MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
113MACHINE_CONFIG_END
114
115ROM_START( m24 )
116   ROM_REGION16_LE(0x8000,"maincpu", 0)
117   ROMX_LOAD("olivetti_m24_version_1.43_high.bin",0x4001, 0x2000, CRC(04e697ba) SHA1(1066dcc849e6289b5ac6372c84a590e456d497a6), ROM_SKIP(1))
118   ROMX_LOAD("olivetti_m24_version_1.43_low.bin", 0x4000, 0x2000, CRC(ff7e0f10) SHA1(13423011a9bae3f3193e8c199f98a496cab48c0f), ROM_SKIP(1))
119ROM_END
120
121ROM_START( m240 )
122   ROM_REGION16_LE(0x8000,"maincpu", 0)
123   ROMX_LOAD("olivetti_m240_pch5_2.04_high.bin", 0x0001, 0x4000, CRC(ceb97b59) SHA1(84fabbeab355e0a4c9445910f2b7d1ec98886642), ROM_SKIP(1))
124   ROMX_LOAD("olivetti_m240_pch6_2.04_low.bin",  0x0000, 0x4000, CRC(c463aa94) SHA1(a30c763c1ace9f3ff79e7136b252d624108a50ae), ROM_SKIP(1))
125ROM_END
126
127COMP( 1983, m24,        ibm5150,    0,          olivetti,   m24, driver_device,      0,      "Olivetti", "M24", GAME_NOT_WORKING)
128COMP( 1987, m240,       ibm5150,    0,          olivetti,   m24, driver_device,      0,      "Olivetti", "M240", GAME_NOT_WORKING)
trunk/src/mess/drivers/pc.c
r244682r244683
266266   MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
267267MACHINE_CONFIG_END
268268
269static MACHINE_CONFIG_START( olivetti, pc_state )
270   /* basic machine hardware */
271   MCFG_CPU_PC(pc16, pc16, I8086, 8000000)
272
273   MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu")
274   MCFG_DEVICE_INPUT_DEFAULTS(pccga)
275
276   MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "cga", false)
277   MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "fdc_xt", false)
278   MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", pc_isa8_cards, "lpt", false)
279   MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", pc_isa8_cards, "com", false)
280
281   /* keyboard */
282   MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83)
283   /* internal ram */
284   MCFG_RAM_ADD(RAM_TAG)
285   MCFG_RAM_DEFAULT_SIZE("640K")
286
287   /* software lists */
288   MCFG_SOFTWARE_LIST_ADD("disk_list","ibm5150")
289MACHINE_CONFIG_END
290
291269static MACHINE_CONFIG_START( ibm5550, pc_state )
292270   /* basic machine hardware */
293271   MCFG_CPU_PC(ibm5550, ibm5550, I8086, 8000000)
r244682r244683
393371   ROM_LOAD( "ba1m_(573rf5).rom", 0x0000, 0x0800, CRC(08d938e8) SHA1(957b6c691dbef75c1c735e8e4e81669d056971e4))
394372ROM_END
395373
396
397ROM_START( m24 )
398   ROM_REGION16_LE(0x100000,"maincpu", 0)
399   ROMX_LOAD("olivetti_m24_version_1.43_high.bin",0xfc001, 0x2000, CRC(04e697ba) SHA1(1066dcc849e6289b5ac6372c84a590e456d497a6), ROM_SKIP(1))
400   ROMX_LOAD("olivetti_m24_version_1.43_low.bin", 0xfc000, 0x2000, CRC(ff7e0f10) SHA1(13423011a9bae3f3193e8c199f98a496cab48c0f), ROM_SKIP(1))
401ROM_END
402
403ROM_START( m240 )
404   ROM_REGION16_LE(0x100000,"maincpu", 0)
405   ROMX_LOAD("olivetti_m240_pch5_2.04_high.bin", 0xf8001, 0x4000, CRC(ceb97b59) SHA1(84fabbeab355e0a4c9445910f2b7d1ec98886642), ROM_SKIP(1))
406   ROMX_LOAD("olivetti_m240_pch6_2.04_low.bin",  0xf8000, 0x4000, CRC(c463aa94) SHA1(a30c763c1ace9f3ff79e7136b252d624108a50ae), ROM_SKIP(1))
407ROM_END
408
409374ROM_START( ibm5550 )
410375   ROM_REGION16_LE(0x100000,"maincpu", 0)
411376   ROM_LOAD( "ipl5550.rom", 0xfc000, 0x4000, CRC(40cf34c9) SHA1(d41f77fdfa787b0e97ed311e1c084b8699a5b197))
r244682r244683
501466
502467COMP( 1987, zdsupers,   ibm5150,    0,          zenith,     pccga, driver_device,      0,      "Zenith Data Systems", "SuperSport", 0)
503468
504COMP( 1983, m24,        ibm5150,    0,          olivetti,   pccga, driver_device,      0,      "Olivetti", "M24", GAME_NOT_WORKING)
505COMP( 1987, m240,       ibm5150,    0,          olivetti,   pccga, driver_device,      0,      "Olivetti", "M240", GAME_NOT_WORKING)
506469COMP( 198?, olivm15,    ibm5150,    0,          pccga,      pccga, driver_device,      0,      "Olivetti", "M15", GAME_NOT_WORKING | GAME_NO_SOUND) // is this a pc clone or not?
507470
508471COMP( 1983, ibm5550,    ibm5150,    0,          ibm5550,    pccga, driver_device,      0,      "International Business Machines", "IBM 5550", GAME_NOT_WORKING)
trunk/src/mess/mess.mak
r244682r244683
14701470
14711471$(MESSOBJ)/olivetti.a:          \
14721472   $(MESS_DRIVERS)/m20.o       \
1473   $(MESS_DRIVERS)/m24.o       \
14731474
14741475$(MESSOBJ)/omnibyte.a:          \
14751476   $(MESS_DRIVERS)/msbc1.o     \


Previous 199869 Revisions Next


© 1997-2024 The MAME Team