PC-6001に関するブログ記事

シューティングゲーム

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ:
私は普段ほとんどゲームをしない(別に嫌いなわけではない)のですが、ふと見つけてダウンロードしたゲームにちょっとはまっています。 東方プロジェクトという方々が作られているゲームで、東方何某というシューティングゲーム(の体験版)です。 このゲーム、当然私は一番やさしいモードでしかまともにプレイできません...

SDアダプタ作成中(6)

続きです。 西田さんからBELUGAのアダプターの回路図を参考にせよとの指摘があったので、それに習って調べています。 まず、BELUGAのアダプターは次のように信号を作っています。 CS = (RAS2 and EXCAS) or (MREQ & デコード済みアドレス) OE = DRD2 ...

SDアダプタ作成中(5)

少しづつ原因を特定しようと頑張っています。 今のところ、明らかになっているのは次のような動きです。 起動時、本体は32kBとして認識している。これは、BIOSで以下のようなロジックを実行することで判定している。 ld hl, 0xbfff ld b,(hl) ld (h...

SDアダプタ作成中(4)

続きです。 ページ1(0x8000-0x83ff)およびページ4(0xa000-0xb9ff)の画面は乱れるものの、なんとなく動いていたSDアダプタですが。 たまに入力を受け付けなくなって暴走するなど、やはり不安定です。 どこか結線の問題だと思っているのですが、正直調べるのはかなりの苦行です。 回路...

SDアダプタ作成中(3)

続きです。 回路に一箇所誤接続がありました。 データバスの部分でしたので、動かなかったのも納得です。 とりあえず似非ROMは後回しで、外したままですが、早速直して動かしてみると...画面が真っ白。 よく調べてみると、キーを受け付けますし、プログラムを入力したり実行したりできます。 プログラムを入れて...

SDアダプタ作成中(2)

続き。SDアダプタですが、まだ動いていません。 tiny2313をつけた状態で電源をつけると暴走しているので、データバスがコンフリクトしているのではないかと思います。 tiny2313はROM代わりですので、とりあえず外してしまえば単なる拡張RAMカードとして機能するはずなのですが、外すと何も起こら...

SDアダプタ作成中

先週基板ができたので、今日はジャンパを通しました。 およそ30本。 面倒ですが、全部手配線に比べたら圧倒的に楽です。 ちなみにUEWを使って半田面に配線したので、部品面は未だにスッカスカです。 ISP用に背の高いコネクタをつけたくらい。 プログラミングはCPLD、tiny2313、mega88の3種...

Contikiのメンテナンス

ここんところ、SourceForgeへのCVS接続がうまく動かない障害にずっと悩まされていて放置プレイだったのですが、久しぶりにContikiのメンテナンスをはじめてみました。 一応私は、Z80全般およびPC-6001部分のソースが担当になっています。 ていうか、えらいコードが変わっていて、ついて...

Operating Systemの開発?

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
P6絡みののりさんが、ROM乗せかえ(実際にはエミュレータ上のBIOSイメージ入れ替え)によるフリーのPC-6001実行環境を開発しています。 私も以前、実機のROMを外して別のROMやRAMに変えられるのではないかと妄想していましたが、それをエミュレータ上でやってしまおうということですね。 現在...

感光基板再挑戦

SDカードアダプタ、まだやってます。 先日失敗した感光基板作成、日本で基板を買って戻ってきたので、再挑戦です。 今回は出力11Wの蛍光灯を使いました。基板との距離は10cmちょっとくらいです。 10分ごとに蛍光灯の位置をずらしつつ、感光時間は1時間弱行いました。 感光の様子。 現像の結果。 一部ベ...

Artwork完成?

ExpressPCBでのアートワーク、一応ほぼ完成しました。 片面基板用に頑張りましたが、ジャンパを20本ほど飛ばす必要があります。 それでもユニバーサル基板に配線することを考えたら気が遠くなりそうなので、パソコンでデザインできるのは助かります。 結局、「PCBのデザインにあわせて回路を変える」と...

ExpressPCBでArtwork

以前設計したSDカードアダプタのアートワークにチャレンジしています。 使う回路CADはフリーのものです。 どのソフトにするか、いくつか試しました。 悩みましたが、まずはExpressSCHおよびExpressPCBにしました。 PCBEは使いやすいが、PCBレイアウトに特化しているので回路図との連...

N60-拡張BASIC

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
「SDカードをオリジナルのフロッピーディスクの代わりに使えたら便利いんじゃない?」と言われたので、拡張BASICをちょっと読んでみました。 基本のBASICは、それこそ8080でも動くんじゃないかというくらい基本命令ばかり使っています(実際にはldirやビット関連命令を使うので8080では走りませ...

なんちゃってROM(その4)

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ: ,
AVR Tiny2313をROMとして動作させられるかどうか、ここのところ試行しているわけですが。 どうも、20MHz動作でも必ずアクセスが成功するというわけではないようです。 ごく稀にですが、誤動作することがあります。 ...

なんちゃってROM用変態プログラム

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ:
ATtiny2313 ROMエミュレータを使ってみる なんちゃってROMの動きを確実に確かめるために、なにかよいアプリケーションはないかと考えました。 そこで、Joystick版のSDカードアダプタからの読み込みをすることにしました。 とはいっても、Joystick版の場合、SPIの動作をすべてAY...

CPLDのオーバーマクロセル原因判明

  • 投稿日:
  • 更新日:2009/04/09
  • by markn
  • カテゴリ:
設計変更をいろいろしていくうち、どうせAVR-SRAM間のDMAをしないのならSRAMのデータバスをCPLDに入出力させなくてよいことに気づきました。 SRAMはCSさえきちんとコントロールできれば、データバスは常にHi-Zなので、そのまま本体のバスに直結でも問題ないのです。 WEやOEでさえも。...

なんちゃってROM

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ: ,
ATtiny2313を使ってROMエミュレータ こんなものを試作してみました。 ATtiny2313をROM代わりに使おうというものです。 アドレスバスのピン数の都合で、64バイトまでしかハンドルできません。 あとは全部イメージになりますが、起動時だけなので問題ないでしょう。 やはりスピードがかなり...

アイデアひとつ

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
思いついたアイデアをひとつ。 Tiny2313あたりを1個積んで、メモリバス(拡張ROM1の部分)をハンドルします。 いわゆるIPL ROM代わりで、CS2/MREQ/RD/D0-D7/A0-A5あたりを入出力させます。 本体に読み込まれるコードはmega88(I/Oバス)を経由してSDカードから...

SDOSの今後

  • 投稿日:
  • 更新日:2015/03/08
  • by markn
  • カテゴリ:
漢字表示もできて、結構実用的に動くようになったSDカードインタフェースですが、皆さんにどのような形で使ってもらうかを悩んでいます。 今手元にあるのは、西田さんに作っていただいたone offの基板に実装したカードです。 この設計のままでも動作しますが、このカードのみではRAMが16kBしかないこと、...

漢字表示サンプル

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
SDカードインタフェースでファイルのseekおよび複数ファイルのオープンをサポートしたので、bookwormさんの漢字ROM&表示ルーチンをSDカード上に移植してみました。 フォントイメージはbookwormさんと同じ「美咲フォント」を利用させていただきました。 SDカードには漢字フォント...

Sub CPU(8049)の解析

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
もりやんさんのご協力で、8049のROMは何とかなりました。 ありがとうございます! で、プログラムはもともと2kBしかないですし、それほど大きいものではないので、のんびり眺め始めています。 ただ、命令は1バイトまたは2バイトなので、コード密度はZ80より高いです。 けっこう原始的なプロセッサで、...

RS-232Cポートの実験

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
以前話題にした、RS-232Cポートを使って何か入出力できないもんかといろいろ試しています。 今のところわかったのは、RS-232C用のポートは単純な入出力ポートではない、ということです。 実験は、PS/2キーボードをつないでデータを入力する、ということをしてみました。 I/Oポートが固定(0x8...

ATtiny2313で実験

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
私の手元にはATmega88は一個しかなく、やたら使い回ししまくって壊すのも怖いので、先日買ってきたATtiny2313で実験を始めました。 まず、ラッチを使わずにデータをハンドルできるかどうかです。 次のような試験回路を使いました。 使っているORゲートはHC32です。 この回路では3段入れてい...

A next step

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
ムービーの同時再生ですが、Audio/Videoのバイト配置を工夫することで、256x192ドット、12288Hzで12fps程度は出るようになりました。 なにせ、ファイルサイズに実質制限がないので、とても楽です。 ちなみに、現在ムービーで扱っているファイルのサイズは10MBのオーダーです。 性能...

同時再生テスト

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
一応同時再生ができるようになったので、例によりニコニコ動画からムービーを適当に拾ってきて録画してみました。 <a href="http://www.nicovideo.jp/watch/sm6446981">【ニコニコ動画】PC-6001で再生してみた「もじぴったん」</a>...

PC-6001の回路解析

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
私の手元には、一部欠けていて、かつ非常に不鮮明ではありますが、PC-6001の回路図があります。 以前はI/O誌の解析記事もあったはずなのですが、残念ながら一部を残して捨ててしまったようです。 手持ちの資料をよく調べてみたところ、いくつか新事実(?)がわかりました。 拡張スロットの7ピンに^WAI...

PC-6001mkIIの状況

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
手持ちのPC-6001mkIIでも試してみました。 なんと、cloadでデータがロードできません! 初代とは何か違うのでしょうか? それとも、故障しているのでしょうか。 これでは、実験用のプログラムが読み込めないため、ROMレスシステムが完成するまで実験ができません...。 それと、初代では拡...

[AVR] 8MHzの限界

  • 投稿日:
  • 更新日:2009/03/13
  • by markn
  • カテゴリ: ,
現在、AVRは内蔵の8MHzクロックで動作させています。 もともと手持ちのものが古い(2世代目)ATmega8Lで、2.7V~5.5Vでの駆動が可能な代わりに8MHzまでの動作となっているためです。 姉妹品のATmega8は最高16MHzですが、4.5V~5.5Vでないと動作しません。 3.3V動...

[SD-Movie] 同時再生できたけど

  • 投稿日:
  • 更新日:2015/03/08
  • by markn
  • カテゴリ:
ショックから気を取り直して、画像および音声の同時再生を試みました。 結果は...できたといえばできました。 現在、画像は128x96x24fps, 音声は約12kHz/4bitとなっています。 ただ、同時再生の場合、VDGからのDMAを止めるわけには行きません。 これまでに調べた限りでは、VDGのB...

私ってお馬鹿さん...

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
今日、AVIファイルの解析プログラムを書いていて気づいたのですが、ffmpegにはモノラル1ビットのビットマップにするオプションがあるではないですか! ffmpeg -i <file> -f rawvideo -pix_fmt monob ... さっそくそのオプションで変換し、...

SDストリーミングによるムービーおよび音声の再生

AVR-SDカードインタフェースは調子よく動いているので、ストリーミングを試してみました。 まず転送速度ですが、SDカードからの読み込み速度は現状でおよそ30kB/s出ています。 1秒でPC-6001のフリーエリアがいっぱいになってしまいますね(苦笑)。 ...

[AVR-SD] 次のステップ:ブートアップ

  • 投稿日:
  • 更新日:2015/03/08
  • by markn
  • カテゴリ: ,
SDカードインタフェースはほぼ期待通りに動作しています。 ハードを設計して、作って、ソフトを設計して、作ってというのは結構長い道のりですが、動いたときはうれしいものですね。 いつもはソフトしか作らないので、またこれも格別なものがあります。 とはいっても、今回は西田さんにもかなり助けられていますが。 ...

[AVR-SD] とりあえず動いた

  • 投稿日:
  • 更新日:2015/03/08
  • by markn
  • カテゴリ: ,
なかなか苦しんでいたAVR版SDカードインタフェースですが、ファイルのデータ読み込みまで動作させることに成功しました。 結局outの割り込み(INT1)の最後でペンディングしているin割り込み(INT0)を解除し、かつステータスデータをINT0割り込みで出すようにすることでタイミングが取れるようにな...

AVRの割り込み要求の保留

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
AVRでは、割り込み処理中にも割り込み"要求"自体が禁止されていなければ、外部からの割り込みに対して要求が発生するようです。 コメントにもあるように、その割り込みは保留(pending)され、現在処理中の割り込み処理が終了した後で処理されるようなのです。 このあたりが情報源です。 概念として、「割...

I/Oタイミングの考察

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
どうもうまく動いてくれないSDカードインタフェースですが、問題はクリアになりました。 わかりにくいので、シーケンス図にします。 この図で、PCからのリクエストがin/out命令で、OUT buffer/IN bufferがそれぞれフリップフロップやラッチです。 最初にコマンドをout命令で送出し、...

I/Oタイミング再来

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
SDカードインタフェースのハードウェアが出来上がったので、早速実際のSDカード入出力を作り始めています。 まずは、試しにディレクトリ情報を読み出しています。 今回は、AVR側にFATシステムを入れることにより、高速化を狙っていますが、1ポートのインタフェースで通信するのはなかなか難しいことがわかり...

[回路解析] RS-232Cコネクタの信号線

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
何とか手持ちの資料とかいただいた資料とかを駆使して、RS-232Cコネクタの信号線を類推(?)してみました。 本体のカバーをあけると、以下の写真のようになっているところがあります。 3つコネクタが並んでいますが、左からCN10(スピーカ)、CN4、CN5です。このCN4とCN5に、写真上にねじ止め...

もう一つのインタフェースでEthernet?

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
PC-6001をいろいろと拡張すると、拡張スロットが足りなくなります。 拡張スロット自身はパラレル結線のみで拡張できるので自作可能ですが、スロットごとに50本の結線をするのはなかなか骨です。 プリント基板を作れれば問題ないんですけどね。 そこで思いついたのですが、RS-232C用のコネクタが使える...

VHDLのマクロセル消費最適化

  • 投稿日:
  • 更新日:2009/02/11
  • by markn
  • カテゴリ:
いろいろトライ&エラーで、最適化の方法がだんだんわかってきました。 一番簡単なのは、「出力信号ごとにプロセスを分ける」ということです。 たとえば、昨日の例なら、次のようにします。 process (ATOB, G) begin if G = '0' and ATOB = '...

VHDLの論理合成によるCPLDマクロセル消費量

  • 投稿日:
  • 更新日:2009/02/10
  • by markn
  • カテゴリ:
CPLDの設計を始めて、とたんに壁にぶつかりました。 マクロセルの消費量が予想より多く、手持ちのXC9536XLでは足りなさそうなのです。 ロジックはそれほど難しいものではないのですが、2つの8ビットレジスタ(ラッチ)と、2つの3ステートバッファを使っています。 これがどうもマクロセルを喰うようで...

CPLDを考える

  • 投稿日:
  • 更新日:2009/02/09
  • by markn
  • カテゴリ:
西田さんの作られた基板を送っていただいているので(感謝!)、到着するまでの間、CPLDを使った実装について考え始めています。 まず、手持ちのCPLDがXC9536XL-PC44なので、それでどこまでできるか考えてみました。 結果、次のような課題が明らかになりました。 このチップは外部I/Oが34ピ...

描いてみた(SRAM混載バージョン)

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
ROMレスシステムの回路を試しに描いてみました。 複雑度の雰囲気を掴むだけなので、正しい保証はありません。 まずは40ピン系(ATmega164/324/644)。 次に、28ピン系(ATmega8L/88/168/328)。 カウンタはATtiny2313を使ったほうが安くなりますが、わかりやす...

ROMレスシステム

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ: ,
西田さんからのコメントがあったので、ROMレスシステムについて考えてみました。 基本的な考えは、 SRAMをROM領域(0x4000-0x7fff)に確保しておく (実際には32kB分のSRAMを0x4000-0xbfffに配置してRAM拡張を兼ねる) 起動時にSRAMにブートアップ用のプログラムを...

AVR-SD拡張回路(また改良)

  • 投稿日:
  • 更新日:2015/03/08
  • by markn
  • カテゴリ: ,
前回の回路がまた間違ってました。 アドレス線を使いたければ、データ線と同様ラッチしなければいけない これまでデータ線のみでアドレスのラッチを忘れていました。データのタイミングがAVRの割り込みからは間に合わないので、同然アドレスもラッチする必要があります。 ラッチではなくてフリップフロップを使う必要...

PSGPCM再生時のクロックの話、再び

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ: ,
性懲りもなくPSGPCMと格闘しています。 PSGによるPCM再生は、以前11kHz/9ビット相当の比較的高音質の再生を成功させましたが、マシンパワーおよびメモリを非常に消費する方法でした。 そのため、来るべき(?)画像と音声の同時再生に向け、いかに「軽く」発音させるかについても少し検討してみること...

AVRの割り込み反応時間

  • 投稿日:
  • 更新日:2008/12/14
  • by markn
  • カテゴリ: , ,
Z80からのI/O信号に対し、どのくらいでAVRによる割り込み反応が得られるのかを調査してみました。 回路は前回作ったものを使います。 PC-6001側からI/O命令を発行し、AVRの外部割込み入力をトリガにして反応を調べます。 まずは、主な信号線の様子。 ここで、INT0が活性化されている時間(...

I/OによるZ80-AVRの通信テスト

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ: , ,
レトロパソコンのインテリジェントな周辺機器を作るのに 大きな間違いに気づいてショックな今日この頃。 デコーダ・バッファは8255が入手困難な現在、手持ちのCPLD(Xilinx XC9536XL)があるのでそれでやってみようと思うのですが、困ったことにライタがありません。 ライタを作ろうにも、そのた...

I/O拡張回路の難しさ

  • 投稿日:
  • 更新日:2008/12/13
  • by markn
  • カテゴリ: , ,
以前設計した回路には、重大な盲点がありました。 2点あります。 割り込み要求線に^RD/^WRを入れておかないと、おかしなタイミングで割り込み要求がかかる Z80からのI/O要求に対する応答が間に合わない 割り込み要求線 以前の設計では、割り込み要求は次のようにしていました。 IORQの確定とRD...

バラしてみて

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
ロジアナでいろいろ計測するにあたり、初めてPC-6001(初代)をメイン基板が見えるところまでバラしたのですが、以下のICのみがソケットに挿してあるのですね。 8049 2364 x 2 (BIOS ROM) 2332 (キャラクタROM) ソフトウェアが入っているもの全てです。いざという時の差し...

DMA OFF時の挙動

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
PC-6001で垂直同期が取れるのか。 それを調べるため、DMA ON/OFFを繰り返したときにどうなるのか、試してみました。 プログラムは以下のようなものを使いました。 WAITの影響を少なくするため、RAMで動作させます。 di loop: ld a, #0x02 out (#0x93...

動画と音声の同時再生可能性の検討

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
ロジアナが手に入り、CPUの詳細な動作状態がわかるようになったので、動画と音声の同時再生の可能性について検討してみたいと思います。  計測結果とその妥当性 まず、計測から得られた情報です。 以下は、VDGによる1ライン分のBUSREQ/BUSACKのタイミングを取ったものです。 &nb...

ROM内のアクセスウェイト

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ:
Z80のWAIT信号の調査 カメレオンUSBのロジアナを買ったので、さっそくWAIT信号について調査しました。 用意したプローブ(=ただのICピン)が足りず、アドレス線は10ビットしか取れていませんが、どこを実行しているかはわかります。 ...

PSGによる高音質PCM再生の原理

  • 投稿日:
  • 更新日:2015/03/09
  • by markn
  • カテゴリ:
PSGによるPCM再生の問題 PSG(AY-3-8910)では、音量レジスタを高速に操作することによって任意の音声波形の再生をすることができます。PCM相当のことができるわけですね。 この辺はPSGPCMやSSGPCMといった技術が確立しているので、細かい説明は省きます。 Wikipediaなどには...

ムービーエンコーダ&プレーヤリリース

続いて、ムービーエンコーダとプレーヤをリリースします。 pmvenc-1.0.0.zip pmv-1.0.0-sdos-1.1.zip それぞれ中にREADMEがありますので参考にしてください。 プレーヤですが、実はこのままでは再コンパイルできません。Hexameterをダウンロードし、適切にMak...

Hexameterリリース

Hexameter 2.1.2をリリースしました. Sourcceforgeからダウンロードできます. 変わったのは、SDOS 1.1用のテンプレートを用意したことだけですのでたいして大きな変化ではないですが、もしSDカードアダプタをお持ちの方でSDカードをアクセスしたいという奇特な(?)方がいら...

作業中...

一昨日日本から戻ってきました. 時差ぼけで体の調子が悪いのですが、SDOS関連ファイルの公開に向けてファイルの整理を始めました. Hexameter (SDCC用コンパイル環境)のテンプレートとしてSDOS 1.1用の環境を準備しているほか、ムービープレイヤーなどのソース/バイナリファイルを公開でき...

レトロパソコンのムービー再生

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
レトロパソコンでの実機ムービー再生がどんどん増えているみたいです。 私の実験はもともと、PC-6001用のSDカードアダプタのアプリケーションとして作ってみたサンプル(独自のファイル形式を作ったので)なのですが、なんだか思わぬ方向に広がっていきました。でも、昔のパソコンもやればここまで出来る、という...

PC-6001ムービー次なる野望

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
野望っていうか妄想?ムービー再生の技術情報の続き SDOSの改良により、以下は対応しました。 スタック領域を塗りつぶさないようにし、終了後はSDOSに戻る。 起動時に再生ファイルを指定できるようにする。UNIXなどと同じようにコマンド実行ができる感覚です。 野望その1: 音楽再生 まずはPCM再生で...

カテゴリ修正

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
SDCC(Z80用Cコンパイラ)の記事をPC-6001のカテゴリに入れていたのですが、もともとZ80のカテゴリと重複する上、PC-6001の記事が増えすぎて見にくいので、SDCC関連の記事からはPC-6001カテゴリははずしました。 SDCCはPC-6001の開発環境として使っているので、関連する...

久々にオークション

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
とうとう、mkIIを落札してしまいました...実際に入手できるのは、次回の日本出張時なので9月中旬になりますが.なんだか深みにはまっていくような...これでよかったのだろうか.... ...

PSGによるPCM再生:PC-6001のクロックはどこまで信用できるのか?

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ: ,
いま、PC-6001のPSGでPCM再生を試みています。全体的にかなりいい感じで進んではいるのですが、クロック計算がなかなか合わないというのが困りものです。カタログ上のPC-6001のクロック周波数は3,993,600Hzです。半端に見えますが、因数分解すると3993600 = 2^12 * 5^2...

SDカードドライバの設計(5)

プリンタポートの場合 カードリーダをプリンタポートに接続する場合のコードを考えてみました。昔のパソコンの大部分は入力がBUSY信号のみですが、幸いなことにSPIで必要とする入力信号は1本なので、これで間に合います。 ...

SDカードドライバの設計(4)

高速読み出しの工夫 第1回で説明したように、ジョイスティックポートからのデータ入力はかなり手間がかかります。 高速化は最もたくさん実行する部分から行うのが定石なので、心臓部であるバイト入力をする部分を最適化するのが最も効果的です。 (ポート0xa0)<-0x0f レジスタ0x0fをラッチ (ポ...

SDカードドライバの設計(2)

SDカードのファイルシステム SDカードはファイルシステムにFATを採用しています。ですが実は、FATであることは必須ではありません。SDカードの低レベルインタフェース仕様のみを見れば、単なるセクタ単位の入出力なので、他のファイルシステムを入れることも可能です。セクタサイズは512バイト(2GBのカ...

SDカードドライバの設計(1)

拙作ののSDカードアダプタは、ジョイスティックポート経由で接続し、データのやり取りをすることができます。これから少しづつその説明をしようと思います。 AY-3-8910 PC-6001のジョイスティックポートはPSGであるAY-3-8910が持つ、2つの汎用8ビットパラレルI/Oポートに接続されてい...

PC-6001ムービー技術情報

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
ムービー再生の技術情報です。前提として、SDカードの技術情報が必要なのですが、こちらはまた別に書きます。PMVフォーマットのベースは、ベタのビットマップファイルです。 というかむしろ、VRAMのイメージそのものです。 スクリーンモード2のセミグラフィックモードの対応は、エンコーダ側で変換を行っていま...

PC-6001で動画再生

  • 投稿日:
  • 更新日:2015/02/09
  • by markn
  • カテゴリ:
SDカードの大容量とせっかく作ったSD-OSを生かしたアプリケーションとして、 動画再生を試してみました。名づけて、Pico Movie(ベタベタ)。 1. 現在のバージョン とりあえずBELUGAのカートリッジを利用していますが、 RAMのみで動作させることも可能です。 取れるバッファの大きさが変...