11 March 2016 - Forum Rules

Main Menu

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.

Show posts Menu

Messages - pangenttech

Quote from: ArugulaZ on June 26, 2022, 01:37:40 PMIt's United Feature Syndicate, not King Feature Syndicate (which is a competing publisher).

Surprised we made that error. (It's correct in our Week of Garfield Update.) Will fix it in the next update.
The decision to make Garfield an entire sprite row shorter (and about a sprite column thinner) is baffling, though the actual sprite work is of high quality throughout. There's not a lot of pixel space here and you've voluntarily chosen to not use any of it. There's a lot of skill here otherwise. You could argue that the other stuff is an improvement.

I think my Odie looked like yours at one point, before being reworked to suggest more height. Odie only has two appearances in the game so I wasn't designing Garfield around that.
Don't really like having my work redrawn but this is charming. Rani likes it as well.

I give permission to release this as Improvement rather than Addendum, with credit.
 That's fixable - IF the two are differently coded metasprites -

-- we fixed lots of other things - but uh

  Why did you redraw Garfield and Odie?

  Feeling weird about that.

  You'd need to change that metasprite's construction in about nine places in the ROM. Every level is, for some reason, coded differently. One of those places is at 2D7E.

  It appears that the same construction is used regardless of which way Garfield is facing, so it's not super fixable. This is probably also true of when Garfield gets stunned/"itchy" from the bug. Also the code is just weird generally.
I actually just want to write the NERM palette if in NERM mode, not write both, but that's fine, thank you.

This is probably close, but I tried something like this in the code and it crashed the ROM .... from the start, when in theory it shouldn't be loading this info at that point ... which means I need to look at the rest of the code again ...

I sort of took it for granted that I had the right subroutines and ... I'm thinking I don't, now ... apart from the addresses I listed myself.

I think I was working off of bad info here unfortunately ...

00C8C0 (in ROM) - jump to CAB0 
CAB0 (CAA0 in ROM)

LDX $0727 ; players counter
CPX #$01 ; check if equal to 1p mode
BNE $CABB ; if false
; if 1p
JSR $8232 ; 1P palette

JSR $CA44 ; 2P palette
LDX $0726 ; difficulty counter
CPX #$03 ; check if equal to NERM mode
BNE $CAC8 ; if false
JSR $CA68 ; NERM palette
I know I can't BEQ a JSR or RTS, so how would I write this? This is supposed to write the correct palette (when coming out of pause mode) depending on player/difficulty mode.

Not even sure this is remotely right, but it's what I've got ...

LDX $0727 ; players counter
CPX #$01 ; check if equal to 1p mode
BEQ JSR $8232 ; jump to 1P palette
CPX #$01 ;
BEQ @skip
LDY $0726 ; difficulty counter
CPY #$03 ; check if equal to NERM mode
BEQ JSR $CA68 ; jump to NERM palette
CPY #$03
BNQ JSR $CA44 ; jump to 2P palette
   If you want a version of "Bomber Man" that's titled "Bomber Man" I have good news for you
ROM Hacking Discussion / A Week of Garfield
May 09, 2022, 07:57:43 PM

We've been working on upgrading A Week of Garfield (Famicom/NES) with new graphics, and some other changes.

I've overhauled the title screen (and made other changes) but that's not released yet. (Four-legged Garfield has a little more animation.)

This has a reputation as a bad game, but it at least looks better now.

Our question is about the jump kick. Garfield has a kick attack, and can also kick when jumping, but no animation plays for the jump kick. We've been hoping to add an animation to this for awhile. We still have about three extra tiles which would be enough to animate with, or otherwise the standing kick's art could be used.

For no reason, the jumping, stretching and damage sprites are flopped in the ROM compared to the walking sprites. This has become relevant when messing with the code.

We can experiment with affecting the kick animation by changing ROM address 01D0EB from 09 to 00, and additionally changing 1D0F0 69 to A9.

EDIT: According to Rani, Game Genie codes SXSIIESU+ZESITALP+OKSSAEPX+IESSPALA+PESSZAES+ENSSZAEI+PVSSGESU+YESSIAZE+XVSSTALE+XVSSYEAO+OXVIAEPV rewrite the code enough to get us the standing kick in mid air.

More ideally we would load a construction at 3840 or some other empty space in the ROM, where we could insert new left and right jump kick sprite construction.

Otherwise it could load the standing kick sprite construction.

QuoteThat would take a different sort of code rewrite than the one I did. We would have to plot out what all the animation frame call numbers mean and possibly shift a few around. Watch RAM addresses 004F and 0342 to see what I mean.

Version with jump kick has now been uploaded:

 Now updated to version 3, with a very revamped Jon, and I've redesigned Odie again.

May 13, 2022, 07:56:09 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

  Updated to version 4.

   Garfield now has a jump kick with two pixels more range, there's a revamped title screen, and revamped scenery for the Jon Arbuckle cutscenes and ending. Garfield's four-legged mode has a little more animation (as does Odie in this hack).

There are a lot more tools to work with NES games if you're new to the whole thing.

I have used that SMS emulator to look at stuff though.
  Thanks, that does make sense.

  I've updated the ROM accordingly, and the 2 player mode looks MUCH better now.

  Someone is also working on inserting the music, so more on that soon. There is already a test with "Friends Are There" working.

Okay, I've saved a larger 81KB version of the NES ROM which does allow for four more CHR banks.

The existing code seems to use binary, only really allowing for 0 and 1, so I'm not quite sure how to translate that to 8 and 9.

RAM Offset $727 keeps track of what player mode is selected, apparently.
   This is a hack of the Dr. Mario prototype "Virus," released in 2020.

Amilgi has surprised me by writing NSF music for Dr. Garfield, four themes in total. I'd like to figure out how to get these into the NES and Game Boy ROMS.

Music selection #3 seems to exist in the ROM from 006ECF to 0072C0, and selection #4 from 75D2 to 78AD. The original music is left over from Tetris. I can copy/paste data into that section and get a bit of a mess of noise. Song 2 in the NSF starts at F0D probably.

Pasting from NSFs of Tetris and Dr. Mario also only gets nonsensical noise, at least where I've pasted them.

QuoteSome notes:
- I only used the 2a03
- I didn't use any DPCM (could be used for drums if we wanted)
- I made one simple instrument to handle the arpeggio in the gameplay music. Some drivers/converters prefer no instruments & just tracker effects, while others prefer exactly the opposite. I can rework parts of the module if needed for easier implementation.

QuoteMost straightforward way is to inject Famitone or a similar sound engine into the ROM somehow.

Tetris disassembly:

  Also, about CHR bankswitching:

   Being a prototype, there is a fair amount of empty space in the ROM and the title screens and backgrounds are basically drawn uncompressed in full. This made it easier to hack.

The backgrounds in 1P and 2P mode bankswitch between the 0 and 1 CHR registers, to create some animations with the viruses.

For 2P mode, I would like to switch between the 8 and 9 registers, so I can do more with the background.

I can about halfway understand what the code is doing, but not enough to make this happen easily.

(Searching for 9F63 leads to the associated code, I believe.)

The added 8 and 9 CHR registers are also not recognized by the ROM at this point. I think something needs to be changed in the header?

  (Several CHR banks were already added to allow for sprite bankswitching on the title screen.)

  I asked about this previously, and got a confusing answer:

If you're new to NES hacking these will be new concepts.
    Discussing this from a different point of view:

    The NES uses four palettes at a time. You can view these palettes in an emulator like Mesen or FCEUX.

   The graphics editor YY-CHR also has a hex palette editor. You can probably find specific palettes in the hex code and change them.

    From a hex code standpoint, sprites are usually coded in four bytes like -- horizontal location, graphic tile used, which of 4 palettes used + whether flopped or not, vertical location.

   If you can find the sprite construction in that code, you can usually change the palette used on every tile of a sprite. Finding that code can be tricky from a hex standpoint.
  Now updated to version 2.2, with a taller Odie whose ears are pulled down, which gets him closer to being in scale with Garfield.

  Also other minor changes like Garfield's walk cycle.
   I wanted to do that but am not sure where it is in the coding.

  EDIT: I've actually figured it out now, and can implement this in an update.

  It's a little wonky since the original word "NINTENDO" was done in a different palette, with the N repeated. "GARFIELD" doesn't repeat letters and I didn't have the space for it, so I had to include "R" and "D" in the wrong palette. Otherwise it's fine.
Looked it up, thanks!

Reviews are appreciated!

The Garfield Kart Readme has some cheats which allow for immediate unlocking of Jon Arbuckle and Odie.

The game plays differently with these characters- Odie is always at high speed and has slightly goofy handling (partly because Elbobelo wasn't involved in the coding). It's fun.

Coincidentally, Rani and I have done a "better graphics" version of NES ET also, which isn't public yet and needs more work.

Also I'm doing another update on Odie in A Week of Garfield, and some other things ...
   I can update the hack listing to credit you. (And have already submitted a correction.)

   Maybe even in the hack itself.

  I would really like to see that unreleased RC Pro Am 2 hack.