How-To Guide - Upgrading the Indy PROM
#1
Information  How-To Guide - Upgrading the Indy PROM
The MAME emulation team is in serious need of additional Indy ROM images! Please don't re-flash your original EPROM without first confirming its version and reading out a copy of it with a programmer to be submitted to the collection. They currently have images B2, B4, B6, B7, and B10. All others are needed for archival. If your ROM version is not one of these, please get in touch with the MAME team.

There are two ways to get the ROM file, depending on if the EPROM has been removed from the system already or not. If it hasn't, see dexter1's post below mine for an easy way to dump the ROM from the console. If the chip is out of the system, instructions on reading and saving your ROM image with an EPROM programmer are in Addendum 1 on my second post.


Need an upgraded EPROM but don't want to go through the whole process? Send me a PM. I have a small supply of pre-programmed chips that I can provide for $5+shipping.

I recently upgraded the PROM in my Indy in order to support R5000 processors. This is a fairly straightforward process, but it is possible to make mistakes. If you attempt the instructions presented below, please be sure you read and understand them fully before proceeding. While I'm happy to provide assistance on the process, I can't be held responsible if you break something on your Indy while trying the upgrade.

Required Equipment

  • An EPROM programmer. I personally like the TL866ii Plus. They're available on Amazon or eBay, usually for around $45-$60 USD. Other models will likely work, but may involve different methods. This tutorial's instructions are explicitly for this programmer. Previous models in the TL866 series should also work.
  • A 27C4096-120 (or faster) EPROM. eBay sellers usually have them for $2-$3 USD each, but may only sell in batches of 5 or more.
  • The updated ROM image for the Indy. Although this is available on the Internet with some searching, that version will not work with the TL866ii Plus without modification. (We'll discuss why that ROM image doesn't work below.) Instead, I recommend using the prepared ROM in the attachments.
  • Basic tools and other supplies, including a Phillips screwdriver, a socket driver or pliers, and opaque tape to cover the EPROM window.

Optional Equipment

  • An R5000-series CPU module, as that's the main reason to perform this upgrade.
  • A UV EPROM eraser. I bought a cheap model from Amazon. I recommend this, as it will be the only way other than flashing multiple chips to correct any mistakes you may make in the flashing process.
  • An IC removal tool. This isn't strictly necessary, but it helps for removing the existing EPROM from the Indy. You can also use a flathead screwdriver, but I don't recommend it. It's very easy to break something and IC removal tools are inexpensive.
  • High-percentage isopropyl alcohol. This is only really needed if you're re-using an EPROM that's already had a sticker on it, or if you made a mistake and need to erase the chip. Cleaning the window with alcohol lets more UV through and speeds up the erasure process.

Required Software

  • Drivers (for Windows) and flash software for the TL866ii Plus, available on AutoElectric's web site here: http://www.autoelectric.cn/en/tl866_main.html.
  • For Linux and MacOS systems, Wine. FOSS software does exist for the TL866-series of programmers, but I still recommend running the Windows application via Wine at this time. If you're using the software through Wine, you'll also need the setupapi.dll file available here: https://github.com/radiomanV/TL866/tree/...ne/TL866II. Some tweaks may be required for MacOS. Unfortunately, I'm currently unable to test the software on a Mac.

