America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, May 29, 1990  10:00 p.m. eastern time
Topic:   Open Discussion
Forum Leader:  Gary Jacobson  (AFA Gary J)

Coach101   Dave, have you ever tried debugging an AppleTalk completion
          routine
Dave Lyons Coach, Yeah, I actually have...not very fun or productive, though.
           GSBug
Dave Lyons doesn't appreciate the stack being in page 1 or even being inside
          an interrupt, I think.
Coach101   with GsBug (init version)?  Its real sport!
AFL Scott  Anyone... have you tried to make a program designed for single
          segment use
AFL Scott  into a mulit-segment program?  Pain the butt.
AFL Scott  With Merlin, that is.
Coach101   Scott, no, but if there are a lot of references depending on the
          B/K
Coach101   registers, I would not care to try the operation!
AFA Gary J I have with ORCA, Scott.
AFL Scott  With Orca it's a dream, but with Merlin... YUCKO.
AFL Scott  Coach, you got it, dude!:)
AFL Scott  I'm converting it now by hand to Orca.
Coach101   I sure hope that code was W-E-L-L commented!!!!
AFL Scott  It wasn't. :( BIG :((

AFA Gary J Ok, it's about time to start.
AFA Gary J Welcome to the Apple II Development Forum conference.  Tonight is
          an open
AFA Gary J topic, so feel free to discuss anything you'd like.  Function has
          a question
AFA Gary J on the floor at the moment...
Function   Does anyone know anything about the IIgs Console Driver?
Dave Lyons Function, I'm moderately familiary with it...what's your
          question?
Function   Well I need to know how to use and load it.
Dave Lyons Function, the console driver is loaded automatically when you boot
          GS/OS.
Function   Well how do I write stuff to the screen using it?
Dave Lyons Function, do you have any GS/OS reference material?  There's at
          least a chapter on the
Dave Lyons Console Driver.
Function   No, I don't have the GS/OS Reference material.
Dave Lyons You'll want the GS/OS Reference as soon as it comes out (the
          current APDA draft will do if you need
Dave Lyons it fast).
Coach101   Function, can you open, read, and write files?
Function   How much do the latest GS/OS refs cost?  Are they still beta?
Function   I'm not an APDA member does that matter?
Matt DTS   The only GS/OS references available at this point are the pre 5.0
          ones.  We expect to have an Addison-
Matt DTS   Wesley 5.0 GS/OS Reference later this year, and partners can get
          the information they need from DTS
Matt DTS   in the meantime.  GA.
AFA Gary J Ok, let's move on to the next question.  GA Mike.
Nuzz       I'd like to know what the proceedure is on using a Line Edit
          Control without
Nuzz       Taskmaster.
Nuzz       I can create it, display it, but can't get the idle, or
          insertion
AFA Gary J GA, Dave
Dave Lyons (1) Why don't you want to use TaskMaster?  and
Dave Lyons (2) You pretty much do the same stuff that TaskMaster would do if
          you were
Dave Lyons using it.  That is, on a mouseDown you call
Dave Lyons FindControl and TrackControl; on a keyDown you call
          SendEventToCtl, etc.  ga
Nuzz       That's where I'm confused.
Dave Lyons What it?  I'm confused.
Nuzz       Do I call SendEvent after the TrackControl
Dave Lyons No, SendEventToCtl should only be needed if
Dave Lyons you get a keypress, I believe.
Nuzz       So I should call SendEventToctl then TrackControl
Nuzz       Both after FindControl
Dave Lyons TrackControl is only for mouseDown events.
Dave Lyons So SendEventToCtl is what you want for a keypress while the LE
          control is the Target control,
Dave Lyons regardless of where the mouse is (FindControl not necessary).
Dave Lyons Hmmm...Matt says you have to call SendEventToCtl to send Null
          events to the target control
Matt DTS   The pseudo-code for TaskMaster in TB Ref volume 3 is useful in
          these instances, methinks.
Nuzz       OK, do I send another SendEvent to keep the Insertion  blinking
Dave Lyons if you want the insertion point to blink.  Sounds reasonable.
Nuzz       OK, I think I gotit. Thanks, GA
Dave Lyons (So SendEventToCtl for TargetOnly on a null event.)  ga
AFA Gary J Ok, let's move on to Doctor Why's question.  GA, Doc.
Doctor Why I'm loading in a 'resourced' cursor in an ORCA/Pascal program. It
          displays
Doctor Why okay, but when I move it I notice that there are narrow columns
          where the
Doctor Why cursor appears as junk. I am guessing that these columns are about
          every 8
Doctor Why pixels. Any thoughts?
AFA Gary J Could be your mask pointer is messed up, but I don't really
          know.
AFA Gary J GA, Dave
Dave Lyons The mask is a good possibility.  Make sure you have an extra word
          of width on each row.  If
Dave Lyons it's still messed up & you're reasonably sure you aren't trashing
          RAM at random, send me your
Dave Lyons cursor & I'll see if it happens here too.  ga
Doctor Why Okay, Thanks
AFA Gary J For those who have come in later this evening, tonight is an open
          topic night,
AFA Gary J so feel free to ask any questions.  We are using protocol.
Seaspider  I keep loosing tool 31 and 32 any ideas?  Thank you..
AFA Gary J Ok, Seaspider snuck a question in there.  Could you ask your
          question again,
AFA Gary J please?
Seaspider  Thanks Gary, I keep loosing tool 31 & 32 any ideas?
Seaspider  (system tools)
AFA Gary J Loosing?  You mean they're not there when you try to load them?
AFA Gary J GA, Matt
Matt DTS   It would be really hard to lose tool 31 as there is no tool 31 as
          part of the system.
AFA Gary J :)
Matt DTS   Tool 32 is the MIDI Tools (are?), and they are not installed with
          the "Latest System Software"
Matt DTS   installer script.  You have to select either "Apple MIDI" or "Card
          6850 MIDI" to get them.  GA.
Seaspider  Hummm, I have had to put them back in several times.  One  tool is
          for games..
Seaspider  Eg.. Couldn't play Carman San Diego until I put the tools
          back...
Matt DTS   It sounds like the program uses system tool set numbers when it
          shouldn't.  Sorry.  GA.
Seaspider  Ok thanks Matt.
AFA Gary J Ok, any other questions this evening?
AFA Gary J GA, Scott
AFL Scott  Dumb question... as usual... whats wrong with this
          instruction...
AFL Scott  lda $00FE,y?
Coach101   Nothing
AFL Scott  APW and Orca barf on it.  Illegal operand.
Matt DTS   Try lda |$FE,y
Matt DTS   $FE by itself would be a direct page address, and there probably
          isn't a DP,y addressing mode.
Dave Lyons (Not for LDA, anyway.)
AFA Gary J That should work, I would think (lda |$FE,y)
AFL Scott  There isn't, Matt.  Will do it... Merlin doesn't barf on it,
          though...  The
AFL Scott  disassembly listing by both the Rom, dumpobj, and NL like it, too.
           Odd.
AFL Scott  Done.  Just an observation.
AFA Gary J The assembly will drop the leading zero's
Coach101   KLUDGE EQU $0093    LDA KLUDGE,Y    Will also work :)
AFA Gary J At least in APW or ORCA.  Merlin will treat it different.
AFL Scott  Nope Coach... that doesn't work.
AFA Gary J GA, Dave
Dave Lyons If you're looking for a possible reason, it could be that APW/ORCA
          is trying to help
Dave Lyons you:  if you *wanted* direct-page indexed (which you would get if
          it existed for LDA), and it
Dave Lyons just used absolute-indexed instead, your program wouldn't work
          right.  It looks like it's making
Dave Lyons sure you wanted what you're getting.  ga
AFA Gary J GA, Coach
Coach101   Very inconsistent on ORCA/APW's part because......
Coach101   KLUDGE EQU $0093   LDA [KLUDGE],Y ....
Coach101   will get you an Illegal Operand Error...  I get lots of those  :)
           ga
AFL Scott  It's a level 8 error and the code produced looked ok.. just an odd
          error I
AFL Scott  guess.
AFL Scott  That works.. but this is for a fast screen update routine, so that
          doesn't
AFL Scott  help.. But thanks.:)
AFA Gary J Allright, our next question is from VICTORYSFT.  GA, VIC
VICTORYSFT The latest GSOS.h for APWC uses #defines to change prodos 8 recs
          to GSOS recs.
VICTORYSFT Although I never use prodos 8 recs, I've just deleted them from
          GSOS.h so that
