テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

WWDC2022)円安でM2 Mac終わったと思ってたが

2022-06-11 02:46:32 | パソコン/マイコン全般
M2チップはM1に比べて順当に進化してるのねって思ってたら日本での価格が最廉価版で16万5千円とかで、ちょっと前に買ったRyzen7ノートの倍の値段で「終了」って感じ。

だったのだが、GIGAZINE見たら「AppleがRosetta 2を利用したx86-64Linuxバイナリを実行する方法の共有を予告」って記事が!
Apple自体がx86-64Linuxの動作報告ってマジ!?しかも既に予告日過ぎてるじゃんって該当ページを見ると
ーーーーー
macOSまたはLinux仮想マシンを作成する
仮想化フレームワークを使用して、Mac上に仮想マシンをすばやく作成する方法を学びます。 仮想Macを作成し、分離された環境でアプリへの変更をすばやくテストする方法を紹介します。 また、Appleシリコンに完全なLinuxディストリビューションをインストールして実行する方法を探り、Rosetta2を利用してx86-64Linuxバイナリを実行する方法を共有します。
ーーーーー(by Google翻訳)
マジかよ、すげーよ、ARMなマシンでx86-64Linux動くって言ってるよ。
(※ところで動画がYouTubeじゃないから日本語翻訳してくれなくて見るのタルかったよ。これだけでGoogle信者になっちゃうよ。)

Ryzen7ノート買った時に「MacOS上でARM用とx86用が動くようにLinuxでもARM用とx86用が動けばいいんだけど。その辺がよくわからないが、多分現状は無理そう。」って書いてたんだが、まさか3ヶ月後にApple自ら「出来る」と発表されるとは思わなかったぜ、なかなかやるなAppleも。

でもまあ仮想化に向かない8GBのMacbookでも16万超えじゃあ、やっぱ面白そうってだけじゃ食指が動かない罠。

同じくGIGAZINEにiPhone 12の隠し機能的な仮想化支援機能を利用してLinuxを動かす記事があったけど、「おお!?」って感動したけどよく読むとメモリ少ないから駄目ってのが残念。
iPhoneはAndroidと違ってメモリ少ないからなあ。そりゃ仮想化は無理だ罠。
ちょっと前には、Pixel6の仮想化機能でARM版Windowsが動いたってのもあったけど、そっちも面白いけどARM版じゃなって感じか?

それ考えるとMacでx86-64Linuxって実用的そうでいいんだけどなあ。M2程度の進化ならZEN4なRyzenノート待った方がもっと良さげかな。
つーか、今ハードは買い時じゃないな。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

メガドラミニ2、お前もか

2022-06-10 23:48:37 | ゲーム
先週メガドライブミニ2の発表があり、50本以上あるという収録ゲームのうち11本が発表された。
その中に、当時やってたかと思ってたらやってなかったらしい「サンダーフォースIV」があったんで買うの決定なんだけど、もう少し早く発表されて予約開始になってたら期限切れ間近のポイントを使って予約できたのにと残念に思った。
残念ながらそのポイントは他で使ったけど、残ったポイントと更に千ポイント入る予定があるのでそれが入ったら予約しようと思ってたら、弾不足(?)で既に予約ができなくなっているようだ。
発表の時に「前回より少ないけど何とか部品をかき集めたんで出せる」みたいなことを言っちゃったもんだから転売屋が動いたか!?
Xbox Series Sが今現在、予約できるようになってるっちゅーのに、まさかまさかメガドラミニ2がこんなことになろうとは。
このまま買えなかったとしたら残念だけど、まあやってないゲームが溜まりすぎてるし当時買わずに過ごせてたわけだし、まあ無理に買わんでもいいかと思えなくもない。(今後の収録ゲームによるかもだが)
Xbox Series Sを買えということか?Linuxがインストールできて使えるなら喜んで買うんだけど。

んで、何でそんなこと思えたかって言うと、やっと「ワンダー3」(カプコン)が遊べるようになるから。注:手塚治虫の『W3』(ワンダースリー)じゃないよ。
これは嬉しい。しかもタイトル毎に購入できて1本400円。単品購入価格が倍になってる気はするが、それでも安い!前が安すぎただけだし。でもまあ300円ならもっと嬉しかったけどw。

それと、メガドラミニ2をtwitter検索でチェックしていたら、何やら一部でX68000miniで盛り上がってるようだ。
X68000(wikipedia)とは、俺がメガドラをプアマンズX68000として買ったくらいだし、丁度メガドラミニ2の仕掛け人奥成氏がメガドラ連載記事でいきなり比較対象として言及してるくらいの代物だ。
どうやらメガドラミニやPCエンジンミニ、そしてアストロシティミニに大きく関わりのある株式会社 瑞起のtwitterで6月8日、68の日にX68Kのシルエットと共に「弊社はやります!詳細は後日」なんて投稿がされてるからのようだ。
おいおい、そりゃ期待しちゃうじゃねーかよ。いや、期待しないで待つか。

ちなみにX68Kやメガドラやアミーガにマックで使われてた68000MPUはモトローラの製品、最近モトローラ製のスマホをようやく手に入れて嬉しかったり
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

wio terminalの値段も上がってるorz

2022-06-10 11:48:37 | パソコン/マイコン全般
以前ラズパイを小さな画面と入力用ボタンを付けてちょっとした操作をするシステムを作るのにM5Stackが登場してこりゃいいと思っていた。ハード工作をやったことがないので、自分でケースを作る労力を考えたら5千円程で買えるのは大変ありがたい。

そう思ってM5StackBasicを買っていたんだが、内蔵バッテリーが余計なのとボタンの数が少ないのがちょっとネックでもあった。そしたらいつの間にかwio terminalが登場してた。
ジョイスティック型ボタンとは別に3つもボタンがあってバッテリーも内蔵していない。おまけに値段が3千円くらい。まさに理想的なマイコンだった。

WiFi/Bluetoothもあるんだけど、Linuxが動かせないマイコンなので簡単には利用できず、とりあえず急ぎなのでUSB接続してシステムを組んだ。
驚くことにXサーバも動かせ(てラズパイのモニタとして使え)るようだし、WiFi/Bluetoothも試したいなと思っていたんだが、つい最近まで安かった秋月でも値段が上がってた。ショック。

手元にもう無いんだけど、またいつか半導体不足が解消されたらと思うと買えないんで、またいつか使う時に忘れないようにこれまで作業したのをメモっておく。

作業にはUbuntuなPCを使用。ソフトウェア開発用にArduino IDEを使うんだけど、snap版で問題なかった。
$ sudo snap install arduino
USB接続は/dev/ttyACM0を指定。最新のラズパイOSも同じだった。
ソースは~/snap/arduino/current/Arduino以下に作成される。

以下、Linux側はrubyでwio terminalのBボタン押しながらスティック押下でLinuxシャットダウンを発行するプログラム。
※一部のコピペなんでミスあるかも。
=== sample.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

require 'serialport'

# 9600bps, 8bit, ストップビット1, パリティ無し
#sp = SerialPort.new('/dev/ttyACM0', 9600)

Thread.new do
  sp = SerialPort.new('/dev/ttyACM0', 115200, 8, 1, SerialPort::NONE)
  sleep 3
  sp.puts "START"
  loop do
    s = sp.gets.chop # wio通信データ取得(改行は取り除く)
    ##s = sp.readline # 改行コード毎に読み込み
    case s
    # シャットダウン
    when "sd"
      #system "sudo poweroff"
    end
  end
  sp.close
end

loop do end

=== sample.ino
#include"TFT_eSPI.h"
#include"Free_Fonts.h" //include the header file

TFT_eSPI tft;

void setup() {
  tft.begin();
  tft.setRotation(1); // up side down display
  tft.fillScreen(TFT_BLACK); 
 
  tft.setFreeFont(FSSBO24); 

  Serial.begin(115200);
  pinMode(WIO_KEY_A, INPUT_PULLUP);
  pinMode(WIO_KEY_B, INPUT_PULLUP);
  pinMode(WIO_KEY_C, INPUT_PULLUP);
  pinMode(WIO_5S_UP, INPUT_PULLUP);
  pinMode(WIO_5S_DOWN, INPUT_PULLUP);
  pinMode(WIO_5S_LEFT, INPUT_PULLUP);
  pinMode(WIO_5S_RIGHT, INPUT_PULLUP);
  pinMode(WIO_5S_PRESS, INPUT_PULLUP);

  //pinMode(BUZZER_PIN, OUTPUT);

      tft.fillScreen(TFT_BLACK);
      tft.drawString("Power On",10,10);

}

void loop() {
  // ------------------ Input Data ----------------------
   if(Serial.available()>0){
     String s = Serial.readString();
   if(s =="a\n") {
      //tft.fillScreen(TFT_BLACK);
      tft.drawString("get A",80,100);
   } else  {
      //tft.fillScreen(TFT_BLACK);
      tft.drawString(s,80,100);
   }
 }
 
  // ------------------ Button  ----------------------
if (digitalRead(WIO_KEY_B) == LOW){ // function
  if (digitalRead(WIO_5S_PRESS) == LOW) { //=== Shutdown
     Serial.print("sd\n");
      tft.fillScreen(TFT_BLACK); 
      tft.drawString("shutdown!!",10,10);
     delay(500);
    }
   }
}
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする