Use this tag to refer about the interpreted programming language CHIP-8 designed to make video-game programming easier and developed originally for 8-bit microcomputers by Joseph Weisbecker in the mid-1970s.
Questions tagged [chip-8]
31 questions
6
votes
2 answers
increment I in chip-8 opcode FX65
While building a chip-8 emulator, I ran into the problem where the 2 main sources of chip-8 information seem to differ which has implications for the whole chip-8 interpreter.
On the one side we have wikipedia, which under the opcode FX65 tells us…

duck
- 1,674
- 2
- 16
- 26
3
votes
1 answer
Chip 8 LD Vx, K (Fx0A) opcode behaviour
I recently decided to have another whack at some Chip8 emulation.
I was reading Cowgod's technical reference and noticed a slight ambiguity regarding the behaviour of the opcode LD Vx, K (Fx0A).
Cowgod's documentation states that All execution stops…

Pharap
- 3,826
- 5
- 37
- 51
2
votes
1 answer
Instruction 0x3000 and jump instruction repeating on almost all games on CHIP-8
I am new to emulation and figured writing a CHIP-8 interpreter would get be started.
However, I am facing an issue. When running a game, like Brix for example, it draws the game no problem (the paddle, etc.) but, after it is done, it just gets stuck…
user11478109
2
votes
1 answer
Can Chip-8 programs jump to odd addresses?
I'm writing a chip-8 interpreter. I have my mock hardware, instruction execution, UI, etc.. all good to go, so I started actually loading and executing real chip8 programs.
In the zip archive I found on the web there are several games in there that…

KallDrexx
- 27,229
- 33
- 143
- 254
2
votes
1 answer
CHIP8 in C - How to correctly handle the delay timer?
TL;DR I need to emulate a timer in C that allows concurrent writes and reads, whilst preserving constant decrements at 60 Hz (not exactly, but approximately accurate). It will be part of a Linux CHIP8 emulator. Using a thread-based approach with…

logo_writer
- 283
- 2
- 10
2
votes
1 answer
CHIP8 emulator written in java/libgdx runs too slowly
I'm having a really big problem with libgdx. I wrote a little CHIP8 emulator to learn how to use libgdx, but I'm still trying to figure out how to make it go faster. I use a Pixmap to update the screen and then render it to a Texture, but this seems…

hayw1re
- 36
- 2
2
votes
2 answers
How do deal with "impossible" Chip-8 instructions
So I've been working on a Chip-8 emulator as a final project for my CompSci class, and have encountered an issue that seems to extend beyond my code. A large amount of the demos I've downloaded (and I'm sure they're genuine Chip-8 programs, not…

Hstuart
- 55
- 8
2
votes
1 answer
My chip8 implementation according to specification is different than open source code on internet. Need a clarification
I am working on CHIP8 implementation and I am reading
Cowgod's
Chip-8
Technical Reference v1.0
http://web.archive.org/web/20130401182240/http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#3.0
as a reference. I am sure this is a percise…

Jason
- 1,298
- 1
- 16
- 27
2
votes
1 answer
How does CHIP 8 graphics rendered on screen?
Opcode DXYN:
Draws a sprite at coordinate (VX, VY) that has a width of 8 pixels and a height of N pixels. Each row of 8 pixels is read as bit-coded (with the most significant bit of each byte displayed on the left) starting from memory location I; I…

Jason
- 1,298
- 1
- 16
- 27
2
votes
1 answer
CHIP-8 game has an odd number of bytes
I have been working on a CHIP8 emulator and am using the hex-editor in notepad++ to view the hex values. I happened to notice that some of the games like "Blitz" by David Winter have an odd number of bytes.
In CHIP8, each opcode is 2 bytes long,…

Hele
- 1,558
- 4
- 23
- 39
1
vote
1 answer
(CHIP8 Emulator) Why is memory taken as char datatype
new to emudev starting out by building a CHIP8 emulator in C. why is its 4k memory takes as char datatype? I believe I am missing some really fundamental information. help
also, what are flags? CHIP8 has 16 (15?) registers VN from 0-F to carry…

Lax
- 55
- 5
1
vote
1 answer
Printing bytes loaded with Files.readAllBytes into array
I'm trying to write a Chip8 emulator with java and I've come across a question with the readAllBytes function in Java Files. When I loaded the bytes from the ROM I'm using to test into the "memory" array of my emulator, I tried to print those bytes…

Cicero Alves
- 11
- 1
1
vote
1 answer
How can i pass an element to be able to evaluate within a certain specialization?
I am trying to make a CHIP-8 emulator that generates most of the instructions at compile time.
So i have a constexpr array like this:
constexpr uint16_t hardCodedROM[] = {
0x8001, 0x8002, 0x8003, 0xA0F0, 0xB0FE
};
And I have a specialization…

Iván Ayala
- 55
- 4
1
vote
1 answer
lexer keeps skiping the final token
So no I'm creating a lexer for Chip-8 assembly using C++ ,but it always skips the third token.
E.G.(My function reads one line of assembly)
ADD V1,V2
It only finds ADD , V1 as a token,skips V2;
same
DRW V3,V4,2
It only finds DRW,V3,V4
where am I…

Tsao Shisong
- 31
- 5
1
vote
1 answer
Do Chip-8 graphics use bits or bytes?
I've been following this tutorial: http://www.codeslinger.co.uk/pages/projects/chip8.html in an attempt to make a Chip-8 emulator, but I don't understand the Draw opcode. The tutorial linked says to make a 64 x 32 array of bytes to hold the data for…

wenter1138
- 13
- 2