[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

908.0. "Lattice 4.0" by PLDVAX::SMCAFEE (Steve McAfee) Mon Nov 16 1987 16:05

    
    Well, my lattice 4.0 upgrade arrived this past weekend.  So far
    it looks pretty good.  It definitely seems to produce smaller
    code.  I recompiled a few small programs I had lying around and they
    seemed to result in about a 25-50% decrease in code size.  Although
    I suspect this kind of decrease could not be expected from a large
    program.  Maybe I'll try to recompile one of the VT100 programs
    to see what I get.
    
    Lattice now includes a full assembler plus include files.  This
    seems to work as advertised, but I've been having some difficulty
    with BLINK.  I picked up a book call Amiga Assembly Language
    Programming by Jake Commander.  This book is really introductory
    and I don't particularly recommend it, but as far as I know there
    aren't any other assembly books specifically for the Amiga.  Anyhow
    the book contains a "gadgets" example that I'm having difficulty
    with.  Aside from a few minor problems (like the assembler didn't
    like #%100000 but would accept #$20) I managed to get the assembler
    to accept the example without error.
    
    When I BLINK the object file it gurus every time.  This is pretty vague
    but maybe someone has a suggestion as to what I am doing wrong.
    
    regards,
    
    steve mcafee
T.RTitleUserPersonal
Name
DateLines
908.1How to 4.0...OASIS2::BERNARDHave Gun - Will TravelMon Nov 16 1987 17:455
How do you go about getting the upgrade?  I have Lattice 3.10 and haven't
heard a word from them. (Yup... I sent in my registration...)

-John Bernard-

908.2BLINK GURU's here tooPUERTO::ALVAREZMiguel,from sunny Puerto RicoMon Nov 16 1987 18:3711
     Re.0, BLINK GURU's,
    
       	I tried an example assembly program from AMIGA WORLD which appeared
    sometime ago. I typed it and assembled correctly ( BTW, I use
    a PD assembler). BLINK would GURU, but with ALINK I had no errors
    and the program ran fine.
    
    Conclusion, you are not alone, it's probably a BLINK problem.
    
    Miguel A. Alvarez
    
908.3In search of the missing LINKSTAR::BANKSIn Search of MediocrityMon Nov 16 1987 20:3065
    I don't have the version of BLINK that comes with Lattice 4.0, but
    I have come across the following three bugs in the public domain
    version of BLINK:
    
    1)  If you have a module with too many global symbols in it (I don't
    know how much is too many, but I do know that removing some globals
    fixed it), BLINK will GURU.
    
    2) Whenever I've asked for an XREF map from BLINK, I get a GURU.
    
    3) Zero length modules with relocatable global symbol definitions
    will cause BLINK to generate an incorrectly formatted load file,
    although nothing GURUs.  To be more specific about this one, an
    assembly module like
    
    		XDEF	Foo
    	Foo	EQU	$1
    		END
    
    BLINKs just fine.  However:
    
    		XDEF	Foo
    		RORG	0
    	Foo:
    		END
    
    Assembles fine, but causes BLINK to make a broken load file.  ALINK
    can handle this fine, and while some people might think it to be
    questionable, it's not too pleasant for a linker to get upset at
    something that the compiler/assembler is perfectly happy with. 
    I found this when debugging an EXEC library, and you can't believe
    how much time it cost me.
    
    The above three bugs cost me an entire day's waking time.  It's
    a large measure of how much I hate ALINK that I still use BLINK
    after all this.  (2) above was easy to figure out, but the other
    two weren't.  So, my "rules" for using BLINK without GURU visitations
    are:
    
    (1) Don't XDEF a lot of symbols
    (2) Don't use the BLINK command line XREF option (not to be confused
        with the assembler directive of the same name)
    (3) Don't make zero length modules with relocatable symbol definitions.
        That is, fix the broken example above by:
    
    		XDEF	Foo
    		RORG	0
    	Foo:	DC.B	0
    		END
    
         Which, of course, makes the load file 4 bytes larger, but in
         BLINK's defense, this exec library load file of mine that has
         to be 4 bytes too large (for the above reason) is about 400
         bytes smaller than what ALINK would produce.  It's not that
         ALINK isn't properly consolidating code hunks (since I loaded
         them all into the same hunk name), it's that ALINK is incredibly
         pessimal about how it produces Reloc32 fixup blocks.
    
    Unlike the bugs with BLINK, the above mis-feature of ALINK can be
    gotten around with a post processor that consolidates Reloc32 blocks
    wherever possible, but I still hate ALINK enough that it ain't worth
    the bother to me.
    
    I don't know if any of these are what's been biting you, but I am
    sure there are more lurking out there somewhere.
908.4$45 for 3.10 upgrade...MVCAD3::BAEDERTue Nov 17 1987 11:4212
    re .1
    
    I saw some info on the "NET" about this...I too have 3.10, and it
    said the cost was $45 ($75 from 3.03, and previous), but you may
    want to call them to check (ask for upgrade service).
    
    In any case, I sent in the card, and the bucks this past weekend...will
    post if any problems.....
    
    General comment on the NET lately...Lots of FLUFF, and not much
    meat, but a few gems like the tip on upgrade, etc. still cause me
    to read it...oh well...
908.5ANGORA::SMCAFEESteve McAfeeTue Nov 17 1987 12:5215
    
    Yes, I paid $45 from 3.10 to 4.0 and it is $75 from 3.03 to 4.0.  I
    received a letter in the mail with a short form to get the upgrade.  The
    upgrade arrived about two weeks after I sent in the money/form. 
    
    This weekend I intend to chip away at this assembly program until
    I figure out what the problem is.  Maybe I'll connect to the BBS.
    The new manual is really lacking on Assembler documentation.  I
    believe this is because it is now compatible with the documentation
    in the Bantam AmigaDOS manual.
    
    Thanks for the help.  I'll let you know if I find out about any general
    tips on using assembly and Blink.
    
    - steve mcafee
908.6STAR::BANKSIn Search of MediocrityTue Nov 17 1987 15:1517
    I may have misunderstood the problem in .0:
    
    Are you getting the GURU when you run BLINK, or are you getting
    it when you try to run the resultant load image.  In either case,
    do you have any better luck with ALINK?
    
    If it isn't a GURU from BLINK, perhaps you could upload the code,
    post it here, and we could all take shots at what the problem might
    be.
    
    Anything I've done on the Amiga since we got our "developer's kit"
    two years ago has been in assembler.  I never ran into anything
    that made programming the Amiga in assembler more difficult than
    C (other than anyone wanting to trot out the old arguments of high
    level vs low level).  I guess what I'm saying is that there aren't
    any "secrets" to getting your assembler program to run that don't
    also apply to C programs.
