VOGONS

Common searches


Save States - Proof of concept

Topic actions

Reply 181 of 227, by tikalat

User metadata
Rank Member
Rank
Member

He's using an older (incompatible) save state build (beta9 is a long time ago, buggy enough). The save states themselves could be corrupting his game.

Then again, I may check it out sometime anyway to confirm.

Reply 182 of 227, by tikalat

User metadata
Rank Member
Rank
Member
svn-dosbox r3782

005
- Updated to r3782 (M.U.L.E., Settlers 2)
- Added DOS POD (basic stuff)

Fixes some problems with loadstate games off cdrom (Magic Carpet Plus).
- The svn-daum protected mode loadstate breaks. So that needs to be looked into. ^^

tester

Attachments

  • Filename
    ___release.7z
    File size
    39.74 KiB
    Downloads
    286 downloads
    File comment
    svn-dosbox r3782
    File license
    Fair use/fair dealing exception

Reply 183 of 227, by tikalat

User metadata
Rank Member
Rank
Member

Dropping a note: found the svn-daum problem. Svn-dosbox somehow resets the pagehandlers to 'initial'. Svn-daum needs to do this on loadstate (temporary fix).

Going to make a Paging POD out of this later to be safe (needs more studying). And try to patch up some CMOS loadstate bugs with Magic Carpet Plus SVGA chooser.

Reply 184 of 227, by tikalat

User metadata
Rank Member
Rank
Member
011  svn-daum

Add DOS POD
- some extra basic stuff
- some restucturing

Redo paging into cpu POD
- done more correctly (vars)
- more usable (ex. Magic Carpet Plus)

Some midi_win32 changes
- midiOutReset on loadstate
- midiOutReset + midiOutClose (flush then close)
- Roland VSC crash protection

MUNT
- speed up savestates / loadstates (looks at partials used)

Accidental crash
- Safety check debugging sblaster code

The Roland VSC is the experimental flag (default off in code). Problem is that Dosbox doesn't always close the port correctly - buffer used, playing, sysex still around, other voodoo, misc whatever. Or app crashes and we lose the MIDI device until reboot (single-instance port hogger).
(midiOut not closed. So it gets orphaned in windows memory)

15 reboots in 2 days because VSC locks out. That will not do!

New approach creates a dll that manages midi creation for VSC only. On crash, windows keeps it around until it unloads. Force dll unload and port is closed. Seems stable enough for now - may be error'able still. Better than before.
(see: misc/midi_helper project)

tester

Attachments

  • Filename
    svn-daum 2012-05-21.7z
    File size
    41.38 KiB
    Downloads
    310 downloads
    File comment
    ykhwong svn-daum 2012-05-21
    File license
    Fair use/fair dealing exception

Reply 186 of 227, by tikalat

User metadata
Rank Member
Rank
Member
001 - svn-daum

pcjr / tandy - fix 'no dac' crash
midi - improve midi_helper (VSC only), reset GM / GS at startup, restore RPN correctly, cleanup
misc - compile fixes
pause - new idea that lets user save,load,change options while emu paused

TODO:
Check Barbarian
Check Colemdos
Check Pinball game (2x shift flippers)

test

edit:
Thanks for fixing the debugger!

Colemdos = no crashes
Barbarian = no crashes

Attachments

  • Filename
    svn-daum-07_01_2012.7z
    File size
    3.17 KiB
    Downloads
    279 downloads
    File license
    Fair use/fair dealing exception

Reply 190 of 227, by tikalat

User metadata
Rank Member
Rank
Member

uhm... >.< ..!? Using any frontends?

Colemdos okay here (using menubar).

Went from CMOS -> colemdos (loadstate) -> Win 3.1 PQ4 (loadstate) -> colemdos (loadstate) in 1 session. 😐

Please try this build (debug info when loadstate fail):
http://www.sendspace.com/file/pw0r1o

