BayLUG logo

Zonker's Clues for the RELM MS-200 scanners

http://BayLUG.org/zonker/railfan/ms-200.html

As a newer railfan, I've been listening to many of the railrod folks refering to the AAR Channel Numbers (see the frequencies link on the Rail Radio Online site, home of the TrainTenna). I carry a channel-to-frequency list on my Palm, but I found it was easier to keep a paper list handy. Once I knew the frequency, I still had to figure out what chanel in the scanner had that frequency. That's why I finally bought a used MS-200 scanner, so I could put the channels in order, and just use the Alpha-tagging (7-digit 'British Flag'-type display) to list the channels by AAR designation.

This page was written to help fill a void. When I bought a used MS-200 scanner, the disk wasn't in the box. (A follow-up with the seller managed to locate the disk, but it was a copy, not an original, which is how it was overlooked during the sale). The seller was willing to send the disk via postal mail, but I opted to pick it up on my next visit, which would be a few weeks...

So, here I had a scanner full of frequencies (some unknown to me, most with Alpha Tags), and I wanted to extract that list for examination, and then get on to programming my rail channels. I figured "e;I'll just search the web, and maybe even find a Mac or UNIX application for programming this thing.". (If you're reading THIS page, you're probably trying the same trick. Well, you're in luck, since there is a link to the software further down the page, as well as some clues about programming the scanner through the serial port. This is the information I couldn't find while I was looking.)

All I had found during my searches were past reviews, or articles from the USENET News scanner list. Many were asking for info about the MS-200. A few were positive replies. The reviews seemed to indicate that this scanner is (or would be) a popular unit. I even found a few notes, indicating that I proably paid more than I could have, if I would have tried searching for the MS-200 on the popular Internet Auction websites. But I didn't find links to the software, and I didn't find any clues to how to program the unit without the Windows software. I started taking notes, and decided to write up a web page to fill that need, in case others would benefit from this information.


About the RELM software

I'm competent about async serial devices, so I tried to hook up to the serial port, and see what I could see. I didn't see much. I'll detail more about the low-level serial stuff and the scanner database file format farther down this page.

I followed up with the technical folks at RELM. Many were not able to help, since it was an older, discontinued product. One person was able to email the software bits to me, but the virus-scanning email gateway where I worked ate the executable files. I found another Ham on one of the railfan mailing lists that had the software, and his mailer would not send a DLL file...so he renamed the file, and that worked fine...so then I asked him to try renaming the executable files as well, and they passed through my local email gateway. I finally had all of the bits!

There were only a few references to the software, but they all said that you had to run it under Windows 95 or 98, and that it wouldn't work under NT4 or Windows 2000. All I had at the time was a was a Win2K system, so I tried that. I met with limited success...

I managed to talk to the scanner, and download the exisiting channels. I tried to save them with the default fileame (ORIGINAL.SCN), in the same location as the application, but this didn't work. It turns out that the application only works with 8.3 (old, DOS-style) filenames and paths. It didn't know how to work with the newer filenames, and use the system to find the 'real' 8.3 filenames underneath. So I created a top-level directory with a simple name, but the software still couldn't cope with finding the new folder from where it was...

When I re-installed the software in the new, top-level directory, and downloaded the scanner data, I was able to save the file successfully with the default filename. Next, I tried to print the current frequencies, but that caused a "divide by zero" error, which then caused the RELM application to quit unexpectedly. Further testing bears this out:

I programmed the scanner with some new channels. I tried to save my work frequently, since it had already quit once against my will. In this current configuration (top-level directory, short filenames) I found the application to be pretty hardy. However, it still doesn't want to save files in any other directory.

I followed up with the RELM folks, to see if I could post a ZIP file on the web, since they don't have it available for legacy users. I did not get any reply back. So, while I didn't get explicit permission from them, I also was never told that I couldn't. Unless the legal beagles get involved, you can download the zip file of the MS-PC Kit, version 1.0 here. I hope that I can continue to provide this software here, as a service to MS-200 owners.


Serial Interface Information

The connector on the back of the MS-200 scanner is a DB-9 female, with the signals on pins 1, 2, 6, and 8 asserted. (full data, hardware flow control and hardware handshaking, and data-carrier detect.) This makes the scanner a DCE device. A typical PC has a DB-9 male, DTE port. So, to connect the scanner to a PC, you'll need a DB-9 male-to-female cable, wired 'straight through' (not a 'null-modem' wired cable).

The port is configured to run at 9600, 8-N-1 (8 data bits, No parity, 1 stop bit). This is a pretty common setting, and most terminal emulation programs use this as their default setting.

Communicating with the scanner

So, we know how to connect the computer to the scanner, and we know how to configure the serial communications software, but now what?

What does the 'garbage data' on my screen mean?

"Since you can't do much with these scanners, interactively, using the serial port, what's the point?" Well, I put this information here for the occassional programer. Maybe some PALM hacker will come up with a small application that will let you keep scanner lists on your PalmOS device, and use the serial cable to reprogram your scanner in the field (by uploading new files as you travel to different areas). I may be able to do something with PERL, but I'd love to see someone come up with a Macintosh alpplication to use with my PowerBook or DUO laptop. I love having the alpha-tags on the display, and I'm looking forward to using the CTCSS squelch to reduce the amount of intermod I need to listen to.

That said, what you see there isn't garbage. The scanner uses it's own shorthand to keep the Windows application informed about what the scanner is doing. It's not easily understood by humans, but RELM didn't plan for us to be looking at the serial data. Here's a few clues hat I've picked up from observing the serial port while the scanner is operating;


Scanner File Format information

Scanner files use the file extension .SCN, and you can use your favorite text-file editor to open these files. The files;

So, you can import the data into your favorite database programs, or even into a spreadsheet program. As longas you put the trailing carriage return at the end of the file, you could export your own files as well. This also means that you can put these files up on the web, and share your scanner files with other folks. (I don't know why I haven't found a bunch of these files on the web just yet...)

I'm thinking that I should also be able to write a script in PERL to talk to a serial port, and download data from the scanner, and upload a new file to the scanner. From there, a scanner shop could have a simple web interface, and use that tool to bulk program a scanner with a number of databases that they have on their computer, so they could pre-program scanners for a specific area, or even for specific 'themes', such as NASCAR Racing Team, or AAR channels.

The fact that the files on the computer are in plain ASCII text does not imply that the transaction between scanner and computer are in ASCII. It may be that there are a fixed number of bytes in the memory, and the application adds in extra zero entries to 'fill out' empty entries for alpha-tags, and tone codes. I plan to do some homework to figure this out, but I'd love to hear back if someone has already done the homework (or if they beat me to it ;-).


Updated: July 2001

Copyright 2001, David K. Z. Harris, N6UOW
Questions? Comments? Additions? Email railfan at baylug.org
Don't harvest my email address, I don't want SPAM!

Developed on an Apple iMac!
Web Page Creation: CLARIS Home Page 2.0
(But page updates made using vi ;-)