Module

other

Other properties

Classes

StopWatch

Members

# inner ARGS

Properties:
Name Type Description
ARGS Array.<string>

the command line arguments including the script name.

# inner DEBUG

Properties:
Name Type Description
DEBUG boolean

enable/disable Debug() output.

# inner DOJS_VERSION

Properties:
Name Type Description
DOJS_VERSION number

the version

# 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 JSBOOT_DIR

Properties:
Name Type Description
JSBOOT_DIR string

path of the JSBOOT directory

# inner JSBOOT_ZIP

Properties:
Name Type Description
JSBOOT_ZIP string

path/name of the JSBOOT.ZIP

# inner KEY

keyboard input.

Properties:
Name Type Description
Code *

key definitions.

# 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 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 ZIP_DELIM

Properties:
Name Type Description
ZIP_DELIM string

delimiter between ZIP filename and entry name.

# inner console

provide console.log()

See:
  • NodeJS

# 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 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 Dump(obj)

print an object as JSON to logfile.

Parameters:
Name Type Description
obj *

the object to print

# inner DumpGlobals()

dump all known global functions and variables to logfile. DEBUG needs to be set to true.

# inner EnableRemoteDebug()

enable IPX remote debugging output.

# 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 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 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 GetRandomInt(max)

get a random integer between [0..max[

Parameters:
Name Type Description
max number

max value to return (eclusive).

# 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 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 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 LoadModule()

Alias for LoadLibrary().

See:
  • LoadLibrary()

# 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 MsecTime() → {number}

Get ms timestamp.

ms time.

number

# 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 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 Sleep(ms)

Sleep for the given number of ms.

Parameters:
Name Type Description
ms number

time to sleep.

# inner StartupInfo()

print startup info with screen details.

# inner Stop()

DOjS will exit after the current call to Loop.

# 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.

Classes

StopWatch

Members

# inner ARGS

Properties:
Name Type Description
ARGS Array.<string>

the command line arguments including the script name.

# inner DEBUG

Properties:
Name Type Description
DEBUG boolean

enable/disable Debug() output.

# inner DOJS_VERSION

Properties:
Name Type Description
DOJS_VERSION number

the version

# 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 JSBOOT_DIR

Properties:
Name Type Description
JSBOOT_DIR string

path of the JSBOOT directory

# inner JSBOOT_ZIP

Properties:
Name Type Description
JSBOOT_ZIP string

path/name of the JSBOOT.ZIP

# inner KEY

keyboard input.

Properties:
Name Type Description
Code *

key definitions.

# 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 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 ZIP_DELIM

Properties:
Name Type Description
ZIP_DELIM string

delimiter between ZIP filename and entry name.

# inner console

provide console.log()

See:
  • NodeJS

# 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 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 Dump(obj)

print an object as JSON to logfile.

Parameters:
Name Type Description
obj *

the object to print

# inner DumpGlobals()

dump all known global functions and variables to logfile. DEBUG needs to be set to true.

# inner EnableRemoteDebug()

enable IPX remote debugging output.

# 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 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 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 GetRandomInt(max)

get a random integer between [0..max[

Parameters:
Name Type Description
max number

max value to return (eclusive).

# 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 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 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 LoadModule()

Alias for LoadLibrary().

See:
  • LoadLibrary()

# 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 MsecTime() → {number}

Get ms timestamp.

ms time.

number

# 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 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 Sleep(ms)

Sleep for the given number of ms.

Parameters:
Name Type Description
ms number

time to sleep.

# inner StartupInfo()

print startup info with screen details.

# inner Stop()

DOjS will exit after the current call to Loop.

# 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.

Classes

StopWatch

Members

# inner ARGS

Properties:
Name Type Description
ARGS Array.<string>

the command line arguments including the script name.

# inner DEBUG

Properties:
Name Type Description
DEBUG boolean

enable/disable Debug() output.

# inner DOJS_VERSION

Properties:
Name Type Description
DOJS_VERSION number

the version

# 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 JSBOOT_DIR

Properties:
Name Type Description
JSBOOT_DIR string

path of the JSBOOT directory

# inner JSBOOT_ZIP

Properties:
Name Type Description
JSBOOT_ZIP string

path/name of the JSBOOT.ZIP

# inner KEY

keyboard input.

Properties:
Name Type Description
Code *

key definitions.

# 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 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 ZIP_DELIM

Properties:
Name Type Description
ZIP_DELIM string

delimiter between ZIP filename and entry name.

# inner console

provide console.log()

See:
  • NodeJS

# 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 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 Dump(obj)

print an object as JSON to logfile.

Parameters:
Name Type Description
obj *

the object to print

# inner DumpGlobals()

dump all known global functions and variables to logfile. DEBUG needs to be set to true.

# inner EnableRemoteDebug()

enable IPX remote debugging output.

# 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 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 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 GetRandomInt(max)

get a random integer between [0..max[

Parameters:
Name Type Description
max number

max value to return (eclusive).

# 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 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 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 LoadModule()

Alias for LoadLibrary().

See:
  • LoadLibrary()

# 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 MsecTime() → {number}

Get ms timestamp.

ms time.

number

# 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 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 Sleep(ms)

Sleep for the given number of ms.

Parameters:
Name Type Description
ms number

time to sleep.

# inner StartupInfo()

print startup info with screen details.

# inner Stop()

DOjS will exit after the current call to Loop.

# 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.