SoftRAM 95 News

Last updated: November 24, 1995
by Andrew Schulman
Senior Editor, O'Reilly & Associates
andrew@ora.com


Well-Disguised Compression Code?

Rainer Poertner of Syncronys has asserted that the reason no one has been able to locate compression code in SoftRAM is that the code is "disguised" in order to protect what Syncronys calls its patent-pending technology. Interestingly, I recently received an anonymous email along these lines:
From: 	anonymous@mediacom.com[SMTP:anonymous@mediacom.com]
Sent: 	Saturday, November 18, 1995 2:43 PM
To: 	andrew@ora.com
Subject: 	SoftRAM report - you are a bad boy.

Andrew,

I know more about SoftRAM than you do.

For you to slander a product that is being used happily and effectively by
over 650,000 seems at the least odd, and makes many of us wonder what your
motives are. Your writing is decidedly negative and is hardly objective.

DataQuest and XXCAL  just did a user survey and an in-house test, both of
which confirmed that SoftRAM 3.1 and 95 do in fact compress RAM. There is
absolutely compression code in there that is well disguised.

You write this:
 Just following this function there is about 3k of object code (around 
   a thousand lines of disassembled listing) in one procedure that isn't
   referenced anywhere. **** I haven't analyzed this section fully, but I 
   suspect that this might be the compression code. It does seem to be 
   dealing with 4k blocks of memory quite freqently.*****

...but then you say "It's bad enough that a product called "SoftRAM 95" does
not do anything in Windows 95."  How can you say this when even you admitted
to have found something that is compression code.
Actually, I did not write the passage quoted, which comes from "Analysis of disassembled code in SOFTRAM2.386", which was posted anonymously. However, everything I've seen in my own disassembly of SOFTRAM2.386 is consistent with this posting.

At any rate, the author of the anonymous email, who claims to know a lot about SoftRAM, seems to be asserting that this 3k block of unidentified code in SOFTRAM2.386 is, in fact, the supposed compression code: "even you admitted to have found something that is compression code."

Now, the analysis of SOFTRAM2.386 clearly states that the 3k block of code "isn't referenced anywhere." In other words, the code is never called. So what it would do were it called is a moot point.

However, it is important to confirm that the code is indeed never called. Richard Smith of Phar Lap Software has suggested a good test for this: take the code, zero it out in a debugger, and see what happens.

Now let me now quote from Dr. Mark Russinovich (University of Oregon):

From: 	mark eugene russinovich[SMTP:mer@majestix.cs.uoregon.edu]
Sent: 	Tuesday, November 21, 1995 8:27 PM
To: 	Andrew Schulman
Subject: 	Conclusive experiment

Richard suggested the other day that a final "nail in the coffin"
experiment with SoftRAM would be to take that 3170 bytes of
code that looks like it _could_ be compression code, and
zero it out in a debugger and see what happens.

I've done just that, and am writing you this letter from
my Win3.1 PC, zeroed out SoftRAM "compression" and all, with a dozen or
so open apps (some big ones, too) putting along without so much as a hick-up
(this is with a temporary DOS swap file, too). 

Hmmm...what will Poertner think of to attack this experiment?

In any case, it looks like a completely closed case to me....

-Mark
And here's another experiment, conducted independently by someone else:
Yeah, I had done that, but instead I filled it with HLT instructions
(0xF4) just so I would know for sure, instead of repeatedly executing
add [bx+si], al (or whatever that is in 386 code). No difference.
Ran it for about a day before de-installing it.
So much for the SoftRAM "compression code." There's an old joke in the software industry about a company that was seeking funding for their incredible new compression technology: "It can compress any arbitrary amount of data down to a single byte. However, it's important to note," they told a venture capitalist, "that the corresponding decompression product is still being worked on, and its delivery date is unclear." Perhaps this is the sort of revolutionary new technology Syncronys has.

SoftRAM 1.03

There are different versions of SoftRAM, and some questions have come up regarding SoftRAM 1.03. Here's another letter from Mark Russinovich:
From: 	mark eugene russinovich[SMTP:mer@majestix.cs.uoregon.edu]
Sent: 	Tuesday, November 21, 1995 10:14 PM
To: 	Andrew Schulman
Subject: 	Analysis of Softram 1.03

Well, I've finished the analysis of SoftRAM 1.03 (the VxDs and 
the look and feel) and it turned out to be MUCH easier than I expected. 
I think this directory listing will speak for itself:

Softram V 2.00:
SOFTRAM1 386        14,562  08-09-95  1:00p SOFTRAM1.386
SOFTRAM2 386        23,633  08-09-95  1:00p SOFTRAM2.386

Softram V 1.03:
SOFTRAM1 386        14,562  05-08-95 12:00p SOFTRAM1.386
SOFTRAM2 386        23,633  05-08-95 12:00p SOFTRAM2.386

If the file sizes look coincidentally similar, its because the
files are byte for byte identical. The user interface is the
same control panel we all love, but with less professional looking
fonts. 

I haven't analyzed softram start, yet, but an obvious difference
is that it (sr-start) iconifies on the desktop after displaying the
splash screen. Clicking on it yields an "application violated system
integrity and must be shut down" message. 

What I find most interesting (other than the fact that softram v 1.003
and softram v 2.00, released 3 months apart have identical non-functioning
VxDs) is the readme.wri file. It contains most of the same things that
are in the V 2.00 manual including some sections that aren't there. My
favorite is the following section, excerpted from the trouble shooting 
section of the document:
----------------------------------------------------------------------

The amount of Free Memory is too Low?

If the displayed amount of free memory appears to be too low, then try 
changing your virtual memory hard disk file to a temporary virtual 
memory file setting. This can be done via the Window's Control Panel 
(386 Enhanced section - select change virtual memory) or by directly
editing the SYSTEM.INI file as described above. You must reboot
Windows for any of the virtual memory settings to take effect.

If you are using either 32-bit file access or 32-bit disk access,
then the displayed amount of free memory may also appear to be too low if the
cache size of the virtual memory file setting is too high. To correct
the problem, reduce the cache size setting for the virtual memory file.
This can be done via the Window's Control Panel (386 Enhanced section -
select change virtual memory). You must reboot
Windows for any of the virtual memory settings to take effect.

----------------------------------------------------------------------

Well, that's what I've got so far. It looks like they have been running
with the same bogus setup since May 8 - amazing...

-Mark

The XXCAL Report

Syncronys makes much ado about a report issued by XXCAL. The following comes from a message that Rainer Poertner of Syncronys posted to the WINUSER section of CompuServe:
The 3.1 version works flawlessly as has just been confirmed by an
XXCAL, Inc. Testing Laboratories test, the largest testing lab in
the world. Following is a summary of the test:

Benchmark Testing was conducted on a variety of systems using
Syncronys' SoftRAM95 under Windows 3.1 and 3.11 environments. XXCAL
is a world leader in compatibility, certification and functionality
testing for software products. A copy of the full report is
available on request from the company.

The results were summarized by XXCAL as follows:

"Under the Windows 3.1 and 3.11 environments, Syncronys Softcorp's
SoftRAM95 (v2.001) increases RAM dramatically. The results show that
SoftRAM95 effectively doubles system RAM (i.e. from 8MB to 16MB) in a
manner that is equivalent to adding more physical RAM. The tests
show that SoftRAM95 enables Windows to run faster, to run more and
larger applications concurrently and to load larger data files.
Various Windows applications were utilized to perform this
benchmark."

The Windows applications utilized to perform the benchmark include:
CorelDRAW 5.0, Drafix 3.0, Excel 5.0, MS Office 4.2, Pagemaker 5.0
and Word 6.0.

These positive results from XXCAL demonstrate clearly that our core
technology delivers a substantial and measurable benefit to our users
running Windows 3.1. These users are by far our largest target
market. We are confident that the Windows95 upgrade version will
deliver equally impressive performance once it is released."
But XXCAL appears to now be pulling back from its original hearty recommendation of SoftRAM. I've received the following report from someone who talked at length with XXCAL representatives at Comdex:
I received a second copy of the XXCAL report Monday from 
Syncronys' PR firm, Smith Public Relations. This followed a conversation 
at Comdex with Troy Sukert, XXCAL's Technical Manager....

The original copy of the report contains the outrageous language that
Raniner quotes. That section is gone in the second report.
The report is somewhat reorganized, now has 3 sections, and the bulk
of the first version of the report is section 2 - "Benchmark
Results." Section 3 - "Test Documentation; 'Test Anomaly Report' and
'Change of Scope'" is in the TOC but not included. Section 1 is
short, and contains the following two paragraphs (I made no typos;
it's actually the way I'm typing it):

"The product SoftRAM95 when testing on Windows 3.1x showed that it
performed as well as a system that had 16MB RAM. Of course this
statement must be tempered with the a caveats -- principle among
which is the notion of some high performance image processing
applications such as Photoshop.

It should also be noted that the systems conditions under which the
tests were performed was somewhat austere; a 4MB size swap files was
used both when the; although some additional data was captured using
the case where SoftRAM95 had never been installed; with a default
swap file of size approximately 19MB. I draw no conclusions from this
additional bit of data, but only provide it for completeness."
Aside from the curious use of the English language, there are several noteworthy points in this quotation from the new XXCAL report:

Growing the Swap File

An interesting post from Richard Smith of Phar Lap to the WINUSER section of CompuServe:
Speaking of Comdex, I stopped by the Syncronys booth at Comdex and
saw the demo of SOFTRAM. Two identical HP computers were set up, one
running SOFTRAM, the other was not. The purpose of the demo was to
show that SOFTRAM allows more programs to run under Windows 3.1 than
on a system that does not have SOFTRAM. The Synchronys technical
support people were very helpful and showed me the size of the
Windows swap files using the DOS DIR command after running the canned
SOFTRAM demo. Lo and behold the SOFTRAM system had a 13 megabyte
swap file while the system without SOFTRAM had only a 5 megabyte swap
file!

My question: Isn't the reason that the system with SOFTRAM was
able to run more programs simply because it had a larger swap file
than the system without SOFTRAM? Also why does the SOFTRAM gague
claim the amount of virtual memory is 5 megabytes in size when in
fact the size of the swap file is 13 megabytes? And finally why was
the system without SOFTRAM able to run the same applications as the
system with SOFTRAM once the system without SOFTRAM was given the
same 13 megabyte swap file by the Syncronys technical support person?

NOTE: I have done some paid consulting for Connectix, whose RAM Doubler product competes directly with SoftRAM.

The O'Reilly Windows Center

Unauthorized Windows 95 Update