ここんところ、SourceForgeへのCVS接続がうまく動かない障害にずっと悩まされていて放置プレイだったのですが、久しぶりにContikiのメンテナンスをはじめてみました。 一応私は、Z80全般およびPC-6001部分のソースが担当になっています。 ていうか、えらいコードが変わっていて、ついて...
Z80に関するブログ記事
P6絡みののりさんが、ROM乗せかえ(実際にはエミュレータ上のBIOSイメージ入れ替え)によるフリーのPC-6001実行環境を開発しています。 私も以前、実機のROMを外して別のROMやRAMに変えられるのではないかと妄想していましたが、それをエミュレータ上でやってしまおうということですね。 現在...
性懲りもなくPSGPCMと格闘しています。 PSGによるPCM再生は、以前11kHz/9ビット相当の比較的高音質の再生を成功させましたが、マシンパワーおよびメモリを非常に消費する方法でした。 そのため、来るべき(?)画像と音声の同時再生に向け、いかに「軽く」発音させるかについても少し検討してみること...
とりあえず、前回のテストは期待通りの動作をさせることができました。 原因はあちらこちらの断線でした。 UEWを使っていて、しょっちゅう回路を変更するものだから、そのたびに線をいじったりしているうちに断線してしまっているのでした。 直しては他の箇所が断線するいたちごっこ状態。 こんなんじゃ先が思いや...
Hexameter 2.1.2をリリースしました. Sourcceforgeからダウンロードできます. 変わったのは、SDOS 1.1用のテンプレートを用意したことだけですのでたいして大きな変化ではないですが、もしSDカードアダプタをお持ちの方でSDカードをアクセスしたいという奇特な(?)方がいら...
前へ 第1回 第2回 第3回 第4回 第5回 演算ライブラリについて sdccには基本的な標準ライブラリが入っています。 その中には stdio.h stddef.h stdlib.h string.h など、C言語として当たり前のものもあるのですが、その他に、基本的な演算や浮動小数点なども含ま...
いま、PC-6001のPSGでPCM再生を試みています。全体的にかなりいい感じで進んではいるのですが、クロック計算がなかなか合わないというのが困りものです。カタログ上のPC-6001のクロック周波数は3,993,600Hzです。半端に見えますが、因数分解すると3993600 = 2^12 * 5^2...
プリンタポートの場合 カードリーダをプリンタポートに接続する場合のコードを考えてみました。昔のパソコンの大部分は入力がBUSY信号のみですが、幸いなことにSPIで必要とする入力信号は1本なので、これで間に合います。 ...
高速読み出しの工夫 第1回で説明したように、ジョイスティックポートからのデータ入力はかなり手間がかかります。 高速化は最もたくさん実行する部分から行うのが定石なので、心臓部であるバイト入力をする部分を最適化するのが最も効果的です。 (ポート0xa0)<-0x0f レジスタ0x0fをラッチ (ポ...
前へ 第1回 第2回 第3回 第4回 第5回 次へ インラインアセンブルコード sdccのCコンパイラの出力コードの効率があまりりよくないことはお話しました。 そのため、インラインアセンブルを使うことも多いでしょう。 インラインアセンブルの利用は、他のコンパイラ同様、以下のような利点があります。 特...
前へ 第1回 第2回 第3回 第4回 第5回 次へ リンクについて sdccでは他のCコンパイラと同様、ライブラリを作って、それをリンクすることができます。ここでは、通常のスタティックリンクと、外部プログラムとリンクするテクニックについて説明します。 ...
第1回 第2回 第3回 第4回 第5回 次へ UNIXやWindows環境で利用できるフリーのZ80対応クロスC言語コンパイラとして、現在利用可能なのはSDCCくらいしかありません。 このコンパイラに関する日本語のドキュメントはまだほとんどないと思われますので、私が知っている限りで説明しておこうと思...