ベーシックマスターのハードウェア(2)グラフィック画面のアドレス
BM Jr. のグラフィック画面のアドレスの資料が2種類あって混乱したのでメモっておく。 BMの回路図、グラフィック・ユーティリティの資料では、グラフィック画面1は$0A00-$21FF、画面2は$2200-$39FFとなっている。 (しか ...
ベーシックマスターのハードウェア(1)回路図
ベーシックマスターの回路図は、I/O誌・別冊に載っていたJrの回路図が有名だが、実はインターフェース誌にも回路図が掲載されていた。インターフェイス誌の記事には、回路図の他に解説記事も載っており、回路を解析したい方は必読である。 インターフェ ...
EtchedPixels/EmulatorKit でMIKBUGを動かしてみた(5)Altair 680 4K BASICのBUG?
emu6800にmikbug互換のルーチンを入れて Altair 4K BASICのテストを行ってみた。すると、なぜかSAVAGEベンチマークテストが途中で止まる。なんだこれ? 私が使っているのは、Vintage Computer Prog ...
EtchedPixels/EmulatorKit でMIKBUGを動かしてみた(4)emu6800も使ってみる
rcbus-6800+MIKBUGでプログラムが動くようになったが、デバッグが面倒くさい。 emu6800のように逆アセンブルしながら動作できるとデバッグしやすいので、emu6800にMIKBUG、Altair680の互換サブルーチンを仕込 ...
EtchedPixels/EmulatorKit でMIKBUGを動かしてみた(3)
引き続き rcbus-6800+MIKBUGでプログラムを動かしてみる。 モトローラ6800CPUボード(SBC6800)で電大版TinyBASICを動かす (6) テストプログラム動作確認と電大版TinyBASIC | KUNINET B ...
EtchedPixels/EmulatorKit でMIKBUGを動かしてみた(2)
rcbus-6800でMIKBUGが動くようになったので、何かプログラムを動かしてみよう。 モトローラ6800CPUボード(SBC6800)で電大版TinyBASICを動かす (6) テストプログラム動作確認と電大版TinyBASIC | ...
EtchedPixels/EmulatorKit でMIKBUGを動かしてみた(1)
6800系の開発テストには、Fuzix-Compiler-Kit/testにあるemu6800を使っているのだが、これは文字出力はできても入力ができない。 言語処理系のテストでは出力だけでも良いのだけど、ライブラリのテストや、ちょっとしたゲ ...
MC6800のプログラミングテクニック(25) 除算の再検討 電大版TinyBASICの除算
除算の再検討のために、過去に発表されたプログラムの除算を見ていたら、あれ?と思う部分があった。 Nakamozu Tiny BASIC と 電大版Tiny BASICである。前者は後者を参考にしたと思われるので、電大版を見てみよう。 電大版 ...
MC6800のプログラミングテクニック(24) 除算の再検討 整数除算
いままで開設した整数除算では、被除数Aを1bitずつ左シフトしつつ除数と比較していた。以下の8bit比較法除算を例に考えてみよう。 被除数 AccAの上位ビットを、ワーク領域 AccBに 1ビットずつシフトしている。シフトして除数を引いて、 ...
MC6800のプログラミングテクニック(23) 除算の再検討 32bit版
32bit版の除算を考える。考え方は8/16bit版と一緒だが、32bitだとレジスタが全く足りない。32bit加減算が必要なのに、AccAB合わせても16bit幅しかない。 被除数とワーク領域(剰余)だけで合計8バイトものシフトが発生する ...
MC6800のプログラミングテクニック(22) 除算の再検討 16bit版
こんどは16bit版の除算を考える。考え方は8bit版と一緒だが、16bitだとレジスタが足りないので工夫が必要になる。 ワーク領域(剰余)は加減算が必要なので、レジスタに置く。16bit除算なので加減算も16bit幅だ。これでAccABを ...
MC6800のプログラミングテクニック(21) 除算の再検討・データの性質
整数除算の商のビットの0,1を数えると、0になるビットが多く 1は少ない。その性質が整数除算の高速化に使える。 被除数(a)と除数(d)がランダムに分布していると仮定してみよう(実際には扱うデータによって異なるはずだが、簡単に考えてみる)。 ...






