Who's Online
88 user(s) are online (
70 user(s) are browsing
Forums )
Members: 2
Guests: 86
ktadd ,
Steady ,
more...
Topic options
View mode
Newest First
I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/26 11:18
#1
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
I like to write graphic-card.chip file of my own, how do I start? I guess it’s a library, so I guess can generate it with idltool. is there a xml template I can use to get started?
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/26 11:26
#2
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 21:25
From a dying planet
Group:
Registered Users
@LiveForIt
I smell NVidia support coming...
...oh wait, that's the stove
Hope @Hans reads this and can give some pointers
Good luck and i'm definitely watching this space
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/26 13:30
#3
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
@Raziel
The people who are following me on my FB Group, might have an idea, noting as exciting as Nvidia
I’m sure people will enjoy the results, however.
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/26 17:55
#4
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 21:25
From a dying planet
Group:
Registered Users
@LiveForIt Not on FB, so no idea, but any new stuff is good
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/27 8:01
#5
Just popping in
Joined: 2007/2/10 13:46Last Login
: Yesterday 20:17
From Frankfurt / Germany
Group:
Registered Users
Documentation how a gfx driver could be developed would be great.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/27 8:48
#6
Home away from home
Joined: 2007/1/26 21:48Last Login
: 11/22 14:15
From New Zealand
Group:
Registered Users
@LiveForIt
Quote:
I like to write graphic-card.chip file of my own, how do I start? Details on how to write a Picasso96 graphics driver are top secret, so you'll need to contact Hyperion and beg them to give you access to the files you need. This will involve signing an NDA.
Alternatively, you could have a look in the AROS source code at /arch/m68k-amiga/hidd/p96gfx/. That's AROS' OS 3.x Picasso96 driver wrapper (or whatever it's called). It seems to work at the *.card level, but does show some of the driver interface. Bear in mind that the code is for the pre-OS4 Picasso96, so it's missing newer features like compositing and DDC. Still, it might get you started while you wait for Hyperion to give you access.
When I started with graphics drivers, I wrote a test program that hit the graphics hardware directly. I asked for the driver developer docs once I had proven that I could get a display output.
Sorry this isn't the answer you wanted. I have no idea why graphics driver APIs are so secret in the AmigaOS world. AFAIK, the MorphOS graphics DDK is also not readily available. This is something I'd like to see change.
Hans
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/27 9:35
#7
Just popping in
Joined: 2012/12/21 10:55Last Login
: 11/22 15:52
Group:
Registered Users
68k P96 driver development infos and docs are public since some time:
http://wiki.icomp.de/wiki/P96_Driver_Development
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/27 9:47
#8
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 21:25
From a dying planet
Group:
Registered Users
@Hans
Quote:
I have no idea why graphics driver APIs are so secret in the AmigaOS worldProbably because the involved parties had to pay for the sources and don't want their money to be shared
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/27 13:58
#9
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
@Hans I’m aiming for an open-source driver, so I don’t want anything that needs a NDA. Not sure how DDC works, maybe useful, not sure, I want to create my own modes, but don’t necessarily need to probe the monitor. “compositing” will not be needed, for this one.
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/28 10:38
#10
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
@Georg thanks, I will have look at this docs.
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/28 21:27
#11
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
@Hans yes some function not documented here, not sure that’s a problem.. i might need needed to write board/card drivers. if they were documented however... AddDisplayInfo() AddDisplayInfoData() SetDsiplayInfoData() GetDsiplayInfoData() CreateDisplayInfoData() and also boardinfo is APTR not a struct, so need to find this one.
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/28 22:17
#12
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
@Hans
ok... so now I have something like this:
#ifndef boardinfo_h
#define boradinfo_h
#ifdef _GNUC_
#ifdef __PPC__
#pragma pack(2)
#endif
#elif define(__VBCC__)
#pragma amiga-align
#endif
struct BoardInfo
{
APTR RegisterBase ;
APTR RegisterBase ;
APTR MemoryBase ;
APTR MemoryIOBase ;
uint32 MemorySize ;
const char * BoardName ;
char VBIName [ 32 ]
APTR CardBase ;
APTR ChipBase ;
APTR ExecBase ;
APTR UtilBase ;
uint8 HardInterrupt [ 22 ];
uint8 SoftInterrupt [ 22 ];
uint8 BoardLock6 [ 46 ] ;
uint8 ResolutionsList [ 12 ];
uint32 BoardType ;
uint32 PaletteChipType ;
uint32 GraphicsControllerType ;
uint16 MoniSwitch ;
uint16 BitsPerCannon ;
uint32 Flags ;
uint16 SoftSpriteFlags ;
uint16 ChipFlags ;
uint32 CardFlags ;
uint16 BoardNum ;
uint16 RGBFormats ;
uint16 MaxHorValue [ MAXMODES ];
uint16 MaxVerValue [ MAXMODES ];
uint16 MaxHorResolution [ MAXMODES ];
uint16 MaxVerResolution [ MAXMODES ];
uint32 MaxMemorySize ;
uint32 MaxChunkSize ;
uint32 MemoryClock ;
uint32 PixelClockCount [ MAXMODES ];
uint32 AllocCardMem ;
uint32 FreeCardMem ;
uint32 SetSwitch ;
uint32 SetColorArray ;
uint32 SetDAC ;
uint32 SetGC ;
uint32 SetPanning ;
uint32 CalculateBytesPerRow ;
uint32 CalculateMemory ;
uint32 GetCompatibleFormats ;
uint32 SetDisplay ;
uint32 ResolvePixelClock ;
uint32 GetPixelClock ;
uint32 SetClock ;
uint32 SetMemoryMode ;
uint32 SetWriteMask ;
uint32 SetClearMask ;
uint32 SetReadPlane ;
uint32 WaitVerticalSync ;
uint32 SetInterrupt ;
uint32 WaitBlitter ;
uint32 ScrollPlanar ;
uint32 ScrollPlanarDefault ;
uint32 UpdatePlanar ;
uint32 UpdatePlanarDefault ;
uint32 BlitPlanar2Chunky ;
uint32 BlitPlanar2ChunkyDefault ;
uint32 FillRect ;
uint32 FillRectDefault ;
uint32 InvertRect ;
uint32 InvertRectDefault ;
uint32 BlitRect ;
uint32 BlitRectDefault ;
uint32 BlitTemplate ;
uint32 BlitTemplateDefault ;
uint32 BlitPattern ;
uint32 BlitPatternDefault ;
uint32 DrawLine ;
uint32 DrawLineDefault ;
uint32 BlitRectNoMaskComplete ;
uint32 BlitRectNoMaskCompleteDefault ;
uint32 BlitPlanar2Direct ;
uint32 BlitPlanar2DirectDefault ;
uint32 Reserved0 ;
uint32 Reserved0Default ;
uint32 Reserved1 ;
uint32 Reserved1Default ;
uint32 Reserved2 ;
uint32 Reserved2Default ;
uint32 Reserved3 ;
uint32 Reserved3Default ;
uint32 Reserved4 ;
uint32 Reserved4Default ;
uint32 Reserved5 ;
uint32 Reserved5Default ;
uint32 SetDPMSLevel ;
uint32 ResetChip ;
uint32 GetFeatureAttrs ;
uint32 AllocBitMap ;
uint32 FreeBitMap ;
uint32 GetBitMapAttr ;
uint32 SetSprite ;
uint32 SetSpritePosition ;
uint32 SetSpriteImage ;
uint32 SetSpriteColor ;
uint32 CreateFeature ;
uint32 SetFeatureAttrs ;
uint32 DeleteFeature ;
uint8 SpecialFeatures [ 12 ]; // SpecialFeatures is 12-bytes
uint32 ModeInfo ;
uint32 RGBFormat ;
uint16 XOffset ;
uint16 YOffset ;
uint8 Depth ;
uint8 ClearMask ;
uint16 Border ; // BOOL type is only 2-bytes!
uint32 Mask ;
uint8 CLUT [ 3 * 256 ];
uint32 ViewPort ;
uint32 VisibleBitMap ;
uint32 BitMapExtra ;
uint8 BitMapList [ 12 ]; // BitMapList is 12-bytes
uint8 MemList [ 12 ]; // MemList is 12-bytes
uint16 MouseX ;
uint16 MouseY ;
uint8 MouseWidth ;
uint8 MouseHeight ;
uint8 MouseXOffset ;
uint8 MouseYOffset ;
uint32 MouseImage ;
uint32 MousePens ;
uint8 MouseRect [ 8 ]; // MouseRect is 8-bytes
uint32 MouseChunky ;
uint32 MouseRendered ;
uint32 MouseSaveBuffer ;
uint32 ChipData [ 16 ];
uint32 CardData [ 16 ];
APTR MemorySpaceBase ;
uint32 MemorySpaceSize ;
uint32 DoubleBufferList ;
uint32 SyncTime ;
uint8 SyncPeriod [ 8 ];
uint8 SyncPeriod [ 34 ];
uint8 WaitQ [ 12 ];
}
#ifdef __GNUC__
#ifdef __PPC__
#pragma pack()
#endif
#elif defined(__VBCC__)
#pragma default-align
#endif
#endif
Edited by LiveForIt on 2022/9/28 22:34:24
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/28 23:34
#13
Just popping in
Joined: 2008/10/20 20:59Last Login
: Yesterday 6:59
From Arizona
Group:
Registered Users
@LiveForIt 2nd line has a typo if you haven't already caught it
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/30 8:41
#14
Home away from home
Joined: 2007/1/26 21:48Last Login
: 11/22 14:15
From New Zealand
Group:
Registered Users
@Georg
Quote:
Nice! I had no idea that was available.
@Raziel
Quote:
Probably because the involved parties had to pay for the sources and don't want their money to be shared Maybe, but it's counter-productive. Doing so puts a barrier between those who want to try writing a driver and the files they need to do so.
If the AHI developers had that attitude, then we probably wouldn't have the HDA audio driver, because its author isn't a member of the exclusive insiders club that has access to all the documentation. He could check out the documentation and examples, tinker with it, and then decide to give it a shot without needing to jump through any hoops.
Hans
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/30 8:45
#15
Home away from home
Joined: 2007/1/26 21:48Last Login
: 11/22 14:15
From New Zealand
Group:
Registered Users
@LiveForIt
Looks like you're making good progress. The documentation Georg linked to gives the function prototypes for the struct BoardInfo function pointers which you currently have set to uint32.
Quote:
yes some function not documented here, not sure that’s a problem.. i might need needed to write board/card drivers. if they were documented however... AddDisplayInfo() AddDisplayInfoData() SetDsiplayInfoData() GetDsiplayInfoData() CreateDisplayInfoData() Those are graphics.library functions, and aren't part of the driver. Are you expecting the driver to store the display info database?
Hans
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/30 9:19
#16
Amigans Defender
Joined: 2006/12/2 13:27Last Login
: Yesterday 21:34
From Taranto, Italy
Group:
Staff members Moderators Registered Users
i'm really tired...
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/30 10:40
#17
Home away from home
Joined: 2007/1/26 21:48Last Login
: 11/22 14:15
From New Zealand
Group:
Registered Users
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/9/30 14:12
#18
Just popping in
Joined: 2012/12/21 10:55Last Login
: 11/22 15:52
Group:
Registered Users
On this page
http://wiki.icomp.de/wiki/P96#Hardware_manufacturer_archive it's possible to download "CardDevelop.lha" which seems to contain headers and sample driver source code.
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/10/1 8:46
#19
Just popping in
Joined: 2007/1/7 14:22Last Login
: 2023/8/21 8:45
From Germany
Group:
Registered Users
@LiveForIt Want to build a driver for the new Intel Arc 750/770 cards?
AMIGA 1200 | Vampire 1200 II | 128 MB RAM | Indivision AGA Mk3 | 256 GB SD | AmigaOS 3.2.2AMIGA 600 | Vampire 600 II | 128 MB RAM | Indivision ECS Mk3 | 256 GB SD | AmigaOS 3.2.2
Re: I like to write graphic-card.chip file of my own, how do I start?
Posted on:
2022/10/1 11:46
#20
Home away from home
Joined: 2006/11/20 16:26Last Login
: Yesterday 17:34
From Norway
Group:
Registered Users
@DJBase That’s not what I’m working on, keep guessing. If you are asking if I want to take on that work. I have no idea about the amount of work, I have not looked at the code, I don’t own the card, and it be really difficult as the first driver project. Many years ago I looked at some Linux drivers for a SCSI controller, and they do not have anything in common with the Amiga API, you need rearrange the code, you need good understanding what etch part does, some drivers contain support for multiple different models and chips.
(NutsAboutAmiga) Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Currently Active Users Viewing This Thread:
1
(
0 members
and 1 Anonymous Users
)