Chapter 17 Cache M Language Compatibility

Cache provides language compatibility modes for:

  • DSM-11
  • Open M [DSM]
  • Open M [DTM]
  • Open M [MSM]

These patterns make it possible to migrate applications from the above installation to Cache by incorporating the syntax of many of the more common M programming language commands and functions into the CacheObjectScript. CacheObjectScript is a superset of the ISO 11756-1999 standard M programming language. The ISO standard 11756-1999 is the same as the previous American National Standards Institute’s M programming language.

Displays and switches language modes

The Cache provides the LanguageMode() method of the % system.process class, which allows the LanguageMode to be displayed and set. LanguageMode(N) sets the language to pattern N and returns the previous value. LanguageMode() with no parameters returns the current value.

If routines already exist in partitions created in different dialects, do not use LanguageMode() to modify the current dialect.

Note: Language mode cannot be set from the GUI utility. The LanguageMode() method must be used.

If you follow the steps outlined in this section to migrate, manage, and transform the DSM pattern routines, you do not need to use the LanguageMode() method call to set the language pattern. To use LanguageMode() to view the current language pattern, issue the following command:

  WRITE ##class(%SYSTEM.Process).LanguageMode()
Copy the code
0
Copy the code

You can also set the language mode with any command that affects routine loading. The current dialect will be set to the dialect of the routine. In the case of DO, the previous dialect is restored when leaving the routine. This also happens for a ZLOAD or GOTO that completes within command indirection (XECUTE).

The common language patterns in the Cache are as follows:

Cache language Pattern

LanguageMode () value Language patterns
0 The Cache
1 DSM-11
2 DTM
5 DSM
6 DSM-J (Japanese version)
7 DTM-J (Japanese version)
8 MSM

Dsm-11 language compatibility

With the migrated DSM-11 routines, Cache runs in DSM mode. You can run dSM-11 routines that have been migrated to Cache without making a lot of changes. This section discusses how various commands and functions work in DSM-11 mode.

Set the DSM-11 language pattern using the LanguageMode(1) method of the % System.process class.

Note: Take special careLock,ZAllocateandZDeallocation.

Use conventional internal interlocking devices.

Conventional interlocking devices provide an alternative to the standard M-locking command. Conventional interlocking devices have been developed so that DSM-11 applications do not run out of space in the DSM-11 lock table.

This feature is specifically designed for DSM-11 compatibility mode, and the application is ported from DSM-11. However, it can also run in Cache language mode.

Turn on the special device to lock Global

Device numbers 20 to 46 and 200 to 223 are used as conventional interlocking devices. They are pseudo devices that processes use together, so they can control updates to the same data. The routine interlocking device number exists on all Open M and Cache systems.

Two or more processes must agree to use one of the device numbers for a particular purpose. A process issues the Open command for the device and performs any necessary processing on the data associated with the device. If the second process tries to open the device, it must wait until the first process closes the device. Therefore, the second process does not perform any processing until the device is successfully turned on or times out. Any number of processes can try to turn the device on; Each process waits until the next process before using the Close command to release the device.

In this way, the open command on a routine interlock device guarantees the process exclusive access to the data associated with that device, as long as all applications:

  • Be consistent when using this technique (withLockCommand the same)
  • Agree on the data associated with each routine interlocking device. After one process issues a close command to the device number, another process can open the device and have exclusive access to the data.

Issue I/O commands for routine interlocking devices

Open and close are the only I/O commands you can issue to regular interlocking devices. There are no read/write commands because using a routine interlocking device does not involve sending data to or from any device or storage area.

Open a command

The Open command opens a routine interlocking device and prevents other processes from successfully issuing the Open command to the same device number.

grammar

Open device[::timeout]
Copy the code
parameter describe
device Device number, from 20 to 46 or from 200 to 223. You must ensure that all routines that use a given device number agree on what that number means. This usually means which globals are now considered locked and therefore not available to other processes.
timeout A positive integer whose value, in seconds, is the maximum time the Cache will wait to complete opening. If 0 is specified, thenOpenControl is immediately returned to the process.

The shutdown command

The CLOSE command closes the routine interlocking device and releases it to another process.

grammar

Close device
Copy the code

Use the DSM-11 pattern routine

