Archivo de la categoría Retro

smart.inc



De TASM, Turbo Assembler, recuerdo una directiva que me encantaba, era SMART, y la agregaba a todos mis programas, porque increíblemente, no se podía activar desde la linea de comandos.

El modo SMART, realizaba ciertas optimizaciones sobre el código ensamblador, por ejemplo era capaz de convertir algo como:

shr ax, 2

En:

shr ax, 1 shr ax, 1

Os parecerá una absurdidad, pero lo cierto es que los procesadores anteriores al 80188 y 80186, como los 8086 y 8088, sólo permitían realizar desplazamientos de bits de una posición. Lo que hacía TASM cuando el procesador de destino no soportaba esa operación, era transparentemente transformarlo.…

Continuar leyendo...

EasyCode Visual Assembler



Con Uptime en ensamblador, volví a adentrarme en el maravilloso mundo de los ensambladores, que tantos buenos recuerdos me había traído.

Os comenté, que actualmente existen gran variedad de herramientas de este tipo, muchas de ellas, derivadas de Openwatcom Assembler (WASM), como UASM, ASMC o el difunto JWASM. Lo cierto es que si no fuera por OpenWatcom, y sin contar el pionero NASM (Netwide Assembler), todavía seguiríamos usando assemblers comerciales como Borland Turbo Assembler (TASM) o Microsoft Macro Assembler (MASM).

Lejos quedan los tiempos en que teníamos Arrowsoft A86/A386 y poco más.…

Continuar leyendo...

Uptime 2 para DOS



No hace mucho que os hablaba de Uptime para DOS, y que publiqué la versión 1.00 y la 1.10, un sencillo programa escrito en FAST, y que replicaba el comando uptime de UNIX.

El desarrollo empezó muy bien, con una eficiencia casi de ensamblador, pero contando con la ventaja de las estructuras de alto nivel. Hasta que me topé con el impedimento de las conversiones entre números de 16 y 32 bit, y con el maldito bug de mod32.

Entonces me planteé escribir la versión 2.00 en ensamblador. Menos de 150 lineas en código FAST, no parecían gran cosa en ensamblador. Así que comencé con JWASM (Japheth’s Watcom Assembler), un ensamblador y enlazador al mismo tiempo, compatible con MASM, de código abierto y que se contruyó sobre la base de Open Watcom Assembler (WASM / OWASM).…

Continuar leyendo...

Uptime para DOS



Al hablar de FAST, me entraron ganas de recordar viejos tiempos, así que un poco como con Bell/beep en ensamblador, decidí implementar algo sencillito que accediera al hardware de bajo nivel.

Lo más tedioso de ensamblador, es que no tienes ninguna biblioteca que tenga implementadas conversiones de números para mostrarlos en pantalla (binario a ASCII), o como en este caso de BCD (Binary Coded Decimal) a binario. En eso FAST Compiler, me iba a ayudar bastante.

En el grupo de desarrollo de FreeDOS, ha habido recientemente cierto interés, en portar aplicaciones UNIX a DOS, algo que implica una gran inversión de tiempo para familiarizarse con la implementación original, y que no me interesaba.…

Continuar leyendo...

FAST Compiler



Durante mis comienzos, me topé gracias al Shareware, con una grata sorpresa. Se trataba del lenguaje de programación FAST. Un lenguaje que jamás llegué a conocer a nadie que lo conociera, pero que en aquellos días de Turbo BASIC, me parecía increíble.

FAST Compiler, generaba archivos .COM para DOS extremadamente pequeños, y ofrecía una velocidad de ejecución, lejos del resto de compiladores. Además, sus rapidísimas rutinas de escritura en la pantalla de texto, hacía que pareciera más rápido de lo que aún era.

FAST, empezó a escribirse en 1986, de la mano de Peter Campbell Software, y que acabaría falleciendo en 2007, sin demasiada fama informática, a pesar de haber estado detrás de FastBase.…

Continuar leyendo...

Descargas de archivos con WGET



Este fin de semana, iba a descargar las ROMs y CHDs actualizados para MAME. Llevaba sin actualizarlo unos 3 años, y ya tocaba. Los tiempos han cambiado, y ahora las descargas son mucho más sencillas gracias al esfuerzo del Internet Archive, pero siguen siendo enormes. Hablamos de 500 Gb. comprimidos en ZIP, 60 Gb. para las ROM, y 440 Gb. para los CHD, es decir, al menos 50 horas de transferencia ininterrumpida.

Desde los tiempos de Opera 12, que incluso soportaba descargas por Bittorrent, los navegadores se han simplificado tanto, que lo máximo que permiten, es parar la descarga, y volverla a continuar cuando nos interese.…

Continuar leyendo...

Beep/Bell en ensamblador



He tenido algo de tiempo para entretenerme programando, una de esas cosas, que resultan prácticamente inútiles, pero con las que puedes llegar a disfrutar. Estaba revisando nuevamente JWASM como hice hace algunos años en FPS en ensamblador, y se me ocurrió rememorar viejos conocimientos con este programilla.

Se trata de BEEP, un programa, en realidad dos, que hace sonar la “campana” o bell, del altavoz interno del PC.

La versión fácil, es usar los servicios de DOS. Resulta que el juego de caracteres ASCII, incluye el carácter 7 (BEL), que es un carácter de control no imprimible, y que según acabo de descubrir, se viene usando desde nada menos que 1870.…

Continuar leyendo...

Volkov Commander



Podríamos decir que Norton Commander, o Comandante Norton, fueron los que iniciaron el mercado de los gestores de archivos de dos paneles. Serían los padres de Midnight Commander, PC-Tools, Norton Desktop o FAR, y los abuelos de Total Commander, Q-Dir o SpeedCommander.

Hablamos de 1986, cuando aparecía Norton Commander (NC) de Peter Norton Computing, y que veríamos actualizado en 1988 (2.0), y en 1989 (3.0). En 1990 Symantec se hace cargo de Norton, lo que causa que Norton Commander 4.0, se retrase hasta 1992, tres años después de la versión 3.0. Empezaba a ser cada vez más pesado, y más sediento de memoria.…

Continuar leyendo...

Function Level Linking



Tal vez después de Profile Guided Optimizations (PGO), si hubo una característica que me impresionó de los compiladores, fue el Function Level Linking, debería decir en realidad de los enlazadores, ya que su significado es Enlazado a Nivel de Función.

Veréis, cuando comencé con los lenguajes de programación compilados, usando Turbo BASIC, me di cuenta que de manera sistemática, un ejecutable para DOS, aunque estuviera vacío, ocupaba mínimo 30 Kb. en disco (exactamente 34.704 bytes con TB 1.1). A partir de ahí, el código que iba escribiendo, apenas aumentaba el tamaño del EXE resultante.…

Continuar leyendo...

35 aniversario del Spectrum



Un 23 de abril de 1982, Sinclair Research lanzaba en el Reíno Unido el ZX Spectrum. De manera que en este año 2017, conmemoramos su 35 aniversario, y fue uno de los motivos por los que mi felicitación de año nuevo, lo usaba.

En algunos países de Europa, se presentó un poco después, y a España, no llegaría hasta 1983, precisamente cuando mi historia informática comenzaría. Así que mis más sinceras felicitaciones, y mi enhorabuena a Sir Clive Sinclair por su creación



Continuar leyendo...

Uso de cookies

Esta web utiliza cookies para mejorar la mejor experiencia de usuario. Si continúas navegando estás dandos tu consentimiento para la aceptación de las mismas y la aceptación de la política de cookies, pincha el enlace para más información.

ACEPTAR
Aviso de cookies