User Tag List

Página 6 de 7 PrimerPrimer ... 234567 ÚltimoÚltimo
Resultados 76 al 90 de 102

Tema: Programando en MSDOS con VGA

  1. #76

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    5,764
    Mencionado
    36 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    915
    Agradecer Thanks Received 
    918
    Thanked in
    Agradecido 655 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    Tampoco es un port tan bueno; me habría gustado usar la CPU de PS1 para el tema del audio (es lo que hacen los juegos comerciales), pero no sé cómo hacerlo... y luego está el problema de cargar datos en memoria y descargarlos, que las funciones load y unload de Bennu no tienen su respaldo; cuando haces un unload los datos se descargan, pero la memoria no se desfragmenta y si descargas y cargas muchas cosas... al final te quedas sin memoria disponible, porque ésta queda como un queso gruyere.


    Los juegos comerciales implementan ellos mismos sus funciones "malloc y free"; y lo hacen usando otra vez la CPU de PS1, y tampoco sé cómo hacerlo...

    Al final lo único que descargo cuando uso Bennu en PS2 es lo último que metía en memoria; el enorme .wav con la música... así no se queda fragmentada la memoria.


    Por cierto, en el ST y el STE no estamos teniendo estos problemas al hacer free; tal vez estas implementaciones vienen en la ROM de la máquina; es triste que PS2 lo único que tenga es un kernel en tiempo-real como el de un microcontrolador, y ni funciones ni leches... Una falta de doc. / ejemplos muy grande, o la falta del SDK comercial, más bien esto último.
    Yo uso estas rutinas en la Jaguar y no tengo ningún problema.
    tinyalloc.zip
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  2. El siguiente usuario agradece a swapd0 este mensaje:

    masteries (15/07/2020)

  3. #77

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    2,899
    Mencionado
    84 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    199
    Agradecer Thanks Received 
    577
    Thanked in
    Agradecido 312 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Yo uso estas rutinas en la Jaguar y no tengo ningún problema.
    tinyalloc.zip
    Pintan muy bien, breves y autocontenidas.

    He estado viendo que tiene función de compactado. Tendré que ir probándolas,

    ¡Gracias!
    La maestría interior...

    Metal Slug para Atari STE: Video-1 Video-2

    En venta memorias de 512 KB y 1 MB para Amiga 500 y Amiga 500 Plus

  4. #78

    Fecha de ingreso
    Jul 2009
    Mensajes
    8,629
    Mencionado
    58 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    809
    Agradecer Thanks Received 
    430
    Thanked in
    Agradecido 301 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    Tampoco es un port tan bueno; me habría gustado usar la CPU de PS1 para el tema del audio (es lo que hacen los juegos comerciales), pero no sé cómo hacerlo... y luego está el problema de cargar datos en memoria y descargarlos, que las funciones load y unload de Bennu no tienen su respaldo; cuando haces un unload los datos se descargan, pero la memoria no se desfragmenta y si descargas y cargas muchas cosas... al final te quedas sin memoria disponible, porque ésta queda como un queso gruyere.


    Los juegos comerciales implementan ellos mismos sus funciones "malloc y free"; y lo hacen usando otra vez la CPU de PS1, y tampoco sé cómo hacerlo...

    Al final lo único que descargo cuando uso Bennu en PS2 es lo último que metía en memoria; el enorme .wav con la música... así no se queda fragmentada la memoria.


    Por cierto, en el ST y el STE no estamos teniendo estos problemas al hacer free; tal vez estas implementaciones vienen en la ROM de la máquina; es triste que PS2 lo único que tenga es un kernel en tiempo-real como el de un microcontrolador, y ni funciones ni leches... Una falta de doc. / ejemplos muy grande, o la falta del SDK comercial, más bien esto último.
    la fragmentacion de memoria siempre es un problema en todas las plataformas, yo recuerdo que hace muchos años tuve que hacer un manejador propio de memoria para PC en un sistema non-stop de alta disponibilidad, porque fragmentaba muchisimo... el tema esta en reaprovechar inteligentemente la memoria, en los mallocs/free nunca se defragmenta la memoria, lo que necesitas es un buen sistema donde los mallocs asignen el primer o ultimo segmento mas chico disponible dentro de un area ya fragmentada, intentando que los agujeros libres queden agrupados para liberarlos luego en un solo bloque mas grande...

    con respecto a bennugd por opengl que menciona drumpi, esta estancado, todo lo opengl esta funcional, pero faltan algunas otras cosas, y voy a hacer un rediseño a todo, hacerlo algo mas profesional... asi como es bennugd no es muy profesional que digamos...

    eso de dibujar solo los cambios de un sprite lo hace ya bennugd, son las "dirty rects"... sin embargo, en opengl ya no usa eso, dibuja completo el sprite...
    ...

  5. El siguiente usuario agradece a SplinterGU este mensaje:

    fbustamante (16/07/2020)

  6. #79

    Fecha de ingreso
    Jul 2009
    Mensajes
    8,629
    Mencionado
    58 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    809
    Agradecer Thanks Received 
    430
    Thanked in
    Agradecido 301 veces en [ARG:2 UNDEFINED] posts
    ahi lei el hilo, esta muy lindo el engine de msdos
    ...

  7. #80

    Fecha de ingreso
    Oct 2012
    Mensajes
    201
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    94
    Thanked in
    Agradecido 33 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    es triste que PS2 lo único que tenga es un kernel en tiempo-real como el de un microcontrolador, y ni funciones ni leches... Una falta de doc. / ejemplos muy grande, o la falta del SDK comercial, más bien esto último.
    Nunca vi demasiado homebrew para PS2, a parte de los emuladores, no se, debió ser difícil. Pero en PSP estaba tirado y aun así casi nadie usaba las funciones hardware, todo a lo bestia .

  8. #81

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    5,764
    Mencionado
    36 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    915
    Agradecer Thanks Received 
    918
    Thanked in
    Agradecido 655 veces en [ARG:2 UNDEFINED] posts
    Normalmente a mayor éxito de la consola menor scene homebrew. Tal vez la única excepción sea la NES, pero mira que pocas sosas hay para la PSX (a pesar de tener la yaroze) y la PS2.

    Y la 2600... pero ese caso creo que es porque la gente es masoca.
    Última edición por swapd0; 16/07/2020 a las 19:04
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  9. #82

    Fecha de ingreso
    Jul 2010
    Ubicación
    Octania calling
    Mensajes
    6,098
    Mencionado
    73 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,178
    Agradecer Thanks Received 
    925
    Thanked in
    Agradecido 631 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por chipan Ver mensaje
    Lo de ps3 era porque estaba "mal diseñada", pues no es lo mismo un porcesador multicore que tener un monocore con varios SPEs. Mientras que un multicore es relativamente facil de programar (cada core hace una cosa), en un procesador monocore con varios SPEs, el core principal es el que reparte el trabajo entre los hilos de los SPEs, por lo que es muy facil provocar un cuello de botella si no se programa con cuidado.
    Vaya timo lo de los SPEs , me gustaria saber cuantos juegos habran aprovechado de verdad los SPEs.

  10. #83

    Fecha de ingreso
    Oct 2012
    Mensajes
    201
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    94
    Thanked in
    Agradecido 33 veces en [ARG:2 UNDEFINED] posts
    He hecho una demo para MS-DOS copiando la demo "Cute Demo" que hice para Game Boy Color. Quería que funcionase bien en un 8086 a 8 MHz(como siempre), y si hago caso al emulador PCem (la captura del video está sacada de PCem), pues lo conseguí. (También me han dicho que lo han probado y funciona bien en 8088 a 9 MHz).

    He tenido que utilizar todas las funciones hardware de VGA que descubrí programando el motor de juego, y alguna mas que encontré (como la posibilidad de estirar la imagen por hardware). También utilizo todos los trucos del ensamblador x86 que encontré, para recrear efectos tipicos de demos (Parallax, rotozoom, ciclos de paletas...). Espero que sirva como resumen de lo que se puede lograr en los primeros PC con la ayuda de VGA.

    El código fuente esta en C con ensamblador "inline" (que es como más cómodo me resulta usar el ensambblador sin perderme en miles de lineas de código).



    Fuente: https://github.com/mills32/CUTE_DEMO-MS-DOS

  11. Los siguientes 10 usuarios agradecen a mills332 este post:

    DarkDijkstra (21/01/2021), dj syto (22/01/2021), fbustamante (21/01/2021), JoJo_ReloadeD (21/01/2021), Kabanya (21/01/2021), Karkayu (21/01/2021), masteries (21/01/2021), romeroca (22/01/2021), selecter25 (22/01/2021), swapd0 (21/01/2021)

  12. #84

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    2,899
    Mencionado
    84 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    199
    Agradecer Thanks Received 
    577
    Thanked in
    Agradecido 312 veces en [ARG:2 UNDEFINED] posts
    ¡Se sale Sr. Mills332!

    Un 8086 a 8 MHz con una VGA; nos queda claro que la VGA se caga en los ST/STE/Amiga 500; pese a ser a nivel hardware de vídeo un concepto más sencillo, que el global del hardware de vídeo de algunas de las citadas máquinas.

    Me atrevo a decir que incluso le da sopas con onda a una Super Nintendo; cierto que se han empleado un montón de trucos y descubrimientos que en su día quizá no se conocieron, o los conocieron unos pocos. Pero es que las demos de STE / A500 que hay a este nivel, han necesitado de la colaboración de Gurús para hacerlas realidad; y disponen de una CPU mejor que el 8086, y encima nos dices
    que funciona igual de bien en un 8088 que es de 8 bits, y eso ya es la traca.


    Vale que muchos de los trucos que has usado los llamas "Completely faked"; pero en una demo técnica, e incluso los videojuegos; están hasta el tope de "fakes" de esos, de hecho esos "fakes" acaban siendo la manera habitual de dibujar muchas cosas... como iba a mover un Atari ST o un Amiga 500 la carretera en la serie de juegos Lotus (¿repintando el 50% de la pantalla a 50 / 60 fps? Claro que no, recurren a trucos de estos).


    ¡Me encanta lo que has logrado!
    Última edición por masteries; 21/01/2021 a las 13:10
    La maestría interior...

    Metal Slug para Atari STE: Video-1 Video-2

    En venta memorias de 512 KB y 1 MB para Amiga 500 y Amiga 500 Plus

  13. #85

    Fecha de ingreso
    Jul 2006
    Ubicación
    Madriz
    Mensajes
    1,228
    Mencionado
    22 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    159
    Agradecer Thanks Received 
    223
    Thanked in
    Agradecido 127 veces en [ARG:2 UNDEFINED] posts
    ¡Pintaza!

    En cuanto tenga un rato lo pruebo en mi "pequeñín" (8088 10Mhz) Lástima que no puedo pinchar la VGA y la Adlib al mismo tiempo XD

  14. #86

    Fecha de ingreso
    Oct 2012
    Mensajes
    201
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    94
    Thanked in
    Agradecido 33 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por masteries Ver mensaje
    ¡Se sale Sr. Mills332!

    Un 8086 a 8 MHz con una VGA; nos queda claro que la VGA se caga en los ST/STE/Amiga 500; pese a ser a nivel hardware de vídeo un concepto más sencillo, que el global del hardware de vídeo de algunas de las citadas máquinas.

    Me atrevo a decir que incluso le da sopas con onda a una Super Nintendo; cierto que se han empleado un montón de trucos y descubrimientos que en su día quizá no se conocieron, o los conocieron unos pocos. Pero es que las demos de STE / A500 que hay a este nivel, han necesitado de la colaboración de Gurús para hacerlas realidad; y disponen de una CPU mejor que el 8086, y encima nos dices
    que funciona igual de bien en un 8088 que es de 8 bits, y eso ya es la traca.


    Vale que muchos de los trucos que has usado los llamas "Completely faked"; pero en una demo técnica, e incluso los videojuegos; están hasta el tope de "fakes" de esos, de hecho esos "fakes" acaban siendo la manera habitual de dibujar muchas cosas... como iba a mover un Atari ST o un Amiga 500 la carretera en la serie de juegos Lotus (¿repintando el 50% de la pantalla a 50 / 60 fps? Claro que no, recurren a trucos de estos).


    ¡Me encanta lo que has logrado!

    Bueno a ver, cagarse no se caga jaja. Pero es cierto que si se hubieran utilizado estos trucos en mas juegos y con un 286 (Creo que la cpu 68000 esta mas cerca del 286), si se habrian logrado cosas igual que las de amiga. Por ej, gastas 240 colores para el degradado de fondo del homer marciano, pero te quedan 16 colores para los sprites y el escenario, y podrias hacer el titus the fox a 50 fps en un 286 con los sprites y todo (ese juego solo usa 16 colores para todo). Claro que hay algun juego de 286 que hace eso, o algo parecido (doofus), pero no fue lo común.

    Y claro ese sprite del cohete.. es mentira, si que esta dibujandolo, pero de 4 en 4 pixeles y no lo borra, simplemente tiene el borde con los colores del fondo y al moverse va dejando el mismo rastro y parece que se borra.

    De todas formas la VGA es muy cutre, el scroll es un horror, ocupa 15 lineas de codigo, pero algo es algo.
    Última edición por mills332; 21/01/2021 a las 14:29

  15. #87

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    5,764
    Mencionado
    36 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    915
    Agradecer Thanks Received 
    918
    Thanked in
    Agradecido 655 veces en [ARG:2 UNDEFINED] posts
    Pero tener VGA y un 8088 era muy raro, lo normal seria tener un 386 y si me apuras un 286.

    Al final pasa lo de siempre, no había mucha documentación sobre la VGA y si haces algo especifico para VGA dejas al resto de usuarios fuera.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  16. #88

    Fecha de ingreso
    Oct 2012
    Mensajes
    201
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    94
    Thanked in
    Agradecido 33 veces en [ARG:2 UNDEFINED] posts
    Es cierto, los 8086 y muchos 286 aún usaban EGA o hasta CGA, pocos se molestaron en usar trucos, si a base de fuerza bruta los movía más o menos, pues ya está.

  17. #89

    Fecha de ingreso
    Apr 2006
    Mensajes
    10,692
    Mencionado
    145 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,047
    Agradecer Thanks Received 
    2,993
    Thanked in
    Agradecido 1,403 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    15
    Wow, impresionante... cuando tenga un rato lo pruebo en hardware real


  18. #90

    Fecha de ingreso
    Jul 2010
    Ubicación
    Octania calling
    Mensajes
    6,098
    Mencionado
    73 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,178
    Agradecer Thanks Received 
    925
    Thanked in
    Agradecido 631 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por JoJo_ReloadeD Ver mensaje
    Wow, impresionante... cuando tenga un rato lo pruebo en hardware real
    Queremos video. Yo seré el primero en comentar que eres un farsante , que detrás hay un pentium moviendo eso

Página 6 de 7 PrimerPrimer ... 234567 ÚltimoÚltimo

Permisos de publicación

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