America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, December 4, 1990  10:00 p.m. Eastern Time
Topic:  Beginners Night
Forum Leader:  Dave Sugar (AFL Dyfet)


JWankerl   Well... since I'm a beginner, is it okay if I ask how to use
          NewList2?  Or does
JWankerl   that put me in the intermediate category and I'm not allowed to
          ask?
Coach101   Since you new about the "2" you are an expert :)
AFA Gary J :)
JWankerl   Expert?  Gee, I get promoted fast around here!  :-)
AFL Dyfet  That is a fair question for tonight Wankerl....
JWankerl   Okay... so... how do I work NewList2?
Dave Lyons Joe, can you be more specific? Have you read what TB Ref 3 has to
          say about it?
JWankerl   Yep, dave.  I read it.  Everything is a resource and when I call
          NewList2 with
JWankerl   all parameters $FFFF and $FFFFFFFF and a default drawing routine,
          my machine
JWankerl   dies.
Dave Lyons What is "a default drawing routine"?
JWankerl   NIL first parameter.
Dave Lyons Are you using 5.0.3?
JWankerl   I want to add a member to my list, so I add the resource and
          update the size
JWankerl   field in my list control and mark that resource changed, then do I
          call
JWankerl   NewList2?  Or do I gotta do something else, too?
JWankerl   Yes, 5.0.3
Dave Lyons Hmmm...
Dave Lyons Sounds right to me.
JWankerl   Well the machine dies.  :-(  What I do instead of NewList2 is to
          first dispose
JWankerl   of my old list control and then make a new one with NewControl2
          and it works.
JWankerl   But I don't like that - I'd rather use NewList2.
Dave Lyons (Have you checked the TB Ref technote?  Checking....)
JWankerl   Which technote is that?
Dave Lyons GS TN #24.  But I just looked & didn't see anything interesting on
          the List Manager.
Dave Lyons Now checking another source (pun intended).
Windrider5 Joe, I have also had trouble using the NewList 2 call with the
          "default
Windrider5 but it uses a custom drawing routine.
JWankerl   Windrider:  Does your machine crash into oblivion when you make
          the call?
Windrider5 drawing routine" I have been using the source code from the Darts
          program
Windrider5 yes
Matt DTS   (dave's a little touchy these days about the standard list member
          drawing routine.  :)
JWankerl   So you think the problem is with the default drawing routine?
Windrider5 Could be.
Dave Lyons Matt, not in 5.0.3.
Matt DTS   Yeah, I know, but it's a chance to give you a hard time.
AFL Dyfet  While we're waiting on Dave....Are there any other beginners here
          who would
AFL Dyfet  like to get a question in the queue?
Dave Lyons Wait, got it--
AFL Dyfet  GA Dave...
Dave Lyons It appears to be a documentation bug.  Try passing $FFFFFFFF for
          the draw routine & let me know
Dave Lyons if -that- works okay.
Dave Lyons I'll verify it & get it in a technote if this is right.
JWankerl   $FFFFFFFF????   Okay, I'll give it a try.
JWankerl   Would $FFFFFFFF be the default routine, or the routine that was
          last used, like
JWankerl   all the other $F...F values mean?
Dave Lyons (Yes, the all Fs means "don't change the value.")
AFL Dyfet  Okay, since I didn't get to run it at the start, here goes the
          intro for
AFL Dyfet  tonight :)
AFL Dyfet  Good evening and welcome to the Apple II Development Conference
AFL Dyfet  Tonight is beginners night.  This means we will be here to help
AFL Dyfet  the beginner.  Feel free to bring up your questions and ask for
AFL Dyfet  help.
JLeathlean Well, I'm not a beginner, but I do have a question
AFL Dyfet  ....Okay, I believe Leathlean has the
          next question
AFL Dyfet  for tonight....Go ahead Leathlean...
JLeathlean Heh
JLeathlean I'm having a problem with NewWindow2.  I've created a window with
          Genesys, with
JLeathlean a simple ICON and a StaticText box.  I then use NewWindow 2 to put
JLeathlean the window up.  While it appears the call works - nothing appears
          on the screen
JLeathlean and Nifty List shows the VisRgn is (0,0,0,0).  I'm at a loss as to
          what's wrong
JLeathlean ...
Dave Lyons What's the window's alleged rectangle?
Dave Lyons For that matter, is it Visible (bit $0020 on in the wFrameBits)?
JWankerl   Check the fVis flag, too.
JLeathlean The rectangle is approx (120,280,100,300)   As for Visible - that
          was defined
JLeathlean in the window record by Genesys...
Dave Lyons What does Nifty List display when you do a ~w ?  Is your window
          listed in square brackets = invisible?
JLeathlean I don't recall off hand...  Assuming that it is invisible - what
          is the
JLeathlean simplest method to make it visible?  (even if it involves a
          toolcall).
JWankerl   _ShowWindow
Dave Lyons In NL 3.0 or higher, type _ShowWindow(xxxxxx) where the Xs are
          your window pointer.
Dave Lyons (Simpler = get the frame bits right when you create it, if you
          wanted to create it visible to start
Dave Lyons with.)
JLeathlean As far as I know - I believe the window frame is right.  If not -
          I might have
JLeathlean a complaint about Genesys...  Thanks for the help...
Coach101   But, even if the frame bits are wrong, will the vis
Coach101   rgn look like nil?
JLeathlean Who knows...  At least I may have a solution...  Buy DESIGN
          MASTER!
JLeathlean <heh>
Dave Lyons Yup, invisible windows can have (0,0)(0,0) for their region.  No
          problem.  The region *handle*
Dave Lyons is not nil, but the bounds rect is all zeroes inside the handle.
Coach101   Understood, my question was would a "normal" window that is
          invisible have a vis rgn of 0,0,0,0?
JLeathlean Well - I'll try putting a ShowWindow in and see if that helps...
          Thanks for
JLeathlean all the help...
Dave Lyons Coach, Yes--I just dumped one a minute ago from Nifty List.  My
          DIcEd "Clipboard" window
Dave Lyons is invisible until you Show it, and it has a 0 vis rect.
Coach101   Thanks
Matt DTS   (The VisRgn is probably empty so in case someone does any drawing
          it will be clipped out.)
AFL Dyfet  Okat, Reff has the next question...GA Reff...
Reff       Help!! When I run Prosel volume repair in test mode I get errors,
          file skipped
Reff       block in use.  I assume that 2 files are trying to use the same
          block.
Reff       any ideas?
JLeathlean That's correct - Prosel runs through each file in order while
          trying
JLeathlean to verify the validity of the contents of the disk.  If a file has
          used a block
JLeathlean already marked by Mr. Fixit (Volume Repair) it will give that
          error.  Somehow
JLeathlean the bitmap has been contaminated.  The easiest fix is to remove
          the offending
JLeathlean file - and run Mr. Fixit again.  The second time, it will give a
          Block Free
JLeathlean Error.  One of the two files has contaminated data.  If you have a
          backup
JLeathlean replace both of them, otherwise inspect them and see if you can
          determine which
JLeathlean one is bad...
Reff       This is an ongoing problem.  I have reformated 3 times and the
          errors multiply
Reff       I have had as many as 66
AFA Gary J Ouch.
AFL Dyfet  GA Coach
Coach101   If the volume is not too large, and if you want to
Coach101   maximize your chance of not losing anything, and
Coach101   if you cannot determine the two files that have
Coach101   crossed their links, then save the entire volume
Coach101   using ProSel's backup routine.  Re-initialize the
Coach101   volume and restore from the disk(s).  If you try
Coach101   deleting a file when the bit map is bad, things can
Coach101   get even worse.  If you really feel you must delete
Coach101   the file, follow the instructions in the prosel
Coach101   manual for deleting a file without releasing its blocks.   ga
Reff       I have a good backup.  I do a low level format and then restore.
          Last time I
Reff       ran for two days before I started getting errors
JLeathlean ? what kind of hard drive/computer
Coach101   Can you selectively restore a single file from your backup?
Reff       I use a GS with a Seagate 157n 48meg.
AFA Gary J Do you have a ROM disk?
Reff       Yes I can selective restore.
AFA Gary J Or, what kind of memory card?
Reff       I have a Ramfast could that cause a problem.
Reff       I have a Juice + Ram card 4 meg.  It checks ok.
AFA Gary J I had the file problem you had, but it was caused by a bad jumper
          on one of my
AFA Gary J memory cards.  The system hung during a write operation on one or
          two occasions
AFA Gary J before I fixed the card.
AFA Gary J ga
Coach101   Reff, when you do the restore, does an a volume check run clean
          immediately afterward?
Reff       Volume cheks ok after a restore.  last time for 2 days
AFA Gary J Any particular set of files being corrupted each time?
AFA Gary J (Like, files in a directory you download to a lot?)
Coach101   Or any particular block addresses
AFA Gary J Or, files in a directory you use a particular program with?
Reff       No just random in several directories.
AFA Gary J (Or, as Coach said :)
Reff       No the files that are corrupted are not evev being accessed.
Coach101   Reff, do you know if the same block numbers, irrespective of what
          files think they own
