All Projects → nanochess → Toledo Atomchess

nanochess / Toledo Atomchess

Toledo Atomchess is the world's smallest chess program in x86 assembly code

Programming Languages

assembly
5116 projects

Projects that are alternatives of or similar to Toledo Atomchess

Asm Space Invaders
A small, bootable game written in x86 Assembly inspired by Space Invaders
Stars: ✭ 202 (+192.75%)
Mutual labels:  game, x86, bootloader, asm
Pillman
Pillman boot sector game, a yellow thing eats pills and is chased by monsters.
Stars: ✭ 298 (+331.88%)
Mutual labels:  game, x86, bootloader, asm
Invaders
Invaders game in 512 bytes (boot sector)
Stars: ✭ 461 (+568.12%)
Mutual labels:  game, x86, bootloader, asm
Bootmine
Bootable minesweeper game in a 512-byte boot sector
Stars: ✭ 136 (+97.1%)
Mutual labels:  game, x86, bootloader
TravorOS
A simple OS running on Intel x86 architecture | No longer updating
Stars: ✭ 24 (-65.22%)
Mutual labels:  x86, bootloader
stoomboot
An x86 real mode multiboot-ish ELF bootloader
Stars: ✭ 19 (-72.46%)
Mutual labels:  x86, bootloader
Assembly-Lib
A 16-bits x86 DOS Assembly library that provides many useful functions for developing programs. It has both VGA grapics functions as well as general purpose utilities. The main purpose of this library was to be able to implement simple DOS games (in Assembly) using VGA (320x200, 256 colors) display.
Stars: ✭ 36 (-47.83%)
Mutual labels:  asm, x86
Limine
x86/x86_64 BIOS Bootloader
Stars: ✭ 288 (+317.39%)
Mutual labels:  x86, bootloader
asmdot
[Unstable] Fast, zero-copy and lightweight (Arm | Mips | x86) assembler in (C | C++ | C# | Go | Haskell | Javascript | Nim | OCaml | Python | Rust).
Stars: ✭ 23 (-66.67%)
Mutual labels:  asm, x86
Radical-OS
Radical kernel source tree
Stars: ✭ 45 (-34.78%)
Mutual labels:  asm, x86
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-4.35%)
Mutual labels:  x86, bootloader
BootProg
FAT12/16/32 Bootsector for .COMs/.EXEs
Stars: ✭ 74 (+7.25%)
Mutual labels:  x86, bootloader
mbr-boot-manager
💾 Master Boot Record with a boot menu written in Assembly
Stars: ✭ 57 (-17.39%)
Mutual labels:  x86, bootloader
LanOS
one mini operating system simplified from linux0.12
Stars: ✭ 61 (-11.59%)
Mutual labels:  asm, x86
creating-controls-in-assembler
Gitbook: https://mrfearless.gitbooks.io/creating-controls-in-assembler
Stars: ✭ 20 (-71.01%)
Mutual labels:  asm, x86
SLAE
Example ASM code following SLAE course and exam assignments.
Stars: ✭ 36 (-47.83%)
Mutual labels:  asm, x86
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+6692.75%)
Mutual labels:  x86, bootloader
Y86
A Y86 pipeline CPU simulator in JavaScript.
Stars: ✭ 404 (+485.51%)
Mutual labels:  x86, asm
dcc
Direct/Interactive C Compiler
Stars: ✭ 18 (-73.91%)
Mutual labels:  asm, x86
CopyToAsm-Plugin-x86
CopyToAsm (x86) - A Plugin For x64dbg
Stars: ✭ 23 (-66.67%)
Mutual labels:  asm, x86

Toledo Atomchess (c) Copyright 2015-2019 Oscar Toledo G.

http://www.nanochess.org/ https://github.com/nanochess

This Github repository contains the x86 assembler source code for Toledo Atomchess and Toledo Atomchess Reloaded.

Toledo Atomchess allows the player to play against the computer, the computer only plays basic legal chess movements, no promotion, no castling and no enpassant. All this in 356 bytes bootable from a floppy disk or 352 bytes if using the COM file. Also there is a HACK mode version reaching 326 bytes with COM file, or 330 bytes bootable.

Toledo Atomchess Reloaded plays full chess movements and currently sizes up to 779 bytes. It hasn't been optimized further because of lack of time.

Check the source code for further details.

In order to assemble it, you must download the Netwide Assembler (nasm) from www.nasm.us

Use this command line:

nasm -f bin toledo_atomchess.asm -o toledo_atomchess_disk.img nasm -f bin toledo_atomchess_reloaded.asm -o atomr.img

Or this command line for compatibility with bootOS (see my repositories):

nasm -f bin toledo_atomchess.asm -Dbootos -o toledo_atomchess_bootos.img

It can be run with DosBox or qemu:

qemu-system-x86_64 -fda toledo_atomchess_disk.img qemu-system-x86_64 -fda atomr.img

Thanks to following people:

  • HellMood for suggesting the translation of Toledo Atomchess to nasm syntax and some optimization suggestions.
  • Peter Ferrie (qkumba) for suggestions.
  • qu1j0t3 for providing a makefile.
  • theshich for optimization suggestions.

Enjoy it!

Useful links:

Original homepage of Toledo Atomchess http://nanochess.org/chess6.html

THE BOOK <<

Do you would like more details on the inner workings? This program is fully commented in my new book Programming Boot Sector Games and you'll also find a 8086/8088 crash course!

Now available from Lulu:

Soft-cover http://www.lulu.com/shop/oscar-toledo-gutierrez/programming-boot-sector-games/paperback/product-24188564.html

Hard-cover http://www.lulu.com/shop/oscar-toledo-gutierrez/programming-boot-sector-games/hardcover/product-24188530.html

eBook https://nanochess.org/store.html

These are some of the example programs documented profusely in the book:

  • Guess the number.
  • Tic-Tac-Toe game.
  • Text graphics.
  • Mandelbrot set.
  • F-Bird game.
  • Invaders game.
  • Pillman game.
  • Toledo Atomchess.
  • bootBASIC language.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].