Si deseas colaborar con este proyecto puedes aportar nuevas utilidades y clases.
Si quieres ayudar a mejorar la traducción a otros idiomas ponte en contacto con el autor. Gracias.
El lenguaje ccZ80++ permite escribir programas para ordenadores basados en el microprocesador Zilog Z80, como Amstrad CPC, Amstrad PCW, Spectrum y MSX entre los más populares.
Se puede utilizar desde Windows o también desde Linux utilizando WINE o Mono o desde Mac utilizando Mono. Necesita que se encuentre instalado Microsoft .NET 4 Client Profile u otra versión superior.
Se puede considerar una evolución del lenguaje ccz80, pero ccZ80++ añade definición de clases, uso de objetos y una sintaxis más cercana al lenguaje C++ para permitir un más rápido aprendizaje.
Características principales
Uso desde Windows, desde Linux con WINE o Mono y desde Mac con Mono.
Utilización de Microsoft .NET 4 Client Profile.
Uso desde la línea de comandos.
Permite generar código ccz80, ensamblador y código máquina.
Definicion de clases y declaración y uso de objetos.
Herencia de clases.
Sobrecarga de funciones.
Visibilidad privada y pública para los miembros de las clases.
Definición de miembros estáticos y no estáticos en las clases.
Uso de múltiples ficheros para un programa.
Gestión de valores de 8 bits, de 16 bits y de cadenas de caracteres.
Tratamiento de tablas de una o varias dimensiones de valores numéricos, de cadenas de texto y de objetos.
Llamada automática a funciones de inicialización de objetos.
Permite declaración de variables en pila y en memoria estática.
Uso de constantes de tipo numérico y de cadena de texto.
Sentencias para programación estructurada.
Integración con código ensamblador, directamente y a través de funciones.
Para información más amplia y detallada de las características consultar las especificaciones en la sección de descargas.
La versión de ccZ80++ de "Hola mundo" podría ser la siguiente:
include Text.ccz80++
class Program
{
static void main()
{
Text.PrintString("Hello World");
}
}
Un ejemplo que utiliza una definición de clase e instancia un objeto:
class Ball
{
const minX = 1, maxX = 32;
const minY = 1, maxY = 24;
short coordX, coordY;
public void SetPosicion(short newX, short newY)
{
if (newX >= minX && newX <= maxX) coordX = newX;
if (newY >= minY && newY <= maxY) coordY = newY;
}
public void MoveLeft()
{
MoveLeft(1);
}
public void MoveLeft(short positions)
{
if (coordX - positions >= minX) coordX -= positions;
else coordX = minX;
}
}
class Main
{
static void main()
{
Ball ball;
ball.SetPosition(10, 12);
ball.MoveLeft();
ball.MoveLeft(3);
}
}
Clases proporcionadas
En la sección de descargas se pueden obtener un conjunto de clases para usar en los programas ccZ80++. Estas clases incluyen las funciones que se proporcionaban con el compilador ccz80.
Cuando se usa una de estas clases en un programa es recomendable observar si al principio de su código usa la sentencia include para utilizar otras clases; en ese caso será necesario descargar también esas clases.
Licencia de uso
El compilador se puede utilizar libremente para uso personal y sin ánimo de lucro.
Para uso en la creación de programas comerciales consultar con el autor de ccZ80++.