Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
taisel/IodineGBA
2005wind/IodineGBA
544/IodineGBA
9on/IodineGBA
AllenWooooo/IodineGBA
Amazingcup/IodineGBA
AntonyChurch/IodineGBA
ArozePhantom/IodineGBA
Beagon/IodineGBA
Cealor/IodineGBA
CodeNinjaResearch/IodineGBA
Coderoversially/IodineGBA
DabanC/IodineGBA
Daniel-Griffiths/IodineGBA
Enthri/IodineGBA
EuphoricPenguin/IodineGBA
FBuenoD/IodineGBA
GDXN/IodineGBA
Ga3u/IodineGBA
GavinHwa/IodineGBA
Gigabait/IodineGBA
GodOfKnockers/IodineGBA
Gokoucjp/IodineGBA
HS1008/IodineGBA
HansHoogerwerf/IodineGBA
HungryAnt/IodineGBA
JeffZhang02747/IodineGBA
Jia731/IodineGBA
KevenYoung/IodineGBA
Lawkapala/IodineGBA
LyuGGang/IodineGBA
MadballNeek/IodineGBA
MoodyKSA/IodineGBA
MustangSVT/IodineGBA
MyComputableRomance/IodineGBA
NAscriland/IodineGBA
NerdTaco/IodineGBA
Onimishra/IodineGBA
Patrique/IodineGBA
PiMiner/IodineGBA
PlayBoyMan/IodineGBA
PokeMaster843/IodineGBA
SUSaiyan/IodineGBA
ScreensPull/IodineGBA
SinSiXX/IodineGBA
SirPyros/IodineGBA
SourceBackups/IodineGBA
SupinfoGameDev/IodineGBA
TheMuffinGroup/IodineGBA
UFBin/IodineGBA
UnblockedEvrything/IodineGBAss
Veldmuus/IodineGBA
Weej1/IodineGBA
Woodu/IodineGBA
Z73/IodineGBA
aidanharris/IodineGBA
akan/IodineGBA
anycall/IodineGBA
awesomesnorlax123/IodineGBA
ayunami2000/IodineGBA
beartung/IodineGBA
bitnetwork/IodineGBA
boxu2104/IodineGBA
buliaoyin/IodineGBA
byerancy/IodineGBA
carriercomm/IodineGBA
chrisbrasington/IodineGBA
cinco/IodineGBA
ckosmic/IodineGBA
codeKonami/IodineGBA
dasjack/IodineGBA
dbledayr/IodineGBA
durtin/IodineGBA
earthbound2/game
exaphaser/IodineGBA
faquino/IodineGBA
genghanqiang/IodineGBA
gitblazer/IodineGBA
gzzhanghao/IodineGBA
hattoriheiji/IodineGBA
hetaay3000/IodineGBA
himacro/IodineGBA
hohhen/IodineGBA
hollowsxd/IodineGBA
houcy/IodineGBA
hybomyth/IodineGBA
iBaozi/IodineGBA
itachi1706/IodineGBA
jacobzipper/IodineGBA
jaspal29/IodineGBA
jbmorley/IodineGBA
john0909/IodineGBA
johncant/IodineGBA
josejamilena/IodineGBA
jparral/IodineGBA
junior-2016/IodineGBA
karliky/IodineGBA
kevinchau321/IodineGBA
kingp02/IodineGBA
klarkc/IodineGBA
linktlh/IodineGBA
longbai/IodineGBA
lukw00/IodineGBA
mastahype/IodineGBA
matheus013/IodineGBA
matthewdlin/IodineGBA
mercuriallee/IodineGBA
mukundr99daboss/IodineGBA
neverwell/IodineGBA
nora55974/IodineGBA
nuet/IodineGBA
nullice/IodineGBA
nullmeme/IodineGBA
oVexlz/IodineGBA
oldway520/IodineGBA
pejonic/IodineGBA
pengqin/IodineGBA
pharazone/IodineGBA
plirof/IodineGBA
pohotu3/IodineGBA
ppmmaiwo/IodineGBA
qunwang6/IodineGBA
raceli/IodineGBA
roachhd/IodineGBA
rockyjvec/IodineGBA
rub8n/IodineGBA
ryanlapeyre/IodineGBA
shadowxh/gba
shaunstanislaus/IodineGBA
shingenko/IodineGBA
shitfSign/IodineGBA
shouhei/IodineGBA
softcup/IodineGBA
soyleung/IodineGBA
studywithyou/IodineGBA
takutok/IodineGBA
tanerdamaner/IodineGBA
the-cc-dev/IodineGBA
transparentmask/IodineGBA
tsantos013/IodineGBA
universeroc/IodineGBA
watsonlu/IodineGBA
windf/IodineGBA
wladi0097/SwitchGBA
wrgbh446/IodineGBA
wxtry/IodineGBA
xj-coder/IodineGBA
yangshihit/IodineGBA
yantian001/IodineGBA
yhrC/IodineGBA
yingnansong/IodineGBA
yiyuezhuo/IodineGBA
zackteng/IodineGBA
zanhsieh/IodineGBA
zhaohuaw/IodineGBA
Nothing to show
Choose a base branch
Nothing to show
Choose a Head Repository
taisel/IodineGBA
2005wind/IodineGBA
544/IodineGBA
9on/IodineGBA
AllenWooooo/IodineGBA
Amazingcup/IodineGBA
AntonyChurch/IodineGBA
ArozePhantom/IodineGBA
Beagon/IodineGBA
Cealor/IodineGBA
CodeNinjaResearch/IodineGBA
Coderoversially/IodineGBA
DabanC/IodineGBA
Daniel-Griffiths/IodineGBA
Enthri/IodineGBA
EuphoricPenguin/IodineGBA
FBuenoD/IodineGBA
GDXN/IodineGBA
Ga3u/IodineGBA
GavinHwa/IodineGBA
Gigabait/IodineGBA
GodOfKnockers/IodineGBA
Gokoucjp/IodineGBA
HS1008/IodineGBA
HansHoogerwerf/IodineGBA
HungryAnt/IodineGBA
JeffZhang02747/IodineGBA
Jia731/IodineGBA
KevenYoung/IodineGBA
Lawkapala/IodineGBA
LyuGGang/IodineGBA
MadballNeek/IodineGBA
MoodyKSA/IodineGBA
MustangSVT/IodineGBA
MyComputableRomance/IodineGBA
NAscriland/IodineGBA
NerdTaco/IodineGBA
Onimishra/IodineGBA
Patrique/IodineGBA
PiMiner/IodineGBA
PlayBoyMan/IodineGBA
PokeMaster843/IodineGBA
SUSaiyan/IodineGBA
ScreensPull/IodineGBA
SinSiXX/IodineGBA
SirPyros/IodineGBA
SourceBackups/IodineGBA
SupinfoGameDev/IodineGBA
TheMuffinGroup/IodineGBA
UFBin/IodineGBA
UnblockedEvrything/IodineGBAss
Veldmuus/IodineGBA
Weej1/IodineGBA
Woodu/IodineGBA
Z73/IodineGBA
aidanharris/IodineGBA
akan/IodineGBA
anycall/IodineGBA
awesomesnorlax123/IodineGBA
ayunami2000/IodineGBA
beartung/IodineGBA
bitnetwork/IodineGBA
boxu2104/IodineGBA
buliaoyin/IodineGBA
byerancy/IodineGBA
carriercomm/IodineGBA
chrisbrasington/IodineGBA
cinco/IodineGBA
ckosmic/IodineGBA
codeKonami/IodineGBA
dasjack/IodineGBA
dbledayr/IodineGBA
durtin/IodineGBA
earthbound2/game
exaphaser/IodineGBA
faquino/IodineGBA
genghanqiang/IodineGBA
gitblazer/IodineGBA
gzzhanghao/IodineGBA
hattoriheiji/IodineGBA
hetaay3000/IodineGBA
himacro/IodineGBA
hohhen/IodineGBA
hollowsxd/IodineGBA
houcy/IodineGBA
hybomyth/IodineGBA
iBaozi/IodineGBA
itachi1706/IodineGBA
jacobzipper/IodineGBA
jaspal29/IodineGBA
jbmorley/IodineGBA
john0909/IodineGBA
johncant/IodineGBA
josejamilena/IodineGBA
jparral/IodineGBA
junior-2016/IodineGBA
karliky/IodineGBA
kevinchau321/IodineGBA
kingp02/IodineGBA
klarkc/IodineGBA
linktlh/IodineGBA
longbai/IodineGBA
lukw00/IodineGBA
mastahype/IodineGBA
matheus013/IodineGBA
matthewdlin/IodineGBA
mercuriallee/IodineGBA
mukundr99daboss/IodineGBA
neverwell/IodineGBA
nora55974/IodineGBA
nuet/IodineGBA
nullice/IodineGBA
nullmeme/IodineGBA
oVexlz/IodineGBA
oldway520/IodineGBA
pejonic/IodineGBA
pengqin/IodineGBA
pharazone/IodineGBA
plirof/IodineGBA
pohotu3/IodineGBA
ppmmaiwo/IodineGBA
qunwang6/IodineGBA
raceli/IodineGBA
roachhd/IodineGBA
rockyjvec/IodineGBA
rub8n/IodineGBA
ryanlapeyre/IodineGBA
shadowxh/gba
shaunstanislaus/IodineGBA
shingenko/IodineGBA
shitfSign/IodineGBA
shouhei/IodineGBA
softcup/IodineGBA
soyleung/IodineGBA
studywithyou/IodineGBA
takutok/IodineGBA
tanerdamaner/IodineGBA
the-cc-dev/IodineGBA
transparentmask/IodineGBA
tsantos013/IodineGBA
universeroc/IodineGBA
watsonlu/IodineGBA
windf/IodineGBA
wladi0097/SwitchGBA
wrgbh446/IodineGBA
wxtry/IodineGBA
xj-coder/IodineGBA
yangshihit/IodineGBA
yantian001/IodineGBA
yhrC/IodineGBA
yingnansong/IodineGBA
yiyuezhuo/IodineGBA
zackteng/IodineGBA
zanhsieh/IodineGBA
zhaohuaw/IodineGBA
Nothing to show
Choose a head branch
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 16 files changed
  • 0 commit comments
  • 2 contributors
