Other properties
Members
# inner ARGS
Properties:
Name | Type | Description |
---|---|---|
ARGS |
Array.<string>
|
the command line arguments including the script name. |
# inner FILE
file mode definition.
Properties:
Name | Type | Description |
---|---|---|
READ |
*
|
open file in read mode. |
WRITE |
*
|
open file in write mode (truncating existing contents) |
APPEND |
*
|
open file in append mode. |
# inner Height
Properties:
Name | Type | Description |
---|---|---|
Height |
number
|
screen height, alternative to calling SizeY() |
# inner IPX_AVAILABLE
Properties:
Name | Type | Description |
---|---|---|
IPX_AVAILABLE |
boolean
|
true if networking is available. |
# inner LFN_SUPPORTED
Properties:
Name | Type | Description |
---|---|---|
LFN_SUPPORTED |
boolean
|
true if long filenames are supported. |
# inner MOUSE
event interface.
Properties:
Name | Type | Description |
---|---|---|
Mode.NONE |
*
|
no cursor |
Mode.ARROW |
*
|
arrow cursor |
Mode.BUSY |
*
|
busy cursor |
Mode.QUESTION |
*
|
questionmark cursor |
Mode.CURSOR_EDIT |
*
|
edit cursor |
Buttons |
*
|
mouse button definitions |
LEFT |
*
|
|
RIGHT |
*
|
|
MIDDLE |
*
|
# inner MOUSE_AVAILABLE
Properties:
Name | Type | Description |
---|---|---|
MOUSE_AVAILABLE |
boolean
|
true if mouse is available. |
# inner PACKAGE_DIR
Properties:
Name | Type | Description |
---|---|---|
PACKAGE_DIR |
string
|
path of the JSBOOT packages directory |
# inner PARALLEL
parallel port IO register definitions.
[*] CONTROL.BIDI must be set to 1 in order to read from DATA. Not supported by all ports!
Properties:
Name | Type | Description |
---|---|---|
DATA.BIT0 |
*
|
Data 0, pin 2 (out/in*) |
DATA.BIT1 |
*
|
Data 1, pin 3 (out/in*) |
DATA.BIT2 |
*
|
Data 2, pin 4 (out/in*) |
DATA.BIT3 |
*
|
Data 3, pin 5 (out/in*) |
DATA.BIT4 |
*
|
Data 4, pin 6 (out/in*) |
DATA.BIT5 |
*
|
Data 5, pin 7 (out/in*) |
DATA.BIT6 |
*
|
Data 6, pin 8 (out/in*) |
DATA.BIT7 |
*
|
Data 7, pin 9 (out/in*) |
STATUS.BUSY |
*
|
pin 11, inverted (in) |
STATUS.ACK |
*
|
pin 10 (in) |
STATUS.PAPER_OUT |
*
|
pin 12 (in) |
STATUS.SELECT_IN |
*
|
pin 13 (in) |
STATUS.ERROR |
*
|
pin 15 (in) |
STATUS.TIMEOUT |
*
|
LPTStatus() only |
CONTROL.BIDI |
*
|
this bit must be set in order to read DATA |
CONTROL.SELECT_OUT |
*
|
pin 17, inverted (out) |
CONTROL.RESET |
*
|
pin 16 (out) |
CONTROL.LINEFEED |
*
|
pin 14, inverted (out) |
CONTROL.STROBE |
*
|
pin 1, inverted (out) |
# inner RAW_BLOCKSIZE
Properties:
Name | Type | Description |
---|---|---|
RAW_BLOCKSIZE |
number
|
size of sectors when reading/writing raw disks. |
# inner RAW_HDD_FLAG
Properties:
Name | Type | Description |
---|---|---|
RAW_HDD_FLAG |
number
|
index for HDDs when using raw disk functions. |
# inner REMOTE_DEBUG
Properties:
Name | Type | Description |
---|---|---|
REMOTE_DEBUG |
boolean
|
enable/disable Debug() sending via IPX. |
# inner SEEK
file seek definition.
Properties:
Name | Type | Description |
---|---|---|
SET |
*
|
the offset is relative to the start of the file. |
CUR |
*
|
the offset is relative to the the current position indicator. |
END |
*
|
the offset is relative to the end-of-file. |
# inner SOUND
sound input selection.
Properties:
Name | Type | Description |
---|---|---|
Input.MIC |
*
|
use microphone input |
Input.LINE |
*
|
use line input |
Input.CD |
*
|
use CD input |
Bits.BITS8 |
*
|
use 8 bits |
Bits.BITS16 |
*
|
use 16 bits |
# inner SOUND_AVAILABLE
Properties:
Name | Type | Description |
---|---|---|
SOUND_AVAILABLE |
boolean
|
true if sound is available. |
# inner SYSTEM
System() flags for subsystem shutdown/restart.
Properties:
Name | Type | Description |
---|---|---|
MOUSE |
*
|
de/reinit mouse |
SOUND |
*
|
de/reinit sound |
JOYSTICK |
*
|
de/reinit joystick |
KEYBOARD |
*
|
de/reinit keyboard |
TIMER |
*
|
de/reinit timer |
# inner Width
Properties:
Name | Type | Description |
---|---|---|
Width |
number
|
screen width, alternative to calling SizeX() |
# inner ZIPFILE
ZIP file mode definition.
Properties:
Name | Type | Description |
---|---|---|
READ |
*
|
open ZIP file in read mode. |
WRITE |
*
|
open ZIP file in write mode (truncating existing contents) |
APPEND |
*
|
open ZIP file in append mode. |
DELETE |
*
|
open ZIP file in delete mode. |
# inner ZIP_DELIM
Properties:
Name | Type | Description |
---|---|---|
ZIP_DELIM |
string
|
delimiter between ZIP filename and entry name. |
# inner navigator
Properties:
Name | Type | Description |
---|---|---|
navigator.appName |
String
|
can be used to detect DOjS |
# inner require
Alias of Require() to make DOjS module loading Node.js compatible.
- See:
-
- NodeJS
- Require
Methods
# inner BytesToString(data) → {string}
Convert byte array to ASCII string. The string is terminated at the first NULL byte or at array length (whichever comes first).
Parameters:
Name | Type | Description |
---|---|---|
data |
Array.<number>
|
array of numbers. |
a string.
string
# inner CharCode(s)
get char code.
Parameters:
Name | Type | Description |
---|---|---|
s |
string
|
a string |
the ASCII-code of the first character.
# inner CompareKey(k, s)
compare a keycode with a character.
Parameters:
Name | Type | Description |
---|---|---|
k |
number
|
keycode from an Event |
s |
string
|
a string with one char |
# inner Debug(str)
print javascript debug output if DEBUG is true.
Parameters:
Name | Type | Description |
---|---|---|
str |
string
|
the message to print. |
# inner DirExists(dirname) → {boolean}
check for existence of a directory.
Parameters:
Name | Type | Description |
---|---|---|
dirname |
string
|
name of directory to check. |
true if the directory exists, else false.
boolean
# inner Dump(obj)
print an object as JSON to logfile.
Parameters:
Name | Type | Description |
---|---|---|
obj |
*
|
the object to print |
# inner ExtractModulePath(fname)
extract the path for a file.
Parameters:
Name | Type | Description |
---|---|---|
fname |
String
|
the file name with path |
the path leading to the file
# inner FileExists(filename) → {boolean}
check for existence of a file.
Parameters:
Name | Type | Description |
---|---|---|
filename |
string
|
name of file to check. |
true if the file exists, else false.
boolean
# inner FlushLog()
Flushes, closes and re-opens the current logfile. This is useful if you want to read the current logfile contents from a runing program.
# inner Gc(info)
Run garbage collector, print statistics to logfile if 'info==true'.
Parameters:
Name | Type | Description |
---|---|---|
info |
boolean
|
true to print collection stats to logfile. |
# inner GetDrive()
This function determine the current default drive. This is a wrapper for DOS IN21, ah=0Eh.
the current default drive (1=A:, 2=B:, etc.).
# inner GetEnv(varname) → {string}
Parameters:
Name | Type | Description |
---|---|---|
varname |
string
|
the name of the variable |
the value of the var or NULL if it does not exists.
string
# inner GetLoadedLibraries() → {Array.<string>}
Get a list of loaded native libraries.
a list of loaded libraries.
Array.<string>
# inner GetParallelPorts() → {Array.<number>}
get available parallel ports.
list of available parallel ports and their addresses.
Array.<number>
# inner GetRandomInt(max)
get a random integer between [0..max[
Parameters:
Name | Type | Description |
---|---|---|
max |
number
|
max value to return (eclusive). |
# inner GetSerialPorts() → {Array.<number>}
get available serial ports.
list of available serial ports and their addresses.
Array.<number>
# inner InPortByte(port) → {number}
read a byte value from a hardware io-port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port address to read from. |
8-bit value read from port.
number
# inner InPortLong(port) → {number}
read a long value from a hardware io-port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port address to read from. |
32-bit value read from port.
number
# inner InPortWord(port) → {number}
read a word value from a hardware io-port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port address to read from. |
16-bit value read from port.
number
# inner Include(name)
include a module. The exported functions are copied into global scope.
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
module file name. |
- See:
-
- Require
# inner Info(str)
Print info message.
Parameters:
Name | Type | Description |
---|---|---|
str |
string
|
the message to print. |
# inner KeyIsPressed(key) → {boolean}
Check if key with keycode from KEY is pressed.
Parameters:
Name | Type | Description |
---|---|---|
key |
number
|
the key to check |
tru if the key is currently pressed, else false.
boolean
# inner LPTRawControl(port, bits)
write bits to LPT control register.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port number (0-3). |
bits |
number
|
data to write |
- See:
-
- GetParallelPorts
# inner LPTRawData(port, data) → {number}
read/write data to LPT data register.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port number (0-3). |
data |
number
|
data to write, null to read |
- See:
-
- GetParallelPorts
current LPT value if data was null.
number
# inner LPTRawStatus(port)
read status register of LPT port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port number (0-3). |
- See:
-
- GetParallelPorts
# inner LPTReset(port)
reset parallel port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port number (0-3). |
- See:
-
- GetParallelPorts
# inner LPTSend(port, data)
send data to parallel port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port number (0-3). |
data |
string
|
data to transfer. |
- See:
-
- GetParallelPorts
# inner LPTStatus(port)
read parallel port status.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port number (0-3). |
- See:
-
- GetParallelPorts
# inner List(dname) → {Array.<string>}
Get directory listing.
Parameters:
Name | Type | Description |
---|---|---|
dname |
string
|
name of directory to list. |
Throws an error if listing fails.
array of entry names.
Array.<string>
# inner LoadLibrary(name)
Load and initialize a native library (DXE). Native libraries must reside in the directory jSH.EXE was started from!
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
the base name of the library (e.g. if the library is called "foo.dxe" on disk you need to call LoadLibrary("foo")). |
# inner MkDir(name)
make a directory.
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
path/name of the new directory |
# inner MouseSetCursorMode(mode)
Change mode of the mouse cursor.
Parameters:
Name | Type | Description |
---|---|---|
mode |
*
|
a mode from MOUSE. |
# inner MouseSetLimits(x1, y1, x2, y2)
Limit mouse movement.
Parameters:
Name | Type | Description |
---|---|---|
x1 |
number
|
start x coordinate. |
y1 |
number
|
start y coordinate. |
x2 |
number
|
end x coordinate. |
y2 |
number
|
end y coordinate. |
# inner MouseSetSpeed(x, y)
Set mouse speed.
Parameters:
Name | Type | Description |
---|---|---|
x |
number
|
horizontal speed. |
y |
number
|
vertical speed. |
# inner MouseShowCursor(b)
Show hide mouse cursor.
Parameters:
Name | Type | Description |
---|---|---|
b |
boolean
|
true or false. |
# inner MouseWarp(x, y)
Move mouse cursor.
Parameters:
Name | Type | Description |
---|---|---|
x |
number
|
x coordinate. |
y |
number
|
y coordinate. |
# inner NamedFunction(p, s, fopt)
parse a string into a function. Works like Function() by a source file name can be provided.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
p |
string
|
name of the single parameter. |
|
s |
string
|
the source of the function. |
|
f |
string
|
<optional> |
an optional filename where the source came from. |
# inner OutPortByte(port, value)
write a byte value to a hardware io-port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port address to write to. |
value |
number
|
8-bit value to write to port. |
# inner OutPortLong(port, value)
write a long value to a hardware io-port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port address to write to. |
value |
number
|
32-bit value to write to port. |
# inner OutPortWord(port, value)
write a word value to a hardware io-port.
Parameters:
Name | Type | Description |
---|---|---|
port |
number
|
port address to write to. |
value |
number
|
16-bit value to write to port. |
# inner POST(val)
Write the given value to io-port 80h to be displayed by a POST card.
Parameters:
Name | Type | Description |
---|---|---|
val |
number
|
value to write to 0x80. |
# inner Print(s)
Write data to JSLOG.TXT logfile.
Parameters:
Name | Type | Description |
---|---|---|
s |
string
|
the string to print. |
# inner Println(s)
Write data to JSLOG.TXT logfile with a newline.
Parameters:
Name | Type | Description |
---|---|---|
s |
string
|
the string to print. |
# inner RandomInt(min, max) → {number}
get random integer between min and max (or between 0 and min if max is not provided).
Parameters:
Name | Type | Description |
---|---|---|
min |
number
|
min |
max |
number
|
max |
an integer between min and max.
number
# inner Read(filename) → {string}
Load the contents of a file into a string. Throws exception if loading fails.
Parameters:
Name | Type | Description |
---|---|---|
filename |
string
|
name of file to read. |
Throws an error if reading fails.
the contents of the file.
string
# inner ReadZIP(filename, entryname) → {string}
Load the contents of a ZIP file entry into a string. Throws exception if loading fails.
Parameters:
Name | Type | Description |
---|---|---|
filename |
string
|
name of file to read. |
entryname |
string
|
name of entry in the ZIP file to read. |
Throws an error if reading fails.
the contents of the file.
string
# inner RealPath(path)
This function canonicalizes the input path. The path is canonicialized by removing consecutive and trailing slashes, making the path absolute if it's relative by prepending the current drive letter and working directory, removing "." components, collapsing ".." components, adding a drive specifier if needed, and converting all slashes to '/'. DOS-style 8+3 names of directories which are part of the pathname, as well as its final filename part, are returned lower-cased, but long filenames are left intact.
Parameters:
Name | Type | Description |
---|---|---|
path |
string
|
a path.
# inner Rename(from, to)
rename file/directory.
Parameters:
Name | Type | Description |
---|---|---|
from |
string
|
old name |
to |
string
|
new name |
# inner Require(name)
import a module. DOjS modules are CommonJS modules where all exported symbols must be put into an object called 'exports'. A module may provide an optional version using the VERSION member.
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
module file name. |
the imported module.
Example
exports.__VERSION__ = 23; // declare module version
exports.myVar = 0; // will be exported
exports.myFunc = function() {}; // will also be exported
var localVar; // will only be accessible in the module
function localFunction() {}; // will also only be accessible in the module
# inner RequireFile(name, fname)
try a specific filename which can ba a plain file or a ZIP-file entry. Throws an Exception if the file cant be read.
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
module name. |
fname |
string
|
the file name to try. |
the imported module.
# inner RmDir(name)
remove a directory (must be empty).
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
path/name of the directory. |
# inner RmFile(name)
remove a file.
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
path/name of the file. |
# inner SetDrive(drive)
This function set the current default drive based on drive (1=A:, 2=B:, etc.) and determines the number of available logical drives. This is a wrapper for DOS IN21, ah=19h.
Parameters:
Name | Type | Description |
---|---|---|
drive |
number
|
the new default drive. |
the number of available logical drives.
# inner SetExitKey(key)
Change the exit key from ESCAPE to any other keycode from KEY.
Parameters:
Name | Type | Description |
---|---|---|
key |
number
|
the new exit key |
# inner SetExitMessage(msg)
set a console message to display at shutdown of DOjS.
Parameters:
Name | Type | Description |
---|---|---|
msg |
string
|
the message. |
# inner SetFramerate(rate)
Set maximum frame rate. If Loop takes longer than '1/rate' seconds then the framerate will not be reached.
Parameters:
Name | Type | Description |
---|---|---|
rate |
number
|
max frame rate wanted. |
# inner Sleep(ms)
Sleep for the given number of ms.
Parameters:
Name | Type | Description |
---|---|---|
ms |
number
|
time to sleep. |
# inner Stat(name) → {StatInfo}
Get information about a file / directory.
Parameters:
Name | Type | Description |
---|---|---|
name |
string
|
name of the file to get info for. |
Throws an error if stat fails.
an info object.
# inner StringToBytes(str) → {Array.<number>}
Convert ASCII string to byte array.
Parameters:
Name | Type | Description |
---|---|---|
str |
string
|
string to convert. |
array of numbers.
Array.<number>
# inner System(cmd, flags) → {number}
Run a DOS command.
Parameters:
Name | Type | Description |
---|---|---|
cmd |
string
|
the command to execute with its parameters. |
flags |
SYSTEM
|
flags indicating which subsystems to shutdown (if any) during execution of cmd. |
the return code of the command.
number
# inner Trace(msg)
print a stack trace.
Parameters:
Name | Type | Description |
---|---|---|
msg |
String
|
message to print with the trace |
# inner ZipPrefix(fname) → {string}
prefix a filename with the ZIP file the started script came from. The filename is not modified if the script was not loaded from a ZIP file.
Parameters:
Name | Type | Description |
---|---|---|
fname |
string
|
file name. |
a ZIP-filename if the running script was loaded from a ZIP file or the passed filename.
string
# inner _Debug(str)
Internal debug which does not redirect to IPX if enabled.
Parameters:
Name | Type | Description |
---|---|---|
str |
string
|
the message to print. |