What's new

Chip 8

sammyboy

Certified SuperHero
If I was to create a chip 8 emulator what roms would it play (I have never heard of one until I looked at this emu programming site). It has so less functions do you reckon it would be possible to emulate in Visual Basic I mean if gameboy ones have written in VB (rather slow though) it must be possible for a chip 8 emulator. And once I have programmed this were would I go next and where can I find documents for chip 8. Hopefully requesting docs arent against the rules like requesting roms are.
 

BlueYoshi

New member
I have made Chip8 & SuperChip emulator. It's on my site http://koti.mbnet.fi/smiika/chippy.htm (sources included). You can make it just fine in VB, I made it in pascal and had to implement slowdown system because the games were running way too fast. Though you might have few problems with VB because it doesn't support bitwise xor (afaik) and bit shifting operators are missing in VB too...

Here's some documentation:
http://www.goldroad.co.uk/chip8.html
http://www.pdc.kth.se/~lfo/chip8/CHIP8.htm
http://members.aol.com/autismuk/chip8/chip8def.htm

roms: (legal ones)
http://www.zophar.net/roms.phtml?op=show&type=chip8
 
OP
sammyboy

sammyboy

Certified SuperHero
I am getting VB.net soon which is actually backwards compatible with some Visual C++.net functions so that would be ok.
 

Doomulation

?????????????????????????
Hmmmmm, if I remember correctly, doesn't VB have "XOR" or something? The logical operators could be replaced with multiplication or division.
Left shift is multiplication. Shift by 1 is equal to times 2. Shift by 2 is 4, 3 is 8, etc, afaik.
Same goes for right shift, only that it's multiplication instead.

I've also made a chip8 emulator called "Chippu."
A good documentation would be dave winter's, although probably the best one would be mine, but I haven't made that one public yet.
 

mesman00

What's that...?
Doomulation said:
Hmmmmm, if I remember correctly, doesn't VB have "XOR" or something? The logical operators could be replaced with multiplication or division.
Left shift is multiplication. Shift by 1 is equal to times 2. Shift by 2 is 4, 3 is 8, etc, afaik.
Same goes for right shift, only that it's multiplication instead.

I've also made a chip8 emulator called "Chippu."
A good documentation would be dave winter's, although probably the best one would be mine, but I haven't made that one public yet.

well make it public! :naughty:
 

Doomulation

?????????????????????????
mesman00 said:
well make it public! :naughty:
It's incomplete and it's at home, so I can't do that right now :p
Oh yeah and goldroad euqals NOTHING compared to the tech docs, btw. It only tells you the very basics of how to make a chip8 emulator.

EDIT: Crap, I realized the name I wrote for my emulator is wrong. I'm stuck with the old name I came up with before deciding the real name :p The real name is "Chuit," not "Chippu."
 
Last edited:
OP
sammyboy

sammyboy

Certified SuperHero
Yeah I cant do anything at the moment because of the fact that my Visual Studio hasnt came yet (I have ordered it from Bangkok). But when it comes I will make two versions of my chip 8 emu. 0ne using the goldroad docs and the other using the table thingy I dont know (if only other emus would be as simple as this). I have decided to emulate the SCHIP after then try something like a gameboy then work on a next gen emu. See how that goes.
 

Teamz

J'aime tes seins
sammyboy said:
Yeah I cant do anything at the moment because of the fact that my Visual Studio hasnt came yet (I have ordered it from Bangkok). But when it comes I will make two versions of my chip 8 emu. 0ne using the goldroad docs and the other using the table thingy I dont know (if only other emus would be as simple as this). I have decided to emulate the SCHIP after then try something like a gameboy then work on a next gen emu. See how that goes.

lol

come on man try to be a little more realistic :doh:
 

Niggy G

HTAFC will rise again!!!
Teamz said:
lol

come on man try to be a little more realistic :doh:

At least he’s being semi-realistic. Better than the n00bs that come on saying there going to make a game cube emu will VB be alright to write it in, lol, shit I forgot sammyboy did that.

Seriously at least he now understands that it would take immense effort and he’s starting in the right place with a basic emu, good luck to you sammyboy, everyone starts somewhere!
 

Doomulation

?????????????????????????
Villela said:
To emulate chip8 you don't need to much things, just needs little things like this table:
http://members.aol.com/autismuk/chip8/chip8def.htm
That list is even incomplete. Sure, it lists all opcodes you'd need for chip8, but not all schip8 opcodes, oh no. I recommend dave winter's documetation. It lists all opcodes there is. And in some complicated way, it also describes the cpu, memory, etc.

And I know that goldroad HAS NO documentation for chip8 that I'm aware of. The tutorial links were even all broken.

Oh and even if you do a gameboy emulator, you won't even get a single demo of a next-gen system working, oh no. You need far more experience with emulators before starting such an emulator.
 

euphoria

Emutalk Member
sammyboy, One word of advice: "The more you know, the more you know what you don't know". This is so true when it comes to emulation.
But anyways good luck to your next-gen console emu (PS4? ;))
 

Old gil

New member
i noticed in your other post that u mentioned that you never programmed any program before this, if this is the case, i wouldnt even reconmend starting with a simple emulator like that, i would mess around with some basic programs ie: simple games (tic tac toe) i wouldnt start out with an emulator...
 

mesman00

What's that...?
Old gil said:
i noticed in your other post that u mentioned that you never programmed any program before this, if this is the case, i wouldnt even reconmend starting with a simple emulator like that, i would mess around with some basic programs ie: simple games (tic tac toe) i wouldnt start out with an emulator...

take old gil's advice...wait a minute, hasn't gil failed at everything he's tried? haha, seriously though, take his advice, as it's my advice too.
 
OP
sammyboy

sammyboy

Certified SuperHero
Yeah I have got a Visual C++ book and I have created things like hello world, the lottery program, and like talking games where it comes up with different animal noises at random. I am going to work on a calculator then some simple games
 

Doomulation

?????????????????????????
Muahahahahaha, that will get you nowhere!
Can you handle input? Can you handle gfx? Can you handle sound? Can you handle bits & bytes & shifting? Can you handle binary operations?
If you answer "no" to any of these questions, I recommend you go learn these before attempting an emulator. :whistling
 

Villela

New member
Doomulation said:
Muahahahahaha, that will get you nowhere!
Can you handle input? Can you handle gfx? Can you handle sound? Can you handle bits & bytes & shifting? Can you handle binary operations?
If you answer "no" to any of these questions, I recommend you go learn these before attempting an emulator. :whistling

handle bits & bytes & shifting isn't a hard thing, if he takes a look to some code he can do this kind of thing, and it ins't the only way, you can find others

Gfx can be do it using an ascii output, sound doesn't are necessary, imput also is unecessary, you can just simulate random imputs to test the emulator

A chip-8 emu doesn't need to be playable, an *i believe* it can be used to learn some language, btw some logical of programing is necessary
 

Doomulation

?????????????????????????
*Cough*
Just getting an emulator to "work" isn't quite enough. Sure, it's a great deal, however, to extend it to its fullest and REAL practice, you need to make it WORKING.

handle bits & bytes & shifting isn't a hard thing, if he takes a look to some code he can do this kind of thing, and it ins't the only way, you can find others
No of course it isn't hard. Nothing is hard once you learn it, but in the beginning it might be. What other ways?

Gfx can be do it using an ascii output, sound doesn't are necessary, imput also is unecessary, you can just simulate random imputs to test the emulator
Ascii output, huh? There just isn't enough space to output using cout or such functions. Besides that, on more complex emulators (even gameboy) it is a MUST to learn this. Ascii won't do. Sound *IS* necessary, although not that much in chip8.
Just putting in random input is cheating and you won't learn anything from it.

A chip-8 emu doesn't need to be playable, an *i believe* it can be used to learn some language, btw some logical of programing is necessary
Yeah right...
You need to get the emulator working to get an understanding on how the real emulators work, to trace DOWN BUGS, etc etc. No, you need to learn it a little more than just get it working actually...
 

Top