#NES/FC/FDS/Dendy

1 messages · Page 9 of 1

fierce estuary
#

I don't really get why these garbage chinese games and stuff have to be played on mister and not nintendulator, but that's why they ask

pseudo phoenix
#

Thanks for explaining. I hope it doesn't break the core at some point I already have a don't update if it works mindset 🤷🏻‍♂️

fierce estuary
#

well, it's right on the edge of failing timing closures now

#

timequest only shows shadow masks as failing all the timings, because they are painfully demanding

#

but it wont actually evaluate the core

#

the massive switching to choose mappers is probably not great. OAM ram handling isnt great at the moment either

pseudo phoenix
#

Looks like we might need a light no-crap added core as standard. Didn't catch the techy details but I'll Google it haha

covert crypt
#

Having a "pirate" version of the core would be great but I guess then it's getting into fork territory

#

As far as I'm concerned, I feel like official accuracy is most important.

#

It'd be a shame to have the core bloated and difficult to work with because of bootleg stuff.

dry lynx
#

Worse is better (also called the New Jersey style) is a term conceived by Richard P. Gabriel in a 1989 essay to describe the dynamics of software acceptance. It refers to the argument that software quality does not necessarily increase with functionality: that there is a point where less functionality ("worse") is a preferable option ("better") ...

mellow dawn
#

If you have the NES cable I think I remember you can just make a NES to SNES adapter to add to it. If not there are pinouts that show you how to make one from scratch.

gray plaza
fierce estuary
#

if you disable automatic shift register replacement it will pass timings

#

because it stops trying to do stuff to to the shadow mask code

cursive sable
#

For me personally it's just some homebrew games that used some custom ones, I don't care about getting every mapper, especially those that were just for pirate carts

cursive sable
#

Also I would like to make a Genesis cable too so might as well also make a SNES one

#

..... I also want to make a SNES to NES adapter to test out homebrew that supports that XD

#

Shame the core dosen't have the option to attach a SNES controller to the NES outside of SNAC but I get that's a very minor thing very little supports at the moment

mellow dawn
#

The cables all have identical number of pins. (I implemented them in the different cores NES/SNES/Genesis/Amiga/ao486...did I do Mac?). I think the pins for NES and SNES match, but would have to check.

mellow dawn
#

Note that while flash saving in mapper 30 is not implemented, Save states are.

mint lichen
mellow dawn
#

Yes. If crashing is happening, save states will not help.

blissful prairie
#

Death Race looks funny. Not great, but ok. It looks like a Grand Theft Auto prototype, as if Grand Theft Auto and Xevious had a violent baby 🍼

#

Lain on a coding spree 😉

blissful prairie
#

@Lain, what is the story about the missing mapper 42 interrupt?

gray plaza
fierce estuary
#

that game has such unique fds music

teal ivy
glacial turtle
#

Damn, that's banging

teal ivy
#

the GB Nintendo Power carts are a bit more interesting to me since there's a custom menu for those and you can build roms with a homebrew. i think i remember some homebrew compilation or something being released through one of those

#

but of course on MiSTer you can just play the games in the compilation on their own

glacial turtle
#

What format are the Nintendo Power Cart dumps in? I wonder what the difference is between them and regular ROMs that means they don't load

#

Looks like there was a Gameboy cart as well

teal ivy
teal ivy
glacial turtle
#

Ah interesting, does the core load any of them?

teal ivy
#

just tried rev 1 of the menu on MiSTer, it works

glacial turtle
#

Nice

cursive sable
teal ivy
#

but hey, if nothing else it's a cool tool for making snes roms with a custom text

cursive sable
#

Are you sure you're choosing games that don't have special chips?

teal ivy
#

yeah, i'm choosing games that were actually on NP

#

the (NP) dumps too

glacial turtle
#

Presumably something must be able to run them if the tool is confirmed to work

#

Or only for using with the original cart?

#

You would think if the tool is documenting how it makes these files then some emulator would have coded support for them

teal ivy
#

the program also generates a map file that can be used to burn it to the original cart with Sanni's Cart Reader, so maybe that's all it was tested with

#

same thing with the GB version... but, you know, this is a pretty cool boot rom for the GB core https://www.youtube.com/watch?v=eselAAmIIoI&themeRefresh=1&theme=dark

Forest of Illusion has recently released dumps of GB Memory cartridges, one of them has a Seminar 1998 label on it, but the menu seems to be dated early 1999, suggesting a repurposed cartridge. You can find those dumps here:
https://twitter.com/forestillusion/status/1436674868242575360

To give you an idea how early this is, the GB Memory cartri...

▶ Play video
mellow dawn
# gray plaza I don’t know unfortunately because I haven’t looked into it in depth yet. When I...

https://github.com/MiSTer-devel/NES_MiSTer/blob/db23c4f84910e6f78f8f8f0fda12dded4c19d92f/rtl/mappers/misc.sv#L888 It looks to me like the else is probably not applying to the correct if. I almost never skip begin and end with if to avoid mismatches. The whole irq block in this driver is misaligned as none of it is inside the if prg_write statement.

GitHub

Contribute to MiSTer-devel/NES_MiSTer development by creating an account on GitHub.

topaz moonBOT
#
else // Mapper 42 (broken)
gray plaza
#

oddly enough when I test the core prior to to my changes, the one game I know that uses the IRQ, Bio Miracle Bokutte Upa, doesn't boot.

mellow dawn
#

Did you verify the header?

gray plaza
#

Just did there, it uses Mapper 42.

fathom ingot
#

Am I the only one who's unable to run Death Race on either of the latest core updates? It just simply shows a grey screen to me. The ROM hash if needed is f46593d06364d70e6f0aa9d5708eef30. Mister PI 2nd batch if that matters.

gray plaza
#

#1091056042667937944 message

#

Check the header, most ROM dumps incorrectly attribute Mapper 144 to Mapper 11

#

Mapper 144 relies on bus conflicts for bank switching

fathom ingot
gray plaza
#

No problem, it's probably gonna be very common with old ROM uploads, always best to compare checksums with collections such as No-Intro

clever scarab
clever scarab
blissful prairie
# clever scarab

And the "accuracy fixes" should be included if it's from the main branch.

fierce estuary
#

why is that in quotes

#

they are real accuracy fixes

inland blade
fierce estuary
#

yay. 😐

glacial turtle
#

Is there a .sys update bundled in with the flurry of updates?

split mauve
#

so much sudden action on NES haha

#

I was reading some of them earlier like the open bus and quasi-predictable results. That doesn't sound like a fun one to track down even if it probably has no tangible diff in gameplay

sharp geode
#

impressive

split mauve
fierce estuary
split mauve
covert crypt
fierce estuary
#

also the tests that mister fails don't impact timing or behavior, just a few pixels flickering or not if you intentionally break it

covert crypt
#

Who cares about audio or actually playing the game

fierce estuary
#

ill fix them eventually but they arent really an accuracy thing

split mauve
#

(but its just "dont worry when you see a tweet saying X test failed. Its a synthetic. It does not affect gameplay. Hell some old ass hardware might fail one. My Twin Famicom did" video)

fierce estuary
#

tricnes is valuable for speedrunners as it tests potential tricks

#

so the need for it to be accurate is very high to do that well

#

it's a TAS tool for testing what's theoretically possible

#

but it's not a thing you can use to play really

#

that's my understanding of it

split mauve
#

he can play TriCNES (yes its just for TAS inputs, not for humans)

covert crypt
#

I respect the level of work that has gone into the emulator. But I think this is such a flashing lights example of "more accurate =/= more better"

#

No audio, no input, NTSC only

split mauve
fierce estuary
#

yes

#

which test matters a lot

covert crypt
#

It's like saying a tank is safer than a bicycle. Yes. But is it practical to get you to work?

split mauve
#

I just put them into buckets; "accuracy you can play/see/hear" and "accuracy that is only measurable by machine and has no bearing on playing games accurately"

steep yew
fierce estuary
#

like I said before, failing some of those apu register tests matters not at all, or oam corruption, while failing sprite 0 hit means your whole emulator is broken

sharp geode
split mauve
split mauve
#

we got outbid by a metric FUCK TON yesterday on a place so...FIRE THOSE GUNS BABY

covert crypt
#

I live in the UK, no shootings but the fish and chips can be dismal sometimes.

split mauve
#

450K asking, 450K offered, final selling price 565K...so yeah just a BIT over asking

steep yew
#

jesus

split mauve
#

that's when accuracy matters 🤣

steep yew
#

I didn't realize we were still there

covert crypt
#

