<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Programming on NCoT Tech</title>
    <link>https://ncot.uk/tags/programming/</link>
    <description>Recent content in Programming on NCoT Tech</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Thu, 12 Mar 2026 11:31:02 +0000</lastBuildDate>
    <atom:link href="https://ncot.uk/tags/programming/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Triangle Rasterisation</title>
      <link>https://ncot.uk/blog-posts/triangle-rasterisation/</link>
      <pubDate>Thu, 12 Mar 2026 11:31:02 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/triangle-rasterisation/</guid>
      <description>&lt;p&gt;These are some notes on how to manually draw triangles in code. Possibly useful if you&amp;rsquo;re trying to write your own software renderer, or are just curious how it works.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agon Light Joystick Interface</title>
      <link>https://ncot.uk/projects/agon-light/agon-light-joystick-interface/</link>
      <pubDate>Sun, 09 Nov 2025 09:30:06 +0000</pubDate>
      <guid>https://ncot.uk/projects/agon-light/agon-light-joystick-interface/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve built a joystick interface for my Agon Light, using a PCB I found online. This is an improvement on &lt;a href=&#34;https://ncot.uk/projects/agon-light-joystick-test-1/&#34;&gt;the last time I did this&lt;/a&gt; and just stuck wires in the GPIO ports.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agon Light C Development</title>
      <link>https://ncot.uk/projects/agon-light/agon-light-c-development/</link>
      <pubDate>Fri, 03 Oct 2025 23:02:43 +0000</pubDate>
      <guid>https://ncot.uk/projects/agon-light/agon-light-c-development/</guid>
      <description>&lt;p&gt;How to write code for the &lt;a href=&#34;https://github.com/TheByteAttic/AgonLight&#34;&gt;Agon Light&lt;/a&gt; (and &lt;a href=&#34;https://heber.co.uk/agon-console8/&#34;&gt;Console8&lt;/a&gt;) using C instead of BASIC, under Linux. It might work with WSL2 in Windows, and it might work on a Mac.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing the PC BIOS Boot Screen Recreation</title>
      <link>https://ncot.uk/projects/dosdev/lets-recreate-a-90s-pc-bios-boot-screen-part2/</link>
      <pubDate>Sun, 23 Feb 2025 12:48:31 +0000</pubDate>
      <guid>https://ncot.uk/projects/dosdev/lets-recreate-a-90s-pc-bios-boot-screen-part2/</guid>
      <description>&lt;p&gt;Thanks to &lt;em&gt;@hobbified&lt;/em&gt; on YouTube, making the EPA logo look correct was quite straight forward&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s recreate a 90&#39;s PC BIOS Boot Screen</title>
      <link>https://ncot.uk/projects/dosdev/lets-recreate-a-90s-pc-bios-boot-screen/</link>
      <pubDate>Fri, 13 Dec 2024 12:48:31 +0000</pubDate>
      <guid>https://ncot.uk/projects/dosdev/lets-recreate-a-90s-pc-bios-boot-screen/</guid>
      <description>&lt;p&gt;Because why not, it looks simpler than it really is and we’ll get to fall down a rabbit hole trying to draw the Energy Star logo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nostalgic DOS Development Part 1 - FreeDOS, DJGPP, RHIDE and other madness.</title>
      <link>https://ncot.uk/videos/nostalgic-dos-development-part-1-freedos-djgpp-rhide-and-other-madness/</link>
      <pubDate>Mon, 25 Nov 2024 22:06:11 +0000</pubDate>
      <guid>https://ncot.uk/videos/nostalgic-dos-development-part-1-freedos-djgpp-rhide-and-other-madness/</guid>
      <description>&lt;p&gt;Come back to a time when 640k was enough, and when a 486 DX2/66 was considered a fast computer. None of this modern multi-core rubbish or branch predicting exploitable nonsense here. Just you, me, DOS and a C compiler.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nostalgic DOS Development Part 2 - Writing our first programs</title>
      <link>https://ncot.uk/projects/dosdev/nostalgic-dos-development-part-2-writing-our-first-programs/</link>
      <pubDate>Mon, 25 Nov 2024 21:00:34 +0000</pubDate>
      <guid>https://ncot.uk/projects/dosdev/nostalgic-dos-development-part-2-writing-our-first-programs/</guid>
      <description>&lt;p&gt;This is part two, &lt;a href=&#34;https://ncot.uk/projects/dosdev/nostalgic-dos-development-setting-up-the-machine/&#34;&gt;go read part 1 first&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nostalgic DOS Development - Setting up the machine</title>
      <link>https://ncot.uk/projects/dosdev/nostalgic-dos-development-setting-up-the-machine/</link>
      <pubDate>Mon, 25 Nov 2024 20:35:13 +0000</pubDate>
      <guid>https://ncot.uk/projects/dosdev/nostalgic-dos-development-setting-up-the-machine/</guid>
      <description>&lt;p&gt;The modern world is far too complex. Software has become piles of APIs stacked on top of each other, running on virtual machines inside browsers. Even the CPUs themselves are too complex for anyone to understand.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tilemap Game Engine Development - Agon Light C Programming</title>
      <link>https://ncot.uk/videos/tilemap-game-engine-development-agon-light-c-programming/</link>
      <pubDate>Thu, 24 Oct 2024 14:32:42 +0000</pubDate>
      <guid>https://ncot.uk/videos/tilemap-game-engine-development-agon-light-c-programming/</guid>
      <description>&lt;p&gt;In this video, I’ll show you how I built a tilemap system from scratch in C for the Agon Light, and integrated it into my existing game engine. Getting the physics engine to handle collisions with the tilemap was no easy task, but I’ll walk you through how I made it work. On top of that, I explore some game design, sketching out ideas for where the game is heading.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emulation Sucks</title>
      <link>https://ncot.uk/blog-posts/emulation-sucks/</link>
      <pubDate>Wed, 02 Oct 2024 21:49:37 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/emulation-sucks/</guid>
      <description>&lt;p&gt;… because it’s so realistic you still have to put up with the same problems you had 30 years ago…&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dodgy DOS Development</title>
      <link>https://ncot.uk/blog-posts/dodgy-dos-development/</link>
      <pubDate>Sun, 29 Sep 2024 11:28:22 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/dodgy-dos-development/</guid>
      <description>&lt;p&gt;From the mind that brought you “let’s try to write games using just pure C” I have a new idea for making my life difficult.&lt;/p&gt;&#xA;&lt;p&gt;Let’s write DOS software using period correct tools…&lt;/p&gt;</description>
    </item>
    <item>
      <title>Writing a game the hard way - from scratch using C - Part 2</title>
      <link>https://ncot.uk/videos/writing-a-game-the-hard-way-from-scratch-using-c-part-2/</link>
      <pubDate>Sat, 07 Sep 2024 18:54:09 +0000</pubDate>
      <guid>https://ncot.uk/videos/writing-a-game-the-hard-way-from-scratch-using-c-part-2/</guid>
      <description>&lt;p&gt;Join me on a journey as I attempt to write a game for my Agon Light using nothing but raw C programming. In this second episode I figure out how to make a very basic 2D rigid body physics system work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Writing a game the hard way - from scratch using C - Part 1</title>
      <link>https://ncot.uk/videos/writing-a-game-the-hard-way-from-scratch-using-c-part-1/</link>
      <pubDate>Sat, 17 Aug 2024 18:00:00 +0000</pubDate>
      <guid>https://ncot.uk/videos/writing-a-game-the-hard-way-from-scratch-using-c-part-1/</guid>
      <description>&lt;p&gt;Join me on a journey as I attempt to write a game for my Agon Light using nothing but raw C programming. In this first episode I figure out what kind of game to make, look at some shareware games of the past and get a basic game engine working, using nothing but C code – no external game engines or modern development tools.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stealing the Secrets of the NES - Agon Light Tilemaps in C</title>
      <link>https://ncot.uk/videos/stealing-the-secrets-of-the-nes-agon-light-tilemaps-in-c/</link>
      <pubDate>Mon, 27 May 2024 15:19:47 +0000</pubDate>
      <guid>https://ncot.uk/videos/stealing-the-secrets-of-the-nes-agon-light-tilemaps-in-c/</guid>
      <description>&lt;p&gt;Early computers weren’t powerful enough to draw full-screen moving graphics, so they had to use clever tricks. Let’s explore how Nintendo’s techniques for creating tile-based games on the NES can be applied to modern hardware. Using these methods, I built a scrolling tilemap system for the Agon Light using C programming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programming Bitmap Graphics - Agon Light using C</title>
      <link>https://ncot.uk/videos/programming-bitmap-graphics-agon-light-using-c/</link>
      <pubDate>Sun, 12 May 2024 08:22:13 +0000</pubDate>
      <guid>https://ncot.uk/videos/programming-bitmap-graphics-agon-light-using-c/</guid>
      <description>&lt;p&gt;The end result is a fairly pretty scrolling text routine that demonstrates how to draw multiple bitmaps to the Agon Light’s display using VDP commands.&lt;/p&gt;&#xA;&lt;p&gt;This builds on my previous &lt;a href=&#34;https://ncot.uk/videos/programming-windows-screensavers-agon-light-graphics-programming/&#34;&gt;Agon Light C Programming&lt;/a&gt; video where I explained how the Agon Light’s screen works, and how to draw lines and shapes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programming Language Easter Eggs</title>
      <link>https://ncot.uk/videos/programming-language-easter-eggs/</link>
      <pubDate>Sun, 31 Mar 2024 12:05:16 +0000</pubDate>
      <guid>https://ncot.uk/videos/programming-language-easter-eggs/</guid>
      <description>&lt;p&gt;Easter eggs are usually hidden inside our games and software, but did you know there are some hidden inside the tools and languages used to make that software? Come with me on a fun Easter diversion while we eat our bodyweight in chocolate, and look at six programming Easter Eggs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agon Light Graphics Tests</title>
      <link>https://ncot.uk/projects/agon-light/agon-light-graphics-tests/</link>
      <pubDate>Tue, 26 Mar 2024 15:30:06 +0000</pubDate>
      <guid>https://ncot.uk/projects/agon-light/agon-light-graphics-tests/</guid>
      <description>&lt;p&gt;It’s the Easter holidays and I’ve got two weeks off work. Amongst highly exciting things like weeding the garden and waiting for a new washing machine to be delivered, I’m doing some programming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Calculating Pi using Python - Gauss-Legendre and Monte Carlo methods - #piday 2024</title>
      <link>https://ncot.uk/videos/calculating-pi-using-python-gauss-legendre-and-monte-carlo-methods-piday-2024/</link>
      <pubDate>Wed, 13 Mar 2024 19:39:43 +0000</pubDate>
      <guid>https://ncot.uk/videos/calculating-pi-using-python-gauss-legendre-and-monte-carlo-methods-piday-2024/</guid>
      <description>&lt;p&gt;Let’s celebrate #piday in this appropriately short video by writing some #python programs to calculate Pi.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring Hardware Hacks: Joystick Integration, Keyboard Inputs, and Debugging with the Agon Light</title>
      <link>https://ncot.uk/videos/exploring-hardware-hacks-joystick-integration-keyboard-inputs-and-debugging-with-the-agon-light/</link>
      <pubDate>Sat, 24 Feb 2024 15:13:25 +0000</pubDate>
      <guid>https://ncot.uk/videos/exploring-hardware-hacks-joystick-integration-keyboard-inputs-and-debugging-with-the-agon-light/</guid>
      <description>&lt;p&gt;Dive into the exciting world of DIY hardware hacking. Join in as I explore joystick integration, keyboard inputs, and serial debugging using the versatile Agon Light platform. Delve into the technical intricacies of GPIO pins, assembly language programming, and C compiler usage for low-level development. Discover the power of computational thinking, boolean logic, and UART serial communication as we navigate through hardware interfacing challenges.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agon Light Joystick Test 1</title>
      <link>https://ncot.uk/projects/agon-light/agon-light-joystick-test-1/</link>
      <pubDate>Wed, 31 Jan 2024 20:54:18 +0000</pubDate>
      <guid>https://ncot.uk/projects/agon-light/agon-light-joystick-test-1/</guid>
      <description>&lt;p&gt;I’m working on getting a joystick port working on my Agon Light. They don’t come with joystick ports, but there is a set of GPIO pins that can be read through assembly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cellular Automata - Simulate life from chaos and code</title>
      <link>https://ncot.uk/videos/cellular-automata-simulate-life-from-chaos-and-code/</link>
      <pubDate>Sun, 28 Jan 2024 16:59:53 +0000</pubDate>
      <guid>https://ncot.uk/videos/cellular-automata-simulate-life-from-chaos-and-code/</guid>
      <description>&lt;p&gt;Today, we’re diving into the world of cellular automata. A digital playground of sorts where simple rules lead to astonishing complexity. where order can arise from chaos and collapse back into chaos just as quickly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cellular Tomato</title>
      <link>https://ncot.uk/blog-posts/cellular-tomato/</link>
      <pubDate>Mon, 22 Jan 2024 21:05:49 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/cellular-tomato/</guid>
      <description>&lt;p&gt;In preparation for my next video I’ve been tidying up some cellular automata code I wrote. There’s some good old Conway’s Life, some 1D CAs that make pretty patterns, and one I recently discovered called Wire World.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agon Light C Programming - An Introduction</title>
      <link>https://ncot.uk/videos/agon-light-c-programming-an-introduction/</link>
      <pubDate>Sun, 14 Jan 2024 21:15:42 +0000</pubDate>
      <guid>https://ncot.uk/videos/agon-light-c-programming-an-introduction/</guid>
      <description>&lt;p&gt;Instead of bashing away in BASIC, it’s possible to do some coding in C on the Agon Light. Let’s find out how in this introduction to an ongoing series where I figure out the Agon hardware and work on a game. I have no idea what game I want to make, and I’m not entirely sure how to achieve some of the necessary functions, but it’ll be fun figuring it out and I hope you come along for the ride!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Happy 2024!</title>
      <link>https://ncot.uk/blog-posts/happy-2024/</link>
      <pubDate>Sun, 07 Jan 2024 16:23:08 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/happy-2024/</guid>
      <description>&lt;p&gt;Hello everyone! Let’s get on with it, shall we? Last year went pretty well, I released 14 videos and towards the end of the year experimented with releasing more than one video a month. I’ll also experiment with some more spontaneous content on here and maybe the odd Short. YouTube seems to like those, and doing what YouTube likes is the secret to growing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Dark Art of Programming - Writing Cursed Code</title>
      <link>https://ncot.uk/videos/the-dark-art-of-programming-writing-cursed-code/</link>
      <pubDate>Tue, 31 Oct 2023 18:03:58 +0000</pubDate>
      <guid>https://ncot.uk/videos/the-dark-art-of-programming-writing-cursed-code/</guid>
      <description>&lt;p&gt;It’s Halloween, programming is an art form and there’s a darker side to it. Come with me in this fun video as I explore several languages that hate you and are trying to make your life difficult, before we go off down the rabbit hole and find some truly horrific examples of real programming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FORTH - Better than BASIC?</title>
      <link>https://ncot.uk/videos/forth-better-than-basic/</link>
      <pubDate>Mon, 16 Oct 2023 19:33:40 +0000</pubDate>
      <guid>https://ncot.uk/videos/forth-better-than-basic/</guid>
      <description>&lt;p&gt;Let’s look at FORTH, the obscure stack based programming language that nobody seems to use. Or do they?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wang Tiles and other ways to tile a plane</title>
      <link>https://ncot.uk/videos/wang-tiles-and-other-ways-to-tile-a-plane/</link>
      <pubDate>Fri, 14 Jul 2023 15:22:56 +0000</pubDate>
      <guid>https://ncot.uk/videos/wang-tiles-and-other-ways-to-tile-a-plane/</guid>
      <description>&lt;p&gt;Understand the concept of tiling a plane by arranging regular tiles in a systematic manner, creating visually pleasing patterns. Additionally, get introduced to Wang tiles, a fascinating method that employs specific rules for tile placement, resulting in captivating, non-repetitive designs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gamedev, music, art and being creative</title>
      <link>https://ncot.uk/blog-posts/gamedev-music-art-and-being-creative/</link>
      <pubDate>Sat, 25 Mar 2023 23:52:10 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/gamedev-music-art-and-being-creative/</guid>
      <description>&lt;p&gt;I am not a creative person, and I’d quite like to change this. There’s a bunch of creative skills I’ve never put the effort into improving and I think I might have some ways to overcome this. Let’s have a look…&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chat GPT pretending to be a BBC Micro</title>
      <link>https://ncot.uk/blog-posts/chat-gpt-pretending-to-be-a-bbc-micro/</link>
      <pubDate>Mon, 13 Feb 2023 14:41:00 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/chat-gpt-pretending-to-be-a-bbc-micro/</guid>
      <description>&lt;p&gt;There’s a few of these types of video floating around YouTube at the moment. I figured I’d join in and have a play. Can I tell ChatGPT to pretend to be a BBC Micro?&lt;/p&gt;</description>
    </item>
    <item>
      <title>BBC BASIC in RiscOS on a Raspberry Pi is really cool</title>
      <link>https://ncot.uk/videos/bbc-basic-in-riscos-on-a-raspberry-pi-is-really-cool/</link>
      <pubDate>Sun, 12 Feb 2023 16:27:10 +0000</pubDate>
      <guid>https://ncot.uk/videos/bbc-basic-in-riscos-on-a-raspberry-pi-is-really-cool/</guid>
      <description>&lt;p&gt;Picture the modern world, but without Windows, PCs or Apple. What would be on your desk?&lt;/p&gt;</description>
    </item>
    <item>
      <title>#GitHubGameOff Jam 2019 Day 1</title>
      <link>https://ncot.uk/blog-posts/githubgameoff-jam-2019-day-1/</link>
      <pubDate>Sat, 02 Nov 2019 22:44:58 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/githubgameoff-jam-2019-day-1/</guid>
      <description>&lt;p&gt;Day 1 of the #GitHubGameOff jam, where I create a basic platform controller and level builder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>One Lone Coder Jam 2019</title>
      <link>https://ncot.uk/blog-posts/one-lone-coder-jam-2019/</link>
      <pubDate>Sun, 08 Sep 2019 18:50:23 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/one-lone-coder-jam-2019/</guid>
      <description>&lt;p&gt;This week I took part in the One Lone Coder 2019 game jam. The theme of this was “destruction”… My entry was started Friday, a mere 48 hours before the deadline. Yes, a week long jam where I had a whole seven days to come up with an idea was started 48h before the end…&lt;/p&gt;&#xA;&lt;h2 id=&#34;have-a-good-idea&#34;&gt;Have a good idea&lt;/h2&gt;&#xA;&lt;p&gt;The main issue I had this time was thinking up an idea that felt good enough to be a game. I had a bunch of half-ideas, but none of them seemed that great. Since the theme was quite broad, I could have knocked out any kind of generic shooting game, stuck on some pretty explosions and called it done. It didn’t feel like a particularly exciting game idea though so I ditched those kinds of ideas and looked around for some better inspiration.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Godot Wild Jam 12</title>
      <link>https://ncot.uk/blog-posts/godot-wild-jam-12/</link>
      <pubDate>Tue, 20 Aug 2019 09:44:59 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/godot-wild-jam-12/</guid>
      <description>&lt;p&gt;Between the 9th and 16th August 2019 I took part in the Godot Wild Jam #12. Let’s go through what it was like, and the things I learned this time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GMTK Game Jam 2019</title>
      <link>https://ncot.uk/blog-posts/gmtk-game-jam-2019/</link>
      <pubDate>Wed, 07 Aug 2019 09:45:03 +0000</pubDate>
      <guid>https://ncot.uk/blog-posts/gmtk-game-jam-2019/</guid>
      <description>&lt;p&gt;It’s been a long time since I entered a game jam, the last ones being the &lt;em&gt;One Game a Month&lt;/em&gt; jams back in 2014. This one was the &lt;a href=&#34;https://itch.io/jam/gmtk-2019&#34;&gt;GMTK Game Jam 2019&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
