| |||
Views: 88,597,408 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 05-18-24 05:36 AM |
|
Guest: Register | Login |
Main - Posts by smkdan |
smkdan |
| ||
Ninji Level: 36 Posts: 141/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
It's functioning and my test levels worked out OK, so here's version 0.1 of it.
http://smkdan.eludevisibility.org/other/n&medit.zip There's not much to see, so here's 3 pics. Something random I made: Yeah: The final level from the original: It manages free space as you save so larger or smaller levels are possible. You can reduce (not increase) the amount of levels in the game and change their type. The readme has a few other details if you're interested. Thanks to Trax and elobelo for data used in the editor, FCEUXDSP for some palette stuff. |
smkdan |
| ||
Ninji Level: 36 Posts: 142/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
Thanks everyone.
Well, it's a minimal editor but it does its job. Everything about the game is dead simple, I just thought I'd give people an automated way to composed levels, since doing that by hand along with compressing it must be a pain (as elobelo probably knows). Unless someone points out a flaw I'm keeping it like this, unless I get the urge to add something to it. Right now the only 'update' was fixing the spelling of available. |
smkdan |
| ||
Ninji Level: 36 Posts: 143/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
-It's implied in the readme, but the pirate will not work with it ("Nuts & Milk (J).nes" is my good ROM).
-I'll put it in the next one whenever I make it. -The game demands a trampoline, haven't looked into what disables it. It doesn't delete your level, it just reloads it if you tried to save and reverts it if you changed the level. Wierd. |
smkdan |
| ||
Ninji Level: 36 Posts: 144/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
I'm not sure why the game wants a trampoline that badly. You can see in level 18 for example that it was just tacked onto the side of the level just for the sake of being there.
Update: It's a tad more complete now. An option to swap levels to reorder if you please and clear levels has been added. There's also an ingame palette editor since I figure it'd be handy to see how it would look like in the editor and tweak as you go along. The link is the same, I just FTP'd over the old zip. |
smkdan |
| ||
Ninji Level: 36 Posts: 145/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
SMW has the sample pointers at 0x8000 and the first sample begins at 0x8100. That means 0x8000-0x80FF are available to store pointers, it uses less than half of those. The samples run from 0x8100 to the end of memory (not sure if the boot ROM is disabled) and by default there is just a bit over 0xF00 bytes for samples free. |
smkdan |
| ||
Ninji Level: 36 Posts: 146/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
While I don't use a Mac at all here it's nice to see some tools for a platform that is sorely lacking in them. |
smkdan |
| ||
Ninji Level: 36 Posts: 147/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
nightkev: Why do you post when you have nothing to say?
And now for the content portion of this post. Yup, I'm posting for more than just increasing a meaningless statistic. With the examiner's logic I'm wondering how he held is job long enough to be remarked as 'senior'.
I suppose a little bit of deeply disturbed furry fan fiction would be OK in his book. Aslong as it gets some meaning across.... |
smkdan |
| ||
Ninji Level: 36 Posts: 148/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
Nice work on the release. I can't try it, but it looks like everything's in order.
As far as detection goes, it has a distinct string at the start of the ROM.
|
smkdan |
| ||
Ninji Level: 36 Posts: 149/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
I'm guessing he means the assembler directives.
.DB = define / declare byte. .DW = define / declare word Some will have define long for 32 bits (I think xkas uses 24bits there). |
smkdan |
| ||
Ninji Level: 36 Posts: 150/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
I'd like to try it but the link leads to a 'Hack not found' error. |
smkdan |
| ||
Ninji Level: 36 Posts: 151/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
I know SMW does this a fair bit and that metroid disassembly on RHDN does this too.
By placing pointer table right after the JSL/JSR, the routine that is being 'called' can pull the return address off the stack, add 1 and treat it as a pointer to the jump table which in this case is indexed by the value in A. This may be relevant considering you said that there's a pointer list after the JSR in the game. |
smkdan |
| ||
Ninji Level: 36 Posts: 152/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
Wow you really went all out on this. It looks like just about everything has been covered. Maybe with this and Lazy Shell around the corner we'll start to see some quality RPG hacks. |
smkdan |
| ||
Ninji Level: 36 Posts: 153/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
breakpoints on $23C0-$23FF (or whatever nametable you want to check for) will show where the game sources its attribute data. You can then breakpoint on the RAM used to hold the attributes and follow the chain until you eventually see where the attribute data is coming from in the ROM. If the attribute writer makes sense to you you'll find it without issue.
hey that's quite a post hamtaro.
lol
This has to be a troll. Seriously no one can be this fucking stupid. |
smkdan |
| ||
Ninji Level: 36 Posts: 154/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
The 'specific' method would be breakpoints on reads from the level data (in PRG-RAM here i suppose), ignoring those that are used for graphics and other purposes. Eventually the read block is going to be tested whether it's through a table or IF-ELSE branches or bitfields and mario / other sprites will be affected. You have to keep track of where the read block from the level data is being passed around and when you find a ROM address you suspect is involved in interaction, try a cheat edit on it. |
smkdan |
| ||
Ninji Level: 36 Posts: 155/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
99% of the time pointers are stored low-high although developers can store them however they want.
The 16kb offset is most likely bankswitching. not sure what mapper it's got, it sounds like it's switching the 16kb bank at $8000-$BFFF (MMC1 comes to mind), or a pair of 8kb banks at the same spot (MMC3) . Breakpoint on level data / pointers will show the code that access it. Just delete the first 16 bytes in a hex editor to get rid of the header, I don't see the issue with that. Ofcourse the header has to be present for the ROM to run in an emulator, it's not like the SNES where the header is meaningless. |
smkdan |
| ||
Ninji Level: 36 Posts: 156/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
what's wrong with setting the breakpoint on the pointer address on swapped in bank? it has to be read from ROM at one point or another.
The NES only has 2kb of RAM (0000-07FF) so in the case that the game is actually accessing those mirrored regions you might want to write it as an address between 0000-07FF (more readable that way). |
smkdan |
| ||
Ninji Level: 36 Posts: 157/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
someone please tell me if it's already been done.
gimmick! is a nice sunsoft platformer that's already well documented (but I still have alot of gaps to fill in, FCEUXD will cover me) so I'm making an editor. I started yesterday, not much to see but I'll post as it comes together. minimum features would be level / sprite editing / palette editing / starting position etc. http://img184.imageshack.us/img184/941/gmktt0.png http://img399.imageshack.us/img399/8022/gmk1hp2.png two bits of level 1, next features would be palettes and sprite viewing. chr bank 7 (the animating one) is not present so the conveyor belts aren't visible. |
smkdan |
| ||
Ninji Level: 36 Posts: 158/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
thanks netsplit. yeah the level data is nice and neat, just laying there uncompressed. I disassembled a bit of the 'level area' loader where it chooses a palette index and CHR banks along with something i'm not sure about.
http://img389.imageshack.us/img389/6369/gmk1ru6.png it will only show area portions at a time because the above mentioned changes level graphics quite a bit. |
smkdan |
| ||
Ninji Level: 36 Posts: 159/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
thanks sam. i'm all for cross platform editors, though it's up to trax if he wants to give that another shot.
I hit a snag where incorrect documentation (16x12 screens, not 12x16 screens) made me wonder what was going on with a 'hidden' 512px part of the level. I just tried what I thought it was at first and it works great. I disassembled some graphics loader code and made it load palettes and CHR bank #s dynamically. Every 16x12 tile screen can have a palette and CHR setup assigned to it, though it only takes place on vertical transition between areas. editor is coming along real nice. i just make it view the whole level now because it'd need to be modified anyway because of something silly i missed. i had it output level screen caps of the first three. the glitchy stuff is the yet to be animated bank 7. http://img380.imageshack.us/img380/2483/levelaw5.png http://img393.imageshack.us/img393/6307/levelbu8.png http://img255.imageshack.us/img255/1024/levelqk3.png |
smkdan |
| ||
Ninji Level: 36 Posts: 160/238 EXP: 289157 Next: 18953 Since: 05-26-07 Last post: 4084 days Last view: 4033 days |
it's cool that this might get people into the game. i think it's a quality game, probably just not so well known because of the jap only release.
animated banks are in, here's a more complete level 1 and level 5. http://img354.imageshack.us/img354/7678/levelaq6.png http://img508.imageshack.us/img508/5344/levelkf1.png ok, seems that all level data is being displaed just fine it works good for all levels. i guess now it's on to viewing sprites. |
Main - Posts by smkdan |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 137, rows: 169/169, time: 0.236 seconds. |