English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 29 January 2021, 17:30   #1
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
Copper SKIP/WAIT timing

I've run into a bit of an oddity with my latest experiment.
The HRM states that WAIT & SKIP have different timing:
Quote:
Originally Posted by HRM
The MOVE and SKIP . instructions require two memory cycles and two instruction words each. Because only the odd memory cycles are requested by the Copper, four memory cycle times are required per instruction. The WAIT instruction requires three memory cycles and six memory cycle times; it takes one extra memory cycle to wake up.
But some of my tests seem to suggest that SKIP & WAIT are actually identical in timing. Am I doing something wrong here or have I misunderstood the SKIP timing?
roondar is offline  
Old 05 February 2021, 16:07   #2
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
To answer my own question: the timing of WAIT & SKIP in the HRM are in fact accurate.

However, PAL Amiga's have scanlines that aren't all the same length. This can impact timing of certain effects and is something I didn't know until very recently.
roondar is offline  
Old 05 February 2021, 16:14   #3
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,491
Quote:
Originally Posted by roondar View Post
However, PAL Amiga's have scanlines that aren't all the same length. This can impact timing of certain effects and is something I didn't know until very recently.
Hi roondar, what do you mean by this?
NTSC lines can be long or short but PAL lines are only short...
ross is offline  
Old 05 February 2021, 16:23   #4
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,437
Yeah, that wasn't very clear. Mostly because I wrote something that's wrong. It is indeed NTSC where lines alternate in length, not PAL. Sorry, my mistake.
Edit: it's because of this bit in the HRM. It always confuses me:
Quote:
Originally Posted by HRM
All lines are not the same length in NTSC. Every other line is a long line (228 color clocks , 0-$E3), with the others being 227 color clocks long. In PAL, they are all 227 long. The display sees all these lines as 227 1/2 color clocks long, while the Copper sees alternating long and short lines.
Somehow I always read that as saying that PAL lines alternate.

Believe it or not, but what I was getting at was that scanlines get 113 slots for Copper instructions and that this is not a very useful amount if you want to divide it by 2. But because I had in my head that PAL alternated in length, I remembered that when I wrote this. Busy day, mistakes happen.

Last edited by roondar; 05 February 2021 at 16:36.
roondar is offline  
Old 05 February 2021, 16:37   #5
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,491
Quote:
Originally Posted by roondar View Post
it's because of this bit in the HRM. It always confuses me:
That HRM sentence is badly written and can only be confusing

Quote:
Believe it or not, but what I was getting at was that scanlines get 113 slots for Copper instructions and that this is not a very useful amount if you want to divide it by 2.
Two possibility here:
- spread 113 CMOVE over two lines (but say goodbye to COLOR00 sync) [useful for BPLCON4 refill on AGA]
- use 55 CMOVE + 1 CWAIT per line
(as long as you don't have copper cycles stolen elsewhere)
ross is offline  
Old 05 February 2021, 17:46   #6
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,658
It seems you have found the answer, but if someone ends up here looking for copper instruction timings, I wrote an article on Coppershade about MOVE and WAIT a while ago.
Photon 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
copper skip and copjmp2 Rock'n Roll Coders. Asm / Hardware 4 24 April 2020 19:51
Copper SKIP instruction sparhawk Coders. Asm / Hardware 21 15 January 2020 16:21
Copper wait geldo79 Coders. Asm / Hardware 9 12 November 2019 09:18
Bug with the Copper SKIP instruction ? Yragael support.WinUAE 5 08 August 2017 20:13
Copper SKIP after SKIP neoman support.WinUAE 3 29 June 2015 16:46

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 16:10.

Top

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