AppleLink
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
January 3, 1989  10:00 pm Eastern
Topic: An open discussion
Forum Leader: James Luther (AFL Jim)


AFL Jim    Hi Mike!
Mike Lutz  Hi Jim!!
AFL Jim    Howdy, Gary
AFL Jim    Like the new buttons?
AFL Jim    :)
AFA Gary J Hi, Jim, Mike
AFA Gary J YES!
AFL Jim    We have the power!
AFA Gary J :)
Mike Lutz  You can do some really weird things with my software and
          keywords....
AFL Jim    Mike: we can finally release files real time now!
AFL Jim    Like what, Mike?
Mike Lutz  Hu??
Mike Lutz  I can do two things at once... It is weird...
AFL Jim    What wierd things?
AFA Gary J hehe...I thought that banner said, "Learn the best software
          BUGS..." at first
AFA Gary J :)
AFL Jim    What software?
Mike Lutz  Ok....I'll run you though....
AFA Parik  Hello all.
AFA Gary J Hi Parik.
AFL Jim    Hi Parik
Mike Lutz  I logon, do an apple - k for a key word and do adv...
AFA Parik  I feel happy, I have software library power now. :)
AFA Gary J I enjoyed your upload.
AFA Gary J YES!  Power!
AFA Gary J :)
AFA Parik  I can validate files... yippeee...:)
AFA Parik  Thanks Gary.
AFL Jim    I enjoyed your source code :)  (ga Mike, I'm listening)
AFA Parik  Hi Scott
AFL Jim    hi Scott
AFA Gary J Yes, the source code is very interesting, Parik.
AFA Gary J Hi Scott
ScottG25   Hi Parik, Jim, Gary, Mike!
Mike Lutz  then I get the menu bar and scute over to the post offist...
Mike Lutz  and pick read mail
AFL Jim    and..??
Mike Lutz  But it (as in alink) pulls down the ADV menu under the post offise
          menu...
AFL Jim    Hi Steve
AFA Parik  HI STEVE
SEGlass    Good Evening.
AFA Parik  (damn cap locks key :)
AFA Gary J Hi Steve
Mike Lutz  so then I pick enter chat or what ever it is...
Mike Lutz  then my mail widow pops up...
AFL Jim    Hi John, Coach
Coach101   Good evening Jim
AFA Gary J Hi Coach, John
AFL Jim    IIGS or IIe/IIc software, Mike?
Mike Lutz  but before I can read it I get put in here.....weird hu :|
AFA Parik  Hi Coach & John!
AFA John   Evening everyone!
Mike Lutz  so here I am..
Mike Lutz  IIe/c
AFL Jim    does it happen every time?
AFA Parik  Hi Dave
Dave Lyons howdy
AFA Gary J Maybe this software bug is just a good thing for the Development
          Forum, Mike?
AFA Gary J :)
AFL Jim    Hi Dave
AFA Gary J Hi Dave
AFA John   Hello, Dave
Mike Lutz  Hiya Dave!!
AFA Parik  A mail window shouldn't pop up, should it?
Dave Lyons Howdy, all....
AFA Parik  Hi John!
Mike Lutz  Nope it happens with every keyword...
AFA John   Hi Parik.
THE GIBBER Yep....A slow Node to Alink :)
AFL Jim    Sounds like your disk is glitched, Mike.
AFA Parik  Other John, John.  But hi anyways.  :)
THE GIBBER I hate delays in the net.... I have to think about what I am going
          to say :)
Mike Lutz  if I pick something in the ADV menu right when I get here I just
          get another..
Mike Lutz  copy if the menu...
THE GIBBER Hi All.....How is everything going in Development Land????
AFA Parik  That happens to me too Mike, you've got to let the software finish
          what its
AFA Parik  doing currently.  When you hit ADV, just let it put the menu on
          the screen
AFA Parik  before using up/down arrows.
Mike Lutz  I don't know ... Alink is doing a lot of the work...
Dave Lyons Mike, I've had that happen to me, too.  There _are_ some weird
          things that
Dave Lyons can happen w/ ALPE & the timing of windows appearing.
AFA Parik  (hehe, ever get Flashnotes in the middle of a window?  :)
AFL Jim    I always hit open-apple-period to kill the menus as they drop.
Mike Lutz  I'll talk to you voice later dave I'll tell you it then...
AFA Gary J I wish there was a mouse location that would be the same as
          hitting open-apple
AFA Gary J period, so I could stay off of the keys.
AFA Parik  Hi Mark
Mark1000   Hiya Parik
AFL Jim    Parik, I looked thru your source code quickly for UNPACK. It
          doesn't handle
AFL Jim    anything but the MAIN information block. Right?
AFA Parik  Right.
AFA Parik  It just works with the graphics screen, not SCBs or such.  It
          always unpacks to
AFA Parik  a $C1 file.
AFA Parik  Hi Tim, Marty, Bruce, and Matt
THE GIBBER Hi Marty!!!
AFA Gary J That would be the only way it could work, then.  (Being $C1
          only)
