dnjiro’s 9VAe blog

誰でもアニメが作れる無料ソフト9VAeきゅうべえ開発者のブログ

X68000 Z 実機でアプリ開発する方法:ひとコマ解説

X68000 Z 実機で、アプリ開発する方法をまとめます。Python はこちら

ほかの解説動画はこちら

X68000 Z 資料

参考にした記事はこちらです。

X68000 Z ツール入手先

下は、まだ使えてません・・

 

X68000Z アプリ開発用SDカードの作り方


音声で解説した動画

  1. DiskExplorer ダウンロード
  2. Lhaplus ダウンロード
  3. ブランクXDFダウンロード
  4. HumanSys ダウンロード
  5. SDカードの直下に「automount.xdf」という名前でいれておく

 

X68000との出会い

  • X68000は、はじめてアニメーションをつくったパソコンです。lanma.x というベクトルアニメエディタを自作し、ASCII や 電脳倶楽部で公開しました。下は、lanmaで作ったアニメに、9VAeきゅうべえでイフェクトをつけた作品。登場人物は実在し、身内で公開したときは、めちゃうけました。

  • 当時、最高のグラフィックス性能があり、簡単に音を鳴らすことができ、gcc コンパイラで高速な処理ができました。
  • それが、X68000Z になって、よみがえるというので、当時を思い出してアプリ開発してみようと思いました。
  • X68000 Z 実機のみでプログラム開発することを目指します。

9VAeきゅうべえとの関係

  • 9VAe は、イラストに動きをつけてオリジナル動画素材が作れる無料のモーショングラフィックスアプリです。lanma.x は線が動く音が鳴るアプリでしたが、9VAeは、それに、ポリゴン塗りつぶし、半透明グラデーション、タイル塗りつぶし、SVG入出力、MP4出力などを追加したものです。この解説動画も9VAeで作成しました。
  • 9VAeを、X6800 Zで動かそうと思ったのですが、プロジェクトが10MBあり、X68000 Z のフロッピーディスクが、1.2MBなので、そのままの移植は難しそう・・
  • どうするか考え中

 

エディタEDの使い方

micro Emacs を使いたかったのですが、サイズが小さい Human68K bin の ED.X をつかうのがよさそう。PDFマニュアル(p.296)

EDの機能 キー操作
終了 ESC+Q
上書き保存 ESC+H
全部保存して終了 ESC+E
ファイルを開く ESC+F
ファイルを閉じる ESC+K
ファイル切り替え ESC+AまたはD

 

ヒストリー、カーソルキー設定

Human68K コマンドを再入力するとき便利。PDFマニュアル(p.22) (p.214)


音声による解説

key.his を HISフォルダにいれておくとカーソルキーで以前入力した命令を修正して再実行できるので便利です。

  1. Human68K コマンドで、KEY を実行
  2. U (更新)
  3. 入力は、[KEY.SYS]、(2回目以降は前回作成した key.his )
  4. 出力は、key.his
  5. 処理を開始。次の4つのキーを変更「F」「2」「5」「Ctrl+W同時押し」「Enter」のように押すと設定できます。
    F25 ^W
    F26 ^S
    F27 ^D
    F28 ^E
  6. Enter 2回で終了。KEY.HIS ができます。
  7. KEY.HIS を、\HIS フォルダにコピー。移動でもよいがオリジナルをのこしておくと安心。
  8. 作成した KEY.HIS をSDカードにいれておき、新しいフロッピーのHISフォルダにコピーできるようにしておくと便利です。

 

コマンドパス、LIBの設定

PDFマニュアル(p.56)

  • Bドライブに コンパイラをいれて、パスを設定するには、Aドライブの autoexec.bat を、ed.x で編集して、パスを追加します。
    ed autoexec.bat
    PATH A:..........

の最後に ;b:¥(半角)などを追加します。下は、Cコンパイラ用のパスです。さらに、set lib=b:\lib も追加します。

    PATH A:..........;B:\cc;
set lib=b:\lib
  • X68000Zの電源ををOFF/ON して再起動。これでBドライブの cc が起動できました。
  • lib はライブラリの場所の設定で、リンカーでつかいます。

コンパイラーフロッピー(XDF) Bドライブの作り方


音声つき解説動画

ブランクの XDFを複製して以下をいれます。

  1. XCシステムディスク2をダウンロードして、LHAを展開。ブランクXDFにコピーします。CCフォルダに、Cコンパイラがはいっています。
  2. XCシステムディスク修正パッチを展開。MATH.H, MOUSE.H を、INCLUDEフォルダに上書きします。
  3. automount.xdf という名前に変更します。これをBドライブにいれます。

 

アセンブラ、リンカーをAドライブのBINにいれる

  1. HAS.x をダウンロード。Aドライブにいれる Humanフロッピーの BINフォルダの中に、HAS.Xをいれます。
  2. HLK.X をダウンロード。Humanフロッピーの BINフォルダの中に、HLK301.Xをいれ、HLK.Xに名前を変更しておきます。
  3. 空いた領域にソースをいれれば、2枚のSDカードで実機開発ができます。

C サンプルプログラム(マウスで線を引く) 

マウスを動かすと画面に色のかわる線がかけるプログラムです。これを test01.c として、Aドライブ直下にいれましょう。

 

test01.c

#include <stdlib.h>
void main(){
    int x=0,y=0,xx,yy;
    screen(1,2,0,1);
printf("Draw line with Mouse. Exit=Move to bottom\n"); for(;y<500;){ mspos(&xx,&yy); line(x,y,xx,yy,xx%256,-1); x=xx;y=yy; } screen(2,0,1,0); }
記述
意味
 #include < > < >のファイルの中身をいれる
 stdlib.h Cの標準関数の定義がはいってる
 void main voidは値を返さない。main からプログラムがスタート
printf テキスト画面に文字列を表示。¥nは改行
for(;y<500;) yが500より小さい間、繰り返す
screen(1,2,0,1) 256色、512x512、グラフィックスON
screen(2,0,1,0) 高解像度テキスト、グラフィックスOFF
line(x,y,xx,yy,xx%256,-1) xx%256 は色、-1は実線(0にすると透明)
mspos(&xx,&yy) マウス座標の取得、xx,yyに値がはいる

マウスを動かすと画面にいろんな色の線が引けます。上から500ドット以下に移動すると終了します。x-basicの関数がそのまま使えるみたいです。

 

コンパイルアセンブル、リンク用バッチファイル

プロは makefile をつくるところですが、ファイル1個なので、バッチファイルが簡単。%1のところに引数がはいります。ed で以下のファイルをソースと同じ場所につくります。

make.bat :コンパイル

cc /Fs /W /Y /Ib:\include %1.c 

mas.bat:アセンブル

has /u /ib:\include %1.s

mlk.bat: リンク

hlk -l clib.l baslib.l doslib.l floatfnc.l iocslib.l %1.o
 
XCコンパイラオプション
/Fs アセンブラ生成して終了
/W BASICライブラリを使う
/Y IOCS&DOSコールライブラリを使う
/Iパス インクルードファイルの場所
 
アセンブラオプション
/u 未定義シンボルを外部参照にする
/iパス インクルードファイルの場所
 
リンカーオプション
-l 環境変数lib をライブラリパスにする

 

使い方

  1. make test01
  2. mas test01
  3. mlk test01
  4. test01
  5. これで線がひけるはずです。一番下に移動させると終了します

 

BASICが起動しない場合

  • autoexec.bat で、PATH に b:\basic2; を追加すれば、コマンドで、basic と入力して x-basic が起動できるはずですが、GPIO エラーが出ました。これは、BASIC2フォルダのなかの  basic.cnf の最後の行頭に # をつけてコメントアウトすれば、起動できるようになります。

ed b:\basic2\basic.cnf
#FUNC = GPIB とする

 

X68000 Z の画面キャプチャ

エミュレータ(XM6)で実行し、Windowsでキャプチャするとよいです。

 

複数のフロッピーの切り替え

  • SDカード直下の「X68000Z」フォルダに複数の XDF ファイルをいれておくと、起動時にどのXDFを使うか指定できます。
  • フロッピースロットの下のボタンを2回おすと、XDFの切り替えができます。GCCは、コンパイラーが大きいので2つにわけないといけないかも。

GCC サンプルプログラム

lanma.x GCCコンパイルしていました。ソースは5インチフロッピーにはいっていると思うのですが、みることができません・・。ネット検索すると、次のサイトのソースがわかりやすそう。SHOT68K も参考になりそうですが、まだうまく使いこなせていません。実機でのリンクが難しいです。

 

MicroPython

X68000の描画関数がつかえます。すごいです。Cよりおすすめ

  1. 上のZIPをダウンロード。解凍して、XDFファイルにいれる。名前を automount.xdf にするか、X68000Z フォルダにいれて、Bドライブにいれる。
  2. Aドライブで、ed autoexec.bat とし、PATHの最後に b:¥; を追加
  3. B:ドライブの micropyt.x を、python.x にリネームしとくと便利
  4. python で対話モードにはいったら、Ctrl+Dで終了

サンプル実行

    python b:\sample\grplane.py

 Shiftキーで終了

 

MicroPython サンプルプログラム(マウスで線をひく、キーで終了)

 

import x68k
x68k.crtmod(16, True)
g = x68k.GVRam(0)
x=0
y=0
while 1:
  key = ( x68k.iocs(x68k.i.B_KEYSNS) >> 8 ) & 0x7f
  if key == 0x01:   # ESCでループを抜ける
    break
  pos = x68k.iocs(x68k.i.MS_CURGT) #マウス座標取得
  xx = (pos & 0xffff0000) >> 16
  yy = (pos & 0xffff)
  btn = x68k.iocs(x68k.i.MS_GETDT) #マウスボタン取得
  left  = btn & 0xff00
  right = btn & 0xff
  if left !=0: #左ボタンが押されていたら
    c = xx % 16
    g.line(x,y,xx,yy,c) #線をひく
  x = xx
  y = yy
記述
意味
import x68k x68k関数を使えるようにする
x68k.crtmod(16, True) 768 x 512 x 16色(31kHz) mode
g = x68k.GVRam(0) グラフィック画面 g
while 1: ループ、下の同じインデントの行がループ範囲
x68k.iocs(x68k.i.B_KEYSNS) キーの状態
x68k.iocs(x68k.i.MS_CURGT) マウス座標
x68k.iocs(x68k.i.MS_GETDT) マウスボタン
g.line(x,y,xx,yy,c) 画面gに色cで線をひく

 

MicroPython 参考資料

 

内容:


解説動画の作り方

この記事のひとコマ解説GIFは、フリーソフト9VAeきゅうべえで作成しています。

9VAeきゅうべえのダウンロード


音声で解説した動画

  • 9VAeきゅうべえで、キャプチャー画面に、矢印や説明を加え、ページに「ひとコマ」設定するだけで作れます。
  • FFmpeg を使って Youtube 動画にすることもできます。

 

画面キャプチャ方法

OS
画面キャプチャ方法
保存先
 Windows
クリップボード
 Mac
  • Shift + Command + 4 (ShiftキーはZの左、スペースでウィンドウ指定)
デスクトップ
 Android
  •  電源 + 音量Down
 adbコマンド (開発者向け)
  •  adb shell screencap -p /sdcard/screen.png
     adb pull /sdcard/screen.png
フォトアプリ>
ライブラリ>
Screenshots
 
iPhone / iPad
  •  ホームボタン + 電源ボタン
  • サイドボタン + 音量UP
写真>
アルバム>
スクリーンショット
 Linux Mint
  • Print Screen キー
クリップボード
ファイル
 Amazon Fire
  • 電源 + 音量Down 1秒長押し
  • USBケーブルでPCと接続し、
    設定>接続デバイス>USB>ファイル転送
ピクチャ >
スクリーンショット
 Chromebook
  • Shift + Ctrl + ウィンドウ一覧キー(上の中央のキー)
マイファイル >
ダウンロード
 X68000 Z
 

アニメGIF、動画出力

  • ファイルメニュー>アニメGIF出力」または「動画出力」で、好きなサイズのアニメGIF または MP4動画 が作成できます。
    Win / RaspberryPi / Linux版 でMP4動画を作るには FFmpeg が必要Youtube解説
  • スマホの場合、端末内の「9VAe」フォルダの中に出力されます。フォトアプリで、「端末内の写真>9VAe」で見ることができます。
  • アニメGIFは、背景を透明にできます。音がいれられません。
  • MP4動画には音が入れられます。Youtubeに投稿できます。Youtubeに投稿する場合、1秒30コマ、高さ720 または 1080 で出力するとよいでしょう。

 

 

9VAeをつかえば素材動画が作れる 

      • 9VAeきゅうべえを使えば、オリジナルの素材動画が簡単に作れます。
      • Openclipart や  FreeSVG などフリーのSVGイラストをつかって動くキャラクタが作れます。
      • 動画編集ソフトで動画に合成できます。

OS

フリーソフト

9VAeで作成する素材動画

Windows

AviUtl

連番PNG または MP4

Mac/iPhone/iPad

iMovie

MP4 または QuickTime(古いMac)

Android

PowerDirector

GIF または MP4

作り方

 

      • もっと長いアニメを作ることもできます。以下をご覧ください。

9VAeきゅうべえ:長いアニメを作る方法 - Qiita

 

 

9VAeきゅうべえに関する質問