English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 12 November 2008, 08:42   #21
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
I checked my docs and found information ( unknown author ) about that trick.


How can you cheat to have more than the two hardware playfields?

Well, there are more than one way to do this :

One way is to use the blitter to put two of the 'fields' on top
of eachother, ie. two of them use the same playfield. This means
they must use the same colours aswell.

Another technic that is used in many games, is to use the sprites as one
of the playfields. LEANDER, RISKY WOODS and many more use this technic.
The whole secret about this is to use the copper to change the x-position
of the sprites, so that one sprite can be displayed more than once on
each horizontal scan-line. In this way it's possible to have two
'playfields' with 16 colours in each. The problem is that you don't have
the time to change the sprites bitmap-data aswell, so in the playfield
with sprites you must repeat the graphics every 128 pixels in the
x-direction. And if you use more than 4 biplanes, you steal some cycles
from the copper, and then you don't have the time to replace all the
sprites. Here's a copper example of how to replace the sprites :


Code:
dc.w	$2C37,$FFFE			; Wait for y = $2c , x = $37
dc.w	$0140,$0040,$0144,$xxxx		; New xpos and data for sprite0
dc.w	$0148,$0048,$014C,$xxxx		; New xpos and data for sprite1
dc.w	$0140,$0050,$0144,$xxxx		; New xpos and data for sprite0
dc.w	$0148,$0058,$014C,$xxxx		; New xpos and data for sprite1
dc.w	$0140,$0060,$0144,$xxxx		; New xpos and data for sprite0
dc.w	$0148,$0068,$014C,$xxxx		; New xpos and data for sprite1
dc.w	$0140,$0070,$0144,$xxxx		; New xpos and data for sprite0
dc.w	$0148,$0078,$014C,$xxxx		; New xpos and data for sprite1
repeat until you reach the end of the screen at x = $D0, and then do this
for each scan-line.

With the above copperlist, you can have a one-bitplane scroller across the
screen without using any bitplanes, and you still have 6 sprites free!


Regards
Asman is offline  
Old 16 November 2008, 16:45   #22
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
I checked that trick for HAM6 mode and don't work, mean there is no sprites on screen. For 4 bitplane screen works fine. So its mean that my idea to cover screen by sprite(s) don't work on HAM6
Asman is offline  
Old 16 November 2008, 16:52   #23
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Quote:
Originally Posted by Asman View Post
I checked that trick for HAM6 mode and don't work, mean there is no sprites on screen. For 4 bitplane screen works fine. So its mean that my idea to cover screen by sprite(s) don't work on HAM6
Probably nothing to do with HAM6 but 6 bitplanes taking too much DMA time (not enough time for copper to update registers, 1/2 time compared to 4 planes)
Toni Wilen is offline  
Old 16 November 2008, 17:01   #24
Asman
68k
 
Asman's Avatar
 
Join Date: Sep 2005
Location: Somewhere
Posts: 828
Quote:
Originally Posted by Toni Wilen View Post
Probably nothing to do with HAM6 but 6 bitplanes taking too much DMA time (not enough time for copper to update registers, 1/2 time compared to 4 planes)
You're probably right, I checked that trick for 6 bitplane screen (non HAM6) too and still don't work.
Asman is offline  
Old 24 November 2008, 18:20   #25
ElB
Registered User
 
Join Date: Nov 2008
Location: Crewe, UK
Posts: 27
Quote:
Originally Posted by Codetapper View Post
Fading the screen in cannot be done (that I know of) because it will only fade up the base colours and all the colour adjustment pixels end up looking bizarre.
You can do a HAM fade -- I've seen it done before somewhere, but I can't for the life of me remember where it was, and I have no idea how it worked anyway so it's a bit of a useless observation, other than to provide inspiration to try and figure it out. (Discard the LSB, shift the planes along one, and recalc the base palette maybe?)
ElB is offline  
Old 24 November 2008, 18:23   #26
ElB
Registered User
 
Join Date: Nov 2008
Location: Crewe, UK
Posts: 27
Quote:
Originally Posted by Codetapper View Post
Fading the screen in cannot be done (that I know of) because it will only fade up the base colours and all the colour adjustment pixels end up looking bizarre.
You can do a HAM fade -- I've seen it done before somewhere, but I can't for the life of me remember where it was, and I have no idea how it worked anyway so it's a bit of a useless observation, other than to provide inspiration to try and figure it out. (Discard the LSB, shift the planes along one, and recalc the base palette maybe?)
ElB is offline  
Old 24 November 2008, 18:40   #27
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
In AmosPro using the AMCAF extension there is a HAM Fade instruction. That proves that it's possible. The catch is finding out how Chris Hodges did it.
Samurai_Crow is offline  
Old 24 November 2008, 19:38   #28
OddbOd
Registered User
 
Join Date: Jul 2005
Location: Australia
Age: 46
Posts: 666
Unfortuantely AMCAF can only fade HAM to black not the other way around.
OddbOd is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Help needed with HAM mode and Photon Paint trydowave support.Apps 10 12 March 2013 20:49
Quartex intro - Interesting effect Hewitson Nostalgia & memories 6 23 May 2010 03:42
Brief Amiga appearance in .net magazine antonvaltaz Amiga scene 0 10 November 2009 12:55
Help with the appearance in WB3.1/Scalos SamSharp project.ClassicWB 4 10 August 2009 19:14
WB Utils - change window appearance? Crs request.Apps 30 15 January 2005 13:26

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:23.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11085 seconds with 13 queries