Add forceDMG mode

This commit is contained in:
Evan Barger 2020-04-02 23:24:27 -04:00
parent 9fe16f1f12
commit 2b76d3ecbf
4 changed files with 19 additions and 11 deletions

View File

@ -124,10 +124,15 @@
</div>
<div class="settings-row">
<label class="settings-label" id="disableCGB-label" for="disableCGB-input">Force DMG Mode: </label>
<label class="settings-label" id="disableCGB-label" for="disableCGB-input">Disable CGB Palette: </label>
<input id="disableCGB-input" type="checkbox" v-model:checked="disableCGB"/>
</div>
<div class="settings-row">
<label class="settings-label" id="forceDMG-label" for="forceDMG-input">Force DMG Menu: </label>
<input id="forceDMG-input" type="checkbox" v-model:checked="forceDMG"/>
</div>
<div class="settings-row">
<label class="settings-label" id="filename-label" for="filename-input">Filename: </label>
<input id="filename-input" type="text" v-model:value="filename"/>

View File

@ -8,11 +8,13 @@ let app = new Vue({
mapData: '',
romData: '',
fontIndex: 0,
disableCGB: false
disableCGB: false,
forceDMG: false
},
created: function() {
this.processor.menu = this.menu;
this.processor.disableCGB = this.disableCGB;
this.processor.forceDMG = this.forceDMG;
},
computed: {
downloadEnabled: function() {
@ -26,6 +28,9 @@ let app = new Vue({
},
disableCGB: function() {
this.processor.disableCGB = this.disableCGB;
},
forceDMG: function() {
this.processor.forceDMG = this.forceDMG;
}
},
methods: {

View File

@ -190,6 +190,7 @@ class Processor {
this.roms = roms;
this.menu = null;
this.disableCGB = false;
this.forceDMG = false;
}
romTotalKB() {
@ -302,14 +303,11 @@ class Processor {
romFile.writeByte(83);
}
// fix header checksum
// let checksum = 0;
// for (let i = 0x134; i <= 0x14C; i++) {
// romFile.seek(i);
// checksum = ((checksum - romFile.readByte() - 1) & 0xFF)
// }
// romFile.seek(0x14D); // fix checksum
// romFile.writeByte(checksum);
// apply dmg menu hack
if (this.forceDMG) {
romFile.seek(0x154);
romFile.writeByte(0x11);
}
let romBase = 0x01;
let romFileIndex = 0x1C200;

View File

@ -136,7 +136,7 @@ tbody tr:nth-child(odd) {
.settings-label {
font-weight: bold;
margin-right: 20px;
min-width: 150px;
min-width: 170px;
display: inline-block;
}