W8SDZ@Simtel20.ARPA (04/16/84)
From: Keith Petersen <W8SDZ@Simtel20.ARPA> Here is a reply from Dave Rand, re the bug reports you sent. He has just released NSWP205 which is now on SIMTEL20 in the MICRO:<CPM.FILCPY> directory. The files are NSWP205.COM, .HEX and .DOC (a short file explaining the changes in NSWP204 and 205). NSWP2.DOC or .DQC remains current. --- Dave Rand 10232-160 St. Edmonton, Alberta CANADA T5P 3E9 (403) 484-4114 04/16/84 Bob, Got your sugggestions/bug reports... Here is a short reply.. 1. With regard to R/O on (C)opy command - This is correct. I had originally put in the disk reset, and then took it out. Reason - Takes TOO LONG! on floppy based systems, especially when you want to copy more than one file. If enough people beat me hard enough, I will put it back in. 2. As of version 2.04, USQ should change the case of SQ'ed files back to upper. 3. I will take care of the R/O on delete after mass on next revision. Look for NSWP206 after the end of the month. Now on to the suggestions... 1. NSWP will never, ever have any LBR features. Jim Lopushinsky has released a utility that works BOTH on ARChives and on LBRs, and he does it SO much better than I could have. His utility, called LBRDISK, makes a virtual drive out of a LBR/ARC file, thus creating subdirectories, with no limit other than RAM. Neat stuff, and I highly recommend it! 2. BISHOW has its place, and I don't think it would be worth it to put it inside NSWP (which would increase the size by at least 1K). 3. COPY does have the V option for verify already. I have considered adding some other PIP functions, but high on my list is file concatanation. I will try to add those functions Real Soon Now. 4. Boy! Do you think of these at night? Need a survey on this one. A lot of people pressured me into KEEPING the original tags, including R/O. This will add about .1-.2K to the file. 5. CRC on tagged files... Hmmm... what a concept! Since I have CRC code in already.... tag this one with Real Soon Now. 6. DU: form on entry... look for it in NSWP206. 7. This one, no. I HATE worrying about status of files. If destination is R/O, and you are copying over it, you REALLY want to. Same for rename. Delete is the only case that you SHOULD be warned, because you might NOT know that the file is R/O (but with Rev. Video tags now....) 8. A*:*.QQZ - I like it... Look for this one in 206 or 207. 9. Exception masks are ok... Look for !*.COM wildcard first, then maybe on login as well - 207 or 208. 10. Ok, on this one, a definate maybe. I sorta like the idea of single file tags, but... what can I say. That changes the basic commands, and I DON'T like that. Consistant, these commands aren't. But they are standard. 11. Vfiler output - I am getting a LOT of heat on this one. I will try Real Soon Now to get that started. Look around 210 or so. 12. Disk resets - Even Big Systems have a floppy or two. BUT, I will be looking real hard at the DPB's and see if there is enough information to decide if I can pick out devices that need resetting when you try to access them. CPM3 is my big block, on this one. 13. Sorry - This one, no can do. I can't keep device independent enough to run on 2.2, 3.0 and mpm, to say nothing of Turbodos... 14. You missed one. If you tag/squeeze a file to the same drive/user group you have specified, the new file DOES NOT show up in the directory list until the next LOG. I tried, briefly, in NSWP203 to auto-log after a mass sq/usq, but... of course you loose all tags. No one was happy. I can't show file space until after I do a directory scan, and I can't do a directory scan... you get the idea. I will work on it, though. Thank you for your suggestions, and I will implement them ASAP. A lot of my free time has been taken up with NSWP86, which is now done. If you note my comments on LBR - you will find I don't like LBRs very much. ARS were my first love, and still are. LBR has a ways to go in terms of utilities and flexibilty to catch up to the ARC series. Do check out Jim's utility though, since it works very well, and fast to boot! Following is a yet still unsolved question on NSWP: --------------------------------------------------- Dave Rand 10232 - 160 Street Edmonton, Alberta Canada T5P 3E9 (403) 484-4114 03/21/84 A few days ago, I had a call from a mildly irate user of NSWP2. He claimed that NSWP failed on the 'X' command, and proceeded to tell me why. I can find no reason behind his logic, so here it is... if someone has an idea, PLEASE let me know! In NSWP, I don't jump to zero when I exit. Instead, I do what amounts to a return to the CCP. The actual code involved goes like this... XTHL ;get contents of (SP) into HL SHLD CCPRET+1 ;save it as part of a JMP instruction LXI SP,STACK ;and move stack local later on, when I want to return to CP/M, I use: CCPRET: JMP 0000h ;to be filled in The users' system was a heavily modified CPM 2.2 system, that included bank selected memory. He says, however, that had I have done things 'correctly', I should have used the following code: lxi h,0 ;offset zero dad sp ;from stack pointer shld CCPSTK+1 ;and save old stack address LXI SP,STACK ;and move stack local and to return to the CCP: CCPSTK: lxi SP,0 ;to be filled in ret ;get back! Now... You know, and I know, that JMPing to the address on the top of the stack is EXACTLY the same as RET'ing, except that I don't preserve the stack. But DR's CCP, along with all CCP replacements, ALWAYS use the code: CALL 100h ;execute transient program LXI SP,LOCS ;restore stack, in case we get back. except for CPM 3.0, which uses LXI H,0 ;return address of warm boot! push h jmp 100h ;execute transient What I think, is that his CCP (which has been modified by him), DOES NOT do the LXI SP. However, I am open to suggestions. By the way, he is the ONLY user (from the 50 or so that have contacted me) that has reported this problem. I am mystified. He claims that the LXI SP is there. If that is the case (which I don't believe), magic must be occuring. If anyone can explain to me the difference between the JMP and the RET, I would forever be in your debt! Thanks in advance... Dave Rand