Path: utzoo!attcan!uunet!portal!cup.portal.com!thad From: thad@cup.portal.com Newsgroups: comp.sys.m68k Subject: Re: 68020 in a *68010* socket? Message-ID: <6276@cup.portal.com> Date: 6 Jun 88 00:40:43 GMT References: <17206@gatech.edu> <10123@mcdchg.UUCP> <17479@glacier.STANFORD.EDU> Organization: The Portal System (TM) Lines: 67 XPortal-User-Id: 1.1001.2826 Why do you feel there's such a software incompatibility between the various 680x0 processors? I've been operating 68000, 68010 and 68020/68881 combinations in my Amigas for over two years now with impugnity. There are fewer than 10 commercial software products (of the more than 700+ available), and fewer than five public domain (of the thousands available) that don't function properly on the '020 Amigas, and the reason are simple: 1. Some earlier commercial software releases were produced using a C compiler that generated (or whose library utilized) the dreaded `MOVE SR,' instruction. Fixes for this are distributed by Motorola (as described in App Notes, etc.) and are also user- installable by running the DeciGEL program in the background (this program traps privilege violations, examines the opcode at the offending location, and patches it to be MOVE CCR, then re-executes the instruction) 2. self-modifying code (which wreaks havoc with the '020 when the instruction cache is enabled). Both the problems above are due to software producers who chose to ignore Amiga programming guidelines issued in May 1985 The Amiga's OS has supported all 680x0 variants since 1986 (with release 1.2), and it automatically enables the 020's cache if an '020 is detected upon system boot and startup. The Amiga OS release 1.3 automatically vectors to a 68881 if one is present, thus permitting all existing programs the use of the math chip. Guidelines for implementing compatibility are available from Motorola who claims, in their App Notes, that any operating system can be fixed in just a matter of hours (ref: Motorola's MICRO MINUTES MM-444-02). As a matter of interest, the 68030/68882 combination also operates fine on the Amiga. Products (e.g. piggyback *AND* plug-in boards) exist commercially today. Several manufacturers' boards (both '020 and '030) were demonstrated and available for purchase recently at the Santa Clara Convention Center, and one or two different types are usually shown in the Hacker's Kitchen room during the FAUG (First Amiga Users' Group) meetings at the Palo Alto Hyatt Hotel (about 1,000 members usually in attendance, along with a wet bar! :-) whose next meeting is this Tuesday, June 7, at 7PM. You're welcome to attend. Finally, attempting to "shoe-horn" a 68020 into an 68000-size package is not reasonable, since you'd lose the 32-bit wide data path and other niceties of the 68020's design. Piggyback adapter cards permitting an '020 to be used as a replacement for an '000 or '010 are readily available at 'reasonable' cost. Without wishing to start another "my computer is better than yours" debate, I respectfully suggest that you express your concerns to the manufacturer of your computer system and to the software producers. There is NO need to produce multiple versions, packaging, etc. of commercial software releases IF the system software and hardware was thoughtfully and intelligently designed and implemented. One example: on the Amiga, the user's tasks and processes run non-privileged; if they NEED the processor's condition codes, a system call (GetCC() for C, JSR _LVOGetCC(A6) for assembler) provides the codes in a processor-indepedent manner. The MC68000 has been "out" since 1978, and the 68010 and 68020 were not exactly born yesterday. These issues have been understood and addressed years ago, so I'm sorry to hear you are burdened with a system that doesn't permit expansion flexibility and processor upgrade.