sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
This thread is intended to announce development work related to JPC-RR, a rerecording x86 emulator. Binaries are presently available at the TASTools page. The latest binary release is r11.2.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
r10.7 has just been uploaded to TASTools, containing a series of fixes over a series of minor intermediate revisions. Major bugs fixed include a Win32 issue of not being able to save to the same slot more than twice and a lockup when attempting to dump audio. For an exhaustive list of bugs fixed, please consult the change log (it's in the source code).
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
r10.16 has just been uploaded to TASTools. A great deal of changes have been made since the last binary release such that I don't know where to begin describing them (perhaps Ilari can do the list justice).
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Nice. :) Btw, This page still has the old version number.
Emulator Coder, Skilled player (1129)
Joined: 5/1/2010
Posts: 1217
Here are some (more significant) changes from r10.7 to r10.16 (as can be seen, they are mostly small bug fixes): - Don't lose stack trace data on some errors. - Fix bug in handling "OPTION ABSOLUTE" in movie files. - Allow printing image info from command line. - Lua can query movie length, rerecord count and main headers. - New author headers editor, supporting both full names and nicknames. - Allow binding multiple action sequence to same key. - Implement INT3_O16 and INTO_O16 in pmode (fixes some game). - Allow Lua to update display on stop/loadstate. - Allow Lua scripts to prompt for file to load/save to. - Support self-modifying code properly (DJGPP stuff no longer categorially instacrashes). - Fix "off-by-one" graphical glitching in mode13h. - Fix emulator wedging itself after enough savestates are made. - Loadstates should have less chance of hanging the whole emulator. - Fix some savestate/loadstate/ramdump operations from Lua. - Allow access to command-line imagemaker in .JAR builds.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
I have just uploaded the freshly-released r11.2 to the TASTools repository. r11 releases have much a much friendlier A/V dumping interface and use a new set of stream tools (due to a new format), and I have uploaded Win32 binaries of those to the TASTools repository as well.
Emulator Coder, Skilled player (1129)
Joined: 5/1/2010
Posts: 1217
Changelog summary going from r10.x to r11.2 (some major features, but not so much on game compat department): Implemented: - Lockout odd/even when in graphics mode (Fixes some gfx corruption issues). - Reduce number of windows used (now only main + keyboard + lua). - Implement splitline scroll reset (fixes statusbar jerking in some games). - Event stream access from Lua. - Savestate load via drag'n'drop. - Loadstate from Lua actually works instead of hanging the emu. - Complete Lua math library. - Create windows from within Lua (handy for memory watching). - Memory search. - Allow waiting all types of events at once within Lua. - Rewrite dumping code from ground up (with fair amount of second-system effect). - Raw dumps (which there is only one file now) can be played back in realtime without encoding to AVI. - Built-in font for drawn text (no more messing with font files). - Subtitle placeholders for stuff like movie length and rerecord count (computed by emulator itself). - Resolution-dependent scalers for dump to raw video conversion (mainly for HD encoding). - New VGA code supporting real VGA timings. - Monitor panel clicks get sent to Lua (e.g. for mouse rerecording).
Joined: 1/3/2006
Posts: 334
So is a better to use mouse input in the works? Or is there already an easier way than using the navigation shortcuts? They are not very precise
Joined: 1/26/2009
Posts: 558
Location: Canada - Québec
I started to look around the source code and thought it would be great if I could figure how to build jpcrr without using the pre-compiled jar. So I managed to find the source of the "mnj.lua" package by checking the provided "jpcrr-r11.7-precompiled.zip/sources.zip/src/" archive, but I'm missing some other libs. I guess those class aren't really mandatory and I could probably write those myself if look at this hard enough, but could it be possible to provide an example for "org.jpc.Exceptions" and "org.jpc.Revision" classes? I believe those classes might have been retired in order to avoid adding unnecessary third party library. Yet if that's the case I would be interested to known what are those, as well. At some point, I've been thinking to mavenify the project to make the overall setup and build process easier and later, maybe look out if it's possible to help with UI. edit: Nevermind, I found a workaround.
Editor, Expert player (2373)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Trying to run Mice Maze v1.0 in JPC-rr 11.8, as soon as the maze gets loaded, there is an error.
Exception trace generated on 'Wed Oct 07 19:30:42 CEST 2015' by version '6ab255c by Ilari Liusvaara on 2015-01-12 02:38:34 +0200' (release 11.8-rc2).

Object in invalid state for operation (Unknown uCode R480)
fullExecute of org.jpc.emulator.memory.codeblock.optimised.RealModeUBlock <RealModeUBlock>
execute of org.jpc.emulator.memory.codeblock.optimised.RealModeUBlock <RealModeUBlock>
executeReal of org.jpc.emulator.memory.LazyCodeBlockMemory <LazyCodeBlockMemory>
executeReal of org.jpc.emulator.memory.PhysicalAddressSpace <PhysicalAddressSpace>
executeReal of org.jpc.emulator.PC <PC>
execute of org.jpc.emulator.PC <PC>
main of org.jpc.plugins.PCControl <PCControl>
run of org.jpc.pluginsbase.Plugins$PluginThread <Plugins>
--- When running Boston Bomb Club, and using the mouse from the JPC menu it shows this message in the console. And the mouse doesn't seem to be operable.
Warning: Synchronous ECI invocation 'org.jpc.emulator.peripheral.Keyboard' not delivereble. [sic]
I remember it working before but now it doesn't.
Reviewer, Expert player (2439)
Joined: 5/21/2013
Posts: 414
For the first one, I think you might be screwed. I approached Ilari with a similar error after trying to run Descent and it's an error with emulation, there's nothing you can do. Pray for some other emulator I guess. As for the second one, have you set up the mouse? Make sure you run "ctmouse" on the boot disk before switching over to C: and running the game. If it's not that, I have no idea.
Editor, Expert player (2373)
Joined: 5/15/2007
Posts: 3940
Location: Germany
I miiight be interested in actually getting some DOS TASing done this time around, but I can't promise it. The problem I have right now is that I can't get sound to work. The status window says "PCM whatever" is "offline. Game is Boston Bomb Club. I would be glad if someone could try to get it to work themselves, and tell me how they did it.
Editor, Expert player (2373)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Trying to run Mice Maze v1.0 in JPC-rr 11.8, as soon as the maze gets loaded, there is an error.
This happens on c-square's modified JPC as well. Same thing for Get Em All.
Active player (378)
Joined: 9/25/2011
Posts: 652
I've finally found some time to merge my TASScript and mouse changes into the v11.8 code base, and have created an Alpha version for what I propose will be JPC-rr v11.9. You can download it and try it here, and I'd appreciate it if people could take it for a test run and let me know if you find any issues. Unfortunately, I know nothing about git, so I'm hoping someone else will be able to update the JPC-rr git repository with this new build. I also looked into the Mice Maze error and unfortunately I wasn't able to fix it. On the surface it looks like for Mice Maze to work, you need to have JPC-rr be in "protected mode", but I have no idea how you'd get that going. Another consideration in general is that JPC-rr is built off of version 1 of JPC. The latest version of JPC is v2.4, and it's likely several emulation issues have been resolved in the newest build. If someone wants to upgrade v11.9-alpha to use JPC v2.4, I think that would make a good candidate for a new major version (JPC-rr v12). Let me know if you have any questions.
DrD2k9
He/Him
Editor, Judge, Expert player (2228)
Joined: 8/21/2016
Posts: 1093
Location: US
Thanks for all your work on this. Your v11.2 version with TASScript has been a huge help in simplifying TASing some DOS games for me. I've been heavily using it while working on King's Quest VI. It's a welcome tool addition to the emulator, and I support this being considered in an official release. I'll try and do some testing on the newer 11.8 code base w/ TASScript over the next few days and see how it works for me. I would also be interested to see what doors would be opened by a -rr fork of the JPC v2.4 base.
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
Me too! I would imagine jpcrr would be more confortable to tas if merged! Probably even run windows 98 on it.
Player (16)
Joined: 7/3/2012
Posts: 35
c-square wrote:
Another consideration in general is that JPC-rr is built off of version 1 of JPC. The latest version of JPC is v2.4, and it's likely several emulation issues have been resolved in the newest build. If someone wants to upgrade v11.9-alpha to use JPC v2.4, I think that would make a good candidate for a new major version (JPC-rr v12).
The latest version is in fact v3.0, released in 2015. It can be obtained from the project's Github page (Sourceforge has it as well).
Editor, Expert player (2373)
Joined: 5/15/2007
Posts: 3940
Location: Germany
Does the emulator remain stable if I edit memory on it in Cheat Engine?
Active player (378)
Joined: 9/25/2011
Posts: 652
MUGG wrote:
Does the emulator remain stable if I edit memory on it in Cheat Engine?
Hi MUGG, I've tried using a memory manager with JPC-rr without any success. That said, I haven't spent too much time on it, so it's certainly possible it works. Let us know if you succeed. Alternatively, there's a forum topic where we've posted some useful lua scripts for memory watching and altering.
Site Admin, Skilled player (1256)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
People we need your insight in this thread dedicated to supporting DOS games via PCem+libTAS: PCem configs tasvideos should endorse
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.