Add Beta2 patch: Fix autoexec overflow.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2729
This commit is contained in:
parent
fdd16dea1a
commit
d78d597f92
4 changed files with 62 additions and 52 deletions
|
@ -17,6 +17,8 @@
|
|||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <iomanip>
|
||||
#include <sstream>
|
||||
#include "dosbox.h"
|
||||
#include "inout.h"
|
||||
#include "mixer.h"
|
||||
|
@ -26,6 +28,7 @@
|
|||
#include "shell.h"
|
||||
#include "math.h"
|
||||
#include "regs.h"
|
||||
using namespace std;
|
||||
|
||||
//Extra bits of precision over normal gus
|
||||
#define WAVE_BITS 2
|
||||
|
@ -82,12 +85,12 @@ struct GFGus {
|
|||
float delay;
|
||||
} timers[2];
|
||||
Bit32u rate;
|
||||
Bit16u portbase;
|
||||
Bit8u dma1;
|
||||
Bit8u dma2;
|
||||
Bitu portbase;
|
||||
Bitu dma1;
|
||||
Bitu dma2;
|
||||
|
||||
Bit16u irq1;
|
||||
Bit16u irq2;
|
||||
Bitu irq1;
|
||||
Bitu irq2;
|
||||
|
||||
char ultradir[512];
|
||||
bool irqenabled;
|
||||
|
@ -861,10 +864,15 @@ public:
|
|||
myGUS.gRegData=0x0;
|
||||
int portat = 0x200+GUS_BASE;
|
||||
// ULTRASND=Port,DMA1,DMA2,IRQ1,IRQ2
|
||||
autoexecline[0].Install("SET ULTRASND=%3X,%d,%d,%d,%d",portat,myGUS.dma1,myGUS.dma2,myGUS.irq1,myGUS.irq2);
|
||||
autoexecline[1].Install("SET ULTRADIR=%s", myGUS.ultradir);
|
||||
// Create autoexec.bat lines
|
||||
ostringstream temp;
|
||||
temp << "SET ULTRASND=" << hex << setw(3) << portat << ","
|
||||
<< dec << myGUS.dma1 << "," << myGUS.dma2 << ","
|
||||
<< myGUS.irq1 << "," << myGUS.irq2 << ends;
|
||||
autoexecline[0].Install(temp.str());
|
||||
autoexecline[1].Install(std::string("SET ULTRADIR=")+ myGUS.ultradir);
|
||||
}
|
||||
|
||||
|
||||
|
||||
~GUS() {
|
||||
if(machine!=MCH_VGA) return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue