Abilitare JavaScript per vedere questo sito.

ATTENZIONE: le presenti informazioni fanno riferimento ad una precedente versione del formato delle modifiche live (versione 1.1).

La tabella comandi live (LIVECMDS) è composta da un numero di definizioni (LIVECMD) contigue, ognuna delle quali contiene tutte le informazioni su uno specifico comando live.

La posizione (relativa al file) e la dimensione della tabella sono specificate rispettivamente dai campi LIVEHEADER.ITEMSOFF e LIVEHEADER.ITEMSSIZE.

Definizione comando live

I comandi live (LIVECMD) hanno una parte iniziale comune, quindi un'area dati specifica per ogni tipo di elemento. La parte comune è la seguente:

Nome

Offset

Tipo

Descrizione

CODE

+0

U16

Codice del comando

SIZE

+2

U32

Dimensione completa del comando (tutti i campi).

DATA

+6

...

Dati specifici del comando (opzionali).

I comandi attualmente previsti sono:

Comando 0x0001 - Inserimento circuito

Comando 0x0002 - Modifica circuito

Comando 0x0003 - Rimozione circuito

Comando 0x0004 - Inserimento struttura

Comando 0x0005 - Inserimento variabile

Comando 0x0001 - Inserimento circuito

Questo comando permette di inserire un circuito in un dato blocco, in una certa posizione. I dati del comando, sono i seguenti:

Nome

Offset

Tipo

Descrizione

CODE

+0

U16

0x0001

SIZE

+2

U32

32 + ITEMSSIZE

BLOCKID

+6

U32

ID blocco contenitore

RUNGID

+10

U32

ID del circuito interessato (và in stato Inserting)

REFID

+14

U32

ID del circuito di riferimento  (solo per locazioni inserimento #1, altrimenti 0)

IFLAGS

+18

U16

Impostazioni di inserimento:

0x000F = Locazione di inserimento:

0x0 = Prima del circuito con  ID REFID (#1)

0x1 = Dopo il circuito con ID REFID (#1)

0x2 = Come primo circuito del blocco

0x3 = Come ultimo circuito del blocco

FLAGS

+20

U16

Impostazioni del circuito:

0x0001 (ignorato in modifiche live)

ITEMSOFF

+22

U32

Offset della tabella elementi circuito (relativo al file)

ITEMSSIZE

+26

U32

Dimensione della tabella elementi circuito

TEXT

+30

U32

Offset descrizione del circuito ((relativo a stringhe)

ATTENZIONE: la tabella elementi circuito deve comunque essere accodata al comando live stesso.

Comando 0x0002 - Modifica circuito

Questo comando permette di inserire un circuito modificato, rimuovendo quello vecchio, in un dato blocco. I dati del comando, sono i seguenti:

Nome

Offset

Tipo

Descrizione

CODE

+0

U16

0x0002

SIZE

+2

U32

32 + ITEMSSIZE

BLOCKID

+6

U32

ID blocco contenitore

RUNGID

+10

U32

ID del circuito interessato (va in stato Inserting)

REFID

+14

U32

ID del circuito precedente da rimuovere (va in stato Dropping)

 

+18

U16

(riservato)

FLAGS

+20

U16

Impostazioni del circuito:

0x0001 (ignorato in modifiche live)

ITEMSOFF

+22

U32

Offset della tabella elementi circuito (relativo al file)

ITEMSSIZE

+26

U32

Dimensione della tabella elementi circuito

TEXT

+30

U32

Offset descrizione del circuito (relativo a stringhe)

Comando 0x0003 - Rimozione circuito

Questo comando permette di rimuovere un circuito esistente. I dati del comando, sono i seguenti:

Nome

Offset

Tipo

Descrizione

CODE

+0

U16

0x0003

SIZE

+2

U32

14

BLOCKID

+6

U32

ID blocco contenitore

RUNGID

+10

U32

ID del circuito da rimuovere (va in stato Deleting)

Comando 0x0004 - Inserimento struttura

Questo comando permette di creare una nuova struttura. I dati del comando, sono i seguenti:

Nome

Offset

Tipo

Descrizione

CODE

+0

U16

0x0004

SIZE

+2

U32

32 + (VARSCNT * sizeof (VAR))

TYPEID

+6

U32

ID tipo struttura utente

Nota: solo valori 0x0001000-0xFFFFFFFE; i valori 0 e 0xFFFFFFFF sono ID a significato speciale.

FLAGS

+10

U16

Impostazioni struttura:

0x0001 (ignorato in modifiche live)

NAME

+12

U32

Offset nome della struttura (relativo a stringhe)

TEXT

+16

U32

Offset descrizione della struttura (relativo a stringhe)

VARSOFF

+20

U32

Offset della tabella variabili (relativa al file) (#1)

VARSCNT

+24

U32

Dimensione della tabella variabili

SIZE

+28

U32

Dimensione della struttura [byte]

(#1) La definizione di struttura usa una normale tabella di definizione variabili per definire i propri elementi. In questo caso gli ID delle variabili non hanno senso e dovrebbero essere sempre a 0.

Comando 0x0005 - Inserimento variabile

Questo comando permette di creare una nuova variabile. I dati del comando, sono i seguenti:

Nome

Offset

Tipo

Descrizione

CODE

+0

U16

0x0005

SIZE

+2

U32

48

VARID

 

U32

ID univoco della variabile utente

Nota: solo valori 0x0001000-0xFFFFFFFE; i valori 0 e 0xFFFFFFFF sono ID a significato speciale.

TYPEID

 

U32

ID tipo dato variabile

Nota: può essere un tipo predefinito oppure definito dall'utente.

FLAGS

 

U16

Impostazioni della variabile:

0x0001 (ignorato in modifiche live)

0x0002 (ignorato in modifiche live)

NAME

 

U32

Offset nome della variabile (relativo a stringhe)

TEXT

 

U32

Offset descrizione della variabile (relativo a stringhe)

BITTEXT

 

U32

Offset descrizioni dei bit variabili, ovvero sequenza di stringhe relative ad ogni singolo bit separate dal carattere ascii 0xFF (relativo a stringhe).

ARRAY0

 

U32

N. di indici 1o livello (0=Nessun array) (#1) o indice 0 per Alias.

ARRAY1

 

U32

N. di indici 2o livello (0=Nessun array) (#1) o indice 1 per Alias.

ARRAY2

 

U32

N. di indici 3o livello (0=Nessun array) (#1) o indice 2 per Alias.

ALIASID

 

U16

ID tipo alias

ALIASBIT

 

U16

N. di bit per alias (dipende dal tipo di ID alias)

SIZE

 

U32

Dimensione della variabile. Se Alias, la dimensione è 0.

(#1) Sebbene i campi ARRAYn siano a 32bit, nella versione attuale di SW l'indice massimo comunque va considerato solo a 16bit (ovvero massimo indice 0xFFFF).

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC