.:diary 2005:.


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: :)





18.12.2005 21:00 earlier this week i did a second try... but hm this time nearly all went work... developer was not fresh enough and in the end... the entire acid was on the kitchen floor... bla ... i got nearly mad... so i needed some time to recover from this failure...

but now some good news... i redid the prototype again at the weekend... seems to work except of some smaller problems... but it works... and even more cooler is it finally fits into the 303...



05.12.2005 23:55

at weekend i tried out the new tb 303 pcb... after developing the pcb it looked good...but after etching not really good... hm but anyway i continued it and trained a bit smd soldering...a real problem is still to get the pcb sides 100% placed over each other... i mean i have drills with 0,5 mm...just a shift of 0,5 mm and the pad is gone...but i was surprised it was really easy to solder... so next try this week...

two days ago one night when i can't get some sleep i was thinking about what to add next to the firmware... after leds... so i remembered an old idea i had one year ago... filter control...

well the new tb 303 pcb has a two channel dac included so one channel is left to control the filter via the cpu...this adds some really nice and new features to the tb 303.. like:

-filter control via midi

-filter velocity for every note...means i can setup two bytes extra information for every note... one will be for the filter velocity value...(what a luck i planned two extra bytes when i started to code the firmware...otherwise i had to change the note format now)

-filter envelope... you can add a new and for tb 303 unique filter envelope ...not just decay... means a full attach decay sustain and release (adsr) envelope with an additional envmod... of course then you will have two envs on the filter...the normal tb one and the new... dunno another way how to handle this...but if you setup the env knobs for the 303 to default... this should work fine... one thing is really nice... the new envelope is of course fully controlable via midi...means filter, attack, decay, sustain, release and env. mod. would be controlable

-filter lfo... a normal lfo with different waveforms...which can be synced to the pattern...

-filter frequency modulation (fm)...hm not sure if this will sound nice...but let's see ;))




29.11.2005 03:10 i ordered the smd parts today from reichelt.de for the new tb 303 prototype... and did a small test pcb just to see if i can handle the smd stuff and esp. the track width...

that's the result of the test:

for a home made pcb this looks quite good... track witdh is 0,2 mm track gabsize 0,1 mm... even tracks with 0,1 mm is possible... but as you can see on the picture... there is a typical target autorouter bug... that two pads on the upper middle/right side are too close to each other...anyway

but i guess to solder this will be a nightmare... i think i have to add some soldering mask by hand at some points otherwise i can't solder this...arf
so maybe at the end of the week i will have a new tb 303 prototype... and i really hope this is the final one ;)

damn i need to go to bed...




27.11.2005 06:06 i was working a bit on a new tb 303 pcb protoype yesterday... now i only use smd stuff ... so i could drop down the pcb size from 7.5*5.1 mm to 5.5*5.1 mm ... this is just great... so this will fit for sure into the tb 303 ..

cheers... and stay tuned ;)



23.11.2005 23:58 the service routines for the leds are done now...blinking is not implemented yet and of course i need to insert the calls to control the leds in the entire firmware...a bit stressy but anyway what a luck nearly finished ...
i started to play a bit with the layout for my dsp project but i recognised very fast that a automatic routing is not possible with target... the result is that bad ... unbelievable... so today i trained a bit routing by hand in target ... and i was really surprised,,, it's really not bad... very intuitive... i guess i will route all my stuff by hand from now on... i mean the target routing is very brainless the time i invest to route all signals needs nearly the same time when i do it by hand...the result by hand looks even better and it's much cleaner...


20.11.2005 23:15 hmm damn... a harddisc crash knocked me out for some days... *arf* but no panic ;) nothing is lost... i'm doing backups very regulary... i lost some years ago a game i did because of a hd crash so this happens only once ;)

but for sure a stressy work... so i spend the weekend to repair my computer a bit... and a good reason to do a bit more on it... i mean my cpu got much too hot in the last weeks it always switched off after some time... but i could not motivate to repair this... now all is working fine again...

today i could do some code on the firmware ... i started to include the led multiplexing for the ml 303... of course i have to include the mutliplexing for the tb 303 again... it's quite different compared to the ml 303 led multiplexing...but anyway... well i'm shifting that led stuff since a year or so... the firmware don't need the leds... all is showen on the lcd... so just additional work i never could motivate me to... but looks good... multiplexing seems to work so i only need some service routines and in the end the led control in the firmware...



16.11.2005 22:55 fuck... the new prototype had a layout bug somehow ...caused by target 3001 ... and finally it works now... beside this i worked a bit on the bootloader... worked a bit on the copy protection and stuff... but not finished yet...



15.11.2005 22:55 finally something ultra303 related ;)) yesterday i reactivacted my ultra303 again... and just looked a bit around what is to do left...
even some code... i did some time ago a new prototype for the ml 303 with a different key and led multiplexing thing... so i needed to do some changes on the firmware to get ultra303 working on it... so far it works again... accept of one thing... a problem i was fighting with the entire evening yesterday... hm very strange i still could not solve this problem... but anyway the new prototype works so far...;)



09.11.2005 23:55 sorry again nothing ultra303 related ;)... in the last days i was working a bit on my future project the sharc dsp stuff... something which covered me totally... i could not sleep because of this in the last nights and i just could not resist

and today it finally worked!

can you imagine after i saw this 00020014 on the lcd i start to jump around in my room and shout out... yes... yes ... yes ? ;) i guess not... just a number... true ...looks boring ;)... but it that 00020014 showed me it works !

so what is it all about with that 00020014 ?!

this is the result of this pcb:

the display shows it already for what it was designed for... so today my host interface for the sharc dsp started to work... but ? hm what is a host interface...!?

if you use an analog devices 21065 sharc dsp you need to place your code into an eprom (which is really stressy), you can use a development board from analog devices or you can do a host interface... so this host interface can be used to upload your code into the dsp... but it's much more powerful like an eprom... you can access the internal memory and you have full access to all hardware registers... so ideal to code stuff on it... and to do debugging ...

so what is that 00020014 ?... that's an internal register value of the sharc dsp... 00020014 is the vector for the irq table for the 21061 sharc dsp...anyway 

i'm preparing a new web page for sharc at the moment... so i will not bore you with this stuff on this 303 page ;)

so the host interface idea works to far... no worries i will continue ultra303 soon...

by the way... i've got really much emails in the last time... great.. that motivates to continue ultra303... and thx ;)




01.11.2005 19:30 well... nothing direct ultra303 dependant ... since some time there was an idea i had... i really would love to connect a my cpu to a vga screen to have some more place for debug messages or something...or maybe to do a ultra303 delux version on a vga screen...i know this is a bit or better totally mad...and sencesless...but to create video was something i always wanted to do... so i searched for some time for a videochip... but nothing really fit... all needed real memory and expensive...

so yesterday i had the idea why not to code a video chip...means to create a video signal with my cpu...so i soldered a bit:

and before i studied a bit the vga specifications... on the upper pic you can see a 89c51ed2 with 60 mhz... and i was pretty sure that could work... but not 100% sure in which resolution i do it...so after some hours of coding it looked like this:

as you can see not very impressive... doesn't sync very good and bla... a bit frustrated i want to bed ...all was a bit strange... some drop outs during the display... to today at work i had an idea and recoded it again with a new technic...shortly after i came back from work it looked like this:

that's a perfect synced 64 color display... hurray it works ;) but there is something bad ;)... the cpu is too slow to provide a fast pixelclock... i only can to maximal a resolution of 108*500... 108 is no typo... so 108 is pretty senseless... i did some calculations before and checked how the pixel clock i can provide... and it said excatly this... but i was hoping i did a mistake...

so it's really time to change the cpu... that atmel 89c51ed2 even with 60 mhz is that slow unbevieable... it has just 5 mips with 60 mhz !... even the pic or atmel avr is faster... that avr with 20 mhz has 20mips... anyway... just fuck ;)

so a bit mixed emotions ...a bit frustrating the cpu is too slow... but anyway the idea works so far... that's cool...but the idea is not lost... i will do it again with the sharc dsp... that will be fast enough for sure...




11.09.2005 04:57 as you can see i'm taking a break from the project... ;) i had a very relaxing 3 week vacation and stuff...;) the only thing i did was a new ml 303 prototype... but anyway nothing very important... so i will continue another project for some time....my traditional project switch which i do from time to time... to hold and gain back motivation ... so ultra303 will be soon continued ;)

stay tuned ;)



02.08.2005 22:09 today i coded an alternative view for the time editor. which means it shows 16 steps at once... the old only displayed the note and on or off for 3 notes... so the alternative editor gives a much better overview... beside this i added some special features to the time editor... i think it's now really done...



01.08.2005 23:05 shuffle is now fully implemented...even with the groove pattern... next will be some new features to for the time editor... some days ago a had a new idea for a better overview...

this is the last feature i will include... then the sequencer and editing features are done...



28.07.2005 21:31 hurray ;)...

shuffle is working... as i expected yesterday wasn't very hard to include that... ok at the moment the it does not shuffle which you set up in the groove editor i did yesterday...that i will include tomorrow... i just included a standard shuffle like the 909 does... and well i have to say that feature rocks absolutly... gives the 303 patterns much more life... doesn't sound that much static anymore.

the shuffle is very like you know it in cubase...there you can set a swing value...of course this is possible too...you can set a value for shuffle how much shuffleing is done...the value range is from 0-100%... which means the shuffled steps are shifted up to 1/32 note with 100%...

unfortunately i discovered a new problem...very assembler specific... the firmware freezes at some points now...hm this is surely stack problem... in the last time i was a bit too wasty with the stack...so i have to optimise this a bit...but anyway this is no bigger problem...just to hear the shuffled patterns makes me optimistic ;))



27.07.2005 22:51 time for a new feature... today worked on this one:

this is a groove editor...as you can see ;)... with this editor you can edit the shuffle of your pattern on which step the shuffle is done... atm only the editor is finished... tomorrow i will inclde the shuffle itself to the sequenzer...but this is no hard job...i'm really curious how it will sound like... but slowy i recognise to code the new stuff in c is much more fun and even many faster



25.07.2005 21:00 today was a bit recoding day ;) means i recoded the entire pitch editor in c...and added some new features. now the time is also editable in the pitch mode... it is visible in the upper right now:

that *-* is the included time editor... the gate for the note is now switchable inside the pitch mode via a short cut so the time mode itself is hm nearly redundant... also added a direct transpose up and down to the pitch mode... much more handy than before...



15.07.2005 22:50 continued today to prepare the firmware to use more c routines... well you can't call asm routines from c directly you need to do something like an interface routine ...which means the parameters for the routines have to be converted so the asm routine can get it... i did it now for most of the base routines like lcd, i2c memory and switches...so i really can code all in c from now on... cool...that saves time...;)

so i've started to introduce pattern names... i'm working on the editor at the moment where you can type in the name... really fast to code in c... not that stressy like in asm ;)
but should be enough for today...




15.07.2005 20:30 i've tested the din sync today a bit... i remembered somewhere i have a tr 606 why not to use the original roland setup to test this:

as you can see i didn't used the 606 for a longer time ;) a bit dusty... in general the syncing seems to work...but after some time it runs out of sync...that's shit...hmm at the moment i don't have an idea why... i guess somehow the irq gets lost...hmmhmm...anyway i'll check later...

hm yes...as you can see...there are two 303's on the picture...;)

i've bought a second one with a dead cpu...just soldered in the old pd650 from the upper 303 into the lower one... now it's running fine again;) niceness...

at the moment i will leave the old cpu in the lower 303 later it will be of course also a ultra303 tb...but now just to have a reference 303 with original sequencer to check against my sequencer..

oki time for some code on firmware now...



13.07.2005 23:42 yesterday i had a massive tb 303 firmware testsession... i reactivated midi again...and i tried to create a song with my own firmware... well all worked really fine so far... syncing with the sequenzer is working fine... one thing wasn very successful...the song itself ;) anyway

during my 2 hours testingsession i recognised some thing which should ne done better... one thing would be really nice... to give the patterns names...

i recognised after some time i lost the overview which pattern is what...so i've decided to introduce names for the patterns... well during testing i overwrote some patterns... that's shit...

i also will include a two step undo...

today i've got my new toy:

an oscilloscope ;)

so i've started to do a direct comparison between the ml 303 v5 clone with all original parts:

and tb 303...

at the moment i've only checked volume envelope, accent envelope and the waveforms itself... and they look perfect... there is nearly no difference ...if there is one it's only a shift in some mvolts of the wave itself... good job matze ;)

on the tb 303...you can see in the filter part that white stuff... this was my last check... i checked all hfe values of the transistors of the tb 303...to see if the transistors are selected or not in the filtercascade... and well tb 303 is a cheap product...guess what ;) and of course they are not ;) the 303 sounds excatly the same which you use 536 or 945...
i also checked if there is a difference between 2sa733AP and and normal 2sa733 in the filter (2sa733ap have a much better hfe value)...(on the xoxbox page there is a article about it)... from start on after i 've read it i was doubtful because the 2sa733 are placed in the in the cutoff control for the filter...sure there is a line from the reso poti to the filter... but this track is to do a filtertracking done by the resopoti... not to control the resonance itself...hm strange... just wondering what ladyada meant...maybe a mistake of me...or her dunno ;) but i don't care... doesn't change anything with good 733 or bad 733...

filter i've started to compare but looks strange of course the filter result is hard to compare... i have to check tomorrow again... anyway that's it ;)



09.07.2005 22:43 wow today was very productive day ;) the loose connexion appeared again so i really hope i fixed that problem now...that's a real pain..

and finally some new code to the firmware... somehow the transpose feature had a bug...and i was too lazy to find it out... the routine is a bit longer and very stressy in all...so i just tried something out... my assembler is also able to do c code... so after some time i could use c code in my firmware that's pretty cool..and recoded the transpose feature in some minutes.... so all new features will be done in c from now on... maybe i will translate the old functions too...in c it's just easier to code and to change stuff..

i also added some new features to the pitch mode... now it's possible to execute some small edit function from the edit mode directly...

like clearing up , down, accent or slide...or i also introduced a playing mode...where you can play the keyboard from the tb 303 just to check out some melodies... also jumping inside the pattern start mid and end is now possible...

i also did some testing...and all works pretty fine at the moment... no bigger problems... so i really need to implement the leds in near future... i totaly ignored them till now ... ah and midi i have to test again... it's already monthes ago i used it for the last time...

so all is fine... na ok one problem is left... now... i'm slowy running out of ideas what to implement ;)
time for the first beer for today...(surely not the last one he ;)



06.07.2005 19.15 i worked in the last day on a web site relaunch..not 100% finished yet...



01.07.2005 22.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 21.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 22.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:



16.06.2005 23.50 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 19.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 21.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 19.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 18.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 23.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 n 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 23.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 23.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 22.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 19.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... ;)


click to have a look to the diary entries from 2004...