This is the first Nintendo DS emulator for Android with a dynarec. Right now the NDS emulator is in beta so there are many bugs and it runs slow. However, I'll try and update it frequently so it gets much better!
What I've been working on
Right now, the emulator emulates both CPUs on a single thread. First it emulates the ARM9 CPU for a while, then emulates the ARM9 CPU for a while. The problem is that switching between emulating the two is extremely slow, since I basically have to flush all the registers into memory and then reload them. I've been trying to emulate the CPUs on separate threads, but right now, there's two problems. Syncing the threads is way too slow. On the interpreter, which I'm using since it's much easier to debug, multithreading basically gives no performance improvement. I'm pretty sure this is caused by a bug in my code, since there's literally no possible way to write this faster. I'm using a spinlock, and using a bigger time slice causes certain images on the screen to flash, since the graphics hardware isn't being update enough. The other problem is that exophase's dynarec isn't exactly built for multiple threads. Each thread needs its own separate copy of each data structure, but the dynarec has global variables everywhere. I'm thinking of literally copy-pasting the code. So basically, if you didn't understand any of that, I've been rewriting a lot of code, and at least, in theory, it should give a big speed boost.
Frequently Asked Questions (FAQ):https://docs.google.com/document/pub?id=1GHzr1oMy7zx3ui2AmOd0nev_qLQsUm85fb151TNKc-MDo not use save states as long term saves. Use in game saves instead. There is no guarantee that save states will work in later updates. In game saves will work. If someone emails me complaining that save states are broken in a later update, I'll just laugh and delete it.
Please email me if you have any problems. I can't really fix bugs if you just post a 1 star review saying it's bad.
Other functions to be added
-Microphone
How to play?
Save your roms in the SD card and launch Dsoid. You will see a black screen showing the stuff in your device. This is the built in file explorer. Use the file explorer to navigate to your roms and select a rom to start playing! The touch button at the middle top of your screen enable/disable on screen control buttons. Refer to the FAQ should you have questions.
Based off of desmume and exophase's dynarec
Email for source이 dynarec와 안드로이드에 대한 최초의 닌텐도 DS 에뮬레이터입니다. 지금 NDS 에뮬레이터 베타에 너무 많은 버그가 있으며, 그것은 천천히 실행됩니다. 그러나, 나는 시도거야, 그리고 훨씬 더 좋아진다 자주 그래서 그것을 업데이 트!
내가 연습 한 것을
지금 에뮬레이터는 단일 스레드에서 두 CPU를 에뮬레이트합니다. 먼저 잠시 동안 ARM9 CPU를 에뮬레이트, 그 동안 ARM9 CPU를 에뮬레이트합니다. 문제는 기본적으로 메모리에 모든 레지스터를 플러시하고 다시로드해야하기 때문에이 둘을 모방 사이를 전환하는 것은 매우 느린 것입니다. 제가 별도의 스레드에 CPU를 에뮬레이트하려고하지만 지금, 두 가지 문제가있어 왔습니다. 스레드를 동기화하는 것은 너무 느립니다. 그것을 디버깅하는 것이 훨씬 쉽게 때문에 내가 사용 인터프리터에서 멀티 스레딩은 기본적으로 어떤 성능 향상을 제공합니다. 이 빠르게 기록 할 수 방법이 그대로 거기에 없기 때문에 나는이 내 코드에서 버그로 인해 발생합니다 확신 해요. 그래픽 하드웨어가 충분히 업데이트되지 않는 때문에 나는 스핀 락을 사용하고 더 큰 타임 슬라이스를 사용하여 플래시 화면에 특정 이미지를 발생하고 있습니다. 다른 문제는 exophase의 dynarec 정확하게 다중 스레드 빌드되지 않는 것입니다. 각 스레드는 각 데이터 구조는 별도의 복사본이 필요하지만 dynarec 어디서나 전역 변수가 있습니다. 말 그대로 코드를 복사하여 붙여 넣기 생각 해요. 당신이 중 하나를 이해하지 않은 경우 그러니까 기본적으로, 나는 많은 코드를 다시 작성 봤는데, 적어도 이론적으로는 큰 속도 향상을 제공합니다.
자주 묻는 질문 (FAQ)https://docs.google.com/document/pub?id=1GHzr1oMy7zx3ui2AmOd0nev_qLQsUm85fb151TNKc-M장기를 절약으로 상태를 저장하지 마십시오. 게임에 사용하는 대신 저장합니다. 저장 상태를 나중에 업데이트에서 작동한다는 보장은 없습니다. 게임에서 작동합니다 저장합니다. 사람 이메일 저 저장 상태는 나중에 업데이트에 깨진 불평 경우, 난 그냥 웃어을 삭제합니다.
당신은 아무 문제 나있는 경우에 저를 이메일을 보내십시오. 당신은 그냥 나쁜 말 1 성급 호텔 이용 후기를 게시하면 정말 버그를 수정 할 수 없습니다.
다른 기능을 추가 할
마이크
게임 방법?
SD 카드 및 실행 Dsoid에 롬을 저장합니다. 당신은 당신의 장치에 물건을 보여주는 화면을 볼 수 없게됩니다. 이 파일을 탐색기에서 내장되어 있습니다. 귀하의 ROM을 탐색하고 재생을 시작 ROM을 선택하고 파일 탐색기를 사용! 화면의 중앙 상단에 원터치 버튼을 활성화 / 화면 조절 단추를 비활성화합니다. 당신이 질문해야 FAQ를 참조하십시오.
desmume 및 exophase의 dynarec의 떨어져 근거
소스에 대한 이메일