79 lines
2.1 KiB
C
79 lines
2.1 KiB
C
#ifndef _VBCCINLINE_ASOUND_H
|
|
#define _VBCCINLINE_ASOUND_H
|
|
|
|
#ifndef EXEC_TYPES_H
|
|
#include <exec/types.h>
|
|
#endif
|
|
#ifndef EMUL_EMULREGS_H
|
|
#include <emul/emulregs.h>
|
|
#endif
|
|
|
|
APTR __ASound_Create(ULONG mode, struct TagItem * tags) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-28(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_Create(mode, tags) __ASound_Create((mode), (tags))
|
|
|
|
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
|
|
APTR __linearvarargs __ASound_CreateTags(ULONG mode, ...) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-28(12)\n"
|
|
"\taddi\t5,1,8\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_CreateTags(mode, ...) __ASound_CreateTags((mode), __VA_ARGS__)
|
|
#endif
|
|
|
|
void __ASound_Delete(APTR ctx) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-34(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_Delete(ctx) __ASound_Delete((ctx))
|
|
|
|
ULONG __ASound_PlaySync(APTR ctx, APTR buf, ULONG len) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-40(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_PlaySync(ctx, buf, len) __ASound_PlaySync((ctx), (buf), (len))
|
|
|
|
ULONG __ASound_PlayAsync(APTR ctx, APTR buf, ULONG len) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-46(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_PlayAsync(ctx, buf, len) __ASound_PlayAsync((ctx), (buf), (len))
|
|
|
|
ULONG __ASound_Wait(APTR ctx) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-52(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_Wait(ctx) __ASound_Wait((ctx))
|
|
|
|
void __ASound_Abort(APTR ctx) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-58(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_Abort(ctx) __ASound_Abort((ctx))
|
|
|
|
APTR __ASound_GetAttr(APTR ctx, ULONG attr) =
|
|
"\tlis\t11,ASoundBase@ha\n"
|
|
"\tlwz\t12,ASoundBase@l(11)\n"
|
|
"\tlwz\t0,-64(12)\n"
|
|
"\tmtctr\t0\n"
|
|
"\tbctrl";
|
|
#define ASound_GetAttr(ctx, attr) __ASound_GetAttr((ctx), (attr))
|
|
|
|
#endif /* _VBCCINLINE_ASOUND_H */
|