Previous 199869 Revisions Next

r32360 Wednesday 24th September, 2014 at 19:54:32 UTC by Fabio Priuli
(MESS) mekd2.c: after several investigations, I came to
the conclusion that .d2 files are some sort of RAM snapshot
and not a cart format, so converted the driver to use quikload.
anyway, I had not actual file to test, so if you have any please
contact us to the MESS boards. nw.
[src/mess/drivers]mekd2.c

trunk/src/mess/drivers/mekd2.c
r32359r32360
7878#include "machine/6850acia.h"
7979#include "machine/clock.h"
8080#include "imagedev/cassette.h"
81#include "imagedev/snapquik.h"
8182#include "sound/wave.h"
82#include "imagedev/cartslot.h"
8383#include "mekd2.lh"
8484
8585#define XTAL_MEKD2 1228800
r32359r32360
106106   DECLARE_WRITE_LINE_MEMBER(mekd2_nmi_w);
107107   DECLARE_WRITE8_MEMBER(mekd2_digit_w);
108108   DECLARE_WRITE8_MEMBER(mekd2_segment_w);
109   DECLARE_DEVICE_IMAGE_LOAD_MEMBER(mekd2_cart);
109   DECLARE_QUICKLOAD_LOAD_MEMBER(mekd2_quik);
110110   DECLARE_WRITE_LINE_MEMBER(cass_w);
111111   TIMER_DEVICE_CALLBACK_MEMBER(mekd2_c);
112112   TIMER_DEVICE_CALLBACK_MEMBER(mekd2_p);
r32359r32360
301301   m_cass_state = state;
302302}
303303
304DEVICE_IMAGE_LOAD_MEMBER( mekd2_state,mekd2_cart )
304QUICKLOAD_LOAD_MEMBER( mekd2_state, mekd2_quik )
305305{
306306   static const char magic[] = "MEK6800D2";
307307   char buff[9];
308308   UINT16 addr, size;
309309   UINT8 ident, *RAM = memregion("maincpu")->base();
310310
311   image.fread( buff, sizeof (buff));
311   image.fread(buff, sizeof (buff));
312312   if (memcmp(buff, magic, sizeof (buff)))
313313   {
314      logerror( "mekd2_rom_load: magic '%s' not found\n", magic);
314      logerror("mekd2 rom load: magic '%s' not found\n", magic);
315315      return IMAGE_INIT_FAIL;
316316   }
317   image.fread( &addr, 2);
317   image.fread(&addr, 2);
318318   addr = LITTLE_ENDIANIZE_INT16(addr);
319   image.fread( &size, 2);
319   image.fread(&size, 2);
320320   size = LITTLE_ENDIANIZE_INT16(size);
321   image.fread( &ident, 1);
322   logerror("mekd2_rom_load: $%04X $%04X $%02X\n", addr, size, ident);
321   image.fread(&ident, 1);
322   logerror("mekd2 rom load: $%04X $%04X $%02X\n", addr, size, ident);
323323   while (size-- > 0)
324      image.fread( &RAM[addr++], 1);
324      image.fread(&RAM[addr++], 1);
325325
326326   return IMAGE_INIT_PASS;
327327}
r32359r32360
374374   MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
375375   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
376376
377   MCFG_CASSETTE_ADD( "cassette" )
377   MCFG_CASSETTE_ADD("cassette")
378378
379   /* Cartslot ?? does not come with one.. */
380   MCFG_CARTSLOT_ADD("cart")
381   MCFG_CARTSLOT_EXTENSION_LIST("d2")
382   MCFG_CARTSLOT_NOT_MANDATORY
383   MCFG_CARTSLOT_LOAD(mekd2_state,mekd2_cart)
384
385379   /* Devices */
386380   MCFG_DEVICE_ADD("pia_s", PIA6821, 0)
387381   MCFG_PIA_READPA_HANDLER(READ8(mekd2_state, mekd2_key_r))
r32359r32360
407401
408402   MCFG_TIMER_DRIVER_ADD_PERIODIC("mekd2_c", mekd2_state, mekd2_c, attotime::from_hz(4800))
409403   MCFG_TIMER_DRIVER_ADD_PERIODIC("mekd2_p", mekd2_state, mekd2_p, attotime::from_hz(40000))
404
405   MCFG_QUICKLOAD_ADD("quickload", mekd2_state, mekd2_quik, "d2", 1)
410406MACHINE_CONFIG_END
411407
412408/***********************************************************

Previous 199869 Revisions Next


© 1997-2024 The MAME Team