Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - New FCEUXD released
  
User name:
Password:
Reply:
 

UserPost
rg_
Posts: 9/26
I was asked to write a decent readme file. I wouldn't call it decent yet but it's OK for now. If you notice any differences to the actual debugger it's (hopefully only) because the readme file is about the yet unreleased version 1.01.

http://www.the-interweb.com/bdump/fceuxdsp/readme.txt

Edit:

I've added some more stuff.

Improvements over v1.00 (June 30, 2005)

- New: Significantly better conditional breakpoints
- New: Multi-line comments are now allowed in symbolic debugging mode
- New: Added the possibility to reload the *.nl files
- New: Added the possibility to enable / disable symbolic debugging
- New: Increased the number of visible lines in the disassembly window to 34.
- New: Added disassembly bookmarks
- Bugfix: Conditional breakpoints can now be removed again.

Especially the conditional breakpoints became significantly better. Check the readme file for details.
creaothceann
Posts: 25/50
These are operators in C and its derivates.

    ==  equal
!= not equal
> greater than
>= greater than or equal
< less than
<= less than or equal
Ice Ranger
Posts: 158/183
I just use the Cheat menu or change stuff in RAM. I have absolutely no problem getting to any specific area to test something in SMB2 now. Anyway, that doesn't seem to be the point behind FCEUXDSP.

I can't remember exactly what all of these mean. Tell me if I'm right because I don't know where or how I could use Google to search for something like this.
== - Equal
!= - Equal (?)
>= - Greater than or equal
<= - Less than or equal
> - Greater than, but not equal
< - Less than, but not equal

I seem to remember seeing the == and != on another emulater for cheat searches (Nesten I think), but didn't know what it meant on there either.

Also, I didn't get a readme in the file download either, I mainly had to go off of what's on the site.
iamhiro1112
Posts: 471/487
Wow, thats the first emulator I heard of that requires a cheat device rom to use cheats. Anyway, our fceuxd emulator didn't have the read me documentation. At the time it wasn't being hosted at Zophars domain and there was only one site that had the emulator, and it didn't have the readme documentation.

Try to not take requests to improve things personally. I think that an ability to edit your game genie code at will would be good for those who specialize in making of game genie codes.

Edit: BTW, I got the codes to work with the decoder thing.
rg_
Posts: 6/26
Originally posted by bbitmaster
I strongly disagree with that statement. If you know what you're doing, FCEUXD really makes almost anything possible with ease. Dahrkdaiz is living proof of that. To say "barely anything is possible" is completely false.
Since I'm "this guy" I want to reply to what you said. My comment that barely anything is possible wasn't about what you can achieve using FCEUXD, it's more about how easy it's to do certain things. I mean I've done a lot using "just" FCEUXD too so I know you can get results using it. I see it like the difference between a Turing machine and an AMD64. Both are equally powerful in theory, it's just that doing on a Turing machine what you can do on an AMD64 is like 54790 times harder and tedious.

Maybe I'm misinterpreting this, but most of these are already there or useless. Lets go through some of them.

Mouse-over tool-tips for renamed addresses to see the original value <- It's already easy to see this in the debugger, just hold your mouse in the left pane beside the disassembly, and it shows you the rom file offset.
I actually meant something else with that. When using symbolic debugging instructions like "JSR $8000" are replaced with "JSR Foo". I want an easy way to find out the original instruction because only using symbols doesn't work well, sometimes you just need the original address too.

watches <- watches? You've got a hex editor to do all the watching you want
Insufficient argument. All decent debuggers allow you to see a memory dump but many nevertheless offer watches so having watches must have some advantage. I don't know what the objective reaons is but for me it's the easy access to a small number of values, without doing any scrolling or window-switching or just about anything but moving my eyes for a split-second.

an option to auto-execute a command when a breakpoint is triggered <- what for? I can't think of any use for this. maybe he can? I don't know.
This I can explain. While looking at Faxanadu I often need to set up screens in a certain way. For example I often want to change the sprites in a room when entering it. I set a write-breakpoint at $2D3, then I need to skip the next time this breakpoint is triggered because all sprites are reset first (value is overwritten with $FF) and when the breakpoint is hit the 2nd time I can change the value there manually. Skipping the 1st time the breakpoint was hit has been solved using conditional breakpoints. It would be nice if the entire process could be automated. Now especially for the simpler stuff there might be other ways (GameGenie?) but adding the possibility of automatically executed commands requires basically zero extra-work when the parser for better conditional breakpoints already exists as no extra parser for the commands is necessary.
bbitmaster
Posts: 85/103
Originally posted by iamhiro1112
Well, this is an example of what I am talking about. This is a game genie code for Super Mario bros 2 made by Ugetab, copyright of gshi, or something.

Shells Bounce Off of Obstacles:
OXXOKAEU
VOXOSAOO

These codes will not work in fceuxd because its codes do not have a space for the compare value. But they will work in the normal Fce.


oh dear..
Please tell your friend he needs to read the readme next time. I don't usually even cover things that are there, but you just don't seem to get it.

from the readme:
How do I add Game Genie codes?
In the Game Genie Code decrypter/encrypter window, type the code into the
Game Genie Code box and click "Add to Cheat List", which will add it to
the Cheat Console cheat list. You can then enable/disable them by
double-clicking the code in the box (a * means the code is active).


You can't edit the compare value after the cheat is already entered in the cheat window, but you can easily edit it from the game genie encoder/decoder while your making it. So there. FCEUXD has excellent "true" game genie support. Read the readme next time.
dan
Posts: 623/782
Complete and utter crap. I do believe your friend is talking out of his arse.

1) Put the game genie ROM in the FCEUXD directory. (I think the ROM is available at Zophar's Domain)
2) Enable Game Genie under the config menu.
3) Start the game. The game genie screen appears.
4) Enter your codes.

FCEU (and pretty much all its derivatives) uses the actual Game Genie ROM to input the codes. You can't possibly get a more accurate (in that it works like the original console) way of inputting Game Genie codes.

(Just to prove my point, I did the above with your SMB2 codes, and they worked like they were supposed to)
iamhiro1112
Posts: 470/487
Well, this is an example of what I am talking about. This is a game genie code for Super Mario bros 2 made by Ugetab, copyright of gshi, or something.

Shells Bounce Off of Obstacles:
OXXOKAEU
VOXOSAOO

These codes will not work in fceuxd because its codes do not have a space for the compare value. But they will work in the normal Fce.
Kefka
Posts: 3242/3392
Originally posted by bbitmaster
Originally posted on his website

My main reason for this was the sorry state of NES debugging today. Even with the best NES emulator debuggers today barely anything is possible. If I had to guess where NES debugging today is I'd estimate it's somewhere between debug.com and Borland's Turbo Debugger. That's an unacceptable situation in my opinion.




I strongly disagree with that statement. If you know what you're doing, FCEUXD really makes almost anything possible with ease. Dahrkdaiz is living proof of that. To say "barely anything is possible" is completely false.


I agree with your statement. After all, all of the enemy and level data in Kirby's Adventure can be located with the FCEUXD debugger. 'Tis fact, peoples.



Originally posted by iamhiro1112

Sadly it doesnt have true game genie code support either, Hopefully whenever the makers of fceuxd finish their new update it will include that, and also the new features in FCEUXD SP.



What are you talking about? FCEUXD has great game genie code support. Just go to Tools->Game Genie encoder/decoder.




w0rd

bbitmaster
Posts: 84/103
First of all, FCEUXD is open source, so anyone can take it and do anything they want and rerelease it, as long as they provide source. And it's nice to see someone doing something with it, as long as they're actually doing something good. So, I don't want to sound like I'm bashing this guy, but I do question his motives for making this forked version of FCEUXD.

Originally posted on his website

My main reason for this was the sorry state of NES debugging today. Even with the best NES emulator debuggers today barely anything is possible. If I had to guess where NES debugging today is I'd estimate it's somewhere between debug.com and Borland's Turbo Debugger. That's an unacceptable situation in my opinion.




I strongly disagree with that statement. If you know what you're doing, FCEUXD really makes almost anything possible with ease. Dahrkdaiz is living proof of that. To say "barely anything is possible" is completely false.

So with this being his primary reason behind this, what does he have planned to improve it? lets see.

Originally posted on his website

That should be sufficient for the initial release. Features planned for the future are: Mouse-over tool-tips for renamed addresses to see the original value, watches, better conditions, an option to auto-execute a command when a breakpoint is triggered and the ability to navigate through the disassembly by double-clicking names or addresses.




Maybe I'm misinterpreting this, but most of these are already there or useless. Lets go through some of them.

Mouse-over tool-tips for renamed addresses to see the original value <- It's already easy to see this in the debugger, just hold your mouse in the left pane beside the disassembly, and it shows you the rom file offset.

watches <- watches? You've got a hex editor to do all the watching you want

better conditions <- now this would be nice

an option to auto-execute a command when a breakpoint is triggered <- what for? I can't think of any use for this. maybe he can? I don't know.

ability to navigate through the disassembly by double-clicking names or addresses. <- this might be nice too. Parasyte is working on something that should make this possible in the next official release.

