where can i get this program?


The XSPR and Pasky projects are really nice. Along with the ST tourneys being organized both in NorCal and SoCal, it’s great to see the ST community really stepping up!


Thank you! I set up a google project for it so you can get the installer here (80MB, Windows):
Downloads - trust-xspr - T.raining R.egime U.nder S.uper T.urbo by XSPR - Google Project Hosting
Clicking “Observe” will load a solution macro to watch of what you’re supposed to do, however it’s only scripted for Custom1’s lesson so far. No rom is included with the installer. You can put an updated (clrMamePro’d) ssf2t rom inside Program Files\TRUST\roms\ folder and then you can Execute and Observe lessons. The first time you do so, press TAB key to configure your inputs for P1 and set P1 Start and P1 Coin to be your start button and Back/Select button. Toggle hitboxes with Start. Toggle input display with Lua hotkey 5. Exit back to TRUST with Coin.


Very cool, this will help a lot of people who don’t understand/have trouble with renda cancelling supers (at least when someone makes a tutorial for it)!


my security program says that the lua51.$A is a trojan/virus. something you might look into. a great start for a program. give us updates as you add characters (especially sim).


I actually had a friend test it on his machine, and his Avira Antivir reported something similar at one point. You shouldn’t have any problems with it. The lua51.dll that is included in the TRUST install file was obtained from the original graphics library.

lua51.dll and the other .dlls are required for displaying the images that are overlayed on the mame screen during certain frames of certain scripts (e.g. input images appearing for Beg. > Special Moves > Fireball that appear). Other programs that incorporate Lua scripts need lua.dll (not “lua51.dll”) but mame-rr does not so I do not include lua.dll, only lua51.dll to do image overlay. It may be the case that other malicious programs may try to replace that dll but you shouldn’t have any problems with the one included in the TRUST install file. The only problem I can imagine is if the code in mame-rr doesn’t like lua51.dll as it exports the symbols of the lua interpreter.


Looks interesting… super advanced training mode for Super turbo? gotta check this out… and start learning more characters other than chun…


Looks pretty cool. Now I need to learn lua scripting :rock:

I’m having a bit of difficulty in that the “Observe” and “Execute” buttons don’t seem to differ at all. Does changing the button configuration mess up the player 1 inputs for the observations?


Yes, and sorry about that- At some point, the basic idea is that every lesson should function as the Custom1 lesson does. The current version, however, Observe behaves just like you said, as if you press Execute. There is a separate script for it, however I have not actually scripted P1’s moves. I’m hoping the community can help me out with this to flesh it out more (and/or share/add your own scripts and lessons). I should have made this clearer.

(Don’t worry about button config, that doesn’t affect it at all- once it’s configured, it will stay that way until changed).

Also quite a few of the default lesson scripts as they are could be better. Again I’m hoping others will get their hands dirty and start tweakin.


Is there a place you would recommend for learning the base language? Also, are there any other tutorials that might help us work on the project?


Looks really nice!

AVG also reports lua51.dll as a trojan.

By the way it would be nice with the installation as a simple archive. I prefer not clogging up the windows register more than nessesary :sweat:


Great intro to get familiar with the lingo: MacroLua script tutorial here: [media=youtube]FiyUIjC8sm4[/media]
More details here (keep an eye specific to mame-rr) MacroLuaDocumentation - macrolua - This document is also available in the download package. - input playback and recording utility - Google Project Hosting

A great way to get started is to make a lesson for a character you play (can be as simple as running a loop of a particular setup or situation you want to practice for yourself, ie scratch your own itch first) with a savestate, and implement it by replacing one of the Custom lessons e.g. Custom2. You can open the file in Notepad and edit its .mis macro script. If you replace the state to load (with the &110 or whatever number), keep in mind that the name of the actual .sta savestate file must be an integer NUMBER ONLY like the others you see there, i.e. not something like “practiceFromHere4.sta” but “499.sta” is ok (and try to keep in line with the numbering scheme of the others while you’re at it).

The center pane of the TRUST app is HTML, so right click in the pane to “View Source”, and the path for the html file you’re looking at is displayed in the bottom (left) edge of the TRUST window, so you can open that file in Notepad or some editor and change the text.

As I mentioned above, all I can say at this point is that it’s a false positive for lua51.dll that is included in the installer.

Yeah there’s a lot of .lua files. You can run mame.exe directly by double-clicking it, and then Ctrl-L to load the Lua console, Browse button and load trust.lua, then Run button. You will see yellow menus (start and joystick to navigate). This was the original design, however it required you to “renavigate” after you already selected the lesson in TRUST’s front end before clicking Execute/Observe.


For whatever reason, this thread was not coming in on my subscriptions on the old forums. Now that I actually see your response to my question I will definitely see what I can get started on!

If I come up with anything that is worth anything I will definitely let you know!

Edit: If you want, you could let us know if you are making any additions so that we don’t repeat the same work.


I’m not working on any additions in particular at the moment. (I did my share! Now it’s your turn people.) One place I’d start is making Observe solution scripts for what is there before moving on to other characters, and even fix a lot of the lessons and basic scripts themselves. But if no one else gets involved it won’t be as fun.


Great Job XSPR :smiley:
Look foward to returning to internet usage, 1 year without has been taxing…


Here’s a great little script put together by fatboy. I’m posting the Observe /SuccessReplay.mis file; take out the P1 inputs line for the Execute file:

You are P1 sim. Duck P2 dictator’s headstomp

and punish with standing MK.

<#Player 1
W100._D.W10.^D.L5.W10 # DELETE THIS LINE FOR EXECUTE, leave it in for Observe
/#Player 2

Copy and paste that into one of the custom scripts, replacing what is there. For example, Custom 2:

  1. Select Custom 2 lesson
  2. Tweak menu, Edit Selected Lesson’s Script
  3. Select all and Paste in the above script, then Save it. Delete the indicated 3rd line.
  4. While Notepad is still open, Open (view all files), open custom2SuccessReplay.mis
  5. paste in the script again, this time leaving in 3rd line.

So custom2SuccessReplay.mis is for the Observe button, and also custom2.mis for the Execute button (and for custom2.mis, delete the indicated 3rd line beginning W100).

  1. make the save state file:
    The save state (50.sta as ref’d in the macro script) should have sim as P1 on far left of screen, and dictator on far right, at full screen distance and sim is closer to center of the stage so he when sim ducks, he will fly over to the other side and sim can hit him on the other side with MK. (shift F7 to save a state, then rename the 7.sta file in the \sta\ssf2t\ folder to “50.sta”)

Again, the html file (found in \TRUSTlessons\custom2.html ) can be edited so you can explain the setups here.


i’d like to get started with this, but i don’t know what rom i need to make it work. i won’t ask anything specific on here, but if someone can pm or email me to point me in the right direction i’d appreciate it. is my email


someone posted it in pasky’s HUD thread. look there.


What exactly is the numbering scheme?

For instance, there are currently 6 moves listed under Special Moves.
Currently these are numbered 150 through 175 in multiples of 5.
However the following section begins with 210.
This leaves room for 6 more special moves.
Even ignoring moves with the identical inputs there are way more than 12 special moves in the game.
Should I stop using multiples of 5? Do you mind if I just rework the number system?

Currently my plan is to flesh out the special moves section with a complete move set section for each character. This way, if anyone (like me) has trouble with a specific motion, they can select their character and the move they are planning on practicing with a decent savestate already in place.

Further questions:
Is there an easy way to edit the lesson tree on the left?
Are the individual .lua files for each lesson identical? My linux box isn’t online so I can’t use diff :frowning:


You don’t need to use multiples of 5 at all, it’s just a general pacing of the lessons so I can squeeze in others later. Customized macro scripts should go in the range from 20 or so to about 98. It’s not too strict, as long as you don’t overwrite something else with the same number that you want to keep and haven’t backed up yet. 100 to 999 are kind of reserved for the lessons there (and that may be there as more lessons get added).

Sounds good, if you do those I can update it to include those under the Special Moves branch in the next release. I focused on Ryu but there could be something for each character at some point. One way to approach special moves can restrict it to a particular character, however since the required motions overlap with other character’s moves, it might offer a change of pace if you mix in other characters a bit. Since it’s a repeating script, the idea is not exactly to have the player anticipate what the opponent will do of course, so I recommend approaching it like you’re creating a kind of baseline rally warm-up in tennis before a game, where the point is not to score a point but to keep the rally going. But if you want to do it a particular way for some reason, go for it, I look forward to what you come up with. I think the most important thing is coming up with something that helps to keep the player engaged and focused. It doesn’t have to be too complicated either, in fact it’s important to keep it basic and just provide something like a simple goal to strive for. E.g. a common theme or task can be, “Get out X number of special moves before the script loops”. A “mini-game” as Maj described would be great and keeping it simple goes a long way for that. Did you see that Guilty Gear Flash app thing that tested your reaction time? It was great in that it helped you get accustomed to the moves themselves. It gave you a specific number of a certain precision, and comparing your number with others was like a mini-game. Measuring performance can help increase performance tremendously if someone’s serious about getting better.

You can’t edit the lesson tree on the left. I may update those from time to time when new releases come out, but intend to do so infrequently. If you do all the special moves as described, I can update it cause that could be very helpful, but if people are just sharing a few scripts, they can fit in the custom slots.

Yes, most of the .lua files are identical. If you want to take a look into the Lua code, just know that it can get a bit hairy and the numbering scheme helps to keep things consistent and more organized. Open one in a text editor or IDE and scroll all the way to the bottom. If your editor displays line numbers, take a look from line 1310 to line 1321. That loads the specific .mis macro script. Now, one good reason to edit the Lua script would be to display images. One feature I added was the ability to draw images on any given span of frames over the course of your .mis macro file playing. In the Lua code I call these “Frameflow objects”. For example, the fireball lesson’s input images display such images. You can also display text and lines. Every script displays the text “PRESS COIN TO RETURN TO MENUS” from frame 20 to 280 (or the last frame if less). I did this in the Lua code itself on line 1317 by creating a frmText object, then adding it to the frmTextTable on 1319. For images, put them as .png’s in the \TRUSTlessons\images\ folder. You’ll have to create a Frameflow object for each image you want to display, and add that object to the frmIllusTable table.