Skip to content

Operating system for running boot sector games & apps

Notifications You must be signed in to change notification settings

maksimKorzh/GameOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameOS

Operating system for developing boot sector games & apps

What a heck is it?

GameOS is a 16-bit real mode operating system allowing to run
binary executables in a boot sector (0x0000_7C00 physical RAM address)
It's distributed in a form of 'packs' with bundled games/apps.

GameOS runs on a real hardware

IMAGE ALT TEXT HERE

Coding in x86 machine codes under GameOS:

IMAGE ALT TEXT HERE

Coding GameOS in x86 assembly (20 videos)

IMAGE ALT TEXT HERE

Distribution: GameOS: 3rd party games

  • run boot sector games from floppy image

Distribution: GameOS: developer pack

  • create new 512 bytes programs in hex editor using x86 machine codes!
  • save up to 5 programs onto USB flash drive
  • load & edit one of 5 user defined programs
  • run user defined games/apps in the boot sector or at 0x0000_0500-0x0000_06FF (hex editor's scope)
  • change color scheme
  • clear screen

Run in emulator

  1. Pick up GameOS.img from the desired pack
  2. Command to run in QEMU: qemu-system-i386 -hda GameOS.img
  3. Run in online emulator(https://copy.sh/v86/): click upload HDD image then start emulation

Create bootable USB (on linux) & run on real hardware

  1. Plug in USB flash drive
  2. Run command sudo fdisk -l => /dev/sdb should be your USB flash drive
  3. Navigate to where GameOS image is located
  4. Run command dd if=GameOS.img of=/dev/sdb count=2880 bs=512
  5. Boot from USB flash drive

Useful resources

CHS addresses: https://en.wikipedia.org/wiki/Cylinder-head-sector
x86 Real mode: https://wiki.osdev.org/Real_Mode
x86 Real mode memory segmentation: https://wiki.osdev.org/Segmentation
x86 Memory map: https://wiki.osdev.org/Memory_Map_(x86)
x86 BIOS interrupts: http://www.ablmcc.edu.hk/~scy/CIT/8086_bios_and_dos_interrupts.htm
x86 Assembly registers: https://www.assemblylanguagetuts.com/x86-assembly-registers-explained/
x86 Assembly instructions: https://www.aldeid.com/wiki/X86-assembly/Instructions
x86 Assembler Instruction Set Opcode Table http://sparksandflames.com/files/x86InstructionChart.html x86 Online emulator: https://copy.sh/v86/

About

Operating system for running boot sector games & apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published