Skip to main content

Hello all! My brother and I wish to extract raw sound data from the MTH Proto-Sound 1 boards. In order to do that, we need to identify what chips are on the board and what purpose they serve. We recently came across a thread that partially answers our questions https://ogrforum.com/...-ps1-soundboard-work, although the actual type of chip the PROM is was never identified, which is what we're most interested in finding out. If anyone has some insight or can send photos, please share! We are also looking to buy a Proto-Sound 1 board, whether it functions or not. If you're willing to send us one, again, please let us know!

We thank you all for taking to time to read this and considering to contribute to this project!

Yours,

GameBreaker64

Original Post

Replies sorted oldest to newest

We’re actually switching plans now with that in mind. We will now attempt to make an analog recording of the sounds by figuring out which pins are for transformer input and speaker output, then hooking the speaker output to a computer and the input to a transformer. Because of this plan change, we request only WORKING boards. We will also attempt to e-mail QSI and see if they still have the sounds.

We’re actually switching plans now with that in mind. We will now attempt to make an analog recording of the sounds by figuring out which pins are for transformer input and speaker output, then hooking the speaker output to a computer and the input to a transformer. Because of this plan change, we request only WORKING boards. We will also attempt to e-mail QSI and see if they still have the sounds.

Do you have an email to respond to?

I've debated posting a reply because lack of time and I'm not sure I want to reveal all of my secrets. My knowledge comes partially from the MTH ASC class but mostly from personal research and effort. I'll try to post more information over the coming weeks and months as time permits.  The below answers some questions in this and the linked PS1 thread.

My ultimate goal is to build a collection of all PS1 ROMs which is almost identical to GameBreaker64’s wish.  As I collect engines and I perform repairs, I copy the PS1 ROM and add it to my ROM folder.  The ROMs are for my personal use only and are considered as a backup to the original.  I’m also concerned MTH may one day lose the ability to create new ROMs.  A ROM is just a computer file and if not properly backed-up in multiple locations on different types of media, could disappear forever.  There is also the concern current custodians of the PS1 ROMs will simply stop selling them; which could be a business discussion or the business doesn’t exist anymore.  This will leave the community with no way to repair a bad sound chip.

I currently have about 10 good chip ROMs with a few more “DESELECTED” and corrupted ROMs.  I also have the special Make, Fix 1011, Force 10, and Force 11 chips.

Request 1:  I would like to get an estimate from the community as to how many PS1 ROM variants exist.  My guess is between 100 and 500.  There are standard sound file libraries that are reused within a class of engine (diesel/SD-40 for example).  For an individual engine, engine specific processor code is applied to control the functions implemented (diesel and steam have different lighting characteristics even though they use the same PS1 light plug).  I assume there is also a standard library of processor code.  The number of combinations between the two sets can quickly become a big deal (any equation with n factorial, n!, can get out of hand quickly), but many combinations are invalid.  I make another assumption that several engines reuse identical ROMs but slap a different label on them.  There are likely multiple revisions or variants for some models.  This could be due to bug fixes, feature tweaks, early verses late production runs, or post-production changes.

I’ve never seen one but is there a generic PS1 steam or Diesel chip?  Lionel has generic Railsounds steam and diesel which can be very useful during a repair.  If there were a generic PS1 steam ROM then many repair problems would disappear.

Request 2:  Now this is a pie in the sky idea that has little chance of succeeding but I have to throw it out there anyway.  Maybe we can come up with a way of exchanging chips?  Don’t know how it would work but I would love to be contacted by a collector that has a bunch of PS1 engines willing to let me “examine” his or her collection.  Maybe I can swap out the battery for each engine in exchange.  I don’t drink beer but I’ll but you a cold one for each engine.

Observation 1:  Recording analog audio from a PS1 card might be the easiest but also the lowest quality option.  In order of difficulty and sound quality:

1)  Use a stand-alone tape recorder (do they even make those anymore) or equivalent.

2)  Put your computer microphone next to the speaker and hit the record button.

3)  Attach a professional mic to your computer and build a makeshift anechoic chamber out of a cardboard box and antistatic foam.

