All Projects → VBrazhnik → Corewar

VBrazhnik / Corewar

School 42 project // Implementation of programming game “Core War” [Champions + Assembler + Disassembler + Virtual Machine + Visualizer]

Programming Languages

c
50402 projects - #5 most used programming language
assembler
53 projects

Projects that are alternatives of or similar to Corewar

Fhex
A Full-Featured HexEditor compatible with Linux/Windows/MacOS
Stars: ✭ 225 (+196.05%)
Mutual labels:  disassembler, gui
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (+57.89%)
Mutual labels:  gui, virtual-machine
Corewar
A reproduction of the Core War game. Assembly compiler, Virtual Machine and GUI.
Stars: ✭ 173 (+127.63%)
Mutual labels:  ncurses, virtual-machine
Zookeeper Visualizer
zookeeper的可视化管理工具
Stars: ✭ 150 (+97.37%)
Mutual labels:  gui, visualizer
Aqemu
Official AQEMU repository - a GUI for virtual machines using QEMU as the backend
Stars: ✭ 301 (+296.05%)
Mutual labels:  gui, virtual-machine
Asap app imgui
Starter project for portable app with optional GUI (GLFW/ImGui) and a rich builtin debug UI. Includes docked windows, log viewer, settings editor, configuration load/save, etc...
Stars: ✭ 70 (-7.89%)
Mutual labels:  gui
Pypokergui
GUI application for PyPokerEngine
Stars: ✭ 72 (-5.26%)
Mutual labels:  gui
Flow
A realtime log analyzer
Stars: ✭ 69 (-9.21%)
Mutual labels:  ncurses
Hitomi Downloader
🍰 Desktop application to download images/videos/music/text from Hitomi.la and other sites, and more.
Stars: ✭ 1,154 (+1418.42%)
Mutual labels:  gui
Examples
Learn to create a desktop app with Python and Qt
Stars: ✭ 1,196 (+1473.68%)
Mutual labels:  gui
Pydiff
A simple GUI for python's difflib to compare files and directories
Stars: ✭ 74 (-2.63%)
Mutual labels:  gui
Skin.refocus
reFocus, a skin for Kodi
Stars: ✭ 72 (-5.26%)
Mutual labels:  gui
Wxformbuilder
RAD tool for wxWidgets GUI design
Stars: ✭ 1,167 (+1435.53%)
Mutual labels:  gui
Cot
Common OVF Tool
Stars: ✭ 73 (-3.95%)
Mutual labels:  virtual-machine
Silx
silx toolkit
Stars: ✭ 69 (-9.21%)
Mutual labels:  gui
Univdisasm
x86 Disassembler and Analyzer
Stars: ✭ 74 (-2.63%)
Mutual labels:  disassembler
Popup Dict
Linux 下的划词翻译小工具
Stars: ✭ 69 (-9.21%)
Mutual labels:  gui
Ariang Native
A better aria2 desktop frontend than AriaNg, containing all features of AriaNg and more features for desktop.
Stars: ✭ 1,176 (+1447.37%)
Mutual labels:  gui
Moonnuklear
Lua bindings for Nuklear
Stars: ✭ 74 (-2.63%)
Mutual labels:  gui
Ara
ARA Records Ansible and makes it easier to understand and troubleshoot.
Stars: ✭ 1,176 (+1447.37%)
Mutual labels:  gui

Corewar

Corewar is a School 42 project. The purpose of this project is an implementation of the programming game “Core War”.

Corewar

corewar.en.pdf is the task file.

Task resources is placed at the task_resources folder.

Wiki

This project has an 8-page guide. The guide was written in Russian.

You can read it at the wiki-pages.

Project Structure

This project consists of five parts:

  • Champion
  • Assembler
  • Disassembler (Bonus)
  • Virtual Machine
  • Visualizer (Bonus)

Project has three developed champions: amedvedi.s, wasp.s, kalle.s. They are located at the champions directory.

Assembler + Disassembler are modules of the program asm.

Virtual Machine + Visualizer are modules of the program corewar.

How to clone?

This repository includes submodule. So if you want to clone it, you can use the following command:

git clone --recurse-submodules <repository url>

Installation

Clone repository and then go into the created directory and run the following command:

make

Usage

asm

Usage: ./asm (champion.s|champion.cor)
    champion.s   — from assemble to bytecode
    champion.cor — from bytecode to assemble

corewar

Usage: ./corewar [-a (-dump|-d) <num> (-shed|-s) <num> -l <num>] [-v] [-n <num>] <champion.cor> <...>
    -a          : Print output from "aff" (Default is off)
    -dump <num> : Dump memory (32 octets per line) after <num> cycles and exit
    -d    <num> : Dump memory (64 octets per line) after <num> cycles and exit
    -show <num> : Run <num> cycles, dump memory (32 octets per line), pause and repeat
    -s    <num> : Run <num> cycles, dump memory (64 octets per line), pause and repeat
    -l    <num> : Log levels
                   1  : Show lives
                   2  : Show cycles
                   4  : Show operations
                   8  : Show deaths
                   16 : Show PC movements
    -v          : Run visualizer
    -n    <num> : Set <num> of the next player

Visualizer

The best visualizer performance is with iTerm2.

Visualizer

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].