Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
snes9x
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Switch
RetroArch
snes9x
Commits
8bf342aa
Commit
8bf342aa
authored
Jul 06, 2018
by
lufi
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/github/master' into upstream
parents
8a821814
c5adfa17
Pipeline
#939
passed with stage
in 5 minutes and 57 seconds
Changes
112
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
112 changed files
with
3866 additions
and
1729 deletions
+3866
-1729
65c816.h
65c816.h
+3
-3
apu/apu.cpp
apu/apu.cpp
+9
-9
apu/apu.h
apu/apu.h
+10
-5
apu/bapu/dsp/SPC_DSP.cpp
apu/bapu/dsp/SPC_DSP.cpp
+8
-3
apu/bapu/smp/core.cpp
apu/bapu/smp/core.cpp
+12
-2
apu/bapu/smp/core/oppseudo_mov.cpp
apu/bapu/smp/core/oppseudo_mov.cpp
+2
-1
apu/bapu/smp/debugger/disassembler.cpp
apu/bapu/smp/debugger/disassembler.cpp
+6
-1
apu/bapu/smp/smp.cpp
apu/bapu/smp/smp.cpp
+22
-14
apu/bapu/smp/smp.hpp
apu/bapu/smp/smp.hpp
+7
-1
apu/hermite_resampler.h
apu/hermite_resampler.h
+13
-13
apu/resampler.h
apu/resampler.h
+6
-6
apu/ring_buffer.h
apu/ring_buffer.h
+3
-3
bsx.cpp
bsx.cpp
+770
-371
bsx.h
bsx.h
+28
-5
c4.cpp
c4.cpp
+3
-3
c4.h
c4.h
+3
-3
c4emu.cpp
c4emu.cpp
+8
-7
cheats.cpp
cheats.cpp
+12
-7
cheats.h
cheats.h
+10
-5
cheats2.cpp
cheats2.cpp
+10
-5
clip.cpp
clip.cpp
+3
-3
conffile.cpp
conffile.cpp
+13
-7
conffile.h
conffile.h
+15
-6
controls.cpp
controls.cpp
+244
-26
controls.h
controls.h
+22
-8
cpu.cpp
cpu.cpp
+15
-11
cpuaddr.h
cpuaddr.h
+3
-3
cpuexec.cpp
cpuexec.cpp
+67
-43
cpuexec.h
cpuexec.h
+10
-47
cpumacro.h
cpumacro.h
+3
-3
cpuops.cpp
cpuops.cpp
+24
-11
cpuops.h
cpuops.h
+10
-5
crosshairs.cpp
crosshairs.cpp
+10
-5
crosshairs.h
crosshairs.h
+13
-6
debug.cpp
debug.cpp
+33
-23
debug.h
debug.h
+11
-5
display.h
display.h
+13
-6
dma.cpp
dma.cpp
+50
-31
dma.h
dma.h
+10
-5
dsp.cpp
dsp.cpp
+3
-3
dsp.h
dsp.h
+3
-3
dsp1.cpp
dsp1.cpp
+3
-3
dsp2.cpp
dsp2.cpp
+3
-3
dsp3.cpp
dsp3.cpp
+3
-3
dsp4.cpp
dsp4.cpp
+3
-3
font.h
font.h
+3
-3
fxdbg.cpp
fxdbg.cpp
+3
-3
fxemu.cpp
fxemu.cpp
+5
-5
fxemu.h
fxemu.h
+3
-3
fxinst.cpp
fxinst.cpp
+3
-3
fxinst.h
fxinst.h
+3
-3
getset.h
getset.h
+19
-18
gfx.cpp
gfx.cpp
+31
-29
gfx.h
gfx.h
+10
-5
globals.cpp
globals.cpp
+10
-5
language.h
language.h
+10
-5
libretro/Makefile
libretro/Makefile
+25
-2
libretro/hakchi/bin/snes
libretro/hakchi/bin/snes
+38
-0
libretro/hakchi/bin/snes16
libretro/hakchi/bin/snes16
+38
-0
libretro/hakchi/bin/snes9x
libretro/hakchi/bin/snes9x
+38
-0
libretro/hakchi/etc/preinit.d/pe9b0_retroarch_snes
libretro/hakchi/etc/preinit.d/pe9b0_retroarch_snes
+1
-0
libretro/hakchi/readme.md
libretro/hakchi/readme.md
+24
-0
libretro/libretro.cpp
libretro/libretro.cpp
+1042
-265
loadzip.cpp
loadzip.cpp
+10
-5
logger.cpp
logger.cpp
+10
-5
logger.h
logger.h
+10
-5
memmap.cpp
memmap.cpp
+296
-212
memmap.h
memmap.h
+9
-6
messages.h
messages.h
+10
-5
missing.h
missing.h
+3
-3
msu1.cpp
msu1.cpp
+27
-25
msu1.h
msu1.h
+3
-3
netplay.cpp
netplay.cpp
+10
-5
netplay.h
netplay.h
+10
-5
obc1.cpp
obc1.cpp
+3
-3
obc1.h
obc1.h
+3
-3
pixform.h
pixform.h
+10
-5
port.h
port.h
+10
-5
ppu.cpp
ppu.cpp
+140
-49
ppu.h
ppu.h
+5
-6
sa1.cpp
sa1.cpp
+33
-6
sa1.h
sa1.h
+3
-3
sa1cpu.cpp
sa1cpu.cpp
+3
-3
sar.h
sar.h
+3
-3
screenshot.cpp
screenshot.cpp
+7
-5
screenshot.h
screenshot.h
+7
-5
sdd1.cpp
sdd1.cpp
+3
-3
sdd1.h
sdd1.h
+3
-3
sdd1emu.cpp
sdd1emu.cpp
+3
-3
sdd1emu.h
sdd1emu.h
+3
-3
server.cpp
server.cpp
+27
-20
seta.cpp
seta.cpp
+3
-3
seta.h
seta.h
+3
-3
seta010.cpp
seta010.cpp
+3
-3
seta011.cpp
seta011.cpp
+3
-3
seta018.cpp
seta018.cpp
+3
-3
snapshot.cpp
snapshot.cpp
+35
-27
snapshot.h
snapshot.h
+11
-6
snes9x.cpp
snes9x.cpp
+98
-64
snes9x.h
snes9x.h
+29
-11
spc7110.cpp
spc7110.cpp
+10
-5
spc7110.h
spc7110.h
+10
-5
spc7110dec.cpp
spc7110dec.cpp
+1
-3
spc7110dec.h
spc7110dec.h
+0
-2
spc7110emu.cpp
spc7110emu.cpp
+1
-2
spc7110emu.h
spc7110emu.h
+0
-2
srtc.cpp
srtc.cpp
+3
-3
srtc.h
srtc.h
+3
-3
stream.cpp
stream.cpp
+75
-38
stream.h
stream.h
+22
-9
tile.cpp
tile.cpp
+41
-34
tile.h
tile.h
+10
-5
No files found.
65c816.h
View file @
8bf342aa
...
...
@@ -22,7 +22,7 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
7
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2017 qwertymodo
...
...
@@ -140,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
7
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -148,7 +148,7 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
7
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
...
...
apu/apu.cpp
View file @
8bf342aa
...
...
@@ -22,10 +22,12 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
6
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2011 - 2016 Hans-Kristian Arntzen,
(c) Copyright 2017 qwertymodo
(c) Copyright 2011 - 2017 Hans-Kristian Arntzen,
Daniel De Matteis
(Under no circumstances will commercial rights be given)
...
...
@@ -138,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
6
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -146,14 +148,14 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
6
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
(c) Copyright 2001 - 2011 zones
Libretro port
(c) Copyright 2011 - 201
6
Hans-Kristian Arntzen,
(c) Copyright 2011 - 201
7
Hans-Kristian Arntzen,
Daniel De Matteis
(Under no circumstances will commercial rights be given)
...
...
@@ -272,7 +274,7 @@ static void DeStereo (uint8 *buffer, int sample_count)
int16
*
buf
=
(
int16
*
)
buffer
;
int32
s1
,
s2
;
for
(
int
i
=
0
;
i
<
sample_count
>>
1
;
i
++
)
for
(
int
i
=
0
;
i
<
(
sample_count
>>
1
)
;
i
++
)
{
s1
=
(
int32
)
buf
[
2
*
i
];
s2
=
(
int32
)
buf
[
2
*
i
+
1
];
...
...
@@ -346,7 +348,7 @@ bool8 S9xMixSamples (uint8 *buffer, int sample_count)
if
(
msu
::
resampler
->
avail
()
>=
sample_count
)
{
msu
::
resampler
->
read
((
short
*
)
msu
::
resample_buffer
,
sample_count
);
for
(
uint32
i
=
0
;
i
<
sample_count
;
++
i
)
for
(
int
i
=
0
;
i
<
sample_count
;
++
i
)
*
((
int16
*
)(
dest
+
(
i
*
2
)))
+=
*
((
int16
*
)(
msu
::
resample_buffer
+
(
i
*
2
)));
}
else
// should never occur
...
...
@@ -756,7 +758,6 @@ void S9xAPULoadState (uint8 *block)
SNES
::
dsp
.
clock
=
SNES
::
get_le32
(
ptr
);
ptr
+=
sizeof
(
int32
);
memcpy
(
SNES
::
cpu
.
registers
,
ptr
,
4
);
ptr
+=
4
;
}
static
void
to_var_from_buf
(
uint8
**
buf
,
void
*
var
,
size_t
size
)
...
...
@@ -897,4 +898,3 @@ bool8 S9xSPCDump (const char *filename)
return
(
TRUE
);
}
apu/apu.h
View file @
8bf342aa
...
...
@@ -22,10 +22,12 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
1
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2011 - 2016 Hans-Kristian Arntzen,
(c) Copyright 2017 qwertymodo
(c) Copyright 2011 - 2017 Hans-Kristian Arntzen,
Daniel De Matteis
(Under no circumstances will commercial rights be given)
...
...
@@ -122,6 +124,9 @@
Sound emulator code used in 1.52+
(c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com)
S-SMP emulator code used in 1.54+
(c) Copyright 2016 byuu
SH assembler code partly based on x86 assembler code
(c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se)
...
...
@@ -135,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
1
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -143,14 +148,14 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
1
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
(c) Copyright 2001 - 2011 zones
Libretro port
(c) Copyright 2011 - 201
6
Hans-Kristian Arntzen,
(c) Copyright 2011 - 201
7
Hans-Kristian Arntzen,
Daniel De Matteis
(Under no circumstances will commercial rights be given)
...
...
apu/bapu/dsp/SPC_DSP.cpp
View file @
8bf342aa
...
...
@@ -131,6 +131,9 @@ static short const gauss [512] =
inline
int
SPC_DSP
::
interpolate
(
voice_t
const
*
v
)
{
// libretro: alternate methods
if
(
libretro_get_snes_interp
())
return
libretro_snes_interp
((
void
*
)
v
);
// Make pointers into gaussian based on fractional position between samples
int
offset
=
v
->
interp_pos
>>
4
&
0xFF
;
short
const
*
fwd
=
gauss
+
255
-
offset
;
...
...
@@ -416,7 +419,8 @@ inline VOICE_CLOCK( V3b )
m
.
t_brr_byte
=
m
.
ram
[(
v
->
brr_addr
+
v
->
brr_offset
)
&
0xFFFF
];
m
.
t_brr_header
=
m
.
ram
[
v
->
brr_addr
];
// brr_addr doesn't need masking
}
VOICE_CLOCK
(
V3c
)
inline
VOICE_CLOCK
(
V3c
)
{
// Pitch modulation using previous voice's output
if
(
m
.
t_pmon
&
v
->
vbit
)
...
...
@@ -510,7 +514,8 @@ inline void SPC_DSP::voice_output( voice_t const* v, int ch )
CLAMP16
(
m
.
t_echo_out
[
ch
]
);
}
}
VOICE_CLOCK
(
V4
)
inline
VOICE_CLOCK
(
V4
)
{
// Decode BRR
m
.
t_looped
=
0
;
...
...
@@ -810,7 +815,7 @@ void SPC_DSP::run( int clocks_remain )
{
loop:
#define PHASE( n ) if ( n && !--clocks_remain ) break; case n:
#define PHASE( n ) if ( n && !--clocks_remain ) break;
/* Fall through */
case n:
GEN_DSP_TIMING
#undef PHASE
...
...
apu/bapu/smp/core.cpp
View file @
8bf342aa
...
...
@@ -51,8 +51,8 @@ void SMP::op_write(uint16 addr, uint8 data) {
void
SMP
::
op_step
()
{
#define op_readpc() op_read(regs.pc++)
#define op_readdp(addr) op_read((regs.p.p << 8) + (
addr & 0xff))
#define op_writedp(addr, data) op_write((regs.p.p << 8) + (
addr & 0xff), data)
#define op_readdp(addr) op_read((regs.p.p << 8) + (
(addr) & 0xff))
#define op_writedp(addr, data) op_write((regs.p.p << 8) + (
(addr) & 0xff), data)
#define op_readaddr(addr) op_read(addr)
#define op_writeaddr(addr, data) op_write(addr, data)
#define op_readstack() op_read(0x0100 | ++regs.sp)
...
...
@@ -62,7 +62,17 @@ void SMP::op_step() {
#if defined(PSEUDO_CYCLE)
if
(
opcode_cycle
==
0
)
{
#ifdef DEBUGGER
if
(
Settings
.
TraceSMP
)
{
disassemble_opcode
(
tmp
,
regs
.
pc
);
S9xTraceMessage
(
tmp
);
}
#endif
opcode_number
=
op_readpc
();
}
switch
(
opcode_number
)
{
#include "core/oppseudo_misc.cpp"
...
...
apu/bapu/smp/core/oppseudo_mov.cpp
View file @
8bf342aa
...
...
@@ -373,7 +373,8 @@ case 0xaf: {
switch
(
++
opcode_cycle
)
{
case
1
:
op_io
(
2
);
case
2
:
break
;
case
2
:
op_writedp
(
regs
.
x
++
,
regs
.
B
.
a
);
opcode_cycle
=
0
;
break
;
...
...
apu/bapu/smp/debugger/disassembler.cpp
View file @
8bf342aa
...
...
@@ -288,7 +288,7 @@ void SMP::disassemble_opcode(char *output, uint16 addr) {
strcat
(
s
,
t
);
sprintf
(
t
,
"A:%.2x X:%.2x Y:%.2x SP:01%.2x YA:%.4x "
,
regs
.
a
,
regs
.
x
,
regs
.
y
,
regs
.
sp
,
(
uint16
)
regs
.
ya
);
regs
.
B
.
a
,
regs
.
x
,
regs
.
B
.
y
,
regs
.
sp
,
(
uint16
)
regs
.
ya
);
strcat
(
s
,
t
);
sprintf
(
t
,
"%c%c%c%c%c%c%c%c"
,
...
...
@@ -301,4 +301,9 @@ void SMP::disassemble_opcode(char *output, uint16 addr) {
regs
.
p
.
z
?
'Z'
:
'z'
,
regs
.
p
.
c
?
'C'
:
'c'
);
strcat
(
s
,
t
);
sprintf
(
t
,
" %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x"
,
apuram
[
0xf4
],
apuram
[
0xf5
],
apuram
[
0xf6
],
apuram
[
0xf7
],
cpu
.
port_read
(
0
),
cpu
.
port_read
(
1
),
cpu
.
port_read
(
2
),
cpu
.
port_read
(
3
));
strcat
(
s
,
t
);
}
apu/bapu/smp/smp.cpp
View file @
8bf342aa
#define CYCLE_ACCURATE
#define PSEUDO_CYCLE
#include <snes/snes.hpp>
#define SMP_CPP
namespace
SNES
{
#if defined(DEBUGGER)
#include "debugger/debugger.cpp"
#include "debugger/disassembler.cpp"
SMPDebugger
smp
;
#else
SMP
smp
;
#define CYCLE_ACCURATE
#define PSEUDO_CYCLE
#ifdef DEBUGGER
#include "../../../snes9x.h"
#include "../../../debug.h"
char
tmp
[
1024
];
#endif
#include <snes/snes.hpp>
#define SMP_CPP
namespace
SNES
{
// TODO: reactivate once APU debugger works again
#ifdef DEBUGGER
// #include "debugger/debugger.cpp"
#include "debugger/disassembler.cpp"
SMP
smp
;
#else
SMP
smp
;
#endif
#include "algorithms.cpp"
...
...
@@ -152,6 +159,7 @@ SMP::SMP() {
}
SMP
::~
SMP
()
{
delete
[]
apuram
;
}
}
apu/bapu/smp/smp.hpp
View file @
8bf342aa
...
...
@@ -122,9 +122,15 @@ public:
inline
uint8
op_lsr
(
uint8
x
);
inline
uint8
op_rol
(
uint8
x
);
inline
uint8
op_ror
(
uint8
x
);
#ifdef DEBUGGER
void
disassemble_opcode
(
char
*
output
,
uint16
addr
);
inline
uint8
disassemble_read
(
uint16
addr
);
inline
uint16
relb
(
int8
offset
,
int
op_len
);
#endif
};
#if defined(DEBUGGER)
// TODO: reactivate once APU debugger works again
#if 0 // DEBUGGER
#include "debugger/debugger.hpp"
extern SMPDebugger smp;
#else
...
...
apu/hermite_resampler.h
View file @
8bf342aa
...
...
@@ -66,12 +66,12 @@ class HermiteResampler : public Resampler
void
read
(
short
*
data
,
int
num_samples
)
{
//If we are outputting the exact same ratio as the input, pull directly from the input buffer
if
(
r_step
==
1.0
)
{
ring_buffer
::
pull
((
unsigned
char
*
)
data
,
num_samples
*
sizeof
(
short
));
return
;
}
//If we are outputting the exact same ratio as the input, pull directly from the input buffer
if
(
r_step
==
1.0
)
{
ring_buffer
::
pull
((
unsigned
char
*
)
data
,
num_samples
*
sizeof
(
short
));
return
;
}
int
i_position
=
start
>>
1
;
int
max_samples
=
buffer_size
>>
1
;
...
...
@@ -88,7 +88,7 @@ class HermiteResampler : public Resampler
while
(
r_frac
<=
1.0
&&
o_position
<
num_samples
)
{
hermite_val
[
0
]
=
hermite
(
r_frac
,
r_left
[
0
],
r_left
[
1
],
r_left
[
2
],
r_left
[
3
]);
hermite_val
[
1
]
=
hermite
(
r_frac
,
r_right
[
0
],
r_right
[
1
],
r_right
[
2
],
r_right
[
3
]);
hermite_val
[
1
]
=
hermite
(
r_frac
,
r_right
[
0
],
r_right
[
1
],
r_right
[
2
],
r_right
[
3
]);
data
[
o_position
]
=
SHORT_CLAMP
(
hermite_val
[
0
]);
data
[
o_position
+
1
]
=
SHORT_CLAMP
(
hermite_val
[
1
]);
...
...
@@ -127,13 +127,13 @@ class HermiteResampler : public Resampler
inline
int
avail
(
void
)
{
//If we are outputting the exact same ratio as the input, find out directly from the input buffer
if
(
r_step
==
1.0
)
{
return
(
ring_buffer
::
space_filled
()
+
sizeof
(
short
)
-
1
)
/
sizeof
(
short
);
}
//If we are outputting the exact same ratio as the input, find out directly from the input buffer
if
(
r_step
==
1.0
)
{
return
(
ring_buffer
::
space_filled
()
+
sizeof
(
short
)
-
1
)
/
sizeof
(
short
);
}
return
(
int
)
floor
(((
size
>>
2
)
-
r_frac
)
/
r_step
)
*
2
;
return
(
int
)
floor
(((
size
>>
2
)
-
r_frac
)
/
r_step
)
*
2
;
}
};
...
...
apu/resampler.h
View file @
8bf342aa
...
...
@@ -12,7 +12,7 @@ class Resampler : public ring_buffer
virtual
void
time_ratio
(
double
)
=
0
;
virtual
void
read
(
short
*
,
int
)
=
0
;
virtual
int
avail
(
void
)
=
0
;
Resampler
(
int
num_samples
)
:
ring_buffer
(
num_samples
<<
1
)
{
}
...
...
@@ -33,19 +33,19 @@ class Resampler : public ring_buffer
}
inline
int
space_empty
(
void
)
space_empty
(
void
)
const
{
return
buffer_size
-
size
;
}
inline
int
space_filled
(
void
)
space_filled
(
void
)
const
{
return
size
;
}
inline
int
max_write
(
void
)
max_write
(
void
)
const
{
return
space_empty
()
>>
1
;
}
...
...
apu/ring_buffer.h
View file @
8bf342aa
...
...
@@ -69,13 +69,13 @@ public:
}
inline
int
space_empty
(
void
)
space_empty
(
void
)
const
{
return
buffer_size
-
size
;
}
inline
int
space_filled
(
void
)
space_filled
(
void
)
const
{
return
size
;
}
...
...
@@ -96,7 +96,7 @@ public:
buffer
=
new
unsigned
char
[
buffer_size
];
memset
(
buffer
,
0
,
this
->
buffer_size
);
size
=
0
;
this
->
size
=
0
;
start
=
0
;
}
...
...
bsx.cpp
View file @
8bf342aa
This diff is collapsed.
Click to expand it.
bsx.h
View file @
8bf342aa
...
...
@@ -22,10 +22,12 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
1
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2011 - 2016 Hans-Kristian Arntzen,
(c) Copyright 2017 qwertymodo
(c) Copyright 2011 - 2017 Hans-Kristian Arntzen,
Daniel De Matteis
(Under no circumstances will commercial rights be given)
...
...
@@ -122,6 +124,9 @@
Sound emulator code used in 1.52+
(c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com)
S-SMP emulator code used in 1.54+
(c) Copyright 2016 byuu
SH assembler code partly based on x86 assembler code
(c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se)
...
...
@@ -135,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
1
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -143,14 +148,14 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
1
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
(c) Copyright 2001 - 2011 zones
Libretro port
(c) Copyright 2011 - 201
6
Hans-Kristian Arntzen,
(c) Copyright 2011 - 201
7
Hans-Kristian Arntzen,
Daniel De Matteis
(Under no circumstances will commercial rights be given)
...
...
@@ -188,6 +193,8 @@
#ifndef _BSX_H_
#define _BSX_H_
#include <fstream>
struct
SBSX
{
bool8
dirty
;
// Changed register values
...
...
@@ -205,6 +212,22 @@ struct SBSX
uint8
MMC
[
16
];
uint8
prevMMC
[
16
];
uint8
test2192
[
32
];
bool
flash_csr
;
bool
flash_gsr
;
bool
flash_bsr
;
bool
flash_cmd_done
;
std
::
ifstream
sat_stream1
;
std
::
ifstream
sat_stream2
;
bool
sat_pf_latch1_enable
,
sat_dt_latch1_enable
;
bool
sat_pf_latch2_enable
,
sat_dt_latch2_enable
;
bool
sat_stream1_loaded
,
sat_stream2_loaded
;
bool
sat_stream1_first
,
sat_stream2_first
;
uint8
sat_stream1_count
,
sat_stream2_count
;
uint16
sat_stream1_queue
,
sat_stream2_queue
;
};
extern
struct
SBSX
BSX
;
...
...
c4.cpp
View file @
8bf342aa
...
...
@@ -22,7 +22,7 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
7
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2017 qwertymodo
...
...
@@ -140,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
7
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -148,7 +148,7 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
7
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
...
...
c4.h
View file @
8bf342aa
...
...
@@ -22,7 +22,7 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
7
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2017 qwertymodo
...
...
@@ -140,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
7
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -148,7 +148,7 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
7
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
...
...
c4emu.cpp
View file @
8bf342aa
...
...
@@ -22,7 +22,7 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
7
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2017 qwertymodo
...
...
@@ -140,7 +140,7 @@
(c) Copyright 2006 - 2007 Shay Green
GTK+ GUI code
(c) Copyright 2004 - 201
7
BearOso
(c) Copyright 2004 - 201
8
BearOso
Win32 GUI code
(c) Copyright 2003 - 2006 blip,
...
...
@@ -148,7 +148,7 @@
Matthew Kendora,
Nach,
nitsuja
(c) Copyright 2009 - 201
7
OV2
(c) Copyright 2009 - 201
8
OV2
Mac OS GUI code
(c) Copyright 1998 - 2001 John Stiles
...
...
@@ -1207,11 +1207,12 @@ void S9xSetC4 (uint8 byte, uint16 Address)
if
(
Memory
.
C4RAM
[
0x1f4d
]
!=
0x0e
)
printf
(
"$7f4d=%02x, expected 0e for command 54 %02x
\n
"
,
Memory
.
C4RAM
[
0x1f4d
],
Memory
.
C4RAM
[
0x1f4d
]);
#endif
int64
b
=
(
int64
)
READ_3WORD
(
Memory
.
C4RAM
+
0x1f80
);
int64
c
=
b
<<
40
;
int64
a
=
SAR
(
c
,
30
);
// libretro: msvc2005 hack
int64
b
=
(
int64
)
READ_3WORD
(
Memory
.
C4RAM
+
0x1f80
);
int64
c
=
b
<<
40
;
int64
a
=
SAR
(
c
,
30
);
//printf("%08X%08X\n", (uint32) (a>>32), (uint32) (a&0xFFFFFFFF));
a
=
SAR
(
c
,
10
);
a
=
SAR
(
c
,
10
);
a
*=
a
;
//printf("%08X%08X\n", (uint32) (a>>32), (uint32) (a&0xFFFFFFFF));
WRITE_3WORD
(
Memory
.
C4RAM
+
0x1f83
,
a
);
...
...
cheats.cpp
View file @
8bf342aa
...
...
@@ -22,10 +22,12 @@
(c) Copyright 2006 - 2007 nitsuja
(c) Copyright 2009 - 201
1
BearOso,
(c) Copyright 2009 - 201
8
BearOso,
OV2
(c) Copyright 2011 - 2016 Hans-Kristian Arntzen,
(c) Copyright 2017 qwertymodo
(c) Copyright 2011 - 2017 Hans-Kristian Arntzen,