AFL Marty  Hi all
AFA John   Hi Marty, Matt, Tim, Bruce, Jack and Mark.
AFA Parik  (It DOES unpack the SCBs and such, it just doesn't unpack SCB type
          blocks that
AFA Parik  doesn't contain pictures)
AFA Parik  Hi Deadhead.
DeadHead13 Hi all
AFL Jack   hiya :)
DeadHead13 What's the current talk about?
AFA Parik  Hiya Sarge!
AFL Jim    Nothing much yet, Deadhead. We were talking about the source code
          Parik
AFL Jim    uploaded for unpacking Apple Preferred format pictures.
DeadHead13 Mind if I jump in
AFA Parik  Lot of files released today, eh?  Wonder why...:)
AFL Jim    GA
AFA Gary J :)
AFA Gary J Yeah, Parik!
THE GIBBER Which files parik
AFA Parik  Hi Kathy
DeadHead13 O.K.  I develop for a firm using UCSD (ugh...), and I recently got
          my hands
AFA Kathy  Hi!
AFA Parik  John, files all across AppleLink are being unbonded from their
          hidden status
AFA Parik  as we talk.
DeadHead13 on Kyan pascal, BUT...
AFL Jim    I case anyone wonders, we finally got the online tools to release
          files anytime
AFL Jim    during the day or night.
DeadHead13 but the but is that I cannot reach them in any way to get the
          extensions,
Dave Lyons Keen!
AFA Parik  Hi Jono & Mike!
DeadHead13 latest version, or know even if it is worth my while to deal with
          it.
JonoS      Hi Parik..
THE GIBBER Ohhhhhhhh.......that is great..... Now I have DL them....:(
Dave Lyons I don't think anybody's heard a peep out of Kyan lately....
AFL Jim    I haven't been able to get Kyan to respond in months either,
          DeadHead.
DeadHead13 Anyone know about them?
THE GIBBER All these files and so little time to Down load ;)
AFA Parik  Hello Mark.
MarkHulme1 Hiya
AFL Jim    Last I knew, they were going to pay for articles printed in their
          newsletter,
AFA Parik  Hello Omnitreant and Oli.
DeadHead13 I was thinking of maybe sending them a registerd letter, because
          they haven't
AFL Jim    they printed a couple of mine and then disappeared. They have an
          answering
DeadHead13 responded to my other letters.
AFL Jim    machine that catches the phone, but they never call back.
AFL Jim    (they = Kyan)
DeadHead13 Should we get the Better Business Bureau after them??
AFA Kathy  brb
DeadHead13 This behavior is dispicable
AFA Parik  Hi Floyd & Paul
PGauthier  Good Evening.
AFL Floyd  Hi, all.
THE GIBBER Hi Floyd!!!  What is up??
AFA Parik  (bet Floyd is sick of the number $0046 :)
DeadHead13 brb
AFL Floyd  Not much.  Still trying to recover from New Years! ;)
AFL Jim    DeadHead, which toolkits from Kyan are you looking for? I can
          probably tell
AFL Jim    you if the search is worth your time or not (I have most of them
          if not all).
THE GIBBER <------Still recovering from New Years :(
THE GIBBER <-------3 day of Hangover and still counting :(
DeadHead13 Ok, I realy don't know -- I want to develop in double hi res with
          full control
DeadHead13 of the serial port
AFL Floyd  (Parik: You got that right!  I'm in the process of doing my own
          documentation for ACU to replace...
AFL Floyd  what Quantum has up)
JonoS      Floyd: I was wondering why ACU was created when it packs only a
          few blocks..
AFA Parik  heh
AFA Gary J Re-hi, Kathy
JonoS      smaller than BLU.
AFL Jim    Kyan's MouseText and Graphics toolkits both eat so much memory
          that you don't
AFA Kathy  :)
AFL TimB   Floyd, you're typing seems slower too!  You really are recovering
          from New...
AFL TimB   Years!
AFL TimB   you're=your
AFL Floyd  Jono: ACU doesn't use the Binary II file format.  It uses it's own
          more flexible one.  AppleLink
AFL Jim    have enough left to write any kind of application. To be exact,
          you have 8.25K
Omnitreant Hi everyone.  Anybody here familiar with programmin the SHR
          screen?
DeadHead13 AS far as double-hi res, I don't see it taking much more since
          they don't
AFL Floyd  doesn't require Binary II since it maintains all file
          attributes.
AFA Parik  I've programmed it quite a bit Omnitreant.
DeadHead13 support the upper bank anyway
AFL Jim    left after the MouseText kit and the runtime library are loaded.
AFL Floyd  (TimB:  Flashnote city! ;)
DeadHead13 That is ridiculous
AFA Parik  (protocol, anyone?  :)
AFA Gary J Q = DeadHead, Omnitreant
AFL TimB   Floyd:  %)
ScottG25   ?
DeadHead13 Gary, what is Omnitreant?
THE GIBBER Hi Dennis!!!
THE GIBBER *
Omnitreant Parik: We're trying to do the absolute fastest
          copy-buffer-to-screen routine,
