Category: Newest🆕

2020 till now

  • 2005-06 Crystal Font 🔤

    2005-06 Crystal Font 🔤

    ⏱️Overview

    This is one of my oldest Windows programs in C++.
    It can generate colorized bitmap fonts from true type fonts with glow effect.

    Done on college as hobby around 2005-2006.
    I used bitmap fonts from it in most of my programs, until about 2010. Additionally it made the text for my logo, and lastly the speed and gear digits in our game.

    📜History

    I had a small font tool without GUI, earlier when I was programming in Delphi. This one evolved to be a full featured program with medium size code.

    I presented the program at college, during scientific circles session, for 15 minutes. The presentation was also a good experience to have.

    It was a nice, useful program for me. Probably difficult to use for others due to only keyboard navigation and value changing. It had a help screen with shortcuts though.

    📂Sources

    Later I’ve uploaded it to Source Forge and thus it became my first FOSS program. Then I moved to Google Code and when it shut down, moved to GitHub.

    Available here.

    There were several programs done called bitmap font creator, maker or editor. It was (or still is) a popular thing to do. Both using bitmap fonts and making a program for it.

    📊Features

    Among other features it allowed quick loading and saving project files and coloring schemes. Also browsing them in its own lists with previews. One could easily pick a scheme for font color and quickly match another for glow.

    Glow was computed on CPU and thus rather slow, especially for big font sizes and large textures. I didn’t develop it further after realizing that all this could probably be done with a GPU shader in real time, even with animations, at least for small to medium fonts.

  • 2005 Keyboards CK1,2 ⌨️

    2005 Keyboards CK1,2 ⌨️

    ⏱️Overview

    This is an older topic with less information, just for history purpose. If you’re interested see my newer keyboards or the newest ones, with more explanation, own controller and display.

    These were my first modifications for keyboards.

    They were both done on a Logitech Ultra X Flat, a well done, solid keyboard. Surprisingly different for same model made after 1 year.

    ✍️Motivation

    Originally most keyboards have about 50 gram force needed to press keys, and probably 4 mm distance. After first step of cutting rubber domes the distance is about 1-2mm, the force was about 22 gram for CK1 (bottom) and 33g for CK2 (top). This can also be varied per key.

    📊Features

    The second step was removing the middle part with arrows. Which I find unnecessary and worse (less keys) than the same from numpad. In CK1 I’ve bent the foil and hid it under. It was risky, but the foil survived. The CK2 was different, it was made from two identical keyboards, thus no need to bend, only cut the metal and foil. That too was risky since the foil could have connections around the cut off part. It was only for numpad, the bigger part had whole foil under.

    Years later I modified CK2 further and bent the foil to create CK4 keyboard. And that’s 11 years already, so this would answer any doubts for longevity of such modifications. The number of times I disassembled it, changed something, and put it together is also quite high.

    The third step was adding extra keys. Using my oldest program for showing pressed keys and their codes, I figured out that there are more possible keys in keyboard matrix, that are just not connected. So I added them with wires and glued on keyboards. First as regular switches with metal domes, small and hard to press. Later using rubber switches, lighter to press. But turned out to be an even bigger fail since they wear out and stop connecting. They have some resistance too (like maybe 300 ohm) in addition to the resistance of foil traces (maybe 150 ohm). So finally I ended with the smallest metal dome switch I found, with force 0.5 N (50gf). It feels different than other keys but otherwise is good.

    📷Galleries

    The old galleries from my keyboards:

    1. CK2 final (2008)
    2. CK1 and 2 making of (2005 and 2006)

    Most pictures have some description text (explaining what I did there).

  • 2003-04 Composed Music 🎵

    2003-04 Composed Music 🎵

    ⏱️Overview

    I’ve assembled my best music tracks from 2002-2004 into an album on jamendo, called Eye of the Pharaoh.

    The style is quite original if I may say so, but generally it is somewhere in the area of Symphonic Metal with lots of solos and slightly oriental (Egypt) influences.

    🔍Detail

    Played on electric guitar and the rest composed in my own tracker SXIV. Solo is using a mix of violins and other fitting instruments from a keyboard. Background keyboards usually have brass like tubas, trumpets etc.

    It must be said that I didn’t play the keyboard by hand. I once recorded samples from it and then always used my tracker with them. So actually used PC keyboard to practice and input notes.

    🎵Tracks

    The tracks from oldest to newest are:

    1A deep ride inside4:54quite heavy at start, later fast and lively, had bass guitar
    2The Princess of Black Egypt11:592nd best, slow but very varying song, with feel
    3Intro2:161st best, short but quite oriental
    4When Cyan Sun Glances7:25quite fast and basically a never ending solo
    5Through the Eye of black sand2:46very slow, keyboard only, didn’t record guitar

    📜History

    I was playing electric guitar from 2001 to 2005, almost only backgrounds, with my friend who played solos. We made many awesome tracks together. Mainly 2 guitars with constant solo and sometimes percussion from my tracker. Of course no vocal. Those were some pretty good times, we got few hours of recorded fun to remember.

    At the times (of technical high school) I was also into electronics and analog guitar effects. I started with electronics about age 16. Later it proved very useful for us as we were using my stuff a lot when playing. Also learned a lot about sound effects this way and triggered the development of my tracker SXIV.

  • 2003-04 Distortion X 🎸

    2003-04 Distortion X 🎸

    ⏱️Overview

    “Distortion X – The Great” was my final version of an analog guitar effect from 2004, and looked similar in 2003 already.

    📷Gallery

    Link to gallery. Which also has pictures of inside and schematics.

    📊Features

    It had a Distortion, Reverb / Echo and 2 Equalizers (9 and 18 bands).

    The Distortion featured such regulations:

    • Switch for Clean / Distorted mode, pink LED
    • Clean Volume
    • Drive (i.e. Distortion, Amplification)
    • Low Pass (filter frequency)
    • High Pass (filter frequency)
    • Balance (mix between the two filters)

    Reverb was made on the longer analog line MN3008.

    It had only 3 potentiometers (knobs):

    • Delay (i.e. Length: short would do Reverb and long did Echo, at reduced bandwidth)
    • Feedback (how much from output was summed back to input)
    • Volume (output mix between Reverb and clean)
    • Switch to turn on/off, white LED

    Equalizers were used only one at once. By default the Narrow one (9 bands) was for Clean mode and Wide (18 bands) was for Distorted, thus allowing more customization. Narrow had violet LED on left, and Wide had orange, on right.

    It also had 2 switched, one would exchange Narrow with Wide (so the opposite to default, Narrow for Distorted). And other switch was to turn equalization off, mainly just to check the difference, most left, red-orange LED.

    For a moment it had also the short Reverb / Flanger board with knobs, visible on pictures. But I didn’t use it. Power supply for it was different (not symmetrical) and that added more noise.

    📜History

    I was developing analog effects for electric guitar since we started playing in 2001. There were several versions of it. The 1st was just a distortion. The 5th had one 9 band equalizer and I think also a Reverb / Flanger on short delay line MN3007. The 8th was similar but had 18 band equalizer and long Reverb / Echo.

    Since I was playing backgrounds and my friend solos, we needed 2 effects. The 5th and 8th were separate and best combination. I was naming them using Roman numerals, so this one, X was the 10th and last version.

    ⏳Conclusions

    In 2004 I bought a digital effect, Digitech RP 200A, and first realized the huge difference between analog and digital effects. It was very feature rich and the sound quality was much better (probably like 20dB more, I guess my analog could be about 70dB SNR at best). Digital also had many more effects like Chorus, Detune, realistic Reverb, high quality Echo, Cabinet models etc, and was stereo. But that model was very poor in regulations, there was only one parameter for each effect that could be changed (had only 3 nobs).

    So even though it was higher quality and had more features (but less regulations), I still used my Distortion for some time. Also since the digital sound and because we started college we stopped playing together so often and then at all. Also we had the digital one so I could just put all equalizers and reverbs in one. Then I finished it with a better case (from an Audio CD Recorder, which internals I moved to a worse case ?).

    ➡️End

    I sold it recently. For a ridiculous price, maybe just summing up to what parts had cost me. But there was a lot of time dedicated to developing it and making PCBs. But still, I’m glad I freed up cabinet space and didn’t have to throw it out (too sentimental to do that). Also got some money for it and somebody could find it useful or maybe even educational. I sold my guitars that year too. They were just gathering dust for too many years.

  • 2004 Frogs III 🐸

    2004 Frogs III 🐸

    ⏱️Overview

    This is the 3rd and last version of my Frogs game for 2 players. Programmed in Delphi.
    Done on college, subject was Programming (I think). I’m glad I could use my existing experience to pass it easier and more creatively.
    Previous 2 versions were in DOS and Turbo Pascal, shown here. It had exactly the same game style.

    Gameplay

    Player controls a frog, jumps to reach and catch flies with tongue. After game time, the player who had more flies wins (or there is a tie).
    It could be a slow and tricky game if flies were appearing rarely, or a fast game with lots of flies. Still, splashing flies made them fall down. Catching a falling fly would make the frog loose 3 and vomit. This was pretty hilarious.

    The screenshot is composed of few, but this is shown.

    📊Features

    Sadly, it had no sounds at all. A huge flaw compared to earlier Frogs II, which was even more hilarious with funny sounds.
    It featured:

    • Nice looking menu (my own logo art)
    • Many options, for:
      • Flies – max count, increase over time, width and height of appearance, resistance to water)
      • Frogs – jump height, resistance to water (made jumping harder), tongue speed and idle time
      • Game – game, time, showing a counter (of flies, particles, etc.)
    • Lots of particles for:
      • Water splashes (like 500 was already enough for big ones)
      • Vomit (this even had extra keys to test)
    • Waving grass blades
    • Water changing direction and look, depending on direction of frogs landing in it (e.g. always dropping from 1 side made water more fuzzy and moving faster).
      Strangely this doesn’t work at all now. But anyway I’m surprised this game still starts and works 15 years later.
  • 2003 Shooter 🚀

    2003 Shooter 🚀

    ⏱️Overview

    This is my first game in C++. Done as a project on college, subject was C++ Programming, I think.
    It was a top down space shooter and had just 1 level. Without game end, just no more enemies.

    🔍Implementation

    It was using purely Direct3D9 calls for rendering and WinAPI for Window.
    I drew the textures myself, not many.

    Player ship had 4 weapons, auto gained with game progress: main 2 dots, small lasers, main thick lasers and side dots.
    There were 6 enemy types and the layout with their movement paths was already quite nice. Enemy weapons were actually just 1 type of orange dot. One ship fired a dot, auto directed at player. Others fired 2 to 4 dots in certain directions.

    ➡️Comments

    I’m glad I managed to create a game (2nd actually) at college, where the major was basically Industrial Software for Metallurgy. It was still my main hobby back then. Since I had experience in games I wanted more to use it and develop. Was also quicker, easier and more fun to make a project for that subject.
    Code looked cryptic, I was still coding in my own way of not doing a single space if not required, and using 1 letter abbreviations for keywords and types.

  • 2002-03 Tracker SXIV 🎶

    2002-03 Tracker SXIV 🎶

    ⏱️Overview

    This is the music tracker program I wrote around 2002-2003, in Delphi 5.

    It was 800×600 on a 17″ CRT back then, so already 4 screens fit now.

    📷Gallery

    All screenshots here.

    ✍️Motivation

    I was having fun with Scream Tracker on DOS before, so it felt best for creating music and using only keyboard for that.

    I called my program simply the same way, but started with version 6 and increased until 14. Then shorted it to just S and used Roman numerals XIV.

    This was such an awesome program to use and look at. Mainly because keyboard shortcuts were customized to what I wanted, and also I implemented many quite useful operations in it, e.g. in patterns editor.

    🔍Implementation

    It was using GLScene package for Delphi and my colored bitmap fonts from another program (it was the predecessor to Crystal Font), hence so varying and colorful texts everywhere.

    By default I also used colored image backgrounds, since pages felt really empty. It even had animated text transitions for title pages text and a toggleable fire animation in corner 🔥.

    But it was complete garbage at the way sound creation was done. It simply relied on a system timer event and triggered sound playing from DirectSound buffers. I know, nobody does that for music. I didn’t know any other way to code this then.

    Timer was more or less stable, but I had to render very little while playing, mostly empty screen and 1 bottom line of info.

    🎵Music

    I made about 5 songs with it, more here. Also used it for percussion patterns when we were both playing electric guitars.

    Later I was checking out Renoise, but eventually my interest faded away from creating music.

  • 2003 Painting, Eye

    2003 Painting, Eye

    ⏱️Overview

    This is the painting I did in 2003, on my room’s wall (the one behind my monitor). It was empty and really boring, and so it became an original and fitting background.

    I called it “The Eye of the Pharaoh”. It is a magical Gem (in middle) surrounded by 4 powers, emitting outside. From top left these are: Fire (yellow), Laser (lime), Lightning (white) and Neon (cyan). The eye itself is emerging from a cloud and has an extra lightning ring around it.

    💡Idea

    It was an inspiration for a game I wanted to create once (and most likely won’t). A top down ARPG shooter which would have weapons with those powers and this could be the energy source. But since I was also creating music at the time I used the title also for my group name.

    🔍Details

    I think it took about 1 week to make. It was actually quite an exercise for me, to move around and paint. It has at least 5 layers. I used various 1 liter house paints, only few colors I think (thus orange in fire is not saturated).

    • The background and most was done with a medium 1cm wide brush, nothing special.
    • The shiny skyblue ribbons in background are done with a spray paint. Also center gem (eye) has some of it. Red ribbons are regular paint.
    • The black rods are also done with a spray, shiny black. That’s why they are very dark and lower part shines from camera’s flash. The picture was only edited near borders. It’s also difficult to shoot straight at it, so it’s a little skewed, viewed from below.
    • The tiny detailed parts in ornaments (on rod ends) and a lot in lighting were done with few pieces of bent metal, sunk in paint and touched on wall to get a sharp and thin line.
    • Outer parts (web) and glowing glyphs were done with paint mixed with water, so they became transparent. I also darkened this way the ornaments later, with black paint and water, were too bright before.

    I think I used a small paintbrush for the rod shining and arc blocks (near center) but the detail was limited by the wall’s texture, It is quite coarse.

    ➡️Note

    Well it is still here, even after 20 years. It surely was a nice thing to look at, instead of a boring wall 😁.

  • 2002-03 Console 8051

    2002-03 Console 8051

    ⏱️Overview

    This is the final version of the “console” I created around 2003. Its purpose was to serve as program memory for 8051 MCU (board with it is not yet attached on this picture).
    The PC was filling console’s memory with bytes of code and then starting MCU which used it as program code.
    Console was connected with a PC through parallel port (LPT). The PC had my own IDE (editor) and compiling its assembler code to bytes.

    Nowadays this isn’t at all needed and even looks scary. MCUs of today have Flash memory for program, either programmed from PC through USB already or with a simple chip (USB to serial) converter/adapter/programmer.

    📊Features

    PC usually was sending a lot of bytes, so the console had counters, to increment the address by itself.
    It used power supply from PC, here 12V which LM317 regulator converted to 5V.

    So its memory (SRAM, 256kbit) was filled by the PC through the console, it then would serve as program memory for the 8051 family MCUs (a quite popular one, but still poor, like ATmega328 today).

    I had two modules for it. One with big 80C32 and second with smaller and faster 90C32. The console had a connector where you could attach one.

    It also featured a relay that would automatically turn on the supply for the module once the program got transferred to memory.

    Later you could switch the SRAM to EEPROM and get it programmed for the use in actual module/device with MCU, without console. Which I eventually never got to.

    🔍Details

    The console board was smaller than the older one (below) and needed less current. It featured a small and detachable display module, for showing address and byte value, which was mainly for checking and later wasn’t needed.

    Construction was made on a universal board, possibly reused. Since being smaller it also was more durable and had less spaghetti wires. Underside actually looked very well compared to the mess in older version.

    🖥️Program

    The PC program was driving LPT port and sending code bytes to memory. It quickly became a basic IDE, where I could write code for ’51 MCU in its assembly language. I wrote it in Delphi 5, which I was using at that time a lot. It translated all instructions and computed jump offsets. Additionally with one key press it compiled assembly code to bytes, then sent it to console and triggered its relay to start the program with MCU module. That was the most convenient thing possible. I’ve seen too many solutions which needed pressing reset switch on the board or other slow, manual work.

    👉Conclusions

    I was trying out few things to get done, an 8 bit ADC, a real time clock HM6818A chip and mostly 5×7 dot matrices. It somehow didn’t feel too stable, and it was a lot work to get anything done at the time. I actually didn’t finish any board then, as a separate working MCU. For a clock it would use too much current. And for making anything else that MCU was too slow. And I was more interested in other things at the time like creating music and my tracker.

    Lately everything I wanted back then, can be easily (and rather cheaply) done with modern MCUs connected through USB. Hence my recent interest got back into electronics and my keyboards even had a 128×64 display and even a 160×128 one later.

    📜Older version

    The first (older) version had bigger digits, mounted solid with also the logic to decode them. I think it was using close to 1A from 5V, and the 74192 counters were heating like crazy.

    I was also using SMD chips, if I found them somewhere else and desoldered. I don’t have any picture from underside of this old version, but I remember it was a serious spaghetti. I’m guessing around 400 wires connected 😆.

  • 2000-01 Drawings 🖌️

    2000-01 Drawings 🖌️

    ⏱️Overview

    These are decorative texts, drawn on paper. I was using (up to) about 26 colorful gel pens and few regular ballpoint pens too. The text in this picture is Experience (my favorite one).

    📷Gallery

    Full gallery with more here.

    ✍️Motivation

    Back in technical high school I was very disappointed at the level of education there (mainly stuff from 1980). And also extremely bored, especially on history and Polish (literature) lessons 🥱.

    After all, that stuff was already in the elementary school, and I thought I will get rid of those crappy non technical subjects.

    I never accepted the garbage I had to learn and did only bare minimum. There was no chemistry at all and history was for 4 (of 5) years? Now that was serious bullshit 😡.

    So yeah, this was my sudden and creative outcome at the time, which (at least partially) fixed the boredom and made something cool with the time. I didn’t expect it would happen.

    🔍Details

    The words in pictures from gallery are as follows:

    • Cathedral, Catedral (t upside down), Experience, Revolution, Reality. The rest is easy to tell.

    The green crystal hammer style is quite different and funny, normal one is the violet.
    There is also the eye gem symbol, a simpler version from my later painting. I only drew 2D things.