6809用のGAME インタプリタとコンパイラを作成した方の記事を見つけた。 https://flexonsbd.blogspot.com/2024/03/6800game6809.html 有り難いことにソースを公開して頂いているので、早速入手してSBC6809上で動くように修正を試みる。今現在の自分のところのSBC6809にはBASICとモニタが載っており これらがダイレクトページの0番の取り合いをした結果、BASICが0ページを取り、余裕を見てモニタが3,4ページを使い。GAME09には6,7ページ辺りを割り当てることになる。 コレに伴い、0ページへのダイレクトインデックスでの読み書きをしている命令への修正が必要になる。 GAME09の元になるのは6800系用のGAME3がベースだったらしく。 6800にはDPレジスタはなく、ダイレクトインデクスで扱うのは0000番地からの256バイト分が前提になる。 インタプリタの修正で見つけた変更点は その1 スタックの扱いについて 6800版 0049 0115 8E 00FF MAIN LDS #STACK1 0196 0204 BE 0116 EDEND LDS MAIN+1 0645 04BF BE 0116 ELSE LDS MAIN+1 6809版 0047 011B 10CE 00FF MAIN LDS ...
以前、GAME言語のあれこれについての中で、GAME80ICなどでZ80-MBC2とのscreenコマンドでのシリアル接続中にソーステキストのコピーペースト転送ができない事に触れていたが、単に使ってる環境に依存した所謂「おまかん」なのだが、回避したければ、素直にwindowsで使うか 若しくは linuxでもwine上でteratermを使えば済む話ではある。だが、我が家に於いては普段使いにできるwindows機など無い。棚の奥を探せばwin7の入った古PCが有るとは思うがボードマイコンとの接続の為だけに引っ張り出してきたいとまでは思わない。そこで ふと考えるにteratermにあってscreenやcu,minicomにないものはと、teratermには、テキスト転送中に行単位、文字単位でミリセカンドのディレイを挟む設定がある。対してlinux系のシリアル接続コマンドにそういった類のモノを知らない(単に自分が知らないだけの可能性もある) 。そこで、duckduckgo検索のサービスである「Duck.AI」に聞いてみた。自分の思いついた革新的なアイデアは大概は先人が既に思いついてる当たり前過ぎるモノというのはいつもの事であっさりと解決策を教えてくれた。