Continuing The Microsoft Tradition

Microsoft set the standard in microcomputer system software. We know more about the structure and capabilities of today's microcomputers than anyone else. And now we're using that power in a whole new way!

Announcing Microsoft Consumer Products. Distinctive software packages backed by the Microsoft name. Each is created by a top-notch programmer and comes to you fully documented, at a cost you can afford.

Microsoft Editor/Assembler-Plus." Now get every feature of Radio Shack's Editor/Assembler andT-Bug all in one package. PLUS—many "big computer" features to simplify your programming, editing and debugging. All in a low cost cassette package. Don't waste time creating both source and object tapes—Assembler-Plus assembles directly into memory. Supports macros and conditional assembly, too. Editor-Plus simplifies editing with extra commands like Substitute, Move, Copy and Extend. And Z-Bug,m the most powerful debugger ever available for the TRS-80, has single step execution, direct execution in calculator mode and symbolic references. And, you can use up to 8 breakpoints at a time, with no need to remove a breakpoint before proceeding. For the 16K, Level II, cassette TRS-80. Priced at $29.95.

Microsoft Adventure. Only Microsoft offers Adventure complete, as originally written for the DEC PDP-10, now implemented on personal computers. The ultimate fantasy/logic game, Adventure allows you to explore the depths of the "Colossal Cave',' collecting treasures and magic, solving puzzles, avoiding hazards and adversaries—including the dreaded killer dwarves. Don't be fooled by imitation or incomplete versions. Only Microsoft has it all. Adventure fills an entire disk with everything you need for your exploration. Written by Gordon Letwin, of SOFTWIN, Associates. Adventure for the TRS-80 requires a single-disk, 32K system, For the Apple II,* * a single-disk, 32K system with either the standard disk or language card system. For just $29.95.

Microsoft Typing Tutor. There's no easier way to master your keyboard! Faster and more efficient than any other teaching method, Typing Tutor helps you if you're starting from scratch or simply building speed. The secret lies in Typing Tutor's exclusive TRMT" or "Time Response Monitoring" software. TRM monitors your keyboard 20 times per second so the computer can evaluate your skill. Your speed. Your errors. Your weakest keys. Typing Tutor tells you where you stand then automatically adjusts itself to help you improve. Written by Dick Ainsworth and Al Baker of the Image Producers, Inc. For the Apple II with 16K and Apple BASIC or the TRS-80 with 16K and Level II BASIC. Priced at $14.95.

Microsoft Level III BASIC. Upgrade your Level II TRS-80 and increase your programming efficiency without additional hardware. Microsoft Level III loads from cassette tape on top of the Level II ROM. It gives you every feature of Disk BASIC except disk file commands. But that's not all—Level Ill's highspeed graphics turn your TRS-80* into a virtual electronic drawing board. And there's program renumbering, long error messages, quick shift-key entries, time-limit INPUT statements and many more features. System requirements: Level II BASIC and 16K. Occupies 5.2K RAM. Priced at $49.95.

Where To Buy. Microsoft Consumer Products are sold by computer retailers nationwide. If your local computer store doesn't have them, call us. Phone (206) 454-1315. Or write Microsoft Consumer Products, 10800 Northeast Eighth, Suite 819, Bellevue, WA 98004.

"TRS-80 is a trademark of Radio Shack Corp. * 'Apple il is a trademark of Apple Computer, Inc ," Editor/Assembler-Plus and Z-Bug are trademarks of Microsoft. TRM js a trademark of The Image Producers, Inc.



"TRS-80 is a trademark of Radio Shack Corp. * 'Apple il is a trademark of Apple Computer, Inc ," Editor/Assembler-Plus and Z-Bug are trademarks of Microsoft. TRM js a trademark of The Image Producers, Inc.

Foftt Avuuj Saue & Laad

I Barry Geller South Point, OH

If you, like I, have any programs which require the use of a large data array that must be saved to tape and reloaded when the program is again "fired up"; you have probably noticed that this procedure eats vast quantities of time (not to mention tape) when done in the standard way. The usual method (with several variations) that an array is loaded is something like the following: 10 DIM A(500,3) 20 FOR B = 0 TO 500

