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:
byuu
2005-06-12 08:15:22 +00:00
parent a60f667b25
commit 09b326ae86
62 changed files with 2571 additions and 1187 deletions

View File

@@ -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(); }