Gameboy Development Forum

Discussion about software development for the old-school Gameboys, ranging from the "Gray brick" to Gameboy Color
(Launched in 2008)

You are not logged in.

#1 2015-09-20 08:13:18

Termingamer2-JD
New member
From: Epstein's Island
Registered: 2015-09-20
Posts: 8
Website

GB/SGB/GBC Emulator Making

Hi,

I want to make an emulator which can emulate the Game Boy line (besides Advance).

I have no prior coding knowledge and I discussed this at the emulator-zone forums, where C++ was a good programming language to learn.

Discuss below.
(I already know where I'm trying to head with this project: an emulator which is highly accurate, fast and will be mostly aimed at the general gamer. C++ is apparantly used for a lot of emulators, too.)

Obviously I'm going to spend some time reading up on GB* documentation and ASM/etc, and I also have many roms to test it with (an entire set, including a bunch of HB games as well).

I'm not sure this is the right forum for me, though - but this is about GB stuff isn't it?

Offline

 

#2 2015-09-20 13:24:24

l0k1
Member
Registered: 2014-10-23
Posts: 44

Re: GB/SGB/GBC Emulator Making

Hey bud!
Before worrying about creating an emulator, you should probably learn how to write code. Which will mean spending some time learning to write things that probably aren't an emulator.
I don't know of any good C++ tutorials (I'm partial to C myself, but haven't written any C in over a year), but you should find a good tutorial, and stick to it beginning to end.
Also, are you doing this on Windows, Mac or Linux? That'd be good information to have - the development environment is different for all 3.
After you have some coding knowledge under your belt, you can scour Github and look at how other people have implemented emulators.
Good luck! It's a long road ahead. =]

Offline

 

#3 2015-09-21 15:46:51

a cat
Member
Registered: 2014-07-27
Posts: 98

Re: GB/SGB/GBC Emulator Making

you should definitely try to learn a programming language first
i have been programming for about 3 years(not professionally) and still cant write a emulator!

but programming and emulator making are very good skills to have!

i recommend learning c first if you can learn c you can learn any programming language
seriously after i learned c i could learn everything else so much easier

its also a very good language for making emulators in (and well just about anything)!

here are some very good c tutorials:
https://www.youtube.com/playlist?list=P … E7DD6D8810

if you get stuck feel free to ask me questions!

once you get the hang of programming here is a good tutorial that shows you how to make a chip-8 emulator
which is meant to be the easiest computer for beginners to try to emulate
http://www.multigesture.net/articles/ho … terpreter/

it uses c++ but c/c++ are very very very similair so you should understand all of it if you can understand c

the c tutorial shows you how to compile c for windows but i highly recommend using gnu/linux for any programming
it is a excellent programming enviroment and you have just about any dev tool you could every dream of available and easily installable

this is not essential but advised

my gnu/linux distro of choice:
https://trisquel.info/

Last edited by a cat (2015-09-21 15:49:35)


a cat in need of knowledge!!

Offline

 

#4 2015-09-29 08:31:37

Termingamer2-JD
New member
From: Epstein's Island
Registered: 2015-09-20
Posts: 8
Website

Re: GB/SGB/GBC Emulator Making

I think it's pretty obvious I want to learn coding or else how do I do it? tongue

Yeah, I'll learn C, and maybe move to some parts of assembly and C++ so I can make a good emu.

I'm using XP SP3 to program, however I do have Xubuntu 15.04 as well, actually, I'll probably make a Windows edition first and then move into Linux side topics.

I hope I can make this emulator, this is mainly just a hobby project for me to get better at code and to make a GB emulator with a mixture of good accuracy and speed.

Offline

 

#5 2015-09-30 04:10:03

a cat
Member
Registered: 2014-07-27
Posts: 98

Re: GB/SGB/GBC Emulator Making

"I'll probably make a Windows edition first and then move into Linux side topics."
if your doing this make sure to use a cross platform graphics library like SDL, GTK or QT (i would recommend SDL)
so for example don’t use windows.h or Direct X

what programming projects have you done before?
as a gameboy emulator may (or who knows may not!) be too difficult to create

i would at least first have a look at this CHIP-8 emulator tutorial which is a much easier system to emulate than the gameboy and will give you some experience in making emulators
http://www.multigesture.net/articles/ho … terpreter/

also one thing to note about using assembler is you have have to rewrite the assembler if you try to port the emulator to a different CPU architecture

Last edited by a cat (2015-09-30 04:14:39)


a cat in need of knowledge!!

Offline

 

#6 2015-09-30 08:44:36

Termingamer2-JD
New member
From: Epstein's Island
Registered: 2015-09-20
Posts: 8
Website

Re: GB/SGB/GBC Emulator Making

I haven't done any coding projects before, I plan to make a few things before moving into emulation. smile

I wouldn't use DirectX in the first place anyway, because OpenGL is fine for me. smile

Offline

 

#7 2015-09-30 18:09:17

a cat
Member
Registered: 2014-07-27
Posts: 98

Re: GB/SGB/GBC Emulator Making

ok great!
also SDL is much easier to learn than OpenGL
and very good for emulators

Last edited by a cat (2015-09-30 18:09:29)


a cat in need of knowledge!!

Offline

 

#8 2015-10-02 08:34:41

Termingamer2-JD
New member
From: Epstein's Island
Registered: 2015-09-20
Posts: 8
Website

Re: GB/SGB/GBC Emulator Making

Thanks for the tip. I'll get around to it, this will be a co-development along with an NES emulator which I'm also discussing on the nesdev board.

Also, what's the good starting point, is it same as NES (like this: http://forums.nesdev.com/viewtopic.php? … 05#p156341)

Offline

 

#9 2015-10-02 11:18:47

a cat
Member
Registered: 2014-07-27
Posts: 98

Re: GB/SGB/GBC Emulator Making

"Also, what's the good starting point, is it same as NES (like this"
Basically yes


a cat in need of knowledge!!

Offline

 

#10 2017-01-25 01:08:08

npzman
Banned
From:
Registered: 2014-11-19
Posts: 197

Re: GB/SGB/GBC Emulator Making

can it be made in visual basic.Net ?


Twitter : @Sfeedman please follow
Join : sfeed.club my website please join

Offline

 

#11 2017-02-28 16:09:32

MS-DOS1999
New member
Registered: 2017-02-28
Posts: 5

Re: GB/SGB/GBC Emulator Making

I have developped a Chip 8 Emulator and i work on a Gameboy Emulator Now, i recommand to all people who want to program emulator to look 4 steps in the good order :

-Learn C (or C++), Assembler and SDL .

-Choose the hardware to Emulate(I hardly recommand the CHIP8 Interpreter because it's one of the first hardware easy to emulate, for example begin with Gameboy or Nes it's not good solution because it's really difficult to emulate).

-Search Doc on the Hardware (WikiPage, PDF about the processor, and opcode list).

-And let's go for 2~3 months of work for Chip8 emulator or 7~8 months for Gameboy( yeah it's really hard to program a software like an emulator, but fill with determination ! ^^).

Sorry, i'm a young french, my english is not very good.

Last edited by MS-DOS1999 (2017-03-01 04:59:05)

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson