un aviso importante es que los enlazes de los anteriores estan caidos
por que actualize las herramientas
ErickAssembly lo actualize por que se bugeaba y se saltaba las instrucciones por que en vez de poner solo
if (ins.needs_params == true)
i++;
puse
i += ins.params_count
y se saltaba las instrucciones por que internamente en el compilador los parametros son por comas, no por instrucciones independiente pero bueno ya lo arregle
tambien estoy arreglando algo de KellyBootloader y agregando nuevas funciones
los nuevos enlaces son
- KellyBootloader (x86_64 Uefi) https://www.mediafire.com/file/xlddtoim1zv4vr1/KellyBootloader.efi/file
- ErickAssambler
- Windows (ANY-CPU con .NET) https://www.mediafire.com/file/97im9szuxnqntfy/ErickAssamblerWindowsAnyCPU.zip/file
- Linux 64 bits, todas las distribuciones https://www.mediafire.com/file/fu4yzvtnhm2qpuh/ErickAssamblerLinuxX64.zip/file
Contexto
saben que paso con el kernel anterior? exacto, se fue a la ###### por problemas de pool, ya que en las pruebas de qemu, no se podia localizar el archivo, pero bueno, debido a que el codigo se vuelve muy complejo pues, usar hlvc es nuestra salvacion, bueno, hice algunos avances con un kernel reconstruido y asi quedo
lo siento si pongo los bloques de codigo en C es que obiamente no aparece la opcion de ErickAssembly y C es parecido a la sintaxis de HLVC
HightLevel[
/**
* kernel.easm
*
* kernel example in hlvc
* following the EBF specifications from the beta 3 of the Kelly Bootloader and up
*/
use "ASCII"
Print "Initializing\sKernel..."
Print "Welcome\sto\sSimpleOS\n"
/**
* LoopPrompt
*
* this function is called to loop the command prompt
*/
FUNCTION LoopPrompt
Print "SimpleOS> "
BUFFER Command ReadLine
Print "\n"
call LoopPrompt
]HightLevel
a la ora de escribir esto estoy sufriendo un terrible bug que modificaba el stack y lo reiniciabla , reiniciando el programa al saltar a CommandPrompt, estoy hasta revisando la memoria paso por paso , les juro estoy sufriendo con el bug , pero todo por sacarles el curso, hasta he estado eliminando y volviendo a actualizar los links de descarga, me duele la cabeza asi que apoyen esto
posiblemente el codigo final sea el que ya no tiene el fallo asi que todo lo que estoy sufriendo ustedes ni se van a dar cuenta
por cierto aqui hay un clip de video depurando el kernel
pd : no era el codigo anterior, era el ErickBinaryFormat el que fallaba
ahora si continuamos
para compilar
aqui como el unico es hlvc utilizamos su correspondiente comando
root@local^:#hlvc /ruta/a/tu/Kernel.easm
ejecucion
una vez estamos en la pantalla de carga de Kellybootloader rapidamente antes de que aparesca cualquier trying to boot: x archivo
presionen esc
esto les llevara al bootmenu
en mi caso ya movi el binario .ebf resultante a mi usb para arrancarlo (realmente estoy usando qemu xd) pero tambien funciona en maquina real… creo , espero que si , si no toda la noche arreglando el KellyBootloader, pero cualquier bug en maquina real me lo comentan para que no me rompa la cabeza a la media hora y tenga que arreglar el KellyBootloader , editar esta publicacion con el nuevo link
pero bueno, una vez en el bootmenu presionen F3 (para la shell)
si no recuerdan que archivos .ebf les aparecian pongan
KellyBootloader> ls
para ver los archivos, en mi caso tengo el Kernel.ebf ya configurado
ahora para ejecutarlo pongan
KellyBootloader> ./Kernel.ebf
les deberia aparecer esto
en este curso , retrocedimos un poco pero ya tenemos un prompt casi funcional
espero que el sufrimiento arreglando el bug del stack con los saltos a funciones les hayan servido como que moraleja: recuerda que while es mientras, no “hasta que”
espero que este curso haya sido de su interes por que si que me esforze hasta, ya son las 8:23, deberia estar ya para irme a dormir