diff -u --recursive --new-file vice-0.14.0/CHANGES vice-0.14.1/CHANGES --- vice-0.14.0/CHANGES Thu Mar 19 23:27:37 1998 +++ vice-0.14.1/CHANGES Sat Mar 21 14:59:10 1998 @@ -8,6 +8,12 @@ of all the changes in the code. +* Changes in VICE 0.14.1 +======================== + +- A nasty CIA-related bug has been fixed. + + * Changes in VICE 0.14.0 ======================== diff -u --recursive --new-file vice-0.14.0/INSTALL vice-0.14.1/INSTALL --- vice-0.14.0/INSTALL Thu Mar 19 23:48:14 1998 +++ vice-0.14.1/INSTALL Sat Mar 21 15:00:06 1998 @@ -1,5 +1,5 @@ -Installation notes for VICE 0.14.0 +Installation notes for VICE 0.14.1 ********************************** @@ -231,7 +231,7 @@ Where `ARCH' is the autoconf identification string for the architecture of the machine you have compiled binaries for (e.g. `i586-pc-linux-gnu'), and `VERSION' is the version number - (in this case, 0.14.0). Use `strip(1)' on the binary files if you + (in this case, 0.14.1). Use `strip(1)' on the binary files if you like. If you want to provide site-specific defaults, you can build a @@ -283,7 +283,7 @@ and MS-DOS executable of X64 (let's suppose a cross-compiling GCC is installed as `gcc-dos' somewhere in your `$PATH'): - cd sources/vice-0.14.0 + cd sources/vice-0.14.1 mkdir i386-go32-msdos cd i386-go32-msdos CC="gcc-dos" CFLAGS="-O5" ../src/configure --host=i386-go32-msdos diff -u --recursive --new-file vice-0.14.0/README vice-0.14.1/README --- vice-0.14.0/README Thu Mar 19 22:23:09 1998 +++ vice-0.14.1/README Sat Mar 21 14:59:40 1998 @@ -1,5 +1,5 @@ - VICE 0.14.0 March 1998 + VICE 0.14.1 March 1998 _______________ @@ -19,7 +19,7 @@ ------------------------------------------------------------------------------ - This is version 0.14.0 of VICE, the multi-platform PET/VIC20/C64 + This is version 0.14.1 of VICE, the multi-platform PET/VIC20/C64 emulator. This version can be compiled both for MS-DOS and for most Unix system provided with the X Window System version 11, R5 or later. diff -u --recursive --new-file vice-0.14.0/src/ChangeLog vice-0.14.1/src/ChangeLog --- vice-0.14.0/src/ChangeLog Fri Mar 20 08:50:49 1998 +++ vice-0.14.1/src/ChangeLog Sat Mar 21 14:54:40 1998 @@ -1,3 +1,10 @@ +Sat Mar 21 14:54:10 1998 Ettore Perazzoli + + * Version 0.14.1 released. + + * cia-tmpl.c (update_mycia): Do not check `myciardi' when setting + `myciaint'. + Thu Mar 19 19:08:38 1998 Ettore Perazzoli * Version 0.14.0 released. @@ -1420,7 +1427,7 @@ the pending interrupts anymore. * cia-tmpl.c (my_set_int): Removed calls to `force_interrupt_check'. - * vicii.c (vic_ii_trigger_light_pen): Likewise. + * c64/vicii.c (vic_ii_trigger_light_pen): Likewise. Fri Jan 30 11:51:28 1998 Ettore Perazzoli @@ -1524,7 +1531,7 @@ * include/interrupt.h (steal_cycles, maincpu_steal_cycles): New parameter `start_clk'. Calculate `last_stolen_cycles_clk' from it. - * vicii.c (do_memory_fetch, int_rasterfetch): Callers updated. + * c64/vicii.c (do_memory_fetch, int_rasterfetch): Callers updated. Fri Jan 9 23:50:07 1998 Ettore Perazzoli diff -u --recursive --new-file vice-0.14.0/src/Makefile.in vice-0.14.1/src/Makefile.in --- vice-0.14.0/src/Makefile.in Wed Mar 11 21:59:28 1998 +++ vice-0.14.1/src/Makefile.in Sat Mar 21 14:53:32 1998 @@ -144,8 +144,8 @@ VICEMISC = $(SRCDIR)/Makefile.in $(SRCDIR)/configure $(SRCDIR)/configure.in \ $(SRCDIR)/config.guess $(SRCDIR)/config.sub $(SRCDIR)/install-sh \ - $(SRCDIR)/convio $(SRCDIR)/mkinstalldirs \ - $(SRCDIR)/mkdep $(SRCDIR)/ChangeLog + $(SRCDIR)/convio $(SRCDIR)/mkinstalldirs $(SRCDIR)/mkdep \ + $(SRCDIR)/ChangeLog VICEDIST = $(VICEMISC) $(VICESRC) $(VICEHDR) $(C64SRC) $(VICSRC) $(PETSRC) diff -u --recursive --new-file vice-0.14.0/src/c64/cia1.c vice-0.14.1/src/c64/cia1.c --- vice-0.14.0/src/c64/cia1.c Thu Mar 19 22:37:29 1998 +++ vice-0.14.1/src/c64/cia1.c Sat Mar 21 14:34:34 1998 @@ -193,8 +193,6 @@ cia1_tac = cia1_tau - rclk; tmp = 0; } else { - if (cia1rdi < cia1_tau) - cia1int |= CIA_IM_TA; if (cia1[CIA_CRA] & 0x08) { tmp = 1; if ((cia1ier & CIA_IM_TA) @@ -228,6 +226,8 @@ if (cia1_tac == cia1_tal) ista = 1; + + cia1int |= CIA_IM_TA; } } #ifdef CIA1_TIMER_DEBUG @@ -246,8 +246,6 @@ if (rclk < cia1_tbu + 1) { cia1_tbc = cia1_tbu - rclk; } else { - if (cia1rdi < cia1_tbu) - cia1int |= CIA_IM_TB; if (cia1[CIA_CRB] & 0x08) { tmp = 1; if ((cia1ier & CIA_IM_TB) && (cia1_tbu < added_int_clk)) @@ -267,6 +265,7 @@ } if (!cia1_tbc) cia1_tbc = cia1_tbl; + cia1int |= CIA_IM_TB; } } else if (cia1_tbs == CIAT_COUNTTA) { /* missing: set added_int */ diff -u --recursive --new-file vice-0.14.0/src/c64/cia2.c vice-0.14.1/src/c64/cia2.c --- vice-0.14.0/src/c64/cia2.c Thu Mar 19 22:37:44 1998 +++ vice-0.14.1/src/c64/cia2.c Sat Mar 21 14:34:48 1998 @@ -192,8 +192,6 @@ cia2_tac = cia2_tau - rclk; tmp = 0; } else { - if (cia2rdi < cia2_tau) - cia2int |= CIA_IM_TA; if (cia2[CIA_CRA] & 0x08) { tmp = 1; if ((cia2ier & CIA_IM_TA) @@ -227,6 +225,8 @@ if (cia2_tac == cia2_tal) ista = 1; + + cia2int |= CIA_IM_TA; } } #ifdef CIA2_TIMER_DEBUG @@ -245,8 +245,6 @@ if (rclk < cia2_tbu + 1) { cia2_tbc = cia2_tbu - rclk; } else { - if (cia2rdi < cia2_tbu) - cia2int |= CIA_IM_TB; if (cia2[CIA_CRB] & 0x08) { tmp = 1; if ((cia2ier & CIA_IM_TB) && (cia2_tbu < added_int_clk)) @@ -266,6 +264,7 @@ } if (!cia2_tbc) cia2_tbc = cia2_tbl; + cia2int |= CIA_IM_TB; } } else if (cia2_tbs == CIAT_COUNTTA) { /* missing: set added_int */ diff -u --recursive --new-file vice-0.14.0/src/cia-tmpl.c vice-0.14.1/src/cia-tmpl.c --- vice-0.14.0/src/cia-tmpl.c Thu Mar 19 21:48:42 1998 +++ vice-0.14.1/src/cia-tmpl.c Sat Mar 21 14:34:24 1998 @@ -186,8 +186,6 @@ mycia_tac = mycia_tau - rclk; tmp = 0; } else { - if (myciardi < mycia_tau) - myciaint |= CIA_IM_TA; if (mycia[CIA_CRA] & 0x08) { tmp = 1; if ((myciaier & CIA_IM_TA) @@ -221,6 +219,8 @@ if (mycia_tac == mycia_tal) ista = 1; + + myciaint |= CIA_IM_TA; } } #ifdef MYCIA_TIMER_DEBUG @@ -239,8 +239,6 @@ if (rclk < mycia_tbu + 1) { mycia_tbc = mycia_tbu - rclk; } else { - if (myciardi < mycia_tbu) - myciaint |= CIA_IM_TB; if (mycia[CIA_CRB] & 0x08) { tmp = 1; if ((myciaier & CIA_IM_TB) && (mycia_tbu < added_int_clk)) @@ -260,6 +258,7 @@ } if (!mycia_tbc) mycia_tbc = mycia_tbl; + myciaint |= CIA_IM_TB; } } else if (mycia_tbs == CIAT_COUNTTA) { /* missing: set added_int */ diff -u --recursive --new-file vice-0.14.0/src/include/patchlevel.h vice-0.14.1/src/include/patchlevel.h --- vice-0.14.0/src/include/patchlevel.h Thu Mar 19 22:20:27 1998 +++ vice-0.14.1/src/include/patchlevel.h Sat Mar 21 14:53:42 1998 @@ -4,7 +4,7 @@ */ /* Global VICE release version. */ -#define VERSION "0.14.0" +#define VERSION "0.14.1" /* Define this for unstable, untested versions for developers only. */ /* #define UNSTABLE */ diff -u --recursive --new-file vice-0.14.0/src/maincpu.c vice-0.14.1/src/maincpu.c --- vice-0.14.0/src/maincpu.c Thu Mar 12 20:47:08 1998 +++ vice-0.14.1/src/maincpu.c Sat Mar 21 14:56:45 1998 @@ -120,7 +120,7 @@ /* Global clock counter. */ CLOCK clk = 0L; -/* This is set to nonzero each time a Read-Modify-Write instructions that +/* This is flag is set to 1 each time a Read-Modify-Write instructions that accesses memory is executed. We can emulate the RMW bug of the 6510 this way. VERY important notice: Always assign 1 for true, 0 for false! Some functions depend on this to do some optimization. */