From bd7eaeec38677f8366bfa239e2ad069e3342cb4b Mon Sep 17 00:00:00 2001 From: Parker TenBroeck <51721964+ParkerTenBroeck@users.noreply.github.com> Date: Mon, 27 Apr 2026 23:18:26 -0400 Subject: [PATCH] more 88x31, mycpu stuff --- content/blog/projects/generators.md | 4 +- content/blog/projects/my_cpu.md | 85 +++++++++++++++++++++++++++ content/random/88x31/index.md | 5 +- content/random/88x31/ivytime.gay.png | Bin 0 -> 4701 bytes content/random/88x31/preserve.png | Bin 0 -> 895 bytes content/random/88x31/ublock.png | Bin 0 -> 1605 bytes content/random/88x31/wikipedia.gif | Bin 0 -> 3418 bytes sass/style.scss | 26 +++++++- templates/base.html | 12 ++-- templates/macros/figures.html | 3 +- 10 files changed, 125 insertions(+), 10 deletions(-) create mode 100644 content/random/88x31/ivytime.gay.png create mode 100644 content/random/88x31/preserve.png create mode 100644 content/random/88x31/ublock.png create mode 100644 content/random/88x31/wikipedia.gif diff --git a/content/blog/projects/generators.md b/content/blog/projects/generators.md index c058cf4..07387a7 100644 --- a/content/blog/projects/generators.md +++ b/content/blog/projects/generators.md @@ -22,4 +22,6 @@ public static Future echo(@Cancellation("close") Socket socke } } } -``` \ No newline at end of file +``` + +Java (and other languages which compile for the JVM) operate on a \ No newline at end of file diff --git a/content/blog/projects/my_cpu.md b/content/blog/projects/my_cpu.md index 6e633fe..666e97c 100644 --- a/content/blog/projects/my_cpu.md +++ b/content/blog/projects/my_cpu.md @@ -9,3 +9,88 @@ category = ["project"] +++ 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 | diff --git a/content/random/88x31/index.md b/content/random/88x31/index.md index b078c9c..016dbda 100644 --- a/content/random/88x31/index.md +++ b/content/random/88x31/index.md @@ -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 -{{ 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://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://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="bestviewed.gif", alt="Best Viewed badge") }} {{ badge88x31(src="roroqa.gif", alt="Rendered On RISC OS badge") }} diff --git a/content/random/88x31/ivytime.gay.png b/content/random/88x31/ivytime.gay.png new file mode 100644 index 0000000000000000000000000000000000000000..16f36e8a612ca4dcc76d7f58ad2ed6ab1fb4acd6 GIT binary patch literal 4701 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 literal 0 HcmV?d00001 diff --git a/content/random/88x31/preserve.png b/content/random/88x31/preserve.png new file mode 100644 index 0000000000000000000000000000000000000000..9378b67a2f844125625f23c3eb013e8f41f2ae1a GIT binary patch literal 895 zcmeAS@N?(olHy`uVBq!ia0y~yV2EH~V36lvU|?WyTO4Y`z`*S0>EaktaVzPEzx0RB zhyVB6n=s^;NdBw0_GeBwbKt{&?S{EU36qsM8D8AnzU@)UnT(tx+j4Jj%Prn(==O5m zsxtn67k&NHb8GgQYwRy7{A$1u5F^ad!O``!s%c4J4?|U|RB1!ghPb2pAADjrY@hYA zbq14wkNK?Ls=peWZwB>F(2$$>w19U)O!v14nf(dnyLHt*m&dHL^zmAA{ZB!Rj&O1%lYVj?Z2w-_iq<_rD}JF1%G_~a`vh% zFWb$;^B-D^b9;aEGJn{e{J>PlpuXlu^o>mw)s}-meyPrl#aXjn78=nk&}VPin4P4b{N-u zE)UzdBR5Iom*M;KYu2o(cfYdc^vNmnS4jMfPBU7%JAIzprhi<>ztu!ruQe|e> z@r!OBIj4TJe0$C3xv+cat?(tm#+ws0J*FMc6>hqC{*x=iVFQQ7pXSb5*sjC9PbK)p zT2BGz!wqXM6+M~pM@~GeU~c#4=93O0?KylW3|QitgTI_rj9w;{9oeREZ|RXM_qG_7 z>lg+HA2m`*+O7KR<>j59=h;VZt@}CYcj)S0@w=@GF5P`Dowm=vb0>eMC42J5+lOn+ zbG;lcy%Vy`g>nKWbMNeB3pivFUZp z9ieH0|04~LZVO)=T&VveUgy%usqa|l+BnrJ*xmbdbB_DBR*O3C`$BhTRm|^jpBZhi z%m0WBZvr>N$N4J+MCS7c$;&YK@Me4vl*@a?tj5;%`w))_BZK9k?W!rd1wx>l<>~6@ Jvd$@?2>`hBs-*w` literal 0 HcmV?d00001 diff --git a/content/random/88x31/ublock.png b/content/random/88x31/ublock.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6c659e4bef18e161bfe86e65e0a3d227b3ddad GIT binary patch literal 1605 zcmeAS@N?(olHy`uVBq!ia0y~yV2EH~V36lvW?*0l5&LzCfq|(Yz$e7@?1eLb|Nl9= zc-dP`lV`5MUwLG%tX%s^LI15&z>TunhvkhYP95LBYvdLS~4d%c$$^<6bs8n zCWZzEhI$5uGDe0P2Bvam#x@D5CKk>*2G#~f_F@K>943Ym28Kpvjt+j2N>-+JUf~J4 zdNo|E^#c6OViFgZF6xw#Y2)VUmRFvrr$67xsZU9@S5v*3gJrh2=f=jymD$;o)HHIL z85TxF%yn?6<6~c%7`Hkqc4d5AlZa5Gu;A*1gc(jQb9}toB}FHg80=cUa)y)r{IIY^ zk&$aki{`jGZ7eR{HhIcKQ^OtwmC3f&JC-irxopMu)vNbx*tj@8W?^8+mPwO4q@|}B z8P)QzEicGz5f!dwU|CmJ*D0g8rmSL3P0ilfbAEsOdT#N86Vs-3si`ao2;Mz&)|tsu z-`~Fb^u+OfmDRVlZGU|1=<`!2PtBOIv!v|J{rgu|Ec^cI^_TbW4m33MDa!wN{bq)> z&9h5aH|H1bC@%f?xO^z+Tz+uL_cwYS;7cu|+0 zb`=}*+>ns1D_2g|H`p?N&cQ8P_ifs|AUu5Ml7$mZ&DK>^?V3Jwf{EF#`ST{5TdXQ6 z+r41^u665|L`U@)=q^f4-7sbHjx}r7mRI@*`bEV=T3A`^-M^>3vrSiDch3AdD^@Mv zv~^QTT1rh_wX%wmi<|Sr$rB_b#S4oI4(;8|z{oJE@K75A1M>t=7srr_TS*B^1Q$#_ z_*}9f?J~n0cjFo5@AVjGN$4o(YnS!?V&hg*m(0|*;`+Q;%c@H1fLNqVh%k#|1@n*C z!pP?GLwDyYn;$x$D%`=a`_VqDTXTi)-nbmKQtJ1yoM%rW)@Y<<-md^xr5X2(U3)uH3nlW1GLG<&7H) zCKl!>))q<3vFN)ZQD{Hwh(hzkdrB2$2R?_j#pb7!B$VVBe26`t`}^br7e@J`o0l1C zc7@nVE9yLWy>MCJqAf0m6MTEO9(?%kT!F#9eT4-UTW&qB&ikytYI=eMPt-+;sfRWz z^JK`$bMDeU6||>us$YD|*#`o?qE}BDS=-*PIp%4szGdf1Ep1J%iBk&tWvsarmdx4p ztf!G-&g7Iy;ahvRX5ZeH3qoe=wue9cv&_$KeX^ap^zU=O-2CH?%X&Yu?|MILuFTf=c}jve>eq$ZnB~PCb8RtF z@|xKmHCz1Co@a|W_f(htxzboI`*^y3?3?L6z4PZ622E?Wys^{&S?fXG-9IO_f0MN@ zuKN3z{qVY&z1QpoB6lb}UcwM}Ewgo-iGi`}v7A*w8=M}ndDkpF{F`6q=C!~c7z@a~ zgD-Y(tr8d+52md+80rvwpeZ3gS3Lf=gOcEP_V$3w_r!1gu?jviX*NIiY1Xwe0a4og z4uUhnQYLQr`Rt={e6`n=8D<-*WYg>rn+=6ToSXr!L&fpV%?*o%zuyjZ}iGLE_ymUb)K+L@5;u_jv#S literal 0 HcmV?d00001 diff --git a/content/random/88x31/wikipedia.gif b/content/random/88x31/wikipedia.gif new file mode 100644 index 0000000000000000000000000000000000000000..957f210828fa2e422ea91409e44fcc5f06c71968 GIT binary patch literal 3418 zcmZ?wbhEHbj9`#w_{snRX=yXhoO!o<_nB3zcAwdO=FFM9XF$Z=-DmE0bjGk4#unz=hIt-L&~{N3IE zAg7Ry75{VlxrPKgI|jHK=@~FHGB7YG{$ybhVffFW12PTdO$N6A2l@*b6*vl!7wpy+jJ4uIg73zjbdQ+TYhrNHqi#gZ00qd$^v0)d^ZZJo?G1>$Ya7~ zv(xF&bqDpZxkj&_@_qY% z!Qz?|S)q(mxIlw=?dv zDg58a%5f*NaIphB|8{6GbtV8g+RN1P5zy&p$bCQ3wRyNA%AaCg4Sk3Wcg&M1v zfJcam$Hc=84!mDjCdya^U0`5|%2iHbmX}!2I3cRiBY}-M%;+ow*UHBen9A-&wEI@% z{c!aEUZZiAUH!{f2UfNq<>1*dtsD%2msAR58H&pkd}A-_u$^CXT(&G`P2S50N6YUq zCH*Y3wF0KD-|rzjDW+Izw(}%c!nXL9mYXv&lhPWP)dLhx%?NCm;>21r=aUkX zx{d*#vRB~&;We3ee)ZVM@ZCuBkhi-icaT}ggK-hF&;tfm;SB*HPK_>|jqKWYXRdDO zYn@UkA}f9C*;!_#hC^K486Q448TjdZb`iKm$vM`8&furyEqD0TN4w^lJ zp*L7$cDJo8_@GcY+tufD@(m8ruA_@@s|4)o=}o*4ao{BbyBLRWQDFgBgReMqU3)=Y zSDZj$Umf=(UuHff7M5BrwwVl~3i9#_y<9wt8N|e6x%k%lDwJ$1afCX93E~V+20$Th)e?%Ax8(`VxPL$bwZAF&cwJeKZrrfnfNQ^%*)ypvqV zXT`GJ7UwF-VRTDjk`@(>jSOvRlNVv@4h--sV=8Xyj`E!@GQVpw)AYr$BBJw=tQBS8 zVc=)rWME)*QBYu-;u?BoW?-8_hvS5EYZ61a-YgTn6|OgTfqC}MxP}9LMg}H*2ba8d zij*)ozxaYnp{~R>!OrYU0U{2LI&QhrVQT~s{*i(i%wi_sp`d11>(a4^3te|6( zfz;ENo(b1yda^IybYRzp#&Vsex5g=nKFp`Pn{JdkC}*6g=m3|$tXvFC3_2G zH(DzwFgcqT9CqedBf;W4$87b3P0UA3_>Eo79TOKQ=y0?+Z8%b4F~Q7%L4ER-Y3gCw zDiaL1thw$jcDW5^9y5cECIb(H0N6Y|1%OSDt?RzJW#Hq`<13Rn2z_A71B7G7Xe%%VdSBXJXKCW8h%m1FKh?!oQq* z?|p{~4=b&d3}LTgL&xKW7iVhRvY7TDU1_no>%F6PIRUT`f#v~!kXE+;NO>T`YCfoj zTdFtxc=E*p*|7Z&3bw3XlcL!p7hmk)^Y$*C-?ejn%6E#WKAChf$<#m&#H z$RjTzCXzN$Qlx~Pla-BGkeR2P#W!Wq;(|aH5kDU3S-jls9V`mzktJ-d?6cUJcbD@n zU|4c6HVBlBIy=_;a`DOgMx}{f-pb7G%Phdd%g-Zx;LyXkKyl`Er`p$@;99|Od5ixw zPG44LE*5T<1&{s|3UoY=(Jk1NC}qOM%wy7!#2L-P#xL{Y@PYO5QyBSNUSuyl&>-wC z#~8CQ0c;9u}vLimXH*b5ydHm|dm66P4NxI)Z zJlk+p#A@QAhZb6*l4+ApdO4P9-!7T{S;YCqSu=qzP5TpbN-DZTVqa`a-cq+wxM}Tk zyVm_{ylii+-e!LMN?Ca8lO>5R6;G$NxqF0J96yxExvl+?>*b2J%PXILH_%j{QMvSl zDN`m_)eFz`2&*kzU56&`{IX@YLaWE)BMY;IO%4W&7e=P<{IhTkPvJ?O*v~Q6S&^eD OWHg10rVzT9A=UuHq!ZHs literal 0 HcmV?d00001 diff --git a/sass/style.scss b/sass/style.scss index dea60b2..b9f85d3 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -28,7 +28,7 @@ body { margin-bottom: 4em; margin-left: auto; margin-right: auto; - max-width: 800px; + max-width: min(800px, 100%); padding: 0 0.5em; } @@ -148,3 +148,27 @@ figure figcaption { font-size: 0.9rem; 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); +} + + diff --git a/templates/base.html b/templates/base.html index f32d390..2931939 100644 --- a/templates/base.html +++ b/templates/base.html @@ -5,7 +5,7 @@ - + {%- block title -%} @@ -23,8 +23,9 @@ {%- block feeds -%}{%- endblock -%} {% endif %} - {% set css = load_data(path="style.css") %} - <style>{{ css | safe }}</style> + {# {% set css = load_data(path="style.css") %} + <style>{{ css | safe }}</style> #} + <link rel="stylesheet" type="text/css" href="{{ get_url(path='style.css') }}"> {%- if page.extra.stylesheets or section.extra.stylesheets %} {%- for stylesheet in page.extra.stylesheets | default(value=section.extra.stylesheets) %} @@ -144,6 +145,5 @@ </div> </body> - {% set script = load_data(path="js/script.js") %} - <script>{{script | safe}}</script> -</html> \ No newline at end of file + <script src="{{ get_url(path='js/script.js') }}"></script> +</html> diff --git a/templates/macros/figures.html b/templates/macros/figures.html index 7d048a1..c9406ac 100644 --- a/templates/macros/figures.html +++ b/templates/macros/figures.html @@ -8,6 +8,7 @@ <figcaption>{{ caption | markdown() | safe }}</figcaption> {% endif %} </figure> + {% endmacro %} @@ -32,4 +33,4 @@ {% endif %} </figure> -{% endmacro %} \ No newline at end of file +{% endmacro %}