Reply 191 of 227, by nikiniki

User metadata
Rank Member
Rank
Member

Your last version of dosbox runs fine.

I don't use frontends but I use .bat files to run dosbox like this:

go.bat
c:\dosboxsave2\dosbox C:\coleco -conf dosbox-0.74.conf

I run dos games this way.

Reply 192 of 227, by tikalat

User metadata
Rank Member
Rank
Member

Hmm. Okay. Shouldn't be problem most of the time. Sometimes windows gets confused and looks for files in wrong directories though (not often).

Dev note:
If bug happens enough, get dosbox program absolute path and work file paths from there.

Note that I changed 2 lines after last 001 patch:

if(check_title.fail()) throw Error("No saved file for this slot. Aborted.") + "   File: " + program_temp.c_str();
if(check_file.fail()) throw Error("No saved file for this slot. Aborted.") + " File:" + realtemp;

Reply 193 of 227, by red46

User metadata
Rank Newbie
Rank
Newbie

Tried with the latest patch, gta crashes when saving state, this happens only when using the 3dfx version of the game as the 8 bit and 24 bit one, will save and load fine.
Using nglide as wrapper, didn't see this mentioned anywhere else, so perhaps might be something to look into.

Reply 196 of 227, by tikalat

User metadata
Rank Member
Rank
Member

Patching up 2 long-time bugs.

dos_files.cpp - save stdin, stdout, stderr refcnts […]
Show full quote

dos_files.cpp
- save stdin, stdout, stderr refcnts

cpu.cpp
- hlt loadstate crash

#1 = some random dos crashes, glitches
#2 = random program loadstate deaths (ex. playmid)

3dfx = not likely yet. Many variables to learn. Retrieving texture uploads would be more questionable.

Attachments

  • Filename
    savestate_001_cpu, dos loadfix.7z
    File size
    620 Bytes
    Downloads
    196 downloads
    File comment
    08-23-2012 svn-daum
    File license
    Fair use/fair dealing exception

Reply 197 of 227, by Arlo

User metadata
Rank Newbie
Rank
Newbie

Has anyone released a fixed version of this code compilable on 64-bit Ubuntu? I'm having a similar problem as Serious Callers Only had on pages 3 and 4 of this thread. but I'm afraid I don't have the expertise to follow all the changes he was instructed to make in order to get this working.

Reply 198 of 227, by copytco

User metadata
Rank Newbie
Rank
Newbie

I've got a question about how the save states work. When I save a state during game I can load it any time I want, but when I close a game and fire up DOSBox once again save state is empty, so nothing loads - this happens everytime I close & open DOSBox. Should it be like that? 😀

Reply 199 of 227, by tikalat

User metadata
Rank Member
Rank
Member

Re: Munt Reloaded - Development

Patch to integrate MUNT library into svn-daum (May 2013)

1) Download MUNT 1.2 source. Apply munt-master-savestate.diff
- Add partial limits
- Add mt32ram dump / load

1a) Compile as static library
- mt32emu_stat.lib

2) Download ykhwong's May 2013 build. Apply daum-savestate.diff
- Removes MUNT files. Treat as external lib
- Copy new MUNT header files
- Run MUNT through MIDI savestate code
- Rework MIDI save / load
--- new features: NRPN
--- bug fixes: controller 79h (RPN), correct MIDI / sysex status, other noticeable problems

2a) Add mt32emu_stat.lib to linker
2b) Compile and run

Not fully tested. Works rather well so far.

[quote]
I've got a question about how the save states work. When I save a state during game I can load it any time I want, but when I close a game and fire up DOSBox once again save state is empty, so nothing loads - this happens everytime I close & open DOSBox. Should it be like that? :)
[/quote]

That shouldn't happen. ^^

Attachments

  • Filename
    daum-munt.7z
    File size
    67.38 KiB
    Downloads
    20 downloads
    File license
    Fair use/fair dealing exception