30 INPUT #-1, A(B,0), A(B,1), A(B,2), A(B,3) 40 NEXT B

An array of this size will take somewhere around 30+ minutes to load or store inthisfashion. Most ofthistime is taken up by the 4 second leader written ontothe tape each time INPUT #-1 is called. The transfer of the data itself takes only a small fraction ofthistime. Additionally, the internal relay must cycle each time INPUT #-1 is called. If many programs are run with large data arrays, the wear on the relay is increased significantly. Both of these problems could be eliminated if there were some means to load the array as a whole, with only one 4 second leader for synchronization.

The program which follows will permit you to do the same job in approximately 2 minutes and 10 seconds for single precision arrays and should be nearly twice as fast for integer arrays. It can be used to load or save integer, single precision, or double precision arrays. The two machine language subroutines take up a total of 64 bytes of memory; and a short BASIC subroutine is used to call the program via the USR function. FIGURE 1 shows the assembly code:

For those without an assembler, the program can be placed into high memory (assuming a 16K system) with the BASIC program in FIGURE 2, which may be a part of your main program or may be a separate program to be CLOADed and RUN before you CLOAD the main program.

To utilize the program it is necessary to construct a BASIC subroutine to pass the first and last addresses of the array to the machine language subroutine using the VARPTR function. One problem that arises is that the location of the array in absolute memory is not constant.

The TRS-80 stores arrays in memory above the simple variables. If a new (previously undefined) variable isgiven a value between the time you have obtained the location of the starting or ending addresses of the array and the time the subroutine is run, the location or the array in memory will have changed and will cause faulty results. To avoid this, the BASIC subroutine defines 4 integer variables (B1%, B2%, B3%, B4%) before using VARPTR for finding the array.

If the array is a single precision array (I will use A(500,3) as my example), the first address can be found by setting B1 % = VARPTR(A(0,0)). The last address is B3%=VARPTR(A(500,3))+3. The "+3" is necessary because a single precision variable requires 4 bytes of storage The location of the first byte is returned by the VARPTR statement, thus 3 must be added to this value to get the location of the last byte in the array.

Similarly, if this were an integer array, a "1" would have to be added to the last element's address to find the end address. A double precision array would require a "7" to be added.

Now that B1%= the starting address and B3%= the ending address; it is necessary to pass the information to the machine language program so it will "know" what area of memory to read to tape or to store from tape. Since addresses each take two bytes of memory, it is necessary to convert these numbers into their separate bytes so they may be POKED into the subroutine's address buffer. The BASIC subroutine does just that.

Finally, since there are really 2 machine language subroutines (one to record on tape and the other to read from tape) it is necessary to provide the proper entry points so that the desired half of the machine language program operates. This is done by POKEing the USR locations of 16526 and 16527 with the appropriate locations for recording or input as needed. See the BASIC program in FIGURE 3.

If you have more than one array to store, the BASIC subroutine can be modified for whatever number of arrays you may require. If you have any programs using large arrays, I'm sure you'll find this program very useful.

FromAccES|UNLiMiTED... jRS-80* Computer Owners np^^a MEGASAVINGS on


• Brand new Percom TFD-100™ mini-disk systems: Single-drive only $325.00, Double-drive only $650.00, Triple-drive only $975.00

• 16K-byte memory: eight prime 4116 ICs only $64.95.

We buy in quantity. You buy at discount. Brand new factory-warranted products from Apparat, Percom and other best-rated companies.

Percom Mini-Disk Systems

These mini-disk systems from Percom store more data, are more reliable. TFD-100™ units store 102K bytes of formatted data on either disk surface TFD-200 ™ drive systems provide 197K bytes of formated data on-line (35-track Tandy drives store only 86K bytes ) Access times are fastest possible with your Expansion Interface Heavy duty power supply — included with each drive — runs cooler, lasts longer Low noise three-wire ac power cord is safer than RS two-wire cord Multiple drive systems are mounted in a single enclosure Enclosures are finished in compatible silver enamel Prices TFD-100 ™ (40-track)

Two-Drive Add-On 7lli95

Three-Drive Add-On 1

One-Drive Add-On $ 634 95

Two-Drive Add-On 1268 95

Three-Drive Add-On 1903 95

