Jump Development Banner

RC Icon

RAM Charger 8 For Macintosh
Home | Search | Support | Contact | Download | Order

 



Export file for RAM Charger individual application settings


 

(Tech0013A -- 06/10/98)

 

Exchanging RAM Charger Settings For Individual Applications

Starting with RAM Charger 8.1b1, the RAM Charger Settings application "File" menu includes new "export" and matching "import" items. These items save and restore the settings for an application - one application's settings per file. An application must be selected before these items are available.

Why the new feature?

It is our desire that every application work perfectly, and most efficiently, with the default settings that RAM Charger creates. In pursuit of this objective, RAM Charger does have its own built in "mini-wizard" that makes automatic adjustments. However, the reality is that some applications require special settings, beyond the min-wizard's abilities, to operate most efficiently (Fine Tuning Applications).

Application users and application developers are best qualified to fine tune settings for applications since they have more knowlege about, and interest in obtaining, the best settings. This new provision will allow the exchange and distribution of settings by users, thus helping avoid users duplicating efforts.

Also, there are more settings, and logged information, about applications in the settings than can be made available in the standard "RAM Charger Settings" application interface. Already, this interface is pushing the complexity most users are willing to tolerate. However, there are always power users who are willing to take the time to delve a bit deeper - especially application developers. Unfortunately, the RAM Charger Preferences file, wherein application settings are stored, contains complexities that preclud direct editing (complex interaction between resources using "lookup tables", and other obscure techniques for dealing with application versions and settings "undo"). The "export" file allows editing of inividual application settings.

Intended usage

It is our hope that experienced RAM Charger users will configure an application using the wizard and their own expertese. During the process an advanced user may discover the need to export the settings, make modifications using Resorcerer that could not be made using RAM Charger Settings, and import the settings back in for further testing and fine tuning. If any particular special settings were required, they might make notes, and export the settings for distribution to other users. Exports might be mailed directy to customers, peers, or submitted to Jump Developmment Group to be made available on our web site.

End users would then be able to obtain the settings and examine the comments using SimpleText. Should they like what they have read, they could Import the settings to obtain better configuration for a particular application.

One application, one file...Why?

It is very difficult to determine exactly which settings apply to which application. This is because even one application, from one developer, can vary greatly in memory requirements and settings across subsequent releases. As a result, it is very difficult to collect a number of settings for various applications within one file, and be sure that they are applied to the right applications. Rather than attempt to be smart enough in a difficult situation (and ultimately fail in some case), we have elected to export one group of settings to each file, and have the user select which application will assume those settings when "Imported". Though it would be nice to distribute settings for a number of applications in one file, we did not find this feasible.

File format

The export file is intended for use in three applications: SimpleText, Resorcerer, and then import back into RAM Charger Settings. Opening the document with any other application may create resources that might make the file unusable - unable to "import" into RAM Charger Settings.

Data Fork  

The data fork, which is ascii text, should be edited in SimpleText.

<Free Format Comment >
Notes:
<Application Notes>

You may enter any comments you like in the "<Free Format Comment>" section. This is intended to be read by the end user to decide what the file is for, who created it, and why they should use it. The "Notes:" must appear on a line by itself so RAM Charger settings can determine where the "<Free Format Comment>" ends (otherwise, the entire data fork will be "<Application Notes>"). The " <Application Notes>" will be prepended into the user's "Notes" in RAM Charger Setttings for the application when "Import" is used.

Opening the "data" fork in any editor besides SimpleText may add resources which may need to be removed in a resource editor to allow import into RAM Charger Settings. RAM Charger Settings is reasonably tolerant, but does apply some constraints to avoid reading an inappropriate file.

Resource Fork

The resource fork contains three resources, and should be editied in Resorcerer. You may edit this in any resource editor, however the TMPL is only provided for Resourcerer. If someone knows how to create the template for ResEdit, or some other editor, feel free to send it to "RAMCharger (at) RAMCharger.com".

'SiZe' 0 - Contains the actual settings for the application.

TEXT 128 - Comments for resource editing users, ignored on IMPORT.

TMPL 129 "SiZe" - A Resourcerer template that aids in editing the SiZe resource.

The SiZe Resource

The SiZe resource contains that most important information, which is all the settings and logged information. The format of this resource is given in the TMPL 129, and here are the details:

Name

The resource name contains the application creator code followed by the name and version of the application from the machine where it was exported. The creator code is compared to the selected application during import, and a warning dialog is presented shwoing the application name and version if the creator codes differ.

