base:interrupts
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
base:interrupts [2014-10-23 01:55] – [Interrupts and timing] ftc | base:interrupts [2020-06-14 22:36] (current) – ftc | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Interrupts and timing ====== | ||
+ | |||
+ | Interrupts can be trigged by the CIA chips and the VIC chip, and they are mostly used to trig specific pieces of code at regular intervals. In demo and game coding, timing is often crucial, and programmers may need to use cycle exact timing to achieve things like stable rasterbars. However, timing is not only about setting up interrupts. It can also be achieved through delay loops and simply by keeping track of exactly how many cycles it takes for a certain code snippet to execute. | ||
+ | ===== IRQ's and timing in general ===== | ||
+ | |||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * [[Handling IRQs with some simple macros]] - How to handle all IRQ stuff easy - by rambones/ | ||
+ | * [[NMI Lock]] " | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | * [[base: | ||
+ | ===== Stable timing ===== | ||
+ | |||
+ | * [[Making stable raster routines]] - By Marko Mäkelä (for C64 and Vic-20) | ||
+ | * [[magazines: | ||
+ | * [[stable timing - jackasser|" | ||
+ | * [[Stable Raster Routine]] - Non cryptic explination by TWW / Creators | ||
+ | * [[improved clockslide|Improved Clock Slide]] by lft | ||
+ | * [[stable_raster_with_lightpen|Stable Raster with Lightpen]] - Kruthers | ||
+ | |||
+ | ==== Routines ==== | ||
+ | * [[Double IRQ|Double IRQ stable interrupt]] - Sourcecode by Fungus | ||
+ | * [[Delay]] - subroutine to delay a variable amount of cycles via branch and nops - by Yago. | ||
+ | * [[using_a_timer_as_an_inverted_raster_x-pos_register_method|Using a Timer as an Inverted Raster X-Pos Register]] - by Hermit Soft | ||
+ | * [[Detecting 6526 vs 6526A CIA chips]] - since they have a timer phase difference of 1 cycle - by White Flame | ||
+ | * {{: | ||
+ | * [[Stable IRQ with DMA]] - by ChristopherJam | ||
+ | * [[Frame skipping]] - by Mace | ||
+ | * [[Double irq explained]] - Double interrupts by TheHighlander 2015 | ||
+ | * [[NMIs and distributed jitter-correction routines|The Ninja-Method: | ||
+ | ===== Advanced program flow ===== | ||
+ | |||
+ | About complex execution flow such as multiple interrupt handlers at the same time, threaded code, and similar. This usually involves interrupts in one way or another. | ||
+ | |||
+ | * [[Launching long tasks from IRQ handler]] - by Bitbreaker/ | ||
+ | * [[Threads on the 6502]] - an example on how threads can be used efficiently on the 6502 processor. |
base/interrupts.txt · Last modified: 2020-06-14 22:36 by ftc