Keep the following points in mind when using dSM-11 mode routines on a Cache system:

  • Dsm-11 and InterSystems routines can coexist in the same namespace.
  • Cache and DSM-11 pattern routines can call each other as needed. Cache ADAPTS to the saved language mode of the execution routine on a per-routine basis.
  • Dsm-11 pattern routines can only be saved as intermediate source code (.int) routines. They cannot be manipulated at the macro source code (.mac) level.
  • Cache provides only runtime support for the DSM-11 language. It does not support the DSM-11 development environment, nor does it support calling DSM-11 library utilities or macro-11 routines.
  • Dsm-11 routines can only be further developed in a Cache development environment.
  • When a routine is loaded using the full-screen editor or the ZLoad command, the Cache sets the language mode to match the language mode of the routine.
  • If you are usingLanguageMode()Method changes the language pattern so that it does not match the language pattern of the loaded routine, and then attempts to executeZInsert, will be received<language mismatch>Error message.

Convert the routine from DSM-11 mode to Cache mode

You can edit the DSMI-11 routine at any time to match Cache and change its language mode to Cache. The Cache Studio editor makes it easy to convert DSM-11 mode routines to Cache mode.

Normal operation

Save and restore routines

Once you have a DM-11 pattern routine on your Cache system, you can use the utilities %RO and %RI or Cache Studio with them. These utilities maintain the DSM-11 pattern of routines, allowing routines copied from the DSM-11 host to the Cache host to other Cache namespaces and/or hosts using the Cache %RO and %RI utilities.

Lists the routines in the current namespace

The %RD utility lists the routines in the current Cache namespace, including a list of “lang” in its long-format display, reflecting the saved language pattern for each routine. For Cache mode routines, the “LANG” column is empty, and for DSM-11 mode routines, “DSM11” is included. You can also use the administrative portal to list routines.

% % RCOPY and RCOMPIL

The %RCOPY and %RCOMPIL routine utilities recognize and retain language patterns for each routine. %RCOPY copies the routine and generates a backup version. %RCOMPIL compiles macro source code and intermediate code routines. Renaming the DSM-11 pattern routine with %RCOPY without converting it to Cache mode. You can also use CacheStudio.

CacheStudio and the routine line editor

Cache Studio and the routine line editor (X^%) can recognize and preserve the language pattern for each routine if saved and compiled. The routine Properties dialog box in Cache Studio shows the language pattern of the current routine.

Transfer global data from the DSM-11 system

Global parameters for ANSI collation

To transfer ANSI collated global variables from the DSM-11 system to the Cache system, first read them from the DSM-11 system using CacheStudio in a DSM-11 file format.

Global variable for string sorting

To transfer the global variable of string collation from the DSM-11 system to the Cache, first read the global variable from the DSM-11 system using the DSM-11% GTO utility. Each global variable is then created using the %GCREATE utility on the InterSystems host and given pure string sorting characteristics. Finally, the global variables are loaded using the %Gigen utility.

I/O programming in DSM-11 compatibility mode

The following sections discuss the input and output programming features of the CachedSM-11 compatibility mode.

Terminal I/O in DSM-11 compatibility mode

In cache, the terminal open command provides five parameters: margin, protocol, terminators, portstate, and baud. In the cache, the use command provides only three parameters: margin, protocol, and terminators.

In contrast, in DSM-11, the Open and Use commands can hold 11 parameters. Most of these parameters exist because DSM-11 also acts as its own operating system. In DSM-11 compatibility mode, Cache emulates DSM-11 syntax, accepting but ignoring OS related parameters.

The following two tables describe a cache of dSM-11 compatibility mode explanations for eleven DSM-11 opening and using command parameters.

Dsm-11 Compatibility Mode Open/use command parameters

parameter The meaning of the DSM – 11 Dsm-11 compatibility model interpretation
p1: margin Set the right margin of the device. Same as DSM-11. Same as Cache mode margin parameter in function and parameter position.
p2: output ring buffer Sets the size of the output ring buffer. Accepted, but ignored.
p3: input field length Specifies the field length. This parameter is used only for DSM-11 backward compatibility. The read command is now the preferred technique for specifying field lengths. Accepted, but ignored.
p4: input ring buffer Sets the size of the input ring buffer. Accepted, but ignored.
p5: set status Modifying Device Features The bit mask associated with the intersystem mode protocol parameters.
p6: clear status Modifying Device Features Bitmask associated with Cache mode protocol parameters.
p7: set Y Change terminal$Xand$YSettings. See the table below for details.
p8: line parameter register Value assigned based on the controller type. Accepted, but ignored.
p9: terminators Set up a set of line terminators for the device. Same as DSM-11. It is functionally equivalent to the Cache mode terminator parameter, although it occupies a different parameter position.
p10: set application interrupt key Create a set of application break keys for the device. Accepted, but ignored.
timeout Specifies the length of time to suspend execution if the requested device is not idle. Same as DSM-11. The function and parameter positions are the same as the Cache mode timeout parameter.

Protocol arguments in Cache mode are strings containing some combination of the following:

  • B (enable Ctrl-C)
  • C (CRT)
  • F (flush)
  • I (image)
  • P (printer)
  • S (secret, no echo)
  • T (terminators).

Similarly, DSM-11 has set status and clear status parameters, both of which are bitmasks.

To enable the protocol, its bit must be included in the SET STATUS parameter. To turn off a protocol, its bits must be included in the clear status parameter. In DSM-11 compatibility mode, Cache accepts but ignores operating system-specific bits. The following table lists the bits supported.

Dsm-11 compatibility mode setting and clear status bits

Bit Value describe
O (1) 0 – echo; 1 – no echo Id of the Cache S protocol.
2 (4) 0- Hard copy; 1-CRT Id of Cache protocol C.
6 (64). 0- Escape processing is disabled; 1- Escape processing is enabled Determines how escape sequences are handled on read. In Cache mode, the escape sequence always terminates the non-image mode read$ZBIs displayed as a string. In DSM 11 mode, escape sequences always terminate normal reads, but escape sequences are processed only if escape processing is enabled. When escape processing is enabled, the decimal ASCII code of the second character appears in$ZBThe decimal ASCII code of the escape character itself appears in the lower byte. When escape processing is disabled, the escaped character is treated as any terminator and the rest of the escaped sequence is not processed. They remain in the input buffer, where they can be accessed by subsequent read commands.
7 (128). 0- Do not send cursor control sequence; 1- Send cursor control sequence Determine the processing mode for parameter 7: Set$Xand$Y. When the parameter 7 value is provided when opened/used in DSM-11 language compatibility mode,$Xand$YUpdates accordingly, and if bit 7 is turned on, the appropriate cursor control sequence (VT52 or ANSI, depending on bit 16) is transmitted to the terminal.
14 (16384). 0- No conversion; 1- Convert to uppercase Determines whether case is converted on input.
16 (65536). 0 – VT52; 1 – ANSI Determine the appropriate cursor control sequence.
19 (524288). 0- Ignores deletion characters; 1- Confirm to delete the character Determines the effect of pressing the Delete key when there is nothing in the input buffer to Delete. If the bit is ON, the deletion character is ignored. If the bit is OFF, the read is terminated and the deletion character is in$ZBIs displayed as 127.
20 (1048576). 0- Accept unprogrammed CTRL key; 1- Ignore unprogrammed CTRL keys. Determines the effect of pressing non-programmed control keys. When this bit is off, all unprogrammed control keys are accepted as normal characters. When this bit is enabled, unprogrammed controls are ignored. They are not echoed or placed in the input buffer.
23 (8388608). 0- Disable all passing; 1- Enable all delivery The protocol is the same as the Cache image mode. When this bit is turned on, all control characters are passed directly to the program without filtering or interpretation.
25 (33554432). 0- Enable pretyping; 1- Pretyping is disabled Determine the processing of pretyping. When bit 25 is on, advance typing is disabled. Flushes the input buffer before each read. When bit 25 is off, typeahead is enabled. The input buffer is not flushed before each read.
26 (68108864). 0- The default is the 25th digit, enter control ahead of time; 1- Do not flush the pre-typed buffer. When bit 26 is off, no additional pre-keying controls are granted beyond those provided by bit 25. With bit 26 on, the pre-typing buffer can never be flushed unless bit 25 explicitly indicates it. For example, Read with prompt does not pre-clear typing.

On Windows, CacheObjectScript assigns a quota of Open files to each process between database files and files opened with Open. When Open causes TOOMANYFILES to be assigned to the Open command, you receive a

error message. Cache does not limit the number of open files. The maximum number of open files per process is a platform-specific setting.

