<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CP/M 65 &#8211; Set Side B</title>
	<atom:link href="https://setsideb.com/tag/cp-m-65/feed/" rel="self" type="application/rss+xml" />
	<link>https://setsideb.com</link>
	<description>The Flipside of Gaming</description>
	<lastBuildDate>Sat, 21 Jun 2025 23:19:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://setsideb.com/wp-content/uploads/2022/04/cropped-mascot512-32x32.png</url>
	<title>CP/M 65 &#8211; Set Side B</title>
	<link>https://setsideb.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>The Coolest Thing In The World Is CP/M For 6502</title>
		<link>https://setsideb.com/the-coolest-thing-in-the-world-is-cp-m-for-6502/</link>
		
		<dc:creator><![CDATA[rodneylives]]></dc:creator>
		<pubDate>Sat, 21 Jun 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[niche]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[c64]]></category>
		<category><![CDATA[CP/M]]></category>
		<category><![CDATA[CP/M 65]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[StupidComputerTricks]]></category>
		<guid isPermaLink="false">https://setsideb.com/?p=10171</guid>

					<description><![CDATA[Is that hyperbolic? It probably is. But the heart wants what it wants, and what mine wants is CP/M for the MOS 6502 processor. Set Side B is a blog about computer entertainment, in all its many forms, and this qualifies in my mind, because it&#8217;s not like anyone&#8217;s going to be using it do &#8230; <a href="https://setsideb.com/the-coolest-thing-in-the-world-is-cp-m-for-6502/" class="more-link">Continue reading<span class="screen-reader-text"> "The Coolest Thing In The World Is CP/M For 6502"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Is that hyperbolic? It probably is. But the heart wants what it wants, and what mine wants is CP/M for the MOS 6502 processor. Set Side B is a blog about computer entertainment, in all its many forms, and this qualifies in my mind, because it&#8217;s not like anyone&#8217;s going to be using it do real work. Right?</p>



<p>I found out about it through the (mostly) wonderful blog <a href="https://theoasisbbs.com/">The Oasis BBS</a>. It&#8217;s called CP/M 65, and it was made possible when CP/M&#8217;s source was opened in 2022. Wait, maybe I should explain what CP/M is. Sure, it has <a href="https://en.wikipedia.org/wiki/CP/M">a Wikipedia page</a>, but I <em>like</em> explaining it.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="384" height="247" src="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103414701.png" alt="" class="wp-image-10173" style="width:630px;height:auto" srcset="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103414701.png 384w, https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103414701-300x193.png 300w" sizes="(max-width: 384px) 85vw, 384px" /><figcaption class="wp-element-caption">Output of the DIR command on the C64 with the system disk in the drive.</figcaption></figure>
</div>


<p>Gary Kildall created CP/M, &#8220;Control Program for Microcomputers,&#8221; for the Z80 microprocessor, and it became the first widely-used standard OS for home computing. Its importance and influence cannot possibly be overstated: PC-DOS (later known as MS-DOS) was created as a clone of CP/M for the 8086 processor, meaning, the reason .COM files are still technically considered executables, and why we still have drive letters in Windows 11, are both directly because of CP/M.</p>



<p>A case could be made that, if IBM hadn&#8217;t made the IBM PC out of standard parts, making possible the huge market for clone machines, it&#8217;d still be a CP/M world today, in some way. It was the first standard OS, one where it ran on machines made by more than one manufacturer. Many of the CP/M machines companies, the Kaypros and Osbournes, are gone now, but they had quite a large niche at one time.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="384" height="247" src="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103425512.png" alt="" class="wp-image-10174" style="width:630px;height:auto" srcset="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103425512.png 384w, https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103425512-300x193.png 300w" sizes="(max-width: 384px) 85vw, 384px" /><figcaption class="wp-element-caption">Conway&#8217;s Game of Life, for CP/M 65. Because it&#8217;s not really a computer until someone&#8217;s run Life on it.</figcaption></figure>
</div>


<p>Commodore released a CP/M cartridge for the Commdore 64, an amazingly ridiculous and rare package because the C64 used a 6502 processor. The cartridge worked only because it contained a Z80 processor inside itself, and put the 6502 in the system to sleep to do work. It ran much more slowly than other CP/M systems, and on top of that it still had to use Commodore&#8217;s 1541 disk drive, a fatal flaw, because it meant that while it could run CP/M software, it couldn&#8217;t read the disks that had them, because CP/M&#8217;s native disk format couldn&#8217;t be read by the 1541&#8217;s read heads. (The C128 had a built-in Z80, and the 1571 disk drive that was made for it could read CP/M disks natively, but by that time CP/M was already dying, pushed out by the PC standard and all those clones I mentioned.)</p>



<p>This thing I&#8217;m posting about, CP/M 65, has no relationship to that woeful product. It&#8217;s a port of CP/M to the 6502 processor. It can&#8217;t run Z80 CP/M software. But in all other senses, it is CP/M. What that means is that it has its own BIOS.</p>



<p>CP/M&#8217;s BIOS is what allowed its software to run machines made by different manufacturers. The BIOS acted as a translation layer between the hardware and the software. Programs wouldn&#8217;t interact with the hardware directly, but instead make calls through the BIOS whenever they needed to use some part of the hardware, like when it needed to access the disk or output characters to the screen. The result was that unless the software was written specifically to take advantage of a computer&#8217;s specialized hardware anything extra it had would go unused, but it also meant that a software developer could write one program and, so long as it restricted itself to interacting with the system through that BIOS, it could run on any CP/M machine that could read the disk.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" width="384" height="247" src="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103432954.png" alt="" class="wp-image-10175" style="width:630px;height:auto" srcset="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103432954.png 384w, https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103432954-300x193.png 300w" sizes="(max-width: 384px) 85vw, 384px" /><figcaption class="wp-element-caption">DIR is the built-in CP/M command to report disk contents, but this release contains LS for those with that muscle memory.</figcaption></figure>
</div>


<p>CP/M 65 provides such a BIOS for all of its supported platforms, and as a result, while using it will give you a plane-jane, character-mode program, it&#8217;ll let you write a program that will run on any of them. Indeed, since this version of CP/M supports relocating executables, its programs can run on a much wider variety of hardware than original CP/M could. You can write a <em>single program</em> that can run on a Commodore 64, VIC-20, BBC Micro, Atari 8-bit, Apple II, KIM-1(!) and, if you can find the incredibly obscure keyboard and disk drive hardware for it or else emulate them, the Super Nintendo Entertainment System(!!).</p>



<p>But on a C64 it shines slightly more than the others, because it has integrated fastload routines, meaning that it gets around the C64&#8217;s greatest flaw, its horribly slow disk drive.</p>



<p>So this basically means now 6502s have their own cross-platform version of DOS, or something a lot like it. It has little software, but it does have an assembler, and a version of BASIC, and if you don&#8217;t mind writing it on a (pah!) <em>modern</em> computer, you can also write programs for it in other languages.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="384" height="247" src="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103435423.png" alt="" class="wp-image-10176" style="width:630px;height:auto" srcset="https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103435423.png 384w, https://setsideb.com/wp-content/uploads/2025/06/vice-screen-2025062103435423-300x193.png 300w" sizes="auto, (max-width: 384px) 85vw, 384px" /><figcaption class="wp-element-caption">Behold the PETSCII Mandelbrot set!</figcaption></figure>
</div>


<p>If you want to try this wonderfully misbegotten thing, something like Frankenstein&#8217;s Monster wearing a ribbon, <a href="https://github.com/davidgiven/cpm65">its GitHub is here</a>, and <a href="https://github.com/davidgiven/cpm65/releases/tag/dev">you can find binary release disk images here</a>. The one with the extension .d64 is the C64 version, and it loads right up in the Commodore computer emulator VICE, although I found out it&#8217;ll fail to boot unless you turn on &#8220;True Disk Emulation&#8221; for Drive 8. But it works! It comes with an assembler and BASIC, and a vi-like text editor, an implementation of Conway&#8217;s Life, and even a Mandelbrot set plotter. I kind of want to write software for it!</p>



<p>CORRECTION: Silly me, here I was assuming that CP/M 65 itself was a fairly recent thing, but as it turns out <a href="https://github.com/Dietrich-L/CPM-65">it&#8217;s been around for around 30 years</a>!</p>



<p>CORRECTION FOR THE CORRECTION: Well the guy working in <a href="https://www.youtube.com/watch?v=odulwXIXBFY&amp;list=PLuQ2s_IbSWv48cCusm2SIstRZL8K0zRDA">this very long Youtube playlist</a> (maybe 31 hours?) created it in 2022, which isn&#8217;t 30 years ago. Ah well!</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='rodneylives' src='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=100&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/cb688ada8b517e838b06bdbcddb8d1ea3dd56de2e66848938e8c6568002a4fa9?s=200&#038;d=mm&#038;r=g 2x' class='avatar avatar-100 photo' height='100' width='100' itemprop="image"/></div><div class="saboxplugin-authorname"><a href="https://setsideb.com/author/rodneylives/" class="vcard author" rel="author"><span class="fn">rodneylives</span></a></div><div class="saboxplugin-desc"><div itemprop="description"></div></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Twitter" target="_self" href="https://twitter.com/rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Instagram" target="_self" href="https://www.instagram.com/rodneysnotdead/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Html5" target="_self" href="https://www.metafilter.com/user/23306" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-html5" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"></path></svg></span></a><a title="Mastodont" target="_self" href="https://cybre.space/@rodneylives" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-mastodont" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 417 512"><path fill="currentColor" d="M417.8 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.5-28.4-290.4 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.4-.9-9-.9-13.9 85.6 20.9 158.6 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H75.1c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"></path></svg></span></a></div></div></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
