LI.COM ... Peruse North Star DOS diskettes while running CP/M. LI is named for the old DOS command to LIst a file directory, but it can be used to view the contents of any 10-hard-sectored diskette, even North Star PASCAL. In addition, LI can copy a range of sectors into a CP/M file. THE COMMAND LINE needs at least one argument, the diskette drive number. There are optional command line specifications for single density, typeout mode, and starting sector. Typing the command LI with no arguments produces a little 'usage' message with some examples. The 'Options' prompt, which shows up after each sector typeout, asks you what to do next. The most common response is to strike the space bar and go on to the following sector. Other options at this prompt are to re-type the sector (A,D,H specify ASCII, DOS directory, or Hex typeout modes), the 'ESC' key to return to CP/M, '?' to get some help, and 'R' to read from the foreign diskette to a CP/M file. That's about all there is to it. Just remember these two points: 1. Get help with command lines by typing LI with no arguments. 2. Get help with subsequent options by typing '?'. -------- DIFFERENT TERMINALS can easily be accomodated by patching the small number of control strings. All the strings are in one area, and that area is al- luded to in the first instruction of the program. These strings are used: 1B 3D 27 20 Esc = y x to position the cursor 0C ^L for forespace 1B 29 Esc ) for highlight 1B 28 Esc ( to end highlight. For instance, a version for the North Star ADVANTAGE can be produced by changing the 1B 29 to 01 01, and the 1B 28 to 02 02. ADVANTAGE users note that the mods described above give you reverse video when displaying a byte in ASCII that has the high bit set. If you don't make the mods you can't see the high bits -- the ADVANTAGE ignores the Esc ) and Esc ( codes but otherwise functions OK. ADVANTAGE users also note that rare indeed is the motherboard that can read single density diskettes. That feature should be considered for HORIZON users only. MIXED DENSITY diskettes may require you to use a little ingenuity because 1. LI is brought up in single density mode or not depending on the command line, it cannot switch back and forth. 2. CP/M does not inform application programs of density mismatch errors, once the command is issued, all you can do is hit ^C. So, here's a little example. Suppose I wish to read a single density type 2 file (say I have a copy of BAZIC for CP/M) from a diskette that has a double density directory. First I call up the DOS directory. LI 2 D I don't see the file, perhaps it's in the next sector. I proceed. (space) Aha, there it is in one of the 32 directory entries displayed. GAME 177 15 2 S 08 20 20 The name of the file is 'GAME', it starts at sector 177, it is 15 blocks long (blocks are 256 bytes regardless of sector size), it is type 2 (read by BASIC with the LOAD command), and it is recorded in single density. The last three bytes do not pertain. At this point I exit the program. (Esc) Then I restart the program in single density starting at a sector where it will not get an error. LI S2 177 At the 'Options' prompt I request a read. R At which point I am prompted for a starting sector 177 and the number of blocks to read 15 and the name of a CP/M file. GAME.002 The program proceeds to copy the file, which actually works in BAZIC! -------- This program, let's call it version 2 because it has the R option, was written in June 1986 by George Millard. If you want to cuss at me, or better, tell me I'm a wonderful person, phone (415) 530-8254. Or write 3271 Madeline Street Oakland, California 94602. Please don't all send money at once.