Han logrado hackear un IBM PC 5150 del año 1981 (procesador a 4,77 megahercios (0,00477 Ghz), 640 Kb de RAM y un disco duro de 10 MB) para que reproduzca vídeo a pantalla completa, en color y con sonido. Dadas las limitaciones de la tarjeta gráfica CGA (4 colores, 320 x 200) el vídeo no tiene mucha resolución, pero es realmente impresionante. ¿Están bien aprovechados nuestros equipos? ¿Qué lograrán hacer dentro de 20 años con un ordenador de los de ahora?
Si no recuerdo mal, esta hecho con el modo "high ascii art" de las aalib, unas librerias para ascii art que permiten renderizar desde video hasta motores 3d con gourald shading (hay un jodido port de quake 3 arena a modo ascii echo con eso).
De todas formas, bestial. Sublime. No tengo palabras. Una cosa es mover video en una maquina nueva, y otra lo que han logrado esta gente.
Hace más de 10 años, que vengo usando 3dStudio, y el aumento espectacular de potencia del hardware no se ha traducido en rendering en tiempo real, porque sin duda le han metido dentro un bucle infinito... eso pensamos todos los que llevamos más de 10 años usándolo...
En los juegos, la mayoría de las veces, se suple con potencia de hardware la imcompetencia de los programadores y la ineficiencia de sus rutinas. Si os fijais, ya nadie hace "DEMOS" como hace años, ahora hacen juegos, a modo de Demos, y así nos va, parche tras parche, etc... Comprarse un original que ni siquiera está terminado... en fin, no se que esperan.
Hace mínimo 2 años que la vi por primera vez.
A mi me parece vergonzoso y sobretodo algunos casos donde por ejemplo un juego es IMPOSIBLE de pasarselo porque tiene algun fallo.Por ejemplo en aventuras graficas que falte un objeto y sea imposible avanzar o en Half-life source,que habia una puerta que no se abria y tenias que hacer el truco de atravesar paredes para poder pasarla y seguir normalmente
Estas cosas me parecen vergonzosas.Si el juego es imposible de pasar.Como se lo pasaron los beta testers?Que hacen los beta testers? Juegan? De verdad prueban las cosas? Hace años qu pienso que los testers no existen y son solo leyenda urbana
Por otro lado, también hay que pensar en la productividad. Un mejor hardware permite optimizar menos, y sacar productos más rápido. ¿Estaríamos dispuestos a pagar el doble por un juego sólo para que use la mitad de memoria o de cpu?
edito: joder que punto, no leí ni el texto del titular y voy y pongo lo mismo XD
Pero vamos es una suposición eh? que de lo poco que lo supe ya no me acuerdo como iba el cga...
Por cierto, acerca tu culo, porque sí, un humano puede ajustar el ensamblador a límites a los que no llega ningún compilador comercial, por bueno que sea. Es precisamente eso, amigo, lo que ha convertido a Id.Software y sus motores gráficos en una empresa multinacional de facturación mundial y referente desde hace años. Y la política que tu comentas, la de tecnologías convergentes (java, etc...) le han ido muy bien a las empresas desarrolladoras por su menor coste humano y especializado, pero muy mal a todos los demás (esos mismos humanos, que para más inri, han tenido que pagar de su bolsillo la potencia hardware adicional para mover esas tecnologías "convergentes" y han visto una desespecialización del mundo de la informática, BRUTAL).
Deberíamos exigir a los fabricantes de hardware el diseño de un ordenador modular, donde placa, procesador y memoria, fueran realmente intercambiales, digamos una especie de chasis, al que pudieras montar cualquier, REPITO, CUALQUIER tipo de motor (procesador), con comunicación en paralelo entre todos sus componentes.
Ya está bien de cambios insignificantes cada 2 años, para ganar 4 Mhz de velocidad que se pierden en el tapón del bus de datos, por ejemplo. Nos toman el pelo, últimamente, de una manera escandalosa...
Recomiendo la lectura de algo de bibliografia antes de postear de memoria.
Y lo de la música, está claro que va a parte. La ha añadido por darle algo más de espectáculo.
Impresionante, por cierto.
Si a un ordenador de 1981 le metes hardware de varios años después, entonces ya no es un ordenador de 1981.
#37, he pensado lo mismo que tú pero no lo he dicho pq no estaba seguro y el video me ha hecho dudar.
pouet.net/prod.php?which=30244
O este juego de 96 kb:
www.theprodukkt.com/kkrieger
En cuanto al sonido de PC speaker, yo vi un reproductor una vez que reproducía por pc speaker muy bien, con cierta distorsión. Creo que era el programa que han mencionado más arriba (visual player) y me quedé boquiabierto. Eso sí, no funcionaba bajo windows (hacía pitidos y se bloqueaba en lugar de sonar), creo que requiere el modo real.
¿Hacer que Windows funcione? :-D
Por cierto, es evidente que tiempo atrás se hacían maravillas en asm, entre otras cosas porque no había mas salida. El hardware fue mejorando a un ritmo muy lento y la batalla por sacar cosas mas impactantes aprovechando el mismo hardware estaba al orden del día. Hoy en día no es raro que salga John Carmack (aunque sé que no es buen ejemplo) y diga que está preparando un juego pensado para los ordenadores que verán la luz dentro de 5 años, es otro mundo.
Pero obviamente tampoco hay que idolatrar la programación en asm. Hoy en día a nadie se le ocurriría repetir los esquemas de hace 15 años en estas cosas. Hoy en día hay una hay que acelerar el desarrollo y permitir que funcione en distintas arquitecturas, con distintas configuraciones de hardware y distintos sistemas operativos. No te digo nada lo que sería lograr eso en asm. De hecho, ¿no os acordais que antes cuando se hacía un port (de amiga a pc, por ejemplo) el port y el original cambiaban como de la noche al día?
www.youtube.com/watch?v=aykuVMf4uIQ
un ejemplo de una demo de 64 bytes, tb hay alguna de 32 bytes en esta misma web
y muchas de 256 que algunas son muy buenas.
Es una demo REAL: www.pouet.net/prod.php?which=13722 septiembre de 2004....menuda novedad. XD
Tiene unos cuantos años ya, y funciona en un 8086 con disco duro, cga y una soundblaster ISA, cualquier puede probarla en su propio pc con el DOSBOX.
La música no es un mod, es simplemente sampleada, y los gráficos usan los 16 colores CGA (es.wikipedia.org/wiki/Color_Graphics_Adapter#La_paleta_de_colores_de_lA) en modo texto (bloques de color de 8x8) aprovechando las distintas formas de los caracteres para crear una especie de aumento de resolución "subpixel".
La demo no es un fake, os la podeis bajar para probarla vosotros mismos y ademas teneis una explicacion bien detallada de como la han hecho funcionar:
www.oldskool.org/pc/8088_Corruption
El hecho de que hayan utilizado una sound blaster en vez del altavoz interno del ordenador no le quita merito, ya que el "pc speaker" tiene unas limitaciones fisicas que en este caso eran insuficientes. Sigue siendo un pc XT, ya que no han sustituido o alterado ningun componente original.
Depende... usas Vista?
pfff Jajajajajaja...
lo siento, se k es una broma facil, pero no he podido resistirme xD
www.archive.org/details/8088CorruptionExplained
Se comenta cómo lo hizo. Básicamente, en vez de usar sprites, usó, como otro por arriba (y yo) nos habíamos figurado, ascii de colores, combinado con fondos para los textos ascii. Cuenta las limitaciones (por temas del CGA no puede manejar colores independientes para carácter sino que tiene que coger bloques de 8x8), el bitrate máximo alcanzable de esta forma (debido al tamaño máximo de la memoria de la gráfica y de la transferencia)...O cosas curiosas, como que las interrupciones de la tarjeta de sonido son las que controlan cada fotograma del vídeo, liberando totalmente al procesador de la sincronización. Por cierto, aunque se vea putapénico, no hay compresión. Cada frame está guardado integramente en el disco duro. Muy interesante de ver.
Ya puestos a rememorar, un video que dejó a todo el mundo boquiabierto: La amiga con esta pedazo de animación con música:
www.youtube.com/watch?v=HEqWt7_4l6c (EDITO: Acabo de ver que alguien la puso por ahí arriba primero). Spaceballs - State of the art
Obviamente, y dado que ahora tenemos flash, ahora esto es obvio: Esto es animación vectorial, pero en aquel momento fue algo impactante.
Alguien se preguntaba sobre el futuro, qué harán con los ordenadores que sea impresionante? Pues en mi opinión, supongo que será vídeo vectorial. Vídeo con definiciones a las que se les puede hacer todo el zoom que quieras, y no pierde detalles, y encima ocupando poco. Esto es a lo que se tenderá cuando los microprocesadores alcancen potencias realmente bestias de cálculo.
El efecto de scroll vertical se puede ver en los info de los cracks de Marquis de Soireé del grupo UCF www.defacto2.net/cracktros.cfm?mode=groupe, por ejemplo y el efecto de barras de copper en en.wikipedia.org/wiki/Raster_bar
Todo este tipo de efectos ya no se pueden hacer porque no hablamos directamente con el hardware de las máquinas sino con el sistema operativo que nos abstrae del hardware para lograr compatibilidad.
No confundas programar directamente el hardware con programar en ensamblador.
Por otro lado ensamblador y modular son dos palabras que no se llevan bien. Si el ensamblador puede llegar a ser modular es porque el programa que te ensambla tiene un preprocesador que te permite hacerte macros y aislarte un poco de los registros y direcciones de memoria haciéndote más fácil la labor de ponerles etiquetas a las zonas de memoria y a los registros.
Si sabes que en una función sólo vas a usar 3 o 4 registros y dos variables en memoria les pones unos alias y aunque internamente sean eax, ecx, [0001] o lo que sea a nivel de código usas sus nombres de "variable" y el ensamblador te lo traducen en el momento de ensamblar el binario.
También creo que con la complejidad de los micros actuales y la extensión de los programas una persona no puede superar a un compilador en velocidad haciendo un programa completo en ensamblador. En rutinas concretas con parámetros controlados sí pero las aplicaciones actuales son inabarcables para una persona sola si están hechas en ensamblador.
1) La noticia en si no es correcta del todo, no es un video player sino una DEMO (mas info en www.escena.org), como por suerte ya han comentado mas arriba. Y realmente no es un hack, solo le han añadido una soundblaster, lo demas es programacion pura y dura. Pero claro "hack" esta de moda y hay que añadirlo pq vende mas.
2) Los pseudo informaticos que pululan por aqui y que han oido hablar de bytes solo aportan mas confusion, diciendo que un programa en ASM ocupa 100 lineas y uno en java 100000, que ahora se desaprovecha el hardware, y que ademas los juegos de ahora estan mal hechos y no hay testers. Pfffffffff.
Asi no es de extrañar que la gente que no sabe o sabe poco del tema se quede con estos comentarios y ya tengan en mente lo de "si, hoy en dia no se aprovecha el hardware porque no se programa en ASM, me lo ha dicho mi primo que su hermano informatico lo ha visto en meneame, te va a hacer el quake en 100 lineas".
Si la gente cuando hablara supiera un poco del tema habria muchos menos comentarios y de mas calidad, y asi por lo menos los que saben poco o no saben del tema se podrian enterar mejor, si lo que se trata es de eso.
Solo hace falta remitirse a #5, que encima tiene infinitos votos y no podria estar mas equivocado.
Y por supuesto, tantas capas de abstracción, quieras que no, ralentizan. Dan mucha más compatibilidad, de manera que cualquier arquitectura PC pueda correr el mismo SO, aunqeu tengan un hardware completamente diferente. Pero ralentiza. Hay muchas intercomunicaciones, muchos pases de información de una capa a otra, hasta que tocas realmente hardware. Y eso implica ciclos.
Una evolucion de las que hablo es que ahora se pueden hacer mas cosas y mas complejas en el mismo tiempo, aunque a veces se haga en exceso (word por ejemplo). Si quieres lo mismo pero mas rapido vuelve al 3Dstudio de msdos, pero quizas no todo el mundo se acuerde de lo "guay" que era configurar los IRQs para los dispositivos nuevos. Y eso los nuevos SO, vayan mejor o peor, tienen capas para hacerlo mas sencillo.
La otra evolucion es la facilidad de desarrollo. Los programas de ahora nada tienen que ver con los de antaño, requieren muchisimas lineas de codigo mas, y las capas de las que hablas aunque consuman reducen mucho los tiempos de desarrollo, y evitan reinvetar la rueda y reducir tiempos. Se compara que los juegos de ahora tienen mas fallos y petan mas, pero tampoco tiene nada que ver a cuando habia solo un programador para hacer un juego de MSX, y ahora para sacar un juego decente (AAA) se necesitan de 10 a 15 developers, mas los diseñadores que scriptan, los artistas que hacen shaders, etc. Y a mas gente, mas posibilidades de error.
La evolucion no es lo mismo de antes pero mas rapido, es una evolucion en todos los sentidos.