textfiles/apple/ADC/adv.890627

573 lines
24 KiB
Plaintext

AppleLink
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
June 27, 1989 10:00 p.m. eastern time
Topic: BASIC Programming (and other stuff)
Forum Leader: Dave Sugar (AFL Dyfet)
JSchober Dave... got a question for ya'. Are the AuxTypes of DIR files
reserved?? (I
JSchober assume so)
Dave Lyons Yup, I think DIR auxtypes are reserved. The Finder *pretends*
that certain
Dave Lyons kinds of DIRs have certain auxtypes, so the auxtype of a DIR
*icon* has some
Dave Lyons significance (drop box, folder you own, etc.). I'm talking Finder
on 5.0,
Dave Lyons with AppleShare folders.
JSchober Hmmm. But if I'm not worrying about AppleShare... well, either
way, Matt will
JSchober probably kill me. I just won't tell him. :)
AFL Vince Just got my first taste of Appleshare and 5.0 today, Dave.. Tim
and gang did some NICE work!
Dave Lyons What did you do? I really think they *are* reserved.
AFL Marty (death to AppleShare)
AFL Dennis Hi Jim
Dave Lyons You probably *won't* be able to set an AppleShare DIR's auxtype,
although
Dave Lyons I haven't tried it. Doesn't your app work with AppleShare?
JSchober Well, I want to keep a reference constant for a folder somewhere,
without ...
AFA Gary J I guess we can get started here.....
JSchober creating a new file. Any suggestions?
JSchober Uhhh... what?
AFA Gary J Welcome to the Apple II Development Forum. Tonight's topic is
BASIC programming.
AFL TimB Joe, if you're talking about anything other than Rolodex....shame
on you! ;)
AFA Gary J I'm Gary Jacobson, and I'll act like I'm the forum leader until
AFL Dyfet
AFL Vince which Basic, GS Basics, or Appleslosh?
AFA Gary J comes in :)
AFP Draco Gary - does that mean you'll tell bad jokes?
AFA Gary J We'll be using forum protocol this evening, so **STARTING
NOW**....if you
JeffDavies Can I ask a question off the subject?
AFA Gary J have a question, type a "?" on a line by itself, or if you have a
comment
AFA Gary J on the current topic, type a "!".
AFA Gary J I'll call on you when it's your turn, and we'll take everyone in
turn.
JSchober Hi Dave... :)
AFA Gary J (Ahhh...here's Dave now :)
AFL Dyfet I guess I scared Vince off ??
AFL TimB Uhoh, here's trouble!
AFA Gary J :)
AFP Draco no more COM jokes gang
AFA Gary J We've just started, and I've instituted PROTOCOL...
AFP Draco Oh... HI Dave!
AFL Dyfet Okay, did Joe get his question in?
AFA Gary J Go ahead, Joe with your question..
AFL TimB (If their Kent's jokes, not much)
JSchober Well, I just want to finish up the question I started before Gary
did the intro
JSchober I've got an Applesoft program with which I would like to store a
RefCon for
JSchober a directory. What's the best way to do this, without creating a
new file?
JSchober GA
AFL Dyfet GA Dave.
Dave Lyons What do you want to keep track of? I don't see what to do offhand
other
Dave Lyons than creating a new file, which you don't want to do, or imbedding
the
Dave Lyons information in the directory's name. Or keeping a big separate
file somewhere
Dave Lyons that has all the dirs' info in one place. ga
JSchober Well, I just need a number that indicates what the last data in
the dir was.
JSchober The dir's name can't change. :( That's why I'd =like= to stuff
the number in
Dave Lyons That "last data in the dir"?
JSchober the AuxType... but that seems to be anti-Matt behaviour...
Dave Lyons Think of it this way...if *two* programs did the same thing you
want yours
JSchober A number that's an index to the most recent file put in the dir...
(we're
Dave Lyons to, it wouldn't work, right? Ick.
JSchober talking BBS development here)
JSchober Well... yeah. Any other little spaces that aren't used,
anywhere?
GSGM ! Joe
AFL Dyfet GA GSGM.
GSGM Couldn't you have the program read the directory and check the
modified...
Dave Lyons _Any_ little spaces that "aren't used" present the same problem as
the auxtype:
GSGM date field. GA
AFL Dyfet From what I'm following, you want to add extra tracking
information into the
Dave Lyons why should *your* program be the one that gets to use them?
AFL Dyfet directory itself. I think you would be better off with a seperate
file to
AFL Dyfet handle this instead of using the dir file itself. I think Matt
will also
JSchober I know, I know... but there =should= be a refCon space in the dir
field. :sulk:
AFL Dyfet apperciate this :).
JSchober Yeah, I'm sure he would, Dave :), but I'm trying to push as much
speed as ...
AFL Dyfet GA Dennis.
JSchober possible. Ok, so it can't be done... thanks, tho! :)
Dave Lyons There *is* a refcon in a directory...it's called "the data stored
in a file
AFL Dennis Couldn't you place the time/date of the files in the Aux type,
then with a quick search find
Dave Lyons with a really weird name." :-)
AFL Dennis the most recently modified one within the directory? Fairly quick
when it comes to
AFL Dennis dir scanning.
JSchober :) Well, yeah, that WOULD work, Dennis, but probably would be as
fast as
JSchober keeping it in a file. Get_File_Info is much quicker than
Open...
Dave Lyons Idea! If you want to use Get_File_Info
Dave Lyons instead of Open, just create a file of your own inside that dir
(probably a
Dave Lyons BIN file?), and use the *file*'s auxtype. Should be fast &
legitimiate.
JSchober Aha aha! <ding!> That's it!! Thanks Dave! I knew I could count
on you... :)
Dave Lyons :)
AFL Dyfet Yes, that would be legitimate :). Okay, I believe our next
question is from
AFL Dennis How bout using the reserved space in the Directory header, offset
+$14?
AFL Dyfet GS 816. You now have the floor.
GS 816 thank you.
GS 816 My question may be known by some of the old timers who remember
things like
GS 816 call-apple in depth "All about Applesoft" and C. Bongers. It
seems that I
GS 816 have found a way to duplicate the infamous RETURN WITHOUT GOSUB
problem that
GS 816 is described in the afore mentioned book. I'll be honest, the
explaination
GS 816 of the problem is slightly over my head as it talks of tape and
ROM CARD
GS 816 corrections, but not if the AppleSoft is in Motherboard ROM. Does
anyone
GS 816 know of a way to correct the problem by going around to the back
door? That
GS 816 is via changing programming code. It seems that there is a
conflict when
GS 816 arrays are searched and a gosub is on a page boundry, but even
adding extra
GS 816 code has not helped the situation and I still recieve the infamous
error msg
GS 816 when a legitimate gosub has been called. ga
AFL Dyfet I do vaguely recall the bug you are refering to, though I suspect
the problem
AFL Dyfet is in a routine far too deeply rooted to be effected with a patch
other than
AFL Dyfet with a eprom burner :). Any other comments?
GS 816 if anyone has the book handy, it is explained on pages 100 and
101
GS 816 not everyone at once, please
AFL Dyfet There are actually a couple of minor bugs in Applesoft, such as
with resume,
AFL Dyfet . I think your best bet for some of these problems is to create
an ampersand
AFL Dyfet routine that operates 'correctly'.
AFL Dyfet Any further comments?
GS 816 If anyone has any ideas, please feel free to email them to me.
AFL Dyfet Okay, I believe the next question is from Jeff. GA Jeff.
JeffDavies This is off the subject, but does anybody use orca/c or orca/m in
the desktop
JeffDavies and have trouble with the macgen and compiling programs? I can't
really get
JeffDavies either to work and need help.
AFL Dyfet How much ram do you have in your system?
JeffDavies right now 1.25 I know I will need more, but I don't know if that
is it.
AFA Gary J Are you using an SCSI hard drive?
JeffDavies yes the 20SC
AFA Gary J What exactly doesn't work, does it crash?
JeffDavies yes, and when I do a ctrl-apple-T the program crashes in bank
@00/0000
AFA Gary J I've had exactly the same problem. I've talked to Mike
Westerfield in e-mail
AFA Gary J about it here on-line, but he's never been able to duplicate
it.
AFL Dyfet GA Dave.
Dave Lyons Do you have any CDAs, NDAs, or other utilities installed in your
system? If
Dave Lyons so, see if the problem still occurs without them. If it doesn't,
that *might*
Dave Lyons mean one of your DAs has problems, or it might mean that the ORCA
environment
Dave Lyons (or even part of the OS...I don't want to single out ORCA as the
only
Dave Lyons possibility) has a problem that happens only in "unlucky"
circumstances.
JeffDavies Good idea I never thing of the most obvious stuff! The orca env.
won't let you
JeffDavies open a file or new window with a da active.
Dave Lyons Not even with an ORCA window in front?
AFA Gary J Let me know if you find the problem, Jeff.
JeffDavies well if an orca window is in front it's ok.
JeffDavies Vince are you the vince going to work for TML? And thanks for the
ideas guys!
AFL TimB Vince who?
AFL Dyfet Okay, I see Joe is back in the queue and is next. I would like to
give the
AFL Dyfet floor to Joe now, except that I'm not sure I will get it back :).
GA Joe.
AFA Gary J :)
JSchober (thrrrpt!)
JSchober This is (hopefully!) a simple one -- do the Basic.System OPEN and
CLOSE ...
JSchober commands respect the LEVEL byte in the ProDOS global page?? that
is, if I
JSchober set a level, open a file, LOWER the lever (or is it raise it? I
always get
JSchober confused...), then do a ? CHR$(4)"CLOSE", will the opened file
stay open?
AFL Dyfet GA Dave.
Dave Lyons I don't think it's documented or guaranteed. If you only want to
close
Dave Lyons specific files, then do it explicitly: ?CHR$(4);"CLOSE FILE.A",
etc. The
Dave Lyons LEVEL mechanism is there for SYS programs to use, and BASIC.SYSTEM
*could*
Dave Lyons pass that right on to the Applesoft programmer by documented a way
to use it,
Dave Lyons but as far as I know that has not been done.
Dave Lyons (ga)
AFL Dyfet Basic.System may also decide the file buffer has been closed even
if ProDOS
AFL Dyfet does not. Basic.System does use the level function to hold the
exec file open
AFL Dyfet however, so at some level it does operate.
JSchober Ok, well, I never know what files are going to be open, so I can't
explicitly
JSchober close 'em. Hmmmmm... really, Dave? Interesting. I'll have to
look at that
Dave Lyons Why don't you know?? Who opened them?
JSchober one. Ok, that's it... thanks. (SEE?? Didn't take 15 mins...
;)
AFL Marty (zzzzzzzzzzz :))
JSchober Oh, I did, but any number could be open with variable names, and I
don't
JSchober currently keep a table once they're open. (it's a long story...
:)
Dave Lyons If you don't know which files are open, how is the part of the
program that
Dave Lyons DID open them supposed to know that they are no longer available
for reading
Dave Lyons and writing?
JSchober I use MLI calls to file ID numbers. (Don't bother telling me that
sequential
Dave Lyons (This could *still* take 15 minutes...or I could just shut up.
:-)
JSchober assignments aren't guaranteed... I know... ;)
JSchober LOL
Dave Lyons Done, I guess.
AFL Dyfet Again, the thing to watch is not if ProDOS keeps the file open,
but if Basic.
AFL Dyfet System decides to free the buffer anyway :). Any further
comments?
JSchober Acccck. :(
AFL Dyfet Okay, I believe the next question is from Tim, who is a little off
(the
AFL Dyfet subject). GA Tim.
AFL TimB My question is a multi-parter! :) (Dave has already heard pieces
of it)
JSchober (hmph, now HE'LL take 15 mins... ;)
AFL Marty (he's a _lot_ off :)
AFL TimB With TML Pascal is it necessary to start up and initialize
texttools for a CDA?
Dave Lyons !
AFL TimB Explicitly.
AFL Dyfet GA Dave.
Dave Lyons Yup.
AFL TimB Next question...
Dave Lyons You should make several calls, something like this:
AFA Gary J 15 seconds... :)
JeffDavies !
Dave Lyons TextStartUp, then SetOutputDevice, SetInputDevice, SetOutGlobals,
and
Dave Lyons SetInGlobals. You'll probably want to set the output and input
devices to
Dave Lyons be slot 3 and be either BASIC or Pascal devices. For
SetOutGlobals, you need
Dave Lyons an AndMask and an OrMask. The And mask can be $00FF (don't strip
off any of
Dave Lyons the lower 8 bits) and the OrMask can be $0080 (turn on bit 7).
For
Dave Lyons SetInGlobals I think you'll want AndMask $007f (strip off bit 7)
and OrMask
Dave Lyons $0000 (don't force any bits on).
AFL Dyfet I knew it wasn't in Dave to give out a short answer :). GA
Jeff.
AFL TimB Can I follow up?
Dave Lyons After setting everything up, call InitTextDev(0) and
InitTextDev(1) to init
Dave Lyons the input device and output device. (ga)
JeffDavies I don't know much about the text tools but wouldn't you want to
do a
JeffDavies check to see if the text tools are already active and then do a
start up
JeffDavies only if they aren't active?
Dave Lyons Hmmm...good question. Actually I think it's an academic
Dave Lyons question, since TextStartUp doesn't do a whole lot at the moment
anyway.
Dave Lyons One solution is to *avoid* the text tools. Use the console driver
under
Dave Lyons GS/OS. Under P8 you need to use text tools or go directly to the
screen.
AFL Dyfet I think it's always a good idea to go through the motions of tool
startup
Dave Lyons Also, it is a good idea to
AFL TimB Does TML Pascal have interfaces to GS/OS drivers?
Dave Lyons preserve the state of the text tools around your use of them:
that means
JSchober ! (brief question on the topic)
Dave Lyons using GetOutputDevice, GetInputDevice, GetInGlobals, GetOutGlobals
at the
Dave Lyons beginning and using SetXxx at the end to put everything back.
ga.
AFL TimB ^^^^^^^^^
AFL Dyfet Um, before we get back to Tim's 'short' question, let's give Joe a
chance to
AFL Dyfet sneak in his 'brief' question. GA Joe.
JSchober When doing output to the .console driver under GS/OS, does it
properly handle
JSchober Pascal emulation codes (Ctrl-O and N for inverse on/off, etc)?
JSchober GA
AFL Dyfet I believe they've added a few as well as supporting the older
codes. Is this
AFL Dyfet correct, Dave?
JSchober (did Dave pass out?)
Dave Lyons Okay, MOST of the stuff
Dave Lyons that the console driver does happens to match the "Pascal" way...I
don't have
Dave Lyons the manual open in front of me at the moment. There is a lot MORE
stuff that
Dave Lyons the console driver can do that the Pascal codes can't. ga
AFL Dyfet That was my understanding also. Okay, I guess Tim can have the
floor back
JSchober Hmmm. But so I'd have to write a conversion procedure to go
Pascal ==> console
AFL Dyfet now. GA Tim.
JSchober Yecch. Thanks...
JSchober ::giving floor to Tim... gee, it's heavy...::
AFL TimB Does TML have interfaces to GS/OS drivers?
Dave Lyons Oh, other than sending characters to the device, there are also
DControl
Dave Lyons calls that do keen stuff. I *think* they are DControl, at least.
Could be
Dave Lyons FST-specific calls, conceivably. ga
AFL Dyfet We lost Tim in there :)
AFL TimB ^^^^^^^^^^^^^^^^^
AFL TimB (You can try to shake me off, but I'm persistent! :) )
AFL Dyfet Okay, GA Dave.
Dave Lyons Sorry...didn't see your question, Tim. I don't think TML Pascal
1.50A
Dave Lyons has GS/OS routines declared, but using the "ProDOS" directive you
can declare
Dave Lyons them yourself...for example, Procedure GSOSGetDirEntry(...);
ProDOS $201C;
Dave Lyons declares the routine so you can call it yourself. Is this what
you meant?
AFL TimB I'm a real beginner, a little advanced for me I think. I'll wait
for Pascal II
AFL TimB to use the console.driver, :)
AFL TimB I'll go with setin and outglobals.
AFL TimB GA
Dave Lyons You definitely need the GS/OS reference. It's easy to model your
own
AFL TimB (done, at last)
Dave Lyons declarations after the ones provided, if you have the
documentation.
AFL Dyfet Okay, I believe we are running on empty here. Any more questions
for tonight?
JeffDavies I have two quick questions ...and one normal one
AFL Dyfet Oh, I missed you Jeff. GA Jeff.
AFL TimB Thanks muchly (off to try out solution) :)
JeffDavies 1) wheredid the II tech notes go? and what does AFL stand 4?
AFA Gary J II Tech Notes??
JeffDavies yes
AFL Dyfet Let's try the second first. AFL=Apple Forum Leader, that means
the poor
AFA Gary J You mean in our libraries?
AFL Dyfet volunteer who's job it is to keep a given forum in line and
running.
AFA Gary J :)
JeffDavies Well I'v been looking for the tech notes that use to be around
here, but
AFL Marty (Poor, honest, hardworking slave :)
JeffDavies now can't find.
AFL Dyfet AFA's are Forum Assistants, and they get all the dirty jobs :)
AFA Gary J :) Yup.... heheh
AFL Marty (AFAs play games in the entertainment area all night)
JSchober <and AFC's answer the questions the AFL's don't know, while the FL
takes
JSchober credit>
AFL Marty :)
Doctor Why :)
AFA Gary J Jeff, as for the tech notes, look in the Apple Computer Releases
section
AFA Gary J of our software library.
AFA Gary J <ahem... not THIS AFA!! :) >
AFL Marty (AFC's ride the coattails of the famous but hardworking AFLs :)
JeffDavies ok , now for the tough one unless someone else has oa question.
JSchober :)
AFL Dyfet GA Jeff.
JeffDavies To save a file, in assembly, how do you do it?
JeffDavies right now I am doing the dialog box for the name
AFL Dyfet GA Dave.
Dave Lyons You've *got* the name, and you want to know how to actually
create
JeffDavies then checking to see if i is present if not... I don't remember it
confussed me
Dave Lyons a file and write stuff to it?
Dave Lyons Also, are you talking ProDOS 8 or GS/OS?
JeffDavies GS/OS
Dave Lyons Ah. Do you have documentation for the GS/OS calls CREATE, OPEN,
WRITE, and
AFL TimB :(
Dave Lyons CLOSE? Those are the ones you need.
JeffDavies I think I create then write and then at the set eof and close or
that might be
JeffDavies redundant at the end.
Dave Lyons You don't need to SET_EOF unless you didn't write the amount of
data you
Dave Lyons really wanted to.
AFL Dyfet I hope you open somewhere in there :)
Dave Lyons You do need to Open, Write, and Close. You need to Create first
if the thing
Dave Lyons doesn't already exist.
JeffDavies I don't remember exactly I was trying to save stuff I recorded in
Mench's
Dave Lyons I don't know what else to tell you until you ask a more detailed
questin.
JeffDavies MIDIScope
Dave Lyons or ...ion.
Dave Lyons Be sure to check for errors after all the calls so you know if
they are
Dave Lyons really working. Even after Close, check at least during
development so that
Dave Lyons you'll find out if you aren't storing a file's reference number
into the
Dave Lyons parameter list correctly.
AFA Gary J (questin...that must be mid-western talk for question, right?
:)
JeffDavies Well I will check and apply what was said thanks
Dave Lyons (For "questing," actually. :-)
Dave Lyons ok. done
Jump Long Hi everyone :)
AFL Dyfet Welcome aboard Jim. Okay, was there anything further, Jeff?
AFA Gary J Hi Jim!
Jump Long Aye Aye, Captin' Dave
JeffDavies nope thanks alot :)
AFL Dyfet Uh oh, I think this means we return to Tim :). GA Tim.
AFL TimB I'm still having problems with my CDA. I set up my in and
outglobals (and ...
AFL TimB devices) I enter a filename andthe program does a GetFileInfo with
no trouble,
AFL TimB I display the resulting values (no trouble) I ask for
replacements, it accepts
AFL TimB the first writeln and readln and dies on the second one. But I
don't have...
Dave Lyons Dies HOW?
AFL TimB this problem when I'm calling from ProSEL16
AFL TimB System just hangs.
AFL TimB This is driving me insane (it's not a long drive) :)
Dave Lyons Will I be able to duplicate this problem with the code you sent me
in the
Dave Lyons P.O., Tim?
AFL Marty gmta Tim
AFL TimB I'm using (Input,Output) and a Page statement, could these be
causing it?
AFL TimB No, DAve, I have advanced a little since last Wednesday! ;) (Not
much tho)
IIGS MAN Whats up?
Dave Lyons Gee, was that last Wednesday? :-) Haven't been logging on
regularly. :-(
IIGS MAN So how is System Disk 5.0 going? When is it going to be out?
AFL Dyfet IIGS MAN, we are in protocol, which means you will have to wait
your turn.
AFL TimB Just sent the newest version to you DAve. :)
AFL Dyfet Tim, and Dave currently have the floor.
Dave Lyons Well...Tim, send me the new source & I'll take a look at it
tonight.
AFL TimB I'm using the CDA as a learning experience. :) Sure is
helping!!!! :)))))
AFL TimB (done)
AFL TimB Thanks DAve
AFL Dyfet GA Dave.
Dave Lyons "This summer" is when 5.0 is going to be available. It's good.
ga
AFL Dyfet Your question has been queued, IIGS Man, and you will be next,
when Tim and
AFL Dyfet Dave are done.
AFL Dyfet GA Tim.
AFL TimB I hear that TML is shipping TML Pascal II with GS/OS on july 1st.
That's what
AFL TimB they told me!
AFL TimB GS/OS 5.0 that is.
AFL Dyfet Continue Dave.
Dave Lyons GS/OS is version 3.0 on System Software 5.0. (So there.)
AFL Dyfet Okay, is there any further comments on Tim's ORIGINAL question?
AFL TimB Dave :P
AFL Dyfet Okay, I believe the next question is from IIgs Man. GA.
AFL Dyfet I think we lost IIgs Man....???
Dave Lyons (Did we already answer his question? I jumped the gun...sorry.)
AFL Dyfet Okay, I guess we will move along to Joe then. You have the floor,
Joe.
IIGS MAN When is GSOS 3.0(system disk 5.0) going to be out?
AFL TimB (Leave it clean Joey)
IIGS MAN (a date)
JSchober Dave: I thought it was GS/OS 2.0, no? Dave (or anyone): Have the
annoying
JSchober incompatibilities with the new SCSI.DRIVER been fixed yet?
GA...
AFA Gary J Between June 22 and Sept 22 (summer).
AFL TimB Smaller than a breadbasket!
AFL Dyfet GA Dave.
Dave Lyons (No specific date has been announced, GS MAN.) Joe, GS/OS is v2.0
on System
JSchober you can kinda count out june 22-june 27... :)
AFL TimB HEHE
Dave Lyons Software 4.0; on 5.0 is't v3.0. There is no file called
Dave Lyons SCSI.DRIVER on 5.0; instead there is a SCSI.MANAGER and
SCSIHD.DRIVER (I hope
Dave Lyons I got that right). The code is new & does not suffer from the
problem that
AFA Gary J (Right, Joe. That narrows it down a bunch :)
JSchober <SCSI.DRIVER, SCSIHD.DRIVER... picky picky.>
Dave Lyons Glen Bredon released a patch for; I believe it works well with
3rd-party
Dave Lyons hard drives, too. The SCSI.DRIVER on 4.0 was always intended to
be a
Dave Lyons er...an "interim" driver while the FAST one was written. ga
AFL TimB I gotta go. Thanks a lot guys for the help! :)
JSchober Any problems with the CMS SCSI card?? (gulp)
JSchober Night Tim!
AFL Dyfet Gnight Tim.
Dave Lyons The SCSIHD.DRIVER works with the Apple SCSI card; it ignores the
CMD card.
Dave Lyons CMS. Sorry. As far as I know, the "generated" driver works fine
(although
Dave Lyons probably not terribly fast) with the CMS card. Does anybody know
if a loaded
JSchober Oh. I'd heard of problems that caused the CMS SCSI card to, like,
explode, or
Dave Lyons driver is available for that card?
JSchober something along those lines. No details, tho. (No specific CMS
driver yet...)
Jump Long explode??? hahaha
AFL Dyfet "Nice operating system's don't explode"
JSchober heh
AFL Dyfet Okay, I believe IIgs Man has a question he wishes to get out. GA
IIgs Man.
IIGS MAN I once saw a program that allowed you to download mac files. Where
is it?
AFL Dyfet If you mean the utility that converted Mac Sit files, I believe
that might have
AFL Dyfet been in Scott's Forum.
IIGS MAN Not graphics,it lets you download mac files of all kinds!
AFL Dyfet I would suggest looking into the utilities forum then. The one
I'm thinking of
AFL Dyfet was targeted at Mac Pic files specifically.