Skip to content

Commit b8ed714

Browse files
committed
***** yaze version 1.14 of 2004/04/23 *****
Changes since 1.13: 2004-04-23 * yaze.c, Makefile (VERSION): update version string. * simz80.pl: simulate the interrupt register (IR). (Michael Haardt). * bios.c (bios): case 254 incremented pc twice in a macro argument (Carl Mascott). Originated-by: yaze-1.14.tar.gz Originated-md5: 275499d4444fb998165fc7b30c06868f Originated-URL: ftp://ftp.ping.de/pub/misc/emulators/yaze-1.14.tar.gz Signed-off-by: Stephan Linz <linz@li-pro.net>
1 parent 665fcde commit b8ed714

7 files changed

Lines changed: 31 additions & 17 deletions

File tree

ChangeLog

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
**** Version 1.14 released ****
2+
3+
2004-04-23 Frank D. Cringle <fdc@sabre.ping.de>
4+
5+
* yaze.c, Makefile (VERSION): update version string.
6+
7+
* simz80.pl: simulate the interrupt register (IR). (Michael Haardt).
8+
9+
* bios.c (bios): case 254 incremented pc twice in a macro argument
10+
(Carl Mascott).
11+
112
**** Version 1.13 released ****
213

314
2004-01-24 Frank D. Cringle <fdc@cliwe.ping.de>

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Makefile for yaze
22

3-
# $Id: Makefile,v 1.4 2004/01/24 22:18:52 fdc Exp $
3+
# $Id: Makefile,v 1.5 2004/04/23 10:05:25 fdc Exp $
44

5-
VERSION = 1.13
5+
VERSION = 1.14
66

77
# CC must be an ANSI-C compiler
88
CC = gcc

bios.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
3535
#include "yaze.h"
3636
#include "bios.h"
3737

38-
/* $Id: bios.c,v 1.3 2004/01/11 16:49:58 fdc Exp $ */
38+
/* $Id: bios.c,v 1.4 2004/04/23 09:50:15 fdc Exp $ */
3939

4040
#ifndef lint
41-
static char vcid[] = "$Id: bios.c,v 1.3 2004/01/11 16:49:58 fdc Exp $";
41+
static char vcid[] = "$Id: bios.c,v 1.4 2004/04/23 09:50:15 fdc Exp $";
4242
#endif /* lint */
4343

4444

@@ -532,8 +532,9 @@ bios(int func)
532532
break;
533533
case 253: /* return from recursive call */
534534
return;
535-
case 254: /* meta-level command */
536-
if (GetBYTE(++pc) == 0)
535+
case 254:
536+
++pc; /* meta-level command */
537+
if (GetBYTE(pc) == 0)
537538
monitor(0);
538539
else {
539540
/* need a copy because docmd() scratches its argument */

simz80.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1947,7 +1947,7 @@ simz80(FASTREG PC)
19471947
POP(PC);
19481948
break;
19491949
case 0x46: /* IM 0 */
1950-
/* interrupt mode 0 */
1950+
IM = 0;
19511951
break;
19521952
case 0x47: /* LD I,A */
19531953
ir = (ir & 255) | (AF & ~255);
@@ -2012,7 +2012,7 @@ simz80(FASTREG PC)
20122012
PC += 2;
20132013
break;
20142014
case 0x56: /* IM 1 */
2015-
/* interrupt mode 1 */
2015+
IM = 1;
20162016
break;
20172017
case 0x57: /* LD A,I */
20182018
AF = (AF & 0x29) | (ir & ~255) | ((ir >> 8) & 0x80) | (((ir & ~255) == 0) << 6) | ((IFF & 2) << 1);
@@ -2044,7 +2044,7 @@ simz80(FASTREG PC)
20442044
PC += 2;
20452045
break;
20462046
case 0x5E: /* IM 2 */
2047-
/* interrupt mode 2 */
2047+
IM = 2;
20482048
break;
20492049
case 0x5F: /* LD A,R */
20502050
AF = (AF & 0x29) | ((ir & 255) << 8) | (ir & 0x80) | (((ir & 255) == 0) << 6) | ((IFF & 2) << 1);

simz80.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
1717
along with this program; if not, write to the Free Software
1818
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
1919

20-
/* $Id: simz80.h,v 1.3 2004/01/24 22:18:52 fdc Exp $ */
20+
/* $Id: simz80.h,v 1.4 2004/04/23 09:50:15 fdc Exp $ */
2121

2222
#include <limits.h>
2323

@@ -67,6 +67,7 @@ extern WORD iy;
6767
extern WORD sp;
6868
extern WORD pc;
6969
extern WORD IFF;
70+
extern WORD IM;
7071

7172
#ifndef MEMSIZE
7273
#define MEMSIZE 64

simz80.pl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
EOT
2222

23-
# $Id: simz80.pl,v 1.2 2004/01/11 16:11:17 fdc Exp $
23+
# $Id: simz80.pl,v 1.3 2004/04/23 09:50:15 fdc Exp $
2424

2525

2626
# This perl script generates the z80 instruction set simulator simz80().
@@ -1084,7 +1084,7 @@ sub ed_switch {
10841084
2 | (temp != 0);
10851085
EOT
10861086
&case(0x45, "RETN"); print "\t\t\tIFF |= IFF >> 1;\n\t\t\tPOP(PC);\n";
1087-
&case(0x46, "IM 0"); print "\t\t\t/* interrupt mode 0 */\n";
1087+
&case(0x46, "IM 0"); print "\t\t\tIM = 0;\n";
10881088
&case(0x47, "LD I,A"); print "\t\t\tir = (ir & 255) | (AF & ~255);\n";
10891089
&case(0x48, "IN C,(C)"); &INP(BC, "l");
10901090
&case(0x49, "OUT (C),C"); &OUTP(BC, "l");
@@ -1096,15 +1096,15 @@ sub ed_switch {
10961096
&case(0x51, "OUT (C),D"); &OUTP(DE, "h");
10971097
&case(0x52, "SBC HL,DE"); &SBCdd(HL, DE);
10981098
&case(0x53, "LD (nnnn),DE"); &LDmemdd(DE);
1099-
&case(0x56, "IM 1"); print "\t\t\t/* interrupt mode 1 */\n";
1099+
&case(0x56, "IM 1"); print "\t\t\tIM = 1;\n";
11001100
&case(0x57, "LD A,I"); print "\t\t\tAF = (AF & 0x29) | (ir & ~255) | ",
11011101
"((ir >> 8) & 0x80) | (((ir & ~255) == 0) << 6)",
11021102
" | ((IFF & 2) << 1);\n";
11031103
&case(0x58, "IN E,(C)"); &INP(DE, "l");
11041104
&case(0x59, "OUT (C),E"); &OUTP(DE, "l");
11051105
&case(0x5A, "ADC HL,DE"); &ADCdd(HL, DE);
11061106
&case(0x5B, "LD DE,(nnnn)"); &LDddmem(DE);
1107-
&case(0x5E, "IM 2"); print "\t\t\t/* interrupt mode 2 */\n";
1107+
&case(0x5E, "IM 2"); print "\t\t\tIM = 2;\n";
11081108
&case(0x5F, "LD A,R"); print "\t\t\tAF = (AF & 0x29) | ((ir & 255) << 8) | ",
11091109
"(ir & 0x80) | (((ir & 255) == 0) << 6)",
11101110
" | ((IFF & 2) << 1);\n";

yaze.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2222
#include "simz80.h"
2323
#include "yaze.h"
2424

25-
/* $Id: yaze.c,v 1.3 2004/01/24 22:18:52 fdc Exp $ */
25+
/* $Id: yaze.c,v 1.5 2004/04/23 10:05:25 fdc Exp $ */
2626

2727
#ifndef lint
28-
static char vcid[] = "$Id: yaze.c,v 1.3 2004/01/24 22:18:52 fdc Exp $";
28+
static char vcid[] = "$Id: yaze.c,v 1.5 2004/04/23 10:05:25 fdc Exp $";
2929
#endif /* lint */
3030

3131

32-
#define VERSION "1.13"
32+
#define VERSION "1.14"
3333

3434
/* Z80 registers */
3535
WORD af[2]; /* accumulator and flags (2 banks) */
@@ -44,6 +44,7 @@ WORD iy;
4444
WORD sp;
4545
WORD pc;
4646
WORD IFF;
47+
WORD IM;
4748

4849
BYTE ram[MEMSIZE*1024]; /* Z80 memory space */
4950
#ifdef MMU

0 commit comments

Comments
 (0)