VICTORYSFT the ORCA/C compiler accepts it.
VICTORYSFT Just to be on the safe side, however, I would like to keep in the
          #defines.
VICTORYSFT I guess I could accomplish the same effect with typedefs, but does
          anybody know
VICTORYSFT a method of fixing GSOS.h using #defines?
AFA Gary J GA, Matt
Matt DTS   You've got the background a little muddled.
Matt DTS   They're not P8 records, they're ProDOS 16 records.  They're done
          that way so that if you include
Matt DTS   GSOS.h and not P16.h (or whatever), you don't have to append GS to
          all the call names to get class
Matt DTS   one GS/OS calls.  If you include both, the conditional
          pre-processor macros define all the
Matt DTS   class one calls as "callnameGS" so you can make both class zero
          and class one calls.
Matt DTS   I don't have an answer to your problem, but that's why it happens.
           GA.
VICTORYSFT I understand why its happening, but is there a fix?
AFA Gary J GA, Coach
Coach101   If you #include both the old ProDos .h file and the new GSOS.h
          file,
Coach101   then you could have a problem...  I use the GSOS.h file a lot, and
          have
Coach101   not had the problem you are experiencing (not with the latest
          GSOS.h)...
VICTORYSFT I never use prodos.h, but the init files I use had it.
Coach101   Are you #include both headers, if so, drop the ProDos one... ga
VICTORYSFT I would still like the automatic conversion to GS recs from p16.
Coach101   Ok, bite the bullet and get rid of all usage of prodos.h
Coach101   done
AFA Gary J Thanks, Coach, Matt.
AFA Gary J Anymore questions this evening?
VICTORYSFT Anybody know why gsos.h uses #defines for this purpose?
Coach101   I dont
Matt DTS   (don't wait for me; I don't know the background on that particular
          case)
VICTORYSFT ok, thanks. GA
AFA Gary J (I'm not, Matt :)
AFA Gary J Is anyone writing programs out there?  (why all the silence :)
AFL Scott  I am.  But don't really have any problems except for converting
          from Merlin
AFL Scott  to Orca.  But then that's all by hand.:)
AFA Gary J Isn't there a conversion program for some of that stuff, Scott?
AFL Scott  Yeah, but they blow away labels.. labels are essential in this
          code (that's
AFL Scott  rather poorly commented).
AFA Gary J Labels are the ONLY comments, eh?  :)
AFL Scott  In a lot of places, yeah... :(
AFL Scott  Plugging my stuff in has proved to be fun.
Mac Hater  (oh, does the scsi upgrade [gs/os v3.02] fix the problem with
          SFTools and
Mac Hater  duplicate filenames?)
Matt DTS   No.  That's a resource manager problem, and there is no resource
          manager upgrade included.
Coach101   I need an opinion on a rather involved issue....
AFA Gary J Ok, Coach, what's your issue?
Coach101   Internet addresses (of TCP/IP fame) use addresses that are 32 bits
          in length.
Coach101   On the network, all bytes are in big endian order (i.e., the
          opposite of
Coach101   IIgs order).  Now most of the time one thinks of an IP address as
          d1.d2.d3.d4
Coach101   where each d is one of the bytes of the 32 bits.  On a TCP/IP
          implementaion
Coach101   for the IIgs should one keep an internet address in inverse order
          (as a long)
Coach101   or should I keep it in big endian order (sort of like char[4]).
          It really
Coach101   does not make a technical difference of any magnitude, but every
          day I change
Coach101   my mind on which is "more correct".  Does anyone have an opinion?
           ga
AFA Gary J GA, Scott
AFL Scott  As long as it doesn't affect the masking of the address any and
          communication
AFL Scott  is still possible with other nodes, then just comment the way you
          store the
AFL Scott  address.
AFL Scott  done.
AFA Gary J (I think it wouldn't matter as long as you documented whatever
          you chose)
VICTORYSFT I'd go with MSB first, in case you ever decided to port to another
          system. GA
VICTORYSFT (long rather than char)
Coach101   But it is a user inteface issue...   Does a using programmer (one
          who calls
Coach101   the device driver) care?  Porting, sort of out of the question for
          a
Coach101   IIgs device driver :)
AFA Gary J GA, Scott
AFL Scott  Then if it's an established standard, stick with it.  It might
          make a nodes
AFL Scott  heard entry and netaddr easier for the programmer of those
          things.
AFL Scott  done.
AFA Gary J GA, VICTORYSFT
VICTORYSFT If you're also including the programmer's interface (C routines,
          etc), then I
VICTORYSFT think that most C people would prefer a long to an array of
          ints.
VICTORYSFT In this case, keeping portability in mind would make sense. :)
VICTORYSFT GA
VICTORYSFT (array of char, I meant)
Coach101   Ok, thanks for the input.....   I can will mull it all over....
Coach101   ga
AFA Gary J Any other questions this evening?
AFA Gary J GA, Scott
AFL Scott  Coach... are you trying to do what I think you're trying to do?
AFL Scott  If so... go for it!:)
Coach101   I am probably DOING what you think I am doing.....   IP
          communications between
Coach101   two cooperating IIgs's should occur this evening.....   Had to
          break
Coach101   the debugging session to attend...   ga
Mac Hater  layman terms? :)
Tamira     IP??
AFA Gary J (protocol off)
Mac Hater  quick, we need a coach translator.
AFL Scott  Sounds great!  Will you try to do it with live nets (ie,
          non-GS/GS)?
Coach101   Scott, yes....   The design goal is complete compatibility with
          the MacTCP
Coach101   implemention (which really means KIP compatibility).  So if you
          have a
Coach101   DDP/IP gateway (e.g. Kinetics FastPath), then you can get from
          LocalTalk
Coach101   to EtherNet.  From EtherNet, you can get where ever in the US you
          wish... ga
AFL Scott  That's splendid, Coach!  Something like that is really needed.
          What do you
AFL Scott  think the speed will be?
Coach101   That is the BIG Q....   Hopefully I will have some answer
          shortly...
Coach101   It is all in assembler, and I have tried to pay attention to the
          code
Coach101   that is in "tight" places so I hope to be in the neighborhood of a
          Mac+
Coach101   TCP/IP is a very popular Local Area Networking standard.  Just
          about
Coach101   any workstaion you buy will have a TCP/IP implementation with, or
          available,
Coach101   for it.  Additionally, there is a national network (the InterNet)
          that runs
Coach101   on TCP/IP.   Have TCP/IP, and a gateway to the world, would allow
          a IIgs
Coach101   to do, and interact with, lots of things...    done
AFL Scott  Keep us posted! This is really exciting!:)  Are you including
          sockets, too?
Dave Lyons (Very cool!)
Mac Hater  would you need something like appleshare or just a modumb?
Coach101   Now you know why the flurry of DTS questions Dave   :)
Matt DTS   Well, we just naturally assumed you were doing something way cool
          or we would have given you
Matt DTS   bogus answers.  :)
Dave Lyons (Actually I think he pretty much told us what he was doing
          anyway.)
Matt DTS   "Sure...go ahead and disable interrupts permanently.  Why would
          AppleTalk mind?"
Coach101   I will be back with more detailed "scheduling" questions Matt
          :)
AFA Gary J :)
Matt DTS   <this is all a JOKE, incidentally>
AFL Scott  New hardwar... I can see it now!:)
Coach101   ARe you sure Matt, sounded familiar to me  :)
AFA Gary J :)
AFL Scott  Matt... and you wondered about 19.2 k baud modems!:)  LOL!:)
AFL Scott  Coach.... how are you controlling the address of the node?  Just a
          question.
Coach101   Via a CDev Scott.  Eventually you will get two options
Coach101   1) Pick your address   2) if you have a DDP/IP gateway supporting
          KIP
Coach101   then you can have the DDP/IP gateway dynamically assign an address
          for
Coach101   you...
Coach101   I am still chasing one that looks like it is headed for a 2300
          posting
Coach101   to AIIDTS...    Fireing off an Nbp LookUp from AppleTalk timer
          completion
Coach101   routine is giving me a bit of a problem (returns $8888 in A, but
          ResultCode
Coach101   looks like it is virgin {I preset it to $00FF}).  If I dont find
          it in my
Coach101   code this evening you will get it in the morning   :)
AFL Scott  Scary thought... news on a GS... direct from uunet... Newsreaders
          for the GS..
AFL Scott  Coach... really neat possibilities there.
AFL Scott  Super large hard disks... people flipping out when they see their
          drives
AFL Scott  accessing for no reason that they know about... Great!!!!
AFL Scott  Coach, seriously.. I wish you the best!