Buscando un libro

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Buscando un libro

Mensaje por kokotoni » Vie Sep 04, 2009 8:27 pm

Hola!
Estoy buscando un libro de Ian R. Sinclair titulado "Some Useful BASIC Subroutines" traducido al español como "Subrutinas útiles en BASIC". En WOS hay un enlace informativo pero no hay link de descarga disponible. Tampoco la mula ha dado resultado, ni mis pesquisas en google. Por eso dejo aquí la pregunta por si alguno de vosotros sabe donde se puede encontrar ese libro. Gracias.

P.S.: Dejo abierta la posibilidad de que los que sabéis de programación (aqui hay una buena colección de cracks :) ) podáis recomendar libros sobre programación para Spectrum. Por ejemplo, cual es el mejor libro sobre código máquina,cual es el mejor sobre BASIC, etc, etc... Quizás se inicie así un interesante debate sobre la bibliografía del Spectrum.
Un saludo

Jose Manuel
Sabreman
Mensajes: 459
Registrado: Mar Abr 17, 2007 1:25 pm
Ubicación: Madrid
Contactar:

Re: Buscando un libro

Mensaje por Jose Manuel » Dom Sep 06, 2009 8:57 am

Buenas,

El libro no se donde puedes encontrarlo, pero en el wiki de Speccy.org tienes una sección de "Recursos de programación":
http://www.speccy.org/wiki/doku.php?id= ... rog:indice

Saludos, J.M:
El Trastero del Spectrum
http://trastero.speccy.org/

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Buscando un libro

Mensaje por mcleod_ideafix » Dom Sep 06, 2009 3:46 pm

kokotoni escribió:cual es el mejor libro sobre código máquina,cual es el mejor sobre BASIC, etc, etc... Quizás se inicie así un interesante debate sobre la bibliografía del Spectrum.
Un saludo

Pues en español, dos de los que considero buenos, o muy buenos, son los dos cursos de Microhobby. El de C/M no enseña ninguna técnica espectacular, pero para el neófito es estupendo.
De todas formas, no creo que exista "el mejor libro", como no existe "el mejor juego". Es cosa de cada uno, supongo...

Para tópicos avanzados hay que buscar libros más especializados. Por ejemplo, para el tema de dibujar sprites y manejo de la pantalla en general hay uno de David Webb que se llama "Advanced Spectrum Machine Language" que se tradujo al español por Anaya Multimedia. Este es su índice:

1. Direccionamiento de la pantalla
2. El desarrollo de una rutina de impresión
3. Dibujar y trazar
4. Pantallas de carga animadas
5. Exploración del teclado
6. Teclas de control seleccionables por el jugador
7. Todo cuanto debe saber sobre interrupciones
8. Discusión de técnicas de animación de pixels
9. Un procesador de impresión controlado por interrupciones con un generador de horizonte de pantalla completa
10. Moviendo el horizonte de pantalla completa por pixels
11. Una serie de rutinas para complementar el procesador de impresión.
12. Animación perfecta de sprites
13. Color en alta resolución
14. Producción de imágenes en pantalla completa con el borde

Lástima que no hubiera ninguno dedicado a otros aspectos, como el sonido, o la interacción entre BASIC y C/M. Al menos, no conocí ninguno.

Por cierto, muy buena esa sección del wiki :)
Web: ZX Projects | Twitter: @zxprojects

kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Re: Buscando un libro

Mensaje por kokotoni » Dom Sep 06, 2009 6:05 pm

Gracias por vuestra respuesta.Muy interesante la seccion de speccy.org, me la he agregado a favoritos :D
¿Que te parece este libro, mcleod?
http://www.worldofspectrum.org/infoseek ... id=2000213
O mejor dicho, cambio la pregunta: ¿Que es mas recomendable para un principiante que quiera hacer un programa de calidad para el Spectrum: aprender como funciona el Z80 (por ejemplo con el libro de Rodnay Zaks) o aprender a base de rutinas en C/M sin preocuparse demasiado de como actúan en el microprocesador? Gracias, un saludo.

kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Re: Buscando un libro

Mensaje por kokotoni » Dom Sep 06, 2009 6:38 pm


Avatar de Usuario
Rinconete
Jack The Nipper
Mensajes: 193
Registrado: Mar Oct 09, 2007 7:32 pm
Ubicación: Valladolid

Re: Buscando un libro

Mensaje por Rinconete » Lun Sep 07, 2009 11:54 am

Para programar el Z80 a mí el que más me gusta es el de Rodnay Zaks, pero tendrías que combinarlo con otros libros específicos de Spectrum que te cuenten cómo está organizada la memoria, el vídeo, los detalles sobre las interrupciones, los periféricos como el joystick o el altavoz.

Específicos de Spectrum hay dos libros que me gustan mucho y que consulto con frecuencia:

Programación avanzada del ZX Spectrum de Steve Kramer, Anaya.
Sprites y gráficos en lenguaje máquina de John Durst, Anaya.

Además del libro de D. Webb que cita mcleod, sobre todo para la parte del vídeo. Por lo demás hay muchos libros sobre programación en C/M y casi todos están bien, aunque sugiero que eches un ojo a esos 4.

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Buscando un libro

Mensaje por mcleod_ideafix » Lun Sep 07, 2009 12:27 pm

kokotoni escribió:¿Que es mas recomendable para un principiante que quiera hacer un programa de calidad para el Spectrum: aprender como funciona el Z80 (por ejemplo con el libro de Rodnay Zaks) o aprender a base de rutinas en C/M sin preocuparse demasiado de como actúan en el microprocesador? Gracias, un saludo.


El libro de Rodanay Zacks tiene sólo una pequeña parte de endoarquitectura del Z80. El resto son descripciones de los nmemotécnicos y ejemplos. Está muy bien para tenerlo como referencia, aunque para ese uso hay algunos otros, empezando por las fichas de C/M de Microhobby, que igual son hasta más cómodas.

Para cualquiera que se considere principiante en el C/M del Spectrum, el primer libro que se me viene a la mente es el Curso de Código Máquina de Microhobby. Una vez que que uno es capaz de escribir programas en assembler, ha aprendido a organizar el código, manejar interrupciones, y ha hechos sus pinitos con la pantalla, el teclado y el sonido (por ejemplo, ser capaz de hacer un juego sencillo que use animación carácter a carácter) entonces viene la especialización: sprites con movimiento pixel a pixel, mapeado por tiles, sonido a través del AY, paginación,... Y para ello, en algún caso especial encontrarás libros, pero para practicamente todo lo demás, tendrás que ir tirando de tutoriales, código fuente liberado, foros...
Web: ZX Projects | Twitter: @zxprojects

kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Re: Buscando un libro

Mensaje por kokotoni » Lun Sep 07, 2009 5:24 pm

Muchas gracias por vuestra ayuda, a ver si puedo encontrar todo ese material.
Recuerdo un pasaje de una entrevista a Sandy White en el que decía que para hacer cualquier cosa de una cierta importancia en el Spectrum había que aprender lenguaje ensamblador, pero no falta quien recomienda algo intermedio entre los lenguajes de alto nivel y el ensamblador (lenguaje C por ejemplo), o incluso compiladores de Basic como Mcoder... ¿Esto depende de que tipo de programa quieres hacer? ¿Cual sería vuestra recomendación para un principiante, que aprenda ensamblador y se olvide de todo lo demás? Gracias, un saludo.

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Buscando un libro

Mensaje por mcleod_ideafix » Lun Sep 07, 2009 9:08 pm

En aquellos días era programar en BASIC o Assembler. Había compiladores, pero no son tan buenos ni optimizan tanto como los de ahora. Hay un hilo en este mismo foro sobre un compilador de BASIC que puede servir perfectamente como plataforma de desarrollo.

También tienes el C con el SDCC o el Z88SDK y sus librerías. Se han hecho juegos de calidad comercial usando el Z88SDK. Yo mismo he escrito uno usando SDCC. El ejemplo está también por aquí en un hilo de este foro. Por último, si quieres algo de velocidad comparable al ensamblador, pero sin el galimatías que implica, tienes el lenguaje de medio/bajo nivel de Diodeno, también en un hilo de este foro.

Usar un lenguaje u otro depende de varios factores:
- Curva de aprendizaje: la del ensamblador es mayor, y la del BASIC, la menor. Si tienes experiencia previa en C, entonces es una buena opción. Si no, la versión compilada de BASIC de Boriel es tu mejor opción para comenzar.
- Requerimientos de tu programa: al ser el Spectrum una máquina muy limitada, es necesario explotar hasta el último ciclo las instrucciones que el Z80 puede ejecutar. Si tus requerimientos de velocidad y/o espacio son importantes, el ensamblador es tu mejor (por no decir única) opción. Usando otro lenguaje con sus librerías te estás "atando" a lo que ese lenguaje ofrezca, y en caso de que algo no esté disponible tendrías que esperar a que el autor o alguien más lo ofreciera como una nueva librería. En cambio, si la velocidad no es importante, y en cambio la complejidad algorítmica es elevada, entonces es factible usar un lenguaje de alto nivel, para facilitar el mantenimiento del código.

La evolución habitual del programador de Spectrum, por lo que he visto suele ser: BASIC -> BASIC compilado u otro lenguaje de alto nivel compilador -> Lo anterior, pero con alguna rutina en ensamblador para tareas concretas -> Ensamblador. Mucha gente (sobre todo en aquellos días) saltaban el segundo paso y pasaban del BASIC al BASIC mezclado con código máquina.
Web: ZX Projects | Twitter: @zxprojects

kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Re: Buscando un libro

Mensaje por kokotoni » Mié Sep 09, 2009 12:29 am

Muchas gracias por vuestros aportes, la verdad es que esto me hace tener una idea mas clara. De momento he optado por la primera opcion apuntada, es decir, hacer cosas en Basic pero metiendo rutinas prestadas (100 rutinas para C/M, sound fx, algunas llamadas a las rutinas de la ROM), pero naturalmente me gustaría hacer algo más personal, mas propio y un poco experimentar y probar diferentes cosas. El problema es el que habeis apuntado mas arriba: hay muchos y muy buenos manuales, pero para hacerte una idea global o para encontrar el libro que se ajuste a tu nivel de apredizaje tienes que consultar varios manuales. Una pregunta mas, por vuestra experiencia programando (se ve que sabéis mucho de esto) pensais que vale mas la practica que la teoría, es decir, que es mejor aprender unas directrices básicas y liarse a escribir y escribir líneas de código, encontrarse con bugs y "desfacer entuertos" hasta depurar al máximo los programas o es preferible machacar cientos de manuales y luego ver que sale? Pregunto esto porque leí en un articulo que el mismísimo Costa Panayi empezó con el ZX80 y un escueto manual de C/M. Gracias, un saludo!

Avatar de Usuario
Rinconete
Jack The Nipper
Mensajes: 193
Registrado: Mar Oct 09, 2007 7:32 pm
Ubicación: Valladolid

Re: Buscando un libro

Mensaje por Rinconete » Mié Sep 09, 2009 9:17 am

Hombre no sé, supongo que machacarse a palo seco toda la teoría que debe haber por ahí debe ser infumable, además probablemente no la necesites para hacer unos programillas, disfrutar e ir aprendiendo poco a poco. Aunque hay un mínimo de conocimientos de partida que hay que tener como conocer el juego de instrucciones y la organización del Spectrum.

Respecto a lo de los "figuras" de aquélla época, piensa que entonces había muchos menos recursos (o al menos estaban menos accesibles) y menos "cultura informática" (si se puede llamar así) lo que supongo que hacía las cosas un poco más difíciles y da más mérito a sus hazañas. En España mucha gente aprendió con las MH y algún libro suelto y con eso hacía muchas cosas. Pero claro, hoy hay más posibilidades de aprender y no veo motivo para no tenerlas en cuenta.

kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Re: Buscando un libro

Mensaje por kokotoni » Jue Sep 10, 2009 1:27 am

Y que lo digas! Ahora con un par de clicks de raton cualquiera puede tener un buen puñado de manuales. Antes tenías que buscar los libros y muchos de ellos no llegaban a españa o no estaban traducidos. Pero entonces como se explica que con los medios de aquella época se hicieran esas joyas como el Knight Lore, el Fairlight, etc etc que no han sido superadas posteriormente? Entonces no había ensambladores cruzados (que yo sepa!), programaban utilizando a lo mejor dos o tres "gomas" conectados a unidades de microdrive. Bueno, esto sería un tema para otro hilo: en qué medida influye la existencia de un mercado activo, con lo que ello implica de competitividad, etc para el desarrollo de las técnicas de programación? Importan tanto los medios técnicos del momento? No se, los que teneis experiencia de años programando podéis responder a estas cuestiones mucho mejor que yo y seguramente conocéis bastante mejor como está la retroescena actual. Por cierto Rinconete, el libro de John Durst no lo encuentro por ningun lado, en WOS no aparece enlace de descarga, pero muchas gracias de todas maneras por la recomendacion. Un saludo y gracias.

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: Buscando un libro

Mensaje por na_th_an » Jue Sep 10, 2009 8:19 am

kokotoni escribió: Entonces no había ensambladores cruzados (que yo sepa!), programaban utilizando a lo mejor dos o tres "gomas" conectados a unidades de microdrive.


Hombre, esto supongo que sería verdad para los homegrown developers y para las empresas más grandes hasta 1984... Después todas usaban sistemas tipo PDS en el que el editor y el ensamblador se ejecutaban en una máquina más potente y los binarios generados se enviaban a los ordenadores de 8 bits para probarlos:

http://www.speccy.org/trastero/cosas/JL ... ccion.html
http://www.speccy.org/trastero/cosas/JL ... tware.html

Imagen

Avatar de Usuario
Rinconete
Jack The Nipper
Mensajes: 193
Registrado: Mar Oct 09, 2007 7:32 pm
Ubicación: Valladolid

Re: Buscando un libro

Mensaje por Rinconete » Jue Sep 10, 2009 8:57 am

kokotoni escribió:Pero entonces como se explica que con los medios de aquella época se hicieran esas joyas como el Knight Lore, el Fairlight, etc etc que no han sido superadas posteriormente?


No sé, los admiro por crear eso en aquel momento. Son grandes juegos pero seguramente también los hay posteriores tan buenos o mejores.

kokotoni escribió:Entonces no había ensambladores cruzados (que yo sepa!), programaban utilizando a lo mejor dos o tres "gomas" conectados a unidades de microdrive.


En esta curiosa entrevista a Manuel Caballero hay algún comentario a los medios que utilizaban en Ultimate para programar y los que utilizó él mismo para programar Imhotep.

Bueno, esto sería un tema para otro hilo: en qué medida influye la existencia de un mercado activo, con lo que ello implica de competitividad, etc para el desarrollo de las técnicas de programación? Importan tanto los medios técnicos del momento? No se, los que teneis experiencia de años programando podéis responder a estas cuestiones mucho mejor que yo y seguramente conocéis bastante mejor como está la retroescena actual.


No es mi caso y no se si estoy más capacitado que tú, pero creo que la competitividad ayuda a mejorar y a crear nuevas técnicas y tecnologías.

kokotoni escribió:el libro de John Durst no lo encuentro por ningun lado, en WOS no aparece enlace de descarga


La ficha se encuentra en El Trastero del Spectrum, aunque parece que no está escaneado:

"Sprites" y gráficos en lenguaje máquina

Prometo escanearlo en los próximos días y enviárselo a José Manuel.

kokotoni
Herbert
Mensajes: 78
Registrado: Jue Jun 26, 2008 2:26 am

Re: Buscando un libro

Mensaje por kokotoni » Jue Sep 10, 2009 6:04 pm

Muchas gracias por todo, muy interesante todo. Vaya! Me he quedado bastante sorprendido... asi que en 1985 ya había medios como estos? Supongo que esto solo estaria al alcance de las compañias de software, máxime cuando había que instalar placas y demás. Y además ya he visto que había no solamente para el Z80... Esos enlaces de descarga son emuladores de PDS? Gracias por todo, si escaneas el libro te lo agradeceria enormemente. Un saludo

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados