
このホームページでは一部、 Leaf/AQUAPLUS製品の画像素材を加工・引用しています。また、これらの素材を他へ転載することを禁じます。 |
| ツール | mini ISD 安定版 1.0 | 2002/01/11 | 完了 |
| ツール | mini ISD 安定版 2.5 | 2003/11/15 | 完了 |
| ツール | mini ISD 3.0 (64ビット版Windows 7用) | 2012/03/25 | 完了 |
| ツール | P/ECE monitor | 2004/06/06 | 完了 |
| ツール | コンソール版FilePackユーティリティ | 2002/05/14 | 完了 |
| ツール | P/ECEリソースビューア | 2004/06/07 | 完了 |
| ツール | P/ECEファイルシステムビューア | 2003/08/19 | 完了 |
| ツール | うたわれるものキャラクタコンバータ | 2002/05/09 | 完了 |
| ツール | うたわれるものチップコンバータ | 2002/05/09 | 完了 |
| ツール | WAV to GSM コンバータ | 2002/06/23 | 完了 |
| ツール | まるもじ切り替えプログラム | 2002/06/29 | 完了 |
| ツール | malloc()ダンプユーティリティ | 2002/07/15 | 完了 |
| ツール | コンソール版PCMコンバータ | 2014/07/15 | 完了 |
| ツール | 「run.bat」の問題を修正したコマンド | 2014/11/14 | 完了 |
| ツール | 4倍テキストビューア | 2002/09/17 | 完了 |
| ツール | 赤外線XMODEM | 2002/11/03 | 完了 |
| ツール | 2ちゃんねるログビューア | 2002/12/17 | 完了 |
| ツール | 2ちゃんねるログコピー | 2002/12/17 | 完了 |
| ツール | P/ECE PopUp | 2003/03/03 | 完了 |
| ツール | P/EMU | 2003/04/30 | 完了 |
| ツール | GCC 3.3.2 移植計画 | 2003/11/04 | 継続 |
| ツール | CHIP/8 | 2004/05/04 | 完了 |
| ツール | Chipper 2.11A(非公式) | 2004/04/03 | 完了 |
| ツール | 無理やりMMC for 「NSF Player」 | 2004/10/28 | 完了 |
| ツール | P/ECEシリアルポートデバイスドライバ | 2005/08/05 | 完了 |
| ツール | P/ECE USB LANデバイスドライバ | 2005/08/20 | 完了 |
| ツール | IPEnableRouter | 2005/08/21 | 完了 |
| ツール | ライブラリファイル情報表示ユーティリティ | 2006/06/23 | 完了 |
| ツール | 3Dビューア | 2006/07/04 | 完了 |
| ツール | 3Dビューア用Metasequoiaプラグイン | 2006/07/27 | 完了 |
| ツール | Webビューア | 2005/09/28 | 完了 |
| ツール | P/ECE KURO-RS 赤外線通信アナライザ | 2007/11/29 | 完了 |
| ツール | HDL-GT/LCD/EMU | 2007/12/15 | 完了 |
| ツール | 64ビット版Windows 7用P/ECEデバイスドライバ(WinUSB版) | 2012/01/08 | 完了 |
| ツール | S1C17702基板/EMU | 2010/01/19 | 完了 |
| ツール | demucc for Visual C++ 6.0 (移植版) | 2015/01/16 | 完了 |
| ツール | UTF-8テキストビューア | 2015/03/08 | 完了 |
| ゲーム | 細胞分裂アオミドロン | 2002/01/06 | 継続 |
| ゲーム | シンプルアタックス | 2002/01/14 | 完了 |
| ゲーム | ソルダムもどき | 2002/07/01 | 継続 |
| ゲーム | おでかけマルチUSB対戦キット | 2002/01/05 | 完了 |
| ゲーム | おでかけマルチ高速版 | 2002/01/29 | 完了 |
| ゲーム | ぬわんぎのミニゲーム | 2002/06/08 | 完了 |
| ゲーム | シンプルSameGame | 2002/06/18 | 完了 |
| ゲーム | シンプルミサイル | 2002/07/01 | 完了 |
| ゲーム | シンプルGウォーズ | 2002/07/14 | 完了 |
| ゲーム | ロットロットもどき | 2002/07/18 | 完了 |
| ゲーム | QIXもどき | 2002/07/29 | 完了 |
| ゲーム | エクスチェンジャーもどき | 2002/08/25 | 完了 |
| ゲーム | シンプルテトリス | 2002/08/17 | 完了 |
| ゲーム | シンプル一筆 | 2002/08/29 | 完了 |
| ゲーム | シンプル潜水艦 | 2002/09/10 | 完了 |
| ゲーム | クロンダイク | 2002/09/22 | 完了 |
| ゲーム | フリーセル | 2002/09/25 | 完了 |
| ゲーム | そろもどき | 2002/10/17 | 完了 |
| ゲーム | リブルもどき | 2002/10/30 | 完了 |
| ゲーム | パネルもどき | 2002/11/09 | 完了 |
| ゲーム | 琉球 | 2002/11/17 | 完了 |
| ゲーム | メガパネルもどき | 2002/11/24 | 完了 |
| ゲーム | シンプルナイトムーブ | 2002/12/04 | 完了 |
| ゲーム | ヘクシオンもどき | 2002/12/24 | 完了 |
| ゲーム | シンプルループ | 2002/12/31 | 完了 |
| ゲーム | シンプルレーザー | 2003/01/02 | 完了 |
| ゲーム | クォースもどき | 2003/01/11 | 完了 |
| ゲーム | つなポンもどき | 2003/01/31 | 完了 |
| ゲーム | シンプルスペースマウス | 2003/02/12 | 完了 |
| ゲーム | ボスコニアンもどき | 2003/03/15 | 完了 |
| ゲーム | 百人一首 | 2003/03/21 | 完了 |
| ゲーム | 警視庁教習課程準拠 学科教本 | 2003/06/29 | 完了 |
| ゲーム | シンプルエイトアタック | 2003/08/08 | 完了 |
| ゲーム | ドッ取り君/EMU | 2003/11/28 | 完了 |
| ゲーム | ミニベーダー/EMU | 2003/11/30 | 完了 |
| ゲーム | スペースインベーダー/EMU | 2003/12/02 | 完了 |
| ゲーム | ギャラクシーウォーズ/EMU | 2003/12/06 | 完了 |
| ゲーム | サーカス/EMU | 2003/12/13 | 完了 |
| ゲーム | タンクバタリアン/EMU | 2003/12/16 | 完了 |
| ゲーム | ストレートフラッシュ/EMU | 2004/02/04 | 完了 |
| ゲーム | ガツンもどき | 2004/05/24 | 完了 |
| ゲーム | ピキーニャ!もどき | 2004/07/11 | 完了 |
| ゲーム | - ESPELION - for P/ECE | 2004/07/30 | 完了 |
| ゲーム | コズモギャングもどき | 2004/07/29 | 完了 |
| ゲーム | ハットリスもどき | 2004/08/08 | 完了 |
| ゲーム | パラメデスもどき | 2004/08/21 | 完了 |
| ゲーム | スタースイープもどき | 2004/09/23 | 完了 |
| ゲーム | ミニドリラー | 2004/10/05 | 完了 |
| ゲーム | 適性トレーナー | 2004/11/09 | 完了 |
| ゲーム | ホッピングマッピーもどき | 2004/11/28 | 完了 |
| ゲーム | シンプルセンチピード | 2004/12/19 | 完了 |
| ゲーム | SG-1000/EMU | 2005/01/25 | 完了 |
| ゲーム | コレコビジョン/EMU | 2005/01/25 | 完了 |
| ゲーム | ファミコン/EMU | 2005/02/10 | 完了 |
| ゲーム | ファミコン/EMU(低解像度版) | 2005/02/10 | 完了 |
| ゲーム | ゲームボーイ/EMU | 2005/04/07 | 完了 |
| ゲーム | ゲームボーイ/EMU(MMC対応版) | 2005/04/07 | 完了 |
| ゲーム | ATARI VCS/EMU | 2005/03/25 | 完了 |
| ゲーム | バラタンもどき | 2005/04/01 | 完了 |
| ゲーム | SUPERVISION/EMU | 2005/04/21 | 完了 |
| ゲーム | アルカディア/EMU | 2005/05/11 | 完了 |
| ゲーム | インテレビジョン/EMU | 2005/06/07 | 完了 |
| ゲーム | エメラルディアもどき | 2005/10/20 | 完了 |
| ゲーム | フラッシュコラムスもどき | 2005/11/07 | 完了 |
| ゲーム | このeたこもどき | 2006/02/17 | 完了 |
| ゲーム | ポチッとにゃ〜もどき | 2006/03/24 | 完了 |
| ゲーム | シンプルラッパッパ | 2006/04/24 | 完了 |
| ゲーム | アクアラッシュもどき(未完成版) | 2006/05/22 | 継続 |
| ゲーム | DashBorder(移植版) | 2006/07/19 | 完了 |
| ゲーム | シンプルフルーツスマッシュ | 2006/08/14 | 完了 |
| ゲーム | リバーシのアルゴリズム | 2006/11/16 | 完了 |
| ゲーム | VAX11(移植版) | 2006/12/15 | 完了 |
| ゲーム | REF-LECT BALL(移植版) | 2007/01/04 | 完了 |
| ゲーム | いの べーしょん 2007(移植版) | 2007/01/15 | 完了 |
| ゲーム | えぐぜりにゃ〜 AGAINST(移植版) | 2007/02/03 | 完了 |
| ゲーム | ふたご塔(移植版) | 2007/02/11 | 完了 |
| ゲーム | Z-LOCK(移植版) | 2007/05/02 | 完了 |
| ゲーム | RECT WINDER(移植版) | 2007/05/11 | 完了 |
| ゲーム | トリオンキューブもどき | 2007/07/20 | 完了 |
| ゲーム | 戦球もどき | 2007/09/29 | 完了 |
| ゲーム | 牌砦もどき | 2008/01/08 | 完了 |
| ゲーム | 偽piemuマンを倒せ!ゲーム | 2008/03/13 | 完了 |
| ゲーム | 【六方細密】りんかい【核分裂】(移植版) | 2008/07/07 | 完了 |
| ゲーム | GDrift(移植版) | 2008/09/07 | 完了 |
| ゲーム | Tile(移植版) | 2008/10/19 | 完了 |
| ゲーム | TESTER PHASE ONE(移植版) | 2009/03/20 | 完了 |
| ゲーム | 数陣タイセンもどき | 2009/10/25 | 完了 |
| ゲーム | タワーリングレスキューもどき | 2010/02/06 | 完了 |
| ゲーム | S1C17702用タワーリングレスキューもどき | 2010/02/08 | 完了 |
| ゲーム | LINEAR RYTHM(移植版) | 2010/05/15 | 完了 |
| ゲーム | パチスロP/ECE | 2014/06/07 | 完了 |
| ゲーム | パチスロP/ECE ART | 2014/07/04 | 完了 |
| ゲーム | パチスロP/ECE AT | 2014/08/30 | 完了 |
| ゲーム | Tcl版スペースサーチもどき | 2014/12/21 | 完了 |
| ゲーム | 合体ロボ☆M(マルチ) | 2015/02/25 | 完了 |
| ゲーム | 伊 for ARDUBOY(移植版) | 2016/04/12 | 完了 |
| ゲーム | シンプルリバーシュ | 2016/08/30 | 完了 |
| ゲーム | Chain Reaction | 2017/01/06 | 完了 |
| ゲーム | ぱづりもどき | 2017/01/18 | 完了 |
| ゲーム | 覇沙夢もどき | 2017/01/29 | 完了 |
| ゲーム | ウェルトリスもどき | 2017/02/10 | 完了 |
| ゲーム | けものパトロール(移植版) | 2017/03/29 | 完了 |
| ゲーム | ぐるりんもどき | 2017/04/25 | 完了 |
| ゲーム | P/ece Drivin' | 2017/06/29 | 完了 |
| ゲーム | 2Fuseもどき | 2017/08/09 | 完了 |
| ゲーム | フリップルもどき | 2018/02/25 | 完了 |
| ゲーム | クラックスもどき | 2018/07/29 | 完了 |
| ゲーム | アタックスもどき | 2020/08/09 | 完了 |
| デモ | 回転マルチ | 2002/02/18 | 完了 |
| デモ | 回転ジャムさん | 2002/02/21 | 完了 |
| デモ | アルルゥデモ | 2002/05/27 | 完了 |
| デモ | GSMプレイヤー | 2002/06/22 | 完了 |
| デモ | MODプレイヤー | 2002/09/07 | 完了 |
| デモ | MODプレイヤーII | 2003/08/23 | 完了 |
| デモ | SPCプレイヤー(失敗) | 2002/09/29 | 完了 |
| デモ | S3Mプレイヤー | 2002/10/21 | 完了 |
| デモ | S3MプレイヤーII | 2004/11/23 | 完了 |
| デモ | MDXプレイヤー | 2003/01/25 | 完了 |
| デモ | XMプレイヤー | 2003/02/13 | 完了 |
| デモ | XMプレイヤーII | 2004/11/18 | 完了 |
| デモ | ITプレイヤー(試作版) | 2004/11/23 | 完了 |
| デモ | MIDIプレイヤー | 2003/09/03 | 完了 |
| デモ | NSFプレイヤー | 2003/09/09 | 完了 |
| デモ | NSFプレイヤー(MMC対応版) | 2003/10/27 | 完了 |
| デモ | Oggプレイヤー(失敗) | 2003/09/15 | 完了 |
| デモ | MP3プレイヤー | 2003/11/11 | 完了 |
| デモ | AYプレイヤー | 2004/03/09 | 完了 |
| デモ | SIDプレイヤー | 2004/01/03 | 完了 |
| デモ | VGMプレイヤー | 2004/01/13 | 完了 |
| デモ | GBSプレイヤー | 2004/01/24 | 完了 |
| デモ | SAPプレイヤー | 2004/01/30 | 完了 |
| デモ | M62プレイヤー | 2004/02/11 | 完了 |
| デモ | WSGプレイヤー/6809 | 2004/02/17 | 完了 |
| デモ | WSGプレイヤー/80 | 2004/02/21 | 完了 |
| デモ | HESプレイヤー | 2004/03/03 | 完了 |
| デモ | ハレーズコメットプレイヤー | 2004/03/07 | 完了 |
| デモ | スラップファイトプレイヤー | 2004/03/23 | 完了 |
| デモ | セガシステム1プレイヤー | 2004/04/01 | 完了 |
| デモ | YMプレイヤー | 2004/04/21 | 完了 |
| デモ | SPCプレイヤー | 2004/10/24 | 完了 |
| デモ | SPCプレイヤー(MMC対応版) | 2004/11/15 | 完了 |
| デモ | GYMプレイヤー | 2004/12/19 | 完了 |
| デモ | Cinepak AVIプレイヤー | 2007/11/21 | 完了 |
| デモ | JPEGビューア | 2009/02/19 | 完了 |
| デモ | PNGビューア | 2009/04/01 | 完了 |
| デモ | GIFビューア | 2009/04/12 | 完了 |
| デモ | TGAビューア | 2009/04/29 | 完了 |
| デモ | 輪郭描画デモ | 2009/05/09 | 完了 |
| デモ | SWFプレイヤー | 2009/09/14 | 完了 |
| デモ | TrueSpeechプレイヤー | 2014/07/19 | 完了 |
| デモ | マンデルブロ集合 | 2009/07/19 | 完了 |
| デモ | USBスピーカー(試作版) | 2002/08/05 | 完了 |
| デモ | USBマウス | 2002/08/19 | 完了 |
| デモ | USBストレージ | 2002/09/15 | 完了 |
| デモ | USB PTP レスポンダ | 2014/09/14 | 完了 |
| デモ | USB MTP レスポンダ | 2014/09/19 | 完了 |
| デモ | PMD Player (USB Audio対応版) | 2014/09/27 | 完了 |
| デモ | LINEAR RYTHM (移植版) (USB Audio対応版) | 2014/09/27 | 完了 |
| デモ | UVCデバイス(お散歩綾香) | 2015/05/13 | 完了 |
| デモ | USBプリンタ | 2015/05/24 | 完了 |
| デモ | QRコード作成アプリ | 2015/09/06 | 完了 |
| デモ | QRコード読み取りアプリ | 2015/09/21 | 完了 |
| デモ | MMC/SDカードリーダー | 2004/11/03 | 完了 |
| デモ | MMC/SDカードリーダーライター | 2004/12/14 | 完了 |
| デモ | SLIPサーバー (ping) | 2005/08/05 | 完了 |
| デモ | SLIPサーバー (ping要求) | 2005/08/08 | 完了 |
| デモ | USB-LAN (ping) | 2005/08/20 | 完了 |
| デモ | USB-LAN (ping要求) | 2005/08/27 | 完了 |
| デモ | 時計も止まるスタンバイ(失敗) | 2002/09/30 | 完了 |
| デモ | A/D変換器も止まるスタンバイ | 2002/10/04 | 完了 |
| デモ | A/D変換器とUSBCも止まるスタンバイ | 2002/10/05 | 完了 |
| デモ | 3MHzメニュー | 2002/10/20 | 完了 |
| デモ | Waba for P/ECE | 2002/11/29 | 完了 |
| デモ | トーラス | 2003/04/02 | 完了 |
| デモ | Dhrystoneベンチマーク | 2005/03/07 | 完了 |
| デモ | Whetstoneベンチマーク | 2008/06/30 | 完了 |
| デモ | Whetstoneベンチマーク(倍精度版) | 2012/02/04 | 完了 |
| デモ | Lua速度計測 | 2015/01/25 | 完了 |
| デモ | P/ECE用Tclインタプリタ | 2014/12/09 | 完了 |
| デモ | Nuklear GUIデモ | 2016/11/20 | 完了 |
| デモ | TinyJS(移植版) | 2018/04/03 | 完了 |
| デモ | CHIP-8用お散歩綾香 | 2003/04/03 | 完了 |
| デモ | ATARI VCS用お散歩綾香 | 2005/03/25 | 完了 |
| デモ | アルカディア用お散歩綾香 | 2005/05/12 | 完了 |
| デモ | HDL-GT/LCD用お散歩綾香 | 2007/12/10 | 完了 |
| デモ | S1C17702用お散歩綾香 | 2009/12/07 | 完了 |
| デモ | Android用お散歩綾香 | 2017/07/12 | 完了 |
| デモ | zurapce library版水面デモ | 2006/05/09 | 完了 |
| デモ | リカ&クルVMU | 2007/02/22 | 完了 |
| デモ | ソフトフォーカス・デモ | 2007/11/06 | 完了 |
| デモ | 3D Benchもどき | 2009/05/10 | 完了 |
| デモ | 流れボイド | 2008/10/03 | 完了 |
| デモ | うたわれるものビジュアルノベル | 2002/06/24 | 完了 |
| デモ | シャンプー(改) | 2002/10/01 | 完了 |
| デモ | Routesビジュアルノベル | 2003/03/03 | 完了 |
| デモ | ToHeart PSEビジュアルノベル | 2003/07/05 | 完了 |
| デモ | 天使のいない12月ビジュアルノベル | 2003/10/04 | 完了 |
| デモ | こころナビ ビジュアルノベル | 2004/06/13 | 完了 |
| 工作 | 拡張端子 | 2004/05/09 | 完了 |
| 工作 | LEDボード | 2004/05/09 | 完了 |
| 工作 | シリアル通信用レベルコンバータ | 2004/05/15 | 完了 |
| 工作 | 外部MIDIプレイヤー | 2004/05/19 | 完了 |
| 工作 | まるちたたき | 2004/06/02 | 完了 |
| 工作 | SDカードアダプタ | 2004/08/29 | 完了 |
| 工作 | P/ECE用タクトスイッチ余ってます | 2004/05/09 | 継続 |
| レポート | P/ECE研究室〜USB分室 | 2002/09/03 | 継続 |
| レポート | P/ECE研究室〜S1C33分室 | 2002/08/06 | 完了 |
| レポート | P/ECE研究室〜続・S1C33分室 | 2007/10/10 | 継続 |
| レポート | P/ECE研究記録〜ADPCMの仕組み | 2004/12/05 | 完了 |
| レポート | コミックマーケット64感想 | 2003/08/17 | 完了 |
| レポート | コミックマーケット66感想 | 2004/08/15 | 完了 |
| 雑記 | P/ECE研究記録 2001年 | 2001/12/28 | 完了 |
| 雑記 | P/ECE研究記録 2002年 | 2002/12/25 | 完了 |
| 雑記 | P/ECE研究記録 2003年 | 2003/12/23 | 完了 |
| 雑記 | P/ECE研究記録 2004年 | 2004/12/05 | 完了 |
| 雑記 | P/ECE研究記録 2005年 | 2005/04/06 | 完了 |
| 雑記 | P/ECE研究記録 2012年 | 2012/01/19 | 完了 |
| 雑記 | P/ECE研究記録 2013年 | 2013/07/30 | 完了 |
| 雑記 | P/ECE研究記録 2014年 | 2014/12/30 | 完了 |
| 雑記 | P/ECE研究記録 2015年 | 2015/11/26 | 完了 |
| 雑記 | P/ECE研究記録 2016年 | 2016/10/25 | 完了 |
| 雑記 | P/ECE研究記録 2017年 | 2017/08/30 | 完了 |
| 雑記 | P/ECE研究記録 2019年 | 2019/06/02 | 完了 |
| 雑記 | P/ECE研究記録 2021年 | 2021/09/09 | 完了 |
| 雑記 | P/ECE研究記録 (全部) | 2021/09/09 | 継続 |
| 雑記 | TH2XのソースをVC6でコンパイルする手順 | 2006/01/20 | 完了 |
| 雑記 | Windows VistaでP/ECEを使う方法[パート2] | 2007/08/03 | 完了 |
| 雑記 | 32bit版Windows 7で、P/ECEを使う手順 | 2009/11/02 | 完了 |
| 雑記 | 64bit版Windows 7の、Windows XP Modeで、P/ECEを使う手順 | 2009/11/02 | 完了 |
| 雑記 | 64bit版Windows 8で、P/ECEを使う手順 | 2013/02/02 | 完了 |
| 雑記 | 64bit版Windows 10で、P/ECEを使う手順 | 2016/02/11 | 完了 |
| 雑記 | HDL-GT/LCDをWindows PCに接続する方法 | 2007/12/05 | 完了 |
| 雑記 | HDL-GT/LCD研究記録 | 2007/12/20 | 継続 |
| 雑記 | Interface増刊 S1C17702基板 デバッグモニタ 調査記録 | 2009/12/20 | 完了 |
| 雑記 | P/ECE標準音楽ドライバー エンベロープ・ビブラート計算表 | 2015/02/06 | 完了 |
| 型番 | 1型のみ | 2型以上は未対応です。 |
|---|---|---|
| 誤り訂正レベル | レベルL/レベルM/レベルQ/レベルH | |
| モード | 数字モード/英数字モード/8ビットバイトモード | 漢字モードは未対応です。 |
| 型番 | 1型のみ | 2型以上は未対応です。 |
|---|---|---|
| 誤り訂正レベル | レベルL/レベルM/レベルQ/レベルH | |
| モード | 数字モード/英数字モード/8ビットバイトモード | 漢字モードは未対応です。 |
圧縮率はCHCが一番良いです。
圧縮方式 CHC RC BPE � �SJIS⇔UTF8変換表」の圧縮後のサイズ[Byte] 12580 12846 14832 ��圧縮方式に応じた展開ルーチンのサイズ[Byte] 284 164 144 �J源�コード変換ルーチン(共通)のサイズ[Byte] 784 784 784 �´↓�の合計サイズ[Byte] 13648 13794 15760 sample1.txtをUTF8⇒SJISに変換する時間[秒] 26.7 62.4 14.6
まず、前回の結果に較べて、C(int)の結果が少し早くなっていますが、これはLuaとは関係ありません。
結果[個] 時間[ms] C(int) 168 175 C(flt) 168 991 C(dbl) 168 3978 Lua 168 5232
前回の結果に較べて、LUA_USE_C89は52%の高速化、LUA_32BITSは56%の高速化になりました。
LUA_USE_C89 結果[個] 時間[ms] C(int) 168 175 C(flt) 168 991 C(dbl) 168 3978 Lua 168 3253
LUA_32BITS 結果[個] 時間[ms] C(int) 168 175 C(flt) 168 991 C(dbl) 168 3978 Lua 168 2990
| 結果[個] | 時間[ms] | |
|---|---|---|
| C(int) | 62 | 21 |
| C(flt) | 62 | 110 |
| C(dbl) | 62 | 441 |
| Lua | 62 | 828 |
| Tcl | 62 | 490970 |
| 結果[個] | 時間[ms] | |
|---|---|---|
| C(int) | 62 | 21 |
| C(flt) | 62 | 110 |
| C(dbl) | 62 | 441 |
| Lua | 62 | 828 |
| Tcl | 62 | 828990 |
| 結果[個] | 時間[ms] | |
|---|---|---|
| C(int) | 62 | 21 |
| C(flt) | 62 | 110 |
| C(dbl) | 62 | 441 |
| Lua | 62 | 829 |
| Tcl | 62 | 3426450 |
| 00:00〜00:40 | PCに『MM-MCUSB16』を接続し、「このデバイスを聞く」をオンにして、マイクの音がPCのスピーカーから出ることを確認した。 |
| 00:40〜01:00 | 「このデバイスを聞く」をオンのままで、『MM-MCUSB16』を取り外した。 |
| 01:00〜01:20 | 何もせずに20秒間待った。 |
| 02:00〜02:40 | 再度、PCに『MM-MCUSB16』を接続した。すぐには音が出なかったが、30秒間ぐらい経つと自然に直って音が出た。 |
| 00:00〜00:30 | PCに『MM-MCUSB16』を接続し、「このデバイスを聞く」をオンにして、マイクの音がPCのスピーカーから出ることを確認した。 |
| 00:30〜01:00 | 「このデバイスを聞く」をオンのままで、『MM-MCUSB16』を取り外した。 |
| 01:00〜02:00 | 何もせずに一分間待った。 |
| 02:00〜02:40 | 再度、PCに『MM-MCUSB16』を接続したが、40秒間ぐらい経っても音が出なかった。 |
| 02:40〜03:10 | 「このデバイスを聞く」を一旦オフにして再度オンにすると、音が出るようになった。 |
| Windows Xp | Windows 7 | |||||||
| 一覧表示 | 読み出し | 書き込み | 削除 | 一覧表示 | 読み出し | 書き込み | 削除 | |
| USB PTP レスポンダ | ○ | ○ | × | ○ | ○ | ○ | ○ | ○ |
| USB MTP レスポンダ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| Windows Xp | Windows 7 | |||||
| 一覧表示 | 読み出し | 書き込み | 一覧表示 | 読み出し | 書き込み | |
| USB PTP レスポンダ | ○ | ○ | × | ○ | ○ | ○ |
| USB MTP レスポンダ | × | × | × | ○ | ○ | ○ |
「107760ミリ秒のTrueSpeechデータ」をデコードする実行時間 実行条件 C言語版 アセンブラ版 CPUクロック[MHz] コード配置 スタック配置 コードサイズ[Byte] 実行時間[ミリ秒] コードサイズ[Byte] 実行時間[ミリ秒] 24 SRAM SRAM 1716 31445 1204 15885 48 SRAM SRAM 19844 10061 24 高速RAM SRAM 16014 9622 24 SRAM 高速RAM 27237 13290 48 高速RAM 高速RAM 7006 4076
-- nが素数ならばtrue、素数でなければfalseを返します。
function is_prime(n)
local i
for i = 2, (n - 1) do
if (n % i) == 0 then
return false
end
end
return true
end
-- 2〜1000の範囲にある素数の数を、変数cに格納します。
c = 0
for i = 2, 1000 do
if is_prime(i) then
c = c + 1
end
end
一見、整数演算しか使っていなさそうな処理なのですけれど、前述のとおり、Luaでは全て、倍精度浮動小数演算になってしまいます。下の行から逆順に見て行ってください。
結果[個] 時間[ms] C(int) 168 195 C(flt) 168 3767 C(dbl) 168 19235 Lua 168 22904
C(flt)とC(dbl)が、高速版浮動小数点ライブラリの効果で、二倍ぐらい早くなっています。
結果[個] 時間[ms] C(int) 168 195 C(flt) 168 1801 C(dbl) 168 9223 Lua 168 12700
C(flt)とC(dbl)が、高速RAMの効果で、さらに二倍ぐらい早くなっています。
結果[個] 時間[ms] C(int) 168 195 C(flt) 168 991 C(dbl) 168 3976 Lua 168 6851
次に、EPSON版倍精度浮動小数点演算ライブラリを使ったままで、簡単な工夫だけで高速化してみます。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12398255667122870 0.046 0.413 N2 floating point -1.12187079888923713 0.031 4.322 N3 if then else 1.00000000000000000 1.669 0.062 N4 fixed point 12.00000000000000000 0.573 0.550 N5 sin,cos etc. 0.49902937281474022 0.004 22.753 N6 floating point 0.99999987888774768 0.019 27.764 N7 assignments 3.00000000000000000 0.558 0.331 N8 exp,sqrt etc. 0.75100163004525883 0.001 28.838
最後に、EPSON版倍精度浮動小数点演算ライブラリを、自作の高速版倍精度浮動小数点演算ライブラリに置き換えて、もっと高速化を図ってみます。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12398255667122870 0.227 0.424 N2 floating point -1.12187079888923713 0.160 4.207 N3 if then else 1.00000000000000000 2.549 0.203 N4 fixed point 12.00000000000000000 1.792 0.879 N5 sin,cos etc. 0.49902937281474022 0.018 22.711 N6 floating point 0.99999987888774768 0.100 26.907 N7 assignments 3.00000000000000000 0.848 1.089 N8 exp,sqrt etc. 0.75100163004525883 0.007 28.183
以上の結果を考察すると、単精度浮動小数点演算ライブラリを高速化して計測したときと、おおよそ同じ傾向になりました。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12398255667208135 0.352 0.601 N2 floating point -1.12187079889067864 0.282 5.234 N3 if then else 1.00000000000000000 2.541 0.448 N4 fixed point 12.00000000000000000 2.330 1.487 N5 sin,cos etc. 0.49902937281492256 0.033 27.327 N6 floating point 0.99999987888774768 0.205 28.962 N7 assignments 3.00000000000000000 0.848 2.397 N8 exp,sqrt etc. 0.75100163004421824 0.013 31.709
やはり、P/ECEとは桁違いですね…
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12398255667393077 219.056 0.456 N2 floating point -1.12187079889295993 174.225 4.016 N3 if then else 1.00000000000000000 784.310 0.687 N4 fixed point 12.00000000000000000 655.956 2.500 N5 sin,cos etc. 0.49902937281515769 20.564 21.063 N6 floating point 0.99999987890802666 67.819 41.406 N7 assignments 3.00000000000000000 187.721 5.125 N8 exp,sqrt etc. 0.75100163018458532 9.305 20.812
これまでは、Flashを使ってムービーを作る際、アクションの実行タイミングを「なんとなく」の感覚でしか理解していませんでした。
  前回のバージョン 今回のバージョン 不具合�,僚だ騎稜�用ムービー 止まり方が不正 正常に動作 不具合�△僚だ騎稜�用ムービー 実行時エラーが出て動作せず 正常に動作
前回のバージョンに較べると、3.5倍ぐらい早くなったのですけれど、まだ充分な速度とは言えません。
画像ファイル 前回のバージョン 今回のバージョン 1600×1200ピクセル、カラー (194,700バイト) 91.9秒 25.4秒 1600×1200ピクセル、グレースケール (165,234バイト) 89.3秒 24.9秒
まず、ファイルサイズの点から見て、JPEG(高画質)を採用する利点はほとんど無いので、検討から除外します。
PGD(無圧縮) PGD(可逆圧縮) JPEG(高画質) JPEG(中画質) JPEG(低画質) 2bit 2,836 byte 1,355 byte 8,771 byte 2,806 byte 1,167 byte 4bit 5,652 byte 3,858 byte 9,682 byte 2,662 byte 972 byte
N5が使っている関数ルーチン: sin()、cos()、atan()結果は、以下のようになりました。
N8が使っている関数ルーチン: log()、exp()、sqrt()
N5とN8のMOPSを、前回の結果と較べてください。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12331962585449218 0.597 0.579 N2 floating point -1.12131690979003906 0.572 4.228 N3 if then else 1.00000000000000000 2.542 0.733 N4 fixed point 12.00000000000000000 2.492 2.275 N5 sin,cos etc. 0.49942135810852050 0.042 35.843 N6 floating point 0.99464136362075805 0.499 19.447 N7 assignments 3.00000000000000000 1.188 2.801 N8 exp,sqrt etc. 0.74514013528823852 0.033 20.562
N5のMOPS: 0.006 → 0.042と、飛躍的に速くなりました。
N8のMOPS: 0.002 → 0.033
float pos = 0.0f;
float spd = 1.0f;
for(;;) {
spd *= 2.0f; // いずれオーバーフロー
pos += spd; // いずれオーバーフロー
move_player(pos);
// たぶん、forループを抜ける処理を忘れているバグ?
}
高速版浮動小数点演算ライブラリでは、オーバーフローエラーや無限大が発生したときは、正しい結果を返さないことにしてしまいました。
float pos = 0.0f;
float spd = 100.0f;
for(;;) {
spd /= 2.0f; // いずれ非正規化数になり、その後、非正規化数でも表せないほど細かくなってゼロになる
pos += spd; // いずれ静止する
move_player(pos);
}
しかし実際には、非正規化数でなければ表せられないほどの細かな値は、ゼロとして扱ってしまっても問題が無い場合がほとんどです。N1とN2とN6が、浮動小数点演算性能を示す項目で、浮動小数点演算性能を示しています。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12331962585449218 0.061 0.316 N2 floating point -1.12031567096710205 0.060 2.230 N3 if then else 1.00000000000000000 1.671 0.062 N4 fixed point 12.00000000000000000 0.615 0.512 N5 sin,cos etc. 0.49895125627517700 0.004 23.034 N6 floating point 0.99464136362075805 0.058 9.376 N7 assignments 3.00000000000000000 0.776 0.238 N8 exp,sqrt etc. 0.75055432319641113 0.001 29.065
かなり速くなりました。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12331962585449218 0.265 0.145 N2 floating point -1.12031567096710205 0.269 0.999 N3 if then else 1.00000000000000000 2.556 0.081 N4 fixed point 12.00000000000000000 1.921 0.328 N5 sin,cos etc. 0.49895125627517700 0.006 29.799 N6 floating point 0.99464136362075805 0.227 4.742 N7 assignments 3.00000000000000000 1.188 0.311 N8 exp,sqrt etc. 0.75055432319641113 0.002 38.116
高速版浮動小数点演算ライブラリは、EPSON版浮動小数点演算ライブラリに対して、2倍以上高速化できているようです。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12331962585449218 0.597 0.064 N2 floating point -1.12131690979003906 0.573 0.469 N3 if then else 1.00000000000000000 2.558 0.081 N4 fixed point 12.00000000000000000 2.499 0.252 N5 sin,cos etc. 0.49895125627517700 0.006 29.688 N6 floating point 0.99464136362075805 0.499 2.160 N7 assignments 3.00000000000000000 1.188 0.311 N8 exp,sqrt etc. 0.75055432319641113 0.002 38.072
P/ECEの全速力と較べても、N1とN2とN6は、200〜400倍の性能ですね、まさに桁違い。
Loop content Result MFLOPS MOPS Seconds N1 floating point -1.12475025653839111 214.635 0.523 N2 floating point -1.12274754047393799 182.400 4.312 N3 if then else 1.00000000000000000 790.591 0.766 N4 fixed point 12.00000000000000000 662.788 2.781 N5 sin,cos etc. 0.49904659390449524 19.672 24.750 N6 floating point 0.99999988079071045 96.846 32.594 N7 assignments 3.00000000000000000 254.459 4.250 N8 exp,sqrt etc. 0.75110864639282227 9.288 23.437
HDL-GT/LCDの制御コマンド仕様は、正式には非公開なのですけれど、HDL-GTシリーズのファームウェア(バージョン1.21)を読むとだいたいわかります。�� P/ECEをUSBシリアルデバイスとして、HDL-GT/LCDの制御コマンドをエミュレートする。
HDL-GTシリーズのファームウェアの中には、HDL-GT/LCDを制御する、Unixシェルスクリプトがたくさん入っているからです。
その他の情報源として、kinnekoさんの日記にも、PCからHDL-GT/LCDを制御するPythonスクリプトが公開されています。
「LCD」というキーワードで検索すると、HDL-GT/LCDに関連のある記事が抽出できます。
見ると、記事のコメントの中で、少しP/ECEの話題も出ていて、嬉しかったです。
以上の情報源から、これまでのところ、以下の制御コマンドが確認できました。
コマンド 応答 説明 @TITLE @ACK @TITLE タイトル画面を表示し、ボタン入力不可モードにします。 @HELLO @ACK ボタン入力可能モードにします。 @HANTEN @ACK 画面のドットをすべて反転します。 @LED,{1|2},{ON|OFF|BLINK|FAST} @ACK POWERランプ、ERRORランプを、点灯、消灯、点滅、高速点滅します。 @LOG,{20文字以内} @ACK ログを記録します。
一件20文字×最新の99件が記憶されています。@LOG {20文字以内} @ACK 同上。 @SHOW,LOG @ACK @BACK ログ表示モードにします。
ユーザーがCANCELボタンを押すと、@BACKを通知して、ボタン入力可能モードになります。@SHOW LOG @ACK @BACK 同上。 @CON,{1-99} @ACK 液晶画面のコントラストを設定します。 @CON @CON,{1-99} 液晶画面のコントラストを取得します。 %{16進数976文字} @ACK 画面表示を更新します。
16進数の並びは、任意の位置で「,」や改行文字で区切られていても構いません。#{16進数976文字} {16進数976文字をエコー} @ACK 同上。 @SW,{1|2|3|4} ボタン入力可能モードで、ボタンを押したときの通知です。 @NAK コマンドに不正なパラメータを指定したときのエラー応答です。
コマンド自体を間違えたときは、何も応答しません。
コマンド送信のキャラクタ間タイムアウトは約5秒間です。
たとえば、「@HELLO」を正しく送信できるもっとも遅いタイミングは、「@←5秒→H←5秒→E←5秒→L←5秒→L←5秒→O←5秒→(改行)」です。
途中で5秒間以上間隔を空けると、それまでに送信した文字列がキャンセルされてしまうようです。
コマンドの後ろに余分な文字が付いていても、正しく処理されるようです。
たとえば、「@HANTEN」の代わりに「@HANTENXXX」などとしても、正しく処理されました。
HDL-GT/LCDの制御コマンドは、比較的単純なものが多いので、制御コマンドの実装はたぶん容易だと思います。�� P/ECEのUSBシリアルデバイスの実現方法を、CDCでなく、CP2102エミュレーションに替える。
問題は、P/ECEをUSBシリアルデバイスにする方法です。
HDL-GT/LCDは、Silicon Laboratories社のCP2102というUSBシリアル変換ICを使って、USBシリアルデバイスを実現しています。
CP2102は独自プロトコルのUSBデバイスで、WindowsやLinux用のCP2102デバイスドライバと協動して、USBシリアルデバイスとして動作します。
P/ECEで、CP2102の独自プロトコルをエミュレートすれば、CP2102デバイスドライバがそのまま使えて便利なのですけれど、難度が高いです。
そこでまずは、別の方法を使って、P/ECEをUSBシリアルデバイスにしてみることにします。
方法の一つとして、以前に自作した『P/ECEシリアルポートデバイスドライバ』を使う方法もありますが、今回は別の方法を採ることにしました。
P/ECEをUSB CDC(Communication Device Class)デバイスにして、Windows標準のデバイスドライバ(usbser.sys)を使う方法です。
自作のデバイスドライバを使うよりも、安定性や互換性の点で有利だと思います。
P/ECEをUSB CDCデバイスにするブログラムは、既に実験済みなのですけれど、CDCについて詳しくはまた後日。
上記�△離好謄奪廚琶殞韻靴森猝椶任后��� P/ECEをHDL-GTシリーズのNAS実機に接続して、HDL-GT/LCDの代わりに使ってみる。
CP2102の独自プロトコルは、メーカーの資料に記載されていないみたいなので、いくぶん難度が高そうです。
CP2102をエミュレートするには、Linux用CP2102デバイスドライバのソースなどから逆に、デバイス側の動作を推測することになると思います。
このステップは、実現できるかどうか、ちょっと自信が無いです・・・
もし��が成功できれば、P/ECEはほぼ完全に、HDL-GT/LCDの互換になっているはずです。
HDL-GTシリーズのNAS実機に接続して、HDL-GT/LCDの代わりに使えるかどうか、実験してみたいです。
dlib33 ライブラリファイル名とタイプしてください。グローバルシンボル一覧が表示されます。
dlib33 C:\usr\PIECE\lib\simple.lib以下のようなグローバルシンボル一覧が表示されます。
0: bgset bgset.o 1: bgload bgload.o 2: msec msec.o 3: ppdplay ppdplay.o 4: ppdload ppdload.o -------------(中略)------------- 97: pceAppExit simple.o 98: pceAppProc simple.o 99: pceAppInit simple.o 100: selectdebug simple.o 101: simple_error simple.oダウンロードはこちら バイナリ&ソース(28KB)
| レベル | 初級、中級、上級の順に、キューブの落下速度が速くなります。 |
| キューブ | キューブの色数を、三色〜五色の間で選択します。(本物は六色なのですが、P/ECEの画面では見分けが付かないので、五色までとしました) |
| ヒント | “有り”にすると、現在の位置でキューブを落としたときに衝撃が伝わる範囲に、点滅枠を表示します。 |
|
2005年10月21日追記 ヒントの点滅枠が正しく表示されない場合があったバグを修正しました。 2005年11月6日追記 ・落下中のキューブがキラッと光るアニメーションを追加しました。(絵は用意してあったのですけれど、表示するのを忘れていました…) ・フィールド背景の右端にゴミが表示されていたバグを修正しました。 ダウンロードはこちら バイナリ(47KB) ソース(8.5MB) |
|
2005/10/02追記 無線LANアダプタを利用している場合、ネットワークブリッジ機能を使うと、通信ができなくなってしまう場合があります。 その場合、以下のような設定を行うことによって、通信ができるようになる可能性があります。 注意!! netshコマンドの入力を間違えると、Windowsの環境が壊れる恐れがあります。充分に注意して行ってください。
なお、ご利用になっているWindowsの環境によっては、アダプタの名前や順序、IDなどが、この図とは異なる場合がありますが、正常です。 謝辞:てとら★ぽっとさん、無線LAN環境での動作試験を行っていただき、ありがとうございます。 |
と書いたのですけれど、この情報は誤りでした。
Web上の情報を検索してみると、Windows 2000やXPでIP転送機能を有効にするには、レジストリを一か所書き換えるだけで良い、という記述がありました。
・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableRouterが存在しない場合は、IP転送機能Off・・・これが初期状態
・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableRouterが0x00000000ならば、IP転送機能Off
・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableRouterが0x00000001ならば、IP転送機能On・・・これに変更する
EnableRouterのレジストリ値には何の意味も無く、値を変更しても、OSの動作は何も変わっていませんでした。(無害です)
Windows 2000/XPで、IP転送機能をOnにする方法:
誤:「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableRouter」を0x00000001にする。↓ 正:「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter」を0x00000001にする。
IP転送機能がOnになったので、もう一度、PC1を中継してPC2とのpingを試してみます。(PC2のルーティング設定は、前々回と同じです)
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : (コンピュータ名)
Primary DNS Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . :
route add 192.168.255.0 mask 255.255.255.0 192.168.0.1その後、P/ECEの画面で、宛て先IPを「192.168.0.2」として、STARTボタンを押してみます。
ping 192.168.255.1とタイプしてみてください。成功ならば、P/ECEがpingに応答します。
|
(Windows 2000:Celeron+SiSチップセット,Crusoe+ALiチップセット。Windows XP:Athlon+SiSチップセット,Duron+VIAチップセット) これまでのところ、PCやOSに致命的なダメージを与えるような不具合は出ていませんが、テスト不足のため、問題が残っている可能性があります。 もしもデバイスドライバが動作異常を起こした場合に、ハードディスク上のファイルが破損したり、OSの再インストールが必要になる恐れがあります。 本デバイスドライバをお試し頂ける場合は、常用PCでの試用を避けて、重要なファイルの入っていない実験用PCでご試用ください。 もしもインターネットが見られなくなってしまった場合、もういちど既定のインターネット接続の設定を行うことで、修復することは可能ですが、 危険を避けるために、常用PCへのセットアップを避けて、実験用PCでお試しください。 |
P/ECEにpingを打つ自作のWindowsデバイスドライバと、SLIP接続を使って、WindowsとP/ECEの間でIP通信を行っている様子です。
ext cond 条件付き実行
ext op,imm2 ポストシフト
ext imm13 即値拡張1
ext imm13 即値拡張2
nextop 命令本体
一応、各ext命令が単独の命令ということになっているので、2バイト固定長命令RISCの面目は保っていますが、それに対して、今回の計測結果は、次のようになりました。結果詳細
Dhrystone値 9955.2[Dhrystone] Dhrystone MIPS 5.6[DMIPS]
二倍近く良い結果が得られました。結果詳細
Dhrystone値 18765.2[Dhrystone] Dhrystone MIPS 10.6[DMIPS]
|
(※1)BIOSの自動検出について コレコビジョン/EMUは、次の手順でBIOS ROMイメージファイルを自動検出します。 1. ファイルサイズが8192バイトちょうどで、"coleco.col"という名前のファイルがあれば、それを使います。 2. さもなくば、ファイルサイズが8192バイトちょうどで、ファイル全体のCRC32が0x3aa93ef3のファイルがあれば、それを使います。 3. さもなくば、ファイルサイズが8192バイトちょうどで、ファイル全体のCRC32が0x66cda476のファイルがあれば、それを使います。 4. さもなくば、ファイルサイズが8192バイトちょうどで、ファイル全体のCRC32が0x39bb16fcのファイルがあれば、それを使います。 5. 以上の手順で適切なファイルが見つからなければ、"BIOSが見つかりません"エラーを表示して終了します。 |
|
私信:>FAT12ってどうやって見分けるんでしょうか? MMC_Comm.exeにメッセージを出力しながら少しづつ追いかけてデバッグしてるときに、FATの内容が ++−−+−−−−−−− クラスタ02のエントリ(次はクラスタ03) || | 〜 03 F0 FF 〜 | || +−−++−−−− クラスタ03のエントリ(チェイン終了) こんなふうになっていたので気付きました。 もしかしたらブートセクタの中にFAT12と16を見分けるための情報があったかも知れないのですけれど、忘れてしまいました…(^^; Windows 2000を使ってフォーマットしたときに、規定の動作でFAT12とFAT16のどちらになるかは、 コマンドプロンプトからFORMATコマンドをオプション指定無しで実行したときの結果メッセージに FAT16ならば「16ビット : FATエントリ」、FAT12ならば「12ビット : FATエントリ」と表示されるので、 フォーマットしてもいいメモリカードならばこれで見分けるのが簡単だと思います。 参考資料のプログラムに組み込まれているデバッグ用ツール、MMC_Comm.exeはとても便利ですね。 これがあったから、簡単にプログラムを追いかけることができました。 |
SKQYAAE010Randomism Zoneさんの記事によると、型番ごとに色が違うみたいだとのことでしたが、今回届いたものはどれも同じ色で、P/ECEの基板に載っているものと同じ「黒」でした。
SKQYABE010
SKQYACE010
SKQYAFE010
拡張端子 (右2つはダミー)「まどかの世界」さんや「銀次郎工廠」さんのサイトの工作記事などを参考に、少しづつ試してみようと思います。
まずは教科書どおりにLEDボードから
点滅してます
未定義シンボル"UndefinedSymbol"に対して、不具合2
JP V0,UndefinedSymbol
という命令をコンパイルした場合に、コンパイルエラーが生成されません。
エラーも警告もなく、"JP V0,#000"に相当するコードが生成されてしまいます。
定義済みシンボル"DefinedSymbol"に対して、これらの不具合が発生する理由は、"JP V0,Addr"命令をコンパイルするサブルーチンにて、引数のエラーチェック条件が逆になってしまっているのが原因です。
JP V0,DefinedSymbol
という命令をコンパイルした場合に、コンパイルエラーとなってしまいます。
次のようなソースファイルがあると仮定します。この不具合が発生する理由は、"INCLUDE"擬似命令の後、ソースファイル名や行番号を元に戻す処理の中で、命令配置アドレスまで元に戻してしまっているのが原因です。
----- main.chp -----
org #800
Symbol1:
include data1.inc
Symbol2:
include data2.inc
----- data1.inc -----
db #00, #01, #02, #03
----- data2.inc -----
db #04, #05
main.chpをコンパイルすると、本来は次のように配置されなければいけません。
Addr Data
#800: #00
#801: #01
#802: #02
#803: #03
#804: #04
#805: #05
#806: #06
#807: #07
しかし実際には、次のように配置されてしまいます。
Addr Data
#800: #04 ... #00を配置した後に#04で上書きされた結果です
#801: #05 ... #01を配置した後に#05で上書きされた結果です
#802: #02
#803: #03
小粒ながら有名なタイトル揃いです。
タイトル ROMセットファイル名 ROMファイル名 サイズ CRC 備考 スタージャッカー starjack.zip epr-5332.3 8192 7a72ab3d 良好です フリッキー flicky.zip epr-5869.120 8192 6d220d4e 良好です ミスターバイキング mrviking.zip epr-5763.3 8192 d712280d 一部間に合ってません ザ・闘牛 bullfgt.zip epr-6077.120 8192 02a37602 良好です 青春スキャンダル myhero.zip epr-69xx.120 8192 0039e1e9 良好です テディーボーイ・ブルース teddybb.zip epr6748x.120 8192 c2a1b89d 全然間に合ってません 忍者プリンセス seganinj.zip epr-6559.120 8192 5a1570ee 全然間に合ってません チョップリフター chplft.zip epr-7130.126 32768 346af118 まあまあ良好です ヘビーメタル hvymetal.zip epr6787.120 32768 b64ac7f0 全然間に合ってません 4-Dウォーリアーズ 4dwarrio.zip 4d.120 8192 5241c009 まあまあ良好です
「CHIP8 A - CHIP-8 / SCHIP emulator Version 2.2.0 By David WINTER (HPMANIAC)」読んでいるだけで当時の熱気が伝わって、楽しくなってきます。
┏━━━━━━━━━━━━━━┓
┃ ┃
┃─ ┃
┃─ RCA ┃
┃─ ┌┐┏━━━━┓┃
┃─ ││┃123C┃┃
┃─ ││┃456D┃┃
┃─ ││┃789E┃┃
┃─ ││┃A0BF┃┃
┃─ └┘┗━━━━┛┃
┗━━━━━━━━━━━━━━┛
初期設定では、方向ボタン上・右上・右・右下・下・左下・左・左上の順に、2・3・6・9・8・7・4・1キーを割り当ててあります。
slapfigh.zip:
+ sf_r05.bin SIZE:8192 CRC:87f4705a
halleys.zip:
+ a62_13.5 SIZE:8192 CRC:7ce290db
+ a62_14.4 SIZE:8192 CRC:ea74b1a2
bosco.zip
+ 2900.3e SIZE:4096 CRC:d45a4911
+ bosco.spr SIZE: 256 CRC:ee8ca3a8
galaga.zip:
+ 04d_g06.bin SIZE:4096 CRC:8995088d
+ 1d.bin SIZE: 256 CRC:86d92b24
digdug.zip:
+ 136007.107 SIZE:4096 CRC:a41bce72
+ digdug.spr SIZE: 256 CRC:7a2815b4
前回の『WSGプレイヤー/6809』での対応機種よりも、少し年代の旧い三機種です。
xevious.zip:
+ xvi_7.2c SIZE:4096 CRC:dd35cf1c
+ xvi_2bpr.7n SIZE: 256 CRC:550f06bc
superpac.zip:
+ spc-3.1k SIZE:4096 CRC:04445ddb
+ superpac.3m SIZE: 256 CRC:ad43688f
pacnpal.zip:
+ pap14.1k SIZE:4096 CRC:330e20de
+ papi3.3m SIZE: 256 CRC:83c31a98
phozon.zip:
+ 3b.rom SIZE:8192 CRC:5a4b3a79
+ sound.prm SIZE: 256 CRC:ad43688f
grobda.zip:
+ gr1-4.1k SIZE:8192 CRC:3fe78c08
+ gr1-3.3m SIZE: 256 CRC:66eb1467
liblrabl.zip:
+ 2c.rom SIZE:8192 CRC:7c09e50a
+ lr1-4.3d SIZE: 256 CRC:16a9166a
gaplus.zip:
+ gp2-1.4b SIZE:8192 CRC:8182dd5b
+ gp2-4.3f SIZE: 256 CRC:2d9fbdd8
digdug2.zip:
+ d21_4.1k SIZE:8192 CRC:737443b1
+ d21-3.3m SIZE: 256 CRC:e0074ee2
toypop.zip:
+ tp1-3.2c SIZE:8192 CRC:5f3bf6e2
+ lr1-4.3d SIZE: 256 CRC:16a9166a
mappy.zip:
+ mp1_4.1k SIZE:8192 CRC:8182dd5b
+ mp1-3.3m SIZE: 256 CRC:16a9166a
todruaga.zip:
+ td1_4.1k SIZE:8192 CRC:ae9d06d9
+ td1-3.3m SIZE: 256 CRC:07104c40
マッピーとドルアーガの塔はかなりいい感じに演奏できていると思います。
motos.zip:
+ mo1_4.1k SIZE:8192 CRC:55e45d21
+ mo1-3.3m SIZE: 256 CRC:2accdfb4
mpatrol.zip:
+ mp-s1.1a SIZE=4096 CRC=561d3108
travrusa.zip:
+ mr10.1a SIZE=4096 CRC=a02ad8a0
yard.zip:
+ yf-s-3b SIZE=8192 CRC=0392a60c
+ yf-s-1b SIZE=8192 CRC=6588f41a
+ yf-s-3a SIZE=8192 CRC=bd054e44
+ yf-s-1a SIZE=8192 CRC=2490d4c3
kungfum.zip:
+ a-3e-.bin SIZE=8192 CRC=58e87ab0
+ a-3f-.bin SIZE=8192 CRC=c81e31ea
+ a-3h-.bin SIZE=8192 CRC=d99fb995
spelunkr.zip:
+ spra.3d SIZE=16384 CRC=4110363c
+ spra.3f SIZE=16384 CRC=67a9d2e6
ldrun3.zip:
+ lr3-a-3d SIZE=16384 CRC=28be68cd
+ lr3-a-3f SIZE=16384 CRC=cb7186b7
ldrun4.zip:
+ lr4-a-3d SIZE=16384 CRC=86c6d445
+ lr4-a-3f SIZE=16384 CRC=097c6c0a
lotlot.zip:
+ lot-a-3h SIZE=8192 CRC=0781cee7
kidniki.zip:
+ dr00.3a SIZE=16384 CRC=458309f7
+ dr01.3cd SIZE=16384 CRC=e66897bd
+ dr02.3f SIZE=16384 CRC=f9e31e26
youjyudn.zip:
+ yju_a3fb.bin SIZE=16384 CRC=e15c8030
ldrun.zip:
+ lr-a-3f SIZE:8192 CRC:7a96accd
+ lr-a-3h SIZE:8192 CRC:3f7f3939
ldrun2.zip:
+ lr2-a-3e SIZE:8192 CRC:853f3898
+ lr2-a-3f SIZE:8192 CRC:7a96accd
+ lr2-a-3h SIZE:8192 CRC:2a0e83ca
sflush.zip:
+ taitofr.005 SIZE:2048 CRC:c4f08f9f
+ taitofr.004 SIZE:2048 CRC:87a754a5
+ taitofr.003 SIZE:2048 CRC:5b12847f
+ taitofr.002 SIZE:2048 CRC:291c9b1f
+ taitofr.001 SIZE:2048 CRC:55d688c6
tankbatt.zip:
+ tb1-1.bin SIZE:2048 CRC:278a0b8c
+ tb1-2.bin SIZE:2048 CRC:e0923370
+ tb1-3.bin SIZE:2048 CRC:85005ea4
+ tb1-4.bin SIZE:2048 CRC:3dfb5bcf
+ tb1-5.bin SIZE:2048 CRC:aabd4fb1
+ tankbatt.clr SIZE:256 CRC:1150d613
circus.zip:
+ circus.1a SIZE:512 CRC:7654ea75
+ circus.2a SIZE:512 CRC:b8acdbc5
+ circus.3a SIZE:512 CRC:901dfff6
+ circus.5a SIZE:512 CRC:9dfdae38
+ circus.6a SIZE:512 CRC:c8681cf6
+ circus.7a SIZE:512 CRC:585f633e
+ circus.8a SIZE:512 CRC:69cc409f
+ circus.9a SIZE:512 CRC:aff835eb
+ circus.4c SIZE:512 CRC:6efc315a
+ circus.3c SIZE:512 CRC:30d72ef5
+ circus.2c SIZE:512 CRC:361da7ee
+ circus.1c SIZE:512 CRC:1f954bb3
+ circus.14d SIZE:512 CRC:2fde3930
ギャラクシーウォーズ
galxwars.zip:
+ univgw3.0 SIZE:1024 CRC:937796f4
+ univgw4.1 SIZE:1024 CRC:4b86e7a6
+ univgw5.2 SIZE:1024 CRC:47a187cd
+ univgw6.3 SIZE:1024 CRC:7b7d22ff
+ univgw1.4 SIZE:1024 CRC:0871156e
+ univgw2.5 SIZE:1024 CRC:6036d7bf
スペースインベーダーパートII
invadpt2.zip:
+ pv.01 SIZE:2048 CRC:7288a511
+ pv.02 SIZE:2048 CRC:097dd8d5
+ pv.03 SIZE:2048 CRC:1766337e
+ pv.04 SIZE:2048 CRC:8f0e62e0
+ pv.05 SIZE:2048 CRC:19b505e9
+ pv06_1.bin SIZE:1024 CRC:a732810b
+ pv07_2.bin SIZE:1024 CRC:2c5b91cb
ルパン三世
lupin3.zip:
+ lp12.bin SIZE:2048 CRC:68a7f47a
+ lp13.bin SIZE:2048 CRC:cae9a17b
+ lp14.bin SIZE:2048 CRC:3553b9e4
+ lp15.bin SIZE:2048 CRC:acbeef64
+ lp16.bin SIZE:2048 CRC:19fcdc54
+ lp17.bin SIZE:2048 CRC:66289ab2
+ lp18.bin SIZE:2048 CRC:2f07b4ba
ルナレスキュー
lrescue.zip:
+ lrescue.1 SIZE:2048 CRC:2bbc4778
+ lrescue.2 SIZE:2048 CRC:49e79706
+ lrescue.3 SIZE:2048 CRC:1ac969be
+ lrescue.4 SIZE:2048 CRC:782fee3c
+ lrescue.5 SIZE:2048 CRC:58fde8bc
+ lrescue.6 SIZE:2048 CRC:bfb0f65d
+ 7643-1.cpu SIZE:1024 CRC:8b2e38de
バルーンボンバー
ballbomb.zip:
+ tn01 SIZE:2048 CRC:551585b5
+ tn02 SIZE:2048 CRC:7e1f734f
+ tn03 SIZE:2048 CRC:d93e20bc
+ tn04 SIZE:2048 CRC:d0689a22
+ tn05-1 SIZE:2048 CRC:5d5e94f1
+ tn06 SIZE:1024 CRC:7ec554c4
+ tn07 SIZE:1024 CRC:deb0ac82
sitv.zip:
+ tv0h.s1 SIZE:2048 CRC:fef18aad
+ tv02.rp1 SIZE:2048 CRC:3c759a90
+ tv03.n1 SIZE:2048 CRC:0ad3657f
+ tv04.m1 SIZE:2048 CRC:cd2c67f6
minivadr.zip:
+ d26-01.bin SIZE:8192 CRC:a96c823d
dotrikun.zip:
+ 14479a.mpr SIZE:16384 CRC:b77a50db
さて、まだ処理能力に余裕が残っているので、「エリアシング削減処理」などの未実装項目を実装すればもう少し音が良くなるかも知れません。
lame --resample 32000 -b 64 -m m 入力ファイル名 出力ファイル名
これでたぶん、「MPEG-1 layer III」で「モノラル・32KHz・48Kbps」形式のMP3ファイルが作成されると思います。
lame --resample 32000 -m m 入力ファイル名 出力ファイル名
サンプリリング周波数 32KHz ビットレート 64Kbps 固定 レイヤー III モード ステレオ または ジョイントステレオ エンファシス なし
のようなメッセージが表示されています。
ファイルを整列しています。
×電池を抜かないで!
×P/ECEをリセットしないで!
進行状況( 12/ 34)
のようなメッセージが表示されています。
ファイルを整列しています。
×電池を抜かないで!
×P/ECEをリセットしないで!
進行状況( 12/ 34)
のようなメッセージが表示されています。
ファイルを整列しています。
×電池を抜かないで!
×P/ECEをリセットしないで!
進行状況( 12/ 34)
| コンパイラオプション | EPSONコンパイラ | S1C33用GCC3.3 |
| -Os(省メモリ優先) | N/A | 9675.9 (詳細) |
| -O2(速度優先) | 9955.2 | 12365.5 (詳細) |
int test1(int a) {
return a << 7;
}
をEPSONコンパイラでコンパイルすると、こうなります:
test1:
ld.w %r10, %r12 ; 1サイクル
xsll %r10, 7 ; 1サイクル(シフト数が0〜8ならディレイド命令にできるのに、そうなっていません)
ret ; 4サイクル
今回のGCCでコンパイルすると、こうなります:
test1:
ld.w %r10, %r12 ; 1サイクル
ret.d ; 3サイクル
xsla %r10, 7 ; 1サイクル(シフト数が0〜8の範囲なので、ディレイド命令になっています)
やっとひとつ、EPSONコンパイラに対するアドバンテージができました。通常(いきなりパワーセーブモード):100回中、にじみの発生は7回。意外と少ないですね。もっと多いと思っていました。
○○○○○○○○○×○○○○○○○○○○×○○○○○×○○○○○○○○○○○○○○○○○○○○○○○
×○○○○○○○○○○○○○○○××○○○○○○○○○○○○×○○○○○○○○○○○○○○○○○○○
画面表示OFFしてからパワーセーブモード:残念、まだにじみが発生します。100回中、にじみの発生は3回。う〜ん、微妙です。
○×○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○×○○○
○○○○○○○○○○○○○○○○○×○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○
「画面表示OFF」のコマンドを送っても、実際にLCDの画面表示がOFFになって回路が安定するまでに、少し時間がかかるのではないか?それでは、「画面表示OFF」の後に0.1秒待ってからパワーセーブモードに入るように修正して、実験してみましょう。
画面表示OFFして、少し待ってからパワーセーブモード:惜しい!100回中、にじみの発生は1回。
○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○
○○○○○○○×○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○
|
datファイルは、拡張子を除いて十文字ぐらいのファイル名を持っているので、そのままではP/ECEに転送できません。 エクスプローラ上で八文字以下のファイル名にリネームしてから転送してください。 または、拙作『mini ISD』をご利用頂きますと、長すぎるファイル名を自動的に八文字のファイル名に変換して転送できます。 |
| \usr\PIECE\app\pex\ojyomini.pex | ||
| 62KB | 6分45秒 | 最悪の例です。ファイルサイズが大きく、しかも既に圧縮されているので、そのまま転送します。 |
| \usr\PIECE\docs\資料\apilist.txt | ||
| 41KB | 2分45秒 | まあまあの例です。ファイルサイズは大きいですが、テキストファイルなので、ある程度圧縮できます。 |
| \usr\PIECE\app\pex\picket.dat | ||
| 48KB | 5秒 | 最高の例です。ファイルサイズは大きいですが、圧縮効率が非常に高いので、一瞬で転送できます。 |
| \usr\PIECE\winapp\おでかけマルチ\inst\odemaru.sav | ||
| 4KB | 2秒 | 一般的な例です。数キロバイトのデータファイル転送が、赤外線通信には最も適していると思います。 |
|
現在のP/ECEカーネルで6/3MHzモードでのLCD転送が上手くいっていない理由は、LCD転送用のシリアルインターフェイスにクロックを供給するタイマの設定に問題があるようです。 P/ECEのCPU S1C33 の8ビットタイマには、次のような制限があります: 8ビットプログラマブルタイマの入力クロックにCPU動作クロックよりも高速なクロックは使用しないで下さい。 (『S1C33209/221/222テクニカルマニュアル』 B-III-3-4 (254ページ目) 「8ビットプログラマブルタイマの制御と動作」 の下の方です) P/ECEカーネルも、この制限を守るために、CPUのクロックの低下に合わせて8ビットタイマへの入力クロックの分周比を調整しています。 ところが現在のpceCPUSetSpeedの実装では、8ビットタイマのプリスケーラ分周をバイパス(P8TCPK5=1)したままプリスケーラの分周比を調整しているので、 プリスケーラの設定が無意味なものとなってしまい、常に24Mhzのクロックが8ビットタイマに供給されてしまっているようです。 上記制限には多少の余裕があるようで、12MHzモードまでは何とか付いて来ますが、6/3MHzでは余裕を超えてしまって8ビットタイマが正しく動かなくなり、 8ビットタイマからクロック供給を受けているシリアルコントローラにも影響が出て、LCD転送が上手くいかなくなるのではないかと推測します。 もっとも、P/ECEカーネルのLCD転送コードは24MHzのタイミングに合わせてギリギリに高速化されているので、もともと6/3MHzでの動作は考慮していないのかも知れません。 |
ファイルが不連続です上記のエラーメッセージが表示されたら、いったん全ファイルをバックアップして削除し、転送しなおしてみてください。
一度ファイルを全部消して
転送し直してみてください
|
簡単な使い方を説明します。 たぶんいちばんよく使われるPPDファイル形式は「ADPCM・16000Hz固定」だと思います。 「ADPCM・16000Hz固定・テキスト(C言語形式)」を指示して、sample.wav→sample.c変換を行うには: dppcmcnv -t -fa sampleとタイプします。 「ADPCM・16000Hz固定・バイナリ」を指示して、sample.wav→sample.ppd変換を行うには: dppcmcnv -b -fa sampleとタイプします。 とりあえず、この二つの使い方だけで充分だと思います。詳しい使い方については、付属のREADME.TXTをご参照ください。 |
|
手近なスプライトライブラリ・シンプルライブラリ使用アプリケーションで、取り込みの可否を検証してみました。 取り込み可能
|
dmalloc -t 1詳しくは付属のREADME.TXTか、「dmalloc --help」で表示されるヘルプを参照してください。
残った迎撃ミサイルの数×10×ラウンド番号 + 破壊されていない街の数×100×ラウンド番号上記の点数が、ラウンドクリア時に加算されます。ミサイル迎撃数は得点に関係ありませんので、ご注意ください。
| 製品概要 |
| エプソンオリジナルの高速、低消費電力32ビットRISC。CMOS 32ビットコア、RAM、SIO、A/D、タイマ、PLLなどを内蔵し、 音声認識、合成処理など豊富なミドルウェアにより広範なアプリケーションに対応します。 さらに、対応OSはLINUXが新たに追加サポートされました。 S1C33205は、外部のSDRAMに直結することができる新モデルです。 |
| デモ内容 |
| S1C33205をベースにしたWebサーバを構築します。サーバはLINUX OSで稼働させます。 S1C33205をベースにした高性能音声合成、音声認識アプリケーションを動作させます。しゃべる声の選択もできます。 |
今回、P/wareさんに、mini ISDを改善するためのアイデアを頂きました。ありがとうございました。
以前に機能追加した、右クリック「送る」への対応も、P/wareさんのアイデアでした。
P/wareさんのサイトの、プログラム高速化に関する記事は必見です!!