MSX色々小物ツール

github.com

 MSX_MISC_TOOLS

他のRepository

ツール 説明
EXTRACT_MSX_CAS/ MSXテープイメージからファイルを取り出す(Python3)

ブラウザで動作するMSX用ツール

HTML5+javascript ES6 で動作

ツール 説明
GSRLE/html/ HTML5MSX画像ビューア】
BSAVE画像やグラフサウルス形式圧縮画像 (派生型ランレングス圧縮)の読み込み・表示・変換・保存が出来るツール
ブラウザで実行 → https://uniskie.github.io/MSX_MISC_TOOLS/GSRLE/gsrle.html

MSX上での展開表示は LOADSRD

Windowsで動作するMSX用ツール

ツール 説明
GSRLE/ グラフサウルス形式圧縮ツール (派生型ランレングス圧縮)

展開表示(MSX用)は LOADSRD
OPLDRV_BGM_EXTRACT/ 1. FMPACとRTYPEのOPLDRV用BGMデータをカートリッジから取り出すプログラム
2. opldrvデータを解析するプログラム

Windows向けMSX用お役立ちデータ

ファイル 説明
Custom Palette for BZ Editor バイナリエディタ Bz Editor 用 MSX Bitmap Palette

MSXで動作するツール

ツール 説明
FieldWork/ 高速な漢字テキストエディタ(SCREEN2とスクロール使用)
LOADSRD/ BSAVE画像とグラフサウルス画像を読み込み表示
(グラフサウルス圧縮対応)
圧縮は GSRLE
MML加工用 テキストエディタマクロ集
(他レポジトリ)
  1. SCC波形加工 for MGSDRV
  2. MML整形 for MGSDRV
  3. MML転調 for MGSDRV
  4. MMLオクターブ検査 for MGSDRV
BLAUNCH.BAS BASICランチャー:ターボRではCPUモード切替可能
CPUMODE.ASM...機械語部分のソースコード
FILER.BAS ファイル一覧&ファイル操作プログラム。
ファイル名のひらがな→カタカナ変換可能。
(MSX以外での文字化け対策のため)
SP-EDIT/ SCREEN5簡易スプライトエディタ(単色)
CPU_MODE_FOR_BASIC/ BASICからCPU MODE(Z80/R800)を切り替えるサンプル
HIMEM.BAS フリーエリア先頭とスタックポインタのアドレスを表示
BINADR.BAS BINファイルの先頭アドレスと終端アドレスを表示
GETPALAD.BAS 現在の画面モードでのVRAMパレットテーブルを返す(サンプルコード)
KEYMTX.BAS 簡易キーマトリクス表示
KEYMTXB.BAS 少しリッチなキーマトリクス表示(turboR推奨)
COLCOMB.BAS 簡易スプライトモード2重ね合わせカラーリスト
COLCOMBG.BAS 少しリッチなスプライトモード2重ね合わせカラーリスト

DISKイメージ

githubに直接置いてあるBASICプログラムファイルは、 参照しやすいようにアスキー形式のファイルが殆どになっているため、 MSXでロードする処理がとても遅くなります。

ロードの早い中間言語形式でのBASICファイルはDISKイメージファイルに入っています。

DISKイメージ:misctool.dsk

内容:

BINADR.BAS
BLAUNCH.BAS
COLCOMB.BAS
COLCOMBG.BAS
CPUMODE.BAS FAMIMA.BAS FILER.BAS GETPALAD.BAS HIMEM.BAS KEYMTX.BAS KEYMTXB.BAS
 

ご利用について

ソースコードやプログラムの、改変・再配布はご自由にどうぞ。 ただし、サポート・保証などはございません。

ただし、画像についての再利用はご遠慮ください。

このプログラムを使用して起きた問題については補償いたしかねますので、 ファイル・ディスクは常にバックアップを取って使用してください。

 

BASICからのCPUモード操作

概要

BASICからCHGCPU/GETCPUを呼び出すサンプルです。

解説

CPUMODE

CPUモードの設定/取得を行います。 BIOSのCHGCPUやGETCPUがない機種では何もしません。

機械語コード宣言は10行でDEFUSR

使い方は 整数変数=USR(mode値)

例) A=USR(1) ... R800に変更する。実際に変更されたモードはAに入る

※ 返り値を受け取る変数と引数(mode値)は整数である事

mode値 動作
0 Z80に変更
1 R800(ROM)
2 R800(DRAM)
それ以外 =現在のモードを取得

CHGCPU / GETCPU

CHGCPU用機械語コード宣言は1010行でDEFUSR0
GETCPU用機械語コード宣言は1020行でDEFUSR1
共通のメモリ書き込み処理は2000行からになります。
MERGEして両方使う場合にやりやすいかと思いますが、 外部エディタで編集すれば済むのであまり意味は無いかもしれません。

注意事項

フリーエリア宣言を変更しないように、 VOICAQ、VOICBQ を使用しています。

  • VOICAQ : $F975 - $F9F4
  • VOICBQ : $F9F5 - $FA74
  • VOICCQ : $FA75 - $FAF4

この領域はPLAY文での演奏時に内部的に使用するエリアで、 PLAY文で演奏していないときは書き換えても大丈夫らしいので使用しています。

そのため、PLAY文で音楽を演奏した状態では呼び出さないようにしてください。