Looking For A Project To Do


D.C.

Member
Joined
Dec 26, 2005
Messages
235
This is primarily directed at the (emu)devs here, but everyone is free to chime in.

My main requirements for this project are:

  • Improve programming skills (C, perhaps assembly)
  • Get insights into computer architecture
  • Doable in 3 months (give or take)
  • Challenging and fun
  • Perhaps be useful

I was thinking about writing an emulator, because I always wanted to do one. A NES emu would be fun (was my first console) but many people have done one so it would only be as an exercise and not really useful to anyone. Mabybe a NES/gameboy emu for the gp2x (I have one) would be more interesting and perhaps even useful to someone :p .

The most "complicated" thing I've written in C is a compiler backend (x86 assembly) for a basic programming language (as part of a compiler course, about 2 years ago :p ). I know it's recommended to start very easy and build up from there when getting into emulation and the nes/gameboy are only suggestions.

So is a nes/gameboy (perhaps for the gp2x) way too ambitious for my skill level and the time given and do any devs out there have other suggestions/recommendations?
 
There is no change you'll write an emulator in 3 months (or you're half a genius and it wont improve your skillz).

A game is perfectly doable in 3 months, you'll improve your coding skills but you wont have your insight in computer architecture.

Writing a dynarec/interpreter for a simple architecture (gb, nes) could fit in 3 months but I'm not sure how this could be usefull alone.


/Me realy hope you get more insight ;)
 
Get a PIC microcontroller, build and program something? Learn microcontroller programming (specifically assembly, but there's a C assembler as well), and some electronics; learn some of the secrets of how a computer actually works way deep inside.
 
sebt3 said:
There is no change you'll write an emulator in 3 months (or you're half a genius and it wont improve your skillz).
If that's something like half a brain, then it sounds like me :) . Thanks though, it puts things into perspective.
Also the 3 months is just my own estimate, I think the project is more centered around reaching the stated goals for the amount of credits it's worth. So it might be stretchable to 6 months, but I don't really know, should look into it.

sebt3 said:
A game is perfectly doable in 3 months, you'll improve your coding skills but you wont have your insight in computer architecture.

Writing a dynarec/interpreter for a simple architecture (gb, nes) could fit in 3 months but I'm not sure how this could be usefull alone.
Yeah something like a dynarec/interpreter sounds really interesting, definitely worth considering.

WizardStan said:
Get a PIC microcontroller, build and program something? Learn microcontroller programming (specifically assembly, but there's a C assembler as well), and some electronics; learn some of the secrets of how a computer actually works way deep inside.
Funny enough I've got a uzebox (ATmega644 microcontroller gameconsole), but haven't done anything with it (need to buy a usb programmer but am short on cash :p ). Making a game for it as a project would be interesting, but would still require a lot of work (understanding the platform, graphics, music, etc) and I don't know if 3 months would be enough time. Still a viable option I think, will have to discuss it with the project supervisor if I go that route.

Other suggestions/comments still welcome :) .
 
Last edited by a moderator:
D.C. said:
WizardStan said:
Get a PIC microcontroller, build and program something? Learn microcontroller programming (specifically assembly, but there's a C assembler as well), and some electronics; learn some of the secrets of how a computer actually works way deep inside.
Funny enough I've got a uzebox (ATmega644 microcontroller gameconsole), but haven't done anything with it (need to buy a usb programmer but am short on cash :p ). Making a game for it as a project would be interesting, but would still require a lot of work (understanding the platform, graphics, music, etc) and I don't know if 3 months would be enough time. Still a viable option I think, will have to discuss it with the project supervisor if I go that route.

Other suggestions/comments still welcome :) .

Maybe you could get someone to help you out on the graphics or or music so you don't have to do it all yourself?
 
Last edited by a moderator:
Com64 said:
D.C. said:
WizardStan said:
Get a PIC microcontroller, build and program something? Learn microcontroller programming (specifically assembly, but there's a C assembler as well), and some electronics; learn some of the secrets of how a computer actually works way deep inside.
Funny enough I've got a uzebox (ATmega644 microcontroller gameconsole), but haven't done anything with it (need to buy a usb programmer but am short on cash :p ). Making a game for it as a project would be interesting, but would still require a lot of work (understanding the platform, graphics, music, etc) and I don't know if 3 months would be enough time. Still a viable option I think, will have to discuss it with the project supervisor if I go that route.

Other suggestions/comments still welcome :) .

Maybe you could get someone to help you out on the graphics or or music so you don't have to do it all yourself?

I think I'm supposed to do it on my own and it would only complicate things in the organizational department. However the project could be part of a bigger one (e.g. interpreter as part of an emulator) as long as it's self contained. I guess there's nothing really stopping me from continuing with a bigger project after finishing this one :) .
 
Last edited by a moderator:
A CPU-only emulator, even a dynarec, can definitely be done in 3 months, even as a first time sort of thing. I was telling DC in PM, but I did a project like that in undergrad and it only took a few weeks. That was my first time doing a dynarec or even any kind of emulator for anything. It was just a really simple toy CPU, but there are some pretty simple real CPUs out there, like MIPS I.

There are some platforms that are either almost entirely CPU or have pretty simple non-CPU parts if you don't include optional peripherals. For instance a lot of old computers and some old arcade games. A full GB emulator could possibly be done in this time frame; a lot of people have done them on emutalk.
 
Back
Top