Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site riccb.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!riccb!djb From: djb@riccb.UUCP (Dave J. Burris ) Newsgroups: net.micro.atari Subject: Re: ST programs without AES & VDI? Message-ID: <558@riccb.UUCP> Date: Fri, 11-Oct-85 10:24:51 EDT Article-I.D.: riccb.558 Posted: Fri Oct 11 10:24:51 1985 Date-Received: Sat, 12-Oct-85 18:31:58 EDT References: <10613@ucbvax.ARPA> Distribution: net Organization: Rockwell Telecommunications, Downers Grove,Il. Lines: 39 > Has anybody gotton any non-AES&VDI programs to run on the ST? Even > the following program bombs for me: > > #include > main() > { > } > > I'm linking it with gemstart. I've also tried it with gems. Anybody > out there know what is wrong? > > --Bob Mayo > > ...!ucbvax!mayo > mayo@ucbkim.berkeley.edu Try this: link68 [s,u] gemstart,PROG,gemlib,libf I think that's all of them. I've managed to get a simple program that reads the MIDI port and prints the hex byte to the screen working. The libf library resolves the atof() and etoa() undefined errors. You also have to be careful when passing arguments because the C compiler does not automatically convert everything to long words when passing arguments on the stack. chars and ints use MOV.W data,(SP)- and pointers and longs use MOV.L data,(SP)-. This can can a crash due to bus errors because if you're not careful you could pick up an invalid pointer. Don't ask me why they decided to do it this way, probably just to cut down on generated code and improve speed, but it definately will cause problems with LOTS of software that assumes that arguments passed to function are the same size and resized to the proper size by the called function. -- Dave Burris ..!ihnp4!ihopa!riccb!djb Rockwell Switching Systems, Downers Grove, Il.