#NES/FC/FDS/Dendy

1 messages · Page 12 of 1

half pasture
#

Core is too good. Can’t find any glitching game. That’s boring. 🥱

cursive sable
#

Why would you do that? The old Genesis core is still available as an alt core. Also if you really wanted to go that route, it would be easier to just rename your genesis roms to .32x and load them in the 32x core

real matrix
fierce estuary
#

it should mess with the MMC1 register and then execute STP if the system works right

#

which stops the cpu

#

if you dont implement stp, it will try to keep going and be weird

cursive sable
#

Can the revision of the CPU/PPU or what values there are in unitinilized RAM have any effect on this, or will it always be the same regardless of those?

real matrix
dry lynx
#

All you guys talking about mappers while I’m busy playing games elmorise

steep yew
#

googling 5 screw metroid n the early days they used 5 screws and then switched to the 3 screw. Some games a more desired as the 5 screw because they were usually caught in the transition when 3 screws came out, so some games there’s less 5 screws that were made. So they are more rarer in production. Also before the famicon to nes converter came to America from 3rd parties, a few of the games used the Japanese pcb boards in the 5 screw and that was a easy way to play imported games on an American nes. Basically the imported games had different pins than America games. There was a converter built into the 5 screw American games that used the pcb boards from japan and you would swap board out to play other imports that may not be here fucking video games are awesome

real matrix
#

There seems to be only one ROM revision for US Metroid anyway (not counting Virtual Console)

#

Doesn't necessarilly mean the mapper never had revisions, though

fierce estuary
#

there's a few revisions of mmc1

#

they have slightly different behavior

real matrix
solemn sedge
fierce estuary
#

there's several

#

it runs at like 2 frames per minute

#

it's also not accurate

solemn sedge
#

Yep, just thought people here might find it interesting.

fierce estuary
#

also only macos

hasty trout
#

Interestingly enough, MetalNES is by the creator of Nesticle

#

But yeah it is way too slow to be playable

fierce estuary
#

it's kind of a research tool, like visualnes

#

which is similar

#

made by sour several years ago

gray plaza
solemn sedge
#

Thought it sounded familiar, sadly the github hasn't been touched in about 3 years. I may still try to get it running on my Mac for giggles.

gray plaza
#

“Are you still amongst the living?”

gray plaza
fierce estuary
#

I thought it was macos only

gray plaza
#

It’s MacOS only yeah, but it doesn’t even compile on Mac

fierce estuary
#

I see

gray plaza
#

That’s what I heard from 100th Coin

real matrix
cursive sable
#

I mean, it's only had 7 commits, and the first three were just the readme file. The rest were between Feb to March of 2022. I remember reading about this when it was first revealed but yeah, looks like the dev started it and more or less immediately lost interest.

fierce estuary
#

Is something broken wark? O_O

timber lava
#

@fierce estuary it is just for understanding something, for this game God Slayer - Haruka Tenkuu no Sonata (Japan) from a cold load of the core and load it, SNK logo is shows.
If I reset the core or reload the rom, the logo is not shown.

fierce estuary
#

if you reset the ram it should show the logo

timber lava
#

ok !

fierce estuary
#

try setting it to 00 and see if it fixes the problem

timber lava
#

00, FF or random the SNK logo is still not shown

fierce estuary
#

hmm, is it MMC3 failing to reset some state?

timber lava
#

this behavior is also present on last release so it is not a regression

fierce estuary
#

I think real console also does this

#

with reset button

#

but I thought it was a mark in ram

#

on my agenda is to clean up the reset state of mappers, mmc5 definitely doesn't clean up properly either

#

it's technically not wrong, because real mappers tend to start in a dirty/random state

#

but for emulator consistent behavior, it's desirable

timber lava
#

Ok ! maybe on save file or something !

fierce estuary
#

it may be in the save ram not as a save but as scratch space and it's saved along with the games

timber lava
granite pivot
#

The JP Super Dodgeball does something similar after starting a game. The game plays a clip of Kunio saying his catchphrase (namen nayo) and resets to the main menu instead of the title screen.

timber lava
#

If you reload the rom, it goes also to main menu ?

#

MMC1 without battery so it is not store on save file for this game

granite pivot
#

yes. No save.

#

I think the US version actually does the same thing, but the voice was removed.

#

but if you reset at the title screen before going to the menu, the game returns to the title screen without playing the voice

timber lava
#

Thank you

hasty trout
#

Started a playthrough of Rockman 4 Minus Infinity on the core, first time I've played it since probably 2022 or something. And I saw something that surprised me, in a good way.

So I have a R4:MI reproduction cartridge made with real MMC5 hardware and I remember distinctly playing it back in 2013 or so and encountering a very weird visual glitch on one of the bosses in the Cossack levels. I tried it on every NES emulator at the time and none of them reproduced the glitch. Then years later I tried it on the NT Mini and it wasn't there either.

But I was playing today and it's here! and it's exactly like my unmodded Twin Famicom

#

excellent stuff

#

really glad that even weird little quirks like this are represented now, it's pretty crazy

jade zenith
#

i've never seen that

#

i played r4mi on the nes core about a year ago and don't recall that happening, so i guess it's an expected quirk of the ppu, since it's more accurate now?

hasty trout
#

Yup exactly

#

It happens on a rev G Twin Famicom running the game on a reproduction cart made out of a real MMC5 board so it’s accurate

tender rose
#

that's exciting the NES core passes all but one of the accuracy coin tests

#

i noticed with SNAC enabled it only passes 124/128

#

using the october 5th build

clever scarab
hasty river
#

Well they're using an older build right

tender rose
#

my bad i got the latest unstable build and see that now

#

it still fails with SNAC enabled for whatever reason

#

125/128 tests passed

#

the controller strobing and clocking and DMA + $4016 read gives a FAIL 1

#

im not stressed about it or anything 😆

timber lava
supple jasper
# tender rose 125/128 tests passed

I think Kitrinx said something about SNAC failing because it's two controller ports and one controller isn't plugged in? Something like that.

#

Also, you have to change your timing setting to NES instead of Famicom.

tender rose
# supple jasper

thank you. i wasnt using the right search queries to look that up!

half pasture
#

Accurate SNAC wen

clever scarab
dry lynx
#

Kitrinx wins again! elmorise

covert crypt
#

Now I'm waiting for a Kitrinx Megadrive core.

#

Imagine the possibilities

#

Playing Awesome Possum at its most accurate

clever scarab
#

I heard a rumor that @fierce estuary is working on Virtual Boy next

gleaming crag
hasty river
#

Well she does like modern games that use special chips to run

glacial pecan
#

Out of spite she might hardcode a specific extension for it, so that people think it something new and undiscovered

ember bone
#

Personally, I’d love to see someone work on an FM Towns core. That’s my white whale, the console I never got to play or own.

fierce estuary
#

I'm going to file this under "Things I don't understand probably never should"

fierce estuary
urban meadow
#

The dots in the upper left corner? Seems to work good.

fierce estuary
#

yeah the dots

#

(it's one too short because I can't count)

#

you can turn it on without speedrun too, but then the red dot wont be there

urban meadow
#

Are the two groups for each of the controller ports?

fierce estuary
#

yes

urban meadow
#

I like it. Simple and to the point without being overly distracting.

fierce estuary
#

I figure it addresses a lot of speedrunner stuff because if you can see the input, it is obvious if they are cheating whether it be up + down at the same time or TAS of any means or whatever

urban meadow
#

Yeah, as real hardware continues to age, something like MiSTer can be a solid option for that community.

fierce estuary
#

I made the module variable too so any core can drop it in if they want it

glacial pecan
#

would it be hard to make the position of 2p input variable in its location (ie. bein on the right side)?

mint lichen
#

Looks nice and simple, makes it obvious

fierce estuary
#

I could stack them vertically though

glacial pecan
#

Might be better should it ever be part of one of the cores which utilize more buttons

#

but looking good simple. Strange that the TAS seems to hold the last inputs when a stage finishes

fierce estuary
#

it's not strange, it only updates when it polls

#

the game probably doesnt poll for input during that

glacial pecan
#

I see

fierce estuary
glacial pecan
#

order is done by polling sequence?

fierce estuary
#

in this case I just fed it in the NES order yeah

dry lynx
cursive sable
#

They just make me think of the CRAM dots on the Genesis

#

It's simple and gets the point across though, but for a human looking at it I admit the dpad being just a straight line is a little hard to understand as you are looking at it

glacial pecan
#

surely there could be an obs plugin which just parses these pixels for a different overlay

cursive sable
#

Also the module being variable makes me wonder how it would work for systems with analog inputs, or special controllers like a paddle controller

#

Not that the NES had that.... AFAIK at least

fierce estuary
#

dont use it for those systems

glacial pecan
#

But vcs5200 had that anlog thing, if only I could remember the leading dev...

fierce estuary
#

NES has a rotary controller for arkanoid

#

it has lightgun

#

but like.. dont use it for that

#

that's not what it's for

glacial pecan
#

Nothing wrong with analog values as bits

fierce estuary
#

