I think I understand this, but want to be sure I know exactly what's happening with a hardwired NOP test.
Tell me if this is right:
CPU comes on. I presume the first thing it does is look in a specific address for directions to first instruction. Since $EA is what it finds at this "address", it puts the instruction pointer at address location $EAEA. Thinking it's at this address, it executes the data it finds (NOP). It then advances the program counter, always finding a NOP instruction. It did this until it reaches the last address, after which I presume it starts over, this time at $0000.
Do I have that sequence correct?
Next, if I want to observe the addresses incrementing, can I hook the address bus directly to the GPIO pins of a microcontroller without some sort of buffer? I can't see why not. I'd like to use an Arduino to read the bus, and display the results in a serial terminal.
Can I hook the bus directly to the Arduinos GPIO pins? I figure since everything is CMOS, no real current gets sourced by the CPU, and all is safe. It's this correct?
Questions about NOP test.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Questions about NOP test.
Dan Moos wrote:
I think I understand this, but want to be sure I know exactly what's happening with a hardwired NOP test.
Tell me if this is right:
CPU comes on. I presume the first thing it does is look in a specific address for directions to first instruction. Since $EA is what it finds at this "address", it puts the instruction pointer at address location $EAEA. Thinking it's at this address, it executes the data it finds (NOP). It then advances the program counter, always finding a NOP instruction. It did this until it reaches the last address, after which I presume it starts over, this time at $0000.
Do I have that sequence correct?
Tell me if this is right:
CPU comes on. I presume the first thing it does is look in a specific address for directions to first instruction. Since $EA is what it finds at this "address", it puts the instruction pointer at address location $EAEA. Thinking it's at this address, it executes the data it finds (NOP). It then advances the program counter, always finding a NOP instruction. It did this until it reaches the last address, after which I presume it starts over, this time at $0000.
Do I have that sequence correct?
Quote:
Next, if I want to observe the addresses incrementing, can I hook the address bus directly to the GPIO pins of a microcontroller without some sort of buffer? I can't see why not. I'd like to use an Arduino to read the bus, and display the results in a serial terminal.
Can I hook the bus directly to the Arduinos GPIO pins? I figure since everything is CMOS, no real current gets sourced by the CPU, and all is safe. It's this correct?
Can I hook the bus directly to the Arduinos GPIO pins? I figure since everything is CMOS, no real current gets sourced by the CPU, and all is safe. It's this correct?
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: Questions about NOP test.
I would have the Arduino do a new line every advance. That way I'd get a list I could read by stopping the computer. I'd probably use a signal generator as my clock in this test, so I could arbitrarily select a slow speed.
Re: Questions about NOP test.
Dan Moos wrote:
I would have the Arduino do a new line every advance. That way I'd get a list I could read by stopping the computer. I'd probably use a signal generator as my clock in this test, so I could arbitrarily select a slow speed.
Good luck with your project.
Cheerful regards, Mike
- Attachments
-
- 6502 reset.png (8.08 KiB) Viewed 3113 times