mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
sgi/ip20: enable memory configuration
* add a minimal nvram dump to set eaddr and netaddr
This commit is contained in:
parent
f74fd47f1f
commit
b47bbbc581
@ -3739,7 +3739,7 @@ void r4000_base_device::address_error(int intention, u64 const address)
|
||||
|
||||
template <typename T> 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); };
|
||||
|
@ -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<u8(offs_t offset)> read_byte;
|
||||
std::function<u16(offs_t offset)> read_word;
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user