It is currently Tue Apr 24, 2018 1:58 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 247 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17
Author Message
 Post subject: Re: Action 53 volume 3
PostPosted: Thu Mar 15, 2018 11:49 am 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 2063
Location: WhereverIparkIt, USA
lidnariq wrote:
infiniteneslives wrote:
That logic may not be as easily implemented on my 32 macrocell board if we step back down to 512KB PRG-ROM on future volumes
Surely all you need is one spare input, and the diode-resistor-capacitor detector externally?


Sure, but I don't have those external components and connections included in my current designs nor stock in blank boards. So that method of reset detect may not be an option.

_________________
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers


Top
 Profile  
 
 Post subject: Re: Action 53 volume 3
PostPosted: Thu Mar 15, 2018 1:41 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19948
Location: NE Indiana, USA (NTSC)
infiniteneslives wrote:
EDIT: With there being a significant amount of logic to spare on the CPLD, I'm wondering if it would be worthwhile to implement a hardware mapper register reset that detects reset condition on CPU A0 and/or M2 and resets all mapper registers.

That would break Waddles.


Top
 Profile  
 
 Post subject: Re: Action 53 volume 3
PostPosted: Thu Mar 15, 2018 5:56 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19948
Location: NE Indiana, USA (NTSC)
This is how it's supposed to play out. Do you have a simulator in your CPLD devkit? Can you feed in a sequence of $5000 and $8000 writes and monitor the output on A19-A14?

Player chooses Jupiter Scope 2
Alternate write $08 to $8531 and $FF to $FFFD until CHR RAM is filled
Code running from RAM
Write $19 to $83DA (outer PRG bank = Jupiter2 and Super Tilt Bro.)
Write $80 to $5000 (mode)
Write $8A to $8000 (mirroring=vertical, mode=UNROM180, outer size=32K)
Write $01 to $5000 (inner PRG bank)
Write $00 to $8000 (inner PRG bank = 0)
Write $81 to $5000 (outer PRG bank)
JMP ($FFFC)
Now running Jupiter Scope 2. A14 is high ($C000-$FFFF), but the output is 16K bank $32 because in UNROM180 mode, $C000-$FFFF is switchable
Play a while
Reset at $BFE0. A14 is low ($8000-$BFFF), and the output on A19-A14 should still be $32.
Write $01 to $5000 (inner PRG bank)
Now 16K bank $33 (Super Tilt Bro.) should be swapped into the top half.
Write $81 to $5000 (outer PRG bank)
JMP ($FFFC)
Now running Super Tilt Bro's exit patch. A14 is high, in 16K bank $33.
Write $81 to $5000 (outer PRG bank)
Write $FF to $8000 (outer PRG bank = $FF)
This changed the outer bank to that of the menu. A14 is high, in 16K bank $3F.
JMP ($FFFC)
Write $81 to $5000 (outer PRG bank)
Write $FF to $8000 (outer PRG bank = $FF)
Write $80 to $5000 (mode)
Write $02 to $8000 (mirroring=vertical, mode=BNROM, outer size=32K)
Now displaying Action 53 title screen

From here, the next steps are as follows:
  1. Paul tries 8 Mbit builds of Holy Mapperel and test28, which I've attached
  2. I make 4 Mbit and 8 Mbit ROMs similar to test28 that play this exact write sequence


Attachments:
mappertests.7z [9.98 KiB]
Downloaded 12 times
Top
 Profile  
 
 Post subject: Re: Action 53 volume 3
PostPosted: Fri Mar 16, 2018 3:42 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 2063
Location: WhereverIparkIt, USA
Thanks for this Tepples, I'll be home again tomorrow and this gives me some things to test out and report back.

_________________
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers


Top
 Profile  
 
 Post subject: Re: Action 53 volume 3
PostPosted: Tue Apr 10, 2018 8:11 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19948
Location: NE Indiana, USA (NTSC)
Did you get anywhere in the past few weeks, either running that write sequence through your simulator or running the 8 Mbit test ROMs?


Top
 Profile  
 
 Post subject: Re: Action 53 volume 3
PostPosted: Fri Apr 13, 2018 5:21 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 2063
Location: WhereverIparkIt, USA
So I tested the gift message action53 rom on a number of different consoles and found that the problem only exists on the original NES.

Two different NTSC front loaders, and a PAL front loader exhibited the issue.

RetroUSB AVS, Hyperkin FCmobile2, & RetroDuo portable all worked fine after reset.

Testing the mapper28 test I assume that I can effectively test the reset condition multiple times repeatedly very quickly by simply pressing reset over and over again? The rom seems to report the status of the most recent reset.

I found that the reset test always seemed to pass with AVS & FCmobile. With the retroduo it usually passed, if I hit reset enough times eventually it would fail and then get stuck in that condition failling forever afterwards.

With the original NES the reset test passes about half the time. Interestingly if I keep pressing reset it will go back to passing condition sometimes. It'll toggle between pass/fail over and over again never getting stuck in one state. But it's not like it toggles each reset. It fails a few times, then passes a few times in streaks of 1-5 tests or so..

Don't think it matters much as it's not a problem with the action53 rom, but the power up test fails sometimes. With the FCmobile it's the worst, sometimes I have to power cycle it quickly to get it to pass power up. The AVS failed the first power up test, but then passed every time afterwards. Retroduo seems to always pass. The NES typically passes, but if the power wasn't left off for long enough it'll fail typically. I'm guessing this is all due to startup sequence of the CPLD and whether or not it fully shuts down. Either way power up isn't an issue with the current action53 build.

So with all this my conclusion is that it's probably not a software issue. I was starting to doubt that anyway considering when I first found the issue it didn't fail 100% of the time. My best guess is the execution of the 6502 through a reset on the original NES isn't that 'clean'. Maybe if the CPU is in a write cycle during reset, it gets erroneously decoded as a write to the mapper register and corrupts the mapper state. Still doesn't explain why I've only seen the issue with certain games within a53, but none of this is consistent anyway..

I've got some ideas of how I might be able to filter things from the CPLD that I'm going to give a try over the weekend. I'm considering doing things such as fully decoding the CPU address for writes to the $5000 register. Or maybe block register writes if CPU A0 and/or M2 isn't toggling regularly. I seemed to have some issues with my flash write allow register getting corrupted when flashing the cart as well. Now that I'm writing this, perhaps it's all related to the same problem. So I'm also thinking I'll just go through my verilog to see if there's anything I can find that stands out as a potential issue or I want to rewrite the whole thing. It was forever ago when I wrote that and wasn't as experienced as now..

In the end I don't feel this is a big enough of issue to delay the release further. If anyone disagrees and considers this bug more significant please chime in.

I've got time set aside to start builds after tax day next Tuesday, so whatever the state of things is at that point I'm planning to move forward at that point.

The biggest thing I need right now is the email list of contributors so I can blast everyone asking for their shipping address and desired cart form 60/72pin. I don't want to release the public sale until those have been shipped out to contributors. But I've got ~200 carts to assemble to keep me busy while we're hunting down contributor info. I'm doing what I can to push and get contributor carts out and the public release by the end of April.

_________________
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers


Top
 Profile  
 
 Post subject: Re: Action 53 volume 3
PostPosted: Fri Apr 13, 2018 6:25 pm 
Offline
Formerly WhatULive4
User avatar

Joined: Fri Oct 30, 2009 4:43 am
Posts: 359
infiniteneslives wrote:
The biggest thing I need right now is the email list of contributors so I can blast everyone asking for their shipping address and desired cart form 60/72pin. I don't want to release the public sale until those have been shipped out to contributors. But I've got ~200 carts to assemble to keep me busy while we're hunting down contributor info. I'm doing what I can to push and get contributor carts out and the public release by the end of April.


I'll get those to you tonight.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 247 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group