Search found 129 matches

by Optiroc
Sun Jan 10, 2016 12:55 pm
Forum: SNESdev
Topic: DMA vs mvn/mvp
Replies: 7
Views: 4200

Re: DMA vs mvn/mvp

Ramsis wrote:
Optiroc wrote:That would be 8 master cycles per byte for DMA (ie. 1 cpu cycle at 2.68MHz), while mvn/mvp takes 7 cpu cycles per byte.
Thanks for NOT READING my post at all. :roll:
Sorry for clearing things up! :twisted:

Detailed info on timing: http://wiki.superfamicom.org/snes/show/Timing
by Optiroc
Sun Jan 10, 2016 11:52 am
Forum: SNESdev
Topic: DMA vs mvn/mvp
Replies: 7
Views: 4200

Re: DMA vs mvn/mvp

That would be 8 master cycles per byte for DMA (ie. 1 cpu cycle at 2.68MHz), while mvn/mvp takes 7 cpu cycles per byte.
by Optiroc
Sat Dec 26, 2015 3:16 am
Forum: SNESdev
Topic: SNES, where to start?
Replies: 71
Views: 18054

Re: SNES, where to start?

There's also bass, xkas, and asar, for those who want to be able to move the direct page around. Not the slightest impossible with ca65. Just use the z:-modifier and you're set. Here (in the SFX_INIT_mmio function) I do the canonical PPU initalization using direct page addressing with some helper m...
by Optiroc
Tue Dec 22, 2015 1:00 am
Forum: SNESdev
Topic: Way To Not Have To Use Export and Import In CA65?
Replies: 24
Views: 7627

Re: Way To Not Have To Use Export and Import In CA65?

I recommend you take a look at Undisbeliever's projects on github to learn how to structure a project using ca65 and Make.
by Optiroc
Tue Nov 10, 2015 1:39 am
Forum: SNESdev
Topic: Source code management using GitHub
Replies: 13
Views: 5128

Re: Source code management using GitHub

Instead of shying away completely by git – it can be a bit overwhelming at first – I suggest you try a basic local workflow first. Branches and remotes (ie. github) can come later. Make a copy of a local project directory and add it to a git UI client. SourceTree is a good pick, and it's not tied to...
by Optiroc
Wed Sep 16, 2015 8:08 am
Forum: SNESdev
Topic: .spc file loading paradox question
Replies: 9
Views: 3137

Re: .spc file loading paradox question

How is it possible to load both at the same time? By not loading both at the same time. What I do in my SPC loader is to divide the loading process into two stages: Stage 1: a routine is copied to the first page of SPC RAM, which will receive data going into the SPC RAM range $00f8..$ffff. Stage 2:...
by Optiroc
Wed Sep 16, 2015 1:24 am
Forum: SNESdev
Topic: .spc file loading paradox question
Replies: 9
Views: 3137

Re: .spc file loading paradox question

Blargg has that covered. The final stages of how the CPU state is transferred is really rather masterful... I can't find the original source right now, but I've adapted his code to my SNES framework here: https://github.com/Optiroc/libSFX/blob/master/libSFX/CPU/SMP.s (with some other relevant snippe...
by Optiroc
Mon Sep 07, 2015 12:02 pm
Forum: SNESdev
Topic: Where did spc700 samples come from in the first place?
Replies: 40
Views: 13104

Re: Where did spc700 samples come from in the first place?

I seem to remember that one of the Yamaha synths was patch-compatible with the YM2612 in the Genesis. Which was it? Because if someone sampled that synth in a Super NES game, then Genesis does nothing that Nintendon't. It was patch-compatible with the YM2414, used most famously in Yamaha TX81Z. Als...
by Optiroc
Fri Aug 14, 2015 3:47 am
Forum: SNESdev
Topic: How do you know if your code is structured well enough?
Replies: 55
Views: 11160

Re: How do you know if your code is structured well enough?

Personally I prefer being verbose with labels (as well as function names, properties and what-not in high level languages). I left short cryptic names behind when I left the C64 with Turbo Assembler (fitting the editor/assembler and the code produced on the same 64KB machine sounds like complete mad...
by Optiroc
Sun Aug 02, 2015 8:37 am
Forum: SNESdev
Topic: ca65 warning "Suspicious address expression" for direct page
Replies: 3
Views: 1799

Re: ca65 warning "Suspicious address expression" for direct

Seems to me that the "suspicious" warning should be implicitly silenced in 65816 mode. Maybe we could add a "dp:" address operator that forces one byte operand without complaints?
by Optiroc
Sun Jul 26, 2015 3:09 pm
Forum: SNESdev
Topic: How do you know if your code is structured well enough?
Replies: 55
Views: 11160

Re: How do you know if your code is structured well enough?

UnDisbeliever wrote:I personally have no problem with +/- labels and do use them with them with other processors. I'm not using them in my SNES projects because ca65 doesn't fully support them.
Out of curiousity: what do you miss from ca65's implementation of unnamed labels?
by Optiroc
Tue Jun 23, 2015 8:19 am
Forum: SNESdev
Topic: Flaw in Ben Heck's 16 console wars video.
Replies: 27
Views: 7685

Re: Flaw in Ben Heck's 16 console wars video.

I recently did an LZ4 decompressor for SNES, with a bit different goals than the brutaldeluxe version. Runs from ROM and no limits on source/destination alignment/banks. LZ4 has a very nice trade-off between complexity and speed (ie. as simple as it can possibly get!). I'll probably add another vers...
by Optiroc
Sat Jun 06, 2015 3:01 pm
Forum: SNESdev
Topic: Castle Platformer - completed - would like feedback
Replies: 34
Views: 9716

Re: Castle Platformer - completed - would like feedback

Just thinking though, has there ever really been a publicized 2D engine? There are plenty of 3D ones, like all the id ones that were just listed. The problem with 2D is that it's much easier to make from scratch (sometimes to the point of being outright trivial) so nobody bothers. 3D has a lot of a...
by Optiroc
Fri May 29, 2015 2:43 am
Forum: General Stuff
Topic: Subpixel movement of pixel art on modern platforms
Replies: 49
Views: 16909

Re: Subpixel movement of pixel art on modern platforms

Being a huge fan of Sega's "super scaler" tech (and similar) since it was invented, I've always been fond of games/hardware that defy the pixel grid and go crazy with its sprites and backgrounds. Hotline Miami was a perfect psychedelic loveletter to that aesthetic for me. But I agree that ...
by Optiroc
Thu May 28, 2015 11:04 am
Forum: SNESdev
Topic: "Animation engine" idea help.
Replies: 83
Views: 15735

Re: "Animation engine" idea help.

I guess what I could do is I load from the table full of table addresses indexed by x, transfer the accumulator to x, (that's the value of the address for the table, and I won't need x again) and then index $0000 in ram, so I'm reading what I just indexed, if that makes sense. ldx Whatever lda Tabl...