$3.00

TABLE OF CONTENTS BB II EPROM Program ...... 4 Big Board Fixes ...... 8 Relocating Your CP/M .... "...... 9 The Disk is the Media ...... : ...... 12 Serial Print Driver ...... 14 Talking Serially ...... " ...... " ...... 15 Pascal/Z Review ...... ' ...... 19 Bringing Up WordStar .... "...... 23 A Cheap RAM Disk for the BB I ...... 24

REGULAR FEATURES

Letters ...... 2 820 Notes ...... 10 FORTHwords ...... 14 C'ing Clearly .... " ...... 22 Technical Tips ...... 25 On Your Own ...... 27 Want Ads ...... 27 UNI FORTH is the best implementation of the FORTH language available at any price--and it is now available specifically customized for the Big Board, Big Board II, and other single-board ! Just look at these standard features:

• All source code is supplied except for a small kernel. • Versatile cursor-addressed editor. Menu driven, with You can easily modify, add or delete functions. tabulation, word delete, multi-line transfer, string Adheres to the FORTH-79 international standard. search/delete/replace. Fully optimzied for the Z-80. • Full Z-80 assembler using /Mostek mnemonics. • Stand-alone. No is needed. Excep­ Structured programming constructs and support for tionally reliable disk I/O with error checking and the undocumented index register instructions are fast access. CP/M version is also available. included.

• Full IEEE-compatible single-precision floating point • A completely revised 160-page User's Manual. Broken software. All functions are included, such as square into logical function divisions, it includes many ex­ roots, sines and logarithms. amples and its intended as a complete tutorial.

Options include: fast disk copy, formatting (variable sector size), MetaFORTH cross-compiler, games, Programmer's Manual, source code listings/disks, and much more. Prices: Version 1 (no floating point) $ 50 Version 2 (floating point) $ 85 Version 3 (multitasking) $150

Beat the February 1 price increase!

All versions distributed on IBM 3740 standard eight-inch single-density . Postage paid within the continental U.S., foreign orders slightly more. Unified Software Systems P.O. Box 2644 New Carrollton, MD 20784 (301) 552-1295

Goodbye BASIC, PLl1, COBOL-hello PASCAL! Now, to make this GUARANTEED OR YOUR MONEY BACK! most advanced language available to more micro users, we're In addition, if you want to copy the diskette or manual-so long slashing our price-to an amazing $29.95! This astonishing price as it's not for resale-it's O.k. with us. Pass it on to your friends! includes the complete JRT Pascal system on 8" SSSD diskette and BUT ACT TODAY-DON'T DELAY ENJOYING PASCALS the comprehensive new user manual. Not a subset, it's a complete ADVANTAGES-AT $29.95, THERE'S NO REASON TO WAIT! Pascal for CP/M.'" Check the features: •••••••••••••••••••••••••••••••••••••••••••••••• Separate compilation of external procedures • Auto-loading To: JRT Systems • 14 digit FLOATING POINT arithmetic • True dynamic storage 1891-23rd Avenue • Verbal error messages • Fast one-step compiler: no link San Francisco, CA 94122 needed • Graphing procedures • Statistic procedures mO.K. You've sold me-I can't resist your unbelievable offer. Send me • Activity analyzer prints histogram of program use JRT Pascal by return mail. I understand that if I'm not completely • Advanced assembler interface. • satisfied, I can return it within 30 days-with the sealed diskette THIS IS THE SAME SYSTEM WE SOLD FOR $295! unopened-for a full refund. Payment is enclosed by: So how can we make this offer?-why the unbelievable deal? D Check D Mastercharge D VISA Amount: $ ______Very simply, we think all software is overpriced. We want to build (Shipping outside North America, $6. CA residents add sales tax.) volume with the booming CP/M market, and our overhead is low, Card # ______Exp. ______so we're passing the savings on to you. AND AT NO RISK! Signature ______When you receive JRT Pascal, look it over, check it out. We invite you to compare it with other systems costing ten times Name ______Address ______as much. If you're not completely satisfied, return the system-with City ______State ____ Zip ______the sealed diskette unopened-within 30 days and your money will be refunded in full! THAT'S RIGHT -COMPLETE SATISFACTION 'CP/M is a Digital Research trademark. A 52K CP/M system is required. •••••••••••••••••••••••••••••••••••••••••••••••• MICRO CORNUCOPIA P.O. Box 223 IICID CDIRUCD.II Bend, Oregon 97709 503-382-8048 December 1982 The Single Board Systems Journal No.9

Editor & Publisher Prices of New Products David J. Thompson After you're involved in computers for a while you get pretty good at predicting Technical Editor what things are going to sell for, and I Ruth Fredine-Burt pride myself with being as astute as the Graphic Design next guy. However I've been delightful­ Sandra Thompson We're ly surprised lately. First, the hard disk interface that Andy Typography In Bakkers put together for the Big Board I Patti Morris & Martin White is definitely one of those surprises. It Irish Setter connects up and works with so little Staff Assistant (All In!!) muss and fuss that it is easy to forget you Anna Berry Moving is no trivial matter unless, of are adding an incredible amount of course, you live out of a burlap sack (a memory to your system. With five mega­ Cover Illustration bum wrap). But we moved over 10 tons on drive A, the big board is ready Gerald Torrey of "necessities" and now have shifted to take its place with heavyweight busi­ from dump mode (toss it, sell it, or at last ness systems. When you look at $240 for resort keep it) to search mode (if we kept the interface (with software!) and $995 MICRO CORNUCOPIA is the sin­ it, which box did we put it in). for both the drive and the controller, gle board systems journal support­ I've seen those glowing reports about how can you go wrong. ing systems programming lan­ the cottage industry. You See the "On Your Own" column in guages and single board systems­ know, those articles and TV features this issue for some thoughts about doing including the Big Board, the Big produced by the NY City jet set describ­ your own trip based on the Big Board (I Board II, and the Xerox 820. ing some mystical group of freaks who or II) and 5 or 10 megabytes. MICRO CORNUCOPIA is pub­ don't commute to work every morn­ The second delightful surprise has lished six times a year by Micro Cor­ ing-they just live where they want; be been the power supply sold by BG Micro nucopia of Oregon, P.O. Box 223 it a beach town, a rural farm community, of Dallas. I did some snooping around Bend, Oregon 97709 or (like us) in a skiing community nestled on the circuit board after it arrived and I against the Ca~cade Range. must say, the quality is first class. Every­ SUBSCRIPTION RATES: We'll see what it is really like, and in thing their ad says is true! 1 yr. (6 issues) $16.00 Billy Gage (owner) didn't mention 1 yr.(Canada & Mexico) $20.00 the meantime we'll see if we can't en­ 1 yr. (other foreign) $26.00 courage others to join us. (You maybe?) who manufactured the supply but I There's no work here to speak of (the noticed a small metal tag which read All subscription orders payable in guy who cuts, delivers, and stacks fire­ "mfg. by Teletype Corp." U.s. funds on a U.s. bank, please. wood for $45 per cord is a TV technician Two of us got these supplies along ADVERTISING RATES: Available when there are TVs to repair), but if you with the 24V mod kits. We are changing on request. can bring your business with you as we the + 12 to +24 and then using the 12V did, then a small community like Bend mod from issue #1 (page 4) to reduce a CHANGE OF ADDRESS: Please send old label and new address. appears ideal. little of the + 24 to + 12. You can use a The local community college offers 7812 3-terminal regulator in place of the SOFTWARE, HARDWARE, AND very good two-year computer hardware LM317. BOOK VENDORS: We would very and software programs. That means that We had only two problems with the much like to review your CP/M there is a pool of technically trained peo­ supplies. First, Billy threw in a couple of compatible products for Micro C. ple-both instructors and students. Plus specialll0V connectors for the supplies Please send material to the Review Editor, Micro Cornucopia. there is an unusually large community of (a nice surprise) but he sent male pins for artists, musicians, and other creative the connectors rather than the female LETTERS TO THE EDITOR: Please sorts who live here because of the quality pins that we needed, so we just soldered sound off. oflife. in the AC cord. Second, the heat sensor I'll keep you all posted on how this on the master oscillator had opened dur­ grand experiment is working but I may ing shipping and we spent several hours CPI M is a trademark of Digital Research, Inc. be a little biased by all the friendliness with volt meters locating the problem. Copyright 1982 by Micro Cornucopia and trust the local people have shown When we found the cause, all we had to All rights reserved us. (This is the first post office I've visited do is push the little reset button on the that accepts out-of-town checks from sensor and everything worked fine. strangers without asking for any ID.) (continued on page 26) and is slightly shorter than the 801) in a of "Karl's Korner" on how to stuff a BB drive cabinet. The second 801 I pur­ along with a schematic for a Z80 stunt chased was the non-R version. When I box that will single-step the BB, display LBTTBRS discovered that it was too large to fit into registers, RAM, and trap on I/O or mem­ the cabinet, I cut some aluminum off the ory address match. top of the drive chassis and offboth sides Karl-Wilhelm Wacker of the front panel. 100 Rockaway Street The new drive fit the enclosure but I Islip Terrace, NY 11752 Dear Editor, could not get it to work. Obviously the 516-581-2932 I am interested in adding graphics to metal work was too much of a shock to my system. Thomas Hameenaho (issue the mechanism. I just got it back from the Editor's note: #7, page 2) said that only half the charac­ disk drive service and hopefully it's OK It's going to be Christmas for a lot of folks ter generator chip is being used. Could now. when Karl finds the time to get these projects the other half be used for simple graphic If your BB controls the AC to the drive out. Sounds like each of us should write a characters? If you were to offer this in an motors, here's a hint. Break the board "Karl-Wilhelm Wacker appreciation letter" EPROM with instructions I would be run to pin 2 on BB J1 (floppy interface) and send it to him. (How could money pos­ your first customer. This would become and then connect pin 2 to pin 7 on the sibly compete with a mailbox full of letters like the graphics standard so that us users power connector. Now you can pick up that?) could swap graphics programs. the power control signal at the disk drive The only problem I see is switching rather than having to run an extra wire to back and forth between alpha and the drive cabinet. graphics. Question. Has anyone connected an Dear Editor, John Appleton electronic Olivetti or IBM typewriter to The II portable microcomputer 702-101-14th Avenue SE the BB? I would like to hear from that manufactured by Non-Linear Systems is Calgary, Alberta, Canada T2G 1C6 person. (Perhaps someone in Ger­ based on the Big Board. They made a few many?) changes to the board. They used 4164 Editor's note: S. Seiffert RAMs, the keyboard outputs serial data The problem you face when trying to gen­ Uhlgasse43 to port B of the SIO, and they changed erate graphics on the BB I is that the charac­ 5309 Meckenheim-Merl the 1771 to a 1791 for double density (5"). ters do not connect unless you do a fairly sub­ West Germany The board has space for the CTC timer stantial modification to the video generation and for all four EPROMs but there is a circuit. The disconnection means that you socket for monitor ROM only. can't paste simple characters together to make The KayPro documentation shows graphic displays. Dear Editor, that the memory map is identical to the A number of readers are working on solu­ Thanks for sending Tiny Basic so BB. Very interesting. tions to the graphics problem. Some are quickly. I ended up not using it in the The SCBIOS on User's Disk #2 building daughter boards, others are trying prototype of the gizmo I was working on brought life to my parallel printer! I use to find ways to modify the original circuit but intend to use it on the next version (if the Daisy Wheel II made by Ricoh and with a minimum of effort and destruction. they order any more). sold by Radio Shack. However, for this The classier the display, the more trouble it is Now, about adding additional memo­ printer, the jumper instructions from to do. More information about that is coming ry to the BB-I have only done a paper Micro C #7 (page 2) aren't quite right. up. design so far (I have to get the paying For the Ricoh, don't jumper pins 1-2 on Dot graphics are obviously the most de­ projects done first) but here are some de­ J3. manding. Simple, connected block graphics tails. Jack Phillips (similar to the TRS-80) are much easier. In 1. Change the high 16K of RAM to 5V Suite 222, Park-Cherry Bldg fact, some folks are working on adding a 6845 only parts. 114 East Park and 8002A (blockgraphics) to the Big Board I 2. Use the WR/NOT signal path Olathe, Kansas 66061 so that both it and the BB II would run the through the 74157 as the mux for the two same graphics software. bank select bits. 3. Replace the lower 48K of RAM with Dear Editor, 64K chips. I got a call this weekend about my Tan­ Dear Editor, 4. Use the "bell" and the "spare" PIO don CBIOS on user disk #4. It looks like I I bought an Apple II enclosure and lid bits to handle selection of the proper 48K forgot to mention that the CTC must be from the Computer-Center which is next bank. jumpered for the disk drive auto time­ door. It cost only $60 and I thought it 5. Add an additional SIO/DART chip out. This is described in the Big Board would give my BB a professional appear­ and baud rate generator. addenda, but I'll repeat it here. ance. 6. Add a DMA chip for the floppy in­ Jumper pin 3 to pin 4 and pin 7 to pin 8 The enclosure holds the board, the terface so that a 2.5 MHz system can run (on JB2). power supply, and most keyboards. You double density and so that interrupts Bob Edison may have to adjust the cabinet to your don't have to be turned off during disk Kronos Inc keyboard with a saw and file but it is easy reads. 355 Western Ave to do. 7. Bring up a 4-user MP/M bios for the Boston, MA 02135 I also have a Shugart 801R (R stands whole mess. for rackmount; it is the standard model I'm also working on the first segment (continued on page 74)

2 Micro Cornucopia, Number 9, December 1982 .. BIG BOARD II" 4 MHz Z80·A SINGLE BOARD COMPUTER WITH "SASI" HARD·DISK INTERFACE

$895 ASSEMBLED & TESTED * $695 FU LL KIT* $245 PC· BOARD WITH EPROM & PALS*

Jim Ferguson, the designer of the "Big Board" distributed by Digital Research Computers, has produced a stunning new computer that SIZE: 8.7S" X 1S.S" Cal-Tex Computers began shipping in June. Called "Big Board II". it POWER: + SV @ 3A, + -12V @ O.1A has the following features: • 4 MHz Z80-A CPU and Peripheral Chips • "SASI" Interface for Winchester Disks The new Ferguson computer runs at 4 MHz. Its Monitor code is lean. uses Mode 2 Our "Big Board II" implements the Host portion of the "Shugart Associates interrupts. and makes good use of the ZSO·A DMA chip. Systems Interface." Adding a Winchester disk drive is no harder than atlaching a floppy·disk drive. A user simply 1) runs a fifty·conductor ribbon cable from a header • 64K Dynamic RAM + 4K Static CRT RAM + on the board to a Xebec controller that costs only $295 and implements the con· 24K E(E)PROM or Static RAM troller portion of the SASI interface. 2) cables the controller to a Seagate "Big Board II" has three memory banks. The first memory bank has eight 4164 Technology ST·506 hard disk or one compatible with it. and 3) providfS power for DRAMs that provide 60K of user space and 4K of monitor space. The second the controller·card and drive. Since our CBIOS contains code for communicating memory bank has two 2KxS SRAMs for the memory·mapped CRT display and with hard·disks. that's all a user has to do to add a Winchester to a system! space for six 2732As. 2KxS static RAMs. or pin·compatible EEPROMS. The third memory bank is for RAM or ROM added to the board via the STD . Whether • Two Synchronous/Asynchronous Serial Ports bought as a bare board. a full kit. or assembled and tested. it comes with a 250 nS With a ZSO·A SIOIO and a ZSO·A CTC as a baud·rate generator. the new Ferguson 2732 EPROM containing Russell Smith's superb Monitor. computer has two full RS232·C ports. It autobauds on both. • Multiple·Density Controller for • A Parallel Keyboard Port + Four Other Parallel SSfDS Floppy Disks Ports for User 110 The new Cal·Tex single·board computer has a multiple·density disk controller. It The new Cal·Tex single·board computer has one parallel port for an ASCII keyboard can use 1793.1797. or SS77 controller chips since it generates the side signal with and four others for user·defined 1/0. TIL parts. The board has two connectors for disk signals. one with 34 pins for 5.25" drives. the other with 50 pins for S" drives. • Two Z80·A CTCs = Eight Programmable Counters/Timers The new Ferguson computer has two ZSO·A CTCs. One is used to clock data into • Vastly Improved CRT Display and out of the ZSO·A SIO/O. while the other is for systems and applications use. The new Ferguson SBC uses a 6S45 CRT controller and SMC S002 video attributes controller to produce a display rivaling the display of quality terminals. There are • PROM Programming Circuitry three display modes: Character. block·graphics. and line·graphics. The board The new Cal·Tex SBC has circuitry for programming 2716s. 2732(A)s. or pin· emulates an ADM·31 with 24 lines of SO characters formed by a 7x9 dot matrix. compatible EEPROMs.

• STD Bus • CP/M** The new Ferguson computer has an STD Bus port for easy system expansion. CPIM with Russell Smith's CBIOS for the new Cal·Tex computer is available for $150. The CBIOS is available separately for $25. • DMA The new Ferguson computer has a ZSO·A DMA chip that will allow ·wise data transfers at 500 KBytes per second and bit·serial transfers via the ZSO·A SIO at SSO ·SINGLE QUANTITY PRICE. ATIRACTIVE DISCOUNTS FOR DEALERS AND OEMs. Kbits per second with minimal processor overhead. When a hard·disk subsystem is added. the DMA chip makes impressive disk performance possible. • ·CP/M IS A REGISTERED TRADEMARK OF DIGITAL RESEARCH.

TERMS: Orders paid for with a cashier's check or bank card will be shipped within CAL·TEX COMPUTERS, INC. three 'Norking days. Orders paid for with a personal check will be shipped within 780 E. TRIMBLE ROAD #504 • SAN JOSE. CA 95131 • (408) 942·1424 three weeks. Add $5 for packing & shipping. BB II EPROM PROGRAM LISTING

