26 January 2012, 23:35 | #21 |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
I think the starfield is doable in realtime. I'm concocting a way in my head right now to draw a whole bunch of stars with one blitter operation. Put it into line mode and screw with the modulo registers.
|
26 January 2012, 23:40 | #22 |
Going nowhere
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 9,018
|
For a start, very few of the stars onscreen get to full size, and the star circles are only 1 colour, so i'm fairly confident an A500 could cope with that easily.
Secondly, where the stars are generated from the centre is mostly garbage, so could be disguised with a simple anim in the centre instead of plotting lots of stars in the centre. The shadowed sine scroller has been done to death on Amiga. The copper bars in the background I think on A500 could be very nearly replicated colourwise, but on AGA could be done 100% spot on. A combination of copper bars and real graphics reloaded with colours should give you most of the steps that are required to get a close approximation to that in that fake cracktro. |
27 January 2012, 00:02 | #23 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,473
|
Interesting that the scroll text is actually the Wikipedia review of the game....
http://en.wikipedia.org/wiki/Shadow_...f_the_Beast_II |
27 January 2012, 00:21 | #24 |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
haha that's some good detective work right there!
still doesn't mean it isn't possible though... |
27 January 2012, 02:21 | #25 |
2 contact me: email only!
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,187
|
The starfield in the demo moves so fast that you could probably fake the whole thing with about 10 frames of animation in a loop (and even mirror the top and bottom half) and perhaps plot the odd big circle star to make it appear that it's not an anim.
Like a number of people on here, I don't see the big deal about this intro either. An A500 could easily do a very similar version without too much hassle. |
27 January 2012, 13:52 | #26 | |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
Quote:
The sinewave scroller is trivial. I've googled to see what other people's technique is, everyone seems to suggest blitting the vertical columns one at a time, thus a 16-pixel wide section needs 16 blits. It can be done in four. Yes and still retain 1-pixel resolution. It's only blitting one bitplane each frame, the other bitplanes are just previous versions through which it cycles, making a trail effect. The copper effects can be done by changing the palette every 20 pixels easily, use a single bitplane with a dithering pattern on it, and blit pre-rendered lines into the copperlist. The copperlist is in Chip Ram right, you can blit into it. |
|
27 January 2012, 14:21 | #27 | |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
Quote:
How? |
|
27 January 2012, 14:25 | #28 |
Just add brown sauce.
Join Date: May 2008
Location: North East Englandland
Posts: 170
|
someone should just do the demo
|
27 January 2012, 14:34 | #29 | |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
Quote:
blit up and down with a mask. first mask covers all columns that have to go down 8 pixels. next cover all columns that have to go up by four pixels, then up by 2, then up by 1. as long as the slope never exceeds 1:1, this is sufficient. example: first mask = $FF00, second mask $0F0F, third mask $3333, fourth mask $5555, this would give a straight 1:1 slope. to calculate the values of the masks, do a quick "chunky-to-planar" type conversion on the y-data. (Could precalculate all these) sometimes it is useful to think deeper inside the box. |
|
27 January 2012, 14:36 | #30 |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
Cool.
Make the demo and post the code |
27 January 2012, 14:47 | #31 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,658
|
Mrs. Beanbag's full of wisdom :O
|
27 January 2012, 17:33 | #32 | |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,865
|
Quote:
|
|
27 January 2012, 17:56 | #33 |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
Yep, me neither - hence me wanting to see the code. I can't say for sure it wouldn't work so I'd love to be proved wrong with a working example.
|
27 January 2012, 18:29 | #34 |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
1, 2, 4 and 8 covers all the numbers from 0 to 15... the first blit can position the 16-pixel wide block anywhere on the y-axis, with an additional 8-pixel shift of any of the columns (use two blitter sources, one 8 lines higher than the other, with a mask of $FF00).
Then shift upwards progressively in place like this (only showing 8 pixels wide here): after 2nd blit (00001111): ________________ ________________ ________________ ________________ ________[][][][] ________[][][][] ________[][][][] ________[][][][] [][][][][][][][] [][][][][][][][] [][][][][][][][] [][][][][][][][] [][][][]________ [][][][]________ [][][][]________ [][][][]________ 3rd blit (mask 00110011): ________________ ________________ ____________[][] ____________[][] ________[][][][] ________[][][][] ____[][][][][][] ____[][][][][][] [][][][][][][][] [][][][][][][][] [][][][][][]____ [][][][][][]____ [][][][]________ [][][][]________ [][]____________ [][]____________ 4th blit (mask 01010101): ________________ ______________[] ____________[][] __________[][][] ________[][][][] ______[][][][][] ____[][][][][][] __[][][][][][][] [][][][][][][][] [][][][][][][]__ [][][][][][]____ [][][][][]______ [][][][]________ [][][]__________ [][]____________ []______________ with different mask combinations one can make any shape, so long as it is within a 16-pixel range. Most sine scrollers don't exceed 1:1 gradients (a 2:1 gradient could be done but it would need 5 blits). In fact four blits per 16 pixel columns is WORST CASE behaviour, sometimes the mask will be zero so you can skip those blits altogether. |
27 January 2012, 18:38 | #35 |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
Looks to be a very interesting solution. Forget the rest of the demo, just make the sinescroller so we can see this in action. Would be cool.
|
27 January 2012, 19:02 | #36 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,865
|
An interesting thought indeed, however, I am still not convinced it will look like a normal sine scroller. Any of the 16 slices can have any y-position, e.g. col1 = y, col2=y+(whatever). As far as I can see Mrs. Beanbag's approach will give a somewhat static scroller but yes, it depends on the used masks. Also, I'm not sure if it will be much faster since it requires one additional blitter source = more DMA used = slow down.
It would be interesting to see an example of this approach though so it can be compared with the speed of a highly optimised sine scroller. |
27 January 2012, 19:07 | #37 |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
Sine scroller needs to use two sources and a mask already anyway, in order to blit a single column of pixels, you need a mask with one bit set and combine it with the graphics that's already there from previous blits. Any of the 16 slices can have any position with a 16 pixel range. As long as the wavelength isn't too short there is no problem.
But. Yes. I shall write it and post the source. Last edited by Mrs Beanbag; 27 January 2012 at 19:09. Reason: additional |
27 January 2012, 19:10 | #38 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,865
|
Yes of course, I know how a sine scroller works. As I understood it your approach needs one additional source to the already used 2 sources. If that isn't the case it'll be interesting to see the result indeed.
|
27 January 2012, 19:13 | #39 | ||
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Quote:
Quote:
Regards, Lonewolf10 |
||
27 January 2012, 19:13 | #40 |
Glastonbridge Software
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
|
no only 2 sources, one in the same place as the destination as usual and one 4/2/1 pixels higher. The mask is put straight into BLTBDAT so no DMA needed.
The FIRST blit is slightly different however because it doesn't need to combine with the background at all. That uses two sources pointing into the original graphics, one 8 pixels higher than the other. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
fpga for ecs -> aga | turrican3 | support.Hardware | 17 | 14 August 2013 00:09 |
give your best 10 ecs and aga demos | turrican3 | support.Demos | 5 | 07 November 2010 06:11 |
AGA/ECS centering | Zandig | support.WinUAE | 8 | 02 May 2010 21:31 |
OCS/ECS , AGA Diffrencies | Kyon | New to Emulation or Amiga scene | 7 | 10 June 2009 11:43 |
Heimdall 2 AGA vs ECS | PiCiJi | support.Games | 0 | 28 September 2005 19:04 |
|
|