Maybe I am just doing this wrong. I have built the floppy tunes project and it works great! I actually made my own ide header on a perf board and expanded to using two drives for extra noise! I have noticed that the assembly in the fclocks song is much different than what I am getting back from the online converter. I have used multiple and single track type 1 AND 0 type midis and they all sound horrible! Some dont even act like they are the same song when playing on the drive. The included mario sounds like mario, however is very quiete. Would I be correct to assume I am either missing something or that fclocks is different since it is the only one that the newer floppy tunes recognizes? I would really appreciate any tips on how I can get good loud clear sounding results out of other songs. Also I am using the supplied 8xp compiler, works great!
Somet01, welcome to Cemetech! Would you care to Introduce Yourself when you get a chance? I'm glad to hear that you followed my FloppyTunes instructions and found them understandable. Yes, you have correctly deduced that the signal-generator module in mobileTunes is much different than the signal-generator in floppyTunes. The one in mobileTunes uses the two different channels for two musical channels each, for a total of four channels. By contrast, floppyTunes uses a single musical channel, which it pulses over one data line, and uses the other data line to control the floppy drive's (drives', in this case) head direction to keep the head centered along the stepper spindle. I'm glad you're able to use the Doors CS SDK to compile the songs properly. Here's the note file that you need in order to create proper floppyTunes songs; I'm sorry to say that there's not really an automated tool for it:


Code:
.nolist
#include "mt3notes.inc"
.list
   .org $0000
   .db $BB,$6D
   .db $C9
   .db $31,$80
   .db 0,2,4

Start:
title:   .db "Clocks",0
artist:   .db "Coldplay",0
album:   .db "FloppyTunes",0

all:
;-----------------------------------------------
;NOTES GO HERE VVVVV

;NOTES GO HERE ^^^^^
   .dw 0,0
PROGDATAEND:
.end
END


In the NOTES GO HERE section, you need to fill in pairs of the form:

Code:
.dw note,duration


Note is one of the values from the fourth column of the following table (the column starting with 1761 for an octave-0 C note). The duration value should be the number of beats for the note times the value in the fifth column (the one starting 131). The first column is the octave of each note, and the second column is the note name. The third column is the frequency of the given note in Hz, just for reference.


Code:
var notes=[
[0,"C",65.408,1761,131],
[0,"C#",65.297,1662,139],
[0,"D",73.396,1569,147],
[0,"D#",77.801,1480,156],
[0,"E",82.413,1397,165],
[0,"F",87.275,1319,175],
[0,"F#",92.524,1244,185],
[0,"G",98.026,1174,196],
[0,"G#",103.849,1108,208],
[0,"A",109.987,1046,220],
[0,"Bb",116.541,987,233],
[0,"B",123.528,931,247],
[1,"C",130.812,879,262],
[1,"C#",138.590,829,277],
[1,"D",146.832,783,294],
[1,"D#",155.562,739,311],
[1,"E",164.814,697,330],
[1,"F",174.614,658,349],
[1,"F#",184,998,621,330],
[1,"G",195.998,586,392],
[1,"G#",207.652,553,415],
[1,"A",220.000,521,440],
[1,"Bb",233.082,492,466],
[1,"B",246.942,464,494],
[2,"C",261.624,438,523],
[2,"C#",277.180,413,555],
[2,"D",293.664,390,587],
[2,"D#",311.124,368,622],
[2,"E",329.628,347,659],
[2,"F",349.228,327,699],
[2,"F#",369,996,309,739],
[2,"G",391.996,291,785],
[2,"G#",415.304,275,830],
[2,"A",440.000,259,881],
[2,"Bb",466.164,244,934],
[2,"B",493.884,231,986],
[3,"C",523.248,217,1049],
[3,"C#",554.360,205,1109],
[3,"D",587.328,193,1177],
[3,"D#",622.248,182,1247],
[3,"E",659.256,172,1318],
[3,"F",698.456,162,1398],
[3,"F#",739.992,153,1479],
[3,"G",783.992,144,1569],
[3,"G#",830.608,136,1659],
[3,"A",880.000,128,1761],
[3,"Bb",932.328,121,1860],
[3,"B",987.768,114,1971],
[4,"C",1046.496,107,2096],
[4,"C#",1108.720,101,2217],
[4,"D",1174.656,95,2353],
[4,"D#",1244.496,90,2479],
[4,"E",1318.512,84,2650],
[4,"F",1396.912,80,2778],
[4,"F#",1479.984,75,2956],
[4,"G",1567.984,71,3115],
[4,"G#",1661.216,66,3341],
[4,"A",1760.000,62,3546],
[4,"Bb",1864.656,59,3717],
[4,"B",1975.536,55,3974],
[5,"C",2092.992,52,4190],
[5,"C#",2217.440,49,4431],
[5,"D",2349.312,46,4702],
[5,"D#",2488.992,43,5008],
[5,"E",2637.024,41,5236],
[5,"F",2793.824,38,5618],
[5,"F#",2959.968,36,5906],
[5,"G",3135.968,34,6224],
[5,"G#",3322.432,32,6579],
[5,"A",3520.000,30,6977],
[5,"Bb",3729.312,28,7426],
[5,"B",3951.072,26,7937],
[6,"C",4185.984,24,8523],
[6,"C#",4434.880,23,8850],
[6,"D",4698.624,21,9585],
[6,"D#",4977.984,20,10000],
[6,"E",5274.048,19,10453],
[6,"F",5587.648,18,10949],
[6,"F#",5919.936,16,12097],
[6,"G",6271.936,15,12766],
[6,"G#",6644.864,14,13514],
[6,"A",7040.000,13,14354],
[6,"Bb",7458.624,12,15306],
[6,"B",7902.144,12,15306],
[7,"C",8371.968,11,16393],
[7,"C#",8869.760,10,17647],
[7,"D",9397.248,9,19108],
[7,"D#",9955.968,9,19108],
[7,"E",10548.096,8,20833],
[7,"F",11175.296,7,22901],
[7,"F#",11839.872,7,22901],
[7,"G",12543.872,6,25424],
[7,"G#",13289.728,6,25424],
[7,"A",14080.000,5,28571],
[7,"Bb",14917.248,5,28571],
[7,"B",15804.288,4,32609]
]   //end of array
]   //end of array

