Top products from r/EmuDev

We found 5 product mentions on r/EmuDev. We ranked the 5 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top comments that mention products on r/EmuDev:

u/CaptainCaffeine · 5 pointsr/EmuDev

If you're trying to get into the emulator development scene, my recommendation would be to start writing an emulator for a simple system (such as the Game Boy or NES). I, too, wanted to read computer architecture books before I started my own emulator, and it turned out to be a huge waste of time. I already knew 80%+ of the material in the early chapters, but I insisted on slogging through anyway. But when I'm doing boring stuff like that, I make terrible progress on anything.

Maybe you and I learn differently, but to learn efficiently I need some kind of direction to keep me motivated and moving along. Sifting though pages and pages of dense textbook material without an end goal or a particular concept I'm trying to understand, and instead hoping that I'll just absorb general information, doesn't work out. Much of what you read won't stick with you, and you'll space out a lot (or at least I did).

Once I started actually working on my Game Boy emulator, my productivity shot through the roof. I was making so much more progress in learning and programming when I had actual, tangible goals to achieve. So, if you have the programming ability, start doing that sooner rather than later and you'll learn what you need to know as you move along. Start by emulating the memory, then the cpu, then the rest of the stuff. If you're actually interested, I can provide you with some links to help you get started.

----------------------------------------------
Also if you've already taken an intro to digital design course, then you won't learn anything from https://www.amazon.com/dp/0262640686/ref=cm_sw_su_dp.

u/lyinch · 11 pointsr/EmuDev

Hey,

It looks like you haven't actually started with your emulator development. Begin to check out the opcodes of Chip-8, have a look at the hardware and try to reason, why you won't have an x86 assembly file.

In addition, have a look at the difference between those numbers and those numbers.

It looks like your understanding of computer architecture is quite limited - nothing to be ashamed of - you might be better off by reading Digital Design and Computer Architecture by Harris and Harris or Introduction to Computing Systems: From Bits and Gates to C and Beyond by Patt and Patel than writing an emulator right now.

Both books give you an absolutely wonderful overview of computer architecture, starting at the boolean logic, the transistors and the gates you can form with them, going over combinatorial and sequential logic and ending at the design of your own CPU written on an FPGA with a HDL (which few programmer encounter in their career). The latter even gives you a detailed overview of multicycle processors, and goes beyond that to analyse GPUs and some more modern techniques to improve multicycle processors.

As I'm giving out advice, you might want to have a look at openGL which is used to render modern games or SDL which is more common in the emudev community. (be aware that SDL is a few abstraction layers above openGL and relies on it)

u/khedoros · 11 pointsr/EmuDev

I don't know about "beginner", but I was introduced to a lot of the key ideas when I took my Computer Architecture course in college, using a book like this.

Emulator 101 should be a good guide getting started, and other posts like Imran Nazar's about emulating the Game Boy in Javascript would be useful.

Chip-8 is a simple starting point (just a few operations, very simple architecture, only expects to run at about 500-1000 Hz, there are timers but not really interrupts, etc). Makes sense that it's simple and slow; it's actually a VM that ran on some microcomputers in the latter half of the 70s.

Space Invaders (the arcade game) has a more complex CPU, straightforward graphics and audio, and predictable timing on the interrupts.

Game Boy is a cleaner design than the NES, and the CPU can very nearly be adapted from the Space Invaders one. It introduces interrupts, interrupt priorities, memory bank-switching, more complex graphics and audio.

NES is similar to the Game Boy in some ways, but I feel like the quirkiness is even closer to the surface. Fewer interrupts, split memory map between CPU and PPU (the graphics chip), and a horrendous number of bank-switchers used in different games.

A lot of Sega's hardware, the SNES, or even something more obscure might make sense at this point.

My own path, so far, has been NES, started Game Boy (took a small break to build Chip-8), then finished Game Boy, added Color. Took a bit more time, then jumped into Game Boy Advance, which is my current thing (and being fair, I've taken a lot of breaks...I think I was seriously looking into GBA over a year ago).

u/whisky_pete · 11 pointsr/EmuDev

You're going to need a lot of the same setup as you would if you were making a game, I think.

Have you seen the ogldev tutorials? They're pretty comprehensive and take you through building a lot of visual effects from the ground up. You'll need to cross-reference with other materials though because some topics on graphics you'll need to know the fundamentals on (like how relative coordinate spaces/scene graphs work conceptually).

Graphics development is hard, and requires a lot of study and conceptual understanding outside of just API usage. I've been picking up OpenGL/Gfx programming for about a year and I'm probably only a beginner-intermediate at this point.

I recommend: