https://github.com/SartoxSoftware/Batch2OS
A Batch to native 16-bit x86 compiler, made in Rust.
https://github.com/SartoxSoftware/Batch2OS
batch kernel native osdev rust x86
Last synced: 7 months ago
JSON representation
A Batch to native 16-bit x86 compiler, made in Rust.
- Host: GitHub
- URL: https://github.com/SartoxSoftware/Batch2OS
- Owner: SartoxSoftware
- License: gpl-2.0
- Archived: true
- Created: 2022-05-08T12:39:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-17T02:08:46.000Z (about 2 years ago)
- Last Synced: 2024-08-05T15:07:41.469Z (11 months ago)
- Topics: batch, kernel, native, osdev, rust, x86
- Language: Rust
- Homepage:
- Size: 60.5 KB
- Stars: 11
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/blyxyas/no-rust-policy-change)
# Batch2OS
A Batch to native 16-bit x86 compiler, made in Rust.
# Usage
``Batch2OS ``## Example
``Batch2OS os.bat kernel.bin 0x7C00 0x1000``# Try it out!
After you've compiled your batch script as a bootable image file, you may want to try it on bare metal now. If that isn't possible, you can try it out in a VM. Here's an example with QEMU:``qemu-system-i386 kernel.bin``
# Compatibility
Batch2OS emits x86 code that is theoretically compatible starting from the Intel 8086. That is because Batch2OS currently uses real mode BIOS interrupts, which are 16-bit and were introduced back in the 8086.# Supported commands
- ``help``
- ``cls``
- ``echo``
- ``pause``
- ``ver``
- ``color``
- ``goto``# Limitations
- Uses BIOS interrupts to do pretty much everything
- It's limited to loading up to 255 sectors because of the byte limit# TODO
- Go into protected mode (and figure out how to replace the BIOS interrupts with equivalent code??)