全18件 (18件中 1-18件目)
1

「30 Programs for the ZX81」から、最後の第30弾「Mine Field」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Mine Field」このゲームの目的は、爆破されずに地雷原を通過することです。フィールドにはランダムに地雷が 10 個設置されており、地雷を踏まずに左上隅から右下まで進む必要があります。幸いなことに、あなたは地雷探知機を持っており、5 移動以内に地雷の検出を開始します。画面の左上隅に表示される数字は、地雷の近さを示し、数字が大きいほど近くにあります。カーソル移動キー 5 ~ 8 を押すと、4 方向のいずれかに移動できます。 ゲームをより難しくするには、ホームに向かう前に右上隅と左下隅でコールインする必要があるという制約を追加できます。テクニカルノートA(N) と B(N) は、それぞれ鉱山の水平座標と垂直座標を格納する配列です。ループ 30 ~ 60 の地雷 X と Y は勇敢な兵士の座標です。ループ110から140は、各位置に対する地雷探知機の読み取り値Mを評価する。170 行目と 180 行目はキーボードをスキャンします。ゲームの終了時に改行を押すと、再び開始できます。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー見えない地雷を避けながら、左上から右下に移動する必要があります。5キーで左、8キーで右、7キーで上、6キーで下に移動します。自分の周り5x5に地雷がある場合は、0以外の表示となります。地雷に触れるとゲームオーバー無事右下につくと。。。です。タカラトミー プラレール GOGOトーマス ぐるっと宙返り!わくわくプレイランド プラレ-ルト-マスワクワクプレイランド [プラレ-ルト-マスワクワクプレイランド]価格:4,170円(税込、送料別) (2024/2/29時点)楽天で購入
2024.02.29
コメント(0)

「30 Programs for the ZX81」から第29弾「Orbital Invaders」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Orbital Invaders」このプログラムの大部分はマシンコードで書かれており、それを入力するのは非常に面倒な作業です。16 進数で 350 バイトを超えるため、少なくとも 1 時間は邪魔されない場所に閉じこもっておくことをお勧めします。プログラムに参加するには 4 つのステップがあり、次のように要約できます:- 1. 10行目から16行目までにREM文を設定します。 2. コード挿入プログラムの 100 ~ 150 行目を入力します。 そして指定されたチェックを実行します。 3. 以下に示す 16 進コードの 4 つのブロックを入力して、100 行目に異なる値を 指定してプログラムを4回実行します。プログラムを実行すると、文字列の入力を 求められます。16進数の最初のバイト (0 ~ F の範囲の 2 文字) に続いて改行を 入力すると、このバイトがメモリに読み込まれ、画面にも表示されます。さらに バイトを入力すると、表示が上にスクロールします。 4. 100 ~ 150 行目を削除し、18 ~ 60 行目を入力します。プログラムを実行すると、侵入者が (従来の方法で) 画面上で左右に動き、移動に合わせて常に発砲しているのがわかります。 ディフェンダーであるあなたは、画面の右端で手の届かないところにいます。「8」を押すと左に移動し、「9」を押すと右に移動し、「0」を押すと発射できます。移動と射撃を同時に行うことはできません。侵入者の 1 人の真下に入ると撃墜され、ゲームが自動的に再開されます。 しばらくしてゲームが簡単すぎると感じたら、コマンドPOKE 16790、255を実行してください。侵略者は無敵になり、もはやそれらを撃墜することができないので、画面の左端に到達する事を目標としましょう。 フォースがあなたと共にありますように! !まず、以下のプログラムをコンピュータに入力します。ここで、正しい番号を入力したことを確認してください。W、X、Y、Z 文字を次の方法で変換します。 コマンド PRINT CHR$ PEEK 16690 gives "W" 16697 "X" 16792 "X" 16799 "Y" 16869 "Y" 16876 "Z"これらのチェックのいずれかで間違った文字が得られた場合は、REM ステートメントをチェックしてください。次に、以下の行を追加します。これを実行し、次のバイトを 16 進数で入力します。 FF FF FF FF FF FF FF FF FF FF FF FF 01 00 06 0C 21 82 40 36 FF 23 10 FB C9 C5 06 FF 10 FE C1 C9 3E 15 E1 BE 20 06 36 16 19 19 18 F7 3E BB 01 3C 00 BE 20 01 0E 00 C9 16 01 21 82 40 ED 5B 8F 40 16 00 19 13 7B 32 8F 40 3E 00 BE C8 2A 0C 40 01 05 00 3E 04 1D 28 0C 09 3D 20 F9 D5 11 2E 00 19 D1 18 EF ED 5B 8E 40 16 00 19 E5 3A 8F 40 D6 0D FA 1A 41 3E 00 32 8F 40 21 8E 40 46 3A BA 40 80 32 8E 40 06 01 21 BA 40 B8 20 02 36 01 06 0D B8 20 02 36 FF E1 C3 BB 40 ED 5B BA 40 16 00 1C 1B E1 19 36 16 23 36 07 23 36 8A 22 36 40 23 C3 EC 41行 100 を 100 FOR N= 16697 TO 16792 に変更し、次のコードを入力して再度実行します。 2A 0E 40 11 DF FF 19 36 17 06 03 19 36 17 3E 16 19 BE 36 17 20 04 10 F3 18 0E 2B 2B 0E 04 36 16 23 0D 20 FA 36 16 2B 2B CD 9B 40 3E BB 11 21 00 36 16 19 BE 20 FA 04 05 28 57 05 CB 20 CB 20 ED 5B 8E 40 16 00 ED 52 3E 76 0E 05 BE 28 07 2B 0D 20 F9 04 18 F4 21 82 40 58 16 00 19 36 00 18 31行 100 を 100 に変更します。 FOR N = 16799 TO 16869 に次のコードを入力してプログラムをもう一度実行します。 01 FE EF ED 78 CB 3F 00 D2 39 41 00 2A 0E 40 36 16 CB 3F 30 0A CB 3F 38 0D 2B 3E 76 BE 20 07 23 3E 76 BE 20 01 2B 36 BB 22 0E 40 CD BB 40 11 21 00 2A 36 40 19 E5 3E 16 BE 20 06 36 15 19 19 18 F7 CD 9B 40 C3 A2 40次に、行 100 を 100 FOR N= 16876 TO 16881 に変更し、さらに 6 つのコードを入力してプログラムを最後に実行します。36 84 23 36 16 C9 ここで、100 行目から 150 行目までを削除し、次の新しい行を入力します。この時点で、プログラムのコピーをいくつか保存しておくと、すぐに実行できるようになります。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー機械語を使ったインベーダーゲームです。最初に、機械語を16進数で4回に分けて入力します。頑張りましょう。入力後、保存しておく事を忘れずに!入力に問題がないと、起動画面はこのようになります。右下の反転Vを、左:8キー、右:9キー、弾:0キーで操作します。インベーダーは左右に移動するだけなので、あとは敵弾に当たらないようにするだけです。1Kプログラムでここまでできる、超力作です!スコアも自機の数も表示されませんが、機械語ならではの高速表示を味わえる作品となっています。Dell デスクトップPC 3020 SFF Core i5 メモリ8GB 新品SSD 256GB Office付き USB3.0 DVD-ROM DisplayPort Windows10 Win10 中古 デスクトップパソコン 中古パソコン価格:14,800円~(税込、送料別) (2024/2/27時点)
2024.02.27
コメント(0)

「Appendix C - The ZX81 for those that understand BASIC」のベーシックについての続きです。これが最後の記事となります。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー以下は二項演算です。 + 追加 (数値の場合)、または連結 (文字列の場合)。 - 引き算 * 掛け算 / 分割 ** べき乗。 左オペランドが負の場合はエラー B。 = 等しい* > より大きい* < 未満* <= 以下* >= 以上* <> に等しくない* * 両方のオペランドは同じ型である必要があります。 結果は数値で、比較が成立する場合は 1、成立しない場合は 0 になります。機能と操作には次の優先順位があります。 操作 優先順位 添字とスライス 12 NOT と単項マイナスを除く全ての関数 11 ** 10 単項マイナス 9 *、/ 8 + 、 - (バイナリ -) 6 = 、 > 、 < 、 <= 、 >=、 <> 5 NOT 4 AND 3 OR 2 ステートメント 以下のリストで使用されます。 α 単一の文字を表します v 変数を表します x、y、z 数値表現を表します m,n 最も近い整数に四捨五入された数値表現を表します e 式を表します f 文字列値の式を表します s ステートメントを表します 任意の式がどこでも許可されることに注意してください (先頭の行番号を除く)INPUT を除くすべてのステートメントは、コマンドまたはプログラム内で使用できます。【楽天1位】 掃除機 コードレス ハンディクリーナー 車載掃除機 車用掃除機 家 車 乾湿両用 usb カークリーナー 強力吸引 ハイパワー パワフル 車載用品 超軽量 小型 コンパクト 充電式 LEDライト 6000PA 吸引力120W 家庭用 HEPAフィルター 小型掃除機 室内 急速充電 吸引力価格:2,480円~(税込、送料無料) (2024/2/26時点)
2024.02.26
コメント(0)

「Appendix C - The ZX81 for those that understand BASIC」の続きでベーシックについてーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーベーシック数値は 9 桁または 10 桁の精度で保存されます。取得できる最大の数値は約 1038 で、最小の (正の) 数値は約 4 * 10-39 です。 数値は、1 つの指数バイト e (1≦e≦255) と 4 つの仮数バイト m (1/2≦m≦1) を含む浮動小数点バイナリで ZX81 に格納されます。これは数値 m * 2e-128 を表します。 1/2≦m≦1 なので、仮数 m の最上位ビットは常に 1 です。したがって、実際には、これをビットに置き換えて、正の数の場合は 0、負の数の場合は 1 という符号を示すことができます。 ゼロには、5 バイトすべてが 0 である特別な表現があります。 数値変数には、文字で始まり文字と数字が続く任意の長さの名前があります。これらはすべて重要であるため、たとえば LONGNAME と LONGNAMETOO は別個の名前になります。 スペースは無視されます。 FOR-NEXT ループの制御変数には 1 文字の長さの名前が付いています。 数値配列には 1 文字の長さの名前があり、単純な変数の名前と同じ場合があります。任意のサイズの任意の数の次元を持つことができます。 添字は 1 から始まります。 文字列長さは完全に柔軟です。文字列の名前は、1 つの文字とその後に続く $ で構成されます。 文字列配列は、任意のサイズの任意の数の次元を持つことができます。名前は 1 文字の後に $ が続き、文字列の名前と同じでない場合があります。特定の配列内のすべての文字列は同じ固定長を持ち、DIM ステートメントの追加の最終次元として指定されます。添え字は 1 から始まります。 スライス: 文字列の部分文字列は、スライサーを使用して指定できます。 スライサーは、 (i) 空 または (ii) 数式 または (iii) オプションの数値式 TO オプションの数値式そして部分文字列を表現する際こちらで使用されます。 (a) 文字列式(スライサ) または (b) 文字列配列変数(添字、...、添字、スライサー) これは、文字列配列変数 (添字,...,添字)(スライサー) と同じ意味です。 上記の(a) では、文字列式の値が s$ であると仮定します。 もしスライサーが空の場合、結果は s$ 自体の部分文字列とみなされます。 もしスライサーが値 m の数値式である場合、結果は s$ の m 番目の文字 (長さ 1 の部分文字列) になります。 もしスライサーの形式が (iii) の場合、最初の数値式の値が m (デフォルト値は 1)、2 番目の数値式が n (デフォルト値は s$ の長さ) であると仮定します。 もしs$ の長さが 1≦m≦n の場合、結果は m 番目の文字で始まり n 番目の文字で終わる s$ の部分文字列になります。 もし0≦n≦m の場合、結果は空の文字列になります。それ以外の場合、エラー 3 が発生します。 括弧で別途指示されていない限り、スライスは関数または演算が評価される前に実行されます。 部分文字列を割り当てることができます (LET を参照)。 関数の引数が定数または (添え字またはスライスされた) 変数の場合、括弧は必要ありません。リモコン 各種 対応 リモコンラック 壁掛け 穴開け不要 粘着 / ネジ 2way 取り付け 可能 リモコンホルダー 収納 ラック ケーブル 充電 可能 小物 整理 収納 リモコンスタンド ケース 紛失防止 シンプル ウォールラック [ リモコン 各種 対応 ] elago REMOTE HOLDER MOUNT価格:3,980円(税込、送料別) (2024/2/22時点)
2024.02.22
コメント(0)

今回は、私が設定している項目についてご紹介します。まとめると、以下の3点です。・ZOOM 200・HardWare ZX81 16K・keyboard Map チェックそれぞれ、設定方法をご説明します。【ZOOM】「View」メニューの「Zoom」にて200を設定するとこんな感じとなります。100は小さすぎて、400だと大きすぎるので、200かなーと。ご使用の環境によって感じ方は異なるかと思いますので色々とお試しする事をお勧めします。【Hardware】「Options」メニューの「Hardware」を選択します。このブルグではZX81の1Kか16Kを使用するので、こちらで設定する事ができます。【Keyboard】「Help」メニューの「Keyboard」をチェックするとこの画面が常に表示されます。ZX81はキー入力が独自なため、こちらを見ながら入力する事になります。【送料無料】バッファローUSB3.1(Gen1)/USB3.0/USB2.0接続外付けHDDPC用&TV録画用静音&防振&放熱設計日本製見守り合図4TBブラック HD-NRLD4.0U3-BA価格:8,980円(税込、送料無料) (2024/2/21時点)
2024.02.21
コメント(0)

「30 Programs for the ZX81」から第28弾「Connection」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Connection」これは、画面上で単語を追いかけて、単語をつなげていくゲームです。まず 2 つの単語を考えなければなりません。これらを組み合わせるとまったく新しい単語になります (これは厳密には必要ではありませんが、ゲームがより楽しくなります)。例: KNOW/LEDGE SAIL/OR PHOTO/GRAPH DON/ALDDUCK。プログラムを実行するときに、最初の単語 (その後に改行) を入力し、次に 2 番目の単語を入力します。画面上の異なる場所に 2 つの単語が表示されることがわかります。ここでの任務は、最初の単語を 2 番目の単語と結合するまで移動することです。これを行うには、次の移動文字で構成される文字列を入力する必要があります。R = 右、L = 左。 U = 上。 D = ダウン。したがって、たとえば、下に 3 、右に 5つ移動したい場合は、「DDDRRRRR」と入力できます。単語を画面外に移動しようとすると、プログラムがクラッシュします。 最初の試行で 2 つの単語を組み合わせることができなかった場合、2 番目の単語は別の位置に移動するので、新しい移動命令の文字列を入力する必要があります。成功すると、スコア、必要な試行回数が表示されます。最小限の試行でConnectionを確立するようにしてください。テクニカルノート X、Yは最初の単語の座標です。 X1,Y1 は新しい座標です。 J、K は 2 番目の単語の座標です。 A$ = 最初の単語 D$ = 2 番目の単語 B$ = 移動文字の文字列 140, 150 行目 古い座標から X1 と Y1 を生成 FOR - NEXT ループの 160 ~ 220 行目は、順方向に実行することも、単語を右に移動する場合はループを逆方向に実行して、最初に最後の文字に移動することもできます。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー2つの単語をつなげるゲームです。1つ目の単語を「POW」、2つ目を「ER」としてみました。1つ目は左上(座標0、0)ですが、2つ目は乱数によるランダムな位置となります。次に、1つ目の単語を移動するための文字を入力するのですが遠すぎて失敗しそうな場合は、ここで空白文字を入力します。すると、1つ目の単語の位置はそのままで、2つ目のみが再度ランダムな位置となります。なかなか近い位置で表示されたので、ここで移動する文字を入力します。下に3つ、右に3つと予測して、「DDDRRR」と入力しました。「POW」の文字が指定通りに移動していき、無事「ER」と接続したようです。成績は11(回)となりましたが。。。カップウォーマー カップとスプーンセット 保温コースター USBアクセサリ USB給電式 卓上 マグカップ コップ ホットコースター ヒーター 温かい 飲み物 冷めにくい グリーン ピンク ホワイト レッド価格:4,350円(税込、送料別) (2024/2/20時点)
2024.02.20
コメント(0)

「30 Programs for the ZX81」から第27弾「Minicalc」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Minicalc」Minicalc は、有名な Visicalc プログラムの非常に小さいバージョンです。規模が小さいため、おそらくビジネス予測よりも工学や科学計算での使用が多くなるでしょう。プログラムの背後にある原理は単純です。A ~ J の 10 個の変数を計算するための 10 個の式があります。各式は、定数、またはそれ自体または他の変数の関数である場合があります。以下のいずれかが許容されます。 1.234; A + B ** SIIM(G); H + 1;プログラムを実行すると、「1-2-3 A-J」というメッセージが表示されます。オプションは次のとおりです。 1: 計算式を入力します。 2: 数値と計算式を表示する 3: 新しい値を計算します。したがって、たとえば、変数 C の方程式を入力したい場合は、「1C」を選択してから方程式を入力します。この後、C の現在値とその式を表示したい場合があるため、「1-2-3 A-J」に対して「2C」を選択します。方程式の長さは 10 文字のみですが、ZX81 キーワード システムでは、関数モードで 1 回のキーストロークとして入力される SUM、COS などの関数は 1 文字としてのみカウントされます。「3」を選択すると、コンピューターは式 A から始まる変数の新しい値をすべて計算します。したがって、たとえば、方程式 B が変数 C を参照している場合、C の古い値が採用されます。 このプログラムは方程式と値を保存するために RAM を使用するため、表示される情報は最小限であり、有効な入力のチェックは行われないため、プログラムを数回実行して慣れてください。テクニカルノートA (10) には値が格納されます。 A は A (1)を意味します B は A (2)を意味します C は A (3)を意味します、などA$ (10,10) には方程式が格納されます。プログラムの中心は 110 行目から 190 行目で、各方程式の新しい値が計算されます。各方程式について、文字列 B$ は A$ 内の適切な方程式から構築されますが、B、C などの変数への参照は A(2)、A(3) などに変換されます (160 行目)。B$ が完了すると、VAL 関数が適用され (180 行目)、変数の新しい値が見つかります。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー1Kプログラムで、なんとミニ表計算を実現しています。起動すると、こんな画面となります。BMI計算を試してみます。Aに体重、Bに身長、CにBMI計算とします。体重80Kg、身長180cmとする場合、下記の順番となります。1A … Aの入力を指定80 … Aに80を格納1B … Bの入力を指定180 … Bに180を格納1C … Cの入力を指定A/(B*B) … CにBMI計算式を格納3 … 計算2C … Cの結果を表示計算結果が .0024691358 となります。個人的には3を入力して計算を指定する手間が面倒だと感じましたがZX81は計算が非常に遅いので、こういう方法を取ったんでしょう。きっと。【デザイン文具】【メール便対象】ライトマン かわいいブックライト 5色価格:1,760円(税込、送料別) (2024/2/19時点)
2024.02.19
コメント(0)

「30 Programs for the ZX81」から第26弾「Solitaire」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Solitaire」これは 1 人用のゲームです (サプライズ、サプライズ!)。目的は、中央に 1 つのペグを残してボードから各ペグを削除することです (ここでは「0」文字として表されています)。ペグは斜め以外のどの方向にも動かすことができます。各移動で、ペグは隣接するペグを飛び越えてその先の空いた穴に入る必要があり、越えたペグはボードから取り除かれます。中央にペグが 1 本だけ残って解決に達するか、行き詰まりの状況に達するまで、プレイは続きます。 カーソルキー(5~8)を使って、移動したい曲に点滅カーソルを移動します。「0」を押すと、カーソル「X」の点滅が止まります。 次に、別のカーソルキーを押して、移動したい方向を示します。これが正当な場合はジャンプが行われ、そうでない場合はカーソルが点滅を再開します。 このプログラムを、このパズルの解決策を見せられたとき、もっと少ない手で解けると答えた女性に捧げます。テクニカルノート 10 ~ 50行目 ボードを描画 70 ~ 80行目 ボード上のカーソル位置の文字をB$に格納 メインループ 70 ~ 130行目 により、ボード上でカーソルを移動できます。 160 ~ 220 行目 提案された移動の正当性 (200 行目) を検出し、 移動を実行(210 行目) 30行目と210行目のグラフィック文字は、グラフィックのShift+Hを使用します。※本プログラムは16K拡張RAM用です。本体のみの1Kバイトで動作させるためには、70行目の33を9に、200行目の33を9、66を18に変更する必要があります。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー同タイトルの有名ゲームとは違います。ソリティアとは一人で遊ぶゲームを指すため、このタイトルがつけられているようです。RUNすると、下記の画面となります。すべてのOを網掛け文字に変更するのが目的で、カーソルのX文字を、5、6,7、8キーで移動します。(8キー:右、5キー:左、6キー:下、7キー:上)移動した位置がOで、次に移動する位置がO、そのさらに先が網掛け文字の位置を指します。ここで0キーを押して固定し、6キーで下移動を行うとこのようになります。この作業を繰り返して、全てのOを消すのが目的となります。MoKoホルダーケース Apple Pencil第2世代対応 格納式PCペンカバー 丈夫なクリップ付き iPad Air 第4世代、iPad Pro 11/Pro 12.9 2021/2020、iPad Mini 6 2021用 タロパープル価格:3,948円(税込、送料別) (2024/2/15時点)
2024.02.15
コメント(0)
![]()
「Appendix C - The ZX81 for those that understand BASIC」 BASIC を理解している人向けの ZX81について。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー付録 C - BASIC を理解している人向けの ZX81一般的なすでに BASIC を知っている場合は、ZX81 を使用するのにそれほど問題はありません。 しかし、それには1つまたは2つの特異性があります。 (i) 単語は完全につづる必要はなく、独自のキーがあります。これについては、第 2 章 (キーワードとシフト キーについて) と第 5 章 (関数名について) で説明します。本文中ではこれらの単語は太字で表記されています。 (ii) ZX81 BASIC には、READ、DATA および RESTORE (ただし、これについては第 22 章の演習 3 を参照)、ユーザー定義関数 (FN および DEF、ただし VAL は使用できる場合もあります)、および複数ステートメント行がありません。 (iii) 文字列処理機能については一般的ではありません。第 21 章と第 22 章 (文字列配列について) を参照してください。 (iv) ZX81 の文字セットは完全に独自のものです。 (v) テレビ ディスプレイは通常、メモリ マップされません。 (vi) 別のマシンで PEEK と POKE を使用することに慣れている場合は、ZX81 ではすべてのアドレスが異なることに注意してください。スピード マシンは、計算および表示モードと高速モードと呼ばれる 2 つの速度で動作します。 計算と表示では、テレビ映像が継続的に生成され、上部と下部の空白部分の間に計算が行われます。 高速モードでは、テレビ画像は計算中はオフになり、プログラムの終了時、入力データの待機中、または一時停止中にのみ表示されます (一時停止を参照)。 高速モードは約 4 倍の速度で実行されるため、出力ではなく大量の計算を行うプログラム、または長いプログラムを入力する場合に使用する必要があります。 速度の切り替えは、FAST および SLOW ステートメント (その項を参照) で行われます。キーボード ZX81 文字は、単一の記号 (文字、数字など) だけでなく、複合トークン (キーワード、関数名など。ここでは太字で印刷されています)も含まれており、これらはすべて完全に綴る必要はなく、キーボードから入力されます。これに合わせるために、一部のキーには最大 5 つの異なる意味があり、一部はキーをシフトする (つまり、必要なキーと同時に SHIFT キーを押す) ことによって、また一部はマシンを異なるモードにすることによって与えられます。 モードは、キーボードの次の文字が挿入される場所を示す反転文字カーソルによって示されます。 K モード (キーワード用) は、マシンが (INPUT データではなく) コマンドまたはプログラム行を予期しているときに自動的に発生し、行上の位置から行番号またはキーワードを予期する必要があることが認識されます。これは、行の先頭、行の先頭のいくつかの数字の直後、または THEN の直後にあります。シフトされていない場合、次のキーはキーワード (これらは主にキーの上に書かれています) または数字として解釈されます。 L モード (文字の場合) は通常、それ以外の場合には常に発生します。 シフトされていない場合、次のキーはそのキーのメイン記号として解釈されます。 どちらの K & L モードでも、シフトされたキーはキーの右上隅にある補助的な赤い文字として解釈されます。 F モード (関数用) は、FUNCTION (改行を移動) が押された後に発生し、キーを 1 回押した間だけ持続します。そのキーは関数名として解釈され、キーの下に表示されます。 G グラフィックス モードは、GRAPHICS (シフト 9) が押された後に発生し、再度押されるまで持続します。シフトされていないキーは、そのモードの反転を提供します。 シフトされたキーも、それが記号であれば同様に機能しますが、シフトされたキーが通常トークンを与える場合、グラフィックス モードでは、キーの右下隅に表示されるグラフィックス シンボルが与えられます。スクリーン これは 24 行あり、各行の長さは 32 文字で、2 つの部分に分かれています。 上部は最大 22 行で、リストまたはプログラム出力が表示されます。下部の少なくとも 2 行は、コマンド、プログラム行、および INPUT データの入力、およびレポートの表示に使用されます。 キーボード入力: 入力すると画面の下半分に表示され、各文字 (単一の記号または複合トークン) がカーソルの直前に挿入されます。カーソルは ←(シフト 5) で左に移動し、→(シフト 8) で右に移動できます。カーソル前の文字はRUBOUT(シフト 0)で削除できます。(注: - EDIT (シフト 1) を入力してから NEWLINE を入力すると、行全体を削除できます。または、INPUT データの場合は、単に EDIT を入力するだけでも削除できます。) NEWLINE を押すと、構文エラーが含まれていない限り、その行が実行され、プログラムに入力されるか、または INPUT データとして適切に使用されます。この場合、 S シンボルはエラーの直前に表示されます。 プログラム行を入力すると、画面の上半分にリストが表示されます。リストの作成方法はかなり複雑であり、第 9 章の演習 6 で詳しく説明されています。入力する最後の行は現在の行と呼ばれ、 > 記号 で示されますが、これはキー ↓(シフト 6) および ↑(シフト 7) を使用して変更できます。 EDIT(シフト1)を押すと、現在行が画面下に移動して編集可能になります。 コマンドが実行されるかプログラムが実行されると、まず画面がクリアされ、次に出力が画面の上半分に表示され、プログラム行が入力されるか、空行で NEWLINE が押されるか、↓または↑ が押されます。 下部には、m/n 形式のレポートが表示されます。m は何が起こったかを示すコード (付録 B を参照)、n は最後に実行された行の番号、またはコマンドの場合は 0 です。レポートは、キーが押されるまで (およびモードが表示されるまで) 残ります。 特定の状況では、SPACE キーが BREAK として機能し、レポート D でコンピュータを停止します。これは認識されています (i) プログラムの実行中のステートメントの終わり、 (ii) コンピュータがテープ上のプログラムを探している間、or(iii) コンピュータがプリンタを使用している間 (またはプリンタがないときに誤ってプリンタを使用しようとしたとき)。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー付録C、次の記事で最後となります。ZX81 BASICの総まとめとなっています。ガールズ パジャマ 2点セット キッズ パジャマ 裏起毛 長袖ルームウェア 子供パジャマ2点セット 女の子 男の子 秋冬 厚手 男女兼用 かわいい おしゃれ 暖かい モコモコパジャマ ベビー 暖かい 厚手価格:2,160円(税込、送料別) (2024/2/14時点)
2024.02.14
コメント(0)

「30 Programs for the ZX81」から第25弾「Bases(基数)」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「基数」このプログラムは、任意の基数の数値を受け入れ、それを 2 から 36 の範囲の他の任意の基数に変換します。制限 36 が使用されているのは、0 ~ 9 の後に A ~ Z が続く範囲に 36 個のシンボルがあるためです。これらの記号は、数字に通常の重みが付けられ、A = 10、B = 11 から Z = 35 までの順序で使用されます。 入力基準と結果基準が選択されている場合、記号の範囲が表示され、それらの記号を使用して数値を入力するよう求められます。プログラム (これを計算するのに約 1 分かかります) は、その変換を出力します。 精度と範囲は、コンピュータが浮動小数点数を格納する方法によってのみ制限されます。 これは、10 の 38 乗から小数点以下 9 桁までです。小数や負の数値は入力しないでください。テクニカルノート10 ~ 70 行目 数値を入力し、記号範囲を表示 FOR-NEXT ループ 90 ~ 110行目 は、D$ に入力された数値を基数 A に換算した 10 進数の D を評価します。 FOR-NEXT ループ 130 ~ 170行目 は、B$ を 10 進数 D の基数 B 表現として評価します。150 行目 先頭のゼロ削除140 行目 複雑な式は、精度を高めるため 場合によっては、D/B**0 が D よりわずかに小さいと評価されるため、INT (D/B**0) は数値 B$ の最後の桁にエラーを返します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー基数変換プログラムです。10進数65535を16進数に変換してみます。「10」、「16」、「65535」の順に入力すると。。。約1分後に「FFFF」と出力されます。基数変換にWindows付属の電卓を使いがちですが、改めて1Kプログラムで記述しているのを見ると、感心するばかりです。※なお、ZX81の文字コードは特殊で、0~9とA~Zは連続して配置されており、 このプログラムはその特性を利用しているので、他の機種に移植するには コード変換が必要となります。まあ、しないとは思いますが。。。マジンガーZ 40周年記念 水木一郎 ALL OF MAZINGER SONGS [ 水木一郎 ]価格:2,372円(税込、送料無料) (2024/2/13時点)
2024.02.13
コメント(0)
![]()
「Appendix B - Report codes」レポートコードについて。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー付録 B - レポートコードこの表には、各レポート コードと一般的な説明、およびそれが発生する可能性のある状況のリストが示されています。付録 C では、各ステートメントまたは関数の下に、エラー レポートの意味についてのより詳細な説明が記載されています。コード 意味 状況0 正常に完了、または既存の行番号よりも大きい どれでも 行番号にジャンプします。コード 0 のレポートは、 CONT で使用される行番号を変更しません。1 制御変数は存在しません(FOR 文で設定されて NEXT いません)が、同名の通常変数は存在します。2 未定義の変数が使用されています。 どれでも 単純な変数の場合、変数が LET ステートメントで 割り当てられる前に使用された場合に、この問題が 発生します。 添字付き変数の場合、DIM ステートメントでディメ ンション化される前に変数が使用された場合にこの 問題が発生します。 制御変数の場合、同じ名前の通常の単純な変数が存 在しない場合に、FOR ステートメントで制御変数 として設定される前にその変数が使用された場合に、 この問題が発生します。3 添え字が範囲外です。 添字付き変数 下付き文字が絶望的に範囲外(負の値または65535 より大きい場合)の) の場合、エラー B が発生します。4 メモリに十分な空き領域がありません。 メモリ不足 LET、INPUT、DIM、 により、レポートの行番号 (/ の後) が画面上で不完 PRINT、LIST、PLOT、 全になる場合があることに注意してください。 UNPLOT、FOR、GOSUB たとえば、4/20 が 4/2 として表示される場合が 場合によっては関数評価中 あります。 第 23 章を参照してください。GOSUB については、 第 14 章の演習 6 を参照してください。5 画面上にスペースがなくなりました。 PRINT、LIST CONT は画面をクリアしてスペースを空けます。6 算術オーバーフロー: 計算の結果、約 1038 を あらゆる算術 超える数値が得られました。7 RETURN ステートメントに対応する GOSUB が RETURN ありません。8 コマンドとして INPUT を試みました INPUT (許可されていません)。9 STOP ステートメントが実行されました。CONT は STOP STOP ステートメントの再実行を試みません。A 特定の関数に対する引数が無効です。 SQR、LN、ASN、ACSB 整数が範囲外です。 整数が必要な場合、浮動小数点 SQR、LN、ASN、ACS 引数は最も近い整数に丸められます。 RUN、RAND、POKE これが適切な範囲外の場合、エラーBが発生します。 DIM、GOTO、GOSUM 配列アクセスについては、レポート 3 も参照して LIST、LLIST、PAUSE ください。 PLOT、UNPLOT CHR$、PEEK、USRC VAL の (文字列) 引数のテキストが有効な数値式を VAL 構成していません。D (i) BREAK によってプログラムが中断されました。 ステートメントの最後 (ii) INPUT 行は STOP で始まります。 または、LOAD、SAVE LPRINT、LLIST or COPYE 未使用F 指定されたプログラム名は空の文字列です。 SAVEリストレスト かわいい 好評 猫 ねこ ネコ スマホスタンド リラックス 柔らかい 癒し パソコングッズ マウスパッド ミニぷにねこ にぎにぎ ぷにぷに テレワーク デスクワーク プチ ギフト プレゼント価格:1,023円(税込、送料無料) (2024/2/11時点)
2024.02.11
コメント(0)

「30 Programs for the ZX81」から第24弾「Biorhythm」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Biorhythm」 バイオリズム理論によれば、私たちの知性、感情、活力はそれぞれ 33 日、28 日、23 日の周期で増減します。これらのサイクルは誕生時に始まり、私たちが死ぬまで続きます。したがって、いつでも各サイクルのどの日にいるのかを知ることは興味深いことです。選挙当日などに政治家などの有名人に対してこれを行うのも面白いですね。 プログラムは、生まれた日、月、年を表す 3 つの数字を入力するよう求めます (それぞれの後に改行を押します) (年には 47 だけでなく 1947 などを使用します)。次に、コンピューターは、その日が何曜日だったかを教えて、今日の日付 (または分析の日付) を尋ねることによって、自分がどれほど賢いのかを証明します。次に、コンピュータは各サイクルの日を、33 日間の知的サイクルの 17 日目を意味する INTELLECT 17 の形式で出力します。テクニカルノート このプログラムは 1 K にちょうど収まるので、独自の余計なものを追加しようとしないでください。動作しない場合は、空ではない gosub スタックが原因である可能性があります。これは、空であることを示すエラー 7/0 が表示されるまで、コマンドとして RETURN を実行することでクリアできます。 このプログラムの鍵となるのは、110 行のサブルーチンです。このサブルーチンは、日 (1 ~ 31)、月 (1 ~ 12)、年を受け取り、曜日を出力し、0000 年 1 月 1 日からの日数を N に返します。 これにより、当時グレゴリオ暦が使用されていたという誤った仮定が生じますが、誕生の N 値が今日の N 値から削除されると、この誤差は除去されます (行 60)。 詳細については、前のプログラム「カレンダー」を参照してください。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーバイオリズム表示プログラムです。誕生日と該当日を日→月→年の順に入力します。こんな感じで表示されます。うーむ、これは正しいのだろうか。バイオリズムに詳しくないので、ちょっと理解ができていません。【人肌恋しい人に】ひざまくら 膝枕 クッション ひざまくらクッション 膝枕クッション リアル 太もも おもしろ オモシロ 面白い 面白クッション 癒し系 ギフト スカート パンツ バラエティー どっきり 誕生日 ミニ 二三スカート 安眠 快眠 癒し プレゼント オフィス価格:1,000円(税込、送料無料) (2024/2/9時点)
2024.02.09
コメント(0)

「Appendix A - The character set」文字セットについて。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー付録 A - 文字セットこれは、10 進数と 16 進数のコードを含む完全な ZX80 文字セットです。コードが Z80 マシンコード命令であると想像すると、右側の列に対応するアセンブリ言語ニーモニックが表示されます。これらのことを理解していればおそらくお気づきかと思いますが、特定の Z80 命令は CBh または EDh で始まる複合体です。 右側の 2 つの列がこれらを示します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーZX81の文字セットについて記述しています。実際の文字コードはこうなっています。空いている箇所に予約語などを割り当てているようです。各章が終わり、付録となりました。もう少々でマニュアルは終了となります。原農園 干し芋 10袋セット ほしいも 干しイモ 150g 宮崎県産 国富金時 無添加 さつまいも 和スイーツ 和菓子 宮崎 国富 自然な甘さ しっとり ねっとり 真空パック 健康お菓子価格:7,400円(税込、送料別) (2024/2/8時点)
2024.02.08
コメント(0)

「30 Programs for the ZX81」から第23弾「Calendar」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Calender」紀元前 1 世紀半ば ジュリアス・シーザーは、アレクサンドリアの天文学者ソシゲネスを招き、太陰暦の改革についてアドバイスを求めました。ソシゲネスは古いシステムを放棄すべきであると提案し、1 年を 365% 日とする新しい「ユリウス暦」が開始されました。これは、4 年ごとに 2 月に 1 日追加し、それを閏年と呼ぶことで実現されました。しかし、16 世紀半ばまでに、365% 日のユリウス暦が実際の熱帯年よりも 11 分 14 秒長かったため、春分点は本来の位置から 10 日ずれていました。教皇グレゴリウス13世は1572年に選出され、誤りを正すためにイエズス会の天文学者クリストファー・クラヴィウスに助言を求めた。その結果、1572 年 10 月の 10 日が失われ (4 日の直後に 15 日が続いた)、100 年のうち 4 年のうち 3 日が閏年ではないという新しいシステム「グレゴリオ暦」が採用されました。 このプログラムは、グレゴリオ暦を使用して、1572 年 10 月以降の任意の月の日付を表示します。画面の指示に従って年と月を入力するだけで、コンピューターにカレンダーが表示されます。残念ながら (RAM 不足のせいにしておきますが) 毎月は 31 日として表示されるので、騙されないように注意してください。テクニカルノートD$ には曜日の最初の 3 文字が含まれます。M$ には 12 個の数値が含まれます。これは、各月が 28 日あると仮定することによって生じる、各月の累積誤差 (モジュロ 7) です。たとえば、1 月が 28 日あると仮定すると (実際には 31 日あります)、2 月になると 3 日ずれることになるため、2 番目のエントリは 3 になります。70 行目は、うるう年の日を追加します。150 行目で、 (M0< 3)* で始まる複雑な式は、年が閏年であるかどうか、および月が Jan. または Feb. であるかどうかを決定します。170 行目は曜日を出力します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーカレンダー表示プログラムです。表示する年と月を入力すると。。。2024年2月はこのように表示されました。なお、記事にもありますが1Kプログラムの関係上全ての月で31日まで表示されてしまいます。このプログラムも、1Kに納めるための工夫が多いです。170行目の配列参照部分でTOが使われていますが他のBASICにはないZX81BASICの特徴の1つです。例えばD$(1 TO 3)とすると、D$の1文字目から3文字目が取り出されます。CENTURY(センチュリー) SSDケース 裸族のM.2 NVMe SSD 引越キット [NVMe /1台 /M.2対応] CRAHKM2NVU32 [振込不可] [代引不可]価格:7,181円(税込、送料無料) (2024/2/7時点)
2024.02.07
コメント(0)
![]()
「Chapter 28 - The system variables」システム変数について。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー第 28 章 - システム変数メモリ内の 16384 ~ 16508 のバイトは、システムによる特定の用途のために確保されます。それらを参照すると、システムに関するさまざまな情報を知ることができ、そのうちのいくつかは便利に活用できます。それらはその用途とともにここにリストされています。 これらはシステム変数と呼ばれ、名前が付いていますが、BASIC で使用される変数と混同しないでください。コンピューターは名前がシステム変数を参照しているとは認識しません。名前は人間のためのニーモニックとしてのみ与えられます。 列 1 の略語は次の意味を持ちます。 X システムがクラッシュする可能性があるため、この値を書き換えないでください。 N 値を書き換えても持続性はありません。 S SAVE によって値が保存されます。 列 1 の数字は変数内のバイト数です。2 バイトの場合、上位と下位が逆となります。したがって、アドレス n の 2 バイト変数に値 v を書き込むには、次のコードを使用します。 POKE n,v-256*INT (v/256) POKE n+1、INT (v/256)その値を参照するには、次の式を使用します PEEK n + 256*PEEK (n+1)------------------------------------注意事項 アドレス名 内容1 16384 ERR_NR レポートコードより 1 小さい値。 255 (-1 の場合) から始まるため、PEEK 16384 が正常に動作 する場合、255 が返されます。POKE 16384,n を使用すると、 エラーを強制的に停止できます: 0 n 14 は、通常のレポートの 1 つ (15 n 34 または 15 n 34) を 返します。99 n 127 は非標準のレポートを生成し、35 n 98 は 表示ファイルを混乱させる可能性があります。X1 16385 FLAGS BASICシステムを制御するための各種フラグ。X2 16386 ERR_SP マシンスタック上の最初の項目アドレス (GOSUB リターン後)。2 16388 RAMTOP BASIC システム領域の上の最初のバイトのアドレス。 これを変更して、その領域の上に新しい予約スペースを作成したり (第 26 章を参照)、CLS をだまして最小限の表示ファイルをセット アップ (第 27 章) することができます。RAMTOP を書き換えても これら 2 つのいずれかが実行されるまでは効果がありません。N1 16390 MODE 指定された K、L、F、または G カーソル。N2 16391 PPC 現在実行中の行番号。 これを変更しても、プログラムの最後の行を 除いて持続性はありません。S1 16393 VERSN 0 保存されたプログラム内の ZX81 BASIC を識別します。S2 16394 E_PPC 現在の行の番号 (プログラム カーソルを含む)。SX2 16396 D_FILE 第 27 章を参照してください。S2 16398 DF_CC 表示ファイル内の PRINT 位置アドレス。 PRINT が他の場所に 出力されるように 書き換える事ができます。SX2 16400 VARS 第 27 章を参照してください。SN2 16402 DEST 代入中の変数のアドレス。SX2 16404 E_LINE 第 27 章を参照してください。SX2 16406 CH_ADD 解釈される次の文字のアドレス: PEEK の引数の後の文字、 または POKE ステートメントの最後の NEWLINE。S2 16408 X_PTR マーカーの前の文字のアドレス。SX2 16410 STKBOT 第 27 章を参照してください。SX2 16412 STKEND 第 27 章を参照してください。SN1 16414 BERG 電卓のbレジスタ。SN2 16415MEM 電卓のメモリとして使用される領域のアドレス。 (通常は MEMBOT ですが、常にそうとは限りません。)S1 16417 未使用SX1 16418 DF_SZ 画面下部の行数(1行の空白行を含む)。S2 16419 S_TOP 自動リストの先頭のプログラム行の番号。SN2 16421 LAST_K どのキーが押されたかを表示します。SN1 16423 キーボードのデバウンスステータス。SN1 16424 MARGIN 画像の上下の空白行の数: 英国では 55、米国では31SX2 16425 NXTLIN 次に実行されるプログラム行のアドレス。S2 16427 OLDPPC CONT ジャンプする行番号。SN1 16429 FLAGX さまざまなフラグ。SN2 16430 STRLEN 代入時の文字列型の宛先の長さ。SN2 16432 T_ADDR 構文テーブル内の次の項目のアドレス (殆ど役に立ちません)。S2 16434 SEED RND のシード。 これは、RAND によって設定されます。S2 16436 FRAMES テレビに表示されるフレームをカウントします。 ビット 15 は 1 です。ビット 0 ~ 14 は、テレビに設定される フレームごとにデクリメントされます。 これはタイミングに使用 できますが、PAUSE でも使用されます。PAUSE はビット 15 を 0 にリセットし、ビット 0 ~ 14 に一時停止の長さを入れます。 これらがゼロまでカウントダウンされると、一時停止解除します。 キーが押されたために一時停止が停止した場合、ビット 15 は 再び 1 に設定されます。S1 16438 COORDS プロットされた最後の点の x 座標。S1 16439 プロットされた最後の点の y 座標。S1 16440 PR_CC LPRINT (PRBUFF 内で) で印刷する次のアドレスの下位バイト。SX1 16441 S_POSN PRINT 位置の列番号。SX1 16442 PRINT 位置の行番号。S1 16443 CDFLAG さまざまなフラグ。 計算および表示モードの間、 ビット 7 はオン (1) になります。S33 16444 PRBUFF プリンターバッファー (33 番目の文字は NEWLINE)。SN30 16477 MEMBOT 電卓のメモリ領域。 電卓スタックに都合よく置くことが できない数値を保存するために使用されます。S2 16507 未使用演習1. このプログラムを試してください 10 FOR N=0 TO 21 20 PRINT PEEK(PEEK 16400+256*PEEK 16401+N) 30 NEXT N これにより、変数領域の最初の 22 バイトがわかります。 制御変数 N を第 27 章の説明と一致させてみてください。2. 上記のプログラムの 20 行目を次のように変更します。 20 PRINT PEEK(16509+N) これにより、プログラム領域の最初の 22 バイトがわかります。 これらをプログラム自体と一致させてください。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーZX81でシステム変数について記述しています。LAST_Kはキー入力の取得に、FRAMESはタイミングを取るのに使えそうです。びっくりなのは、SAVEで一部のシステム変数も保存されるとは。。。これも知りませんでした。SANDISK X400シリーズ 内蔵SSD M.2 SATA 6Gb/s 2280 PCパーツ パソコン用 ノートパソコン用 PC周辺機器 新品バルク品価格:2,880円(税込、送料無料) (2024/2/6時点)
2024.02.06
コメント(0)

