CHIP-8

CHIP -8 describes both an interpreted programming language that is similar to assembler, and the virtual machine within which the applications are running. CHIP -8 is platform independent and can therefore be regarded as a predecessor of modern VM like Java VM or. NET CLR.

History

CHIP -8 was developed by Joseph Weisbecker the mid 70s. Originally the language for home computers such as the COSMAC VIP or TELMAC was designed. The goal was to provide a simple language for platform-independent development of video games.

In 1991, Erik Bryntse developed a successor to CHIP -8, the so-called SCHIP (Super CHIP). This extended CHIP -8 some additional commands and features such as higher resolution. Developed by Bryntse CHIP48 interpreter running on the graphing calculator HP- 48th

Today there are CHIP -8 interpreter for a large number of modern systems, such as mobile phones or game consoles. Reason for the high spread is a relatively simple implementation of the language, which makes it a popular entry-level project for developers of emulators.

Applications

Despite the high number of interpreters exist comparatively few applications. The majority make simple arcade conversions of games like Pong, Space Invaders or Tetris. More complex applications are not possible due to the low memory and limited edition graphics. Many games are available as free public domain in the internet.

Properties

The programming language is based on the assembly language. Applications are programmed using opcodes. An opcode is a 16-bit value representing a command, and optionally its arguments. The opcodes are executed by the interpreter within a virtual machine. CHIP 8 interpreter often also referred to as emulators. However, this is, strictly speaking, incorrect because it is not in CHIP -8 programs to executable machine code, but to bytecode.

Memory

The address range of CHIP -8 goes from 200h to FFFh. Overall, are 3584 bytes of memory. The beginning of the address space is reserved for the interpreter itself.

Register

CHIP 8 has 16 8-bit registers for data, and a 16 -bit address registers.

Graphics and Sound

The resolution is 64 × 32 pixels with 2 colors (monochrome). SCHIP provides improved resolution of 128 × 64 pixels. The only way to sound output is a simple ring (beep ).

Input

The user input via a keyboard with 16 keys, which is similar to the numeric keypad. The buttons are numbered from 0 to F in hexadecimal.

183813
de