VOGONS

Common searches


Reply 40 of 106, by bruenor41

User metadata
Rank Newbie
Rank
Newbie

I fixed most critical issue when loading states in Alien Carnage. Another rare situation must wait, but seems it is far enough for this game, it works well.

Edit : uploaded sources with latest fix
Please report game which wont work with states

Attachments

Reply 41 of 106, by gandhig

User metadata
Rank Member
Rank
Member

Thanks bruenor41. Is this a general fix/improvement or specific to this game only?

I will update the build in the first post this weekend.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 43 of 106, by gandhig

User metadata
Rank Member
Rank
Member

@bruenor41, getting error while compiling your updated build in MinGW. There were some changes in my MinGW environment, but normal dosbox SVN compiles fine. Looking into drive_local.cpp, there seemed to be some major changes. Like, there was no 'localFile' Class at the start. Are you changing the main code?

make[3]: Entering directory `/home/Administrator/r4019_sav_lin2/src/dos'
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I/mingw/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -g -O2 -mno-ms-bitfields -MT drive_local.o -MD -MP -MF .deps/drive_local.Tpo -c -o drive_local.o drive_local.cpp
drive_local.cpp: In member function 'virtual bool localDrive::FileCreate(DOS_File**, char*, Bit16u)':
drive_local.cpp:58:31: error: no matching function for call to 'localFile::localFile(char*&, FILE*&)'
*file=new localFile(name,hand);
^
In file included from ../../include/dos_inc.h:24:0,
from drive_local.cpp:27:
../../include/dos_system.h:106:2: note: candidate: localFile::localFile(localDrive*, const char*, FILE*)
localFile(localDrive *drive, const char* name, FILE * handle);
^~~~~~~~~
../../include/dos_system.h:106:2: note: candidate expects 3 arguments, 2 provided
../../include/dos_system.h:105:2: note: candidate: localFile::localFile()
localFile();
^~~~~~~~~
../../include/dos_system.h:105:2: note: candidate expects 0 arguments, 2 provided
../../include/dos_system.h:103:7: note: candidate: localFile::localFile(const localFile&)
class localFile : public DOS_File {
^~~~~~~~~
../../include/dos_system.h:103:7: note: candidate expects 1 argument, 2 provided
../../include/dos_system.h:103:7: note: candidate: localFile::localFile(localFile&&)
../../include/dos_system.h:103:7: note: candidate expects 1 argument, 2 provided
drive_local.cpp: In member function 'virtual bool localDrive::FileOpen(DOS_File**, char*, Bit32u)':
drive_local.cpp:110:31: error: no matching function for call to 'localFile::localFile(char*&, FILE*&)'
*file=new localFile(name,hand);
^
In file included from ../../include/dos_inc.h:24:0,
from drive_local.cpp:27:
../../include/dos_system.h:106:2: note: candidate: localFile::localFile(localDrive*, const char*, FILE*)
localFile(localDrive *drive, const char* name, FILE * handle);
^~~~~~~~~
../../include/dos_system.h:106:2: note: candidate expects 3 arguments, 2 provided
../../include/dos_system.h:105:2: note: candidate: localFile::localFile()
localFile();
^~~~~~~~~
../../include/dos_system.h:105:2: note: candidate expects 0 arguments, 2 provided
../../include/dos_system.h:103:7: note: candidate: localFile::localFile(const localFile&)
class localFile : public DOS_File {
^~~~~~~~~
../../include/dos_system.h:103:7: note: candidate expects 1 argument, 2 provided
../../include/dos_system.h:103:7: note: candidate: localFile::localFile(localFile&&)
../../include/dos_system.h:103:7: note: candidate expects 1 argument, 2 provided
drive_local.cpp: At global scope:
drive_local.cpp:514:1: error: prototype for 'localFile::localFile(const char*, FILE*)' does not match any in class 'localFile'
localFile::localFile(const char* _name, FILE * handle) {
^~~~~~~~~
In file included from ../../include/dos_inc.h:24:0,
from drive_local.cpp:27:
../../include/dos_system.h:103:7: error: candidates are: localFile::localFile(localFile&&)
class localFile : public DOS_File {
^~~~~~~~~
../../include/dos_system.h:103:7: error: localFile::localFile(const localFile&)
../../include/dos_system.h:106:2: error: localFile::localFile(localDrive*, const char*, FILE*)
localFile(localDrive *drive, const char* name, FILE * handle);
^~~~~~~~~
drive_local.cpp:513:1: error: localFile::localFile()
localFile::localFile() {}
^~~~~~~~~
make[3]: *** [drive_local.o] Error 1
make[3]: Leaving directory `/home/Administrator/r4019_sav_lin2/src/dos'
Show last 6 lines
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/Administrator/r4019_sav_lin2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Administrator/r4019_sav_lin2'
make: *** [all] Error 2
Last edited by gandhig on 2017-10-11, 13:26. Edited 1 time in total.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 44 of 106, by bruenor41