again, I hope I'm not coming across the wrong way, I'm not trying to bash anyone. I hope this guy makes some cool features.


on an unrelated note...
Originally posted by iamhiro1112

Sadly it doesnt have true game genie code support either, Hopefully whenever the makers of fceuxd finish their new update it will include that, and also the new features in FCEUXD SP.



What are you talking about? FCEUXD has great game genie code support. Just go to Tools->Game Genie encoder/decoder.

iamhiro1112
Posts: 469/487
"FCEUXD lacks true Game Genie support, because, unlike FCE, it has no compare value for the codes, which can cause errors in the game when using a Game Genie code that's 8 letters by design. If this value is actually used, it should be possible to change it when editing the cheat."

That wasnt my words. But a fellow hackers.
Sokarhacd
Posts: 1344/1757
yeah, its really good...he must know his C++ I tried to compile it once...but it didnt work out so well lol. theres a couple things I wanted to move around just for personal preference...but mingw hates me.
Ice Ranger
Posts: 153/183
Alright! The key feature I wanted is in it now - conditional breakpoints.

As for who made it, I found it to be Sabastian Porst. I don't know if Parasyte and Bbitmaster had any connection with him. He apparently has been doing some... *scratch that...* more like extensive Faxandu hacking and seems like a level editor is in the works.

The guy must know his programming, so my only question is for Parasyte and Bbitmaster. Should I go ahead and get this or wait for your version coming out (if it is)? I mean, I going to get it anyway, just wanting to know how much better yours might be.

EDITed the post a bit.
Sokarhacd
Posts: 1343/1757
yep, this is right off the site

Examples for valid conditions:
A > #5 (Value of register A is greater than 5)
B == #4 || B == #12 (Value of register B is 4 or 12)
C == #0 && $8000 == A (Carry flag is not set and the value of byte $8000 equals the value of register A)
beneficii
Posts: 204/567
Originally posted by Dcahrakos
not quite....

"

Conditional breakpoints: Another minor annoyance was the lack of conditional breakpoints. I've added this functionality to the breakpoint definitions. When adding or editing a breakpoing you now have the option to add a condition for this breakpoint. Right now conditions are relatively simple but enough for probably more than 90% of all debugging.

A condition is a simple C-style expression. Supported values are A (register), X (register), Y (register), N, V, U, B, D, I, Z, C (all flags), hex numbers of the form #1234 and values at (CPU) memory locations of the form $1234. These values can be compared using the operators ==, !=, >=, <=, > and <. Two or more expressions can be connected using conditional OR (||) or conditional AND (&&)

"


Oh, you mean if the accumulator gets set to a certain value, or if a certain bit gets set, then it breaks, or if a certain value, or still if a certain address is accesed in memory, or something like that?

If so, that would mean I would not have to trace out big files anymore and search through them.
Sokarhacd
Posts: 1342/1757
not quite....

"

Conditional breakpoints: Another minor annoyance was the lack of conditional breakpoints. I've added this functionality to the breakpoint definitions. When adding or editing a breakpoing you now have the option to add a condition for this breakpoint. Right now conditions are relatively simple but enough for probably more than 90% of all debugging.

A condition is a simple C-style expression. Supported values are A (register), X (register), Y (register), N, V, U, B, D, I, Z, C (all flags), hex numbers of the form #1234 and values at (CPU) memory locations of the form $1234. These values can be compared using the operators ==, !=, >=, <=, > and <. Two or more expressions can be connected using conditional OR (||) or conditional AND (&&)

"
beneficii
Posts: 203/567
Originally posted by Dcahrakos
cool...has some extra features....symbolic debugging, and conditional breakpoints.


Conditional breakpoints--by that you mean if, say, a certain address is accessed then it breaks right there? Cuz that sounds pretty useful.
iamhiro1112
Posts: 468/487
I'll have to get back to you on that, cause my friend in the know made that comment. He may mean how it doesnt have the compare value thing in there.
dan
Posts: 622/782
Originally posted by iamhiro1112
I don't think it was made by the makers ov fceuxd, but you can read about it at http://www.zophar.net/

Sadly it doesnt have true game genie code support either, Hopefully whenever the makers of fceuxd finish their new update it will include that, and also the new features in FCEUXD SP.


Define true Game Genie code support. To me, FCEUXD (and presumably FCEU) has the most accurate Game Genie support, as it actually uses the Game Genie ROM.
Sokarhacd
Posts: 1341/1757
cool...has some extra features....symbolic debugging, and conditional breakpoints.
This is a long thread. Click here to view it.
Acmlm's Board - I2 Archive - Rom Hacking - New FCEUXD released


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.003 seconds.