2020年10月28日

NANOCART/ROMEMU用ROMファイル選択プログラム(ver1.1)

  NANOCART用のROMファイル選択プログラム(ver1.1)をリリースします。

INITROM.zip


  ver1.0→ver1.1変更点

  NANOCARTのバンク記憶の仕様変更に伴う変更。



 このプログラムは、NANOCARTで複数のROMファイルをSDカードに格納した時に選択できるものです。

  NANOCARTで使用するためには、まず SDカードに \ROM を作成して下さい。
 \ROM の下に、INIT.ROM を格納して下さい。

  この状態で、P6 をリセット長押し→離すと、P6が起動しますが、その時に SHIFT を
 押しているとROMファイルの選択画面になります。

  SHIFT を押していないと、通常に起動します(FDDなどが起動する)。

posted by えすび at 01:21| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

NANOCARTリリース(ver1.21)


  NANOCART (ver1.21)をリリースします。

NANOCART.zip


 ver1.20 → ver1.21 変更点

 バンク情報の記憶方法を

 ポート0x06に書き込みをした時→ポート0x06から読み出しをした時

 に変更




 NANOCART とは?

 NANOCARTとは、動画再生カートリッジを使ってFDDエミュレータとROMエミュレータを実現したものです。

 動画再生カートリッジとは、以前に作成したもので、DE0-nanoとP6シリーズのバスを繋いだだけの簡単なものです。そのため、DE0-nanoが実現できることなら大抵の事ができるので、今回は動画再生ではなく、FDDとROMのエミュレータを作成しました。


 NANOCARTが出来る事は以下の通りです。

 1)SDカードからフロッピーのデータを、P6から読み書きできる。

 2)SDカードからROMデータを読み出し、DE0-nano内のSDRAMに格納する。
   そのDE0-nano内のSDRAM を読み出し、P6の拡張ROMとして動作させることができる。

 3)P6から、DE0-nano内のSDRAM に読み書きができ、P6の拡張RAMとして動作させることができる。


 詳細は同梱の説明書を参照してください。

posted by えすび at 01:21| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2020年10月27日

NANOCARTでなんでもメガROMを使った時の問題

  NANOCARTでなんでもメガROMを使った時の問題が見つかりました。


  問題は、複数のファイルがある場合、2つ目以降のプログラムを
 動かした後にリセットすると、「How Many Pages?」が出ると
 いうものです。

  理由は NANOCART側の問題なので、次バージョンで対処します。
  併せて INIT.ROM も変更します。




posted by えすび at 23:32| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2020年10月25日

mk2/mk2SRでSD6031WIF/NANOCARTを使う改造

  66、66SR では、内蔵ドライブ以外に外付けドライブが使用できます。
  その構造を利用して作っているのが、SD6031WIF/NANOCARTです。

  しかし、mk2/mk2SR では、外付けドライブ用にコネクタと8255が用意されているため、そのままSD6031WIF/NANOCART は使用できません。

  mk2/mk2SR に少しの改造をするだけで、SD6031WIF/NANOCART を使う事ができるようになります。


  以下が改造する箇所です。

201025_01_mk2_FDD改造.png
  mk2改造箇所


201025_01_mk2SR_FDD改造.png
  mk2SR改造箇所


  FDDコネクタに繋がっている、8255のCS端子をベタ"L"→"H"にするだけの改造になります。
  "H"にするために、10Kでプルアップしています。

  元のFDDコネクタを使用したい場合は、スイッチをONにすると、"L"になり、元の回路に戻ります。



  実際の改造箇所ですが、基板のパターンカットをするか、8255のCSのピンを切るかをします。

  8255のCSのピンを切るのが確実なのですが、工作するのが難しい部分にあるので難易度が高いかもしれません。

  ピンを切る場合は、基板に近い箇所を切断し、上の方の部分を残すようにします。
  ニッパが入ればベストですが、私の場合はマイナスドライバを差し込んでねじ切りました。

201025_01_mk2_02.jpg
  mk2改造箇所1

201025_01_mk2_01.jpg
  mk2改造箇所2

201025_01_mk2SR_02.jpg
  mk2SR改造箇所1

201025_01_mk2SR_01.jpg
  mk2SR改造箇所2



  スイッチをどこに置くかが結構問題です。
  スイッチ自体を付けない(FDDコネクタを使わない)のもテです。

  私は本体背面に穴を開けて、スイッチを付けています。

posted by えすび at 18:05| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2020年10月24日

NANOCART/戦士mk2の似非mk2モード

  NANOCARTでも、戦士mk2と同じように似非mk2モードにできます。

 1)ROM を「マウントなし」にする。
   もしくはSDを抜いた状態でNANOCARTを長押しリセットする。

  →これで、外部RAMが64K割り当てられる。

 2)P6を再起動する。

 3)必要なPAGE数を入力する。

 4)BASICが起動したら、以下を入力する。

  out &H06,&H66
  out &Hf0,&H71
  out &Hf2,&H55

 5)目的のプログラムをロード、実行する。


  例えば、Tiny-XEVIOUS ならページ2を設定して、
 OUT命令を入力後、CLOAD、RUN で動作します。

  スペースハリアも同様に動作します。

  Thunder-Force は、ロード画面がmk2の画面モードを
 使用しているため、修正が必要になります。
 (修正方法は現在調査中です)


  戦士mk2のカートリッジの場合は、以下の手順になります。

 1)ESCを押してP6を起動します(66SRの場合は、一呼吸おいてから押して下さい)。
 2)必要なPAGE数を入力する。
 3)目的のプログラムをロード、実行する。

posted by えすび at 23:19| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

NANOCART用ROMファイル選択プログラム(ver1.0)

  NANOCART用のROMファイル選択プログラム(ver1.0)をリリースします。

INITROM.zip


 このプログラムは、NANOCARTで複数のROMファイルをSDカードに格納した時に選択できるものです。

  NANOCARTで使用するためには、まず SDカードに \ROM を作成して下さい。
 \ROM の下に、INIT.ROM を格納して下さい。

  この状態で、P6 をリセット長押し→離すと、P6が起動しますが、その時に SHIFT を押しているとROMファイルの選択画面になります。

  SHIFT を押していないと、通常に起動します(FDDなどが起動する)。

posted by えすび at 21:56| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

NANOCARTリリース(ver1.20)


  NANOCART (ver1.20)をリリースします。

NANOCART_201024.zip


 NANOCART とは?

 NANOCARTとは、動画再生カートリッジを使ってFDDエミュレータとROMエミュレータを実現したものです。

 動画再生カートリッジとは、以前に作成したもので、DE0-nanoとP6シリーズのバスを繋いだだけの簡単なものです。そのため、DE0-nanoが実現できることなら大抵の事ができるので、今回は動画再生ではなく、FDDとROMのエミュレータを作成しました。


 NANOCARTが出来る事は以下の通りです。

 1)SDカードからフロッピーのデータを、P6から読み書きできる。

 2)SDカードからROMデータを読み出し、DE0-nano内のSDRAMに格納する。
   そのDE0-nano内のSDRAM を読み出し、P6の拡張ROMとして動作させることができる。

 3)P6から、DE0-nano内のSDRAM に読み書きができ、P6の拡張RAMとして動作させることができる。


 詳細は同梱の説明書を参照してください。

posted by えすび at 21:29| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

2020年10月11日

SD6031関連

  SD6031関連について4件ほどアップしました。

  一気に大量にアップしたので、何か間違っているかもしれません...


  今回の目玉(?)は、SD6031Air対応+OLED対応です。
  ただ、SD6031Air を持っている人がどれほどいるかが問題かも...


  SD6031/SD6031WIF も、今使っている ATMEGA164P じゃなくて
 ATMEGA1284P を使うと、SD6031Air のように SDカードから
 アップデートができるようになりそうなんですが...

  ATMEGA1284P に変更して、OLED が実装できたら、ほとんど
 SD6031Air と同等になるんですが...
  OLEDを制御するためには、端子が足りない...残念。



  次は、SD6031WIF をmk2/mk2SRで使うための、mk2/mk2SR 改造記事の予定です。

  その次は、NANOCART(動画再生カートリッジを使った、SD6031WIF+戦士mk2)の予定です。

posted by えすび at 21:55| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

FlashAir用イメージファイル選択アプリ(ver1.1)

  SD6031等用のFlashAir用イメージファイル選択アプリ(ver1.1)をリリースします。

WebApp_ver11.zip

 ・Ver1.0→Ver1.1変更点

  「no initialize when RESET」の項目の削除
  Webアプリのバージョンの表示
  SD6031などのファームウエアのバージョンの表示


 ・アップデートの手順
  FlashAir の \SD_WLAN の下に、

  image
  js
  p6ttf
  List.htm

  をコピーして下さい。
posted by えすび at 21:35| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

SD6031等用イメージファイル選択プログラム(ver3.0)

  SD6031等用のイメージファイル選択プログラム(ver3.0)をリリースします。

INIT_ver30.zip


 ・ver2.0→Ver3.0変更点

  拡張子を選択できるように変更
  ファイル名の並び替えを追加
  ドライブ数を2に固定
  ファームバージョンの表示
  BASIC起動のメニューの削除


  INIT.P31 を \d1 に格納して使用してください。


  SDCC を使ったため、サイズがちょっと大きくなっています。

posted by えすび at 21:31| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

SD6031Airファームウエアリリース(ver1.20)

  SD6031Air用のファームウエア(ver1.20)をリリースします。
 注)SD6031/SD6031WIFには使用できません。

SD6031Air_ver120.zip


 ・2018/01/14 version→Ver1.20変更点

  SD6031/SD6031WIFのver1.20 と同様の機能を実装
 (SDHCへの対応/D88の対応など)

  リセット方法の変更(後述)

  OLED の対応(後述)


  sd6031AR.hex は AVR用ファームです。AVRに書き込んで下さい。

  ファームウエアのアップデートの方法は以下の通りです。
  (アップデートは自己責任で行って下さい。アップデート、アップデート後の問題についても責任は負えませんので)。

 1)適当なSD/SDHCカードを用意する。出来れば中身が入っていないのがいい。
 2)SD/SDHCカードのルートに、SD6031AR.hex をコピーする。
 3)SD6031Air の電源を切る。さらに P6 から抜いておく。
 4)SD/SDHCカードをSD6031Airに挿入する。
 5)SD6031Air の電源を入れる。
 6)ファームウエアのアップデートが行われ、LEDが2回点滅する(電源を入れてからすぐに完了します)。
 7)LEDが2回点滅しない場合は、再度電源OFF、ONしてみて下さい。
 8)ファームウエアのアップデートが完了したら、忘れずに、SD/SDHCカード上のSD6031AR.hex を消しておく。


 ・リセットについて

  P6 のリセットボタンを押し続けると、SD6031Air の LED の赤と青の両方が15回ほど点滅します。

  15回点滅する前に、P6のリセットボタンを離すと、以下の動作になります。
  ・選択していた拡張子、イメージファイルはそのままです。

  15回点滅するまで、P6のリセットボタンを押し続けると、以下の動作になります。
  ・SD6031Air が初期化されます。
  ・選択していた拡張子は、P31になります。
  ・選択していたイメージファイルは、初期のもの(INIT.P31か、最新のファイル)になります。

  SDカードを抜いて、新たに刺した場合は、以下の動作になります。
  ・選択していた拡張子は、そのままです。
  ・選択していたイメージファイルは、選択している拡張子の中のINITファイルか最新のファイルになります。
   例えば、D88 の拡張子を選んでいると、(あれば)INIT.D88か、最新の〜.D88 が選ばれます。


 ・OLED について

  OLED は、SD6031Airのコネクタに接続します。

201011_02_OLEDコネクタ.jpg

  接続は以下の通りです。

  SD6031Air
   2 1
   4 3
   6 5

  SD6031Air:2 ←→ VCC:OLED
  SD6031Air:6 ←→ GND:OLED
  SD6031Air:5 ←→ SCL:OLED
  SD6031Air:1 ←→ SDA:OLED


  使用できる OLED は、以下のものです。

https://akizukidenshi.com/catalog/g/gP-12031/
https://www.amazon.co.jp/HiLetgo-128%C3%9764-LCD%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4SSD1306%E6%B6%B2%E6%99%B6-MSP430-Arduino%E3%81%AB%E5%AF%BE%E5%BF%9C/dp/B071ZPFDWW/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=OLED+SSD1306&qid=1602413330&refinements=p_76%3A2227293051&rnid=2227291051&rps=1&sr=8-3
https://www.amazon.co.jp/VKLSVAN-0-96-%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB-OLED%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB128%C3%9764-LCD%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4Arduino%E3%81%AB%E5%AF%BE%E5%BF%9C/dp/B08FJ5JJ85/ref=sr_1_9?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=OLED+SSD1306&qid=1602413330&refinements=p_76%3A2227293051&rnid=2227291051&rps=1&sr=8-9

  制御LSIが SSD1306 で、I2C 通信のものが使えると思います。


  コネクタの形状が SD6031Air と OLED とで違うため、変換用コネクタを
 作って実装しました。

201011_02_OLEDコネクタ1.jpg
201011_02_OLEDコネクタ2.jpg

posted by えすび at 21:21| Comment(0) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする

SD6031ファームウエアリリース(ver1.20)

  SD6031/SD6031WIF用のファームウエア(ver1.20)をリリースします。
 注)SD6031Airには使用できません。

SD6031_ver120.zip


 ・Ver1.12→Ver1.20変更点

  リセット方法の変更(後述)

  SDカードへのアクセスの高速化
  FlashAir使用時の、アクセス間隔を修正(250ms→5秒)
  イメージファイル名の送信コマンドの修正(コマンド:0xfc)
  EEPROMアクセス関連の廃止(コマンド:0xe0/0xe1)
  アンマウント時にファイルにアクセスしないように変更

  他のSD6031系のファームウエアとの共通化(動作的には同じです)。


  sd6031.hex は AVR用ファームです。AVRに書き込んで下さい。
  ある程度のテストしかしていないので、何か問題がありましたら連絡頂けると幸いです、



1)リセットラインを改造していない場合
  ・SD6031/SD6031WIF が初期化されます。
  ・選択していた拡張子は、P31になります。
  ・選択していたイメージファイルは、初期のもの(INIT.P31か、最新のファイル)になります。

2)リセットラインを改造している場合
  P6のリセットボタンを押し続けると SD6031/SD6031WIF の LED の赤と緑の両方が15回ほど点滅します。

  15回点滅する前に、P6のリセットボタンを離すと、以下の動作になります。
  ・選択していた拡張子、イメージファイルはそのままです。

  15回点滅するまで、P6のリセットボタンを押し続けると、以下の動作になります。
  ・SD6031/SD6031WIF が初期化されます。
  ・選択していた拡張子は、P31になります。
  ・選択していたイメージファイルは、初期のもの(INIT.P31か、最新のファイル)になります。


  SDカードを抜いて、新たに刺した場合は、以下の動作になります。
  ・選択していた拡張子は、そのままです。
  ・選択していたイメージファイルは、選択している拡張子の中のINITファイルか最新のファイルになります。
   例えば、D88 の拡張子を選んでいると、(あれば)INIT.D88か、最新の〜.D88 が選ばれます。

posted by えすび at 21:12| Comment(4) | HW:SD6031 | このブログの読者になる | 更新情報をチェックする