4)  Unsolder the PS1 speaker wire and record the audio directly from the analog to digital (A2D) converter via the LM386-1 audio amplifier IC.  Don’t go and solder a 3.5mm plug onto the speaker wires and plug it into your computer’s line in or mic port!  That will end badly with magic smoke filling the air and all sorts of other nasty side effects.  A computer’s sound card line in is typically rated at 1 volt root mean square (VRMS) with an impedance of around 10k ohms.  The microphone input handles even smaller voltages of .01 VRMS[i] [ii].

The PS1 speaker is 8 ohms.  The LM386-1 audio amp output voltage is one-half the supply voltage[iii] which I believe is 5 volts (will edit later if I hook-up my scope to find out).  Input and output impedances are designed to be different but the input is usually 100 to 600 ohms.

I just killed about two hours trying to find a way to convert the PS1 speaker signal to something a computer or other recorder could handle.  The best I could find is something called a “line level converter” which is used in car stereo systems to add a speaker to RCA pre-amp input.  This is getting well outside of my knowledge base but the take-away is, don’t do this unless you are really sure what you are doing.

5)  Convert original digital audio into modern audio format such as MP3 or flac.  This is the path I would take if presented with the challenge.  It is also beyond my current capabilities and knowledge.  I will get into the details in a later post but here are the highlights.  The microprocessor is an 8-bit NEC µPD78233[iv] from the 1990’s.  Audio formats used by microprocessors of that era were usually vendor specific and obscure even for the time.  The “file” (more specifically the ROM memory address block) also had to be insanely small.

Even if you have the raw sound file, decoding it may be easy or next to impossible.  A developer will likely need a 78K[v] compiler and development suite (I don’t have), add-on audio CODEC (don’t have or know if needed), in-circuit emulator (don’t have), lots of 78233 documentation (don’t have and Google hasn’t been very useful) and an assembly language reverse engineering tool (don’t have but currently but working on it).

 

This is all I have in me for the moment.  Next up I will start into the detailed description of chips on the PS1 top processor board.  Depending on response I will continue in this thread or start a new one.  I don’t have any completely dead PS1 boards to give away at the moment.  I can usually repair them 95% of the time.

 

[i] Line level - https://en.wikipedia.org/wiki/Line_level

[ii] Mic Level and Line Level -- What do they mean?, https://service.shure.com/s/ar...-mean?language=en_US

[iii] LM386 Low Voltage Audio Power Amplifier, https://www.ti.com/lit/ds/syml...ll-sf-df-ds-null-wwe

[iv] NEC Data Sheet MOS Integrated Circuit µPD78233, 78234, 78237, 78238, http://www1.futureelectronics....C/UPD78237GC-3B9.pdf

[v] 78K, https://en.wikipedia.org/wiki/78K

Thank you so much for the information @tansqrx! The thing I'd probably want to do as well is extract the raw digital audio data from the locomotives. Unfortunately, the PROM chip that contains the sounds is programmed. If we read from the chip, the audio data would be in a proprietary format which would be very difficult to convert to MP3. You'd end up having to find pointers to the sound data in a hex editor and go from there.

You could buy system and data from MTH.  Pretty sure it was almost offered to me once.  I think all the PS-1 parts were up for sale or being considered for sale.  Here is your problem.  The chip that is used is obsolete.  So even if you had the program and data what do you put the new data on?  Same reason PS-2 5V and later 3V became obsolete.  The old service manager was doing last buys of the chip.  So what MTH has in stock is all there is.

So have you actually wrote to a chip one of your stored ROMs and produced your own new chip for use?  Are you going to invest in some sort of adapter board to make some new type of memory work with 1980s tech?

I still do PS-1 repairs, but each year less.  But still plenty of upgrades especially Premier Steam.  While I am sure there are unique sounds like Gas Turbine and some other passenger effects.  The diesel stuff was pretty generic and the freight even more so.  There are tons of this stuff out there still.  QSI was for sale too. 

Lastly, I think I can count on one hand the times I had to replace a chip.  And I have done hundreds of PS-1 repairs.  Physically breaking the chip or a leg, and the extremely rare chip failure.  All most all repairs are board or software related.  And those tech chips from MTH don't resolve all those issue.  My secrets from doing this.   G

1)  Yes, I can both read and write to the EPROM chips.  I’ve only been in the hobby and performing repairs for a few years so I don’t know what the supply chain looked like years ago.  As of this moment chips are available by the 1000’s on Digikey and Mouser.  The downside is they are ridiculously expensive for 512k (4Mbit) of memory; about $5.00 each.

On Digikey go to Product Index > Integrated Circuits (ICs) > Memory.  Search for In Stock=yes, Technology=”EPROM - OTP”, Memory Interface=”Parallel”, Memory Size=”4Mb (512Kx8)” Supplier Device Package=”32-PLCC (11.43x13.97), 32-PLCC (13.97x11.43)”.  I don’t think Access Time matters but I erred on the safe side and went with 70ns.

My last order was:

AT27C040-70JU,

Digi-Key Part Number AT27C040-70JU-ND

EPROM - OTP Memory IC 4Mb (512K x 8) Parallel 70ns 32-PLCC (13.97x11.43)

https://www.digikey.com/short/z98w38

2)  I haven’t created my own ROM code, yet.  My starting point will be a comparison between an L&N F-3 ROM on the deselect list verses the fixed version.  Attached is the first part of said ROM.

3)  I’m very interested taking over some or all of the chip data from MTH if the price is right.

4)  I’ve had to replace a few chips so far.  I think the best use case is to use the backups as a diagnostic tool.  If a PS1 engine comes in with sound issues, burn a new chip from a known good backup, install, and rule out or confirm a chip issue.  I have seen two or three boards with corrupted EPROM chips and also a couple on the DESELECT list.

5)  Sorry for hijacking the thread.  I understand the intent is to get the sounds.  I think the only way to truly do that is to reverse engineer the system.  The PS1 system has the ability to mix two sounds together.  This means engine sounds AND the horn/whistle will play at the same time.  It will be hard to isolate each sound without the original code.

My continuation of this series will be posted in its own thread.

I had some time this weekend so I did more research on µPD78233 programming.  Resources and documentation are almost non-existent.  The most critical piece is the assembler program (MS-DOS based).  I can usually find anything on the Internet but this thing can’t be found.  If anyone did embedded programming during the 1990’s maybe you could check your old floppies and see what you can dig-up?  The assembler package is called “RA78K”.  I found the opcode listing but manually converting from binary to assembly would be like digging the Panama Canal with a spoon.

Attachments

Images (1)
  • MTH(LN) F-3 wPFA - DESELECT Fixed Screen Shoot

I'm interested in getting the sounds (As MP3's.) off of the PS-1 chips so that I can use them to add sounds and command to my old PS-1 locomotives via DCC.  ESU LokSound decoders allow for using your own sounds.  And the nice thing is the L and XL decoders allow for AC conventional running, so I won't lose any functionality, but will gain command (I run 3R DCC at home, switchable between it and TMCC/Legacy.).  So if there is a way found to get the sounds off of the chips and into MP3's, I'd gladly pull and send all my chips to the guy that can do it.

Last edited by sinclair

Update: I have just purchased a Proto-Sound 1 board from a Rail King Allegheny. After some discussion with my brother, we are pretty sure that reading from the PROM chip will be the best way to start with extracting the sound data. If anyone has any more information that you believe may be helpful to our cause, please reply to this post. @tansqrx, if you have more research that you would like to share with me, but would prefer not to post publicly, feel free to contact me using the email in my profile.  We greatly thank all who have replied and contributed to the discussion for your help, and we hope to get to the bottom of this eventually.  

Cheers!

Last edited by GameBreaker64

I am no expert on the design specs and such of components, but your saying these chips are the same functionally as the ones in the PS-1?  Same pinout, operating voltages, etc....?  Wondering what they are being used for today. I take MTH word for it that the chip was obsolete.  I thought it was a PROM.  Frankly if you can get the memory chip and processor for the PS-2 3V boards that would be a better endeavor.  We could get a few thousand of those boards refurbished. Of course we would be in the same predicament of needing the flash code.

If you interested in the repair, you have a Testall chip in the package MTH gave you.  The generic F-3 chip.  So you do not need to have a duplicate to test the top board.  You have one in your kit.

So you have not actually copied an existing PS-1 chip onto one of your purchased chips and put it into a board to test?  What prevents that?  

How do you know the PS-1 chip was scrambled?  It is not the PS-1 chip that retains memory is it?  Rather the processor on the top board.  There are 2 different processors that were used, and several different processor software until things settled out around late 1996.  Sound chips came in 2 packages, 2meg and 4meg.  A jumper need to be swapped to handle memory size.  Early boards did not have the jumper.  QSI while the same package type had different software too.

Getting a deselected engine to run again, requires going into the processor on the top board and resetting it's programmable memory (secret squirrel tip).  The new MTH chip has a command to skip looking for that memory location so the engine never acknowledges a deselect.  When I repair I go back in and change the memory setting.  This had to do with QSI actually having an ID capability on their system.  The conventional engine was looking to be told to turn on based on a series of signals from the whistle bell button.  MTH did not want that, but the software got into some of the early chips, but without the software commands allowing the operator to reset the memory.

Your F-3 LN chip is a very early engine, look at that top board and it is much different then a 1997 top board as far as processor, some components and specifically software.  The compatibility of the processor and it's software, and the memory chip and it data are key to fixing engines.

If the top board goes bad on an early engine, you need that top board type to work with the existing chip, or you would need to go to a different PS-1 chip with a newer top boards.   So sure, that would be when it would be nice to know the software data and such that makes it work right.

The man who had the QSI franchise when this was all in play died.  The folks at MTH that knew some of the details at the time are long gone from MTH, and corp memory was short  (moved on to PS-2 and 3).  QSI wrote the software for MTH and had ownership.  Was told the programmer at QSI was quirkly and did not document.  So it was a sort of mess to figure out especially some 30 years later.

95-97% of PS-1 damage is the bottom board and software conflict all repairable typically.  Failed top board is usually not repairable other than audio amp ( I assume bad processor).  I track my parts orders and have only ordered 4 chips.  Last in 2014, unless it was because some one wanted a different sound file for an engine. My box of bad top boards is the size of a upgrade box.  Too many techs really do not understand ps-1 with all the rumors of bad batteries destroying boards.  All misinformation.  Just scrambled memory on the processor that has to be reset to default.

I find it amusing how some of this vintage stuff has gained a second life.  I did boards repairs and reverse engineering as a hobby to occupy time, and if that is what your doing that is great.  If you think you need to do this as a business model, I think your on the wrong path because it will not be time and cost effective.

I rarely use my tech chips to repair PS-1 engines.  The Make PS chip yes, but the other nope.  I have one chip I found that is a hybrid MTH/QSI chip and through deduction of QSI and MTH information figured out how to restore processor memory.   Same goes with known voltage point measurements on bottom board, PS-2 boards.  Looking forward to seeing where all this goes.  G

George, they are PROMs, they're really EPROMS without a window, and you could also get them with the window to make them rewritable.  I'd have to find my UV chip eraser if I started tinkering with those old chips, I used to use tons of EPROMs, they were the Cat's Meow back in the 70's and 80's.  When FLASH came along and the higher capacity chips that could be programmed in the device were available, EPROMs died out pretty quickly.  A little known fact with those PROMS, you could actually erase them with heat, but it was a bit hit or miss.  However, PROMs were cheaper than EPROMs as the ceramic package was the most expensive piece of an EPROM, the plastic package OTOH, was dirt cheap.

I thought they were prom write once.  Even MTH did not rewrite to them.  I understand UV and such, but these chips did not have a rewriteable section as far as I know.  They have the data and commands that the processor uses to execute routines.  The processor top board had the storeable data from the shutdown.  There is another memory chip through hole on the board (going from deep memory here). For example, if you had an engine with an ID problem (deselect), and pulled the chip and put it into a new top board the engine would work.  And if you put another new chip, that had not been deselected but the same version chip into your deselect engine top board, it would not work.  The top board is what had the deselect.  Not the PROM chip.  G

