Previous 199869 Revisions Next

r26585 Wednesday 11th December, 2013 at 14:06:49 UTC by Robbbert
(MESS) tavernie : split info separate systems: cpu09 and ivg09
[src/mess]mess.lst mess.mak
[src/mess/drivers]tavernie.c
[src/mess/layout]tavernie.lay*

trunk/src/mess/layout/tavernie.lay
r0r26585
1<?xml version="1.0"?>
2<mamelayout version="2">
3   <view name="Default">
4      <screen index="1">
5         <bounds left="0" top="0" right="4" bottom="3" />
6      </screen>
7   </view>
8   <view name="Terminal">
9      <screen index="0">
10         <bounds left="0" top="0" right="4" bottom="3" />
11      </screen>
12   </view>
13</mamelayout>
Property changes on: trunk/src/mess/layout/tavernie.lay
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mess/drivers/tavernie.c
r26584r26585
5555#include "machine/serial.h"
5656#include "imagedev/cassette.h"
5757#include "sound/wave.h"
58#include "tavernie.lh"
5859
5960
6061class tavernie_state : public driver_device
r26584r26585
7475   DECLARE_READ8_MEMBER(keyin_r);
7576   DECLARE_WRITE8_MEMBER(kbd_put);
7677   const UINT8 *m_p_chargen;
77   required_shared_ptr<UINT8> m_p_videoram;
78   optional_shared_ptr<UINT8> m_p_videoram;
7879private:
7980   UINT8 m_term_data;
8081   UINT8 m_pa;
r26584r26585
8485};
8586
8687
87static ADDRESS_MAP_START(tavernie_mem, AS_PROGRAM, 8, tavernie_state)
88static ADDRESS_MAP_START(cpu09_mem, AS_PROGRAM, 8, tavernie_state)
8889   ADDRESS_MAP_UNMAP_HIGH
90   AM_RANGE(0x1000, 0x1fff) AM_NOP
91   AM_RANGE(0xeb00, 0xeb03) AM_DEVREADWRITE("pia", pia6821_device, read, write)
92   AM_RANGE(0xeb04, 0xeb04) AM_DEVREADWRITE("acia", acia6850_device, status_read, control_write)
93   AM_RANGE(0xeb05, 0xeb05) AM_DEVREADWRITE("acia", acia6850_device, data_read, data_write)
94   AM_RANGE(0xeb08, 0xeb0f) AM_DEVREADWRITE("ptm", ptm6840_device, read, write)
95   AM_RANGE(0xec00, 0xefff) AM_RAM // 1Kx8 RAM MK4118
96   AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("roms", 0)
97ADDRESS_MAP_END
98
99static ADDRESS_MAP_START(ivg09_mem, AS_PROGRAM, 8, tavernie_state)
100   ADDRESS_MAP_UNMAP_HIGH
89101   AM_RANGE(0x1000, 0x1fff) AM_RAM AM_SHARE("videoram")
90102   //AM_RANGE(0x2000, 0x2003) 6821 on ivg09
91103   AM_RANGE(0x2002, 0x2003) AM_READ(keyin_r)
92   //AM_RANGE(0x2080, 0x2080) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
93   //AM_RANGE(0x2081, 0x2081) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
104   AM_RANGE(0x2080, 0x2080) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
105   AM_RANGE(0x2081, 0x2081) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
94106   AM_RANGE(0xeb00, 0xeb03) AM_DEVREADWRITE("pia", pia6821_device, read, write)
95107   AM_RANGE(0xeb04, 0xeb04) AM_DEVREADWRITE("acia", acia6850_device, status_read, control_write)
96108   AM_RANGE(0xeb05, 0xeb05) AM_DEVREADWRITE("acia", acia6850_device, data_read, data_write)
r26584r26585
99111   AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("roms", 0)
100112ADDRESS_MAP_END
101113
102static ADDRESS_MAP_START( tavernie_io, AS_IO, 8, tavernie_state)
103   ADDRESS_MAP_UNMAP_HIGH
104ADDRESS_MAP_END
105114
106115/* Input ports */
107static INPUT_PORTS_START( tavernie )
116static INPUT_PORTS_START( cpu09 )
108117   PORT_START("DSW")
109118   PORT_DIPNAME( 0x01, 0x00, "IRQ PTM") PORT_DIPLOCATION("SW1:1")
110119   PORT_DIPSETTING(    0x01, DEF_STR(Off))
r26584r26585
119128   PORT_DIPSETTING(    0x60, "IVG09 (mc6845)" )
120129INPUT_PORTS_END
121130
131static INPUT_PORTS_START( ivg09 )
132   PORT_START("DSW")
133   PORT_DIPNAME( 0x01, 0x00, "IRQ PTM") PORT_DIPLOCATION("SW1:1")
134   PORT_DIPSETTING(    0x01, DEF_STR(Off))
135   PORT_DIPSETTING(    0x00, DEF_STR(On))
136   PORT_DIPNAME( 0x02, 0x00, "IRQ ACIA") PORT_DIPLOCATION("SW1:2")
137   PORT_DIPSETTING(    0x02, DEF_STR(Off))
138   PORT_DIPSETTING(    0x00, DEF_STR(On))
139   PORT_DIPNAME( 0x60, 0x60, "Terminal") PORT_DIPLOCATION("SW1:3,4")
140   PORT_DIPSETTING(    0x00, "110 baud" )
141   PORT_DIPSETTING(    0x20, "300 baud" )
142   PORT_DIPSETTING(    0x40, "1200 baud" )
143   PORT_DIPSETTING(    0x60, "IVG09 (mc6845)" )
144INPUT_PORTS_END
145
122146void tavernie_state::machine_reset()
123147{
124148   m_p_chargen = memregion("chargen")->base();
125149   m_term_data = 0;
126150}
127151
128#if 0
152
129153static MC6845_UPDATE_ROW( update_row )
130154{
131155   tavernie_state *state = device->machine().driver_data<tavernie_state>();
r26584r26585
172196   DEVCB_NULL,         /* VSYNC callback */
173197   NULL                /* update address callback */
174198};
175#endif
176199
200
177201READ8_MEMBER( tavernie_state::pa_r )
178202{
179203   return ioport("DSW")->read() | m_pa;
r26584r26585
273297   DEVCB_DRIVER_MEMBER(tavernie_state, kbd_put)
274298};
275299
276static MACHINE_CONFIG_START( tavernie, tavernie_state )
300static MACHINE_CONFIG_START( cpu09, tavernie_state )
277301   /* basic machine hardware */
278302   MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz)
279   MCFG_CPU_PROGRAM_MAP(tavernie_mem)
280   MCFG_CPU_IO_MAP(tavernie_io)
303   MCFG_CPU_PROGRAM_MAP(cpu09_mem)
281304
282   /* video hardware */
283   //MCFG_SCREEN_ADD("screen", RASTER)
284   //MCFG_SCREEN_REFRESH_RATE(50)
285   //MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
286   //MCFG_SCREEN_SIZE(80*8, 25*10)
287   //MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 25*10-1)
288   //MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
289   //MCFG_PALETTE_LENGTH(2)
290   //MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
291
292305   /* sound hardware */
293306   MCFG_SPEAKER_STANDARD_MONO("mono")
294307   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
295308   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
296309
297310   /* Devices */
298   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
299311   MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
300312   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
301313   MCFG_PIA6821_ADD("pia", mc6821_intf)
302314   MCFG_PTM6840_ADD("ptm", mc6840_intf)
303   //MCFG_MC6845_ADD("crtc", MC6845, "screen", 1008000, mc6845_intf) // unknown clock
304315   MCFG_ACIA6850_ADD("acia", mc6850_intf)
305316MACHINE_CONFIG_END
306317
318static MACHINE_CONFIG_DERIVED( ivg09, cpu09 )
319   /* basic machine hardware */
320   MCFG_CPU_MODIFY("maincpu")
321   MCFG_CPU_PROGRAM_MAP(ivg09_mem)
322
323   /* video hardware */
324   MCFG_SCREEN_ADD("screen", RASTER)
325   MCFG_SCREEN_REFRESH_RATE(50)
326   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
327   MCFG_SCREEN_SIZE(80*8, 25*10)
328   MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 25*10-1)
329   MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
330   MCFG_PALETTE_LENGTH(2)
331   MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
332   MCFG_DEFAULT_LAYOUT(layout_tavernie)
333
334   /* Devices */
335   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
336   MCFG_MC6845_ADD("crtc", MC6845, "screen", 1008000, mc6845_intf) // unknown clock
337MACHINE_CONFIG_END
338
307339/* ROM definition */
308ROM_START( tavernie )
340ROM_START( cpu09 )
309341   ROM_REGION( 0x1000, "roms", 0 )
310342   ROM_LOAD( "tavbug.bin",   0x0000, 0x1000, CRC(77945cae) SHA1(d89b577bc0b4e15e9a49a849998681bdc6cf5fbe) )
343ROM_END
311344
345ROM_START( ivg09 )
346   ROM_REGION( 0x1000, "roms", 0 )
347   ROM_LOAD( "tavbug.bin",   0x0000, 0x1000, CRC(77945cae) SHA1(d89b577bc0b4e15e9a49a849998681bdc6cf5fbe) )
348
312349   // charrom is missing, using one from 'c10' for now
313350   ROM_REGION( 0x2000, "chargen", 0 )
314351   ROM_LOAD( "c10_char.bin", 0x0000, 0x2000, CRC(cb530b6f) SHA1(95590bbb433db9c4317f535723b29516b9b9fcbf))
r26584r26585
316353
317354/* Driver */
318355
319/*    YEAR  NAME       PARENT  COMPAT   MACHINE     INPUT     CLASS          INIT    COMPANY        FULLNAME   FLAGS */
320COMP( 1982, tavernie,  0,      0,       tavernie,   tavernie, driver_device,   0,   "C. Tavernier",  "CPU09", GAME_IS_SKELETON )
356/*    YEAR  NAME    PARENT  COMPAT   MACHINE  INPUT    CLASS          INIT    COMPANY        FULLNAME   FLAGS */
357COMP( 1982, cpu09,  0,      0,       cpu09,   cpu09,   driver_device,   0,   "C. Tavernier",  "CPU09", GAME_NOT_WORKING )
358COMP( 1983, ivg09,  cpu09,  0,       ivg09,   ivg09,   driver_device,   0,   "C. Tavernier",  "CPU09 with IVG09", GAME_NOT_WORKING )
trunk/src/mess/mess.mak
r26584r26585
23882388$(MESS_DRIVERS)/svision.o:  $(MESS_LAYOUT)/svision.lh
23892389$(MESS_DRIVERS)/svmu.o:     $(MESS_LAYOUT)/svmu.lh
23902390$(MESS_DRIVERS)/sym1.o:     $(MESS_LAYOUT)/sym1.lh
2391$(MESS_DRIVERS)/tavernie.o: $(MESS_LAYOUT)/tavernie.lh
23912392$(MESS_DRIVERS)/tec1.o:     $(MESS_LAYOUT)/tec1.lh
23922393$(MESS_DRIVERS)/tk80.o:     $(MESS_LAYOUT)/tk80.lh
23932394$(MESS_DRIVERS)/tm990189.o: $(MESS_LAYOUT)/tm990189.lh $(MESS_LAYOUT)/tm990189v.lh
trunk/src/mess/mess.lst
r26584r26585
23012301cb308
23022302myvision
23032303mkit09
2304tavernie
2304cpu09
2305ivg09
2306

Previous 199869 Revisions Next


© 1997-2024 The MAME Team