English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 15 March 2011, 06:10   #1
Andy_C
 
Posts: n/a
Using the Copper to mangle the bitplanes.

I had an idea years ago and was thinking of coding it now... Before I get serious with it I'm wondering if it is possible - so I thought I would just ask

With the Copper List is it possible to rearrange the screen address to emulate the Atari ST bitplanes?

This way you could use the movep trick to do a Atari ST C2P trick and let the Copper mangle the screen addresses around.

Will the Copper be able to have the timings to do this? I know it can do colour changes in a similar type of way.

Thanks for any input.
 
Old 15 March 2011, 08:06   #2
pmc
gone
 
pmc's Avatar
 
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
I'm not familiar with Atari ST bitplane layout or the ins and outs of movep c2p but I do have some experience using the copper to contantly update the bitplane pointers per scanline.

I'm not sure if this is what you would need to do for what you're thinking of trying but one thing I can say is that using the copper to do that takes a hell of a lot of DMA time. And obviously that's without doing any other clever stuff outside of the copper list. That's where you might start to struggle I reckon.
pmc is offline  
Old 15 March 2011, 09:18   #3
StingRay
move.l #$c0ff33,throat
 
StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
Quote:
Originally Posted by Andy_C View Post
With the Copper List is it possible to rearrange the screen address to emulate the Atari ST bitplanes?

This way you could use the movep trick to do a Atari ST C2P trick and let the Copper mangle the screen addresses around.
It is possible and has been done at least once. There are better/faster ways for A500/68000 c2p though (cpu/blitter).
StingRay is offline  
Old 15 March 2011, 09:47   #4
Andy_C
 
Posts: n/a
Quote:
Originally Posted by StingRay View Post
It is possible and has been done at least once. There are better/faster ways for A500/68000 c2p though (cpu/blitter).
So it is possible I always wanted to try it but I moved onto different platforms all those years ago and never bothered.

I'm going back to England on holiday in the next couple of months and will be raiding a loft to get my old A500 and A1200 to bring back to Australia. I fancy having a play around with programming as a hobby interest thing.

So the blitter is the way to go on this. I guess you could use the movep trick and use the blitter to convert, doing 4 passes. I presume that's how you would do a 4 bitplane C2P?
 
Old 15 March 2011, 11:03   #5
Codetapper
2 contact me: email only!
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Posts: 3,182
Just remember that the movep command doesn't exist on some higher CPU's! So your code isn't going to work on all Amigas.
Codetapper is offline  
Old 15 March 2011, 20:23   #6
Siggy999
Registered User
 
Siggy999's Avatar
 
Join Date: Mar 2008
Location: Las Vegas/Nevada
Posts: 103
Quote:
Originally Posted by Codetapper View Post
Just remember that the movep command doesn't exist on some higher CPU's! So your code isn't going to work on all Amigas.
I did not know this! Thanks for the heads up!
Siggy999 is offline  
Old 16 March 2011, 00:25   #7
Kalms
Registered User
 
Join Date: Nov 2006
Location: Stockholm, Sweden
Posts: 237
For 68000 Amigas, you can use MOVEP to trade one blitter pass for some extra CPU consumption.

For 68020-68040 Amigas, you need to be careful with memory accesses. You'll find that MOVEP (which does 4 byte-sized accesses in one instruction) is wasteful in that regard.

For 68060 Amigas, you'll find that MOVEP is not implemented in hardware. Executing the instruction will either cause the machine to crash horribly, or invoke a very slow software emulation of the instruction.

Given that your focus seems to be 68000 Amigas - you have three things you can trade against each other: CPU time, blitter time, and memory consumption. If you find that your code is too slow, ask yourself: how can I change the input data and rendering loop, to require fewer blitter passes (without the increased CPU cost eating up the savings from the reduced blitting)?
Kalms is offline  
Old 16 March 2011, 12:58   #8
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Quote:
Originally Posted by StingRay View Post
It is possible and has been done at least once. There are better/faster ways for A500/68000 c2p though (cpu/blitter).
Only once, strange I'd imagine that Atari port where done this way, can you please name the game/demo doing this?

Thanks
Kamel
kamelito 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
Combining copper scrolling with copper background phx Coders. Asm / Hardware 16 13 February 2021 12:41
Asm: 4 bitplanes starfield (68020+) alkis Coders. Asm / Hardware 20 06 September 2013 07:30
'Background' colour when all bitplanes are disabled TCD request.UAE Wishlist 7 10 July 2010 12:56
Amiga Bitplanes & Planar vs Chunky - Technical Expert Required CodyJarrett project.APoV 4 12 November 2009 11:14
How to put the mask bitplane behind the other bitplanes?? method project.Sprites 6 15 February 2006 02:53

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 23:51.

Top

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