Correct George, they are OTP parts.  I was just pointing out that the chip inside was actually an EPROM, but they put them in the cheap plastic body.  It was very common back in the days that EPROM memory was common, you'd develop with the EPROM so you could reuse them, and then do production with the OTP PROM from the same family of parts.

I know the PROM chip didn't have any transient data as they were not programmable in the product, only in the stand-alone programmer.  The chip you refer to is the Atmel 24C02N, it's an 8-pin SOIC part, it's a 2K bit serial I2C EEPROM.  Doubtless, that's where any transient data was stored.  Serial EEPROM was very common for parameter storage in the timeframe these boards were developed.

There are three chips involved.  First is the µPD78233 processor, It has NO permanent memory or code in it.  Just volatile (lost during power-off) RAM.  The processor is designed to fetch its first instruction from memory location 00000H or similar.

The second is the PLCC-32 EPROM chip (removable one) that holds processor instructions and sounds.  This is a write once chip that can’t be modified after the initial program.  The board is wired so that memory address 00000H is located on the EPROM.  When the processor comes out of reset (cold start or RESET instruction), the processor fetches the value from EPROM memory address 00000H and executes it.

The third and most critical IC part to this discussion is a 2k 24C02C EEPROM chip soldered next to the PLCC-32 socket.  There is an extra “E” in this chip which means it is electrically rewritable.  This is where long term variables are stored.  From the ROM files some of the variables are “Temporary ID”, “Road ID”, “Engine ID”, “System Type”, “Demo Mode”, “Transformer Type”, “Overhead Light Setting”, etc.  After the initial boot loader code is fetched from the EPROM, the processor looks at the EEPROM and changes the execution path based on the variables located there.

After power is lost, the processor waits a few seconds (to avoid a shutdown due to bad track voltage) and then starts its shutdown procedure.  One of the steps in this process is to write variables back to the 2k 24C02C EEPROM chip so the values can be used for the next session.  The processor is operating exclusively on 9V battery power at this point.  It appears the shutdown procedure takes several seconds on top of the power lost wait time for a total of around 8-15 seconds.  If the processor loses power during the write function, bad things can happen…

What I have pieced together so far.  Lots of guessing and conjecture below…

DESELECT.  QSI had a full featured existing solution which MTH used for their engines.  MTH didn’t want or need all of the extras (to keep costs down?) so they requested a cut-down version.  One of these features was a command to deselect the engine address so it just sits on the track with its lights on but will not move.  During the reprogram, QSI accidentally left the DESELECT SET code in the EPROM.  Either by issuing the DESELECT command with the bell and whistle or a bad shutdown write, the DESELECT=TRUE variable was written to the 2k EEPROM.  At the next startup, the processor executed the DESELECT variable from the 2k EEPROM, entered the DESELECT state and was essentially dead.  Since the code to get out of DESELECT was removed by QSI at the request of MTH, there is no way to fix the error without replacing the EPROM.  This only effects the very first production runs from MTH.  Once the bug was realized, later production runs had the DESELECT SET function removed.  A set of DESELECTED ROMs were created to correct existing dead engines.  My guess is one of the first instructions on the fixed ROMs is to clear the DESELECT or multiple variables and then execute as normal.  The new fixed ROMs would also have the DESELECT SET function removed.  You have to replace the ROM or you will end up with a DESELECTED engine again.

3 Clanks of Death.  This is due to a bad shutdown write.  The processor loses power during the 2k EEPROM write due to a weak 9v battery.  This should only occur with a battery that can last long enough to get past the power lost wait time and get partially through the write function.  I don’t think it will happen with a missing battery or a completely dead battery because the processor will quit immediately after loss of track power.  I don’t know why or what variables will cause a 3 Clanks of Death.  Perhaps a bit is set at the beginning of the write and cleared at the end of write (Semaphore) and the processor chokes on the next startup if that bit isn’t cleared?  Maybe it was bad programming where the wrong order of variables were written?  In this case a MAKE PS EPROM chip is installed and run through a power cycle.  All this chip does is correctly clear or set the 2k EEPROM variables back to a usable state and provide sound cues the process has completed.  When the factory EPROM is reinstalled and powered up, everything works as expected because the 2k EEPROM variables are back to normal as if they successfully completed a shutdown write.  Of course if you don’t replace the 9v battery, history will repeat itself.  3 Clanks appear to be somewhat random so even if you don’t replace the battery, it might be several shutdowns before it bites you again.

