ラベル #basic の投稿を表示しています。 すべての投稿を表示
ラベル #basic の投稿を表示しています。 すべての投稿を表示

2022年3月10日木曜日

[言語] MSX-DOS

[言語] MSX-DOS
命令セット一覧:Z80マシン語/MSX-DOS上級編20011年3月第16改訂版
[FULLMSX.COM]
[やってみましょうBASIC]-[グラフィック]-[サウンドとミュージック]-[マシン語]-[ダウンロード]
mon-girl
<< MSXの動画による使い方もご覧ください >>
SUPER-Xでマシン語モニタ:
http://zoome.jp/fullmsx-movies/diary/4/
SUPER-Xのダウンロードできるサイトがありません。
現在、MSX版のZ80のマシン語モニタアセンブラを制作中です。
FULLMSX:MONASM
逆アセンブラ方式の記述であれば
BIOSのコールなど小さなプログラムを実行できます。
実行はMSXパソコンで使用できるMSXファイルになっています。
ORG機能が備わっていないため9000hからになります。
基本的な命令とBIOSのコールなどできますが、保存ができません。
<< monasm20110313.lzh を ダウンロード >>
開発の状況はモニタ、アセンブラを制作しています。
ダウンロードするとマシン語モニタはメモリの内容を表示させることができます。
FULLMSX:MON 1000H
MSXテキストでは00~07Hと08H~FHまでの32文字の表示ですが、
制作中のものはSCREEN7では横ドットがハイレゾになって64文字の表示になり
MSX2で88のような小さな文字を表示することができるわけです。
画面は1000HのMSXのBASICのROMの内容です。
コンソール部もSCREEN7で表示できます。
■体験してみたい
マシン語は誰でもプログラムできます!体験してみてください。
やってみましょうZ80マシン語 初心者でマシン 語を始めたい人向けです
MSXマシン語適当講座その1 マシン語からBASICの変数を取得、LD、CALL、INC
MSXマシン語適当講座その2 SUPER-X、実行、アセンブラ、ソースを書く
MSXマシン語適当講座その3 一時的にレジスタを使う、フラグ、レジスタ、転送
MSXでマシン語BASIC 中級編 ハンド アセンブルからの話題です。続編へのリンクあり。
*命令セット一覧:Z80マシン語/MSX-DOS上級編 Z80、モニタアセンブラ、テキストエディタ

やってみましょう!MSXBASIC
http://www.geocities.jp/fullmsx2/u-yan/mon.html
http://www.geocities.jp/fullmsx2/u-yan/msxi-hi1.html
http://www.geocities.jp/fullmsx2/u-yan/mb-quick.html

ドナドナを聴きながら
http://www.geocities.jp/galfned/mou/mou.htm
http://www.geocities.p/galfned/xanadu/xanadu.htm









★はじめに
マシン語はどんなパソコンでもあります。MSXはWindowsより古いパソコンです。
コードを書き換えた経験はありませんか?
一般には0~10の数字ですが、パソコンでは0~15の数字です。
これは2進数が進化して16進数になったものです。
マシン語は決められたコードで書くことができれば
MSXBASICよりも高速に動作することができます。
ではどういうことか?と、言えばたとえば
電源ボタンを押せば、リモコンからテレビに
信号が送られます。このように動作の手順をコードにしています。
例えば地デジの1チャンネルとか、入力切替えとかありますね。
このコードを読むことができる小さなメモリがリモコンに入っています。
このコードを読んで、送信させることで、ビデオデッキの受信機が読み取ります。
言語はこの機械的な操作を補助させて言語拡張にすることで、
マシン語を言語にして簡略化させることができます。
そして、このように外部で操作できるようにするために入出力して通信できる
I/Oポートを使います。
MSXBASICが遅いのはBASIC言語をマシン語に実行させながら
変換するインタプリタという処理をするために
速度が遅くなることが一般的に知られています。
BASICはカンタンな命令でマシン語を動作させる魅力があります。
C言語はソースをマシン語すべて変換させて行うコンパイルが遅いですが、
実行中はマシン語に変換することがないので、コンパイル後の動作は速いです。
■Z80のCPUは
処理能力が8ビットという代表的なCPUです。ご存知のように
0と1で1ビットの処理の2通り、00と01と10と11で2ビットの4通りのように
ゼロとイチが8つ並ぶ通りの処理を行えます。これは16進数で参照してください。
このようなCPUはPC8801、MZ、X1など多くのパソコンに搭載されていました。
ハードウェアを単純にしてソフトウェアを複雑にしていたのが昔のPCです。
現在とは正反対で処理は遅いのですが凄い技術を使ったものが多いです。
ただZ80のCPUから大きく拡張されたハードウェアを操作する事には変わりはないです。
マシン語をCPU(中央演算装置)に命令を送ることができれば
理論的にはどんなPCもハードウェアも動かせます。
また、ハードウェアを使わないでメモリとCPUだけを使えば
MSX以外の他機種でも動作させることができます。
この場合はメモリマップに従ってプログラミングします。
ORGのロード域が変わりますが意外と安易にできると思います。
Z80インストラクション表:http://www.geocities.jp/fullmsx2/u-yan/msx-mac1.html
■マシン語モニタ
マシン語モニタはメモリとレジスタの情報を表示するソフトです。
レジスタは電卓の1234567890というものを16進数値であらわし
メモリはレジスタの数値を記憶領域を指定して記憶するものです。
数値をメモリ/レジスタにロード。レジスタからメモリ(アドレス)にロード。
メモリ(アドレス)からレジスタにロードというLD(ロード)表記から
MOV(ムーブ)移動表記にインテル製では変わっていますが、
実行した後にメモリ、レジスタに正しく数値が入っているかを
確認することができるプログラムです。
またプログラムではなく画像データまたは文字コードもアドレスに書くことができます。
メモリには何でも入れることができる特長があります。
16進数:http://www.geocities.jp/fullmsx2/u-yan/basic/hexa.htm
MSX-DOS:SHEM
MSX-DOSのフリーソフトウェアSHEMのマシン語モニタ画面
SHEM::http://www.geocities.jp/fullmsx2/u-yan/shem.html
MSXのゼロはゼロスラッシュになっています。これは数値の0です。
画面は0100Hから1バイトごとにE7 ED 5B 06 00 21…となっています。
EDが0100Hで5Dが0102Hです。ADRSがアドレスで
0105Hは0100H+5で21が入っています。
16進数の右側はASCIIのコードです。
ここにMSXと書けば
書いたアドレスに16進数のコードが入ります。
さらに16進数コードで矢印パターンを書くと
GraphicWindowにグラフィックが表示されます。
画面はRes:でレジスタペアで表記されています。
HLはHレジスタとLレジスタのペアとなります。
Fはフラグの数値が入り、右からFのビット情報が
順に呼んでいくと、
AFレジスタ、
サインフラグ(S)、
ゼロフラグ(Z)、
なし(-)
ハーフキャリーフラグ(H)、
なし(-)、
パリティオーバーフローフラグ(P)
減算フラグ(N)、
キャリーフラグ(C)となり
BCレジスタ、
DEレジスタ、
HLレジスタ、
IXレジスタ、
IYレジスタ
です。
下段の情報はMSX-ROMのスロット情報です。
あとはアレやコレやと初心者にはどうでもいい情報ですが、長く使っていく方には便利な情報になっています。
レジスタは00HからFFHまでですが、
レジスタペアは0000HからFFFFHの数値を使うことができます。
0150H以降が00になっています。
もし、何かを書くならばこの00の領域に書くとよいでしょうね。
詳しくは後ほど解説しています。
■Z80命令変換表
高性能なアセンブラがない場合はハンドアセンブルになります。
最初は00~FFのニーモニックの1バイトコードが記されていますが、
CBとDDとEDとFDはCB XXとXXは00~FFのコードで
2バイト以上のコードになります。
さらにDDCB、FDCBの場合で例えばSLA (IX+d)は26ですが
このdに02Hが入る場合はDDCB0226となります。
これはインデックスレジスタの特殊な例ですから一般的には不要でしょう。
Z80マシン語ニーモニック変換表:
http://www.geocities.jp/fullmsx2/u-yan/msx-mac1.html
■MSXのマシン語モニタは難しい?
確かに何が何だかわからないかもしれませんが、
メモリに何が入っているかを見たり、書き込んだりできます。
もちろん、マシン語を見るための画面です。
マシン語は計算したりメモリ操作するもので、
データはデータエリアを作って文字をあらかじめ入れておきます。
MSXパソコンのメモリを調べていくとエラーメッセージなどが
入っている場所があったりします。
上の画像は16進コード、MSXの文字コードなど何のコードが
入っているかを見ることができます。
モニタによって表示は異なりますが、基本的に同じような機能があります。
Z80のCPUについてはZ80 - Wikipedia を参考にしてください。
今回はSEO対策ということでMSX-DOS編とBASIC編と分けて解説をしています。
MSXパソコンは今のPCに比べておもちゃのマシン語ですが味わってみてください。
■開発環境を選ぶ
この16通りの数値を言語化してわかりやすくしたものがニーモニックと呼ばれるものです。
このニーモニックから16進数に変換して組み込むものがアセンブラです。
MSXでは残念な事にモニタアセンブラが内蔵されていません。
16進数:
http://www.geocities.jp/fullmsx2/u-yan/basic/hexa.htm
ここで述べている内蔵というのはボードの中に記憶装置(ROM)を指しています。
記憶装置のデータを実行するプログラムをソフトウェアと呼んでいました。
今現在のPCの内蔵はオンボード、ハードウェアのロジック回路に組み込まれた
もので本質は全く異なります。
そこで、いずれかのソフトウェアを揃える必要があります。
1.プログラムをテキストファイルに書く、ファイル書き込み方式
2.モニタアセンブラから書く、メモリ直接変換方式
3.BASICから行番号方式で書く、メモリー書き込み方式
プログラムをテキストファイルに書く方法ですすめていきます。
ここからはマシン語MSX-DOS 上級編です。
当時DOSがなかった時代にはテープで行っていました。
当時の記憶媒体はパソコンの補助するものとしていました。
ですから、パソコンの機能をそのまま使うことができました。
MSX-DOSは記憶媒体を補助するものという考え方だろうと思います。
これは記憶媒体のディスクの機能をそのまま使うことができる考え方です。
このようにすればパソコンが異なってもMS-DOS互換のフォーマットが
あれば移植などが行いやすくなったのでしょうね。
MSX-DOS2はあまり普及しなかったのですが、
MS-DOSで動作するプログラムをMSXに移植したりしたものが多くあります。
当時の一般的なMS-DOSのプログラミングはCOM(EXE)ファイルを書いて、
DATファイルかOBJファイルを読み込むという流れでやっていたようです。
MS-DOSは16ビットOSでCが快適に動作していたからでしょう。
残念ながらMSX-DOS2では8ビットのOS(CP/M)からの流れがあり、
テープがディスクに引き継いだマシン語プログラムが主流になっています。
どちらかと言えばPC-8801程度の開発環境が大半ではないかと、思います。
MS-DOS以前のマシンを調べることには適していると思います。
■テキストエディタ
テキストエディタで1行に1つの命令をプログラムとして書き、ソースリストを作ります。
テキストファイルはASCII(半角英数)コードを使うことができます。
ASCIIコードはMSX-DOS、CP/M、MS-DOSなど異なるPC環境でも使うことができます。
MSX-DOSではディスク操作と限定されますがMSXBASICよりもメモリが少ないために
MSXBASICのマシン語エリアよりも広いエリアを使うことができます。
MSX-DOS TOOLSでは行単位で文字を操作するコマンドがあります。
メモリが少なく、ファイルを操作したり、コマンドを作ったりすることができるようになった為に
大規模なソフト開発ができるようになりました。
この環境であれば、まずメモリの制約を受けることは少ないでしょう。
自由にプログラミングできます。アセンブラは無理でもMSXでC言語もあります。
V&Z2editor  ViperとZeroさんの開発しVZライクなエディタ(ASCATさんサイト)
APED  AKID/KIDライクなエディタ
Wikipedia:WZeditor
テキストエディタは1つのファイルはもちろん、ファイルを追加して途中からでも加えることができます。
MSXBASICのマシン語と違ってメモリに書き込まないために自由にソースを組むことができます。
昔のほとんどのエディタはラインエディタベースで作られているため
カット&アンドコピーペーストができませんでしたが、このエディタであれば楽にできるでしょう。
また、プログラムを行単位で編集したい場合はテキストカッターを探すとよいでしょう。
後はMSX-DOS TOOLSのユーティリティか、自前で組むかでしょうね。
★テキストエディタで日本語入力の表示をしたい
;入力枠消去
LD   A,03H
ソースコード入力は日本語で書くことが多いのではないでしょうか?
8ビットのMSXマシンではシフトJISの2バイト系コードの入力には
適さない環境ですが、拡張したものが漢字BASICです。
MSX2で漢字ROMがあれば表示は可能です。
MSX2+以降のマシンでは漢字BASIC有効にします。
■マシン語モニタ・アセンブラ
SUPER-X  「SUPER-X」はMSXBASIC用の高機能なモニタ・デバッガです。
SHEM  プログラマ必須の高機能なMSX-DOSマシン語モニタです。おすすめです。
SUPER-XはMSXBASICからのマシン語モニタですが、いろいろと使えます。
MSX-DOS(2)であればSHEMがよいでしょうね。
SHEMの特集もしています。
http://www.geocities.jp/fullmsx2/u-yan/shem.html
マシン語の2進数を16進数の表にして操作できるのが、マシン語モニタです。
このページでは16進数コードをマシン語として話していますが^^;
私の知り合いの紅茶さんがA1WXでMSX-DOSで開発していて、
SHEMの作者であるSherryさんはA1GTでしたが、
こんな感じでMSX2+程度のマシンであれば十分です。
■MSXの書籍から
まぁ何とかなるなら、この方法もあります。
最初はMSXマガジン永久保存版1 p177にあるMSX self assembler、もっとMSXを極めるならば
MSXマガジン永久保存版3 p118にあるM80のあるMSX-DOS2 TOOLSもよいでしょう。
MSX-DOS(2) TOOLS
http://www.geocities.jp/fullmsx2/u-yan/msxdos-tools.html
■マシン語モニタ基本命令
一般的なZ80マシン語モニタのコマンドです。
A(アセンブラ)-アセンブラ
B(ベーシック)-BASICに戻る。
D(ダンプ)-ダンプ。メモリの内容を表示する
S(サブスティテュート)-メモリの内容を変更する
X(イグザミン)-レジスタの内容の表示と変更する
G(ゴー)-マシン語プログラムを実行する
R(リード)-VRAMからVRAMへ転送
L(リスト)-プリンタ
参考ですがWindowsXP/Vista/7でもデバッグモード(モニタ)があります。
cmdでコマンドプロンプトに入って、debugコマンドで入ります。
QでMS-DOSへ戻ります。
★シンプルなタイプ
 D000   00 11
 D001   20 22
 D002   03 33
 D003   00 _ 
                      
1アドレスごとに表示するモニタもある。左からアドレス、書き換え前のコード、後のコードになっている。
_をカーソルにしてみた。入力は2バイト入力してRETURNを繰り返す。
1つ前のアドレスへ修正したい場合
D004    00 33^_
と、^を入れると、
D003    33 _
になる。さらに.の場合は
D003    33 C9.
とする。
◆高性能なモニタなら、
例:D(ダンプ)のA000Hの場合

>DA000
0 +1  +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F -CHR-
A000:4D 53 58 20 42 41 53 49 20 76 65 72 73 69 6F 6E MSX BASIC version
と何がなんだかよくわかりませんが、これはメモリのA000~A00Fの内容をモニタしたものです。
CHRはキャラクタコード256種類を表示させています。
A000:4D 53 58 20 42 41 53 49 20 76 65 72 73 69 6F 6E MSX BASIC version
コードとキャラクタコードの表示があります。
入力は続けてコード、またはキャラクタを入力できます。
★ASCIIコードを調べる
右のキャラクタのMSXのMは4Dですが、
この4Dを調べる方法はBASICで
? chr$("&H4D")
M                       
        
となり、Mを調べたい場合は
? hex$(asc("M"))
4D
このようにマシン語は変数などはありません。いたってシンプルなものです。
ニーモニックを判別してマシン語に変換。その後、モニターから実行することができます。
コメント:おすすめはM80のテキストファイルでしょうね。慣れてくればSHEMの逆アセンブラ方式でもOKになります。
■アセンブル
マシン語(オペレーションコード)をわかりやすくしたものをニーモニックと呼びます。
POPとかLDとかCALLとかのことですね。ニーモニックを記述する方法は
テキストファイル、BASICファイルの場合はジャンプの記述はラベルで、
どちらもテキスト形式として保存します。アドレスは決まっていないので再配置が可能です。
アセンブラ方式はフリーエリアにロードするアドレスを変えることがことができます。
普通はORG命令であらかじめ番地を決めますが、
MSX-DOS TOOLSでは複数のソース(ライブラリ)を1つのソース(オブジェクト)に構築もできます。
それがリンカです。
その後、アセンブラを実行してエラーチェック後にマシン語に変換されます。
メモリ直接書き込みの場合はメモリダンプされたものがアセンブルする逆アセンブラで
ジャンプの記述はアドレスで、バイナリ形式として保存します。
アドレスは決まっているので再配置はできません。
このようなプログラムは逆アセンブラでソースファイルに戻します。
◆アドレスを決める
自分で変数、文字情報、オブジェクトと領域を決めていかなければなりません。
でも難しくはありません。全てアドレスです。ユーザーエリア内で決めればよいです。
文字データであれば128バイト、変数データであれば12バイトくらいとワークエリアを仮に決めます。
D321HとD322Hの間にプログラムを加えたい場合など
プログラムを加えたい場合はD322H以降のプログラムのアドレスをずらすブロック転送を使います。
◆メモリのデータ
データは「1つアドレスを読んで、この座標に文字を表示」という繰り返しで表示します。
EOFなどがないので、ASCIIの終了コードなどに決めます。
BASICがわからなくても、「マシン語(アセンブラ)?あ~わかるよ。」という意外な方が多いです。
マシン語はモニタするだけで全て見ることができます。
決められたコードのパターンがありますから、コレを書き換えれば
例えばPORT1接続をPORT2接続にできます。
■ソースコードの入力
ORG  100H
LD       A,00H
LD   C,01FH 
CALL 0005H
残念ながらWindowsではTTFで微妙に狂いますが
TABキーで水平タブを使えば揃います。揃えていくと見栄えがよくなります。
最初はシステムコールなどを使ってMSX-DOSでいたずらをする程度から
始めると飽きがこないでしょう。こんな感じでよいです。
◆バイト数とステート
インストラクション表があれば
使用するバイト数とステート(処理の単位)を少なくすることで
さらに高速に処理をさせることができます。
◆Z80には掛け算命令はない
掛け算命令がないCPUではBレジスタ×Cレジスタを
バイナリに分解して筆算をします。
Aレジスタは計算用に空けておきます。
ここでつまずくところは2の繰り上がりの時です。
アセンブラでのかけ算例
私もわからなくなってしまうことがありますが、
このように整理するとわかります。
加算の方法は2はバイナリで10とやってはいけませんよっ。
1+1=0で繰り上がり1、1+1+1=1で繰り上がり1
1+1+1+1=0で繰り上がり2の1、1で
1+1+1+1+1=1で繰り上がり2の1、1となります。
通常の10進の筆算よりも面倒なところがありますが、
このように1を足していきます。
■アセンブラの実行方法
CP/MのZASMをMSX-DOSで実行する方法です。
A>ZASM ZTYPE.ASZ -C
Z80アセンブラZASM:
http://www.vector.co.jp/soft/dos/prog/se010314.html
どうやらパソコン通信版CP/M80とパッケージが異なるようです。
MSX-DOSはMS-DOSバージョン3と互換性があるらしいのですが、
CP/M版のみ実行が可能でMSX-DOSはどうなっているのか
比較しないとよくわからないです。
■環境を考える
これでソースを書くエディタ、マシン語モニタ、アセンブラが決まってきたと思います。
フロッピーから必要なファイルを仮想ドライブに置きます。
MSX-DOS2が起動できる環境でラムディスクをマウントして仮想ドライブ(H:\)を有効にする。
MACファイル、DATファイルをHドライブにコピーする。
KAIHATU.BATを作成すればKAIHATUで実行できるようになる。
■環境を設定する
MSX-DOS(2)を使ってもラムディスクでした。
MSX-DOS1はラムディスク機能がないのですが、フリーソフトでラクにラムディスクが使えます。
なお、1chipMSXではSDカードのアクセスが速いのでそのまま設定でよいです。
このソフトはMSX -DOS(2)フリーソフト編で紹介しています。
A>COPY CON KAIHATU.BAT
RAMDISK 4048
COPY *.MAC H: + COPY *.DAT H:
COPY L80.COM + M80.COM H:
^Z
1 file copied.
最後の^zはCTRL+Zで閉じる。
こんな具合で入れていきます。
■ラムディスクドライブH:を使う
ラムディスクはパソコンが起動中に使うことができますが
電源を切ったり、パソコンが暴走するとデータが消えます。
1.プロンプトの設定
H:\U-YAN\TEST\のアドレスにいるようでしたら
H>SET PROMPT ON
H:\U-YAN\TEST\>
のほうがいいかもしれません。シンプルに戻したい場合は
H>SET PROMPT OFF
H>
でもよいです。
2.別のドライブからカレントへコピーする
たとえばA:\U-YAN\C.ASMをコピーしたい場合
H>COPY A:\U-YAN\C.ASM *.*
と最後に*.*を加えます。
3.別のドライブへコピーする
たとえばC.ASMをA:\U-YAN\TEST\へコピーしたい場合
H>COPY C.ASM A:\U-YAN\TEST\
となります。
これは仮保存したものを保存したい場合に
ファイルをコピーします。
4.ラムディスクを開放する
メモリマッパを使ったアプリケーションを使いたい場合などに
ラムディスクを使わないようにするにはデータをコピーした後に
H>A:
A>RAMDISK 0
ここでYを押します。これでH:\ドライブは消えました。
5.リセットしてもラムディスクを復帰するようにする
暴走して誤動作した場合は通常はリセットされて初期化されますが、
起動中の状態にラムディスクを戻すようにするRRAMDISKのフリーソフトがありました。
MSXパソコンはリセットしても消える部分は一部分ですから、
消えない領域にデータを保存する技があったりします。
そういえば…
イースのタイトルなどの画像をキャプチャしたりすることが流行りましたね。
6.その他の設定方法
詳しくはよ り高度なMSX-DOS2を参照してください。このへんにしておきます。
※RRAMDISKコマンドは1chipMSXでは動作しません。
■アセンブラソースの見方
ニーモニック以外にプログラムを補助するマクロ機能が加わっています。
逆アセンブラと違いアセンブラソースはアドレスをラベルになったり
アセンブラ、マクロを操作する命令、BASICなどの簡易言語などがあります。
ここでは代表的なコマンドを載せて置きます。
WHITE   EQU 15 
EQUate、イコールと呼びます。
SimpleASMなどでは
WHITE:   EQU 15
と書く場合もあります。
WHITEと書くと15という数値に変わります。
たとえば
LD A,WHITE

