How big is your object table? (addressing problems)

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: How big is your object table? (addressing problems)

Post by Drew Sebastino »

Espozo wrote: lda .LOWORD(ObjectTable)
God I'm an idiot... How did I not see I forgot the "#" until just now, and how did I accidentally get rid of it in the first place? :lol:
93143
Posts: 1371
Joined: Fri Jul 04, 2014 9:31 pm

Re: How big is your object table? (addressing problems)

Post by 93143 »

TOUKO wrote:i understand now why the snes's CPU was only clocked to 2,68 mhz ..
It's a shame that nintendo(ricoh in fact) has kept this half cycle access for memory, unlike hudson did for his HU6280 .
Technically it's 3.58 MHz (3.55 PAL) with penalties. The internal speed is 6 master clocks per cycle regardless of the state of $420D; it's just that slow access cycles take an extra two master clocks of wait state.

(This has the mildly interesting side effect that counting CPU cycles typically only gets you a rough estimate of the time taken by a procedure. To get an exact number you have to count master cycles.)

I suppose redesigning the 65C816 so radically was outside their budget... same with using 16-bit system busing with a smart interface to the 8-bit CPU bus, like the SA-1 did with its ROM... or maybe it was because they were going for backward compatibility with the Famicom until it was too late to make big changes. Either way, the CPU is definitely the least impressive of the three major subsystems.
Espozo wrote:God I'm an idiot... How did I not see I forgot the "#" until just now
I think that happens to every 65xx programmer at least once.

One time I managed to convince myself that the description of $212E (TMW) was backwards, because when I tried to load #$1F (but without the "#") I got $1F, which was initialized to 00h. Attempting to load #$00 got me $00, which some previous code had set to 9Fh (note that $212E only uses bits 0-4)...
User avatar
TOUKO
Posts: 305
Joined: Mon Mar 30, 2015 10:14 am

Re: How big is your object table? (addressing problems)

Post by TOUKO »

I suppose redesigning the 65C816 so radically was outside their budget...
It's really strange because a small company like hudson did it .
I think nintendo knew that they could upgrade the snes's CPU easily and cheaper if needed,this is why they don't care to have a better CPU on a stock machine .
Costs were their main priority,and maybe they did not have the time to redoing it ??.
I think that happens to every 65xx programmer at least once.
Ahaha, yes .
Revenant
Posts: 455
Joined: Sat Apr 25, 2015 1:47 pm
Location: FL

Re: How big is your object table? (addressing problems)

Post by Revenant »

93143 wrote:I think that happens to every 65xx programmer at least once.
Not just amateur programmers, either.

There are various points in Enix's Soul Blazer where a RNG output is read and then ANDed with some constant to get a random number within a small range, for example:

Code: Select all

LDA $0302
AND #$nn
... (several compares, branches, etc.)
... with the result usually leading to one of four or so different code paths (or more/fewer, depending on what's done with the value at $0302).

Except there's one place in the code where the programmer clearly made a typo:

Code: Select all

LDA #$0302
AND #$03
...
The code then still checks all four "possible" results to determine the "random" outcome, except obviously three of those things will never happen.

I haven't figured out where that particular botched RNG call actually occurs in the game, though, so I'm not sure yet what exactly the player is missing out on because of those three potential "random" outcomes that aren't actually possible to trigger.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: How big is your object table? (addressing problems)

Post by tepples »

If you do figure it out, TCRF probably wants to know about which options were left on the cutting room floor.
Revenant
Posts: 455
Joined: Sat Apr 25, 2015 1:47 pm
Location: FL

Re: How big is your object table? (addressing problems)

Post by Revenant »

That's actually most of the reason I was looking into it in the first place (I'm an admin there :P) but it will probably be a while before I have enough time to look that deep into the game again.
Post Reply