21-Apr-2024
[今更気付いたのですが]

予定が合ったので久々にJMH(船舶向け天気図)の電波予報の受信。21-Dec-2023以来ですね…画質の悪さをこの時も書いていますが、なんか今回も画質悪いです。13988.5kHzでの受信画像なんですけど。

tjmh-202404210229.jpg

画質がマシだった頃(20-Nov-2022)はASUS H110M-K + Pentium G4600だったので、マシンの違いが原因じゃないかなーと考えています。IC-7200をUSB2.0ハブ経由ではなくマザーボード側のコネクタに繋ぎ直すことで若干の改善があるようなないようなでも微妙に減った気がしなくもない(画像下側の黒い帯の波打ち具合で評価しています)…ああそういえばマシン組み替えてたっけ?チップセット変わってるし、と。

PCIeのUSB3.0ホストコントローラカードが転がっているのでこれを挿して状況が変わるかを試したいところですが、PCIeの空きがArc A770に阻まれて挿せないのが何とも。PCIe延長ケーブルを買うか、あるいはIntel HD Audio越しに使うためのあれこれを買うか…面倒なのでこのまま放置でも良いかなあ。58.5kg(22:00)

18-Apr-2024
[意外と忘れてる。]

z88dkのfopen()のモード指定、バイナリファイルを扱うときは"wb"ないし"rb"、テキストファイルを扱う場合は"w"ないし"r"と…イマドキのPOSIX環境みたいになんでもかんでも"w"もしくは"r"でおっけーじゃんとはいかないんですよね。

あと、CP/Mの場合はファイルサイズが128byte単位。128byteに満たない部分は^Z(0x1a)でパディングされることも注意が必要です。場合によってはこのパディングを削らないとちゃんと動かないこともあるでしょう。

なので、LinuxとCP/M両方で動くコードを書くのは、思っている以上にめんどい。57.9kg(21:15)

15-Apr-2024
[前から気になっていた箇所二つ。]

横浜水道みちを行く 其の933 長徳寺の結界石と謎の石塔・神奈川県相模原市緑区大島を見て、そういえばあそこにも「不許葷酒入山門」と書かれた結界石があったな…ということで、簡単に覗いてきました。

timg_20240411_170006_487.jpg timg_20240411_170029_749.jpg

場所は福寿院、高田橋から愛川へ向かう長い長い坂の途中にあります。側面には「天保十三壬寅年九月吉日 當院慈海代」と書かれているのかなーという気がするのですが、読解力が無いので自信がありません。

もいっちょ。

瀬谷変電所、仕事場からそんなに遠くないことが分かったのでちょっと行ってきました。

timg_20240413_133533_657.jpg timg_20240413_133949_476.jpg timg_20240413_134249_652.jpg

境川の向こう側にある瀬谷線26号は大和市。市の境からほんの少し入っただけではありますが、実際に来てみると横浜ってこんなところにもあるのだなーという謎の感動があります。

なかなかお休みが取れず出かけることもままならない状況なのですが、隙を見てどこか気になるところへ行ってみようと企んでいます。さて、次は…?58.2kg(06:35)

14-Apr-2024
[この辺が限界かな…]

相変わらずz88dkでIchigoJam-BASICを試していますが、なかなか厳しいです。これもz88dk-sccz80の制約(というかバグ?)なのか、グローバル変数の宣言において

はerror: Expecting constant expressionを起こし、

はそうならないというものがあったり(計算の要不要というよりは()の有無で判断している?)、デバッグプリントを入れると何故か正しく動くという謎挙動を回避するために最適化を-O0で無効化する必要があったりと、マトモそうなバイナリを手に入れるにしてもなかなか厄介な問題が多いです。

z88dk-sdccも試してはいるのですが、こっちもこっちでどう追いかければ良いものやら。


uaa@framboise:~/z/ichigojam-firm/console$ TOOLCHAIN=z88dk-sdcc gmake
zcc +cpm -lm -clib=sdcc_iy -v -I../IchigoJam_BASIC -I./src/ ../IchigoJam_BASIC/
main.c -o IchigoJam_BASIC

PROCESSING ../IchigoJam_BASIC/main.c
z88dk-ucpp -I"../IchigoJam_BASIC" -I"./src/"  -iquote"." -D__CPM -DCPM -D__CPM_
_ -DZ80 -D__Z80 -D__SDCC_IY -D__Z88DK_NEWLIB -isystem"/usr/local/share/z88dk/li
b/config/../..//include/_DEVELOPMENT/sdcc" -D__Z88DK  -D__SDCC  "../IchigoJam_B
ASIC/main.c" "/tmp/tmpcJwJTCjR.i2"
z88dk-zpragma -zcc-opt="/tmp/tmpzcc16DQ4c4G/zcc_opt.def" < "/tmp/tmpcJwJTCjR
.i2" > "/tmp/tmpcJwJTCjR.i"
z88dk-zsdcc --constseg rodata_compiler   --reserve-regs-iy -mz80 --no-optsdcc-i
n-asm --c1mode --emit-externs  --no-c-code-in-asm   --no-peep --peep-file "/usr
/local/share/z88dk/lib/config/../..//libsrc/_DEVELOPMENT/sdcc_peeph.2"  < "/
tmp/tmpcJwJTCjR.i" -o "/tmp/tmpcJwJTCjR.opt"
../IchigoJam_BASIC/ram.h:106: warning 278: return type of function omitted, ass
uming int
../IchigoJam_BASIC/ram.h:106: error 1: Syntax error, declaration ignored at 'ui
nt8'
../IchigoJam_BASIC/ram.h:106: syntax error: token -> 'ram' ; column 9
z88dk-zsdcc: Inappropriate ioctl for device
gmake: *** [Makefile:9: IchigoJam_BASIC] Error 1
uaa@framboise:~/z/ichigojam-firm/console$

typedef uint8_t uint8;はmain.cの最初の方にある#include "ichigojam-stddef.h"でやっているにもかかわらず、uint8なんざ知らぬわ、というのは流石に嫌な予感しかありません。

まだ試してはいないのですが、LLVM+SDCCに頼るしかないのでしょうか…?57.9kg(07:55)

15-Apr-2024補足:最適化を無効にすると動くという謎の現象、z88dk-sccz80の問題ではなくプログラムリスト等を格納するために確保したメモリのアドレスが奇数から始まっていたことによる問題でした。修正を行い、現在は最適化の有無に関わらず動くようになっています。

07-Apr-2024
[ままなりませんな…]

IchigoJamのコア部分(IchigoJam-BASIC)のソースがGitHub上で公開されたので、じゃあZ80で動かせるか試してみようじゃないということでz88dkをインストールした訳ですが…考え、甘かったです。

z88dkの、Small-C由来のコンパイラ(z88dk-sccz80)の制約だと思うのですが、

という問題に対処する必要があります。これらへの対応は手間をかければどうにかなるとして、

については厄介そうです。単に#include <stdint.h>してint32_t等を使う、だけで解決するのかどうかは分かりません。

basic.hを見るに、中間コード等に落として解釈するのではなく文字列解析をひたすら行うような作りになっているように見えます。なので仮にコンパイルが通ったとしてもZ80/3.58MHzでのパフォーマンスは厳しくて、MSXturboR(R800/7.16MHz)やAgon Light2(eZ80/18MHz)が必要になる気がします。

パソコン通信(NIFTY-Serve)を始めるためにクレジットカードを作り、特にカード会社を変えることなく25年以上使い続けていたのですが…なにやらシステム統合を進める際において、今後のシステム構造等の理由から現在使用しているカードの取り扱いを終了せざるを得なくなった、といったお手紙が来ておりまして。一応現在使用中の兄弟分(?)となるカードへの移行を勧められてはいるものの、番号変わるんですよね。

カード番号流出による不正利用を喰らった影響で、利用中の各種サービスに対するクレジットカード番号の一斉変更は一度やったことがあります。でもこれって本っ当に面倒で。今回は会社都合によるカードの変更により、電気・ガス・水道・電話・携帯(大手キャリアに限る)・NHK・保険・新聞といったいわゆる公共料金的なものは会社側で面倒見てくれるそうですが、でもそれだけです。あとは自分でやれ、と。

長期間会費を払って使い続けてそれなりに信用情報はあるはずなのにこの扱いはなんなのさと思ったものの、ステータスの低い会員なんてそんなものなのでしょう。「システム構造等の理由」によりサービスを継続できなくなったなんて表向きには言っていますが、利益を見込めず管理コストのかかる質の低い会員はこの際一掃します、というのが実際の意図なのかもしれません(これがただの妄想であれば良いのですがね)。

という訳で、向こうのお望み通りに動くのは不本意なのですが、他のカード会社へ移るのが良さそうです。信用情報をゼロから構築することになり、その影響が今後長期間にわたって続くことになったとしても。57.1kg(22:10)

04-Apr-2024
[z88dk覚え書き(2)]

12-Aug-2021の続き。

z88dkもgmpを使うようになったのか(mpfrは使っていない様子)、ヘッダとライブラリを探し出せるようbuild.shに指示を出さないといけません。という訳で、

でビルドします。ビルド後はgmake installで/usr/local/binと/usr/local/share/z88dkに一式がインストールされます。export ZCCCFG=/usr/local/share/z88dk/lib/configを.bashrc等に入れておくと良さそうです。56.3kg(07:00)

10-Apr-2024補足:デフォルトではsdccのビルドが行われないため、export BUILD_SDCC=1; export BUILD_SDCC_HTTP=1; CC=cc CXX=c++ CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./build.shとするのが良さそうです。