Table of contents Introduction Meet the contestants Roland Sound Canvas SC-55 Roland Sound Canvas VA Yamaha MU80 Yamaha S-YXG50 Recording process Capturing MIDI data Recording the audio Post-processing Recordings Quick impressions Final verdict Roland SC-55 vs Roland Sound Canvas VA Roland SC-55 vs later Sound Canvas models Roland SC-55 vs Yamaha MU80 Yamaha MU80 vs Yamaha S-YXG50 In closing…
The problem So you got a nice retro PC and a CompactFlash (CF) to IDE adapter, and now you want to install MS-DOS 6.22 onto a CF card to put the machine to good use (i.e., playing retro games—what else, really?) But no floppy drive, no Gotek, and no CD-ROM drive. What’s a young bear to do? In WinUAE, you can mount any physical hard disk or removable flash media for direct low-level…
Table of contents Introduction Prerequisites A brief history of the Amiga OCS vs AGA Non-OCS adventure, RPG, and strategy games worth playing AGA/CD32 versions of DOS VGA games AGA/CD32 exclusive adventure games AGA/CD32 exclusive RPGs AGA exclusive strategy games The case against WHDLoad Amiga configurations to play all games References & further reading Introduction It appears that the generally…
UPDATE 2023-02-19: Add section explaining analog RGB, further elaborate my views on low-resolution “pixel art”, plus wording improvements and grammar fixes. UPDATE 2022-11-20: Shader pack updated to v2, changed the instructions and screenshots accordingly, plus revised the whole article here and there a bit. Note that the names of the shader files have changed. This is a significant…
Table of contents Introduction The failed attempts VLC OMXPlayer mpv Kodi The solution — LibreELEC Configuration tweaks Keyboard bindings Selecting the correct HDMI output range Some weird issues Hardware setup In conclusion Introduction A few weeks ago I decided it was time to replace my ageing 2007 Macbook Pro I had been using for watching movies on my big living room TV with something…
Table of contents Intro I — The Not-So-Obvious 1 Reducing executable size by stripping debug symbols 2 Release builds with exception logging 3 Switching to ARC/ORC 4 Executable icons on Windows (MinGW) 5 Debug echo in Windows GUI programs (MinGW) II — The Hidden 6 ‘using’ keyword 7 Opening URLs in the default browser 8 Cross-platform home and config directories 9 Debug…
UPDATE 2019-10-19: Added some warnings about the default exFAT cluster sizes. UPDATE 2019-07-08: Added instructions on enabling exFAT support, made the fstab mounting command more robust, and added the Fixing boot problems due to bad fstab file section. Table of contents Introduction Installing Raspbian Scratch Enabling SSH access Enabling VNC access Mounting an NTFS or exFAT formatted external…
Table of contents Overview Prerequisites Auto-generating the basic wrapper Fixing conversion errors – Part 1 Opaqueue C structs Circular types Unsigned integer literals Dynamic linking Fixing conversion errors — Part 2 FMOD callbacks and function pointers Missing constants Error handling helpers Improving the wrapper Conclusion Further links of interest Overview One of the many…
Table of contents Overview Notes on the book Coordinate system Vectors, Normals, Points Matrix inverse Ray-box intersection tests Notes on Nim Project structure Inlining Calling parent methods Managing circular dependencies Conclusion Further links of interest Overview I started reading the awesome Physically Based Rendering: From Theory to Implementation book a few weeks ago, which made me…
UPDATE 2017-06-04: Corrected some slight misinformation regarding link time optimisations and the {.inline.} pragma, some stylistic improvements, added more references. Table of contents Overview First attempts Test setup Round 1 — Nim vs C++ 0. C++ 1. Nim — using GLM 2. Nim — custom vector class (object refs) 3. Nim — custom vector class (objects) 4. Nim — vector…
Are you the sort of person who is looking for a Vim plugin for everything? Does having to reach out for the mouse sideways cause you involuntary facial muscles twitches? Is breaking out the arrow keys with a screwdriver among the first few things you do on a new computer (after swapping Caps Lock with Left Ctrl, of course)? Then welcome, you’re among friends here. UPDATE 2020-05-11: Updated…
[I’ve been listening to Shadows of the Heart from Dan Pound all week, it’s just the perfect definition of ambient that, according to Brian Eno, “must be as ignorable as it is interesting”. No track highlights this time, this is really meant to be listened to from beginning to end, over and over again; it’s one singular 55-minute piece of soothing ambient symphony!] I…
[Listening Esoterica from Dan Pound. Very reminiscent of the Steve Roach type of tribal/electronic ambient, which is always a good thing in my book. Parts 1, 2, 6 & 7 are my personal highlights.] Ok, so last time I ended my post with the cliffhanger that I’m going to show some actual Nim code in the next episode, which is this. Well, I’ll never make foolish promises like that again, I…
Table of contents A short quiz The arcane art of gamma-correctness What is gamma and why do we need it? Light emission vs perceptual brightness Physical vs perceptual linearity Efficient image encoding The gamma transfer function Gamma vs sRGB Gamma calibration Processing gamma-encoded images Effects of gamma-incorrectness Gradients Colour blending Alpha blending / compositing Image resizing…
Ok, I’m not too sure in what direction this post will go, an informative article, a rant, or both. Probably a bit of both, with an emphasis on the rant part, given my current not-quite-positive emotional involvement with the topic. Gentlemen (and gentlewomen), please fasten your seatbelts! UPDATE #1: It turned out to be a quite informative mega-post in the end, just don’t give up…
[I have to tell that even after 34 years, Brian Eno’s ambient music is still so much better than 99.9999% of all recent electronic releases. Listening to Ambient 4: On Land from 1982; track #2 The Lost Day has a wonderfully creepy atmosphere…] Table of contents The Basics Coordinate system Notation Transform matrices Calculating primary rays Ray-sphere intersection Ray-plane…
[Listening to the albums Reverberant Skies and White Maps from Aglaia in an infinite loop… A beautifully hypnotic experience! The track In the First Spinning Place from White Maps is my absolute favourite.] Why a ray tracer? I’ve been fascinated by ray tracing since my childhood. I still remember the first time I was playing around with an early 3D modeller/ray tracer program on the…
[Listening to: Aglaia – Three Organic Experiences. Track #3, Seven Ancient Glaciers is a definite stand-out!] Welcome, stranger! This series is a journal that attempts to document my trials and tribulations as I embark on the impossible journey of finding the perfect programming language that I can use with great joy on my hobby projects. An epic quest of unfathomable difficulty, indeed! In this…
Just what the world needs, yet another technical blog! My name is John Novak and I’ve been working as a professional programmer ever since I left uni in 2003. In those last 12+ years I have worked in a variety of industries using lots of different programming languages, most notably C, C++, Java, Python, C#, JavaScript and PHP. I’ll spare you from the gory details, you can check out my…
About Hey there, my name is John Novak and this is my personal blog where I keep a diary of my various misadventures that roughly fall into the “recreational programming” category. If you really need to further satisfy your curiosity about my person, try this post, or snoop around on my website. Apart from coding, I also like to write music, mess around with 3D art, and do photography.