IRIX emulation is here!
#31
RE: IRIX emulation is here!
(04-10-2019, 07:49 PM)computron Wrote:  i cannot use it with my Windows version......

any help appreciated !

Cheers

Eve

What version of Windows do you have? And what CPU? Any information about your OS and PC you can provide would be helpful.

Octane2  R14k 600MHz, V10, 2GB RAM, 73GB disk, IRIX 6.5.22
shrek
It's not done until it's ogre.

Trade Count: (0)
Posts: 233
Threads: 19
Joined: Jan 2019
Location: United States
Find Reply
04-10-2019, 11:46 PM
#32
RE: IRIX emulation is here!
(04-10-2019, 11:46 PM)shrek Wrote:  
(04-10-2019, 07:49 PM)computron Wrote:  i cannot use it with my Windows version......

any help appreciated !

Cheers

Eve

What version of Windows do you have? And what CPU? Any information about your OS and PC you can provide would be helpful.

I use Windows10 x64 with a dual xeon E5 quad core 3,9Ghz

Cheers

Eve
computron
O2

Trade Count: (0)
Posts: 35
Threads: 5
Joined: Jun 2018
Find Reply
04-13-2019, 01:17 AM
#33
RE: IRIX emulation is here!
Huh, well it should work then. First go to https://www.mamedev.org/oldrel.html and download mame0207b_64bit.exe. You'll need the IRIX 6.2 disk image that dexter1 uploaded here https://tudl1910.home.xs4all.nl/Indy_emu...irix62.chd and go to http://cominf0.narod.ru/mess123.htm and Ctrl+F to search for ip225015. Take ip225015.zip and stick it in the "roms" folder, but don't unzip it. Put the IRIX disk image into the MAME folder. After you run that, just go into the MAME folder and up to File > PowerShell > Run as admin and a terminal window will open. Enter "./mame64 ip225015.bin -hard1 irix62.chd" to start the emulated Indy. Click on "stop for maintenance" and go to command monitor. Enter "setenv -f eaddr 08:00:69:12:34:56" or else IRIX will just spit out errors on boot. MAME keyboard shortcuts don't seem to work, so to exit the machine you Ctrl+Esc which brings up the start menu. Then you hover over MAME in the taskbar and close it with the X in the corner of the tile. I've done this like 30 times and it won't corrupt the disk image. 

I'm going to guess that the issue you're having is related to the MAME GUI. I haven't been able to navigate it very well. Just use the command line to start the emulator.

Octane2  R14k 600MHz, V10, 2GB RAM, 73GB disk, IRIX 6.5.22
shrek
It's not done until it's ogre.

Trade Count: (0)
Posts: 233
Threads: 19
Joined: Jan 2019
Location: United States
Find Reply
04-13-2019, 01:48 PM
#34
RE: IRIX emulation is here!
(04-12-2019, 10:41 PM)DevilMaster Wrote:  
Quote:So it looks like the R4000 core code in mame is taking about 60% of the total CPU time and if there is room for improvements, that would be the first place to start. I've tried with -drc and -nodrc and it didn't make any difference, so in infer that there is no dynamic recompile code active, which could potentially create lots of speed improvements.

We'll have to see what the future brings.

I'm not expecting any speed improvement, because according to the perverted philosphy of the MAME team, dynamic recompilation, HLE and graphical acceleration are detrimental to "accuracy". On the contrary, I expect the emulation to become even slower, in the name of "increased accuracy".

I'm sorry to be this blunt, but as long as a complex platform like this is only emulated by MAME, it might as well be not emulated at all: even on the fastest machines, it will always be ridiculously slow and unusable. Sure, the MAME team might lull you into a false sense of hope by telling you lies such as "code optimization is not necessary because hardware will eventually become fast enough on its own", but history shows that the sluggishness of MAME has increased much more than hardware speed.

At this point, if this was an Italian emulation newsgroup 10 years ago, MAME zealots would jump at my throat stating that "the purpose of MAME is not to run the software it emulates" and "being able to use the emulated software is a nice side effect". I hope nobody in this forum drinks that Kool-Aid.

MAME is open source these days, if someone wants to put in the work to move the emulation to a dedicated emulator, the hardest work is already done (I would think). The MAME devs are the only ones who have been willing to put in the work to get SGI emulation working to this advanced state, as yet.