という記述ができますが、再定義する場合は
MAX        ASET  15
と、再定義できるコマンドもあります。
ORG 0D000H
オリジンは0D000Hにオブジェクトを配置します。
CAPSON: POP AF
これはジャンプポイントのラベルです。
PUBLIC   CIRCLE2
これはCIRCLE2というマシン語サブソースを作ります。
長いプログラムになる場合に分割して使うことができます。
EXTRN   CIRCLE2
これはCIRCLE2というマシン語サブソースをコールします。
DB      ’U-YAN’ 
データバイト。これはU-YANというデータを入れます。
プログラムエリアの後にワークエリアを加えて
U-YANと書き込んでください。DBはDEFBと書く場合もあります。
DS               16
データーストレージで16は16個データ用に空ける意味です。
■MSXパソコンの調べかた
数行でマシン語ソースができる。
もっとMSXを知りたいならば下のリンクを辿って見よう。
http://ngs.no.coocan.jp/doc/wiki.cgi/TechHan
MSX2テクニカルハンドブックのwiki
さらにMSX2テクニカルハンドブックをユーザーが補足した
MSXテクニカルガイドブックもあります。
http://fetish-jp.org/ascat/index.htm
http://www.ascat.jp/index.htm
MSXでよくわからない事の参考になります。PDFファイルで全文読むことができます。
星印の見出しは 専門用語が多くMSX-DOS、モニタアセンブラの操作の経験がある
マシン語中級者向けに書かれています。
見出しが競合しているのですが、そろそろページを分割しないと(ボソ)
■ROMとRAM
これから、さらにMSXパソコンのシステムに入ってみましょう。
MSXユーザーの知りたい情報の1つでもあります!
スロットを操作してみるであります!よく考えないと後々とんでもないことになる部分です。
誰でもわかる程度に書きましたが、まだ不十分かもしれません。
ROM(リードオンリーメモリ)は読むことができるメモリです。
ROMには内臓ROMと外付けROMがあります。
外付けROMはと「ROMを差し込む(カートリッジ)ことで動作することができる」
画期的なものでした。
それがシンプルになってPCの中に差し込むカバーのいらないボードがあります。
このメモリに書き込むことをROMに焼くといいます。
MSXは今までROMにBASICインタプリタとRAMに動作に必要なデータの構成で
0000H~7FFFHまでがROM 32K、8000H~FFFFHまでがRAM 32Kでした。
■MSXのROMと拡張スロット
スロット切り替えどういうものでしょうか?
メモリスロットには読むだけのメモリ(ROM),読み書きできるメモリ(RAM)の
大きく分けて2つの種類があります。
スロット切り替えはメモリスロット0000-FFFFhの64KBを4つに
切り替えて使うことができます。
メモリ構成が
#0がROM,ROM,なし,なし
#1がRAM,RAM,RAM.RAM
とある場合
メモリスロットがROM,ROM,RAM,RAM とか
メモリスロットがRAM,RAM,RAM,RAM とか
考えられますね。、これをインタースロットコールと呼びます。
ね?ここまではわかるでしょう?
ROM(#0)とRAM(#1)の2つを例えましたが、実際には0#~3#の4つあります。
これが1つメモリスロットに16KBの4ページ(MSXの4セグメント)の構成で
説明すると例えばMAIN(#0)、MAIN(#0)、#3-0、#3-0
これがMSXのBASICの起動状態です。
そして、このメモリは
さらに基本スロットが4つですからROMかRAMを4つ置けます。
さらにさらにこの1つのスロットに4つのスロットを拡張できます。
Sherryさん口調のような感じですが^^;ほとんどSHEMの解説のような…
MAINで基本スロットの1番目、SUBで基本スロットの2番の拡張スロットの3番
とできます。これがMSX2+までの説明です。
■MSXのROM構成
MSX2を例にしてみます。4つのROMは0(ゼロ)を含む0,1,2,3です。
スロット0:MAIN-ROM(32K)
スロット1:ROMカートリッジ1
スロット2:ROMカートリッジ2
スロット3:RAM(64K)
MSXBASICの場合はMAIN(0),MAIN(0),RAM(3),RAM(3)になっています。
MSXBASICで使用できるのはRAMは通常32KBまでですが、
MSXBASICのワークエリアがありますので25298バイト程度と少ないです。
起動時に出る64KBはこのスロット3のRAMの容量を計算していますが、
実際にはRAM,RAMの32KBですね?残りはMAINですから通常では使えません。
この領域32KBを通称:裏RAMと呼びます。これを拡張するのがCALLMEMINIです。
そして、MSX2+になるとスロット3が4つに分かれて拡張されます。
スロット3-0:RAM(64K)
スロット3-1:SUB-ROM、漢字ドライバ、単漢字辞書
スロット3-2:なし、DISK-ROM(option)
スロット3-3:なし、MUSIC(option)
となります。
MSXグラフィックプログラミング講座:第6回スロット指定のしかた
http://www.geocities.jp/fullmsx2/u-yan/msxi-hi2.html
■メモリマッパとは
この1セグメント16KBを256個で切り替える方式で
64KBのDRAMを切り替えることで最大4096KBまで拡張できる。
MSXturboRは256KB、1chipMSXで2MB、1chipMSX改で4MB
になる。メモリマッパをアクセスするにはマッパBIOSを使う。
1chipMSXでは#3-0がRAMスロットになっている。
そのほかにメガROMはゲームで128KB(1メガ)、
512KB(4メガ)などがあります。これも切り替えて使っています。
■MSX常駐ソフトの可能性
MSX-DOS2でMSXのメモリ管理が大きく変わってきたこで
PC-9801などに見られた、いつでも起動可能な「常駐ソフト」
というアプリケーションが可能になりました。
Windowsでは右下のボリュームなどのお馴染みのアイコンですね。
MSXで特長のソフトといえば割り込みフックを使ったMGSDRVの音楽演奏機能です。
有効にすることでMSX-DOS2またはMSXBASICでもMGSデータを演奏することができます。
これは高度な例ですが、
例えばですね、MSX2ではメモリディスクのCALLMEMINI命令があります。
コールメミニ、正式にはコール、メモリ、イニシャライズでしょうね。
これを使えばMSXBASICのプログラムを裏RAMのメモリに保存できます。
SAVE"MEM:INC.BAS"という具合です。
要するに使っていないアドレスを使うようにすれば常駐のようにできます。
■MSXのメモリ管理の構成
MSXは0000H~FFFFHの64KBを4つを切り替える
スロット切り替え(インタースロットコール)と呼ばれる方法が一般的でした。(前述)
スロットは0000H~FFFFHの64KB以上の管理ができないことから
MSXturboR以降で16Kバイト(0000H~3FFFH)ごとの4つを切り替える
メモリマッパという別の方式が採用されました。
このメモリマッパは1セグメントで64ページの切り替えで64セグメント
メモリマッパRAM搭載量に限られますが、
64*4の最大256セグメント(4MB)まで扱うことができます。
これでスロット1かスロット2に64KB以上のRAMを差し込むことができます。
1chipMSXでも動作可能です。
■OSがない、ファイルがなくても起動できるパソコン
MS-DOSでAUTOEXEC.BATとかCONFIG.SYSがないと動かないと思ってはいないでしょうか?
プログラムのハードウェアの操作する部分ではトラック、セクタという単位で読み書きをしています。
フォーマットというのはMS-DOS方式で読み書きを行うということです。
ブートセクタにMSX-DOSありか?なしかの情報を書き込むエリアがあります。
ここで判別して、ある場合はMSX-DOS.SYSを読み込むというわけです。
ない場合はMSX-DOSではないとディスク異常になりますが、
指定がない限りは上から順に読み込んでいきます。
そこにマシン語プログラムで指定したセクタに移動するなどの事をすればいいのです。
このようなディスクの中を見る時にセクターダンプというものを使います。
ですからよく、ファイル名のような謎のデータがあったりします。
シフトJISだったりキャラクターデータだったりすることもあります。
ディスクファイルの構造、システムコールなどわかってくれば
自分だけのOSを作ることも夢ではないでしょう。
■COMファイルの解析しかた★
MSX-DOSはMSX版のMS-DOSです。
MS-DOSシステムを解析した経験があれば違いがわかります。
ファイルの読み書きできる逆アセンブラと言えば
開発環境は「ほおじゃあ」を使います。
http://sakuramail.net/fswold/tool.html
■解析元のマスターファイルを残す★
まず、U.COMならばU3.COMという仮ファイルにコピー
してマスターファイルU.COMを残しておきます。
このU3.COMが解析用のファイルになります。
■モニタアセンブラの操作★
このファイルを「ほおじゃあ」に読み込みます。
開始アドレスから逆アセンブラします。
これでアセンブラソースが表示されました。
■HOJAでソースの解析★
アセンブラの書式はプログラムの後にワークエリアが一般的なものです。
ここで話すワークエリアはMSXシステムワークエリアの話ではなくて
ユーザーが作ったワークエリアのことです。
ワークエリアは文字表示データなどプログラムに使用するデータです。
またソースの種類によっては絶対ジャンプで飛ばしている場合があります。
これは初期設定の処理をプログラム、データとモジュールにしている
プロセスごとにソースが分かれている場合を指します。
この場合、プログラムがどこのアドレスにあるか調べる必要があります。
ジャンプしたアドレスから逆アセンブラしないとプログラムかデータか判別がつきません。
アセンブラソースを出力したASMファイルのソースをチェックして書き換えたら、
M80、L80のアセンブラを実行します。
■バイナリファイルとアスキーファイルの違い★
MSXBASICから読み込む場合はバイナリファイルをアスキーファイルに読み込みます。
通常の方法では
0030cd2233441aで止まり後が読めません。
これを
0030cd2233441acdd3e83230c9
まで読み込めるようにします。解説すると
これも裏テクでEOF(1AH)をカットする方法です。
通常MSXのアスキーファイルは終了コードでファイルを閉じますが、
バイナリファイルは終了コードはありませんし、テキストファイルは終了コードがないです。
そこで終了コードを検出した場合、一発エラー回避でレコードを変えて読み込みを行います。
逆にヘッダ部を作りたい場合です。
ファイルの頭にタイトル名を入れたりして以後のデータを表示しないようにする
やり方もあります。
これは何かの時に参考にしてください。
■COMファイルをRAMに読み込むプログラムなら
SHEMまたはSUPER-Xでロードコマンドを使います。
開始番地0100HからA000H以降に変更します。
■1バイトごとに読み出す方法
アスキーファイルは256文字を越えるとDirect statement in fileというエラーに遭ってしまいます。
ですから、1バイトごとにA$=INPUT(1,#1)で、1つ1つ読み込みオペコードを表示していきます。
どうもEOFに引っかかり簡単にはいかないようです。
ひきつづきFile-R.BASを作っていきます。
■MSX-DOSはかなり奥が深い
MSX-DOSは かなり奥が深い ので簡単な設定を載せてみます。
うまい上達方法はMSX-DOSのシステムコールなどをうまく使った
MSX-DOSの補助的なプログラムを作り、それから本格的にやりましょう。
まずはMSX-DOSをマシン語から見てみることから始めましょう。
終わりにマシン語とはどんなマシン、ハードウェアにも存在しています。
他機種でCPU命令がわからなくても、こういう動作になるとか今まで知らなかった事が見えてきます。
今までパソコンがわからなかったが、プログラミングをすると何となくPCの不具合の見当がつきそうな事もあります。
BASICでマシン語はいかがだったでしょうか?
簡単すぎる説明で不足なところが多かったのですが、
こんな感じでテクニカルハンドブックなどでラーニングしてみてください。
マクロ入りソースは他のアセンブラには使えません。
とりあえず、心当たりの人を探して見ました。
http://www.interq.or.jp/white/white/fswold/data.html
http://sakuramail.net/fswold/data.html
Z80アセンブラ講座を青河さんがやってました。MSX-DOS TOOLSからやりたい人向けです。
■ブログなど
M80のソースを見ることができます。MSXのマシン語開発の雰囲気が味わえます。
KIKI氏のMSXの周辺機器関連の記事。2007 年8月の記事がちょうどいいです。
Dr.KIKKIE (KIKI) MSX DeuxLaque
MARIO-NET,NATSUME-NETのMSX記事。
MSX パソコン通信ログ 
■その他のZ80アセンブラ講座
Z80アセンブラ 講座入門編 SYSTEMAXさんのZ80アセンブラ講座
新日本プログラミ ング情報 Z80教室。リスト表など

■最後に
マシン語をマスターしたい方のためにページを作り始めました。
講座ではMSX-DOSからVRAMの使い方を解説します。
マシン語BASIC中級編からの続編でSCREEN5を使って
ビットマップに点を打つことからスプライトまで
ベテラン向けのかなり多くのテクニックを載せています。
「AレジスタだったりBレジスタだったりCレジスタだったりと」
「圧倒されてしまうんじゃ?」
そういう事はあまり、ありません。Aレジスタを使って
同じような反復する命令で書いていますので
テクニックと言ってもSHEMを使ったりBASICを使ったりと
プログラミングは少ないです。技術は道具と腕です!
プログラムは2の次でツールを使いこなすことが先です。
どこのマシン語ページよりも覚えやすいと思います。
ただ徐々にレベルが上がってくる感じがするでしょうね。
きっとマシン語の道も拓けると思います。
第18回まで解説しています。
2010/06/13現在

やってみましょう!MSXBASIC
http://www.geocities.jp/fullmsx2/u-yan/mon.html
http://www.geocities.jp/fullmsx2/u-yan/msxi-hi1.html
http://www.geocities.jp/fullmsx2/u-yan/mb-quick.html

ドナドナを聴きながら
http://www.geocities.jp/galfned/mou/mou.htm
http://www.geocities.p/galfned/xanadu/xanadu.htm











2017年11月5日日曜日

[アプリ][Android] BASIC!〜Androidアプリ版BASICインタプリタ


[アプリ][Android] BASIC!〜Androidアプリ版BASICインタプリタ
Androidスマホをポケコンにしてみる
―2017年03月31日
昔、8BITマイコンの頃、持ち歩きできて、電池で動くポケコンというコンピュータがありました。https://goo.gl/DtGyrc
特徴として
持ち歩けて、短い時間で簡単にプログラムできる。
(たまに、でも何度も使う)簡単な繰り返し計算や使い捨ての計算をさせることが多い。
数行のプログラムがメイン。
工場の現場とかにいくと未だにポケコンが現役で使われていて、びっくりすることがあります。
1.というわけで、現代で同じことしようとすると手持ちのスマホにBASICインタプリタ(無料)をインストールするのが手っ取り早いということで、以下のソフトをインストールしました。
BASIC! - Google Play の Android アプリ
https://play.google.com/store/apps/details?id=com.rfo.basic&hl=ja
2.カシオの高精度計算サイトをスマホのホームにリンクを設定します。
カシオ高精度計算サイト http://keisan.casio.jp/
(なんでもCASIOのポケコンに搭載されていたいろいろな簡易計算機能を作っていた人が関わったページとか。。)
後、スマホの漢字辞書によく使うBASICの予約語をいれておくと便利かもしれません。

今日の出来事リンク 
http://todaylink.asablo.jp/blog/2017/03/31/8436700
http://todaylink.asablo.jp/blog/2017/09/18/8678941

 

1988年4月3日日曜日

[ゲーム][PC] SharpMZシリーズ版Story of Pendant~BASICでインタラクティブムービーつくった....


[ゲーム][PC] SharpMZシリーズ版Story of Pendant~BASICでインタラクティブムービーつくった....
「Story of Pendant」
■他誌に写真は掲載されたのに
他誌に写真は掲載されたのに掲載されなかった、幻の作品です。これもEyelarthに続く映像作品(?)で、前よりはわかりやすい話に、そして身近な話になっています。前作のEyelarthの話がわかりにくい、というのもあって今回は物語を重視する事になりました。
そのかわり時間的に長くなり、容量的な問題もあって動画部分は少なくなってしまっています。
■受験戦争と就職
現代に生きるほとんどの人は、この「受験戦争」「就職」という2つの壁を乗り越えなければなりません。もっと、のんびりした時代に生まれたかったな、と思ってみても時間の流れは一方向のようですし、タイムマシンもありませんので、このまま時代の流れにそって生きていく事になります。  私はすでに受験戦争、就職は終えてしまった身ですが、どちらもいい思い出はありません。多分、多くの人がそうであるように、苦痛でしかありませんでした。受験戦争においまくられ、それが終わって一息ついて見ると「はて、なんでこんなにしてまで、やらなきゃいかんのだ?」という疑問を持つ人もいるでしょう。
このStory of Pendantは、今の就職難の時代にあわせたわけではありませんが、就職試験に何回か落ちてしまった、そんな女の子のお話しです。受験戦争と就職とも、ひっくるめていますし、わざわざ設定も日本に似ている外国、そんな国にしてあります。
■拾ったペンダントと、その役目
ドラえもんなど、主人公を助けるのは、何かしら人間と似たものか、動くものである事が多いようです。もし、就職に困っている女の子の前にドラえもんが、あらわれたら多分簡単に、望みはかなえられるでしょう(多少のおせっかい話はあるかもしれませんが)。同様に他のお助けキャラも、そのような役目をおっています。数あるマンガ本やアニメをみても、それは同じでしょう。
とある国の、就職できずに悩んでいる女の子が森で拾ったのは、ペンダントでした。ただ、他のペンダントと違うのは意思を持っている事。物を動かしたりする力はペンダントにありますが、それらは決して彼女の就職を助けるものでもなく、逆に世話をやくだけのもの。世話をやかれるのも当然で彼女は、何事も積極的にやろうという意気がないのですから。
■自分の力で
彼女が拾ったペンダントは、意思を持っていたというよりも「内面の鏡」でした。自分が役に立たないのではなく、自分がやろうとしないから役にたたない・・・。少しだけ成長した彼女はペンダントを元の森の小枝にかけて別れていきます。
他人からとやかく言われてやる事は、あまり面白くありませんが、自分からやろうと試みたことは面白いものです。他人が見たり聞いたりしたら、笑ってしまうような趣味であっても、自分が面白いと思ったなら、そのまま続けましょう。さらに、面白いものが見えてくるかもしれません。
結局、他人の力ではなく自分がやらないと駄目じゃないでしょうか?
意見と文句は、こっちまでくれくれ~メール(笑)。
Update : 1996/03/10

MZ Museum
http://www.shiojiri.ne.jp/~openspc/mz700/PENDANT.html
http://www.shiojiri.ne.jp/~openspc/mz700/EYELARTH.html
http://www.shiojiri.ne.jp/~openspc/mz700/MC.html
http://www.shiojiri.ne.jp/~openspc/mz700/FR.html
http://www.shiojiri.ne.jp/~openspc/mz700/SH.html
http://www.shiojiri.ne.jp/~openspc/mz700/SBFZ.html
http://www.shiojiri.ne.jp/~openspc/mz700/XEVIOUS.html
http://may.csse.muroran-it.ac.jp/~ogawa/MZMuseum/
http://www.shiojiri.ne.jp/~openspc/













[ゲーム][PC] SharpMZシリーズ版Eyelarth(アイラース)~BASICでインタラクティブムービーつくった....



[ゲーム][PC] SharpMZシリーズ版Eyelarth(アイラース)~BASICでインタラクティブムービーつくった....
■MZ-700の映像作品?
雑誌Oh!mz/Xでは多くの投稿作品がありましたが、非常にかわりだね、という点ではこの「Eyelarth(アイラース)」も5本の指に入ると思います。今でこそ、MacintoshやAMIGAで映像作品が個人でも作れる環境になってきていますが、このEyelarth発表当時はX68000 + DoGA CGAで短い映像作品を作るのがやっとといった時代でした。映像作品と入ってもハードディスクすら、まだ未搭載のマシンがほとんどでしたから、当然シナリオ作って台詞を入れてアニメーションさせて・・・というのは、難しいというか、無理があったと思います。
すでに、時代は16ビットマシンから32ビットマシンへと移行し、高速大容量メモリへと向かっていました。そんな時代に旧世代の遺物とも言える8ビットマシン、搭載RAM容量は64Kバイト・・・。そんなマシン上で約10分程のショートストーリーが展開される・・・。
「んな、馬鹿な」
個人でDesktop Video (DTV)ができる時代になる遥か以前に、こんな馬鹿な事をしていたとも言えます。
反響なし
今でこそ「インタラクティブムービー」などという言葉が通じる時代ですが、当時はそんなものもなく、またインタラクティブとはいってもキーを押すだけ。自動モードにしておけば、勝手に画面が進んでいく・・・。今までゲームを作ってきただけあって、反応なし、反響なし、評判悪し、文句たらたらといった感じでした。反響がないのに文句というのは身内(テストプレイヤー)です。
ストーリーもよくわからないし、ゲームじゃないから面白くないし、何これ? とまあ、そんな感じでした。だいたい無茶苦茶な事をやっているのは、わかっていました。が、誰もやろうとしないから、やってみたい、そんな気持ちの方が勝っていました。このEyelarthに関して言えば、非常に珍しい事に「技術優先」でもなく、「改良」でもなく「作りたいから作ったのだ」という事になります。技術的に面白いというわけでもなく、とにかく「作ってみたい」という気持ちが最優先でした。ですから、1~2箇月ほどで完成してしまったのです。
この時は、便利なエディタもすでに作成されておりグラフィックを描くのも容易だったからというのもありますが。
■最後に
ストーリーもわからないし、演出もあまりよくないし、見ているだけなんて。反響がないのも、反応が悪いのもわかります。が、1つだけ書いておきたい事があります。もし、あなたが何か映像作品なりを作りたいとして、今の環境がよくないからといって作るのをやめますか? Desktop Videoが手軽にできる環境になるのを待ちますか? その時になっても、あなたは決して自分が満足するような作品が作れますか? 多分、あなたはいつまでも作品ができないのは、環境が悪いからというでしょう。
意見と文句は、こっちまでくれくれ~メール(笑)。
Update : 1996/03/10

MZ Museum
http://www.shiojiri.ne.jp/~openspc/mz700/EYELARTH.html
http://www.shiojiri.ne.jp/~openspc/mz700/MC.html
http://www.shiojiri.ne.jp/~openspc/mz700/FR.html
http://www.shiojiri.ne.jp/~openspc/mz700/SH.html
http://www.shiojiri.ne.jp/~openspc/mz700/SBFZ.html
http://www.shiojiri.ne.jp/~openspc/mz700/XEVIOUS.html
http://may.csse.muroran-it.ac.jp/~ogawa/MZMuseum/
http://www.shiojiri.ne.jp/~openspc/












1988年3月5日土曜日

[データ] PC-8801,エミュレータ上で入力不可能な文字を入力する方法




[データ] PC-8801,エミュレータ上で入力不可能な文字を入力する方法
①エミュレータ上で入力不可能な文字を入力する方法
-エミュレータ上でキーボードからは入力不可能な文字を入力する方法-
現在でもエミュ上でガンガン昔のベーマガ等のプログラムを入力しているのですが、グラフィックキャラクタの入力は結構大変です。
とりあえず、対応表を作ってそれを見ながら入力するのですが、中には出せない文字もあります(自分の環境の場合は縦棒と逆Tの字が出せません)。
しかし、KEYコマンドを使ってファンクションキーに割り当ててしまえば良かったんですね。
  KEY 1,CHR$(&H96)
  KEY 2,CHR$(&H90)
これで問題解決です。PC-88は画面下にファンクションキーに割り当てられた文字列を表示してくれるので、とても使いやすいです。
これに気付くまではわざわざグラフィック文字を含んだリストをテキスト出力するプログラムを組んでマージしてました・・・
恐ろしい手間です。というかアホすぎ・・・
ファンクションキーのところに内容が表示されるのがとても便利です。
なお、FM-7でも同じことができますが、キーリストはデフォルトでは表示されません。

PC-8801の部屋




1988年2月25日木曜日

[PCゲーム][PC] Sharp MSX, BASICプログラム打込ゲーム

[PCゲーム][PC] Sharp MSX, BASICプログラム打込ゲーム
今更、雑誌の打ち込みMSX係
(注)このページは、いまだに雑誌に掲載されたのプログラムを打ちこんだ事を記すだけのたたいて、ごらんよキングコング、キングコング、キングコングのコーナです
2019年07月の打ち込み
’85/07BASICマガジンDoorsMSX用OK
’86/10MSXマガジンANIMAKEMSX2+マウス用OK
’86/09MSXマガジンファスナーMSX用OK
2019年06月の打ち込み
’86/09MSXマガジンTIMEANALYZERMSX用OK
’85/10BASICマガジンいってくる!!MSX用OK
2019年05月の打ち込み
’86/03PiOレザポンMSX用要修正
リストに抜けている所がありそのままでは動作しません
訂正記事があるのか不明なのでとりあえず動くようにします
リスト1
3320 DATA 00,00,7E,D3,98,23,7B,1,AB,CB,5F,28,0F,7B,D6,08

3320 DATA 00,00,7E,D3,98,23,7B,1C,AB,CB,5F,28,0F,7B,D6,08
’86/02MSXマガジンショッピングガイドMSX用一応OK
単純なチェックしかしていません
’86/08MSXマガジンプリンタ・スプーラMSX64KB用一応OK
プリンタ・スプーラなので完全な動作チェックは行なっていません
2019年04月の打ち込み
’89/02BASICマガジンM-TYPEMSX用OK
’87/04MSXマガジン7ならべMSX用OK
’87/02MSXマガジンハイジボールMSX用OK
’87/03MSXマガジンRouletteMSX2用OK
2019年03月の打ち込み
’85/05BASICマガジンHEXERIONMSX用OK
’86/02MSXマガジンチェックサム発声プログラムMSX用OK
’86/08MSXマガジンまうすまんMSX+マウス用OK
カーソル移動をマウスで行なうプログラムです
2019年02月の打ち込み
’86/05MSXマガジン住所録プログラムMSX+FDD用OK
’86/07MSXマガジンオールマシン語・モニタプログラムMSX用OK
2019年01月の打ち込み
’86/06MSXマガジンガラちゃんのビンゴゲームMSX用OK
’86/12MSXマガジンTVおえかきMSX用OK
2018年12月の打ち込み
’86/11MSXマガジンMSXTHEATERMSX用OK
’86/10MSXマガジンマル優管理プログラムMSX用一応OK
選択画面で“どれをえらびますか?”の表示が
エミュレータによっては文字化けを起こしています
気になる場合は920行のDRAW”BM55...
の55を56に変更すれば直る場合があります
2018年11月の打ち込み
’86/09MSXマガジン百人一首トレーニングMSX用OK
’86/08MSXマガジンDATABASEENGLISHWORDMASTERMSX用OK
2018年10月の打ち込み
’87/04BASICマガジンJumpMSX用OK
390行の...SC=SC+1500+BN:...の+1500は
+500と思いますが、意図的にしているかもしれません
ゲームには支障はありません
’86/07MSXマガジンJan-KenSeijinMSX用OK
2018年09月の打ち込み
’86/06MSXマガジン借入返済計画プログラムMSX用OK
’86/05MSXマガジンネガ検索プログラムMSX+FDD用NG
データ打ち込み用プログラムが必要なのですが
検索プログラムしか掲載されていません
データファイルがないと
また存在しない行番号に飛んだりする箇所があります
2018年08月の打ち込み
’87/01MSXマガジンCOLONMSX用OK
’86/12MSXマガジンスプライトエディタMSX2要DISK用一応OK
マウス操作では問題ないのですがキーボードのみの操作だと
ディスク周りに難があるようです
SAVE/LOADにカーソルをあててファィル名をキー入力指定ならOKです
2018年07月の打ち込み
’86/05MSXマガジンパーソナル・サッカーゲームMSX用OK
’86/10MSXマガジンパタパタ大冒険MSX用OK
2018年06月の打ち込み
’86/09MSXマガジンオバケMSX用OK
’86/04MSXマガジン現金出納帳MSX+QD用不明
QD専用なのでセーブ・ロードのチェックが出来ませんでした
2018年05月の打ち込み
’86/01MSXマガジンかずうちゃあたるMSX用OK
’86/06MSXマガジンメビウスMSX用OK
’86/10MSXマガジンSLOTMACHINEMSX用OK
リストに不鮮明な所が一ヶ所ありチェックサムから逆算できますが
訂正記事があったので
C860:23 22 10 D9 2B 1E FF CD :6B
2018年04月の打ち込み
’86/03MSXマガジンMSXFEVERMACHINEMSX用OK
’86/06MSXマガジンパックンチェリーMSX用OK
’86/02MSXマガジンふくわらいMSX用OK
2018年03月の打ち込み
救済プログラムバックアップ活用研究3掲載MSX用OK
LIST1はアドレス表示プログラムでひら仮名が印字されていないので
掲載写真や説明をみながら打ち込みます
LIST2はテープ用コピーツール作成プログラムで
このプログラムは大昔実機で使用したことがあり
プログラム自体にはミスはありません
’86/08MSXマガジンジャンケンゲームMSX用OK
’86/07MSXマガジンRUNMSX用OK
’86/02MSXマガジンマックラ、ピッカリ、ドドンのドンMSX用OK
2018年02月の打ち込み
’86/01MSXマガジンFINDMSX用OK
’86/02MSXマガジン面積計算プログラムMSX用OK
’86/01MSXマガジンエアー・チェック・メモMSX用OK
2018年01月の打ち込み
’86/03MSXマガジンペトロクロスMSX用OK
’86/03MSXマガジンFIRETANKMSX用OK
’88/05MSXマガジンウーくんのソフト屋さんVol.41MSX用OK
2017年12月の打ち込み
’85/11MSXマガジンTinyTONEMSX用OK
’85/10MSXマガジンMSX2SCREEN7SPACEDEMOMSX2用OK
’88/04MSXマガジンウーくんのソフト屋さんVol.40MSX2用OK
要DISK、マウス対応
’88/03MSXマガジンウーくんのソフト屋さんVol.39MSX用OK
’88/02MSXマガジンウーくんのソフト屋さんVol.38MSX2用OK
’88/01MSXマガジンウーくんのソフト屋さんVol.37MSX2用OK
2017年11月の打ち込み
’85/12MSXマガジン元素記号マスターMSX用OK
’85/11MSXマガジン万年カレンダーMSX用OK
’86/01MSXマガジンCHASEMSX用OK
訂正記事あり
180 VPOKE&H182C;+R%,16
’87/12MSXマガジンウーくんのソフト屋さんVol.36MSX用OK
’87/11MSXマガジンウーくんのソフト屋さんVol.35MSX2用OK
’87/10MSXマガジンウーくんのソフト屋さんVol.34MSX用OK
*この号からVOL.の表記が正しくなりました
’87/09MSXマガジンウーくんのソフト屋さんMSX用OK
*この号だけVOL.の表記がありません(本来はVol.33)
2017年10月の打ち込み
’85/10MSXマガジンカセットラベル作成プログラムMSX用OK
’85/09MSXマガジン暗算トレーニングMSX用OK
’87/08MSXマガジンウーくんのソフト屋さんVol.31MSX用OK
*本来はVol.32
’87/07MSXマガジンウーくんのソフト屋さんVol.30MSX用OK
*本来はVol.31
’87/06MSXマガジンウーくんのソフト屋さんVol.29MSX1&2用OK
上がMSX2用、下がMSX1用です
*本来はVol.30
’87/05MSXマガジンウーくんのソフト屋さんVol.28MSX2用OK
*本来はVol.29
2017年09月の打ち込み
’85/07MSXマガジンTYPEMASTERMSX用OK
’85/06MSXマガジンペンタのぼうけんMSX用OK
’87/04MSXマガジンウーくんのソフト屋さんVol.27MSX2用OK
*本来はVol.28となりますが以降も修正されないままです
’87/03MSXマガジンウーくんのソフト屋さんVol.26MSX用OK
*Vol.26と数え間違いがあります(本当はVol.27)
’87/02MSXマガジンウーくんのソフト屋さんVol.26MSX用OK
’87/01MSXマガジンウーくんのソフト屋さんVol.25MSX用OK

Enri's HP
http://www43.tok2.com/home/cmpslv/