home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol163 / abstract.163 < prev    next >
Encoding:
Text File  |  1984-04-29  |  11.4 KB  |  243 lines

  1.      The  following  information is extracted  from  the  on-disk 
  2. newsletters  for volumes 1 and 2 of the CBASIC USERS GROUP.  They 
  3. can be contacted as follows:
  4.  
  5.                        CBUG
  6.                        3208 Magicwoods Circle
  7.                        Sacramento, CA 95827
  8.                        ATTN: Joe Butler
  9.                        Phone: (916) 366-7840
  10.  
  11. HARDWARE SECTION 
  12.  
  13. All  the software that comes on a diskette from the Cbasic  users 
  14. group  will run on CP/M,  CDOS,  and MOS/80.  How do I know this?  
  15. Well, I checked the software myself. I might add that most of the 
  16. software  that  I  have written  lately,  will  be  'laced'  with 
  17. assembler  code.  Isn't it wonderful what you can do with Cbasic? 
  18. So please check the code very carefully. I know that it works, so 
  19. if you have any bugs, it is in your operating system. 
  20.     
  21.  
  22.  
  23. PROBLEMS AND BUGS
  24.  
  25.      While working with a Kaypro machine,  I ran across an inter-
  26. esting  bug.  On  the Cbug diskette,  you will notice  a  program 
  27. called  'DIRECTIO'.  Well,  I've been writing an application  for 
  28. this  machine  that needed a console input  without  any  special 
  29. characters coming across (e.g.  ^S, ^P, line feed characters.) It 
  30. seems  that the customer needs strained console I/O,  so the pro-
  31. gram 'DIRECTIO' works just fine, except that the disk drives stay 
  32. on, until you depress any character on the keyboard. I've got the 
  33. routine  at D000 hex and it is below the  operating  system.   So 
  34. far,  I haven't any clues. Anybody out there know what the answer 
  35. is?  I've  called  Linear  Systems,  and they haven't  any  idea. 
  36. Anywho, somebody let me know.
  37.     
  38.      David  Kroutil,  of American Data,  Inc.  has run across  an 
  39. interesting bug in Cbasic. To give you a little background, David 
  40. is  selling a beefed-up version of the McGraw-Hill software  with 
  41. all the bells and whistles you can think of.  The price,  I might 
  42. add,  is very reasonable, too. He even has documentation! I don't 
  43. know the price, but I'll find out. Anyways, David ran his Payroll 
  44. package and gets this weird error:  ERROR EO 54. David has called 
  45. Compiler Systems,  the originator of Cbasic, and Digital Research 
  46. Inc., but to no avail. It seems that either they won't  help them 
  47. because they don't know,  or they don't want to tell anyone  what 
  48. the error is. If anyone knows this one, or knows anyone who does, 
  49. I'll give the next diskette of software away to him free! 
  50.     
  51.      Clark of Lodestar Computer Systems,  has come up with a good 
  52. bug.  The details are in PRBLM001.TXT. Briefly, the problem looks 
  53. like  this:   Whenever you use the common statement to pass vari-
  54. ables  and strings to other programs,  you can only  transmit  so 
  55. many.  In  other words,  it looks like there is a ceiling on  the 
  56. amount  of space for the common statements.  I haven't found any-
  57. thing in the CBASIC manual to dictate otherwise. Anyone know this 
  58. one?
  59.     
  60.      I came across an interesting bug,  or so I  thought.  Later, 
  61. after talking with Digital Research, I found that the answer was 
  62. in  their  new  manual on page  4.  Boy,  that  was  embarassing! 
  63. Anyways,  look  at the programs,  TRY1 and TRY2.  I was trying to 
  64. pass a string array in a common statement for another program  to 
  65. access.  My  problem was,  that I redimensioned the string in the 
  66. second program.  That's a no-no when the string array is  already 
  67. dimensioned  in  the primary program.  All I ended up  doing  was 
  68. nulling the array! Be careful of that one!
  69.  
  70. The following is a blow by blow description of the programs:
  71.     
  72. CBAS.TST   Program to test the MEMTEST function in CBASIC.  Check 
  73. on CBASTEST.ASM  and TEST.BAS.  These programs came from Mr. Jack 
  74. Owens of Sacramento, Ca. 
  75.  
  76. By now,  I bet that you are trying to figure out how I got a copy 
  77. of the directory using X.COM,  in this newsletter.  Well,  if you 
  78. look at CONS.COM, CONS.ASM, CONSGRAB.ASM, AND CLOSE.COM, you will 
  79. find  out.  I  wrote these programs a while ago  to  capture  the 
  80. console  I/O.  They  will work on CP/M just fine.  For  CDOS  and 
  81. MOS/80,  give me a buzz.  They are a S.O.B.  to change.  There is 
  82. only  one  small problem to this;  you have to be able to get  to 
  83. your BIOS to add CONSGRAB.ASM to it.
  84.     
  85. DIR.BAS   This is a program to call up the directory  in  CBASIC. 
  86. The program will accept ambiguous and unambiguous markers to find 
  87. the files on the directory.  What you also are thinking about is, 
  88. this  program  can  be  adapted  for a front  end  menu  for  any 
  89. application;  e.g.  like MENU MASTER. It's a neat little program, 
  90. combining Assembler and Cbasic.  It should be a good tutorial for 
  91. those  programmers  out there,  who are  having  difficulty  with 
  92. assembler.
  93.     
  94. DIRECTIO.BAS  This program,  again a combination of Assembler and 
  95. Cbasic,  demonstrates  a direct console I/O,  which bypasses  the 
  96. operating system.  I mean,  that if some ignorant person tries to 
  97. do  a control C in my application,  he's in for a  surprise!  The 
  98. program  pokes a maching language routine way up at A000 hex  and 
  99. does  a  call  to it when it needs to do  some  work.  From  this 
  100. example, the whole world of BDOS and BIOS calls are open to you.
  101.     
  102. DOW.BAS  You've always wanted a Day of the Week  routine,  right?  
  103. Well,  here it is.  If you look at the code, you will see a nifty 
  104. routine to duplicate the HEX$ routine of MBASIC.  the DOW routine 
  105. lets you put in a MMDDYY format and come out with the day of  the 
  106. week. Further study will give you the Julian date if you need it.
  107.     
  108. FINDCTL.BAS This is just a little routine to show you the min and 
  109. max  tracks and sectors allocated for a particular  cluster.  The 
  110. reason  that I wrote this routine,  is that the Digital  Research 
  111. manuals  are  a  bit  scarce  in information  when  it  comes  to 
  112. pertinent  info.  on the disk parameters.  To complicate  matters 
  113. further,  I have a copy of MOS/80 from Infosoft and Mostek, and I 
  114. was trying to access a hard disk,  block by block.  Anyways,  you 
  115. will  probably want to use the algorithm for direct block  access 
  116. to a foreign disk. That's what I am now using it for.
  117.     
  118. GNXXXXXX.BAS These programs are a skeleton database for use  with 
  119. any straight and easy application, using the KISS philosiphy. You 
  120. know,  keep it simple stupid! There are three programs; a menu, a 
  121. screen  input/output,   and  a  report  program.   All  you,  the 
  122. programmer has to do,  is fill in the missing blanks. Now you are 
  123. probably wondering what the modules are for and what do all those 
  124. variables mean?  If you will look on the diskette,  you will find 
  125. the following:
  126.     
  127. GNXXXXXX.LIN - Text explaining what the modules mean.
  128. GNXXXXXX.XRF - Text explaining what all the variables mean.
  129.     
  130. As long as you don't change any of the text in the programs, they 
  131. will work fine.  But if you do, I hope that you know what you are 
  132. doing, but if you don't, drop me a letter with the problem. 
  133. By  the  way,  you  will  need two other programs  to  run  these 
  134. programs. SCREEN.FIL and COMPANY.DA. 
  135.     
  136. SCREEN.FIL is a file that has all your CRT parameters.  Check  on 
  137. GNMENU.BAS for the particular layout.
  138.     
  139. COMPANY.DA  is a file that has the company info, date of creation, 
  140. password,  etc.  The  program only uses the company and  date  of 
  141. creation  and one other variable to store the present  date.  The 
  142. rest are yours to use.
  143.     
  144. SLEUTH.BAS This is a program right from the latest MICROCOMPUTING 
  145. magazine,  written by James Monagan. This is one of the best XREF 
  146. type programs I've seen in a long time. Not only that, the son of 
  147. a gun works! Not many people know this, but XREF has a bug in it. 
  148. It  will  only take so many variables.  No comment  from  Digital 
  149. Research.  Anyways,  James Monagan has done a helluva job on this 
  150. one. 
  151.  
  152. COMPANY.DA is a file that has the company info, date of creation, 
  153. password,  etc.  The  program only uses the company and  date  of 
  154. creation  and one other variable to store the present  date.  The 
  155. rest are yours to use.
  156.  
  157. The following programs belong together as a database application:
  158. NADMENU.BAS, NADSCRN.BAS, NADREPT.BAS, NADMAIL.BAS, NAD.FIL.
  159.     
  160. NADMENU.BAS is the menu to the Name & Address with Mailing Labels 
  161. Application.  If  you take the time to type the program out,  you 
  162. will find that I am using my skeleton of GNMENU.BAS for  it.  You 
  163. will  also notice that I have a machine language routine in  high 
  164. memory. This is the screen input routine. It grabs all characters 
  165. and  filters  them.  It  is called BDOS #6 in  the  CP/M  Manual. 
  166. Anyways,  you should find a lot of use with this application, not 
  167. to  mention  using  this  menu program as a  skeleton  for  other 
  168. applications.
  169.     
  170. NADSCRN.BAS is the screen and file I/O for the application.  This 
  171. program uses a lot of new tricks in screen input.  You will  also 
  172. notice that I again used a skeleton: that of GNSCREEN.BAS.  
  173.     
  174. NADREPT.BAS  is  the  report program of all  the  information  in 
  175. NAD.FIL. Again, I have used a skeleton; that of GNREPORT.BAS.
  176.     
  177. NADMAIL.BAS is the mailing label report program.  As you can see, 
  178. I have modified the skeleton of GNREPORT.BAS a little to make the 
  179. mailing label module.
  180.     
  181. NAD.FIL is, of course, the application file. The parameters are:
  182.     
  183.          Record length: 224 characters.
  184.          Field count  : 10
  185.          Field case   : String
  186.          Delimiter    : Comma
  187.     
  188. There  is  another program on this diskette that I know that  you 
  189. will enjoy!  The program is called CREATE.BAS.  This program lets 
  190. you  create  any  type  of  CBASIC data  file  with  just  a  few 
  191. parameters. Hence the way the information for NAD.FIL is given. I 
  192. use  this  program in my Database that I created.  I  think  this 
  193. program will get a lot of use.
  194.     
  195.     
  196. The following programs belong together as a database application:
  197. BIBLIO.BAS, BIBBLD.BAS, BIBSRCH.BAS, BIBSR2.BAS, CMPRBIB.BAS, 
  198. PARMS.BAS, VOCBLD.BAS, VOCLST.BAS
  199.     
  200. You can find all the particulars in BYTE Magazine. The article is 
  201. on page 389 of the March 1983 Issue.  John Obermeier,  out newest 
  202. member,  deserves the credit of typing all these programs in,  so 
  203. he gets a free disk of software. Thanks John. The only thing that 
  204. I have done, is clean it up. Anyways, enjoy!
  205.     
  206. GRABCOM.BAS  is  a  program I wrote for CB-80  to  show  the  GET 
  207. function.  It  is  not documented very well in the CB-80  Manual. 
  208. What it does is Open X.COM and spill the bytes out to the  screen 
  209. one by one. Basically, all I wanted to show is how to use the GET 
  210. command in CB-80 correctly.
  211.     
  212. POKEHI.BAS  is  a MBASIC program.  I wrote this little  thing  to 
  213. deprotect MBASIC programs that I bought recently. The package was 
  214. the  tax  programs from EAZI-TAX.  They have a bunch of  bugs  in 
  215. them,  and  I called the people to get them fixed.  They couldn't 
  216. give me satisfaction,  so I did it myself.  It just bugs me  that 
  217. companies  are  selling  software  and  they  don't  support  it. 
  218. Anyways,  this little program has a machine language routine that 
  219. is poked up in high memory. You run this program first, type NEW, 
  220. then load your protected program in and do the following: 
  221.               
  222.                  A=&HB000:CALL A   
  223.     
  224. That's all there is to it!  Just list your program and/or save to 
  225. disk. Then you can convert your MBASIC program over to CBASIC and 
  226. send it to me!
  227.     
  228. SMUGRBBS.DCP is the manual on how to use the RBBS by the Users
  229. group, SMUG. Also, it describes the two other diskettes of
  230. software. Just type it out to your printer.
  231.     
  232.  
  233. SUMMARY 
  234.  
  235.  
  236. For further information, problems, suggestions, please contact:
  237.  
  238.  
  239.                   Joseph Butler
  240.                   916 366 7840
  241.  
  242.  
  243.