more 88x31, mycpu stuff

This commit is contained in:
Parker TenBroeck 2026-04-27 23:18:26 -04:00
parent 3642db6709
commit bd7eaeec38
10 changed files with 125 additions and 10 deletions

View file

@ -22,4 +22,6 @@ public static Future<Void, IOException> echo(@Cancellation("close") Socket socke
} }
} }
} }
``` ```
Java (and other languages which compile for the JVM) operate on a

View file

@ -9,3 +9,88 @@ category = ["project"]
+++ +++
Take a look at the [GitHub](https://github.com/ParkerTenBroeck/MyCPU_16bit) Take a look at the [GitHub](https://github.com/ParkerTenBroeck/MyCPU_16bit)
| Instruction | Opcode | Micro 1 | Micro 2 | Micro 3 | Micro 4 | Micro 5 | Micro 6 | Micro 7 |
| ----------------------------------------- | ------ | ------- | ------- | ------- | ------- | ------- | ------- | ------- |
| HALT | FF | 3000 | 1044000 | | | | | |
| HALT if A = B | F0 | 3000 | 1044000 | | | | | |
| HALT if A < B | F1 | 3000 | 1044000 | | | | | |
| HALT if A >B | F2 | 3000 | 1044000 | | | | | |
| Direct CPU control | F3 | 3000 | 1044000 | | | | | |
| Direct Memory control | F4 | 3000 | 1044000 | | | | | |
| Memory __ position out to X register | E0 | 3000 | 1044000 | 30000 | 14000 | 44008 | 800000 | |
| Memory __ position out to Y register | E1 | 3000 | 1044000 | 30000 | 14000 | 44020 | 800000 | |
| Memory __ position out to B register | E2 | 3000 | 1044000 | 30000 | 14000 | 44200 | 800000 | |
| Memory __ position out to A register | E3 | 3000 | 1044000 | 30000 | 14000 | 44080 | 800000 | |
| Memory __ position in from X register | E4 | 3000 | 1044000 | 30000 | 14000 | 48010 | 800000 | |
| Memory __ position in from Y register | E5 | 3000 | 1044000 | 30000 | 14000 | 48040 | 800000 | |
| Memory __ position in from B register | E6 | 3000 | 1044000 | 30000 | 14000 | 48400 | 800000 | |
| Memory __ position in from A register | E7 | 3000 | 1044000 | 30000 | 14000 | 48100 | 800000 | |
| Letter write | E8 | 3000 | 1044000 | 2004000 | 800000 | | | |
| Memory __ __ position out to X register | E9 | 3000 | 1044000 | 30000 | 14000 | 14000 | 44008 | 800000 |
| Memory __ __ position out to B register | EA | 3000 | 1044000 | 30000 | 14000 | 14000 | 44200 | 800000 |
| Memory __ __ position out to A register | EB | 3000 | 1044000 | 30000 | 14000 | 14000 | 44080 | 800000 |
| Memory __ __ position in from X register | EC | 3000 | 1044000 | 30000 | 14000 | 14000 | 48010 | 800000 |
| Memory __ __ position in from B register | ED | 3000 | 1044000 | 30000 | 14000 | 14000 | 48400 | 800000 |
| Memory __ __ position in from A register | EE | 3000 | 1044000 | 30000 | 14000 | 14000 | 48100 | 800000 |
| Copy Memory __ to __ | EF | 3000 | 1044000 | | | | | |
| A register out to internal screen | D0 | 3000 | 1044000 | 1080 | 800000 | | | |
| X register out to internal screen | D1 | 3000 | 1044000 | 2010 | 800000 | | | |
| Y register out to internal screen | D2 | 3000 | 1044000 | 2040 | 800000 | | | |
| Memory out to internal screen | D3 | 3000 | 1044000 | 30000 | 54000 | 6000 | | |
| ALU | N/A | | | | | | | |
| Addition to A register | C0 | 3000 | 1044000 | 81 | 800000 | | | |
| Subtraction to A register | C1 | 3000 | 1044000 | 82 | 800000 | | | |
| NOT | C2 | 3000 | 1044000 | 83 | 800000 | | | |
| AND | C3 | 3000 | 1044000 | 84 | 800000 | | | |
| Shift Left to A register | C4 | 3000 | 1044000 | 85 | 800000 | | | |
| Shift Right to A register | C5 | 3000 | 1044000 | 86 | 800000 | | | |
| OR | C6 | 3000 | 1044000 | 87 | 800000 | | | |
| Jump and remember position | B0 | 3000 | 1044000 | 30000 | 60800 | 84000 | 800000 | |
| Jump and remember position if A < B | B1 | 3000 | 1044000 | | | | | |
| Jump and remember position if A > B | B2 | 3000 | 1044000 | | | | | |
| Jump and remember position if A = B | B3 | 3000 | 1044000 | | | | | |
| Jump to jump Register | B4 | 3000 | 1044000 | 81000 | 800000 | | | |
| Jump | A0 | 3000 | 1044000 | 30000 | 84000 | 800000 | | |
| Jump if carry = 1 | A1 | 3000 | 1044000 | | | | | |
| Jump if A = B | A2 | 3000 | 1044000 | 330000 | 384000 | B00000 | | |
| Jump if A < B | A3 | 3000 | 1044000 | | | | | |
| Jump if A > B | A4 | 3000 | 1044000 | 230000 | 284000 | A00000 | | |
| Jump to A register | A5 | 3000 | 1044000 | 80100 | 800000 | | | |
| No Operation | 00 | 30000 | 1044000 | 800000 | | | | |
| Bit | Function |
| --- | --- |
| 31 | NA |
| 30 | NA |
| 29 | NA |
| 28 | NA |
| 27 | NA |
| 26 | NA |
| 25 | NA |
| 24 | Instruction Register In |
| 23 | Micro Instruction Counter Reset |
| 22 | Conditional Instruction Type Select Bit 3 |
| 21 | Conditional Instruction Type Select Bit 2 |
| 20 | Conditional Instruction Type Select Bit 1 |
| 19 | Program Counter In |
| 18 | Program Counter Count |
| 17 | Program Counter Out |
| 16 | Update Memory Address Register |
| 15 | Memory In |
| 14 | Memory Out |
| 13 | Internal Screen Register In |
| 12 | Jump Register Out |
| 11 | Jump Register In |
| 10 | B Register Out |
| 9 | B Register In |
| 8 | A Register Out |
| 7 | A Register In |
| 6 | Y Register Out |
| 5 | Y Register In |
| 4 | X Register Out |
| 3 | X Register In |
| 2 | ALU mode select bit 3 |
| 1 | ALU mode select bit 2 |
| 0 | ALU mode select bit 1 |

View file

@ -16,7 +16,7 @@ I decided to make a 88x31 badge for fun and included a fun little puzzle inside
Here are some badges from people I know/like Here are some badges from people I know/like
{{ badge88x31(link="https://ivytime.gay", src="https://ivytime.gay/badges/ivytime.gay.png", alt="Ivy's badge", new_tab=true) }} {{ badge88x31(link="https://ivytime.gay", src="ivytime.gay.png", alt="Ivy's badge", new_tab=true) }}
--- ---
@ -27,6 +27,9 @@ other
{{ badge88x31(link="https://rust-lang.org/", src="rustnow.gif", alt="Rust badge", new_tab=true) }} {{ badge88x31(link="https://rust-lang.org/", src="rustnow.gif", alt="Rust badge", new_tab=true) }}
{{ badge88x31(link="https://www.w3.org/QA/Tips/iso-date", src="iso-date.gif", alt="ISO 8601 badge", new_tab=true) }} {{ badge88x31(link="https://www.w3.org/QA/Tips/iso-date", src="iso-date.gif", alt="ISO 8601 badge", new_tab=true) }}
{{ badge88x31(link="https://www.aperturescience.com/", src="aperturelabs.gif", alt="Aperture Labs badge", new_tab=true) }} {{ badge88x31(link="https://www.aperturescience.com/", src="aperturelabs.gif", alt="Aperture Labs badge", new_tab=true) }}
{{ badge88x31(link="https://archive.org/", src="preserve.png", alt="Preserve badge", new_tab=true) }}
{{ badge88x31(link="https://ublockorigin.com/", src="ublock.png", alt="UBlock badge", new_tab=true) }}
{{ badge88x31(link="https://wikipedia.org/", src="wikipedia.gif", alt="Wikipedia badge", new_tab=true) }}
{{ badge88x31(src="niko-chuckle.gif", alt="Niko Chuckle Viewed badge") }} {{ badge88x31(src="niko-chuckle.gif", alt="Niko Chuckle Viewed badge") }}
{{ badge88x31(src="bestviewed.gif", alt="Best Viewed badge") }} {{ badge88x31(src="bestviewed.gif", alt="Best Viewed badge") }}
{{ badge88x31(src="roroqa.gif", alt="Rendered On RISC OS badge") }} {{ badge88x31(src="roroqa.gif", alt="Rendered On RISC OS badge") }}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -28,7 +28,7 @@ body {
margin-bottom: 4em; margin-bottom: 4em;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
max-width: 800px; max-width: min(800px, 100%);
padding: 0 0.5em; padding: 0 0.5em;
} }
@ -148,3 +148,27 @@ figure figcaption {
font-size: 0.9rem; font-size: 0.9rem;
color: var(--fg-muted); color: var(--fg-muted);
} }
table {
width: 100%;
margin: 2rem 0;
border-collapse: collapse;
display: block;
overflow-x: auto;
font-size: 0.95rem;
}
th,
td {
padding: 0.2rem 0.5rem;
border: 1px solid var(--grey-light);
text-align: left;
vertical-align: top;
}
th {
color: var(--fg-0);
background: var(--grey-dark);
}

View file

@ -5,7 +5,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1"> <meta name=viewport content="width=device-width,initial-scale=1">
<title> <title>
{%- block title -%} {%- block title -%}
@ -23,8 +23,9 @@
{%- block feeds -%}{%- endblock -%} {%- block feeds -%}{%- endblock -%}
{% endif %} {% endif %}
{% set css = load_data(path="style.css") %} {# {% set css = load_data(path="style.css") %}
<style>{{ css | safe }}</style> <style>{{ css | safe }}</style> #}
<link rel="stylesheet" type="text/css" href="{{ get_url(path='style.css') }}">
{%- if page.extra.stylesheets or section.extra.stylesheets %} {%- if page.extra.stylesheets or section.extra.stylesheets %}
{%- for stylesheet in page.extra.stylesheets | default(value=section.extra.stylesheets) %} {%- for stylesheet in page.extra.stylesheets | default(value=section.extra.stylesheets) %}
@ -144,6 +145,5 @@
</div> </div>
</body> </body>
{% set script = load_data(path="js/script.js") %} <script src="{{ get_url(path='js/script.js') }}"></script>
<script>{{script | safe}}</script> </html>
</html>

View file

@ -8,6 +8,7 @@
<figcaption>{{ caption | markdown() | safe }}</figcaption> <figcaption>{{ caption | markdown() | safe }}</figcaption>
{% endif %} {% endif %}
</figure> </figure>
{% endmacro %} {% endmacro %}
@ -32,4 +33,4 @@
{% endif %} {% endif %}
</figure> </figure>
{% endmacro %} {% endmacro %}