Lang = BASIC [TINY SPACE MOUSE]

この記事はSRA Advent Calendar 2016の15日目の記事です。

そのうち纏めようと思っていた大昔作ったBASICゲームをコードと共に晒しておきます

■ターゲット=松下電器産業 JR-100

■JR-100の詳細、下記コード実行のためのエミュレータは以下参照で。

http://asamomiji.jp/contents/jr-100-emulator

■ソースコード

BASIC + MC6800のマシン語です。

文字間をひどく詰めて書いているのは、コードサイズの節約+紙面の都合、そう、コーディング規約だったと記憶

■最近のBASICたち

・プチコンBIG (2016/12/14発売)  … http://www.inside-games.jp/article/2016/12/07/103982.html

・こどもパソコン IchigoJam … http://ichigojam.net/

 

asciiflowで説明図をかく

この記事はSRA Advent Calendar 2016の5日目の記事です。

最近は開発Projectの情報共有のためにオンプレで建てたRedmineやGitLabやconfluence等のチームコラボレーション機能を活用することが増えてきました。(ちょっと前まで、この用途ではファイル共有サーバに置かれたxlsやdocやpptが猛威を奮っていましたが)

記事を書いていて説明に図が欲しいときにどうするかというと、、、

(1)excelやastahで書いた図をbitmapとしてキャプチャして記事中に挿入してみる

af_excel.png

↑こんな図を挿入する。見た目は満足だけど、図中の文字列で検索できないのが悩み。

(2)asciiアートで図をかく

↑書くのが辛い。それよりも一旦書いた図を編集するときがもっと辛い。もうひと押し。

(3)asciiアートの入力&編集ツールを使ってかく

→asciiflowというツールが有る。JavaScriptで書かれていてdownloadしておけばオフラインでも利用可能なので企業内向き。

ここから→ https://github.com/farss/asciiflow2 (オリジナルからのFork。マルチbyteコードが扱える)

zipファイルをダウンロードして任意の場所に解凍後、index.htmlをWebブラウザで開けば起動

af_input.png

上に並んだアイコンを使って入力&編集

af_clip.png

右上の上矢印アイコン押下でasciiアート出力。これをコピーして記事へペーストすればよい
(下矢印はasciiアート取り込み。出力と逆に記事の図をコピーしてきてペースト)

等幅フォントを使えるサービス/手元の環境(ブラウザ等)でないと残念な表示になりますが。

                                +------+    +--------------+
+---------------------+         |      <----+メインループ.c|
| コンポーネント      |         |make  |    +--------------+
|  +---------------+  |         |      |
|  |メインループ.so<------------+      |     文字入力
|  +---------------+  |         |      |     X
|  +---------------+  |         |      |     Y
|  |モジュール.so  <------------+      |     Z
|  +---------------+  |         |      |
+---------------------+         +------+

OpenDNS – FamilyShield

子供向けにMacBookなど渡してあるのだけど、デバイスの管理者権限は渡してあるし、NetWork上の情報やサービスにもなるべく制限かけないようにしてる。
とは言え今は小学生なので不意にxxxサイトへアクセスしてしまっては気の毒。
ということで最低限のマナーとしてコンテンツフィルタはこっそりかけさせてもらっています。

スジが良さそうなのは「OpenDNS FamilyShield」でデバイスのDNS変更しておくだけなのでお手軽。これに気づいて外せるスキルが付くのはいつ頃かな。
DNS1 : 208.67.222.123
DNS2 : 208.67.220.123

OpenDNS familyshield
https://www.opendns.com/setupguide/?url=familyshield

量産型2号機:キーボード一体型IchigoJam

前回、キーボード一体型IchigoJamを作りましたが、2台目を作るにあたり少し手順を省略した量産機としてみました。

1
初号機との違いは、ビデオ出力ピンとSOUND出力ピンのケーブルを追加で引き出していて、給電用のUSBケーブルとは別ケーブルになっています。(ケーブル加工の工程を削減したかったので・・・。以降、ちょこちょこサボるために初号機から変更を加えています)
Firmを書き込むためのシリアル接続用ピンソケットは必須なのでつけています。

aitendo_batcase.png
aitendoのミニキーボード(US配列)の電池用の空洞にピッタリ収まるIchigoJamキット(DIP化最小構成マイコンキット [K-FDH28])が同じくaitendoで売っていたので採用することにしました。395円(税別)で安価なのも魅力。空中結線せず基盤にハンダ付けできるので少し安心。

buhin.png
材料
ミニキーボード(USキー配置)
– 抵抗(470Ω、130Ω) 1本ずつ
– ビデオケーブル(黄、白)
– 三端子レギュレータ ME6209  3.3V(ME6209A33TG-7333-A)
– 14ピンソケット (組立後のFirm更新のための外部接続用。今回は5ピンだけ使用)
– リード線
– DIP化最小構成マイコンキット [K-FDH28]
      ( — K-FDH28構成部品 (写真の赤枠内) —
        — 表面実装1206サイズ抵抗(R1):330Ω(x1)    ※未使用
        — 表面実装1206サイズコンデンサ(C3、C4):104(x2)
        — 表面実装1206サイズコンデンサ(C1、C2):15〜22pF(x2)
        — 3mm LED:赤(x1)                                       ※未使用
        — タクトスイッチ:3×6(x1)                           ※未使用
        — クリスタル(HC49S):12.000MHz(x1)
        — 2.54mmピッチ単列ピンヘッダ:40P(x1) ※未使用
        — 2.54mmピッチ2Pジャンパー(x1)                ※未使用
        — チップIC :LPC1114FDH28(x1)
        — 基板:(x1))
 ai 版 USB-シリアルモジュール (Firmの書き込みに使います。無ければ入手)

さぼったところ
初号機キーボード一体型IchigoJamから省略した実装は以下のとおり。
・LED表示省略
・Reset用タクトスイッチ省略
・USB給電+Video+Soundの一体型ケーブル省略

つくりかた
1. ミニキーボードの裏蓋(電池BOXのような部分)を外す(+ドライバーでねじ3本)
2. DIP化最小構成マイコンキット [K-FDH28]を普通に組み立てる(ただし下記の部品は実装しない)
・ 14ピンヘッダ左右
・ISPの2ピンヘッダ
・LED
・LED用抵抗(R1)
・タクトスイッチ

before
[切取り加工前]
after
[加工後]
3. 電池ボックスの端の方をカッターナイフ(できればPカッター併用)で、IchigoJam基盤をはめ込む場所を作る(基盤で現物合わせ。およそ幅36mm、深さ4mm)
4. 電池ボックスの中央の方をカッターナイフで切り取り、14ピンソケットを両面テープで固定できるように場所を作る
tori
[Video,Soundのケーブルはこんな感じで取り回す]
gnd
5. 黄色ビデオケーブル(Video用)と白色ビデオケーブル(Sound用)をカットし、それぞれGNDの途中を少し剥いてGND同士をつなぎ合わせる
6. つなぎあわせたケーブルの途中部分を14ピンソケットのGND(右から3つ目と4つ目)にはんだづけ
reg
7. キーボード基盤Cにつながっている緑線を外す
8. キーボード基盤CとIchigoJam基盤のKBD1をリード線でつなぐ
9. キーボード基盤Dにつながっている白線を外す
10. キーボード基盤DとIchigoJam基盤のKBD2をリード線でつなぐ
11. キーボード基盤vcc 5V、GNDに三端子レギュレータをはんだづけ
12. 三端子レギュレータ3.3V出力をIchigoJam基盤のVCC(右)へリード線でつなぐ
13. 14ピンソケットGNDにつないだ2本のビデオケーブルGNDリード線のうち1本をキーボード基盤GNDへはんだづけ。もう1本をIchigoJam基盤のGND(右)へはんだづけ
zentai
14. IchigoJam基盤のRX,TX,ISPを14ピンソケットにリード線でつなぐ。14ピンソケット右からRX,TX,(GND,GND),ISPとした (※GNDは前の手順で接続済み)
15. IchigoJam基盤のVIDEO1に470Ω、VIDEO2に130Ωをはんだづけして反対の両端をつなぐ
16. 黄色ビデオケーブルの信号線(Video)をつないだ抵抗の先へはんだづけ
17. 白色ビデオケーブルの信号線(Sound)をIchigoJam基盤のSOUNDへはんだづけ
18. キーボードの裏蓋を現物合わせで 14ピンソケット用に切り込む
19. キーボードの裏蓋を現物合わせで ビデオケーブル用に切り込む
20. IchigoJam基盤をはめ込み、14ピンソケットを両面テープで固定し、キーボードの裏蓋を戻す

つくりかたは以上です。LED表示はあきらめたのでパターンカットと330Ω抵抗のはんだづけ無し、ケーブル加工は最小限にしたので熱収縮チューブも不要。穴あけ面倒だったのでRESETスイッチ取り付けなし。と有効にサボりを入れたつもり。

Firm書き込み
このキット(DIP化最小構成マイコンキット [K-FDH28])はFirmが書き込まれていないので、IchigoJamとPC/MACとをUSBシリアル経由で接続してFirmを書き込む
1. Firmを入手(USキーボード用が必要)
20160703210757_p149.jpg
2. 14ピンソケットにリード線でつなぐ(写真左からRX,TX,GND,GND,ISPとした)

  1. Firmを書き込み

$ lpc21isp  ./ichigojam-xtal-us.hex   /dev/cu.SLAB_USBtoUART   115200   1200

 

動作確認
最初、VIDEO2の抵抗は100Ωとしていたが背景が白っぽいので、130Ωに変更した。この辺個体差があるかもしれません。(130Ω〜160Ωなら良さそうでした)
gy.png
変更前(VIDEO2の抵抗は100Ω)
bk.png
変更後(VIDEO2の抵抗を130Ωで試してみる)

このキーボード一体型IchigoJamは子供たちに使ってもらいやすいんじゃないでしょうか。
キーボード付きでこの価格で遊べるとは、、、良いですねー。
・USキーボード:795円
・DIP化最小構成マイコンキット:395円
・ビデオケーブル(黄、白):100円
・三端子レギュレータ:30円
・14ピンソケット:50円程度
・抵抗2本:10円程度
合計:1,380円(税別)

参考
キーボード一体型「IchigoJam X」の作り方&落ちゲーCLMS

キーボード一体型IchigoJam

福野さんの製作記事、キーボード一体型「IchigoJam X」の作り方&落ちゲーCLMSを読んで、テレビのUSBから電源をとってVideo/Soundもテレビに出力するキーボード一体型IchigoJamを作ってみました。

20160703210756_p146.jpg
福野さんのオリジナルと同じくIchigoJamはキーボードの内部に収め、ビデオ出力ピンとSOUND出力ピンをUSBケーブルのリード線2本を流用して筐体から引き出しています。
機器の取扱いがシンプルになって子供の雑な扱いにも対応できそう。
・追加でFirmを書き込むためのシリアル接続用ピンソケットをつけています。

aitendo_batcase.png
aitendoのミニキーボード(US配列)の電池用の空洞にピッタリ収まるIchigoJamキット(DIP化最小構成マイコンキット [K-FDH28])が同じくaitendoで売っていたので採用することにしました。395円(税別)で安価なのも魅力。空中結線せず基盤にハンダ付けできるので少し安心。

buhin.png
材料
ミニキーボード(USキー配置)
– 抵抗(470Ω、130Ω) 1本ずつ
– ビデオケーブル(黄、白)
– 三端子レギュレータ ME6209  3.3V(ME6209A33TG-7333-A)
– 14ピンソケット (組立後のFirm更新のための外部接続用。今回は5ピンだけ使用)
– リード線
– DIP化最小構成マイコンキット [K-FDH28]
      ( — K-FDH28構成部品 (写真の赤枠内) —
        — 表面実装1206サイズ抵抗(R1):330Ω(x1)
        — 表面実装1206サイズコンデンサ(C3、C4):104(x2)
        — 表面実装1206サイズコンデンサ(C1、C2):15〜22pF(x2)
        — 3mm LED:赤(x1)                          ※未使用
        — タクトスイッチ:3×6(x1)
        — クリスタル(HC49S):12.000MHz(x1)
        — 2.54mmピッチ単列ピンヘッダ:40P(x1) ※未使用
        — 2.54mmピッチ2Pジャンパー(x1)                ※未使用
        — チップIC :LPC1114FDH28(x1)
        — 基板:(x1))
 ai 版 USB-シリアルモジュール (Firmの書き込みに使います。無ければ入手)

つくりかた
1. ミニキーボードの裏蓋(電池BOXのような部分)を外す(+ドライバーでねじ3本)
2. DIP化最小構成マイコンキット [K-FDH28]を普通に組み立てる(ただし右記の部品は実装しない→ 14ピンヘッダ左右、ISPの2ピンヘッダ、LED)
20160703224422_p154.jpg
3. 電池ボックスの端の方をカッターナイフ(できればPカッター併用)で、IchigoJam基盤をはめ込む場所を作る(基盤で現物合わせ。およそ幅36mm、深さ4mm)
20160703224833_p155.jpg
4. 電池ボックスの中央の方をカッターナイフで切り取り、14ピンソケットを両面テープで固定できるように場所を作る
5. IchigoJam基盤のRX,TX,GND,ISPを14ピンソケットにリード線でつなぐ(写真右からRX,TX,GND,GND,ISPとした)
6. IchigoJam基盤のVIDEO1に470Ω、VIDEO2に130Ωをはんだづけして反対の両端をつなぐ
20160703210754_p142.jpg
7. キーボード基盤Cにつながっている緑線を外す
8. キーボード基盤Cと基盤のKBD1をリード線でつなぐ
9. キーボード基盤Dにつながっている白線を外す
10. キーボード基盤DとIchigoJam基盤のKBD2をリード線でつなぐ
11.  USBケーブル側の緑線をIchigoJam基盤のVIDEO1+2につけた抵抗へはんだづけ
12. USBケーブル側の白線をIchigoJam基盤のSOUNDへはんだづけ
13. キーボード基盤vcc 5V、GNDに三端子レギュレータをはんだづけ
14. 三端子レギュレータ3.3V出力をIchigoJam基盤のVCC(右)へリード線でつなぐ
15.キーボード基盤GNDをIchigoJam基盤のGND(右)へリード線でつなぐ
16. キーボード基盤CAPS LOCKのLEDの+側、GND側をパターンカット
17. キーボード基盤CAPS LOCKのLEDの+,GNDをIchigoJam基盤のLED+,GNDへリード線でつなぐ
reset.png
18. キーボードの裏蓋に現物合わせでRESETボタン用の穴を開ける
19. キーボードの裏蓋を現物合わせで 14ピンソケット用に切り込む
done.png
20. IchigoJam基盤をはめ込み、キーボードの裏蓋を戻す
21. USBの先端5cmあたりでカット
cable.png
22. 黄色ビデオケーブルをカットし、信号線をUSBケーブルキーボード側の緑と接続(熱収縮チューブが便利)
23. 白色ビデオケーブルをカットし、信号線をUSBケーブルキーボード側の白と接続
24. USBケーブルキーボード側の青、プラグ側の青、ビデオケーブル2本のGNDを接続
25. USBケーブルキーボード側とプラグ側のオレンジ(vcc 5V)同士を接続

Firm書き込み
このキット(DIP化最小構成マイコンキット [K-FDH28])はFirmが書き込まれていないので、IchigoJamとPC/MACとをUSBシリアル経由で接続してFirmを書き込む
1. Firmを入手(USキーボード用が必要)
20160703210757_p149.jpg
2. 14ピンソケットにリード線でつなぐ(写真左からRX,TX,GND,GND,ISPとした)
3. Firmを書き込み

動作確認
最初、VIDEO2の抵抗は100Ωとしていたが背景が白っぽいので、130Ω(130Ω〜160Ωくらいなら良さげ)に変更した。この辺個体差があるかもしれません。
gy.png
変更前(VIDEO2の抵抗は100Ω)
bk.png
変更後(VIDEO2の抵抗は130Ω)

このキーボード一体型IchigoJamは子供たちに使ってもらいやすいんじゃないでしょうか。
キーボード付きでこの価格で遊べるとは、、、良いですねー。
・USキーボード:795円
・DIP化最小構成マイコンキット:395円
・ビデオケーブル(黄、白):100円
・三端子レギュレータ:30円
・14ピンソケット:50円程度
・抵抗2本:10円程度
合計:1,380円(税別)

iOS7のiSSHでlocalhostにログインする(port no 変更)

iSSHでlocalhost:port 22にloginしようとするが、「 operation not permitted 」で蹴られる。

evasi0n 7 Version 1.0.0でJailbreakした環境でOpenSSHが使えたり使えなかったりする件の顛末

ssh のportNoを変更して回避
——–
1. /etc/services のportNo修正(22 → xxxx)
2. /etc/ssh/sshd_config のportNo修正(22 → xxxx)
3. 以下のようにsshdを restartする
launchctl  unload  /Library/LaunchDaemons/com.openssh.sshd.plist
launchctl  load  /Library/LaunchDaemons/com.openssh.sshd.plist

4. iSSH から Host=127.0.0.1  Port=xxxx を設定して接続してみる→OK。繋がった

——–

iSSHはESC( Ctrl-[ )が効くのがいいね(vi的に)
以上

android: openFrameworks やってみた

2013/9/14 つ部会で android: openFrameworks やってみたの資料

Mac上でAndroid向けopenFrameworksをbuildする環境できた
・oF: v0.8.0
・android SDK:17(4.2.2) NDK:r8e
・ANT:1.9.2 Xcode:4.6.3
※paths.makeは 絶対pathで書くこと.~とか使うとNG.
※環境できたら最初に「openFrameworks」projectをmake.(Set Active:「Android」にしてから)

webサイト:  http://openframeworks.jp/

アドオン:  http://ofxaddons.com/

書籍:  Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門