💾 Archived View for spam.works › mirrors › textfiles › apple › ADC › adv.910122 captured on 2023-06-16 at 21:10:43.

View Raw

More Information

-=-=-=-=-=-=-

America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, January 22, 1991  10:00 p.m. Eastern Time
Topic:  Programming in BASIC (and mostly other stuff)
Forum Leader:  Dave Sugar (AFL Dyfet)


Tenore     I have a question about AC/BASIC by absoft, does that qualify?
AFL Dyfet  Yes, I guess that qualifies just fine, Tenore :)....What is your
           question?
Tenore     I have a Prodos 16 version, I want to convert it for GSOS 5.0
Tenore     I have the conversion program but It sayes it's already patched
           but it wont 
Tenore     work.  any idea?
AFL Dyfet  I have not personally worked with AC/BASIC, but I do recall that
           the older
AFL Dyfet  version had to be patched just to run under GS/OS.  I do not know
           if the
AFL Dyfet  patched/updated version will run on 5.0 or not, though.  Perhaps
           somebody that
AFL Dyfet  will be on later can answer that for you, or you can leave a
           message in the
AFL Dyfet  message base...
AFA Gary J E-mail Airship.  He lives by AC/BASIC.   He may show up later.
Tenore     I have talked to him he gave me the patch program
Tenore     Anyone have any good refrences for a IIGS basic compiler besides
           AC/BASIC/
AFL Dyfet  Well, Complete software is intending to re-release TML Basic (as
           Complete
AFL Dyfet  Basic) at some point in the future...
AFL Dyfet  There is also Micol Advanced Basic for the IIgs....
AFL Dyfet  Micol and AC/BASIC both presume their own way of handling
           graphics/the desktop,
AFL Dyfet  though Micol does allow you to access the IIgs native tools more
           easily....
Tenore     Anyone here use Micol?
AFL Dyfet  Do we have any other questions on Basic for tonight then?
ShanoJ     I've got a non BASIC question, when we're ready for them...
Tenore     Are we talking about Applesoft basic or just basic in general?
AFL Dyfet  Basic in general, including the A word :)
AFA Gary J :)
Tenore     Well I'll hold my questions till Airship gets here, if he does. 
AFL Dyfet  Okay Tenore....anyone else??
AFL Dyfet  What was your question Jonah??
ShanoJ     Okay, here's my question, mainly for DaveL:
ShanoJ     In Twilight (a CDEV) I want to call _DrawMenuBar. However,
           whenever I my 
ShanoJ     code gets control, IT is the a) active resource application and b)
           the active
ShanoJ     resource file. This means that if the host application's menu bar
           used 
ShanoJ     resource ID's 1-5 for it's menu titles, Twilight's PString's 1-5
           are used to
ShanoJ     draw the title of the menu bar!! If I do something like a
           _CloseResourceFile
ShanoJ     on Twilight's resource fork, I get a Resource Manager $1E06
           (resNotFound) 
ShanoJ     error. Any ideas what I should do here?!
Surak TFF  CDev's can't close their own resource files, can they?
Surak TFF  (legally, I mean)
ShanoJ     Sure, if they open them up again....
AFL Dyfet  GA Dave...:)
Dave Lyons Good point.  There's no way to determine what the "application's"
           resource app is,
Dave Lyons but here's a hack that ought to work:
Dave Lyons When you start up the Resource Manager, don't do it with your
           NDA's memory ID.  Allocate a different
Dave Lyons one with GetNewID($5000) and start up the resource manager with
           that, instead.
ShanoJ     Thing is, I DON'T start it up--the Control Panel does...
Dave Lyons This way the Desk Manager will be unable to switch Resource Apps
           when it gives control to your
Dave Lyons NDA, and if you pray real hard maybe it will always be the
           application! :-)
Dave Lyons Of course, this means you have to use Get/Set...SetCurResourceApp
           around uses of your
Dave Lyons own resource fork.  Sound good?
Dave Lyons Oh, you're a CDEV...
Dave Lyons How fun.
Dave Lyons Hmmm...
AFA Gary J :)
Surak TFF  (Aren't CDev's grand? :)
Dave Lyons Well, that's more interesting, isn't it?
Foreigner1 :>
Dave Lyons Actually, CDevs *are* pretty slick (very modular).
Surak TFF  LOL... Not quite what I meant... :)
Dave Lyons So far, though, nothing hits me on how you can make a DrawMenuBar
           work right....
ShanoJ     Ya.... I had a whole progression of calls worked out (GetNameGS,
           GetUserID,...)
ShanoJ     but it didn't work quite right... There's no way to assiciate a
           UserID with
ShanoJ     it's resource file ID's (if you're looking for things to add to
           the toolbox, 
ShanoJ     that might be an awesome one... :)
Dave Lyons What do you want, exactly?  You can already SetCurResourceApp to a
           user ID & use
Dave Lyons GetCurResource file....  (True, that doesn't necessarily give you
           the whole search path.)
Dave Lyons In the case of window update routines, I hope to have the system
           take care of resource app
Dave Lyons switching so that DAs can let app windows update in the background
           if they want (behind modal NDA
Dave Lyons windows).
Dave Lyons I will investigate whether something similar can be done (in the
           system) for menu bars...but in
Dave Lyons general there's not a simple answer.
Dave Lyons (ga)
ShanoJ     So there's no easy way to find out what the 'next' file in the
           search path is?
ShanoJ     Grumble, grumble, complain.... :(
Dave Lyons Mmmm...I think the only way is to examine the resource map, at the
           moment.
Dave Lyons (That is, do a GetMapHandle & look at the record.)
Dave Lyons Would it be useful to be able to walk the resource search path?
ShanoJ     Ya, I think that would solve a LOT of my problems... I'm looking
           at the ref
ShanoJ     right now... Gimme a sec and I might figure it out all by
           meselfishness... :)
ShanoJ     Let Foreigner ask his ? and we can get back to me in a bit if I'm
           stuck... :)
Dave Lyons GetMapHandle only gives you the *current* resource file's map;
           doesn't
Dave Lyons help you find other folks' search paths.  done
AFL Dyfet  Okay, go ahead Foreigner...
Foreigner1 Alright, I feel like an idiot for questions like this, BUT...
Foreigner1 Using NewControl2, (in OrcaC1.1) I told it I wanted a pointer to
           an icon
Foreigner1 but, when I give it the address of the icon, it responds with a
           type conflict.
Foreigner1 What sort of type casting do I need to do??
AFL Dyfet  This sounds very familiar :)...GA Dave...
Dave Lyons You need to look at how NewControl2 is declared in the interface
           files (probably "Control.h"?) and
Dave Lyons model it after that.  If it's the parameter I'm thinking of, it's
           of type "Ref" (at least in the
Dave Lyons Pascal intefaces--I believe they're very similar).  Does that
           help?
Foreigner1 yep....  Going through the dispatcher when I looked at it..
Foreigner1 I don't think it is Ref
Foreigner1 Any clues Dave?
AFL Dyfet  What are you assigning it to?  You can always 'cheat' and re-cast
           it into
AFL Dyfet  a void pointer :)
Dave Lyons I'd have to see the declaration--I don't think I've got ORCA/C
           1.1....
Foreigner1 I'm typing something like this: NewControl2(windowPtr, 0,
           &item_Template);
Foreigner1 (Rez is in the mail, that's why I'm not using it yet :) )
Coach101   Are we talking about NewControl2's type?
Dave Lyons And then assigning that to a variable is giving you the type
           conflict?  (What Coach said.)
Foreigner1 No, the type conflict is at the &item_Template. (sorry bout
           that)
AFL Dyfet  What do you have item_Template typed as?
Dave Lyons And how is NewControl2 declared in Control.h?
JWankerl   There should be no conflict there, the calls aren't prototyped!
Dave Lyons Oh!  So how is item_Template declared?
Foreigner1 extern pascal CtlRecHndl  NewControl2 () (inline(0x3110,
           dispatcher);
Coach101   Wait one.....
Coach101   If there is no prototyping why how can there be a
Coach101   complaint on the NecCXontrol2 function invocation line
Coach101   at the &Itemrec parameter?
Foreigner1 Item_template is a standard item template (IconButtonTemplate)
AFL Dyfet  If there is no prototyping then maranda prototype rules take
           effect in an ANSI
AFL Dyfet  compiler.  Generally, everything is presumed to be of type int
           until otherwise
AFL Dyfet  proven....
Foreigner1 (didn't know that!)
Coach101   No.....    Otherwise you could not compile old
Foreigner1 I tend to get two errors saying the same.  I think one is what I
           am assigning
Foreigner1 it to, the other must be in that statement...
Coach101   C code with an ANS compiler!!!   
Dave Lyons (So what?  "&" still makes a pointer, which should be fine.) 
           Again, how is item_template declared?
AFL Dyfet  If the function is declaired first, then that declaration is used
           to presume
AFL Dyfet  the prototype, Coach, but in an ANSI standard compiler, by
           default, if the
Dave Lyons WHAT'S THE OTHER ERROR?  It could be the "real" one.
Foreigner1 IconButtonTemplate item_template
AFL Dyfet  function is used before called, its presumed at that point to be
           passing ints,
AFL Dyfet  and when declaired later, will have a type mismatch with the
           maranda prototype.
Foreigner1 They are the same-> type conflicts...
Foreigner1 Orca C tends to grumble at all type conversions...
JWankerl   Just curious, what is type of the variable you are assigning the
           result of
JWankerl   NewControl2 to?
Coach101   The function has a type of INT, but are you sure about the type of
           the arguments/parameters?
Foreigner1 That is one of the type conflicts, (in retrospect)
Foreigner1 The more I think about it, I think I may be able to fix it.  I
           think I'll go
Foreigner1 try, and then come back on if I can't.  Sound good?
AFL Dyfet  Orca C really needs warning level options, so you can stand back
           and ignore
AFL Dyfet  some of the innocious type casting errors when your initially
           writing something
AFL Dyfet  until you are ready to clean-up and finalize the code.  At least
           that's the way
AFL Dyfet  I tend to work :).
Foreigner1 Thanks all!! (again...) (ga!!))
JWankerl   What?  You mean your code doesn't work on the first try?  ;-)
AFA Gary J :)
Foreigner1 (Yeah... RIGHT!)
Foreigner1 :>
AFL Dyfet  Type casting control for pointers is more critical in model'd
           systems, where
AFL Dyfet  they can very in size in the same program :)...But then maybe I
           should just be
AFL Dyfet  cast back into the void :)
AFL Dyfet  Go ahead Joe....
JWankerl   With the LGetPathname2 call... what is the fileNum parameter?
AFL Dyfet  GA MAtt
Matt DTS   To my knowledge, the file number is for some kind of Loader
           support for multiple files under the same
Matt DTS   user ID, with the file number referring to the order in which they
           were InitialLoaded.
Matt DTS   This doesn't happen very often, and I have no idea whether it
           works or not.  Usually "1" is the only
Matt DTS   fileNum you'll ever need.  GA.
JWankerl   So right now it really doesn't mean much, right?
Matt DTS   Already answered.  GA>
JWankerl   Thanx.
Dave Lyons (Wasn't watching.  Yeah, use 1.)
AFA Gary J :)
SPW        hello. What is the topic tonight?
AFL Dyfet  Basic programming, actually :)
SPW        :) oh, can I ask a question off the subject?
AFL Dyfet  That's okay SPW :)
SPW        ok- what I need to know is if anyone here knows if ProTERM Special
           Emulation
SPW        is Copyrighted. Since it is an extension of Datamedia 1500 it
           doesn't seem
SPW        ;like it should be...
AFL Dyfet  Definitely off subject, SPW :)...I do not believe it is....I
           recently wrote a
AFL Dyfet  termcap for it on my UNIX box :)
SPW        I need to know if I should have legal permission before releasing
           a ProTERM
SPW        compatible term program
Dave Lyons (*Can* you copyright a protocol??)
SPW        good question....
SPW        is ANSI copyrighted?
AFL Dyfet  Okay, do we have any more questions for tonight?
AFA Gary J Dave, I thought of a good module for Nifty List.  The TaskMask
           CDA gave me the
