Discussion in 'Discussion & Q&A' started by Malevolence, Jul 7, 2009.
I still don't see why it's giving me that line 1010 emulator error. Any ideas?
That usually indicates that a jump is going to the wrong address, possibly because an index variable for an offset table is out of bounds.
I think the real lesson for me is not to program at 4 in the morning and expect it to work. Thanks for showing me how it really works, Vlad! I got it working.
For you, ROMhacking, if I were you I'd start with a clean ROM and take your time. It sounded to me like you made several edits in between test; if you do this and get an error, it can be hard to tell where you went wrong. Every time you change something--the starting position, a layout, anything--you want to go ahead and build the ROM to make sure it works as intended, that way if you get the illegal instruction after, say, changing the start position, you know it's that that broke it.
You seem new on the hacking scene since you are a trialist, so here is some more of my thoughts: early games like these are not built like modern games, sometimes not even built in a logical manner. The programmers had to cut so many corners to fit the games they did on these tiny cartridges, and the teams of sometimes less than five had to only write code that functioned as intended and that they could understand, not the dozens of us attempting to hack it 10-30 years later. The game may as well be held together by 2x4 and duct tape in many places, and all the pieces have to fit together like a puzzle in what you might consider a beautiful harmony; but when you change one block of the jenga tower, sometimes the whole thing comes falling down.
Yeah, that's how it usually works. Outside of the editor, I didn't play around with the assembly that much, yet game-breaking glitches are happening one after another.
So there's no way to tell where it usually comes from.
If you're mostly editing the object layout, then it's probably an object with an invalid subtype. If the crash always happens in a specific area, then check the objects to the right of the spot it crashes.
SonLVL may also give you more information on objects' properties than SonED2 does, which can make it easier to see when something has an invalid subtype.
I was suspecting that to be the issue, and it was. Re-selecting the objects solved it. Now the solidity of most blocks is gone. Sonic runs for a couple of steps and falls through the ground. The solidity can't be modified in the tile editor either. It's most likely only a bug.
Edit: And now the intro animation is split in two and slopes are inaccurate.
Question. In SonLVL, are collision blocks displayed in this way? :
Black: All solid
White: Top solid
Yellow: L/R solid
And, is red color ever used?
That's pretty much accurate (Aside from Yellow being L/R/B). Red is never used, non solid blocks are simply transparent (you can clearly see the normal tile art).
Yeah, SonLVL uses the same color scheme as SonED2.
Someone's offered to make music for me, but they're using a tracker software called "FL studio" with a YM2612 emulation plugin called "GENNY". I know nothing of the software, but they said they could output VGM files. I was wondering if it was possible to convert VGM to SMPS? Or if there was another way to get the tracker data to convert both the notes and the instruments to SMPS? My experience regarding converting music files started and ended in 2014, so I know absolutely nothing here...
Disclaimer: I'm not an expert in making music, this is all based on things I've absorbed from listening to other people.
I don't think it's possible to convert a VGM to SMPS, but they can use FL Studio with ValleyBell's mid2smps driver plugin and the mid2smps program to make SMPS music.
As MainMemory said, if they're using FL Studio, they can use midis. They can download premade midis, use smps2mid, or create their own. I'm guessing what's going on is you've got someone who's not done Sonic Hack music for you before: if that's the case, they need to know the intricacies of creating a midi for the conversion to SMPS, such as using certain event channels to loop. Do you mind providing some more information so I can be of more help?
Sure. I'll send you a PM soon.
I know exactly what they're talking about, and no, it isn't possible. GENNY is a VST that emulates output for both the YM2612 and SN-76489, and for the most part is useful for creating mockups for music intended to use said chips. From what I've heard, it does have support for creating VGMs using its output, but I'm not familiar with the usage; that, and VGMs aren't actual music files and rather logs of the data sent to the sound chips that can be played back with several players.
However, one method of going about SMPS is to construct a song (or repurpose a premade MIDI) using either GENNY or VOPM (or whatever else you prefer that works, really) for FM channels and any sort of PSG emulation you prefer to use. You can then work from there by repurposing the song as a MIDI and using mid2smps with the instruments used in your instances of GENNY or whatever else. This is not my preferred method, however, as from my past experience I feel it simply adds clutter to the workflow and ever since I became proficient with mid2smps I've preferred to strip a MIDI down to fit the limitations of the MD and if I'm able to, preview the output with ValleyBell's MIDI driver; if not, then output the current results with mid2smps and test them with SMPSPlay, going back and fixing anything that sounds off before converting again.
Simply to clarify, FL Studio is not tracker software and rather is a DAW (Digital Audio Workstation) with support for importing and exporting MIDI. Many people (myself included) use it to work with MIDI files mainly because of the quality of the piano roll, which is arguably superior to those of many popular MIDI sequencers. However, unfortunately its MIDI support comes with a few quirks, the most noticeable from my experience being improper pitch bend importing (which can be fixed manually, but is a pain in the ass), which may turn away more hardcore MIDI users.
I haven't been nearly as active with SMPS for the past three years now, but I'm open to requests if you or anyone else happens to be interested. Just PM me with details and I'll see what can be done.
I've got a problem I can seem to find the source of, this is for all you SMPS nerds:
I have a midi of a Marble Zone remix I am running through mid2smps. As far as I can tell, I have everything set up correctly; however, once converted, no sound plays through the FM channels. The drums and PSG work fine, and I've even changed the instrument mappings and have found no luck. I can't tell what's causing this problem at all.
Included is the midi I am using as well as the SMPS file I am getting as output. I'd appreciate any ideas you guys have.
Pumping it through SMPS2ASM shows that the FM channels have valid data, but there are no voices included in the song; it seems the instruments weren't included properly...
I believe I had this problem once early on; my issue was that I had imported instruments into 2612edit and set mappings, but didn't save the bank and load it into mid2smps before converting (I was assuming at the time that things were handled the same way as drum mappings). Try doing this and see if you get any different results.
I thought maybe that was my problem as well, as I was using custom instruments, but I loaded the default instrument bank to make sure and I got the same result.
Are you positive that you loaded the bank into mid2smps with the "Load Ins. Lib." function, and not just 2612edit? I did a quick conversion of the midi that you're using (using the default instrument bank and without any tweaking whatsoever, so obviously the results don't sound fantastic) and the instruments played back perfectly fine; here's a vgm (or ogg, if you don't have access to a vgm player).
I tried this time, and somehow everything fixed itself on its own once again. It might have been what you said Akuma, but I could have sworn I loaded the instruments properly, same as I do for all my conversions. Oh well, now to get back to making music. Thanks!
Separate names with a comma.