Jump to content
IGNORED

Sound Generator version 2


Vorticon

Recommended Posts

Back in 1997, I created a program called Sound Generator which allowed for creating and testing sounds in XB using a graphical interface rather than using cumbersome and repetitive CALL SOUND statements. It had the distinction of supporting the Mechatronics mouse which sadly very few users currently have, including myself! The original program was reviewed by Charlie Good in Micropendium at the time.

As I was working on a new XB project recently, I needed to create some sound effects, so I dusted off the program, and found it lacking in one major feature: it only supported one sound at a time, with no sound list capability, thus limiting its usefulness to the XB programmer substantially. So over the past couple of days I revamped the program to include sound lists and associated editing features, while removing the now obsolete mouse support.

Now one can set up sound lists in order to create sound effects in XB, which can then be printed to a parallel printer or saved as data to disk. The printout consists of complete CALL SOUND statements which can be copied as is into a program, while the disk file can be accessed to populate CALL SOUND statements within a program.

The attached zip file has the SOUDGEN2 main program, a demo program called REPLAY which will play back saved sound lists, and instructions, as well as source files.

 

post-25753-0-09606700-1507073185.gif

SOUNGEN2.ZIP

  • Like 10
Link to comment
Share on other sites

Pretty cool.

 

Do you still have the one with the mouse support? I might like to try and port/test that with TIPI mouse support for a diversion.

 

-M@

 

Here you go. However, this version is much more limited in features than version 2. The program has support for both keyboard and mouse, with the latter is a separate section.

Soundgen.zip

  • Like 3
Link to comment
Share on other sites

 

Here you go. However, this version is much more limited in features than version 2. The program has support for both keyboard and mouse, with the latter is a separate section.

I too, have a Mechatronic mouse, and after I finally get my TI set up the way I desire to have it, I will playing with it, so this would be something I could fiddle with :-D

  • Like 1
Link to comment
Share on other sites

I too, have a Mechatronic mouse, and after I finally get my TI set up the way I desire to have it, I will playing with it, so this would be something I could fiddle with :-D

 

The program relies on the Mechatronic drivers supplied with the mouse rather than rolling its own drivers. They should reside on DSK1 unless you change line 1180 in the program and enter your own path.

  • Like 1
Link to comment
Share on other sites

If anyone here happens to have a working Mechatronics mouse with drivers for sale, I'm interested! I might then be able to reintroduce mouse support with Soundgen 2.

I'm currently fiddling with the Smallymouse board Matthew180 kindly sent me to see if I can interface it to the TI. Using the parallel port, I can access the board and read the mouse button presses, but without user interrupts it may not be possible to properly decode the quadrature data from the board... We'll see...

Link to comment
Share on other sites

 

The program relies on the Mechatronic drivers supplied with the mouse rather than rolling its own drivers. They should reside on DSK1 unless you change line 1180 in the program and enter your own path.

I know I still have the mouse, and maybe the drivers in a plastic back in storage, but not sure about the drivers?

Link to comment
Share on other sites

If anyone here happens to have a working Mechatronics mouse with drivers for sale, I'm interested! I might then be able to reintroduce mouse support with Soundgen 2.

I'm currently fiddling with the Smallymouse board Matthew180 kindly sent me to see if I can interface it to the TI. Using the parallel port, I can access the board and read the mouse button presses, but without user interrupts it may not be possible to properly decode the quadrature data from the board... We'll see...

 

It might be better to just modify the firmware to output the mouse positions as serial data rather than quadrature. Then you could plug the mouse into the serial port. Then again, you don't need the complexity of SmallyMouse for that, any modern microcontroller will do. Heck, a single FTDI chip could probably do it out of the box without anything but power and required passives. Just a random thought.

Link to comment
Share on other sites

 

It might be better to just modify the firmware to output the mouse positions as serial data rather than quadrature. Then you could plug the mouse into the serial port. Then again, you don't need the complexity of SmallyMouse for that, any modern microcontroller will do. Heck, a single FTDI chip could probably do it out of the box without anything but power and required passives. Just a random thought.

 

You're right, but I wouldn't know how to go about accessing and modifying the firmware to start with on that board... Besides, with the TIPI on the horizon, this might be all academic anyway :) But I haven't totally given up on it just quite yet.

Link to comment
Share on other sites

It is just an Atmel microcontroller with a USB boot loader already installed. Just download Atmel Studio 7.0 (free) and find some USB mouse to serial example (tons of example code for these microcontrollers). Or, take the code published for SmallyMouse (the source is available) and modify it. The code to read the mouse is already there, so you just need to modify the other half so instead of producing quadrature output, run the x,y positions out the serial port (you might need some TTL to RS232 translation). I actually had to compile the source and program the board before sending it to you, because no where on the SmallyMouse website could I find the binary version of the code.

Link to comment
Share on other sites

I just realized that the version of the Replay demo program included in the zip file was an early buggy test one. Below is the correct listing. Sorry about that.

100 CALL CLEAR :: DIM FRQ(50,4),VOL(50,4),DUR(50)
110 INPUT "PATH/FILE: ":PATH$
120 OPEN #1:PATH$,INPUT,INTERNAL
130 N=1
135 INPUT #1:DUR(N)
140 FOR I=1 TO 4 :: INPUT #1:FRQ(N,I),VOL(N,I) :: NEXT I
160 IF EOF(1)=0 THEN N=N+1 :: GOTO 135 ELSE CLOSE #1
170 FOR I=1 TO N
180 CALL SOUND(DUR(I),FRQ(I,1),VOL(I,1),FRQ(I,2),VOL(I,2),FRQ(I,3),VOL(I,3),FRQ(I,4),VOL(I,4))
190 NEXT I
200 END
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...