During COVID, house prices here went crazy. We had to pay over the asking price for our house.

split mauve
#

ok I realize I am way off topic lol...mortgages suck, NES is cool

covert crypt
#

£5k over I think. It hurt.

steep yew
#

All that to say, I think it's so fucking cool that, in the year of our lord 2025, the NES core continues to get better

covert crypt
#

You need a roof over your head to play the 2nd most accurate way to play NES

split mauve
#

so we will drag our ass up to shooty stabby park

covert crypt
#

Why can't gangs settle their differences via Micro Machines on NES

steep yew
split mauve
#

(that being said I go there sometimes. Ive gone into fried chicken joints. They have the best chicken. Everyone is cool and we talk chicken)

steep yew
#

Just come out to naperville - we have lawns and everything

split mauve
#

(not for David Carridine purposes. I need to be specific!)

glacial turtle
covert crypt
#

Yeah it was somewhat lucky!

split mauve
#

2022 was awesome too. We got re-pre approved. Rate wasn’t horrible. We both got laid off THREE weeks later 🤣

blissful prairie
fierce estuary
#

I think it's unlikely that they do

#

but they are still technically accuracy fixes

glacial turtle
#

Peace of mind for speed runners of MiSTer's accuracy if nothing else

steep yew
#

I can’t remember if I said this here or elsewhere but, for me, a great judge of a core’s accuracy is whether or not speedrunners can use it for records.

gray plaza
#

I think some people have issue with the fact the SMB1 record was played on MiSTer but those are the same people who think flashcarts are cheating and will go out their way to invalidate people's achievements.

acoustic tangle
#

Show that messen who's boss

#

Now I'm wishing bunnyboy would let us load and port this nes core into the AVS

#

Or at least open source the thing

#

There's enough open source cores in the wild that no one will probably copy him

#

The tang dude uses the mister core right?

split mauve
fierce estuary
#

it can do a lot of things the core can't that are extremely valuable, particularly it's in depth debugging tools

acoustic tangle
#

Of course I was just poking fun

#

I didn't know about sour tho

#

But then again I'm not keeping up with modern emulators

fierce estuary
#

these tests are getting used like a scorecard but I can't stress enough that 'gotta catch 'em all' is the wrong attitude to have, the significance of each test varies wildly

acoustic tangle
#

I told people on X that you can't claim "100%" accuracy because you pass tests

#

If only it were that easy

fierce estuary
#

I cleaned them up in mister for peace of mind and because I know people will freak until I do, but anything over 110 is going to be an amazing emulator

acoustic tangle
#

Indeed

blissful prairie
#

Thank you for fixing that, Lain!

gray plaza
blissful prairie
#

it's great to see such young talents at work 🤗 my thanks go out to him as well.

grand jewel
#

I added a feature request for Mapper 446 on GitHub.

cursive sable
#

But then everyone will argue how much points each test should get

fierce estuary
#

or better yet don't look at them as points at all but just a guideline for what your core does right or not and use that info to form an understanding of what might or might not be impacted

#

the number is a lie

cursive sable
#

I thought that was cake?

timber lava
#

Eggerland - Meikyuu no Fukkatsu (Japan) and Elysion (Japan) show grey screen with last unstable, they working on last official release.
Can someone check if they work on there side on last unstable ?

#

Also God Slayer - Haruka Tenkuu no Sonata (Japan) has issue on SNK logo screen not present of last official release

steep yew
#

Does it work with this one? #1091056042667937944 message (I can also look in a bit)

timber lava
fierce estuary
#

i'll check on those

#

not a scroll register thing

#

it's the PPU behavior

#

so, the famicom does not block writes to the PPU on the first frame

#

it lets you write right away

#

the NES however clears registers until the end of the first vblank

#

I used to have famicom behavior, but to pass one of the tests I changed it to NES behavior

#

it's responsible for that

#

@timber lava it likely only impacts the initial screens, am I wrong?

#

this would probably also happen on a real NES, without a flash cart, or an AV Famicom (also without a flash cart)

fierce estuary
#

this is likely accurate unwanted behavior then

#

I was wary of passing that test

#

pff

#

ill make it optional

timber lava
#

Thank you

main narwhal
#

which test is it? is it one of the row 10 by any chance?

#

(which fail on my Famicom)

fierce estuary
#

page 15 first test

main narwhal
#

oh thats the one that fails with an everdrive

#

anyway, interesting that one test needs to fail for commercial games to work

fierce estuary
#

yes, for obvious reasons

#

that tests on boot to see if the ppu can be immediately written to

#

on NES it can't

#

on an everdrive, it's obviously long past boot

#

it's kind of a bad test because it's really better for emulators to have famicom behavior

main narwhal
#

makes sense. I read somebody got it to pass by using an everdrive without the os (booting into the ROM)

main narwhal
fierce estuary
#

@timber lava does Metal Slader Glory have problems?

main narwhal
#

apparently these games could be problematic: https://www.nesdev.org/wiki/Game_bugs

NESdev Wiki

Listed are games that have been tested on NES or Famicom hardware and verified to look wrong or odd. This can be caused by NES hardware limitations, programming errors, or even intentional effects within the game. Refer to this if you're developing an emulator and find a game that looks wrong, before you look for a problem in your emulator. If y...

#

I pointed the regional behavior differences in their discord and they are aware... hopefully they will tweak the test, but they may also just claim it tests for NES rev. G

fierce estuary
#

it's fine, I already implemented a toggle I just need to wait for it to build

#

it defaults to famicom

main narwhal
#

I know these tests are pedantic but thanks for fixing them... it feels nice to have the core passing them

fierce estuary
#

the 3 PPU ones are a PITA

#

I hate dealing with oam addresses

main narwhal
#

looks like a big change in PPU would be needed there... so very little work/reward ratio

fierce estuary
#

not huge

#

just annoying

#

reg [7:0] temp_tile;    // Holds the tile that we will get
reg [3:0] temp_y;       // Holds the Y coord (will be swapped based on FlipY).
reg flip_x, flip_y;     // If incoming bitmap data needs to be flipped in the X or Y direction.
wire load_y =    (cycle == 0);
wire load_tile = (cycle == 1);
wire load_attr = (cycle == 2) && enabled;
wire load_x =    (cycle == 3) && enabled;
wire load_pix1 = (cycle == 5) && enabled;
wire load_pix2 = (cycle == 7) && enabled;
reg dummy_sprite; // Set if attrib indicates the sprite is invalid.

// Flip incoming vram data based on flipx. Zero out the sprite if it's invalid. The bits are already flipped once.
wire [7:0] vram_f =
    dummy_sprite ? 8'd0 :
    !flip_x ? {vram_data[0], vram_data[1], vram_data[2], vram_data[3], vram_data[4], vram_data[5], vram_data[6], vram_data[7]} :
    vram_data;

wire [3:0] y_f = temp_y ^ {flip_y, flip_y, flip_y, flip_y};
assign load = {load_pix1, load_pix2, load_x, load_attr};
assign load_in = {vram_f, vram_f, temp, temp[1:0], temp[5]};

// If $2000.5 = 0, the tile index data is used as usual, and $2000.3
// selects the pattern table to use. If $2000.5 = 1, the MSB of the range
// result value become the LSB of the indexed tile, and the LSB of the tile
// index value determines pattern table selection. The lower 3 bits of the
// range result value are always used as the fine vertical offset into the
// selected pattern.
assign vram_addr = {obj_size ? temp_tile[0] : obj_patt,
                                        temp_tile[7:1], obj_size ? y_f[3] : temp_tile[0], cycle[1], y_f[2:0] };
wire [7:0] scanline_y = scanline[7:0] - temp;
always @(posedge clk) if (ce) begin
    if (load_y) temp_y <= scanline_y[3:0];
    if (load_tile) temp_tile <= temp;
    if (load_attr) {flip_y, flip_x, dummy_sprite} <= {temp[7:6], temp[4]};
end

endmodule  // SpriteAddressGen

I mean look at that

main narwhal
#

that looks like the kind of code where you change 1 value and a lot could break...

fierce estuary
#

correct

#

so what it's testing for is if you intentionally corrupt the OAM ram and it loads corrupted sprites into secondary memory, that one of those sprites counts as sprite 0

main narwhal
#

so it reassigns some sprite indices when it does that?

fierce estuary
#

becuase you've corrupted the ram it doesn't load a sprite into sprite 0, so sprite 1 or 2 or whatever the first it should count as sprite0 instead

#

which is accurate and all, but somewhat pointless because why would that ever happen in a meaningful way

main narwhal
#

ah interesting, it's as if it compensates for the corrupted ram

fierce estuary
#

no, it doesn't compensate, it triggers buggily with the wrong sprite

main narwhal
#

so all sprites get corrupted

fierce estuary
#

which isnt surprising because you've used a bug to break it

#

yes, a scanline will end up being a garbled line

#

for one frame

main narwhal
#

blinking pixels...

fierce estuary
#

right

#

like a line flicker

#

but games dont do this

#

you have to try

main narwhal
#

I suppose the only case where it would be purposefully done would be an "emulation detector" code,

#

but why would somebody bother with that

#

(a ROM could be easily patched)

fierce estuary
#

an unreliable one

#

I will fix those last tests

#

it'll just take a while and annoy me

#

I just didn't want any speedrunners feeling nervous in the meanwhile

main narwhal
#

yeah... MiSTer can fully be used for speedrunning,

#

so these tests do help ease any concerns

fierce estuary
#

im not going to add the 2007 RMW behavior because I think it has the potential to break things and it's not well enough investigated

#

it's certainly not a bug

main narwhal
#

I feel the same about those Famicom-specific behaviors;

fierce estuary
#

it's just behavior of later >1990 models

main narwhal
#

the ROM should be tweaked to flag model differences

fierce estuary
#

no rom would expect that behavior

#

nor intentionally trigger it

#

@gray plaza could you clean up some of your warnings please?

#

especially that prg_sel, latches are real bad

#

this is also bad

#

@timber lava this should resolve the famicom issue, the option is under the Advanced menu

#

I also updated sys

#

and fixed an extremely minor inaccuracy in the apu (when you reset the triangle wave regissters shouldn't reset)

#

if you want to pass that test, you'll have to set the reset behavior to "NES"

#

but it will break some japanese games

timber lava
#

Thank I will test it 🙂

timber lava
#

Confirmed Japanese games listed working again and accuracycoins is now 120/125 with famicom value for PPU reset behavior
with NES 121/125 !

main narwhal
timber lava
#

I wonder if the header of the rom have information regarding if it is nes game or Famicom game that could permit to switch between those two configurations.

blissful prairie
blissful prairie
#

Since the default is Famicom it is probably better to guess that it is NOT a Famicom game and switch to NES reset behaviour. No clue if that's feasible.

cursive sable
#

Wasn't the only difference the extra pins for the NES10 chip?

blissful prairie
#

I guess that all PAL Roms can safely switch to NES reset behaviour? But the US NTSC games? Can those be differentiated from NTSC FC games? Eg. by detecting the number of pins or the presence or usage of the lockout chip and automatically switch to NES reset behaviour when those fit or are a PAL Roms?

cursive sable
#

Oh, forgot about PAL

half pasture
#

We should have three options then: inaccurate / NES / Famicom. Defaults to inaccurate

#

Pls don’t make the core worse because of a useless test rom 🙏

gray plaza
gray plaza
#

Didn't apply default case, rookie error my bad.

tropic sinew
#

I don't really see it as a useless test ROM any different than the test ROMs for PSX or N64, I can see them being annoying, and I want to see results from an actual NES with an EEPROM of this test to see. That's my main gripe with the test. You can't have a proper test if you don't show results on official hardware. If official NES scores 121/125, then I think y'all have accurately gotten it done. Still, if it does not, I think it's worth it to build a core, if only for archival, with all of it. But it's hard work, and I know that.

#

Guy obviously knows what he's doing with the tests and his emulator, so I think the effort he put in isn't good to reduce to "useless"

fierce estuary
#

you have to be careful of latches or false clocks because both will wreck timings

gray plaza
#

Gotcha, thank you for the heads up. Didn't have those warnings after the fix but I am using the lite version of Quartz so it may be different on Pro?

fierce estuary
#

I use lite as well

#

they are there, you can use filters when you build

fierce estuary
#

RWM 2007 and PPU reset flag in particular are both valid for one model or another

#

as for auto selecting famicom vs nes behavior there is really no point. No nes games are impacted by famicom behavior, they simply are designed to not write to the ppu during the first frame. Headers contain video region (ntsc/pal) not nationality and also several games were released as "world"

timber lava
#

We need to continue testing games to see if we can't find any regression !

steep yew
#

I loaded it up last night but didn’t get a chance to futz with anything

latent breach
#

all this activity on the core and I’m over here playing my real NES w/Everdrive metalslime

fierce estuary
latent breach
gray plaza
#

ah yea, was like that till recently haha. I remember having some weird issues with the N163 core on the N8 where it'd crash randomly when attempting to port over SMB2J to it years ago. Even after implementing stuff like thread safety

#

Didn't happen on the pro, and my boyfriend replicated the issues on his OG N8

grand jewel
#

With the latest changes from today on mappers from Lain, and the changes from Kitrinx (like the APU).
Timing requirements met, this time.

covert crypt
#

When will it hit 126/125 though

steep yew
#

You joke but I think I read that kit suggested another test? (or maybe just a tweak of one)

fierce estuary
#

I use a lot more tests personally than just that one, that's why the core did so well

#

but I don't think the public can really handle them because they don't understand the results

#

like this one

steep yew
#

FF in the chat

gray plaza
#

Wow that's a lot of hex on the screen

fierce estuary
#

not a lot

#

but all the bytes have to be right

#

sort of. they can shift around but still have to match a correct pattern

gray plaza
#

What's this for?

fierce estuary
#

making sure reads from 2004 are accurate

gray plaza
#

gotcha

urban meadow
#

Kitrinx is hexactly right.

cursive sable
fierce estuary
#

yes

#

people used to have to use game genie

#

The Lord of King Will not boot on NES-001 (frontloader) due to an inadequate wait before enabling NMIs. Fixed in Astyanax.

cursive sable
#

Huh, had never heard of Famicom games that don't work in NES

fierce estuary
#

Magic John, The Lord of King, Metal Gear, etc

#

if you use a flash cart or a game genie, they initialize before the game and will fix the problem

#

so it has to be an original cart with an adapter

cursive sable
#

Oh, so you don't even need a code, just having the genie plugged in

fierce estuary
#

yes

#

because the reason is for the very first frame after reset the PPU is not write-able on NES. If any amount of time is added between the game booting, the PPU has already unlocked itself

#

it was a stability thing to avoid unstable initial values

#

but famicom games could just dive in running

#

on famicom they used a little capacitor on reset to add a very short delay but not nearly as much as NES

cursive sable
#

Is this just earlier Famicom games or did they keep doing it throughout the Famicom's lifespan?

fierce estuary
#

I think it's mostly the earlier ones

#

they used the same PPU for the AV famicom so by then they must have figured something out?

cursive sable
#

Same as NES you mean?

#

Didn't the earliest Famicom PPUs have some kind of overheating problem now that you mention it?

fierce estuary
#

dunno

#

but revisions before G had pretty different behavior

#

G is by far the most common PPU

gray plaza
half pasture
#

Is there a palette (.pal) file for the Dendy? It looks like it used the same PPU clone chip as the Brazilian NES clone called Phantom System. I want to put it on the MiSTer core and compare the colors with a real Phantom System console

blissful prairie
#

But I am not advocating anything here. Famicom behaviour for all games is very fine for me of course 🤗

topaz moonBOT
#
colors := []uint32{
fierce estuary
#

to be correct it has to have meaning

#

if you can explain to me how famicom ppu behavior could meaningfully impact the behavior of a NES game i'm all ears

half pasture
glacial turtle
#

Is the guy who made the test suite going to expand it with more tests?

fierce estuary
#

probably

sullen fable
grizzled tusk
#

I thought the core already had the inverted duty cycle audio some clone CPUs have.

hasty river
#

Does it support things that the FXPAK Pro doesn't?

cursive sable
#

Yes, the SPC7110

hasty river
#

Oh okay

fierce estuary
gray plaza
#

I don't know if anyone I met has actually preferred the swapped duty cycles, they don't really add to anything and sound really bad (imo)

fierce estuary
#

It's a feature nobody will use except as a brief novelty and it takes resources

#

There is software emulator for that

grizzled tusk
#

A lot of people only had access to those "broken clones", because the original NES was too expensive to import back then.

fierce estuary
#

I feel bad for them, but fortunately they now have a high quality experience available

grizzled tusk
#

Fair enough, I wish I had the expertise to implement it on a personal build.

#

Personal build, because a PR would be rejected instantly...

fierce estuary
#

My apu is really well written and documented so it's a great starter project

gray plaza
#

Discrete hardware clones too, not NOAC garbage fortunately

#

The only one I can say it's kinda poor are any which use UMC chipsets (there are some clones that don't thankfully)

clever scarab
blissful prairie
gray plaza
#

Yeah I saw that request, I can take a look later today

faint osprey
#

any chance this recent development may move the needle for the motivation to support original NTSC video output from the core's simulated PPU (combined with one of the available active composite/s-video adapters)?
https://www.retrorgb.com/hdr-and-the-naughty-nes-a-technical-deep-dive.html

Recently Bob tried out the new RetroTink4K feature announced by Mike Chi where illegal NES colours could be displayed in HDR:
https://www.retrorgb.com/retrotink-4k-real-nes-composite-colors.html

This is a pretty exciting development, and I'd like to take you through some of the technical reasons

half pasture
#

“Illegal NES colours”

#

Color police robby

vivid roost
#

you might need completely different hardware to achieve it?

#

i think the luma trap on the existing converters would prevent it generating such signals

dim relic
#

Is mapper 263 supported?

#

Never mind. Found the mapper list and it isn’t.

gray plaza
#

Looking at the documentation it seems to be MMC3 with scrambled registers. I'm guessing you're just wanting to play KOF97?

dim relic
#

Yeah. Both games on that mapper looked interesting.

gray plaza
#

Probably could be done very easily, either through adding the mapper or patching the ROM

urban meadow
mellow dawn
topaz moonBOT
#
assign has_chr_dout = !(cpu_ppu_write) && (print_reg || print_exp || print_spot || print_midi || print_oct || print_let || print_shp);
haughty wedge
#

question, what is the most accurate color palette for this core? or recommended on CRT TV?

livid leaf
fierce estuary
#

you just want to make sure the palette has accurate luma values, the chromas can be whatever you want really within reason

half pasture
dry lynx
#

Always use the Kitrinx palette. Anything else will get you shunned by the community

gray plaza
fierce estuary
#

you can use whatever you want

gray plaza
#

We don't judge

dry lynx
#

Okay, shunned by me. How about that? 😉

fierce estuary
#

if you want the colors to look nice together though, the luma is what matters

livid leaf
#

I actually like the NES Classic one.

dry lynx
#

shuns

#

(That’s a weird word)

gray plaza
dry lynx
#

At first it felt weird to me because it was different to what I was used to, but now I’ve been with it for a while, anything else looks weird 😅

#

But generally I haven’t got a clue what is “correct”, and since Kit says smart shit like “luma”, I trust that she’s an expert who knows best and so I never have to worry about those things 😅

#

That’s generally my favourite thing about MiSTer. Minimal to no configuration necessary 😎

fierce estuary
#

in composite there is two components, luma and chroma. Luma is how bright a color is. If you viewed JUST the luma, it would look like a black and white tv. Chroma is the hue applied to the luma which turns it into a color of <luma> brightness. We have two types of receptors in our eyes (simplified): one for brightness which is very accurate, and one(s) for color which are very inaccurate. This is why chroma subsampling from modern 4:2:0 video works without bothering us. Even though our brains don't seperate luma and chroma when we look at something, we are much more sensitive to levels of the former than the angle of the latter. This is why luma matters more than chroma in this situation. Also the chroma varied by model but the luma not so much.

#

in my palette the chroma is idealized within a realistic range of what could-have-been on some model with some tv, and the luma is mathematically accurate.

#

there's no right answer though, just some answers are more right than others

#

perhaps someday we'll have AI auto-tweak idealized palettes for every game based on percieved intent if the game artists had had more granularity to work with than 4 levels of luma and 12 angles of chroma

half pasture
#

I am still dreaming of getting my hands on a palette file that gets close to the Brazilian NES clone called Phantom System

#

Willing to donate one to anyone willing to make one

tulip basin
tropic sinew
#

that is info i extrapolated from his emulator, which is based on his own NES revision and passes the test fully

#

i really want to see some runs of the rom on real hardware

fierce estuary
#

we know that and it's not like he's unaware of the other hardware

#

he explicitly states it's for the behavior of revision G

tropic sinew
#

okay, sorry, i came in very late so idk what is known

#

yeah

fierce estuary
#

however even that revision has some minor variation

tropic sinew
#

that is interesting

fierce estuary
#

particularly with the RMW2007 behavior

tropic sinew
#

have people tested it on real hardware?

fierce estuary
#

yes

#

but everdrive messes with a few tests

tropic sinew
#

cant use an everdrive for this one sadly

#

you'd have to use a donor cart

#

or a new PCB

#

but that is obvious to you

fierce estuary
#

you can, but it will change the initial ppu behavior and it emulates open bus

tropic sinew
#

yeah, but to verify perfectly you can't really use the ED

fierce estuary
#

someone figured out how to replace the OS of everdrive with the test cart too, and that will pass the initial ppu behavior

tropic sinew
#

ah

fierce estuary
#

however that shouldn't really be a test

tropic sinew
#

thats cool

fierce estuary
#

because NES style PPU behavior breaks a bunch of games

#

so defaulting to famicom makes more sense and doesnt impact NES games at all

tropic sinew
#

how does this present itself irl?

fierce estuary
#

broken games?

tropic sinew
#

like actual broken games on a real NES?

#

because of a revision?

fierce estuary
#

they try to write on the first frame and it ignores the write, so they are either non booting or corrupt title screens

#

yes broken on real NES

tropic sinew
#

interesting

fierce estuary
#

you have to use an everdrive or game genie to get around it

tropic sinew
#

i did not expect that

fierce estuary
#

game genie adds frames before booting so it wont hang on frame 0

#

the behavior of the PPU on famicom and NES is different

#

NES locks the PPU for the entire first frame

#

famicom does not

tropic sinew
#

right yeah, and the PPU resting state is distinct per chip/revision

#

hm

#

all famicoms?

fierce estuary
#

so some famicom games try to write on the first frame and fail

tropic sinew
#

i wonder why

fierce estuary
#

I believe the later ones did not, which probably was an issue over there

tropic sinew
#

it seems so unlike nintendo

fierce estuary
#

AV Famicom I think used the same ppu as NES

#

not sure how they dealt with it

#

seems like nintendo in the 80s

#

NES was loaded with bugs

tropic sinew
#

honestly, that makes sense, being that it was their first home console

#

i'm just surprised i haven't heard about these cases happening irl before

fierce estuary
#

the cpu was also basically stolen

tropic sinew
#

yeah that i know haha

fierce estuary
#

since it doesnt happen in the other direction

tropic sinew
#

that is fair

#

in essence, is it then fair to say that a perfect FPGA emulation of a NES is in principle impossible because the NES itself was not consistent?

#

also, i did see that y'all fixed a few things, so it's still good work

#

i don't know if it's worth it to make a core right now that completely passes the test but is faulty sometimes - it would be an archived version of essentially the test maker's NES but is there much value in that? i don't think so, not as a focus

#

anyway, good work :3

#

i know the NES core is a complex beast with its many mappers

dry lynx
#

But I do appreciate there are a range of preferences and no single perfect solution

#

In the UK there’s a cleaner that has a slogan like “does the hard work so you don’t have to” - that pretty much goes for all the core devs here too 😅

fierce estuary
#

you all think too small when asking for weird clone systems

split mauve
tulip basin
#

understandable

split mauve
#

nobody needs to watch past minute 2 of a video if the want the headline. 2-10 is a conversation on why the headline matters

granite pivot
cursive sable
#

What about the Famiclone that was shoved into a modified N64 controller mold with a light gun attached to the top and a cartridge port in the back?

jade zenith
#

this is maybe the worst thing to ever come out of china

cursive sable
#

What about before the Famiclones with all those "systems" that resembled a console or handheld but were basically just Tiger LCD games?

jade zenith
#

these are actually somewhat cool

#

this is my favorite famiclone personally

cursive sable
#

Cool? I think you're the first person I have ever seen call those LCD games anything other than trash vineLUL

jade zenith
#

i mean yeah it's garbage but the concept is neat enough

fierce estuary
#

that penguin is a nes?

jade zenith
#

yeah it's a famiclone lol

#

someone should put a mister in there

clever scarab
jade zenith
#

top 1 console design of all time

clever scarab
fierce estuary
#

wow with a whole 6" of controller length?

#

oh nm the cords sort of retract

#

looks like maybe 2-3'

covert crypt
main narwhal
#

not that we need even more attachments for PC Engine consoles...

#

not a tower of power, more like chain of pain

blissful prairie
#

Was that even an official term? A tower of power in the strict Zappa sense is... something different

main narwhal
#

it does sound like the marketing they would use at the era

#

it was not official; it's just people stacking carts with cart slots on top of each other

#

the PC Engine, on the other hand, was totally official...

#

I mean look at this

#

I still bought all of that though... 😅 I have one good working CD drive so might as well make the best of it

#

(not my pic)

main narwhal
#

here, to get back on topic ^

gray plaza
#

that is honestly quite frightening

livid leaf
#

Could be taller

solemn sedge
sullen fable
#

I'm already picturing something like this on the Game Bub.

dreamy marten
#

The horizontal layout will make it slightly more usable

fierce estuary
#

that certainly makes sense 🤡

pliant juniper
#

Checking out Mario bros remastered on steamdeck

#

Funny to play as toad

quasi dome
solemn sedge
# quasi dome wait what is this?

Analogue Pocket + Cartridge slot extender (extender) + AdFami (Famiclone that routes controls and screen through GBA) + 60 to 72 pin adapter + NES cartridge

jade zenith
fierce estuary
#

the least convienient possible way to play SMB on an FPGA

solemn sedge
#

Yeah, it's terrible, I don't recommend it. I just wanted to experient and see if it worked.

fierce estuary
#

that cart converter in the pictuer above is cool

main narwhal
#

I got one of those, it's from MyArcade

#

it's designed mostly for "normal" Famicom carts though

#

my older Everdrive N8 barely fits; the newer (taller) N8 Pro won't fit

latent breach
main narwhal
#

ba dum tss

median sphinx
# faint osprey any chance this recent development may move the needle for the motivation to sup...

What this article covers is a fun way to interpret some of the voltage levels that come out of the NES (emphasising as always that it's not "perfect" or even "more correct" than anything else, merely interesting). There's not anything new there that can help with what you're asking. Plus, what you are asking for requires pushing over-spec voltages out of things, as well as simulating weird analogue/physical-material effects, at which point you're probably just better off playing with various palette creation tools again (like pally, that I linked to in the article, which has a few fun options).

faint osprey
jade zenith
#

it would be cool but it sounds like a lot of work considering we already have decent enough composite output

median sphinx
#

Some of which has to do with the physical materials that made up the components inside the NES (right down to the CMOS material of the PPU itself). Which means you either need to go and make specialised hardware with 1980s materials, or you just simulate their characteristics, at which point your want for a "perfect" 1:1 recreation now just becomes simulation once more.

#

If someone went and made a combination of a core that did exactly what the NES PPU does, and the appropriate hardware (made from modern materials) to output the signal, it would still end up looking different to a real NES because of the above. Again, not doubting that it wouldn't be "cool". Merely that, visually speaking, you're not gaining anything from it all compared to what's on offer right now.

faint osprey
median sphinx
#

Even if it does the PPU simulation, I'm very curious to know what the final output looks like.

faint osprey
#

the composite (and s-video) output is a really good replica of the original, basically just a tiny pinch tint/hue adjustment away from looking like an original famicom's composite

median sphinx
#

Ta, I'll have a read. "Tint/hue shift" is what I expected.

median sphinx
#

OK, not a lot of detail there, but the sort of colour shift mentioned there is very likely a result of what I mention above. Modern day materials will impact the final signal in a different way to the materials and components in the original hardware, hence the colour shift.

#

So again, is it cool? Sure. Does it provide more real world benefit than the current "palette" based model? Nup.

faint osprey
median sphinx
#

Alternatively do what I did in the article above, and use HDR (as in, real BT.2020 and perceptual quantizer EOTF). Assuming you have a HDR display.

#

But either way, totally achievable. The colour maths for this has been in use for a long time in industries like VFX.

faint osprey
#

a palette specifically for HDR displays would be great

#

though it won't be good for use with a CRT

#

for a CRT you'd still want the original over-voltage output

#

and don't think you can do that with analog RGB

median sphinx
#

The scale method I mentioned will work in SDR. It's analogue, and you can treat your brightness/contrasts like dynamic range.

#

There's nothing stopping you hitting the colour co-ordinates "accurately" (with respect to a decoder/display/phosphor combo).

#

Again, I'm not at all denying the "cool factor". Yes, accurate simulation is cool.

#

But we have the tools to get the colours desired otherwise. All that needs to be understood is why things are the way they are, and why out-of-spec stuff is variable.

#

Same reason a real NES looks different on two different TVs.

#

Nintendo's own NES Mini/Classic palette (same one they use on their old Virtual Console offerings, I believe), adjusted for brightness, came in with a mean Delta E 2000 of very close to 2 (well under 3, which is considered the threshold for human colour perception).

#

If you're after a highly accurate palette for either an RGB modded NES, MiSTer or an emulator, I'd recommend it, and turn your CRT's contrast up by 10-15% or so to hit the peak brightness targets you want.

faint osprey
#

Brown/earthy tones are actually the achilles' heel of all palettes, they never look as natural as they do from the original composite/RF outputs

#

And even some that may look okay in one game will look off in another, or will involve another color that looks off when compared to the original

#

bumping up the contrast on a CRT can only go so far, but I guess it's something to play around more with

median sphinx
#

I'll try to look at my raw data again from my previous tests and see what the delta E 2000 of those brown colours were compared to the mean.

covert crypt
#

I'd be cool to get an adjusted NES Classic palette. I'd do it myself if I knew anything about colour science and how to make a nes palette.

half pasture
#

Phantom System pallete wen

#

A friend helped me to compare the palettes available on MiSTer and PAL_saturated.pal is the one that gets closer to the Phantom System colors, in case anyone cares 😃

jade zenith
#

a nes console in an atari 7800 shell with genesis controllers and a master system zapper. this is incredible

half pasture
#

It’s really close, as far as I can remember

fierce estuary
#

that large green snake looking thing is like an analog voltage resistor thing

#

replicating it digitally, plus the external elecrtronics, is really just a crap shoot

#

the NES composite was out of spec with more than just voltage

faint osprey
#

Wow. That's already godlike work though, at the limit of what can be reasonably expected from a non-business/for-profit project

#

At least it can be a key foundation

#

I wonder how doable it may be to reverse-engineer what Kevtris did with the Nt Mini

dreamy marten
covert crypt
#

Cursed C to run A to jump

fierce estuary
#

his composite isn't accurate

half pasture
median sphinx
grizzled tusk
faint osprey
# fierce estuary his composite isn't accurate

True, besides the voltages/colors being different (though the colors can be adjusted to closely match an original), the sync is also off. Dejitter settings affect composite, and beyond that, the composite video can have flagging at the top of the picture on some monitors (while original composite does not on the same monitor)

fierce estuary
#

that's the odd/even behavior of skipping a pixel

faint osprey
#

but I guess it could still be possible to build on the approach to get to something more accurate

fierce estuary
#

it's disable-able on mister

faint osprey
#

the flagging issue is present regardless of the dejitter setting though (which just slightly changes the shape of the distortion)

#

actually, the MiSTer core has the same issue when taking RGB and converting it to composite with a transcoder, now that I remember

#

this is on a CRT monitor/input card that is kinda rare though, it's probably fine on most

#

not 100% sure about the NES core though, I'm. 100% sure it happens with the Turbografx core

jade zenith
#

it's like the n64 and genesis 2 had a son

covert crypt
#

Nintendenesis 64

fierce estuary
#

can someone run this on a real frontloader nes and take a picture of the output for me? Run it a few times after reset to see if it stays the same

mint lichen
fierce estuary
#

thankie

half pasture
#

Wondering what’s being cooked? 🤔

#

It smells good already! elmorise

steep yew
#

kit going for that 126/125

fierce estuary
#

the core already passes like this massive pile of blargg tests i've had for ages

#

which are more in depth

#

the coin one just has some newer discoveries

#

that's why the ones mister failed were all pretty much inconsequential, because they were edge cases to things that were already passing

sullen fable
#

So what you're saying is that the Mister NES core is almost perfect?

clever scarab
#

MiSTer wins again! elmorise

main narwhal
fierce estuary
#

oh, so there is

timber lava
#

Three more tests pass 🙂

fierce estuary
#

im not gonna do that one in column 19

#

but im working on the arbitrary sprite0 hits to finish with that

steep yew
#

what is 19?

fierce estuary
#

RMW 2007

#

it's something you'd never do, and it has unpredictable behavior that varies by system

#

I don't know what kind of problems it might cause and not every system does it

#

so I dont think I should implement it

#

it shouldnt really be a test

half pasture
#

So is the NES core better than the real console now?

cursive sable
#

Wait until some resistor decays or something and starts making the sound too fast and then it will be a yes 😉

gray plaza
#

How difficult would it be to implement the PPU $2000 glitch, and the first write bugs with $2005 and $2006? (Assuming those two haven't already been implemented, if they have then apologies)

Mainly asking out of curiosity because I do recognise this is extremely dumb to replicate because this adds nothing to the experience and only adds a tiny percent of accuracy in terms of replicating the NES/FC resulting in a occasional scanline glitch in some games or some other behaviour

main narwhal
#

amazing work!

clever scarab
#

I mean, it’s ok

main narwhal
#

are you trying to trick her to write the whole core 😄

clever scarab
glacial turtle
fierce estuary
#

yes

#

I think he "discovered" it so he doesnt really want to

#

it's like his one thing

glacial turtle
#

Could he maybe rework it into something useful?

fierce estuary
#

fuck if I know, ask him

#

I see no use for it

clever scarab
#

But what about the DMA?

main narwhal
#

if I'm not mistaken, Shout from Mesen also said he wouldn't fix that one

#

so you're not the only one saying that test is not well understood

hoary sparrow
#

wow this is cool! 🙂

#

If a feature is never used, it makes sense to give it a swerve.

cursive sable
#

From what I understand it's not just unused, but it's highly dependent on random factors not fully understood that can make it pass or fail not just on different revisions of the hardware, but even on the exact same console at times. Dosen't sound like a reliable test to me if that's the case.

grand jewel
#

I've just seen Antoine GOHIN tweeting about the Rainbow mapper.
https://x.com/AntoineGohin/status/1970895260818768259

🌈I've been working on the NES Rainbow mapper a lot lately, trying to squeeze a bit more features and fixing some issues. I also ported it for the Everdrive N8 Pro so everyone can now play with it on their computer with Mesen2 or with their NES! Links are below if you're curious.

clever scarab
sullen fable
#

Wi-Fi cart for the NES?

#

What?

grand jewel
#

Wi-Fi capabilities to allow online gaming, cartridge update, downloadable content...

sullen fable
#

Is it in any way somehow similar to this?

#

This does require Wi-Fi.

grand jewel
#

Apart from the WiFi connection, everything else is different and that's not for RetroAchievements.

clever scarab
#

Oh hey random question. Can a game use multiple mappers at once?

grand jewel
#

Like with Super Tilt Bros.

#

You can play online against friends.

clever scarab
#

That’s super cool

urban meadow
#

I think it's super tilt personally...bro.

fleet coral
#

sorry for the possibly noob question but do bootleg multicarts generally work? i have a specific one i'm nostalgic for, and i gather those cartridges used some "non-standard" bs in their internals, so i'm wondering ... (i don't have my mister yet so i can't Just Test It but i'm making some custom little NFC cards in advance)

cursive sable
grand jewel
#

Antoine left some documentation, some code for Mesen2 and the core for the Everdrive N8 Pro.

#

And he is quite available on the NESDev Discord if necessary.

timber lava
#

so on mister it is better not using rainbow version of Super Tilt Bro but the uxrom version

fierce estuary
#

how does a wifi mapper work on everdrive?

cursive sable
#

It just simply uses the FPGA to create the WiFi hardware and antenna of course vineJape

#

I assume that feature is not going to be avaliable on the Everdrive version of the mapper

main narwhal
#

if its one of those carts that hijack the whole system, then it may be better as its own core

#

given at that point its just using the NES as a display and controller adapter

fierce estuary
clever scarab
#

If I start sucking at NES games I’m going to blame that one test that failed as the culprit, not my gaming skill.

cursive sable
main narwhal
#

(which I like a lot, I think it's agreat idea to have 2 systems side by side - but it's not a feature that makes sense in the "central" core)

glacial turtle
#

I am not sure online play would be doable on MiSTer, I don't think we have that anywhere else

main narwhal
#

there's network connectivity though

#

on ao486 and Amiga?

glacial turtle
#

Presumably if it were then 486 would be where we would see it

#

Can either of them do online play?

#

Like, you and I can't play a game of Command and Conquer

#

That would be ace if we could, but is that even feasible?

main narwhal
#

it may not be fast enough yeah

#

it does TCP/IP though

glacial turtle
#

I am not even sure if it is speed, but what would be needed to be supported to be able to have online connection to start with? Would there need to be FPGA implementation of some sort of network card?

main narwhal
#

so in theory it could play networked Doom, etc

jade zenith
main narwhal
#

you need drivers for ao486, same as a real PC

glacial turtle
#

I feel like if this were doable then there would be a lot more talk about it, but maybe I have missed it all

main narwhal
#

High speed UART (3Mbps) internet connection

#

the core advertises this ^

#

that's modem speed

#

though a fast modem

glacial turtle
#

So, what is the blocker for it being easy to do online things in the core? Like surfing the web like it is 1995, and playing online games with someone else with a MiSTer?

main narwhal
#

people do

glacial turtle
#

Ah nice

main narwhal
#

of course you're limited to whatever software can run

#

so BBS are probably the nicer experience

#

my guess is that many people don't bother because you have to install the dedicated drivers, troubleshoot it, etc

fierce estuary
#

why are there old computers in my NES channel?!

#

get off my lawn you uppity kids

main narwhal
#

but the NES is an old computer 😅

#

okay, not the NES per se...

#

the telephony features of the Famicom were obsolete really quick too

#

I dont think anybody cares about those horse betting and stock market "applications"

sharp geode
teal ivy
#

someone made a flashcart for the Famicom Network System, but no one's made any homebrews for it that i know of

main narwhal
#

not sure how much you can do with the hardware without a server

teal ivy
#

someone has very vague plans for a server

timber lava
half pasture
#

It’s a race now it seems elmorise

timber lava
#

With last unstable and PPU reset behaviour set to Famicom

half pasture
#

WAT

#

How in hell adding a new test breaks previously passing ones?

timber lava
#

You mean the screenshot of Kitrinx ? She didn't published changes.

half pasture
#

Oh, gotcha! I thought her changes were in the unstable build already. Thanks for the heads up!

fierce estuary
#

15 will pass if you toggle it on

#

it's in advanced

#

but it breaks games

timber lava
#

yes !

fierce estuary
#

I haven't tested it for regressions yet and save states in the ppu need to be cleaned up a little but you can play with it if you want to a bit

#

seems okay tho

timber lava
#

Thank you will test it after work and let you know if I found something

timber lava
#

This issue is fixed Kitrinx

hasty trout
#

Oh wow

#

That’s good news!

timber lava
#

Yes !

timber lava
#

I have to set new option RAM clear to Random to pass tests like the screenshot above

timber lava
clever scarab
hasty trout
#

So far I haven't found any regressions in the NES build posted above

timber lava
#

Famicom and some NES revision behave differently for this test. So those japanese games won't work on NES.

clever scarab
#

Oh ok

calm jay
#

Plz use famicom

#

This is the way

clever scarab
#

NES > Famicom, change my mind

glacial turtle
#

You can't shout into your NES controller to beat those Rabbit dudes in Zelda on the NES. You can on Famicom.

#

Although you can't on the core either currently

blissful prairie
# clever scarab NES > Famicom, change my mind

Easy. You lose the VRC6/VRC7/FDS/N106 extra sound channels in exchange for an extension port that was never been used by anything. Thus technically FC > NES, Famicom games sounded better because of the superior FC HW design

timber lava
glacial turtle
#

Nope, the only controller that could do it was one of the hard wired controller (port 2 I think?) on the original Famicom, not the AV Famicom. Would need to be supported over ADC with a mic plugged in, but would be clunky.

timber lava
#

ok !

timber lava
#

because of the robby the robot 🙂

clever scarab
cursive sable
main narwhal
#

who knew, the price of accuracy is to make your experience more crappy

cursive sable
main narwhal
main narwhal
#

also 127/128... wow...

cursive sable
timber lava
cursive sable
main narwhal
main narwhal
#

(which is pretty much what the original did anyway)

cursive sable
main narwhal
hasty trout
#

FDS connects through the cartridge slot, not expansion port

cursive sable
main narwhal
cursive sable
main narwhal
hasty trout
#

There was also a Twin Famicom model by Sharp that has a built in FDS, to switch between the two you just flip a switch on the top

main narwhal
#

but its no big deal. you have to change cartridge to change games anyway

hasty trout
#

It locks the cartridge port out if you switch it to fds mode

#

Can’t have a cart while switching it to fds mode either

cursive sable
main narwhal
cursive sable
main narwhal
#

to be fair I also have both an FDS drive (for real disks) and an FDS key, and removing it is easier if you have the key attached

cursive sable
#

I just have my childhood NES that I have ot fix up someday

hasty trout
#

FDSkey is really neat, I used it to back up my fds games

cursive sable
#

Nice, I used the Sanni cart reader to abckup most of my saves and dump my carts

#

Though sadly a few of mine the batteries were dead 🙁

#

But I got just about every important save I wanted except for like 1-2

timber lava
#

@glacial turtle Need to be check but you can set a MIC (button) for the joystick on the NES core.
"J1,A,B,Select,Start,FDS,Mic,Zapper/Vaus Btn,PP/Mat 1,PP/Mat 2,PP/Mat 3,PP/Mat 4,PP/Mat 5,PP/Mat 6,PP/Mat 7,PP/Mat 8,PP/Mat 9,PP/Mat 10,PP/Mat 11,PP/Mat 12,Savestates;",

fierce estuary
#

and nothing could really break because the registers were unlocked

fierce estuary
#

I think the mic was so bad most people just blew into it to get it to work

#

it also often caused a persistant buzzing sound

main narwhal
#

it would be funny if somebody added tests for those games to AccuracyCoin... so then it becomes obvious that you either break those games or break some tests

hasty trout
#

Yup, I do that usually on the rare occasions I use my twin Famicom with a game that supports the mic.

Any Famicom with the mic generally needs to have the 2nd controller cleaned periodically or it can cause really terrible audio problems

fierce estuary
timber lava
fierce estuary
#

"no" is the behavior it currently does

fierce estuary
#

it's possible because he doesn't initialize the ram old values can cause false failures

timber lava
#

it doesn't happen every time I get one here after a clean start and load directly the accuracycoins nes rom

fierce estuary
#

those are odd ones to have problems with

#

5: Reading from Palette RAM should NOT use the buffer.
it never uses the buffer for palette ram

#

probably some value in memory

timber lava
#

I don't know if it is linked but I use boot2.rom to have FDS animation when NES core is started.

main narwhal
#

try without it, the test is intended for NES which doesn't use it

#

although it does answer my curiousity of what the test would do with an FDS 😄

timber lava
#

seems less frequent without boot2.rom but after 8th attempt I have one test KO

sharp geode
#

TricNES: "finally a worth opponent, our battle will be legendary"

steep yew
timber lava
cursive sable
fierce estuary
#

that didnt use the nes mic

cursive sable
#

I was thinking of Takeshi's Challenge

#

It has a part where you have to sing Japanese karaoke, apparently can tell if your pitch or volume or something like that is off and it's pretty strict

glacial turtle
#

Kid Icarus used it if I remember

#

But to add to confusion there were Karaoke game carts that had a microphone port that was higher quality than the rubbish one on the Famicom controller

#
NESdev Wiki

The following is a list of games which utilise the microphone found on the Famicom's hard-wired second controller, along with their in-game functionality. The microphone was removed from the New/AV Famicom and NES systems, the latter of which lead to some western localisations having to remove or replace...

pseudo phoenix
#

So will the new and improved NES core (but quite confusing) become official? And PPU reset behaviour set to NES only breaks Japanese games but it passes test 15? Should it be set to Famicom because test 15 isn't a real life problem

timber lava
pseudo phoenix
#

Thanks @timber lava surprisinly short list of games I've never heard of. So @fierce estuary what's the trade off for not passing test 15? Or isn't there any use case for selecting NES PPU behaviour.

fierce estuary
#

and it defaults to famicom behavior yes

#

because in fact no games are impacted by famicom behavior (it would be very very hard to make a game that was impacted by it) but several games are impacted by NES behavior

pseudo phoenix
#

But Famicom fails a test (15) a real OG Famicom would fail too. Ergo test 15 should be omitted/skipped/ignored. Phew I'm taking notes

fierce estuary
#

right, most famicoms and nes consoles will also fail the one in column 19 as well

#

some (seemingly newer) ones have that behavior

#

I try to target early revision G NES consoles in terms of PPU behavior for NTSC

#

however with things like famicom reset behavior there for the sake of not getting 100 bug reports about broken japanese games

clever scarab
#

First thing I’ll do is disable Famicom behavior and set it to the superior NES behavior

graceful field
#

Would it be worth considering using the rom header information to toggle this?

#

Not sure if there is enough there easily make the choice (and maybe overkill if famicom behavior always works for all games)

fierce estuary
#

what part of the rom header would you use?

graceful field
#

Looking more I think it wouldn't work 😢 unless I'm missing something. There is an extended console type but it seems like famicom and nes are always grouped together.

half pasture
#

Any unused bits that we could encode the region? J - Famicom, U - NES?

fierce estuary
#

they are sorted by NTSC and PAL

#

and we can't add stuff to the header

#

it's a standard

#

there is literally no reason to do this anyway

#

if you can find a single NES game that acts differently in famicom mode, I will try to find some way

graceful field
#

If (user == Robby) famicom else nes elmorise

timber lava
#

MGL could be the way.
I use it for PAL settings for some games.

latent breach
#

ah yeah just mgls for the couple (if any?) games that need it

faint osprey
jade zenith
#

funny how the AV famicom added composite output, but the NES toploader removed it

dreamy marten
#

Toaster > US toploader

#

Hot take

#

controller > dogbone

clever scarab
fierce estuary
#

I say famicom but I mostly mean the famicoms made before like 1987

faint osprey
#

the only real Famicoms are the sometimes called '83 and '84 Famicom, HVC-CPU-01 to 06 (some 07 are okay I guess)

fierce estuary
#

they have really buggy PPUs replete with issues

#

they cant play things like Micro Machines

blissful prairie
#

So the most compatible version of the "Nintendo" is the later Famicom?

fierce estuary
#

they all have problems

blissful prairie
#

Or the early ones?

fierce estuary
#

the best version is mister

#

av famicoms are probably the most compatible if you dont want to use light guns

#

or mics

#

nes carts had CIC chips of course where famicoms didnt have supporrt for this

#

so no famicoms can play nes games

#

or is it vice versa?

#

yeah there was no cic chip in the console to stop it

#

anyway , just avoid real hardware and you'll be good

faint osprey
#

AV famicoms sound weird, and not just because of the off balance expansion audio

#

otherwise they're really nice

#

I guess it comes down to the sound being too "clean", and ends up feeling kinda "metallic" to me for lack of a better word, it needs the LPF/slight muffling of the original famicom (of course, not the point of being over muffled like on a twin famicom)

#

btw the famicom titler is also sadly over-muffled, though you can get around this by getting the audio from an rgb blaster

glacial turtle
#

You can play NES games on AV Famicom with an adapter, I have done it

main narwhal
#

Im pretty sure lightguns work on the AV Famicom?

#

but now Im doubting. Will try again

gray plaza
clever scarab
#

NES wins again!

half pasture
#

With MiSTer, everything wins! elmorise

flat ridge
#

@fierce estuary is your palette the "truest" palette?

fierce estuary
#

i'm going to say yes, because truth is a luxury of the victor

cursive sable
#

I've been meaning to ask, do any of the palettes let me see the "illegal" blacks like in The Immortal over a HDMI output?

steep yew
fierce estuary
#

should the out of range black colors have like, neon pink or something?

cursive sable
#

They're supposed to be a shade of grey aren't they?

fierce estuary
#

they are not

cursive sable
#

Or at least, that's how they are supposed to appear

fierce estuary
#

incorrect

cursive sable
#

Then how are they supposed to look?

fierce estuary
#

black

#

k here's the deal

cursive sable
#

The sprites definitely look off with them being just black

fierce estuary
#

NTSC tv has a pedestal of 15, this is to keep it away from low voltage moments that indicate timing signals like syncs and blanks

#

it scales around this so a signal with 15 will appear as true black

#

the NES invalid colors have a value of 0

#

they can't go negative, so 0 still appears as true black

#

but, if you use them, you can break crappy old analog tvs that rely on voltage

#

if they appear grey it's because someone is doing math incorrectly on a number they expect to have a non-zero value

cursive sable
#

But then why would The Immortal just have two blacks next to each other?

fierce estuary
#

this is sort of a simplification, but it's basically true

#

NES of course generated it's own composite so it's more of a minium voltage thing

#

I don't know who The Immortal is or why he would do that

#

but you are expressly never to use the invalid black colors

cursive sable
#

It's a game

fierce estuary
#

it will break analog tvs

#

if they are in use it's an error

cursive sable
#

Trying to find an example of the color difference, but I ran into NEDev saying "Contrary to what some older documentation claims, this is fairly well tolerated by TVs of the era and not cause for a game to fail certification. " about it

fierce estuary
#

it's not dire enough that it would likely be egregious, but it's definitely creating an invalid signal

cursive sable
#

Yeah, the signal is invalid, not disagreeing there, but it was used in The Immortal to add an extra shade of grey from what I have seen that did show up in most CRTs

fierce estuary
#

if it created some extra color, it was a quirk of how someone's tv handled it

cursive sable
#

Oh, the NESDev wiki actually has the example I was looking for, it mentions that it creates an additional shade of grey

#
NESdev Wiki

On an NES, the palette color $0D causes the signal to drop below the normal black level. This low voltage signal is sometimes mistaken by televisions for blanking signals, which can cause an unstable picture, or total picture loss on some devices. Other devices seem to process with signal without problem.

#

"Also uses all three de-emphasis bits to compensate for the the user cranking up the TV set's brightness so that regular black ($xE/$xF) can be used as a first darker shade of gray, and color $1D as an even darker shadw of gray, while color $0D is used as a black background color"

#

It appears to be clearly intentional since the sprite looks like it's missing parts when it's just pure black

#

Was just wondering if there was any way to see this over HDMI

swift temple
#

I patched mine to fix that just in case it reacted with anything goofy.

cursive sable
#

Patched?

swift temple
cursive sable
#

I see, so it basically removes the trick it was trying to use to create more greys and just replaces it with black so it dosen't cause issues for some TVs?

#

I was hoping there was a way I could see these colors over HDMI

swift temple
#

Honestly didn't look far into it. Just saw fix for weirdness and patched lol

cursive sable
#

XD "Patch exists so it must be good"

swift temple
#

Ye! 🤣

#

I have the original next to it so could jump back and forth if needed but had this game as a kid and just wanted both options in case it reacted weird with my crts or hd flat

mellow dawn
fierce estuary
#

if that's the case the tv isn't tuned right

cursive sable
#

I mean, the extra parts you see on the orc sprite appear to be intentional instead of just an artifact from a mistuned tv

mellow dawn
#

Is the 0-15 voltage tied to luma? It seems to be what is implied.

#

If so, it would be out of spec, but based on a common implementation.

#

Sounds kind of like sending full rgb range when an hdmi device is expecting limited.

#

Can't this be handled already with a palette? If all the colors have a palette color, just very very slightly brighten some of the blacks.

#

Most games don't use these colors and assume normal black is black so it should not be the default.

granite pivot
# main narwhal Im pretty sure lightguns work on the AV Famicom?

Lightguns need to be used from the expansion port, the second port on AV famicom isn't wired for them. It is possible to make an adapter for the US Zapper. Mister Addons sells a two port NES adapter that works with lightguns and also works for 3-4 player FC games.

#

There's also a JP gun that looks like an old west gun, but functions the same way as a Zapper.

granite pivot
#

Most US/EU exclusives like Freedom Force, Gumshoe, or Barker Bill's trick shooting work on an AV Famicom (though an adapter is needed to play them. I personally play them off flashcart, though I have the actual carts). PAL versions might not work correctly, though.

#

There is something odd with Operation Wolf (US version on AV Famicom, IIRC) with the lightgun, but I don't remember the exact details.

#

Duck Hunt and Wild Gunmen actually use the exact same ROM for US and Japan.

vapid tusk
cursive sable
#

Yeah, I know software emulators can do it

#

That's one of the people I have talked to before who had spent years trying to work out this problem actually

vapid tusk
#

you could use the palette and game genie codes on the mister right?

cursive sable
#

No idea if that palette would display properly on mister through hdmi without some other settings tweaked

#

Or even over component or composite

vapid tusk
#

i can't imagine the palette would display differently on mister vs an emulator at least over hdmi, but does sound like you'd need to either adjust the brightness in the mister.ini or use the game genie codes

#

doesn't break anything to try it out and compare to screenshots

cursive sable
#

Will have to look into manually messing with this on my mister then, never tried modifying/adding pallets before

fierce estuary
mint lichen
fierce estuary
#

cool those tests are whacky

#

thanks so much

half pasture
#

Gotta pass' em all!

steep yew
#

I feel like these tests have done a full godfather 3 on Kit

dry lynx
#

Tests fail on a real NES? 😂

#

Sounds like a bad test

timber lava
#

also on core but the message is different

#

not sure if it is important

blissful prairie
dry lynx
blissful prairie
#

The test covers a revision G NES

dry lynx
#

Good if you want to target a revision G then, I guess

half pasture
#

Doesn't work with flashcarts, only burnt roms! elmorise

clever scarab
#

It’s the Mario sky argument all over again and I’m so excited!

#

What color is the Immortal supposed to be now? Verdant chartreuse?

fierce estuary
#

you would absolute hate it if 0D wasn't actual black

fierce estuary
#

chances are with that game they made an error with the background and the sprites had the correct color, it likely wasn't intentional

#

also in the second screenshot the colors are turned way up and being crushed

#

can you imagine if every black background was that mid-grey color?

cursive sable
#

The background on the one on the right looks like a darker black to me, but my monitor is pretty shitty

#

Hmm, looks darker on my phone too

fierce estuary
#

Because the signal created by $0D is outside the specifications for the video signal, there is a lot of variation in how display devices handle it. Here are some possible effects that may be seen when using $0D:

$0D appears the same black as the other black colors (e.g. $0F).
$0D appears slightly darker than other blacks.
$0D appears as gray.
The device renormalizes the range when $0D appears, slightly brightening all other colours while it is onscreen.
Wobbly or distorted image from loss of horizontal blanking stability (either permanent or periodic)
Loss of vertical blanking stability.
Total loss of picture.
These effects are more likely to occur when color $0D is used with the de-emphasis bits enabled, such as in The Immortal, as seen in these example videos.

On consoles with an RGB PPU like the Famicom Titler or Sharp C1 TV, Color $0D is simply a "normal" black palette entry identical to $0F, so systems with an RGB PPU are immune to causing video output problems.

mellow dawn
#

I don't know. I could see them doing it intentionally to try and get more dark grey colors. Again, though, I think having a custom Immortal palette to handle it is fine. Having the normal black be anything other than black by default would be silly.

fierce estuary
#

just take your favorite palette and change that one color then

cursive sable
#

Yeah, a custom pallete for those games that pull this gimmick makes sense, wish there was a way to auto-switch to it though for those games somehow

fierce estuary
#

it's 0x0D * 3 byte position I think

mellow dawn
#

Technically you need to update all the blacks

#

Except the 0 value one

cursive sable
#

Looks deliberate to me too, if it wasn't the orc's shoulder that's grey would have just meshed into the background like it does on the left

fierce estuary
#

that's how it looks on most real tvs

mellow dawn
#

According to the above post, the effect of Immortal is this

#

The brightening of the screen causes a secondary effect, too: because The Immortal uses all three Color Emphasis Bits to dim the majority of the palette, it causes $0D to be dimmed even further; thus, when the television brightens the screen to compensate, it brightens $xE and $xF more than usual (and also brightens $1D a little), allowing for a fantastic shade of gray that the game uses for shading characters in battle -- among other things.

fierce estuary
#

here, how's this

mellow dawn
#

So take your favorite palette and very slightly brighten 1d and and very slightly more than that brighten the xEs and xFs

fierce estuary
#

just picture me crossing of that issue using a rusty nail on a chalkboard, very very slowly

#

not all tv's use the lowest color to adjust the brightness automatically btw

#

this is what real games look like when you do this, btw

#

anyway @cursive sable that will do what you want

steep yew
#

merlin has been lifting

latent breach
ripe shell
#

I wonder what M2 did to Kid Dracula when localizing it, because it REQUIRES it's own bundled .sav file

#

wait, what the hell, I thought this was a kid's game??

cursive sable
fierce estuary
ripe shell
cursive sable
#

So they put the translation into the equivalent of a SRAM save data and make the game load the "save" in order to load the translated text off of it?

fierce estuary
#

a bold move

dreamy marten
simple hedge
fierce estuary
#

they are pretty decent but old famicom games wont work without an everdrive or game genie

#

but, anything is good if you modify it

#

the famicoms and nes after like 1986 or 7 use the same ppu and cpu

simple hedge
#

Cool thank you

clever scarab
clever scarab
blissful prairie
#

With Metroid a NES legend is finally fixed now.

half pasture
#

MiSTer wins again! elmorise

glacial pecan
#

how can mister win when it was late compared to hw and software emus?

half pasture
glacial pecan
#

can´t argue against that

cursive sable
#

I vote whatever sucessor is made for the MiSTer, we call it the MiSTery

clever scarab
#

it doesnt matter who's first, only who's best, and that is always MiSTer!