Let's Program an EPROM!

  1. Download and extract the software and drivers for the TL866ii Plus from the link above. Install the software and approve the driver installation when prompted.

  2. Insert your 27C4096-120 or equivalent EPROM into the programmer. Be sure to match the notch in the chip with the direction indicated on the programmer when inserting the chip. Then, lower the lever to lock the chip into place. Finally, plug the programmer into your computer via USB.
    [Image: 26n6oWx.jpg]

  3. Load the software. On first boot, you may receive a message stating that the programmer firmware is out of date.
    [Image: 47bdYbX.png]

    If you see this, after closing the prompt, select "Tools -> Reflash Firmware". You'll receive a dialog box that looks like the one below. Select "Reflash" and wait for the process to complete. At this point, close the dialog box and the software. You can then reload it.

  4. With the programmer firmware up to date, you'll be greeted with the main window upon closing the software.
    [Image: UfkbpjK.png]

  5. Click on the large button below the words "Select IC" in the top left of the main window. This will open a dialog box allowing you to select the type of chip being used in the programmer. Depending on the manufacturer of your particular EPROM, you may be able to find their variant of the 27C4096 in the list of vendors and names. If not, I recommend just selecting the AMD version, the AM27C4096 @DIP40. The specific model is only relevant for a check that we'll disable in the next step. The image will still burn properly. One you have the chip selected, click "Select".
    [Image: XTusWpr.png]

  6. In the bottom left of the main programmer window, uncheck the checkbox labeled "Check ID". This will allow the programmer to read, write, and verify data on the chip even if it isn't an exact match to the manufacturer. The rest of the settings can be left at their defaults.
    [Image: IPgi1L1.png]

  7. At this point, we need to make sure that the EPROM is blank before we program it. To do this, in the main programmer window, go to "Device -> Blank Check". Click the "Blank" button to begin. If the chip is not blank, you will see a message like the one below. In this case, you will need to use a UV EPROM eraser or select an alternate chip to program.
    [Image: CQz5zKB.png]

    If the chip is blank, you will instead see a window resembling the one below. At this point, you can select "Cancel" to exit the dialog.
    [Image: iullF95.png]

  8. We're almost ready to program the EPROM! Extract the indy_rom_011.tar.gz file from the attachment, which should be named indy_rom_011.bin. Then, in the programmer window, select "File -> Open" and select the .bin ROM file you just extracted. A new dialog box resembling the one below will appear. Leave all settings at their defaults.
    [Image: V3ItcAA.png]

  9. In case you didn't obtain the file from the attachments below (and, ideally, just for good measure), we should make sure that the data is correct before we burn the EPROM. Using the scrollbar on the right side of the main programmer window, scroll down and look at the "ASCII" column. Eventually, you should find readable text, like the example below.
    [Image: 8B4NR7Z.png]

    If, instead, the text appears to be jumbled, like in the example below, then the ROM file you have needs to be byte swapped in order to work with this programmer. Byte-swapping the Indy ROM file is currently outside the focus of this tutorial, but instructions will likely be included at a later date.
    [Image: ocIZISW.png]

  10. With this done, go to "Device -> Program". A dialog box like the following one will appear. Upon clicking the "Program" button, the device will begin the programming process. This will take a few minutes. Upon completion, a verification pass will be run. You should receive messages like the ones below indicated successful programming and verification. Once complete, you can click "Cancel" to close the dialog box.
    [Image: JJfoTrQ.png]

  11. At this point, you can close the programmer software and disconnect the programmer device from your computer's USB port. Then, raise the lever to allow the removal of your newly-burned EPROM.

  12. In order to preserve the data burned to the EPROM, a sticker or piece of opaque tape should be placed over the window on the top of the EPROM. This prevents any potential strong UV light from erasing the data on the chip. While this isn't generally much of a concern unless you're burning EPROMs out in the sun or shining bright lights inside your Indy, it's still best practice.

    Note: the chip in the image below is the original, re-flashed EPROM from my Indy. The 27C4096 is a newer, equivalent EPROM to this one.
    [Image: RcYqHc5.jpg]

