This repository has been archived on 2025-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
Files
chibi-pc09/docs/chibi_pc-09_technical_specification.html
2021-05-07 23:02:02 -04:00

152 lines
3.8 KiB
HTML

<!doctype html>
<html>
<head>
<title>CHIBI PC-09 Technical Specification</title>
<meta charset='utf-8'/>
<link rel="stylesheet" type="text/css" href="./chibi_pc-09_technical_specification.html_files/github-markdown.css">
<style>
.markdown-body {
box-sizing: border-box;
min-width: 200px;
max-width: 980px;
margin: 0 auto;
padding: 45px;
}
</style>
<script>
window.onload = function() {
if (document.querySelector("script[type=\"math/tex; mode=display\"]") !== null) {
var mathjax = document.createElement("script");
mathjax.src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML";
document.head.appendChild(mathjax);
}
if (document.getElementsByTagName("code").length !== 0) {
var highlight = document.createElement("script");
var highlightcss = document.createElement("link");
highlight.src = "http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.2.0/highlight.min.js";
highlightcss.rel = "stylesheet";
highlightcss.href = "http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.2.0/styles/github.min.css";
highlight.onload = function() {hljs.initHighlighting();};
document.head.appendChild(highlight);
document.head.appendChild(highlightcss);
}
}
</script>
</head>
<body>
<article class="markdown-body">
<h1 id="chibi-pc-09-technical-specification">CHIBI PC-09 Technical Specification</h1>
<p>5-17-21 Amber Zeller</p>
<h2 id="quick-specs">Quick Specs</h2>
<h4 id="cpu">CPU</h4>
<p>1, 1.5, 2 MHz Motorola 6809</p>
<h4 id="memory">Memory</h4>
<p>64k SRAM on external card for optional MMU capability. Seperated into 2k blocks, numbered 0-31. Only 62k of memory is accessible, due to the I/O block.</p>
<h4 id="i-o">I/O</h4>
<p>2k block, position 30. Addresses EFFF-F7FE. Further subdivided into 128 devices of 16 addresses each. </p>
<h2 id="address-space-diagram">Address Space Diagram</h2>
<table>
<thead>
<tr>
<th>Address Range</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>0000 - 07FF</td>
<td>Kernal Root Block</td>
</tr>
<tr>
<td>0800 - EFFE</td>
<td>Standard Memory Blocks</td>
</tr>
<tr>
<td>EFFF - F7FE</td>
<td>I/O Block</td>
</tr>
<tr>
<td>F7FF - FFFF</td>
<td>Vector Block</td>
</tr>
</tbody>
</table>
<h2 id="i-o-block-description">I/O Block Description</h2>
<p>11 bits per block</p>
<p>128 devices are possible, though will likely never be used. </p>
<table>
<thead>
<tr>
<th>Bits</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>0-6</td>
<td>Device selection</td>
</tr>
<tr>
<td>7-10</td>
<td>Address selection</td>
</tr>
</tbody>
</table>
<h2 id="expansion-card-description">Expansion Card Description</h2>
<p>Byte 0 of every card should contain a descriptor. The structure of the descriptor is described in the following table.</p>
<table>
<thead>
<tr>
<th>Bits</th>
<th>Descriptor</th>
</tr>
</thead>
<tbody>
<tr>
<td>0-2</td>
<td>Type</td>
</tr>
</tbody>
</table>
<h3 id="type-descriptor-table">Type Descriptor Table</h3>
<table>
<thead>
<tr>
<th>Type Descriptor</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>000</td>
<td>Block Storage</td>
<td>SD Card</td>
</tr>
<tr>
<td>001</td>
<td>ANSI I/O Stream</td>
<td>UART</td>
</tr>
<tr>
<td>010</td>
<td>ANSI Compatible Graphics Device</td>
<td>VGA64</td>
</tr>
<tr>
<td>011</td>
<td>Input Device</td>
<td>Keyboard</td>
</tr>
<tr>
<td>1xx</td>
<td>Other</td>
<td>Other</td>
</tr>
</tbody>
</table>
</article>
</body>
</html>