Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Laddh

Páginas: [1] 2
1
Mercadillo / Vendo A500 con ACA500plus y Indivision ECS V2
« en: Marzo 01, 2019, 16:18:47 »
Buenas, vendo el resto de material que me quedaba de Amiga, por si hay alguien interesado:

1 Amiga 500 con ACA500plus (8 mb fast 1 mb chip, disco duro ,etc..) y una Indivisión ECS V2 para conectarlo a cualquier monitor tv actual por 250€, regalo otro Amiga 500, todo funcionando.

1 caja repleta de chips Amiga por 25€, con:
3 Motorola 68000
1 rom 3.1 para Amigas ECS OCS
1 rom 2.04 para Amigas ECS OCS
2 Paula 8364R7
2 CIA 8520A-1
2 Denise 8362R8
2 Gary 5719
1 Fat Agnus 8372A
8 chips memoria

Saludos.

2
Mercadillo / Vendo 2 Commodore 64C y Amiga 500+aca500
« en: Diciembre 03, 2018, 12:18:34 »
Buenas foreros, resulta que la habitación donde tenía "mis juguetes", se convierte en habitación propia, "de dormir", así que a mis cacharros les toca otra hibernación en el armario de por lo menos unos diez años calculo y igual es demasiado, prefiero que sigan en marcha en algún sitio.
Total que vendo el siguiente material(todo funcionando):

1 Commodore 64C con cartucho Ultimate II+ por 200€
1 Commodore 64C con SD2iec por 150 €
1 Amiga 500 con ACA500 (disco duro, 2 mb fast), scandoubler flikerfixer para conectarlo a cualquier VGA, y tarjeta HxC para la carga fácil de imagenes de diskette por 200€
1 monitor tv Nelion (ideal para conectarle un Amiga por las 2 entradas de video, euroconector y vga) + altavoces por 50€, este mejor en mano porque enviarlo costaría un huevo.
Los tengo en el wallapop por si os es más cómodo.
Un saludo.

3
Programación / Colisiones sprite<>sprite por software
« en: Abril 30, 2018, 14:02:23 »
Buenas gente, había leído sobre este asunto en los foros y hasta ahora no le había dado importancia porque no me he encontrado con este problema, pero en lo que estoy trabando ahora las colisiones por hard no funcionaban de manera precisa, la rutina que funcionaba hasta ahora, aquí se comía la mitad de las colisiones de una manera inaceptable. Dando un vistazo por Codebase64 empiezo a encontrar muchos apuntes a las colisiones por soft para solventarlo, comentando para mi sorpresa que cuando hay que controlar muchas cosas a la vez en pantalla, el registro de colisiones ya no es el adecuado para controlarlo.
Aquí aparece la idea de colisiones por soft, se trata de determinar las cuatro esquinas que conforman el sprite y comprobar si las coordenadas del interior de este rectángulo coincide con las coordenadas de otro sprite determinado del mismo modo.
Como me ha costado unos cuantos días pelearme con esto, aquí os paso mi primera aproximación a la solución del problema, creo que cualquiera que desarrolle se encontrará con esto en algún momento.

Saludos!

Código: [Seleccionar]
; 10 SYS (2064)

v=$d000 ;inicio registros sprite

*=$0801

        BYTE    $0E, $08, $0A, $00, $9E, $20, $28,  $32, $30, $36, $34, $29, $00, $00, $00

*=$0810

        jsr sprite
l       jsr raster_wait
        jsr JOY
        jmp l

sprite  lda #3  ;pon 2 sprites en pantalla
        sta v+21
        lda #0
        sta v+39
        lda #3
        sta v+40
        lda #192
        sta 2040
        lda #193
        sta 2041
        lda #100
        sta v
        lda #190
        sta v+2
        lda #147
        sta v+1
        sta v+3
        rts

raster_wait             ;espera línea raster
l1      LDA #$EA
        CMP $D012
        BNE l1
        BIT $d011
        BMI l1
        rts

JOY     LDA $DC00   ;LEEMOS JOY
        AND #31     ;LA CUATRO DIRECCIONES ARRIBA ABAJO IZQ DER   
        CMP #30     
        BEQ ARR
        CMP #29
        BEQ ABJ
        CMP #27
        BEQ IZQ
        CMP #23
        BEQ DER
        rts

arr     dec $d001
        jsr coordenadas
        jsr comprueba_col           
        rts
abj     inc $d001   
        jsr coordenadas
        jsr comprueba_col           
        rts
izq     dec $d000
        jsr coordenadas
        jsr comprueba_col           
        rts
der     inc $d000
        jsr coordenadas
        jsr comprueba_col           
        rts

coordenadas             ;actualiza coordenadas de los 2 sprites
        lda v           ;y crea 4 variables con las 4 esquinas
        sta s1x1        ;de los sprites
        clc             ;s1x1 sprite 1 x1
        adc #23         ;s1x2 sprite 1 x2
        sta s1x2        ;etc....
        lda v+1
        sta s1y1
        clc
        adc #20
        sta s1y2

        lda v+2
        sta s2x1
        clc
        adc #23
        sta s2x2
        lda v+3
        sta s2y1
        clc
        adc #20
        sta s2y2
        rts             
s1x1    byte 0         
s1x2    byte 0
s1y1    byte 0
s1y2    byte 0
s2x1    byte 0
s2x2    byte 0
s2y1    byte 0
s2y2    byte 0

comprueba_col           ;comprueba colisión en base a las coordenadas
        lda s1x2        ;si se cumplen incrementa color borde
        cmp s2x1
        bcs comprueba_col1
        rts
comprueba_col1
        lda s1x1
        cmp s2x2
        bcc comprueba_col2
        rts
comprueba_col2
        lda s1y2
        cmp s2y1
        bcs comprueba_col3
        rts
comprueba_col3
        lda s1y1
        cmp s2y2
        bcc hit
        rts
hit     inc $d020
        rts

*=12288
incbin"prueba.bin"

4
Commodore Amiga / Aprendiendo como van los gráficos en el Amiga
« en: Noviembre 24, 2016, 16:50:14 »
Después de una temporada programando en ensamblador el C64, ahora quiero quitarme la espina de hacerlo también con el Amiga. El cambio del 6510 al 68000 todos son ventajas, nada en contra, a picar código y coger soltura. El cambio a comprender como va un Amiga internamente ya es más peliagudo, aquí hay que leer y analizar muchos listados para ir comprendiendo algo, es muy diferente al C64.
Por lo pronto es esencial entender lo que es una copperlist y todo lo que se puede llegar a hacer ahí, y una mínima rutina que controle que el Amiga no se quede colgado.
De momento ya se generar y combinar una barra copper, una imagen y un sprite deambulando por ahí, y comprender porque, poca cosa pero por algo se empieza.
Se que el aprendizaje sera largo pero creo que va a valer la pena. Os dejo un ADF para que veaís el progreso actual.

5
General / RobotLand
« en: Septiembre 29, 2016, 12:30:27 »
Buenas foreros, después de una temporada de reposo, vuelvo a la carga con un nuevo proyecto, RobotLand.
Aquí, además de continuar con mi aprendizaje del ensamblador del 6510 quiero conseguir un producto acabado, sin flecos, por lo pronto, como muestro en esta pequeña presentación los enemigos van de punta a punta de la pantalla, superado el problema de Excalibur que los enemigos no pasaban de la coordenada x 255 y pasan por delante y detrás de los caracteres.
Iré publicando en este hilo los avances en el desarrollo y espero vuestro feedback y sugerencias.
Empecé ayer, así que de momento disfrutar de la música de Kraftwerk por SLD

Saludos.

6
Commodore Amiga / Amibian
« en: Agosto 24, 2016, 12:49:34 »
Buenas, acabo de probar esta imagen en una Raspi3 y estoy gratamente sorprendido. Le he instalado workbench 3.1 y configurado para que arranque directamente y la sensación es totalmente de estar delante de un amiga clásico, y ademas de los potentes, todo fluido. He instalado varias aplicaciones, juegos WHDload y todo Ok. Casi se podría decir que por fin un Amiga nuevo y por 40€! Y sin ocupar espacio!
De hecho, la sensación es tan buena que ya que me he quitado la espina de conseguir programar en ensamblador del C64, creo que voy a probar de intentar  quitarme también la espina de programar el Amiga en ensamblador del 68000.

http://gunkrist79.wixsite.com/amibian por si queréis darle un vistazo, hay algunos vídeos por youtube también.

7
General / Kill the Alien
« en: Julio 06, 2016, 09:49:16 »
Muy buenas, como llevaba un tiempo atascado con Excalibur ( resolver bugs es más aburrido que crear de cero ), y en espera de mejor inspiración, he decidido dejar las espadas a un lado y pasarme al laser.
Estas 2 semanas he estado creando este "dispara a todo lo que se mueve" al que he llamado Kill the Alien.
Oleadas de aliens se abalanzan sobre nuestra nave espacial Commodore y les hemos de dar matarile adecuadamente.
Animo, carga tus lasers y limpia la galaxia!

8
General / Excalibur
« en: Abril 29, 2016, 13:03:06 »
Próximamente, en sus pantallas ....

EXCALIBUR!!!

El proyecto para trabajar este 2016.

9
Programación / El p*** salto
« en: Marzo 02, 2016, 11:17:09 »
Parecerá una tontería, pero me ha costado semanas dar con una rutina en la que controlar que el sprite saltara y volviera a su posición Y original, y no se fuera volando por la pantalla acumulando saltos. Al final me ha salido esto, código de el salto a la derecha:

 
Código: [Seleccionar]
V       = $D000
SALTODER LDA SWITCH ;PARA QUE NO VUELVA A SALTAR MIENTRAS ESTA
        CMP #1      ;EN UN SALTO Y SALGA VOLANDO
        BEQ FUERA
        LDA #195    ;QUE MIRE A LA DER
        STA 2040
        LDA V+1
        STA ACTUALV1 ;GUARDO POS V+1
        LDX #25      ;BUCLE PARA EL SALTO
        LDA #1
        STA SWITCH
G1      lda #12 ; RASTER PARA MOVIMIENTO FLUIDO
        cmp $d012
        bne G1
        DEC V+1 ;SALTA
        INC V
        JSR TESTX ;TESTEA SI + DE 255
        DEX
        CPX #0
        BNE G1 ;ACABA BUCLE SALTO X=0
GG1     LDA V+1 ;VUEVE A V+1 INICIAL, QUE NO VUELE
        CMP ACTUALV1
        BNE GG1
        LDA #0 ;AHORA YA PUEDE VOLVER A SALTAR
        STA SWITCH
FUERA   RTS

Mi solución a sido meter ese conector SWITCH, para que no volviera a meterse en el salto mientras ya estaba en uno. Hala, ya tengo el salto para el próximo proyecto.

Arrancar con SYS2080 para verlo.

10
General / Argos
« en: Noviembre 19, 2015, 13:17:19 »
Argos, aventuras y desventuras de mi segundo proyecto en ensamblador.

Despues de Race, sorprendido a mi mismo de conseguir un producto acabado por primera vez, me lance a algo un poco más complejo, nació así Argos, donde seguir practicando y descubriendo cosas nuevas en ensamblador.

Como positivo decir que ahora he aprendido a cargar datos desde el mismo programa y así reutilizar los mismos espacios de memoria, animación del player, combinar sprites con pantallas Hires, movimientos de los enemigos por interrupciones, contadores de vida del player y enemigos, reubicaciones, y lograr un "loop", logica del juego.

Por contra que cuando te lanzas a temas más complicados descubres más tus limitaciones, nulo diseño inicial y programas líneas a lo loco, cuando quieres organizarlo un poco ya es tarde, tendrías que rediseñarlo todo y ya tiras "palante" con lo que hay, pero bueno, todo es aprendizaje y sirve de experiencia para el siguiente proyecto.

En Argos, cada pantalla es hires, con lo que conlleva tener que cargar 40 bloques de disco en cada pantalla. Conclusión, para la siguiente investigar que el fondo sean chars multicolor editados y así con 1k sera suficiente.
Tambien me he encontrado con un bug importante, el mismo código que a la primera pasada funcionaba perfecto, no lo hacía así al reiniciar el juego, en que desaparecían sprites, se intercambiavan ¿?, y no le he encontrado más solución que repetir nivel en vez de volver a empezar desde el principio.
En el nivel de las arpias tambien me sucede que a veces aparece el marcador en lugar de la forma de la arpia cuando acabas el nivel, algo que no debería suceder pues el código no lo dice en ningún momento que haga eso, y por más que lo he hiperrevisado algo se me escapa aquí.

Pero bueno, en líneas generales, estoy contento con el resultado, en especial con el echo de proponerte algo y llevarlo a cabo. 

Con esto os quiero animar a que no le tengais miedo al ensamblador, en realidad ni siquiera hace falta saber mucho, con lo mínimo, LDA STA y un par de modos de direccionamiento esta echo casi todo lo que veis, lo que hay que saber es de Commodore y de eso ya tenemos unos lustros de experiencia, con la guia de referencia va que arde.

Bueno, acabo el tostón y aquí os dejo Argos, juzgarlo como lo que es, un ejercio de programación para aprender, y de paso enriquecer los premios Commodoremania2015 con otro candidato (Hey! Josepzin, trabajo).

Saludos foreros!

11
General / Race, el juego de Laddh
« en: Septiembre 14, 2015, 16:32:16 »
Un nuevo candidato a los premios, mi opera prima en ensamblador:

Race!

Última versión


12
Commodore Amiga / Juego revivído
« en: Marzo 02, 2015, 10:08:43 »
Un nuevo Laberinto (Hi Rulas), pero esta vez para Amiga. Dormía en la memoria de mi A500 este juego inacabado desde los años 90, y he decidido actualizarlo, darle un lavado de cara y dejarlo en un punto jugable. En el hago un homenaje a tres de mis grandes pasiones en la época Amiga, programar con Amos, la revista Fanzine (he adaptado su interfaz para los controles del juego) y la música de Estrayk. (de siempre mi músico scener favorito)

Descargar: http://aminet.net/game/misc/Laberinto_Ladd.lha

Por si quereis darle un vistazo, requiere disco duro.
Probado en A500 rom3.1 1 mb chip 2 mb fast con ACA500

13
Problemas Hardware y Software / F.A. pita
« en: Octubre 27, 2014, 08:44:14 »
Tras unos años huerfano, por fin me he vuelto a hacer con un C64, el C64c exactamente, todo parece Ok, menos la fuente que a los pocos minutos en cuanto se calienta, comienza a pitar, Piiiiiiiiiiiiiiiiiiiiii, la cafetera!
Sabeís si esto es reparable? la fuente es la típica del modelo panera.

14
Off-topic / 23 (Nada es lo que parece), una película de hackers alemanes
« en: Septiembre 20, 2014, 00:05:51 »
Amigos, acabo de ver esta peli que indico en el asunto y he flipado en colores, por primera vez en una peli oigo  que nombran más de 3 veces la palabra COMMODORE!, se ve una party de hackers y TODO son Commodores, va de unos hackers alemanes en los 80 y consiguen hackear de todo con un Commodre64SX! y pone que es basado en echos reales.
Estoy en pleno extasis... :o 8) :)

15
Off-topic / Música de Robocop 3
« en: Junio 13, 2014, 17:27:18 »
RoboCop 3 (NES) Music - Title Theme

Pedazo de tema de Jeroen Tel, pero los viejos del lugar ya lo habíamos oido en una demo de nuestro querido C64. Alguien recuerda en cual? Yo tras repasar viejas demos lo he encontrado...  ;D

Páginas: [1] 2