|
|
<!DOCTYPE html>
|
|
|
<html lang="en"><head>
|
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>utterances</title><meta name="description" content="A lightweight commenting system using GitHub issues."><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="preconnect" href="https://api.github.com/"><link rel="preconnect" href="https://avatars3.githubusercontent.com/"><script type="module" src="utterances_data/utterances.6ec01640.js"></script><link rel="stylesheet" crossorigin="anonymous" href="utterances_data/utterances.css"></head><body><main class="timeline">
|
|
|
<h1 class="timeline-header">
|
|
|
<a class="text-link" target="_blank" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16">9 Comments</a>
|
|
|
<em>
|
|
|
- powered by
|
|
|
<a class="text-link" href="https://utteranc.es/" target="_blank">utteranc.es</a>
|
|
|
</em>
|
|
|
</h1><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/cbreezier" target="_blank" tabindex="-1">
|
|
|
<img alt="@cbreezier" src="utterances_data/4517105.gif" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/cbreezier" target="_blank"><strong>cbreezier</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-826249951" target="_blank">on Apr 24, 2021</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto">This was a great write-up - I found that it
|
|
|
provided a good level of detail while leaving enough of the
|
|
|
implementation details for me to figure out.</p>
|
|
|
<p dir="auto">Two things that were a little unclear to me, both in the <code class="notranslate">DXYN</code> instruction:</p>
|
|
|
<ol dir="auto">
|
|
|
<li>While drawing the sprite, I wasn't sure whether I should be actually modifying <code class="notranslate">I</code> or just reading from successive memory locations. I ended up <em>not</em> modifying it, which seemed to work fine.</li>
|
|
|
<li>The written explanation didn't say anything about setting the <code class="notranslate">VF</code> flag - I had to find that out from the pseudocode section which I had initially tried to avoid.</li>
|
|
|
</ol>
|
|
|
<p dir="auto">My attempt (seems to be working, sans sound) is in Rust: <a href="https://github.com/cbreezier/rchip8" target="_top" rel="noopener noreferrer">https://github.com/cbreezier/rchip8</a></p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="0" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/826249951/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/tobiasvl" target="_blank" tabindex="-1">
|
|
|
<img alt="@tobiasvl" src="utterances_data/80824.jpeg" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/tobiasvl" target="_blank"><strong>tobiasvl</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-912114772" target="_blank">on Sep 2, 2021</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
<span class="author-association-badge">Owner</span>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cbreezier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cbreezier" target="_top" rel="noopener noreferrer">@cbreezier</a> Hey, thanks for the feedback!</p>
|
|
|
<ol dir="auto">
|
|
|
<li>Thanks, I've attempted to clarify this. You're correct, <code class="notranslate">I</code> should not be modified (and neither should <code class="notranslate">VX</code> and <code class="notranslate">VY</code>, for that matter).</li>
|
|
|
<li>Hmm, the written explanation does have a bullet point about setting <code class="notranslate">VF</code>,
|
|
|
though? It says "If the current pixel in the sprite row is on and the
|
|
|
pixel at coordinates X,Y on the screen is also on, turn off the pixel
|
|
|
and set <code class="notranslate">VF</code> to 1". Let me know if anything is unclear about this, or if you were talking about some other part of the tutorial.</li>
|
|
|
</ol>
|
|
|
<p dir="auto">Again, thanks for the feedback, and I'm glad you found it useful!</p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="0" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/912114772/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/DasStone" target="_blank" tabindex="-1">
|
|
|
<img alt="@DasStone" src="utterances_data/58308367.png" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/DasStone" target="_blank"><strong>DasStone</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1063939210" target="_blank">on Mar 10, 2022</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto">Thanks for writing this great article! I’m sure it helped many people get into the topic of emulators, as it did with me.</p>
|
|
|
<p dir="auto">But there is one thing I’m still not sure about (it has to do with <code class="notranslate">FX0A</code>
|
|
|
Instruction). It says that the instruction “blocks” execution. Does
|
|
|
this mean that the timers should stop decrementing as well or do they
|
|
|
continue at their normal rate of <code class="notranslate">60Hz</code>
|
|
|
(I’ve scanned the Internet for any mention of this, but I haven’t found a
|
|
|
clear, unambiguous answer. But it seems like that the timers should
|
|
|
continue)?</p>
|
|
|
<p dir="auto">Maybe this is something you find worth clarifying in your article.</p>
|
|
|
<p dir="auto">Thanks for your time!</p>
|
|
|
<p dir="auto">Here is my attempt in Rust for anyone interested: <a href="https://github.com/DasStone/chip8emu_rs" target="_top" rel="noopener noreferrer">https://github.com/DasStone/chip8emu_rs</a></p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="0" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1063939210/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/tobiasvl" target="_blank" tabindex="-1">
|
|
|
<img alt="@tobiasvl" src="utterances_data/80824.jpeg" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/tobiasvl" target="_blank"><strong>tobiasvl</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1098475208" target="_blank">on Apr 13, 2022</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
<span class="author-association-badge">Owner</span>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DasStone/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DasStone" target="_top" rel="noopener noreferrer">@DasStone</a>
|
|
|
Thanks for the kind words and the feedback! You're right, this is
|
|
|
definitely worth clarifying in the blog post. In the meantime, I can
|
|
|
confirm that yes, you're correct, the timers should continue while the <code class="notranslate">FX0A</code> instruction is blocking for input.</p>
|
|
|
<p dir="auto">In the CHIP-8 interpreter on the COSMAC VIP, <code class="notranslate">FX0A</code>
|
|
|
was simply an infinite loop that ran until a key was pressed. The
|
|
|
timers were decremented in the COSMAC VIP's built-in display interrupt
|
|
|
routine, which is why they're decremented 60 times per second – the
|
|
|
display interrupt occurs each frame drawn to the display, which
|
|
|
refreshes at 60 Hz. You can read more about it here: <a href="https://laurencescotford.com/chip-8-on-the-cosmac-vip-interrupts/" rel="noopener noreferrer" target="_top">https://laurencescotford.com/chip-8-on-the-cosmac-vip-interrupts/</a></p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="2" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="1" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="1" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1098475208/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/jakubito" target="_blank" tabindex="-1">
|
|
|
<img alt="@jakubito" src="utterances_data/8123702.png" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/jakubito" target="_blank"><strong>jakubito</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1132356459" target="_blank">on May 19, 2022</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto">Hi <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tobiasvl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tobiasvl" target="_top" rel="noopener noreferrer">@tobiasvl</a>, thanks for posting this excellent guide. I referenced it many times while writing my own interpreter.</p>
|
|
|
<p dir="auto">I have a question regarding one of your statements:</p>
|
|
|
<blockquote>
|
|
|
<p dir="auto">However, the actual drawing of the sprite should not wrap.
|
|
|
If a sprite is drawn near the edge of the screen, it should be clipped,
|
|
|
and not wrap. The sprite should be partly drawn near the edge, and the
|
|
|
other part should not reappear on the opposite side of the screen.</p>
|
|
|
</blockquote>
|
|
|
<p dir="auto">But <a href="http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#Dxyn" rel="noopener noreferrer" target="_top">this reference</a> says:</p>
|
|
|
<blockquote>
|
|
|
<p dir="auto">If the sprite is positioned so part of it is outside the
|
|
|
coordinates of the display, it wraps around to the opposite side of the
|
|
|
screen.</p>
|
|
|
</blockquote>
|
|
|
<p dir="auto">For example, paddles in Pong seem to wrap in other
|
|
|
interpreters I tried (e.g. Octo IDE), but based on your instructions,
|
|
|
they shouldn't. Am I missing something here?</p>
|
|
|
<p dir="auto">Edit: Just found out Octo IDE has an option for wrapping/clipping sprites. I think I'll make it configurable too.</p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="0" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1132356459/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/tobiasvl" target="_blank" tabindex="-1">
|
|
|
<img alt="@tobiasvl" src="utterances_data/80824.jpeg" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/tobiasvl" target="_blank"><strong>tobiasvl</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1133746903" target="_blank">on May 21, 2022</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
<span class="author-association-badge">Owner</span>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jakubito/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jakubito" target="_top" rel="noopener noreferrer">@jakubito</a>
|
|
|
Thanks, interesting! I can confirm that my statement is correct –
|
|
|
sprites shouldn't partially wrap in either the original CHIP-8
|
|
|
interpreter (<a href="https://laurencescotford.com/chip-8-on-the-cosmac-vip-drawing-sprites/" rel="noopener noreferrer" target="_top">source</a>) or in CHIP-48/S-CHIP (<a href="https://github.com/Chromatophore/HP48-Superchip/blob/master/investigations/quirk_collide.md" target="_top" rel="noopener noreferrer">source</a>).</p>
|
|
|
<p dir="auto">However! By "Pong", I assume you're referring to David
|
|
|
Winter's Pong game. It was written for his own DOS interpreter, which
|
|
|
was based on the CHIP-48 specification. This specification seems to be
|
|
|
what Cowgod's reference is based on as well. It's possible David Winter
|
|
|
introduced sprite wrapping himself, and this is the reason for the
|
|
|
disparity.</p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="1" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="1" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1133746903/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/JamesWWalker" target="_blank" tabindex="-1">
|
|
|
<img alt="@JamesWWalker" src="utterances_data/10425858.jpeg" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/JamesWWalker" target="_blank"><strong>JamesWWalker</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1193015003" target="_blank">on Jul 22, 2022</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto">Thanks for this helpful post on creating a
|
|
|
CHIP-8 emulator! I just developed an interest in emulator creation and,
|
|
|
after a little research, discovered that writing a CHIP-8 emulator
|
|
|
(/interpreter) is apparently a rite of passage. With the help of this
|
|
|
guide, I put together a working CHIP-8 emulator in Java that passes the
|
|
|
BonCoder test, and it only took around 8 hours. I'm planning to try to
|
|
|
make an NES emulator next. I expect that to be a big step up in
|
|
|
complexity!</p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="1" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="1" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1193015003/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/jasonnelson618" target="_blank" tabindex="-1">
|
|
|
<img alt="@jasonnelson618" src="utterances_data/116707867.png" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/jasonnelson618" target="_blank"><strong>jasonnelson618</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1291568542" target="_blank">3 months ago</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<p dir="auto">Hello! Love the article and I've been working on
|
|
|
my own interpreter, however I noted you said for the IBM logo program
|
|
|
only the opcodes you mentioned were needed, but there are several
|
|
|
opcodes starting with "F" in the versions of the IBM logo I can find, so
|
|
|
I'm quite confused if more opcodes are needed or if I'm messing up
|
|
|
something. Any clarity would be appreciated! Thanks in advance.</p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="0" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291568542/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><article class="timeline-comment">
|
|
|
<a class="avatar" href="https://github.com/tobiasvl" target="_blank" tabindex="-1">
|
|
|
<img alt="@tobiasvl" src="utterances_data/80824.jpeg" width="44" height="44">
|
|
|
</a>
|
|
|
<div class="comment">
|
|
|
<header class="comment-header">
|
|
|
<span class="comment-meta">
|
|
|
<a class="text-link" href="https://github.com/tobiasvl" target="_blank"><strong>tobiasvl</strong></a>
|
|
|
commented
|
|
|
<a class="text-link" href="https://github.com/tobiasvl/tobiasvl.github.io/issues/16#issuecomment-1291863321" target="_blank">3 months ago</a>
|
|
|
</span>
|
|
|
<div class="comment-actions">
|
|
|
<span class="author-association-badge">Owner</span>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="right:6px">
|
|
|
<div class="Popover-message Popover-message--top-right box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="markdown-body markdown-body-scrollable">
|
|
|
<blockquote>
|
|
|
<p dir="auto">Hello! Love the article and I've been working on my own
|
|
|
interpreter, however I noted you said for the IBM logo program only the
|
|
|
opcodes you mentioned were needed, but there are several opcodes
|
|
|
starting with "F" in the versions of the IBM logo I can find, so I'm
|
|
|
quite confused if more opcodes are needed or if I'm messing up
|
|
|
something. Any clarity would be appreciated! Thanks in advance.</p>
|
|
|
</blockquote>
|
|
|
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonnelson618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonnelson618" target="_top" rel="noopener noreferrer">@jasonnelson618</a>
|
|
|
Thanks for the kind words! There should be no FXXX opcodes in the IBM
|
|
|
program. How are you reaching those opcodes? My guess is that you're
|
|
|
reading the graphics data (for the IBM logo) as code somehow, ie. that
|
|
|
you have a bug that has caused your Program Counter to point into the
|
|
|
graphics, attempting to execute it.</p>
|
|
|
<p dir="auto">If you push your code to GitHub, I could have a look at it
|
|
|
and see if I spot the bug. Otherwise, good luck bug hunting! Might be a
|
|
|
good idea to write some debug stuff to the terminal, such as the
|
|
|
current PC and opcode at each step, so you see what's happening.</p>
|
|
|
</div>
|
|
|
<div class="comment-footer" reaction-count="0" reaction-url="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions">
|
|
|
<form class="reaction-list BtnGroup" action="javascript:">
|
|
|
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="+1" aria-label="Toggle Thumbs Up reaction" reaction-count="0" disabled="disabled">
|
|
|
👍
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="-1" aria-label="Toggle Thumbs Down reaction" reaction-count="0" disabled="disabled">
|
|
|
👎
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="laugh" aria-label="Toggle Laugh reaction" reaction-count="0" disabled="disabled">
|
|
|
️😂
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="hooray" aria-label="Toggle Hooray reaction" reaction-count="0" disabled="disabled">
|
|
|
️🎉
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="confused" aria-label="Toggle Confused reaction" reaction-count="0" disabled="disabled">
|
|
|
😕
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="heart" aria-label="Toggle Heart reaction" reaction-count="0" disabled="disabled">
|
|
|
❤️
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="rocket" aria-label="Toggle Rocket reaction" reaction-count="0" disabled="disabled">
|
|
|
🚀
|
|
|
</button>
|
|
|
<button reaction="" type="submit" action="javascript:" formaction="https://api.github.com/repos/tobiasvl/tobiasvl.github.io/issues/comments/1291863321/reactions" class="btn BtnGroup-item reaction-button" value="eyes" aria-label="Toggle Eyes reaction" reaction-count="0" disabled="disabled">
|
|
|
👀
|
|
|
</button>
|
|
|
</form>
|
|
|
|
|
|
<details class="details-overlay details-popover reactions-popover">
|
|
|
<summary aria-label="Reactions Menu"><svg class="octicon" style="margin-right:3px" viewBox="0 0 7 16" version="1.1" width="7" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4H3v3H0v1h3v3h1V8h3V7H4V4z"></path></svg><svg class="octicon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"></path></svg></summary>
|
|
|
<div class="Popover" style="left: 50%;transform: translateX(-50%)">
|
|
|
<div class="Popover-message box-shadow-large" style="padding: 16px">
|
|
|
<span><a href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">Sign in</a> to add your reaction.</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</details>
|
|
|
</div>
|
|
|
</div></article><!--marker--><article class="timeline-comment">
|
|
|
<a class="avatar" target="_blank" tabindex="-1">
|
|
|
<img alt="@anonymous" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNiIgdmVyc2lvbj0iMS4xIj48cGF0aCBmaWxsPSJyZ2IoMTc5LDE3OSwxNzkpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04IDEwLjVMOSAxNEg1bDEtMy41TDUuMjUgOWgzLjVMOCAxMC41ek0xMCA2SDRMMiA3aDEwbC0yLTF6TTkgMkw3IDMgNSAyIDQgNWg2TDkgMnptNC4wMyA3Ljc1TDEwIDlsMSAyLTIgM2gzLjIyYy40NSAwIC44Ni0uMzEuOTctLjc1bC41Ni0yLjI4Yy4xNC0uNTMtLjE5LTEuMDgtLjcyLTEuMjJ6TTQgOWwtMy4wMy43NWMtLjUzLjE0LS44Ni42OS0uNzIgMS4yMmwuNTYgMi4yOGMuMTEuNDQuNTIuNzUuOTcuNzVINWwtMi0zIDEtMnoiPjwvcGF0aD48L3N2Zz4=" width="44" height="44">
|
|
|
</a>
|
|
|
<form class="comment" accept-charset="UTF-8" action="javascript:">
|
|
|
<header class="new-comment-header tabnav">
|
|
|
<div class="tabnav-tabs" role="tablist">
|
|
|
<button type="button" class="tabnav-tab tab-write" role="tab" aria-selected="true">
|
|
|
Write
|
|
|
</button>
|
|
|
<button type="button" class="tabnav-tab tab-preview" role="tab">
|
|
|
Preview
|
|
|
</button>
|
|
|
</div>
|
|
|
</header>
|
|
|
<div class="comment-body">
|
|
|
<textarea class="form-control" placeholder="Sign in to comment" aria-label="comment" disabled="disabled"></textarea>
|
|
|
<div class="markdown-body" style="display: none">
|
|
|
Nothing to preview
|
|
|
</div>
|
|
|
</div>
|
|
|
<footer class="new-comment-footer">
|
|
|
<a class="text-link markdown-info" tabindex="-1" target="_blank" href="https://guides.github.com/features/mastering-markdown/">
|
|
|
<svg class="octicon v-align-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">
|
|
|
<path fill-rule="evenodd" d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15
|
|
|
13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4
|
|
|
8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z">
|
|
|
</path>
|
|
|
</svg>
|
|
|
Styling with Markdown is supported
|
|
|
</a>
|
|
|
<button class="btn btn-primary" type="submit" disabled="disabled" hidden="">Comment</button>
|
|
|
<a class="btn btn-primary" href="https://api.utteranc.es/authorize?redirect_uri=https%3A%2F%2Ftobiasvl.github.io%2Fblog%2Fwrite-a-chip-8-emulator%2F" target="_top">
|
|
|
<svg class="octicon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
|
|
|
Sign in with GitHub
|
|
|
</a>
|
|
|
</footer>
|
|
|
</form></article></main></body></html> |