Omnitreant and were wondering if LDA,STA pairs or MVN would be fastest...
AFL Jim    Hi Dennis
Omnitreant I am an Omnitreant, that's who!
AFA Parik  Using LDA with direct page is the fastest Omnitreant.
AFA Gary J :)
DeadHead13 Oh, sorry
Matt DTS   LDA/STA pairs are faster, Omnitreant.
Omnitreant But doesn't one pair take about 12 cycles compared to 7*n for
          mvn?
JonoS      <-- Got dumped.
CecilFret  What's happening?
AFA Gary J Hi Cecil
CecilFret  Hey, Doms.  Cleaning up my phone book.  Last digit of your home
          phone = 6??
AFA Parik  Omnitreant, LDA [0],y takes 7-8 clock cycles.
Omnitreant Actually, tonite WE are Omnitreant...my friend is here on the
          other keyboard
Omnitreant Yes, but you need a store too< the friendo
SEGlass    The fastest way to move depends on where you are going.
DeadHead13 Gary... could we discuss my problem
AFA Parik  (holding off till Deadheads problem is finished)
AFL Floyd  What about setting the screen area as the stack and using PHA?
THE GIBBER Hi Cecil
CecilFret  Nice to "see" you again gibber.
Omnitreant That sounds interesting Floyd...
DeadHead13 I don't thinkl it is that big a deal, but I realy NEED a real
          development
DeadHead13 system for the //e that IS NOT assembler ... I don't mind but my
          job wants
DeadHead13 something that is easy to maintain.  I personally find aztec the
          pits, and have
THE GIBBER Nice to see you....  I am still working on that problem
ScottG25   That would only work for pure word transfers, tho, you would waste
          time if you
ScottG25   had a mask, no?
DeadHead13 been using UCSD.  I recently purchased Kyan to see if I could use
          it, but I am
DennisDoms (Where did you find Kyan?)
DeadHead13 unable to contact them.  Therefore I was wondering if any of you
          would help me
DeadHead13 with Kyan??? :)
DeadHead13 Believe it or not, off the dusty shelves of the APDA store (they
          had one in the
AFL Jim    Deadhead, as I said before, I've tried to contact Kyan as have
          others and they
DeadHead13 store on the shelf and sent it to me!)
AFL Jim    don't answer.
AFA Gary J Q = DeadHead
ScottG25   ?
AFA Gary J Q = DeadHead, Scott
AFA Gary J (Sorry Scott!)
AFA Parik  (guess what folks... this room is full!)
ScottG25   <No Problem!:)>
AFL Jim    If I lived in San Francisco, I'd go beat on their door, but I'm in
          Kansas City
