Post Reply 
Portable Plus - Additional RAM
03-23-2015, 09:08 PM
Post: #21
RE: Portable Plus - Additional RAM
(03-23-2015 07:07 PM)Dave Frederickson Wrote:  I can burn you a set of Squish Plus EPROMs (see back cover).
A resident file compressor sounds like an even better solution, but will it work when the Squish device driver consumes 36 KB resident memory by itself and Martin reports that there are only 15 KB left under TCC? Is the ROMed version of Squish implemented as XIP so that its RAM utilization is much smaller?

Greetings,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
03-23-2015, 09:38 PM
Post: #22
RE: Portable Plus - Additional RAM
(03-23-2015 09:08 PM)matthiaspaul Wrote:  
(03-23-2015 07:07 PM)Dave Frederickson Wrote:  I can burn you a set of Squish Plus EPROMs (see back cover).
A resident file compressor sounds like an even better solution, but will it work when the Squish device driver consumes 36 KB resident memory by itself and Martin reports that there are only 15 KB left under TCC? Is the ROMed version of Squish implemented as XIP so that its RAM utilization is much smaller?

Greetings,

Matthias

Squish Plus isn't an executable, it's a device driver that creates a compressed drive, like Stacker and DriveSpace. More RAM will need to be allocated to main memory in order to use this tool with TC1.5.
Find all posts by this user
Quote this message in a reply
03-23-2015, 10:48 PM
Post: #23
RE: Portable Plus - Additional RAM
(03-23-2015 09:38 PM)Dave Frederickson Wrote:  Squish Plus isn't an executable, it's a device driver that creates a compressed drive, like Stacker and DriveSpace.
I see, that's what I assumed as well. (It long predates the DOS preload API, but this doesn't really matter in regard to the general functionality of such a device driver.)

However, there are two basic modes of execution for code stored in ROM. If the software was developed with a clear line between code and data segments and its image is either small enough or modular to be separated into "overlays", the software can often be adapted to execute out of the (possibly paged) ROM, that is "execute in place", with only a tiny fraction of RAM being allocated elsewhere for the necessary runtime data. This keeps the DOS memory footprint very small, but it requires some adaptations to the software. If such adaptations are not possible, or code and data are intermixed for other reasons (f.e. in the case of patchable, self-modifying or otherwise highly dynamic or highly size-optimized code), the software may be still stored in ROM, but it needs to be copied to RAM before execution. In this case, the DOS memory footprint is considerably higher and not different from the footprint of software loaded from disk - apparently 36 KB for Squish Plus (according to the Portable Paper advertisment). That's why I was asking how the ROMed version of Squish Plus is implemented.
Quote:More RAM will need to be allocated to main memory in order to use this tool with TC1.5.
Do you know how much memory needs to be reallocated this way?

Greetings,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
03-23-2015, 11:49 PM
Post: #24
RE: Portable Plus - Additional RAM
Martin mentioned that he allocated just about 400 kB of RAM for main memory.
Since 512 kB are possible, there shouldn't be a main memory bottleneck even if the Squish device driver takes 36 kB.

I just have tested LZEXE (exe-file compression tool from 1990 ) in DOSBox. It reduces the TCC file size by 50 % ! The increase of the size of the executable in RAM is neglectable ( a few hundred bytes ). LZEXE was famous for its high compression rate. I guess Squish won't be able to compress EXE-FILES that efficiently. On the other hand, it certainly is much more comfortable to handle. Therefore I am looking forward to your files or ROM image, Dave!

The optimal strategy ( for saving electronic disk memory ) seems to be:
- compress TCC along with linker, make.exe and other executables using LZEXE and burn the result into an EPROM
- install Squish and use A: as a compressed drive.

But we have to consider that some executables won't work when compressed, e.g. Turbo Debugger.
( It checks its own file size on disk ).
Probably Squish can be configured so that it doesn't compress the whole drive, but only a given folder (=virtual drive ?)
Find all posts by this user
Quote this message in a reply
03-23-2015, 11:56 PM (This post was last modified: 03-24-2015 01:41 AM by Dave Frederickson.)
Post: #25
RE: Portable Plus - Additional RAM
(03-23-2015 10:48 PM)matthiaspaul Wrote:  how the ROMed version of Squish Plus is implemented.

There's nothing special about how Squish Plus is implemented. It's the same for all PP ROM's. The ROM's are simply read-only images of a RAM drive and they appear to the system as drive B:.

(03-23-2015 10:48 PM)matthiaspaul Wrote:  
(03-23-2015 09:38 PM)Dave Frederickson Wrote:  More RAM will need to be allocated to main memory in order to use this tool with TC1.5.
Do you know how much memory needs to be reallocated this way?

I would guess 20k would be the minimum, but since there's 112k available I'd allocate all of it.

Now what might be interesting is can we create a set of ROM's from a compressed drive?

Note: I helps to be familiar with the TRM and the VGER document. Both are available from J-F's site.

Dave

Here're the Squish Plus EPROM's.
Find all posts by this user
Quote this message in a reply
03-24-2015, 09:00 AM
Post: #26
RE: Portable Plus - Additional RAM
Thank you Dave for sharing!
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)