akira^8GB wrote:
neilbaldwin wrote:

But then they do provide a comprehensive set of tools/API/library to aid fast development and also (rightly or wrongly, stories of failure aside) support/testing/approval process to get your software to market as quickly and smoothly as possible. To my imagination, I'd say this level of support would be almost impossible with a completely open development environment as instead of checking that you're using an Apple-supplied API correctly, they'd also have to scrutinise your API at a low-level and that multiplies the time and money input from Apple by a big number.

This is the exact same model that left independent developers out of publishing on any Nintendo platform. Devkit controlled by Nintendo, "Nintendo seal of aproval" bullshit and what not. I bet by now we all like "black market" dev kits right? smile

What if you spent a whole deal of time on your app and Apple doesn't approve it? You'll be pissed at the amount of time you wasted. Because many times, it's not about quality control, but content (like the C64 emulator that wasn't allowed to be distributed). I appreciate there's quality control and support from them, but not content filtering and control of distribution.

I'm just saying, I understand your point, but it shouldn't be that way AT ALL. The Apps store shouldn't exist.

In an ideal world, I take your point.

But Apple are the publisher and distributor (as well as gatekeeper) in the relationship with iPhone developers. Like I say, they demand in return for that service certain controls over the content of your applications (and a few of your hard-earned $$$) to protect the integrity of their business. OK, it's perhaps a little ham-fisted but it works for most, not for some.

Nintendo in the old days? Dude, console development is *STILL* like that on every platform to varying degrees. wink

akira^8GB wrote:
trash80 wrote:

The applications that I use on OSX fucking rule.

Same here, but guess what: developmet is OPEN in OS X smile That's the difference.

NO, Neil, I really don't want this, I rather buy other stuff big_smile

Heh big_smile

I agree with you there akira, it is a shame that development is not more open on this (and iPhone etc.)

But then they do provide a comprehensive set of tools/API/library to aid fast development and also (rightly or wrongly, stories of failure aside) support/testing/approval process to get your software to market as quickly and smoothly as possible. To my imagination, I'd say this level of support would be almost impossible with a completely open development environment as instead of checking that you're using an Apple-supplied API correctly, they'd also have to scrutinise your API at a low-level and that multiplies the time and money input from Apple by a big number.

It's this approach that gives them their business model for the iTunes Store. Think about it: there is no returns policy. To be able to get away with that Apple need a watertight approval system. They have to have a system where they can control and understand 100% what your application is doing. Otherwise they're opening themselves up to hidden problems with applications that could turn into a customer nightmare. Same reason that most applications (though that's changing) run in a sandbox. They can't have Apple-approved applications mingling with "rogue" software or it could destroy the kind of customer confidence that has made the iTunes Store the success it has been.

I'm not saying they're right or wrong but that's one aspect where I understand their approach - it's very similar to console development.

Well, Intel chips should be used to flimsy surroundings by now, they've been installed in windows PCs for years!

Jesus people, lighten up a little eh? The irony of a bunch of people who make music on 20 year old retarded hardware (and I include myself in that group) arguing about the iPad...  big_smile

Oh, and akira clearly wants an iPad so bad it hurts.... wink

Me, I'm in the "this thing has massive potential" camp.

As a digital music player (it's like a massively more sexy Squeezebox), as a portable movie player, as a seriously fucking good touch screen controller, an eBook reader to rule them all.

It's the future. big_smile

arfink wrote:

No rush, but do you have a date in mind for releasing this?

Someone else asked and I said "before the end of February". I've got my to-do list right down at the moment, as far as coding is concerned. However, I have big chunks of the manual to rewrite (and plenty of new stuff to add) which does take time.

I also plan to launch it with it's own website, the graphics for which are being done by one of the stars of the pixel scene (some of you may already know but it's not been officially announced). He's also done me a logo/splash-screen for the ROM which is fucking ace! smile

I'm still confident that it will be before the end of February.

582

(52 replies, posted in General Discussion)

There used to be a festival in London in the late 80s/early 90s called "UK Electronica". Saw so many great/iconic electronica artists there. A couple that stood out that I don't think have been mentioned here are Ian Boddy and Mark Shreeve.

Just added blargg's click-free vibrato/sweep trick for the square voices.

(jazz voice) Smooooooth...... (/jazz voice)

big_smile

Ha ha ha big_smile

Fuckin' A!

bleo wrote:

Neil, you should call this Bunny Tracker.

Maybe my brain is fried but.....I don't get it?

smile

Oh shit, yeah! Something I forgot to mention in the previous update.

On the back of an idea I had, a good friend of mine has wrote an NTRQ data compressor. This is for finished songs so won't help with squeezing more out of the battery RAM while you're working (but I'm working on that too). My idea being that you can squeeze an NTRQ song bank (that's the 8kb battery file containing 8 songs) down pretty small. Then if you're making your own ROM/player, you could store loads of compressed NTRQ files in ROM and decompress them to battery RAM to play them - no need to worry about banks/data relocation because NTRQ expects the data to be in battery RAM.

From some tests, for example the Billy Jean tune I did a while back, the compressor gets that file down to about 1k. I've still got to translate the C decompressor to 6502 but it's a pretty simple algorithm (even I can understand it) so it shouldn't be too difficult.

Another update for y'all.

I think, finally, I've got the Song Arranger copy-n-paste functions working properly. It's been a horrible, horrible job: so many permutations of conditions had to be trapped and catered for because, and I know from all the testing I did before it was working correctly, it's one area where it is (was!) possible to really screw up your song file :S

More testing to be done though. It's a powerful feature but it also need to make you confident enough to use it.

See, copying and pasting in the Patterns was relatively straight-forward because the Patterns are a fixed and known quantity. Like having two egg boxes, one with 16 eggs in and the other with 16 empty holes: no matter what combination of eggs you take out of the first box you know they'll fit into the other one. However, the Song Length is not fixed (of course!) and so it gets a hell of a lot more complicated to paste data around.

The best feature is that you can either insert the marked block of song data somewhere else in your song (or another song) or you can paste over existing song steps. Makes fleshing out the framework of a song an absolute doddle now big_smile

Unfortunately the bad news is I have totally run out of ROM space in the bank where the editor sits. sad

Need a major reorganisation/optimisation session ASAP.

588

(1,620 replies, posted in General Discussion)

Prof,

Excuse my ignorance but there's something fruity going on with your NES there! Care to explain for the uninitiated, like me? smile

Beverage wrote:

Neil, a mere forum post cannot properly express my thanks and absolute amazement.  Thanks for the wonderful gift!  I cannot wait to see this get released, NTRQ is going to be outstanding.

The play marker you mentioned above is an interesting concept.  So this then means you can play a) from the start b) from the beginning of your current chain (we'll call it), and c) from a certain marked note?  Or is c) from a certain chain or something?  I'm interested in knowing how that works exactly, very clever.

smile thank you!

Yeah, the difference is subtle. Say you have a song that has 20 steps in it (or chains, I think it's different terminology for a similar concept) and you just want to work on the last 5 steps;

1) put a jump command on step 20 to jump back to step 15
2) put the cursor on step 15 in the song editor and press B+A+START

Now the song will play 15 to 20 in a loop. If you stop the song, pressing B+START will play the 15 to 20 loop again.

If you just want to listen to the same song step over and over, lets say step 17;

1) put the cursor on step 17 and press SELECT+START

and the song will just loop step 17 until you press stop.

BUT, you still have step 15 marked so you can play 15-20 again just by pressing B+START. Or set a new start point by moving to, say step 10 and pressing B+A+START again. Or play the song from the first step at any time with just START (the marker remains until you set it to a different point).

Just a quick post to keep you abreast with progress.

Took me quite a while to bug-test the new player code but it's much better now. Previously I'd tried to be clever and write the player code using a big mess of conditional assembly so that I could avoid using indexing and benefit massively from the CPU saving. It was working but the code got so bit that I was in danger of using a whole ROM bank for the player! Given that I've got quite a lot of future plans for NTRQ development this was an unacceptable situation so I bit the bullet and wrote it in a more traditional way (the programmers amongst you will know what I mean). This has meant that the player refresh code does take more CPU time but it's not bad at all. Well, I'm not really the most efficient coder so I'm sure there's plenty of room for improvement.

Plenty of new features have gone in now such as;

- delay command for notes/key-offs as discussed in the other thread.
- master volume & master volume fade command
- override duty table setting from pattern
- a "terminate pattern" command which can be used to end a pattern early before it's natural end
- changed the way notes are entered for DPCM
- added start offset to DPCM
- added loop function to DPCM
- added detune to pitch table commands

Before embarking on rewriting the sections of the manual that are now out-of-date I thought I'd better have a try at making another song from scratch - this always throws up those quirks and bugs that you don't get from more focused feature testing. I was listening to New Order at the time so I tried to do a NES cover of Bizarre Love Triangle. It turned out pretty good (well, i only did the main backing/tune and the vocal melody for the first couple of verses) and NTRQ felt pretty smooth to operate big_smile

A few things came up though so I've added a couple of features that help massively;

- pressing START always plays the song from the start
- holding B+A and pressing start sets a marker to start the song from (and plays it from there)
- holding B and pressing start plays the song from the marker
- holding SELECT and pressing START plays and loops the current (editing) song step

and these are "global" keys so it doesn't matter what editing window you are in.

I've also totally redesigned the layout of my CHR bank. I'm now able to display text in inverse (I removed redundant letters and stuff so squeezed enough space). I've already added a couple of uses for this already e.g. the line you are currently editing in the song or pattern is highlighted with inverse and it looks smart. I'm going to have a think of how to use this more in the editors.

Something that did become apparent from making the last song was that I needed a real rethink about the ability to copy and paste in the song editor. You've probably seen copy/paste in action for the patterns in some of the old videos but I never really had the same features for the song editor. You could duplicate a step or you could duplicate a whole song but that was it. WIth the newly added inverse characters I had given myself a way to be able to mark sections of the song and paste (overwrite) or insert that section somewhere else in the song.

And that's what I'm in the middle of doing. I've got the marking function working (but it needs more testing) and also the ability to insert an arbitrary number of steps into an existing song (previously you could only do one at a time with the insert/delete song line function). Just need to screw all that together and I should have a pretty nice copy/paste song lines feature.

Then the rewriting of the manual :S

Right, back to the assembler!

big_smile

Damn! That's sexy looking big_smile

From a development point-of-view it makes me jealous that you have proper control over the screen/colours. smile

592

(32 replies, posted in Nintendo Consoles)

egr wrote:

If the "Fade Pattern Volume" command would not be interrupted by other commands further down the pattern I say add it.  As in, as long as I could "Fade Pattern Volume" and while that was going on still set vibrato (for instance).  If that's not the case, I'd prefer the "Speed" option.  I don't know what the instrument editor is like, but it's always possible to get "more effects" into a pattern by swapping variations of the instrument.

Yes, the fading would be triggered and operate independent of other effects. Well, this is how it works in the Song Arranger anyway smile

arlen wrote:

My vote is for the Fade Pattern Volume thing.

I like fade-in notes.

There are other ways to achieve fade-in notes too;

- the "set volume for single note" command affects the note on the step you use it but can also be used to modify the volume of an already playing note. So you could;

00: C4 B0        ;play C4 with volume 0
01: ---  B1        ;modify the volume of C4
02: ---  B3        ;louder
03: ---  B5        ;louder

etc

or just use an ADSR with a long attack time, tie some notes together so you don't get envelope restart, then switch to a different instrument when you don't need the fade in.