you can escape square brackets with %5B and %5D
http://www.pouet.net/prodlist.php?platform%5B%5D=PICO-8

Hehe :]
Thanks!

So, I've made a simple music-based web game!
And since the soundtrack is about 50% chiptune (had to use my own tracks thanks to the same-origin policy in modern browsers), I hope it's OK to post here.

You can check it out at http://music.kvee.cz/rgame/. Here's the announcement video with a gameplay preview:


(you'll need a decent browser that supports WebGL and Web Audio - current Firefox and Chrome versions are OK)

Enjoy!

puddingmama wrote:

Hey Chiptune Fans!

Hi

The nesdev wiki is the definitive reference on this: http://wiki.nesdev.com/w/index.php/APU_DMC. It's also extremely technical, so I'll try to sum everything up.

puddingmama wrote:

1. What were the size and quality limitations on DPCM samples?

If you know how regular PCM works, let's start from there. Imagine you've got a 7-bit PCM channel. Now, instead of being able to change to any other value each sample, the DPCM channel can only increase or decrease by one from the previous value (so it also acts as something reminiscent of a typical lowpass filter). That also means that if your sample contains silent parts, these are actually converted to a sequence of +1 / -1 / +1 / -1.
A picture can probably do way more to illustrate the difference (top: PCM, bottom: in DPCM)

(I've used a snare sample)

puddingmama wrote:

3. Were there any limitations on how many samples or how heavily a sample could be used?

In theory, you can use bankswitching and just continually stream new sample data (you can verify that in FamiTracker btw). In practice, ROM chips were not free, so games usually had a few one-shot samples and since they didn't want to bankswitch during playback either, these had to fit in a specific memory range, $C000 - $FFF9, just about 16kB. At the standard rate (33143.9 Hz), that gave you about 2 seconds.
So to answer your question - there are no theoretical limitations, but if you'd like to maintain the feel of actual old game soundtracks, you'd use short samples.

puddingmama wrote:

2. How were they programmed and tuned, such the famous SunSoft Bass!?

The DPCM channel has a rudimentary way of playing the sample back at different rates that approximate some musical notes. I believe sunsoft bass used exactly that technique. I'd suggest you look at the pitch table in the nesdev document I've linked, especially at the note column, to see how dirty that actually was :].
Nowadays, it's also common to just have different samples for different notes and play them all at the maximum frequency. It all depends on what you're trying to achieve.

puddingmama wrote:

Basically what I plan on doing is loading the samples into Chipsounds and (following your guidelines) ensure that they are programmed in a way that I could nearly 100% perfectly recreate the song using Famitracker and an actual VRC6 chip (something i'm not doing now because time and lazy)

I'd say just load the samples to FamiTracker, have them all played once, export that to WAV and then load the results into chipsounds. It's a bit of extra work, but worth it if you'd like to sound authentic.

EDIT: Oh, and just a small clarification, it's actually the 2A03 chip (that's the NES CPU with integrated sound circuitry) that has the sample channel.

Nice, gonna have to give everything a listen!
(oh, and also hello JCH! :])

38

(17 replies, posted in General Discussion)


maybe?

Cool, thanks! :]

Hello and welcome!

I actually really like Midnight Brawl! Good job on that & more tracks like it, please! :]
Child's Lullaby is that kind of game cutscene music I'm not really a big fan of, but hey' that's me. Could maybe use some polishing - some more variance in instruments / melody?

Also if you could, .nsf downloads would be appreciated!

And hey, I've listened to some of your tracks and would love to help with this!
I can write the .nes targeting either a common mapper (I have a working MMC1 multi track proof of concept for ordinarily complex tracks) or even the NSF mapper #31 if required. PM me if you're interested! :]

edit:

nanode wrote:

Hey all!

So I'm making a 2A03 based release, and I got inspired by the 2A03 puritans release to do a limited cart run, but I don't know how I would start.

Hi,
what are you writing your tracks in? FamiTracker?

nanode wrote:

How would I go about programming each cart to get the music onto the actual cart itself? Is there a specific method for creating them? What is the general process to produce or mod carts?

(all of these steps also have a "B" option - ask someone nicely to do them :])

I'm assuming you have a final selection of tracks at this point and are just looking to put them on a cart.

1. Determine what mapper to use. Basically your cart is gonna have a ROM chip with the music data + replayer, but depending on how complex your album will be (# of songs, do you use a lot of different samples, etc...), things can be very simple or very complicated (on the simple end you'll get along with the simplest SMB1-like cart with two ROM chips, on the complex you'll need banking, worse yet, you might have to bank the track itself during playback, if you rely heavily on samples). Nesdev wiki is an absolutely necessary reference (for me at least, I forget / look stuff up again all the time)! Here's their page on mappers. For all other steps, nesdev will be your friend too, they even have a forum if you need to ask some technical question.

2. Prepare a .nes file that works in one of those "as exact as possible" emulators. If you're doing this by yourself, you'll probably have a basic knowledge how to translate that into actual hardware at the end.

This is the step where all the acutal programming goes on and is very dependent on the software you're using to make your music. It's also complicated and would require a longer description than one forum post. If you're new to this, here you'll either have to do a lot of learning or ask someone for help. Basically with famitracker, you get the replayer source and you can also export the raw data it understands. Then you need to write some song selection interface and spend lots of time frustrated because @##$% won't work still.

The .nes file actually describes what a real world cartridge contains, so in most cases, it's a 1:1 .nes -> hardware process afterwards.

(optional but very recommended: test with a cart like PowerPak, just to confirm your project actually works on a NES before writing 50 carts and finding out they don't work. Also remember to later test the first actual cart you make!)

3. You could find a matching game to sacrifice, but I'd say don't ruin old cartridges and buy new carts instead.
Last time I wanted to do stuff like this, retrousb used to sell new cart boards and cases, for some reason I don't see these on their website, but apparently infinite nes lives does that now. I don't have actual experience with them, but I see no reason not to try their stuff!

Apparently they even provide a ROM chip programmer, so that sort of saves me the trouble of writing step 4, that would be "get a ROM writer, blank programmable ROM chips, program them, solder everything".

Also note that the selection of available boards further reduces your mapper options!

After that, you're done.

I don't know how experienced you are with any of these steps, or if I didn't explain something clearly, so feel free to ask more in-depth stuff about anything. This is just a basic outline of what to expect and how I'd do a project like this.

Good luck with your project!

Can definitely vouch for Xaimus!
I'm actually doing a DJ set tomorrow and I'll be playing oatapult as a part of it!

A good place to start is checking out all the FamiCompo archives! :]

Oh and definitely check out Rushjet1, I'm currently listening to his Mega Man remakes and they're awesome!

Other than that there's too many to list.

EDIT: Added some awesome tracks:


45

(16 replies, posted in Commodore Computers)

gilhelm wrote:

I do have a Craftsman 11 multimeter - maybe now is a good time to learn how to use it? Care to give me a tutorial?

I'm gonna assume you have this model: https://www.amazon.com/Craftsman-11-fun … B00GUJK7GW

1. Open this: https://www.c64-wiki.com/index.php/Powe … _Connector.
2. Set the meter to "VDC"
3. Put the black cable in "COM" and the red one in the connector that has "V Ω CAP Temp Hz μA mA".
4. Plug the PSU in the wall outlet
5. Look at the picture in step 1, connect the black test lead to pin 2 (bottom, GND) and the red to pin 5 (you can also try 4, but there might not be anything depending on the PSU model). This should read a voltage somewhere around 5 V (some small difference is OK).
Be careful to only touch the specified pins and even more so to not short anything with the test leads (don't even touch the metal outer ring)! This can be tricky - fixing the PSU connector in place is recommended, also maybe rest your hands against something if they're not steady.
6. Remove the test leads and switch the multimeter to "VAC"
7. Once again put the black lead to pin 2 and measure pins 6 and then 7 with the red one, they should both be at about 9 V.

That should about do it.

(For a bit of a background: The meter (in VDC / VAC modes) measures the voltage difference across the COM and the right socket. COM means a common wire (that has the same voltage in a system) - it's usually used for ground and that means you'd expect 0 V on it. Black color is commonly used to mark that. Then the red lead is used to compare any voltage in the system against the reference/ground/common voltage.)

46

(16 replies, posted in Commodore Computers)

gilhelm wrote:

Thanks for the response! I'll definitely be looking in to everything you talked about.

And just in case you didn't know about this place:
http://store.retroleum.co.uk/c64-capacitors

No problem!
Cool, didn't know about this site. The note about voltages reminds me though - the rated voltage must be the same or bigger. Don't replace with smaller values, unless you're sure. They probably only warn you because they send some with bigger voltage rating (and that is OK).

If you by any chance run into a situation where the original caps are rated higher, it's better to double check with the schematic or ask someone to check for you. Generally, most of the C64's internals run on 5 V or 12 V, but the internal power circuit could require bigger values.

47

(16 replies, posted in Commodore Computers)

gilhelm wrote:

- Is there anything I should know about recapping? I've heard different ICs need different caps.

Try to match the originals as closely as possible, there is a big difference between electrolytic (usually cylinders) and ceramic caps.
When changing electrolytic ones, the negative lead is clearly labeled on the package - you absolutely need to preserve the same polarity - otherwise the cap will go "poof" in a few seconds.

IIRC the SID itself actually uses some special capacitors for the filter part - someone else please clarify this!

gilhelm wrote:

- What about replacing ICs? Is there any way to know if they've failed without a diagnostic? What diagnostic should I used? Do I need a harness?

PLAs tend to overheat, so a heatsink on that is definitely a good idea. I'd put the heatsinks on first, chances are the ICs didn't really fail at all, given you were still able to power the machine on. Seems like you might be right with either the power supply or the C64 counterpart.

gilhelm wrote:

- Should I replace the power supply?

You mean the external one? From what you've written, it actually looks like the culprit to me, so I'd look into that. Better would be to just borrow one from a friend first, but since it's not really the '80s anymore, that of course depends on if you have friends with C64s :].

Also it might be a good idea to google for some C64 technical / repair manuals, those usually have a table with symptoms, possible causes and things to check / replace.

tl;dr: I'd go: service manual first, then try a different power supply, then heatsinks on ICs, if all that fails, recap / replace ICs / replace machine

Good luck, hope your C64 is gonna be ok! :]

oh ffs, at this point I'm just gonna wait for the inevitable "Should we call it CPUmusic?" thread...

(seriously though, just to beat the dead horse some more, the CPU is a chip too)