Tema 14 - Algunas rutinas del firmware
El firmware es algo así como "el software que está grabado dentro de un hardware". Se trata típicamente de los programas que hay grabados dentro de memorias ROM (de sólo lectura).
Es habitual que el firmare proporcione ciertas funcionalidades básicas al ordenador, pero también es frecuente que esas funcionalidades no sean accesibles para el usuario.
En el caso de los CPC, sí existe una serie de rutinas a las que podemos acceder usando la orden CALL.
Esto simplifica la realización desde lenguajes de bajo nivel (ensamblador, código máquina) de tareas que de otra forma serían muy trabajosas. Pero desde Basic, tenemos un abanico tan amplio de posibilidades, que pocas rutinas del firmware se hacen realmente necesarias.
Aun así, comentaremos algunas de las rutinas del firmware que pueden ser más útiles:
- CALL &BB18 hace que el programa se pare hasta que el usuario pulse una tecla (similar a un WHILE INKEY$="": WEND, pero ocupando menos memoria).
- CALL 0 reinicia el CPC.
- CALL &BB9C intercambia los colores de primer plano y de fondo.
- CALL &BB4E reinicializa la pantalla de texto a sus valores por defecto: pen 1, paper 0, cursor al principio.
- CALL &BBFF reinicializa la pantalla: colores de tintas, velocidades de parpadeo, y vuelve a MODE 1.
...
Otras más avanzadas son utilizables desde código máquina, pero no con tanta facilidad desde Basic, porque devuelven valores, como &C03C, que permite leer un sector de disco, o &C042, que formatea una pista del disco, o &BD2E, que comprueba si la impresora está ocupada.
Si quieres saber más sobre las rutinas del firmware, existe una guía que las recopila junto con otra información técnica que puede resultarte interesante: "The Amstrad CPC Firmware Guide"