Specifica ROTN - Rot Notation per Scacchi Accessibili
ROTN v1.6 - Rot Notation Specification
AUTHOR: Rosario Turco
DATE: 2026-07-09
[IT] Specifica Italiana
ROTN = Rot Notation Formato testuale ASCII per descrivere posizioni scacchistiche accessibili per screen reader.
Regole Generali:
- Estensione:
.txt - Codifica: UTF-8
- Ordine Fisso:
T;V;B;N;M;P; - 1 riga = 1 Descrittore
- Separatore:
;tra i pezzi e non obbligatorio alla fine di ogni riga - Grammatica: conforme a EBNF ISO/IEC 14977
- rotazione posizione con V, sintesi vocale per T, M, P, Ue Z.
- con ordine fisso se dopo V incontro B è versione italiana, se incontro W è versione inglese
Descrittori Obbligatori - Ordine fisso:
T;V;B;N;M;P;**Descrittore opzionale U alla fine - elenco case senza separatore ‘;’, dei pedoni che possono eseguire la cattura enpassant e per ultima la casa del pedone che può essere catturato (es. U:d4f4e4;). U diventa utile negli automatismi di sospensione e ripresa partita, oltre a descrizione di posizioni** Descrittore opzionale Z alla fine - numero di semimosse (campo 5 fen) **Descrittore riservato F -perripresa scrittura log della partita **Descrittore riservato E - per startare un engine alla ripresa della partita **Descrittore riservato K - livello di skill dell'engine alla ripresa **Descrittore riservato L - livello di profondità analisi dell'engine alla ripresa **Descrittore riservato C - per salvataggio mossa se utile per la ripresa | **Descrittore** | **Significato** | **Valori / Esempio** | | ------- | ---------------------------------------------------------------- | --------------------------------------------- | | **T** | Testo della posizione |T:Matto in 2 mosse| | **V** | Punto di vista / Lato |V:B;= Guardi dal Bianco,V:N;= dal Nero | | **B** | Posizione Pezzi Bianchi | ListaPezzoxxseparati da;| | **N** | Posizione Pezzi Neri | ListaPezzoxxseparati da;| | **M** | Chi muove |M:B;oppureM:N;| | **P\*\* | Numero di mossa n di partita, scrivere n-1 per bianco n per nero |P:0;` |
Notazione Pezzi IT: R=Re, D=Donna, T=Torre, A=Alfiere, C=Cavallo, P=Pedone.
Notazione Pezzi EN: K=King, Q=Queen, R=Rook, B=Bishop, N=Knight, P=Pawn.
Coordinate: notazione algebrica a1..h8
Regola di sintesi Vocale
- Lettura di T
- lettura numero mossa P aumentato di 1 se bianco,
- dichiarazione di chi ha la mossa in base a M
- dichiarazione della presenza dell’enpassant
- dichiarazione di Z per il valore di semimosse, se esso è maggiore di zero.
Regole di Validazione
Tnon può essere vuotaVeMdevono essereBoNBeNdevono contenere max 16 pezzi- Non possono esser 2 pezzi sulla stessa casa
- Ogni pezzo deve essere nel formato
Lettera+a1..h8 - Ci devono essere un re per colore
- Deve esserci ordine fisso: T,V,B,N,M,P
- La lista dei pezzi può contenere uno o entrambi i valori NS o NL, per casi ambigui di arrocco corto o lungo non valido
[IT] Esempio 1: Posizione Iniziale
T:Posizione iniziale
V:B;
B:Ta1;Cb1;Ac1;Dd1;Re1;Af1;Cg1;Th1;Pa2;Pb2;Pc2;Pd2;Pe2;Pf2;Pg2;Ph2;
N:Ta8;Cb8;Ac8;Dd8;Re8;Af8;Cg8;Th8;Pa7;Pb7;Pc7;Pd7;Pe7;Pf7;Pg7;Ph7;
M:B;
P:0;
### [IT] Esempio 2: Stallo.
T:Stallo
V:B;
B:Re6;Pe7;
N:Re8;
M:N;
P:35;
## [EN] International Specification
ROTN is an ASCII text format for accessible chess positions.
*General Rules:*
1. *Extension*: `.txt`
2. *Encoding*: UTF-8
3. *Fixed Order*: `T;V;B;N;M;P;`
4. *1 line = 1 Descriptor*
5. *Separator*: `;` between pieces and not mandatory at end of each line
6. _Grammar_: compliant with EBNF ISO/IEC 14977
7. the sentence: position rotation with V, speech synthesis for T, M, P, Ue Z.
*Mandatory Descriptors - Fixed Order:*
`T;V;B;N;M;P;`
*Optional Descriptor U - list of square, without of ';',of pawns that can perform enpassant and the square of pawn under enpassant attack (eg. U:d4f4e4;). "U becomes useful in the automation of match suspension and resumption, as well as in the description of positions.
*Optional DescriptorZ -number of halfmoves (field 5 fen), if it's greater than zero.
*Restricted Descriptor F - resume writing game log
*Restricted Descriptor E - restart engine at game resumption
*Restricted Descriptor K - engine skill to be restarted at resume
*Restricted Descriptor L - engine depth
*Restricted Descriptor C - for data engine if useful
**Descriptor** |
**Meaning** | **Values / Example**
**T** | Position Text | `T:Mate in 2`
**V** | Viewpoint / Side | `V:W;` = View from White, `V:B;` = from Black
**W** | White Pieces Position | List `Piecexx` ; separated
**B** | Black Pieces Position | List `Piecexx` ; separated
**M** | Move Side | `M:W;` or `M:B;`
**P** | Starting Move Number n of game, write n-1 for White n for Black| `P:0;`
### [EN] Example 1: Starting Position
T:Starting Position
V:W;
W:Ra1;Nb1;Bc1;Qd1;Ke1;Bf1;Ng1;Rh1;Pa2;Pb2;Pc2;Pd2;Pe2;Pf2;Pg2;Ph2;
B:Ra8;Nb8;Bc8;Qd8;Ke8;Bf8;Ng8;Rh8;Pa7;Pb7;Pc7;Pd7;Pe7;Pf7;Pg7;Ph7;
M:W;
P:0;
### [EN] Example 2: StaleMate.
T:StaleMate
V:W;
W:Ke6;Pe7;
B:Ke8;
M:B;
P:35;
## Parsing
read file line by line
Descriptor = first letter before :
With fix order, if W is after V it is english version. If B after V it is italian version.
value = everything after :
V` and `M` must be `W` or `B`
W` and `B` must contain at most 16 pieces
"The piece list can contain one or both of the NS or NL values, for ambiguous cases of invalid kingside or queenside castling."
check order: T,V,W,B,M,P
split W and B with ;
check duplicate coordinates