ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

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

r8080でゲーム機のエミュレート 4

IOの実装を進めた。 色々あるのだけと一番大きいのはシフトレジスタだ。 参考になるのはこのページで computerarcheology.com 最初は理解できなかったが16bitのシフトレジスタがあってout portの4番に書き込むと上位8bitにセットされる。 更に書き込むと前回…

r8080でゲーム機のエミュレート 3

キャラクターデータが繰り返しノイズの様に表示される現象が解決した。 CPI命令の処理が間違っていたのが原因だ。 CPI命令は次の1バイトとAレジスタを比較するが、次の2バイトが指し示すデータメモリーと比較していた。 2バイト命令を3バイト命令として扱っ…

r8080でゲーム機のエミュレート 2

割り込みを実装してみた。 途中までうまく行っていたが 10ポイントキャラの表示でおかしくなっている。 キャラクターデータが繰り返しノイズの様に表示される現象がでている。 今のところ全く見当が付いていないのと、実機の割り込みは60Hz毎に入るらしいが…

r8080でゲーム機のエミュレート 1

TK-80 save / load 実装 - ひとしれずひっそり あのゲームが動くのか? というのに手を出している。 i8080で動いているのでr8080で動かせるはずだ。 CPU部はすでに実装済みなのでゲーム固有のハードを実装すればうごくはずだ。 ただ、実行速度とか心配なとこ…

Duolingo 521日目

最近 XP 3倍のアイテムがもらえる様になって XP が稼ぎやすくなった。 と、喜んでいたのだが今まで HP が無制限だったり広告が出なかったりしていたのがなくなってしまった。 長く継続することへのご褒美くらいに思っていたが、たまたま何かの不具合でそうな…

Port 5000が競合

MacでPort 5000で起動しようとしたら既に使われていた。 Qiitaに解決策があった。 qiita.com AirPlay レシーバーをオフにすればいいようだ。

Duolingo 467日目

Duolingoで新たにMathとMusicのコースを選択している。 これらは英語で問題が出されるので躊躇していたが、今のところそれほど難しい表現が出ていない。 Mathで文章問題がたまに出て理解が足りてない時もあるが文脈から判断したりしている。 四則演算から分…

YAML.load に permitted_classes を渡す

