473,405 Members | 2,294 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

will C# be perfomant enough for the next problem (HW programming)???

hello,
A buddy of me made a modification on a TB-303 synthesizer (made in
1982) so it is possible to program the synth via a parallel port
connector. He made a program in qbasic and he wants a "modern" GUI. I
am doing a course in C# and want to program translate the thing to C#.
Here is his website: http://switch.to/bassline Pleace check the section
"Now available: TB-303 computer interface:"

So, will I be able to do it without delays ??? Don't I need C++ ???

I've read you can use "unsafe" blocks in C#, in case of delays, will
this help in any way ???
This are the specifications of the synthesizer itself:
Ram chips: Nec's µPD-444C CMOS RAM, 1024 x 4 Bit Static.
CPU type: Nec's µPD-650C-133, 4-bit microcomputer. (133=Roland's ID
internal firmware Rom code).
Dimensions: 300 mm (width)x148 mm (Depth)x55 mm (Height).
Weight: 1 Kg
Sound range: 3 Octaves (4 octaves in a TRACK).
Tone control: Cutoff Frequency, Resonance, Envelope Modulation, Decay,
Accent, Waveform (Saw/Square).
Tuning control: +- 500 overcents.
Tempo control: 40 to 300 BPM.
Memory: 64 measures x 7 TRACKS (256 measures maximum). Memory backup.
Output: Main (Regular Jack, Impedance 10Kohm) - Headphones (Stereo
Jack, Impedance 8ohm-30ohm).
CV/GATE Out: Mini-Jacks (CV: [= +1V | - +5V], 1 volt/octave / GATE:
[OFF 0V | ON +12V]).
Sync24: Din connector. Synchronizable with TR-606, CR-8000, NOVATION
DRUMSTATION, ...
Mix in: Regular Jack, Impedance 100Kohm. Output level 1:1.
Power supply: Battery - 6V (1.5V x 4). AC adaptator 9V. Current drain :
min 80mA, max 120mA.
Accessories: Soft Case.
thanks

Jul 7 '06 #1
3 3352
"The interface is basically a signal router that can redirect the signals
between the memory chips and 303's internal cpu and the signals between the
cpu and the analog section of the 303 to and from an external connector.
This is all done in a pure hardware fashion (no programmable devices like
gals/microcontrollers/cpu's whatsoever) in a way that there is zero extra
delay on these signals so that the behaviour of your 303 is not affected in
any way. You may ask yourself the question why no programmable devices? This
was the first design prerequisite I made when I started this project for the
following reasons:
1: They generate delays and thus affect the behaviour of the 303
2: programmable devices don't last: the cells that store the program decay
over time and that is unacceptable because I want my interfaces to outlast
the 303's in which they were built in."

From what I can see here delay accross the parallel port would not seem to
be too much of an issue (correct me if I am wrong but it would seem that its
just dumping data down). You should be able to use C# for this but dealing
with parallel ports is no walk in the park.
http://www.codeproject.com/csharp/csppleds.asp includes a full tutorial on
toying iwth the parallel port.

p.s. I have a devilfish and two qm boxes here .. I may be willing to help
with this :D
..
Cheers,

Greg Young
MVP - C#
http://codebetter.com/blogs/gregyoung

"drgonzo120" <dr********@yahoo.comwrote in message
news:11*********************@k73g2000cwa.googlegro ups.com...
hello,
A buddy of me made a modification on a TB-303 synthesizer (made in
1982) so it is possible to program the synth via a parallel port
connector. He made a program in qbasic and he wants a "modern" GUI. I
am doing a course in C# and want to program translate the thing to C#.
Here is his website: http://switch.to/bassline Pleace check the section
"Now available: TB-303 computer interface:"

So, will I be able to do it without delays ??? Don't I need C++ ???

I've read you can use "unsafe" blocks in C#, in case of delays, will
this help in any way ???
This are the specifications of the synthesizer itself:
Ram chips: Nec's µPD-444C CMOS RAM, 1024 x 4 Bit Static.
CPU type: Nec's µPD-650C-133, 4-bit microcomputer. (133=Roland's ID
internal firmware Rom code).
Dimensions: 300 mm (width)x148 mm (Depth)x55 mm (Height).
Weight: 1 Kg
Sound range: 3 Octaves (4 octaves in a TRACK).
Tone control: Cutoff Frequency, Resonance, Envelope Modulation, Decay,
Accent, Waveform (Saw/Square).
Tuning control: +- 500 overcents.
Tempo control: 40 to 300 BPM.
Memory: 64 measures x 7 TRACKS (256 measures maximum). Memory backup.
Output: Main (Regular Jack, Impedance 10Kohm) - Headphones (Stereo
Jack, Impedance 8ohm-30ohm).
CV/GATE Out: Mini-Jacks (CV: [= +1V | - +5V], 1 volt/octave / GATE:
[OFF 0V | ON +12V]).
Sync24: Din connector. Synchronizable with TR-606, CR-8000, NOVATION
DRUMSTATION, ...
Mix in: Regular Jack, Impedance 100Kohm. Output level 1:1.
Power supply: Battery - 6V (1.5V x 4). AC adaptator 9V. Current drain :
min 80mA, max 120mA.
Accessories: Soft Case.
thanks
Jul 7 '06 #2
drgonzo120 wrote:
hello,
A buddy of me made a modification on a TB-303 synthesizer (made in
1982) so it is possible to program the synth via a parallel port
connector. He made a program in qbasic and he wants a "modern" GUI. I
am doing a course in C# and want to program translate the thing to C#.
Here is his website: http://switch.to/bassline Pleace check the section
"Now available: TB-303 computer interface:"

So, will I be able to do it without delays ??? Don't I need C++ ???

I've read you can use "unsafe" blocks in C#, in case of delays, will
this help in any way ???
<snipeddy-doo-dah>

Hi drgonzo120,

I'm using C# to control a USB -DMX converter. DMX is a lighting control
protocol, that runs on RS-485. The device I have comes from Enttec, and
relies on the computer to constantly generate the DMX frames, i.e. I have a
thread that's continually pushing a DMX frame out. I also have algorithms
that flash lights, and make them spin, not to mention a lot of
preprocessing of the DMX values before they're sent out.

My point here is that, it performs very well. I've used my program in a
production environment, and I haven't seen any lag whatsoever. "C#" is
fast enough.

Note: I quoted C# above, because in the end, it's not C# that's doing the
stuff, it's the CLI.

--
Hope this helps,
Tom Spink
Jul 7 '06 #3
On Fri, 07 Jul 2006 02:43:13 -0700, drgonzo120 wrote:
hello,
A buddy of me made a modification on a TB-303 synthesizer (made in
1982) so it is possible to program the synth via a parallel port
connector. He made a program in qbasic and he wants a "modern" GUI. I
am doing a course in C# and want to program translate the thing to C#.
Here is his website: http://switch.to/bassline Pleace check the section
"Now available: TB-303 computer interface:"
Fuck that site!! It has bullshitter Javascript he tells me I have
errors of the Windows registry, but I am running Linux. I click the
cancel button and it runs a bullshit check.

Jul 7 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

84
by: Bibby | last post by:
Hi, I'm interested in getting started in the programming world. I've dabbled in C, C++ and VB6. Which would be the best language to focus my attention to regarding the following considerations: ...
13
by: aarklon | last post by:
Hi all, I accidentally found expert C programming by peter van der linden here:: http://sunner.cn/courses/C/ebook/Expert.C.Programming.pdf
9
by: Steven D'Aprano | last post by:
I'm looking for some way to get the next floating point number after any particular float. (Any mathematicians out there: I am aware that there is no "next real number". But floats are not real...
14
by: Scott W | last post by:
the second edition of King's book will be released next year. should i wait until then or just get the currently available version?
1
by: Andrew | last post by:
I run a fantasy football website that is in need of some serious PHP programming. The basics are: - Allow individual logins to team pages where form submission updates that page dynamically as...
97
by: Master Programmer | last post by:
An friend insider told me that VB is to be killled off within 18 months. I guess this makes sence now that C# is here. I believe it and am actualy surprised they ever even included it in VS 2003 in...
8
by: kaili | last post by:
i'm chinese i heard that "The C Programming Language " by Brian W. Kernighan, Dennis Ritchie is the best book for new learners. but it is unavailable here. i mearn there is nobody selled it. i...
6
by: Bob Palank | last post by:
I'm considering using VJ# in a first programming course in addition to or in place of JBuilder and the J2SE. Given install problems other students have had, VJ# seems like a nice alternative. I...
25
by: blessblessbless | last post by:
Hello friends, I am trying to find something that must exist. I am in Thailand right now and Internet is not very available in the place I'm staying. Is there a program that can emulate a server,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.