summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mac.cpp')
-rw-r--r--src/mame/drivers/mac.cpp89
1 files changed, 8 insertions, 81 deletions
diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp
index 870a058898e..44a1114244b 100644
--- a/src/mame/drivers/mac.cpp
+++ b/src/mame/drivers/mac.cpp
@@ -1,66 +1,22 @@
// license:BSD-3-Clause
-// copyright-holders:Nathan Woods, Raphael Nabet, R. Belmont
+// copyright-holders: Nathan Woods, Raphael Nabet, R. Belmont, O. Galibert
/****************************************************************************
- drivers/mac.c
- Macintosh family emulation
-
- Nate Woods, Raphael Nabet, R. Belmont
-
- 0x000000 - 0x3fffff RAM/ROM (switches based on overlay)
- 0x400000 - 0x4fffff ROM
- 0x580000 - 0x5fffff 5380 NCR/Symbios SCSI peripherals chip (Mac Plus only)
- 0x600000 - 0x6fffff RAM
- 0x800000 - 0x9fffff Zilog 8530 SCC (Serial Control Chip) Read
- 0xa00000 - 0xbfffff Zilog 8530 SCC (Serial Control Chip) Write
- 0xc00000 - 0xdfffff IWM (Integrated Woz Machine; floppy)
- 0xe80000 - 0xefffff Rockwell 6522 VIA
- 0xf00000 - 0xffffef ??? (the ROM appears to be accessing here)
- 0xfffff0 - 0xffffff Auto Vector
-
- Interrupts:
- M68K:
- Level 1 from VIA
- Level 2 from SCC
- Level 4 : Interrupt switch (not implemented)
-
- VIA:
- CA1 from VBLANK
- CA2 from 1 Hz clock (RTC)
- CB1 from Keyboard Clock
- CB2 from Keyboard Data
- SR from Keyboard Data Ready
-
- SCC:
- PB_EXT from mouse Y circuitry
- PA_EXT from mouse X circuitry
-
- NOTES:
- - pmac6100: with recent PPC fixes now gets into the 68000 emulator and executes part of the 680x0 startup code.
- 'g 6802c73c' to get to the interesting part (wait past the boot chime). PPC register r24 is the 68000 PC.
- when the PC hits GetCPUID, the move.l (a2), d0 at PC = 0x10000 will cause an MMU fault (jump to 0xFFF00300). why?
- a2 = 0x5ffffffc (the CPU ID register). MMU is unable to resolve this; defect in the MMU emulation probable.
+ drivers/mac.cpp
+ Macintosh II family emulation
TODO:
- - SE and Classic to own driver
- - Portable and PowerBook 100 to own driver
- - Remaining PowerBooks to own driver
- - Quadra 700 to own driver
- - V8 and friends to own driver
+ - V8 and friends (LC, LC2, Classic 2, Color Classic) to own driver
- LC3 / LC520 / IIvx / IIvi to own driver
****************************************************************************/
-
#include "emu.h"
#include "includes/mac.h"
#include "cpu/m68000/m68000.h"
#include "cpu/powerpc/ppc.h"
#include "cpu/m6805/m6805.h"
-#include "machine/applefdc.h"
-#include "machine/swim.h"
-#include "machine/sonydriv.h"
#include "formats/ap_dsk35.h"
#include "machine/iwm.h"
#include "machine/swim1.h"
@@ -646,17 +602,7 @@ void mac_state::maciifx_map(address_map &map)
/***************************************************************************
DEVICE CONFIG
***************************************************************************/
-#if !NEW_SWIM
-static const applefdc_interface mac_iwm_interface =
-{
- sony_set_lines,
- mac_fdc_set_enable_lines,
-
- sony_read_data,
- sony_write_data,
- sony_read_status
-};
-#endif
+
static void mac_nubus_cards(device_slot_interface &device)
{
device.option_add("m2video", NUBUS_M2VIDEO); /* Apple Macintosh II Video Card */
@@ -694,20 +640,12 @@ static void mac_lcpds_cards(device_slot_interface &device)
/***************************************************************************
MACHINE DRIVERS
***************************************************************************/
-#if !NEW_SWIM
-static const floppy_interface mac_floppy_interface =
-{
- FLOPPY_STANDARD_3_5_DSHD,
- LEGACY_FLOPPY_OPTIONS_NAME(apple35_mac),
- "floppy_3_5"
-};
-#endif
+
void mac_state::add_base_devices(machine_config &config, bool rtc, int woz_version)
{
if (rtc)
RTC3430042(config, m_rtc, XTAL(32'768));
-#if NEW_SWIM
switch (woz_version) {
case 0:
IWM(config, m_fdc, C15M);
@@ -737,13 +675,6 @@ void mac_state::add_base_devices(machine_config &config, bool rtc, int woz_versi
applefdintf_device::add_35_hd(config, m_floppy[0]);
applefdintf_device::add_35_nc(config, m_floppy[1]);
}
-#else
- if (woz_version)
- LEGACY_SWIM(config, m_fdc, &mac_iwm_interface);
- else
- LEGACY_IWM(config, m_fdc, &mac_iwm_interface);
- sonydriv_floppy_image_device::legacy_2_drives_add(config, &mac_floppy_interface);
-#endif
SCC8530(config, m_scc, C7M);
m_scc->intrq_callback().set(FUNC(mac_state::set_scc_interrupt));
@@ -904,15 +835,13 @@ void mac_state::maciihd(machine_config &config)
{
macii(config, true);
-#if NEW_SWIM
SWIM1(config.replace(), m_fdc, C15M);
m_fdc->phases_cb().set(FUNC(mac_state::phases_w));
m_fdc->sel35_cb().set(FUNC(mac_state::sel35_w));
m_fdc->devsel_cb().set(FUNC(mac_state::devsel_w));
applefdintf_device::add_35_hd(config, m_floppy[0]);
- applefdintf_device::add_35_nc(config, m_floppy[1]);
-#endif
+ applefdintf_device::add_35_hd(config, m_floppy[1]);
}
void mac_state::maciifx(machine_config &config)
@@ -1069,15 +998,13 @@ void mac_state::maciix(machine_config &config, bool nubus_bank1, bool nubus_bank
m_maincpu->set_addrmap(AS_PROGRAM, &mac_state::macii_map);
m_maincpu->set_dasm_override(FUNC(mac_state::mac_dasm_override));
-#if NEW_SWIM
SWIM1(config.replace(), m_fdc, C15M);
m_fdc->phases_cb().set(FUNC(mac_state::phases_w));
m_fdc->sel35_cb().set(FUNC(mac_state::sel35_w));
m_fdc->devsel_cb().set(FUNC(mac_state::devsel_w));
applefdintf_device::add_35_hd(config, m_floppy[0]);
- applefdintf_device::add_35_nc(config, m_floppy[1]);
-#endif
+ applefdintf_device::add_35_hd(config, m_floppy[1]);
m_ram->set_default_size("2M");
m_ram->set_extra_options("8M,32M,64M,96M,128M");