<?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>MZ80K &#8211; EXPERTGIG</title>
	<atom:link href="https://expertgig.jp/tag/mz80k/feed/" rel="self" type="application/rss+xml" />
	<link>https://expertgig.jp</link>
	<description>工場IoT に特化したシステム開発</description>
	<lastBuildDate>Fri, 08 Aug 2025 22:57:18 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>8253 PIT (Programmable Interval Timer )の動きを整理</title>
		<link>https://expertgig.jp/2025/08/09/8253-pit-programmable-interval-timer-%e3%81%ae%e5%8b%95%e3%81%8d%e3%82%92%e6%95%b4%e7%90%86/</link>
					<comments>https://expertgig.jp/2025/08/09/8253-pit-programmable-interval-timer-%e3%81%ae%e5%8b%95%e3%81%8d%e3%82%92%e6%95%b4%e7%90%86/#respond</comments>
		
		<dc:creator><![CDATA[Ariyuki Tano]]></dc:creator>
		<pubDate>Fri, 08 Aug 2025 22:57:16 +0000</pubDate>
				<category><![CDATA[マイコン]]></category>
		<category><![CDATA[情報発信基地]]></category>
		<category><![CDATA[8253]]></category>
		<category><![CDATA[MZ80K]]></category>
		<category><![CDATA[エミュレータ]]></category>
		<category><![CDATA[カウンタ]]></category>
		<guid isPermaLink="false">https://expertgig.jp/?p=6112</guid>

					<description><![CDATA[MZ80Kのエミュレータを完成させるには、8253 PITと 8255 PIO の動きを完全に理解してエミュレートしないとだめなので、ここで整理しておく。ちなみに回路としてはその下に タイマーICの555もあるので、これ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>MZ80Kのエミュレータを完成させるには、8253 PITと 8255 PIO の動きを完全に理解してエミュレートしないとだめなので、ここで整理しておく。ちなみに回路としてはその下に タイマーICの555もあるので、これもやらないとな。。</p>



<p>さて、8253 PIT とは何なのかというと、カウンタです。設定した値からカウントダウンして0になると終わったよと知らせてくれます。このカウンタが C0～2 の3 つのカウンタが搭載されていて、それぞれ動作モードや値を設定して独立したカウンタとして機能します。カウントダウンは外部からクロックを入れることでカウントダウンを行います。GATEピンでカウントダウンする、しないを制御することもできます。</p>



<p>MZ80Kでは、この8253 を サウンド出力とタイマに利用しています。</p>



<p>MZ80K2に付属してきた取扱説明書のページで、MZ80Kがどのように利用しているか解説されています。</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="658" src="https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1024x658.png" alt="" class="wp-image-6113" srcset="https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1024x658.png 1024w, https://expertgig.jp/wp/wp-content/uploads/2025/08/image-300x193.png 300w, https://expertgig.jp/wp/wp-content/uploads/2025/08/image-768x493.png 768w, https://expertgig.jp/wp/wp-content/uploads/2025/08/image.png 1241w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>MZ80Kでは、メモリマップドI/O という方式が採用されていて、メモリの E000h～E008h が 8255と8253 につながっていて、そこのアドレスに値に読み書きして 8255と8253 を制御するわけです。</p>



<p>MZ80Kに電源を入れて表示される モニタ SP-1002 では、8253の C0 にサウンド・コントロール用にコントロールワードをセットしています。 </p>



<p>MZ80Kの8253 周辺の回路図を見てみましょう。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="831" src="https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1-1024x831.png" alt="" class="wp-image-6114" srcset="https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1-1024x831.png 1024w, https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1-300x243.png 300w, https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1-768x623.png 768w, https://expertgig.jp/wp/wp-content/uploads/2025/08/image-1.png 1043w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>CLK1 に 31.25Kのクロックが入っていて、そのOUT1 がCLK2 に接続されています。つまりこの二つのカウンタは回路上で連携しているのです。</p>



<h2 class="wp-block-heading">細かい挙動</h2>



<ol class="wp-block-list">
<li>コントロールワードを設定しただけではカウントダウンはスタートしない</li>



<li>カウントダウンしているときにコントロールワードを設定してもカウントダウンは続いている</li>



<li>1byte または 2byteのカウンタ値が与えられたらカウントダウンスタート</li>



<li>カウンタの値はカウントラッチしてもしなくても読みとれるが2byteのときは値がずれる</li>



<li>カウントラッチした値があれば、その値を返して、カウントラッチを解除する</li>



<li>カウントラッチしたまま、カウントダウンがつづいて0になってもカウントラッチの値はそのまま</li>



<li>コントロールワードで再ラッチしても値は元のまま</li>



<li>コントロールワードで新しくタイマの設定がされたらラッチは解除</li>
</ol>



<p>細かい挙動については、今後も継続メンテ。<br><br>このページもまだ途中なので、継続メンテ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://expertgig.jp/2025/08/09/8253-pit-programmable-interval-timer-%e3%81%ae%e5%8b%95%e3%81%8d%e3%82%92%e6%95%b4%e7%90%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