Installing the EPROM in Your Indy

  1. Now that we have an actual EPROM burned, it needs to be installed into the Indy. To start, remove the cover from the top of your Indy. This can be done by applying a small amount of downward pressure on the black clip on the back of the Indy, while applying forward pressure on the blue tab on the cover. The cover will slide forward, revealing internals similar to the ones below.

    Note: my Indy has a SCSI2SDv6 installed in the top left. Yours will likely have a SCSI hard drive and sled in its place.
    [Image: osdt5nm.jpg]

  2. In order to install the new EPROM, the graphics board (in the bottom left) will need to be removed. This will vary depending on the model of graphics board installed in your Indy. In the case of this 24-bit module, two of the long standoffs and one screw need to be removed. Also, the two lugs on the sides of the 13W3 connector also need to be removed. With the board out of the way, the EPROM below is revealed, just beneath the two graphics board connectors. I've left the EPROM window clear in this example picture for better illustration. In a stock Indy, this will be covered by a white or yellow label indicating the EPROM version.
    [Image: of9dNt9.jpg]

  3. Using an IC extractor tool, carefully wedge each end of the tool underneath one of the short sides of the EPROM. Gently pull up until the chip is unseated from its socket.

  4. With the stock EPROM removed, the socket below is ready to accept the newly-burned chip. Again, be sure to align the notch in the chip with the notch in the socket when inserting the new EPROM. If you install it backwards, it's possible that damage to either the EPROM or the motherboard could occur. On my Indy, the notch on the socket is toward the inside of the board. However, be sure to verify this on your own board.
    [Image: 15CdiRT.jpg]

  5. With the new EPROM in place, you can reverse the disassembly steps to reinstall the graphics board and close the Indy. Plug it in, and if all goes well, the light will turn green and you'll hear the lovely startup chime!

  6. To confirm the upgrade to the PROM, you can halt the boot process and enter the Command Monitor. Type the version command. You should receive the following result: PROM Monitor SGI Version 5.3 Rev B10 R4X00/R5000 IP24 Feb 12, 1996 (BE)
... and that's the installation! If you run into any issues during the process, or have any questions, please post them below. I'll try to help out with issues as best as I can.


Attached Files
.gz indy_rom_b10.tar.gz Size: 282.67 KB  Downloads: 299

Personaliris Indigo Indigo2 Indy Onyx2 Origin 200 Origin Vault O2 Octane2 (VW 320) (VW 540) (VW 550) Fuel Tezro Tezro Rack Origin 350 Onyx4 Altix 350 (Prism Rackmount)
(This post was last modified: 07-11-2019, 10:31 PM by kaigan.)
kaigan
Site Admin and SGI Tinkerer

Trade Count: (2)
Posts: 262
Threads: 31
Joined: May 2019
Location: Omaha, NE
Find Reply
05-30-2019, 04:53 PM
#2
RE: How-To Guide - Upgrading the Indy PROM
Addendum 1 - Reading a ROM Image from an Original Indy EPROM

The MAME emulation team is in need of ROM images from Indys. If your ROM is a version other than B2, B4, B6, B7, or B10, they would greatly appreciate having the image available for archival purposes and use in the project. Please, please consider submitting an image to them if you have one of these versions.

You can check your Indy PROM version by entering the Command Monitor on startup and entering the version command. The output will indicate the ROM version with a "B" and a number.

Beyond that reason, you may want to have a backup of your original ROM image in case something goes wrong with the new version, or you lose your original Indy EPROM. The directions below will show the process to read the file.

Note: Pictures will be added at a future date.

  1. Following the directions from steps 1-3 in the section "Installing the EPROM in Your Indy" in the previous post, remove the original EPROM from your Indy.

  2. Place the EPROM into your programmer and lower the lever to lock it in place. Be sure to align the notch on the chip with the notch indicator on the programmer.

  3. Load the TL866ii Plus software. In the "Select IC" menu, enter the chip number into the search box to see if it is present in the programmer. If not, select the AM27C4096 @DIP40. In this case, also be sure to uncheck the "Check ID" checkbox in the bottom left of the main programmer window.

  4. Select "Device -> Read" from the main programmer window. On the dialog box that appears, click the "Read" button and wait for the programmer to read the image from the EPROM.

  5. Select "File -> Save" from the main programmer window. Save the file with the .bin extension and indicate its version.

  6. If your Indy image is not B2, B4, B6, B7, or B10, get in touch with one of the members of the emulation team on the forums and let them know that you have an Indy EPROM image for archival.

Addendum 2 - Erasing a UV EPROM

So, you made a mistake in programming an EPROM? Worry not! If you have a UV EPROM eraser, it's easy to prepare the chip for programming once again.

  1. Remove any stickers, tape, etc. that may be covering the window on the top of the EPROM. Exposing the material underneath to bright UV light is what allows the chip to be erased. If any residue is left behind, apply some high-percentage isopropyl alcohol to a paper towel and gently clean it from the top of the chip. This will allow better exposure to UV and a faster erasure.
    [Image: ejY7ifM.jpg]

  2. Place the chip, face up, into the drawer of the UV EPROM eraser. Close the drawer and set the timer, if the eraser has one, for 10 minutes. Note: on this eraser, each number represents an interval of 10 minutes. Then, turn the eraser on and wait.
    [Image: KNQJIST.jpg]

  3. Depending on your eraser and the EPROM, 10 minutes may not be sufficient to erase the EPROM. You can test the erasure status by putting the EPROM into the programmer, loading the TL866ii Plus software, and running the Blank Check under "Device -> Blank Check". If data is detected, place the EPROM back in the eraser for 10 more minutes.

    Note: the Toshiba EPROM I'm using as an example takes around 30 minutes to completely erase. Overexposure can damage the chips, so I try to keep it to 10 minute intervals. In general, just placing the chip in the eraser for 30 minutes should be fine, though.
    [Image: CQz5zKB.png]

  4. Once you have confirmed that the EPROM is blank, it's ready to be programmed again! Once programmed, cover the window with a sticker or opaque tape.
    [Image: iullF95.png]


Personaliris Indigo Indigo2 Indy Onyx2 Origin 200 Origin Vault O2 Octane2 (VW 320) (VW 540) (VW 550) Fuel Tezro Tezro Rack Origin 350 Onyx4 Altix 350 (Prism Rackmount)
(This post was last modified: 07-11-2019, 10:33 PM by kaigan.)
kaigan
Site Admin and SGI Tinkerer

Trade Count: (2)
Posts: 262
Threads: 31
Joined: May 2019
Location: Omaha, NE
Find Reply
05-30-2019, 05:59 PM
#3
RE: How-To Guide - Upgrading the Indy PROM
There is another way to extract the PROM image form a working SGI. The PROM has the 'dump' command which dump parts of memory, and as it happens, can also dump itself since it is part of the memory map. Thanks to Moogly and JanJaap and others for getting this to our attention in the early days.

So if you hook up a serial null-model cable between the SGI and your PC/laptop and run a terminal program, like minicom, you can log the output of the 'dump' command and convert the resulting dump into a ROM image.

The program https://www.vdheijden-messerli.net/sgist...bin.tar.gz has a c program to convert the output log into a PROM image.
So all you have to do is boot the Indy or Indigo2 (or Indigo1 for that matter) , go to the Command Monitor, type 'version' and if it is not B4, B6 or B10 in the case of an Indy, turn on terminal logging in minicom and dump it with
Code:
dump -w -x 0xbfc00000:0xbfc80000

...then run the program sgiprom_to_bin by compiling it with
Code:
gcc -o sgiprom_to_bin sgiprom_to_bin.c
and do
Code:
cat minicom.log | sgiprom_to_bin prom.bin

You might have to strip the minicom.log a bit if it contains other command lines and output lines preceding or following the PROM dump lines
(This post was last modified: 06-14-2019, 03:59 PM by dexter1.)
dexter1
Administrator

Trade Count: (1)
Posts: 297
Threads: 17
Joined: May 2018
Location: The Netherlands
Find Reply
05-30-2019, 09:44 PM
#4
RE: How-To Guide - Upgrading the Indy PROM
Thanks to Kaigan efforts we also have PROM version B2 and B7 recovered from two Indy's:
Code:
SGI Version 5.1 Rev B2 IP24 Sep 10, 1993
and
Code:
SGI Version 5.3 Rev B7 R4X00 IP24 Feb 16, 1995
Two more for Ryan's ROM archive! Only six to go Smile
dexter1
Administrator

Trade Count: (1)
Posts: 297
Threads: 17
Joined: May 2018
Location: The Netherlands
Find Reply
06-14-2019, 06:49 PM
#5
RE: How-To Guide - Upgrading the Indy PROM
(06-14-2019, 06:49 PM)dexter1 Wrote:  Two more for Ryan's ROM archive! Only six to go Smile

