Autoexec.bat 2000

Windows 95/98/Me dependían de MS-DOS. En el 2000 tenía una computadora, la K6, que usaba para correr emuladores. Y como MS-DOS no tiene multitasking, significa que tenías disponible el 100% del procesador, y eso siempre era deseable. Pero ya estábamos en tiempos más modernos en los que muchos emuladores, como NeoRAGEx, sólo existían para Windows. Mi solución era crear este menú, y luego en Windows usar como SHELL un pequeño programita que leía variables de entorno para determinar si tenía que cargar directamente un juego, o si cargaba EXPLORER.EXE de manera normal.

Ahora sí, el código

Aquí les va, entonces, mi AUTOEXEC.BAT del 15 de marzo del 2000.

#+BEGIN_SRC bat
@ECHO OFF
C:\ARCHIV~1\TRENDP~1.0\PCSCAN.EXE C:\ C:\WINDOWS\COMMAND\ /NS /WIN95
C:\ARCHIV~1\SDD\UNIVBE32.EXE -w
REM ---  By HiSpeed CD-ROM Drive installation program.  10/1/99  ---
C:\WINDOWS\COMMAND\MSCDEX.EXE /S /D:MSCD000
C:\SOUNDPRO\CMINIT /WA:530 /WI:11 /WM:0 /VA:220 /VI:5 /VL:1 /VH:5 /MD /MA:330 /MI:9 /GS:0 /FM:0
SET BLASTER=A220 I5 D1 H5 T4
C:\SOUNDPRO\CMMIX /MCC000 /FFF000 /WFF000 /L00100 /E00100 /A00100 /D00100 /C00100 /310200 /O00000 /S10200 
SET DIRCMD=/OGEN
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\ARCHIV~1\WIN98RK
PATH=%PATH%;C:\RICK\PATH;C:\SOUNDPRO;C:\PERL\BIN;C:\BITWARE
PATH=%PATH%;C:\ARCHIV~1\COMPRESS;C:\RICK\PROGRAMS\JAVA11~1.8\BIN
SET QTJava=C:\WINDOWS\SYSTEM\QTJava.zip
SET CLASSPATH=%QTJava%;

mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
keyb sp,,C:\WINDOWS\COMMAND\keyboard.sys

REM --- No remover la siguiente linea ---
SET RAT_ENABLE=1
SET RAT_LOADALL=1

choice /c:r  /n /t: ,1
if errorlevel 2 goto skip
\rick\util.bat
:skip
#+END_SRC

Y si fueron observadores, se llama a \rick\util.bat, así que aquí está UTIL.BAT:

#+BEGIN_SRC bat
@echo off
echo RataSoft Utilities
echo  Menu de juegos
echo =================
choice /c:sn Continuar
if errorlevel 2 goto end
SET RAT_ENABLE=1

choice /c:sn Cargar todos los programas de Windows (para juegos, elija NO)
if errorlevel 2 goto notall
SET RAT_LOADALL=1
goto loadall
:notall
choice /c:sn Cargar Windows limpio
if errorlevel 2 goto noclean
SET RAT_LOADALL=
SET RAT_CLEAN=1
goto noask
:noclean
choice /c:sn Preguntar por cada archivo del grupo de inicio
if errorlevel 2 goto noask
SET RAT_LOADALL=
:noask

:loadall

choice /c:sn Cargar SnesKey
if errorlevel 2 goto next
cd \rick\emulator\sk163b
choice /c:nqzm Configuracion Neoragex2, Quake1, Zsnes4 o Mame4
if errorlevel 4 goto mme
if errorlevel 3 goto zns
if errorlevel 2 goto qke
if errorlevel 1 goto nrx
goto next1
:nrx
sneskey neoragex /v /t
goto next
:qke
sneskey quake /v /t
goto next
:zns
sneskey zsnes4 /v /t
goto next
:mme
sneskey snes4 /v /t
goto next
:next
SET RATSNESKEY=1
:next1
cd \


choice /c:sn Cargar NeoRAGEx (Emulador de NeoGeo)
if errorlevel 2 goto norage
SET RAT_NRX=1
:norage


choice /c:sn Cargar UniVBE (recomendado para NeoRAGEx)
if errorlevel 2 goto novbe
SET RAT_GFX=1
:novbe


echo No olvides que para hacer efectiva esta configuracion, hay que entrar en
echo Windows como "Rick".
echo Thanks for using RataSoft Utilities
:end
#+END_SRC

** ¿...pero qué hiciste...?
Sí, lo sé, no es estelar. Y el resto del hack no sé dónde quedó, pero básicamente había la opción de entrar directo al juego, o incluso de cargar el escritorio de manera normal pero sin todos los programitas que solía tener corriendo como [[http://web.archive.org/web/20000815053636/http://web.icq.com/][ICQ]] y [[http://web.archive.org/web/20000301030620/www.getright.com/][GetRight]].

Algunos comentarios...
- PCSCAN :: Nunca fui fan de los antivirus, pero mi padre y yo teníamos la idea de que PC-Cillin era un antivirus bastante ético e inobtrusivo.
- UniVBE32 :: Es un TSR que permite usar varios modos gráficos nuevos en cualquier tarjeta VGA. Corrías un programa que probaba muchas diferentes configuraciones de tiempo y precargaba las que funcionaban.
- MSCDEX :: Es el driver que permite leer sistemas de archivos ISO 9660. Y hoy me entero que no era necesario cargarlo, a menos que fuera a leer CDs en DOS. En fin...
- CMINIT, CMMIX, SET BLASTER :: Yo no tenía una SoundBlaster, pero la variable `BLASTER` marcaba la dirección de IO, IRQ y DMA. CMMIX le sube el volumen porque si no no se oye nada (duh). CMINIT configura la tarjeta para escuchar en la dirección correcta, aunque no estoy seguro de qué son las opciones /Wx. Creo que /GS:0 y /FM:0 eran para poder activar el puerto de joystick con /Mx. Tenía uno que estar bien pesado para jugar Wolfenstein 3D con música y sonido.
- DIRCMD=/OGEN :: Para ordenar la salida de [[https://www.computerhope.com/dirhlp.htm][DIR]]: primero directorios, luego por extensión y finalmente por nombre. Era mi orden favorito en Windows Explorer en ese tiempo. ¿A que no sabían que eso se podía?
- MODE CON, KEYB :: Teclado español. Chéquense cómo en ese tiempo mi teclado favorito era el /España/ y no el /Latinoamérica/. Time's a-changing.
- SNESKey :: Era un TSR que leía pads de SNES con un adaptador muy sencillo de puerto paralelo, y simulaba teclas con cada botón que se presionaba. Con eso lograbas que cualquier juego de DOS pudiera usar los pads de SNES, /incluso juegos sin soporte para joystick/.
- RataSoft :: [[Ratasoft]].

Lo que es no tener qué hacer

Rat