OpenLLM-France/wikimedia huggingface dataset:
# LMIs in Control/pages/H2 Disk Region

Insensitive Disk Region Design with Minimum $H_{2}$ Gain
Apart from the design for the insensitive strip region with minimum $H_{2}$ gain, another type of such design is the Insensitive Disk Region Design. In this section, optimization problems will be provided that ensure that the conditions for insensitive disk region design are satisfied with some bounds on the $H_{2}$ gain of the closed-loop system.

## The System

A state-space representation of a linear system as given below:
    ${\begin{aligned}\rho x&=Ax+Bu\\y&=Cx\end{aligned}}$
where $x\in \mathbb {R} ^{n}$, $y\in \mathbb {R} ^{m}$ and $u\in \mathbb {R} ^{r}$ are the system state, output, and the input vector respectively. $\rho$ represents the differential operation for continuous time systems, or the one-step shift forward operator for discrete time case.

## The Data

To solve the design optimization problem, the linear system matrices A,B,C are required. Furthermore, to define the disk region on the eigenvalue-space, its radius $\gamma _{0}$ is required.

## The Optimization Problem

The problem of designing an $H_{2}$ optimal controller that results in the closed loop system insensitive to a certain disk region involves two sub-problems:
* Finding a control gain $K$ such that: $\left\|K\right\|_{2}<\gamma$.
* The conditions for insensitive disk region design for the closed-loop system, as provided in the section Insensitive Disk Region Design are fulfilled.
* The optimization goal is to minimize $\gamma$ such that above two hold.

## The LMI: $H_{2}$ Optimal Control Design for Insensitive Disk Region

The problem above has a solution if and only if the following optimization problem has a solution $(K,\gamma )$:
${\begin{aligned}{\text{min }}&\gamma \\{\text{s.t. }}&{\begin{bmatrix}-\gamma I&K\\K^{\top }&-\gamma I\end{bmatrix}}<0\\&{\begin{bmatrix}-\gamma _{0}I&A+BKC+qI\\(A+BKC+qI)^{\top }&-\gamma _{0}I\end{bmatrix}}<0\end{aligned}}$

## Conclusion:

By using the design problem provided here, an optimal $H_{2}$ controller is designed to make the closed-loop system robust to perturbations in the system matrices.

## Implementation

To solve the optimization problem with LMI presented here, YALMIP toolbox is required for setting up the feasibility problem, and SeDuMi is required to solve the problem. The following link showcases an example of the feasibility problem:
https://github.com/smhassaan/LMI-Examples/blob/master/H2_Disk_example.m

## Related LMIs

Insensitive Disk Region Design

## External Links

A list of references documenting and validating the LMI.
* LMIs in Control Systems: Analysis, Design and Applications - by Guang-Ren Duan and Hai-Hua Yu, CRC Press, Taylor & amp; Francis Group, 2013, Section 10.1.2 pp. 323–325.
# LMIs in Control/pages/H2 Optimal Observer

State observer is a system that provides estimates of internal states of a given real system, from measurements of the inputs and outputs of the real system.The goal of $H_{2}$ -optimal state estimation is to design an observer that minimizes the $H_{2}$ norm of the closed-loop transfer matrix from w to z. Kalman filter is a form of Optimal Observer.

## The System

Consider the continuous-time generalized plant $P$ with state-space realization
    ${\begin{aligned}{\dot {x}}&=Ax+B_{1}w(t),\\y&=C_{2}x+D_{21}w\\\end{aligned}}$

## The Data

The matrices needed as input are $A,B,C,D$.

## The Optimization Problem

The task is to design an observer of the following form:
    ${\begin{aligned}{\dot {\hat {x}}}=A{\hat {x}}+L(y-{\hat {y}}),\\{\hat {y}}=C_{2}{\hat {x}}\\\end{aligned}}$

## The LMI: $H_{2}$ Optimal Observer

LMIs in the variables $P,G,Z,\nu$ are given by:
       ${\begin{aligned}{\begin{bmatrix}PA+A^{T}P-GC_{2}-{C_{2}}^{T}G^{T}&&PB_{1}-GD_{21}\\\star &&-1\end{bmatrix}}<0\\trZ<\nu \end{aligned}}$

## Conclusion:

The $H_{2}$ -optimal observer gain is recovered by $L=P^{-1}G$ and the $H_{2}$ norm of T(s) is $\mu ={\sqrt {\nu }}$

## Implementation

https://github.com/Ricky-10/coding107/blob/master/H2%20Optimal%20Observer

# External Links

A list of references documenting and validating the LMI.
* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
* https://onlinelibrary.wiley.com/doi/abs/10.1002/rnc.1310
# LMIs in Control/pages/H2 Strip Region

Insensitive Strip Region Design with Minimum $H_{2}$ Gain
When designing controllers with insensitive region conditions, the aim is to place the closed-loop poles of the system in a particular region defined by its inner boundary. These regions are specified based on their insensitivity to perturbations to the system parameter matrices.
One type of such design is the Insensitive Strip Region Design. In this section, building upon that, optimization problems will be provided that ensure that the conditions for insensitive strip region design are satisfied with some bounds on the $H_{2}$ gain of the closed-loop system.

## The System

A state-space representation of a linear system as given below:
    ${\begin{aligned}{\dot {x}}(t)&=Ax(t)+Bu(t)\\y(t)&=Cx(t)\end{aligned}}$
where $x(t)\in \mathbb {R} ^{n}$, $y(t)\in \mathbb {R} ^{m}$ and $u(t)\in \mathbb {R} ^{r}$ are the system state, output, and the input vector respectively.

## The Data

To solve the design optimization problem, the linear system matrices A,B,C are required. Furthermore, to define the strip region on the eigenvalue-space, two parameters $\gamma _{1}$ and $\gamma _{2}$ are required.

## The Optimization Problem

The problem of designing an $H_{2}$ optimal controller that results in the closed loop system insensitive to a certain strip region involves two sub-problems:
* Finding a control gain $K$ such that: $\left\|K\right\|_{2}<\gamma$.
* The conditions for insensitive strip region design for the closed-loop system, as provided in the section Insensitive Strip Region Design are fulfilled.
* The optimization goal is to minimize $\gamma$ such that above two hold.

## The LMI: $H_{2}$ Optimal Control Design for Insensitive Strip Region

The problem above has a solution if and only if the following optimization problem has a solution $(K,\gamma )$:
${\begin{aligned}{\text{min }}&\gamma \\{\text{s.t. }}&{\begin{bmatrix}-\gamma I&K\\K^{\top }&-\gamma I\end{bmatrix}}<0\\&2\gamma _{1}I<(A+BKC)^{\top }+(A+BKC)<2\gamma _{2}I\end{aligned}}$

## Conclusion:

By using the design problem provided here, an optimal $H_{2}$ controller is designed to make the closed-loop system robust to perturbations in the system matrices.

## Implementation

To solve the optimization problem with LMI presented here, YALMIP toolbox is required for setting up the feasibility problem, and SeDuMi is required to solve the problem. The following link showcases an example of the feasibility problem:
https://github.com/smhassaan/LMI-Examples/blob/master/H2_Strip_example.m

## Related LMIs

Insensitive Strip Region Design

## External Links

A list of references documenting and validating the LMI.
* LMIs in Control Systems: Analysis, Design and Applications - by Guang-Ren Duan and Hai-Hua Yu, CRC Press, Taylor & amp; Francis Group, 2013, Section 10.1.1 pp. 322–323.
# LMIs in Control/pages/HInf Optimal Filter

Optimal filtering is a means of adaptive extraction of a weak desired signal in the presence of noise and interfering signals. The goal of optimal filtering is to design a filter that acts on the output $z$ of the generalized plant and optimizes the transfer matrix from w to the filtered output.

## The System:

Consider the continuous-time generalized LTI plant with minimal states-space realization
    ${\begin{aligned}{\dot {x}}&=Ax+B_{1}w\\z&=C_{1}x+D_{11}w,\\y&=C_{2}x+D_{21}w,\end{aligned}}$
where it is assumed that $A$ is Hurwitz.

## The Data

The matrices needed as inputs are $A,B_{1},C_{2},C_{1},,D_{11},D_{21}$.

## The Optimization Problem:

An $H\infty$-optimal filter is designed to minimize the $H_{\infty }$ norm of ${\tilde {P}}(s)$ in following equation.
    ${\begin{aligned}{\tilde {P}}(s)={\tilde {C}}_{1}(sI-{\tilde {A}})^{-}1{\tilde {B}}_{1}+{\tilde {D}}_{11},\\{\text{where}}\\{\tilde {A}}={\begin{bmatrix}A&&0\\B_{f}C_{2}&&A_{f}\end{bmatrix}}&<0\\{\tilde {B}}_{1}={\begin{bmatrix}B_{1}\\B_{f}D_{21}\end{bmatrix}}&<0\\{\tilde {C}}_{1}={\begin{bmatrix}C_{1}-D_{f}C_{2}-C_{f}\end{bmatrix}}&<0\\{\tilde {D}}_{11}=D_{11}-D_{f}D_{21}\\\end{aligned}}$

## The LMI: $H_{\infty }$- Optimal filter

Solve for $A_{n}\in \mathbb {R} ^{n_{x}\times n_{x}},B_{n}\in \mathbb {R} ^{n_{x}\times n_{y}},C_{f}\in \mathbb {R} ^{n_{x}\times n_{x}}$, $X,Y\in \mathbb {S} ^{n_{x}}$ and $\nu \in \mathbb {R} _{>0}$ that minimize $\zeta (\nu )=\nu$ subject to $X>0,Y>0$.
       ${\begin{aligned}{\begin{bmatrix}YA+A^{T}Y+B_{n}C_{2}&&A_{n}+C_{2}^{T}B_{n}^{T}+A^{T}X&&YB_{1}+B_{n}D_{21}&&{C_{1}}^{T}-{C_{2}}^{T}{D_{f}}^{T}\\\star &&A_{n}+A_{n}^{T}&&XB_{1}+B_{n}D_{21}&&-{C_{f}}^{T}\\\star &&\star &&-\gamma I&&{D_{1}1}^{T}-{D_{2}1}^{T}{D_{f}}^{T}\\\star &&\star &&\star &&-\gamma I\end{bmatrix}}&<0\\\\Y-X>0\\\end{aligned}}$

## Conclusion:

The filter is recovered by $A_{f}=X^{-1}A_{n}$ and $B_{f}=X^{-1}B_{n}$.

## Implementation

* https://github.com/Ricky-10/coding107/blob/master/Hinfinity%20Optimal%20filter- $H\infty$- Optimal Filter

## External links

* - Optimal Filtering
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
# LMIs in Control/pages/H2Optimalobserver

State observer is a system that provides estimates of internal states of a given real system, from measurements of the inputs and outputs of the real system.The goal of $H_{2}$ -optimal state estimation is to design an observer that minimizes the $H_{2}$ norm of the closed-loop transfer matrix from w to z. Kalman filter is a form of Optimal Observer.

## The System

Consider the continuous-time generalized plant $P$ with state-space realization
    ${\begin{aligned}{\dot {x}}&=Ax+B_{1}w(t),\\y&=C_{2}x+D_{21}w\\\end{aligned}}$

## The Data

The matrices needed as input are $A,B,C,D$.

## The Optimization Problem

The task is to design an observer of the following form:
    ${\begin{aligned}{\dot {\hat {x}}}=A{\hat {x}}+L(y-{\hat {y}}),\\{\hat {y}}=C_{2}{\hat {x}}\\\end{aligned}}$

## The LMI: $H_{2}$ Optimal Observer

LMIs in the variables $P,G,Z,\nu$ are given by:
       ${\begin{aligned}{\begin{bmatrix}PA+A^{T}P-GC_{2}-{C_{2}}^{T}G^{T}&&PB_{1}-GD_{21}\\\star &&-1\end{bmatrix}}<0\\trZ<\nu \end{aligned}}$

## Conclusion:

The $H_{2}$ -optimal observer gain is recovered by $L=P^{-1}G$ and the $H_{2}$ norm of T(s) is $\mu ={\sqrt {\nu }}$

## Implementation

https://github.com/Ricky-10/coding107/blob/master/H2%20Optimal%20Observer

# External Links

A list of references documenting and validating the LMI.
* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
* https://onlinelibrary.wiley.com/doi/abs/10.1002/rnc.1310
# LMIs in Control/pages/H2 Optimal Filter

Optimal filtering is a means of adaptive extraction of a weak desired signal in the presence of noise and interfering signals. Optimal filters normally are free from stability problems. There are simple operational checks on an optimal filter when it is being used that indicate whether it is operating correctly. Optimal filters are probably easier to make adaptive to parameter changes than suboptimal filters.The goal of optimal filtering is to design a filter that acts on the output $z$ of the generalized plant and optimizes the transfer matrix from w to the filtered output.

## The System:

Consider the continuous-time generalized LTI plant with minimal states-space realization
    ${\begin{aligned}{\dot {x}}&=Ax+B_{1}w\\z&=C_{1}x+D_{11}w,\\y&=C_{2}x+D_{21}w,\end{aligned}}$
where it is assumed that $A$ is Hurwitz.

## The Data

The matrices needed as inputs are $A,B_{1},C_{2},D_{21}$.

## The Optimization Problem:

An $H_{2}$-optimal filter is designed to minimize the $H_{2}$ norm of ${\tilde {P}}(s)$ in following equation.
    ${\begin{aligned}{\tilde {P}}(s)={\tilde {C}}_{1}(sI-{\tilde {A}})^{-}1{\tilde {B}}_{1}+{\tilde {D}}_{11},\\{\text{where}}\\{\tilde {A}}={\begin{bmatrix}A&&0\\B_{f}C_{2}&&A_{f}\end{bmatrix}}&<0\\{\tilde {B}}_{1}={\begin{bmatrix}B_{1}\\B_{f}D_{21}\end{bmatrix}}&<0\\{\tilde {C}}_{1}={\begin{bmatrix}C_{1}-D_{f}C_{2}-C_{f}\end{bmatrix}}&<0\\{\tilde {D}}_{11}=D_{11}-D_{f}D_{21}\\\end{aligned}}$
To ensure that ${\tilde {P}}(s)$ has a finite $H_{2}$ norm, it is required that $D_{f}=D_{11}$, which results in ${\tilde {D}}_{11}=D_{11}-D_{f}=0$

## The LMI: $H_{2}$- Optimal filter

Solve for $A_{n}\in \mathbb {R} ^{n_{x}\times n_{x}},B_{n}\in \mathbb {R} ^{n_{x}\times n_{y}},C_{f}\in \mathbb {R} ^{n_{x}\times n_{x}}$, $X,Y\in \mathbb {S} ^{n_{x}},Z\in \mathbb {S} ^{n_{z}}$ and $\nu \in \mathbb {R} _{>0}$ that minimize $\zeta (\nu )=\nu$ subject to $X>0,Y>0,Z>0$.
       ${\begin{aligned}{\begin{bmatrix}YA+A^{T}Y+B_{n}C_{2}&&A_{n}+C_{2}^{T}B_{n}^{T}+A^{T}X&&YB_{1}+B_{n}D_{21}\\\star &&A_{n}+A_{n}^{T}&&XB_{1}+B_{n}D_{21}\\\star &&\star &&-1\end{bmatrix}}&<0\\{\begin{bmatrix}-Z&&C_{1}-D_{f}C_{2}&&-C_{f}\\\star &&-Y&&-X\\\star &&\star &&-X\end{bmatrix}}&<0\\Y-X>0\\trZ</nu\end{aligned}}$

## Conclusion:

The filter is recovered by $A_{f}=X^{-1}A_{n}$ and $B_{f}=X^{-1}B_{n}$.

## Implementation

MATLAB code of $H_{2}$ Optimal filter

## External links

* - Optimal Filtering
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
* [http://users.cecs.anu.edu.au/~john/papers/BOOK/B02.PDF}- Optimal Filtering by Brian D.O. Anderson
# LMIs in Control/pages/H2 Deduced Condition

WIP, Description in progress
This gives LMI of the deduced condition for $H_{2}$-norm of a system.

## Deduced Condition

Given a positive $\gamma$, the transfer function matrix
$G(s)=C(sI-A)^{-1}B$
satisfies
$||G(s)||_{2}<\gamma$
if and only if there exists symmetric matrices $Z,P$ and a matrix $V$ such that,
${\begin{cases}{\text{trace}}(Z)\leq \gamma ^{2}\\{\begin{bmatrix}-Z&C\\C^{T}&P\end{bmatrix}}<0\\{\begin{bmatrix}-(V+V^{T})&V^{T}A+P&V^{T}B&V^{T}\\A^{T}V+P&-P&0&0\\B^{T}V&0&-I&0\\V&0&0&-P\end{bmatrix}}<0\end{cases}}$
${\begin{cases}{\text{trace}}(Z)\leq \gamma ^{2}\\{\begin{bmatrix}-Z&B^{T}\\B&P\end{bmatrix}}<0\\{\begin{bmatrix}-(V+V^{T})&V^{T}A^{T}+P&V^{T}C^{T}&V^{T}\\AV+P&-P&0&0\\CV&0&-I&0\\V&0&0&-P\end{bmatrix}}<0\end{cases}}$
WIP, additional references to be added

## External Links

A list of references documenting and validating the LMI.
* - LMI in Control Systems Analysis, Design and Applications
# LMIs in Control/pages/H2 index

H$_2$ Index Deduced LMI
Although there are ways to evaluate an upper bound on the H$_2$, the verification of the bound on the H$_2$-gain of the system can be done via the deduced condition.

## The System

We consider the generalized Continuous-Time LTI system with the state space realization of $(A,B,C,D)$
    ${\begin{aligned}{\dot {x}}(t)&=Ax(t)+Bu(t)\\y(t)&=Cx(t)\end{aligned}}$
where $x(t)\in \mathbb {R} ^{n}$, $y(t)\in \mathbb {R} ^{m}$ and $u(t)\in \mathbb {R} ^{r}$ are the system state, output, and the input vectors respectively.
The transfer function of such a system can be evaluated as:
    ${\begin{aligned}G(s)=C(sI-A)^{-1}B+D\end{aligned}}$

## The Data

The system matrices $A,B,C$ are known.

## The Optimization Problem

For an arbitrary $\gamma >0$(a given scalar), the transfer function satisfies
    $\left\|C(sI-A)^{-1}B+D\right\|_{2}<\gamma$
The H$_2$-norm condition on Transfer function holds only when the matrix A is stable. And this can be conveniently converted to an LMI problem
if and only if 1. There exists a symmetric matrix $X>0$ such that:
$AX+XA^{T}+BB^{T}<0$, $trace(CXC^{T})<\gamma ^{2}$
2. There exists a symmetric matrix $Y>0$ such that:
$AY+YA^{T}+C^{T}C<0$, $trace(B^{T}YB)<\gamma ^{2}$

## The LMI - Deduced Conditions for H2-norm

These deduced condition can be derived from the above equations. According to this
For an arbitrary $\gamma >0$(a given scalar), the transfer function satisfies
    $\left\|G(s)\right\|_{2}<\gamma$
if and only if there exists symmetric matrices $Z$ and $P$; and a matrix $V$ such that
$trace(Z)<\gamma ^{2}$
${\begin{bmatrix}-Z&B^{T}\\B&-P\end{bmatrix}}$${\begin{aligned}<0\end{aligned}}$
${\begin{bmatrix}-(V+V^{T})&V^{T}A^{T}+P&V^{T}C^{T}&V^{T}\\AV+P&-P&0&0\\CV&0&-I&0\\V&0&0&-P\end{bmatrix}}$${\begin{aligned}<0\end{aligned}}$
The above LMI can be combined with the bisection method to find minimum $\gamma$ to find the minimum upper bound on the H$_2$ gain of $G(s)$.

## Conclusion:

If there is a feasible solution to the aforementioned LMI, then the $\gamma$ upper bounds the norm of the system G(s).

## Implementation

To solve the feasibility LMI, YALMIP toolbox is required for setting up the problem, and SeDuMi or MOSEK is required to solve the problem. The following link showcases an example of the problem:
https://github.com/yashgvd/ygovada

## Related LMIs

Bounded Real Lemma
Deduced LMIs for H-infinity index

## External Links

A list of references documenting and validating the LMI.
* - LMI in Control Systems Analysis, Design and Applications
* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
# Oberon/ETH Oberon/sound

This document was originally hosted at the ETHZ. It remains in the WayBack archive under the ETH license.
Back to: Native Oberon Hardware Compatibility List
Native Oberon supports SoundBlaster and compatible cards and equivalent on-board sound controllers. A true SB card can be detected automatically.
You have to edit the Sound.Audio group in Oberon.Text. To determine the correct settings required:
   * for an ISA card, consult the documentation which came with the card
   * for a PCI card, execute PCITools.Scan
The preset values are:
   * Wave.Panel GUI for playing / recording Wav files.
   * Au.Panel GUI for playing / recording Au files.
   * CDAudio.Panel GUI for playing audio CD-ROMs - currently not supported.
Modern sound cards include a mixer. Depending on the ancienty of the sound card, a different mixer type (DSP) or none is available for which Oberon offers a corresponding custom GUI:
The 2.3.6 release had separate IDE driver modules for hard disk and audio CD (a bad design for historical reasons). For the beta and alpha releases, the IDE driver was rewritten to support more modern IDE (ATA) drives, but the audio part of the CD driver has not been done yet. So the beta and alpha releases do not support the CDAudio panel.
21 Jul 2002 - Copyright © 2002 ETH Zürich. All rights reserved. E-Mail: oberon at lists.inf.ethz.ch Homepage: http://www.ethoberon.ethz.ch/
# Oberon/ETH Oberon/speaker

This document was originally hosted at the ETHZ. It remains under the ETH license and is in the WayBack archive.
Back to: Native Oberon Hardware Compatiblity List
The PC speaker is a poor man's sound generator capable of no more than producing pitiful beeps and squawks, but it is simple to program in Oberon. However, since the SYSTEM module is used, code is not portable.
Assume that a sound of a frequency f should be emitted during a time t. The system Timer 2, one of three timers in the Programmable Interval Timer (PIT), is used to control sound generation, in five sucessive steps. The PIT operates at 1.19318 MHz.
   * compute a 2-byte counter value (1 <= count <= 65'535) corresponding to the specified frequency f - IntFreq. 1'193'180 >= f >= 18.2
   * send a PIT control word to port address 43H - InitTimer
   * send the counter value to port address 42H - SetFreq
   * set "on" the bits 0 and 1 of the control register at port address 61H to switch on the speaker and the amplifier - Tone
   * after a time delay t, set "off" the same bits at port address 61H - Tone
The time delay must be controlled by a background task. Note that once the speaker is "on", the frequency may be changed at will, even set to something inaudible to simulate a silence.
13 Jul 2002 - Copyright © 2002 ETH Zürich. All rights reserved. E-Mail: oberon at lists.inf.ethz.ch Homepage: http://www.ethoberon.ethz.ch/
# Oberon/ETH Oberon/sitemap

This document was originally hosted at the ETHZ. It remains under the ETH license and is in the WayBack archive.
ETH Oberon Site Map
ETH Oberon
    ETH Oberon White Paper
    Download - all ports
    Frequently Asked Questions
       Native Oberon OS beta/alpha
       ETH Oberon old release
       Oberon Language
       Bluebottle
       Active Oberon for .net
    Support
       Oberon discussion list
       news:comp.lang.oberon
Language
    Documentation
    Compilers
    Genealogy. Also Historical Perspective.
System
    ETH Native Oberon
       Release 2.3.6 download
       Release 2.3.6 notes
       Beta download
       Beta change log
       Beta / Alpha documentation
       Oberon.Text guide
       Alpha download
       Alpha change log
       Bootstrapping an OS on an x86-based PC, with application to ETH Oberon
       Master Boot Record, with application to ETH Oberon
       Using a boot manager, with application to ETH Oberon
       Booting an OS using another OS, with application to ETH Oberon
       Booting an OS in a file, with application to ETH Oberon
    HW Compatibility
       BIOS support
       Disk support
       Diskette support
       Display support
       Font support
       IRQs support
       Keyboard support
       Mouse support
       NIC support
       Partitioning considerations
       Ports support
       Printer support
       Sound support
       Speaker support
       USB support
    System stability
    Oberon for Win
    Oberon for .net
    Bluebottle
    Genealogy
Developers
    Module Library
    Module Registry
    Contributions
    Projects
Bibliography
    Publications
    Authors
Miscellaneous
    Links
    Oberon tutorial (old)
    JMLC'2000
    ETH internal
    Hall of Fame
    Site statistics
9 Dec 2002 - Copyright © 2002 ETH Zürich. All rights reserved. E-Mail: oberon at lists.inf.ethz.ch Homepage: http://www.ethoberon.ethz.ch/
# Lua in SpringRTS/Callins/CommandNotify
## CommandNotify
### Return values

commandID, params, options
# Lua in SpringRTS/Callins/CommandsChanged
## CommandsChanged
### Return values

unknown (none?)
# Lua in SpringRTS/Callins/AllowUnitBuildStep
## AllowUnitBuildStep
### Return values

builderID, builderTeam, unitID, unitDefID, part
# Lua in SpringRTS/Callins/CommandFallback
## CommandFallback
### Return values

unitID, unitDefID, unitTeam, cmdID, cmdParams, cmdOptions, cmdTag
# Lua in SpringRTS/Callins/AllowUnitCreation
## AllowUnitCreation
### Return values

unitDefID, builderID, builderTeam, x, y, z
# Lua in SpringRTS/Callins/AllowFeatureCreation
## AllowFeatureCreation
### Return values

featureDefID, teamID, x, y, z
# Lua in SpringRTS/Callins/AllowResourceLevel
## AllowResourceLevel
### Return values

teamID, res, level
# Lua in SpringRTS/Callins/AllowUnitTransfer
## AllowUnitTransfer
### Return values

unitID, unitDefID, oldTeam, newTeam, capture
# Lua in SpringRTS/Callins/AllowResourceTransfer
## AllowResourceTransfer
### Return values

teamID, res, level
# Lua in SpringRTS/Callins/CobCallback
## CobCallback
### Return values

unknown, marked FIXME
# More C++ Idioms/Praise
## Praise of the Book

* "Great and valuable work!" -- Bjarne Stroustrup (February, 2009)