Previous 15994 Revisions Next

r3271 Monday 15th September, 2008 at 18:19:46 UTC by Miodrag Milanović
[RADIO86][MIKROSHA] I/O properly emulated
[src/mess/drivers]mikrosha.c radio86.c
[src/mess/includes]radio86.h
[src/mess/machine]radio86.c

src/mess/includes/radio86.h
r3270r3271
1919
2020extern READ8_HANDLER (radio_cpu_state_r );
2121
22extern READ8_HANDLER (radio_io_r );
23extern WRITE8_HANDLER(radio_io_w );
24
2225extern const ppi8255_interface radio86_ppi8255_interface_1;
2326extern const ppi8255_interface radio86_ppi8255_interface_2;
2427extern const ppi8255_interface rk7007_ppi8255_interface;
src/mess/machine/radio86.c
r3270r3271
173173   return cpunum_get_reg(0, I8080_STATUS);   
174174}
175175
176READ8_HANDLER (radio_io_r )
177{
178   return program_read_byte((offset << 8) + offset);
179}
180
181WRITE8_HANDLER(radio_io_w )
182{
183   program_write_byte((offset << 8) + offset,data);
184}
185
176186MACHINE_RESET( radio86 )
177187{
178188   timer_set(ATTOTIME_IN_USEC(10), NULL, 0, radio86_reset);
src/mess/drivers/radio86.c
r3270r3271
2727    AM_RANGE( 0xf000, 0xffff ) AM_ROM  // System ROM
2828ADDRESS_MAP_END
2929
30static ADDRESS_MAP_START( radio86_io , ADDRESS_SPACE_IO, 8)
31   ADDRESS_MAP_UNMAP_HIGH
32   AM_RANGE( 0x00, 0xff ) AM_READWRITE(radio_io_r,radio_io_w)
33ADDRESS_MAP_END
34
3035static ADDRESS_MAP_START( rk7007_io , ADDRESS_SPACE_IO, 8)
3136   ADDRESS_MAP_UNMAP_HIGH
3237   AM_RANGE( 0x80, 0x83 ) AM_DEVREADWRITE(PPI8255, "ms7007", ppi8255_r, ppi8255_w)
r3270r3271
275280
276281/* Machine driver */
277282static MACHINE_DRIVER_START( radio86 )
278    /* basic machine hardware */
279    MDRV_CPU_ADD("main",8080, XTAL_16MHz / 9)
280    MDRV_CPU_PROGRAM_MAP(radio86_mem, 0)
281    MDRV_MACHINE_RESET( radio86 )
283  /* basic machine hardware */
284  MDRV_CPU_ADD("main",8080, XTAL_16MHz / 9)
285  MDRV_CPU_PROGRAM_MAP(radio86_mem, 0)
286  MDRV_CPU_IO_MAP(radio86_io, 0)
287  MDRV_MACHINE_RESET( radio86 )
282288
283289   MDRV_DEVICE_ADD( "ppi8255_1", PPI8255 )
284290   MDRV_DEVICE_CONFIG( radio86_ppi8255_interface_1 )
r3270r3271
330336}
331337
332338static MACHINE_DRIVER_START( radio16 )
333    /* basic machine hardware */
334    MDRV_IMPORT_FROM(radio86)
335    MDRV_CPU_MODIFY("main")
336    MDRV_CPU_PROGRAM_MAP(radio86_16_mem, 0)
337    MDRV_MACHINE_START( radio16 )
339  /* basic machine hardware */
340  MDRV_IMPORT_FROM(radio86)
341  MDRV_CPU_MODIFY("main")
342  MDRV_CPU_PROGRAM_MAP(radio86_16_mem, 0)
343  MDRV_MACHINE_START( radio16 )
338344MACHINE_DRIVER_END
339345
340346static MACHINE_DRIVER_START( radiorom )
341    /* basic machine hardware */
342    MDRV_IMPORT_FROM(radio86)
343    MDRV_CPU_MODIFY("main")
344    MDRV_CPU_PROGRAM_MAP(radio86rom_mem, 0)
347  /* basic machine hardware */
348  MDRV_IMPORT_FROM(radio86)
349  MDRV_CPU_MODIFY("main")
350  MDRV_CPU_PROGRAM_MAP(radio86rom_mem, 0)
345351   
346352   MDRV_DEVICE_ADD( "ppi8255_2", PPI8255 )
347353   MDRV_DEVICE_CONFIG( radio86_ppi8255_interface_2 )
348354MACHINE_DRIVER_END
349355
350356static MACHINE_DRIVER_START( radioram )
351    /* basic machine hardware */
352    MDRV_IMPORT_FROM(radio86)
353    MDRV_CPU_MODIFY("main")
354    MDRV_CPU_PROGRAM_MAP(radio86ram_mem, 0)
357  /* basic machine hardware */
358  MDRV_IMPORT_FROM(radio86)
359  MDRV_CPU_MODIFY("main")
360  MDRV_CPU_PROGRAM_MAP(radio86ram_mem, 0)
355361
356362   MDRV_DEVICE_ADD( "ppi8255_2", PPI8255 )
357363   MDRV_DEVICE_CONFIG( radio86_ppi8255_interface_2 )
358364MACHINE_DRIVER_END
359365
360366static MACHINE_DRIVER_START( rk7007 )
361    /* basic machine hardware */
362    MDRV_IMPORT_FROM(radio86)
363    MDRV_CPU_MODIFY("main")
364    MDRV_CPU_IO_MAP(rk7007_io, 0)
367  /* basic machine hardware */
368  MDRV_IMPORT_FROM(radio86)
369  MDRV_CPU_MODIFY("main")
370  MDRV_CPU_IO_MAP(rk7007_io, 0)
365371
366372   MDRV_DEVICE_ADD( "ms7007", PPI8255 )
367373   MDRV_DEVICE_CONFIG( rk7007_ppi8255_interface )
368374MACHINE_DRIVER_END
369375 
370376static MACHINE_DRIVER_START( rk700716 )
371    /* basic machine hardware */
372    MDRV_IMPORT_FROM(radio16)
373    MDRV_CPU_MODIFY("main")
374    MDRV_CPU_IO_MAP(rk7007_io, 0)
377  /* basic machine hardware */
378  MDRV_IMPORT_FROM(radio16)
379  MDRV_CPU_MODIFY("main")
380  MDRV_CPU_IO_MAP(rk7007_io, 0)
375381   
376382   MDRV_DEVICE_ADD( "ms7007", PPI8255 )
377383   MDRV_DEVICE_CONFIG( rk7007_ppi8255_interface )   
src/mess/drivers/mikrosha.c
r3270r3271
3131
3232static ADDRESS_MAP_START( mikrosha_io , ADDRESS_SPACE_IO, 8)
3333   ADDRESS_MAP_UNMAP_HIGH
34   AM_RANGE( 0x80, 0xbf ) AM_READ(radio_cpu_state_r)
34   AM_RANGE( 0x00, 0xff ) AM_READWRITE(radio_io_r,radio_io_w)
3535ADDRESS_MAP_END
3636
3737/* Input ports */

Previous 15994 Revisions Next


© 1998-2018 The MESS Team