Programando en C en un ZX Spectrum +3

Avatar de Usuario
ron
Mensajes: 18999
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2080 veces
Agradecimiento recibido: 1788 veces

Programando en C en un ZX Spectrum +3

Mensajepor ron » 22 Jul 2012 13:03

Buceando internet, encontré un Compilador de C para CP/M que funciona bien en un ZX Spectrum +3. Se llama BDS-C y es gratuito.

The BD Software C Compiler (BDS C)
An 8080/Z80 C Compiler:
Now Open Source and Public Domain!

Initial Commercial Release: August, 1979
Released into the Public Domain: September 20, 2002
This Distribution Last Updated: October 10, 2002


Además hay un emulador de CP/M ( por si no quieres usar emus de Spectrum ) que emula el terminal del +3 en un entorno Linux/Win32 y se puede pasar al entorno CP/M para compilar y probar. Se llama ZSim.

Imagen

http://www.cpm.z80.de/develop.htm

Que lo disfrutéis, habrá que probarlo. ;-)

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

Re: Programando en C en un ZX Spectrum +3

Mensajepor mcleod_ideafix » 22 Jul 2012 13:06

Veo tu compilador y subo a... una cosa que hice hace años con el SDCC
http://www.speccy.org/foro/viewtopic.php?f=6&t=436&p=5100

Voy a probar éste :) Gracias!
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

Avatar de Usuario
ron
Mensajes: 18999
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2080 veces
Agradecimiento recibido: 1788 veces

Re: Programando en C en un ZX Spectrum +3

Mensajepor ron » 22 Jul 2012 13:12

NO olvides el último enlace que puse porque tiene muchos más

http://www.cpm.z80.de/develop.htm

Magnifico post en Speecy !!!!


Avatar de Usuario
ron
Mensajes: 18999
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2080 veces
Agradecimiento recibido: 1788 veces

Re: Programando en C en un ZX Spectrum +3

Mensajepor ron » 22 Jul 2012 13:44

Código: Seleccionar todo

int main ()
{
    putchar( 27 ) ;
    putchar( 'E' ) ;
}


Con esto podemos limpiar la pantalla en un +3, es como un CLS de Basic y funciona sobre el BDS-C

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

Re: Programando en C en un ZX Spectrum +3

Mensajepor mcleod_ideafix » 22 Jul 2012 14:02

Es que me ha emocionado el tema por lo siguiente:

En la asignatura que imparto en la Escuela Politécnica Superior (Informática), a mis alumnos les pido una práctica de curso consistente en escribir un emulador de una CPU (no es una CPU que exista realmente). Este emulador deben escribirlo en lenguaje C.

Para mostrarles la versatilidad del propio lenguaje C, y para que vean que pueden usarlo no sólo con los "aburridos" PC's del laboratorio, he mostrado en un par de videos cómo su práctica puede ejecutarse en otros sistemas más... "divertidos". Por ejemplo:

- En una Nintendo Wii
http://youtu.be/eQjDM6NoSKM

- En una Nintendo DS
http://youtu.be/gBUab7q6UoI

- ¿En un Spectrum +3 bajo CP/M? A ver si me sale ;)
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

jojo073

Re: Programando en C en un ZX Spectrum +3

Mensajepor jojo073 » 22 Jul 2012 16:38

mola...Recuerdo que incluso tuve un manual y el disco de C para el amiga... venia en una revista...pero al final no hice nada con el...
salud

Avatar de Usuario
FloppySoftware
Mensajes: 224
Registrado: 21 Oct 2016 15:10
Agradecido : 36 veces
Agradecimiento recibido: 42 veces
Contactar:

Re: Programando en C en un ZX Spectrum +3

Mensajepor FloppySoftware » 22 Jul 2012 17:49

Coñe, también está mi MESCC (Mike's Enhanced Small C Compiler), que no es otra cosa que un Small C para Z80 y CP/M con bibliotecas estándar (en lo posible), y todo un mundo por explorar ;-)

Lo dicho, únicos requisitos: CP/M y una CPU Z80.

¡Ah, y admite código ensamblador inline!

Saludos.

Edito: ¡Y con el código fuente en MESCC autocompilable - licencia GPL!
Developing software since 1987 - http://www.floppysoftware.es

Rurounin
Mensajes: 402
Registrado: 04 Feb 2011 17:13

Re: Programando en C en un ZX Spectrum +3

Mensajepor Rurounin » 22 Jul 2012 20:18

Joerrrr Ron vaya buceo por la red que te has dado , la verdad que ahora que tendré tiempo me voy a poner a trastear un poco :)

Avatar de Usuario
ron
Mensajes: 18999
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2080 veces
Agradecimiento recibido: 1788 veces

Re: Programando en C en un ZX Spectrum +3

Mensajepor ron » 22 Jul 2012 22:22

