English Amiga Board


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

 
 
Thread Tools
Old 03 June 2020, 00:26   #1
DanielAllsopp
Registered User

DanielAllsopp's Avatar
 
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 87
COPJMP2 Return

I'm probably thinking about this all wrong but, after you've jumped to a second copper list with COPJMP2, how do you return to your original copper list pointed to by COP1LCH, so it can continue what you were doing?

The only thing I can think of is a COPJMP1 from the second copper list, but by the looks of the jumbled up mess on the screen, that doesn't work. I assume it's just restarting the whole copper list again?
DanielAllsopp is offline  
Old 03 June 2020, 00:45   #2
ross
Per aspera ad astra

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 50
Posts: 2,612
COPxLC registers are buffered and copper jump to these locations only for two reasons: automatically at vertical blank (using COP1LC) or manually strobing COPJMPx.
So if you want to return to your original flux, after setting COP2LC and jumping to it with COPJMP2, you need to insert a 'return value' in COP1LC before a strobe to COPJMP1 (for the 'return').
Remenber to reinsert the original copper1 start position in COP1LC before end of frame, or at next vb you restart from the last buffered value in COP1LC.

Maybe a bit complex, but this example use copper subroutines:
http://eab.abime.net/showpost.php?p=...5&postcount=19
ross is offline  
Old 03 June 2020, 10:29   #3
DanielAllsopp
Registered User

DanielAllsopp's Avatar
 
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 87
Quote:
Originally Posted by ross View Post
COPxLC registers are buffered and copper jump to these locations only for two reasons: automatically at vertical blank (using COP1LC) or manually strobing COPJMPx.
So if you want to return to your original flux, after setting COP2LC and jumping to it with COPJMP2, you need to insert a 'return value' in COP1LC before a strobe to COPJMP1 (for the 'return').
Remenber to reinsert the original copper1 start position in COP1LC before end of frame, or at next vb you restart from the last buffered value in COP1LC.

Maybe a bit complex, but this example use copper subroutines:
http://eab.abime.net/showpost.php?p=...5&postcount=19
Thanks Ross, I’ll give that a shot later today
DanielAllsopp 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
Return to Genesis shutter request.Old Rare Games 7 31 October 2014 17:53
Behaviour of COPJMP2? Anding Coders. General 4 20 May 2009 18:35
Return to Atlantis ricky500 Games images which need to be WHDified 9 06 December 2008 12:54
Return to Atlantis RocketMack request.Old Rare Games 12 19 January 2002 01:49

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 22:41.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.07537 seconds with 16 queries