Search found 1371 matches
- 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 ...
- 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...
- 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...
- 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...
- 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 ...
- 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...
- 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...
- 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...
- 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...
- 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...
- 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 ...
- 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...
- 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...
- 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...
- 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...