mirror of
https://github.com/opsxcq/mirror-textfiles.com.git
synced 2025-08-16 09:54:03 +02:00
421 lines
20 KiB
Plaintext
421 lines
20 KiB
Plaintext
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.
|
|
|