Where can I find that? Doesn't seem to be on on ftp.irix.cc.

NB: I think I have the exact same EPROM eraser and programmer. Chinese junk, but good enough if all you care for is a single chip every once in a while.
jan-jaap
SGI Collector

Trade Count: (0)
Posts: 1,048
Threads: 37
Joined: Jun 2018
Location: Netherlands
Website Find Reply
06-15-2019, 09:07 AM
#6
RE: How-To Guide - Upgrading the Indy PROM
(06-15-2019, 09:07 AM)jan-jaap Wrote:  NB: I think I have the exact same EPROM eraser and programmer. Chinese junk, but good enough if all you care for is a single chip every once in a while.

The key there is that it's cheap Chinese junk. A lot of the "good" EPROM programmers and erasers are considerably more expensive. This is one that pretty much anyone can get their hands on and it hasn't failed me yet.

Personaliris Indigo Indigo2 Indy Onyx2 Origin 200 Origin Vault O2 Octane2 (VW 320) (VW 540) (VW 550) Fuel Tezro Tezro Rack Origin 350 Onyx4 Altix 350 (Prism Rackmount)
kaigan
Site Admin and SGI Tinkerer

Trade Count: (2)
Posts: 262
Threads: 31
Joined: May 2019
Location: Omaha, NE
Find Reply
06-15-2019, 12:42 PM
#7
RE: How-To Guide - Upgrading the Indy PROM
(06-15-2019, 09:07 AM)jan-jaap Wrote:  
(06-14-2019, 06:49 PM)dexter1 Wrote:  Two more for Ryan's ROM archive! Only six to go Smile

Where can I find that? Doesn't seem to be on on ftp.irix.cc.

Ah yes, they will be included in the next MAME rom release, but for now you can get them at tudl1910.home.xs4all.nl/Indy_emulation

they are named ip24prom.070-9101-003.bin and -008.bin
dexter1
Administrator

Trade Count: (1)
Posts: 297
Threads: 17
Joined: May 2018
Location: The Netherlands
Find Reply
06-15-2019, 04:16 PM
#8
RE: How-To Guide - Upgrading the Indy PROM
Yeah I am not hosting ROM images because I do not allow ZIP files and as I've been told the ROMs have to be in ZIP to work correctly in MAME.

This isn't a negotiable thing because ZIP files aren't openable on IRIX without external programs and everything on the ftp/rsync is designed exclusively to be openable on IRIX without any additional software. I know this upsets some people, but I am not taking liability risks or opening public uploads again because of how people behaved like animals last time.

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,239
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
06-15-2019, 05:24 PM
#9
RE: How-To Guide - Upgrading the Indy PROM
(06-15-2019, 06:11 PM)Krokodil Wrote:  Was that related to the FTP getting hacked? Damn bastards uploading viruses constantly. Photo.scr lol.

no, people getting upset with me over the file requirements, screening processes. And people breaking the rules by masking files with the wrong extensions and stuff.

The hacking by a certain bastard was the final straw for me to wash my hands of it.

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.
(This post was last modified: 06-15-2019, 06:28 PM by Raion.)
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,239
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
06-15-2019, 06:28 PM
#10
RE: How-To Guide - Upgrading the Indy PROM
(06-15-2019, 05:24 PM)Raion Wrote:  Yeah I am not hosting ROM images because I do not allow ZIP files ...

You can host Intel HEX files for people who want to flash their chips. There are easy ways to convert BIN<->HEX and HEX files are "safe". Anyone can zip files himself.

Onyx
(This post was last modified: 06-15-2019, 07:13 PM by mosiniak.)
mosiniak
Onyx

Trade Count: (0)
Posts: 76
Threads: 16
Joined: Aug 2018
Location: Poland
Find Reply
06-15-2019, 07:12 PM


Forum Jump:


Users browsing this thread: 1 Guest(s)