Desde que a finales de 2009 publicase SQLite 3 compilado para x64, la adopción de SQLite no ha parado de aumentar. En gran parte gracias a Web SQL, lo que ha hecho que sea portado a todavía más plataformas.

Un caso curioso es el del anciano (no quiero decir obsoleto DOS), que aunque ofrece desde hace tiempo ports no oficiales de SQLite, en general son complicados, pues se basan en parches a los fuentes, que generalmente se compilan con DJGPP (GCC).

Por suerte, hay un camino mucho más sencillo, que es usar HX-DOS Extender, que en esencia permite ejecutar multitud de aplicaciones Win32, sobre DOS en modo protegido.

Para ello, he conseguido la versión 2.17 de HX-DOS Extender, y con PESTUB, he reemplazado la cabecera MZ del compilado para Windows que realicé en su día sobre SQLite 3.6.21. De esta manera, si el entorno de ejecución es DOS o compatible, a saber: MS-DOS, PC-DOS, DR-DOS, FreeDOS, PTS-DOS, etc, la cabecera DOS, hará que el sistema operativo cargue primero el extensor DPMILD32.EXE, que a su vez se encargará de ejecutar la imagen Windows, reemplazando las funciones del kernel de Windows por las suyas propias.

En este caso, como la dependencia a nivel de sistema operativo es pequeña en el caso de SQLite, con DKRNL32.DLL que reemplaza KERNEL32.DLL es más que suficiente.

Por un lado, crear el port, me ha llevado menos de 5 minutos, por otro, la ventaja de este sistema es que si ejecutamos el programa desde Windows, será la cabecera PE la que se ejecute, funcionando nativamente. Es decir, tenemos un mismo ejecutable que es dual DOS/Win32, al más puro estilo de finales de los 90.

Puedes descargar los binarios aquí (365 Kb. en formato ZIP).