diff --git a/.gitignore b/.gitignore index 78b0b69..1fdf1e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ build projects - +download diff --git a/Makefile b/Makefile index 3b435b9..906e4e6 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,9 @@ CPPFLAGS=-Os CXXFLAGS=-Os E=CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" +# cross compile: +A=CFLAGS="-Os" CPPFLAGS="-Os" CXXFLAGS="-Os" + PREFIX=/opt/amiga PATH := $(PREFIX)/bin:$(PATH) SHELL = /bin/bash @@ -32,7 +35,7 @@ EXEEXT=$(MYMAKEEXE:%=.exe) help: @echo "make help display this help" @echo "make all build and install all" - @echo "make builds a target: binutils, gcc, fd2sfd, fd2pragma, ira, sfdc, vbcc, vlink" + @echo "make builds a target: binutils, gcc, fd2sfd, fd2pragma, ira, sfdc, vbcc, vlink, libnix, ixemul" @echo "make clean remove the build folder" @echo "make clean- remove the target's build folder" @echo "make clean-prefix remove all content from the prefix folder" @@ -42,15 +45,15 @@ help: # ================================================= # all # ================================================= -.PHONY: all gcc binutils fd2sfd fd2pragma ira sfdc vbcc vlink -all: gcc binutils fd2sfd fd2pragma ira sfdc vbcc vlink +.PHONY: all gcc binutils fd2sfd fd2pragma ira sfdc vbcc vlink libnix ixemul +all: gcc binutils fd2sfd fd2pragma ira sfdc vbcc vlink libnix ixemul @echo "built all" # ================================================= # clean # ================================================= -.PHONY: clean-prefix clean clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vbcc clean-vlink -clean: clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vbcc clean-vlink +.PHONY: clean-prefix clean clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vbcc clean-vlink clean-libnix clean-ixemul +clean: clean-gcc clean-binutils clean-fd2sfd clean-fd2pragma clean-ira clean-sfdc clean-vbcc clean-vlink clean-libnix clean-ixemul rm -rf build clean-gcc: @@ -77,6 +80,12 @@ clean-vbcc: clean-vlink: rm -rf build/vlink +clean-libnix: + rm -rf build/libnix + +clean-ixemul: + rm -rf build/ixemul + # clean-prefix drops the files from prefix folder clean-prefix: rm -rf $(PREFIX)/* @@ -85,8 +94,8 @@ clean-prefix: # ================================================= # update all projects # ================================================= -.PHONY: update update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vbcc update-vlink -update: update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vbcc update-vlink +.PHONY: update update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vbcc update-vlink update-libnix update-ixemul +update: update-gcc update-binutils update-fd2sfd update-fd2pragma update-ira update-sfdc update-vbcc update-vlink update-libnix update-ixemul update-gcc: projects/gcc/configure pushd projects/gcc; git pull; popd @@ -112,6 +121,16 @@ update-vbcc: projects/vbcc/Makefile update-vlink: projects/vlink/Makefile pushd projects/vlink; git pull; popd +update-libnix: + pushd projects/libnix; git pull; popd + +update-ixemul: + pushd projects/ixemul; git pull; popd + +# ================================================= +# B I N +# ================================================= + # ================================================= # gcc # ================================================= @@ -204,7 +223,7 @@ $(PREFIX)/bin/fd2pragma: build/fd2pragma/fd2pragma build/fd2pragma/fd2pragma: projects/fd2pragma/makefile $(shell find projects/fd2pragma -not \( -path projects/fd2pragma/.git -prune \) -type f) @mkdir -p build/fd2pragma - +pushd projects/fd2pragma; $(CC) -o $(PWD)/$@ $(CFLAGS) fd2pragma.c; popd + pushd projects/fd2pragma; $(CC) -o $(PWD)/$@ $(CFLAGS) fd2pragma.c; popd projects/fd2pragma/makefile: @mkdir -p projects @@ -221,7 +240,7 @@ $(PREFIX)/bin/ira: build/ira/ira build/ira/ira: projects/ira/Makefile $(shell find projects/ira -not \( -path projects/ira/.git -prune \) -type f) @mkdir -p build/ira - +pushd projects/ira; $(CC) -o $(PWD)/$@ $(CFLAGS) ira.c ira_2.c supp.c; popd + pushd projects/ira; $(CC) -o $(PWD)/$@ $(CFLAGS) ira.c ira_2.c supp.c; popd projects/ira/Makefile: @mkdir -p projects @@ -240,7 +259,7 @@ $(PREFIX)/bin/sfdc: build/sfdc/Makefile $(shell find projects/sfdc -not \( -path install build/sfdc/sfdc $(PREFIX)/bin build/sfdc/Makefile: projects/sfdc/configure - rsync -aq --progress projects/sfdc build --exclude .git + rsync -a projects/sfdc build --exclude .git pushd build/sfdc; $(E) $(PWD)/build/sfdc/configure $(CONFIG_SFDC); popd projects/sfdc/configure: @@ -261,10 +280,10 @@ $(VBCCP): build/vbcc/Makefile $(shell find projects/vbcc -not \( -path projects/ +pushd build/vbcc; TARGET=m68k make bin/dtgen; popd +pushd build/vbcc; echo -e "y\\ny\\nsigned char\\ny\\nunsigned char\\nn\\ny\\nsigned short\\nn\\ny\\nunsigned short\\nn\\ny\\nsigned int\\nn\\ny\\nunsigned int\\nn\\ny\\nsigned long long\\nn\\ny\\nunsigned long long\\nn\\ny\\nfloat\\nn\\ny\\ndouble\\n" >c.txt; bin/dtgen machines/m68k/machine.dt machines/m68k/dt.h machines/m68k/dt.c 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 { \ diff --git a/patches/NDK_3.9/Include/include_h/proto/alib.h b/patches/NDK_3.9/Include/include_h/proto/alib.h new file mode 100644 index 0000000..7cff3e6 --- /dev/null +++ b/patches/NDK_3.9/Include/include_h/proto/alib.h @@ -0,0 +1,10 @@ +#ifndef PROTO_ALIB_H +#define PROTO_ALIB_H + +#include + +#ifdef __GNUC__ +#include +#endif /* __GNUC__ */ + +#endif /* PROTO_ALIB_H */ diff --git a/patches/NDK_3.9/Include/sfd/graphics_lib.sfd.diff b/patches/NDK_3.9/Include/sfd/graphics_lib.sfd.diff new file mode 100644 index 0000000..30c1b19 --- /dev/null +++ b/patches/NDK_3.9/Include/sfd/graphics_lib.sfd.diff @@ -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 + ==include + ==include +-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 ++==include ++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