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 - Geiger's Snes9x Debugger Mark 9 | |
Pages: 1 2 3 4 5 6 7 8 9 10Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Parasyte

Bullet Bill
Level: 35

Posts: 313/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 02-22-05 02:59 AM Link | Quote
I have a few suggestions, mostly unrelated to the debugger:

1) Save the previously-selected options and values in the cheat search window.
2) In the cheat search window, the "previous value" column displays an incorrect "previous value" during the cheat search process. This column should record the value from the previous search. (Or kept blank after reset -- meaning also blank before the first search) It appears to be the same value displayed as the "current value" at all times.
3) Save the debugger and hex editor window positions and sizes.
Chickenlump

Level: 41

Posts: 488/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 02-22-05 03:09 AM Link | Quote
Do you have any timeframe in mind for the next release, by chance?
I've jumped in head first into FFVI asm (there's so much documentation...)
and I must say, this is the most fun I've had since...umm..... your last release.
Geiger

Buster Beetle
Level: 34

Posts: 311/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 02-22-05 04:06 AM Link | Quote
Mark 9 Release 5

Update:
(old link)


New
- Read / write breakpoint support for DMA and Fill RAM operations
Changed
- Fill RAM operation now displays RAM address for disassembly
- Hex Editor now displays LoROM as upper bank only




Save the debugger and hex editor window positions and sizes.

It does this as of Release 4.

---T.Geiger


(edited by Geiger on 02-21-05 07:09 PM)
(edited by Geiger on 02-22-05 04:52 PM)
Parasyte

Bullet Bill
Level: 35

Posts: 316/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 02-22-05 10:45 PM Link | Quote
There appears to be a bug with DMA breakpoints in Release 5. They are triggering when they should not.
I am using JRR Tolkien's The Lord of the Rings - Volume 1 (U) [!]. Set a read-breakpoint on 7E0384, you will get two DMA breaks that do not affect that address:

  DMA[2]: write Mode: 0 0x7E3000->0x2122 Bytes: 512 (inc) V-Line:221 CGRAM: 00 (0)
$80/874C 8D 0B 42 STA $420B [$80:420B] A:0004 X:0100 Y:0001 P:envMxdIzc

DMA[0]: write Mode: 1 0x7F0000->0x2118 Bytes: 6144 (inc) V-Line:217 VRAM: 0000 (1,0) word
$80/D25F 8D 0B 42 STA $420B [$80:420B] A:1801 X:0002 Y:0000 P:envMxdIzc


Unless I am misinterpreting the information, these should not break at all in this case.
Geiger

Buster Beetle
Level: 34

Posts: 312/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 02-23-05 01:49 AM Link | Quote
Mark 9 Release 6

Update:
(old link)


Fixed
- Read / write breakpoints for DMA had some faulty logic, which often signaled a false positive



---T.Geiger


(edited by Geiger on 04-11-05 09:19 AM)
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 3411/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 02-23-05 06:27 AM Link | Quote
As far as identifying breakpoints caused by hardware, I would generally exclude those unless specified not to. Like some sort of checkbox on the breakpoint window (or whatever you use, I haven't actually tried it yet ) that determines whether hardware-based things such as DMA should set them off, or just direct I/O. It could be rather confusing if, say, someone set a breakpoint on the scanline counter and kept getting hits at seemingly random instructions because it was modifying itself.
Geiger

Buster Beetle
Level: 34

Posts: 313/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 02-23-05 07:02 PM Link | Quote
As far as identifying breakpoints caused by hardware, I would generally exclude those unless specified not to.

I do not know about most other hardware stuff, but DMA is something that will usually be wanted. For example, DMA and Fill RAM are used in Final Fantasy VI to copy the character stats into memory. The user will never see any other read command for that data in the ROM.

While I could see an argument for having an on / off switch for DMA, the default setting would probably need to be on.

---T.Geiger
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 1501/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 02-26-05 10:15 AM Link | Quote
Geiger, why do I get an error on this latest version that "Zlibwapi.dll not found"

no edition up to this gives me this error.

I'm using Windows 98se btw, and I think that may be the cultprit but I'd at least like to see whats up.


(edited by MathOnNapkins on 02-26-05 01:17 AM)
Geiger

Buster Beetle
Level: 34

Posts: 318/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 02-26-05 08:24 PM Link | Quote
why do I get an error on this latest version that "Zlibwapi.dll not found"

Do not know. Does not do it for me. Make sure you have Zlibwapi.dll in the same directory as GSD. Get the full download if it still does not work.

---T.Geiger
Parasyte

Bullet Bill
Level: 35

Posts: 325/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 02-28-05 04:42 AM Link | Quote
Unsure if you are aware of this problem, but Aero The Acro-Bat (U) [!] 'hangs' on the Iguana Entertainment screen. Usually, you're able to pass the screen by pressing a button (which works in both ZSNES and SNES9x 1.43, though not in your debugger r6) Music continues playing, but you're unable to pass that screen. Any ideas?
Geiger

Buster Beetle
Level: 34

Posts: 319/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 02-28-05 06:16 AM Link | Quote
Aero The Acro-Bat (U) [!] 'hangs' on the Iguana Entertainment screen. Usually, you're able to pass the screen by pressing a button (which works in both ZSNES and SNES9x 1.43, though not in your debugger r6) Music continues playing, but you're unable to pass that screen.

It is in a loop waiting for 7E0104 to change. More than likely, this is supposed to be where part of the joypad data is stored. However, viewing RAM in the Hex Editor, it looks like the joypad data is being stored to 7E0105 and 7E0106 instead.

I will take a closer look at it this next week.

(edit)

Bah. I do not know what I am talking about. It is waiting for 7E0104 to equal 00. Not sure what it is looking for specifically.

(edit again)

Double bah! I think I was right the first time.

---T.Geiger


(edited by Geiger on 02-27-05 09:19 PM)
(edited by Geiger on 02-27-05 09:22 PM)
Parasyte

Bullet Bill
Level: 35

Posts: 326/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 02-28-05 07:08 AM Link | Quote
Oh well, another problem I noticed is that breakpoints are [internally] disabled when a game is reset. The breakpoint window must be opened/closed after resetting to enable the breakpoints which were previously enabled. Quite annoying, especially when you can't figure out why your breakpoints are not hitting, though they were enabled before reset.
Imzogelmo

Blue Octorok
Level: 11

Posts: 32/41
EXP: 5292
For next: 693

Since: 09-22-04
From: (Longview) Starkville, MS, USA

Since last post: 15 days
Last activity: 1 day
Posted on 03-01-05 04:37 PM Link | Quote
Yeah, I noticed the breakpoint thing too. At first I thought it was just randomly missing them, but then I realized it was coming from the resetting. I wrote a new subroutine (and I knew it had to pass through it), and I put a breakpoint on the starting address of the routine, but it would miss sometimes after I reloaded the game (which was often, since I was simultaneously editing it in a hex editor).
Geiger

Buster Beetle
Level: 34

Posts: 320/460
EXP: 241080
For next: 12571

Since: 03-15-04
From: Indianapolis, IN, USA

Since last post: 6 hours
Last activity: 6 hours
Posted on 03-01-05 06:11 PM Link | Quote
breakpoints are disabled when a game is reset.

I did this initially for a reason, though I cannot remember why at this point.

I have gone through about 150 megs of log files looking for the problem with Aero. I have about 900 more to sift through. And that is presuming the problem even is something I can see in a trace. Mostly the difference so far seems to be that Mark 8 took longer to respond to special registers and whatnot than Mark 9 does, resulting in a lot more looping. I do not think that is the cause (or even the symptom) of the problem though.

---T.Geiger
Parasyte

Bullet Bill
Level: 35

Posts: 328/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 03-02-05 04:22 AM Link | Quote
The least you could do about disabling breakpoints is having them automatically 'unchecked' in the breakpoint window when reset. But that's the least. A better solution would be keeping them enabled on soft/hard reset, and removing them only when a ROM is loaded.
Euclid

Cheep-cheep
Level: 23

Posts: 137/193
EXP: 65528
For next: 2195

Since: 03-15-04
From: Australia

Since last post: 24 days
Last activity: 7 days
Posted on 03-06-05 07:14 AM Link | Quote
I think i found a bug with the debugger (i'm using R2, so i wouldn't know if it's been fixed. doesn't seem like it's fixed from the changelog though.)

When you have code like this:

$00/9000 JML [$0000] (and it goes to say 01:9000)
and if i put a exec breakpoint on 01:9000 it won't break.

it does if i do the next instruction after 01:9000 though.

edit: typos.


(edited by Euclid on 03-05-05 10:15 PM)
DarkPhoenix

Octorok
Level: 9

Posts: 1/31
EXP: 2669
For next: 493

Since: 03-08-05

Since last post: 23 days
Last activity: 16 hours
Posted on 03-08-05 08:29 AM Link | Quote
Brilliant work, Geiger. I haven't run into any new bugs myself, but I have some suggestions for future releases

-The ability to scroll through RAM while the game is running. This is more an issue of the fact that SNES9X pauses execution whenever you click on another window, but it'd be nice to be able to scroll through and see at a glance, for example, what parts of RAM are still updating while the game is sitting idle, rather than having to switch back and forth between the game and the hex viewer to scroll and see what's being modified.

-A more visual way of looking at the usage map. Perhaps a way to view the hex highlighted as values are used as code or data and such.

-and of course,along the same lines, as mentioned before by jman, something to look at the PPU

of course, I'm not suggesting anything so complex as this - http://acg.media.mit.edu/people/fry/deconstructulator/ , that specific example is likely beyond the scope of the program, but maybe something simple, so at least things being accessed/modified will stick out a little better.

On a side note, I can vouch for the joystick support not working. Not a terrible flaw, but an inconvenience. Granted, it shouldn't be your job to clean up the SNES9x code.
Parasyte

Bullet Bill
Level: 35

Posts: 344/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 03-08-05 05:06 PM Link | Quote
The joystick support works fine for me. Always has. (I can't play any emulator with a keyboard. it's too unnatural and sucks a whole lot. SNES pad all the way!)
dan

Snap Dragon
Level: 43

Posts: 479/782
EXP: 534516
For next: 30530

Since: 03-15-04

Since last post: 20 hours
Last activity: 14 hours
Posted on 03-08-05 06:31 PM Link | Quote
The joystick support seems to work fine for me now. Although, sometimes it does seem to assign incorrect buttons when I am attempting to set it up. But as DarkPhoenix said, it's not your job to fix SNES9x's already present flaws.
DarkPhoenix

Octorok
Level: 9

Posts: 2/31
EXP: 2669
For next: 493

Since: 03-08-05

Since last post: 23 days
Last activity: 16 hours
Posted on 03-11-05 06:04 AM Link | Quote
oh, something I liked from FCEUXD - the CDL dialogue box gives percentages of what's been interpreted as code and as data. Might be a nice touch to the SNES9x debugger...always nice to know when you're making progress. I love the usage maps (partially because I was trying to do a lot of it more...manually before), and any added functionality to it is much appreciated.
Pages: 1 2 3 4 5 6 7 8 9 10Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Geiger's Snes9x Debugger Mark 9 | |


ABII


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



Page rendered in 0.021 seconds.