Search found 311 matches

by Petruza
Mon May 03, 2010 2:47 pm
Forum: NESemdev
Topic: CPU-Only testing ROMs. I.E. no video or sound output
Replies: 18
Views: 5330

Well, if it's gonna be a manual test, I can as well just use the debugger to look at memory and registers before and after the instruction.
by Petruza
Mon May 03, 2010 11:03 am
Forum: NESemdev
Topic: illegal opcodes on 6502 nes version
Replies: 37
Views: 22498

DLN maybe? "Dummy Load No operation"
by Petruza
Mon May 03, 2010 10:58 am
Forum: NESemdev
Topic: CPU-Only testing ROMs. I.E. no video or sound output
Replies: 18
Views: 5330

CPU-Only testing ROMs. I.E. no video or sound output

As I've finished the addressing modes and instruction execution, the CPU core, I want to test it before I go on to PPU and APU, so when I get errors there, at least I know they're not dragged from a faulty CPU emulation. I've searched for test ROMs in the forum and in the main site, but all I found ...
by Petruza
Sun May 02, 2010 7:32 am
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

The question is, the assemblers used to build NES commercial games in the 80s would add an extra byte for BRK mnemonics? Or did programmers have to do something like: BRK .byte 00 (or) BRK NOP It's very unlikely, but what if some programmer forgot to pad the BRK (and didn't do anything to correct th...
by Petruza
Sun May 02, 2010 6:43 am
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

Ok, color me uneducated, but why is there an extra byte after BRK? As in, why is BRK a two-byte opcode, where the parameter it takes has no apparent use? This is pure speculation, but as you know the 6502 does dummy memory reads, and writes, and some illegal opcodes like 2-byte NOPs do memory addre...
by Petruza
Sun May 02, 2010 6:33 am
Forum: NESemdev
Topic: illegal opcodes on 6502 nes version
Replies: 37
Views: 22498

Ok got it. So an apparently innocent unofficial NOP could be triggering a read on a memory-mapped register. Ok, anyway, for now I'll just let unofficial/undocumented/illegal opcodes fall to a default: case and trap them with a debug message. When the cpu core is decently tested, if I find ROMs that ...
by Petruza
Sat May 01, 2010 7:21 pm
Forum: NESemdev
Topic: illegal opcodes on 6502 nes version
Replies: 37
Views: 22498

Many (all?) of the two- and three-byte NOPs do this. Sorry, is this an answer to my post? When I wrote the post I though WedNESday was saying that ADC Absolute, X ($7D) didn't do any kind of addition. Now I'm suspecting that what he really meant was that an unofficial NOP read from memory, like ADC...
by Petruza
Sat May 01, 2010 4:45 pm
Forum: Newbie Help Center
Topic: emulator's main loop
Replies: 26
Views: 8059

The one memory zone you can safely access without handler functions, is the zero page. At least, in my emu, I allocate RAM[0x800] to hold the RAM, so using the absolute address in the 6502 address space as the index to the RAM[] array will result in accessing the same byte. If you have a separate co...
by Petruza
Sat May 01, 2010 3:50 pm
Forum: NESemdev
Topic: illegal opcodes on 6502 nes version
Replies: 37
Views: 22498

There are some illegal opcodes that actually go as far as reading from a memory location like ADC Absolute, X ($7D), but without actually doing any kind of addition or whatever. WHAT?! Really? damn. Is this NES-specific or general to the 6502? Why it doesn't say anything on most docs about it? PS: ...
by Petruza
Sat May 01, 2010 3:15 pm
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

tepples wrote:It appears you've never worked with the unofficial instructions such as the two-byte NOPs. You'll need a few unofficial instructions to get Puzznic and Lolo 3 to run.
Damn, thanks. Do you have a doc about that to point me to?
by Petruza
Sat May 01, 2010 1:22 pm
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

Well, it is my responsibillity to get good documentation, so any help would be appreciated. So far I'm using http://www.obelisk.demon.co.uk/6502/ , "6502 Microprocessor Revision 1.02 by _Bnu." which I think I got from nesdev, but can't find the link, and the Commodore 64 Programmer's refer...
by Petruza
Sat May 01, 2010 1:14 pm
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

I don't understand why so many people have trouble understanding BRK and what the operand byte is for Maybe it's because $00 is the single opcode that causes the 6502 to completely ignore a prefectly good byte of executable code, which doesn't seem logical, and the fact that, at least the documenta...
by Petruza
Sat May 01, 2010 11:38 am
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

Well yes, the docs and emu sources I read, implied this byte skipping, but none of them explicitly stated that BRK's following byte was skipped and why.
I suspected it was some kind of error or that I wasn't understanding it.
by Petruza
Sat May 01, 2010 11:07 am
Forum: NESemdev
Topic: is RTI used to return from BRK? wrong return address?
Replies: 21
Views: 9198

is RTI used to return from BRK? wrong return address?

is RTI used to return from BRK? Because BRK pushes PC pointing to the 2nd byte of the instruction following the BRK. And RTI pulls the PC without changing it. So if RTI is used to return from a BRK call, then the immediately following byte after the BRK instruction would be ignored. I guess I'm eith...
by Petruza
Sat May 01, 2010 10:11 am
Forum: General Stuff
Topic: Translation help for non-English speakers
Replies: 2
Views: 1787

Translation help for non-English speakers

I've seen some posts from people with a really lousy english which can't get any help because their requests are not understood. My first language is Spanish, so I'd be glad to help spanish speakers by at least translating their requests so other more experienced NES devvers could answer them. There...