It is currently Wed Oct 18, 2017 11:43 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Wed May 17, 2017 2:50 am 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:06 am
Posts: 583
Location: Gothenburg/Sweden
The Wiki mentions this concerning $4016-writes (bit 2):
"In the DualSystem, connects to 1- /IRQ of the other CPU and 2- when high on the primary
specifies that 2KiB of RAM is mapped from $6000-$7FFF, else mapped for the secondary CPU"
What does this mean? :)

_________________
http://nes.goondocks.se/


Top
 Profile  
 
PostPosted: Wed May 17, 2017 8:11 am 
Offline
User avatar

Joined: Thu Jan 19, 2006 5:08 pm
Posts: 744
Location: Shelton, Washington.
oRBIT2002 wrote:
The Wiki mentions this concerning $4016-writes (bit 2):
"In the DualSystem, connects to 1- /IRQ of the other CPU and 2- when high on the primary
specifies that 2KiB of RAM is mapped from $6000-$7FFF, else mapped for the secondary CPU"
What does this mean? :)


BTW, This needs a bit more cleaner on the wiki, as to be less vague and easier to read!

_________________
AKA SmilyMZX/AtariHacker.


Top
 Profile  
 
PostPosted: Wed May 17, 2017 10:08 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
Please point out what specific points in that description confuse you?
Since I wrote most of this documentation, I am so familiar with it that I can't see what's unclear about it.


Top
 Profile  
 
PostPosted: Wed May 17, 2017 10:39 am 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:06 am
Posts: 583
Location: Gothenburg/Sweden
Mostly everything to be honest. Can I get it in a little more newbie kind of way? :)

_________________
http://nes.goondocks.se/


Top
 Profile  
 
PostPosted: Wed May 17, 2017 10:48 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
Saying "throw it all out and start from scratch" doesn't help me clarify anything. :|

Seriously, copy and paste the original text and interrupt it the moment you don't understand something or have a question about it. Don't allow yourself to read the whole sentence and just get to the end and only then go "I have no idea what I just read".


Top
 Profile  
 
PostPosted: Wed May 17, 2017 11:12 am 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:06 am
Posts: 583
Location: Gothenburg/Sweden
"In the DualSystem, connects to 1- /IRQ of the other CPU and 2- when high on the primary
specifies that 2KiB of RAM is mapped from $6000-$7FFF, else mapped for the secondary CPU"

"In the DualSystem, connects to 1- /IRQ of the other CPU and 2- when high on the primary"
What does this mean? 1-? 2-? High on the primary?
Is there some kind of "memory-sharing" going on between the two "devices/CPUs" using this bit?

How does this bit affects emulators? How should it be handled?

_________________
http://nes.goondocks.se/


Top
 Profile  
 
PostPosted: Wed May 17, 2017 12:24 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
Quote:
Quote:
"In the DualSystem, connects to 1- /IRQ of the other CPU and 2- when high on the primary"
What does this mean? 1-? 2-?
That's me trying to make a list.

Quote:
High on the primary?
Is there some kind of "memory-sharing" going on between the two "devices/CPUs" using this bit?
Exactly.

I've edited to make these clearer. Would you read the article again and see if it makes more sense to you now?

Quote:
How does this bit affects emulators? How should it be handled?
Almost no emulators support the DualSystem itself; as far as I know only MAME ?

For single-CPU games an emulator could probably just use the NES2.0 headers to say "2K of PRG RAM requested by header and Vs. System→/IRQ is always asserted and game can never CLI"


Top
 Profile  
 
PostPosted: Wed May 17, 2017 12:49 pm 
Offline
User avatar

Joined: Sun Mar 19, 2006 3:06 am
Posts: 583
Location: Gothenburg/Sweden
By your explanation (which is a bit better now btw, thanks), this shared RAM at $6000, it can only be accessed by one system at a time?
And by "asserts /IRQ on the other CPU", you mean it actually triggers an IRQ on the other CPU when writing to $4016 when bit 2 is 0?

_________________
http://nes.goondocks.se/


Top
 Profile  
 
PostPosted: Wed May 17, 2017 12:54 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6277
Location: Seattle
Only one of the two CPUs, yes. That's why they can communicate using OUT1 and /IRQ: so that they can agree when it's time to swap off access.

It's pretty clearly intended to be something like
* Master drives OUT1 high, puts stuff in RAM
* Master drives OUT1 low, slave enters IRQ handler
* Slave reads data from, and puts data into, RAM
* Slave drives its OUT1 low until master drives its OUT1 high.
* repeat


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: adam_smasher and 3 guests


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