Search found 1371 matches

by 93143
Mon Dec 01, 2014 12:59 am
Forum: SNESdev
Topic: HDMA Sprite demo not working...
Replies: 26
Views: 8294

Re: HDMA Sprite demo not working...

That line is what forced blank looks like. You wouldn't have time to rearrange much of OAM during HBlank even if you did turn off rendering during it; a full OAM update takes more than three scanlines of pure DMA. And Mario Kart might have other things to do between the two screens besides the OAM ...
by 93143
Sun Nov 30, 2014 4:10 pm
Forum: SNESdev
Topic: HDMA Sprite demo not working...
Replies: 26
Views: 8294

Re: HDMA Sprite demo not working...

I suppose if this was causing trouble, you could re-enable the screen early at zero brightness (write $00 to $2100), and then bump it to full brightness ($0F) at the point where you actually wanted it turned on. After playing Super Mario Kart again, I actually noticed that there is a thin black lin...
by 93143
Sat Nov 29, 2014 11:50 pm
Forum: SNESdev
Topic: HDMA Sprite demo not working...
Replies: 26
Views: 8294

Re: HDMA Sprite demo not working...

LDA #$80 STA $2100 ; Turn the screen back on STZ $420C LDA #$00 STA $4310 ; CPU -> PPU, auto increment, write 1 reg, $2100 LDA #$00 STA $4311 LDY #ForceBlankTable STY $4312 ; source offset LDA #$00 STA $4314 ; bank address = $7E (work RAM) LDA #$02 STA $420C ;start HDMA transfer Later... ForceBlank...
by 93143
Sat Nov 29, 2014 8:53 pm
Forum: SNESdev
Topic: HDMA Sprite demo not working...
Replies: 26
Views: 8294

Re: HDMA Sprite demo not working...

It seem overly complicated and not really worth it. I suppose that would depend on what you managed to get it to do. The bullet hell form of this trick would be epic, but I'm not sure it's possible, and even if it is it might be prohibitively finicky... Also, what is force blank? does the screen ge...
by 93143
Sat Nov 29, 2014 6:17 pm
Forum: SNESdev
Topic: HDMA Sprite demo not working...
Replies: 26
Views: 8294

Re: HDMA Sprite demo not working...

It's not known to what extent you can modify OAM during HBlank, but it's very tricky at best; Uniracers is the only game that does it. But what you are saying is that you CAN at least modify sprites in some way using HDMA? And, If Uniracers DOES do it, why does it? Not even byuu knows that. All he ...
by 93143
Sat Nov 29, 2014 4:19 pm
Forum: SNESdev
Topic: HDMA Sprite demo not working...
Replies: 26
Views: 8294

Re: HDMA Sprite demo not working...

http://problemkaputt.de/fullsnes.htm#snestimingppumemoryaccesses So, aside from the 256 known/used dot-cycles, there may (or may not) be up to 84 unused dot-cycles... possibly allowing to change OAM during Hblank(?). http://problemkaputt.de/fullsnes.htm#snesmemoryoamaccessspriteattributes During ren...
by 93143
Thu Nov 27, 2014 9:15 pm
Forum: SNESdev
Topic: Assembler for Super FX?
Replies: 8
Views: 3533

Re: Assembler for Super FX?

I dabbled a bit in superfx programming last year, I wrote casfx due to the lack of assemblers, you can find it here along with some very messy sample code: https://github.com/ARM9/casfx Lately I started using bass instead of ca65, mostly because of its simplicity (I like one-shot assemblers). I add...
by 93143
Wed Nov 26, 2014 3:46 am
Forum: SNESdev
Topic: Assembler for Super FX?
Replies: 8
Views: 3533

Assembler for Super FX?

I've been using WLA DX for programming the 5A22, and I've had some success with simple mockups and such. The Super FX is not listed among the supported processors, but there seems to be some talk of a Super FX backend...? I've also heard of an extension to ca65 called casfx, and I'm probably not too...
by 93143
Mon Nov 17, 2014 3:13 pm
Forum: SNESdev
Topic: Force Blank timing issue - SNES vs. higan
Replies: 18
Views: 8312

Re: Force Blank timing issue - SNES vs. higan

Yeah, the original background image had a lot of colour depth. Rescaled to 256x216 at 15bpp, it still has a couple thousand colours. But it looks almost identical with 548 colours, whereas with 212 the decline in quality is more evident. So, HDMA. There are 44 colours reserved for sprites. The secon...
by 93143
Sun Nov 16, 2014 1:55 am
Forum: SNESdev
Topic: C/++ for the SNES
Replies: 48
Views: 21973

Re: C/++ for the SNES

In the absolute best case, you could execute at 1.342MIPS. ...well, or 1.79 MIPS in FastROM, as long as you never touch RAM... Also, I think immediate 8-bit loads only take two cycles. Unfortunately there are no store instructions that fast... Is it the whole instruction that slows down when slow m...
by 93143
Thu Nov 13, 2014 7:58 pm
Forum: SNESdev
Topic: Force Blank timing issue - SNES vs. higan
Replies: 18
Views: 8312

Re: Force Blank timing issue - SNES vs. higan

Well, I got it working. (Not just the VBlank thing; the whole code.) It's a mockup of the title screen and main menu for the shooter I'm going to try to port. VRAM and OAM are essentially full, all 8 HDMA channels are busy making the most of the CGRAM, both mask windows are in use, a good number of ...
by 93143
Sun Nov 09, 2014 4:20 pm
Forum: SNESdev
Topic: Force Blank timing issue - SNES vs. higan
Replies: 18
Views: 8312

Re: Force Blank timing issue - SNES vs. higan

I've already told you in the other thread that my dot-based renderer is still in the guess-work phase. Fair enough. It's going to be at least 6-18 months before I am able to work on higan again. I'm really that back logged. Don't let me pressure you. I've got enough going on myself (and am new enou...
by 93143
Sat Nov 08, 2014 7:59 pm
Forum: SNESdev
Topic: Force Blank timing issue - SNES vs. higan
Replies: 18
Views: 8312

Re: Force Blank timing issue - SNES vs. higan

Random thoughts (not fully understanding what's going on in the code there -- well, that is to say, I see what's going on but I don't see any register accesses hence not fully understanding): 1. Is there any general DMA going on at the same time or around the time of any of this? I ask because, wel...
by 93143
Sat Nov 08, 2014 5:14 pm
Forum: SNESdev
Topic: Force Blank timing issue - SNES vs. higan
Replies: 18
Views: 8312

Force Blank timing issue - SNES vs. higan

I've been using a single interrupt to extend VBlank. Once the stuff that needs doing is done, I poll the V-counter until it hits the scanline I want, and then poll the H-counter until it passes the dot I want. The idea is to turn on the screen in between when the last blank scanline finishes and whe...
by 93143
Tue Nov 04, 2014 3:04 am
Forum: SNESdev
Topic: Sprite windowing not working - RESOLVED
Replies: 9
Views: 3706

Re: Sprite windowing not working - RESOLVED

BWAHAHAHA!!.... How did I miss that? $1F is zero. $00 is 9Fh, because my rendering code left it that way. I guess what nocash is saying is that the windows "disable" their targets inside the designated area, and those bits let them. Thanks for pointing that out! I need the windows for othe...