#NES/FC/FDS/Dendy
1 messages · Page 9 of 1
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 🤷🏻♂️
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
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
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.
I think we’re in safe hands here 😅
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") ...
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.
Yeah that's my thoughts exactly. I don't really wanna develop more stuff people will never use and takes up space that could be useful elsewhere
if you disable automatic shift register replacement it will pass timings
because it stops trying to do stuff to to the shadow mask code
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
Didn't consider if an NES to SNES adapter would work, I have no idea if the SNES version used a different pinout or passed along extra data compared to NES
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
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.
Note that while flash saving in mapper 30 is not implemented, Save states are.
Yeah, but not sure that helps with certain games crashing due to the flash saving. I know Courier crashes/corrupts when you die and continue. And The Storied Sword crashed at the end of the game, but they were able to fix that before release.
Yes. If crashing is happening, save states will not help.
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 😉
@Lain, what is the story about the missing mapper 42 interrupt?
I don’t know unfortunately because I haven’t looked into it in depth yet. When I tested Bio Miracle Bokutte Upa the bottom of the screen was not split so the status was scrolling when it shouldn’t have.
that game has such unique fds music
there are dumps and they're supported by emus, but afaik you can't do anything except enjoy the music https://www.youtube.com/watch?v=F93fLD98nTA
Damn, that's banging
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
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
they're .sfc, the two menu revisions are in no-intro. the individual games are also there marked as "(NP)" but it looks like they're all just each game alone without the menu
yeah, the menu builder i mentioned is for GB https://github.com/orangeglo/gbnp
Ah interesting, does the core load any of them?
just tried rev 1 of the menu on MiSTer, it works
Nice
That blue background reminds me of installing Windows 95
found out there's a menu builder for the SNES version too, but it doesn't seem to be working correctly for me on either emus or MiSTer (menu boots but entering games leads to black screens) https://github.com/moldov31337/SF-Memory-Binary-Maker
but hey, if nothing else it's a cool tool for making snes roms with a custom text
Are you sure you're choosing games that don't have special chips?
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
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...
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.
else // Mapper 42 (broken)
Ah, gotcha. Thanks for pointing that out
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.
Did you verify the header?
Just did there, it uses Mapper 42.
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.
#1091056042667937944 message
Check the header, most ROM dumps incorrectly attribute Mapper 144 to Mapper 11
Mapper 144 relies on bus conflicts for bank switching
Indeed. Thank you for the heads-up! The mapper was incorrectly attributed to 11. Once I changed it to 144 in nes2edit, the rom worked fine.
No problem, it's probably gonna be very common with old ROM uploads, always best to compare checksums with collections such as No-Intro
And the "accuracy fixes" should be included if it's from the main branch.
@fierce estuary I took'em to the Pocket! Thanks for all your work and enthusiasm!! https://github.com/vanfanel/openfpga-NES/commits/master/
yay. 😐
Is there a .sys update bundled in with the flurry of updates?
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
impressive
lol right after I hit export on a "why accuracy tests can be fun but also not involve gameplay" style vid. Now Ive gotta leave a note in the description as more tests passed
you can't play nes on tricnes
lol you just watered down my entire video into six words
B-b-but the accuracy
also the tests that mister fails don't impact timing or behavior, just a few pixels flickering or not if you intentionally break it
Who cares about audio or actually playing the game
ill fix them eventually but they arent really an accuracy thing
stop spoiling my video lol
(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)
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
he can play TriCNES (yes its just for TAS inputs, not for humans)
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
That really was my VO; when accuracy matters and when accuracy is a fallacy
It's like saying a tank is safer than a bicycle. Yes. But is it practical to get you to work?
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"
Bacon lives in chicago so...yes?
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
i know it's for TAS
We are going on a condo viewing tonight. Park across the street has some gang shootings. Can I get that tank?
CHIRAQ
bullets keep mortgages low
we got outbid by a metric FUCK TON yesterday on a place so...FIRE THOSE GUNS BABY
I live in the UK, no shootings but the fish and chips can be dismal sometimes.
450K asking, 450K offered, final selling price 565K...so yeah just a BIT over asking
jesus
that's when accuracy matters 🤣
I didn't realize we were still there
During COVID, house prices here went crazy. We had to pay over the asking price for our house.
ok I realize I am way off topic lol...mortgages suck, NES is cool
£5k over I think. It hurt.
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
You need a roof over your head to play the 2nd most accurate way to play NES
coveted area
so we will drag our ass up to shooty stabby park
Why can't gangs settle their differences via Micro Machines on NES
I think I see that one in my "10 most dangerous neighborhoods in the US" TikToks
if we wanted a real deal we'd go to Garfield Park. That should be on one of those lists
(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)
Just come out to naperville - we have lawns and everything
door knobs strong enough to support about 180lbs? 🤣
(not for David Carridine purposes. I need to be specific!)
Flip side is, you got a mortgage before the inflation rate shot up.
Yeah it was somewhat lucky!
2020 was great. Mortgage rates plummeted. We got our pre approval. We both got laid off two weeks later 🤣
2022 was awesome too. We got re-pre approved. Rate wasn’t horrible. We both got laid off THREE weeks later 🤣
I thought that those fixes didn't have any real benefit for actual games. But I am glad it is more accurate, I am all for that.
Peace of mind for speed runners of MiSTer's accuracy if nothing else
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.
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.
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?
That entire corner of gaming is always wild; if you don’t set a record on the right console with a full moon while hopping on one foot and chugging Mountain Dew it doesn’t count
sour is an amazing emulator author and mesen is an absolutely excellent emulator
it can do a lot of things the core can't that are extremely valuable, particularly it's in depth debugging tools
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
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
I told people on X that you can't claim "100%" accuracy because you pass tests
If only it were that easy
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
Indeed
The race towards perfection is on: https://github.com/MiSTer-devel/NES_MiSTer/pull/422
Thank you for fixing that, Lain!
No problem, my boyfriend pointed out some ways to make the code more efficient and came up with the solution for fixing mapper 42
it's great to see such young talents at work 🤗 my thanks go out to him as well.
I added a feature request for Mapper 446 on GitHub.
Sounds like a rabbit hole of giving a different amount of points to each test based on how important it is, with some just causng an instant failing grade not like supporting 0 sprite hit
But then everyone will argue how much points each test should get
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
I thought that was cake?
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
Does it work with this one? #1091056042667937944 message (I can also look in a bit)
With this core I have also same issues.
Metal Gear (japan) also shows grey screen
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)
Yes I think so
this is likely accurate unwanted behavior then
I was wary of passing that test
pff
ill make it optional
Thank you
which test is it? is it one of the row 10 by any chance?
(which fail on my Famicom)
page 15 first test
oh thats the one that fails with an everdrive
anyway, interesting that one test needs to fail for commercial games to work
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
makes sense. I read somebody got it to pass by using an everdrive without the os (booting into the ROM)
yes I agree, complying with the test reduces compatibility
@timber lava does Metal Slader Glory have problems?
apparently these games could be problematic: https://www.nesdev.org/wiki/Game_bugs
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
it's fine, I already implemented a toggle I just need to wait for it to build
it defaults to famicom
I know these tests are pedantic but thanks for fixing them... it feels nice to have the core passing them
looks like a big change in PPU would be needed there... so very little work/reward ratio
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
that looks like the kind of code where you change 1 value and a lot could break...
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
so it reassigns some sprite indices when it does that?
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
ah interesting, it's as if it compensates for the corrupted ram
no, it doesn't compensate, it triggers buggily with the wrong sprite
so all sprites get corrupted
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
blinking pixels...
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)
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
yeah... MiSTer can fully be used for speedrunning,
so these tests do help ease any concerns
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
I feel the same about those Famicom-specific behaviors;
it's just behavior of later >1990 models
the ROM should be tweaked to flag model differences
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
Thank I will test it 🙂
Confirmed Japanese games listed working again and accuracycoins is now 120/125 with famicom value for PPU reset behavior
with NES 121/125 !
at least now we can claim that the core is even more accurate because it can replicate two system standards correctly 😉
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.
Is there a chance for the core to notice if the input is a japanese cart or not? To have NES, FC, auto/guess as options?
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.
Wasn't the only difference the extra pins for the NES10 chip?
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?
Oh, forgot about PAL
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 🙏
Just started compiling, those warnings for misc.sv should be removed now, going to check on the others
Didn't apply default case, rookie error my bad.
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"
case statements are kind of annoying in verilog so we usually use if or ternaries
you have to be careful of latches or false clocks because both will wreck timings
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?
it's not useless at all, it pointed out some behavior I was otherwise unaware of. I think though that some test shouldn't fail but just point out the model of the behvior
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"
gotcha
We need to continue testing games to see if we can't find any regression !
I loaded it up last night but didn’t get a chance to futz with anything
all this activity on the core and I’m over here playing my real NES w/Everdrive 
OG N8 or Pro?
soon real nes with everdrive will be Less Accurate ™
OG N8
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
With the latest changes from today on mappers from Lain, and the changes from Kitrinx (like the APU).
Timing requirements met, this time.
When will it hit 126/125 though
You joke but I think I read that kit suggested another test? (or maybe just a tweak of one)
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
FF in the chat
Wow that's a lot of hex on the screen
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
What's this for?
making sure reads from 2004 are accurate
gotcha
Kitrinx is hexactly right.
So then would these Famicom games also have issues in a real NES?
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.
Huh, had never heard of Famicom games that don't work in NES
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
Oh, so you don't even need a code, just having the genie plugged in
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
Is this just earlier Famicom games or did they keep doing it throughout the Famicom's lifespan?
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?
Same as NES you mean?
Didn't the earliest Famicom PPUs have some kind of overheating problem now that you mention it?
dunno
but revisions before G had pretty different behavior
G is by far the most common PPU
They did, according to Masayuki Uemura.
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
Sure, I understand that Famicom behaviour doesn't break any NES games. But Famicom behaviour for Famicom games and NES behaviour for NES games would be ... more correct?
But I am not advocating anything here. Famicom behaviour for all games is very fine for me of course 🤗
I wonder if these are accurate? https://github.com/maxpoletaev/dendy/blob/d172cc0c62ad4ff62153124e699b8a8a69dd034d/ppu/colors.go#L8
colors := []uint32{
no, it would be irrelevant
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
In case anyone has a Dendy and a MiSTer if they could test this palette and say how accurate it looks that would be much appreciated! 🙏
Is the guy who made the test suite going to expand it with more tests?
probably
I hope he makes test suites for other video game consoles, like the SNES, or the Mega Drive.
I thought the core already had the inverted duty cycle audio some clone CPUs have.
Does it support things that the FXPAK Pro doesn't?
Yes, the SPC7110
Oh okay
No. Nothing but dendy is supported. There is no reason to emulate broken clones
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)
It's a feature nobody will use except as a brief novelty and it takes resources
There is software emulator for that
A lot of people only had access to those "broken clones", because the original NES was too expensive to import back then.
I feel bad for them, but fortunately they now have a high quality experience available
Fair enough, I wish I had the expertise to implement it on a personal build.
Personal build, because a PR would be rejected instantly...
My apu is really well written and documented so it's a great starter project
They got worse by like the early to mid 90s, I've got two clones from 92 and 89 and they're alright
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)
@gray plaza , maybe https://github.com/MiSTer-devel/NES_MiSTer/issues/414 could be a nice follow-up project...
Yeah I saw that request, I can take a look later today
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
you might need completely different hardware to achieve it?
i think the luma trap on the existing converters would prevent it generating such signals
Looking at the documentation it seems to be MMC3 with scrambled registers. I'm guessing you're just wanting to play KOF97?
Yeah. Both games on that mapper looked interesting.
Probably could be done very easily, either through adding the mapper or patching the ROM
Might be as sample as making sure submapper is not 0xf for this line https://github.com/MiSTer-devel/NES_MiSTer/blob/master/rtl/mappers/misc.sv#L2862C8-L2862C20
assign has_chr_dout = !(cpu_ppu_write) && (print_reg || print_exp || print_spot || print_midi || print_oct || print_let || print_shp);
question, what is the most accurate color palette for this core? or recommended on CRT TV?
There really isn't an accurate color palette. Different revisions, models, etc. all had slight differences with how colors are handled, so there isn't really a right answer.
But if you want the closest thing to an average color palette, pick the Kitrinx one.
you just want to make sure the palette has accurate luma values, the chromas can be whatever you want really within reason
Kitrinx is color police approved 👍
Always use the Kitrinx palette. Anything else will get you shunned by the community
Hey nothing wrong with using PC10 for VS games
you can use whatever you want
We don't judge
Okay, shunned by me. How about that? 😉
if you want the colors to look nice together though, the luma is what matters
I actually like the NES Classic one.
It's actually quite nice, though after I saw Kitrinx's palette I jumped shipped cause I found the palette nicer
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 😎
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
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
10:10 reduced to a line of text. you can learn from that guy vge
it should also be taken into account that, i think it was mentioned, that the test rom was written for this dev's particular NES, so it is entirely possible other models may not get a perfect score
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
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
however even that revision has some minor variation
that is interesting
particularly with the RMW2007 behavior
have people tested it on real hardware?
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
you can, but it will change the initial ppu behavior and it emulates open bus
yeah, but to verify perfectly you can't really use the ED
someone figured out how to replace the OS of everdrive with the test cart too, and that will pass the initial ppu behavior
ah
however that shouldn't really be a test
thats cool
because NES style PPU behavior breaks a bunch of games
so defaulting to famicom makes more sense and doesnt impact NES games at all
how does this present itself irl?
broken games?
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
interesting
you have to use an everdrive or game genie to get around it
i did not expect that
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
right yeah, and the PPU resting state is distinct per chip/revision
hm
all famicoms?
so some famicom games try to write on the first frame and fail
i wonder why
I believe the later ones did not, which probably was an issue over there
it seems so unlike nintendo
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
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
the cpu was also basically stolen
yeah that i know haha
it's not common for english speakers to hear about uncommon problems with japanese games
since it doesnt happen in the other direction
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
That’s for explaining this. The fact that you’re able to do this just confirms my original thoughts - stick with your palette and we’re in good hands 😉
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 😅
you all think too small when asking for weird clone systems
less fun that way
understandable
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
Magic super griffin. You can turn the PC Engine into a Family Guy!
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?
this is maybe the worst thing to ever come out of china
What about before the Famiclones with all those "systems" that resembled a console or handheld but were basically just Tiger LCD games?
Cool? I think you're the first person I have ever seen call those LCD games anything other than trash 
i mean yeah it's garbage but the concept is neat enough
that penguin is a nes?
top 1 console design of all time
@fierce estuary I don’t think we can call this core complete until it perfectly replicates the Aaronix 9900
https://www.reddit.com/r/Famicom/comments/1crerrk/aaronix_9900_one_of_the_weirdest_famiclones_in_my/
wow with a whole 6" of controller length?
oh nm the cords sort of retract
looks like maybe 2-3'
I had one of those!
that game copier with the same color as the CoreGrafx is sweeeeet
not that we need even more attachments for PC Engine consoles...
not a tower of power, more like chain of pain
Was that even an official term? A tower of power in the strict Zappa sense is... something different
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)
that is honestly quite frightening
Could be taller
I'm already picturing something like this on the Game Bub.
The horizontal layout will make it slightly more usable
that certainly makes sense 🤡
nintendo's lawyers waiting for the notice to swing the ban hammer
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
unnecessary
the least convienient possible way to play SMB on an FPGA
Yeah, it's terrible, I don't recommend it. I just wanted to experient and see if it worked.
that cart converter in the pictuer above is cool
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
UnNESessary
ba dum tss
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).
But wouldn't it be cool to have the option to have an accurate replica of the NES/Famicom original video output, but also with all the other advantages and conveniences of the MiSTer platform and the NES core?
it would be cool but it sounds like a lot of work considering we already have decent enough composite output
I'm not doubting the "coolness". I'm doubting it could be done based on the actual reasons everything so far is "inaccurate".
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.
technically it's already been done, with the Analogue Nt Mini... but it's rare and expensive, and the core it uses is not as good as the MiSTer core
Is there documentation on this? The core is closed source, yeah? How do we know it's not just doing what everything else does by using a palette in an RGB colourspace, and then converting that after-the-fact to YUV/YIQ? And has anyone used an oscilloscope+colorimeter to then measure the outputs versus a real NES to see if it handles the voltage decay characteristics correctly?
Even if it does the PPU simulation, I'm very curious to know what the final output looks like.
This is a good source https://nerdlypleasures.blogspot.com/2017/12/analogue-nt-mini-browsing-core-store-pt.html
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
Ta, I'll have a read. "Tint/hue shift" is what I expected.
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.
It does give you the "illegal colors" of the original, which no palette in RGB can provide afaik
They're produced due to the over-voltage of the output. There's ways to hit those with a palette. You can map everything out of gamut in RGB, convert to something like Oklab, scale it all back while maintaining accurate hue and relative brightness, and then you've got something accurate to both colour and relative brightness.
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.
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
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.
Some years back I tested 19 different palettes with MiSTer on a calibrated Sony PVM against a real Japanese AV Famicom with a good quality colorimeter. Methods/results here:
https://stickfreaks.com/colour/nes-colour-palette-comparisons
StickFreaks retrogaming
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.
The official palette is decent, but I'll point out (what is for me at least) it's main flaw: browns
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
Anything in the skin tone area is something most people are more sensitive to than other colours. I would suggest playing with a much higher contrast setting and seeing whether or not that changes your perception of it.
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.
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.
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 😃
a nes console in an atari 7800 shell with genesis controllers and a master system zapper. this is incredible
That’s what I had as a kid in 1991! It was so nostalgic playing the MiSTer NES core with the PAL_saturated palette on a CRT!
It’s really close, as far as I can remember
I can (and have) implemented the PPU parts of it before, the problem is here:
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
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
What's the button mapping for super mario bros? B to run and C to jump?
Cursed C to run A to jump
why would you want any part of what he did?
his composite isn't accurate
C is actually the start button haha
I can potentially knock something up for you. Although I loathe the idea of putting yet another palette out into the world.
I have this console, but only the system itself, no controllers or gun. I was able to use a SNES controller on it using an adapter.
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)
that's the odd/even behavior of skipping a pixel
but I guess it could still be possible to build on the approach to get to something more accurate
it's disable-able on mister
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
finding out about the phantom system inspired me to search for some famiclone consoles on ebay and i found... whatever this is lol
it's like the n64 and genesis 2 had a son
Nintendenesis 64
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
Sure. Frontloader with regular Everdrive. First is first boot, second went back to the menu and it reloaded, 3 4 and 5 were normal resets.
thankie
kit going for that 126/125
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
So what you're saying is that the Mister NES core is almost perfect?
YESSSS 
MiSTer wins again! 
there's 126 tests now actually 😅
Three more tests pass 🙂
im not gonna do that one in column 19
but im working on the arbitrary sprite0 hits to finish with that
what is 19?
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
So is the NES core better than the real console now?
Wait until some resistor decays or something and starts making the sound too fast and then it will be a yes 😉
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
amazing work!
I mean, it’s ok
@fierce estuary the core fails this test rom, can we get that fixed?
https://www.virtual-boy.com/homebrew/the-mpyhw-test-program/
are you trying to trick her to write the whole core 😄
-# ||yes, please don’t tell her 🙏||
Have you asked the guy who made it if he should remove it if it is a dud test? It sounds like it is just going to confuse and mislead people if it kicks about in the suite
yes
I think he "discovered" it so he doesnt really want to
it's like his one thing
Could he maybe rework it into something useful?
But what about the DMA?
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
wow this is cool! 🙂
If a feature is never used, it makes sense to give it a swerve.
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.
I've just seen Antoine GOHIN tweeting about the Rainbow mapper.
https://x.com/AntoineGohin/status/1970895260818768259
What’s the rainbow mapper?
NES 2.0 Mapper 682 has been tentatively allocated for Broke Studio's Rainbow Mapper. Development forks of FCEUX and Mesen emulate it as mapper number 682.
Wi-Fi cart for the NES?
What?
Wi-Fi capabilities to allow online gaming, cartridge update, downloadable content...
Is it in any way somehow similar to this?
Use this link to SAVE $5 on your first order at PCBWay: https://pcbway.com/g/A311e7
Ever wish your NES had achievements like modern consoles? Now it can! In this video, we take a look at a new adapter that brings RetroAchievements support to original NES hardware. From earning digital trophies to syncing them seamlessly with your RetroAchievem...
This does require Wi-Fi.
Apart from the WiFi connection, everything else is different and that's not for RetroAchievements.
All from a single mapper? Insane.
Oh hey random question. Can a game use multiple mappers at once?
Like with Super Tilt Bros.
Trailer for the upcoming game Super Tilt Bro. for your NES / Nintendo Entertainment System!
Kickstarter campaign page available here: https://www.kickstarter.com/projects/brokestudio/super-tilt-bro-new-online-nes-game
Super Tilt Bro. is a fighting game with platforming mechanics, in the pure tradition of the platform-fighter genre. You will ju...
You can play online against friends.
That’s super cool
I think it's super tilt personally...bro.
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)
I am guessing that's a mapper that's definitely not going to be supported in the core then
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.
so on mister it is better not using rainbow version of Super Tilt Bro but the uxrom version
how does a wifi mapper work on everdrive?
It just simply uses the FPGA to create the WiFi hardware and antenna of course 
I assume that feature is not going to be avaliable on the Everdrive version of the mapper
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
meh
If I start sucking at NES games I’m going to blame that one test that failed as the culprit, not my gaming skill.
I only looked at it a little, but from what I saw, that dosen't appear to be the case. Seems to be a game that runs on the NES itself but just has a lot of fancy bells and whistles on the cart for extra features like WiFi for online play and downloading patches.
OK, online play is neat. Still, feels like a very specialized use that would justify a separate core, like the GB2P or GBA2P variants
(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)
I am not sure online play would be doable on MiSTer, I don't think we have that anywhere else
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?
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?
so in theory it could play networked Doom, etc
test 127 made me miss my whip input in castlevania
you need drivers for ao486, same as a real PC
I feel like if this were doable then there would be a lot more talk about it, but maybe I have missed it all
High speed UART (3Mbps) internet connection
the core advertises this ^
that's modem speed
though a fast modem
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?
Ah nice
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
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"
😮
cries in Super Mario Club card owner (this was for looking at reviews and such)
someone made a flashcart for the Famicom Network System, but no one's made any homebrews for it that i know of
not sure how much you can do with the hardware without a server
someone has very vague plans for a server
new test was added https://github.com/100thCoin/AccuracyCoin/commit/787849c6c1ff5b569afc24c542d044fe4a68fc45
It’s a race now it seems 
With last unstable and PPU reset behaviour set to Famicom
You mean the screenshot of Kitrinx ? She didn't published changes.
Oh, gotcha! I thought her changes were in the unstable build already. Thanks for the heads up!
yes !
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
Thank you will test it after work and let you know if I found something
This issue is fixed Kitrinx
Yes !
I have to set new option RAM clear to Random to pass tests like the screenshot above
This issue is also fixed 🙂
https://github.com/MiSTer-devel/NES_MiSTer/issues/366
Ok honest question here. If the option to pass test 15 breaks games then isn’t that an invalid test?
So far I haven't found any regressions in the NES build posted above
Famicom and some NES revision behave differently for this test. So those japanese games won't work on NES.
Oh ok
NES > Famicom, change my mind
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
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
and by SNAC ?
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.
ok !
Sorry NES still better
because of the robby the robot 🙂
That and it’s the one I grew up with and therefor it’s better!!!11111
I was more thinking just mapper support so the game can run on the core, not implementing it's wifi features, I doubt that's reasonable to pull off. We still have homebrew mappers that can't save or even crash some games because they don't support writing back to the flashrom, much less adding online wifi.
which funnily enough is "accurate" as they are known to break in the NES 😅
who knew, the price of accuracy is to make your experience more crappy
I would assume you could somehow just expose the network stack to the AO486 core and then have a dos or windows 3.1 driver to access it, we can already access some aspects of the mister through exe files intended for the AO486 core that would crash any normal real DOS pc
yes, I just wonder what is in that mapper other than the wifi
the Famicom had a robot..
also 127/128... wow...
Oh, the core dosen't support the Famicom mic? Some games actually needed that
Yes but named differently "Family Computer Robot"
I would not be surprised if without the WiFi it's a pretty standard flashrom mapper
I thought it did support it as button? i.e. it doesn't listen to your voice, it just checks for activation?
Yes that’s true
(which is pretty much what the original did anyway)
I thought the Famicom still had the expansion port and that's how the FDS connected to it? Also, the Famicom didn't have that NES10 nonsense that was very picky about letting even legit games boot.
ok it's Robby the Robot's awkward older cousin 🤣
FDS connects through the cartridge slot, not expansion port
IIRC there was a Famicom game where you have to sing Karaoke, it obviously coulden't tell if your words were correct but it apparnetly did measure something, volume or pitch or something like that
no, the FDS connects via cartridge port using a special device with extra RAM
Ah, so did you have to take it off every time you wanted to play a cartridge game?
yeah, Takeshi's Challenge. I'm pretty sure it would be fine with you mashign the button
yes
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
but its no big deal. you have to change cartridge to change games anyway
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
That sounds like a pain, surprised there was no pass-through or something
I use mine quite often and it's no big deal
Remind me of how initial SNES units had a cartridge lock that Nintendo quickly removed because people were being idiots and trying to remove caridges without turning it off, breaking it
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
I just have my childhood NES that I have ot fix up someday
FDSkey is really neat, I used it to back up my fds games
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
@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;",
me. I knew this. It's not like I wasn't unaware of ppu behavior, I just knew it was nearly impossible for it to improve anything
and nothing could really break because the registers were unlocked
you can use the mic button, but moondandy wants to actually scream at the top of his lungs in his living room to kill rabbits
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
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
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
you need to clear ram? I added it because the ppu test doesnt initialize ram
I need to check again because I have more tests failed with value "no" set.
"no" is the behavior it currently does
which ones?
it's possible because he doesn't initialize the ram old values can cause false failures
it doesn't happen every time I get one here after a clean start and load directly the accuracycoins nes rom
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
I don't know if it is linked but I use boot2.rom to have FDS animation when NES core is started.
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 😄
seems less frequent without boot2.rom but after 8th attempt I have one test KO
TricNES: "finally a worth opponent, our battle will be legendary"
Convert FDS to cart is more common 😅
But what about singing Japanese Karaoke? 🙁
that didnt use the nes mic
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
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
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...
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
I will respond for breaking games, the known one are Eggerland - Meikyuu no Fukkatsu, Elysion, God Slayer - Haruka Tenkuu no Sonata and Metal Gear (JP) and it passes the test 15 if NES is selected. It is set by default to Famicom on the OSD.
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.
yeh it's just a PR i'm working on
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
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
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
First thing I’ll do is disable Famicom behavior and set it to the superior NES behavior
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)
what part of the rom header would you use?
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.
Any unused bits that we could encode the region? J - Famicom, U - NES?
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
If (user == Robby) famicom else nes 
MGL could be the way.
I use it for PAL settings for some games.
ah yeah just mgls for the couple (if any?) games that need it
the NES is a Famicom clone though, with gutted features (though nice to have composite output built in)
funny how the AV famicom added composite output, but the NES toploader removed it
NES > Famicom!!
I definitely agree
the later famicoms had the same behavior as the nes
I say famicom but I mostly mean the famicoms made before like 1987
the only real Famicoms are the sometimes called '83 and '84 Famicom, HVC-CPU-01 to 06 (some 07 are okay I guess)
they have really buggy PPUs replete with issues
they cant play things like Micro Machines
So the most compatible version of the "Nintendo" is the later Famicom?
they all have problems
Or the early ones?
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
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
You can play NES games on AV Famicom with an adapter, I have done it
Im pretty sure lightguns work on the AV Famicom?
but now Im doubting. Will try again
Some games don't work, especially MMC5 titles
NES wins again!
With MiSTer, everything wins! 
@fierce estuary is your palette the "truest" palette?
i'm going to say yes, because truth is a luxury of the victor
That mod looks pretty shoddy, no good mod would use a breadboard
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?

in what sense?
should the out of range black colors have like, neon pink or something?
They're supposed to be a shade of grey aren't they?
they are not
Or at least, that's how they are supposed to appear
incorrect
Then how are they supposed to look?
The sprites definitely look off with them being just black
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
But then why would The Immortal just have two blacks next to each other?
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
It's a game
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
it's not dire enough that it would likely be egregious, but it's definitely creating an invalid signal
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
if it created some extra color, it was a quirk of how someone's tv handled it
Oh, the NESDev wiki actually has the example I was looking for, it mentions that it creates an additional shade of grey
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
I patched mine to fix that just in case it reacted with anything goofy.
Patched?
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
Honestly didn't look far into it. Just saw fix for weirdness and patched lol
XD "Patch exists so it must be good"
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
https://www.romhacking.net/hacks/6016/
There's this too but I haven't tried
From the description it sounds like they are saying black is actually producing a very dark grey and the value of zero is actually "black".
if that's the case the tv isn't tuned right
I mean, the extra parts you see on the orc sprite appear to be intentional instead of just an artifact from a mistuned tv
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.
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.
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.
seems so, found this ages ago but never tried them out. https://procyon.com/~kizul/nes.htm
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
you could use the palette and game genie codes on the mister right?
No idea if that palette would display properly on mister through hdmi without some other settings tweaked
Or even over component or composite
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
Will have to look into manually messing with this on my mister then, never tried modifying/adding pallets before
can someone run these on a real nes for me and take pictures of the outputs?
Same Frontloader and regular Everdrive. Fresh boot and reset for each.
Gotta pass' em all!
Some NES are different than others
^
The test covers a revision G NES
Good if you want to target a revision G then, I guess
Doesn't work with flashcarts, only burnt roms! 
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?
you would absolute hate it if 0D wasn't actual black
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?
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
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.
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.
just take your favorite palette and change that one color then
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
it's 0x0D * 3 byte position I think
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
that's how it looks on most real tvs
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.
So take your favorite palette and very slightly brighten 1d and and very slightly more than that brighten the xEs and xFs
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
merlin has been lifting
and for that you need to run the update_allblacks script
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??
Thank you for that Kitrinx
kids were built different back then
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?
a bold move
But he made a long video about it
What about NES toploader? Where do they stand in regards to combability? I mean one modded for RGB and expansion audio.
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
Cool thank you
Is that your new Discord handle?
With Metroid a NES legend is finally fixed now.
MiSTer wins again! 
how can mister win when it was late compared to hw and software emus?
can´t argue against that
I vote whatever sucessor is made for the MiSTer, we call it the MiSTery
it doesnt matter who's first, only who's best, and that is always MiSTer!


> 