Questions tagged [chip-8]

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.

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…
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…
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…
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
1
2 3