📄 readme
字号:
DSemu: the Next Generation (DSemu-ng)Copyright Imran Nazar, 2005; released under the BSD public licence.What's DSemu-ng?----------------DSemu-ng is (or at least, eventually will be) a Nintendo handheldemulator, emulating the Gameboy Advance and Nintendo DS. It runs onmultiple platforms, including Windows, Linux and Mac OSX.What am I getting?------------------Thanks for downloading this test distribution of DSemu-ng. At the moment,you're getting my latest attempt at a Nintendo handheld emulator, withtwo modes: Gameboy Advance and DS. It is, of course, massively incomplete,but with your help, I can make progress.How do I get in touch?----------------------If you want to shout at me to add features, or help me out debugging, orperhaps even to write portions of the emulator, please feel free to dropme a line, tf at oopsilon dot com. Or you can find me on EFnet; just lookfor Two9A.This 'ere package, how do I use it?-----------------------------------You're getting a source archive, so you'll need:* A compiler. I use gcc 3.3 for Linux and Microsoft C++ 7 (the version wot's in .NET Studio) for Windows, and both seem to work fine.* If you're using MSVC, you'll need a copy of NMake 1.5, which is freely available from the MSDN.* The Fltk 1.1.x libraries and includes, defined in your INCLUDE and LIB environment variables. The Windows build process doesn't check for the existence of these libraries, so watch out. Personally, I use 1.1.4 for Linux and 1.1.6 for Windows; that seems ok.Once you've met the requirements, all you need to do is run the Makefileappropriate to the build system you're using.* Unix: "make -f Makefile.nix"* Windows: - MinGW: "make -f Makefile.mingw" - MSVC: "nmake -f Makefile.msc"* Mac OSX: "make -f Makefile.osx"And when that's done, you should have an executable called "dsemu" andvarious shared libraries/DLLs. Just run the executable to start DSemu-ng.So, what's in here?-------------------Here's a full tree of the files you're getting, and how they fit into theemulator. I'll try to keep this list updated as new things appear.[Plugin architecture] \____ plgbase.h | \____ plgcpu.h | |___ plgmmu.h | | \____ plgmmu32.h | |___ plggpu.h | |___ plgapu.h | |___ plggui.h | \____ msgqueue.h | |___ events.h |___ plugin.cpp |___ plugin.h |___ plugins.ini [Common files] \____ config.h |___ log.h |___ defs.h | \____ datadefs.h |___ [Error handling] | \____ err.h | |___ err.cpp |___ [Debugger bitmap font] | \____ font5x7.h | |___ font5x7.cpp | |___ fontdata.h |___ w32compile.h [ARM cores] \____ [Common files] | \____ armhelp.h | |___ armmasks.h | |___ [ARM mode] | | \____ arm-dp.cpp | | |___ arm-ls.cpp | |___ [Thumb mode] | | \____ thumb-opcodes.cpp | |___ [Disassembler] | \____ armdasm.cpp | |___ armdasm.h |___ [System-specific SWI handlers] | \____ gbaswi.cpp | |___ dsswi.cpp | |___ [ARM7TDMI] | \____ arm7tdmi.h | |___ arm7tdmi.cpp | |___ [ARM mode] | | \____ arm7tdmi-olut.cpp | | |___ arm7tdmi-opcodes.cpp | |___ [Thumb mode] | \____ thumb7-olut.cpp | |___ thumb7-opcodes.cpp |___ [ARM9ES] \____ arm9es.h |___ arm9es.cpp |___ [ARM mode] | \____ arm9es-olut.cpp | |___ arm9es-opcodes.cpp |___ [Thumb mode] | \____ thumb9-olut.cpp | |___ thumb9-opcodes.cpp |___ [Coprocessor support] \____ armcopro.h |___ [Null copro] | \____ arm-cpnull.h | |___ arm-cpnull.cpp |___ [System control copro] \____ arm-cpsys.h |___ arm-cpsys.cpp[Other plugins] \____ [Null generic plugin] | \____ null.h | |___ null.cpp |___ [Null graphics plugin] | \____ nullgpu.h | |___ nullgpu.cpp |___ [Null audio plugin] | \____ nullapu.h | |___ nullapu.cpp | |___ [GBA memory handler] | \____ gbammu.h | |___ gbammu.cpp | | \____ byteswap.h | |___ gbammu.ini | | \____ bioshack.img | |___ [DMA handling] | \____ gbammu-dma.cpp |___ [GBA graphics] | \____ gbagpu.h | |___ gbagpu.cpp | |___ gbagpu.ini |___ [GBA audio] | \____ gbaapu.h | |___ gbaapu.cpp | |___ gbaapu.ini | |___ [PortAudio SDK] | \____ [Core] | | \____ portaudio.h | | |___ pa_lib.c | | |___ pa_host.h | |___ [Unix/OSS] | | \____ pa_trace.h | | |___ pa_trace.c | | |___ pa_unix.h | | |___ pa_unix.c | | |___ pa_unix_oss.c | |___ [Windows/MM] | | \____ pa_win_wmme.c | |___ [Mac OSX] | \____ pa_mac_core.c |___ [GBA interval timer] | \____ gbatimer.h | |___ gbatimer.cpp | |___ [DS Main CPU memory handler] | \____ dsmmumain.h | |___ dsmmumain.cpp | | \____ byteswap.h | |___ dsmmumain.ini | |___ [DMA handling] | \____ dsmmumain-dma.cpp |___ [DS Sub CPU memory handler] | \____ dsmmusub.h | |___ dsmmusub.cpp | | \____ byteswap.h | |___ dsmmusub.ini | |___ [DMA handling] | \____ dsmmusub-dma.cpp | |___ [Fltk user interface] \____ uifltk.h |___ uifltk.cpp | \____ uifltk-ui.cpp | \____ uifltk-menu.cpp | |___ uifltk-sub.cpp | |___ uifltk-log.cpp | |___ uifltk-bkpt.cpp | |___ uifltk-about.cpp |___ [Executable wrapper] \___ dsemu.cpp [Build process] \____ [Makefiles] | \____ Makefile.nix | |___ Makefile.msc | |___ Makefile.mingw | |___ Makefile.osx |___ [Test files] | \____ endtest.c |___ [Outputs] \____ sysdep.hCode and help credits---------------------I'm indebted to several people and documents, without whom I'd've hadpersistent bugs, or missing functions, or indeed no emulator at all.Commodore Hacking #8 (Signed long mul negation policy)Costis (LDM disassembly algorithm, original)Donald Knuth (Sidesum algorithm)gladius (tile and rotated BG, and sprite renderers)Kniht (Configuration reads, stream-based logging)Mark Andrews, 'Atari Roots' (Long mul algorithm extended)Martin Korth (GBATEK, the invaluable technical reference)mic (Consistent debugging help and discussion)Mike Murphy [emu7800.sf.net] (V flag setting inspired by M6502)Parallel Computing, Kentucky U (nlpo2 function)Stephen Stair (DP addressing, _RN overwrite if Rn=Rd fix)If you've helped me out in the past and you're not on that list, pleasedrop me a line.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -