From: Nick Bowler Date: Wed, 17 Apr 2024 02:34:19 +0000 (-0400) Subject: cdecl99-1.3 bash-5 hotfix X-Git-Url: https://git.draconx.ca/gitweb/homepage.git/commitdiff_plain/HEAD?hp=e86a4a5aa2cbe15fed0ea55cb4ee6955db62b104 cdecl99-1.3 bash-5 hotfix Turns out that prior to release the package was not tested on any systems where /bin/sh is bash-5, and the configure script hits a parser bug in this shell regarding for loops in case statements. A workaround is to set CONFIG_SHELL environment variable to some other shell without this bug. But if that's not possible, this patch can be applied to avoid the bug. --- diff --git a/.gitmodules b/.gitmodules index d345e88..f24b460 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,9 @@ [submodule "gitmodules/cdecl99"] path = gitmodules/cdecl99 url = https://git.draconx.ca/cdecl99.git +[submodule "gitmodules/rrace"] + path = gitmodules/rrace + url = https://git.draconx.ca/rrace.git +[submodule "gitmodules/rarpd-dx"] + path = gitmodules/rarpd-dx + url = https://git.draconx.ca/rarpd-dx.git diff --git a/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch b/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch new file mode 100644 index 0000000..0ffc323 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch @@ -0,0 +1,49 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 +NotDashEscaped: You need gpg to verify this message + +The configure script included with the cdecl99-1.3 release fails on +bash-5 due to a parser bug in this shell. On affected systems, a +message similar to the following may be seen when running configure: + + ./configure: line 6631: syntax error near unexpected token `do' + ./configure: line 6631: `do' + +You can work around the problem by setting the CONFIG_SHELL environment +variable to some other shell before running configure; otherwise you can +apply this patch file with a command such as: + + % cd cdecl99-1.3 + % patch -p1 &6 + else + dx_cv_have_alignas=no +! for _dx_alignas +! in '_Alignas(X)' '__attribute__((__aligned__(X)))' '__declspec(align(X))' + do + if ac_fn_c_compute_int "$LINENO" "sizeof (struct { char a; char ALIGNAS_TEST(4) b; }) >= 8" "_dx_tmp" "#include + #define ALIGNAS_TEST(X) $_dx_alignas +--- 6626,6632 ---- + $as_echo_n "(cached) " >&6 + else + dx_cv_have_alignas=no +! for _dx_alignas in '_Alignas(X)' '__attribute__((__aligned__(X)))' '__declspec(align(X))' + do + if ac_fn_c_compute_int "$LINENO" "sizeof (struct { char a; char ALIGNAS_TEST(4) b; }) >= 8" "_dx_tmp" "#include + #define ALIGNAS_TEST(X) $_dx_alignas +-----BEGIN PGP SIGNATURE----- + +iQEzBAEBCAAdFiEEJagcgrvBtB9dtMuDW0XT0YW44fYFAmYfNBUACgkQW0XT0YW4 +4famBQf9GhDZJGOvrkDB5dGWwieXqFCWXJBbATVbY8JmY5wJupke5MqvDEQJ3tBr +A2YIcQZ67+KjA2LwWTTQhQgKkveQs1HWFdTDrHnhTm4dF4jZdlxwVK3K3kHCcref +uW+vl/6C9YkKcVcbf8OeHT4JVgYv2h7XRKW69XIB6lchdMc6rGNeStuCHyuGKYWG +7n3WH9bA5OBPmPAd6yUPmU4urWBHjZwxyTaFBYBO7T+9R3Q4KvvyzCfxt1JxTUPS +SmiQC1B0gg16/N2XJzCmnBsaVXSHdsvt8UrZeIZyWipejqtb2UR1MVnVToz/83NO +gh5tyhxXnYiQgRqd2/uRg9z+GzziDw== +=/RXF +-----END PGP SIGNATURE----- diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.gz b/content/archive/cdecl99/cdecl99-1.3.tar.gz new file mode 120000 index 0000000..b948234 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.gz @@ -0,0 +1 @@ +../../../.git/annex/objects/v9/65/SHA512-s897087--54ab0ce2db34beaee220cbed936b009added5a51b901c2251c7767df6e63a84a8ce6f59b59ec6b00925c2845674a8d5ef02e620bd5eb8074b52cd07441c005cd/SHA512-s897087--54ab0ce2db34beaee220cbed936b009added5a51b901c2251c7767df6e63a84a8ce6f59b59ec6b00925c2845674a8d5ef02e620bd5eb8074b52cd07441c005cd \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.gz.sig b/content/archive/cdecl99/cdecl99-1.3.tar.gz.sig new file mode 120000 index 0000000..57d10b0 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.gz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/4v/p3/SHA512-s310--b4b196e4df43c18634ba5dcc8823cf677931ceb0bd2965713db0a078d29e979c601f190e854caed60af7d7249a60f2b39cbd86c1bcdb9b43827945aa5acd5669/SHA512-s310--b4b196e4df43c18634ba5dcc8823cf677931ceb0bd2965713db0a078d29e979c601f190e854caed60af7d7249a60f2b39cbd86c1bcdb9b43827945aa5acd5669 \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.lz b/content/archive/cdecl99/cdecl99-1.3.tar.lz new file mode 120000 index 0000000..8382932 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.lz @@ -0,0 +1 @@ +../../../.git/annex/objects/3j/wf/SHA512-s591522--11f04eeda91ef127f6e3d5ef5e2cbb135e6a1f46a138640decbe80ed687c9fd2110a94b2fd883d8d0125704b36760c89cf41aeb5005f7965721b85fb55826b6c/SHA512-s591522--11f04eeda91ef127f6e3d5ef5e2cbb135e6a1f46a138640decbe80ed687c9fd2110a94b2fd883d8d0125704b36760c89cf41aeb5005f7965721b85fb55826b6c \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.lz.sig b/content/archive/cdecl99/cdecl99-1.3.tar.lz.sig new file mode 120000 index 0000000..fbb9bb9 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.lz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/3k/Mp/SHA512-s310--5c1d52ff133aeaaa7be59f5ec394ecf95d29341eb491909a12412f246b1d88251e6449aab9385797d0d3bf23eb6ff8fd8eedf80dbc446c4d61f5dbf43dc45ed4/SHA512-s310--5c1d52ff133aeaaa7be59f5ec394ecf95d29341eb491909a12412f246b1d88251e6449aab9385797d0d3bf23eb6ff8fd8eedf80dbc446c4d61f5dbf43dc45ed4 \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.gz b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz new file mode 120000 index 0000000..5ed165b --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz @@ -0,0 +1 @@ +../../../.git/annex/objects/fv/p8/SHA512-s105283--742eeeccb8eba6daea7294ab696cd9e2ad92e84c1b81d5512c8654c5d1df258d5584c360569fe41b73b84757f0cfea93d5da1b67de59b4b920610009068b85de/SHA512-s105283--742eeeccb8eba6daea7294ab696cd9e2ad92e84c1b81d5512c8654c5d1df258d5584c360569fe41b73b84757f0cfea93d5da1b67de59b4b920610009068b85de \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.gz.sig b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz.sig new file mode 120000 index 0000000..6c7a819 --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/g6/j8/SHA512-s310--b40653638706881f135868329359e00c0c55134fadebebb4572f93de79c3d2ff39f6c0af7ad5dcc16f1ed9dd3b2afdca8b9af8dbd071a6b19afabc104658feb6/SHA512-s310--b40653638706881f135868329359e00c0c55134fadebebb4572f93de79c3d2ff39f6c0af7ad5dcc16f1ed9dd3b2afdca8b9af8dbd071a6b19afabc104658feb6 \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.lz b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz new file mode 120000 index 0000000..cbf3770 --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz @@ -0,0 +1 @@ +../../../.git/annex/objects/65/5W/SHA512-s82601--3642314e7390074a50f080c1d3039b1db6d57895efd40a8285a2cc95f5777962282b11edfee3a17caa10fe9c4dc129729fe4b3c6c02ddb411d1b6d57186e1278/SHA512-s82601--3642314e7390074a50f080c1d3039b1db6d57895efd40a8285a2cc95f5777962282b11edfee3a17caa10fe9c4dc129729fe4b3c6c02ddb411d1b6d57186e1278 \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.lz.sig b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz.sig new file mode 120000 index 0000000..c219a09 --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/k5/6V/SHA512-s310--530702e16b139db74862244dde8ddbb8d8618c462b935e3e9bc02fdf7e0fa58ff4d952aa444acfb524e4e4c0f2317a7c20a6cc65ec64ff2f9442b9a5753cfafe/SHA512-s310--530702e16b139db74862244dde8ddbb8d8618c462b935e3e9bc02fdf7e0fa58ff4d952aa444acfb524e4e4c0f2317a7c20a6cc65ec64ff2f9442b9a5753cfafe \ No newline at end of file diff --git a/content/images/eclipse-20240408-143755.jpg b/content/images/eclipse-20240408-143755.jpg new file mode 120000 index 0000000..36f5d3c --- /dev/null +++ b/content/images/eclipse-20240408-143755.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/zX/Px/SHA512-s389810--6d85094e85dbfcc4e73a7861d7992ab8d89d31f369ecc6d977ed89f646a96344dc9361374f8f08ba91f426acf9fdf53bfaad89f3f66563822cfc852b93f4cdef/SHA512-s389810--6d85094e85dbfcc4e73a7861d7992ab8d89d31f369ecc6d977ed89f646a96344dc9361374f8f08ba91f426acf9fdf53bfaad89f3f66563822cfc852b93f4cdef \ No newline at end of file diff --git a/content/images/eclipse-20240408-143755.yaml b/content/images/eclipse-20240408-143755.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-143755.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-151623.jpg b/content/images/eclipse-20240408-151623.jpg new file mode 120000 index 0000000..5b3949f --- /dev/null +++ b/content/images/eclipse-20240408-151623.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/7V/zg/SHA512-s302673--ee3080ea9d00aed29a5af1d407e7dfad733a63131a907cb2d52c7b4342a552bf1b2ad9fa4bd062b96d3355162e09220c14134180091db3d3c9fca5b2f2da464a/SHA512-s302673--ee3080ea9d00aed29a5af1d407e7dfad733a63131a907cb2d52c7b4342a552bf1b2ad9fa4bd062b96d3355162e09220c14134180091db3d3c9fca5b2f2da464a \ No newline at end of file diff --git a/content/images/eclipse-20240408-151623.yaml b/content/images/eclipse-20240408-151623.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-151623.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-152435.jpg b/content/images/eclipse-20240408-152435.jpg new file mode 120000 index 0000000..5abb405 --- /dev/null +++ b/content/images/eclipse-20240408-152435.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/v5/gQ/SHA512-s273018--1a0d88d6b0756be9b23771154e7062da73c442e3f9f8222a6097b8c079382effe64fd7db6f0f763968d983aa9dada88be56932ebee68cbb59e01523ef483662f/SHA512-s273018--1a0d88d6b0756be9b23771154e7062da73c442e3f9f8222a6097b8c079382effe64fd7db6f0f763968d983aa9dada88be56932ebee68cbb59e01523ef483662f \ No newline at end of file diff --git a/content/images/eclipse-20240408-152435.yaml b/content/images/eclipse-20240408-152435.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-152435.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-152639.jpg b/content/images/eclipse-20240408-152639.jpg new file mode 120000 index 0000000..21e8d49 --- /dev/null +++ b/content/images/eclipse-20240408-152639.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/wf/58/SHA512-s348783--191e38f10a9f3d6c3e2334795e342b6ea92ba37e28502e102bf3034aae65e0c8bd9fdd8af9847e33e54059f4bcb6f6597394e1e76ff27403b4d606375735e62f/SHA512-s348783--191e38f10a9f3d6c3e2334795e342b6ea92ba37e28502e102bf3034aae65e0c8bd9fdd8af9847e33e54059f4bcb6f6597394e1e76ff27403b4d606375735e62f \ No newline at end of file diff --git a/content/images/eclipse-20240408-152639.yaml b/content/images/eclipse-20240408-152639.yaml new file mode 100644 index 0000000..d162875 --- /dev/null +++ b/content/images/eclipse-20240408-152639.yaml @@ -0,0 +1,7 @@ +--- +title: 2024-04-08 Total Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 +description: | + The Sun's corona is visible during totality. The red spots on the fringes + are likely solar prominences. diff --git a/content/images/eclipse-20240408-152802.jpg b/content/images/eclipse-20240408-152802.jpg new file mode 120000 index 0000000..1eafa28 --- /dev/null +++ b/content/images/eclipse-20240408-152802.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/34/ZV/SHA512-s520397--1fb51e2946228e45bffa5b8552ad9243a52e8ba6fb8715a3885c602d0046a84724795717b4674753bf202dceefa2bee263a853909222217405889b5258db14d8/SHA512-s520397--1fb51e2946228e45bffa5b8552ad9243a52e8ba6fb8715a3885c602d0046a84724795717b4674753bf202dceefa2bee263a853909222217405889b5258db14d8 \ No newline at end of file diff --git a/content/images/eclipse-20240408-152802.yaml b/content/images/eclipse-20240408-152802.yaml new file mode 100644 index 0000000..bc26d22 --- /dev/null +++ b/content/images/eclipse-20240408-152802.yaml @@ -0,0 +1,7 @@ +--- +title: 2024-04-08 Diamond Ring near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 +description: | + The sun's disc peeks out again at third contact producing the diamond ring + effect. diff --git a/content/images/eclipse-20240408-152846.jpg b/content/images/eclipse-20240408-152846.jpg new file mode 120000 index 0000000..f49afd2 --- /dev/null +++ b/content/images/eclipse-20240408-152846.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/W3/KV/SHA512-s295663--d941929c012be29bbb82e9c22b69280a64b7e9e21321cc7faf2e65088eb251deed5aa2a16b6820473fba40a1057dc72d6b3444e3b916691e8d68322b8d9e1201/SHA512-s295663--d941929c012be29bbb82e9c22b69280a64b7e9e21321cc7faf2e65088eb251deed5aa2a16b6820473fba40a1057dc72d6b3444e3b916691e8d68322b8d9e1201 \ No newline at end of file diff --git a/content/images/eclipse-20240408-152846.yaml b/content/images/eclipse-20240408-152846.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-152846.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/m48t59y-fixed.jpg b/content/images/m48t59y-fixed.jpg new file mode 120000 index 0000000..d0f066e --- /dev/null +++ b/content/images/m48t59y-fixed.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/wK/GG/SHA512-s215590--23ec4d09ab8ed674c51d1fa81145f4983e207ca989ec65c3035ba49c876aa01c37df3ca458b80ab7863607ec80ec8ac950bd03e7d83ec493adc40fef80c55f8d/SHA512-s215590--23ec4d09ab8ed674c51d1fa81145f4983e207ca989ec65c3035ba49c876aa01c37df3ca458b80ab7863607ec80ec8ac950bd03e7d83ec493adc40fef80c55f8d \ No newline at end of file diff --git a/content/images/m48t59y-fixed.yaml b/content/images/m48t59y-fixed.yaml new file mode 100644 index 0000000..6038682 --- /dev/null +++ b/content/images/m48t59y-fixed.yaml @@ -0,0 +1,6 @@ +--- +title: M48T59Y-70PC1 With Battery Clip +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + Finished repair of M48T59Y part with external battery clip glued on top. diff --git a/content/images/m48t59y-installed.jpg b/content/images/m48t59y-installed.jpg new file mode 120000 index 0000000..2fa0639 --- /dev/null +++ b/content/images/m48t59y-installed.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/jF/WK/SHA512-s821129--859631534da810c3a29d2246edf97a8d6a61a2ac67c21e18aee2753eb96a38a2856e45278f44db7a7a0ef9bb1c1ae6b00bc32e72b9b143b5d14a8abc7e376a1d/SHA512-s821129--859631534da810c3a29d2246edf97a8d6a61a2ac67c21e18aee2753eb96a38a2856e45278f44db7a7a0ef9bb1c1ae6b00bc32e72b9b143b5d14a8abc7e376a1d \ No newline at end of file diff --git a/content/images/m48t59y-installed.yaml b/content/images/m48t59y-installed.yaml new file mode 100644 index 0000000..2c74fe6 --- /dev/null +++ b/content/images/m48t59y-installed.yaml @@ -0,0 +1,6 @@ +--- +title: M48T59Y-70PC1 Repair Complete +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + Repaired M48T59Y chip installed onto the Sun Ultra 60 motherboard. diff --git a/content/images/m48t59y-solder.jpg b/content/images/m48t59y-solder.jpg new file mode 120000 index 0000000..5d8078e --- /dev/null +++ b/content/images/m48t59y-solder.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/8M/9g/SHA512-s146926--2dd1f0b920387121d4e1f658f151417d55d65dfa27a6b397343deeebde08636236a0e123a9cfa3fdeef8204425c3f7d00a5e5dcee121126535a140a059f6fb04/SHA512-s146926--2dd1f0b920387121d4e1f658f151417d55d65dfa27a6b397343deeebde08636236a0e123a9cfa3fdeef8204425c3f7d00a5e5dcee121126535a140a059f6fb04 \ No newline at end of file diff --git a/content/images/m48t59y-solder.yaml b/content/images/m48t59y-solder.yaml new file mode 100644 index 0000000..dc6253b --- /dev/null +++ b/content/images/m48t59y-solder.yaml @@ -0,0 +1,7 @@ +--- +title: M48T59Y-70PC1 Wire Leads +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + M48T59Y with battery leads connected, after disconnecting the internal + battery tabs. diff --git a/content/images/m48t59y-terminals.jpg b/content/images/m48t59y-terminals.jpg new file mode 120000 index 0000000..795475d --- /dev/null +++ b/content/images/m48t59y-terminals.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/98/V1/SHA512-s186948--c3277cf2aea7e159ee6203e9c7f5330f3a1c79a4d2c347c7637c19f354c7cafe2181b54fd40e84eba434a16340fb9cd3a87e76a636d45278846cb46c3d1f606e/SHA512-s186948--c3277cf2aea7e159ee6203e9c7f5330f3a1c79a4d2c347c7637c19f354c7cafe2181b54fd40e84eba434a16340fb9cd3a87e76a636d45278846cb46c3d1f606e \ No newline at end of file diff --git a/content/images/m48t59y-terminals.yaml b/content/images/m48t59y-terminals.yaml new file mode 100644 index 0000000..806df38 --- /dev/null +++ b/content/images/m48t59y-terminals.yaml @@ -0,0 +1,8 @@ +--- +title: M48T59Y-70PC1 Battery Terminals +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + M48T59Y with internal battery connections exposed. The negative connection + is on the left, closest to pin 14. The positive connection is on the right, + closest to pin 16. diff --git a/content/images/m48t59y.jpg b/content/images/m48t59y.jpg new file mode 120000 index 0000000..40e10d3 --- /dev/null +++ b/content/images/m48t59y.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/5f/mJ/SHA512-s141937--ebbd8a2ad4b6d4f1c6d66d9f7ba76685c5281bff3d0fb34f7e00e3016b8422c4935aa9b87caa1c4f8ed9b1b7f727b4f2c97d49991f483317c8248f536c225620/SHA512-s141937--ebbd8a2ad4b6d4f1c6d66d9f7ba76685c5281bff3d0fb34f7e00e3016b8422c4935aa9b87caa1c4f8ed9b1b7f727b4f2c97d49991f483317c8248f536c225620 \ No newline at end of file diff --git a/content/images/m48t59y.yaml b/content/images/m48t59y.yaml new file mode 100644 index 0000000..7258310 --- /dev/null +++ b/content/images/m48t59y.yaml @@ -0,0 +1,9 @@ +--- +title: M48T59Y-70PC1 +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | +

The NVRAM module + used in my Sun Ultra 60 workstation. This combines a normal memory with a + real-time clock and an internal lithium primary cell to maintain everything. + However, the internal cell is long dead so this chip is dead too.

diff --git a/content/projects.md b/content/projects.md index 90413c9..8db0c42 100644 --- a/content/projects.md +++ b/content/projects.md @@ -4,6 +4,9 @@ copyright: 2019 Nick Bowler license: cc-by-nd-4.0 --- +*[RARP]: Reverse Address Resolution Protocol +*[ARP]: Address Resolution Protocol + Most of the operations here in the workshop are tracked on our local [git server](//git.draconx.ca) which can be browsed online. All the work here is [free as in freedom](//www.gnu.org/philosophy/free-sw) which means you are diff --git a/content/projects/cdecl99.md b/content/projects/cdecl99.md index c083ba5..c2fb9f4 100644 --- a/content/projects/cdecl99.md +++ b/content/projects/cdecl99.md @@ -1,9 +1,9 @@ --- title: Cdecl99 -copyright: 2021-2022 Nick Bowler +copyright: 2021-2024 Nick Bowler license: gpl-3 or (at your option) any later version module: cdecl99 -release: v1.2 +release: v1.3 --- <%= project_readme %> diff --git a/content/projects/rarpd-dx.md b/content/projects/rarpd-dx.md new file mode 100644 index 0000000..9eaf368 --- /dev/null +++ b/content/projects/rarpd-dx.md @@ -0,0 +1,13 @@ +--- +title: RARP Daemon +copyright: 2023 Nick Bowler +license: gpl-2 or (at your option) any later version +module: rarpd-dx +release: v1 +--- + +*[RARP]: Reverse Address Resolution Protocol +*[ARP]: Address Resolution Protocol + +<%= project_readme %> + diff --git a/content/projects/rrace.md b/content/projects/rrace.md new file mode 100644 index 0000000..b5a111f --- /dev/null +++ b/content/projects/rrace.md @@ -0,0 +1,8 @@ +--- +title: RRace +copyright: 2022 Nick Bowler +license: gpl-3 or (at your option) any later version +module: rrace +--- + +<%= project_readme %> diff --git a/content/style.scss b/content/style.scss index 2708bb4..17aff0b 100644 --- a/content/style.scss +++ b/content/style.scss @@ -67,6 +67,8 @@ h1 { @include header_size(60em, 2em); } h2 { @include header_size(60em, 1.5em); } h5 { @include header_size(60em, 1em); } +h1, h2 { abbr { text-decoration: none; } } + @supports (display: grid) { .gallery { display: grid; @@ -76,6 +78,16 @@ h5 { @include header_size(60em, 1em); } p.img { margin: 0.5em 0; } } + + @media (max-width: 45em) { + .inline.gallery { + display: block; + p.img { + a { max-width: 24em; } + margin: 1em 0; + } + } + } } p.img { @@ -94,12 +106,22 @@ p.img { border: solid 2px; } + a.left { margin: 0 1em 0.5em 0; float: left; clear: left; } + a.right { margin: 0 0 0.5em 1em; float: right; clear: right; } + a.left, a.right { + @media (max-width: 45em) { float: none; margin: 0; } + + max-width: 24em; + } + small { @include usecolours($color: foreground); - text-align: justify; @media (max-width: 24em) { text-align: left; } padding: 0.5ex; display: block; + display: -moz-inline-box; + display: inline-block; + text-align: justify; font-size: 0.9em; } } @@ -137,10 +159,12 @@ kbd { font-family: monospace; font-size: 0.95em; &:before { content: "% "; } + &.ok:before { content: "ok "; } &>span { white-space: nowrap; } blockquote & { display: block; + & + br { display: none; } text-align: left; padding-left: 3em; text-indent: -3em; @@ -160,6 +184,7 @@ kbd { table { @include usecolour(border-top, ruledefault, 1px solid); border-collapse: collapse; + clear: both; width: 100%; } @@ -203,8 +228,8 @@ table.cc { } } -// CSS rules for stortable clicky table headers: Update the display of -// the /table based on the current state. Each column has its own set +// CSS rules for sortable clicky table headers: Update the display of +// the table based on the current state. Each column has its own set // nearly-identical rules, only the class names differ. // // The clickytables.xsl stylesheet generates two inputs for each column. diff --git a/content/weblog/eclipse-20240408.md b/content/weblog/eclipse-20240408.md new file mode 100644 index 0000000..0cf01bf --- /dev/null +++ b/content/weblog/eclipse-20240408.md @@ -0,0 +1,14 @@ +--- +title: Solar Eclipse near Cornwall on 2024-04-08 +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 +published: 2024-04-09T00:44:23-0400 +updated: 2024-04-09T21:04:19-0400 +--- + +More to come... + +<% images = @items.find_all("/images/eclipse-20240408*.jpg") +images.sort_by(&:identifier).each do |item| %> +<%= gallery_img(item, caption: "") %> +<% end %> diff --git a/content/weblog/ultra60-nvram.md b/content/weblog/ultra60-nvram.md new file mode 100644 index 0000000..ec96370 --- /dev/null +++ b/content/weblog/ultra60-nvram.md @@ -0,0 +1,101 @@ +--- +title: M48T59Y-70PC1 NVRAM Battery Replacement +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +published: 2022-07-09T12:12:21-0400 +--- + +*[NVRAM]: Non-Volatile Random Access Memory +*[SRAM]: Static Random-Access Memory +*[NOS]: New Old Stock +*[DIP]: Dual In-line Package +*[SOIC]: Small-Outline Integrated Circuit +*[MAC]: Media Access Control + +Thanks to [Mark Henderson's Sun NVRAM FAQ][nvram-faq] for providing invaluable +insight regarding this repair. +{:article-info="article-info"} + +[nvram-faq]: http://web.archive.org/web/20150919135835/http://www.squirrel.com/sun-nvram-hostid.faq.html + +The Sun Ultra 60 workstation uses an ST M48T59Y-70PC1 battery-backed SRAM with +real-time clock. When the embedded lithium primary cell inevitably dies, the +chip is essentially useless. The most noticeable negative effect of a dead +chip is that the workstation always powers up in a default configuration with +diag-switch? true, running several minutes of self tests every time, with +bogus MAC and host ID values. + +<%= floating_img(@items["/images/m48t59y.jpg"], caption: < + +This device was branded obsolescent by the manufacturer in April of 2008 and +has presumably been out of production since around that time. Similar chips +like the M48T58Y are still made but they are expensive (around $40) and slight +differences may result in compatibility problems. It appears that NOS parts +can be found fairly cheap online but these must be almost 15 years old by now +and who knows what state the embedded batteries are in. No thanks. + +One option could be to find the SOIC version of the M48T59Y for which NOS also +seems to be available, although somewhat less readily than the DIP modules, and +then construct an adapter board to fit into the DIP socket on the motherboard. +The SOIC package does not include the battery and crystal; instead, it has +contacts on the top to attach a separate "SNAPHAT" package which are still +made. This would be complicated and somewhat expensive. + +Fortunately, a straightforward (if time-consuming) repair is possible. This +is a literal hackjob: we can dig through the potting to expose the battery +terminals, disconnect the internal battery, and connect a normal battery clip. +This enables the use of readily-available CR2032 lithium primary cells that can +be replaced as needed, just like a normal PC. Since we already have the chip +we need, it is not necessary to source any obscure or expensive components. + +<%= +floating_img(@items["/images/m48t59y-terminals.jpg"], left: 1, caption: '') +%> + +<%= +floating_img(@items["/images/m48t59y-solder.jpg"], left: 1, caption: '') +%> + +The battery contacts are located on the end opposite pin 1, between pins +14 and 15. Looking underneath the chip there is a small well at either end +filled with potting compound. The battery connections are inside one of +these. Using a knife, cut back the plastic outer shell on the battery side, +then begin scraping away potting compound until the terminals are exposed. +You can use a suitable DIP socket to help protect the pins from accidental +damage. + +Once the terminals are exposed, the internal battery must be disconnected. +The thick protruding tabs near the bottom of the module are what we want +to solder to. The vertical strips going up and into the module are the +internal battery terminals. These can be desoldered from the tabs and +lifted out of the way, or simply cut off. + +With the time-consuming parts completed it is a straightforward matter to +connect a normal battery clip to the exposed terminals. As the Ultra 60 has +no clearance issues I simply glued it to the top of the chip. Since this +would obscure the barcode sticker which is useful to restore the original MAC +address and host ID, I moved this sticker to the side of the chip. + +Finally all that remains is to put everything back together and power up +the system. The system will run the full self-diagnostic tests again and +if all goes well, the "NVRAM Battery Detect Test" should no longer display +any errors. At the ok prompt, the memory can now be initialized. Where +"AA BB CC" are the six hexadecimal digits from the orange barcode sticker: + +set-defaults
+setenv diag-switch? false
+8 0 20 AA BB CC AABBCC mkpl
<Ctrl-D><Ctrl-R>

+.idprom
+reset + +<%= gallery_img(@items["/images/m48t59y-fixed.jpg"], caption: < +<%= gallery_img(@items["/images/m48t59y-installed.jpg"], caption: < diff --git a/gitmodules/cdecl99 b/gitmodules/cdecl99 index ae2e55e..db974c0 160000 --- a/gitmodules/cdecl99 +++ b/gitmodules/cdecl99 @@ -1 +1 @@ -Subproject commit ae2e55ea361bf632ba771264e07ec674123b0446 +Subproject commit db974c0a690f2044dcbc06446333837c3c3e1cec diff --git a/gitmodules/rarpd-dx b/gitmodules/rarpd-dx new file mode 160000 index 0000000..e560983 --- /dev/null +++ b/gitmodules/rarpd-dx @@ -0,0 +1 @@ +Subproject commit e5609838c7733c84200f368bfd89bf2fe07b3d9e diff --git a/gitmodules/rrace b/gitmodules/rrace new file mode 160000 index 0000000..c1dbd8f --- /dev/null +++ b/gitmodules/rrace @@ -0,0 +1 @@ +Subproject commit c1dbd8fcf932d82b4d77da62288b4a6cdf5c1470 diff --git a/layouts/default.xml b/layouts/default.xml index 11aeec1..2f78b3d 100644 --- a/layouts/default.xml +++ b/layouts/default.xml @@ -64,6 +64,8 @@ end %> %>
<%= attribute_to_time(@item[:published]).strftime \ " %Y-%m-%d\n" if @item[:published] +%><%= attribute_to_time(@item[:updated]).strftime \ +" %Y-%m-%d\n" if @item[:updated] %>
<% end %> - - - - - - @@ -52,79 +45,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - +
@@ -400,18 +347,44 @@

+ + + - + +
-

- Posted - -

+ + +
+ +

+ Posted + + + + , last updated + + + +

+
+ + + + + + + + + @@ -439,7 +412,14 @@ -