This repo contains reverse-engineered sources for utilities found in Fabrice Bellard's JSLinux images.
JSLinux uses filesystem images served from vfsync.org.
TinyEMU config: https://bellard.org/jslinux/alpine-x86_64.cfg
Filesystem: https://vfsync.org/u/os/alpine-x86_64
localhost:~# ls -l /usr/local/bin
total 900
-rwxr-xr-x 1 root root 341992 Jan 13 2026 bfcalc
-rwxr-xr-x 1 root root 18248 Jan 12 2026 export_file
-rwxr-xr-x 1 root root 190440 Mar 11 14:39 mqjs
-rwxr-xr-x 1 root root 194536 Mar 11 14:38 mqjs_apx
lrwxrwxrwx 1 root root 11 Jan 12 2026 set_import_dir -> export_file
-rwxr-xr-x 1 root root 14072 Jan 12 2026 settime
-rwxr-xr-x 1 root root 18248 Jan 13 2026 tinypi
-rwxr-xr-x 1 root root 18168 Jan 12 2026 vfagent
-rwxr-xr-x 1 root root 18248 Jan 12 2026 vflogin
-rwxr-xr-x 1 root root 67640 Jan 12 2026 vfsync
-rwxr-xr-x 1 root root 14152 Jan 12 2026 vmtime
export_file and set_import_dirtinypiSee https://bellard.org/pi/tinypi/
mqjs and mqjs_apxSee github.com/bellard/mquickjs.
vfagent, vflogin, vfsyncSee vfsync.org.
Sources: https://vfsync.org/vfsync-2017-05-21.tar.gz
bfcalclocalhost:~# bfcalc -h
usage: bfcalc [options] [filename]
-h help
-H hex display
-j use JS operator syntax ('^' is xor instead of power)
-t built-in autotest
-e expr evaluate the expression 'expr'
Type '\h' for help in interactive mode
localhost:~# bfcalc
bfcalc > 3+4
7
bfcalc > 21*5
105
bfcalc > sqrt(2)
1.414213562373095
bfcalc > \h
\h this help
\h func show more information about built-in function 'func'
\h units show the available units
\x hexadecimal number display
\d decimal number display
\js toggle Javascript mode ('^' is xor instead of power, [] is an array literal instead of tensor)
bfcalc > ^D
2 commits
C
98.5%
Makefile
1.5%
This repo contains reverse-engineered sources for utilities found in Fabrice Bellard's JSLinux images.
JSLinux uses filesystem images served from vfsync.org.
TinyEMU config: https://bellard.org/jslinux/alpine-x86_64.cfg
Filesystem: https://vfsync.org/u/os/alpine-x86_64
localhost:~# ls -l /usr/local/bin
total 900
-rwxr-xr-x 1 root root 341992 Jan 13 2026 bfcalc
-rwxr-xr-x 1 root root 18248 Jan 12 2026 export_file
-rwxr-xr-x 1 root root 190440 Mar 11 14:39 mqjs
-rwxr-xr-x 1 root root 194536 Mar 11 14:38 mqjs_apx
lrwxrwxrwx 1 root root 11 Jan 12 2026 set_import_dir -> export_file
-rwxr-xr-x 1 root root 14072 Jan 12 2026 settime
-rwxr-xr-x 1 root root 18248 Jan 13 2026 tinypi
-rwxr-xr-x 1 root root 18168 Jan 12 2026 vfagent
-rwxr-xr-x 1 root root 18248 Jan 12 2026 vflogin
-rwxr-xr-x 1 root root 67640 Jan 12 2026 vfsync
-rwxr-xr-x 1 root root 14152 Jan 12 2026 vmtime
export_file and set_import_dirtinypiSee https://bellard.org/pi/tinypi/
mqjs and mqjs_apxSee github.com/bellard/mquickjs.
vfagent, vflogin, vfsyncSee vfsync.org.
Sources: https://vfsync.org/vfsync-2017-05-21.tar.gz
bfcalclocalhost:~# bfcalc -h
usage: bfcalc [options] [filename]
-h help
-H hex display
-j use JS operator syntax ('^' is xor instead of power)
-t built-in autotest
-e expr evaluate the expression 'expr'
Type '\h' for help in interactive mode
localhost:~# bfcalc
bfcalc > 3+4
7
bfcalc > 21*5
105
bfcalc > sqrt(2)
1.414213562373095
bfcalc > \h
\h this help
\h func show more information about built-in function 'func'
\h units show the available units
\x hexadecimal number display
\d decimal number display
\js toggle Javascript mode ('^' is xor instead of power, [] is an array literal instead of tensor)
bfcalc > ^D
2 commits
C
98.5%
Makefile
1.5%