Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/foreverbell/badappleos
(touhou / 東方) x86 Operating System animating BadApple.
https://github.com/foreverbell/badappleos
badapple operating-system
Last synced: about 2 months ago
JSON representation
(touhou / 東方) x86 Operating System animating BadApple.
- Host: GitHub
- URL: https://github.com/foreverbell/badappleos
- Owner: foreverbell
- License: mit
- Created: 2015-07-11T01:40:38.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-04-10T22:29:23.000Z (9 months ago)
- Last Synced: 2024-07-30T19:46:29.477Z (5 months ago)
- Topics: badapple, operating-system
- Language: C++
- Homepage:
- Size: 336 KB
- Stars: 56
- Watchers: 4
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BadAppleOS
# Description
Displaying [BadApple](https://www.youtube.com/watch?v=VzEUeWnV73U) animation in the protected mode of an x86 operating system.
This operating system is quite rough - it doesn't have a file system, task scheduler and other more advanced things.
So it is not an operating system indeed, just a program running on a bare computer LOL :)
# Highlight
* Except some necessary booting codes written in Assembly and C, other codes are purely written in C++(11).
* A minimal STL port.
* Artify plain texts to a great ASCII Art.
* ... and this operating system is only 168K (depends on your compiler)!Notice you may see some weird designs in this OS, this is because our preliminary goal is to make it fit into a floppy.
# Toolchains
Tested under Ubuntu 22.04.2 LTS with the following toolchains,
* gcc (11.3.0)
* nasm (2.15.05)
* python (3.9.17)I don't guarantee other versions of toolchains will work.
# Build
BadAppleOS is multi-boot compliant, so you can boot it with GRUB. We also provide a minimal bootloader without GRUB.
## No GRUB
```bash
make img
```Run `make qemu` to load the OS under QEMU.
## GRUB
```bash
make docker
make grub_iso
```The docker step is sometimes necessary, because `grub-mkrescue` may not work properly under some systems.
Run `make qemu_iso` to load the OS under QEMU.
# License
MIT