Alacrity 2.0 MSDOS

edited June 2022 in Software
Here is a Kryoflux dump (using a 48tpi drive) of the 360kb floppies of Alacrity 2.0 for MSDOS. I've also dumped the "Key Disk" with Transcopy 3.3 as it uses SuperLok copy protection and I've never worked out how to write back this protection scheme with DTC.

The key disk works fine when written to a floppy under Transcopy 3.3 but I can't seem to workout how to install everything else to the hard disk and get the software running. Any help most appreciated. Here is the temporary link. Once working I'll add to archive.org.

https://www.mediafire.com/file/wfm8yuctn1kowxo/Alacrity.zip/file

Comments

  • Thanks.

    But all KF images do not have odd tracks.
    I hope you to dump perfect dump with all tracks (0-41)
    I wonder Key disk is not modified.
  • edited June 2022
    Ouch. The Kryoflux Track Distance parameter needs to be changed to disable double-stepping so all 40 tracks are dumped, and redump all of the disks.

    It is important to sanity check kryoflux preservation dumps to ensure they contain what you expect.
  • Sorry yes. I seemed to see this after I uploaded. I’ll redump removing double-stepping and upload again.
    Regards,
  • Here is the new dump. Let me know if you work out the install process to install to hard drive? https://archive.org/details/alacrity_202206
  • Thanks.

    The problem is that ALACRITT.COM says "please insert key disk"
  • Yep. That's the problem I have. Its strange as the installh.com file does not seem to install any of the other floppy disks. I've copied all the floppies to a directory and extracted all the file into that directory and run the install program but it still get the same error. It would be good to locate a manual for this software but I've not been able to find much info online.
  • Superlok seems to be installed on HDD as screenshot.



  • Could this be the key disk is damaged?
  • edited June 2022
    *Original Copy Protected Disk Area (Before Installation)


    3 0 0 3 0 1 512 MFM
    3 0 1 3 0 6 512 MFM
    3 0 2 3 0 111 1024 MFM CRC-DATA
    3 0 3 3 0 2 512 MFM
    3 0 4 3 0 7 512 MFM
    3 0 5 3 0 72 1024 MFM CRC-DATA
    3 0 6 3 0 3 512 MFM
    3 0 7 3 0 8 512 MFM
    3 0 8 3 0 4 512 MFM
    3 0 9 3 0 9 512 MFM
    3 0 10 3 0 5 512 MFM

    5 0 0 5 0 1 512 MFM
    5 0 1 5 0 6 512 MFM
    5 0 2 5 0 135 1024 MFM CRC-DATA
    5 0 3 5 0 2 512 MFM
    5 0 4 5 0 7 512 MFM
    5 0 5 5 0 72 1024 MFM CRC-DATA
    5 0 6 5 0 3 512 MFM
    5 0 7 5 0 8 512 MFM
    5 0 8 5 0 4 512 MFM
    5 0 9 5 0 9 512 MFM
    5 0 10 5 0 5 512 MFM

    19 0 0 19 0 1 1024 MFM CRC-DATA
    19 0 1 19 0 2 1024 MFM CRC-DATA
    19 0 2 19 0 3 1024 MFM CRC-DATA
    19 0 3 19 0 4 1024 MFM CRC-DATA
    19 0 4 19 0 5 1024 MFM CRC-DATA
    19 0 5 19 0 6 1024 MFM CRC-DATA
    19 0 6 19 0 7 1024 MFM CRC-DATA
    19 0 7 19 0 8 1024 MFM CRC-DATA

    20 0 0 20 0 1 1024 MFM CRC-DATA
    20 0 1 20 0 2 1024 MFM CRC-DATA
    20 0 2 20 0 3 1024 MFM CRC-DATA
    20 0 3 20 0 4 1024 MFM CRC-DATA
    20 0 4 20 0 5 1024 MFM CRC-DATA
    20 0 5 20 0 6 1024 MFM CRC-DATA
    20 0 6 20 0 7 1024 MFM CRC-DATA
    20 0 7 20 0 8 1024 MFM CRC-DATA


    *Modified Copy Protected Disk Area (After Installation)

    3 0 0 3 0 1 512 MFM
    3 0 1 3 0 255 512 MFM DUP
    3 0 2 3 0 6 512 MFM
    3 0 3 3 0 255 512 MFM DUP
    3 0 4 3 0 111 1024 MFM
    3 0 5 3 0 2 512 MFM
    3 0 6 3 0 255 512 MFM DUP
    3 0 7 3 0 7 512 MFM
    3 0 8 3 0 255 512 MFM DUP
    3 0 9 3 0 72 1024 MFM
    3 0 10 3 0 3 512 MFM
    3 0 11 3 0 255 512 MFM DUP
    3 0 12 3 0 8 512 MFM
    3 0 13 3 0 255 512 MFM DUP
    3 0 14 3 0 4 512 MFM
    3 0 15 3 0 255 512 MFM DUP
    3 0 16 3 0 9 512 MFM
    3 0 17 3 0 255 512 MFM DUP
    3 0 18 3 0 5 512 MFM
    3 0 19 3 0 255 512 MFM DUP

    5 0 0 5 0 1 512 MFM
    5 0 1 5 0 255 512 MFM DUP
    5 0 2 5 0 6 512 MFM
    5 0 3 5 0 255 512 MFM DUP
    5 0 4 5 0 234 1024 MFM
    5 0 5 5 0 2 512 MFM
    5 0 6 5 0 255 512 MFM DUP
    5 0 7 5 0 7 512 MFM
    5 0 8 5 0 255 512 MFM DUP
    5 0 9 5 0 72 1024 MFM
    5 0 10 5 0 3 512 MFM
    5 0 11 5 0 255 512 MFM DUP
    5 0 12 5 0 8 512 MFM
    5 0 13 5 0 255 512 MFM DUP
    5 0 14 5 0 4 512 MFM
    5 0 15 5 0 255 512 MFM DUP
    5 0 16 5 0 9 512 MFM
    5 0 17 5 0 255 512 MFM DUP
    5 0 18 5 0 5 512 MFM
    5 0 19 5 0 255 512 MFM DUP

    19 0 0 19 0 1 1024 MFM CRC-DATA
    19 0 1 19 0 2 1024 MFM CRC-DATA
    19 0 2 19 0 3 1024 MFM CRC-DATA
    19 0 3 19 0 4 1024 MFM CRC-DATA
    19 0 4 19 0 5 1024 MFM CRC-DATA
    19 0 5 19 0 6 1024 MFM CRC-DATA
    19 0 6 19 0 7 1024 MFM CRC-DATA
    19 0 7 19 0 8 1024 MFM CRC-DATA

    20 0 0 20 0 1 1024 MFM CRC-DATA
    20 0 1 20 0 2 1024 MFM CRC-DATA
    20 0 2 20 0 3 1024 MFM CRC-DATA
    20 0 3 20 0 4 1024 MFM CRC-DATA
    20 0 4 20 0 5 1024 MFM CRC-DATA
    20 0 5 20 0 6 1024 MFM CRC-DATA
    20 0 6 20 0 7 1024 MFM CRC-DATA
    20 0 7 20 0 8 1024 MFM CRC-DATA


    Track 3/0 and 5/0 are changed.
    Sector 255 seems to be from original content.

    Also VDF0300.VDF is changed.
  • Maybe this requires other software to work with? Framework?
  • Anyone get any further with this?
  • I don't know about anyone else, but I've been swamped lately. If the issue is the superlock copy protection, I have several other software dumps that also use that copy protection and won't run when written back with a Kryoflux. Never did narrow down why.
  • Thanks for replying. Yeah I'm not too happy with KF. I use my CP option board for duplicating software these days as it never fails. I'm thinking of getting an AppleSauce as they seem to be implementing more PC support. Regarding Alacrity, I can't find hardly any info about this program online. Seems its a Framework app but uses superlock for the install. The install is not clear how it exactly installs. Id love to find a manual or something. I think this is accounting software. Its a mystery at present. If anyone know anything about this software please post.
  • "The first managerial expert system, Alacrity was developed by Allstar Advice Inc. in 1985 and 1986 and launched in 1987. by associated company, Alacritous Inc. which later changed its name to Alacrity Inc. It contained a 3,000 rule expert system that used concepts of market life cycle, Porter 5-Forces model, Utterback and Abernathy innovation models, generic strategy, and learning curves to make predictions about market evolution"
  • edited November 2022
    I am trying to get a manual. There is a book about Alacrity from 1989 but it is not publicly available. I'll post what I find.
  • Many thanks. Any information helps trying to workout this software.
  • @AJFA did you manage to find the book? Thanks,
  • This is the book, but I don't think it explains the technicalities of the software.

    Here is the info about the main founder of Alacrity Inc. Maybe he can provide more info.

    Hope this helps.



  • Thanks for the info :)









  • After many trials and tribulations...
  • Amazing work!!! I left this on standby. Floppies are in my storeroom. Do spill the beans. What did you do? :)
  • edited August 6
    This was really convoluted as the program had two layers of protection: SuperLok itself and Alacrity checking for hidden temporary and permanent files. I was helped by Claude's vibecoding.

    The starting point was your KryoFlux dump of Alacrity 2.0, all seventeen 360K program disks plus a Key Disk. The first step was working out what the Softguard SuperLok 3.00 protection actually does, and it turned out the main program does not exist as a whole file anywhere on the media. On the Key Disk it shows up as a hidden 45,568-byte file, ALACRITT.NPA, with two 4,608-byte holes that come out as zeros if you copy the disk with DOS. Those holes are tracks 19/0 and 20/0, reformatted with eight overlapping sectors that claim to hold 1,024 bytes but only carry 600 useful ones each, all with bad CRCs on purpose. Tracks 3/0 and 5/0 carry signature sectors with out-of-range IDs and bad CRCs, there only because they cannot be copied, and those same tracks hold the install counter: INSTALLH.COM reformats them and changes one sector ID from 135 to 229, so the ID is the count.

    Getting the missing 9 KB back meant writing a KryoFlux stream decoder from scratch, MFM decoded by hand with one key property: it keeps the payload of sectors whose CRC fails. It was checked first against a normal track, where every CRC is good. Mapping the eight 600-byte pieces of each track back into the file filled both holes. Three separate instruction seams, at the 0x1200, 0x2400 and 0x3600 boundaries, confirmed the 600-byte stride and the sector order, since a call that straddles the boundary only lines up at that stride. The proof: Softguard's own INSTALLH.COM was run under a small 8086 + DOS emulator built on Unicorn (INT 21h/13h/25h/26h), a real guest IVT, EXEC overlay loading, and a FAT16 volume in drive C: — and the file the installer wrote matched the rebuilt one byte for byte, with zero differences.

    With a correct .NPA, a full install was taken apart. The installed "ALACRITT.COM" is the SuperLok stub, not the program, and the on-disk signature is a hidden directory pushed to the physical end of the volume by a dummy 10 MB file that gets created and then deleted. The stub decrypts exactly the first 0x1000 bytes of the .NPA and jumps in, so it was run twice at different load segments and the two decrypted images were diffed: exactly five words moved, and nothing else changed. Undoing those five fixups and wrapping the base image in a standard MZ header gave ALACRITT.EXE, 45,120 bytes, which DOS can load anywhere (no key disk, no stub, no on-disk signature, no .HCL runtime and no .VDW) and it behaves the same as the protected chain on all four command-line paths. The seventeen program disks have no protection at all, so unpacking their ARC archives, putting back the launchers that were on the Key Disk, and creating the two directories the batch files expect got the product itself onto the hard disk. Framework II 1.1, which the product runs inside, came from the WinWorld library.

    Three more things were needed before Alacrity would actually run. First, the menu entry: Framework has to be told to launch the product, either by starting it with FW D :\ALACRITY\MAIN.FW2/X or by wiring the add-in into the Apps menu, which means editing record 0x3A of FWSETUP — a flat table of one ID byte plus a NUL-terminated string, with an offset table at the front, so changing the length of a string shifts everything after it and breaks the file. (A related trap: the launchers EXEC the program by the literal name alacritt.com, so every menu entry reports "not installed" until you copy ALACRITT.EXE to that name, DOS goes by the MZ signature, not the extension.) Second, SUBST D : C:\: MAIN.FW2 still looks for the factory drive letter D : in its FRED variables, and patching those two bytes fails because .FW2 files have an integrity check, so the clean fix is to make D : exist. Third, memory had to be freed: Alacrity "consults" a module by EXECing it as a child process, and with only 281 KB free in my 86Box emulation, those EXECs fail and produce a wall of can't consult module errors. Trimming SETVER, COUNTRY, DISPLAY.SYS, the code-page lines, KEYB, the mouse driver and DOSKEY, and adding EMM386 with DOS=HIGH,UMB, took free conventional memory to 613 KB plus 256 KB of EMS. With that, the product comes up under Framework II 1.1 on an 486/33, from the Alacrity main menu through the various expert system, still with some minor errors.
Sign In or Register to comment.