1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-05 21:30:52 +00:00

Merge remote-tracking branch 'origin/master'

This commit is contained in:
jespergravgaard 2021-12-15 22:31:55 +01:00
commit 9c954e9005

View File

@ -1,16 +1,16 @@
// A raster IRQ that opens the top/bottom border.
#include <c64.h>
char* const GHOST_BYTE = (char*)$3fff;
char* const GHOST_BYTE = (char*)0x3fff;
void main() {
*GHOST_BYTE = 0;
asm { sei }
// Disable CIA 1 Timer IRQ
CIA1->INTERRUPT = CIA_INTERRUPT_CLEAR;
// Set raster line to $fa
VICII->CONTROL1 &=$7f;
VICII->RASTER = $fa;
// Set raster line to 0xfa
VICII->CONTROL1 &= 0x7f;
VICII->RASTER = 0xfa;
// Enable Raster Interrupt
VICII->IRQ_ENABLE = IRQ_RASTER;
// Set the IRQ routine
@ -27,11 +27,11 @@ void main() {
__interrupt(hardware_clobber) void irq_bottom_1() {
VICII->BORDER_COLOR = WHITE;
// Set screen height to 24 lines - this is done after the border should have started drawing - so it wont start
VICII->CONTROL1 &= ($ff^VICII_RSEL);
VICII->CONTROL1 &= (0xff^VICII_RSEL);
// Acknowledge the IRQ
VICII->IRQ_STATUS = IRQ_RASTER;
// Trigger IRQ 2 at line $fd
VICII->RASTER = $fd;
// Trigger IRQ 2 at line 0xfd
VICII->RASTER = 0xfd;
*HARDWARE_IRQ = &irq_bottom_2;
VICII->BORDER_COLOR = RED;
}
@ -43,8 +43,8 @@ __interrupt(hardware_clobber) void irq_bottom_2() {
VICII->CONTROL1 |= VICII_RSEL;
// Acknowledge the IRQ
VICII->IRQ_STATUS = IRQ_RASTER;
// Trigger IRQ 1 at line $fa
VICII->RASTER = $fa;
// Trigger IRQ 1 at line 0xfa
VICII->RASTER = 0xfa;
*HARDWARE_IRQ = &irq_bottom_1;
VICII->BORDER_COLOR = RED;
}
}