Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!ucsd!ucbvax!dewey.soe.berkeley.edu!oster From: oster@dewey.soe.berkeley.edu (David Phillip Oster) Newsgroups: comp.sys.mac.programmer Subject: Re: Making a Mac SE think its a II Message-ID: <25630@ucbvax.BERKELEY.EDU> Date: 14 Aug 88 05:34:29 GMT References: <17630@glacier.STANFORD.EDU> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: oster@dewey.soe.berkeley.edu.UUCP (David Phillip Oster) Organization: School of Education, UC-Berkeley Lines: 32 I've complained and complained about this, but too many applications check for the presence of a MacII, when all they are really interested in is some specific feature, such as a 68020, or color quickdraw. If this program really makes no color quickdraw calls, and you have a 68020, you can try to fool it by doing the following: There is a low memory global, RomVersion: extern int RomVersion : 0x28E; that holds: 0xFFFF on a classic mac 0x7FFF on a MacPlus and an SE and 0x3FFF on a II. You can patch this in a debugger. Apple decided that this wasn't detailed enough, so they provided the trap: SysEnvirons(). This returns a record, and is declared in OSUtil.h You can: 1.) set a breakpoint on this trap to see if your app calls it. If it does, patch the return value to claim to be a MacII. If all this manual patching works, you can write an INIT to do it all for you at system startup. I know tail patching is not approved of, but you don't need a product, and I doubt anyone will be looking at the caller of SysEnvirons(). --- David Phillip Oster --When you asked me to live in sin with you Arpa: oster@dewey.soe.berkeley.edu --I didn't know you meant sloth. Uucp: {uwvax,decvax,ihnp4}!ucbvax!oster%dewey.soe.berkeley.edu