ひとしれずひっそり

ひとしれずひっそり

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

ITMS-90023: Missing required icon file

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

そうしてAppStoreにアップロードしたら"ITMS-90023: Missing required icon file"が出た。

アプリが何本かあって他のは問題なかったので、何か違いがあるはず。
探って行ったところ、Minimum Deploeyment のバージョンが違っていた。
問題ない方は12で引っかかった方は9だった。

iOS 18が出た今となっては10と11はどうかまで確かめるほどではないので12.0にして解決した。

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

作っているI8080シミュレーターだが、 復活!TK‐80 からモニタープログラムを打ち込んで動作することを確認した。

ステップ動作はまだ実装していない。

  • キー入力は 'io/console' gemを使用したが、押した時しか分からず押された瞬間だけで処理するとチャタリング処理でキャンセルされてしまって入力できなかったので、50ms押された状態が続いているようにしたら入力ができるようになった。
  • 前書いたように画面の表示が思ってた様になっていなくて、時間を調整する処理がうまくなかった。
    • 毎サイクル時間調整すると表示やキー入力のThreadに制御が渡りにくくなるので30ms以上ずれたら待つ様にしてスムーズに動く様にした。

思っていたよりすんなりと動いてしまった。
あとはステップ動作を入れれば大概のことはできそう。

youtu.be

モニタープログラムの打ち込みは大変かと思ったが、タイプミスはあれど行を抜かしたのはたったの1行だけで俺すごいって思った。
抜けがあるとどこが抜けているかチェックが大変なので….

本の誤記が1箇所あって2の表示がdになってしまうのがあった。他にもあるらしいんだけど、後でハマったら調べよう。

;;
;; SEGMENT DATA
;;
SEGD:   DB    5CH,06H,5BH,4FH,66H,6DH
        DB    7DH,27H,7FH,6FH,77H,7CH,39H
        DB    5EH,79H,71H

誤 SEGDから始まる行の5EHが間違い。5BHが正しい。

;;
;; SEGMENT DATA
;;
SEGD:   DB    5CH,06H,5EH,4FH,66H,6DH
        DB    7DH,27H,7FH,6FH,77H,7CH,39H
        DB    5EH,79H,71H

github.com

i8080AからTK-80へ

i8080Aを実装したので実際に動かしてみたいとなる。
メモリになんか書いてあげれば動くんだけど、動いているのが目に見える方がいい。
となるとTK-80っぽいのを作る事になってしまう。

7セグっぽいのがでればそれっぽいのでそこまではできた。
表示に時間がかかってそうなのでCPUの実行速度に影響がでてるかもしれない。

rake
ruby board.rb
0.000133
 _   _   _   _   _   _   _   _  
| | | | | | | | | | | | | | | | 
|_| |_| |_| |_| |_| |_| |_| |_| 

A:91 F:82 B:4d C:00 D:00 E:00 H:84 L:00 
BC:4d00 DE:0000 HL:8400 PC:0027 SP:fffa

久しぶりにアセンブリ言語で書いた訳だが、アセンブラがない事にはバイナリーが作れない。
自分でアセンブラを作ろうかとも思ったけどasm80-nodeというのがあるのが分かった。
拡張子を変える事で Z80 や 6502 なども対応する優れものだ。i8080は拡張子をA80にすれば良い。

あとはキーボード部を作ってあげれば TK-80 のプログラムがそのまま動くんではないかという気がしてきた。

モニタープログラムは 復活!TK-80 にあるので、それを入力すれば良さそうだが実際に試したとしても権利関係が不明なので公開はしないつもり。
中日電工で公開しているドキュメントにND80ZIII用に変更した物が載っているのでそれを改造する事でも動かせるだろう。

というかND80ZIIIのアドレスにも対応させればそのままでもうごかせるか。

examples の training_board に置いているので試したい人はどうぞ。
セグメントデータとして0から255のデータを回しているだけです。

github.com

プリンプリン物語再放送

プリンプリン物語地上波初の再放送

10月14日から毎週月曜に放送される。
10:50PM-11:20PMと30分の様なので2話ずつかな? 50話までという事なので半年くらいになるのでは?

当時ビデオテープが高価で使い回して残ってないのは残念と思っていたが、wikiには2018年5月の時点で完全にないのは1話だけとあって、よく残してくれていたと感謝したい。

プリンプリン物語 - Wikipedia

地上波初とあるが、そっか2017年にBSでやってたのが放映されるんだ。
録画してDVDに落としてた気がするが… あっ、あった。
確認してみると43話からは残ってなかったので録画忘れか時間が移動したとかで落とせなかったかもしれない。

全656話なので50話放映したあとの残りは605話もあるので、生きている間に全部を見れる機会がないようなきがするが、続きも期待したい。

ミュージカル調なのがいい。ついつい口ずさんでしまう。

たまたま以前人形の実物が見れたのは幸運だった。

katsuyoshi.hatenadiary.com

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

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

github.com

i8080AのEmulator

i8080AのEmulator作ろうとして放置してたのに手を入れ始めた。
5年も放置してたみたいだ。

github.com

githubで8080で検索するといっぱい出てくるので、今更な感じもあるしこれと云って何に使うとかもないけれど一度完成させようと思う。