.:diary:.







here you can find the current state of the project in detail... problems i'm fighting with...maybe only interesting for freaks...anyway....just read and fall asleep: :)


01.07.2005 10.15
the ml 303 twins are done...so i continued my to work on the ultra tb-303 firmware version again... and well when i went to bed tonight...nothing worked...and i could not sleep because of this shit ... so i get up again at 2.45am and could solve the problems finally...so now ultra303 is working fully on the tb 303 again... niceness... now i can continue the firmware itself... ok i need to do a new prototype as you know the current doesn't fit into the 303 at the moment because of the cpu socket and bla
ah maybe when i'm motivated i will do a new video of the ultra 303 running on the tb 303... well the old video from the ml 303 is not very good in quality with the new digicam i can do a better one... maybe i can do it a but smaller than 10 mb...this month i nearly reached my bandwith limit because of the video...
damn i really have to redo the webpage...it's the frontpage displays the text somethimes wrong...but i'm no html expert...hm stressy work... hmm the 303 loose connection is still not solved...yesterday during testing it happened again... no sound from the 303...arf
anyway... stay tuned


29.06.2005 11.33
the new soldered ml 303 v5 are finished now...and working...hurray ;))
but unforunately i didn't have 2sc1583 transistors anymore...so i just tried to use 2sc945... and well the result is better than expected...
->v5o_1.mp3 this one works with the 2sc945
->v5m_1.mp3 this one works with the 2sc1583
i replaced all 2sc1583 with the 2sc945 ...means the 2 1583 in the filter and the one in the osc was replaced...
ok the 1583 sounds a bit better...but i've expected a much heavier difference


28.06.2005 10.58
one the ml 303 clones is nearly finished...only the sc 1583 is missing... i really hope it arrives soon...
some pics with the new digital cam:




15.06.2005 23.58
in the last days i did some soldering on the two ml 303 v5...i'm nearly done with them...only some parts are missing...
some piccies:



15.06.2005 23.58
did not happen much today...mostly i watched soccer ;))
but something arrived today:
my soldering job for the next days ;)


15.06.2005 10.07
i had to fix the loose connexion yesterday again...now i did it with cables so i think this should work a bit longer ;)...



i really hope this never happens to your tb 303 ;)
i continued to port the source to the tb 303 yesterday...did some debugging and stuff...
well i just wondered why the sequenzer just plays random notes...he ;) in the end i recognised i forgot to send the note to the dac...;) and i could remove a long searched bug ...the gui freezed sometimes for 1-2 seconds...and finally all crap signs on the lcd are gone...
so far all is working fine... i had a testsession yesterday and all seems to work pretty good,,,at the moment there aren't bigger problems which have to be solved...except of the prototype doesn't fit into the tb 303 ;) i think i will do a new prototype next week... i already order some smd parts which should arrive today...
ok leds aren't supported yet...but this is more a problem of the firmware itself...i mean i don't use them at the moment... all is done over the lcd...so i will include it later...


14.06.2005 09.48
yesterday was a bit of tb 303 reparing... as i told you the pcd is broken because of a musicbox...i figured out where the loose connexion it... now it's sounding again how it should be ;)
beside this i did a bit of bugfixing...the gui freezed from time to time... hell was that a stuipid bug ;) but there is still one strange behavoir i could not figure out yesterday...i went to bed at 3 am and could not sleep because of this shit... damn 303 ;)
but i'm optimistic i will find it soon... i already know the area in the code where the strange behavoir happens so can't be too hard to find it out where excatly...
seems the current prototype does not fit into the tb 303...he... well i have to skip the ic sockets in the final release... but this is no bigger problem...


13.06.2005 10.40
i did only a bit yesterday...but so far...analogpart, switches and leds are working again... i already can nagivate thru the menus and editing and stuff... and it replays a pattern...but did not do a deeper test yesterday...
but my 303 is a bit broken...i mean ...one year a ago a music box fallen down on the cutoff knob...so you can imagine the how the pcb of the 303 looks like ;))... somewhere on the pcb is a loose connexion ....before i can continue i have to solve this problem... but in generel it looks good... the hardware is working...software is nearly working again on the tb303...
hurray ;))


12.06.2005 01.01
i could finish the hardware of the new tb 303 prototype today...and all seems to work so far i could test it...some piccies:



on the left picture you can see the current prototype...the switches on the left side are just some development switches... one is a serial switch for midi or connection to the computer the other one is to force the cpu to start the bootloader to upload the firmware... sure i could upload via midi but hm this takes too much time i mean the entire firmware is now round about 25 kb... it's pain over midi...;)
on the right side you can see the connection to the tb 303...all needed connections are done over this 40 pin cable... so...you can imagine the installation of the ultra303 hardware is pretty easy...just desolder and socket the old cpu...and plug in the new pcb...and all is fine ;) if you want your old tb 303 back just unplug the cable and put back the old pd650...plug and play ;)
that smaller pcb on the left side is to upload the firmware via serial connection...of course this is not needed in the release version...
the last tb version of the firmware is nearly one year ago...i changed the assembler some monthes ago... unfortunately the syntax is different to the old assembler...so the tb specific soures need to be changed to assemble ok on the new assembler...quite stressy and boring job...
so far the lcd, midi and memory is working... tomorrow i will add the switches and leds and finally the analogpart... hope so ;)) depends a bit how heavy clubbing will be tonight ;)
cheers !



08.06.2005 21.31
i continued today to work on the tb 303 ... well i didn't used it for monthes now... so i have to do some stuff to get it reactivated... i bought a new switchboard overy ebay...so i build it in today...kicked off the internal midi stuff...i used it only once and well i never was a real fan of it...
and finally i build in the lcd in today... it cost me quite an effort to drill a hole into the case of the tb... to saw a rect out of it...



ARF...
but anyway...there was no other posibility to place the lcd...so... finally it looks like this...



but this is a fake ;)
as you can see i didn't even plugged all switches from the old switchboard back to new tb switchboard...anyway was just a test to see how it looks like...i think it looks quite good ;)



06.06.2005 23.45
today i checked the last tb 303 prototype layout again...and it seems to be ok...so i started soldering ...the pcb i already did a few days ago ... just to see if the track width is working fine...
here some pics:



on the left you can see the pcb before drilling... 0,15 mm track width is working fine... quite good for home made pcbs i think...but as you can see not finished yet...i hope i can bring it to life in the next days...*arf* have to do the laundry now...bla ;)
stay tuned...


05.06.2005 17.46
i've included a small new feature to the ultra303 firmware... now it has a mini 909 emulation included... of course no high quality samples ... well i often play with the 303 on my couch and i always missed a small drum thing...sometimes a line sounds good...but with drums you recognise it's out of sync...
here a small preview:
->beatbox.mp3
but i'm not sure if i will include into the final version... well leeches a bit much cpu time ;) or maybe i will change the crystal... the cpu is not running at 100% power yet...48mhz... 60 mhz is possible...


01.06.2005 22.06
doh ...no new steps to the new tb 303 prototype...first i had to check something... yesterday i've got my new toy...



on the left you can see a sharc development board... sharc is a dsp from analog devices and it is used in for example the creamware pulsar II...on the right the dsp stuff i bought in the last monthes...
well i searched a long time for a new processor...which one to choose for the next project ? much of research stuff... how fast is it...how does the development environment looks like...and well analog devices beat them all...cool stuff... ...one thing was clear...it shouldn't be a 8 bit cpu... i'm so fed up with 8 bit stuff...it's so limited and slow...and diy for others isn't soo important for me...so what to choose ?
i've decided to use this one...:



it's one of the cheaper sharc dsps sometimes you can grab some on ebay... sometimes ;) ...yes. but anyway it's a pure dream to do stuff with it.. it has 66mhz 32 bit... 198 mflops... 10 dma channels..on chip memory...ok no flash but anyway...this is not bigger problem...it can be booted from a 8 bit eprom...
at the moment i'm not sure what i will code on it...a synth for sure...but i hear you cry...this will not be a 303 clone...one 303 project should be enough;))
but this is really a future project...what a luck i'm doing this project not only by myself...a guy is doing it with me... he is more into electronic things like me ;)
of course utlra303 has highest priority this one will be finished first...even if it's hard to resist ;)...



31.05.2005 07.52
still working on the new tb 303 prototype... well yesterday i recognised again the autorouter from target is not really the best one...i tried out just for a test the connecteda electra router... and i was impressed...super fast and it routed my small prototype without problems (just in seconds target needs minutes) and well the result looks even better...anyway i nearly bought it but 299 for a 1000 pin limited version with 2 layers is too much... and well 1000 pin is also not enough... next bigger version costs 580 euro...oerks...
anyway so i had to take the target router again...to route by hand is out of question...well i'm doing too much misstakes so to use the target router is the better choise...he ;) even if it is shit ;) beside this i found out some tricks to get my pcb routed now... niceness... so if you know the problems of the router it's more or less useable... and well it's for free... so let's see after squash today if i can manage to get my ass up...to do last circut check and maybe i can do the first pcb of it...

oh just recognising...ultra303 had a birthday at 13. of may ;)


25.05.2005 14.04
i continued the layout for the new tb 303 prototype yesterday...all tracks are done now...and i could reduce the pcb size to 5cm * 6cm...so it will fit for sure into the tb 303 ...i've recognised a good place directly under the switchboard... have to check if the batteries would still fit then... so maybe there is some more room left... even more cool is the in/out ports of the processor aren't not all used yet...so i can add more features... i'm thinking about to include an ad-converter for potentiometers... i've found a good one which can handle up to 11 inputs with integrated multiplexer...and serial access... just perfect... so i could do a additional edititing board to have some realtime access to the new sound dco features...i recognised is not very funny to edit the dco sounds via pc...
stay tuned...


23.05.2005 23.46
in the last days i worked a bit on the new tb 303 prototype... today i could check for the first time if the pcb will fit into the 303...here some pics:



as you can see ...space is very limited inside... so let's see if it really will fit... i hope so ;)


09.03.2005 23.18
first pictures of the new prototyp for the ml 303:



at the moment i didn checked if it's working...but i'm optimistic...looks very good... the pcb itself is i think one of my best i've done till now... as you can see the big conntector is for the lcd...the small one is for the dac (the sid emulation waveform generator)

this will be the first prototyp which will leave the borders of kiel ;))

lower side of the pcb...



next stuff to do will be surely to get my tb 303 working again

at the moment it looks like this:



somehow it hurts to see it like this ;)
that's it... stay tuned



09.03.2005 08.15
i did some smaller steps on the sid emulation in the last days... but yes some previews are missing... i will do some in the next days... beside this i started to do a new prototype (really hope the last version of it ;)) for the ml and tb 303 fair in cologne in september... but i hope this is finished soon...


28.02.2005 09.53
much of code in the last 2 days... and well i'm now sure i can do what i'm planned so i'll tell you now the new feature of my ultra303 firmware...

the ultra303 firmware for ml 303 and tb 303 includes now an emulation of the commodore c64 soundchip sid (sound interface device). of course the emulation can do a bit more than the old c64 soundchip... remark this is an emulation means the cpu of the ultra303 firmware emulations the behavior of the sid...
what does this mean ?
it extends the sound sectrum of the 303 dramatically...you are not fixed anymore to a saw or pulse waveform

here some detailed infomation about the sid emulation...

main section:
-------------
-i think i will do 4 sid ocs...round about 66 @22khz are possible...but anyway i've decided not to do a polyphon feature...the 303 should stay monophon otherwise the internal sequencer doesn't make sense... for a normal sound a 4 osc thing should be really enough...
-main volume...
-main bitcrusher...
-main overdrive...
-main distortion...

osc section:
------------------------------
-volume for each osc
-semitone, detune, wave offset
-beside the standard waveforms from sid (saw, pulse and triangle) i will add a sinus too...all these 4 waveforms are mixable for one osc means you can use these for at the same time as a waveform source...
and you can upload up to 16 user waveforms...noise is not working at the moment but working on this
-wave shape
-pulswidthmodulation
-sync and ringmodulations effect.
each! osc can be synced und ringmodulated at the same time ...there are two sync modes available and two ringmodulation modes...
-osc bitcrusher...
-osc overdrive...
-osc distortion...
-fm
-lfo's... most of the features can be modulated via lfo...interresting is the osc's can be used as an modulationsource...

the patch creation for the sid emulation is not working over the 303 itself...for this i coded an editor on pc...that's much easier to handle...

each feature of the osc's is available via midi controller...

the editor look like this:


i'll upload some examples later...maybe today

that's it...cheers



25.02.2005 23.12
woar...today was a real coding maraton... when i came back from work at 3.30 pm i direcly switched on the computer and coded the entire time on the new feature i'm working on... works really good so far...i hope i can finish a first beta of it on saturday... ;) coded 22kb source in the last 2 days...that's heavy .. but should be enough for today...i'm totally tired now ...


24.02.2005 22.38
since some days i'm working hard on a new feature for the ultra303 firmware... the most hardest stuff is done...and well i'm was absolutly surprised about it...it works really good ;) but well... i won't tell you what it is...i want to finish it first before i make it public... that one will be a great feature ;))
i hope i can get it into a beta till weekend
cheers


21.02.2005 22.52
updating of the firmware is working ;) !
greatness...
beside this some smaller updates of the page...



21.02.2005 00.24
i continued the firmware updater via midi today... extended the ultra303 pc editor a bit to be able to send sysex messages to my ultra303 hardware and started to code the receiver on ultra303 side... it's working quite good at the moment... connection to the 303 is working and i could send the first 128 bytes and after it i could burn into the processor... niceness...i was a bit doubtfully if all would work ...ok at the moment it's not a bootloader ...i just start the uploading from a sub menue point...but ti do a full update of the firmware i'll need one...otherwise during uploading the firmware update code get's overritten...hm i hope to do a bootloader will not be that hard... anyway that's a good step for finishing ultra303 ! ;)



19.02.2005 22.46
i had a massive coding session since friday... i added really much features to the firmware...see here a detailed list:

-some bugfixes

-improved edit menue shortcuts again

-improved the new random mask feature a bit...or better the random mask editor to edit them more effectly...(that random mask feature means you can generate for a part of the pattern random data... very useful when you found a good pattern but only a part of the pattern is sounding bad...so you can generate new random data only for that part of the parttern) of course the random feature still covers a switchable random generation for note up down accent and slide ...means you can just generate by random slide or accent...or just notes...just how you need..

-reactivated midi again...i didn't used it for a long time and it just crashed...anyway i could remove the bug ...before i searched nearly the entire morning midi didn't work at all...he ;) just soldered the cables wrongly ;) hm how stupid

-again a improvement for the random generator... now it's possible to do a harmonic correction...which means when you know in which key your chords are or moll/dur or what ever you can do a automatic scale correction... so you will never get disharmonic notes in your pattern during random again ...of course you can execute this function for normal patterns to let ultra303 do a scale correction of your manually created patterns... the harmonic correction has at the moment 20 scales to choose from like dur,moll,chinese,arabic, blues and so on...really a nice feature i think
br> -bpm count is now finally adjustable...before it always ran on 135 bpm ;)) in 1 steps or 10 steps...so very easy to setup the bpm count now.

-beside a normal init function like "init silence" and "init 1/16 c" for the entire pattern...i added a more complex clearing function...means you can use very like the random mask a clear mask to clear parts of a pattern...of course here you can select if you just want to clear notes accent slide up or down separate....

-transpose up and down is now working over a transpose mask (like random or clear)

-added a lcd busy feature... the lcd needs a special timing to work correctly... you send bytes to it and you have to wait until the lcd displays for example a char... when you don't have the correct timing the lcd shows rubbish...so i've decided to use the busy flag from the lcd to know when the lcd is currently working to display the char...before it was always a bit of guessing...now it's saver and much faster ;)

-started to implement uploading of the firmware via midi...but not very much coded till now...just very at the beginning
br> as you can see this weekend nearly looks like a extrem ultra303 finishing session...so lets see what i can finish tomorrow...i really hope to finish that uploading of the firmware soon..that's the last big part left...
br> but i also recognised some bugs...for example slide is not replay always correctly..arg
anyway i'm optimistic to find this problem soon...cheers !

some stats:
nearly 10000 lines of code..
55 source files
170 kb source




17.02.2005 23.23
cool!... some new code for the firmware today... removed some smaller bugs...added menu shortcuts for the sub menues...so it's much faster now to nagivate thru the edit mode sub features... just by clicking one of the "note" keys... really useful...
beside this i improved the random feature again...wow that's so a cool feature...really funny to play with...i think in general one of the most complex random features now...but there is one idea left... i will include in the next days...
it was real fun to code some new stuff again today... it's 5 monthes ago i did the last changes to the firmware...well worked hard on selfmade pcb's in the last time...and i did some testing... all is working quite good at the moment ;)


16.02.2005 21.25
finnally the new process is working 100%...i always had problems with the eeprom...it just didn't work...it was just a small cpu register which was invalid...hell i nearly got mad because of this...
there is really much to learn about the new processor a bit more complex like the old one... i really thought the cpu change wouldn't be that hard... thanks god the problem is solved now;)
beside this i change the assembler in the last days...that was *real* work...i had to change and rearrange all sources...but in the end it was worth... hm before i used progstudio and well it doesn't show assembler errors in include files...means the direct position and in which file ...it costs me hours sometimes just to find a simple typo in my source... that dropped down motivation very often... and after i changed to the new processor much defines different..and browsed the source like hell ...in the end i've decided to spend 3 days of work to change to the new assembler... during the change to the new assembler i find some really heavy bugs i never recognised before
the new assembler is much more clearly arranged now and much more possibilities ...i should have done this monthes before...


11.02.2005 21.36
today i've got the new processors...of course i tried them...and uploaded the firmware and well... and hm didn't work... i nearly got mad...but after some source browsing i got it to run ... hell that was so stupid...just one number was invalid...well the others did not die because of the microcontroller burner...it was just a simple coding bug...sometimes not too good to have too much trust in your own code ;) *uhh* anyway but well in the end i'm just asking why it did work on the old processor... anyway it's working now...that counts... but puh that problem is solved... had some sleepless nights because of that... so i will concentrate to midi firmware uploading now...
the parts for the new project are complete now...but hard to resist ...nope ultra you have to finish ultra303 ;)


09.02.2005 23.18
hm...worked a bit on the new prototype for the tb 303 today...and well... i'm totally disappointed about target 3001 my layout software... didn't expected it has so much bugs...you always have to check that it routs all lines correctly...hm it's nearly better to do it by hand...the full version costs over 1300 euro and makes routing mistakes and short circuit between signals... that's sorry absolutly crap... anyway but i guess i have to accept this...to change again to eagle is out of question...hm ok i can't thrust the result of target 3001 but hm eagle is more a pain in the ass ;)
beside this only a few parts are missing and i'm ready for next project ;)...so i hope the new ordered processors will arrive till weekend so i can start the ultra303 finishing session...cheers


07.02.2005 21.52
seems the new processors died when i tried to burn them in my microcontoller burner... well the new processors can't be burned with my old one but this i recognised after i tried all ;) anyway one port is definitely dead when i put all pins to high i get 0v ...so i ordered today some new...


02.02.2005 22.45
today was a good today...i finally could get the new processor to run with the new prototype i did yesterday...means esp. i can use isp for uploading the firmware. isp (in system programming) means i can upload the firmware now without pulling out the cpu everytime to burn the firmware. another important step to do for example firmware updates via midi... uh...i'm shifting this problem since monthes... ok not woring 100%...after uploading and starting the firmware i can't press a key...the firmware just ignores it...but i guess this is because of the pullup resistors for one port...i think i don't need them anymore with the new processor...but i'm optimistic that isn't a hard problem... well have to read the datasheet a bit ;)
but really nice all hardware problems are solved so far... and uploading needs only 4-5 seconds via rs232...i didn't expected it's so fast... beside this the new processor can run at max 60mhz...and has more memory... so tomorrow i really can continue to code the firmware...
yesterday i did already a bit of testing... and seems to work quite good so far...to use it in a song the firmware just needs some small fixes...important have to check midi again...didn't used it since some time...
so since the new processor is running...i can do a new prototype for the tb 303 ...today i just checked it on the ml 303 prototype... hm to do the tb 303 prototype will be a bit of work i guess... i'm using a new cpu package (plcc68) dunno if i can find a correct component for target my layout software...ok maybe i have to do one for my own... btw. ultra303 is running since eh since 7 monthes on ml 303 but didn't say anyone...;)


02.02.2005 10.10
as you can see a big page update today...
hm odd the page doesn't 100% correct on firefox... so do not wonder about a bit confusing stuff ;))
anyway let's get to the interesting stuff... have a look to the pict page there are some more photos of the new prototype which is now running on ml-303. i've decided to use the ml-303 to develope the ultra303. that's more safe for me don't want to blow up my tb-303 ;))
ultra303 is working quite good on ml-303 at the moment it's running on v5 only but i next prototype will be also running on v4...v3 should be possible too...
there are some fotos about the pcb and the finished and already running ultra303 on ml-303:

as you can see i selected much better switches... so finally the hardware problems are solved now i will try to get my new processor to run.whichs allows me to upload the firmware via midi...
but of course after i got the new processor to run i will do a prototype for the tb 303...;) but really nice is if all is finished i have the same firmware for all my 303 machines means for tb 303 and ml 303 v3-v5. good to work with i think esp. to exchange patterns...


26.01.2005 23.48
yesterday i've got my new hot air soldering station for smd stuff...
nice thing... so i've started to exercise smd soldering...after 9 smd memory chips of my old matrox gfx card i was able to solder this:

looks not too bad mh ?... the chip in the middle was the last try... so my electronic equipment is nearly complete... to make good prototypes... ;)



21.01.2005 21.10
i did some stuff on the new ultra303 prototype in the last days/weeks...and finally i've got a laserprinter at home that helps alot... so i don't need to go to work to print a layout...

i've thought much about if i release ultra303 or not... and well i've decided not to release it... so i can finish the ultra303 project this year and i can start with my new dsp based hardware project ;) i did much of research stuff for the new project in the last days ... friday ...weekend is near...! hurray


27.10.2004 21.10
just by accident i found yesterday the perfect cpu for my little hardware project...it has 48 i/o pins... enough to drive all 303 signals...without port extensions and stuff... that reduces the pcb complexity for the ultra303 much...


24.10.2004 07.37
finally... the self made pcbs are working quite good... i could perfect double sided pcbs with full thru connecion of all pins... that was a real hard job...it tooks me monthes to perfect that stuff..and it looks like this:


12.09.2004 03.47
greece was great... 11 days without computers.... really relaxing...no update for a longer time... i know ;) but i'm still trying to perfect my selfmade pcb's since weeks...it's a a bottomless pit...but it slowly seems to work quite good... so much new things to learn how do i create schematics with target... and how do i get the best result result after exposing and stuff... yesterday i did my first double sided pcb with full throught connextion of all pins... of course a good step for finishing ;) really interesting stuff in general...and beside this a good change from boring coding ;) unfortunately all takes a bit longer...well this is my first hardware project so i have to learn and find the best way to do it... before i can use it...time consuming...


20.08.2004 10.45
my vacation started 3 days ago...and tomorrow i'm off to greece for a while...


14.08.2004 05.49
i've got yesterday the new cpu's i've ordered for the firmware which is able to to handle isp (in system programming)...which means it's able to programm the cpu rom in system... so i can update the firmware via midi...but i have to change the bootrom of the cpu... normally the firmware is uploaded via rs323...no one really wants this...hm normally no problem but well i can't programm that cpu with my old cpu programmer to create a bootrom for it to load from midid ...but well don't work ARF... hmm
double ARF !!! i thought it is compatible to my old one hm...that's a real pain in the ass...so i have to find a different way to handle all...bla...just hearing snap ..."i've got the power..:" i hope i've got it too to solve all that stuff
beside this... the old cpu can only handle 32 kb bytes of firmware memory...i'm close to the limit of 32 kb...arf...hm did i said double ARF !!! already ?....but anyway.... at the moment i don't need 64kb for the firmware...so i can continue with the old cpu...sometimes i wish i had a arm cpu ;) sometimes i feel i have to reinvent the wheel...bla... sometimes for someone which is totally in in hardware business a hard job... but well...the new cpu can handle 60 mhz !!!...more than twice fast than the old one...so much more is possible...but as you can see much of problems...so stay tuned


05.08.2004 22.20
i did some research about rotary encoders today...and i've decided to include one... very nice to setup values,to navigate throu the menu or for example to change the step position in the note/time editor...very handy for the gui... i found a cheap one from alps cost 95 cent...really cheap...


03.08.2004 21.50
got midi to run again this morning at 3am...bla shitty bug...
i did some stuff for the syncing to the sequencer today... did some latency checks and well first test showed me 35ms latency...ARG...35 ms was really too much...but anyway this afternoon i had a closer look again...and *gg*...i forgot to remove from the midi routine the lcd test printing if something reached the 303 via midi...bla...after i removed this it was 7ms...that's quite good... i checked it agains the access virus and it has oeh round about 10-15 ms or so... here is the first test sequence synced to cubase:
->synctest.mp3 (945 kb)
and a picture how you build up your song...

as you can see...when you hold down a note in cubase...the 303 replays the pattern...the c-2 selects the first pattern...cis-2 the second...and so on...very like tb 303 emu audio realism... i liked that kind of handling...so i copied it ;) that means the track mode is not needed anymore when you decide to extent your song...you just shift the 303 notes in cubase and you don't need to change the trackmode from the 303...that saves time !


02.08.2004 21.07
much of bugfixes today... esp. like the random feature filled round about 200 bytes too much...stupid bug... reading and writing of patterns is working ok finally... shift left right is finished now...and added some shortcuts to jump to the first middle and last step of the pattern in the editor...extremly useful ...
but midi is still not working... i rechecked all source again...hm hardware is ok so far...but i have one idea left which i will check out tomorrow... i think i will skip the reverse pattern feature...i guess not very useful... but i've decided to add an insert and delete step during editing...that will be surely nice to have...hmm the edit menue is almost complete from that what i want to include in the first version... so i can start to include the replaymode ... i already have some ideas...the 303 is showing the note and efx during replay...i love flashing led's ;) but i really have to recode the led multiplexer...it's just sick at the moment... so let us hope tomorrow it will be rain day...otherwise i have to go to the beach ;)


01.08.2004 00.51
i did much of minor bug fixes today... included the pattern shift feature from the edit menu... and changed some stuff in the gui... and tested a bit... hm seems pattern read and writing has a bug... sometimes...anyway
time to do a todo list to see what is left...
i bought a 606 at weekend...maybe a future project ;)


29.07.2004 23.10
the new eeprom is working now... but midi is not working again...odd stuff...anyway too tired from badminton to figure it out now...;)


27.07.2004 22.28
did some smaller changes today...all is working fine again...and some source cleanup...but not motivated to include the new eeprom now...;)


27.07.2004 08.28
i did some bigger changes to the source yesterday...to make it more flexible...also some porting and stuff but this should be finished today...so i can continue the main work... but hm the assembler i'm using drives me mad at the moment...i wish i had an ide like mlap from microchip... i wasted nearly 2 hours to reproduces a bug...the #ifdef #endif feature seems not to work how i expected...or better it doesn't work at all ;) that's oerks...anyway well batronix mc programmer are nice...but the software for it is well not the best one... for example... mostly you build up your source code with sub sources which are included...the subsources can include other sources again it's something like a source tree...so when a bug is in a sub source... i only can see ...well there is a bug...but i can't see where in which sub source file or the line number...that sometimes take years to figure out where is the bug... or not macro support... today during raving i thought to myself maybe a good time to change the assembler now...


23.07.2004 09.42
in the last days i tested much with doing pcb's by myself and stuff...so no direct code for the firmware... but i've got my new eeprom on friday...so i can finally include it...


18.07.2004 01.52
i tested a bit with pcb layout prgs the last days... well to be honest...i really hate eagle from cadsoft...but i think i will use target 3001 to create my pcb's... really handy to use and bla... ;)


15.07.2004 08.15
yesterday i started to implement the transpose up feature for patterns...hm but wasn't very productive...somehow i was mega tired and it didn't worked in the end...ok now it's clear why i didn't work...so i hope i can finish it today...


12.07.2004 22.49
finally i did today the needed bigger change for the internal pattern format.. that feature i'm shifting since hm i guess 2 weeks or so and was done in 30 minutes ;) dunno hard to motivate at the moment...;)
but now i have 2 additional bytes for every note...so i can setup 2 velocity values or so for each... all was changed ...pattern reading writing...and all functions from the edit menu...ok the online editor is not changed yet...anyway no movtivation to do this now ;) maybe tomorrow...
somehow the sequencer wobbels at the moment...hm dunno strange...i will check tomorrow if the old source version wobbles too...so surely no bigger problem...


07.07.2004 22.49
i did some planning today...and changed the handling of the gui a bit...i think now it's more intuitive to use...hm i really need to do that bigger change of the internal pattern format...otherwise i don't need to start with the dco stuff..oerks... most impressive thing was today my total lazyness ;)


02.07.2004 17.49
well... i included as you maybe know a dac some days ago for the filter velocity...today i could not resist ;) when i came back from work i did a copy of the current source...did a small timer and did a small waveform via the cpu connected it to the 303 and well...and it works !... i just had to test this ;)
->tb303_dco.mp3 (711 kb)
ok i know not impressive...but cool...so it really seems to work how i planned to do the digital osc ;) i was not sure about how can i feed in the new generated wave into the tb 303...well i'm no analog freak... but i found the right point to feed in...
but of course...the other stuff is more important... so this was just a small test and will be continued later... but good step today...;)


01.07.2004 18.48
midi is working again...after an endless search i finally checked if the midi cable is working...and it didn't...bla... that was really stressy...
so i could contine the filter velocity today... esp. i added the filter velocity to the online editor and so on... but something is strange...somewhere is a bug... when i let a led flash via the filter velocity it's not the same i set up in the editor...hm that's really odd... anyway... for the filter velocity i have to change much ...the internal pattern format and so on...and hm of course all routines which are accessing the patten...also the edit features...stressy...dunno why i didn't do it from the beginning...a good job for the weekend ;)
some stats:
firmware is now round about 26 kb long...so 6kb left for code...otherwise i'm running into problems ;)
3301 lines of code



30.06.2004 08.52
i did yesterday the dac code for the filter velocity...added some lines to the sequencer to check if it's working...and seems to work ;) i recognised the filter control is logarhythmic ...hm so i have a to do a convertion table...that's stressy... and dunno why ...hmm the midi interface don't work anymore...bah i hate that...but i could not figure out what's the problem till now...anyway maybe i can find it today...
stay tuned...


28.06.2004 20.32
i'm working out the filter velocity at the moment...i think i can include it in the next days to the test pcb...
23.43
the hardware is done now for the filter automation/velocity...but not tested yet...the software part is not done...but too late now have to catch some sleep back cause of yesterday ;) hm i really need to note down the schematics...otherwise i forget the most ...but stressy work


21.06.2004 21.09
cool... pattern select via midi is working...so i could use the new firmware to do for the first time music...ok didn't do something serious...but cool it works ;) so even after a drop out from cubase the 303 is syncronized after the next bar... good to work with... first i had mega problems... it didn't synced ok...and i thought hm maybe the timer accuration isn't good enough...the problem is u never hit the bpm speed for 100%...it's always a bit slower or faster...but in the end it was so stupid...the sequencer ran on 135 and the 303 on 140 bpm...hell aua...anyway with correct bpm count on both it syncronizes pretty cool...
so today was a good break thru...the firmware is getting slowly usable now...;)


19.06.2004 13.53
i included today the second syncmode...via internal bpm timer...works fine so far...so i only have to include the pattern select via midi and i can do my very first song with the new firmware ;) great ...maybe i can finish that thing today...
damn...euro 2004 soccer leeches too much time...;)



13.06.2004 15.15
the eeprom problem is solved...puh... so i can continue now...
pattern read and writing to the eeprom is finished...
included some features from the edit menu:
pattern copy 8->16
pattern copy 4->16
pattern copy 2->16
and some bugfixing in the random pattern feature...
finally i checked the difference between my and the rebirth sequencer... and it really seems rebirth is different here from the original...when you do two notes ...on the first one is a slide on the second an accent... in rebirth the accent is played...on the original not...so my sequencer is ok...fine


10.06.2004 23.54
today i had a nice idea for a new feature in the edit menu...i was thinking about the random pattern feature...and well you know that you create a random pattern and it does not fit into your chords... so the idea was to create a feature which fits a pattern into a key tone like c-dur...so you don't have disharmonic notes anymore...another feature would be a harmonic shuffle...which shuffles the existing notes in a way that it always fits into the tone key...


09.06.2004 19.23
hm...somehow the eeprom seems not to work anymore...i already changed the eeprom/cpu and switched back to a backup of the sources...but it still don't work...that's odd... hm maybe i can find it later what the problem is...strange is it didn't work anymore from one day to another...so it must be a hardware problem...hm


08.06.2004 15.00
i was a bit bored at work today...so i coded the routines for the vco replacement... to interpolate, mixing and clipping waveforms... i was a bit surprised worked very well so far... so now i'm able to generate multiple osc's on my cpu...i only need to add a d/a converter and i could start with the vco replacement...but the other stuff is more important...that was just to see how fast interpolation and mixing/clipping will be...and it's quite fast ;) of course a polyphonic tb 303 would be possible...but it would have only one filter/vca...i guess that's quite senseless to include polyphony then...


07.06.2004 21.36
i finished today the random generator...niceness... i recorded a bit of the stuff the 303 replayed during i was testing the random generator...did some bugfix too but mainly i tested the firmware today...works really nice so far ;) get the testtune here:
->dreh303.mp3 (3,3 mb)
it starts a bit boring...you will hear the standard 1/16 c pattern...but later it gets more and more complex...very good to hear the possibilities of the random generator...first i create slide...then accent ...up and down...and finally notes...and so on ...in the end i just generating all jumpled...this is only one pattern...at the moment i only can replay one pattern but that will be changed tomorrow
i love that kind of noises ;)


06.06.2004 17.52
i finished today the time editor...and i changed the pitch mode again...now it shows previous current and next note...that's much better ...but i'm now able to edit an entire sequence on the tb 303 with my own firmware...that's a great and important step...;)
so i started to include the features of the edit menu... i included:
Init Silence
Init 1/16 C
and at the moment i'm working on the random pattern generator...hey that's crazy stuff which comes out of the generator...really funny to play with....nice half an hour i'm just pressing the randomize key and playing with the generated patterns...;) the random pattern generator is a bit more complex than normal ones... you can setup what should be randomized...means you can only let the generator ramdomize the notes...or only slide or accent and stuff or all...anyway how you need it...it's possible to randomize parts from the sequence...means for example when your randomized sequence is cool but the last 4 notes are crap...you just can generate 4 notes...
but great... all is working really good at the moment...no bigger problems...when it continues like this i guess i can do my very first song next week with the new firmware... but for this i finally have to include pattern reading and writing to the eeprom...at the moment i just use the internal memory from the cpu...but that's no big deal...


04.06.2004 14.39
the problem with the swiches which were pressed by ghosthand is gone now...i just checked my idea i had yesterday night...and it was really the problem i thought of...so next will be the time mode...at work i was thinking about ...maybe it's an good idea to include the time mode itself but also a possibility to change the time in the pitchmode...for example by clicking the bar key and for example note on/off and stuff...that would make things a bit easier...i mean otherwise you always have to switch between the pitch and time mode...hm i will include both to see what is the better way to edit....
beside this i browsed a bit and searched for port i/o expansions via i2c bus...and hm seem i will change the in and out ports later to i2c bus ic's...the main reason for this is i can't do two layered pcb's or hm never did it until now...without i2c i have to do much of cables to connect and bla...that's time consuming to finish a pcb...


03.06.2004 22.23
the pitch editor is working so far... even with editing of notes accent slide up and down...funny to play with... never could edit that part of a 303 sequence that comfortable...of course the online pc editor is more comfortable but anyway...but to edit the sequence on the 303 itself niceness... while testing the editor i recognised...it's better to display the current previous and next note...not the next two... esp. for slides and stuff it's more interesting to know what was the previous...but there is really a small problem...sometimes keys are pressed by ghosthand.. i but only during the sequence is running... but i already have an idea what the problem could be... i will check tomorrow.
heavy...the new firmware is already 16,3 kb long...i thought 8 kb will be surely enough...of course the menu texts blowed up all a bit...i mean 5 days ago it was 8 kb... hm so i have to use the more expensive cpu with 32 kb flash code memory...there are many of features missing...like the entire edit menu and stuff...but anyway the cpu costs 7 euro...instead of 1.93 euro ...so no real problem ;)


02.06.2004 00.15
nearly all memory variables are now shifted to another memory position...and suprise all crashes are gone now...that's cool...so i could continue the internal editor today...
i'm slowly getting an idea why the tb 303 internal editor is that cryptic...for example why you have to hold down the "next" button to edit accent slide up and down in the pitch editor...it's just because of the hardware...the problem is the leds are controlled via a matrix ...means for example when the c led is on and you try to switch slide on too...the down led with light too...because of the matrix...when you press down "next" there is never the note displayed...because of that...so i really have to change some things in editing...because i never liked that pressing "next" to edit the efx...with old switches it often jumped one or two note and bla...so the accent slide up and down led will not be used in my editor...i will display the current note and the up down slide and accent via the lcd display...beside of the current the next 2 notes with efx will displayed too... hm that makes editing a bit easier...of course not the real 303 editor...but anyway i think it's really the better way of doing this... but nice i already can browse thru the pattern...so tomorrow i can include the editing of the note...
and well...that idea of the vco replacement is getting more and more interesting...i already did some test and seems not to be that hard... if the vco replacement will be done with a second cpu...one cpu only for the vco... i'm planning to do 3 vco's with sub vco and stuff...that should be possible with 24 mhz... in the past i did already a bigger music programm with synthetic sound creation...that helps alot here ;) i already thought about to include a sid (c64 soundchip) as a vco...it has 3 independant voices...but hm an own vco cpu is of course more flexible...


31.05.2004 20.44
i started today to shift the memory variables to another position to get more space for the stack... bah... really much work and esp. really annoying work...and all this stress just to save round about 60 bytes! for the stack area...hell i'm having 1 gb in my pc and have to fight here with 60 bytes... ;)


30.05.2004 09.15
updated the site a bit esp. i uploaded the planned userinterface
i added today the memory to the test pcb and coded the routines for accessing the memory via i2c...works fine...;) unfortunately i only have a 24c16 here and of course on sunday all shops are closed...the 24c16 has only 2kb of memory...anyway should work for the first steps
so it's time now to create the resistant system prefs memory map...like midi channel and so on...
the user interface is slowly getting to work... i started to code today the internal editor...but i'm really slowly running into memory problems...i planned to use the first 128 bytes for stack and memory variables...but hm sometimes it crashes...the stack runs into the memory variables... that's bad...ARF
so i have to shift the memory variables to a different memory pos...that's in general a problem with the cpu i'm using...it has 512 bytes of memory...but you can't access them all with the same assembler commands...which means i have to recode some stuff to shift it to another memory position...shit... maybe i should have used another cpu...for sure ...the last project i'm doing with this cpu...
i already thought to change it...but i guess it's too late now already 1800 lines of code...maybe i can drop down the stack usage a bit...


28.05.2004 18.15
i had some thoughts today which root menus and menu entries i will need and noted it down...what informations will be displayed and where...which swichtes will be used and stuff...means the entire look and feel...i decided not to add some additional switches to navigate thru the menusystem...it's not needed...ac and sl will be used to select the menu entry...up and down to change values...next to proceed a feature...back to return to the root menu...so nearly perfect...;) after all planning i started to code a the menusystem...and it's working already...
next will be to include the:
-edit mode
-play mode
-system mode

some stats:
hm the entire firware is already over 8kb and 1400 lines of code...heavy...8kb assemblercode ;) i didn't expected it will be that long...anyway


28.05.2004 00.05
the switchboard services routines are done...even run/stop ..pattern/mode select is working...nice


27.05.2004 20.50
yesterday i studied a bit the i2c bus for the memory implementation...i think i know now how it works...beside this i discovered again a unique behavior of the old 303 sequencer...but didn't checked what it's excatly...
finally i could find the problem with the switchboard...puh... i had some sleepless nights because of that...but in the end... it was just a small bug...hell was that stupid ... anyway ...i started now to code the service routines for the switchboard switches...nearly finished ...
that was the last bigger problem...niceness...so i can start at weekend to implement the user interface for the 303 itself...
hm i had a new idea for a mod...while i was studying the schematics again...a vco mod...i thought myself why not to replace the vco too...ok it would be a digital vco then but anyway...that would open up totally new possibilities...of course the old vco would be still available...anyway just an idea ...we will see ;)


25.05.2004 22.35
finally the problem in the sequencer is gone... now all sounds how it should...;) that's nice ...also continued the rebirth reader a bit and checked most of my old rebirth lines. if they sound correctly...and they do...
so it's time now to include the memory for the patterns...at the moment i use the cpu memory...that's of course not enough...


25.05.2004 00.40
i continued today the online editor...included the up and down feature and coded a small reader for rebirth songs...some time ago i converted some of my old rebirth lines to the tb 303 and recognised it sounds quite the same on the original...i mean from sequencer side...so i checked if my rebirth songs are sounding the same...but they don't...there seems to be a slight difference somewhere...but i didn't checked it until now...well that rebirth thing is a bit easier to test with...i mean i always need to plug in the old cpu...would be much easier to have a second 303...hm if it replays the rebirth songs correctly i will do some 100% tests...like replaying the same pattern with new firmware and with the old firmware and comparing the signals via the logic analyzer...
stay tuned


24.05.2004 02.02
the logic analyzer works fine so far...and i started to analyse the internal signals... first pic a slide from one note to another...

first is the tempoclock...means 6 clocks are 1/16 note...
second the gate signal
third slide and dac strobe...
as you can see the gate is on the entire time...(of course) but slide is only hi on the second note...which means the 303 slide always starts on the second note...not on the first ! i recognised there is a small latency between the clock and the gate signal...on latency is round about 1.8-2.2 ms...off latency is 2.8-3.5 ms but that values are jumping a bit...dunno if this is the analyzer or the acid ghost ;)) so the devil fish's description is not 100% correct...the note off is on 3 and not on 3.5 with a small delay of 2.8-3.5 ms which is always fixed independent from the tempo...that's more logical...i mean to get a 3.5 timing is a bit hard to realize with a 6 clock...anyway next one is a simple patten which just replays two note without slide:

very good to see the dac data strobe...accent logging is not working at the moment hm dunno why... but to behonest the analysation didn't show something new... maybe i need to check patterns which are more complex... beside this i found out why the sequencer had a small bug...the accent signal has to be set before the dac strobe...because the dac strobe is also the strobe for the accent latch...otherwise the accent is shifted to the next note...uhh...


23.05.2004 02.02
continued the online editor a bit today...but no big steps...anyway the sequencer still has a bug...hm and i really need to check the excat timing of gate slide accent and bla tomorrow i will do a small logic analyzer via the printer port...so maybe i can figure out what's the acid ghost in the 303's sequencer then...next will be a midi out... at the moment only midi in is included...but no big deal...


20.05.2004 22.10
i could fix the sequnencer problem today...and uploaded the first sequence done with the new 303 firmware...;)
but!
really the first without checking the real original behavior of the 303...i just coded how i gruess the 303 could work...so do not plain ;) later i will check it agains a logic analyzer...
the sequence is a bit hm well not the best one i know...it's done with a hex editor...;)

get it here: ->firstNoises.mp3 (850 kb)
beside this... i did today the midi interface hardware and coded a minimal implementation for note on and off...works ...nice and
wow ! i coded a small editor on pc and now i'm able to edit the internal sequences on a pc via midi great!
click to watch to it:

of course it's not 100% finished yet...but i can edit the notes already...slide accent and stuff is not working at the moment but i'll include it tomorrow...should be enough for today...it was a really productive day...!
cheers!


19.05.2004 23.10
i connected the lcd again today to the new pcb and i had to recode some stuff to get it to work...but works again... that's nice...now i can see what i'm doing ;) hm somehow the sequenzer has a bug...dunno have to do some investigations later...a bit stressy to compare the sequences with the original firmware...i always need to plug in the old cpu...hm...anyway i have now 4 days mini vacation... so i hope i can manage that sequencer problem soon...


18.05.2004 23.10
service routines to drive the leds are finished now...beside this i did some source cleanup...next will be the service routines for the switches....


17.05.2004 20.34
i started to implement the switch board...leds are running now... cool...switches from the panel are working now too...fine...but all big problems are now solved from hardware side...i thought the tempo knob is much harder to realize...anyway... next todo is:
1)some service routines for a better handling of the switches and leds
2)midi interface...that is no big problem...i already did it once for a another project...and even service routines are finished...


17.05.2004 01.36
couldn't sleep because if the tempo knob...and after some minutes of work and choosing a different way how to get the tempo...it works ...niceness ;)


16.05.2004 20:08
bla...wasted nearly the entire weekend with a silly bug in the hardware...but finally the i found the bug...now i have enough in/outports to control the 303 fully... i coded today the sequenzer and well works fine so far... next will be the note table at the moment the sequenzer just plays the original dac values...i will upload in the next days the first lines...but before i have to create a good sounding line at the moment i have to create the lines with hex numbers in the source ;)

hm tempo knob is working...but not very accurate...hm i have to change this tomorrow...



14.05.2004 02:20
did today a new pcb for cpu and added a bussystem to get more in/outports...to control all features of the 303...i think the in/out ports should run today...so i can start with the main development...


13.05.2004 00:20
jo...
good news and bad news from the 303 project ...
first the bad... i gave up with the memory emulation somehow it don't work dunno why...i never got the "write" to work... anyway...that's life...
now the good news... but i desoldered the cpu today and replaced it with my own cpu...and well what should i say...i'm just hearing my very first pattern created with my own sequenzer... ok isn't a real pattern more or less a pattern created with counter and bla...but i didn't expected that it works after a few hours of work.. even accent and slide is working fine ...;)

but hell that is cool ;)


12.05.2004 11:53
reading from memory seems to work now...but somehow writing does not work...hm wr is never on low...hmmhmm...anyway i've got today the 32kb memory chips now i can replace old the memory...before i had to use some of the old tb 303 memchips ...but to include the new memory some extra soldering is needed...bahhh i have that....


11.05.2004 09:57
back to the tb 303 memory emulation...hm yesterday i finally had success...the tb 303 now reacts on stuff i send to the datalines...after searching nearly the entire night why it doesn't work... i found out it was just the signal level... the 303 cpu didn't recognised my data i sent to the datalines as hi...unfortunately it was too late to do some more tests...at the moment i just send a values which are incremented every chipselect to the datalines but the 303 reacts...that is cool! seems the internal memory format is very easy...

but i think this was the main problem... seems the cpu is fast enought to emulate the memory...i could figured out the chip select from the memory is round about 90 nop on low (means 90 nops counted with my 24 mhz cpu) so fast enought.. so next will be to reactivate the memory emulation again... i hope a write to memory will also work... but we will see... shit i have to work today...i want to go home to check the memory writing ;))


10.05.2004 13:50
some days ago i had an idea for my tb 303... well one thing with a real tb303 is really annoying ...it always needs power not to forget the patterns...and you can't backup the stuff...303 editing is stressy... when you ever used the editor of the 303 you know what i'm talking about...;)

of course you can use midi...i added midi some time ago to my 303 but to be honest it isn't very impressive with midi...the originality of the 303 is gone without the internal sequenzer...

so my idea is just to replace the ram of the tb303 by a cpu (89c51rc)...so the cpu would emulate the ram of the tb303 and beside this it could be used to edit and backup the ram via midi... means i could do a editor of the 303 patterns on pc...the 303 is playing a pattern and i could edit it during it plays...sounds like a dream ;) so far i know the tb 303 chip is running with 455 khz...my cpu is running with 24mhz! so must be really fast enought to emulate the ram i think...

so i was very brave and desoldered the ram-chips of the tb 303 ;)...and connected it to the cpu... and well works a bit...but dunno somewhere is a bug in the software or connection...but bla at saturday i blow up my last 89c51rc... so i have to wait until the new arrives...
of course a new project...hm and i didn't wanted to start a new one...but this one i couldn't resist ;)

hm the best way would be a full cpu replacement...means desoldering the old cpu and replace it with my cpu...but that means the entire software had to be rewritten...i studied the schematics a bit in the last time esp. the implementation of the cpu and the ports and ram that should be possible... but that would open up impressive possibilities... the syncing could be done via time code for example...that means never syncing problems again...or vibrato to the vco ...midi implementation backup of the patterns maybe a editor on pc and a lcd display...but hm anyway mega interresting project but maybe some day i will do this...first the ram replacement should be enough...

hm but i didn't blow up the 303!...it's still working but doesn't but doesn't look like a 303 at the moment ;) that's great

stay tuned












(c) 2005 ultrafex/o. höhmann