User metadata
Rank Newbie
Rank
Newbie

Updated sources and added linux build.

Attachments

  • Filename
    dosbox.zip
    File size
    836.66 KiB
    Downloads
    43 downloads
    File comment
    linux build
    File license
    Fair use/fair dealing exception
  • Filename
    r4019_savestates.zip
    File size
    3.24 MiB
    Downloads
    89 downloads
    File comment
    Updated sources
    File license
    Fair use/fair dealing exception

Reply 45 of 106, by gandhig

User metadata
Rank Member
Rank
Member

Yes, savestates now doesn't crash in Alien Carnage 😀 .
Obviously it doesn't work while trying to load during the start up/briefing/level loading screens, as the name of the program in dosbox title window itself changes from harry<some number> to harry5. Weird.

Win32 build added in first post.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 47 of 106, by gandhig

User metadata
Rank Member
Rank
Member

Do you mean the latest improvements/fixes of bruenor41 applied to r4019 or latest DOSBox SVN?

In any case you may have to wait till the end of weekend, unless someone is willing to do it.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 48 of 106, by gandhig

User metadata
Rank Member
Rank
Member

Diff of latest fixes/enhancements by bruenor41 against plain SVN r4019 for win32 build is attached.

Filename
bruenor41_savestate_r4019_win32_mingw.patch
File size
422.27 KiB
Downloads
49 downloads
File comment
Diff against DOSBox SVN r4019 for savestate patch (Win32 MinGW) based on patches from ZenJu & tikalat with ykhwong's slot load/save code and further fixes/enhancements by bruenor41 (posted on 09-Oct-17)
File license
Fair use/fair dealing exception

And the usual disclaimer, 'USE IT AT YOUR OWN RISK'.

Patch Instructions for new users:
1) copy the attached patch file to dosbox SVN r4019 home directory (that contains autogen.sh)
2) cd to dosbox SVN r4019 home directory in mingw/msys
3) execute command 'patch -p1 < bruenor41_savestate_r4019_win32_mingw.patch'

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 49 of 106, by zirkoni

User metadata
Rank Member
Rank
Member
gandhig wrote:

Diff of latest fixes/enhancements by bruenor41 against plain SVN r4019 for win32 build is attached.

Segmentation fault @ dos_files.cpp, line 1555. I compiled the binary myself but also tried the build from the first post (dosbox_r4019_SAV_Win32_bruenor_Alien_Carnage.7z) and it crashed as well.
Game: Raiden (CD-ROM version)
OS: Windows 10 64-bit

The variable file_drive had a value of 255 which obviously caused the segmentation fault when indexing the Drives array, file_name "EMMXXXX0". Something to do with EMS memory?

Last edited by zirkoni on 2017-12-09, 06:37. Edited 1 time in total.

https://www.youtube.com/user/zirkoni88

Reply 50 of 106, by bruenor41

User metadata
Rank Newbie
Rank
Newbie

Thank you, I can check it in next days.

EDIT:
Ok, I think I fixed that (I hope). Will post patch and linux binaries later.