AFA Gary J idea.  There ought to be a way to have Nifty list tell you bit
           meanings, for
AFA Gary J things like event masks, and that sort of thing.
JWankerl   Ya know, with a little work, I could modify my Templates module to
           do that.
Dave Lyons Go for it, Joe!  (I was just playing with it, finally.  Cool
           beans!)
ShanoJ     Dave: put a command into NiftyList to turn the SHR screen on, but
           leave 
ShanoJ     NiftyList active. That way if you do something like
           _RefreshDesktop(0) you can
ShanoJ     actually see it working. (It took me forever to find out that
           _HideMenuBar 
ShanoJ     resets all of the SCB's, but that would have made it EASY!)
Matt DTS   Jonah:  It already has that in 3.0.  Try pressing Ctrl-T at the
           command line.
Dave Lyons ShanoJ, you can always hit Ctrl-T right before you hit Return to
           execute your command, then
Dave Lyons hit Ctrl-T again (that's what I usually do).
ShanoJ     Duhhh... It probably says that in the docs, huh? (ducking from
           Matt's swing. :)
ShanoJ     Okay, how 'bout an extension to Goodies that shows you the handles
           allocated by
ShanoJ     \getmem. I often forget to write them down and then loose them...
           :(
Dave Lyons ShanoJ, if you can remember the auxiliary ID it uses, you can get
           them with 5x00i...just a sec.
Dave Lyons 5500.  Although you may get a few other things, too--
Dave Lyons like Joe's Templates file. :)   The \getmem doesn't attempt to
           keep a list of them right now, and
Dave Lyons it would be a little weird if it did--what if you passed one to a
           tool and the tool disposed of it?
Dave Lyons \getmem would have no way of knowing (at least once the handle got
           re-allocated), so it could kill it
Dave Lyons by accident if it tried to clean up.
ShanoJ     Well, a \findmem could just use the MemID it's using to look for
           all handles 
ShanoJ     with that ID... Then again, it'd probably be easier for me to just
           remember to
ShanoJ     write 'em down, huh? :)
Dave Lyons (I *do* need some sort of variables, though, to let you keep track
           of misc. info like that.)
Dave Lyons (I don't like having to write things down.  Distracting & slow.)
AFA Gary J Same here
JWankerl   Hey Dave, any idea when we'll be able to pull up a NL command
           history? ;-)
Dave Lyons Like in 3.1?  Oh, I haven't uploaded that have I?  Shame on
           me....
AFA Gary J Yes, shame on you :)
JWankerl   Thanks for teasing me... :-)
AFA Gary J :)
Dave Lyons Problem was right after I finished that, I got inspired to make
           the text output go fast (a couple
Dave Lyons people complained) & now it _really_ flies.  On a TransWarp
           machine you really can't tell what's
Dave Lyons scrolling by on a ;h dump....
Dave Lyons (I wrote some simple blast-to-the-text-screen routines & use those
           instead of the Text Tools
Dave Lyons now!)
JWankerl   So... my first question still stands (sort of)... when will I be
           able to get it
AFA Gary J Neato.  Is 3.1 firm?
Dave Lyons Firm?  Sure, but I'm about ready to give y'all 3.2 instead.  Has
           been stable for a few days now--
Dave Lyons hopefully no embarassing bugs.
AFA Gary J Sure, I'll take 3.2 instead :)
Dave Lyons Hmmm...how 'bout tomorrow night?  Will upload it then....
JWankerl   Sounds good to me.
AFA Gary J Great, Dave :)   
Matt DTS   3.2 is really neat, actually, even if Dave did write it.
AFA Gary J :D
AFA Gary J I can tell Matt appreciates it, as he answers Nifty List questions
           faster than
AFA Gary J Dave does :)
ShanoJ     What'd happen if I went into NL now and did a Ctl-T?
ShanoJ     Nothing good, I assume?
Dave Lyons I think that's in 3.0, ShanoJ...doesn't it work?
Matt DTS   You'd see the SHR screen, which if you're using the GS version of
           AOL is probably the sign-on screen.
Dave Lyons In previous versions, it would have put a "^T" on your command
           line (which doesn't help a lot).
JWankerl   Yep, ya see the main open-apple-D screen.
AFA Gary J Yep
ShanoJ     Oh ya, I'm using the 8bit version (big difference...:)
AFA Gary J Yeah, that would make a difference.
AFA Gary J I finally got the new Device Driver Reference (yesterday).  Good
           stuff.
SPW        anyone know for sure if CirTech is going to release it's MAC
           emulator?
Matt DTS   About CirTech:
Matt DTS   After getting to within two weeks of their scheduled ship date
           when no one in the world had
Matt DTS   even seen evaluation, pre-pre-release units, and they still said
           they'd ship in two weeks...
Matt DTS   ...they announced the product was cancelled because Apple didn't
           market the Apple II enough.
Matt DTS   (It just seems awfully convenient to me.)
SPW        &%^&$#^#!!!! That is why Apple ][ users would buy it!!
ShanoJ     Anyone know about a Nintendo emulator for the GS? Now THAT would
           boost sales!:)
AFL Dyfet  ::choke::
AFA Gary J I'd much prefer a IIGS enhancer.
AFA Gary J (Speed/graphics)
ShanoJ     Ya, there's a thought...a IIgs emulator for the GS! Just what we
           need! :)
AFA Gary J Otherwise, I'm very happy with the IIGS the way it is.
ShanoJ     (BTW, I know you didn't was emulator...I'm just goofing off
           again... :)
AFA Gary J Yes, exactly, Jonah :)
AFL Dyfet  I'm holding out for a virtual reality interface and cyberspace
           :)
AFA Gary J Is there a way to set the modem port to non-buffered without
           accessing the
AFA Gary J firmware?  (via device drivers).  I want to be able to wait for a
           character
AFA Gary J from the serial port, rather than having it there for me
           already.
Matt DTS   No:  buffering is handled by the firmware.
AFA Gary J That's what I thought.  So, it would be better for me to use
           firmware rather 
AFA Gary J than Devices, for my application, I guess.
AFA Gary J (If I have to use firmware for one part, I might as well use it
           for the rest)
AFL Dyfet  You can install your own buffer handler through the firmware....
SPW        ohhhh- I just thought of something I need help with.....
SPW        If I need to write a CDA that 'intercepts' characters coming out
           and in a seral
SPW        port what locations do I neeed to check (in Assembly)
SPW        ??
Matt DTS   You have a rather simplistic idea of how the serial firmware
           works.  :)
AFL Dyfet  You can only really reliably intercept activity with an interrupt
           handler,
AFL Dyfet  otherwise it might be gone before you get there....and reading
           input ports when
AFL Dyfet  no characters are yet processed can be bad for the UART/incomming
           data :)
Matt DTS   You need to read the Serial I/O chapter in the Firmware Reference
           and the Technical Notes.
ShanoJ     READ YOUR TECH NOTES!!! :)
AFA Gary J Yes.  (Firware Reference describes the operation rather well,
           IMO)
AFA Gary J Firware?  sheesh.  I need to learn how to type :)
SPW        what if the program running with the CDA puts in its own interrupt
           handlers?
AFL Dyfet  The firmware does allow one to insert their own handler for the
           IIgs serial
AFL Dyfet  ports....
AFL Dyfet  This sounds like what you wish to do, as your handler will be
           called when
AFL Dyfet  incomming data appears, or when ready to send...
SPW        hmm...maybe I could read the address of the current interrupt
           handler and 
SPW        change it to my handler which jumps to the original one when
           finished..?
AFL Dyfet  But again, you should read the Firmware reference manual :)
SPW        yea yea- I know- the reference manuals :)
SPW        they come in handy
AFA Gary J they go out handy too :)
ShanoJ     I just got new TB Refs! It's really nice to have them all in ONE
           piece! :)
AFA Gary J You could have just hole punched you're old set, Jonah :)
SPW        I just told Addison Wesley mine were falling apart and they sent
           me new ones
SPW        :)
ShanoJ     Yuppers, me too! Didn't even want the old ones back....
AFA Gary J AW is good about that.