Search found 152 matches

by FinalZero
Wed Jan 12, 2011 6:34 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

So, does anyone know why my linker code fails? If it's for some simple, stupid reason, please just yell at me and tell me why...
by FinalZero
Fri Jan 07, 2011 8:29 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

It acts like a C compiler because it's bundled with one Oh, I see; cc65 uses that linker, so they hooked ca65 into it also. Let me tell you part of why I don't bite newbies: I want to help demonstrate the legality of NES emulators. To be legal under US law, a copying technology has to have a substa...
by FinalZero
Mon Jan 03, 2011 10:31 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

ca65 delegates placement of code in the binary image to the linker. So then, does .org do anything at all in ca65 asm? If you try to add more data than what the link script supports, you will get a linker error. Ok. If you want more detail beyond what tokumaru explained, look at one of the few publ...
by FinalZero
Sun Jan 02, 2011 2:09 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

More than what the mapper supports? I'm sure you can assemble very large ROMs, and some emulators will even run them without problems, but you will not be able to put them on real carts. Yeah, that's what I meant. I think it's because most operations on the MMC3 are performed with two register writ...
by FinalZero
Sun Jan 02, 2011 12:36 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

I bet most dumpers would just guess the mirroring when filling in iNES headers until the games worked, and no matter what they guessed, games with mapper-controlled mirroring would always work. But even if anyone cared about this, lots of games change the mirroring type at different times, and it w...
by FinalZero
Sat Jan 01, 2011 7:35 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

The mirroring settings in the iNES header are meant for games with hardwired mirroring, and are meaningless in games that have mapper-controlled mirroring. Games that use mappers like MMC1 or MMC3 can change the type of mirroring at any time. Oh, ok. That still begs to ask why they didn't match the...
by FinalZero
Sat Jan 01, 2011 6:52 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

You wouldn't get a valid iNES header. Ok. Give me some time to figure out the linker... Usually your link script template will specify how much PRG ROM it'll create. For example, an NROM-128 template will always make 16400 bytes (16 bytes of header and 16384 bytes of PRG ROM), an NROM-256 or CNROM ...
by FinalZero
Wed Dec 29, 2010 6:35 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

(I forget the user/pass that you'll need. If you want it, ask and I'll go dig it up).
Could you please?
by FinalZero
Wed Dec 29, 2010 5:33 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

The difference I can see between .proc and .scope is that .proc defines a label in the outer scope for the start. I understand now. Well, since the hello world example given earlier doesn't work, I've begun to look elsewhere. The following is from lj65's source. .segment "INESHDR" .byt &q...
by FinalZero
Mon Dec 27, 2010 5:00 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

I was able to infer from the context what you meant. I've already implemented such a thing in nbasic. There was an example that showed me how. // Handles input from the first controller. HandleInput: // Updates the first gamepad. gosub UpdateGamepad1 // gosub UpdateGamepad2 // A Button if C1_A = 0 s...
by FinalZero
Mon Dec 27, 2010 4:38 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

lda joypad1_orig sta joypad1_prev ; Used for calculating 'one-shot' button mode. lda joypad2_orig sta joypad2_prev Are these defined somewhere earlier? Edit: Nevermind. Serves me right for not refreshing the page before posting...
by FinalZero
Mon Dec 27, 2010 4:10 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

PPUSCROLL ($2005) is a port on the PPU. Is there documentation that describes all those special things at addresses like that? nesdevwiki: PPU registers Have fun. Also, while we're on the topic of character maps, how would something like Dual Tile Encoding be implemented? Wikipedia explains . Also,...
by FinalZero
Mon Dec 27, 2010 3:24 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

God I hate that assembler. I seriously don't understand why people bother with it. What assembler do you use? There's already a relevant thread pertaining to assembler debates and choices. I personally tend to stick to asm6 and x816, as their syntax and overall style mimic what I'm used to (ORCA/M ...
by FinalZero
Mon Dec 27, 2010 2:36 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

God I hate that assembler. I seriously don't understand why people bother with it. What assembler do you use? There's no "universal standard" for this. It's important to understand that assembler syntaxes vary greatly depending on the assembler, and it's your responsibility to learn/read ...
by FinalZero
Mon Dec 27, 2010 12:36 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

ca65 uses .byt instead. or .byte, apparently. So, I changed those and another to .word, and... it assembled! But it doesn't run on FCEU. =/ .include "somesourcefile.s" .incbin "somebinaryfile.chr" Simple enough. # means the following value is a number to put directly into A, not...