Making MMI development software open source

Don’t convert it. HTML is fine.

What’s your github username @Simurgh?

And what’s the name of the video/camrng project? We can create a repo for that for sure.

No repo yet for camrng. Just bunch of files on my computer. But I’ll make it before wednesday.

PRDCore Reference.HTML is on the Google Drive. (https://drive.google.com/drive/u/1/my-drive hopefully this is not automatically restricted) As you will see, it’s a quite extensive description of PRDCore.dll and how to use it, as well as many suggestions for applications – some purely for explanation purposes. I’m not sure this is the latest version of the reference document, but it is the only one I could find.

Here are some notes about that early release:

  1. The company, Psigenics Corporation, no longer exists. All intellectual property is now owned by Core Invention, Inc.
  2. PRD stood for Psycho-Responsive Device. This would now be MindEnabled Device or MED.
  3. PsiTrainer is now MindEnabled Trainer.
  4. The terms precognition, clairvoyance and psychokinesis are now denominated predict, reveal and affect.
  5. The PRDCore extensively used artificial neural networks, ANNs, for data processing.
  6. Note, the PRDCore includes license code that will have to be disabled to make it open source.

These terminology changes were made with the intention of making the technology more acceptable to “scientific” readers and people who despise the possibility of mind or mental abilities of any sort.

Below is a work-in-progress draft of the README I’m preparing as I try and get the ME Trainer running properly. I hope to get the projects tidied up a bit before I put them on a private git repo for everyone here.

So far;

  • I’ve got PrdCore and METrainer building and running (program opens but not usable yet) on Windows 10 / 64 bit.
  • PCQNG won’t work as is on x64 architecture - the assembly rdtsc command doesn’t work as is - will need to see if there’s an alternate approach to implementing it.
  • I’ll need a QWQNG.dll 64 bit version for ME Trainer to be able to actually interface with the MED hardware. I have the source code for this but need some time to see if I can get it compiling on Windows. If that doesn’t work well, I could technically replace it with Meter Feeder but that’d take a bit more time to code to the point of swapping out.
  • A benefit of having MeterFeeder would be we could list multiple connected MED devices for the user to be able to choose from.

Trying to get METrainer running (formerly known as Psi Trainer) with Windows 10 64 bit/Visual Studio Community 2019

FLTK

The project seems to be using a FLTK for its GUI. According to its site:
FLTK (pronounced “fulltick”) is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation.

The version implemented in METrainer was 1.3.0 which looks like its from circa 2011 and it’s currently the year 2021. I think with the changes to Windows and C++ over the years it’s broken. So I downloaded https://www.fltk.org/pub/fltk/1.3.7/fltk-1.3.7-source.tar.gz and built some Windows binaries.

It’s a CMake based project but I was able to open it and compile it inside Visual Studio.

  1. Open Visual Studio
  2. File → Open → CMake
  3. Navigate to whereevery the unzipped fltk-1.3.7-source.tar.gz is. I put it in a folder called FLTK in same directory as PsiTrainer 2.3 - BiasAmp.
  4. Once the project’s open it takes a few minutes to load and check its configuration. Then goto Build menu → Build All.

All going well, you should get your FLTK library binaries generated in METrainerPC 2020\FLTK\fltk-1.3.7\out\build\x64-Debug\lib.

TODO: figure how to build release binaries.

PrdCore

PrdCore is a library containing some of the core MMI functionality used by ME Trainer.

  1. Open C:<path to>\MMI Source Code\METrainerPC 2020\PrdCore 3.0\PrdCore.sln
  2. Click on the ↓ beside “Win32” (next to Release) in the top panel. In the Configuration Manager, copy the Win32 build config and make a new x64 version for building 64 bit support.
  3. Right-click PrdCore project (in Solutions Explorer pane) → open Properties at the bottom of menu → Configuration Properties → C/C++ → Additional Include Directories and set path to …\FTDI\FTDI CDM 2.08.24 to C:<path to>\METrainerPC 2020\Libraries\FTDI CDM 2.08.30\
  4. Likewise, set Linker → Additional Library Directories to C:<path to>\METrainerPC 2020\Libraries\FTDI CDM 2.08.30\amd64 (from …\FTDI\FTDI CDM 2.08.24\i386)
  5. Do the above include/linker settings for both Debug and Release configurations.
  6. Build menu → Build Solution
  7. Output is PrdCore.dll in C:<path to>\MMI Source Code\METrainerPC 2020\PrdCore 3.0\x64\Release

FIXME: PCQ(R)NG’s rdtsc assembler command doesn’t work on x86 so I’ve temporarily commented it out so it will compile.

ME Trainer

  1. Open C:<path to>\MMI Source Code\METrainerPC 2020\PsiTrainer 2.3 - BiasAmp\PsiTrainer.sln
  2. It asks to upgrade the project to latest stuff, accepted all default choices.
  3. After the solution opened tried running Release/Win32/Local Windows Debugger but build failed.
  4. Missing FL/Fl_Window.h and Fl_Box.h header files are the first errors I see.
  5. Time to link this project with the FLTK libraries built above.
  6. In Visual Studio → right-click PsiTrainer project (in Solutions Explorer pane) → open Properties at the bottom of menu → Configuration Properties → C/C++ → Additional Include Directories and set path to C:<path to>\METrainerPC 2020\FLTK\fltk-1.3.7. It was set to a relative path for 1.3.0 but Visual Studio automatically set the above absolute path when I selected the folder from the … button.
  7. Likewise, set Linker → Additional Library Directories to C:<path to>\METrainerPC 2020\FLTK\fltk-1.3.7\out\build\x64-Debug\lib.
  8. In the same location, Set OutputFile to ./x64/Debug/PsiTrainer.exe (was probably originally ./Debug/PsiTrainer.exe)
  9. In Linker → Input → change Additional Dependencies flkt* lib files to: fltk_imagesd.lib;fltk_jpegd.lib;fltk_pngd.lib;fltk_zd.lib;fltkd.lib
  10. Click on the ↓ beside “Win32” (next to Debug) in the top panel. In the Configuration Manager, copy the Win32 build config and make a new x64 version for building 64 bit support.
  11. Do the above include/linker settings for both Debug and Release configurations.
  12. Copy PrdCore.dll built above into ./x64/Debug/
  13. Build menu → Build Solution (or click green Play button to run ME Trainer)

I ended up adding the PrdCore Visual Studio project into the PsiTrainer solution and adding it as a dependency to the PsiTrainer project.

Search “soliax” for code changes I also did to get it at least to compile.

I added a zipped folder to Google Drive: PRDCore3.3 & PRDCore.dll.zip. Note: it seems ver3.3 may not be complete. Use only ver3.0.

I couldn’t find a license generator program for the dll. It could have been part of the website at the time. Anyway. The source code should allow either a workaround/delete of the license requirement, or a way to generate one good for everyone.

I think I found the proper way to unrestrict the files (it’s different than turning off the security update). The MMI Source Code.zip link is

PRDCore Reference.html link is

Guidelines and Design Examples for Mind-Enabled Applications link is

I added a new folder to Google Drive, PCQNG.zip:

This is the best I can do to include the latest versions of everything. The PCQNG version for METrainer (formerly Psi Trainer) is optimized to be most responsive for MMI use. The basic engine is the same, but subsequent handling and processing is different. I included the license generator for do-it-yourself MMI development using the standard PCQNG software-enabled TRNG.

This program is open source for any MMI development and personal MMI use. Commercial use of the copyrighted and patented tech is available by licensing through Core Invention, Inc.

This gave me an idea regarding licencing. We could adopt a dual-licence system which I’ve seen other projects - GPL + commercial, the commercial one stipulating the requirement for licensing through your company.

Or something like that, just an idea.

Thanks for your thoughts and suggestion.

It’s probably enough to state in a license, “The software (and/or hardware) is licensed for non-commercial development and private use for Mind-Matter Interaction (MMI) applications. For a commercial license, please email contact@CoreInvention.com.”

My top priority remains making MMI widely known and enable development of some of the amazing applications it can make possible. I want to make and keep it as simple as possible to accomplish that.

Ok, let’s roll with that.

I added METrainerPC.zip to Google Drive.

Download, unzip and run ME Trainer from the folder.
There are two Visual C redistribution files (vcredist_x64 and vcredist_x86, both executables) that have to be installed to allow everything to run, including on Windows 10. I think these may have to be run/installed manually, but I don’t remember for sure. These could be related to your issue with Windows 10.

Nah it’s not those two vc install files that I’m missing. Out of the box, the ME Trainer runs (as is from the last zip file you attached above - METrainerPC.zip) as the attached screenshot shows but it doesn’t pick up any of the MEDs. This is the same Windows machine as where I’m running the medfarm. If I have more than one MED plugged in, the program crashes. This is the same result as I got from running the ME Trainer right from the source code you’ve provided. With a bit of time and love this could be rectified.

I just ran this on my Win10 PC. The hardware must be attached before running the program. Disconnecting the active hardware will close the program.

The PRDCore is not designed to use more than one generator at a time. If more than one external hardware generator is attached, the Trainer (the PRDCore) will always pick one based on serial number, but there is no issue with having two attached, or connecting or disconnecting a second one.

It’s a bit mysterious why you get different results, but I suspect there must be something different about the environment. Please be sure the hardware is connected and working properly by running the RNGMeter. You can run more than one instance of the Meter, so attaching multiple generators is no problem.

We need MeTrainer version that works with MEDFarm server

Yes, of course. That would make MMI tech much more available to the general public. I have experience with both a dedicated version (METrainerPC) and a much more extensive online version.

It’s more challenging to make an online version. The big difference is I think we want a system that can accommodate all sorts of user development, not just a METrainer. The system I developed did most of the processing at the server-side so the user side could be very simple. Also, I expected to have control of the user side applications.

To allow flexibility in user applications, I suggest at least two types of data be made available:

  1. Preprocessed data consisting of low data-rate information such as z-scores that can be more easily sent and used essentially real time with little processing in the application, and
  2. Raw MMI data (blocks of words), that can be processed any way the user wants. The compromise for more flexibility is it’s harder to get low-latency data transfers and the computational overhead at the user device can be substantial.

As I intimated in other threads, some steps must be taken to prevent multiple users from using the same MMI generator during overlapping or near overlapping mental efforts. Otherwise there can/will be interference between competing intentions on the results. To achieve real-time systems and avoid unnecessary downtime due to overload, multiple MMI data server sites should be established at widely spread out locations (a fantasy suggestion for the MMI future).

Dedicated or “PC” users have none of these issues. However, the limitation of needing local hardware seems to be a deciding factor for choosing online approaches.

That are my scripts.Sorry for delay.

Nice work getting a Python implementation done!

Can you give me access to mmi repo?

I haven’t finished sorting all the ME Trainer and related files so I haven’t yet created a repo sorry.