News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - McDenDen

Pages: [1]
1
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: April 04, 2019, 07:57:29 am »
The conversion code is located in the "ConvertToSMB1.cs" file. The noise conversion code is located in the "ConvertNoteNoise" function at the way bottom... To date, the function is 40 lines of code.

To debug it, use breakpoints...
https://docs.microsoft.com/en-us/visualstudio/debugger/using-breakpoints?view=vs-2017

If you want to test note conversion quickly, call the noise function at line 27.

I'm not sure there is an issue with the NOI encoding . . .

I've looked at the output of your test file for channel 03 which was;

11 90 21 90 21 51 21 90 90 90

I think you are probably trying to match to the ROM at  address 7B2A which is;

31 90 31 90 31 71 31 90 90 90


Looking at your test file, and working back from the w7n guide, it seems like some of the kick notes were hats or snares which doesn't align to the original ROM. I have updated the test file to NOI and as far as I can see it now aligns to the ROM. And checking the expected error, these are correct to what they are respectively representing i.e. 8th note snare/ko is showing as 21 etc.

I've put an update to the FTM file SMB1-Update.ftm

So I think this is the input rather than your code but please review to see if you come to the same conclusion.

Edit - I've tested on another file, not sure if these help for reference, but the output from the converter for the NOI is what I would expect to see had I done this manually with the w7n guide.

FTM and output ZIP

2
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: April 01, 2019, 08:01:15 pm »
The conversion code is located in the "ConvertToSMB1.cs" file. The noise conversion code is located in the "ConvertNoteNoise" function at the way bottom... To date, the function is 40 lines of code.

To debug it, use breakpoints...
https://docs.microsoft.com/en-us/visualstudio/debugger/using-breakpoints?view=vs-2017

If you want to test note conversion quickly, call the noise function at line 27.

I got it working on the test file you sent, my file throws an error but I'm guessing it's probably my file rather than the tool. Trying to find my feet with it though. Cheers for the pointers, will and try to get into the code over the next week or so.  :)

3
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 30, 2019, 10:11:07 am »
Yeah, sorry for not commenting any of the code ... or having a readme! :P

Basically, the program only accepts famitracker files as TXT files, not FTM. You have to export your song as a TXT in famitracker.

The program is a commandline utility. You have to specify one argument: the path to your TXT file. At this point, the program will read the text file and store all the data in a data structure. Then it will read every line of the data structure and convert it to binary data.

The program stores notes and other things in two variables. One for the previously read and one for the currently read. To get the length of a note, I have to read ahead until I hit another note. When I hit another note, I can calculate the length of the note.

As for the note translation code, I couldn't explain it to you. I saw a pattern in how the game was storing its notes. The NOISE channel translation is still broken. I'm busy with other projects, perhaps you could fix it?

March 28, 2019, 06:40:23 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I updated the repo's readme. I also included a sample FTM file I used for testing. I haven't tested extensively, but it's a really good start.

I do have some further ideas. Writing to the ROM and having a GUI to manage the instruments for each song sounds good.

But for right now ... I'm working with Her-Saki for a Metal Slader Glory translation. This is a side project that I coded in some spare time. Seeing a cool hack was a good motivator though, so I do have a desire to continue with it ... but progress will be slow.

Cool - I'll try and get some time to have a look over the NOI channel. As I said, I'm not a dev and don't really know C# at all, but I'll see what I can work out and update where I can

I'll also try my files at TXT into the tool to see if I get the same output that I have manually done in hex.

Thanks for sharing what you have done so far, it's really interesting to see how these things work in the background :)

4
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 28, 2019, 04:50:14 pm »
Just coded again today. Just like with my Ninja Gaiden converter, I dump the translated data to BIN files. The translation is near completion. Here's the current output for the intro to the main theme:

https://mega.nz/#!XrpmWSjA!QHc3ZV4M2naNiUzs4H6PhBOxn0lYGkQBFTQZLSYf6cg

So far, all the channels match the ROM's, except for the noise channel...

March 26, 2019, 11:53:32 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I decided to create a repo for the project...

https://bitbucket.org/FCandChill/smb1musicconverty