Warning: DSM-11 compatible mode specific open/use parameters will only be accepted on read/write if the last open/use of the device was in DSM-11 mode. The parameters specific to the DSM-11 pattern are P5 / P6 (bits 6, 7, 19, 20, 25, 26) and P7.

Terminating read

If the terminator completes reading, the special variable $ZB includes the terminator character as a string in Cache mode, whereas the ASCII decimal value of the terminator is returned in the lower byte of $ZB in DDSM 11 mode.

If the escape sequence terminating the read, Cache mode returns the ASCII escape sequence as a string in $ZB, whereas DSMI-11 mode returns an integer with the escape character (27) in the lower byte of $ZB, the second character plus 16, and then modulo 64 in the higher byte.

Tape I/O

I/O commands for tape are very similar in Cache and DSM-11. Both use the positional parameter style, and the positions and values of specific parameters within each parameter are very similar. However, there are some differences in the format code that account for these unique characteristics of tape I/O in DSM-11 compatibility mode:

  • The Cache does not support the DSM-11 “B” format.
  • Dsm-11 provides a “C” format to specify continuous (non-pending)I/O. This enables the program to continue performing other operations while tape I/O is in progress. You can check the I/O status at any time by issuing the WRITE*10 command, which will be updated$Za. While Cache can’t actually do this on OpenVMS, UNIX®, or Windows operating systems, it accepts the “C” format in DM-11 compatibility mode, so DM-11 applications encoded in this format don’t need to change the source code to run. Instead, Cache performs the following steps:
  • Perform I/O.
  • Wait for the program to complete, then continue.
  • When the program sendsWRITE*10With complete status updates$Za.
  • The DSM-11 “T” format specifies that tape marking traps are disabled in DSM-11 compatibility mode.
  • The format string characters used to specify the tape density for DSM-11 and Cache are related to the following:
DSM – 11 mode The Cache mode Tape density (BPI)
3 1 800
4 2 1600
5 3 6250
  • Under the DSM-11 model,ZB special variable returns a dSM-11-compatible tape operation value.
  • In Cache mode, the tape control function is WRITE*-n(negative) is completed while the DSM-11 compatibility mode is usedWRITE*n(positive) complete. Updates are available except for DSM-11$ZatheWRITE*10In addition, the absolute value allocation of the control function is the same in both modes. As mentioned above, this is useful for the DS-11 “C” format option for checking the status of asynchronous I/O operations.

Inter-job Communication Equipment (JOBCOM)

The Cache provides devices 224 to 255 for inter-job communication in two language modes

VIEWCommands and$VIEWfunction

Cache does not support the VIEW command or the $VIEW function in DSMI-11 compatibility mode.

ZALLOCATEandZDEALLOCATE

The ZALLOCATE and ZDEALLOCATE commands behave differently in Cache and DSM-11:

  • Under the DSM-11 model,ZALLOCATEOnly throughZDeALLOCATETo cancel,LOCK+Only throughLockRevoked. In addition, any number of locationsZAllocateYou can use a single commandZDeAllocateTo undo.
  • In Cache mode,ZAllocateandZDeAllocationIs equivalent toLock+andLock.

The ZaMode property of the config. Miscellous class allows the selection of ZAllocate and ZDeallocation to be performed within the system: Cache mode or DM-11 mode.

Determine the pattern to use

In DSM-11 compatibility mode, by default, ZAllocate and ZDeallocation behave the same as in DSM-11. Because of the differences between these patterns, always check the code ported from the DSMI-11 system to ensure that changes to the Lock and ZAllocate nesting characteristics do not affect the integrity of the application.

Set the mode in ZSTU

If the Za and Zd commands have been ported to Cache mode but are still compiled in DSMI-11 mode, set ZaMode in the ZSTU startup routine to ensure that Za and Zd will be interpreted in Cache mode.

Extended features of the DSM-11 schema

Cache supports the following functions in both language modes:

  • $ZNext
  • $ZOrder
  • $ZPrevious
  • $ZSort

These are legacy functions in Cache that are not recommended.

Unsupported DSM-11 features

Cache does not support the following DSM-11 functions:

  • $ZCall
  • $ZUCI

Note: Since the $ZUCI function can be abbreviated to $zu, you must make sure that all references to it are removed from dM-11 applications that are ported to the Cache so that the Cache does not treat them as calls to the Cache $zu(N)($ZUTIL(N)) function.

Dsm-11 schema extension special variables.

Cache supports the following special variables in both language modes:

  • $ZORDER
  • $ZREFERENCE
  • $ZVERSION

Cache only supports these special variables in DM-11 mode:

  • $ZA
  • $ZB $ZAand$ZBBoth return the DSM-11 value.

Extended command for DSM-11 compatibility mode

Cache supports the following DSM-11 commands in both language modes:

  • ZTRAPCache supports the following commands in DSM-11 compatibility mode:
  • ZPrint
  • ZWrite
  • ZBreak

ZPrint is the same as the Cache mode print command. The ZWrite command is the same as the WRITE command without parameters.

In DSM-11 M, the ZBreak On and ZBreak Off commands control the processing of the parameterless BREAK command. The BreakMode() method of the % system.process class emulates this DSM-11 behavior and works in both language modes.

Issuing BreakMode(0) disables processing of the no-argument interrupt command (similar to ZBreak off). Issuing BreakMode(1) enables processing of the no-parameter interrupt command (similar to ZBreak ON). Issuing BreakMode() with no arguments returns the current state of the switch without changing it.

Dsm-11 compatibility mode error handling

Error message

In DSM-11 mode, the $ZERROR special variable returns an error message with the same spelling as its DSM-11 counterpart.

Interrupt 2 Error handling

In DSM-11 mode, Cache supports DSM-11 version 2 error handling. Dsm-11 Version 2 style error handling states that whenever an M error occurs, the entire frame stack is cleared and a GOTO that goes to the error handling routine is performed. To preserve this error handling, use the Break 2 command to enable DSM-11 Version 2 error handling. To resume normal DSM-11 error handling, issue the break-2 command. You can only call these commands in DSM-11 compatibility mode.

If a routine executed in DM-11 compatibility mode calls a normal language-mode routine (such as a system utility), Cache standard error handling is applied throughout the execution of the routine.

$TEXTComment lines

The Cache supports double semicolons, allowing the inclusion of specific comment lines in the compiled results. This is required when the $TEXT function references comment lines and the routine will be distributed without source code. Since dSM-11 has no equivalent, $TEXT in DSM-11 mode requires that the source code be always available.

DSM Language Compatibility

With the migrated DSM routines, Cache runs in DSM mode. You can run the DSM routines that have been migrated to Cache without making a lot of changes. This section discusses how various commands and functions are run in the DSM mode. Set the DSM language pattern using the LanguageMode(5) method of the % system. Process class.

Porting routines from DSM to Cache

With the migrated DSM routines, Cache runs in DSM mode. To port a routine from DSM to the cache, use the DSM%RS utility to save the native DSM application to tape or disk. Then, use the CacheStudio editor or the %RI utility to recover the application on the caching system.

The %RI utility and the DSM format restore utility recognize native DSM%RS files and load (compile and save) them as DSM pattern routines.

When using the DSM pattern routine on a Cache system, keep the following in mind:

  • DSM and Cache routines can coexist in namespaces.
  • Cache and DSM routines can be called to each other as needed. Cache ADAPTS to the saved language mode of the execution routine on a per-routine basis.
  • Cache provides only runtime support for the DSM language. It does not support the DSM development environment, nor does it support calling DSM library utilities or any external routines associated with OpenVMS ($ZCALL).
  • When usingZLoadCommand to load the routine, Cache sets the language pattern to match the language pattern of the routine.
  • If you are usingLanguageMode()Method changes the language pattern so that it does not match the language pattern of the loaded routine, and then attempts to executeZInsert, will be received<language mismatch>Error message.

Note: Currently, %RI and ^%RDE report < syntax > errors in certain DSM language features in DSM pattern routines. This indicates that the syntax is not a valid CacheObjectScript syntax. However, if it is a DSM language feature currently identified in the DDSM compatibility mode, the code will be interpreted correctly.

Programming in the DSM language mode.

In Cache, the Close, Open, Use, and Job commands feature location-based parameter values separated by colon (:) characters. Such as:

Use terminal:[([margin]:[protocols]:[terminators])]:"mnespace"
Copy the code

In contrast, in DSM, the Close, Open, Use, Zuse, and Job commands have keyword syntax, where the keyword and Not Position give meaning to the parameter values. Such as:

Use terminal:[keylist]:"mnespace"
Copy the code

Where keyList is one of the following values:

keyword [=value](keyword[=value][,...] )Copy the code

In each case, the goal is to transfer information about the operation to the specified device. For example, a programmer might want to convert the read command input character to uppercase. In Cache native language mode, this is done using the following syntax:

Use 0pen:(:"+U")
Copy the code

In the DSM language mode, the following operations can achieve the same function:

Use 0pen:CONVERT
Copy the code

Currently, DSM language patterns support certain keywords for terminal type devices. The following keywords are recognizable, but are treated as no operations of the Open command:

BLOCKSIZE=n
Copy the code

When the following keywords are applied to sequential files (Windows platform only) by using the Open command, the following keywords can be identified and made useful:

  • DELETE
  • NEWVERSION
  • READONLY
  • RECORDSIZE

When the DISCONNECT keyword is applied to sequential files using the USE command, the keyword is identified and activated.

When applying the following keywords to sequential files by using the CLOSE command, the following keywords can be identified and used:

  • DELETE
  • NODELETE
  • RENAME

The following exceptions apply to Cache in the DSM language mode:

  • When you close a newly created file, DSM deletes it if nothing has been written to it. However, in Cache, DSM language modeCLOSEThe command does not delete files.
  • The RECORDSIZE keyword specified using the Open command for sequential files currently affects only read operations.
  • useCLOSEWhen the RENAME keyword is specified and the file to be closed is marked for deletion, DSM will delete the file and then generate a % dsm-e-renamerr error. But, in the Cache, in the DSM language patternCloseThe command renames the file, but does not delete it.
  • useCLOSEWhen the RENAME and DELETE keywords are specified, DSM will DELETE the file and then generate a % dsm-e-renamerr error. But, in the Cache, in the DSM language patternCLOSECommand will delete the file.

The following keywords are identified and can be used in the USE command:

  • CENABLE
  • CLEARSRCR
  • CONVERT
  • CURSOR
  • DEVTYPE=s
  • DOWNSCRO
  • ECHO
  • ERASELIN
  • LINE
  • NOCENABL
  • NOCONVERT
  • NOCURSOR
  • NOECHO
  • NOLINE
  • NOREADPFLU
  • NOTYPE
  • READPFLU
  • TERMINATOR=s
  • TYPE
  • UPSCROLL
  • WIDTH=n
  • X=n
  • Y=n Interrupt 0 must be active for CENABLE and NOCENABL to have their intended effect. Interrupt 0 is the default in application mode. However, interrupt 1 is the default value in programmer mode and is implicitly redeclared every time the programmer mode prompts. Therefore, you must retype at each programmer mode promptBreak 0To interactively test the CENABLE and NOCENABL keywords.

The CLEARSCR, DOWNSCRO, ERASELIN, UPSCROLL, X=n, and Y=n keywords cause the VT100 escape sequence to be written to the specified device and are applicable only to the device that recognizes the sequence. When the specified device is a console window, the Cache automatically translates the escape sequence into a window operation that performs the desired result.

The LINE and NOLINE keywords enable and disable Cache read LINE calls. By default, the read line call can initially be disabled. By default, read line calls are enabled for processes using the LineRecall() method of the % System.process class.

In DSM, the type and notype keywords are invalid unless the /typehead command line qualifier is valid for the DSM process.

The same is true in the DSM of DEC OSF/1 AXP, but the NOREADPFLU keyword can be used to do the same thing dynamically as the /typehead command qualifier, while READPFLU nullifies the /typehead behavior.

Therefore, NOREADPFLU and READPFLU are provided in DDSM compatible mode so that NOREADPFLU can be specified for the master device at application startup to achieve the same behavior as the DSM/TYPEAHEAD qualifier.

The DSM compatibility pattern recognizes the following keywords, but treats them as if they are not available for use:

  • ESCAPE (in effect by default)
  • FLUSH
  • NOPACK
  • PACK

The DSM language pattern also supports several keywords for job commands. The following keywords are recognizable and powerful:

  • DATA
  • INPUT
  • OUTPUT

The following keywords are recognized, but are considered to be jobs of no operation:

  • DETACHED (also a no-op on DSM systems)
  • ERROR
  • NAME
  • PRIORITY
  • OPTIONS

The DSM compatibility mode currently processes all other standard M commands except the BREAK and VIEW commands, which (according to the standards) accept implementor-specific parameters.