DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > CybergraphX - Linker libs | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2008-04-01, 06:35 h Mad_Dog Posts: 1944 User |
Hallo, Wo finde ich die CybergraphX linker-Lib für Storm C und gcc? Hab im Aminet und mit Google gesucht, aber nichts gefunden. Bei dem Dev Kit von der CybergraphX 4 CD sind nur die entsprechenden Sources der Linker Lib für SASC und Dice dabei. -- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-04-01, 08:45 h thomas Posts: 7718 User |
Probier mal fd2pragma. Das kann zumindest für VBCC alles notwendige erstellen, aber ich glaube, es unterstützt auch GCC. http://aminet.net/package/dev/misc/fd2pragma Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2008-04-02, 06:35 h Mad_Dog Posts: 1944 User |
Hi, Ich hab mal folgendes ausprobiert (stammt von Haage&Partner selbst): http://aminet.net/package/biz/haage/StormC_FD2Prag Als Eingabe habe ich die fd-Datei von der CybergraphX 4 CD genommen: code:##base _CyberGfxBase ##bias 30 *--- functions in V40 or higher (Release 40.40) --- ##private cgfxPrivate1()() cgfxPrivate2()() cgfxPrivate3()() cgfxPrivate4()() ##public * IsCyberModeID(displayID)(d0) * BestCModeIDTagList(BestModeIDTags)(a0) * CModeRequestTagList(ModeRequest,ModeRequestTags)(a0,a1) * AllocCModeListTagList(ModeListTags)(a1) * FreeCModeList(ModeList)(a0) * ##private cgfxPrivate5()() ##public * ScalePixelArray(srcRect,SrcW,SrcH,SrcMod,RastPort,DestX,DestY,DestW,DestH,SrcFormat)(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7) * GetCyberMapAttr(CyberGfxBitmap,CyberAttrTag)(a0,d0) * GetCyberIDAttr(CyberIDAttr,CyberDisplayModeID)(d0,d1) * ReadRGBPixel(RastPort,x,y)(a1,d0,d1) * WriteRGBPixel(RastPort,x,y,argb)(a1,d0,d1,d2) * ReadPixelArray(destRect,destX,destY,destMod,RastPort,SrcX,SrcY,SizeX,SizeY,DestFormat)(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7) * WritePixelArray(srcRect,SrcX,SrcY,SrcMod,RastPort,DestX,DestY,SizeX,SizeY,SrcFormat)(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7) * MovePixelArray(SrcX,SrcY,RastPort,DestX,DestY,SizeX,SizeY)(d0,d1,a1,d2,d3,d4,d5) * ##private cgfxPrivate6()() ##public * InvertPixelArray(RastPort,DestX,DestY,SizeX,SizeY)(a1,d0,d1,d2,d3) * FillPixelArray(RastPort,DestX,DestY,SizeX,SizeY,ARGB)(a1,d0,d1,d2,d3,d4) * DoCDrawMethodTagList(Hook,RastPort,TagList)(a0,a1,a2) * CVideoCtrlTagList(ViewPort,TagList)(a0,a1) * *--- functions in V40 or higher (Release 40.60) --- * LockBitMapTagList(BitMap,TagList)(a0,a1) * UnLockBitMap(Handle)(a0) * UnLockBitMapTagList(Handle,TagList)(a0,a1) * *--- functions in V41 or higher --- * ExtractColor(RastPort,BitMap,Colour,SrcX,SrcY,Width,Height)(A0,A1,D0,D1,D2,D3,D4) * ##private cgfxPrivate7()() ##public * WriteLUTPixelArray(srcRect,SrcX,SrcY,SrcMod,RastPort,ColorTab,DestX,DestY,SizeX,SizeY,CTFormat)(a0,d0,d1,d2,a1,a2,d3,d4,d5,d6,d7) ##end Herausgekommen ist folgendes: c code:#ifndef _INCLUDE_CYBERGRAPHICS_LIB_H #define _INCLUDE_CYBERGRAPHICS_LIB_H /* * File generated by FD2Pragma from cybergraphics_lib.fd * DO NOT EDIT * FD2Pragma is written by M.Rock for Haage & Partner * $VER: cybergraphics_pragmas.h 0.0 (02-Apr-08) */ #ifdef __cplusplus extern "C" { #endif // #pragma amicall(CyberGfxBase, 0x1E, cgfxPrivate1()) // #pragma amicall(CyberGfxBase, 0x24, cgfxPrivate2()) // #pragma amicall(CyberGfxBase, 0x2A, cgfxPrivate3()) // #pragma amicall(CyberGfxBase, 0x30, cgfxPrivate4()) #pragma amicall(CyberGfxBase, 0x36, IsCyberModeID(d0)) #pragma tagcall(CyberGfxBase, 0x3C, BestCModeIDTagList(a0)) #pragma tagcall(CyberGfxBase, 0x42, CModeRequestTagList(a0, a1)) #pragma tagcall(CyberGfxBase, 0x48, AllocCModeListTagList(a1)) #pragma amicall(CyberGfxBase, 0x4E, FreeCModeList(a0)) // #pragma amicall(CyberGfxBase, 0x54, cgfxPrivate5()) #pragma amicall(CyberGfxBase, 0x5A, ScalePixelArray(a0, d0, d1, d2, a1, d3, d4, d5, d6, d7)) #pragma amicall(CyberGfxBase, 0x60, GetCyberMapAttr(a0, d0)) #pragma amicall(CyberGfxBase, 0x66, GetCyberIDAttr(d0, d1)) #pragma amicall(CyberGfxBase, 0x6C, ReadRGBPixel(a1, d0, d1)) #pragma amicall(CyberGfxBase, 0x72, WriteRGBPixel(a1, d0, d1, d2)) #pragma amicall(CyberGfxBase, 0x78, ReadPixelArray(a0, d0, d1, d2, a1, d3, d4, d5, d6, d7)) #pragma amicall(CyberGfxBase, 0x7E, WritePixelArray(a0, d0, d1, d2, a1, d3, d4, d5, d6, d7)) #pragma amicall(CyberGfxBase, 0x84, MovePixelArray(d0, d1, a1, d2, d3, d4, d5)) // #pragma amicall(CyberGfxBase, 0x8A, cgfxPrivate6()) #pragma amicall(CyberGfxBase, 0x90, InvertPixelArray(a1, d0, d1, d2, d3)) #pragma amicall(CyberGfxBase, 0x96, FillPixelArray(a1, d0, d1, d2, d3, d4)) #pragma amicall(CyberGfxBase, 0x9C, DoCDrawMethodTagList(a0, a1, a2)) #pragma amicall(CyberGfxBase, 0xA2, CVideoCtrlTagList(a0, a1)) #pragma amicall(CyberGfxBase, 0xA8, LockBitMapTagList(a0, a1)) #pragma amicall(CyberGfxBase, 0xAE, UnLockBitMap(a0)) #pragma amicall(CyberGfxBase, 0xB4, UnLockBitMapTagList(a0, a1)) #pragma amicall(CyberGfxBase, 0xBA, ExtractColor(a0, a1, d0, d1, d2, d3, d4)) // #pragma amicall(CyberGfxBase, 0xC0, cgfxPrivate7()) #pragma amicall(CyberGfxBase, 0xC6, WriteLUTPixelArray(a0, d0, d1, d2, a1, a2, d3, d4, d5, d6, d7)) #ifdef __cplusplus }; #endif #endif Leider verdaut das Storm C nicht. Fehlermeldung: Zitat: Um es vorwegzunehmen: Ich habe fd2Pragma noch nie benutzt und daher keinen Plan davon. Warum "überladene Funktionen"? Ich möchte doch ein C-Programm schreiben und da gibt es keine überladene Funktionen... Bin etwas ratlos. -- http://www.norman-interactive.com [ Dieser Beitrag wurde von Mad_Dog am 02.04.2008 um 06:36 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2008-04-02, 08:18 h thomas Posts: 7718 User |
Probier doch mal die aktuelle Version von fd2pragma und nicht diese uralte. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2008-04-02, 20:37 h Mad_Dog Posts: 1944 User |
Ok. Damit bekomme ich folgendes: c code:#ifndef _INCLUDE_PRAGMA_CYBERGRAPHICS_LIB_H #define _INCLUDE_PRAGMA_CYBERGRAPHICS_LIB_H #ifndef CLIB_CYBERGRAPHICS_PROTOS_H #include <clib/cybergraphics_protos.h> #endif #if defined(AZTEC_C) || defined(__MAXON__) || defined(__STORM__) #pragma amicall(CyberGfxBase,0x036,IsCyberModeID(d0)) #pragma amicall(CyberGfxBase,0x03c,BestCModeIDTagList(a0)) #pragma amicall(CyberGfxBase,0x042,CModeRequestTagList(a0,a1)) #pragma amicall(CyberGfxBase,0x048,AllocCModeListTagList(a1)) #pragma amicall(CyberGfxBase,0x04e,FreeCModeList(a0)) #pragma amicall(CyberGfxBase,0x05a,ScalePixelArray(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7)) #pragma amicall(CyberGfxBase,0x060,GetCyberMapAttr(a0,d0)) #pragma amicall(CyberGfxBase,0x066,GetCyberIDAttr(d0,d1)) #pragma amicall(CyberGfxBase,0x06c,ReadRGBPixel(a1,d0,d1)) #pragma amicall(CyberGfxBase,0x072,WriteRGBPixel(a1,d0,d1,d2)) #pragma amicall(CyberGfxBase,0x078,ReadPixelArray(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7)) #pragma amicall(CyberGfxBase,0x07e,WritePixelArray(a0,d0,d1,d2,a1,d3,d4,d5,d6,d7)) #pragma amicall(CyberGfxBase,0x084,MovePixelArray(d0,d1,a1,d2,d3,d4,d5)) #pragma amicall(CyberGfxBase,0x090,InvertPixelArray(a1,d0,d1,d2,d3)) #pragma amicall(CyberGfxBase,0x096,FillPixelArray(a1,d0,d1,d2,d3,d4)) #pragma amicall(CyberGfxBase,0x09c,DoCDrawMethodTagList(a0,a1,a2)) #pragma amicall(CyberGfxBase,0x0a2,CVideoCtrlTagList(a0,a1)) #pragma amicall(CyberGfxBase,0x0a8,LockBitMapTagList(a0,a1)) #pragma amicall(CyberGfxBase,0x0ae,UnLockBitMap(a0)) #pragma amicall(CyberGfxBase,0x0b4,UnLockBitMapTagList(a0,a1)) #pragma amicall(CyberGfxBase,0x0ba,ExtractColor(a0,a1,d0,d1,d2,d3,d4)) #pragma amicall(CyberGfxBase,0x0c6,WriteLUTPixelArray(a0,d0,d1,d2,a1,a2,d3,d4,d5,d6,d7)) #endif #if defined(_DCC) || defined(__SASC) #pragma libcall CyberGfxBase IsCyberModeID 036 001 #pragma libcall CyberGfxBase BestCModeIDTagList 03c 801 #pragma libcall CyberGfxBase CModeRequestTagList 042 9802 #pragma libcall CyberGfxBase AllocCModeListTagList 048 901 #pragma libcall CyberGfxBase FreeCModeList 04e 801 #pragma libcall CyberGfxBase ScalePixelArray 05a 76543921080a #pragma libcall CyberGfxBase GetCyberMapAttr 060 0802 #pragma libcall CyberGfxBase GetCyberIDAttr 066 1002 #pragma libcall CyberGfxBase ReadRGBPixel 06c 10903 #pragma libcall CyberGfxBase WriteRGBPixel 072 210904 #pragma libcall CyberGfxBase ReadPixelArray 078 76543921080a #pragma libcall CyberGfxBase WritePixelArray 07e 76543921080a #pragma libcall CyberGfxBase MovePixelArray 084 543291007 #pragma libcall CyberGfxBase InvertPixelArray 090 3210905 #pragma libcall CyberGfxBase FillPixelArray 096 43210906 #pragma libcall CyberGfxBase DoCDrawMethodTagList 09c a9803 #pragma libcall CyberGfxBase CVideoCtrlTagList 0a2 9802 #pragma libcall CyberGfxBase LockBitMapTagList 0a8 9802 #pragma libcall CyberGfxBase UnLockBitMap 0ae 801 #pragma libcall CyberGfxBase UnLockBitMapTagList 0b4 9802 #pragma libcall CyberGfxBase ExtractColor 0ba 432109807 #pragma libcall CyberGfxBase WriteLUTPixelArray 0c6 76543a921080b #endif #ifdef __STORM__ #pragma tagcall(CyberGfxBase,0x03c,BestCModeIDTags(a0)) #pragma tagcall(CyberGfxBase,0x042,CModeRequestTags(a0,a1)) #pragma tagcall(CyberGfxBase,0x048,AllocCModeListTags(a1)) #pragma tagcall(CyberGfxBase,0x09c,DoCDrawMethodTags(a0,a1,a2)) #pragma tagcall(CyberGfxBase,0x0a2,CVideoCtrlTags(a0,a1)) #pragma tagcall(CyberGfxBase,0x0a8,LockBitMapTags(a0,a1)) #pragma tagcall(CyberGfxBase,0x0b4,UnLockBitMapTags(a0,a1)) #endif #ifdef __SASC_60 #pragma tagcall CyberGfxBase BestCModeIDTags 03c 801 #pragma tagcall CyberGfxBase CModeRequestTags 042 9802 #pragma tagcall CyberGfxBase AllocCModeListTags 048 901 #pragma tagcall CyberGfxBase DoCDrawMethodTags 09c a9803 #pragma tagcall CyberGfxBase CVideoCtrlTags 0a2 9802 #pragma tagcall CyberGfxBase LockBitMapTags 0a8 9802 #pragma tagcall CyberGfxBase UnLockBitMapTags 0b4 9802 #endif #endif /* _INCLUDE_PRAGMA_CYBERGRAPHICS_LIB_H */ c code:#ifndef _PROTO_CYBERGRAPHICS_H #define _PROTO_CYBERGRAPHICS_H #ifndef EXEC_TYPES_H #include <exec/types.h> #endif #if !defined(CLIB_CYBERGRAPHICS_PROTOS_H) && !defined(__GNUC__) #include <clib/cybergraphics_protos.h> #endif #ifndef __NOLIBBASE__ extern struct Library *CyberGfxBase; #endif #ifdef __GNUC__ #include <inline/cybergraphics.h> #elif !defined(__VBCC__) #include <pragma/cybergraphics_lib.h> #endif #endif /* _PROTO_CYBERGRAPHICS_H */ Jetzt sagt mir Storm C aber: Zitat:-- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-04-02, 21:01 h thomas Posts: 7718 User |
Zitat: http://w3.norman-interactive.com/C-Kurs_7_1.html Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2008-04-02, 21:52 h Mad_Dog Posts: 1944 User |
Zitat: Ich habe eben auf das automatische Öffnen der Libraries vertraut... -- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-04-02, 22:08 h thomas Posts: 7718 User |
Dafür reichen Include-Dateien aber nicht aus, dann mußt du auch eine Auto-Open Linker-Lib erstellen. Das kann fd2pragma auch, soviel ich weiß. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > CybergraphX - Linker libs | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |