mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-10-04 19:01:44 +02:00
Update to bsnes v007 release.
I have done quite a bit, so I´ll try my best to recap most of the fixes since the last release... - HDMA was not running during DMA transfers - Emulator did not recognize any filetype other than .smc - Added configuration file support and imported my vector/string/config libraries into bsnes - Added option to use system RAM instead of video RAM for display, this can greatly increase speed on certain video cards - Increased speed by ~15% by adding 256x224 renderer (still very buggy when the SNES mixes video modes mid-frame) - mvn/mvp opcodes were not setting the DB register - Fixed joypad input in many games (Super Mario: All Stars, Dragon Quest III, etc.) - Major speedup with frakeskip option - Fixed default aspect ratio when emulator is first started There´s probably a lot more, but that´s all I remember offhand... this release should be a lot closer to the quality of v0.005a, but still needs a bit more polishing.
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
void bCPU::flags_cmp_b() {
|
||||
inline void bCPU::flags_cmp_b() {
|
||||
int32 r = regs.a.l - rd.l;
|
||||
regs.p.n = !!(r & 0x80);
|
||||
regs.p.z = ((uint8)r == 0);
|
||||
regs.p.c = (r >= 0);
|
||||
}
|
||||
|
||||
void bCPU::flags_cmp_w() {
|
||||
inline void bCPU::flags_cmp_w() {
|
||||
int32 r = regs.a.w - rd.w;
|
||||
regs.p.n = !!(r & 0x8000);
|
||||
regs.p.z = ((uint16)r == 0);
|
||||
@@ -31,8 +31,6 @@ void bCPU::op_cmp_constw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_const() { (regs.p.m)?op_cmp_constb():op_cmp_constw(); }
|
||||
|
||||
/**********************
|
||||
*** 0xcd: cmp addr ***
|
||||
**********************
|
||||
@@ -58,8 +56,6 @@ void bCPU::op_cmp_addrw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_addr() { (regs.p.m)?op_cmp_addrb():op_cmp_addrw(); }
|
||||
|
||||
/************************
|
||||
*** 0xdd: cmp addr,x ***
|
||||
************************
|
||||
@@ -88,8 +84,6 @@ void bCPU::op_cmp_addrxw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_addrx() { (regs.p.m)?op_cmp_addrxb():op_cmp_addrxw(); }
|
||||
|
||||
/********************
|
||||
*** 0xc5: cmp dp ***
|
||||
********************
|
||||
@@ -115,8 +109,6 @@ void bCPU::op_cmp_dpw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_dp() { (regs.p.m)?op_cmp_dpb():op_cmp_dpw(); }
|
||||
|
||||
/**********************
|
||||
*** 0xd2: cmp (dp) ***
|
||||
**********************
|
||||
@@ -148,8 +140,6 @@ void bCPU::op_cmp_idpw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_idp() { (regs.p.m)?op_cmp_idpb():op_cmp_idpw(); }
|
||||
|
||||
/**********************
|
||||
*** 0xc7: cmp [dp] ***
|
||||
**********************
|
||||
@@ -184,8 +174,6 @@ void bCPU::op_cmp_ildpw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_ildp() { (regs.p.m)?op_cmp_ildpb():op_cmp_ildpw(); }
|
||||
|
||||
/**********************
|
||||
*** 0xcf: cmp long ***
|
||||
**********************
|
||||
@@ -214,8 +202,6 @@ void bCPU::op_cmp_longw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_long() { (regs.p.m)?op_cmp_longb():op_cmp_longw(); }
|
||||
|
||||
/************************
|
||||
*** 0xdf: cmp long,x ***
|
||||
************************
|
||||
@@ -244,8 +230,6 @@ void bCPU::op_cmp_longxw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_longx() { (regs.p.m)?op_cmp_longxb():op_cmp_longxw(); }
|
||||
|
||||
/************************
|
||||
*** 0xd9: cmp addr,y ***
|
||||
************************
|
||||
@@ -274,8 +258,6 @@ void bCPU::op_cmp_addryw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_addry() { (regs.p.m)?op_cmp_addryb():op_cmp_addryw(); }
|
||||
|
||||
/**********************
|
||||
*** 0xd5: cmp dp,x ***
|
||||
**********************
|
||||
@@ -304,8 +286,6 @@ void bCPU::op_cmp_dpxw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_dpx() { (regs.p.m)?op_cmp_dpxb():op_cmp_dpxw(); }
|
||||
|
||||
/************************
|
||||
*** 0xc1: cmp (dp,x) ***
|
||||
************************
|
||||
@@ -340,8 +320,6 @@ void bCPU::op_cmp_idpxw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_idpx() { (regs.p.m)?op_cmp_idpxb():op_cmp_idpxw(); }
|
||||
|
||||
/************************
|
||||
*** 0xd1: cmp (dp),y ***
|
||||
************************
|
||||
@@ -376,8 +354,6 @@ void bCPU::op_cmp_idpyw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_idpy() { (regs.p.m)?op_cmp_idpyb():op_cmp_idpyw(); }
|
||||
|
||||
/************************
|
||||
*** 0xd7: cmp [dp],y ***
|
||||
************************
|
||||
@@ -412,8 +388,6 @@ void bCPU::op_cmp_ildpyw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_ildpy() { (regs.p.m)?op_cmp_ildpyb():op_cmp_ildpyw(); }
|
||||
|
||||
/**********************
|
||||
*** 0xc3: cmp sr,s ***
|
||||
**********************
|
||||
@@ -439,8 +413,6 @@ void bCPU::op_cmp_srw() {
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_sr() { (regs.p.m)?op_cmp_srb():op_cmp_srw(); }
|
||||
|
||||
/**************************
|
||||
*** 0xd3: cmp (sr,s),y ***
|
||||
**************************
|
||||
@@ -474,5 +446,3 @@ void bCPU::op_cmp_isryw() {
|
||||
rd.h = op_read(OPMODE_DBR, aa.w + regs.y.w + 1); //7a
|
||||
flags_cmp_w();
|
||||
}
|
||||
|
||||
void bCPU::op_cmp_isry() { (regs.p.m)?op_cmp_isryb():op_cmp_isryw(); }
|
||||
|
Reference in New Issue
Block a user