TASVideos discussion board
This is the discussion board of the tool-assisted video game movie site TASVideos.
Welcome. Please do not fill the forums with movie requests. Enjoy your stay.
If you have a question, please read the Site FAQ first to see if your question has already been answered.
We also have an IRC channel #tasvideos at irc.freenode.net...
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Log inTerms of use (Forum rules)

Tools for easier hex editing?
Goto page 1 2 3 Next
 
Post new topic   Reply to topic    TASVideos Forum Index -> Gens
View previous topic :: View next topic  
Author Message
Highness
Player (27)

Joined: 2004-08-24 12:22:43
Posts: 2559
Location: Sweden

PostPosted: 2005-07-13 16:02:28    Post subject: Tools for easier hex editing? Reply with quote

I was wondering if there is a program already or if someone easily could make a program that allows easier hexediting?

I was thinking of a very user friendly program that perhaps converts a certein hex value into an arrow to show wether I pressed left or right or a better value saying I pressed A, B or C etc and at what frame etc I did so.

Some sort of GMV editor for us that doesn't understand hex editing. I mean.. FF DS FF FF FE DE doesn't say me much at all. And I'm kind of often in need of hex editing. So I always have to ask someon about it as I still haven't found a good giude that explains what all those values equals on a genesis controller.

Please help me out here.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Truncated
Judge / Skilled player (1080)

Joined: 2004-04-17 19:01:46
Posts: 3058
Location: Sweden

PostPosted: 2005-07-13 16:40:36    Post subject: Reply with quote

I don't remember which bits represent which buttons, but it should be easy to check.

In any case it's something that should go on the GMV.html page when it's done.

One thing I seem to remember is that the bit is 1 when not pressed, and 0 when pressed.
Back to top
View user's profile Send private message MSN Messenger
Highness
Player (27)

Joined: 2004-08-24 12:22:43
Posts: 2559
Location: Sweden

PostPosted: 2005-07-17 16:50:36    Post subject: Reply with quote

Ok. That answer didn't help me much at all. But I hope I can dra others attention this way to help us all out by creating a GMV tool for easy editing.

These tools would be great to have in the program:

* Frame number
* Pressed button as well as for how long it's pressed and then release.

This might be hardcore but anyways:

* Possibility to load the rom and GMV, and perhaps the use of savestates to easy correct problems?
_________________
http://tasvideos.org/Highness.html
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Jyzero
Active member

Joined: 2004-04-26 20:20:36
Posts: 213
Location: Montréal, Québec

PostPosted: 2005-07-17 22:17:37    Post subject: Reply with quote

If someone try to create such tool, it could work not only for GMV but for SMV, FCM, name it.

They all have similar structure : 1 bit per button
Back to top
View user's profile Send private message
Laban
Newbie

Joined: 2005-02-14 11:19:24
Posts: 10
Location: Sweden

PostPosted: 2005-07-20 12:06:35    Post subject: Reply with quote

If someone could post more details on how all this works I would be able to cook something up with PHP. I PM:ed Genisto and asked for his easy_bytes_modifier.php to see if there's something to improve or change.
_________________
!ERAU QSSI DLRO WEHT
Back to top
View user's profile Send private message
Truncated
Judge / Skilled player (1080)

Joined: 2004-04-17 19:01:46
Posts: 3058
Location: Sweden

PostPosted: 2005-07-21 18:23:34    Post subject: Reply with quote

Well, you could start with http://tasvideos.org/GMV.html if you haven't seen it already. Which bits = which buttons is not listed, but it should be very easy to check. Just record a test file pressing every button for a couple of frames in an order that you write down. Note that 1 = not pressed and 0 = pressed.
Back to top
View user's profile Send private message MSN Messenger
Jyzero
Active member

Joined: 2004-04-26 20:20:36
Posts: 213
Location: Montréal, Québec

PostPosted: 2005-07-21 21:38:36    Post subject: Reply with quote

3 bytes per frame

byte 1: lowest bit to highest bit

Up
Down
Left
Right
A
B
C
Start

byte 2 : same order as byte 1 but for controller 2

byte 3 :

X
Y
Z
Mode
for player 1 then
X
Y
Z
Mode
for player 2

(or same order as byte 1for player 3 data if 3 player movie)
Back to top
View user's profile Send private message
Truncated
Judge / Skilled player (1080)

Joined: 2004-04-17 19:01:46
Posts: 3058
Location: Sweden

PostPosted: 2005-07-22 02:16:52    Post subject: Reply with quote

