Home Page

NES driver revamped... (bug reports here, please)

Posted By: etabeta78

NES driver revamped... (bug reports here, please) - 10/07/09 03:26 PM

a.k.a. why MESS is no more light years away from NEStopia (even if we're still far from catching it wink )

Dear all, I finally finished to clean up the NES driver passing through all the supported mappers (and some previously unsupported ones)

A verbose description of the improvements can be found in the following blog entries (be warned: there are around 40 snaps in each page, so be patient if you have a slow connection)

http://mamedev.emulab.it/etabeta/?p=138 (part 1)
http://mamedev.emulab.it/etabeta/?p=129 (part 2)

Hence, I think it's time to open this new thread to collect impressions and reports about possible bugs (every problem worse than 1-line graphical glitches are worth mention if not listed below), before filling up bugzilla of already known problems wink

I include a list of known issues (as described in the driver itself). I hope that all the remaining problems could be reduced to one of these entries or to unsupported mappers.

Quote:
Known issues on specific mappers:

* 000 F1 Race requires more precise PPU timing. It currently has plenty of 1-line glitches.
* 001 AD&D Hillsfar and Bill & Ted are broken. We need to ignore the case of writes happening on 2
consecutive CPU cycles because these games use dirty tricks to reset counters (see note in mapper1_w)
* 001, 155 We don't handle (yet) WRAM enable/disable bit
* 002, 003, 094, 097, 152 Bus conflict?
* 005 has issues (see e.g. Just Breed or Metal Slader Glory), RAM banking needs hardware flags to determine size
* 014 in-game graphics is glitched
* 015 Shanghai Tycoon has corrupted graphics
* 033 has still some graphics problem (e.g. missing text in Akira)
* 034 Impossible Mission II does not show graphics
* 038 seems to miss inputs. separate reads?
* 039 Study n Game 32 in 1 misses keyboard and starts differently than in NEStopia
* 042 Ai Senshi Nicol has broken graphics (our Mapper 42 implementation does not handle CHR banks)
* 051 only half of the games work
* 064 has many IRQ problems (due to the way we implement CPU based IRQ) - see Skull & Crossbones.
Klax has problems as well (even if it uses scanline based IRQ, according to Disch's docs).
* 067 some 1-line glitches that cannot be solved without a better implementation for cycle-based IRQs
* 071 Fire Hawk is not properly working (it requires one hack to support both boards using this mapper)
* 072, 086, 092 lack samples support (maybe others as well)
* 073 16 bit IRQ mode is not implemented
* 077 Requires 4-screen mirroring. Currently, it is very glitchy
* 083 has serious glitches
* 096 is preliminary (no correct chr switch in connection to PPU)
* 104 Not all the games work
* 107 Are the scrolling glitches (check status bar) correct? NEStopia behaves similarly
* 112 Master Shooter is not working and misses some graphics
* 117 In-game glitches
* 119 Pin Bot has glitches when the ball is in the upper half of the screen
* 133 Qi Wang starts with corrupted graphics (ingame seems better)
* 143 are Dancing Block borders (in the intro) correct?
* 153 Famicom Jump II variant is not working, for some reason
* 158 In addition to IRQ problems (same as 64), mirroring was just a guess (wrong?). info needed!
* 164 preliminary - no sprites?
* 176 has some graphics problem
* 178 Fan Kong Jin Ying is not working (but not even in NEStopia)
* 180 Crazy Climber controller?
* 185 we emulate it like plain Mapper 3, but it's not: Mighty BombJack and Seicross don't work
* 187, 198, 208, 215 have some PRG banking issues - preliminary!
* 188 needs mic input (reads from 0x6000-0x7fff)
* 197 Super Fighter 3 has some glitch in-game (maybe mirroring?)
* 222 is only preliminar (wrong IRQ, mirroring or CHR banking?)
* 225 115-in-1 has glitches in the menu (games seem fine)
* 228 seems wrong. e.g. Action52 starts with a game rather than in the menu
* 229 is preliminary
* 230 not working yet (needs a value to flip at reset)
* 232 has graphics glitches
* 241 Commandos is not working (but not even in NEStopia)
* 242 In Dragon Quest VIII graphics of the main character is not drawn (it seems similar to Shanghai Tycoon [map15]
because in place of the missing graphics we get glitches in the left border)
* 249 only half of the games work (and Du Bao Ying Hao seems to suffer the same problem as DQ8 and Shanghai Tycoon)
* 252 shows logo, but doesn't reach the game
* 255 does not really select game (same in NEStopia apparently)


just a few snaps to show off wink



Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 10/07/09 03:40 PM

Pure awesome smile
Posted By: Dr. Spankenstein

Re: NES driver revamped... (bug reports here, please) - 10/07/09 04:36 PM

Just wanted to say thank you!
Posted By: Braille

Re: NES driver revamped... (bug reports here, please) - 10/07/09 06:47 PM

r5998 Regression

Megaman (USA / Europe)

Couldn't upload the pictures, but it's not that hard to see the issues.
Thanks for the hard work.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/07/09 07:36 PM

do you mean when you select the level or also something different?
"it's not that hard to see the issues" does not help a lot.

however, we got a few more issues to be added (not regressions):

* Mapper 001: Yoshi flashes ingame (bugzilla 1413)
* Mapper 004: Mendel Palace has never worked properly
* Mapper 071: Micro Machines has various small graphics problems
* Mapper 088: Quinty has never worked properly

and, on the demo side, Wall Demo by Chris Covell misses its effects.
Posted By: Braille

Re: NES driver revamped... (bug reports here, please) - 10/07/09 07:46 PM

The first issue is the level selection.
After that, choose the level (anyone with horizontal movement - cutman, gutsman) and play for some 5s (just walk) and you'll notice the platforms and backgrounds will change theirs places.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/07/09 07:52 PM

yeah, I've also found problems in Duck Tales... the problem is that they're both Mapper 2 games and I haven't changed anything in Mapper 2 at this round ?!?

weird!!
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 10/07/09 07:58 PM

Originally Posted By Braille
The first issue is the level selection.
After that, choose the level (anyone with horizontal movement - cutman, gutsman) and play for some 5s (just walk) and you'll notice the platforms and backgrounds will change theirs places.


1st screenhot (MESS) 2nd screenshot (Nestopia)

Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/07/09 08:07 PM

yes, it's what we were talking about. it's already acknowledged, only unexpected...

UPDATE: there is no bug, there. you need a clean compile!!! (I was using a test exe in place of the correct one and that explains why I was seeing the problem as well)

Thanks for testing, however. Please re-compile and report any additional problem smile
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/07/09 10:14 PM

Do you have a list with the mappers and the games that use them?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/07/09 10:21 PM

Originally Posted By Shideravan
Do you have a list with the mappers and the games that use them?


scroll down nes_mmc.c, or start a game with -log and check line 4 of error.log
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/07/09 10:46 PM

Wow!
Thanks for the improvements!
This driver is become greater from each time i test!
I found some bugs to be reported!

Using SVN 6006:

Street Fighter II: The world warrior(Unl)- Grey Screen...

Rocket Ranger: Glitched Screen...


Skull and Crossbones (Unl)-Black screen

Back to the future II & III:


F1-Race:


Castlevania III:


Caveman games: sound problems
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 10/07/09 10:54 PM

Please read before posting. F1 Race's problems were acknowledged twice already on this board.

ETA: I think you'll notice that someone familiar pointed them out, in fact.
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/07/09 11:07 PM

The things changed:
That used to be:


Now the problem is different: You can see a new buggy road a side of the road, that means that recent changes in someway affect this game...


And is no more only a "It currently has plenty of 1-line glitches.", since that have bugs in info display too.
Since that in the first don't had a good PPU yet, i think that new problems maybe don't have relations with this...
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/07/09 11:17 PM

While Castlevania 3 and Skulls and Crossbones were already listed as well in the first post, Rocket Ranger and Back to the Future are perfectly valid reports. Thanks for testing!

Also, they have been broken since ages but nobody ever reported their problems, so it's good to have them listed now (even if they are probably due to some PPU quirk which will take a lot of time to be fixed).

Street Fighter, OTOH, suffers of incomplete emulation of mapper 187, so there's no need to add it to the list (already mentioned)

We therefore have to add

* 001: Rocket Ranger and Back to the Future have heavily corrupted graphics
* 007: Marble Madness has small graphics corruptions (bugzilla 147)
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/07/09 11:21 PM

Starting from the premisse that Mappers report on nes_mmc.c are updated, i'll do the tests only in the mappers marked as supported and partially suported from now!
Please, don't forget to mark the status of each mapper, when these are changed!
Later i will do more tests!
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/07/09 11:23 PM

when does the corrupted road appear?



did you do a clean compile (just to exclude any other possible spurious reason for the problem)?

EDIT: and yes, the info on the mappers are currently up-to-date... they did not exist at all 20 days ago
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/08/09 12:13 AM

Yeah!
That solved!
Let me ask: how i can see whats the CRC from a game?
From CRC that means the code from zip or not?(generally CRC 32)
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/08/09 12:29 AM

Saint Seiya: Ougon desentsu:



Yoshi(u): screen flickering...
Posted By: Just Desserts

Re: NES driver revamped... (bug reports here, please) - 10/08/09 12:46 AM

Originally Posted By Shideravan
Yoshi(u): screen flickering...


Be honest, do you have a mental disability? etabeta said very clearly earlier in the thread:

Originally Posted By etabeta78
* Mapper 001: Yoshi flashes ingame (bugzilla 1413)
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/08/09 01:19 AM

I thought that in nes_mmc.c report was all the cases...
I just searched the code for yoshi and don't found nothing...
I was trying to see things in a lot of games, and i just don't saw these repport there, cos for me i don't imagine that was here nothing that don't was in the that file, sorry!
But if i'm not helping i stop to do the bug repport, no problems!
Don't need to offend...
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 10/08/09 04:30 AM

Originally Posted By etabeta78
yes, it's what we were talking about. it's already acknowledged, only unexpected...

UPDATE: there is no bug, there. you need a clean compile!!! (I was using a test exe in place of the correct one and that explains why I was seeing the problem as well)

Thanks for testing, however. Please re-compile and report any additional problem smile


You are right. smile
Thanks for the suggestion.

(I deleted all nes... relevant parts and re-compile it. Now it is ok.)
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/08/09 05:13 AM

Originally Posted By Shideravan
Yeah!
Let me ask: how i can see whats the CRC from a game?
From CRC that means the code from zip or not?(generally CRC 32)


it depends on what you need it for. in general MESS uses for NES the CRC of the file without the first 16 bytes (the header)

Originally Posted By Shideravan
Saint Seiya: Ougon desentsu:




not confirmed. I suggest you to try with Bobz's daily builds because you're having some problems on your local build
Posted By: Heretical_One

Re: NES driver revamped... (bug reports here, please) - 10/08/09 06:00 AM

Nice work, eta!

Meanwhile, I'm spending too much time on my other hobby, while not actually doing anything on it frown

Well, I should try to establish a permanent "home" for myself, so I can do things like host "broken WIP code".
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 10/08/09 06:30 AM

Originally Posted By Just Desserts
Be honest, do you have a mental disability?

I think don't!
I have better things to do than just offend other members!
And you're a coward, since you posted a thing and changed after that...
But i think that have so much "smart" people here, then i'm getting off!
Bye
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 10/08/09 06:41 AM

Now, not easy to find a new bug. smile
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 10/08/09 07:01 AM

Zombie Hunter (J) is not working.

Quote:
File: zombie hunter (j).zip <Zombie Hunter (J).nes>
Soft-patched: No
CRC: 41632CB6
SHA-1: 0D528F7DFA126CCF9BF4B943787ACD054B858313
System: Famicom
Board: HVC-SJROM, Mapper 1
PRG-ROM: 128k
CHR-ROM: 32k
W-RAM: 8k
Chips: MMC1
Battery: No
Dump: OK
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/08/09 07:18 AM

Originally Posted By Anna Wu
Now, not easy to find a new bug. smile


that's what I hoped to hear wink

Originally Posted By Anna Wu
Zombie Hunter (J) is not working.


interestingly, this is a regression in the new code... I'll try to track down the reason later today smile
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 10/08/09 07:30 AM

Not working.

Quote:
File: Teenage Mutant Ninja Turtles 2 - The Manhattan Project (J).nes
Soft-patched: No
CRC: 490E8A4C
SHA-1: 81074D89B619D97E544B3CB6F4BA781BAF49C72F
System: Famicom
Board: KONAMI-VRC-4, Mapper 25
PRG-ROM: 256k
CHR-ROM: 256k
Chips: Konami VRC IV
Battery: No
Dump: Unknown
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/08/09 07:38 AM

oh right, I had noticed that problem but I forgot to add it to the known issues frown

both TMNT and TMNT 2 Japanese titles (which are western TMNT 2 & 3) never ran in MESS

thanks for the reminder, I'll add them smile
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 10/08/09 07:58 AM

Quote:
File: Konamic Sports in Seoul (J) [!].nes
Soft-patched: No
CRC: C7642467
SHA-1: FE1C4A88BC11977B10FC8E246E255E729D8A6AC6
System: Famicom
Board: HVC-SLROM, Mapper 1
PRG-ROM: 128k
CHR-ROM: 128k
Chips: MMC1A
Battery: No
Dump: OK


See the line in the middle of the screen.

1st MESS, 2nd Nestopia



Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/08/09 08:11 AM

1-line glitch = our PPU emulation is not at the same level of other emus

these kind of (small) issues are not worth reports until we rewrite PPU, sorry

worse graphics corruption (e.g. Marble Madness problem reported in bugzilla) are more important to be tracked.
Posted By: Firewave

Re: NES driver revamped... (bug reports here, please) - 10/08/09 11:21 AM

With the previous version of the driver there were a few grey screen games. I try to compile a list of the remaining ones with the latest SVN.

You should also be aware, that you need to update the nes.hsi file in the "hash" folder. I forgot this in my last test runs, so I might have reported some false positives or gave wrong results.

etabeta also pointed out to me, that the "Drip" PD roms are actually UNIF files, so you need to change the extension of those, if you wanna test with them.
Posted By: judge

Re: NES driver revamped... (bug reports here, please) - 10/08/09 12:09 PM

I think it would be a good idea to document the ones with the 1 line glitches, they would make good testing material for ppu fixes wink
Posted By: Firewave

Re: NES driver revamped... (bug reports here, please) - 10/08/09 12:18 PM

I updated the test results:
http://mess.redump.net/tools:mame_regtest:results:mess:nes
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/08/09 01:23 PM

Originally Posted By judge
I think it would be a good idea to document the ones with the 1 line glitches, they would make good testing material for ppu fixes wink


there are simply too many: any mapper with a CPU cycle based IRQ presents those glitches, which means basically 99% of Bandai and Jaleco games, plus Tengen games, a lot of Sunsoft games and most of Konami ones as well...

once CPU based IRQ are properly implemented, then such a list would be more useful
Posted By: Haze

Re: NES driver revamped... (bug reports here, please) - 10/08/09 01:31 PM

Originally Posted By etabeta78
Originally Posted By judge
I think it would be a good idea to document the ones with the 1 line glitches, they would make good testing material for ppu fixes wink


there are simply too many: any mapper with a CPU cycle based IRQ presents those glitches, which means basically 99% of Bandai and Jaleco games, plus Tengen games, a lot of Sunsoft games and most of Konami ones as well...

once CPU based IRQ are properly implemented, then such a list would be more useful


I'd be quite interested in a decent list, with screenshost of each case (not that I don't have enough of the damn things to fix on the megadrive, but I'll get around to those one day wink

The cases where they need a horizontal split (are there any test carts for that) would be of even more interest as those will definitely require most custom code to handle sub-scanline level partial updates.
Posted By: Firewave

Re: NES driver revamped... (bug reports here, please) - 10/08/09 03:54 PM

Originally Posted By Haze
I'd be quite interested in a decent list, with screenshost of each case (not that I don't have enough of the damn things to fix on the megadrive, but I'll get around to those one day wink

The cases where they need a horizontal split (are there any test carts for that) would be of even more interest as those will definitely require most custom code to handle sub-scanline level partial updates.


I can provide the snapshots from my test run, so these could be checked for glitches as well.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/08/09 04:07 PM

grey screens would be even more useful to spot games which are expected to run and are not
Posted By: Kale

Re: NES driver revamped... (bug reports here, please) - 10/08/09 06:10 PM

Before I forgot: Takeshi no Chousenjou (mapper 2) is known to require mic input later in the game. You need a japanese guy that'll play & record on an inp though, since is honestly unplayable for a western guy...
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 10/08/09 06:26 PM

It seriously has speech recognition on a 6502? I thought the games that used the Famicom mic input just wanted a sufficiently loud noise to trigger whatever they do.
Posted By: Just Desserts

Re: NES driver revamped... (bug reports here, please) - 10/08/09 06:38 PM

I'm pretty sure Kale was just saying that it has really dense Japanese text, and that microphone input is required late enough in the game that it would be tough for any non-native Japanese speaker to get there.
Posted By: Firewave

Re: NES driver revamped... (bug reports here, please) - 10/08/09 07:22 PM

Grey screen games running them on the 'nes' driver with -str 2:
1200-in-1 [p1]
31-in-1 [p1]
Adventures of Lex & Grim, The (PD)
Ai Sensei no Oshiete - Watashi no Hoshi (J)
Alternate Party 2007 Demo by wAMMA (PAL) (PD)
Athena (J)
Athena (U) [!]
B00DaW's Pokemon Demo (PD)
Bad Game V0.0 by Johannes Holmberg (PD)
Balloon Fight (VS) (Player 2 Mode)
Banana (J)
Baseball (VS) (Player 1 Mode) [a1]
Baseball (VS) (Player 1 Mode) [a2]
Baseball (VS) (Player 1 Mode)
Baseball (VS) (Player 2 Mode) [a1]
Baseball (VS) (Player 2 Mode) [a2]
Baseball (VS) (Player 2 Mode)
Bashi Bazook - Morphoid Masher (U) (Prototype)
Best of the Best - Championship Karate (E) [!]
Bill & Ted's Excellent Video Game Adventure (U) [!]
Blueflamen Tupari Demo by wAMMA (PAL) (PD)
Boogerman (Sugar Softec) (Unl) [!]
Captain Tsubasa Vol. II - Super Striker (Ch) [a1]
Captain Tsubasa Vol. II - Super Striker (Ch) [a2]
Captain Tsubasa Vol. II - Super Striker (Ch) [a3]
Captain Tsubasa Vol. II - Super Striker (Ch)
Colour Bars Mapper 0 V1.1 by Mark Knibbs (PD)
Commandos (Ch)
Contra Fighter (Unl)
Cosmic Wars (J) [!]
Darkman (E) [!]
Death Race (AGCI) [!]
Digital Dragon (Ch) [!]
Disable NMI Timing Test by Shay Green (6 Nov 2005) (PD)
Dragon Quest IV (Unl)
Duo Bao Xiao Ying Hao - Guang Ming yu An Hei Chuan Shuo (Ch)
EAC 2001 3-in-1 by Mankeli (PD) [a1]
EAC 2001 3-in-1 by Mankeli (PD)
Famicom Jump II - Saikyou no 7 Nin (J) [!]
Family BASIC (J) (V2.0a)
Family BASIC (J) (V2.1a) [!]
Fleet Commander (J) [!]
Forever Country (PD)
GITS by Sergey Ryumik (PD)
GLK Dance by FengLi (Unl) [!]
Ice Climber (VS) (Player 1 Mode)
Ice Climber (VS) (Player 2 Mode)
Jovial Race (Sachen) [a1][!]
Kame no Ongaeshi - Urashima Densetsu (J)
King Neptune's Adventure (Color Dreams) [!]
King of Fighters 96, The (Unl)
Linus Music Demo (PD)
Mahjong (VS) (Player 1 Mode)
Mahjong (VS) (Player 2 Mode)
Mario Music by CMU NESdev Team (PD)
Mighty Bomb Jack (J) [!]
Morita Kazuo no Shougi (J)
Mortal Kombat 3 Extra 60 (Unl) [!]
Mouser by Tony Young (Beta 1.0) (PD) [a1]
Myth Struggle (Ch)
NES APU Sweep Cutoff Test by Blargg (PD)
NES APU Sweep Subtract Test by Blargg (PD)
Nim-tendo by Erik Jakobsson 2004 (PD)
Ninja Cop Saizou (J)
NMI Timing Test by Shay Green (6 Nov 2005) (PD)
Nullsleep - Kuribos Requiem (PD)
Pegasus 5-in-1 (Golden Five) [!]
Pirates! (E) [!]
Pirates! (G)
Pirates! (U) [!]
Pizza Pop Mario (Unl) [!]
Playbox BASIC (Prototype V0.0)
Pocket Monsters Red (Ch) [!]
Pro Action Replay (E) (No Cart Present) (V1.2 RevB) [!]
Q Boy (Sachen) [!]
Return to Camelot by Castle Masters (PD) [a1]
Return to Camelot by Castle Masters (PD)
Sack of Flour - Forest Music by CMU NESdev Team (PD)
Sack of Flour - Hills Music by CMU NESdev Team (PD)
Sack of Flour - Plains Music by CMU NESdev Team (PD)
Sack of Flour - Space Music by CMU NESdev Team (PD)
San Guo Zhi 2 (Ch)
San Shi Liu Ji (Ch)
Sansuu 1 Nen - Keisan Game (J)
Sansuu 2 Nen - Keisan Game (J) [!]
Sansuu 3 Nen - Keisan Game (J)
Satsui no Kaisou - Power Soft Satsujin Jiken (J) [!]
Saw Scale Demo (PD)
Saw Song Demo (PD)
Seicross (J) (PRG1) [!]
Sesame Street 123 (U) [!]
Smooth Vibrato Demo by Blargg (PD)
Snow Brothers (J)
Snow Brothers (U) [!]
Snow Brothers (U) [p1][!]
Somari (NT-616) (Unl) [!]
Sonic 3D Blast 6 (Unl)
Sounds (PD)
Spy Vs Spy (J)
Square Force (Unl) [!]
Square Scale Demo (PD)
Square Timer DIV2 Test by Shay Green (PD)
Street Fighter II - The World Warrior (Unl) [!]
Street Fighter II - The World Warrior (Unl) [a1]
Street Fighter II - The World Warrior (Unl) [a2]
Street Fighter IV (Unl)
Street Fighter Zero 2 '97 (Unl) [!]
Street Fighter Zero 2 (Unl)
Super Mario Bros. 2 (J) (FDS Conversion)
Super Mario Bros. 2 (J) (LF36) [p1]
Super Sonic 5 (1997) (Unl) [!]
Super Xevious - Gump no Nazo (VS)
Tanigawa Kouji no Shougi Shinan 3 (J)
Tanigawa Kouji no Shougi Shinan II (J) [!]
Teenage Mutant Ninja Turtles (J) [!]
Teenage Mutant Ninja Turtles 2 - The Manhattan Project (J)
Tennis (VS) (Player 2 Mode)
Test HBlank (PD)
Testing 1 Buzzing Demo by Bitmaster (PD)
Testing 2 Buzzing Demo with Changable Pitch by Bitmaster (PD)
Top Gun (VS)
Top Rider (J) [p1]
Tri Scale Demo (PD)
Tsuppari Wars (J)
Turpasauna 2006 Invitation by wAMMA (PD) (PAL)
Ultimate Mortal Kombat 4 (Unl) [!]
V PCM Demo (PD)
VBL Flag Clearing Timing Test by Shay Green (6 Nov 2005) (PD)
Wrath of the Black Manta (E) [!]
Wrath of the Black Manta (U) (PRG0) [!]
Wrath of the Black Manta (U) (PRG1) [!]
Wrecking Crew (VS) (Player 1 Mode)
Wrecking Crew (VS) (Player 2 Mode)
WWF Wrestlemania (E) [!]
Xexyz (U) [!]
Xing He Zhan Shi (Ch)
Xing Ji Zheng Ba (Ch)
Ying Xiong Yuan Yi Jing Chuan Qi (Ch)
Yong Zhe Dou E Long - Dragon Quest VII (Ch)
Youkai Kurabu (J)
Zabucom - It Could Be A MOTHERSHIP (PD)
Zhan Guo Wu Shuang (Ch)
Zombie Hunter (J)

Note: I left out all the NESMUSIC roms - most of them show a grey screen, but I guess that's by design. I also think a couple of those (PD) are actually music-only roms.
Posted By: incog

Re: NES driver revamped... (bug reports here, please) - 10/08/09 08:01 PM

I can't wait for mapper 163, then we get to play that final fantasy 7 NES remake in MESS.
Posted By: Tafoid

Re: NES driver revamped... (bug reports here, please) - 10/08/09 08:19 PM

Originally Posted By Firewave

Note: I left out all the NESMUSIC roms - most of them show a grey screen, but I guess that's by design. I also think a couple of those (PD) are actually music-only roms.


I think you can drop the VS. NES items too. I don't think those were ever designed for home use - no matter how close to the original carts they are. smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/10/09 08:05 AM



first snap of a .unf file properly loaded in MESS.

Now I only have to update the list of known bugs, then I will commit the change.

IMPORTANT: Notice that for now there is only support for the UNL-SACHEN-8259A board (i.e. mapper 141 games).
Hence, don't start trying all unif images in MESS for the moment: most of them won't load wink

Next, I'll add all the boards corresponding to iNES mapper (because I can simply re-use the code), but before I need to split iNES and UNIF support from nes_mmc.c before it blows up (it's already > 330K)

on a later stage, I plan to make the code less iNES-centric, but it will be a slow process and will only improve readability.
Posted By: Christina

Re: NES driver revamped... (bug reports here, please) - 10/16/09 01:50 PM

Ninja kid(u) brokes when you enter in a castle!
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 10/21/09 09:17 AM

Originally Posted By Christina
Ninja kid(u) brokes when you enter in a castle!


could you be a bit more specific about 'enter in a castle'. I have never played this game before and I only managed to reach the first boss (after stage 1-12), but with no problems

also, does the game crash? or only the graphics gets corrupted? I need more info to try to fix it wink

Moreover,

r6153: [NES] Improved UNIF support and added emulation of a few UNIF-only boards

I fixed a few problems in iNES/UNIF loading (we should now load properly UNIF files released with .nes extension), and added a few pirate boards

UNIF support has still issues (e.g. we do not always set properly mirroring, WRAM and CHRRAM), but works quite well.

While I will post some more screens later tonight (or tomorrow), I want to mention that we now support Mapper 35 which is used by a recently dumped Kirby rip-off (titled "Wario World 2") and which was only emulated by FCEUMM previously [1]

Enjoy! smile

[1] this is simply because latest NEStopia was released before this dump was available... the mapper is easy to emulate, thanks to Cah4e3 info, and it would probably take 5 min to be implemented by Marty
Posted By: Rayman

Re: NES driver revamped... (bug reports here, please) - 11/17/09 10:26 PM

Nowdays i'm a very occupied, so sorry since I don't read all of the feedback posted here, nor the info on the source code, but let me ask: in "ninja gaiden II", on second level we have a big graphic corrupt in the backgrounds. It's a known bug?

Thanks for all the people involved in this project!
Posted By: Eugene.S

Re: NES driver revamped... (bug reports here, please) - 12/10/09 04:24 PM

Dendy Steepler Classic info:
http://nesdev.parodius.com/bbs/viewtopic.php?t=5070
Try to use Vblank/Vsleep timings = 20/51 instead 70/1 as for now
Posted By: Eugene.S

Re: NES driver revamped... (bug reports here, please) - 12/13/09 10:17 AM

6527P/6538 tests:
http://www.bannister.org/forums/ubbthreads.php?ubb=showflat&Number=57045#Post57045
Posted By: jmd

Re: NES driver revamped... (bug reports here, please) - 12/13/09 08:38 PM

Game: Don Doko Don 2 (Japan)
CRC: B04ECE9E

The game hangs up when you reach the first boss.

Screen:


regards!
jmd-
Posted By: TheTrout

Re: NES driver revamped... (bug reports here, please) - 12/18/09 08:49 PM

Not sure why, but the USA version "Adventures of Lolo" is booting to the grey screen with the crosshairs on my computer. The Europe version works fine, though. Do I just have a bum copy of the USA rom?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 05/02/10 11:27 AM

revamped this old thread to let people know about what is (slowly) going on





now, someone might say: these games have been working fine since forever, in MESS.

In fact, there are 2 brand new features documented in the screens above: we have some very preliminary code ready to allow loading from software lists in NES



and, something new for MESS (and partially new for the whole NES emulation since Pasofami), the same code allows for loading real dumps (i.e. with split PRG & CHR)

the code requires A LOT of work before it can be made available to public: e.g. the list contain less than 200 games, there is no current support for different mappers (the screens above were obtained by manually changing the mapper and by recompiling the source for each game), and the whole code should be rewritten so that softlist becomes the official way to load nes carts in MESS and iNES and UNIF files use its code, rather than the other way around like it currently is.

However, it is a first and long awaited step in the right direction and many thanks go to bootgod for the info he provided me. Expected time for public disclosure remains (hopefully) late spring - mid summer...

stay tuned wink
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 05/21/10 07:23 AM

small progresses: thanks to the UNIF handling code, I needed only 2 lines of code to add the selection of the appropriate board for all the dumps verified by bootgod (and the nes.xml list I'm preparing already contains all these dumps, with separate prg/chr and correct board id)

now that the basic framework is ready, I can plan the attack to the two big remaining steps:
- adding all the other dumps to the list (with proper prg/chr but marked as baddumps until bootgod verifies them)
- refactoring the code so that (in a similar fashion to NEStopia) it is focused on emulating each board rather than iNES mapper

we're getting closer wink
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 06/03/10 08:39 PM

another small update: the list is basically done and it now contains around 3500 different games, counting chinese/asian originals and pirates and multicarts; and more work on the actual emulation is in progress.

things are progressing slower than I hoped, though, and a lot of code has yet to be moved/refactored before the list can be added in the svn repository...
Posted By: mariuszw

Re: NES driver revamped... (bug reports here, please) - 06/03/10 09:51 PM

There are various problems with "Super Game III" (multigame NES based arcade game) I have added recently to MAME.

Snow Brothers are completely broken - some garbage is shown at the begining, then display turns to grey (regular NES version is broken in the same way in MESS - tested on 0.137).

"New Tetris" has some graphics problems.

What is interesting about this compilation, bootlegers added real continue feature to the games - after you lost all lives, you may buy next game with next credit.

Mariusz.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 06/04/10 05:40 AM

I plan to review Mapper 1 emulation soon (Snow Bros. J is Mapper 1, and some other Japanese game seems to suffer since my changes a few months ago, even if other games seemed to require them: I really have to investigate more in depth what is the real problem...)

Also, as soon as the MESS code is updated to use PCB-based handlers (instead of mapper-based ones), and current nes_ines.c and nes_unif.c are merged with the (soon-to-be-added) nes_pcb.c, I will move the NES code to MAME. This will allow to finally have a single implementation for NES/VSNES/PC10/MULTIGAME: much easier to fix issues at that point (e.g. RBI Baseball crash in debug builds) wink
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/07/10 11:00 AM

Originally Posted By mariuszw
Snow Brothers are completely broken - some garbage is shown at the begining, then display turns to grey (regular NES version is broken in the same way in MESS - tested on 0.137).


Snow Bros seems to have never worked in MESS. The problem might lie in any CPU/PPU memory handler (the mapper PRG/CHR banking emulation is very close to NEStopia, so I doubt is the culprit). Once implementations are unified, and MAME NES-based pcbs are converted to use the same code as MESS, I will try to find out where the issue arises from.

Thanks for the report, though. I didn't know this game had problems.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/09/10 09:49 PM

in other news, I implemented proper emulation of the CNROM boards with 'copy-protection' which gets associated to Mapper 185

Mighty Bomb Jack (Jpn)


Seicross (Jpn)


Bird Week (Jpn)


Spy vs. Spy (Jpn)


and Sansuu 1,2,3 Nen games (snaps from the first 2 carts)


The annoying thing is that these iNES files will require a crc hack to recover the correct pins configuration which select the CHR bank (OTOH softlists won't need it, since the pin settings will be stored in the xml itself) and I still haven't added it.

Still no luck, on implementing correct wram in Nobunaga's games, which still do not save to the battery... but I hope to make progresses soon: once the main Nintendo mappers are supported properly, I will release the xml list smile
Posted By: AWJ

Re: NES driver revamped... (bug reports here, plea - 06/10/10 03:10 AM

Originally Posted By etabeta78
Still no luck, on implementing correct wram in Nobunaga's games, which still do not save to the battery...


Aren't those the ones that have two (banked) SRAM chips, one of which is battery-backed and the other of which isn't?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/10/10 05:06 AM

yes they are: SOROM boards.

a few days ago, I finally added handling of PRG RAM with size different from 0x2000 (less will be needed for Family BASIC, when we add the keyboard, more is needed by tons of games). SOROM games though are still not saving to battery the upper 8K of data. I'll go back to them soon.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/15/10 10:19 PM

the recent changes (svn 8271-8281), while being mostly internal reshuffling of the code, also had some visible consequences:

- Dragon Warrior 4 does not crash anymore when you quit (something which did not affect Win builds, apparently, but that was plaguing my MacOSX build) and has no more the heavy graphical glitches introduced somewhere around 0.130-0.135
- SD Keiji went from this

to this


the latter fix (as well as mapper 185 progresses announced earlier) will be available for iNES mappers too once I finish to merge the new softlist code with the old emulation... be patient.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/17/10 10:39 AM

svn.8286: Added preliminary emulation of the famicom keyboard add-on (through a new driver fami_key, to avoid having to switch between full/partial keyboard emulation in nes & famicom).

Now the various BASIC carts start showing something:





known limitations:
- no tape support yet
- only the Famicom keyboard is emulated, so far: no support for Subor and other Study Cartridge & Edu Computer famiclones
- keyboard layout is not 100% accurate

EDIT: thanks to the keyboard matrix borrowed from FCEUMM, support for the Subor keyboard was very easy.


you can see that I correctly hit 15 keys over 18, so the new inputs are fine (the remaining 3 were missed because I was slow in pressing the buttons wink ).
the "preliminary" comment in both commits refers to the not perfect mapping and to the fact I still have to research about which IO ports should be in use and which should be disabled when keyboards are read... but games should simply work fine!

I think FC + Subor keyboards cover most available carts; remaining Edu carts requiring different keyboard controllers should probably be emulated as separate drivers (only sharing with NES the core emulation)
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/24/10 07:41 PM

rev.8306 - [NES] progresses:

More details (and snaps) are available at my blog http://mamedev.emulab.it/etabeta/?p=231

however, I'd like to point out that some of the bug reports of this thread have been taken care of:
- Zombie Hunter now works again (as well as other MMC1 games which got broken last October by my changes)
- Konami games showing grey screen (e.g. TMNT 1 & 2 Japanese version) have been fixed
- MMC1 consecutive register writes problem (affecting Snow Bros, Bill & Ted, AD&D Hillsfar and other games) has been fixed by Mariusz Wojcieszek and the mentioned games work for the first time in MESS

of the three fixes, only the first is already available to the users. The other two are only present in the pcb-based code and it will be possible to see them in action only next week when I will convert the mapper emulation to use the new code. be patient for a few more days wink

finally, about the xml list, I managed to briefly test all 3625 entries and, except for a few still unemulated boards (which causes around 130 games, mostly asian pirate carts, not to work), the results are encouraging: I'd say ~100 games are unplayable due to heavy glitches or freeze while most of the others simply play fine
Now, I have to clean up a bit the xml, and then we'll be ready to release the list and to move the first (small) step towards making iNES files obsolete smile
Posted By: judge

Re: NES driver revamped... (bug reports here, plea - 06/24/10 08:35 PM

great work, etabeta.
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, plea - 06/24/10 09:00 PM

Awesome work by eta and Mariusz. And the NES Rocket Ranger is really, ahh, strange compared to the PC/IIgs/Amiga original.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/25/10 12:38 PM

I gave another try to the Nanjing pirate board (usually assigned to mapper 163), which is pretty interesting since more than 60 titles were using it, with some ports from Gameboy, SNES and PC titles... and I finally have something to show (thanks to Nestopia source which I used as guideline)! wink









(respectively, Final Fantasy 7, Diablo, Harvest Moon and Chrono Trigger)

Some games (e.g. Chrono Trigger) resets pretty soon, maybe due to some protection, but it's definitely a first step in the right direction smile

This news reduces a lot the number of unsupported games, even if not all Nanjing games work, and reduces also the number of interesting boards not emulated yet, which now counts: MMC5 (a nightmare...), JY Company boards (quite many pirate games running on it), a couple of multigame boards with several carts and then tons of pirate-board-with-a-single-game-using-it items...

let's see if I can succeed emulating JY Company board next week...


EDIT: the reset problem was actually just due to wrong PRG setup at start... it is now fixed in my local build smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/25/10 04:48 PM

I tested some more Nanjing games and some of them look really weird: I'd almost like to know Chinese to be able to give them a real try smile

some more snaps for the curious:

yu-gi-oh


pokemon yellow


zelda minish cap


final fantasy 4


they also cloned themselves, releasing some title hacks of their earlier titles (same game different title screen only): another ff7 and zelda phantom hourglass
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/25/10 04:49 PM

but the weirdest of them all, imho, is the action game titled "The Hacker", a terrible Matrix tie-in resembling Mega Man (and running on a plain MMC3 board, so that it is already playable in old MESS builds, if you feel a bit masochistic and you want to give it a try)



oh, btw I also added support for some pirate multigame board (in particular the Bensheng 4-in-1 carts, which feature some new games even if not particularly funny, instead of thousands of copies of the usual FC titles)
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, plea - 06/25/10 05:05 PM

Wait, is that a fart attack? smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/25/10 05:25 PM

it's a sort of superfast kick attack (something like Hokuto no Ken punches)...

a last addition before I leave for my weekend out: courtesy of FCEUMM and Cah4e3's researches, I added support for the 200-in-1 multicart containing Elfland, a nice Bubble Bobble clone



you have to enter the coloured pipes to change your own color and be able to kill the monster with the same color.

definitely funnier than the average pirate games smile
Posted By: Stiletto

Re: NES driver revamped... (bug reports here, plea - 06/25/10 05:33 PM

Originally Posted By etabeta78
it's a sort of superfast kick attack (something like Hokuto no Ken punches)...


Chun Li!
Posted By: ranger_lennier

Re: NES driver revamped... (bug reports here, plea - 06/26/10 01:23 AM

Originally Posted By etabeta78
(respectively, Final Fantasy 7, Diablo, Harvest Moon and Chrono Trigger)



Those are some ambitious ports. Are they actually anything like the originals?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/26/10 06:18 PM

more or less as much as Bio Hazard and Darkseed (which can be already played in old MESS): similar plot (apparently) but I cannot read Chinese and already the first fights gave me an headache to go through the correspondent menu...
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/30/10 01:25 PM

current svn includes also for iNES files (i.e. the images you usually find around in Nointro/GoodNES/NonGoodNES) all the fixes/additions mentioned in the past week. in particular, you can finally test Nanjing ambitious ports in MESS smile

as soon as I finish cleaning up the xml list, I will release it, enabling the separate PRG/CHR support.
Posted By: Kaylee

Re: NES driver revamped... (bug reports here, plea - 06/30/10 08:48 PM

Hi

I get Graphic corruption in Super 40-in-1 (Multicart WS-1001) [U][!].unf

eg: galaxian, bullets are non existant and garbage displayed on the edges.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 06/30/10 09:42 PM

thanks for the report. unfortunately, it's been like this since the addition of BMC-WS board emulation

however, NEStopia does not seem to have the issue, so I'm going to check this out pretty soon

EDIT: the mapper code seems ok. I suspect the problem might be somewhere in the core emulation, so it's something I will investigate later (in the meanwhile I added a note in the source about the problem)
Posted By: Kaylee

Re: NES driver revamped... (bug reports here, plea - 07/01/10 05:11 PM

Hi etabeta

I've run this: Super Mario Bros (Pirate).nes and most smb carts I've tried

There seem to be some input errors. normally happens when I lose a life. when you go left or right it is as if the controls sudenly gets stuck in that direction. meaning mario only stops if he meets something blocking his path.

also on some of the pirate carts the levels can randomly change, but this only hapens every now and then. sometimes mid level
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/01/10 06:36 PM

about SMB: could you please run MESS with the -log option and post the error.log content? it would help to identify the image giving you issues

it did never happen here with the nointro SMB nor with the pirate version I tried yesterday (I should re-check exactly which one was)...

also please report the exact images with random reset/level change problems, because they usually mean that we are handling in the wrong way the prg bankswitch and I would like to either fix them (if I find the exact error) or at least document which ones are not working

in any case, thanks a lot for testing
Posted By: Kaylee

Re: NES driver revamped... (bug reports here, plea - 07/01/10 07:05 PM

@etabeta

You've got mail.

Input seems only to happen in messui. The level corruption happens cmdline and ui

Quote:

Video: Monitor 00010001 = "\\.\DISPLAY1" (primary)
Direct3D: Using Direct3D 9
Direct3D: Configuring adapter #0 = Intel(R) G33/G31 Express Chipset Family
Direct3D: Using dynamic textures
Direct3D: YUV format = UYVY
Direct3D: Device created at 1600x900
Direct3D: Max texture size = 2048x2048
DirectSound: Primary buffer: 48000 Hz, 16 bits, 2 channels
RawInput: APIs detected
Input: Adding Mouse #1: HID-compliant mouse
Input: Adding Gun #1: HID-compliant mouse
Input: Adding Kbd #1: HID Keyboard Device
DirectInput: Using DirectInput 7
Average speed: 99.69% (92 seconds)
Sound: buffer overflows=11 underflows=1
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/01/10 10:33 PM

brief bug report overview

Originally Posted By Rayman
Nowdays i'm a very occupied, so sorry since I don't read all of the feedback posted here, nor the info on the source code, but let me ask: in "ninja gaiden II", on second level we have a big graphic corrupt in the backgrounds. It's a known bug?


I confirm that in the 2nd level of Ninja Gaiden 2 the bg graphics flashes all the time. given the same problem affect some games on different mappers (e.g. Firehouse Rescue on mapper 3), it seems the problem has to be searched in the PPU or CPU code. problem added in nes_mmc.c.

Originally Posted By jmd
Game: Don Doko Don 2 (Japan) CRC: B04ECE9E

The game hangs up when you reach the first boss.


problem confirmed and added in nes_mmc.c. Not sure when it will be fixed, but thanks for the report

Originally Posted By TheTrout
Not sure why, but the USA version "Adventures of Lolo" is booting to the grey screen with the crosshairs on my computer. The Europe version works fine, though. Do I just have a bum copy of the USA rom?


Not confirmed (even if it might have been broken when reported). But it works now.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/01/10 11:05 PM

on other news, I've finally made the MMC3 code simpler and more flexible, making possible the addition of pirate clone boards like FK23C (not fully working, though). adding it with the old code would have been a nightmare!

also, the simplified code allowed me to fix UNL-KOF96 board emulation: now both King of Fighter 96 and Street Fighter Zero 2 are working (even if the latter title has some glitches in a few levels)

OTOH, I've failed to improve emulation for SuperGame boards used by Boogerman and MK3, but I suspect the problem is in the bankswitch at start, so that with some luck they could be made working pretty soon smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/02/10 10:12 AM

Originally Posted By Kaylee
The level corruption happens cmdline and ui


the problem is in the image you are using. it is a known bad dump and the RAM initialization influences the starting level. Given that MESS does not initialize the whole RAM to a given value, you end up to random levels rather than to 0-1 as in Nintendulator and NEStopia, but still the file would probably not work
on a real NES.

just trash the file and use a good dump wink


about general progresses, in rev.8378 I simplified a lot the emulation of Waixing boards, and took the chance to fix some bugs, so that games like Pokemon Red, Pokemon Silver, Myth Strugglers and Digital Dragon now work.

Also, I fixed UNL-8237 board (Pocahontas 2 is finally playable) and added preliminary Waixing SH2 board emulation, used by Fire Emblem & Fire Emblem Gaiden Chinese commercial translations: both games now start even if in-game graphics is corrupted.

now, if only I could find why some pirate carts do not draw sprite properly at all (probably some PPU corner case we miss to implement properly) and fix the PPU vblank issue which causes PAL slowdown, then we could finally bring MESS to the same league of NEStopia, FCEUMM and Nintendulator (even if at first we could only aim to the wooden spoon, concerning accuracy)
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/02/10 07:40 PM

for the record, more NES progresses:
- Fixed emulation of the K pirate board used by Panda Prince among others, and now UMK3, YuYu '97 (as well as its title hack MK6), Sonic 3d Blast 6 protected version, SFZ2 '97 and Super Lion King 2 work quite fine (actually Super Lion King 2 has corrupted title screen, but otherwise it works)
- Added working support for board UNL-H2288 (by K again) used by Earthworm Jim 2, and for the multigame board used by PowerJoy 84 in 1
- Added partially working support for Someri SL12 board used by AV Girl Fighting, which is now working even if title screen and versus screen have corrupted graphics
- Added preliminary support for Fukutake Study Box cart

The Someri board is pretty interesting being able to switch between MMC1, MMC3 and VRC2 modes, even if AV Gril Fighting seems to only use MMC3 mode
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/03/10 10:35 PM

the xml list has been finally added, showing why all the PCB-focused changes were necessary in the past months

please read the following comments

http://www.bannister.org/forums/ubbthreads.php?ubb=showflat&Number=63109#Post63109

before to start feeding the xml list to clrmame wink
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, plea - 07/04/10 12:16 AM

Somewhere between yesterday and now Castlevania 3 (US) got much better (it used to freak out the character banking when you picked up whip parts or paused, now it doesn't). Still a few bad tiles very early on though, but great work!
Posted By: Robbbert

Re: NES driver revamped... (bug reports here, plea - 07/04/10 05:53 AM

btw, before anyone reports problems, do a clean build...


All we need is a tool to convert all the games in one hit, can't imagine anyone would recompile then do each game, one at a time.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 07/04/10 06:55 AM

much easier to do an automatic run through a complete romset and then to rebuild the resulting files... however, I think the sets will appear on the usual places at some point.
Posted By: Robbbert

Re: NES driver revamped... (bug reports here, plea - 07/04/10 07:38 AM

ah yes, I see. smile
Posted By: Kaylee

Re: NES driver revamped... (bug reports here, plea - 07/26/10 11:41 AM

Hi etabeta

Just stumbled on to this: playpower freeware nes game

It shows a lot a garbage mad, but works with nestopia smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 02/08/14 07:26 PM

resurrecting this old thread, because the news is big enough to be entitled of his own thread wink

MMC5 mostly works now

http://mamedev.emulab.it/etabeta/?p=379

you find ~100 snaps at the link, but as appetizer





there are still a few glitches here and there, and we still miss both the APU enhancements and the split screen feature used by Uchuu Keibitai SDF, but the days when MESS was unable to offer CV3 and most Koei games are over wink
Posted By: Shoegazer

Re: NES driver revamped... (bug reports here, plea - 02/08/14 10:11 PM

Nice progress, eta! Updated NonMESS using some of the information from your blog. Hopefully that will help get some mileage with MESS users.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 02/09/14 07:09 PM

not as exciting as the previous, but I fixed Irem G-101 emulation based on naruko's notes at nesdev, and this made Ai Sensei no Oshiete working (the other games on this hardware were already ok, from what I can tell).

It is a fortune teller game, so there is not much to play, but finally working



Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, plea - 02/09/14 07:11 PM

More games running is more games running. Nice work smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 02/12/14 02:58 PM

and the time came for barcode reader emulation in the Datach Joint ROM System

http://mamedev.emulab.it/etabeta/?p=404

which promotes 5 more games to working state smile

Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, plea - 02/12/14 03:43 PM

Wow, I hadn't heard of NES carts with barcode readers. Nice to see the games working smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, plea - 02/12/14 05:54 PM

In fact, there were *two* different barcode readers smile

One is the Bandai Datach I have just added emulation for, consisting of a base unit plugged into the cart slot and featuring the barcode reader, some VRAM, and a smaller cartslot to insert the piggyback carts with the game in it

The second is the Barcode Battler (by Epoch or Sunsoft, I don't recall from the top of my head) which was a standalone unit, with a lot of LEDs, allowing for PvP fights with barcode cards. As a secondary usage, the unit could be attached to the FC expansion port and be used uniquely with the game Barcode World by Sunsoft, or be attached with an adapter to the SFC controller port and be used with 5-7 compatible Jpn games.

The Barcode Battler is a future emulation target (at least as controller for FC/SFC, because I don't think we have info about what is inside the actual unit to emulate also its standalone functionalities), but it requires NES/SNES controllers to be slot-ified... and ATM I don't have time/interest into that.
Posted By: incog

Re: NES driver revamped... (bug reports here, please) - 02/12/14 06:53 PM

Props on the Datach eta, I don't mean to hijack the thread but yes, Epoch made the Barcode Battler and after seeing misinformation about them online I decided a while ago to grab one and tear it down, scanning everything that came with one.

https://archive.org/details/EpochBarcodeBattler This is everything, from the manual, box, each individual card and for later artwork use, the screens underlay.



Ascii art for part number google-food:

Code:
    EPOCH BARDCODE BATTLER
 __________________________________
| ______                           |
||S2929A|                          |
||R10CL7|                          |
||___D2Y|                          |
|           _____________          |
|          |NEC JAPAN    |         |
|          |D75316GF 298 |         |
|          |             |         |
|          |             |         |
|          |             |         |
|          | 9314KK020   |         |
|          |_____________|         |
|                                  |
|                                  |
|                                  |
|                                  |
'-\--------------------------------'
,--\-------------------------------,
|                ___       |92C309||
|               |BAR|      |LM358N||
'----------------------------------'

BAR = BARCODE READER


There is also this: https://en.wikipedia.org/wiki/Nintendo_e-Reader it uses dot codes on each card.
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 02/12/14 07:35 PM

uPD75316 is a 4-bit MCU with an LCD controller integrated, it appears.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/13/14 10:33 AM

Thanks incog for the data about Epoch Barcode Battler.
I have no idea if we ever be able to emulate this properly, but as a controller is definitely doable (nocash documented in detail the protocol used to transfer the code through the controller ports) and I will be careful using your info in the source to clarify the device smile

in other news, the Datach Joint ROM System base unit has been now properly implemented as a passthrough cart with a separate cartslot for its minicarts.
thus, if you want to test the barcode reader with latest svn, you have to use the following syntax

Quote:
mess nes -cart datach -cart2 gamename


where gamename can be either a Datach softlist shortname, or the full path to the iNES files for the games (notice that you can also load an headerless 256k dump of your Datach minicarts, so you don't need to add an header if you dumped your own cart)
Posted By: Jarvik7

Re: NES driver revamped... (bug reports here, please) - 02/13/14 10:52 AM

Are you planning some mechanism to document any official barcode numbers?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/14/14 05:51 AM

Originally Posted By Jarvik7
Are you planning some mechanism to document any official barcode numbers?


at the moment, I was trying to search in Japanese websites if there was anyone documenting the real barcodes (the ones at gamefaqs are useful, but often handmade to obtain better stats)

anyway, it seems that the guy at retrostuff.org (the website where I had borrowed the original Goku barcode) has scanned some more original cards for the Datach Dragon Ball Z game. This helps to play the game as it was intended (with more balanced stats).
You can find them at

http://retrostuff.org/2014/02/14/bandai-datach-barcodes-for-mess/

it's definitely a start smile
Posted By: Jarvik7

Re: NES driver revamped... (bug reports here, please) - 02/14/14 06:25 AM

I can't think of a way to document them in a useful manner that fits into the existing framework.
Commenting them in the driver would be useful documentation, but it's legally ambiguous.

Being able to directly use scans of the cards would be the nicest, but there is no precedent and some image recognition coding would be needed.

Loading a tiny "rom" which just contains the barcode in binary or ascii would be the easiest I suppose. Binary would be the most useful as things like the Gameboy eReader are not really barcodes that directly translate to a simple string of decimal.
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 02/14/14 06:26 AM

Be a good time start saving those codes and pictures for later use. Copying right now. smile

If you get more please share.
Posted By: judge

Re: NES driver revamped... (bug reports here, please) - 02/14/14 07:06 AM

Perhaps we could store the card scans and barcodes in a software list somehow? It would be creative use of the softlist functionality though...
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/14/14 07:16 AM

well, you would basically need a new image device which accepts an image as input and it processes such image through one of the licence-compatible barcode decoder linked at the mameworld discussion ( http://www.mameworld.info/ubbthreads/showthreaded.php?&Number=321938 )

then we could update the barcode menu to accept both entering digits as it does now, and loading an image via file manager...

don't count on me though, I still have a dozen of challenging tasks to complete before looking into this
Posted By: Jarvik7

Re: NES driver revamped... (bug reports here, please) - 02/14/14 07:46 AM

Wouldn't putting codes in a softlist be equivalent to embedding roms in a softlist? Don't know how copywritable a sequence of 8-13 numbers is though...

In any case, eReader cards directly encode binary data, so having the data encoded by each card in a file (even if it's just EAN) makes sense if the framework would be applied to all barcode-like systems.
Posted By: Matty

Re: NES driver revamped... (bug reports here, please) - 02/14/14 08:00 AM

Wouldn't there be an MCU in the barcode reader doing the decoding? Ultimately that should be emulated and the dark/light pulses fed into it.
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 02/14/14 08:38 AM

This is the hard part. Making those to work. Just like the Nintendo eCards. Can't just print those out and then slap those onto MESS. There is a lot more to this. laugh
Posted By: Anna Wu

Re: NES driver revamped... (bug reports here, please) - 02/14/14 09:18 AM

Here are some links but not know they are useful or not.

http://www5d.biglobe.ne.jp/~bar/
http://barcodebattler.co.uk/scans/Japan/
http://www.yuko2ch.net/barcode/
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/14/14 09:22 AM

Originally Posted By Jarvik7
Wouldn't putting codes in a softlist be equivalent to embedding roms in a softlist?


we were talking about having .png files in a softlist wink
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 02/14/14 10:01 AM

I gotta see these work. laugh
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 02/14/14 01:09 PM

Back to topic: having the softlist reference png files of barcodes is no more (or less) legally interesting than having the softlist reference ROMs or floppy images or CHDs, so the rest of that discussion is stupid and pointless and has been expunged.
Posted By: Dagarman

Re: NES driver revamped... (bug reports here, please) - 02/17/14 04:06 AM

Barcode works, but <datach> and <-cart2> options did not. <datach> resulted in "Error: unknown error option: -cart" and <-cart2> resulted in FATALERROR.

However this did modify my nes.ini file:
cartridge nes:dtc_brsh:cart
nes_slot:datach:datach_slot datach_rom
cartridge2

Worked around this by loading a -cart (not the one I wanted to test) then used the internal UI to load the cart into the NES Datach Cartridge Slot (cart 2) from FILE MANAGER. NOTE: trying to load it from software list locked it up.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/17/14 04:45 AM

that's because there is no "-datach" option! wink
if you go back and re-read my post, you will see that you have to use
Code:
-cart datach

to mount the datach base unit in the NES. this enables the -cart2 option which is not present in a base NES/FC, so that you can add
Code:
-cart2 gamename

to the previous command to insert the datach minicart in the -cart2 cartslot

Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/17/14 08:26 AM

In the meanwhile, I have added basic input support for the Bandai Karaoke studio:
the two buttons physically on the microphone are now mapped to keys Z and X + the mic input itself (the system treats such input as a single bit, to my knowledge: 0 for no input, 1 if you're singing into it) is mapped to C

you can now select the game modes and the songs


also, I would say that the mic input through 'C' has some effect, given that the result of the audition depends on whether I press 'C' during the song (left) or I don't press anything (right)


as the commit says, I don't think we can count these among playable games, but at least they're not stuck at the title screen anymore

also, relying on a small hack borrowed from NEStopia, the expansion carts can be loaded too, resulting in different songs being available

vs

vs
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 02/17/14 12:24 PM

Nice progress!
Posted By: Dagarman

Re: NES driver revamped... (bug reports here, please) - 02/17/14 01:50 PM

Apologies for not knowing the terminology and posting too much info about my troubleshooting. What I entered was:

I:\MESS>mess64.exe nes -cart datach -cart2 dtc_dbz
or
I:\MESS>mess64.exe nes -cart datach -cart2 "I:\mess\roms\nes_datach\dtc_dbz.zip"

and the resulting error was:

Error: unknown option: -cart2

Barcode works and I thank you very much for your work, but I didn't think it work like you intended.

Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 02/17/14 03:22 PM

I don't see the progress with Castlevania III with most recent SVN...
Are the code being posted in SVN or for now is just a WIP?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/17/14 05:39 PM

Originally Posted By Dagarman
Apologies for not knowing the terminology and posting too much info about my troubleshooting. What I entered was:

I:\MESS>mess64.exe nes -cart datach -cart2 dtc_dbz
or
I:\MESS>mess64.exe nes -cart datach -cart2 "I:\mess\roms\nes_datach\dtc_dbz.zip"

and the resulting error was:

Error: unknown option: -cart2

Barcode works and I thank you very much for your work, but I didn't think it work like you intended.


it works here with both the command lines you entered, with the code in this morning svn. not sure what is wrong with your executable.
did you compile it by yourself or did you download it from some website?
you mentioned changing the ini files, could you test it without any mess.ini (just move it in a different folder and see what happens)

Originally Posted By Shideravan
I don't see the progress with Castlevania III with most recent SVN...
Are the code being posted in SVN or for now is just a WIP?


it's in svn and it works perfectly fine here with this morning source. what problems do you experience, exactly?
Posted By: Dagarman

Re: NES driver revamped... (bug reports here, please) - 02/17/14 06:30 PM

Originally Posted By etabeta78
it works here with both the command lines you entered, with the code in this morning svn. not sure what is wrong with your executable.
did you compile it by yourself or did you download it from some website?

Compiled it by myself with clean build yesterday (but I am new to it -- maybe that is the problem -- I will try it again after next official release). However, I can make it work and I can also successfully test your nice MMC5 work.

Originally Posted By etabeta78
you mentioned changing the ini files, could you test it without any mess.ini (just move it in a different folder and see what happens)

MESS created that ini file after I deleted the existing one. I was trying to communicate that ini system recognizes that the nes_slot and that cartridge2 was processed after my workaround solution, but (like now) I was probably saying more than I need to.


Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/17/14 07:03 PM

Originally Posted By Dagarman
Originally Posted By etabeta78
you mentioned changing the ini files, could you test it without any mess.ini (just move it in a different folder and see what happens)

MESS created that ini file after I deleted the existing one. I was trying to communicate that ini system recognizes that the nes_slot and that cartridge2 was processed after my workaround solution, but (like now) I was probably saying more than I need to.


I asked about the ini because some time ago we found out that the writeconfig option (which writes some settings to ini file) was not working properly in conjunction with slot options, so maybe a .ini conflict could have been the reason of your problems

short of that, I don't have many ideas about what could be going wrong at your end. I cannot reproduce the problem, sorry.
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 02/17/14 07:24 PM

Well, most recent SVN update:



Deleted the obj directory, then I did a clean build.

Then tested cvania3u in nes driver...

Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 02/17/14 08:41 PM

I just built current and cvania3u shows correct graphics. Are you sure you're running the newly built executable and not an older version in your $(PATH)?
Posted By: Shideravan

Re: NES driver revamped... (bug reports here, please) - 02/17/14 11:27 PM

Originally Posted By R. Belmont
I just built current and cvania3u shows correct graphics. Are you sure you're running the newly built executable and not an older version in your $(PATH)?


You're right...
Fixed the PATH problems...
Now it`s running very well with recent version!
Nice work, eta! smile
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 02/18/14 01:52 AM

That part is working on my end as well. But there is still a problem on the graphics. Very unstable anyway. For example going through a door causes it to mess up and then go back to normal after enter another room. Title movie screen isn't perfect at all. Understand not all of the Nintendo games aren't stable yet. smile

EDIT: Look like the game fixes itself after I load it up again. What just happen? The title screen still having issue but the rest went from unstable to normal. Was it the first loading issue? Or the nes.cfg need to be made then reload it will fixes the game play issue?

Edit 2: OK let me explain what is going on. On the title after you see the whip graphics issue. Start a game. You will see the graphics going into unstable. Before that bad graphics whip. The game play just fine.
Posted By: Matty

Re: NES driver revamped... (bug reports here, please) - 02/18/14 03:49 AM

So you're saying that if you start a game before you see any graphical issues on the title screen it plays OK, but if you wait to see the corruption on the title screen, the gameplay graphics will also be corrupted?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/18/14 05:13 AM

@Dullaron: If you had read my blog, I clearly stated that there are still some gfx glitches with MMC5... so you should have been warned wink
I've seen the glitches when passing through a door too, but they happen randomly (sometimes it does not break even if you wait until the whip gfx in the intro), and there are even worse ones, e.g. the one I had posted on my blog

you can see that the bg gets screwed for some flashing frames, then it goes back to normal.
however, I still call these "minor corruptions" rather than "instabilities" as you do, because they only happen on screen transitions, they get cleared up soon after and they don't make the game unplayable. If you find worse problems which make CV3 unplayable, please upload a save state right before the problem so that I can look into it.
otherwise, I'm much more worried by the problems in Bandit Kings of Ancient China and the freeze in Aoki Ookami to Shiroki Mejika Genchou Hishi than from the glitches you complain about, and therefore I'm trying to fix those first (with limited success so far)


to sum up, the problems you reported are just a combination between code still in progress, and the PPU still requiring a full rewrite to emulate this chip properly. there is a reason why I repeated ad nauseam that I have "hacked around a little bit the PPU limitations"
thus, if the current MMC5 emulation in MESS is not good enough for your needs, just keep using another emu for these games until you read in whatsnew that the NES PPU has been rewritten.
I'm happy enough that now CV3 is mostly playable, after ~5 years of frustrations...
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 02/18/14 05:29 AM

etabeta78 don't worry about it. I know there are glitches. I just flipping out on the habit changes on this game. Just worry about on what you are doing. You doing a good job on the fixes. smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 02/18/14 07:48 AM

I always appreciate when people test changes, I was just pointing out that when something is announced as having glitches, then bug reports about such glitches are redundant smile

it would be different if you find something screwed up to the point to be unplayable: in such a case I would like to have a save state to that point (I have had no time to get to the end of the game yet, but I will probably be able to test extensively only some of the paths to the end, because there are a few levels which annoy me a lot wink )
Posted By: zillion

Re: NES driver revamped... (bug reports here, please) - 03/12/14 05:20 PM

Earlier today, R.Belmont posted a link to NES accuracy test ROMs.

The tasvideos site tested MESS 0.146u2 which was release July 2012.

I ran the tests against MESS SVN -r 28466 (current as of this morning). Here are the results:

Results of MESS SVN -r 28466 on NES accuracy test ROMs

The results were mostly the same, though in some cases (like MMC5) there were improvements (like the ROM actually loading).


The link to the ROMs on that site 404s, so here is an updated link: NES test ROMs
Posted By: judge

Re: NES driver revamped... (bug reports here, please) - 03/12/14 05:57 PM

Interesting, one cpu test is now failing
Posted By: zillion

Re: NES driver revamped... (bug reports here, please) - 03/12/14 06:06 PM

Originally Posted By judge
Interesting, one cpu test is now failing


There are notes for that specific test (blargg_nes_cpu_test5/cpu.nes) on the tasvideos site:

Quote:
blargg_nes_cpu_test5 fails probably on powerpak because the test is wrong? the NES may differ from the standard 6502 undocumented opcodes for this failing instruction. Someone should investigate it.


If it's failing on a real NES using the PowerPak, it might not be a reliable test.
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 03/12/14 06:30 PM

Yeah, although if the test fails on the NES because it expects stock 6502 undocumented behavior and we aren't showing that now that's a real bug in m6502.
Posted By: judge

Re: NES driver revamped... (bug reports here, please) - 03/12/14 06:32 PM

I was referring to: instr_test-v3/rom_singles/02-immediate
Posted By: Haze

Re: NES driver revamped... (bug reports here, please) - 03/12/14 06:36 PM

Originally Posted By zillion
Earlier today, R.Belmont posted a link to NES accuracy test ROMs.

The tasvideos site tested MESS 0.146u2 which was release July 2012.

I ran the tests against MESS SVN -r 28466 (current as of this morning). Here are the results:

Results of MESS SVN -r 28466 on NES accuracy test ROMs

The results were mostly the same, though in some cases (like MMC5) there were improvements (like the ROM actually loading).


The link to the ROMs on that site 404s, so here is an updated link: NES test ROMs


Can I vote for putting these in the softlist if they're not already? The fact that they're already 404ing...
Posted By: ICEknight

Re: NES driver revamped... (bug reports here, please) - 03/12/14 07:16 PM

Many of those tests fail on real hardware, so... shouldn't MESS fail them as well?

Or has somebody actually tested that they work when burning a real ROM, rather than using a Power Pack?
Posted By: zillion

Re: NES driver revamped... (bug reports here, please) - 03/12/14 07:20 PM

Originally Posted By judge
I was referring to: instr_test-v3/rom_singles/02-immediate


Oh, good point! smile

To verify, I reran the test on current svn and it does fail.

I am checking out MESS 0.146u2 (svn -r 16699) and will rerun the test after it's finished checking out and compiling!

Edit:
Dangit. 0.146u2 might have been before MESS and MAME were in the same svn.

I was able to install an old precompiled binary from an ubuntu deb package for MESS 0.146u2.

I reran the test and it does pass.
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 03/12/14 07:28 PM

ICE: I don't think they've been tested without a Power Pack, but it would obviously be nice if someone did do that so we can be sure correct is correct.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 03/12/14 07:42 PM

I am eta's complete lack of surprise that our PPU timing is off in so many spots... try to play Back to the Future II wink

for the record, the really valuable tests can always be found at current blargg's page (to my knowledge all have been tested with a real NTSC unit)
http://blargg.8bitalley.com/parodius/nes-tests/

and there is a whole wiki backing up those and more
http://wiki.nesdev.com/w/index.php/Emulator_tests

no 404 risk is anywhere near
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 03/13/14 01:55 AM

Anyway, the new failure in the CPU tests is the undocumented instructions and hardware does pass those (all of Blargg's tests were developed on hardware).

I've fixed two of the failures easily, but ARR and ATX are being stubborn smile

ETA: All failures have been fixed, we pass the same as 0.146 did again.
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 03/13/14 06:19 AM

I miss the old Nintendo so much. I wish they never stop releasing the games and the machines. New kids today doesn't even know how Nintendo system even started from.

I still have mine. Plus still have the Nintendo 64 with the upgrade jumper pak, GameCube, Super Nintendo. All American machines and games that I have.

I have the Super Nintendo hook up. I'm thinking about getting the old Nintendo back out.
Posted By: Shoegazer

Re: NES driver revamped... (bug reports here, please) - 03/14/14 12:55 AM

I haven't personally tested this, but this might provide another interesting test with respect to the driver for certain NES models without the lockout chip. Has anyone tried it?
Posted By: Heretical_One

Re: NES driver revamped... (bug reports here, please) - 03/15/14 01:41 AM

The problems with the PPU, under the hood, aren't really anything terribly difficult to understand. First and foremost, the code currently is NOT capable of doing partial scanlines. The quick and dirty fix is simply to modify the update_scanline function to support it. That should fix some of the rendering issues, and at least reduce the timing glitches to a less drastic level.

The deeper problem is that the MMC3's IRQs are dependent on the PPU's timing-specific memory access behavior, and the timing for the IRQ is never going to be MORE precise than the rendering code's granularity. In effect, MMC3 games will have the fewest glitches when the PPU is actually run as a 5.38MHz device (NTSC), although pixel-by-pixel drawing has to be slow...

It's all doable, but only if you know the MAME interface side.

The APU is actually worse off (although it appears some portions of the code are working at the CPU clock speed, at least). Parts of the generation code are pegged to the output sample rate, and decoupling them isn't easy. It tends to break sound in general (or I just suck at sound). Also, the APU itself lacks the blending necessary to add the add-on sound devices for several games.

That's the situation as I understand it in brief.

There's some possibility that I might take a stab at things when I do my annual vacation time burn. Must use 2.5 weeks of vacation by mid-August, and have nowhere to go... (and another month+ of time I can use whenever), but I make no promises, and if I touch the APU, I'll probably break it anyway.
Posted By: AWJ

Re: NES driver revamped... (bug reports here, please) - 03/15/14 02:22 AM

The APU shouldn't have to be responsible for blending with external devices. That's the MAME core's job.
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 03/15/14 03:28 AM

H_O: I'll handle the APU, I have a pretty good idea how after doing VRC6, and I know all the MAME specific vagaries quite well.

Right now my only problem is the NESdev stuff doesn't give the LFSR formula for the noise channel.
Posted By: Octocontrabass

Re: NES driver revamped... (bug reports here, please) - 03/15/14 08:07 AM

Have you checked the wiki yet?
Posted By: Heretical_One

Re: NES driver revamped... (bug reports here, please) - 03/15/14 10:08 AM

I suspect blargg's summary is more what RB is looking for.
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 03/15/14 11:48 AM

I wonder blargg still around over there. I gonna check. smile

Been a while since I talk to him at the ZSNES forums.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 03/15/14 12:12 PM

he posts on nesdev boards from time to time
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 03/15/14 12:23 PM

Originally Posted By Heretical_One
I suspect blargg's summary is more what RB is looking for.


Yes, that's exactly it, thanks smile
Posted By: Lord Nightmare

Re: NES driver revamped... (bug reports here, please) - 03/16/14 03:13 AM

R.Belmont: don't forget that the "arcade r2a03" chips, the ceramic ones used in "VS. NES" machines, lack that 'short noise lfsr' completely, and always use the long one regardless of the selector bit (possibly due to a silicon bug, we're not sure and haven't yet decapped a ceramic one to see)

LN
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 03/16/14 03:16 AM

Yeah, I'm aware smile
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 05/02/14 10:45 AM

Silva Saga was programmed so lazily that a 0-filled SRAM was recognized as a saved state even if "invalid"

thus, in MESS pre-30185, starting the game for the first time would have given some pre-saved states in the initial menu, leading to an unplayable first stage



now, the softlist entry can specify a nonzero pre-formatted sram to be used at first load if necessary, so that the game can access the next menu when the game is first started

and then the game becomes playable



If I remember correctly, SNES and MD could benefit of this new capability too...
I remember that Ken Griffey Jr. for SNES needs SRAM to be 0xff filled for the internal menus to display line-ups and stats, and that Dini Dini for MD needs it too, but I'm not sure if there are other games relying on a different factory formatted SRAMs which would conflict with these.
Posted By: Just Desserts

Re: NES driver revamped... (bug reports here, please) - 05/03/14 09:01 AM

Makes sense. Certain kinds of ROM are 0xFF-filled by default when unprogrammed. smile
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 05/03/14 03:59 PM

Did Byuu did this to bsnes as well?
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 05/03/14 04:15 PM

for SNES he's using 0xff for SRAM filling (due to Ken Griffey Jr MLB relying on it)

for NES I have no idea, but if he uses 0x00 then higan shall have the same issue with Silva Saga as all emus which init sram to 0, because it is the correct behavior given the way the game is coded
Posted By: Dullaron

Re: NES driver revamped... (bug reports here, please) - 05/03/14 04:28 PM

I love seeing the games working correctly. That what I want as much you guys do. smile
Posted By: tjcbs

Re: NES driver revamped... (bug reports here, please) - 06/13/14 06:36 AM

Some issues:
Enforce 8 sprite limit being off is not respected.
The palette seems too washed out.
Blaster master has major slowdowns, as well as graphical glitches.

Why is it that the tiles bordering the screen are always a problem for NES emulators?

Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 06/13/14 12:06 PM

Because TVs overscanned such that you never saw those tiles, and so it was considered acceptable to have them glitch in the service of getting reasonable effects out of a 1982 GPU design. If you play a hardware NES on e.g. a 1084S adjusted so you can see the full raster you'll see the same identical glitches on the borders.
Posted By: Justin

Re: NES driver revamped... (bug reports here, please) - 06/13/14 10:14 PM

If you go to Slider Options on the tab menu and adjust the screen stretch options you can make it look like it would on a television where the edges get cut off.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 01/26/15 04:52 PM

currently, I'm completing the last cosmetic touches to the conversion of NES inputs to use slot devices (the clean up of input remapping menus was partially motivated by this wink )

in addition to previously emulated controller, there are a bunch of new ones which will allow you all to play some more games in MESS:

* Party Tap controller (a set of 6 x 1button controllers to play a few quiz games by Yonezawa)

* Konami Hyper Shot controllers (a pair of 2 x 2buttons controllers) which are mandatory to play Hyper Olympics and Hyper Sports, because the game code reads the joypad inputs, but then it ignores them to only acknowledge Hyper Shot inputs


* Epoch Barcode Battler, only emulated as FC controller and not as a standalone unit (and thus slightly hacky), but still enough to make Barcode World playable at last


also, the modern implementation gives some chances to real emulation of the Miracle Piano keyboard (when Arbee finds some time and motivation)

the only downside I see compared to previous code is that changing controller now requires you to reset emulation, and cannot be made on the fly. this is unavoidable unfortunately, but I think that the new opportunities are enough to compensate for this smile
Posted By: Haze

Re: NES driver revamped... (bug reports here, please) - 01/26/15 06:26 PM

having to reset in order to change controllers is not something that should be 'unavoidable'

it's a very significant issue, and basically the main case of where you really need / want to be able to plug / unplug on the fly (there are many hundreds of games across the 16-bit and 8-bit computer libraries that require you to do exactly that)
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 01/26/15 07:14 PM

At The moment slot devices require a reset And there in nothing I can do about It.

Also I cannot remember a single title in the whole nes or sms library which requires you to plug a controller on the fly. Which title do you have in mind?
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 01/26/15 07:31 PM

The (S)NES didn't have hotpluggable controllers, however, (it works fairly often in simple cases, but swapping in a multitap might crash some games) and you could fry the motherboard doing it on an Apple II.

And I've be curious to hear about any games on anything that flat-out required hotswapping a controller. I know of zero.
Posted By: Haze

Re: NES driver revamped... (bug reports here, please) - 01/26/15 07:39 PM

I was talking about the controller slot system in general.

The Amiga for example, there are many games that require you to use a mouse to navigate the menus, then swap it for a 2nd joystick if you want to play 2 player. This is especially true of games that boot to workbench, where you must load the game first via the mouse, then change the controller, so pretty much everything on a HDD based system with the games HDD installed.

Then you have the famous case on the PSX (Metal Gear Solid)

I read your post as somehow trying to say that it was an acceptable cost of having slot based controllers, that it was completely unavoidable and cannot be changed, ever. If that's the case, and you honestly believe it will always be the case then the system is fundamentally flawed.
Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 01/26/15 07:45 PM

The system *is* fundamentally flawed, welcome to OG and smf's statements about it from 4 years ago smile

But nobody's got anything better yet. (smf claims occasionally to have something, but it hasn't surfaced).
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 01/26/15 09:12 PM

yeah, the fact that some of the devices is capable to add CPUs or further subslots makes quite hard to handle any hot-swap reliable...

either we differentiate slot devices between the ones which need reset and the one which don't, or we make save states more modular and we force (possibly under the hoods) the emulator to save a state, switch controller, reset emulation and reload all but controller variables when the user switches input device
Posted By: Haze

Re: NES driver revamped... (bug reports here, please) - 01/26/15 11:11 PM

the *only* option is to improve how we handle save states.

remember, in the future, when everything is a device, and you can add / remove device hierarchies at any given times (including whole machines) then controllers with CPUs won't be something magical or special.

we need a vision that handles that, not kludges for specific cases.

in the end the state would include the current machine configuration, and devices that exist in the current 'world / scene' (which could include unplugged devices as long as they're added to the 'world / scene' and available for plugging in) no magic needed.


Posted By: R. Belmont

Re: NES driver revamped... (bug reports here, please) - 01/27/15 01:20 AM

Actually, you'd want to save state for all devices currently present, and then ignore the data for devices that aren't present when you re-load. That has the best chance of keeping save states working for debugging. (And not coincidentally, it's how many PC games that support user mods work for saving the game).
Posted By: abelenki

Re: NES driver revamped... (bug reports here, please) - 01/27/15 02:17 AM

Originally Posted By etabeta78
in addition to previously emulated controller, there are a bunch of new ones which will allow you all to play some more games in MESS:

etabeta78, thanks for adding non-standard controllers. it would be interesting to check out those games.
Posted By: etabeta78

Re: NES driver revamped... (bug reports here, please) - 01/27/15 06:27 AM

Originally Posted By Haze
remember, in the future, when everything is a device, and you can add / remove device hierarchies at any given times (including whole machines) then controllers with CPUs won't be something magical or special.


they don't need to be *special*, but they need a whole lot of stuff to be added / initialized / sync'd in addition to input devices that just adds buttons
which just makes more complex the addition at runtime. that's all my post meant to state

also, what we really need to have to avoid hacks is a concept of *buses* which are exposed by CPUs and other devices, but lives independently from them (e.g. by being attached to the main scheduler only), where you can connect the I/O pins of other devices.
In this way, for instance, the two controller ports of a console just expose two "buses" and you can connect a controller to any of them or to both (making possible correct emulation of A2600 Compumate and of the NES Four Scope, among the others)
Or again, the SNES CPU and PPU could be attached to the two ends of a common bus and read/write contention could be emulated with much less pain

We have something along these lines with the devcb handlers, but callbacks can only be defined in a 1-to-1 connection, and they don't always allow the precise sync'ing we would need in some cases.
Posted By: Olivier Galibert

Re: NES driver revamped... (bug reports here, please) - 01/27/15 07:44 AM

Originally Posted By R. Belmont
Actually, you'd want to save state for all devices currently present, and then ignore the data for devices that aren't present when you re-load. That has the best chance of keeping save states working for debugging. (And not coincidentally, it's how many PC games that support user mods work for saving the game).


Currently, state is not associated to devices, and worse post-load callbacks aren't either. I have a patch locally that adds the link, which shows that a lot of state is not registered associated to the device somehow. We'd have to clean that up hard.

OG.
Posted By: Darkstar

Re: NES driver revamped... (bug reports here, please) - 01/27/15 11:37 AM

Just my 2 cents:

There are 2 things to consider: devices (their state) and the connections between those. Both need to be serialized independently.

First emulation is halted. Then every device's state is saved, followed by all connections between devices.

On load, all devices are restored and then the connections are re-created.

This is the same way that serialization of object hierarchies is done in programming languages. It should handle all corner-cases correctly, including disconnected devices and partial restores, as long as
a) the simulation is properly halted during save/load (easy) and
b) every piece of state is actually saved in the corresponding device (and not somewhere else, or forgotten completely) and properly restored on load (no stale data anywhere)

It can be enhanced with version labels (to partially support cross-version save/load) and pre-save/post-load hooks (and/or pre-connect for the links between devices) if required

It's the re-creation of the inter-device-links that's probably the most difficult to do in a sensible way. That's why there are so many serialization frameworks for C++ for example (and not one that does everything right/perfect wink )
© 2019 Forums