aboutsummaryrefslogtreecommitdiff
path: root/source/apumem.h
diff options
context:
space:
mode:
authoraliaspider2014-10-30 00:23:30 +0100
committeraliaspider2014-10-30 00:23:30 +0100
commit804169dd621a3ad3eec1a32ce30350de667fee80 (patch)
tree5bce839a3652f6725d50639cccd3f589ee901515 /source/apumem.h
parent5382d193371c8db303d056b87b8ffd51316bf2e0 (diff)
downloadsnes9x2005-804169dd621a3ad3eec1a32ce30350de667fee80.tar.gz
snes9x2005-804169dd621a3ad3eec1a32ce30350de667fee80.tar.bz2
snes9x2005-804169dd621a3ad3eec1a32ce30350de667fee80.zip
apply a facelift
Diffstat (limited to 'source/apumem.h')
-rw-r--r--source/apumem.h282
1 files changed, 137 insertions, 145 deletions
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