It is currently Wed Nov 22, 2017 7:10 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 68 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
PostPosted: Sun Mar 05, 2017 1:45 pm 
Offline

Joined: Sun May 03, 2015 8:19 pm
Posts: 89
hackfresh wrote:
Is there anything that would make netplay better/worse than nestopia+kaillera p2p? Or should it be roughly the same?


I never tried netplay under Nestopia. My implementation is just a simple TCP protocol. I really only intended it for intranet play; it may not be performant over a larger network.[/quote]

Gotcha. Its probably equivalent performance then.


Top
 Profile  
 
PostPosted: Sun Mar 05, 2017 4:45 pm 
Offline

Joined: Sun May 03, 2015 8:19 pm
Posts: 89
Found the fix for my friend on MAC which was a solution for minecraft.

Had him download the 2.9.3 release of lwjgl

Copied these files from the /jar folder of the download into the nintaco/lib folder:
Jinput.jar
Lwjgl.jar
Lwjgl_util.jar



Copied these files from the /native/macosx folder of the download into the nintaco/lib/native folder:

ibjinput-osx.jnilib
liblwjgl.jnilib
openal.dylib

Then copy and renamed openal.dylib to libopenal.dylib


Top
 Profile  
 
PostPosted: Tue Mar 07, 2017 9:34 pm 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 729
Location: New York, NY
Attachment:
Matsuda Seiko's Rock'n Rouge.zip [1016 Bytes]
Downloaded 54 times


Here's something fun to try. Load the following ROM into Nintaco:

Family BASIC.7z <Family BASIC (J) (V3.0) [!].nes>

Then, select Machine | Family Basic | Load Program... and select the bas file within the attached zip.

Then, type: RUN


Top
 Profile  
 
PostPosted: Fri Mar 10, 2017 12:15 pm 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 729
Location: New York, NY
Attachment:
TetrisBot.zip [12.65 KiB]
Downloaded 55 times


Want to see a Tetris Bot in action? Start Tetris (UE).7z <Tetris (U) [!].nes> in Nintaco. Then, select Tools | Run Program... Click on the Find JAR... button and select the .jar in the attached zip. Then, press Load JAR. And, finally press Run.

Within Tetris, start the game as either type A or B and at any speed or height. The Bot will take control once the game begins.

To see it play faster, hit the Stop in the program controls window. In the arguments field, type in: fast. And, finally press Run again.

Be sure to hit Stop before closing the game.

I have yet to document the API. But, it provides full programmatic control of the emulator and it's designed to work from any language. From the main menu, Tools | Start Program Server... enables remote API access into the emulator. I translated the bot to Python, Lua and C# to demonstrate (other languages pending).


Top
 Profile  
 
PostPosted: Sun Mar 12, 2017 3:20 pm 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 729
Location: New York, NY
I made some minor updates (new build in OP): I fixed some issues with Netplay and I added a high-speed button that can be used to skip past intermissions or to hasten rewinding.


Top
 Profile  
 
PostPosted: Sun Mar 12, 2017 4:22 pm 
Offline

Joined: Sun May 03, 2015 8:19 pm
Posts: 89
What was fixed with netplay? When I tried it the old version the client bore all of the lag/frame delay which makes it useable in a LAN setting only.


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 6:28 am 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 729
Location: New York, NY
hackfresh wrote:
What was fixed with netplay? When I tried it the old version the client bore all of the lag/frame delay which makes it useable in a LAN setting only.


That mechanism has not changed; all the clients are synchronized with the server. Is there a better way to approach netplay?


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 7:19 am 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19249
Location: NE Indiana, USA (NTSC)
There are a couple methods to improve netplay experience over a link with latency in the tens of milliseconds. Both are used by things like GGPO.

Adding constant lag
Send the input received from the local keyboard/gamepad immediately, but run the emulator a couple frames behind to allow input from other players to arrive.

Backdating
If other players' input does not arrive in time, make the "dead reckoning" assumption that the input hasn't changed. When the received input differs from the dead-reckoned input, rewind to the difference and re-emulate.

If you're relying on input sync to keep the players' emulated machines in sync, you want the reliable in-order delivery of TCP. This means that if you're using UDP to reach a server behind NAT in cases where TCP traversal doesn't work, you'll probably end up reimplementing most of TCP on top of UDP. Or do you instead require users to run their own server on a machine not behind NAT, such as a VPS leased from a hosting provider?


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 10:46 am 
Offline

Joined: Sun May 03, 2015 8:19 pm
Posts: 89
EDIT: Removed question


Last edited by hackfresh on Mon Mar 13, 2017 10:52 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 10:52 am 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19249
Location: NE Indiana, USA (NTSC)
You rewind, replay the corrected inputs, and fast-forward, so that the frame rate is constant. There will be a small amount of teleporting in the twitchiest of twitch games; if it gets too harsh, increase the constant lag. But if a game already incorporates delays into its animation, the effect of backdating will be invisible. Games with such delays include Punch-Out!! (as Dwedit described), games that run at a low frame rate (such as anything by Micronics), and platformers with a momentum mechanic.


Top
 Profile  
 
PostPosted: Mon Mar 13, 2017 10:53 am 
Offline

Joined: Sun May 03, 2015 8:19 pm
Posts: 89
Ya I should have spent a few minutes looking at few more article about it before asking. Thanks.


Top
 Profile  
 
PostPosted: Sun Apr 02, 2017 1:08 pm 
Offline

Joined: Sun Oct 07, 2012 12:31 am
Posts: 23
Family BASIC

Is the Play/Record tape function working?
(*.tape)

_________________
Anna's Playground for QMC2
Official MESS Forum


Top
 Profile  
 
PostPosted: Mon Apr 03, 2017 4:45 pm 
Offline
User avatar

Joined: Mon Dec 29, 2014 1:46 pm
Posts: 729
Location: New York, NY
AnnaWu wrote:
Family BASIC

Is the Play/Record tape function working?
(*.tape)


It does indeed work. The *.tape files are a proprietary format.


Top
 Profile  
 
PostPosted: Mon Apr 03, 2017 5:20 pm 
Offline

Joined: Thu Feb 23, 2017 2:27 pm
Posts: 34
Nice job on the emulator-- It's the only one that will let me emulate the Subor Keyboard nicely without surrendering the joystick controls or having it not work at all! If only settings didn't default on Power Cycle...

Aside from all games I've tested so far, completely working, there's some issue going on with the boot up of Subor v3.0, v6.0 and v10.0 in your emulator. There's supposed to be a chime that rings three times, and with the correct "TV System" setting (Dendy), it only rings once. Mesen gets this correct.

Nintaco

Mesen


Top
 Profile  
 
PostPosted: Tue Apr 04, 2017 12:04 am 
Offline

Joined: Sun Oct 07, 2012 12:31 am
Posts: 23
zeroone wrote:
AnnaWu wrote:
Family BASIC

Is the Play/Record tape function working?
(*.tape)


It does indeed work. The *.tape files are a proprietary format.


Sorry, it doesn't work for me, tested with the Family BASIC V3.
Maybe my old Notebook (Windows XP SP3 32-bit) is too slow for this program (Java 8).

No problems to load/save tape files with Nestopia, VirtuaNES, nester, kindred, vdmgr and eFamilyBASIC.

Can you upload a saved/working *.tape file to check I am able to load it or not?
Thanks.

_________________
Anna's Playground for QMC2
Official MESS Forum


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 68 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google Adsense [Bot] and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group