「NewX1／turbo」 Version 1.18
Copyright (C) 2019-2025 by マハリト

○はじめに
　ダウンロードありがとうございます。
　「NewX1」は、かつて80年代に登場した８ビットパソコンの名機「パソコンテレビ X1シリーズ」に
　標準搭載されているBASIC（Hu-BASIC）をベースに作成しました。
　同時代に登場したアーケードゲームを忠実に再現するためのコマンドおよび関数が追加されています。
　「NewX1turbo」は、上記に加えて、テキスト画面の日本語表示と高解像度グラフィックが可能です。
　全角文字（漢字・非漢字）の文字コードは、文字領域をJIS規格の94＊94から126＊126に拡張した
　eXtend-JIS（XJIS）という規格を作成することにより、
　JIS規格の第1水準／第2水準／第3水準／第4水準／補助漢字，IBM拡張漢字の合計13142種類に加えて、
　非漢字の1245種類が表示可能です。
　当時X1／turboシリーズを使用していたユーザーの方は勿論、他機種を使っていた方、
　BASICに手軽に触れたい方、これからプログラミングを始めようという方などにお勧めです。

○NewX1／turboの特徴
　・テキスト／グラフィック／スプライト 独立３画面設計
　・1677万色フルカラーグラフィック対応
　・画面サイズおよび描画領域サイズを自由に設定可能
　・最大256個までのスプライトパターン表示が可能
　・ドット単位の全方向スムーズスクロールをサポート
　・wavファイルによるバックグラウンドでの同時演奏が最大10chまで可能
　・HTMLのオンラインマニュアルを用意（manualフォルダ内の「top.html」／HELPコマンドでも表示可能）
　・全角文字（漢字：13142字，非漢字：1245字）が表示可能（NewX1turboのみ）
　その他X1／turboシリーズとの相違点につきましては、
　オンラインマニュアルの「パソコンテレビX1／turboシリーズとの相違点」を参照して下さい。

○実行環境
　NewX1／turboを実行するのに必要なスペックは下記の通りです。
　Ｏ　Ｓ：Windowx XP／Vista／7／8／10／11 日本語版
　ＣＰＵ：Core 2 Duo以上推奨
　メモリ：1GB以上（2GB以上推奨）
　その他：Java Version 7／8が必要です。
　　　　　https://www.java.com/ja/download/ よりインストールして下さい。

○フォルダ・ファイル構成について
　NewX1／turboには、下記のフォルダがあります。これらのフォルダは、
　取り扱うファイルの拡張子ごとに格納するフォルダが決められています。
　これらのフォルダおよびその中に入っているファイル（font_x1.pngなど）は、
　NewX1／turboの実行に必要ですので、削除しないで下さい。
　imageフォルダ　：画像ファイル（.png／.gif／.jpg／.bmpなど）を格納します。
　manualフォルダ ：HTMLのオンラインマニュアル（.html）を格納します。
　musicフォルダ　：サウンドファイル（.wav）を格納します。
　programフォルダ：プログラム（.bas）やデータファイル（.dat）を格納します。
　NewX1turboには、「XJIS 文字コード一覧.csv」というファイルがルート上にありますが、
　このファイルも全角文字の表示に必要ですので、削除しないで下さい。

○デモプログラムについて
　NewX1には、テキスト／グラフィック／スプライトに関するデモプログラム「DEMO.bas」が
　NewX1turboには、全角文字一覧を表示するデモプログラム「XJIS_KANJI.bas」入っています。
　NewX1／turboを起動後、F1キーを押してFILESコマンドを実行すると、このファイルが一覧に
　表示されます。↑キーを2回押してその行にカーソルを合わせた後、
　F5キーを押してRUNコマンドを実行すると、デモプログラムを実行できます。

○タイトルバーの表示について
　NewX1／turboのタイトルバーには、下記の５つの情報が表示されています。
　クロック周波数（Z80-○MHz）
　　X1／turboシリーズに搭載されているCPU「Z80」をベースとした動作速度の調整ができます。
　　CtrlもしくはShiftキーを押しながら↑キーもしくは↓キーを押すことにより、
　　4／6／8／10／12／16／20MHzの中から調整することができます。
　テキスト画面の表示文字数（○＊○文字）
　　文字，メッセージ，プログラムリストなどを表示するためのテキスト画面の表示文字数です。
　　起動時はNewX1では40＊25文字，NewX1turboでは80＊25文字です。
　　WIDTHステートメントによって自由に設定することができます。
　グラフィック画面の表示ドット数（○＊○ドット）
　　グラフ，図形，画像などを表示するためのグラフィック画面の表示ドット数です。
　　起動時はNewX1では320＊200ドット，NewX1turboでは640＊400ドットです。
　　WIDTHステートメントによってテキスト画面に連動して設定され、
　　SCREENステートメントによって仮想画面の領域を設定することができます。
　表示倍率（○倍表示）
　　ウインドウの表示倍率の調整（拡大／縮小）ができます。
　　CtrlもしくはShiftキーを押しながら←キーもしくは→キーを押すことにより、
　　1.0／1.5／2.0／2.5／3.0倍の中から調整することができます。
　　ウインドウの高さがモニタの高さと一致する場合、タイトルバーの無い表示となり、
　　さらにウインドウの幅もモニタの幅と一致する場合、フルスクリーン表示となります。
　　モニタに表示しきれない表示倍率の場合、それ以上表示サイズを拡大することはできません。
　　表示サイズを拡大すると、動作速度が低下する場合がありますのでご注意下さい。
　状態ステータス（○○○モード）
　　「NewX1／turbo」の動作状態です。「NewX1／turbo」は以下のいずれかの状態になっています。
　　Basic    ：起動時の状態です。各種のBASICコマンドおよびプログラムの入力ができます。
　　Auto     ：AUTOコマンドを実行中の状態です。Ctrl＋Cキーを押すことによりBasicモードに戻ります。
　　Direct   ：ダイレクトコマンドを実行中の状態です。
　　Input    ：INPUTコマンドを実行中の状態です。
　　LineInput：LINE INPUTコマンドを実行中の状態です。
　　Program  ：プログラムを実行中の状態です。
　　Stop     ：Ctrl+Sキーによって、コマンドが一時停止中の状態です。

○その他の操作について
　F11キーにより、テキスト画面のみ表示／全表示を切り替えます。（Programモードは除く）。
　F12キーにより、スキャンライン（縞模様）の表示／非表示を切り替えます（NewX1のみ）。
　Homeキー，Endキーにより、カーソルがそれぞれ行頭，行末に移動します。
　Ctrlキーとの組み合わせによる操作につきましては、
　オンラインマニュアルの「コントロールコード」を参照して下さい。

○NewX1とNewX1turboの互換性について
　NewX1とNewX1turboでは、画面関連で下記の相違点がありますので、ご注意下さい。
　・NewX1では、全角文字および全角文字を扱うステートメント，関数は使用できません。
　　その他のステートメント，関数に関しては完全に互換性があります。
　・NewX1turboでは、テキスト／グラフィック／スプライト画面の縦の解像度が２倍になっています。
　　そのため、縦座標の指定を２倍にする必要があります。
　　また、DEFCHR$ステートメントやCGPAT$関数でのパターン文字式の長さも２倍になります。
　　日本語入力では、IMEのキー設定を「Microsoft IME」から「ATOK」に変更することを推奨します。

