Previous 15994 Revisions Next

r6091 Thursday 15th October, 2009 at 11:58:52 UTC by Dirk Best
[MC10] Cleanups
[src/mess/drivers]mc10.c

src/mess/drivers/mc10.c
r6090r6091
1616#include "formats/coco_cas.h"
1717#include "devices/messram.h"
1818
19
1920/***************************************************************************
2021    TYPE DEFINITIONS
2122***************************************************************************/
r6090r6091
2728   const device_config *dac;
2829   const device_config *cassette;
2930
31   UINT8 *ram;
32   UINT32 ram_size;
33
3034   UINT8 keyboard_strobe;
3135};
3236
r6090r6091
122126
123127static READ8_DEVICE_HANDLER( mc10_mc6847_videoram_r )
124128{
125   mc6847_inv_w(device, BIT(messram_get_ptr(devtag_get_device(device->machine, "messram"))[offset], 6));
126   mc6847_as_w(device, BIT(messram_get_ptr(devtag_get_device(device->machine, "messram"))[offset], 7));
129   mc10_state *mc10 = device->machine->driver_data;
127130
128   return messram_get_ptr(devtag_get_device(device->machine, "messram"))[offset];
131   mc6847_inv_w(device, BIT(mc10->ram[offset], 6));
132   mc6847_as_w(device, BIT(mc10->ram[offset], 7));
133
134   return mc10->ram[offset];
129135}
130136
131137static VIDEO_UPDATE( mc10 )
r6090r6091
153159   mc10->cassette = devtag_get_device(machine, "cassette");
154160
155161   /* initialize memory */
156   memory_set_bankptr(machine, 1, messram_get_ptr(devtag_get_device(machine, "messram")));
162   mc10->ram = messram_get_ptr(devtag_get_device(machine, "messram"));
163   mc10->ram_size = messram_get_size(devtag_get_device(machine, "messram"));
157164
165   memory_set_bankptr(machine, 1, mc10->ram);
166
158167   /* initialize memory expansion */
159   if (messram_get_size(devtag_get_device(machine, "messram")) == 20*1024)
160      memory_set_bankptr(machine, 2, messram_get_ptr(devtag_get_device(machine, "messram")) + 0x1000);
168   if (mc10->ram_size == 20*1024)
169      memory_set_bankptr(machine, 2, mc10->ram + 0x1000);
161170   else
162171      memory_install_readwrite8_handler(prg, 0x5000, 0x8fff, 0, 0, SMH_NOP, SMH_NOP);
163172
r6090r6091
415424   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
416425
417426   MDRV_CASSETTE_ADD("cassette", mc10_cassette_config)
418   
427
419428   /* internal ram */
420429   MDRV_RAM_ADD("messram")
421430   MDRV_RAM_DEFAULT_SIZE("20K")
422   MDRV_RAM_EXTRA_OPTIONS("4K")     
431   MDRV_RAM_EXTRA_OPTIONS("4K")
423432MACHINE_DRIVER_END
424433
425434

Previous 15994 Revisions Next


© 1998-2018 The MESS Team