| |
The Multi Drawer V1.1 [1990] |
User rating: | awaiting 8 votes (8 left) |
Credits :
SIDs used in this release :
Download :
Look for downloads on external sites:
Pokefinder.org
Trivia Info Submitted by Silver Dream ! on 3 December 2012
One day Polonus came to my place, while I was coding this tool. Or rather something that was eventually to become the tool we talk about. I showed him how fast I can draw basic shapes as well as my "innovative" function called "rays" and triangles and patterns, and zoom, and.. well it still crashed every here and there and of course froze somewhere during the demonstration. Of course he entered an unrecoverable state when moving the mouse much faster than I normally did, etc. but despite all those problems he was still drawing and erasing furiously various shapes on my screen, converting them back and forth.. After a few minutes of this, he rose from the chair and said "I go home". "Why? Why so fast?" I asked him. "Because I need to write something good too!" And so he went. And so "Voicetracker" was born... | Trivia Info Submitted by Silver Dream ! on 3 December 2012
There is a zoom function, which allows easy pixel-by-pixel editing. When I wrote the first zoom routines I went proudly to show-off. I showed the new version to my artist who actually requested the zoom function, expecting a lot of applause and congratulations. What I got was: "What is that? How am I supposed to work with it when it is so damned slow? Should I go and make coffee, every time I click the magnifying glass function?" Well, it was (IMHO ;-) not /that/ bad and slow. I mean: it was slow (about six or seven seconds to redraw the whole screen) but it was there and worked! I thought I deserved at least some credit.. OK - I went optimising. In a day or two (don't remember now) I delivered the second, noticeably optimised version.. still too slow for the artist. I went optimising further, went through all the routines counting and shaving cycles wherever I could. The result was awesome optimisation: about 100% faster than the first approach. Guess what? Yes.. TOO SLOW!! This time I had enough! I went on strike and said "You don't know a s**t about programming so don't tell me to make it any faster. I went through and optimised everything. Those routines are as fast as it gets! It is twice as fast as the first one you received. We don't have enough memory available to unroll the loops.. what? Ah, you don't know what loops are... OK, never mind. just learn to work with what you have now because you won't get any faster version, period!"
Yeah... So much for any recognition for all my efforts and my "brilliant' zoom function... :-(
Then I went back home. In the evening I went to bed still thinking and reliving the injustice I experienced. I couldn't fall asleep and started to think about my zooming routines and how they can't be optimised any further.. about 02:30 am I smashed my forehead with open palm, jumped out of the bed, ran to the computer and within 15-20 minutes I had a completely rewritten zoom function, which used about half of the memory the original needed and.. and was some over three times faster than the most optimised and cycle counted version I had before! Miracle? Well... during the night contemplations I realised that I took completely unnecessarily a rather "suboptimal" approach. When zooming I analysed and zoomed every pixel in the zoom range. That meant bit fiddling to extract the pixels one by one from the screen bitmap. What for? Actually I was doing this because I simply didn't realise initially that I can easily zoom by full bitmap bytes rather than by one pixel at a time! Once I realised this, I cut out all the bit extracting operations, three fourths of the zooming and ended up with both smaller and much faster code that eventually earned me the praise from the artist ;-) | Trivia Info Submitted by Silver Dream ! on 3 December 2012
I used all the memory up to the proverbial last bit (with some little exceptions in zero page ;-) and even had to start shortening the strings (text displayed on screen). Although today I'd say I still see some room to be gained by cutting out excessive - to my current taste - babbling ;-) |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
|
| Forum | |
|
| Support CSDb | |
|
| |
|