Forum comments in chronological order
Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.
Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.
- Jun 2007
- Aug 2007
- Oct 2007
- Nov 2007
- Dec 2007
- Jan 2008
- Feb 2008
- Mar 2008
- Apr 2008
- May 2008
- Jun 2008
- Jul 2008
- Aug 2008
- Sep 2008
- Oct 2008
- Nov 2008
- Dec 2008
- Jan 2009
- Feb 2009
- Mar 2009
- Apr 2009
- May 2009
- Jun 2009
- Jul 2009
- Aug 2009
- Sep 2009
- Oct 2009
- Nov 2009
- Dec 2009
- Jan 2010
- Feb 2010
- Mar 2010
- Apr 2010
- May 2010
- Jun 2010
- Jul 2010
- Aug 2010
- Sep 2010
- Oct 2010
- Nov 2010
- Dec 2010
- Jan 2011
- Feb 2011
- Mar 2011
- Apr 2011
- May 2011
- Jun 2011
- Jul 2011
- Aug 2011
- Sep 2011
- Oct 2011
- Nov 2011
- Dec 2011
- Jan 2012
- Feb 2012
- Mar 2012
- Apr 2012
- May 2012
- Jun 2012
- Jul 2012
- Aug 2012
- Sep 2012
- Oct 2012
- Nov 2012
- Dec 2012
- Jan 2013
- Feb 2013
- Mar 2013
- Apr 2013
- May 2013
- Jun 2013
- Jul 2013
- Aug 2013
- Sep 2013
- Oct 2013
- Nov 2013
- Dec 2013
- Jan 2014
- Feb 2014
- Mar 2014
- Apr 2014
- May 2014
- Jun 2014
- Jul 2014
- Aug 2014
- Sep 2014
- Oct 2014
- Nov 2014
- Dec 2014
- Jan 2015
- Feb 2015
- Mar 2015
- Apr 2015
- May 2015
- Jun 2015
- Jul 2015
- Aug 2015
- Sep 2015
- Oct 2015
- Nov 2015
- Dec 2015
- Jan 2016
- Feb 2016
- Mar 2016
- Apr 2016
- May 2016
- Jun 2016
- Jul 2016
- Aug 2016
- Sep 2016
- Oct 2016
- Nov 2016
- Dec 2016
- Jan 2017
- Feb 2017
- Mar 2017
- Apr 2017
- May 2017
- Jun 2017
- Jul 2017
- Aug 2017
- Sep 2017
- Oct 2017
- Nov 2017
- Dec 2017
- Jan 2018
- Feb 2018
- Mar 2018
- Apr 2018
- May 2018
- Jun 2018
- Jul 2018
- Aug 2018
- Sep 2018
- Oct 2018
- Nov 2018
- Dec 2018
- Jan 2019
- Feb 2019
- Mar 2019
- Apr 2019
- May 2019
- Jun 2019
- Jul 2019
- Aug 2019
- Sep 2019
- Oct 2019
- Nov 2019
- Dec 2019
- Jan 2020
- Feb 2020
- Mar 2020
- Apr 2020
- May 2020
- Jun 2020
- Jul 2020
- Aug 2020
- Sep 2020
- Oct 2020
- Nov 2020
- Dec 2020
- Jan 2021
- Feb 2021
- Mar 2021
- Apr 2021
- May 2021
- Jun 2021
- Jul 2021
- Aug 2021
- Sep 2021
- Oct 2021
- Nov 2021
- Dec 2021
- Jan 2022
- Feb 2022
- Mar 2022
- Apr 2022
- May 2022
- Jun 2022
- Jul 2022
- Aug 2022
- Sep 2022
- Oct 2022
- Nov 2022
- Dec 2022
- Jan 2023
- Feb 2023
- Mar 2023
- Apr 2023
- May 2023
- Jun 2023
- Jul 2023
- Aug 2023
- Sep 2023
- Oct 2023
- Nov 2023
- Dec 2023
- Jan 2024
- Feb 2024
- Mar 2024
- Apr 2024
- May 2024
- Jun 2024
- Jul 2024
- Aug 2024
- Sep 2024
- Oct 2024
- Nov 2024
Nov 2010
Anonymous
Mon 1-Nov-2010 18:37
Mon 1-Nov-2010 18:37
It look just like the video is played to fast. How much slower was it recorded?
He just has a good camera with 30+ FPS
Anonymous
Mon 1-Nov-2010 20:29
Mon 1-Nov-2010 20:29
Amazing job. I'd love to hear Arcade Intro by Tim Kleinert (2'00" onwards) or a Turrican tune!
lft
Linus Åkesson
Tue 2-Nov-2010 20:50
Linus Åkesson
Tue 2-Nov-2010 20:50
jimqode wrote:
Hi there Linus,I was extremely amazed by your hardware chiptune project and now, as if it is possible, I am even more amazed with the Chipophone project. I have absolutely no idea how you fit all that operations on a 38khz interrupt along with the high-level controllers. I would really love to see the code.
Thanks!
jimqode wrote:
Please enlighten me on these chipophone related questions:1. I guess your output is a ladder DAC. How many bits?
2. Are your oscillators lookup table based? If not, how did you implement the noise?
3. Are there any filters in the Chipophone? If so are they implemented in software or are they analog filters?
4. At the begging of the Delta video I see you programming a sequence. Is that functionality implemented in the synth uC or MIDI controller chip?
Keep up the good work!
1. The Chipophone uses an 11-bit DAC. That might be overkill, though.
2. No, the waveforms are calculated from the high bits of a counter which is incremented by a frequency value at every sample. For noise, the carry bit from that addition triggers a new noise sample to be generated. Noise is generated by a 15-bit LFSR, which is implemented like this:
ldi r20, 2
lsl r8
rol r9
brvc skip
eor r8, r20
skip:
The shift register is global, so I never use r8 or r9 for anything else. This makes the code very efficient. I could probably make it even faster, but right now the triangle wave is the bottleneck.
3. Nope, no filters in the Chipophone. There's a simple non-resonant lowpass filter in my Phasor demo, if you're curious about how to implement it efficiently in AVR assembly language.
4. In the synth microcontroller, although it could have been implemented either way. But the synth has a convenient 100 Hz loop for handling vibrato and other stuff, so it was easy to put the sequencer functionality there as well.
Anonymous
Wed 3-Nov-2010 11:17
Wed 3-Nov-2010 11:17
Hi linus good work !!!!
can i get the correct schematic as i a a begineer to micro controller i am unable to get the schematic which u have did in text format. i read the comments someone has given the schematic in eagle format but unfotunately io didnt found that. so can u or anyone else mail me the schematic
My mail id is azhar.karnalkar@gmail.com
thanks in advance. and a great work man.
can i get the correct schematic as i a a begineer to micro controller i am unable to get the schematic which u have did in text format. i read the comments someone has given the schematic in eagle format but unfotunately io didnt found that. so can u or anyone else mail me the schematic
My mail id is azhar.karnalkar@gmail.com
thanks in advance. and a great work man.
Reliable synchronisation of cog PLLs
Anonymous
Thu 4-Nov-2010 20:05
Thu 4-Nov-2010 20:05
Excellent work!
Two "improvements"
1. Ensure the sync_cnt delay is large enough for the initial 4096 PLL clocks to expire so the initial VSCL=1 gets picked up before the VSCL=65 gets set. (I don't know if there's a way to do a waitcnt after the VSCL=1, then somehow get all of the cogs to agree on a new sync_cnt value).
2. When setting VSCL also set the pixel counter to 1 (i.e. VSCL = 1<<12 + 1 and VSCL = 1<<12 + 65) so the pixel and frame counters stay in sync.
Eric Ball
(I need to go back and tweak my multi-cog driver.)
Two "improvements"
1. Ensure the sync_cnt delay is large enough for the initial 4096 PLL clocks to expire so the initial VSCL=1 gets picked up before the VSCL=65 gets set. (I don't know if there's a way to do a waitcnt after the VSCL=1, then somehow get all of the cogs to agree on a new sync_cnt value).
2. When setting VSCL also set the pixel counter to 1 (i.e. VSCL = 1<<12 + 1 and VSCL = 1<<12 + 65) so the pixel and frame counters stay in sync.
Eric Ball
(I need to go back and tweak my multi-cog driver.)
A case against syntax highlighting
Anonymous
Fri 5-Nov-2010 20:53
Fri 5-Nov-2010 20:53
I may agree with you that most syntax highlighters choose to highlight features that are somewhat uninteresting to the coder, rather than more important elements like '=' vs '==' in c. I would love to see nested parentheses and their contents highlighted in shades that depended on the nesting level, for example.
However, I do disagree strongly on the more general sentiment that syntax highlighting is in itself damaging to comprehension in the long run.
You can train your brain to do a great many things, but to not use the inherent skills of the brain is a waste of "talent" and time. If you can leverage peoples' highly developed visual senses to make the semantics more clear, this, it seems to me, is a rational choice, not a crutch. Again, we can talk about whether common syntax highlighters highlight useful things or not, but the notion that syntax can be aided by visual formatting, including color, is something I believe in.
You can do this via indenting, as everybody does, and/or color choice, as syntax highlighters try to do. I would even go further off the syntax-highlighting deep end and propose using larger fonts for higher-level structural elements like class declarations. As John Carmack said in a recent tweet: "Syntax highlighted code is better than raw text, but still not as good as, say, a typical Wikipedia page. Room for structural formatting."
However, I do disagree strongly on the more general sentiment that syntax highlighting is in itself damaging to comprehension in the long run.
You can train your brain to do a great many things, but to not use the inherent skills of the brain is a waste of "talent" and time. If you can leverage peoples' highly developed visual senses to make the semantics more clear, this, it seems to me, is a rational choice, not a crutch. Again, we can talk about whether common syntax highlighters highlight useful things or not, but the notion that syntax can be aided by visual formatting, including color, is something I believe in.
You can do this via indenting, as everybody does, and/or color choice, as syntax highlighters try to do. I would even go further off the syntax-highlighting deep end and propose using larger fonts for higher-level structural elements like class declarations. As John Carmack said in a recent tweet: "Syntax highlighted code is better than raw text, but still not as good as, say, a typical Wikipedia page. Room for structural formatting."
Anonymous
Mon 8-Nov-2010 18:27
Mon 8-Nov-2010 18:27
Yes, Brethren... also, the other most common use of the word Fratres is "Orate Fratres", a call to prayer from Catholic liturgy.
Fratres means brethren (or brothers). Hence when priests or ministers get together it is called a Fraternity (now that we have women priests it should be a Maternity!)
The pulses on the claves/percussion is a Renaiassance call to attention/prayer that the monks (or brothers) would have played using wooden semantra - which prefigured the use of bells in the Eastern Church)
Does anyone happen to know the origin of the piece, and/or why it has the name Fratres? I've never come across this in my readings about Part and I am very curious, it being one of my favorite pieces to listen to (and play).
Best to all,
karl@freefriends.org
Best to all,
karl@freefriends.org
Fratres means brethren (or brothers). Hence when priests or ministers get together it is called a Fraternity (now that we have women priests it should be a Maternity!)
The pulses on the claves/percussion is a Renaiassance call to attention/prayer that the monks (or brothers) would have played using wooden semantra - which prefigured the use of bells in the Eastern Church)
Reliable synchronisation of cog PLLs
lft
Linus Åkesson
Tue 9-Nov-2010 06:31
Linus Åkesson
Tue 9-Nov-2010 06:31
Excellent work!
Two "improvements"
1. Ensure the sync_cnt delay is large enough for the initial 4096 PLL clocks to expire so the initial VSCL=1 gets picked up before the VSCL=65 gets set. (I don't know if there's a way to do a waitcnt after the VSCL=1, then somehow get all of the cogs to agree on a new sync_cnt value).
2. When setting VSCL also set the pixel counter to 1 (i.e. VSCL = 1<<12 + 1 and VSCL = 1<<12 + 65) so the pixel and frame counters stay in sync.
Eric Ball
(I need to go back and tweak my multi-cog driver.)
Two "improvements"
1. Ensure the sync_cnt delay is large enough for the initial 4096 PLL clocks to expire so the initial VSCL=1 gets picked up before the VSCL=65 gets set. (I don't know if there's a way to do a waitcnt after the VSCL=1, then somehow get all of the cogs to agree on a new sync_cnt value).
2. When setting VSCL also set the pixel counter to 1 (i.e. VSCL = 1<<12 + 1 and VSCL = 1<<12 + 65) so the pixel and frame counters stay in sync.
Eric Ball
(I need to go back and tweak my multi-cog driver.)
Thank you!
1. Yes, this can be done when the video signal clock is an integer multiple of the system clock (such as when FRQA is $10000000). Otherwise, it's important that CTRA is assigned simultaneously in all cogs, and then you need both of the waitcnts.
2. The pixel counter is always reset when a new frame begins, so this is not necessary. It may or may not make the code easier to understand.
Anonymous
Tue 9-Nov-2010 14:21
Tue 9-Nov-2010 14:21
It would be interesting if someone wrote a Propeller emulator. And then, they could demonstrate your demo working on the emulator.
I've been looking at the page you linked to for the propeller, and it interests me greatly, as does the demo. I'm thinking of starting a project actually..
Not sure if I should do it in C or C++ though. Thoughts?
I've been looking at the page you linked to for the propeller, and it interests me greatly, as does the demo. I'm thinking of starting a project actually..
Not sure if I should do it in C or C++ though. Thoughts?
Anonymous
Sat 13-Nov-2010 18:39
Sat 13-Nov-2010 18:39
Way to go Linus! I really love the both the audio and video.
Just so you know, Craft is now the ringtone of my cellphone and Turbulence is the alarm tone :-)
Just so you know, Craft is now the ringtone of my cellphone and Turbulence is the alarm tone :-)
Anonymous
Mon 15-Nov-2010 00:53
Mon 15-Nov-2010 00:53
I Love this type of music, and are vere impressed of you making of the Chipophone
i hope you play the Chipophone on a show i Stockholm somtime i will see in live
Great work
i hope you play the Chipophone on a show i Stockholm somtime i will see in live
Great work
Anonymous
Thu 18-Nov-2010 10:58
Thu 18-Nov-2010 10:58
THIS IS GREAT!
Anonymous
Thu 25-Nov-2010 13:16
Thu 25-Nov-2010 13:16
Nice work Linus!
I have no experience with this, but wouldn't it be possible just to connect an HDMI to DVI adapter followed by a DVI to VGA adapter to the HDMI port on the BB?
/G
I have no experience with this, but wouldn't it be possible just to connect an HDMI to DVI adapter followed by a DVI to VGA adapter to the HDMI port on the BB?
/G
Anonymous
Fri 26-Nov-2010 09:30
Fri 26-Nov-2010 09:30
unsigned char returnval = 255;
returnval++;
return (int)returnval;
problem solved. (you can avoid a cast by using 0xFF(repeater)...for the size of ints but that can change between systems...
name's doublebeta - in case you want to point out some flaw in this.
returnval++;
return (int)returnval;
problem solved. (you can avoid a cast by using 0xFF(repeater)...for the size of ints but that can change between systems...
name's doublebeta - in case you want to point out some flaw in this.
Anonymous
Fri 26-Nov-2010 09:32
Fri 26-Nov-2010 09:32
unsigned char returnval = 255;
returnval++;
return (int)returnval;
problem solved. (you can avoid a cast by using 0xFF(repeater)...for the size of ints but that can change between systems...
name's doublebeta - in case you want to point out some flaw in this.
returnval++;
return (int)returnval;
problem solved. (you can avoid a cast by using 0xFF(repeater)...for the size of ints but that can change between systems...
name's doublebeta - in case you want to point out some flaw in this.
Oh and to determine zero you'll need another wraparound ;). Just because Romans can't represent zero doesn't mean a computer can't! Base 2.
^ doublebeta again btw..
Anonymous
Fri 26-Nov-2010 10:06
Fri 26-Nov-2010 10:06
I get it! post if you do too...
Anonymous
Sun 28-Nov-2010 04:53
Sun 28-Nov-2010 04:53
Nice work Linus!
I have no experience with this, but wouldn't it be possible just to connect an HDMI to DVI adapter followed by a DVI to VGA adapter to the HDMI port on the BB?
/G
no it would not, the only signal that is coming through the HDMI port is digital. The way most DVI to VGA adapters work is by taking the analog portion of DVI and wire it to VGA. The alternative method to this would be to buy an actual digital to analog converter. However this method would cost more than the Beagleboard itself.I have no experience with this, but wouldn't it be possible just to connect an HDMI to DVI adapter followed by a DVI to VGA adapter to the HDMI port on the BB?
/G
Anonymous
Mon 29-Nov-2010 19:28
Mon 29-Nov-2010 19:28
Wow - what an amazing project! Well done, and I've downloaded Spellbound because its a favourite - thanks!!