Skip to content

Releases: prochazkaml/MichalOS

MichalOS 3.0

30 Mar 07:57
325e331
Compare
Choose a tag to compare
  • The file browser (in all applications) now shows file/volume information in the tooltip box. Because of this change, options "File information" and "Disk information" have been removed from the File manager, since they aren't needed anymore.
  • Music Player now shows a progress bar when playing music.
  • Edited Demo tour intro text.
  • Different crash screen, which now shows where the system crashed.
  • Fixed a bug where the system crashed when there were too many files in the disk.
  • RAD tunes are now loaded into the main segment, not needing any extra memory.
  • DRO tunes are now compressed with ZX7 compression as .DRZ files, freeing up a ton of space (>500 kB!) on disk.
  • Added some new RAD & DRO tunes.
  • Added some of Bryan Lunduke's comics full of programmer jokes. Because why not.
  • Makefile simplified and improved.
  • bugfixes

MichalOS 3.0 Beta 2

30 Mar 07:56
325e331
Compare
Choose a tag to compare
  • Project cleanup:
    • All mouse code removed. The mouse library used is licensed using a GPL license, but MichalOS uses a BSD license, which are NOT compatible, GPL code cannot be used in BSD code. The library didn't even work on many computers (it only supports some PS/2 mice & controllers), so MichalOS didn't use it OS-wide, just in a couple of demos. The bootup time is dramatically improved now, because we don't have to wait for the mouse driver to initialize, which took seconds in some cases. I would say that the advantages of the removal overweigh the disadvantages. HOWEVER, if I find a better mouse library that isn't slow/has better compatibility/isn't GPL'd, I'll be more than happy to use it.
    • QEMU has been replaced with DOSBox for future development. The timer and sound emulation in QEMU was never that great, DOSBox doesn't have any of these issues. But the last nail in the coffin for me is that the newer QEMU package in the Linux Mint 20 'Ulyana' package base has broken audio for some reason. Also, DOSBox has a nicer debugger which may help with future development.
    • The Makefile is now less of a shell script and more of an actual Makefile.
    • MichalOS Application Privileger removed. Useless, and took up precious space.
    • 2nd stage bootloader removed and integrated directly into the kernel.
    • Kernel size shrink from 21.5 kB to 20.1 kB.
    • For copying files to the final image, "mcopy" is used now. Root access is no longer needed for the building process.
    • Windows build tools have been removed. I didn't have any way of testing them, so I have no idea if they even worked. If you want to build this under Windows, please use WSL.
    • The "example_content" folder has been renamed to a simpler name: "content".
    • PCX images are now less confusingly named.
  • New UI feature: list tooltips. If an application supports tooltips, it can display a second box next to the list dialog and put tooltips there based on the user's selection. Currently implemented only in the Music Player.
  • Added a new Aperture Science ASCII art background.
  • Less confusing Demo Tour startup message, sound setup now displays in the tutorial.
  • Reduced MichalOS's memory footprint - 80 kB RAM is the new minimum requirement.
  • Standard AdLib card now properly resets after playback stops.
  • When the shutdown procedure fails, it reboots the computer after pressing OK.
  • Terminal version number incremented.
  • bugfixes

MichalOS 3.0 Beta

30 Mar 07:54
325e331
Compare
Choose a tag to compare

FINAL RELEASE WITH PS/2 MOUSE SUPPORT!

  • Code cleanup:
    • MichalOS has been rewritten to real mode. The "32-bit" unreal mode is not used anymore. It caused more problems (crashes, unnecessary bugs) then it solved. These changes had to be made:
      • No VESA support. We simply don't have enough RAM to use it anymore in the same way we used it before, which means that all SVGA demos (MOUSEVGA.APP, STARFLD.APP) had to be removed. However, alternate functions for VESA support are being planned. Non-VESA graphics functions are intact.
      • All VESA-related system calls have been removed and are illegal to use now.
      • All ACPI functionality had to be removed, since the tables are outside of our reach.
      • Memory Editor can now only address with 20 bit pointers.
      • It is still possible to work with 32-bit numbers though, so apps like Calculator are not affected in any way.
    • A Makefile is now used for building. Legacy Windows build scripts have been patched and moved to "windows_scripts".
    • EGA software text drawing removed. It was never used anyway.
    • Functionality for multiple drives removed. It didn't even work properly anyway and didn't serve any purpose.
    • "Test AdLib" in the Settings app removed
  • The "Debug tools" menu has been updated and renamed to "Other stuff".
  • RDTSC.APP - now updates every second
  • Music Player:
    • can be now launched from the Terminal and passed the filename
    • now has a "Polyphonic piano" and "Play duo" mode - uses the AdLib device (see below)
  • The screensaver is no longer tied to the number of CPU interrupts, the timer is now used instead => more precise
  • Added some new example songs
  • Added system calls for controlling the timer - no need to "out 40h, al" manually, now:
    • you can pass the speed to "os_attach_app_timer" directly
    • "os_return_app_timer" to also resets the timer to 0 (18.2 Hz)
    • you can use "os_set_timer_speed" to change the speed while the timer is attached
  • New Adlib functions
    • os_start_adlib & os_stop_adlib: starts/stops the driver (os_start_adlib has to be called before any Adlib writes!)
    • There are now 2 Adlib drivers: standard Adlib (ports 388h, 389h) and PC-speaker PWM emulation (square-wave only)
  • Added "os_putchar" system call - does exactly the same thing as in C
  • The kernel and all programs are no longer segment-dependant => the OS can be loaded anywhere in RAM instead of the 1000h segment and it will work

MichalOS 2.2

30 Mar 07:52
325e331
Compare
Choose a tag to compare

FINAL RELEASE WITH 32-BIT UNREAL MODE AND VESA FUNCTIONS!

  • ACPI shutdown implemented
  • Image viewer now supports opening files through the Terminal
  • RDTSC.APP - test of the TSC register - counting the CPU frequency
  • Music Player - DRO playback now loops and when paused, it makes all the voices silent
  • Many bugfixes

MichalOS 2.1

30 Mar 07:51
325e331
Compare
Choose a tag to compare
  • new example songs: CASTLE.DRO & DIG-IT.DRO
  • CHECK.APP - added a UI and an option to scan other drives
  • Demotour - updated the list dialog training & added keyboard shortcuts
  • new mouse demos:
    • MOUSE.APP - basic cursor (running in VGA mode - 320x200x256 colors)
    • MOUSEVGA.APP - basic cursor with a window (running in SVGA mode)
    • MOUSETXT.APP - text mode cursor with an ASCII window driven by a simple window API
  • Music Player - now can change octave in the virtual piano
  • 3D starfield demo running in VESA modes (STARFLD.APP)
  • a test program written entirely in macros (TEST.APP)
  • update VESA test program - displays graphics now
  • new VESA rendering routines
  • reduced mouse driver - some routines were unnecessary/unused
  • some functions added for possible future debugger support
  • removed VESA.SYS - unnecessary

MichalOS 2.0

30 Mar 07:50
325e331
Compare
Choose a tag to compare
  • a few more UI improvements
    • EDIT.APP & FILEMAN.APP: when creating/renaming a file (and an error occurs), it shows why
    • os_file_selector: now it remembers the user's position for later use, filters file extension depending on the app
  • bugfixes
  • ASCII.APP - an ASCII Artist-type app
  • added support for ASCII backgrounds
  • Clock: added a stopwatch/timer mode
  • SUDOKU.BAS -> SUDOKU.APP
  • rudimentary timezone support - can change the time offset (in minutes)
  • the password is now encrypted in the SYSTEM.CFG file
  • Memory Editor - now possible to load/store files from/to disk
  • kernel optimization
  • when creating a file, it saves the time/date of the write
  • Terminal - new command - "la" - lists all the files including their size and write time/date
  • added graphics routines from TachyonOS (drawing lines, circles, rectangles, polygons)
  • Music Player now supports the playback of .RAD (Reality AdLib Tracker) files
  • aSMtris & 8086 Snake successfully ported to MichalOS
  • when the screensaver triggers, it shuts down the screen for power saving (using VBE)
  • it is now possible to pass parameters to apps through the Terminal (ex. "edit inkspill.bas")
  • rewritten the About app
  • Hardware checker:
    • now displays the CPU name correctly
    • CPU feature flags fixed

MichalOS 2.0 Beta 4

30 Mar 07:49
325e331
Compare
Choose a tag to compare
  • a few fixes resolved
    • Insert key triggers a system crash
    • Virtual Piano crashing itself when pressing "K" (or any forbidden key)
    • CRASH.APP, BIOSDUMP.APP, VESACHK2.APP, VESA2.APP removed, used for debugging purposes
    • some CPU/BIOS combos had issues with unreal mode
    • fixed Terminal UI bugs
    • fixed HW Checker CPU specs
    • the font load function now affects only the first 128 chars, rest is unchanged (CF.BAS had issues)
    • disk changing function now looks for drive parameters (actually works now)
    • Music Player now checks for the file extension
  • Config app now requires your password to change the username/password
  • List dialog:
    • when the cursor hits the top/bottom of the list, it teleports the cursor to the bottom/top, respectively
    • it now shows the position of the cursor (eg. 23/76)
  • added basic Adlib support (Config app, PLAYER.APP can now open DRO 2.0 files (a few songs are included))
  • more optimization on the EGA text renderer
  • Font editor now allows to apply the font after exit
  • applications can use the 1Ch timer interrupt more easily
  • Spreadsheet editor removed
  • EGA experimental gfx mode removed
  • some hint of future ACPI support?
  • many UI improvements
  • and some other things I most likely forgot about ;)

Special thanks to Ivan for reporting A LOT of bugs that I would probably never notice.

MichalOS 2.0 Beta 3

30 Mar 07:46
325e331
Compare
Choose a tag to compare
  • minor tweaks
  • EGA text renderer is now an option in the Configuration app

MichalOS 2.0 Beta 2

30 Mar 07:46
325e331
Compare
Choose a tag to compare
  • improved performance in the EGA text renderer

MichalOS 2.0 Beta

30 Mar 07:45
325e331
Compare
Choose a tag to compare
  • minor code changes
  • includes an optional EGA text renderer (640x350, 16 colors)

WARNING! The EGA build is extremely unoptimized (the entire screen redraws on INT 10h, AH=09h), almost unusable, some INT 10h functions are missing (reading from screen memory, scrolling...) and it's very buggy overall, that's why there are 2 builds inside the ZIP file: the standard build and the one with the EGA text renderer