Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] clarify "cores" #998

Closed
freedom-foundation opened this issue Oct 29, 2024 · 10 comments
Closed

[Question] clarify "cores" #998

freedom-foundation opened this issue Oct 29, 2024 · 10 comments

Comments

@freedom-foundation
Copy link

Now looking into RetroArch to clarify if "cores" correspond to chip designes or if they are only verbatim. Do "cores" correspond to CPU designes of the labled systems?

@hizzlekizzle
Copy link
Contributor

A "core" is a jargon term for a program (usually an emulator or game) that has been stripped of its input/output functions to be attached to a "frontend" (in a sort of plugin structure) that will handle those functions for it. That is, the "core" is just the calculation part of the program, while things like user input and audio/video display are handled elsewhere.

@freedom-foundation
Copy link
Author

freedom-foundation commented Oct 29, 2024

Yes and the jargon "emulator" would include a CPU does a core have a CPU design which it then emulates?

For example a Nintendo Game Boy Original has (Sharp LR35902) CPU Sharp SM83 @ 4 MHz Memory 8 KB RAM, 8 KB VRAM

For exploration purposes where is the sourcecode of the actual emulation of this CPU?; which should be possible to import onto an FPGA.

Yeah I know this is the libretro-docs repo and RetroArch is only a FE not including cores. What repo are the cores in? The technical question of "core" is a docs like question.

@hizzlekizzle can anybody point me toward the right place?

@JesseTG
Copy link
Contributor

JesseTG commented Oct 29, 2024

Most (but not all) libretro cores exist in the libretro organization as forks of the original emulators. You can check either these forks or the original repository for details about how the CPU is implemented, although the specifics will depend on the core.

@freedom-foundation
Copy link
Author

Most (but not all) libretro cores exist in the libretro organization as forks of the original emulators. You can check either these forks or the original repository for details about how the CPU is implemented, although the specifics will depend on the core.

Yeah but there are 282 repos there how would I find the code of a specific CPU. For example the Game Boy original sharp CPU, and neccesirly the memory and bus.

@hizzlekizzle
Copy link
Contributor

You'd have to just go through them. For example, Gambatte's is in libgambatte/src/cpu.cpp.

@freedom-foundation
Copy link
Author

You'd have to just go through them. For example, Gambatte's is in libgambatte/src/cpu.cpp.

Looking at it now. What is this a Game Boy CPU is this supposed to emulate the Sharp SM83?

@hizzlekizzle
Copy link
Contributor

Yeah, something like that. https://www.reddit.com/r/EmuDev/comments/gm5bhf/comment/fr1w5lv/

@freedom-foundation
Copy link
Author

Yeah, something like that. https://www.reddit.com/r/EmuDev/comments/gm5bhf/comment/fr1w5lv/

PG – Parental Guidance Suggested
Reddit can be rather illuminating.

@freedom-foundation
Copy link
Author

"core" is a RetroArch jargon. A core is a fork of another emulator stripped of IO so that RetroArch can handle it. So then:
"core" is an emulator stripped of IO and imported into RetroArch.

freedom-foundation added a commit to freedom-foundation/freedom-foundation that referenced this issue Nov 5, 2024
@freedom-foundation
Copy link
Author

Yeah, something like that. https://www.reddit.com/r/EmuDev/comments/gm5bhf/comment/fr1w5lv/

I had some interest in FPGA and just seeing if an emulator can achieve the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants