America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
November 7, 1989  10:00 pm eastern time
Topic:  Open Discussion  (IIGS Toolbox Call Macros)
Forum Leader:  Dave Sugar  (AFL Dyfet)

Astronewt  Any Merlin programmers here?
AFL Dyfet  Merlin programmers?  I have used Merlin a lot in the past myself
          :)...Did you
AFL Dyfet  have any specific questions?
Astronewt  Yes, for Merlin 16+
AFL Dyfet  What could we try to help you with?
Astronewt  The skeleton program included with the samples-
Astronewt  Sometimes tools are prefixed with a ~ vs. an underline.
Astronewt  I can't get the "super macros" to convert to normal types, etc.
Astronewt  Hello?
AFL Dyfet  Okay...as to Merlin 16, I have tended to construct and use my own
          macros for
AFL Dyfet  tool calls :), so I haven't played around much with the Skeleton
          or sample
AFL Dyfet  source/macros that come with the package.
Dave Lyons Oops--I wasn't paying attention there for a minute--I know the
          difference
Astronewt  Hmm- have you used any "super macros?"
Dave Lyons between the "_" macros and the "~" macros:  the "_" versions are
          just Plain toolbox
Dave Lyons calls (i.e., just LDX #abcd, JSL $E10000), while the "~" macros
          actually take
Dave Lyons parameters for all the things that need to be pushed onto the
          stack to make the call (and
Dave Lyons they push the result space for you, too).
Astronewt  The dox said that the names were the same, just no push and
          pull.
AFA Gary J That's true, but you still have to supply the parameters
Astronewt  But I can't make the names work both ways, in particular,
          "NoteAlert."
Dave Lyons For example, you could do a GetNewID as either PHA, PEA $1000,
          _GetNewID, PLA, or as
Dave Lyons  ~GetNewID #$1000, PLA  (I hope that's right, w/ the "#" and
          all).
Astronewt  The parameters were supplied in the sample, but I wanted to try
          the plain
Astronewt  I think they use semicolons vs. commas in the parameter list.
Dave Lyons (dangit...stupid command-key commands...)
Astronewt  When I try the plain version, I get an unrecognized opcode
          error.
Dave Lyons Hmmm...are you including the right macro definition files?
AFL Dyfet  You mean the macro name WITHOUT a lead '_' or '~'?
Astronewt  Oh, I used the leading underscore, but maybe it's the definition
          files.
AFL Dyfet  Okay, because all the macros are defined with the lead
          '_'...unlike APW, Merlin
AFL Dyfet  Macros can be named more freely, however :)...but the '_' is
          certainly part of
AFL Dyfet  the name, and not an option :)
Dave Lyons Hmmm...looks like both the "_" and "~" versions are in the same
          file after all.
Astronewt  So they claim.
AFL Dyfet  In other words, you would have macros defined seperately for "_"
          and "~" items,
Dave Lyons So they claim?  I just looked at part of the file, and they're
          both in there.  Can you give me
AFL Dyfet  and not the same macro being controlled by a lead character.
Dave Lyons an example of an actual macro you haven't been able to use?  I can
          see if it's there.
Astronewt  Ok, I tried _NoteAlert with the pulls and pushes, and got a bad
          opcode.
Matt DTS   What was the exact line you typed, Newt?
AFA Gary J ....(including the pulls and pushes)
Astronewt  It choked on _NoteAlert, by itself as a plain tool on a line.
Coach101   How amny spaces to the left of _NoteAlert were there?
Astronewt  Lots, since it was by itself.
AFL Dyfet  Well, if it came up with 'bad opcode', it was probably in the
          correct field :).
AFL Dyfet  Sounds like there is no macro definition in the include for
          '_NoteAlert'...
Astronewt  Indeed.  The usage is on page 4 of the "8/16" supplement.
Matt DTS   Newt, the best thing you can do at this point...
Matt DTS   ...is reassemble your code with the listing option turned ON...
AFA Gary J According to the 8/16 manual, a "BAD OPCODE" error can occur when
          the opcode
Matt DTS   ...and see exactly what the macro is expanding into.  That will
          give us an idea what's...
Matt DTS   ...causing the problem.
AFA Gary J is not valid, or misspelled, or the opcode is in the label
          column.
Dave Lyons Are you including the DIALOG.MACS file in your program?  I just
          looked,
AFL Dyfet  And EXP turned ON, so you can see if it's found and, if so, what
          it's being
Dave Lyons and _NoteAlert is in there in my copy.
AFL Dyfet  exanded to :)
Astronewt  It has USE SKEL.MACS, but no dialog.  Is that the problem?
AFA Gary J Ahh.. SKEL.MACS was probably macgenned...special for the sample
AFA Gary J No.. _NoteAlert in it.
Dave Lyons My disk doesn't contain a SKEL.MACS.S file--Gary sounds right.
Astronewt  Thanx, I guess it's obvious I'm new at this.
Matt DTS   (Is that "no, NoteAlert's in it" or "no NoteAlert in it"?)
Astronewt  So, how do I fix the macs?
Coach101   Forgot how loose things were when Matt was not here :)
AFA Gary J :)   That's no _NoteAlert in it :)
Dave Lyons What's a NoteAlert INIT?  :-)
AFA Gary J (in other word... it probably ain't there :)
AFA Gary J word = words
Coach101   Who wants to explain MacGen?
AFL Dyfet  Astro, I think you will find this to be a good time to learn about
          which macro
AFA Gary J (Bad typing this evening :)
AFL Dyfet  files you will need to use with various tools :), and which tools,
          for that
Astronewt  I think you're right, the ~ version is there, but not the _
          version.
AFL Dyfet  matter, are actually needed to accomplish various tasks :).
Astronewt  This may sound dumb, but why aren't these macs accessable from the
          OS?
Dave Lyons I don't understand the question.
AFA Gary J They are language dependant, for one thing.
Astronewt  So tools are known by numbers only?
AFA Gary J They are known by numbers only to the firmware.
Dave Lyons Yes, the system does not keep track of the names of any of the
          toolbox or OS calls.
Coach101   Newt, in the interest of speed the assemblers and compilers for
          the II-GS
AFA Gary J (or OS, as it may be)
AFL Dyfet  OIC...Yes, internally to the system, they are known by
          numbers...It would use
Coach101   do not contain a *single* file that has ALL of the definitions for
          ALL
AFL Dyfet  a lot of space, and certainly reduce speed by defining tools by
          name in the OS
Astronewt  This is getting scary- it's starting to make sense now!
Coach101   fo the tools in it.  The definitions are split into different
          files for
Coach101   each tool.  You tell the assembler which files to use and since
          the
Coach101   assembler only has to process the files you need, it runs quite a
          bit
Coach101   faster and maybe more importantly runs in considerably less
          memory.  ga
AFA Gary J But Coach...that leads you right in to the MacGen explanation..
          :)
Coach101   ga Gary  :)
Astronewt  Wow, thanks for the help, everybody.  I spent days on this
          already.
AFA Gary J As Coach says, less files makes faster speed... so a utility was
          developed that
AFA Gary J will scan your program... and the files or directory you
          specifiy, and locate
AFA Gary J all the macros you use and put them in one file specific to your
          program.
AFA Gary J That way when you assemble, you only have to specifiy one
          streamlined macro
AFA Gary J file.
AFA Gary J GA
AFA Gary J (Macgen is the utility I was speaking of...forgot to say that)
Astronewt  I'll be sure to check in next week with more questions. Maybe
          about macgen-
Coach101   You can also post your questions in the Lets Discuss area here
          under
Coach101   Assembler...    That way you have a chance at getting answers and
          help
Coach101   more than once a week.
AFA Gary J Very true.
AFL Dyfet  Very good suggestion, Coach...
Astronewt  well, I've tried that, but there's nothing like interaction.
AFL Dyfet  Okay, I see A2GS has something he wishes to bring up :)...GA A2.
A2GS       Well, I've had an AST VisionPlus card for the past 3 weeks and I
          still get a
Astronewt  thanks, Coach.  Do you check the most recent development
          folders?
A2GS       window which says "No VisionPlus Card" whenever I run the
          accompanying
A2GS       software, any "NEW" ideas on what I might be doing wrong? No it's
          not the slot
A2GS       settings and I am using a 256k DMA compatible memory board since
          my 1.25 meg
A2GS       memory board is NOT DMA compatible  :(   GA
Matt DTS   What slot is it in, Al?
Astronewt  The people at RW told me that the tool for that is bad in GS/OS
          v5.0, really.
A2GS       I've tried it in both 2 and 7
A2GS       Do I need more memory?  The things supposed to work on a 512k
          machine.
Dave Lyons Which tool?
Astronewt  They said to comment out the one for a digitizer card. I can check
          the number.
A2GS       Does the input device have to be hooked up and/or playing when I
          run the
A2GS       software?
AFL Dyfet  GA Scott...
AFL Scott  Are you sure the cards not bad?
Astronewt  It's in the GENERIC.SOURCE file...
A2GS       Not that I know of, but then again there always is a
          possibility....
A2GS       I'm going to try it out on another machine next week and see what
          the results
A2GS       are there.
AFL Scott  Do you have _any_ docs for it?  Things such as registers on the
          board?  If you
A2GS       It seems like that's the last possible answer :(
AFL Scott  do, you could always examine the registers from the monitor.
A2GS       All MAC owners should know there's a secret contest!
Astronewt  A2GS, it might be the OS, that's what Roger Wagner Publishing
          said.
A2GS       I'm running it under the software's own OS, and I've tried looking
          at the
AFL Scott  Done..
AFL Dyfet  GA Mike...
A2GS       registers, but couldn't find the set of ID bytes for the card like
          I was
A2GS       supposed too, at the corresponding slot address.
AFL Mike F OK -- But I see the question has already been answered.  I was
          going to suggest using the native
Astronewt  Ok, just a suggestion.
AFL Mike F OS on the disk rather than version 5 of GS/OS.
AFL Mike F Done
A2GS       The softwares using the OLD old launcher from the original GS.
A2GS       system disk.
AFL Dyfet  A bit of nastalga there :)
Coach101   If you can not see the ID bytes from the monitor, I would go no
          further
