<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>C64 OS</title>
		<link>https://www.c64os.com/feed/</link>
		<atom:link href="https://www.c64os.com/feed/" rel="self" type="application/rss+xml" />
		<description>A blog about making a C64 useful in a modern world. Tracks the development progress of C64 OS, an event driven and network oriented unitasking OS for stock C64.</description>
		<language>en-us</language>
		<image>
			<title>C64 OS</title>
			<url>https://www.c64os.com/resources/logo-rss-c64os.png</url>
			<link>https://www.c64os.com/feed/</link>
			<width>144</width>
			<height>48</height>
		</image>
		<item>
			<title>NEOS Mouse: Reborn</title>
			<link>https://www.c64os.com/post/neosreborn</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate>
			<category>Hardware</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/neosreborn/icon-neosmouse.jpg'> Have you ever heard of the NEOS mouse? You've probably heard that it sucks. And that impression is well earned. But there is a good reason for this, so let me explain exactly why it sucks and what we can do to make it useful again and give it a fresh breath of air. For some context, the standard mouse on the C64, C128, and compatible computers is the Commodore 1351 mouse. You're probably familiar with this one. Many people think of it as a "GEOS" mouse, because it shipped concurrently with the introduction of GEOS. And of course, using a real mouse with a graphical user interface is a huge step up in ease and productivity. Here's what the 1351 looks like: Commodore 1351 Mouse If you've been around the block, you have probably also heard that you should steer clear of the infamous Commodore 1350 mouse. (Beware that little "0" rather than a "1".) The 1350 mouse is a joystick in mouse clothing and it totally stinks. To use a 1350, you have to continually roll the ball in a given direction. . . ]]></description>
			<guid>https://www.c64os.com/post?p=134</guid>
		</item>
	
		<item>
			<title>PETSCII/ASCII Conversion</title>
			<link>https://www.c64os.com/post/petsciiasciiconversion</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/petsciiasciiconversion/icon-petsciiascii.jpg'> Let's talk about PETSCII and ASCII, what they are and how to convert between them properly and losslessly. There are some examples on the internet that are not right, and there are some nuances that make it more complicated than it seems at first glance. ASCII was developed to standardize the codes used by different types of early computers and teletype (and teletype-like) machines. At this time, computers generated output by printing to paper. Although it is an "American" standard code of information interchange, several of the characters were designed for internationalization, by combinations that can only be done on paper. For example, the "Back Space", which became ubiquitous on PCs for "delete," on paper truly is a back "space." It causes the print head to move back one space so that it's positioned above where the previous character was printed. Symbols like, caret (^), tilde (~), and backtick (`), which we use today to mean or perform certain technical functions, are actually me. . . ]]></description>
			<guid>https://www.c64os.com/post?p=133</guid>
		</item>
	
		<item>
			<title>Lightweight Authentication Schema</title>
			<link>https://www.c64os.com/post/lightweightauthentication</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/lightweightauthentication/icon-lightweightauthentication.jpg'> This post is basically a white paper, but it's in a non-formal blog post style. I've been working on a new Application for C64 OS that makes use of networking. I've got a long list of Apps and Utilities that I'd love to have on the platform, but I have to prioritize the one I think will be most useful to have first. For now, until I get further along and decide to share some details, I'm keeping the App a secret. But suffice it to say that, as with many online services, you need to authenticate yourself somehow and preferably share some account profile details, like your name and maybe your country, and perhaps your email address. Authentication by a C64 OS Application or Utility to a network service is a tricky problem. It isn't just one problem but a collection of several different problems that all need to be solved in an elegant way. And it is that elegant solution that I've been daydreaming about. I think I have a pretty nice schema and I've been testing it with real code to make . . . ]]></description>
			<guid>https://www.c64os.com/post?p=132</guid>
		</item>
	
		<item>
			<title>Current Directory Pointers CMD HD</title>
			<link>https://www.c64os.com/post/cmdhdcurrentdirpointers</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate>
			<category>Technical Deep Dive</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/cmdhdcurrentdirpointers/icon-cmdhdpartitions.jpg'> Back in 1986, Berkeley Softworks released the first version of GEOS v1.0 for the Commodore 64. At that time the 1541 disk drive reigned supreme as the storage device for the C64. The 1571 was released the year before GEOS, but the 1541 was and forever remained far more popular. The 1541 and 1571 were very low capacity 5.25" floppy disk drives. The 1541 could only access one side of the disk at a time offering only 664 blocks of storage (~170KB.) You could flip the disk upside down, but the other side had to be formatted with an independent file system. The 1571 could read both sides of the disk and integrate them into a single pool of storage, doubling the capacity of one file system to a whopping ~340KB. With a storage capacity that is so low, there isn't much point in the file system supporting subdirectories. Organization of files can be done much more practically per disk. Then you can file your disks into different disk cases with little labeled dividers between them. 5.25" Floppy. . . ]]></description>
			<guid>https://www.c64os.com/post?p=131</guid>
		</item>
	
		<item>
			<title>MouSTer and OpCoders Store</title>
			<link>https://www.c64os.com/post/mouster</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate>
			<category>Hardware</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/mouster/icon-mouster.jpg'> This is my first blog post of 2025. It's been a while, but I assure you, lots of stuff has been happening! The "Whats New!" page has been around since C64 OS v1.04 was released in June of 2023. The Whats New! page has taken the place of blog posts for stuff that's just news. What I'm doing right now, talking to you like I'm a human being, is a tone reserved for the blog. What's New! gives you updates on the latest software releases and other news in a succinct format but with a marketing or promotional tone. The welcome page also got some nice updates with a bold new header section that rotates through the top new things. As of this writing, it's rotating through announcements about: The release of C64 OS v1.07 The release of the new Image Search App, and The availability of mouSTer from OpCoders. And that last one is a main topic for this blog post. OpCoders Store C64OS.com has evolved over the years. In 2017, when I first created this site, it was all on one page. It eventually evolv. . . ]]></description>
			<guid>https://www.c64os.com/post?p=130</guid>
		</item>
	
		<item>
			<title>World of Commodore '24</title>
			<link>https://www.c64os.com/post/worldofcommodore2024</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Wed, 25 Dec 2024 00:00:00 +0000</pubDate>
			<category>Editorial</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/worldofcommodore2024/icon_woc24.png'> I haven't blogged about World of Commodore since 2019. Now, to be fair, we did have a worldwide pandemic between then and now. In 2020 there was no in-person event. Maybe it happened online, but I didn't participate. In 2021 World of Commodore happened again in the flesh, but we were all masked up. I don't remember much about that event. I did take lots of photos, but I can only assume that attendance was low. I think they did the show via Zoom in parallel with the in-person event. At this time, C64 OS had not yet made its v1.0 debut. I was very busy preparing for the release though. Instead of blogging I was writing the User's Guide both printed and digital, and trying to finish everything up in the following 6 months. By the time 2022 rolled around, I had released C64 OS just a couple of months earlier, and my life and time availability had been completely deranged. That was one of the busiest times I've ever experienced. I was making sales every few minutes. I had a huge backlog of . . . ]]></description>
			<guid>https://www.c64os.com/post?p=129</guid>
		</item>
	
		<item>
			<title>Desktop Designer</title>
			<link>https://www.c64os.com/post/desktopdesigner</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 14 Nov 2024 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/desktopdesigner/icon_desktopdesigner.png'> C64 OS v1.07 is currently in beta testing. It will hopefully be released soon, and is another free system update to all licensed users of Version 1.0 and up. A whole pile of cool new things are coming in v1.07. However, today I wanted to talk about something a little less well known, but nonetheless I think is pretty cool. It's a new Application that I created for C64 OS called Desktop Designer. In the very first release of C64 OS, version 1.0, there was a handful of tools included for creating different types of image data that C64 OS consumes. For instance, there was (and still is) a set of two programs found in the //os/desktop/ directory for creating desktop backdrops. How they work is very basic. You load and run screenedit. It clears the screen and installs a very simple listener for PETSCII control characters. It supports one to invert the characters on the screen, one to reload the screen from a filename that you specify, and another to save the screen to that filename by invok. . . ]]></description>
			<guid>https://www.c64os.com/post?p=128</guid>
		</item>
	
		<item>
			<title>Networking in C64 OS</title>
			<link>https://www.c64os.com/post/commodorenetworkprotocol</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Tue, 24 Sep 2024 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/commodorenetworkprotocol/icon-cnp.png'> For the last few months I have been super hard at work on the next major update to C64 OS, version 1.07. It will be released as a free update to all licensed users of C64 OS v1.x, and will be made available for download from the C64 OS System Updates page. The big new technology coming to C64 OS is networking. It's been a long time coming, but up until this point there have been many more basic features that had to be completed first. And now I'm very excited to finally be at the point where I can work on the networking layer, which I think will really bust open the doors of what we can do with C64 OS. Along the way I've been implementing a number of smaller items on the list and fixing a bunch of annoying bugs. Here's a short list of some of the updates and improvements that are coming in v1.07: Improved NMI handling and behavior of STOP+RESTORE New Network Utility for configuring C64 OS networking Settings Utility now offers to open the Network Utility TKInput fields gain support for. . . ]]></description>
			<guid>https://www.c64os.com/post?p=127</guid>
		</item>
	
		<item>
			<title>RAD Review</title>
			<link>https://www.c64os.com/post/radreview</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Fri, 17 May 2024 00:00:00 +0000</pubDate>
			<category>Hardware</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/radreview/icon-rad.jpg'> I haven't done a hardware review in a while, but I have acquired a few new pieces of hardware to test with C64 OS for compatibility. Today we're going to talk about the "RAD" RaspberryPi-based REU cartridge for the C64. Before we get into that, a couple of very brief updates about C64 OS and c64os.com. I have been hard at work on the next major update to C64 OS, v1.07. For context, Version 1.06 was released in March 2024 and brought fast app switching via REU. This has been huge, it totally changes how C64 OS can be used and makes it significantly more powerful. In version 1.07 C64 OS is gaining networking abilities. I won't go into details yet on how the networking in C64 OS works, but, I think it's going to be pretty great. I am quite far along in its development, and am now in the phase of testing and debugging and implementing the first few Utilities and Applications that make use of the internet. Lots more to come soon. And when I'm a bit further along I'll write up a technical bl. . . ]]></description>
			<guid>https://www.c64os.com/post?p=126</guid>
		</item>
	
		<item>
			<title>Hybrid BASIC/ASM Programs</title>
			<link>https://www.c64os.com/post/hybridbasicasm</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/hybridbasicasm/icon-basicasm.jpg'> Here is a blog post about some general programming theory and practice on the C64, that I personally find useful and hopefully you'll find it useful too. I recently updated a tool that I use to help me with C64 OS development from being written in BASIC to being written as a hybrid of BASIC and 6502 Assembly. I'm sure there are many books and many magazine articles that have been published on this subject, but there can never be too much information on programming tips and ideas for the Commodore 64. I should set the stage by explaining my development environment. I decided from the beginning that I wanted to develop C64 OS using a C64 (or C128), and not by cross development on a Mac or PC. I know that isn't everyone's cup of tea, but since I would be spending years working on the project, I wanted to spend those years becoming intimately comfortable again with the C64's keyboard, and the storage devices, and all the various commands in BASIC and in the DOSes of the drives. I think tha. . . ]]></description>
			<guid>https://www.c64os.com/post?p=125</guid>
		</item>
	
		<item>
			<title>Hidden Files</title>
			<link>https://www.c64os.com/post/hiddenfiles</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Mon, 25 Mar 2024 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/hiddenfiles/icon-hiddenfiles.jpg'> The news is that C64 OS version 1.06 has just been released, March 22, 2024. I'm happy to get that out the door, as it frees up my mind to start working on important new cornerstone technologies coming to C64 OS. I'll start dropping hints about that in the coming weeks. Version 1.06 is a more modest release than 1.05 or 1.04. But I think that's okay. v1.06 includes one new Application, three new Utilities and new features and improvements to several existing Apps and Utilities, and even some new low-level features in the KERNAL and libraries. This latest release makes use of a combination of all of the above to provide a handy new feature for users and a potentially powerful and useful feature for developers, when put to creative uses at a low-level. Discussions of just this nature have already been spurred on in the developer forums on the C64 OS Discord server. That feature is: Hidden Files. (But you knew that already from the title of this post.) Let me give a quick walk through of . . . ]]></description>
			<guid>https://www.c64os.com/post?p=124</guid>
		</item>
	
		<item>
			<title>Eliza for C64 OS</title>
			<link>https://www.c64os.com/post/elizaforc64os</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Fri, 26 Jan 2024 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/elizaforc64os/icon-elizaforc64os.png'> I'm super busy, so I'm going to have to keep this blog post short. First a couple of updates. I had a great time at World of Commodore in December 2023. I had a nice vendor table there, I think it was the nicest I've ever put together. The top image is how I imagined it, when I set it up on my basement floor. The bottom is how it ended up on a table at the show. I had three machines set up, each with a quite different collection of hardware, but each showing C64 OS v1.05 running and available for live demo. There's an Ulimate64 with a cableless SD2IEC and a 1581 connected to a Commodore 1702 monitor, with a MouSTer and black wireless wheel mouse. This was the machine I used to give my presentation. There is also the C64 Luggable, which is a C64 Reloaded MK2 with a UltimateII+, MicroMys 5 and wired wheel mouse. And squeezed in the middle is TheC64 mini, mounted to the underside of a tiny black HDMI monitor on a stand I built for it. It's running VICE with C64 OS installed on a virtual I. . . ]]></description>
			<guid>https://www.c64os.com/post?p=123</guid>
		</item>
	
		<item>
			<title>Fast App Switching</title>
			<link>https://www.c64os.com/post/fastappswitching</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 30 Nov 2023 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/fastappswitching/icon-fastappswitching.png'> Hi everyone. I know it's been a while since I've written a blog post, but I have been super busy working on new C64 OS code and documentation. A quick update on the documentation. I've been working on the Programmer's Guide, where I have completed Chapter 4: Using the KERNAL. It is an overview and discussion about how to use the C64 OS KERNAL, plus a reference-style breakdown of all 114 KERNAL routines divided into 10 modules: Memory, Input, String, Math, Screen, Menu, Service, File, Toolkit and Timers. I've also been working on Chapter 8: Writing an Application (née Chapter 7). It's not quite ready to publish yet, but it is currently sitting around 35,000 words, and is a deep technical walkthrough of everything from stem-to-stern that goes into writing the TestGround Application that ships with C64 OS. TestGround's source code is opened in the process of writing this chapter, and it covers everything from creating an Application Bundle, to making its menu data file, creating an icon . . . ]]></description>
			<guid>https://www.c64os.com/post?p=122</guid>
		</item>
	
		<item>
			<title>Image File Formats</title>
			<link>https://www.c64os.com/post/imageformats</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/imageformats/icon-imageformats.png'> The free software update v1.04 of C64 OS was released last month, June 2023. I like to give titles to the releases that capture the most important features of the release. I decided to call 1.04 the Multimedia Release. The reason for calling it a Multimedia release is because it has 4 main changes related to graphics, animation and sound. Let me briefly touch on these 4 changes, and then we'll hop into the main point of this weblog post, which is to discuss Commodore 64 image file formats, including two new ones. 1) New video modes in splitscreen and fullscreen From v1.0, C64 OS supports an adjustable raster-split which is referred to as splitscreen mode. It's built into the OS at the KERNAL level, with some help from a shared library called gfx.lib. The only reason for the gfx.lib is because if any Application doesn't need to use splitscreen mode, it's nice for it to reclaim some of that memory, and so some of the code that implements splitscreen which was originally in the KERNAL dur. . . ]]></description>
			<guid>https://www.c64os.com/post?p=121</guid>
		</item>
	
		<item>
			<title>Mounting and Mouse Wheel</title>
			<link>https://www.c64os.com/post/mountandwheel</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Fri, 12 May 2023 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/mountandwheel/icon-disk-mouse.png'> Mounting and mouse wheel? What the heck have those two things got to do with each other? Well, they're two new features available in the most recent update to C64 OS, version 1.03. If you purchased a copy of C64 OS, either the Starter Bundle or the Standard Bundle, then you are a version 1.X licensed user. Congratulations. That entitles you to patches, bug fixes and updates with new features. If you didn't know that you get access to new features and updates, you may be missing out on cool new things being added to C64 OS. You can download, for free, C64 OS system updates and other independent releases from the Official Software Updates page. These updates can be installed overtop of an existing C64 OS installation to update it to a newer version. This is all handled by the "Installer" Utility which was included as part of version 1.0. There are a few things you need to know before installing an update, such as updating your current system in steps. If you're currently on 1.0, you need. . . ]]></description>
			<guid>https://www.c64os.com/post?p=120</guid>
		</item>
	
		<item>
			<title>Gaps in Software IEC</title>
			<link>https://www.c64os.com/post/softwareiecgap</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Tue, 10 Jan 2023 00:00:00 +0000</pubDate>
			<category>Technical Deep Dive</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/softwareiecgap/icon-c64os-on-1541UII.jpg'> Happy New Year Commodore 64 lovers, welcome to 2023. C64 OS is selling well. I couldn't be happier about it. I'm currently restocking for the 4th stock run and hope to be back ready to take orders again around the end of January. Lots of stuff is going on. We're just doing some beta testing on the v1.02 and v1.03 updates to make sure these work without any issues, and then they'll be released for download from the Software Updates page. v1.02 is very minor; It fixes a bug in the Installer Utility which is important for making sure that subsequent updates install properly. At the same time v1.03 is being released with several new features I've been working on. More details on this, when it's released, will come in another weblog post. I thought I'd share these pictures; A day in the life of an OpCoders Inc. grunt worker, assembling C64 OS bundles and making them ready for shipment. OpCoders Inc. assembly factory. Many people have asked me if it is possible to use C64 OS with a 1541 Ulti. . . ]]></description>
			<guid>https://www.c64os.com/post?p=119</guid>
		</item>
	
		<item>
			<title>C64 OS v1.0 release</title>
			<link>https://www.c64os.com/post/c64osv1release</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Tue, 20 Dec 2022 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/c64osv1release/icon_c64osv1.png'> To all C64 fans and most especially to the people who had gotten used to reading my blog posts and getting news and updates on my progress, it is an exciting time. C64 OS version 1.0 has been released and is available for order. Although it seemed quiet, on the blog, here at C64os.com for 'lo these many months with only a brief update back in May on what's going on, I've had the petal to the metal. For those who follow me on Twitter I was still giving updates there about things that were brewing. And then in June, exactly one year after the June 2021 presentation that I gave for Commodore Users Europe, I had the privilege of giving another demo. The 2021 demo video has, as of this writing, had 32,000 views and the more recent 2022 demo video has had 6,700 views. By some margin, the C64 OS demos have been the most popular videos on the Commodore User's Europe channel so far. Some of those views were helped by C64 OS getting featured on Hacker News and Hackaday. It is super exciting when. . . ]]></description>
			<guid>https://www.c64os.com/post?p=118</guid>
		</item>
	
		<item>
			<title>Updates on C64 OS, Beta 0.8 and 0.9</title>
			<link>https://www.c64os.com/post/updatebeta8and9</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Wed, 11 May 2022 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/updatebeta8and9/icon_beta8and9.jpg'> Hello folks and welcome back to another blog post on C64 OS. I've got so much to talk about, and no time to talk about it. How about the elephant in the room first? It's May of 2022, and I haven't made a blog post since December of 2021. What's more, I said the next blog posted would be the follow-up part 3 of my exposé of VIC-II timing for an FLI routine I disected, commented and figured out from Codebase64. But this blog post is not that post. Has C64 OS development stalled? What happened, where am I at? Why the silence? The good news is that, it's basically all good news! I have been developing like a cross over between a cave troll and a 6502 code producing machine, that's powered by coffee beans. And whenever I'm not coding, I've been discussing things with my beta testers, designing a new logo, overhauling the /c64os/ subsite of c64os.com, and writing the online version of the C64 OS User's Guide. The only bad news is, I simply haven't had time to write the lengthy and detailed . . . ]]></description>
			<guid>https://www.c64os.com/post?p=117</guid>
		</item>
	
		<item>
			<title>Text Rendering and MText</title>
			<link>https://www.c64os.com/post/textrendering</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/textrendering/icon_textrendering.png'> I wrote the first two posts in a 3-part series about the VIC-II and FLI Timing (Part I and Part II,) but I have a lot to say about things I'm working on presently, and I don't want to miss the moment to talk about them while they're fresh in my mind. We'll return to Part III of the VIC-II and FLI Timing after this. In mid-2019 I wrote a post called Webservices: HTML and Image Conversion. I have since revisited the image conversion part in the post, Image Search and Conversion Service, but have not yet returned to the idea of a simple marked-text format, which I refer to as MText. In the meantime, I have implemented the Toolkit classes that are always memory resident: TKObj TKView TKScroll TKSbar TKSplit TKTabs TKLabel TKCtrl TKButton Plus several more that are runtime loadable, relocated in memory and dynamically linked to their superclass: TKTable TKTCols TKInput TKPlaces TKFileMeta TKPathBar TKInfoBar All these classes and the whole Toolkit system are now quite mature—many bugs hav. . . ]]></description>
			<guid>https://www.c64os.com/post?p=116</guid>
		</item>
	
		<item>
			<title>VIC-II and FLI Timing (2/3)</title>
			<link>https://www.c64os.com/post/flitiming2</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Fri, 22 Oct 2021 00:00:00 +0000</pubDate>
			<category>Technical Deep Dive</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/flitiming2/icon_flitiming.png'> This post is part 2 of a 3 part series. If you haven't read Part 1: Memory Access yet, I'd recommend starting there first. I like to start with a few updates on the progress of C64 OS. If you're not interested in the updates, you can skip to the the main topic. Update on C64 OS TKInput Class, File Lock Library, and File Info Utility I've recently finished the TKInput class, which is a single line text input field. It supports most of what a modern text field supports. Selections, cut/copy and paste to and from the clipboard. Content length constraints, blur, focus and character insert events, ability to filter or substitute typed or pasted characters. Good keyboard controls. I've also recently finished the File Info Utility, which makes use of the TKInput class for editing a file's name. C64 OS applications use a standard pointer to a file reference for the currently open or selected file. The system's status bar has a mode that automatically renders this file reference. Now, the File . . . ]]></description>
			<guid>https://www.c64os.com/post?p=115</guid>
		</item>
	
		<item>
			<title>VIC-II and FLI Timing (1/3)</title>
			<link>https://www.c64os.com/post/flitiming1</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 26 Aug 2021 00:00:00 +0000</pubDate>
			<category>Technical Deep Dive</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/flitiming1/icon_flitiming.png'> A few updates first, I'll try to keep these brief. Update on IP Thief (BASIC RPG/Maze Game) I've finished: the introduction screen, the game mechanics for movement between the rooms, collecting items in inventory, points, combat against monsters, and changing levels. I've got a "level menu" screen, that you can access with the back arrow key, to let you toggle music on/off, quit the game, restart the level, or restart the game from level 1. I've done the screen that appears at the end of a level to tell you how many points you got out of the possible total for the map. And I've got 4 maps of increasing complexity, with music for each map. I have sent out a .D64 with the game, and a simple text-file "manual," to one person to do some beta testing. I still have to do more maps, not sure how many I'll do, probably 10 at a minimum, but maybe a few more. I have to design these, with the help of my son (the point of all this, after all.) And then I need to do an end sequence. A bit of an end. . . ]]></description>
			<guid>https://www.c64os.com/post?p=114</guid>
		</item>
	
		<item>
			<title>Image Search and Conversion Service</title>
			<link>https://www.c64os.com/post/imagesearch</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Fri, 23 Jul 2021 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/imagesearch/icon-imagesearch.jpg'> Let's begin with a fun update on something I've been working on. It's summertime, and I wanted my son to have a project. I've tried introducing him to programming, on the C64 in BASIC, but he's a bit young still to really grasp the important concepts. He loves games though; he likes card games like Munchkin and the Star Trek CCG, and he likes board games. We also play some dice games. There is a simplified version of a game called Mexico. You just need four ordinary 6-sided dice. One die each is used as your life counter, and starts at 6. You then roll one die each and compare their results. If they're the same no one takes damage this round, and you go on to the next round by rolling again. Whoever's die has the lower number takes one point of damage, which you track by rotating your life counter die. Whoever gets reduced to zero first loses. It's simple, but it's fun. One day we decided to use a whiteboard and some markers to flesh out this Mexico-like game with more rules. We just s. . . ]]></description>
			<guid>https://www.c64os.com/post?p=113</guid>
		</item>
	
		<item>
			<title>C64 OS Subsite and Guides</title>
			<link>https://www.c64os.com/post/c64osguides1</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Wed, 23 Jun 2021 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/c64osguides1/icon_c64os_guides.png'> Welcome back Commodore 64 fans and users. As discussed in the previous weblog post Updates on C64 OS, Beta 0.5, I have been working on a new a piece called, An Afterlife User's Guide to the C64. That guide is finished and online, along with several other updates to the C64os section of the site. I'll link to it and the other recent updates below. I personally divide the eras of the Commodore 64 into several phases that I refer to by its life cycle. These are only rough divisions, it's not perfect, but it makes things easier to talk about. The early life of the C64 is from its first release in 1982 up to around the time when the C128 and the C64c were released, say, 1986. In this early stage the software is still pretty rough, as the developers hadn't figured out how to make the most of the VIC-II and SID. The midlife of the C64 runs from around 1986 to maybe 1991. By the end of the midlife of the C64 developers had really mastered the sound and video capabilities of the machine; many g. . . ]]></description>
			<guid>https://www.c64os.com/post?p=112</guid>
		</item>
	
		<item>
			<title>Updates on C64 OS, Beta 0.5</title>
			<link>https://www.c64os.com/post/updatebeta5</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/updatebeta5/icon-updates-b5.jpg'> Well, time is ticking along at an extraordinary pace. Ontario, Canada, where I am from is in full lockdown again, now into the start of the second year of COVID-19. Both my kids and my wife are all home, and I have been working from home since around this time, 13 months ago. But it's not a bad time at all to spend with your C64. The nerd lifestyle of programming your Commodore 64 into the wee hours of the night, holed up under the stairwell in your basement with a cup of coffee and the Programmers' Reference Guide has never been so unaffected by a worldwide pandemic. This post is basically an update on where I'm at on multiple fronts. By my usual standards, this post is going to be short. But I have an excuse, which we'll talk about first. Lots of people don't know how to use their C64. As some people may know I've been running a C64 OS private beta program for just over a year now and I'll talk more about how that's going shortly. Partly from my feedback from beta testers, as well as. . . ]]></description>
			<guid>https://www.c64os.com/post?p=111</guid>
		</item>
	
		<item>
			<title>Shared Libraries</title>
			<link>https://www.c64os.com/post/sharedlibs</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 25 Mar 2021 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/sharedlibs/icon-sharedlibs.jpg'> Before we get started on the topic of shared libraries, I wanted to draw attention to a recent update to the Commodore 8-Bit Buyer's Guide. For the last couple of months, I've been scouring the web and reaching out to creators and vendors, collecting links, prices and photos of new products that are commercially available for the Commodore 64 and other Commodore 8-bit machines. I maintain the catalog in a spreadsheet, with product name, supplier, creator, category, price, notes and a URL to where the product can be ordered. I try to find the highest resolution images that I can, and then carefully remove any background so that each image has a consistent matted-on-white appearence. Often the images will have their light and dark, brightness, contrast, and sharpness adjusted to try to give them a consistent look. This is not always possible because the images come from such different sources. When necessary, I do color adjustments around the edges and through transparent areas to make t. . . ]]></description>
			<guid>https://www.c64os.com/post?p=110</guid>
		</item>
	
		<item>
			<title>Introduction to File Manager</title>
			<link>https://www.c64os.com/post/filemanager</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Mon, 22 Feb 2021 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/filemanager/icon-filemanager.png'> File Management is considered to be one of the most central parts of an operating system. In Command Line Interfaces, such as a Unix/Linux or the AmigaDOS Shell, you are in a current working directory. Commands interact with the file system relative to where you are. In macOS, the Finder is where you find applications, documents, and other files by navigating the file system. Windows 95, and up to the present day, follows the Macintosh model. The desktop is a folder where you can put other files and folders. And Windows Explorer is the analog of the Macintosh Finder. Earlier versions of Windows, though, had a Program Manager with icon shortcuts to applications. In addition to this it had a File Manager application for working with files. Early Windows' Program Manager on the left, and File Manager on the right. For reasons that relate mostly to limited RAM—but also because of the low screen resolution—C64 OS is a bit more like this early Windows model. Brief Overview of the C64 OS . . . ]]></description>
			<guid>https://www.c64os.com/post?p=109</guid>
		</item>
	
		<item>
			<title>GeoRAM, DigiMAX and NMI Programming</title>
			<link>https://www.c64os.com/post/georamdigi</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Sun, 31 Jan 2021 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/georamdigi/icon-georamdigi.jpg'> Welcome to 2021, let's hope it turns out better than 2020. In August of last year—which feels literally like yesterday—I published a weblog post about Playing Back PCM Audio on our beloved brown friend, the Commodore 64. I wrote that in response to an email exchange. I thought a blog post made more sense than just replying in an email. I walked through how to play digital audio on the C64, in theory, and tried to come up with suggestions for how to work with an REU. I recommended supporting GeoRAM as an option because it's still commercially available in a few forms: (GGLabs, Shareware Plus, Garrett's Workshop) Until recently I didn't know anything about GeoRAM. When I looked into it, I realized that it might be better suited to digital audio playback than a traditional 17xx REU. While working on a forthcoming update to the Commodore 8-Bit Buyer's Guide I was looking for new gear that's appeared on EBay since the last update, and I stumbled upon a new 2MB GeoRAM Clone from a maker . . . ]]></description>
			<guid>https://www.c64os.com/post?p=108</guid>
		</item>
	
		<item>
			<title>Anatomy of a Utility</title>
			<link>https://www.c64os.com/post/anatomyutility</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Wed, 30 Dec 2020 00:00:00 +0000</pubDate>
			<category>Programming Theory</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/anatomyutility/icon-anatomyofutility.png'> A quick update, I am working on Beta 0.5 of C64 OS. Everyone is waiting for the File Manager to be ready. Or, if not ready, at least to have something to see and try. C64 OS at its heart is a set of reusable resources that are designed to work together. The ideal is that an application is not written from the ground up, but by pulling together resources of the OS. I have designs for the File Manager's UI. I have the main application framework created. You can launch into File Manager. Its menus are created, navigable and some of them already function. But beyond that, there isn't much to see yet. There are two high-level technologies important to implementing the File Manager: The Directory Library and The UI Toolkit The Directory Library is done, tested, working well and in use already in a few places. I will be talking more about the Directory Library in this post, as I explain putting it to use in building a C64 OS Utility. The UI Toolkit is one of the 10 C64 OS KERNAL modules. It c. . . ]]></description>
			<guid>https://www.c64os.com/post?p=107</guid>
		</item>
	
		<item>
			<title>How Does the 1541 Drive Work</title>
			<link>https://www.c64os.com/post/howdoes1541work</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Tue, 10 Nov 2020 00:00:00 +0000</pubDate>
			<category>Technical Deep Dive</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/howdoes1541work/icon-1541.jpg'> I am writing about a drive technology that was released in 1982, but whose essential origins stretch back into the decade before that, let's call it 40 years old. And I'm writing this just a few nights after watching Apple's 2020 iPhone 12 media event. This year, as every year, this new iPhone is the bestest at everything. The juxtaposition of the modern and the retro has never been more extreme. But, here's the thing, it doesn't matter whether it's 11 billion or 5 billion or 1 billon whatevers, one thing remains the same: you can't get into an iPhone and see how it works. I used to be the kid who loved this new-fangled thing called home computers, and looked down my nose at my father's friend who drove a restored antique buggy down the back roads. He took me for a ride once. It was slow and deafeningly loud, like hundreds of explosions going off inside a metal box right beneath your head. It was bumpy and rough, and frankly, it stank of gasoline. But now I'm almost 40, and you know wh. . . ]]></description>
			<guid>https://www.c64os.com/post?p=106</guid>
		</item>
	
		<item>
			<title>Load and Run from 6502 ASM (2/2)</title>
			<link>https://www.c64os.com/post/loadrunfromasm2</link>
			<author>gregorynacu@me.com (Gregory Nacu)</author>
			<pubDate>Thu, 15 Oct 2020 00:00:00 +0000</pubDate>
			<category>Software</category>
			<description><![CDATA[ <img src='https://s3.amazonaws.com/com.c64os.resources/weblog/loadrunfromasm2/icon-prgrunner.jpg'> Originally I thought I'd pack this into one post. I decided to split it into two so we could get into some details about the power up process both in hardware and software, and then have room in this post to get into the details about how to deal with the variations and complexities—that have crept in over the years—for what was once a simple task, loading and running a program on a C64. If you've just stumbled upon this post, I encourage you to read part 1, Load and Run from 6502 ASM (1/2), first. Here's a very brief summary of what was covered in part 1: It used to be very straightforward to load and run a program on a C64. Most users had only one disk drive, on device 8, which was the drive's default. The load instruction was one command that would frequently appear on the disk label itself or in the first page of the software package's manual. Early software, i.e. most software, came to rely on being booted from device 8, even as users purchased and hooked up additional and mor. . . ]]></description>
			<guid>https://www.c64os.com/post?p=105</guid>
		</item>
	
		
	</channel>
</rss>