1 ;*****************************************************************************/
5 ;* o65 module loader interface for cc65 */
9 ;* (C) 2002 Ullrich von Bassewitz */
11 ;* D-70597 Stuttgart */
12 ;* EMail: uz@musoftware.de */
15 ;* This software is provided 'as-is', without any expressed or implied */
16 ;* warranty. In no event will the authors be held liable for any damages */
17 ;* arising from the use of this software. */
19 ;* Permission is granted to anyone to use this software for any purpose, */
20 ;* including commercial applications, and to alter it and redistribute it */
21 ;* freely, subject to the following restrictions: */
23 ;* 1. The origin of this software must not be misrepresented; you must not */
24 ;* claim that you wrote the original software. If you use this software */
25 ;* in a product, an acknowledgment in the product documentation would be */
26 ;* appreciated but is not required. */
27 ;* 2. Altered source versions must be plainly marked as such, and must not */
28 ;* be misrepresented as being the original software. */
29 ;* 3. This notice may not be removed or altered from any source */
32 ;*****************************************************************************/
36 ; Exports structures and functions to load relocatable o65 modules at
41 ; Offsets for the mod_ctrl struct. This struct is passed to the module loader.
42 ; It contains stuff, the loader needs to work, and another area where the
43 ; loader will place informational data if it was successful. You will have to
44 ; check the return code of mod_load before accessing any of these additional
49 MODULE .addr ; Pointer to module data
50 MODULE_SIZE .word ; Total size of loaded module
54 ; unsigned char mod_load (struct mod_ctrl* ctrl);
55 ; /* Load a module into memory and relocate it. The function will return an
56 ; * error code (see below). If MLOAD_OK is returned, the outgoing fields in
57 ; * the passed mod_ctrl struct contain information about the module just
62 ; void mod_free (void* module);
63 ; /* Free a loaded module. Note: The given pointer is the pointer to the
64 ; * module memory, not a pointer to a control structure.
70 MLOAD_OK ; Module load successful
71 MLOAD_ERR_READ ; Read error
72 MLOAD_ERR_HDR ; Header error
73 MLOAD_ERR_OS ; Wrong OS
74 MLOAD_ERR_FMT ; Data format error
75 MLOAD_ERR_MEM ; Not enough memory