Here is a dedicated topic for the hard work of sage (known here as sagelynx) on his tool "Lynx Chipper".

If you are a LSDJ user expecting the same thing for Lynx then keep dreaming.  This is a PC program which generates source asm code for Lynx. 

This program is currently in early development but clearly lays out an awesome workflow for creating sounds for the Lynx.  It has the ability to import the basic note data from an external tune (Amiga MOD file) and then re-engineer the sounds for playing out on a real Lynx console.  The program is a PC / Linux application which interfaces with the Lynx with a BLL cable (you can make).  Currently, the software provides a good learning point for synthesis on the device - down to every possible frequency and direct access to shift / feedback reg's which makes all possibilities accessible from the outset.  With our support hopefully Sage will be inspired to add the additional capability so the Lynx can become a device you can play tunes on at gigs in the future.  (it has a very different sound set to the Gameboy) 

You can find an early version of the application:
http://lynxdev.atari.org/Chipper.zip (original link with directory structure)

An English translation of the doc with additional screen grabs / more info that I've written (to be updated once I have active tunes working!): 
http://lynx.syntaxparty.org/LynxChipper-0.1-ENG.pdf

When it comes to chip sounds on the Lynx, things are a little complex - so this probably isn't a program you will instantly understand without a little playing or reading of the instructions.  Keep in mind this is early beta at the moment - but it is a great framework to get things rolling.

Keep checking back for a workflow of how writing for the Lynx works.  I can imagine it will be something like : make a palette of sounds, render them out, import them into a tracker session (say, into a MOD or XM) and track the tune on a PC / Mac / Linux tracker, then import the MOD into this util, re-jig the sounds, generate the songcode, create asm code, compile to a binary, test in emulator, flash to a cart, put cart in Lynx and hope it works.  (Update: JUST CONFIRMED!! This is the workflow; and we almost have it working)

UPDATE (late september): Have a Lynx in my hand playing back a quite complex 4 channel tune with arps, limited percussion and some pretty wild waveform modulation.  Currently fixing: memory limitations (my complex test tune crashes at 2 minutes)... translation difference from Chipper to actual hardware is much closer than it was previously.  I also wrote a program that jigs the ASM code to allow odd time signitures and introduce swing - although this might be implimented into chipper it's self.  I now have all revisions of the Lynx and my cart works on them all given a bit of wiggling the cart around and rebooting a few times.

Last edited by cTrix (September 26, 2011 9:27 am)

Thanks for creating the topic.
Pease use http://lynxdev.atari.org/ as base url address. Because this will stay, while the othe url might change soon.

PS: I think I should hire you for writing a manual /tutorial!

Small example I recorded some time ago:
http://lynxdev.atari.org/chipper_video.ogv

Last edited by sagelynx (April 26, 2011 8:28 pm)

sagelynx wrote:

Thanks for creating the topic.
Pease use http://lynxdev.atari.org/ as base url address. Because this will stay, while the othe url might change soon.

Done!  Great to see you here and looking forward to writing music for the Lynx! (and hearing it's tuning).
ps. I'm always happy to write documentation - just let me know how I can help.  And of course, if there are any mistakes! :-)

Last edited by cTrix (April 26, 2011 8:31 pm)

Some more updated version:
http://lynxdev.atari.org/Chipper_1.2.0.2.zip
Most important news:
WaveEnv (for instruments)
Timeline (for effects)
export reworked/lynx player code updated
Known Bugs:
Sometimes the tracker-player crashes if one hits stop ...
Fourier analysis deactivated because of mem acc error
exported song does in some cases differ from the one you can hear in chipper replay and comlynx replay
Environment lists are not updated on song load
... and some more

Last edited by sagelynx (April 27, 2011 7:01 pm)

sagelynx wrote:

Some more updated version:
http://lynxdev.atari.org/Chipper_1.2.0.1.zip
Most important news:
....

I'm having problems running the exe after I unpack the ZIP - it is saying it's not a valid Win32 app.  (looking at it in a HEX editor it appears truncated) Did it upload ok?

Last edited by cTrix (April 27, 2011 4:57 am)

Same here!

You are right, sorry.
Even the exec on my linux was broken, so it was not the zip archiver problem on the solaris machine.No idea what happened.
Anyway, its fixed now.

"cg32.dll not found".  Then when I ran it (after installing cg32) I couldn't get it working.  Are you able to compile in the same way as the first version?  Or provide cg32.dll?  Thanks

Error 00001. 0x400000 (Thread 0x0DD4):
Exception 0xC0000005: Access violation at 0x0.

(from Chipper_1.2.0.1.cgl file)

Last edited by cTrix (April 27, 2011 3:59 pm)

cTrix wrote:

"cg32.dll not found".  Then when I ran it (after installing cg32) I couldn't get it working.  Are you able to compile in the same way as the first version?  Or provide cg32.dll?  Thanks

Error 00001. 0x400000 (Thread 0x0DD4):
Exception 0xC0000005: Access violation at 0x0.

(from Chipper_1.2.0.1.cgl file)

I am a bit surprised taht there is a cgl file at all. I though I compiled a static binary release version without codeguard and debugging symbols.

But the exe file from the old archiv you could run?

Add:Seem I clicked a wrong checkbox in the project options, fixed version -> http://lynxdev.atari.org/Chipper_1.2.0.2.zip

Last edited by sagelynx (April 27, 2011 7:02 pm)

oh man i can't wait to try this out later tonight

Awesome - the code is working again!  And it's working well.

I'm trying to make a demo tune at the moment - but (in typical cTrix style) I'm trying to make something that is a little more than I know how to program sounds for.  It's a little bit of a knack to pick everything in the right frequency range and get it to sit right.  Learning how to make a snare and a hihat at the moment too.  Because there is no pass filtering everything ends up sounding a little messy and big but hopefully there is a combo which works.

I should have something up by Monday.  Great conversion from MOD by the way - my only issue is that I use the C and A commands constantly for making envelopes and doing "fake" delays... so I'm having to recompose my track to make it work on this :-P.  Supporting a volume command import would be amazing in the future. :-)

ps.  Woah!  Just discovered the new Waveform modulation!!  What I can say, is between the ADSR triangle style modulation in the freq and amp along side waveform modulation - the option to program complex snares and modulated sounds has really opened up.  It's hours of work to figure them out, but I can imagine a healthy cook-book of preset instruments once people start using this!

Last edited by cTrix (April 28, 2011 7:25 pm)

cTrix wrote:

Awesome - the code is working again!  And it's working well.

I'm trying to make a demo tune at the moment - but (in typical cTrix style) I'm trying to make something that is a little more than I know how to program sounds for.  It's a little bit of a knack to pick everything in the right frequency range and get it to sit right.  Learning how to make a snare and a hihat at the moment too.  Because there is no pass filtering (music like a 2600) everything ends up sounding a little messy.  But I should have something up by Monday.  Great conversion from MOD by the way - my only issue is that I use the C and A commands constantly for making envelopes and doing "fake" delays... so I'm having to recompose my track to make it work.  Supporting a volume command import would be amazing in the future. :-)