This is a seriously cool project you have on the go here  :thumbsup: I've had a look at the files in Visual Studio. I think I generally get what the code is trying to achieve but not sure how to use it. I was able to build an exe from it, don't know what to do from there though.

Any pointers? I have an FTM I would like to try and run through it.

5
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 26, 2019, 05:46:17 pm »
I recommend learning ASM. I recently learned ASM from this guide.
https://skilldrick.github.io/easy6502/

With the help of this guide. I finished all the ASM hacking for a SNES translation.

Fortunately, you won't have to dissemble any code. The game is rather popular and there's a disassembly...
https://gist.github.com/1wErt3r/4048722

The "MARIO" text is stored under "TwoPlayerGameOver", "TopStatusBarLine", and "TwoPlayerTimeUp".

Meanwhile, the pointers are located under "GameTextOffsets". While the pointer table offset isn't specified in the document, there's byte data directly above that you can search for in the ROM to pinpoint the location. Do note that the string "MARIO" is duplicated twice, judging by the disassembly. Make the pointers point to one string and use the extra space.

I've been picking through the disassembly and experimenting with some RAM values. I'll try and find some time at the weekend to look through the ASM docs, thanks for sharing these.

Let me know how you get on with the converter, I think I get the gist of your code, looks like it covers the dotted quarter notes? but I'm no developer. Looks like very promising stuff!

6
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 21, 2019, 05:13:52 pm »
Really smooth graphics, this hack is coming along pretty nicely, good job on this hack.  :thumbsup:

Thanks  :)

March 21, 2019, 05:29:38 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Thanks and no problem. I coded the converter for Ninja Gaiden in two days. One day to read the Famitracker text file and the other to converter it to hex and dump to a binary file, albeit there was bugs. Darkmoon has an updated version that writes to the ROM but it's not on GitHub.

I just looked at the guides. To put it nicely, the sound engine for this game looks awful... The bytes values assign to each note are all over the place. Maybe I'll find some motivation to make a converter... The fact length and note data are in one byte with zero formatting will make for some "interesting" code...

Wow, 2 days?! I can code a bit but nothing that quick. I have great respect for folks like yourself in the scene who make these tools so chaps like me can edit some ROMs.

I've been finding the sound engine to be a bit harder to contend with than expected. I'm having to move the music a whole step so I can land it on notes that actually exist within the engine. The whole headers/pointers thing is still abstract to me, I need to work with that a bit more to understand.

If you find the motivation to create a music tool, I'd be happy to test it. I've been using famitracker to do quick compositions to try and smooth out some of the timing. There are three coding standards from what I can see in the guides, SQ1 and TRI appear to be the same, SQ2 differs insofar that note length is a property of the value rather than a tempo value defined initially. There is also another coding scheme for NOI channel for percussion and stuff.

March 21, 2019, 05:40:19 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
As another suggestion, if you didn't want to add the Umbrella as a power up item, you could have it as a level exit instead of the flag pole and shrine entrance. Instead you could have Satsuki and Mei waiting and once Totoro picks up the umbrella, he roars and flies away, perhaps with the girls clutching him. Perhaps you could even have it rain near the end of the level so levels end with him accepting an umbrella from the girls.

I don't really know what you have planned for the plot but I imagine if you're planning on Totoro saving Mei, you could substitute Toad in each castle for another Ghibli character and have the Batbus come and take Totoro to the next level? Have Mei in the final castle and have Totoro take her and Satsuki home?

I dunno man, i'm just spitballing here. I assume you'll add 'TOTORO' to the HUD instead of 'TOTOR' at some point. I assume its just because you edited out 'MARIO' lol

Its looking great and coming along well  :thumbsup:

Thanks :)

I really like your ideas and would like to implement them. I just don't have the ability to do so  :'(

But yes - I was thinking of Mei to replace the Princess sprite but just chucked in another small Totoro as a placeholder. I was perhaps entertaining changing the flag pole for the bus stop.

Yes the name on the HUD. That pesky 5 character limit. I have got a solution to this where I could use 5 tiles for 6 characters, but there are a few other bits I need to work thorough before I can hit that.

7
Personal Projects / Re: Mario's Keep (Finishing abandoned w7n hack)
« on: March 19, 2019, 04:56:22 am »
Played the first few screens and I really like this hack.

Good work!  :thumbsup:

8
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 13, 2019, 06:22:48 pm »
.

March 18, 2019, 09:06:48 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Update in original post.

9
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 13, 2019, 03:37:39 pm »
This is a cute hack. Good job.

Dr. Floppy created a music guide on this game way back...
https://www.romhacking.net/documents/390/

and it was further elaborated on by w7n...
https://www.romhacking.net/documents/630/

As far as I know, most hackers insert their music in raw hex. I think that's annoying so I developed a C# application that converts FTM files to music data for Ninja Gaiden. Darkmoon2321 has it now and updated it, although the most recent version isn't on Github...

https://github.com/darkmoon2321/NGMusicConvert

Thanks for the pointers, I'm working through the guides. I have been able to update the various audio channels but the music is only in sheet music format that I can find. I can't read sheet music so it's a bit trail and error getting it into the game and transcribing it. I am using hex.

I really like the idea of an FTM converter. From what I understand the music is quite specific to each game so I think it might be a lot of time to understand the tool and change the application to SMB, also, I don't know C#. But it's really cool that this has been done for any game at all  :thumbsup:

March 13, 2019, 03:52:24 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Holy shit dude. I haven't seen such a high-quality SMB Hack that has given me this sort of vibes:
https://www.youtube.com/watch?v=Kn_qjEy5pO8
Especially all the graphical execution. Changing the music as well? Extra points!

I'll share some more resources you might find useful via DMs.

Thanks  :laugh:

Cheers for the resources  :woot!:

10
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 07, 2019, 06:26:49 pm »
Wow, this is coming along great! If I might add, perhaps turn used item boxes into rocks and maybe smashable bricks into dirt clods? Just to add to the natural aesthetic. Turning the pipes into trees looks really nice. Well done!

Thanks - I like the idea of rocks and the more natural aesthetic. Just quickly knocked this up, think it needs a bit more work though.


11
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: March 07, 2019, 07:34:13 am »
Update in original post.

Thanks for the feedback all, I'm trying to incorporate where I have the ability to do so.

12
Personal Projects / Re: Super Kirby Bros (v0.1)
« on: February 25, 2019, 12:03:40 pm »
I've seen your Totoro hack, it's pretty cool! Basically, you have to find (or write) a sheet of the music you want to put into the game. Then you have to "translate" it to the game music values (these vary from game to game, I think). I used this guide to learn how: http://www.romhacking.net/documents/630/
There are other guides here, but this was the easiest for me. I hope this helps! I don't advise you to make a "long" theme (more than 30-45 seconds is long for this game), since you will run out of space for other theme (that happened to me). If you have any doubt about this just ask me!

Thanks for your help! I'll try them out and see if it works  :)
Just one question, how did you change the levels in your hack, did you use one of these utilities?

Cheers for the pointer - I'm using that guide at the moment, just transcribing a tune at the moment to use.

For the level editing I used;

https://www.romhacking.net/utilities/178/

It seems to work quite well, you can only alter existing assets so there are limitations. Some of the more unique items require that are placed below the stage area in rows 13-15. I'm sure if you got the hang of the music then this should be fairly straight forward for you. It has a built in emulator for quick testing too which is a real nice touch.


13
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: February 24, 2019, 11:41:41 am »
Maybe change the ? block into a leaf block maybe and give different power ups. As Timbo said, maybe a double jump? You could make it an umbrella power up ^_^ You could also make a yell attack instead of a fireball. I'll be keeping an eye on this one. Good work <3

Thanks, I did have a similar thought about an umbrella power up but I ran into issues with the amount of space I had and the limitations of the tiles.

I really like the yell attack idea although I have no idea how I would approach this. I might have to do some thinking on that . . .

14
Personal Projects / Re: Super Kirby Bros (v0.1)
« on: February 24, 2019, 11:39:00 am »
Looks cool, who doesn't love Kirby! Are you doing this all in the PPU viewer? There are a lot of tools out there for SMB.

Anyway, hope this helps, I've encountered some similar problems that I've needed to solve, they probably aren't the only (or even best) way to do this but they seem to work.


-Changed 1-1 music to "Butter Building" (from Kirby's adventure) and "1UP" SFX



I'd be interested to understand how you change the music, I'm working on an SMB hack myself and any insights you can share would be great  ;D

* Problems:
I don't know how to solve these currently. Any explanation or link to a document is appreciated  ::)
- Can't change title screen: I know how to change it but the problem is that it shares a lot of sprites. I just want to change "Mario" for "Kirby", so it says "Super Kirby Bros." Like this:


I use the SMB Title Editor Tool after redrawing tiles in Tile Layer Pro. Read the English readme though, you need to write out a file first before it will allow you to save to the ROM. Fiddly but it works.

https://www.romhacking.net/utilities/491/


- Brick blocks: So these don't mirror...

Is there any way to make the left side mirror the right side?



I have used a combination of Tile Molestor (to flip the tiles) and SMB Graphics workshop to define the metatiles.

15
Personal Projects / Re: My Neighbour Totoro (SMB1)
« on: February 24, 2019, 03:57:23 am »
^This

Also, you should change the coins into acorns and the "?" images on the boxes into something else. Catbus face maybe...

I had been thinking that needed something. The fire ball has been changed to acorns already but I dunno, this isn't set in stone.

Love the idea of Catbus!

16
Personal Projects / My Neighbour Totoro (SMB1)
« on: February 23, 2019, 03:56:40 pm »
Hello folks,

I've been thinking for a while that there really should have been some Totoro games on classic consoles. I couldn't find anything so I thought I'd make something (if there are any Studio Ghibli hacks out there already I'd love to know). This is the first time I've done anything this extensive so I consider myself to be 'entry level' in this whole ROM hacking thing. This is a hack of Super Mario Bros. 1 on NES.

Where I am with this project;

Done
Character sprites and animations.
Backgrounds
Some levels
Some enemies
Title screen

ToDo
Music
More levels
More enemies
Update remaining original sprites
Ongoing refinement

If anyone has had any experience doing NES music on SMB, any pointers are appreciated. Also, if anyone can point me towards hacks with good level design that would be helpful, I'm in need of some inspiration! General thoughts and feedback also welcome.

Thanks,
Cakewarden.
Spoiler:


Update 1 - 07/03

More levels completed - up to midway through world 2
Yubaba from Spirited Away to replace Bowser
Tweaked title screen
Few more enemy types
I am able to edit music - still working on composition.
Coins changed to acorns

Spoiler:

Update 2 - 19/03

Some progress on the music, but it's slow progress. Not all notes are represented in all octaves from what I can see in the guides. :huh:
Levels for world 1 are complete, world 2 about 50%.
Minor graphical updates to question mark boxes etc.


Update 3 - 02/04

Level design for the most part, experimenting with auto-scrolling levels and a bunch of stuff Eden GT sent my way.
Been having a look at the tool FCandChill has made, need to revisit the music properly and redo in FamiTracker to test that.
Had a play around with some backgrounds, trying to add a bit of depth to the levels. Still unsure, might tweak pallets or abandon that idea . . .
Might try and get a demo together to see if I can get any feedback on the level design . . . any takers?

Spoiler:

18
News Submissions / Re: ROM Hacks: New Hacks Added to the Database
« on: November 04, 2016, 07:35:12 pm »
Maybe it would be easiest if we simply convince Steven to change the spelling of his surname? ;P

How do you spell Seagal in Russian?

19
News Submissions / Re: ROM Hacks: New Hacks Added to the Database
« on: November 04, 2016, 03:15:07 pm »
I can't speak for anyone else... but ever since learning about that Steven Seagal beat-'em-up, I actually have been waiting for that Streets of Rage 2 hack!

Double thumbs-up, Cakewarden!

Cheers!

Looking at the screenshot, maybe it just didn't fit and thus had to be shortened.

It's a five character limit for names in SoR2/3. I'm sure it is possible to increase but not so sure it would have been worth the effort.

Those screenshots were taken before the name was just changed to 'Steve'.

Pages: [1]