X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fapple2.c;h=5bb586d2b61141b84ad5f682ddde344d2fa9f114;hb=447db08c956099b3b183886729108bf5b364c4b8;hp=c2b3e652d3415d8f728ecfff62c72c036a707c0a;hpb=e4fa2ac140f7bc56571373a7b7eb585fa4500e38;p=xscreensaver diff --git a/hacks/apple2.c b/hacks/apple2.c index c2b3e652..5bb586d2 100644 --- a/hacks/apple2.c +++ b/hacks/apple2.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1998-2003 Jamie Zawinski +/* xscreensaver, Copyright (c) 1998-2004 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -71,12 +71,12 @@ void a2_scroll(apple2_state_t *st) { int i; - st->textlines[st->cursy][st->cursx] ^= 0xc0; /* turn off cursor */ + st->textlines[st->cursy][st->cursx] |= 0xc0; /* turn off cursor */ + for (i=0; i<23; i++) { memcpy(st->textlines[i],st->textlines[i+1],40); } memset(st->textlines[23],0xe0,40); - st->textlines[st->cursy][st->cursx] ^= 0xc0; /* turn cursor back on */ } static void @@ -617,6 +617,9 @@ apple2(Display *dpy, Window window, int delay, } } + if (sim->curtime >= delay) + stepno = A2CONTROLLER_DONE; + if (sim->printing) { int nlcnt=0; while (*sim->printing) { @@ -684,7 +687,7 @@ apple2(Display *dpy, Window window, int delay, and even bytes have different color spaces. So, pattern[0..600] gets the dots for one scan line. */ - char *pp=&sim->inp->signal[row+ANALOGTV_TOP+4][ANALOGTV_PIC_START+100]; + signed char *pp=&sim->inp->signal[row+ANALOGTV_TOP+4][ANALOGTV_PIC_START+100]; if ((sim->st->gr_mode&A2_GR_HIRES) && (row<160 || (sim->st->gr_mode&A2_GR_FULL))) {