# Deprecated Subroutines

> [HTML Version](deprecated-subroutines.htm)



Although it is fairly rare, subroutines can become obsolete. We here at MicroSabio are reluctant to ever delete things from the documentation, out of fear that the old things might be needed for something by somebody sometime. But we also want to not "clog up" our documentation with old and useless information. So the compromise is to put all the old stuff in some out-of-the-way corner where it can be accessed but where it isn't in the way of regular readers. 

Congratulations\! You have stumbled onto just such a place, and you will find all of the no-longer-mainstream subroutines in this section and in the following list.

**(./images/hmtoggle_plus0.gif)	AMOS**

As of July 2024 and A-Shell 7.0.1761, AMOS has been renamed to [ASHELL](ashellsbr.md), which see for details. To maintain backward compatibility, AMOS is now an alias for [ASHELL](ashellsbr.md).



**(./images/hmtoggle_plus0.gif)	MX\_XCBDATAX**

**Deprecated**_._

**xcall MIAMEX, MX\_XCBDATAX, xcbadr, opcode, parmno, var**

MX\_XCBDATAX (MIAMEX 81) This function provides a means for an SBX to retrieve parameters passed to it from the calling program, and to pass parameters back. It remains supported but has been deprecated since A-Shell version 6.0, having been superseded by the family of [X-ARGs](xgetarg_xgetargs.md) which offer several advantages, including working with Functions and Procedures as well as SBXs. 

**Parameters**

_xcbadr_  ([Num](num.md))

must be set to the address of the parameter structure. This value is passed on the command line to the SBX routine.

_opcode_  ([Num](num.md))

0 (mxop\_get) to retrieve a parameter or 1 (mxop\_set) to pass it back. For convenience, these values are mapped in the xcall.bsi file as _xcbget_ and _xcbput_, respectively.

_parmno_  ([Num](num.md))

is the number of the parameter to receive or send, starting from 1.

_var_

is the actual variable to receive or send. It should be mapped in a way that is "reasonably compatible" with the actual type and size passed to the subroutine, although conversions and truncations will be applied automatically if necessary.

**See Also**

•	[SBX Subroutines](sbxsubroutines.md).



**(./images/hmtoggle_plus0.gif)	MX\_XCBINFOX**

_Modified July 2017_

**Deprecated**. See _Comments_ below.

**xcall MIAMEX, MX\_XCBINFOX, xcbadr, xcbcnt, xcbstructx**

coMX\_XCBINFO (MIAMEX 80) is needed at the start of an [SBX](sbx.md) subroutine to retrieve information about the parameters which were passed to the subroutine. Because every subroutine needs this information, the xcall.bsi file which is included by every subroutine includes a call to this function.

**Parameters**

_xcbadr  _([Num](num.md))

must be set to the address of the parameter structure. This value is passed on the command line to the [SBX](sbx.md) routine.

_xcbcnt_  ([Num](num.md))

returns the number of parameters passed.

_xcbstructx_

is a structure containing information about the parameters, mapped as follows:

MAP1 XCBSTRUCTX

MAP2 XCBSTRUCT(20)         \! up to 20 parameters

   MAP3 XCB'PTYPE,b,2      \! 0=X, 2=S, 4=F, 6=B, +8=I, +16=array

   MAP3 XCB'PSIZE,b,2      \! size of parameter



**Comments**

This function is still supported but has been deprecated since the introduction of the [.ARGCNT](argcnt.md) dot variables and the [.ARGTYP()](argtyp_and_argsiz().md) and [.ARGSIZ()](argtyp_and_argsiz().md) functions which are more elegant and preferred. See _History_.

Refer to [Writing SBX Subroutines](sbxsubroutines.md) for more information on this and related MIAMEX functions.

**History**

2017 July, A-Shell 6.4.1553:  XCB'PTYPE() is now stripped to just the low 5 bits (4 bit type code and 1 bit array flag) to avoid confusion with values that were not defined when this function was implemented. See [.ARGTYP()](argtyp_and_argsiz().md) and [.ARGSIZ()](argtyp_and_argsiz().md) for the latest complete set of argument type flags.

2014 January, A-Shell 6.1.1373.0:  Add [.ARGTYP()](argtyp_and_argsiz().md) and [.ARGSIZ()](argtyp_and_argsiz().md) dot functions; MX\_XCBINFO now deprecated.



**(./images/hmtoggle_plus0.gif)	FTPDLX**

With A-Shell 7.0.1754, FTPDLX is officially deleted. All calls to FTPDLX are re-directed to [FTP2](ftp2_sbr.md), which see for details. The original [FTPDLX](ftpdlx_sbr.md) documentation has been left in place.