Coach101   them, are always involved?
Matt DTS   It does sound like someone stepping on cached directories or bad
          memory for same.
AFA Gary J ...which could have something to do with the RAMfast
Coach101   Directories or VTOC bit-maps Matt?
Reff       Could the Finder data be writing back over these files
Coach101   Do you see any other anomalies PRIOR to discovering the duplicate
          block allocations?
Reff       I had two drives connected and I was overwriting the directories
          on the 2nd
Reff       so I disconected it
Reff       My "dir" files were changed to "wrp" file type.
Matt DTS   Either, coach.
Coach101   How long are your cables and where are the terminators?
JLeathlean Also - which SCSI - Old or HS...
Matt DTS   That would say directory blocks, wouldn't you think?
Reff       My cables are short.
Reff       RAMfast
JLeathlean It probably wouldn't hurt to add a pass-thru terminator at the
          computer end
JLeathlean provided the Ramfast card isn't self terminated (I don't know
          myself)
Coach101   Terminators?
JLeathlean BTW:  how old is your drive?
Reff       Drive is slightly less than 1 year old.
Reff       I'm about to reformat for the 4th time, change cables and then put
          my rev c
Reff       back in
Coach101   Reff, if you had a case of a drive that was not being used (the
          seond) drive having
Coach101   its directories dingled, I would look very closely
Coach101   at the SCSI card, cables, addressing etc.  Though
Coach101   all of you symptoms don't really dovetail to cabling
Coach101   that one (writing on the wrong drive) sure does and
Coach101   it would be best to squash it before further chasing..
Coach101   ga
Reff       I unhooked the second drive then my open blocks strted
Reff       unhooked  started
JLeathlean Writing on the wrong drive could be indicative of duplicate SCSI
          id's.
Matt DTS   The Apple cards just get confused and kind of die, but RAMfast
          might respond differently.
Coach101   Or noise/crosstalk/reflections on poor, defective, improperly
          terminated cables....
Reff       What woud you replace first drive, cable or card?
Coach101   I would use a high quality (and SHORT) system cable.
Coach101   Terminator at system cable entry to first device.
Coach101   If I had more than one device I would also place a
Coach101   terminator at the end of the chain.  The SCSI
Coach101   specification requires a terminator at each end but
Coach101   Apple uses a short cable and gets away with one
Coach101   terminator for a single device.  ga
Coach101   Wait one....
Coach101   Are your drives internally or externally terminated?  And how sure
          of that are you?
Reff       I have an end of a cable without a termnator.  It is where I
          removed my tape
Reff       backup
Reff       but I have a terminator on the other end
Coach101   You have a "dangling" connector?
Reff       This configuration has been the same for two weeks without a
          problem though.
Reff       Yes a dangling connector where I removed my tape drive.
Coach101   Sometimes you can bend the rules and not get hurt.
Coach101   Sometimes you bend the rules and get burned...
Coach101   In the worst case, you bend the rules and get an intermittent
          problem....
Coach101   I know that a lot of the times you can do without
Coach101   terminators, have dangling cables, etc.
Coach101   However, to really determine if it is causing a problem you would
          have to put an oscilloscope
Coach101   on the lines and look at signal levels, rise times, fall times,
          and REFLECTIONS.
Coach101   If you have a dangling cable, you WILL have reflections.  THe nice
          low impedance of your SCSI
Coach101   system is looking at an "infinite" impedance termination on the
          dangling cable.  A reflection
Coach101   will result.  Whether the reflection is damaging or not is hard to
          say.
Reff       I have another cable I'll try.  I was just about to shut down and
          try that.
Reff       But would all that cause two files to try to use the same block?
JLeathlean Fate...  or bad programming...
Coach101   If you are getting reflections in the cable system, any bit could
          get inverted.  I have chased
Coach101   SCSI problems that would only show up on a specific
JLeathlean Try turning off the DMA.  If the computer memory is flaky - it
          could cause
JLeathlean the problem...
Coach101   data pattern (some 200 bytes long) and the whole
Coach101   problem turned out to be too long a cable (actually too
Coach101   much capicitance)...   Play by the rules to be
Coach101   safe...
AFL Dyfet  Okay, do we have any other questions for tonight folks?
Reff       Thanks for all the tips.