diff --git a/src/devices/cpu/mips/r4000.cpp b/src/devices/cpu/mips/r4000.cpp index 1970ba43cf3..1550655662e 100644 --- a/src/devices/cpu/mips/r4000.cpp +++ b/src/devices/cpu/mips/r4000.cpp @@ -3739,7 +3739,7 @@ void r4000_base_device::address_error(int intention, u64 const address) template void r4000_base_device::accessors(T &m) { - space(AS_PROGRAM).cache(m); + space(AS_PROGRAM).specific(m); read_byte = [&m](offs_t offset) { return m.read_byte(offset); }; read_word = [&m](offs_t offset) { return m.read_word(offset); }; diff --git a/src/devices/cpu/mips/r4000.h b/src/devices/cpu/mips/r4000.h index f7e5b55e121..f905e520493 100644 --- a/src/devices/cpu/mips/r4000.h +++ b/src/devices/cpu/mips/r4000.h @@ -400,8 +400,8 @@ protected: address_space_config m_program_config_be; // memory access helpers - memory_access<36, 3, 0, ENDIANNESS_LITTLE>::cache m_le; - memory_access<36, 3, 0, ENDIANNESS_BIG>::cache m_be; + memory_access<32, 3, 0, ENDIANNESS_LITTLE>::specific m_le; + memory_access<32, 3, 0, ENDIANNESS_BIG>::specific m_be; std::function read_byte; std::function read_word; diff --git a/src/mame/sgi/ip20.cpp b/src/mame/sgi/ip20.cpp index d68cbd29c06..4066d7bac80 100644 --- a/src/mame/sgi/ip20.cpp +++ b/src/mame/sgi/ip20.cpp @@ -140,6 +140,10 @@ void ip20_state::cpu_map(address_map &map) map(0x1fc0'0000, 0x1fc7'ffff).rom().region("prom", 0); } +static DEVICE_INPUT_DEFAULTS_START(ip20_mc) + DEVICE_INPUT_DEFAULTS("VALID", 0x0f, 0x07) +DEVICE_INPUT_DEFAULTS_END + static void scsi_devices(device_slot_interface &device) { device.option_add("cdrom", NSCSI_CDROM_SGI).machine_config( @@ -172,6 +176,7 @@ void ip20_state::ip20(machine_config &config) SGI_MC(config, m_mc, m_cpu, m_eerom, 50'000'000); m_mc->eisa_present().set_constant(0); + m_mc->set_input_default(DEVICE_INPUT_DEFAULTS_NAME(ip20_mc)); SGI_HPC1(config, m_hpc, 0); m_hpc->set_gio(m_cpu, AS_PROGRAM); @@ -281,6 +286,10 @@ void ip20_state::ip20(machine_config &config) ROM_START(indigo_r4000) ROM_REGION64_BE(0x80000, "prom", 0) ROMX_LOAD("ip20prom.070-8116-004.bin", 0x000000, 0x080000, CRC(940d960e) SHA1(596aba530b53a147985ff3f6f853471ce48c866c), ROM_GROUPDWORD | ROM_REVERSE) + + // hand-made content sets eaddr 08:00:69:12:34:56 and netaddr 192.168.137.2 + ROM_REGION16_LE(0x100, "nvram", 0) + ROM_LOAD("nvram.bin", 0x000, 0x100, CRC(b8367798) SHA1(61af4c9dba69e9f0552c10770f16044421730b6d)) ROM_END #define rom_indigo_r4400 rom_indigo_r4000 diff --git a/src/mame/sgi/ip6.cpp b/src/mame/sgi/ip6.cpp index e7f0cf2da36..4183d195832 100644 --- a/src/mame/sgi/ip6.cpp +++ b/src/mame/sgi/ip6.cpp @@ -16,26 +16,38 @@ * - https://github.com/NetBSD/src/tree/trunk/sys/arch/sgimips/ * * TODO: - * - audio, printer - * - devicify ioc1 and ctl1 - * - * Status: + * - audio, printer + * - devicify ioc1 and ctl1 * - parity and cache diagnostics fail - * - irix 4.0.5 working * - ide test failures * - lca2 (unimplemented fpga program/readback) * - nvram4 (security mode?) * - fpu (cvt.?.? invalid operation exceptions) */ -/* - * Installation instructions - * -- - * 1. boot, enter monitor, set ethernet address: eaddr 08:00:69:12:34:56 - * 2. start mame with CDROM iso image as hard disk ID 6: mame 4d20 ... -scsi:6 harddisk -hard2 pathname.iso - * 3. boot, enter monitor, launch sash: boot -f dksc(0,6,8)sash.IP6 - * 4. - */ + /* + * WIP + * -- + * 4D/2x doesn't support CDROM, so to install IRIX, mount the .iso + * as if it's a hard disk: ... -scsi:6 harddisk -hard2 pathname.iso + * + * install IRIX 4.0.5/5.3: + * - monitor: eaddr 08:00:69:12:34:56 # set ethernet mac address + * - monitor: init + * - monitor: dksc(0,6,8)sash.IP6 dksc(0,6,7)stand/fx.IP6 -x # start fx disk partition/label utility + * - fx: r; ro; ..; l; sync; ..; exit # create root partition and label disk + * - monitor: setenv tapedevice dksc(0,6,8) + * - monitor: dksc(0,6,8)sash.IP6 -m # copy/boot from miniroot + * - inst: sh # escape to shell from inst + * - sh: mkdir /mnt; mount /dev/dsk/dks0d6s7 /mnt; exit # mount distribution media + * - inst: from /mnt/dist + * - inst: go # may take ~1.5 hours + * - inst: shroot + * - sh: chkconfig windowsystem off; chkconfig xdm off # disable graphics subsystems (until graphics works) + * - sh: edit /etc/hosts and /etc/inittab # change host IP address, enable getty on console + * - inst: quit # complete installation and reboot + */ + #include "emu.h"