America Online APPLE II DEVELOPMENT FORUM CONFERENCE LOG Tuesday, April 3, 1990 10:00 pm eastern daylight time Topic: Programming in C and Pascal Forum Leader: Dave Sugar (AFL Dyfet) AFA Gary J Ok, let's get started. AFA Gary J Good evening, and welcome to the Apple II Development Forum. I'm Gary AFA Gary J Jacobson, standing in for Dave Sugar for a while here... Tonight's Topic AFA Gary J is Programming in C and Pascal. AFA Gary J We'll be using protocol to maintain some order here, so if you would like to AFA Gary J ask a question, type a "?" on a line by itself, or if you have a comment AFA Gary J on the current topic, type a "!" on a line by itself. I'll keep track of AFA Gary J who's up next, and will call on you in turn. AFA Gary J It looks like Parik was quick to get the first question of the evening in. AFA Gary J GA, Parik AFA Parik hiya. Whats the MOVELEFT function do in TMLPascalII? Dave Lyons Moveleft...I think it's like an MVN, basically. Dave Lyons (Moves a block of memory to a lower address. More like a BlockMove, I suppose.) AFA Parik ahh, makes more sense now. thanks Doctor Why Dave is correct. (as usual) AFA Parik is a pascal BAnd = AND in assembly, and a BOR = ORA? or EOR? gfa AFA Gary J GA, Dave Dave Lyons Yes, band is "bit-wise and", like AND in assembly. Never used bor, but I bet it's ORA, not exclusive Dave Lyons or. ga AFA Parik better hunt around for Oh! Dondra..er..Pascal and check those truth tables. :) AFA Gary J GA, Doc Doctor Why It is a logical or, there is a BXor that is the exclusive or Doctor Why GA AFA Parik thanks a lot guys! ga AFA Gary J Ok, A2GS has the next question. GA A2 A2GS Was looking at the flyer for the new ORCA linker (ZapLink) and it's suppose to A2GS have "Dot File Support", What the heck is that??? GA AFA Gary J GA, Joey JSchober I don't remember, but I highly recommend ZapLink -- it's amazing! :) GA AFA Gary J :) AFA Gary J GA, Andy A2GS You should know! A2GS Andy.. ShrinkIt I think that mike was referring to .ROOT, .A, .B and so on... file support ShrinkIt mechanisms... linkIIGS needs stuff to be crunched using crunchIIGS first, ShrinkIt zaplink does not. ShrinkIt ga A2GS O.K. never heard it referred to in quite that way. Thanx A2GS GA AFA Gary J Thanks, Andy. Cecil has our next question. GA, Cecil A2GS Or should I say Done! CecilFret i HAVE NOT been in conference for a while. How does one send a flash CecilFret note. I thought Open Apple-F but it has changed. What gives? CecilFret ga AFA Gary J :) AFA Gary J Things have changed. It is now OA-I AFA Gary J (Back to the original Instant Messages) AFA Gary J Hello Dave! AFL Dyfet I had a cold in my node... AFA Gary J Cecil was also telling us about something just before the chat this evening, AFA Gary J could you give us some more details? CecilFret ready Gary? AFA Gary J Yes! :) CecilFret Ok, I had a prepared text on a nice file and find I can't send it direct. CecilFret So excuse some typow. A ten line message is to follow: CecilFret With David Eyes and Ron Lichty, I am proud to announce that CecilFret I have converted the asembly language code in their book CecilFret "Programming the Apple IIgs in Assembly Language" to APW C CecilFret and ORCA/C. Right now, you can buy the disk and three pages CecilFret of notes directly from either myself or Ron Lichty. Later CecilFret on, we hope to have other outlets selling it too. My address CecilFret is Cecil Fretwell, 2605 Highview Ave. Waterloo, Iowa 50702 CecilFret Send $20 and I will send by reply mail a 3.5" disk CecilFret containing both APW C and ORCA/C code CecilFret and the three pages of notes. CecilFret wow CecilFret ga AFL Dyfet Thank you Cecil... Steve Br Does anyone here use TML Pascal II? AFL Dyfet We are using PROTOCOL here tonight, Steve... Steve Br Oh. Sorry. AFA Gary J (I'll put your name in the queue, Steve) AFL Dyfet And in fact, I believe Parik has the next question, but we will get back to you AFL Dyfet shortly, Steve...GA Parik... AFA Parik Origin systems is lookin' for a stud C programmer to port over Ultima VI to the AFA Parik GS!! yah! they'll hand you C code, you work like dickens. call 512-328-0282 AFA Parik for more info (and be prepared to be grilled for qualifications :). ga AFL Dyfet Sounds like a fun project for someone :) AFA Gary J :) A2GS They don't like Assembly Language? AFL Dyfet Well, I guess there is little to speculate on that until someone calls and AFL Dyfet finds out :)... AFL Dyfet Okay, I believe that Steve has the next question and the floor now...GA Steve.. A2GS Sounds like they aren't the II people they used to be! Steve Br Ok. Parik - is Origin based in Austin (I'm in Austin). Also...has anyone used AFA Parik (yes Steve) Steve Br TML Pascal II extensively, and if so have you had any major problems with it? AFL Dyfet I have had my share of problems with TML Pascal II, what kind of problems were AFL Dyfet you encountering, Steve? Steve Br Well, I haven't used it too much yet. I have it - I upgraded from the original Steve Br TML Pascal. I have used it some, and have had problems. I am about to write Steve Br a pascal program, and wondered if I should use my TML or try something else. Steve Br I have mainly had memory problems when trying to compile. Also, I have had.. Steve Br .. problems trying to use the resource editor. AFL Dyfet Well, at the moment, the only other choice seems to be Orca/Pascal, which also AFL Dyfet means using the Orca shell environment. As to problems with the resource AFL Dyfet editor, yes, a number of people have had problems with it... AFL Dyfet Has anyone else had experiance with TML Pascal II they wish to comment on? AFL Dyfet Go ahead Cecil... CecilFret Vince Cooper is supposed to be the Pascal Guru at TML. You might CecilFret try to talk to him. CecilFret ga JSchober (screen name "AFL Vince" :-) AFA Gary J (AFL Vince) CecilFret (forgot that, thanks) Steve Br Ok. Thanks. AFL Dyfet Okay, I believe our next question is from Whistles...GA Whistles... Whistles What would an upgrade from original TML Pascal to the latest cost now, ....... Whistles and is it worth it in your opinions? Compared to Orca's latest Pascal. Whistles ga AFL Dyfet My own preferences would be tword Orca Pascal at the moment, but I mostly work AFL Dyfet in C :)... AFL Dyfet As to the upgrade cost, I do not recall...I would suggest contacting TML AFL Dyfet directly unless somebody here knows off hand... AFL Marty TML II upgrade price was originally about 50 bucks. Don't know if it's AFL Marty different now though. GA AFL Dyfet Okay, I believe A2 has the floor now...GA A2... A2GS I wrote and assembled a program in merlin 16+ running under GS/OS 5.0, gave it A2GS to a friend who had a merlin running under 4.0 and when he tried to run the JSchober ("Matt DTS GS/OS 3.0. System 5.0.") A2GS program it crashed almost immidiately after it started executing.... A2GS The program works fine under 3.0 (Matt :) A2GS Any ideas? A2GS BTW the program crashes after loading a an uncompressed pic file directly into A2GS screen memory, before even closing the file. A2GS GA AFL Dyfet GA Cecil CecilFret A2GS, you talking about the article in the winter quarterly of CecilFret Call A.P.P.L.E. CecilFret ga A2GS <-- will look it up, thanx AFL Dyfet GA Parik... AFA Parik 5.0 tries not to touch shadowed ram ($01/2000). 4.0 does a lot. may be it.ga AFL Dyfet GA Ron... RonLichty I was going to suggest the same thing Parik did... RonLichty If the screen being written to RonLichty is the shadowed screen, then RonLichty System 4.0 may load your program there. On the other hand, RonLichty System 5.0 never does that unless all other memory is full. RonLichty You should incorporate a call to the Memory Manager asking to RonLichty reserve that memory, and use a dialog to quit gracefully. RonLichty ga AFL Dyfet GA Dave... Dave Lyons A2GS, is your program using any parts of the toolbox? It is *allocating* the screen memory Dave Lyons before using it? (Starting up QuickDraw allocates the $E1 super-hires screen for you, and it may Dave Lyons also allocate the $01 memory *if* you ask it to, under 5.0 and later only.) ga A2GS Loads the program directly into E1/2000, I don't have to allocate memory for A2GS that area. A2GS Even though, technically ,I should. Dave Lyons More than technically...if memory is tight, other stuff can get put there. AFL Dyfet This is true... AFL Dyfet I have seen that happen before... Dave Lyons I'm out of ideas w/o seeing the code. ga AFL Dyfet Okay, any further comments? A2GS The very first thing the porgram does is just load the pic file....can't get A2GS much more straightforward then that, as programs go. AFA Gary J Put in $E1 as opposed to $01?? A2GS Nope, don't want to use shadowing. Dave Lyons Is this in Dave Lyons assembly? Are you setting the B register? A2GS yes, no Dave Lyons So it's using long addressing when Dave Lyons it copies the reference number from the Open block to the Read and Close blocks, then? A2GS I'm using GS/OS calls, and when the ask for the destination address in the A2GS GS/OS call table, I just put e1/2000 Dave Lyons Right, but at some point you have to load the resulting reference number A2GS Never reaches the close call! A2GS right.... A2GS right after I open the file. Dave Lyons from the Open call, and store it somewhere else. If you're not setting B, you need to be using Dave Lyons long addressing for those loads and stores. A2GS I get the ref # and store it in the apporpriate locations for the other call A2GS tables. Scapino If you are loading the full 32768 bytes, the are some bytes between he SCBs Dave Lyons Can you send me a copy of the program? AFL Dyfet Or if you are working from the same segment, a simple PHK and PLB combo will A2GS I enter the routine with a PHK,PLB AFL Dyfet set you to the current bank :)... Scapino and the Pallets that the system might be using. JSchober Oh, you ARE setting B... Dave Lyons (Ah! Then the correct answer was "yes, yes" above.) AFL Dyfet Okay, you do that already... A2GS No, not really I'm just REsetting B A2GS :) AFL Dyfet I couldn't speculate either unless I saw the code then... A2GS What does long addressing have to do with this?? The GS/OS calls are doing all A2GS the work...and they are loading the file! Just not closing it, instead thre Dave Lyons Never mind re: the long addressing...thought you said you *weren't* setting it with the PHK PLB. A2GS system crashes. Dave Lyons If it wasn't set, you *could* be loading and storing stuff in bad banks, overwriting something Dave Lyons important. AFL Dyfet Perhaps this question should be carried to the message area for further AFL Dyfet discussion... A2GS Why?? The GS/OS call tables require long addresses for all the info, ex. A2GS dest. address for data. AFL Dyfet GA Parik... AFA Parik (run it through GSBug. Thats what its for. :) A2GS If I had it..... A2GS :) AFL Dyfet I think we've ran out of the well of ideas for the moment on that one :)...I AFL Dyfet would like to give Woods a chance for his question now...GA Woods... AWoods Has anyone heard plans of a C++ preprocessor/complier for the GS? Thanks. AFL Dyfet Unfortunately no, I haven't heard of one, myself...GA Dave... Dave Lyons Nope, not specifically. I've heard that you can Dave Lyons use the preprocessor (well, really a compiler from C++ into C) part of MPW C++ (on the Mac) Dave Lyons to create C code that you then run through APW C. Last I heard, you *do* have to make some Dave Lyons changes to the resulting C to make it work. Oops--shoulda said APW C *or* MPW IIgs C. ga AFL Dyfet If you have time to spare, you could also try porting (Gnu) G++... AFL Dyfet Okay, I believe Cappy is next...GA Cappy... AWoods Thanks. Cappy OK, q#1: What is the difference between TML II and TML? ..and... Cappy What is the best C comiler for the GS for a beginning C student, such as Cappy myself? AFL Dyfet GA Joe... JSchober Lots. TML (I) is an old, buggy version of Pascal that runs under ProDOS 16... JSchober TML II is a NEW, buggy version (hey, we can't tolerate OLD bugs!) that supports A2GS :) AFL Marty ROTFL JSchober System 5.0, including resources, etc. (2) I like ORCA/C myself -- it's quite Cappy (no.. buggy is Music Studio) JSchober a bit better than APW C, although ORCA has some problems itself. {S GA} AFL Dyfet For educational purposes, Orca C makes more sense, in that it is ANSI AFL Dyfet compatible, which is where all C compilers are going... Cappy Thanks. That's it. (ist year of Pascal and C.) Cappy Oh, is there any UNIX for the IIgs? AFL Dyfet GA Cecil... CecilFret ok, I too like ORCA/C. Mainly because of its speed of compiling. CecilFret There is a new release of ORCA/c coming out soon like the end of themonth CecilFret I am sure many bugs will clear up. Don't blame all problems on ORCA/////c CecilFret The ORCA shell itself has some problems losing memory management. to CecilFret Avoid this, I quit out and come back in. CecilFret Speaking for porting, I started the Lichty conversion to C using APW. CecilFret At the time, ORCA/C was not available. When I got done with APW C and CecilFret started on the ORCA/C version, I had very little problems, really none. CecilFret I am also working with C on an IBM PC AT. TURBOC to be exact. CecilFret the only problems I have had in porting is things like getting the time CecilFret and some printer control problems CecilFret ga AFL Dyfet I've used Mircosloth C on PC's myself :)...and have also done some cross AFL Dyfet porting from/to MS-DOS...Orca/C has proven fairly standard, though a little AFL Dyfet light on some of the standard libraries...GA Cecil... Cappy The only question I had left is if there is any UNIX shells available on the GS CecilFret The problem with the printer is opening it as a stream. I have a cross CecilFret reference program to tell me where all variables and procedures are used. CecilFret I have to have hard copy so for APW C I had to use REDIRECT. On the CecilFret B9 version of ORCA C I got a stream to work, sora. CecilFret ga CecilFret (sorta) AFL Dyfet I think A2 wants to comment :) AFL Dyfet GA A2... A2GS Nope...There is no Unix Shell for any II (to my knowledge) for several reasons A2GS most of which could be overcome in the GS, unfortunately no one has spent or A2GS has the time to do it. BillP thank god A2GS GA AFL Dyfet Not strickly true, A2...There is the C-shell like environment for Aztec C for AFL Dyfet the Apple II, though, of course, it doesn't multi-task...:) BillP oops sorry A2GS Unix Dave Lyons Don't forget Davex (I think it qualifies as "unix-like"). Shareware for $25 from me. ga A2GS Why should it's 8-bit limitation slow anyone down? :) AFL Dyfet :) Tamira bit of a self plug isn't it??? Dave Lyons (Sure...is there a law against self-plugs? :) Tamira CecilFret (Nope, I did one earlier) AFL Dyfet (Oh, and did I mention Command.COM tonight?? :) Dave Lyons (That's MS-DOS-like....) AFL Dyfet Okay, I think we can get to AWoods question now...GA AWoods, you have the floor AFL Dyfet . AWoods Thanks...there were a couple of people on info.apple (comp.sys.apple) AWoods that were planning on a Unix for GS...but havn't heard from them lately. Done. JSchober "IInix", yeah. JSchober (can I mention EBBS while there's a lull in the discussion?? :D ) AFL Dyfet (Well, it's got an ls command and a cat, Dave... :) Dave Lyons (Oh, all right.... :) CecilFret In my opinion, the IIgs does not have enough gas for UNIX. CecilFret FOR myself, under ORCA/C and APW C, I have an alias for the major MS-DOS CecilFret commands. I work withPC all day so get tired of syntax errors at home. CecilFret I also just got a MAC so the PC is almost out of my life (Thank God.) CecilFret ga AFL Dyfet Perhaps not for Unix AT&T style (System 5.x), which now requires 1 meg of core AFL Dyfet for the 'kernal', but for a sane, well developed time-sharing system...hmm...