America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, April 3, 1990  10:00 pm eastern daylight time
Topic:  Programming in C and Pascal
Forum Leader:  Dave Sugar  (AFL Dyfet)

AFA Gary J Ok, let's get started.
AFA Gary J Good evening, and welcome to the Apple II Development Forum.  I'm
          Gary
AFA Gary J Jacobson, standing in for Dave Sugar for a while here...
          Tonight's Topic
AFA Gary J is Programming in C and Pascal.
AFA Gary J We'll be using protocol to maintain some order here, so if you
          would like to
AFA Gary J ask a question, type a "?" on a line by itself, or if you have a
          comment
AFA Gary J on the current topic, type a "!" on a line by itself.  I'll keep
          track of
AFA Gary J who's up next, and will call on you in turn.
AFA Gary J It looks like Parik was quick to get the first question of the
          evening in.
AFA Gary J GA, Parik
AFA Parik  hiya.  Whats the MOVELEFT function do in TMLPascalII?
Dave Lyons Moveleft...I think it's like an MVN, basically.
Dave Lyons (Moves a block of memory to a lower address.  More like a
          BlockMove, I suppose.)
AFA Parik  ahh, makes more sense now.  thanks
Doctor Why Dave is correct.  (as usual)
AFA Parik  is a pascal BAnd = AND in assembly, and a BOR = ORA?  or EOR?
          gfa
AFA Gary J GA, Dave
Dave Lyons Yes, band is "bit-wise and", like AND in assembly.  Never used
          bor, but I bet it's ORA, not exclusive
Dave Lyons or.  ga
AFA Parik  better hunt around for Oh!  Dondra..er..Pascal and check those
          truth tables. :)
AFA Gary J GA, Doc
Doctor Why It is a logical or, there is a BXor that is the exclusive or
Doctor Why GA
AFA Parik  thanks a lot guys!  ga
AFA Gary J Ok, A2GS has the next question.  GA A2
A2GS       Was looking at the flyer for the new ORCA linker (ZapLink) and
          it's suppose to
A2GS       have "Dot File Support", What the heck is that???  GA
AFA Gary J GA, Joey
JSchober   I don't remember, but I highly recommend ZapLink -- it's amazing!
          :)  GA
AFA Gary J :)
AFA Gary J GA, Andy
A2GS       You should know!
A2GS       Andy..
ShrinkIt   I think that mike was referring to .ROOT, .A, .B and so on... file
          support
ShrinkIt   mechanisms... linkIIGS needs stuff to be crunched using crunchIIGS
          first,
ShrinkIt   zaplink does not.
ShrinkIt   ga
A2GS       O.K. never heard it referred to in quite that way.  Thanx
A2GS       GA
AFA Gary J Thanks, Andy.  Cecil has our next question.  GA, Cecil
A2GS       Or should I say Done!
CecilFret  i HAVE NOT been in conference for a while. How does one send a
          flash
CecilFret  note.  I thought Open Apple-F but it has changed.  What gives?
CecilFret  ga
AFA Gary J :)
AFA Gary J Things have changed.  It is now OA-I
AFA Gary J (Back to the original Instant Messages)
AFA Gary J Hello Dave!
AFL Dyfet  I had a cold in my node...
AFA Gary J Cecil was also telling us about something just before the chat
          this evening,
AFA Gary J could you give us some more details?
CecilFret  ready Gary?
AFA Gary J Yes! :)
CecilFret  Ok, I had a prepared text on a nice file and find I can't send it
          direct.
CecilFret  So excuse some typow.  A ten line message is to follow:
CecilFret  With David Eyes and Ron Lichty, I am proud to announce that
CecilFret  I have converted the asembly language code in their book
CecilFret  "Programming the Apple IIgs in Assembly Language" to APW C
CecilFret  and ORCA/C.  Right now, you can buy the disk and three pages
CecilFret  of notes directly from either myself or Ron Lichty.  Later
CecilFret  on, we hope to have other outlets selling it too.  My address
CecilFret  is Cecil Fretwell, 2605 Highview Ave. Waterloo, Iowa 50702
CecilFret  Send $20 and I will send by reply mail a 3.5" disk
CecilFret  containing both APW C and ORCA/C code
CecilFret  and the three pages of notes.
CecilFret  wow
CecilFret  ga
AFL Dyfet  Thank you Cecil...
Steve Br   Does anyone here use TML Pascal II?
AFL Dyfet  We are using PROTOCOL here tonight, Steve...
Steve Br   Oh. Sorry.
AFA Gary J (I'll put your name in the queue, Steve)
AFL Dyfet  And in fact, I believe Parik has the next question, but we will
          get back to you
AFL Dyfet  shortly, Steve...GA Parik...
AFA Parik  Origin systems is lookin' for a stud C programmer to port over
          Ultima VI to the
AFA Parik  GS!! yah!  they'll hand you C code, you work like dickens.  call
          512-328-0282
AFA Parik  for more info (and be prepared to be grilled for qualifications
          :).  ga
AFL Dyfet  Sounds like a fun project for someone :)
AFA Gary J :)
A2GS       They don't like Assembly Language?
AFL Dyfet  Well, I guess there is little to speculate on that until someone
          calls and
AFL Dyfet  finds out :)...
AFL Dyfet  Okay, I believe that Steve has the next question and the floor
          now...GA Steve..
A2GS       Sounds like they aren't the II people they used to be!
Steve Br   Ok.  Parik - is Origin based in Austin (I'm in Austin).
          Also...has anyone used
AFA Parik  (yes Steve)
Steve Br   TML Pascal II extensively, and if so have you had any major
          problems with it?
AFL Dyfet  I have had my share of problems with TML Pascal II, what kind of
          problems were
AFL Dyfet  you encountering, Steve?
Steve Br   Well, I haven't used it too much yet.  I have it - I upgraded from
          the original
Steve Br   TML Pascal.  I have used it some, and have had problems.  I am
          about to write
Steve Br   a pascal program, and wondered if I should use my TML or try
          something else.
Steve Br   I have mainly had memory problems when trying to compile.  Also, I
          have had..
Steve Br   .. problems trying to use the resource editor.
AFL Dyfet  Well, at the moment, the only other choice seems to be
          Orca/Pascal, which also
AFL Dyfet  means using the Orca shell environment.  As to problems with the
          resource
AFL Dyfet  editor, yes, a number of people have had problems with it...
AFL Dyfet  Has anyone else had experiance with TML Pascal II they wish to
          comment on?
AFL Dyfet  Go ahead Cecil...
CecilFret  Vince Cooper is supposed to be the Pascal Guru at TML.  You
          might
CecilFret  try to talk to him.
CecilFret  ga
JSchober   (screen name "AFL Vince"  :-)
AFA Gary J (AFL Vince)
CecilFret  (forgot that, thanks)
Steve Br   Ok.  Thanks.
AFL Dyfet  Okay, I believe our next question is from Whistles...GA
          Whistles...
Whistles   What would an upgrade from original TML Pascal to the latest cost
          now, .......
Whistles   and is it worth it in your opinions?  Compared to Orca's latest
          Pascal.
Whistles   ga
AFL Dyfet  My own preferences would be tword Orca Pascal at the moment, but I
          mostly work
AFL Dyfet  in C :)...
AFL Dyfet  As to the upgrade cost, I do not recall...I would suggest
          contacting TML
AFL Dyfet  directly unless somebody here knows off hand...
AFL Marty  TML II upgrade price was originally about 50 bucks.  Don't know if
          it's
AFL Marty  different now though.  GA
AFL Dyfet  Okay, I believe A2 has the floor now...GA A2...
A2GS       I wrote and assembled a program in merlin 16+ running under GS/OS
          5.0, gave it
A2GS       to a friend who had a merlin running under 4.0 and when he tried
          to run the
JSchober   ("Matt DTS   GS/OS 3.0.  System 5.0.")
A2GS       program it crashed almost immidiately after it started
          executing....
A2GS       The program works fine under 3.0 (Matt :)
A2GS       Any ideas?
A2GS       BTW the program crashes after loading a an uncompressed pic file
          directly into
A2GS       screen memory, before even closing the file.
A2GS       GA
AFL Dyfet  GA Cecil
CecilFret  A2GS, you talking about the article in the winter quarterly of
CecilFret  Call A.P.P.L.E.
CecilFret  ga
A2GS       <-- will look it up, thanx
AFL Dyfet  GA Parik...
AFA Parik  5.0 tries not to touch shadowed ram ($01/2000).  4.0 does a lot.
          may be it.ga
AFL Dyfet  GA Ron...
RonLichty  I was going to suggest the same thing Parik did...
RonLichty  If the screen being written to
RonLichty  is the shadowed screen, then
RonLichty  System 4.0 may load your program there.  On the other hand,
RonLichty  System 5.0 never does that unless all other memory is full.
RonLichty  You should incorporate a call to the Memory Manager asking to
RonLichty  reserve that memory, and use a dialog to quit gracefully.
RonLichty  ga
AFL Dyfet  GA Dave...
Dave Lyons A2GS, is your program using any parts of the toolbox?  It is
          *allocating* the screen memory
Dave Lyons before using it?  (Starting up QuickDraw allocates the $E1
          super-hires screen for you, and it may
Dave Lyons also allocate the $01 memory *if* you ask it to, under 5.0 and
          later only.)  ga
A2GS       Loads the program directly into E1/2000, I don't have to allocate
          memory for
A2GS       that area.
A2GS       Even though, technically ,I should.
Dave Lyons More than technically...if memory is tight, other stuff can get
          put there.
AFL Dyfet  This is true...
AFL Dyfet  I have seen that happen before...
Dave Lyons I'm out of ideas w/o seeing the code.  ga
AFL Dyfet  Okay, any further comments?
A2GS       The very first thing the porgram does is just load the pic
          file....can't get
A2GS       much more straightforward then that, as programs go.
AFA Gary J Put in $E1 as opposed to $01??
A2GS       Nope, don't want to use shadowing.
Dave Lyons Is this in
Dave Lyons assembly?  Are you setting the B register?
A2GS       yes, no
Dave Lyons So it's using long addressing when
Dave Lyons it copies the reference number from the Open block to the Read and
          Close blocks, then?
A2GS       I'm using GS/OS calls, and when the ask for the destination
          address in the
A2GS       GS/OS call table, I just put e1/2000
Dave Lyons Right, but at some point you have to load the resulting reference
          number
A2GS       Never reaches the close call!
A2GS       right....
A2GS       right after I open the file.
Dave Lyons from the Open call, and store it somewhere else.  If you're not
          setting B, you need to be using
Dave Lyons long addressing for those loads and stores.
A2GS       I get the ref # and store it in the apporpriate locations for the
          other call
A2GS       tables.
Scapino    If you are loading the full 32768 bytes, the are some bytes
          between he SCBs
Dave Lyons Can you send me a copy of the program?
AFL Dyfet  Or if you are working from the same segment, a simple PHK and PLB
          combo will
A2GS       I enter the routine with a PHK,PLB
AFL Dyfet  set you to the current bank :)...
Scapino    and the Pallets that the system might be using.
JSchober   Oh, you ARE setting B...
Dave Lyons (Ah!  Then the correct answer was "yes, yes" above.)
AFL Dyfet  Okay, you do that already...
A2GS       No, not really I'm just REsetting B
A2GS       :)
AFL Dyfet  I couldn't speculate either unless I saw the code then...
A2GS       What does long addressing have to do with this??  The GS/OS calls
          are doing all
A2GS       the work...and they are loading the file!  Just not closing it,
          instead thre
Dave Lyons Never mind re: the long addressing...thought you said you
          *weren't* setting it with the PHK PLB.
A2GS       system crashes.
Dave Lyons If it wasn't set, you *could* be loading and storing stuff in bad
          banks, overwriting something
Dave Lyons important.
AFL Dyfet  Perhaps this question should be carried to the message area for
          further
AFL Dyfet  discussion...
A2GS       Why??  The GS/OS call tables require long addresses for all the
          info, ex.
A2GS       dest. address for data.
AFL Dyfet  GA Parik...
AFA Parik  (run it through GSBug.  Thats what its for.  :)
A2GS       If I had it.....
A2GS       :)
AFL Dyfet  I think we've ran out of the well of ideas for the moment on that
          one :)...I
AFL Dyfet  would like to give Woods a chance for his question now...GA
          Woods...
AWoods     Has anyone heard plans of a C++ preprocessor/complier for the GS?
          Thanks.
AFL Dyfet  Unfortunately no, I haven't heard of one, myself...GA Dave...
Dave Lyons Nope, not specifically.  I've heard that you can
Dave Lyons use the preprocessor (well, really a compiler from C++ into C)
          part of MPW C++ (on the Mac)
Dave Lyons to create C code that you then run through APW C.  Last I heard,
          you *do* have to make some
Dave Lyons changes to the resulting C to make it work.  Oops--shoulda said
          APW C *or* MPW IIgs C.  ga
AFL Dyfet  If you have time to spare, you could also try porting (Gnu)
          G++...
AFL Dyfet  Okay, I believe Cappy is next...GA Cappy...
AWoods     Thanks.
Cappy      OK, q#1:  What is the difference between TML II and TML?
          ..and...
Cappy      What is the best C comiler for the GS for a beginning C student,
          such as
Cappy      myself?
AFL Dyfet  GA Joe...
JSchober   Lots.  TML (I) is an old, buggy version of Pascal that runs under
          ProDOS 16...
JSchober   TML II is a NEW, buggy version (hey, we can't tolerate OLD bugs!)
          that supports
A2GS       :)
AFL Marty  ROTFL
JSchober   System 5.0, including resources, etc.   (2) I like ORCA/C myself
          -- it's quite
Cappy      (no..  buggy is Music Studio)
JSchober   a bit better than APW C, although ORCA has some problems itself.
          {S GA}
AFL Dyfet  For educational purposes, Orca C makes more sense, in that it is
          ANSI
AFL Dyfet  compatible, which is where all C compilers are going...
Cappy      Thanks.  That's it.  (ist year of Pascal and C.)
Cappy      Oh, is there any UNIX for the IIgs?
AFL Dyfet  GA Cecil...
CecilFret  ok, I too like ORCA/C.  Mainly because of its speed of
          compiling.
CecilFret  There is a new release of ORCA/c coming out soon like the end of
          themonth
CecilFret  I am sure many bugs will clear up.  Don't blame all problems on
          ORCA/////c
CecilFret  The ORCA shell itself has some problems losing memory management.
          to
CecilFret  Avoid this, I quit out and come back in.
CecilFret  Speaking for porting, I started the Lichty conversion to C using
          APW.
CecilFret  At the time, ORCA/C was not available.  When I got done with APW C
          and
CecilFret  started on the ORCA/C version, I had very little problems, really
          none.
CecilFret  I am also working with C on an IBM PC AT.  TURBOC to be exact.
CecilFret  the only problems I have had in porting is things like getting the
          time
CecilFret  and some printer control problems
CecilFret  ga
AFL Dyfet  I've used Mircosloth C on PC's myself :)...and have also done some
          cross
AFL Dyfet  porting from/to MS-DOS...Orca/C has proven fairly standard, though
          a little
AFL Dyfet  light on some of the standard libraries...GA Cecil...
Cappy      The only question I had left is if there is any UNIX shells
          available on the GS
CecilFret  The problem with the printer is opening it as a stream.  I have a
          cross
CecilFret  reference program to tell me where all variables and procedures
          are used.
CecilFret  I have to have hard copy so for APW C I had to use REDIRECT.  On
          the
CecilFret  B9 version of ORCA C I got a stream to work, sora.
CecilFret  ga
CecilFret  (sorta)
AFL Dyfet  I think A2 wants to comment :)
AFL Dyfet  GA A2...
A2GS       Nope...There is no Unix Shell for any II (to my knowledge) for
          several reasons
A2GS       most of which could be overcome in the GS, unfortunately no one
          has spent or
A2GS       has the time to do it.
BillP      thank god
A2GS       GA
AFL Dyfet  Not strickly true, A2...There is the C-shell like environment for
          Aztec C for
AFL Dyfet  the Apple II, though, of course, it doesn't multi-task...:)
BillP      oops  sorry
A2GS       Unix
Dave Lyons Don't forget Davex (I think it qualifies as "unix-like").
          Shareware for $25 from me.  ga
A2GS       Why should it's 8-bit limitation slow anyone down?  :)
AFL Dyfet  :)
Tamira     bit of a self plug isn't it???
Dave Lyons (Sure...is there a law against self-plugs? :)
Tamira     <NOPE  :)>
CecilFret  (Nope, I did one earlier)
AFL Dyfet  (Oh, and did I mention Command.COM tonight?? :)
Dave Lyons (That's MS-DOS-like....)
AFL Dyfet  Okay, I think we can get to AWoods question now...GA AWoods, you
          have the floor
AFL Dyfet  .
AWoods     Thanks...there were a couple of people on info.apple
          (comp.sys.apple)
AWoods     that were planning on a Unix for GS...but havn't heard from them
          lately. Done.
JSchober   "IInix", yeah.
JSchober   (can I mention EBBS while there's a lull in the discussion?? :D
          )
AFL Dyfet  (Well, it's got an ls command and a cat, Dave... :)
Dave Lyons (Oh, all right.... :)
CecilFret  In my opinion, the IIgs does not have enough gas for UNIX.
CecilFret  FOR myself, under ORCA/C and APW C, I have an alias for the major
          MS-DOS
CecilFret  commands.  I work withPC all day so get tired of syntax errors at
          home.
CecilFret  I also just got a MAC so the PC is almost out of my life (Thank
          God.)
CecilFret  ga
AFL Dyfet  Perhaps not for Unix AT&T style (System 5.x), which now requires 1
          meg of core
AFL Dyfet  for the 'kernal', but for a sane, well developed time-sharing
          system...hmm...