What's new

JNes INI File - How to configure the "Input1="


New member

I need a help with JNes 1.1 Emulator.

im developing a interface with your program for a personal use and i had some doubts.
Im the ini file, the tag "Input1=". How you convert a keys (ex: CB00, CD00) to these codes? (CB00CD00C800D0001E001F0020002100120013000100000000000000000000000000000000000000D4)

I realy apreciate your help to understand this.

[CB00CD00C800D0001E001F002000210012001300] [01] [00000000000000000000000000000000000000D4]

1= Keys
2=Connection (01 = Joypad)
3= ????????????????????????????????? This is my question.


New member
Hey, copy and past this into notepad and things will line up properly and it will be more readable.

I cant remember all the details of this but ill try to explain what i remember. I deciphered the hex in the ini file a long time ago for whatever controller i was using at the time and only for input1, im not sure if input 2 is different.

I did a trial and error type method to figure it out, After configuring the controller to what i would call a default, I pulled the line of code for input1 like this and put it in a new notepad window so i could see it:


I then would go in jnes settings and swap just two buttons at a time like left and right, save the config, and go look at what changed; like this

left and right swapped only

If you notice just the first two hex codes changed so i noted and labeled those. After I did this with all of the buttons I realized a good chunk of the remaining code seemed it never changed as you can see in the first two lines below, all the code after '0310-' you should not edit, (0100000000D4DB0CEAF7E611800344455354000020).

So your left with just first 10 hex codes for the buttons, you can see this in the first line where i have them separated with abbreviations above each, like (lf, rt, up, dw), im sure you understand those.

Then I made this a little prettier and put them in columns with labels so i can read it easier as you can see that at the bottom.

The 'dinput' column lists what the buttons are on the controller. I thin i was using my gigaware controller which is like a PS2 controller with button one where 'square' would be.

I have the 'hex' listed with the name it corresponds to in the jnes input settings (i believe)

And the 'order' column is the order in the first 10 hex codes that all of the controller buttons corresponds to. If you notice there are unlabeled codes there also like at hex code 0410 which is dinput # 5, those are all the other buttons on the controller, (relating it to a PS2 controller) I believe those are L1=5, R1=6, L2=7, R2=8, L3=11, R3=12, but i cant remember for sure.

I was going to make a program that i could create and load controller configs with, but i decided not, to refresh on my programming skills and i dont know a lot anyway, so i just made a bunch of different configs and saved them in a new folder in the jnes dir, ofc i have a backup defult .ini, and i swap that .ini with the config for the game i am going to play.

Thats about it, sry its a long post and that is all the info i can remember. Let me know if you have another question

lf rt up dw sel str B A Bt At
orig nes
left and right swaped only
up dwn swapped only
select start swapped
B and A swapped
Bt and At swapped (Turbo buttons)

dinput hex name order

Left 0611 Left: Pov0 Left 1
Right 0711 Right: Pov0 Right 2
Up 0811 Up: Pov0 Up 3
Down 0911 Down: Pov0 Down 4
1 0010 Turbo B: Button 0 9
2 0110 Button B: Button 1 7
3 0210 Button A: Button 3 8
4 0310 Turbo A: Button 3 10
5 0410
6 0510
7 0610
8 0710
9 0810 Select: Button 8 5
10 0910 Start: Button 9 6
11 0A10
12 0B10

- - - Updated - - -

Well... Its not going to copy and paste very well for you i dont think, sry, but im sure you can figure it all out especially with my explanations.

btw do you program?