NSDC / NSD.Libコンパイラ for Android with MMLXED 140831

NSDC / NSD.Libコンパイラ for Android with mmlxed 最新版

NSDC140831
http://www.mediafire.com/download/8qmd3leqvj71vah/nsdc140831.apk
内部コードをNSD.Lib version 1.22に変更。


MMLXED 140831
http://www.mediafire.com/download/e8u5ghsagqcl3sa/mmlx140831.apk
文字コードに対応。

jni部分ソースコードとconv_utf8.sh(文字コード変換スクリプト)
http://www.mediafire.com/download/0dvbwqejdqf6x99/nsc_utf8_20140831.zip

NSD.Lib本家に取り込んで頂けたので大分作業が楽になりました。感謝しております!

◇ファイルアクセスのフォールバック

Androidでは相対ディレクトリのNSF用コードにアクセスできません。
そこでバイナリファイルを読み出す時にフォールバックをすることで、
ディレクトリのフォールバックを行います。

具体的にはfileopen_noexitを追加して、ファイル読み出し失敗時にトライを繰り返すようにしています。

優先順位は
相対ディレクトリ指定>MMLファイルと同一のディレクトリ>フォールバックディレクトリ
となります。

#アプリ側ではフォールバックディレクトリにNSF用コードがあります。

コマンドラインオプションでNSF用コードのフォールバックディレクトリを設定できるといいかも?

◇オリジナルのnscからのその他の変更点

nsc.hの作成(C言語からのアクセスの為)
LIBMODEではmainをnsc_mainにします。
スポンサーサイト

nsc(NSD.Lib用mmlコンパイラ)のコンパイル

NSD.Lib ver 1.21をコンパイルしてみます。

まず、素の状態でmakeを試みます。
nsd_error_01.png
こういったエラーが発生します。

これは、使用できないオプションが指定されているのと、無効な最適化レベルが設定されているという意味です。

makefileをテキストエディタでこのように修正します。
nsd_fix_01.png

そして再度makeを試みます。
nsd_error_02.png
こういったエラーができます。
表示の「表」のように、二番目のコードがバックスラッシュと同じ扱いになったりします。
他にも様々な問題を引き起こしますので、
UTF8に変換します。

conv_utf8.sh

#!/bin/sh

srcdir="nsc"
dstdir="nsc_utf8"

echo "conv_utf8.sh"

if [ ! -e $dstdir ]
then
echo "create destination folder"
mkdir -p ${dstdir}
fi

files="${srcdir}/*.cpp ${srcdir}/*.h"

for path in ${files}
do
file=`basename ${path}`
srcfile="${srcdir}/${file}"
dstfile="${dstdir}/${file}"

if [ ! -e ${dstfile} ] || [ ${dstfile} -ot ${srcfile} ]
then
echo "${srcfile} -> ${dstfile}"
iconv -c -f sjis -t utf8 ${srcfile} > ${dstfile}.temp
sed -e "s/‾/~/g" ${dstfile}.temp > ${dstfile}.temp2
sed -e "s/¥/\\\\/g" ${dstfile}.temp2 > ${dstfile}

rm ${dstfile}.temp*
fi

done

# copy makefile
cp ${srcdir}/makefile ${dstdir}



nscの一つ上のsrcディレクトリにこのスクリプトを書いて、
sh conv_utf8.shとします。
これでnsc_utf8というディレクトリができまして、コンパイルできるようになります。

ところで、Xcodeでコンパイルしようとすると、
nsd_error_03.png
このように符号付きだと-128〜127までだと怒られるので、

このように書き換えます。
nsd_fix_02.png

これでネイティブなコンパイラが得られると思います。
(Linuxでは基本的にファイル名がケースセンシティブなのでもう少しエラーがでる予感がします…)

NBV3の無音状態の各電源での波形

NBV3の無音状態の波形です。
それぞれに長所と短所があり、各製品の批判を意図するものではありませんのでご了承ください。


FC互換アダプタ(おそらくスイッチング電源)→7805
nbv3_7805.png

秋月スイッチングACアダプタ(5V2A)
nbv3_aki.png

PSP-100(プラグ部分を切断した改造あり)
nbv3_psp.png

MADNESなので…。

今日はFAMICOM MADNES4(http://www.famicommadnes.com/)ということで。
いろいろ準備してみました。

NSDC nsc(NSD.Libコンパイラ) for Android
http://www.mediafire.com/download/971xqt4ly29trw7/nsdc140809_02.apk
初期リリース

NEZPLAY for Android
http://www.mediafire.com/download/974ibap86parfu5/nezplay20140809.apk
インテント時に曲が停止する不具合を修正

NRTC for Android
http://www.mediafire.com/download/87u82u14jzc07jw/nrtc-140809.apk
クラス構成を変更した

NRTDRV for Android
http://www.mediafire.com/download/d79vjx39kjmgrfh/nrtdrv_android140809.apk
コンパイラからのインテント時に戻るボタンを押した場合、
曲を停止させるようにした。

ppmck 9a ex 基本仕様資料
http://www.mediafire.com/view/sxb32lh1jjnzj2x/ppmck_ex_doc_ver02b.pdf

プロフィール

Author:BouKiCHi
ABOUT ME
MAIL:alf_byncyou at hotmail.com

WEB:http://clogging.web.fc2.com/
TWITTER:@bkc_alf

月別アーカイブ

FC2カウンター

ブロとも申請フォーム

ブログ内検索