「30 Programs for the ZX81」から第22弾「Duckshoot」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Duckshoot」このプログラムは、前のプログラム (Message) の REM ステートメントに格納されている機械語コードのサブルーチンを使用するため、まだ実行していない場合は、戻って機械語コードを入力してください。プログラムの残りの部分を作成する前にプログラムの最後で説明するように、8 バイトのデータを REM ステートメントに挿入する必要もあります。プログラムを実行すると、アヒルの連続した列が画面の上部を移動します。一般的な遊園地のアヒルとは異なり、これらはバイオニックであり(その大きさを見てください)、くちばしを叩くことによってのみ効果的にノックアウトできます。 ミサイルは画面の左下から始まり、「0」を押すタイミングを判断して、座っている目標に向かってミサイルを発射する必要があります。ミスした場合は自動的に次のチャンスが与えられ、ヒットした場合は画面がクリアされます。 プログラムを停止したい場合は、BREAK ではなく「Q」を押してください。BREAKした場合は、データを RAM に再挿入する必要があります。テクニカルノート 20行目から50行目で表示ファイルのサイズを固定します。 80 行目では、アヒルが画面上を移動するにつれて、前景の表示アドレスにさまざまな文字が挿入されます。アヒルは次のように構成されています:- POKE 16550, 0 〇〇〇〇〇〇〇〇 POKE 16551, 0 〇〇〇〇〇〇〇〇 POKE 16552, 98 〇●●〇〇〇/〇 POKE 16553, 252 =●●●●●〇〇 POKE 16554, 60 〇〇●●●●〇〇 POKE 16555, 24 〇〇〇●●〇〇〇 POKE 16556, 0 〇〇〇〇〇〇〇〇 POKE 16557, 0 〇〇〇〇〇〇〇〇次のデータもRAMに突っ込む必要があります。 POKE 16550, 0 POKE 16551, 0 POKE 16552, 98 POKE 16553, 252 POKE 16554, 60 POKE 16555, 24 POKE 16556, 0 POKE 16557, 0ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー以前ご紹介した 1Kプログラム「Message」の機械語を流用したプログラムです。16550~16557は拡大表示してスクロールするキャラクターコードで、今回アヒルのイメージを手入力する必要があります。RUNすると、このような画面が表示されます。上段を右から左方向へ、巨大なあひる(?)がスクロールしていくので、0キーを押すと左下にある0が上方向に上昇していくので、ちょうどくちばしに当たるタイミングを狙ってください。このプログラムには、非常に可能性を感じます。当時の私がこのプログラムのテクニックを知ることが出来たのなら、もしかすると1KでもマイコンBASICマガジンへの投稿ができたのかもしれません。融雪マット 駐車場/通路 1枚 マットタイプ 【 とマットけーる ※電源別売 】 101cmx60cm 300W/100V 連結対応 車両乗入可 積雪防止 凍結防止 転倒防止 車庫 玄関 屋外 家庭用 おすすめ ソーヒーター 融雪ヒーター ホットけーるシリーズ価格:19,777円(税込、送料別) (2024/2/5時点)
2024.02.05
コメント(0)

「Chapter 27 - Organization of memory」メモリの構成について。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー第 27 章 - メモリの構成メモリは、さまざまな種類の情報を保存するためにさまざまな領域に分類されます。 領域は、実際に含まれる情報を収容するのに十分な大きさのみであり、特定の点にさらに挿入する場合 (たとえば、プログラム行または変数を追加することによって)、その点より上のすべてを上にシフトすることによってスペースが作成されます。 逆に、情報を削除すると、その上にあるものはすべて下にシフトされます。 システム変数には、コンピューターがどのような状態にあるかをコンピューターに伝えるさまざまな情報が含まれています。これらについては次の章で詳しく説明しますが、現時点では、メモリ内のさまざまな領域間の境界のアドレスを含むもの (D_FILE、VARS、E_LINE などと呼ばれる) があることに注意してください。 これらは BASIC 変数ではないため、その名前はコンピュータによって認識されません。 プログラムの各行は次のように保存されます。 Z80 での 2 バイト数値の他のすべてのケースとは対照的に、ここでの行番号 (および FOR-NEXT 制御変数でも) は、最上位バイトが最初になるように、つまり次の順序で格納されることに注意してください。 それらを書き留めておいてください。 プログラム内の数値定数の後には、文字 CHR$ 126 の後に数値自体の 5 バイトが続くバイナリ形式が続きます。 表示ファイルはテレビ画像のメモリ コピーです。 これは NEWLINE 文字で始まり、その後 24 行のテキストがあり、それぞれが NEWLINE で終わります。このシステムは、テキスト行に 32 文字分のスペースを必要としないように設計されており、最後のスペースは省略できます。これは、メモリが少ない場合にスペースを節約するために使用されます。 メモリの総量 (システム変数 RAMTOP による) が 3 1/4 K 未満の場合、最初または CLS によって設定されたクリア画面は、わずか 25 個の NEWLINE で構成されます。メモリが大きい場合、クリアな画面は 24*32 のスペースで埋め込まれ、全体的にはフル サイズのままになります。 ただし、スクロールや、画面の下部が 2 行以上に拡大する特定の状況では、下部に短い行が挿入されてこの状況が崩れる可能性があります。 変数は、その性質に応じてさまざまな形式を持ちます。 名前が 1 文字のみの数値: 名前が 1 文字より長い数値: 数値の配列: 要素の順序は次のとおりです。 まず、最初の添え字が 1 である要素 次に、最初の添え字が 2 である要素 次に、最初の添え字が 3 の要素 最初の添え字のすべての可能な値について同様に続きます。 指定された最初の添字を持つ要素は、2 番目の添字を使用して同じ方法で順序付けされ、最後まで同様に続きます。 例として、第 22 章の 3 × 6 配列 B の要素は次の順序で格納されます。 B(1,1)、B(1,2)、B(1,3)、B(1,4)、B(1,5)、B(1,6)、B(2,1)、B (2,2)、...、B(2,6)、B(3,1)、B(3,2)、...、B(3,6)。 FOR-NEXT ループの制御変数: 文字列: 文字の配列 E_LINE の部分文字列には、入力されている行 (コマンド、プログラム行、または INPUT データとして) と一部の作業スペースが含まれています。 計算機は、算術演算を処理する BASIC システムの一部であり、計算に使用される数値の大部分は計算機スタックに保持されます。 予備には、これまでに使用されていないスペースが含まれます。 機械スタックは、リターン アドレスなどを保持するために Z80 チップによって使用されるスタックです。 GOSUB スタックについては第 14 章で説明しました。 USR ルーチン用のスペースは、前の章で説明したように NEW を使用して確保する必要があります。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーZX81でメモリの構成について記述しています。当時は難しくて理解ができませんでしたが、システム変数やプログラムの格納、変数の数値と文字列、配列の数値と文字列にいたるまで、細かく記述しているのは驚きです。ZX81を使っている当時は、MZ-80シリーズやPC-8001上でプログラミング(主に店先:PCを持っていない学生の多くは経験があるかと思いますが)を行っていましたが、この辺りまで踏み込んだマニュアルを私は見たことがありません。あと、変数の頭の3BITを識別用(数値、文字列、ループ、配列数値、配列文字列)として使っていたとは。。。この記事を書きながら、ただただ感心するばかりです。自衛隊 グッズ バッグ リュック 全3色 大きいサイズ 陸上自衛隊 海上自衛隊 航空自衛隊 陸自 海自 空自 バックパック 大きめ 大容量 BAG OD色 刺繍 旭日旗 日の丸 防衛省 アーミー ミリタリー 零 ZEROJT-BG-RU-002価格:4,620円(税込、送料別) (2024/2/2時点)
2024.02.02
コメント(0)

「30 Programs for the ZX81」から第21弾「Message」を紹介します。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー「Message」このプログラムと次のプログラムは、プログラムの残りの部分を記述する前に、最初に REM ステートメントに組み込む必要がある 1 対のマシンコード サブルーチンに依存しています。 まず、最初のプログラム1 (10 行目から 70 行目) を入力し、プログラムを実行して、リストされている 71 バイトのマシンコードを入力します。次に、20 行目から 70 行目までを削除し、REM ステートメントのみを含む REM プログラムの記録を作成します。これは次のプログラムで役立ちます。次に、プログラム2の 20 行目から 160 行目の入力を続けます。プログラムを実行すると、最大 70 文字のメッセージ (0 ~ 63 の範囲のコード) を入力するよう求められますが、反転ビデオ文字やキーワードは入力できません。改行を押すと、メッセージが非常に大きな文字で画面の上部を右から左に移動します。最後にメッセージが繰り返されるので、メッセージの最後にスペースを残すことを忘れないでください。文字の前景または背景の色合いを変更したい場合があります。16579 は前景アドレス、16536 は背景アドレスです。 たとえば、POKE 16536,136 では、灰色の背景が生成されます。テクニカルノートこの本の前半の文字プログラムと同様に、このプログラムは ROM に格納されている文字セットに依存しています。表示される文字ごとに、Basic プログラムは文字セットから 8 バイトを REM ステートメントの RAM 領域に挿入します (行 70 ~ 110)。残りの作業の大部分は、2 つのマシンコード サブルーチンによって実行されます。16558 のルーチンは、画面の右端に 8 つの文字位置の列を表示し、16514 のルーチンは、表示の一番上の行を 1 つ左の位置に移動します。20 行目から 40 行目は、表示ファイルをパディングするために使用されます。【プログラム1】次の 16 進数のバイトを挿入します。00 2A 0C 40 ED 5B 0C 40 3E 08 32 82 40 13 2323 01 1F 00 ED B0 3E 00 12 13 3A 82 40 3D 20EB 32 82 40 C9 80 80 80 80 80 80 80 80 80 11A6 40 2A 0C 40 06 08 0E 20 23 0D 20 FC 1A CB07 12 30 02 36 80 23 13 10 EE C9【プログラム2】※赤線部分がプログラム1で入力した機械語部分です。ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーいよいよ、機械語を使ったプログラムが登場です。プログラムは2部構成となっており、プログラム1で10行目のREMコメント欄に機械語を入力して、プログラム2で実際のプログラムを記述する形式となっています。プログラム1をRUNして16進数を入力し終えると、こんな感じになります。そのあと、プログラム2を入力して「LOVE 」と入力してみました。※最後はスペースで区切ります。すると、拡大した文字が右へスクロールしていきます。文字拡大とスクロール部分を機械語で行っているので、BASICで行うより何倍も速い事を実感できるのではないでしょうか。\楽天1位獲得 累販10,000個/ マウス ワイヤレス Bluetooth 無線 ワイヤレスマウス ブルートゥース 充電式 Mac 静音 PC パソコン 小型 薄型 usb 軽量 送料無料 売れ筋 おしゃれ ノートパソコン まうす 高感度 小さい Windows Microsoft Chromebook Macbook iPad Surface価格:1,180円(税込、送料無料) (2024/2/1時点)
2024.02.01
コメント(0)
全18件 (18件中 1-18件目)
1


![]()