十進BASIC for Linux (Intel)

2020年10月14日

Linux(Intel)で動作するJIS Full BASIC規格準拠のBASIC処理系です。


十進BASIC 8.1.0.7 (gtk2版)

グラフィックス出力先にプリンタが選べます。ファイル出力に対応するプリンタdriverを利用してベクターグラフィックスが得られます。
マルチコアCPUを利用して描画と計算を別スレッドで実行します。
64ビットLinuxは,BASIC8107Ja_Linux64.tar.xz,
32ビットLinuxは,BASIC8107Ja.tar.gzをダウンロードしてください。
ダウンロード
Decimal BASIC Open Source Project at ja.osdn.net
<既知の不具合>
gtk2版は,グラフィックスの出力先がプリンタのとき,クリッピングが正しく行われません。
デフォルトの描画域は下端に接する正方形ですが,その外にも描画され,SET CLIP文の実行も無視されます。

tutorial.pdf 「(仮称)十進BASICによるJIS Full BASIC入門」

十進BASIC 8.1.0.7 (x86_64) Qt5版

Qt5PASライブラリのインストールが必要ですが,プリンタ出力時にクリッピングが正しく実行されます。

Decimal BASIC Open Source Project at ja.osdn.net
からBASIC8107Ja_Linux64_Qt5.tar.xz をダウンロードしてください。

Qt5PASライブラリのインストール

Fedora 30,Fedora 31 Cinnamon,Fedora 31 KDE Plasma
ターミナルで
sudo dnf install qt5pas

Ubuntu 19.10, Ubuntu 20.04
端末で
sudo apt install libqt5pas1

トラブル・シューティング

Fedora31 Fedora32
ターミナルで
sudo dnf install qt5 qt5pas
を実行してqtとqt5pasをインストール。
ターミナルから,
cd BASICJa
./basic --platform xcb
を実行して起動するか,
ログイン時に歯車のアイコンをクリックして GNOME on Xorg を選ぶ。

Ubuntu18.04
ターミナルで
sudo apt-get install qt5-default
を実行後,
Lazarus Wiki Qt5 Interface
の記述に従って
https://github.com/tomboy-notes/tomboy-ng/releases/tag/v0.24
から
libqt5pas1_2.6.beta-5_amd64.deb
をダウンロードしインストールしてください。
参照 Qt5 bindings for Ubuntu 18.04 (Lazarus Forum)

その他
起動しないときは,(次に例示するように)ターミナルから起動して
cd BASICJa
./basic
エラーメッセージを確認してください。
(1) error while loading shared libraries: libQt5Pas.so.1: …
 Qt5Pasライブラリのインストール不備。
(2) … undefined symbol: QPrinterInfo_availablePrinterNames
 Qt5Pasのバージョンが古いの原因。
 Ubuntu 18.04で,apt-get install libqt5pas1 を実行するとこうなる。
(3) QSocketNotifier: Can only be used with threads started with QThread
 Feodra 31で普通に起動しようとすると,こうなる。
<参照>Free Pasacal Wiki Qt5_interface Systems using Wayland

GTK2版とQt5版の比較
(テスト環境 Fedora 31,Fedora31 KDE Plasma,
Fedora 31 Cinnamon,Ubuntu19.10 )
(cups-pdfで作成したPDFをWindows上のAdobe Readerで確認 )
描画出力先スクリーンプリンタ (cups-pdf)
エディション GTK2版  Qt5版 GTK2版Qt5版
クリッピング ×
LINE WIDTH
LINE STYLE
AREA STYLE ×
DRAW MODE MASK × ×
TEXT BACKGROUND ×(常に透明) ×(常に不透明)
注意 OSに標準搭載のPDFリーダでは正しく表示されないことがあります。                

<補注1> cups-pdf インストール
Fedora 31は
sudo dnf install cups-pdf
Ubuntu 18.10は
sudo apt-get install cups-pdf

<補注2>Fedora 31で
sudo dnf install gtk2.i686
sudo dnf install libxcrypt-compat.i686
を実行すると32ビット版が動作します。

Revision History
Ver. 8.1.0.7
SET BITMAP SIZE 1,1が引き起こす問題を修正
SET COLOR 文(独自拡張)のバグを修正
Ver. 8.1.0.6
PROGRAM文の配列引数が正しく処理されないバグを修正。
Ver. 8.1.0.5
プログラム中にマルチバイト文字(漢字など)があるとヘルプの検索が正しく行われないバグを修正した。
Ver. 8.1.0.4
Helpを更新.
Lazarus 2.0.8でコンパイルした。
Ver. 8.1.0.3
プログラム実行前にグラフィック画面が消去されないことのあるバグを修正。
グラフィック画面初期フォントサイズが異常となることのあるバグを修正。
Qt5でINPUTダイアログの表示で起こる問題に対応。
プログラム保存でエラーを起こす問題に対応。
グラフィックス出力先がプリンタのときにも,SET TEXT BACKGROUNDを有効にした(実際は無視されるかもしれない)。
Ver. 8.1.0.2
グラフィックス座標系をGTK2は16ビット,MACは32ビット,プリンタは32ビットにした。
グラフィックス出力先がプリンタのとき,SET BITMAP SIZE文を実行不可とした。
グラフィックス出力先がプリンタのとき,SET TEXT BACKGROUNDを無視することにした。
グラフィックス出力先がプリンタのときのフォントをスクリーンとそろえた。
Graphicsオプションダイアログでプリンタの選択と設定ができるようにした。
Ver. 8.1.0.1
GraphicsオプションダイアログのHelpボタンが機能しないバグを修正した。
Ver. 8.1.0.0
グラフィックス出力先にプリンタを追加した。
Ver. 8.0.2.4
PAINT, FLOODを言語仕様から外した。
GET POINT文実行時のbeam処理の不備を修正した。
Ver. 8.0.2.3
GLOAD, GSAVEが正常に機能しないバグを修正。
Ver. 8.0.2.2
beam, point color, point style 設定を効率化した。
Ver. 8.0.2.1
MAT GET POINTを実行するとaccess violationになるバグを修正。
GLOAD, GSAVEに失敗するとaccess violationになるバグを修正。
Ver. 8.0.2.0
Draw文で射影変換を実行するとaccess violationになるバグを修正.
Lazarusのバージョンを1.6.4に変更した。(area styleが正しく実行される)


十進BASIC 6.6.4.1 (x86-64)

32ビットの実行環境を持たない64ビットLinuxで動作します。
BASIC6641Ja_Linux64.tar.xzをダウンロードしてください。
ダウンロード
Decimal BASIC Open Source Project at ja.osdn.net

動作確認済みLinux (64ビット)
Scientific Linux 6.4
Linux Mint 18.3 Mate
Fedora 27
Ubuntu 16.04
Kubuntu 14.04 (*)
(*) Konsoleで sudo apt-get install ibus-gtk ibus-gtk3
 を実行して再起動すると,漢字入力枠での日本語入力が可能になる。


十進BASIC 6.6.4.1 (i386)

ダウンロード
Decimal BASIC Open Source Project at ja.osdn.netから
BASIC6641Ja.tar.gzをダウンロードし,適宜のディレクトリに展開してください。

実行
起動コマンドはbasicです。
文字コードはUTF-8です。書式指定で漢字1文字に書式文字を3個必要とします。

既知の不具合
(1) MOUSE POLLの動作に若干の不具合がある。
(2) SET DRAW MODE MASK等は正しく動作しないことがある。
(3) LOCATE VALUE NOWAITを反復使用するとプログラムの中断ができない。
(4) 日本語の直接入力ができない(漢字入力枠を介して入力する)。

トラブル対策
(1) エディタとテキスト出力ウィンドウのフォントは適宜のものに変更してください。(等幅フォントがよい)
(2) グラフィックウィンドウ内で描画領域の下方が隠れて表示されないことがあります。その場合は,ウィンドウの右下をドラッグしてウィンドウを拡大してください。
(3) GTK2(32ビット版)が必須です。

Note.
(1) LOCATE VALUE NOWAITを用いる場合や,動作に不審な点がある場合は,basic0622Ja_ALT.tar.gzをお試しください。ただし,この版は Ubuntu 12.04 では動作しません。
(2) 日本語入力を多用する場合は,ver. 0.4.9.4が適します。

動作確認済みLinux
Fedora 17 (32ビット)
Fedora 17 (64 bit) ( yum install gtk2.i686 を実行)
Fedora 19 (32ビット)
Fedora 19 (64 bit) ( yum install gtk2.i686 を実行)
Fedora 20 (64 bit) ( yum install ibus-gtk2.i686 gtk2-immodules.i686 を実行)
Scientific Linux 6.3
Scientific Linux 6.4 (64ビット) (yum install gtk2.i686 を実行)
Ubuntu 11.04 (32ビット)
Ubuntu 12.04 (32ビット)
Ubuntu 12.04 (64bit) (端末で sudo apt-get install ia32-libs を実行)
Ubuntu 13.04 (64bit) (端末で sudo apt-get install ia32-libs を実行)
Ubuntu 13.10 (64bit) (端末で sudo apt-get install libgtk2.0-0:i386 ibus-gtk:i386 を実行)
Lubuntu 13.10 (i386) (端末で sudo apt-get install ibus-gtk ibus-gtk3 を実行)
Linux Bean (2014-03-02版)
Debian 7.2.0 (amd64) (*)
(*) rootで以下を実行
dpkg --add-architecture i386
apt-get update
apt-get install libgtk2.0-0:i386

Note.
上記 UbuntuおよびDebianの64ビット版は,漢字入力枠を介した日本語入力ができることを確認しています。
Fedora17(64bit),Fedora19(64bit)で,以下のコマンドの追加で漢字入力枠を介した日本語入力が確認できています。
yum install ibus-gtk2.i686 gtk2-immodules.i686
Scientific Linux 6.4 (64ビット)で,以下のコマンドの追加で漢字入力枠を介した日本語入力が確認できています。
yum install ibus-gtk.i686 gtk2-immodule-xim.i686


変更履歴
Ver. 0.6.1.0  独自拡張(4次元配列,PLOT文における複素数座標の使用,point style 6,7 の追加)
Ver. 0.6.1.1  ヘルプシステムを再構築した。RECTYPE CSVを追加。Lazarus 0.9.30使用
Ver. 0.6.1.2 RECTYPE CSVでINPUT,PRINTが使える誤りを修正。
       ASK PIXEL ARRAYに文字列変数を書いたとき,取得される値が逆になる誤りを修正。
       MAT PLOT CELLSで色指標が正しくないとセルを描かないなどの誤りを修正。
Ver. 0.6.1.4 逆転した座標系でASK PIXEl SIZEが負数を返すバグを修正。
Ver. 0.6.2.0 複素数モード時のDOT関数の定義を修正。
Ver. 0.6.2.1 Ubuntu12.04に対応。画像フォーマットPNG, TIFF, XPMに対応した。
Ver. 0.6.2.2 PRINT文出力が表示されない不具合等を修正。Lazarus1.0.2使用。
Ver. 0.6.2.3 漢字入力枠を追加。色深度24ビット環境向けに ASK PIXEL命令を最適化。
Ver. 0.6.2.4 再帰呼出しを行う副プログラム中でOPEN文を実行するとsystem errorになるバグを修正。
       ASSIGN文を追加。
Ver. 0.6.2.5 ディレクトリ操作命令を追加。
         主プログラムの内部手続きが外部手続きから呼び出せる誤りを修正。
Ver. 0.6.2.6 SET DIRECTORYが内部エラーを起こすことのある不具合を修正。
Ver. 0.6.2.6 -2 Fedora 19 でプログラムを実行しようとすると access violation になる不具合を修正。
Ver. 0.6.2.6 -3 Linux版でトレースログが表示されない不具合を修正。
Ver. 0.6.3.0 互換性オプションに,「外部副プログラム・外部絵定義の宣言」,「PLOT文におけるLINES:」を追加。
       座標系を再設定したときTEXT HEIGHTが変化してしまう誤りを修正した。
       WAIT DELAYのミリ秒単位での精度を向上させた。
Ver. 0.6.3.1 変換を伴うとき,TEXT HEIGHTの精度が低下することのある不具合を修正した。
Ver. 0.6.3.2 ASK PIXEL VALUEが存在しない点を指定するとエラーになるバグを修正した。
Ver. 0.6.3.3 DRAW MODE MASK(MERGE, XOR, NOTXOR)をPLOT TEXT文が描く文字に対し有効化した。
Ver. 0.6.3.5 「末尾に追加読込」でaccess violationになるバグを修正。
       トレースログで保存ができない不具合を修正。
Ver. 0.6.3.6 0÷0を実行したときのEXTYPEが正しくないことがある不具合を修正
Ver. 0.6.3.8 EXTYPE関数の値が正しくないことのある不具合を修正。
Ver. 0.6.3.9 WAIT DELAY文に数値変数を指定すると内部エラーになるバグを修正。
       INPUT TIMEOUTに数値変数を指定すると内部エラーになるバグを修正。
       PLOT LINES文が用いるフォントサイズの初期値が0になっている不具合を修正。
Ver. 0.6.4.0 2進モードでCEIL関数の値が正しくないバグを修正。
Ver. 0.6.4.1 SET LINE STYLE 0 を実行すると内部エラーになるバグを修正。
Ver. 0.6.4.2 ファイルI/Oで内部エラーになるバグを修正。
Ver. 0.6.4.3 INPUTダイアログの閉じるアイコンをクリックするとハングする不具合に対応。
Ver. 0.6.4.8 USING$関数の書式文字列に空文字列を措定すると内部エラーになるバグをs修正。
Ver. 0.6.5.0 Lazarus1.6.0でコンパイルした。
Ver. 6.6.0  HIDDEN DRAW MODEでの画面表示を改善。
Ver. 6.6.2.2 部分文字列への代入の誤りを修正
Ver. 6.6.3.0 LOCATE VALUEのスライドバー個数の上限を20に引き上げた。
Ver. 6.6.3.2 PLOT LINESが正しく機能しない不具合を修正
Ver. 6.6.3.4 PAUSE文の不具合を修正した。
Ver. 6.6.4.0 TIMEOUT句を持つINPUT文が正しく動作しないバグを修正した。
Ver. 6.6.4.1 2進モード時の表示文字列の精度を改善した.


参照 Windows版との相違


(仮称)十進BASIC 0.4.9.4

ダウンロード
Decimal BASIC Open Source Project at ja.osdn.net から
basic0494.tar.gzをダウンロードし,適宜のディレクトリに展開してください。

tutorial.pdf 「(仮称)十進BASICによるJIS Full BASIC入門」

実行
起動コマンドはbasicです。
文字コードはUTF-8です。書式指定で漢字1文字に書式文字を3個必要とします。

既知の不具合
(1) SET TEXT BACKGROUND は正しく機能しません。
(2) ダイアログのヘルプボタンは機能しません。
(3) GUIによるデバッグでブレークポイントの設定ができない。
(4) 編集メニューの検索・置換が動作不良。
(5) プリンタは正しく動作しないかも知れません。

動作確認済みLinux
Vine Linux 5.0
Fedora 11


Linux 英語版ダウンロードのページへ

十進BASICのホームページへ

十進BASIC第2掲示板 へ