Actually, I see I have a sort of vague Javascript tool for this, which I'd be happy to pass along, but it seems semi-broken.
Hey! Thanks for the info! It definitely seems like the floppy tunes coding is the way to go since I could easily tweak the frequency and duration of notes. I would certainly appreciate the chance at checking out your java tool if you want to send that my way. I am wondering though, to streamline things, if there are any other tools out there to read a type 0 midi as note/duration and output frequency... Sounds like an opportunity! Did you end up writing the code for clocks from scratch? I want to show this to some guys at our upcoming e-week and was hoping I could figure out how to code some ACDC or something similar. Thanks again!
somet01 wrote:
Hey! Thanks for the info! It definitely seems like the floppy tunes coding is the way to go since I could easily tweak the frequency and duration of notes. I would certainly appreciate the chance at checking out your java tool if you want to send that my way.
Will do. I believe you can grab it in the mobileTunes 1.0 zip at ticalc.org.
Quote:
I am wondering though, to streamline things, if there are any other tools out there to read a type 0 midi as note/duration and output frequency... Sounds like an opportunity!
Indeed! The mobileTunes 3 converter that I wrote does that, but the notes then get further post-processed extensively. If you could manage to make the mobileTunes 3 converter spit out info for a one-track MIDI, you could definitely convert that output to work with floppyTunes; you'd strip off three of the five columns to remove three of the channels, then adjust the duration value.
Quote:
Did you end up writing the code for clocks from scratch? I want to show this to some guys at our upcoming e-week and was hoping I could figure out how to code some ACDC or something similar. Thanks again!
Sounds great, and if you do it, I'd love to see/hear the results. Yes, I wrote it from scratch for the original mobileTunes 1.0 player, which was monophonic, so I was able to re-use it with minimal work.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement