America Online APPLE II DEVELOPMENT FORUM CONFERENCE LOG Tuesday, September 8, 1992 10:00 p.m. Eastern Time Topic: ByteWorks Conference with Mike Westerfield Forum Leader: Gary Jacobson (AFL GaryJ) AFL GaryJ Welcome to the Apple II Development Forum! AFL GaryJ Tonight we have a special guest, Mike Westerfield from The Byte Works!! AFL GaryJ Welcome Mike! AFL GaryJ Mike is here to talk about his new products, particularly our scheduled AFL GaryJ topic of the ORCA/Debugger! MikeW50 Gary suggested that I start off with some comments. As usual, I have very MikeW50 little in the way of prepared comments. The topic is nominally debugging & the MikeW50 ORCA/Debugger, but hey, I ain't picky. We've released several other new MikeW50 products recently, including Toolbox Programming in Pascal, Programmer's MikeW50 Reference for System 6.0, and, as of today, Toolbox Programming in C. I'll MikeW50 be happy to field questions about these or any other products. HURLANT I am curious if I will get an opportunity to buy Quick Click. HURLANT Cause I WILL buy everything else. HURLANT That the Byteworks publishes. MikeW50 I doubt it. I showed the program around a bit to gauge the interest level. MikeW50 The reaction that I got was overwhelmingly "If it isn't a 'full' CAD program, MikeW50 don't bother." The definition for full CAD seemed to be AutoCAD plus a few MikeW50 extensions. That's not what I had in mind. ga HURLANT I never saw it. I would like it. $200, $500. HURLANT But if non cad people try it, they will realize it's usefulness. HURLANT Kitchen sink has accudraw, and it is usefull, I hear. HURLANT We use cad at work, and it is useless. A simple, accurate drafting package HURLANT would be Great! HURLANT Screwed out of a great program because some twits want a GS to be a CRAY!!! AFL Marty (GMTA, Hurlant) AFL GaryJ Sounds like you have a fan of your program, Mike :) AFL GaryJ More than one. HURLANT Shoot it at the educational market, who doesn't know you exist! AFA Jay I agree, we use AutoCad at school, I don't think that big of a package is AFA Jay needed for high school archiecture and mechanical drawing. FredW GS What's a high school going to do with CAD? MikeW50 I thought it would be a good program, but the initial reactions just weren't MikeW50 there. I may still do it someday... but it isn't a priority, now. ga AFL Marty You're right, Jay. HURLANT Get swamped in hardware and upgrade costs. AFL Marty Talk about overkill. AFL GaryJ Thanks for the comment/question, Hurlant. Maybe with enough encouragement from AFL GaryJ people like you, Mike will get the message :) HURLANT Until it is released, I will get Accudraw. MikeW50 That's if... not until. :) ga AFL GaryJ Ok, Fred... did you want to ask a question? FredW GS Yes, I do a lot of signal processing... FredW GS Is there an easy way to do a Pascal equivalent of the BLOAD and BSAVE commands? MikeW50 Not really. Pascal's file I/O is a lot more sophisticated than AppleSofts, MikeW50 so you don't generally do things quite that way. Instead, you open a file, MikeW50 and read it as needed. If you want a good look at file I/O in Pascal, you MikeW50 can see any Pascal introductory course, including ours. There _is_ a way to MikeW50 load the whole file using GS/OS, and it's not all that hard, but it isn't as MikeW50 easy as BLoad. One place where this is covered is "Toolbox Programming in MikeW50 Pascal." FredW GS OK, until I get some more time I'll have to stick to MAB for now, thank you. AFL GaryJ Thanks, Mike. Yes, besides the "Toolbox Programming in Pascal", Mike AFL GaryJ offers an introductory Pascal course, as well (which he alluded to). AFL GaryJ Hurlant has the next question. GA, Hurlant. HURLANT When writing a cda, your DP contains the cursor control hooks, etc.$24,$25 HURLANT And you have to avoid overwriting those, correct? MikeW50 No. HURLANT I thought storing data there would alter the cursor position. MikeW50 Not generally. You can use a variety of text output systems, including the MikeW50 BASIC one you are thinking about, but it's not a great idea to be stuffing MikeW50 bytes in the GS's memory. Also, which I/O system you are using depends to some MikeW50 extent on the language you are using. ORCA/Pascal and ORCA/C have a small MikeW50 I/O system all their own, just to make sure they don't interfere with the main MikeW50 program. ga HURLANT So when using the text tools, what I said applies? I am using assembly. MikeW50 The text tools can access any number of different I/O mechanisms. Including MikeW50 BASIC. ga HURLANT Where can I find info about the Basic protocol for the text tools? MikeW50 I don't really know. Dave? Frankly, I stopped using BASIC protcall when MikeW50 something better came along (Pascal) and never looked back. ga HURLANT I will do the same. MikeW50 (Dave? Matt? This is out of my area...) AFL GaryJ It's in one of the manuals... (I can look while going on to the next question). Matt DTS What do you want to know? There's not much to it. Matt DTS You can read or write and that's it -- and reading or writing hangs forever until the device is Matt DTS available. GA. HURLANT I am interested in Programming in assembly book, Mike. MikeW50 I plan to eventually do a "Toolbox Programming in Assembly" course, like the MikeW50 C and Pascal ones we have now. Is that what you're looking for, Hurant? ga HURLANT Yes! They were wonderfully done. AFL GaryJ That will be great, Mike. AFL GaryJ Ok, for anyone who may have come in late, tonight we have Mike Westerfield AFL GaryJ from The Byte Works as our special guest. If anyone has a question on AFL GaryJ any of his products, or some of the newer products he just released (such as AFL GaryJ ORCA/Debugger, Toolbox Programming in Pascal, Toolbox Programming in C, AFL GaryJ or Reference for System 6.0), then type a "?" to get in the question AFL GaryJ queue. HURLANT How does toolbox in c differ from Programming in c? MikeW50 "Learn to Program in C" is an intorductory course, covering the C language and MikeW50 some basic programming techniques. "Toolbox Programming in C" covers GS MikeW50 specific toolbox programming, showing you how to write desktop programs with MikeW50 menu bars, windows, controls, sound, and so forth. ga AFL GaryJ Thanks, Hurlant, and Mike. Our next question is from DYAJim. GA Jim. AFC DYAJim I was just wondering if there is any command in orca/m that i'm overlooking AFC DYAJim that will allow one to copy a binary or related file right into the assembler. AFC DYAJim Like say I have a $800 byte sine/cosine table and I want to embed it right AFC DYAJim into my program, but the table is a BIN file. Is there no way to do this? MikeW50 No, there is no way to do this, short of writing a very short program to MikeW50 turn the binary file into a series of source statements that can be assembled. AFL GaryJ Jim: Parik Rao wrote some ORCA shell commands that will do just that. AFC DYAJim ick. was afraid of that.. what's bad about that is if your file is CHANGING AFL GaryJ They are available in our Library. AFC DYAJim frequently. if I were to use Parik's Sourcerer (which, btw, is buggy - AFC DYAJim it always leaves off or corrupts the last several bytes - so first I'd have AFC DYAJim to debug it :) I would have to re-source the entire source file every time AFC DYAJim it changed, and sourcerer is a slow program. Matt DTS You can easily read it into a resource with Rez's "read" command, and Rez works well (and maybe Matt DTS comes with ORCA languages). GA. AFL GaryJ Right, a resource is the other alternative. AFC DYAJim yes, I thought of rez's read, but sometimes it's just much more convenient AFC DYAJim to embed it right in the program. i'll rethink using rez tho. AFC DYAJim Someone should write a super-efficient "sourcerer" (like parik's but better :) MikeW50 It's really not that hard to just write the DC statements. You can use the MikeW50 copy directive to copy the same file you write. ga AFL GaryJ Jim, one time I had to generate a 256 byte random number table. I did it in AFC DYAJim Yeah, but the trouble is that it's a slow process to have to go thru time AFC DYAJim after time if the file changes semi-frequently.. but thanks for bringing it AFC DYAJim up mike. AFL GaryJ Applesoft, and generated an ORCA compatable text file (with DC's). AFL GaryJ It was pretty easy. AFC DYAJim I bet it was slow :) AFC DYAJim And dropping into BASIC each time to redo it wold be a chore, but I"ll shut AFC DYAJim up and stop complaining so GA :) AFL GaryJ I only had to do it one time! I just needed a table of random hex values. AFL GaryJ (Random the first time :) HURLANT If I randomly drop into GSBUG, from a desktop program, HURLANT I seem to be stuck in the event loop. How do I step into various routines HURLANT easily? Stupid question? MikeW50 That's because your program spends almost all of its time in the event loop. MikeW50 One way to handle this is to set a break point, either in your source code MikeW50 (which is what I generally do) or from GSBug itself. ga HURLANT Like a newwindow type call, etc. AFL GaryJ Either way is an excellent method of debugging code. You can place the break points AFL GaryJ right where you need them, where you need to do the checking and testing. AFA Jay Or use DebugStr from within your program :) AFC SteveB (_DebugStr) AFC SteveB GMTA :) JoyceAnn S I hope this is not too much off the subject, but how is C++ different from c? MikeW50 Basically, C++ is ANSI C with extensions for object oriented programming. MikeW50 There are a _very_ small number of actual changes to ANSI C, but for the most MikeW50 part, C++ is ANSI C with some new stuff added. ga AFL GaryJ Thanks, Mike. Anything else, Joyce? JoyceAnn S This might be dumb but what exactly is object oriented programming ga AFL GaryJ No questions are dumb, Joyce HURLANT A pathetic attempt to emulate IIGS programming! :) MikeW50 :) It's not dumb, but it's not a three-liner, either. In a very, very brief MikeW50 way, object oriented programming is a new way to organize a program. The idea MikeW50 is to encapsulate data and the routines that work on the data in nice, neat MikeW50 little packages. You can then move the pacakges from one program to another. MikeW50 It's sort of like good subroutine libraries carried to an extreme. Onject MikeW50 oriented languages also have features that make it easy to modify the routines MikeW50 that work on the data, so in a lot of cases, instead of starting from scratch, MikeW50 you start with an object written by someone else and tweek it a little. The MikeW50 goal of object oriented programming is to make it easier to develop reliable MikeW50 applications quickly by making more extensive use of existing code, and by MikeW50 making it easier for large groups of people to work together without stepping MikeW50 on each others' toes (at least, as much as normal!) ga AFL GaryJ Thank you, Mike! Good explanation in a *few* lines :) JoyceAnn S So is Hurlant indicating that it already exists on the Gs in the toolbox MikeW50 Well.... sort of. The toolbox fits in well with object oriented programming, MikeW50 and it sure fits into the ideas. After all, the toolbox is a large set of MikeW50 prewritten routines that you can build on, or even modify or replace if you're MikeW50 feeling lucky. While it fits in well with object oriented programming, though, MikeW50 and fills many of the same needs, the toolbox is not in-and-of itself stricly MikeW50 object oriented. After all, to date, there aren't even any object oriented MikeW50 languages on the GS! On the other hand, object oriented programming is a MikeW50 concept, not a language. Just as you can use structured programming ideas in MikeW50 a non-structured language (like assembly or BASIC), you can also use object MikeW50 oriented programming ideas in any language, and the toolbox does that, to a MikeW50 degree. ga JoyceAnn S Thanks for that explanation. I understand the idea much better now. AFL GaryJ Thanks Joyce and Mike. Hurlant has the next question. GA, Hurlant HURLANT Prototyped headers for C are for the purpose of verifying the variables passed HURLANT to and returned from a finction, correct? HURLANT function MikeW50 Yes, and functions, too. :) The also allow the compiler to convert parameters MikeW50 to the correct type in many cases. For example, if you pass 1 (an integer) to MikeW50 a function that expects a float, with prototyped parameters, the compiler can MikeW50 quietly make the proper conversion. ga HURLANT Remarkable! HURLANT Has the response been good so far? MikeW50 The response seems fine. I've had enough requests that they will definitely MikeW50 be in the next version of C, though. ga HURLANT I would like to thank Mike for his work that really guarantees the usefullness HURLANT of my GS for YEARS to come! AFL GaryJ Very very true, Hurlant. MikeW50 Thanks! I'll be here as long as you guys keep paying my rent! :) JoyceAnn S How can we resist with the good products you keep making! AFL GaryJ The Byte Works has released quite a few new products in the last few months. You seem AFL GaryJ to be on a roll! What do you have in store for the future? MikeW50 Well, we're in a cycle of releasing things we've been working on for some time. MikeW50 As of today, we're shipping "Toolbox Programming in C," the course that you've MikeW50 seen for Pascal, only for the C language. At some point, there will be an MikeW50 assembly language version of the same course. MikeW50 I've also been doing a lot of work getting the products up to date, taking MikeW50 advantage of the new O/S geatures, improving code generation, and adding new MikeW50 features. You've already seen ORCA/M 2.0, and you can expect to see similar MikeW50 improvements in C and Pascal late this year and early next year. MikeW50 I'm also workgin with some outside authors. One of those projects should MikeW50 bring a Modula 2 compiler to the ORCA environment sometime soon, probably MikeW50 early next year. We're also working towards an animation toolset. And, once MikeW50 I get the 2.0 C and Pascal out, there are several other products that need MikeW50 updates. MikeW50 I'm still looking for new ideas for GS products; that's part of what QC Draw MikeW50 was all about. I'm not sure what you'll see from me after the current cycle, MikeW50 but I do plan to release more GS products after this cycle is finished. If you MikeW50 have any ideas, I'd love to hear them! ga AFL GaryJ Modula 2! A few people have been asking about that. It sounds like you have plenty to work on! Spottysoft Mike... will we (Orca/C owners) be getting a flyer/order form for the Toolbox Spottysoft C course soon? ga MikeW50 Spotty, I've sent out a prerelease letter to everyone who a) has C and b) has MikeW50 registered something with us in the last year. A more extensive mailing is in MikeW50 the works. Now that we're shipping (as of today!) I'll also be uploading MikeW50 announcements in our indstry connection area, hopefully before the end of the MikeW50 week. Spottysoft Okay... thanks. I have a couple of things I need to order from you still Spottysoft I missed out on the Orca/Debugger offer.. :( Spottysoft <--got tied up with too many things :/ MikeW50 Wait for the Tollbox C offer, then, Spotty -- there's a bundle with the MikeW50 debugger! ga AFC SteveB Yay :) Just an idea for a feature I'd love to see in ORCA/C... AFC SteveB (In a future update)...A way to write your own pragmas... AFC SteveB So you can write ones to do funky stuff with the code and avoid AFC SteveB some assembly interfaces. ga MikeW50 I have no idea how that would work without giving you more access to the MikeW50 internals of the compiler that I've ever seen anyone document. You also have MikeW50 macros and the asm statement. What sort of thing are you trying to do? Maybe MikeW50 I'm just not connecting with what you have in mind. ga AFC SteveB Well...True, lots of stuff can be done from an ASM segment... AFC SteveB But it would be cool if I could write stuff to do things to AFC SteveB the code instantly without any such segment...for example, I AFC SteveB could write a pragma to make writing Foundation modules AFC SteveB with just C easier...just an example. GA MikeW50 It sounds like you want sme way to do a custom .root file, for rolling your MikeW50 own things like what is currently done with the cda, nda, and rtl pragmas. is MikeW50 that right, or am I missing your point? ga AFC SteveB Right Mike. ga HURLANT Would you be interested in taking over Maxedit? It will be free in one month. MikeW50 Hurlant: I don't know... I already have 2 editors. I'd have to look at MikeW50 Maxedit to see what is unique about it, both in terms of problems and MikeW50 advantages. Could you send me some info on it offline, so I can look into it MikeW50 seriously? ga HURLANT I run my system about as clumsily as anyone, and it is tough! 30 files in mem. MikeW50 Steve: I'm not sure how that could be done, but I'll give it some thought. MikeW50 If you could roll your own, it sure would solve some problems I;ve had MikeW50 keeping up with 40 new ways to call a program each month! :) ga HURLANT at the same time, locked so you can launch anything and return instantly to HURLANT them. 16,000 characters in macros, autoload, etc. Matt DTS I extremely dislike how Maxedit keeps files in memory across applications, making other apps run Matt DTS out of memory rather than giving them up. MikeW50 Hurlant, I don't use Maxedit, and I'm just not familiar enough to make a snap MikeW50 decision. I'll have to look at this offline and think about it. ga AFL GaryJ Thanks, Hurlant. Next question is from Marc (M Wolfgram). GA, Marc M Wolfgram Two quickies: How about changing C lint to gen warnings rather than errors on proto misses? and... M Wolfgram what about a pragma to generate NiftyList names in the front of function calls? MikeW50 I'll think about warnings instead of errors. Currently, the compiler doesn't MikeW50 have warnings at all, but they wouldn't be hard to add, I suppose. Te current MikeW50 compiler already supports a good debugging format; I don't expect to find the MikeW50 time to support yet another one when there is no interest in standardization Matt DTS Mike, one doesn't preclude the other. M Wolfgram I use both ORCA/Debugger and GSBug - both are indespensible... Names make GSBug alot more efficient. G MikeW50 May be. On the other hand, GSBug could support what we had in place long MikeW50 before GSBug started using names. I'm one person. I'm willing to talk MikeW50 standards, especially _before_ the products are released, but I can't keep MikeW50 up with every Tom Dick and Dave comming up with a new debugging format and MikeW50 calling mechanism for every program that is released. I've stopped trying. MikeW50 If someone wants to coordinate a _standard_ with me, I'm all ears. Otherwise, MikeW50 I frankly just don't have the time. ga Matt DTS Apple proposed a standard in IIgs TN #103. GSBug uses it. It's not hard, especially given.. Matt DTS ...that it's the only thing that's been proposed in four years. Matt DTS (sorry, I'm out of turn) MikeW50 Matt, you might look at the old GEnie logs. I tried. Really. And PRIZM MikeW50 predates your tech note. I also tried to coordinate a standard at the time MikeW50 of the tech note, and was told that asm and high-level languages were MikeW50 apparently not comnpatible. I gave up. ga LL AndyW I purchased C no more than 2 months ago. Is there any update policy for LL AndyW those of us who'v made recent purchases? I also have M, Debugger, LTP/C, etc.. LL AndyW ga MikeW50 Andy: There hasn't been an update in the last two months, but when one is MikeW50 made available, there will be an update policy. ga LL AndyW Ok.. I must have misinterpreted some of what was being said as there being LL AndyW an update to at least one product.. ga MikeW50 No, Andy, but I did mention that we're working towards several... including one MikeW50 for C. ga LL AndyW Ok.. BTW, I would like to see GSBug/NL debugging names in C too.. done.. AFL GaryJ There's a new programming course, Programming the Toolbox in C.... is that what AFL GaryJ you're thinking of, Andy? LL AndyW That's probably what I saw being mentioned.. It is something I'm interested LL AndyW in.. ga LL AndyW I'll wait for the flyer.. HURLANT What are Names in GSBUG? Would they help with assembly? HURLANT Is there a reference in the Orca/M 2.0 manual? MikeW50 Yes, they could very well help in assembly. In truth, that's what they MikeW50 were designed for, and the fact that GSBug is for machine language, not MikeW50 high-level language like C or Pascal, is the main _technical_ reason why it's MikeW50 a low priority for C and Pascal. There are some nice macros to help put names MikeW50 in your assembly language programs. ga AFL GaryJ Do you have something to add to that, Andy? LL AndyW BRL id bytes, pascal string... Shows up as a routine name in GSBug.. LL AndyW I do a lot of debugging C stuff using GSBug, and it would help.. DONE.. AFL GaryJ Ok, thanks. Any follow up, Hurlant? HURLANT I just would like to see some post about this, if possible. HURLANT To demonstrate the principle. LL AndyW Check out Tech note #103.. (Apple //gs TN).. done MikeW50 It's not something I do a lot of. Maybe a question in the ADV area would get MikeW50 some good samples. ga AFC SteveB ::Putting Guitar Magazine aside:: Is there any way to AFC SteveB do a brl to a label, and have that label be an ANOP? the AFC SteveB reason i ask is because I tried to create a GSBugName macro, AFC SteveB and couldn't. GA MikeW50 Sure: MikeW50 brl lab1&syscnt MikeW50 lab1&syscnt anop MikeW50 would be pretty normal in a macro. ga AFC SteveB I think I tried that and it did something funky...I'll try AFC SteveB it again and get back to you. Thanks, GA MikeW50 (actually, ~lab1&syscnt would be better...) GNO Jawaid Since I'm terminally late, I hope y'all will forgive me if I asked something GNO Jawaid someone else did- has anyone mentioned the "template" word in reference GNO Jawaid to ORCA/Debugger? GNO Jawaid (I was on the beta test list, but couldn't put in as much time as I'd have GNO Jawaid liked.) GA MikeW50 No. I don't plan on adding them, either. I do plan to add direct support MikeW50 for struct, union and records, though, but that takes changes in the compilers. MikeW50 That change is _very_ high on the wish list for both C and Pascal. ga M Wolfgram [C first :)] GNO Jawaid Yes, C first :) Okay, thanks. HURLANT Is an update to Prism in the works? (I have this editor OBSESSION!) MikeW50 Yes. PRIZM 2.0 is a part of the ORCA/C 2.0 project, which is what I'm working MikeW50 on now. ga AFL GaryJ Great! AFL GaryJ Steve, you're up again. GA AFC SteveB Does the label name ~lab1&syscnt mean anything special? I mean... AFC SteveB could I just do a brl ~bokchoy ... ~bokchoy ANOP ? GA MikeW50 ~ is treated as a character by the assembler, but labels starting with ~ are MikeW50 reserved (by convention) for use in macros. &syscnt is a counter that gives MikeW50 unique numbers for each macro. The lab1 part is purely made-up, and you can MikeW50 use whatever you want. ga AFC SteveB Oh, cool! :) Thanks. GA AFL GaryJ ~bokchoy&syscnt AFL GaryJ Ok, Let's see.... if I am not mistaken, the queue is empty.. AFC SteveB (:) Cool...I read the manual over MANY times, but couldn't figure it out.) HURLANT I would like to state that I believe Quick Click would generate New respect HURLANT and interest in a GS. It is the weak link in available software for the GS. HURLANT And could be part of a wonderful package for schools. MikeW50 I've had zero luck selling to schools -- and it's not because all of our MikeW50 products are languages. That doesn't mean we won't do products that have a use MikeW50 in schools, but it does mean that I won't build a product around the idea that MikeW50 school purchases will make it worthwhile. ga MikeF32 When I talked to Mike at KFest, he wasn't too sure about continuing MikeF32 I encouraged him, but there's some problems--you can't really do it all MikeF32 with QuickDraw...and once you leave QuickDraw, you leave the print manager MikeW50 Well-- other than rotated text, everything I wanted to do can be done in QD. ga MikeF32 Rotated text is half the fun! MikeW50 It would be there, too, but as rotated pixel maps. QD can support that, but MikeW50 the quality is not great. ga AFL GaryJ Aspect ratio kind of messes things up. MikeF32 So, you're actually going to finish the program then? MikeW50 I haven't decided to finish QC Draw. I also haven't decided not to. I won't MikeW50 give it much though until C 2.0 and Pascal 2.0 ship. At that time, I'll MikeW50 balance it against all of the other possible products to see which looks best. HURLANT You had asked if anyone wants source to commercial grade programs. Maybe QC HURLANT could be released like that. MikeW50 So far, though, QC Draw has lost to Toolbox Programming in Pascal, Toolbox MikeW50 Programming in C, Programmer's Reference for System 6.0, C 2.0 and Pascal 2.0. MikeW50 Maybe, Hurlant. I;ve thought about that. ga HURLANT It touches all important disciplines, would be excellent! AFL GaryJ Ok, let's go on to Jim's question. GA, Jim AFC DYAJim Right now, if I have an "&" in a line, even if it is in the COMMENT part, AFC DYAJim after the 40th column, after a semicolon, etc, the assembler will still flag AFC DYAJim it with some weird macro error (like undefined symbolic parameter or something. AFC DYAJim ) but even though it's in a comment field. any way around this? i like AFC DYAJim to abbreviate "and" :) MikeW50 Yup. That's a feature. It lets you expand symbolic parameters, even in MikeW50 comments and string constants. To avoid the error, make sure there is at MikeW50 least one space after the &. ga AFC DYAJim Okay.. thanks.. ga AFL GaryJ Anyone else have anything for Mike? AFL GaryJ I'd like to thank Mike for coming tonight too. He does an excellent AFL GaryJ job of supporting the Apple II, especially the IIGS! MikeW50 Mark: GSBug can implement ORCA names, too. It works either way. Matt DTS ORCA names are excessively complex and intrusive, and GSBug is not a symbolic high-level debugger Matt DTS (i.e., a competitor to ORCA/Debugger). GSBug just wants to show you what routine name you're in. Matt DTS ORCA's format is way too much for that, and requires that the debugger be present or your Matt DTS program crashes. This is not Apple's goal. GA. MikeW50 Ther's a debugger COP to do that, Matt. There always has been. It takes less MikeW50 code than a BRL, too. ga Matt DTS And so you crash without the debugger. Ungood. GNO Jawaid Apple could add COP trapping into the SS. MikeW50 Not if you have a debugger -- e.g. GSBug -- installed. Cool. Matt DTS But if you don't, you're out of luck. And if you forget and distribute the program, boom. Matt DTS And no ORCA/Debugger COP I've seen takes less memory than the IIgs TN #103 method. MikeW50 True. At least you get reminded to take the debug code out. Matt DTS There is room for two formats -- one for names and one for symbolics. Lots of people have asked for Matt DTS Plus a handler for the COP vector. MikeW50 The name COP takes 2 bytes plus the name. MikeW50 ...plus a checker for a BRL... MikeW50 (shrug) it works either way. Matt DTS Except that ORCA won't do the simple way and the hard way is past GSBug's charter. LL AndyW But if there's no BRL checker, there's no problem... M Wolfgram Checkmate! MikeW50 Simple and hard are in the eyes of the implementor, Matt. I've _always_ MikeW50 been willing to coordinate, but I hate having stuff crammed down my throat MikeW50 with no concessions to what I already have in place. I don't really want LL AndyW if (COP & !checker) break; MikeW50 this to become a huge issue, eiter, and I think I'm sort of making it one. MikeW50 Sorry for that. Matt DTS You've been willing to -coordinate.- You've been willing to expand ORCA's format, all very true. Matt DTS But people have been asking for a simple way to see names, to do a stack crawl in Nifty List or GSBug Matt DTS and just find out where the heck they _are_. And you've not been willing to accept anything that's Matt DTS not a superset of the full symbolic debugging you arelady have. MikeW50 I've been willing to _replace_ it, too, bit I didn't get a bite on replacing MikeW50 i with something that would do what I needed for C and Pascal. I tried that MikeW50 when the GSBug issue first came up. Matt DTS On the Macintosh, it's like comparing Macsbug names to source-level debugging symbolics. Matt DTS I know that Apple is still open to expanding the non-intrusive format, but Apple (whom I'm not Matt DTS speaking for, in case anyone forgets) won't adopt any intrusive format that requires a debugger's Matt DTS presence for the code to run normally. Anyway, I've said my piece, and there's a real question Matt DTS here. MikeW50 :) I dunno. This is becomming something I don't want it to be. How about MikeW50 we talk about it some other time, in another format? AFL GaryJ Sounds fine with me :) Let's let Jim ask his question. GA, Jim AFC DYAJim I don't know if this has been addressed yet tonight, and I know how massivly AFC DYAJim overworked Mike probably is trying to update and maintain and introduce a AFC DYAJim zillion different programs.. BUT.. AFC DYAJim when will we see an update for orca 2.0 that addresses many of it's bugs/etc? AFC DYAJim I notice that it has a nasty habit to overwrite random memory locations with AFC DYAJim expanded pathnames that you COPY'd into your ASM files. And this has also AFC DYAJim happened to other people I know, so it's not an isolated incident. Sometimes AFC DYAJim it overwrites right into the middle of code (crash), sometimes it overwrites AFC DYAJim my desktop picture and I see a line of garbage that if I view in ascii is AFC DYAJim an expanded pathname of a COPY'd file, and sometimes it overwrites unused AFC DYAJim memory locations. it's weird. MikeW50 Bug fixes for the 2.0 environment are part of the C 2.0 update. Assembler MikeW50 bugs will be fixed shortly thereafter. It's worth pointing out that while AFC DYAJim also - to be quick, often the source code editor will hang if you try to AFC DYAJim insert a blank line at the VERY beginning of a source file, IF there is AFC DYAJim not already a blank line at the top of the file. so if I have a source file AFC DYAJim that the first three lines of it contain valid ascii data (and not just CR's) AFC DYAJim and I try to insert a CR at the start of the file, the editor will almost AFC DYAJim surely hang. MikeW50 I think I know what is causig the problem you mentioned, I haven't gotten a MikeW50 single bug report that shows a problem with COPY. AFC DYAJim (I will tell a couple people I know who also saw it to report it Mike..:) MikeW50 Bugs will be fixed. Be sure you report them, though, and somewhere other than MikeW50 here. I don't have logs turned on, and I need enough info to _duplicate_ a MikeW50 problem before I can be sure I have fixed it. ga AFC DYAJim neatly enough, I have discovered a way to fix this with GSBug... AFC DYAJim I can hop into the editor's code where it is doing an infinite loop, skip AFC DYAJim one line where it compares a character from a [dp] buffer to see if it's a CR, AFC DYAJim and then the hang will go away and dump me back into the editor. i can give AFC DYAJim full info, including what to skip over in gsbug if you like. AFC DYAJim this occurs almost surely if I try to insert a cr at the beginning of a AFC DYAJim croweded file. MikeW50 Jim, just send me the info to duplicate the problem. If you want to send MikeW50 something else, great. ga AFC DYAJim I have discovered a very peculiar oddity in orca/m.. AFC DYAJim For my CDev, I have found out that there is some line (which eventually I AFC DYAJim will trace) in apple's standard e16.equate file that totally makes orca puke. AFC DYAJim For instance. AFC DYAJim (e16.equate = e16.event) AFC DYAJim if I "copy 2/ainclude/e16.event" in my cdev and compile it, orca does something AFC DYAJim very weird to the object. when I open up my CDev, after the CDev is opened, AFC DYAJim and the window is ONSCREEN, I get a duplicate redundant "Application cannot AFC DYAJim be found for this document" dialog. This is after it just opened up the CDev. AFC DYAJim I spent a long time pulling my hair out trying to figure out what I changed to AFC DYAJim and it wound up being the whole event equate file. MikeW50 Jim, please. I'm happy to fix bugs, and happy to take bug reports, but NOT MikeW50 HERE!!!! I don't have logs on! I'm going to miss what you're trying to tell MikeW50 me. Send in to me in an e-mail, and I'll be sure to get it logged and fixed. AFC DYAJim Alright, but I"m going to finish. AFC DYAJim (and the log of this chat will be available in ADV) AFC DYAJim To sum up> AFC DYAJim If I copy the e16.equates file, I get the redundant message, because somehow AFC DYAJim orca compiles it differently. AFC DYAJim If I manually cut the lines I need from the e16.events file and paste them AFC DYAJim into my source w/o the copy, orca compiles it right, and the EXACT same source AFC DYAJim is made into a program that doesn't produce the redundant message. AFC DYAJim This has been present for as long as I can remember, way back from 1.2. AFC DYAJim (completely WEIRD) LL AndyW When will REZ/DeRez be fixed to shut down the resource manager on errors? Matt? MikeW50 I think it has been. I didn't send out ORCA/M 2.0 updates with the latest MikeW50 GSBug and Rez, yet, because I expect to have an update to some other stuff in MikeW50 ORCA/M in a few weeks, and I get a lot of flak if I release updates too often. MikeW50 ga LL AndyW I didn't update to 2.0, I bought it when it was released.. MikeW50 The bug fix was fairly recent... after the ORCA/M 2.0 release. It will be in MikeW50 ORCA/M 2.1. ga GNO Jawaid What do y'all think of the idea of a new tool call to simply check for the GNO Jawaid presence of a keystroke? The SS has never, ever supported this (outside GNO Jawaid the Event Manager, which some people rightfully don't want to support in GNO Jawaid text mode). GNO Jawaid As long as the SS doesn't have a call to do that (through TextTools, say) GNO Jawaid folks are going to have trouble with >$E0C000 apps running under GNO.