lishka@uwslh.UUCP (Christopher Lishka) (05/29/87)
I have the oppurtunity to get a C-128 cheap, and since I can't afford the awe-inspiring Amiga yet (even at ~$650 or ~$500), I am jumping at the chance to get ahold of this 2 megahertz machine. Right now I own a C-64 with an older version of C-Power, and although I really the the Operating 'Environment' provided, I am a little turned off by the incredible number of bugs and inconsistencies with UNIX C. My questions then are the following: 1) How good of a value is the C-128 C-Power compiler? I am interested in it mainly for the 2 megahertz operation in 80-column mode, as what I want to do with it does not require graphics. I know that the benchmarks for C-Power aren't that impressive, but it is all I can afford, and it IS only a two megahertz 6502-modifaction. 2) Can the 128 version generate code for the C-64? I know that the the instruction set is the same, and it does not seem unreasonable that the 128 would work with the C-64, considering that C-Power is available for the latter anyway. That only leaves the differences in internal architecture. On the same line, how well does C-Power work in 80-column as well as 40-column mode? I am really interested in 80-column editting, but every now and then I will want to do graphics with the VIC chip, requiring the normal 40-column mode. 3) How fast is it in terms of disk accessing, including compilation time? I use C-Power on the C-64 with an Epyx Fastload cartridge (a marvelous piece of hardware), and the speed difference is very helpful (I don't even mind typing 'disk u;' after each major operation). Does the compilation on the C-128 go faster? Given the expanded memory inside the machine (even though it bank switches), can BOTH the compiler and source code be resident at one time, requiring fewer disk accesses? This is also important, because I plan to write a nice, large program (very modular), and any increase in compile/link time would be very nice. 4) How compatible are the library functions with the ones in the C-64? I know there must be differences becaused of the internal layouts of each machine. Does C-Power provide routines for BOTH machines in the 128 version (cross-compilation to the C-64), and if not, can I get ahold of a decent set for the C-64 that will work with the C-128 version? 5) Lastely, how bad are the bugs? I am a Junior in the Comp-Sci Undergrad department, and since my last course dealt with Operating Systems, we programmed heavily in C. Now I have tried to write the same, modular C code on C-Power-64 that I did in my class, and boy did it crash, crash, crash! It seems that C-Power could not understand the many very helpful typedef's to pointer structures that we had used HEAVILY in my class. Since I am going to be writing something close to a minor coputer language, I NEED those very helpful typoedef's. Thanks for any information that anyone may be able to provide me. Please E-Mail me; if anyone else is interested in the answers to the above, E-Mail me also. I really like these low-level Commodore machines (even though they are now a little outdated as compared to the Amiga), and would not mind owning a C-128 (with 80-columns) at all, given my limited budget. -Chris Lishka -- Chris Lishka /lishka@uwslh.uucp Wisconsin State Lab of Hygiene <-lishka%uwslh.uucp@rsch.wisc.edu \{seismo, harvard,topaz,...}!uwvax!uwslh!lishka
sean1@garfield.UUCP (06/01/87)
In article <243@uwslh.UUCP> lishka@uwslh.UUCP (Christopher Lishka) writes: > > My questions then are the following: > > 1) How good of a value is the C-128 C-Power compiler? I am interested > in it mainly for the 2 megahertz operation in 80-column mode, as > what I want to do with it does not require graphics. I know that > the benchmarks for C-Power aren't that impressive, but it is all > I can afford, and it IS only a two megahertz 6502-modifaction. It is, in my opinion, a good value. If you want to program on a 128, then it is the best value around. It is C, not assembler, which can be very tedious, and the speed you get is great considering that it is a high level language. If you want more speed you have to step down to Assembler level. I too am interested in the 80 columns mode of the 128. The shell that is included works in both the 80 and 40 columns. You might like this. The shell is more friendly, but they have replaced "ls" with "dir" Oh, well... > 2) Can the 128 version generate code for the C-64? I know that the > the instruction set is the same, and it does not seem unreasonable > that the 128 would work with the C-64, considering that C-Power > is available for the latter anyway. That only leaves the differences > in internal architecture. On the same line, how well does C-Power > work in 80-column as well as 40-column mode? I am really interested > in 80-column editting, but every now and then I will want to do > graphics with the VIC chip, requiring the normal 40-column mode. I don't think the compiler can cross-compile for the 64, but as you said, you already have the C-Power for the 64, so there should be no problem...except speed. You should have NO problem editing or writing editors in 80 columns. All of the control movements you need can be done with printf statements, and there are even escape codes to do neat things that the 64 can only DREAM about. And you can switch to 40 columns and back by printing "ESC-X" or by poking a simple location. You can peek that location (I forget which one now) to find out what mode you are in. I wrote a MORE program which will operate properly, regardless of the mode you are in, because it checks first. > 3) How fast is it in terms of disk accessing, including compilation > time? I use C-Power on the C-64 with an Epyx Fastload cartridge > (a marvelous piece of hardware), and the speed difference is very > helpful (I don't even mind typing 'disk u;' after each major > operation). Does the compilation on the C-128 go faster? Given > the expanded memory inside the machine (even though it bank > switches), can BOTH the compiler and source code be resident at > one time, requiring fewer disk accesses? This is also important, > because I plan to write a nice, large program (very modular), and > any increase in compile/link time would be very nice. If you have a 1571 disk drive, as opposed to the 1541, the disk access is approximately 6 times faster. You can also use a speedup cartridge, and I don't even think it affects the BAM. (Not sure there, though...) The compile time is FAST! Because, for the main reason, there are TWO built-in RAM-disks. (They share 191 blocks). You can store your compiler there, plush your sources, and store your .o file there, and the speed is tremendous, because there is NO disk access. Or, you can use two drives, or one. It is up to you, and in either case, it is MUCH faster than the 64 version. The expanded memory in the machine, (128K) allows you to have the RAMdisk, so in a way, your source and your compiler can be resident at the same time. > 4) How compatible are the library functions with the ones in the > C-64? I know there must be differences becaused of the internal > layouts of each machine. Does C-Power provide routines for BOTH > machines in the 128 version (cross-compilation to the C-64), and > if not, can I get ahold of a decent set for the C-64 that will > work with the C-128 version? Not sure. Sorry. > 5) Lastely, how bad are the bugs? I am a Junior in the Comp-Sci > Undergrad department, and since my last course dealt with Operating > Systems, we programmed heavily in C. Now I have tried to write > the same, modular C code on C-Power-64 that I did in my class, > and boy did it crash, crash, crash! It seems that C-Power could > not understand the many very helpful typedef's to pointer structures > that we had used HEAVILY in my class. Since I am going to be > writing something close to a minor coputer language, I NEED those > very helpful typoedef's. The bugs are not too serious. There are a few, and they may cause compatibility problems, but nothing that can't be overcome VERY easily, by changing your programing style. Really, it is no problem. > Thanks for any information that anyone may be able to provide me. No sweat. You may also like the 128 for telecommunications. That is what I am using at this moment. I have a 128, with the 1702 monitor, and an 80 column monochrome monitor at the same time, a 1200 baud 1670 modem, a 1571 disk drive and a mouse. You may be interested to know, that at the same time, you can be displaying graphics on one monitor, (in 40 column mode) and text on the 80 column monitor. I have a program that puts a graphic on the 40 column screen, with a mouse-pointer going, and at the same time, I can be listing my program on the other monitor. I always use the 80 column monitor for Telecommunicating. I use the VT100 emulator that comes with the 1670 modem. It is wonderful! Hope I was of help. /| / / // Sean Huxter |UUCP: {utai,cbosgd,ihnp4,akgua, ____/_/__ __ | | P.O. Box 366 | allegra}!garfield!sean1 -=<_________|__|=|<| Springdale |CDNNET: sean1@garfield.mun.cdn \ \ | | NF, Canada | \ \ \\ A0J 1T0 | "THUNDERBIRDS are GO!" \|
john13@garfield.UUCP (06/02/87)
[] The C-Power and Buddy programs from Proline are now being distributed by Spinnaker, as the Power-C Compiler and the Power Assembler. Both 64 and 128 versions are included in these packages. I don't know what the story is on Proline, whether they are still around or have just sold the rights to these programs to Spinnaker. John PS The combo is a great value (at least around here :-).
jchikin@polyslo.UUCP (Joe Chikin) (06/06/87)
I had previously read on this netnews about a product called C-ASSM. Is C-ASSM the same as Power Assembler/Buddy Assmbler? If it is not the same, what can it do to enhance my C-Power 128 compiler. Can I link my machine language routines directly to my .o files and have them contiguous in memory. I'm having problems trying to open a channel to device number #2 (modem). I can't seem to properly open a channel without it just outputting junk. Please help. Thanks in advance Chikin Joe Cal Poly SLO, Csc Dept. San Luis Obispo, Ca
sentinel@killer.UUCP (The Sentinel) (06/08/87)
In article <354@polyslo.UUCP>, jchikin@polyslo.UUCP (Joe Chikin) writes: > I had previously read on this netnews about a product called C-ASSM. > Is C-ASSM the same as Power Assembler/Buddy Assmbler? If it is not No, it isn't. C-ASSM is an assembler which operates under the C-Power environment. You use the C-Power editor to create and edit source files, and run the assembler as a shell command. And the most important feature of all is that C-ASSM creates C-Power object files which can then be linked with a C program. C-ASSM is, to my knowledge (since it was posted to the net), free of charge. > the same, what can it do to enhance my C-Power 128 compiler. Can I > link my machine language routines directly to my .o files and have > them contiguous in memory. Yes. If you set things up properly, you can write assembly language functions for C. The C-Power environment is also quite nice for developing stand-alone machine language programs as well, especially considering the availability of the linker. > [...] I'm having problems trying to open a > channel to device number #2 (modem). I can't seem to properly open > a channel without it just outputting junk. Please help. To open an RS-232 channel: char params[4] = { 0, 0, 69, 1 }; open(50,2,0,params); Note that the values of the array "params" are the values to place in the RS-232 registers, and the numbers above are for 1200 baud on my 128. The third value may differ between individual 128's... is you get garbage, tweak this value up or down until the garbage goes away. Also, when inputting from the modem, you will get much better results if you use sys() to call the Kernal, instead of using the C library routines. > Thanks in advance > Chikin Joe > Cal Poly SLO, Csc Dept. > San Luis Obispo, Ca -- Rob Tillotson ...ihnp4!killer!sentinel 3922-1 Newport Ave. -or- Fort Wayne, IN 46805 ...rutgers!unirot!sentinel (219) 483-2722 (top one preferred)
jchikin@polyslo.UUCP (06/10/87)
>To open an RS-232 channel: > > char params[4] = { 0, 0, 69, 1 }; > > open(50,2,0,params); > >use sys() to call the Kernal, instead of using the C library routines. > >Rob Tillotson ...ihnp4!killer!sentinel >3922-1 Newport Ave. -or- >Fort Wayne, IN 46805 ...rutgers!unirot!sentinel >(219) 483-2722 (top one preferred) Thanks for the info Rob. Where can I get C-ASSM now? Also, where did you find the info to open the channel. It isn't in the 128 C-Power manual. My manual is only a listing of the various C library calls. Also, do you know where I might find a memory map of C-Power 128. I want to know if I can access zero-page or some of the system vectors in low mem. Thanks again Chikin Joe Cal Poly Slo, CSc Dept. San Luis Obispo, Ca 93401. Address: 61 Broad #216 San Luis Obispo, CA 93401 (805) 544-0907
rayz@csustan.UUCP (R. L. Zarling) (06/12/87)
In article <361@polyslo.UUCP> jchikin@polyslo.UUCP (Joe Chikin) writes: >Thanks for the info Rob. Where can I get C-ASSM now? C-ASSM is available from either of the co-authors, both of whom are regular subscribers to this group: Mark Rinfret mark@unisec.usi.com (sorry, I don't have his address handy) or myself, Ray Zarling lll-crg!csustan!rayz PO Box 932 Turlock, CA 95381 Please send a blank 5.25 inch disk, a postpaid return mailer, and indicate whether you want the 64 or 128 version (the source is the same, thanks to #define, but you get the bithe bitss
sentinel@killer.UUCP (The Sentinel) (06/15/87)
In article <361@polyslo.UUCP>, jchikin@polyslo.UUCP (Joe Chikin) writes: > [...] Also, where > did you find the info to open the channel. [...] It's done the same way as in BASIC. open(a,b,c,"d") in C is the same as OPEN a,b,c,"d" in BASIC. The array of characters I used for the filename holds the values for the RS-232 control register, command register, and user defined baud rate in the same order you would place them in BASIC. I won't go into any more detail... just follow the instructions in the Programmers Reference Guide or any other suitable book. BTW, my mention of Kernal routines in the previous message may have been a bit unclear. It appears from my experiments that the regular C library routines are not really meant for RS-232 I/O and don't do quite what I want. You should probably try them for yourself, though. Anyway, I found that simply calling the Kernal was the easiest way of using the port... for output the C routines were OK, but for input I ended up using the Kernal directly. Finally, in the C open() function, the first number is the file number, which is the same as the channel number under C. So, you can use it anywhere a parameter of type FILE is required. I used 50 in the example, because I am not sure what range the C library uses. > [...] Also, do you know where I might find a memory map > of C-Power 128. I want to know if I can access zero-page or some > of the system vectors in low mem. I'm not sure yet. C-Power steals a couple of vectors, and probably uses every free location in zero page. It also uses the cassette buffer for arguments. If you find any more on this, please post it... in the meantime I'll keep digging and experimenting... -- Rob Tillotson ...ihnp4!killer!sentinel 3922-1 Newport Ave. -or- Fort Wayne, IN 46805 ...rutgers!unirot!sentinel (219) 483-2722 (top one preferred)