EDIT1: - before reading all of this below, you can find Version two of the demo further down at this link - http://atariage.com/...demo/?p=3928868
I can confirm it works classic99 vs classic99 (over a network share) as well as classic99 vs Real Iron TI-99/4a equipped with TiPi.
EDIT2: Video of DEMO2 here: Classic 99 vs Classic99 and also Classic99 vs TI-99/4a TiPi Console
EDIT3: Slightly optimized code available HERE.
EDIT4: Latest and probably last version Number Guessing Console Vs Console Demo 2 v 3 (NGCVCD23) with updates and information can be found HERE.
In chatting it up with the TiPi crew I decided to jump the gun and try something out. My basic understanding of TiPi is that it allows real iron consoles to use shared folders on a raspberry pi to use as DSKx. That's virtual disk drives on a network share. The team is hard at work to bring better capabilities and more options than I am going to demo here (when ever the video is done processing so I can upload it someplace. EDIT: WMV Video attached in this zip file = ngcvc-1.zip 28.87MB 2 downloads(NO AUDIO - Something went wrong - but video yes). But I thought, well, classic99 can use network shares as well. Now this demo is not using network shares but it easily can.
For simplicity this is what I did.
DISCLAIMER: My code is ugly and not optimized at all - if you destroy planet earth running it, I deny any responsibility, use at your own risk.
It's just a demo after all to illustrate where my ideas are in turn based head to head gaming we can all enjoy in emulation right now. And on Real Iron once TiPi becomes available sometime in the next year or two (hey, I'm not putting any undue pressure on these guys, I think it'll be out sooner that but i also don't want to make enemies of them). Anyway -
I created a simple number guessing game that you run in two different classic99 sessions. For the time being I used a local folder but it can easily be done with a shared network folder on two different computers. But for simplicity, do this:
Step 1: Create a folder on your computer.
Step 2: Download the attached ngcvc XB file (Number Game Console Vs Console) and save it in that folder you created in step 1.
Step 3: Open a classic99 TI-99/4a v1 emulation session and point DSK1 to the file in the folder using FIAD.
Step 4: Open another classic 99 emulation session just like before (while leaving the other up and running) and make suere DSK1 is configured to look at the same file/folder using FIAD.
Step 5: place the two screens side by side and resize as needed.
Step 6: Type the following line on one screen then press enter. OLD DSK1.NGCVC
Step 7: Once the game asks if you are player 1 or not (DO NOT ANSWER YET) - repeat step 6 on the other screen.
Step 8: Decide which one will be player 1 and type Y then hit enter. On the player 2 side type N and hit enter. Don't forget you have to click on the appropriate screen to activate it.
Step 9: play the game going back and forth between screens.
If you want, try it over your LAN making sure both computers running classic99 are configured for the same exact DSK1 location (a shared folder someplace) and give it a go.
THIS IS ONLY A DEMO: What I'm doing is creating a file with only a single record in each file. There are 6 files altogether. They contain the only information that needs to be shared between the console and they are access via Disk IO functions. I think this is a pretty good way to make simple turn based head to head games NOW via classic99 and more robust games later using TiPi and better functions that may or may not be implemented. (see disclaimer and fill in the blanks)
Here is the DEMO:
Here is the Original buggy Source Code:
Edited by Sinphaltimus, Mon Jan 29, 2018 2:57 PM.