mieki256's diary



2022/10/23() [n年前の日記]

#1 [z80] CP/Mエミュレータ上で画面クリアの方法が分からない

CP/Mエミュレータ + CP/M + Mbasic 5.21 (Microsoft BASIC, BASIC-80)で、画面クリアをする方法が分からなくて悩んでる。

Microsoft BASIC のマニュアル(Page 3-4)には、「CHR$(7) でベルが鳴り、CHR$(12) で画面クリアができる」と書いてあるのだけど。

_BASIC-80 (MBASIC) Reference Manual - BASIC-80_MBASIC_Reference_Manual_text.pdf

PRINT CHR$(12) を試しても、画面クリアができない…。ちなみに、PRINT CHR$(7) と打ったら、たしかにベル音が鳴った。

環境は、Windows10 x64 21H2。以下のCP/Mエミュレータで動作確認。
_YAZE-AG - Yet Another Z80 Emulator by AG (final release 2.51.3)
_ソフトウェアー基礎コース (Tiny BASIC Lesson 1:Z80 エミュレーター YAZE)
_Altair Introduction
_懐かしいCP/MをSIMHシミュレータで実行 | ある計算機屋さんの手帳
_CP/M Player for Win32 謎WIPページ
_CP/M program EXEcutor for Win32の詳細情報 : Vector ソフトを探す!

ConEmu、cmd.exe、Windowsターミナル 1.15.2874.0 を使って確認してみたけど、どの環境でも変化無し。画面クリアにはならない…。

以下のページによると、 CHR$(12)、0x0C、^L の制御文字は、FF(Form Feed) になっているらしい。

_制御文字 - Wikipedia
プリンタでは、次のページを給紙する。多くのプログラミング言語では空白として扱われ、コードの論理的区分の分け目として使用される。いくつかの端末エミュレータでは、画面をクリアする。

制御文字 - Wikipedia より


Linux上で動かしたら違う結果になるのではないかと思えてきたので、Ubuntu Linux 20.04 LTS 上で、YAZE-AG 2.51.3 をビルドしたり、altairz80l64 をDLして実行してみた。しかし、そちらも CHR$(12) で画面クリアはできなかった。それだけではなく、CHR$(7) でベル音も鳴らなかった。

どういう環境なら画面がクリアされるのか…。

以上です。

過去ログ表示

Prev - 2022/10 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project