17

(23 replies, posted in Nintendo Handhelds)

Actually for USB MIDI and output to gameboy only, without any additional hardware, a Teensy LC should work as well. If you want input you'll need to drop the gameboy's gb->arduinoboy data line to 3.3v. Teensy LC will probably fry at 5v input.

You can get a Teensy LC around ~$11.50

18

(23 replies, posted in Nintendo Handhelds)

Honestly it's worth the few extra bucks for a Teensy 3.2 and run the latest Arduinoboy on it, which supports USB MIDI out of the box. $19ish

19

(6 replies, posted in Trading Post)

Interesting side note: I originally created Arduinoboy because I was having issues with my LSDJMC2. smile

20

(43 replies, posted in General Discussion)

I am old now too.

Amiga tracking as a kid / teen in the 90s -> Hardware synths & cubase & Jeskola Buzz in 1997~1999 -> You can do tracker shit on a gameboy? (1999~2000) -> Here.

21

(6 replies, posted in Trading Post)

yoyz2k wrote:

Arduinoboy was something like 5ms out of sync in midi.... Just something really boring.
And there was nothing to workaround it.

5ms is within a normal range. Plus and minus buttons will not solve that issue, since they essentially either skip a MIDI tick, or add a MIDI tick. A single MIDI tick at 120 BPM is about 20.84 MS, which means you'll either add 20ms or subtract 20ms by hitting those buttons.

Charbot wrote:

One weird thing that i noticed while working on this,   whenever i sent a CC value of FF in LSDJ   (seemed like any CC on any Channel)  arduinoboy would return 0xF8 - midi clock and no cc command.   Not sure what is going on here, but it was totally messing me up for a bit.   happened with both the new and previous versions of Aboy and their respective LSDj releases.

CC range for LSDJ out is 0x00 to 0x6F due to aboy using the first bit as a start bit, 0x70 to 0x7F are used as commands, such as transport start/stop, message type, and sync messages (which were disabled) 0xFF translates to 0x7F because of the one bit being used as a start bit. 0x7F I believe was the sync message command from lsdj.

23

(18 replies, posted in Nintendo Handhelds)

Yeah, my bad. I forgot that I actually verify version numbers using sysex and never updated the editor. smile

herr_prof wrote:

Might be a placebo effect, according to Tim in the new version "The special bit and byte delays are no longer used. They are hardcoded to stable numbers"

I may have been wrong on Midiout mode. Bit delay is still used.

To the subject, Sync was originally planned but it was not really reliable, the timing was all over the place so I disabled it before it was released because it was useless. Adding a CC command out per tick would be even worse and you'll easily overload the buffer / serial stream.

25

(18 replies, posted in Nintendo Handhelds)

Arduinoboy 1.3.0 Released

Ardunioboy 1.3.0 Features
- Added support for Teensy 3.X & LC (LC needs a logic level shifter for 3 to 5v)
- Added support for Teensy USB MIDI
- Reworked LSDJ MIDI Map mode. More stable, more better. Requires LSDJ Arduinoboy version 4.7.8

https://github.com/trash80/arduinoboy/releases

New LSDJ Arduinoboy version 4.7.8
- Includes all recent updates from the official LSDJ release
- Removed LIVEMAP mode because...
- Reworked SYNCMAP mode - more stable, renamed to "MI. MAP" ("MIDIOUT" has also been renamed to "MI. OUT")
- Added song row display text on LSDJ song view to indicate the MIDI note number the current highlighted row is mapped to.
  On receiving messages it indicates the row number Arduinoboy has called.
- Special note: You'll need to adjust your SYNC settings in the project window since LSDJ now includes Analog sync modes.

http://littlesounddj.com/lsd/latest/full_version/

You can check out this quick video of the reworked MIDI MAP mode here:
https://www.facebook.com/trash80/videos … 848338423/

26

(21 replies, posted in Nintendo Handhelds)

Hey there, neat project.

Ledfyr wrote:

* Mono mode - improves/solves the problem with lost or dropped MIDI notes from the Gameboy (use with custom Arduinoboy software, only tested with GBC, see README).

This really shouldn't be a problem, or at least solvable outside of Arduinoboy, it's actually a pretty lightweight task to handle the data stream. The issue may come from the Gameboy itself, or that is the code on the GB, since it is kind of a hack. What version of LSDJ were you using? I am wondering if this was a wrapping buffer issue that was solve awhile back.

Let me know if you need any clarification on my end, feel free to email me.

OGG will never happen until the browser standards wars are over and more browsers support it unfortunately.
MP3 is still a thing because it's supported by most browsers. Safari does not support OGG (iOS) Which there are more users than those that use Firefox.

+1 for HTML5 player. I actually have it running over at http://weeklybeats.com

Would be really easy for someone to tweak. Yay open source! Meets everyones unique requirements! wink

And plugged on our twitter talking "C". smile

Timbob wrote:

I know it can't do that right now..
I'm saying: can a lsdj version be made that listens to midi clock and sends notes out.

It would be unreliable. Higher priorities on the interrupt if I can recall. Also it would be tricky to achieve switching half-duplex using the method that was required to get faster data rate out of the gamelink jack.

Yeah the clock was unreliable and also has a performance hit, so therefore completely useless and I removed it on the LSDJ side.

The limits of 0x00 - 0x6F have to do with using an external clock (Ardunioboy side) to get faster data rates. Had to compromise the first bit for use as a start bit, aka a "hey there is data here!" trigger. Therefore only values of 0x00 to 0x7F can be received without packing it into several bytes- which would make it slower. This wouldn't be on issue on a CGB, but on a DMG everything counts.

Therefore any byte received that is 0x70 to 0x7F is a command, and 0x00 to 0x6F is the value for the last command received.

0x70 to 0x73 represents a note message on one of 4 channels (N & Q command on PU1 to NOI)
0x74 to 0x77 represents a CC message on one of 4 channels (X command on PU1 to NOI)
0x78 to 0x7B represents a PG change on one of 4 channels (Y command on PU1 to NOI)
and the rest were going to be used for sequencer messages (start, stop, and clock)

One could in theory make some custom commands on the Arduinoboy side to have LSDJ send a encoded tempo, and the Arduinoboy could send a MIDI clock tick when it receives the start message. *I believe* LSDJ still sends a start and stop message. Still kind of a pain but better than nothing if you have to have a clock tick.

Another way to do the link cable, is to attempt what I did with using the PCB as a link port. (Idea from Oliver & Nanoloop link) I have designed a shield but have not tested it yet. The PCB from Fritzing is just big enough. Maybe.

I added holes so that one could use some zipties to secure the gb link cable to the PCB.