2015年3月31日火曜日

コマンドプロンプト「CMD」

コマンドプロンプトプログラム「CMD」の使い方を説明します。
BASICプログラムなので、
LOAD"CMD"
RUN
もしくは
RUN"CMD"
で起動します。

プロンプト「?」が表示されたら、以下のコマンドを実行することができます。
機能コマンドパラメータ戻り値備考
MRAMのメモリ内容を
SDカードのファイルへセーブ
sv [slot] [file name][slot] : セーブ元
 3 : RAMPAC2: SLOT3: デフォルト装置番号6
 4 : RAMPAC1: SLOT4: デフォルト装置番号5
 5 : 8KB RAM PAC2: SLOT5
 6 : 4KB RAM PAC2: SLOT6
 7 : 2KB RAM PAC2: SLOT7
[file name] : SDカードセーブ先ファイル名
 "/"から始まった場合、絶対パス
セーブが成功した場合は「OK」
エラーが発生した場合は、エラー文字列
事前に、SDカードにファイルが存在する必要がある
ファイル名は、半角英数8.3形式
書き込み後も、タイムスタンプは更新されない
SDカードのファイルをロードld [slot] [file name][slot] : ロード先
 2 : SDカードの漢字ROMファイルをAVRに保存
 3 : RAMPAC2: SLOT3: デフォルト装置番号6
 4 : RAMPAC1: SLOT4: デフォルト装置番号5
 5 : 8KB RAM PAC2: SLOT5
 6 : 4KB RAM PAC2: SLOT6
 7 : 2KB RAM PAC2: SLOT7
[file name] : SDカードロード元ファイル名
 "/"から始まった場合、絶対パス
ロードが成功した場合は「OK」
エラーが発生した場合は、エラー文字列
漢字ROMは、ファイル読み込み後にフラッシュと
EEPROMに保存する
フォルダとファイルの
リストを表示
ls [path][path] : 読込元のSDカードのパス名
 パスを指定しない場合は、カレントフォルダを表示
(ファイル名・フォルダ名)の一覧。
エラーが発生した場合は、エラー文字列
フォルダの場合は名称の最後に"/"が付く
パス名を省略した場合、カレントパスの一覧を表示
カレントディレクトリの変更cd [path][path] : パス名成功した場合は、変更したパス名
エラーが発生した場合は、エラー文字列
電源OFFされるまで、カレントパスは保持される
「..」で親パスを指定できます

※ セーブ前に、SDカードにファイルがある必要があります。ファイルサイズは、以下を参照
スロット番号機能ファイルサイズ備考
2漢字ROM PAC2131,072 byte書込み完了まで数十秒かかります
364KB RAM PAC2 #265,536 byte
464KB RAM PAC2 #165,536 byte
58KB RAM PAC28,192 byte
64KB RAM PAC24,096 byte
72KB RAM PAC22,048 byte

例えば65,536バイトのファイルをWindowsのコマンド・プロンプト上で作成する場合、以下のコマンドで作成できます。(WinXP以降)
fsutil file createnew 64kb.bin 65536
これで、「64kb.bin」というファイルができあがるので、SDカードにコピーしてXPAC2で利用できるようになります。

(注) XPAC2でSDカードを利用する場合、電源を入れる前に挿入してください。

2015年3月30日月曜日

XPAC2付属ソフトのバックアップ

XPAC2には、以下の3つのソフトが付属しています
・EDIT       : XPAC2メモリのダンプ、編集
・FORMAT : XPAC2メモリのフォーマット
・CMD       : SDカード操作コマンドプロンプト

付属ソフトはAVRのEEPROMに保存されており、漢字ROMを書き込んだ場合は消えてしまので、MRAMもしくはSDカードに保存してください。
装置番号#6のMRAMに保存する場合、以下の手順でバックアップできます

パソピア7の場合
SLOT 5
LOAD"5:EDIT"
SAVE"6:EDIT"
LOAD"5:FORMAT"
SAVE"6:FORMAT"
LOAD"5:CMD"
SAVE"6:CMD"

初代パソピアの場合は、SLOT命令が無いので、以下のようにポートを直接叩いて指定します
OUT &H1B,5:LOAD"EDIT"
OUT &H1B,3:SAVE"EDIT"
OUT &H1B,5:LOAD"FORMAT"
OUT &H1B,3:SAVE"FORMAT"
OUT &H1B,5:LOAD"CMD"
OUT &H1B,3:SAVE"CMD"

装置番号#6のMRAMに保存した3つのファイルをSDカードへ保存にする場合は、以下のように行います

まずPCなどを使って65,536バイトのファイルを作成。
例えば「tools.bin」というファイルをWindows XP以降のコマンド・プロンプト上で作成する場合、以下のコマンドで作成できます。
fsutil file createnew tools.bin 65536

作成した「tools.bin」ファイルをそのままPCのエクスプローラーなどでSDカードへ保存
SDカードをXPAC2に差込み、パソピアの電源を入れる
コマンドプロンプト「CMD」を実行
RUN"6:CMD"
初代パソピアの場合は、
OUT &H1B,3:RUN"CMD"

プロンプト「?」が表示されたら、以下のコマンドを実行
sv 3 tools.bin
これで装置番号#6(スロット番号#3)に保存したデータが、SDカードのファイル「tools.bin」に保存されます。

保存したデータをMRAMに復元する場合は、コマンドプロンプトから以下のコマンドを実行します
ld 3 tools.bin


2015年3月29日日曜日

パソピア/7用コンボカード[XPAC2]の機能まとめ

XPAC2のマニュアルにも記載していますが、少しずつ補足しながらまとめていきます

【機能】
初代パソピア(T-BASIC 1.0/1.1)、パソピア7(T-BASIC7 1.0)において、以下の機能を提供します。
  1. 128KBの不揮発メモリ(MRAM)を搭載し、64KB×2のシリコンディスクとして利用できます。
  2. SDカードからMRAMにデータ読込みできます。
    MRAMデータをSDカードのファイルへ上書き保存できます。
    ※SDカードはSPIモードをサポートしている必要があります。SDXCは動作しません。
  3. MSXタイプのジョイスティックを2台まで接続できます。
  4. 漢字ROMデータを書き込むことで、漢字ROMとして利用できます。
    ※別途、漢字ROMのイメージファイルが必要です。
  5. MRAMとは別に、8KB/4KB/2KBのSRAMを拡張メモリとして利用できます。 
※パソピア5は、実機を持っていないため、動作確認できていません。
※T100は、文字列コードが異なるため、SJIS文字のファイル名が読めません。


【装着】
パソピア/7のPACスロット2に差し込んで装着します。
※下写真の向きで装着してください。逆挿しすると故障の原因となります。

SDカードは、ラベル面が手前になるように、カチッと音がするまで奥に差込します。
取り外す場合は、もう一度押すと少し飛び出しますので引き抜いて取り外します。
※SDカードは、電源投入前に差し込んでください。


【機能の切り替え方】
スロット番号を指定して、利用する機能を切り替えます。
スロット
番号
機能備考注意
1JoystickアダプタMSXタイプジョイスティック同じ9ピン2段のコネクタでも、ピンアサインが
異なる場合があるので注意してください
2漢字ROM PAC2漢字ROMデータを読み書き後に利用可能
364KB RAM PAC2 #2MRAM (不揮発メモリ) 装置番号#6
464KB RAM PAC2 #1MRAM (不揮発メモリ) 装置番号#5初代パソピアのデフォルトスロット
58KB RAM PAC2SRAM (漢字バッファ兼用)出荷時は、ツールプログラムが入っている
漢字ROMデータ書き込み後は、漢字ROMの一部(0x6000~0x8000)データが入っている
64KB RAM PAC2SRAM
72KB RAM PAC2SRAM (SDカードバッファ兼用)SDカードアクセス時に、バッファとして使うため、メモリ内容は変更される
※MRAMは、本体の電源を消してもデータは保持されます。
※SRAMは、本体の電源を消すと初期化されます。スロット#5のデータは、次回電源投入時にEEPROMからデータが復元されます。

パソピア7(T-BASIC7)の場合、以下のコマンドでスロット番号を指定します。
SLOT [装置番号#5], [装置番号#6], [漢字ROM], [Joystickアダプタ]
※電源投入時は「SLOT 4,3,2,1」 

初代パソピア(T-BASIC)の場合、以下のコマンドでスロット番号を指定します。
OUT &H1B, [スロット番号]
※電源投入時は「OUT &H1B, 4」

※パソピア7はBASIC命令でほとんど全ての機能を利用することができますが、初代パソピアの場合、BASIC命令が無い場合にOUT/IN命令でポートを直接叩いて処理を実行する必要があります。

2015年3月28日土曜日

XPAC2販売開始しました

少し前ですが、3/16から三月兎さんでXPAC2の販売を開始しました。
¥12,800+税¥1,024と、キレの良い値段になっています。。

店頭の場合、三月兎さん二号店になります
http://www.march-rabbit.jp/index.php?main_page=page_2

通販の場合は、こちらです。
http://www.march-rabbit.jp/index.php?main_page=product_info&products_id=3739

購入していただいた皆様、ありがとうございました。
申し訳ないですが、現在、在庫切れです。

今週、MRAMと基盤が届きましたので、少量ですが本日、追加出荷しました。

一つずつ手作りですので時間がかかってしまい、申し訳ないです。
予約されている皆様、もう少々お待ち願います。 m(_ _)m

2015年3月15日日曜日

XPAC2動作チェック

XPAC2の開発は普段パソピア7を使っていましたが、出荷の前に他の機種も動作するか検証してみました。

まずは、T100 (T-BASIC Ver1.1)
キーが違うので使い慣れない。。RETURNキーの形とか、GRAPHキーが左上だったりとか。
右上の刻印なしのキーは、押しても何もならない。KANJIキーの代わりだと思うが。。

XPAC2挿入

ちゃんとSDカード読み書きできた。ただ半角カナ文字は、化けてる。。

カセットテープからSDカードに保存したサンプルを動作させてみる。

SDカード読み書き、MRAMアクセス、問題なく動いた。

続いてパソピア700
動作検証を兼ねて、漢字ROMイメージの吸い上げ方法をまとめた
漢字ROMを吸い出して、メモリに保存するアプリを作成。
16KB毎に、8つに分割して吸い出す方法を採用。
裏RAMに保存する方法だとテープ保存は問題ないが、フロッピーディスク保存が出来なかったので8分割でこまめに保存するようにした。

裏RAMデータも含めて、64KBのメモリ全てをMRAMにコピーするアプリも用意した。
8分割した漢字ROMファイルは裏RAMに書き戻した後、このアプリでMRAMにコピーしてSDカードに保存することにする。
これでデータ化けの心配なく、漢字ROMデータを吸い上げることができるようになった。
手間がかかるが。。

あとは、初代パソピア(T-BASIC Ver1.1)の動作チェック

Josystickの動作チェックも実施
東芝のジョイスティックはボタンが2つあるが、どちらもAトリガーなので、スピタル産業の方でBトリガーの検証を行った。

全数チェックして問題無さそうなので、本日、三月兎さんへ出荷しました。
どれだけニーズがあるかわかりませんが、パソピアに興味のある方、ご検討願います
 m(_ _)m

XPAC2ファーム更新

出荷に先駆けて、ファームを書き換えて、XPAC2の機能を拡張しました。
スロット
番号
機能備考注意
1JoystickアダプタMSXタイプジョイスティック同じ9ピン2段のコネクタでも、ピンアサインが
異なる場合があるので注意が必要
2漢字ROM PAC2漢字ROMデータを読み書き後に利用可能
364KB RAM PAC2 #2MRAM (不揮発メモリ) 装置番号#6
464KB RAM PAC2 #1MRAM (不揮発メモリ) 装置番号#5初代パソピアのデフォルトスロット
58KB RAM PAC2SRAM (漢字バッファ兼用)出荷時は、ツールプログラムが入っている
漢字ROMデータ書き込み後は、漢字ROMの一部(0x6000~0x8000)データが入っている
64KB RAM PAC2SRAM
72KB RAM PAC2SRAM (SDカードバッファ兼用)SDカードアクセス時に、バッファとして使うため、メモリ内容は変更される

※1~3 スロット5/6/7は、SRAMのため電源OFF時にクリアされる
・フォーマットすると、RAM PAC2として利用可能
・T-BASIC7の場合、SLOT命令でドライブ切替え可能
 「SLOT 7」:ドライブ5は、4KB RAM PAC2 #3
 「SLOT 4」:ドライブ5は、64KB RAM PAC2 #1

出荷時には、スロット5の8KB RAM PAC2に以下プログラムが保存されています。
・EDIT : XPAC2メモリのダンプ、編集
・FORMAT: XPAC2メモリのフォーマット
・CMD : SDカード操作コマンドプロンプト

T-BASIC7の場合、以下で起動
SLOT 5
RUN "5:プログラム名"

T-BASICの場合、以下で起動
OUT &H1B,5
RUN "プログラム名" 

SDカード操作コマンドプロンプト「CMD」で、以下のコマンドを実行することができます。
機能コマンドパラメータ戻り値備考
MRAMのメモリ内容を
SDカードのファイルへセーブ
※4
sv [slot] [file name][slot] : セーブ元
 3 : RAMPAC2: SLOT3: デフォルト装置番号6
 4 : RAMPAC1: SLOT4: デフォルト装置番号5
 5 : 8KB RAM PAC2: SLOT5
 6 : 4KB RAM PAC2: SLOT6
 7 : 2KB RAM PAC2: SLOT7
[file name] : SDカードセーブ先ファイル名
 "/"から始まった場合、絶対パス
セーブが成功した場合は「OK」
エラーが発生した場合は、エラー文字列
事前に、SDカードにファイルが存在する必要がある
ファイル名は、半角英数8.3形式
書き込み後も、タイムスタンプは更新されない
SDカードのファイルをロードld [slot] [file name][slot] : ロード先
 2 : SDカードの漢字ROMファイルをAVRに保存
 3 : RAMPAC2: SLOT3: デフォルト装置番号6
 4 : RAMPAC1: SLOT4: デフォルト装置番号5
 5 : 8KB RAM PAC2: SLOT5
 6 : 4KB RAM PAC2: SLOT6
 7 : 2KB RAM PAC2: SLOT7
[file name] : SDカードロード元ファイル名
 "/"から始まった場合、絶対パス
ロードが成功した場合は「OK」
エラーが発生した場合は、エラー文字列
漢字ROMは、ファイル読み込み後にフラッシュと
EEPROMに保存する
フォルダとファイルの
リストを表示
ls [path][path] : 読込元のSDカードのパス名
 パスを指定しない場合は、カレントフォルダを表示
(ファイル名・フォルダ名)の一覧。
エラーが発生した場合は、エラー文字列
フォルダの場合は名称の最後に"/"が付く
カレントディレクトリの変更cd [path][path] : パス名成功した場合は、変更したパス名
エラーが発生した場合は、エラー文字列
電源OFFされるまで、パスは保持される

※4 セーブ前に、SDカードにファイルがある必要があります。ファイルサイズは、以下を参照
スロット番号機能ファイルサイズ備考
2漢字ROM PAC2131,072 byte書込み完了まで数十秒かかります
364KB RAM PAC2 #265,536 byte
464KB RAM PAC2 #165,536 byte
58KB RAM PAC28,192 byte
64KB RAM PAC24,096 byte
72KB RAM PAC22,048 byte

いったんこれで、コードはFix
リリースに向けて、動作検証を行う。

2015年3月14日土曜日

XPAC2 ケース

XPAC2用のケースを作ってみる

まずは、電解コンデンサを低頭のものに変更。
左側が交換後の低頭コンデンサ

カセットテープのケースを流用。
出っ張るところを削って

下の方は、基板との間に挟む足を着けておく

基板をネジ留めして、ケースに入れる

裏はこんなかんじ

両脇がパソピア本体とぶつかるので、干渉する部分を削る

パソピア7にセットしたところ。

うーん、、フィッティングはいまいち。
パソピア7には入ったけど、初代パソピアとパソピア700には入らなかったのでボツです。

2015年3月8日日曜日

PC-8001mk2SR キングフラッピー

ソフト箱を漁っていたら、PC-8801/mk2/SR/8001mk2SRで使えるキングフラッピーを発見

パッケージ裏。SR用はFM音源のBGM付きとのこと。

以前環境を作ったj80で、PC-8001mk2SR版を動かしてみる

オープニング。

2/4/6/8キーで下/左/右/上、スペースキーで睡眠きのこ
ん?2/4/6/8がテンキーの位置と合っていない?

ゲーム画面

動画はこちら。

#フラッピーに服を着せたら、ふなっしーっぽくなりそう。。

2015年3月6日金曜日

XPAC2 バージョンアップ

新しいXPAC2の基板が到着。

今回は3枚くらい作ろうと、必要な部品を並べてみた。
いくつか足りない部品があって、2枚だけ作ることに。

まずは、表面実装のSOPから取り付け。
足の位置を調整したので、前回よりも付けやすかった。

組み立て完了。
ジャンパー線が無くなったので、すっきり。

以前の基板と比較。左が旧で、右が新
集合抵抗の位置などを見直したり、配線見直しでスルーホールの数が減っている。
あとSDカードスロットの半田穴を見直しして、外れにくくなっているはず。