TITLE PROGRAMMER, 2732 This routine reads a CP/M .COM file of maximum size 4k bytes and burns it in a 2732 installed in U80 of BIGBOARD II. The 2732 is 1st checked against te code to be burned in to be sure no '0' levels are to be programmed to '1'. Note that the 2732 need not be blank. To achieve maximum speed, only those loca­ • tions needing to be programmed actually receive the 50 ms prog­ • ramming pulse. Following programming, the 2732 is verified, • and any errors reported. The program can possibly be modified to burn other PROMS, but the reader should proceed with caution. Programming requirements vary considerably.

jumpering for U-80 is as follows:

pin 18 to.REC5 pin 20 to /OE/VPP5 pin 21 TO RA 11 DEC HL D. H. DURLAND LD A,MAXR~C... 663 Georgia Ave. CP (HL) least significant byte Palo Alto, CA 94306 JP C,TOOBIG MAXREC records maximum (415)493-4984 ; \ fill with FF 1st edit 11-1-82 to remove reference to 2716's ",. ; edit 10-21-82 tO'include jumper information LD HL,SRCMEM LD DE,SRCMEM+1 the program is intended to be assembled using MACRO-80 LD OIL) ,OFFH LD BC,ROMSIZ byte count Instructins for use: LDIR. do it Your code should be stored in a CP/M .COM file. To program; for example, EXAMPROG.COM now the actual read LD DE,SRCMEM-128 Turn on your programming power supply. Insert the PROM to be programmed in U-80 RDLP: Boot up CP/M to access PROGRAM.COM and EXAMPROG.COM LD HL,128 ~ ADD HL,DE update DMA ADDR n°>-t (the usual drive access rules apply) 0 Type '-t LD C,26 set DMA ADDR ~ The rest is automatic ~ CALL BDOS (j 0 FALSE EQU 0 "'0 LD C,20 read sequential :?i- TRUE EQU OFFH BOOT EQU 0 LD DE,FCB Z FCB EQU CALL BDOS read a record ~ 5CH BDOS EQU POP DE recover DMA ADDR S 5 OR A successful? 0'" CR EQU ODH ro JR Z,RDLP if not past end of file >-t LF EQU OAH ,\D R2 EQU 7FH 0 CP end of file? ro SYS1 EQU OC8H (j JP NZ,BUMRD anything else is an error ro PROG EQU OCOH S CTCB3 EQU 08BH 0'" now we move the next section to 8000 and jump to it, ro SRCMEM EQU 9000H park source here >-t STACK EQU SRCMEM as we are going to bank switch in the PROMS and can't operate ~ \D ROMSIZ EQU 4096 size of a 2732 from CP/M 1 00 N MAXREC EQU ROMSIZl128 PRAM EQU 8000H where some of this will run LD DE,BURNIT ROMLOC EQU 5000H LD HL,BURNLO ROMCPY EQU OAOOOH ; PROM copied here LD BC,BRNEND-BURNIT ENDCK EQU HIGH (SRCMEM+ROMSIZ) LDIR move code up JP BURNIT and go to it .Z80 ASEG BURNLO EQU $

ORG 100H • PHASE PRAM out of bank switched area ; ; PROGRM: LD SP,STACK Underneath code to be burned BURNIT: DI 1st check to be sure a name has been entered. LD A,O OUT (SYS1),A switch in the PROMS LD HL,FCB+1 1 past drive EI LD ~, ~HL) CP is there a letter? 1st we check the PROM for 0-1 transitions JP Z,BUMFIL if not, go report no file LD HL,SRCMEM source code now check for no type spec or .COM LD DE, ROMLOC PROM address LD A,TRUE LD DE,65H ; 1st type in FCB LD (BITSOK) ,A initialize assuming OK LD HL,COMTBL LD BC,3 CKLOOP: ; LD A, (DE) get a PROM byte COMO: OR (HL) LD A, (DE) get type LD B,A save with (possibly) extra bits CP LD A, (DE) get PROM again JR Z,COM1 space OK CP B JR NC,CKADUP if no bits went up CP (HL) ck letter JP NZ,BUMFIL insist on space or correct letter LD A,FALSE LD (BITSOK) ,A flag for message at end COM1 : JP ROMOUT go back to CP/M LDI move a letter ; JP PE,COMO until COM moved in CKADUP: INC HL INC DE JR OPNFIL go open it LD A,H ; CP ENDCK ; 1 past end COMTBL: JR C,CKLOOP ; for 4k bytes DEFM 'COM' at this point we knew that the PROM Is at least theoretically ; programmable. Copy it into ROMCPY for reference. OPNFIL: LD HL,ROMLOC PROM LD C,15 open file LD DE, ROMCPY copy destination LD DE,FCB LD BC,ROMSIZ byte count CALL BDOS LDIR move it OR A set flags JP M,BUMFIL if can't find it here is the actual burn

LD C,35 compute file size LD B,3 LD DE,FCB LD C,PROG CALL BDOS LD HL,BRNTBL table of output words LD HL,R2 point to high virtual size byte OTIR get set LD A, (HL) DEC HL LD HL,SRCMEM source code OR (HL) middle byte LD DE, ROMLOC PROM address JP NZ,TOOBIG both high bytes must be 0 LD BC,ROMCPY copy address J JR BURNLP and do it (continued on next page) ~ BB II EPROM PROGRAM LISTING (continued)

BRNTBL: ; Report receives DE pointing to the bad PROM byte and HL pointing DEFB 8 to disable PROM outs, enable U-57 outs to the source byte. HL is a relative address. DEFB 9 to disable PROM ICS lines DEFB OCH to turn on program voltage REPORT: PUSH DE PUSH HL BURNLP: CALL MOVE4 move address into message LD A, (BC) PROM copy LD A, (DE) get bad PROM byte CP (HL) same as source? LD DE,ERRMS4 JR Z,BURN9 skip burn if so (save time) CALL MOVE2 move bad PROM byte to message LD A, (HL) get source byte LD A, (HL) get source LD DE,ERRMS6 LD (DE) ,A latch it to PROM for burn CALL MOVE2 move to message LD DE,ERRMSl LD A,l CALL PMSG print the error message OUT (PROG),A IDECODE low thus ICS low POP HL POP DE PUSH BC save copy address LD A,FALSE LD B,50 millisecond count LD (ROMOK) ,A ; if we get here at all, we have a problem CN1MS: RET IN A, (CTCB3) get current count LD C,A it becomes reference MOVE4 converts the address to ASCII and moves it to the message area MSCHG: ; IN A, (CTCB3) MOVE4: CP C change? PUSH DE JR Z,MSCHG until a change LD DE , ERRMS2 LD A,H DJNZ CN1MS do 50x 1 millisec RES 7,A modulo 4k POP BC retrieve copy address CALL MOVE2 move H to message area LD A,L LD A,9 CALL MOVE2 and L OUT (PROG) ,A IDECODE high thus ICS high POP DE RET BURN9: can get here if PROM=source (see BURNLP+2) MOVE2 converts a HEX byte to two ASCII characters and moves them into the message area INC HL INC DE MOVE2: INC BC PUSH AF LD A,H RRA CP ENDCK 1 past end RRA JR C,BURNLP for 4k bytes RRA RRA get high nibble into low PROM is now burned. Time to verify it. CALL MOVNIB and move it POP AF restore entire byte LD B,3 MOVNIB: LD C,PROG AND OFH only low part of interest LD HL,NRMTBL table to go back to normal ADD A,90H OTIR go back DAA JR VERIFl and verify ADC A,40H NRMTBL: DAA convert to ASCII DEFB 4 to turn off program voltage LD (DE) ,A put it in the message area DEFB 1 to enable chip set decoder INC DE advance to next slot DEFB o to turn off out buff and enable PROM RET 1 ~ VERIF1 : ; this area contains abort routines and messages n""'"I 0 n 1st we copy the burned PROM into ROMCPY BITNG: 0 LD DE,BIlMSG ::s"'"I LD HL,ROMLOC ; PROM CALL PMSG e (J LD DE , ROMCPY ; copy destination JP FINIS 0 LD BC,ROMSIZ ; byte count '"CI BIlMSG: , Ei- LDIR ; move it DEFM CR,LF,'Bits not all blank. Not programmable. Z DEFM ' Aborting',CR,LF,'$' e Now switch out the PROMS and go back to CP/M for verification. S BUMFIL: Ci' /'tI ROMOUT: LD DE,FILMSG "'"I DI CALL PMSG ~ LD A,8 JP FINIS 0 /'tI OUT (SYS1),A switch out the PROMS FILMSG: (J /'tI EI DEFM CR,LF,'Improper file specification',CR,LF,'$' S JP VERIFY go do the verification ; Ci' /'tI ; TOOBIG: "'"I..... BRNEND EQU $ LD DE,BIGMSG \0 00 CALL PMSG tv BITSOK: DEFS goes false on o to 1 transition request JP FINIS ROMOK: DEFS goes false on bad verify BIGMSG: DEFM CR,LF,'Too big for PROM',CR,LF,'$' .DEPHASE ; BUMRD: VERIFY: LD DE,RDMSG LD A, (BITSOK) CALL PMSG OR A JP FINIS JP Z,BITNG go report no try RDMSG: DEFM CR,LF,'Bad read, aborting',CR,LF,'$' . LD DE,CRLF ; else do the verification CALL PMSG put crlf PMSG: LD C,9 LD A,TRUE CALL BDOS LD (ROMOK),A assume ok RET LD HL,SRCMEM source start ; LD DE,ROMCPY PROM copy ERRMS1 : DEFM 'Relative ' VLP: ERRMS2: LD A, (DE) get a PROM byte DEFS 4 will hold address CP (HL) match? ERRMS3: CALL NZ,REPORT if not DEFM INC HL ERRMS4: INC DE DEFS 2 will hold bad PROM byte LD A,H ERRMS5: , CP ENDCK 1 past end DEFM shOUld:' JR C,VLP catch all bytes ERRMS6: DEFS 2 will hold source byte LD A, (ROMOK) CRLF: OR A DEFM CR,LF, '$' JP Z,FINIS if not ok, no reporting to be done VERMSG: DEFM 'PROM verifies OK',CR,LF,'$' LD DE, VERMSG else report success, and quit CALL PMSG FINIS: JP BOOT JP FINIS END END ~ J Big Board Fixes

By Ewing Waymire Digital Research Computers PO Box 401565 Garland, TX 75040

Not all Big Boards work when first rise time of the clock short enough to Keyboard powered up, so the purpose of this arti­ meet 280 specs. It must be a 2N2907. If your keyboard is not hooked up cle is to help those who don't get that properly (bit 7 is not grounded or driven sometimes elusive "system monitor Alternating Character Display low) the BB will answer all or some of the 3.3." If the processor is running you will commands with "what." Also, a defec­ find that the on-board video is a very tive 74LS14 (Ul12 or U114) can lead to a Background powerful debugging tool. A repeating bad case of "what." First, a little information about the pattern of boxes and colons is called a PFM monitor. At power-up, the proc­ stack crash. It usually means that the Disk Drives essor starts executing code from location processor is running but it is not able to If you have two drives jumpered as OOOOH in the ROM bank. The first 16 in­ execute PFM. Usually this is caused by a drive 0 (LEOs turn on together) then you structions in the ROM move the rest of bent pin on a RAM chip (this is hard to may destroy the system tracks (0 and 1) the monitor to high memory starting at find so look carefully) or it happens on your disk. FOOOH. Following the move, control is when someone substitutes 74LS157s for transferred to FOOOH. the 74157s in U58 and U59. The LS parts SIO If PFM is copied correctly, if the RAM won't work here. A lot of people don't realize that there at FOOOH is good, and if there are no oth­ Other common mistakes include un­ is a difference between an 510/0 and an er basic problems in this part of the sys­ soldered or badly soldered pins, 510/1 or 2. By the way, aDART will work tem, then PFM will start its tasks. switched parts, or defective RAM (espe­ just as well as an 510 as long as you do PFM does a number of things before it cially the top 16K). You only need RAM not plan any synchronous communica­ can accept an input and sign on. It dese­ chips U1 through U8 installed in order tions. (And who wants to do synchro­ lects the ROM bank, clears the video for PFM to sign on. Also, the 280 is the nous work anyway?) RAM, initializes the system PIa, 510, only 40-pin chip that has to be installed CTC, and 1771. Next it checks to see if in order to get the magic prompt. Other Thoughts you have an 510 and if so, it starts poll­ If your -12 V supply fails while a disk ing both the 510 and the PIa to see Other Visible Problems is loaded, the 1771 will write garbage on which receives a carriage return charac­ If you are getting more than one the track where the head is, destroying ter first. prompt or the screen hasn't been com­ both the data and the formatting. If your You can watch this polling process by pletely cleared at sign on, then the trou­ -5 V supply goes positive, your 4116 checking the chip enables of the PIa and ble most likely is in the 74LS157 area. RAMs may be damaged. So, you should 510 to see if the processor is alternating Again, look for bent pins or switched double-check your power supplies if selecting one and then the other. If the parts. If you move parts and the trouble problems occur. monitor finds that an 510 is not in­ changes, that should give you a clue. Although our customers are some of stalled, then it goes ahead and signs on If the characters on the screen slowly the best computer whizzes around, 9 out and waits for characters from the PIa. swim back and forth, check the video of 10 boards we get back for repair have Let's go down the list of the most com­ crystal. The documentation calls for at least one IC pin bent under or out, or mon problems and see what usually 14.31818 MHz but the proper crystal is have bad solder joints. works. 13.9776 MHz. This provides a true 60 Hz The memory test is not infallible. We vertical sync rate. If the new crystal have seen cases where bad memory Is It a Dead Processor? causes the characters to tear, then re­ chips have passed the test. If your pro­ The first thing you need to check on a place C24 with a 10 pf capacitor or reduce grams act weird and your power sup­ bad board is whether the processor is R2 to 470 ohms. plies and software are OK, then suspect running. Check the M1 line (is pin 27 If the dots on your screen jitter, then the RAM. Swap rows of memory around wiggling up and down?) to see if the you probably have some noise leaking to see if the problem changes. processor is fetching opcodes. If it is not into the video. Add some bypass capaci­ running, then either it is not receiving a tors to the +5 V line near the video sec­ Finally good clock signal (pin 6) or it is being tion. (Editor'S note: try some 50 mfd 10V About 19 out of 20 BBs work on the held in a constant reset (pin 26 stays tantalums between the +5 V line and first try. I hope the above hints will help low). ground.) Also, swapping or changing with the other lout of 20. If you find either of these problems, U38 and U51 will sometimes clean up the recheck all the related components to problem. ••• make sure they are in their proper places If the first half of each video character and not interchanged with others or in­ is missing then you may have mis-in­ stalled in a feed-through hole. R43 is the stalled the 1.5K resistor at R21. It is easy most often misplaced component in this to mistake a feedthru for the component part of the board and people often inter­ pad on this part. change Q1 and Q2: Q2 helps make the

8 Micro Cornucopia, Number 9, December 1982 Relocating Your CP 1M LOW COST By Pseud O. Nym DISK CONTROLLER

- LESS THAN $10 COMPLETE-

SAVE WEAR AND TEAR ON YOUR DISK DRIVES In Micro C #2, Dave notes that in the This is how I patched MOVCPM. AND FLOPPIES WITH THE MODEL 3801 ALL SOLID STATE RELAY. SMALL RNOUGH TO FIT CP/M distributed with the Big Board, the EASILY INSIDE YOUR DISK DRIVE, THE 3801 BIOS starts at E800, while most 60K ver­ DDT MOVCPM.COM CAN BE INSTALLED IN MINUTES. YOUR BIG BOARD WILL THEN TURN YOUR DRIVES ON AND sions start at EAOO. You can modify the L16F check that 16F is JP lAS OFF AUTOMATICALLY AS THEY ARE NEEDED. BIAS definition and reassemble the A16F

CBIOS but it is still necessary to relocate JMP 2AOO jump to patch - FEATURES - CP/M to accommodate this CBIOS. (don't forget this period) Many of you with the BB version may, A2AOO assemble code at 2AOOH * SMALL SIZE - 1.75 X 1.40 X 0.35 like myself, want to return to the stand­ PUSHB save BC * FAST INSTALLATION - DIAGRAM INCLUDED ard CP/M EAOO BIOS to recover the LXI B,200 to convert E800 to EAOO * ZERO CROSSING - ELHIINATES ALL SWITCHING NOISE wasted space and be compatible with the or LXI B,FEOO to subtract * TRIAC OUTPUT - NO MECHANICAL PARTS majority of 60K CP/M systems. (I had to 200H * DVDT FILTER - INCLUDED * LOW COST - ONLY $8.80 EACH laugh at the note about maintaining con­ DADH,B add BC toHL * 1 YEAR WARRANTY sistency-we would have been consis­ POPB restore BC * 30 DAY MONEY BACK GUARANTEE tent if we'd stayed with the CP/M stand­ JMP1A5 where it was heading ard.) end of assembly lIJBg1f/BZ MOVCPM contains a relocatable copy GO "go zero" COMPANY OF CALIFORNIA 16UI SOUTH MINNIE STR~;ET of CP/M, a BOOT, and a BIOS. When­ SAVE 42 SANTA ANA, CALIFORNIA !1~7117 ever you run MOVCPM, it modifies all of MOVCPMX.COM (714) 541-4316 these. If your MOVCPM includes a BOOT and BIOS suitable for you hard­ I should note that I have only tested CALIF. RES. ADD 6% SALES TAX ware, fine. Otherwise you have to over­ this for converting the BB MOVCPM to ADD $1.00 POSTAGE & HANDLING lay the relocated system with suitable standard. Also, your MOVCPM may not programs. However, MOVCPM only al­ be the same length as mine. I put the lov.7s relocation in steps of 1k bytes-so patch at 2AOO because DDT reported that you can set up the BIOS at EAOO, E400, as NEXT when I loaded MOVCPM. DAOO, etc. After this, you can follow the CP/M The version of MOVCPM distributed documentation for "Second Level Sys­ with the Big Board has been modified to tem Generation." (See page 6 of the CP/ deposit the code 512 bytes lower than the M Alteration Guide.) Note that when GEFAS standard version. Thus, MOVCPM 60 using the BB MOVCPM you must add gives you a 59.5K system! You can dupli­ 200 to the read offset for the BIOS. This cate this feat or defeat it by adding a makes the offset 3780. patch to your MOVCPM program. NOW This patch modifies MOVCPM's size Editor's note: calculation. When execution reaches lo­ This is one of those really significant pieces cation 016FH, the HL registers contain of information which gives us all a chance to Get the BIG BOARD in the specified system size (e.g. FOOOH for org at EAOO. You can reassemble your present a 60K system). If you add anything to or BIOS (use the SD Systems assembler on the G E R MAN Y subtract anything from HL at this point, original source) or go ahead and install an the resulting system will be larger or updated BIOS such as the one from user disk smaller. #2 or #9. Voila! To make the BB MOVCPM work Also, the author asked not to be identified like the standard version all we have to so I gave him the best pseudonym I could oGerman Documentation do is add 200H to HL here. think of. Sorry if I was too obvious. • •• OMi cro c Software CATCH US AT THE FAIRE OProm Programmer etc.

We are planning to have a Big Board Users Group Booth GEFAS and meeti ng at GesellschaftfUr angewandte Systemtechnik THE WEST COAST COMPUTER FAIRE March 18th to 20th Pariser Str. 44 0-1000 Berlin 15 in San Francisco 030-883 24 74

Micro Cornucopia, Number 9, December 1982 9 Xerox 820 Notes

Column by John P. Marlin, Jr NUF Computer Company, Inc. 99 Pennsylvania A venue Newton, MA 02164 (617) 964-8041 As promised, I'm back again, and the The Kemel 5. Checksum test on 3 of the 4 ROMs; Xerox 820-11 (R) board has been dis­ CPU: 4.0 MHz Z80-A with 8.0 and 16.0 6. Initialize FFOO-FFFF data (the old sected, also as promised. What a differ­ MHz clocks available on the board. As LDIRloop); ence! I scarcely know where to begin. I'll with the old version, nothing significant 7. Initialize the 110 ports (ditto OTIR); refer to the old board as an 820, and the here. 8. Initialize CPU. Mode 2, FFXX vec­ new one as an 820-11. CTC, SIO, and PIOs are the same as tors; It looks like Xerox has gotten serious on the 820. 9. Move the FOOO-FEFF image into about the microcomputer market. They MEMORY: Now we see some differ­ place; have done a lot of the "Personal Com­ ences. For instance, Bank Select (bit-7) 10. Checksum test on fourth ROM. puter" stuff but this one is definitely a turns off everything up through BFFFH. Fail says jump to entry in HIMEM; Business Machine. The second edge connector (memory ex­ 11. Test for 55AA just below checksum pansion) has *MEM4 and *MEM8 signals in fourth ROM. Fail says jump; Appearances which are decodes of the second and 12. Load HL with Command Address The 820-11 has the same old 4 connec­ third 16K segments when the second Table; tors and reset button across the back memory bank is selected. CP/M 3.0, 13. Load DE with DSKMAP; edge, and same good RFI-EMI attention, anyone? Additionally, the expansion 14. Load BC with HIMEM entry ad­ but now, all of a sudden, there are a cou­ slot has *RFSH, and all the other normal dress; ple of edge connectors on the mother bus signals almost like STD-BUS. A pity 15. Call ROM4; board, and one of them has a PCB in it! they didn't use the STD-BUS pinout. 16. Jump to HIMEM entry address Also, fewer ICs, and more space be­ There are the usual 4 2716 sockets, but (FC55). tween them. Removing the disk control­ the upper two have jumpers to feed the ler made a lot of space on the mother WR (write) signal to pin 21 for 6116-type ROM or RAM errors detected move board. RAM. Currently, 3 sockets are occupied appropriate message to CRTMEM di­ There are two different boards avail­ by ROMs. All 4 sockets run with wait rectly, time out, and re-jump to 0000. able for the controller slot, a floppy con­ states. After all this, the SIO is initialized. troller, and a hard disk controller. CRT RAM: is a 2016 2Kx8 chip running (Even Parity with DTR and RTS set on The other slot is an expansion connec­ with a wait state. both channels.) Channel A is set for 300 tor, nearly one-for-one with the control­ The ROMWAT (ROM wait) can also be BPS, Bat 1200. The PIa is initialized for a ler slot, but obviously intended for mem­ accessed from both the Disk Controller Centronics interface. ory, or like that. slot and the Expansion slot, as needed. The hard disk board is only a SASI in­ Lots of new 110 ports defined. SYNC/ High Memory terface, since Xerox now has a box (the ASYNC select, SGL/DBL density, HIMEM entry. After we finally get U07) which contains a Shugart SA1403-E CHARGEN1/CHARGEN2, set DIMVI­ here, we still have bits 6 and 7 of the Sys­ Intelligent Controller, an SA1004 8-inch, DE 0, and (at last!) SET/RESET ALARM. tem PIa as outputs, and all others are 8-meg (formatted) Winchester, an Yes, Virginia, there really is a beeper! inputs, for the moment. Bit 0 is held low SA801 SSDD floppy drive and an extra Slight changes to the System PIO bit by the SASI IIF, so we start moving stor­ connector for another 2-drive cabinet. definitions. Bit 5, not needed for the bell, age addresses and driver addresses Thus you can connect three floppies and now senses double-sided floppies. around. Bit 4 is held low by 51/4" drives, a Winchester! so we move some OPE's and modify Monitor DPH's. Finally, we display the startup The Controller Here there is a real difference! On re­ message and wait for keystrokes. The controller is a 1797 which allows set, the following happens: Oops! new message! "H Host Ter­ double-sided double-density floppies, 1. SP, HL, and last word of stack are minal" Yes, we can look like an ADM3A. with side checking on address headers. stored beginning at FFEO. Better yet, from the KBD we can do local However, the chip is limited to 256-byte 2. The Copyright disclaimer is execu­ copy for those pesky IBM systems, or, sectors. ted. You heard me, they actually execute still better yet, remote echo to look like a John MacFarland, of Software Pub­ the copyright characters. And, since CPU to some remote dumb terminal. In­ lishers, tells me he has one running 1K they have eliminated the spaces in the novation! As each line scrolls off the top sectors with a 1793. He is using essential­ text (you know, those troublesome JR of the screen, it is written to RAM in 80 ly the same double density software he NZ's) the result is a of harmless byte chunks, starting at OlOOH, just like supplies with the double density kit for LD's. Saves 2 bytes not to JR around it! in CRTMEM. No CR's, no LF's, just an the Big Board. The rest of the floppy con­ This, it turns out, is the beginning of image of CRTMEM. Holds about 700 troller is pretty much the same as the old some of the tightest code ever written by lines. Do one of those, then boot CP/M 820, with the addition of a write precom­ mortals! and SAVE 220 FILENAME.EXTand you pensation circuit (a double density ne­ 3. Clear and initialize the CRT; got it! cessity). 4. Non-destructive test of RAM from FOOO-FFFF; (continued on page 12)

10 Micro Cornucopia, Number 9, December 1982 .....------NEED A HOME FOR YOUR BIG BOARD I OR II? ------..... ALL ALUMINUM DISK AND COMPUTER ENCLOSURE GK.lALITY CON:~;TF::t.JCTED OF 1 j:;:: INC:H M{:)TERIAL COMES WITH 150 WATT SWI1CHING PRS~

+~5V .. @ :=: • 5 ~~I'1PS +12\). @ .::. PIMP::; I 15 ::;EC :~:: . 5 (~MP:::: TYP ··-l:2V. @ :300 M(4. ....: +24V. ~~ ...... r~MPS,

IF D.C. DRIVES ARE USED, ENTIRE SYSTEM CAN RUN ON SINGLE 36V. BATTERY" NOW YOU CAN GENERATE SOFTWARE INDEPENDENT OF THE POWER CO. ! ! !

ENCLOSURE WITH POWER SUPPLY - $ 325uOO CABLES AND CONNECTORS AVAILABLE - INQUIRE FAN OPTION - PRESSURIZES INTERIOR OF BOX WITH FILTERED AIR - $ 35.00 TAN DON DISK DRIVES AVAILABLE - HARD AND SOFT - INQUIRE MANY FRONT PANEL CONFIGURATIONS AVAILABLE FOR FLOPPYS ANDIOR HARD DISKS

XEROX 820 BOARDS7 TESTED AND GUARANTEED $ :~:7~3. 00 CONNECTORS AND CABLE SETS AVAILABLE

LITTLEBOARD SINGLE BOARD COMPUTER - 2.5, 4.0, OR 6.0 MHZ OPERATION DUAL RS232 SERIAL 110 W/CURRENT LOOP OPTION PF:OGR(4MM;~BLE BAUD F~ATE~:::: ON BOTH CHANNEI... ~::; :32 BITS BUFFEHED P{... R,:."LLEL I /0 4 CHANNFI....:~:; OF COUNTEr~:-·T I rIEF~ ACCOMMODATES 16K RAM/ROM IN 2716 OR 2016

2 It :~: II X 1011 PF~OTOTYP I NO ~"REA B~\RE BOARD gl. DOC. $ 75 II 00 DEVELOPED FOR Z80 CONTROLLER APPLICATIONS 2.5 MHZ KIT $ 250.00

J.B. FERGUSON, INC. ::::07 1\1. I ND I (41'.ln ARLINGTON, TEXAS 76011 ~ :::! 1. 7) ~·69-·90"20 The Disk is the Media By David Thompson

Researching this article was a real vides the best control over emulsion technical rep, about differences between learning experience for me. It was partic­ thickness, Maxell hasn't figured out how brands in terms of media life. He said ularly enjoyable both because I'm inter­ to produce a smooth, non-abrasive sur­ that all the manufacturers have ad­ ested in the subject and because I got a face. (They are working on it night and vanced to the point where the media chance to chat with some very interest­ day.) It turns out that the thinner the would last practically forever if users ing people. I found that the magnetic coating, the higher the data density be­ would handle the disks properly. Bend­ media market has its own language, its cause the magnetic information written ing, dust, and fingerprints are now the own pecking order, its own hype, its onto the disk surface cannot fan out as primary determinants of disk life. (You own secrets, and its own technical far when the coating is very thin. And should see how folks ship disks to me. gurus. this new coating method makes it possi­ Shame! Shame! You must keep them in My technical sources include ble for Maxell to make their coatings their envelopes and mail them in real Tektronix, Colin Thompson of BASF, thinner because they are so consistent. boxes.) Marilyn Gilman of Memorex, and Dale Meanwhile, they are having a problem Occasionally a manufacturer will go Isaacs of Dysan. with abrasion. The tiny particles of iron off on a tangent. An example of this is oxide that store the information are quite Verbatim's attempt to use aluminum ox­ Background abrasive, so it's important to make the ide (doesn't sound very magnetic does There are two ways of putting record­ disk surface as smooth as possible and it?) in place of iron oxide. Those disks ing material on a disk. The oldest and impregnated with lubricant. It's also im­ haunted Verbatim for a long time. In most common way is called knife coating portant that any particles kicked loose by fact, I had some and they were so bad and everyone but Maxell appears to be the head be picked up immediately by that I still don't trust Verbatim (though using this method. The method Maxell the fabric envelope liner because these from what I've found out, I really now uses is called roto gravure, and is a particles can damage the head and dam­ shouldn't distrust them now). very similar to the precision printing age the disks that follow. During the time when Verbatim was technique of the same name. having its problems I bought a number The roto gravure technique is new to Media life of BASFs. I had absolutely no problems disk manufacturing and though it Pro- I asked Colin Thompson, the BASF with them. However, this spring I had

(820 Notes continued) mand. HIMEM code equates logical mentioned last month, the 820 board drive to physical drive, finds the appro­ supports 51/4" floppies. Rondure has However, we type "LAret>" and priate driver, and does it. Almost magic. schematics for the 820 at $5.00 apiece, al­ more happens in HIMEM. Overlays! The CONST, CONIN, CONOUT are re­ though I don't know if the prints are first letter brings in an overlay from placed with logical CONST, etc. which, available separately. If not, I have prints ROM into the aforementioned HIMEM in turn, is steered with the contents of for the same price. EMTRY address and is executed there. 1I0BYTE. Same for LIST. Sooner or later we get a very sheepish, In addition to all these magical en­ Coming Up one-line greeting from CP/M. We're up! trances, all the old ones are still where Next issue I will talk about the slick DIR brings back strange files. we expect them, so 820 BIOS runs on non-destructive RAM test used in the CONFIGUR.COM. WHATSA.COM. 820-11 hardware. Single density, only, of 820-11, as well as the improved CRT han­ BACKUP. COM. A bunch of funny oth­ course. Code's all there to fake them. dler and the new monitor entry points. ers. What are they? See you then ... CONFIGUR allows a disk image or a Back to the 820. memory image to be patched in many Seems as though the surplus 820 About the last column: wonderful ways.1I0BYTE, 7/8-bit KBD, boards became available after I wrote the I made an error on last issue's info. It's floppy step rate, auto-restart filenames, last column, but before it got printed, so the RIGHT ARROW, not the DOWN video attributes, hard-disk partitions. you have the word on the Rondure (Dal­ ARROW, which sends ~c. Sorry. Several tables are stored in HIMEM to las) offerings at $435.00. Even at $399.00 make CONFIGUR work, including ad­ for the BB kit, if you add the SIO and Editor's note: dresses of " AND A,7F" (reset keyboard CTC options, as well as the pre-soldered John caught an error I added while editing bit 7) instructions and such. socket option, the 820 board is cheaper, his last column. He pointed out that 5" drives By the way, we don't call FOOO-jumps and, has been tested as a running sys­ do not do their own data separation, as there for SETDMA, SETSEC, SETTRK, tem. Hard to beat! is no line on the interface for FDCLK. The 8" SELDSK, READ, and WRITE from It should fit into nearly any old CRT separator is used just as on the BB, and the BIOS. Now we request "Execute Physi­ case in place of the old logic (especially internal separator of the 1771 is used for 5" cal Device Driver", specifying a 9-byte the single-board designs) and use the just like Radio Shack did, to their eternal em­ table in HL. That's all. The table has logi­ old keyboard and CRT monitor assem­ barrassment. cal drive, sector, track, DMA, and com- bly, as well as the power supply. Also, as •••

12 Micro Cornucopia, Number 9, December 1982 XEROX

problems with two batches in a row. I Dysan, for instance, buys coated rolls had a marginal drive but the BA5Fs were (called tape) of raw 8" material from the only disks that it threw up on. Scotch because they haven't perfected 820 According to Colin Thompson the the coating process for this size. How­ BASF technical rep, the disks produced ever, they have perfected the burnishing in 1981 (the last character of the ID # on and it's only been recently that other the back is a 1) had problems. I checked, manufacturers have figured out how to and all my flakey disks ended in ilL" He match Dysan's high quality finish. says they have done a major re-engi­ Meanwhile Dysan is trying to increase its CABLES neering for 1982 (the number ends in production substantially. It'll be inter­ "2") and they have not had any of the esting to see whether they can maintain new ones returned. their high quality during the expansion. Drive problems Colin also mentioned that many of the Vague Conclusion complaints that disk manufacturers are 50 the question still comes down to XEROX 820 cable harness now seeing are a result of drive prob­ whose disks are best and whose are the assemblies for: lems. He noted that the drive manufac­ best deal for the money. Dysans are pre­ turers are not taking the time to align the mium disks but you definitely pay for drives as precisely as they used to (be­ that quality. Maxell is trying to compete J5 - Power cause of the volume of drive orders) and with Dysan in the quality market but J6 - Monitor Power that OEMs and dealers are not set up to they are going to have to get their finish­ do it. ing worked out and they aren't cheap. J7 - Monitor Signal Maxells probably will never be cheap be­ - Ground Connector Similarities cause their marketing agents cut off sup­ All manufacturers start out with es­ plies to anyone caught discounting too All cables have Xerox speci­ sentially the same raw materials. They much. fied AmP connectors on one all use the same type of mylar base and Beyond that, it's up for grabs, and end. The other end is open. use nearly identical materials to formu­ various brands of disks have done well late the coating. or poorly depending more on the phase First the manufacturers mix the raw of the moon (or so it appears) than on Schematics of cables materials into a slurry (the recipe is pre­ brand name. Slight changes in one of the cisely dictated by an ANSI standard) and raw materials or in one of the manufac­ included then they coat the mylar base with the turing processes can have a significant slurry. They wind up with large rolls of effect on the quality of the product. $20.00 per set coated material from which they cut the Most manufacturers strive to keep the ppd. U.S. disks. The disks are polished and then number of defective disks down to one tested. It is only during the testing proc­ percent. (This is the percentage of disks ess that disks are separated into single or that customers return, which is not nec­ double sided and single or double den­ essarily a. good indication of the actual sity. percentage which are bad.) Between two and four percent of my Scotch disks are FULL SET Differences bad. Colin has said that he hasn't seen XEROX 820 The differences between brands ap­ any returns of the 1982 BASF disks (the SCHEMATICS last digit of the number on the back is a pear primarily to be differences in the lu­ $5.00 bricant, the polishing, the testing, and in 2). They had lots of returns of their ear­ the envelopes. lier product. All of the manufacturers have full time It sounds to me as if most of the disk labs to keep on top of changes in the manufacturers have gotten their trips to­ quality of the product. The manufactur­ gether. If so, there are some real bargains NUF Computer Co .• Inc. ers are: Athana, BASF, CDC, Dysan, available in the disk market. I've started 99 Pennsylvania Ave. IBM, Maxell, Memorex, Nashua, Scotch, testing a batch of the new BASFs and Nexton, MA 02164 Verbatim, and Wabash. All other brands haven't had any problems so far. If you use material made by one or more of want to try some of their latest disks, (617) 964-8041 these folks. (And even the above folks fill look for the boxes with "qualimetric" out their own product lines by purchas­ stickers on them. ("Qualimetric" must VISA & MASTERCARD ing finished and unfinished product be another word for 1982.) ACCEPTED from other manufacturers.) •••

, Micr,v Cornucopia, Number 9, December 1982 13 FORTHwords

Column by Arne A. Henden 7415 Leahy Road New Carrollton, MD 20784

A lot has happened in the FORTH the squabbling that marred past efforts. The commercial display area was a world over the last couple of months and Other seminar topics included energy busy spot, and the vendors were out in we may have passed a new milestone. control applications, a multi-tasking force with their latest FORTH language This month's column includes informa­ FORTH system, debugging and devel­ systems and various development tools. tion from two new contributors, Philip opment tools, and the latest video games FORTH, Inc. demonstrated its poly­ Plumbo and Ward Harold. We welcome (from Atari of course). FORTH II for the IBM-PC, a multi-task­ user contributions, especially when they Charles Moore and Elizabeth Rather ing FORTH that includes hardware are of this quality! chaired a seminar on the use of FORTH floating-point support for the 8087 nu­ in digital image processing. meric processor, and on-line system Dr. Dobb'sJoumal Other panels discussed the use of documentation. In case you haven't been following the FORTH in industrial and process con­ Their floating-point implementation computer magazines closely, each mag­ trol, business applications, computa­ uses a separate floating-point stack, and azine tends to have a monthly theme. tion, video mixers and television com­ their floating-point words operate only The first issue devoted to FORTH was mercial production, university engineer­ on that stack. Their demonstration in­ the August 1980 issue of BYTE. This sin­ ing courses, and data transmission via cluded a set of matrix multiplications gle issue probably doubled the number amateur radio packet switching net­ which appeared to run almost instantly. of FORTH users! works. If you've ever done any matrix algebra Since then, Dr. Dobb's Journal (DDJ) has had two FORTH issues, first in Sep-:, SCF< # 255 tember 1981, and again in September o ( FORTH DIMENSIONS INTERRU~T HANDLER ) 1 VARIABLE SPTMP NEXT-LINK 4 - CONSTANT RETP 1982. This latest FORTH spectacular is 2 one of the best mix of applications I have 3 (PDP. REG) (registers 4 ASSEMBLER HL PDP, DE PDP, BC PDP, AF PDP, FORTH seen. 5 They have included Joe Barnhart's bi­ 6 PDP. REG (registers­ ASSEMBLER SPTMP) SP LD, nary, relocating, linking FORTH loader 7 HL PDP, HL RETP ) LD, IY PDP, IX POP, (PDP. REG) EXX, 8 AF' AF EX, (PDP. REG) FORTH ; (mentioned in the last column); a com­ 9 plete floating point package, in both 10 CODE RTI (registers- PDP. REG EI, RETI, END-CODE 11 high-level and assembler; an H-19 12 INTERRUPT (-) NooP RTI ; screen editor; a Z-8000 FORTH; and a 13 programming style article. Almost as 14 (SAVE. REG) - registers) good as the articles are the numerous 15 ASSEMBLER AF PUSH, BC PUSH, DE PUSH, HL PUSH, FORTH ads. I suggest ordering a copy before SCR # 256 DDJ runs out. ' o ( FORTH DIMENSIONS INTERRUPT HANDLER COMMENTS ) 1 2 SPTMP holds the stack pointer RETP is the address of the Correction 3 during interrupt service return 'stack pointer In the last column there was a typo in 4 Hampton's screen. For ?TERMINAL the 5 (PDP. REG) is a macro which generates code to restore a reg set 6 2BCD should have been 2BC3. 7 PDP. REG is a macro which generates code to restore the machine 8 9 RTI is the return from interrupt word, it restores the machine, The FIG National Convention­ 10 enables interrupts and returns by Philip Plumbo 11 The FORTH Interest Group presented 12 INTERRUPT is the high level interrupt word, NooP is a place 13 holder for the high level service routine its fourth annual National Convention 14 on Saturday, October 9, in San Jose, Cal­ 15 (SAVE. REG) is a macro which generates code to save a reg set ifornia. The turnout was impressive SCR # 257 (over 500 people), as was this year's ex­ o ( FORTH DIMENSIONS INTERRUPT HANDLER ) panded schedule of seminars. For the 1 first time in FIG's history, the number of 2 SAVE. REG ( - registers) ASSEMBLER (SAVE. REG) ~, AF" AF EX, EXX, (SAVE. REG) IX PUSH, IY PUSH, HL DE EX, lectures exceeded the time available, and 4 RETP ) HL LD, HL PUSH, HL DE EX, SP SPTMP ) LD, so lectures ran in parallel throughout the 5 S0 @ 128 - SP LD, FORTH 6 day. (Unfortunately, they were all top­ 7 CODE INTERRUPT. SERVICE (-) notch, making it difficult to choose 8 SAVE. REG • INTERRUPT HL LD, NEXT-LINK 1+ JP, END-CODE which to attend). 9 1 i1l >INTERRUPT (-) [COMPILE] • CFA • INTERRUPT I, ,• The Standards Committee gave an up­ 11 date on its work of the past year, report­ 12 VECTOR. INTERRUPT ( addr - • INTERRUPT. SERVICE SWAP 13 ing that the'task of defining FORTH-83 14 was proceeding smoothly and without 15

14 Micro Cornucopia, Number 9, December 1982 with your micro, you know how im­ stacked high with the latest FORTH pub­ tify what we have." He urged the audi­ pressive that is. lications. The 1982 Proceedings of the ence to spread the FORTH word widely, Creative Solutions, Inc. showed a Rochester FORTH conference (on data-base especially in "recognized" literature, re­ FORTH for the Hewlett Packard 68000- and process-control applications), minding us that FORTH is virtually un­ based computers. Their demonstration Haydon's All About FORTH, The FORTH known in industry and academia. Those included various animations, high-reso­ Encyclopedia by Derick and Baker, and few people that have heard of FORTH lution graphics routines, music-synthe­ Huang's And So FORTH attracted lots of often know it only as a "write-only lan­ sis, and a FORTH interpreter all running stand-up readers to the MVP booth. guage" or "a variant of assembler." "simultaneously." You could shift from Mr. Kogge, a senior engineer in ad­ one task to another with a few simple vanced system architecture for IBM and A High-Level Interrupt Handler­ commands. adjunct professor at SUNY-Bingham­ by Ward Harold C. H. Ting displayed a Chinese-char­ ton, gave the keynote address titled "On The March/ April FORTH Dimensions acter generator/symbol processor capa­ Removing the Magic from FORTH." Mr. (vol. 4, no. 2) published an interrupt ble of creating and manipulating any Kogge cautioned the FORTH communi­ handler designed to allow the use of ideogram interactively. ty that "If we wish to avoid being con­ high-level FORTH words. When the in­ The friendly people of Mountain View fined to the dustbins of technology we terrupt occurs, the machine state is Press were there with a long table must make a conscious effort to de-mys- saved, the high-level word's code field address is loaded into the interpreter SCR tt 258 pointer, the word is executed, and the o ( FORTH DIMENSIONS INTERRUPT HANDLER COMMENTS ) machine state is restored. 1 2 SAVE. REG is a macro which generates code to save the machine Ward Harold of E. R. Squibb & Sons, 3 Inc. has modified the Fig version to work 4 INTERRUPT. SERVICE is the code word which the interrupt is 5 vectored to; it saves the machine, loads the IP with the PFA with UNIFORTH. Ward's version is pre­ 6 of INTERRUPT and jumps to the inner interpreter sented here as an excellent example of 7 well-documented FORTH. He has used 8 >INTERRUPT installs a word as the high level service routine in 9 INTERRUPT e.g. >INTERRUPT TEST, where TEST is the high CTC 0 and 1 as a one-second interrupt 10 level service routine counter for an example of the handler. 11 12 VECTOR. INTERRUPT sets INTERRUPT.SERVICE up as the service Several Macros (POP. REG, SAVE.REG 13 routine for the vector address on the stack and their parent versions) are used to 14 clean up the source code. If you still have 15 any questions then read the original FORTH Dimension article or check with SCR tt 259 o VARIABLE CNTR 0 CNTR VARIABLE INTERVAL 0 INTERVAL one of us. 1 A high-level interrupt handler buys 2 HEX 3 you transportability and ease of coding. 4 0FF12 VECTOR. INTERRUPT You lose speed because all registers have 5 to be saved and restored, and a high-lev­ 6 INITCTC 027 18 PC! 069 18 PC! 0C7 19 PC! 05D 19 PC! 7 el word executed. For slow interrupts 8 KILLCTC 003 18 PC! 003 19 PC! ; (spaced more than 0.01 second apart), 9 1111 DECIMAL the high-level handler will work fine. 11 12 : TEST (-) CNTR @ INTERVAL @ = 13 IF 1 CNTR 7 EMIT ELSE 1 CNTR +! THEN Next Month 14 The FORTH-83 preliminary standard 15 >INTERRUPT TEST is just about ready to be released, and the next column will include a summary of SCR tt 26121 o ( FORTH DIMENSIONS INTERRUPT HANDLER EXAMPLE COMMENTS ) the changes. Plus, we'll cover new com­ 1 mercial versions of FORTH and exam­ 2 0FF12 VECTOR. INTERRUPT sets INTERRUPT.SERVICE up as the service ples of FORTH in OEM instrumentation. ~ routine for vector address 0FF12 4 Future subjects include a label maker, 5, INITCTC sets CTC channels 0 and 1 up to do 1 sec. interrupts Epswriter (using your MX-80 as a type­ 6 7 KILLCTC stops the generation of CTC interrupts writer), and hard disk interface. Best 8 holiday wishes to all! 9 TEST increments CNTR until it equals INTERVAL and then resets 10 it and emits a beep 11 ••• 12 >INTERRUPT TEST installs TEST as the high level service routine 13 in INTERRUPT, the high level interrupt word 14 15

Micro Cornucopia, Number 9, December 1982 15 Serial Print Driver By David Thompson

The following is the much-requested PRINTER DRIVER general purpose serial printer driver for WRITTEN BY DAVID THOMPSON 11112/82 the BB I. It was written for the Crowe WRITTEN FOR THE CROWE z80 ASSEMBLER Assembler. Use your text editor to move COMMAND LINES TO ASSEMBLE: CROWE PRINT.z80 the semi-colons around and change the LOAD PRINT baud rate and BIOS bytes to set it up for JUMPER JB4 (CHANNEL A) OR JB5 (CHANNEL B) AS FOLLOWS: your system. 7-8, 11-12, 15-16, 19-20, 23-24, 27-28 Then assemble it and you are on your way. Those of you writing software for Suggested wiring for the printer cable: others might look at the heading. This is the kind of information that I like to get Big Board - printer (usually) 1 1 ground with a new piece of source. 2 3 transmit data (from Big Board) 4 6 request to send (RTS) (from Big Board) 5 20 clear to send (CTS) (from printer)· ••• 6 7 data set ready (DSR) (tied high on the BB) • CTS can be whatever line the printer raises when it is ready to receive characters. (Letters continued) You only have to use the RTS or DSR lines if your printer requires a high level input from the computer before it will acknowledge by raising CTS.

ORG 100H (UNCOMMENT THE PORT YOU WANT AND COMMENT OUT THE OTHER WITH ";") Dear Editor, •••• PORT A ADDRESSES •••••••••• , Oh Where, Oh Where DATA EQU 04H PORT A DATA ADDRESS has my Micro C gone? STATUS EQU 06H PORT A STATUS ADDRESS BAUDGN EQU OOH ADDRESS OF PORT A BAUD RATE GEN. , Oh Where, Oh Where can it be? ; •••• PORT B ADDRESSES •••••••••• , ;DATA EQU 05H PORT B DATA ADDRESS If it's ready, dear Dave, ;STATUS EQU 07H PORT B STATUS ADDRESS will you send it along? ;BAUDGN EQU OCR ADDRESS OF PORT B BAUD RATE GEN. •••• EDIT THE FOLLOWING TWO EQUATES FOR YOUR OWN SYSTEM •••• Or has Oregon dropped I also edit the SIO INITIALIZATION TABLE to I I select the proper bits/char and parity I into the Sea? , BAUD EQU OEH 05H = 300 BAUD PhilPlumbo 06H = 600 BAUD 1128 Dayton 07H = 1200 BAUD OAH = 2400 BAUD 5t Paul MN 55104 OCH = 4800 BAUD OEH = 9600 BAUD , OFH =19200 BAUD JMPTABL EQU OE80CH USE E80C WITH DRC CONFIGURED CP/M USE EAOC IF YOU USED DRC BIOS , WITH YOUR OWN COPY OF CP/M WORKPLA EQU OEF20H THIS IS WHERE THE PRINT ROUTINE AND THE A REGISTER PATCH Editor's note: WILL RESIDE (ABOVE PFM) OK Phil, we were late with issue #8 (and we'll be late again with this issue). But since BOOT EQU o RETURN TO CP/M RDY EQU lOR IS THE SIO READY FOR ANOTHER CHAR? you're so well versed, I feel I have to reply. INITCNT EQU 09H LENGTH OF INITIALIZATION TABLE Though there is no rhyme nor reason for it. , ; INITIALIZE THE PORT ••••••••••• , .... There once was a journal so witty, INIT LD A,BAUD SET BAUD RATE GENERATOR that it didn't belong in the city, OUT (BAUDGN),A ; so it packed up its kit, INITA LD HL,INITBYT POINT TO FIRST CONFIG BYTE moved even the wit, LD C,INITCNT MOVE RIGHT NUMBER OF BYTES INITB LD A, (RL) but it's still late, which is surely a pity. OUT (STATUS) ,A ; INITIALIZE SIO FROM INITBYT TABLE INC HL DEC C (Letters continued on page 20) JR NZ,INITB

16 Micro Cornucopia, Number 9, December 1982 Talking Serially By David Thompson

MOVA LD HL,JMPA MODIFY THE CBIOS JUMPTABLE If you need to make two computers LD DE,JMPTABL communicate with each other via RS- LD BC,0009H MOVE 9H BYTES LDIR 232, then chances are the following tac- , tics should make them talk. MOVB LD HL, JMPB ; MOVE THE PRINT ROUTINE INTO LD DE,WORKPLA HIGH MEMORY You need two male RS-232 connectors LD BC,25H MOVE 25H BYTES and some cable with 7 or more conduc- LDIR tors. JP BOOT NOW WE'RE ALL DONE INITIALIZING •••• THIS OVERLAYS THE BIOS JUMPTABLE AT CONOUT, LSTOUT, AND PUNOUT. ; JMPA JP WORKPLA ; 6 BYTE PATCH - RETURNS CHAR. IN A JP WORKPLA+06H ; SERIAL OUTPUT ROUTINE (LST:) 1 ground 1 ground JP WORKPLA+06H ; SERIAL OUTPUT ROUTINE (PUN:) 2 Xmit data 3 Receive data •••• THIS IS THE 6 BYTE PATCH WHICH MAKES SURE ANY CHARACTER SENT •••• 3 Receive data--2 Xmit data TO THE CONSOLE IS RETURNED IN THE A REGISTER 4 Request to send-5 Clear to send , JMPB LD A,C 5 Clear to send--4 Request to send CALL OFOOCIl SEND THE CHARACTER TO PFM 7 Signal ground--7 Signal ground LD A,C UNMESS THE A REGISTER 8 Data Carrier --8 Data Carrier RET GO SCREAMING BACK Detect Detect •••••• THIS IS THE ROUTINE IN HIGH MEMORY WHICH CHECKS THE STATUS OF •••••• THE SIO AND SENDS IT CHARACTERS WHEN IT IS READY OUTCHAR LD A,RDY RESET THE SIO SO WE CAN SEE IF You will need to pull pin 8 high so both OUT (STATUS) ,A IT IS READY ends know that the interface is active. IN A, (STATUS) AND 20H IF BIT 5 IS NOT SET THEN LOOP The easy way to do this is to jumper pin 6 JR Z,OUTCHAR (data set ready, DSR) to pin 8 on the Big SIOX IN A, (STATUS) IF BIT 2 IS NOT SET THEN LOOP Board end. You'll notice on both the BB I AND 04H JR Z,SIOX and II that DSR is tied high through a LD A,C BITS ARE SET SO OUTPUT CHAR TO SIO resistor. OUT (DATA),A RET RETURN TO CP 1M Both systems must think they are ter­ minals (DTE). Each is expecting to see a •••••••••••••• TABLE TO INITIALIZE THE SIO •••••••••••••••••• modem (DCE) on the other end. This is , why lines 2-3, and 4-5 are swapped be­ INITBYT DEFB 1SH RESET SID tween the two connectors. DEFB 01H SELECT REGISTER 1 DEFB OOH NO INTERRUPTS On the BB I, jumper pins 7-8, 11-12, DEFB 04H SELECT REGISTER 4 15-16, 19-20, 23-24, 27-28 on either JB4 -- select one for register 4 ------for channel A or JB5 for channel B. DEFB 45H 16X CLOCK, STOP, ODD PARITY On the new BB II, jumper pins 3-4,7- DEFB 44H 16X CLOCK, STOP, NO PARITY 8, 11-12, 15-16, 19-20, 23-24 on JB1 for DEFB 47H ; '16X CLOCK, 1 STOP, EVEN PARITY channel A or JB3 for channel B. Now Modem7, YAM, or even PIP can DEFB 03H ; SELECT REGISTER 3 (RECEIVE DATA) transfer data either way.

-- select one for receive register 3 -~ DEFB OE1H ; S BITS/CHAR, AUTO ENABLE, RECEIVE ••• DEFB 61H ; 7 BITS/CHAR, AUTO ENABLE, r.ECEIVE

DEFB 05H ; SELECT REGISTER 5 (TRANSMIT DATA)

-- select one for transmit register 5 -- DEFB OEAH ; DTR, S BITS/CHAR, ENABLE XMIT, RTS DEFB OAAH ; DTR, 7 BITS/CHAR, ENABLE XMIT, RTS

END

END

Micro Cornucopia, Number 9, December 1982 17 • • 23022 Yeary Lane N.E. I P. O. Box 226 I Aurora, OR 97002 * NEW LOW PRICES* Word Processing Programs lCl *125.00 CASH REBATE $24.95 on your purchase of A unique, modular set of software tools designed to make your word processing chores faster and easier. PROGRAMS INCLUDE: dBASE II * Text formatter - generates justified text for manuals, letters, etc. price before rebate '590.00 * Print utility - for program listings, rough drafts, non-justified prin­ ting jobs * File encryption/decryptIon - protect your files against ac­ Less rebate 125.00 cidental display or casual probing * File transliteration, word/line counting, and more - 9 programs in all YOU PAY 1465.00 BIG BOARD SOFTWARE· $19.95 * TIME" DATE - Real Time Clock programs designed for BB's Other Specials for dBASE II users: with a ZSO erc chip installed. Time programs, time/date stamp files and more. * X - is a disk copy program so easy to use that you'll • dBABE User's Guide • 27.60 never use PIP again to copy files! * ARK - maintains an archive of • Quickscreen '126.00 up to 64 single density S" disks on a master disk - no more looking • Quickcode '226.00 thru dozens of disks for one program! Get organized! -dUTIL • 68.00 Word Processing Worksheets Languages 8080/Z80/8080 Footnote .UO 8upercalc '198 CB-80 '419 ASSEMBLY LANGUAGE Grammatlk '128 Plan 80 '418 CBasic2 1I&1lllerge • 80 CalcStar '180 Basic 80 •'282 98 TRANSLATOR· $29.95 Palantir ADA '196 Proofreader '430'108 Data Base Managers PLll-80 1420 Why go nuts hand-translating SOSO mnemonics into ZSO mnemonics, Spellbinder 1267 Condor I 1213 CP+ '126 or vice-versa? Our XLT macro processor does the work for you! Spellcheck 1200 DataSt&r '210 Unio& Spell«uard 1212 dBABE II tspec1&l • 90 8pellStar '160 IIUestone 1248 Miscellaneous For CP/M 2.2 8" single density disk systems -48k RAM or more The Word • 60 Selector IV ta18 Supervyz '60 USER'S MANUALS ONLY: $3.00 ea. WordStar '282 Selector V '386 8martkey ...... • 39 CPIIIPower Accounting Communications NW Stat Pak 1366• 76 BUY ALL THREE FOR $49.95! SSG 1480 Crosstalk .UO lIathellaglc o. Palantlr '664 Remote .UO dPATCH •'168 72 Send check or money order to: Lyno • 90

6708 Melrose Your Search is over I We have Software Finder Listsl Los Angeles lIedical - over 60 packages IlSted ...... '26.00 L.A. Software California 90038 8&les Tracking and AnalyslS ...... CALL Real Eltate ...... CALL California residents add sales tax CP/M is a trademark of Digital Research iiiiiiiiiiiii ishere.iiiiiiiiiiiiiiii * Copyright 1982 L.A. Software *

THE DUTCH CONNECTION WORKED IN PORTLAND HARD TO GET PARTS For Sale The Easy Way IT CAN WORK FOR YOU

5-Megabyte Winchester SASI Adapter for the Big Board Bare Big Boards, parts, COM 8116 $12.50 disk drives in stock. $239.50 CRYSTALS Integrand 700DV vertical 13.9776 MHz 3.00 SASI host adapter and software ready to drive cabinet with power run with your XEBEC type controller and supply. Room for 2 or 3 20 MHz 3.00 Seagate 506 type winchester. 5.0688 MHz 3.00 Includes utility programs to test your con­ drives & Big Board $275. troller and winchester, and to reconfigure your CP/M to make the winchester Drive A:. POWER CONNECTOR 3.00 Your floppies become B: and C:. Stock horizontal drive cabinet with Borchert RESISTOR PACKS Power supply. Room for 2 For the Pair 1.00 NORTH AMERICA: APPLIED I horizontal drives and 200 California Ave., Suite 205 Palo Alto, CA 94306 Big Board, $250. POSTAGE 2.00 (415) 325-4800

EUROPE & FAR EAST: TWENTE DIGITAAL Digital Research Computers Deurninger Str. 470A The Electronics Shop PO Box 401565 7522CS ENSCHEDE 131 North Decatur Garland, TX 75040 The Netherlands Olyapia, WA 98502 (214) 271-3538 Regional Distributorships Available 206-357-6304 Coming: Version for the XEROX 820. Inquire! 206-352-7530 CBBS CP/M is a trademark of Digital Research Corp. Pascal/Z looked good, but at a price. mediately; not so with Pascal. Pascal/Z The code executes quickly, but the com­ It is a compiler rather than an inter­ piler takes a while to get from source to preter. That means that translating the Review by Rex Buddenberg finished. COM program. The biggest as­ code to machine language so you can try 1910 Ash St set that I discovered as my programming it will take longer even though the re­ North Bend, OR 97459 progressed was the package's ability to sulting code will run faster. Second, you compile modules separately. must be prepared for a bit more tinkering I chose Pascal/Z a couple years ago to before you get something to run-a cou­ run on my system. This article explains Separate Compilation ple of long nights are usually on order. some of my reasons for choosing Pascal Separate compilation is a feature of the As a result, there is less impulsive as a language, and Pascal/Z as the com­ implementation, not the language. First changing and more planning to Pascal piler. a main module must be prepared. That programming than BASIC. I was not able to compare different module must contain all global variable Most Pascals designed for 8-bit ma­ compilers and had essentially only the declarations and the main program chines limit the maximum integer to sales literature and some reviews to block. Each procedure and function 32,767 which is sometimes a problem for work on. The things that attracted me to called by the main program must either accounting software. that particular compiler was that it was a be in the main module or must be de­ Another pitfall is input and output native code compiler; that is, finished clared as an external. Externals can then processing. Pascal was defined when programs are .COM files that run di­ be put into up to 15 CPM files. magnetic tape was the basic means of rectly from CP/M. (By way of reference, A print routine, for instance, can be mass storage, so only sequential file ac­ JRT Pascal requires a run time execu­ quickly modified and relinked without cess is defined in the standard. Howev­ tive.) recompiling the whole program. er, everyone writing software wants ran­ Pascal/Z was also reputed to be a dom access and all Pascal compilers "fast" compiler; what that means is that Problems support it. All differently. This greatly finished programs run quickly. Compi­ The compiler, assembler, and linker limits program portability. lation time is fairly slow partly because it generate numerous files among them Pascal/Z doesn't recognize the CP/M accesses the disk a lot. gobbling up disk space in a hurry (very end of file character so you have to make Why Pascal much unlike the old BASIC interpreter) sure you write a dummy EOF into you Why did I choose a Pascal compiler? and makes compilations slow. program. My original system is a North Star (my You can alter a few lines of code in a Big Board has only been up and running BASIC program and check the result im- (continued on next page) a couple months now) and it came with a fairly decent BASIC interpreter. However programs became very cum­ BUYING A BIG BOARD? READ THIS FIRST! bersome once they got a little complex. All variables were global and the limita­ Let me put it together for you. I am experi­ tion on variable names didn't help me keep track of what each variable did. enced at electronics assembly and am set up to Pascal seemed to offer the modularity produce finished and tested Big Boards you can that I felt I needed in programs-build be proud of. If yours arrives with any one segment to access the file, say; then defective parts, I'll test it and find the use the same code any number of times problem. Negotiating for spares is between in any number of programs. you and Digital Research. Pascal also offered several logical de­ vices that BASIC didn't such as WHILE­ Normal assembly time is about two weeks. DO and REPEAT-UNTIL constructs. I al­ Total charge is $100 or $60 if you have so felt that the structured approach already bought the kit with the sockets required by Pascal was what I needed to installed. Include $5 extra for return keep discipline in my programs. It all sounds good, doesn't it? Has Pascal been postage. Idaho residents add $3 sales tax. the answer to my needs? Well .... par­ I also repair botched Big Boards for a price tially. to be determined upon inspection.

Which Pascal? Send your kit (or have Digital Research send I had been watching Pascal ever since it) to: UCSD released a version that was sup­ Jay Papillon posed to run on 8080 micros. I tried tin­ 871 N. Eisenhower kering with UCSD Pascal and gave up Moscow, Idaho 83843 the operating system as a bad job-be­ tween North Star 110 routines and my If you have any questions or wish references Hazeltine terminal, the screen editor just as to the quality of my work, call (208) 885- wouldn't work. Then UCSD rewrote the 7093 weekdays; evenings call (208) 883-0847. licensing agreements and the price went up. Time to scout the competition. ASK ABOUT PRICES FOR COMPLETE SYSTEMS

Micro Cornucopia, Number 9, December 1982 19 a tall). Also, the buyer has to have anoth­ place. I got them all "as is" and have re­ er CP/M machine to bring up the system paired them as I've needed them. I run or has to shell out another $99 for a them at the 6ms step rate with no prob­ "starter kit." I plan to dig through the lems. They are very reliable and the only LETTERS code and find enough info to make a errors I've experienced are the CP/M memory map so I can program a memo­ comments when I forget to reboot. ry-mapping ROM. Just receivedJRT Pascal-isn't it beau­ Victor tiful! Also have C80. Now if I can just Dear Editor, become ever so slightly adept ... what Enclosed is all the "complete" docu­ Editor's note: fun. mentation on the ROMAC Sculltek sin­ Victor is still trying to get Sculltek's atten­ Jim Buckler gle board computer. They have a full tion so he can complete his system and he did 325 Rita Boulevard page ad in each Computer Shopper. not ask that I publicize his plight. But I felt Melbourne Beach, FL 32951 It is a straightforward Z80 64K system that this information was important enough and in January 1982 it seemed to me like to other computer builders that I have taken a better deal than the Big Board. RO­ the liberty of running this letter without his MAC sells a terminal board (supposedly full name and address. The Sculltek manual Dear Editor, emulates the Z19), PROM programmer, is hardly worth the paper it was xeroxed on. If You made some goofs editing my arti­ speech board, and controller board. I it were the scribbled notes from the designer's cle on the MFE drives (See the MFE In­ bought both the computer and terminal notebook, then they had a very amateur de­ terface article in issue #8). In the third boards. signer. Tektronix expects its engineers to paragraph, "location 215" should be "lo­ However, I am now disappointed by maintain substantially better documentation cation Z15" and the -15V should read the lack of documentation, the refusal of on the first pass at a new design. The best of -12V. the manufacturer to answer my letters, luck, Victor. The fourth paragraph should indicate and misleading advertising. The manu­ that the drives with only a single LED facturer did not mention that the will read only double-sided disks (you firmware (code in ROM) was only avail­ edited it to indicate they would read only able on disk (that part that was available Dear Editor, single-sided). This means that the user I built the EPROM programmer in is­ has to punch the standard double-sided sue #6 for 2716s and 2732s. I found that index holes on all his disk envelopes. See (Pascal Z continued) some 2716s need to have pin 21 tied to below. +5V to work reliably during read and Also, I forgot to include the double­ A final hassle for me is related to my verify. To do this I changed SW2 to a sided option jumpering for the drives. needs. systems presented the double-pole-double-throw switch. One These alterations are not well described most practical uses for computers to me side is used just as it was in the original in the MFE manuals. To set up drive 0 as (in close competition with word process­ schematic to switch programming volt­ sides A and C; cut HS1, Jumper HS2 and ing). Pascal can be used to build pretty age for the 2732. The other side is wired DS1, and solder a wire from AS2 to DS3 powerful database systems. The prob­ to switch pin 21 of the 2716 between the (the pins next to the numbers). To set up lem is when you need to add a field to programming voltage and +5V. drive 1 as sides Band D; jumper HS2, each record ... you must redefine so Dennis Juve DS2, and AS4. DS stands for disk select, much of the program that it is not a mod­ 2935 6th St AS stands for alternate select. ification--it is major surgery and no Marion, Iowa 53202 Rick Gerson one has designed a database program Ontario Cancer Institute generator to create Pascal code. 500 Sherbourne St Toronto, Ontario, Canada M4X 1K9 Conclusion . Dear Editor, Lest things sound dismal, I found Pas­ Your recommendation for removing cal much more to my liking than BASIC. rosin from printed circuit boards is I have joined the Pascal/Z User Group greatly appreciated. I~ave recently primarily because I learn most of my pro­ come upon several probtems in boards gramming by seeing how somebody else built by novices, and the problems were solved a problem, then adapting his pro­ caused by rosin residues. We hav~ high gram. Like the Micro Cornucopia bunch humidity and salty air, so rosin contami­ single-sided flippy double-sided flippy that I met at Portland in June, this is a nation can result in anything from occa­ (normal) (normal) personable group. sional glitches to complete failure. Pascal programs are much easier to I use alcohol like you do but I use a read than their BASIC counterparts. It is cheap paint brush along with plastic far easier to remember what you pro­ foam containers (from supermarkets) to grammed 6 months ago, or read and un­ catch the drippings. derstand what someone else pro­ Be careful about breathing alcohol grammed. For me, this is well worth the fumes. Though they are not as toxic as price of the compiler. some solvents, they are both dangerous single & double-sided flipp~ to health and a fire hazard. Good venti­ EXTRA HOLES PUNCHED FOR MFE DRIVES ••• lation is a must. I have Shugart 901 drives all over the (continued on next page)

20 Micro Cornucopia, Number 9, December 1982 CHRISTMAS SPECIAL * 25% OFF GRAPHICS For Business, School, Engineering and Fun. DEMO DISK - Sample Programs Demonstrate: BLOCK GRAPHICS - Based on TRS-80' graphic characters 2 • DESIGNS • GEOMETRIC SHAPES· PICTURES • ANIMA­ - TRUE 8 x 10 dot matrix characters. This is the real TION • LINE AND BAR GRAPHING • PIE CHARTS • GAMES thing.- Machine language routines- include: • AND COMPUTER SKETCHING • The programs are written in • POINT Graphics such as • SET • RESET • TEST Basic and machine language on an sssd 8" diskette. • CHARACTER Graphics with direct video access such as: - ALSO included on the diskette are the fully documented source • PEEK • POKE· PRINT@ and object programs for the graphic commands, written in Z-80 • COMPLIMENT rectangular areas of the screen from a mnemonics. single block to the entire screen for SPECIAL EFFECTS. - PLUS full firmware documentation and instructions for "burn­ ~ These functions will INTERACT with the video DIRECTLY ing" your own character set. from the calling program, or via two separate BUFFERS, for NO MODIFICATIONS to the printed circuit are required. The fast full screen swaps. Do • ANIMATION • SPECIAL EFFECTS graphic board plugs directly. into the character eprom and U75 even • "MULTIPLEX" information, etc. sockets. Then only five solder connections, two jumpers and a new - UNIVERSAL 1/0 allows access by any language that can video crystal (included) will put you in touch with true graphics. PEEK and POKE into main memory and CALL machine language routines. Note: many languages can use DIRECT 1/0 with the above functions without relying on "universal" 1/0. THREE HUNDRED AND EIGHTY-FOUR CHARACTERS TOTAL ~------You heard right - made up of • 128 characters presently acces­ I I D A C P.O. Box 13456 sible on the Big Board· PLUS 128 more composed of. 64 I • • • • Systems Salem, Or 97309 graphic • 13 border or axis. 19 Greek· 11 math· 8 foreign I - Graphics -just what my Big Board has been looking for. language • 9 pronunciation • and 4 special characters • PLUS I - Assembled and tested including interconnect cable, other 50 an entire set that is switch 4 selectable in place of the character I hardware and demo diskette ...... $127 ea. set just described - create your own unique character set. Payment by: [ j Check [J Money order Amt _____ *Price drop from $169.95 to $127.50 good through January 31, I Name 1983. I Address 'TRS-80 is a trademark of . City State Zip _____ 2Characters are blocks: 2 wide by 3 hfgh in an 8 x 10 dot matrix, for a I Shipping included in price. Will be available soon outside total of 11,520 addressable points. I USA. Shipped via UPS 6 to 10 weeks after your order received. JSimilar to TRS-80 commands. 4Switch not included. I

(Letters continued) (from user disk #3). I send the disk back if you that I didn't exist. $1200 is a lot of money ask for it, (and I put your choice of user disk to misplace. Dear Editor, on it besides). Most folks send an extra disk On May IS, I received my keyboard I have a model 771 George Risk Indus­ upon which I put the free user disk so that I and video modulator from Jade but still tries keyboard. Not all the keys respond can keep the original submission in my files no drives (and I was planning to use the as I would expect, some not at all. Also, I (muchly appreciated). But either way is fine. power supply from the drives to power would like to protect my system from Put the disk in a small box (thick enough the BB). voltage surges. Any ideas? that it won't fold). Then write on it "MAG­ On June I, I called Jade and they told Finally, I would like to send you some NETIC DISK DO NOT FOLD." Even then me that the drives had been shipped 2 articles. Is WordStar OK? Do you send the post office manages to fold about 10 per­ weeks before by first class mail. That back the disk? How do I pack it? cent of them. However, the small, thin-card­ meant that they should have already ar­ Keith Von Borstel board "disk mailers" get folded over half the rived. 4481 Slodusty Rd time. Anyone who says postpersons are lazy On June IS, I called Jade again. The Garden Valley, CA 95633 has never seen what they can do to a package. customer rep was very courteous (after putting me on hold for $20) and told me I Editor's note: didn't exist. He told me he would look I don't know anything about your keyboard into my problem and drop me a letter if but if you put a 100 ohm resistor and an LED Dear Editor, he found out something. in series-then hook the combination be­ I am in the U.S. Air Force and am sta­ Finally, a note to frighten the stout tween each keyboard output pin and ground tioned in Germany. On February 12 I or­ hearted souls who are still following you will see what the output is for each key dered a Big Board from DRC, some hard­ along. If Jade ships my drives in one box (for all the keys that are encoded). Then you ware from Jade, and a subscription to (rather than in two as I asked) the weight can write a translate routine for the BB to Micro C from you (by the way, Micro C is will be 8 I bs. over the air mail max­ change the output to what you want. probably the best users group newsletter imum. Does the phrase "a slow boat to Get a MOV (metal oxide varister) from GE I've ever had the pleasure to subscribe China" mean anything to you? for surge protection. They look like disk ce­ to). Anyway, if I ever get my BB up and ramic capacitors but they knock line spikes By March IS, I had received my Micro running I promise to write and tell ev­ down to almost nothing. The larger MOVs C and a letter from Jade saying that the eryone how my system turned out. handle bigger spikes. $1200 I had sent was insufficient. SRA David B Burgess Words tar is just fine. I have a little routine On May I, I called Jade (cost 5 cents Box 5921 that takes the garbage out of WordStar files per second) only to have them tell me APO NY 09012 •••

Micro Cornucopia, Number 9, December 1982 21 C'ing Clearly You will need to define EOF and this formfeeds to linefeeds, tabs to spaces, depends on the character your compiler assembly listings to assembler source, Column by Tony Ozrelic generates when it detects end of file. It 8080 opcodes to Z80 opcodes, and so on. L.A. Software also needs a name so let's call it CONV.C Of course, the conversion of 8080 to 6708 Melrose and after compilation we can run it like: Z80 would be a little more involved but Los Angeles, Ca 90038 the overall structure would be the same: Just a few beginning notes. It appears A>conv lst: that the Code Works is shipping version char line[80]; 2.0 of their Q/C C compiler. It comes Text.dat gets searched, character by with an all-new 138-page manual which character, for characters outside the nor­ while(gets(line) ! = EOF) { is even better than the original, and the mal printing range. If it finds a line feed, H(is8080(line» { compiler has been improved too. For in­ for instance, it would be converted to the convz80(line); stance, in conjunction with 's printable characters ~J. A character with puts(line); M80 assembler, it generates smaller pro­ the value 129 would be converted to a } grams since the linker can select only -~ A. By simply changing the tests in the else puts(line); those routines needed from the runtime WHILE loop, we can filter out and con­ } library. See the New Products section for vert stuff till we run out of ideas. For in­ more information. stance, you could convert WordStar files ••• For those of you looking for reading to straight text, uppercase to lowercase, material on C, I recommend (of course) The C Programming Language by Kernighan & Ritchie, and The C Puzzle FACTORY PRIME PARTS Book by Feuer. The first book is the de­ finitive reference for the language, the latter explores different ways to write C 64K programs. We'll have a review of it shortly. Both of these can be ordered DYNAMIC RAM from Opamp Books here in L.A. Their 4164 1- 7 $5.50 ea. number is 213-464-4322. They ship quickly and take Visa and Me. etc. 8-24 $5.28 ea.

Filters TYPES 25-99 $5.00 ea. A filter, in the programming sense, WRAM OEM PRICES AVAILABLE does pretty much the same thing it does 100 to 10,000 pCS. in hardware: it accepts or rejects certain Compufers© FACTORY PRIME PARTS things (in this case certain information). Suppose, for instance, that you want only to display all the control characters in a OEM KAYPRO II © 10 $1695°Oea. text file on your printer. To do this you KAYPRO II© a trademark of NON LINEAR SYSTEMS would want to convert all the characters whose ASCII values are less than a space FACTORY PRIME PARTS CONNECTORS or greater than a tilde to some visible RS 232 GOLD MALE 1-24,1.75ea. 25-99, 1.52 ea. combination of characters that the RS 232 GOLD FEMALE 1-24,2.47 ea. 25-99, 2.16 ea. printer could print. That program might RS 232 GRAY HOODS 1-24,1.15 ea. 25-99, 98¢ ea. look like: OEM PRICES AVAILABLE

mainO { Scotch® char c; DISKETTES BUY NOW! while((c=getchar()) != EOF) { if(c < ") { 8" BOXOF10 24.95 2 BOX & UP 22.50/sox putcharC '); putchar(c+64); 51/4" BOXOF10 23.95 2 BOX & UP 22.00/sox } else if(c > '-') { 744D-ORH, 744D-10RH, 740-0 putchar(' - '); OTHERS AVAILABLE putchar('~ '); putchar( c-64); WRAM.PARTS ALL PRICES F.O.B. Beaverton, OR DMsion of else putchar(c); WRAM. Computer Corp. } CHECK CLEARANCE REQUIRED PRICES SUBJECT TO CHANGE 8243 S.W. Cirrus Dr., Bldg. 16 } Beaverton OR WOO5 Nov. 15, 1982 (503) 641-3550

22 Micro Cornucopia, Number 9, December 1982 BACK---­ Bringing Up WordStar ISSUES By Gordon Banks, M.D. 1360 Scaife Hall University of Pittsburgh ISSUE NO.1 (8/81) Power Supply Pittsburgh, PA 15261 RAM Protection Video Wiggle Probably the most popular word installation is complete. The answer Y:z PFM.PRN 16 pages processing program for CP/M is Word­ should be no, as there are a few more Star. It is easy to use, has extensive very useful patches that you can make. ISSUE NO.2 (10/81) "help" menus, and allows the document When you answer this question no (N) Parallel Print Driver to be edited and formatted using the you are asked to give the locations you Drive Motor Control same program. It is not as powerful as wish to change. Refer to your WordS tar Shugart Jumpers Program Storage Above PFM MINCE (a CP/M version of the powerful documentation for the exact locations, as Y:z PFM.PRN editor EMACS, which currently only the locations I give here refer to version 16 pages runs on mainframes), but it suffices for 3.0 and your version may differ. most needs and is easier to use for docu­ First, WordStar has an initialization ISSUE NO.3 (12/81) 4 MHz Mods ments. The WordStar installation pro­ area into which you can patch a routine Configuring Modem 7 gram contains prompts to allow installa­ to initialize your serial port. If you do not Safer Formatter tion with just about any hardware. do this inside WordS tar, it will be neces­ Reverse Video Cursor While in a few moments you can bring sary to run a separate program to do this FORTHwords begins 16 pages WordStar up on the Big Board if you prior to running WordStar. At the loca­ have the CP/M LST: device installed, the tion INISUB: (2A4 in version 3) patch a ISSUE NO.4 (2/82) ideal companion for WordStar is a pro­ jump to the large blank area MORPAT: at Keyboard Translation portional spacing printer such as the 2EO, (code: C3 EO 02). Then at MORPAT: More 4 M Hz Mods Diablo. Since the standard CP/M LST: patch in the initialization routine (actual­ Modems"Lync, and SIOs Undoing CP/M ERASE device has output, but no input, it is bet­ ly, it may be easier to do this using DDT Keyboard Encoder ter to install the printer using built-in after you have finished installing Word­ 20 pages port drivers which reside in WordStar, Star): and use the ETX/ACK communications ISSUE NO.5 (4/82) 2EO MVI A,07 ;1200 baud character Word Processing protocol. This allows the most efficient 2E2 OUT OC ;send to baud rate Two Great Spells use of the relatively small (256 byte) generator Two Text Editors buffer of most daisy-wheel printers. 2E4 MVI A,04 ;select sio register #4 Double Density Review First run the install program and select 2E6 OUT 07 ;sio chan B control port Scribble, a Formatter ADM3a from the menu. From the printer 2E8 MVI A,44 ;16 x clock, 1 stop bit, no 20 pages parity menu, select your printer, in my case, 2EA OUT 07 ISSUE NO.6 (6/82) the Diablo 1620. From the protocol 2EC MVI A,03 ;select register #3 BB EPROM Programmer menu, I chose the ETX/ ACK protocol, as 2EE OUT 07 Customize Your Chars this is implemented on the Diablo. 2FO MVI A,C1 ;8 bits transmit character Double Density Update 2F2 OUT 07 Self-Loading ROM I selected port drivers from the next 2F4 MVI A,05 ;select register #5 Terminal in FORTH menu. The Big Board ports are, of 2F6 OUT 07 24 pages course, direct i/o (not memory­ 2F8 MVI A,EA ;8 bits receive character mapped). WordStar then asks if you 2FA OUT 07 ISSUE NO.7 (8/82) 2FC RET 6 Reviews of C want the install program to try to find Adding 6K of RAM your ports or accept them from you. The If you want another baud rate, don't Viewing 50 Hz port configuration of the Big Board is forget to change the 07h in location 2E1 On Your Own begins such that WordStar cannot find your to the appropriate character (see the BB 24 pages ports properly, so you must specify documentation). The Big-Board has one feature that the ISSUE NO.8 (10/82) them. The port addresses for SIO port A ADM3a does not that will speed up Drive Maintainance (B) are: Interfacing Drives WordStar: clear-to-end-of-line. Patch Installing a New BIOS this character CX=18H) into location Flippy Floppies output 04 (05) 26E, after putting a 1 into 26D to indicate C'ing Clearly begins output status 06 (07) only one character is necessary for this Xerox 820 begins ready bit 04 (04) function. 28 pages mask 04 (04) WordStar has several built-in delays following cursor postioning and other ISSUE NO.9 (12/82) input 04 (05) BB II EPROM Program input status 06 (07) functions. This allows slow terminals to keep up without losing characters. I Relocating Your CP/M ready bit 01 (01) Serial Print Driver found them to be unecessary with my mask 01 (01) Big Board Fixes Big Board so I set them to zero. They are Bringing Up Wordstar located at DELCUS: (2AE) and DELMIS: Cheap RAM Disk The installation program will ask for (2AF). There are other delays at DELI: to 32 pages these bytes (in hex) in order given here DEL5: which control the waiting forvari­ and they should be entered as given for ous menus that you may wish to alter to $3.00 each $5.00 each your port. You will then be asked if your suit your own taste. • •• (US, Can, Mex) (Other Foreign) MICRO CORNUCOPIA Micro Cornucopia, Number 9, December 1982 23 A Cheap RAM Disk For the BB I

By Tony Ozrelic LA Software 6708 Melrose Los Angeles, CA 90038 213-932 -0817 Faced with ever lengthening compile D so Dynadisk becomes drive A and the Then you drive PB110w to turn off re­ time and an insatiable need for speed real disk drive" A" becomes drive D. fresh and initiate the 128-byte transfer. (my BB already runs at 5MHz), I've de­ DCOPY. COM will copy all of real Each time a byte is transferred, the byte­ signed a 256K RAM board plus the soft­ drive A to drive D (Dynadisk). It takes count/refresh register is incremented. ware to make it appear to be a single den­ about 45 seconds to copy 241K. And, of Immediately after the 128 bytes have sity drive. course, you can reverse the process and been transferred, PB1 is brought high to I've seen assembly time for 11K of copy the Dynadisk onto a real disk in 45 turn on refresh again and Dyna waits for source reduced from 30 seconds to 7 sec­ seconds. (Editor's note: are you single­ the next data transfer. onds and compilation time for a 18K C drive folks listening?) I have a detailed theory of operation source has been reduced from 5 minutes DFORMAT.COM formats the Dyna­ along with complete schematics, parts 20 seconds to 3 minutes 26 seconds. disk to look like the disk format. list, and software listings, but the whole Generally I've noticed that programs package would more than fill a whole is­ that access the disk a lot show the most Theory of Operation sue of Micro C. So, I will provide all the improvement (which would include edi­ In the block diagram, Dynadisk's main above plus a disk of software for $25. By tors like Mince and Wordstar). section is 256K bytes of memory. The January I hope to have a PC board avail­ next section contains the address regis­ able for an additional $40. How It Works ters which appear to CP/M as track and At that time I plan to have a complete The RAM disk (which I call Dynadisk), sector registers. For the sake of efficien­ kit available for $375. The complete is connected to the BB via the user PIa at cy, I set it up as 8 tracks, with 256 sectors package will include the board, soft­ J5. After booting up CP/M, you execute per track. Each sector contains 128 bytes. ware, parts, sockets, cables, and docu­ DYNA. COM which patches the disk I/O This means that the Dynadisk contains mentation; everything you need to put it calls (in the monitor), initializes the PIa, 8*256*128 or 262,144 bytes (two to the together. Be sure to write or call to verify and relocates itself to F800, just above 18th power). I use software mapping to availability before ordering the bare the PFM monitor. make my RAM disk look like the real board or complete kit. The program (all 200 bytes of it) moni­ thing. Editor's note: I'm sure you all know tors the disk I/O calls looking for refer­ Transfers are initiated by selecting a the prices of the commercial RAM disks, ences to drive D. Accesses to drive Dare track (0-7) and sending that byte to the so my main worry is that Tony will be translated into accesses to the RAM track register, then selecting a sector (0- overwhelmed by orders. Such a prob­ board. 255) and sending that byte to the sector lem. Additional Software register (the status of PBO indicates SWAP.COM swaps drive A and drive which register is being primed). •••

BIG ~ ----""'- BOARD"-r- --V °YNADISK

25(,K)(. 8 )----+----+---+_ DY"I,A,,,,, Ie. ~AM -+-----1---+----; ARR.AY

PB¢ -SECToR. LOAD

- TRACK LOAO

TIMING -II.A5 PB3 1----+--- Rj-w -SecToR, LOAD PB2. 1-----+---AooR/-oArA

ARDY

-ASTB GATING­ OUTPUTS: -MS)-CAS) ~ liMING- ReFR.ESH TIMING-" BR.Dy I---~ READ ACKNOWLE.DG-E. LOG-Ie. RE.G-ISTe-R LOAI>lNc;. 1:NPUTS: R/-w. -BSTB ~-~ -Re.Al> REQVE-5T ADDA/-DATA. '-----...---' REFQ.~H eIllAB~) ETc.. DyNAOl5k BLOcK DIAGRAM PBI +-----~ ReFIH:SH ENABLE 10/2&/'8'2... A.;r. O~R.ELle.

24 Micro Cornucopia, Number 9, December 1982 then add 400h. The next B addresses will Another Bell contain the dot matrix of the character. This bell mod requires only a resistor Only bits 0-4 are significant and the Bth and capacitor along with some spare address corresponds to descenders on gates already on the BB. It produces a lowercase letters. For example, the letter pleasing tone for about one-third sec­

/I A" corresponds to ASCII 41H so its dot ond. Video signal LCO is the audio matrix is located in the ROM at ad­ source. dresses 060BH-060FH. All you have to add is an amplifier and speaker. My video monitor has an audio Character ROM Don Brittain section. I added two resistors as a volt­ To quickly display the graphic charac­ 4200 Spruce Street, Apt. 208 age divider to handle the coupling be­ ters in the character ROM (all but one) Philadelphia, PA 19104 tween the BB and the monitor's audio in­ use PFM to change memory location 215-386-2684 put.

F34B (hex) from 20 to 00. Then type A_ Gary Hvizdak

(control-underline) followed by A A thru 1107 Country Club Ct #19

A Z. This will display 26 of the 32 funny The Z80 Can't Wait Bellevue, NE 68005 characters available. Five of the remain­ The BB I ZBO has its wait (pin 24) and ing six are availble by typing A _ followed bus request (pin 25) tied directly to +5V. +5v by A[, AI, A], AA, and AN respectively. The This is all right until you add something funny character corresponding to cntl-@ that needs to use either of these pins (like is not displayable using this shortcut. A some hard disk controllers). So, if you way to see all the funny characters is to need them, simply separate them by cut­ U51 Q change CSRCHR location FF76 to 00,01, ting the board run between them and 74 LSI2.3 02 ... 1F. then tie each to +5V through a 1K resis­ This way you can change the cursor tor. G. from 1/_" to the corresponding funny Now they work just like they did but character. (By the way, I assume by now you can also connect an open collector that this is common knowledge, but if TTL device and use them as Zilog in­ +SV II you prefer a blinking cursor, simply put tended. l2.) LC~ U9 pin 9 DF in location FF76.) U2S Note that in order to find where an Hampton Miller 7-+ LS32 ASCII character is formed in the ROM, PO Box 816 :rb p'tn8 just take its hex value, multiply by BOh, Carpinteria, CA 93013 AUDIO --_.....

-Expanded library (including sprintf, of PROM all stuffed together on a 4.5 by New Products fprintf, ungetc, getkey) B inch STD bus card. CP/M 2.2 is avail­ -I/O redirection is now optional able along with MP1M if you have their Q/C Version 2.0 -Printf is now standard RAM memory board. -BinaryI/O The price of the memory board is $750, Just after the reviews of C hit the The price of version 2.0 is $95 but those assembled and tested. They didn't send street, Jim Colvin finished a substantial of you who have an older version of Q/C a price for the little BB. revision of his Q/C compiler. can upgrade for a paltry $20. Pulsar Electronics He has added: unsigned integers, in­ The Code Works 323 Bell Street itialize, #ifdefl #ifndef, and #iflelsel Box 550 Pascoe Vale South 3044 endif. If you want to keep your "C at a Goleta CA 93116 Victoria, Australia Glance" table (issue 7, page 7) up to 805-683-1585 date, check off the above. Also, Q/C only Note: I usually don't run information supports single dimension arrays, so about a product just because I get a news you might want to correct the table while 256K STD bus RAM release. The primary reason is that I've you are at it. The Little Big Board never seen a piece of promotional mate­ rial list any of the cons, they are all pro; More improvements: Pulsar Electronics sent me a blurb on and I have yet to find a product that -Constant expressions are evaluated at their new memory board designed to didn't have some weaknesses (and compile time plug into the STD bus. It contains 256 by strengths) that were completely missed -Optional verbose mode prints name 9 dynamic RAM with 175 ns access time by the promoters. However, Ioccasion­ of function as it is compiled and 300 ns cycle time. It was designed ally get something that looks interesting -Improved error handling (better type specifically as a memory extension for enough to pass along. checking and recovery) their Little Big Board. Board size is 4.5 by -Peephole code optimization 6.5 inches. ••• -Larger, fancier manual (145 pages) The Little Big Board is a 4MHz ZBO sys­ -Undeclared arguments default to in- tem with 64K of RAM, 2 RS-232 serial teger ports, double density floppy controller, -Static externals (when used with MBO) battery backed up real time clock, and 2K

Micro Cornucopia, Number 9, December 19B2 25 EDITORIAL (continued) ------

We noticed that the 5V output was In fact, at that time in the morning I'm start; beltless, DC drive motors and no 5.07V (on my newly calibrated Fluke) but usually lucky to find the phone at all, head-load solenoids. when we jumpered the remote 5V sense much less find it before it wakes up the It sounds very much like Shugart has terminal to the 5V output terminal the whole family. So here it is: 503-382-8048. just announced the latest Tandon drive. output came down solidly to 5.00V and (And try to call between 1 pm and 6 pm They are supposed to be absolutely com­ stayed there. Period. Pacific time; that way I have evenings to patible with the 801 and 851 right down It was very apparent by the time we'd get something done.) to the mounting holes. However, be­ finished our digging that when Teletype. cause the drives shut themselves down builds a power supply it really builds a Software Wanted you are probably doing to have to power supply. This switcher is super du­ Jennifer, our 8-year-old, would very change your BIOS so CP/M remembers ty all the way through. It even has 3 much like to learn to touch-type so she not to try to read for a few milliseconds LEDs, one tied to each output voltage. If can help Sandy and I with Micro C and after selecting a drive. one of the voltages is not present, its also so she can use the text editor on her The effect on the drive market should LED isn't lit. school work. I remember what I went be most interesting. (Already I've seen through in typing class so I'm looking for brand new, Shugart compatible, Sie­ I/O, 110, It's Off to Work We Go something better, such as a well­ mens drives for about $250 each.) I have been hearing some really out­ thought-out typing training program First, as competition increases the landish things about what happens to a (preferably public domain). prices of the half-wides should be com­ system when you add a bunch of RAM In fact, I would guess that many of you ing down. After all, they are smaller and and tell the system that the new addition have little people who would love to simpler to manufacture. is a disk. (Thus proving you can fool learn typing and programming and so Second, as more and more people se­ some of the systems all of the time.) Sud­ forth on your BB. So, keep your eyes lect the half-wides, prices of the stand­ denly, I/O isn't a dirty word. peeled for anything appropriate to short ards should drop even more substantial­ I've heard of 7-hour compiles finish­ sorts. Maybe we'll put together user disk ly. This price drop should be especially ing in 20 minutes, and short compiles re­ #1/2. noticeable in the used and surplus mar­ duced to the time it takes to type the kets. I expect the prices for used and sur­ command line and hit the carriage re­ Disks plus 800s, 801s, and compatible drives to turn. I've even heard that Mince and This issue contains the disk article that hit $100 in the next year. Word Star get so fast and so quiet (disk I didn't have room to run in issue #8. In some cases you can now find them accesses are somewhat quieter when it's Sandy read through the article and de­ for $150 to $175. However, these are usu­ a RAM disk) that users think they are cided she didn't like it because it didn't ally special one or two unit deals. running single-user on a DEC 11-70. come to very many good solid conclu­ If you know of a really good deal in 8" So what. Who's got a RAM disk for the sions about which brands of disks you drives (under $200 new or in new condi­ Big Board? Well, Semidisk says it is should buy and which you should avoid. tion) where they have enough units to working on a Big Board version. Semi­ Outside of the obvious winner-Dy­ make it worthwhile to announce it to the disk's 512-byte board which lists for san-and the obvious losers-Maxell, group, (and you can vouch for their in­ $1995 would plug into the Z80 socket. Wabash, and possibly 3M-what you tegrity) please let me know. There are Plus, Tony Ozrelic is running his own purchase is pretty much up to you. Vari­ still a lot of Micro C readers who are un­ 256K version designed to interface with ations from one batch to the next appear driven or under-driven because they the BB via the parallel port. Check out to make it nearly impossible to rank the can't afford $400 per drive. the article describing it this issue. rest of the brands (how's that for a con­ clusion). And Finally New Phone number Overall, it appears that disks are get­ Merry Christmas and have a Happy Despite strong suggestions to the con­ ting better, especially in terms of media New Year. Mayall your bugs be small trary (e.g. "How do you get any time to life. After all, Elephant is guaranteeing ones and may all your employers and cli­ yourself?" or "Have you considered that its disks will never forget and they ents be generous. Ho, Ho, Ho! psychiatric help for your compulsion to are simply rebranding Wabash product, answer the phone?"), we will continue the shortest-lived brand on the market. to list our phone number in the maga­ I'm trying to find a good source of disks zine. The only people who threaten that other than the 3Ms I'm now using (too c~~dThompson policy are those East Coasters who forget many errors). Hopefully I can tie down J - E~~t~lr & Publisher that 7:30 am their time is 4:30 am here. some BASFs. Since it's not unusual for me to work un­ till or 2 in the morning, I'm not in much A Narrow View of Drives of a mood to help someone interface a Shugart has just announced half-wide new hi-rez dahoozit to a drive latch 8" drives, the single-sided 810 and the when I've had only a couple hours sleep. double-sided 860. They feature fast-

26 Micro Cornucopia, Number 9, December 1982 On Your Own By David Thompson

In the first two installments of this and are already preparing to take advan­ necessary for handling large data bases column we discussed some of the busi­ tage of it. (or large compiles or large anything elses ness of working for others. However, IBM is selling 10,000 PC's a month so it that used to mean large, expensive com­ many consultants are simply high-paid, doesn't take advanced math to figure out puters). So you now have inside access short-term employees. what some folks are making off IBM to one of the best bargains in computing I started out working for others in this compatible software and hardware. power in the industry. mode but with Micro C I'm definitely do­ If you use a Big Board you can build a ing my own business. I like this much Medium Size Connections spare system, complete with drives, for beUer. There are smaller connections that in­ what you would charge for a 6-month You've no doubt been wondering clude selling hardware or software by service contract. If your client's system what kind of business you could start mail order. Billy Gage (BG Micro) is goes down, just swap. Then you can re­ that would generate some very real in­ probably not lying awake nights won­ pair the defective system at your leisure come and get you totally away from em­ dering where the next dollar is coming or have someone else work on it. ployeehood. Of course, your mother can from. He knows because he is offering a Meanwhile, as business grows and tell you that the possibilities in this field lot of products, good service and some you get busy writing data base handlers are endless (and she probably has). The very good prices. or whatever, you are going to need other problem is that you haven't connected ICI is doing quite well selling soft­ folks who will put together anything with the endless possibility that will ware. Their overhead is low enough that from assembled and tested boards to work for you. they can make good money on margins complete hard disk systems. (Do you So let's see if we can't connect you that would strangle larger outfits. hardware types smell a market?) with something workable. This area has its own special set of Finally, if you keep ownership of the problems (like waiting weeks or months software, then it's very possible you will Great Big Connections for the software packages to ship to anx­ find a larger market (medium size con­ There are BIG connections that you ious purchasers). We'll discuss some of nection) among people in the same busi­ can make by writing a new compiler, in­ the problems of mail order at a future ness. So you advertise in Micro C or terpreter, screen editor, data base lan­ date. wherever to sell your software to other guage, spread sheet handler, etc. How­ computer folks interested in selling com­ ever, this is such a visible and Tiny Connections plete packages (with your software) in competitive field that you need some­ The smallest connections can actually their area. thing special to crack it now. be the most worthwhile and depend­ And, of course, it doesn't take very That doesn't mean you can't do it, but able. These are the one-to-one connec­ many $20,000+ systems (or $500 a it helps a lot to have a combination of tions between you and the end user. month service contracts) to keep bacon right-place/right-time, and a little ge­ For instance, the end user might need on the table (and eggs and frozen waffles nius. This also requires a tie-in with a a way to handle his mailing list and keep ... ). good marketing outfit or a lot of time, his books. moxy, and money to get it off the ground Even large software houses are now • •• by yourself. specializing in custom systems for small The marketplace is changing very rap­ businesses. These outfits will combine a idly, which is both a disadvantage and Z80 or 8086 based hard disk system with an advantage. Change can be a disad­ a custom data base handler and rake in vantage because the market could well $50,000 to $500,000 for the package. WINTIDS disappear while you are writing the code Then they put the user on a contract (or the life of your product could be very for hardware and software maintenance. short). Change can be a great advantage The contract usually covers service on if you predict the market correctly and the hardware and guarantees that the The following folks are reaching have the right product ready at the right user will pay $50 per hour for any soft­ you for only 20 cents per word. If time. Then your only financial problems ware modifications. It turns out that you would like to reach the same will be with the IRS. software maintenance usually winds up audience, send your words and 20 For instance, if you guessed correctly costing the user several times as much as cents for each to Micro Cornucopia. that the 68000 processor was going to be the initial package price over the life of the next big winner (IBM is reportedly the system. Even if the software is abso­ BIG BOARD I --- Used 6 months. Assem­ working on another system that may lutely perfect when delivered, changing bled by Bill Siegmund. Includes Software completely replace their PC), and you user needs usually dictate continuing Publishers dual density. guessed correctly which operating sys­ updates so this is usually a long-term re­ $500 with documentation tem they would use, you'd be someone lationship (and income). Harry Siegmund we'd all admit knowing. However, IBM The Big Boards (both I and II) now 808-536-4624 insiders already have this information have the hard disk interfaces that are

Micro Cornucopia, Number 9, December 1982 27 Especially For The Big Board-----...

USER'S DISK #1 USER'S DISK #2 Over 200K of software especially for the Big Board. Especially for folks with single-drive systems and those who Including: want to try their hand at extending an assembler. Also a new 1-Two fast disk copiers. CBIOS with parallel printer interface. Returns to default drive 2-The manual for Small C + . on reboot, stifles head banging, supports CP/M 2.2 and 1.4. 3-A Z80 assembler. Step by step instructions for the simple incorporation into 4-Two disk formatters. your CP/M. 5-0thello. Including: 6-A serial print routine. I-Two single-disk copy programs, both with source. 7-Modem software. 2-The source of the Crowe Assembler. 3-New Crowe. com file with larger symbol table. 4-New CBIOS for CP/M 1.4 and 2.2 (& boot). USER'S DISK #5 5-Disk mapper with source. This disk is a potpourri of significant software collected from the far reaches of the globe by world-renowned software hunters. Including: USER'S DISK #6 1-CAT is a directory cataloging package. It keeps track of This disk contains one of the more significant new contribu­ which disk contains which software. It sets up a file and lets tions to the public domain. The runtime package for 8080 has you list the directories of all your disks, or display all the disks 51 functions to handle all those details that take so long to that contain a particular file, or all the disks that contain .TXT write. (or whatever) files, plus much more. You've got to try it to Including: believe it! Contributed by Don Bell from a Pascal-Z user disk. 1-RUNPAC: This is the run-time utility package written by 2-MODEM7A.COM & MODEM7B.COM: Already confi­ Dennis Baker for his 8080 assembly language programs. Even gured for BB ports A and B by Gary Kaufman. though it occupies only 1,951 bytes in memory, this utility 3-PACMAN: Gordon Banks and Gary Kaufman both sent package handles 51 functions including: 4-byte addition, sub­ me PACMAN.C, and .COM. This really works like the com­ traction, multiplication, and division; string evaluation; num­ mercial game. (Caution, don't even whisper a word about this ber formatting; opening a file; closing a file; getting a record; to kids over 3 or you'll have to stand in line to use you BB.) keyboard input; chaining and running a . COM file; finding a 4-FAST: This little screamer from Gordon doubles the string in a group; and converting days to date. speed of any program that accesses the disk a lot (like ASM, It handles up to 8 channels of disk I/O, each having a 512 MAC etc.). byte buffer and a file control block in high memory. Runpac 5-NOLOCK: NaP's out the shift lock feature on the BB so uses signed integer binary arithmetic with provisions for deci­ you can send nulls to other systems without casing your own mal I/O. This gives maximum numeric range for4-byte varia­ (from Gordon again). bles. This package should handle any business or other appli­ 6-VERIFY: Brett Berg sent in this one. It checks a disk and cation that does not absolutely require floating point. Includes tries to restore bad sectors. It reports any sectors it is trying to source which assembles under ASM. restore. It leaves the data intact (or even more intact) on the 2-REZ: This is the Z80 version of the famous disassembler disk. Brett says this is better than the $100 commercial rou­ RESOURCE. Originally from the CPMug, it disassembles tines. 8080 and Z80 object files. It was contributed by Gary Kauf­ 7-SQ-USQ squeeze and unsqueeze files. man.

All Users Disks ...... $15.00 each (US,Can,Mex) ...... $20.00 each (other foreign) All The Users Disks Contain Documentation On Disk In . DOC Files. OTHER GOODIES

U5,CAN,MEX Other Foreign U5,CAN,MEX Other Foreign FORTH IN ROM ...... $65.00 $70.00 Your Fortune in the Microcomputer in fast ROM...... $80.00 $85.00 Business...... $26.45 $36.45 This is standard FIG FORTH in three 2716's. FIG FORTH is This is the best, most complete collection of "working for standalone FORTH so you don't use CP/M at all. If you have yourself" information I've found (and I've heard nothing but disks, FIG FORTH handles the disk I/O. If not, you can still good comments from those who have received it). This two­ enjoy a most fascinating language. A simple FORTH line edi­ volume set is a perfect for those blustery fall evenings when tor and a decompiler are available on disk. you snuggle up in front of the fire and dream of great riches. FORTH editor & decompiler disk. . . .. $15.00 $20.00

TINY BASIC IN ROM...... $35.00 $40.00 MORE ROMS in fast ROM. .. $45.00 $50.00 Fast monitor ROMs for speed freaks and our famous 'better This two-ROM set takes control of the system just like FORTH than Texas' character ROM (V2.3) for screen freaks. does, handling its own I/O, loading Basic programs and object Fast Monitor ROM...... $25.00 $30.00 code routines on and off the disk or out of the third ROM. This Version 2.3 Char ROM ...... $25.00 $30.00 little Basic is great for controller and utility applications. • Send Big Board number with ROM orders. -, • Monitor & char. ROMs $5.00 each if you send a fast ROM VISA & MASTERCARD ACCEPTED and a stamped, self-addressed return envelope .

.....------MICRO CORNUCOPIA· P.O. Box 223· Bend Oregon· 97709 ------~ From Micro Cornucopia------.

USER'S DISK #3 USER'S DISK #4 This is the disk for folks who are building Jim Monesmith's Like all the rest of the user disks, this disk is full even though it ROM programmer. Two versions of programmer software contains only two packages. The documentation on the disk plus a disk file CRC checker. Also contains a sophisticated includes step-by-step instructions for incorporating these into disk utility (OU77) and source for a substantially updated fast your CP/M. copy routine, plus more. Including: Including: 1-CBIOS: This is a custom BIOS contributed by Robert Edi­ I-Unmodified ROM programmer. son for those folks who have Tandon ~rives. It also supports a 2-ROM programmer with CRe. parallel printer and looks like it was written for the Crowe 3-0isk file CRC checker. Assembler. 4-Source of new fast copy. 2-ZCPR: This replacement for the CCP really makes CP/M a 5-Utility isolates bad disk sectors. lot nicer. For instance, if you try to run a program that is not on 6-Reset bit 7 (unWordstar a file). the present drive it automatically looks on drive A for the pro­ 7-Print fancy page headings. gram. I'm absolutely addicted to this feature because it means that every .COM file on A (my system drive) is effectively on every other disk in the system. Think about that! Plus, the USER'S DISK #7 TYPE, LIST, ERA, and SAVE commands have all been sub­ This disk is for those of you who aren't satisfied with the PFM stantially improved. This CPMug winner was setup for the BB monitor, aren't able to communicate with a mainframe sys­ by Gordon Banks and Gary Kaufman. tem, or aren't able to keep a checkbook balanced. 3-ZCPRBLOC: run it and it tells you the base of your CCP. Including: Nice! 1-CHNGPFM: If you've wanted to revise the PFM monitor but haven't had the time or don't know how, then this contri­ bution from Willis Gore is for you. This new monitor imple­ USER'S DISK #8 ments the real time clock, changes the shift lock to a caps lock, The specials here include: a super-powerful modem program, lets you access the ROM/video RAM bank directly, and a beautiful text formatter (very much like Unix's run off), and changes the track table so the board works better with double­ custom I/O for BOS C all contributed by Gordon Banks. Rex sided drives. He included a routine that lets you overlay the Buddenberg provided the the block letter printer. monitor from the disk. He has also included the source of the Including: PFM monitor translated into TOL 8080/Z80 mnemonics. 1-YAM: This modem program is far superior to modem7, 2-TERM: Willis also sent three terminal routines (each less but uses a compatible protocol. YAM includes almost every than lK of object code). The terminal routines let you set up option imaginable. It turns the Big Board into a paging intelli­ the Big Board as a simple terminal, as a file receiver, or as a file gent terminal, complete with printer interface. sender. Programs send command string to other system to YAM provides an optional CRC and enhanced error recov­ initiate transfer making it easy to interface with large comput­ ery and transfer abort logic. It handles batch transmission of ers. files, baud rates to 9600, directory listing, disk changes, trans­ 3-CHECKS: Ralph Sherman really did a professional job on fer time calculations, and much more. this check balancing package. If your mate has been nagging 2-BDSCIO: Custom BB I/O for BOS C. (both .h and .c) you to do something practical with your BB then send us a 3-ROFF: Powerful text formatter, plus Sample formatted check for this one. text. 4-Disk Utilities, copy to memory, from memory, and 4-SIGNS: Prints large block letters on screen or printer. dump. ~' ~~ ~SER'S DISK #9 This should be another very popular disk. One thing notable VISA & MASTERCARD ACCEPTED is that it includes the first software donated for the BB II. Including: 1-CBIOS: This is an update of Mark Stieglitz's super CBIOS on user disk #2. Gary Kaufman added a serial print driver so Your choice of a user's disk or the deluxe char­ you can assemble it for either serial or parallel (and choose FREE acter ROM free if you send an article or software and a ROM or extra disk. your baud rate besides). 2-KEYBOARD TRANSLATOR: This will translate key­ board characters one-to-one or one-to-many. In fact a single US,CAN,MEX Other Foreign keystroke can start execution of a user-written function. Two Small-C+...... $24.00 $29.00 functions are already installed: both display the contents of This is a simple, extended version of Small-e. For more infor­ the processor registers immediately before the key was mation see issue #7, page 6. The documentation is on the struck-the first then returns to the program, the second does disk. a warm boot. Ken Stephenson uses this for his debugging. 3-ADVENTURE: This is the latest, greatest, most cussed Screen Editor in Small C...... $39.00 $44.00 adventure ever devised by mortals. This is the 550-point ver­ A simple but full-function screen text editor plus a text format­ sion donated by Lynn Cochran from SIG/M volume 11. And ter, all written in Small C by Edward Ream. This package in­ cludes the editor and formatter. COM files setup for the Big I'll tell you, the cave is GREATLY EXPANDED and the crea­ Board, Small C itself, and source code for all. With the docu­ tures are much smarter. (At least smarter than I am, so far.) mentation this is over 400K on a flippy disk. Edward is selling 4-EPROM PROGRAMMER: This is 2732 programmer soft­ this package for $50, you can buy it from us for $39 (and Ed ware for the BB II. It checks the ROM to verify that it can be gets a royalty). Where else can you get an editor, a formatter, a programmed. And it only programs the bytes that are to be C compiler, and source for all, for under $40? changed.

'------MICRO CORNUCOPIA· P.O. Box 223· Bend, Oregon· 97709------..... •. >•.•• i! .·~C'\i; ... iii .•...... •...... >··i ...•...... ;...... BJSBIIII?j!~Jj(:.Jlltlt·t?lBNSIC~~

,', "" ,

<> A daughter board that plugs into the 1771 socket. With this board the system employs automatic density select. <> Software Publishers' Dual Density gives you several choices: -You can have either 2.5Mhz or 4Mhz Dual Density. -You can run single or double-sided drives. -You can run 5~" drives on the Bigboard by following a few simple steps outlined in the SWP manual. A 50-34 pin disk drive adapter board comes free with 5~" Dual Density. <> 8" Dual Density users have up to 674k bytes of user storage per disk. 5~" users have up to 185k bytes per disk. <> Dual Density software includes: -DDINIT: a double density initialization and verification program. DDINIT options: -8 formats. -Format an enti re disk or just system tracks. -Selection of sector skew. -Choice of whether or not to verify formatti ng. -Choice of which drive to be used. -Has a default which will choose the largest format (9 by 1024 for 8"; 5 by 1024 for 5~"). -DDSYSGEN: a double density sysgen program with three options: 1) Reads double density system tracks into memory. 2) Writes double density system tracks from memory onto a double density disk. 3) Generates a double density system disk complete with a printer driver using your single density CP/M, our distribution disk and a blank disk. Five serial drivers and a parallel driver are included, or there is a user-written driver option. Drivers can be modified. -DDCOPY: a double density copy program. Copies all files from a source disk to a destination disk. Both disks (and the disk DDCOPY is run from) must be the same density and the same format. <> Software Publishers Dual Density comes with a thorough instruction manual. $199.95 r------SUBSCRIPTIDN rDRI ----- ~ (It's OK to brag!) I t 0 I own a ______computer. I

EuruX __P5ERNTovIl~ce~_o INTEREST I I G Fanatic=5 None=O Software Systems 00 00 I I Software Applications I I Languages 1. ----- 0 0 I 2. __ 0 0 I I Hardware 3.__ B B J Are you willing to be a resource in the areas where What are your hardware1soflware needs now? I I your expertise is 4 or 5? I ~~~O I probably 0 maybe 0 In the near future? ------I I =0 I How are you using the Big Board? What kind of exciting adventure (misadventure) are I Home System 0 I Business System 0 you working on? ------I Software Development 0 I OEM 0 I Education 0 I I Other ----0 What kinds of information do you need right now? I If you get the idea that this document is as interested in enlisting your aid and ideas as it is in getting a sub- I I scription, you're right. Lots of people are willing to I subscribe, lots of people have ideas - and we'd like to encourage lots of people (especially you) to take an I hour or two and put ideas and needs and accomplish­ I ments down on paper or disk. Then we can pass them I I along to others and that's whatthis journal is all about. sendhmbe slix issues (l yr.b) of MICRO( CORNUCOPIAb·11 uhndderstand that I can) cancel at any time and receive a refund I' for tea ance 0 f t h e su scription. Issue #1 was pu is e in August 1981. I U.S. Canada & Mexico Other Foreign 0 $16.00 0 $20.00 (U.S. funds) 0 $26.00 (U.S. funds) I 0$20.00 (1st class mail) 0 Back issues, Specify #s ____ 0 Back issues, Specify #s ____ I o Back issues, Specify #s $3.00 each (U.S. funds) $5.00 each (U.S. funds) I I $3.00 each I ~ME~~~~~~~~~~~~~~~ PHONEm~~~~~~~~ I ADDRESS ______I I CITY ______STATE __ZIP ___ I '------I 0 Renewal MICRO CORNUCOPIA • P.O. Box 223· Bend, Oregon· 97709 J r------DRDIR FORI------~ User's Disks .....•...... $15.00 each (US,Can,Mex) ...... $20.00 each (Other Foreign) BACK ISSUES I All The Users Disks Contain USER'S DISK #5 $3.00 each (US,Can,Mex) I Documentation On Disk In .DOC Files. I-CAT, disk cataloging routines. $5.00 each (Other Foreign) 2-MODEM7A-MODEM7B, Modem7 for I I USER'S DISK #1 ports A and B Because of the demand from new subscribers 1-Two fast disk copiers. 3-PACMAN, play the most popular arcade (bless their hearts) we are keeping back issues 2-A Z80 assembler. game at home. in print. The following is a list of some of the I I 3-Two disk formatters. 4-FAST, buffers the disk to speed up as- special articles in each issue. 4-0thello. semblies, etc. I 5-A serial print routine. 5-NOLOCK, get rid ofPFM upper/lower case ISSUE #1 (8/81) ISSUE #2 (10/81) I 6-Modem software. switch. Power Supply Parallel Print 6-VERIFY, cleanup and verify a flaky disk. RAM Protection Drive Motor Cont. Video Wiggle Shugart Jumpers I USER'S DISK #2 1/2PFM.PRN 1/2PFM.PRN I I-Two single-disk copy programs, both with USERS DISK #6 source. l-RUNPAC, source and hex for 8080 runtime. I ISSUE #3 (12/81) ISSUE #4 (2/82) 2-The source of the Crowe Assembler. 2-PRINTPRN, routine to print Crowe listings. Four MHz Mods Keyboard Translation I 3-New Crowe. com file with larger symbol 3-REZ, 8080/Z80 disassembler Configuring Modem 7 More 4 MHz Mods I table. Safer Formatter Modems, Lync & SIOs 4-New CBIOS for CP/M 1.4 and 2.2 (& boot). USERS DISK #7 Reverse Video Cursor Undoing CP/M ERASE I 5-Disk mapper with source. l-CHNGPFM, all those PFM mods you I wanted to do. ISSUE #5 (4182) ISSUE #6 (6/82) Word Processing EPROM Programmer 2-TIME, data and time accessable by operator I USER'S DISK #3 Two Great Spells Customize Your Chars I-ROM programmer software. and program. Two Text Editors Double Density update I 2-Disk file CRC checker. 3-Disk utilities, copy to memory, from mem­ Scribble, a Formatter Terminal in FORTH I 3-Source of new fast copy. ory, and dump. 4-Utility isolates bad disk sectors. 4-TERM, 3 terminal routines with source. ISSUE #7 (8/82) ISSUE #8 (10/82) I 5-CHECKS, complete checkbook package (+ 6 Reviews of C Drive Maintenance 5-Reset bit 7 (unWordstar a file). example file) Adding 6 K of RAM Flippy Floppies I Viewing 50 Hz Interfacing Drives I I 6-Print fancy page headings. Technical Tips Installing a New BIOS USERS DISK #8 USER'S DISK #4 I-BDSCIO, custom BB I/O for BDS C. (both.h USERS DISK #9 I l-CBIOS, custom bios for Tandon Drives. and .c) l-CBIOS, serial and parallel printer interface I I 2-ZCPR, dynamite CCP that's absolutely ad- 2-ROFF, powerful text formatter, plus sample 2-KEYBOARD TRANSLATOR, translate char dicting. formatted text. 3-ADVENTURE 3-ZCPRBLOC, it tells you the base of your 3-YAM, Yet Another Modem program in 4-EPROM PROGRAMMER, 2732s on the BB II. I CCP. Nice! .COM and source form. I 4-SIGNS, prints large block letters on screen -----(US,Can, (Other (US,Can, (Other or printer. Mex) Foreign) I I Mex) Foreign) Screen Editor in Small C ...... $39.00 $44.00 FORTH IN ROM ...... $65.00 $70.00 A full-function screen editor plus formatter in fast ROM ...... $80.00 $85.00 (US,Can, (Other written in Small C and setup for the BB. Over Mex) Foreign) I I This is standard FIG FORTH in three 2716's. MORE ROMS 400K on disk including source, documenta­ A simple FORTH line editor and a decompiler Fast monitor ROMs for speed freaks and our tion, and the Small C compiler. I are also available on disk. famous 'better than Texas' character ROM for FORTH ed. & decompiler disk$15.00 $20.00 screen freaks. Small C+ ...... $24.00 $29.00 I Fast Monitor ROM ...... $25.00 $30.00 This is a simple extension of Small C (see pg 6 I TINY BASIC IN ROM ...... $35.00 $40.00 Version 2.3 Char ROM ...... $25.00 $30.00 of issue #7). The source and documentation in fast ROM ...... $45.00 $50.00 are on the disk. I This two-ROM set takes control of the system • Send Big Board number with monitor ROM just like FORTH does, handling its own I/O, orders. Your Fortune in the Microcomputer Business I loading Basic programs and object code rou­ • Monitor & char. ROMs $5.00 each if you ...... $26.45 $36.45 I tines on and off the disk (without CP/M) or send a fast ROM and a stamped, self-ad­ This two-volume set contains the most useful out of the third ROM. This little Basic is great dressed return envelope. and complete "working for yourself" infor­ I I for controller or utility applications. mation that I've seen. I I QUANTITY DESCRIPTION PRICE EACH TOTAL I I I I I

I Prices include media, package & 1st class postage (air mail for Other Foreign) I TOTAL ENCLOSED I NAME I ADDRESS ______U.5. funds only, please I (payable on a U.5. bank) I CITY ------STATE ------ZIP ------­ Make checks payable to: MICRO CORNUCOPIA I Visa I L ----MasterCard __MICRO CORNUCOPIA --..-a_------• P.O. Box 223 • Bend, Oregon • 97709 J 1 _------Z8D CP/M sOFTWARE ------...... HIGH QUALITY - LOW COST Realworld Software, Inc. is committed to providing quality software at extremely low prices. We achieve this by reducing overhead to essentially marketing and reproduction costs. We rely on responses from ads, rather than a distribution network We invite you to consider the following two products:

Micro-Wyl a powerful, Z80 $25 CP/M text editor $29.95 "Micro-WYL is undoubtedly the hottest software DISK INSPECTOR bargai n on the market" a program that runs under Z80 CP/M1 for "thank you, thank you, thank you" disk inspection and modification "M icro-WYL is truly terrific" Now you can inspect and modify the contents "Looks like the $25 invested in this program of any sector of a disk storage device. The disk was money well spent" drives may be single or double density, single Those are quotes from unsolicited letters from or double sided. The comprehensive manual our customers. We do offer a great editor at an will show you how to 2 unbelievably low price. WYLBUR has been Recover an erased file. popular on IBM mainframes for over a decade. Modify a directory entry. Micro-WYL implements all of the common Clean up a directory. WYLBUR commands with complete features Utilize the CP/M Auto-Load feature for Create multiple directory entries collecting, inserting, deleting, replacing, and Read and modify non CP/M diskettes. modifying text. Moving or copying text within a document. Copying text from external files. The Disk Inspector is a full-screen editor for Global search and change operations. Listing disk. Our competitors offer products in the controls. $100-$200 range. We certainly invite compari­ son of this product with any comparable If you feel that you must have proportional­ system in terms of features or user friendli­ spacing, justification, etc. there are good word ness. I n terms of price, there is no comparison. processors in the $75-500 range. But for most users, Micro-WYL represents an incredible bargain. It is easy to use and powerful. Note: Disk Inspector requires an 80 x 24 screen on your CRT and is currently available 1CP/M is registered trademark of Digital Research, Inc. 2WYLBUR is a registered trademark of The Board of only in 8" SSSD, Kaypro, Apple/Softcard, Trustees of the Leland Stanford Junior University N EC, and Altos Series 5 formats.

Make your check out to: CRT type o 8" SSSD o Apple/Softcard o KAYPRO" 5" o NEC 5" Realworld Software, Inc. o NorthStar 5" DD o AL TOS Series 5 913 S. Fourth St. Suite 103 o Televideo TS-802 DeKalb, IL 60115 o Osborne o Superbrain

Amount: $25 for Micro-WYL -- Name $29.95 for Disk Inspector -- Address $2 for postage and handling. -- City State Zip Total -t =r (1) en •c:II CD ::i" m 10 -:a Z CD c:a .0 :-0 CD 00 0 C2 :D" III mOl a. c:a (;)0 en OX '

Full implementation of "C" with standard floating point, library, and I/O subroutines. UNIX VER 7 compatible. Produces relocatable BOBO (optional OZBO) assembler code. Relocating assembler and linker supplied with package or use Microsoft MBO and LBO, SID/ZSID debugger interface. FAST COMPILATION AND EXECUTION. AZTEC CII FOR CP/M $199 (Special price for Micro C subscribers $149) MJ~NX VISA software systems Box 55, Shrewsbury, N.J. 07701 III - (201) 780-4004 Also available for Apple DOS, HODS, CPIM-86, PC-DOS

12" Green Ball Brothers monitor UNIVERSAL with enclosure measuring 19" x 16.5" x 14". Room inside to mount ENCLOSURE a Ferguson single board computer or small SS-50,S-100 system. (Power supply available, see be­ low.) Requires + 15 volts DC. @ 1.5 amps, noncomposite (separate sync) input. A sync separator schematic is available. It is also possible to mount a single 8" disk drive or two of the new slim line 8" disk drives in this enclosure. All units are used, and have been 100'% tested. Shipping weight 35# ...... $65.00 ASCII Keyboard (used) with enclosure to match above monitor. n keys, 7 lighted pushbuttons, on/off sw. Requires 5 volts DC. Schemltic included. In­ cludes shift, tab, control and cursor control keys. Size; 19 x 4 x 5V2. Shipping weight 8# ...... $35.00 Modular power supply (missing regulator card) fits Inside above monitor enclosure. Includes large transformer that outputs +8.5 volts @ 17 amps, +/-18 volts @ 1.5" amps each, +15 volts @ 1.5 amps (for monitor), three large capacitors (1-18kuf, 2-ekuf) , 1-30 amp, 2-3 amp bridge rec­ tifiers. The transformer and rectifiers/ capacitors make a perfect unregulated SS-5OI8-1 00 power supply. The schematic for the regulator card is available. ....~" 0 3 :4 Shipping weight 25# ...... $25.00 ;:;: Q) Z::J D & W ASSOCIATES o p .. ~O PO Box 60, Rome NY 13440 W::C (315) 339-2232 or 337-7968 ALL ITEMS (J1 Please call either number evenings only SENT VIA UPS COD