View Single Post
Old 19 June 2013, 12:11   #12
Registered User
thomas's Avatar
Join Date: Jan 2002
Location: Germany
Posts: 5,717
Originally Posted by 8bitbubsy View Post
Ok, so I assume it's an error in the BASIC interpreter's floating point that Lars (?) used... Or maybe PERIODTA.BAS actually generates a more correct table, like the C code, but that he edited the "errors" by hand to match the older tables found in Ultimate Soundtracker.
Ultimate Soundtracker's table is also wrong (and identic to the ProTracker one, but without finetune shifting), which dates back from 1987 (!):
	dc.w	856,808,762,720,678,640
	dc.w	604,570,538,508,480,453
	dc.w	428,404,381,360,339,320
	dc.w	302,285,269,254,240,226  
	dc.w	214,202,190,180,170,160
	dc.w	151,143,135,127,120,113
	dc.w	000
Maybe I can get in touch with Karsten Obarski and ask him some questions. He has by big chance forgotten all of this though, but it's worth a shot.
Anyways, the table *must* be like the one used in ProTracker, because I am looking up and comparing values, to get an index (which is the note ). These hard-coded period values are inside the MOD pattern data as well. With the "correct" table, I get wrong notes (not by a cent, but by a lot!).
Perhaps this table cannot be calculated. Perhaps the creator of this table used a tuning fork or a piano or an oscilloscope to calibrate each single value while his Amiga played a tone. This would include hardware tolerances which cannot be described in a mathematic formula.
thomas is offline  
Page generated in 0.04240 seconds with 11 queries