23 April 2021, 17:24 | #21 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
|
I mean that it doesn't use a copper interrupt at all.
The music player is called at the top of the vblank interrupt, and then in the copperlist, there's a copper wait for (for example) line 15 followed by a copper move to DMACON. The music player just patches this copper move with the correct value, and it is automatically set by the copper at line 15 |
23 April 2021, 17:38 | #22 | ||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
Quote:
|
||
23 April 2021, 17:49 | #23 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
|
I don't think that's necessary with LSP... but I guess it could work for a player that needs to set AUDxLC too. Removes a lot of overhead cycles "wasted" by interrupt handlers and CPU internal interrupt triggering
|
23 April 2021, 17:57 | #24 | |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,039
|
Quote:
1. no short samples, they are set at the start of the next frame (with a ~20ms delay but that's ok because samples are sufficiently long and haven't started looping yet) 2. short samples, the usual cia timer method |
|
24 April 2021, 08:42 | #25 | |
Registered User
Join Date: Sep 2019
Location: Finland
Posts: 361
|
Quote:
Out of four available CIA-timers two trigger lev2 and two trigger lev6 interrupts. Lev2 timer interrupt and lev1 software interrupt are available in demo programming as well. All of the above with the "as far as I can remember" -disclaimer |
|
24 April 2021, 11:40 | #26 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
DeliTracker does the same : trigger a SoftInt to defer the work so that the player does not disturb anyone. Also, as mentioned CIA-B has high priority but CIA-A is lower than Copper and Vert Beam. But there is another way to handle this. Let's say your main interrupt has to do heavy duty stuff but also some small but more time critical things. You could separate the two by triggering another lower priority interrupt, but you also have the possibility to reallow interrupts by setting an appropriate IPL level in SR and tell Paula you're done with your high level interrupt (by simply acknowledging it before it has finished). Then, start with the fast but time critical stuff, then reallow interrupts (including lower level ones), then do the more heavy duty things (which are ok to interrupt with a module player). (Not sure i've been clear on this ). |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
CIA periodic interrupt | jotd | Coders. Asm / Hardware | 12 | 02 January 2021 21:22 |
Extended Vertical Blank | sandruzzo | Coders. Asm / Hardware | 9 | 23 October 2019 15:17 |
Vertical blank and Bobs | geldo79 | Coders. Asm / Hardware | 4 | 21 October 2019 10:04 |
example of a CIA timer interrupt in assembler using cia.resource | Apollo | Coders. Asm / Hardware | 3 | 05 July 2013 08:40 |
CIA timer interrupt handler called twice during mod playback | absence | Coders. General | 5 | 16 March 2009 18:55 |
|
|