Add irq autocrawler sample

This commit is contained in:
drmortalwombat 2022-01-28 08:49:21 +01:00
parent dfe3d71f85
commit aee284c1d6
4 changed files with 19 additions and 9 deletions

View File

@ -60,10 +60,13 @@ w1:
jmp ex jmp ex
e2: e2:
sta $d012 ldx npos
stx tpos
lda npos bit $d011
sta tpos bmi e1
sta $d012
asl $d019 asl $d019
jmp ex jmp ex
@ -130,10 +133,13 @@ w1:
jmp ex jmp ex
e2: e2:
sta $d012 ldx npos
stx tpos
lda npos bit $d011
sta tpos bmi e1
sta $d012
jmp ex jmp ex

View File

@ -9117,7 +9117,7 @@ void InterCodeProcedure::Disassemble(FILE* file)
void InterCodeProcedure::Disassemble(const char* name, bool dumpSets) void InterCodeProcedure::Disassemble(const char* name, bool dumpSets)
{ {
#if 1 #if 0
#ifdef _WIN32 #ifdef _WIN32
FILE* file; FILE* file;
static bool initial = true; static bool initial = true;

Binary file not shown.

View File

@ -14,17 +14,21 @@ const char Text[] =
RIRQCode scroll, restore; RIRQCode scroll, restore;
static int x; int x;
// Loop through text // Loop through text
__interrupt void doscroll(void) __interrupt void doscroll(void)
{ {
vic.color_border++;
// Update raster IRQ for scroll line with new horizontal scroll offset // Update raster IRQ for scroll line with new horizontal scroll offset
rirq_data(&scroll, 0, 7 - (x & 7)); rirq_data(&scroll, 0, 7 - (x & 7));
// Copy scrolled version of text when switching over char border // Copy scrolled version of text when switching over char border
if ((x & 7) == 0) if ((x & 7) == 0)
memcpy((char *)0x0400 + 40 * 24, Text + ((x >> 3) & 255), 40); memcpy((char *)0x0400 + 40 * 24, Text + ((x >> 3) & 255), 40);
x++; x++;
vic.color_border--;
} }
int main(void) int main(void)
@ -46,7 +50,7 @@ int main(void)
// call scroll copy code // call scroll copy code
rirq_call(&restore, 1, doscroll); rirq_call(&restore, 1, doscroll);
// place this at the top of the screen before the display starts // place this at the top of the screen before the display starts
rirq_set(1, 4, &restore); rirq_set(1, 250, &restore);
// sort the raster IRQs // sort the raster IRQs
rirq_sort(); rirq_sort();