News: 11 March 2016 - Forum Rules

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 - Dr. Floppy

Pages: 1 2 [3] 4 5 6 7 8 ... 29
Yay! Dr. Floppy!
Sorry. I have nothing to add to the conversation, I'm just glad to see him back. :D

You and me both!!  :beer:  (<-- Yukon Jack™)

It's been a busy couple of months lately, what with me getting a new job, cutting down on the ethanol and starting a new regimen of anabolic steroids.
But rest assured, I'm fully-committed to doing all I can to Make RHDN Great Again! from here on out.  ;)

Newcomer's Board / Re: SMK music help
« on: April 26, 2016, 02:52:19 pm »
I've spent the past few months altering the music in SMK, and find raw hex editing to be the most efficient method (at least for the uncompressed tunes).

For the compressed songs, I create a standalone .bin file of the new song (uncompressed), then use the Advanced Codec compression feature in Epic Edit to compress/insert it in-ROM.

Newcomer's Board / Re: Super Mario Kart X Demo FINALLY
« on: April 26, 2016, 02:28:23 pm »
Thats cool who do you play as mostly?

The Turtle, mostly. Sometimes Yoshi.

Not to be a prickly pair, but what exactly is different so far? The racers and names all look to be the same...

I'm partial to diagramming everything in MS Paint:

First (far left) column is PrintScreened ROM code from the Debug Window. To the right of that is a literal synopsis of what's happening line-per-line ("Load A-reg with value at $690."), usually in blue. {You can skip a few lines for multiple INX's, LSR's, etc.} To the right of that (we're just past halfway across the screen nao) is a column of condensed explanations of what's happening over the course of several line-clusters ("Check to see if Dragon is biting Hero Elf's ass?"), in either dark blue or maroon. And on the far right, we have the blunt description of what all the navy/maroon stuff means in the context of the overall game ("If $690 is non-zero, Hero Elf's ass is being chewed on.").

I also draw arrows in the extreme left margin to keep track of Branches and Jumps. It's tedious, and I wouldn't recommend it for all projects, but if you really want to immerse yourself in the behind-the-scenes of a game it's incredibly effective.

Alas, legitimate black members of the KKK are a thing! (Ditto black supporters of the Battle Flag of Northern Virginia.)

History's a helluva drug!  :o

So what LOZ is doing is using a Sprite zero trick to generate/sync the status bar, and this trick needs to be executed every time the screen changes right?, and if it tries to pull the trick on the wrong graphic it goes into an endless loop, so there always needs to be a call for it at the proper address.

Zelda 1 does its music/sound handling at the top of each frame, and probably a few other tasks that don't take much time. Then it goes into a semi-infinite loop of BIT $2002 / BVC #FB, which means "Check to see if d6 of $2002 is set yet? If not, check again!" When the electron gun hits the first colored pixel of Sprite Zero which overlaps a colored pixel of the Bomb icon, d6 of $2002 gets set and the loop is escaped. The game then proceeds to inform the electron gun that it will now be drawing background data from a different Name Table source, and that's how the status bar remains "split" from the game field proper.

If the Bomb BG tile is moved, and nothing takes its place, then d6 of $2002 will never be set and the game remains in the now-endless BIT $2002 / BVC #FB loop. If another tile replaces the bomb tile, it will probably alter the location of the first colored-pixel-on-colored-pixel overlap, which will result in the split-screen being mistimed and looking "off".

ROM Hacking Discussion / Re: How to increase interest in hacking?
« on: March 07, 2016, 02:13:03 am »
Unless I'm misreading some extreme sarcasm in your more politically pointed posts, I would say that you are definitely Far-Right since you have blamed Progressive policies for causing a ballooning debt and say that you want to vote for Ted Cruz who is the most far right candidate of this election season.

Yeah, I'm probably "far-right" politically... But my penchant for legalizing hard drugs, prostitution, abortion, etc., doesn't usually sit well with the "conservative" set.

Ted Cruz is aight, but I voted for Trump in the primary.

I am simply saying if those are your genuine feelings towards women it is no wonder that you skew that far to the right which has consistently degraded women.

"Women trend towards Not-X" != "Women shouldn't do X". When you get a minute, please re-read my offending post. There is nothing in there even remotely resembling a "Girls shouldn't be allowed..." sentiment. I grew up in a family all but entirely comprised of females. What I stated is merely reflective of my firsthand experiences.

With all that said I have deep respect for your skills in rom hacking and you are often willing to lend a hand to those who need it. If you truly hold to these outdated ideas about women though you may want to re-examine your moral compass.

Here, here!  :beer:

I'm not saying I particularly like my observations, nor that I'd personally arrange for them were I The Almighty. Just that "it is what it is", and there's probably a reason why men and women have diverse interests.

Opcodes?  What are you, some kind of animal?  Use mnemonics!   ;D

Yes, probably, and aight. (In that precise order.)

LDA_zp $FF          A5 FF
BEQ_#FC             F0 FC
LDA_imm #00      A9 00
STA_zp $FF          85 FF
JMP_abs $C000   4C 00 C0

LDA_imm #01      A9 01
STA_zp $FF          85 FF

One query: is the keyword there "protestor", or "black"?

Either way, it seems that Trump has garnered the support of black KKK members:

Newcomer's Board / Re: Transposing music of Kirby's Adventure
« on: March 06, 2016, 04:55:17 pm »
I'd set read breakpoints to the low/high nybble ranges mentioned in Revenant's notes*, then identify the location of the "Draw Kirby!" music data based upon which bytes get pinged upon startup.

*My research has the low- and high-nybbles coming from the respective arrays at $8991 and $89CB (CPU).

I still view that ROR_zp$F0 / ASL_zp$F0 business with suspicion. Which mapper have you expanded the game to? I can see MMC1's quintuple bitshift paradigm playing all holy hell with MMC3's "Here's what I want to do. Okay, now do it!" ode to redundancy.

But could someone explain what exactly sprite zero is/means?

Sprite Zero is the first (technically 0th) sprite defined in the SPR-OAM loading dock at $200-3. The NES contains special hardware that detects when the electron gun reaches the first non-transparent pixel of Sprite Zero that overlaps a non-transparent pixel of the background tile. When this happens, the hardware activates a special bit in the PPU Registers (d6 of $2002). NES games can use the status of that bit to pull off special midframe tricks, most notably a "split-screen" status bar that doesn't scroll with the gaming field proper.

As it usually takes between a third to ½ a scanline's worth of time to get all the proverbial ducks in a row, there is often a visible ray of gibberish along the rightmost portion of the scanline post-Sprite Zero "hit". This is due to the electron gun being informed that it's now supposed to be drawing data from a different Name Table for the remainder of the frame. (The title screen of Zelda 2 hides this "line of derple" behind a pile of rock sprites.)

Moving or redrawing Sprite Zero (or its corresponding background tile) alters the timing of the Sprite-Zero hit detection. This can be harmless, if you're lucky. It can result in modest de-synchronization between the static status bar and the playing field: perhaps a few additional Lines of Derple. But most of the time, it simply locks up when game gets caught in an endless BIT $2002 / BVC #FB loop. (I call this Sprite Zero shit detection, as the game is constantly polling the $2002 register for a "hit" that never happens.)

Almost every NES game I've analyzed (which is admittedly nowhere near the 800-title strong library) contains an infinite loop at the end of the main program sequence. This loop is predicated upon the value of some RAM slot (usually in zero-page) being zero. A common setup:

Code: [Select]
A9 00
85 FF
4C 00 C0

The first two commands repeat ad infinitum until the electron gun reaches the end of Scanline 239, which triggers the Non Maskable Interrupt and yanks the Program Counter out of that loop. Towards the end of the NMI Routine, just before all the traditional AXY-juggling, you'll see something like:

Code: [Select]
A9 01
85 FF

Thus, when the NMI Routine finishes and plops the Program Counter back into the not-quite-infinite loop, the critical RAM slot will contain a non-zero value thus allowing the PC to bypass the branch and escape. (At which point the very first item of business is to zero-out that RAM slot, thus setting up the loop for the next frame.)

Oh yeah. I don't know if myself or anyone else has mentioned this but for my home state (Kentucky) and most or all of the states in the south east, if you need some more enemies we have three different types of poisonous snakes here: Copperheads, Rattlesnakes (there are a few diff kinds) and Cottonmouths (also known as a Water Moccasin, which I believe is the more common term around here). We also have at least two types of poisonous spiders: Black Widows and Brown Recluses (aka Fiddlers, again I think that's the more common term in my area). There's panthers as well but I'm sure we're not the only area that has them. The same goes for bears.

How on earth did you forget to inform me that Kentucky has an exclave?!?

That thing itself could make for a good standalone hack/homestyle. Elude the Slenderman/Goatman/Banjoman while midnight slowly ticks away to dawn... (Find Rainbowbeard's secret stash of ultrameth for bonus points!)

Might it have something to do with the ROR_zp$F0 / ASL_zp$F0 commands which bookend the Bankswap Routine itself?

Thanks a lot for sharing your expertise, I'll be trying this later.

While I did get a rudimentary version to work once I figured out how to use that Excel-based application, allow me to pick your brain a little bit more. This is from a memory standpoint: If all I'm doing is rearranging pre-existing tiles to make a different title screen, what is happening in the game that would make it run out of memory? Why would it overload this RAM loading dock? Please forgive my ignorance  :)

Not at all; both are very good questions!

The title screen isn't arranged in a 1-byte-per-tile format, rather a compressed format that takes up much less space. Thus, alterations to the layout need to be recompressed into this format, which often results in an increase in the data span. I'm not sure how the Utility you're using operates behind the scenes, but the frequency of compression (on-the-fly vs. only when you hit SAVE) is a big factor in its overall coding efficiency. Think of it like a math problem with multiple stages: rounding to the nearest whole number after every step is going to yield a different result than if you just wait until the very end and round once.

As for the RAM: the tiles you're rearranging share CHR-ROM space with the title screen layout code (most games don't do this, as it's almost never the best option). Thus, the game undergoes a special routine during Startup wherein it pulls this data from the CHR-ROM and places it in a temporary location in RAM I've come to dub the "loading dock" (totally unofficial terminology). As there's only so much space allocated to this area, anything written beyond it will be ignored during decompression/actual BG tile assignment.

Personal Projects / Re: Sour Music Kart + Demo
« on: March 04, 2016, 06:29:16 pm »
Not really. The info available is scattered over Board2 forums. From what I understood is that to insert custom music, messiaen's music importer is used with the old version of SMWC custom music files.

It's all good. I've since figured out how to hack the music via hex code.

At $9FF5 (where the second #00 currently is), enter:

23 C9 46 55
23 D1 46 55
23 D9 46 55
23 E2 04 99 AA AA AA
23 EA 04 99 AA AA AA

You should have just enough space in-ROM. (Hopefully, it won't overload the RAM loading dock.)

As Dr. Floppy pointed out, moving the Sprite Zero is bad, so the one command that you should not move is the one at 1A30E. Its data sequence (F7 24 F9 61) draws a vertical line of 4 tiles: Rupee, nothing, Key, Bomb...
Alternatively, you can replace that segment with whatever you want as long as you make absolutely sure another segment puts Tile #61 at $20CB.

ROM Hacking Discussion / Re: How to increase interest in hacking?
« on: February 28, 2016, 11:44:59 pm »
No wonder you're a Republican.

Since when am I a Republican?  :huh:

Pages: 1 2 [3] 4 5 6 7 8 ... 29