|
Author |
Message |
kasie
Member |
I am in interest to made somethink for old AGA machines, and want to ask all: where is any documentation about how to use AGA with aos APIs, and examples on C ? I want to know somethink like this:
1. i have buffer with 256cols picture, and buffer with palette. how i can load it as 'sprite' and use 'control words' for scrolling this sprite. (as i know sprite will not delete a background if AGA will used?)
2. how big can be 'sprites' for aga ? (i mean width and height).
3. can i draw 256cols backgound, and on this background draw 2 or more sprites with 256cols also ?
Maybe here is any 'library', which realise fucntions for AGA like: load sprite, move sprite, and so on ?
|
winden
Member |
I can't help much with OS documentation, but regarding AGA I can tell you some limits:
1. Sprites are either: 8 sprites with 3 color or 4 sprites with 15 color.
2. Sprites use color 0 as tranparent so that it shows the bitmap behind.
3. Sprites use the same palette as the screen. Assuming you have loaded a 256 color screen with it's 256 color palette, on AGA you can make the sprites use colors 1-15 or 17-31, or 33-47, ...
4. Sprites are maximum 64 pixel-wide on AGA. Which means you can cover 256 lowres screen pixels with 4 15 colors sprites.
5. Sprites can have different resolution than bitmap. For example you can have a lowres bitmap and superhires sprites at the same time.
6. Sprite X position can be controled in superhires-pixels increments... which means, even if the bitmap is lowres and the sprite is lowres, you can place the sprite in superhires positions... this makes for a very nice way to make horizontal scrollers for example :)
You should get a look at the OS functions and examples for graphics library and maybe also intuition library...
|
kasie
Member |
thanks for answer.
well, after some talks i found one big problem. aga can only 640x256 x 256 without interlace. if i will use 640x480 or 640x512 , interlace will be. it mean that making somethink for AGA users in 640x480, will limit it in the same way,as warp3d stuff for example.. Maybe any chance to work with 640x480 on aga ?
|
winden
Member |
DblPal gives 640x512 non-interlaced resolution on AGA with upto 8bpls, you just need a 31khz/50hz monitor like 1438, 1538 or 1970. For system things the best is to popup the system requester so that the user can select the screenmode he wants amongst the ones available.
|
kasie
Member |
i thinking about 640x480 and more, becouse all of my gfx only 640x480. So, it's just unpossible for me to use 640x256 .. But will be it smart step, to do somethink for 640x480 only (for monitors), if, almost in all cases, if user have normal monitor (not tv) => hes have gfx card ?
|
doom
Member |
256 lines is a PAL limit, not an AGA limit. (And the PAL display is actually larger than that, but people conventionally stick to 256 lines nowadays.)
My impression is that most sceners by far have PAL monitors. That's essentially a PAL TV without the R/F decoder. It gives a nice and crisp picture with just the right hint of visible raster effect, and without blocky pixels.
Some people use graphics cards and VGA monitors but then you're way past "old AGA machines" and heading towards re-targetable graphics hell.
So you'll want to either scale down the graphics or use interlaced mode, or make a graphics card demo. Either way both the 68k and the chipram (which you'll use as video RAM) are really slow, so be careful not to assume you can always do what you want in high resolution.
For moving a few sprites you should be ok, but don't expect much from the API. Don't take my word for it, but I don't think you'll have any API support at all for sprites, save for the mouse pointer (I've never tried, so I'm not sure). At any rate, check Aminet for sources, libraries etc.
|
|
|