home *** CD-ROM | disk | FTP | other *** search
- The following information is extracted from the on-disk
- newsletters for volumes 1 and 2 of the CBASIC USERS GROUP. They
- can be contacted as follows:
-
- CBUG
- 3208 Magicwoods Circle
- Sacramento, CA 95827
- ATTN: Joe Butler
- Phone: (916) 366-7840
-
- HARDWARE SECTION
-
- All the software that comes on a diskette from the Cbasic users
- group will run on CP/M, CDOS, and MOS/80. How do I know this?
- Well, I checked the software myself. I might add that most of the
- software that I have written lately, will be 'laced' with
- assembler code. Isn't it wonderful what you can do with Cbasic?
- So please check the code very carefully. I know that it works, so
- if you have any bugs, it is in your operating system.
-
-
-
- PROBLEMS AND BUGS
-
- While working with a Kaypro machine, I ran across an inter-
- esting bug. On the Cbug diskette, you will notice a program
- called 'DIRECTIO'. Well, I've been writing an application for
- this machine that needed a console input without any special
- characters coming across (e.g. ^S, ^P, line feed characters.) It
- seems that the customer needs strained console I/O, so the pro-
- gram 'DIRECTIO' works just fine, except that the disk drives stay
- on, until you depress any character on the keyboard. I've got the
- routine at D000 hex and it is below the operating system. So
- far, I haven't any clues. Anybody out there know what the answer
- is? I've called Linear Systems, and they haven't any idea.
- Anywho, somebody let me know.
-
- David Kroutil, of American Data, Inc. has run across an
- interesting bug in Cbasic. To give you a little background, David
- is selling a beefed-up version of the McGraw-Hill software with
- all the bells and whistles you can think of. The price, I might
- add, is very reasonable, too. He even has documentation! I don't
- know the price, but I'll find out. Anyways, David ran his Payroll
- package and gets this weird error: ERROR EO 54. David has called
- Compiler Systems, the originator of Cbasic, and Digital Research
- Inc., but to no avail. It seems that either they won't help them
- because they don't know, or they don't want to tell anyone what
- the error is. If anyone knows this one, or knows anyone who does,
- I'll give the next diskette of software away to him free!
-
- Clark of Lodestar Computer Systems, has come up with a good
- bug. The details are in PRBLM001.TXT. Briefly, the problem looks
- like this: Whenever you use the common statement to pass vari-
- ables and strings to other programs, you can only transmit so
- many. In other words, it looks like there is a ceiling on the
- amount of space for the common statements. I haven't found any-
- thing in the CBASIC manual to dictate otherwise. Anyone know this
- one?
-
- I came across an interesting bug, or so I thought. Later,
- after talking with Digital Research, I found that the answer was
- in their new manual on page 4. Boy, that was embarassing!
- Anyways, look at the programs, TRY1 and TRY2. I was trying to
- pass a string array in a common statement for another program to
- access. My problem was, that I redimensioned the string in the
- second program. That's a no-no when the string array is already
- dimensioned in the primary program. All I ended up doing was
- nulling the array! Be careful of that one!
-
- The following is a blow by blow description of the programs:
-
- CBAS.TST Program to test the MEMTEST function in CBASIC. Check
- on CBASTEST.ASM and TEST.BAS. These programs came from Mr. Jack
- Owens of Sacramento, Ca.
-
- By now, I bet that you are trying to figure out how I got a copy
- of the directory using X.COM, in this newsletter. Well, if you
- look at CONS.COM, CONS.ASM, CONSGRAB.ASM, AND CLOSE.COM, you will
- find out. I wrote these programs a while ago to capture the
- console I/O. They will work on CP/M just fine. For CDOS and
- MOS/80, give me a buzz. They are a S.O.B. to change. There is
- only one small problem to this; you have to be able to get to
- your BIOS to add CONSGRAB.ASM to it.
-
- DIR.BAS This is a program to call up the directory in CBASIC.
- The program will accept ambiguous and unambiguous markers to find
- the files on the directory. What you also are thinking about is,
- this program can be adapted for a front end menu for any
- application; e.g. like MENU MASTER. It's a neat little program,
- combining Assembler and Cbasic. It should be a good tutorial for
- those programmers out there, who are having difficulty with
- assembler.
-
- DIRECTIO.BAS This program, again a combination of Assembler and
- Cbasic, demonstrates a direct console I/O, which bypasses the
- operating system. I mean, that if some ignorant person tries to
- do a control C in my application, he's in for a surprise! The
- program pokes a maching language routine way up at A000 hex and
- does a call to it when it needs to do some work. From this
- example, the whole world of BDOS and BIOS calls are open to you.
-
- DOW.BAS You've always wanted a Day of the Week routine, right?
- Well, here it is. If you look at the code, you will see a nifty
- routine to duplicate the HEX$ routine of MBASIC. the DOW routine
- lets you put in a MMDDYY format and come out with the day of the
- week. Further study will give you the Julian date if you need it.
-
- FINDCTL.BAS This is just a little routine to show you the min and
- max tracks and sectors allocated for a particular cluster. The
- reason that I wrote this routine, is that the Digital Research
- manuals are a bit scarce in information when it comes to
- pertinent info. on the disk parameters. To complicate matters
- further, I have a copy of MOS/80 from Infosoft and Mostek, and I
- was trying to access a hard disk, block by block. Anyways, you
- will probably want to use the algorithm for direct block access
- to a foreign disk. That's what I am now using it for.
-
- GNXXXXXX.BAS These programs are a skeleton database for use with
- any straight and easy application, using the KISS philosiphy. You
- know, keep it simple stupid! There are three programs; a menu, a
- screen input/output, and a report program. All you, the
- programmer has to do, is fill in the missing blanks. Now you are
- probably wondering what the modules are for and what do all those
- variables mean? If you will look on the diskette, you will find
- the following:
-
- GNXXXXXX.LIN - Text explaining what the modules mean.
- GNXXXXXX.XRF - Text explaining what all the variables mean.
-
- As long as you don't change any of the text in the programs, they
- will work fine. But if you do, I hope that you know what you are
- doing, but if you don't, drop me a letter with the problem.
- By the way, you will need two other programs to run these
- programs. SCREEN.FIL and COMPANY.DA.
-
- SCREEN.FIL is a file that has all your CRT parameters. Check on
- GNMENU.BAS for the particular layout.
-
- COMPANY.DA is a file that has the company info, date of creation,
- password, etc. The program only uses the company and date of
- creation and one other variable to store the present date. The
- rest are yours to use.
-
- SLEUTH.BAS This is a program right from the latest MICROCOMPUTING
- magazine, written by James Monagan. This is one of the best XREF
- type programs I've seen in a long time. Not only that, the son of
- a gun works! Not many people know this, but XREF has a bug in it.
- It will only take so many variables. No comment from Digital
- Research. Anyways, James Monagan has done a helluva job on this
- one.
-
- COMPANY.DA is a file that has the company info, date of creation,
- password, etc. The program only uses the company and date of
- creation and one other variable to store the present date. The
- rest are yours to use.
-
- The following programs belong together as a database application:
- NADMENU.BAS, NADSCRN.BAS, NADREPT.BAS, NADMAIL.BAS, NAD.FIL.
-
- NADMENU.BAS is the menu to the Name & Address with Mailing Labels
- Application. If you take the time to type the program out, you
- will find that I am using my skeleton of GNMENU.BAS for it. You
- will also notice that I have a machine language routine in high
- memory. This is the screen input routine. It grabs all characters
- and filters them. It is called BDOS #6 in the CP/M Manual.
- Anyways, you should find a lot of use with this application, not
- to mention using this menu program as a skeleton for other
- applications.
-
- NADSCRN.BAS is the screen and file I/O for the application. This
- program uses a lot of new tricks in screen input. You will also
- notice that I again used a skeleton: that of GNSCREEN.BAS.
-
- NADREPT.BAS is the report program of all the information in
- NAD.FIL. Again, I have used a skeleton; that of GNREPORT.BAS.
-
- NADMAIL.BAS is the mailing label report program. As you can see,
- I have modified the skeleton of GNREPORT.BAS a little to make the
- mailing label module.
-
- NAD.FIL is, of course, the application file. The parameters are:
-
- Record length: 224 characters.
- Field count : 10
- Field case : String
- Delimiter : Comma
-
- There is another program on this diskette that I know that you
- will enjoy! The program is called CREATE.BAS. This program lets
- you create any type of CBASIC data file with just a few
- parameters. Hence the way the information for NAD.FIL is given. I
- use this program in my Database that I created. I think this
- program will get a lot of use.
-
-
- The following programs belong together as a database application:
- BIBLIO.BAS, BIBBLD.BAS, BIBSRCH.BAS, BIBSR2.BAS, CMPRBIB.BAS,
- PARMS.BAS, VOCBLD.BAS, VOCLST.BAS
-
- You can find all the particulars in BYTE Magazine. The article is
- on page 389 of the March 1983 Issue. John Obermeier, out newest
- member, deserves the credit of typing all these programs in, so
- he gets a free disk of software. Thanks John. The only thing that
- I have done, is clean it up. Anyways, enjoy!
-
- GRABCOM.BAS is a program I wrote for CB-80 to show the GET
- function. It is not documented very well in the CB-80 Manual.
- What it does is Open X.COM and spill the bytes out to the screen
- one by one. Basically, all I wanted to show is how to use the GET
- command in CB-80 correctly.
-
- POKEHI.BAS is a MBASIC program. I wrote this little thing to
- deprotect MBASIC programs that I bought recently. The package was
- the tax programs from EAZI-TAX. They have a bunch of bugs in
- them, and I called the people to get them fixed. They couldn't
- give me satisfaction, so I did it myself. It just bugs me that
- companies are selling software and they don't support it.
- Anyways, this little program has a machine language routine that
- is poked up in high memory. You run this program first, type NEW,
- then load your protected program in and do the following:
-
- A=&HB000:CALL A
-
- That's all there is to it! Just list your program and/or save to
- disk. Then you can convert your MBASIC program over to CBASIC and
- send it to me!
-
- SMUGRBBS.DCP is the manual on how to use the RBBS by the Users
- group, SMUG. Also, it describes the two other diskettes of
- software. Just type it out to your printer.
-
-
- SUMMARY
-
-
- For further information, problems, suggestions, please contact:
-
-
- Joseph Butler
- 916 366 7840
-
-
-