日立ベーシックマスターの記事
BASICMASTER ベーシックマスターは何台出荷されたのか? (ドイツ戦車問題)
ヤフオクを見ていると、年に何台かベーシックマスター Jr.(MB-6885)の出品がある。稀にMB-6881が出品されることもあるが、MB-6880になるとレアである。オークションの金額も鰻登りだ。今でもこれだけの台数が残っているからには、...
BASICMASTER 6800の未定義命令(2) AIに調べさせた
visual6800には、MC6800のトランジスタレベルでのシミュレーターが存在する。これを解析すれば 未定義命令は解明できるのではないかと思って、なんども調べたが歯が立たなかった。そもそもトランジスタ4000個以上あるし、配線図すらない...
BASICMASTER IEEE754浮動小数点演算の効率化・除算
chibiccー6800 の浮動小数点演算の効率化作業をしているんだけど、その過程でいくつかの知見を得た。たぶん、過去の文献や資料にある話だと思うのだけど、メモしておく。ここでの対象は MC6800用のCコンパイラ chibicc用の浮動小...
BASICMASTER eBASICMasterJrのパッチを書いた
いまさらベーシックマスターの開発環境を作ってみる(3) eBASICMasterJrで紹介したebmjrのパッチを書いてみた。ebmjrは、Takeda toshiyaさんが開発しているエミュレータ。デバッガが良くできていて便利だけど、実機...
BASICMASTER I/O誌のBASIC COMPILER/BMを動かしてみる
I/O 1981年6月号pp105-112に、L1 BASICのコンパイラ(BASIC COMPILER/BM)が掲載されている。大昔、学生だったころはGAMEかKUMAJIRIコンパイラばかり使っていて、L1 BASICコンパイラを使った...
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のプログラミングテ...
