<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Počítače.M68k on Tyfoza blog</title>
    <link>https://tyfoza.sytes.net/tags/po%C4%8D%C3%ADta%C4%8De.m68k/</link>
    <description>Recent content in Počítače.M68k on Tyfoza blog</description>
    <generator>Hugo</generator>
    <language>cs</language>
    <lastBuildDate>Thu, 03 Sep 2026 17:08:08 +0200</lastBuildDate>
    <atom:link href="https://tyfoza.sytes.net/tags/po%C4%8D%C3%ADta%C4%8De.m68k/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Retro 68 žije</title>
      <link>https://tyfoza.sytes.net/posts/2026/09/retro-68-zije/</link>
      <pubDate>Thu, 03 Sep 2026 17:08:08 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/09/retro-68-zije/</guid>
      <description>Často se čelím otázce: “A k čemu to je dobré?” Proč trávíš čas programováním pro čtyřicet let starý procesor, když tu máme cloud, umělou inteligenci a nekonečný výpočetní výkon?</description>
    </item>
    <item>
      <title>Paměťový test</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/pametovy-test/</link>
      <pubDate>Fri, 28 Aug 2026 15:38:38 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/pametovy-test/</guid>
      <description>Naivní přístup spočívající v prostém zapsání a zpětném přečtení jedné hodnoty je pro odhalení skutečných defektů nedostačující. Polovodičová paměť je extrémně hustá fyzická matice tranzistorů, u které dochází k parazitním jevům, svodovým proudům a elektromagnetickému rušení.</description>
    </item>
    <item>
      <title>Srovnání 68k-MBC a Rosco_m68k</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/srovnani-68k-mbc-a-rosco-m68k/</link>
      <pubDate>Thu, 27 Aug 2026 18:31:29 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/srovnani-68k-mbc-a-rosco-m68k/</guid>
      <description>&lt;h3 id=&#34;proč-stavíme-homebrew-počítače-a-kouzlo-motoroly-68k&#34;&gt;Proč stavíme homebrew počítače a kouzlo Motoroly 68k&lt;/h3&gt;











    &lt;div style=&#34;display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 25px 0;&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/srovnani-68k-mbc-a-rosco-m68k/m68010.webp&#34; alt=&#34;&#34; style=&#34;max-width: 640px; height: auto; cursor: pointer; transition: transform 0.2s;&#34; onclick=&#34;document.getElementById(&#39;lb-95ca4e19fab64f129105993ef47f47d2&#39;).showModal()&#34; title=&#34;Kliknutím zvětšíš&#34; onmouseover=&#34;this.style.transform=&#39;scale(1.02)&#39;&#34; onmouseout=&#34;this.style.transform=&#39;scale(1)&#39;&#34;&gt;
        
    &lt;/div&gt;
    &lt;dialog id=&#34;lb-95ca4e19fab64f129105993ef47f47d2&#34; style=&#34;border: none; background: transparent; padding: 0; max-width: 95vw; max-height: 95vh; overflow: hidden; cursor: zoom-out;&#34; onclick=&#34;this.close()&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/srovnani-68k-mbc-a-rosco-m68k/m68010.webp&#34; alt=&#34;&#34; style=&#34;display: block; max-width: 95vw; max-height: 95vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.5);&#34;&gt;
    &lt;/dialog&gt;

&lt;h2 id=&#34;návrat-k-hardwarovým-kořenům-bare-metal&#34;&gt;Návrat k hardwarovým kořenům (Bare metal)&lt;/h2&gt;
&lt;p&gt;Žijeme v éře bezprecedentní výpočetní abstrakce. Od hardwaru nás dnes
dělí mikrokód, operační systém, virtuální stroje, kontejnery a
vysokoúrovňové běhové prostředí. Ačkoliv je tento vrstvený přístup
nezbytný pro moderní vývoj softwaru, zcela izoluje vývojáře od
základních principů fungování počítače.&lt;/p&gt;
&lt;p&gt;Stavba &amp;ldquo;homebrew&amp;rdquo; (po domácku vyráběných) počítačů je reakcí na tuto
nepřehlednost. Jde o touhu porozumět počítači do posledního bitu,
adresního pinu a hodinového taktu. Na vlastnoručně postaveném počítači
víte přesně, co se děje, když se CPU resetuje, jak paměť odpovídá na
požadavky a jak se přes I/O porty rozsvěcují LED diody. Je to absolutní
kontrola, která spojuje svět elektroniky a nízkoúrovňového programování.&lt;/p&gt;
&lt;h2 id=&#34;proč-právě-motorola-68000&#34;&gt;Proč právě Motorola 68000?&lt;/h2&gt;
&lt;p&gt;Zatímco 8bitovým homebrew počítačům kralují procesory Z80 a 6502,
přechod do 16/32bitové éry má jediného nekorunovaného krále: procesor
Motorola 68000 (zkráceně M68k nebo 68k). Tento čip formoval 80. a 90.
léta, kdy poháněl legendární stroje jako Commodore Amiga, Atari ST,
původní Apple Macintosh nebo konzoli Sega Mega Drive.&lt;/p&gt;
&lt;p&gt;Mezi bastlíři a vývojáři je 68k oblíbený z několika klíčových důvodů:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Elegance instrukční sady:&lt;/strong&gt; Na rozdíl od archaické a segmentované
architektury x86 (Intel 8086), Motorola 68000 nabídla nádherně
ortogonální instrukční sadu, která je pro programátora v asembleru
radostí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Počítač Rosco_m68k</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/</link>
      <pubDate>Wed, 26 Aug 2026 18:17:24 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;původní verze na &lt;a href=&#34;https://github.com/rosco-m68k/rosco_m68k&#34;&gt;githubu&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;řešení od &lt;a href=&#34;https://solderdemon.com/docs&#34;&gt;Solder Demon&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;







    
    
    

    &lt;div style=&#34;display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 25px 0;&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/m68010.webp&#34; alt=&#34;MOTOROLA 68010 na 10 MHz&#34; style=&#34;max-width: 400px; height: auto; cursor: pointer; transition: transform 0.2s;&#34; onclick=&#34;document.getElementById(&#39;lb-95ca4e19fab64f129105993ef47f47d2&#39;).showModal()&#34; title=&#34;Kliknutím zvětšíš&#34; onmouseover=&#34;this.style.transform=&#39;scale(1.02)&#39;&#34; onmouseout=&#34;this.style.transform=&#39;scale(1)&#39;&#34;&gt;

        
            &lt;div style=&#34;font-size: 0.75rem; color: #666; margin-top: 6px; text-align: center;&#34;&gt;MOTOROLA 68010 na 10 MHz&lt;/div&gt;
        
    &lt;/div&gt;

    &lt;dialog id=&#34;lb-95ca4e19fab64f129105993ef47f47d2&#34; style=&#34;border: none; background: transparent; padding: 0; max-width: 95vw; max-height: 95vh; overflow: hidden; cursor: zoom-out;&#34; onclick=&#34;this.close()&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/m68010.webp&#34; alt=&#34;MOTOROLA 68010 na 10 MHz&#34; style=&#34;display: block; max-width: 95vw; max-height: 95vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.5);&#34;&gt;
    &lt;/dialog&gt;








    
    
    

    &lt;div style=&#34;display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 25px 0;&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/deska.webp&#34; alt=&#34;Rozšiřující deska a 4MB paměti&#34; style=&#34;max-width: 400px; height: auto; cursor: pointer; transition: transform 0.2s;&#34; onclick=&#34;document.getElementById(&#39;lb-0e29967074068eff1a172fc332a42df4&#39;).showModal()&#34; title=&#34;Kliknutím zvětšíš&#34; onmouseover=&#34;this.style.transform=&#39;scale(1.02)&#39;&#34; onmouseout=&#34;this.style.transform=&#39;scale(1)&#39;&#34;&gt;

        
            &lt;div style=&#34;font-size: 0.75rem; color: #666; margin-top: 6px; text-align: center;&#34;&gt;Rozšiřující deska a 4MB paměti&lt;/div&gt;
        
    &lt;/div&gt;

    &lt;dialog id=&#34;lb-0e29967074068eff1a172fc332a42df4&#34; style=&#34;border: none; background: transparent; padding: 0; max-width: 95vw; max-height: 95vh; overflow: hidden; cursor: zoom-out;&#34; onclick=&#34;this.close()&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/deska.webp&#34; alt=&#34;Rozšiřující deska a 4MB paměti&#34; style=&#34;display: block; max-width: 95vw; max-height: 95vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.5);&#34;&gt;
    &lt;/dialog&gt;








    
    
    

    &lt;div style=&#34;display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 25px 0;&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/komplet.webp&#34; alt=&#34;Brzy snad přibude grafická a zvuková karta&#34; style=&#34;max-width: 400px; height: auto; cursor: pointer; transition: transform 0.2s;&#34; onclick=&#34;document.getElementById(&#39;lb-2a5643a18aef0df490dedfa596fefc04&#39;).showModal()&#34; title=&#34;Kliknutím zvětšíš&#34; onmouseover=&#34;this.style.transform=&#39;scale(1.02)&#39;&#34; onmouseout=&#34;this.style.transform=&#39;scale(1)&#39;&#34;&gt;

        
            &lt;div style=&#34;font-size: 0.75rem; color: #666; margin-top: 6px; text-align: center;&#34;&gt;Brzy snad přibude grafická a zvuková karta&lt;/div&gt;
        
    &lt;/div&gt;

    &lt;dialog id=&#34;lb-2a5643a18aef0df490dedfa596fefc04&#34; style=&#34;border: none; background: transparent; padding: 0; max-width: 95vw; max-height: 95vh; overflow: hidden; cursor: zoom-out;&#34; onclick=&#34;this.close()&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/pocitac-rosco-m68k/komplet.webp&#34; alt=&#34;Brzy snad přibude grafická a zvuková karta&#34; style=&#34;display: block; max-width: 95vw; max-height: 95vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.5);&#34;&gt;
    &lt;/dialog&gt;</description>
    </item>
    <item>
      <title>CP/M na 68k-MBC</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/cp-m-pod-kapotou/</link>
      <pubDate>Tue, 25 Aug 2026 23:17:58 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/cp-m-pod-kapotou/</guid>
      <description>&lt;h1 id=&#34;programování-pro-cpm-68k&#34;&gt;Programování pro CP/M-68K&lt;/h1&gt;
&lt;p&gt;Operační systém CP/M-68K poskytuje běžícím programům sadu služeb zvanou
&lt;strong&gt;BDOS&lt;/strong&gt; (Basic Disk Operating System). Díky nim program v jazyce C
nemusí znát fyzické detaily hardwaru (např. na kterém pinu
mikrokontroléru PIC je sériová linka). Místo toho program požádá CP/M o
standardizovanou službu &amp;ndash; například &amp;ldquo;vypiš znak&amp;rdquo; nebo &amp;ldquo;přečti klávesu&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Na procesorech řady Motorola 68000 se tyto služby volají softwarovým
přerušením pomocí instrukce &lt;code&gt;trap #2&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;předávání-parametrů&#34;&gt;Předávání parametrů&lt;/h2&gt;
&lt;p&gt;Když chceš zavolat funkci BDOS z assembleru, CP/M-68K očekává
následující konvenci:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Registr &lt;code&gt;d0&lt;/code&gt;&lt;/strong&gt; (spodní word): Číslo funkce BDOS (např. 2 pro výpis
znaku, 9 pro výpis řetězce).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Registr &lt;code&gt;d1&lt;/code&gt;&lt;/strong&gt; (nebo &lt;code&gt;a0&lt;/code&gt; pro adresy): Parametr funkce (např. jaký
znak vypsat, nebo adresa řetězce v paměti).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Instrukce &lt;code&gt;trap #2&lt;/code&gt;&lt;/strong&gt;: Předání řízení operačnímu systému.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Registr &lt;code&gt;d0&lt;/code&gt;&lt;/strong&gt;: Po návratu z &lt;code&gt;trap #2&lt;/code&gt; obsahuje &lt;code&gt;d0&lt;/code&gt; výsledek
operace (např. přečtený znak nebo návratový kód).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h1 id=&#34;seznam-nejdůležitějších-funkcí-bdos&#34;&gt;Seznam nejdůležitějších funkcí BDOS&lt;/h1&gt;
&lt;p&gt;Zde je přehled základních funkcí, které se ti budou při programování
retro her a utilit na 68k-MBC nejvíce hodit:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;&lt;/th&gt;
					&lt;th style=&#34;text-align: left&#34;&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Číslo v &lt;code&gt;d0&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Název funkce&lt;/strong&gt;&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Popis a parametry&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;0&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;System Reset&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Ukončí program a vrátí uživatele do příkazové řádky (&lt;code&gt;A&amp;gt;&lt;/code&gt;).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Console Input&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Čeká na stisk klávesy a její znak zobrazí na obrazovce (echo). Výsledek v &lt;code&gt;d0&lt;/code&gt;.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;2&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Console Output&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Vypíše znak zadaný v registru &lt;code&gt;d1&lt;/code&gt; na terminál.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;6&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Direct Console I/O&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Univerzální funkce. Pokud je v &lt;code&gt;d1&lt;/code&gt; hodnota 255 (&lt;code&gt;0xFF&lt;/code&gt;), pokusí se přečíst klávesu bez zobrazení (no echo). Pokud klávesa není stisknuta, vrátí v &lt;code&gt;d0&lt;/code&gt; nulu. Vhodné pro neblokující čtení.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;9&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Print String&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Vypíše na obrazovku textový řetězec. V registru &lt;code&gt;d1&lt;/code&gt; (nebo &lt;code&gt;a0&lt;/code&gt;) musí být adresa řetězce ukončeného znakem dolaru (&lt;code&gt;$&lt;/code&gt;).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;11&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Console Status&lt;/td&gt;
					&lt;td style=&#34;text-align: left&#34;&gt;Zkontroluje buffer klávesnice. Pokud je klávesa připravena, vrátí &lt;code&gt;0xFF&lt;/code&gt; v &lt;code&gt;d0&lt;/code&gt;. Pokud ne, vrátí &lt;code&gt;0x00&lt;/code&gt;.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h1 id=&#34;příklad-1-neblokující-čtení-klávesnice&#34;&gt;Příklad 1: Neblokující čtení klávesnice&lt;/h1&gt;
&lt;p&gt;Protože staré kompilátory jazyka C (jako Alcyon C) často nepodporují
snadné vkládání assembleru přímo do C kódu (inline assembly), řeší se
systémová volání tak, že se napíše malá funkce v assembleru, která se v
C pouze deklaruje a následně s ním slinkuje.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PIP v CP/M</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/zaklady-cp-m/</link>
      <pubDate>Mon, 24 Aug 2026 23:14:52 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/zaklady-cp-m/</guid>
      <description>&lt;p&gt;&lt;strong&gt;PIP&lt;/strong&gt; (zkratka pro &lt;strong&gt;Peripheral Interchange Program&lt;/strong&gt;) je jedním z
nejdůležitějších příkazů v historickém operačním systému
&lt;strong&gt;CP/M&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Zjednodušeně řečeno je to dobový ekvivalent dnešního příkazu &lt;code&gt;copy&lt;/code&gt; (ve
Windows) nebo &lt;code&gt;cp&lt;/code&gt; (v Linuxu), ale uměl toho mnohem víc. Sloužil
primárně ke &lt;strong&gt;kopírování souborů a přesouvání dat mezi různými fyzickými
i logickými zařízeními&lt;/strong&gt; (např. mezi disketami, tiskárnou, obrazovkou
nebo děrnou páskou).&lt;/p&gt;
&lt;h1 id=&#34;zvláštní-syntaxe-cíl--zdroj&#34;&gt;Zvláštní syntaxe (Cíl = Zdroj)&lt;/h1&gt;
&lt;p&gt;Na rozdíl od pozdějšího MS-DOSu nebo dnešních systémů, kde zadáváme
nejdřív to, &lt;strong&gt;co&lt;/strong&gt; kopírujeme, a pak to, &lt;strong&gt;kam&lt;/strong&gt; to kopírujeme (např.
&lt;code&gt;copy ODKUD KAM&lt;/code&gt;), PIP používal opačnou logiku, která připomínala
matematickou rovnici:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;CÍL = ZDROJ&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id=&#34;běžné-příklady-použití-v-praxi&#34;&gt;Běžné příklady použití v praxi&lt;/h1&gt;
&lt;h3 id=&#34;kopírování-souboru-na-jiný-disk&#34;&gt;Kopírování souboru na jiný disk:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PIP B:TEXT.TXT = A:TEXT.TXT&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;(Zkopíruje soubor TEXT.TXT z disku A na disk B.)&lt;/p&gt;
&lt;h3 id=&#34;tisk-souboru-odeslání-dat-na-zařízení&#34;&gt;Tisk souboru (odeslání dat na zařízení):&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PIP LST: = A:DOPIS.TXT&lt;/code&gt; &lt;br&gt;
(Vezme soubor a odešle ho přímo na fyzickou tiskárnu &amp;ndash; LST jako List device.)&lt;/p&gt;
&lt;h3 id=&#34;spojování-více-souborů-do-jednoho&#34;&gt;Spojování více souborů do jednoho:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PIP KNIHA.TXT = KAPITOLA1.TXT, KAPITOLA2.TXT&lt;/code&gt;&lt;br&gt;
(Vezme oba zdrojové soubory a plynule je spojí do jednoho nového
souboru.)&lt;/p&gt;
&lt;h3 id=&#34;zobrazení-textu-na-obrazovce&#34;&gt;Zobrazení textu na obrazovce:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PIP CON: = READ.ME&lt;/code&gt;&lt;br&gt;
(Pošle obsah souboru na konzoli &amp;ndash; CON, tedy na obrazovku.)&lt;/p&gt;
&lt;h2 id=&#34;68k-mbc&#34;&gt;68k-MBC&lt;/h2&gt;
&lt;p&gt;Na CP/M-68k máme &lt;code&gt;PIP&lt;/code&gt; na disketě &lt;code&gt;A:&lt;/code&gt; tedy pak píšeme příkaz &lt;code&gt;A:PIP&lt;/code&gt;&lt;br&gt;
Typický příklad &amp;ndash; na disketě &lt;code&gt;F:&lt;/code&gt; máme &lt;code&gt;SKED&lt;/code&gt; editor. Vyvoříme zdrojový
kód &lt;code&gt;POKUS.C&lt;/code&gt;&lt;br&gt;
Na disketě &lt;code&gt;C:&lt;/code&gt; máme céčkový kompilátor.&lt;br&gt;
&lt;code&gt;C:&lt;/code&gt; se přepnu na disk &lt;code&gt;C:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;C&amp;gt;A:PIP POKUS.C=F:POKUS.C&lt;/code&gt; zkopírujeme si soubor z diskety &lt;code&gt;F:&lt;/code&gt; na
aktuální disketu (&lt;code&gt;C:&lt;/code&gt;)&lt;br&gt;
a pak už jenom &lt;code&gt;SUBMIT C POKUS&lt;/code&gt; pro kompilaci a pak &lt;code&gt;CLINK POKUS&lt;/code&gt; pro
linkování a máme hotový &lt;code&gt;POKUS.68K&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Space 68K Invaders</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/akcni-hra-v-textovem-terminalu/</link>
      <pubDate>Sun, 23 Aug 2026 15:07:04 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/akcni-hra-v-textovem-terminalu/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Space 68K Invaders&lt;/strong&gt; je můj pokus o adaptaci klasické arkádové
střílečky z roku 1978. Napsáno v Alcyon C,
kompilováno a linkováno na procesoru a pro procesor Motorola 68008.
Běží na jednodeskovém homebrew počítači 68k-MBC pod operačním systémem
CP/M-68K.&lt;/p&gt;
&lt;p&gt;V článku řeším problematiku optimalizace hry pro textový terminál.&lt;/p&gt;
&lt;p&gt;Přestože 16/32bitový procesor taktovaný na frekvenci 8 MHz poskytuje pro
podobný typ hry více než dostatečný výpočetní výkon, narazili jsme se
jiný problém: odezva komunikačního rozhraní.&lt;/p&gt;
&lt;p&gt;V prostředí CP/M-68K typicky neexistuje přímý přístup do grafické paměti
(VRAM) displeje. Veškerý vizuální výstup je odesílán jako proud ASCII
znaků a escape sekvencí na připojený terminál (standardu VT100)
prostřednictvím sériové linky RS232. Tento způsob komunikace, často na
rychlosti 115 200 baudů, znamená, že prosté překreslení celé obrazovky o
velikosti 24 řádků a 80 sloupců trvá z pohledu interaktivní hry
neakceptovatelně dlouho. Tradiční přístup k programování her (vymazání
obrazovky a vykreslení nové scény) zde proto naprosto selhává a vede k
masivnímu zpoždění (lagu) a výraznému blikání (flickeringu) pohybujících
se objektů.&lt;/p&gt;
&lt;iframe
  src=&#34;https://www.youtube.com/embed/2OJufu2bbsM&#34;
  style=&#34;width: 100%; aspect-ratio: 16 / 9; border: 0; margin: 25px 0; display: block; border-radius: 8px;&#34;
  allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34;
  allowfullscreen&gt;
&lt;/iframe&gt;
&lt;h1 id=&#34;fyzikální-limity-vt100-a-rs232&#34;&gt;Fyzikální limity VT100 a RS232&lt;/h1&gt;
&lt;p&gt;Úzkým hrdlem při vývoji her pro terminál je sériová linka RS232. Oproti
klasickým 8bitovým počítačům s přímým přístupem do video paměti (VRAM)
musí 68k-MBC odesílat veškeré grafické změny sekvenčně. Zvolená
komunikační rychlost je 115 200 baudů. Ačkoliv se to v kontextu retro
počítačů jeví jako velmi rychlé připojení, pro interaktivní plynulé
překreslování herní scény představuje tvrdý limit.&lt;/p&gt;
&lt;p&gt;Při standardním nastavení sériového přenosu 8N1 (1 start bit, 8 datových
bitů, 1 stop bit bez parity) trvá přenos jednoho znaku přesně 10 bitů.
Maximální teoretická propustnost sériové linky je tedy:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Přenos dat mezi PC a 68k-MBC</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/prenos-dat-68k-mbc/</link>
      <pubDate>Sat, 22 Aug 2026 16:36:35 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/prenos-dat-68k-mbc/</guid>
      <description>&lt;p&gt;Přenos dat (ať už textových zdrojových kódů nebo zkompilovaných
binárních programů) z moderního počítače do retro počítače 68k-MBC
s operačním systémem CP/M-68K představuje technickou výzvu.&lt;/p&gt;
&lt;p&gt;Terminálové emulátory a sériové linky jsou historicky navrženy primárně
pro textová data, obvykle reprezentovaná 7bitovými nebo 8bitovými ASCII
znaky. Pokud se přes takovou linku pokusíme odeslat surový binární
soubor, nedopadne to dobře. Speciální řídící znaky obsažené v binárních
datech vyvolávají nechtěné reakce operačního systému. Například byte
&lt;code&gt;0x03&lt;/code&gt; interpretuje systém jako přerušení (Ctrl+C), &lt;code&gt;0x1A&lt;/code&gt; jako konec
souboru (EOF) a &lt;code&gt;0x04&lt;/code&gt; jako konec vysílání (EOT). Výsledkem je poškození
přenášeného souboru nebo úplný pád přenosu.&lt;/p&gt;
&lt;p&gt;Vkládání prostého textu pomocí schránky (Ctrl-V v emulátoru) je zase
velmi pomalé, vyžaduje umělé vkládání pauz po každém znaku i řádku a
neřeší problém s nekompatibilními znaky, jako je UTF-8 diakritika.&lt;/p&gt;
&lt;p&gt;Tradičním řešením pro bezpečný binární přenos bývaly protokoly s
kontrolou chyb, jako je XMODEM nebo Kermit.&lt;/p&gt;
&lt;p&gt;Postavíme si svůj kompletní systém &lt;code&gt;68k-ser&lt;/code&gt; (skládající se z Python
skriptu &lt;code&gt;68k-ser.py&lt;/code&gt; na PC a programu &lt;code&gt;68KSER.C&lt;/code&gt; na CP/M).&lt;/p&gt;
&lt;iframe
  src=&#34;https://www.youtube.com/embed/zlX931DcYSI&#34;
  style=&#34;width: 100%; aspect-ratio: 16 / 9; border: 0; margin: 25px 0; display: block; border-radius: 8px;&#34;
  allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34;
  allowfullscreen&gt;
&lt;/iframe&gt;
&lt;h1 id=&#34;duální-sériový-port&#34;&gt;Duální sériový port&lt;/h1&gt;
&lt;p&gt;Základem rychlé a plynulé práce je využití obou sériových portů, kterými
deska 68k-MBC (ve verzi FULL) disponuje:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Port J4 (AUX):&lt;/strong&gt; Obsahuje integrovaný sériový budič MAX323
(RS-232) a v moderním OS se typicky hlásí jako &lt;code&gt;/dev/ttyUSB1&lt;/code&gt;.
Slouží pro připojení fyzického terminálu nebo emulátoru (např.
&lt;code&gt;tio&lt;/code&gt;) a je vyhrazen pro interaktivní zadávání příkazů.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Port J2 (SER1):&lt;/strong&gt; Port v TTL logice, hlásící se typicky jako
&lt;code&gt;/dev/ttyUSB0&lt;/code&gt;. Tento port slouží výhradně jako vyhrazený datový
kanál pro běh přenosových skriptů.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Toolchain z roku 1983</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/toolchain-z-roku-1983/</link>
      <pubDate>Fri, 21 Aug 2026 23:05:32 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/toolchain-z-roku-1983/</guid>
      <description>Tradiční vývoj a kompilace přímo na fyzickém stroji 68k-MBC přináší zásadní zdržení. Procesor M68000 na taktu 8 MHz musí pro každý průchod překladače číst a zapisovat dočasné mezisoubory přes emulovanou SD kartu a BIOS, což prodlužuje proces kompilace na několik minut.</description>
    </item>
    <item>
      <title>Počítač 68k-MBC</title>
      <link>https://tyfoza.sytes.net/posts/2026/08/68k-mbc-pocitac/</link>
      <pubDate>Thu, 20 Aug 2026 22:27:00 +0200</pubDate>
      <guid>https://tyfoza.sytes.net/posts/2026/08/68k-mbc-pocitac/</guid>
      <description>&lt;p&gt;68k-MBC of autora Just4Fun. Domácí retro jednodeskový počítač.
