#NES/FC/FDS/Dendy
1 messages · Page 8 of 1
NT Mini Noir was tested here:
#1091056042667937944 message
Ah, I Missed that
It's not my rom (sorry if I gave that impression) I saw the video of the testing and thought it looked fairly interesting
100th Coin linked his discord in his video, so you can probably contact him there
Ah, dumb old me misread your post
I swear this happens more often than I care to admit
Ok so the guy who makes a speedrun emulator made a series of tests to validate his speedrun emulator? Do I have that correct?
I dunno, kind of depends on the DMA.
technically though you wont notice anything but none of these is likely to actually impact any game
and they are actually all easy to fix, they are just little pedantic edge cases
I can't talk about that no more. Kitrinx reminded me that she can't be trolled. 
DMA fixes might encourage too much pro-train behavior from robby
Oh good call. Didn’t think of that
I should have made notes. Where did the MiSTer core fall Vs other FPGA solutions. AVS crashed right?
Avs passed once
As someone who never owned a NES and has no nostalgia for the console whatsoever, it's the most important thing in the world to me that the NES core is the most accurate thing in the universe
So the NES core needs to stop supporting audio and games right?
Personal opinion; I think the dude is great and isn't trying to pull any wool over anyone's eyes. But I wouldn't really consider any of his tests to be conclusive at all.
I think it does validate the argument that passing accuracy tests doesn't make a decisive emulator
But does it pass the AC adapter test on the official NES test program? 
yeah, I think the only issue with it is that it's going to fuel the fgpa vs emulator thing even more. and I cannot stress how stupid that argument is
(not that that is news to anyone here)
Lol
So, functionally speaking, the core is as accurate as it needs to be to finish the entire library
Just like, I imagine, the AVS
Someone made the joke on the video comments: "you did the 'obama gives himself a medal' meme" 🤣
Let the plebs be plebs. Even the least knowledgeable being here knows accuracy depends on the developer's skill and that the fgpa's advantages are less lag and low powered accuracy possibilities 😜
yes, and you can feel pretty safe that it's virtually idential to what you'd get on a real console, maybe a little more stable
I think this is what we need on mister after all
Pedantic levels of accuracy are probably for other purposes, which have been achieved in other places
We're here to game though, right? Right?....... Right?
Is PPU rewrite will helps to pass some tests ?
If by game you mean play the 240p test suite, then yes
At what point does "perfect accuracy" require you to emulate the CIC crapping out until you unload and reload the game ten times
I kinda wish I hadn't made people here aware of this. I didn't mean to cause any drama at all.
I don't think any drama has been caused. I think it's been a really interesting and active discussion.
I actually checked, no
at least none of the ones he's testing for
it passes some other ones he didnt include surrounding the ppu internal address
scroll register conflicts and etc
thanks for the check
the majority of the ones failing there have to do with apu/cpu interaction
the sprite0 stuff is new to me, I don't really know what it means exactly but it seems easy to fix
the core passes all the other sprite0 tests so it's probably something people dont do that just happens to fail in a particular way if you try it
Does this mean that the missed jumps in SMB2 JP really aren't my fault as it was just botching up a DMA?
yes, it was not a skill issue at all
👀
Please don’t apologize. You have given me a trolling gift. Someone in the future will mention some issue with the NES core and I’ll respond with “probably a DMA issue”.
I should be thanking you.
Tl;dr - has Robby fixed the DMA issues yet?
I feel like I’m two cracks away from this thin ice falling out from underneath me lol
FUN? How can you have fun if it's not 101% accurate!!!! /s
In all seriousness though I just want the cores to be accurate enough so that basically anything you do on real hardware would have the same result, even if you do crazy speedrunner things like ACE
I would just enable the "Emulate having cut pin 4 of the lockout chip" option in the core then 😝
Tengen Approved
I thought that would be enabling the "File a lawsuit against Nintendo to get blueprints for the lockout chip then close it with a chip called the rabbit chip" option?
Or the Codemasters option of "Shock the everliving daylights out of the lockout chip to crash it"
... or just emulate the toploader that didn't have a lockout chip XD
I was going to say it but then I knew someone else would say it for me 🤣
Ah yes, the black hole of accuracy. As long as there is a crazy passionate developer doing it for fun, it might happen, otherwise I don't see why anyone would bend over backwards for this.
It took byuu decades and 10s of thousands of dollars to reach what he described as 99% accuracy with higan. I don't see most mister cores reaching these levels unless someone else did all the legwork previously, like with the nuke megadrive core.
he replied to the comment I left in the YT video, I am guessing those 3 tests are the ones in column 10?
looks like regular Everdrive and Pro would have the same issue (mine is not a Pro)
Interesting. Can someone easily copy this rom into a cartridge and sell it? I would buy it and test it across my console revisions, gladly
I wonder if flashing it to one of those one-cart-one-rom carts would work better than an Everdrive.
possibly
probably
everydrive loads a bunch of stuff before the game that has to interfere with a few of those tests
I wouldn't change anything on the NES core unless dude can explain what revision of console he tested on. He also should prolly have every single type of revision to build these tests on as well
Having a test built off the "most common" revision of console then not saying which one it is is crazy work 
This ROM was designed for the RP2A03G CPU and the RP2C02G PPU. Some tests might fail on hardware with a different revision.
Is it sufficient to describe the revisions of the CPU and PPU, or are there other things that vary?
It's prolly not the best idea to assume everyone has the same type of console, when consoles had different CPUs and PPUs installed across the lifespan of a console
Everyone is basically running these tests based on whatever hardware he built the software on
Beyond the well-studied 2A03G, we know of the following CPU revisions, both made by Ricoh and other manufacturers:
Ok so I got in trouble for being silly about this before but fundamentally, do this tests mean anything? Like I get “accuracy” and that’s always the primary goal of MiSTer but can anyone realistically point to something the MiSTer NES core doesn’t do accurately?
This is a list of different CPUs that were manufactured. It's not a complete list, and they were manufactured in various locations on different boards and such.
Like will these tests help fix anything in the core that we can look at and have an honest to god appreciable difference?
I mean maybe! I don’t know it’s why I ask.
Technically there’s this:
https://github.com/MiSTer-devel/NES_MiSTer/issues/192
but note that it has nothing to do with the tests currently being discussed
I'd defer to Kit on that. She said it's all pedantic, and that is to be believed
The tests themselves don’t really reveal anything troubling though
Hey that’s a good example though.
Someone should figure out whatever's going wrong there and add it as a test in AccuracyCoin
There's nothing troubling at all no. Just edge cases that really don't matter overall. I wouldn't put much into the test other than it being very interesting to see how he went about creating it. Stuff like what he made also should be peer reviewed too, but lay people will just watch the video like "holy shit" 👀
I fully agree with you
What about pringles people?
Loool that was an A+ dad joke
This should be the question that should be asked for many years to come as far as accuracy. As long as all the general behavior for CPU/PPU are congruent between implementations and consoles you move towards accuracy.
If MiSTer can’t play those weird unlicensed games with weird Mappers it’s still inaccurate in that sense 👀
most of the mappers unsupported by the core/everdrive n8 are just no-name bootlegs and other multigames
mappers are part of the cart, not the console, though
yes. I see this as a fingerprinting mechanism. Some test may be pedantic but if they accurately identify similar hardware, I find it useful
he is working with Mesen ^
The simple question that should be asked is “if it can run on a console why can’t it run on MiSTer?” But that also runs into some issues too — some multi carts and bootlegs won’t work on some NES/Famicom/Dendy/Bootleg consoles either lol
i do agree with that although mappers are quite an oddity
The NRS fork of the Nintendulator emulator tries to answer this question by touting the highest mapper accuracy 🤔
i wish all cores followed that philosophy but it's much easier said than done when you're working with limited space on the fpga
mappers can be endless though. I think its fair to draw a line there
Yeah it is! But the sense will always be that that stuff did in fact work on bygone hardware too 🤔
Agree lol. I think Kit came to that conclusion many years ago too for MiSTer
Something like “If someone wants a mapper added please tell us”
Something like that 
there's a couple of mega man rom hacks that use some really odd mapper config that work fine on real hardware via an everdrive, but not on the core
I made this many years ago, but you can see Mapper coverage across the core and other FPGA NES consoles and flash carts
https://docs.google.com/spreadsheets/d/1iJM0-bT9_d7SZTpBevZ6d0IiJ05T6Cs_5KubpBqpVRM/edit?usp=drivesdk
That’s a good person to work with 🙂
Sho, so happy to see you contributing to the discussion. Long time no see man.
Long time indeed brother! I have been watching in and out over the years while I got my shit together IRL 👀
Are you trying to tell me someone with an FDS collection doesn't have their shit together?
it is always possible to fork a core. Not convenient, but at least you can have code to preserve the hardware
400 disks? what do you do with those? 😅
(I did get some disks to rewrite romhacks to them... so I get it)
I may be misunderstanding, but I think the DE25 Nano would allow for the core to dynamically reconfigure the FPGA at runtime, which in simpler terms, means effectively uncapped space for mappers
That would be pretty cool
Of course I don’t think it even has a release date yet
Well not fully uncapped, a single mapper still has to fit on the existing FPGA. But you could swap them depending on the rom being loaded
Uh oh, an old timer. How much have I ruined the Discord?
lol 
If Everdrives fail 3 tests every time, what is he using to test original hardware?
Play them! Unfortunately, a lot of them need Game Doctor hardware to run 👀
Is he writing his own carts and how do we know that method is reliable?
I’d prolly donate it all to science if someone could document them all as well as GD hardware
I think NRS did the thing but he never released it 👀
Well the accuracy test is just using NROM, which means there isn’t really a mapper. Just a direct connection to the rom
Like the original super Mario bros
A revision G CPU/PPU in a front loader NES
Which is the most common, there are a ton of those around
I do like the idea of including the mapper for the Atari flashback that used a NOAC, unless we have that already
😂 watching you over the years you did just fine 😛
I dunno why you allow yourself to be the butt of jokes tho. But the Robby Flex bypasses all 👀
That would be awesome 👀 could mean more revisions of various hardware could be fully implemented at once, no?
But what is he using to load his ROM?
tried on my AV Famicom and most tests pass. Except 4, but he says 3 of thosd are caused by using an Everdrive
Yeah people have been getting varied results with different consoles
Dat be the correct question. Not that its a bad one, but should always scrutinize someone writing code to test hardware. Esp if they crown their own implementation most accurate 👀
I just need to get my hands on a writable ROM cart. its easily testable
He would prolly want to test tens and hundreds of consoles. Or at least get people to source that for him 👀
On a lower level he'd also want to isolate edge cases between CPU revisions and rule them out so it doesn't mess up results.
he does
😮
he commented on YT he is fine tuning that
so tests dont fail on revisions of real hardware
Lololol
i'm not surprised that people are getting different results when running this test on their consoles. there's like 20 different revisions of the nes cpu and ppu, of course there's going to be variance
God speed to him. I will watch with great interest
I think there's way more 👀 stuff isn't well detailed when you get to South America, Russia and India
And whatever China peddled to other asian countries
point is, nothing will ever be 100% "accurate" because not even the original hardware stayed consistent
his results for the early official Nintendo emulators are hilarious
He's gonna rewrite the test to get the results he wants
Yeah. It could be done, just need to really document every revision and permutation if you can 👀
I want to try it on the NoaC, I have an Hyperkin Retron 1 I could test
it has been used in official Tetris competitions, so deemed good enough for that game at least
but I expect results of this test to be hilarious
It's definitely an interesting experiment 🤔 If he wants that stuff done right someone should directly him to Artemio perhaps
random thought, but some of these tests could be used as copy protection too
The same methodology behind how MDFourier works could be used with his tests I think
say you want to prevent your ROM from being used in an Everdrive... then check the flags of the 3 tests known to fail
Oooh 😮
realistically I think we all try to make our emulators as accurate as possible. Tests are great for that, and it's worth cleaning up some (probably not all) of the ones that fail, but they are also not equal
like arbitrary sprite 0 is seemingly a test that impacts nothing, while sprite0 hit working impacts like, every game
MiSTer isn’t emulation it’s replication
This is genius lol
I mean it can be hacked too. Ask all those Apple II pirates 🤣
it's also important to note that a ton of shit is not tested because nobody thought of testing it
Is why I said it's prolly best to fix nothing until you can talk to him on how he arrived to his software. May end up cleaning up something that breaks something else or makes it less accurate 👀
That's true 🤔
like I can name an edge case right now that nobody has tested
the invisible discolored line on the left edge of the screen that no emulator even draws will flicker if you flip one of the register bits during vblank
very important to have that accurate!
Unplayable
I discovered that in my PPU rewrite
you can send it as PR
it works on a real system
then he will have to retest everything😅
there's some stuff that's easy to clean up
You broke it all, time for 5th rewrite
like addressing the apu registers with only the cpu bus
It's really hard to make it invisible and discolored at the same time though. Most emulators pick invisible because it's easier to implement.
Serious question: does the core mimic the rotating power on state you talked about earlier, kit?
nothing ever does try to address it because on hardware it's impossible
but I mean, why not
it's one line of code
I can just look at the decapped chip thing and see where it is and verify it
What, at the Kwik-E-Mart?
#1091056042667937944 message
Wait, was that a joke or is there really an invisible discolored line?
there is
the first line drawn has no chroma
it's black and white
you'd never see it on a tv because of overscan
you can see it here I think https://www.youtube.com/watch?v=AGxHeQ4kfUA
Micro Machines is practically unique in the NES library because it uses a feature not found in all NES and Famicom PPUs. That feature is called $2004 OAMDATA Read, and it was added in 2C02 Revision G PPUs. If you have a system with a 2C02G or 2C02H PPU, then this is how Micro Machines will display. If you have a system with a 2C02E or earlier...
That bum thought of everything to record 
you can make that line glitter if you implement the ppu perfectly
and flip bits at the right moment
someday im going to figure out where these pixels come from too
nobody knows why those happen afaik
that particular game is a dumpster fire of illegal hacks
Micro Machines for the NES is an unlicensed game that can show some obvious graphical glitches even on official Nintendo hardware. The above video was not captured on a 2nd-rate NES clone or through an inaccurate emulator. I captured it through a real Famicom with an HVC-CPU-07 motherboard and revision E CPU and PPU chips.
It is the revisio...
that's actually from cosmic rays flipping bits
Glitches in same spot
Which way would be the correct way to implement and why is it both? 👀
that one is particularly bad because it's not on revision G
earlier ones dont have the same set of functions
this may cause some pearl clutching, but the color palette on non-G PPU's is also different
the sky may not be the same purple
I use the same palette that I did 5 years ago. It is now my nostalgia
😛
If it's not on Rev G no one in the states will even see the issue
whaaaaaaaaat??! the concept of one true standard of accuracy is myth invented by the utterly deranged?

I remember that one time I seen FBX make a palette almost 20 years ago
I heard he's still making them 
documenting the hardware differences is also useful though
I still use mine
sometimes, when i'm feeling spicy, I use the high saturation version of mine
Yes, and it should be done
I like being able to create my own palette ... but I usually use one of the existing ones. Some palettes pair better with some games
Essentially every state of every common machine should be studied, esp if it's NES/Famicom or Genesis/TG16 👀
the one truth of palettes is that their luma has to be right
chroma you can really do whatever you want
because composite is garbage
Ur just a hater 
adjustable NTSC chroma knobs when
no, I just understand it better than anyone should
Never!
You did more studying after talking to NRS 👀 is better you keep the knowledge then
If the end user is happy with the end result it's just as well 🙂
at least its not the Apple II. That is literally "do whatever the CRT hardware does" without true standard
well, there is maths to it at least
just get the luma right and make the colors appealing
lil bit of garish yellow and the green and blue better pop
the red will do it's own thing anyways

on NES the yellow production was flawed, so it came out greenish
you can tweak that a little more lemony, as long as you keep the luma right
I always found the C64 yellow was meh in emulators and the core. Later I found out thats just because they use median values for settings...
it was better on the earliest models that had less distortion
I wasted way too much time playing with this when I first came across it ^
Have you ever had the chance to look at a Famicom Titler or a Sharp C1? I don't think it would change much of anything but they had native S-Video/RGB outputs
famicom titler IIRC just uses the same RGB cpu as the PC10
which is frankly aweful
Last toggle and take it up to like 66 👀
PC10 SMB3 is nice tho 😩 and SMB1 😛
I made a desaturated version of PC10 that emulated the grey screen they put over it to try to tone down the colors
yes that's what Im talking about.. I guess on old monitors you would just adjust it
I have not seen them palettes in a long time! I'll play with it 😛
Yeah pretty much. If it was a much older monitor you stop using it for C64 lol 👀
I agree, though there were many official games with additional hardware of course. I don't think there is one universal answer that works for every system since they can all have exceptions. For example, the NES had a ton of bootleg games which had custom mappers but their only purpose was to run a collection of pirated ROMs of actual games. Most agree there isn't too much of an urgency to get these to work. I suppose some might have had homebrew on them (and some contained romhacks), but I think that wasn't much of a thing until years later with all these arm-based emulation boxes, and most homebrew would be using the standard mappers these days I believe or one of the homebrew ones. I feel at least any retail game and homebrew game should work.
(I would love to see that Former Dawn game running on Mister if it ever comes out)
If it's just a simple check and that's all it's used for you would be able to hack the ROM to just always think that test passed, that's why any DRM that was even slightly effective obfscurated itself and was embedded all over a program.
in case it helps ^ these are some fixes for the N8 Pro to fix some of the tests
they fix Open Bus and APU Register Activation
Not sure what I’m doing wrong, but I can’t seem to get my built RBF to run on my EDN8 Pro
Probably missed something
Ah, got it working.
It turns out you need to enable "Reset Delay" in the EDN8 Pro settings and then launch the ROM, then quickly tap Reset
Here's the RBF for EDN8 Pro if anyone wants to try
just unzip, get the RBF and put it in a folder with AccuracyCoin.nes
Nice, my AV Famicom passes 2 more tests with it
Two more tests than an nes?
Eventually we will create a nes that passes
2 more tests compared to when I last tested the same AV Famicom without that special everdrive n8 pro mapper rbf
#1091056042667937944 message
We're going to start tweaking our original hardware to pass the test
You can purchase my mod kit on tindie
and LOOK, it got all 1s in test 10 and real hardware gets 2s!
god, I have been living a lie
So, this app makes the NES core pass more tests than even NES Classic Edition emulator, and Ares.
whats interesting is that my AV famicom doesnt pass 3 of the column 10 tests. I must have a different revision PPU inside
Weirdly enough, when I reran the tests, mine was failing 3 in column 10 as well
I reset it several times and it always failed
So idk how it succeeded in the first place
It might be a bug in those tests
or some random hardware quirk. e.g. I use an older Everdrive N8
Yeah could be
I enjoy how we're blaming our equipment to explain why his test seems busted
I suggested to him to categorize tests, if some are known to fail on real h/w
I want to run this test in like an NES emulator on a Dreamcast or a Gamecube just for the thrill of
it
I almost wish this test was instead a program that could report what CPU & PPU you’re running under the hood
it may get there
results would be same I think... since nesticle fails most of the tests
I was just wondering if there have been any additional audio filters created to replicate a Famicom/NES over RF? I remember the MLiG video saying that one of the 2kHz filters gets close but has anything newer been created?
why would you do that to yourself? 😅
I dont know if the audio filter setup can do it though
Lets just say I've driven myself slightly mental by looking into the developer intent debate
Arcade LPF 2khz 2nd gets pretty muffly already
I was watching AVGN's Metal Gear video and I'm 99% sure it's using RF
it's basically a 1 pole filter around 1khz, but it's semi-random depending on tv and astrological sign. there's nothing more to create.
Is this before they discovered the 13th astrological sign?
the NES had audio out and it deliberately had a 16khz 1 pole LPF, so if you want intent, that's it
Is that LPF active in the core?
the core defaults to 20khz which is not particularly different but a 16khz one is provided if you look
(btw, I really don't care about developer intent but many people like to argue about it so now I think about it every waking minute)
I'm sure someone from a random HiFi forum will argue that they can hear more "sweetness" and "space" with a 20kHz low pass
another thing the core does is it prevents ultrasonic triangle waves
they manifest on original hardware as silence from the HPF and analog nature of everything but modern devices are good enough to read it and make a high pitched beep with aliasing instead
I never had a NES so all I know about it is from the internet
this can sometimes happen in captures too
so I simply disable the repoduction of this "lazy" form of silence (capcom loved to use it)
it doesn't change the way the system operates, just stops it from outputting the ultra high pitched sound wave
Is this similar to what's happening with Afterburner II in the Mega Drive core?
Hence why Ultra Sonic isn't allowed in the NES core
I didn't even know that the RF low pass was a thing until I watched the MLiG video on the MiSTer. There was that Sharp Twin Famicom that had a LPF too.
He recorded those by connecting NES to DVR
And according to Barbie video it's very likely AV
I think he changed setups a fair bit too.
I think he had normal frontloader, a top loader then the nintoaster
Who knows how he was connecting them. His setups aren't exactly the height of efficiency.
What about testing ports of Genesis games on the NES?
it's not intentional, it's just distortion from the extremely poor fidelity and bandwidth of the medium
so the impact is fairly random
Oh yeah I don't believe it was intentional.
I grew up with a Model 2 Mega Drive over RF. Maximum sound mangling.
so the question you are effectively asking is "has there been any progress made emulating the dirt smudge that I had on my childhood tv screen"
Yeah how's the dirt
sorry the dirt has been deprecated
To give some backstory, there was a debate I was involved in about "developer intent", specifically in terms of composite video and the Megadrive.
There have been a few confirmed cases that developers used the exceptionally shite quality of the megadrive's composite output to blend dithering effects etc for transparency. Fair enough. However, this doesn't cover every game ever and there so many counter arguments that it's not a hard and fast thing.
But it sort of raised the question for me of how other people might interpret flaws in hardware as opportunities for "developer intent".
Like with the original Famicom only having RF out, were the soundtracks to those games designed with a low pass filter (sketchy as it may be) in mind? I don't know.
It really all comes down to personal preference, but I take issue when someone says their personal preference is better than someone else's and use the developer intent argument to back it up.
on the megadrive it's true, because the timing of the clock on that console makes it possible to use it consistently
not all consoles allow for that
also because the megadrive was a piece of shit without adequate transparency they got desperate and did dispicable things
in older consoles, flaws were exploited often
on the NES I could point to micro machines and Huge Insect
on atari 2600 they are numerous but Cosmic Ark comes to mind
I get there are confirmed cases but unfortunately it lead to the belief that any and all kinds of dithering were intended to be displayed over composite. Plus the other thing I realised is, bollocks to the developers, I like it better in RGB.
it wasn't
especially on consoles with uneven clocks
on megadrive the blending was fairly routinely exploited
Yeah it absolutely wasn't.
I think it's most evident on a lot of western developed Megadrive games. They often used the vertical line blending effect. I still prefer it through RGB though lmao
atari 7800 used it in one game for sure and maybe a second
Apple 2 used it for all color games
The SNES also had it's kind of naturally blurry output, even over rgb
At least the 2/3 chip models
a healthy snes isnt very blurry
I've got 2, one is blurrier than the other. Both recapped.
It's not horrendous but it's there
https://youtu.be/dY8glBnWFp0 this is my childhood pal SNES, all recapped etc
Rock 'n' Roll Racing is one of those weird games that was defined by its soundtrack rather than being a great game. This was my first experience with licensed music in a game and... well, it was interesting!
#rocknrollracing #snes #retrogaming
But, the saturn did that too. In fact, the VDPs had a function for it
Also, isn't there a similar argument on the SNES about if devs accounted for the rectangular pixels or not?
Haha I made an entire video on this
the plight of sega
Yep - 8:7 vs 4:3, right?
there's pretty much no evidence that anything on NES though, was made specifically to exploint any aspect of its composite
it would have been very hard to do so
What about flickering to fake transparency?
Don't a ton of games flicker your character if you get hit?
My honest opinion on the vast majority of developer intent is that the focus was getting a profitable product out of the door on time. Everything else came second to that.
Also I feel like a lot of people who are hardcore developer intent believers have never worked on a group project.
I mean, teams were smaller then, if there is just like one or two people working on that aspect
Not discounting any artistry (I'm an artist/musician myself) but these were businesses
yes, but I dont think fast enough to simulate transparency on old phosphors
Usually it was more than that in the bigger games
Yeah, it's more a CRT effect, but I recall it making things look transparent
Not even exclsively LCD, the Gameboy did it too
I don't remember it done on the NES
Gameboy benefited from poor refresh rates in that regard
Hell, I know some TI calculator games that did it to add extra shades of grey
I did see it a lot on genesis and snes
Castlevania II did it
more genesis than snes
it might have been in some games
I just dont remember them
I can check castlevania2
Pokémon Mini also used that flickering effect heavily for greyscale graphics
I think the SNES just slowed down
Castlevania II Belmont's Revenge or whatever it was called.
Pretty sure contra did it
Yeah Contra III on Gameboy used it for the "transparent" fire in the first stage
I meant on NES
Oh right
In fact, when you first load into the level your character flickers, and you can even pause it in this state and make him keep flickering
You’re talking about persistence flickering when the character is hit, causing it to be slightly see-through? That effect works fine in higher-resolution on modern displays - it’s not related to the cable or image quality.
The neo geo used it a lot for shadows
That's good news. The Japanese "Lost Levels" (actually proper SMB2) was FDS only with loading times. A playable cartridge version is certainly welcome for some).
It’s not really an accurate version, as a lot of the PRG-RAM dependencies aren’t accounted for in the Mapper 40 release. There are other accurate cart conversion releases such as the MMC1 codebase by Simplistic6502 and forks of it that use mappers with IRQ support. There’s also the old conversion from the 2000s by Loopy that uses MMC3 though iirc there may be some inaccuracies there still depending on what version you get
There is also ports to MMC5, Threecreepio has one that is pretty good and is pretty much accurate. Simplistic also has one that uses 32K PRG-RAM from $6000-$DFFF like the FDS, and the load times are fast since it’s copying from ROM.
Oh nice, a new mapper. Who is Iain Webb? A new developer?
Heya, I mainly just did it to see how it would be to implement a mapper. First time really doing anything in verilog haha
Great work! Nice to see someone getting into development, and working on mappers (even if most left are obscure and mostly for bootlegs, hacks, and odd Asian carts)
Yeah, the one mapper I was also planning on implementing but will require a lot more work is Mapper 142, used by Kaiser for FDS conversions of Bubble Bobble and Super Mario Bros. 2 (J), it's a clone of VRC3 with some modifications like 8K banking, PRG-ROM at $6000-$7FFF and a few other things. RetroUSB actually used 142 for their old SMB2J reproduction
Not sure if you have seen this, but may be of interest, it is a sheet of all the mappers across MiSTer and other FPGAs and flash carts (and thus also the ones missing) and a little blurb for each one
https://docs.google.com/spreadsheets/d/1iJM0-bT9_d7SZTpBevZ6d0IiJ05T6Cs_5KubpBqpVRM/edit?usp=drivesdk
Oh wow, there may be some bootleg mappers I could knock off since they may have similar structure to Mapper 40/42 (e.g. only 1 switchable PRG bank)
Like I know Mapper 50 for example is identical
Yeah, some of them looked pretty simple, just a tweak of what we have already. I made a note of nes dev mentioned it being simple (but take that with a pinch of salt, I am not a dev)
Hopefully useful though
Yeah, infact Mapper 40 was just a modification to the existing Mapper 42 code haha
just need to change some things like the IRQ, the registers and have the IRQ self-acknowledge after 4096 cycles
Going for parity with Power Pak could be a nice goal, I can't imagine all the ones on that we don't have are crazy difficult
Yeah, it's super niche mappers I am mainly interested in, I am obsessed with the old FDS conversion bootlegs.
Skimming the sheet, you are definitely not short of missing mappers for FDS bootlegs
Yeah, there are some I just will not touch because of their complex configurations. For example Mapper 103 which was used for Doki Doki Panic bootlegs has a 14KB PRG-ROM bank at $8000-$B7FF, and a 10KB ROM bank at $D800-$FFFF
I wish you good luck if you want to help implement other mappers.
Any initiative is good to take.
And thanks for the Mapper 40 support already.
No problem, the code was there with Mapper 42, just needed some tweaks. Right now looking into Mapper 50 since that may be ok to implement. The main issue is figuring out the registers since the PRG bank register is a bit scrambled and goes from $4020-$5FFF, but the IRQ reg is at $4120 haha
Thank you very much for the wishes
Mesen does it like that, if that could help.
thanks, yeah I think I have something that could possibly work for the banking, just need to get the scrambled PRG reg working
(oops there's an error with the irq there, should be == 16'h4120 haha)
Thanks!
43 is another for Mario 2 FDS conversions, not sure how complex it is
https://www.nesdev.org/wiki/INES_Mapper_043
iNES Mapper 043 is used for the TONY-I and YS-612 circuit boards, both containing conversions of Super Mario Brothers 2 (Japanese) from Famicom Disk System to ROM cartridge. There are two 32 KiB, one 2 KiB and one 8 KiB PRG-ROM chip. iNES-format ROM images first include the data of both 32 KiB ROM chips, then the data of the 2 KiB chip repeated ...
interesting banking config
Tip: In general you might want to avoid >= and <= as they can be inefficient depending on how they are compiled. Inequalities use subtraction. A better alternative might look like this prg_ain[15:6]==10'b0100_0001_00 or prg_ain[15:13]==3'b010
The first one checks for 4100-411f. The second does 4000-5fff
Gotcha, thanks for the tip that's really handy to know.
I know next to nothing about verilog and FPGA development haha, so anything to help with efficiency is greatly appreciated
Does the NES core not support more flashrom mappers or is there something special I have to do to get those to load? Was testing them out just to see and most didn't work
The supported mappers are listed in the Readme
I did a PR to update 40
Looking at Mapper 50, the range stuff is interesting and I likely could implement that but for now to ensure the banking and IRQ code works, I am just gonna do the writes that the game expects (4022 and 4122).
Yeah, I was reading that, but I could not even find them listed as yes or no in that chart
Not implemented are crossed out
Yeah, I meant they are not even listed, crossed out or not
Yes they are, they’re at the bottom of the readme
The key is at the bottom
Key: Supported+Save state, Supported, Not Supported. Mappers that are not existent or not useful are blank.
If less than 255 and no number, someone decided it was not useful
Nah, these are in the 400s, and used in some homebrew games
i've looked into almost every mapper on this list and nearly all of the non-supported ones are for some pirate multicarts
multicarts containing games that already have official, supported releases
I was looking at the list of mappers that have flash saving on the nesdev site
There are six listed, the first two are supported, third one is just a make-your-own-multicart so that's not important, last three are for homebrew games apparently
which homebrew games?
Only 268 413 and 547 past 255 are implemented. (See last line)
Haradius Zero, Jay and Silent Bob: Mall Brawl, Blazing Rangers (Though it seems some releases used a different mapper that is supported?), Hammerin' Harry 2 (Specifically the Retro-Bit version), and the Haratyler gams
i see
I was seeing the list here: https://www.nesdev.org/wiki/Category:Mappers_with_flash_save
Mappers which have a configuration which allow a non-volatile save via flash EEPROM. This tends to be cost effective, versus the more common battery-backed RAM method of storing saves.
Just the last three in the 400s, the rest are supported or just multicarts
unfortunately flash has limited write cycles
just don't go too crazy unless there's a need, because they make timings harder and the core slower to compile
the most efficient thing to do is add support for bootlegs that are nearly identical to existing ones so they aren't really much new code
Yeah I won't go too crazy especially for mappers which have like broken ports, like I think the "LE10" port of SMB2J by Whirlwind Manu is completely broken with how it handles IRQ and crashes after 4-4
Same with Mapper 43, I tried the port in Mesen and it only contained Worlds 1-4, and A-D
mappers like that that have only one or two broken games that nobody will ever play are just a burden
Yeah, I chose 40 mainly cause it was a fun project and also it's the most common SMB2J NES conversion on the internet, next to Loopy's
oooh that sounds cool
oh that's sick
the page 18 ones I wont fix
they are a whole refactor and they dont really effect anything
so if I get my ppu refactor in, those will get fixed
That's cool though that the NES core is already this accurate, really appreciate the effort all the devs have put in
realistically it's very accurate, most of these tests dont impact anything you are likely to ever come across in the wild
but since we have a scorecard now, why not be the most accurate
Yeah, I don't think anyone would lose sleep over something like implied dummy reads
hopefully
most of the failed tests passed (kinda) but with like little caviats
like one failed because the open bus bit of $4015 reads was 0 instead of open bus
that will never ever matter
isn't 100% accuracy kind of a myth anyway because of variations in hardware revisions?
yes
even revision G has documented difference between older and newer ones
and some things just fail between consoles
for unknown reasons
That's interesting, I know nothing about the NES architecture whatsoever so all of this is incredibly fascinating to me
older famicoms and NES are notoriously different
I think the "ideal" hardware revision is considered NES early revision G ppu
I had a Famicom with the 2A03A revision, and it would just produce random glitch tiles on the nametable
yeah
it can't play some games too
like micro machines
the PPU has different behavior for some of its registers
I see
Very nice! Thanks, I’ll check it out
Is there any chance you would implement mapper 144 in order to make the unlicensed game “Death Race” work? I ask for the extremely stupid reason that it is the only one of Jeff Gerstmann’s scientific NES ranking games that is not currently playable on mister.
Has he ranked that one? I don’t see it on the list https://8bitnintendo.science
his what?
It’s on the remaining games list https://8bitnintendo.science/remaining.html
im not sure what exactly those criteria are but putting rygar above metroid is a choice
His scientific ranking of every US released NES game using science and logic https://8bitnintendo.science/
It’s all science
Once he gets to death race and I can’t play it on my mister I will have an OCD attack
Metroid is way too high if anything
No crouch firing when the first enemies you encounter are below your beam is so horrible
Literally just let Samus crouch and the game is 1000x better
that sounds like a good thing to ask Lain for
The mapper or letting Samus crouch?
either, but the mapper is more likely to get done
once you all give that core I posted above a decent amount of stress testing ill put in a PR for the fixes
Great! Should I just at them here or is there some place I should post the request officially?
@gray plaza are your ears burning?
@gray plaza would you be interested in adding support for mapper 144 in order to make “Death Race” work on the core?
It’s important for scientific reasons I don’t understand because I didn’t goto college
Looking at the list it also seems like it’s one of the few mappers that seems to be implemented in every emulation solution except the mister. I wonder if there’s a specific issue there
iNES Mapper 144, allocated for the game Death Race, describes a intentionally defective variant of the Color Dreams board (mapper 11).
we have mapper 11 so adding it is trivial
Thank you girls so much for all you do!
This game's PCB (labelled 50282) is almost identical to the revision B Color Dreams boards, but a 300Ω resistor was added between CPU D0 and the combination of mapper hardware and ROM. This addition means that only the ROM's least significant bit always wins bus conflicts.
I swear to god, nes mappers
that's amazing progress, well done!
A whole refractor? What does that mean?
it means you need to move a lot of stuff around
sometimes that's needed for a small fix because it depends on bigger things, even if other functionality is same
That's not a map, that's a mess
I see, that sounds like a nightmare
yes it means it's a lot of work, like the whole way sprites are handled would have to be redone
and for effectively nothing but a few (theoretically possible) cosmetic flickers and corrupt pixels
because it's purely cosmetic, im not super worried about it right now
it can be included in a future body of work
does that make mister the most accurate playable nes emulator?
mesen is working on fixes too
but both will probably end above the rest
this is from some weeks back
the tests matters too though, not the number
yes
true. they really should rank those tests by criticality
where OAM corruption or PPU register locking doesnt impact anything at all
OG hardware ranks 121 points, so some tests may need tweaking
on everdrive
but everdrive makes some things fail
different revisions wont support some things
the RNW2007 and PPU 2004 behavior are differnt at least on different hardware revisions
so is the PPU register clear before vblank
yeah.. that single test in column 15 fails with my Everdrive N8 (non pro)
I think its PPU related
ah right - PPU reset flag
that will fail because the rom doesnt load at boot
Thank you Kitrinx 👍
@fierce estuary so is the conclusion that the failing tests were impacting some games as you are (kindly) fixing the errors? Are the one's you fixed valid for every NES/Famicom/FDS or just valid for the specific HW revision on which the test ROM was created? I'm a bit behind on what it means precisely although I read most of the discussion
not that i'm aware of
most of them were really minor edge cases that I dont think were likely to come up in normal games
if any it would likely be unlicensed ones
like very deliberately conflicting and messed up register reads
like putting the cpu in APU space before halting it for a DMA then accident reading from an APU register
Ah yeah got that. Some kind of context switching for audio. So, a specific scenario: any in game issues should be very obvious (sound interruptions, crashes,...)? and not subtle like a certain glitch that would no longer be exploitable? Like one up tricks in Mario games in general or in SMB2 JP avoiding Bowser 1 in 8-4 by walking through the wall. I know such tricks require very precise HW timings. Some don't work on PAL but maybe they were patched. Can't find a definitive reason why not
Or TL;Dr What are the odds subtle things are broken when failing such a test?
apparently it works if you replace the N8 OS with the test ROM (havent tried it myself yet)
Tested some games no issue so far
I’ll take a look yeah
One mapper done, booked for 20 others 
I'm not expecting anything to break to be clear, it still passes all the tests old and new, but several very critical parts of the system were touched so it's best to do a little boots on the ground testing just to feel extra sure
I suspect the NSF player visualizer will be broken if you completely isolated the bus from the mappers for 4000-401f. I may have cheated to get some data to there
Thank you!
Got the game to boot, some reason crashed after trying to select difficulty but I think it was just an error in my code
You should check this. Correct insulation is required for accuracy but it's still available outside if needed with a mapper flag
Bus conflict is probably wrong
Yeah, just tried this implementation and it didn't work either.
Since you can just re use mapper 66, all you have to do is add a new flag out similar to prg_conflict but with the special bit handling
Why 1:0?
It's just d0 right?
Oh, that's just cause the code from the color dreams statement was recycled
You'd do this in the same place prg conflict is applied in NES.v
Sorry I'm on my phone in a train station right now so I'm speaking from memory
It's ok, any help is greatly appreciated!
Basically add a flag to flags out and follow the trail of prg conflict flag out and just add another ternary for the new flag to the same lines
Make sure you also add the new flag to the evaluation that triggers using the new conflicted value
Do you get what I'm saying?
A little bit, add a new flag to the flags_out and add some special code specifically for 144 correct?
In mapper 66 Add Mapper144 check that only adds that flag to flags out. In cart.sv add handling for the new flag to output to NES.v. in NES.v add handling for the new flag in all the places the existing conflict flag is used
In cart.v make sure you also add the mapper enable for 144 to mapper66
That should do it
yeah, mapper 144 has been added to the wire line for mapper66_en
just need to implement what you've said now
Prg conflict should also be disabled for 144 since we want to use the new special flag instead
I can't remember if it's enabled or not by default for 11
It should be I think
From memory, I think that's all that's required
@mellow dawn if you are using dbus for your hack you should be okay
Only the CPU and dma can see apu output but the extra bus dbus already serves this role
Anyway if it's broken I'll fix it when I get back from this retro con
Also I'm going to be in Hartford this weekend if anyone else is going to that's
Unrelated to Mapper 144, but I did manage to get another FDS conversion mapper working. Mapper 142, uses Kaiser's KS202 ASIC (VRC3 clone with some upgrades)
the same ASIC is also used for Mapper 56 but with some differences like CHR banking, PRG-RAM and a semi-fixed bank at E000
Great to see a flurry of development on the NES core 🙂
Has anyone brought .sys up to date if a core update will be coming soon?
All this activity makes me soooo happy. NES core is my favorite.
I don't think the pirate FDS mappers will be used a lot, especially since these games came out on cartridge, or have more accurate conversions in the case of SMB2J. It's more just for novelty and getting the most common fds pirate mappers working
I don't see any use out of Mapper 43, or Mapper 304
@west solar It should be functional now
Thanks again so much for your help with getting this working, Kitrinx
Thank you so much! I’m assuming this will be implemented in a coming unstable?
Yeah, will need to push to my repo, and then send the pull request
You and @fierce estuary rock
Savestates also work on this mapper I believe cause it's a GxROM derivative
If you are adding any new registers they will need to be added to the save state. Note you should update the readme with your pr when you add support for new mappers.
Gotcha, fortunately it's not a register it's just a variant of the prg_conflict flag
I kind of want to add TAS to the core as a permenant feature
using DDR3 to store the script
it's actually very little code
well, DDR3 and a small bram ring buffer
That would probably cause some moral panic for RTA speedruns I imagine
it's open source, anyone can do anything
That's true, it's just more the ease that could concern others I would imagine.
I wonder if it's possible to add some kind of feature that somehow shows the core's hash or something that could be used to authenticate that it wasn't tampered with
I'd be all for it especially since I would love to run stuff like sub-frame input TASes on the MiSTer, I think the way for moderators not to panic as much is to 1. have some trust in the runners and 2. implement mitigation techniques in their rules
I'd like TAS for accuracy testing
Yeah, that's fair
right now I rely on the community to find little differences and bugs
a TAS adds one extra tool to show that there's something maybe a cycle off somewhere
like I remember some of the megaman real-hardware tas would get all the way to DR wily's castle then fail in the same spot
that was maybe something one cycle off, or possibly that tas was made on a different revision of hardware than the one we emulate
this was several years ago
but it was really fun to watch
did anyone test the NSF player?
I can do that right now
please do with my test core to see if it breaks
yeah, will do
I asked 100coin if he could add some more PPU accuracy tests for scroll register conflicts and stuff
I know fiskbit has them up his sleeve
Seems to be just fine, functions the same as the previous core
TASes are great, but +1 the idea of making it visible in a UI menu or something whether a TAS is/is not running. core hash would be really good as well!
(I'm a verifier on a speedrun leaderboard)
Just let me make that output static to current release and compile it... The joys of open source
I can add a mandatory input display or something
Except 534...
What is that?
iNES/NES 2.0 Mappers 126, 422 and 534 denote circuit boards using the MMC3-based TEC9719, ING003C and ING-022 ASICs. Four additional outer bank registers are provided at $6000-$7FFF for multicart use, overlaying WRAM. They can only be written to if the WRAM bit is enabled in the MMC3 ($A001=$80). Clearing the WRAM bit does not disable WRAM itsel...
lol
Mapper 99 🙏. I know it was a wip a while ago but would be nice if it got implemented
mapper 99 would be cool but may be a lot of work considering all of the arcade i/o attached to it
maybe the Vs. games would be better off as their own arcade cores
Famicom Datach add-on (a barcode reader with supported games) Mapper 157 would be a nice one to have, that isn't a bootleg thing
There is my one there
Now we have USB keyboard support, some of the mappers for the clones that turned the Famicom into an educational/edutainment "computer" could be interesting. Artemio has talked about one he used as a kid in Mexico he has fond memories of that we don't support
It's the mapper for the Atari Flashback and the Intellivision systems that used NES remakes.
I think a lot of the FDS conversion Mappers can be combined into one function since most just have switchable at $6000-$7FFF then a fixed 32K bank, the main differences I think are just the registers
.. Rambo Game?
Yeah I have no idea why they did that, they removed any mentions of Mario in the game such as in the special game over text for World 9
But since it's all open source, can't you modify the code to just display whatever hash you want? Likely would be better to manually hash the actual files on the unit for that.
RetroZone has a version of the Mapper 142 port that restores a lot of the original game graphics and text, but it breaks after beating 8-4 and displays "ERR 01"
Seems some games that got re-releases used new mappers so that they work off of flash? or possibly save to flash?
Ran into that when I was looking at what flash-based mappers are not supported
Most of them appeared to be for homebrew games though I think
That looks like a pirate multi cart to me
Yes, I guess we could use some kind of signing
It lists the Atari and Intellivision. They are not pirate carts.
You're telling me those were licensed by Nintendo?
i believe the atari and intellivision "carts" were games that came installed on those mini plug 'n play consoles you sometimes see in stores
the ones that have a NOAC in them
They were not licensed by Nintendo. But they were licensed by Atari and Intellivision. Instead of using Atari and Intellivision hardware, or emulation, they actually ported the Atari and Intellivision games to a NOAC.
i'm curious how they were able to do that from a legal standpoint
did the patents for the famicom hardware run out by that point
NOAC has no ROM in it, nothing is copyrighted. And patents only last 20 years and had expired
The modern Flashbacks use emulation, of course. Systems powerful enough for emulation are cheap today
Flashback 1 used a NOAC. Flashback 2 used Atari hardware. The rest use emulation.
Actually according to nesdev, the other two Intellivision collections used different mappers, only the 25 in 1 used the same mapper as the Atari Flashback.
And they were from different companies, so using the same mapper is sorta weird.
those NOAC are all the same... sadly they just output composite out of the chip so you can't mod it for better video
the ASIC must be cheap as dirt since it pops up everywhere
sadly there is no market for an RGB upgraded variant... it's just too expensive to make them unless you can sell millions of them
so it's not really a nes mapper at all
it's just clone hardware of some kind
being shoehorned into a mapper
worse than a pirate multi cart, it's a pirate console
Seems odd we don't have the Death Race mapper, that is an actual game.
iNES Mapper 144, allocated for the game Death Race, describes a intentionally defective variant of the Color Dreams board (mapper 11).
This game's PCB (labelled 50282) is almost identical to the revision B Color Dreams boards, but a 300Ω resistor was added between CPU D0 and the combination of mapper hardware and ROM. This addition means that o...
is it possible to "port" death race to mapper 11 instead
replicate that 300ohm resistor i mean
It's completely legal. The NOAC doesn't need a license and the Atari and Intellivision games are licensed by Atari and Intellivision.
Technically Flashback 1 and 2 were made by Atari. They didn't need to license games from themselves. But they were games that they had the rights for.
the NOAC is not a mapper at all, it needs a cart to operate.... that has the mapper
it may be a built-in cart in the console, but that's separate hardware
yes but it's not a nes
the ROM is likely in the big chip on the top left, the epoxy blob contains the NoAC
it's not a nintendo system
it's a clone with different behavior and nuance
that makes the whole system part of the mapper
oh you mean that even with the ROM it may not work
because EVERY difference in the clone is part of it
swapped audio channel polarity, etc
that is assuming they bothered to build custom ROMs for that hardware, though
which may be the case for more official releases
anyway - at some point the hardware would be different enough to justify a separate core;
dropping compatibility with every other mapper so there's plenty of room for customizations
I was going to say that reminds me of the Mega Duck, except that I then remembered the Mega Duck was just rolled into the Gameboy core XD
Accuracy fixes from Kitrinx + Mappers 40, 142 & 144 from Lain.
I saw a possible typo on the MM5 mapper file, I left a comment to the PR for Kitrinx (for evaluation).
I didn't edit that file
Could it be the change on apu.sv at line 133 where input logic odd_or_even,was redeclared as input logic get_or_put,?
ah you're right I fogot to add the file
it is changed in my code at home, but when I saw that file was changed in the diff my brain thought it was just my editor fixing whitespace
ill fix it when I get back on sunday
Death race doesn’t boot for me on this still
Tried a few different dumps and still nothing. Which version of main are you on?
MiSTer v250911
I’m on 8-28 let me try updating
Still nothing on the same main you are on. What’s the exact name of the rom you are using?
Check the header of your ROM. Some dumps may be using INES Mapper 011 when it should be 144
The expected NES 2.0 should be 4E 45 53 1A 04 08 01 98 00 00 00 00 02 00 00 01
How do I check the header on a pc?
So you can check the header in Mesen by going to Debug -> NES Header Editor
Note the mapper number, it should be 144, if it's 11 then change it to 144
Got it, need to download mesen brb
Some ROMs may be iNES instead of NES 2.0, it shouldn't matter here. The header I provided is just an example of a good NES 2.0 header for Death Race, I forgot to mention you can also replace the header with the one I provided using a hex editor (it's the first 16 bytes of the ROM file)
Mesen is just easier to deal with in my opinion cause of its GUI
That did it! All my dumps were indeed set to 11 instead of 144. Thank you so much!
Anytime, just remember sometimes older ROM dumps can be bad, always good to compare checksums with a known good set such as from No-Intro
I skimmed but didn't see (so apologies if I missed it): @gray plaza if we have mappers we'd like to be put into consideration, is there a place we should put them? make a github issue for all of them? individual issues? relentlessly pinging you on discord? What's your preference?
Isn't Dendy already a type of famiclone, which already has these issues?
yes, it's a very specific type, with very specific issues
however it was made to play both ntsc and pal, real carts
that's why it's so weird
That and that it is Russian
Fire a DM or relentlessly ping tbh, there’s probably not a lot of mappers left to implement it seems as most are multicart mappers or FDS conversion bootlegs with strange configurations
Like I don’t think I would want to implement Mapper 103 with it’s horrific banking config
is that mapper spreadsheet still updated? (from Birdybro I think)
it would be nice to close the gap with everdrives and the NT
not a requirement, just nice
Yeah, I’m just conscious that some mappers will make timings harder and compiling longer like Kitrinx said, for little game when some mappers with incredibly weird configs only support one game
Some mappers can be combined into existing code with new logic to handle the different mapper
It should be up to date, although I haven't added in the ones just done that aren't in Main yet
right, then it suggests there's still a few missing mappers; although many aren't that useful
Would definitely be nice to close the gap though if there isn't a high cost in doing so
for cases where one mapper should be used instead of another, could the core maybe assign the number to the same code?
then you can claim support with very litle extra logic
Theres a lot of MMC3 clones that could probably be knocked off the list, but I don’t know if there’s any differences in registers that’d make it very tricky
Is this one will implied minimal changes ? It is use for Haraduis Zero
https://www.nesdev.org/wiki/NES_2.0_Mapper_406
NES 2.0 Mapper 406 is used for the homebrew game Haradius Zero. It is basically a homebrew TLROM circuit board that connects the MMC3's address lines differently, and saves the high score to flash ROM. The game executes the flash ROM chip's "Software ID" command; if the manufacturer and model ID do not match the expected values, or it detects th...
Unfortunately this one is a bit beyond my scope, as this requires replicating the flash ROM chip of the original board to beat the copy protection
Ok 👍
So a bit of logic will be used ... Thanks for the check
No worries, I was looking into the FDS conversion mappers that are similar and there are a few:
5x8K, one switchable:
40, 50, 309, 368, 539, 554
1x8K switchable, 1x32K fixed:
42, 108, 120, 304, 306
Obviously they'll have different registers and some don't even have IRQ support or mapper controlled mirroring
Aww, that's a shame. That's one of the ones I was hoping could be implemented. The other two are also FlashROM based and in the 400s as well 🙁
Yeah, unfortunately that's beyond my level. I'm still happy to help with looking at other mappers people may want but I am just conscious about it being beyond my skill level and also the use case of them
Can I ask why is there any value to fds conversions?
my first guess would be not having to flip disks and/or wait for load times
don't have anything off the top of my head, hence why i said "guess" lol
i know zelda and castlevania have to load/flip every now and then but those of course already have official cartridge conversions (albeit the fds versions do still have minor differences)
There isn't really any value for something like that in MiSTer, the ones I listed were mainly just an example for mappers that can be combined into one function, wasn't planning on implementing them really because there isn't really a point to them when you can play the original disk version or even an officially released cart conversion
I think they are very much neat in the context of the history of them, but for a project like this where FDS load times are very fast and disk flipping isn't an issue those mappers are very much redundant.
I'm trying some compilations with the corrected PR from Kitrinx.
I saw some timings requirements not met on Quartus with the standard Fitter options.
it was failing timings every build for me since the start
I don't think I created any logic loops with the bus
that's the only thing that would impact timings
If it helps, though I don’t know if it will, I can rewrite one of my mappers to work within a similar one
Okay, thanks for the confirmation.
I will try the compiled core after my work hours.
I feel like Mapper 30 flash saving is one of the last "big" mapper things not implemented. There are a lot of UNROM 512 homebrew that use flash saving that either won't save on MiSTer or will even crash when they try to save, like I know the game Courier crashes.
But I think from things I've read in the past it's maybe not realistic to add? Or just complicated, I have no idea.
it's just annoying
Yeah, homebrew that uses flash are the last mappers I personally care about. Didn't know that the implentation of 30 on mister didn't support saving, and then there are those three mappers in the 400 range
This may be of interest. These are the mappers that every other system on the sheet supports that MiSTer doesn't.
81 being exception, not everything supports that one
Is that all of them? I guess the list doesn't have 406, 446 and 451
The sheet covers the following systems, I don't think any of them support those 3
Ah, I thought it was a full list of mappers
It covers all the mappers, or the ones when this sheet was created a few years back, but it is only logging what those FPGA systems and flash cards support, not software emulators
I see
Yeah, the only software emulator I could find that supported those was puNES
It is possible N8 has added more support since this sheet was created I have missed
But back to point, it is probably worth looking at that list of mappers that all the other FPGA consoles and flash carts support, but MiSTer does not.
Yeah, would be nice to have parity with flashcarts
(though mister already exceeds snes flashcarts)
Well, it's not in stable yet but we do have Death Race working now so yeah, that I guess can be updated when that stable is out
Yeah, I can update those new ones when they go live
Heh, I was going to say I love how the name of that game sounds like some cheesy low budget violent action movie from the 80s... then I find out there was a 2008 movie with that name
... and that apparently that NES game is a remake of a 1970s game based on a 1970s movie called Death Race 2000
I have SNES special chip support on another tab on that sheet
Isn't the Mister just missing those two ARM chips in those two Shogi games?
I could probably implement 81, it doesn't really look that bad
Oh, I thought it supported the turbo
This reminds me, wasn't there a handful of Famicom games that have sound hardware that is not emulated in anything?
Or possibly even dumped?
(the sound hardware, not the game rom itself)
I think it's some kind of speech synthesis chip?
Yeah have updated now for Sufami Turbo support, we have that now
What even is that Sharp one?
Yeah, never heard of that one either
in fact those three there the rockwell, sharp,. and MX I dont know
is it some homebrew junk?
anyway for the NES mapper 99 really needs to get taken care of
that one is a little embarassing, the rest are just clutter
Found a list I had made of the games with those sound chips, does anything support these? https://pastebin.com/Xz11Lcn8
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
I just wonder if there are really any mappers that are which are worth implementing left apart from 99?
none that I personally would care about
IIRC the games will still run, just without the synthesized sound
TBH I made this sheet so many years ago I have to look up these weird SNES chips, Sharp looks to be super game boy so we do now support that one
there's probably some low hanging fruit that is nearly identical to existing ones and just requires an enable and a tweak or two
it's not valuable but it also doesnt cost much
Rockwell is the Xband cart
Yeah, I am planning on rewriting 40 to be combined with the 42 code since I should have done that in the first place. First time working with verilog so sorry for the kinda messy first implementation haha
Nintendo Power (Japanese: ニンテンドウパワー, Hepburn: Nintendō Pawā) was a video game distribution service for Super Famicom or Game Boy operated by Nintendo that ran exclusively in Japan from 1997 until February 2007. The service allowed users to download Super Famicom or Game Boy titles onto a special flash memory cartridge for a l...
stuff like the cvs pharmacy clone systems that are just coincidentally similar to NES hardware are dumb, they arent even carts or for NES
Heh, xband support would be nuts
are there roms for that?
what exactly is there to emulate?
IIRC it's a cart you write games to at a kiosk?
yes I understand that
but like, what would that look like on mister?
just the menu and nothing else? did it even have a menu?
157 would be nice to support
im not sure how you'd use that on mister
How would the EEPROM system even work?
"Each cartridge's flash ROM is divided internally into eight blocks. Unless an 8-block game is loaded onto the cartridge, however, one block is reserved for the game selection menu, leaving only seven blocks for games."
that seems better to do on an emulator where you can do fancy UI things
so basically, it's a special mapper just so you can see the menu on the otherwise useless cart?
MX15001TFC
edit
Main article: Nintendo Power (cartridge)
This chip was made by MegaChips exclusively for Nintendo Power cartridges for the Super Famicom. The cartridges have flash ROMs instead of mask ROMs, to hold games downloaded for a fee at retail kiosks in Japan. The chip manages communication with the kiosks to download ROM images, and provides game selection menu. Some games were produced both in cartridge and download form, and others were download only. The service was closed in February 2007.[19]
Also, hey, if we're talking about crazy accessories for the snes...
That reminds me, I do have a Miracle Piano from back in the 90s, the NES version, wonder if I can make a SNES cable for it and finally try the SNES version of the software through SNAC
I have no idea if there are dumps of the Nintendo Power cartridge, I don't think anything supports it, maybe some software emulator but I have no idea
... same for the Genesis and DOS software
Pretty sure I recall some software emulator having it in it's menu options
maybe it's worth knowing that before you call out the lack of support
I didn't call out lack of support, or request it, years ago I documented the chips listed on Wikipedia and put them at the end of this table
524,288 Nintendo Power Menu Program (Japan) (NP).sfc
524,288 Nintendo Power Menu Program (Japan) (Rev 1) (NP).sfc
No idea if that add-on for the bike has been dumped, I know it's carts have been
Does that add-on evne have a bios or whatever on it?
It requires you to plug something into the bottom of the SNES
there was a port under there?
yes
ehhhhh
You can see it on the top-left here:
Yeah, it is the same port you plug the Satellaview into isn't it?
Here is the fitness bike thing plugged into the snes
What is WRONG with my typing today
Why does it need to use that port over the controller port? Is there more going on with it?
No idea
I woulden't be surprised if it's just to use a controller... but that would be a very expensive and round-about way to do it, so I assume there is probably more going on
Can't find much info on it, or even images of the PCB inside it
Just photos of it's outside
I think it's probably just using the controller pins
Why not just use the controller port though
or using that to provide input from the controllers and the bike at the same time
I cant imagine it's doing any kind of complex things on the bus
My assumption is that either they already had some kind of standard input/output for their bikes and used that as an adapter and it's jstu acting as a controller, or they are using it for some kind of analog input or something
maybe an IRQ and some writes
so it could adjust the resistance of the bike or something
Wish I could find any documentation on anyone having looked into it
that would make sense
Can't you do that over a controller port though?
like a hill in the game would increase resistance by writing to dbus and a register in the bike
very slowly maybe
my leading theory it was for bike setup
AFAIK this bike and the Satteleview are the only things that used the expansion port, I believe not even JRA-PAT did
Despite having a modem
Oh right, the NES had a modem too, but I think there was only one game on it and it was mostly used for things like JRA-PAT, banking, or store kiosks, and the software was on these weird cards.
Well, Famicom, not NES
Exertainment is a tricky subject, because although my focus is on Nintendo and the Exertainment Bike in this video, they were far from the only (or earliest) company to combine digital games and exercise. I wanted to expand and talk about the unreleased Atari Puffer, or some of the equipment made without partnering with a video game giant like t...
Does it do anything like logging exercise stats like speed or distance cycled or anything?
the bike's resistance does reflect the game
the controllers clip onto the handlebars and go to the controller ports
basically they just needed more output
it's using that port for data io to the bike
I guess that means the PCB barely would have any components on it then
likely a simple serializer to make it into a phone line that pluged into the bike
there's no actual way to emulate that that I can think of
Yeah, I am sure if there was actually a demand someone with the skills like blue could make a board that does whatever this box for the bike does
connected to WHAT
Well, would the add-on be sending any data back?
If it's only sending data to the bike, dosen't sound like there is much to emulate unless you have the bike itself
it probably gets pedal speed back too
Ah
the bike itself does not plug into controller ports
controllers do (that clip onto the bike)
so all bike data to/from go through the exp port
the bike itself has an rj45 connector so it's serialized in some way
Huh, looking at photos of JRA-PAT the modem itself plugs into a controller port.
but I still dont see how you'd use any of this in emulation, it all needs a physical device to be meaningful
Surprised the bike could not work off the controller port then if a modem can
increasing resistance and measuring pedal rotation
Yeah, I guess if you have the bike... a SNAC adapter that instead of a controller port gives you the expansion port? or both? XD
Or using a usb to serial adapter for the expansion port
snac doesnt really have enough pins for the exp port
Ah right
that exp port has more pins than an atari 2600 cart 🙂
I guess it would have to be done in software using a usb serial adapter?
to what?
Heh, so more pins than the Jaguar A/C port
a real bike?
yeah
is this even realistic to entertain?
Not at all, they go for like $3000-6000
Just again, surprised it would need the expansion port if JRA-PAT could handle a dialup modem over the controller port
Yeah, I would not be surprised
or they thought it was more tidy
I admit, it would have been. Surprised they didn't just make that modem sit under the snes. Would be a hassle to plug/unplug it every time you want to use it or play a 2 player game
I guess technically you can leave the controller plugged in to play games
assuming it does not screw with games
there was a heart monitor of some kind too with the bike
I can't tell what had crazier accessories at this point, the snes or the nes, likely snes
Yeah, that was odd
so someone can play against you using controller 2
I assume that's to entertain kids while you are using their snes to do your workout
I think they were setup in gyms too, because I see many with a CRT attached to them
yikes
it is the ancestor of wii sport 😅
Would hate to see the Atari version
Speaking of accessories, is there any way to get the Data Recorder to work?
For the Famicom/NES
What is that?
tape recorder which was used for some of the very early titles like excitebike and wrecking crew, it required the famicom keyboard as well
Wait, it required the keyboard?
I thought you could just use the tape recorder itself to save/load
But yeah, some early games which let you create custom levels allowed you to save/load from tape using the Data Recorder
It was just a cassete tape plater/recorder, similar to computers that used tape to save/load programs
The core supports keyboard, and I think tape loading to some degree?
It does? I'll have to look again
No idea if it can record internally, but if not, well, there is that aux port intended speifically for loading data off tape
Well, what I mean is the keyboard was required since the data recorder used 3.5mm jacks for its loading and saving.
Ah, yeah, I recall long ago reading how to just make a cable that I think plugged into the expansion port of an nes
Hmm, that recorder has two ports though, but they appear to be two mono cables
Wonder if you can just use a single stereo cable for the same thing
Ah interesting, that would make sense since the expansion port has access to D1 of $4016 and $4017
Yeah. I have loaded data from tape on the computer cores before, but never tried saving. Can you save data to "tape" in the mister in the form of like a wav or tap or whatever file, or would you need a real cassete recorder and the second aux jack for that?
Just wondering how it would be possible to save/load tape data for nes
If you can just do it in files, or would need to use that aux port and a real tape recorder
(Or I suppose any audio recording device that can record at a high enough fidelity)
Hmm, pretty sure the core doesn't have ADC in/out cassette loading
Since MiSTer can run most (all?) released NES and FDS games, what is the purpose of the additional mappers discussed here? AFAIK, Mappers are just game code allowing the console to address 'external' HW-resources on cartridges right? So seeing no new games are being released, why is there so much mapper buzz? Or are we talking about beautified modified versions of original games?
mostly weird pirate carts or hacked versions of games that were made before things like FDS were emulated
occasionally homebrew
the mapper buzz is because some people have some issues with "gotta catch 'em all" and don't really understand some things are just trash
in a software emulator, it's fine if you emulate trash
because there's no cost other than some poor developer's effort
on an fpga it means every build I do to add a real feature is going to be that much slower and that much worse, until there's no room to add anything new at all
