What's new

2 questions about chip8 emulation

Garstyciuks

New member
Hello. I have made an emulator, which can run several games quite normally. Question 1:

How should the drawing be made? The way I made it, all the moving objects are blinking (I believe that they are first erased by drawing them again on the same positions (XOR drawing mode; and my emulator redraws the screen at any video change) and then draws them again in a new position). So how to make it "not blinking"?

Question 2:

How to actually understand this: "FX29 I points to the 4 x 5 font sprite of hex char in VX" operation code? Should there be some kind of constants in memory location for all those hexadecimal character? Say VX is value 0. So then I should point to memory location, where {0xF0, 0x90, 0x90, 0x90, 0xF0 } stored? And would it be good to store all those letter constants in the unused interpreter memory range?
 

Doomulation

?????????????????????????
Question 1: This is a limitation of the original system. Although I'm sure you could make workarounds, it's hard.

Question 2: You assume correct. You may store whatever you want in the interpreter memory since that memory is resered to YOU, the interpreter to do stuff. So if the font code for number 0 is stored at offset 0x0 (in interpreter memory), then point the I register to that offset.
 

Top