Navazuje na předchozí autorovy projekty Z80-MBC2 (Zilog Z80)
a V20-MBC (NEC V20).&lt;/p&gt;
&lt;p&gt;Počítač je postavený na Motorola 68008 (1982). Procesor původně vznikl
jako levnější varianta procesoru M68k (1979) a lišil se především
8bitovou vnější sběrnicí.
Díky tomu mohli výrobci navrhovat
levnější hardware s použitím běžných 8bitových pamětí, řadičů a periferií.
V komerční sféře tento procesor proslavil počítač Sinclair QL (1984).&lt;/p&gt;
&lt;p&gt;Projekt 68k-MBC nabízí možnost, jak si
vyzkoušet oživení 16bitového počítače bez nutnosti shánět někdy už
nedostupné historické součástky.&lt;/p&gt;











    &lt;div style=&#34;display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 25px 0;&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/68k-mbc-pocitac/mbc.webp&#34; alt=&#34;&#34; style=&#34;max-width: 640px; height: auto; cursor: pointer; transition: transform 0.2s;&#34; onclick=&#34;document.getElementById(&#39;lb-5c235b05e8db8adf4d16e2c9e973e2c6&#39;).showModal()&#34; title=&#34;Kliknutím zvětšíš&#34; onmouseover=&#34;this.style.transform=&#39;scale(1.02)&#39;&#34; onmouseout=&#34;this.style.transform=&#39;scale(1)&#39;&#34;&gt;
        
    &lt;/div&gt;
    &lt;dialog id=&#34;lb-5c235b05e8db8adf4d16e2c9e973e2c6&#34; style=&#34;border: none; background: transparent; padding: 0; max-width: 95vw; max-height: 95vh; overflow: hidden; cursor: zoom-out;&#34; onclick=&#34;this.close()&#34;&gt;
        &lt;img src=&#34;https://tyfoza.sytes.net/posts/2026/08/68k-mbc-pocitac/mbc.webp&#34; alt=&#34;&#34; style=&#34;display: block; max-width: 95vw; max-height: 95vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.5);&#34;&gt;
    &lt;/dialog&gt;

&lt;p&gt;Víc na &lt;a href=&#34;https://hackaday.io/project/177988-68k-mbc-a-3-ics-68008-homebrew-computer&#34;&gt;hackaday.io&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;hardwarová-architektura&#34;&gt;Hardwarová architektura&lt;/h1&gt;
&lt;p&gt;Architektura základní desky v plně osazené verzi je
minimalistická. Skládá se ze tří hlavních
integrovaných obvodů a jednoho volitelného GPIO expandéru.&lt;/p&gt;
&lt;p&gt;Srdcem počítače je 16/32bitový mikroprocesor Motorola MC68008. Uvnitř
čipu se skrývá plnohodnotná 32bitová architektura s 32bitovými datovými
i adresními registry, ovšem vnější datová sběrnice je pouze 8bitová.
Instrukce se proto musí z paměti načítat po částech, kvůli čemuž
procesor dosahuje zhruba 50&amp;ndash;60 % výkonu své plnohodnotné varianty
MC68000.&lt;/p&gt;
&lt;p&gt;Moderním prvkem je řídicí mikrokontrolér Microchip
PIC18F47Q10. Tento čip plní funkci I/O subsystému, zajišťuje TTL
kompatibilitu pro propojení s procesorem a obsluhuje I2C sběrnici.
Zásadním způsobem usnadňuje stavbu, protože supluje roli EPROM paměti
(obsahuje firmware) a stará se o bootování, díky čemuž stavitelé
nepotřebují klasický programátor historických pamětí.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