To fix that, update dos_files.cpp add line :
if( strcmp( Files[lcv]->GetName(), "EMMXXXX0" ) == 0 ) break;//raiden needs this
below
if( strcmp( Files[lcv]->GetName(), "AUX" ) == 0 ) break;

and
if( strcmp( Files[lcv]->GetName(), "EMMXXXX0" ) == 0 ) file_valid = 0xfe;//raiden needs this
below
if( strcmp( Files[lcv]->GetName(), "AUX" ) == 0 ) file_valid = 0xfe;

you need create new save state

Reply 52 of 106, by BenMcLean

User metadata
Rank Newbie
Rank
Newbie

I am trying to record footage of some really user-unfriendly games with no native save capability to be able to show the ending so I'm really hoping this will work for that use case. Thanks for all the hard work of everyone working on this feature.

Reply 53 of 106, by gandhig

User metadata
Rank Member
Rank
Member

Please do use builds(3rd or 4th in the first post) that have enhancements/fixes by bruenor41.

I will have to edit(if possible, (EDIT:done)) the sequence of the builds, later.

Which are the games that you intend to record?

P.S. AFAIK, only bruenor41 is working on this feature, presently.

EDIT: Sequence of the builds in the first post has been modified to reflect bruenor41's enhanced builds at the top.

Last edited by gandhig on 2018-01-19, 17:58. Edited 1 time in total.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 54 of 106, by Mr_Irony

User metadata
Rank Newbie
Rank
Newbie

Hi guys, i'm new in all of this, i wanna thanks you guys for all the work that you've done here. I was wondering if there is a version which i can try to compile on Mac.. and ask you for help because it fails when i try to build it on linux and even on windows. I don't know what im doing wrong..

Reply 55 of 106, by gandhig

User metadata
Rank Member
Rank
Member

I haven't tried compiling on Mac. But compilation shouldn't be problematic under Linux or Windows.

Please provide more details about your compilation environment, steps and errors.

Are you following any guide for compilation?

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 56 of 106, by Mr_Irony

User metadata
Rank Newbie
Rank
Newbie

Im not sure, i think that im doing it right using all that is necessary.

I got this when i try to compile it normally

nullmodem.cpp:151:21: error: ordered comparison between pointer and zero
('TCPClientSocket *' and 'int')
setCD(clientsocket > 0); // CD on if connection established

and that

make[4]: *** [nullmodem.o] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

This happens when i try to compile it on mac and linux, on windows with mingw i've got a different error.

I would try to compile it with emscripten, is it possible right? I'm getting error even on that..

Reply 57 of 106, by gandhig

User metadata
Rank Member
Rank
Member

As per the devs' comments in this thread, change from "setCD(clientsocket > 0);" to "setCD(clientsocket != 0);"

P.S.: This thread is about DOSBox with 'savestates'. For general questions about compilation, search this forum for answers (you will most likely find something). Also check out the guide mentioned in my previous post. If still there is any issue, please open a thread in the appropriate subforum with complete details.

Last edited by gandhig on 2018-01-19, 04:23. Edited 1 time in total.

Dosbox SVN r4019 + savestates Build (Alpha)
1st thread & the only one related to the forum(?)...warning about modern-retro combo
Dead, but, Personal Favourite
Replacement for Candy Crush...Train the Brain

Reply 58 of 106, by Mr_Irony

User metadata
Rank Newbie
Rank
Newbie

I'm sorry, i didn't see the solution and i thought it was a problem with this build which have savestates. I asked it here because i found this issue only in this version and the others work fine, my bad, thanks.

Reply 59 of 106, by ice700

User metadata
Rank Newbie
Rank
Newbie

well done gandhig! Works very well!

if you have some time, could you please create a Build with Zenju's xBRZ 1.6?
Many people would be grateful, It has superior amazing graphics working perfectly.

Few days ago he released on his website "DOSBox_0.74+xBRZ_1.6+Save_States", but for some reason those save states don't get written to disk and get lost as DosBox quits.

I tried to compile myself but as a newbie got stuck in too many errors