Pues no Guiller, es que con la llegada de floppysoftware hay que ponerse las pilas y además considero un compilador de C para CP/M algo fundamental, no es por poner, es por que cubro una inquietud y nos sirve a muchos.

Saludos

Avatar de Usuario
FloppySoftware
Mensajes: 224
Registrado: 21 Oct 2016 15:10
Agradecido : 36 veces
Agradecimiento recibido: 42 veces
Contactar:

Re: Programando en C en un ZX Spectrum +3

Mensajepor FloppySoftware » 23 Jul 2012 00:03

Hola,

BDS C es uno de los mejores compiladores para CP/M, seguramente el más utilizado en su día, pero tiene un par de "problemillas":

- Es pre-ANSI, es decir K&R.
- Genera código para la cpu 8080.

Dichos problemillas, pueden no serlo en absoluto, of course.

El mejor compilador parece ser el HiTech C, que también está disponible para libre descarga por ahí, produce código para Z80, y es ANSI.

Mi humilde MESCC tiene más carencias y problemas que el menda, pero al menos tengo (y todo el que lo quiera también) el código fuente.

Hablando de compiladores que se ejecutan en el propio CP/M, tanto en máquinas reales como en emuladores, claro está.

Si hablamos de compiladores cruzados ejecutándose en Linux, DOS o Windows, las posibilidades son otras.

Saludos.

Edito: En mi paginilla también dedico una sección a los compiladores de C para CP/M, con enlaces externos a archivos --> http://www.floppysoftware.vacau.com/c_compilers.html
Developing software since 1987 - http://www.floppysoftware.es

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

Re: Programando en C en un ZX Spectrum +3

Mensajepor mcleod_ideafix » 23 Jul 2012 11:07

mcleod_ideafix escribió:- ¿En un Spectrum +3 bajo CP/M? A ver si me sale ;)


Va a ser que sí :)
Imagen

Eso sí: he tenido que cambiar algunas cosas en el código fuente:
- Volver a la notación K&R (ufff! no la tocaba desde los tiempos de la facultad)
- Modificar una función que usa un parámetro de 32 bits para un cálculo, que ahora hago en 16 bits. Este compilador, por lo visto, no soporta tipos de datos de 32 bits.
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

Re: Programando en C en un ZX Spectrum +3

Mensajepor mcleod_ideafix » 23 Jul 2012 11:40

UPDATE: el mismo disco (archivo DSK en realidad) me vale igual (como era de esperar) en el CP/M del Amstrad 6128.

Imagen
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

Avatar de Usuario
elfoscuro
Mensajes: 1416
Registrado: 01 Jun 2012 20:46
Agradecido : 1 vez
Agradecimiento recibido: 67 veces
Contactar:

Re: Programando en C en un ZX Spectrum +3

Mensajepor elfoscuro » 23 Jul 2012 11:46

Pero todo esto es para CMP ¿verdad? Y en CPM el tema gráficos no está muy para allá para el Spectrum ¿no?

¿Existe un C para +3, pero normal vamos? Es que si quieres programar un juego, con esto hacemos poco...

Un saludo.

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

Re: Programando en C en un ZX Spectrum +3

Mensajepor mcleod_ideafix » 23 Jul 2012 11:52

elfoscuro escribió:Pero todo esto es para CMP ¿verdad? Y en CPM el tema gráficos no está muy para allá para el Spectrum ¿no?

No sé si existen extensiones GSX para el CP/M del +3. Siempre puedes usar CP/M para cargar lo que es el juego, y una vez cargado, que el mismo se haga "dueño" de la máquina y que haga lo que quiera, como en cualquier juego de Spectrum.

elfoscuro escribió:¿Existe un C para +3, pero normal vamos? Es que si quieres programar un juego, con esto hacemos poco...

Sí. Z88DDK y SDCC, que yo haya usado. Lee el segundo post de este hilo :)
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

Avatar de Usuario
elfoscuro
Mensajes: 1416
Registrado: 01 Jun 2012 20:46
Agradecido : 1 vez
Agradecimiento recibido: 67 veces
Contactar:

Re: Programando en C en un ZX Spectrum +3

Mensajepor elfoscuro » 23 Jul 2012 12:43

No vendría mal un curso de z88dk. Creo que el que aparece en magazine zx está muy desfasado... Sobre todo orientado a los sprites y manejo de pantalla...

dancresp
Mensajes: 5641
Registrado: 13 Nov 2010 02:08
Agradecido : 320 veces
Agradecimiento recibido: 451 veces

Re: Programando en C en un ZX Spectrum +3

Mensajepor dancresp » 23 Jul 2012 14:31

Interesente hilo.

La verdad es que en los últimos años casi no he usado el C, pero entran ganas de hacerlo.
Buscando la IP de la W.O.P.R. he encontrado mi índice


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado