textfiles/apple/ADC/adv.890829

853 lines
39 KiB
Plaintext
Raw Normal View History

2021-04-15 11:31:59 -07:00
AppleLink
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
August 29, 1989 10:00 p.m. eastern time
Topic: ByteWorks Products - Special Guest Mike Westerfield
Forum Leader: Dave Sugar (AFL Dyfet)
AFL Dyfet Well, it's about that time (10:00EST), so I guess we better get
started :)
AFL Dyfet Good evening and welcome to the Apple II development. As you can
see by that
AFL Dyfet worm up there, tonight's topic was originally scheduled open, and
appearently
AFL Dyfet it never got changed :(...In any case, tonight's topic is
BYTEWORKS and related
AFL Dyfet tools, and our special guest tonight is Mike Westerfield. We
will be using
AFL Dyfet PROTOCOL tonight, which means, if you wish to ask a question, you
should enter
AFL Dyfet a '?' on a line by itself, like Parik just did, and if you wish to
comment on
AFL Dyfet the current discussion, you must enter a '!' on a line by itself.
You will
AFL Dyfet be called upon in turn to speak. But first, before we get
started, I would
AFL Dyfet like to give our guest a chance to introduce himself :). Mike,
you have the
AFL Dyfet floor now :).
MikeW50 Gee... (blush). For the two of you who don't know :) I'm Mike
Westerfield,
MikeW50 President of the Byte Works, Inc. We write development systems
for
MikeW50 Apple II computers, most recently for the Apple IIGS, where we now
offer
MikeW50 assembly language, Pascal, and C, all working from either a text
or
MikeW50 desktop environment, and all sharing the same development
environment.
MikeW50 ga
AFL Dyfet I see your modest too, Mike :)...
AFL Dyfet GA Phil, if you have a comment, and aren't sneaking in a question
:)
AE PhilM Hi Mike, that all!
AE PhilM ga
MikeW50 Hola.
MikeW50 ga
AFL Dyfet :) Okay, I believe our first question is from AFA Parik. You
have the floor
AFL Dyfet now.
AFA Parik couple Q's. What ever happened to Orca/Basic? Have you seen John
Brooks
AFA Parik TurboLink and/or Randy's Rose editor? if so, have you talked with
them about
AFA Parik maybe including them? they are really hot! Also - can you give a
status
AFA Parik report on Orca/M v2.0? ga
MikeW50 First, ORCA/BASIC is still an active project, but an incredibly
hectic and
MikeW50 busy schedule keeps pushing it back. That's why we have been
silent about
MikeW50 release dates. I don't want to continue to get people's hopes up,
only to
MikeW50 dash them when a slip comes up. Frankly, although it is still an
active
MikeW50 project, I'm sorry we ever anounced that we were working on it. I
don't like
MikeW50 doing that sort of think to you.
MikeW50 I have seen both the editor and linker you asked about. Neither
is likely
MikeW50 to make it into our commercial product, simply because we could
not
MikeW50 1. pay for it
MikeW50 2. support it
MikeW50 I also like to see a _choice_ of editors. If there is one truism
about
MikeW50 editors, it's that no one editor satisfies everyone. There are
many
MikeW50 people who are very happy with the one we ship, or who want to see
it
MikeW50 extended rather than replaced. I want Randy to publish his as a
_alternative_,
MikeW50 not a replacement. That gives you a choice.
MikeW50 While the linker you mentioned is fast, it is also very
non-standard in the way
MikeW50 it works and the features it supports. Look for a new linker from
us that is
MikeW50 about as fast, but supports all features and works in a more
normal way.
MikeW50 ORCA/M 2.0 is under development. It will be the basis for 2.0
versions of
MikeW50 C amd Pascal, as well. I can't give you firm release dates, yet.
The major
MikeW50 features are full support of system 5.0, including resources, and
lifting of
MikeW50 many limitations, such as longer expanded command lines (64K) to
allow
MikeW50 for more link names, 64K shell variables, and 8K path names. I
will be
MikeW50 happy to answer ?s about it.
MikeW50 ga
AFA Parik multiple commands on a single line? ;) thanks! <done>
MikeW50 You have mutiple commands on a line now... ga
AFL Dyfet Okay, I'm sure some questions will be asked about that before the
end of
AFL Dyfet tonight :)...I believe the next question is from WindRider...GA.
Windrider5 I have been reading recently about object-oriented programming and
C++ do you
Windrider5 think Apple of Byteworks will ever support OOP/C++ for the IIgs
Windrider5 ga
MikeW50 I can't speak for Apple. As for us, we are seriously considering
C++ as
MikeW50 an extension to a future version of ORCA/C. On the other hand, I
am not
MikeW50 willing to publicly commit to anything even vaguely resimbling a
release
MikeW50 date. ga
AFL Dyfet Okay, I believe Coach has the floor next. GA Coach...
Coach101 First, do you have a feel for the general time frame of the
release
Coach101 that fully supports 5.0 and is that the "free" upgrade I have read
about?
Coach101 ga
MikeW50 I assume you are speaking of C. The free update will include a
new compiler,
MikeW50 new libraries, and new interface (.h) files. We are currently
working on the
MikeW50 bug fixes, and waiting on the .h files, which are supplied by
Apple.
MikeW50 Unfortunately, the fact that we decided to include 5.0 with C 1.1
has slowed
MikeW50 it down considerably -- we have to wait for Apple supplied
files.
MikeW50 As for the "full" support of 5.0, the current system works with it
fine, with
MikeW50 the exception of the ORCA COPY command, which does not copy
resource forks.
MikeW50 The 5.0 free C upgrade will ship considerably before we have
finished the
MikeW50 new shell, which will take advantage of the new features offered
by 5.0.
MikeW50 That will be later this year. The free upgrade to C may ship as
soon as
MikeW50 next week. If we don't have files from Apple vefore AppleFest
(late Sept),
MikeW50 we will just modify the files ourselves, and ship anyway. That
would,
MikeW50 unfortunately, mean that we would have to do another update when
we get
MikeW50 Apple's .h files. I hope we don't have to do that.
ikeW50 ga
Coach101 "C" was what I was referring to. Thanks for the infor.....
Done...
AFL Dyfet I have a question...why does Apple have to supply the headers?
MikeW50 We use Apple's tool interface headers to maintain as much
compatibility as
MikeW50 possible between ORCA/C and APW C. It is also supposed to make
our interfaces
MikeW50 more accurate, since they are generated mechanically from original
data, and
MikeW50 make them match the Apple-supplied toolbox documentation.
ikeW50 ga
AFL Dyfet That seems like a wise choice then :)...I believe Phil has the
floor next..GA
AFL Dyfet Phil.
AE PhilM In 2.0 can will we see a recursive delete command, and text output
thru the
AE PhilM console driver (for speed). Will switch and compress work with
directories
AE PhilM that have extended files. Finally, please don't change the way
the editor
AE PhilM handles key substitutio (ie. SYSECMD) I really like the editor I
am using now
AE PhilM done
MikeW50 The ORCA/M 2.0 shell will support recursive deletes. Keep in mind
that while
MikeW50 I cannot talk about APW, there will be some differences between
the ORCA/M and
MikeW50 APW shell. (ORCA will have more.) (Hint, hint...)
AE PhilM :)
MikeW50 The new shell supports output using the console driver. For
speed? Well, no.
MikeW50 The text tools are _still_ faster that the console driver, but the
OS team
MikeW50 keeps promising that that will change someday. Old programs that
use the text
MikeW50 toolkit will still work -- the very flexable text tools will be
routed by the
MikeW50 shell to the less flexible console driver, which would not be able
to handle th
MikeW50 reverse situation.
MikeW50 Compress and switch shoudl support extended files now. The
problem is that
MikeW50 there is a "feature" (DTS insists it is a feature, not a bug)
that
AFA Parik Will there be a rez compiler on 2.0? Is it going to be as large
as APWs? :)
MikeW50 prevents a program from using write-block to the boot disk.
COMPRESS and
AFA Parik (whoops, sorry)
MikeW50 SWITCH work fine if you use them on any disk except the boot
disk.
MikeW50 We will eventually stop supporting the key remapping feature of
the current
MikeW50 editpr, but it will not happen until it is replaced by a much more
flexable
MikeW50 mechanism for doing the same thing (and more). That may be in
2.0, but
MikeW50 frankly, it will probably have to wait until a little later.
MikeW50 ga
Dave Lyons With the Console Driver, there is the potential for being much
faster than the
AE PhilM Thats not a feature.....preventing a write block call?? Thanks
Mike!
Dave Lyons text tools--this depends largely on the calls being
multiple-character writes
Dave Lyons rather than single-character ones, so the advantage won't become
too apparent
MikeW50 Without getting into a debate, console drivers are not used as
block-output
Dave Lyons until EXE utilities and/or the shell itself start going directly
to the
MikeW50 devices. They are sed as single-character devices by shells.
Since the shell
Dave Lyons console driver.
MikeW50 is the only program that uses it (right now), it must be fast the
way the shell
MikeW50 uses it, not the way the tester tests it. ga
Dave Lyons GS/OS wasn't designed to allow direct block access to a disk with
open files
Dave Lyons on it--since Sys.Resources is generally open, that means you can't
do block
Dave Lyons access to your boot disk, at least not without a lot of trouble.
Dave Lyons EXE utilities typically use things like WriteLine today, right?
If you
Dave Lyons replace these with multiple-character writes (using Write or
DWrite--don't
Dave Lyons remember which way is faster), you get a lot of speed out of the
console
Dave Lyons driver.
Dave Lyons (ga)
MikeW50 Dave, the shell is written to handle output of a character stream.
While
MikeW50 proms _could_ be completely rewritten to collect characters into a
single line,
MikeW50 then send them in bursts, it is not reasonable to expect the
programmer to do
MikeW50 that just to suppprt the new console driver. The console driver
should be
MikeW50 rewritten to support the existing programs, which all worked fine
before.
Dave Lyons Old programs continue to work; but there is the opportunity for
large
MikeW50 As for write block, keep in mind that the "feature" breaks
existing programs.
MikeW50 It can also be avoided by changing GS/OS. Breaking existing
programs,
Dave Lyons speed increases by using the console driver in "spurts"--I think
it's
Dave Lyons reasonable in some cases to take advantage of the speed.
MikeW50 especially without providing an alternative, is something Apple
can choose
MikeW50 to do, but I hope you change your mind.
MikeW50 ga
Dave Lyons On WriteBlock--also note that block-level access to volumes
MikeW50 Sorry -- I missed your comments because I was still typing.
Dave Lyons is never recommended, and that you can always boot from another
disk to
Dave Lyons do block-level stuff to a particular disk.
MikeW50 Right - or reboot P8 to do the job, as the DTS letter recommended.
Put THAT
AE PhilM Dave, that is not reasonable...that is not the way people work.
Generally
MikeW50 in your script file!!!
AFA Parik (hd...:-)
AE PhilM they are booting from a harddisk and dont really want to boot up
from another
AE PhilM disk just to use switch an compress.
AFL Dyfet Or do a quick hack on a file :)
Dave Lyons It is reasonable to ask that GS/OS be enhanced in the future
AE PhilM It's really very inconvenient.
AE PhilM done
Coach101 ProSel-16 will do the SWITCH, SORT, etc. on the boot disk!!
Dave Lyons to allow block-level access even with open files--with caching
going on at
Dave Lyons the device and FST level, this is a tricky issue.
AE PhilM Then I will ask that it does. If the time penalty is not too
great to do so
AE PhilM now without a re-design...then it should be done ASAP.
MikeW50 PrSEL-16 will not do it's stuff using 5.0. ORCA works fine with
4.0. ga
Dave Lyons (done)
AE PhilM done
AFL Dyfet Any other takers?
Coach101 Yes
AFL Dyfet GA Coach...
Coach101 I think that there must be a way to do it currently (DRead/DWrite
maybe)
Coach101 but the whole concept is very scary.. The OS is doing caching
(FST.DEV)
MikeW50 I asked DTS about DRead, DWrite. It will work, but leaves you in
danger of
MikeW50 corrupting the disk. ga
Coach101 and ANY write activity to the disk is just FLAT DANGEROUS and
beyond
Coach101 the scope of understnding by the JTU (Jay Turkey User).
Coach101 With respect to the CONSOLE driver issue, I agree with both of
you. The SHEL
Coach101 has a need for character I/O but the programs , I think, tend to
things
Coach101 in line form. In line form the speed increase will be there and
Coach101 MORE importantly, a program can be used outside of the SHELL (i.e.
a sort
Coach101 program launched by a database program) and use the new prefixes
Coach101 to accomplish I/O redirection. Done....
AFL Dyfet Also, by using the new prefix based redirection, one no longer has
to worry
MikeW50 I agree. And I think that the console driver will eventually be
AFA Parik like I asked before, how will rez be handled? a text and desktop
compiler? Will
MikeW50 faster than the text tools are now. They just aren't yet.
MikeW50 ga
AFL Dyfet about stdin/stdout being implimented incompletely. You could do
fseek/etc on
AFL Dyfet stdio again :)...
Coach101 Perhaps....
AFA Parik it be a programmers thing, or something like Genesys/DesignMaster?
Also, how
Coach101 The resolution is to have a way to have GS/OS flush all cache for
a
AFA Parik do you do multiple commands on one line? (ie, prefix /xxx/xxx
cat)
Coach101 particular device... Then the test for Block I/O could be is
there any
Coach101 items for the volume in the cache... If so, no block I/O.. If
not, Block I/o
AE PhilM Coach, the cache is implemented at the block I/O level....it is a
write thru
AE PhilM cache so there is no reason to flush it.
AFL Dyfet PLEASE, ONE AT A TIME.!! GA Dave, YOU now have the floor :)
Dave Lyons But the FSTs are allowed to have copies of bitmap/etc blocks that
are *more*
Coach101 But you MUST invalidate it!]
Dave Lyons up to date than what has been written to disk. By the time a
WriteBlock
Dave Lyons request comes through, the application may have computed the
*wrong* data
Dave Lyons to write to disk, and flushing the FST info to disk right before
that data
Dave Lyons is written may just fry things by re-over-writing it. (Consider
using a
Dave Lyons block editor on a bitmap block while files are open, for example.)
Maybe
Dave Lyons the answer is to do the FST flushing at ReadBlock time, and allow
WriteBlock
Dave Lyons only if there was a ReadBlock with no intervening File-oriented
calls...or
Dave Lyons *something* like that. It's definitely complicated. GA
MikeW50 Dave, it's simple. The OS, as advertised, is only changing the
blocks without
AFL Dyfet GA Coach...
MikeW50 writing them during certain well-defined calls that could disable
write-block.
MikeW50 In any case, the OS does not prevent write-block froma happening
on a general
Dave Lyons Mmmm...that isn't clear at all to me from the documentation. When
files
MikeW50 disk, so if it is angerous, it is possible to do harm _now_.
Dave Lyons are open, FSTs "know" what's eventually going to be on disk.
MikeW50 In any case, this is a topic for another night. Can we move on?
MikeW50 ga
Dave Lyons (I'm *not* talking about Sessions here, by the way.)
Dave Lyons (OK, done)
MikeW50 (I was.)
Coach101 Maybe a folder for this discussion....
Coach101 ga
AFL Dyfet Perhaps this should be moved to a folder :)...Okay, I believe
Parik had the
AFL Dyfet next question. GA Parik...
AFA Parik sorry about jumping the gun before. :) one more time... how will
2.0 handle
AFA Parik rez? e-z to use? Or would genesys / designmaster be better?
MikeW50 We will be licensing the resource compiler/decompiler from Apple
and shipping
MikeW50 those with 2.0. We will also be offering alternative, visual
methods. I
MikeW50 will be ready to talk more about those at AppleFest, where we hope
to be
MikeW50 ready with some exciting anouncements.
AFA Parik Ok, lastly..you said we could have multiple commands on a command
line. HOW?
MikeW50 You also asked about multiple commands on one line back there in
the
AFA Parik I can't do a PREFIX /xxx CAT. done
MikeW50 forrey about write-block. Those are handled with a semi-colon in
the
MikeW50 current shell. For example,
MikeW50 cat;cat
MikeW50 will do two catalogs.
MikeW50 ga
AFA Parik whoah, just tried it. You're right! Thannnnks!!!!! <ga> (very
happy) :)
MikeW50 :) same thoughts...
AFL Dyfet Okay, I believe the next question is from Dave Lyons...GA
Dave...
Dave Lyons Just a quick set-the-record-straight: Mike mentioned earlier a
letter where
Dave Lyons Apple II DTS suggested rebooting into P8 to do block-level
editing. I don't
Dave Lyons have a copy of that in front of me (and I didn't write it), but I
assume that
Dave Lyons this was *one* of several alternatives given--another of which is
to boot
Dave Lyons from a different disk. If we gave an incomplete answer, I
apologize. (done)
MikeW50 Actually, Dave, that wasn't quite what the letter said. I was
told flat out
MikeW50 that GS/OS was not designed to handle block writes because it was
designed
MikeW50 to handle a variety of FSTs. I was also told flat out that disk
utilities that
MikeW50 needed to do block writes should use P8. Maybe I misinterpreted
the tone, but
MikeW50 it seemed clear that I would get no help on making our existing,
functional pro
MikeW50 program work inder the new OS. If I still have the letter, I will
be happy
MikeW50 to post it. ga
Dave Lyons It's hard to remember all the details of your previous
correspondence--but
Dave Lyons GS/OS *is* designed to allow block-level I/O: just not to volumes
that
Dave Lyons contain open files. I believe it was suggested that P8 would be a
good
Dave Lyons alternative for *ProDOS-specific* block-level stuff. If there are
issues
Dave Lyons that are not completely resolved, please bring them up again
through
Dave Lyons official channels before posting them here.
MikeW50 Dave, I would love to talk with you about it. I wanted to add
_more_ disk
MikeW50 utilities in our new OS. I tried working through official
chanels, though,
MikeW50 and was firmly rebuffed. If you would like to reopen them, let's
do so.
MikeW50 ga
Dave Lyons Please do--the correspondence died down, so I assumed
Dave Lyons that the issues were all resolved! ga
MikeW50 No, I simply gave up. ga
AFA Parik real quick: something I'd like in 2.0 is the ability to change the
cat output,
AFA Parik maybe even make cat a seperate utility w/ source? ga
MikeW50 The plan for the ORCA cat command is as follows:
MikeW50 1. By default, it will look like it does now.
MikeW50 2. You will have a single flag to print a list of file names,
with no
MikeW50 other info. There will probably be a way to put the list in a
shell variable
MikeW50 for use in scripts.
Coach101 Wow!
MikeW50 3. Every piece of information available from s GetFileInfo call
will be
MikeW50 available with flags. Since it will not (gernarally) fit on a
line, it
MikeW50 will be presented in a table format. You can choose the specific
info you
MikeW50 want with flags.
MikeW50 ga
AFA Parik can we change the type / subtype fields w/o using a block
editor?
AFL Dyfet Well, I believe we have plenty of room for more questions, folks
:)...
MikeW50 (Did you want something else? ;) )
Dave Lyons Mike, can the catalog be sorted different ways?
MikeW50 Yes -- the filetype command can now change both the file type and
aux type of
MikeW50 a file.
MikeW50 ga
MikeW50 Sorting... I hadn't planned that, but I will do so if I can figure
out a
AFL Dyfet GA Dave...
Dave Lyons -! :)
MikeW50 quick way to do it. (thinking...) Sure. Standard and
alphabetical OK? ga
Dave Lyons How 'bout sorting by mod date and filetype, and with multiple
keys?
Dave Lyons And Create date, too! I hate it when I download a file w/ an old
mod date
Dave Lyons and can't find it in the dir listing.
Dave Lyons And Size--basically, you ought to be able to sort by anything that
can be
Dave Lyons listed. (ga)
AFL Dyfet GA Doctor...
MikeW50 Uh... well, the sort isn't hard, but I'm a little woried about the
syntax
Doctor Why And while your at it allow for ascendng and descending.
MikeW50 to make all of that understandable. I will give it a try, though.
Perhaps
MikeW50 that should be an interactive utility, though. Any thoughts on
that? ga
Dave Lyons I have a fairly workable solution to most of that
Dave Lyons in Davex 8...the "-a" option takes a string, which is a sequential
list of
Dave Lyons keys to sort on, with Uppercase reversing the order. So cat -aFm
means to
Dave Lyons sort backwards by filetype, breaking ties by mod-date. ga
MikeW50 Seems a bit complicated, but heck, that's what help files are for.
I'll
MikeW50 give it a shot. ga
Dave Lyons (a="arrange", by the way)
MikeW50 (And thanks for the suggestion.) (ga)
AFL Dyfet And that's also what pipes and a good sort filter are for :)
MikeW50 :) yup.
AFL Dyfet And aliases to make it clean :)
MikeW50 Still, with alias, you can make your prefered format the
default...
MikeW50 ;) great minds think alike
Coach101 Dont break your arms guys :)
AFL Dyfet Well, do we have any other questions for tonight?
AE PhilM I would REALLY like to beta test the 2.0 linker.....how about it?
With TWGS,
AE PhilM System 5.0 life is great....but could be better (faster) (hint
hint)
AE PhilM (never satisfied)
AE PhilM done
AFL Dyfet GA Parik, you have the floor...
MikeW50 Phil, when we are ready for beta testers, I will post a message in
the Byte
MikeW50 Works inductry connection area. I would be happy to have you help
test, but
MikeW50 please remind me then. If I try to take names before we are
ready, I will
MikeW50 almost certainly loose some of them. ga
AFA Parik is there any way to have everything compile to memory? no .root
files, just
AFA Parik a final exe file. No fair Phil, you wrote a lot of orca products.
:-)
AFA Parik ga
MikeW50 Sure -- use the +m flag. For example,
MikeW50 run +m myfile.asm
MikeW50 will compile to memory.
AFA Parik It still keeps a .root file though.
MikeW50 alias run run +m
MikeW50 will make it the default for your system. ga
MikeW50 No, with run +m, you don't get a .root file with any of te ORCA
languages.
MikeW50 APW and APW C don't support compile to memory, so they ignore the
+m flag.
MikeW50 ga
AFA Parik ok, musta been a old .root file hanging around. thanks (again
:)
Coach101 Hi Jim
Coach101 Mike, does #pragma cda work
MikeW50 Yes. Keep in mind, though, that CDAs are limited to 256 bytes of
stack space.
MikeW50 You have to be real careful how you write them. ga
AFL Dyfet GA Dave...
Dave Lyons CDAs are free to *allocate* stack space, which they can typically
do if GS/OS
Dave Lyons is around (not under P8, though). There are a couple tricky
things--how many
Dave Lyons ppl would like to see some sample code illustrating this? (I have
some code
Dave Lyons working, but it could use some cleaning-up.) ga
Doctor Why (I'd like to see it)
AFA Parik me
MikeW50 Dave, I linked DTS about this one, too. I believe you answered my
link.
Dave Lyons Yes, that was me. I've worked with the issue some more since
then, but my
MikeW50 I was having trouble getting this to work, and you suggested I try
a way out.
Dave Lyons answer at the time was correct. My code may currently be doing
some more
MikeW50 Unfortunately, there was no garantee that the way would be
supported in the
Dave Lyons work than it *needs* to--I'm preserving and restoring the whole
page-1 stack,
Dave Lyons which may be redundant.
MikeW50 future. Does your sample code represent a portable way to do
CDAs? If not,
Coach101 me
MikeW50 I can;t put it into a commercial compiler.
MikeW50 ga
Dave Lyons I believe my current approach will always work; it may be being
*more* careful
Dave Lyons than it needs to be; feel free to re-link me on it & that'll force
me to get
Dave Lyons all my facts straight & be able to show a presentable, supported
method to
Dave Lyons the world. (ga)
MikeW50 But does it represent a way that is officially supported by Apple?
I don't
MikeW50 want to get burned by having every CDA written with ORCA/C fail in
some
MikeW50 future OS. People would rightly blame me for that. ga
AFL Dyfet GA Jim...
Dave Lyons (Let's let Jim M talk: )
JimMensch Well, We have always supported CDA's and NDA's making memory
manager calls
JimMensch this includes asking for extra memory for stack and direct page
space
JimMensch The only drawback is that at CDA time (this does not apply to NDA
time) no memory compaction
JimMensch can take place (or at least be relied on since some times CDA's
are called from interupt and sometimes
JimMensch not). So, if you want you could put a CDA header that always
*tries* to allocate some direct page
JimMensch and stack then calls back the C or pascal routines whith the stack
swapped in.
MikeW50 I understand, Jim. The problem isn't GETTING the memory; I was
able to do
Dave Lyons Mike, please re-open this issue w/ DTS, and I'll show the problem
we were
JimMensch We will always support this method. I promise.
MikeW50 that. The problem is that the page 1 stack, which contains the
original return
Dave Lyons having to Mensch. (The problem is having the page-1 stack get
TROMPED on
Dave Lyons while you're using non-page-1 stack, and this is probably
resolvable in a
MikeW50 address and presumably other info, is corrupted if I set S>$200.
ga
Dave Lyons better way than what I have so far.)
JimMensch Mike, simply copy off that return address if you want... (thats
what I do...)
Dave Lyons The "clean" solution probably involves the $01/0100 and $01/0101
stack ptr
MikeW50 Dave, Jim: I will link you tomorrow. Thanks for the invite.
:)
Dave Lyons preservation locations, but I'm not sure.
JimMensch groovy
JimMensch ga
AFA Parik are invisible files hidden? Is there a I flag in access?
MikeW50 Yes - invisible files are hidden in the 2.0 shell. There is a
flag to
MikeW50 see them, though. (I think it is -a, for a reason I can't go into
now.) ga
MikeW50 Oh - and the I bit is shown in the flags, i.e. DNBWRI. ga
AFA Parik ok. bye
AFL Dyfet Okay, do we have any more questions for tonight?
AFL Dyfet Well, I would like to thank Mike Westerfield for comming by
tonight then, and I
AFL Dyfet guess we are ready to wrap up tonight's conference :)....I hope
everyone had
AFL Dyfet fun...
AFA Gary J Yup! :)
AFA Gary J (Thanks for coming, Mike)
Coach101 Thanks for the information and lively discussion(s) Mike.
ShrinkIt Can I ask a question quick before y'all scatter? (addressed to Jim
M)
MikeW50 Thanks for having me. Next time, Dave and I will play catch with
rotten
MikeW50 eggs instead of tomatoes. Right , Dave? ;)
AFA Gary J :)
JimMensch sure
Dave Lyons :) Right.
Coach101 :)
ShrinkIt Is there any way to position something on the 640 mode screen so
that it will
ShrinkIt be scrolled quicker than usual?
ShrinkIt I'm using a list control that has a custom draw routine and it's
incredibly
ShrinkIt slow at scrolling... I remember (vaguely) that you could byte or
word align
JimMensch sure make sure the rectangle you are scrolling starts on a
multiple of 4 pixels and always scroll
MikeW50 (As always, if you think of more ?s for me, you can find me in the
Byte Works
JimMensch a multiple of 4 pixels...
ShrinkIt the edges of the box and the scroll routine would go faster?
MikeW50 industry connection area.)
MikeW50 See 'ya 'round.
JimMensch get that?
ShrinkIt Jim, is that noticably faster? (yeah, got it)
Dave Lyons If the scrolling is vertical, it doesn't matter if it's a multiple
of 4 or
Dave Lyons not, right?
A2GS Could use the fast move routine via shadowing and the stack.
ShrinkIt That's the scrolling I'm talking about... up 'n down...
ShrinkIt This is in QD II, albert... :-) (a2gs)
JimMensch if ya does it right then horizontal scrolling will be faster
Dave Lyons Mensch: does aligning by words (8 pixels in 640 mode) ever
increase
A2GS Using the tools? I thought you were using custom routines.
JimMensch If its vertical scrolling your doing then it will not be much
faster
Dave Lyons performance over aligning by bytes? (currently)
ShrinkIt (Ie, I have a box with stuff in it... a list) --- is there ANY
EASY way to
ShrinkIt get it to go quicker?
JimMensch But at that time you can also set bit 15 of the master SCB when
you start quickdraw and then
JimMensch you should scroll about 20% faster
JimMensch Dave, nope.
ShrinkIt Let me amend that to any QUICK way, programming wise. I don't
care if it's
Dave Lyons (thanks)
ShrinkIt hard.. I can handle it..
JimMensch sure, set bit 15 of the master SCB on QD startup...
SteveSand ShrinkIt.. I had the same problem... I solved it by (re)drawing
only what was
A2GS Oh, a tough guy :)
SteveSand on the screen.
ShrinkIt Jim, I'm already using bit 15 and the fastport bit. It's still
way slow.
JimMensch using the list manager???
Dave Lyons What are you drawing, Andy?
Dave Lyons (Text, etc/)
ShrinkIt yes, using the list manager or tweaking QD2 somehow...
JimMensch if using the list manager its always gonna be slow
ShrinkIt text, dave... just a line of text which shows the current entry in
an archive,
JimMensch the list manager is not known for its lightning speed
ShrinkIt how large it is (in bytes), it's % of original size, and it's
filetype.
Dave Lyons Mensch, I believe he's talking about Standard File, which uses the
List
Dave Lyons Manager.
ShrinkIt The list manager is driven by QDII, no, Jim?
JimMensch Also, if you are drawing text, then also make sure that your
member height is at least 1 pixel larger
JimMensch than it needs to be
ShrinkIt No, dave, I open a list on the screen with the contents of an
archive .. like
JimMensch The list manager uses quickdraw.
ShrinkIt what stuffit does...
ShrinkIt SOOOooooo... is there any way to get the List manager to go faster
by
JimMensch But, when it sets up its clipping area to redraw the new text that
scrolls in, it will sometimes be to
JimMensch too small to use fastfont for printing.
ShrinkIt (quickly) patching quickdraw to scorll UP and DOWN faster?
ShrinkIt (listening... scribbling...)
JimMensch Shrinkit, the scrollrect is not whats slowing you down, its the
member redraw...
Dave Lyons Andy, do you know whether most of the time is taken by scrolling,
by
Dave Lyons drawing your new line, or something else?
JimMensch and the member redraw routine calls drawstring, which is probably
clipped tight to the height of the
ShrinkIt Dave -- pretty even split. A ton of time is spent by scrolling,
it's horribly
Dave Lyons You might try keeping cached bitmap images of the lines around.
ShrinkIt slow, although the text draw isn't fast, either...
JimMensch line. which will cause fastfont to always think that it needs to
draw the slow way.
Dave Lyons Is the scrolling done with a ScrollRect call, or what? I don't
understand
Dave Lyons why it should be slow.
JimMensch yes, but the scrolling time would be fine if the redraw wasn't
happening....
ShrinkIt I don't know how the list manager does its scrolling... but I
could cache the
JimMensch scrolling is done with a scrollrect, its not slow, its the
redrawing of the members...
ShrinkIt bitmaps on the stuff... but the scrolling would still suck.
JimMensch the other way to do it is a custom drawing routine that reblits
the member text instead of calling
JimMensch drawstring
Dave Lyons (I wish I'd said that. :-)
JimMensch Shrinkit, scrollrect works fine everywhere else...
ShrinkIt I didn't say it didn't work fine (name's andy) -- it just works
slowly, that's
ShrinkIt all... :-)
SteveSand I think Coach101 gave me the idea of using GetContentOrigin to get
the
JimMensch :) Not for me... it works pretty fast, bout how wide is your
list?
ShrinkIt about 320 pixels in 640 mode....
SteveSand position of the scroll bar and then just redrawing what would show
on the scree
JimMensch hmmm and how tall is the list
AE PhilM Andy, you could also write a custom scroll rect....have the rect
byte aligned
SteveSand n... It speeded mine up by LOTS!
AE PhilM on both sides then it is a simple block move...you could optimize
that also
Dave Lyons (Steve, I believe Andy's already redrawing only the line that
needs to be
AE PhilM using lda sta combos..
Dave Lyons redrawn.)
ShrinkIt (folks, I'm using the list manager...)
AE PhilM You would only have to patch scroll rect for the time the list is
up.
A2GS Going back to my original suggestion of shadowing and the
stack....:-)
JimMensch how tall is the list???
Coach101 How slow is slow Andy?
ShrinkIt 12 members... 122 pixels..
A2GS But I guess Andy is certain he's using the List Manager.
ShrinkIt there's about a 1/2 to 3/4 second pause between stuff scrolled
into the view
JimMensch Well tell ya what andy, let me give a list that size a try and see
how it comes out, I will let ya
JimMensch know next week.
JimMensch 'bout 100 members an ok test?
ShrinkIt (make sure you print stuff all the way across and do something
significant
ShrinkIt printing wise to make it somewhat near what I'm doing...)
ShrinkIt :-)
Dave Lyons Andy, do you know how many times your list-draw routine is getting
called
JimMensch ok.
Dave Lyons for each scroll? Should be 1, but if it's more that might explain
some of
Dave Lyons the delay.
ShrinkIt (list draw is getting called once every time the thing does
something... ummm
ShrinkIt why would it be getting called twice?)
Dave Lyons I was just trying to eliminate the possibility that the List
Manager is
JimMensch well, I am off to try this out.. see ya all next week
Dave Lyons making superflous calls to ask you to draw things that are getting
clipped
A2GS Bye Jim
ShrinkIt Jim -- 100 members is fine... just do something significant time
wise in the
ShrinkIt itemDraw routine...
Dave Lyons completely out of view. I assume it's not, but I wondered if
you'd checked
Dave Lyons (like by making your list-draw routine SysBeep once).
ShrinkIt No, dave, hadn't checked... just thought I'd assume that It was
getting called
ShrinkIt once... I'll check that...
Dave Lyons ok
AE PhilM Shrinkit....we have a logic analyzer with performance analysis
software...we
Coach101 Andy, If I have to do something significant in the line draw, why
not
AE PhilM could look at it with that and see exactly where the time is being
spent.
Coach101 look at what I am doing to draw instead of looking at list
manager?
ShrinkIt phil -- I don't think it's THAT important. I'd only use a logic
analyzer on
ShrinkIt live or die type code... maybe the packing algorithms... :-)
AE PhilM Well it's pretty easy to use and setup...if you like just send a
disk to John
AE PhilM Stephens or myself and we'll be happy to look at it.
A2GS Phil, if you've got an extra analyzer w/software I'll be happy to
take it off
A2GS your hands :)
ShrinkIt (Phil, it looks pretty good using a TWGS, though.. :-)
AE PhilM :)
AE PhilM Really, I'd be interested in finding out myself where the time
split is..
AE PhilM between scroll-rect or the itemdraw routin.
Coach101 Thanks for an entertaining and provocative evening folks.....
AE PhilM (or elsewhere) ya never know....1/2 second seem like a long time
to me
ShrinkIt I'd be willing to think that it's about 3/4 itemdraw and 1/4
scroll...
Coach101 See you all next week....