Price includes Percom PATCH PAK ™described elsewhere in this ad

Disk System Interconnecting Cables

Improved design places drive 0, which includes the cable termination, at the end of the cable — not in the first position like the RS design — to eliminate the reflected noise of an unterminated cable and thereby improve data and control signal integrity Prices

Two-Drive Cable $ 24 95

Four-Drive Cable 34 95

Power Line Filter

Eliminates switching spikes and other noise caused by equipment sharing the TRS-80* ac power line Also reduces TV interference caused by the TRS-80 * 115/250 V, 50-400 Hz Instructions for easy installation in standard aluminum mini-box chassis Price . $ 19 95



10 Disks in a convenient plastic organizer box $34 90


These data cassettes provide orders-of-magnitude improvement in data integrity over ordinary audio cassettes Features include a pilon-coated pressure pad which eliminates lint and minimizes erratic tape motion, and an energy-absorbing foam pad that is superior to a leaf-spring-mounted pad which tends to oscillate and cause fluttering. Five-screw case virtually precludes deformation during assembly

™ = trademark of Percom Data Company, Inc

Disk System Software

MICRODOS,™ an advanced, easy-to-use operating system for TRS-80s* using Percom disk storage systems, works entirely with Level II BASIC commands MICRODOS™ replaces primitive TRSDOS*, is more powerful and faster, yet resides in only 7K bytes of RAM Up to 10 user-defined functions may be added to existing functions, and hexadecimal constants may be used in expressions MICRODOS™is supplied on a system minidiskette that also includes three self teaching BASIC language programs (1) a file management program, (2) a disk utility program — illustrating how disk utilities may be written with only a few BASIC statements, and (3) a sample application program The application program is an expandable, user accessible "notebook" of information about MICRODOS ™BASIC statements Price $29 95

PATCH PAK ™ is supplied free (on disk) with the purchase of a Percom TFD-100™ or TFD-200 ™ PATCH PAK™ extends TRSDOS* to accommodate 40- and 77-track drives. It also de-glitches TRSDOS* 2 1 With the patch applied to TRSDOS* 2 1, interference with disk operations from the TRS-80* "heartbeat" pulse is eliminated, as is premature stopping of the drive motor during operation — a problem sometimes referred to as "silent death " PATCH PAK™is applied to your system disk "on the fly" using two drives Application instructions are included Price (if sold separately) $10 00

new DOS, new DOS+ — Disk operating system corrects and improves TRSDOS* 2 1 Fixes keyboard bounce Fixes APPEND, LOC and VERIFY Fixes SYS3 bugs which crash the disk directory, and bugs which cause "Lost Data" errors Enhancements include machine language line renumbering program • faster LOAD & SAVE functions ■ space saving allocation of minidiskette granules • password disable/re-enable capability • validity check of output to disk — and more new DOS+ also includes these exceptional utilities Editor/Assembler with tape & disk I/O and output to line printer • disk-based disassembler with output to line printer • SUPER ZAP — Apparat's hex dump utility • Level I ROM located in Level II RAM • LMOFFSET for Tape/Disk transfers — and more Prices new DOS $49.95

This PC board plug-in adapter for the TRS-80* virtually eliminates data read errors (CRC error — Track locked out!) which occur on high density inner disk tracks when clock and data bits are not reliably separated during playback. This problem has plagued many TRS-80* systems. The SEPARATOR™ is installed in the Expansion Interface without modifying the host system Caution Opening the TRS-80* Expansion Interface may void the limited 90-day warranty Price $29 95

* = trademark of Tandy Radio Shack Corporation

How to Order

Order by calling Access Unlimited toll-free on 1 -800-527-4196t.

Mail orders also accepted Orders may be charged to a VISA or Master Charge account, or paid by a cashier's check, certified check or money order. We accept COD orders with 25% deposit Sorry, we cannot accept personal checks We pay shipping and insurance charges on orders over $1,000 00 Add approximate insurance and shipping charges for under $1,000 00 If in doubt about these charges, ask when you call in your order Texas residents include 5% sales tax Minimum order: $20 00 Allow 2 to 4 weeks for delivery tTexas residents ca|| (214) 494-0206

0 0

Post a comment