Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!oberon!cit-vax!ucla-cs!zen!ucbvax!ucbcad!ames!lll-tis!ptsfa!ihnp4!upba!eecae!nancy!umix!hyc From: hyc@umix.cc.umich.edu (Howard Chu) Newsgroups: comp.sys.atari.8bit Subject: Re: What's the right way... Message-ID: <2266@umix.cc.umich.edu> Date: Fri, 9-Oct-87 01:22:47 EDT Article-I.D.: umix.2266 Posted: Fri Oct 9 01:22:47 1987 Date-Received: Mon, 12-Oct-87 06:08:06 EDT References: <871006122252.4.JRD@GRACKLE.SCRC.Symbolics.COM> Reply-To: hyc@umix.cc.umich.edu (Howard Chu) Organization: University of Michigan Computing Center, Ann Arbor Lines: 12 Summary: returning to DOS? UUCP-Path: {uunet,rutgers}!umix!hyc Are you using Action? Action writes object files based off the Init vector. Unfortunately, it also provides a valid address for the Run vector. What happens is that an Action program will load, execute, and then DOS will try to execute it again based on the Run vector. (The two addresses here aren't identical - the Init vector points to some runtime startup code, whereas the Run vector points to the actual beginning of the program.) The solution is simple - Define a global variable at the beginning of your program, and pre-initialize it to the value $60. As long as the first byte of your program is an RTS, things should work fine... -- -- Howard Chu "Of *course* it's portable. It's written in C, isn't it?"