I mean, I'm good at reading numbers in binary

#

so that's true

cursive sable
#

Was real neat watching a TAS Solar Jetman run on my MiSTer with this, though most of my r08 files desynced pretty early 🙁

#

Never managed to get past world 3/4 back in the day in that game

fierce estuary
#

solar jetman has to start from reset with offset 0

cursive sable
#

Solar Jetman actually worked fine for me

#

Was one of the few that did

fierce estuary
cursive sable
#

I must have an older version of the core then, I see the Load TAS option but I don't see the Speedrun options

cursive sable
#

Where do I get the latest version of the NES core with TAS? I can only find the older versions or ones without the TAS feature

fierce estuary
#

I have no idea

cursive sable
#

???

dry lynx
#

Well, it does, but only in her heart ||and on her hard drive||

cursive sable
#

Ah, sorry. I thought that version had already been released. Also just realized the one I had was older than the pinned one, I thought I was already on that one.

dry lynx
#

Maybe it has, I dunno

fierce estuary
#

I think stacked is nicer

urban meadow
#

Oh that does look better.

fierce estuary
#

@mint lichen that's forced on for tas, think that'll be okay?

#

@cursive sable there's your core

cursive sable
#

Thanks, sorry, didn't realize it was not released yet.

fierce estuary
#

it's a feature im working on, i've thrown a few builds in here to test other things that had a wip version of it incedentally included

mint lichen
#

Red dot means TAS? If it's forced on seems good

fierce estuary
#

yes

#

red dot means tas

#

you can turn it on manually too for just your own proof of inputs but there's no red dot

#

unfortunately it doesn't catch snac atm

#

but I can add that

mint lichen
#

Yeah, makes sense, simple solution

glacial pecan
#

stacked is nicer

fierce estuary
#

I wanted to take up the absolute minimum number of pixels possible of screen real estate

glacial pecan
#

but would it be theoretically possible (without much work) to have a one pixel outline per input (or essentially a black line on top and bottom)?

mint lichen
#

I use the Retrospy script for my controller display, works pretty well

cursive sable
fierce estuary
#

yeah I was wrong, it's offset 1

#

it's 1 in my video

cursive sable
#

Ah, ok

fierce estuary
mint lichen
#

Trying to get the Battletoads GEG TAS to work, it's only 50 secs. It's synced to the wrong warp but it goes to a cutscene instead of the ending text. Not sure what's missing for it to finish right. Offset 0 worked to get there. I tried all the RAM settings and it was the same.

fierce estuary
#

dunno, could be a mapper issue or core issue

#

or implementation issue

#

or I just dont know how to use the movie

#

the warp one works

mint lichen
#

Just the regular warps one works? Taking the intended warps?

This is the GEG one, looks identical to the TAS but warps to the wrong screen, should go to the ending sequence in this pic

fierce estuary
#

yeah

#

it getss stuck on the dialog

#

this is why I wanted tas, to find these things

#

feel free to test with the latest core and that pack I put, make sure mem clear is set to bizhawk, mode set to polling, and offset set to 1 for most of them

#

some games require a specific revision (eg Castlevania needs prg0)

hasty river
fierce estuary
#

that's hard to draw

gray plaza
#

Appreciate the input display being implemented for TASing stuff

fierce estuary
#

the point isnt really for novelty, it's so people can see the inputs and verify a real human is doing legal things

hasty river
#

so long as there's a legend/key I'm sure people will figure it out

fierce estuary
#

it resolves "l and r at the same time cheating" issues too

hasty river
#

yep

mint lichen
cursive sable
fierce estuary
#

I hate to ask this of you, but is it possible to get a 60fps video of the orange pacman pixel? we're trying to do some research on the behavior of scanline 0 🙂

#

oh

#

this is important

#

for games that requireme memory init, make sure you load the tas first, and the game second

#

because the ram init right now only happens when you load the game

gray plaza
#

Obviously people can edit the source code, but any mitigation is great

cursive sable
fierce estuary
#

yes

#

the tas stays loaded and restarts whenever you load a game

#

some games require a manual reset, supposedly

#

that's fine

#

not all games need memory cleared

#

@glacial turtle you love spreadsheets right? a spreadsheet of which of those verified tasses break would actually be useful

glacial turtle
#

So a testing sheet for all these? I can knock one up tomorrow (late here right now).

vague sigil
fierce estuary
vague sigil
#

No problem, happy to help out.

fierce estuary
#

orange dots perfect

#

hopefully I didn't break anything with these new ppu tweaks, but it seems okay

timber lava
frigid marten
#

at this pace it might have 200 tests rather sooner than later blobfoxinnocentmlem

blissful prairie
#

That's not necessarily bad. I helps with fast regression testing.

late flower
#

was there even a core update or did mister just pass the new test without changing anything?

dry lynx
#

MiSTer core is 130/129

frigid marten
timber lava
clever scarab
#

So like, is this a war of attrition between the speedcoin guy and Kitrinx?

frigid marten
#

or maybe it's a game for the two

#

"bet you can't get this to pass!"
"oh sure, i will!"

clever scarab
#

Awwww Kitrinx has a new friend

covert crypt
#

As it's an 8 bit system, can it have more than 256 tests?

fierce estuary
#

the most recent test is testing for the pac-man orange pixel, which I discovered

#

it's actually a complicated set of scanline 0 behavior

covert crypt
#

I was watching the MLiG video on the MiSTer from 2022 and it's incredible that things are still being developed and refined

#

It's a very exciting community to be a part of

#

Meanwhile my wife goes to a book club. What a nerd.

blissful prairie
#

Is the orange dot fix included in the stable release which is being uploaded right now?

jade zenith
fierce estuary
#

I think partly, it'll show rgb behavior though

dry lynx
#

Sounds like we’re due a new stable core smugnep

blissful prairie
#

I see that your latest PR not included. Thus I guess it is not.

fierce estuary
#

the latest pr fixes the behavior to be properly composite behavior, but it's been there for a while

#

it's pretty minor changes

#

wont impact much

#

mostly tas alignment stuff

blissful prairie
fierce estuary
#

yes

blissful prairie
#

Thank you

dry lynx
glacial turtle
#

I'll get the testing sheet made up in a bit, need to get some dinner prep done first

clever scarab
fierce estuary
# glacial turtle I'll get the testing sheet made up in a bit, need to get some dinner prep done f...

some stuff that's important to note about real hardware TAS things:

  • They were made on an emulator. Some were made on BizHawk which is pretty accurate, some where made on FCEUX which is not quite so great.
  • Several only work on specific alignments of the PPU/CPU, like battletoads GEG is apparently very alignment dependent
  • The game has to be loaded last to make sure the memory is cleared to bizhawk
  • Most of them should use an offset of 1, but sometimes they use 0 if they are meant to start from a soft reset
  • There are different revisions of games and it matters. Castlevania for example uses Revision 0
  • The current maximum size is 250ish kb for a TAS video, anything larger will fail
clever scarab
#

thatss a great post, thanks for explaining it

fierce estuary
#

"hardware verified" actually means they managed to get the tas to make it through one time, with some alignment

half pasture
fierce estuary
#

I actually use way more tests than just AccuracyCoin

#

note: they require some understanding of what they are testing to use often

timber lava
fierce estuary
#

I care so little about hacky 2p snac

tepid umbra
#

I'm halfway done with fire emblem chapter 12 of 25 I think.

Fire emblem 2 is gonna be a joy I think.

fierce estuary
fierce estuary
#

no

#

ideally pass/fail, if fail HOW if failed eg Immediately, Desyncs late, random desync, the mapper, rom revision used if there are multiple (most are going to be rev 0), and the settings used to pass

#

for example castlevania III will be a random desync, the behavior varies from run to run

#

submappers can be in the form of 5.2

#

like mapper 5 submapper 2

glacial turtle
#

So whatv extra collumns would be useful, one for mapper?

#

Also, some of these files are quite large (bad apple is 11.5 meg) is there a file size limit?

fierce estuary
fierce estuary
#

to be clear the goal in this is to isolate which games don't work for me to try to see commonalities so I can determine if it's an issue with like, mapper timing, address timing, apu timing, alignment, or something else

#

the most important thing is when/how it fails and what mapper it uses

glacial turtle
#

OK, have updated with column with the files sizes in there, and a Mapper, and Fail Reason columns. Hopefully enough to get people started. Anyone who is able to help test please just request edit access to the sheet

#

I can do some fancier formatting and tracking once we get some more info in there

fierce estuary
cursive sable
amber willow
fierce estuary
#

swap controller 1 and 2 probably

amber willow
#

I would have definitely noticed a problem before, maybe its something new

cursive sable
#

Huh, weird the V2 Ballon Fight TAS keeps pausing and mostly ignoring the bonus levels, I assumed it just desynced, but it's still working normally on the normal levels

#

I guess it's just like that

fierce estuary
#

but I have no way to verify them

amber willow
#

Ok i'll try to check them too

mint lichen
glacial turtle
#

Good to see White Hat logging on the sheet. :-).

glacial turtle
#

What are the best ways to find out what Mapper a NES rom is using, and is there an easy way to do it on a Mac?

#

Having that as part of the core somehow would be super useful

ember bone
#

What are these r08 files and where would I find them on the microSD?

glacial turtle
#

copy folder over to your NES games folder on the SD

#

To download them all easily click on the green Code button and select Download ZIP

glacial turtle
#

Is there any key for what the flashing dots mean?

fierce estuary
#

maybe this helps:

        if (custom1)
            new_color = 6'h31;
        else if (custom2)
            new_color = 6'h34;
        else if (w2000)
            new_color = 6'h16;
        else if (w2001)
            new_color = 6'h03;
        else if (r2002)
            new_color = 6'h17;
        else if (w2003)
            new_color = 6'h15;
        else if (r2004)
            new_color = 6'h09;
        else if (w2004)
            new_color = 6'h28;
        else if (w2005)
            new_color = 6'h1A;
        else if (w2006)
            new_color = 6'h12;
        else if (r2007)
            new_color = 6'h21;
        else if (w2007)
            new_color = 6'h06;
#

oh you mean the controller inputs or the debug dots?

#

moondandy

#

do you even NES bro?

glacial turtle
#

The flashing green TAS dots, and I had a red one to the far left when I did a quick check earlier

cursive sable
#

Red means it's playing back a recorded r08 file, like a camcorder having a red recording light. The green dots are the controller buttons/dpad

glacial turtle
#

I quickly loaded up Bugs Bunny and the TAS file and flashing squares but it didn't do anything, it is right in the file size limit though

cursive sable
#

I am curious about something though, can these dots only be displayed in the 4:3-ish area of the NES screen? Or would it be possible to display them further to the left in the blank area of a 16:9 screen?

mint lichen
#

Someone could just crop them out that way, so that wouldn't help identify a TAS was playing

fierce estuary
#

I put them in an area where it would be really weird to crop them

#

for that exact reason

fierce estuary
#

load the tas, then load the rom

mint lichen
#

For me it never works if I load TAS then ROM, have to do it the other way

fierce estuary
#

hmm

#

do you press a button?

#

that stops the tas

mint lichen
#

Yep, that's it, I was opening the menu with the controller

fierce estuary
#

the menu button wont cancel it, but a key combo will

mint lichen
#

I'll have to recheck some of the Fails then, got a number of Passes tho

supple jasper
#

Double Dragon 2, 2 player one is good. That's a fun one.

#

Ninja Gaiden 2 failed but I may need a dif rom

fierce estuary
#

neither ninja gaiden worked for me, nor neither tiny toons

#

top gun fails fairly fast

#

archon worked

#

time lord also seemed to make it

#

tiger heli too

#

wizards and warriors, both runs, succeeded (prg0)

#

super mario bros 2 fails for all version of the rom (prg0 is the intended one)

#

ironsword succeded

mint lichen
#

Time Lord failed in stage 2 for me, but I might not have been actually changing the RAM since I was loading backwards

fierce estuary
#

castlevania both runs succeeded, castlevania 3 fails in random ways

#

I need to re check time lord then

#

some of them are so boring I tend to tune out

#

like battle chess

#

i've tried that several times and I think it succeed but I zone out

cursive sable
#

Anyone tried the Silver Surfer TAS? It kept desyncing oddly. I think it seeds some RNG values that determine if an enemy spawns or not, where you spawn at the start of a level, or where enemies fire projectiles based on unitilized memory. So far everything I tried caused it to de-sync in one of three places because of these, sometimes even de-syncing differently if I hit reset without even changing any settings, except for one.

#

Setting RAM initialization to BizHawk appears to work, the Speedrun is still going but has gotten past all those problematic parts and is still going far past them right now.

fierce estuary
#

then i think my build finished and I was too eager to try the new one

cursive sable
#

I've only neen able to get past the first level with RAM initilization set to BizHawk, so far it's still going

fierce estuary
#

bizhawk intializes to 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF FF etc

#

it was once believed frontloaders defaulted to that, which is wrong

#

but it became the standard for speedruns

cursive sable
#

That might be it. I tried all 00 and FF and both desynced at different places each, but at the same place for each every time

#

Setting it to No seem to change behavior at where it desyncs

fierce estuary
#

yeh, well bizhawk is the magic value it wants

cursive sable
#

Yeah, looks like it's about to complete the TAS with that value

#

Would most TASes have been made on BizHawk? I know nowadays it's a popular emulator for speedrunning

fierce estuary
#

fceux or bizhawk but both use that initiaization value

#

it's a good emulator, pretty accurate, top 5

cursive sable
#

Yeah, it's one of my top software emulators for accuracy too

little schooner
cursive sable
#

Watching the TAS of Adventures of Tom Sawyer and... just what even is this game? Why is Tom Sawyer in the sky fighting Japanese thunder gods and then hopping on a cloud like Goku to fight a Zeppelin? 🤣

little schooner
#

Thanks y'all

blissful prairie
#

Are there any reasons to not default to "random" reset behavior? For Metroid and others? When would I need the other ones?

ember bone
#

Trying out the Wizards and Warriors all levels TAS. I know this may sound dumb but it caught me so I may as well clarify. For you first time users like myself, you have to load the game FIRST, THEN load the r08 file. Even I can do mistakes sometimes lol

#

Gotta be some desync here because I tried both the rev1 and original versions of the game and even I can play better than this TAS is doing

#

Most of the time it seems like it’s just hanging out at the bottom waiting to be killed 😣😆

#

The SMB maximum score one so far has been a TRIP. It’s unreal seeing the moves!

#

So far, sufficed to say it works perfect

ember bone
#

Ninja Gaiden is a fail. Kept letting an enemy hit them at the end of the first level and then paused the game and stayed there

#

Same with the pacifist version except this time it loses sync where you climb the Coca Cola looking signs

#

Monopoly V2 works.

BTW, I did request file access but putting them here for now

#

The Monopoly 7 CPU doesn’t work. After the auction part, it loses sync and that flashing bar disappears

#

Monopoly 4 loses sync after a few turns and the bar disappears here too.

fierce estuary
#

also some games actually break with certain values, I think 0 is safer

#

like that game we were investigating a week or so ago where one of the attract screens was corrupt, it can crash if the ram has a value

fierce estuary
fierce estuary
#

so far so good, no new bug reports since release. You all did a great job testing, thank you

fierce estuary
#

@glacial turtle can I edit this sheet?

glacial turtle
#

Yeah just request access

blissful prairie
fierce estuary
#

possibly but probably not, because the ram is likely to decay to something tolerable for it in most systems, but if you switched carts it might

glacial turtle
#

An FYI, I didn't mark the ones that were around 250-290KB as Fail for file size as those could do with a check, so probably quick to check that handful and mark the ones that fail

fierce estuary
#

oh you have multiple pages

#

oops

#

well

#

I threw random data on the first page, can you fix it? 🙂

timber lava
#

Thanks Kitrinx for all those changes 🙂

glacial turtle
fierce estuary
#

no

#

that's why I need you to

#

I just smack my code with a plastic hammer like a child

glacial turtle
#

OK, have added new columns to the sheet (the actual NES tab with data on, not the info tab, for anyone who doesn't spreadsheet)

fierce estuary
#

please add the rom revision somewhere

#

that's an important detail

#

like castlevania has two revisions and only one will work with the TAS (by design)

#

oh you have it it's just not populated

#

the stuff I put on the first page had some revision info

glacial turtle
#

Got Game Revision on there as a column.

fierce estuary
#

and some mapper info

fleet cedar
#

I will be traveling to a gaming tournament next week, first time taking my MiSTer instead of NES & SNES consoles + flashcarts.

Since it can be an adventure trying to eject and reinsert the SD card without dropping it inside the case, I was thinking that I would use a USB flash drive for loading the randomizer seeds that I will be playing over the course of the week. Is there a simple method to get the NES core to find games sitting on a flash drive? I'm planning to use a 32GB drive in exFAT, in case that is relevant.

tepid umbra
#

Afaik just remove the games folder from the sd card and put it on the usb drive.

#

Path needs to be the same otherwise.

mint lichen
#

Can we get the non dupes from this set added? I tested a few and they work, Kirby, Karnov, Chip n Dale

glacial turtle
#

Kitrinx, have a look at the sheet now, I entered your data in and added a splash of colour

fierce estuary
#

thank you 🙂

glacial turtle
#

No worries

#

If someone figures out the exact KB where going over is a Fail I can adjust the conditional formatting on the file size, right now anything 250 and over is red, and I put 230-250 as orange as I imagine that is in the danger zone. Those can easily be adjusted

timber lava
#

Desync means an issue somewhere on the core on the TAS sheet file or it could be something else ?

fierce estuary
#

it doesn't imply a cause

#

just that at some point the script fails and breaks, like jumps in a pit or gets stuck

timber lava
#

I see !

fierce estuary
#

reasons a TAS can fail are:

  • Requires a different cpu/ppu alignment than the core has
  • Electrical difference in controller behavior from a real system (like too short a poll to trigger or something)
  • I just implemented TAS wrong maybe
  • Possibly memory differences though this is unlikely
  • Offset frame differences though this is less likely too since it's adjustable
  • Error in the core either in PPU, CPU, or Mapper code
#

most of them I suspect are the first thing

#

I did discover a kind-of-but-not really error in the core where I wasn't clearing the controller latch on cold resets, but that's not significant to anything but TAS which needs consistency

glacial turtle
#

So with the ones failing, do you think some of them could become passes if something is tweaked in the core implementation?

glacial pecan
#

do multiple tas software emulators exist which are compatible with the files without any issues/converting?

livid leaf
#

Don't some of them fail because they were originally made with much older emulators?

fierce estuary
glacial turtle
#

Ah, sorry, am forgetting these are all hardware verified

fierce estuary
#

but I might have to implement multiple alignments, which I plan to do anyway

#

and/or fix various things

glacial pecan
#

oh, that answers my question

glacial turtle
#

Whitehat, I've updated the sheet with some new columns for info, for the ones you have checked be good to fill those out e.g. Mapper, Game revision

mint lichen
half pasture
fierce estuary
#

it does to me. I want it as a tool to 1) check for regressions 2) test for accuracy and 3) just for fun

#

they are ultimately deterministic and there is a path to success for all of them, as real hardware can do it, so eventually they all should pass with the right settings

#

I am willing to bet before i'm done i'll have found at least a few subtle bugs that only trigger under very obscure timing circumstances

#

probably in mappers

#

light right now for instance i'm noticing that Mapper 4 games (MMC3) seem to be having more problems than the rest

#

so it's possible there is a timing related thing with the MMC3 IRQ? who knows. but that's the kind of thing I want it for

half pasture
#

If that's going to make the core "perfecter", then I'm with it! elmorise

fierce estuary
#

the MMC3 IRQ is very alignment dependant

glacial turtle
#

Do we need a column for Timing Mode?

fierce estuary
#

technically since Metroid uses frame timing I think, but probably not

#

"frame" means it wont change the inputs more than once a frame, this is for games that do multiple polls on the same frame to deal with DMC DMA bug, but in theory Poll is the more accurate and accuracy demanding method

#

that accounts for every single controller poll

fierce estuary
mint lichen
#

The ones in the other pack use Frame in a bunch

fierce estuary
#

for finding patterns the consistency is valuable

mint lichen
#

Cool, just making sure those ones are known

fierce estuary
#

the failure that really has me scratching my head is donkey kong

mint lichen
#

Yeah, just jump over the barrel already

fierce estuary
#

it uses frame rules so it might be heavily alignment dependant

glacial turtle
#

Running Lode Runner righy now, weirdly on the end level screen is says Stage X Left 9, on every screen it says Left 9. Is this a known issue with the game?

mint lichen
#

Sounds wrong. I've been checking the TASvideos page for games then looking at the video if something seems weird. Also has info on which ROM they use

fierce estuary
#

\

#

this is the source of them before conversion

quasi dome
#

Can I ask a stupid question. Why is TAS support being added?

blissful prairie
#

