User Tag List

Página 3 de 3 PrimerPrimer 123
Resultados 31 al 35 de 35

Tema: Space Invaders for ZX Spectrum (By SplinterGU)

  1. #31

    Fecha de ingreso
    Jul 2009
    Mensajes
    8,657
    Mencionado
    60 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    837
    Agradecer Thanks Received 
    483
    Thanked in
    Agradecido 314 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Le he echado un vistazo rápido por encima y creo que nunca me acostumbrare al ensamblador del Z80, se me hace muy raro/dificil de leer, no sé si es porque los registros van con letras o por los nemónicos de las instrucciones. Aunque viniendo del 68000 se entiende en parte porque es un procesador muy fácil de programar en ensamblador.
    muchas gracias por los comentarios, tambien he dejado todas las viejas funciones en C, comentadas, pero reemplazan las de asm... asi que cualquiera con ganas, puede facilmente pasarlo a otras plataformas directamente en C (con las minimas modificaciones pertinentes)...
    ...

  2. #32

    Fecha de ingreso
    Jun 2021
    Mensajes
    1
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Muy bueno!

  3. #33

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    2,977
    Mencionado
    87 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    218
    Agradecer Thanks Received 
    636
    Thanked in
    Agradecido 342 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Le he echado un vistazo rápido por encima y creo que nunca me acostumbrare al ensamblador del Z80, se me hace muy raro/dificil de leer, no sé si es porque los registros van con letras o por los nemónicos de las instrucciones. Aunque viniendo del 68000 se entiende en parte porque es un procesador muy fácil de programar en ensamblador.
    Pues con el ensamblador del 68000 cometí algunos errores, al interpretar cómo funcionaban algunas instrucciones, que provocaban unos buenos bombacos en el STE

    Ahora, ¿el ensamblador generaba código máquina incorrecto? Porque eran instrucciones que no podían hacer lo que pretendía hacer con ellas, y el muy ***** no decía nada al generar el ejecutable xD

    Y sí, el ensamblador del 68000 es amigable, aunque también depende de lo que quieras hacer; porque para orquestar la partitura que gestiona los loops que componen la música, son todo .wavs, fué mucho más simple hacerlo con una sencilla función en C con un switch y algunos if-else dentro, que hacerlo en ensamblador... de hecho en ensamblador, el comprobar si había terminado de reproducirse tantas veces un loop, y si tenía que saltar a tal posición de la partitura y reemplazar ese canal... se empezó a volver un laberinto.

    Tampoco me quiero imaginar el infierno horroroso que tiene que ser gestionar una lista de entidades, los sprites por ejemplo; saber quienes están marcados para seguir ejecutando su función de dibujado, de IA y de colisión. A quienes hay que eliminar, liberar su estructura de datos y marcarla como libre para otra posible entidad... quién se tiene que dibujar por encima de cualquier otro...

    Esa gestión en las AGT, la vez que le eché un vistazo, está escrita en C.

  4. #34

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,013
    Mencionado
    36 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    987
    Agradecer Thanks Received 
    1,025
    Thanked in
    Agradecido 721 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    Pues con el ensamblador del 68000 cometí algunos errores, al interpretar cómo funcionaban algunas instrucciones, que provocaban unos buenos bombacos en el STE

    Ahora, ¿el ensamblador generaba código máquina incorrecto? Porque eran instrucciones que no podían hacer lo que pretendía hacer con ellas, y el muy ***** no decía nada al generar el ejecutable xD
    No creo que sea culpa del ensamblador, pero ten en cuenta que si accedes a una dirección impar como .w o .l tendrás un address error. Y si accedes a los registros hardware o vectores de interrupción sin estar en modo supervisor tendrás un bus error.

    -----Actualizado-----

    Ahora importa poco porque lo normal es que ensambles en PC y después pruebes las cosas en un emulador, pero programar en el 68000 es muchísimo mas fácil que en cualquier procesador de 8 bits, si intentas hacer algo ilegal o haces un salto mal a una zona donde no hay código te saltara alguna excepción, en un z80 o 6502 sigue para adelante hasta que se cuelga la maquina, por lo que te costara mas encontrar el error.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  5. #35

    Fecha de ingreso
    Jul 2009
    Mensajes
    8,657
    Mencionado
    60 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    837
    Agradecer Thanks Received 
    483
    Thanked in
    Agradecido 314 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    Pues con el ensamblador del 68000 cometí algunos errores, al interpretar cómo funcionaban algunas instrucciones, que provocaban unos buenos bombacos en el STE

    Ahora, ¿el ensamblador generaba código máquina incorrecto? Porque eran instrucciones que no podían hacer lo que pretendía hacer con ellas, y el muy ***** no decía nada al generar el ejecutable xD

    Y sí, el ensamblador del 68000 es amigable, aunque también depende de lo que quieras hacer; porque para orquestar la partitura que gestiona los loops que componen la música, son todo .wavs, fué mucho más simple hacerlo con una sencilla función en C con un switch y algunos if-else dentro, que hacerlo en ensamblador... de hecho en ensamblador, el comprobar si había terminado de reproducirse tantas veces un loop, y si tenía que saltar a tal posición de la partitura y reemplazar ese canal... se empezó a volver un laberinto.

    Tampoco me quiero imaginar el infierno horroroso que tiene que ser gestionar una lista de entidades, los sprites por ejemplo; saber quienes están marcados para seguir ejecutando su función de dibujado, de IA y de colisión. A quienes hay que eliminar, liberar su estructura de datos y marcarla como libre para otra posible entidad... quién se tiene que dibujar por encima de cualquier otro...

    Esa gestión en las AGT, la vez que le eché un vistazo, está escrita en C.
    juraria recordar que habias hecho cosas en ensamblador...

    sin dudas C es mas facil... pero es cuestion de practica, yo hacia muchisimos años que no tocaba asm... bah, incluso hacia un tanto que no programaba nada... y hasta me costo unos minutos cosas como un puntero para acceder a cierta zona de la memoria... bah, no es que no lo hice, sino que lo hice muy rebuscado...
    ...

Página 3 de 3 PrimerPrimer 123

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •