What's new

Chip 8

-//zAe\\-

New member
Hi! I have perfectly understood your point ;) !
No! I am not going to code the bugless Emu in couple of days ;P ! Just wanna code a little interpreter, witch will show "something". I am not really a newbie to programming, and i know how mutch time things take... But i am almost complete newbie to the emulation...
And... thaks for being interested ;) !
 
Last edited:

-//zAe\\-

New member
(Sorry for double post :) )

Well, it took me about 3 or 4 hours to understand how the interpreter should work (and how should i code it)... Is this a good time for chip8 emu?
 
Last edited:
OP
sammyboy

sammyboy

Certified SuperHero
Proably.. yeah I mean its olny basic stuff so program what you know and if you forget something just check back to the docs (or whatever you use).
 
OP
sammyboy

sammyboy

Certified SuperHero
When you think its ready send it to me!!!! Maybe a couple of versions during development... Already compiled if you think that I might use the source... No actually wait it would have to be compiled because my Compiler doesn support alot of functions (early development compiler).
 

dreamer

New member
hey sammyboy, you finally decided to go for something a bit easier than a next-gen console emu, if im correct wasn't it me who told you to try something more simple first? not that i know anything about programing myself but its pretty obvious you can't jump into programming and expect to build something a team of skilled programmers take months and months to build - good luck with whatever you're trying anyway :p
 
OP
sammyboy

sammyboy

Certified SuperHero
dreamer said:
hey sammyboy, you finally decided to go for something a bit easier than a next-gen console emu, if im correct wasn't it me who told you to try something more simple first? not that i know anything about programing myself but its pretty obvious you can't jump into programming and expect to build something a team of skilled programmers take months and months to build - good luck with whatever you're trying anyway :p

Yeah kinda.... But thats just on myself :whistling

-//zAe\\- said:
Everyone must realize that he must begin with someting simple by hisself.

I dont actually understand this quote.
 

-//zAe\\-

New member
Hello, Doomulation!
You sayed that i should not hestitate to ask you about Chip8.
So, i have one little tecnical question:
When i wrote a Chi8 Disasm, i have got unknown opcodes, for example in BLITZ rom:
(This is the part of my crappy disassambling program output)
----------------------------------------
Rom name: BLITZ
----------------------------------------
ProgramCounter Opcode ASM
----------------------------------------
.......
0x0000021A 0x00000461 ???
0x0000021C 0x00000962 ???
0x0000021E 0x00000E67 ???
0x00000220 0x000004D0 ???
.......
0x0000022C 0x00000A00 ???
0x0000022E 0x0000E022 ???
.......
0x00000232 0x00000A00 ???
0x00000234 0x0000E08E ???
.......
0x00000242 0x00000112 ???
.......
0x0000024A 0x0000077A ???
0x0000024C 0x0000017B ???
0x0000024E 0x0000FEDC ???
........
0x00000252 0x0000FF3A ???
0x00000254 0x00000012 ???
........
0x00000258 0x0000FF3E ???
0x0000025A 0x00000012 ???
.............

What are these opcodes?

P.S. Sammyboy, if you do not understand my quotes, just forget about them :) !
 
Last edited:

aprentice

Moderator
Since everyone was doing a chip8 emulator and its the "hip thing to be doing" nowadays, ive coded my own as well, just to say "I did it too!" :p

It took me about a day and a half to code, and its very fast since i coded the interpreter on a jump table instead of giant switch. It just needs to be slowed down now :p

If anyone needs help with their chip8 emu, feel free to post in the board, I might be able to help :p

ap_chip8.jpg
 
Last edited:

-//zAe\\-

New member
Maybe i will do a "how to", but first, i wanna finish my emu :)
But..... that "how to" will be written in Russian :( . I do not know English well because it is my 4th language ;)
So.. how about these opcodes? Are they really *important*? Or interpreter should never meet them?
 

krow

Games programer
Hello, im making a chip8 emulator too... well is not mine but im doing better, i hope some day i will make my emulator
 

Doomulation

?????????????????????????
-//zAe\\- said:
Hello, Doomulation!
You sayed that i should not hestitate to ask you about Chip8.
So, i have one little tecnical question:
When i wrote a Chi8 Disasm, i have got unknown opcodes, for example in BLITZ rom:
(This is the part of my crappy disassambling program output)
----------------------------------------
Rom name: BLITZ
----------------------------------------
ProgramCounter Opcode ASM
----------------------------------------
.......
0x0000021A 0x00000461 ???
0x0000021C 0x00000962 ???
0x0000021E 0x00000E67 ???
0x00000220 0x000004D0 ???
.......
0x0000022C 0x00000A00 ???
0x0000022E 0x0000E022 ???
.......
0x00000232 0x00000A00 ???
0x00000234 0x0000E08E ???
.......
0x00000242 0x00000112 ???
.......
0x0000024A 0x0000077A ???
0x0000024C 0x0000017B ???
0x0000024E 0x0000FEDC ???
........
0x00000252 0x0000FF3A ???
0x00000254 0x00000012 ???
........
0x00000258 0x0000FF3E ???
0x0000025A 0x00000012 ???
.............

What are these opcodes?

P.S. Sammyboy, if you do not understand my quotes, just forget about them :) !
Maybe if you explain to me what opcodes it doesn't find =]

Remote: Declare a memory array of chars, define stack pointer, define code pointer, declare and make all opcodes in functions, fetch two bytes of data from the memory and execute the opcode. Also define screen in chars and optionally if it's chip8 or schip8 (screen size is dependant, y'know).
Of course, you also need something like d3d to output the gfx and maybe the Beep! function to do the little beeping. Don't forget the sound timer and the delay timer ;) And oohhhh... the I! Which is manually set by the code to point to data.

That's basically it :p Unless you want that in code ;)
 
Last edited:

Remote

Active member
Moderator
Ok, thanks. Nah, if you would write in in code, why should I do the same thing later on :p

Will have a look next week and see if I get hooked on programming again..
 

-//zAe\\-

New member
Doomulation:
Well.... I will *try* to explain my point:
As you well know chip8 has common opcodes, like jmp, jsr, and, or, cls, mvi....., so when i wrote a disasm, and run it i had a lot of unknown opcodes such as:
0112
FEDC
0012
....
i compared the output of my disasm with crazychip8 one. It was the same, but crazychip8 marked my unknown upcodes as "scdown x", but in is not right! If i am not wrong scdown is 00Cx, but not 0112,FEDC,0012... What are these opcodes for?
 

Top