View
@@ -0,0 +1 @@
+node_modules/
View

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -37,85 +37,113 @@ GameBoyAdvanceDMA0.prototype.initialize = function () {
this.gfxState = this.IOCore.gfxState;
this.irq = this.IOCore.irq;
}
+GameBoyAdvanceDMA0.prototype.validateDMASource = function (address) {
+ address = address | 0;
+ if ((address | 0) >= 0x2000000) {
+ if ((address | 0) <= 0x7FFFFFF || (address | 0) >= 0xE000000) {
+ this.source = address | 0;
+ }
+ }
+}
+GameBoyAdvanceDMA0.prototype.validateDMADestination = function (address) {
+ address = address | 0;
+ if ((address | 0) <= 0x7FFFFFF) {
+ this.destination = address | 0;
+ }
+}
GameBoyAdvanceDMA0.prototype.writeDMASource8_0 = function (data) {
data = data | 0;
- this.source = this.source & 0x7FFFF00;
+ var source = this.source & 0xFFFFF00;
data = data & 0xFF;
- this.source = this.source | data;
+ source = source | data;
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMASource8_1 = function (data) {
data = data | 0;
- this.source = this.source & 0x7FF00FF;
+ var source = this.source & 0xFFF00FF;
data = data & 0xFF;
- this.source = this.source | (data << 8);
+ source = source | (data << 8);
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMASource8_2 = function (data) {
data = data | 0;
- this.source = this.source & 0x700FFFF;
+ var source = this.source & 0xF00FFFF;
data = data & 0xFF;
- this.source = this.source | (data << 16);
+ source = source | (data << 16);
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMASource8_3 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFFFFF;
- data = data & 0x7;
- this.source = this.source | (data << 24);
+ var source = this.source & 0xFFFFFF;
+ data = data & 0xF;
+ source = source | (data << 24);
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMASource16_0 = function (data) {
data = data | 0;
- this.source = this.source & 0x7FF0000;
+ var source = this.source & 0xFFF0000;
data = data & 0xFFFF;
- this.source = this.source | data;
+ source = source | data;
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMASource16_1 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFFF;
- data = data & 0x7FF;
- this.source = this.source | (data << 16);
+ var source = this.source & 0xFFFF;
+ data = data & 0xFFF;
+ source = source | (data << 16);
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMASource32 = function (data) {
data = data | 0;
- this.source = data & 0x7FFFFFF;
+ var source = data & 0xFFFFFFF;
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination8_0 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x7FFFF00;
+ var destination = this.destination & 0xFFFFF00;
data = data & 0xFF;
- this.destination = this.destination | data;
+ destination = destination | data;
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination8_1 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x7FF00FF;
+ var destination = this.destination & 0xFFF00FF;
data = data & 0xFF;
- this.destination = this.destination | (data << 8);
+ destination = destination | (data << 8);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination8_2 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x700FFFF;
+ var destination = this.destination & 0xF00FFFF;
data = data & 0xFF;
- this.destination = this.destination | (data << 16);
+ destination = destination | (data << 16);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination8_3 = function (data) {
data = data | 0;
- this.destination = this.destination & 0xFFFFFF;
- data = data & 0x7;
- this.destination = this.destination | (data << 24);
+ var destination = this.destination & 0xFFFFFF;
+ data = data & 0xF;
+ destination = destination | (data << 24);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination16_0 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x7FF0000;
+ var destination = this.destination & 0xFFF0000;
data = data & 0xFFFF;
- this.destination = this.destination | data;
+ destination = destination | data;
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination16_1 = function (data) {
data = data | 0;
- this.destination = this.destination & 0xFFFF;
- data = data & 0x7FF;
- this.destination = this.destination | (data << 16);
+ var destination = this.destination & 0xFFFF;
+ data = data & 0xFFF;
+ destination = destination | (data << 16);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMADestination32 = function (data) {
data = data | 0;
- this.destination = data & 0x7FFFFFF;
+ var destination = data & 0xFFFFFFF;
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA0.prototype.writeDMAWordCount8_0 = function (data) {
data = data | 0;
@@ -39,85 +39,111 @@ GameBoyAdvanceDMA1.prototype.initialize = function () {
this.sound = this.IOCore.sound;
this.wait = this.IOCore.wait;
}
+GameBoyAdvanceDMA1.prototype.validateDMASource = function (address) {
+ address = address | 0;
+ if ((address | 0) >= 0x2000000) {
+ this.source = address | 0;
+ }
+}
+GameBoyAdvanceDMA1.prototype.validateDMADestination = function (address) {
+ address = address | 0;
+ if ((address | 0) <= 0x7FFFFFF) {
+ this.destination = address | 0;
+ }
+}
GameBoyAdvanceDMA1.prototype.writeDMASource8_0 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFFFF00;
+ var source = this.source & 0xFFFFF00;
data = data & 0xFF;
- this.source = this.source | data;
+ source = source | data;
+ this.validateDMASource(source | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMASource8_1 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFF00FF;
+ var source = this.source & 0xFFF00FF;
data = data & 0xFF;
- this.source = this.source | (data << 8);
+ source = source | (data << 8);
+ this.validateDMASource(source | 0)
}
GameBoyAdvanceDMA1.prototype.writeDMASource8_2 = function (data) {
data = data | 0;
- this.source = this.source & 0xF00FFFF;
+ var source = this.source & 0xF00FFFF;
data = data & 0xFF;
- this.source = this.source | (data << 16);
+ source = ource | (data << 16);
+ this.validateDMASource(source | 0)
}
GameBoyAdvanceDMA1.prototype.writeDMASource8_3 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFFFFF;
+ var source = this.source & 0xFFFFFF;
data = data & 0xF;
- this.source = this.source | (data << 24);
+ source = source | (data << 24);
+ this.validateDMASource(source | 0)
}
GameBoyAdvanceDMA1.prototype.writeDMASource16_0 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFF0000;
+ var source = this.source & 0xFFF0000;
data = data & 0xFFFF;
- this.source = this.source | data;
+ source = source | data;
+ this.validateDMASource(source | 0)
}
GameBoyAdvanceDMA1.prototype.writeDMASource16_1 = function (data) {
data = data | 0;
- this.source = this.source & 0xFFFF;
+ var source = this.source & 0xFFFF;
data = data & 0xFFF;
- this.source = this.source | (data << 16);
+ source = source | (data << 16);
+ this.validateDMASource(source | 0)
}
GameBoyAdvanceDMA1.prototype.writeDMASource32 = function (data) {
data = data | 0;
- this.source = data & 0xFFFFFFF;
+ var source = data & 0xFFFFFFF;
+ this.validateDMASource(source | 0)
}
GameBoyAdvanceDMA1.prototype.writeDMADestination8_0 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x7FFFF00;
+ var destination = this.destination & 0xFFFFF00;
data = data & 0xFF;
- this.destination = this.destination | data;
+ destination = destination | data;
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMADestination8_1 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x7FF00FF;
+ var destination = this.destination & 0xFFF00FF;
data = data & 0xFF;
- this.destination = this.destination | (data << 8);
+ destination = destination | (data << 8);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMADestination8_2 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x700FFFF;
+ var destination = this.destination & 0xF00FFFF;
data = data & 0xFF;
- this.destination = this.destination | (data << 16);
+ destination = destination | (data << 16);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMADestination8_3 = function (data) {
data = data | 0;
- this.destination = this.destination & 0xFFFFFF;
- data = data & 0x7;
- this.destination = this.destination | (data << 24);
+ var destination = this.destination & 0xFFFFFF;
+ data = data & 0xF;
+ destination = destination | (data << 24);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMADestination16_0 = function (data) {
data = data | 0;
- this.destination = this.destination & 0x7FF0000;
+ var destination = this.destination & 0xFFF0000;
data = data & 0xFFFF;
- this.destination = this.destination | data;
+ destination = destination | data;
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMADestination16_1 = function (data) {
data = data | 0;
- this.destination = this.destination & 0xFFFF;
- data = data & 0x7FF;
- this.destination = this.destination | (data << 16);
+ var destination = this.destination & 0xFFFF;
+ data = data & 0xFFF;
+ destination = destination | (data << 16);
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMADestination32 = function (data) {
data = data | 0;
- this.destination = data & 0x7FFFFFF;
+ var destination = data & 0xFFFFFFF;
+ this.validateDMADestination(destination | 0);
}
GameBoyAdvanceDMA1.prototype.writeDMAWordCount8_0 = function (data) {
data = data | 0;
Oops, something went wrong.

No commit comments for this range