trunk/src/emu/bus/abcbus/lux21046.c
r26194 | r26195 | |
151 | 151 | |
152 | 152 | static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_device ) |
153 | 153 | ADDRESS_MAP_UNMAP_HIGH |
154 | | AM_RANGE(0x08, 0x08) AM_MIRROR(0xff07) AM_READ(out_r) |
155 | | AM_RANGE(0x18, 0x18) AM_MIRROR(0xff07) AM_WRITE(inp_w) |
156 | | AM_RANGE(0x28, 0x28) AM_MIRROR(0xff07) AM_WRITE(_4b_w) |
157 | | AM_RANGE(0x38, 0x38) AM_MIRROR(0xff07) AM_WRITE(_9b_w) |
158 | | AM_RANGE(0x48, 0x48) AM_MIRROR(0xff07) AM_WRITE(_8a_w) |
159 | | AM_RANGE(0x58, 0x58) AM_MIRROR(0xff07) AM_MASK(0xff00) AM_READ(_9a_r) |
160 | | AM_RANGE(0x68, 0x6b) AM_MIRROR(0xff04) AM_DEVREAD(SAB1793_TAG, fd1793_t, read) |
161 | | AM_RANGE(0x78, 0x7b) AM_MIRROR(0xff04) AM_DEVWRITE(SAB1793_TAG, fd1793_t, write) |
| 154 | AM_RANGE(0x0c, 0x0c) AM_MIRROR(0xff03) AM_READ(out_r) |
| 155 | AM_RANGE(0x1c, 0x1c) AM_MIRROR(0xff03) AM_WRITE(inp_w) |
| 156 | AM_RANGE(0x2c, 0x2c) AM_MIRROR(0xff03) AM_WRITE(_4b_w) |
| 157 | AM_RANGE(0x3c, 0x3c) AM_MIRROR(0xff03) AM_WRITE(_9b_w) |
| 158 | AM_RANGE(0x4c, 0x4c) AM_MIRROR(0xff03) AM_WRITE(_8a_w) |
| 159 | AM_RANGE(0x5c, 0x5c) AM_MIRROR(0xff07) AM_MASK(0xff00) AM_READ(_9a_r) |
| 160 | AM_RANGE(0x68, 0x6b) AM_MIRROR(0xff00) AM_DEVREAD(SAB1793_TAG, fd1793_t, read) |
| 161 | AM_RANGE(0x78, 0x7b) AM_MIRROR(0xff00) AM_DEVWRITE(SAB1793_TAG, fd1793_t, write) |
162 | 162 | AM_RANGE(0x80, 0x80) AM_MIRROR(0xff77) AM_DEVREADWRITE(Z80DMA_TAG, z80dma_device, read, write) |
163 | 163 | ADDRESS_MAP_END |
164 | 164 | |
r26194 | r26195 | |
266 | 266 | // wd17xx_interface fdc_intf |
267 | 267 | //------------------------------------------------- |
268 | 268 | |
| 269 | FLOPPY_FORMATS_MEMBER( luxor_55_21046_device::floppy_formats ) |
| 270 | FLOPPY_ABC800_FORMAT |
| 271 | FLOPPY_FORMATS_END |
| 272 | |
269 | 273 | static SLOT_INTERFACE_START( abc_floppies ) |
270 | 274 | SLOT_INTERFACE( "525sssd", FLOPPY_525_SSSD ) |
271 | 275 | SLOT_INTERFACE( "525sd", FLOPPY_525_SD ) |
r26194 | r26195 | |
289 | 293 | |
290 | 294 | |
291 | 295 | //------------------------------------------------- |
| 296 | // z80_daisy_config z80_daisy_chain |
| 297 | //------------------------------------------------- |
| 298 | |
| 299 | static const z80_daisy_config z80_daisy_chain[] = |
| 300 | { |
| 301 | { Z80DMA_TAG }, |
| 302 | { NULL } |
| 303 | }; |
| 304 | |
| 305 | |
| 306 | //------------------------------------------------- |
292 | 307 | // MACHINE_CONFIG( luxor_55_21046 ) |
293 | 308 | //------------------------------------------------- |
294 | 309 | |
295 | 310 | static MACHINE_CONFIG_FRAGMENT( luxor_55_21046 ) |
296 | 311 | MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4) |
| 312 | MCFG_CPU_CONFIG(z80_daisy_chain) |
297 | 313 | MCFG_CPU_PROGRAM_MAP(luxor_55_21046_mem) |
298 | 314 | MCFG_CPU_IO_MAP(luxor_55_21046_io) |
299 | 315 | |
300 | 316 | MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_16MHz/4, dma_intf) |
301 | 317 | MCFG_FD1793x_ADD(SAB1793_TAG, XTAL_16MHz/16) |
302 | 318 | |
303 | | MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525dd", floppy_image_device::default_floppy_formats) |
304 | | MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525dd", floppy_image_device::default_floppy_formats) |
| 319 | MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525dd", luxor_55_21046_device::floppy_formats) |
| 320 | MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525dd", luxor_55_21046_device::floppy_formats) |
305 | 321 | MACHINE_CONFIG_END |
306 | 322 | |
307 | 323 | |
r26194 | r26195 | |
398 | 414 | |
399 | 415 | PORT_START("SW3") |
400 | 416 | PORT_DIPNAME( 0x7f, 0x2c, "Card Address" ) PORT_DIPLOCATION("SW3:1,2,3,4,5,6,7") |
401 | | PORT_DIPSETTING( 0x2c, "44 (ABC 832/834/850)" ) |
402 | | PORT_DIPSETTING( 0x2d, "45 (ABC 830)" ) |
403 | | PORT_DIPSETTING( 0x2e, "46 (ABC 838)" ) |
| 417 | PORT_DIPSETTING( 0x2c, "44 (ABC 832/834/850)" ) // MF0: MF1: |
| 418 | PORT_DIPSETTING( 0x2d, "45 (ABC 830)" ) // MO0: MO1: |
| 419 | PORT_DIPSETTING( 0x2e, "46 (ABC 838)" ) // SF0: SF1: |
404 | 420 | |
405 | 421 | PORT_START("S1") // also S3,S5 |
406 | 422 | PORT_DIPNAME( 0x01, 0x01, "Interface Type" ) |
trunk/src/lib/formats/abc800_dsk.c
r0 | r26195 | |
| 1 | // license:BSD-3-Clause |
| 2 | // copyright-holders:Curt Coder |
| 3 | /********************************************************************* |
| 4 | |
| 5 | formats/abc800_dsk.c |
| 6 | |
| 7 | Luxor ABC 830/832/838 disk image formats |
| 8 | |
| 9 | *********************************************************************/ |
| 10 | |
| 11 | #include "emu.h" |
| 12 | #include "formats/abc800_dsk.h" |
| 13 | |
| 14 | abc800_format::abc800_format() : wd177x_format(formats) |
| 15 | { |
| 16 | } |
| 17 | |
| 18 | const char *abc800_format::name() const |
| 19 | { |
| 20 | return "abc800"; |
| 21 | } |
| 22 | |
| 23 | const char *abc800_format::description() const |
| 24 | { |
| 25 | return "Luxor ABC 830/832/838 disk image"; |
| 26 | } |
| 27 | |
| 28 | const char *abc800_format::extensions() const |
| 29 | { |
| 30 | return "dsk"; |
| 31 | } |
| 32 | |
| 33 | const abc800_format::format abc800_format::formats[] = { |
| 34 | /* { // 80K 5 1/4 inch single density double sided |
| 35 | floppy_image::FF_525, floppy_image::DSSD, floppy_image::FM, |
| 36 | 2000, 8, 40, 2, 256, {}, 1, {}, 54, 22, 0 |
| 37 | }, |
| 38 | |
| 39 | { // 160K 5 1/4 inch double density double sided |
| 40 | floppy_image::FF_525, floppy_image::DSDD, floppy_image::MFM, |
| 41 | 2000, 8, 40, 2, 256, {}, 1, {}, 54, 22, 0 |
| 42 | }, |
| 43 | */ |
| 44 | // track description |
| 45 | // 55x4e 12x00 3xf5 fe 2x00 2x01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 46 | // 54x4e 12x00 3xf5 fe 2x00 02 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 47 | // 54x4e 12x00 3xf5 fe 2x00 03 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 48 | // 54x4e 12x00 3xf5 fe 2x00 04 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 49 | // 54x4e 12x00 3xf5 fe 2x00 05 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 50 | // 54x4e 12x00 3xf5 fe 2x00 06 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 51 | // 54x4e 12x00 3xf5 fe 2x00 07 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 52 | // 54x4e 12x00 3xf5 fe 2x00 08 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 53 | // 54x4e 12x00 3xf5 fe 2x00 09 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 54 | // 54x4e 12x00 3xf5 fe 2x00 0a 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 55 | // 54x4e 12x00 3xf5 fe 2x00 0b 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 56 | // 54x4e 12x00 3xf5 fe 2x00 0c 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 57 | // 54x4e 12x00 3xf5 fe 2x00 0d 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 58 | // 54x4e 12x00 3xf5 fe 2x00 0e 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 59 | // 54x4e 12x00 3xf5 fe 2x00 0f 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 60 | // 54x4e 12x00 3xf5 fe 2x00 10 01 f7 22x4e 12x00 3xf5 fb 256xe5 f7 |
| 61 | // 298x4e |
| 62 | { // 640K 5 1/4 inch quad density |
| 63 | floppy_image::FF_525, floppy_image::DSQD, floppy_image::MFM, |
| 64 | 2000, 16, 80, 2, 256, {}, 1, {}, 54, 22, 0 |
| 65 | }, |
| 66 | /* |
| 67 | { // 1M 8 inch double density |
| 68 | floppy_image::FF_8, floppy_image::DSDD, floppy_image::MFM, |
| 69 | 2000, 16, 77, 2, 256, {}, 1, {}, 55, 22, 84 |
| 70 | }, |
| 71 | */ |
| 72 | {} |
| 73 | }; |
| 74 | |
| 75 | const floppy_format_type FLOPPY_ABC800_FORMAT = &floppy_image_format_creator<abc800_format>; |