The Serialprefs project! The Serialprefs project is an attempt to improve the old Serial prefs util, and also the serial.prefs format. Serialprefs extends several settings/options of the original, to do this effectivly a new serial.prefs format have been created. Currently this format is non-public because it's still not finished. But there is one public extension (supported in the SerPrefs 2.1+ program). The extension can be used with the exsisting serial.prefs while still being backwards compatible. The extension is called SERN and is a IFF chunk, similar to a NAME chunk. The SERN chunk can be found after the SERL chunk, and is a zero "ascii 0" terminated string. The string is padded to an even lenght if needed. The SERN chunk IS NOT limited to 256 chars (255 chars + ascii 0), even though it usually will be less than this. The SERN chunk holds the full path name to the serial.device or a replacement/custom device. To get just the name of the device, use a system function like FilePart() etc. Example: SERNxxxx string,(pad) "SERN" is the IFF chunk ID, xxxx is the chunk lenght (pad NOT counted). string is a normal zero terminated string (ending with ascii 0). A single-byte PAD is used to word align the SERN chunk, if needed. The SERN chunk must ALWAYS follow the IFF specs. The string itself would usually be "DEVS:serial.device" etc. If no SERN chunk is found then your program must assume, "DEVS:serial.device" as a default device. With the prefs program SerPrefs, a SERN chunk is ALWAYS written. I strongly encourage you use the SERN chunk. The Serialprefs project isn't just a program and an attempt at improving the serial.prefs format. The Serialprefs project is an attempt at making "ENV:sys/serial.prefs" the default setting for serial related programs. A system default is needed, since newly installed software could use serial.prefs instead of it's own internal defaults. After all, what the user have set for the system, is most likely what she/he want to set in a Terminal prog etc. You may use the SerPrefs program to create the new serial.prefs The SerPrefs program support a serial.prefs with the following limits: All normal baud rates (75-921600 Baud) Input and Output Buffer (range 0-64 MB) Input and Output Xon/Xoff, RTS/CTS Parity Even/Odd/Mark/Space, 5-32 data bits, 0-2 stop bits Selectable unit (0-9999999999 or something :-) Selectable device (the SERN extension) SerPrefs v2.1 introduce the new Type1 serial.prefs, the old original (Type0) has a bug in that the pad byte in the SERL chunk is counted as part of the SERL chunk. I only noticed this when I made a CORRECT sized chunk, but with a wrong size (33+pad) I was told by the system. I checked my program, double checked the serial structure size, and suddenly realized I found a bug. This is why my new Type1 prefs only adds the SERN chunk (that can be used in Type0 also, since it's a chunk :-) But I thought I could use the unused byte of Type0 for something usefull, I used it to set Shared Mode. This should allow old programs to read the prefs correctly, without size problems, and also use the damn byte for something :-) serial.prefs Type2 will add a real nice bunch of settings. So I need the help of YOU, email me and let me know WHAT settings need to be in a global default serial prefs. I want serial.prefs to be used as a global default, avoiding the hassle of the user having to set all those settings just to test or set up new program. This way a program can use serial.prefs as it's "System Default" prefs settings :-) So help me out, will'ya? SerPrefs will be released to Aminet etc, and the Msi site. When the new serial.prefs format is ready, developer files will be found in the SerPrefs archive. PS! The reason why I call everything Type1 etc, is that Intuition complaine if the prefs version is not 0. So to remain backwards compatible I had to use type instead :-( Roger Hågensen - © Msi Software 1997 Email: "Msi Software " WWW: "http://www.sn.no/~msi"