![]() So I set X & Y as 16 bit values, while A was at 8 bit. I was doing some testing with the JML & JSL, very cool! I learned how to correctly set the desired address, and the bank number, and was able to return properly with the RTL, again that's so cool how that works! And also a first, I wanted to clear all of the $0000-$1FFF snes ram. ) Make your ROM 512KBytes (4mbits), even if you use way less space than that. You'll get publicly chastised by some emulator authors for doing so, usually authors who weren't around doing snesdev using copiers and floppy disks. If the assembler you're using forces you to make a file with an SMC header, then that file format is documented - just ask if/when you get there.Īlso, re: "goes from 0 to $FFFF": don't make a 64KByte ROM (or smaller like we used to do back in the day). sfc file extension and you should be fine. Stick to just the raw data and name your ROM with a. 512 byte header followed by the actual ROM). smc) for Super Magicom / Super Wild Card copiers, which is at the start of the file (i.e. Talking to the OP again: 93143 is talking about the 512-byte SMC header (for files ending in. The use of forced blank described above is a good example, because the NMI can't be moved except by switching overscan on and off. HDMA is better for a lot of things, but the IRQ can be very useful too. CGRAM can be addressed during VBlank, forced blank, or HBlank, and is (like most other PPU registers) a great target for HDMA.Īlso, the SNES has a raster IRQ that can be set to trigger at a horizontal position every line, at a vertical position every frame, or at a horizontal position on a particular line every frame. VRAM and OAM can be targeted with DMA at any point during VBlank (which is bigger than on NES, at least for NTSC, because the useless overscan has been trimmed and NMI fires after just 224 lines by default) or forced blank (which can be used to extend VBlank like in Star Fox, which can comfortably update its 224x192 4bpp framebuffer in three frames and could probably do it in two if it had to, or to create a black bar on the screen like in Mario Kart, which uploads OAM data in between the top and bottom halves of the display). As said, DMA is far more flexible on the SNES, and far more bandwidth is available, so this isn't as onerous as it would be on the NES. All graphics data needs to be transferred to the 64 KB VRAM (which the CPU can access only via a port, as it is not on the A bus) before it can be used. Where would I begin to put the header?ĭo snes games utilize chr-rom, or are the graphics embedded within the rom as chr-ram? So for example, let's say I have a snes rom file that's empty, starts at $0, and goes all the way to $FFFF. If I want to create a header, where I'm the rom does it start? I know it's near the end of the rom. Right now I'm using bsnes for trying out writing. I know in the nes, the region $FFFA-$FFFF contains the pointers to the NMI/RESET/IRQ, does the snes use the exact same region?Ĥ. Do snes games utilize chr-rom, or are the graphics embedded within the rom as chr-ram?ģ. ![]() Also, commercially, the sprite dma is in $200-$2FF of the nes ram, so, is the sprite dma for the snes also placed within the snes ram?Ģ. ![]() Is the snes ram really $0-$1FFF? I ask because, I know the NES ram is $0-$7FF. Just wanted to give that brief background on my coding/writing history.ġ. ![]() I know 6502, I've hacked many games which a lot of people know, and I've now written 2 games from scratch for the NES. But I have a few questions as to understanding how the RAM/ROM works. I'm now getting the desire to get serious with learning to write for the snes. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |