8000 GitHub - alexei-zebra/x16-PRos: Simple 16bit operating system writen in NASM
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

alexei-zebra/x16-PRos

 
 

Repository files navigation

x16-PRos operating system

License: MIT Version Contributions Welcome

x16-PRos is a minimalistic 16-bit operating system written in NASM for x86 architecture. It supports a text interface, loading programs from disk, and basic system functions such as displaying CPU information, time, and date.



📋 Supported commands in x16 PRos terminal

  • help display list of commands
  • info brief system information
  • cls clear screen
  • shut shut down the system
  • reboot restart the system
  • date display date
  • time show time (UTC)
  • CPU CPU information
  • disk-i disk information
  • load load program from disk sector (0000x800h)
  • writer start writer program
  • brainf start brainf interpreter
  • barchart start barchart program
  • snake start Snake game
  • calc start calculator program
  • disk-tools start disk-tools program
  • BASIC start micro-BASIC interpreter
  • memory start memory viwer program
  • mine start cminesweeper game
  • piano start piano program
  • space start space arcade game

📦 x16 PRos Software Package

Basic x16 PRos software package includes:

Notepad
for writing and saving texts to disk sectors
Brainf IDE
for working with Brainf*ck language
Barchart
program for creating simple diagrams
Snake
classic Snake game
Calc
help with simple mathematical calculations
disk-tools
to erase programs from disk sectors
BASIC
Micro-BASIC programming language interpreter
memory
to view memory in real time
mine
classic minesweeper game
piano
to play imple melodies using PC Speaker
space
space arcade game

🛠 Adding programs

x16 PRos includes a small set of built-in programs. You can add your own program to the system image and then run it using the load command, specifying the disk sector number where you wrote the program as an argument.

Here's how you can add a program:

dd if=YourProgram.bin of=disk_img/x16pros.img bs=512 seek=DiskSector conv=notrunc

You can read more about the software development process for x16-PRos on the project website: x16-PRos web site


🛠 Compilation

First, clone the reposytory:

git clone https://github.com/PRoX2011/x16-PRos.git

To compile the project you will only need NASM. Example comand for Ubuntu:

sudo apt install nasm

And finaly:

chmod +x build-linux.sh
./build-linux.sh

🚀 Launchng

To launch x16 PRos, use emulators such as QEMU,Bochs or online emulator like v86. Example command for QEMU:

qemu-system-i386 -audiodev pa,id=snd0 -machine pcspk-audiodev=snd0 -hda disk_img/x16pros.img

You can also try running x16-PRos on a real PC (preferably with BIOS, not UEFI)

If you still want to run x16-PRos on a UEFI PC, you will need to enable "CSM support" in your BIOS. It may be called slightly differently.


⚙ Running x16-PRos on windows

Installation Steps

  1. Open PowerShell as Administrator and run:
winget install nasm
winget install qemu
  1. Add NASM and QEMU to System Path by running:
setx PATH "%PATH%;C:\Program Files\NASM;C:\Program Files\qemu"
  1. Reboot your PC for the PATH changes to take effect.

  2. Run the build script:

build-windows.bat

Note: Make sure to restart your terminal or IDE after modifying the PATH variable.

Troubleshooting

  • If commands are not recognized, verify the installation paths
  • Ensure PowerShell was run as Administrator during installation
  • Check if PATH was updated correctly by running echo %PATH%

👨‍💻 x16-PRos Developers

  • PRoX (Faddey Kabanov) lead developer. Creator of the kernel, command interpreter, writer, brainf, snake programs.
  • Loxsete developer of the barchart program.
  • Saeta developer of the calculation logic in the program "Calculator".
  • Qwez developer of the "space arcade" game.

🤝 Contribute to the Project

If you want to contribute to the development of x16 PRos, you can:

  • Report bugs via GitHub Issues.
  • Suggest improvements or new features on GitHub.
  • Help with documentation by emailing us at prox.dev.code@gmail.com.
  • Develop new programs for the system.

The project is distributed under the MIT license. You are free to use, modify and distribute the code.


About

Simple 16bit operating system writen in NASM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 88.0%
  • Python 6.0%
  • Shell 3.0%
  • Batchfile 2.2%
  • Makefile 0.8%
0