On a slightly unrelated note: Lode Runner and Choplifter on the SG-1000 (SMS core) are really close to their Apple ][ origins. I like them a lot more than the seemingly beefed up arcade and NES ports

glacial turtle
fierce estuary
quasi dome
#

Ah okay that makes sense

fierce estuary
#

most things make sense if you torture them enough in your head

quasi dome
#

I worked in children's cartoons for nearly a decade lol. I know that sentiment all too well lmao

fierce estuary
#

in this case though, the core passes every test I know of, so I need more tools to verify that everything is as it should be

cursive sable
glacial turtle
#

Yeah, it is pretty wild. It was so fast at points I wasn't entirely sure how they were even doing it.

cursive sable
#

It did look like it was running in fast forward, yeah. Then you have ones like Donkey Kong (though that one desyncs early) or Silver Surfer where the character is rapidly flipping in opposite directions at absurd speed

glacial turtle
#

Interestingly I fired up Mario Bros with the version I have on my SD, and it is running along fine as a 2 player with Mario and Luigi, and I checked the video for it and that is a single player run through

#

Actually, looks like they have come undone now 19 levels in and are just standing there and dying

cursive sable
#

A 1 player run doing well in 2 player for a while? That's a bit weird, though I suppose if mario never dies it can stay synced for a while

#

Elite was another NES game that I find impressive from a technical standpoint, though I also find it funny that the NES version is like 3-4x as large as the original version on computers

glacial turtle
#

If someone has the correct Mario Bros rom handy that video is less than. 8 mins long so a quick one to check

cursive sable
#

Oh, Mario Bros, not Super Mario Bros, right

#

I tried that one and it eventually desynced, but that was on an older version of the core, should try it again

#

Joust is another impressive 2 player one BTW that seemed to work fine

glacial turtle
#

If you are testing it would be great to get those logged on the sheet, just request edit access

cursive sable
#

I'm not sure I know what I'm doing, one of them was acting very weird, I got it to work but I am not sure if it was just chance or I got the settings right

#

BTW, just tried Mario Bros and it worked fine. The TAS goes up to level 19 and then ends, hence them just standing there.

#

You can tell the TAS is over when the input display disappears. The game has no ending so it's not like the recording can go on forever

mint lichen
#

@fierce estuary Does it make sense to have the input display order flipped? To me it makes more sense L R U D S St B A

fierce estuary
#

that's just the order NES controllers feed buttons to the system

#

I can change it later

#

when I add decoding for snac

cursive sable
#

Oh, I assumed it was so it would be harder to try to crop out someone using up/down or left/right at the same time without it being obvious

fierce estuary
#

no, that wasn't a consideration

#

if someone cuts off half that display it should be sus anyway

mint lichen
#

Gotcha, at least to me it would be easier to read the other way

glacial turtle
#

Is there a way to tell which https://tasvideos.org/ files/videos for the different systems are verified on real hardware?

cursive sable
#

I think Where's Waldo is another one that needed a specific RAM pattern. keeps desyncing differently based on the pattern I set, but none of them finish the TAS

mint lichen
#

Yeah, Waldo has some ridiculous RNG, so it probably needs something very specific

glacial turtle
#

Ah, nice, has a toggle

fierce estuary
half pasture
#

Aligned mmc3 wen

fierce estuary
#

the way MMC3 works is that it counts the number of times A12 changes to determine when it triggers it's IRQ. A12 is controlled by the PPU and every cycle has the potential to change it. the PPU ticks 3 times for every time the CPU ticks, which means the particular cycle the PPU is on matters to when the CPU will encounter the IRQ. The IRQ being a CPU cycle earlier or later is pretty normal on a real system, but for a TAS changes the outcomes significantly.

#

on a real system the PPU and CPU alignment (ie how many master cycles have elapsed before the ppu and cpu start ticking) varies. On cold boot, the time it takes to get power to each chip varies, and at reset, the cpu clock divider is unchanged but the ppu clock divider resets.

#

additionally, there is an odd/even frame toggle in the APU which can impact an APU IRQ and DMA behavior. This technically starts undefined and is unaffected by reset

#

to a speedrunner, these things can impact RNG, to a regular player, these things really dont matter, to a TAS, they break everything

pseudo phoenix
#

So to find the cause you'd have to let the tas run with different alignments, see which one sticks and test whether it sticks deterministic?

#

I'd guess the tas would use the most beneficial alignment so maybe it's a known eu setting

fierce estuary
#

on a real system it's not super easy to tell what the alignment is

#

chances are the default alignment on mister isnt the same as the default alignment on fceux or bizhawk or whatever

pseudo phoenix
#

Right but would the tas work every time on real HW without x number of resets. That would not make sense

fierce estuary
#

no, they dont

#

some of them require resetting a bunch

#

some dont care about alignment

pseudo phoenix
#

And you can't query something on a real system (or write some code) to get the alignment? I'm making it sound easy but I'm just thinking aloud

fierce estuary
#

not under normal circumstances, and the alignment is ephemeral

#

in this case we're talking about real retail games, so there's no opportunity to query anything without impacting the outcome

dry lynx
#

Schroedinger’s alignment

fierce estuary
#

more or less

#

flash carts have some hacks to do it I think but using a flash cart also impacts the outcome

pseudo phoenix
#

Debug headers?

fierce estuary
#

tas videos generally require a real cart in a real system

fierce estuary
pseudo phoenix
#

How can you play a tas file on a real system then?

fierce estuary
#

I mean yeah you can hook up a logic analyzer I guess but.. that might be out of scope of most people

fierce estuary
pseudo phoenix
#

I see. Right. I've only 'hacked' (with permission) some of our routers for pen testing and we always check for debug headers and cli access but NES probably has neither 🤷‍♂️

glacial turtle
mint lichen
#

Are there any in the r08 format? I didn't think there were

glacial turtle
#

Ah, good point. These are fm2

fierce estuary
#

I have some doubts about how the bios will line up on mister atm

#

but I haven't tried

#

there's a script to convert fm2 to r08 btw but it requires some settings

supple jasper
#

Is there a list of how No-Intro maps their versions to GoodRoms set so I can put correct version in the spreadsheet? I'm having trouble finding it in a search

#

or are y'all looking at iNES header?

mint lichen
#

Not sure, I've only been using MESEN to see the mapper. I have a folder of Revisions in the HTGDB rom set I have, so I've been checking there for different versions

cursive sable
# pseudo phoenix How can you play a tas file on a real system then?

There are devices like TASBot that basically do the inputs for you on a real console, it's been shown off at GDQ a lot doing some insane things like reprogramming games with ACE in realtime to make the console stream a skype call, or keep adding new content to OOT as it's being played and stream the twitch chat to it

fierce estuary
#

if you see Prg 0 or Rev 0 it's revision 0, sometimes revision 0 has no revision listed

#

Prg 1 (or 2 or 3 etc) or Rev 1 will pretty much always be included

fierce estuary
#

so is where's waldo

timber lava
fierce estuary
#

seems minor

timber lava
#

yes it is

half pasture
#

Core is still hyper-accurate, right?

late flower
#

nope, ultra-accurate muscleleft

covert crypt
#

Maybe... Too accurate

sullen fable
vivid roost
#

we'll know when it hits 100% accuracy because a time portal will open and send it back to 1982 so nintendo can "invent" it

cursive sable
covert crypt
#

I love the NES core... It's so bad

glacial turtle
#

Some real shifts put in on testing the tas files, only a handful left. Top work!

#

Would be useful for when "No" is set for the "Memory" to mark that on the sheet

ember bone
mint lichen
cursive sable
#

About the only ones I haven't tried at this point are the ones for romhacks/homebrew

mint lichen
#

Everything is pretty much tested now

#

There were a few homebrew where I couldn't find the exact revision so they Failed, but I'm pretty positive they would pass

cursive sable
#

Only ones out of those I tested I could not get to work were Metroid, Donkey Kong, and both Tiny Tunes IIRC

#

oh, and Where's Waldo

#

Though sIlver surfer is very tempermental

glacial turtle
#

So only two left:
Famidash_2025_April_Fools.r08
Nova_World_6.r08

mint lichen
#

I left notes on those

glacial turtle
#

Great to see all the Mappers added. Would be good to have all the Memory ones that were "No" rather than "Bizhawk" etc. marked as "No" just to confirm that is what it should be

#

Nice to see 70% pass though, hopefully enough info now for Kitrinx to dig into why some aren't working and get that rate up

mint lichen
#

Nova should be a pass, I just don't know what setup it needs, the regular game was good

cursive sable
#

Woulden't any option work for those that are "No" though?

fierce estuary
#

a lot of games dont care about memory

glacial turtle
#

Ah, so Bizhawk is likely a false positive.

#

for a number of them anyway

#

I'm going to be away for a few days from tomorrow, so on my phone but no computer to do any spreadsheet work. Is there anything that needs added before I go, or are we good to not be adding a new tab for more files or anything else large before mid next week?

cursive sable
#

Huh, I had some different results than on that spreadsheet.

#

For Silver Surfer I could only get it to work if memory was set to BizHawk and I load the rom after loading the tas, any other memory setting or order of operations caused it to always desync in one of four specific locations in the first level for me

#

I also played Solar Jetman V2 on default settings multiple times just fine, unless the tas still happens to beat the game while desynced

fierce estuary
#

afaik none of these require any memory pattern other than bizhawk, but most don't require any memory pattern at all

cursive sable
#

Yeah, I have mostly been setting mine to bizhawk when testing. If a game needed a specific memory pattern and it's not bizhawk's, then no woulden't really work unless you get really really lucky with what the ram happens to currently be initilized to

fierce estuary
cursive sable
#

Just tried Marble Madness, and it completed for me again. Though on the second to last turn it looked weird, almost like it failed and loaded a save state

#

Yeah, one sec

fierce estuary
#

marble madness seems to exploit glitches

mint lichen
#

I had a few that would not work with Bizhawk, I had to try others

#

I don't think there are any glitches in Marble Madness, it just stays ahead of the camera and pauses at the very end. Not sure why mine kept failing the final bounce off the flag

cursive sable
glacial turtle
#

Would it be worth having the core default to Bizhawk rather than No, do you think?

fierce estuary
#

hmm ok

#

I wonder why mine fails then

amber willow
cursive sable
#

Solar Jetman uses glitches too right?

mint lichen
#

All the Mario 1 stuff I tried worked, hacks included

cursive sable
#

Let me double-check solar jetman, I last tried it on an older version of the core that didn't even have any settings to change

fierce estuary
#

if your sprite0 hits work chances are smb1 is running about right

amber willow
#

Memory contents can have an effect, because people use to use a game like tennis to change ram, then insert smb without powering off and reset and I think it changed the minus world or something I don't remember.

cursive sable
#

Woulden't that only work if the game assumes an uninitilized part of RAM will always have the same value, and uses that value?

#

Would be pretty silly to do that since, well, the value can be anything if it has not been initilized

#

I think it was only used to seed RNGs speifically because it can be random

#

Go ask SMB3 why that's a bad idea XD

amber willow
#

there a nesdev forum page about it too, if you want that

livid leaf
#

Wasn't there a similar trick where people could beat Dragon Quest III extremely quickly?

timber lava
amber willow
#

it would be pretty easy if you can poke the ram values in the emulator i think. The trick was involving continuing and not the minus worlds, I was wrong about that.

#

I haven't heard of the DQ3 trick but maybe

fierce estuary
#

it actually works on mister

amber willow
#

Should be pretty easy to test on emulator just boot game and change 07FD in ram then continue. Wark (edit: I tried it, it works fine)

fierce estuary
#

what world you get is random based on what you did in tennis

amber willow
#

Have you ever seen that trick before Kit?

cursive sable
# fierce estuary I wonder why mine fails then

Trying Jetman V2 again and now it keeps desyncing for me, I had tried it multiple times on the first version of the core with TAS (the one that had no options) and that one had passed multiple times

amber willow
#

He does mention it checks for cold or warm start and clears ram, which might explain why smb runs usually work. He also mentions Tennis only clear some of the ram, and other games might also only clear some ram which could be problematic for tas runs

fierce estuary
amber willow
#

So those could require the right settings that the emu used for the tas run to work right

amber willow
heady valve
#

Trying out spookatron, which is like a twin stick shooter homebrew. It allows for two nes controllers, a snes controller or virtual boy controller on real hardware to achieve the desired control scheme.

The only one that seems to work on mister are the two nes controllers.

My question is is there any way to map this games controls to a dual analog controller? Keyboard remapping perhaps?

fierce estuary
#

this spreadsheet paints a pretty clear picture to me

#

mapper 7.2 (AxROM with bus conflicts) and 4 (MMC3) have issues

#

mmc3 passes all the tests so likely it's a timing or alignment related issues

#

not irq

glacial turtle
#

So what's the next step?

timber lava
#

are all mappers (supported) tested ? if not there is another source of r08 to test them ?

glacial turtle
#

Just a small selection of Mappers covered by this set of tas files that are verified on real hardware.

fierce estuary
#

there's other r08's but they are older and mostly frame

glacial turtle
#

How does someone physically record one of these tas files and then play it back on real hardware? Is there something you have to buy or build yourself?

blissful prairie
#

I have a last question regarding the new horizontal border stuff: On the analog out, is always the full picture sent to the TV now (with the overscan options like full, borders etc just affectimg the digital out)?

cursive sable
glacial turtle
#

I am a bit surprised it isn't a bigger thing for people making their own Arduino tasbots and running TAS files on actual consoles and recording the videos. I would assume if someone goes to the effort of making a TAS file of their speed run they would want it confirmed on real hardware, and it obviously helps in getting emulators to become more accurate (like Kitrinx is doing now verifying against ones in real hardware). Looking at the site linked, very few systems seem to have files verified on real hardware.

mint lichen
#

I'm not surprised, it's like three levels of niche, haha. Speedrunning interest into TASing into hardware confirmation, very few people are going to go that deep.

fierce estuary
#

most of them are probably on this this server or the tasbot server

glacial pecan
#

if you remove the fds filter, the amount of hw verified does increase noticibly

glacial turtle
#

I find it odd there doesn't seem to be any PCE videos on real hardware, and basically no Mega Drive for instance. Lots of emulator ones though

fierce estuary
#

I think emulator ones can be fun but they don't really serve my main purpose for them which is as a verification and debugging tool

glacial turtle
#

Have you asked there, or anywhere else, if people doing recordings on real hardware can do some more?

#

Maybe it is one of these situations where for example, no/not enough Mega Drive ones exist but if someone were to say "we would like to support tas in MiSTer Mega Drive core, but in order to do that we need files verified against actual hardware with a video, so we can be sure the core is accurate enough and then you can not only run your tas files on the core but be confident it is accurate enough for speed running on" then maybe some people would see a reason to

amber willow
#

I think all of the runs are originally made frame by frame on emulators and they just play them back on real HW, it would probably be possible for you to record your run on mister and then play it back.

#

If those non hw verified ones work it would tell you the core works like the emulator at least. like ram starting contents are the same. There is revisions of HW also, I don't know it any would work with one revision and not another but it's possible.

mint lichen
glacial turtle
#

@amber willow have you ever looked into making tasbots? In my head the connector part would be like your SNAC adaptors in reverse, with an Arduino attached

amber willow
#

Yeah I made one out of an arduino. I used it to try and verify snac was working correctly with it, I tried it on real hw too.

#

I think I turned Kit onto tas stuff too around that time.

glacial turtle
#

Ah nice, did you just do NES or different console connectors?

amber willow
#

I only tried nes

#

Like I played back the same file on emulator, mister through snac and the tas load feature and real hw. Some worked on all 3 platforms

#

But some didn't and there was so many variables it was hard to figure out what was wrong

#

So I'm glad Kit is getting this figured out 🙂

glacial turtle
#

Yeah, I can imagine. Why it would be great if there were more (and for other systems) of ones verified on real hardware, so people know they are actually legit speed runs and not just ones done on inaccurate software emulators. Then emulators can be verified against tas files known to be accurate on real hardware and match that behaviour.

glacial turtle
#

So unless I am missing something, if Kitrinx were to go on to add TAS to the 2600/7800 core, if none of the tas files for those are verified against hardware, then you are just comparing the core to how these run on a software emulator, which could well be inaccurate.

real matrix
#

Is native composite output (like how the original PPU generates it) technically possible on the NES core? I know it's not implemented, but I'm wondering if that's a technical limitation or if it's just low on the priority list.

cursive sable
#

Anyone know if the NES was meant to display at 5:4 or 8:7 aspect?

fierce estuary
#

neither

covert crypt
#

All I know is the dot clock is 1.143

#

According to pin eight anyway. I just apply that stretch to the 1:1 pixel image

#

Well I actually let the RetroTINK do the calculations but if I ever want to do it myself, that's the stretch I apply

real matrix
#

It was meant to be viewed on consumer CRT TVs in Japan, which were 4:3, 60Hz, 15kHz sets

#

Although I think the NES displayed a refresh rate closer to 60.098814 Hz or something like that

covert crypt
#

But it's also not a basic stretch to 4:3

real matrix
#

Yes, due to the variance in overscan on CRTs

covert crypt
#

I.e. how some people think the 320x240 displays of some consoles is 4:3

#

Nah it's not the overscan. It's outside of my technical knowledge tbh but it's to do with how the beam is blasted out

fierce estuary
#

it's 4:3 of 283x242

real matrix
#

I always thought the NES displayed at 256x240 without counting overscan

fierce estuary
#

and now you know better

real matrix
#

Yeah :P

fierce estuary
#

the overscan is part of the picture

#

the drawn area within the borders is 256x240, with some of that 240 being a little disfunctional

real matrix
fierce estuary
#

aspect ratio

fierce estuary
#

I could make the digital part of the logic that has the johnston counter and stuff, but it ultimately connects to this big serpentine silicon thing, and then it becomes a matter of guessing at the analog voltage of it

#

you'd get some kind of integer which then you'd have to convert into voltage on a wire somewhere

covert crypt
#

Is that what leads to the coveted shimmer?

real matrix
#

Is creating analog logic even possible on an FPGA?

cursive sable
#

Was asking because those were the options I had when I was messing with puNES. 1:1, 5:4, 8:7, and 11:8, with the last two being labeled as NTSC and PAL.

fierce estuary
real matrix
#

Like using an external DAC or something?

real matrix
#

I'm guessing that's a 1:1 pixel scale, which would look too thin

#

Haven't used puNES in a while, though

cursive sable
#

Yeah, I was trying to check them out and 5:4 felt the most accurate, but I have a bad eye for this kinds of things

#

Well, accurate is probably the wrong word, more like looked the most correct

real matrix
#

4:3 is what you want, though

cursive sable
#

Oddly, not an option

real matrix
#

Yeah, IDK about puNES. When I use software emulators, I stick to Mesen for NES

covert crypt
#

The aspect ratio options seem odd

real matrix
#

I usually use it through RetroArch, which has many display options

fierce estuary
#

mesen would be what I would use of the software choices

real matrix
#

Or compile the NES core using Verilator or something and run it at 60 seconds per frame

#

Probably with no video output either :P

cursive sable
fierce estuary
#

last I looked at that, which was admited me several years ago, nobody had managed to get a dump of the data

cursive sable
#

Yeah, I have been trying to find out what I can out of curisoty and there have been several threads on nesdev trying to work it out but they mostly peter out, I think the most recent was from 2022 where someone decapped one of the chips

#

I think I once ran into one of the chip's whitepapers on archive, IIRC it has syllables encoded on it that it combines to make words, but I have no idea if they are stored digitally or somehow analog

dense meadow
#

I noticed if I change system type to pal it fails some tests in accuracycoin is that something that matters if playing pal games or doesn’t it effect anything?

cursive sable
#

Generally depends on which tests fail, but unless you are doing glitch ACE-based speedruns chances are you are not going to notice a difference in any test that fails on any even moderately accurate ancient emulator, much less on the NES mister core

#

Most emulators that can actually run games at all are going to pass the ones that could effect gameplay in a noticeable way

#

The accuracycoin tests were designed for a specific revision of the NES, and are so strict that even on real hardware some of the tests will fail on a Famicom or PAL console, or even on the NES they were made for if running it off an everdrive in the normal way

dense meadow
cursive sable
#

NP

fierce estuary
#

those tests aren't made for PAL

amber willow
#

But I was thinking about that warm boot cold boot thing. Should loading a rom be like cold boot? How does the ram fill thing work? Just wondering if that could effect the tas thing. Like maybe it would work good the first load only and say if you didn't have a boot rom.

fierce estuary
#

loading a rom is a cold boot

#

the cpu, apu, and ppu all have specific behavior that's different on cold and warm boots

#

this is the problem right here with mmc3 games

#

see how it's writing FF to 4017?

#

that's wrong

amber willow
#

How does smb have the ram values from tennis if it's a cold boot?

#

4017 is controller port 2 as you know

fierce estuary
#

you can cold boot a console without clearing memory too

#

sram will hold it's values for a few seconds

amber willow
#

maybe make a build that fills ram with whatever pattern you pick on each load. it might help

#

I didn't test your tas build, I just tried tennis on one of the release builds

fierce estuary
#

that's literally in release now

#

you can just select it

amber willow
#

ok I might need to update, I thought you were still working on it. Good job getting it in 🙂

fierce estuary
#

the latest core has a few new features in advanced and different overscan options

#

as well as a lot of accuracy stuff

amber willow
#

Ok setting Ram Clear to something other than No seems to make the smb trick not work so crisis adverted.

#

No tas stuff in release though, you had me fooled there.

real matrix
hasty trout
#

It works when the header is fixed

real matrix
#

Indeed it works

#

Thx

shrewd mountain
#

does the 100thCoin test ROM check for the TMNT randomness issue?

supple jasper
shrewd mountain
supple jasper
#

I saw in one of Kitrinx last videos some options under Speedrun > alignment. So maybe she's in the process of publishing a solution soon. But I don't think that build has been posted yet.

fierce estuary
#

it's impossible for a test to test for variable alignments because it can only have one alignment while running

#

but yes, im adding that

pseudo phoenix
#

Variable alignment is not misalignment. There are a finite amount of 'correct' alignments but as I (hope) understand correctly some are more beneficial for speedruns. Example: frame lag that doesn't happen on certain alignments. Do correct if this info is false

mellow dawn
fierce estuary
#

there's a few different ways a system can align

#

the first is how many ppu cycles have happened in a cpu cycle as the system boots. Like dot 0, 1, and 2 will all happen inside a single cpu cycle, so is it dot 0 1 or 2 on the cpu's phi1?
second is what point in the ppu cycle the M2 rises and falls. There's 4 possible master cycles it can land on per PPU cycle
the third thing is the apu's odd-or-even flag, which determines which alternating cpu cycle DMA's and APU IRQ's occur on, this also boots in a random state

#

though less impactful, it's also noted that components like the address decoder that triggers the chip selects can have variable timing depending on temperature and things, and that can impact the way the intra-ppu cycles line up with m2 reads and writes

plucky hearth
#

HI Everyone it's the first time that i write something in there so ....hi just wanna talk about compability 'cause i'd heard that the NES core is now 100 % accurate ...though i notice that a game that i own and love who goes by the name of CAPTAIN SAVER has glitches and cannot be played in a proper way ...i dunno the cause so that's the reason i end up here on behalf of @little schooner who told me that on some of his video...btw i'm french so be gentle with my english .....merci a tout le monde !!!!!!!!!!!!!!

supple jasper
plucky hearth
supple jasper
plucky hearth
plucky hearth
supple jasper
#

Looks completely different here. Try finding a new rom. (Edited for easier to understand English 😂 )

plucky hearth
supple jasper
#

That we can't do.

plucky hearth
cursive sable
amber willow
#

maybe someone translated it to french, You'll have to look

cursive sable
hasty river
amber willow
#

Their problem was yes, he found a working one I think

mellow dawn
#

Did you read the architecture section of the readme in the link? All those NEC D775x are the same except for type of ROM. 7759 uses external ROMs. Most of the other part numbers are just different sizes of internal ROMs. Dumping the internal ones used by Jaleco is difficult. My understanding is the mask ROMs do not show up in decapping pictures the same way most are done. There might not be a way to read them at all.

amber willow
#

what games was he talking about here? with the undumped roms

amber willow
cursive sable
fierce estuary
#

where does that game come from?

#

I found it in japan

#

make sure the header is set correctly 4E 45 53 1A 08 10 00 38 00 00 00 00 00 00 00 01

cursive sable
#

Seems like it was indeed a header issue, I tried it and it worked fine for me too, then I looked up an older set I had on an old harddrive and the header was different, when I tried that one I had the exact same issue with half the face being cut off in the intro

shrewd mountain
fierce estuary
#

not very well

mellow dawn
plucky hearth
#

hi everyone i wanna thank you all for helping me so far .... indeed i had some issues with a bad rom i had to search a couple of Captain Saver on the net a finally i found a good one .... i had some issues with my former rom, i posted some photos on my previous messages with @supple jasper who helped me to solve this out ...so thanks to everyone the problem is solved

#

just a bad dump i had i guess "merci a tous a la prochaine 👍 see you next time !!!!

supple jasper
plucky hearth
elfin hound
#

Anyone having problems with TLOZ Perils of Darkness romhack? It freezes as soon as I enter the house to get the sword...

sharp geode
#

40th anniversary to NES

dim relic
supple jasper
supple jasper
#

I was able to confirm but in weirder ways. If the game loads with no save data and you go in the house you can pick up the sword and the game locks up on exit. If you load up the game with existing save data the game locks up while entering the house.

But we need a confirmation from real hardware that the hack isn't bugged or that the hack mapper isn't incorrect. Mesen reports Mapper 1 horizontal

mint lichen
#

Seems to work on AV Fami. I tried with one ROM and it did crash on AV Fami but worked with another. The one that worked on console crashed on MiSTer, so idk what the deal is.

supple jasper
#

Are we all using the v2.0 versions of the hack?

mint lichen
#

I got it off romhacking, I think it's 2.0

fierce estuary
#

an mmc1 game?

#

can someone try it on an older version of the core to see if it's regressive behavior?

mint lichen
fierce estuary
#

I see

fierce estuary
#

it gets stuck in a loop reading 2002 waiting for something

#

i'd have to assume waiting for NMI

#

no, it's getting the vbl flag

#

29 40 F0 F9 AD 02 20

#

it's looking for sprite0 hit

fierce estuary
#

looks like it's being caused by oam corruption triggering a little overzealously

#

it probably happens on real hardware sometimes too on certain alignments and systems

mint lichen
#

It actually did crash for me on AV Fami my first try, I thought I needed a different ROM and then that one worked. But now both are working.

fierce estuary
#

so it's technically accurate behavior, it just happens a little too consistently since we have a single alignment

granite pivot
#

I noticed a lot of patches expect 1.0 headers for some reason.

elfin hound
#

I also noticed the exact same behavior on TLOZ Redux romhack, and it does mention the MMC1 mapper on its changelog.

granite pivot
#

but the Zelda hack crashed for me too after patching the 1.0 headered rom, so that's not it

elfin hound
#

I originally downloaded the roms already patched, but I patched an original 1.0 headeared rom and still happens.

fierce estuary
#

it's causing oam corruption

#

it's not a bug exactly but it's undesireable in this case

#

im thinking about how to deal with it

main narwhal
#

is there a reference to know what some tests mean if they fail?
in particular the APU Register Activation and Address $2004 ones

#

probably no games really care about those though

zenith mirage
#

Is anyone else having an issue with the nes core locking up the mister? I had a compile I build just before the latest release which was working fine, the ran update all and now the latest core shows "kbd mode: Joystick 1" then just hangs up the mister at that point. Have to unplug and replug power. Oddly the nes core I compiled the other day now isn't working either. No other core are affe ted, not sure what to do

#

Something like this always happens on the days I have an hour or two to myself 😂

#

Thought it'd be an idea to delete the nes.cfg but.. there isn't one

zenith mirage
#

Nevermind, the cfg was there but didn't show up when I ls'd the directory. Anyway, nuking that fixed it

fierce estuary
#

that one can mean they aren't getting activated when they should be or are getting activated when they shouldnt be, but the most likely reason is because they chip select is based on the external and not the internal bus value for the top bits of the APU address

#

ie, DMA is not able to correctly trigger it

#

realistically most retail games wont care about that, but who knows when it might trigger by accident

fierce estuary
zenith mirage
#

I'm not sure either since the core I built was only a day previous to the release and worked fine but running the release broke that one too some how 🤷‍♂️

fierce estuary
#

someone asked before about detecting ppu/cpu alignments

timber lava
#

Kitrinx I have a question. Is it normal some VS games converted to nes mapper don't used mapper 99 ?

fierce estuary
#

yes

#

only some vs games use 99 I think

#

I really need to add that mapper so people stop talking about it

#

once I do it'll never come up in conversation again because nobody really plays them

#

maybe a little

timber lava
#

ok. I have tested some on the new core and see some can render correctly and after checking mapper I see not all used the mapper 99.

gray plaza
#

From my experience with VS SMB, it’s incredibly easy to “crack” Mapper 99 games and convert them to a different mapper, either CNROM with PRG-RAM or MMC1 if you wanna be truly accurate and don’t want to force inaccuracies with NES 2.0

#

Plus, for Vs. Excitebike you’re better off playing the FDS version

fierce estuary
#

it's not a hard mapper

#

we're just being weirdly apathetic about it for no particular reason

#

well

#

I dont think it's a hard mapper

#

it just requires knowing how to work with the rest of the system too since it's not really a mapper but a system type

#

I have placeholders all over for it in the code

#

like, it doesn't skip dots so the timing is subtly different

main narwhal
#

CPU is rev G but the PPU is a RP2C02G-0 which I think can fail some of the tests

#

ah maybe I can try that ROM

gray plaza
fierce estuary
#

dips coins and most importantly the higher color, scrambled rgb palettes

gray plaza
#

ah gotcha

tribal hinge
#

And I would be one of those people grateful if you implemented it but probably only talk about it once or twice 😂

ember bone
#

That reminds me, would I be able to run the NES Arcade games on this core as is or would they have to be the patched ones like I was using on the Everdrive?

fierce estuary
#

i've been busy working on multiple ppu cpu alignments

tepid umbra
#

So I noticed these weird artifacts in fire emblem. Is it supposed to look like that? robby

glacial pecan
#

Inbuilt grass generator

idle patrol
#

I got an AV famicom and all tests of accuracycoin have been passed. AV famicom is detected as a NES by this test.

#

But 5 tests fail in the Famicom Twin. I don't know why, because the system works well.

clever scarab
#

I think it’s the most popular one

#

Congrats, looks like your Famicom Twin isn’t a real Famicom!!!!

idle patrol
#

Ouch !

dry lynx
#

MiSTer more accurate than Famicom Twin

idle patrol
#

😂

fierce estuary
#

getting the timing right for every possible phase is very difficult

#

phase3 fails on real hardware a lot too though, supposedly

#

also can someone try this test on real hardware with several different resets (for phase variations) to see if it randomly f's up? supposedly palette reads are unreliable on real hardware

steep yew
#

are you writing these test roms too, Kit?

fierce estuary
#

no

dim relic
#

I just get this screen on rgb mod av famicom and everdrive n8 pro. In game combo doesn’t work so I can’t reset it but fired it up several times.

mint lichen
fierce estuary
#

it really does get that phase3

#

that's gonna be hard to crack

idle patrol
dry lynx
#

Unhappy with merely being more accurate than original hardware, Kitrinx continued to improve the accuracy of the MiSTer NES core

blissful prairie
#

I am soo excited about the current speed of NES development. NES rocks!

#

And Kitrinx of course Sentient6

idle patrol
#

fastest than the speed

#

more accurated than the accuracy

glacial pecan
#

but where does it end?

idle patrol
#

in a black hole and the self destruction of the universe by the paradox of the accuracy...

fierce estuary
idle patrol
tepid umbra
#

I don't know what alignments do. I guess it's like in shin megami tensei games and Kit is trying different story paths. NotLikeThis

blissful prairie
#

Shin Megami Tensei - The alternate alignment

steep yew
#

well, depending on the boot it could be Shin Tensei Megami

late flower
#

there is 131 tests now

late flower
#

from the 100coin discord heres the new ones

glacial turtle
#

Does the core pass them all?

late flower
#

good question id like to know too, will give it a test when i'm home from work 🙂

hasty trout
#

“Sprites on scanline 0” should be an easy pass, that’s what Kitrinx was working on recently

fierce estuary
#

it already passes doesn't it?

#

at least it used to

late flower
#

i can confirm all 131 tests pass

hasty trout
#

Nice 😁

dry lynx
#

MiSTer wins again! elmorise
@half pasture

frigid marten
#

200 tests soon

tepid umbra
#

And here I am, just playing nes games for fun.

dry lynx
#

aS LoNg As yOu HaD fUn! derpweow

tepid umbra
cursive sable
tepid umbra
#

Yeah but she tried so hard and go so far.

primal quail
#

Has anyone here played the Metroid hack 'Metroid + Saving' on the MISTer? When I launch the ROM right after loading the core, I don't get any graphical glitches. However, if I launch the ROM second or perform a restart, I get graphical glitches. Here is the link to the hack: https://www.romhacking.net/hacks/1186/

#

I only get graphical glitches on the title screen and when selecting the save file.

#

I haven't tested if there are any other graphical glitches yet.

#

Could this be due to a faulty ROM?

half pasture
#

Maybe the patch still has some bugs to be fixed

tepid umbra
#

I used that together with some other hacks and never had a problem

primal quail
primal quail
blissful prairie
#

Well that other one adds a permanent minimap that is quite intrusive and doesn't really help you to find your way because of its zoom/size. Personally I would rather stick to the snarfblam one which is tested by the times. Especially with the "US" RNG now fixed by Kitrinx. Make sure to set the reset behaviour to random though.

fierce estuary
timber lava
primal quail
fierce estuary
#

huh?

steep yew
#

Maybe using it to translate?

clever scarab
#

Maybe he is Chat GPT

tepid umbra
#

Chat gpt is into fpga gaming.

primal quail
#

Yes, I use ChatGPT for translating because my English isn’t perfect. Is that a bad thing?

half pasture
#

I was burned once for using AI to generate memes 😔

steep yew
#

Not at all. We were just confused

primal quail
#

Sorry for the confusion!

steep yew
#

Not at all, my friend. please don’t think twice about using it - it’s helping 🙂

tepid umbra
#

English can be pretty complicated.

#

Flipside is you get to talk shit and when somebody complains you can just back paddle and say you didn't mean it since it's not your first language.

fleet plank
#

Question. I have an expansion for me nes that fits into the bottom which enables really nice sound on some Japanese games. Is the mister nes core able to reproduce this?

fierce estuary
#

I think what you're talking about is expansion audio, and yes. Try the japanese version of castlevania 3

tepid umbra
#

Does the snes also have an expansion that goes in it's butt? The nes has one, the n64 has the dd, the gc the gb player. Nintendo seemed to like the idea.

fierce estuary
#

yes.

#

for an excersize bike

tepid umbra
#

Wow that's cool.

glacial turtle
#

Well, it is more commonly used for the Satellaview.

livid leaf
#

iirc, it was originally planned for the CD expansion that never happened.

ember bone
glacial turtle
#

Everything since then also did... But they were just stands/docks

cursive sable
#

It was possible to use two at once with official plugins

hasty river
urban meadow
#

So many that they can't even fit them into one game anymore!

ember bone
clever scarab
warm galleon
ember bone
grizzled tusk
fierce estuary
#

there's something about this game

#

I fixed it once

#

ah yeah it's the RAMBO-1 mapper

#

the redheaded step child of MMC3

#

atari crappy clone of it

#

it's almost certainly a mapper issue

granite pivot
#

It seems the JP version was converted to MMC3?

fierce estuary
#

the american one is an unlicenced game

#

There are two IRQ modes: PPU A12 mode (also known as scanline mode) and CPU cycle mode.

In scanline mode, the counter is clocked using a very similar method to that used by the MMC3 and follows the same restrictions. In comparison to the MMC3, the actual interrupt triggers slightly later. Specifically, it is delayed until M2 falls twice after the PPU A12 rise that would have triggered the MMC3 interrupt.

In CPU cycle mode, the counter is clocked every 4 CPU cycles. The actual interrupt triggers one M2 cycle later than one would naively expect.

Whichever IRQ mode is being used, the counter behaves the following way:

When the IRQ is clocked by scanline or CPU cycle modes:

IF $C001 was written to after previous clock:
reload IRQ counter with IRQ reload value; if non zero, this value is ORed with 1 (see notes).
ELSE IF IRQ counter is 0:
reload IRQ counter with IRQ reload value.
ELSE
Decrement IRQ counter by 1.
If IRQ counter is now 0 AND IRQs are enabled:
trigger IRQ after 4 CPU cycles.
Notes:

It's still unknown how the extra kick works. Klax still requires +1 to run perfectly.
Most emulators run Skull & Crossbones with a glitched scanline on the "Continue" screen OR during the game (score bar).
Following these rules in scanline counter mode has demonstrated accurate behavior, but this needs to be refined and merged with the description above:

granite pivot
#

I know, but it's mostly identical to the US version

#

One of two Tengen games officially released on Famicom in Japan. Altron published Super Sprint and Hudson published Klax.

mint lichen
#

Alien Syndrome and Rolling Thunder were also released on Famicom

granite pivot
#

Not developed by Tengen

#

ABII is Sunsoft (so is JP Fantasy Zone, but that's a different port, though the NES Tengen version was also developed in Japan).

fierce estuary
#

the RAMBO-1 mapper just needs a little TLC

#

it's easy to fix I just need to spend time on it after im done with what im working on

half pasture
#

Can’t wait for RAMBO-2!

glacial turtle
#

RAMBO-4 is my favourite

steep yew
#

is that the one where he fights tommy?

dreamy marten
#

Yup. Tommy was a traitor.

steep yew
#

How alliterate

granite pivot
#

Shouldn't the mapper be called First Blood?

granite pivot
#

NES Fantasy Zone is an odd case. It was developed by a company named Pixel, who worked on Over Horizon with Hot-B. It does have the same composer. Masaharu Iwata aka Rezon.

half pasture
half pasture
#

Just tested and it doesn’t!

#

Save states seem to work though.

timber lava
#

Is this game have same header as More Glider (game fixed with the last PR)

fallen brook
#

these flash writes are not persistent, it only allows some features to work that the game may rely on (like in this case: the continue after game over)

#

if this is supposed to be persistent saving, I dont see a way how to overwrite a PRG-ROM from a core. save states are a good workaround

#

it is also required to have the battery flag set in the header for writes to work, as specified on the nesdev wiki

half pasture
#

Yep! As stated in the commit message, it's save state based only

fallen brook
#

interesting to see those other issues on mapper 30, and on 111 as well

#

if homebrew carts do flash saving a lot, maybe it makes sense to look into a persistent saving routine for those

timber lava
# half pasture

So it is same as Courier and this games also the save doesn't work

fierce estuary
#

seemed like a poor fix to it

#

it's not that hard to get mister to save it if saves are implemented

fallen brook
fierce estuary
#

saves are always gonna be somewhere in sdram, more or less

topaz moonBOT
#
/////////////////////////  STATE SAVE/LOAD  /////////////////////////////
fierce estuary
#

follow around the save_written

#

you might have to add a flag to tell it to pull from a different sdram address

fallen brook
#

cheers. I might take up this challenge.

cursive sable
#

Yeah, those flashrom save games are a bit of a curveball since they write to the same bit of flash that the game itself is stored on. They could in theory overwrite parts of the game itself if they wanted to.... or have a bug that corrupts the entire flashrom thus wiping the game.

#

I assume most people probably would not want their .nes file to be able to overwrite or write to themselves though since the game can never then be reset to first boot status by just deleting it's save file.

#

I was thinking if it would be better to just use a .sav file like normal but have that .sav file contain the entire flashrom that's being saved to itself, not like NES games are large enough that it would cause a space issue, but then you are basically storing the game itself in the sav file so that might have issues with threading on copyright, especially if people share those sav files.

#

Would it be possible to write anything it saves to some kind of delta file that only saves the changes?

half pasture
#

I believe that the save portion could be mapped to a .sav file

#

That logic should be inside the mapper though

cursive sable
#

Is there a seperate save portion? I thought they can just save to anywhere on the flashrom if they wanted to, even over the game rom itself?

fallen brook
#

the game has to follow a sequence before a write to flash works. if you do it accidentally without following the sequence, it just gets ignored, so there is write protection included in this

fallen brook
#

but yeah I was thinking the same thing. if the game can flash itself basically anywhere, you'd want to pull the PRG-ROM from RAM and use that as a save

clever scarab
clever scarab
glacial turtle
#

How is your your NES rework going Kitrinx? Much left to do in the CPU/PPU?

fierce estuary
fallen brook
#

why absurd?

#

flash beats sram by a long shot technically speaking but we didnt have that stuff in the 80s/90s

#

and if you can make a cart with only prg-rom and you can reuse it for saving, sounds efficient. as long as the game does not self destruct 😄

fierce estuary
#

because it's anacronistic and having the ability to corrupt the games code is dumb

tepid umbra
#

Just so understand correctly: this mapper would make missingno in Pokemon red/blue not just corrupt the save file but have a chance to corrupt the actual rom permanently?

Sorry missingno is the only corrupting glitch I at least halfway understand. 😅

vivid roost
#

any glitch that leads to undefined behavior could potentially. you'd hope they put plenty of guardrails in their code to stop it happening