Nice!
Copy over effect from MOD is not so easy. For the volume command, In principle this is not a problem, but as volume is not really volume but a ADDER in integrate mode, this is not sooo easy. Esp if used together with an envelope.
Now comes the funny think. The Lynx V2 supports stereo and attenuation per channel, thus a volume command is easy to implement... but then the sound would not sound good on the lynx V1. (Actually, the command is included in the driver).

i think most users would ahve a lynx2.. at least thats what i have big_smile

I ran the update and got the following error btw:

Couldnt see anything obviously wrong when running the program. the interface isnt as bad as some people say, but ive been playing with SFX for twelve years so the idea of shift register tweaking inst new to me big_smile.

This is all very exciting!  I'll have to sit down and give Chipper another try.  This is a very good reference to the Lynx's audio capabilities, I remember being very surprised at the inclusion of a low-pass filter!

http://www.monlynx.de/lynx/lynx7.html

Theta_Frost wrote:

This is all very exciting!  I'll have to sit down and give Chipper another try.  This is a very good reference to the Lynx's audio capabilities, I remember being very surprised at the inclusion of a low-pass filter!


It's a little deceptive... so don't get too excited there.  It is not a programmable low pass filter you can do anything with.  It is turned on all the time and designed to take some of the high frequency aliasing artifacts off the sound.  I'd be tempted to add a bypass switch to be honest - a bit like the Amiga has - so you can get the extra frequency extension.

ps. We are going to have to figure out how to do a prosound on this unit!  Apparently you can drop ND filter (?) in front of the LCD to get a better image.

Last edited by cTrix (April 29, 2011 6:33 am)

Ok... I've written a crappy test tune at the moment and I'm stuck on how to do an arpeggiated chord?   Having the ability to make an instrument which plays three notes cycling at a fast rate would be amazing for this.

For instance, at the start of this track you hear a note - but it's meant to be a chord: http://lynx.syntaxparty.org/tests/cTrix … x-Test.ogg 

Also my playback is stopping after the first 8 or so sequences in the list when I press play in the Lynx Tracker.  I had to make two tunes and combine them for the above tune.  When I compile to asm it only outputs the first five sequences:  For example (showing Channel 0 only)


PATTERN_LENGTH   set  1984

CHANNEL_0:
    PATTERN ENVIROS
    PATTERN PATTERN_05
    PATTERN PATTERN_05
    PATTERN PATTERN_05
    PATTERN PATTERN_09
    PATTERN PATTERN_13
CHAN_STOP

Is this just a limitation of the current build or something I'm doing wrong?

But it's getting close!! 
What's the process to compiling the asm data file into playcode?
Do I combine it with the source in miniply3.asm somehow? 
I'm currently using DASM for the Atari 2600... so I would assume it's similar? 

Thanks - sorry about so many questions!!

PS: TEST #2 using 8 patterns - and making a tune specifically for the Lynx sound set: http://lynx.syntaxparty.org/tests/cTrix … Test-1.mp3  (this has been EQ'ed and compressed a bit; but nothing that couldn't be done live)

Last edited by cTrix (April 29, 2011 6:08 pm)