mark@unisec.usi.com (Mark Rinfret) (05/24/87)
Let me start with an apology. As Frank Prindle stated, I really should not have posted all of the stuff I did to comp.sys.cbm. I underestimated the total size of everything and I forgot to consider sites that are probably overwhelmed by large amounts of traffic from unexpected sources (read: groups). Also, I 'hang out' in comp.sys.amiga where it is customary (though possibly inappropriate) to post sources, executables, etc. directly to that group. I'm sorry if I caused anyone (besides Frank) to break into a new pack of Rolaids. Now, with regards to compiling the assembler and ra on Unix, my recommendation is this: DON'T! At least, don't expect to succeed without some pain. After several bug reports came back, I tried it myself for the first time (the Unix additions were not mine) and failed miserably. A couple of nasty bugs also surfaced which are not revealed by C-Power (this stuff DOES WORK when compiled and linked under C-Power on the C64!). There are some diffs at the end of this message that should be applied to the module assm5.c to correct some structure reference errors. Apparently, C-Power lets you misuse structure member (element?) names across structure definitions. That is, a member name from one structure can be applied to another. For instance, the following is possible: typedef structure xyz { structure xyz *next; blah.blah.blah } xyzrec; typedef structure abc { structure abc *abc_next; blah.blah.blah } abcrec; abcrec *ptr; ptr = ptr->next; /* should be abc_next */ This is all well and good as long as the member offsets are the same. When I discovered this problem, I went back through the source and "uniqified" most of the member names - looks like I forgot a few. Another problem that arises when compiling on Unix has to do with some unfortunate implementation dependencies built (not designed) into C-ASSM. On C-Power, int, unsigned, pointer, are all 16 bits. There are at least a couple of cases where this will cause problems on Unix machines having 32 bit pointers. Also, the C-Power include file <strings.h> may have a different name on other systems (<string.h> on SYSV here). The module openfile.c should not be included in the Unix-based version. Unless you really want the ability to do cross-development on Unix, I'd recommend that you forget it. I may move the stuff over to my Amiga and work out the kinks, but I'm not promising any support. To those of you who sent me mail regarding C-ASSM, RA and MRterm, thanks for your feedback. I attempted to respond to your messages but it appears that our mailer is brain-damaged at the moment. One last note on C-Power: About a week ago, I read a message from Steve Punter on ProLine's BBS (416-276-6811) stating that Spinnaker Software (address unknown) had taken over sales (and marketing?) of C-Power. For those of you wanting to play with C on your C64 or 64C computer, this is a dandy little development system. # The following diffs should be applied to C-ASSM source module assm5.c. # A bug in C-Power (revealed by compiling on Unix) allows use of illegal # structure member names. 148c148 < nxtptr = ptr->next; --- > nxtptr = ptr->ext_next; 182c182 < nxtptr = ptr->next; --- > nxtptr = ptr->ext_next; 213a214 > char *malloc(); -- | Mark R. Rinfret, SofTech, Inc. mark@unisec.usi.com | | Guest of UniSecure Systems, Inc., Newport, RI | | UUCP: {gatech|mirror|cbosgd|uiucdcs|ihnp4}!rayssd!unisec!mark | | work: (401)-849-4174 home: (401)-846-7639 |