Quote:
Originally Posted by ross
I'm patching an old game to make it fully system compliant and found some strange copper behaviour.
After the LoadView(NULL) i used AddIntServer(VBL) to setup my first copper list.. but do not have worked properly.
So after investiganting i've found that COPJMP2 is set to execute a 'void' copper list.
|
Setting COPJMP2 to some bogus address, huh ? Totally unimportant if main coplist just touches COP2LC and doesn't actually trigger COPJMP2.
Quote:
Originally Posted by ross
I was expecting total garbage on screen but nothing.. screen clean.
|
Screen clean because number of bitplanes is set to zero, probably.
Have you checked this in main coplist ?
Quote:
Originally Posted by ross
I remembered reading something about the copper that stops in some situation and writing to "dangerous register" (with COPCON zeroed) is one of these.
|
Are you sure it actually stops and doesn't just ignore the writes ?
Quote:
Originally Posted by ross
But what amazed me is that it is used by the system!
So is it considered a feature? or is it just a huge bug?
|
It doesn't need to. Simple CEND is enough. I see no reason why the system would do something really not clever like this.
Did you verify that :
- copper DMA is activated
- screen bitplane DMA is activated