1 2
5 6
Post subject: GENS Emulator Development [11b released]
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
EDIT: This emulator is deprecated for the creation of TAS material other than for 32x. It is recommended to use the GenPlus-GX core of BizHawk GENS is the primary emulator used to record GENS TASmovies. The src is maintained at github: http://github.com/TASVideos/gens-rerecording/ It is windows compatible. The win32 version compiles with VS2005 The current version is Gens 11b and more information can be found in the release announcement. Any coding help is greatly appreciated. If interested, I can be PMed on the forums. In particular, there is need for a linux coder. We have a channel on freenode at #tasemu for discussing development issues. Issue tracker: http://github.com/TASVideos/gens-rerecording/issues
It's hard to look this good. My TAS projects
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Mostly new features, but a few major bugfixes as well. New in version 11:
  • Optional compensation for game drawing latency. (nitsuja)
  • Added configurable default RAM Watch directory to options. (Upthorn)
  • Optional automatic loading of previous RAM watch file. (adelikat)
  • RAM watch now prompts to save changes when you close gens. (adelikat)
  • Fixed bug where framecounter resets and movie closes if you cancel opening a ROM. (nitsuja)
  • Fix for menu squashing game window if fonts are too wide. (nitsuja)
  • RAM watch now has recent files list. (adelikat)
  • Fixed bug where "next render mode" wouldn't select past EPX. (nitsuja)
  • Actually fixed bug where certain hotkeys would be read when window was out of focus. (Upthorn)
  • Fixed crash to desktop on AVI splitting. (Upthorn)
  • Option for frame advance to skip lag frames. (adelikat)
  • Frame search (same feature as VBA) (nitsuja)
  • Screenshots optionally no longer use the wrong resolution in 256x224 display mode. (nitsuja)
  • Screenshots no longer affected by render mode. (nitsuja)
  • Error messages when GMV can not be loaded. (nitsuja)
  • Fixed file handle leak in mp3 code. (nitsuja)
  • Autopause works correctly again. (Upthorn)
  • Fixed bug where saving a state, closing gens, reopening it, and reloading the state would sometimes corrupt the z80 state. (Upthorn)
  • GMV files again truncate properly to last recorded frame. (nitsuja)
  • RAM Watch window optionally remembers position. (adelikat)
  • Fixed bug where movie splicing produced 2 frames of garbage at the splice boundary. (nitsuja)
  • RAM Search window now shows which rows will be eliminated by the current search condition. (nitsuja)
  • RAM Search now has a modulo comparison operator. (nitsuja)
  • Now possible to select and eliminate a range of rows in RAM Search. (nitsuja)
  • Added undo/redo buttons to RAM search. (nitsuja)
  • Various RAM search bug fixes (nitsuja)
  • Movie length now displayed with framecount. (nitsuja)
  • Various RAM watch file bug fixes (nitsuja)
  • Fixed sound buffer looping when a frame takes longer than expected to render. (nitsuja)
  • Lua scripting support (nitsuja)
  • Added -play <gmv file> commandline option to begin a movie playing automatically. (adelikat)
  • Added -cfg <config file> commandline option to automatically load a non-default config. (adelikat)
  • Added -loadstate <gst file> commandline option to automatically load a specified savestate. (adelikat)
  • Added -pause commandline option to open the emulator with emulation paused. (adelikat)
  • Project now explicitly includes all required files, so no user setup is necessary to compile the svn source. (adelikat/nitsuja/upthorn)
  • Added configurable default directory for Lua scripts. (nitsuja)
  • RAM Search and RAM Watch no longer require a frame to advance between being opened and displaying correct values. (nitsuja)
  • AVI split filesize now configurable. (nitsuja)
  • AVIs no longer use the wrong vertical resolution for NTSC games. (nitsuja)
  • AVIs optionally no longer use the wrong horizontal resolution in 256x224 display mode. (nitsuja)
  • Screenshots now saved as PNG files. (nitsuja)
  • Roms and movies can now be opened from inside zip, rar, and 7z files.
  • Automatic movie backups once again back up _before_ file truncation. (upthorn)
  • "Swap Scroll layer" option now swaps priority of the correct scroll plane. (upthorn)
  • Workaround for BRAM size option causing Sega CD desyncs. (nitsuja)
  • Drag and drop support for lua scripts, RAM watches, roms, gyms, savestates, cfgs, and zip/rar/7z archives containing them. (nitsuja)
  • Added -lua <lua script file> commandline option to automatically load a specified lua script. (nitsuja)
  • Added option to temporarily disable SRAM emulation. (nitsuja)
  • Included manual/reference for Lua scripting. (nitsuja)
  • Autofire and autohold modifiers again behave the same for enabling and disabling holds (nitsuja)
  • Hotkey configuration now recognizes three versions of modifier keys (ctrl, alt, shift, win), L, R, and generic. (nitsuja)
  • About window displays correct version information (nitsuja/upthorn)
