Offline
Sweeeeeeden

Here's the technical explanation: http://blog.gg8.se/wordpress/2013/01/16 … planation/

Offline
Maine

haha way to link a topic i started big_smile
love the explanation its great

Offline

{O___O} If this is the first two weeks we'll have Gameboy Skynet up and running by Christmas

Offline

That's a pretty epic Kludge Nitro! You're a top notch improvisational programmer. Really cool idea smile

Offline
Philadelphia, PA

Very very awesome. Only two weeks in and this is my favorite thread ever.

Offline
Abandoned on Fire

Cool, I really like these type of projects.  Break the System!  Dominate the Machines!

Last edited by egr (Jan 17, 2013 12:32 am)

Offline
vancouver, canada
nitro2k01 wrote:

Here's the technical explanation: http://blog.gg8.se/wordpress/2013/01/16 … planation/

ha!  that's brilliant.   reminds me of how the C64 SID chip's volume register could be hacked to produce a "4th" channel.   could something similar be done with the DMG hardware?

Offline

What kind of waveform does this sound resemble?

Offline
Sweeeeeeden
fluxer wrote:

What kind of waveform does this sound resemble?

Theoretically a squarewave, though because the sound is played indirectly through interference, the actual waveform isn't exactly defined. Maybe somewhere between a square wave and a triangle. (Edit: Talking about my ROM...)

Last edited by nitro2k01 (Jan 16, 2013 11:23 pm)

Offline
vancouver, canada
fluxer wrote:

What kind of waveform does this sound resemble?

well, the characteristic clicks that would occur when you set the SID's volume register could be controlled to click at different rates.  modulate this and it would act like a DPCM channel.

Offline
Sweeeeeeden

http://blog.gg8.se/wordpress/2013/01/20 … -midi-rom/

nitromidi1 is a very simple Gameboy MIDI ROM. It can be used with an Arduinoboy or Nanoloop USB MIDI adapter. It’s not meant to be all that practically useful atm. Rather, I created it to have all the plumbing in place for future MIDI software.

It currently responds to the following things:

  • MIDI channel 1 only.

  • Gameboy pulse channel 1 only.

  • Note ons. (But currently not note offs!)

  • The typical “panic” button. (Channel mode messages $7B, all notes off and $78, all sound off.)

  • The pitch wheel, currently with a fixed range of +/-7 semitones.

  • CC 71/$47 which controls the pulse width of the wave.

  • CC 72/$48 which is a combined attack/release control, ie. the second nibble of the envelope byte. The control scans from short decay to long decay to constant volume output to slow rise to fast rise. In other word, the following envelope values mapped onto a knob: 1-7,8,F-9.
    As noted above, it doesn’t respond to note offs, so be careful with rising envelopes!

  • It has no GUI except a lines pattern indicating CPU usage. This is literally made by changing the background palette when the CPU is busy.

Have fun, and report any bugs/anomalies/feature requests.

Offline
Czech republic

nice!

Offline

Cool, you've done it again nitro! I've always wondered why in LSDJ envelopes it put fast attacks before the slow ones :-P

Offline
Sweeeeeeden
Zef wrote:

I've always wondered why in LSDJ envelopes it put fast attacks before the slow ones :-P

Because that's what the hardware does. If you look at the binary numbers, the envelope part is divided into two parts, the top bit is for the direction, while the bottom 3 bits are for the speed. So 9 is binary 1001 where the first 1 is for the direction and 001 is for the speed (fastest.)

Offline
matt's mind

do you comment your source? (C or ASM)

and, would you be willing to post it?

(i think a lot of people could learn much from this, myself included, without having to work backwards from the bin)

Offline
Czech republic
kitsch wrote:

do you comment your source? (C or ASM)

and, would you be willing to post it?

(i think a lot of people could learn much from this, myself included, without having to work backwards from the bin)

^ that would be amazing