Basic Master Jr.
Notes
- MB-6885
- 1981/12発売
- 89,800円
Specifications
- CPU:HD46800(750KHz/6800互換)
- ROM:18KB
- RAM:16KB(最大63.5KB)
- テキスト:32x24
- グラフィック
- 64x48(セミグラ/カラー?)
- 256x192(白黒/2ページ)
- サウンド:単音3オクターブ
Options
Serial | Name | Price | Note |
---|---|---|---|
MP-1041 | プリンター | ||
MP-1710 | カラーアダプター | 256x192/8色(キャラ単位) | |
MP-3520(?) | インターフェース拡張 | ||
MP-3530(?) | ミニフロッピーディスク | ||
MP-3540(?) | ミニフロッピーディスク(拡張用) | ||
MP-9780 | VHFカラーコンバーター | ||
C14-1180 | カラーディスプレイ | 98,000円 | |
K12-2060G | モノクロディスプレイ | 36,800円 |
Memory Map
Address | Size | Type | Description |
---|---|---|---|
$0000~$00ff | 0.25KB | RAM | System Work? |
$0100~$03ff | 0.75KB | RAM | Text VRAM |
$0400~$08ff | 1.25KB | RAM | BASIC Work? |
$0900~$20ff | 6KB | RAM | VRAM #1 |
$2100~$38ff | 6KB | RAM | VRAM #2 |
$3900~$3fff | 1.75KB | RAM | Free Area |
$4000~$afff | 28KB | RAM | Extended Memory? |
$b000~$dfff | 12KB | ROM | 12K BASIC |
$e000~$e7ff | 2KB | ROM | MT-2 OS |
$e800~$efff | 2KB | RAM | Memory Mapped I/O |
$f000~$ffff | 4KB | ROM | Monitor |
I/O
Address | R/W | Description | Note |
---|---|---|---|
$e890 | RW | Tile Color (MP-1710) | 文字色/文字背景色 |
$e891 | RW | Background Color (MP-1710) | 背景色(bit2-0) |
$e892 | RW | Monochrome/Color Setting (MP-1710) | 色情報(bit0) |
$ee00 | R | Stop Tape | |
$ee20 | R | Start Tape | |
$ee40 | W | 画面反転(文字色と背景色の入れ替え) | 0x00:通常,0xff:反転 |
$ee80 | RW | Tape Input/Output | |
$eec0 | RW | Keyboard | |
$ef00 | R | Timer | |
$ef40 | R | (unknown/0x30) | |
$ef80 | R | (unknown/0xff) | |
$efe0 | W | Screen Mode | bit7-6,bit3-2 |
$eec0
- ストローブ設定後に読み込む。
bit | read | write |
---|---|---|
7 | カナ記号 | |
6 | カナ | |
5 | 英記号 | |
4 | 英数 | |
3-0 | キーコード | ストローブ設定 |
Screen Mode
$efe0 | Screen |
---|---|
0x00 | Text |
0x40 | Text + Graphic #1 |
0x4c | Text + Graphic #2 |
0xc0 | Graphic #1 |
0xcc | Graphic #2 |
MT-2 OS
Address | Description | Note |
---|---|---|
$e14f | テキスト画面クリア | $0100~$03ffを$00クリア |
$e27d | 文字列表示 | モニタの文字列表示($fff2)のフック |
$e38d | グラフィック画面(ページ1)クリア | $0900~$20ffを$00クリア |
$e39c | グラフィック画面(ページ2)クリア | $2100~$38ffを$00クリア |
Monitor
Address | Description | Note |
---|---|---|
$f000 | モニタ起動 | |
$f003 | X = X + B | |
$f006 | ||
$f009 | ブロック転送 | |
$f00c | サウンド出力 | |
$f00f | キー入力 | |
$f012 | キー入力(echo) | |
$f015 | 1文字出力 | |
$f018 | テープ読み込み | |
$f01b | テープ書き込み | |
$f203 | 1文字表示 | |
$f20e | 文字列表示 | $fff2の本体 |
$f677 | BREAK割り込み許可 | $fff9の本体 |
$f684 | BREAK割り込み禁止 | $ffe6の本体 |
$f8d3 | 白黒反転解除 | |
$f8d7 | 白黒反転 | |
$faa3 | カーソル位置のテキストVRAMアドレス取得 | $fff5の本体 |
$ffe6 | BREAK割り込み禁止 | |
$ffe9 | BREAK割り込み許可 | |
$ffec | Xレジスタ表示(16進数) | |
$ffef | 画面クリア | $0100~$03ffを$20クリア |
$fff2 | 文字列表示 | |
$fff5 | カーソル位置のテキストVRAMアドレス取得 |
Control Code
code | abbr. | full | note |
---|---|---|---|
$00 | NUL | Null | |
$01 | SOH | Start of Heading | |
$02 | STX | Start of Text | |
$03 | ETX | End of Text | |
$04 | EOT | End of Transmission | カーソルホーム(左上)移動 |
$05 | ENQ | Enquiry | |
$06 | ACK | Acknowledge | |
$07 | BEL | Bell | ビープ音 |
$08 | BS | Backspace | カーソル左移動 |
$09 | HT | Horizontal Tabulation | カーソル右移動 |
$0a | LF | Line Feed | カーソル下移動 |
$0b | VT | Vertical Tabulation | カーソル上移動 |
$0c | FF | Form Feed | 画面クリア |
$0d | CR | Carriage Return | 改行 |
$0e | SO | Shift Out | 画面反転(文字色と背景色の入れ替え) |
$0f | SI | Shift In | 画面反転解除 |
$7f | DEL | Delete | カーソル左移動&文字消去 |
6800 Vector
Address | |
---|---|
$fff8 | Hardware interrupt vector |
$fffa | SWI instruction interrupt vector |
$fffc | Non-maskable interrupt vector |
$fffe | Reset vector |
BASIC
- BASIC MASTER LEVEL-2 V1.1
- 命令
- コマンド:NEW,CONTINUE(C),SIZE(S),VERIFY,MERGE,MONITOR(MON)
- ステートメント:IF~THEN,FOR~TO~STEP~NEXT,STOP,END,READ,ON~GOTO(ON~GO),ON~GOSUB(ON~GOS),DATA,RESTORE,POKE,CLEAR,(CLR),CALL,REM,DEF,RANDOMIZE(RNDM),DIM
- 組込み関数:SIN,COS,TAN,ATN,EXP,LOG,SQR,ABS,INT,RND,SGN,TAB,HEX,LEFT$,RIGHT$,MID$,ASC,STR$,VAL,CHR$,LEN,SPC$
- その他:MUSIC(MU),PLOT,CURSOR(CUR,!),TIME,PAI,CURSOR$,INKEY$,PEEK,OPEN,CLOSE
- 行番号は1〜32767
中間コード
abbr. | code | description | syntax | |
---|---|---|---|---|
RUN | R | $01 | プログラムの実行 | RUN [<行番号>] |
LIST# | L# | $02 | ||
LIST | L | $03 | リストの表示 | LIST [<開始行>][,<終了行>] |
DEL | $04 | 行の削除 | DEL <開始行>[,<終了行>] | |
RESEQ | $05 | 行番号を付け直す | RESEQ [<開始行>=10][,<間隔>=10] | |
SEQ | $06 | 行番号を自動で生成する | SEQ [<開始行>=10][,<間隔>=10] | |
GOTO | GO | $07 | 指定行へジャンプ | |
GOSUB | GOS | $08 | サブルーチンの呼び出し | |
LOAD | $09 | CMTからプログラムを読み込む | ||
SAVE | $0a | CMTへプログラムを書き込む | ||
RETURN | RET | $1b | GOSUBの呼び出し元へ戻る | |
INPUT | IN | $22 | ||
PR,? | $23 | |||
LET | $26 | 変数の宣言/代入 |
フォーマット
offset | description |
---|---|
+$00~$01 | 行番号 |
+$02 | サイズ(=$nn+2) |
+$03~$nn | プログラム |
+$nn+1 | 改行($0d) |
- 終端は行番号=$ffff
エラー
message | |
---|---|
OVERFLOW ERROR | オーバーフロー |
SYNTAX ERROR | 文法エラー |
ERROR 3 | |
ERROR 13 | 変数が未定義 (?) |
ERROR 19 | |
ERROR 25 | プログラムでは使用出来ない(ダイレクトモード専用) (?) |
Links
- Assembler
- AS02 / Frank's home page
- Disassembler
- DASMx / Pete's Collection of Curios
- Emulator
- 日立ベーシックマスターJr.エミュレータ bm2 / - Version 0 -
- マーク5エミュレータ / SASAJIe's HOME
- 6800IDE / HyperVision Research
Documents
- 日立評論デジタルアーカイブ
- マイクロコンピュータ「ベーシックマスター」 (pdf) / 日立評論1979年4月号
- MC6800 / try's page - 半導体コレクション
- 6800 MICROPROCESSOR Instruction Set Summary / textfiles.com
Last modified 2015-09-09 00:50:39