FOREWORD — Page 1 FOREWORD It is hard to believe that EXTENDED BASIC for '8®0 USERS was released over six years ago. EXTENDED BASIC was originally designed for the tape user owning a 16K machine. The package enhanced Level 2 BASIC almost to the level of a disk based machine, with the exception of the obvious disk I/O routines. EXTENDED BASIC was a BASIC program that compiled a user defined subset of all the available commands and then saved these machine code routines as a /CMD file or SYSTEM tape. To avoid confusion the actual machine code routines were called CUSTOM BASIC for '80 USERS. Even though it started off as a tape based system, it soon became apparent that most of the common DOS's also benefited greatly from the CUSTOM BASIC routines. So I endeavoured to get it to run under most of the popular DOS's. This original package is still available for both tape and DOS users who don't want to use NewDos86. As time went by, and with a lot of prodding from Kev O'Hare, work was started on making CUSTOM BASIC for '8® USERS an intrinsic part of NewDos80 BASIC. This allowed me to add further routines and to improve the internal workings of CUSTOM BASIC somewhat. The original CUSTOM BASIC relied on the production of a SYNTAX ERROR to gain entry into many of its routines. While this mechanism worked reliably, it had a couple of limitations. The major disadvantage, though, was that additional FUNCTIONs couldn't be provided. This new version of CUSTOM BASIC actually tokenises the new keywords. This allows a speedup of execution and also allows the provision of new functions, e.g WPEEK and SUM. Much work was done to NewDos80, new routines added, routines already present improved. To differentiate between the already excellent DOS, NewDos8®, and its superb successor, we decided to give the improved NewDos8® the name NewDos86. How should we handle the manual, now that so many changes had occurred? We originally decided to extend the already existing manual with the new material. This allowed individuals to write software with NewDos86 and then convert it to run on other nos*$ or tape by using EXTENDED BASIC to create the required subset of routines. Now it appears that tape is dead. Most people are using disks, many are using hard disk systems. The rnanual has been totally reorganised. We have moved the section on the changes to DOS to the front of the manual. Additional material has been inserted where applicable. Information that was only applicable to tape users has been removed. APPENDIX E lists all the routines for tape that have been deleted. This will allow any tape based users out there to see what enhancements are still available. =============== NEWDOS86 (C) l986 W.S. & D.S. SANDS ================ Page 2 - FOREWORD A major headache was how to treat subjects such as DEFFN and FN. Disk users should be familiar with these techniques. However, feedback from some of the new users associated with the Brisbane TRS—8® users group revealed that these chapters were of some benefit. So I decided to leave them in the manual. New programs are being added to the utilities already written. These will be described in /TXT files on the disk. Check the disk for a README file which will outline any changes and additions that may have been made after the manual has been compiled. Although xnany of the problems with memory constraints have been lifted due to overlays being used, the following criteria are still applicable: Since it is always possible to improve on any routine, the concepts that I kept in mind during the development process were:- 1) To provide machine code routines that you find easy to use and to provide you with enhancements that will ease programming tasks. 2) To keep the size of these routines as small as possible while not compromising tha functions they are to carry out, thus freeing the maximum amount of RAM possible for your programs. Most compromises within the CUSTOM BASIC routines may be overcome by BASIC programming techniques. If you find a limitation that you feel may be better overcome from within CUSTOM BASIC, please let me know and I will investigate the problem further. Both the DOS and BASIC routines have been extensively tested. However, perfect programs have not yet been written. So, if you have a problem, please let me know, since bug-free code is my aim. It would be more helpful if you could supply the following:- 1) A complete and precise report of the circumstances leading up to the error. 2) Please check that you are in fact using the feature as intended. 3) Endeavour to check that the problem is, in fact, repeatable. If the problem appears to come and go, let me know —— as the testing for such problems will need to be much more extensive. In fact, I welcome any criticisms and/or suggestions on the routines, or documentation, as it is only by knowing what you, the user, require that I can supply those needs in future enhancements. =============== NEWDOS86 (C) l986 W.S. & D.S. SANDS ================ FOREWORD - Page 3 A program of this complexity doesn't just happen. Two people deserve a big thankyou. My wife Delma, who has put up with computer talk for many years, and without whose support and encouragement this program would not have come to fruition; and Bill Allen, who has helped greatly with the documentation. Additionally I would like to thank those people who have helped in providing the many suggestions that have allowed me to fine tune this product. In particular, Jack Decker, Peter Goed and Kevin O'Hare and in general the members of the Brisbane TRS—8® Users group. Please feel free to contact me at any time. It would be best to contact ·me the first time via one of the user groups listed in APPENDIX F, as those addresses will remain static. I would like to make one further point. I suggest that you join a TRS—8¢ user group if you haven't already done so. All corrections and additional NewDos86 programs will be released via these groups. A list of all groups that I know are supporting NewDos86 are listed in APPENDIX F. This is short at the moment but I hope that it will grow. If your group would be willing to support NewDos86, then contact The Secretary of the Brisbane Group and we will be glad to let you have any information as it comes to hand. Happy computing, Warwick Sands. A couple of points on the documentation: This printout was xnade with a IMJPQIG printer, using TYPE/CMD, a program I wrote and released to the public domain. It is able to apportion spaces equally between words on each line, thus improving on the word processors. The text was prepared using Lazywriter 4+3. You will notice that some program lines end in a 1 while others do not. All the examples included in the documentation were firstly run as BASIC programs and then saved in ASCII and merged into the text file. Some of the early programs were written before the enhanced line editor was incorporated into NewDos86. These end of line markers symbolise the CHR$(0) that BASIC appends to the end of every program line and are explained more fully in Ch 7-2. If you decide to use the standard NewDos8® editor (SYS28/UC) these characters won't appear and if you enter them yourself a SYNTAX error will result. ——--—-———— -———————-- =============== NEWDOS86 (C) l986 W.S. & D.S. SANDS ================