Could someone explain what colours need to be what and which bit-planes need to be copied in order to make this look awesome...
Thanks in advance...
P.S I've included a PRG so you can see what it COULD be

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team
mrdalliard wrote:
The only thing I can't get my head around is that skopy allows you to copy 1 - 4 bitplanes, but as the start X address has to be a 16-byte multiple, I don't see how you can just move bitplane 4 on its own. Ideally, I want to shift just one plane (the fourth), but with a starting address using a 6-byte offset (if my maths proves correct), so that it just shifts the bit I want.
M.
Yes, this allows crude transparency too ... ive seen it done but dont ask me how !In essence, plane one is under plane two, which is under plane three then four. If you want, for example, scrolling text to roll over an image and not disappear, you need it to be on plane four, with colours 8 to 15 being set the same. Anything underneath needs (i.e. an image) to be using colours 0-7 on the first three bitplanes.
I know the feeling. I had a few days over Christmas to make a dent in my reject, but now it's back to the usual routine of family, work, etc... and I've not got so much time now. Still, I've made some progress and have got a couple of demos nearly completed. My project is to get an entire MegaDemo done by the end of the year. It won't set the world alight, but it's gloriously oldskool and I'll get to finish a project I started 25 years ago. Hopefully will post some screens in the next week or so to give you an idea.EstTeeEfEm wrote: I think in general, i'll need a little more STOS knowledge and a lot more ST graphics knowledge to fully achieve what I want atm. I know its possible but time has got away from me a little... holidays, new year...
Oh no, I've always loved it. Speed wasn't it's forté, but it was good for getting stuff together quite quickly. The community of extensions was what filled in the gaps. I always think it's a shame there isn't a comparable development environment nowadays.exxos wrote:I thought I was the last of the die-hard fans
This "plane one is under plane two" ect. thing doesn't accurately describe the hardware. It's just this guy describing this trick he's figured out, and it's probably going to be kinda misleading to anybody who doesn't have a good understanding of how bitplanes work in the first place.mrdalliard wrote:I'm going to post this here, mainly because it explained the whole bitplanes thing better than anything else I've read so far:
http://mikro.naprvyraz.sk/docs/Coding/A ... TDEMO2.TXT
In essence, plane one is under plane two, which is under plane three then four. If you want, for example, scrolling text to roll over an image and not disappear, you need it to be on plane four, with colours 8 to 15 being set the same. Anything underneath needs (i.e. an image) to be using colours 0-7 on the first three bitplanes.
The only thing I can't get my head around is that skopy allows you to copy 1 - 4 bitplanes, but as the start X address has to be a 16-byte multiple, I don't see how you can just move bitplane 4 on its own. Ideally, I want to shift just one plane (the fourth), but with a starting address using a 6-byte offset (if my maths proves correct), so that it just shifts the bit I want.
Obviously, SKOPY was used back in the day quite successfully, so perhaps I've just missed something.
M.
Code: Select all
int pixelvalues[16];
int numplanes = 4;
short *screenmemory; // presume this is set elsewhere
for( int pixel = 0; pixel < 16; pixel++ )
{
int result;
for( int currentBitPlane = 0; currentBitPlane < numplanes; i++ )
{
// Grab a bit from the current bitplane
int bit = screenmemory[currentplane] & ( 1 << (15-pixel) );
result <<= 1; // Shift everything left 1 bit
result |= bit; // bitwise OR in the bit we just grabbed
}
pixelvalues[ pixel ] = result;
}