NOTE IF YOU NEED FUNCTIONALITY FOR READING PORTUGESE The system, with the current settings it has, it can read and write Spanish and English by changing all the pointers related to the I/O (both text and PCM) hardware. But the system can also read (with 60% accuracy) Portugese. To archieve this, make sure that these requirements are met: * Current language is set to Spanish * Robotic I/O mode is disabled * Analog noise tolerance is enabled WARNING: Do not enable language auto-detect when listening to mixed Spanish and English, it will return Portugese due to certain accent detection routines triggered by the combination between languages. When the requirements are met, it will read Portugese as Spanish, and if auto- detection is enabled, it will return Portugese. Take in mind that enabling auto-detection disables output, disabling auto-detection and calling any output function will output true Spanish. HOW IT WORKS: The system continues to apply Spanish grammar (Portugese and Spanish share grammar rules, just changing the words) but it gives more tolerance to errors (Portugese language is perceived as wrong Spanish words and internally fixed), making possible portugese input. This also allows fast swapping between true Spanish and Portugese input because actually no swap happens at all, it's still the same I/O mode. EXTEND THIS MODE: This input mode can be extended to certain languages that are very similar in both grammar and roots, for example, Latin/Italian.