○参考資料
　NewX1／turboおよびオンラインマニュアルの製作にあたり、下記の資料を参考にさせて頂きました。
　・パソコンテレビX1 パーソナルコンピュータ CZ-800C BASIC MANUAL
　　（シャープ株式会社）
　・パソコンテレビX1turbo パーソナルコンピュータ CZ-856C BASIC REFERENCE MANUAL
　　（シャープ株式会社）
　また、ジョイスティックに関しては、Satoshi Konno氏製作のJoystick.javaおよび
　joystick.dllを使用させて頂いております。
　
○更新履歴
　2019/04/10　Version 1.00
　　初版
　2019/05/01　Version 1.01
　　APRINT命令の仕様変更（カーソルが下端まで達した場合、上端に移動）
　　PAUSE命令中に停止し、CONTを実行すると最初から実行するバグを修正
　　マニュアルの修正
　2020/03/24　Version 1.02
　　起動時にjoystick.dllが組み込まれていない場合のメッセージ表示を廃止
　　マニュアルのSTICK／STRIGに、joystick.dllに関する説明を追加
　2020/05/06　Version 1.03
　　テキスト（ソース／ドキュメント／BASICプログラム）の文字コードをUnicodeに統一
　　Unicode点字を、コントロールコードおよびグラフィック文字の内部文字列として使用
　　LIST命令でリスト内のコントロールコードを実行してしまうバグを修正
　　プログラム格納時に、注釈記号後の？もPRINTに変更してしまうバグを修正
　2020/05/25　Version 1.04
　　Unicode化によってFILES命令で曜日が表示されなくなったバグ対処
　　問い合わせ先メールアドレスを変更
　2020/06/15　Version 1.05
　　NewX1turboリリース
　　画面解像度によって起動時の表示倍率を変更するように設定
　　INSキーで文字列が行をまたいだ時に、アトリビュートが変化するバグを修正
　　KEY命令でファンクションキーを定義するときに、エラーが発生するバグを修正
　　Unicodeの点字を、コントロールコードおよび全角外字の内部文字列として使用
　　Unicodeのダイアクリティカルマーク付き文字を、グラフィック文字の内部文字列として使用
　　WIDTH命令，SCREEN命令で、パラメータ無しでも実行するように修正
　　PRINT命令で数値を出力したときに、隣に半角スペースが出力されないバグを修正
　　タイトルバーに、テキスト画面の表示文字数とグラフィック画面の表示ドット数を追加
　　BPRINTステートメントを廃止し、USING$関数を追加
　　ウインドウのダブルクリックによるタイトルバーの表示切り替えを廃止
　　ノーウェイトモードでコマンドを実行した場合、カーソル表示が残る場合がある不具合を修正
　2020/06/30　Version 1.06
　　DEFCHR$の16＊16ドットフォントでの文字式パターンの修正（8＊16ドットの左半分と右半分）
　　画面を左ダブルクリックしたときに、マウスをクリックした場所にカーソルを移動
　　VIEW／GSAVE／PSAVEステートメント，ASCCHR$／TRIM$関数を追加
　　テキストのLINE命令等で属性のみを変更する場合、全角文字が文字化けする不具合を修正
　　文字コード0xA0に内部文字列が割り当てられていなかった不具合を修正
　　PLOADステートメントで開始キャラクタコード指定による部分定義，カラー画像に対応
　　デモプログラム「DEMO.bas」にEMIT，PCHART，VIEWのデモを追加
　　htmlマニュアルのキャラクタコード表（ASCIIコード表）を更新（縦横反転）
　　文字列型の配列変数を定義する時に、ヌル文字で初期化しなかった不具合を修正
　　エラーメッセージは白色の通常文字で表示するように修正
　　VAL$関数で０を返す場合のバグを修正
　　カーソル箇所はX1実機と同じくPCGでなくノーマル文字を表示するように修正
　　関数と多重括弧が組み合わさった式でBracket errorが出る不具合を修正
　　STOPコマンドですぐに停止しない場合がある不具合を修正
　　演算式で先頭にマイナスがある場合にSyntax errorが出る不具合を修正
　　PRINT#／WRITE#によるファイル書き込み時に、文字列前後に引用符〝〟を付けないように変更
　　GLOADステートメントで、画面外の座標を指定してもエラーにならないように修正
　2021/04/25　Version 1.07
　　COLOR命令などで指定するカラーコードに対応するパレットの変更
　　（黒，青，赤，マゼンダ，緑，シアン，黄，白，灰，紫，茶，桃，黄緑，空，橙，薄黄）
　　マニュアルに、COLOR命令などで指定するカラーコードについての説明を追加
　　マニュアルのSLOADコマンドに、透明色についての記述を追加
　　マニュアルのグラフィックステートメントの記述で、パレットコードをカラーコードに変更
　　BUGコマンドの廃止
　2022/05/05　Version 1.08
　　起動画面の年号を2020から2022に変更
　　WIDTHステートメントの拡張（縦横比率パラメータの追加／省略時は字数により自動設定）
　　ASPECT関数，XSCREEN／YSCREEN関数の追加
　　EXITステートメントの追加
　　DEFCHR$ステートメント，CGPAT$関数，PLOAD／PSAVEステートメントの拡張（NewX1turbo）
　　イメージファイル名の変更，追加
　　MOUSE関数の取得値が一部表示倍率で異なっていたので修正
　2022/11/22　Version 1.09
　　SPRITEステートメントの拡張（スプライトのプレーンとパターンを分離）
　　SOVERLAP関数，エラーメッセージ「Sprite is nothing」の追加
　　キーを押したままSTOP，ENDすると、キーを押したままの状態になってしまう不具合を修正
　　ウインドウサイズの変更による表示位置は、ウインドウの中心を軸にするように修正
　　Ctrl＋テンキーの「.」により、ウインドウをデスクトップ中央に移動するようにした
　　ループ中にBEEPステートメントを実行すると、動作が固まる不具合を修正
　2022/11/30　Version 1.10
　　一部ブラウザでの文字化けを防ぐため、htmlマニュアルの文字コードをUTF-8に統一
　2024/03/15　Version 1.11
　　カラーパレットをRGB 8色カラーと基本11色カラーをベースに変更
　2025/03/16　Version 1.12
　　RENUMコマンドの不具合を修正
　2025/10/25　Version 1.13
　　パレットカラーを一部変更（9：オリーブ→紺色）
　2025/11/10　Version 1.14
　　NewX1のデモプログラムを一部変更
　　DATA文に「"」で囲まれた文字列が含まれている場合に発生する不具合を修正
　　変数（整数型）への代入処理の一部不具合を修正（RGB関数の取得値など）
　　停止状態（Stopモード）中も、F12キーによるスキャンライン表示の切り替えに対応
　　エラーメッセージ「Supports only NewX1turbo」の追加
　2025/11/20　Version 1.15
　　マニュアルの記述を一部修正（REPEAT，RETURN）、画像を追加（16色カラーチャート）
　　論理演算子の追加（IMP，EQV）、NOTを単項演算子として扱えるように修正
　2025/11/30　Version 1.16
　　マニュアルの「COLOR命令などで指定するカラーコードについて」の記述を更新
　　F11キーにより、テキスト画面のみ表示するモードの切り替えに対応
　　BINIT ON／OFF命令の追加（Basicモードで入力テキストの装飾を無効にするかどうかの設定）
　　コントロールコードを一部変更（テンキーによる文字グラフィック色の変更）
　　０剰余も０割算と同じく「Division by zero」エラーを表示，ほか演算処理の不具合を修正
　2025/12/10　Version 1.17
　　COLOR@，CREV@，CFLASH@，CGEN@，PALET@，MOVE，LOG10，DEGを追加（MZ-2500 BASIC-M25より）
　　htmlマニュアルに、仕様変更コマンドの印として「renew！」を追加
　　CTRL＋Vキーによるバージョン情報画面に、Javaのバージョンも表示
　　iniファイルにデスクトップサイズおよび表示倍率を追加し、CAPSおよびカナ状態を削除
　　iniファイルが無くても起動できるように修正（終了時に自動作成）
　　カナ文字が入力できない不具合を修正
　　HSV関数を追加（X1turboZ NEW Z-BASICより），EMITコマンドで角度は実数に対応
　2025/12/20　Version 1.18
　　桁数の多い演算の精度を向上
　　NMODE命令の追加（省略表記／整数部０表記／多数桁表記／整数部０＆多数桁表記）
　　HSV関数の引数で、色相値のみの指定にも対応
　　CRGB$関数の追加（カラーコードからRGB成分値を取得）
　　LINE，RLINE，OVAL，GET@，PUT@ステートメントで，STEPによる相対座標での指定に対応
　　RLINEステートメントで、パラメータrの値を直径から半径に修正
　　XPOINT，YPOINT関数の追加（グラフィックの描画開始座標）
　　Home／End／Ctrl＋Home／Ctrl＋End／Ctrl＋Pキーによるカーソル移動／画面消去機能の強化

○著作権／免責事項
　本ソフトの著作権は、作者であるマハリトが保有しています。
　雑誌掲載や雑誌付録ＣＤへの収録およびウェブサイトでの転載・再配布は禁止します。
　本ソフトを作者以外が商用目的で利用することは禁止します。
　本ソフトの逆アセンブルや解析、コード改変は禁止します。
　このドキュメントの内容は、バージョンアップ等により予告無く変更する場合があります。
　作者は、本ソフトに関して発生するいかなる問題や損害について、一切責任を負いません。

○ご質問・ご感想・ご要望について
　NewX1／turboについてのご質問・ご感想・ご要望などがありましたら、下記メールアドレスまで
　お気軽にお送り下さい。パージョンアップの際の参考とさせて頂きます。
　メールをお送りする場合、件名には「NewX1」という文字を含めて送信して下さい。
 （件名による迷惑メールのフィルタリングがあります）。

Copyright (C) 2019-2025 by マハリト，All rights reserved.
http://www.vector.co.jp/vpack/browse/person/an029920.html
mahalito0528@yahoo.co.jp
