日立ベーシックマスターの記事
BASICMASTER ベーシックマスターのハードウェア(16)ODV GBS-Cでディスプレイ接続
ベーシックマスターのハードウェア(13)ディスプレイの接続方法の続き。ベーシックマスターJr.は、MP-1710カラーアダプターがあれば カラー表示が可能である。しかしRGB出力を受け付けないディスプレイに接続する場合、標準の構成では MP...
BASICMASTER ベーシックマスターのハードウェア(15)MB-6880のカセットリモコン
ベーシックマスターL2IIやJrは、カセットデッキをリモートコントロールする機能がついている。BASICプログラムをLOADするときは、エラーが起こるとそのブロックで停止するので、テープを少し巻き戻して読み込ませることでエラーを回避できるこ...
BASICMASTER MC6800のプログラミングテクニック(30) xorshift32の実装
下記のサイトに、同一プログラムを各種CPUで書いた比較記事が掲載されている。MC6800だとどうなるか、PRNG(擬似乱数)プログラムを書いてみた。 Getting a Decent and Fast PRNG Out of an 8-Bi...
BASICMASTER MC6800のプログラミングテクニック(29) ループ処理(3)
前回までstrcmp,strchrの例を見てきた。今回はmemchrの話。str系の関数は文字列末 '\0' を検出するが、mem系関数では領域のサイズを渡す。そのため、2バイト演算が下手なMC6800ではループ終了検出がややこしくなる。v...
BASICMASTER MC6800のプログラミングテクニック(28) ループ処理(2)
前回はstrcmpの例を見てきた。今回はstrchrの話。strchrは検索文字として '\0' が渡される場合があるので、注意。通常は 文字が見つからずに末端の0に至った場合は NULLを返すが、'\0' を検索していたときはそのアドレス...
BASICMASTER MC6800のプログラミングテクニック(27) ループ処理(1)
strcmpを見たついでに、ループ処理の話をしよう。まずは単純に文字列の末端を探すループを書いてみる。 while (*s) { s++; }素直にMC6800のアセンブラに落とすとこうなるが、こう書いてはいけない。loop: tst 0,...
BASICMASTER MC6800のプログラミングテクニック(26) 分岐条件の生成(4)
条件比較の結果を、Accに入れる話の続きである。今回は、strcmpのように 負数と正数 を入れたい場合の話。浮動小数点演算でも必要になる。 MC6800のプログラミングテクニック(6) 分岐条件の生成(1) MC6800のプログラミングテ...
BASICMASTER 富士通MB8861の追加命令 (3)ADX
富士通MB8861はMC6800上位互換のCPUであり、5種6命令が追加されている。今回はADX命令の解説。ADXはIXレジスタに8bitの即値あるいはメモリ上の16bitデータを加算する。 命令codebytecyc機能概略 ADX(im...
BASICMASTER 富士通MB8861の追加命令 (2)TMM
富士通MB8861はMC6800上位互換のCPUであり、5種6命令が追加されている。今回はTMM命令の解説。 命令codebytecyc機能概略 TMM7B37BP ∩ (M), BP ∩ (M) の結果と BP の EX-OR をとり各々...
BASICMASTER 富士通MB8861の追加命令 (1)NIM/OIM/XIM
ベーシックマスターのハードウェア(14)富士通MB8861 に換装の続き。富士通MB8861はMC6800上位互換のCPUであり、5種6命令が追加されている。そのうちNIM/OIM/XIM/TMMは、メモリ上のデータをbit単位で(レジスタ...
BASICMASTER ベーシックマスターのハードウェア(14)富士通MB8861 に換装
黎明期の日本のマイコン雑誌では、8080対6800の論争も話題の一つであった。当時、日本でもアメリカでもホビー分野のシェアトップは8080なのだが、2番手が違う。日本では6800、アメリカでは6502が人気であった。日本の80系人気はZ80...
BASICMASTER ベーシックマスターのソフトウェア(8)BASICプログラム領域の謎を解く
以下、ベーシックマスターのハードウェア(2)グラフィック画面のアドレスの続きなのだが、ソフトウェアの話になる。先の記事では、グラフィック画面の開始アドレスやBASICプログラムの格納開始アドレスが、資料によっては$0A00と書かれていると書...
