Computer recreations: core wars
Channel: Solve Computer Science
Date: 13/06/2023

In this video I show you a Python implementation of a 1984 article by A. K. Dewdney from the "Scientific American" magazine called "In the game called Core War hostile programs engage in a battle of bits".

Using a circular list and implementing at least two of the proposed operations, it's possible to execute basic programs in the Redcode programming language.

The user codes the language mnemonics in the main function of the program which are then translated into "machine code" and stored into the "core memory", i.e.: circular list. The simulator will then execute these instructions.

Links to the article:

- https://www.scientificamerican.com/article/computer-recreations-1984-05/
- https://people.scs.carleton.ca/~soma/biosec/readings/akdewdney/First.htm

Source code:

- https://codeberg.org/frnmst/solve-computer-science-extras/src/branch/master/computer-recreations/computer-recreations-core-wars

Wikipedia:

- https://en.wikipedia.org/wiki/Core_War

CHAPTERS

0:00 Intro
0:22 General overview of the article: history, programming language, operations
1:37 Circular array
2:00 Circular list in Python
2:10 Instruction pointer: keeps track of the execution
2:44 The Simulator class
3:11 Structure of the machine code
4:18 Addressing types
5:12 A 3-instruction program replicated from the article
5:55 Check the expected result of the program
6:16 The "Imp" program
6:57 Important methods of the Simulator class: transform human mnemonics to machine code and vice-versa, store and execute operations
8:17 The MOV operation
8:27 Script execution
9:32 Outtro

#computerrecreations #corewars #python #solvecomputerscience