Note: The handling of "modifier" keys (ctrl, shift, alt, windows) in hotkey assignment has changed. Previously pressing either of the keys would assign the hotkey to, for instance, "shift". And then pressing either of the keys would trigger the hotkey. Now, however, left shift and right shift are recognized as separate keys. To assign a hotkey to generic shift, press both left and right shift keys at the same time during key assignment. Ditto this for ctrl, alt, and windows keys. 11a has been released, links updated. Executable, with source package update patch included. Source package. Again, because none of the project members have any experience coding for Linux, or a working Linux platform to test builds on, it is Win32 only. If you are a Linux coder interested in working on the Gens project, please contact me either by forum PM, or email to Upthorn@gmail.com
How fleeting are all human passions compared with the massive continuity of ducks.
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
Cool beans. The interface feels much better now. Thank you. Only issue: Opening the emulator via drag-and-drop won't load the ROM you dragged and dropped anymore. At least you can drag-and-drop onto the emulator window now.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Player (37)
Joined: 9/9/2006
Posts: 388
Could I inquire as to how to initiate a "Sonic Map Dump" ? Also, do I need to combine it with a sonic game define? (I would believe it does) #define S1 #define SONICMAPHACK for example.
A whisper in the wind~~
Post subject: Re: Gens Rerecording 11 release
Former player
Joined: 12/5/2007
Posts: 716
upthorn wrote:
Again, because none of the project members have any experience coding for Linux, or a working Linux platform to test builds on, it is Win32 only.
Unfortunately, win32 only it is indeed. You practically removed everything needed to even start compiling. There's no Makefile anymore and the glade directory is completely vanished. Anyway, I'll try my best to get this beast running to some degree. Including avi support for encoding purposes will be a totally different thing, I guess.
Post subject: Re: Gens Rerecording 11 release
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
ShinyDoofy wrote:
upthorn wrote:
Again, because none of the project members have any experience coding for Linux, or a working Linux platform to test builds on, it is Win32 only.
Unfortunately, win32 only it is indeed. You practically removed everything needed to even start compiling. There's no Makefile anymore and the glade directory is completely vanished.
Jyzero did that years ago.
Anyway, I'll try my best to get this beast running to some degree. Including avi support for encoding purposes will be a totally different thing, I guess.
My suspicion is that the best way to go about this would be to work from an existing Linux source code. (Ask Bisqwit or DeHackEd for theirs, use IdeaMagnate's Grrl, or download Gens212a1SrcL.zip from The official Gens sourceforge repository, and apply Bisqwit's original rerecording patch.) And then start work on porting over the changes. I would be glad to help you in this, but I have had... less than good luck in getting Linux to install stably on any machine I have ever tried it with, so the type of assistance I am able to provide may be somewhat limited.
How fleeting are all human passions compared with the massive continuity of ducks.
Editor, Expert player (2478)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Good job, guys! Now I need to TAS some more, because it is easier than ever. Interestingly, full screen mode (with normal rendering) runs slowly, around 44 frames per second according to the FPS display. Maybe it's just my old machine being unable to run the new hi-tech emulator at full speed. However, it's a bit strange, because if I set any other rendering mode on, the slowness disappears. EDIT: Sorry, I said it wrong. Full screen mode runs fine, maximized window runs slow for some reason.
Banned User
Joined: 8/2/2008
Posts: 420
Location: italy
Aqfaq wrote:
maximized window runs slow for some reason.
ugh, non-integral resizing :\
Gone.
Player (121)
Joined: 2/11/2007
Posts: 1522
Yay, new Lua-enabled emulator! Good job guys.
I make a comic with no image files and you should read it. While there is a lower class, I am in it, and while there is a criminal element I am of it, and while there is a soul in prison, I am not free. -Eugene Debs
mz
Emulator Coder, Player (79)
Joined: 10/26/2007
Posts: 693
I see you've added some command line options, but now I can't load roms the old way, that is: "gens sonic.gen", for example. Maybe there's some new command line option to load roms too? (I'm too lazy to look at the source code myself. :P) Everything else looks really great, keep up the good work.
You're just fucking stupid, everyone hates you, sorry to tell you the truth. no one likes you, you're someone pretentious and TASes only to be on speed game, but don't have any hope, you won't get there.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
-rom loads a rom file Adding that is also probably why people can't drag and drop a rom into a gens icon.
It's hard to look this good. My TAS projects
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
adelikat wrote:
-rom loads a rom file Adding that is also probably why people can't drag and drop a rom into a gens shortcut.
Yeah, perhaps the -rom commandline option could be removed and replaced with just, y'know, the file to load. And gens will know that it's the rom file being specified, because it will be the only one without a -option before it. Sort of like how I can always find my baggage at the airport claim because it's the only set that hasn't been specially marked.
How fleeting are all human passions compared with the massive continuity of ducks.
Skilled player (1652)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
Yay! Official release! I've been coding Lua scripts for this emulator for quite some time - so if anyone wants to know how to dump to text files, build bots, and etc, I'm willing to help.
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
For some reason the Lua docs aren't in the zip with Gens11... For now, I put them here, for those who don't want to search through the source archive for them: Gens Lua Documentation
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
I've updated the executable link to include lua_samples, in which lua_manual.html resides. I'm leaving the lua documentation zip file up, though, for the people who downloaded the original archive already. It is good that you mentioned this now, because after a few days, google code archives downloads and no longer allows them to be replaced.
How fleeting are all human passions compared with the massive continuity of ducks.
Player (121)
Joined: 2/11/2007
Posts: 1522
nitsuja wrote:
For some reason the Lua docs aren't in the zip with Gens11... For now, I put them here, for those who don't want to search through the source archive for them: Gens Lua Documentation
Heh, you read my mind... I was coming here to ask about that. Although I will say that I was able to make a simple script using the same commands as FCEUX, so that's nice. By the way -- the interface for running scripts, the depth of the API and the documentation are the best yet. It's totally awesome. OK I'll stop being a gushing fanboy now.
I make a comic with no image files and you should read it. While there is a lower class, I am in it, and while there is a criminal element I am of it, and while there is a soul in prison, I am not free. -Eugene Debs
Player (37)
Joined: 9/9/2006
Posts: 388
DDRKhat wrote:
Could I inquire as to how to initiate a "Sonic Map Dump" ? Also, do I need to combine it with a sonic game define? (I would believe it does) #define S1 #define SONICMAPHACK for example.
I also seem to have some bizzare issue. I've compiled this fine however when I run the created Gens.exe , whenever it applies a rendering mode (even when it's first loading up) it for some bizzare reason takes the entire width of BOTH of my screens. Also, a small F.Y.I. If someone with a newer version of Visual Studio tries to compile this, they will run into a issue because of pwm.c if they simply rename it to pwm1.c in the studio, then it'll compile fine.
A whisper in the wind~~
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
DDRKhat wrote:
I seem to have some bizzare issue. I've compiled this fine however when I run the created Gens.exe , whenever it applies a rendering mode (even when it's first loading up) it for some bizzare reason takes the entire width of BOTH of my screens.
That is pretty bizarre, though I think we have gotten some dualscreen complaints before. What OS do you use?
How fleeting are all human passions compared with the massive continuity of ducks.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
DDRKhat wrote:
I also seem to have some bizzare issue. I've compiled this fine however when I run the created Gens.exe , whenever it applies a rendering mode (even when it's first loading up) it for some bizzare reason takes the entire width of BOTH of my screens. Also, a small F.Y.I. If someone with a newer version of Visual Studio tries to compile this, they will run into a issue because of pwm.c if they simply rename it to pwm1.c in the studio, then it'll compile fine.
I have the same issue if I try to compile with Visual Studio 2008, works fine in 2005.
It's hard to look this good. My TAS projects
Player (37)
Joined: 9/9/2006
Posts: 388
Windows XP (Sp3)
A whisper in the wind~~
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Is it happening with the released executable, or only when you compile it yourself?
How fleeting are all human passions compared with the massive continuity of ducks.
Player (37)
Joined: 9/9/2006
Posts: 388
upthorn wrote:
Is it happening with the released executable, or only when you compile it yourself?
Seems to only be when I compile it myself.
A whisper in the wind~~
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Try going to the project properties->configuration properties->C/C++->optimization and setting "optimization" to "Disabled (/Od)"
How fleeting are all human passions compared with the massive continuity of ducks.
Player (37)
Joined: 9/9/2006
Posts: 388
upthorn wrote:
Try going to the project properties->configuration properties->C/C++->optimization and setting "optimization" to "Disabled (/Od)"
Setting them ALL (Gens,lib7zip,MainStar,SubStar) to that does nothing, it still attempts to render itself at the entire available width when changing render mode, but not when initially loading. Compiling in "Debug" status rather than "Release" eliminates this issue but due to it's nature, when launched Gens will have a nice "MS-Dos Prompt" window spawn behind itself.
A whisper in the wind~~
Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
DDRKhat wrote:
I also seem to have some bizzare issue. I've compiled this fine however when I run the created Gens.exe , whenever it applies a rendering mode (even when it's first loading up) it for some bizzare reason takes the entire width of BOTH of my screens. Also, a small F.Y.I. If someone with a newer version of Visual Studio tries to compile this, they will run into a issue because of pwm.c if they simply rename it to pwm1.c in the studio, then it'll compile fine.
Used VS2005, works for me: I still have a very odd bug that I've had from the beginning though; when compiling gens from scratch VS always fails to link pwm.asm. if I try building again (not rebuilding) it links fine and finishes building gens.
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
1 2
5 6