BAGNARA@IBOINFN.BITNET (Roberto Bagnara) (08/24/87)
Some months ago I sent to this group a note concerning my Kermit68K, a portable Kermit program for machines based on the 68xxx microprocessors family. In that note I was looking for wizards of the various OS running on the 68xxx willing to implement Kermit68K on different machines. Now the OS9 version of Kermit68K is ready and is distributed by Columbia university, several people sent me messages saying that it works with no problems (a good result for a 1.0 release). I've received a lot of requests for a CP/M-68K and a VERSADOS version of the program, but, unfortunately, no help offers from experts of this operating systems, so I'm writing the system-dependent module for CP/M-68K by myself. I've started this job the 3 August and just now Kermit68K/CPM works rather well. Since all what I know of CP/M-68K is what I've learned this month by reading the Programmer's Guide (the only CP/M-68K manual I've), I need some help from CP/M-68K experts out there. Current problems (by sure due to my poor knowledge of the OS) are: 1) By reading the manual and looking at my BIOS sources it seems impossible to check the status of the auxiliary input device, that is the system services handler, once called, doesn't return until a character is received. If this is true I can't implement input timeouts in a portable way, I need a small serial driver for each machine. Am I wrong ? 2) The Search for First and Search for Next system services seem don't care of the passed FCB content, any directory entry is returned regardless of the file name and type I've written into the FCB. Should I do the filename matching by myself ? In this case has anyone a suitable assembly language routines ? People interested in receiving the current sources shouldn't hesitate to contact me at any time. Except for the aforecited problems Kermit68K/CPM is working well transferring binary and text files correctly and efficiently. Thank in advance for your help and suggestions. Roberto P.S. I've done all the job in 10 working days (including the manual reading, without prior knowledge of the OS), any willing VERSADOS (or other OS) implementor now ?
HELLER@cs.umass.EDU (Stride 440 User) (08/25/87)
> Date: Mon, 24 Aug 87 12:11 N > From: BAGNARA%IBOINFN.BITNET@JADE.BERKELEY.EDU > Subject: Kermit68K under CP/M-68K, help needed > To: info-68k@UCBVAX.BERKELEY.EDU > Message-Id: <8708241014.AA17893@jade.berkeley.edu> > 1) By reading the manual and looking at my BIOS sources it seems impossible > to check the status of the auxiliary input device, that is the system > services handler, once called, doesn't return until a character is received. > If this is true I can't implement input timeouts in a portable way, > I need a small serial driver for each machine. Am I wrong ? > Yes, you are right. CP/M-68K has no O/S hooks to any sort of timer either. So you either need to write a delay loop or use machine-dependent code to access a machine's timer (most 68K boxes do have some sort of heart-beat clock). > 2) The Search for First and Search for Next system services seem don't > care of the passed FCB content, any directory entry is returned regardless > of the file name and type I've written into the FCB. Should I do > the filename matching by myself ? In this case has anyone a suitable > assembly language routines ? > Wrong. On the Search for First you pass a FCB with a wildcarded file spec. There is a special form which does get every dirent, but you don't want that! One other point: You can't do ANY other file I/O which scanning with Search First/Search Next. You need to collect the file names into a list first (I use a malloc'ed alpha-sorted linked-list - I have the routines embeded in several programs), then use the list to process each file. Remember to set the DMA address to a vector of four "short" (32-byte) FCB's before calling Search/First! This is where the matched file names get stashed. The result status code is either 0x00FF (no more files matched) or an integer from 0 to 3, to be used as an index to the four dirent/FCB vector pointed to by the DMA address. --------------------------------------- If you are interested, I can post code fragments doing the file name hackery. Also note: the normal CP/M-68K 1.2 C startup hack does wild-card expansion of the command line, just like UNIX's csh (more or less). I'd also like a copy of this program for CP/M-68K. I presently have a rather funcky old version that has been ported several times. I'd be willing to write the Stride 400 series serial driver code for other Stride 400/CP/M-68K users. Robert Heller ARPANet: Heller@CS.UMass.EDU BITNET: Heller@UMass.BITNET BIX: Heller GEnie: RHeller FidoNet: 321/148 (Locks Hill BBS, Wendell, MA) CompuServe 71450,3432 Local PV VAXen: COINS::HELLER UCC Cyber/DG: Heller@CS