-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtxt2bas.txt
116 lines (96 loc) · 5.26 KB
/
txt2bas.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
------------------------------------------------------------
----- txt2bas ----------------------------------------------
----- by ISHIOKA Hiroshi 03/06/06 --------------------------
----- by fuzzball 12/04/28 -------------------------------
----- by eighttails 14/02/21 -------------------------------
------------------------------------------------------------
はじめに ---------------------------------------------------
txt2bas は、Unix や Windows などのテキストエディタ上で入力した
BASIC プログラムを、PC-6000/6600 シリーズ上で CLOAD 可能な
テープイメージに変換するものです。
つかいかた -------------------------------------------------
txt2bas.zip には以下のファイルが含まれています。
txt2bas.txt : このファイル
txt2bas.exe : MS-DOS 用実行ファイル
txt2bas/* : ソースファイル (UNIX / MS-DOS 用)
Windows 上で使う方は実行ファイルをそのまま利用できますが、
UNIX 上で使う方はソースファイルをコンパイルして実行ファイルを
作ってください。コンパイルの仕方についてはN6XBasicCheckerの
ドキュメントを参照ください。
Usage: txt2bas [-56] infile outfile basfile
実行するときは、コマンド名の後ろに変換前と変換後のファイル名を
入力します。拡張子の省略はできません。
またN60/60m/66-BASIC 用に変換するときは -5、N66SR-BASIC 用に
変換するときは -6 を指定します。デフォルトは -5 です。
なお、変換後のファイルを CLOAD したときのファイル名は
basfile で指定した名前になります。
basfileは半角英数6文字まで指定できます。
かなや記号文字を入力した場合の動作は未保証です。
ごちゅうい -------------------------------------------------
例によってエラーチェックはかなり手を抜いていますので、
入力ファイルが以下のような場合の動作は保証しません。
・最後の行が改行せずに EOF になっているとき
・行番号や行の長さが P6 の BASIC でサポートしている範囲を超えるとき
・行の先頭や末尾に余分な空白があるとき
以下の場合はエラーメッセージを出力して終了します。
・行番号が前の行より小さいとき
・P6 のキャラクタセットにない文字が使われているとき
入力ファイルは1バイト文字と2バイト文字の両方に対応しています。
但し2バイト文字は Shift-JIS のみサポートしていますので、
必要ならば他のソフトで Shift-JIS に変換してから使ってください。
また、UNIX/Linuxの環境においても改行コードはCRLFになります。
これはWindowsで蓄積したリスト資産との相互運用性のためです。
P6 のグラフィックキャラクタのうち、以下は P6DatRec に準拠しました。
これらの文字は Shift-JIS に定義されていると思いますが、
OS によって利用できないことがあるかも知れません。
・罫線は太い罫線記号
・スペード、ハート、クラブ、ダイヤは、それぞれ
上向き三角、下向き三角、星、ダイヤ(全て塗りつぶし)の記号
P6 のメモリ及びテープイメージ上で、行番号の前に格納されている
リンクポインタ(次の行のアドレス)は、CLOAD 終了時に BASIC
インタプリタにより再計算されるため、txt2bas では計算しません。
出力ファイルが既に存在していた場合は、ユーザに確認せず
上書きします。
Ver.0.3 から PRINT の代わりに ? も使えるようにしましたが、
LPRINT の代わりに L? とすることはできません。
これは N6*-BASIC 上でも同様ですのでこれで良いことにしました。
りれき -----------------------------------------------------
2000.03.25.
製作開始
2000.03.26.
一応完成。公開。Ver.0.1。
2000.03.27.
REM の処理を追加。DATA の処理を修正。Ver.0.2。
2000.03.28.
?(=PRINT) の処理を追加。このファイルを修正。Ver.0.3。
2000.05.25.
濁音、半濁音(「が」など)に対応。Ver.0.4。
2001.01.06.
「ヴ」を処理できないバグを修正。(Hashi さん Thanks!)
Ver.0.5。
2003.05.06.
N66SR-BASIC への変換に対応。Ver.0.6。
2003.05.06.
N66SR-BASIC への変換で変数名を誤るバグを修正。Ver.0.7。
2003.06.06.
Ver.0.7 公開。
2012.04.24 modified 001
・全角の括弧を〔 〕から[ ]に変更。
2012.04.28 modified 002
・空行や行番号直後の空白をスキップするように。
・フッタの$00が1バイト多かったので修正。
2014.02.21
Ver0.8 公開
・N6XBasicCheckerに組み込むためライブラリ化
・テープに保存されるファイル名を指定できるようにした。
・行番号0が正しく出力されないのを修正
・モード6で字下げを行っているとコードが化けるのを修正
2019.10.09
Ver0.9 公開
・モード6でSGN文の引数が常に文字列リテラルとして変換されていたのを修正
---
isio <isio@retropc.net>
http://retropc.net/isio/
eighttails
http://eighttails.seesaa.net
Special thanks to fuzzball.