Search found 27 matches
- Sat Nov 24, 2012 12:33 am
- Forum: NES Graphics
- Topic: C# woes
- Replies: 22
- Views: 10808
Re: C# woes
. If you draw all of your images to a tile sheet and use Graphics.DrawImage to draw your images, you cut way down on redundant housekeeping, but Graphics.DrawImage is designed with flexibility as a priority over speed. Surely you don't need optimized code that runs in 1ms instead of 5ms for an edit...
- Fri Nov 23, 2012 12:36 am
- Forum: NES Graphics
- Topic: C# woes
- Replies: 22
- Views: 10808
Re: C# woes
Note that rectangle copies aren't the slow part in anything what you're doing; SetPixel is the culprit as it checks the range of x and y every time and needs to compute the array index every time, too. Dwedit's code is a way to do it, although I prefer decoding individual tiles and storing them in a...
- Thu Nov 22, 2012 1:35 pm
- Forum: NES Graphics
- Topic: C# woes
- Replies: 22
- Views: 10808
Re: C# woes
How are you drawing the tiles? In my custom tool I can draw a whole screen of 240 16x16 metatiles many times per second without any slowdown at all, so it shouldn't take long to draw 50 metatiles. Have you tried profiling your code to find out where it's taking so long?
Re: NESICIDE
Just a heads up, I'm still using NESICIDE, cpow!
So far there really has been only one thing that keeps bothering me.
Is there an option to sort the file listing in the project viewer by name?
So far there really has been only one thing that keeps bothering me.
Is there an option to sort the file listing in the project viewer by name?
- Tue Aug 14, 2012 11:36 am
- Forum: SNESdev
- Topic: SPC700 help
- Replies: 35
- Views: 9797
Re: SPC700 help
mov $f2, #$5c ; \ mov $f3, #$ff ; | mov $f2, #$4c ; | mov $f3, #$00 ; | mov $f2, #$5c ; | mov $f3, #$00 ;/ You're introducing a race condition here. DSP register writes don't have an immediate effect, but are read at some specific time in a 64 cycle window. The value of KOFF is read only ONCE durin...
- Sun Aug 05, 2012 12:14 pm
- Forum: NESdev
- Topic: Calculate nametable address
- Replies: 5
- Views: 2201
Re: Calculate nametable address
EDIT: I think there is a small mistake: ; ------------------------------------------------------------------------ ; Step 4: Calculate attribute table address. ; ------------------------------------------------------------------------ ; attrLo = X/4 tax lsr A lsr A sta attrLo tax should be txa Abso...
- Sun Aug 05, 2012 9:53 am
- Forum: NESdev
- Topic: Calculate nametable address
- Replies: 5
- Views: 2201
Re: Calculate nametable address
I believe this is nearly optimal in terms of speed, with the exception of a 60 byte lookup-table, of course. By knowing that X in 0..31 and Y in 0..29, you can slightly optimize the equation to nametableAddr = $2000 | y*32 | x, as X only occupies the lowest 5 bits of nametableAddrLo. Therefore, you ...
- Mon Jul 30, 2012 4:54 pm
- Forum: SNESdev
- Topic: SPC700 help
- Replies: 35
- Views: 9797
A channel that has KOFF=1 (and does not play any sound yet) is effectively muted and will be put into release state immediately after it has been turned on; try clearing the KOFF bit for channel 0 before toggling KON. Furthermore, you don't need to write 1 to KOFF at all; writing $FF to KOFF once at...
- Sat Jul 28, 2012 1:31 am
- Forum: SNESdev
- Topic: Mode3 problem with my lib
- Replies: 2
- Views: 1177
- Sat Jul 28, 2012 12:39 am
- Forum: SNESdev
- Topic: SNES 256 direct color mode 3 ?
- Replies: 3
- Views: 2070
It's still a tile mode. You upload 8 bitplanes for each tile; this tile data (also called character data) contains the highest bits of red, green, blue components. Map data is uploaded as for all other tile modes with the exception that one bit of the 3 bit palette index is appended to each color co...
- Tue Jul 17, 2012 4:27 am
- Forum: SNESdev
- Topic: PVSnesLib for Snes 20th birthday :D !
- Replies: 24
- Views: 12634
It seems sprites disappearing on the left side is a bug in the library, at least judging from the documentation. oamSet takes x coordinates in range 0..255, but their actual range is -255..255. The most significant (sign) bit lies in the upper 32 bytes of OAM. (Note that -256 doesn't work correctly ...
- Mon Jun 27, 2011 4:29 am
- Forum: NESemdev
- Topic: NESICIDE V1.000 release
- Replies: 24
- Views: 13024
Hi, long time lurker here. Last weekend I finally decided to give NES development a try. Some first impressions: - You should display an error message at startup when the wrong CA65 version is detected. - Check for empty paths in the build process. It caused me quite some headache, since the object ...