Search found 152 matches

by FinalZero
Sat Nov 26, 2011 2:43 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

In video, the vertical blanking interval (vblank) is a short time between one picture and the next. The CPU can write data to the PPU only during forced blanking (when the CPU has told the PPU to stop rendering and blank the screen) or during vblank. Battletoads works around the shorter NTSC vblank...
by FinalZero
Wed Nov 23, 2011 6:40 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

I'm using it in a tech demo whose source I plan to release in a few months if you can answer one question. Who's cuter: Hanson or Alvin and the Chipmunks? Um, I don't know who either of those are. NTFS is the file system used by Windows for fixed disks. You probably meant NTSC Ah, yes, I did. I had...
by FinalZero
Wed Nov 23, 2011 2:46 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Thanksgiving break is pretty much here, so I think that I'll dare to try to make a "hello world" program now (again). I understand bank-switching must better now. * * * In the mean time, a couple questions: 1) What NES games had well-done cutscenes? (The Ninja Gaiden games come to mind for...
by FinalZero
Wed Nov 16, 2011 7:14 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Some more questions: 1) What does one use interrupts for? (the BRK and RTI instructions) 2) How does one emulate the remainder/modulo function on the 6502? 3) As a corollary, how does one read a number, and print it off with a decimal base? 4) Related, how does one use the debugger in FCEUX? I mean,...
by FinalZero
Sun Oct 16, 2011 11:57 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

I dunno about others, but I just add a bunch of controller dependent and also engine states together. It's only the same if you don't press any buttons, but then you can't start the game so it works pretty well once you get into the game. If there's a better way please let me know. I made a topic b...
by FinalZero
Sun Oct 16, 2011 9:54 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

do some games that have multiple large amounts of data, like maps, opt to store it in switchable banks instead, swapping them in and out as needed? Soytainly. That's what banks are for. there are other platforms where ROM can be accessed faster than RAM That is strange. Is there a reason why? a mot...
by FinalZero
Sat Oct 08, 2011 8:23 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Many mappers have a "fixed bank", or a memory area to put segments that should always remain available, at $C000-$FFFF. On these mappers, no matter which bank is switched in, the last bank in the cartridge will always be present at $C000-$FFFF. Okay. Also, do some games that have multiple...
by FinalZero
Sat Oct 08, 2011 7:52 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Correct. But my link scripts tend to assign $300-$7FF as the memory area in which to put BSS because that way, $200-$2FF can hold the display list that gets copied to OAM every vblank. Okay. Correct. NES linker scripts generally provide the following segments: CODE: in ROM RODATA: in ROM DMC: in RO...
by FinalZero
Sat Oct 08, 2011 7:00 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

The main RAM in NES is 2KB and it's at $000-$7FF. The zeropage is $00-$FF, the stack is $100-$1FF, so $200-$7FF is for variables, right? DATA is initialized data, the initialization values are written to the ROM, and should be copied to RAM by code at reset time. So, RODATA is only stored in ROM, n...
by FinalZero
Sat Oct 08, 2011 6:14 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

BSS segments are usually used for variables. They are in the RAM, and they aren't initialized to any value, so they don't have to be stored in the ROM/the output file. Where exactly is the RAM then? and how large is it? Why aren't data and rodata segments put in RAM too? They're variables also. In ...
by FinalZero
Sat Oct 08, 2011 5:36 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

I was reading http://www.cc65.org/doc/ld65-5.html#ss5.1 , and I'm confused. It says: So, because we specified that the segment with the name BSS is of type bss, the linker knows that this is uninitialized data, and will not write it to an output file. Umm, how does it do anything if it isn't written...
by FinalZero
Thu Oct 06, 2011 6:30 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Bank, or page, is a piece of large ROM/RAM that could be switched (mapped) into a part of the CPU address space that is sometimes called 'window'.
Ah, okay. Thank you.
by FinalZero
Thu Oct 06, 2011 10:56 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Also, since I had asked about extended buttons (XYLR) before, is there any way for an NES to use the rumble feature of a gamepad?
by FinalZero
Wed Oct 05, 2011 2:17 am
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Yes. The common NROM setup has one ROM memory area at $C000-$FFFF or $8000-$FFFF, and the CODE, RODATA, VECTORS, and optional DMC segments all feed into it. Okay so a "memory area" is really just another word for a "bank", right? What is a bank? Is it the area that an overlay is...
by FinalZero
Mon Oct 03, 2011 10:51 pm
Forum: Newbie Help Center
Topic: Hello World
Replies: 267
Views: 61218

Thank you for the example. I was looking at your linker file (nes.ini), and I'm confused. What happens when multiple segments are put into the same "memory" part? Are they just stacked together so where one ends, the next begins? What happens when multiple "memory" parts have the...