30 June 2023, 14:42 | #1 |
Going nowhere
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 9,018
|
Copperlists vs not having them.
Something occurred to me today, and I don't know the a swer, so here we are.
Not every game requires using a copper list, if the game or demo or intro doesn't require colour reloading of any sort or using it to do blitter queues, it's entirely possible like games of old to simply put the required values into their respective places by simply writing them once using the CPU. Now my question is this. Is there any speed benefits whatsoever, where by not using a copper list at all, means the CPU or blitter gets to use the slots that ordinarily would be used by to copper chip running a copper list? I'm for instance writing a conversion for a ompany, and really, there is absolutely no reason other than convenience that I even need to have a copper list running at all, and the chip memory taken up by that copperlist can be put toward something else. So other than gaining a few bytes in memory, any other benefits? |
30 June 2023, 14:58 | #2 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,498
|
You may very well not use the copper list if the only things you need to change are frame initializations (I've done this a few times).
You just have to remember that you have the VBI setup the bitplane and sprite pointers. Be warned though: you can have problem on a frame skip (or better, a doubled frame, ie slowdown) *. Video data (or sprites) would be fetched from wrong locations and video glitches would occur. Of course the DMA slots/bus cycles not used by the copper would be free for other accesses. EDIT: * Just to clarify: this is a very remote occurrence. If you have a short VBI, and the higher priority IRQs break it briefly, there is no reason you can't afford setting pointers during vertical blank. Last edited by ross; 30 June 2023 at 15:16. |
30 June 2023, 21:59 | #3 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,226
|
What ross says (obviously), but since you usually want at least bitplane pointers updated it's hard to beat the copper for efficiency (even with AGA). Really think the number of times where you're better off using the CPU instead of copper is going to be really low.
|
30 June 2023, 22:11 | #4 |
Registered User
Join Date: Dec 2017
Location: Austin, TX
Age: 41
Posts: 412
|
I've done it in a 512 byte intro to save space. Easy enough to poll on the vertical blank interrupt and reprogram the bitplane pointers.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Switching Copperlists | DanielAllsopp | Coders. Asm / Hardware | 4 | 13 October 2021 12:39 |
How to do multiple copperlists | Havie | Coders. Blitz Basic | 5 | 25 April 2020 10:54 |
Copperlists and screen sizes | Jherek Carnelia | Coders. Asm / Hardware | 2 | 12 November 2019 18:59 |
Multiple Copperlists and Sprites | Havie | Coders. Blitz Basic | 4 | 03 October 2018 21:10 |
|
|