Previous 199869 Revisions Next

r19108 Thursday 22nd November, 2012 at 19:33:19 UTC by Curt Coder
sed1310: Cleanup. (nw)
(MESS) bw2: Fixed memory mapping. (nw)
(MESS) msm6255: Refactored to use device_memory_interface. (nw)

(MESS) floppy: Added macros for declaring modern floppy formats. The generic floppy formats (D88/DFI/IMD/IPF/MFI/MFM) are now automatically supported in each driver using the modern floppy code. [Curt Coder]
[src/emu/imagedev]floppy.c floppy.h
[src/emu/machine]amigafdc.c amigafdc.h
[src/emu/video]msm6255.c msm6255.h sed1330.c sed1330.h
[src/mess/drivers]a5105.c amstrad.c atarist.c b2m.c bebox.c bw12.c bw2.c compis.c dmv.c einstein.c elwro800.c esq5505.c hec2hrp.c ht68k.c m5.c microdec.c mikromik.c mirage.c mz6500.c nanos.c newbrain.c next.c p8k.c pasopia7.c pc.c pc100.c pc1512.c pc8801.c pc88va.c pc9801.c pcw.c pcw16.c prof180x.c prof80.c pyl601.c qx10.c sage2.c samcoupe.c sg1000.c specpls3.c super6.c tandy2k.c wangpc.c x68k.c
[src/mess/includes]apollo.h atarist.h bebox.h bw12.h bw2.h einstein.h m5.h mikromik.h newbrain.h next.h pc.h pc1512.h pcw16.h samcoupe.h super6.h x68k.h
[src/mess/machine]adam_fdc.c adam_fdc.h apollo.c fd2000.c iq151_disc2.c iq151_disc2.h isa_fdc.c isa_fdc.h kc_d004.c kc_d004.h pf10.c tf20.c

