Hello all! I am looking to learn more about the technical side of how PS1 works. A common thing I've heard is that engines can "deselect" themselves. What does this mean and how does it happen?
Replies sorted oldest to newest
Top suspect is usually a bad battery, that's the kiss of death for older PS/1 boards with the earlier software versions. The funny thing is, the whole "engine selection" feature is an artifact left over from QSI, MTH never used it and it's supposed to be "deactivated". However, part of the logic remained in the software, so if memory got corrupted, it could accidentally deselect the engine and render it inert. The memory gets written back after power down, and a weak or dead battery can interrupt that writing process and scramble the memory.
ASC's have a list of item numbers that are affected by this early software. If the item is listed below and still has the original item number on the chip, it is suspectible to this error. If the chip is handwritten with the item number, it has the updated software. Keeping a charged battery or using a BCR correctly (letting it charge up before changing direction) will eliminate most of these problems. One clink on startup requires a new chip. Three clinks on startup requires the MAKEPS chip.
Attachments
Deep search will find one of my old post with more in depth detail about this and how it works. G
Just read your post, G. Some good information! Do engine ID functions actually exist in the PS-1 software? If so, how do you access the feature?
My understanding is only the actual selection code remains, but the interface to actually do the selection was removed. That has the unfortunate effect of locking in any memory corruption that deselects the locomotive with no way to reverse it in the user interface.
@Jon G posted:ASC's have a list of item numbers that are affected by this early software. If the item is listed below and still has the original item number on the chip, it is suspectible to this error. If the chip is handwritten with the item number, it has the updated software. Keeping a charged battery or using a BCR correctly (letting it charge up before changing direction) will eliminate most of these problems. One clink on startup requires a new chip. Three clinks on startup requires the MAKEPS chip.
Jon, I took your file and played with the contrast curves and it is a bit easier to read now. j
Attachments
The deselect was a feature QSI had that allowed you to park an engine and allow it to idle in neutral, so it would be immune any commands to make it switch to forward and reverse. There were a lot of commands available with the QSI system that MTH did not elect to use and they were removed from the processor memory. However, the early MTH PS1 chips were programmed with the deselect feature, but the board didn't have the software to support it and it could be inadvertently locked in the deselect mode. Trying to do a reset 18 (or any other reset) resulted in only getting one "clink" and the loco would be stuck in neutral. Not really sure what triggered the deselect mode in the PS1 locos, but a dead/low battery with operators pressing multiple buttons and working the throttle didn't help. The replacement chips have the deselect feature removed from the code and chips are still available from MTH.
It is not that the new chips have deselect removed, but rather the software no longer looks at the deselect memory location. G
That's not a very efficient way of avoiding such a thing programming wise.
This is a most interesting thread, considering the length that the previous thread ran to without reaching any real conclusion.
I suggested that there was a functional problem in the MTH installation, which could result in the engine becoming “locked out” and not recoverable, under certain circumstances. This appears to be what happened to my Premier K4s. Various responders insisted that this was not so, but it would appear from the above that this is exactly the case - that there WAS a function, a legacy of a previous version of the hardware and software, which did behave in that fashion.
I’ve seen this “engine in neutral” function before, on QSI equipped HO or On30 locos built to operate on 12v DC or DCC, selecting automatically when operated (it is irrelevant in DCC, of course). My BIL C-16 2-8-0 has it. The various functions are selected by various low voltages, or interruptions to the DC supply. The fail-safe on THAT loco, of course, is simply to apply a higher DC current, which over-rides it.
I took the decision to have the whole system replaced, which was carried out by Chuck at Only3Rail. The loco as returned works quite predictably. It doesn’t have the “idle” function, which I expected from the description, but there are various ways of approaching that issue. I’m certain now, that ditching PS1 was the correct decision.
@GameBreaker64 posted:That's not a very efficient way of avoiding such a thing programming wise.
The fix? Sure it was. Very efficient, probably one line in code deleted. Don't look at that memory spot.
This was 90 tech when Lionel was using mechanical E-units still, or a basic reverse unit. Could you imagine having 10 engines on a layout and applying power and having all of them stay quiet until you entered a whistle bell sequence at which point only one or maybe several (that you chose) started up all while the others remain inactive. Analog Command and control. It was ingenious for it's time. But so easy to criticizes in 2020. When MTH was integrating this into their Premier engines I imagine they already had started DCS design. So they limited features. I also imagine because they were already getting a premium in price for the highly detailed and new releases of locos they did not want cost to go too high. Owner could add it if desired via QSI. Then bang 96 TMCC, 2000 DCS. PS-1 is done. So while PS-1 is being produced and refined, design already working on Digital Command control. For lionel that had to be in the early 90s, and I assume MTH was about 95. MTH had more ambitious architecture that took longer to develop. What were you using in 1994 with a 286 processor and 4 meg of memory? Plus with the right chip and the process, I have never not been able to restore a deselect board with a simple combination of reset codes.
Weak batteries, and two quick on the direction change with BCRs is what causes issues with memory getting corrupted. Always has been. G
The PS-1 processor looks at battery state when power is shut off. If battery is dead, it will not try to write to memory at shutdown. No issue. If battery is good it will write to memory at shutdown. The problem is the Transistional state. Battery voltage or BCR voltage high enough to satisfy processor that writing to memory is ok, but weak enough that the voltage collapses after a second or two. So the processor is writing to memory and battery power is insufficient to write properly.
So a BCR that is charging up but does not obtain full charge can act just like a weak battery. Hit the direction button too soon or turn off track power; and there is insufficient voltage to keep the processor running, and it trys to shutdown and write to memory but the bcr fails to provide the necessary voltage and the processor can have the memory get corrupted, or set the wrong value in the deselect slot. G
@GeoPeg posted:@GGG, old topic here, but still quite relevant, as PS-1 electronics still abound. In fact, I'm playing with some older boards and chips at this time. Could you please explain how too quick of a direction change when using a BCR can cause a memory corruption? Thanks!
George
@GGG is correct.
Patience. Wait for the BCR to fully charge, i.e. give it a couple minutes before doing a direction change, whether via throttle off-and-on or by hitting the direction button, especially if you haven't powered it up in months or years.
Mike
Looking now at a situation where the PS1 is working normally with an SD-60 chip plugged in - as far as I can see, everything is working normally. Now I remove the SD-60 sound chip, plug in a PE450-2 chip (or a PE473-2, or a 50-480-2, etc.) and I get the three clanks followed by two dings, but with good background sound. Each time I attempt to change direction, or enter into programming mode, I'm again greeted with 3clanks, 2 dings and a background sound (in a pear tree? ) When I change back to the original SD-60 chip, all is normal and functional once again.
My interpretation of that is that the processor looks for certain parameters from the chip at startup, based on what it last had stored in its own memory and detects a conflict of some sort, and issues the three clanks. If that is the case, is there a procedure or process one is to follow when changing sound chips to a new type of engine?
George
@Mellow Hudson Mike posted:@GGG is correct.
Patience. Wait for the BCR to fully charge, i.e. give it a couple minutes before doing a direction change, whether via throttle off-and-on or by hitting the direction button, especially if you haven't powered it up in months or years.
Mike
Mike - I guess my question was misleading - I do not own a BCR, I am using a fresh 9v alkaline battery temporarily. I was just wanting to learn more since I may get a BCR in the future.
But to your point, I do carefully raise the throttle to about 9vac and then wait as much as 30sec after the engine sounds have settled. Thanks.
George
@GeoPeg posted:Looking now at a situation where the PS1 is working normally with an SD-60 chip plugged in - as far as I can see, everything is working normally. Now I remove the SD-60 sound chip, plug in a PE450-2 chip (or a PE473-2, or a 50-480-2, etc.) and I get the three clanks followed by two dings, but with good background sound. Each time I attempt to change direction, or enter into programming mode, I'm again greeted with 3clanks, 2 dings and a background sound (in a pear tree? ) When I change back to the original SD-60 chip, all is normal and functional once again.
My interpretation of that is that the processor looks for certain parameters from the chip at startup, based on what it last had stored in its own memory and detects a conflict of some sort, and issues the three clanks. If that is the case, is there a procedure or process one is to follow when changing sound chips to a new type of engine?
George
My impression, and I absolutely could be proven wrong, this is the purpose of booting up using the "Make PS" chip included in the 50-1023 kit. https://mthtrains.com/sites/de...ction/50as18155i.pdf The idea being the function of the code on that chip was to prepare or "reset" a board to be ready for PS1. In other words, it's building the baseline dataset in the EEPROM that a regular PS1 sound chip is expecting on boot. Obviously we've identified things it won't fix like deselect. That implies that it only affects a specific memory address or range, populates that location with a set of data from the Make PS chip, and then for some problems related to the 3 clanks that gets you off and running again.
So, I don't think it's a catch all, it won't fix all problems, but my understanding of the purpose of that chip on name alone kind of implies what it does.
Sorry, I also feel like that last question and answer took this topic on a tangent.
The topic was and is about deselect. A very specific condition that has been explained.
Changing random PS1 sound chips into an existing used PS1 top board is subject to compatibility and other issues. I cannot even begin to pretend I know all the details, but I know enough to know that really should be a completely different topic just due to the complexity.
Geo, some of those chips are not MTH chips. They are QSI chips and there are firmware, software issues. They are not going to work. So they try to start up, but your hearing the 3 clanks software compatibility issue. You can try a Make PS but chance are it still does not work. Most people do not know it, but there also is a Make QSI chip for restoring QSI processor. There are MTH chips that will not work with all versions of boards either. Memory size and firmware differences. This was not well documented by MTH, and QSI is defunct, and the person that was the QSI expert on the whole software issue died.
As an MTH tech we have 5 chips. One a generic testall chip that should work with any board, and 4 for repairing software. The MTH tech book is very conflated and does not make sense. Too much was ancient history when I went to training as PS-2 3V was the main board. I have rarely use those 4 chips to restore features.
I also have a magic chip (my name) it can restore most issue and gives me access to deselect memory location.
You have to take a logical approach to PS-1. Bottom board issues, top board issues, chip issue (rare), software compatibility and just plain software scrambling that can be repaired. G
Thanks G., as usual you seemed to hit the focus of where my questions were - appreciate it.
George
...and this kind of stuff is why I still run analog...🤨 😁
Mark in Oregon
@Strummer posted:...and this kind of stuff is why I still run analog...🤨 😁
Mark in Oregon
PS1 is conventional- aka analog.
If you mean no sound, no electronics- why are you here commenting on a technical discussion about MTH control systems?
@Strummer posted:...and this kind of stuff is why I still run analog...🤨 😁
Mark in Oregon
I take it you're not by nature a tinkerer? Or maybe you're more comfortable tinkering with only mechanical stuff?
Nothing wrong with that at all. However to pass judgement on those who are electronics tinkerers, and the quirky products they enjoy working on, by expressing your personal aversion to the electronics they love, can come back to haunt you.
Why? There are, of course, many, many people out in the world who pass judgement on all of us model railroaders in general, regardless what kind of tinkerers we turn out to be. We're thought of as nerds and oddballs with pocket protectors.
I guess that a little more grief from folks who are themselves model railroaders comes with the territory when you're part of an odd subset of the hobby.
Mike
Holy cow...we are sensitive, aren't we?
All I meant was I don't do "chip corruption" and "software" issues as part of MY approach. Did not question anyone else's... did I?
EDIT: Truth be told, I only looked at this thread because I was not familiar with the term "Deselect".
I'm not going to apologize for commenting; we'll let the moderators decided if I need to be punished...