ok, I tried using the dma again, but I still cant get it to upload to vram for some reason. I thought I had it written correctly. I'm able to load 1000 bytes from $9000, I see it happen, but, it doesn't get transferred to vram's address $0000. Here is my code. Idk if im missing something, or have something incorrectly written. :-/
Code: Select all
00810c lda #$80 A:00ff X:00ff Y:0000 S:1fff D:0000 DB:00 nvMXdizC V: 2 H: 272
00810e sta $2115 [002115] A:0080 X:00ff Y:0000 S:1fff D:0000 DB:00 NvMXdizC V: 2 H: 296
008111 rep #$10 A:0080 X:00ff Y:0000 S:1fff D:0000 DB:00 NvMXdizC V: 2 H: 334
008113 ldx #$0000 A:0080 X:00ff Y:0000 S:1fff D:0000 DB:00 NvMxdizC V: 2 H: 364
008116 stx $2116 [002116] A:0080 X:0000 Y:0000 S:1fff D:0000 DB:00 nvMxdiZC V: 2 H: 396
008119 lda #$01 A:0080 X:0000 Y:0000 S:1fff D:0000 DB:00 nvMxdiZC V: 2 H: 440
00811b sta $4300 [004300] A:0001 X:0000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 464
00811e lda #$18 A:0001 X:0000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 502
008120 sta $4301 [004301] A:0018 X:0000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 526
008123 ldx #$9000 A:0018 X:0000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 604
008126 stx $4302 [004302] A:0018 X:9000 Y:0000 S:1fff D:0000 DB:00 NvMxdizC V: 2 H: 636
008129 lda #$00 A:0018 X:9000 Y:0000 S:1fff D:0000 DB:00 NvMxdizC V: 2 H: 680
00812b sta $4304 [004304] A:0000 X:9000 Y:0000 S:1fff D:0000 DB:00 nvMxdiZC V: 2 H: 704
00812e ldx #$1000 A:0000 X:9000 Y:0000 S:1fff D:0000 DB:00 nvMxdiZC V: 2 H: 742
008131 stx $4305 [004305] A:0000 X:1000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 774
008134 lda #$01 A:0000 X:1000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 818
008136 sta $420b [00420b] A:0001 X:1000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 842
008139 jmp $8139 [008139] A:0001 X:1000 Y:0000 S:1fff D:0000 DB:00 nvMxdizC V: 2 H: 880
The jmp is just an infinite loop. Thanks everyone!
EDIT
This is strange, if I have my infinite jmp loop point to the beginning of this routine, then I see my tiles appear in the vram. So do I need to have this consistently loading? I thought you just needed to write to the vram one time, to have the registers altered, am I missing something?
Also, I'm guessing I do not know how to properly insert NES gfx, into an SNES rom. I first tried opening my .sfc rom with YY-CHR, I then used the 2bpp codec, I then pasted my NES tiles then saved the rom. When I see the tiles load up into the vram window of bsnes, they look horrificly squished in 2bpp mode?
So what I did was, I reopened the rom within YY-CHR, set the rom to 4bpp codec, I then inserted the regular 2bpp nes tiles, into the 4bpp codec, I then saved. When I booted the rom and tiles were written to the vram, they appeared correct in size! But, in 2bpp mode, the tiles are not side by side, there is an (every other gap) between them, when I switch the vram viewer to 4bpp, the 2bpp tiles then appear side by side.
I know I'm still learning, but can anyone skim through this reply to see if my code has any issues, and answer my latest questions as to why I need to have the vram setup code consisntantly running, and, my issue with inserting gfx properly into an snes rom?
Thank you so much again everyone!