Identified Instructions

1

Valid until: Not set.
Takes no parameters.

A return instruction.


10

Valid until: Not set.
Takes no parameters.

A return instruction.


11

Valid until: Not set.
Type Description
LabelSubroutine
Argumentsarg1
More_Argumentsarg2

Calls a subroutine and passes it a number of parameters.

The parameters have a special representation in the data files:
a type indicator, and then the data value. The data value can be either an integer or a float.

In the current syntax this is represented by prefixing the data with either _SS or _ff


12

Valid until: Not set.
Type Description
UnknOffset
IntegerTime

Jumps to another instruction. The offset is calculated by subtracting the location of the current instruction from the location of the target instruction. Labels can be used to calculate this automatically.

The current time is also changed.

(Nutzer-note: I haven't figured out how this works yet. Labels don't work scince th14...)


13

Valid until: Not set.
Type Description
UnknOffset
IntegerTime

Jumps when the top of the arithmetic stack is equal to 0.

Refer to instruction 12.


14

Valid until: Not set.
Type Description
UnknOffset
IntegerTime

Jumps when the top of the arithmetic stack is not equal to 0.

Refer to instruction 12.


15

Valid until: Not set.
Type Description
LabelSubroutine
Argumentsarg1
More_Argumentsarg2

Refer to instruction 11,
but works in Background


16

Valid until: Not set.
Type Description
LabelSubroutine
IntegerSlot
Argumentsarg2
More_Argumentsarg3

Runs a subroutine in the background and assigns it the given slot.


17

Valid until: Not set.
Type Description
FloatSlot

Terminates a subroutine launched with instruction 16.


40

Valid until: Not set.
Type Description
IntegerSite

Sets up the stack which is used for local variables and passed parameters.
The stack size should be a multiple of four.


42

Valid until: Not set.
Type Description
IntegerValue

Pushes a value onto the arithmetic stack.


43

Valid until: Not set.
Type Description
IntegerOffset

Stores the value at the top of the arithmetic stack at the given stack offset.


44

Valid until: Not set.
Type Description
FloatValue

Pushes a float value onto the arithmetic stack.


45

Valid until: Not set.
Type Description
FloatOffset

Stores the float value at the top of the arithmetic stack at the given stack offset.


50

Valid until: Not set.
Takes no parameters.

Addition operator.


51

Valid until: Not set.
Takes no parameters.

Float Addition operator.


52

Valid until: Not set.
Takes no parameters.

Subtraction operator.


53

Valid until: Not set.
Takes no parameters.

Float Subtraction operator.


54

Valid until: Not set.
Takes no parameters.

Multiplication operator.


55

Valid until: Not set.
Takes no parameters.

Float Multiplication operator.


56

Valid until: Not set.
Takes no parameters.

Division operator.


57

Valid until: Not set.
Takes no parameters.

Float Division operator.


58

Valid until: Not set.
Takes no parameters.

Modulo operator.


59

Valid until: Not set.
Takes no parameters.

Equality operator.


61

Valid until: Not set.
Takes no parameters.

Inequality operator.


63

Valid until: Not set.
Takes no parameters.

Less-than operator.


64

Valid until: Not set.
Takes no parameters.

Float Less-than operator.


65

Valid until: Not set.
Takes no parameters.

Less-than-or-equal-to operator.


67

Valid until: Not set.
Takes no parameters.

Greater-than operator.


68

Valid until: Not set.
Takes no parameters.

Float Greater-than operator.


69

Valid until: Not set.
Takes no parameters.

Greater-than-or-equal-to operator.


70

Valid until: Not set.
Takes no parameters.

Float Greater-than-or-equal-to operator.


71

Valid until: Not set.
Takes no parameters.

Boolean not operator.


73

Valid until: Not set.
Takes no parameters.

Boolean or operator.


74

Valid until: Not set.
Takes no parameters.

Boolean and operator.


78

Valid until: Not set.
Type Description
IntegerOffset

Decrements the value passed and pushes its old value onto the arithmetic stack.


83

Valid until: th13
Type Description
IntegerTime

Wait the the specified time before continuing.


256

Valid until: th128
Type Description
LabelSubroutine
FloatX
FloatY
IntegerLife
IntegerScore
IntegerReward

Create an "object", i.e. an enemy or something that can move around. The subroutine is called to set up and control the object.

(Nutzer-note: Used for Effect scripts in original ecl files.)

Items dropped (0 for nothing):

Small powerup.
Point item.
Large green star.
Large powerup.
Full-score point item.
Full-power powerup.
1-up.
An autocollecting yellow orb.
Small green star.


257

Valid until: th128
Type Description
LabelSubroutine
FloatX
FloatY
IntegerLife
IntegerScore
IntegerReward

No differences from instruction 301 have been observed.


258

Valid until: th128
Type Description
IntegerIndex

Selects which ANM file to use for further animation operations. 1 refers to the first file listed, and 2 to the second. 0 appears to have some special meaning.

(Nutzer-note: Effects is always 1, so the anim includes start at index 2)


259

Valid until: th128
Type Description
IntegerSlot
IntegerScript

Selects an animation for an object.
The animation indices are listed in the ANM files, and contain their own animation script.

(Nutzer-note: The first parameter seems to be used as a slot for animations and canonly hold one anim script at the time. Setting it absourdly high sometimes lets the scripts behaving wrong)



Unidentified Instructions

0

Valid until: Not set.
Takes no parameters.


21

Valid until: Not set.
Takes no parameters.


30

Valid until: Not set.
Type Description
Labelarg0
Argumentsarg1
More_Argumentsarg2


60

Valid until: Not set.
Takes no parameters.


62

Valid until: Not set.
Takes no parameters.


66

Valid until: Not set.
Takes no parameters.


77

Valid until: Not set.
Takes no parameters.


79

Valid until: Not set.
Takes no parameters.


80

Valid until: Not set.
Takes no parameters.


81

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3


82

Valid until: Not set.
Type Description
Floatarg0


85

Valid until: Not set.
Takes no parameters.


86

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2


87

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4


88

Valid until: Not set.
Takes no parameters.


89

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2


90

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4


91

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Integerarg2
Integerarg3
Floatarg4
Floatarg5


260

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5


261

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5


262

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


263

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


264

Valid until: Not set.
Type Description
Floatarg0
Integerarg1


265

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5


266

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5


267

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5


268

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5


269

Valid until: Not set.
Type Description
Floatarg0


270

Valid until: Not set.
Type Description
Labelarg0
Floatarg1
Floatarg2
Integerarg3
Integerarg4
Integerarg5
Integerarg6


272

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


273

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2


274

Valid until: Not set.
Type Description
Floatarg0
Integerarg1


275

Valid until: Not set.
Type Description
Floatarg0
Integerarg1


276

Valid until: Not set.
Takes no parameters.


277

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


278

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


279

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


280

Valid until: Not set.
Type Description
Labelarg0
Integerarg1
Integerarg2
Integerarg3
Integerarg4
Integerarg5


281

Valid until: Not set.
Type Description
Integerarg0
Floatarg1


282

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


283

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Integerarg3


284

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


285

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3


286

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


287

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3


288

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3


289

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Floatarg4


290

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3


291

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Integerarg4


292

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2


294

Valid until: Not set.
Takes no parameters.


296

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2


298

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


299

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


300

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


301

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3


303

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Integerarg3


304

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


305

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3


306

Valid until: Not set.
Type Description
Floatarg0
Integerarg1


307

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3


308

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3


309

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Floatarg4


310

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3


311

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Floatarg4


312

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2


318

Valid until: Not set.
Type Description
Integerarg0
Floatarg1


320

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4
Floatarg5


321

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Floatarg4
Floatarg5
Floatarg6


322

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Integerarg3
Floatarg4
Integerarg5


323

Valid until: Not set.
Type Description
Integerarg0


324

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2
Floatarg3


325

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4
Floatarg5
Floatarg6


326

Valid until: Not set.
Takes no parameters.


327

Valid until: Not set.
Takes no parameters.


328

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


329

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2
Floatarg3


330

Valid until: Not set.
Type Description
Integerarg0


331

Valid until: Not set.
Type Description
Integerarg0


332

Valid until: Not set.
Type Description
Integerarg0


333

Valid until: Not set.
Type Description
Integerarg0


334

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Labelarg3


335

Valid until: Not set.
Type Description
Integerarg0


336

Valid until: Not set.
Type Description
Integerarg0


337

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2


338

Valid until: Not set.
Type Description
Integerarg0


339

Valid until: Not set.
Takes no parameters.


340

Valid until: Not set.
Takes no parameters.


341

Valid until: Not set.
Type Description
Integerarg0
Labelarg1


342

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


343

Valid until: Not set.
Takes no parameters.


344

Valid until: Not set.
Type Description
Integerarg0


345

Valid until: Not set.
Takes no parameters.


346

Valid until: Not set.
Type Description
Floatarg0


347

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Integerarg2


355

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3
Integerarg4


356

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4


357

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


359

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


360

Valid until: Not set.
Type Description
Integerarg0


361

Valid until: Not set.
Type Description
Integerarg0


362

Valid until: Not set.
Takes no parameters.


363

Valid until: Not set.
Takes no parameters.


364

Valid until: Not set.
Type Description
Integerarg0


365

Valid until: Not set.
Takes no parameters.


366

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


367

Valid until: Not set.
Type Description
Floatarg0


368

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3


369

Valid until: Not set.
Type Description
Integerarg0


370

Valid until: Not set.
Type Description
Integerarg0


371

Valid until: Not set.
Type Description
Integerarg0


400

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


401

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


402

Valid until: Not set.
Type Description
Integerarg0


403

Valid until: Not set.
Type Description
Integerarg0


404

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3


405

Valid until: Not set.
Takes no parameters.


406

Valid until: Not set.
Takes no parameters.


407

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


408

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


409

Valid until: Not set.
Takes no parameters.


410

Valid until: Not set.
Type Description
Integerarg0


411

Valid until: Not set.
Type Description
Integerarg0


412

Valid until: Not set.
Type Description
Integerarg0


413

Valid until: Not set.
Takes no parameters.


414

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Labelarg3


415

Valid until: Not set.
Type Description
Integerarg0


416

Valid until: Not set.
Type Description
Integerarg0


417

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2


418

Valid until: Not set.
Type Description
Integerarg0


419

Valid until: Not set.
Takes no parameters.


420

Valid until: Not set.
Takes no parameters.


421

Valid until: Not set.
Type Description
Integerarg0
Labelarg1


422

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


423

Valid until: Not set.
Takes no parameters.


424

Valid until: Not set.
Type Description
Integerarg0


425

Valid until: Not set.
Takes no parameters.


426

Valid until: Not set.
Type Description
Floatarg0


427

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Integerarg2


428

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Integerarg4
Floatarg5
Integerarg6
Floatarg7


431

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Integerarg4
Floatarg5
Floatarg6
Floatarg7


433

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2
Floatarg3
Integerarg4
Floatarg5
Floatarg6
Floatarg7


435

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3
Integerarg4


436

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4


437

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


438

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


439

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Stringarg3


440

Valid until: Not set.
Type Description
Integerarg0


442

Valid until: Not set.
Takes no parameters.


443

Valid until: Not set.
Takes no parameters.


444

Valid until: Not set.
Type Description
Integerarg0


445

Valid until: Not set.
Takes no parameters.


446

Valid until: Not set.
Type Description
Integerarg0
Floatarg1


447

Valid until: Not set.
Type Description
Floatarg0


448

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3


449

Valid until: Not set.
Type Description
Integerarg0


450

Valid until: Not set.
Type Description
Integerarg0


452

Valid until: Not set.
Type Description
Floatarg0


453

Valid until: Not set.
Type Description
Integerarg0


454

Valid until: Not set.
Takes no parameters.


455

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


457

Valid until: Not set.
Takes no parameters.


458

Valid until: Not set.
Type Description
Integerarg0


459

Valid until: Not set.
Type Description
Integerarg0


460

Valid until: Not set.
Type Description
Floatarg0


461

Valid until: Not set.
Type Description
Floatarg0


462

Valid until: Not set.
Type Description
Integerarg0


463

Valid until: Not set.
Type Description
Labelarg0


500

Valid until: Not set.
Type Description
Integerarg0


501

Valid until: Not set.
Type Description
Integerarg0


502

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2


503

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


504

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


505

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


506

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2


507

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


508

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2


509

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3
Integerarg4
Integerarg5
Floatarg6
Floatarg7


510

Valid until: Not set.
Takes no parameters.


511

Valid until: Not set.
Type Description
Integerarg0
Integerarg1


512

Valid until: Not set.
Type Description
Floatarg0


513

Valid until: Not set.
Type Description
Floatarg0


520

Valid until: Not set.
Type Description
Floatarg0
Floatarg1
Floatarg2


521

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4
Floatarg5
Floatarg6
Floatarg7
Floatarg8


522

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3
Integerarg4
Integerarg5
Integerarg6
Integerarg7
Integerarg8


523

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


524

Valid until: Not set.
Type Description
Integerarg0
Floatarg1


525

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2


526

Valid until: Not set.
Type Description
Floatarg0
Integerarg1


529

Valid until: Not set.
Type Description
Integerarg0


531

Valid until: Not set.
Type Description
Integerarg0


532

Valid until: Not set.
Type Description
Floatarg0


534

Valid until: Not set.
Type Description
Integerarg0


536

Valid until: Not set.
Type Description
Integerarg0


600

Valid until: Not set.
Type Description
Integerarg0
Floatarg1
Floatarg2
Floatarg3
Floatarg4


601

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Integerarg2
Integerarg3
Integerarg4
Integerarg5


602

Valid until: Not set.
Type Description
Integerarg0


603

Valid until: Not set.
Type Description
Floatarg0
Integerarg1


604

Valid until: Not set.
Type Description
Integerarg0
Integerarg1
Floatarg2


608

Valid until: Not set.
Type Description
Integerarg0
Floatarg1


609

Valid until: Not set.
Type Description
Integerarg0
Floatarg1


610

Valid until: Not set.
Type Description
Integerarg0


611

Valid until: Not set.
Type Description
Integerarg0


612

Valid until: Not set.
Type Description
Floatarg0
Floatarg1


700

Valid until: Not set.
Type Description
Integerarg0