

#: 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? <grin>.

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' <grin>.
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. <blush>

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 <grin>.

#: 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 <stdio.h>


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!  <grin>
  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?  <hmmm...maybe not>



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? <grin>  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 <enter>

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 <grin>. 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? <grin>. - 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 <CLEAR> 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 <grin>.
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 </1
 program </1

Now all that did was DWEND (1b24) the current window, DWSET (1b20..) it to a
type 8, SELECT (1b21) it to keep it, and start Program. The "</1" stuff is
needed because the standard input of a shell script file is of course, the
script file itself... so you needed to change stdin (<) to whatever window
stdout (/1) was.

<cont'd>

#: 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)

<cont'd>

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 </2; shell <>>/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 <half-grin>. 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 <sigh>.

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 <grin> 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 <grin>.

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 <CR> !>