Put it where it was supposed to be (GMV.html).

If you can you tell me how the header changed to incorporate 3-player functionality, I'll add that too.

EDIT: just for clarification, by lowest bit, you mean least significant, right?
Back to top
View user's profile Send private message MSN Messenger
Laban
Newbie

Joined: 2005-02-14 11:19:24
Posts: 10
Location: Sweden

PostPosted: 2005-07-28 22:45:16    Post subject: Reply with quote

Can this help anyone?
http://133an.sytes.net/~laban/gens/gens.php
_________________
!ERAU QSSI DLRO WEHT
Back to top
View user's profile Send private message
Jyzero
Active member

Joined: 2004-04-26 20:20:36
Posts: 213
Location: Montréal, Québec

PostPosted: 2005-07-28 23:33:32    Post subject: Reply with quote

Yes by lowest I mean least significant

byte 0x0F is GMV file format version. The most recent is 'A'

Byte 0x14 is controller config for player 1 : ascii 3 for 3 buttons and 6 for 6 buttons

Byte 0x15 is the same but for player 2

Byte 0x16 has some special flags (Version A and up only):

bit 7 (the most significant) is Frame per second (1 for 50 Hz, 0 for 60Hz)
bit 6 is savestate required (1= savestate required)
bit 5 is 3 player movie (1 = 3 players, 0 = 2 players)
Back to top
View user's profile Send private message
Travis Wells
Newbie

Joined: 2005-07-28 23:37:56
Posts: 13
Location: UNCA, North Carolina, US

PostPosted: 2005-07-28 23:47:29    Post subject: Reply with quote

Hmm. The format isn't that complex, it wouldn't be hard to write a simple .GMV editor (no hex editing required, just clicky buttons)

I'll look into it!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address MSN Messenger
Travis Wells
Newbie

Joined: 2005-07-28 23:37:56
Posts: 13
Location: UNCA, North Carolina, US

PostPosted: 2005-07-29 03:56:19    Post subject: Reply with quote

Told ya it was simple.

Gotta add saving and fix some bugs with loading certain GMV files, and I'll release it.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address MSN Messenger
Highness
Player (27)

Joined: 2004-08-24 12:22:43
Posts: 2559
Location: Sweden

PostPosted: 2005-07-29 12:27:54    Post subject: Reply with quote

Weee!!

I'm so happy this thread spawned something useful!

Thanks to Laban who helped alot in this on request.
Thanks to Jyzero who explained everything in detail.
Thanks to Truncated for helping as well.
And thanks to Travis Wells for making an editor.

This is my 1000th post BTW! :D
_________________
http://tasvideos.org/Highness.html
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
nesrocks
Active player (479)

Joined: 2004-05-01 02:18:05
Posts: 4093
Location: Rio, Brazil

PostPosted: 2005-07-29 13:11:44    Post subject: Reply with quote

incredible. but i've thought of something even nicer, but that would be up to someone who can change the emulator:



see, you can slide the timeline to whatever frame you want, and the game will be emulated based on the last savestate to that frame, and the buttons combinations that are set on the table bellow. you could just drag the mouse and go "painting" buttons presses as you wish. this would be the perfect tool, for me.
notice the savestate indications, it shows which frames have a savestate and which savestate number it is.

(a savestate slot would have to be reserved for saving every 30 frames or so, so that the emulator don't have to calculate a too big range of frames at once)
_________________
aka Nesrocks
http://www.youtube.com/user/UoBtExFODA
http://nesrocks.com
Back to top
View user's profile Send private message Visit poster's website
Nach
Site Manager / Emulator coder

Joined: 2004-03-09 10:14:41
Posts: 4224
Location: In his lab studying psychology to find new ways to torture TASers and forumers

PostPosted: 2005-07-29 13:13:51    Post subject: Reply with quote

I like that idea...

Only flaw is that the save states aren't neccesarily related.
_________________
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Back to top
View user's profile Send private message Visit poster's website
nesrocks
Active player (479)

Joined: 2004-05-01 02:18:05
Posts: 4093
Location: Rio, Brazil

PostPosted: 2005-07-29 13:18:27    Post subject: Reply with quote

Well yea of course, if you re-record a frame, then all the savestates after it are instantly deleted.
_________________
aka Nesrocks
http://www.youtube.com/user/UoBtExFODA
http://nesrocks.com
Back to top
View user's profile Send private message Visit poster's website
Nach
Site Manager / Emulator coder

Joined: 2004-03-09 10:14:41
Posts: 4224
Location: In his lab studying psychology to find new ways to torture TASers and forumers

PostPosted: 2005-07-29 13:19:48    Post subject: Reply with quote

That depends on how rerecording is implemented in the emulator, not all are like that. Snes9x for example treats each rerecord save state independantly.
_________________
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Back to top
View user's profile Send private message Visit poster's website
nesrocks
Active player (479)

Joined: 2004-05-01 02:18:05
Posts: 4093
Location: Rio, Brazil

PostPosted: 2005-07-29 13:23:42    Post subject: Reply with quote

Cant the emu just read which frame number the savestate has and delete it if its bigger than current frame, being unimportant if the movie state belongs to the movie or not?

Anyway, that is the same flaw that all current emulators have, so i dont see the point. The movie would just be out of sync past that point, you mean if someone load a wrong savestate or something?
_________________
aka Nesrocks
http://www.youtube.com/user/UoBtExFODA
http://nesrocks.com
Back to top
View user's profile Send private message Visit poster's website
Phil
Active player (464)

Joined: 2004-03-16 10:40:27
Posts: 2623
Location: America, Québec

PostPosted: 2005-07-29 13:28:52    Post subject: Reply with quote

Well, there may be this editor option and when used, it plays the movie once and makes temp savestates for each 1000 frames or something like that.
Back to top
View user's profile Send private message Visit poster's website
Nach
Site Manager / Emulator coder

Joined: 2004-03-09 10:14:41
Posts: 4224
Location: In his lab studying psychology to find new ways to torture TASers and forumers

PostPosted: 2005-07-29 13:38:32    Post subject: Reply with quote

FODA wrote:
Cant the emu just read which frame number the savestate has and delete it if its bigger than current frame, being unimportant if the movie state belongs to the movie or not?


Yes that's true. But you can have state 2 and state 3 being two branches of state 1. Just because state 2 has a higher frame count than state 3 doesn't meant you want it deleted when editing state 3 branch. Also showing state 2 info while editing state 3 branch or vica versa is illogical.
_________________
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Back to top
View user's profile Send private message Visit poster's website
nesrocks
Active player (479)

Joined: 2004-05-01 02:18:05
Posts: 4093
Location: Rio, Brazil

PostPosted: 2005-07-29 14:18:35    Post subject: Reply with quote

I'm not talking into branches. If its higher, delete it, i'm talking about normal, single branch movie recording.
_________________
aka Nesrocks
http://www.youtube.com/user/UoBtExFODA
http://nesrocks.com
Back to top
View user's profile Send private message Visit poster's website
Nach
Site Manager / Emulator coder

Joined: 2004-03-09 10:14:41
Posts: 4224
Location: In his lab studying psychology to find new ways to torture TASers and forumers

PostPosted: 2005-07-29 14:19:50    Post subject: Reply with quote

Well yes sure, but this still would have to take branches into account, and I know people like Phil make good use of them.
_________________
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Back to top
View user's profile Send private message Visit poster's website
nesrocks
Active player (479)

Joined: 2004-05-01 02:18:05
Posts: 4093
Location: Rio, Brazil

PostPosted: 2005-07-29 15:07:25    Post subject: Reply with quote

I dont doubt the usefullness of branches, but it shouldnt be a reason to not make the tool, imo, if it's too complicated.
_________________
aka Nesrocks
http://www.youtube.com/user/UoBtExFODA
http://nesrocks.com
Back to top
View user's profile Send private message Visit poster's website
OmnipotentEntity
Player (30)

Joined: 2004-09-11 01:44:44
Posts: 2506
Location: Atlanta, GA

PostPosted: 2005-07-29 22:46:13    Post subject: Reply with quote

Or instead you could just make every savestate an entire movie file, instead of using branches. It's simpler if more hackish.
_________________
Build a man a fire, warm him for a day,
Set a man on fire, warm him for the rest of his life.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype
nesrocks
Active player (479)

Joined: 2004-05-01 02:18:05
Posts: 4093
Location: Rio, Brazil

PostPosted: 2005-07-30 01:14:44    Post subject: Reply with quote

That would be unpractical, as loading a savestate would mean having to re-emulate the whole game from frame 0 to current frame..
_________________
aka Nesrocks
http://www.youtube.com/user/UoBtExFODA
http://nesrocks.com
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    TASVideos Forum Index -> Gens All times are GMT
Goto page 1 2 3 Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group