diff options
author | Vladimir Menshakov | 2011-06-11 16:52:05 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:11 +0200 |
commit | 938c14ddacbeb3669012bc64eab92a0f2d0654a9 (patch) | |
tree | 6ad59ff9683ba650e879409e274ddeca8a84cc8d /engines | |
parent | fd1360096b88156eb0eb4ef8305b5d62216c8248 (diff) | |
download | scummvm-rg350-938c14ddacbeb3669012bc64eab92a0f2d0654a9.tar.gz scummvm-rg350-938c14ddacbeb3669012bc64eab92a0f2d0654a9.tar.bz2 scummvm-rg350-938c14ddacbeb3669012bc64eab92a0f2d0654a9.zip |
DREAMWEB: increased vga frequency to 70Hz, fixed data segments
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index e0ed987e99..cab9863911 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -86,12 +86,12 @@ void DreamWebEngine::setVSyncInterrupt(bool flag) { void DreamWebEngine::waitForVSync() { processEvents(); -/* + while (!_vSyncInterrupt) { _system->delayMillis(10); } setVSyncInterrupt(false); -*/ + // doshake // dofade } @@ -144,7 +144,8 @@ Common::Error DreamWebEngine::run() { _mouseState = 0; _console = new DreamWebConsole(this); - getTimerManager()->installTimerProc(vSyncInterrupt, 1000000 / 60, this); + getTimerManager()->installTimerProc(vSyncInterrupt, 1000000 / 70, this); + //http://martin.hinner.info/vga/timing.html dreamgen::__start(_context); @@ -226,6 +227,7 @@ void DreamWebEngine::fadeDos() { waitForVSync(); } } + void DreamWebEngine::setPalette() { uint8 colors[768]; processEvents(); @@ -286,7 +288,10 @@ void multiput(Context &context) { } void multidump(Context &context) { + context.ds = context.data.word(kWorkspace); int w = (uint8)context.cl, h = (uint8)context.ch; + if (w == 0 || h == 0) + return; int x = (int16)context.di, y = (int16)context.bx; unsigned offset = x + y * kScreenwidth; debug(1, "multidump %ux%u(segment: %04x) -> %d,%d(address: %d)", w, h, (uint16)context.ds, x, y, offset); |