From: French Luser Newsgroups: comp.os.cpm Subject: Re: What's the difference? Date: Wed, 18 Oct 2006 13:41:40 +0200 Message-ID: References: <452106c6$0$27382$ba4acef3@news.orange.fr> <1159800668.846133.265440@b28g2000cwb.googlegroups.com> X-Newsreader: Forte Free Agent 3.3/32.846 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 0642-0, 17/10/2006), Outbound message X-Antivirus-Status: Clean Lines: 124 Organization: les newsgroups par Orange NNTP-Posting-Date: 18 Oct 2006 13:41:42 CEST NNTP-Posting-Host: 80.11.65.178 X-Trace: 1161171702 news.orange.fr 5105 80.11.65.178:60494 X-Complaints-To: abuse@orange.fr Hello, "Old Timer (John)"! Many thanks for pointing me to VCOMP. Last night, I tested it. Read below what I did. Would you mind telling me/us what more you can say about VCOMP? (What is the size of the biggest file you compared?) Yours Sincerely, "French Luser" VCOMP.TXT --------- Ok. I have finally had enough time to try the VCOMP program mentioned by "Old Timer (John)" in response to my "What's the difference?" message. VCOMP stands for "Visual Compare". I found Version 1.52 on the Internet, made by one John R. Whitney in 1992. The MS-DOS EXE file is 30 KB, but I suspect that it is a self-expanding program, since I saw strange-looking message strings when I dumped it. Among other things, I found that it works under MS-DOS 2.1+, has a maximum line length of 2,048 characters, and a maximum number of lines of 16,368 lines. Somewhere, the doc says: "Visual Compare keeps the contents of the files you are comparing in memory. Visual Compare can use up to 4 Megabytes of DOS memory." So, I copied twice the source code of ASM-86, but I got the error message: "Out of memory". I then reduced both files to be 16,368-lines long: same error message. I then continued reducing both files, until I reached 15,000 lines and quit: Visual Compare was still unable to deal with them, even when they were only 222 Kilobytes long. I then tried VCOMP with a smaller size of files. Remembering LLLFPP (the Lawrence Livermore Laboratory Floating-Point Package that was mentioned a few days ago in the comp.os.cpm Newsgroup), I decided to have a go. You may remember that there are at least 3 versions: 2 from Volumes 2 and 10 of the CP/M User's Group "Software Library", and 1 that I retyped. The first 2 are about 62 Kb in size, while mine is about 42 Kb. After a few trials and re-reading the provided doc file the appropriate number of times, I finally understood a little how it works. It is, for sure, a change from line-oriented programs! It also use quite a lot colors, while I almost never use them, since I started with a daisy-wheel printer (which had, in fact, some bi-color capability, but I never used it). If you type VCOMP on the command line, you get a screenful with some information. You are supposed to type the filespec of the the first file, use the key to go where to type the filespec of the second file, then either press ENTER or re-use the to go to the "Options" line, etc. The other way is more CP/M-like, as a command line. You type VCOMP filespec1 filespec2 /options. I could not find any interesting option, so just used the defaults. There are several mentions of a "composite file", but I have not reached this level, so far. (Apparently, it is a file made with the first file and the line(s) differing from the second file.) One important key is the F6 key: it enables you to see 1) file one, 2) file two, or 3) both files. In this latter case, another Function key appears, F9, which enables you to display them side-by-side (you also have the option of displaying them one above the other). One curiosity is that, while displaying both files with F6 (before you press F9), the common contents of both files are displayed in white chars, while the line(s) differing from file 1 and file 2 are displayed in different colors! (Both filespecs are shown, on the title line. That's the only difference. There is not a status line, like with WordStar.) It took me quite a while you understand this way of doing. I prefer the side-by-side display, but it is slower to scroll. So, I simply typed VCOMP FPVOL2.ASM FPVOL10.ASM, then pressed the F9 key to see them side-by-side. When you display a file only, the key works, so you can scroll quickly up and down. But, when you display 2 files side-by-side, only the key (one line up) works, so the scrolling is much slower. In the present case, the differences between the LLLFPP found in Volumes 2 and 10 are displayed on the screen in different colors, with the common code in white characters. At a glance, it is thus obvious that they are almost the same: only the EQUates at the beginning, and a ORG at the end, are different. However, when I tried VCOMP with my version, it was totally confused, and could not recognize a single common line with the 2 old files, despite the fact that the code is 99% identical! (It seems totally confused by the comments (";") lines of an assembly language program.) So, I think that VCOMP was used to compare high-level source code files, not assembly language files. I could not find a way to tell it to skip the EQUates at the beginning, then to concentrate on the labels and mnemonics. Among the doc, it is also mentioned that "Visual Compare (...) produce a shortest possible sequence of insertions and deletions that will convert FILEONE to FILETWO." So, this seems to be the goal of this program: to synchronize 2 high-level program source codes. (Why not simply copy the last file?) I have not yet decided if I am going to write a COMPASM.BAS program. At least, the VCOMP doc file gives the reference of the algorithm used. Yours Sincerely, "French Luser" EOF