Time を 書き出しているYaml ファイルの読み込みで以下のエラーが発生。 `find': Tried to load unspecified class: Symbol (Psych::DisallowedClass) YAML.load に permitted_classes を渡す必要があるようだ。 stackoverflow.com YAML.load(filepath) # ↓ …

Alertが表示されない

SwiftUIでalert()を使ってアラート表示している箇所があるが、いつの間にか表示されたりされなかったりする様になっていた。 ネットで調べてもしっくりくる回答がなかった。 画面遷移直後に表示される箇所があり、それが表示されると以降も問題ないことがわ…

TK-80 save / load 実装

TK-80のモニターでは save / load はシリアル出力して外部に回路を加えることで音声データとしてカセットに記録できる様になっている。 TK-80BSがボーレート300だったとあるのでおそらく300bpsではないか? これをエミュレートしても良いのだがクロックが安…

TK-80 割込動作実装

割込も動作するようになった。 EIはEIの次の命令を実行すると割込可能になるとあった。 EIの次を実行した後に割込が入る様に実装していた。 これで試していると思った様な動作にならなかった。 TK-80ではステップモードにするとブレークポイントが未設定だと…

SyscallError: setpriority(PRIO_DARWIN_ROLE, 5562, 3): No such process

Objcで書かれていたアプリをSwiftに移行する準備としてObjcの大半のコードをフレームワークに移した。 Embedded framework として埋め込むのだが、実行時に参照できる様に Runpath Search Paths に Frameworkのある場所として @executable_path/Frameworks …

ITMS-90023: Missing required icon file

久しぶりにiOSアプリを更新中。 初期の頃からObjective-Cで書いてるアプリで、iPadも対応してなかったがついでなので対応させようとしてる。 iPad用のアイコンを用意しようとしたら最近は1024x1024の画像だけ準備すれば良いのに驚いた。 アイコンを各サイズ…

TK-80のモニタープログラムが動いた

作っているI8080シミュレーターだが、 復活!TK‐80 からモニタープログラムを打ち込んで動作することを確認した。 ステップ動作はまだ実装していない。 キー入力は 'io/console' gemを使用したが、押した時しか分からず押された瞬間だけで処理するとチャタリ…

i8080AからTK-80へ

i8080Aを実装したので実際に動かしてみたいとなる。 メモリになんか書いてあげれば動くんだけど、動いているのが目に見える方がいい。 となるとTK-80っぽいのを作る事になってしまう。 7セグっぽいのがでればそれっぽいのでそこまではできた。 表示に時間が…

プリンプリン物語再放送

プリンプリン物語地上波初の再放送 10月14日から毎週月曜に放送される。 10:50PM-11:20PMと30分の様なので2話ずつかな? 50話までという事なので半年くらいになるのでは? 当時ビデオテープが高価で使い回して残ってないのは残念と思っていたが、wikiには201…

i8080AのEmulatorインストラクション一通り実装完成

フラグの実装が完成したので一通りのインストラクションは揃った。 割り込み処理をどうするかはまだ残っているが何か動かしながら考えよう。 github.com

i8080AのEmulatorフラグ処理以外実装した

i8080AのEmulatorだがフラグ処理以外は実装した。 割り込み処理もどうするかというのはあるが、まずフラグ処理を実装していこう。 github.com

i8080AのEmulator

i8080AのEmulator作ろうとして放置してたのに手を入れ始めた。 5年も放置してたみたいだ。 github.com githubで8080で検索するといっぱい出てくるので、今更な感じもあるしこれと云って何に使うとかもないけれど一度完成させようと思う。

Doulingo368日

ということですでにマイルストーンの365日を経過した。 なんか特別なことがあるかなと期待していたが、いつものように報酬(XP)があるだけ?かと思ってた。 ら、ランキングに1年以上の表示(VIPメンバーステータスか?)されてた。 という訳で期待したほどでは…

ドライブレコーダーが復活した話

ドライブレコーダーが電源を入れるたびに日付が巻き戻ってしまう様になって久しく、そのうち電源も勝手に切れる様になってしまっていた。 バッテリーがダメになっているとは思っていたが同じものが手に入るのかとか思いつつなかなか手が出せていなかった。 …

Doulingo337日

Doulingoのことしか書いてないが337日目を達成した。 XP2倍が15分なんだけど、ここ暫く893分などと表示されて、最初見た時は15時間もあるのかと思ったが、秒数で表示されているだけで、単位が前のまま分になっているだけだった。 バージョンアップすると治る…

Duolingo 300日

Duolingo 300日目を達成。 XPが2倍がもらえるタイミングがいくつかあるが、今までは2倍の最中にもらっても後からもらったのは無効になっていた。 そのため2倍が終わってから次のがもらえる様にタイミング調整したりしていたが、いつからか無効ではなく時間が…

Duolingo 250日

Duolingo 250日目を達成した。 仕事の都合などで前ほど時間をかけれていないがかろうじてパールリーグを維持している状態。 相変わらず上達感はなしで、中国語はやっぱり発音が大変。

UIKeyboardTypeの違いの確認

UIKeyboardTypeでどんなキー配列か一覧が欲しいということで作った。 gist.github.com

Duolingo 201日

Duolingo で200日目のマイルストーンを達成して201日目となった。 いつの間にかハートが無限大になっていて、広告も出なくなった。 長く続けているご褒美なのか? 2回目のダイヤモンドリーグに上がって残留できるかとおもったが、後半どんどん追い抜かれた。…

Fusion360で印刷する

これは気づかないよ www.autodesk.co.jp

M5StackデバイスでPC側で通信ポートが認識できない時

IoT

M5StackデバイスでPC側で通信ポートが認識できない事がよくある。 (サーボ)モーターやリレーを使っていたりすると良くあって、M5Stackデバイス単体にすると認識される様になったりする。 多分電源が安定しなくなるとか逆起電力のせいとかで影響されて認識で…

rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)

IoT

なんかの拍子にM5StampS3でプログラム書き込み後に以下のリブートがかかって全然動かなくなってしまった。 rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT) 検索して以下が見つかった。 community.platformio.org platformio.iniに以下を追加して…

Guru Meditation Error: Core 1 panic'ed (IllegalInstruction)

IoT

M5StampS3でSakurIOのライブラリーで以下のエラーがでて再起動してしまう。 Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. I2C通信している箇所でstartReceive()を呼び出して戻って来てないっぽい。 this->startR…