diff --git a/hardware/playfield1.c b/hardware/playfield1.c index da72f3d..fd0f8d8 100644 --- a/hardware/playfield1.c +++ b/hardware/playfield1.c @@ -27,6 +27,7 @@ * A simple setup to display a playfield with a depth of 1 bit. */ extern struct Custom custom; +char VERSION_STRING[] = "\0$VER: playfield1 1.0 (21.09.2016)\0"; static UWORD __chip coplist[] = { COP_MOVE(BPL1PTH, 0), @@ -81,6 +82,11 @@ int main(int argc, char **argv) // and point to the copper list custom.cop1lc = (ULONG) coplist; + // strobe the COPJMP1 register to make sure the system is using + // copper list 1 (I found out that leaving this out can lead to + // strange effects on an emulated 4000 system) + custom.copjmp1 = 1; + waitmouse(); reset_display(); diff --git a/hardware/sprites.c b/hardware/sprites.c index 56dce45..058f558 100644 --- a/hardware/sprites.c +++ b/hardware/sprites.c @@ -7,6 +7,7 @@ * A simple setup to display a sprite. */ extern struct Custom custom; +char VERSION_STRING[] = "\0$VER: sprites 1.0 (21.09.2016)\0"; static UWORD __chip coplist_pal[] = { COP_MOVE(SPR0PTH, 0x0000), @@ -44,6 +45,7 @@ int main(int argc, char **argv) coplist_pal[3] = (((ULONG) spdat0) >> 16) & 0xffff; custom.cop1lc = is_pal ? (ULONG) coplist_pal : (ULONG) coplist_ntsc; + custom.copjmp1 = 1; waitmouse(); diff --git a/hardware/startup.c b/hardware/startup.c index ef4ec60..83a311a 100644 --- a/hardware/startup.c +++ b/hardware/startup.c @@ -14,6 +14,7 @@ * A great starting point to use as a template for demos and games. */ extern struct Custom custom; +char VERSION_STRING[] = "\0$VER: startup 1.0 (21.09.2016)\0"; static UWORD __chip coplist_pal[] = { COP_MOVE(BPLCON0, BPLCON0_COMPOSITE_COLOR), @@ -41,8 +42,14 @@ int main(int argc, char **argv) struct Task *current_task = FindTask(NULL); BYTE old_prio = SetTaskPri(current_task, TASK_PRIORITY); BOOL is_pal = init_display(); + custom.cop1lc = is_pal ? (ULONG) coplist_pal : (ULONG) coplist_ntsc; + // strobe the COPJMP1 register to make sure the system is using + // copper list 1 (I found out that leaving this out can lead to + // strange effects on an emulated 4000 system) + custom.copjmp1 = 1; + waitmouse(); reset_display();