Q) Is the SNES really that much difficult to program compared to the NES?
A) For games that look like NES games with more colors, not really. The 65816 is backwards compatible with the 6502, so most ASM code can be used for both systems. Sprites and tiles work almost the same way, you just need to upload the CHR data to VRAM at startup for any graphics to be displayed, and write to PPU regs to define the VRAM addresses of the sprite pattern table, BG pattern table, and BG map table. The SPC700 APU is the only thing that would be difficult for an NES programmer to use but an NES APU could easily be emulated. Now if you want a 32meg game that really takes advantage of the SNES PPU, it takes a lot more effort than a simpler NES-style game.
Q) Do I need to put in a lot of effort optimizing code in order to have it run efficiently.
A) No. As long as your code has efficient structure to begin with, you don't need to put in much effort optimizing code.
Q) Can anyone give me an ask code that just puts a sprite onscreen?
A) Depends on what exactly you mean. If you want a demo that displays a sprite onscreen, and nothing else, then yes, it is possible for there to be one big chunk of code to do the job. If you are also doing other things like scrolling a background, then no. It takes several routines, that have to be done separately. You need a routine to upload the sprite pattern table and color palette to be executed at start up, a routine to update the oam to be executed during vblank, and a routine that puts the sprite on the oam buffer, that can be executed many times during active display. You'd also need a routine that places all the unused sprites off screen, and processes the extra 32 bytes of "hioam" at the end of the main loop.
I am busy so I'll finish this OP later.
Edited: 11/21/2013
at 01:20 AM
by Aaendi