| |||
Views: 88,486,921 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-26-24 10:46 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 5 guests | 1 bot |
Main - ROM Hacking - Red Falcon, Contra editor (Formerly "Contra hacks...") | New thread | New reply |
finisher |
| ||
Red Goomba Level: 18 Posts: 1/48 EXP: 25325 Next: 4572 Since: 06-09-08 Last post: 3956 days Last view: 2497 days |
Does anyone know if Contra hacks exist? Any at all? |
NastyNate |
| ||
Red Tektite Level: 22 Posts: 24/76 EXP: 51906 Next: 6444 Since: 07-07-07 From: California Last post: 5307 days Last view: 4848 days |
I too would like to know if Contra hacks exist O: |
messiaen |
| ||
Cheep-cheep Level: 32 Posts: 6/193 EXP: 204451 Next: 1991 Since: 05-26-08 From: Porto Alegre, Brazil Last post: 4443 days Last view: 4771 days |
Didn't find anything on DataCrystal, Romhacking.net and Zophar's Domain. I found some notes on this site, but they are very general.
Wait, there is this: http://www.youtube.com/watch?v=Gm6C33RSjCE |
Googie |
| ||
Giant Red Paratroopa Level: 77 Posts: 271/1407 EXP: 4181095 Next: 10034 Since: 02-19-07 From: Brooklyn, NY Last post: 9 days Last view: 9 days |
never-obsolete chefed up this a while back, I dunno what the stats on that editor is though, he's been very busy.
Looks pretty sweet, Contra is a kick ass game... ^______^' ____________________ My Linktree |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 362/1145 EXP: 3035794 Next: 131320 Since: 07-06-07 From: Québec Last post: 3627 days Last view: 2879 days |
I'll check it out and disassemble the whole damn ROM, if necessary... |
never-obsolete |
| ||||
Rat Level: 24 Posts: 22/96 EXP: 74495 Next: 3630 Since: 02-22-07 From: Phoenix, AZ Last post: 2596 days Last view: 2596 days |
here's my notes:
Level Headers
the pointer table for enemy data starts at 0x0B523 (1 entry per level). this points to another pointer table which breaks each level into sections. so enemy data is located:
Enemy Format - some enemies appear to be different based on the stage they are used in.
and some notes on enemies:
there's still a lot to be filled in, especially with the enemies. i never got around to figuring out Base I, Base II, or Waterfall. edit: o yeah, the castlevania 2 editor kinda bumped that one and it really hasn't been worked on in awhile. |
NastyNate |
| ||
Red Tektite Level: 22 Posts: 25/76 EXP: 51906 Next: 6444 Since: 07-07-07 From: California Last post: 5307 days Last view: 4848 days |
haha damn... that youtube video is crazy...
i gotta try that hack lol |
messiaen |
| ||
Cheep-cheep Level: 32 Posts: 7/193 EXP: 204451 Next: 1991 Since: 05-26-08 From: Porto Alegre, Brazil Last post: 4443 days Last view: 4771 days |
TT SS LLLL tttt ????
Jugle: 00 00 0180 0180 7186 Changing this in the level header seem to affect the pallete. |
finisher |
| ||
Red Goomba Level: 18 Posts: 2/48 EXP: 25325 Next: 4572 Since: 06-09-08 Last post: 3956 days Last view: 2497 days |
@Googie: Was that program ever released?
Also, I already have that "Super Contra 2" hack shown in that youtube link video. I actually don't consider that a direct, direct hack as it's a pirated/unlicensed/whatever game. However, its difficulty and sheer murder experience is what matters |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 396/1145 EXP: 3035794 Next: 131320 Since: 07-06-07 From: Québec Last post: 3627 days Last view: 2879 days |
Hey folks, this post inspired me and I fiddled an editor for Contra. It's just the beginning, but at least I managed to decompress the graphics data and layout some tiles:
A part of the PPU is overwritten by boss tiles during gameplay, that's why we see garbage for now... Now I understand why there's almost nothing on Contra in the hacking world. The game doesn't have dedicated CHR banks, so it's a pain right at the start. The graphics are compressed and they change drastically during the game. On the other hand, data is fairly easy to hack because some banks do only one thing. For example, bank 2 is used for levels definitions. Bank 3 is used exclusively for levels tile mappings. Bank 4 contains graphics data. I think Bank 1 is for sound and music... |
Raccoon Sam |
| ||
Cobrat Level: 56 Posts: 527/672 EXP: 1380026 Next: 18150 Since: 02-19-07 From: Hi Last post: 3467 days Last view: 2699 days |
Oh my god.
That looks very cool, Trax! It's amusing to see someone in the ROM hacking community to work like 'Hmm, that looks cool, I'll start development on an editor to it!'. ____________________ |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 400/1145 EXP: 3035794 Next: 131320 Since: 07-06-07 From: Québec Last post: 3627 days Last view: 2879 days |
Slow but steady, a little more of the editor. You can select from the meta-tiles to set the brush, and modify the decor. Again, many tiles are garbage, because the PPU is not loaded with the tiles corresponding to the boss graphics. No save function yet. The width field is inert for the moment. It looks like the actual number of pages (0x100 pixels wide) is the number on the header + 2. Bank 2 has 2C4 (708 decimal) bytes of unused space at the end, so we can expect possible expansion of levels...
By the way, Never-Obsolete, I shamelessly stolen the title from your screenshot, I hope you don't mind... |
never-obsolete |
| ||
Rat Level: 24 Posts: 24/96 EXP: 74495 Next: 3630 Since: 02-22-07 From: Phoenix, AZ Last post: 2596 days Last view: 2596 days |
not at all. it's good to see contra getting some attention. |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 402/1145 EXP: 3035794 Next: 131320 Since: 07-06-07 From: Québec Last post: 3627 days Last view: 2879 days |
Now, some enemies show up. I changed the palette of the decor to green, so the red enemies would be clearly visible, but it's still arbitrary colors. Any data on palettes are welcome. I set all objects to have a X offset of -20. And to make them more "in-game-like", their Y position is shifted too. Notice the Weapon Zeppelin seems farther away to the right than in the game. It's normal. To trigger the apparition of the zeppelin, the object must simply appear on screen (from the right, since the scrolling goes that way)...
Again, controls at the top are still inert. Modifying the level width should be easy, unless there are some other things in the game that could interfere. Nothing new on Base I and II data formats. Level 3 won't be too hard, you just have to switch the axis. All the others are right scrolling, so it'll be pretty much the same as level 1. More to come later... |
Googie |
| ||
Giant Red Paratroopa Level: 77 Posts: 306/1407 EXP: 4181095 Next: 10034 Since: 02-19-07 From: Brooklyn, NY Last post: 9 days Last view: 9 days |
I really like how this is coming along Trax, enemy displays for the win. ____________________ My Linktree |
never-obsolete |
| ||
Rat Level: 24 Posts: 25/96 EXP: 74495 Next: 3630 Since: 02-22-07 From: Phoenix, AZ Last post: 2596 days Last view: 2596 days |
i took a stab at the palettes.
PP = bkg pal indexes pp= sprite pal indexes and the code:
i only tested this for the first level so it may not hold true for all of them. |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 403/1145 EXP: 3035794 Next: 131320 Since: 07-06-07 From: Québec Last post: 3627 days Last view: 2879 days |
Hmmm, data... Nice work, N-O, I'll check this out and see what I can do...
Do you know where the actual palette data is located? |
never-obsolete |
| ||
Rat Level: 24 Posts: 26/96 EXP: 74495 Next: 3630 Since: 02-22-07 From: Phoenix, AZ Last post: 2596 days Last view: 2596 days |
palette data starts at $D227 (cpu).
i wrote this function up real quick... in: unsigned char paletteIndexes[0x08] rom[] (global) out: unsigned char paletteData[0x20]
i didn't test the function on a rom, but i fed the function indexes $00 to $4C (highest value i saw) and it gave back the correct pointer. edit: fixed spacing |
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 405/1145 EXP: 3035794 Next: 131320 Since: 07-06-07 From: Québec Last post: 3627 days Last view: 2879 days |
Something's bizarre, there is no palette data at 0x1D0BC...
But I understand what your code is doing, no problem... Now on to determining how palettes are selected for different sprite parts and meta-tile parts... |
never-obsolete |
| ||
Rat Level: 24 Posts: 27/96 EXP: 74495 Next: 3630 Since: 02-22-07 From: Phoenix, AZ Last post: 2596 days Last view: 2596 days |
0x01D0BC should have been 0x01D0BD, which is where #$0F is loaded from.
|
Main - ROM Hacking - Red Falcon, Contra editor (Formerly "Contra hacks...") | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 132, rows: 172/172, time: 0.020 seconds. |