Hi,
This is my first post here. It looks like some good chip-8 dudes have posted here so I'm going give my question a chance. I'm a C# programmer as a profession, but fiddles with hardware as a hobby. My last summer vacation project was a hardware chip-8 implemented in a single FPGA. I think it is one of the first of its kind so that's nice. It connects to a VGA-monitor for graphics and a Atari/Amiga-joystick for control.
Things are starting to work out quite nice but I have a timing problem that seems very hard to fix. The games I have tried out this far is:
BLITZ
BLINKY
SPACE INVADERS
MISSILE
TETRIS
HIDDEN
After reading up on timing I first locked the main frequency to approx. 400Hz (400 chip-8 instructions/second) and made the timer decrease every 1/60s. This works for some games but not all. Now I've embedded info for every game to get its own Hz(100-1000Hz) and also a divider to always lock the TimerRegister to approx. 60Hz regardless of main frequency. It still does not work well with for example HIDDEN.
Have somebody seen the same problem with software emulators? Is there somebody who made a table of settings that work well for all/some chip-8 games? Also when trying out different emulators with the game HIDDEN I've seen different behaviors with keyboard control. Should the cursor move one square at a time or move several squares at a time without requiring neutral keyboard value(no key pressed) in between.
Magnus