Subject: err, umm, hmph Date: Sun, 04 Apr 1999 23:50:14 -0700 From: Tom Jennings Organization: World Power Systems To: Vuk Cosic , vuk@kud-fp.si, Tom Jennings I just realized, you asked about the ASCII file system; instead of a description I think I pointed you at some stupid long URL. My apologies. Here is a more succinct description. It's not particularly sophisticated, but I never was a very good sophist. My story teller system is a bunch of RS-232 inter-connected boxes. It's really a subset of RS-232, and a bad one at that, it's all 0 to +5V signals, etc., what the PICs put out on their stupid pins. Add I use only RxD, TxD, ground, CTS and occasionally DSR/DTR. Each box on the boss (talking box, teletype interface, analog XYZ converter, etc.) understands only it's own data stream, and ignores everything else. When they want data, they assert RTS. The serial buss runs at 2400 baud (!), and like nice little turing machines they search along the infinite tape until they see data that satisfies their internal state machine needs. The data stream is formatted thusly: ... TYPE data data data... TYPE data data data... TYPE data data data... ... To pop up a descriptive level or two -- a typical story prints some text on the teletype, and speaks some (related to what's on paper, hopefully), back and forth, talking and printing, hopefully interesting to anyone standing by (though that's not a worry for the level of description I am about to pop back down to) -- so the paper tape has a record of TYPE "printable text", containing a line of data (whatever, 40 characters), then a record of TYPE "phonemes", containing a dozen or a hundred phonemes, etc., and could contain a record of TYPE "XYZ graphical" to draw electrons on phosphor. Another level down, the reason for the short records is (1) human attention span and desire for novelty (base motives, I admit), and (2) robustness; if a tape breaks, or whatever, it only loses one record, not a whole half-hour-long session. The machines all sync up on the start of the next record, should you start the tape in the middle or whatever. There's a bunch of magic and excruciating boring detail I'll skip unless you ask, but here is a more formal description of the scheme, and what it has to do with ASCII itself (oh yeah, this once was the point huh): NUL..NUL SOH type STX data ETX STX data ETX [...] EOT NUL..NUL [ 1 ] [2] [3] [4] [5] [6] [4] [5] [6] [4, 5, 6] [7] [ 1 ] 1. Fill. 2, 3. File type. 4. Indicates start of text (data).(note 1) 5. Any number of ASCII characters in the range 6. End of text. (note 2) 7. End of file. ...NUL NUL NUL SOH T STX "this is the title" ETX EOT NUL NUL NUL... ...NUL NUL NUL SOH P STX *$$*$*@!)#(*$$)$(*$)(*023HJK$KJH@ ETX EOT NUL NUL NUL... ...NUL NUL NUL SOH X STX 1201010102020203030300440822222020 ETX EOT NUL NUL NUL... Control codes are used for... control! All data is printable ASCII, with a few exceptions (CR, LF and others allowed). TYPEs are P for phoneme, T for tape title (human readable leader), X for XYZ graphical, A for printable ASCII (teletype). Of course I don't type this shit in. I have a more abstract source format, a text file (OF COURSE!), which ain't pretty, but I suppose it's my minicomputer assembly language roots showing. The best story I've ever written, such as THAT is, is a fragment below: ADecades of airborne dust long ago congealed into a thick woolly crust PDecades of airborne dust long ago congealed into a thick woolly film on the floor, A\b\ Pturning everything a fuzzy yellow grey. Aon the floor, turning everything a fuzzy yellow-grey. AThe only sounds were \ PThe only sounds were A50Hz \ Ppower supply hum and buzz, and Apower supply hum and buzz, and Pand a muffled sparse clatter of relays, a vague pattern barely discernible. Aa muffled sparse clatter of relays, a vague pattern barely discernible. A "A" lines generate an A record for the teletype; meta characters modify behavior (\n \b are C-like; \ at end of line suppresses implicit CR LF). "P" records generate phonemes, so that text is passed through the phoneme/allophone generator. Some times I have to fuck with spelling to get the speech right. Here I have it talk words that are not printed, and print things that are not spoken. And it alternates talking and printing in an odd way. A processor program written in "C" reads this file and produces the paper tape stream, which I copy to the tape punch. I hope this is what you asked for, sorry for the boredom if not. I am envious of you having people to collaborate with, for some reason I've not found anyone here in the U.S. with actual technical skills to talk to! There's many nerdly technical types, and there's artists, but not much crossover, and few, if any, with real-world tech skills. The only person I know who does is Woody Vasulka, in Santa Fe, and he's infinitely busy and I am too in awe of him to bug him much. Plus he's a grouchy hungarian ("NO NO, ZAT IS NO GOOT, YOU MUST DO DOT ZIS VAY!"). But he does make wonderfully awful large and scary machines. -- World Power Systems (http://www.wps.com)