177

(60 replies, posted in Nintendo Handhelds)

If it boots into 1.7.6, the update has been installed successfully. If it starts with 1.6.3 again, it could be that

- you held SELECT during startup, which forces the cart to boot the original version,
- you held SELECT+START which erases the update
- there was a crash in which the first bytes of the update were overwritten

Or maybe I have uploaded the wrong ROM file, I'll have a look later.

178

(28 replies, posted in Nintendo Handhelds)

It's only a cosmetic issue (unless the logo freezes of course). If it boots up, it's fine.

The controller on the nanoloop cart swaps the logo after a certain period. This period starts when the /reset pin is powered. However, it seems that the /reset signal for the cart is independent from the one that starts the Game Boy CPU: When you turn on the power switch slowly, you get a different timing and better chances for a scrambled logo. It looks like there are separate power contacts for CPU and cart, probably to ensure that cart memory is ready when the CPU starts.
So, for a "perfect logo", it may help to turn on the Game Boy with more verve.

179

(28 replies, posted in Nintendo Handhelds)

Would be nice. I would embed a link to your site on the nanoloop 1 update page so that people could edit the logo prior to updating.

180

(28 replies, posted in Nintendo Handhelds)

You can use this on a real Game Boy with nanoloop one by replacing the logo data in the nanoloop update ROM. Logo data are located at 0x8104 in the update ROM (those at 0x0104 are not used).

181

(24 replies, posted in Nintendo Handhelds)

https://dl.dropboxusercontent.com/u/370 … index.html

Update, see original post.

Probably still with a few bugs but much more comfortable than nlmidi already.

Chrome only. Still at an early beta stage.

https://dl.dropboxusercontent.com/u/370 … index.html


Updated version with full nlmidi functionality:

- Save and load banks from/to nanoloop 1.x and 2.x
- Version detection, integrity check and name display for 2.x banks
- Update nanoloop one and 2.x carts to the latest version
- Set MIDI and SYNC mode

MAMP is what I use to run/test it, too, but that's certainly not the solution for the end user. running a server is almost as complex as running nlmidi.

They only problem is that Chrome doesn't allow SysEx MIDI messages (on which nlmidi communications is built) from "untrusted" sources. It's not documtned anywhere, Chrome just suggests that you can add hosts to a list of exceptions, but that only works for localhost and silently fails on remote websites - which is clearly a bug in Chrome. Unfortunately, local file:// URLs don't work either, so you can't just save the page locally to work around this issue.
From what I read I think it may work when the web site is ssl encrypted, but before I spend money on a ssl-certificate I want to be sure.

There will soon be a HTML version of the nlmidi tool that runs in chrome. With buttons and evrything.

There is no CPU overload (if there was, you'd hear hard clicks), what eliminates the N sounds is probably clipping. To avoid clipping, reduce the volume of all channels.
Nanoloop 2.7 plays each channel near the overall maximum volume and notes also default to maximum volume. As soon as two notes play at once, their sum at some points already exceeds the available dynamics range and is clipped. However, depending on sound type, clipping is often not noticable until the signal gets heavily distorted. Nanoloop also uses soft clipping which adds distortion before the maximum is reached but makes it smoother. One effect of massive clipping is that some sounds, often the noise, are cancelled out almost completely.

Nanoloop 2.7 has this agressive loudness setting because the dynamics range is so limited (9 bit). Even at maximum volume, the noise foor is always near. If each channel had a fixed 1/4 of the available range, the aliasing noise would be very dominant (if that's a wanted effect, you can always have those crunchy low-bit effects by lowering the volume).

dapperwrench wrote:

I am thinking I could use one MIDI in on the Arduinoboy for the Ableton Clock and maybe 4 MIDI outs on the Arduinoboy to sync a bunch of devices to it. Basically I just want an easy expandable design to be able to sync up more than just two gameboys/beatmachines/whatever.

That should be possible with Arduinoboy or the nanoloop USB-MIDI (which is much like Arduinoboy but for MIDI via USB). Once you have a Game Boy compatible signal, it should work for multiple devices with properly spliced wires.

The volca needs to be synced separately though because it requires MIDI or analog clock (in that odd 1-clock-per-2-steps scheme).

dapperwrench wrote:

maybe 4 MIDI outs on the Arduinoboy

What comes out of the Aboy or the nanoloop USB-MIDI adaptor is not MIDI but SPI, depending on the setting: In MIDI mode, it forwards the MIDI data in Game Boy serial format (SPI). In sync mode, it filters MIDI clock signals and converts them into analog clock on the data wire (for nanoloop) and SPI-bit-clock on the clock wire (for LSDj).

Because it was in RAM but not written to flash ROM.

When you send the update, it boots into the "nanoloop" screen. Nanoloop then is in GBA RAM as it would be when booted from the cart. To actually write it to the cart, you need to hold B and press START+SEELCT (while still holding B) which brings up a message "UPDATING ROM" with a progress bar and automatically reboots the GBA after a few seconds. If it does not show the update screen and reboot but just starts nanoloop instead, you have not pressed B first and the update procedure has to be repeated from the beginning.

Maybe I should change the key combo so that select / start are not involved and you can't start nanoloop by accident.

To get familiar with it, you can perform the write-to-flash operation when starting from the cart, too: When you see the nanoloop logo, press B+START+SELECT so that the update screen appears. Nanoloop will write itself from RAM to ROM, e.g. do nothing.

I'm sorry, nanoloop is always in 24/4 master mode on startup.

Hawk wrote:

it works great as long as the Game Boy is only outputting audio through the internal speaker.
...
edit: ...I had the wires reversed.

Interesting it still worked. There are a few people experiencing this or a similar issue where the Game Boy is muted (see above). Maybe they should try other wire combinations.

Did you set the adaptor to SYNC mode? Because by default it's in MIDI mode, forwarding the MIDI bytes unfiltered. The short data pulses of the MIDI bytes may randomly be recongized as sync by nanoloop (which does not read actual data for sync, but just checks if any data / voltage is present).

Oh, yes, forgot about GB noise. If your snares use the low-pass filtered noise (outlined dot), they will indeed sound different.

pselodux wrote:

btw I want to use this with my gameboy micro, I tried it with my homemade cable but it didn't quite work;

I'm not sure, what do you want to use with your GB micro?