From 804169dd621a3ad3eec1a32ce30350de667fee80 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Thu, 30 Oct 2014 00:23:30 +0100 Subject: apply a facelift --- source/apumem.h | 282 +++++++++++++++++++++++++++----------------------------- 1 file changed, 137 insertions(+), 145 deletions(-) (limited to 'source/apumem.h') diff --git a/source/apumem.h b/source/apumem.h index 4d79cf6..686126c 100644 --- a/source/apumem.h +++ b/source/apumem.h @@ -1,6 +1,6 @@ /******************************************************************************* Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. - + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com) and Jerremy Koot (jkoot@snes9x.com) @@ -43,46 +43,46 @@ S-DD1 C emulator code (c) Copyright 2003 Brad Jorsch with research by Andreas Naive and John Weidman - + S-RTC C emulator code (c) Copyright 2001 John Weidman - + ST010 C++ emulator code (c) Copyright 2003 Feather, Kris Bleakley, John Weidman and Matthew Kendora - Super FX x86 assembler emulator code - (c) Copyright 1998 - 2003 zsKnight, _Demo_, and pagefault + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 zsKnight, _Demo_, and pagefault - Super FX C emulator code + Super FX C emulator code (c) Copyright 1997 - 1999 Ivar, Gary Henderson and John Weidman SH assembler code partly based on x86 assembler code - (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + - Specific ports contains the works of other authors. See headers in individual files. - + Snes9x homepage: http://www.snes9x.com - + Permission to use, copy, modify and distribute Snes9x in both binary and source form, for non-commercial purposes, is hereby granted without fee, providing that this license information and copyright notice appear with all copies and any derived work. - + This software is provided 'as-is', without any express or implied warranty. In no event shall the authors be held liable for any damages arising from the use of this software. - + Snes9x is freeware for PERSONAL USE only. Commercial users should seek permission of the copyright holders first. Commercial use includes charging money for Snes9x or software derived from Snes9x. - + The copyright holders request that bug fixes and improvements to the code should be forwarded to them so everyone can benefit from the modifications in future versions. - + Super NES and Super Nintendo Entertainment System are trademarks of Nintendo Co., Limited and its subsidiary companies. *******************************************************************************/ @@ -93,154 +93,146 @@ extern uint8 W4; extern uint8 APUROM[64]; -uint8 S9xAPUGetByteZ (uint8 Address) +uint8 S9xAPUGetByteZ(uint8 Address) { - if (Address >= 0xf0 && IAPU.DirectPage == IAPU.RAM) - { - if (Address >= 0xf4 && Address <= 0xf7) - { + if (Address >= 0xf0 && IAPU.DirectPage == IAPU.RAM) + { + if (Address >= 0xf4 && Address <= 0xf7) + { #ifdef SPC700_SHUTDOWN - IAPU.WaitAddress2 = IAPU.WaitAddress1; - IAPU.WaitAddress1 = IAPU.PC; -#endif - return (IAPU.RAM [Address]); - } - if (Address >= 0xfd) - { + IAPU.WaitAddress2 = IAPU.WaitAddress1; + IAPU.WaitAddress1 = IAPU.PC; +#endif + return (IAPU.RAM [Address]); + } + if (Address >= 0xfd) + { #ifdef SPC700_SHUTDOWN - IAPU.WaitAddress2 = IAPU.WaitAddress1; - IAPU.WaitAddress1 = IAPU.PC; -#endif - uint8 t = IAPU.RAM [Address]; - IAPU.RAM [Address] = 0; - return (t); - } - else - if (Address == 0xf3) - return (S9xGetAPUDSP ()); - - return (IAPU.RAM [Address]); - } - else - return (IAPU.DirectPage [Address]); + IAPU.WaitAddress2 = IAPU.WaitAddress1; + IAPU.WaitAddress1 = IAPU.PC; +#endif + uint8 t = IAPU.RAM [Address]; + IAPU.RAM [Address] = 0; + return (t); + } + else if (Address == 0xf3) + return (S9xGetAPUDSP()); + + return (IAPU.RAM [Address]); + } + else + return (IAPU.DirectPage [Address]); } -void S9xAPUSetByteZ (uint8 byte, uint8 Address) +void S9xAPUSetByteZ(uint8 byte, uint8 Address) { - if (Address >= 0xf0 && IAPU.DirectPage == IAPU.RAM) - { - if (Address == 0xf3) - S9xSetAPUDSP (byte); - else - if (Address >= 0xf4 && Address <= 0xf7) - APU.OutPorts [Address - 0xf4] = byte; - else - if (Address == 0xf1) - S9xSetAPUControl (byte); - else - if (Address < 0xfd) - { - IAPU.RAM [Address] = byte; - if (Address >= 0xfa) - { - if (byte == 0) - APU.TimerTarget [Address - 0xfa] = 0x100; - else - APU.TimerTarget [Address - 0xfa] = byte; - } - } - } - else - IAPU.DirectPage [Address] = byte; + if (Address >= 0xf0 && IAPU.DirectPage == IAPU.RAM) + { + if (Address == 0xf3) + S9xSetAPUDSP(byte); + else if (Address >= 0xf4 && Address <= 0xf7) + APU.OutPorts [Address - 0xf4] = byte; + else if (Address == 0xf1) + S9xSetAPUControl(byte); + else if (Address < 0xfd) + { + IAPU.RAM [Address] = byte; + if (Address >= 0xfa) + { + if (byte == 0) + APU.TimerTarget [Address - 0xfa] = 0x100; + else + APU.TimerTarget [Address - 0xfa] = byte; + } + } + } + else + IAPU.DirectPage [Address] = byte; } -uint8 S9xAPUGetByte (uint32 Address) +uint8 S9xAPUGetByte(uint32 Address) { - Address &= 0xffff; - - if (Address <= 0xff && Address >= 0xf0) - { - if (Address >= 0xf4 && Address <= 0xf7) - { + Address &= 0xffff; + + if (Address <= 0xff && Address >= 0xf0) + { + if (Address >= 0xf4 && Address <= 0xf7) + { #ifdef SPC700_SHUTDOWN - IAPU.WaitAddress2 = IAPU.WaitAddress1; - IAPU.WaitAddress1 = IAPU.PC; -#endif - return (IAPU.RAM [Address]); - } - else - if (Address == 0xf3) - return (S9xGetAPUDSP ()); - if (Address >= 0xfd) - { + IAPU.WaitAddress2 = IAPU.WaitAddress1; + IAPU.WaitAddress1 = IAPU.PC; +#endif + return (IAPU.RAM [Address]); + } + else if (Address == 0xf3) + return (S9xGetAPUDSP()); + if (Address >= 0xfd) + { #ifdef SPC700_SHUTDOWN - IAPU.WaitAddress2 = IAPU.WaitAddress1; - IAPU.WaitAddress1 = IAPU.PC; + IAPU.WaitAddress2 = IAPU.WaitAddress1; + IAPU.WaitAddress1 = IAPU.PC; #endif - uint8 t = IAPU.RAM [Address]; - IAPU.RAM [Address] = 0; - return (t); - } - return (IAPU.RAM [Address]); - } - else - return (IAPU.RAM [Address]); + uint8 t = IAPU.RAM [Address]; + IAPU.RAM [Address] = 0; + return (t); + } + return (IAPU.RAM [Address]); + } + else + return (IAPU.RAM [Address]); } -void S9xAPUSetByte (uint8 byte, uint32 Address) +void S9xAPUSetByte(uint8 byte, uint32 Address) { - Address &= 0xffff; - - if (Address <= 0xff && Address >= 0xf0) - { - if (Address == 0xf3) - S9xSetAPUDSP (byte); - else - if (Address >= 0xf4 && Address <= 0xf7) - APU.OutPorts [Address - 0xf4] = byte; - else - if (Address == 0xf1) - S9xSetAPUControl (byte); - else - if (Address < 0xfd) - { - IAPU.RAM [Address] = byte; - if (Address >= 0xfa) - { - if (byte == 0) - APU.TimerTarget [Address - 0xfa] = 0x100; - else - APU.TimerTarget [Address - 0xfa] = byte; - } - } - } - else - { + Address &= 0xffff; + + if (Address <= 0xff && Address >= 0xf0) + { + if (Address == 0xf3) + S9xSetAPUDSP(byte); + else if (Address >= 0xf4 && Address <= 0xf7) + APU.OutPorts [Address - 0xf4] = byte; + else if (Address == 0xf1) + S9xSetAPUControl(byte); + else if (Address < 0xfd) + { + IAPU.RAM [Address] = byte; + if (Address >= 0xfa) + { + if (byte == 0) + APU.TimerTarget [Address - 0xfa] = 0x100; + else + APU.TimerTarget [Address - 0xfa] = byte; + } + } + } + else + { #if 0 -if (Address >= 0x2500 && Address <= 0x2504) -printf ("%06d %04x <- %02x\n", ICPU.Scanline, Address, byte); -if (Address == 0x26c6) -{ - extern FILE *apu_trace; - extern FILE *trace; - APU.Flags |= TRACE_FLAG; - CPU.Flags |= TRACE_FLAG; - if (apu_trace == NULL) - apu_trace = fopen ("aputrace.log", "wb"); - if (trace == NULL) - trace = fopen ("trace.log", "wb"); - printf ("TRACING SWITCHED ON\n"); -} + if (Address >= 0x2500 && Address <= 0x2504) + printf("%06d %04x <- %02x\n", ICPU.Scanline, Address, byte); + if (Address == 0x26c6) + { + extern FILE* apu_trace; + extern FILE* trace; + APU.Flags |= TRACE_FLAG; + CPU.Flags |= TRACE_FLAG; + if (apu_trace == NULL) + apu_trace = fopen("aputrace.log", "wb"); + if (trace == NULL) + trace = fopen("trace.log", "wb"); + printf("TRACING SWITCHED ON\n"); + } #endif - if (Address < 0xffc0) - IAPU.RAM [Address] = byte; - else - { - APU.ExtraRAM [Address - 0xffc0] = byte; - if (!APU.ShowROM) - IAPU.RAM [Address] = byte; - } - } + if (Address < 0xffc0) + IAPU.RAM [Address] = byte; + else + { + APU.ExtraRAM [Address - 0xffc0] = byte; + if (!APU.ShowROM) + IAPU.RAM [Address] = byte; + } + } } #endif -- cgit v1.2.3