From 50f23c8c394338fc48f825e5b61303d4ac0360db Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 19 Dec 2003 01:14:08 +0000 Subject: Added basic GFX wrapper --- src/emma.c | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) (limited to 'src/emma.c') diff --git a/src/emma.c b/src/emma.c index 6bbf117..6709ec8 100644 --- a/src/emma.c +++ b/src/emma.c @@ -36,10 +36,11 @@ static Z80Byte mem[0x10000]; /* ---------------------------------------- PROTOS */ -static Z80Byte ReadMem(Z80 *z80, Z80Word addr); -static void WriteMem(Z80 *z80, Z80Word addr, Z80Byte val); -static Z80Byte ReadPort(Z80 *z80, Z80Word addr); -static void WritePort(Z80 *z80, Z80Word addr, Z80Byte val); +static Z80Byte ReadMem(Z80 *z80, Z80Word addr); +static void WriteMem(Z80 *z80, Z80Word addr, Z80Byte val); +static Z80Byte ReadPort(Z80 *z80, Z80Word addr); +static void WritePort(Z80 *z80, Z80Word addr, Z80Byte val); +static const char *Label(Z80 *z80, Z80Word addr); /* ---------------------------------------- MAIN @@ -47,8 +48,10 @@ static void WritePort(Z80 *z80, Z80Word addr, Z80Byte val); int main(int argc, char *argv[]) { Z80 *z80; + FILE *fp; + Z80Word pc=0; - z80=Z80Init(WriteMem,ReadMem,WritePort,ReadPort); + z80=Z80Init(WriteMem,ReadMem,WritePort,ReadPort,ReadMem,Label); if (!z80) { @@ -56,6 +59,23 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } + if ((fp=fopen("/files/emu/ROM/zx81.rom","rb"))) + { + fread(mem,1,0x10000,fp); + fclose(fp); + } + + while(1) + { + Z80Word opc=pc; + + printf("%4.4x: ",pc); + printf("%s\n",Z80Disassemble(z80,&pc)); + + if (pc