<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Retro on JeeLabs</title>
    <link>https://jeelabs.org/projects/retro/</link>
    <description>Recent content in Retro on JeeLabs</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <copyright>© 2019 Jean-Claude Wippler</copyright>
    <lastBuildDate>Thu, 27 Dec 2018 00:00:24 +0100</lastBuildDate><atom:link href="https://jeelabs.org/projects/retro/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CP/M on F407, part 6 - Finish</title>
      <link>https://jeelabs.org/2018/cpm-on-f407-part6/</link>
      <pubDate>Thu, 27 Dec 2018 00:00:24 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/cpm-on-f407-part6/</guid>
      <description>So now we have a running CP/M system, great. Except that it has no content, and no means to get any new content onto the virtual disk. That makes it pretty much useless.
Intel HEX We need one more step in the emulator to resolve this final bootstrapping issue. And the simplest approach I have found is as follows:
 create a little CP/M tool, called &amp;ldquo;hexsave&amp;rdquo;, which takes a filename as argument when run, it waits for Intel HEX data sent to it over the serial console all the incoming data is checked and saved in memory when the closing Intel HEX command arrives, save all data to a new file  If we somehow had this utility on the disk, we could use it to bring in other files, including more advanced file-transfer tools (such as the popular XMODEM utility from those days).</description>
    </item>
    
    <item>
      <title>CP/M on F407, part 5 - Power up</title>
      <link>https://jeelabs.org/2018/cpm-on-f407-part5/</link>
      <pubDate>Wed, 26 Dec 2018 00:00:24 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/cpm-on-f407-part5/</guid>
      <description>It&amp;rsquo;s time to stop talkin&#39; and start walkin&#39; &amp;hellip;
Disk initialisation As mentioned in the previous article, the last step is about getting the virtual disk in flash formatted and set up correctly.
But instead of uploading all the disk blocks manually (and figuring out where exactly), I&amp;rsquo;m going to let the emulator itself do the work. So the plan is to embed the contents of the system track as data inside the emulator app, and then if flash memory does not yet have a valid disk image, to initialise flash and copy the data.</description>
    </item>
    
    <item>
      <title>CP/M on F407, part 4 - Booting</title>
      <link>https://jeelabs.org/2018/cpm-on-f407-part4/</link>
      <pubDate>Tue, 25 Dec 2018 00:00:24 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/cpm-on-f407-part4/</guid>
      <description>The last piece of the puzzle is to make all the parts line up and work together. This turns out to be quite involved. A large part is due to the &amp;ldquo;virtualness&amp;rdquo; of this whole CP/M setup:
 we need a way to make the Z80 do something meaningful on (virtual) power-up we need to get a system boot loader onto the (virtual) floppy disk, i.e. flash the CP/M code (including our freshly-minted BIOS) needs to be on the floppy disk the floppy disk needs to have the proper structure for a CP/M startup disk ideally, some basic CP/M utilites should also be present on this (virtual) disk  Fortunately, this problem is not new.</description>
    </item>
    
    <item>
      <title>CP/M on F407, part 3 - The BIOS</title>
      <link>https://jeelabs.org/2018/cpm-on-f407-part3/</link>
      <pubDate>Mon, 24 Dec 2018 00:00:24 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/cpm-on-f407-part3/</guid>
      <description>As mentioned in the intro of this little CP/M series, the CP/M hardware abstraction layer is provided in a &amp;ldquo;BIOS&amp;rdquo;. This is a system-specific section of code which interfaces the main part of CP/M with the actual hardware. It&amp;rsquo;s written in 8080 or Z80 assembly language.
Assembler Assembly language is (almost) as close to the raw silicon of a CPU as you can get.
 It&amp;rsquo;s not complicated, it&amp;rsquo;s just low-level.</description>
    </item>
    
    <item>
      <title>CP/M on F407, part 2 - Storage</title>
      <link>https://jeelabs.org/2018/cpm-on-f407-part2/</link>
      <pubDate>Sun, 23 Dec 2018 00:00:24 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/cpm-on-f407-part2/</guid>
      <description>CP/M is a disk operating system. It relies on one or more &amp;ldquo;disks&amp;rdquo; for permanent storage, which persists while the computer is off. At the time, 8&amp;quot; floppy drives had just started to become available, at &amp;ldquo;affordable&amp;rdquo; prices (under a thousand US dollars).
The actual media, i.e. the floppies inserted into these drives, were very crude and easily damaged. Not only that, but an 8&amp;quot; single-sided single-density (SSSD) disk could hold only a small amount of data: 77 tracks with 26 sectors each, containing 128 bytes of &amp;ldquo;payload&amp;rdquo;.</description>
    </item>
    
    <item>
      <title>CP/M on F407, part 1 - Intro</title>
      <link>https://jeelabs.org/2018/cpm-on-f407-part1/</link>
      <pubDate>Sat, 22 Dec 2018 00:00:41 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/cpm-on-f407-part1/</guid>
      <description>CP/M from the 1970&amp;rsquo;s was an operating system for 8080 and Z80 8-bit micrcomputers. It was very popular among hobbyists, because it came at the right time and offered a way to manage data file storage on the upcoming 8&amp;quot; and 5.25&amp;quot; floppy disks. Later still came the 3.5&amp;quot; floppy, and 8086 16-bit micrcomputers with MS-DOS, Windows 3.11, etc.
In short: it all started with CP/M (the original version is also often called CP/M-80).</description>
    </item>
    
    <item>
      <title>Turning a Black F407 into a Z80</title>
      <link>https://jeelabs.org/2018/z80-zexall-f407/</link>
      <pubDate>Fri, 21 Dec 2018 00:00:14 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/z80-zexall-f407/</guid>
      <description>This is an amalgamation of two recent articles: Turning a Blue Pill into a Z80 and Getting started with the F407. I want to use this as starting point for further retro Z80 explorations.
The first goal is very straightforward: get the same &amp;ldquo;ZEXALL&amp;rdquo; Z80 instruction exerciser working on the F407 µC as in the F103-based Blue Pill. It has more memory (enough to emulate the Z80&amp;rsquo;s entire 64K address space) and as a bonus, it&amp;rsquo;s also quite a bit faster.</description>
    </item>
    
    <item>
      <title>Retrocomputing on STM32F407</title>
      <link>https://jeelabs.org/2018/retrocomputing-on-f407/</link>
      <pubDate>Wed, 19 Dec 2018 00:08:51 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/retrocomputing-on-f407/</guid>
      <description>The Blue Pill is a wonderful little board, and my first choice for many projects requiring a small and very low-cost µC board. Especially with PlatformIO&amp;rsquo;s excellent support for it.
Even for retrocomputing &amp;ndash; the hobby of emulating old computers from decades ago &amp;ndash; a Blue Pill can be used: see my recent [Turning a Blue Pill into a Z80](Turning a Blue Pill into a Z80) article for an example. This could easily be extended further: adding more (external) RAM, flash, an SD card, etc.</description>
    </item>
    
    <item>
      <title>Z80 and CP/M in a red box</title>
      <link>https://jeelabs.org/2018/z80-in-a-red-box/</link>
      <pubDate>Wed, 12 Dec 2018 21:07:59 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/z80-in-a-red-box/</guid>
      <description>Some people like computers from the previous century, the ones which are long obsolete, unusable, or have been mostly forgotten. Perhaps because they owned one in the past, or because they never could own one, or hey, maybe it&amp;rsquo;s a mom-and-dad thing. Whatever.
Fact is: 1) I&amp;rsquo;m somewhere in that category, 2) &amp;ldquo;retrocomputing&amp;rdquo; exists, and 3) there are numerous projects to fix, reconstruct, or replicate these clunky old systems.
One very nice project is the Z80 Membership Card by Lee Hart.</description>
    </item>
    
    <item>
      <title>Turning a Blue Pill into a Z80</title>
      <link>https://jeelabs.org/2018/z80-zexall-bp/</link>
      <pubDate>Sun, 09 Dec 2018 01:15:49 +0100</pubDate>
      
      <guid>https://jeelabs.org/2018/z80-zexall-bp/</guid>
      <description>The Z80 micrcomputer was a revolutionary chip in the 1970&amp;rsquo;s - a more capable alternative to the Intel 8080. The commercially smart move was that it implemented (almost exactly) the same instruction set as the 8080, while adding many extra registers and instructions.
The Z80 is an 8-bit micrcomputer (i.e. 8 bits of data, D0..D7) with support for up to 64 KB of memory (i.e. addresses of 16 bits, A0..A15). A separate group of instructions deals with I/O, so reads and writes can be either in memory, or in &amp;ldquo;I/O space&amp;rdquo;.</description>
    </item>
    
  </channel>
</rss>
