Skip to content

1.2.0

Latest
Compare
Choose a tag to compare
@MinusPL MinusPL released this 07 Feb 17:34
da96088

[1.2.0] - 07.02.2022

Added

  • Added support for threads
  • Implemented v8086 emulator (bytecode interpreter)
  • Added basic suport for VESA BIOS Extensions and SVGA

Changed

  • Added logger information about errors in floppy disk driver
  • Added verification of standard compliance for ATA/ATAPI devices
  • Added option to fill graphical buffer of current terminal with values from any source buffer
  • Added option to check if VGA is currently in vertical retrace
  • Added option to configure setter of video buffer
  • Added basic VGA related functions to system's standard library
  • Modified DMA, so it's buffer size could be given as parameter during initialization instead of having it hardcoded
  • Modified floppy disk driver to allow it reading multiple sectors from single path, or entire paths from floppy disk
  • Modified partitions code, so it would use newly added floppy related functions
  • Modified FAT driver to allow it reading multiple sectors of data at once. Greatly decreased time needed to load large files

Fixed

  • Fixed errors in HDD driver, which caused it to hang up on emulators
  • Added fixes allowing to use newer GCC version
  • Fixed issues in PIC driver
  • Fixed floppy disk recalibration problem
  • Fixed issues in bootloader and startup sequence
  • Fixed A20 line detection and activation so more configurations were able to enter protected mode
  • Fixed bootloop in startup sequence caused by A20 line initialization bug
  • Fixed problem with race conditions within floppy disk controller on some hardware configurations
  • Fixed generic VGA driver function pointer assignments
  • Fixed erf functions from C standard library
  • Fixed another A20 line issue - allowed system to boot on VirtualBox
  • Fixed stream's data partitioning and allowed chunks to be of size up to 20 KiB
  • Fixed issues with stream's corruption caused by missing null terminators
  • Fixed heap_realloc funtion's caused page-fault on nullptr reallocation

This version is operational on real hardware. System is stable in shell, can launch applications and can be loaded when using real floppy drive controler.
Minimal requirements:
CPU: Intel 386 + math coprocessor Intel 387 or better
RAM: 64 MB (system can boot with 36 MB of ram, but will be pretty much unusable)
GPU: Any GPU with VGA standard
Floppy disk drive (real controler, USB ones are not yet supported)