Amstrad Eterno 2018: el balance | 20180424-1400 |
El viaje a Barcelona fue breve pero intenso: casi todo salió según el plan. Solamente faltó Juan Giménez (que no pudo asistir, a diferencia de años pasados) y quiso la casualidad que por tener que marcharme el sábado al atardecer me perdí la entrega de los galardones del certamen... y mi propio "Basket Cases" resultó ser el mejor videojuego deportivo del año 2017.
Podré recoger el premio dentro de cuatro días en Madrid, pero antes debo hacer unas cuantas cosas, desde algunos deberes de la UNED hasta la preparación del viaje propiamente dicho y de los pocos materiales que llevaré a RetroMadrid. Mientras tanto, aquí tenéis un poco de música adaptada a ratos perdidos de un par de juegos que comparten perspectiva tridimensional isomética y tema de ciencia ficción radiactiva.
Hasta siempre, AS80 | 20180417-1255 |
Con los problemas inmediatos en la universidad a distancia y en el viaje a Barcelona resueltos (en el caso del viaje, con soluciones no del todo óptimas, pero soluciones al fin y al cabo) por fin tengo la serenidad necesaria para tomar una decisión drástica: romper definitivamente la compatibilidad de UZ80 (e indirectamente de CHIPNSFX) con el ensamblador AS80. Si al crear UZ80 decidí no respetar el comportamiento de AS80 que le hacía creer que (IX-1-1) es igual a (IX-0) porque 1-1=0, ¿por qué sí respeté el otro fenómeno inesperado por el cual el valor del símbolo "$" no era el de la dirección actual sino la del principio de la línea actual?
Así que ya he editado UZ80, CHIPNSFX y mis otros proyectos para que empleen "$" con el valor típico en todos los demás ensambladores (y no solamente de Z80): Beb y Roudoudou ya pueden dejar de parchear a mano el player de CHIPNSFX. De propina aquí tenéis un poco de música proveniente de la última versión de CHIPNSFX: las canciones de "1942" y "1943".
12^2 | 20180415-1325 |
Hace un tiempo celebré la centésima entrada del diario; la que hoy toca es la "gruesa", las doce docenas. Pero por lo demás no hay mucho para celebrar. Ahora mismo estoy muy cerca de resolver los problemas del alojamiento para Amstrad Eterno pero ya he perdido los descuentos que se conceden a las reservas.
De momento estoy aligerando lastre y quitándome de encima cosas pendientes. Algunas son materiales (libros, revistas, papeles... ¡y eso que apenas he ido a la feria del libro de ocasión!) y otras no tanto, lo que incluye los deberes de la UNED por un lado y optimizaciones menores para CHIPNSFX y UZ80 por el otro.
Barcelona y Madrid, ¿sí o no? | 20180411-1430 |
Un cambio repentino en mis circunstancias pone en peligro mis precarias posibilidades de ir a Amstrad Eterno dentro de semana y media y a RetroMadrid una semana después. Incluso aunque este asunto inesperado se resuelva a satisfacción de todos habré perdido algo del dinero de las reservas de los billetes de autocar. Espero poder salvar algo en vez de perderlo todo.
Mientras veo si puedo hallarle una solución os pondré un par de grabaciones más de CHIPNFSX: las dos canciones de "Chimera" (C64, 1985 Firebird) escritas originalmente por Rob Hubbard y adaptadas por un servidor con el tracker casero durante algunos ratos libres. "Chimera" era por lo demás un caso típico en el C64: qué música tan buena para un juego tan malo.
Revision 2018, part deux | 20180408-2040 |
Sigo atando cabos, y ya estoy en el ecuador del segundo trimestre, así que iré al grano:
Condense, el grupo autor de la demo "Phx" de la que hablaba hace unos días, ha publicado el código fuente de la misma. Echadle un vistazo, es una lectura interesante, aunque bastante desordenada.
He publicado las versiones nuevas de UZ80 y CHIPNFSX tras hacer algunas pruebas y decidir que los problemas que me preocupaban ya están resueltos. De propina, una adaptación más; algunos la reconoceréis de haberla oído en la parte secreta de la demo "École Buissonière".
Revision 2018 | 20180406-1848 |
Se me plantean problemas de cara al futuro inmediato: la UNED por un lado, en la que tengo muchas cosas que hacer (algunas inmediatas, para el postgrado en curso; otras, relativas a asuntos pasados, pero que permanecen abiertos), la búsqueda de trabajo, donde aun con mis pobres expectativas no puedo dejar de moverme, y los dos eventos de finales de abril: Amstrad Eterno Barcelona y Retro Madrid. ¿Tendré tiempo para todo? ¿Se perderá algo por el camino?
Mientras tanto se ha celebrado una nueva edición del certamen Revision, y el Amstrad CPC ha estado representado con una fuerza sorprendente: ahora mismo aún es posible ir a Pouet.net y ver que la lista de las diez demos más notables del momento ("Top of the Month") todavía contiene las tres producciones para CPC mostradas en el certamen: "Phx" (quinto puesto), "Isometrikum" (octavo) y "Onescreen Colonies" (décimo). Curiosamente, la demo para C64 "We Come in Peace" de Fairlight y Censor Design, a pesar de haber ganado el primer premio en la categoría oldschool demo, es menos popular en Pouet.net: es solamente la novena en la lista.
Finalmente, tras descubrir que compilar BOSCONIA.CHP provocaba errores, he reescrito por completo las rutinas de exportación de datos de CHIPNSFX y también he añadido a UZ80 la capacidad de reservar memoria sobre la marcha en lugar de trabajar con búferes de tamaño constante. No obstante, no sé si debería publicar ya estas nuevas versiones o si tendría que hacer más experimentos para evitar la desagradable sorpresa descubierta gracias a la canción de "Bosconian" y "Raster Runner".
Otros dos parches más | 20180327-1320 |
A raíz de la corrección anterior que añadía algo de control a la expansión de macros, he retocado el análisis de secuencias de escape de UZ80 para que provoque errores fatales cuando se le dan combinaciones que se salen del estándar: por ejemplo "\N", que es rechazado, a diferencia de "\n", que genera el carácter LF, de valor 10.
load = $170 type = 0 exec = 0 ; AMSDOS org load-$80 ds 18 dw type ds 1 dw load ds 1 dw last-load,exec ds 36 dw last-load ds 1 dw type+(load>>8)+(load&255)+2*((last-load)>>8)+2*((last-load)&255)+(exec>>8)+(exec&255) ds 59 ; BASIC dw boot-$-2,1,$1C83,boot,$C001 filename db "2H" filename_ db ": run to toggle 208K mode, push Shift and Control to format disc." ds 3 boot ld a,($BC9B) cp $DF ret nz ; DISC INSTEAD OF TAPE? ld hl,($BC9B+1) inc hl inc hl ld a,(hl) ; AMSDOS' ROM NUMBER ld (select03+2),a ld (format06+2),a ld hl,($BE7D) ld a,h or l ret z ; AMSDOS COMPATIBLE ROM? ld e,(hl) ; CURRENT DISC DRIVE push de ld a,$C1 ; DEFAULT DATA FORMAT db $DF dw select03 ld hl,5 ; A=0,BC=0,DE=^XDPB+19 add hl,de pop de cp (hl) jr z,main ld (hl),a ; SET DYNAMIC FORMAT quit ld de,last jp $BC9B ; CAT main dec (hl) ; SET 208K FORMAT push hl pop ix ld (ix-24),40 ; RECORDS/TRACK (36) ld (ix-19),209 ; ++KBYTES/SIDE (179) ; ld (ix-11),b;0 ; CATALOG TRACK ; ld (ix-9),$C1 ; 1ST SECTOR ID inc (ix-8);,10 ; SECTORS/TRACK (9) ; 20130830: GAP#3 7/22 FAIL!!! ld (ix-7),1 ; GAP#3 RD/WRT (42) ld (ix-6),37-1 ; GAP#3 FORMAT (82) ; 20140708: http://demoniak-contrib.forumactif.com\ ; /n62-la-structure-des-pistes-d-une-disquette-sur-cpc ld a,21 ; PRESS SHIFT... call $BB1E ld a,c sub 160 ; ...AND CONTROL! jr nz,quit ld d,a ld a,"[" call $BB5A doatrack ld hl,last push hl ld c,2 ld a,$C1 dosector ; CHRNCHRN... ld (hl),d inc hl ld (hl),b inc hl ld (hl),a inc hl ld (hl),c inc hl add 5 ; C1C6... ld (hl),d inc hl ld (hl),b inc hl ld (hl),a inc hl ld (hl),c inc hl sub 4 ; C6C2... cp $C6 jr nz,dosector ; 16,27,38,49,5A*6B pop hl db $DF dw format06 ret nc ld a,"#" bit 0,d call nz,$BB5A inc d ld a,d cp 42 jr c,doatrack ld hl,filename ld de,last ld b,filename_-filename call $BC8C ld hl,load ld de,last-load xor a call $BC98 call $BC8F ld a,"]" call c,$BB5A; OK filedone jp $BC92 select03 dw $C039 db 7 format06 dw $C042 db 7 ds $270-$ last end
Es buen momento para incluir las fuentes corregidas de 2H.BAS, programa que escribí en su momento para crear y utilizar disquetes con un formato DATA aumentado de 178k a 208k a base de usar 42 pistas de 10 sectores en vez de 40 de 9, que publiqué en cpcwiki.eu/forum y que UZ80 compila a la perfección, cabecera de AMSDOS incluida.
También he aprovechado para simplificar una de las condiciones del "player" de CHIPNSFX y para añadir cinco canciones, de las que cuatro son la banda sonora de Ben Daglish para la conversión de "Pacmania" a cargo de Teque Software y publicada por Grandslam. Es interesante: ninguna de las conversiones de "Pacmania" incluye el tema de "Sandbox Land"; todas se limitan a repetir el de "Block Town".
Dos parches | 20180324-1330 |
Por un lado he publicado una segunda versión de UZ80 para corregir un par de fallos: no reconocer las instrucciones OUTD y OUTI (sus sinónimos OTD y OTI sí estaban bien) y reaccionar erróneamente al utilizar una macro con menos parámetros de los que originalmente habían sido definidos en la cabecera de la misma.
Por el otro he presentado una versión menor de CHIPNSFX para corregir un error que ocurría en ocasiones muy raras al utilizar XX80 en la sección de ruido de un instrumento. Además, como de costumbre, he añadido más canciones, de las que la más nueva es una adaptación de la extravagante banda sonora de Jas C. Brooke para "Rasterscan", juego que además acabo de añadir a la lista de "compactajes".
Ganas de morir... de nervios | 20180321-2100 |
Es oficial, acabo de publicar la primera versión de UZ80, que espero que sea de vuesto agrado. Probadlo, maltratadlo, queredlo, odiadlo, alabadlo, insultadlo... al ritmo de una cancioncilla de Ben Daglish pasada por el tamiz de CHIPNSFX.
Vale la pena comentar que la canción de la versión de Commodore 64 es ligeramente distinta, y no solamente por las razones obvias de usar un chip de sonido que no es el que el CPC y el 128 tienen en su interior. Debe de pertenecer a la época en la que Daglish ya tenía mucha soltura pero aún no hacía canciones que podían ser tocadas sin cambios en todos los 8 bits.
P.S.: Anoche cambié sin querer el nombre del archivo de UZ80 y el resultado fue que dejó de poder ser descargado. Ya está corregido.
"LED Storm" y UZ80 | 20180317-0150 |
El clima ha sido tormentoso y me he pasado mucho más tiempo del previsto en casa. No me falta quehacer pero agradecería poder salir a la calle con ciertas garantías de sol y calma, o al menos con poca lluvia y menos viento. Al menos esto significa más tiempo para labores musicales que tanto os gustan, así que aquí tenéis un poco de Tim Follin: sus tres pistas para "LED Storm" en Spectrum, de las que dos también sonaron en C64.
Por lo demás UZ80 ya funciona perfectamente, detecta más errores que AS80 (algunos de ellos escondidos en las profundidades de "Justin" desde hace doce años) y encima corre más deprisa: UZ80 tarda entre la mitad ("Frogalot") y la quinta parte ("Hire Hare") de lo que consume AS80 para compilar mis juegos para los concursos de CPC RetroDev.
Cuando haya escrito la documentación lo publicaré, y además es muy posible que incluya las fuentes, que para variar me parecen suficientemente limpias y ordenadas, además de comentadas para que cualquiera pueda leerlas. Pero primero terminaré los deberes de la UNED.
[ ◀ MODERNOS ] [ ▲ ] [ ▶ ANTIGUOS ] |