#153329 - ETkoala - Fri Mar 28, 2008 4:45 pm
New chip8me version!
Most importants updates are: SCHIP games are now playable and added directories support to GUI browsing.
1.0 updates:
-CPU: Added SCHIP support
-CPU: Fixed SP (it was skipping the first one)
-CPU: RND opcode fixed (fixes VBRIX bugs)
-CPU: LD Vx, K (Wait for keypress) fixed
-GUI: Added directory support
-GUI: Added file-sorting
-GUI: Long names are now short when displaying
-Misc: Fixed some memory overflows
-Misc: fixed some debugging problems
-Misc: Added auto-zoom (fit to screen, schip has different resolution)
-Misc: Added 'reset to default' option
-Misc: Added few options ('reset to default' and 'save and continue')
-Others: some minor fixes.
[Images not permitted - Click here to view it]
Download:
http://etk.scener.org/index.php?op=showproject&st=33
#153346 - Cid2Mizard - Fri Mar 28, 2008 9:42 pm
DL is dead ... :(
_________________
www.nintendomax.com 100% Hack 0% Warez
#153348 - SiW - Fri Mar 28, 2008 10:26 pm
#153349 - jph - Fri Mar 28, 2008 10:41 pm
thanks etk, turning out splendid.
btw, thanks for that upload link SiW :)
#153353 - ETkoala - Fri Mar 28, 2008 11:00 pm
sorry ! I should have checked the download link :<
it's the one SiW said anyways (fixed on website too)
#153361 - qw3rky - Sat Mar 29, 2008 3:36 am
I was going to release a DS port of a Chip8 emulator but you beat me to it! Oh well, yours has some better features. SCHIP support and GUI file browsing are some very nice touches. Nice work.
Are you going to release the source? I would like to compare how you handled a few quirks to make all the games work.
_________________
I've coded about 17 different implementations of Pong. It's the game dev's "hello, world".
DualScheme - Scheme Interpreter for DS
#153462 - Maxim - Mon Mar 31, 2008 10:32 am
There's at least one opcode that is expected to work differently in two different "games" so you can never have 100% compatibility. Namely, RND takes a parameter that is either described as the upper limit for the random result, or (more likely in the original interpreters) a bitmask that specifies the bits to randomly generate. When the parameter is a power of 2 minus 1, the result is the same. Implement it either way and at least one game is broken. (I don't have my source handy to check exactly which.)
#153515 - qw3rky - Tue Apr 01, 2008 7:49 am
Oh there's more than just one opcode that's a little off. You know what's really a pain? There's this one game called "Blitz" that is one of the best Chip-8 games available, but there's a bug in the code that makes it draw off screen. If you don't account for this bug in your emulator core, Blitz will break horribly, but it's the only game with this issue. So I have a whole flag variable dedicated solely to the detection of running Blitz so that it will run correctly.
As for the RND opcode, I implemented it as the bitmask version and it seems to work okay for the majority of Chip-8 stuff out there.
You're right that there's no such thing as 100% compatibility though, at least as long as you follow only the specs in your implementation. If you really wanted 100%, you'd have to put in all sorts of nasty one-time special case logic. And none of the Chip-8 implementations I've seen ever seem to completely agree. I guess following standards has been a nasty problem for decades, not just now with web browsers.
_________________
I've coded about 17 different implementations of Pong. It's the game dev's "hello, world".
DualScheme - Scheme Interpreter for DS
#153585 - ETkoala - Wed Apr 02, 2008 1:11 pm
yeah I know those 'bad-coded' games, they are a pain for the coder :S
I changed it a little so more games are compatible, the RND opcode is not running with logical operator AND, it's just "Rand%x", this fixes many not-working games