|||||| |||||| || || |||||| |||||| || || ||| || || || || ||| |||| |||||| || |||| Your || || || || ||| || || |||||| |||||| || || |||||| |||||| GEnieLamp Computing || |||||| || || |||||| RoundTable || || || ||| ||| || || || |||||| |||||||| |||||| RESOURCE! || || || || || || || ||||| || || || || || ~ WELCOME TO GENIELAMP A2Pro! ~ """"""""""""""""""""""""""" ~ Information Overload ~ ADB Questions ~ ~ Aztec C For ProDOS? ~ ORCA/Debugger in GNO/ME ~ ~ A Quicker Cosine ~ Shell Utilities ~ ~ New Toolbox Reference Manuals? ~ ~ HOT NEWS, HOT FILES, HOT MESSAGES ~ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// GEnieLamp A2Pro ~ A T/TalkNET Publication ~ Vol.4, Issue 26 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Publisher................................................John F. Peters Editor...................................................Tim Buchheim \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// ~ GEnieLamp IBM ~ GEnieLamp ST ~ GEnieLamp PowerPC ~ ~ GEnieLamp A2Pro ~ GEnieLamp Macintosh ~ GEnieLamp TX2 ~ ~ GEnieLamp Windows ~ GEnieLamp A2 ~ LiveWire (ASCII) ~ ~ Member Of The Digital Publishing Association ~ GE Mail: GENIELAMP Internet: genielamp@genie.com ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ >>> WHAT'S HAPPENING IN THE APPLE A2Pro ROUNDTABLE? <<< """"""""""""""""""""""""""""""""""""""""""""""""""""""" ~ May 1, 1995 ~ FROM MY DESKTOP ......... [FRM] HEY MISTER POSTMAN ...... [HEY] Notes From The Editor. Is That A Letter For Me? A2PRO ROUNDTABLE STAFF .. [DIR] DEVELOPERS CORNER ....... [DEV] Directory of A2Pro Staff. News From Online Developers. LIBRARY BIT BONANZA ..... [LIB] RTC WATCH ............... [RTC] HOT Files You Can Download. Real Time Information. LOG OFF ................. [PUB] GEnieLamp information. [IDX]""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" READING GEnieLamp GEnieLamp has incorporated a unique indexing """"""""""""""""" system to help make reading the magazine easier. To utilize this system, load GEnieLamp into any ASCII word processor or text editor. In the index you will find the following example: HUMOR ONLINE ............ [HUM] [*]GEnie Fun & Games. To read this article, set your find or search command to [HUM]. If you want to scan all of the articles, search for [EOA]. [EOF] will take you to the last page, whereas [IDX] will bring you back to the index. MESSAGE INFO To make it easy for you to respond to messages re-printed """""""""""" here in GEnieLamp, you will find all the information you need immediately following the message. For example: (SMITH, CAT6, TOP1, MSG:58/M530) _____________| _____|__ _|___ |____ |_____________ |Name of sender CATegory TOPic Msg. Page number| In this example, to respond to Smith's message, log on to page 530 enter the bulletin board and set CAT 6. Enter your REPly in TOPic 1. A message number that is surrounded by brackets indicates that this message is a "target" message and is referring to a "chain" of two or more messages that are following the same topic. For example: {58}. ABOUT GEnie GEnie's monthly fee is $8.95 which gives you up to four hours """"""""""" of non-prime time access to most GEnie services, such as software downloads, bulletin boards, GE Mail, an Internet gateway, multi-player games and chat lines. GEnie's non-prime time connect rate is $3.00 an hour. To sign up for GEnie, just follow these simple steps. 1. Set your communications software to half duplex (local echo) 8 bits, no parity and 1 stop bit, at 300, 1200 or 2400 baud. 2. Call (with modem) 1-800-638-8369. Upon connection type HHH. 3. Wait for the U#= prompt. Type: JOINGENIE and hit RETURN. When you get the prompt asking for the signup/offer code, type: DSD524 and hit RETURN. 4. Have a major credit card ready, as the system will prompt you for your information. If you need more information, call GEnie's Customer Service department at 1-800-638-9636. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" [EOA] [FRM]////////////////////////////// FROM MY DESKTOP / ///////////////////////////////// Notes From My Desktop """"""""""""""""""""" by Tim Buchheim [A2PRO.GELAMP] o TOP OF THE PAGE >>> TOP OF THE PAGE <<< """"""""""""""""""""""" INFORMATION OVERLOAD For the past few months, I've been suffering """""""""""""""""""" information overload. The bad part is that it has made me slow to complete important things like homework, chores, and most importantly, GEnieLamp. :( On the other hand, I have hopefully been absorbing some of this information thrown at me, and maybe I'll be able to use it. For example, GEnie's new Internet access will allow us GEnie users (including myself) to keep up with newsgroups, such as the programming- oriented "comp.sys.apple2.programmers", or download the newest programs from FTP sites like "grind.isca.uiowa.edu"! Wait! Internet access? From GEnie? That's right! As of April 11, GEnie users now have expanded Internet access. For several years, GEnie has provided Internet email at no extra cost, but now we have access to Telnet, FTP, Gopher, Lynx, as well as a few lesser-known utilities, such as Finger. The only two things missing are Usenet newsgroups (which for now can be read in lynx, but GEnie is currently working on an interface for offline readers as well as an online interface) and SLIP/PPP access (for graphical web browsers, such as Netscape and Mosaic). Of course, SLIP/PPP access is not useful for Apple II users until someone out there writes the software to use it -- so start coding!! :) Back on GEnie, in the A2Pro Bulletin Board, there has been quite a bit of activity recently. Much of it has been in Category 8, Topic 5, entitled "Using the GS Device Drivers", where a discussion is taking place concerning the possibility of writing a driver to mount virtual disks from disk images stored on hard disk. Several people asked me why I left this out of last month's issue. Well, there are two answers, both of which have to do with the fact that these messages, when loaded into WordWorks Pro, are over 150 kilobytes in size. First of all, it would take days just to edit all these messages to put them into the clean, logical, uncluttered [*] format used in GEnieLamp. Second, GEnieLamp A2Pro averages about 60 kilobytes in length. If I had included this particular discussion, it would be about 200 kilobytes. I'm sure many of you out there wouldn't want to take the time to download such a huge file (especially if you're using a 2400 baud modem!) So instead of repeating ALL of it here, I'll just direct you towards Category 8, Topic 5 of A2Pro's BB. It's worth reading, and hopefully at least one of the people working on this project will come up with a usable program. One or two of them already have disk image mounters working.. let's hope that one of them is finished and released to the public so we can all have such a cool program :) Enjoy this issue, and I hope to see you around.. on GEnie, or out there on the 'net! Tim Buchheim GEnieLamp A2Pro [*] Well, at least I hope you find it clean, logical, and uncluttered. :) If you don't, please tell me... I'd like GEnieLamp A2Pro to be as easy to read as possible. [*][*][*] Do you have something to say about GEnieLamp A2Pro? Please post any questions or comments you may have in Category 1, Topic 15 in A2Pro's BB (m530;1). Or, feel free to talk to me (A2PRO.GELAMP) anytime you see me in a Real Time Conference. Readers out there on the Internet: feel free to email me at a2pro.gelamp@genie.com When writing, please tell me where you got your copy of GEnieLamp, if it wasn't on GEnie. I'm always interested to see how many places GEnieLamp ends up :) [*][*][*] [EOA] [DIR]////////////////////////////// A2PRO ROUNDTABLE STAFF / ///////////////////////////////// ______________________________________________ APPLE II PROGRAMMERS & DEVELOPERS ROUNDTABLE _____ ______ ______________________________________________ /_____|/______\ /__/|__| ___|__| Head Sysop: Hangtime (HANGTIME) /__/_|__| /_____/ Your Sysops: Greg Da Costa (A2PRO.GREG) /________|/__/ __ __ __ Todd P. Whitesel (A2PRO.TODDPW) /__/ |__|__/______ /_//_// / Nathaniel Sloan (A2PRO.HELP) /__/ |__|________// / \/_/ Tim Buchheim (A2PRO.GELAMP) [*][*][*] [EOA] [HEY]////////////////////////////// HEY MISTER POSTMAN / ///////////////////////////////// Is That A Letter For Me? """""""""""""""""""""""" By Tim Buchheim [A2PRO.GELAMP] o BULLETIN BOARD HOT SPOTS o WHAT'S NEW o PROGRAMMER'S TIPS o MESSAGE SPOTLIGHT >>> BULLETIN BOARD HOT SPOTS <<< """""""""""""""""""""""""""""""" [*] CAT1, TOP16, MSG{59}..........A2Pro Contests! [*] CAT4, TOP12, MSG{31}..........C and/or C++ for the Apple //e [*] CAT8, TOP5, MSG{119}.........Using the GS Device Drivers [*] CAT11, TOP8, MSG{64}..........Programming Algorithms and Structures [*] CAT15, TOP9, MSG{49}..........ADB Tool Set >>> WHAT'S NEW <<< """""""""""""""""" A NEW CONTEST! Dear Apple IIgs User, """""""""""""" Recently, while working on the new Apple IIgs front end for GEnie, our Front End Project Manager had a disturbing thought. "Wait a second! We don't yet have a name for my masterpiece of Apple IIgs programming, this GEnie front end!" Immediately, he stopped eating his Doritos and drinking his Genny to think of a clever name for his project. Naturally, this disturbed us to no end; after all, if our PM isn't eating Doritos nor drinking Genny, chances are that he's not programming either. And, with our projected release date barely a month away, we knew we had to do something. Then, A2Pro Assistant SysOp Tim Buchheim (A2PRO.GELAMP) had an idea. "I know!" he virtually shouted. "Let's have a contest! We can let GEnie members suggest names for the program, and then everyone will get a vote. That way, -everyone- gets a chance to name the front end, and our PM can go back to what he does best; that is, finish the software!" Tim's suggestion has been soundly applauded... and it is in this spirit that A2Pro presents... The "Name the Apple IIgs Front End" Contest! That's right! From now until May 15th, A2Pro will be accepting applications for the front end's name. Submit your ideas in EMail to A2PRO.HELP. On May 15th, a complete list will be posted in alphabetical order. Voting will ensue, and will last until May 31st. The winners will be announced along with the front end on June 1st (or thereabouts). The winner shall be the name which wins. OK, well, seriously. Whoever gets the most votes (one vote per person or account only, please!) wins eternal fame, as their front end name suggestion will be used on the product. In addition, they will receive a US$9.00 GEnie usage credit. Also, two runners-up will be awarded credits of US$6.00 each. These three users will be listed in the front end's "Read Me" file as well. So, get those entries sent to A2PRO.HELP as soon as possible! Also, watch the A2 and A2Pro bulletin boards on May 15th to learn what choices are available! (A2PRO.HELP, CAT1, TOP16, MSG:59/M530) >>> PROGRAMMER'S TIPS <<< """"""""""""""""""""""""" A QUICKER COSINE A person with whom I've had some e-mail discussions has """""""""""""""" come up with a fast integer cosine function in Pascal. If you have an inclination for numbers, this is quite a boon! I'll let him describe what he's doing, why he's doing it, and put the code with some of the output at the end. You can reach this amazing II person, Ross A. Falconer, at ROSSNE@aol.com. Michael -------------- I came up with the idea for the fast integer cosine function after getting excited about doing a 3D CAD program for the GS..... I was originally going to approximate the transcendentals with fast forier series, but after I tried it I only got a 300% speed increase, being forced to use real numbers. I started up Modulae from FTA and stared at the screen for about an hour. I was wishing I knew what they knew about fast table using routines, but then I decided I could do the Forier series with integers, and about 40 hours later I had the function! It was very hard to keep the accuracy over the entire range of the function because of being forced to use integer division (the div operator). However, the 25 fold speed increase was promising, so I kept at it. Now that I understand what is involved, I think all of the transcendentals could be approximated using integer forier series. Also, another 4 or 5 digits of accuracy should only carry about a 50% speed penalty-not too bad. It's accurate to less than 1/50 degree in the first quadrant (actually between 0 & pi/4) and is better than 25 times as fast as a vanilla Cos(real) function. I think this is the best trade-off between the accuracy of real numbers and the speed of integers. I use longints for my coordinate system so it is relatively easy to implement this formula. Fixed math would make it very simple and requires less memory?. I am interested in how this compares to the speed of a lookup table. I am sure this will be easier to implement than a lookup table accurate to 1/50 of a degree? Comparing integer addition on a 7 Mhz TWGS in ORCA Pascal 2.1 to integer addition in Visual Basic on a DX4/75, the IIGS is about 150% faster. Comparing integer cosines on the IIGS to real cosines on the 486DX4/75, the 486 is about 100 times as fast. I am interested in how fast this method is compared to using tables, all other things being equal. How many times the current 1000 cosines per second on TWGS @ 7 Mhz do you think is possible in assembly, etc? If you could use a suite of integer transcendentals and the technique throws you, I could be persuaded to finish them. Feel free to post my source on genie, I hope to put to use the experience of others myself before long. :) {ORCA/Pascal 2.1 } {Copyright 1987,1988,1991,1993,1994, Byte Works, Inc. } {Integer cosine formula by Ross A. Falconer April 12, 1995 } {Advanced Design Services } {800-859-7568 } {This formula increases the speed of cosine calculation by 25 times. } {Calculates 1000 cosines per second instead of 40 on a 7 mhz TWGS! } {Accurate within 1/50 of 1 degree between 0 < c < pi/4. } {Time it yourself! } program SpeedCos(output); const pi = 3.1415927; var counter : integer; rad : real; degrees : real; d : real; c : longint; e : longint; k : longint; delta : real; degree : real; maxdeg : real; begin writeln('Start.'); maxdeg := 0.0; for counter := 1 to 79 do begin rad := counter / 100; degrees := rad * 180 / 3.1415927; d := cos(rad); c := counter * 10; k := (c * c) div 20; e := 100000 - k + k div 200 * k div 3000; delta := (e/100000 - d); degree := delta * 180 / pi; if abs(degree) > maxdeg then maxdeg := abs(degree); writeln(' radians: ',rad:7:5); writeln(' degrees: ',degrees:5:3); writeln(' cos(real): ',d:7:5); writeln('cos(integer): ',e:7); writeln(' delta: ',delta:6:5); writeln(' degree: ',degree:6:5); writeln; end; writeln; writeln('maximum error in degrees: ', maxdeg:6:5); writeln('Done!'); writeln; writeln; end. Taken directly from the shell: Start. radians: 0.01000 degrees: 0.573 cos(real): 0.99995 cos(integer): 99995 delta: 0.00000 degree: 0.00000 radians: 0.02000 degrees: 1.146 cos(real): 0.99980 cos(integer): 99980 delta: -0.00000 degree: -0.00000 radians: 0.03000 degrees: 1.719 cos(real): 0.99955 cos(integer): 99955 delta: -0.00000 degree: -0.00000 . . . radians: 0.77000 degrees: 44.118 cos(real): 0.71791 cos(integer): 71817 delta: 0.00026 degree: 0.01486 radians: 0.78000 degrees: 44.691 cos(real): 0.71091 cos(integer): 71121 delta: 0.00030 degree: 0.01699 radians: 0.79000 degrees: 45.264 cos(real): 0.70385 cos(integer): 70417 delta: 0.00032 degree: 0.01860 maximum error in degrees: 0.01860 Done! (ANIMASIA, CAT11, TOP8, MSG:64/M530) >>>>> One thing you can do to speed it up without going to assembly is to """"" replace the standard ORCA library functions for things like division with faster versions of the same algorithm (these are usually larger, you don't get things for free...), either by linking them in explicitly so the libraries are not searched for the function, or by patching the system libraries (I don't really recommend this latter option, I prefer my libs to be unspoiled). Todd Whitesel (A2PRO.TODDPW, CAT11, TOP8, MSG:65/M530) >>>>> I'm impressed that he came up with this COS function on his own, """"" but hitting the books would have saved him a lot of time and given better results. A Forrier series expansion does not give the smallest error over a fixed range of the function for a fixed number of terms. Instead, polynomials with cooefficeints that differ very slightly from Forrier series coefficients are used. Also, it's generally best to use a ratio of polynomials for very accurate results. (You can get the accuracy without using a ratio, but you get the same accuracy with fewer calculations using the ratio.) For details, see: Computer Approximations Hart, et. al. Robert E. Krieger Publishing Co. 1978 This one gives precomputed tables. You pick an accuracy, and then look up the appropriate coeffiecients and formulas. Software Manual for the Elementary Functions Cody & Waite Prentice-Hall 1980 This one is more readable, but doesn't give you the tables. Mike Westerfield (BYTEWORKS, CAT11, TOP8, MSG:66/M530) <<<<< I'm impressed that he came up with this COS function on his own, but """"" hitting the books would have saved him a lot of time and given better results. Probably. What I think he's trying to do is go for speed with moderate accuracy. (Fixed-point math with 16 bits limits you to only 4 decimal places of accuracy.) Still, I'm going to forward your reply. I may even check out your sources myself :) Michael (ANIMASIA, CAT11, TOP8, MSG:67/M530) >>>>> > What I think he's trying to do is go for speed with moderate """"" > accuracy. Right. And those tables I mentioned recognize that possibility. For the COS function alone, the tables list 38 different polinomials and algorithm alternatives, ranging from 1st order polynomials to 10th order, and from an accuracy of 2.39 digits to 23.06 digits. They even discuss the relative merrits of the various algorithms for standard binary floating point implementations (like SANE or the 68882), fixed point machines (like the case we're discussing) and decimal machines (think Cobol or a BCD math machine). About the only problem I've had with them is I once needed more accuracy than the tables deliver. :) FWIW, these books are the ones I used to develop the floating point package in the 8 bit ORCA/M. They are at least twice as fast as SANE, and with the exception of a few cases more or less in league with the Pentium chip's problems, they are as accurate as SANE. (Many of the subroutines are far more than twice as fast as SANE, too. That's the smallest difference I've seen.) I'd highly recommend the pair of books to anyone who's interested in the implementation of floating-point or fixed point functions. One more interesting aside: Very few languages deal with the issue of functions other than the standard trig and log functions and their relatives. A few might deal with hyperbolic trig functions, but that's about it. These books go further, showing how to create fast, accurate functions for the likes of Bessel functions and eliptic integrals. Now who could live without those? Mike Westerfield (BYTEWORKS, CAT11, TOP8, MSG:68/M530) >>>>> Hey, Mike... cool sounding books. I printed out your note and will """"" dialup the St. Louis library after I get done with GEnie stuff tonight. JABouchard "Poindexter" Delivered by: CoPilot v2.55 (J.BOUCHARD3, CAT11, TOP8, MSG:69/M530) >>> MESSAGE SPOTLIGHT <<< """"""""""""""""""""""""" AZTEC C FOR ProDOS? I recently acquired Manx's Aztec C v1.05C. Talk about """"""""""""""""""" getting back to basics! It seems to be a fine K&R implementation for the 8-bit // (I love being able to mix p-code and native code), but it's, yes, DOS 3.3.... Can anyone confirm if the ProDOS version ever made it out? And if anyone would have copies that they could upgrade me? Michael (ANIMASIA, CAT4, TOP12, MSG:31/M530) >>>>> Yes, there was a ProDOS version - I've used it. Unfortunately, it """"" doesn't seem to work reliably on a IIgs, although the compiled programs it generates _seem_ to work OK. I wasn't able to completely track down the incompatibility, but something would crash while making ProDOS calls. I can't help you with the upgrade, though -- it was just a loaner. Mike (M.HACKETT, CAT4, TOP12, MSG:32/M530) >>>>> There was a Manx Aztec C for ProDOS. It was advertised in an old """"" Nibble magazine from Oct 88. I couldn't figure out why it wasn't already in my software library, until noticing the $299 price tag. That is the dos 3.3 and ProDOS version. The DOS 3.3 version listed for $199. Never actually seen either, but it looks like an ad for a real product. No version numbers were listed. Your quest has a destination. - James - [IMAGE] (J.GRAY38, CAT4, TOP12, MSG:33/M530) >>>>> No one is going to be able to upgrade you--legally anyway--except """"" the copyright owner. See if you can contact them. The last time someone tried, which was admitedly a while ago, they were still able to get tech support, and the compiler was still for sale. If you do try, let us know what you find out. Mike Westerfield (BYTEWORKS, CAT4, TOP12, MSG:34/M530) <<<<< >>>M.HACKETT [Michael] """"" > Yes, there was a ProDOS version - I've used it. Unfortunately, it > doesn't seem to work reliably on a IIgs, although the compiled programs > it generates _seem_ to work OK. I wasn't able to completely track down > the incompatibility, but something would crash while making ProDOS calls. Not work reliably on a GS? :( Can you elaborate? For my purposes, it would have to. I couldn't see using ved for anything other than cruel and unusual punishment. >>>J.GRAY38 [ James ] > I couldn't figure out why it wasn't already in my > software library, until noticing the $299 price tag. Yeah, go figure :) >>>BYTEWORKS > No one is going to be able to upgeade you--legally anyway--except the > copyright owner. Reality check! Thanks, Mike. > See if you can contact them. The last time someone tried, > which was admitedly a while ago, they were still able to get tech > support, and the compiler was still for sale. If you do try, let us know > what you find out. Sure will. This ought to be interesting :) Michael (ANIMASIA, CAT4, TOP12, MSG:35/M530) >>>>> >Not work reliably on a GS? :( Can you elaborate? For my purposes, """"" >it would have to. I couldn't see using ved for anything other >than cruel and unusual punishment. OK, it crashes! That's about all I can say. I believe it was either the compiler or assembler (the compiler generates assembly source) that was the main culprit, but I can't remember for sure. As I said, I tried once to track down the compiler crashing problem, and found that it was dying inside of ProDOS on a Write call, I believe. I gave up at that point figuring it was less work to just fire up the old IIe. Mike (M.HACKETT, CAT4, TOP12, MSG:36/M530) >>>>> Sounds suspiciously like the problem I was having that caused me to """"" never release GenericTerm 3.4... it was dying inside ProDOS during a Read call... never did find out why... I gave up on that program a few years ago because of it. Dave (JUST.DAVE, CAT4, TOP12, MSG:37/M530) ADB QUESTIONS three questions: (I know people can answer these, they're """"""""""""" not too difficult:) 1) How can I determine whether the keyboard at a certain address is an extended keyboard or not? (I'll be calling this after moving keyboards to different addresses.. I'm experimenting with some weird stuff :) 2) How do I set the caps/num/scroll lock lights on an extended keyboard? 3) Do the partially documented commands in TBR1 actually do anything, or are they still "For future use"? :) (Note: there is nothing in TBR3, system 6 refs, or tech notes about this.. none of these are anything I'd want to use (I'm just dealing with keyboards in the program I'm writing, and other than the two questions above dealing with extended keyboards, I know how to do everything I want to do:) But I would like to know if these do anything.. just out of curiosity :) (A2PRO.GELAMP, CAT15, TOP9, MSG:49/M530) [*][*][*] While on GEnie, do you spend most of your time downloading files? If so, you may be missing out some excellent information in the Bulletin Board area. The messages listed above only scratch the surface of what's available and waiting for you in the bulletin board area. If you are serious about your Apple II, the GEnieLamp staff strongly urge you to give the bulletin board area a try. There are literally thousands of messages posted from people like you from all over the world. [*][*][*] [EOA] [DEV]////////////////////////////// DEVELOPER'S CORNER / ///////////////////////////////// News From The A2Pro Online Developers """"""""""""""""""""""""""""""""""""" By Tim Buchheim [A2PRO.GELAMP] o ONLINE SUPPORT IN A2PRO o USING ORCA/DEBUGGER IN GNO/ME o MAKING HEADS OR TAILS OF SHELL UTILITIES o NEW EDITION OF THE TOOLBOX REFERENCE MANUALS? >>> ONLINE SUPPORT IN A2PRO <<< """"""""""""""""""""""""""""""" CAT TOP COMPANY === === ======= 29 INDEPENDENT DEVELOPERS ONLINE 2 DYA/DigiSoft Innovations Online 8 Simplexity Software Online 14 Quality Computers Q-LABS Online 20 DreamWorld Software Online 26 METAL/FV Software Online 32 Kitchen Sink Software Online 38 EdIt-16 (Bill Tudor) 30 PROCYON, INC. 31 SOFTDISK PUBLISHING 33 GS+ MAGAZINE 34 JEM SOFTWARE 35 PRODEV, INC. 36 THE BYTE WORKS Each month this column feature highlights and news from various developers who provide support via A2Pro. >>> USING ORCA/DEBUGGER IN GNO/ME <<< """"""""""""""""""""""""""""""""""""" DEBUGGER BLUES Does the ORCA Debugger work with GNO/ME? Whenever I set """""""""""""" breaks and then compile in order to use the Debugger, GNO locks up or crashes into the monitor when I launch the compiled exe. I am using Prizm to set the hard breaks in ORCA-C 2.0.3 source, if that matters. The program does work with the Debugger when run from the ORCA text shell. If ORCA Debugger doesn't work with GNO, is there a source level debugger that does? (I'm having enough trouble with C using a debugger and would hate to have to go without one! :) Eric Heim (E.HEIM3, CAT30, TOP2, MSG:163/M530) >>>>> Eric, """"" > Does the ORCA Debugger work with GNO/ME? No. > If ORCA Debugger doesn't work with GNO, is there a source level debugger > that does? Yes -- Splat! (shameless plug :-) ) GS+ sells it now. Mike (M.HACKETT, CAT30, TOP2, MSG:164/M530) >>>>> >> Does the ORCA Debugger work with GNO/ME? """"" > No. What's the problem? When are you: a. Going to fix GNO/ME, or b. Bother to let me know that there is a bug in ORCA/Debugger? Mike Westerfield (BYTEWORKS, CAT30, TOP2, MSG:165/M530) >>>>> Eric, """"" It is possible to use ORCA/Debugger under GNO. The trick is to install ORCA/Debugger _after_ entering GNO by using IR. However, ORCA/Debugger's I/O competes with GNO's so its hard to use. Splat! works much better with GNO. (But Splat! doesn't like the exit() or fork() functions. Isn't it about time for an update, Mike? :) (S.REEVES2, CAT30, TOP2, MSG:166/M530) >>>>> > ORCA/Debugger's I/O competes with GNO's so its hard to use... """"" >Isn't it about time for an update, Mike? Yes. ORCA/Debugger does need some changes, but I/O is _not_ one of them. If I change the I/O, it would severely limit the kinds of programs it could debug. Currently, ORCA/Debugger can debug _anything_ but an interrupt handler. Maybe it's time for an update to GNO, so you can turn off the non-standard tricks it has to use to make multi-tasking work. Those tricks can get in the way of some perfectly legal, and otherwise impossible to write, programs like ORCA/Debugger. Mike Westerfield (BYTEWORKS, CAT30, TOP2, MSG:167/M530) >>>>> This may just be one of those things where neither program can """"" perform well and accomodate the other--that's certainly the case from the ORCA/Debugger side. Incidentally, does GS/Bug have the same problem? I expect it would. If not, it would be interesting to know why. Maybe I missed a trick. Mike Westerfield (BYTEWORKS, CAT30, TOP2, MSG:168/M530) <<<<< Thanx, Guys. Will try the IR trick first, if it proves too """"" difficult, will try Splat! Eric Heim (E.HEIM3, CAT30, TOP2, MSG:169/M530) >>>>> > (But Splat! doesn't like the exit() or fork() functions. Isn't it """"" > about time for an update, Mike? :) I think that was actually directed at me, Mike. (I guess we all need nicknames or something -- there are too many Mikes here!) Yes, Splat! too could use some fixing up (though I wasn't aware of any problems with exit(); fork() yes), and I have plans to do so, but I need to get some other things done first, to try and make a bit of money. The market for Splat! is pretty small, and an update would basically be a labour of love. :-) But keep bugging And Mike W., obviously it is possible to write a debugger that works with GNO (well almost) and all other environments equally well -- I've done it. It wasn't _easy_, which is why it took over 2 years to write. Yes, some consideration of GNO's special features had to be made, but I considered GNO such an important and valuable product that I felt it worth supporting. If you don't, that's fine, but be prepared to hear complaints from those of us who love GNO. Mike (the other one) (M.HACKETT, CAT30, TOP2, MSG:170/M530) >>>>> > (I guess we all need nicknames or something -- there are too many """"" > Mikes here!) Orca/Mike, Splat/Mike... A3D/Michael :) (ANIMASIA, CAT30, TOP2, MSG:171/M530) >>>>> Mike, I looked at doing shell calls from ORCA/Debugger, and ended """"" up rejecting it because of potential problems it might cause in oddball programs if the shell wasn't there--or more likely, if the shell _was_ there and both the debugger and program wanted to use it. :) It's differences like this that have always convinced me that debuggers are one of the few developmen tools that you can't have enough of. Each has its peculiar uses and foibles. I regularly use 3 on the GS, plus some custom debug code I frequently insert into programs. I should probably use Splat!, too. :) And I know what you mean about the small debugger market. Boy do I know. Mike Westerfield (BYTEWORKS, CAT30, TOP2, MSG:172/M530) >>>>> > And I know what you mean about the small debugger market. Boy do """"" > I know. FWIW, I've bought both and haven't regretted either purchase. Michael (ANIMASIA, CAT30, TOP2, MSG:173/M530) >>>>> > Yes, Splat! too could use some fixing up (though I wasn't aware """"" > of any problems with exit(); fork() yes), I think I mentioned this in the Splat! topic a while back. Basically, executing an exit() in Splat! hangs GNO but a return from main() doesn't. (S.REEVES2, CAT30, TOP2, MSG:173/M530) >>> MAKING HEADS OR TAILS OF SHELL UTILITIES <<< """""""""""""""""""""""""""""""""""""""""""""""" FLIP A COIN Head works fine but tail does not output the last ten lines. """"""""""" It only outputs a truncated and garbled copy of the last line. Is there a newer version ? I can get what I need without using tail but if tail work properly *it* would be a much better solution for me. Thanks. > File Blocks Type Modified Created Length Auxtype > > head______________________ 23 EXE 24-Feb-92 24-Feb-92 $2B96 $0100 > tail______________________ 34 EXE 18-Jan-93 16-Jan-93 $4020 $0000 Nez (L.JIMINEZ, CAT30, TOP3, MSG:161/M530) >>>>> Nez, """"" I used tail from ORCA Shell and it gives the last 10 lines of a text file. My version has the same date and size as the one you list. tail -V (gives version number) Version: Tail v1.1 18-Jan-93 Running the same command from gno, it is garbled. I outputted the result to a text file and everything looked fine. 'tail file >editme' There are the lines with $0Ds. Tail is printing all of the lines, but all on the same screen line, and then gno is putting it's command prompt on the same line. Here is a work around. tail numbers >n ; cat n The last 10 lines are outputted to file n and then the cat n command prints the file to the screen. I had cat in my init file as a catalog command and that was overriding the unix cat command. - James - [IMAGE] (J.GRAY38, CAT30, TOP3, MSG:162/M530) <<<<< Hmmm, """"" > 'tail file >editme'.... not as nice as a working 'tail filename' would be but still a tremendous improvement over my alternative. I'll take it and run. Thanks James. Nez (L.JIMINEZ, CAT30, TOP3, MSG:163/M530) >>>>> > Head works fine but tail does not output the last ten lines. """"" I have the same version of tail and it works fine for me. What kind of files are you using? (S.REEVES2, CAT30, TOP3, MSG:164/M530) >>> NEW EDITION OF THE TOOLBOX REFERENCE MANUALS? <<< """"""""""""""""""""""""""""""""""""""""""""""""""""" POSSIBLE NEW PRODUCT I've mentioned a few times that we are looking into """""""""""""""""""" reprinting the Apple IIgs Toolbox Reference series. This is moving along at a glacial pace, but it is moving. I'd like to ask a couple of questions. On the product side, the major consideration is creating a concise, accurate, easy-to-use replacement for the original TBR series, which currently spans 5 books from 2 publishers. The product we envision will replace: Apple IIGS Toolbox Ref. Volumes 1-3 Programmer's Ref. for System 6.0 and 6.0.1 The new product would look something like this: 1. 8.5x7" pages 2. Spiral bindings (like the recent ORCA and Quick Click books) 3. 2-4 volumes (we're just not sure) 4. All information from all sources will be integrated, with a single index. One location will list all information about a tool call! All tools & calls will be alphabetized! You'll be able to _find_ things! 5. Header and prototype information will be included for: ORCA/M macros ORCA/Pascal ORCA/C ORCA/Modula-2 These will basically be copies of the tool declarations from the respecive interface files, except for ORCA/M, which will be the macro model lines. 6. A companion disk version may be available, either as a separate product or bundled. The major thing I'd like to change is the format for the tool calls. In all of the Mac toolbox documentation, Apple includes just the Pascal headers, and uses records, not stack diagrams, for data images. What I propose to do is something similar, except I'd also support languages other than Pascal. So what does that mean? I'd ditch stack diagrams. The disadvantage is they look cool. I'll also get a lot of complaints. The advantages are: I stand a chance of actually finishing the darn thing; it's easy to supply the information in a computer-based form; and the books will be shorter, so they will cost you less and take fewer volumes, making it easier to find a particular tool call. Don't underestimate that last point. It means you will be using about half the number of voumes to find a tool call! Instead of thmbing through 6 volumes, you can use just 3 (or therabouts). The thing I'd like your comments on is the plan as a whole, but especially on ditching stack diagrams in favor of language-specific header files. NOTE: None of this is certain. We still have a few hurdles to jump copyright-wise, but so far those issues have gone well--albeit slowly. Mike Westerfield (BYTEWORKS, CAT36, TOP3, MSG:276/M530) [*][*][*] [LIB]////////////////////////////// LIBRARY BIT BONANZA / ///////////////////////////////// HOT Files You Can Download """""""""""""""""""""""""" By Tim Buchheim [T.BUCHHEIM] >>> SPECTRUM SCRIPTING A2U COURSE <<< """"""""""""""""""""""""""""""""""""" File # 4711 SP.WK10.RTC.BXY (GS) Uploaded on 4/25/95 by A2U.PROF1 About 10K (d/l time approx. 1 minute @ 2400 baud) RTC transcript for week 10 of Spectrum Scripting A2U - this one contains the basic rough-out of the BBS system, and some design specifications that the BBS team will be following. File # 4707 SP.A2U.WK9.BXY (GS) Uploaded on 4/21/95 by A2U.PROF1 About 9K (d/l time approx. 1 minute @ 2400 baud) Week 9's lesson for Spectrum A2U Scripting course. File # 4706 SP.WK8.RTC.BXY (GS) Uploaded on 4/21/95 by A2U.PROF1 About 12K (d/l time approx. 1 minute @ 2400 baud) Transcript of Spectrum A2U Scripting course RTC for week 8, with guests Dave Hecker of SevenHills and Bill Tudor if immesurable fame . They discussed various aspects of using and programming Spectrum XCMDs. File # 4676 SP.A2U.WK8.BXY (GS) Uploaded on 4/10/95 by K.LUCKE About 7K (d/l time approx. 40 seconds @ 2400 baud) Lesson #8 for Spectrum scripting A2U File # 4675 SP.RTC.WK7.BXY (GS) Uploaded on 4/10/95 by K.LUCKE About 6K (d/l time approx. 35 seconds @ 2400 baud) Week 7's transcript for Spectrum Scripting A2U [*][*][*] [EOA] [RTC]////////////////////////// RTC WATCH / ///////////////////////////// Bits and Pieces from A2Pro Real Time Conferences """""""""""""""""""""""""""""""""""""""""""""""" By Tim Buchheim [A2PRO.GELAMP] >>> A2Pro WEEKLY RTC SCHEDULE <<< """"""""""""""""""""""""""""""""" _______ __________ _________ /_______| /_________/ /________/ SEVEN days a week!! /__/__/__/ /__/ /__/ /________/ EAL /__/ IME /__/ ONFERENCES in A2Pro!! /__/ /__| /__/ /__/_____ /__/ /__/ /__/ |________/ WEEKLY SCHEDULE Stop in and say "Hi!" at one of these conferences. We've been giving away quite a few GEnie usage credits (free time) at these conferences, and you may just win the next one! :) Day Time Event Host --- --------------- ----------------------------------- ----------- Sun 8:30pm-11:00pm Weekly Programmers' RTC Sloanie Mon 9:30pm-11:00pm GS/OS and Toolbox Calls Dave Miller Tue 9:30pm-11:00pm 8-bit Programming Russ Nielson Wed 9:30pm-11:00pm HangTime's HyperBar & Grill HangTime Thu 9:30pm-??:?? Informal - Q&A, chat, whatever A2Pro Staff Fri 9:30pm-11:00pm Getting Started with Programming Tim Buchheim Sat 8:30pm-10:00pm Assembly Language Programming Brian Wells NOTE: All times are in Eastern Daylight Time. [*][*][*] Join us any night of the week for quick and friendly programming help! The staff of A2Pro is always available to answer your questions, or to sit and chat about whatever is on your mind! In addition to our regular conferences listed above, join Ken Lucke, the Spectrum 2.0 scripting expert, for the Apple II University (A2U) Spectrum 2.0 scripting course! The class is currently writing a complete BBS system in the Spectrum scripting language! Sign up for the class in the A2Pro Bulletin Board, or feel free to drop in on Sunday night and listen in. See you there!! [*][*][*] [EOA] [LOG]////////////////////////////// LOG OFF / ///////////////////////////////// GEnieLamp Information """"""""""""""""""""" o COMMENTS: Contacting GEnieLamp o GEnieLamp STAFF: Who Are We? GEnieLamp Information GEnieLamp is published on the 1st of every month """"""""""""""""""""" on GEnie page 515. You can also find GEnieLamp on the main menus in the following computing RoundTables. RoundTable Keyword GEnie Page RoundTable Keyword GEnie Page """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" DigiPub DIGIPUB 1395 Atari ST ST 475 Macintosh MAC 605 IBM PC IBMPC 615 Apple II A2 645 Apple II Dev. A2PRO 530 Macintosh Dev. MACPRO 480 Geoworks GEOWORKS 1050 BBS BBS 610 CE Software CESOFTWARE 1005 Mini/Mainframe MAINFRAME 1145 Programming PROGRAMMING 1445 Data Comm. DATACOMM 1450 IBM PC Prog IBMPCPRO 617 PowerPC PPC 1435 PowerPCProg PPCPRO 1440 GEnieLamp is also distributed on CrossNet and many public and commercial BBS systems worldwide. o To reach GEnieLamp on Internet send mail to genielamp@genie.com o Current issues of all versions of GEnieLamp are File Requestable (FREQable) via FidoNet (Zones 1 through 6) from 1:239/260 and via OURNet (Zone 65) from 65:65/1. SysOps should use the following "magic names" to request the current issue of the indicated GEnieLamp platform: Platform Magic Name To Use """""""" """"""""""""""""" GEnieLamp IBM HyperRead ........ GLHYPIBM GEnieLamp IBM Multimedia ....... GLMMIBM GEnieLamp ST ................... GLST GEnieLamp A2Pro ................ GLA2PRO GEnieLamp Macintosh ............ GLMAC GEnieLamp TX2 .................. GLTX2 GEnieLamp A2 ................... GLA2 GEnieLamp PowerPC .............. GLPPC o Back issues of GEnieLamp are available in the DigiPub RoundTable Library #2 on page 1395 (M1395;3). o GEnieLamp pays for articles submitted and published with online GEnie credit time. Upload submissions in ASCII format to library #31 in the DigiPub RoundTable on page 1395 (M1395;3) or Email it to GENIELAMP. On Internet send it to: genielamp@genie.com o We welcome and respond to all E-Mail. To leave comments, suggestions or just to say hi, you can contact us in the DigiPub RoundTable (M1395) or send GE Mail to John Peters at [GENIELAMP] on page 200. o If you would like to meet the GEnieLamp staff "live" we meet every Wednesday night in the Digi*Pub Real-Time Conference at 9:00 EDT (M1395;2). o The Digital Publishing RoundTable is for people who are interested in pursuing publication of their work electronically on GEnie or via disk-based media. For those looking for online publications, the DigiPub Software Libraries offer online magazines, newsletters, short-stories, poetry and other various text oriented articles for downloading to your computer. Also available are writers' tools and 'Hyper-utilties' for text presentation on most computer systems. In the DigiPub Bulletin Board you can converse with people in the digital publishing industry, meet editors from some of the top electronic publications and get hints and tips on how to go about publishing your own digital book. The DigiPub RoundTable is the official online service for the Digital Publishing Association. To get there type DIGIPUB or M1395 at any GEnie prompt. >>> GEnieLamp STAFF <<< """"""""""""""""""""""" GEnieLamp o John Peters [GENIELAMP] Publisher """"""""" APPLE II o Doug Cuff [EDITOR.A2] A2 EDITOR """""""" o Gina E. Saikin [A2.GENA] A2 Staff Writer o Charlie Hartley [C.HARTLEY3] A2 Staff Writer A2Pro o Tim Buchheim [A2PRO.GELAMP] A2Pro EDITOR """"" ATARI ST o John Gniewkowski [GENIELAMP.ST] ATARI ST EDITOR """""""" o Bruce Smith [B.SMITH123] EDITOR/TX2 o Mel Motogawa [M.MOTOGAWA] ST Staff Writer o Sheldon Winick [S.WINICK] ST Staff Writer o Terry Quinn [TQUINN] ST Staff Writer o Richard Brown [R.BROWN30] ST Staff Writer o Al Fasoldt [A.FASOLDT] ST Staff Writer IBM o Bob Connors [DR.BOB] IBM EDITOR """ o Nancy Thomas [GELAMP.MM] MultiMedia Editor/Writer o David Leithauser [D.LEITHASUER] HyperRead Editor o Brad Biondo [B.BIONDO] IBM Staff Writer o Billy Storey [B.STOREY] IBM Staff Writer MACINTOSH o Richard Vega [GELAMP.MAC] MACINTOSH EDITOR """"""""" o Tom Trinko [T.TRINKO] Mac Staff Writer o Bret Fledderjohn [FLEDDERJOHN] Mac Staff Writer o Ricky J. Vega [GELAMP.MAC] Mac Staff Writer POWER PC o Ben Soulon [BEN.GELAMP] POWER PC EDITOR """""""" WINDOWS o Bruce Maples [GELAMP.WIN] WINDOWS EDITOR """"""" ETC. o Jim Lubin [J.LUBIN] Add Aladdin Scripts """" o Scott Garrigus [S.GARRIGUS] Search-ME! o Mike White [MWHITE] (oo) / DigiPub SysOp o Susie Oviatt [SUSIE] ASCII Artist o Al Fasoldt [A.FASOLDT] Contributing Columnist o Phil Shapiro [P.SHAPIRO1] Contributing Columnist o Sandy Wolf [S.WOLF4] Contributing Columnist [*][*][*] \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// Bulletin board messages are reprinted verbatim, and are included in this publication with permission from GEnie and the source RoundTable. GEnie, GEnieLamp Online Magazines, and T/TalkNet Online Publishing do not guarantee the accuracy or suitability of any information included herein. Opinions expressed are those of the individual, and do not represent opinions of GEnie, GEnielamp Online Magazines, or T/TalkNet Online Publishing. Material published in this edition may be reprinted under the follow- ing terms only. Reprint permission granted, unless otherwise noted, to registered computer user groups and not for profit publications. All articles must remain unedited and include the issue number and author at the top of each article reprinted. Opinions present herein are those of the individual authors and do not necessarily reflect those of the publisher or staff of GEnieLamp. We reserve the right to edit all letters and copy. Please include the following at the end or the beginning of all reprints: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\//////////////////////////////////// (c) Copyright 1995 T/TalkNET Online Publishing and GEnie. To join GEnie, set your modem to 2400 baud (or less) and half duplex (local echo). Have the modem dial 1-800-638-8369. When you get a CONNECT message, type HHH. At the U#= prompt, type: JOINGENIE and hit the [return] key. When you get the prompt asking for the signup code, type DSD524 and hit RETURN. The system will then prompt you for your sign-up information. Call (voice) 1-800-638-9636 for more information. ////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ [EOF]