trunk/src/mess/machine/isa_fdc.c
r19107r19108
1414#include "formats/mfi_dsk.h"
1515
1616
17static const floppy_format_type pc_floppy_formats[] = {
18   FLOPPY_PC_FORMAT,
19   FLOPPY_MFI_FORMAT,
20   NULL
21};
17FLOPPY_FORMATS_MEMBER( isa8_fdc_device::floppy_formats )
18   FLOPPY_PC_FORMAT
19FLOPPY_FORMATS_END
2220
2321static SLOT_INTERFACE_START( pc_dd_floppies )
2422   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
r19107r19108
3230
3331static MACHINE_CONFIG_FRAGMENT( cfg_xt )
3432   MCFG_PC_FDC_XT_ADD("fdc")
35   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", 0, pc_floppy_formats)
36   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", 0, pc_floppy_formats)
33   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", 0, isa8_fdc_device::floppy_formats)
34   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", 0, isa8_fdc_device::floppy_formats)
3735MACHINE_CONFIG_END
3836
3937static MACHINE_CONFIG_FRAGMENT( cfg_at )
4038   MCFG_PC_FDC_AT_ADD("fdc")
41   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
42   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
39   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
40   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
4341MACHINE_CONFIG_END
4442
4543static MACHINE_CONFIG_FRAGMENT( cfg_smc )
4644   MCFG_SMC37C78_ADD("fdc")
47   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
48   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
45   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
46   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
4947MACHINE_CONFIG_END
5048
5149static MACHINE_CONFIG_FRAGMENT( cfg_ps2 )
5250   MCFG_N82077AA_ADD("fdc", n82077aa_device::MODE_PS2)
53   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
54   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
51   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
52   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
5553MACHINE_CONFIG_END
5654
5755static MACHINE_CONFIG_FRAGMENT( cfg_superio )
5856   MCFG_PC_FDC_SUPERIO_ADD("fdc")
59   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
60   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, pc_floppy_formats)
57   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
58   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", 0, isa8_fdc_device::floppy_formats)
6159MACHINE_CONFIG_END
6260
6361
trunk/src/mess/machine/isa_fdc.h
r19107r19108
2828
2929   required_device<pc_fdc_interface> fdc;
3030
31   DECLARE_FLOPPY_FORMATS( floppy_formats );
32
3133protected:
3234   // device-level overrides
3335   virtual void device_start();
trunk/src/mess/machine/adam_fdc.c
r19107r19108
105105   m_maincpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
106106}
107107
108const floppy_format_type adam_fdc_device::floppy_formats[] = {
109   FLOPPY_ADAM_FORMAT, FLOPPY_MFM_FORMAT, FLOPPY_MFI_FORMAT,
110   NULL
111};
108FLOPPY_FORMATS_MEMBER( adam_fdc_device::floppy_formats )
109   FLOPPY_ADAM_FORMAT
110FLOPPY_FORMATS_END
112111
113112static SLOT_INTERFACE_START( adam_fdc_floppies )
114113   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
trunk/src/mess/machine/adam_fdc.h
r19107r19108
4949
5050   void fdc_intrq_w(bool state);
5151
52   static const floppy_format_type floppy_formats[];
52   DECLARE_FLOPPY_FORMATS( floppy_formats );
5353
5454protected:
5555   // device-level overrides
trunk/src/mess/machine/apollo.c
r19107r19108
3737#include "machine/pic8259.h"
3838
3939#include "machine/pc_fdc.h"
40#include "formats/mfi_dsk.h"
4140#include "formats/apollo_dsk.h"
4241
4342#include "cpu/m68000/m68000.h"
r19107r19108
12791278#undef VERBOSE
12801279#define VERBOSE 0
12811280
1282static const floppy_format_type apollo_floppy_formats[] = {
1283   FLOPPY_APOLLO_FORMAT,
1284   FLOPPY_MFI_FORMAT,
1285   NULL
1286};
1281FLOPPY_FORMATS_MEMBER( apollo_state::floppy_formats )
1282   FLOPPY_APOLLO_FORMAT
1283FLOPPY_FORMATS_END
12871284
12881285static SLOT_INTERFACE_START( apollo_floppies )
12891286   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
r19107r19108
13991396    MCFG_DUART68681_ADD( APOLLO_SIO2_TAG, XTAL_3_6864MHz, apollo_sio2_config )
14001397
14011398   MCFG_PC_FDC_XT_ADD(APOLLO_FDC_TAG)
1402   MCFG_FLOPPY_DRIVE_ADD(APOLLO_FDC_TAG ":0", apollo_floppies, "525hd", 0, apollo_floppy_formats)
1399   MCFG_FLOPPY_DRIVE_ADD(APOLLO_FDC_TAG ":0", apollo_floppies, "525hd", 0, apollo_state::floppy_formats)
14031400
14041401   MCFG_OMTI8621_ADD(APOLLO_WDC_TAG, apollo_wdc_config)
14051402   MCFG_SC499_ADD(APOLLO_CTAPE_TAG, apollo_ctape_config)
trunk/src/mess/machine/fd2000.c
r19107r19108
8585   DEVCB_NULL
8686};
8787
88
89static const floppy_format_type fd2000_floppy_formats[] = {
90   FLOPPY_MFI_FORMAT,
91   NULL
92};
93
9488static SLOT_INTERFACE_START( fd2000_floppies )
9589   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
9690SLOT_INTERFACE_END
r19107r19108
107101   MCFG_VIA6522_ADD(M6522_TAG, 2000000, via_intf)
108102   MCFG_UPD765A_ADD(DP8473_TAG, true, true)
109103
110   MCFG_FLOPPY_DRIVE_ADD(DP8473_TAG ":0", fd2000_floppies, "525dd", 0, fd2000_floppy_formats)
104   MCFG_FLOPPY_DRIVE_ADD(DP8473_TAG ":0", fd2000_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
111105MACHINE_CONFIG_END
112106
113107
trunk/src/mess/machine/tf20.c
r19107r19108
116116   }
117117};
118118
119static const floppy_format_type tf20_floppy_formats[] =
120{
121   FLOPPY_D88_FORMAT,
122   FLOPPY_MFM_FORMAT,
123   FLOPPY_MFI_FORMAT,
124   NULL
125};
126
127119static SLOT_INTERFACE_START( tf20_floppies )
128120   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
129121SLOT_INTERFACE_END
r19107r19108
144136   MCFG_UPD765A_ADD("5a", true, true)
145137
146138   // floppy drives
147   MCFG_FLOPPY_DRIVE_ADD("5a:0", tf20_floppies, "525dd", 0, tf20_floppy_formats)
148   MCFG_FLOPPY_DRIVE_ADD("5a:1", tf20_floppies, "525dd", 0, tf20_floppy_formats)
139   MCFG_FLOPPY_DRIVE_ADD("5a:0", tf20_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
140   MCFG_FLOPPY_DRIVE_ADD("5a:1", tf20_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
149141
150142   // serial interface to another device
151143   MCFG_EPSON_SIO_ADD("sio")
trunk/src/mess/machine/iq151_disc2.c
r19107r19108
66
77#include "emu.h"
88#include "iq151_disc2.h"
9#include "formats/mfi_dsk.h"
109#include "formats/iq151_dsk.h"
1110
1211
r19107r19108
1413    IMPLEMENTATION
1514***************************************************************************/
1615
17static const floppy_format_type iq151_disc2_floppy_formats[] = {
18   FLOPPY_IQ151_FORMAT,
19   FLOPPY_MFI_FORMAT,
20   NULL
21};
16FLOPPY_FORMATS_MEMBER( iq151_disc2_device::floppy_formats )
17   FLOPPY_IQ151_FORMAT
18FLOPPY_FORMATS_END
2219
2320static SLOT_INTERFACE_START( iq151_disc2_floppies )
2421   SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD )
r19107r19108
2623
2724static MACHINE_CONFIG_FRAGMENT( iq151_disc2 )
2825   MCFG_UPD765A_ADD("fdc", false, true)
29   MCFG_FLOPPY_DRIVE_ADD("fdc:1", iq151_disc2_floppies, "8sssd", 0, iq151_disc2_floppy_formats)
30   MCFG_FLOPPY_DRIVE_ADD("fdc:2", iq151_disc2_floppies, "8sssd", 0, iq151_disc2_floppy_formats)
26   MCFG_FLOPPY_DRIVE_ADD("fdc:1", iq151_disc2_floppies, "8sssd", 0, iq151_disc2_device::floppy_formats)
27   MCFG_FLOPPY_DRIVE_ADD("fdc:2", iq151_disc2_floppies, "8sssd", 0, iq151_disc2_device::floppy_formats)
3128MACHINE_CONFIG_END
3229
3330ROM_START( iq151_disc2 )
trunk/src/mess/machine/iq151_disc2.h
r19107r19108
2424   // optional information overrides
2525   virtual machine_config_constructor device_mconfig_additions() const;
2626   virtual const rom_entry *device_rom_region() const;
27   
28   DECLARE_FLOPPY_FORMATS( floppy_formats );
2729
2830protected:
2931   // device-level overrides
trunk/src/mess/machine/kc_d004.c
r19107r19108
4747   AM_RANGE(0x0000, 0xffff) AM_READWRITE(gide_r, gide_w)
4848ADDRESS_MAP_END
4949
50static const floppy_format_type kc_d004_floppy_formats[] = {
51   FLOPPY_KC85_FORMAT,
52   FLOPPY_MFI_FORMAT,
53   NULL
54};
50FLOPPY_FORMATS_MEMBER( kc_d004_device::floppy_formats )
51   FLOPPY_KC85_FORMAT
52FLOPPY_FORMATS_END
5553
5654static SLOT_INTERFACE_START( kc_d004_floppies )
5755   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
r19107r19108
8078   MCFG_Z80CTC_ADD( Z80CTC_TAG, XTAL_8MHz/2, kc_d004_ctc_intf )
8179
8280   MCFG_UPD765A_ADD(UPD765_TAG, false, false)
83   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", kc_d004_floppies, "525hd", 0, kc_d004_floppy_formats)
84   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", kc_d004_floppies, "525hd", 0, kc_d004_floppy_formats)
85   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", kc_d004_floppies, "525hd", 0, kc_d004_floppy_formats)
86   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", kc_d004_floppies, "525hd", 0, kc_d004_floppy_formats)
81   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", kc_d004_floppies, "525hd", 0, kc_d004_device::floppy_formats)
82   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", kc_d004_floppies, "525hd", 0, kc_d004_device::floppy_formats)
83   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", kc_d004_floppies, "525hd", 0, kc_d004_device::floppy_formats)
84   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":3", kc_d004_floppies, "525hd", 0, kc_d004_device::floppy_formats)
8785MACHINE_CONFIG_END
8886
8987static MACHINE_CONFIG_FRAGMENT(kc_d004_gide)
trunk/src/mess/machine/kc_d004.h
r19107r19108
3333   virtual machine_config_constructor device_mconfig_additions() const;
3434   virtual const rom_entry *device_rom_region() const;
3535
36   DECLARE_FLOPPY_FORMATS( floppy_formats );
37
3638protected:
3739   // device-level overrides
3840   virtual void device_start();
trunk/src/mess/machine/pf10.c
r19107r19108
5858//  machine configurations
5959//-------------------------------------------------
6060
61static const floppy_format_type pf10_floppy_formats[] =
62{
63   FLOPPY_D88_FORMAT,
64   FLOPPY_MFM_FORMAT,
65   FLOPPY_MFI_FORMAT,
66   NULL
67};
68
6961static SLOT_INTERFACE_START( pf10_floppies )
7062   SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
7163SLOT_INTERFACE_END
r19107r19108
7668   MCFG_CPU_IO_MAP(cpu_io)
7769
7870   MCFG_UPD765A_ADD("upd765a", false, true)
79   MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "35dd", 0, pf10_floppy_formats) // SMD-165
71   MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "35dd", 0, floppy_image_device::default_floppy_formats) // SMD-165
8072
8173   MCFG_EPSON_SIO_ADD("sio")
8274MACHINE_CONFIG_END
trunk/src/mess/includes/atarist.h
r19107r19108
273273
274274   floppy_image_device *floppy_devices[2];
275275
276   static const floppy_format_type floppy_formats[];
276   DECLARE_FLOPPY_FORMATS( floppy_formats );
277277   TIMER_CALLBACK_MEMBER(st_mouse_tick);
278278   TIMER_CALLBACK_MEMBER(atarist_shifter_tick);
279279   TIMER_CALLBACK_MEMBER(atarist_glue_tick);
trunk/src/mess/includes/apollo.h
r19107r19108
2323#include "machine/sc499.h"
2424#include "machine/3c505.h"
2525#include "machine/68681.h"
26#include "machine/pc_fdc.h"
2627
2728#ifndef VERBOSE
2829#define VERBOSE 0
r19107r19108
185186
186187   void fdc_interrupt(bool state);
187188   void fdc_dma_drq(bool state);
189   DECLARE_FLOPPY_FORMATS( floppy_formats );
188190};
189191
190192MACHINE_CONFIG_EXTERN( apollo );
trunk/src/mess/includes/pcw16.h
r19107r19108
77#ifndef PCW16_H_
88#define PCW16_H_
99
10#include "machine/upd765.h"      /* FDC superio */
1011
1112#define PCW16_BORDER_HEIGHT 8
1213#define PCW16_BORDER_WIDTH 8
r19107r19108
113114
114115   void trigger_fdc_int();
115116   void fdc_interrupt(bool state);
117   DECLARE_FLOPPY_FORMATS( floppy_formats );
116118};
117119
118120#endif /* PCW16_H_ */
trunk/src/mess/includes/pc.h
r19107r19108
1313#include "machine/serial.h"
1414#include "machine/ser_mouse.h"
1515#include "machine/pc_kbdc.h"
16#include "machine/upd765.h"
1617
1718class pc_state : public driver_device
1819{
r19107r19108
129130
130131   void fdc_interrupt(bool state);
131132   void fdc_dma_drq(bool state);
133   DECLARE_FLOPPY_FORMATS( floppy_formats );
132134};
133135
134136/*----------- defined in machine/pc.c -----------*/
trunk/src/mess/includes/newbrain.h
r19107r19108
88#include "cpu/z80/z80.h"
99#include "cpu/z80/z80daisy.h"
1010#include "cpu/cop400/cop400.h"
11#include "machine/upd765.h"
11#include "imagedev/cassette.h"
1212#include "machine/6850acia.h"
1313#include "machine/adc0808.h"
1414#include "machine/z80ctc.h"
1515#include "machine/z80sio.h"
16#include "imagedev/flopdrv.h"
17#include "formats/basicdsk.h"
18#include "imagedev/cassette.h"
1916#include "machine/rescap.h"
2017#include "machine/ram.h"
18#include "machine/upd765.h"
2119
2220#define SCREEN_TAG      "screen"
2321#define Z80_TAG         "409"
trunk/src/mess/includes/bw12.h
r19107r19108
109109   int m_motor1;
110110   TIMER_DEVICE_CALLBACK_MEMBER(floppy_motor_off_tick);
111111   DECLARE_WRITE_LINE_MEMBER(pit_out0_w);
112   DECLARE_FLOPPY_FORMATS( bw12_floppy_formats );
113   DECLARE_FLOPPY_FORMATS( bw14_floppy_formats );
112114};
113115
114116#endif
trunk/src/mess/includes/einstein.h
r19107r19108
6767   UINT8 *m_crtc_ram;
6868   UINT8   m_de;
6969
70   static const floppy_format_type floppy_formats[];
70   DECLARE_FLOPPY_FORMATS( floppy_formats );
7171   DECLARE_WRITE8_MEMBER(einstein_80col_ram_w);
7272   DECLARE_READ8_MEMBER(einstein_80col_ram_r);
7373   DECLARE_READ8_MEMBER(einstein_80col_state_r);
trunk/src/mess/includes/samcoupe.h
r19107r19108
1111#ifndef SAMCOUPE_H_
1212#define SAMCOUPE_H_
1313
14#include "machine/wd1772.h"
15
1416/* screen dimensions */
1517#define SAM_BLOCK         8
1618
r19107r19108
114116
115117   UINT8* sam_bank_read_ptr[4];
116118   UINT8* sam_bank_write_ptr[4];
117
119   DECLARE_FLOPPY_FORMATS( floppy_formats );
118120};
119121
120122
trunk/src/mess/includes/next.h
r19107r19108
114114   void mo_irq(bool state);
115115   void mo_drq(bool state);
116116
117   static const floppy_format_type floppy_formats[];
117   DECLARE_FLOPPY_FORMATS( floppy_formats );
118118   static const cdrom_interface cdrom_intf;
119119   static const harddisk_interface harddisk_intf;
120120
trunk/src/mess/includes/m5.h
r19107r19108
7373   DECLARE_WRITE_LINE_MEMBER(sordm5_video_interrupt_callback);
7474
7575   void fdc_irq(bool state);
76   DECLARE_FLOPPY_FORMATS( floppy_formats );
7677};
7778
7879#endif
trunk/src/mess/includes/x68k.h
r19107r19108
7474   void floppy_load_unload();
7575   int floppy_load(floppy_image_device *dev);
7676   void floppy_unload(floppy_image_device *dev);
77   DECLARE_FLOPPY_FORMATS( floppy_formats );
7778
7879   struct
7980   {
trunk/src/mess/includes/bebox.h
r19107r19108
99#ifndef BEBOX_H_
1010#define BEBOX_H_
1111
12#include "emu.h"
1213#include "machine/ins8250.h"
1314#include "machine/8237dma.h"
1415#include "machine/53c810.h"
16#include "machine/upd765.h"
1517
1618struct bebox_devices_t
1719{
r19107r19108
8688
8789   void fdc_interrupt(bool state);
8890   void fdc_dma_drq(bool state);
91   DECLARE_FLOPPY_FORMATS( floppy_formats );
8992};
9093
9194
trunk/src/mess/includes/super6.h
r19107r19108
7171   DECLARE_WRITE_LINE_MEMBER( fr_w );
7272   void fdc_intrq_w(bool state);
7373   void fdc_drq_w(bool state);
74   static const floppy_format_type floppy_formats[];
7574
7675   void bankswitch();
7776
trunk/src/mess/includes/bw2.h
r19107r19108
66#include "emu.h"
77#include "cpu/z80/z80.h"
88#include "formats/bw2_dsk.h"
9#include "formats/hxcmfm_dsk.h"
10#include "formats/imd_dsk.h"
11#include "formats/mfi_dsk.h"
129#include "machine/bw2exp.h"
1310#include "machine/ctronics.h"
1411#include "machine/i8251.h"
r19107r19108
7471
7572   void fdc_intrq_w(bool state);
7673   void fdc_drq_w(bool state);
77   static const floppy_format_type floppy_formats[];
74   DECLARE_FLOPPY_FORMATS( floppy_formats );
7875
7976   // keyboard state
8077   UINT8 m_kb;
trunk/src/mess/includes/pc1512.h
r19107r19108
155155   DECLARE_INPUT_CHANGED_MEMBER( mouse_button_2_changed );
156156   DECLARE_INPUT_CHANGED_MEMBER( mouse_x_changed );
157157   DECLARE_INPUT_CHANGED_MEMBER( mouse_y_changed );
158   DECLARE_FLOPPY_FORMATS( floppy_formats );
158159
159160   // system status register
160161   int m_pit1;
trunk/src/mess/includes/mikromik.h
r19107r19108
118118   int m_tc;
119119   UINT32 screen_update_mm1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
120120   TIMER_DEVICE_CALLBACK_MEMBER(kbclk_tick);
121   DECLARE_FLOPPY_FORMATS( floppy_formats );
121122};
122123
123124
trunk/src/mess/drivers/pasopia7.c
r19107r19108
977977   m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE);
978978}
979979
980static const floppy_format_type pasopia7_floppy_formats[] = {
981   FLOPPY_MFI_FORMAT,
982   NULL
983};
984
985980static SLOT_INTERFACE_START( pasopia7_floppies )
986981   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
987982SLOT_INTERFACE_END
r19107r19108
10261021   MCFG_I8255_ADD( "ppi8255_1", ppi8255_intf_1 )
10271022   MCFG_I8255_ADD( "ppi8255_2", ppi8255_intf_2 )
10281023   MCFG_UPD765A_ADD("fdc", true, true)
1029   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pasopia7_floppies, "525hd", 0, pasopia7_floppy_formats)
1030   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pasopia7_floppies, "525hd", 0, pasopia7_floppy_formats)
1024   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pasopia7_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
1025   MCFG_FLOPPY_DRIVE_ADD("fdc:1", pasopia7_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
10311026MACHINE_CONFIG_END
10321027
10331028static MACHINE_CONFIG_DERIVED( p7_raster, p7_base )
trunk/src/mess/drivers/dmv.c
r19107r19108
180180   }
181181}
182182
183static const floppy_format_type dmv_floppy_formats[] = {
184   FLOPPY_MFI_FORMAT,
185   NULL
186};
187
188183static SLOT_INTERFACE_START( dmv_floppies )
189184    SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
190185SLOT_INTERFACE_END
r19107r19108
333328   MCFG_UPD7220_ADD( "upd7220", XTAL_4MHz, hgdc_intf, upd7220_map )
334329   MCFG_I8237_ADD( "dma8237", XTAL_4MHz, dmv_dma8237_config )
335330   MCFG_UPD765A_ADD( "upd765", true, true )
336   MCFG_FLOPPY_DRIVE_ADD("upd765:0", dmv_floppies, "525dd", 0, dmv_floppy_formats)
337   MCFG_FLOPPY_DRIVE_ADD("upd765:1", dmv_floppies, "525dd", 0, dmv_floppy_formats)
331   MCFG_FLOPPY_DRIVE_ADD("upd765:0", dmv_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
332   MCFG_FLOPPY_DRIVE_ADD("upd765:1", dmv_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
338333MACHINE_CONFIG_END
339334
340335/* ROM definition */
trunk/src/mess/drivers/compis.c
r19107r19108
335335   1   /*  first day of week */
336336};
337337
338
339static const floppy_format_type compis_floppy_formats[] = {
340   FLOPPY_MFI_FORMAT,
341   NULL
342};
343
344338static SLOT_INTERFACE_START( compis_floppies )
345339   SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
346340SLOT_INTERFACE_END
r19107r19108
386380   MCFG_I8251_ADD("uart", compis_usart_interface)
387381   MCFG_MM58274C_ADD("mm58274c", compis_mm58274c_interface)
388382   MCFG_I8272A_ADD("i8272a", true)
389   MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", 0, compis_floppy_formats)
390   MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", 0, compis_floppy_formats)
383   MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
384   MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
391385   MCFG_COMPIS_KEYBOARD_ADD()
392386
393387   /* software lists */
r19107r19108
426420   MCFG_I8251_ADD("uart", compis_usart_interface)
427421   MCFG_MM58274C_ADD("mm58274c", compis_mm58274c_interface)
428422   MCFG_I8272A_ADD("i8272a", true)
429   MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", 0, compis_floppy_formats)
430   MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", 0, compis_floppy_formats)
423   MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
424   MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
431425   MCFG_COMPIS_KEYBOARD_ADD()
432426
433427   /* software lists */
trunk/src/mess/drivers/m5.c
r19107r19108
560560//  upd765_interface fdc_intf
561561//-------------------------------------------------
562562
563static const floppy_format_type m5_floppy_formats[] = {
564   FLOPPY_M5_FORMAT,
565   FLOPPY_MFI_FORMAT,
566   NULL
567};
563FLOPPY_FORMATS_MEMBER( m5_state::floppy_formats )
564   FLOPPY_M5_FORMAT
565FLOPPY_FORMATS_END
568566
569567static SLOT_INTERFACE_START( m5_floppies )
570568    SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
r19107r19108
665663   MCFG_CASSETTE_ADD(CASSETTE_TAG, cassette_intf)
666664   MCFG_I8255_ADD(I8255A_TAG, ppi_intf)
667665   MCFG_UPD765A_ADD(UPD765_TAG, true, true)
668   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", m5_floppies, "525dd", 0, m5_floppy_formats)
666   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", m5_floppies, "525dd", 0, m5_state::floppy_formats)
669667
670668   // cartridge
671669   MCFG_CARTSLOT_ADD("cart")
trunk/src/mess/drivers/pc100.c
r19107r19108
472472   }
473473}
474474
475static const floppy_format_type pc100_floppy_formats[] = {
476   FLOPPY_D88_FORMAT,
477   FLOPPY_MFI_FORMAT,
478   NULL
479};
480
481475static SLOT_INTERFACE_START( pc100_floppies )
482476   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
483477SLOT_INTERFACE_END
r19107r19108
506500   MCFG_UPD765A_ADD("upd765", true, true)
507501   MCFG_MSM58321_ADD("rtc", XTAL_32_768kHz, rtc_intf)
508502
509   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pc100_floppies, "525hd", 0, pc100_floppy_formats)
510   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pc100_floppies, "525hd", 0, pc100_floppy_formats)
503   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pc100_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
504   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pc100_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
511505
512506   /* video hardware */
513507   MCFG_SCREEN_ADD("screen", RASTER)
trunk/src/mess/drivers/mz6500.c
r19107r19108
119119   //printf("%02x DRQ\n",state);
120120}
121121
122static const floppy_format_type mz6500_floppy_formats[] = {
123   FLOPPY_MFI_FORMAT,
124   NULL
125};
126
127122static SLOT_INTERFACE_START( mz6500_floppies )
128123   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
129124SLOT_INTERFACE_END
r19107r19108
162157   /* Devices */
163158   MCFG_UPD7220_ADD("upd7220", 4000000, hgdc_intf, upd7220_map)
164159   MCFG_UPD765A_ADD("upd765", true, true)
165   MCFG_FLOPPY_DRIVE_ADD("upd765:0", mz6500_floppies, "525hd", 0, mz6500_floppy_formats)
166   MCFG_FLOPPY_DRIVE_ADD("upd765:1", mz6500_floppies, "525hd", 0, mz6500_floppy_formats)
160   MCFG_FLOPPY_DRIVE_ADD("upd765:0", mz6500_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
161   MCFG_FLOPPY_DRIVE_ADD("upd765:1", mz6500_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
167162MACHINE_CONFIG_END
168163
169164/* ROM definition */
trunk/src/mess/drivers/bw12.c
r19107r19108
613613   SLOT_INTERFACE( "525dd", FLOPPY_525_SSDD )
614614SLOT_INTERFACE_END
615615
616static const floppy_format_type bw12_floppy_formats[] = {
617   FLOPPY_BW12_FORMAT,
618   FLOPPY_IMD_FORMAT,
619   FLOPPY_MFI_FORMAT,
620   FLOPPY_MFM_FORMAT,
621   NULL
622};
616FLOPPY_FORMATS_MEMBER( bw12_state::bw12_floppy_formats )
617   FLOPPY_BW12_FORMAT
618FLOPPY_FORMATS_END
623619
624620static SLOT_INTERFACE_START( bw14_floppies )
625621   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
626622SLOT_INTERFACE_END
627623
628static const floppy_format_type bw14_floppy_formats[] = {
629   FLOPPY_BW12_FORMAT,
630   FLOPPY_IMD_FORMAT,
631   FLOPPY_MFI_FORMAT,
632   FLOPPY_MFM_FORMAT,
633   NULL
634};
624FLOPPY_FORMATS_MEMBER( bw12_state::bw14_floppy_formats )
625   FLOPPY_BW12_FORMAT
626FLOPPY_FORMATS_END
635627
636628/* F4 Character Displayer */
637629static const gfx_layout bw12_charlayout =
r19107r19108
691683
692684static MACHINE_CONFIG_DERIVED( bw12, common )
693685   /* floppy drives */
694   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", bw12_floppies, "525dd", 0, bw12_floppy_formats)
695   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw12_floppies, "525dd", 0, bw12_floppy_formats)
686   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", bw12_floppies, "525dd", 0, bw12_state::bw12_floppy_formats)
687   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw12_floppies, "525dd", 0, bw12_state::bw12_floppy_formats)
696688
697689   // software lists
698690   MCFG_SOFTWARE_LIST_ADD("flop_list", "bw12")
r19107r19108
704696
705697static MACHINE_CONFIG_DERIVED( bw14, common )
706698   /* floppy drives */
707   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", bw14_floppies, "525dd", 0, bw14_floppy_formats)
708   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw14_floppies, "525dd", 0, bw14_floppy_formats)
699   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", bw14_floppies, "525dd", 0, bw12_state::bw14_floppy_formats)
700   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", bw14_floppies, "525dd", 0, bw12_state::bw14_floppy_formats)
709701
710702   /* internal ram */
711703   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/prof80.c
r19107r19108
507507//  upd765_interface fdc_intf
508508//-------------------------------------------------
509509
510static const floppy_format_type prof80_floppy_formats[] = {
511   FLOPPY_MFI_FORMAT,
512   NULL
513};
514
515510static SLOT_INTERFACE_START( prof80_floppies )
516511   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
517512SLOT_INTERFACE_END
r19107r19108
623618   // devices
624619   MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, rtc_intf)
625620   MCFG_UPD765A_ADD(UPD765_TAG, false, true)
626   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", prof80_floppies, "525hd", 0, prof80_floppy_formats)
627   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", prof80_floppies, "525hd", 0, prof80_floppy_formats)
621   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", prof80_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
622   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", prof80_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
628623
629624   // ECB bus
630625   MCFG_ECBBUS_ADD(Z80_TAG, ecb_intf)
trunk/src/mess/drivers/next.c
r19107r19108
918918static INPUT_PORTS_START( next )
919919INPUT_PORTS_END
920920
921const floppy_format_type next_state::floppy_formats[] = {
922   FLOPPY_PC_FORMAT,
923   FLOPPY_MFI_FORMAT,
924   NULL
925};
921FLOPPY_FORMATS_MEMBER( next_state::floppy_formats )
922   FLOPPY_PC_FORMAT
923FLOPPY_FORMATS_END
926924
927925static SLOT_INTERFACE_START( next_floppies )
928926   SLOT_INTERFACE( "35ed", FLOPPY_35_ED )
trunk/src/mess/drivers/b2m.c
r19107r19108
184184LEGACY_FLOPPY_OPTIONS_END
185185*/
186186
187static const floppy_format_type floppy_formats[] = {
188   FLOPPY_MFM_FORMAT, FLOPPY_MFI_FORMAT,
189   NULL
190};
191
192187static SLOT_INTERFACE_START( b2m_floppies )
193188   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
194189SLOT_INTERFACE_END
r19107r19108
234229
235230   MCFG_WD1773x_ADD("wd1793", XTAL_8MHz )
236231
237   MCFG_FLOPPY_DRIVE_ADD("fd0", b2m_floppies, "525dd", 0, floppy_formats)
238   MCFG_FLOPPY_DRIVE_ADD("fd1", b2m_floppies, "525dd", 0, floppy_formats)
232   MCFG_FLOPPY_DRIVE_ADD("fd0", b2m_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
233   MCFG_FLOPPY_DRIVE_ADD("fd1", b2m_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
239234
240235   /* internal ram */
241236   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/microdec.c
r19107r19108
8888{
8989}
9090
91static const floppy_format_type microdec_floppy_formats[] = {
92   FLOPPY_MFI_FORMAT,
93   NULL
94};
95
9691static SLOT_INTERFACE_START( microdec_floppies )
9792   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
9893SLOT_INTERFACE_END
r19107r19108
108103   MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
109104
110105   MCFG_UPD765A_ADD("upd765", true, true)
111   MCFG_FLOPPY_DRIVE_ADD("upd765:0", microdec_floppies, "525hd", 0, microdec_floppy_formats)
112   MCFG_FLOPPY_DRIVE_ADD("upd765:1", microdec_floppies, "525hd", 0, microdec_floppy_formats)
106   MCFG_FLOPPY_DRIVE_ADD("upd765:0", microdec_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
107   MCFG_FLOPPY_DRIVE_ADD("upd765:1", microdec_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
113108MACHINE_CONFIG_END
114109
115110/* ROM definition */
trunk/src/mess/drivers/prof180x.c
r19107r19108
185185
186186/* Video */
187187
188static const floppy_format_type prof180x_floppy_formats[] = {
189   FLOPPY_MFI_FORMAT,
190   NULL
191};
192
193188static SLOT_INTERFACE_START( prof180x_floppies )
194189   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
195190SLOT_INTERFACE_END
r19107r19108
237232
238233   /* devices */
239234   MCFG_UPD765A_ADD(FDC9268_TAG, false, true)
240   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":0", prof180x_floppies, "525hd", 0, prof180x_floppy_formats)
241   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":1", prof180x_floppies, "525hd", 0, prof180x_floppy_formats)
242   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":2", prof180x_floppies, "525hd", 0, prof180x_floppy_formats)
243   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":3", prof180x_floppies, "525hd", 0, prof180x_floppy_formats)
235   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":0", prof180x_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
236   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":1", prof180x_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
237   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":2", prof180x_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
238   MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":3", prof180x_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
244239
245240   //MCFG_RTC8583_ADD(MK3835_TAG, rtc_intf)
246241   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
trunk/src/mess/drivers/specpls3.c
r19107r19108
364364   m_floppy = 0;
365365}
366366
367static const floppy_format_type specpls3_floppy_formats[] = {
368   FLOPPY_MFI_FORMAT,
369   NULL
370};
371
372367static SLOT_INTERFACE_START( specpls3_floppies )
373368   SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD )
374369SLOT_INTERFACE_END
r19107r19108
401396   MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_plus3 )
402397
403398   MCFG_UPD765A_ADD("upd765", true, true)
404   MCFG_FLOPPY_DRIVE_ADD("upd765:0", specpls3_floppies, "3ssdd", 0, specpls3_floppy_formats)
405   MCFG_FLOPPY_DRIVE_ADD("upd765:1", specpls3_floppies, "3ssdd", 0, specpls3_floppy_formats)
399   MCFG_FLOPPY_DRIVE_ADD("upd765:0", specpls3_floppies, "3ssdd", 0, floppy_image_device::default_floppy_formats)
400   MCFG_FLOPPY_DRIVE_ADD("upd765:1", specpls3_floppies, "3ssdd", 0, floppy_image_device::default_floppy_formats)
406401MACHINE_CONFIG_END
407402
408403/***************************************************************************
trunk/src/mess/drivers/x68k.c
r19107r19108
26272627   m_is_32bit = true;
26282628}
26292629
2630static const floppy_format_type x68k_floppy_formats[] = {
2631   FLOPPY_XDF_FORMAT,
2632   FLOPPY_MFI_FORMAT,
2633   NULL
2634};
2630FLOPPY_FORMATS_MEMBER( x68k_state::floppy_formats )
2631    FLOPPY_XDF_FORMAT
2632FLOPPY_FORMATS_END
26352633
26362634static SLOT_INTERFACE_START( x68k_floppies )
26372635   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
r19107r19108
26872685   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
26882686
26892687   MCFG_UPD72065_ADD("upd72065", true, true)
2690   MCFG_FLOPPY_DRIVE_ADD("upd72065:0", x68k_floppies, "525hd", 0, x68k_floppy_formats)
2691   MCFG_FLOPPY_DRIVE_ADD("upd72065:1", x68k_floppies, "525hd", 0, x68k_floppy_formats)
2692   MCFG_FLOPPY_DRIVE_ADD("upd72065:2", x68k_floppies, "525hd", 0, x68k_floppy_formats)
2693   MCFG_FLOPPY_DRIVE_ADD("upd72065:3", x68k_floppies, "525hd", 0, x68k_floppy_formats)
2688   MCFG_FLOPPY_DRIVE_ADD("upd72065:0", x68k_floppies, "525hd", 0, x68k_state::floppy_formats)
2689   MCFG_FLOPPY_DRIVE_ADD("upd72065:1", x68k_floppies, "525hd", 0, x68k_state::floppy_formats)
2690   MCFG_FLOPPY_DRIVE_ADD("upd72065:2", x68k_floppies, "525hd", 0, x68k_state::floppy_formats)
2691   MCFG_FLOPPY_DRIVE_ADD("upd72065:3", x68k_floppies, "525hd", 0, x68k_state::floppy_formats)
26942692
26952693   MCFG_SOFTWARE_LIST_ADD("flop_list","x68k_flop")
26962694
trunk/src/mess/drivers/atarist.c
r19107r19108
23052305   ste_state::state_save();
23062306}
23072307
2308const floppy_format_type st_state::floppy_formats[] = {
2309   FLOPPY_ST_FORMAT, FLOPPY_MSA_FORMAT, FLOPPY_PASTI_FORMAT, FLOPPY_IPF_FORMAT, FLOPPY_MFI_FORMAT, FLOPPY_DFI_FORMAT,
2310   NULL
2311};
2308FLOPPY_FORMATS_MEMBER( st_state::floppy_formats )
2309   FLOPPY_ST_FORMAT, FLOPPY_MSA_FORMAT, FLOPPY_PASTI_FORMAT
2310FLOPPY_FORMATS_END
23122311
23132312static SLOT_INTERFACE_START( atari_floppies )
23142313   SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
trunk/src/mess/drivers/pc8801.c
r19107r19108
22712271
22722272/* Floppy Configuration */
22732273
2274
2275static const floppy_format_type pc88_floppy_formats[] = {
2276   FLOPPY_D88_FORMAT,
2277   FLOPPY_MFI_FORMAT,
2278   NULL
2279};
2280
22812274static SLOT_INTERFACE_START( pc88_floppies )
22822275   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
22832276SLOT_INTERFACE_END
r19107r19108
27022695
27032696   MCFG_I8251_ADD(I8251_TAG, uart_intf)
27042697
2705   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pc88_floppies, "525hd", 0, pc88_floppy_formats)
2706   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pc88_floppies, "525hd", 0, pc88_floppy_formats)
2698   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pc88_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
2699   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pc88_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
27072700   MCFG_SOFTWARE_LIST_ADD("disk_list","pc8801_flop")
27082701
27092702   /* video hardware */
trunk/src/mess/drivers/pcw.c
r19107r19108
12661266   PORT_BIT( 0xff, 0x00,    IPT_UNUSED)
12671267INPUT_PORTS_END
12681268
1269static const floppy_format_type pcw_floppy_formats[] = {
1270   FLOPPY_MFI_FORMAT,
1271   NULL
1272};
1273
12741269static SLOT_INTERFACE_START( pcw_floppies )
12751270   SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD )
12761271SLOT_INTERFACE_END
r19107r19108
13101305
13111306   MCFG_UPD765A_ADD("upd765", true, true)
13121307
1313   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pcw_floppies, "3dsdd", 0, pcw_floppy_formats)
1314    MCFG_FLOPPY_DRIVE_ADD("upd765:1", pcw_floppies, "3dsdd", 0, pcw_floppy_formats)
1308   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pcw_floppies, "3dsdd", 0, floppy_image_device::default_floppy_formats)
1309    MCFG_FLOPPY_DRIVE_ADD("upd765:1", pcw_floppies, "3dsdd", 0, floppy_image_device::default_floppy_formats)
13151310
13161311   MCFG_SOFTWARE_LIST_ADD("disk_list","pcw")
13171312
trunk/src/mess/drivers/elwro800.c
r19107r19108
534534   device.execute().set_input_line(0, HOLD_LINE);
535535}
536536
537static const floppy_format_type elwro800jr_floppy_formats[] = {
538   FLOPPY_MFI_FORMAT,
539   NULL
540};
541
542537static SLOT_INTERFACE_START( elwro800jr_floppies )
543538   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
544539SLOT_INTERFACE_END
r19107r19108
604599
605600   MCFG_CASSETTE_ADD( CASSETTE_TAG, elwro800jr_cassette_interface )
606601
607   MCFG_FLOPPY_DRIVE_ADD("upd765:0", elwro800jr_floppies, "525hd", 0, elwro800jr_floppy_formats)
608   MCFG_FLOPPY_DRIVE_ADD("upd765:1", elwro800jr_floppies, "525hd", 0, elwro800jr_floppy_formats)
602   MCFG_FLOPPY_DRIVE_ADD("upd765:0", elwro800jr_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
603   MCFG_FLOPPY_DRIVE_ADD("upd765:1", elwro800jr_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
609604
610605   /* internal ram */
611606   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/pyl601.c
r19107r19108
8484   virtual void machine_reset();
8585   virtual void video_start();
8686   INTERRUPT_GEN_MEMBER(pyl601_interrupt);
87   DECLARE_FLOPPY_FORMATS( floppy_formats );
8788};
8889
8990
r19107r19108
503504   device.execute().set_input_line(0, HOLD_LINE);
504505}
505506
506static const floppy_format_type pyl601_floppy_formats[] = {
507   FLOPPY_PYLDIN_FORMAT,
508   FLOPPY_MFI_FORMAT,
509   NULL
510};
507FLOPPY_FORMATS_MEMBER( pyl601_state::floppy_formats )
508   FLOPPY_PYLDIN_FORMAT
509FLOPPY_FORMATS_END
511510
512511static SLOT_INTERFACE_START( pyl601_floppies )
513512   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
r19107r19108
574573   /* Devices */
575574   MCFG_MC6845_ADD("crtc", MC6845, XTAL_2MHz, pyl601_crtc6845_interface)
576575   MCFG_UPD765A_ADD("upd765", true, true)
577   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pyl601_floppies, "525hd", 0, pyl601_floppy_formats)
578   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pyl601_floppies, "525hd", 0, pyl601_floppy_formats)
576   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pyl601_floppies, "525hd", 0, pyl601_state::floppy_formats)
577   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pyl601_floppies, "525hd", 0, pyl601_state::floppy_formats)
579578
580579   /* internal ram */
581580   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/amstrad.c
r19107r19108
806806   NULL
807807};
808808
809
810static const floppy_format_type amstrad_floppy_formats[] = {
811   FLOPPY_MFI_FORMAT,
812   NULL
813};
814
815static const floppy_format_type aleste_floppy_formats[] = {
816   FLOPPY_MFI_FORMAT,
817   NULL
818};
819
820809static SLOT_INTERFACE_START( amstrad_floppies )
821810   SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD )
822811SLOT_INTERFACE_END
r19107r19108
899888static MACHINE_CONFIG_DERIVED( amstrad, amstrad_nofdc )
900889   MCFG_UPD765A_ADD("upd765", true, true)
901890
902   MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", 0, amstrad_floppy_formats)
903   MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "3ssdd", 0, amstrad_floppy_formats)
891   MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", 0, floppy_image_device::default_floppy_formats)
892   MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "3ssdd", 0, floppy_image_device::default_floppy_formats)
904893
905894   MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
906895MACHINE_CONFIG_END
r19107r19108
962951
963952   MCFG_FRAGMENT_ADD(cpcplus_cartslot)
964953
965   MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", 0, amstrad_floppy_formats)
966   MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "3ssdd", 0, amstrad_floppy_formats)
954   MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", 0, floppy_image_device::default_floppy_formats)
955   MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "3ssdd", 0, floppy_image_device::default_floppy_formats)
967956
968957   MCFG_CPC_EXPANSION_SLOT_ADD("exp",cpc_exp_intf,cpc_exp_cards,NULL,NULL)
969958
r19107r19108
10291018   MCFG_DEVICE_REMOVE("upd765")
10301019   MCFG_I8272A_ADD("upd765", true)
10311020
1032   MCFG_FLOPPY_DRIVE_ADD("upd765:0", aleste_floppies, "525hd", 0, aleste_floppy_formats)
1033   MCFG_FLOPPY_DRIVE_ADD("upd765:1", aleste_floppies, "525hd", 0, aleste_floppy_formats)
1021   MCFG_FLOPPY_DRIVE_ADD("upd765:0", aleste_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
1022   MCFG_FLOPPY_DRIVE_ADD("upd765:1", aleste_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
10341023
10351024   /* internal ram */
10361025   MCFG_RAM_MODIFY(RAM_TAG)
trunk/src/mess/drivers/super6.c
r19107r19108
447447//  floppy_format_type floppy_formats
448448//-------------------------------------------------
449449
450const floppy_format_type super6_state::floppy_formats[] = {
451   FLOPPY_IMD_FORMAT,
452   FLOPPY_MFM_FORMAT,
453   FLOPPY_MFI_FORMAT,
454   NULL
455};
456
457450static SLOT_INTERFACE_START( super6_floppies )
458451   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
459452SLOT_INTERFACE_END
r19107r19108
559552   MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_24MHz/4, pio_intf)
560553   MCFG_WD2793x_ADD(WD2793_TAG, 1000000)
561554   MCFG_COM8116_ADD(BR1945_TAG, XTAL_5_0688MHz, brg_intf)
562   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", super6_floppies, "525dd", NULL, super6_state::floppy_formats)
563   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL,   NULL, super6_state::floppy_formats)
555   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", super6_floppies, "525dd", NULL, floppy_image_device::default_floppy_formats)
556   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL,   NULL, floppy_image_device::default_floppy_formats)
564557   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
565558
566559   // internal ram
trunk/src/mess/drivers/sage2.c
r19107r19108
477477//  upd765_interface fdc_intf
478478//-------------------------------------------------
479479
480static const floppy_format_type sage2_floppy_formats[] = {
481   FLOPPY_MFI_FORMAT,
482   NULL
483};
484
485480static SLOT_INTERFACE_START( sage2_floppies )
486481    SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
487482SLOT_INTERFACE_END
r19107r19108
596591   MCFG_I8251_ADD(I8251_1_TAG, usart1_intf)
597592   MCFG_UPD765A_ADD(UPD765_TAG, false, false)
598593   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
599   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sage2_floppies, "525dd", 0, sage2_floppy_formats)
600   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", sage2_floppies, "525dd", 0, sage2_floppy_formats)
594   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sage2_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
595   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", sage2_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
601596   MCFG_IEEE488_BUS_ADD(ieee488_intf)
602597
603598   // internal ram
trunk/src/mess/drivers/pc.c
r19107r19108
857857   DEVCB_CPU_INPUT_LINE("maincpu", 0)
858858};
859859
860static const floppy_format_type ibmpc_floppy_formats[] = {
861   FLOPPY_PC_FORMAT,
862   FLOPPY_MFI_FORMAT,
863   NULL
864};
860FLOPPY_FORMATS_MEMBER( pc_state::floppy_formats )
861   FLOPPY_PC_FORMAT
862FLOPPY_FORMATS_END
865863
866864static SLOT_INTERFACE_START( ibmpc_floppies )
867865    SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
r19107r19108
996994
997995   MCFG_PC_FDC_XT_ADD("fdc")
998996
999   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1000   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
997   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
998   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1001999
10021000   /* internal ram */
10031001   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
10771075
10781076   MCFG_PC_FDC_XT_ADD("fdc")
10791077
1080   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1081   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1078   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1079   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
10821080
10831081   /* internal ram */
10841082   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
11271125
11281126   MCFG_PC_FDC_XT_ADD("fdc")
11291127
1130   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1131   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1128   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1129   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
11321130
11331131   /* internal ram */
11341132   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
11771175
11781176   MCFG_PC_FDC_XT_ADD("fdc")
11791177
1180   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1181   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1178   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1179   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
11821180
11831181   /* internal ram */
11841182   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
12271225
12281226   MCFG_PC_FDC_XT_ADD("fdc")
12291227
1230   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1231   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1228   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1229   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
12321230
12331231   /* internal ram */
12341232   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
13001298
13011299   MCFG_PC_FDC_JR_ADD("fdc")
13021300
1303   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1301   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
13041302
13051303   /* cartridge */
13061304   MCFG_CARTSLOT_ADD("cart1")
r19107r19108
13741372   MCFG_CASSETTE_ADD( CASSETTE_TAG, mc1502_cassette_interface )   // has no motor control
13751373
13761374   MCFG_FD1793_ADD( "vg93", default_wd17xx_interface_2_drives )
1377   MCFG_FLOPPY_DRIVE_ADD(FLOPPY_0, ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1375   MCFG_FLOPPY_DRIVE_ADD(FLOPPY_0, ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
13781376
13791377   /* internal ram */
13801378   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
14181416
14191417   MCFG_PC_FDC_XT_ADD("fdc")
14201418
1421   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1422   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1419   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1420   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
14231421
14241422   /* keyboard -- needs dump */
14251423   MCFG_PC_KBDC_ADD("pc_kbdc", pc_kbdc_intf)
r19107r19108
14781476
14791477   MCFG_PC_FDC_XT_ADD("fdc")
14801478
1481   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1482   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1479   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1480   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
14831481
14841482   /* internal ram */
14851483   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
15321530
15331531   MCFG_PC_FDC_XT_ADD("fdc")
15341532
1535   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1536   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1533   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1534   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
15371535
15381536   /* internal ram */
15391537   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
15871585
15881586   MCFG_PC_FDC_XT_ADD("fdc")
15891587
1590   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1591   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1588   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1589   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
15921590
15931591   /* internal ram */
15941592   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
16411639
16421640   MCFG_PC_FDC_XT_ADD("fdc")
16431641
1644   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1645   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1642   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1643   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
16461644
16471645   /* internal ram */
16481646   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
16951693
16961694   MCFG_PC_FDC_XT_ADD("fdc")
16971695
1698   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1699   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1696   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1697   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
17001698
17011699   /* internal ram */
17021700   MCFG_RAM_ADD(RAM_TAG)
r19107r19108
17491747
17501748   MCFG_PC_FDC_XT_ADD("fdc")
17511749
1752   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1753   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1750   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
1751   MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats)
17541752
17551753   /* internal ram */
17561754   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/tandy2k.c
r19107r19108
608608   dma_request(0, state);
609609}
610610
611static const floppy_format_type tandy2k_floppy_formats[] = {
612   FLOPPY_MFI_FORMAT,
613   NULL
614};
615
616611static SLOT_INTERFACE_START( tandy2k_floppies )
617612   SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
618613SLOT_INTERFACE_END
r19107r19108
724719   MCFG_PIC8259_ADD(I8259A_0_TAG, pic0_intf)
725720   MCFG_PIC8259_ADD(I8259A_1_TAG, pic1_intf)
726721   MCFG_I8272A_ADD(I8272A_TAG, true)
727   MCFG_FLOPPY_DRIVE_ADD(I8272A_TAG ":0", tandy2k_floppies, "525qd", 0, tandy2k_floppy_formats)
728   MCFG_FLOPPY_DRIVE_ADD(I8272A_TAG ":1", tandy2k_floppies, "525qd", 0, tandy2k_floppy_formats)
722   MCFG_FLOPPY_DRIVE_ADD(I8272A_TAG ":0", tandy2k_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
723   MCFG_FLOPPY_DRIVE_ADD(I8272A_TAG ":1", tandy2k_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
729724   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
730725   MCFG_TANDY2K_KEYBOARD_ADD(kb_intf)
731726
trunk/src/mess/drivers/nanos.c
r19107r19108
6262   DECLARE_READ8_MEMBER(nanos_port_a_r);
6363   DECLARE_READ8_MEMBER(nanos_port_b_r);
6464   DECLARE_WRITE8_MEMBER(nanos_port_b_w);
65   DECLARE_FLOPPY_FORMATS( floppy_formats );
6566};
6667
6768
r19107r19108
463464   DEVCB_NULL
464465};
465466
466static const floppy_format_type nanos_floppy_formats[] = {
467   FLOPPY_NANOS_FORMAT,
468   FLOPPY_MFI_FORMAT,
469   NULL
470};
467FLOPPY_FORMATS_MEMBER( nanos_state::floppy_formats )
468   FLOPPY_NANOS_FORMAT
469FLOPPY_FORMATS_END
471470
472471static SLOT_INTERFACE_START( nanos_floppies )
473472   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
r19107r19108
519518   MCFG_Z80PIO_ADD( "z80pio", XTAL_4MHz, nanos_z80pio_intf )
520519   /* UPD765 */
521520   MCFG_UPD765A_ADD("upd765", false, true)
522   MCFG_FLOPPY_DRIVE_ADD("upd765:0", nanos_floppies, "525hd", 0, nanos_floppy_formats)
521   MCFG_FLOPPY_DRIVE_ADD("upd765:0", nanos_floppies, "525hd", 0, nanos_state::floppy_formats)
523522
524523   /* internal ram */
525524   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/pc9801.c
r19107r19108
24492449*
24502450****************************************/
24512451
2452static const floppy_format_type pc9801_floppy_formats[] = {
2453   FLOPPY_D88_FORMAT,
2454   FLOPPY_MFI_FORMAT,
2455   NULL
2456};
2457
24582452static SLOT_INTERFACE_START( pc9801_floppies )
24592453   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
24602454SLOT_INTERFACE_END
r19107r19108
26802674
26812675   MCFG_UPD765A_ADD("upd765_2hd", false, true)
26822676   MCFG_UPD765A_ADD("upd765_2dd", false, true)
2683   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2684   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2685   MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2686   MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2677   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
2678   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
2679   MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:0", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
2680   MCFG_FLOPPY_DRIVE_ADD("upd765_2dd:1", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
26872681
26882682   MCFG_SOFTWARE_LIST_ADD("disk_list","pc98")
26892683
r19107r19108
27472741
27482742   MCFG_UPD765A_ADD("upd765_2hd", false, true)
27492743   //"upd765_2dd"
2750   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2751   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2744   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
2745   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
27522746
27532747   MCFG_RAM_ADD(RAM_TAG)
27542748   MCFG_RAM_DEFAULT_SIZE("640K")
r19107r19108
28082802
28092803   MCFG_UPD765A_ADD("upd765_2hd", false, true)
28102804   //"upd765_2dd"
2811   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2812   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, pc9801_floppy_formats)
2805   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:0", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
2806   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
28132807
28142808   MCFG_RAM_ADD(RAM_TAG)
28152809   MCFG_RAM_DEFAULT_SIZE("640K")
trunk/src/mess/drivers/a5105.c
r19107r19108
6767   virtual void machine_reset();
6868   virtual void video_start();
6969   virtual void palette_init();
70   DECLARE_FLOPPY_FORMATS( floppy_formats );
7071};
7172
7273/* TODO */
r19107r19108
520521   AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
521522ADDRESS_MAP_END
522523
523static const floppy_format_type a5105_floppy_formats[] = {
524   FLOPPY_MFI_FORMAT,
525   FLOPPY_A5105_FORMAT,
526   NULL
527};
524FLOPPY_FORMATS_MEMBER( a5105_state::floppy_formats )
525   FLOPPY_A5105_FORMAT
526FLOPPY_FORMATS_END
528527
529528static SLOT_INTERFACE_START( a5105_floppies )
530529   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
r19107r19108
588587   MCFG_CASSETTE_ADD( CASSETTE_TAG, default_cassette_interface )
589588
590589   MCFG_UPD765A_ADD("upd765a", false, true)
591   MCFG_FLOPPY_DRIVE_ADD("upd765a:0", a5105_floppies, "525dd", 0, a5105_floppy_formats)
592   MCFG_FLOPPY_DRIVE_ADD("upd765a:1", a5105_floppies, "525dd", 0, a5105_floppy_formats)
593   MCFG_FLOPPY_DRIVE_ADD("upd765a:2", a5105_floppies, "525dd", 0, a5105_floppy_formats)
594   MCFG_FLOPPY_DRIVE_ADD("upd765a:3", a5105_floppies, "525dd", 0, a5105_floppy_formats)
590   MCFG_FLOPPY_DRIVE_ADD("upd765a:0", a5105_floppies, "525dd", 0, a5105_state::floppy_formats)
591   MCFG_FLOPPY_DRIVE_ADD("upd765a:1", a5105_floppies, "525dd", 0, a5105_state::floppy_formats)
592   MCFG_FLOPPY_DRIVE_ADD("upd765a:2", a5105_floppies, "525dd", 0, a5105_state::floppy_formats)
593   MCFG_FLOPPY_DRIVE_ADD("upd765a:3", a5105_floppies, "525dd", 0, a5105_state::floppy_formats)
595594
596595   /* internal ram */
597596   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/p8k.c
r19107r19108
374374   }
375375}
376376
377static const floppy_format_type p8k_floppy_formats[] = {
378   FLOPPY_MFI_FORMAT,
379   NULL
380};
381
382377static SLOT_INTERFACE_START( p8k_floppies )
383378   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
384379SLOT_INTERFACE_END
r19107r19108
731726   MCFG_Z80PIO_ADD("z80pio_1", 1229000, p8k_pio_1_intf)
732727   MCFG_Z80PIO_ADD("z80pio_2", 1229000, p8k_pio_2_intf)
733728   MCFG_I8272A_ADD("i8272", true)
734   MCFG_FLOPPY_DRIVE_ADD("i8272:0", p8k_floppies, "525hd", 0, p8k_floppy_formats)
735   MCFG_FLOPPY_DRIVE_ADD("i8272:1", p8k_floppies, "525hd", 0, p8k_floppy_formats)
729   MCFG_FLOPPY_DRIVE_ADD("i8272:0", p8k_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
730   MCFG_FLOPPY_DRIVE_ADD("i8272:1", p8k_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
736731
737732   /* sound hardware */
738733   MCFG_SPEAKER_STANDARD_MONO("mono")
trunk/src/mess/drivers/pc88va.c
r19107r19108
143143
144144   void fdc_irq(bool state);
145145   void fdc_drq(bool state);
146   DECLARE_FLOPPY_FORMATS( floppy_formats );
146147};
147148
148149
r19107r19108
17311732   { 0, 0, m_fdc_dma_w, 0 }
17321733};
17331734
1734static const floppy_format_type pc88va_floppy_formats[] = {
1735   FLOPPY_XDF_FORMAT,
1736   FLOPPY_MFI_FORMAT,
1737   FLOPPY_D88_FORMAT,
1738   NULL
1739};
1735FLOPPY_FORMATS_MEMBER( pc88va_state::floppy_formats )
1736   FLOPPY_XDF_FORMAT
1737FLOPPY_FORMATS_END
17401738
17411739static SLOT_INTERFACE_START( pc88va_floppies )
17421740   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
r19107r19108
17781776   MCFG_UPD71071_ADD("dmac",pc88va_dma_config)
17791777
17801778   MCFG_UPD765A_ADD("upd765", false, true)
1781   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pc88va_floppies, "525hd", 0, pc88va_floppy_formats)
1782   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pc88va_floppies, "525hd", 0, pc88va_floppy_formats)
1779   MCFG_FLOPPY_DRIVE_ADD("upd765:0", pc88va_floppies, "525hd", 0, pc88va_state::floppy_formats)
1780   MCFG_FLOPPY_DRIVE_ADD("upd765:1", pc88va_floppies, "525hd", 0, pc88va_state::floppy_formats)
17831781   MCFG_SOFTWARE_LIST_ADD("disk_list","pc88va")
17841782
17851783    MCFG_PIT8253_ADD("pit8253",pc88va_pit8253_config)
trunk/src/mess/drivers/pc1512.c
r19107r19108
10921092   DEVCB_DEVICE_LINE_MEMBER(I8237A5_TAG, am9517a_device, dreq3_w)
10931093};
10941094
1095static const floppy_format_type ibmpc_floppy_formats[] = {
1096   FLOPPY_PC_FORMAT,
1097   FLOPPY_MFI_FORMAT,
1098   NULL
1099};
1095FLOPPY_FORMATS_MEMBER( pc1512_state::floppy_formats )
1096   FLOPPY_PC_FORMAT
1097FLOPPY_FORMATS_END
11001098
11011099static SLOT_INTERFACE_START( ibmpc_floppies )
11021100    SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
r19107r19108
12671265   MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG)
12681266   MCFG_INS8250_ADD(INS8250_TAG, uart_intf, XTAL_1_8432MHz)
12691267   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
1270   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1271   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1268   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", 0, pc1512_state::floppy_formats)
1269   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, "525dd", 0, pc1512_state::floppy_formats)
12721270
12731271   // ISA8 bus
12741272   MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, I8086_TAG, isabus_intf)
r19107r19108
13121310   MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG)
13131311   MCFG_INS8250_ADD(INS8250_TAG, uart_intf, XTAL_1_8432MHz)
13141312   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
1315   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1316   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, "525dd", 0, ibmpc_floppy_formats)
1313   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", ibmpc_floppies, "525dd", 0, pc1512_state::floppy_formats)
1314   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", ibmpc_floppies, "525dd", 0, pc1512_state::floppy_formats)
13171315
13181316   // ISA8 bus
13191317   MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, I8086_TAG, isabus_intf)
trunk/src/mess/drivers/pcw16.c
r19107r19108
971971   }
972972};
973973
974static const floppy_format_type pcw16_floppy_formats[] = {
975   FLOPPY_PC_FORMAT,
976   FLOPPY_MFI_FORMAT,
977   NULL
978};
974FLOPPY_FORMATS_MEMBER( pcw16_state::floppy_formats )
975   FLOPPY_PC_FORMAT
976FLOPPY_FORMATS_END
979977
980978static SLOT_INTERFACE_START( pcw16_floppies )
981979   SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
r19107r19108
10971095   /* printer */
10981096   MCFG_PC_LPT_ADD("lpt", pcw16_lpt_config)
10991097   MCFG_PC_FDC_SUPERIO_ADD("fdc")
1100   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcw16_floppies, "35hd", 0, pcw16_floppy_formats)
1101    MCFG_FLOPPY_DRIVE_ADD("fdc:1", pcw16_floppies, "35hd", 0, pcw16_floppy_formats)
1098   MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcw16_floppies, "35hd", 0, pcw16_state::floppy_formats)
1099    MCFG_FLOPPY_DRIVE_ADD("fdc:1", pcw16_floppies, "35hd", 0, pcw16_state::floppy_formats)
11021100
11031101   MCFG_SOFTWARE_LIST_ADD("disk_list","pcw16")
11041102
trunk/src/mess/drivers/ht68k.c
r19107r19108
4646      m_p_ram(*this, "p_ram"){ }
4747
4848
49   static const floppy_format_type floppy_formats[];
50
5149   required_device<cpu_device> m_maincpu;
5250   required_device<generic_terminal_device> m_terminal;
5351   required_device<device_t> m_duart;
r19107r19108
5957};
6058
6159
62const floppy_format_type ht68k_state::floppy_formats[] = {
63   FLOPPY_MFM_FORMAT, FLOPPY_MFI_FORMAT,
64   NULL
65};
66
67
6860static ADDRESS_MAP_START(ht68k_mem, AS_PROGRAM, 16, ht68k_state)
6961   ADDRESS_MAP_UNMAP_HIGH
7062   AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_SHARE("p_ram") // 512 KB RAM / ROM at boot
r19107r19108
159151
160152   MCFG_WD1770x_ADD("wd1770", XTAL_8MHz )
161153
162   MCFG_FLOPPY_DRIVE_ADD("wd1770:0", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
163   MCFG_FLOPPY_DRIVE_ADD("wd1770:1", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
164   MCFG_FLOPPY_DRIVE_ADD("wd1770:2", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
165   MCFG_FLOPPY_DRIVE_ADD("wd1770:3", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
154   MCFG_FLOPPY_DRIVE_ADD("wd1770:0", ht68k_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
155   MCFG_FLOPPY_DRIVE_ADD("wd1770:1", ht68k_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
156   MCFG_FLOPPY_DRIVE_ADD("wd1770:2", ht68k_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
157   MCFG_FLOPPY_DRIVE_ADD("wd1770:3", ht68k_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
166158MACHINE_CONFIG_END
167159
168160/* ROM definition */
trunk/src/mess/drivers/sg1000.c
r19107r19108
969969    floppy_interface sf7000_floppy_interface
970970-------------------------------------------------*/
971971
972static const floppy_format_type sf7000_floppy_formats[] = {
973   FLOPPY_MFI_FORMAT,
974   NULL
975};
976
977972static SLOT_INTERFACE_START( sf7000_floppies )
978973   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
979974SLOT_INTERFACE_END
r19107r19108
11931188   MCFG_I8255_ADD(UPD9255_1_TAG, sf7000_ppi_intf)
11941189   MCFG_I8251_ADD(UPD8251_TAG, default_i8251_interface)
11951190   MCFG_UPD765A_ADD(UPD765_TAG, true, true)
1196   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sf7000_floppies, "525hd", 0, sf7000_floppy_formats)
1191   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sf7000_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
11971192//  MCFG_PRINTER_ADD("sp400") /* serial printer */
11981193   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
11991194   MCFG_CASSETTE_ADD(CASSETTE_TAG, sc3000_cassette_interface)
trunk/src/mess/drivers/mikromik.c
r19107r19108
683683//  upd765_interface fdc_intf
684684//-------------------------------------------------
685685
686static const floppy_format_type mm1_floppy_formats[] = {
687   FLOPPY_MM1_FORMAT,
688   FLOPPY_MFI_FORMAT,
689   NULL
690};
691
692static const floppy_format_type mm2_floppy_formats[] = {
693   FLOPPY_MM2_FORMAT,
694   FLOPPY_MFI_FORMAT,
695   NULL
696};
697
686FLOPPY_FORMATS_MEMBER( mm1_state::floppy_formats )
687   FLOPPY_MM1_FORMAT
688FLOPPY_FORMATS_END
689/*
690FLOPPY_FORMATS_MEMBER( mm2_state::floppy_formats )
691   FLOPPY_MM2_FORMAT
692FLOPPY_FORMATS_END
693*/
698694static SLOT_INTERFACE_START( mm1_floppies )
699695   SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
700696SLOT_INTERFACE_END
r19107r19108
786782   MCFG_UPD765A_ADD(UPD765_TAG, /* XTAL_16MHz/2/2 */ true, true)
787783   MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_6_144MHz/2, mpsc_intf)
788784
789   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", mm1_floppies, "525qd", 0, mm1_floppy_formats)
790   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", mm1_floppies, "525qd", 0, mm1_floppy_formats)
785   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", mm1_floppies, "525qd", 0, mm1_state::floppy_formats)
786   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", mm1_floppies, "525qd", 0, mm1_state::floppy_formats)
791787
792788   // internal ram
793789   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/bw2.c
r19107r19108
4242   ROM
4343};
4444
45#define HAS_KB_OF_RAM(_kb) \
46   (m_ram->size() >= (_kb * 1024))
4547
4648
4749//**************************************************************************
r19107r19108
7072   case ROM: rom = 0; break;
7173   }
7274
73   if (!rom)
75   if (offset < 0x8000)
7476   {
75      data = memregion(Z80_TAG)->base()[offset & 0x3fff];
76   }
77      if (!rom)
78      {
79         data = memregion(Z80_TAG)->base()[offset & 0x3fff];
80      }
7781
78   if (!vram)
79   {
80      data = m_video_ram[offset & 0x3fff];
81   }
82      if (!vram)
83      {
84         data = m_video_ram[offset & 0x3fff];
85      }
8286
83   if (!ram1)
84   {
85      data = m_ram->pointer()[offset];
86   }
87      if (!ram1)
88      {
89         data = m_ram->pointer()[offset];
90      }
8791
88   if (!ram2 && (m_ram->size() >= 96 * 1024))
89   {
90      data = m_ram->pointer()[0x10000 | offset];
91   }
92      if (!ram2 && HAS_KB_OF_RAM(96))
93      {
94         data = m_ram->pointer()[0x10000 | offset];
95      }
9296
93   if (!ram3 && (m_ram->size() >= 128 * 1024))
94   {
95      data = m_ram->pointer()[0x18000 | offset];
96   }
97      if (!ram3 && HAS_KB_OF_RAM(128))
98      {
99         data = m_ram->pointer()[0x18000 | offset];
100      }
97101
98   if (!ram4 && (m_ram->size() >= 160 * 1024))
99   {
100      data = m_ram->pointer()[0x20000 | offset];
101   }
102      if (!ram4 && HAS_KB_OF_RAM(160))
103      {
104         data = m_ram->pointer()[0x20000 | offset];
105      }
102106
103   if (!ram5 && (m_ram->size() >= 192 * 1024))
104   {
105      data = m_ram->pointer()[0x28000 | offset];
107      if (!ram5 && HAS_KB_OF_RAM(192))
108      {
109         data = m_ram->pointer()[0x28000 | offset];
110      }
111
112      if (!ram6 && HAS_KB_OF_RAM(224))
113      {
114         data = m_ram->pointer()[0x30000 | offset];
115      }
106116   }
107
108   if (!ram6 && (m_ram->size() >= 224 * 1024))
117   else
109118   {
110      data = m_ram->pointer()[0x30000 | offset];
119      data = m_ram->pointer()[offset];
111120   }
112121
113122   return m_exp->cd_r(space, offset, data, ram2, ram3, ram4, ram5, ram6);
r19107r19108
133142   case RAM6: ram6 = 0; break;
134143   }
135144
136   if (!vram)
145   if (offset < 0x8000)
137146   {
138      m_video_ram[offset & 0x3fff] = data;
139   }
147      if (!vram)
148      {
149         m_video_ram[offset & 0x3fff] = data;
150      }
140151
141   if (!ram1)
142   {
143      m_ram->pointer()[offset] = data;
144   }
152      if (!ram1)
153      {
154         m_ram->pointer()[offset] = data;
155      }
145156
146   if (!ram2 && (m_ram->size() >= 96 * 1024))
147   {
148      m_ram->pointer()[0x10000 | offset] = data;
149   }
157      if (!ram2 && HAS_KB_OF_RAM(96))
158      {
159         m_ram->pointer()[0x10000 | offset] = data;
160      }
150161
151   if (!ram3 && (m_ram->size() >= 128 * 1024))
152   {
153      m_ram->pointer()[0x18000 | offset] = data;
154   }
162      if (!ram3 && HAS_KB_OF_RAM(128))
163      {
164         m_ram->pointer()[0x18000 | offset] = data;
165      }
155166
156   if (!ram4 && (m_ram->size() >= 160 * 1024))
157   {
158      m_ram->pointer()[0x20000 | offset] = data;
159   }
167      if (!ram4 && HAS_KB_OF_RAM(160))
168      {
169         m_ram->pointer()[0x20000 | offset] = data;
170      }
160171
161   if (!ram5 && (m_ram->size() >= 192 * 1024))
162   {
163      m_ram->pointer()[0x28000 | offset] = data;
172      if (!ram5 && HAS_KB_OF_RAM(192))
173      {
174         m_ram->pointer()[0x28000 | offset] = data;
175      }
176
177      if (!ram6 && HAS_KB_OF_RAM(224))
178      {
179         m_ram->pointer()[0x30000 | offset] = data;
180      }
164181   }
165
166   if (!ram6 && (m_ram->size() >= 224 * 1024))
182   else
167183   {
168      m_ram->pointer()[0x30000 | offset] = data;
184      m_ram->pointer()[offset] = data;
169185   }
170186
171187   m_exp->cd_w(space, offset, data, ram2, ram3, ram4, ram5, ram6);
r19107r19108
183199
184200static ADDRESS_MAP_START( bw2_mem, AS_PROGRAM, 8, bw2_state )
185201   ADDRESS_MAP_UNMAP_HIGH
186   AM_RANGE(0x0000, 0x7fff) AM_READWRITE(read, write)
187   AM_RANGE(0x8000, 0xffff) AM_RAM
202   AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
188203ADDRESS_MAP_END
189204
190205
r19107r19108
207222ADDRESS_MAP_END
208223
209224
225//-------------------------------------------------
226//  ADDRESS_MAP( lcdc_map )
227//-------------------------------------------------
210228
229static ADDRESS_MAP_START( lcdc_map, AS_0, 8, bw2_state )
230   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
231   AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("videoram")
232ADDRESS_MAP_END
233
234
235
211236//**************************************************************************
212237//  INPUT PORTS
213238//**************************************************************************
r19107r19108
512537
513538
514539//-------------------------------------------------
515//  MSM6255_INTERFACE( lcdc_intf )
516//-------------------------------------------------
517
518void bw2_state::palette_init()
519{
520   palette_set_color_rgb(machine(), 0, 0xa5, 0xad, 0xa5);
521   palette_set_color_rgb(machine(), 1, 0x31, 0x39, 0x10);
522}
523
524static MSM6255_CHAR_RAM_READ( bw2_charram_r )
525{
526   bw2_state *state = device->machine().driver_data<bw2_state>();
527
528   return state->m_video_ram[ma & 0x3fff];
529}
530
531static MSM6255_INTERFACE( lcdc_intf )
532{
533   SCREEN_TAG,
534   0,
535   bw2_charram_r,
536};
537
538
539//-------------------------------------------------
540540//  floppy_format_type floppy_formats
541541//-------------------------------------------------
542542
543543void bw2_state::fdc_intrq_w(bool state)
544544{
545   logerror("intrq %u\n", state?1:0);
546545   m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE);
547546}
548547
549548void bw2_state::fdc_drq_w(bool state)
550549{
551   logerror("drq %u\n", state?1:0);
552550   if (state)
553551   {
554552      if (m_maincpu->state_int(Z80_HALT))
r19107r19108
562560   }
563561}
564562
565const floppy_format_type bw2_state::floppy_formats[] = {
566   FLOPPY_BW2_FORMAT,
567   FLOPPY_IMD_FORMAT,
568   FLOPPY_MFM_FORMAT,
569   FLOPPY_MFI_FORMAT,
570   NULL
571};
563FLOPPY_FORMATS_MEMBER( bw2_state::floppy_formats )
564   FLOPPY_BW2_FORMAT
565FLOPPY_FORMATS_END
572566
573567static SLOT_INTERFACE_START( bw2_floppies )
574568   SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // Teac FD-35
r19107r19108
598592//**************************************************************************
599593
600594//-------------------------------------------------
595//  PALETTE_INIT( bw2 )
596//-------------------------------------------------
597
598void bw2_state::palette_init()
599{
600   palette_set_color_rgb(machine(), 0, 0xa5, 0xad, 0xa5);
601   palette_set_color_rgb(machine(), 1, 0x31, 0x39, 0x10);
602}
603
604
605//-------------------------------------------------
601606//  MACHINE_START( bw2 )
602607//-------------------------------------------------
603608
604609void bw2_state::machine_start()
605610{
606   // allocate memory
607   m_video_ram.allocate(0x4000);
608
609611   // floppy callbacks
610612   m_fdc->setup_intrq_cb(wd2797_t::line_cb(FUNC(bw2_state::fdc_intrq_w), this));
611613   m_fdc->setup_drq_cb(wd2797_t::line_cb(FUNC(bw2_state::fdc_drq_w), this));
r19107r19108
645647   // devices
646648   MCFG_PIT8253_ADD(I8253_TAG, pit_intf)
647649   MCFG_I8255A_ADD(I8255A_TAG, ppi_intf)
648   MCFG_MSM6255_ADD(MSM6255_TAG, XTAL_16MHz, lcdc_intf)
650   MCFG_MSM6255_ADD(MSM6255_TAG, XTAL_16MHz, 0, SCREEN_TAG, lcdc_map)
649651   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
650652   MCFG_I8251_ADD(I8251_TAG, default_i8251_interface)
651653   MCFG_WD2797x_ADD(WD2797_TAG, XTAL_16MHz/16)
trunk/src/mess/drivers/mirage.c
r19107r19108
9090
9191    int last_sndram_bank;
9292
93   static const floppy_format_type floppy_formats[];
93   DECLARE_FLOPPY_FORMATS( floppy_formats );
9494
9595    void fdc_intrq_w(bool state);
9696   DECLARE_DRIVER_INIT(mirage);
r19107r19108
106106   DECLARE_READ8_MEMBER(mirage_via_read_cb2);
107107};
108108
109const floppy_format_type mirage_state::floppy_formats[] = {
110   FLOPPY_ESQ8IMG_FORMAT, FLOPPY_IPF_FORMAT, FLOPPY_MFI_FORMAT, FLOPPY_DFI_FORMAT,
111   NULL
112};
109FLOPPY_FORMATS_MEMBER( mirage_state::floppy_formats )
110   FLOPPY_ESQ8IMG_FORMAT
111FLOPPY_FORMATS_END
113112
114113static SLOT_INTERFACE_START( ensoniq_floppies )
115114   SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
trunk/src/mess/drivers/qx10.c
r19107r19108
317317    FDD
318318*/
319319
320static const floppy_format_type qx10_floppy_formats[] = {
321   FLOPPY_D88_FORMAT,
322   FLOPPY_IMD_FORMAT,
323   FLOPPY_MFI_FORMAT,
324   NULL // TODO: TD0 format
325};
326
327320static SLOT_INTERFACE_START( qx10_floppies )
328321   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
329322SLOT_INTERFACE_END
r19107r19108
10511044   MCFG_UPD7220_ADD("upd7220", MAIN_CLK/4, hgdc_intf, upd7220_map)
10521045   MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
10531046   MCFG_UPD765A_ADD("upd765", true, true)
1054   MCFG_FLOPPY_DRIVE_ADD("upd765:0", qx10_floppies, "525dd", 0, qx10_floppy_formats)
1055   MCFG_FLOPPY_DRIVE_ADD("upd765:1", qx10_floppies, "525dd", 0, qx10_floppy_formats)
1047   MCFG_FLOPPY_DRIVE_ADD("upd765:0", qx10_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
1048   MCFG_FLOPPY_DRIVE_ADD("upd765:1", qx10_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
10561049
10571050   /* internal ram */
10581051   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/hec2hrp.c
r19107r19108
516516
517517MACHINE_CONFIG_END
518518
519static const floppy_format_type hector_floppy_formats[] = {
520   FLOPPY_MFI_FORMAT,
521   NULL
522};
523
524519static SLOT_INTERFACE_START( hector_floppies )
525520   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
526521SLOT_INTERFACE_END
r19107r19108
539534   MCFG_CPU_PROGRAM_MAP(hecdisc2_mem)
540535   MCFG_CPU_IO_MAP(hecdisc2_io)
541536   MCFG_UPD765A_ADD("upd765", false, true)
542   MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", 0, hector_floppy_formats)
543   MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", 0, hector_floppy_formats)
537   MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
538   MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
544539   MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
545540   MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
546541
r19107r19108
591586   MCFG_CPU_PROGRAM_MAP(hecdisc2_mem)
592587   MCFG_CPU_IO_MAP(hecdisc2_io)
593588   MCFG_UPD765A_ADD("upd765", false, true)
594   MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", 0, hector_floppy_formats)
595   MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", 0, hector_floppy_formats)
589   MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
590   MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
596591
597592   /* video hardware */
598593   MCFG_SCREEN_ADD("screen", RASTER)
r19107r19108
690685   MCFG_CPU_PROGRAM_MAP(hecdisc2_mem)
691686   MCFG_CPU_IO_MAP(hecdisc2_io)
692687   MCFG_UPD765A_ADD("upd765", false, true)
693   MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", 0, hector_floppy_formats)
694   MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", 0, hector_floppy_formats)
688   MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
689   MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
695690
696691   /* video hardware */
697692   MCFG_SCREEN_ADD("screen", RASTER)
trunk/src/mess/drivers/bebox.c
r19107r19108
1818#include "machine/ins8250.h"
1919#include "machine/pic8259.h"
2020#include "machine/mc146818.h"
21#include "machine/upd765.h"
2221#include "machine/pci.h"
2322#include "machine/8237dma.h"
2423#include "machine/pckeybrd.h"
r19107r19108
3332/* Devices */
3433#include "machine/scsicd.h"
3534#include "machine/scsihd.h"
36#include "imagedev/flopdrv.h"
37#include "formats/mfi_dsk.h"
3835#include "formats/pc_dsk.h"
3936#include "machine/ram.h"
4037
r19107r19108
131128};
132129
133130
134static const floppy_format_type bebox_floppy_formats[] = {
135   FLOPPY_PC_FORMAT,
136   FLOPPY_MFI_FORMAT,
137   NULL
138};
131FLOPPY_FORMATS_MEMBER( bebox_state::floppy_formats )
132   FLOPPY_PC_FORMAT
133FLOPPY_FORMATS_END
139134
140135static SLOT_INTERFACE_START( bebox_floppies )
141136   SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
r19107r19108
203198   /*MCFG_PCI_BUS_DEVICE(12, NULL, scsi53c810_pci_read, scsi53c810_pci_write)*/
204199
205200   MCFG_SMC37C78_ADD("smc37c78")
206   MCFG_FLOPPY_DRIVE_ADD("smc37c78:0", bebox_floppies, "35hd", 0, bebox_floppy_formats)
201   MCFG_FLOPPY_DRIVE_ADD("smc37c78:0", bebox_floppies, "35hd", 0, bebox_state::floppy_formats)
207202
208203   MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
209204
trunk/src/mess/drivers/newbrain.c
r19107r19108
13891389   MCFG_RAM_DEFAULT_SIZE("32K")
13901390MACHINE_CONFIG_END
13911391
1392static const floppy_format_type newbrain_floppy_formats[] = {
1393   FLOPPY_MFI_FORMAT,
1394   NULL
1395};
1396
13971392static SLOT_INTERFACE_START( newbrain_floppies )
13981393   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
13991394SLOT_INTERFACE_END
r19107r19108
14131408   MCFG_ADC0808_ADD(ADC0809_TAG, 500000, adc_intf)
14141409   MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf)
14151410   MCFG_UPD765A_ADD(UPD765_TAG, false, true)
1416   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", 0, newbrain_floppy_formats)
1417   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", newbrain_floppies, "525dd", 0, newbrain_floppy_formats)
1411   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
1412   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", newbrain_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
14181413
14191414   // internal ram
14201415   MCFG_RAM_MODIFY(RAM_TAG)
trunk/src/mess/drivers/esq5505.c
r19107r19108
9494    UINT8 m_duart_io;
9595    bool  m_bCalibSecondByte;
9696
97   static const floppy_format_type floppy_formats[];
97   DECLARE_FLOPPY_FORMATS( floppy_formats );
9898
9999private:
100100    UINT16  es5510_dsp_ram[0x200];
r19107r19108
113113   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
114114};
115115
116const floppy_format_type esq5505_state::floppy_formats[] = {
117   FLOPPY_ESQIMG_FORMAT, FLOPPY_IPF_FORMAT, FLOPPY_MFI_FORMAT, FLOPPY_DFI_FORMAT,
118   NULL
119};
116FLOPPY_FORMATS_MEMBER( esq5505_state::floppy_formats )
117    FLOPPY_ESQIMG_FORMAT
118FLOPPY_FORMATS_END
120119
121120static SLOT_INTERFACE_START( ensoniq_floppies )
122121   SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
trunk/src/mess/drivers/einstein.c
r19107r19108
7777#define VERBOSE_KEYBOARD   0
7878#define VERBOSE_DISK      0
7979
80const floppy_format_type einstein_state::floppy_formats[] = {
81   FLOPPY_DSK_FORMAT, FLOPPY_MFM_FORMAT, FLOPPY_MFI_FORMAT,
82   NULL
83};
80FLOPPY_FORMATS_MEMBER( einstein_state::floppy_formats )
81   FLOPPY_DSK_FORMAT
82FLOPPY_FORMATS_END
8483
8584/***************************************************************************
8685    80 COLUMN DEVICE
trunk/src/mess/drivers/wangpc.c
r19107r19108
10321032//  upd765_interface fdc_intf
10331033//-------------------------------------------------
10341034
1035
1036static const floppy_format_type wangpc_floppy_formats[] = {
1037   FLOPPY_MFI_FORMAT,
1038   NULL
1039};
1040
10411035static SLOT_INTERFACE_START( wangpc_floppies )
10421036   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
10431037SLOT_INTERFACE_END
r19107r19108
12561250   MCFG_IM6402_ADD(IM6402_TAG, uart_intf)
12571251   MCFG_MC2661_ADD(SCN2661_TAG, 0, epci_intf)
12581252   MCFG_UPD765A_ADD(UPD765_TAG, false, false)
1259   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", 0, wangpc_floppy_formats)
1260   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", wangpc_floppies, "525dd", 0, wangpc_floppy_formats)
1253   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
1254   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", wangpc_floppies, "525dd", 0, floppy_image_device::default_floppy_formats)
12611255   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
12621256   MCFG_WANGPC_KEYBOARD_ADD()
12631257
trunk/src/mess/drivers/samcoupe.c
r19107r19108
509509   NULL
510510};
511511
512FLOPPY_FORMATS_MEMBER( samcoupe_state::floppy_formats )
513   FLOPPY_MGT_FORMAT
514FLOPPY_FORMATS_END
512515
513static const floppy_format_type samcoupe_floppy_formats[] = {
514   FLOPPY_MGT_FORMAT, FLOPPY_MFI_FORMAT,
515   NULL
516};
517
518516static SLOT_INTERFACE_START( samcoupe_floppies )
519517   SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
520518SLOT_INTERFACE_END
r19107r19108
547545   MCFG_SOFTWARE_LIST_ADD("cass_list","samcoupe_cass")
548546
549547   MCFG_WD1772x_ADD("wd1772", SAMCOUPE_XTAL_X1/3)
550   MCFG_FLOPPY_DRIVE_ADD("wd1772:0", samcoupe_floppies, "35dd", 0, samcoupe_floppy_formats)
551   MCFG_FLOPPY_DRIVE_ADD("wd1772:1", samcoupe_floppies, "35dd", 0, samcoupe_floppy_formats)
548   MCFG_FLOPPY_DRIVE_ADD("wd1772:0", samcoupe_floppies, "35dd", 0, samcoupe_state::floppy_formats)
549   MCFG_FLOPPY_DRIVE_ADD("wd1772:1", samcoupe_floppies, "35dd", 0, samcoupe_state::floppy_formats)
552550   MCFG_SOFTWARE_LIST_ADD("flop_list","samcoupe_flop")
553551
554552   /* sound hardware */
trunk/src/emu/machine/amigafdc.c
r19107r19108
4141#include "emu.h"
4242#include "includes/amiga.h"
4343#include "formats/ami_dsk.h"
44#include "formats/hxcmfm_dsk.h"
45#include "formats/ipf_dsk.h"
46#include "formats/mfi_dsk.h"
47#include "formats/dfi_dsk.h"
4844#include "amigafdc.h"
4945#include "machine/6526cia.h"
5046
5147const device_type AMIGA_FDC = &device_creator<amiga_fdc>;
5248
53const floppy_format_type amiga_fdc::floppy_formats[] = {
54   FLOPPY_ADF_FORMAT, FLOPPY_MFM_FORMAT, FLOPPY_IPF_FORMAT, FLOPPY_MFI_FORMAT, FLOPPY_DFI_FORMAT,
55   NULL
56};
49FLOPPY_FORMATS_MEMBER( amiga_fdc::floppy_formats )
50   FLOPPY_ADF_FORMAT
51FLOPPY_FORMATS_END
5752
58
5953amiga_fdc::amiga_fdc(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
6054   device_t(mconfig, AMIGA_FDC, "Amiga FDC", tag, owner, clock)
6155{
trunk/src/emu/machine/amigafdc.h
r19107r19108
2525   void adkcon_set(UINT16 data);
2626   void dmacon_set(UINT16 data);
2727
28   static const floppy_format_type floppy_formats[];
28   DECLARE_FLOPPY_FORMATS( floppy_formats );
2929
3030protected:
3131    virtual void device_start();
trunk/src/emu/video/sed1330.c
r19107r19108
140140//-------------------------------------------------
141141
142142sed1330_device::sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
143   : device_t(mconfig, SED1330, "Seiko-Epson SED1330", tag, owner, clock),
143   : device_t(mconfig, SED1330, "SED1330", tag, owner, clock),
144144     device_memory_interface(mconfig, *this),
145145     m_bf(0),
146146     m_space_config("videoram", ENDIANNESS_LITTLE, 8, 16, 0, NULL, *ADDRESS_MAP_NAME(sed1330))
147147{
148   m_shortname = "sed1330";
149148}
150149
151150
trunk/src/emu/video/sed1330.h
r19107r19108
4343   // inline configuration helpers
4444   static void static_set_config(device_t &device, const char *screen_tag);
4545
46    // optional information overrides
47   virtual const rom_entry *device_rom_region() const;
48
4649    DECLARE_READ8_MEMBER( status_r );
4750    DECLARE_WRITE8_MEMBER( command_w );
4851
r19107r19108
5356
5457protected:
5558    // device-level overrides
56   virtual const rom_entry *device_rom_region() const;
59   virtual void device_config_complete() { m_shortname = "sed1330"; }
5760    virtual void device_start();
5861    virtual void device_reset();
5962
trunk/src/emu/video/msm6255.c
r19107r19108
6565
6666
6767//**************************************************************************
68//  GLOBAL VARIABLES
69//**************************************************************************
70
71// device type definition
72const device_type MSM6255 = &device_creator<msm6255_device>;
73
74
75// default address map
76static ADDRESS_MAP_START( msm6255, AS_0, 8, msm6255_device )
77   AM_RANGE(0x00000, 0xfffff) AM_RAM
78ADDRESS_MAP_END
79
80
81
82//**************************************************************************
6883//  INLINE HELPERS
6984//**************************************************************************
7085
7186//-------------------------------------------------
72//  read_video_data - read video ROM/RAM
87//  read_byte -
7388//-------------------------------------------------
7489
75inline UINT8 msm6255_device::read_video_data(UINT16 ma, UINT8 ra)
90inline UINT8 msm6255_device::read_byte(UINT16 ma, UINT8 ra)
7691{
77   return m_char_ram_r(this, ma, ra);
92   offs_t offset;
93
94   if (m_mor & MOR_GRAPHICS)
95   {
96      offset = ma;
97   }
98   else
99   {
100      offset = ((offs_t)ma << 4) | ra;
101   }
102
103   return space().read_byte(offset);
78104}
79105
80106
r19107r19108
83109//  LIVE DEVICE
84110//**************************************************************************
85111
86// device type definition
87const device_type MSM6255 = &device_creator<msm6255_device>;
88
89112//-------------------------------------------------
90113//  msm6255_device - constructor
91114//-------------------------------------------------
92115
93116msm6255_device::msm6255_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
94117    : device_t(mconfig, MSM6255, "MSM6255", tag, owner, clock),
118     device_memory_interface(mconfig, *this),
119     m_space_config("videoram", ENDIANNESS_LITTLE, 8, 20, 0, NULL, *ADDRESS_MAP_NAME(msm6255)),
95120     m_cursor(0)
96121{
97122}
98123
99124
100125//-------------------------------------------------
101//  device_config_complete - perform any
102//  operations now that the configuration is
103//  complete
126//  static_set_config - configuration helper
104127//-------------------------------------------------
105128
106void msm6255_device::device_config_complete()
129void msm6255_device::static_set_config(device_t &device, int char_clock, const char *screen_tag)
107130{
108   // inherit a copy of the static data
109   const msm6255_interface *intf = reinterpret_cast<const msm6255_interface *>(static_config());
110   if (intf != NULL)
111   {
112      *static_cast<msm6255_interface *>(this) = *intf;
131   msm6255_device &msm6255 = downcast<msm6255_device &>(device);
113132
114      m_char_ram_r = intf->m_char_ram_r;
115   }
116   // or initialize to defaults if none provided
117   else
118   {
119      fatalerror("Interface not specified!\n");
120   }
133   assert(screen_tag != NULL);
134
135   msm6255.m_char_clock = char_clock;
136   msm6255.m_screen_tag = screen_tag;
121137}
122138
123139
r19107r19108
157173
158174
159175//-------------------------------------------------
176//  memory_space_config - return a description of
177//  any address spaces owned by this device
178//-------------------------------------------------
179
180const address_space_config *msm6255_device::memory_space_config(address_spacenum spacenum) const
181{
182   return (spacenum == AS_0) ? &m_space_config : NULL;
183}
184
185
186//-------------------------------------------------
160187//  read - register read
161188//-------------------------------------------------
162189
r19107r19108
329356
330357   for (sx = 0; sx < hn; sx++)
331358   {
332      UINT8 data = read_video_data(ma, ra);
359      UINT8 data = read_byte(ma, ra);
333360
334361      if (m_cursor)
335362      {
r19107r19108
373400   {
374401      // draw upper half scanline
375402      UINT16 ma = sar + (y * hn);
376      draw_scanline(bitmap, cliprect, y, ma, 0);
403      draw_scanline(bitmap, cliprect, y, ma);
377404
378405      // draw lower half scanline
379406      ma = sar + ((y + nx) * hn);
380      draw_scanline(bitmap, cliprect, y + nx, ma, 0);
407      draw_scanline(bitmap, cliprect, y + nx, ma);
381408   }
382409}
383410
r19107r19108
432459   }
433460   else
434461   {
435      bitmap.fill(get_black_pen(machine()), cliprect);
462      bitmap.fill(0, cliprect);
436463   }
464   
437465   return 0;
438466}
trunk/src/emu/video/msm6255.h
r19107r19108
2020//  INTERFACE CONFIGURATION MACROS
2121///*************************************************************************
2222
23#define MCFG_MSM6255_ADD(_tag, _clock, _config) \
23#define MCFG_MSM6255_ADD(_tag, _clock, _char_clock, _screen_tag, _map) \
2424   MCFG_DEVICE_ADD(_tag, MSM6255, _clock) \
25   MCFG_DEVICE_CONFIG(_config)
25   MCFG_DEVICE_ADDRESS_MAP(AS_0, _map) \
26   msm6255_device::static_set_config(*device, _char_clock, _screen_tag);
2627
2728
28#define MSM6255_INTERFACE(name) \
29   const msm6255_interface (name) =
3029
31
32#define MSM6255_CHAR_RAM_READ(_name) \
33   UINT8 _name(device_t *device, UINT16 ma, UINT8 ra)
34
35
36
3730///*************************************************************************
3831//  TYPE DEFINITIONS
3932///*************************************************************************
4033
41// ======================> msm6255_char_ram_read_func
42
43typedef UINT8 (*msm6255_char_ram_read_func)(device_t *device, UINT16 ma, UINT8 ra);
44
45
46// ======================> msm6255_interface
47
48struct msm6255_interface
49{
50   const char *m_screen_tag;
51
52   int m_character_clock;
53
54   // ROM/RAM data read function
55   msm6255_char_ram_read_func      m_char_ram_r;
56};
57
58
5934// ======================> msm6255_device
6035
6136class msm6255_device :   public device_t,
62                  public msm6255_interface
37                  public device_memory_interface
6338{
6439public:
6540    // construction/destruction
6641    msm6255_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
6742
43   // inline configuration helpers
44   static void static_set_config(device_t &device, int char_clock, const char *screen_tag);
45
6846    DECLARE_READ8_MEMBER( read );
6947    DECLARE_WRITE8_MEMBER( write );
7048
r19107r19108
7250
7351protected:
7452    // device-level overrides
75   virtual void device_config_complete();
76    virtual void device_start();
77    virtual void device_reset();
53   virtual void device_config_complete() { m_shortname = "msm6255"; }
54   virtual void device_start();
55   virtual void device_reset();
7856
57   // device_memory_interface overrides
58   virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
59
7960private:
80   inline UINT8 read_video_data(UINT16 ma, UINT8 ra);
61   inline UINT8 read_byte(UINT16 ma, UINT8 ra);
62
8163   void update_cursor();
82   void draw_scanline(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, UINT16 ma, UINT8 ra);
64   void draw_scanline(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, UINT16 ma, UINT8 ra = 0);
8365   void update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect);
8466   void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect);
8567
68   const address_space_config m_space_config;
69   const char *m_screen_tag;
8670   screen_device *m_screen;
71   int m_char_clock;
8772
8873   UINT8 m_ir;                  // instruction register
8974   UINT8 m_mor;               // mode control register
trunk/src/emu/imagedev/floppy.c
r19107r19108
2525const device_type FLOPPY_8_SSSD = &device_creator<floppy_8_sssd>;
2626const device_type FLOPPY_8_DSDD = &device_creator<floppy_8_dsdd>;
2727
28const floppy_format_type floppy_image_device::default_floppy_formats[] = {
29   FLOPPY_D88_FORMAT,
30   FLOPPY_DFI_FORMAT,
31   FLOPPY_IMD_FORMAT,
32   FLOPPY_IPF_FORMAT,
33   FLOPPY_MFI_FORMAT,
34   FLOPPY_MFM_FORMAT,
35   NULL
36};
37
2838floppy_connector::floppy_connector(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
2939   device_t(mconfig, FLOPPY_CONNECTOR, "Floppy drive connector abstraction", tag, owner, clock),
3040   device_slot_interface(mconfig, *this)
trunk/src/emu/imagedev/floppy.h
r19107r19108
88#define FLOPPY_H
99
1010#include "formats/flopimg.h"
11#include "formats/d88_dsk.h"
12#include "formats/dfi_dsk.h"
13#include "formats/hxcmfm_dsk.h"
14#include "formats/imd_dsk.h"
15#include "formats/ipf_dsk.h"
16#include "formats/mfi_dsk.h"
1117
1218#define MCFG_FLOPPY_DRIVE_ADD(_tag, _slot_intf, _def_slot, _def_inp, _formats)   \
1319   MCFG_DEVICE_ADD(_tag, FLOPPY_CONNECTOR, 0) \
1420   MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _def_inp, false) \
1521   static_cast<floppy_connector *>(device)->set_formats(_formats);
1622
23#define DECLARE_FLOPPY_FORMATS(_name) \
24   static const floppy_format_type _name [];
1725
26#define FLOPPY_FORMATS_MEMBER(_member) \
27   const floppy_format_type _member [] = { \
28
29#define FLOPPY_FORMATS_END \
30      , \
31      FLOPPY_D88_FORMAT, \
32      FLOPPY_DFI_FORMAT, \
33      FLOPPY_IMD_FORMAT, \
34      FLOPPY_IPF_FORMAT, \
35      FLOPPY_MFI_FORMAT, \
36      FLOPPY_MFM_FORMAT, \
37      NULL };
38
39
1840/***************************************************************************
1941    TYPE DEFINITIONS
2042***************************************************************************/
r19107r19108
89111
90112   virtual ui_menu *get_selection_menu(running_machine &machine, class render_container *container);
91113
114   static const floppy_format_type default_floppy_formats[];
115
92116protected:
93117   // device-level overrides
94118   virtual void device_config_complete();

Previous 199869 Revisions Next


© 1997-2024 The MAME Team