Home

TMQ Vol VI.i - tim

image

Contents

1. Upgrades now available LB Data Manager Version 2 1 LDOS 5 3 1 Model I and III See Details Inside Contents Printed Matter Have extended memory known to the DOS The a SPOOL command now permits the BANK parameter J entry to range from 0 30 instead of 0 7 Alter the logical record length of a file with RESET I filespec LRL n Specify RESET filespec DATE OFF to restore al file s directory entry to the old style dating of pre 6 3 release Specify RESET filespec DATE ON to es tablish a file s directory date as that of the current j system date and time Felt uncomfortable with the alleged protection scheme of 6 3 LS DOS 6 3 1 has no anti piracy protection MISOSYS trusts its customers to honor our copy rights a Best ofall a 6 3 1 diskette is available as a replace l ment for your 6 3 0 diskette for 15 plus 2 S amp H I in US There s no need to return your current master g The 6 3 1 diskette comes with a 30 day warranty f written customer support is available for 30 days J from the purchase date Versions for the Model 4 and Model II 12 are available If you do not already have 7 an LS DOS 6 3 0 order the 6 3 1 Upgrade Kit with 90 days of customer support for 39 95 3 S amp H BULK RATE U S POSTAGE PAID Sterling VA PERMIT NO 74 Forwarding and return postage guaranteed
2. List of Patches in this Issue LBOV51 FIX LBREDEF EXE 9 LB OV5 and LB OV8 10 GOFED2A FIX 18 OOPS APP 19 WLINK1 FIX 19 DISKCOPY The Blurb a ie The Blurb Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume V1 i Poe tens ae eS Points to Ponder Motorola and Fujitsu areengaged in a war of whichcompany manufactures the small est and lightest cellular telephone The size weight warisalso onfor floppy drives too NEC introduced a 15 mm high 4 5 ounces 1 44 megabyte floppy disk drive Mitsubishi on the other hand has intro duced a 14 8 mm drive but it weighs in at 6 88 ounces NEC s drive is only 4 deep and uses only 1 3 watts when active I still have the first hard drive ever known to be associated with a TRS 80 Model I it s an International Memories Inc IMI 10 megabyte drive which sounded like a jet engine revving up when it started It was used with the Lobo Drive s LX 80 expansion interface The drive was about 18 long 18 wide and 7 high The thing weighed more than ten pounds and re quited a power supply almost the size of the drive On the other hand a few com panies are packing up to 1 2 gigabytes onto a 3 5 hard drive the Seagate ST11200N is a good example As drive capacities increase and the physi cal parameters shrink what of the com puters they are resident in Well they re shrinking too And they will be getting smaller with increased capacity before
3. Apply via PATCH FED2 GOFED2A D12 E8 66 69 6C 65 03 CB 00 87 CO 3D C9 F12 E8 6D 6F 64 75 6C 65 20 66 69 6C 65 D33 34 CD 8C 43 F33 34 87 CB 00 Eop _MisterED and Toolkit CU Fm Garry Howarth Narwee Sydney AUSTRALIA Roy I am having trouble with OOPS APP from the MisterED pack age When invoked OOPS will clear the Letters to MISOSYS 18 Letters to MISOSYS Volume VI i text buffer A comparison of OOPS APP and TED APP shows that the two pro grams are almost identical COMP OOPS APP TED APP COMP Version 2 0 0 File or Disk Compare program Copyright 1982 83 84 MISOSYS Inc All rights reserved Posn X 0000 D9 OOPS APP 7 X 32 TED APP 7 X 31 Posn X 0000 DB OOPS APP 7 X 31 TED APP 7 X 32 2 bytes did not match Posn X 0000 DE OOPS APP 7 X 35 TED APP 7 X 34 2 bytes did not match COPSYAPP 7 contalns 9 sectors EOF offset 255 TED APP 7 contains 9 sectors EOF offset 255 This IMPORT and EXPORT is good stuff I am also having trouble with WINLINK CMD and WINLINK BAS from the PROWAM Programmer s Toolkit package 1 If WINLINK is loaded without first loading PROW AM instead of getting the error message Please install PRO WAM first I get an Error 2BH message SVC Parameter Error I used FED2 to have a quick look at WINLINK the patch you sent me on the 17th GOFED2A FIX works like a dream thanks and found that instead of jumping to the routine that
4. Fm William J Newman Sanford NC Today I received my TMQ V iv and was duly impressed by the article you wrote concerning the development of LB 2 1 You can tell everyone out there that it works beautifully and that I have been able to enhance my reports even more than with LB 1 0 Also the ease of using the database some times throws me off as an old time user of LB 1 0 I mustre read most sections of the manual to make sure I am not missing some of the NEW FEATURES and not take for granted I know how to do some thing Richard Deglin and you have lots to be proud of in this program Let s hope those Model 4 users will recognize such an excellent database when it s available And your generous trade in offer is amaz ing I have not used MS DOS but I am sure those users will also find it as power ful if not more powerful as any data base they have available For your enjoyment as I know you must get bugged by people not reading their manual so I am enclosing a copy of SHOE acartoon we get in this area lam not sure if you get Shoe in your area Well any way if you could get copy permission you should use it in all your manuals Fm MISOSYS Inc I should pursue get ting reprint privileges for that column of Shoe Yes Shoe does appear in The Wash ington Post and yes I did see and was amused with that column For those who haven t come across that particular strip Shoe is fumbling through all
5. USA Note that if you upload a public domain file to our CompuServe forum PCS 49 and wantittoreceive general distribution please also mail a copy on disk to Vic There is no legal provision for download ing files from Compuserve and re distrib uting them unless you were the uploader Some of our readers who do not have access to our forum have an interest in those submissions So if you want to help outthe most numbers of fellow users don t limit your submissions to just one source Pe ee MISOSYS Forum MISOSYS sponsors a forum on CompuServe You can reach some ex perts on TRS 80 and MS DOS subjects by dialing in The forum isreached viaGO PCS49 or GO LDOS If you have any questions concerning access get on and leave a message to SYSOP Joe Kyle DiPietropaolo will get to you Please don t m MISOS el r i i ration The forum contains a great deal of pro grams which you can download as wellas eS The Blurb The Blurb Volume VI i enter into the lively discussions which thread through the message system If you do programming on a PC the forum also contains the listings from Programmer s Journal If you want to direct amessage to me my user ID is 70140 310 Post a message in private if you don t want it broadcast some folks even send me orders via a PRIVATE message DISK NOTES 6 1 Eachissueof THE MISOSYS QUARTERLY contains program listings patch listings and other
6. to HL At DBLBUF because at least part of UBUF is known to be in the top half of the resident 64K a check is made to make sureit s notin XLR8erRAM Thestateof the Z flag is saved by PUSHing AF and the internal CBR register is read into A Since the INO instruction manages the Z flag Z will be set if Banks 0 1 or 2 are resident CBR 0 andresetifan XLR8er Inside TMQ 38 Inside TMQ Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume VLi bank is resident CBR lt gt 0 If NZ then all or part of UBUF exists in XLR8er RAM so the stack is cleared and return made to via PERR and RETSP which causes return with a parameter error with SP restored and interrupts re enabled Otherwise UBUF is in normal RAM so control passes to DBLBO1 where the POP AF restores theZ flag and clears the stack Because we re double buffering we know the first data transfer will be to the low memory buffer LOBUF regardless of whether UB UF or XBUF is the source so we push UBUF and load DE with LOBUF Now the Z flag is tested to determine whether this is a get or put operation with control going to DBLGET or DBLPUT as required At DBLGET we push LOBUF 2300H and call XFER to copy the contents of XBUF to it Then we POP LOBUF into HL and UBUF into DE clearing the stack and JR to DMAXFER to transfer the data from LOBUF to UBUF Return from DMAXEFER is toRETSP whichis pointed o by the word at STA
7. I C ar p E a attempts tor Te I and Model III are available If you do not already l l iced have an LDOS 5 3 0 order the 5 3 1 Upgrade Kit j with 30 days of customer support for 39 95 4 j Alter the logical record length ofa file with RESET S amp H Some features require lower case or DDEN i filespec LRL n adaptor ll Order from MISOSYS Inc POB 239 Sterling VA 22170 0239 1 They Say a picture is qworth 1 000 words HMhis picture was con yuerted from GIF to RS 80 format using pGIF4MOD4 Until now IMode 4 users had no lway to view GIF images or to send their own hi res graphics crea CIFGMODGS DHRZGIF tor a Model LEO T aT 2 at tag vse hth fd n an pa ct Te ofr a c am we 3 Ean g 7 ee ae Ipes screen If you thave no hi res board GIF4M0D4 puts it in an HR disk file so you can dump it to your dot matrix printer HR2GIF converts THR oe R FORA gt m 2A WY JER Slinkman 1541 Old al pat Ra t l A ae to other tupes lof computers IGIF4MOD4 will decode to Richmond VA 23233 i t Please send me GIF4MOD4 amp HR2GIF for my TRS 80 Model 4 O S amp H cadd 2 00 outside N t i I am enclosing 37 95 2 0 i America Virginia residents please add 4 1 2 21 71 panu GIF image up to i Rane 1640 X 480 X 296 UGA i Lc ae Re ip a ae ae a ee ee UP OD DD Let
8. MS DOS environment consider our prod uct line Finally let me close this Points to Ponder with a request for you LB users out there Now that release 2 has provided the LBMANAGE utility which easily and effortlessly can duplicate a database structure it would be highly desirable to help out your fellow LB users by submit ting your database templates for publica tion All you need to do is to duplicate your database using LBMANAGE specify but one record then copy the peripheral screen and print files Bundle these together on a disk and send it to me or combine into an ARC or ZIP file for uploading to our Compuserve forum Ill make them available to other LB users Besides I m interested in learning what functions you have organized with LB Volume VI TMQ Schedule I target mailing THE MISOSYS QUAR TERLY the last week of the respective month as follows Spring issue in Febru ary Summer issue in May Fall issue in August and Winter issue in November I had to drag my feet with this issue because I had too few subscribers to warrant pub lishing in August Those with 91 11 on their mailing label complete their subscription with this issue The renewal fee to continue with the next three issues is 75 of the sub scription rate shown on page 1 TMQ advertising If you are interested in reaching a dedi cated TRS 80 audience consider THE MISOSYS QUARTERLY If you have a TRS 80 Model III or 4 relat
9. Where is such fuzzy logic used It s mak ing inroads into many areas Most of you have seen ads for the Pansonic Palmcorder an extremely lightweight camcorder described as utilizing digital EIS stabili zation a stabilization system based on fuzzy logic Ituses fuzzy logic circuitry to eliminate the shakes caused by the inabil ity of the hand to remain steady while holding such a lightweight object Fuzzy logic is also being used in elevators trains and I suspect will be in our automobiles soon So what does fuzzy logic have to do with us Plenty I make many mistakes while typing I m nota touch typist butrather a multi finger typist I also make character inversion errors which are a classic type of typing error caused by two fingers stroking keys out of the proper sequence For instance I so frequently type MEMROY for MEMORY perhaps because of the affinity tomy name that Logical Systems once sent me a DOS during development which had the memory command in Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi SYS1 s table patched to MEMROY How many other simple inversions or mis types do you make Plenty I m sure Wouldn t it be neat if instead of the DOS requiring exact matches for commands it accepted a character string with a nearly exact match Perhaps if your entry was 90 similar or 87 similar it would accept it And if your string matched two or
10. be on the same path Ido have one small problem that you may be able to assist am I correct in assum ing that the Control Codes can only be used in the Define Printer Format Option 9 If thisassumption is correct could you advise how it would be possible to enter non keyboard characters or say under lining in certain parts of the data when using Options 2 amp 3 Fm MISOSYS Inc Donald you can imbed printer control codes only in the print definition These codes are used to emit controlling sequences of codes to the printer during the printing of areport Itis not possible to enter non ASCII charac ters during data input In fact LB uses the Sthcharacter bit to designate the character as appearing in reverse video If you want to use something akin to underlining in commands 2 Add or 3 edit update you may want to consider adding a series of dashes in the screen line immediately below the character string you wish to underline Fm MISOSYS Inc The following letter was Sentto all known recipients of LBDM version 2 1 0 on May 23 1991 Justin case I may have missed someone unlikely the content is published here in The MISOSYS Quarierly To LB 2 1 0 Users Since the release of LB Data Manager version 2 1 0 on April 30th 1991 two minor problems have been detected and corrected These fixes are so minor they are field installable by you The first problem affected the TRS 80 vers
11. displays the error message the program jumped to the error message itself The following short patch should fix that problem I hope Change 00 A8 from C283 28 toC2 FB 26 2 The problem with WINLINK BAS is when the program reaches line 155 the computer will jump into DEBUG with the PC pointing to X F459 this addressis constant The enclosed MEMORY mod ule map will show where PROWAM and WINLINK are loaded _ _ After d chewing of finger nails and pulling of hair I decided to play around with the high memory setting and try it again i e MEMORY H X FFFO0 Guess what It works Why Good ques tion I don t know maybe you can shed some light on this little problem THE MISOSYS QUARTERLY Fall 1991 Fm MISOSYS Inc Garry The differ ences between OOPS and TED which you observed are simply the differences in date and time with which the two modules were assembled Butforsomereason you didn t observe the important difference between them a single byte change In record 1 relative byte X B3 OOPS has a OOH value whereas TED has a value of 70H Ican understand why you don t see that difference as I just checked the master diskette and both TED and OOPS have a 70 at that location Funny the copy of OOPS on my 4P has a 00 Plug in a 00 I can t suggest why the difference had oc curred as it s apparently been that way since May 25 1988 Plug a 00 into OOPS and you ll be in business You can of
12. limited flag Since the date not current bit was the leastimportant itwent the way of the wind It was also dropped from use without mention I believe when I up graded LDOS to version 5 3 0 Typically a Model 4 disk could get that bit set inadvertently if someone used an older version of LDOS to copy the file to the disk when the date was notcurrent The bit was then propagated to all subsequent copies Alternatively some other DOS such as NEWDOS may have been used to copy the file If you wish to unlimit the file reset that bit in the directory using a tool such as FED2 part of GO CMD Concerning MDRAW II yes itdoes dem onstrate the utility of publishing examples and techniques to be extracted for other works I took the liberty of excerpting a little from the documentation of MDRAW JI so that readers will understand whatitis about see the sidebar on the next page Perhapsif they find it applicable they can search out a copy from my CompuServe forum or other source Fm Gary Shanafelt Abilene TX Roy Thank you for your detailed response to my question about why certain files failed to backup You were entirely correct of 15 Volume VLi course I pulled out my trusty copy of LSFED II changed the directory bit and presto no more problem You were also correct in your surmise as to the cause of the problem Though the example file I sent you was a Model 4 program I wrote it by taking a
13. pointing to which could bein the range of SOK That leaves plenty of room for a sort buffer When DIR is invoked from a pro gram using the CMNDRservicecall the program first of all is not using the library overlay region extending from 2400H through 2FFFH and second prohibits li brary commands from using memory above 2FFFH That leaves no memory for a sort buffer Thus when DIR detects that it has been invoked from the CMNDR service call it turns off the sort parameter as it knows that no memory is available for the sort buffer P1 have to guess as to why you have to have acharacters per line value in order to enter a left margin parameter in FORMS The way that the FORMS filter is written it uses the zero state of the character col umn counter to designate a margin control The counteris contained ina byte thus it s value can range from 0 to 255 The counter Letters to MISOSYS is reset to zero on aRETURN or when the character count exceeds the characters per line at which a forced line feed indent as required and margin as required then the character is generated Ifa MARGIN value was permitted without a character per line count you could output a string of more than 256 characters without an ENTER at which point the character counter would overflow restart at 0 and a false margin would be generated One way around that would be to generate a margin only when an ENTER was output Proper character handling sh
14. GOT to beDISKCOPY Morespecifically it s got to be the section of DISKCOPY which permits copies from sub disks I trust this information will help track down whether it s just MY copy of DISKCOPY or an actual bug Thanks for your help and quick response Letters to MISOSYS 20 Letters to MISOSYS Volume VI1 i Fm MISOSYS Inc Okay Itracked down the bug You are absolutely right and so was I as to the cause And it happens only if the source drive is a DiskDISK or subdisk one and the same Remember that 6 3 0 s DISKCOPY wouldn t let you duplicate from a diskDISK That was due to a test for the ALIEN bit in the DCT When I got rid of that test I neglected to determine that DISKCOPY makes the destination drive s DCT exactly the same as the source drive s DCT except for the drive selectimage ButadiskDISK s DCT doesn t bother to have the DCT 4 bit 6 set to a 1 because FORMAT is inhibited anyway Thus the diskDISK s DCT has that bit 0 When DISKCOPY strips every thing from the destination DCT 4 except for bits 0 3 the source s DCT is imaged in Thus after the copy that bit is reset just like in the diskDISK s DCT The easy solution is to patch DISKCOPY to retain bit 6 of DCT 4 That s a very easy patch as follows PATCH DISKCOPY UTILITY D03 89 4F F03 89 0F After that patch is applied you re back in business I owe you a beer Fm Frank Slinkman I m s
15. Toolbelt UNREL T80 UTILITY 1 P 50 310 P 12 244 P 20 010 L 32 200 M 30 033 L 35 211 L 35 204 M 30 053 M 20 082 M 20 072 L 32 053 n a n a na n a M 20 071 L 40 020 M 10 133 M 10 130 M 10 333 L 30 020 n a n a n a n a n a M 20 064 na M 20 083 P 32 21 P 32 220 P 50 200 P 50 003 P 50 100 P 50 142 n a n a n a L 51 500 M 12 013 P 35 300 P 32 132 P 32 832 P 12 113 L 21 010 n a P 32 203 same L 32 070 n a P 12 244 n a L 32 210 M 31 033 L 35 212 M 02 231 L 35 205 M 31 053 M 21 082 M 21 072 n a M 33 100 M 33 200 M 33 300 M 12 110 M 21 071 n a n a same L 30 021 M 50 510 M 11 043 M 11 243 M 11 002 L 35 281 L 32 150 M 21 064 M 51 028 M 21 083 n a na P 50 200 P 50 004 P 50 100 P 50 142 M 51 025 M 51 225 PRICE LIST effective September 1 1991 TRS 80 Game Programs M 55 GCB M 55 GCP Bouncezoids M3 Crazy Painter M3 Frogger M3 M 55 GCF Kim Watt s Hits M3 P 55 GKW Lair of the Dragon M3 M4 M 55 021 Lance Miklus Hits M3 P 55 GLM Leo Cristopherson s M3 P 55 GLC Scarfman M3 M 55 GCS Space Castle M3 M 55 GCC The Gobbling Box M3 M4 M 55 020 MSDOS Game Programs Lair of the Dragon M 86 021 Hardware TeleTrends TT512P modem M4P H 4P 512 XLR8er e w 256K RAM M4 board only R MB 004 Floppy drives 5 25 360K 1 2 ht H FD 360 Floppy drives 3 5 720K 1 2 ht H FD 720 Floppy Drive Case 2 1 2 ht drives H FD 2SV Hard drive kit e
16. an 8 bit value in the accumulator to a 16 bit value in memory The Z80 does not support an instruction which does a direct add to memory So the score is loaded first into register pair HL Therein poses a dilemma The Z80 s 16 bit add instructions permit you to add only the following registers to HL BC DE SP and HL The latter is quite useful for multiplying by two or shifting the contents of HL left by one bit Since BC and DE are already in use as pointers the option is to either push DE onto the stack load the accumulator into register E load a zero into register D add DE to HL then POP DE from the stack or add the accumulator to HL via a series of 8 bit add instructions The following se quence easily does this Inside TMQ 31 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume Vli ADD A L Add into lo order LD L A Store new lo order ADC A Add in hi order with any carry SUB L Subtract off un needed lo order LD HA Store hi order The third and fourth instructions of this sequence are another way ofincrementing the hi order byte by one if the result of the lo order addition generated a carry The following code does the same thing ADD A L Add into lo order LD L A z Store new lo order JR NC 3 Skip the INC if no carry INC H z Ince to add in the carry Let sexamine the difference in timing for these two code streams The first has a fixed execution t
17. best when turned sideways but I m really a bit more wor ried about something else My current job involves the preparation distribution and updating of analytical test procedures for the QA Department in my company Recently my department has standard ized on WINWORD because it s the word processor of the future I can t express here how deeply I hate the thing but everyone around meseems tojustlove it Inotice however that my contributing authors seem to spend an inordinate amount of time discussing style and ap pearance but seem to have very little time to devote to the study of content It seems everyone isinterested in making the docu ment look better but don t seem very interested in making the content better And in there lies the essence of my worry I remember how close you were to sus pending publication of TMQ with IV iv I for one would rather have the TMQ single column on 8 1 2 by 11 sheets with a Staple in one corner off a Xerox machine if it would help Keep the editor s time toa minimum I ve done enough of this type of thing to know it must take a pretty good bit of your time to put the TMQ together With that said I will close for now and let you get on with more important things like filling orders With any luck I will have put an ASCII copy of this letter on the enclosed disk Letters to MISOSYS Volume VLi Fm MISOSYS Inc David You raise a very good point When folk
18. but I can t see why it should be different In the listing you will find the correct traps to insert 2 memory wait states before keyboard access and remove them after I tried David Goben s alternative but although it seems to make perfect logical sense it did not work for me I had key bounce type problems and worse when running at 0 1 80 2 or 1 1 80 2 The two patch files XLBOOTC FIX and XLSYSOC FIX implement all the code in the NEWBANK1 ASM listing setting the Z180 to run at it s fastest speed 0 1 80 2 Also included are the standard XLR8BU FIX XLR8S2 FIX and XLR8S12 FIX patches plus an additional patch file XLR8S8 FIX This patch alters the SYSGEN table to SYSGEN all SVCs_ from 108 through 119 Iincludeit because I couldn t get LS DOS 6 3 1 to SYSGEN the FEXMEM SVC_108 vector with out it Maybe I just don t know how and this patch is unnecessary Also included is XLR8C631 JCL which will automatically install all the patches THE MISOSYS QUARTERLY Autumn 1991 Europium Gadolinium Terblum Dysprosium Holmium Erbium Thul ium Ytterbium Lutetium Hafnium Tantalum Tungsten Rhenium Osmium Iridium Platinum Gold Mercury Thallium Lead Bismuth Polonium Astatine Radon Francium Radium Actinium Thorium Protactinium Uranium Neptunium Plutonium Americium Curium Berkelium Californium Einstelnium Fermium Mendelevium Nobelium Lawrencium Rutherfordium 104 Hahnium 10
19. by using the value which remains in register BC Itis twoless negative than the total length of the two strings combined If I then subtract that value from negative two I should obtain the true length as a positive number The Z80 supports only a 16 bit subtract with borrow SBC instruction You would normally have to ensure that the carry flag is reset or cleared for an SBC unless of course it was part of a multi precision subtraction But wait I can take advan tage of the state of the carry flag in my SBC instruction Note that the CPIR in struction does notaffect the Z80 carry flag CF Note also that the CF is always set on entry to DOCMP as the previous in struction always compares a non zero character to a zero value which results in the CF being set By using a subtract with carry SBC instruction I subtract the result from minus one without having to reset the CF and subtract from minus two This results in 1 6 CF 1 6 1 4 the proper length I thus am able to avoid including an OR A instruction to clear the carry flag in thiscalculation You can sometimes capitalize on the state of a Z80 flag bit or register value to reduce the length of acode fragmentif the flag bit or register value will always contain a known value Make use of that for profes sional code Let s take a quick look at the subroutines used to store the string pointers into the atray stack and subsequently get them back into
20. c 2908 to BDE Nickel 28 58 71 Solid 1453 c 2732 c l Copper 29 63 546 Solid 1083 c 2595 c At DMA010 the top 3 bits of both the aina eo S238 Solid ee se 907 C source address in C and the destination RER 24 E E oy se a99 G address in B are loaded into SAROB and rma nLum m r Arsenic 33 74 9216 Solid 814 c DAROB respectively and control falls Selenium 34 78 96 Solid 50 217 C 685 c through DMAXFER to do the transfer Bromine 35 79 904 Liquid 7 2 C 59 c The return is to RETSP Krypton 36 83 80 Gas 156 6 C 152 3 C Rubidium 37 85 4678 Solid 38 9 C 688 c Strontium 38 87 62 Solid 769 c 1384 c NOW some comments about the programs Yttrium 39 88 9059 Solid 1523 c 3337 c which accompany this article Zirconium 40 91 22 Solid 1852 C 3578 C Niobium 41 92 9064 Solid 2468 C 4927 C NEWBANK1 ASM is the source listing oC Ce es ee ee echne um e cia Ruthenium 44 101 07 Solid 2250 c 3900 c based upon the work done by Michel Rhodium 45 102 9055 Solid 1966 c 3727 c Houde my own work on the code to Palladium 46 106 4 Solid 1552 c 2927 c support Richard King s 512K hardware Silver 47 107 868 Solid 960 8 C 2212 Cc mod and on work done by David Goben Cadmium 48 112 40 Solid 321 c 765 c Indium 49 114 82 Solid 156 61 C 2080 c Tin 50 118 69 Solid 231 88 2260 Lhe code assumes the existence of all Antimon 51 121 75 Solid 630 5 c 1380 Banks 0 through 10 Do not useitif you Tellurium 52 127 60 Solid 449 8 C 9
21. course use FED APP for that Youare absolutely correctabout the wrong jump vector in WINLINK Anyone who has examined my assembly code knows that I classically use a jump instruction to a series of LD HL nnnn instructions for error reporting The target of the LD HL nnnn uses the same symbol string as the label but has a suffix character of Unfortunately in WINLINK I inadvert ently added a to the end of the target string in the JP to the error reporter That s why you didn t get the Please install PRO WAM first error message It has been that way since 1985 Your difficulty with WINLINK BAS crash ing at line 155 was due to a bug in WIN LINK CMD After checking the code I found that a single RET instruction was omitted from the WEXEC code handler in the WINLINK driver The statements im mediately following where theRET should have been were data statements generating tables of vectors pointing to code blocks These vectors would be different values at different load origins of the WINLINK driver in memory Apparently when origi nally tested the WEXEC function and it did work the load origin of the driver must have been benign in that the vectors treated as coderesultedin aneventual RET without corrupting anything It was almost impossible to patch in a RET statement but as always happens when you don t Volume VLi write the tightest code to begin with there is usually a way to compres
22. e dow opens you move around the screen by using the shifted cursor keys The cursor will stop on the left side of the element s symbol and show some infor mation about it in the lower part of the screen Blank areas on the screen will be skipped over and of course you re lim ited to the rows and columns you can move to Hitting the BREAK key exits the application TECHNICAL NOTES I used Radio Shack s ALDS package to ite ELEMENTS Since other assem bler packages aren t 100 compatible you may have to activate the SVC macro by deleting the semicolons in the first column Also the directives NOLOAD PSECT PRINT SHORT PSECT ADISP IFT IFF QUIT may also need changing to suit your assembler s syntax 80 Micro s September 84 issue page 66 is a fair reference for possible alternatives Some of them are vs PSECT CI vs NOLOAD ERR vs QUIT 5 5 5 The source file starts with a standard WAM header I ve duplicated some of the labels others have used ROW ICOL and have ensured that the APP name is 12 characters long terminated by an ETX DB 3 This is REQUIRED if it is to be one of the DEFAULT applica tions this I remembered from my past experience with NX WAMandRoy seagle eyes quick solution TMQ Vol V i page 15 ote weretet Fee tat ate tat atatatatetetetatatitatatetatatatetatatgtatatatatatetatetatatatatatatatatatetet eet tal Most of the code is documented as to functions and p
23. index of 83 10 12 100 The original article published in the July 1988 issue of Dr Dobb s Journal in cluded an 8086assembly language SIMIL function callable from C language pro grammed under MS DOS I took the lib erty of porting the function to Z80 assem bly language which was somewhat of a Struggle due to register requirements Obviously the program needs to operate fast if one is going to use it frequently That dictates tight code and effective use of CPU registers I derived TSIMIL CCC from the article and adapted it to PRO MC to 1 demon strate use of similQ and 2 demonstrate MC s options for echoing keyboard char acters and handling the BREAK key as end of file options not always obvious to One significant use I am making of this command function to my LB data base manager which attemptsto find duplicate Inside TMQ 25 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VI i records A classical problem of those in volved in direct mail is the automatic elimination of duplicate records those records which are similar or nearly simi lar to others Since mailing multiple cop ies of a direct mail piece to the same address wastes money direct marketers take great pains to minimize the duplicate records in their data base Duplicates can be caused by many factors One record could be Robert with the duplicate being Bob Or one could have a Junior after the name Or th
24. is necessary when both the source and des tination of the data to be moved cannot be fully addressed by the DMA address reg isters at the same time To understand the need for double buffering we need to look at the way the hardware manages banks 0 1 and 2 see Table 2 Because the system must always have access to the base 32K there is no practical way the CPUcanaccess more than one of those banks atatime Thusdatacannotbe moved directly from one of these banks to another For example if data to be copied from 9000H in Bank 2 to OESOOH in Bank 0 Bank 2 must be switched in the data copied from 9000H to some area in the base 32K Bank Oswitched in and the data copied from the base 32K to OESOOH Inside TMQ 35 Inside TMQ Volume VL i THE MISOSYS QUARTERLY Autumn 1991 Volume VLi The CPU and DMA see RAM addresses differently The CPU uses the logical addresses determined by the MMU DMA only works with physical addresses For example suppose Bank 6 is resident and the 256 byte page of memory we want to transfer exists at logical addresses 7F80H through 807FH Even though the CPU sees Bank 6 at logical addresses 8000H to OFFFFH it actually consists of physical addresses 58000H through SFFFFH The data in this example is not physically con tiguous The 129th byte the one at logical 8000H is actually at physical 58000H 50001H bytes distant from the 128th byte If you tried to use DMA to transf
25. module which incor porated additional functionality I hesi tated to consume another 200 bytes when the duplicate checking function was not going to be used On the other hand using dynamic memory allocation to allocate 200 bytes from the heap on each call to SIMIL was considered to be a very nega tive impact on the execution time of the function Thus my decision was to com promise and obtain the 200 bytes asa local array allocated from the program stack rather than use allocQ to obtain the space or declare the space static within the func tion as part of the data segment Obtaining Inside TMG 30 Inside TMQ Volume VL i memory space from the stack uses but a few additional instructions Notealso that since the array is being accessed as a stack the first element is actually at the end of the space higher memory location while the 25th element is at the beginning of the space The first part of SIMIL up through DOCOMP simply performs someinitial ization I chose to use the IX and IY index registers as local pointers therefore it 1s essential to save these registers on entry to the program MC uses IX and IY as the storage registers for variables declared register Any assembly language function written which uses IX and or TY must preserve the values of those registers During initialization SIMIL uses the cur rent stack pointer as a pointer to the next available array element in the structure and
26. of the Letters to MISOSYS Volume VI i THE MISOSYS QUARTERLY Fall 1991 Volume V1 i screen at the end of whatever command bar is displayed in each mode It appears in the middle of the display I think at the end of the last data field in the Update Edit Menu Option 3 mode Once I begin moving the highlighted bar with the cur sor keys the cursor jumps down to just outside the bottom right corner of the high lighted bar It always seems to ap pear directly to the right of whatever was last written to the screen There must have been some code to turn the cursor on and off in v i that got left out of the new version When input is actually requested the Cursor appears at the proper place in the input mask Has anyone else noticed this Can it be fixed easily or should I just continue to ignore the extraneous cursor Ithas no effect on the program s function ing at all that I have discovered It s just a distraction especially in Edit mode Thanks for a really useful upgrade Fm MISOSYS Inc Karl I cannot dupli cate your problem of the extraneous cur sor Could you provide more details as to the exact sequence of events leading up to the extra cursor For instance starting from invoking LB what do you do Have you used the SHELL facility to escape to DOS If so what commands have you invoked at the DOS level before returning to LB In any event I ll need an exact sequence of steps LB maintains the
27. order Foreign use US rates times HartFORTH 86 M 86 071 3 for air shipment Virginia residents add 4 5 sales tax We accept SAID 86 Text Editor MasterCard and VISA Checks must be drawn on a US bank COD s FM 86 File Manager are cash money order or certified check add 4 for COD Volume VL i THE MISOSYS QUARTERLY Autumn 1991 Volume V1 i Table of Contents The Blurb LB2 CLS Exit 13 Points to Ponder 2 LB86 Installation 13 TMQ Schedule 3 LDOS Fix format 14 TMQ advertising 3 pfs FILE and SYSRES 14 LDOS 5 3 1 Released 4 Date Not Current 14 XLR8er Interface Kit 6 Miscellaneous Queries 15 Winter vacation reminder 6 PRO WAM s Cursor _ 18 _ PD Software Librarian 6 GO CMD FED2 18 MISOSYS Forum 6 MisterED and Toolkit 18 DISK NOTES 6 1 7 Task Interfacing 20 Out of print TMQ s available 7 Bug in DiskDISK 20 Onesies and Twosies Closeout 7 SuperScripsit amp DoubleDuty 21 ae Style or Content 21 1 Letters to MISOSYS LB amp 6 and Paths 8 Inside TMQ LB LB86 and N 8 Pattern Matching Another ap LB and JCL 9 proach to fuzzy logic 23 LB and Date of Update 9 The Final Solution to the XLR8er LB Read the manual 10 Question 33 LB Right Justified Fields 10 ELEMENTS a PROWAM applica LB2 Installation 11 tion 4i LB2 Cursors 11 List of Advertisors LER Slinkman 48 MISOSYS Inc 22 44 48 IFC IRC RC Pacific Computer Exchange 32 Richard R King 44 TRSTimes magazine E 47
28. page when the key field of an index file changes value Up to ten different printout definition formats can be maintained for each database Reports may be sent easily to a printer the console display screen or to a disk file useful for subsequent printing or downstream data export to other programs Report formatting allows for multiple across mailing labels multiple copies of the same record or even printing one record per page for sales books You can easily generate mail merge files of address or other data for your word processor Or you can use LB s built in form letter capability Maintenance utilities To make it easy for you to grow your database as your data needs grow we provide two utility programs for managing your database One allows you to construct a new database with an altered data structure and populate it with data from your existing database Another allows you to duplicate your database structure copy or move records from one to another or automatically purge un needed records Help is on the way The main menu even provides a shell to DOS so youcan temporarily exit LB toperform other DOS commands LB provides extensive on line help available from almost every sub command A 200 page User Manual documents every facet of LB s operation Specify MS DOS or TRS 80 version LB is priced at 99 5 S amp H US 6 Canada 7 Europe 9 Asia Pacific Rim and Australia To upgrade from version 1 0 send Table of Conten
29. records For instance ifrecord 5 matched 6 which matched 7 and you chose to output both matching numbers comparing 5 to 6 would output 5 and 6 whilecomparing 6to7 would output 6 and 7 record number 6 would be generated twice So the algorithm inhibits the record number s output if it has been immedi ately previously output Comparing adjacentrecords will miss lots of potential duplicates if the sorted order of the primary key places similar records farther apart For example my database uses a field forlast name another for first name another for company name I usu ally sort on last first company But when I enter a name like John Paul Jones Jr I put John Paul into the first name field and Jones Jr into the lastname field A duplicate record without the Jr would not sort to be adjacent Thus sucharecord would not fall out of a similarity check But I also keep an index of the data sorted Inside TMQ 27 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi by ZIP code and last name A similarity check on that index would pop out the duplicate Jones LST s database hadabout 12 000 records TRSCROSS registrants numbered about 8 000 My database num bered about 22 000 but I extracted only about 10 000 active records I then devel oped a new database definition adding some additional fields I merged all three together using a combination of AUTO input LBREDEF and L
30. registers PUSHST switches the Z80 stack pointer register SP from use as a program stack pointer to a data stack pointer Under LS DOS and LDOS interrupt handling will Volume V1 i require stack space Since we don t want any other use made of our data region while we have the SP register pointing to it the Z80 interrupts are disabled just prior to the SP alteration and are restored after SP is restored to its original value Once SP is pointing to an array element all it takes are four PUSH instructions to store the four pointers which need to be preserved The POPST subroutine per forms the opposite result it saves the current SP loads SP with the current data stack value then pops the values back into registers Then it restores SP Interrupts are again disabled during the time which the SP register is accessing the data stack The current count of matching characters the score is kept as a 16 bit value in memory If I wanted to assure myself that I wouuld never be comparing a string of greater than 255 characters I could limit it to an 8 bit value and save some instruc tions when adding the new count to the previous count However using 16 bit additions gives SIMIL some additional flexibility But in any given implementa tion one should program according to the requirements or limitations of the data 16 bit additions take more time than 8 bit and also take more storage space Note that SIMIL is adding
31. sorts of machi nations in order to attempt proper opera tion of his desktop computer The final three frames tell the tale There s only one thing left to do The last resort es ee m ey D be Ks LB Right Justified Fields ee ee ee Fm Bill Newman Sanford NC I have a question about a field I am entering in LB 2 1 I have a data base set up called SLANDING of which I am sending a copy of the field definition file and a disk concerning the database in question In the Update mode menu 3 some of the fields blank fields no matter what editing screen I use as I step through the fields to that field the cursor starts at the far right rather than starting at the left and showing the dots representing the field length There is not just one field that behaves in this manner In the screen definition menu I have repositioned the field by redefining it to a different loca tion with the same result However I have noticed as I was paging through many records toupdate therecords it only happened occasionally that the cursor started to the far left in a problem field with all the dots showing on the fields in question As it is now I must use the left arrow and step to the far left before enter ing the data in some fields _ If you would start with screen 1 or 3 and EDIT through the fields on the first name ATTLESON you will notice that field SL ASSESSMENT PD
32. to work on documents in Partition 1 or 2 And a C shows up at the bottom of my screen The problem doesn t exist when I merely operate between Partitions 1 and 2 but only when I use commands in Partition 3 Since Caps key plus function keys are used to move from one partition to another there appears to be some con nection that needs disconnecting Appre ciate any help Fm MISOSYS Inc Your problem is that you are probably trying to run SuperScripsit in both partitions 1 and 2 That won t work as SS is not capable ofrunning two images of itself i e it is not a re entrant program package DoubleDuty is fine if you want to run SS in one partition and some other program in partition 2 The fault is with SS But I can t fault it too much many programs are written in such a way as to inhibit correct operation in a task swap ping mode which is offered by DoubleDuty Our LBDM would be an other program which could not be prop erly run simultaneously in two partitions 21 Volume VI i eae er maT Style or Content C Fm David J Kelton Richmond VA Roy I have been meaning to write and order the MS DOS Version of LB Data Manager for some time I have enclosed my copy of Spinnaker Software s The Filer in order to qualify for the reduced price on LB In the last issue of TMQ V iv you asked for comments regarding the preference of titles I suppose I like the Letters to Misosys type style
33. to our Compuserve forum readers back in July John Long an employee of John Lancione and one of the folks who worked at Aerocomp Clone Computers Montezuma gt Micro et al for probably well over ten years passed away unexpectedly on July THE MISOSYS QUARTERLY Autumn 1991 31st while dining at a restaurant Incidentally in case you haven theard all the above businesses have ceased opera tion as of about July 1st Clone Computers has re opened under new management i e Mrs Lancione and can be reached at 214 934 2200 John Lancione the person behind all of these companies and a person whom I have had the pleasure of meeting on a number of occasions who remembers the Milwaukee massacre had this to say about leaving the TRS 80 market I had eleven wonderful years met tens of thousands of fine people the time came to close the business Thanks for the memories And to those who sneered at the venerable TRS 80 refer ring to it as TraSh 80 John had no nice words for you John we ll miss your presence On a personal note this issue marks the beginning of the sixth year of publication of The MISOSYS Quarterly That sapretty good record I hope that as this last year of publication proceeds we all will have time to reflect on the past while MISOSYS looks to some future somewhere I have introduced versions of LDOS and LS DOS which will carry you all through to the year 2011 And if you move on to an
34. w clock 20Meg M3 M4 H HD 020 Hard drive kit e w clock 40Meg M3 M4_ H HD 040 Hard drive joystick port option H HD JSO Hard drive Kalok KL320 R HD 020 Hard drive e ST251 1 R HD 040 Hard drive Seagate ST157A 16B IDE R HD A40 Hard drive Seagate ST 157N SCSI R HD S40 Cable dual floppy extender H FD 2EX Cable 4Ft floppy 1 34EDC each end H FD C04 Cable 4Ft M3 M4 printer H RC PM4 Cable 4Ft Radio Shack hard drive H HD CT4 Cable 4Ft MISOSYS hard drive H HD C04 Cable 26 1069 internal floppy H FD 2NG Cable 26 1069A 26 1080 internal floppy H FD 2GA Cable 26 1080 A internal floppy H FD 24P Cable drive power Y H HD CPY Cable XT hard drive set H HD CXT Cable Custom IDC ribbon M3 M4 M2 Standby Power System 200VA Standby Power System 450VA HD Controller Adaptec 4010A HD Controller Xebec S1421A H HD CX2 75 00 T80 to SCSI host adaptor H HD MHA 75 00 ZOFAX 96 24 Fax Modem PC XT AT R Z1 FAX 175 00 Infochip Systems Expanz PC R IC EXP 179 10 DJ10 Tape Backup PC R TD D10 275 00 AB10 Tape Adaptor PC R TD A10 75 00 KE10 External tape adaptor case PC R TD K10 110 00 TNN VV ngoo nm R PS 450 399 00 H HD CA4 75 00 oOo oOnnogooOoNss The Fine Print MSDOS Software Freight codes A 3 50 B 4 00 C 4 50 D 5 00 E 5 50 Mana a 0 dape Ola omary sector editor See con F 6 00 G 8 50 H 12 00 varies Allunmarked are 3 00 RATFOR 86 M 86 073 each Canada Mexico add 1 per
35. you can blink For instance Chips amp Technologies has been sampling a single chip containing an 8086 compatible pro cessor a PC XT core logic chip set and peripheral controllers a keyboard con troller and LCD oriented CGA video con troller Intel is also working on its own integrated PC chip These types of chips target the new class of palmtop comput ers See what happens when a hardware standard develops Memory capacities RAM not my own brain usually quadruple every few years The factor of four comes about because most memories are arranged in a rectan gular array When you double in each direction you get a four fold increase Thecurrent state of the art inRAM was the 4 megabit chip But that didn t seem to last too long as at least one supplier NEC has begun sampling 16 megabit chips made with a0 55 micronprocess Samsung began sampling a 16 megabit chip about a year ago Fujitsu Hitachi IBM partnered with Siemens Mitsubishi Texas Instru ments and Toshiba have all announced 16 mbit chips or will soon do so I also noticed that a few companies are Close to sampling 64 and 256 megabit chips The venerable Zilog just pulled a coup with the announcement of an 8 bit proces sor which includes a 16 bit digital signal processor integrated on a single chip The chip is positioned for use with sub 3 5 hard drives the 2 5 and 1 8 form fac tors The DSP handles 16 bit by 16 bit multiplications and ac
36. you want your best foot forward In the case you presented the problem rests with management I was one once when I worked for AT amp T They need to ensure that the employees using WINWORD are 1 properly trained in its use and 2 have the time to learn a little about page design Without that level of devotion to their employees they are only fooling themselves Don t be upset with WINWORD or WordPerfect or Samna or any other sophisticated tool which pro vides the ability to do professional page design Be upset with the management pepe rr ST Letters to MISOSYS Letters to MISOSYS THE MISOSYS QUARTERLY Fall 1991 who do not allow the users to become skilled with their tools I m sure they wouldn t hire a beginner off the street and assign that person to a sophisticated ma chine tool without training and education on the job Sophisticated desktop publish ing tools are no different As far as the questionable demise of TMQ it was not due strictly to the amount of effort I spent in preparing each issue and subsequently the time spent on page com position and style but the relationship of that time to the subscriber base When I originally set out to define TMQ back in 1986 my projection was for a subscrip tion base of 3000 It was with that target that the 64 page issue was designed The size exceeded 64 pages right from the outset issues I i and I ii were 100 pages issue iii was 106 I iv thr
37. 3 release to bring it up to level 5 3 1 Fair question Other than introduce a few bugs to the Model I version which have already been corrected all files have been groomed and enhanced so that the syntax and fea tures are consistent with 6 3 1 The DATEcommand Date prompton boot and the DATE SVC now support a date range of 32 years from January 1 1980 through December 31 2011 For the Model I version this obviously in cludes time stamping with hour minute One internal difference exists between the Model I II versions and the Model 4 version concerning dating Without the ROM getting in the way and a little more low memory system space in the Model 4 version I was able to implement the 32 year range of supported years in the sys tem date storage data structure with a value from 80 111 indicating 1980 through 2011 The Model 4 DATE ser vice cali as well as ali system modules making use of the date converted the number where necessary to 80 99 and 00 11 for display purposes However in the Model II version the DATE service function is in ROM and inhibited this technique The Model I DATE version is in SYSO but insufficient space existed to handie the conversions Therefore the Model I III LDOS 5 3 1 implementation stores80 99 in DATE for 1980 1999 and 00 11 in DATES for 2000 2011 One of the reasons I was resistant to implementing a Model I LDOS 5 3 0 aside from the small audience was the requirem
38. 5 mentioned above except XLR8S8 FIX If youalways usean ERAMDISK asI do then install XLS8 FIX If you want the flexibility of keeping as much lomem free as possible say to have both DiskDisk memory modules in lomem then don t install it If you use it install it before installing FEXMEM CMD and then SYSGEN immediately If you choose not to sysgen FEXMEM each time you want an ERAMDISK you must invoke FEXMEM first You may recall my saying earlier that I couldn t imagine an application which would cause any part of UBUF to exist in Volume VI 1i qQeaqanaQaagqQaqgqggaggagagaaaggaqggaqaaaaa qQQqadnqaaqgaaqaqaqgaqaqqagq agqgagagaaana NQ Q Artificial Artificial Artificial Artificial Artificial Artificial Artificial Artificial Artificial Artificial Artificial Artificial Artificial XLR8erRAM While this in my opinion is extremely unlikely it is possible For this reason two additional files FEXMEM1 ASMandFEXMEM1 CMD are also included FEXMEM1 allows UBUF to be anywhere in RAM The additional code required to do this of course makes the module considerably longer Butif you run into an application which fails with FEXMEM and you still want or need the extra ERAMDISK speed try FEXMEM1 Finally for those to whom 32 extra bytes of lowmem are more important than blind Inside TMQ 46 i Inside TMQ Volume VI i ing speed are two other patch files XLSYSOD FIX and XLBOOT
39. 5 3 i i from January 1 1980 through December 31 2011 release Specify RESET filespec DATE ON to es time stamping too tablish a Prat directory date as that of the current l x Double density BOOT support for Model I with civi PEAS OS i i embedded SOLE and FORMAT SYSTEM Supports Both Model I and Model HI support similar com mirror image backup too Reworked FDUBL driver mands all features of Model III 5 3 0 are in Model I I i eliminates PDUBL and RDUBL and takes less memory 5 3 1 That includes such facilities as DOS and J i enhanced resident driver eliminates TWOSIDE BASIC help files SETCOM and FORMS library com i mands TED text editor BASIC enhancements etc Ix oak i chaste pas detects Model 4 for installation All DOS commands have been groomed for Model 4 l en Sil ver supports CAPS CTRL and LS DOS 6 3 1 syntax where possible q Best of all a 5 3 1 diskette is available as a Bi i ae sien ee ho removable ot reusable replacement for your 5 3 0 diskette for 15 plus i ALIVE and UPDATE memory modules 3 S amp H in US and Canada 4 elsewhere There sno J x TheTED text editor now has commands to print the need to return your current master i l entire text buffer or the contents of the first block tx The 5 3 1 diskette s come s with a 30 day war i encountered Obtain directories from TED too ranty written customer support is available for 30 The SPOOL l days from the purchase date Versions for the Model
40. 89 9 c do not have a fully populated 384K Iodine 53 126 9045 Solid 113 5 C 184 C XLR8er equipped Model4 Thatis your Zenon Sa ogaao cas tL c 107 1 a Model 4 must have 128K on the Barium 56 137 34 Solid 725 c 1640 c motherboard and 256K on the XLR8er Lanthanum 57 138 9055 Solid 920 c 3454 c Cerium 58 140 12 Solid 798 c 3257 c This new BANKer is substantially Praseodymium 59 140 9077 Solid 931 C 3212 Cc smaller than any of the previous versions Neodymium SO Tead solia toto 3227 actually fits in the space taken by the rome um cia vs Samarium 62 150 4 Solid 1072 Cc 1778 c gosh re ger u o low Inside TMQ 45 Inside TMQ Volume V1 1 memory is the VDCTL routine which only takes 20 bytes One of the reasons it can be smaller is that it manages port 84H and its image OPREGS differently than the Goben code and goes against the hardware documen tation which appears to be wrong or at least incomplete The difference is in the way bits 5 amp 4 Memory Bit 1 and Memory Bit 0 are managed These two bits determine which bank of normal RAM is switched in The chart in Table 3 contrasts what the docs say about these two bits and what logic tells me must be the actual case I have tested this theory on my non gate array my Standard gate array and my Model 4D gate array machines On all these machines both 0 0 and0 1 in Mem1 Mem0 switchin Bank0O Idon thavea4P so have not tested my theory on one of those
41. BMANAGE I then used the new in house select module _ command to generate the record numbers of duplicates at about an 85 match I used both the alphabetic name sort and the ZIP sort The first produced about 5 000 record numbers which I manually exam ined in edit mode todelete those I felt were real duplicates I had to ensure that I kept any record which had a TMQ entry in it The ZIP check subsequently produced about 2900 record numbers This process certainly didn t catch all the duplicates as I couldn t be sure of records with match ing names but different addresses which one was the correct one All in all the process went considerably faster than if I were to attempt the job on totally a manual basis It pays to have a fast hard drive for this operation I keep the customer database on a 286 10MHz AST machine with a 28ms 40Meg hard drive Running the duplicate check on 25 000 or so records took about 45 min utes That represents a lot of bouncing around on the drive as the raw data is not in alphabetic order and so accessing the records according to the ordered index file resulted in a great deal of seeking on the drive With theZ80 version of SIMIL completed and tested and integrated into LB I can get back to that 2 2 release once this issue of the Quarterly is complete I have a few more tidbits I want to put into this next LB release besides the duplicate check I al ready mentioned the multiple key find I
42. CKS which will be icked up as the RET address for he DBLGET sequence then is 1 witch in the XBUF bank 2 copy XBUF to LOBUF 3 restore the UBUF bank and 4 copy LOBUF to UBUF At DBLPUT the EX SP HL instruction puts XB UF on the stack and loads HL with UBUF Then we PUSH LOBUF in DE and call DMAXFER tocopy the data from UBUF toLOBUF Then we POP LOBUF into HL and XBUF into DE clearing the stack and fall through to XFER to copy the data from LOBUF to XBUF The DBLPUT sequence then is 1 copy UBUFtoLOBUF 2 switch in the XBUF bank 3 copy LOBUF to XBUF and 4 restore the UBUF bank eta tat ete aretetetete At XFER wefirstcall BANK toswitch See Inside TMQ 39 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi in the XBUF bank If there is an error such as an attempt to transfer to from a non existent Bank 1 or 2 the original stack is recovered and return made to the calling routine with the BANK error which willalmostcertainly be device not available If there is no BANK error DMAXFER is called to do the data transfer BANK is invoked again via a JP to restore the originally resident bank If this is the last invocation of XFER return will be to RETSP due to the local stack ar rangement and seeding as discussed for the JR to DMAXFER above Otherwise a normal return is made Now we get to the fun part DO_DMA which handles di
43. D FIX These two patches implement all the code in NEWBANK1 ASM except the key board traps and sets the Z180 to run at the Houd standard speed 1 1 40 but with REFW 0 so the refresh cycle is 2T in stead of 3T They are meant to be used instead of XLSYSOC FIX and XLBOOTC FIX If you want to run at the true Houd settings of 1 1 40 3 instead of the 2 4 faster 1 1 40 2 change the second to last byte in the d10 34 line in XLSYSOD FIX from x BE to x FE Now the 64 question Is this worth all thetrouble IfI didn t think so Iwouldn t have gone to all the trouble to do it We ve already established that 256 byte DMA memory to memory transfers are about 125 faster than LDIRs when the Z180isrunning in its fastest mode But the speed increase afforded by FEXMEM is THE MISOSYS QUARTERLY Autumn 1991 substantially greater than that The real improvement is in the elimina tion of all double buffering when transfer ring data toand from XLR8er RAM banks When we eliminate this double buffering we replace two 597 6 usec LDIRs total 1195 usec with one 267 usec DMA trans fer Thisis a nearly 350 speed increase I would estimate that the average user should experience an effective average ERAMDISK speed increaseof about200 In addition to the speed increase there s a certain satisfaction in knowing your XLR8er equipped Model 4 is operating up to it s full potential
44. DRAW It thus seems like the time to upgrade MDRAW to work with them David Goben rewrote the interfacing to work with the new mouse stan dard yours truly worked over much of the rest of the code adding or changing various fea tures Finally to enable the program to use both the normal HR formathi res files and the compressed CHR format the program now utilizes two utilities written by Mel Patrick with minor modification by me BCHRLOAD CMD and BCHRSAVE CMD This really has been something of a coopera tive effort but it all happened because Scott McBurney wrote such an original series of programs to start with Despite all the changes MDRAW II is still Scott s program WHAT YOU NEED MDRAW BAS is a very exclusive program Not just anyone can run it First you need a Model4 TRS 80 computer with ahi res board Second you need LS DOS for the program uses the USR11 call introduced with LS DOS BASIC to access the DOS SVC s and thus the mouse driver It won t work with TRSDOS 6 2 Nor has it been tested with any other Model 4 DOS s BASIC Third you need MicroLabs GB ASIC for it is programmed in that language Fourth you need one of the new mouse drivers either that by David Goben or that by Matthew Reed Ironically though the point of all this is to use a mouse the program will run without one if you have all the other things you can use the arrow keys instead You MUST havea driver even if you don t
45. F gt Letters to MISOSYS Volume VLi THE MISOSYS QUARTERLY Fall 1991 Volume VI1 i MDRAW II Scott McBurney s MDRAW with various revisions and enhancements Documentation by Gary Shanafelt Dept of History McMurry University Abilene TX 79697 INTRODUCTION Scott McBurney first wrote this program as a basic drawing utility for his Model 4 hi resolution board He called it DRAW BAS Though he said it was simply a stopgap for MicroLabs Pro Draw which he couldn t af ford it became part of everyone s hi res li brary because it included a routine to print Dotwriter letters on the screen It had some thing no other program had George Madison liked it so much in fact that he rewrote the Dotwriter routines and ported them over to TRSDRAW BAS another hi res drawing pro gram Then a few years later Scott wrote a revised version called MDRAW BAS It was basically DRAW but with the addition of a driver to support a Microsoft serial mouse hence the M in the name for mouse This was again a first no other TRS 80 program would work with a serial mouse And when the MicroLabs mouse hardware interface was sold out MDRAW BAS became the ONLY way to use a mouse with the hi res board In the last few months a number of TRS 80 mouse drivers have become available all us ing the same interface for the Model 4 They were inspired by you guessed it the original mouse driver that Scott wrote for M
46. FEXMEM just does it faster Unfortunately it s 56 bytes longer than PEXMEM However to overcome the size problem I have included a new BANK SVC based on Houd s concept adapted from my own code for Richard King s 512K hardware mod TMQ IV ii amp IV iv and from the work done by David Goben TMQ V ii to reduce the amount of code that spills over into low memory Also included is software which allows the Z180 to run in it s fastest mode 0 1 80 2 by inserting two memory waits during any keyboard access This is my adaptation and expansion of an idea by Mel Patrick published in CN 80 Thenew BANK routine saves 101 bytes compared to Houd s The keyboard module adds 32 bytes and the new FEXMEM SVC is 56 bytes longer than Houd s PEXMEM meaning this new configuration the new BANKer the VDCTL trap the keyboard speedup traps plus FEXMEM actually takes 13 fewer bytes of precious low memory than the Houd utilities Without the keyboard traps the saving is 45 bytes To understand how and why FEXMEM operates you firstneed to know that the Z180 on the XLR8er has 19 address lines enabling ittoaddress512K ofRAM andthe XLR8er s 256K RAM is at physical addresses 40000H through 7FFFFH See Table 2 Because the CPU cannot handle addresses higher than OFFFFH the Z180 has a Memory Manage ment Unit MMU which enables the CPU to see this area of RAM at logical addresses different fr
47. Locowed 30 rajal In this issue LDOS 5 3 1 released LDOS 5 3 XLR8er Interface Kit released te The Final Solution to the XLR8er Question by J F Slinkman t Pattern Matching by Roy Soltoff s ELEMENTS a PROWAM app by Danny C Mullen on n t be i e out to dry LDOS 5 3 1 and LS DOS 6 3 1 are good through 2011 Volume Vi i 10 Autumn 1991 AFM Auto File Manager data base BackRest for hard drives BASIC S Compiler System BSORT BSORT4 CON80Z PRO CON80Z diskDISK LS diskDISK DISK NOTES from TMQ per issue DoubleDuty DSM51 DSM4 DSMBLR PRO DUCE EDAS PRO CREATE gt EnhComp PRO EnhComp Filters Combined amp II GO Maintenance GO System Enhancement GO Utility Hardware Interface Kit HartFORTH PRO HartFORTH LDOS 5 1 4 User Manual LDOS 5 3 1 Mod1 Upgrade kit LDOS 5 3 1 Diskette M3 LDOS 5 3 1 Mod3 Upgrade Kit LED LS LED LB Data Manager M4 Ver 2 1 LS DOS 6 3 1 Upgrade Kit M4 LS DOS 6 3 1 Diskette M4 LS DOS 6 3 1 Upgrade kit M2 12 16 LS Host Term LS UTILITY MC PRO MC Mister ED MRAS PRO MRAS PowerDot Epson or Tandy PowerDraw PowerDriver Plus Epson PowerMail Plus PowerMail Plus TextMerge PowerScript PRO WAM PRO WAM Toolkit Programmer s Guide DOS 6 QuizMaster RATFOR M4 RSHARD R S HD driver ST80 III Super UtilityPlus Super UtilityPlus CMD file diskette Supreme HD Driver PowerSoft RS TBA LS TBA THE SOURCE 3 Volume Set Toolbox
48. OS torun any other program you will 17 lose any incoming data stream What cap tures data while you pop into PRO WAM from the COMM program is COMM s capturing of data Model 4 serial input generates interrupts which COMM usesto capturereceived characters and store them in one of its buffers until needed The buffer could be up to 40K or so COMM uses some excellent smart buffering of all device I O techniques originally devel oped by Randy Cook Now if youcoulddo your word processing with TED APP one of the MisterED applications you are home free while using that from COMM Youare using the wrong syntax to display alter a flag s value using the MEMORY command The correct syntax is to en close the flag letter within double quotes it is designated as a string Thus to display the A flag use MEMORY Address A It is not necessary to upper case the string Finally if you have left your machine in an idle state 1 e sitting at DOS Ready and it is in DEBUG when you return it typi cally indicates a failure of memory DE BUG is entered when the CPU program counter is at a memory location contain ing X F7 the machine code value of RST 30H Your computer is always processing code even at DOS Ready it is constantly processing KBD service calls If there was a memory malfunction in any one of the locations the CPU is accessing for code and a value of X F7 is sensed DEBUG will be entered
49. Our kits come assembled in acabinet holding up to two half height drives 60 watt p s fan SCSI controller host adaptor hardware clock and cable Software includes driver formatter archive restore and sub partitioning all for LS DOS 6 3 LDOS software 30 additional Drive kits work with Model III or Model 4 hardware 20 Megabyte kit 450 S amp H 40 Megabyte kit 575 S amp H Joystick port option 20 Note S amp H for hard drives varies S amp H prices are UPS ground to continental U S Volume VI i Inside TMQ Inside TMQ THE MISOSYS QUARTERLY Autumn 1991 Modern day computers as well as the bulk of those designed and manufactured over the past two to three decades are based on bi state logic The phrase bi state logic means that input to a device is in one of two states generally classified as a logic 0 FALSE oralogic 1 TRUE while the output also is in one of two states A computer is simply built up from millions of these bi state devices That is also where we derive the term binary All the processing of a computer ema nates from the binary states of the devices it is built from I ll use the term logic devices which turns outto bean excellent term because it ties in with philosophy the study of logic Binary logic can be easily used to repre sent bi state conditions i e conditions which can be in either one state or another It s either raining or it s not raining the
50. P with PRO WAM MISOSYS announces avail ability of Hard Drives Logic in the C language IVi Cataloging files with a word processor Page display PRO WAM application File undating with FUNDATE Array load routine for BASIC XLR8er rand the GT 180 graphics board IVi Printing from BASIC without cutting words LOAD100 for Model 100 Generating date time stamp Favorite recipes Some BASIC rou tines IV iii Fast in memory sort using XLR8er RAM Using XLR8er RAM as graphics video RAM Upgrade your 4P with external floppy drives Dou bling of files solved SuperScripsit document file format FELS WOOP PRO WAM export utility V iv Five Twelve K A better way Multi Command Touch ccc Fixes for LS DOS 6 3 1 DoubleDuty Ver sion 2 6 0 released i 300Dotsonthe TRS 80 Tandy 16 6000 Hard Disk Drives NXWAM PRO WAM application A review of M A D s XROM a MIDI interface for your TRS 80 V ii Image processing on the TRS 80 Model 4 A MAKE utility for MC New XLR8er patches for LS DOS 6 3 1 FORTH A language for every application V iii It s rude not to interrupt A Model 4 mouse driver Profile 4 to es ee Volume VLi filepro 16 dBASEIII anda complete map to Lair of the Dragon Yy Fill low memory Internal HD for 4P Roll your own on the XLR 8er Profile 4 printer codes Boot LDOS 5 3 from HD Model 4 Memory How much and why 300 Dots An update and Lair of the Dragon hint sheets aS ree eee em
51. RAM mode then populates the low RAM with an image of the ROM It then adds the memory management bank handler for the extra 64K of memory and the extended 256K of memory on the XLR8er board This adds banking capabil ity for XLR8er equipped Model 4 s oper ating in Model III mode to the ten addi tional memory banks Like SET2RAM the XLR2ZRAM memory manager over writes the cassette routines in low memory Note that this may not be suitable for those machines equipped with M A D sXROM The RAM disk driver can create a RAM disk of from two to twenty seven banks however only ten are supported through XLR2RAM The Video Management Extenderexpands scroll protect from zero to fifteen lines rather than just three supports reverse video characters as in the Model 4 mode and supports the DSP of the video char acter generator ROM s character codes from 0 31 and 192 255 The price of the XLR8er Interface Kitis 20 plus 4S amp H US Cariada 5S amp HforTMQ zone D and 6 S amp H for TMQ zone E Winter vacation re minder MISOSYS closes up between Christmas and New Year s Thatmeans this year we will be closed from Saturday December 19th Saturday until Thursday January 2nd 1992 a ee eae PD Software Librarian Vic McClung is librarian for a collection of TRS 80 public domain diskettes All requests and contributions be directed di rectly to him at Vic McClung 914 Crescent Sikeston MO 63801
52. Roll Your Own on the XLR8er This protocol reduces the amount of code required to implement Channel 0 transfers and helps ensure transfers go where they are supposed to go instead of to or from unexpected areas which would result in program failure ata minimum and system crash at a likely maximum Itis simply a requirement that the SAROB and DAROB registers which hold the top three bits of the 19 bit DMA addresses be initialized with zero upon boot up and be restored to zero after any DMA Channel 0 operation This causesDMA Channel0 to default to transfers within the base 64K In other words programmers should use extreme caution before changing the val ues in these two internal registers when FEXMEM is installed The first two instructions at DMAXFER load the lower 16 bits of the 19 bit DMA Channel 0 source address register with the contentsof HL The next two instructions load the lower 16 bits of the 19 bit DMA Channel 0 destination address registers with the contents of DE The next two instructions load the value 01H into the top 8 bits of the 16 bit DMA Channel Obytecounter register The lower 8 bits of the counter in BCROL are auto matically initialized to zero upon RESET and will be zero upon conclusion of any transfer Thus the byte counter register will count 100H or 256 bytes to transfer The next two inStructions load the value 02Hinto the DMODE register This causes both the source and des
53. YES the cursor starts to far right Also with the next field DATE PAID mm dd yy the same thing There are some records that do not have this pop lem and some that do Also try using index 5 a sort by LAST NAME The first name field is ALPHAMETALS Then I found to FIND my name NEWMAN requires a double FIND It only finds it on the second try Now step through NEWMAN in the EDIT mode and I found the fields above behaving as I mentioned with the Letters to MISOSYS 10 Letters to MISOSYS Volume V1 1 cursor to the far right Appreciate any light you can shed on these problems Fm MISOSYS Inc Bill Ihaveresearched your reported problems and can shed light on some of your questions When you are in the edit mode and navigate through the fields the particular fields which you mentioned where the cursor appears to the extreme right actually contain data Spe cifically within the two records you pointed out the SL Assessment and Date paid fields have SPACE charac ters in them I can answer specifically that the fields which are of type R will always be space filled once a data entry is made or they are edited Page 24 of the manual states for R fields Jf the data entered for the field does not completely fill the field length pad spaces will be added to the left of the data entry This implies that the field will be totally filled with spaces i
54. ac ity drives has merit Also one should make use of the memory capacity of their system Model 4 computers should be populated toat least 128K thereby gaining the advantage of operating such useful software as PRO WAM DoubleDuty or a MemDISK With a MemDISK as the system drive one needn t bog their high memory region down with SYSRES of five system modules eens Oy eee ee ieee Date Not Current SS Fm Gary W Shanafelt Ph D Abilene TX Dear Roy The mainreason I m writ ing is to bring to your attention a rather strange situation which I m at a loss to explain It s a file which fails to be recog nized by the LS DOS 6 3 1 BACKUP command I don t know if there is some thing defective in the directory informa tion of the file or a fix to BACKUP CMD which I have missed Anyhow the file on the enclosed disk is HPCR CMD a one sector file Itis neither protected nor invis ible But if you issue a normal backup by classcommand i e BACKUP 1 2 Q N everything else will be backed up except this file Yet it can be transferred from disk to disk with no problem if you use the COPY command I m including my copy of BACKUP CMD on the disk with the problem file Any ideas I notice that LDOS 5 3 BACKUP works fine the prob lem seems to he only with the Model 4 DOS ee Pi ft OS SL a w Letters to MISOSYS 14 Letters to MISOSYS Volume VI i The other files on the disk are for your personal
55. asssically the primed registers alternates have been reserved for use in interrupt tasks As such for any properly written program to make use of the primed registers their values should be saved on the stack or elsewhere then restored SIMIL needs to maintain pointers to the beginning and ending characters of two strings which are being compared In ad dition it needs to have access to addi tional byte counters I chose to use the 16 bit index registers IX and TY as pointers to the beginning of the two strings and reg ister pairs DE and BC as pointers to the ends of the strings Registers Hand L were used as local 8 bit register variables As will be explained later the SP register is also used as a pointer to a data stack I avoided use of the alternate or primed registers SIMIL is written to be a function callable Inside TMQ 29 Inside TMQ Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume VI i from C specifically MC It uses the argu ment passing convention employed in MC arguments to the function are placed on the stack immediately prior to the return address and the returned integer value is passed in the HL register pair As such the code uses an MC macro to gain access to the arguments and library functions for math calculations which PI explain here for those of you not yet adapted to the C environment The GA macro simply pops the argu ments off of the stack then resto
56. at least when it comes to managing extended memory and running atmaximum 0 1 80 2 clock speed To install this software you should start with a backup of your original LS DOS 6 3 x disk and reconfigure your system Volume VI i from scratch applying all the XL FIX patches except optionally XLR8S8 FIX before putting anything else in low memory The instructions for installing the BANK patches are found in the patches them selves XLBOOTC FIX AND XLSYSOC FIX Or you can use XLR8C631 JCL which requires access to those files plus the Houd XLR8BU FIX XLR8S2 FIX and XLR8S12 FIX files For those who prefer the D patches over the C patches the file XLR8D631 JCL is included to handle installation The big caution here is that FEXMEM must goin low memory since its purpose is to switch memory banks around Make sure you configure your system so there is room for it in low memory Editors note Due to the volume of XLR8er patches appearing in previous issues Of TMQ the fix and JCL files referencedin this article will notbeprinted herein however they are contained on DISK NOTES 6 1 Inside TMQ 47 Inside TMQ et tet eee el i o LDOS 5 3 1 the support continues l I J x TheDATE command Date prompton boot and the tx Specify RESET filespec DATE OFF to restore a DATE SVC now support a date range of 32 years file s directory entry to the old style dating of pre
57. ause of a mismatch to the all 0 s sec ond find line Please advise Do I need to use Mr Ed to look at this section of the program file In reviewing the Logical Systems Inc LDOS manual I did not find mention of the REMOVE function for patches in the Dxx Fxx form but YANK was men tioned for the direct address patches Can I assume that REMOVE is implied I didn t see anything on patches in your blue pages addendum for LDOS 5 3 Fm MISOSYS Inc Dean You are cor rect about the MCRES52 FIX in TMQ When Icreate a patch keep each D and F statement on a separate line Some times for space considerations in TMQ I manually edit the fix In editing the TMQ text I inadvertently used a semicolon for both the Model 4 and Model HI versions of the patch It is correct as it appears on DISK NOTES But LDOS 5 uses a colon logical line ending character whereas LS DOS uses a semi colon LDOS s use is consistent with its use of a colon logical line separator on the PATCH command line The REMOVE parameter is not in the LDOS 5 1 4 User Manual as that param eter was added with the 5 3 0 release actually the D and F patch facility was also in that release This is docu mented in the blue 5 3 upgrade documen tation on page 11 pfs FILE and SYSRES eeeeEEeEeEeESE E Fm Henry A Blumenthal Jacksonville FL This letter answers the proble
58. believe I want to investigate the feasibil ity of adding a control tab to the print generation The difficulty of any enhance ment is the ability to squeeze more func tionality into the TRS 80 version without Inside TMQ 28 Inside TMQ Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume VLi bumping up against memory constraints But I will do some tweaks here and there I also want to add another module to automatically create standard print screens and add edit screens once the data defini tion is complete After the 2 2 version I expect to get started on an MSDOS ver sion to run under Deskmate Now let me shift to the techniques I em ployed in writing SIMIL ASM as there are some techniques which may be new to my readers The first task you need to tackle when writing any complicated function in as sembly language is to map out the use of the CPU registers The Z80 supports two 16 bit index registers IX and IY which have certain advantages and disadvan tages for use There are also two banks of register pairs which can be accessed as either 8 bit or 16 bit the regular bank is HL DE and BC while the alternate bank is HL DE and BC Only one bank is accessible at a time you switch from one to the other via the EXX instruction There are also two accumulator flag registers AF and AP again only one is accessible at a time with the EX AF AF instruction used to switch between them Cl
59. ck This is necessary to keep the stack from being switched out in the course of bank switching A local stack is not necessary in the case of a pure no bank switch DMA transfer but the interrupts will still have to be enabled afterwards Treating ali entries and exits the same saves code Now XBUF is forced to 8000H or higher by setting the high order bit in the HL register pair The transfer area bank number which is still in A is now checked again If XBUF is in XLR8er RAM then no bank switch ing is required because both UBUF and XBUEF are currently and fully physically addressable In this case control passes to DO_DMA If XBUF exists in normal RAM then bank switching and maybe even double buffer ing will be necessary so the Houd code modified is used to accomplish this THE MISOSYS QUARTERLY Autumn 1991 Volume VL i Table 1 Internal Z180 DMA registers used by FEXMEM No Description function 20H bits 0 7 of DMA channel 0 source address 21H bits 8 15 of above 22H bits 16 18 23H bits 0 7 of DMA channel 0 destination address 24H bits 8 15 of above 25H bits 16 18 26H bits 0 7 of DMA channel 0 byte counter 27H bits 8 15 of above 30H DMA Status register 31H DMA operation mode register Table 2 Physical Memory Map of XLR8er equipped Model 4 00000H 08000H 08000H 08000H 10000H Base 32K Bank 0 Bank 1 Bank 2 Addressed as Banks 1 amp 2 Does not exist Does not exi
60. cumulation in one clock cycle that s 100 nanoseconds with a24 megahertz clock The Zilog chipalso includes and 8 channel 8 bit A D and D A converter According to liao Futures more than 33 million PCs will carry FAX cards by the year 2000 I am one of those 33 million With a ZOFAX 96 24 fax mo dem you can be too Mention this para graph in TMQ and I ll sell you one for 175 S amp H As you migrate to newer machines what are you doing with your older software and files stored on that old media If you are like me you have all of those old diskettes and cassette tapes Think they re still readable If you have given up on a TRS 80 and are now using a PC or Mac can you still read those files recently caught an editorial in Electronic Buyers News EBN which touched on some of these issues Consider that the Census Bureau has 4000 computer tapes remember mainframe reel to reel re corded at 200 bpi I doubt they have a machine capable of reading those tapes There s 1 2 millionreels of tapein NASA s basements Readable Questionable Technology is changing too fast wedon t have time to keep up with it It seems that the way in which the com puter industry biggies are planning their future growth is on the acquisition of similar sized to somewhat smaller com panies Witness the acquisitions of NCR by AT amp T DRI by Novell Ashton Tate by Borland Norton Zortech and now Dy namic Microp
61. cursor in an off state until keyboard input is requested Cursor positioning is handled by LB it uses a C library function which in turn uses the DOS VDCTL service call to position the cursor The bottom line is that there should not be an extraneous cursor on the screen and that the single cursor should be properly positioned Give me more details to investigate Fm Karl Krelove Levittown PA Roy Thanks for your response this week to my letter about the cursors in LB s work screens I ll give you as much detail as I can but I m really not doing anything unkosher or even clever Tinv oke LB with the command lt LB RECORDS gt where RECORDS isan LB file containing my collection of LP s cassettes and CD s Itisa file I created under version 1 incase itmakes any difference Atthe main menu screen I select a function for example adding arecord with lt 2 gt and find myself at the add screen with a command bar at the bottom of the screen Help is high lighted and a cursor is flashing in the extreme lower right hand corner In this mode as in all the others on the runtime side of the disk except 3 Update the cursor remains blinking in the corner as I move the highlight with the arrow keys to the command I want to select normally Add I return to the main menu with two presses of lt BREAK gt The cursor display I just described may I have come to realize be intended Since my last
62. e If you need to shell out to DOS to perform minimal mainte nance or other DOS commands you may want to explore installing PRO W AM and using its library executive to perform DOS library commands That limits you to only library commands whereas the LB shell would have let you do anything short of affecting high memory That s a small price to pay for the capability Fm David Huelsmann Roy I was afraid you would say something like that Oh well just have to make sure that I don t create another LB database with the same name anywhere on my drives Fm MISOSYS Inc It should be some what confusing to do that on a TRS 80 possibly dangerous as well On the other hand youcould achieve duplicately named databases installed on different drives if the path files forall such named databases were not simultaneously available You could for instance use a DiskDISK or subdisk for each path file Then attach the subdisk for the database currently desired You should be able to swap subdisks using the shell function You would have to have auniversally available database associated with LB during the shell operation as LB would need to access the path filecurrently associated after returning from the shell Under MSDOS you would put each simi larly named path file in a different subdirectory not identified in the PATH environment variable E LB and Date of Update Fm Wiliam J Newman Sanford NC Thank you
63. e command bar options In my copy of version 1 it appears at the end of the command bar as it does i in a the other modes Further key presses have the following effects lt KEY gt for any of the available Options cursor jumps to right hand end of highlight option executes lt R or L ARROW cursor remains attached to right hand end of highlight lt U or D ARROW new record data appears on the screen cursor is in the data area again Iforgotin all of this tosay that when thecursor is needed to indicate where input is to be entered e g edit option of the Update mode or anywhere a prompt appears asking for input it is right where it needs to be in the data field or at the end of the prompt If I ve stirred up any degree of fuss about a screen feature that really was intended Iam genuinely sorry to have wasted your time The appearance of a cursor in the command bar seems unnecessary but it certainly is nota problem and is consistent with version 1 The one at the end of the data fields in 3 Update did cause me some initial confusion the first time I used the new version I was probably only half awake but for an instant I thought I was expected to enter data where the cursor was And I m not sure why even given the purpose of requesting a hot key response the cursor follows or depending on the direction leads the highlight around the command bar after an option has been selected This is all the m
64. e had a funny glitch intermittently I don t know how to reproduce it Sometimes I come back to my running machine to find the debug display on the screen and the machine locked up When this occurred I have not had debug active so far as I knew so Iwas puzzled Therefore I thought a a Letters to MISOSYS 16 Letters to MISOSYS Volume VLi THE MISOSYS QUARTERLY Fall 1991 Volume VLi I d check the flags to see if unknown to me debug had somehow been activated and the proper flag set Have you heard of this glitch from anyone else Finally let me praise your 40 meg hd kit I ve been using itnow foracouple of years with nary a hitch Fm MISOSYS Inc Keith Your sugges tions for PRO WAM s CARDX applica tion appear to be good ones Sometime in the future I have to re groom date sensi tive applications in PRO WAM to operate beyond 1999 PI look into CARDX changes at that time The only silly question is the question you don t ask Here s the answer on DIR and sorting File names are not kept in alpha betic order in a directory In order to pro duce the listing in alphabetized order the data must be sorted That requires an in memory sort Each file record requires 32 bytes of memory Since there could be a maximum of 256 file entries that requires a scratch memory area of 8K When DIR is run from the DOS command line it has memory available up to where HIGHS is
65. e or neutral effect eae es LB2 CLS Exit eed Fm MISOSYS Inc Roy T Beck re ported a very minor difficulty I wanted to pass on to Model 4 LB 2 1 users Roy uses ALLWRITE and found that invoking it immediately after exiting LB 2 1 the ALLWRITE logo written directly to the screen probably through VDCTL was in reverse video lower 128 value characters in lieu of Model 4 graphics characters This did not happen in LB version 1 I dug into the LB code and found the reason LB does issue a clear Letters to MISOSYS THE MISOSYS QUARTERLY Fall 1991 screen just prior to exiting however it uses its own internal clear screen func tion The DOS clears the video screen with a HOME CLREOF sequence that s a cursor home code followed by a clear to end of frame code 28D 31D The screen clear function in LB uses a re positioning of the cursor to location 0 0 then a clear to end of frame Unfortunately that doesn t reset or clear out the reverse video en gagement only HOME does As this problem is exceedingly benign I ll get it touched up in the next release not as a patch to this one Just be aware of the problem if it occurs and recognize that there is no need to send me a report ae en ee es et LB86 Installation Fm MISOSYS Inc Lastly here sa minor one which couldaffect only MS DOS LB2 users trying to install the product onto floppy disks until I cured the problem Fm John Keane Charlotte NC Ro
66. e copyrights BSA estimates that eighty one percent of all new packaged software sold in Italy has been illegally copied Other estimates are 79 percent in Spain 63 percent in France 52 percent in Britain and 30 percent in the United States Microsoft has gone so far as to put hologramson their legal packages in an attempt to thwart thieves But when you are talking about millions and millions of packaged copies ofasingle software product there s lots of opportunity for the criminal element to infiltrate the process when hungry retail ers are unconcerned about their source for product IHegal duplication mills pump out thousands upon thousands of illegally copied packages of Microsoft s MS DOS 5 0 for example Now thatI got your attention here s other good news for mail order buyers The U S Supreme Court will soon have to resolve a dispute concerning the rights of a state to collect Sales Tax from out of state purchasers With shrinking revenues many states are trying to go after direct marketing firms Case in point the North Dakota Supreme Court upheld the state s right to force Quill Corporation of Illinois to collect and remit taxes on purchases made by North Dakota residents Quill has petitioned for review by the Supreme Court Keep your eye on that one Already California and Tennessee have started to issue tax assessments to companies While I m on the subject of news here s some sad news we passed along
67. e street could be One Tyler vs 1 Tyler have already been using LB86 version 2 2 in house which has this fea ture added It allowed me to finally com bine three distinct data bases LSI s 6 3 0 registrations Powersoft s TRSCROSS registrations and our own customer base One technique to detect duplicates is to compare the first record against all subse quent records then compare the second and so forth This can take an enormous amount of time on a micro with a database of even a few thousand records That s one reason why direct mail houses per form list management on mainframes On the other hand one can simplify the technique using knowledge of the data Here s what did LB users may know that LB keeps a data structure at the beginning of a select file one element of the struc ture is the key field number My first attack was to expand the data structure of LB s select file to include the field num bers of all fields attached to the sort string present when the select or index file is generated Thus instead of a single key field all fields sorted on become associate keys This has merit for more than finding duplicates I will also be using the mul tiple keys to enhance the edit module s find command to enable you to find the record which matches multiple key fields For instance when I get acall on the order line I will pop up your record on my database But if John Paul Jones calls or Jeff Smith cal
68. ed product to sell you can reach these buyers by placing your advertisement in our publication Current space rates are as follows re duced from previous rates Full page 75 Half page 40 Quarter page 25 Ninth page 15 Icompose the ninth page ad layoutso you have no attwork charge Just submit your text Ads for our inside covers are printed in the same color as the cover TMQ alternates between PMS colors green 354 purple 266 blue 293 and red 199 If you would like to place your ad in THE MISOSYS QUARTERLY send it in You have three issues left The Blurb 3 The Blurb Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume VI i e mG LDOS 5 3 1 Released During late spring and early summer I devoted time to bringing the Model III LDOS 5 3 release up to coordinate with the 6 3 1 version of the Model 4 LS DOS release Guess what folks those who have not already heard Lalso developed a true official Model Irelease of LDOS 5 3 1 S0 for the few dozen or so folks who wanted a ModelI LDOS with 5 3 features to carry them into the next century you now have one 7 What we wanted to do was groom the LDOS release so that every command wherever possible was consistent with the command syntax of the Model 4 DOS In doing so the command structure opera tion of one DOS would be no different than the other the result should be more useful to users of all three machines run ning an LDOS derivat
69. een working with a simple routine to put a blinking character in the upper right corner of the screen so Ican easily tell if what I have is function ing properly or not before I try writing the realroutine Anyhow I protect HIGHS at 4411 thenadd theroutine with the follow ing code LD DE FEQO of task routine LD A 04 Task slot 4 CALL 403D ADTSK JP 402D Return to LDOS Location The task routine in high memory looks like this starting at FEQQ PUSH AF LD A 2DH Display lt LD 3C3F A LD A 3E Display gt LD 3C3F A POP AF RET When Irun the program however nothing appears in the corner of the screen I ve tried adding the RPTSK vector to the start of the task routine that gets the char acters to display on the screen allright but the program never returns to DOS I sus pect what I m missing is something very simple and obvious and I d appreciate any assistance you Can give me Fm MISOSYS Inc Gary when you add a task to the LDOS or LS DOS task pro cessor register DE needs to contain a pointer to the Task Control Block TCB this is not a pointer to the task itself The TCB is similar to other control blocks in the system device control blocks and drive control tables A TCB is a block which contains data The important data element is the task pointer which is con tained in the first two bytes of the TCB Actually a TCB is a minimum of two bytes and needs no
70. ent I had for including automatic support of double density in the Model I release I knew that it would have been extremely difficult to find space to imple ment the handling Working on the 5 3 1 release for the Model I proved that to be a reality I did not have enough free low memory toincludea double density driver as part of SYSO But I did make an im provement First I enhanced the resident floppy disk driver to support two sided disk drives This eliminated the TWOSIDE utility Since both PDUBL the Percom type double density driver and RDUBL the Radio Shack double density driver have some code identical to each other and to TWOSIDE I reworked both PDUBL and RDUBL toeliminate the codeavailable in the resident floppy driver I then com bined RDUBL and PDUBL into a new FDUBL driver which has a parameter to Choose either Radio Shack default or Percom type doubler support The new FDUBL takes up about the same space on disk as one of the earlier drivers thus you save some disk space FDUBL also takes up less high memory than either of its predecessors by eliminating the code it can address in the resident driver Next I altered the Model I FORMAT command so that the SYSTEM param eter forces cylinder 0 of a double density formatting to be re formatted in single density This flags the diskas being a dual density configuration with a bit turned on in the Granule Allocation Table Then I borrowed and
71. er had the time to get involved with it I did have one user who wanted to work on it and I eventually sent him the hardware which was supposed to go along with the serial port kit a split serial cable which connects up with the P2 connector on the XLR8er board a split power connector needed to tap into the 12V and 12V supply which connects up to P3 and which had to be rewired because it was made up wrong by whoever made it for HiTech and the two serial I O driver chips U22 1488 and U23 1489 But between the time of his offer and the time I sent the package he moved and left no forwarding address One of the difficulties ofa serial driver for the 64180 is that the two Asynchronous Serial Communication Interface ASIC ports need to operate using the onboard internal mode 2 type interrupts had origi different programs I am getting involved with because too many projects results in no one project getting excellent treat ment If anyone is interested in dealing with the driver Ican supply the hardware as noted above Don t expect paid com pensation I dug into FED2 as provided with the GO CMD package Your problem was caused by FED s inability to properly compute the directory size of a hard disk partition having 256 sectors per cylinder I worked up a patch for this GOFED2A FIX which should cure your problem GOFED2A FIX 07 17 91 Patch to GO FED2 Patch corrects logging of hard drive with 256 SPC
72. er this data the last 128 bytes would be copied from physical 8000H 807FH not logical 8000H 807FH In other words it would be copied from one of Banks 0 1 or 2 whichever was resident when Bank 6 was switched in see NEWBANK1 ASM to understand why and not from Bank 6 as intended Double buffering means the data must be moved twice in quick succession from the source area to a buffer in the base 32K and then from the buffer to the destination area It would fail in DMA cycle steal mode because the bank containing the source data would be switched out before the DMA transfer from it was completed Even if the source and destination banks were the same double buffering would fail in cycle steal mode because the sec ond transfer would be attempted before the first could be completed Armed with this knowledge we are now ready to walk through the FEXMEM ASM listing The code up to MODBGN is pretty standard installation code In fact I copied it directly from EXMEM The only thing slightly unusual about it is that it obtains the address of the BANK routine and plugs it into the relocatable module so it can invoke it via a CALL faster than a SVC First we need to look at DMAXFER near the end of the listing Inside TMQ 36 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VI i DMAXFER assumes and honors the DMA Channel 0 Protocol I proposed in the article How to
73. es such facilities as DOS and BA SIC help files SETCOM and FORMS library commands TED text editor BA SIC enhancements etc SETCOM does not support the Model I LX 80 RS232L serial driver All DOS commands have been groomed for Model 4 LS DOS 6 3 1 syntax where possible Just as I did for the Model 4 DOS 6 3 1 version if you have a Model IH LDOS 5 3 0 disk a 5 3 1 diskette is available as areplacement for your 5 3 0 diskette for 15 plus 3 S amp H in US and Canada 4 elsewhere There s no need to return your current master Model I users since you have never purchased a 5 3 0 upgrade need to purchase the 5 3 1 LDOS 5 3 1 upgrade for the 39 95 price plus S amp H Some features require lowercase or DDEN adaptor See our ad for further details ec XLR8er Interface Kit ee eel David Goben developed for us a soft ware support package for the XLR8er board operating under LDOS 5 3 The package is based on our own Hardware Interface Kit hence the name of this new package is the LDOS 5 3 Model 4 with XLR8er Interface Kit I doubt I ll putall that on one label The package includes the following software XLR2ZRAM Memory management handler XMEMDISKT RAM disk driver BANKER Memory bank utility VIDX Video management extender and SETX XLR8er support utility The XLR2ZRAM memory management handler performs the same kind of opera tion as our SET2RAM utility it switches the Model 4 operating in Model IN modeto a Model I
74. f the entry is null For in stance if during the ADD or EDIT mode you step through an R field with f or _ you will not edit the field if you step through by repeated use of ENTER you are editing each field possibly with a null entry An edited R field will always be space padded which is performed at the conclusion of editing a field There is a difference between a null field and a space filled field as far as the cursor position during edit Since the cursor al ways is positioned to the right of the last character not the lastnon blank character but the last character trailing spaces will move the cursor right So your check number lot ZIP andSo Landing fields will be space filled if they are blank If you enter trailing spaces to other field types they will stay as spaces and the cursor will be positioned tothe right of the last space or other character when the cursor is moved to that field during edit Icouldn treproduce your problem in find ing NEWMAN with index 5 Every time I tried to find your name after attach ing the index it took but one find Letters to MISOSYS THE MISOSYS QUARTERLY Fall 1991 a oe LB2 Installation Fm Guy H Pelletier Dollard Des Ormeaux CANADA I recently ordered a Model4LBDM Upgrade toversion 2 The following package was received LB Data Manager M 50 510 Ver 2 1 installation disk LB Data Manager M 50 510 Ver 2 1 executable disk Cat N
75. field types utilize input editing verification so invalid data cannot be added to a record Field name strings can be up to 19 characters long Data entry and editing LB allows you to design up to ten different input update screens to provide extreme flexibility for selectively viewing your database fields Using a database password provides the capability of selectively protect ing fields from being displayed or printed without entry of the correct database password or they can be protected from being altered This is quite useful in a work group environment Fields may selectively be established to require a data entry before a record being added or edited is saved You can enable a special index file to keep track of records being added This can be subsequently used for example for a special mailing to newly added customers Flexible editing includes global search and replace with wild card character match and source string substitution Search and replace can be performed on all records or on records referenced in an unsorted or sorted index file Record selection and sorting You can maintain up to ten different index files to keep your data organized per your multiple specifications keep one alphabetic another by address Records may be selected for reference in an index file by search criteria using six different field comparisons EQ NE GT GE LT and LE You can select on up to eight different fields with AND and OR connective
76. ft orright rather than mid The algorithm continues to scan and partition substrings until no matching characters remain The similarity index is then calculated as the count of matching characters divided by the total number of Inside TMQ 24 Inside TMG the casual reader of MC s User Manual similarity function is in the addition of a Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VI i characters multiplied by 100 to give a percentage Let s look ata few examples In the strings ABCDEF and ABCXEFG the algo rithm first finds ABC as the longest matching substring This partitions the Strings into null left strings with DEF and XEFG right substrings the count so far is six EF is the next largest match ing substring partitioning the two remain ing substrings into lefts of D and X with rights of null and G The count is now ten and the remaining substrings have no further matches The similarity index is therefore 10 13 100 76 Using integer mathematical operations any frac tional part is truncated Let s take a look at my MEMROY versus MEMORY The first pass ex tracts MEM and leaves null lefts with ROY and ORY rights and a count of six The next pass extracts R leaving null and O lefts with OY and Y rights and a count of eight The final pass extracts the Y calculating a similarity
77. ge location in memory Perhaps I ll consider adding a facility to deal with the cursor characgter code when PRO WAM gets worked on GO CMD FED2 ee Fm Garry Howarth Narwee Sydney AUSTRALIA Many many moons ago TMQ Vol I i pages 2 3 you stated that you were working on a serial driver for the XLR amp er Is this still on the backburner I have got the hardware wired up and have modified Modem80 with limited very limited success and I desperately need this extra serial port With three Eprom programmers and anIBMcloneconnected to the 4P not all at the same time the extra port would be a lifesaver On to another subject Iam having trouble with FED2 GO CMD when used in the disk mode I am using LS DOS 6 3 1 and RSHARD on a44Meg HD The LS DOS partition is divided up into four drives When reading drives 0 or 1 the program works perfectly but when asked to read drives 2 or 3 the computer will crash in a BIG way and I have toreset thecomputer The above information I have worked out from the Technical Information section in the RSHARD manual It may or may not be correct The DEVICE command gives the following 0 LSDOS631 5 Rigid 0 Cyls 203 Fixed 1 UTILITY 5 Rigid 0 Cyls 406 Fixed 2 WORK1 5 Rigid 1 Cyls 306 Fixed 73 WORK2 5 Rigid 1 Cyls 306 Fixed Any help with this problem will be much appreciated Fm MISOSYS Inc I have no good news to report on the XLR8er serial driver I nev
78. has to compare IX with DE and IY with BC butregister HL cannot be disturbed The following code demonstrates the technique PUSH IX IX to stack EX SP HL Get IX s value to HL and HL to stack OR A Clear carry flag SBC HL DE destruc tive compare HL DE POP HL Restore original HL This sequence results in a zero ornon zero condition and all registers are preserved except the flag register of course ed Us NIX RADIO SHACK TANDY OWNERS Find the computer equipment that TANDY no longer sells PACIFIC COMPUTER EXCHANGE buys and sells used TANDY TRSDOS XENIX MSDOS COMPUTERS amp PERIPHERALS We sell everything from Model 3 s and 4 s to Tandy 6000 s 1000 s to 5000 s Laptops and all the printers and hard disks to go with them If we don t have it in stock we will do our best to find it for you We have the largest data base of used Radio Shack equipment to draw from All equipment comes with warranty PACIFIC COMPUTER EXCHANGE The One Source For Used Tandy Computers 1031 S E Mill Suite B Portland Oregon 97214 503 236 2949 Inside TMQ 32 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi This is the final article in my series on the special features of the Z180 HD64180 microprocessor which for brevity I shall henceforth refer to simply as the Z180 on the XLR8er board by HiTech now marketed by MISOSYS The XLR8er board adds an addi
79. have amouse by the way because of the way the program interfaces with the DOS SVC s The program should work with either a two button or three button Microsoft com patible serial mouse The serial mouse is so called because it plugs into the serial RS232 port of your computer with no need for any additional hardware You should make sure you don t get a bus mouse which requires a separate interface board And even when looking at serial mice you need to be careful for not all serial mice on the market conform to the Microsoft standard I m using MDRAW with a Tandy serial mouse catalog number 25 1040 and several adaptor plugs to make it connect to my RS232 cable In the package you should find the following files All but the DOC files should be online when you are ready to run the program MDRAW BAS The main program MDRAW HLP Command menu for MDRAW BAS MDRAW DOC Documentation for MDRAW BAS MMOUSE CMD Matthew Reed s Mi crosoft mouse driver MMOUSE DOC Documentation for MMOUSE CMD BCHRLOAD CMD Mel Patrick s utility to load CHR files BCHRSAVE CMD Mel Patrick s utility to save CHR files DEMO CHR Hi res picture in CHR format BONOST1 PR A public domain Dotwriter font 1 A silly question to which I think I may know the answer why is the output of the DIR command not alphabetized if the command is executed from within COMM 2 Why can t I use FORMS to seta margin e g with FORMS MARGINS 5 un
80. illi seconds of the Model III task 4 slot PN ees Bug in DiskDISK Fm Frank Slinkman Roy I think I may have discovered a bug in LS DOS 6 3 1 Normally FORMAT works fine when I formata DS DD disk c 40 dden sides 2 However if I use DISKCOPY from then on FORMAT will only format in single density Please tell me it s a bug and not my computer Fm MISOSYS Inc Repeat after me Frank There is no connection between DISKCOPY and FORMAT Here s something to check you may have some thing corrupted in your system Check your DCT for the drive being written to by DISKCOPY before you invoke DISKCOPY Check DCT 4 bit 6 It should be set to a 1 which indicates that the controller is capable of double density operation The only thing in the system which checks that bit is FORMAT FOR MAT uses it to inhibit or permit the den sity query If the bit is a 0 FORMAT will bypass double density query activa tion and only single density will be al lowed The bit carries over from Model I usage If anything changes that bit to a0 FORMAT will then notallow DDEN See if its your copy of DISKCOPY or some other program yourun which is corrupting the bit if it is getting corrupted Fm Frank Slinkman As I mentioned on the phone when I use DISKCOPY from a sub disk toafloppy itresets thatbit Since that conversation I have found that DISKCOPY from floppy to floppy does NOT reset the bit Therefore it s
81. ime of 20t The second s execution time varies with the carry con dition On no carry itis 20t whereas with acarry itis 19t By examining in detail the execution ofthe twocode streams in terms of t states it is evident that the second edges out the first in speed in those adds which result in an 8 bit overflow and is identical in speed when there is no over flow So I ll use the later in SIMIL The first sequence incidentally would be used on an 8080 CPU which has no relative jump instruction The bulk of the code in main shuffles pointers from storage to registers and checks if certain pointers are equal One thing to point out is the reason for the 8 added into the offset calculation when accessing a set of values from the data stack The value that needs to be accessed is the value which has just been popped off of the stack so PSTACK is not pointing to that array structure but the next lower one but higher in memory since the stack is accessed from the top down So I subtract eight in the offset calculation eight being the size of the structure element Also at this point Iam able to use the IX register as a pointer to the data structure but am forced to access the data as individual bytes Another inadequacy of Z80 code is the absence of a 16 bit compare instruction Thus in order to compare IX with DE and IY with BC I must transfer the contents of IX to HL and perform an SBC instruction Similarly I t
82. interest They comprise MDRA W Il a hi res drawing program using a serial mouse and Matthew Reed s mouse driver The program should work equally well with David Goben s driver David even helped with the BASIC interfacing How ever so far it does not though I ve sent David a copy and hope he can figure out what the problemis Anyhow since Iasked you about Reed s driver on the phone and include it with the program I thought you might want to see what I was doing Of course it s the SVC interface added to BASIC with LSDOS 6 3 that makes using the driver possible to begin with I m up loading the program to various BBS s it should be appearing in the LDOS forum on CompuServe whenever my brother gets some time on his phone he subscribes to CompuServe while I do not MDRAW llis I think a good example of how your work with the Quarterly helps other people with theirs to the benefit of the whole TRS 80 community or what s left of it So thanks again Fm MISOSYS Inc Gary This is in response to your letter of July 4th I thought that was a day for celebrating not writing letters In any event the mystery on why HPCR CMD won t back up via 6 3 s BACKUP but can be copied by COPY as well as 5 3 s BACKUP is no mystery at all The Model 4 DOS has limited backup protection applied to cer tain files This has been discussed some time ago in an old issue of TMQ but I don t recollect which one
83. ion M 50 510 only The duplicate field function in the ADD command oper ated incorrectly This was corrected in the LB OVS module dated May 13 1991 If your module is dated earlier than that date please apply the following fix LBOV51 FIX Patch to LB 2 1 0 LB OV5 D08 8B E5 2A 30 56 E5 CD F9 33 F1 22 2A 56 D1 19 E5 21 B9 4A ED 5B 2A 56 F08 8B ED 5B 2A 56 19 E5 21 B9 4A E5 2A 30 56 E5 CD F9 33 F1 22 2A 56 D1 Eop Type the patch into a file using TED the text editor included with your DOS and save the file using the name LBOVS1 FIX This fix can then be applied via the command m os PATCH LB OV5 LBOVS1 The second problem concerns the LBREDEF utility program the V field character is not acceptable This problem was corrected on May 23 1991 For TRS 80 users M 50 510 apply the fix using the following command line Letters to MISOSYS Sl a A E S o oma 2 o9 op AAAA AAAA maaan _ _ _ _ _ _ ________________ Volume VI i THE MISOSYS QUARTERLY Fall 1991 Volume VL i PATCH LBREDEF D16 2F 14 F16 2F 11 MSDOS users M 86 510 can make the correction using DEBUG The following script sequence will make the change RENAME LBREDEF EXE XXX DEBUG XXX E 1641 14 W RENAME XXX LBREDEF EXE DEBUG does not permit editing of EXE files thus the need for the RENAME command If you have your own zapping utility use an
84. is if the spooler finds itself in memory it will restrict the D amp M parameter values to those in effect when the spooler was installed Actually this version will totally ignore your D amp M entry whereas the Model 4 version gives you an error if you enter values for D or M different from that already in effect So yes there is a fine line difference in the response of the two versions But I feel the Model I II versionis superior to the Model 4 version in this regard The RESET command had two features added to operate in concert with the Model 4 version You can now alter the logical record length of a file with RESET filespec LRL n No longer do you have to fumble with copying one file to another using C N just to change the LRL You can also specify RESET filespec DATE OFF to restore a file s directory entry to the old style dating of pre 5 3 release Specify RESET filespec DATE ON to establish a file s direc tory date as that of the current system date and time This feature is very useful to be able to construct an old style dating for a file that you wish to CONVERT using Model IIITRSDOS 1 3 why Just format the single density 35 track LDOS disk copy the file to it invoke RESET filespec DATE OFF then re boot with TRSDOS 1 3 and CONVERT the file And speaking of converting the LDOS 5 3 1 CONV utility now has the DIR parameter to view a directory of the TRSDOS 1 3 disk jus
85. ive Model I Model TIT and Model 4 As of this writing I have not generated the MAX80 Model III ver sion since there may be an extremely small population of those folks left how ever if they let me know there s no physical reason to not generate it Inthe grooming operation there was never any intention to coordinate the two BA SICs that s why I always refer to the DOS BASIC is a separate facility and would be near totally useless for the Model MI to sporta Model 4 type BASIC On the other hand there may be justification for designing a Model III BASIC interpreter to run on the Model 4 in Model 4 mode Would you find such a language product useful Ican envisioncreating anLBASIC that runs on a Model 4 but runs Model III BASIC source The big question is how many folks would find that a useful thing to PURCHASE Let me know Also now that the Modei I III and 4 versions are near equivalent from a com mand standpoint I expect to generate a new DOS manual covering ali three ver sions It appears on one hand that the Model 4 DOS manual may no longer be available from National Parts So the re sort is to purchase a used DOS manual from an outfit like Pacific Computer Ex change one of the manuals written by Christopher Fara and sold by CN80 or a new multi machine manual written by the author of the DOS Note that this would not cover BASIC as BASIC is not part of the DOS Okay so what have I done to the 5
86. l 19 bit XBUF address is now held Boron a 10 81 Solid 2300 C 2550 Cc inthe CHL registers Carbon 6 12 011 Solid 3550 C 4872 C Nitrogen 7 14 0067 Gas 210 C 195 8 C Now the get put fla g in B is incremented S A P i a Er Gee 8 As within the Houd code this sets Z if uorin e 8 Neon 10 20 179 Gas 248 67 C 246 048c this isa put operation and resets it if a get Sodium 11 22 98977 Solid 97 81 C 892 c operation Now B is loaded with0 the top Magnesium 12 24 305 Solid 651 C 1107 C 3 bits of the 19 bit physical address of Aluminum 13 26 98154 Solid 660 c 2467 C UBUF The lower 16 bits exist corre ctly Silicon 14 28 086 Solid 1410 c 2355 cil f Phosphorus 15 30 97376 Solid 44 1 C 280 c in DE so the full 19 bit address of UBUF Sulfur 16 32 06 Solid 112 8 C 444 6 cl is now held in the BDE registers Chlorine 17 35 453 Gas 103 C 34 C cae A z ri mere caries 5 oa If this is a get the source address of the ovassium a o Calcium 20 40 08 Solid 842 8 c 1487 c transfer CHL gt XBUF and the destina Scandium 21 44 9559 Solid 1539 c 2832 c tionaddress BDE gt UBUF are correct Titanium 22 47 90 Solid 1675 c 3260 c so control passes to DMA010 Otherwise Vanadium 23 50 9414 Solid 1890 C 3000 C thisis aput from BDE to CHL so these TE SE F a EE T c RE z registers must be exchanged before the anese as 26 55 847 Solid 1535 c 3000 c transfer sinceall transfersare from CHL Cobalt 27 58 9332 Solid 1495
87. l III PH see the value in page 0 See the code listed above for what Iused to make the machine determination The SYSTEM command was altered to support removable and reusable BLINK ALIVE and UPDATE memory modules If you turn off the function when it was the most recent one added to high memory it will remove itself If it is not the most recent module added to high memory it will remain trapped in high memory how ever if you turn the function back on it will reuse its image in memory The TED text editor now has commands to print the entire text buffer or the contents of the first block encountered just like its Model 4 counterpart You can also obtain directories from TED by using SOT aerate the new Q command TED also differen tiates its prompt for the Load and File commands For full use of TED Model I users will need to have a lower case hard ware modification The SPOOL command offers additional capabilities to pause despooling tempo rarily then resume despooling under your command You can also purge any text in the spooling buffer These features are added with the Pause Resume and Clear parameters The OFF parameter now reclaims high memory used by the spooler providing it was the most recent module installed in high memory If not it will remain trapped in high memory however if you turn the spooler back on it will reuse its image in memory In order to be able to accomplish th
88. less I also designate chars something as one of my forms parameters The documenta tion doesn tindicate this is necessary and I don t see the reason for it Two things I d like to find haven t had time to write them for myself any tips where I could get Kermit for the Model 4 running LSDOS 6 3 How about a CL filter or maybe a wammie that could be toggled on and off that would beep when data came over the CL device I often am hooked up to a mainframe while doing wordprocessing and it would be nice to have a notification that a piece of email or a system message had been received I assume the com dvr keeps running even when I m not in comm so the data sent by the mainframe is there if only something else in the interrupt chain was on the lookout for it By the way I appreciate how data coming into COMM is saved up while I m using PROWAM and appears after I break out of the WAM application Ihave not been able to use the MEMORY command to read a system flag with a command like memory add a Has this feature been dropped from LSDOS 6 371 didn t find any statement to that effect in the new doc s or any explicit example of the command s syntax in the old docs I may be getting something wrong with the parameter add A an obvious difficulty would be add x which would be am biguous between reading flag x and read ing some hex address in memory The reason I wanted to read a flag I hav
89. letter I have gone back and reread the manual more closely I can already hear you from here this has always been one of your pet peeves with software users I have never used the hot key selections from the command bar having always moved the highlight with the ar row keys to the option I wanted I guess I forgot they were available Anyway after rediscovering this method of selection the thought has occurred to me that the cursor I m seeing is supposed to be LB s way of requesting a key if I wish to invoke acommand with one It seems unneeded but if a cursor s going to appear at all I guess it s where it would have to be for that purpose end of the command bar I have also gone back and discovered that the cursor appeared in the same place in version 1 I just never noticed it The one mode in which the cursor behaves differently from version 1 however is the one that first attracted my attention 3 Update etc Edit mode When I invoke the Edit mode from the main menu the screen is drawn then the data is added to the display from the firstrecord in the data file When all the screen drawing is fin ished the cursor is blinking at a position that appears to be the next one after the end of my record data See the screen dump I ve included I ve drawn the cursor where it appears since it doesn t show up in the dump Seems Like an odd place for a cursor requesting a key from one of th
90. ls I have to find the first Smith or Jones then single step through the records until I see the first name Believe me there are many Smiths Jones and Williamses in my database How nice Inside TMQ 26 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume Vli to be able to search for SmithNeff Continuing on with finding duplicates I then was able to develop an algorithm in which the database was examined based on the sequence specified in a sorted index file The first record was compared to the second the second with the third could have triplicates the third with the forth and so forth The record numbers of simi lar records would be written to another index file I added the option of selecting the record number of either the first match ing the second matching or both match ing Typically if it didn t matter which similar record was deleted you could select first or second match then use the automatic purge function of the LBMANAGE utility to automatically delete one of the matching pair of records If you wanted to make sure which record to delete you would select both record numbers for the output index file then step through the edit mode with the new index file attached to make the determina tion after a visual inspection of the data Without additional intelligence it would be possible to generate duplicate record numbers into the index file for triplicately matching
91. m that Paul D Moore of Birmingham England was having with SYSRES and pfs The pfs manual my version at least contains an error In one place it advises that a speed up in performancecan be had by SYSRES ing 1 2 3 10 and 12 But in another place itomits the 1 Ifjust2 3 10 and 12 are SYSRES ed there is no prob lem and pfs will run Mr Moore may have to make a copy of an unconfigured disk and then add the four valid SYSGEN numbers unless he has a utility that can remove SYSRES I ve heard that such exists but I don t have one Of course since I ve graduated to a MISOSYS hard drive SYSRES has been unneeded If Mr Moore is using SYSRES to conserve disk space rather than for a speed up in performance then I hope he will consider installing floppy drives of larger capacity In 1991 there is no reason for a TRS 80 user not to have drives of at least 360K if his budget will allow better Having drives of larger ca pacity would make his TRS 80 a better value than ever Fm MISOSYS Inc Thanks for the tip Henry On the other hand some folks SYSRES the system modules when using pfs FILE to be able to run without a system disk in drive 0 Doing that lets them use both drives as data drives Then it is essential that SYS1 SYS be resident as that contains the command interpreter as well as a few other DOS services needed from within running programs I think your suggestion about larger cap
92. mal course of things such transfers will always be with UBUF in the base 64K of RAM i e the base 32K plus Bank 0 Some applications probably exist where the transfer must be made to a resident 64K where the upper 32K is either Bank 1 orBank2 Asfaras physical addresses go this is no different than if it was Bank 0 Itishard however to imagine an applica tion in which UBUF would be in XLR8er Inside TMQ 37 Inside TMQ Volume VLi RAM Therefore FEXMEM assumes this will never be the case However it does check for that situation just in case AtEXMEMG the XBUF bank numberis examined All banks from 0 through 10 are assumed to exist Any bank number higher than 10 will cause the function to abort with a parameter error The reasoning behind this is a if the XBUF bank is 1 or 2 and does not exist this error will be caught in the XFER section of the modified Houd code and b if you only have the stock 64K or 128K RAM and no extra 256K on the XLR8er you don t need FEXMEM anyway Now the function code is examined The old EXMEM codes 1 and 2 which had to do with moving single bytes are not supported mainly because thereis no real need for them Any code other than 3 or 4 will return a parameter error to the caller The function code in B is replaced by a flag which will be examined later The interrupts are now disabled and SP is saved and then pointed to a local sta
93. modified the separate SOLE2 utility and added it as a DOS utility to add a booting double density driver to a dual density disk Finally I modified BACKUP in both the Model I and III versions to be able to perform a mirror image duplication of a SOLE d dual density disk Incidentally the appli cation of SOLE automatically recognizes whether the FDUBL driver is tuned for Percom or Radio Shack doublers I did not change QFB to handle the dual density diskette structure BACKUP will be the tool to duplicate your booting double den sity system disks The Blurb 4 The Blurb Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi Ake eee ee ee ee oe OS antes ee ae Ce at ee tai ed a a a he Model IM users without the Hardware Interface Kit add on get a little extra support with the keyboard driver When you install KI DVR the Model MI version automatically detects whetherLDOS 5 3 1 is running on a Model M or a Model 4 computer If it determines that a Model 4 is indeed the host system then KI DVR installs a keyboard driver which supports the CAPS CTRL and function keys A Model 4 has two 1K video RAM pages which when operating in the Model III mode can be switched via a port opera tion I make use of this capability by switching to page 1 and determining if I can place a character value into the RAM page and nothave itappear in page 0 Ifits a Model 4 P lI see two distinct video RAM pages if a Mode
94. n old 1 record Model 3 file then used LSFED II to clear the old code and type in the new perhaps should learn how to use an assembler And the file originally was undated so I guess LSFED II s update feature stamped a date on it without changing that one bit Thanks again P S You re right about an index too I vaguely remembered something about this backup anomaly inapast TMQ but though I have all the issues since the first I couldn t track it down Too bad I don t have a photographic memory Fm MISOSYS Inc LS FED II can t bother with that bit because LS FED II is a Model 4 program and the Model 4 directory structure uses that bit for protec tion as noted There s no reason for FED H to do anything with that bit when you touch the file s date The snag in that bit s utilization will eventually go away as more folks shift to 5 3 I eliminated the Model III use of that bit for indicating date not current Renee ee en ee Miscellaneous Queries fe ee ea ge Fm Keith Nightenhelser Greencastle IN Here s a couple of suggestions about the PROWAM CARD X utility 1 It would be useful if CARDX displayed the number of the card file the utility had on the screen I think there s room for the number 2 It would be useful to me if as an option I could cause any editing to be filed upon pressing the BREAK key some times I get distracted and lose updates because I neglected to press lt CTL
95. n some time since Id fired up the old Model 4 and no one had done it yet I figured I d give it a try Well I think I ve succeeded in doing just that with ELEMENTS Before going any further however let me just say I m nota chemist or scientist I say this because my chart was based on one found in the Ency clopedia Brittanica which lists 105 ele ments While scanning my 6th grader s science book it lists 109 elements and in a Slightly different order than presented here Since the data I wanted to display was in the encyclopedia I stuck with that PH leave it at that Justas suggested by Roy in the aforemen tioned article ELEMENTS is simple to operate After PROW AM is installed se lect ELEMENTS from one of the default choices if you made ita default or via the Universal selection Now a file called ELEMENTS DAT must be available on one of your drives a ram disk is better quicker quieter since this is where the data such as name atomic etc is read from There was not enough space in the ELEMENTS APP to include the data there that would have made ita little faster This THE MISOSYS QUARTERLY Autumn 1991 Volume VIL i Sob ee he ke ta el ee 1th tet tahgtetetate ts ets AEEA ERER WO ARR AAA RRR y Inside TMQ Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume V1 i file is on the DISK NOTES for this issue After selecting ELEMENTS and its win OSes
96. ng the array space as a program stack but rather as a data stack Certain processors actually provide two stack pointers a program stack pointer and a data stack pointer In the Z80 CPU we have only one stack pointer the SP register We can use that for both data and program stack access if we take certain precautions which PI touch on later One basic decision had to be addressed with the 200 byte structure array and that was where to put it One of the powerful aspects of the C programming language is the use of dynamic memory allocation Library functions exist to allocate blocks of memory from a large heap and free up such blocks when a program is finished with the block s This has the advantage of not reserving memory for use by a function until that function was in execu tion It s likesharing onelong stick amongst many girl scouts toasting marshmellows over an open fire But dynamic memory allocation also has the disadvantage of processing overhead it makes your pro gram run slower With finite memory space and competing interests in that space at various times dynamic memory allocation may be required to fit a given program into the available memory With 200 bytes declared statically within the SIMIL function that amount of memory would always be reserved If SIMIL was to be used in a program as the only func tion that would not introduce extraneous memory reservations But I was making it a part of LB s select
97. o M50 510 Installation Manual for the TRS 80 Model 4 computer Cat No M86 510 User Manual for thefor the IBM PC or compatible computer Is this the right User Manual Furthermore when I proceeded to make an LB CREATION disk as instructed on page 4 of the Jnstallation Manual the operation stopped short with the error message Error 07H Likewise with the LB RUNTIME disk the operation aborted with an Error 07H I am awaiting your instructions concern ing 1 the User Manual and 2 the corrective action for the production of the disks by the installation method 2 Should Texpectfurther difficulties when theabove problems have been corrected Fm MISOSYS Inc To begin with as was the case for the LB Version 1 pack age the User Manual is identical for both the TRS 80 and MS DOS versions As I feel that the MS DOS market has a greater potential for LBDM I decided to use the mnemonic LB86 the MS DOS version name on the User Manual cover The installation manuals are unique to the machine environment If I were to use a different cover for the User Manual it would have created inventory problems As far as your problem in installing LB I 11 Volume VI i suspect that you jumped in to page 4 with out working up from page 1 Getting Error 07H when entering the DO command im plies that the system drive does not contain SYS6 SYS This couldbe dueto oneoftwo reasons 1 You may have failed t
98. o follow the steps on page 2 and 3 which are used to create an LB startup disk At the conclu sion of the startup disk generation the system drive is a MemDISK the bottom floppy is drive 1 and thetop floppy isdrive 2 Thus Method 2 on page 4 would be the proper procedure and should not generate theerror 2 Assuming you performed this LBINSTAL step that would imply the SYS6 SYS file was on the disk otherwise how could the DO LBINSTAL function thus the only possible result would have been for the SYS6 SYS file to be defective on the MemDISK creation a virtual im possibility Finally you should not expect further difficulties at least not from program malfunctions knock on wood ae ee ay E _B2 Cursors a ee ee Fm Karl Krelove Levittown PA I got the upgrade to LB version 2 1 that I or dered from you The improvements are terrific especially the changes in the re port generator I used to have to route the printer to a disk file ahead of time to generate merge files for SuperScripsit or Dot writer and it s handy to be able to get quick reports on the display Several other improvements make the program much more useful and flexible for the kind of filing I do I have found one very small problem completely cosmetic concerning a sortof misplaced cursor that sits and blinks in odd places when it is not marking the spot for actual input Most of the time it shows up near the bottom right corner
99. offset address of 1541 as DEBUG references its offsets from a base address of 100 TE LB and JCL ae A a Fm David Huelsmann Roy Such prompt service Just received your letter today concerning the fix to LBREDEF to accept the V char Thanks Now on toa couple of other minor issues 1 If LB is called from a menu file i e xxxx any use of the dos shell causes the job done message from the JCL with a subsequent abort of the shell Any solu tion for this 2 This one could be considered a fea ture but Iconsider it a bug Ifa drivespec is specified for a file specified on the command line for LB then LB cannot find the path file lb nmssmt 6 If how ever the drivespec is left off on the com mand line Ib nmssmt then LB has no trouble finding the path file Fm MISOSYS Inc The documentation states that a filename is what is placed on the command line you neveruseany thing Other than a filename Drivespecs exten sions and the like are all handled inter nally by LB Trying to squeeze maximum power into the Model 4 version and still allow you flexibility with high memory availability requires some compromise in how much you want LB to guard against users not following the documentation on mundane matters There isno solution to the JCL abortifused to invoke LB and you subsequently invoke the SHELL from LB LB s shell facility and original entry into LB from a JCL file are mutually exclusiv
100. om the physical addresses The bottom 32K of stock RAM is always at 0000H through 7FFFH The other 96K aatas aie 5 tasaste aterata tatata ee a aa aa a atatata weet etets Inside TMQ 34 Inside TMQ Volume Vli THE MISOSYS QUARTERLY Autumn 1991 Volume Vli of normal RAM is split into three 32K banks Banks 0 1 and 2 Whenever one of these is resident it has addresses from 8000H to OFFFFH Excepton one version of Richard King s 512K hardware mod the logical and physical addresses of this area of RAM are always the same You also need to know how memory to memory DMA transfers are done DMA Channel 0 has several internal reg isters assigned to it See Table 1 These are the Source Address Destination Ad dress and Byte Count Registers There are three other registers which are shared by the two channels including the DMA Mode register and DMA Status register The other common DMA register DCNTL is handled by the code in XLBOOTC FIX DMaA transfers can be done in either of two modes burst or cycle steal In burst mode DMA seizescontrol of the bus until the transfer is completed In cycle steal mode one normal CPU cycle is performed then one byte transferred by the DMA channel alternating until the transferis complete at which time normal CPU operation is resumed FEXMEM must use burst mode trans fers because it must sometimes perform double buffering Double buffering
101. ore puzzling since it is not carried over from version 1 If the cursor s appearance in these situa tions was intended then of course no problem means no fix As I indicated in my first letter the problem I thoughtI saw is purely cosmetic anyway once I got used to ignoring the one in Update and Letters to MISOSYS 12 Letters to MISOSYS Volume VI i doesn tin any way diminish theprogram s flexibility or its usefulness I apologize for not having read carefully first I read the sections concerning the changed features and tended to skip over the stuff that hadn t changed so I really didn t review the whole manual carefully when I got the new version If you are not seeing what I m describing please let me know what more information I can give you If I ve essentially answered my own question you can just let it ride if you don t have the time to tell me so In any case thanks for your attention and for your devotion to TRS 80 users Fm MISOSYS Inc Karl Apparently you were mistaken about thecursor obser vation In all of the cases you noted that s exactly where the cursor was supposed to be I don t know if other LB users feel as you do that some of the positions are extraneous but if I get more feedback to that effect I ll look into changing the design in a future release So how about it LB 2 users do you feel the positioning of the cursor has a posi tive negativ
102. other data By adding a TCB to your task it would appear as TICB DW TASK 2 byte TCB TASK PUSH AF LD A 2DH Display lt LD 3C3FH A LD A 3EH Display gt LD 3C3FH A POP AF RET and instead of your initialization code loading TASK into register DE prior to the CALL ADTSK it would load register DE with the address of TTCB Why is a TCB useful considering that it appears to add additional overhead One reason is that like DCBs on entry to a task register IX contains the address of TTCB If you wanted to include some data with your task you could locate it within the TCB immediately following the task vector Your task routine could then access the data using offsets to the index register Incidentally although your routine with a proper initialization would toggle a character on the video screen you would probably notbe able to see it toggle That s because the lt character would be on the screen for only 4 25 microseconds at SYS TEM FAST the time it takes to overlay it with the gt whereas the gt character would be viewable for the total time be tween interrupts 268 milliseconds I m sure the eye persistence will result in your brain sensing only the gt character In order to see a toggling character itis at a minimum necessary to change the char acter at each interrupt essentially alter nating between one of two characters In that way each is visible for the 268 m
103. ough II 1i were 104 and so forth I dropped the issues back to the original target of 64 pages for Volume V and will continue that through Volume VI At its start the subscription base was about 500 The level of subscrip tions climbed slowly to a maximum of about 1000 That level lasted for a short time only to initiate a downward trend Issue V iv s subscriber level was less than 500 about 450 I recollect Since I had worked to extend subscriptions to coin cide with a volume of TMQ most of the 450 subscribers had to renew for Volume VI I mailed out 337 renewal notices I am writing this on August 28th 1991 There are currently only about 250 folks who are scheduled for Volume VI So my time is even more uneconomical to be spent on TMQ for this volume But I stuck with it and I will make Volume VI as good as if not better than the last one I can t how ever justify going beyond Volume VI with such alow level of subscriber partici pation 22 Volume VL i Improve your on line storage with 5 25 half height360Kor3 5 720K floppy drives or hard drive Kits pre assembled by MISOSYS Floppy Drives amp Accessories 5 25 360K 1 2 ht 75 5S amp H 3 5 720K in frame 854 4S amp H Our dual vertical external floppy disk drive enclosure will hold two 5 25 half height disk drives 2SV5 drive case PS 60 6S amp H 8 2 floppy extender 18 4 foot 1 drive floppy cable 12 50 Hard Drive Pre assembled Kits
104. ould not result in unnecessary output if the MARGIN were handled as I just stated the last line of desired output would generate a spurious margin not exactly proper A way around that would be to maintain a flag which would be used to indicate that the last character output was an ENTER so that the current charac ter would force the margin reset the flag then output the character That would re quire more code and use of memory I sup pose that the person s who designed the FORMS filter felt entering a characters per line value was a reasonable compromise for accepting a MARGIN parameter I recollect that there is a public domain version of KERMIT available for the Model 4 I believe that Lee Rice located it on USENET and forwarded it to Vic McLung whose address can be found in TMQ I don t recollect if it was uploaded to CompuServe I am not aware of any filter or WAMMIE which would provide an audible alert that data was incoming via the serial port But here s some complications to be aware of You do not want to disable interrupts indiscriminately during serial I O A dis torted tone which may be all you need could be generated without disabling in terrupts Another approach could be to use VDCTL to poke the received char acter into the video screen like the clock time is displayed The Model 4 COM DVR has only a one character buffer So if you are connected to an on line service via COMM and exit to D
105. ourLB Data Manager solve your data storage problems LB Version 2 A Flat File Data Manager with more powerful and easy to use features in this latest enhancement of Little Brother We ve added many features asked for over the past few years by LB users yet LB is still just about the easiest most flexible data manager you can use for managing your data Absolutely no programming is needed to create a database with numerous fields construct input screens for adding and editing data and create yourown customized report Quickly you define your data fields in response to LB s prompts and then draw your data input screen using simple keystrokes In no time at all you re entering data Customize your printed reports with user definable print screen definitions LB is just what you need in a data manager Data capacity per database LB supports up to 65 534 records per data base 1 024 characters 64 fields per record and up to 254 characters per field Field types supported LB allows ten field types for flexibility alphabetic A Z a z calcu lated operations on numeric fields using date last modified YYYY MM DD automatically maintained dollar dddddddd dd floating point dddddddd dddddddd literal any ASCII character numeric 0 9 right justified numeric flush right numeric upper case alphabetic A Z automatic conversion of a z and upper case literal literal with automatic conversion of a z All
106. pies of files made PRO WAM meo Programmers dates Toolkit The Programmers Toolkit provides what you need to know to write pro grams for the PRO WAMenvironment This includes documentation in a con venient 5 5 by 8 5 format the same as PRO WAM release 2 The included WINLINK device driver supports pro grammed invocation ofapplications from any programming language environment which supports device I O You also get the WINDOW CCC function library for MC and an assembler source code file for the PHRASE application to illustrate how to write aPRO WAM application ogrammers Toolkit 29 95 3S amp Advertisement Selling excess MODEL 4 s Ill s and I s BALL 14 Modell monitors with room for expansion board etc Have software for all Also have a quantity of PC XT and AT parts and feature cards Send wish list offer name address and phone number to Richard R King 808 Orleans Place Raleigh NC 27609 Or telephone 919 872 5846 No reasonable offer refused Inside TMQ 44 Inside TMQ Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume VLi ex ELEMENTS DAT This file to be used with ELEMENTS APP in PROWAM Continued on page 45 xk compiled by Danny C Mullen 6641 B Tracey Place Ft Polk LA 71459 Hydrogen 1 1 00797 Gas 259 2 C 252 8 C Sie 2 4 0026 Gas 168 6 c Continued from page 40 Lithium 3 6 941 Solid 179 c 1317 c Beryllium 4 9 01218 Solid 1278 c 2970 c The ful
107. providing the system code used toread ina DOS overlay can still function Even without memory failure a program bug could result in a CALL or JP to a data area which could have a value of X F7 resulting in a DE BUG invocation The situation is rather difficult to run down unless it repeatedly occurs Glad to hear you are enjoying our 40M hard drive Now if I can sell a few more Letters to MISOSYS Volume VLi THE MISOSYS QUARTERLY Fall 1991 Volume VLi ea Drive 0203 cyls 1 head 32 sectors cyl nally wanted to establish a memory block 8 grans cyl 4 sectors gran for the interrupt vectors as they areneeded PRO WAM s Cursor Drive 1406 cyls 1 head 64 sectors cyl for other types of 64180 interrupt han 8 grans cyl 8 sectors gran dling like DMA which Frank Slinkman Drive 2 306cyls 4 heads 64 sectors cyl uses But it takes time to write a proper eee 8 grans cyl 32 sectors gran driver and that task is very low on the 3 Drive0 203 cyls 4 heads 32 sectors cy totem pole around here I have made an Fm MISOSYS Inc Speaking of PRO 8 grans cyl 32 sectors gran attempt at narrowing down the number of WAM Danny C Mullen asked if there was a way to change the cursor character while in PRO WAM He tried by using the VDCTL SVC but it was a no go In PRO WAM the display is handled by routines in the resident window manager The cursor is hard coded as an underline character SFH One can change it only by finding its stora
108. ransfer TY to HL and SBC HL BC to compare IY with BC The calculation of the percentage simi larity uses MC s 16 bit multiply and 16 bit unsigned divide When characters are found to match score accumulated only the countofcharacters in onestring Obviously for every character in one string there was a corresponding char acter in the other string I could have doubled the count before accumulating into score Or just doubled the score at the end This implementation doubles the score at the end since it does that but once whereas doubling the intermedi ate match counts would result in four additional t states per match Yes I know multiplying by 200 is probably slower than multiplying by 100 I first multiply by 200 100 times the 2 to double so that the significant part of the score remains an integer larger than the total I then divide the result by the total number of characters This produces a result ranging from 0 to 100 If you wanted to adapt this function external to MC for LS DOS or LDOS you could replace the MULT and UDIV with appropriate MUL16and DIV16ser vice calls with some additional register manipulation The compare routine is essentially com posed of two nested loops which iterate through the two character strings to cap ture and extract matching sequences while partitioning the remaining por tions The loops continue untilno further matching characters are found In this section the code also
109. re can be no in between A string of charac ters either matches another string or it doesn t there sno78 match Wecannot directly use bi state logic to represent the fact that clouds are obscurring 37 of the sunshine We could of course write a computer program to run on a binary computer which could indeed accept an input of 63 sunshine and take some appropriate action Or we could write some function to compare two character strings and tell us that they are 78 alike When I studied philosophy in college the Classical structure of logic was presented conclusions are deduced from premises All men are mortal Socrates was aman Therefore Socrates was mortal 23 Volume VI1 i The study of philosophy also presented the use of inexact terminology One could reach certain conclusions where premises used such inexact terms as most some and few In very recent years there were claims of new developments in an area called fuzzy logic Fuzzy logic is simply the black box evaluation of inexact inputs to produce an output Instead of adhering to logic devices which exist in binary states a few companies are putting fuzzy logic into silicon Thedevices themselves directly handle multistate digital values without resorting to analog operations Personally Idon tsee this as any different from the philosophy I studied back in the 60 s however there is some inherent benefits to fuzzy logic indigital hardware
110. rect one shot DMA transfers to from UBUF and an XBUF in XLR amp er RAM The first thing we must do is calculate the 19 bit physical address of XBUF The bottom 15 bits already exist in bits 14 0 of HL so all we have to do is calculate the top 4 bits Upon entry the XBUF bank number is still in the A register A will hold a value in the range 3 10 the only legal XLR8er bank numbers Adding five changes the range to 8 15 These are the top 4 bits of the address Shifting this value one bit right changes the range of values in A to 4 7 and shifts the value formerly in bit 0 A to the carry flag The value in A the top 3 bits of the 19 bit address is now stored in C The next instruction RL H shifts all the bits in the H register one bit left and puts what was in the C flag into Bit 0 H The following RRC H instruction shifts bits 7 1 to positions 6 0 and puts what was in bit 0 into both bit 7 and the C flag The effect of these two instructions is to throw away the original bit 7 H and replace it with what was in the C flag when the RL H instruction was executed Inside TMQ 40 Inside TMQ Volume VI i Way back in the fall 1989 MISOSYS QUARTERLY Vol IV i page 64 Roy Soltoff suggested in areply to Gary Phillips at many PROWAM applications could be written that weren t included in the basic package One of his suggestions was a pop up periodic chart of the elements Since ithad bee
111. references to files we have placed onto a disk DISK NOTES 6 1 corresponds to this issue of TMQ If you want to obtain all of the patches and all of the listings you may conveniently pur chase a copy DISK NOTES priced at 10 Plus S amp H The S amp H charges are 2 for US Canada and Mexico 3 elsewhere Out of print TMQ s available Volume I and II are out of print issues they are no longer available The price for back issues is 4 S amp H minimum order of 15 S amp H for a single issue is 2 75 in the U S and CANADA 5 50 zone D zone E is 6 50 S amp H for four issues is 5 US 6 CAN 14 ZoneD 20 ZoneE Here s a synopsis of past issues Ili Reading NEWDOS 80 disks An LB archival utility Popup Appli cation Window XMODEM in C Getting into computer math part I TMQ Volume I index The Blurb THE MISOSYS QUARTERLY Autumn 1991 IiLii Getting into computer math Part 2 Writing interactive RATFOR FORTRAN programs PRO EnhComp a review Desktop pub lishing and the Model 4 A better TERM APP adding floppy drives and a new XLR8er interface HLii The CRC program PG a page display program Locating high memory routines FIXMA3 Jumbo tape backup for PC clones New style for TMQ using Pagemaker and an Index to Volume II Liv Checking fora file from Model 4 BASIC Surviving the Hard Disk crash An interview with Niklaus Wirth Keep your printer clean and oiled On line HEL
112. res the stack to its entry state i e it generates a series of POPs into multiple registers then PUSHes the values back onto the stack SIMIL also uses two math functions from MC sLIBA REL library MULT which multiplies two 16 bitintegers and UDIV which divides one unsigned 16 bit integer by another Note that my version of SIMIL uses a storage region of 200 bytes allocated on the stack to store pointers these are point ers to the beginning and end of left and right substrings which remain to be com pared and partitioned The 8086 version of SIMIL uses a static memory declara tion and divides the region into four arrays of 25 pointers It s easy to index the array elements in 8086 assembly language as instructions are available to accessmemory word values 16 bits with 16 bit offsets toaregister value The only index instruc tion in Z80 code permits 8 bit memory access using an IX or IY index register coupled with 8 bit offsets That makes it rather clumsy in Z80 code to load and store multiple pointers directly through register loads and stores Therefore I decided to establish the pointer arrays as an array of structures of pointers to char acters In this way the structure contains four pointers which are stored in sequen tial memory addresses The array of struc tures then just repeats this sequence 25 times I use stack instructions to capture and store data from and to this local data stack Thus Iam not usi
113. robably needs little expla nation The hardest part for me was to get that cursor to skip over any blank areas on the screen and only land on valid selections This is where the table labeled COL came into being Granted there may be another way to do it but by identifying invalid positions as 01 bytes and the rest Inside TMQ 42 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi of the positions as record numbers in the text file I got it to work One small point is the use of DFLAG When designing the program I had to get the cursor to move all the way in one direction when it was in the top threerows This was the only way I could come up with to do it When you hit one of the left right arrows it sets the flag for any subse quently needed direction while in these rows and in the invalid areas the cursor then jumps across any blank areas on screen Some astute eyes may wonder why then does the first position start with a byte 02 Well I had to evade the 01 bytes since they indicated invalid selections The first 2 records of ELEMENTS DAT are therefore skipped over Thatis why you ll see 107 records listed if you do a DIR of the disk with that file present By the way that text file could easily be changed to show different information that I pre sented by editing it with any straight ASCII text editor You will probably need to change the logicalrecord length LRL by is
114. rocessor Associates by Symantec ad infinitum From the another garage operation makes good department comes word that Dell Computer Corporation which started as PC s Limited in an apartment had a profit increase of 94 for their second quarter Net income increased to 12 4 million on 200 million in sales Meanwhile shifting from Austin toFort Worth we find Tandy s net income dropped from 60 million to 18 9 million for the fourth quarter on sales of approximately 1 BILLION I wonder if the 16 million settlement for pay and accrued and unused vacation under California law reached in April between Tandy and a group of former employees had anything to do with that performance Turning to a brighter front the Senate Judiciary Committee has passed a mea sure that would impose tough criminal penalties on software pirates The Senate bill is aimed at large scale and frequent copying of software For instance if more than 50 copies over a 180 day period of any one piece of software are copied and distributed with the copyright holder s The Blurb 2 The Blurb Volume VLi consent the offense could be punishable by up to five years in prison and up to a 250 000 fine For piracy of between 10 and 49 copies the penalties are appropri ately reduced Just how rampantis the crime of software theft According to the Business Soft ware Alliance Italy has been declared as the worst violator of softwar
115. s I am provid ing WLINK1 FIX whichcorrects that prob lem in WEXEC as well as the error jump target and finally changes the version to b Incidentally this problem has been around since July 11 1988 when WEXEC was added That s over three years ago Thanks for bringing these things to my attention WLINK1 FIX Patch to WINLINK from PROWAM Toolkit Corrects WEXEC and install error jump Apply via PATCH WINLINK WLINK1 D00 A9 FB 26 F00 A9 83 28 D01 8A 62 F01 8A 61 D04 58 77 21 09 2A C3 3E 29 21 6C 2A 7E FE 09 28 18 3C F04 58 36 00 21 OA 2A C3 3E 29 21 6C 2A 7E FE 09 28 18 D04 68 77 85 6F 8C 95 67 71 3E OD B9 20 OB 21 6D 2A 06 F04 68 3C 77 85 6F 8c 95 67 71 3E 0D B9 20 0B 21 6D 2A D04 78 0C 3E 7C EF C3 14 29 AF C9 F04 78 06 0C 3E 7C EF C3 14 29 AF D06 58 04 2A 07 2A OA 2A 1F 2A 27 F06 58 05 2A 08 2A OB 2A 20 2A 28 D06 69 38 2F 32 30 2F 39 31 31 34 3A 32 37 3A 30 33 F06 69 37 2F 31 31 2F 38 38 31 33 3A 33 38 3A 35 36 Eop Letters to MISOSYS 19 Letters to MISOSYS Volume VLi THE MISOSYS QUARTERLY Fall 1991 Volume V1 i ee ee Task Interfacing Fm Gary W Shanafelt Abilene TX Roy I have a question about using the LDOS interrupt task vectors described in the technical section of my LDOS manual What I would like to do is have the inter rupts call a task routine in high memory but I have so far not been able to figure out how to do this I ve b
116. s Index files can be left unsorted or you can sort in ascending or descending order By attaching a sorted index file any record may be found within seconds even in a very large database Automatic operation For automating your processing needs LB can be run in an automatic mode without operator intervention Frequently used procedures can be saved by LB s built in macro recorder for future use Entire job streams may be produced so that LB operations may be intermixed with literally any DOS function that can be batch processed J RNA Y g os LY z Report generation Report generation incorporates a great deal of flexibility Your report presentation is totally customized through print definition formats which you define on the screen as easily as you define the input update screens You can truncate field data or strip trailing spaces You control exactly where you want each field to appear LB provides for a report header complete with database statistics database name date time and page numbers A report footer provides subtotaling totaling and averaging for dollar floating point and calculated fields print number of records printed per page and per report Attach any of the ten index files and you control exactly what records get printed even asubset of indexed records can be selected for printing to give you a means of recovering from that printer jam halfway through your 30 page printout You can even force a new
117. s Onesies and Twosies Closeout e I dredged up the following items from my cellar All items are new and unused except where indicated Numbers in parentheses indicate the quantities available numbers in square bracketsindicate UPS shipping charge If you don talready know what an item is or can be used for then you don t want it 3 Expanz board 125 plus 5 S amp H 1 Microsoft BASIC Decoded and Other Mysteries by James Farvour 5 3 2 TRS 80 Disk and Other Mysteries by H C Pennington 5 3 1 BFBDEM Disk Software for the TRS 80 5 3 1 Getting Started on the Sharp 1500 amp Radio Shack PC 2 by H C Pennington 4 3 1 The Custom TRS 80 amp Other Myster ies by Dennis Kitsz 5 3 2 A B switchbox DB 25 serial ports 10 5 10 bare XLR8er board with 256K 100 5 1 American Power Conversion AP200 UPS 150 10 39 Used Xebec 1410 controllers 30 5 The Blurb Volume VLi THE MISOSYS QUARTERLY Fall 1991 Volume V1 i a LB86 and Paths B LB86 and Pg ee erm eS eg eed Letters to L IN Letters to MISOSYS MISOSYS Fm Donald Simpson Queensland Aus tralia Dear Roy Re LB86 Data Base Manager Thank you for your letter in April see TMQ V iv page 16 advising me how to gain access to the LB Mainte nance Utility from the Data Base Man ager I now have 100 success it was as you suggested that both programs had to
118. s who never had any exposure to page layout and de sign are thrown into a sophisticated word processor such as WINWORD there is a tendency to spend more time on style than content This is also true in the desktop publishing explosion a good tool such as Pagemaker does not turn an ordinary per son into a publication designer In my own case I have spent some time in studying a few books on desktop publish ing so I at least have taken the time to learn about the job I also spend time collecting and analyzing professional bro churesI receive so that Imay gain ideas on their layout On the other hand appear ance does indeed matter to the receptivity of the document This stems from the underlying psyche of mostreaders a poorly presented paper will not get the attention of the reader regardless of content Re member what we learned in school A typewritten paper usually got a better grade because it was more legible Soitis with word processing Granted the con tent should be the only thing that matters but we all know that is just not the case Receive two papers one printed on a5 by 7 dot matrix printer using an old faded ribbon and one typeset looking very pol ished Which one gets the better recep tion Which presentation would you use to send out your resume I ll surely bet that you would choose the typeset version Why Because it indicates to the recipient that you care to do the very best When you are job hunting
119. see how a universal index would be handy Under limited backup protection a file can be copied to permit its movement to a hard drive however since BACKUP moves files en masse BACKUP inhibits files which have been designated as limited A limited file has a bit in its directory record bit 4 of DIR 1 to be exact set to a one This bit is identified as used inter nally by the DOS in my Programmer s Manual to LDOS TRSDOS Version 6 Letters to MISOSYS THE MISOSYS QUARTERLY Fall 1991 Okay it seems like that file is not part of acommercially prepared package isit If not your next question is how did that bit get set Good question Here s the typical answer to such a question Under Model I and Model If LDOS prior to LDOS 5 3 0 release that bit was used to designate that the directory date for the file was not cutrent The TECH INFO in any LDOS User Manual will confirm that use Under earlier LDOS releases if no system date was established when a file was updated the file date would be left unchanged but that directory bit would be set It was used in the display of directory information to reflect a plus sign between month day and year in lieu of the normal minus sign For example a date of 01 May 86 would point out that the file was updated sometime after May 1st 1986 whereas 01 May 86 indicated the exact date of update During the development of TRSDOS 6 0 one bit was needed for the
120. so installed LB86 onto the CREATION and RUNTIME disks you provided As a full PCDOS 3 0 system disk with the ANSI driver config sys file and COMMAND COM do not provide suffi cient space for the LB RUNTIME files I deleted theconfig sysand ANSI SYS files It will be necessary in your configuration to use a separate boot disk using a disk with only COMMAND COM to install the LB RUNTIME files I apprised you of this during our telephone conversation An appropriate note has been added to the README file As an aside to other Tandy 1000 users the latest version of MS DOS available from Tandy for the 1000 1000EX or 1000HX is Version 3 20 22 It can be ordered from Radio Shack Mail Order 817 624 1196 using catalog number 25 1170 the cost is 29 95 plus approximately 3 for shipping Letters to MISOSYS Volume VI 1 THE MISOSYS QUARTERLY Fall 1991 Volume VLi a ee LDOS Fix format Fm MISOSYS Inc Now let s move away from LB for the time being to ad dress other topics of importance Fm L Dean Dorsey Little Neck NY This concerns the MSCI patches on pages 15 amp 16 of TMQ Viii I had no trouble applying the Model 4 LS DOS 6 3 1 patches MSCRES62 FIX and MSCARC61 FIX to my 20 meg hard disk even though I expanded the comments for a more complete description I did have trouble with the Model IM LDOS 5 3 patches MSCARCS51 FIX required re moval of my expanded comments before it would take MSCRES52 FIX failed bec
121. st 20000H 3FFFFH 40000H O7FFFH OFFFFH OFFFFH 128K OFFFFH 1FFFFH Normal 48000H 50000H 58000H 60000H 68000H 70000H 78000H Bank 3 Bank 4 Bank 5 Bank 6 Bank 7 Bank 8 Bank 9 Bank 10 47FFFH 4FFFFH 57FFFH 5FFFFH 67FFFH 6FFFFH 77FFFH 7FFFFH Due to the hardware management scheme RAM Banks 0 1 amp 2 exist only at physical addresses 8000H through OFFFFH Note the contents of bit 15 in XLR8er RAM bank addresses In all odd numbered bank addresses bit 15 0 In all even numbered bank addresses bit 15 1 Table 3 Functlon of Mem1 and Mem0 bits of OPREGS Mem Mem0 Docs say 0 Bank 0 not used Bank 1 Bank 2 The location of UBUF is examined to determine whether or not it straddles the boundary between the base 32K and the upper 32K of the resident 64K If it does the C flag will be set The get put flag in B is incremented which will set the Z flag if this is a PUT operation and reset it if this is a GET Then B is loaded with the OOH in A This is the select bank function code for the BANK SVC If UBUF is above 7FOOH as evidenced by a set C flag double buffering is required so control passes to DBLBUF Ifnot then Lsay Base 32K forced to Bank 0 Bank 0 Bank 1 Bank 2 the Z flag determines whether control should immediately pass to XFER for a direct GET from HL to DE or if DE and HL should first be exchanged so XFER will doadirect PUT of the data from DE
122. stores this pointer in PSTACK It subsequently reserves 200 bytes of pro gram stack space for the data array of structures by adding 200 to the current value of SP and placing the new value back into SP SIMIL will need to de allocate that 200 bytes on exit of the function SIMIL also immediately exits if it finds either of the strings are null Obvi ously a null string has zero characters in common with another string even an other null string The next section of SIMIL needs to calcu late and then store the total length of both strings Iused the CPIR instruction for this purpose CPIR performs the following sequence of steps 1 compares the contents of HL with A 2 increments HL 3 decrements BC repeats steps 1 3 if not equal or BC lt gt Strings in C are terminated with a zero byte value A two character string such as AB will be stored in hexadecimal as 41 42 00 xx xx just indicating the next THE MISOSYS QUARTERLY Autumn 1991 memory location for convenience of this discussion With register pair BC and register A initially at 0 a CPIR with HL pointing to this string will result in HL pointing to the xx and BC equal to OFDH 3 That is the result because CPIR increments HL and decrements BC before it acts on the result of the compare If at this point we performed another CPIR on anothertwo character string BC would contain OFAH 6 So I can calculate the length of the two strings
123. suing the following command at DOS Ready RESET ELEMENTS DAT d LRL 256 Then after any changes were made repeat the same command with LRL 73 since that s the LRL I used for it Also this RESET command only works under LS DOS 6 3 1 In order to utilize the limited memory a PROWAM application can possess the area labeled SCREEN isrecycled asa disk I O buffer and user record buffer after the information there is loaded into the PROWAM window These buffers are required under the READ and OPEN SVC s of TRSDOS LS DOS I even had to use some of it for part of the file control block I know there are probably some ways to optimize the code and gain a few more bytes of free space but it just does fit into the PROWAM operating area as shown I believe this covers any explanations about the source code most again is documented in the comments Any fur Inside TMQ 43 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi ther questions can be directed to me at the address above I hope someone out there can find some benefitin using ELEMENTS or learn more about hence write some applications for PROWAM If you don t have the PROWAM PROGRAMMERS TOOLKIT get it it s not expensive Besides you ll need it to write applica tions and it isn t hard to understand I hereby donate ELEMENTS to the PUB LIC DOMAIN Please include all docu mentation files which appear on DISK NOTES in any co
124. t like LS DOS s CONV utility It also supports notspecs i e CONV BAS 2 1 toconvert all files except files with the BAS extension The SHRINK parameter and function was added to the CREATE command The DIR parameter was added to the FOR MAT command to allow you to specify a designatedcylinder forthe directory when a diskette is formatted And ALIEN was dropped as a required parameter of RE PAIR I checked all commands and utilities to ensure that the parameter abbreviations were consistent between Model Hi and Model 4 modes I did not add the query function to FORMS or SETCOM due to what I considered to be excessive over head in the library file to implement the code The Model 4 DOS can make use of character to number conversion routines and number to character which are resident DOS services but not so in the Model I II DOS version That wasa judge ment decision 7 i There was also no room in the directory display to support an amlpm versus 24 hour clock time display soI didn t add the AMPM parameter to SYSTEM But I did add the PRTIME parameter to the SYS TEMcommandtoenable ordisable printer timeout The catch is that PRTIME is valid only if you have the printer filter installed The Blurb 5 The Blurb Volume VI i THE MISOSYS QUARTERLY Autumn 1991 Volume VI Both the Model I and Model III versions support similar commands all features of Model II 5 3 0 are in Model 15 3 1 That includ
125. the following response from me which I sent directly to all known LB 2 1 Model 4 Letters to MISOSYS 9 Letters to MISOSYS Volume VI i THE MISOSYS QUARTERLY Fall 1991 Volume VL i users on May 30 1991 As you can imag ine I m spending most of my time these days in the MS DOS world Just in case I may have missed someone the content is published here in The MISOSYS Quarterly To LB 2 1 0 Model 4 Users Another small problem has surfaced with LB 2 1 0 affecting only the TRS 80 Model 4 ver sion The problem relates to record data corruption when the second sequential update or add is performed and the data definition includes the date last updated field type The following two command line patches will correct the problem in both the EDIT and ADD modules PATCH LB OV5 D1B CB 21 38 F1B CB 2A 3F PATCH LB OV8 D35 88 21 6C F35 88 2A 73 I apologize for any inconvenience this may have caused you Incidentally the name of our Version 2 data base product is LB Data Manager it is not Little Brother Unless I slipped up somehow there is no place in the User Manual where the term Little Brother is used I will henceforth correct any future correspon dence which appears in TMQ E LB Read the manual ae a Fm MISOSYS Inc In spite of the minor troubles Billexperienced I m going touse him as a beta site for the next release I received the following letter dated June 25
126. three commands it would pop up the ones closest to your entry and allowed you to select one instead of a Program not found error Well just how do we determine the per centage of similarity one string has to another A fuzzy techniquecan help here No I m not going to resort to fuzzy logic hardware butratheremploy an algorithm In 1988 I came across an article in Dr Dobb s Journal The article was entitled PATTERN MATCHING THE GE STALT APPROACH Written by John W Ratcliff and David E Metzener it presented an introduction to the Ratcliff Obershelp pattern recognition algorithm The algorithm operated on two strings and calculated an index of similarity between the two the index ranged from 0 100 and indicated on a percentage basis how alike the two strings were The original algo rithm was developed in 1983 for use with educational software It has utilization for spelling checkers database search pro cesses and anywhere you would like to be somewhat forgiving with a character en try matching up witha given table of valid strings I clipped and saved the article for consideration of the routine with a revi sion to my LB data base manager The algorithm operates on the two strings and locates the longest substring of match ing characters This operation divides the two strings and surrounds the matched substring with left and nght substrings either of which could be null if the substring was positioned extreme le
127. tination registers to be incremented after each byte is trans ferred and specifies burst mode The next two inStructions load the value 40H into the DSTAT register initiating the transfer by setting the ChannelODMA Transfer Enable bit After the transfer the XOR A instruction 4 Pn a nn a aa a a a a ee a a aTa a a ee sets the Z flag in case this is the last code executed before return to the primary call and SAROB and DAROB are loaded with 00H to conform with the protocol This is necessary even if the transfer was within the base 64K because if the last byte transferred was to from OFFFFH the cor responding DMA address register would end up with a value of 10000H SAROB or DAROB equal to 1 Now let s go to the start of the module at label EXMEM Before beginning keep in mind the pur pose of FEXMEM to move data to from the 256 byte user buffer UBUF in the currently resident 64K from to a transfer area XBUF notcurrently resi dent XBUF then will always have a OO ee EAA naa ate anata tale ee ana na n n a a a a a a a a a a asara arara a arap a aa ht ee ara a R E ERRER ERREERRAREERERRERS EREEREER ee ey SS e ARA EROT T ey araa e ana henne E EARR O logical address in the range 8000H OFFOOH The reason for making these transfers to from non resident RAM banks from to the resident area is primarily to support RAMdisk drivers like Houd s ERAMDISK In the nor
128. tional 256K to the Model 4 Obviously it re quires special software to manage this extra memory A number of programs have been written to accomplish this the best so far being Michel Houd s PEXMEM routine TMQ DiskNotes 3 2 which is a refine mentof Roy Soltoff s EXMEM When used in conjuction with Houd s bank handling routines and his ERAMDISK utility it provides access to this extra memory either for use as a RAMdisk or using his PEXMEM SVC to address memory in application programs However PEXMEMusesLDIRs Since it moves data 256 bytes ata time it is less than half as fast as it could be if it used Direct Memory Access DMA In a previous article How to Roll Your Own on the XLR8er TMQ V iv I discussed the advantages in both speed and flexibility of DMA Channel 0 data transfers compared to LDIR and LDDR instructions The purpose of the accompanying pro gram FEXMEM CMD Fast EXtended MEMory handler is to use the superior Inside TMQ 33 Inside TMQ Volume VLi THE MISOSYS QUARTERLY Autumn 1991 Volume VLi beet ee tee tens ar erat er erer er eters ete arate a eet ete eataa e DMA transfers to improve the perfor mance of utilites such as ERAMDISK FEXMEM performs the useful function of PEXMEM copying 256 byte pages of RAM from one location in the nor mal 128K RAM to another location any where above the base 32K in an XLR8er equipped Model 4 s 384K
129. ts page and 40 S amp H Remit to MISOSYS Inc PO Box 239 Sterling VA 22170 703 450 4181 or orders to 800 MISOSYS iLS DOS 6 3 1 The latest for your Model 4 1 Ix X X X X X i gt pp oe ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee gt The DATE command Date prompt on boot and the DATE SVC now support a date range of 32 years from January 1 1980 through December 31 2011 Enable or disable the printer time out and error generation with SYSTEM PRTIME ON OFF Customize the display of the time field in the DIR command to display 12 hr or 24 hr clock time with SYSTEM AMPM ON OFF Both ASCII and hexadecimal display output from the LIST command is paged a screen at a time Or run it non stop under your control MEMORY displays or prints the status of switchable memory banks known to the DOS as well as a map of modules resident in I O driver system memory and high memory Specify SYSTEM DRIVE d 1 SWAP d2 to switch drive d1 for d2 Either may be the system drive and a Job Control Language file may be active on either of the swapped drives The TED text editor now has commands to print the entire text buffer or the contents of the first block encountered Obtain directories from TED too MISOSYS Inc PO Box 239 YN Sterling VA 22170 0239 A AREE U S A 7 ERE Attention Postmaster Address Correction Requested ve
130. ure you re justas happy ifnot more happy than Iam that the fix is so simple The patch to DISKCOPY after I added CMD be tween DISKCOPY and UTILITY worked perfectly of course Now repeat after me Roy There is a connection between DISKCOPY and FORMAT Fm MISOSYS Inc It always makes me happy to have a one byte patch to solve someone s problem Now since the value changes from OFH to 4FH which is a single bit difference the fix actually is a one BIT fix the smallest possible But why should you have had to manually type CMD PATCH adds that extension to the patch file specification target Did I say there wasn t any connection between DISKCOPY and FORMAT There isn t of course The problem origi nated in and was caused by DiskDISK It Letters to MISOSYS THE MISOSYS QUARTERLY Fall 1991 did not properly prepare the DCT Had absolutely nothing todo withthe DOS The 1 bit patch to DISKCOPY was an easier fix than correcting DiskDIS K in light of them both being my products now SuperScripsit amp DoubleDuty Fm George Bria I need help for a glitch in the DoubleDuty program used with SuperScripsit in my Model 4p In Parti tion 3 my commands work okay but I get a fallout of Caps interspersed with Lower Case letters when I return to Partitions 1 and 2 making itimpossible to work After executing a command I get a jumble of upper and lower cases when I return
131. very much for your quick response to the problem with the Last Update and the Length field insertion of the reverse slash I started to use the Last Update and found that editing the new data base established through LBREDEF The field would update prop erly on my first EDIT giving me 1991 05 26 Subsequent EDITs as long as I re mained in the UPDATE DELETE mode only gave me the year of the Last Update i e 1991 and not 1991 05 26 as it should If I left the UPDATE DELETE mode and then re entered that mode the first record I edited would have the proper Last Up date but not the subsequent records and again would only produce the year Itried this on both my model 4 s One with the hard drive and the other with just floppies and both systems behaved the same I don t feel like I am doing any thing wrong as the the entire procedure seems very straight forward Use the new data base and establish a new field for the screen display of the Last Update field I have re read the section very carefully covering the LBREDEF and the section about the Last Update and the subject is covered very well However if I have goofed or overlooked something please let me know The manual for the LBDM is very well written and so far I have been extremely well pleased with the update from Little Brother 1 0 to2 1 And like the man says Ithas lots of bells and whistles Fm MISOSYS Inc Bill s letter resulted in
132. y As we discussed I am enclosing my two original diskettes for LB86 I am also enclosing a copy of my IBM PC Dos 3 0 and my Run Time and Creation Diskettes I have also made a back up copy of LB86 in case you are able to fix my problem and notify me by calling me at home I would appreciate your swift attention to this matter so that I might start using the program as soon as possible Just as a reminder I am encountering an error on line 299 of the install program Ansisys not expected I am running the program on a Tandy 1000 with dual floppy drives under IBM Dos 3 0 Thank you for your help in this matter Sincerely yours 13 Volume VLi Fm MISOSYS Inc John This is in re sponse to your letter of July 5th concern ing the inability to install LB86 onto your Tandy 1000 using dual 360K drives This letter documents the solution as discussed with you via telephone a few days ago The problem occurred due to an error in the INSTALL DAT file associated with the automated INSTALL utility At line 299 in the file the statement ANSIsys ANSI SYS should have read Device ANSI SYS The statement would have been reached only if the ANSI SYS driver were not already installed at the time the INSTALL program was invoked Unfortunately all the machines utilized here have the ANSI driver in their con figuration thus the error was overlooked I have made the correction to your master LBDM diskette Tal

Download Pdf Manuals

image

Related Search

Related Contents

FW1082 (Guía Instalación)  Contents  INSTRUCTIONS DE MONTAGE ET D`UTILISATION ATTENTION  

Copyright © All rights reserved.
Failed to retrieve file