プロッタプリンタは横480ドットで描画できるので、絵を描くこともできますね。M5Stack 用に作成した LINE & PAINT データを変換するスクリプトを作ってみました。元データは640×480として作っているので、これを0.75倍の480×360に縮小しています。また、黒色の主線部分のみ描画するようにしています。
以前に作成していた強風オールバック LINE&PAINT CG の線画部分データを流用して、MZ-731のプロッタプリンタで描いてみました!#LINEandPAINT#ガッツでCG pic.twitter.com/7oRmkVN40j
— Nochi(ドウスル?▮) (@shikarunochi) August 12, 2024
マジカルミライ2018の初音ミクさん。残メモリからすると、データ量はこの辺が限界ですね。 pic.twitter.com/VbYAaR7yfw
— Nochi(ドウスル?▮) (@shikarunochi) August 12, 2024
「時々ボソッとロシア語でデレる隣のアーリャさん」の周防有希さん。#ガッツでCG#LINEandPAINT pic.twitter.com/M14Cs91EVu
— Nochi(ドウスル?▮) (@shikarunochi) August 12, 2024
描画データは「ガッツでCGサポートツール」で作成したものを、スクリプトで変換しています。
ガッツでC.G.!サポートツール
https://shikarunochi.github.io/gutsdecg/
iPad や、ペン付きAndroid、PC+ペンタブレットの環境を想定しています。
MZ-731プロッタプリンタ用として作成するなら、黒の線画のみで描くのが良いですね。
描き終わったら「データをクリップボードにコピー」か「データをファイルに保存」でデータ保存してください。
変換スクリプトはこちらです。Python で動作します。
LINEandPAINT_CONVERT
https://github.com/shikarunochi/retroPCCG/tree/master/MZ-700/LINEandPAINT_CONVERT
コマンドプロンプトから
python LINEandPAINT_CONVERT_MZ700.py cgData.dat
で実行してください。cgData_mz700.bas というファイルが作成されます。
中身はこんな感じ。
5 REM Q=100 C=0 10 PMODE GR 20 P=0 30 READ X 40 IF X=-999 THEN PMOVE 0,-450:PMODE TN:END 50 IF X=-1 THEN P=0:GOTO 30 60 READ Y 70 Y=-Y 80 IF P=0 THEN PMOVE X,Y:P=1:GOTO 30 90 PLINE X,Y:GOTO 30 1000 DATA 178,162,179,162,179,163,180,163,181,167,182,167,182,168,183 1010 DATA 168,183,170,185,171,185,172,186,172,186,174,187,174,188,176 [以下、描画データが続く]
-1が来るまで X,Y データを読み込んで連続線を描画、-999が来たら終了、の単純なプログラムです。
このファイルを、bugfire2009 さんのDumpListEditor を使って、テープイメージ(WAVファイル)に変換してください。「MZ-1500」モードを選択して、言語「BASIC or TL/1」を選択。プログラムをコピー&ペーストして、ファイル名を指定(MZ側で表示されるファイル名)、mzt で書き出しです。
モードは「MZ-80K」と「MZ-1500」があるのですが、MZ-80Kモードだと、プロッタプリンタ関連命令が内部コードに無いため、MZ-700実機で読み込み後に変換処理が走ります。(割と時間かかる)
MZ-1500モードだと、プロッタプリンタ関連命令も内部コード変換できるので、変換処理なしで読み込み可能です。なのでこちらがオススメ。
MZ-700とMZ-1500でプロッタプリンタコマンド名に微妙な差があるのですが(MODE と PMODE,LINE と PLINE 等)、MZ-1500側のコマンド名で出力するようにしています。
データサイズが大きすぎると読み込めませんので、実機で確認する前に、MZTファイルを作ってエミュレータで読み込みできるか確認するのが良いと思います。
640×480を横向きに出力しても良いですね。