ccz80

Would you like to react to this message? Create an account in a few clicks or log in to continue.
ccz80

ccz80 programming language


    Ejemplos de programas sencillos

    avatar
    Dinoneno


    Posts : 115
    Join date : 2008-01-15
    Age : 54
    Location : Toledo

    Ejemplos de programas sencillos Empty Ejemplos de programas sencillos

    Post  Dinoneno Fri May 09, 2008 8:30 pm

    Este es el primero, para Amstrad, un mini órgano musical de Amstrad Semanal nº 13.

    Code:

    // Super órgano musical
    // Adaptado de programa de Amstrad Semanal nº 13
    // sección Análisis, página 12

    include "cpc464.ccz80";

    // Definición de notas y tonos
    array word notas = { "DO", "DO#", "RE", "RE#", "MI", "FA", "FA#", "SOL", "SOL#", "LA", "LA#", "SI", "DO2", "DO#2", "RE2", "RE#2", "MI2" },
          tonos = { 478, 451, 426, 402, 379, 358, 330, 319, 301, 284, 268, 253, 239, 225, 213, 201, 190  };
         
    // Pulsar f0 para comenzar
    key(0, "speed key 30,2\r"); // No entiendo por qué esta instrucción

    // Búsqueda en teclado
    speedkey(1, 2);

    word tecla = "q2w3er5t6y7ui9o0p";
    byte x = 0, pulsar, nota;
    word n;
    while (x == 0) // No entiendo por qué esta condición
    {
       LeerTecla:
       pulsar = inkey();
       if (pulsar == 0) goto LeerTecla;
       n = strchr(tecla, pulsar);
       if (n == 0) goto LeerTecla;
       nota = n - tecla; // Valor de nota entre 0 y 16
       prints(**(notas + nota * 2));
       prints("\n\r");
       
       // Generación de sonido
       sound(1, **(tonos + nota * 2), 5, 15, 0, 0, 0);
    }

      Current date/time is Sun May 19, 2024 10:00 pm