Active player (283)
Joined: 3/4/2006
Posts: 341
I use Geiger's debugging tools anyway, so the ability to use a debugger without needing to open another emulator would be great. However, I've noticed some occasional repeatable bugs with Geiger's debugging tools which would affect synch, and thus adding them as-is to a recording emulator would cause problems.
JXQ
Experienced player (750)
Joined: 5/6/2005
Posts: 3132
One thing I noticed with beta-8, which is extremely minor, is that the messages for loading a state, saving a state, read-only toggle, etc. do not display when the emulator is paused (until the frame is advanced), where it used to display these messages immediately in previous versions.
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
Snes9x improvement11? beta9: - Now uses .cfg file instead of Windows registry. - Fixed joystick config in input dialog. Added options (imported from v1.51): - Joypads:Background, Handler:Joystick, Handler:Background - SpeedHacks (also, added a new sync-bit "MOVIE_SYNC_NOCPUSHUTDOWN" to movie) Also, you can compile the source code on linux. Note that I just removed compile errors. I guess it doesn't contain anything new from v1.43. I think I won't improve linux version. I strongly recommend using Windows binaries (with Wine, if you want). Memory poke function, debugging tools, etc... Thank you for showing your idea, all they sound nice. But I think I will not implement a lot. I'd like to record new movie rather than to hack old emulator. *lazy* I *MAY* implement a simple macro input function.
JXQ wrote:
One thing I noticed with beta-8, which is extremely minor, is that the messages for loading a state, saving a state, read-only toggle, etc. do not display when the emulator is paused (until the frame is advanced), where it used to display these messages immediately in previous versions.
It happens on v1.51 too, if "Text In Image" option is on. Hopefully I'll fix this.
I am usually available on Discord server or Twitter.
ventuz
He/Him
Player (123)
Joined: 10/4/2004
Posts: 940
gocha wrote:
- Fixed joystick config in input dialog.
Oh my god, it really is fixed. Thank you, now I can delete 3 other snes9x versions. One more thing, it's kind of still acting like that when I click one of input using mouse while joystick plugged in, I wonder if you could fix that too? If it's too much work, no biggie because after second click doesn't do that again. Oh yeah, 'simple macro' can you elaborate it? Could it be same button input for specific length to make repetitive task easier? I'm itching to know! =0
HHS
Active player (282)
Joined: 10/8/2006
Posts: 356
The memory poke in FCEU 0.98.16 is a bit awkward to use. FCEUXD has a much better system, where you can click on a location in the memory viewer and type directly. If someone decides to implement this in SNES9X I'd prefer a system like FCEUXD has.
Player (209)
Joined: 2/18/2005
Posts: 1451
Cool! Thank you for adding the "save settings in .cfg file" feature that quickly, gocha. It makes handling Snes9x so much easier now. :-)
See my perfect 100% movie-walkthroughs of the best RPG games on http://www.freewebs.com/saturnsmovies/index.htm Current TAS project (with new videos): Super Metroid Redesign, any% speedrun
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
Snes9x improvement11? beta11 Added a simple macro input feature instantly! This may help your TASing, though it's not very smart. It's difficult for me to describe the syntax of the macro in English. I'll show some examples of input instead. I hope someone will explain them well. - You can use 012RLXA><v^SsYB for input, case-sensitive! - White-spaces, unknown characters will be ignored - ABXY => A,B,X,Y,A,B,X,Y... - AB | XY => A,B,X,Y,X,Y... - ABXY! => A,B,X,Y (End) - A..B! => A,Nothing,Nothing,B - (AB)XY! => AB,X,Y - [AB]3 XY! => A,B,A,B,A,B,X,Y (nesting is OK) - [[(AB)]2 X]2 Y! => AB,AB,X,AB,AB,X,Y - S^.^v.v<><>BAS! - [(Y.)]6 [(Y>)]5 - (>A)>(>A)(<A)(<A) Enjoy.
I am usually available on Discord server or Twitter.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Nice!
JXQ
Experienced player (750)
Joined: 5/6/2005
Posts: 3132
I will try out this macro feature. I'm excited :) I noticed yesterday when playing some 2-player games that setting up input for controllers 2-5, and turbo input for all controllers, still has the "screwed up listening for input" bug that you fixed for controller 1. Also it would be neat to add up, down, left, and right, to those turbo dialog boxes (though this is not urgent, since you can assign them turbo in another way). Thanks again for all your dev work, Gocha.
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Joined: 10/24/2005
Posts: 1080
Location: San Jose
Awesome gocha! Will the input macro be a precursor to something like basicbot?
<agill> banana banana banana terracotta pie! <Shinryuu> ho-la terracotta barba-ra anal-o~
JXQ
Experienced player (750)
Joined: 5/6/2005
Posts: 3132
I will attempt to explain the macro feature's syntax. First, the macro must be defined, which is done under Input - Edit Input Macro. Each button corresponds to its plaintext representation during "show controller input", which includes: <, >, v, ^ for directions. (Less than, greater than, lowercase V, carat) A, B, X, Y, L, R for standard buttons. S, s for start and select. Start is the capital S. Other syntax that is used for macro building: () (parenthesis) are used to group more than one button on the same frame. [] (brackets) are used to group part of the macro together and repeat it several times within each total macro loop. . (period) indicates a 'blank' frame where no buttons are pressed. | (pipe) indicates a different starting point for the macro to loop. Without this character, the beginning is the default looping point. ! (exclamation point) indicates to end the macro instead of looping it. Here are some example strings: S^.^v.v<><>BAS! - The konami code (pressing "up, up, down, down, left, right, left, right, B, A, start"), and it does not repeat. Note that there is no character for indicating "go to the next frame" - it is assumed. Parenthesis must be used to group more than one button onto the same frame. [Y]6 [(Y>)]5 - Presses Y for six frames, then presses Y and "right" for five frames, and repeats indefinitely. The space is ignored (but can be used for readability). This is part of the key sequence used for 6/5 in Super Mario World. [(>A)]11(<A)(<)(<A) - Presses "right" and A for 11 frames, then switches to "left" and A for a frame, then releases A for a frame, then represses A for a frame, and repeats. This is a 14-frame right-side walljump macro for Super Metroid. Second, the macro must have a hotkey defined, which is done under Input - Customize Hotkeys - Page 6 (new page). Each macro number corresponds to which player's macro you've filled out on the Edit Input Macro dialog box from earlier. When a macro is "activated" with its hotkey during recording, the controller input given for it begins to cycle automatically as frames are advanced until the hotkey is used again to disable the macro. There is a radio button on the Edit Input Macro dialog box, which is for selecting the "user input mode":
  • Setting this to None will not allow any user input during a macro.
  • Setting this to Overwrite will add any button presses that the user gives on any given frame. (AND logic)
  • Setting this to Toggle will add any button presses that the user gives on any given frame, unless the button is already pressed by the macro on that frame - in that case, the button is "toggled" off. (XOR logic)
This feature is excellent when part of a process can be automated and part of it cannot. An example of this is 6/5 during Super Mario World, where jumping can be added in manually as needed. --- Ideas for improvement to this macro feature:
  • The ability to define more than one active macro, and have separate hotkeys for them (rather than separate hotkeys for each player - instead, these could be set in individual macros, if desired).
  • The ability to save and load macro sets, and the ability to name macros.
  • The ability to "remember" the point a macro should be when a state is loaded in mid-macro (perhaps this is as easy as comparing (current frame - loading frame) to the (macro length)?)
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Joined: 10/20/2006
Posts: 1248
{[.]6 A, B., >}37 < Something like this would maybe be nice. Press A every 7th frame, B every second frame starting with the first, while walking right. Do that for 37 frames, press back every 38th frame and repeat from the beginning.
Skilled player (1886)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
The macro feature works great! I have one small question though: Is this SNES9X version compatible with SNES memory watcher, and if so, what should I write under "target:" to make the memory watcher recognize this emulator?
Banned User, Former player
Joined: 12/23/2004
Posts: 1850
It seems like recreating ZSNES's key combonation feature (with graphical symbols instead of text and different commands, like "tap A" or "hold/release A" and "wait x frames" would be easier.
Perma-banned
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Randil wrote:
Is this SNES9X version compatible with SNES memory watcher, and if so, what should I write under "target:" to make the memory watcher recognize this emulator?
Go to Help - Copy Settings for SNES9XWATCH
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
Snes9x improvement11? beta12 * Fix for "Down Left". * Improvements for input macro. - Fix for fullscreen and maximized window. Added commands: r :
A r16 B
=> A [.]16 B
w :
A w4 B w4 X
=> A [A]4 B [b]4 X
+/- :
+A <>(A<) -A >
=> (A<)(A>)(<)(>)
+(AB) XY
=> (ABX)(ABY)
Examples: - +Y r6 [>]5 - +(A>) r11(<>)(A<>)(<>) I think I will not update lazymacro so much. As the name tells, I don't aim for a high-performance function from the start :P I've forgotten to mension: "Clear All" disables all macros. ---
JXQ wrote:
I noticed yesterday when playing some 2-player games that setting up input for controllers 2-5, and turbo input for all controllers, still has the "screwed up listening for input" bug that you fixed for controller 1.
I couldn't reproduce the glitch. However, I fixed a minor error. By the way, thank you for your nice guide of lazymacro.
I am usually available on Discord server or Twitter.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
I think the r and w should be swapped around; since with w for the 1st one, it could be remember as 'wait'. And with r as the second one, it could be remembered as 'repeat'
Joined: 8/27/2006
Posts: 883
Xkeeper wrote:
It seems like recreating ZSNES's key combonation feature (with graphical symbols instead of text and different commands, like "tap A" or "hold/release A" and "wait x frames" would be easier.
We just need to develop a Macro editor :P It would be easy, and yet powerful :P Edit : it would be nice to keep a standard syntax, it could be used by other emulator.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Just a helpful tip; if you set the radio button to "toggle", you can then hold left+right while your macro is active to swap the directions. eg. (>A)w10 (<A) (<) (<A) This is the macro for scaling up a left facing wall in super metroid without the hi-jump boots (as mentioned by JXQ earlier). You can use this same macro for scaling up a right facing wall by holding left+right when in "toggle" mode
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
Snes9x improvement11? beta14 Fixes and updates for renderer. - Text In Image option works properly. - Added new filters from 1.51 (also removed "Normal" method). - Fix for Maintain Aspect Ratio and Local Vid Mem. Note: FixFrequency option was TRUE in beta 13 or some other versions temporarily (my mistake)... FixFrequency should be FALSE. Note: It seems that beta14 have a problem with save-state. Be careful! Well, v1.43 has a common problem with snapshot screenshot, that's all :P
I am usually available on Discord server or Twitter.
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
Snes9x improvement11? beta15 - Using NEW_COLOUR_BLENDING now instead of OLD_COLOUR_BLENDING. - Modified snapshot for screenshot (removed GFX and added SHO). OLD: NEW: Removed GFX block (FrameDisplayString and LastScreen) and added SHO block (screenshot) from/to snapshot. You can load a old snapshot with this version. Also you can load a new snapshot with older version.
I am usually available on Discord server or Twitter.
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
Snes9x improvement11? beta17/RC1: - Changed to not reset layer visibility when load a state. - Fix for sound frequency. I think this will be the final version if there are no fatal errors. Edit: beta18/RC2 has come.
I am usually available on Discord server or Twitter.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
What are you gonna be working on next then, VBA? Mupen?
Active player (432)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
P.JBoy wrote:
What are you gonna be working on next then, VBA? Mupen?
If I may add a request to your list, gocha, would you consider working on Mame or Finalburn alpha?
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
MAME is out of question since it gets emulation updates every month or two.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.