Coach101   until you can see them!  That is a basic enough problem to stop
          the
AFA Gary J Hmmm how OLD is the software?  Could the 1.0 ROM be the
          problem?
A2GS       Could be the card is defective will have to see what happens on
          another GS.
Coach101   whole process.  ga
A2GS       Thought about that, Gary, but the software seems to be working
          fine.
AFL Dyfet  Do you see anything at all in the locations where the id bytes are
          supposed to
AFL Dyfet  be, or just random bytes?  It does certainly not bode well for the
          health of
AFL Dyfet  the card...
A2GS       Not sure about the bytes, but I think that they're the standard
          bytes you
A2GS       would find on booting the system without the card. I looked at
          $C200 and $C700
A2GS       when the card was plugged into the corresponding slots (2 and 7)
AFL Dyfet  I take it you are certain you have the control panel set for
          external card for
A2GS       Yup.
AFL Dyfet  those slots...do they look like the same bytes you get when you
          have the card
AFL Dyfet  (make that slot) set for internal?
A2GS       I've done it a million times, I don't think I did it wrong every
          time.
A2GS       Not absolutely sure.
AFA Gary J You could just be a consistant sort of guy... :)
Coach101   Do you do an OsShutdown and/or power off/on after changing
          slot/port settings?
A2GS       But let's just say that when I did look for the ID bytes, they
          were nowhere
A2GS       to be found.
A2GS       I completely shutdown the machine every time or did a self test.
Dave Lyons What were the ID bytes supposed to be?
A2GS       checking....
A2GS       Doesn't list the specific bytes, but says that the ID bytes will
          remain the
A2GS       same for all future (HaHa) AST VP cards. But from what I can
          remember, I didn't
A2GS       find any bytes which were different from the way they were without
          the card
A2GS       when looking at the specific address ($C200/$C700)
Dave Lyons Did you find legit machine code?  Like for the internal port?
A2GS       BTW the ID is 7 bs long.
AFL Scott  A2...The only way you're gonna find out for sure what they're
          supposed to be
A2GS       Don't remember...
AFL Scott  is to hack the code to see what it expects.
Coach101   Have you tried other cards in slots 2/7 and did they work?
A2GS       I've got a Sonic Blaster which has always worked fine in slot 2.
AFL Scott  Use a debugger like GSBug in Trace mode.  It's the easiest way I
          know to find
AFL Scott  what code wants.
A2GS       The easiest way I see, Scott, is to see if there is any change
          between when
A2GS       the card is in the slot and when it isn't, if nothing changes then
          something
Coach101   Darn call waiting again
A2GS       isn't happening like it's supposed too.
AFL Scott  Right.  If that's the case, the cards hosed.
A2GS       Seems like the only possibility, I'm going to try getting my hands
          on another
A2GS       card and see if there's any difference.
A2GS       This one's just borrowed from a friend, to try out, But he hasn't
          used it in
A2GS       months, maybe this is the reason why.
A2GS       Go on to a new Q, this could take all night.
AFL Scott  To depart for just a second.  A member of my forum want's to know
          if System
AFL Scott  Software 5.0.2 is up yet... I've been busy uploading huge files,
          so I haven't
AFL Scott  had time to check.
AFL Dyfet  Gary, care to answer that one :)
AFA Gary J It's not up yet (out) but will be--- tonight
Coach101   Did Santa Claus give it to you tonight Gary :)
AFL Scott  Ok, Thanks!  This member was worried about downloading those huge
          files I've
AFA Gary J (At least I think so... I haven't REALLY had a chance to see what
          we've got
AFA Gary J there :)
AFL Scott  uploaded without having something they require.
AFL Dyfet  And we also need to fix up the descriptions :)
AFA Gary J Yup.
A2GS       Is it available to dealers yet? (sent out?)
A2GS       GA
AFL Dyfet  I believe it is, or should be, available to dealers at this
          point.
AFA Gary J I don't know..
A2GS       I'm afraid to ask and naturally get the wrong answer.
A2GS       Done
Coach101   You would probably be told that 6.0.3 was current    :)
A2GS       :)