Digital Personal Workstation
Hewlett-Packard Visualize C3700 (HP-UX 11.11)
IBM RS/6000 7011-250 (AIX 4.3.3) | IBM RS/6000 7044-170 (AIX 5.3)
Silicon Graphics Indy R5000
Sun SPARCclassic (SunOS 4.1.4) | Sun Ultra 1 (Solaris 2.6) | Axil 311
(This post was last modified: 04-16-2019, 06:07 PM by thunderbird32.)
thunderbird32
Rabid Child

Trade Count: (0)
Posts: 75
Threads: 4
Joined: May 2018
Location: Chicago
Find Reply
04-16-2019, 06:05 PM
#35
RE: IRIX emulation is here!
@Devilmaster

Have a look at the Discord SGI-Emulation subchannel. It is said that the new MIPS core has been pivotal in getting MIPS emulation, with the SGI Indy emulation as a side effect, working. The mips DRC core still has many bugs in comparison with the new core and as i've read they are attempting to backport these fixes into the drc code.

So at least there is some attention to this problem from the MAMEdev guys.

Quote:I'm sorry to be this blunt, but as long as a complex platform like this is only emulated by MAME, it might as well be not emulated at all

I didn't say Indy Emulation is going to be practical, and i too am skeptical if the emulation in MAME will ever be usable. But the basic work of preserving the Indy in code has been done and other Indy emulators might benefit from it. Just as Thunderbird32 mentioned
This alone merits the work on the Indy driver of the MAMEdev group, and in light of preservation and response to your quote, i completely disagree with your point of view.
(This post was last modified: 04-17-2019, 08:45 AM by dexter1.)
dexter1
Administrator

Trade Count: (1)
Posts: 297
Threads: 17
Joined: May 2018
Location: The Netherlands
Find Reply
04-17-2019, 08:44 AM
#36
RE: IRIX emulation is here!
I've begun documenting this on the Wiki if anyone wants to help there:

https://wiki.irix.cc/emulation

I got the basics down. I'm not interested in actually testing this or anything though, but I figure it's worth documentation

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
04-19-2019, 07:01 AM
#37
RE: IRIX emulation is here!
Hey, the wiki instructions are looking good. But after reading the MAME docs on how to compile (https://docs.mamedev.org/initialsetup/co...gmame.html) I think it's worth mentioning that the -j option is your number of physical CPU cores, plus one. So a dual core needs -j3, and a quad core needs -j5, and six core needs -j7. These are not to be confused with threads/virtual cores. This caused some compile issues for me on Debian on a dual core machine when I ran it with -j5, which had worked fine on my quad core workstation. Running without the -j option makes compiling pretty slow for me.

Octane2  R14k 600MHz, V10, 2GB RAM, 73GB disk, IRIX 6.5.22
shrek
It's not done until it's ogre.

Trade Count: (0)
Posts: 233
Threads: 19
Joined: Jan 2019
Location: United States
Find Reply
04-21-2019, 03:10 PM
#38
RE: IRIX emulation is here!
Hello! I have a real Indy R4400 200MHZ 32MB RAM 1GB HD, with IRIX 6.5.22 inadequate for my hardware (few memory and free 200 MB HD) 

 but run fast and cool. I planning to migrate to irix 6.2.

I must interesting in colaborate to the development of the mame.

I have experience in C/assembly programming since 1990, and in UNIX environment using Indy since 1996.

Actualy compiling the mame in a quad core Q6600 using -j5, and in a i9 9900K using j9 or j17 ( the processor have 8 cores / 16 threads, dont 

tested). 

Using msys64, I not find the option to redirect the compiled files to another directory, and the compiled files stay mixed with the sources, 

dont have a clean install option?

Mame version (mame0210b_64bit).

Compiler command:
make -j5 SOURCES=src/mame/drivers/indy_indigo2.cpp REGENIE=1 TOOLS=1 OPTIMIZE=3 ARCHOPTS_C=-march=native ARCHOPTS_CXX=-march=native

Mame runs in a quad core by 9% (2.4Ghz core). -> using my compiled version.
In a i9 runs a 30% (5Ghz core). -> original compiled version.

I testing using 5 modes:

1) (indigo2R4400_150_8bit_irix62) mame64 ip244415 -gio_gfx xl8 -harddisk1 .\roms\irix62.chd
2) (indigo2R4400_150_8bit_irix53) mame64 ip244415 -gio_gfx xl8 -harddisk1 .\roms\irix53.chd
3) (indyR4600_133_8bit_irix53) mame64 ip224613 -gio_gfx xl8 -harddisk1 .\roms\irix53.chd
4) (indyR4600_133_8bit_irix62) mame64 ip224613 -gio_gfx xl8 -harddisk1 .\roms\irix62.chd
5) (indyR5000_150_8bit_irix62) mame64 ip225015 -gio_gfx xl8 -harddisk1 .\roms\irix62.chd

Interesting detail:
-Using original compiled mame downloaded from mame website,
(in q6600 PC) all virtual machines works correct.
(in i9 PC) the only hardware emulation ok is indigo2,
others virtual machines scroll 1/2 screen down, impossibiliting the visualization of the low portion.
-Using my compiled version,
(in q6600 PC) all virtual machines work correct.
(in i9 PC) dont tested.
-All virtual machines dont have audio.

Creating the virtual disk image (chd) using the mame commands, dont work in emulator, only the full disk image irix62.chd, and reusing this 

to install irix 5.3 over.


How to change the MAC address (eaddr) in Indygo2? the setenv -f eaddr 08:00:69:12:34:56 dont work. Only in Indy this works.


Curiosity: My Indy have the "CMOS" working since 1996 (manufactured in 1995), the battery into the chip is long life? My PCs have to 

change the battery by 3 to 3 years.
alexdedalus
O2

Trade Count: (0)
Posts: 35
Threads: 7
Joined: Jun 2019
Find Reply
06-07-2019, 07:57 AM
#39
RE: IRIX emulation is here!
(06-07-2019, 07:57 AM)alexdedalus Wrote:  Hello! I have a real Indy R4400 200MHZ 32MB RAM 1GB HD, with IRIX 6.5.22 inadequate for my hardware (few memory and free 200 MB HD)

Out of curiosity, can you tell us the PROM version string of your Indy?

You can see this when you start the Indy and abort boot by pressing <ESC>. then enter command monitor by pressing <5>, and then type "version". The string should look something similar like:
Code:
SGI Version 5.1.2 Rev B4 R4X00 IP24 Dec  9, 1993

The MAC address on the Emulated Indigo2 can most likely be changed either by using the fill command in the PROM or hexediting the saved EERPOM image in MAME. I'll try this out in the evening or so and see what works.
(This post was last modified: 06-07-2019, 04:11 PM by dexter1.)
dexter1
Administrator

Trade Count: (1)
Posts: 297
Threads: 17
Joined: May 2018
Location: The Netherlands
Find Reply
06-07-2019, 04:10 PM
#40
RE: IRIX emulation is here!
Figured it out but it's a bit of a story:

Recently the naming of the romfiles have changed in MAME with respect to the Indigo2 and Indy emulation. For Indy emulation you now need rom with name indy_4610.zip and for indigo2 emulation you need indigo2_4415.zip
Also, PS2 keyboard and mouse support in the Indy and Indigo2 have been redesigned and need a rom now, these are kb_ms_natural.zip and ps2_keybc.zip
Also, the NVRAM save endianness has changed with respect to previous versions, so the MAC address needs to be swapped in pairs of two bytes.

So after compiling the MAME github source (i use make -j5 SOURCES=src/mame/drivers/indy_indigo2.cpp REGENIE=1 TOOLS=1 OPTIMIZE=2) you must run the Indigo2 emulation once with:
Code:
./mame64 indigo2_4415 -gio64_gfx xl24
If you go to the PROM and the the eaddr environment variable you will see that the MAC address has been set to FF:FF:FF:FF:FF:FF
Stop the emulation and read the eeprom from the just emulated indigo2:
Code:
xxd nvram/indigo2_4415/eeprom
The last line should read:
Code:
000000f0: 0000 ffff ffff ffff ffff ffff ffff ffff  ................
You can now hexedit the new MAC address:
Code:
hexedit nvram/indigo2_4415/eeprom
Change it to:
Code:
000000f0: 0000 ffff ffff ffff 0000 0008 1269 5634  .............iV4

Restart the Indigo2 Emulation and printenv should list eaddr as 08:00:69:12:34:56

As reported setenv -f eaddr 08:00:69:12:34:56 doesn't work. The PROM fill command described in the https://www.linux-mips.org/wiki/IP22#IP2...et_address page also doesn't work.

BTW, Anyone who wants to try out the latest MAME github, you can go to https://tudl1910.home.xs4all.nl/Indy_emulation/ and download the necessary roms
(This post was last modified: 06-07-2019, 07:36 PM by dexter1.)
dexter1
Administrator

Trade Count: (1)
Posts: 297
Threads: 17
Joined: May 2018
Location: The Netherlands
Find Reply
06-07-2019, 07:35 PM


Forum Jump:


Users browsing this thread: 2 Guest(s)