DTACK GROUNDED, The Journal of Simple 68000 Systems
Issue # 9 May 1982 Copyright Digital Acoustics, Inc
EVERY SO OFTEN we see articles in which consulting firms pull out their trusty crystal balls (or dartboards) and inform us what the world production of such-and-such will be in a certain future year. It was heart-warming to read (in INFOWORLD, 19 Apr. p.29) that the production of 16 bit personal CPUs in 1986 will be 5,006,000. INFOWORLD liked this number so well they printed it twice: the production of 16 bit CPUs in 1986 will be 5,006,000. THANK HEAVENS! We had been afraid the production would be only 5 million!
The same article informed us that 'the real race in the 16-bit market is between Intel's 8086 and Motorola's 68000'. That is VERY INTERESTING! We may cover this in more detail in a future issue of this newsletter.
IN APRIL BYTE MAGAZINE we learned, in Sol Libe's hot news column, that Chuck Peddle, the designer of the Pet, had decided to make an 8086 based machine under the Sirius Systems imprimaturs. We also learned that Chuck and Commodore were having some legal disagreements. This conclusively proves one of the following:
MORE S-100 STUFF: One of the nice things about the S-100 bus is that there is an IEEE standard for that bus. You do not have to take OUR word for this; just read the advertisements in BYTE magazine. BYTE is a McGraw-Hill publication and McGraw-Hill publications NEVER lie. Well, hardly ever. Here are the facts:
The boys at MITS did NOT completely specify the function of all the pins on that 100 pin connector. The cottage industry which immediately sprang up around the Altair happily proliferated confusion. This means that plugging a new board into your S-100 based system can be an EXCITING EXPERIENCE!
When a committee was formed to create an S-100 standard, most of the S-100 board manufacturers sent a representative to protect THEIR particular exception. The committee quickly discovered that MANY exceptions had to be written into the DRAFT (the word DRAFT is overwhelmingly important!) standard. Since EXCEPTIONS are no-nos in ALL standards, the phrase 'LEVELS OF COMPLIANCE' was invented and written into the DRAFT standard. When enough different 'levels of compliance' had been written into the DRAFT standard, enough votes (one per 'level of compliance') were gathered to vote the DRAFT standard out of committee.
When the IEEE oversight committee on standards got wind of the resulting travesty, that DRAFT was as COMPLETELY AND TOTALLY REJECTED as is POSSIBLE at the lofty levels of the oversight committee. The IEEE oversight committee let it be known in an ABSOLUTELY UNAMBIGUOUS FASHION that there was NO WAY the IEEE name was going to be associated with that mish-mash! Published reports indicate that it took several picoseconds to pierce the 'levels of compliance' camouflage.
Back at the S-100 committee, there was a quick strategy conference. They cleverly decided that the oversight committee, which had FLATLY REJECTED the DRAFT, had acted erroneously since the DRAFT had not been OFFICIALLY (they said for publication) submitted. Right now the S-100 is dreaming up new euphemisms for those exceptions, euphemisms which will slip past the oversight committee. GOOD LUCK, FELLAHS!
A SUMMARY: There IS NO S-100 BUS STANDARD. There is only a DRAFT standard, one which has been IGNOMINIOUSLY REJECTED by the IEEE people in charge of standards. And there WILL NEVER BE a standard which the IEEE people can accept and which can gather enough votes to be submitted to the IEEE people. But YOU WILL CONTINUE TO READ IN BYTE MAGAZINE (and elsewhere) about all those products which FULLY comply with the (NON-EXISTENT) IEEE S-100 standard. Do we all have this straight, now?
If the thoughtful reader concludes that your faithful newsletter editor his seen a little standards committee action, the thoughtful reader would be correct. In an ANSI committee, which is one level up from the IEEE (the IEEE operates under the guidance of ANSI, or the American National Standards Institute).
MOVING RIGHT ALONG, let us tell you (but in lots less detail) that we have a successor 3-D demo program to D6A named, with our usual originality, D6B. D6A featured an object with 12 coordinate points and 10 plotted lines D6B has 48 coordinate points and 54 plotted lines (it also requires 8K RAM). Although we have not clocked it (our oscilloscopes were busy elsewhere) it seems to update at about the same rate as D6A, or more than 10 times per second.
We are about to undertake the perilous task of talking about attitudes rather than something concrete such as data bus widths. The reader is cautioned to carefully run this material through his or her own personal filter. On the other hand, what we are about to discuss has been written elsewhere, in more detail, by better writers. For instance, we are about to line up alongside Wayne Green in this particular matter (when you find yourself on the same side as Wayne Green in a controversial matter, it is time to carefully re-evaluate your position).
It appears to be a fact that essentially 100% of all persons with a background in minicomputers have nothing but contempt for personal computers of the Pet/Apple II/TRS 80 I variety. These small, inexpensive computers are regarded as toys, unsuitable for serious business or scientific work and unworthy of the attention of a trained professional computer type. Ordinarily, we could each go our own way and ignore each other, the way Volkswagon and Rolls Royce ignore each other. Unfortunately, for completely non-technical reasons, it is not possible for us personal computer adherents to ignore the minicomputer types. The reason is money.
(Although most of you will read the Apple Computer Co. into the following scenario, it will also fit many other personal computer companies.) A personal computer venture is started, usually around 1976, on a relative shoestring. Because the time was right in 1976, some of these companies prospered mightily. As the annual sales of one of these companies would sweep toward and surpass 100 million dollars a year, the problems of financial management became more complex than those of a lemonade stand or a garage operation.
Some of these companies went public; there arose not only the problem of competent financial management but also the PERCEPTION, in the Wall Street community, of competent financial management. That translates into what is known as a 'track record'. The track record of the top management of some of these upstarts was that five years before, they were students. They had limited experience managing what had been until recently a MUCH smaller company (never mind the explosive growth under their management).
After much unsubtle prompting by the bankers and financial analysts, the former students are pushed aside and replaced by professionals. Ones with a 'track record'. How do you find a 'track record' in a personal computer field that is only five years old? You don't! But there ARE a lot of experienced professionals working with what, to a banker or analyst, looks like the SAME THING as a personal computer. You got it, the minicomputer types. And, being experienced, successful (in the minicomputer world) professionals, they are utterly convinced that the ways of doing business in the minicomputer world are the laws of the natural universe.
To a minicomputer type, a minicomputer which has seventeen applications programs available for it is described as 'HEAVILY SUPPORTED'. You tell the owner of a Pet, Apple or Trash 80 that a particular personal computer has a THOUSAND application programs available and they will reply, "Oh? What's wrong with it? Isn't it a popular machine?"
A personal computer company under minicomputer type management recently released a new personal computer which was supported by an electronic spread sheet (which existed), a text editor (which did not exist) and an emulation mode (which mostly didn't work) for an earlier, successful personal computer. For some reason, this new personal computer has not been wildly successful. Can you guess why?
Let's talk about another outfit, a large organization which is sort of an electronic AKRON. Instead of temple bells and wicker throne chairs, they sell electronic widgets. Like AKRON, they are willing to try new and different widgets on a low budget basis to minimize their potential losses. So when one of their engineers proposed offering an inexpensive home computer as part of their line, they reluctantly consented (after trying to turn the thing into a kit; management had vaguely heard of something called an Altair). So they put two engineers on the job with a budget of approximately eighty-seven dollars and promptly forgot about the project. Remember, this was just ONE electronic widget for a company that sells MANY varieties of midgets.
Two or three years later, it finally came to managements' attention that a particular widget was accounting (pun intended) for nearly half of their gross income (and, it is rumored, MORE than half of their NET income). Naturally, they asked just what this widget was. Upon being told that it was a computer, they decided to hire a few computer professionals to make the operation more prosperous!
The most recent action by these professionals is to introduce a 68000 processor upgrade for that computer model in their product line which most resembles a minicomputer (but NOT for the smaller model in their line with vastly greater sales!). THEN, in classic minicomputer style, they decided that the processor chip was so powerful that it could service not one but THREE users simultaneously. Gentlepersons, we submit to you that refusing to give EACH user his or her own individual, undivided processor chip is prima facie evidence of utter contempt for the customer. And utter contempt is ALL that a minicomputer type has for us personal computer types!
Our problem is that the minicomputer types are going to REMAIN in control. The bankers and analysts will see to that! So you ire going to see more and more introductions by personal computer companies of products which LOOK a lot like minicomputers and which are MARKETED like minicomputers. Electronic Darwinism is going to solve this matter in the long run, but in the long run we are all dead.
HOW ARE MAINFRAME COMPUTERS MARKETED?
In the mainframe computer game what happens when Ajax Industries' computer can no longer handle payroll and accounts receivable? Let us call the throughput of their present computer 1. They call their friendly mainframe computer salesman to discuss a larger computer. The friendly salesman states that he can provide a computer with a throughput of 2 for the bargain price of only 1.6 times that of their present computer. The 'price' is often the LEASE RATE in the mainframe game, of course.
This increase might be achieved by replacing the computer, but most upgrades are accomplished by adding more memory, larger and faster disk drives, faster printers etc. Ajax just wants more throughput and is perfectly willing to let the friendly computer salesman determine HOW that is accomplished.
How much did it cost the employer of the friendly computer salesman to double the throughput of the computer? YOU ARE NOT PERMITTED TO ASK THAT QUESTION! To ask such a ridiculous, irrelevant question in mainframe circles is gauche! What is being sold is PERFORMANCE.
We have a friend who used to work for the disk drive division of a mainframe computer manufacturer. They made three models of a particular hard disk. The first model had ONE unit of storage, the next model TWO units and the biggest model had FOUR units of storage. The prices were $17K, $23K and $29K respectively. Switching from the $17K model to the $29K model MIGHT be a major portion of a 2 to 1 performance upgrade for a small mainframe.
You may be interested to know that the ONLY difference between the three models was (and is!) the presence or absence of two jumper wires.
HOW ARE MINICOMPUTERS MARKETED?
Minicomputers are traditionally marketed EXACTLY like mainframe computers. This means that the price of the minicomputer is determined by the price of earlier models with similar performance. Since the silicon fabricators are constantly providing the minicomputer boys with bigger, better and cheaper tools, minicomputer organizations can ALWAYS come out with a new model that is better than their competitor's last years' model. Better means faster, with a significantly lower parts cost.
In fact, because prices of the integrated circuits which dominate the manufacturing cost of a minicomputer generally decrease steadily, the competitor's costs will be lower also. Naturally, BOTH companies DROP THEIR PRICES to reflect their lower costs, right? If you answered YES to that last question, leave the room! Minicomputer manufacturers drop prices once every third blue moon, or when absolutely forced to by the competition, whichever comes first. Since the competition sells the same way, price cuts don't happen often!
Let us return to OUR field of interest, personal computers, and see how this attitude works. When the Apple II was introduced, 16K dynamic RAMs were pretty expensive. The list price difference between a 16K and a 48K Apple II reflected this actual, honest difference in cost. By the time 16K RAM prices started dropping, the minicomputer boys had taken over Apple management. Therefore, Apple did NOT correspondingly drop their prices for the 48K.
This had the absolutely predictable result: Apple dealers started buying 16K Apple IIs and stuffing the other 16 empty RAM sockets themselves, and selling the Apples as 48K models (usually at a substantial discount below the list price for a 48K Apple II). According to an Electronic News article at that time, Apple management reacted by shipping 48K Apples exclusively. When some dealers protested that they had already ordered 16K versions, orders that HAD ALREADY BEEN ACCEPTED by Apple, they we told that they could get delivery of 48K Apple IIs NOW. Delivery of the 16K models already ordered WOULD be made ... some day!
To this day, the only version of the Apple II being shipped is the 48K! The 16K model isn't even listed anymore.
IT'S NOT JUST THE APPLE COMPUTER CO! All personal computer companies ran by the minicomputer types operate the same way.
YOU CAN'T ARGUE WITH SUCCESS? Look, guys: the most successful personal computer ever made was the Trash 80 Model 1. The selling price of that computer was precisely determined by its manufacturing cost (and vice versa). The second most successful personal computer was the Apple II, which was introduced at a price determined exclusively by its manufacturing cost. The third most successful personal computer was the Commodore Pet, which was introduced at a price determined by its manufacturing cost. Are you beginning to get the idea?
And ALL THREE of the three most successful personal computers were born independent of anyone with a minicomputer background. Regrettably, there are now signs that the three companies which introduced those personal computers have been taken over, in part, by the minicomputer crowd. What products have the minicomputer types introduced at these companies?
APPLE COMPUTER has introduced the Apple III. Please, ladies and gentlemen, restrain yourselves! That's ENOUGH thunderous applause!
TANDY introduced the TRS 80 model II, which is an Altair-Imsai clone WITHOUT the S-100 bus structure. Or perhaps you have never seen a 4MHz Z80-based computer with 64K dynamic RAM and one or two 8 inch floppy disks which has a 24 X 80 CRT and runs CP/M? (Come to think of it, junking that S-100 bus wasn't such a bad idea.)
Tandy his subsequently added a 68000 processor to the model II (good), but then they turned around and gelded it by placing three users on that one 6 MHz CPU.
AT COMMODORE the minicomputer influence is less visible; you have to know where to look. In the case of your faithful newsletter editor, the evidence is quite literally both in front of his and also under his hand. You see, this is being typed on a CBM 8032. The 8032 has a bill of materials within $10 of another (Pet) model which sells for $995 (the 4016). But the 8032 bears a list price of $1495. Why the extra 0500? My DEAR fellow, this is a BUSINESS computer. BUSINESS computers are EVER so such more valuable than those (ugh!) TOYS. Even if the TOY computer is essentially IDENTICAL to the business computer!
The fact is, the 8032 was ORIGINALLY slightly different from the 4016/32; it used a larger video monitor and used a CRT controller chip (the 6545). The larger monitor was needed for the 80 column display; the 4016/32 displayed only 40 columns and so used a such smaller CRT (and had no controller chip).
What happened was that a poor, ink-stained wretch of an accountant trembled his way into Jack Tramiel's office and, stuttering fearfully, confessed that the larger monitor on the 8032, with its associated CRT controller chip, was CHEAPER to manufacture than the SMALLER monitor on the 4016/32.
The 4016/32 (now called the 'FAT 40') is NOW made using the EXACT SAME circuit board assembly and video monitor as the 8032 (nobody has ever called Jack Tramiel dumb)! But can anyone give us a non-minicomputer explanation why the 8032 costs $500 MORE than the 4016?
In YOUR opinion, gentle reader, would the 8032 be more of a sales success at $995 than it has been at $1495?
WHY DO WE PUT UP WITH THOSE MINICOMPUTER RAT FINKS? They are NOT rat finks! They are solid taxpaying citizens, own their own homes, and are mostly kind to their wives and children. They have learned how to be successful in the minicomputer world and are doing their best to apply that knowledge in what seems to them to be an essentially identical market area (small computers). The problem is, the market area is NOT identical!
In the very first hour of 'Economics Made Simple' at DumDum College for the Retarded, we learned about something called 'price elasticity'. If you can sell a LOT more of something by dropping its price, that something exhibits high price elasticity. We would like to tell you MORE about this, but we flunked out after that first hour.
Minicomputers are purchased to solve a particular problem, to fit a specific application. Absent the problem or application, NO SALE! Therefore, dropping the price would NOT lead to significantly greater minicomputer sales. This is why the marketing philosophy of the minicomputer world is the way it is. Incidentally, the environmental noise monitors we sell for around $8000 apiece are also products which show virtually NO price elasticity.
Most personal computers are NOT sold to solve a particular problem or to fit a specific application. While there are MANY 'justifications' (mostly to the female head of house) why a person buys a personal computer, most are in fact purchased as a whim, for the hell of it. To be honest, the personal computer is an impulse item! Therefore it is a product with VERY high price elasticity! (While it is ALSO a fact that personal computers are USEFUL and can be applied to PROFITABLE TASKS, this is something which is generally discovered AFTERWARDS.)
It is also true that once a lot of application software becomes available that a significant number (but MUCH less than half) of the personal computers purchased ARE bought for specific, useful tasks. But the FIRST Pet, Apple II or Trash 80 has NOT sold for any immediately useful purpose!
We once gave a talk on the 68000 for an Apple user's group. Several professional programmers, University professors and such attended the meeting. Before we begin our talk, one of the members set up his equipment and loaded the program which was to be his contribution to the group on the table behind the speaker's stand. So, we gave our talk with a HIRES graphic image of Donald Duck as a background!
THE PRICE OF THE 68000 HAS JUST DROPPED PRECIPITOUSLY! Also, the price of our static RAMs just dropped, but by a smaller amount. Naturally, we are going to keep the existing prices, enhancing our profit margin? No, we SAID (in this newsletter) a long time ago that the 60000 was TEMPORARILY high priced. In fact, that was the reason for our unconventional) decision to sell the board with or without the 68000. The price of the 68000 has ALMOST descended to the point where we will (logically) abandon that policy.
DOWNHILL CITY: We bought our first two 68000s for $249 each. When we shipped our first production Dtack Grounded boards, the price was $189. When we mailed the last newsletter (three weeks ago as this is written), the lowest price we had paid was $125. Two weeks ago we bought five units for $85 each. Since then, we have been promised by an authorized distributor for one of the 68000 sources to sell us units for SIGNIFICANTLY less than even $85! We are not going to reveal that price it this time because we don't want to chance queering the deal! So, here is our new price list:
DTACK GROUNDED PRICING: RAM WITHOUT WITH 4K $495 $595 12k $543 $643 28K $639 $739 60K $831 $931 92K $1023 $1123
In the list above, 'without' means, naturally, without the 68000. If you want to buy one yourself and plug it into an empty 64 pin socket, on a board that has been tested and is warranted (without YOUR 68000) for a full year, choose from that column. Like we said, this now makes less sense. In fact, unless you ALREADY HAVE your 68000 (or can get one free) it is DUMB!
LOOKING BACKWARDS: It is interesting to note, if you will refer back to page 10 of newsletter #2, that the premium for the 68000 has dropped from $275 to $100, while the premium for 92K RAM vs 4K has dropped from $850 to $528. Clearly, the premium for the 68000 CAN'T drop such lower; even if they GIVE the things away most of the price drop has already occurred! While there has been a significant drop in RAM prices, there are still (we hope) some further savings to be had in that area because we think the static RAM prices (our cost) are headed towards $5 soon and $3 in another year or so.
THE CONSTANT: The basic $495 hasn't changed much because the costs in that area haven't changed: PC boards, connectors, sockets, LSTTL support chips, the printing costs of the (many pages of) source code, the disks etc. This price will CONTINUE not to change!
SO WE DON'T HAVE THE SELF-DEFEATING ATTITUDES OF THE MINICOMPUTER CROWD, RIGHT? Wrong! After careful consideration of several conversations we have had recently with members of the personal computer user community and after reflecting on WHAT WE RECENTLY WROTE OURSELVES in the preceding pages (this newsletter accumulates over a period of weeks) we have decided that we are building the wrong product! The wrong product, that is, for the GENERAL personal user community.
The background of your faithful newsletter editor has been in the design and production of quality, high performance instrumentation. Before we built $8000 environmental noise monitors, we built test equipment for inertial guidance applications (ICBM class). Two OTHER Digital Acoustics employees come from that same background.
We have just criticized the minicomputer types for applying marketing techniques which were successful elsewhere but are inappropriate to the personal computer market. We have been doing the SAME THING in the Dtack Grounded 'division' of our company! The current Dtack Grounded boards feature quality, high performance and high reliability. Well, we have found ourselves in the position of a restaurateur who discovers he can make more money from female mud wrestling than from fine French cuisine!
We have decided that the applications of an attached 68000 processor falls into four general categories:
A) A working 68000 board for the professional who wants to learn about the most important microcomputer of the future.
B) A VERY FAST graphics processor, with lots of memory, for the game players.
C) A fast text handler capable of holding a VERY large text file.
D) A fast number cruncher with enough precision (number of decimal digits) to be useful in business and scientific circles, and which can be even faster with an attached 8087.
Category (D) people need the board we are NOW making. Persons in the first three categories need a CHEAP 68000 unit with lots of cheap dynamic RAM, even if that dynamic RAM is (without expensive error-correction circuitry) prone to occasional errors. These occasional errors are called 'soft' errors because they go away as soon as the memory location is written into again.
WE ADMIT THAT MAKING A PRODUCT WHICH WE KNOW WILL HAVE ERRORS is as foreign to us as is dropping the price to the minicomputer guys. But we are going to do it!
We are going to build a board using 64K dynamic RAMs. Parity checking will be OPTIONAL! (Let us note that even parity checking can't do anything about an error but at least you will know when one occurs.)
Those 128K and 256K memory expansion boards for the Apple II do NOT use parity detection. The new IBM personal computer DOES use parity detection. The new 68000 attached processor we are going to build will, reliability-wise, fit right in with that group of equipment.
BECAUSE CHEAP IS IMPORTANT, we will cut back on a few frills that we will keep for our current products. Frills like free future software updates, lots of printed pages of 68000 source code, etc. (Printing and shipping that code is darned expensive). We WILL make that source code available, but as an option with a separate price tag. We will also cut the warranty period back, for the dynamic RAM board products only, to 90 days, the industry standard for this level of product.
While we have not yet 'costed out' the new design, we CAN tell you that a 252K non-expandable version will cost LESS THAN HALF the price of a full 92K static RAM board AND a 128K expansion board (208K total). Translation: the price will be less than $1000, maybe SIGNIFICANTLY less. We will also have a 124K version for even LESS money! By the way, our 128K expansion board layout is now definitely under way. The price will not be more than $995. It will also not be much LESS than $995 until the RAM prices drop some more.
THE DELIVERY OF THE NEW BOARDS will optimistically be in July, realistically in August. If you are a category A, B or C personal computer user and you want a 68000 attached processor for your personal computer, do not buy a board until then. If you are a category D type, you can buy any time, since you will NOT (unless you are crazy) want one of the new boards.
LET US MAKE THIS PERFECTLY CLEAR: Anybody who would use one of the new boards we are bringing out for big dollar financial reports or for the structural analysis of a highrise building is absolutely INSANE! DON'T DO IT!
COMPATIBILITY IS IMPORTANT: The new boards will be COMPLETELY compatible with the old ones on the 68000 side. The 6502 side will have to go to FULL handshake since the dynamic RAM version will use a software refresh scheme with interrupts. Dtack will NOT be grounded (gasp!) because the CYCLE time of dynamic RAM is too slow. The resulting speed degradation (we will still use 8MHz 68000s) will be about 15% for the 'wait state' required by the dynamic RAM and another 3 to 5% for the software refresh.
The nice thing about two different but software compatible board systems is that you can get a highly reliable version when you need it but you ALSO have a nice cheap version available when THAT is appropriate!
Anyone who knows anything about marketing knows for a fact that we have just committed a GIANT BOO-BOO! One NEVER reveals the plans of future products which will impact the sale of current products. How is one to meet the current payroll, after all?
Simple. We are primarily in the business of building environmental noise monitors. Because we build a quality product, and because we have steadily improved the instrument over the years, our noise monitor is in demand. At this moment, our BIGGEST problem is that we are having a tough time building enough noise monitors to meet the demand!
Every day we pick up the newspaper and read of worsening economic conditions. Electrical engineers are actually being laid off in this area, something that is UNHEARD OF in Orange County in recent years. On the other hand, our business is prospering. We have more money in the bank than at any time in recent memory. We are current with our bills and are even taking the 1% net 10 terms offered by many of our suppliers. Part of this is, of course, because we are selling lots of noise monitors.
However, another part is due to the fact that, in the past five months, we have had Dtack sales in a dollar amount equal to more than two month's noise monitor sales. And since the noise monitors pay all the salaries and overhead, the Dtack sales are pure profit. The fact that Dtack Grounded AS AN INDEPENDENT ENTERPRISE would not be carrying its own weight is irrelevant; Dtack is NOT an independent enterprise!
We made the decision some years ago that we were going to make a living doing something that is FUN. Developing that advanced noise monitor was fun for a few years because we were constantly changing and improving it. But for the last year, that monitor has been a MATURE PRODUCT. Meaning that we have difficulty thinking of ways to improve it.
So we looked around for new worlds to conquer. Now, we admit that there is more money in aluminum siding or defrauding widows and orphans, but we were fascinated by that big 64 pin integrated circuit and its (16 each) 32 bit registers. We decided that the market window was right for a 68000 product. We STILL think we hit the window at the right time. (It is possible we did not hit the window with the right product, however.)
And by concentrating on an attached processor for existing personal computers we have protected ourselves from the ALL-OUT WAR that is about to be fought between the one or two hundred purveyors of stand-alone 68000 systems. By selling our board factory direct, we have avoided the retail markup which results in the manufacturer receiving, at best, 60 cents on the dollar. This means that it will be virtually impossible for anyone to build an equivalent product for a lower RETAIL price.
We think Dtack Grounded has very good future prospects, even if Dtack will sometimes NOT be grounded!
As you know, we had promised to send a copy of a letter written last June to the people who renewed their subscriptions. The problem is, TWO people have been stuffing envelopes with issue #7 for renewals and only ONE of them was adding the letter in question. If you received issue #7 WITHOUT the letter, please accept our apology. Drop us a postcard and we will fire the letter off right away!
Many of our readers will remember the anonymous letter we received last fall and which we subsequently published in newsletter #5. We slightly censored the letter because one part of it corresponded entirely too closely to our G-2 with respect to Apple Computer's future product plans. We thought at the time, and still do, that the writer was a technical employee of Apple, young enough to pop off about their future plans (but canny enough not to leave his name on the letter!).
What we forgot to tell you at the time was that we further protected that individual. We had our secretary, Ms. Kathy Meziere, copy the letter word for word using her own handwriting. She did a marvelously exact copying job, including duplication of crossed out words and letters and the occasional overwritten letter. However, the handwriting is HERS ALONE! We DO hope none of the personnel offices in the San Jose area spent too much time trying to match up the handwriting!
Here is the exact process we followed: After Kathy had finished copying and we had proofread the copy, we had two more employees compare the original to the copy and also inspect the envelope which the letter came in (bearing the San Jose postmark). That being accomplished, your faithful newsletter editor PERSONALLY BURNED both the letter and the envelope in the presence of the other three witnesses. NO DIRECT COPY OF THAT LETTER EXISTS! Before we went to print, we made sure that there was NO WAY, even with a court order, to identify the letter writer.
A couple of readers have speculated that we printed the letter to 'get at' the writer. As you can see, that was not the case. We even agreed with everything the writer said except the conclusions. Let us point out that six months have now passed and there are NO other 68000 boards for the Apple out there. Those major companies had better get BUSY in the next six months, right?
In the list issue we brought you the most up-to-date information we had on the 8087. Unfortunately, that information was largely incorrect. In the spirit of last issue's report, we are going to tell you HOW that happened.
The telephone conversations with the Intel representatives and with the Hamilton sales person occurred as described. The Tony Hamilton Calendar exists. It is even tackier than the description we gave it, if you can believe that. The sales person did have a price and delivery on a C8087-3. Her data also showed a C8087-5, for which there was no price and no delivery. Knowing that the clock rate of the math processor is critical, we BOTH assumed the -3 meant 3MHz.
By the time we were getting ready to go to the printers those phone conversations were two and a half months old. Therefore, we called the 8087 product manager at the Intel factory to verify the basic facts of the story. He was not in, but he DID return that first call, at a time when WE were not in.
THE PERPETUAL CONFERENCE: We placed two additional phone calls over the next three days. The 8087 product manager was 'in conference' both times, and NEITHER call was returned. Because we had had secondary reinforcement of our 3MHz story through conversations with knowledgeable technical types at other companies (and also because we felt that the refusal to return phone calls meant that the product manager didn't want to discuss bad news) we went ahead with our story.
CORNERED AT LAST: After going to print, we CONTINUED to try to contact the 8087 product manager. Finally, at 4:30 PM on the Thursday before Good Friday, the product manager answered the phone personally (apparently his secretary had left for the weekend and could not tell us that the product manager was 'in conference'). Here is the latest official word from Intel:
Virtually EVERY Intel digital integrated circuit which operates off a single 5 volt supply is specified with a 10% supply voltage tolerance. The early specification sheets for the 8087, which is a single power supply part, naturally specified a 10% supply tolerance.
Well, the latest mask iteration for the 8087 works.
That is, all instructions execute correctly. The part also runs at FIVE, not three, MHz. However, the part will NOT do this over a 10% power supply range. The power supply had to be restricted to within 5% of the nominal five volts.
Now, holding a 5% tolerance on a five volt supply is not a major problem (it DOES require a small amount of care). But Intel had published all those spec sheets which called for a 10% margin. Since the current production part DOES NOT MEET THAT SPEC, nit-pickers (not us) could state that a claim the current production part worked and met all specs was, um, not in accordance with the facts.
ORWELLIAN NEWSPEAK: Therefore, the current production version was given a -3 part number and the 10% voltage tolerance device, WHICH DOES NOT EXIST, was given a -5 part number! Unfortunately, a lot of people, upon hearing that the new 8087 mask worked, assumed that the -3 meant 3MHz and the -5, for which there was (and is) no price and no delivery date, meant 5MHz. In addition to the Hamilton sales person, we discussed the 8087 with three other personal computer technical types who had made the same assumption.
8087 AVAILABILITY: According to the Intel representative, about 20,000 8087s have been shipped already. We called Hamilton, armed with the new information, and discovered that they had an iAPX 8086/20 on the shelf. The price was a couple of pennies over $500. While we have no way of confirming that 20,000 figure, the fact that a local distributor has product sitting on the shelf proves that anybody who wants an 8087 bad enough to pay $500 for one can do so!
IT'S BREADBOARD TIME AGAIN: Last issue we told you that we had no interest in a 3MHz $460 8087. This issue we tell you that we have a keen, IMMEDIATE (but AFTER the dynamic RAM version of our 68000 board!) interest in a 5MHz $500 8087! It's time to dust off the old 3M breadboard again, the one we wrote about in that letter of Jun 28 (Ron, we're going to get the power supply and bypass capacitors in place FIRST this tim!).
A NEW INFORMATION CHANNEL? When a new high performance integrated circuit comes along such as the 8008, 6502, 68000 and 8007 a newsletter or magazine (or both) usually pops up to disseminate information on that part. In the case of the 8087, a central location to publish algorithms on the calculation of the transcendental functions (Arc Tangent, for instance) plus a library of matrix operations is needed. The IBMs and the Sirius Systems will naturally pay good money to have such algorithms developed for their own proprietary purposes. Intel will duplicate that work and, based on past performance, charge enormous sums to license those algorithms.
We have had a keen interest in the 8087 since its announcement. We suggest to our readers (that's you!) that the scope of this newsletter be tentatively expanded to include the 8087. Way back in newsletter #2 we explained why we think the 8087 and the 68000 will naturally work well together. We STILL feel that they will work well together. On the other hand if YOU can think of some compelling reason why we should NOT include coverage of the 8087, fire up your word processor and share your views with us.
THE FOLLOWING INFORMATION IS TENTATIVE: We plan to develop a board which will attach to our 68000 board via the expansion port. Because of the temporarily high price of the 8087, we will offer this board for sale fully built and tested, but without the 8087 and its clock generator in their sockets. We should be able to sell this board for three to four hundred dollars, depending on the details of its' design. This means you can fire up a working 8087 board, using YOUR 8087, for $800 or $900 initially, less as the price of the 8087 inevitably drops.
THREE HEADS ARE BETTER THAN TWO: Because the expansion board is fairly large, there will be room for TWO 8087/8086 combinations. So, unless something happens to change our mind, the board will have provision for TWO math processors. In certain complex operations, such as inverting a very large matrix, the 68000 can fetch and store operands faster than even an 8087 can handle. Therefore, TWO 8087s would result in double the throughput at the system level.
If the system costs $500, paying $500 (buying a SECOND 8007) to double the system throughput seems like a good idea. Of course, most of us will not need that capability at first. But it will be nice to have those empty sockets sitting there when the 8087 price drops below a hundred bucks!
In fact, YOU might be interested in buying an 8087 board when the price drops to that point. We do NOT anticipate selling large numbers of the 8087 board immediately any more than we anticipate selling lots of memory expansion boards immediately.
By the way, most of the report on the 8087 and attached math processors in general in the last issue remains valid. For instance, in the last sentence of the first paragraph on page 4, substitute '5MHz' for '3MHz'.
GREAT MINDS THINK ALIKE, PART II: You have probably noticed from the last two issues that we have settled upon 3-D graphics packages as something which will CLEARLY demonstrate the processing power of the 68000. It was VERY INTERESTING to learn from the 8087 product manager that Intel his settled upon a 3-D graphics package to demonstrate the 8087!
Several persons who have seen the 3-D graphics demo written up in the last issue have suggested turning it into a version where the operator can 'fly' the object (which slightly resembles in F-106 Delta Dart) using a joystick accessory. To us it seems that a joystick is too limited to do a realistic job.
Let us assume you are a Sunday flier with a small, single-engine monoplane at 7000 feet and wish to make a left turn. The non-fliers among you will assume that the RUDDER is used, like on a boat, to turn. WRONG!
The pilot of a small private plane controls the rudder with BOTH feet (push with one foot to move the rudder one way, push with the other to move the rudder the opposite direction). The left hand controls the throttle (that's the accelerator for you ground-pounders). The right hand controls a joystick whose forward and reverse motion controls the elevator (which is NOT used to make the plane go up or down!) and whose side-to-side motion controls the ailerons. Ailerons are hinged sections of the outer rear part of each wing. They work in opposition; when one goes up, the other goes down.
Having set the scene, here's how to perform a left turn: We move the joystick to the left. This raises the left aileron and drops the right aileron, causing the airplane to bank to the left. RIGHT rudder (opposite the turn direction) is applied to hold the nose up. Once the desired degree of bank is achieved (this controls the rate of turn), the joystick is returned toward neutral, being held just enough to the left of center to retain the desired degree of bank. The airplane will fly itself around in a nice circle. When the desired new heading is achieved, the ailerons are used to resume level flying, and the turn is completed. One does NOT hold out the left arm to signal the turn!
Assuming the airplane was in straight and level flight prior to the turn, altitude will be lost DURING the turn (because the lift of the wings is no longer straight up) unless the throttle is advanced. For a Sunday flier at 7000 feet this is inconsequential. If for some reason the pilot is at a low altitude, the procedure is to advance the throttle FIRST and THEN turn!
You probably thought that the way to gain altitude is to pull back on the joystick. WRONG! This will cause a SMALL temporary gain in altitude and a LARGE loss of speed. When the aircraft loses enough speed we have what is known is a stall (the airplane drops out of the air). At 7000 feet the resulting dive will regain flying speed before the flight path of the aircraft coincides with the surface of the terrain. When a stall occurs at a low altitude it is usually fatal.
Inexperienced beginning pilots are killed every year on takeoff by forgetting and trying to gain altitude by pulling back on the joystick. The way to gain altitude in a small private plane is to maintain level flight and PUSH THE THROTTLE FORWARD.
(It is understood that high performance aircraft such as an SR-71 Blackbird or the Saturn B-5 booster used on the Apollo moonshots are flown using different principles.)
If a private plane is flown using a joystick, throttle and rudder combination, how do we simulate this using a joystick alone? WE don't know how! Maybe some of YOU out there would like to try?
Now, we have NOTHING against joysticks. We DON'T EVEN SMIRK when we see that Datamost advertisement which shows a VERY feminine arm with the hand FIRMLY grasping a joystick!
Datamost has another interesting advertisement which is running currently. It shows a fiendish type at a terminal, and states that there is NO MORE DR. JECKYL due to the nice book written by Randy HYDE. Doesn't anyone read Poe anymore? Dr. Jeckyl was the GOOD guy; Mr. Hyde was the rotten so-and-so!
NO DMA? Speaking of Randy Hyde, he dropped in while we were in the middle of writing the 3-D demo package. We showed him drawings of the object and described the operator control, including the fact that we would be doing the three dimensional rotation using floating point, NOT a limited number of angular values in a look-up table. When we asked him to estimate the time to generate each new frame, he stopped to do some figuring rather than provide a snap judgement. The figure he can up with was 0.8 seconds per frame, with MOST of the delay due to the lack of DMA on our board.
Well, he was right about the lack of DMA (he has a Dtack Grounded board) but since the frame update rate happened, by coincidence, to come in at exactly ONE TENTH of his estimate (0.08 seconds per frame for 12.5 frames per second) it is fairly obvious that the lack of DMA is not so debilitating as ALTOGETHER TOO MANY people think! Incidentally, we are using Randy's name here with his permission; Randy is a good sport.
SHARED MEMORY? We have also been asked, since we did not elect to use DMA, why we did not at least use a shared memory area? The reason is, simply, that the method we DID adopt is FASTER than using a shared memory! A large data block being transferred using a shared memory area would require the 6502 to execute LDA IN,Y ; STA IN,Y ; INY ; BNE. The method we actually use requires the 6502 to execute LDA IN,Y ; STA ABS ; INY ; BNE (sending to the 68000). Since a STA ABS executes faster than STA IN,Y the method we use IS, like we said already, FASTER than using shared memory.
What if we wrote directly into shared memory without software intervention by the 6502? That is NOT shared memory, that is DMA. And we chose, after careful consideration, NOT to use DMA.
We believe we can safely state that, ON AVERAGE, Randy Hyde knows a LOT more about 6502 and Apple programing than YOU, dear reader, do. If HE underestimated the speed of our 68000 board by a factor of ten, perhaps YOU should reconsider ALSO (if you are hung up on DMA)?
When using a second microprocessor as the I/O handler, it is VERY IMPORTANT not to upset any time-dependent I/O function. DOS 3.3 is one such function. Some printer driver routines written in machine language are time dependent; in fact MANY I/O functions are time-dependent. DMA is absolutely guaranteed to foul up any such application. We carefully designed the Apple-68000 (and Pet-68000) interface to operate as swiftly as possible while permitting the 6502 to perform I/O functions undisturbed.
An auxiliary benefit is that 68000 code is more readily transportable between different host processors if a common interface method is used. It seems that the first working (if not COMPLETE) FORTH for our 68000 board is coming by way of the Pet/CBM. The first machine language 6502-68000 cross assembler is coming by way of the Apple.
If you have an Apple II and you have, or are thinking of buying, a Dtack Grounded board, it is important to YOU that WE tap into the TRASH 80 community eventually. And, as soon as we have enough useful 68000 software, we are going to give that a try. Tandy is giving us all the help they can by concentrating their 68000 efforts on their minicomputer-like model exclusively.
The fact is that the more interested users we have, the more software will be generated. That is a SECOND reason for staying away from device-dependent DMA.
HERE IS A THIRD REASON: To use DMA from our 60000 board into the Apple II's memory space, it is necessary to un-ground DTACK (pin 10 on the 68000) and put in the necessary circuitry to synchronize the two devices for each DMA transfer. That complicates things and costs money. Worse, it opens Pandora's box of woes, miseries and tribulations.
Once we un-ground DTACK, we can now add that 300 baud RS232 port which the 68000 OBVIOUSLY desperately needs.
Now we will (naturally) want to add a keyboard, a memory-mapped CRT display ... hmm; maybe we don't need that Apple II after all ... if we add a second DMA channel, we can drive the PDP 11/70 out of business ... if we add fifteen more user ports, WE CAN CONQUER THE WORLD (in 1985, we have a lot of engineering to do)!!
The point we are trying to make, guys, is: where does one stop? By grounding DTACK we were able to produce a real, working 68000 board in 1981, not 1985. In addition, there are a hundred companies out there busy designing DMA channels with the 68000 to conquer the world. At least 99 of them aren't going to make it.
SPEAKING OF CONQUERING THE WORLD, is LISA going to be the FIRST 16 bit based personal computer to succeed WITHOUT an attached DOWNGRADE processor? For the benefit of those refugees who have just arrived from the Falkland Islands, LISA is Apple Computer's famous invisible 68000 based personal computer. Anybody who would like some advance information on LISA's operating system should go back to our newsletter #5 and re-read that anonymous letter. Then read the description of the Xerox STAR in April '82 BYTE magazine. Mix well and bake until NCC in June.
OUR complaint is that YOU aren't complaining! We have FIVE file folders of DTACK GROUNDED correspondence. Much is of a purely technical nature. But in all those files, we have two letters last summer from G.L. of New Jersey, one anonymous letter (reprinted in issue #5) and a five-megaton missive from our ONE female subscriber (who objected to receiving a handwritten note signed "CHIEF M.C.P."). That is all the negative correspondence we have received.
Although we SURELY damaged some sacred cows in newsletter #4, pages 9 through 14, we received NOT ONE WRITTEN COMPLAINT (!) but we DID receive a number of written compliments! (We did receive some VERBAL complaints from sacred cow-herders). What are we doing wrong? The fact is, NEGATIVE feedback is the most useful single form of communication to a newsletter editor. G.L.'s main objection, that he did not wish to PAY for our SALES literature was not only a valid point but has helped shape the nature of this newsletter. We try hard to put $15 worth of information which is independent of our product in each volume of 6 issues.
We even went so far as to print the infamous final pages of newsletter #4 on YELLOW paper, and received NOT ONE COMMENT on that. Hasn't anyone out there heard of yellow journalism? (Actually, most of the people who contacted us had WHITE photocopies!)
Won't some of you sit down and write us a nasty letter?
(The following has been moldering in a text file since before last Christmas; either we print it now or throw it out! We're printing it now.)
THINGS TO DO IN '82: Here are four excellent ideas for the new year:
Ideas 1, 2 and 4 are so obviously excellent as to preclude discussion. Some of our readers may not be as familiar with the important benefits provided by virtual memory, so here is
AN INTRODUCTION TO VIRTUAL MEMORY: Briefly stated, virtual memory systems treat the storage capacity on disk or tape exactly as it does the random access memory (RAM). A system which physically has a 40 megabyte disk and 64K RAM appears to the programmer to have 40 megabytes of RM. And WHO, we ask, would NOT like to have 40 megabytes of RAM?
CACHE AS CACHE CAN: The way this works is to use the available RAM as a "cache". That is, the most recently accessed portion of the disk resides in the "cache". When the program saves off the small portion of the disk which is currently residing in this cache, the system must identify the fact and save the cache to disk and reload the cache from the next part of the disk. In practice there are several caches: one for the program, one for the source data etc.
Obviously, the hardware needed to keep track of the cache(s) costs money, but MUCH LESS than 40 megabytes of RAM! Also, there is a time penalty every time the cache has to be saved and reloaded. The time penalty can be minimized by writing the programs in such manner that the caches need be updated infrequently. Let us quantify this:
Suppose we have a system with 200 nsec RAM and a disk system which requires 20 msec to save and reload a cache. That is a speed ratio of 100,000 to 1. So if 99% of our memory fetches and starts remain inside the cache boundaries, our system will be, let's see now, carry the five... 1,000 TIMES SLOWER than with RAM alone... it seems we must have made a mistake in our arithmetic here. Just a second while we get our handy dandy TI 58 calculator.
Got it. Now, if we program our virtual memory system VERY carefully, we can be sure that 999 out of a thousand memory references are inside the cache boundaries. If we punch THAT into the TI 58 and factor in the 100,000 to 1 speed ratio, the system will run, let's see here... 100 TIMES SLOWER than a pure RAM system. Gee, that can't be right. Maybe our calculator needs a recharge?
Well, look, if virtual memory were not such a good idea it would not be used in all the really big computers, the mainframes. What's that? You say that most mainframes DON'T use virtual memory? Look, we'd really like to spend more time discussing this, but right now we are late for dinner with our cobra!
(In practice, the large computers that DO use virtual memory use a minicomputer to continuously monitor the performance, i.e. excessive cache swapping. They also maintain a staff of programmers to hopefully correct the excessive swapping when it occurs. This does NOT seem to us a good way to go for personal computer users.)
IT APPEARS THAT 68000 MICRO NEWS (the magazine) didn't make it off the drawing board. That's too bad, it would certainly have been a useful publication. The notice we received of this was from one of our subscribers who sent a copy of a cover letter indicating the demise of the publication plus the return of the $25 subscription fee. Let's hope the next startup goes better; there is certainly a NEED for such a publication.
CASCADE GRAPHICS has announced that the Pascal compatible utility routines announced in the last issue of this newsletter are now also available for the Apple III. Call Mike Ervin at (714) 558-3316.
ACKNOWLEDGEMENTS and SUBSCRIBERS ONLY: See page 14.
SUBSCRIPTIONS: You can subscribe by sending us $15/6 issues U.S. and CANADA or $25/6 issues elsewhere. Tell us which issue # to start with. Make the check out to DTACK GROUNDED. The address is:
1415 E. McFadden, St. F
SANTA ANA CA 92705
REDLANDS: You are not supposed to notice that the FIRST PAGE of Redlands is printed on white paper this month. On the next five pages we are printing the SINE, COSINE, SQR and FRAC routines used with the extremely high speed graphics floating point package printed in last month's Redlands. The SINE routine printed here is the one which executes in 370 microseconds!
SUBSCRIBER'S CORNER: We have finally found a place where we can pass along some info to you subscribers where those cheapskate photocopiers can't butt in. We are currently thinking about OTHER hardware projects than the ones already announced. Look, the 68000 is about to become a VERY CHEAP microprocessor. While Apple, Wicat and Charles River are trying to get $8000 to $20000 from you for a system containing at most TWO of these devices, what do you think about an 'expansion board' with EIGHT ea. 8MHZ 68000s, each with its own 16K of nice, reliable static RAM?
That is not as tough a job as it might appear. We have already proved that SMALL 68000 systems do NOT need data or address buffers! So, we lay out ONE of these small blocks and then use a photographic step-and-repeat to generate the other seven. Glue the photographic positives down, add the connecting data lines and VOILA!
By the time we could get the board laid out, the cost of eight 68000s would be in the $400 range! AND WE NEED NOT POPULATE ALL THE SOCKETS IMMEDIATELY!
ACKNOWLEDGEMENTS: Apple; singular, II and soft are trademarks of the Apple Computer Co. Pet and CBM are trademarks of Commodore business machines. TRS 80 is a trademark of the Tandy Corp. No one has claimed 'Trash 80' yet. PDP 11 is a trademark of the Digital Equipment Corp. Star is a trademark of Xerox. DTACK GROUNDED is OUR trademark. Who did we miss?
1 OPT P=68000,BRS,FRS 0011D2 2 ORG $0011D2 3 4 * -- TABLE USED BY COSINE AND SINE CALCS -- 5 0011D2 007EA2FA 6 SINK DC.L $007EA2FA 1/( 2 X #PI ) 0011D6 00808000 7 DC.L $00808000 1/2 0011DA 80878EF3 8 SINK1 DC.L $80878EF3 -76.7041703 (P3) 0011DE 0087A2CA 9 DC.L $0087A2CA 81.6052237 (P2) 0011E2 8086A55B 10 DC.L $8086A55B -41.3417021 (P1) 0011E6 0083C910 11 DC.L $0083C910 2 X #PI (P0) 12 13 * -- CALCULATE THE COSINE OF FPACC#1 -- 14 0011EA 4211 15 SCOS CLR.B (A1) 0011EC 24BC 0081C910 16 MOVE.L #$0081C910,(A2) FPPI/2 0011F2 4EB8 1102 17 JSR FPADD1 ADD 90 DEGREES 18 19 * -- CALCULATE THE SINE OF FPACC#1 -- 20 0011F6 48E7 1C80 21 SSIN MOVEM.L D3-D5/A0,-(A7) PUSH D3, D4, D5, A0 TO STACK 0011FA 1A11 22 MOVE.B (A1),D5 0011FC 4211 23 CLR.B (A1) 0011FE 307C 11D2 24 MOVE.W #(SINK),A0 SET POINTER TO SINE K TABLE 001202 4EB8 1154 25 JSR FPMUL MULTIPLY BY 1/(2 X #PI) 001206 4EB8 125E 26 JSR FRAC RESULT UNDER 360 DEGREES 00120A 1415 27 MOVE.B (A5),D2 00120C 6A 0E 28 BPL LTHF SKIP IF UNDER 1/2 29 30 * -- TOGGLE THE SIGN AND SUBTRACT 1/2 -- 31 00120E 0845 0007 32 BCHG #7,D5 ( TOGGLE THE SIGN ) 001212 5315 33 SUBQ.B #1,(A5) 001214 3213 34 MOVE.W (A3),D1 001216 E341 35 ASL.W #1,D1 001218 4EB8 1278 36 JSR SNORM NORMALIZE RESULT 37 38 * THE OPERAND IS NOW IN THE RANGE 0 TO 0.499999 39 * IF LESS THAN 1/4, PROCEED WITH CALCULATION, 40 * ELSE SUBTRACT OPERAND FROM 1/2 AND PROCEED. 41 00121C 1415 42 LTHF MOVE.B (A5),D2 00121E 5202 43 ADDQ.B #1,D2 001220 6A 04 44 BPL LTQTR SKIP IF X1 < $7F 45 46 * -- SET X = 90 DEGREES MINUS X -- 47 001222 4EB8 10FC 48 JSR FPSUB SUBTRACT FROM 1/2 001226 307C 11DA 49 LTQTR MOVE.W #(SINK1),A0 (RESTORE THE SERIES EVAL PTR) 50 51 * -- THE RANGE OF X IS NOW 0 TO 0.249999999; 52 * PERFORM SERIES EVALUATION, N = 3 -- 53 00122A 2611 54 MOVE.L (A1),D3 (X TO D3) 00122C 2491 55 MOVE.L (A1),(A2) 00122E 4EB8 1156 56 JSR FPMUL1 ACC = Z = X SQUARED 001232 2811 57 MOVE.L (A1),D4 (Z TO D4) 001234 4EB8 1154 58 JSR FPMUL ACC = ACC * P(3) 001238 4EB8 1100 59 JSR FPADD ACC = ACC + P(2) 00123C 2484 60 MOVE.L D4,(A2) 00123E 4EB8 1156 61 JSR FPMUL1 ACC = ACC * Z 001242 4EB8 1100 62 JSR FPADD ACC = ACC + (P1) 001246 2484 63 MOVE.L D4,(A2) 001248 4EB8 1156 64 JSR FPMUL1 ACC = ACC * Z 00124C 4EB8 1100 65 JSR FPADD ACC = ACC + (P0) 001250 2483 66 MOVE.L D3,(A2) 001252 4EB8 1156 67 JSR FPMUL1 ACC = ACC * X 001256 1285 68 MOVE.B D5,(A1) 001258 4CDF 0138 69 MOVEM.L (A7)+,D3-D5/A0 GET A0, D5, D4, D3 FROM STACK 00125C 4E75 70 RTS (SINE CALC DONE) 71 72 ************************************************* 73 * CALCULATE THE FRACTIONAL PART OF FPACC#1 74 ************************************************* 75 00125E 1415 76 FRAC MOVE.B (A5),D2 001260 B43C 0080 77 CMP.B #$80,D2 ( BRANCH IF EQUAL OR LESS ) 001264 63 1E 78 BLS FRACX ( DONE IF < 1 ) 001266 B43C 008F 79 CMP.B #$8F,D2 ( TOO LARGE FOR FRACTION ? ) 00126A 62 16 80 BHI FRACZ 00126C 70 80 81 MOVEQ #$80,D0 00126E 9400 82 SUB.B D0,D2 001270 3213 83 MOVE.W (A3),D1 001272 E561 84 ASL.W D2,D1 001274 1A80 85 MOVE.B D0,(A5) 86 87 * -- NORMALIZE MANT1 IN D1 -- 88 001276 3001 89 MOVE.W D1,D0 (TEST D31) 001278 6B 04 90 SNORM BMI FR2 DONE IF NORMALIZED 00127A 4EF8 1144 91 JMP NORM OTHERWISE NORMALIZE 00127E 3681 92 FR2 MOVE.W D1,(A3) STORE M1 001280 4E75 93 RTS 94 001282 4291 95 FRACZ CLR.L (A1) RESULT IS ZERO 001284 4E75 96 FRACX RTS 97 98 ************************************************* 99 * CALC THE SQUARE ROOT OF THE 68000 FPACC#1 100 ************************************************* 101 102 * -- THE RESULT IS ZERO IF X1 IS ZERO -- 103 001286 1415 104 SSQR MOVE.B (A5),D2 001288 67 F8 105 BEQ FRACZ SKIP IF ZERO 106 107 * -- CHECK FOR NEGATIVE OR ZERO OPERAND -- 108 00128A 1011 109 GTZ MOVE.B (A1),D0 00128C 6A 04 110 BPL POSOK NO LOG IF NEG 00128E 4EF8 0122 111 JMP IDLE (RETURN TO BOOTSTRAP ON ERR) 112 113 ************************************************* 114 * THE OPERAND IS LEGAL; PROCEED WITH SQUARE CALC 115 ************************************************* 116 001292 48E7 1400 117 POSOK MOVEM.L D3/D5,-(A7) PUSH D3 AND D5 ONTO THE STACK 001296 2013 118 MOVE.L (A3),D0 001298 1ABC 0080 119 MOVE.B #$80,(A5) 00129C 1202 120 MOVE.B D2,D1 00129E E209 121 LSR.B #1,D1 0012A0 64 06 122 BCC EVNEXP SKIP IF EVEN 0012A2 1ABC 007F 123 MOVE.B #$7F,(A5) 0012A6 E288 124 LSR.L #1,D0 125 126 * -CALCULATE AND STORE THE EXP OF THE RESULT- 127 0012A8 72 40 128 EVNEXP MOVEQ #$40,D1 0012AA E20A 129 LSR.B #1,D2 0012AC D501 130 ADDX.B D1,D2 0012AE 1A02 131 MOVE.B D2,D5 0012B0 303C FFFF 132 MOVE.W #$FFFF,D0 133 134 * PERFORM Y(N+1) = (Y(N) + X/Y(N))/2 3 TIMES 135 0012B4 76 02 136 MOVEQ #2,D3 0012B6 3200 137 MOVE.W D0,D1 (Y0 = $FFFF) 0012B8 2400 138 SQL1 MOVE.L D0,D2 MOVE X TO D2 0012BA 84C1 139 DIVU D1,D2 D2 = X/Y 0012BC D242 140 ADD.W D2,D1 D1 = Y + X/Y 0012BE E251 141 ROXR.W #1,D1 DIVIDE BY 2 0012C0 51CB FFF6 142 DBF D3,SQL1 -- LOOP THREE TIMES -- 143 144 * -- MOVE X TO FPACC#2 -- 145 0012C4 2491 146 MOVE.L (A1),(A2) 147 148 * -- FLOAT THE 16 BIT APPROXIMATION -- 149 0012C6 32BC 0080 150 MOVE.W #$0080,(A1) 0012CA 3681 151 MOVE.W D1,(A3) 0012CC 2611 152 MOVE.L (A1),D3 0012CE 4EB8 1194 153 JSR FPDIV1 ( CALC X/Y ) 0012D2 2483 154 MOVE.L D3,(A2) 0012D4 4EB8 1102 155 JSR FPADD1 ( ADD Y TO X/Y ) 156 157 * -- RESTORE THE EXPONENT OF THE RESULT -- 158 0012D8 1A85 159 MOVE.B D5,(A5) 0012DA 4CDF 0028 160 MOVEM.L (A7)+,D3/D5 PULL D5, D3 FROM STACK 0012DE 4E75 161 RTS 162 # 00000122 163 IDLE EQU $000122 # 00001100 164 FPADD EQU $001100 # 00001102 165 FPADD1 EQU $001102 # 000010F6 166 FPSUB1 EQU $0010F6 # 000010FC 167 FPSUB EQU $0010FC # 00001144 168 NORM EQU $001144 # 00001154 169 FPMUL EQU $001154 # 00001156 170 FPMUL1 EQU $001156 # 00001192 171 FPDIV EQU $001192 # 00001194 172 FPDIV1 EQU $001194