I am running NewViews 1.41b (an accounting program) on vDos 2015.04.10 because running it on a later version causes a “Packed file is corrupt” error when I try to open the “books.” I understand this is because vDos 2015.04.10 disables the upper 64KB of memory while later versions do not. Is there a workaround that would enable me to run my program on the latest version of vDos?
I take this opportunity to thank you for this wonderful piece of software.
It’s not the upper 64KB, but the first 64KB of DOS memory. Someone once decided to give your NewViews program a smaller disk footprint by creating a self-extracting packed executable. This was done by an early and faulty MS ExePack utility, resulting in the “Packed file is corrupt” error when it loads some part in the first 64KB.
You can unpack the NewViews program by attached UNP program, to be started in vDos. It doesn’t really matter if NewViews gets 100KB (whatever) bigger with your multi GB drive. But it will run and load faster.
I'll report here the results of using UNP.EXE to fix the problem of an “Unpacked file is corrupt” error when running NewViews 1.41b under vDos2019.05.01, as stated in my original message. I apologize in advance for the length of this post.
NewViews (an accounting program) is started by NV.EXE which opens a shell with options to open a set of books, backup and restore those books, check for errors and set program options, among other things. All versions of vDos can open the NewViews shell and perform most of those actions except opening a set of books. This option produces the “Unpacked file is corrupt” error in versions of vDos where the first 64KB of DOS memory is not disabled.
When the user selects “Books” from the NewViews shell, control is passed to an executable called NVC.EXE and it is this file that reports the error mentioned above. Running UNP with the i[nfo] switch shows that NVC.EXE's file size is 68,679 bytes, header 512 bytes, image 68,167 bytes, overlay 0 bytes, and that it was processed with the infamous EXEPACK ver. 4.05 or 4.06. So NVC.EXE appears to be the culprit.
I expanded NVC.EXE with UNP and it increased in size to 77,408 bytes. I then ran NewViews again under vDos2019-05-01. The shell opened as usual and I selected “Books” from the menu. A box opened listing the directories in which sets of books are located and I selected one. This is the point at which the “Unpacked file is corrupt” error message always popped up, but this time it did not. However, the expected password-entry box did not appear either and the program froze, apparently waiting for a response which I couldn't give. BREAK and CTRL-BREAK had no effect. I used Task Manager to close the program.
I should say that this is no great disappointment. NewViews appears to run fine on vDos2015-04-10. I'll continue testing it until I'm assured that data integrity is being preserved, then switch to it completely. No more squinting at those tiny DOS boxes in virtual Win XP mode or on 32-bit machines. Thanks again to the developer(s) of this marvellous software.
UNP already states “UNP can do just about anything with files. This definitely includes messing up your files.”. Don’t think UNP is actually to blame, NVC probably loads NV.OVL as a memory image of executable code, but doesn’t relocate relative memory addresses.
For at least this version of NV, NV.OVL was once setup/created to only work with the EXEPACKed NVC.exe (to fight off cracking its code?). So the unpacked NVC.EXE will never work, no matter what vDos (or Windows) version.
You'll have to use the original NVC.EXE. Before starting NV, execute attached EATMEM (EATMEM 64), so the first 64KB of DOS memory is no longer available.