#: 3232 S12/OS9/68000 (OSK) 03-May-90 00:15:38 Sb: #C process control Fm: Joseph W. Cheek 76264,142 To: all I am trying to get a person into OSK (the process-control market), but he ha many objections. Most I could answer, but there was one I could not: He says that the C compiler does not support the keyword 'volatile', and cannot therefore be used to control. Can anyone help me with this? I do not even totally understand what he is saying. Thanks. There are 3 Replies. #: 3234 S12/OS9/68000 (OSK) 03-May-90 03:38:23 Sb: #3232-C process control Fm: Kevin Darling (UG Pres) 76703,4227 To: Joseph W. Cheek 76264,142 (X) Joe - Sounds like a feeble excuse; or he's very young and right out of school. He's talking about the ANSI C "volatile" type. You use it for, say, accessing an I/O or status port... whose value can change at any time. Example: volatile char *rs232 = 0xff68; while (*rs232 & READY_FLAG) waitawhile; Declaring it as volatile indicates that the compiler should ALWAYS get the value from its memory location. The reason for this type is to prevent compiler optimizations which might keep the original (unchanged) value around. As far as I can tell, OS9's C compiler never optimizes something like this. And if your friend thinks for just a minute, he'd realize that since OS9 has been used for control for over a decade now, then perhaps things must have worked out okay, eh? . Run over to the MW display area (go MSC) and check out the latest Pipelines newsletter... with the large section about OS9 control usage in England. Print it out for him. Might interest him a bit. best - kev #: 3235 S12/OS9/68000 (OSK) 03-May-90 06:18:24 Sb: #3232-C process control Fm: James Jones 76257,562 To: Joseph W. Cheek 76264,142 (X) What he's talking about is one of the so-called "type qualifiers" that are part of the recently-adopted ANSI C standard. The "volatile" qualifier is intended to force the compiler to *not* do certain kinds of optimization, which aren't appropriate for, to use the standard example, memory-mapped I/O stuff. Example: if one has a busy-wait loop of the form while (*p == 0) ; an optimizing compiler would be within its rights to peform code motion on the apparently unchanging value of *p and transform the code into if (*p == 0) {for (;;) ;} testing *p only once. In ANSI C, if p were declared to have the type "pointer to volatile int," the compiler would be informed that unknown external events could change the value of *p, so that it is improper to consider *p as not changing, even though the code contains nothing that would change it. #: 3239 S12/OS9/68000 (OSK) 03-May-90 06:26:49 Sb: #3232-C process control Fm: James Jones 76257,562 To: Joseph W. Cheek 76264,142 (X) Oops. I forgot to mention in my reply that 1. I hope nobody actually writes a busy wait loop like that--it would eat the CPU. 2. As Kevin points out, Microware C compilers currently do not do the kinds of optimization that get one in the trouble that "volatile" is meant to get one out of. There was a recent announcement on comp.os.os9 on USENET saying that some folks in Japan had ported the GNU C compiler to OS-9/68000. That compiler does support the various features of ANSI C, including type qualifiers. #: 3233 S10/Tandy CoCo 03-May-90 02:09:13 Sb: #3173-#C arrays Fm: Bob van der Poel 76510,2203 To: Mark Griffith 76070,41 (X) Mark, thanks for the work-around. Using (*foo)[6] instead of foo[12][6] makes just about as much sense as anything else does right now in 'C' . Actually, I am starting to understand things. I decided that it really was time to learn this must talked about language...and the only way to do it is to write something fairly non-trivial. Oh, and I don't want to flog this horse too much, but according to K&R my original way SHOULD work. See page 105... f(day_tab) int day_tab[2][13]; or int day_tab[][13]; or int (*day_tab)[13]; BUGS: Yes, it is so often true that what is thought of as a bug is really a problem with the user. Heck, I've even spent hours looking over the source code for my OWN programs looking for what I thought was a bug, only to find that I was using the wrong command! However, you mentioned that there are a couple of documented bugs which can be worked around. Care to let us know what they are...But I am glad to hear that the MW complier is 'solid'. Guess I know where to look when I get errors! Also, I read that you are combining the MW stdio docs and Carl's into one document. GREAT!!!!! When do you think it will be done? And, does anyone have a good reason why 'C' doesn't pass an argument count to functions (like Basic09)...too late now, but I don't see that it would create that much more overhead, etc. Oh well... There are 4 Replies. #: 3237 S10/Tandy CoCo 03-May-90 06:20:29 Sb: #3233-#C arrays Fm: Mark Griffith 76070,41 To: Bob van der Poel 76510,2203 (X) Bob, Let's flog the horse once more: Your initial code had the array delcaration in the function as: int foo[20][6]; which will not work. The compiler does just what you told it to do, point to an array of pointers, each pointer of size 2 and 20, so you got 40 memory locations between each element in the array. int foo[2][6]; will work since you are now telling the compiler the actual size of the column element in the array, i.e. 2 bytes (the same as an int pointer). int foo[][6]; SHOULD work, I didn't try it. Come to think some more, it probably doesn't work since out compiler is not real smart when it comes to things like this. We need to tell it what the array looks like. The very best method is: int (*foo)[6]; since this is portable across any machine, even those with different size int's. Mark There are 2 Replies. #: 3244 S10/Tandy CoCo 03-May-90 16:36:14 Sb: #3237-#C arrays Fm: Kevin Darling (UG Pres) 76703,4227 To: Mark Griffith 76070,41 (X) Ummm... y'all are over my head in most of this, but I don't buy that int foo[2][6] to show that it's got "2 bytes" each etc. That's what the "int" is for. Anyway, do some compiles to asm, and you'll see that something just ain't right here. I think. ;-) kev There is 1 Reply. #: 3253 S10/Tandy CoCo 03-May-90 21:04:44 Sb: #3244-#C arrays Fm: James Jones 76257,562 To: Kevin Darling (UG Pres) 76703,4227 (X) int foo[2][6] is a declaration that says foo is a two-dimensional array with two rows and six columns. Multi-dimensional arrays are darned near never used in C, largely because C forbids anything but constants as array bounds, so that it's highly obnoxious to write, say, routines to solve systems of linear equations in C. One winds up faking it out and doing explicit offset calculations for a one-dimensional array a lot of the time. I don't even remember offhand whether C uses row or column-major order. There is 1 Reply. #: 3259 S10/Tandy CoCo 03-May-90 23:00:33 Sb: #3253-#C arrays Fm: Jeff Dege 76426,211 To: James Jones 76257,562 (X) "int foo[2][6];" is a declaration that says foo is a pointer to an array of 6 ints. If this is a variable declaration, it is a constant pointing at an area of memory large enough to hold two such arrays. If it is a parameter declaration, it isn't pointing at anything in particular, and no memory is allocated. C doesn't support multi-dimensional arrays, it supports arrays of arrays, which isn't the quite the same thing. Given "int foo[2][3];", foo[1] is an array of three ints, stored consecutively ( that is *foo[1] == foo[1][0], *foo[1]+1 == foo[1][1]), so obviously it is in column-major order. There is 1 Reply. #: 3268 S10/Tandy CoCo 04-May-90 09:31:56 Sb: #3259-#C arrays Fm: Pete Lyall 76703,4230 To: Jeff Dege 76426,211 (X) I beg to differ..... int foo[2][6] does NOT declare an array of 6 ints... In 6809/os9 (as in PDP-11 C), the int is a two byte entity. If you were to declare 'int foo[6]', THAT would be an array of 6 ints, and 'foo', by C convention, would be a pointer to the 0th element of that array. The allocation of two bytes for each element off the array is implicitly handled by the compiler, which will internally do the equivalent of 'sizeof (int)' when staging the array. In the case you specify (foo[2][6]), that will generate an array of 12 ints (24 bytes), or if conceptually easier to digest, 2 rows of 6 ints each. Pete There is 1 Reply. #: 3270 S10/Tandy CoCo 04-May-90 12:45:04 Sb: #3268-#C arrays Fm: Jeff Dege 76426,211 To: Pete Lyall 76703,4230 (X) I said a "int foo[2][6];" declared a POINTER to an array of 6 ints. "int foo[6];" declares a pointer to an int (it isn't a convention, it is the truth. Array notation is a convenient substitute for pointer arithmentic, no more.) Whether there is any memory allocated depends upon whether this is a variable or a parameter declaration. If "int foo[2][6];" is a variable declaration, foo becomes a pointer to an array of 6 ints, initialized to a memory area large enough to hold two such arrays. Since pointer arithmetic is scaled by the size of the base type, *foo is the first array of 6 ints, *foo+1 is the second array of 6 ints. **foo points to the first int in the first array, and **foo+1 points the the second int in the first array. &foo, foo, and *foo have the same VALUE, but different type. Assuming that an int is two bytes, and the base address of foo is 0x100, &foo+1 = 0x124, foo+1 = 0x12, and *foo+1 = 0x102 (**foo+1 is an int, not a pointer ;). If you add in the fact that a VARIABLE array is an r-value, and can't be changed, while a parameter array declaration is a pointer, and has no such limitation, you have a complete understanding of how arrays work in C. In any case, the whole system is designed so that you don't HAVE to be aware of how arrays equate to pointers in order for them to work. You don't HAVE to understand why X[5] == 5[X]. You can use arrays just like you would in Pascal, subject to the limitations that indices always start at 0, and arrays are always passed by reference. I always worry that these discussions will completely confuse the newcomers There is 1 Reply. #: 3289 S10/Tandy CoCo 05-May-90 13:17:22 Sb: #3270-#C arrays Fm: Pete Lyall 76703,4230 To: Jeff Dege 76426,211 (X) I'm leaving town a bit later today, but if I wasn't, I'd make an attempt to rebut that.... int foo[6] creates foo such that it is a pointer to the base of an array that will hold 6 ints. The declaration 'int foo[6][2]' creates an array (assuming data definition vice function declaration), or more properly a base pointer to an array that is 6 x 2 (or simply observed, 12 elements of 'sizeof int' long). Agreed that foo[6][2] and foo[12] create the same sized data space, and using the same internal geometry. Pete There is 1 Reply. #: 3297 S10/Tandy CoCo 05-May-90 16:07:27 Sb: #3289-C arrays Fm: Bruce MacKenzie 71725,376 To: Pete Lyall 76703,4230 (X) Pete, I must come in on Jeff's side in this debate. An array declaration such as, char array[4][12], sets up a pointer, array, which points to the bases of an area of memory large enough for four data objects of length 12 rather than to 48 data objects of length 1. The distinction seems trivial but it is not. Now the variable, array, and &array[0][0] are numerically equal, they both point to the base of the array. However, since when arithmetic is performed on pointers the size of the object pointed to is automatically factored in, the two are not equivalent. The expression (array+1) evaluates as a pointer to element array[1][0], while the expression (&array[0][0]+1) evaluates as a pointer to element array[0][1]. #: 3250 S10/Tandy CoCo 03-May-90 20:36:04 Sb: #3237-C arrays Fm: Jeff Dege 76426,211 To: Mark Griffith 76070,41 (X) Bull! From K&R 2, p. 112, (where his previous example used a [2][13] array): If a two-dimensional array is to be passed to a function, the parameters declaration in the function must include the number of columns; the number of rows is irrelevent, since what is passed is, as before, a pointer to an array of rows, where each row is an array of 13 ints. In this particular case, it is a pointer to objects that are arrays of 13 ints. Thus if the array daytab (his example) is to be passed to a function f, the declaration of f would be f(int daytab[2][13]) { ... } It could also be f(int daytab[][13]) { ... } since the number of rows is irrelevent, or it could be f(int (*daytab)[13]) { ... } which says that the parameter is a pointer to an array of 13 integers. The parentheses are necessary since brackets [] have higher precedence than a *. Without parentheses, the declaration int *daytab[13] is an array of 13 pointers to integers. More generally, only the first dimension (subscript) is free; all the others have to be specified. (END OF QUOTE) As you see, the first dimension is not required, and is ignored if supplied, but it is NOT incorrect, nor should it change the behavior of the function. When the compiler sees "int foo[20][6]" AS A PARAMETER, it should treat it as a pointer to a 6 element array of ints. If it doesn't, it is broken. #: 3238 S10/Tandy CoCo 03-May-90 06:21:15 Sb: #3233-#C arrays Fm: James Jones 76257,562 To: Bob van der Poel 76510,2203 (X) Why doesn't C pass an argument count? Well...unless it passed even more info, it's not clear that it would do much good. VAX C has or maybe had something that was mislabeled as giving the number of arguments, but actually told you the number of words or longwords pushed as arguments! There is 1 Reply. #: 3245 S10/Tandy CoCo 03-May-90 16:37:31 Sb: #3238-#C arrays Fm: Kevin Darling (UG Pres) 76703,4227 To: James Jones 76257,562 (X) Doesn't ANSI C allow passing variable argument counts, tho? There is 1 Reply. #: 3254 S10/Tandy CoCo 03-May-90 21:08:54 Sb: #3245-C arrays Fm: James Jones 76257,562 To: Kevin Darling (UG Pres) 76703,4227 (X) Yes, but that's not the same thing. If you look at the fine print on varargs.h, or whatever it is, you'll see that the programmer is expected to be able to claim to know the type he wants to pretend the "next" argument passed is, so that the compiler need not generate code that actually indicates anything about the number, type, or size of actual parameters. (Nothing in the standard prohibits it, but I doubt that one will find anything save the better C interpreters that actually do.) The intent of va_arglist et al. is that there be some extralinguistic way to think one knows what the types of the arguments are, e.g. by scanning a printf() format string. #: 3353 S10/Tandy CoCo 07-May-90 20:39:38 Sb: #3233-C arrays Fm: David Jacques 71650,1321 To: Bob van der Poel 76510,2203 (X) uh fellas there are document errors in the multiview docs of specifically that comes to mind is comes to mind is _gs_scsiz on page 10-50 it should be _gs_scsz and on 10-35 they forgot to mention that ya should pass the x,y when ya want to plot a point so while things seem to be pretty solid I'd suggest a rdump of the library to keep you from losing your mind when you try to hack in the grafx lib exit #: 3413 S10/Tandy CoCo 11-May-90 01:06:50 Sb: #3233-#C arrays Fm: Bob van der Poel 76510,2203 To: Bob van der Poel 76510,2203 Well, seems I really created a montster with my innocent question about passing arrays. I just finished reading most of the thread and Bruce Mackenzie's and Mark Griffith's files. Not being a "C guru" I readily admit that much of the discussion is above me. But since I started this most interesting thread, let me add a few comments... 1. After asking the question I decided that using a structure would serve my purpose much better. 2. Thanks to all who participated. I've not seen such a lively debate, nor so much real meaty information on this forum for a long time. 3. Jeff's detailed discussion of semantics is something I have printed out and putting in a folder. If one decided to use pointers and arrays interchangeably it is very important. But, I'm not sure how clever one would be to do tricks like that. Not only do you confuse yourself at the time, but what happens a year from now when you try to remember what you did? Let's face it, the reason for using a multi-dimed array is to make things clearer for the programmer in the first place. From an economy of code & execution time it is always faster to maintain your own data structures. 4. I certainly have a lot more respect for complier writers. Lots of details to keep track of. (cont) There is 1 Reply. #: 3414 S10/Tandy CoCo 11-May-90 01:07:43 Sb: #3413-#C arrays Fm: Bob van der Poel 76510,2203 To: Bob van der Poel 76510,2203 (cont) 5. Certainly no reason to defend the fellows we just said the nice thing about. Despite Mark's comments, there is a bug in the complier when it comes to passing multi-dimed arrays to functions. Yes, there is a simple work-around--and there is no shame in that. But let's not get too defensive stating the "there is no bug" argument. The bottom line is that K&R state 4 methods to pass a multi-dimed array to a function and with the MW complier only 1 of these works. I agree with Mark that this method is probably the best since it clearly shows the relationship between pointers and arrays, but from a strict programming viewpoint it is NOT the clearest. 6. Bruce's comments on the problem using arrays of more than 2 dimensions are, again, something very important. I don't ever recall using one; my little mind has trouble enough with 2-dimed arrays...let alone 3 or 4! Again, Bruce has shown an elegant workaround. 7. Just how many versions of the CGFX library are there? I just read a bit about a bug in _ss_mgpb() in Puckett's July/89 column (pg. 141). However, a rdump of my package fails to show the routine. Also, my version has "BlnkOn" instead of "BlnkOn". Is there an update? How does one get it? 8. Speaking of the cgfx library: Should one use the text commands like Clear(), CurXY(), etc. in an actual program, or would it be better to have a call to cls(), and gotxy() in the program and have these in turn call the library routines. Guess I'm wondering which method would be more protable, etc. Which method do you fellows use? 9. How about someone compliling all the know bugs (or perhaps we should call them "undocumented features" so that no one's feelings get hurt?) and posting them? Yeah, I know . . . time, time, time. Okay, that's about it for now. Maybe next week I can come up with another "innocent question." There are 3 Replies. #: 3416 S10/Tandy CoCo 11-May-90 01:48:40 Sb: #3414-C arrays Fm: Kevin Darling (UG Pres) 76703,4227 To: Bob van der Poel 76510,2203 Bob - it sure looks wrong to me. Here is a program and a function, and their resulting asm code outputs compared. main() foo(stuff) { char array[4][80]; char stuff[][80]; array[0][0] = 10; { stuff[0][0] = 10; array[1][5] = 20; stuff[1][5] = 20; array[2][50]= 30; stuff[2][50] = 30; foo(array); } } * main() * foo(stuff) * char array[4][80]; * char stuff[][80]; leas -320,s pshs u * array[0][0] = 10; * stuff[0][0] = 10; ldd #10 ldd #10 stb 0,s stb [4,s] <== OK * array[1][5] = 20; * stuff[1][5] = 20; ldd #20 ldd #20 * ldx 4,s stb 85,s stb 5,x <== ??! * array[2][50]= 30; * stuff[2][50] = 30; ldd #30 ldd #30 * ldx 4,s stb 210,s stb 50,x <== ??! * foo(array); * } leax 0,s puls u,pc pshs x lbsr foo ********** OTOH, many C people have told me that this is not a common method of working with stuff, and to simply use other ways. Okay, I guess . #: 3417 S10/Tandy CoCo 11-May-90 11:39:36 Sb: #3414-C arrays Fm: Jeff Dege 76426,211 To: Bob van der Poel 76510,2203 There is a very interesting article in the May 1990 issue of "The C Users Journal" on exactly this subject (it's the issue with "The REAL Obfuscated Code Contest" ;) Page 25, "Dr. C's Pointers - Pointers To Arrays", by Rex Jaeschke. And NO, I didn't see the article until after my post. Like most things in C, it wasn't until I got bitten hard that I figured this stuff out. I was writing some matrix routines for a graphics class, and it took me quite a while to figure out why things weren't happening the way I had thought they would. The most common reason for mixing pointer and array notation is so that you can use dynamically allocated arrays. Something like this: int (*foo)[10]; foo = (*)[10] malloc(20*sizeof(*foo)); /* foo is now a 20x10 array */ If you are looking for another "innocent" question, start asking about mixing signed and unsigned chars and ints in expressions. Things can get VERY hairy there. I've never really dug into the area (I never mix signed and unsigned, and I never use lone chars), so I can't explain all the details on it, but you can be sure to generate an argument... #: 3419 S10/Tandy CoCo 11-May-90 17:36:51 Sb: #3414-#C arrays Fm: Bruce MacKenzie 71725,376 To: Bob van der Poel 76510,2203 Good idea about a file describing the errors in cgfx.l. Here's what I've got: 1. GPLoad() requires an additional parameter, a pointer to the data to be loaded into the buffer. 2. BlnkOff appears as BlknOff in the library. 3. Point() requires two additional parameters, an X and a Y coordinate. 4. -gs-scsiz appears as -gs-scsz in the library. 5. -ss-mgpb appears as -gs-mgpb in the library and doesn't work anyway. 6. -ss-umbar appears as -ss-ubar in the library. 7. -gs-opt was left out of the library. If anybody has anything to add to this list leave me a message and I'll put everything together into a file for the LIB in a week or so. There is 1 Reply. #: 3421 S10/Tandy CoCo 11-May-90 20:09:10 Sb: #3419-C arrays Fm: Zack Sessions 76407,1524 To: Bruce MacKenzie 71725,376 (X) Here's more: 1. Font - Documentation incorrectly states that the group font is GRP_FNT when it is really GRP_FONT. 2. Erline - Is really ErLine (which it should be, docs wrong again) 3. DelLine - Is really DelLin Any more? #: 3271 S10/Tandy CoCo 04-May-90 13:09:12 Sb: #3175-#C arrays Fm: Jeff Dege 76426,211 To: Pete Lyall 76703,4230 (X) > (BTW, foo == &foo[0][0])... Wrong! foo == &foo[0]. If foo was equal to the address of the first int, foo+1 would point to the second int. foo+1 points to the second array. There is 1 Reply. #: 3290 S10/Tandy CoCo 05-May-90 13:28:31 Sb: #3271-#C arrays Fm: Pete Lyall 76703,4230 To: Jeff Dege 76426,211 (X) Ummm... you may (read: OUGHT to) check your facts... compile the following program (I did): #include main() { int foo[6][2]; printf("foo: %04x\n", foo); printf("&foo[0][0]: %04x\n", &foo[0][0]); } You'll find that foo == &foo[0][0]. Since you have already conceded that foo = &foo[0], that sort of blows your rebuttal, wouldn't you agree? Again... I'm out of town for 10 days starting later today, so don't construe a non-response as an agreement. Pete rep There is 1 Reply. #: 3331 S10/Tandy CoCo 06-May-90 20:50:17 Sb: #3290-C arrays Fm: Jeff Dege 76426,211 To: Pete Lyall 76703,4230 Try THIS to see what I mean: main() { int foo[6][2]; printf("foo+1 = %x\n", foo); printf("&(foo[0][0])+1 = %x\n", &(foo[0][0])+1); } I never meant to imply that they had different numeric values, only that they had different base types (that is, foo is a pointer to an array of integers, while &(foo[0][0]) is a pointer to an integer.) #: 3273 S10/Tandy CoCo 04-May-90 13:10:19 Sb: #3194-C arrays Fm: Jeff Dege 76426,211 To: Mark Griffith 76070,41 (X) It is a bug. #: 3274 S10/Tandy CoCo 04-May-90 13:12:43 Sb: #3163-#C arrays Fm: Jeff Dege 76426,211 To: Pete Lyall 76703,4230 (X) When you pass 'my_array' to the function, you are _not_ passing an array of ints, 6x2, but you aren't passing a pointer to the array, either. You are passing a pointer to the base type of the array, in this case a pointer to an array of ints [2]. There is 1 Reply. #: 3291 S10/Tandy CoCo 05-May-90 13:35:08 Sb: #3274-#C arrays Fm: Pete Lyall 76703,4230 To: Jeff Dege 76426,211 (X) "A pointer to the base type of the array"... excuse me? Which C lingo are you speaking? Try this: .... int *ptr, woof[6][2]; ..... ptr = woof; function(woof, ptr); Now - when you get down to 'function()', are you telling me that woof != ptr ? Are you telling me that they both don't point to ints? Just for clarification: the majority of the C work done in this forum is on the 6809 MW C Compiler, which is K&R based (almost to a fault), and limited. If you're thinking about any ANSIfications, they simply just don't apply here (unless you're talking about the later versions of the 68k flavors of the compiler). Pete There is 1 Reply. #: 3320 S10/Tandy CoCo 06-May-90 20:11:13 Sb: #3291-#C arrays Fm: Jeff Dege 76426,211 To: Pete Lyall 76703,4230 ][2]; Yes, I am. ptr != woof. They have the same value, but different types. I can see you don't understand the distinction I'm trying to make here. It's subtle, but it is VERY important if you are going to do any real work in C. I guess we'll just have to hope that this doesn't scroll off before you get back from your trip. (By the way, the following explanation applies to K&R just asmuch as it does to ANSI. There is only one minor clarification to array handling in standard C.) In order to understand how arrays work in C you have to understand that there really isn't any such thing. Arrays in C are more of a notational convenience than they are a true data type as they are in Ada or Pascal. Because of this I'm going to have to start with pointer arithmetic. You probably know this, but you obviously aren't keeping it mind when you work with arrays. C allows limited arithmetic operations on a pointer. You can add an int to a pointer to obtain another pointer of the same type, and you can subtract two pointers of the same type to get an int. When doing either you scale the int by the size of the base type, that is, the type of the object pointed to, ints, if we are dealing with (int *)s. Assuming we have: "int *x, *y;", where x has the value 100, y has the value 0x200, and sizeof(int) == 2. x+10 == 100 + 10*2, == 120, which is ten ints further along in memory. y-x = (200 - 100)/2 = 50, menaing that you can fit 50 ints between x and y. If we had a "char *p;", where p == 100, and sizeof(char) == 1; p+10 == 100 + 10*1 == 110 != x+10, even though x and p have the same value. They have different types, and so are handled differently. y-p is flat out illegal, because the compiler can't know which datatype is used to do the scaling. (cont.) ... pos There is 1 Reply. #: 3321 S10/Tandy CoCo 06-May-90 20:13:26 Sb: #3320-#C arrays Fm: Jeff Dege 76426,211 To: Jeff Dege 76426,211 (X) (cont.) ... An array in C is handled as a pointer plus offset. The array notation is a shorthand for pointer arithmetic expressions. A[5] translates to *(A+5). An array variable itself is a pointer to the first element. if we have a declaration "int A[20];", the expression "C = A[10]" translates to "C = *(A+10)". If A = 100, We end up with "C = *(100+5*sizeof(int))", so C is assigned the int value stored at location 120. If we have "char B[20];" where B = 300, the expression "D = B[10]" assigns to C the character stored at location 310. Array and pointer notation are completely equivalent. You can use either notation with a variable, regardless of whether you declared that variable as a pointer or as an array. Now, getting into multi-dimensional arrays. In C, there is no such thing. You cannot declare a two dimensional array of ints. What you can do is declare a one dimensional array of any type. If that type is a one dimensional array of ints, the result is quite similar to a two dimensional array, but it isn't identical. Suppose I need to work with a 10x20 array of ints. The declaration is "int foo[10][20];". Here, foo is declared as an array of 10 arrays of 20 ints. Since arrays are really pointers, foo is declared as a pointer to an array of 20 ints. This means that "foo[1]" == "*(foo+1)" == "*(foo + 1*sizeof(int [20]))" == "*(foo + 1*40)"; if "foo == 100", "foo[1] == 140", and has a type of pointer to int. "foo[1][5]" == *(*(foo+1) + 5" == "*(*(foo + 1*40) + 5*sizeof(int))" == "*(140 + 10)" = "*(150)", and has type int, so foo[1][5] is the int stored at 150. (cont.) ... There is 1 Reply. #: 3323 S10/Tandy CoCo 06-May-90 20:15:08 Sb: #3321-#C arrays Fm: Jeff Dege 76426,211 To: Jeff Dege 76426,211 (X) (cont.) ... As a more detailed example, suppose we have the following declaration: int foo[4][4] = { {0,1,2,3}, {4,5,6,7}, {8,9,10,11}, {12,13,14,15}}; Assuming foo == 0x100, and sizeof(int) == 2, we'll see the following in memory (Note that I'm using hexadecimal numbers here): location (+0x0100) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F data 00 00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 location (+0x0110) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F data 00 08 00 09 00 A2 00 0B 00 0C 00 0D 00 0E 00 0F With this, we have the following situation: type sizeof(basetype) value *value ============================================================= &foo int [4][4] N/A 0x100 N/A foo int *[4] 8 0x100 0x100 *foo int * 2 0x100 0 foo[0] int * 2 0x100 0 foo+1 int *[4] 8 0x108 0x108 *(foo+1) int * 2 0x108 4 foo[1] int * 2 0x108 4 **foo int N/A 0 N/A foo[0][0] int N/A 0 N/A *foo+1 int * 2 0x102 1 *(*foo+1) int N/A 1 N/A foo[0][1] int N/A 1 N/A *(foo+1)+1 int * 2 0x10A 5 *(*(foo+1)+1) int N/A 5 N/A foo[1][1] int N/A 5 N/A *(foo+2)+3 int * 2 0x116 11 *(*(foo+2)+3) int N/A 11 N/A foo[2][3] int N/A 11 N/A (cont.) ... There is 1 Reply. #: 3325 S10/Tandy CoCo 06-May-90 20:17:27 Sb: #3323-#C arrays Fm: Jeff Dege 76426,211 To: Jeff Dege 76426,211 (X) (cont.) ... If you've been following this, you'll see why I've been insisting that a declaration of "int foo[20][6];" doesn't declare foo as a pointer to an int. It declares foo as a pointer to an array of six ints. This is essential in order to keep the pointer arithmetic straight. If you only work with arrays using array notation this won't bother you, but if you ever mix array and pointer notation, not keeping this in mind will cause you serious problems. Now, regarding array declarations. Declaring an array creates a pointer to the base type. "int x[10];" declares x as a pointer to an int, just as if you had declared "int *x;". This is true whether this is a variable declaration or a function parameter declaration. If this is a function parameter declaration, they are identical in every way. K&R is quite explicit about this. If this is a variable declaration, there are three differences between the array and the pointer declarations. First, if you declare x as an array, memory is allocated to hold 10 ints, and x is initiallized to the address of this area of memory, and is fixed there (i.e., an array variable is a constant address, and can't be changed.) Third, the sizeof operator handles array variables as a special case, and returns the total memory allocated for the array (in this case, 20), instead of the size of the variable (which is the size of a pointer.) An array declared as a function parameter, on the other hand, is handled as a plain pointer, under all circumstances. You can change the value of the parameter, and sizeof always returns the size of a pointer. This means that the number of elements in a parameter declaration is ignored. The following are identical declarations: foo (bar) int bar[20]; {...} foo (bar) int bar[10]; {...} foo (bar) int bar[]; {...} foo (bar) int *bar; {...} (cont.) ... There is 1 Reply. #: 3326 S10/Tandy CoCo 06-May-90 20:18:42 Sb: #3325-C arrays Fm: Jeff Dege 76426,211 To: Jeff Dege 76426,211 (X) (cont.) ... In the case of (pseudo)multi-dimensional arrays, you are actually declaring a pointer to the base type, where the base type is an array, so you have to completely sepcify the dimensions of the base type. The dimensions of the array itself are still ignored. The following are also identical: foo (bar) int bar[20][6]; {...} foo (bar) int bar[10][6]; {...} foo (bar) int bar[][6]; {...} foo (bar) int (*bar)[6]; {...} Now for the MW C compiler, if it doesn't handle all of the above declarations in exactly the same way it is broken. I wouldn't call it a major bug, as there is a simple and clear workaround that still results in portable code, but it is still a bug. p.s. - The only distinction I'm aware of between ANSI and non-ANSI C is in applying the & operator to an array. ANSI specifies that it returns the address of the array, rather than the adress of the first element. K&R didn't address this at all, and so it was handled and mishandled in a number of different ways by various compilers. Aside from that, all of the above applies fully to K&R C just as much as it applies to standard C. #: 3248 S10/Tandy CoCo 03-May-90 20:33:45 Sb: #3154-#C arrays Fm: Bruce MacKenzie 71725,376 To: Bob van der Poel 76510,2203 (X) Bill, I've been fooling around with multidimensional arrays on the COCO C compiler and I've found that the bug you encountered is just the tip of the iceburg. There are basic problems with the way our compiler handles multidimensional arrays that can surface in other contexts. I've uploaded a file to LIB 2 fully describing the bug. Anyone needing to use multidimensional arrays with the COCO C compiler should check out carray.ar in LIB 2 under my ppn. There is 1 Reply. #: 3251 S10/Tandy CoCo 03-May-90 20:49:20 Sb: #3248-C arrays Fm: Bruce MacKenzie 71725,376 To: Bruce MacKenzie 71725,376 (X) Woops, the file was uploaded to LIB 3 not LIB 2. Look for the array bug report, carray.ar, in LIB 3. #: 3345 S10/Tandy CoCo 07-May-90 18:40:08 Sb: #3230-#C arrays Fm: Bill Dickhaus 70325,523 To: Bruce MacKenzie 71725,376 (X) Thanks, Bruce, that's just what I needed! I didn't realize that I could use sp[1], etc. without first defining sp as an array. Bill There is 1 Reply. #: 3355 S10/Tandy CoCo 07-May-90 21:19:24 Sb: #3345-#C arrays Fm: Bruce MacKenzie 71725,376 To: Bill Dickhaus 70325,523 (X) Yeah Bill, I did a lot of programing in C myself before I learned that lesson. Makes a lot of things much easier once you see it. Just remember that there's really no difference between arrays and pointers. Or rather, array notation is nothing more that a particular type of pointer notation. There is 1 Reply. #: 3398 S10/Tandy CoCo 10-May-90 17:16:25 Sb: #3355-#C arrays Fm: Bill Dickhaus 70325,523 To: Bruce MacKenzie 71725,376 (X) This ongoing argument about how C handles so called multi-dimensional arrays has really taught me a lot about pointers and "arrays" in C. Its all finally starting to make some sense. With the heavy assembler background I have, I don't have any problem understanding the concept of pointers, but I have a lot of trouble with the definition of pointers and syntax of statements that use pointers in C. Bill There is 1 Reply. #: 3407 S10/Tandy CoCo 10-May-90 20:55:53 Sb: #3398-C arrays Fm: Bruce MacKenzie 71725,376 To: Bill Dickhaus 70325,523 (X) Bill, Truly, some of this stuff is not simple and it can set your head to spinning. I have found "ADVANCED C: Food for the Educated Palate" by Narain Gehani very helpful. He combines a tutorial style with a concern for rigor that makes the fine points most accessable. He devotes several pages to deciphering complex declarations. One of his examples is: int *(*(*x)[6])(); which translates as: x is a pointer to an array[6] of pointers to functions returning a pointer to an integer. Geez! #: 3236 S10/Tandy CoCo 03-May-90 06:20:10 Sb: #3216-#C arrays Fm: Mark Griffith 76070,41 To: Bill Dickhaus 70325,523 (X) Bill, Bruce Mackenzie's method is good, i.e.; char **sp; /* declare a pointer to a character pointer */ sp=calloc(MAX,sizeof(char *)); /* assign it to the base of a block of memory to hold the pointer array */ You'll need to know the MAX number of elements before you do this tho. If you need some more after you made a array, then calloc() another larger array and copy the pointers from the first into the second and then free() the first array. However, you will also need to malloc() enough memory to hold each element of the array before you copy anything into it. If the elements are strings, then you'll need to allocate strlen() + 1 for each since strlen() doesn't count the \0 at the end. If you don't, it will work but you might have a weird bug, or you'll stack overflow sometime during the program run. Mark There is 1 Reply. #: 3346 S10/Tandy CoCo 07-May-90 18:40:11 Sb: #3236-C arrays Fm: Bill Dickhaus 70325,523 To: Mark Griffith 76070,41 (X) Mark, Thanks, as I mentioned to Bruce, I didn't realize I don't have to explicitly define the pointer array as an array. The other problem I've already run in to, so now I make sure to malloc() one more byte than I really need. I've had all kinds on interesting stuff happen when I forget to do it that way. Bill #: 3240 S10/Tandy CoCo 03-May-90 08:02:25 Sb: #3218-tsmon HELP! Fm: Lee Veal 74726,1752 To: Everett Chimbidis 76370,1366 (X) You should be able to special order the Dev. Pak. If it's still in the Catalog, then you should be able to order it through CMC or Express Order. Most store creatures are too lazy to figure that out for you, but if you press the issue they will. Especially if you mention that you want the name of their DM. Lee #: 3241 S10/Tandy CoCo 03-May-90 10:21:22 Sb: #3231-#tsmon HELP! Fm: Pete Lyall 76703,4230 To: Paul Rinear 73757,1413 (X) Paul - Top of my head, I don't recall the I/O base address of the Modem Pak. If it is also $FF68, then it's the same as the RS-232 pak. If you have enabled all the cartridges on the Multipak bus with a wiring change, then these two could be in conflict. Even using the IRQ HAK will not help that. Recommended fixes: o - Alter the address of the RS-232 pak to $FF6C. There are several files here that give instructions on how to do that. Beware that some are unnecessarily complicated.. there are a few easy ones. o - Ditch the modempak, unless you really need it. Pete There is 1 Reply. #: 3243 S10/Tandy CoCo 03-May-90 12:48:50 Sb: #3241-tsmon HELP! Fm: Paul Rinear 73757,1413 To: Pete Lyall 76703,4230 (X) Pete- The Modpak is at $FF6C; no confliGood to know you can change those RS-232 pak addresses though. Thx, Paul #: 3256 S10/Tandy CoCo 03-May-90 22:43:19 Sb: #3223-#tsmon HELP! Fm: Everett Chimbidis 76370,1366 To: Shawn Thomas 72300,2066 (X) Tryed that to No longer avalble. There are 2 Replies. #: 3258 S10/Tandy CoCo 03-May-90 22:54:55 Sb: #3256-#tsmon HELP! Fm: Shawn Thomas 72300,2066 To: Everett Chimbidis 76370,1366 (X) Everett- Well, I guess that pretty much sums up the coco as far as Tandy is concerned. But I'm not surprised. Shawn There is 1 Reply. #: 3278 S10/Tandy CoCo 04-May-90 17:32:05 Sb: #3258-tsmon HELP! Fm: Everett Chimbidis 76370,1366 To: Shawn Thomas 72300,2066 So now what? #: 3341 S10/Tandy CoCo 07-May-90 02:01:47 Sb: #3256-#tsmon HELP! Fm: Mike Haaland 72300,1433 To: Everett Chimbidis 76370,1366 (X) ~ Everett, YOUR ARE INCORRECT!!!! You can still get the Development System (Dev-Pak as we call it) Cat # 26-3032 through Express Order Software (EOS) from Tandy. It costs $99.95. The phone number to place your order is 1-800-321-3133. I just hate when folks spread incorrect info! Especially when it's something like this. Best, Mike #: 3242 S15/Hot Topics 03-May-90 10:26:29 Sb: #3228-#Smoke Signal Fm: DOUG 72667,1433 To: Pete Lyall 76703,4230 (X) Pete, Did that. I first called the number (9460?) on their manual cover and at first didn't get an answer. Tried a day or two later and got a rather unfriendly guy at a Nautilus place. The 818 and 808 operators show no listing for Smoke. Doug There is 1 Reply. #: 3249 S15/Hot Topics 03-May-90 20:35:33 Sb: #3242-#Smoke Signal Fm: Pete Lyall 76703,4230 To: DOUG 72667,1433 (X) Doug - Well ... I guesss that perhaps they _have_ gone up in (ulp) smoke... Pete There is 1 Reply. #: 3378 S15/Hot Topics 09-May-90 10:07:42 Sb: #3249-Smoke Signal Fm: DOUG 72667,1433 To: Pete Lyall 76703,4230 Cud be... Doug #: 3246 S10/Tandy CoCo 03-May-90 20:21:52 Sb: #3224-#Home Publisher help Fm: Bruce Isted (UG VP) 76625,2273 To: Shawn Thomas 72300,2066 (X) ~ Shawn, I'd forgotten all about that disk of HP printer drivers! Thanks very much for reminding me about it. That's probably where I'll find a DMP-110 driver, if there's one anywhere. Now for another request... do you (or anyone else who may have it and want to jump in and help!) have the stock number for that disk? I'm sure I'll have to order it, and there's no hope that any of the local RS stores will be able to find out for me. As a matter of fact, there's a good chance that InterTan doesn't even carry it, but I'll deal with that if/when I have to! Bruce There is 1 Reply. #: 3257 S10/Tandy CoCo 03-May-90 22:53:38 Sb: #3246-Home Publisher help Fm: Shawn Thomas 72300,2066 To: Bruce Isted (UG VP) 76625,2273 (X) Bruce- I'll see if I can find my software catalog, somewhere on this thing I call a desk (grin). Will let you know as soon as I find it. Shawn #: 3247 S10/Tandy CoCo 03-May-90 20:29:56 Sb: #KingQuest/H0? Fm: CRAIG WYNN 72125,466 To: All Their seems to be more that meets the eye to getting this running on Level 2 Isted/Eliminator sys. I installed a new boot with games drivers VI and A..IRQDr. I didn't use games 60hz Clock...must I? The system boots up leaving 414k. Is that enough? When I execute Sierra the system hangs. I'am using the shell that came with it. What kind of window is it suppose to be run out of? Is their a file on the sig that explains all this? There is 1 Reply. #: 3261 S10/Tandy CoCo 04-May-90 01:56:42 Sb: #3247-#KingQuest/H0? Fm: Kevin Darling (UG Pres) 76703,4227 To: CRAIG WYNN 72125,466 (X) Do you have Bruce's clock also installed? You also need vdgint in your bootfile. The game runs in a VDG style window. There is 1 Reply. #: 3276 S10/Tandy CoCo 04-May-90 16:40:22 Sb: #3261-KingQuest/H0? Fm: CRAIG WYNN 72125,466 To: Kevin Darling (UG Pres) 76703,4227 (X) No I didn't install it...but before I went and created another boot I thought I better checkup on what "our gang" has to say. #: 3306 S10/Tandy CoCo 06-May-90 12:24:34 Sb: #KingQuest/H0? Fm: CRAIG WYNN 72125,466 To: Bruce Isted (UG VP) 76625,2273 (X) Everything is under control...many thanks for following up my message. I wasn't executing from a VDG screen....toc is set I believe correctly...all d1...although it keeps asking me to flip disketts? its working just the same. What really baffled me was that it was trying to reboot when I first setup and then I would get a failed boot message. This was after I had already up and running a new boot with the prescribed drivers. Well the kids are happy. What...am I suppose to remove my orginal message now ??? There is 1 Reply. #: 3307 S10/Tandy CoCo 06-May-90 15:02:53 Sb: #3306-KingQuest/H0? Fm: Zack Sessions 76407,1524 To: CRAIG WYNN 72125,466 If you have KQ3 on a single disk, this is what your toc.txt should look like: d1 s1 v0 v1 d1 s1 v0 v2 v12 d1 s1 v0 v3 v12 d1 s1 v0 v4 v12 v14 d1 s1 v0 v5 v12 v14 d1 s1 v0 v6 v12 d1 s1 v0 v7 v11 d1 s1 v0 v8 v11 d1 s1 v0 v9 v11 Zack #: 3255 S10/Tandy CoCo 03-May-90 21:59:08 Sb: #Help with Ramdisks? Fm: Zack Sessions 76407,1524 To: ALL I need some help!!! I want to install a second ramdisk drive called /r1. I am using the Dev Pack DDs. I tried patching a copy of one of the with a drive number of $01 in offset $13, and changing offset $22 (which is the 0 of device name /r0) to a $B1 to change it to /r1. (Umm, those should be /R0 and /R1). But when I include this new module in a bootlist and gen it, things work very strange. I have two devices (apparently) /r0 amd /r1, they appear to be the SAME device. If I dsave some files into /r0, and the do a dir of /r0 and /r1 the files show up in both volumes! What am I doing wrong??? Zack There is 1 Reply. #: 3263 S10/Tandy CoCo 04-May-90 02:03:47 Sb: #3255-#Help with Ramdisks? Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Zack - I would suspect that it ignores drive numbers. Do this instead: change the ADDRESS of the device (and the name). Adding one to the address in the descriptor should be sufficient to make OS9 recog it as a different device. There is 1 Reply. #: 3275 S10/Tandy CoCo 04-May-90 15:09:47 Sb: #3263-#Help with Ramdisks? Fm: Zack Sessions 76407,1524 To: Kevin Darling (UG Pres) 76703,4227 (X) Hmm, change the ADDRESS? Well, looking at my Tech Ref on page 5-9, RBF Type Descriptor Module, I see no reference to an ADDRESS. What be you talkin bout? Zack There is 1 Reply. #: 3277 S10/Tandy CoCo 04-May-90 17:25:36 Sb: #3275-#Help with Ramdisks? Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Zack - the address is where the device is located... usually a fake one for ramdisks. In my book check page 7-2-5: the address is at offset $0E,$0F and $10 in a descriptor module. Under L-II, it'll start with $07Fx, usually. the byte at offset $10 is the one you'd increment by one. Or, in your tech ref manual page 5-9, bytes $0-11 are marked as "standard device descriptor module header". So looking for that, we find page 4-17 which has the layout. - kev There are 2 Replies. #: 3279 S10/Tandy CoCo 04-May-90 18:42:37 Sb: #3277-Help with Ramdisks? Fm: Zack Sessions 76407,1524 To: Kevin Darling (UG Pres) 76703,4227 (X) Ahhh, found it. Thanks, Kev. #: 3280 S10/Tandy CoCo 04-May-90 21:36:29 Sb: #3277-#Help with Ramdisks? Fm: Zack Sessions 76407,1524 To: Kevin Darling (UG Pres) 76703,4227 (X) Kev, You're ramdisk DD has the value $07FFE0 at location $0e. But ALL of the Dev pack DDs have all zeros in that location! What should I do? I need to use the Dev Pack ramdisk cuz I will soon be installing my 1meg upgrade. Thanks! Zack There is 1 Reply. #: 3281 S10/Tandy CoCo 05-May-90 00:06:01 Sb: #3280-#Help with Ramdisks? Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Zack, just take one of them and change the address from $000000 to $000001. That should do it. Either $7FFxxx or $000xxx should be safe addresses. - kev There is 1 Reply. #: 3282 S10/Tandy CoCo 05-May-90 10:01:46 Sb: #3281-Help with Ramdisks? Fm: Zack Sessions 76407,1524 To: Kevin Darling (UG Pres) 76703,4227 (X) I tried that (sorry I forget to mention that). When I tried to write to the the device, the process attempting the write would "hang". For instance, I tried to edit a file in the ramdisk, and when I told the editor (VED) to exit and write out the file, it just blinked "Working" for several minutes and didn't actually write out anything! This is getting frustrating! Zack #: 3283 S10/Tandy CoCo 05-May-90 10:39:35 Sb: #3219-#t3 help Fm: Steve Wegert 76703,4255 To: Everett Chimbidis 76370,1366 (X) Everett, Haven't we covered this somewhere? Here's what I'd do: Use the CoCo that has the hard drives as the host system. Install tsmon and a login package with the /dd/sys/password file. Set up a terminal program (sterm will work nicely) on the other CoCo. Run a null modem (cable with the xmit and recv lines swapped) to the rs232 port on the host and you should be set. If you don't want to mess with tsmon et al, then a line on the host like this; shell i=/t2& should plop a shell on that port. You'll still need the null cable and terminal program. You might want to check out SERIAL.TXT in the libs here for more details. I think it's in DL1. Steve There is 1 Reply. #: 3298 S10/Tandy CoCo 05-May-90 16:46:04 Sb: #3283-#t3 help Fm: Everett Chimbidis 76370,1366 To: Steve Wegert 76703,4255 (X) This is good but i have a t2 allready , Need a t3! There are 2 Replies. #: 3304 S10/Tandy CoCo 06-May-90 09:46:09 Sb: #3298-#t3 help Fm: Steve Wegert 76703,4255 To: Everett Chimbidis 76370,1366 (X) Everett, I'm soooooooo confused! ;-) You say you have only _2_ RS233paks .. one on each computer, jes? If this is the case, then they both can be using the /t2 descriptor ...one on each computer. No conflict. On the other hnd, if I've dropped a few bits along the wy, and you're using the 2 paks on one computer, then yes... you'll need a /t3 descriptor. I't's a bit involved, but really rather simple to accomplish. /t2 and /t3 are idntical _except_ for the address and name. You can use a utility such as dEd to make those changes. The only other concern would be modifying the packs to be addressed differently. Everett, I'm purposly being vague untill I've understood exactly what you're trying to accomplish. No need muddying the waaters even more than they are now! :-D Steve There is 1 Reply. #: 3340 S10/Tandy CoCo 07-May-90 01:54:45 Sb: #3304-#t3 help Fm: Everett Chimbidis 76370,1366 To: Steve Wegert 76703,4255 (X) yes steve thats it i have 2 paks on one computer. need to know how to alter the pack & the program (useing ded) can you help? There is 1 Reply. #: 3348 S10/Tandy CoCo 07-May-90 18:42:44 Sb: #3340-t3 help Fm: Steve Wegert 76703,4255 To: Everett Chimbidis 76370,1366 Everett, It's not for the faint at heart, but details on the pak modification can be found in LIB 10 called MPI232.TXT. The changes to the descriptor would be adjusting the address as well as the name (/t2 to /t3 setting the high order bit). Read the file and if you decide to attempt the hack to the pak... I'll be glad to look up the values to change in the descriptor. Steve #: 3342 S10/Tandy CoCo 07-May-90 02:02:03 Sb: #3298-t3 help Fm: Mike Haaland 72300,1433 To: Everett Chimbidis 76370,1366 (X) ~ I've been following this thread for a few days. What gives? How many serial ports are you running? And in what slots? Why do you need a /t3? is that for a second RS-232 pak? If so, has the second pak been re-addressed? It seems you just want to be frustrated. Everyone is trying to give you some help, but you don't seem to be taking it that way! Just 'snippy' responses like, "It don't work" and "I can't get the Dev-Pak", etc. So, in more than one phrase, please tell us what you are trying to do and how your system is setup HARDWARE wise. Then, and ONLY then, can any of us give you a hand. Before you reply to this message, capture it, (Save it to disk), read it OFFLINE, Then THINK about what you need and describe in *detail* WHAT you are trying to do. All the answers given so far should have gotten you going, BASED ON THE INFORMATION YOU PROVIDED!!! We all would like to see you get setup the way you want. Just be clear in your needs. Please don't take this message wrong. I know how frustrating things can be, but with a little COMMUNICATION and PATIENCE, you'll be set up in no time. Mike #: 3284 S7/Telecommunications 05-May-90 11:23:01 Sb: #Modem problems Fm: LUTE MULLENIX 70721,2230 To: [F] Wayne Day 76703,376 (X) Wayne: I don't know if you can help me or not, but I have a problem with my setup for telecommunications. First, the problem. For some reason, I'm not able to call up my term software, dial the number, then go on line. If I do, nothing will transmit through my comm port. It recieves, but nothing is sent. There is still full control of all the program commands, but when the program is exited, it locks up the window. The way it has to be done is. Load the program into memory, dial number, execute program. An example is. Load sterm Dial (CIS #) wait for CD and switch on modem Sterm If it is done this way, there is no problem. Everything works fine, and when I exit the program, the window still works. The problem seems to be in the switching on of the modem when the program is active. I don't know if it is sending a surge or something on connection that is causing this, but I would like to get it fixed if I could. This is what I'm using. A Coco 3 512K,Disto Super Controller I with 3in1 board, and a Tandy Modemphone 300. I have two versions of Sterm (1.2, 1.3), Xcom9, and Osterm. The same thing happens on all of them, so it would seem to be something in the hardware. If you are at a loss, maybe you know someone who might be able to help. >Lute< There are 2 Replies. #: 3293 S7/Telecommunications 05-May-90 13:38:42 Sb: #3284-Modem problems Fm: Pete Lyall 76703,4230 To: LUTE MULLENIX 70721,2230 (X) Lute - If nothing is sent, try configuring your modem to: o - Always assume DTR is on (or IGNORE it) o - Force a CARRIER DETECT at all times See what that gets you... Pete #: 3347 S7/Telecommunications 07-May-90 18:40:13 Sb: #3284-#Modem problems Fm: Bill Dickhaus 70325,523 To: LUTE MULLENIX 70721,2230 (X) Lute, Have you tried it with the modem turned on prior to executing Sterm, but before dialing? If that works then the problem may be with DSR. Which serial driver are you using, ACIAPAK? What kind of cable do you have between your modem and the serial port? Bill There is 1 Reply. #: 3364 S7/Telecommunications 08-May-90 20:37:31 Sb: #3347-#Modem problems Fm: LUTE MULLENIX 70721,2230 To: Bill Dickhaus 70325,523 (X) Bill: With the Modemphone when you engage the modem the dialer is disabled. It seems to be a quirk is this hardware setup. When I was running under DECB through the bitbanger it never gave me any trouble. I'm useing ACIAPAK with the patch that comes on the Disto disk with the discriptors. I've also made the hardware hack with the diode that was in The Rainbow. I'm useing a Super Controller I with a 3 in 1 board, so that is my RS232 port. The Modemphone has the cable built in, you just plug it into the port. I do hope to be moving up to a 2400 baud auto answer/dial unit in the not too distant future, but until then... I dug out an old Modem I, and have logged on twice with no problem now. >Lute< There is 1 Reply. #: 3400 S7/Telecommunications 10-May-90 17:18:57 Sb: #3364-#Modem problems Fm: Bill Dickhaus 70325,523 To: LUTE MULLENIX 70721,2230 (X) Lute, Sounds like the problem is the modemphone. It must be handling one of the critical signals in a non-standard way, or at least in a way that the RS232 pak can't deal with (since the RS232 pak does some not so standard things). Not knowing anything about the modemphone, I can't guess what the problem might be. Since the Modem I works, I would suggest sticking with it until you get a chance to upgrade to a "real" modem :-) Bill There is 1 Reply. #: 3406 S7/Telecommunications 10-May-90 19:55:12 Sb: #3400-#Modem problems Fm: LUTE MULLENIX 70721,2230 To: Bill Dickhaus 70325,523 (X) Bill: Yea, I kinda figured on doing that. BTW what would you suggest in the lines of a "real" modem? (For a guy with a Cray II appetite and a Coco budget.) All I've ever used is Tandy stuff. The Modemphone and the Modem I, so when it comes to this stuff I'm not real well versed. >Lute< There is 1 Reply. #: 3420 S7/Telecommunications 11-May-90 18:03:21 Sb: #3406-Modem problems Fm: Paul Rinear 73757,1413 To: LUTE MULLENIX 70721,2230 Lute, I don't know about anyone else, but the prices for 300/1200/2400 baud Hayes compatible modems were all close together, so I just bought the one with the longest warranty (5 years). Paul #: 3285 S11/Non-CoCo OS-9 05-May-90 11:33:52 Sb: #Ram Boards? Fm: Ken Drexler 75126,3427 To: Carl Kreider Carl, Everyone seems to refer to you for SS-50 parts. So . .. Last year I bought a SSB system for use as my law office system. I came with 32K ram boards. These are hot power hogs and I want to replace them with 64K or bigger SS-50 boards which use less power. Do you know of anyone who has 64K or bigger SS-50 ram boards available? I want to get about 256k worth. Thanks for the help. Ken There is 1 Reply. #: 3294 S11/Non-CoCo OS-9 05-May-90 13:41:44 Sb: #3285-#Ram Boards? Fm: Pete Lyall 76703,4230 To: Ken Drexler 75126,3427 (X) Ken - talk to Computer Excellence. I use one in the Gimix. Can use either 64K or 256K's for total RAM of 256K/1Meg. They're at: Computer Excellence 4834 N.E. 12th Avenue Fort Lauderdale, FL 33334 (305) 752-8321 Hope they're still in business! Pete P.S. Runs cool too! There is 1 Reply. #: 3392 S11/Non-CoCo OS-9 10-May-90 00:26:05 Sb: #3294-Ram Boards? Fm: Ken Drexler 75126,3427 To: Pete Lyall 76703,4230 Pete, Thanks for the tip. I will give them a call. Cool sounds good too. My 32k SSB boards use 2.2 amps each. (I also use Digital Research of Texas 64k boards - much cooler.) Ken #: 3286 S10/Tandy CoCo 05-May-90 12:00:51 Sb: #Second Ramdisk solved Fm: Zack Sessions 76407,1524 To: Kevin Darling Kev, OK, I figured out this second ramdisk problem though a process of trial and error. What I was doing wrong was that I was also patching the IT.DRV field ("Drive Number" @ $13) from a $00 to a $01. That appears to have been a no-no. Leaving it a $00, patching $10 to a $01 and the drive name to /r1 (with upper bit in 1 turned on, of course!) does the trick. FYI, one iteration involved changing the Address field in the header to the value you use in your r0 dd in drive /r0 and added one for /r1. That worked too! Wonder why the Dev Pack ramdisk dd are all zeros in the address field? Zack There is 1 Reply. #: 3300 S10/Tandy CoCo 05-May-90 22:35:48 Sb: #3286-Second Ramdisk solved Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Zack - good. It *had* to work . Interesting about the drive number screwing things up tho. Just about any address should work, tho of course our L-II needs either $000xxx or $7FFxxx as the beginning of the address (to keep from using up an 8K block in system map for "mapping in I/O"... which we ain't got!). Both of those address ranges translate out to blocks 00 or 3F... which of course are always already mapped into the system map (see pmap output). - kev e/x #: 3288 S7/Telecommunications 05-May-90 12:37:36 Sb: #3202-sterm.ar Fm: Bud Hamblen 72466,256 To: Steve Wegert 76703,4255 (X) Quite nicely. #: 3296 S1/General Interest 05-May-90 15:32:37 Sb: #read os9 disks in msdos Fm: John Carter 72236,154 To: all Any suggestions for a PD or commercial package to read CoCo OS9 Level I disks (single and double sided) on an MSDOS computer? There is 1 Reply. #: 3332 S1/General Interest 06-May-90 21:01:22 Sb: #3296-read os9 disks in msdos Fm: Dan Robins 73007,2473 To: John Carter 72236,154 (X) John, I'm not familiar with any MSDOS program that will read in the information. PCDOS, a program which runs on Level 2 (although I have never tried it under level 1) will read and write MSDOS files on an MSDOS formatted diskette. Dan #: 3299 S2/Tutorials 05-May-90 18:42:05 Sb: #AR09.BIN Fm: EDWARD J DONOVAN 70635,106 To: WAYNE DAY SYSOP (X) TO WAYNE DAY PLEASE ! CAN YOU HELP ME GET AR09.BIN GOING. AS OF NOW, WHEN I PUT IN A COMMAND LINE TO DECOMPRESS A FILE IT SAYS IT CAN'T FIND THE FILE,AN AND THE FILE IS ON THE SAME DISK. There is 1 Reply. #: 3301 S2/Tutorials 05-May-90 22:43:08 Sb: #3299-AR09.BIN Fm: Kevin Darling (UG Pres) 76703,4227 To: EDWARD J DONOVAN 70635,106 (X) Hi Ed - first, rename "ar09.bin" to just "ar", and either place it in your CMDS directory or load it into memory.... AFTER first doing an "attr ar e pe" to make the ar command executable/loadable. Once you have Ar in memory, CHD to the disk and directory where you wish the extracted files to go (make sure enough room there). Now the file you're about to extract from MUST have the extension ".ar" on its name. So if you downloaded a file called "test", rename it to "test.ar". All that's left is to type "ar -x test.ar" and the files inside will be extracted to your current data dir (which you CHD'd to above). "test" can be anywhere, so you could for example "chd /d1" and "ar -x /d0/test.ar" to make the test file on d0 extract to the disk in d1. Clear as mud? . - kev #: 3302 S10/Tandy CoCo 05-May-90 23:47:19 Sb: #Internals question Fm: Zack Sessions 76407,1524 To: ALL One thing has been bugging me. Where do REL, Boot, and OS9p1 come from? I know that they are not in my OS9Boot file. An ident tells me that, for certain. I know that they come from track 34 on the boot disk, but HOW DO THEY GET THERE? I build a boot disk with an os9gen command, but REL, Boot, and OS9p1 are not in my bootlist file, and they are not modules in my module directory. So, WHERE DO THEY COME FROM?!?!?!? Zack There is 1 Reply. #: 3303 S10/Tandy CoCo 06-May-90 00:35:34 Sb: #3302-Internals question Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Zack - os9gen and cobbler steal the kernel modules (rel/boot/os9p1) from memory. So if you accidentally trash part of one of those modules, the os9gen will then carry on that bad module thru generations of bootdisks... easy to spot this if it happens tho: one of the modules won't show up in MDIR. Easy fix too: just boot with a GOOD bootdisk, and then do another os9gen... which'll take the good modules from memory again. - kev #: 3305 S3/Languages 06-May-90 10:42:00 Sb: #C arrays Fm: Mark Griffith 76070,41 To: All To all: I have uploaded a file into Library 3, called "arrays.txt". This is my comments on the discussion going on in this forum. Please feel free to comment on it as you like. I am also (like Pete), going out of town for a few days. I'm looking forward to the replies that I'm sure will be posted when I get back. Mark There are 2 Replies. #: 3308 S3/Languages 06-May-90 15:16:59 Sb: #3305-C arrays Fm: Bruce MacKenzie 71725,376 To: Mark Griffith 76070,41 (X) Again, I'll have to come to Jeff's defense. I think that nearly everything he's said has been right on the mark, but unfortunately he's been misconstrued. First, lets forget about initialization and memory allocation. That's a side issue and confuses things. Let's talk about pointers and their attributes. Arrays ar implemented in C as pointers. A one dimension array, say char p[12], is implemented as a pointer, p, which is a pointer to the simple data type, char. p[1] is only another way of saying *(p+1), ie what's pointed to by p after it has been incremented by 1. Now a two dimension array, say p[2][12], again is implemented as a pointer, p, which now is a pointer to the complex data type, 'array of 12 characters'. Since the data type is itself an array, implicit in this definition are two pointers, p[0] and p[1] (these are not true variables, stored in memory, but are derived on the fly by incrementing p). These are pointers to the simple data type, char, and point to the start of each 12 character array. So in this manner multidimension array handling is built up by a recursive application of the properties of pointers. Jeff was right on when he said that multidimension arrays are really arrays of arrays. #: 3328 S3/Languages 06-May-90 20:35:01 Sb: #3305-C arrays Fm: Jeff Dege 76426,211 To: Mark Griffith 76070,41 (X) I just read your file ("arrays.txt"), and you seem to suffering from the idea that there are multi-dimensional arrays in C. THERE AIN'T NO SUCH BEAST! "int foo[2][6];" does NOT declare a 12 element array, each of which is an int; it declares a 2 element array, each of which is an array of 6 ints. There is a WORLD of difference. #: 3309 S10/Tandy CoCo 06-May-90 16:19:39 Sb: #Fastgraf / Bounce.ar Fm: TONY CAPPELLINI 76370,2104 To: Kevin Darling Kevin Hi. It's been a long time since I have logged on. I have just relocated again, and am just getting back to os-9. I have downloaded the fastgraf.ar patch (thanx) and installed it succesfully. The increase in grafx speed was amazing. I also downloaded th bouncing ball demo, but it will not run on MY system. Whebn When I type load bounce.b09 from basic 09, it starts to load but immediately comes up with error #034 , and is referring to a line that says err on error goto 100. I looked up the error code in the basic 09 section of the LII manual and it says error #034 missing closing parenthesis. I looked all through the code, but could not find the error. Oddly enough this exact same version of bounce runs on a friends machine. I am not familiar with writing programs in basic 09, only C, so there is a good chance I overlooked it. But it does not explain why the same piece of code runs on another machine. Any suggestions ??? Thanx. TC There is 1 Reply. #: 3335 S10/Tandy CoCo 06-May-90 21:18:21 Sb: #3309-Fastgraf / Bounce.ar Fm: Kevin Darling (UG Pres) 76703,4227 To: TONY CAPPELLINI 76370,2104 Hi Tony! Long time no see! On bounce: I can't remember how much memory it needed, but I thought it was only the default 8K. Hmmm... what does "mem" show you under basic09? Is it possible that you're using the old L-I basic09 (defaults to 4K I think)? kev #: 3310 S10/Tandy CoCo 06-May-90 16:25:44 Sb: #New OS9 ? Fm: TONY CAPPELLINI 76370,2104 To: ALL I have just read in the latest edition of the os9 UG newsletter that Microware has officially announced that they will no longer support level II. If that is true, who is it that is / will be writing this new hot version for the COCO 3? We have all seen fastgraf, right ? The impression I got is that fastgraf was just a sample of what this new version could do. What about those rumours that Dennis Skala has been talking about ? He supposedly saw all these fantastic things running on a coco 3? SO I ask, If Microware isn't going to do it, who is ????? TC There is 1 Reply. #: 3324 S10/Tandy CoCo 06-May-90 20:15:53 Sb: #3310-New OS9 ? Fm: Steve Wegert 76703,4255 To: TONY CAPPELLINI 76370,2104 How about 'a group of independent third parties' ? You can beleieve the rumors ... I've seen some of the nifty stuff too. Steve #: 3311 S1/General Interest 06-May-90 17:18:23 Sb: #2980-#help osterm Fm: Mike Knudsen 72467,1111 To: Zack Sessions 76407,1524 (X) Right -- I ain't THAT stupid, grins! Yes, Delphi's YMODEM sends 1K blocks till the end, as you say. Seems that CIS always starts off with 128 byte blocks. 'Course *maybe* I DL'ed one tiny file, but not likely -- not many around under 1K. --mike k There is 1 Reply. #: 3319 S1/General Interest 06-May-90 20:04:11 Sb: #3311-help osterm Fm: Zack Sessions 76407,1524 To: Mike Knudsen 72467,1111 Are you still seeing the problem? My modem is situated sos I can't see the lights, but every YmodemBatch download I do always come down in 1K blocks (cept for the last ones of course!) Zack #: 3313 S1/General Interest 06-May-90 17:23:39 Sb: #2992-#help osterm Fm: Mike Knudsen 72467,1111 To: Steve Wegert 76703,4255 (X) OK thanks, I'll try that. I think the SET command is just ignored unless CIS is in the right "state" to hear it, but on the DOW command it must know what you mean, grin. --mike k There is 1 Reply. #: 3327 S1/General Interest 06-May-90 20:19:12 Sb: #3313-help osterm Fm: Steve Wegert 76703,4255 To: Mike Knudsen 72467,1111 Mike, Let me know if it works for you. I can understand how frustrating this can be. Steve #: 3312 S15/Hot Topics 06-May-90 17:22:08 Sb: #2987-That Darn Computer! Fm: Mike Knudsen 72467,1111 To: Kevin Darling (UG Pres) 76703,4227 (X) OK Kev, thanks for the list. I'll save it for any Amigoids I run into. Hmmm, I wouldn't want Tandy's Coco3 port of OS9 running heart, tho maybe my large intestine would be OK....mike k #: 3314 S15/Hot Topics 06-May-90 17:25:13 Sb: #3006-That Darn Computer! Fm: Mike Knudsen 72467,1111 To: Kevin Darling (UG Pres) 76703,4227 (X) Thanks for more ammo, Kev. Or a motorcycle, 2 new windsurfers, or a month's supply of cat food (or some people, grin). #: 3317 S15/Hot Topics 06-May-90 17:31:36 Sb: #3051-#That Darn Computer! Fm: Mike Knudsen 72467,1111 To: Paul K. Ward 73477,2004 (X) Well, I need M.Tasking and grafix both, which so far is Amiga, period. And Kev's comparison charts show how that works out -- the "rich man" can't even get some of MM1's features on his Amy. --mike k There is 1 Reply. #: 3371 S15/Hot Topics 08-May-90 22:19:21 Sb: #3317-That Darn Computer! Fm: Paul K. Ward 73477,2004 To: Mike Knudsen 72467,1111 Michael, There is an Amiga "public domain" set of C libraries for MIDI. I believe they are available from Pregnant Badger Music, 916/361-8217. Might be worth calling them to see if you can get a copy. Let me know if it turns out. If the libs are NOT pd, give me a call. Paul #: 3316 S15/Hot Topics 06-May-90 17:29:57 Sb: #3050-#That Darn Computer! Fm: Mike Knudsen 72467,1111 To: Paul K. Ward 73477,2004 (X) Well, I've been itching to put in some Dixie band arrangements, tho probably wouldn't make it down to any other Fests. Schaumburg is a lily-white suburb whose idea of jazz is the Beach Boys and classicaly music is Andy Williams. Just kidding... Still amused that your day job is a night job, grin. There is 1 Reply. #: 3370 S15/Hot Topics 08-May-90 22:17:11 Sb: #3316-That Darn Computer! Fm: Paul K. Ward 73477,2004 To: Mike Knudsen 72467,1111 The greatest thing is that I actually make a decent living at night and work during the day cutting major MM/1 deals. BTW, it's almost time for a couple of press announcement -- cool deals that everyone will be interested in! Support for this computer is STREAMING in!!! Paul #: 3315 S15/Hot Topics 06-May-90 17:27:27 Sb: #3022-That Darn Computer! Fm: Mike Knudsen 72467,1111 To: Colin Smith 73777,1360 Yes, I agree,a and that's why the date has been set back. I've been in favor of getting out a usable port of OSK with a basic windowing interface equivalent to the Coco3's, and let's leave the resizable, overlapping, water-into-wine stuff for later. Or to put it another way, I hope Kev and friends put in just enuf in the first release of OSK to support the applications we want. #: 3318 S1/General Interest 06-May-90 18:59:35 Sb: #OS9 Fm: JOHN HYATT 71760,2744 To: ALL CAN ANYONE TELL ME WHERE I CAN BYE A COPY OF OS9 FOR MY COCO2? IF YOU CAN PLEASE LEAVE ME A MESSAGE OR CALL AT 206-293-8205. THANK YOU. There is 1 Reply. #: 3322 S1/General Interest 06-May-90 20:13:49 Sb: #3318-OS9 Fm: Zack Sessions 76407,1524 To: JOHN HYATT 71760,2744 (X) OS9 Level 1 (or just OS9) is available by mail order through your local Rat Shack or Tandy Computer Center in the Express Order Catalog. Cat #26-3030, price $69.95. If you have acredit card you can order direct by calling 1-800-321-3133. I would suggest that you check around at as many Rat Shacks as you can, cuz someone may still have a copy on the shelf which is probably marked down on a manager's special. Zack #: 3329 S10/Tandy CoCo 06-May-90 20:38:53 Sb: #ROGUE HELP HELP HELP HLP Fm: WAYNE LAIRD 73617,3042 To: ALL several descripances with the docs on it. a. it doesnt tell you to backup the disk to another nor give you the cmd to do so, does this harm the game, something the writers put in to prevent piracy? b when i get to a certain level 7,8 or 9 the 'monsters' will "shut down" and become nothing more than "0's"- I can still find the stairway and go to the different levels BUT the docs say that there are only26 levels yet I find under the above problems getting to levels 29,30 ,31 and so on. c when the above problems start to occur, I also can't pick up anything. d. The graphics come in great but they are all Black & white , is this norm? any help on the above problems is great! best regards wayne ps on "a", i meant if i back it up under another os9 master disk, it seems that the problems occur only under the backed version thus far. There is 1 Reply. #: 3349 S10/Tandy CoCo 07-May-90 18:44:10 Sb: #3329-#ROGUE HELP HELP HELP HLP Fm: Floyd Resler 72500,2572 To: WAYNE LAIRD 73617,3042 (X) I've experienced the 0 problem myself. I haven't seen the problem while using the graphics, however. And, yes, the graphics are supposed to be in black and white. Kind of makes you wonder why the graphics require 512k, huh? There is 1 Reply. #: 3375 S10/Tandy CoCo 09-May-90 00:37:08 Sb: #3349-ROGUE HELP HELP HELP HLP Fm: WAYNE LAIRD 73617,3042 To: Floyd Resler 72500,2572 (X) well floyd, i know that you can open a window under lvII OS9 with only 128k but that didn't do much since it took up all the ram , just for the CMDS @ 128k so probably it's along those lines. best, wayne #: 3330 S7/Telecommunications 06-May-90 20:48:30 Sb: #RE 3293 Fm: LUTE MULLENIX 70721,2230 To: Pete Lyall Pete: I don't think that the carrier detect has anything to do with the problem. If the phone line is disconnected and the modem is turned on, you can hear that there is something being transmitted to the modem. There is no CD at that time. However if I switch off the modem, and turn it back on it locks up the transmit. Then when you exit the program it locks up the window. What is the DTR? How might I configure my modem to assume it is always on? I looked through my manual, and didn't notice anything on it. (I'm learning, but there's a long way to go yet.) >Lute< There are 2 Replies. #: 3344 S7/Telecommunications 07-May-90 18:38:17 Sb: #3330-#RE 3293 Fm: Steve Wegert 76703,4255 To: LUTE MULLENIX 70721,2230 (X) Lute, The RS232 pak requires high signal on DTR, CD and I think CTS before it will listen to a thing being sent to it. Depending on the modem, you can either flip a few dips or send a few commands to accomplish this task. My Hayes 2400 baud modem handles the task nicely with the command string of AT &C0 &D0. Older style modems have a switch you can filp to accomplish the same thing. Real old modems require a jumper of pins 6-8-20 on the cable. You might want to peruse Pete's disertation on serial communications in DL1 called SERIAL.TXT. It might shed some light. Steve There is 1 Reply. #: 3363 S7/Telecommunications 08-May-90 20:35:34 Sb: #3344-RE 3293 Fm: LUTE MULLENIX 70721,2230 To: Steve Wegert 76703,4255 (X) Steve: I don't have any trouble getting things in, it's sending stuff that is the problem. My screen will fill up with all kinds of good stuff until the host wants a reply of some type. IF you look up msg # 3284, you can see what is going on. However, I hooked up an old modem I that I picked up for "just in case" and have logged on twice now with no problems. Know anyone who wants a couple of Modemphone 300s. >Lute< #: 3385 S7/Telecommunications 09-May-90 19:21:12 Sb: #3330-#RE 3293 Fm: Bruce Isted (UG VP) 76625,2273 To: LUTE MULLENIX 70721,2230 (X) ~ Lute, The problem you describe with transmit locking up, and then the program locking up when you try to quit, sounds like your modem isn't asserting DSR. In order for ACIAPAK to work properly with a modem, the modem must always assert DSR, or you must tie DSR on the RS-232 Pak so that it is always enabled. Usually people only have trouble with the 6551 ACIA (thats the one in the RS-232 Pak and clones) because they don't see any characters until the DCD line is enabled... but the DSR problem is even worse when you run into it. The way the ACIAPAK driver works, if DSR is or isn't enabled when the serial port, its OK... and transmit data works. Then, when the modem raises DSR when you first CONNECT, everything still works OK because DSR is valid and transmit is enabled. When the modem disconnects, if the DSR drops *THATS* when the problem occurs. The ACIAPAK driver sees that DSR is no longer valid, so it disables transmit data... which means you can no longer communicate with the modem to force DSR on (if your modem supports such a command), or to do anything else. Finally, when you quit the program it hangs up, because there's transmit data to be sent, and transmit is disabled, so the buffer can't be flushed. The best bet is to look in your modem manual for a DIP switch setting that'll always enable DSR, or to look for a command that'll do the same job. Bruce There is 1 Reply. #: 3405 S7/Telecommunications 10-May-90 19:53:52 Sb: #3385-#RE 3293 Fm: LUTE MULLENIX 70721,2230 To: Bruce Isted (UG VP) 76625,2273 (X) Bruce: The problem is only on start up. If I turn the modem on before the program is exicuted every thing seems to work fine. At the end of a session the modem can be shut off and the program will exit correctly. The problem seems to come only if the program is running when the modem is turned on. (Most of the time, not always) there has been a few times when every thing has worked OK. I have switch to using my old Modem I, it seems to be working properly. So I will stick to using this till I can upgrade to a more suitable unit. I'm using a Disto controller with a 3in1 board, and the ACIA is a 6551, however in the manual that comes with the board it says that the DSR and CTS to the ACIA are always enabled. If this is the case, then I shouldn't have the problem you mentioned should I? Bill Dickhaus seems to think the problem lies with the Modemphone. He feels it must be doing something on startup that something doesn't like. >Lute< There is 1 Reply. #: 3412 S7/Telecommunications 11-May-90 00:58:46 Sb: #3405-RE 3293 Fm: Bruce Isted (UG VP) 76625,2273 To: LUTE MULLENIX 70721,2230 (X) ~ Lute, You're right... if the DSR on the 6551 ACIA is permanently tied to the enabled position, then what I described is not the problem. Since another modem works fine, your best bet is to use the one that works until you upgrade to a faster modem. When you do upgrade, I'd recommend an "AT" command set compatible modem. I'd recommend you stay away from the cheapest fast modems, but there's no need to go out and buy the most expensive, either... unless you absolutely need 100% Hayes compatibility. Bruce PS: I just threw in that "recommendation" because I saw your message asking Bill Dickhaus what modem to get. With most of the modems I've seen you get pretty much what you pay for. The cheap modems often have problems with noise that wouldn't bother a better (more expensive) modem, while the really expensive ones don't perform all that much better, at least not as much as you might expect from their substantially higher price. #: 3334 S15/Hot Topics 06-May-90 21:12:41 Sb: #2406-#Tomcat Computer Fm: Immanuel Freedman 76670,1737 To: Frank Hogg 70310,317 (X) Frank, Will the TC run the new OS-9000 from MicroWare ( with DOS emulation) ? Please add me to the mailing list - your fine products are appreciated. Dr. Immanuel Freedman 9121 Springhill Lane #202 Greenbelt MD 20770 There is 1 Reply. #: 3339 S15/Hot Topics 06-May-90 22:13:33 Sb: #3334-Tomcat Computer Fm: Frank Hogg 70310,317 To: Immanuel Freedman 76670,1737 (X) Yes the TC is capible of running the 680x0 version of OS9000. DOS emulation is only available for OS9000 running on a 386. I will put you on the mailing list and send you out a brochure. Thanks Frank #: 3337 S15/Hot Topics 06-May-90 21:31:06 Sb: CD-I / Amiga Mag Fm: Kevin Darling (UG Pres) 76703,4227 To: all In the May issue of Amazing Computing / Amiga, (with the A3000 on the cover) is a rumor column, which also just happens to talk about CD-I (and mention OS-9) for several paragraphs. The context is this: rumors have been around for a while that Commodore is thinking about a CDROM machine based around the Amiga chips. Actually when I first heard those rumors, I figured they were gonna be another CD-I machine maker, like a lot of companies. But Amiga mags keep saying that no, it'll use the Amiga chips... which makes it less powerful graphically than a true CD-I box, of course. Still, interesting reading. #: 3343 S14/misc/info/Soapbox 07-May-90 17:57:49 Sb: Which new machine? Fm: Mark B. Sheffield 76247,1332 To: ALL I have been following the discussions about the new computers from Kenneth-Leigh Enterprises/Interactive Media Systems and from Frank Hogg Laboratories. Now that most people are familiar with the new machines, I wonder if a concensus is building on them. Are you excited about either machine? Do you plan to buy one? Why should I buy one? Thanks for your replies. -mark #: 3350 S3/Languages 07-May-90 18:47:26 Sb: #BASIC09 Help Fm: Floyd Resler 72500,2572 To: All Does anyone know how to get something from a GET/PUT buffer in BASIC09 and put the information into an array? I basically want to do the same thing as loading a get/put buffer from disk into an array. There is 1 Reply. #: 3354 S3/Languages 07-May-90 20:40:15 Sb: #3350-#BASIC09 Help Fm: Kevin Darling (UG Pres) 76703,4227 To: Floyd Resler 72500,2572 (X) Floyd - need more info: what will the array contain? Pixel colors? Are you already capable of loading a buffer from disk into an array? If so, then peeking in order thru the buffer will be the same virtual thing. You'd first have to map the buffer into your basic09 space tho. See GRAB.AR in Lib 10 for an example. And I'll give you details as we find out what you're needing - kev There is 1 Reply. #: 3360 S3/Languages 08-May-90 17:32:41 Sb: #3354-#BASIC09 Help Fm: Floyd Resler 72500,2572 To: Kevin Darling (UG Pres) 76703,4227 (X) After I posted this message a friend of mine told me about mapping the GET/PUT buffer into the work space and then peeking the data. Quite easy, actually. Don't know why I didn't think of it before! I'm working on a 16 color, 16x16 pixel icon editor. I ran into the problem when I started working on my Icon Set options. Basically, the user can put several icons into one file. This is much more handy, and quicker, than saving icons seperately (which a user can, if he wants). I plan to package this editor along with my MultiEdit program (an AIF/Icon editor for MV) along with a game demonstrating the use of icons created with the editor. Floyd There is 1 Reply. #: 3361 S3/Languages 08-May-90 18:17:40 Sb: #3360-#BASIC09 Help Fm: Kevin Darling (UG Pres) 76703,4227 To: Floyd Resler 72500,2572 (X) Floyd - great! Yell if you run into troubles. One hint: do any GETs on byte boundaries. That is, on X coord's 0,3,7.. if in 4 color, 0,2,4 if in 16 color, and 0,7,15... if in two color. That way, the buffer is aligned to the left bitwise. Oh and try to end with on a byte boundary too. Do you see what I mean? - kev There is 1 Reply. #: 3379 S3/Languages 09-May-90 16:44:10 Sb: #3361-BASIC09 Help Fm: Floyd Resler 72500,2572 To: Kevin Darling (UG Pres) 76703,4227 (X) Yep, I know what you mean. Of course, with 16x16 pixel icons that's real easy! Can't wait to get it finished. I was inspired to write this program from a similiar utility in Rainbow for BASIC. I liked it and wanted one under OS9. By the way, whatever happened to the OS9 version of Kyum-Gai? Floyd #: 3352 S10/Tandy CoCo 07-May-90 19:46:41 Sb: #OS-9 Startup Fm: Bob Archambault 76506,3544 To: ALL When I create a graphics window that is needed to run a particular program, I do it from my startup procedure file so that the window is created automatically when I boot the disk. So far, so good. QUESTION: What command(s) can I put in the startup file so I don't have to press the key to open the window? In other words, I want the startup file to open the window and display it on bootup. Also, I'd like to be able to auto-exec a program FROM that window. HELP ???!!! Bob There are 3 Replies. #: 3356 S10/Tandy CoCo 07-May-90 21:21:43 Sb: #3352-#OS-9 Startup Fm: Zack Sessions 76407,1524 To: Bob Archambault 76506,3544 (X) There is nothing you can do in startup to change to a different window. You will need to patch CC3Go to come in the other window. To auto start a program at boot, put a copy of it in your CMDS directory with the name AutoEx and you're good to go! Zack There is 1 Reply. #: 3366 S10/Tandy CoCo 08-May-90 20:57:15 Sb: #3356-OS-9 Startup Fm: Bob Archambault 76506,3544 To: Zack Sessions 76407,1524 (X) Thanks very much for the info, Zack. Bob #: 3358 S10/Tandy CoCo 07-May-90 21:47:17 Sb: #3352-OS-9 Startup Fm: Kevin Darling (UG Pres) 76703,4227 To: Bob Archambault 76506,3544 (X) Bob, It depends on exactly what you want. If you simply want to always run and goto a certain program, why not just start up other shell windows in the background, and then start the program on /term? Then you ain't gotta go nowhere . Example: * ------------------------------------------------------------ * Script to start a shell window in backgnd and change current * one to gfx window type 8... then start "program" shell i=/w& -t display 1b24 display 1b20 8 0 0 28 18 1 0 2 display 1b21 #: 3359 S10/Tandy CoCo 07-May-90 21:47:43 Sb: #3352-#OS-9 Startup Fm: Kevin Darling (UG Pres) 76703,4227 To: Bob Archambault 76506,3544 (X) For the second example, let's instead start your gfx program on another window and CLEAR to it... note that when you exit the program the window will go away: * ------------------------------------------------------------ * Script to make 80x24 type 7 window and start a program in it. * Create the window, select it, begin program: (display 1b20 7 0 0 50 18 1 0 2 1b 21 >/1&) >/w Step by step: the (parenthesis)>/w starts a subshell with paths like this: 0 stdin < script 1 stdout > new window (/w) 2 stderr >> whatever window you're on now Now the subshell executes its internal line, which first does a DWSET and SELECT with paths like this: 0 stdin < whatever window you're on now (/2 = path 2) 1 stdout > new window 2 stderr >> whatever window you're on now Stdin had to be the current window or the SELECT won't work, y'see. Now we finally fork the program we want (I just used "shell") with the rest of its paths redirected to the new window: 0 stdin < new window 1 stdout > new window 2 sdterr >> new window Kinda like an interlocking puzzle, but if you simply follow each path as you change it, it's really not terribly hard. The key was to make sure only one path (stdout) was opened to /w, and that this SINGLE path got duplicated via the < and >> commands into the remaining paths as needed. - kev There is 1 Reply. #: 3367 S10/Tandy CoCo 08-May-90 21:13:13 Sb: #3359-#OS-9 Startup Fm: Bob Archambault 76506,3544 To: Kevin Darling (UG Pres) 76703,4227 (X) Hi Kev, Thank you much for the info - it was, as you like to say, "Clear as mud", but is now becoming a little clearer . There seems to be only one problem with me using either one of those methods, in order for this program to work, I have to merge stdfonts, stdptrs, & stdpats_4 with my type 7 gfx window before running the program. How do I go about doing this???? By the way Kev, I did get my 512k upgrade (per last months discussions) and it is working great. As you said, OS-9 runs beautifully when it has enough memory to work with. Thanx again, Bob There is 1 Reply. #: 3372 S10/Tandy CoCo 08-May-90 23:09:32 Sb: #3367-#OS-9 Startup Fm: Kevin Darling (UG Pres) 76703,4227 To: Bob Archambault 76506,3544 (X) Bob - the stdfonts etc need only be merged once, to any window device. Do you boot to term.win or a term.vdg? If to a real window, just merge the fonts/etc first and you're done. If you boot to a vdg screen, just merge the fonts/etc to /W. That's it. Glad you got the 512K! Really opens things up, eh? Yeah. - kev There is 1 Reply. #: 3402 S10/Tandy CoCo 10-May-90 18:21:14 Sb: #3372-OS-9 Startup Fm: Bob Archambault 76506,3544 To: Kevin Darling (UG Pres) 76703,4227 (X) Thanks a million, Kev. It worked out great!!!!!!!!!! Bob #: 3362 S10/Tandy CoCo 08-May-90 19:15:47 Sb: #One Meg Tuning Fm: Robert DeBolt 76417,2225 To: 76703,4227 (X) Kev, Well, I went and done it: got the 1-meg upgrade from Disto. Friend of mine installed it for me last evening. The installation went great and I brougnt it home and gen'ed a boot for it using the patched modules. Everything seems to be OK except for DeskMate and Max9 using the hi-res mouse. DM is patched to use the HRM. The cursor is erratic and jumps all over the place and will eventually cause the system to crash. Max9 comes up with the palette menu and when I click the mouse I get error #189. I tried a custom program Mike Haaland helped me with and the HRM werks fine there. The keyboard mouse works fine. What's happening? Bob There is 1 Reply. #: 3376 S10/Tandy CoCo 09-May-90 00:51:43 Sb: #3362-One Meg Tuning Fm: Kevin Darling (UG Pres) 76703,4227 To: Robert DeBolt 76417,2225 (X) Bob - Dunno. One thing people found out was that replacing the R22 jumper with a variable resistor, would let you fine-tune things for your particular Coco/GIME. Somewhere around 40 ohms seems to work for most. Some CoCo's work fine as-is, it now turns out that some need the fine-tuning. We shoulda expected this, I guess, knowing what we know about different machines having sparklies, etc . I think later kits are going to include the variable resistor. I'd get your friend to install one that you can try tuning with. Let me know how it goes! best - kev #: 3365 S1/General Interest 08-May-90 20:49:02 Sb: RAINBOW back issues Fm: Dave Satterfield WB7VET 72405,631 To: All Been cleaning house and got lots of RAINBOW back issues starting 1-83. Anyone need some to round out their collections? Let me know. Dave... #: 3369 S10/Tandy CoCo 08-May-90 21:44:41 Sb: #tmode question Fm: Zack Sessions 76407,1524 To: ALL I have just noticed an apparent anomoly tonight. If I save a window module to a disk file, then change the "pause" from off to on OR on to off, then save the module again the two files are identical. No matter what tmode says the value for pause is, the byte at offset $19 is ALWAYS a zero. Any ideas, anyone? Zack There are 2 Replies. #: 3373 S10/Tandy CoCo 08-May-90 23:10:48 Sb: #3369-#tmode question Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Tmode changes the working path. Xmode changes the actually descriptor... so use it before saving out a module. Uh. that should be "actual" not "actually". groan. There is 1 Reply. #: 3380 S10/Tandy CoCo 09-May-90 17:08:42 Sb: #3373-#tmode question Fm: Zack Sessions 76407,1524 To: Kevin Darling (UG Pres) 76703,4227 (X) Umm, so does that imply that a SS.OPT SetStt call also only changes the working descriptor, and not the actually descriptor? Zack There is 1 Reply. #: 3382 S10/Tandy CoCo 09-May-90 18:39:13 Sb: #3380-tmode question Fm: Kevin Darling (UG Pres) 76703,4227 To: Zack Sessions 76407,1524 (X) Righto. SS.Opt (which tmode does) only works on the Path Descriptor, which is originally is set when created, from the Device Descriptor module. You can imagine why this is... example: your terminal program uses SS.Opt to turn off echo. You sure don't want this to be permanent and affect following programs which might use the same window descriptor later. Same with disks etc. A device descriptor describes the default settings and/or maximum capabilities (like with DS80 drives) of a device. Path descriptors are concerned with currently opened paths/files specific to processes. #: 3386 S10/Tandy CoCo 09-May-90 19:21:15 Sb: #3369-#tmode question Fm: Bruce Isted (UG VP) 76625,2273 To: Zack Sessions 76407,1524 (X) ~ Zack, I'm sure others have already answered, but there's no anomoly at all with TMode. TMode only affects the current path descriptor's options, which are originally copied from the device descriptor's options. If you want to change the device descriptor's options, use XMode instead of TMode. Bruce There is 1 Reply. #: 3391 S10/Tandy CoCo 09-May-90 21:57:28 Sb: #3386-tmode question Fm: Zack Sessions 76407,1524 To: Bruce Isted (UG VP) 76625,2273 (X) I also found that an Overlay window inherits those originally copied options instead of the current path options. Zack #: 3374 S10/Tandy CoCo 08-May-90 23:12:02 Sb: eliminator software Fm: Bruce Isted (UG VP) 76625,2273 To: All Hi All, This is just a quick note to announce an updated version of my Eliminator software. Look for "ELIMSW.AR" in lib 10. It contains an updated DACIA driver that works properly with RIBBS, as well as an updated manual file. Bruce #: 3377 S15/Hot Topics 09-May-90 02:36:47 Sb: CD-I Based Museum! Fm: Kevin Darling (UG Pres) 76703,4227 To: all from NewsGrid: WASHINGTON (MAY 8) BUSINESS WIRE - Capitol Disc Interactive and Philips Mexicana, S.A. de C.V., Tuesday announced the development of a Compact Disc-Interactive (CD-I) system for multimedia point-of-information displays in the Museo Amparo Puebla, a museum dedicated to indigenous Mexican history being constructed in Puebla, Mexico. Museo Amparo, the first museum in the world to incorporate Compact Disc-Interactive technology in its design, will utilize twenty-eight CD-I kiosks throughout the building. Each disc will contain language tracks in Spanish, English, French and Japanese. As Amparo visitors move from room to room, they will plug headsets into the kiosks and, through Philips 20" touch screen television monitors, they can learn at their own pace about the historic context of the display room's treasures. A moving "time-line" will provide the foundation for understanding the age and context of the displayed objects through comparisons with developments in other ancient civilizations. Through CD-I, games and tasks of ancient civilizations will involve the viewers in the ancient cultures. #: 3381 S10/Tandy CoCo 09-May-90 18:11:42 Sb: #PhatomGraph Fm: Floyd Resler 72500,2572 To: All I just purchased PhantomGraph and am having some difficulties. I followed the instructions on saving out the sample "Camp Costs" graph. But when I try to OPEN it, the program can't find the file. Is there a special extension that PhatomGraph is looking for? There is 1 Reply. #: 3390 S10/Tandy CoCo 09-May-90 21:55:51 Sb: #3381-#PhatomGraph Fm: Zack Sessions 76407,1524 To: Floyd Resler 72500,2572 (X) The documentation isn't quite explicit enough. I forget the exact sequencem, but after entering the name you have to click INSIDE the dialog box to actually save the graph. Zack There is 1 Reply. #: 3394 S10/Tandy CoCo 10-May-90 13:13:48 Sb: #3390-#PhatomGraph Fm: Floyd Resler 72500,2572 To: Zack Sessions 76407,1524 (X) Yeah, I figured that out after I left the message. I also found out that if you run it in a 16 color window you have to have STDPATS_16 merged in. Makes sense, but it took me forever to figure out why I kept getting an undefined buffer error when I ran it from my OS9 system but it would run fine from the PhantomGraph disk. I like the program, though. It's fun to play around with. There is 1 Reply. #: 3397 S10/Tandy CoCo 10-May-90 15:51:56 Sb: #3394-#PhatomGraph Fm: Zack Sessions 76407,1524 To: Floyd Resler 72500,2572 (X) The only real problem Phantomgraph has is printing. If you use a DMP-105/6, you'll need to patch the driver. I have the patch around somewhere, let me know if you need it. Also, even when you have patched the driver, it takes it about 45 minutes to dump ONE graph!! Zack There is 1 Reply. #: 3418 S10/Tandy CoCo 11-May-90 16:06:46 Sb: #3397-PhatomGraph Fm: Floyd Resler 72500,2572 To: Zack Sessions 76407,1524 (X) I tried to print a graph on my Star NX1000 and what a mess! Although I could make out the graph (short of), it was so large and spread out. #: 3388 S10/Tandy CoCo 09-May-90 21:02:18 Sb: #CoCo List Fm: Randy Wilson 71561,756 To: 76703,4255 (X) Steve, You said to yell if problems arose with the CoCo List. Well, I'm yellin'. I've subscribed twice in the last ten days, and haven't heard a peep put of LISTSERV. Is this normal behavior, or am I doing something wrong? BOth times I copied the instructions to the letter, capslock and puncuation included. Randy (being ignored by the outside world) Wilson P.S. The times I subscribed were Sun. April 29(?) at 10pm, and Sat. May 5 at about 6pm. Possible that LISTSERV only works 9 to 5 M-F??? There are 2 Replies. #: 3389 S10/Tandy CoCo 09-May-90 21:07:54 Sb: #3388-#CoCo List Fm: Steve Wegert 76703,4255 To: Randy Wilson 71561,756 (X) Randy, I've been getting my LISTSERV mail just fine. The traffic has dropped off quite a bit (only had 7 messages when I logged on), but it's out there. Did you get any acknowledgement from the LISTSERV when you subscribed? Can you show us what exactly you sent ...and to what address? Steve There is 1 Reply. #: 3403 S10/Tandy CoCo 10-May-90 18:50:38 Sb: #3389-#CoCo List Fm: Randy Wilson 71561,756 To: Steve Wegert 76703,4255 (X) Steve, No acknowledgement either time. I hand typed the message in both times. Couldn't see a need to upload a file for one line. It went something like this: SUBSCRIBE COCO Randy Wilson /ex Send to: >INTERNET:LISTSERV@puuc.bitnet Subject: subscribe coco I took it verbatum from the instructions. Do you have to REGISTER first? While I have you, I've seen mention of Eplex mailboxs overflowing. I take weekend trips that last up to five days. Will this present any problems with the list?? Randy There is 1 Reply. #: 3409 S10/Tandy CoCo 10-May-90 21:47:53 Sb: #3403-#CoCo List Fm: Zack Sessions 76407,1524 To: Randy Wilson 71561,756 (X) Hey SYSOP!!! You need to read the message this is a reply to. There is obviously a file in the libs which has the wrong address for the COCO Listserver on the BITNET. The address should be: >INTERNET:LISTSERV@pucc.bitnet ^ This character -----+ is inadvertanly reported as a u, as in puuc. Hope this helps, Randy. Zack There is 1 Reply. #: 3411 S10/Tandy CoCo 10-May-90 23:19:54 Sb: #3409-CoCo List Fm: Randy Wilson 71561,756 To: Zack Sessions 76407,1524 (X) Zack, BINGO!! I just went thru the file again, and counted 15 pucc's, and 1 puuc. Guess which one I was using as an example.... I shoulda caught this one myself. Thanks! Randy #: 3401 S10/Tandy CoCo 10-May-90 17:46:20 Sb: #3388-#CoCo List Fm: Bill Dickhaus 70325,523 To: Randy Wilson 71561,756 (X) Randy, It very well could be that the LISTSERV was down at those times. Many of the Bitnet lists run on university computers, and lots of those shut down on weekends, especially sunday. As Steve mentioned, you should have received an acknowledgement to your SUBSCRIBE command. Most of the Bitnet (and any other Internet type nets) run in real time, but response times are some times incredibly slow. So when you send your message to the list, it gets sent immediately, but may takes hours to get there, depending on how long each intermediate node hangs on to the message before it passes it on, or, in some cases, an intermediate node is down and the message is held until that node is back up again. Its also possible the message went into the twilight zone, never to be seen again! (Seriously, internet "protocol" says that a message does not have to be, and may not be, delivered to its destination and can be summarily dumped at any point along the way). Bill There is 1 Reply. #: 3404 S10/Tandy CoCo 10-May-90 18:50:49 Sb: #3401-CoCo List Fm: Randy Wilson 71561,756 To: Bill Dickhaus 70325,523 (X) Bill, Ahhh, so my joke about business hours only just might be the case. I'll try again tonight, or should I carry the puter to work and do it tommorrow? Randy #: 3393 S15/Hot Topics 10-May-90 05:51:08 Sb: #OS9 A/O Uniflex??? Fm: Dan Robins 73007,2473 To: Paul Ward 73477,2004 Paul, I heard a rumor yesterday (not from anyone in Raleigh, either..grin) that you folks at Kenneth-Leigh Ent. are now considering the Uniflex operating system (whether it's an AND/OR with OS9, I don't know) for the MM/1 computer. I would hope we'll see the OS9 Operating system on the MM/1.... Care to comment???? Dan There is 1 Reply. #: 3408 S15/Hot Topics 10-May-90 21:11:00 Sb: #3393-#OS9 A/O Uniflex??? Fm: Steve Sampson N5OWK 75136,626 To: Dan Robins 73007,2473 (X) Just a note to say TSC became UniFlex Ltd or some such, and are pushing their new software with gusto. There's probably all sorts of deals being made. Their goal being to become "The" 68k Operating System. They're still priced out of my range though. Probably got some good bulk discounts though. There are 2 Replies. #: 3410 S15/Hot Topics 10-May-90 22:46:15 Sb: #3408-OS9 A/O Uniflex??? Fm: Dan Robins 73007,2473 To: Steve Sampson N5OWK 75136,626 Steve, Well...what I heard is just a rumor. And a surprising one. I thought (due to the message traffic, etc.) that the MM/1 had OS9 locked in....but lord knows what this latest rumor is all about. Dan #: 3415 S15/Hot Topics 11-May-90 01:43:09 Sb: #3408-OS9 A/O Uniflex??? Fm: Kevin Darling (UG Pres) 76703,4227 To: Steve Sampson N5OWK 75136,626 Steve - interesting thing is, the MM/1 has the hardware needed for running UniFlex. And yeah, they may be getting smarter, price-wise. You can't become "the 68K operating system" by charging as much as they normally do . As another sidenote, GEM is also available for 68070/VSC systems. No idea what their prices are like tho. #: 3395 S10/Tandy CoCo 10-May-90 14:03:40 Sb: Pictures Needed Fm: Dale L. Puckett 71446,736 To: All Here's a chance to put your picture -- or a friends -- in a history book! We desperately need pictures of people using CoCo's. We need to see people -- especially those who have pioneered unusual applications on their own in the far corners of the world. We need pictures of CoCo's being used by big corporations to do real work. Don't forget, everyone loves pictures of children. If you have a shot of your son or daughter hard at work -- or play -- on your CoCo let us see it. We also need pictures of gadgets that people dreamed up and hooked up to their CoCo. We need pictures of any gags people may have pulled ... at home or at Rainbowfests ... or anywhere. Anything that shows the important part the CoCo played in American life. If you have a picture ... funny or serious ... of you with someone famous ... Kevin Darling, Marty Goodman, Wayne Day, etc. Give us a chance to print it. Or maybe, you have a picture of someone famous outside the CoCo community -- a Mayor, Governor, Congressman, President, Actor, Author, etc. using your CoCo. We'd love to see it! Please mail your pictures to our new Kansas address. If you have any questions ... drop us a note here. Or, write: Dale and Esther Puckett, 23440 West Highway 54, Goddard, KS 67052 -- we're on the Yellow Brick Road. Really! If you want to call: 316-794-2347. Or, leave us your number here and we'll try to get back to you. CoCo: An Affectionate History of the Tandy Color Computer is your book. We hope to hear from you soon. Thanks! Dale and Esther #: 3396 S10/Tandy CoCo 10-May-90 15:39:59 Sb: Anecdotes Needed Fm: Dale L. Puckett 71446,736 To: All Here's a chance to be remembered in CoCo History! We desperately need anecdotes and stories about the people who have kept the Color Computer alive during the past 10 years for CoCo: An Affectionate History of the Tandy Color Computer. We would like to hear your story too! If you remember any funny "CoCo" stories -- or serious stories for that matter -- please share them with us. We'll do our best to get them into print. We need pictures too. See the related message in Section 10. We would like to hear about the people you know who pioneered both usual and unusal applications for their CoCo. If you know anyone who has hooked up an exotic gadget to their CoCo -- please send us a note describing it. If you know someone who has an anecdote to share, please send us their name, address and phone number. If you witnessed any great gags at home or at a Rainbowfests, let us know what happened. Anything that shows the effect the CoCo had on American culture should be recorded in this book. If you have a story -- funny or serious -- about someone famous ... Kevin Darling, Marty Goodman, Wayne Day, etc. Give us a chance to print it. Please E-Mail (preferred) your stories to us here. Or, send them snail mail to our new Kansas address: Dale and Esther Puckett, 23440 West Highway 54, Goddard, KS 67052 -- we're on the Yellow Brick Road. Really! If you have any questions ... drop us a note here. If you want to call, the number at the Emerald Castle is 316-794-2347. If you leave us your number here, we'll try to get back to you. CoCo: An Affectionate History of the Tandy Color Computer is your story. We hope to hear from you soon. Please Hurry! We must have the first half of the book turned in to Falsoft by the end of June ... the last half by the end of July!!! Thanks! Dale and Esther Press !>