[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Possible bug in cflib's font selector



Vincent Rivière wrote:

I guess the functions xfsl_init(), xfsl_event() and xfsl_exit() are called via assembler functions to cope with the mshort API, right ?

This functions are from the xFSL interface. Is it a frontselector. The program looks for the cookie 'xFSL'. There is an pointer to the structure:

typedef struct
{
 unsigned long xfsl;       /* Magic 'xFSL'              */
 unsigned int  revision;   /* Interface revision        */
 unsigned long product;    /* Font-selector identifier  */
 unsigned int  version;    /* Font-selector version     */
 xFSL_INPUT    xfsl_input; /* Simplified call           */
 xFSL_INIT     xfsl_init;  /* Init call                 */
 xFSL_EVENT    xfsl_event; /* Event call                */
 xFSL_EXIT     xfsl_exit;  /* Exit call                 */
 xFSL_INFO     xfsl_info;  /* Info call                 */
} xFSL;

It says that the API is "Pure C cdecl".
Does this mean that the clobbered registers are d0/d1/a0/a1, like GCC ? Do you agree, Henk ?

I´m not Henk, but cdecl ist that what there stand. <http://toshyp.atari.org/00d00e.htm#Pure-C_20and_20_27cdecl_27> If you use 'cdecl' PureC put all paramters on the stack, normly it use for the parameter the register do-d2 and a0-a1. For PureC is defined that a assembler function must save the register d3-d7 and a2-a6.

This is not a system function like AES.

I saw that the tos.hyp is broken at this pages. It is time for a new release.

Gerhard