dougeff wrote:
Quote:
I don't know what I need to know and what order to learn about it in. I need some sort of starting place that I could work myself up from there.
tepples has an example code on his website.
https://pineight.com/snes/And baz's tutorials on the superfamicom wiki.
I also recommend ca65. The .SMART feature alone is worth it. It keeps track of REP and SEP instructions and sets the assembler accordingly.
I'll definitely check out tepples's template. Seems like just the snes.inc alone is amazingly helpful.
Also is there any difficulty difference between coding for HiROM or LoROM?
TmEE wrote:
I suppose PPU access comes first, then you can configure the registers to a state that allows things to become visible. You'll have to load in a palette so you can see anything at all, then load some tiles to VRAM and then write to tilemap area in VRAM to show some of the GFX on the screen. You can use an emulator with debugging functions to see that you're doing things right, no$sns seems to be pretty easy to get going with on that regard. you'll see register states, what's in the palettes, VRAM and sprite list.
I've taken a liking to bsnes-plus, so I'm probably going to use that (in addition to real hardware with an SD2SNES). If it gives me trouble, I'll keep nocash's emulator in mind.
HihiDanni wrote:
My personal recommendation is to first start out by learning 65816 assembly. Play around with basic operations and store results of arithmetic in RAM, then look to see if it's the value you expected. Use a debugging emulator like bsnes-plus. Having a memory viewer is going to be very useful because you'll be able to learn the language, experiment, and fix bugs without having to display stuff on-screen. Breakpoints and debugger step-thru are also great to have because you can see step by step what your code is doing. Just remember to turn on auto-refresh in the memory viewer so you can see any changes in RAM.
I'll try writing some functions using tepples's template as a base and see what the results are. Experimenting with existing things tends to be the way I learn best, although I will eventually want to learn how to do everything from scratch, but baby steps I suppose..