AFL Jim    so....
AFL Oli    (No Parik... limit here is 50
AFL Floyd  DeadHead: In my opinion the ONLY development system for a //e is
          assembler.  Sorry.
AFL Floyd  Aren't these 50 person rooms?
AFA John   (No -- 50 people is the limit Parik. :)
AFA Parik  (Try getting in Oli.  My other account just did.  I'm in Developer
          Chat A)
JonoS      <-- Lives half a mile from Kyan.  But never bought anything from
          them.
DeadHead13 Well, I guess I'm pretty much done.  If anyone wants to help me
          outide of the
AFA Gary J Q = Deadhead, Scott
DeadHead13 forumn, thanks.  Jonos... could you possibly see if they are still
          alive??
AFL Jim    Dennis, waht to give us you list of other high level languages for
          the //e?
AFL Floyd  <Oops, are we using protocol?>
DeadHead13 Or if they have a local phone beside the one they advertise I
          could actually
JonoS      If you give me the address # I'll check tommorow...
DennisDoms I came late...what has been covered?
DeadHead13 reach them at and leave me Email?
Omnitreant ?
AFA Gary J Q = Deadhead, Scott, Omnitreant
DeadHead13 I'll Email the address to you, thanks all. I agree with you Floyd,
          but the boss
AFL Jim    Deadhead is looking for a high level language for the //e.
DeadHead13 is the boss.  All done, next question...scott
ScottG25   The question Omnitreant asked brings up another interesting thing,
          how _does_
AFL Jim    OK, Scott GA
DennisDoms Orhaned - ZBASIC, WSM C, Kyan Pascal, ???.
ScottG25   one calculate the total time in cycles an instruction executing in
          fast memory
AFA Parik  Hi Stowell.
AFA Gary J Q = Scott, Omnitreant
ScottG25   takes when the operand is in slow ram? I was thinking that it is
          the same
DennisDoms (orhaned=orphaned) Only "major" ones I know of are Manx/Aztec C
          and PROMAL...
SEGlass        !
AFA Parik  Hi Don.
ScottG25   cycle count, but the time is different... I am doing the same
          thing as OT
ScottG25   is and would like my routine to be the fastest possible, too!
ScottG25   Done
AFL Jim    GA Steve
AFA Gary J Q = Scott (Steve), Omnitreant
DennisDoms oops, Micol BASIC..I'd have to agree with Floyd that assembler
          seems to end..
DennisDoms up being more viable in the long run.
SEGlass    Code running in slow ram, runs slow (at 1megh) no matter what
          addresses
SEGlass    it accesses.
AFL Jim    (thanks Dennis :)
SEGlass    The number of cycles is always the same.
AFA Parik  ?
SEGlass    The length of the cycles just differs.
SEGlass    ga
AFA Gary J Q = Scott (Steve), Omnitreant, Parik
ScottG25   To limit time, then limit references to screen memory, no?
AFL Jim    So, leave your code in fast RAM, Scott.
SEGlass    To limit time (ie go fast) run code in fast RAM and access slow
          RAM
ScottG25   It IS in fast ram, Jim..
SEGlass    as infrequently as possible.
SEGlass    The most common accesses to slow RAM are writes to the screen.
SEGlass    If we are talking text screen, I don't think counting cycles will
          make
SEGlass    a difference.  But in Graphics, there can be a lot of accesses.
SEGlass    For example to draw a dot on the screen you have to read the
          screen and write
SEGlass    the screen, both accesses go slow for some of the read and write
          cycles.
SEGlass    The number of slow cycles depends on the addressing mode you
          use.
SEGlass    I don't remember all the differences off hand, but the more direct
          the mode
SEGlass    the faster it is.  GA
ScottG25   so then this would save time, no?  Lda  [Screen],y Eor
          [Offscreen],y BEQ Skip
AFA Gary J Q = Scott (Steve), Omnitreant, Parik
SEGlass    As apposed to storing anyway?
ScottG25   Skip terminates all Screen memory references in this time through
          an indexed
ScottG25   loop... No?
SEGlass    I'm still confused.  What are you doing?
ScottG25   Yes, Steve, as opposed to storing.... I'm moving contents of an
          offscreen port
ScottG25   to the screen, through a mask... and only writing words to the
          screen that are
ScottG25   different... GA
SEGlass    Is the mask usually FFFF?
SEGlass    Or is it only rarely FFFF.
AFL Jim    Scott, if a lot of the contents are different, then your code will
          run slower.
ScottG25   Yes in areas where it is ok to store... in areas that are masked
          it is zeros...
ScottG25   I know... but not much slower... I think...
AFA Gary J Q = Scott (Steve), Omnitreant, Parik
SEGlass    What I mean to say is that if you can test the mask for FFFF
          quickly, you can
SEGlass    avoid reading the screen to begin with.
ScottG25   And [Mask]y
SEGlass    Just store with the mask is FFFF.  Avoiding the read saves time.
SEGlass    (That should read:  Just store when the mask is FFFF.
Matt DTS   Even just storing when the mask is non-zero will save a lot of
          time by...
Matt DTS   ...eliminating the write to slow RAM when you won't be changing
          the value there
ScottG25   That's what I do, only the EOR [Screen],y is testing for
          difference in the
ScottG25   screen and offscreen buffers, This serves as kind of a look ahead
          function
DeadHead13 Bye Y'all, thanks for all the help (I'm not from down south!)
DeadHead13 :)
AFA Parik  :)
AFA Gary J Q = Scott (Steve), Omnitreant, Parik
SEGlass    You can copy data through a mask to a destination in five
          instructions.
AFA Parik  All these ANDs, ORs, they need a WHY opcode.
SEGlass    Adding any testing usually slows you down.  The big win comes if
          you can
SEGlass    decide if a whole line will not be masked.
SEGlass    This happens in QuickDraw a lot.  When the clip and vis regions
          are rects,
SEGlass    the drawing is much faster than when they are not.
AFA Kathy  Day job calls.  :(  Byeeeeeeeeeeeeeeeeeeeeeeeeeeeee.... :<<<<<
AFA Gary J Bye, Kathy
ScottG25   Ok that makes sense.... my loop is seven instructions, including
          the BEQ, I can
ScottG25   therefore trim the BEQ and the LDA [Screen],y, right?
SEGlass    My thinking is a little fuzzy.  I think I need to see the whole
          thing...
AFA Gary J Q = Scott (Steve), Omnitreant, Parik
SEGlass    Let me show you the five instructions:  lda src, eor dest, and
          mask, eor dest,
SEGlass    and sta dest.
SEGlass    This copies src to dest through mask.
SEGlass    If you do any testing in here you slow down the case where you
          must copy
SEGlass    through the mask.
ScottG25   Same as mine except the first eor... !
ScottG25   My eor [Screen],y is at the top of the five instructions you just
          mentioned..
SEGlass    If enough words have a mask of zero, you might save time by
          checking it first,
ScottG25   then there is the beq to the dey dey bpl loop part!
SEGlass    but if most have to draw anyway, I think this is as fast as you
          can get.
AFA Gary J Q = Scott (Steve), Omnitreant, Parik
SEGlass    A better way to speed it up is to unwind the loop.  Its a clear
          win every time.
SEGlass    Just takes code space.
SEGlass    GA
AFL Jim    Scott, Do you have it now?
ScottG25   I'll post a facsimile in the quickdraw folder after the chat!
ScottG25   Yes!  I was thinking to unwind the loop, too...! Thanks, Steve!!
          GA
AFL Jim    GA Omnitreant with your question.
Omnitreant The Goal: Fastest Screen Refresh!
AFA Gary J Q = Omnitreant, Parik
Omnitreant Under what conditions are a LDA/STA faster than MVN?  We though
          MVN was faster.
SEGlass    !
Omnitreant !?
AFA Gary J Q = Omnitreant (Steve), Parik
Omnitreant (did I lay an egg???)
AFL Jim    GA Steve
AFL Jim    ! is for a comment, Omni
SEGlass    The MVN tends to be faster than unwound loops unless the slow
          cycles
SEGlass    get in the way.
SEGlass    For example an mvn from screen memory to screen memory is 7 cycles
          per
SEGlass    byte but 4 of the cycles are slow.
SEGlass    An unwound loop of lda[],y sta [],y is 8 cycles per byte but only
          2 are
SEGlass    slow.
Omnitreant We are copying a screen image from bank 07 to E1 direct.  Should
          we go with
SEGlass    Depending on your loop overhead, I think you can go faster without
          the mvn.
SEGlass    GA
Omnitreant the unwound pair or the mvn?
AFA Parik  !
SEGlass    Are you copying a full screen?
Omnitreant Ga
Matt DTS   !
Dave Lyons [Eek!  You shouldn't _know_ your image is in bank 7.  Use the
          memory mgr!]
Omnitreant Let's say half a screen.
AFA Parik  :) dave
Matt DTS   [dave zapped me again.  Withdraw the !]
SEGlass    Is it always in the same place? or can it move (code is easier if
          you
AFA Gary J Q = Omnitreant (Steve, Parik), Parik
SEGlass    can hard code it)
Omnitreant Well, we put the image there (heh!).  APW crashes merrily!
SEGlass    Did I really say that?
AFA Gary J :)
AFA Parik  OmniTreant, I did the same type thing, and I find the LDA/STA
          combo faster. I
SEGlass    I mean hard coding the part of the screen to refresh.
Omnitreant We are hard coding it. First, we had inline mvns that  did the
          move.  It was
Omnitreant pretty smooth.
AFA Parik  use Y as the offset for the source in the direct page (LDA [0],y)
          and X for the
AFA Parik  destination offset (STA $E12000,x)
SEGlass    There are ways to be faster.  First don't use sta []y or even sta
          $e12000,x.
Omnitreant For a scrolling game, this kind of refresh might not look good for
          side-side
Omnitreant movement.
SEGlass    set the data bank to $E1 and use 2000,x addressing.
Omnitreant Wow! Sounds like a good idea!
SEGlass    Or if you want to get really tricky, you can reserve $2000 to
          $9FFF in bank 1
AFA Gary J Q = Omnitreant (Steve), Parik
SEGlass    and try the following:  turn shadowing on for the super hi res
          screen.
AFL Jim    Let the hardware move the bytes for you from fast to slow...
SEGlass    Turn off interrupts and Set the aux-mem switch. so that your stack
          is now
AFA Parik  Steve stole my question...:)
AFA Gary J (I was thinking the same question, Parik!  :)
SEGlass    really bank 1.  Finally, set the dbr to your source bank and lda
          xxxx,x pha in
SEGlass    an unwound loop.  It can only be faster by compiling the image
          into pea XXXX.
SEGlass    and then runing the compiled code.  GA
Omnitreant (awe)
Matt DTS   !
Omnitreant GA Matt
AFA Gary J Q = Omnitreant (Matt), Parik?
Matt DTS   (wow a new forum leader) Be SURE you turn off interrupts before
          doing that, if
AFA Parik  Yes (keep me)
AFA Gary J Ok!  :)
Matt DTS   you're going to.  An OS call or other heartbeat or interrupt
          handler can really
Matt DTS   muck things up in a hurry.  (this is obviously not for standard
          applications)
Matt DTS   GA.
SEGlass    I think the tech support sample code gives an example of all
          this.
SEGlass    If it doesn't it should (or will in the future).
DwightW1   WHICH ONE?
SEGlass    Matt will hit me now.
AFL Jim    hehehe
AFA Gary J Q = Omnitreant (Steve/Matt), Parik
Matt DTS   I don't think it does currently, but it could in the future (when
          we dig out).
Omnitreant Thanks.  You've all given us stuff to think about!  One more quick
          one...
Matt DTS   I'll throw fruitcake; I really will.
Omnitreant Never mind.  I'm done.  Bye
AFL Jim    Should I bring a big shovel, Matt?
AFL Jim    OK Parik... your turn.
AFA Parik  I'm doing what steve said basically (used bank $01) except I
          didn't think about
AFA Gary J Q = Parik
AFA Parik  using the stack!  Thanks Steve!  :)  My question.  Is there
          anything I will
Matt DTS   I'll have you know my mother's fruitcake got rave reviews from
          the...
AFA Parik  stomp on in bank $01?  For those who will use this technique, you
          need to set
Matt DTS   ...IIgs System Software group.
AFA Parik  a ORG in your APW/Orca source code to somewhere, otherwise your
          program will
Matt DTS   !
AFA Parik  probably get stomped on by your scrolling (using bank $01 with
          shadow on)
SEGlass    Hey, I have to leave and terrorize some children.  See you all
          soon.
AFA Gary J Q = Parik (Matt)
AFA Gary J Bye Steve
DougDavies Hi Dave
AFA Parik  bye steve
AFA Parik  GA
AFL Jim    Bye Steve
AFL Jim    GA Matt
ScottG25   Bye and Thanks!
Matt DTS   That makes it my turn.  If you're going to shadow into bank 1, you
          don't...
Dave Lyons Howdy, Doug.
Matt DTS   ...need to ORG the code.  You just try to NewHandle for $01/2000 -
          $01/9FFF...
Dave Lyons !
Matt DTS   (what, did I type the wrong address?  go ahead, dave <sheesh>0
AFA Gary J Q = Parik (Matt, Dave)
AFL Jim    Go on, Dave
AFA Parik  Will it move my program though Matt?
DougDavies What's the subject tonight? I have a good one if anyone cares to
          chat about it
Dave Lyons And if NewHandle gives you an error, DON'T go ahead and use the
          memory anyway
Dave Lyons the way TETRIS does!
Matt DTS   (oh, that's benevolent enough)  He's right.  The problem you might
          hit, Parik..
AFL Jim    Is that why Tetris crashes GS/OS, Dave?
Dave Lyons [Gee, why do people always think I'm going to correct them?
          Sheesh... :-) ]
Matt DTS   ...is that your program might have been loaded there.  OMF 2.0 has
          a bit you...
AFA Parik  :)
Matt DTS   ...can set to specify that the loader not load your application in
          Special...
AFA Parik  Thats the problem i hit every time Matt.  Orca loads my program
          into $01.  :)
AFA Gary J Q = Parik (Matt)
Dave Lyons Generally the Tetris crashes I've seen are when you Quit
          Tetris--yes, that's
Dave Lyons what's happening then.
Matt DTS   ...memory (bank 0 or 1).  Also, you could make an initial segment
          that...
Matt DTS   ...loads the rest of the program not in special memory, and then
          disposes...
Matt DTS   ...of the initial segment (which might have loaded in bank 1).
          The rest of the
Matt DTS   program should then be able to NewHandle the shadow memory with
          few problems.
Matt DTS   (whew!)  GA
AFA Parik  aha.  Thanks.  :)
AFA Parik  FEW problems, eh?  ;)
Dave Lyons 0 is "few", isn't it?
Matt DTS   It might fail.  A DA might get it, for instance, but that's less
          likely.
AFA Gary J Q = Parik (Matt)
Dave Lyons Grab the memory before calling DeskStartup to increase the chance
          of success.
Matt DTS   i'm out
AFA Parik  Heh, was very interesting using the debugger... debugger loaded
          into $01, the
Matt DTS   (done, that is)
AFA Parik  program loaded into $01, and graphics were in $01.  :)
AFA Parik  Doug, whats up?  I want to hear the interesting topic...
AFL Jim    So, what else is up with everyone tonight?
DougDavies You can tell the debugger to load where ever you want!
DougDavies oh ok Parik
Dave Lyons How?
AFA Parik  BLOAD DEBUGGER,A$... :-)
AFA Gary J hehe
Dave Lyons BLOAD the debugger?  I think we're talking about different
          debuggers....
AFA Parik  Just kidding Dave
Dave Lyons (Oh...didn't see your ":-)" :-)
Matt DTS   Calm down, Dave.  Breathe deeply.  Think of Valium.
DougDavies Just go in with an editor and change the org address in the load
          information
AFA Parik  Developers going blind?  Oh no! ;)
Matt DTS   (Oh yeah:  :-)  )
Dave Lyons I know:  you just allocate all the RAM except for where you want
          the debugger
DougDavies i load it in bank 7 a lot
Dave Lyons to load, and then you dispose of it later [making Mem Mgr calls in
          the monitor
Dave Lyons thru NIfty List, for example].
Matt DTS   Or through the mangler, for those who have it
DougDavies No just change the OMF info
Matt DTS   Doug:  What was your whiz-bang gonzo topic?
DougDavies Well any way my question, dave already knows it!
Dave Lyons Hmmm...hadn't thought of that.  Make it an absolute-address
          segment.
DougDavies Anyone written a program with scroll bars not allocatted with
          TaskMaster..?
DougDavies that act the same a task masters?
Dave Lyons Oh, _that_ topic...I was going to try to figure out how SizeWindow
          or TaskMstr
DougDavies We relocate the debugger to break out a lot of games...
Dave Lyons resizes the scroll bars--haven't done it yet.
DougDavies found out how to debug prodos 8 applications with it too.
Matt DTS   It's not SetDataSize, Dave?
DougDavies Dave looks like your correct, need to dispose and then reallocate
          control
Dave Lyons He wants to know how to move the bounding rectangle when the
          window changes
DougDavies Need to change bounds rect, not data represented by scroll bar
Matt DTS   (I'm really rusty on this; I've been buried in OS for several
          months now)
Dave Lyons size--SetDataSize will just recalc the size of the indicator.
DougDavies And then how do you stop your Draw Content routine from clobbering
          your
DougDavies scroll bars
Matt DTS   Doug - send an Email through MCI and we'll tackle it tomorrow.
DougDavies with the ClipRect?  Seems logical
AFA Parik  Buried in OS?  Sounds like Dorothy & Toto's problem, 'cept they
          were trapped.
DougDavies ok matt, i'll check with dale
Matt DTS   Thanks.
AFL Floyd  Doug: You might want to look at some Mac source code for this
          since the Mac doesn't have TaskMaster
DougDavies Guess you never fool with the origin then, leave it at (0,0) all
          the time
Matt DTS   Anything else someone wants me to ignore and not answer?  <grin>
DougDavies Where floyd, i've looked everywhere, no one here at WordPerfect
          has any
AFL Floyd  I have a stupid little scrolling program written in LightSpeed C
          if you want to look at it.
Dave Lyons Doug, if your data size will always be less than 16K pixels, you
          can use the
Dave Lyons Origin as usual.  Having a super-large data area is sort of a
          separate problem
Dave Lyons from doing your own scroll bars, except that I guess that's the
          only reason you
Dave Lyons want to do yours yourself.
ScottG25   What was the solution for the super large area drawing, anyway?
AFL Floyd  Doug: I'll upload the source to my little program to you
          tonight.
DougDavies Yeah, really want to be able to display 50,000 lines if possible
DougDavies ok floyd, uses control managers scroll bars, not taskmasters?
AFA Parik  hire someone to do it for you is a good solution Scott.
AFL Floyd  Doug: It is Mac source code.  LightSpeed C, but you should be able
          to figure it out.
DougDavies ok, great, no 68000, GOOD
AFL Floyd  The Mac doesn't have TaskMaster, you have to do everything
          yourself.
AFL Floyd  I'll send it to ya as a straight text file.
AFA Parik  Next time I see a Mac user, I'm going to rub THAT in his face.
DougDavies there use to be a call called SizeControl, it dissappeared i
          guess?
DougDavies ok thanks floyd
AFL Floyd  BRB... uploading to doug.
DougDavies No explanation how to do it now in any books though
Matt DTS   parik:  Like that will mean anything to an average Mac user.
AFA Parik  :-)
Matt DTS   Try it on AFL Tom and see what he says.
DougDavies Could pull apart task master
Matt DTS   Only if you have a strong stomach, doug.  <grin>
AFA Parik  "I have Taskmaster and YOU don't!!!"  "I have a 25 megahertz
          machine..."  :-)
DougDavies Too bad apple didn't make the Data size bigger than $3FFF
Matt DTS   Remember, the Window Manager can do what it likes in TM because
          it's...
DougDavies yah, sucks doesn't it
Matt DTS   ...using it's own data structures.  It can "cheat" if it wants to,
          iow.
Matt DTS   Doug:  You got an enhancement request, send it in.  We read 'em
          all.
DougDavies enhancement request?
Matt DTS   "Gee, it would be nice if the data size could be bigger than
          $3FFF..."
Dave Lyons (Request an infinite Data Size, Doug!  This is your big chance!
          :)
DougDavies would be nice, but they wouldn't even listen to half my ideas on
          custom menus
DougDavies at least Jim wouldn't, he did help quite a bit though...
DougDavies what happened to Jim
Matt DTS   Jim's gone to work for Steve in Apple II System Software (making
          the toolbox).
DougDavies yes, wish we could get a journalling driver working too?
AFA Parik  Hi again Dwight
DougDavies it's all GetMouse's fault
Matt DTS   ReadMouse, isn't it?
DwightW1   MODEM PROBLEM AGAIN
DougDavies yah, almost works
Matt DTS   It will work better on a future system disk.  Jim says so.
          <grin>
DougDavies great, guess or new product won't support it for a while then.
Matt DTS   Well, it almost works.  <sighing>
DougDavies but Jim is a big help.....cleared me up on a lot of things
Matt DTS   (For the audience: Journalling doesn't work because it doesn't
          journal...
Matt DTS   ...the ReadMouse call, which is made by many of the tools quite
          often.)
Matt DTS   And it can't journal ReadMouse because the Event Manager calls
          that.
Matt DTS   (ALL the time.)L
DougDavies sniff
Matt DTS   SO:  Who's gonna buy me dinner at Boston AppleFest?  Positions
          still available!
DougDavies ok, any more on the scroll bar stuff?
AFA Gary J :)
Matt DTS   (Like I always say: when depressed, go for the ultimate gall.)
Matt DTS   Not off hand, Doug.  Write in tonight; we'll attack it tomorrow
          morning.
AFA Parik  I thought DTS was going to buy dinner for everyone.
AFL Jim    Matt, we'll send Willie to pick you up.
Matt DTS   I think you're mistaken, parik.  Isn't it the other way around?
DougDavies Ok, how bout this one?
Matt DTS   Willie?  The Great Missing AFP?
DougDavies How to have a lot of dialogs without all those structures sitting
          in memory?
AFL Jim    Ask Floyd about Willie's sense of direction :)
DougDavies how bout out in a text file?
AFL Floyd  Doug: The source code is in your mailbox.  Remember this is my
          first program on the Mac. ;)
DougDavies ok floyd, thanks
Matt DTS   If you want to read them from a text file into a handle, use them
          and then...
AFL Floyd  Jim: I barf just thinking about it. ;)
DougDavies We don't have resources yet do we?
Matt DTS   ...dispose of the handle, it should work.
Matt DTS   We have resource forks, but no resource manager.  Patience.
DougDavies thats what I thought of doing
DougDavies shame to waste all that memory on a dialog that only gets called
          once
Matt DTS   I personally, being a filetypes kinda guy, would recommend reading
          them...
DougDavies No info on resource forks, though!
AFL Jim    Floyd: I remember seeing your breakfast flash before my eyes...
Matt DTS   ...from a BIN file (or an EXE file if you wanna use the loader)
          instead of TXT.
Dave Lyons Doug, what info on resource forks don't you have?
DwightW1   excellent conference...looking forward to downloading it....bye
          :)
AFA Parik  bye Dwight.
AFL Floyd  Jim: I didn't have breakfast...that was dinner from the night
          before. ;)
Dave Lyons Matt, that reminds me...why is the ERROR.MSG file in */SYSTEM an
          EXE file?
Dave Lyons It ought to be GLF, or something.
AFA Gary J I get the idea that Willie is NOT the person to get a ride with?
          :)
DougDavies not sure, I have the most recent GSOS stuff, really haven't looked
          at it
Matt DTS   Why not?  There was really no reason to change it to anything
          else, although...
Dave Lyons The only info there _is_ on resource forks is how to open them,
          and how to
AFL Floyd  Not if you want to get anywhere in a reasonable amount of time.
          :)
Matt DTS   ...it probably ought to be either $BC or $F9.  It just wasn't
          important...
Dave Lyons create a file that has one.  The format of data in all resource
          forks is
Dave Lyons currently reserved by Apple.
Matt DTS   ...enough to delay 4.0 for.  (grin; some things always fall
          through the crax)
DougDavies thats what i thought
Dave Lyons Matt--unimportant as long as nobody tries to run the thing!  It's
          currently in
AFA Gary J Floyd:  Yes, but didn't he deliver your dinner right to your
          doorstep?  :)
Dave Lyons OMF format, so $BC sounds good.  I guess $F9 would work if the
          system just
Dave Lyons OPENed and READ it instead of InitialLoading it.
DougDavies anyone want to know how to run a prodos 8 program under the APW
          debugger?
AFA Parik  Oh matt, that reminds me, has anyone asked for filetype $CD to be
          used as the
Matt DTS   Yeah.  It may be changing around (internally) a bit anyway.
Matt DTS   (it can do that since it's a private data structure.)
AFA Parik  ACE packed files?  $Bsomething is sound, but just about everyone
          is using
AFA Parik  $CD.
Matt DTS   The ACE files will be filetype $D8, with a low auxtype.
Matt DTS   Early ASIF, AIFF and ACE documentation referred to filetypes $CA,
          $CB and $CD
Matt DTS   ...which created no end of confusion.  The new sound filetypes are
          in the $Dx
AFL Floyd  Doug: Yes to P8 and APW debugger.
Matt DTS   range.  ($D8 is "Sampled Sound")
DougDavies Ok here it is
AFA Parik  Ok.
DougDavies put a break in the PRODOS file (prodos 8) at byte 0, with an
          editor
DougDavies now load the debugger and type in a program that does a QUIT call
          to PRODOS
DougDavies run the program.  It will load prodos, hit the break, and your
          debugging
DougDavies prodos 8, very useful for cracking prodos 8 games, like ELECTRONIC
          ARTS...
DougDavies who hasn't figured out how to program in a real operating system
          yet
Matt DTS   Shame shame, Doug.  <cant believe you said that>
AFA Parik  haha!  I love it!  Thats great Doug!  Thanks a LOT!
AFL Floyd  Neat.