Data

If anyone ever reads this and wants more info that this table contains, contact RAMCharger (at) RAMCharger.com ans we will embelish the fields wihout hesitation (lazy evaluation).

Bytes

Name (-fld:bits)

Legal Values

Comment

00-03

RAM Charger Version
- maj:8
- min:4
- bug:4
- stage:8


1,2,3, 8
0..F,Wild=F
0..F,Wild=F
Dev=0x20
Alpha0x40
Beta=0x60
Final=0x80
Wild=0xFF

This is the version of RAM Charger the created the settings. RAM Charger uses this to determine the format of the following data.

04-07

Application Version
- maj:8
- min:4
- bug:4
- stage:8


1,2,3, 8
0..F,Wild=F
0..F,Wild=F
Dev=0x20
Alpha0x40
Beta=0x60
Final=0x80
Wild=0xFF

This is the version of the application that the settings were created for. Import compares this against the selected applicaiton an presents a warning dialog if different.

x08-0B
d08-11

Application Creation Date

TimeStampT
wild=FFFFFFF9 (-7).

 

This is the creation date of the application that the preference was created for. Ignored.

 

x0C
d12

Method

Fully access all memory=4
Delay access to all memory=1
Max Fast Access After Open=3
Maximize fast-access reserve=2
Avoid taking all memory=5
Locked OFF=0
(Negative values are "off")

This defines the access RAM Chrgers provides to memory for the application.

x0D
d13

Origin

Builtin=0
Self=1
User=2

This records where the setting came from. Mainly to indicate if the user has modified the settings.

x0E
d14

Unchanged

0-255

Number of runs without automatic adjustments to settings on application quit.

x0F
d15

Stable

False=0
True=1
Full=2

Can make automatic adjustments to settings (automatic "stable" after running unchanged for a while)

x10-13
d16-19

mPtrCount

Number of master pointers to reserve at launch to avoid fragmentation in zone.

x14-17
d20-23

cushionSize

Amount of memory to try and reserve in the heap until all other memory is used (safety).

x18-1B
d24-27

squeezeHeapSize

Amount of memory to try and keep free in the zone for small allocations (fast access).

x1C-1F
d28-31

stackSize

Amount of zone to reserve for stack. The rest is used for heap; extra heap needs from the process zone.

x20-23
d32-35

MinOverride

Custom starting size for application. If 0, then the same as the minimum size.

x24-27
d36-39

origSuggestedMin

The "minimum" suggested by the applicaiton author. Used in cloning to determine if the application has significant new memory requirements.

x27-38
d40-56

unused

x39
d57

wizardRunsBlocking

Number of consecutive runs when the application has blocked the system's expansion.

x3A
d58

falsifyZCB

Increase the "zcbFree" field for the application by the size of the process zone (Exaggerate)

x3B
d59

useSetting

Use Minimum=2
Use Preferred=3
Others use MinOverride=0

 

x3C-3F
d60-63

sizeName

Lookup ID in the name table for the settings set "BuiltIn" or "Custom".

x40-43
d64-67

appCreatorCode

x44
d68

cmprsReserved

cmprsInhibitCallGrowZone
cmprsQuietManualSqueeze
cmprsInhibitManualSqueeze
cmprsSqueezeOnSwitch

x45
d69

wizReserved

wizBitToldBlocking
wizBitToldGreedy
wizBitEnableWiz
wizBitAppRunning

x46
d70

wizardRunsBad

Disabled=-1

Number of times application has failed to exit (crashed). Used in combination wizardRunsOK to notify users of potential conflicts via dialog at launch.

x47
d71

wizardRunsOK

Disabled=-1

Number of times application has quit OK. Used in combination wizardRunsBad to notify users of potential conflicts via dialog at launch.

x48-49
d72-73

miscBits

miscMoveHiSetSize:1
miscAppCantLaunch:0

x4A-4C
d74-76

Reserved

 

See Also



Home | Search | Support | Contact | Download | Order
Translate to: Français | Deutsch | Italiano | Português | Español

Please direct corrections and comment to RAMCharger (at) RAMCharger.com

Copyright © 1995-98 Jump Development Group, Inc. All rights reserved. Jump, OptiMem, RAM Charger, and More About This Mac are trademarks of Jump Development Group, Inc. Apple and Macintosh are registered trademarks of Apple Computer, Inc. All other trademarks are the property of their respective holders.