2020-01-01から1年間の記事一覧

MAME から無劣化動画を作る (かなり面倒くさい)

MAME の AVI 作成機能ではなくて MNG 作成機能から lossless の動画を作りました. 10年前に試したところ AVI 作成機能は圧縮一切なしの超巨大ファイルを作るし、 MNG は対応しているソフトが当時も今も皆無です. MAME で入力を記録する mame [gamename] -rec…

libFLAC 続き

malloc, calloc, realloc, fclose が残っていましたので除去しました. 一応PCで動いているみたいですが ROM と RAM の消費量は下記となりました. 0x3870 .text libflac.a(stream_decoder.o) 0x1158 .text libflac.a(bitreader.o) 0x0b24 .text libflac.a(for…

libFLAC の自作 PC 向けソフトへの利用、および MCU 向けの調査

説明の順番をすっとばしますが、 FLAC の一連のソースコードやドキュメントはとても丁寧です. いままでみた有名なプロジェクトのソースコードの中でもきれいで感動しました. configure (automake) からのビルド なにもよまずにやってみましたが、 memset_chk…

試作の検討

これは趣味として試作をするものであるので売り物を作る訳ではありません. 前作の性能の限界とその対策 MCU block が FPGA の内部ロジック使用量の半分を超えている FPGA のパッケージが大きい,単価も少し高い ソフトウェア部がPC用,6502用,MCU用の3つに分か…

mruby/c をリンクする

mruby/cの呼び出し サンプルのコードをテキトーに張りました. #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include "mrubyc.h" int hal_write(int fd, const void *buf, int nbytes) { return 1; } int hal_flush(int fd) { return 1; } static const uint8_t #if defin</stdint.h></stdlib.h></stdio.h>…

mruby/c をコンパイルする

設計を考えていて MCU を決める事が最優先事項なので、mruby/c を導入してみました. 2週間ぐらい前に試したらリンクさえ通らなかったのですが、手順をやり直しました. 目的 MCU 側のクロスコンパイラで mruby/c をリンク、簡単な動作をみて実用に値するかが…

Squirrel を久しぶりに使う

今の開発には大変疲弊しており気分転換に別の事をやることにしました. 割と重要なのが自作パッチ当てツールです.これは15年ぐらい前にテキトーに作ったものを使っていて、気に入らない部分がたくさんあるけど致命的な理由がなくなんとかなっていたのですが、…

pukiwiki のファイルアップロードを複数でもできるようにする

最近 pukiwiki を設置し、いままでの文書を移行中です. そこでファイルのアップロードが1個ずつでかったるいので書き換えました.コードは php のサイト https://www.php.net/manual/ja/features.file-upload.multiple.php からぱくってきました. $ diff puki…

memory base driver for 6280 3/3

同名の記事 1/3 の "メモリデータの受信" を高速化できました. 2/3 の "書き込みルーチン" はいろいろ試しましたが劇的な効果は得られなかったので前回の物が最適のようです.コードは read_optimize が 1,2,4,8 で異なるマクロを使ってます. read_optimize e…

memory base driver for 6280 2/3

write driver は RAM の data をまるまるコピーではなく通信経路からの fifo のコピーとしたかったのですが、既存の機能を使い回すということで前者でてっとりばやく実装することにしました. 書き込みルーチン 先日の serial_send を使ったら処理時間がえら…

memory base driver for 6280 1/3

自前の資料を基に作りました. 対象はネイティブの IO port 経由です. 別の組み込み MCU を使う場合は設定条件をよくみて SPI 機能を使うとよいでしょう.こういうシフトレジスタの処理だけならアセンブラで書くのはとても楽しいです. 送信ルーチン serial_sen…

KOCD2001 MB128 driver

こちらのが前回よりプログラムがきれいです. ただしやってることはほとんど同じでした. ec1b8: jsr lc08e ;send 10x3+3 bits, check detection bits bcc lc1c0 lda #$FF rts lc1c0: ;operation = read ldx #$01 ldy #$01 jsr lc070 ;send address ldx <$8d l…

ADCD3001 A.III memory base 128 driver

解析しました. (2020年1月28日更新: コードの読み間違いが原因のactivation * 3 とその後の不明の 3 bits を削除) ;ADCD3001 A.III memory base 128 driver ;bits |send data |meaning ;10 |0001_0101_01|activation ;1 |p |set operation read or write ;10…

PCEのCDの型番の採番ルール

リストをみていると2通りあるようです. 発売社名+CD+年+用途+連番 TJCD9001 TJ: 発売社名. 基本2文字だが、ハドソンだけ H の1文字を使っている. CD 9: 年. 198x か 199x の1桁目を示す. 1988 から 1996 までで 7 は存在していないようだ. 0: おそらく用途. …

ユナ1作目の型番

MAME の pcecd.xml で謎だったものを実物で確認しました. HCD5078 銀河お嬢様伝説ユナ HuVIDEO同梱再販版 銀河お嬢様伝説ユナの(1作目, PCE)は 1992 年に発売された DISC 1枚のパッケージが HCD2031 で、 1995 年に発売された DISC 2 枚のパッケージが HCD50…