User Tag List

Resultados 1 al 9 de 9

Tema: ASM 8088, int 10h para modos hércules

  1. #1

    Fecha de ingreso
    Jul 2006
    Ubicación
    Madriz
    Mensajes
    1,260
    Mencionado
    24 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    167
    Agradecer Thanks Received 
    260
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts

    ASM 8088, int 10h para modos hércules

    Buenas, a ver una pregunta de esas mías sobre cosas obsoletas y que nadie usa...

    Llevo unos días aburrido (Elden Ring terminado) y estaba trasteando de nuevo con mi 8088 (con una gráfica hercules) ya que lo he movido de sitio. Siempre que hacía cosillas en ASM terminaba tirando de modos CGA y SIMCGA, pero me gustaría hacer algo en hercules real, tengo esa espinita clavada.

    Cuesta encontrar documentación "moderna", pero parece que una de las maneras que mejor me encajaría sería usar la "extensión" de la BIOS que habilita funciones a través de la interrupción 10h

    En un montón de sitios aparece documentada, siempre con la coletilla "GRAFIX / GRAPH X" o "HERCULES.COM", tipo:

    Nombre:  Screenshot 2022-03-23 at 12.30.41.png
Visitas: 337
Tamaño: 70.1 KB

    Parece que una empresa ("Soft Warehouse") hizo ese programa en su día HERCULES.COM (de pago) que carga el "driver" con las extensiones en la BIOS, pero es imposible soy muy inútil como para encontrarlo. En sitios como vetusware o winworld hay algunas cosillas para hercules, pero parecen drivers específicos para programas o para el BASIC de los IBM, nunca ese famoso "HERCULES.COM"

    Invoco una vez más a los sabios ancenstrales de este foro, a ver si alguien puede arrojar algo de luz...
    Última edición por DarkDijkstra; 23/03/2022 a las 13:12

  2. El siguiente usuario agradece a DarkDijkstra este mensaje:

    princemegahit (24/03/2022)

  3. #2

    Fecha de ingreso
    Jan 2022
    Mensajes
    181
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    83
    Agradecer Thanks Received 
    44
    Thanked in
    Agradecido 26 veces en [ARG:2 UNDEFINED] posts
    ASM me encantaría aprender mas.
    Menos consolas emuladoras chinescas y mas Misters!

  4. #3

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,657
    Mencionado
    43 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,234
    Agradecer Thanks Received 
    1,309
    Thanked in
    Agradecido 900 veces en [ARG:2 UNDEFINED] posts
    Yo creo que con usar esto ya pones el modo de video de la Hercules, sin tener ningún programa instalado. El modo Hercules creo que seria el 0xf

    https://lateblt.tripod.com/bit24.txt
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  5. #4

    Fecha de ingreso
    Sep 2005
    Mensajes
    13,517
    Mencionado
    221 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    412
    Agradecer Thanks Received 
    1,084
    Thanked in
    Agradecido 778 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por mariarcade Ver mensaje
    ASM me encantaría aprender mas.
    No, no quieres... a menos que los programas que quieras hacer sean cosas sencillas, sin gráficos ni nada
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  6. #5

    Fecha de ingreso
    Jul 2006
    Ubicación
    Madriz
    Mensajes
    1,260
    Mencionado
    24 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    167
    Agradecer Thanks Received 
    260
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Yo creo que con usar esto ya pones el modo de video de la Hercules, sin tener ningún programa instalado. El modo Hercules creo que seria el 0xf

    https://lateblt.tripod.com/bit24.txt
    El problema es que al usar la INT 10h, los modos de video están incluidos en la BIOS, por ejemplo el "modo 13" que todos hemos usado alguna vez para "pintar píxels" a 320x200 en VGA escribiendo directamente los bytes en memoria... peeeeeero Hercules no estaba incluido "en el estándar de IBM" (porque era competencia de CGA realmente) y no viene en la BIOS

    De hecho tienes que usar otros valores en AH a la hora de activar la INT 10h, y haber "activado" antes esas funciones en la BIOS a base de programas residentes, por ejemplo:

    http://fd.lod.bz/rbil/interrup/video/1040.html

    El caso es que anoche por fin encontré cosas (tanto para ASM como para C, ambas interesantes), la clave fue buscar por "HERCBIOS.COM"

    Cita Iniciado por Drumpi Ver mensaje
    No, no quieres... a menos que los programas que quieras hacer sean cosas sencillas, sin gráficos ni nada
    Realmente en ese PC me gusta usar ensamblador para hacer micro-programas que generalmente pintan cosas... a quién le interesa programar algo que no pinte en pantalla!?

    Creo que ya lo he recomendado aquí, pero un libro divertido para hacer cosillas de ese estilo es "Programming Boot Sector Games", de Oscar Toledo

    Por otro lado, mirando cosillas de Atari 2600 y Apple ][, definitivamente el ensamblador de los 8086/8088 es "muy feo" frente al del 6502, simplemente por sus indexaciones esotéricas de memoria XD

  7. #6

    Fecha de ingreso
    Sep 2005
    Mensajes
    13,517
    Mencionado
    221 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    412
    Agradecer Thanks Received 
    1,084
    Thanked in
    Agradecido 778 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por DarkDijkstra Ver mensaje
    Realmente en ese PC me gusta usar ensamblador para hacer micro-programas que generalmente pintan cosas... a quién le interesa programar algo que no pinte en pantalla!?

    Creo que ya lo he recomendado aquí, pero un libro divertido para hacer cosillas de ese estilo es "Programming Boot Sector Games", de Oscar Toledo

    Por otro lado, mirando cosillas de Atari 2600 y Apple ][, definitivamente el ensamblador de los 8086/8088 es "muy feo" frente al del 6502, simplemente por sus indexaciones esotéricas de memoria XD
    Claro, para hacer micro programas está chulo, y si tienes experiencia con ASM puedes hacer cosas increíbles (me anoto el libro por si algún día me da por ponerme en serio con ASM).
    Pero nunca se lo recomendaría como lenguaje de programación a ningún novato, y si quieres ser productivo hay mejores formas de hacerlo... bueno, si estás programando ordenadores de 8 bits, casi que no.

    Llevo mucho tiempo rumiando hacer un jueguecillo en ASM para un ordenador de 8 bits tipo Amstrad CPC, o incluso aquella "consola virtual", que no me acuerdo el nombre, que se programaba en LUA y traía sus propios editores, pero al final siempre llego a la misma conclusión: es mejor que lo haga en Bennu, y me imponga mis propias restricciones, o tardaría la misma vida en hacer algo
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  8. #7

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,657
    Mencionado
    43 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,234
    Agradecer Thanks Received 
    1,309
    Thanked in
    Agradecido 900 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por DarkDijkstra Ver mensaje
    Por otro lado, mirando cosillas de Atari 2600 y Apple ][, definitivamente el ensamblador de los 8086/8088 es "muy feo" frente al del 6502, simplemente por sus indexaciones esotéricas de memoria XD
    Yo también quiero aprender ensamblador del 6502, es curioso lo simple que es el procesador y a pesar de eso tiene un rendimiento decente.

    Por otro lado no te recomiendo programar para la Atari 2600 ya que es bastante complicado hacer algo en ella, al no tener memoria gráfica todo lo haces con la CPU y tienes que estar sincronizado con el haz de electrones, incluso para poner un sprite en pantalla no tienes un registro donde poner la coordenada del sprite, sino que le asignas la posición del haz en ese momento y después tienes otro registro para la posición por pixel (0..15 aunque IIRC la posición es -8..7)

    -----Actualizado-----

    Cita Iniciado por Drumpi Ver mensaje
    incluso aquella "consola virtual", que no me acuerdo el nombre, que se programaba en LUA y traía sus propios editores
    Pico8
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  9. #8

    Fecha de ingreso
    Jul 2010
    Ubicación
    Octania calling
    Mensajes
    6,210
    Mencionado
    74 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,223
    Agradecer Thanks Received 
    958
    Thanked in
    Agradecido 658 veces en [ARG:2 UNDEFINED] posts
    Creo que en algún floppy de juegos tenía ese archivo..o puede que lo confunda con el MSHERC.COM de Microsoft, pero no te aseguro nada, tengo como 500 floppys, no va a ser fácil, pero si recuerdo que si está todavia el contenido y no lo borré, estará en los primeros que todavia me acuerdo que marcas eran y el modelo. Es que durante mucho tiempo cuando todos ibais por el 486 como humanos normales de verdad, yo iba con un 286 con un clon de hércules, así que me hice con bastantes juegos que iban en ese modo o en modo SIMCGA, claro está.
    Me parece muy interesante que quieras hacer experimentos en ASM para hercules, un modo "gráfico" que siempre estuvo poco utilizado y a mi me trae mucha nostalgia de la buena (nadie se vende una tarjeta y un monitor hercules? xD )

  10. #9

    Fecha de ingreso
    Jul 2006
    Ubicación
    Madriz
    Mensajes
    1,260
    Mencionado
    24 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    167
    Agradecer Thanks Received 
    260
    Thanked in
    Agradecido 147 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Yo también quiero aprender ensamblador del 6502, es curioso lo simple que es el procesador y a pesar de eso tiene un rendimiento decente.

    Por otro lado no te recomiendo programar para la Atari 2600 ya que es bastante complicado hacer algo en ella, al no tener memoria gráfica todo lo haces con la CPU y tienes que estar sincronizado con el haz de electrones, incluso para poner un sprite en pantalla no tienes un registro donde poner la coordenada del sprite, sino que le asignas la posición del haz en ese momento y después tienes otro registro para la posición por pixel (0..15 aunque IIRC la posición es -8..7)
    Sí, es una risa la Atari 2600... precisamente alguien (no recuerdo, fuiste tú?) compartió el vídeo de "Riding the beam" y me picó la curiosidad. Supongo que ya se conocerá, pero en esta web https://8bitworkshop.com/v3.9.0/ se puede trastear un montón con varios sistemas y tiene ejemplos muy buenos... y sí lo de los sprites con el ajuste "en bruto" y el "fino" por ejemplo es brutal... la programación de esa época sí que tiene mérito.

    Un sitio para aprender un poco de 6502 así sencillo es este: http://skilldrick.github.io/easy6502/
    "Hace trampas" para pintar en pantalla y te facilita mucho hacer chorradillas fácilmente, que aunque no correrían en un hw real, te valen para aprender y soltarte. Mención especial al comentario:

    Then why 6502? Why not a useful assembly language, like x86? Well, I don’t think learning x86 is useful.
    I don’t think you’ll ever have to write assembly language in your day job - this is purely an academic exercise, something to expand your mind and your thinking.
    6502 was originally written in a different age, a time when the majority of developers were writing assembly directly, rather than in these new-fangled high-level programming languages. So, it was designed to be written by humans. More modern assembly languages are meant to written by compilers, so let’s leave it to them. Plus, 6502 is fun. Nobody ever called x86 fun.

    Y oye, razón seguramente no le falte...

    De hecho a veces miro por curiosidad precios de los Apple ][ (sobre todo porque aunque yo no tuve nada que no fuese PC siempre me parece "nostálgico", mucha gente empezó programando juegos en esa máquina) y luego al verlos pienso "Que sí, que tienes un PC retro ahí delante muy resultón, ponte con él y olvídate del 6502" XD

    -----Actualizado-----

    Cita Iniciado por princemegahit Ver mensaje
    Creo que en algún floppy de juegos tenía ese archivo..o puede que lo confunda con el MSHERC.COM de Microsoft, pero no te aseguro nada, tengo como 500 floppys, no va a ser fácil, pero si recuerdo que si está todavia el contenido y no lo borré, estará en los primeros que todavia me acuerdo que marcas eran y el modelo. Es que durante mucho tiempo cuando todos ibais por el 486 como humanos normales de verdad, yo iba con un 286 con un clon de hércules, así que me hice con bastantes juegos que iban en ese modo o en modo SIMCGA, claro está.
    Me parece muy interesante que quieras hacer experimentos en ASM para hercules, un modo "gráfico" que siempre estuvo poco utilizado y a mi me trae mucha nostalgia de la buena (nadie se vende una tarjeta y un monitor hercules? xD )
    Indagando a raíz de todo esto también he visto ese MSHERC.COM, luego miro si viene en el MSDOS que tengo instalado... igual estaba buscando más lejos de donde me hacía falta

Permisos de publicación

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