mirror of
https://frontier.innolan.net/github/amigaos-cross-toolchain6.git
synced 2024-10-19 10:29:55 +00:00
@M upstream 5f77cdb9e4
This commit is contained in:
20
patches/NDK_3.9/Include/include_h/graphics/gfxmacros.h.diff
Normal file
20
patches/NDK_3.9/Include/include_h/graphics/gfxmacros.h.diff
Normal file
@ -0,0 +1,20 @@
|
||||
--- NDK_3.9/Include/include_h/graphics/gfxmacros.h.orig 2017-01-09 22:05:16.180477595 +0100
|
||||
+++ NDK_3.9/Include/include_h/graphics/gfxmacros.h 2017-01-09 22:06:45.054452637 +0100
|
||||
@@ -56,7 +56,7 @@
|
||||
#define SafeSetWriteMask(w,m) {if (GfxBase->LibNode.lib_Version<39) { (w)->Mask = (m);} else SetWriteMask(w,m); }
|
||||
|
||||
/* synonym for GetOPen for consistency with SetOutlinePen */
|
||||
-#define GetOutlinePen(rp) GetOPen(rp)
|
||||
+#define GetOPen(rp) GetOutlinePen(rp)
|
||||
|
||||
#define BNDRYOFF(w) {(w)->Flags &= ~AREAOUTLINE;}
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
} while (0)
|
||||
|
||||
/* synonym for GetOPen for consistency with SetOutlinePen */
|
||||
-#define GetOutlinePen(rp) GetOPen(rp)
|
||||
+#define GetOPen(rp) GetOutlinePen(rp)
|
||||
|
||||
|
||||
#define BNDRYOFF(w) do { \
|
||||
@ -1,23 +0,0 @@
|
||||
#ifndef _INLINE_ALIB_H
|
||||
#define _INLINE_ALIB_H
|
||||
|
||||
#ifndef __INLINE_MACROS_H
|
||||
#include <inline/macros.h>
|
||||
#endif
|
||||
|
||||
#define BeginIO(ioReq) \
|
||||
({ \
|
||||
struct IORequest *_BeginIO_request = (ioReq); \
|
||||
LP1NR(0x1e, BeginIO, struct IORequest *, _BeginIO_request, a1, \
|
||||
, _BeginIO_request->io_Device); \
|
||||
})
|
||||
|
||||
#define NewList(list) \
|
||||
({ \
|
||||
struct List *_NewList_list = (list); \
|
||||
_NewList_list->lh_TailPred = (struct Node *)_NewList_list; \
|
||||
_NewList_list->lh_Head = (struct Node *)&_NewList_list->lh_Tail; \
|
||||
_NewList_list->lh_Tail = 0; \
|
||||
})
|
||||
|
||||
#endif /* _INLINE_ALIB_H */
|
||||
@ -1,935 +0,0 @@
|
||||
#ifndef __INLINE_MACROS_H
|
||||
#define __INLINE_MACROS_H
|
||||
|
||||
/*
|
||||
General macros for Amiga function calls. Not all the possibilities have
|
||||
been created - only the ones which exist in OS 3.1. Third party libraries
|
||||
and future versions of AmigaOS will maybe need some new ones...
|
||||
|
||||
LPX - functions that take X arguments.
|
||||
|
||||
Modifiers (variations are possible):
|
||||
NR - no return (void),
|
||||
A4, A5 - "a4" or "a5" is used as one of the arguments,
|
||||
UB - base will be given explicitly by user (see cia.resource).
|
||||
FP - one of the parameters has type "pointer to function".
|
||||
|
||||
"bt" arguments are not used - they are provided for backward compatibility
|
||||
only.
|
||||
*/
|
||||
|
||||
#ifndef __INLINE_STUB_H
|
||||
#include <inline/stubs.h>
|
||||
#endif
|
||||
|
||||
#define LP0(offs, rt, name, bt, bn) \
|
||||
({ \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP0NR(offs, name, bt, bn) \
|
||||
({ \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
#define LP1(offs, rt, name, t1, v1, r1, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP1NR(offs, name, t1, v1, r1, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only graphics.library/AttemptLockLayerRom() */
|
||||
#define LP1A5(offs, rt, name, t1, v1, r1, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("exg d7,a5\n\tjsr a6@(-"#offs":W)\n\texg d7,a5" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Only graphics.library/LockLayerRom() and graphics.library/UnlockLayerRom() */
|
||||
#define LP1NRA5(offs, name, t1, v1, r1, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("exg d7,a5\n\tjsr a6@(-"#offs":W)\n\texg d7,a5" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only exec.library/Supervisor() */
|
||||
#define LP1A5FP(offs, rt, name, t1, v1, r1, bt, bn, fpt) \
|
||||
({ \
|
||||
typedef fpt; \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
__asm volatile ("exg d7,a5\n\tjsr a6@(-"#offs":W)\n\texg d7,a5" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP2(offs, rt, name, t1, v1, r1, t2, v2, r2, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP2NR(offs, name, t1, v1, r1, t2, v2, r2, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only cia.resource/AbleICR() and cia.resource/SetICR() */
|
||||
#define LP2UB(offs, rt, name, t1, v1, r1, t2, v2, r2) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Only dos.library/InternalUnLoadSeg() */
|
||||
#define LP2FP(offs, rt, name, t1, v1, r1, t2, v2, r2, bt, bn, fpt) \
|
||||
({ \
|
||||
typedef fpt; \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP3(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP3NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only cia.resource/AddICRVector() */
|
||||
#define LP3UB(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Only cia.resource/RemICRVector() */
|
||||
#define LP3NRUB(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only exec.library/SetFunction() */
|
||||
#define LP3FP(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, bt, bn, fpt) \
|
||||
({ \
|
||||
typedef fpt; \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Only graphics.library/SetCollision() */
|
||||
#define LP3NRFP(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, bt, bn, fpt) \
|
||||
({ \
|
||||
typedef fpt; \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
#define LP4(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP4NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only exec.library/RawDoFmt() */
|
||||
#define LP4FP(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, bt, bn, fpt) \
|
||||
({ \
|
||||
typedef fpt; \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP5(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP5NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only exec.library/MakeLibrary() */
|
||||
#define LP5FP(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, bt, bn, fpt) \
|
||||
({ \
|
||||
typedef fpt; \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Only reqtools.library/XXX() */
|
||||
#define LP5A4(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
__asm volatile ("exg d7,a4\n\tjsr a6@(-"#offs":W)\n\texg d7,a4" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP6(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP6NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
#define LP7(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#define LP7NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only workbench.library/AddAppIconA() */
|
||||
#define LP7A4(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
__asm volatile ("exg d7,a4\n\tjsr a6@(-"#offs":W)\n\texg d7,a4" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Would you believe that there really are beasts that need more than 7
|
||||
arguments? :-) */
|
||||
|
||||
/* For example intuition.library/AutoRequest() */
|
||||
#define LP8(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* For example intuition.library/ModifyProp() */
|
||||
#define LP8NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* For example layers.library/CreateUpfrontHookLayer() */
|
||||
#define LP9(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, t9, v9, r9, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
t9 _##name##_v9 = (v9); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* For example intuition.library/NewModifyProp() */
|
||||
#define LP9NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, t9, v9, r9, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
t9 _##name##_v9 = (v9); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Kriton Kyrimis <kyrimis@cti.gr> says CyberGraphics needs the following */
|
||||
#define LP10(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, t9, v9, r9, t10, v10, r10, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
t9 _##name##_v9 = (v9); \
|
||||
t10 _##name##_v10 = (v10); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
register t10 _n10 __asm(#r10) = _##name##_v10; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
/* Only graphics.library/BltMaskBitMapRastPort() */
|
||||
#define LP10NR(offs, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, t9, v9, r9, t10, v10, r10, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
t9 _##name##_v9 = (v9); \
|
||||
t10 _##name##_v10 = (v10); \
|
||||
{ \
|
||||
register int _d0 __asm("d0"); \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
register t10 _n10 __asm(#r10) = _##name##_v10; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_d0), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
} \
|
||||
})
|
||||
|
||||
/* Only graphics.library/BltBitMap() */
|
||||
#define LP11(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, t6, v6, r6, t7, v7, r7, t8, v8, r8, t9, v9, r9, t10, v10, r10, t11, v11, r11, bt, bn) \
|
||||
({ \
|
||||
t1 _##name##_v1 = (v1); \
|
||||
t2 _##name##_v2 = (v2); \
|
||||
t3 _##name##_v3 = (v3); \
|
||||
t4 _##name##_v4 = (v4); \
|
||||
t5 _##name##_v5 = (v5); \
|
||||
t6 _##name##_v6 = (v6); \
|
||||
t7 _##name##_v7 = (v7); \
|
||||
t8 _##name##_v8 = (v8); \
|
||||
t9 _##name##_v9 = (v9); \
|
||||
t10 _##name##_v10 = (v10); \
|
||||
t11 _##name##_v11 = (v11); \
|
||||
({ \
|
||||
register int _d1 __asm("d1"); \
|
||||
register int _a0 __asm("a0"); \
|
||||
register int _a1 __asm("a1"); \
|
||||
register rt _##name##_re __asm("d0"); \
|
||||
register void *const _##name##_bn __asm("a6") = (bn); \
|
||||
register t1 _n1 __asm(#r1) = _##name##_v1; \
|
||||
register t2 _n2 __asm(#r2) = _##name##_v2; \
|
||||
register t3 _n3 __asm(#r3) = _##name##_v3; \
|
||||
register t4 _n4 __asm(#r4) = _##name##_v4; \
|
||||
register t5 _n5 __asm(#r5) = _##name##_v5; \
|
||||
register t6 _n6 __asm(#r6) = _##name##_v6; \
|
||||
register t7 _n7 __asm(#r7) = _##name##_v7; \
|
||||
register t8 _n8 __asm(#r8) = _##name##_v8; \
|
||||
register t9 _n9 __asm(#r9) = _##name##_v9; \
|
||||
register t10 _n10 __asm(#r10) = _##name##_v10; \
|
||||
register t11 _n11 __asm(#r11) = _##name##_v11; \
|
||||
__asm volatile ("jsr a6@(-"#offs":W)" \
|
||||
: "=r" (_##name##_re), "=r" (_d1), "=r" (_a0), "=r" (_a1) \
|
||||
: "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5), "rf"(_n6), "rf"(_n7), "rf"(_n8), "rf"(_n9), "rf"(_n10), "rf"(_n11) \
|
||||
: "fp0", "fp1", "cc", "memory"); \
|
||||
_##name##_re; \
|
||||
}); \
|
||||
})
|
||||
|
||||
#endif /* __INLINE_MACROS_H */
|
||||
@ -1,141 +0,0 @@
|
||||
#ifndef __INLINE_STUB_H
|
||||
#define __INLINE_STUB_H
|
||||
|
||||
#ifndef EXEC_TYPES_H
|
||||
#include <exec/types.h>
|
||||
#endif
|
||||
#ifndef EXEC_NODES_H
|
||||
#include <exec/lists.h>
|
||||
#endif
|
||||
#ifndef DOS_DOS_H
|
||||
#include <dos/dos.h>
|
||||
#endif
|
||||
#ifndef INTUITION_CLASSES_H
|
||||
#include <intuition/classes.h>
|
||||
#endif
|
||||
#ifndef GRAPHICS_DISPLAYINFO_H
|
||||
#include <graphics/displayinfo.h>
|
||||
#endif
|
||||
#ifndef LIBRARIES_COMMODITIES_H
|
||||
#include <libraries/commodities.h>
|
||||
#endif
|
||||
|
||||
struct AnchorPath;
|
||||
struct AnimOb;
|
||||
struct AreaInfo;
|
||||
struct BitMap;
|
||||
struct BitScaleArgs;
|
||||
struct Bob;
|
||||
struct Border;
|
||||
struct Catalog;
|
||||
struct CardHandle;
|
||||
struct ClipboardHandle;
|
||||
struct ClipRect;
|
||||
struct ClockData;
|
||||
struct ColorMap;
|
||||
struct ColorWheelRGB;
|
||||
struct ColorWheelHSB;
|
||||
struct ConfigDev;
|
||||
struct CSource;
|
||||
struct CopList;
|
||||
struct CurrentBinding;
|
||||
struct DataBase;
|
||||
struct DateStamp;
|
||||
struct DateTime;
|
||||
struct Device;
|
||||
struct DeviceNode;
|
||||
struct DeviceTData;
|
||||
struct DiskObject;
|
||||
struct DosLibrary;
|
||||
struct DosList;
|
||||
struct DevProc;
|
||||
struct DosPacket;
|
||||
struct DrawInfo;
|
||||
struct EasyStruct;
|
||||
struct EClockVal;
|
||||
struct ExAllControl;
|
||||
struct ExAllData;
|
||||
struct ExecBase;
|
||||
struct ExpansionBase;
|
||||
struct FileInfoBlock;
|
||||
struct FileLock;
|
||||
struct FileRequester;
|
||||
struct FontContentsHeader;
|
||||
struct FreeList;
|
||||
struct Gadget;
|
||||
struct GadgetInfo;
|
||||
struct GelsInfo;
|
||||
struct GlyphEngine;
|
||||
struct GlyphMap;
|
||||
struct GfxBase;
|
||||
struct HelpNode;
|
||||
struct Hook;
|
||||
struct IClass;
|
||||
struct Image;
|
||||
struct InfoData;
|
||||
struct InputEvent;
|
||||
struct Interrupt;
|
||||
struct IntuiText;
|
||||
struct IntuitionBase;
|
||||
struct IORequest;
|
||||
struct KeyMap;
|
||||
struct KeyQuery;
|
||||
struct Layer;
|
||||
struct Layer_Info;
|
||||
struct Library;
|
||||
struct List;
|
||||
struct Locale;
|
||||
struct LocaleBase;
|
||||
struct MathIEEEBase;
|
||||
struct MemHeader;
|
||||
struct MemList;
|
||||
struct Menu;
|
||||
struct MenuItem;
|
||||
struct Message;
|
||||
struct MiscResource;
|
||||
struct MsgPort;
|
||||
struct NamedObject;
|
||||
struct Node;
|
||||
struct NewAmigaGuide;
|
||||
struct NewGadget;
|
||||
struct NewMenu;
|
||||
struct NewScreen;
|
||||
struct NewWindow;
|
||||
struct NotifyRequest;
|
||||
struct Preferences;
|
||||
struct RDArgs;
|
||||
struct RastPort;
|
||||
struct RealTimeBase;
|
||||
struct RecordLock;
|
||||
struct Rectangle;
|
||||
struct Region;
|
||||
struct Remember;
|
||||
struct Requester;
|
||||
struct ReqToolsBase;
|
||||
struct Resident;
|
||||
struct RexxMsg;
|
||||
struct RomBootBase;
|
||||
struct RxsLib;
|
||||
struct Screen;
|
||||
struct Semaphore;
|
||||
struct SignalSemaphore;
|
||||
struct SimpleSprite;
|
||||
struct TagItem;
|
||||
struct Task;
|
||||
struct TextAttr;
|
||||
struct TextExtent;
|
||||
struct TextFont;
|
||||
struct timeval;
|
||||
struct UCopList;
|
||||
struct View;
|
||||
struct ViewPort;
|
||||
struct VSprite;
|
||||
struct WBObject;
|
||||
struct Window;
|
||||
|
||||
struct bltnode;
|
||||
struct cprlist;
|
||||
struct gpLayout;
|
||||
struct dtPrint;
|
||||
|
||||
#endif /* __INLINE_STUB_H */
|
||||
307
patches/NDK_3.9/Include/sfd/graphics_lib.sfd.diff
Normal file
307
patches/NDK_3.9/Include/sfd/graphics_lib.sfd.diff
Normal file
@ -0,0 +1,307 @@
|
||||
--- NDK_3.9/Include/sfd/graphics_lib.sfd.orig 2017-01-11 08:58:25.000000000 +0100
|
||||
+++ NDK_3.9/Include/sfd/graphics_lib.sfd 2017-01-11 09:00:20.000000000 +0100
|
||||
@@ -16,16 +16,15 @@
|
||||
==include <graphics/text.h>
|
||||
==include <graphics/scale.h>
|
||||
==include <hardware/blit.h>
|
||||
-LONG BltBitMap(const struct BitMap * srcBitMap, WORD xSrc, WORD ySrc,
|
||||
- struct BitMap * destBitMap, WORD xDest, WORD yDest, WORD xSize,
|
||||
- WORD ySize, UBYTE minterm, UBYTE mask, PLANEPTR tempA) (a0,d0,d1,a1,d2,d3,d4,d5,d6,d7,a2)
|
||||
-VOID BltTemplate(const PLANEPTR source, WORD xSrc, WORD srcMod, struct RastPort * destRP,
|
||||
- WORD xDest, WORD yDest, WORD xSize, WORD ySize) (a0,d0,d1,a1,d2,d3,d4,d5)
|
||||
+==include <exec/types.h>
|
||||
+==include <utility/tagitem.h>
|
||||
+LONG BltBitMap(CONST struct BitMap * srcBitMap, LONG xSrc, LONG ySrc, struct BitMap * destBitMap, LONG xDest, LONG yDest, LONG xSize, LONG ySize, ULONG minterm, ULONG mask, PLANEPTR tempA) (a0,d0,d1,a1,d2,d3,d4,d5,d6,d7,a2)
|
||||
+VOID BltTemplate(CONST PLANEPTR source, LONG xSrc, LONG srcMod, struct RastPort * destRP, LONG xDest, LONG yDest, LONG xSize, LONG ySize) (a0,d0,d1,a1,d2,d3,d4,d5)
|
||||
VOID ClearEOL(struct RastPort * rp) (a1)
|
||||
VOID ClearScreen(struct RastPort * rp) (a1)
|
||||
-WORD TextLength(struct RastPort * rp, CONST_STRPTR string, UWORD count) (a1,a0,d0)
|
||||
-LONG Text(struct RastPort * rp, CONST_STRPTR string, UWORD count) (a1,a0,d0)
|
||||
-LONG SetFont(struct RastPort * rp, const struct TextFont * textFont) (a1,a0)
|
||||
+WORD TextLength(struct RastPort * rp, CONST_STRPTR string, ULONG count) (a1,a0,d0)
|
||||
+LONG Text(struct RastPort * rp, CONST_STRPTR string, ULONG count) (a1,a0,d0)
|
||||
+LONG SetFont(struct RastPort * rp, CONST struct TextFont * textFont) (a1,a0)
|
||||
struct TextFont * OpenFont(struct TextAttr * textAttr) (a0)
|
||||
VOID CloseFont(struct TextFont * textFont) (a1)
|
||||
ULONG AskSoftStyle(struct RastPort * rp) (a1)
|
||||
@@ -34,62 +33,58 @@
|
||||
VOID AddVSprite(struct VSprite * vSprite, struct RastPort * rp) (a0,a1)
|
||||
VOID DoCollision(struct RastPort * rp) (a1)
|
||||
VOID DrawGList(struct RastPort * rp, struct ViewPort * vp) (a1,a0)
|
||||
-VOID InitGels(struct VSprite * head, struct VSprite * tail,
|
||||
- struct GelsInfo * gelsInfo) (a0,a1,a2)
|
||||
+VOID InitGels(struct VSprite * head, struct VSprite * tail, struct GelsInfo * gelsInfo) (a0,a1,a2)
|
||||
VOID InitMasks(struct VSprite * vSprite) (a0)
|
||||
VOID RemIBob(struct Bob * bob, struct RastPort * rp, struct ViewPort * vp) (a0,a1,a2)
|
||||
VOID RemVSprite(struct VSprite * vSprite) (a0)
|
||||
-VOID SetCollision(ULONG num, VOID (*routine)(struct VSprite *gelA, struct VSprite *gelB),
|
||||
- struct GelsInfo * gelsInfo) (d0,a0,a1)
|
||||
+VOID SetCollision(ULONG num, VOID (*routine)(struct VSprite *gelA, struct VSprite *gelB), struct GelsInfo * gelsInfo) (d0,a0,a1)
|
||||
VOID SortGList(struct RastPort * rp) (a1)
|
||||
VOID AddAnimOb(struct AnimOb * anOb, struct AnimOb ** anKey, struct RastPort * rp) (a0,a1,a2)
|
||||
VOID Animate(struct AnimOb ** anKey, struct RastPort * rp) (a0,a1)
|
||||
-BOOL GetGBuffers(struct AnimOb * anOb, struct RastPort * rp, BOOL flag) (a0,a1,d0)
|
||||
+BOOL GetGBuffers(struct AnimOb * anOb, struct RastPort * rp, LONG flag) (a0,a1,d0)
|
||||
VOID InitGMasks(struct AnimOb * anOb) (a0)
|
||||
-VOID DrawEllipse(struct RastPort * rp, WORD xCenter, WORD yCenter, WORD a, WORD b) (a1,d0,d1,d2,d3)
|
||||
-LONG AreaEllipse(struct RastPort * rp, WORD xCenter, WORD yCenter, WORD a, WORD b) (a1,d0,d1,d2,d3)
|
||||
-VOID LoadRGB4(struct ViewPort * vp, const UWORD * colors, WORD count) (a0,a1,d0)
|
||||
+VOID DrawEllipse(struct RastPort * rp, LONG xCenter, LONG yCenter, LONG a, LONG b) (a1,d0,d1,d2,d3)
|
||||
+LONG AreaEllipse(struct RastPort * rp, LONG xCenter, LONG yCenter, LONG a, LONG b) (a1,d0,d1,d2,d3)
|
||||
+VOID LoadRGB4(struct ViewPort * vp, CONST UWORD * colors, LONG count) (a0,a1,d0)
|
||||
VOID InitRastPort(struct RastPort * rp) (a1)
|
||||
VOID InitVPort(struct ViewPort * vp) (a0)
|
||||
ULONG MrgCop(struct View * view) (a1)
|
||||
ULONG MakeVPort(struct View * view, struct ViewPort * vp) (a0,a1)
|
||||
VOID LoadView(struct View * view) (a1)
|
||||
VOID WaitBlit() ()
|
||||
-VOID SetRast(struct RastPort * rp, UBYTE pen) (a1,d0)
|
||||
-VOID Move(struct RastPort * rp, WORD x, WORD y) (a1,d0,d1)
|
||||
-VOID Draw(struct RastPort * rp, WORD x, WORD y) (a1,d0,d1)
|
||||
-LONG AreaMove(struct RastPort * rp, WORD x, WORD y) (a1,d0,d1)
|
||||
-LONG AreaDraw(struct RastPort * rp, WORD x, WORD y) (a1,d0,d1)
|
||||
+VOID SetRast(struct RastPort * rp, ULONG pen) (a1,d0)
|
||||
+VOID Move(struct RastPort * rp, LONG x, LONG y) (a1,d0,d1)
|
||||
+VOID Draw(struct RastPort * rp, LONG x, LONG y) (a1,d0,d1)
|
||||
+LONG AreaMove(struct RastPort * rp, LONG x, LONG y) (a1,d0,d1)
|
||||
+LONG AreaDraw(struct RastPort * rp, LONG x, LONG y) (a1,d0,d1)
|
||||
LONG AreaEnd(struct RastPort * rp) (a1)
|
||||
VOID WaitTOF() ()
|
||||
VOID QBlit(struct bltnode * blit) (a1)
|
||||
-VOID InitArea(struct AreaInfo * areaInfo, APTR vectorBuffer, WORD maxVectors) (a0,a1,d0)
|
||||
-VOID SetRGB4(struct ViewPort * vp, WORD index, UBYTE red, UBYTE green, UBYTE blue) (a0,d0,d1,d2,d3)
|
||||
+VOID InitArea(struct AreaInfo * areaInfo, APTR vectorBuffer, LONG maxVectors) (a0,a1,d0)
|
||||
+VOID SetRGB4(struct ViewPort * vp, LONG index, ULONG red, ULONG green, ULONG blue) (a0,d0,d1,d2,d3)
|
||||
VOID QBSBlit(struct bltnode * blit) (a1)
|
||||
VOID BltClear(PLANEPTR memBlock, ULONG byteCount, ULONG flags) (a1,d0,d1)
|
||||
-VOID RectFill(struct RastPort * rp, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (a1,d0,d1,d2,d3)
|
||||
-VOID BltPattern(struct RastPort * rp, const PLANEPTR mask, WORD xMin, WORD yMin,
|
||||
- WORD xMax, WORD yMax, UWORD maskBPR) (a1,a0,d0,d1,d2,d3,d4)
|
||||
-ULONG ReadPixel(struct RastPort * rp, WORD x, WORD y) (a1,d0,d1)
|
||||
-LONG WritePixel(struct RastPort * rp, WORD x, WORD y) (a1,d0,d1)
|
||||
-BOOL Flood(struct RastPort * rp, ULONG mode, WORD x, WORD y) (a1,d2,d0,d1)
|
||||
-VOID PolyDraw(struct RastPort * rp, WORD count, const WORD * polyTable) (a1,d0,a0)
|
||||
-VOID SetAPen(struct RastPort * rp, UBYTE pen) (a1,d0)
|
||||
-VOID SetBPen(struct RastPort * rp, UBYTE pen) (a1,d0)
|
||||
-VOID SetDrMd(struct RastPort * rp, UBYTE drawMode) (a1,d0)
|
||||
+VOID RectFill(struct RastPort * rp, LONG xMin, LONG yMin, LONG xMax, LONG yMax) (a1,d0,d1,d2,d3)
|
||||
+VOID BltPattern(struct RastPort * rp, CONST PLANEPTR mask, LONG xMin, LONG yMin, LONG xMax, LONG yMax, ULONG maskBPR) (a1,a0,d0,d1,d2,d3,d4)
|
||||
+ULONG ReadPixel(struct RastPort * rp, LONG x, LONG y) (a1,d0,d1)
|
||||
+LONG WritePixel(struct RastPort * rp, LONG x, LONG y) (a1,d0,d1)
|
||||
+BOOL Flood(struct RastPort * rp, ULONG mode, LONG x, LONG y) (a1,d2,d0,d1)
|
||||
+VOID PolyDraw(struct RastPort * rp, LONG count, CONST WORD * polyTable) (a1,d0,a0)
|
||||
+VOID SetAPen(struct RastPort * rp, ULONG pen) (a1,d0)
|
||||
+VOID SetBPen(struct RastPort * rp, ULONG pen) (a1,d0)
|
||||
+VOID SetDrMd(struct RastPort * rp, ULONG drawMode) (a1,d0)
|
||||
VOID InitView(struct View * view) (a1)
|
||||
VOID CBump(struct UCopList * copList) (a1)
|
||||
-VOID CMove(struct UCopList * copList, APTR destination, WORD data) (a1,d0,d1)
|
||||
-VOID CWait(struct UCopList * copList, WORD v, WORD h) (a1,d0,d1)
|
||||
+VOID CMove(struct UCopList * copList, APTR destination, LONG data) (a1,d0,d1)
|
||||
+VOID CWait(struct UCopList * copList, LONG v, LONG h) (a1,d0,d1)
|
||||
LONG VBeamPos() ()
|
||||
-VOID InitBitMap(struct BitMap * bitMap, BYTE depth, WORD width, WORD height) (a0,d0,d1,d2)
|
||||
-VOID ScrollRaster(struct RastPort * rp, WORD dx, WORD dy, WORD xMin, WORD yMin, WORD xMax,
|
||||
- WORD yMax) (a1,d0,d1,d2,d3,d4,d5)
|
||||
+VOID InitBitMap(struct BitMap * bitMap, LONG depth, LONG width, LONG height) (a0,d0,d1,d2)
|
||||
+VOID ScrollRaster(struct RastPort * rp, LONG dx, LONG dy, LONG xMin, LONG yMin, LONG xMax, LONG yMax) (a1,d0,d1,d2,d3,d4,d5)
|
||||
VOID WaitBOVP(struct ViewPort * vp) (a0)
|
||||
-WORD GetSprite(struct SimpleSprite * sprite, WORD num) (a0,d0)
|
||||
-VOID FreeSprite(WORD num) (d0)
|
||||
+WORD GetSprite(struct SimpleSprite * sprite, LONG num) (a0,d0)
|
||||
+VOID FreeSprite(LONG num) (d0)
|
||||
VOID ChangeSprite(struct ViewPort * vp, struct SimpleSprite * sprite, UWORD * newData) (a0,a1,a2)
|
||||
-VOID MoveSprite(struct ViewPort * vp, struct SimpleSprite * sprite, WORD x, WORD y) (a0,a1,d0,d1)
|
||||
+VOID MoveSprite(struct ViewPort * vp, struct SimpleSprite * sprite, LONG x, LONG y) (a0,a1,d0,d1)
|
||||
VOID LockLayerRom(struct Layer * layer) (a5)
|
||||
VOID UnlockLayerRom(struct Layer * layer) (a5)
|
||||
VOID SyncSBitMap(struct Layer * layer) (a0)
|
||||
@@ -100,138 +95,117 @@
|
||||
VOID AskFont(struct RastPort * rp, struct TextAttr * textAttr) (a1,a0)
|
||||
VOID AddFont(struct TextFont * textFont) (a1)
|
||||
VOID RemFont(struct TextFont * textFont) (a1)
|
||||
-PLANEPTR AllocRaster(UWORD width, UWORD height) (d0,d1)
|
||||
-VOID FreeRaster(PLANEPTR p, UWORD width, UWORD height) (a0,d0,d1)
|
||||
-VOID AndRectRegion(struct Region * region, const struct Rectangle * rectangle) (a0,a1)
|
||||
-BOOL OrRectRegion(struct Region * region, const struct Rectangle * rectangle) (a0,a1)
|
||||
+PLANEPTR AllocRaster(ULONG width, ULONG height) (d0,d1)
|
||||
+VOID FreeRaster(PLANEPTR p, ULONG width, ULONG height) (a0,d0,d1)
|
||||
+VOID AndRectRegion(struct Region * region, CONST struct Rectangle * rectangle) (a0,a1)
|
||||
+BOOL OrRectRegion(struct Region * region, CONST struct Rectangle * rectangle) (a0,a1)
|
||||
struct Region * NewRegion() ()
|
||||
-BOOL ClearRectRegion(struct Region * region, const struct Rectangle * rectangle) (a0,a1)
|
||||
+BOOL ClearRectRegion(struct Region * region, CONST struct Rectangle * rectangle) (a0,a1)
|
||||
VOID ClearRegion(struct Region * region) (a0)
|
||||
VOID DisposeRegion(struct Region * region) (a0)
|
||||
VOID FreeVPortCopLists(struct ViewPort * vp) (a0)
|
||||
VOID FreeCopList(struct CopList * copList) (a0)
|
||||
-VOID ClipBlit(struct RastPort * srcRP, WORD xSrc, WORD ySrc, struct RastPort * destRP,
|
||||
- WORD xDest, WORD yDest, WORD xSize, WORD ySize, UBYTE minterm) (a0,d0,d1,a1,d2,d3,d4,d5,d6)
|
||||
-BOOL XorRectRegion(struct Region * region, const struct Rectangle * rectangle) (a0,a1)
|
||||
+VOID ClipBlit(struct RastPort * srcRP, LONG xSrc, LONG ySrc, struct RastPort * destRP, LONG xDest, LONG yDest, LONG xSize, LONG ySize, ULONG minterm) (a0,d0,d1,a1,d2,d3,d4,d5,d6)
|
||||
+BOOL XorRectRegion(struct Region * region, CONST struct Rectangle * rectangle) (a0,a1)
|
||||
VOID FreeCprList(struct cprlist * cprList) (a0)
|
||||
struct ColorMap * GetColorMap(LONG entries) (d0)
|
||||
VOID FreeColorMap(struct ColorMap * colorMap) (a0)
|
||||
ULONG GetRGB4(struct ColorMap * colorMap, LONG entry) (a0,d0)
|
||||
VOID ScrollVPort(struct ViewPort * vp) (a0)
|
||||
-struct CopList * UCopperListInit(struct UCopList * uCopList, WORD n) (a0,d0)
|
||||
-VOID FreeGBuffers(struct AnimOb * anOb, struct RastPort * rp, BOOL flag) (a0,a1,d0)
|
||||
-VOID BltBitMapRastPort(const struct BitMap * srcBitMap, WORD xSrc, WORD ySrc,
|
||||
- struct RastPort * destRP, WORD xDest, WORD yDest, WORD xSize,
|
||||
- WORD ySize, UBYTE minterm) (a0,d0,d1,a1,d2,d3,d4,d5,d6)
|
||||
-BOOL OrRegionRegion(const struct Region * srcRegion, struct Region * destRegion) (a0,a1)
|
||||
-BOOL XorRegionRegion(const struct Region * srcRegion, struct Region * destRegion) (a0,a1)
|
||||
-BOOL AndRegionRegion(const struct Region * srcRegion, struct Region * destRegion) (a0,a1)
|
||||
-VOID SetRGB4CM(struct ColorMap * colorMap, WORD index, UBYTE red, UBYTE green,
|
||||
- UBYTE blue) (a0,d0,d1,d2,d3)
|
||||
-VOID BltMaskBitMapRastPort(const struct BitMap * srcBitMap, WORD xSrc, WORD ySrc,
|
||||
- struct RastPort * destRP, WORD xDest, WORD yDest, WORD xSize,
|
||||
- WORD ySize, UBYTE minterm, const PLANEPTR bltMask) (a0,d0,d1,a1,d2,d3,d4,d5,d6,a2)
|
||||
+struct CopList * UCopperListInit(struct UCopList * uCopList, LONG n) (a0,d0)
|
||||
+VOID FreeGBuffers(struct AnimOb * anOb, struct RastPort * rp, LONG flag) (a0,a1,d0)
|
||||
+VOID BltBitMapRastPort(CONST struct BitMap * srcBitMap, LONG xSrc, LONG ySrc, struct RastPort * destRP, LONG xDest, LONG yDest, LONG xSize, LONG ySize, ULONG minterm) (a0,d0,d1,a1,d2,d3,d4,d5,d6)
|
||||
+BOOL OrRegionRegion(CONST struct Region * srcRegion, struct Region * destRegion) (a0,a1)
|
||||
+BOOL XorRegionRegion(CONST struct Region * srcRegion, struct Region * destRegion) (a0,a1)
|
||||
+BOOL AndRegionRegion(CONST struct Region * srcRegion, struct Region * destRegion) (a0,a1)
|
||||
+VOID SetRGB4CM(struct ColorMap * colorMap, LONG index, ULONG red, ULONG green, ULONG blue) (a0,d0,d1,d2,d3)
|
||||
+VOID BltMaskBitMapRastPort(CONST struct BitMap * srcBitMap, LONG xSrc, LONG ySrc, struct RastPort * destRP, LONG xDest, LONG yDest, LONG xSize, LONG ySize, ULONG minterm, CONST PLANEPTR bltMask) (a0,d0,d1,a1,d2,d3,d4,d5,d6,a2)
|
||||
==reserve 2
|
||||
BOOL AttemptLockLayerRom(struct Layer * layer) (a5)
|
||||
==version 36
|
||||
APTR GfxNew(ULONG gfxNodeType) (d0)
|
||||
VOID GfxFree(APTR gfxNodePtr) (a0)
|
||||
-VOID GfxAssociate(const APTR associateNode, APTR gfxNodePtr) (a0,a1)
|
||||
+VOID GfxAssociate(CONST APTR associateNode, APTR gfxNodePtr) (a0,a1)
|
||||
VOID BitMapScale(struct BitScaleArgs * bitScaleArgs) (a0)
|
||||
-UWORD ScalerDiv(UWORD factor, UWORD numerator, UWORD denominator) (d0,d1,d2)
|
||||
-WORD TextExtent(struct RastPort * rp, CONST_STRPTR string, WORD count,
|
||||
- struct TextExtent * textExtent) (a1,a0,d0,a2)
|
||||
-ULONG TextFit(struct RastPort * rp, CONST_STRPTR string, UWORD strLen,
|
||||
- const struct TextExtent * textExtent,
|
||||
- const struct TextExtent * constrainingExtent, WORD strDirection,
|
||||
- UWORD constrainingBitWidth, UWORD constrainingBitHeight) (a1,a0,d0,a2,a3,d1,d2,d3)
|
||||
-APTR GfxLookUp(const APTR associateNode) (a0)
|
||||
+UWORD ScalerDiv(ULONG factor, ULONG numerator, ULONG denominator) (d0,d1,d2)
|
||||
+WORD TextExtent(struct RastPort * rp, CONST_STRPTR string, LONG count, struct TextExtent * textExtent) (a1,a0,d0,a2)
|
||||
+ULONG TextFit(struct RastPort * rp, CONST_STRPTR string, ULONG strLen, CONST struct TextExtent * textExtent, CONST struct TextExtent * constrainingExtent, LONG strDirection, ULONG constrainingBitWidth, ULONG constrainingBitHeight) (a1,a0,d0,a2,a3,d1,d2,d3)
|
||||
+APTR GfxLookUp(CONST APTR associateNode) (a0)
|
||||
BOOL VideoControl(struct ColorMap * colorMap, struct TagItem * tagarray) (a0,a1)
|
||||
==varargs
|
||||
-BOOL VideoControlTags(struct ColorMap * colorMap, ULONG tagarray, ...) (a0,a1)
|
||||
+BOOL VideoControlTags(struct ColorMap * colorMap, Tag tagarray, ...) (a0,a1)
|
||||
struct MonitorSpec * OpenMonitor(CONST_STRPTR monitorName, ULONG displayID) (a1,d0)
|
||||
BOOL CloseMonitor(struct MonitorSpec * monitorSpec) (a0)
|
||||
DisplayInfoHandle FindDisplayInfo(ULONG displayID) (d0)
|
||||
ULONG NextDisplayInfo(ULONG displayID) (d0)
|
||||
==reserve 3
|
||||
-ULONG GetDisplayInfoData(const DisplayInfoHandle handle, APTR buf, ULONG size, ULONG tagID,
|
||||
- ULONG displayID) (a0,a1,d0,d1,d2)
|
||||
-VOID FontExtent(const struct TextFont * font, struct TextExtent * fontExtent) (a0,a1)
|
||||
-LONG ReadPixelLine8(struct RastPort * rp, UWORD xstart, UWORD ystart, UWORD width,
|
||||
- UBYTE * array, struct RastPort * tempRP) (a0,d0,d1,d2,a2,a1)
|
||||
-LONG WritePixelLine8(struct RastPort * rp, UWORD xstart, UWORD ystart, UWORD width,
|
||||
- UBYTE * array, struct RastPort * tempRP) (a0,d0,d1,d2,a2,a1)
|
||||
-LONG ReadPixelArray8(struct RastPort * rp, UWORD xstart, UWORD ystart, UWORD xstop,
|
||||
- UWORD ystop, UBYTE * array, struct RastPort * temprp) (a0,d0,d1,d2,d3,a2,a1)
|
||||
-LONG WritePixelArray8(struct RastPort * rp, UWORD xstart, UWORD ystart, UWORD xstop,
|
||||
- UWORD ystop, UBYTE * array, struct RastPort * temprp) (a0,d0,d1,d2,d3,a2,a1)
|
||||
-LONG GetVPModeID(const struct ViewPort * vp) (a0)
|
||||
+ULONG GetDisplayInfoData(CONST DisplayInfoHandle handle, APTR buf, ULONG size, ULONG tagID, ULONG displayID) (a0,a1,d0,d1,d2)
|
||||
+VOID FontExtent(CONST struct TextFont * font, struct TextExtent * fontExtent) (a0,a1)
|
||||
+LONG ReadPixelLine8(struct RastPort * rp, ULONG xstart, ULONG ystart, ULONG width, UBYTE * array, struct RastPort * tempRP) (a0,d0,d1,d2,a2,a1)
|
||||
+LONG WritePixelLine8(struct RastPort * rp, ULONG xstart, ULONG ystart, ULONG width, UBYTE * array, struct RastPort * tempRP) (a0,d0,d1,d2,a2,a1)
|
||||
+LONG ReadPixelArray8(struct RastPort * rp, ULONG xstart, ULONG ystart, ULONG xstop, ULONG ystop, UBYTE * array, struct RastPort * temprp) (a0,d0,d1,d2,d3,a2,a1)
|
||||
+LONG WritePixelArray8(struct RastPort * rp, ULONG xstart, ULONG ystart, ULONG xstop, ULONG ystop, UBYTE * array, struct RastPort * temprp) (a0,d0,d1,d2,d3,a2,a1)
|
||||
+LONG GetVPModeID(CONST struct ViewPort * vp) (a0)
|
||||
LONG ModeNotAvailable(ULONG modeID) (d0)
|
||||
==reserve 1
|
||||
-VOID EraseRect(struct RastPort * rp, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (a1,d0,d1,d2,d3)
|
||||
-ULONG ExtendFont(struct TextFont * font, const struct TagItem * fontTags) (a0,a1)
|
||||
+VOID EraseRect(struct RastPort * rp, LONG xMin, LONG yMin, LONG xMax, LONG yMax) (a1,d0,d1,d2,d3)
|
||||
+ULONG ExtendFont(struct TextFont * font, CONST struct TagItem * fontTags) (a0,a1)
|
||||
==varargs
|
||||
-ULONG ExtendFontTags(struct TextFont * font, ULONG fontTags, ...) (a0,a1)
|
||||
+ULONG ExtendFontTags(struct TextFont * font, Tag fontTags, ...) (a0,a1)
|
||||
VOID StripFont(struct TextFont * font) (a0)
|
||||
==version 39
|
||||
UWORD CalcIVG(struct View * v, struct ViewPort * vp) (a0,a1)
|
||||
LONG AttachPalExtra(struct ColorMap * cm, struct ViewPort * vp) (a0,a1)
|
||||
-LONG ObtainBestPenA(struct ColorMap * cm, ULONG r, ULONG g, ULONG b,
|
||||
- const struct TagItem * tags) (a0,d1,d2,d3,a1)
|
||||
+LONG ObtainBestPenA(struct ColorMap * cm, ULONG r, ULONG g, ULONG b, CONST struct TagItem * tags) (a0,d1,d2,d3,a1)
|
||||
==varargs
|
||||
-LONG ObtainBestPen(struct ColorMap * cm, ULONG r, ULONG g, ULONG b, ULONG tags, ...) (a0,d1,d2,d3,a1)
|
||||
+LONG ObtainBestPen(struct ColorMap * cm, ULONG r, ULONG g, ULONG b, Tag tags, ...) (a0,d1,d2,d3,a1)
|
||||
==reserve 1
|
||||
VOID SetRGB32(struct ViewPort * vp, ULONG n, ULONG r, ULONG g, ULONG b) (a0,d0,d1,d2,d3)
|
||||
ULONG GetAPen(struct RastPort * rp) (a0)
|
||||
ULONG GetBPen(struct RastPort * rp) (a0)
|
||||
ULONG GetDrMd(struct RastPort * rp) (a0)
|
||||
ULONG GetOutlinePen(struct RastPort * rp) (a0)
|
||||
-VOID LoadRGB32(struct ViewPort * vp, const ULONG * table) (a0,a1)
|
||||
+VOID LoadRGB32(struct ViewPort * vp, CONST ULONG * table) (a0,a1)
|
||||
ULONG SetChipRev(ULONG want) (d0)
|
||||
VOID SetABPenDrMd(struct RastPort * rp, ULONG apen, ULONG bpen, ULONG drawmode) (a1,d0,d1,d2)
|
||||
-VOID GetRGB32(const struct ColorMap * cm, ULONG firstcolor, ULONG ncolors,
|
||||
- ULONG * table) (a0,d0,d1,a1)
|
||||
+VOID GetRGB32(CONST struct ColorMap * cm, ULONG firstcolor, ULONG ncolors, ULONG * table) (a0,d0,d1,a1)
|
||||
==reserve 2
|
||||
struct BitMap * AllocBitMap(ULONG sizex, ULONG sizey, ULONG depth, ULONG flags,
|
||||
const struct BitMap * friend_bitmap) (d0,d1,d2,d3,a0)
|
||||
VOID FreeBitMap(struct BitMap * bm) (a0)
|
||||
-LONG GetExtSpriteA(struct ExtSprite * ss, const struct TagItem * tags) (a2,a1)
|
||||
+LONG GetExtSpriteA(struct ExtSprite * ss, CONST struct TagItem * tags) (a2,a1)
|
||||
==varargs
|
||||
-LONG GetExtSprite(struct ExtSprite * ss, ULONG tags, ...) (a2,a1)
|
||||
+LONG GetExtSprite(struct ExtSprite * ss, Tag tags, ...) (a2,a1)
|
||||
ULONG CoerceMode(struct ViewPort * vp, ULONG monitorid, ULONG flags) (a0,d0,d1)
|
||||
VOID ChangeVPBitMap(struct ViewPort * vp, struct BitMap * bm, struct DBufInfo * db) (a0,a1,a2)
|
||||
VOID ReleasePen(struct ColorMap * cm, ULONG n) (a0,d0)
|
||||
ULONG ObtainPen(struct ColorMap * cm, ULONG n, ULONG r, ULONG g, ULONG b, LONG f) (a0,d0,d1,d2,d3,d4)
|
||||
-ULONG GetBitMapAttr(const struct BitMap * bm, ULONG attrnum) (a0,d1)
|
||||
+ULONG GetBitMapAttr(CONST struct BitMap * bm, ULONG attrnum) (a0,d1)
|
||||
struct DBufInfo * AllocDBufInfo(struct ViewPort * vp) (a0)
|
||||
VOID FreeDBufInfo(struct DBufInfo * dbi) (a1)
|
||||
ULONG SetOutlinePen(struct RastPort * rp, ULONG pen) (a0,d0)
|
||||
ULONG SetWriteMask(struct RastPort * rp, ULONG msk) (a0,d0)
|
||||
VOID SetMaxPen(struct RastPort * rp, ULONG maxpen) (a0,d0)
|
||||
VOID SetRGB32CM(struct ColorMap * cm, ULONG n, ULONG r, ULONG g, ULONG b) (a0,d0,d1,d2,d3)
|
||||
-VOID ScrollRasterBF(struct RastPort * rp, WORD dx, WORD dy, WORD xMin, WORD yMin, WORD xMax,
|
||||
- WORD yMax) (a1,d0,d1,d2,d3,d4,d5)
|
||||
+VOID ScrollRasterBF(struct RastPort * rp, LONG dx, LONG dy, LONG xMin, LONG yMin, LONG xMax, LONG yMax) (a1,d0,d1,d2,d3,d4,d5)
|
||||
LONG FindColor(struct ColorMap * cm, ULONG r, ULONG g, ULONG b, LONG maxcolor) (a3,d1,d2,d3,d4)
|
||||
==reserve 1
|
||||
-struct ExtSprite * AllocSpriteDataA(const struct BitMap * bm, const struct TagItem * tags) (a2,a1)
|
||||
+struct ExtSprite * AllocSpriteDataA(CONST struct BitMap * bm, CONST struct TagItem * tags) (a2,a1)
|
||||
==varargs
|
||||
-struct ExtSprite * AllocSpriteData(const struct BitMap * bm, ULONG tags, ...) (a2,a1)
|
||||
-LONG ChangeExtSpriteA(struct ViewPort * vp, struct ExtSprite * oldsprite,
|
||||
- struct ExtSprite * newsprite, const struct TagItem * tags) (a0,a1,a2,a3)
|
||||
+struct ExtSprite * AllocSpriteData(CONST struct BitMap * bm, Tag tags, ...) (a2,a1)
|
||||
+LONG ChangeExtSpriteA(struct ViewPort * vp, struct ExtSprite * oldsprite, struct ExtSprite * newsprite, CONST struct TagItem * tags) (a0,a1,a2,a3)
|
||||
==varargs
|
||||
-LONG ChangeExtSprite(struct ViewPort * vp, struct ExtSprite * oldsprite,
|
||||
- struct ExtSprite * newsprite, ULONG tags, ...) (a0,a1,a2,a3)
|
||||
+LONG ChangeExtSprite(struct ViewPort * vp, struct ExtSprite * oldsprite, struct ExtSprite * newsprite, Tag tags, ...) (a0,a1,a2,a3)
|
||||
VOID FreeSpriteData(struct ExtSprite * sp) (a2)
|
||||
-VOID SetRPAttrsA(struct RastPort * rp, const struct TagItem * tags) (a0,a1)
|
||||
+VOID SetRPAttrsA(struct RastPort * rp, CONST struct TagItem * tags) (a0,a1)
|
||||
==varargs
|
||||
-VOID SetRPAttrs(struct RastPort * rp, ULONG tags, ...) (a0,a1)
|
||||
-VOID GetRPAttrsA(const struct RastPort * rp, const struct TagItem * tags) (a0,a1)
|
||||
+VOID SetRPAttrs(struct RastPort * rp, Tag tags, ...) (a0,a1)
|
||||
+VOID GetRPAttrsA(CONST struct RastPort * rp, CONST struct TagItem * tags) (a0,a1)
|
||||
==varargs
|
||||
-VOID GetRPAttrs(const struct RastPort * rp, ULONG tags, ...) (a0,a1)
|
||||
-ULONG BestModeIDA(const struct TagItem * tags) (a0)
|
||||
+VOID GetRPAttrs(CONST struct RastPort * rp, Tag tags, ...) (a0,a1)
|
||||
+ULONG BestModeIDA(CONST struct TagItem * tags) (a0)
|
||||
==varargs
|
||||
-ULONG BestModeID(ULONG tags, ...) (a0)
|
||||
+ULONG BestModeID(Tag tags, ...) (a0)
|
||||
==version 40
|
||||
-VOID WriteChunkyPixels(struct RastPort * rp, UWORD xstart, UWORD ystart, UWORD xstop,
|
||||
- UWORD ystop, const UBYTE * array, LONG bytesperrow) (a0,d0,d1,d2,d3,a2,d4)
|
||||
+VOID WriteChunkyPixels(struct RastPort * rp, ULONG xstart, ULONG ystart, ULONG xstop, ULONG ystop, CONST UBYTE * array, LONG bytesperrow) (a0,d0,d1,d2,d3,a2,d4)
|
||||
==end
|
||||
25
patches/cgx-4.2/WritePixelArrayAlpha.diff
Normal file
25
patches/cgx-4.2/WritePixelArrayAlpha.diff
Normal file
@ -0,0 +1,25 @@
|
||||
--- CGraphX/C/Include/clib/cybergraphics_protos.h.orig 2017-01-11 00:55:08.000000000 +0100
|
||||
+++ CGraphX/C/Include/clib/cybergraphics_protos.h 2017-01-11 00:54:31.000000000 +0100
|
||||
@@ -44,6 +44,8 @@
|
||||
void UnLockBitMap(APTR);
|
||||
ULONG WritePixelArray(APTR, UWORD, UWORD, UWORD, struct RastPort *, UWORD,
|
||||
UWORD, UWORD, UWORD, UBYTE);
|
||||
+ULONG WritePixelArrayAlpha(APTR, UWORD, UWORD, UWORD, struct RastPort *,
|
||||
+ UWORD, UWORD, UWORD, UWORD, ULONG);
|
||||
ULONG WriteLUTPixelArray(APTR, UWORD, UWORD, UWORD, struct RastPort *, APTR,
|
||||
UWORD, UWORD, UWORD, UWORD, UBYTE);
|
||||
LONG WriteRGBPixel(struct RastPort *, UWORD, UWORD, ULONG);
|
||||
--- CGraphX/FD/cybergraphics_lib.fd.orig 2017-01-11 00:50:21.000000000 +0100
|
||||
+++ CGraphX/FD/cybergraphics_lib.fd 2017-01-11 00:52:18.000000000 +0100
|
||||
@@ -67,4 +67,11 @@
|
||||
##public
|
||||
*
|
||||
WriteLUTPixelArray(srcRect,SrcX,SrcY,SrcMod,RastPort,ColorTab,DestX,DestY,SizeX,SizeY,CTFormat)(a0,d0,d1,d2,a1,a2,d3,d4,d5,d6,d7)
|
||||
+*
|
||||
+##private
|
||||
+cgfxPrivate8()()
|
||||
+cgfxPrivate9()()
|
||||
+##public
|
||||
+*
|
||||
+WritePixelArrayAlpha(Src,SrcX,SrcY,SrcMod,RastPort,DestX,DestY,Width,Height,GlobalAlpha)(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7)
|
||||
##end
|
||||
25
sdk/mmu.sdk
25
sdk/mmu.sdk
@ -1,5 +1,5 @@
|
||||
Short: m68k MMU control library
|
||||
Version: 43.11
|
||||
Version: 46.3
|
||||
Url: http://aminet.net/docs/misc/MuManual.lha
|
||||
|
||||
MuManual/Autodocs/68040 = 68040.guide
|
||||
@ -13,20 +13,18 @@ MuManual/Autodocs/disassembler.doc
|
||||
MuManual/Autodocs/exceptions.doc
|
||||
MuManual/Autodocs/fpsp = fpsp.guide
|
||||
MuManual/Autodocs/fpsp.doc
|
||||
MuManual/Autodocs/memory = memory.guide
|
||||
MuManual/Autodocs/memory.doc
|
||||
MuManual/Autodocs/mmu = mmu.guide
|
||||
MuManual/Autodocs/mmu.doc
|
||||
MuManual/Autodocs/mmuexternals.doc
|
||||
MuManual/Autodocs/mmures = mmures.guide
|
||||
MuManual/Autodocs/mmures.doc
|
||||
MuManual/Include/68040_lib.fd
|
||||
MuManual/Include/68060_lib.fd
|
||||
MuManual/Include/680x0_lib.fd
|
||||
MuManual/Include/clib/68040_protos.h
|
||||
MuManual/Include/clib/68060_protos.h
|
||||
MuManual/Include/clib/680x0_protos.h
|
||||
MuManual/Include/clib/disassembler_protos.h
|
||||
MuManual/Include/clib/mmu_protos.h
|
||||
MuManual/Include/disassembler_lib.fd
|
||||
MuManual/Include/libraries/68040.h
|
||||
MuManual/Include/libraries/68040.i
|
||||
MuManual/Include/libraries/68060.h
|
||||
@ -49,18 +47,21 @@ MuManual/Include/mmu/mmubase.h
|
||||
MuManual/Include/mmu/mmubase.i
|
||||
MuManual/Include/mmu/mmutags.h
|
||||
MuManual/Include/mmu/mmutags.i
|
||||
MuManual/Include/mmu_lib.fd
|
||||
MuManual/Include/pragmas/68040_pragmas.h
|
||||
MuManual/Include/pragmas/68060_pragmas.h
|
||||
MuManual/Include/pragmas/680x0_pragmas.h
|
||||
MuManual/Include/pragmas/disassembler_pragmas.h
|
||||
MuManual/Include/pragmas/mmu_pragmas.h
|
||||
MuManual/Manual/mmudoc_600.ps = mmudoc.ps
|
||||
fd2sfd : MuManual/Include/68040_lib.fd MuManual/Include/clib/68040_protos.h
|
||||
fd2sfd : MuManual/Include/68060_lib.fd MuManual/Include/clib/68060_protos.h
|
||||
fd2sfd : MuManual/Include/680x0_lib.fd MuManual/Include/clib/680x0_protos.h
|
||||
fd2sfd : MuManual/Include/disassembler_lib.fd MuManual/Include/clib/disassembler_protos.h
|
||||
fd2sfd : MuManual/Include/mmu_lib.fd MuManual/Include/clib/mmu_protos.h
|
||||
MuManual/fd/68040_lib.fd
|
||||
MuManual/fd/68060_lib.fd
|
||||
MuManual/fd/680x0_lib.fd
|
||||
MuManual/fd/disassembler_lib.fd
|
||||
MuManual/Manual/mmudoc.pdf
|
||||
fd2sfd : MuManual/fd/68040_lib.fd MuManual/Include/clib/68040_protos.h
|
||||
fd2sfd : MuManual/fd/68060_lib.fd MuManual/Include/clib/68060_protos.h
|
||||
fd2sfd : MuManual/fd/680x0_lib.fd MuManual/Include/clib/680x0_protos.h
|
||||
fd2sfd : MuManual/fd/disassembler_lib.fd MuManual/Include/clib/disassembler_protos.h
|
||||
fd2sfd : MuManual/fd/mmu_lib.fd MuManual/Include/clib/mmu_protos.h
|
||||
sfdc : 68040_lib.sfd
|
||||
sfdc : 68060_lib.sfd
|
||||
sfdc : 680x0_lib.sfd
|
||||
|
||||
183
sdk/mui.sdk
183
sdk/mui.sdk
@ -1,80 +1,113 @@
|
||||
Short: Magic User Interface
|
||||
Version: 3.8
|
||||
Url: http://aminet.net/dev/mui/mui38dev.lha
|
||||
Version: 5.0-2016R3
|
||||
Url: https://muidev.de/download/MUI%205.0%20-%20Release/MUI-5.0-2016R3-os3.lha
|
||||
|
||||
MUI/Developer/Autodocs/MUI_Aboutmui.doc
|
||||
MUI/Developer/Autodocs/MUI_Application.doc
|
||||
MUI/Developer/Autodocs/MUI_Applist.doc
|
||||
MUI/Developer/Autodocs/MUI_Area.doc
|
||||
MUI/Developer/Autodocs/MUI_Balance.doc
|
||||
MUI/Developer/Autodocs/MUI_Bitmap.doc
|
||||
MUI/Developer/Autodocs/MUI_Bodychunk.doc
|
||||
MUI/Developer/Autodocs/MUI_Boopsi.doc
|
||||
MUI/Developer/Autodocs/MUI_Cclist.doc
|
||||
MUI/Developer/Autodocs/MUI_Coloradjust.doc
|
||||
MUI/Developer/Autodocs/MUI_Colorfield.doc
|
||||
MUI/Developer/Autodocs/MUI_Configdata.doc
|
||||
MUI/Developer/Autodocs/MUI_Cycle.doc
|
||||
MUI/Developer/Autodocs/MUI_Dataspace.doc
|
||||
MUI/Developer/Autodocs/MUI_Dirlist.doc
|
||||
MUI/Developer/Autodocs/MUI_Dtpic.doc
|
||||
MUI/Developer/Autodocs/MUI_Family.doc
|
||||
MUI/Developer/Autodocs/MUI_Floattext.doc
|
||||
MUI/Developer/Autodocs/MUI_Frameadjust.doc
|
||||
MUI/Developer/Autodocs/MUI_Framedisplay.doc
|
||||
MUI/Developer/Autodocs/MUI_Gadget.doc
|
||||
MUI/Developer/Autodocs/MUI_Gauge.doc
|
||||
MUI/Developer/Autodocs/MUI_Group.doc
|
||||
MUI/Developer/Autodocs/MUI_Image.doc
|
||||
MUI/Developer/Autodocs/MUI_Imageadjust.doc
|
||||
MUI/Developer/Autodocs/MUI_Imagedisplay.doc
|
||||
MUI/Developer/Autodocs/MUI_Knob.doc
|
||||
MUI/Developer/Autodocs/MUI_Levelmeter.doc
|
||||
MUI/Developer/Autodocs/MUI_List.doc
|
||||
MUI/Developer/Autodocs/MUI_Listview.doc
|
||||
MUI/Developer/Autodocs/MUI_Mccprefs.doc
|
||||
MUI/Developer/Autodocs/MUI_Menu.doc
|
||||
MUI/Developer/Autodocs/MUI_Menuitem.doc
|
||||
MUI/Developer/Autodocs/MUI_Menustrip.doc
|
||||
MUI/Developer/Autodocs/MUI_Notify.doc
|
||||
MUI/Developer/Autodocs/MUI_Numeric.doc
|
||||
MUI/Developer/Autodocs/MUI_Numericbutton.doc
|
||||
MUI/Developer/Autodocs/MUI_Palette.doc
|
||||
MUI/Developer/Autodocs/MUI_Penadjust.doc
|
||||
MUI/Developer/Autodocs/MUI_Pendisplay.doc
|
||||
MUI/Developer/Autodocs/MUI_Popasl.doc
|
||||
MUI/Developer/Autodocs/MUI_Popframe.doc
|
||||
MUI/Developer/Autodocs/MUI_Popimage.doc
|
||||
MUI/Developer/Autodocs/MUI_Poplist.doc
|
||||
MUI/Developer/Autodocs/MUI_Popobject.doc
|
||||
MUI/Developer/Autodocs/MUI_Poppen.doc
|
||||
MUI/Developer/Autodocs/MUI_Popscreen.doc
|
||||
MUI/Developer/Autodocs/MUI_Popstring.doc
|
||||
MUI/Developer/Autodocs/MUI_Prop.doc
|
||||
MUI/Developer/Autodocs/MUI_Radio.doc
|
||||
MUI/Developer/Autodocs/MUI_Rectangle.doc
|
||||
MUI/Developer/Autodocs/MUI_Register.doc
|
||||
MUI/Developer/Autodocs/MUI_Scale.doc
|
||||
MUI/Developer/Autodocs/MUI_Scrmodelist.doc
|
||||
MUI/Developer/Autodocs/MUI_Scrollbar.doc
|
||||
MUI/Developer/Autodocs/MUI_Scrollgroup.doc
|
||||
MUI/Developer/Autodocs/MUI_Semaphore.doc
|
||||
MUI/Developer/Autodocs/MUI_Settings.doc
|
||||
MUI/Developer/Autodocs/MUI_Settingsgroup.doc
|
||||
MUI/Developer/Autodocs/MUI_Slider.doc
|
||||
MUI/Developer/Autodocs/MUI_String.doc
|
||||
MUI/Developer/Autodocs/MUI_Text.doc
|
||||
MUI/Developer/Autodocs/MUI_Virtgroup.doc
|
||||
MUI/Developer/Autodocs/MUI_Volumelist.doc
|
||||
MUI/Developer/Autodocs/MUI_Window.doc
|
||||
MUI/Developer/Autodocs/MUImaster.doc
|
||||
MUI/Developer/Docs/MUIdev.guide
|
||||
MUI/Developer/C/Include/clib/muimaster_protos.h
|
||||
MUI/Developer/C/Include/libraries/mui.h
|
||||
MUI/Developer/C/Include/pragma/muimaster_lib.h
|
||||
MUI/Developer/C/Include/pragmas/muimaster_pragmas.h
|
||||
MUI/Developer/FD/muimaster_lib.fd
|
||||
fd2sfd : MUI/Developer/FD/muimaster_lib.fd MUI/Developer/C/Include/clib/muimaster_protos.h
|
||||
SDK/MUI/Autodocs/MCC/MCC_NumericString.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_BetterBalance.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Aboutbox.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Crawling.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Rawimage.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_NumericList.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Urltext.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_ColorSlider.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Busy.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_GIFAnim.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Listtree.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Lamp.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Hyperlink.doc
|
||||
SDK/MUI/Autodocs/MCC/MCC_Popplaceholder.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Family.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Menu.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Popscreen.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Numericbutton.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Listview.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Notify.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Register.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Numeric.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Scrollbar.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Dataspace.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Coloradjust.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Dtpic.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Pixmap.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Menustrip.doc
|
||||
SDK/MUI/Autodocs/MUI/muimaster.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Pendisplay.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Colorfield.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Popobject.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Balance.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Process.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Image.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Knob.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Palette.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_List.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Menuitem.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Poppen.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Bitmap.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Textdata.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Scale.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Objectmap.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Application.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Floattext.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Bodychunk.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_String.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Fontdisplay.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Slave.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Rectangle.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Gauge.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Poplist.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Popasl.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Prop.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Mccprefs.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Slider.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Argstring.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Area.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Datamap.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Text.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Virtgroup.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Popstring.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Keyadjust.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Title.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Cycle.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Semaphore.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Dirlist.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Scrollgroup.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Group.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Gadget.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Volumelist.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Boopsi.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Penadjust.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Window.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Aboutmui.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Scrmodelist.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Radio.doc
|
||||
SDK/MUI/Autodocs/MUI/MUI_Levelmeter.doc
|
||||
SDK/MUI/Docs/MUIdev.guide
|
||||
SDK/MUI/C/include/clib/muimaster_protos.h
|
||||
SDK/MUI/C/include/libraries/mui.h
|
||||
SDK/MUI/C/include/pragma/muimaster_lib.h
|
||||
SDK/MUI/C/include/pragmas/muimaster_pragmas.h
|
||||
SDK/MUI/C/include/mui/Crawling_mcc.h
|
||||
SDK/MUI/C/include/mui/ListtreeName_mcc.h
|
||||
SDK/MUI/C/include/mui/GIFAnim_mcc.h
|
||||
SDK/MUI/C/include/mui/ColorSlider_mcc.h
|
||||
SDK/MUI/C/include/mui/Rawimage_mcc.h
|
||||
SDK/MUI/C/include/mui/Clock_mcc.h
|
||||
SDK/MUI/C/include/mui/NumericString_mcc.h
|
||||
SDK/MUI/C/include/mui/Popplaceholder_mcc.h
|
||||
SDK/MUI/C/include/mui/Aboutbox_mcc.h
|
||||
SDK/MUI/C/include/mui/Newstring_mcc.h
|
||||
SDK/MUI/C/include/mui/Lamp_mcc.h
|
||||
SDK/MUI/C/include/mui/Listtree_mcc.h
|
||||
SDK/MUI/C/include/mui/Urltext_mcc.h
|
||||
SDK/MUI/C/include/mui/Busy_mcc.h
|
||||
SDK/MUI/C/include/mui/NumericList_mcc.h
|
||||
SDK/MUI/C/include/mui/Calltips_mcc.h
|
||||
SDK/MUI/C/include/mui/BetterBalance_mcc.h
|
||||
SDK/MUI/C/include/mui/Hyperlink_mcc.h
|
||||
SDK/MUI/C/lib/libmui.a
|
||||
SDK/MUI/fd/muimaster_lib.fd
|
||||
SDK/MUI/sfd/muimaster_lib.sfd
|
||||
fd2sfd : SDK/MUI/fd/muimaster_lib.fd SDK/MUI/C/include/clib/muimaster_protos.h
|
||||
sfdc : muimaster_lib.sfd
|
||||
stubs : muimaster_lib.sfd
|
||||
lib : muimaster_lib.sfd
|
||||
|
||||
@ -60,6 +60,11 @@ def prepare_target():
|
||||
mkdir('bin', 'doc', 'etc', 'lib', 'm68k-amigaos', 'os-include',
|
||||
'os-include/lvo', 'os-lib', 'os-lib/fd', 'os-lib/sfd',
|
||||
'vbcc-include', 'vbcc-lib')
|
||||
with cwd('{prefix}'):
|
||||
mkdir('bin', 'etc', '{target}')
|
||||
with cwd('{prefix}/{target}'):
|
||||
mkdir('bin', 'ndk/include/inline', 'ndk/include/lvo',
|
||||
'ndk/lib', 'ndk/lib/fd', 'ndk/lib/sfd')
|
||||
|
||||
|
||||
@recipe('{NDK}-install')
|
||||
@ -92,6 +97,25 @@ def headers_install():
|
||||
# copytree('{sources}/{ixemul}/include', '{target}/m68k-amigaos/libnix/include')
|
||||
|
||||
|
||||
@recipe('fd2sfd-install')
|
||||
def install_fd2sfd():
|
||||
info('installing fd2sfd')
|
||||
|
||||
copy('{build}/fd2sfd/fd2sfd', '{prefix}/bin')
|
||||
copy('{build}/fd2sfd/cross/share/{target}/alib.h',
|
||||
'{prefix}/{target}/ndk/include/inline')
|
||||
|
||||
|
||||
@recipe('fd2pragma-install')
|
||||
def install_fd2pragma():
|
||||
info('installing fd2pragma')
|
||||
|
||||
copy('{build}/fd2pragma/fd2pragma', '{prefix}/bin')
|
||||
for header in ['macros.h', 'stubs.h']:
|
||||
copy(path.join('{build}/fd2pragma/Include/inline', header),
|
||||
'{prefix}/{target}/ndk/include/inline')
|
||||
|
||||
|
||||
@recipe('tools-install')
|
||||
def install_tools():
|
||||
info('installing extra tools')
|
||||
@ -382,7 +406,7 @@ def _build(pull):
|
||||
unpack('fd2sfd', work_dir='{build}')
|
||||
configure('fd2sfd', '--prefix={target}', from_dir='{build}/fd2sfd')
|
||||
make('fd2sfd')
|
||||
make('fd2sfd', 'install')
|
||||
install_fd2sfd()
|
||||
|
||||
update_autotools('{submodules}/sfdc')
|
||||
unpack('sfdc')
|
||||
@ -568,7 +592,7 @@ def add_lib(src, libname):
|
||||
obj = re.sub(r'\.a$', r'.o', libname)
|
||||
|
||||
for libdir, cflags in MULTILIB:
|
||||
lib = path.join('{target}/m68k-amigaos/libnix/lib', libdir, libname)
|
||||
lib = path.join('{prefix}/{target}/lib', libdir, libname)
|
||||
info('lib: "%s" -> "%s"', obj, lib)
|
||||
cflags = list(cflags) + ['-noixemul', '-c', '-o', obj, src]
|
||||
execute('m68k-amigaos-gcc', '-Wall', '-O3', '-fomit-frame-pointer', *cflags)
|
||||
@ -577,8 +601,8 @@ def add_lib(src, libname):
|
||||
|
||||
|
||||
@recipe('install-sdk', 1)
|
||||
def process_sdk(sdk, dirname, files):
|
||||
with cwd(path.join('{sources}', dirname)):
|
||||
def process_sdk(sdk, lib_name, files):
|
||||
with cwd(path.join('{sources}', sdk)):
|
||||
for f in files:
|
||||
kind = f[0]
|
||||
|
||||
@ -591,14 +615,14 @@ def process_sdk(sdk, dirname, files):
|
||||
sfd = sfd + '.sfd'
|
||||
info('fd2sfd: "%s" "%s" -> "%s"', fd, protos, sfd)
|
||||
execute('fd2sfd', '-o', sfd, fd, protos)
|
||||
copy(sfd, path.join('{target}/os-lib/sfd', sfd))
|
||||
copy(sfd, path.join('{prefix}/{target}/lib/sfd', sfd))
|
||||
elif kind == 'sfdc':
|
||||
source = f[1]
|
||||
basename = re.sub(r'_lib.sfd$', r'', path.basename(source))
|
||||
|
||||
proto = path.join('{target}/os-include/proto', basename + '.h')
|
||||
inline = path.join('{target}/os-include/inline', basename + '.h')
|
||||
lvo = path.join('{target}/os-include/lvo', basename + '.i')
|
||||
proto = path.join('{prefix}/{target}/include/proto', basename + '.h')
|
||||
inline = path.join('{prefix}/{target}/include/inline', basename + '.h')
|
||||
lvo = path.join('{prefix}/{target}/include/lvo', basename + '.i')
|
||||
|
||||
info('sfdc: "%s" -> "%s"', source, proto)
|
||||
execute('sfdc', '--quiet', '--target=m68k-amigaos', '--mode=proto',
|
||||
@ -623,7 +647,7 @@ def process_sdk(sdk, dirname, files):
|
||||
elif kind == 'lib':
|
||||
filename = f[1]
|
||||
c_file = re.sub(r'_lib.sfd$', r'.c', path.basename(filename))
|
||||
lib_file = 'lib' + sdk + '.a'
|
||||
lib_file = 'lib' + lib_name + '.a'
|
||||
|
||||
info('lib: %s -> %s', filename, c_file)
|
||||
execute('sfdc', '--quiet', '--target=m68k-amigaos', '--mode=stubs',
|
||||
@ -640,21 +664,17 @@ def process_sdk(sdk, dirname, files):
|
||||
name = path.basename(f[1])
|
||||
|
||||
if any(name.endswith(ext) for ext in ['.doc', '.html', '.pdf', '.ps']):
|
||||
mkdir('{target}/doc')
|
||||
copy(source, path.join('{target}/doc', name))
|
||||
copy(source, path.join('{prefix}/{target}/doc', name))
|
||||
elif name.endswith('.guide'):
|
||||
mkdir('{target}/guide')
|
||||
copy(source, path.join('{target}/guide', name))
|
||||
copy(source, path.join('{prefix}/{target}/guide', name))
|
||||
elif any(name.endswith(ext) for ext in ['.h', '.i']):
|
||||
lastdir = path.basename(path.dirname(f[1]))
|
||||
mkdir(path.join('{target}/os-include', lastdir))
|
||||
copy(source, path.join('{target}/os-include', lastdir, name))
|
||||
mkdir(path.join('{prefix}/{target}/include', lastdir))
|
||||
copy(source, path.join('{prefix}/{target}/include', lastdir, name))
|
||||
elif name.endswith('.fd'):
|
||||
mkdir('{target}/os-lib/fd')
|
||||
copy(source, path.join('{target}/os-lib/fd', name))
|
||||
copy(source, path.join('{prefix}/{target}/lib/fd', name))
|
||||
elif name.endswith('.sfd'):
|
||||
mkdir('{target}/os-lib/sfd')
|
||||
copy(source, path.join('{target}/os-lib/sfd', name))
|
||||
copy(source, path.join('{prefix}/{target}/lib/sfd', name))
|
||||
|
||||
|
||||
def install_sdk(*names):
|
||||
@ -664,6 +684,13 @@ def install_sdk(*names):
|
||||
|
||||
add_site_dir('{host}')
|
||||
|
||||
with cwd('{prefix}/{target}'):
|
||||
mkdir('doc', 'guide', 'include/proto', 'include/inline', 'include/lvo',
|
||||
'lib/fd', 'lib/sfd')
|
||||
|
||||
for d, _ in MULTILIB:
|
||||
mkdir(path.join('lib', d))
|
||||
|
||||
for name in names:
|
||||
filename = path.join('{top}/sdk', name + '.sdk')
|
||||
|
||||
@ -672,14 +699,18 @@ def install_sdk(*names):
|
||||
|
||||
desc, files = read_sdk(filename)
|
||||
|
||||
pkg = name + '-' + desc['version']
|
||||
_, ext = path.splitext(path.basename(desc['url']))
|
||||
|
||||
with cwd('{archives}'):
|
||||
fetch(path.basename(desc['url']), desc['url'])
|
||||
fetch(pkg + ext, desc['url'])
|
||||
|
||||
basename = path.splitext(path.basename(desc['url']))[0]
|
||||
unpack(pkg, top_dir='.')
|
||||
|
||||
unpack(basename, top_dir='.')
|
||||
if path.isdir(path.join('{patches}', pkg)):
|
||||
patch(pkg, work_dir=path.join('{sources}', pkg))
|
||||
|
||||
process_sdk(name, basename, files)
|
||||
process_sdk(pkg, name, files)
|
||||
|
||||
|
||||
def test():
|
||||
|
||||
@ -18,6 +18,7 @@ URLS = \
|
||||
'ftp://ftp.gnu.org/gnu/texinfo/texinfo-4.12.tar.gz',
|
||||
'http://isl.gforge.inria.fr/isl-0.12.2.tar.bz2',
|
||||
'http://www.bastoul.net/cloog/pages/download/cloog-0.18.4.tar.gz',
|
||||
'ftp://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz',
|
||||
('http://hyperion-entertainment.biz/index.php/downloads' +
|
||||
'?view=download&format=raw&file=69', 'SDK_53.24.lha'),
|
||||
('svn://svn.code.sf.net/p/adtools/code/trunk/binutils', 'binutils-2.18'),
|
||||
@ -30,6 +31,12 @@ URLS = \
|
||||
from common import * # NOQA
|
||||
|
||||
|
||||
def update_autotools(dst):
|
||||
remove(path.join(dst, 'config.guess'), path.join(dst, 'config.sub'))
|
||||
copy('{sources}/{automake}/lib/config.guess', path.join(dst, 'config.guess'))
|
||||
copy('{sources}/{automake}/lib/config.sub', path.join(dst, 'config.sub'))
|
||||
|
||||
|
||||
@recipe('{sdk}-prepare')
|
||||
def prepare_sdk():
|
||||
info('preparing {sdk}')
|
||||
@ -79,15 +86,22 @@ def build():
|
||||
name = path.basename(url)
|
||||
fetch(name, url)
|
||||
|
||||
unpack('{automake}')
|
||||
|
||||
py_ver = 'python%d.%d' % (sys.version_info.major, sys.version_info.minor)
|
||||
require_header([path.join(py_ver, 'Python.h')],
|
||||
lang='c', errmsg='python-dev package missing')
|
||||
unpack('python-lha', work_dir='{build}')
|
||||
python_setup('python-lha')
|
||||
|
||||
unpack('{texinfo}')
|
||||
update_autotools('{sources}/{texinfo}/build-aux')
|
||||
configure('{texinfo}', '--prefix={host}')
|
||||
make('{texinfo}')
|
||||
make('{texinfo}', 'install')
|
||||
|
||||
unpack('{gmp}')
|
||||
update_autotools('{sources}/{gmp}')
|
||||
configure('{gmp}',
|
||||
'--disable-shared',
|
||||
'--prefix={host}')
|
||||
@ -95,6 +109,7 @@ def build():
|
||||
make('{gmp}', 'install')
|
||||
|
||||
unpack('{mpfr}')
|
||||
update_autotools('{sources}/{mpfr}')
|
||||
configure('{mpfr}',
|
||||
'--disable-shared',
|
||||
'--prefix={host}',
|
||||
@ -103,6 +118,7 @@ def build():
|
||||
make('{mpfr}', 'install')
|
||||
|
||||
unpack('{mpc}')
|
||||
update_autotools('{sources}/{mpc}')
|
||||
configure('{mpc}',
|
||||
'--disable-shared',
|
||||
'--prefix={host}',
|
||||
@ -112,6 +128,7 @@ def build():
|
||||
make('{mpc}', 'install')
|
||||
|
||||
unpack('{isl}')
|
||||
update_autotools('{sources}/{isl}')
|
||||
configure('{isl}',
|
||||
'--disable-shared',
|
||||
'--prefix={host}',
|
||||
@ -120,6 +137,7 @@ def build():
|
||||
make('{isl}', 'install')
|
||||
|
||||
unpack('{cloog}')
|
||||
update_autotools('{sources}/{cloog}')
|
||||
configure('{cloog}',
|
||||
'--disable-shared',
|
||||
'--prefix={host}',
|
||||
@ -130,6 +148,7 @@ def build():
|
||||
make('{cloog}', 'install')
|
||||
|
||||
with env(CFLAGS='-Wno-error'):
|
||||
update_autotools('{archives}/{binutils}')
|
||||
configure('{binutils}',
|
||||
'--prefix={target}',
|
||||
'--target=ppc-amigaos',
|
||||
@ -145,6 +164,7 @@ def build():
|
||||
CC=find_executable(CC) + ' -m32',
|
||||
CXX=find_executable(CXX) + ' -m32')
|
||||
|
||||
update_autotools('{archives}/{gcc}')
|
||||
with env(**gcc_env):
|
||||
configure('{gcc}',
|
||||
'--prefix={target}',
|
||||
@ -178,8 +198,8 @@ if __name__ == "__main__":
|
||||
if not sys.version_info[:2] == (2, 7):
|
||||
panic('I need Python 2.7 to run!')
|
||||
|
||||
if not (platform.system() in ['Darwin', 'Linux'] or
|
||||
fnmatch(platform.system(), 'CYGWIN*')):
|
||||
if not any(fnmatch(platform.system(), pat)
|
||||
for pat in ['Darwin', 'Linux', 'CYGWIN_NT*', 'MSYS_NT*']):
|
||||
panic('Build on %s not supported!', platform.system())
|
||||
|
||||
if platform.machine() not in ['i686', 'x86_64']:
|
||||
@ -209,6 +229,7 @@ if __name__ == "__main__":
|
||||
isl='isl-0.12.2',
|
||||
cloog='cloog-0.18.4',
|
||||
texinfo='texinfo-4.12',
|
||||
automake='automake-1.15',
|
||||
binutils='binutils-{binutils_ver}',
|
||||
sdk='SDK_53.24',
|
||||
gcc='gcc-{gcc_ver}',
|
||||
|
||||
Reference in New Issue
Block a user