So what should we talk about next?

If you think you need to do this as a business model, I think your on the wrong path because it will not be time and cost effective.

Very true words.  I guess figuring out how things work and “hacking” are part of my DNA.  As an end goal, I would love to produce a PS1 and PS2 clone to help all of the end users out there who have no options.  This of course is many years down the road.  As a side note, I do have a certificate hanging in my office titled “Certified Ethical Hacker”.

This is actually a side, side business for me.  I’m 42 years old and already have a full-time, 40 hour a week, engineering job working for the Army.  I’m also married and have three boys aged 6, 7, and 11.  Needless to say, I have a busy life.  My engineering job deals with software but is quality related and is far removed from anything I’ve learned while repairing trains.

This started about 4 years ago when my father-in-law brought me a Lionel basic E-Unit to fix.  I eventually fixed that one and three more showed up.  Then another five.  He, Wes Leonard, and his father, Sherman Leonard, have run a successful train repair business from the Nashville, Tennessee area since the 1970’s.  Sherman has since retired and Wes now runs the business, Parts with Character, from Northern Alabama (where I also live).  I joined the business about a year after that initial fix.  He does the majority of the repairs, mainly Lionel prewar, postwar and into the MPC era.  Anything with a circuit board that he can’t fix comes to me.  Since then I have also completed the MTH ASC training.  I intentionally don’t have a high volume of repairs due to all of the other areas of my life.

One of my short term goals is to find a second source or create my own PS1 and PS2 tender harnesses.  I have all of the knowledge except for the covering over the plug.  My guess is they are overmolded with custom made molds.  Another possibility is an OEM or aftermarket cover kit that is no longer available.  Any suggestions or information is welcome.

"At the next startup, the processor executed the DESELECT variable from the 2k EEPROM, entered the DESELECT state and was essentially dead.  Since the code to get out of DESELECT was removed by QSI at the request of MTH, there is no way to fix the error without replacing the EPROM.  "

Yes there is.  With a chip that allows you to reset the ID in the EPROM.  That is how I clear the boards.

You have far more electronic technical training and education than me, but most of what you said (less the detailed electronic parts) you may have found in some of my former posting on this, and possibly some data from the old QSI website that is no longer available.

Your still missing the most important part which is software versions and subtle hardware changes on top boards.  Some ROM chips only work on certain top boards and vice versa.  Software was different and there are compatibility issues.  Now I don't know where the difference is, but the 3 clanks also shows up when a non compatible chip is used on a top board.  It means a software conflict.  There are boards that will execute the correct start up sequence and sounds, followed by 3 clanks and no operation.  Versus an engine that starts up with 3 clanks.  Read my post above a little more closely.  C3, C4, C5 top boards.  There was a secret squirrel process for changing the software that involved a reset and chip swap while powering down that was never really disclosed by QSI and now that Art Boynton passed probably never to be known.  So you can buy a new upgraded version of a chip and find it does not work with your top board.  Or you have a bad engine and replace the top board to find it still does not work so you assume the chip is bad.  It is not.  Need the correct top board.

I am more of a practical engineer.  I reversed engineered the repairs to the PS-2 3V board.  Tracing all components without the technical education you have.  Just treat chips as on and off switches and check valve.  Observation of cause and effect.  Even removed a few good chips to see what they did.  Got to the point I knew more that MTH did on component level repairs.  The tech document has a lot of errors and they really only taught audio and speed control.  Not lights, battery, DCS signal, Bell/Whistle, Power supply etc...

Interesting diversion, but I imagine folks are more worried about support for DCS engines with PS-2 and 3 then PS-1.  There are enough parts out there to fix all the remaining PS-1 engine twice over from all the upgrades.  I have about 75 sets worth.  Like I said originally it is rare to have to actually replace a board or chip.  Mostly bottom board component repair.  G

Add Reply

Post
This forum is sponsored by MTH Electric Trains
×
×
×
×
Link copied to your clipboard.
×
×