908.7BLINK gurusANGORA::SMCAFEESteve McAfeeTue Nov 17 1987 16:0110
    
    re: -1
    
    Yes you had the right idea.  The problem is that BLINK gurus.  I
    do have other compiled assembly programs that BLINK does not guru
    on however.  I thought what I might do is try chipping pieces out
    of the program (it's only 4 pages long) until BLINK accepts it.
    (thank God for VD0: !!!).
    
    - steve mcafee
908.8what a fine piece of software ...STAR::BANKSIn Search of MediocrityTue Nov 17 1987 16:122
    Well, good luck to you.  Speaking as another veteran of the BLINK
    lost weekend club.
908.9BAGELS::BRANNONDave BrannonTue Nov 17 1987 18:207
    i had my first Blink Guru happen last night, the only change to
    the program i was compiling was a couple printfs.
    
    I was running the compiler, linker, etc. out of RAM:, i've never
    had Blink Guru when running from floppy.
    
    -dave
908.10v4 arrived!MVCAD3::BAEDERWed Nov 25 1987 11:307
    re: .4
    
    came yesterday...about 10 days...not bad for UPS...anyway, complete
    new manual, and 4 disks...now to get back home, and play with it!
    
    scott.
    
908.11Are "enum's" supported ?TEACH::ARTArt Baker, DC Training Center (EKO)Mon Dec 07 1987 14:5518
	Regarding the Lattice-C compiler, does it support 
	enumerated types ?  You know, stuff like:

	enum color { red, blue, yellow };
		.
		.
		.
	enum color this_color;
		.
		.
		.
	this_color = red;

	Manx (alas) does not...
	Also, any further word on the BLINK problem ?

	-Art
908.12HPSTEK::SENNAMon Dec 07 1987 15:084
    RE: .11
    
    	Sure'nough!
    
908.13I wasn't cursing it was noise!HPSTEK::SENNAMon Dec 07 1987 15:113
    re: .12
    
    	the title of that last note was curtousy of call waiting. Sorry!
908.14Export versionCHEFS::SKINNERAndrew SkinnerTue Feb 16 1988 14:5412
    re .10
    
    4 disks? Over here (UK) there seem to be ads for Lattice C V.4 (about
    #130-180) and Lattice C Professional, or "Developers'" at about
    #280, but its only V3.1. Apparently developers' C is still being
    upgraded.
  
    The blurb for V4.0 talks about 2 disks, whch suggests to me that
    what you are all talking about is what's described as the
    'Professional' package. Can anyone shed more light ? And what sort
    of prices are we talking about ?
    
908.154.0 hereWJG::GUINEAUThe Mathematics of Reality ?Tue Feb 16 1988 16:2826

Well, I just picked up Lattice 4.0 at The Software Shop a few weeks back
for (I think) $150. I got the standard kit (not developers or professional)

The documentation mentions 3 disks, and an addendum mentions 4.

I got 4 disks:  1 is Workbench and Lattice Compiler, Assembler, Blink (linker)
OMD (object module dissassembler) OML (object module librarian) was not ready
for release or something so it was missing.

There's also FD2PRAGMA which converts Basic's .FD files into C pragma
files (routine interface specification's to help the compiler bypass
Amiga.lib)

Disk 2 was all the libraries in compressed form (.h for C, .i for ASM)

Disk 3 was all the libraries in un-compressed form and some examples.

Disk 4 was some extras and examples

And a good manual...

That's about all I can remember off the top of my head. 

John
908.16more info...tmu included in new 4.0 package??MVCAD3::BAEDERD. Scott DTN 237-2961 SHR1-3/E19Tue Feb 16 1988 19:2713
    actually, the oml is included, but they are using a new indexed
    library format...this is what the oml that is included can't handle
    (not bad for off the top of your head)...the other major change
    (as I recall) is the use of register addressing as the default,
    and the default libs that are compiled this way (old libs also included
    for compatibility)...some source (for startups, etc) and some examples
    also included...
    
    by the way, when I got 3.10, it included TMU (Text management
    utilities) with it.  Are these part of a new 4.0 package.  there
    not much...grep, ed (from the software tools book by kernigan, and
    a few others to make script files, etc...)
    
908.17WJG::GUINEAUThe Mathematics of Reality ?Tue Feb 16 1988 19:3213
>    by the way, when I got 3.10, it included TMU (Text management
>    utilities) with it.  Are these part of a new 4.0 package.  there
>    not much...grep, ed (from the software tools book by kernigan, and
>    a few others to make script files, etc...)

Hmmm. Didn;t see them? I'll have to look tonight.

BTW - I can type OMD and get it to run. If I type OML I get "unknown command"

I'll have to search the disks some more...    

John (who apparently is missing some hair on the top of his head :-) )
908.18STAR::BANKSIn Search of MediocrityTue Feb 16 1988 20:055
    Slightly tangential question:
    
    Does the Lattice 4.0 DOC set document their extensions to the standard
    Amiga object file format, or are they keeping them secret?  (Just
    curious)
908.19Lattice 4.01ANGORA::SMCAFEESteve McAfeeMon Apr 11 1988 16:469
    
    There is a Lattice 4.01 update on the the Lattice BBS and I've
    downloaded it an applied it to a set of disks.  Looks like quite
    a few bug fixes.  Can I post this to save others the trouble of
    phoning lattice?  It's quite large.  Maybe I could post the 
    list of bugs it fixes.  For those who wish to download this
    it's called something like AMFIX401.ARC on the lattice BBS.
    
    - steve
908.20I'd like itLDP::MCCARTHYThat's a mighty humble bumble!Mon Apr 11 1988 16:556
        Post it!  I was thinking of calling the Lattice BBS to download
        it.  Could you at least post the list of fixes to see if I need
        the update?

        Thanks,
        Mike
908.21PLDVAX::SMCAFEESteve McAfeeMon Apr 11 1988 17:196
    
    I just re-read my posting in .19 and I guess wasn't very clear.
    I'm wondering whether it is legal for me to post the update.
    I had to give my owner registration number to download this.
    
    - steve
908.22Oh yeah...LDP::MCCARTHYThat's a mighty humble bumble!Mon Apr 11 1988 18:1411
        Oh yeah, I hadn't thought of that. Good question. I assume that
        the  update  is  a  patch, and couldn't be used by itself.  Has
        anyone seen the update appear on any of the  commercial  boards
        (PLINK,  Compuserve,  etc.) If so, it's probably legal to post
        it here.  But then again, I'm not a lawyer...

        Could you post the list of bug fixes.  That should  tell  me if
        it's  worth  my while to download from Lattice, or wait for the
        next update.

        Mike
908.23FNYTC4::KENNEDYKeithWed Apr 13 1988 06:467
	Having just taken delivery of 4.0 I'd really appreciate it if
	you could post the list of bugs that 4.1 fixes - it could save
	me some trouble later.

	KK

908.24pretty please?WJG::GUINEAUWed Apr 13 1988 12:185
Same here.

John (who *knows* the bug is in the compiler :-)

908.25PLDVAX::SMCAFEESteve McAfeeWed Apr 13 1988 13:325
    
    Tomorrow night I'll post the list of bugs.  I've got class tonight
    and a few things to do afterwards...
    
    - steve
908.26Don't Upload PatchesTLE::RMEYERSRandy MeyersWed Apr 13 1988 16:1034
Re: .25

I am sure that Lattice would not want you to post the patches, am also
sure that it is illegal to do so.

First, Lattice C is not copy protected.  One of the rationales in the
great copy protection debate is that if companies provided support,
pirates would become frustrated, and start buying copies of the products.
Lattice is providing support, but they are also demanding that you be
a registered owner of their compiler before you can obtain support.

When you dial into the Lattice BBS, you are permitted to download all files
except the product patches.  You are only allowed to download product fixes
after you prove you are a registered owner.  You prove you are a registered
owner by typing your registration number from your update card to a special
menu, and then waiting 24 hours for a Lattice employee to verify that number
against their records.

Since Lattice is restricting distribution of fixes to proven owners of
their products, I believe they would view it as a hostile act to post
the fixes to the world.  (On the other hand, I am sure that they
wouldn't mind you giving out the fixes to anyone that could prove
to you that they bought the compiler.)

I recommend that everyone obtain the fixes.  Lattice usually publishes
fixes as deltas from the latest fix.  Since you will have to get the
first set of fixes if you want the future fixes, there is no reason
to wait.

Downloading the fixes isn't too bad.  You will need to make a 5 minute
phone call to drop off your registration number with the system.  It
will then only take about 15 minutes to download the fix arc file at
1200 baud when you call back on the next night.  That is only about
a $5 phone bill.