Sistema operativo de modo real de 16 bits realizado completamente en el ensamblaje.



La última versión no debería tener errores, pero solucioné cada uno de esos que he encontrado. Traté de ejecutar estos 2 juegos de DOS: DOS Defensor, un clon de asteroides y pájaro disquete, un clon de pájaro flapy. Funcionan pero no puedo probar completamente el defensor de DOS porque no tengo un joystick. Otros programas de MS DOS pueden ejecutarse teóricamente en este sistema operativo no tan bueno, pero tenga en cuenta que no he probado todos los programas y no he implementado todo lo necesario para que esos programas se comporten sin problemas. La versión "estable" no tiene FAT12 y está ahí sin razón, aparte de aumentar mi energía cuando veo cuánto progreso he hecho desde que comencé este proyecto.
He tratado de arrancar mascos con un disquete (3.5 pulgadas, 1.44 MB) de una unidad de disquete USB externa, y funcionó casi sin problemas. Fue probado en una computadora portátil Toshiba NB250.
Si desea aprender a crear el programa para MASCOS, consulte la documentación.
Es un proyecto de aprendizaje. Pensé que crear un sistema operativo que se dirige al hardware antiguo sería un experimento divertido para tratar.
Puede usar la imagen .flp proporcionada en la última versión o compilarlo el sistema operativo. Para el último, consulte la sección Compiling de este archivo. Es muy simple, pero primero debe instalar QEMU (necesita qemu-system-i386 ).
Arco
sudo pacman -S qemu-baseUbuntu/Linux Mint
sudo apt install qemuDespués de instalar QEMU, solo escriba:
make runUtiliza pulseaudio para emular el altavoz de la PC, por lo que si tiene problemas para ejecutar el sistema operativo, use este comando:
qemu-system-i386 -fda Build/MascOS.flp -M smm=off -no-shutdown -no-reboot
-cpu 486 -rtc base=localtime,clock=hostSi desea ejecutar esto en hardware real, necesita una computadora con BIOS heredado y no un sistema UEFI moderno, ya que Mascos tiene como objetivo ejecutar en hardware antiguo, y lo hará, con suerte sin volar nada. Para obtener la imagen del sistema operativo, puede dirigirse a la página de lanzamientos, elija la última versión y descargue la imagen .flp, alternativamente, puede compilar el sistema operativo.
Para compilar mascos necesita estos paquetes:
Después de instalar los paquetes, abra una ventana de terminal y clone este repositorio con:
git clone https://github.com/leo007er1/MascOS.git && cd MascOSPara compilar la última versión, ejecute este comando. Necesita permisos de sudo porque el makfile monta una imagen a /dev /loop7.
sudo makeTambién puede elegir compilar una de las versiones más antiguas, V0.1.2. No tiene ningún propósito que este código esté allí aparte de ver cuán lejos he llegado desde que comencé el proyecto. Tenga en cuenta que después de compilarlo ejecutará automáticamente el sistema operativo con QEMU, por lo que lo necesita instalado.
make stableAdemás, si desea eliminar los archivos compilados y la imagen del sistema operativo se ejecuta:
make clean1. ¿Por qué el texto en el programa Editar parpadea?
El controlador VGA desactiva Blackking para permitir usar los 16 colores para el fondo en hardware VGA real. Desafortunadamente en VGA simulado, esto no funciona, y el texto parpadea.
1. Losetup: build/mascos.flp: no se pudo configurar el dispositivo de bucle: dispositivo o recurso ocupado
Bueno, si ejecuta lsblk , puede ver sus dispositivos y dónde están montados. El makefile usa /dev /loop7 para construir el sistema operativo, por lo que si ve loop7 necesita cambiar /dev /loop7 a algo como /dev /loop8 en el makefile