113

(25 replies, posted in Other Hardware)

Mrwimmer wrote:

This was something that happened a lot

What happened a lot?
I don t understand what problem you are working around...

aciiiid! count me in!

Bit Shifter wrote:

I learned this the hard way during a show.

;-)
Do you now that you it also has a nudge feature, at least in slave mode?
(see http://chipmusic.org/forums/post/101211/#p101211)

richdoodle, did you get my PM? Thx

117

(3 replies, posted in Nintendo Handhelds)

There is https://github.com/jkotlinski/lsdpatch with sources, which should help you to find where the data is.
Samples seem to start at offset 0x4000

118

(14 replies, posted in Nintendo Handhelds)

I have tried with the monotribe
I have set up a loop in LSDJ, with a gameboy kick and a N.
The N triggers a kick from the monotribe
I still have a noticeable latency...

Regarding the loop 0+, read the 4th post here:
http://chipmusic.org/forums/topic/16324 … 3/page/14/

herr_prof wrote:

Mine are tweaked a lot to get lsdj midiout to work better.

Is it tweaked to reduce the latency? Because I had a noticeable latency when I tried to use midi out

herr_prof wrote:

Midi clock data and note on/ofs are MUCH LESS data than someone tweaking a knob in realtime. I wouldnt be surprised if we are hitting a bottleneck on the gb serial port here, and it will need some sort of filter to cut down the bits we are bangin'.

I see.
That's funny because this limitation was not present with the original hardware version.

So, a kind of threshold has to be applied, on arduino side, right?

herr_prof wrote:

It avoids them by minimizing realtime control big_smile

yes but midi sync and/or keyboard mode should be realtime

herr_prof wrote:

Maybe the forum can paypal you some money for a arduinoboy and midi knob controller?

BennVenn, if you would like to crowdfund an arduinoboy or you development, I would gladly give some $$ ;-)

DSC wrote:

mGB suffers from this too as I recall.

You mean that mGB has sync issues? does it skip some incoming notes or sync bytes?
Do you know how LSDJ avoids these issues?

124

(11 replies, posted in Nintendo Handhelds)

With a lsdj .sav and lsdjplayer (here), you can play lsdj tunes.
a vgm player could be great but it still has to be written ;-)

BennVenn wrote:

Could only test it via simulating 3 bytes coming in (in BGB), being 0xB0,0x01,0x35 which set pot 1 to value 0x35.

Could you please share the code/script you used to simulated the bytes in BGB?
Could be very helpful
Thx

I could try to add the printf, but I don't know where the string will be displayed...

Benn, you arent fluent in Arduino, but you easily write asm....
So funny :-)

BennVenn wrote:

Can anyone tell me the 3 bytes the Arduinoboy sends the gameboy on a CC instruction via the MIDI interface? Otherwise I need to order an arduino and throw one together - could take a few weeks from China...

In what mode are you asking?

BennVenn wrote:

How is it we can all work on the code at the same time and not step on each others toes? It seems the way Furrtek has coded the ROM a lot of modues are inter-connected and a change in one routine has consequences on others. We could leave the original code there and build around it but that would bloat the binary with unused routines and make it very confusing for new contributors.

I haven't worked in an environment where there are multiple contributors so this is new to me. I do comment almost every line or atleast function to make it easy for others to follow. In my mind, 2 people working blindly on one project will end in disaster. Ideas?

To summarize, here is a possible workflow when you work with git:
- create a branch, like 'fix_serial'
the current code will be "branched", so you will have a branch containing exactly the same code as before
- you make a small change
-  you commit it even if the feature is not complete. you include a descriptive changelog of what you did
- you make another small change
-  you commit it
- now, the feature is complete
during all this time, the master branch was unaffected by your changes, and other developers could develop other features independently
- you (and git) will now merge the feature into the master branch
this can be hard because the master branch could have changed
but git is smarter enough to notice if you renamed some files, or if another developer inserted some code in a place you touched.
Git tries to merge automatically, but sometimes it fails.
In this case, you get "conflicts": a part of code that you changed, and a part that another developer changed, are conflicting.
You have to solve it by hand, and once this is done, you commit the conflict resolution.

After that, on github, or with another tool, you are able to browse every commit one by one, and see what code was changed.
You can easily read the changelog to see what happened, then inspect the changes.

So for now, if you are only beginning with git, and if you will be the most active contributor, try to make only small changes, and commit them one by one.

you have to get a clone of a repository, with "git clone"
then "git status" than "git add" for every file you want to commit
then "git commit"
wrtie the changelog
and git push
And your changes should appear immediately on github

If someone else want to develop, he/she can clone your repository, make changes, and make a "pull request".
You will have to read his/her code, and accept it or not.
This is how other developers will be able to help as well.

I hope I was clear enough, if not...
just ask