textfiles/apple/ADC/adv.901009

685 lines
33 KiB
Plaintext

America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, October 9, 1990 10:00 p.m. Eastern Time
Topic: Debugging and Testing Software
Forum Leader: Dave Sugar (AFL Dyfet)
AFL Dyfet Good evening and welcome to the Apple II Development
AFL Dyfet Forum. Tonight we will be discussing software testing (not that
anyone's
AFL Dyfet software ever has bugs...only features)...We will not be using
protocol just
AFL Dyfet yet....so whomever wishes to start, feel free to grab the floor
:)
AFL Dyfet Dave, Matt, out of curiosity, what quality control methods does
Apple use for
AFL Dyfet new software?
Dave Lyons Well, basically we have "testers" and a
Dave Lyons "Bug Reporting Center" where they (or whoever) file
Dave Lyons bugs. When an engineer claims a bug is fixed, the
Dave Lyons tester gets to verify that it's fixed, and bugs are later
"regressed" to make sure they're
Dave Lyons really still fixed (in case somebody built the final disk with the
wrong version of a
Dave Lyons source file, or whatever--stuff like that can definitely
happen!).
AFA Parik (like setting the beta bit on a system software version? ;)
ShanoJ Anyone know what's up with the Scheduler? It just flat out don't
seem to work
ShanoJ on some peoples computers. :(
AFL Marty <-- some people (I think)
ShanoJ Ya, Marty, you classify as some people. For more than one reason.
:)
AFL Marty Thanks, I think.
Dave Lyons Jonah, if the Scheduler doesn't work it's because somebody
INCBUSYed more than they DECBUSYed. I
Dave Lyons bet if they strip out their DAs & stuff it's fixed. Oh, Draft
mode printing on 5.0.2 and earlier
Dave Lyons calls SetGrafProcs, which INCBUSYs once too many--does that
help?
ShanoJ Uh uh, Dave. I check the busy flag, and it's set to 0. I call
SchAddTask, and
ShanoJ get a result flag of TRUE, but the task is never called.
Dave Lyons Jonah, the only other thing I can think of is that the "scheduler
is busy" flag got set when a
Dave Lyons scheduled task was dispatched but never returned (i.e., you crash
in a scheduled task). In that
Dave Lyons case on ROM 1 only the scheduler doesn't work again until you
power off or do a self-test.
ShanoJ Ya, I've thought about that but my tester turns on the computer
and trys my
ShanoJ test program IMMEDIATELY. That means that it is HIGHLY unlikely
that it's the
ShanoJ bug in the Scheduler task flag.
Dave Lyons Okay, one more thing: You're calling the scheduler WHILE the busy
flag is 0? In that case, the task
Dave Lyons should be executed only after somebody calls INCBUSY and then
DECBUSY. SchAddTask never
Dave Lyons dispatches the task immediately, so if the BUSY flag is 0 you
don't normally want to
Dave Lyons call SchAddTask.
ShanoJ Okay, so I've got it backwards? I should only call SchAddTask if
the busy flag
ShanoJ is SET? Ahh, that might be what's messing me up! Thanks, I'll give
that a try
ShanoJ (and if it doesn't work... :)
Dave Lyons Right--if E100FF is 0, the system *isn't* busy, so you don't have
to use the scheduler.
ShanoJ On a related note, is there any way to recover from a tool break
in GSBug?
AFA Parik 'r'
ShanoJ Well, actually, I've only set tool breaks on SchAddTask, and the
GS just
ShanoJ crahses and sits there.
Dave Lyons What version?
ShanoJ v1.5
Dave Lyons Should work fine. UNLESS your stack was in $01xx. (In that case
you can improve
Dave Lyons the behavior by setting $01/0100 to $80--this will make interrupts
not trash your page-1 stack while
Dave Lyons you're in GSBug.
ShanoJ And one more thing: if, from an interrupt, I need to call the
Scheduler, what
ShanoJ do I do? I'm not supposed to hog the interrupt, but if the busy
flag is clear
ShanoJ I'm supposed to just go do my thing....
ShanoJ What's at $01/0100?
Dave Lyons Good question. What's "your thing"?
ShanoJ Guess. It's blanking in Twilight, of course! :)
Dave Lyons $01/0100 is the position of the $01xx stack whenever the stack
pointer *isn't* in page 1. More
Dave Lyons specifically, it's the main-memory page 1 stack, and $01/0101 is
the auxiliary-memory page-1 stack
Dave Lyons (period)
ShanoJ Is there any way to shadow $002000 into $012000?
AFA Parik yes
AFA Parik readrm=0,writeram=1 in $e0c068
AFA Gary J Hmmmm.. What do you need to do that for??
AFA Parik (don't do it under gs/os)
AFA Gary J ($002000 into $012000?)
ShanoJ I wanna do a weird scroll, and I need to do some strange
shadowing.
ShanoJ Ya, I knew that, Parik. Then again, I'm not particularly fond of
my HD, so I
ShanoJ might just do it anyway.... :)
AFA Gary J Weird, strange... hmmmm. Sounds like an interesting program :)
AFL Dyfet Okay, does anyone have any questions related to tonight's topic??
ShanoJ What exactly is tonights topic?
AFA Gary J You've been touching on in already, Jonah :)
AFL Marty (debugging, Jonah)
ShanoJ Oh ya, I knew that. :) Just wait till I get going... :)
AFA Parik is gs/os vol 3 shippin' yet?
AFA Parik er, i mean the addison-wesley one
WinkieJim Parik, Toolbox Vol 3 is.
AFA Gary J GS/OS Reference, he means :)
AFA Parik GS/OS Reference:The Book. The Zen of GS/OS . Whatever its
called.
WinkieJim GS/OS re f(only vol) is too
WinkieJim <---have both final versions
AFA Gary J BOTH final versions? Of GS/OS Reference?
AFA Parik GS/OS and you. How to live in a MSDos world with GS/OS. Sex,
lies, and GS/OS.
WinkieJim of GS/OS Reference and Toolbox Vol 3
ShanoJ Anyone know what might be screwing up the menu bar in View 3200?
I'm 99% sure
ShanoJ I'm not BLATANTLY stepping on any memory...
AFA Gary J Have you used Big Brother to check it?
AFA Gary J :)
ShanoJ No, that I haven't. Good idea!
WinkieJim Does it only get messed up when you don't select something?
ShanoJ It only gets trashed after you view a 3200 color picture...
WinkieJim Shano, make sure you keep the menu titles in no-purgable and
non-movable memory
ShanoJ Yup, they're in the body of my program (no resources for this one
yet) so if
ShanoJ THEY get purged, I'm in DEEP trouble. :)
WinkieJim Oh...I love purging the code I'm executing code in :) :)
AFL Dyfet Self relocating executing code...core wars lives! :)
WinkieJim Ok, anyone have any idea how a non-registered developer can get a
AuxType
WinkieJim reserved for himself?
ShanoJ Can't you just send one of those forms to DTS?
ShanoJ Oh, and Matt and Dave, should I register Twilight's file type?
WinkieJim Dumb Question #1: What form?
ShanoJ That is, the blanker file type?
ShanoJ There's one in the ADV library that you fill out and they assign
you a file and
ShanoJ auxType, if you say please a lot and bribe them. :)
AFA Gary J There's a form, and accompaning instructions available for
AFA Gary J download in the ADV software library.
AFA Parik (when you d/l the filetype tech notes, a form is included. look
in adv/from
AFA Parik apple/filetype notes)
AFA Gary J (3 people, same basic answer :)
WinkieJim Ah, will do...(I get the printed versions from APDA)
Dave Lyons What's "Twilight's file type"?
ShanoJ Well, I've been using $B4, $5457. (TW).
AFL Dyfet I think your wild use of filetyples will be civilized by Apple yet
:)
AFL Marty (You mean "Twilight module filetype" don't you?)
Matt DTS You can NOT use $B4! That's previously assigned as run-time
libraries!
ShanoJ Ya, I meant module file type, Marty. Twilight itself is a CDEV, of
course, so
ShanoJ it has the $C7 filetype.
WinkieJim <---needs a $BC filetype and using $0000 until I get an official
AuxType.
WinkieJim <----nice programmer :)
AFL Marty Okay... wasn't sure.
Dave Lyons Ack!? Don't be making up filetypes. Yes, you should send in a
form and be assigned a
Dave Lyons filetype/auxtype combination.
ShanoJ Ya, well modules ARE runtime libraries, kinda. Anyway, the system
loader won'y
ShanoJ load them unless theyre int the $Bx range somewhere, so it HAD to
be one of
ShanoJ those reserved types....
Matt DTS Jonah: You're making this up. You didn't even ask for help
before doing this.
Matt DTS Did you even *look* at the file type notes to see about file type
$BC, which is available for just
Matt DTS such purposes? If you put one of those files in the Libraries
directory, the Loader could do very bad
Matt DTS things to people's applications.
Dave Lyons (Actually, you can get the loader to load anything--just load it
into RAM first and use
Dave Lyons InitialLoad2 on it. Or make it a Code Resource and let the
CodeResConverter do the above for you
Dave Lyons automatically.)
Matt DTS It's very depressing to spend years telling people not to steal
file types just to have it happen
Matt DTS every other week, from people who seem to be paying attention.
<--depressed
ShanoJ Ya, well that's about a zillion extra things to do, and eveyone
knows how lazy
ShanoJ I am. :)
ShanoJ Matt, I DID ask for help, just not on that. :)
Matt DTS [I'm not impressed.]
WinkieJim Do I get a prize for not stealing a fyletype? :)
ShanoJ Hey, Matt, it's not that bad. I'm sorry.
AFA Parik you get to buy lunch for dts
ShanoJ Would it make it up to you if I got Marty to lend you some of his
pigs?
ShanoJ (sorry, couldn't resist that ONE little joke... :)
AFA Gary J Matt, Dave - Did you see Winkie's question about if you need to
be a registered
AFA Gary J developer in order to request a file type? (I can't recall what
the
AFA Gary J request form stipulates )
Matt DTS You do not have to be a Partner or Associate - nowhere on the form
does it say that you do.
AFA Gary J Ok. (I thought not)
Matt DTS Jim: You're also free to use auxtype $0000 in file type $BC, even
if you ship it that way. Just be
Matt DTS prepared that other people may be using it as well.
AFL Dyfet The point is not to step on other peoples filetypes...before Apple
started
AFL Dyfet tracking filetype use, it was a REAL MESS out there...I know :)
WinkieJim Well that's the problem, I don't want to load the wrong kind of
file and
WinkieJim blow up the world in the process :)
ShanoJ Ya, but that's a real problem. If I use $BC,$0000 and someone else
uses
ShanoJ $BC,$0000, I'm in deep do-do.
AFL Dyfet And if you chose a type that matches something used in future
system software,
AFL Dyfet all the worse...
Matt DTS So did you bother to take the form conveniently provided online
and *ask* for a unique auxtype?
Matt DTS Nooooo.....
AFA Gary J :)
WinkieJim I can inmagine loading a NifytyList module into SuperInfo and
destrying the
WinkieJim world as I know it :)
Matt DTS About half the system is held together by developer cooperation,
gang, and that means *all* of you,
Matt DTS not just the big guys. PLEASE pay attention before you send
programs to several thousand people.
AFA Gary J (I KNEW this would raise Matt's ire :)
ShanoJ No, you're right, I didn't. I _DID_ download it, though, but it
got lossed. :(
WinkieJim <---follows the rules....most of the time ;)
ShanoJ Ya, I follow a hell of a lot of rules, but I'm also REALLY
lazy...
ShanoJ I'm sorry Matt. Tell you what: I'm working on Twilight v2.0 right
now. I'll
ShanoJ send in the file type form, get a new filetype, change all of
Twilight's code
ShanoJ to the new one AND include a converter from the old to the new
file types in
ShanoJ the final archive, AND I'll put a note in the docs saying what a
naughty boy I
ShanoJ was and reminding everyone not to do what I did. Would that make
things a
ShanoJ little better?
AFL Dyfet Lazyness on filetype hurts more than just you, Jonah...
Matt DTS So be lazy when you're not sending stuff to a few thousand people.
<-- SERIOUSLY unimpressed
AFL Scott How long does it take to get a filetype assigned? I don't want to
use BIN as the filetype for raw
AFL Scott images.
AFL Scott And DTS is closed right now, and I'm shipping at the end of the
month.
Matt DTS It normally takes about a day, but DTS is currently closed until
October 19th so it may be until then.
Matt DTS I'll warn you right off that I'm resistant to allocating any new
graphic image auxtypes -- all we
Matt DTS need at this point is another graphic file format for other
programs to deal with.
AFL Scott Matt, these are raw images, previously undefined. I want to make
the format well known to everyone
AFL Scott not just the people who buy the board.
AFL Dyfet Ah...
Matt DTS In other words, a fourth or fifth "standard" that everyone should
be expected to revise their programs
Matt DTS to follow. I really have trouble believing that one of the
existing graphics formats can't suit
Matt DTS nearly everyone's needs, especially since Apple Preferred is
user-extendable.
ShanoJ Matt, we're talking about a format that's COMPLETELY unlike all
other GS
ShanoJ formats, particularly in the way that it can store ALL of the
colors.
AFL Scott No, not at all. Tell me one that deals with raw data and NOT
pixelmaps and I'll do it.
ShanoJ It's HIGHLY unlikely that any existing paint program will even TRY
to load the
ShanoJ damn things, but it would be VERY nice for people to be able to
get ahold of
ShanoJ the format specs so they can include support in programs like
SHRConvert,
ShanoJ Convert 3200, The Graphic Exchange, etc.
Matt DTS I tend to think of pixel maps as raw pixel data. What do you
mean?
Dave Lyons Yeah, what's Raw Data?
ShanoJ Raw data= 3 32K chunks of 0-$F.
AFL Scott I mean a raw, unformatted, un-quantized, picture that can contain
up to 4096 colors.
WinkieJim Data that hasn't been cooked
ShanoJ No implicit color map or pixel map.
AFL Scott What Jonah said.
AFA Gary J What Winkie said :)
Matt DTS In other words, a pixel map at 12 bits per pixel.
AFL Scott Yes.
AFL Scott But in three 32k planes.
Matt DTS Do you see my point about publishing yet another graphic format,
though?
AFL Scott I see it and I agree with it. I just don't see how
AFL Scott it can fit into Apple Preferred without you still having to write
a FTN to show that the main segment
AFL Scott is void.
Dave Lyons Can you use TIFF, Scott?
Matt DTS Who says you have to have a MAIN block?
Matt DTS (Dave: We don't have an auxtype assigned for TIFF, so it may not
help.)
AFL Scott TIFF would be Ideal, however, under the circumstances, it's really
too late to add the
AFL Scott all color TIFF files (or those that I can find the spec on) and
I'm not up to the coding right now.
Matt DTS I personally prefer to think you could store a GS-type pixel map
in a regular Apple-preferred file
Matt DTS and add a SCOTT block (or something :) that contains all the rest
of your stuff. If the user tries
AFL Scott code for TIFF processing. Additionally, that opens up another can
of worms implying TIFF support for
Matt DTS to load an APF file that doesn't contain the SCOTT block, you tell
them and just display the picture.
Dave Lyons (Matt: We should define an auxtype for TIFF.)
AFL Scott Ok... I'll see if I can do it that way, Matt. I guess I
misunderstood APF format, then. Oh... As
AFL Scott far as a TIFF auxtype goes.. it's a horribly convoluted format
that's really a mess. Just my
AFL Scott opinion.
Matt DTS (If someone requests it, I will - I don't normally make up
auxtypes for stuff no one has said they
Matt DTS want>)
WinkieJim Why not? :) Make $77 the StuffNoOneWants filetype.
AFA Gary J Winkie :)
ShanoJ Anyone know how to make the DOC interrupt at 50Hz? I wish Parik
were here...
ShanoJ Gee, Matt, could you create a TIFF file format for the GS so
Convert 3200 can
ShanoJ identify them?
Matt DTS Not that you would know, Jonah, but there's a form you fill out to
request auxtypes.
ShanoJ Also, I hope I don't have to go through the third degree to get a
file/aux typy
ShanoJ for Twilight... :(
ShanoJ Matt, not to be rude, but you know, you make this REAL easy on a
person... :(
Matt DTS You make it really easy on me by shipping around 10,000 bogus
run-time libraries to the world because
Matt DTS you're "too lazy" to fill out a simple form. I don't mean to be
rude (No, really, I don't! Those
Matt DTS of you who've been here for a while may not believe that, though
:) but I really lose patience quickly
Matt DTS when people treat things like this as unimportant.
ShanoJ Hey, Matt, there isn't anything I can do about that now. I've
offered to fix it in
ShanoJ the next release, which involves recoding signifigant parts of the
program, and
ShanoJ I'm even willing to write a converter so that people won't be
stranded using
ShanoJ the old Twilight modules. If that's not good enough for you, there
aint much
ShanoJ more I can do...
AFL Dyfet I think a good start, Jonah, is the fill out the form...
ShanoJ Hey, that's DONE. I found one in my binder while I was sitting
here and its all
ShanoJ typed out and ready to go... It'll be in the mail tomorrow.
WinkieJim Then we won 't have to send out the FileType death squad out...
Nuzz Just curious, why is DTS closed until the 19th ?
AFL Dyfet Long memory Nuzz :)
WinkieJim Two week columbus day closing :) :)
Matt DTS Nearly everyone is working on Sample Code and other projects that
we can't do while keeping up the
Matt DTS current Email load. All Apple Partners were sent an AppleLink
explaining it.
Matt DTS (All partners with AppleLink accounts, Andy. :)
AFL Dyfet :)
Paladin100 There are 10,000 Apple users left? I thought Apple converted
everyone to Macs!
AFA Gary J :)
ShanoJ So, no takers on the 50Hz interrupts? Shucks. :( Not my day, huh?
:)
AFA Gary J Conversion is an individual thing, Paladin. Apple can't do it
for you :)
Paladin100 But they're trying!
ShanoJ No, I swaer, my GS was turning into a Mac when I wasn't looking.
Then I turned
ShanoJ back and it was back to normal, but if I'd been gone for an hour
or so.... :)
ShanoJ Ya, as long as the squad can come out tonight so I won't have to
do my English
ShanoJ paper.... :)
ShrinkIt I like that idea... "The Filetype Death Squad"... hmmm what
possibilities...
Tamira :>
AFL Marty You been putting Mac disks in it again Jonah?
Tamira must be one of those pesky Mac cloning viruses :>
AFA Gary J Debugging type question: Dave, what's in the future for Nifty
List?
Dave Lyons The future for Nifty List? Probably 3.1, 3.2.... What do you
mean?
AFA Gary J Heheh... No, I mean, are you actually going to be able to IMPROVE
what you've
AFA Gary J done so far? It seems to be very complete. Any new features in
the works?
WinkieJim There's always room for inpovement...
Dave Lyons There's always room for improvement...
Dave Lyons :)
WinkieJim (my spelling could stand improvement :)
AFA Gary J :)
Dave Lyons Geez, it doesn't even have command-line history yet!
Dave Lyons And Big Brother is only half done.
AFA Gary J True. But I consider Big Brother as a module improvement.
Dave Lyons And the \find command doesn't have wildcard bytes!
Dave Lyons And there's no NDA interface to NL!
Dave Lyons And no NL command scripts, and no redirection to disk.
AFA Gary J NDA interface? Interesting :)
Dave Lyons And no OS calls from the command line.
WinkieJim Dave, don't worry about a NDA NiftyList...I've got that covered
:)
Dave Lyons And you have to enter strings into "scratch" memory and type their
addresses, instead of typing
Dave Lyons them inside a tool-call expression.
Dave Lyons LOTS of stuff to do....
AFA Gary J You are full of ideas. :) Sounds fantastic!
Matt DTS (Don't forget about no NL-provided notify proc)
Dave Lyons Eh?
Dave Lyons Oh, okay...there will be an \addnp command
Dave Lyons in 3.1 that lets you see what things are being sent to GS/OS
Notify Procs.
Matt DTS (And a waning when the stack is in page one and tool calls could
toast you.)
AFA Gary J :)
Dave Lyons (Yeah, everybody will be relieved when that feature shows up.) (
<-- sarcasm )
ShanoJ Okay, what's everyone's favorite debugging aid?
AFA Gary J GSBug/Nifty List combo.
ShanoJ Ya, me to. (GSBug/NiftyList). I think GSBug is God's gift to GS
Assembly
WinkieJim <---favorite debugging The thing crashes on me durring the tool
call
WinkieJim err two thoughts in one there :)
ShanoJ programmers, and Nifty List is God's gift to ALL GS programmers.
:)
ShanoJ And ORCA/Diss has quickly become one of my favorites, too.... :)
Matt DTS That's funny - I know several people who would swear that
*they're* God's gift to GS programming.
AFA Gary J Matt :)
ShanoJ Hell, I've sworn that, but they made me stop over in the DC. And I
can't use
ShanoJ 'Well...' as a subject, either. :)
WinkieJim Anyone know if there's a problem with NEwControl2 loading a
rTextForLETextBox2
WinkieJim resource for a Static Text Control?
Dave Lyons WJ, what sort of a problem? I don't know of one.
Dave Lyons Do you have all the descriptor and flag bits set to indicate
what's a resource and what isn't?
WinkieJim Yup, the Call takes a pointer to a Static Text Control Template
and the
WinkieJim template points to the resource.
ShanoJ 'Points to the resource'?
ShanoJ You mean it has the resource's ID?
WinkieJim Well...gives the Resource ID
Dave Lyons What's the moreFlags value in the template?
WinkieJim $1002
WinkieJim wait a sec.....hmmmm
WinkieJim $1002 is what it should be :) my binary number has an extra zero
in it so it's
WinkieJim $2002....god I hate it when it's such a simple thing. :/
ShanoJ Is there any hope of the runtime version of GSBug being updated to
handle
ShanoJ the _StartTools call properly, or can't you guys talk about
that?
Matt DTS "runtime version"? There's a source-level version?
AFA Gary J I thought "application" version is being dumped.
ShanoJ I mean the stand-alone version.
AFA Gary J (The NON-Init version)
Matt DTS It is most likely at this point that the non-INIT version of GSBug
will go away with the next release.
ShanoJ Oh, that's too bad. It had it's uses, particularly for startup
code. I hate
ShanoJ having to put a brk 00 and recompile to debug the startup. Also,
there's NO
ShanoJ hope of the INIT version not returning GSBug's MemID when
_MMStartUp is called
ShanoJ from within it, huh?
Dave Lyons Jonah, can't you set a tool break on TLStartUp instead of
recompiling with a BRK?
Dave Lyons Yes, there's hope that the next version will return the right
MemID for things like MMStartUp.
ShanoJ Hmm, hadn't thought of that, Dave. Will it work? I haven't had
much luck with
ShanoJ tool breaks on SchAddTask....
AFA Gary J Can you give us any info on approximately WHEN the update of
GSBug will be out?
AFA Gary J (I know you hate that kind of question! :)
Matt DTS The 1.5b9 and 1.5b10 versions (KansasFest and beyond) are on
Developer CD, Volume V
Matt DTS ("Night of the Living Disc") which is being pressed as we speak.
Matt DTS (give or take two corrupted text files. :( )
ShanoJ Matt, who thinks up the titles for the CD's? And, how much have
they had to
ShanoJ drink when they do it? :)
AFA Gary J Ahh. Neat.
Matt DTS The Developer CD's are named by various people within Apple - it's
kind of like a contest.
Matt DTS It so happens that "Night of the Living Disc" was thought of by
me.
ShanoJ Ya, it sound's like your kind of stuff. :) I must say that I'm
glad you write
ShanoJ tech notes. They'd be INCREDIBLY boring without your humor! :)
ShanoJ Now, if you had just written my history textbook... :)
AFA Gary J A perfect name for an October release, I might add :)
Matt DTS I thought so. :)
ShanoJ Matt, Dave, how are NDA's called (ie. what calls them)? Would it
be legal for
ShanoJ me to try to show a 3200 color picture from an NDA?
ShrinkIt yeah, just put up a modal dialog asking what to do, then show the
3200 pic and
ShrinkIt return... simple...
Dave Lyons Well, OpenNDA calls an NDA's Open routine. You're allowed to be
"modal" at that time
Dave Lyons and return much later (returning NIL for your window pointer).
ShanoJ So it would be okay for me to hog all of the interrupts? Also, is
it okay for
ShanoJ an NDA to call RefreshDesktop?
ShanoJ (Oh, putting aside the AppleTalk issue, for the moment...)
Dave Lyons It might be easier (than calling RefreshDesktop) to open a
full-screen window (after doing a
Dave Lyons HideMenuBar). That way when you close the window the system knows
to refresh the desktop, and if
Dave Lyons some strange application is updating any of its windows at
interrupt time (carefully!), then the
Dave Lyons visRgns for its windows will indicate that they aren't visible, so
you don't have to worry about
Dave Lyons it. Interrupts are still necessary, not only for AppleTalk but
for typing, if you're reading
Dave Lyons keypresses through the event manager. Be very careful about
disabling interrupt sources that
Dave Lyons aren't yours.
ShanoJ Okay, Parik suggested just grabbing 32K and storing the screen
there, and then
ShanoJ blasting it back when I was done. This is a no-no, right?
ShanoJ Hmm... What's the rule about disabling interrupts? I was hoping
that I could
ShanoJ shut them all down as long as I promised to start them back up
again. Is it
ShanoJ not quite that easy?
Dave Lyons It's always better to assume as little as possible, but for a
3200-color display program you may have
Dave Lyons to assume a lot. You can save the screen without assuming its
size or location (open a fresh port
Dave Lyons and examine the locInfo structure). Or you can use
RefreshDesktop--nothing wrong with that.
Matt DTS "Don't do it unless absolutely necessary, and then only for very
short periods of time."
ShanoJ Hmm... Well, how do I judge 'absolute necessity'? For instance
it's absolutely
ShanoJ required to do it to show 3200 color pictures. Is that a good
enough justifi-
ShanoJ cation?
ShanoJ Or, should I include a message in the NDA that says 'this NDA does
naughty
ShanoJ stuff, use it at your own risk' and let the user decide if that's
enough
ShanoJ justification? (then again, with my programs I should probably do
that anyway:)
Dave Lyons If you disable certain ADB interrupts, the keyboard and/or mouse
will *not* work with certain
Dave Lyons "universal access" utilities, even if you're reading the
keyboard/mouse softswitches directly.
ShanoJ Well, with all the interrupts I disable for View 3200 I still seem
to be able
ShanoJ to read the mouse register (forgotten the address at the moment)
and $E0C000.
ShanoJ That indicates that I'm not shutting TOO much down, right?
ShanoJ And finally, anyone know what's with the VOC? I've heard that none
of the
ShanoJ existing 3200 color displayers work with it.... :(
Dave Lyons No, I said *with certain universal access utilities*. Send me a
copy of your app and I can
Dave Lyons try it out.
ShanoJ Oh, and is there any way to tell what Hz the display is running
at, and is
ShanoJ it legal to CHANGE this behind the user's back, and then change it
back when
ShanoJ I'm done?
Dave Lyons The Video Overlay Card has its own scanline counters--they
aren't
Dave Lyons synchronized with the GS's. APDA has the "Video Overlay Card
Developer Notes" or something,
Dave Lyons which you might want to get.
Matt DTS It is definitely not legal to change from 60 Hz to 50 Hz.
Dave Lyons If you change the scan rate of the monitor, you're going to make
the display toasty, or at least
Dave Lyons bouncy.
ShanoJ I take it that means 'no'?
Dave Lyons If somebody has their display scanning at 50Hz, it's probably
because they're in a European country
Dave Lyons using a PAL display--they need it set that way to get a picture.
Matt DTS I think "definitely not" means "no", yes.
ShanoJ Ya, that's my problem. My code won't work for Europeans, and I get
lots of
ShanoJ nasty notes saying 'how could you release a program that doesn't
even work (and
ShanoJ they're NOT talking about Twilight) and it turns out they're
running at 50Hz
ShanoJ which is screwing things up...
Matt DTS Switching it to 60 Hz isn't going to help - they run at 50 Hz for
a reason.
ShanoJ Well, they say that if they set it to 60Hz in the control panel it
fixes
ShanoJ things....
AFL Scott It's an interesting problem... how to code for international
compatibility.
Matt DTS Yeah, your program runs but other things (like some timing for
peripherals) might not.
ShanoJ Haven't the slightest idea how that works, though....
ShanoJ Ya, Scott. FOr Australia you have to do everything upside down.
The disks
ShanoJ John MacLean send me go in the wrong way up.... :)
AFA Gary J And disks spin in the opposite direction, too :)
Dave Lyons Actually, I don't know exactly how the scanline counters work for
PAL. When I revised the
Dave Lyons technical note on VBL, I left it a little wishy-washy on the PAL
stuff because I had no
Dave Lyons PAL equipment to play with.
ShanoJ Gee, Dave, you mean Apple doen't sponsor trips to Europe for tech
note
ShanoJ research? Jeez.... :)
ShanoJ Any last minute advice for what I should do on the 50Hz
ShanoJ Apples?
Matt DTS Write alternate timing code for 50 Hz machines, maybe.
Dave Lyons Yeah, get one of your users to tell you what you have to
do to make it work for 50Hz!
ShanoJ Heh, make that 50 Hz MONITORS. And I thought 2.5 Mhz was slow...
:)
AFA Gary J (Heck, I'll try a 50 mhz machine :)
ShanoJ Dave, do you know if the VERTCNT register is incremented the same
on the 50 and
ShanoJ 60 Hz mahines?
ShanoJ That's ALL I'm reading for the 3200 color pics, so SOMETHING about
it must be
ShanoJ screwey... :(
Dave Lyons VERTCNT is $C02E, right? (Sorry, I think in hex.) I believe it's
similar but slightly different,
Dave Lyons since there are a different number of scan lines (not in the
useful display area, obviously). The
Dave Lyons 0..199 super-hires lines probably -don't- have the same numbers,
though!
Dave Lyons You might try some experimentation--On all the machines I've
tried, you *can* set your GS to
ShanoJ Ya, somewehere around there. Lesse....... yup, $C02E.
AFL Dyfet Hmm...interesting thought...
Dave Lyons 50Hz and still get a readable (though slightly flickery)
display.
ShanoJ Hmm, mine completely flips out. The whole thing jumps up and down
and looks
ShanoJ most awful. :(
AFL Dyfet You need 50hz AC power :)
ShanoJ Also, I'm not sure that would tell me what I need to know...
ShanoJ Right, I'll just plug the GS into my friendly local 50Hz
Alternating Cat, and
AFA Gary J Yes, the AC power would make the difference.
ShanoJ away I'll go! :)
AFL Dyfet The monitor is still synced for 60hz...
AFL Dyfet I just bet it freaks out :)
Dave Lyons Jonah, do you have RGB?
ShanoJ Ya, I've got the standard GS RGB monitor (not the fancy Mac
one).
Dave Lyons Did you try adjusting the vertical-position/roll control?
ShanoJ Ya, didn't help much. I couldn't get a stable picture....
Dave Lyons Bummer...
ShanoJ Ya. I'll try again, though. Maybe the new position of the moon
will help
ShanoJ things....
ShanoJ :)