Notes: Daedalus PSP R11 Readme File Copyright (C) 2006-2007 StrmnNrmn This document last edited 06 May 2007 This is the binary distribution of Daedalus PSP. If you are a developer, you may find the source distribution more useful. What is Daedalus? ***************** Daedalus is a Nintendo64 emulator for Windows and PSP. Daedalus is named after the craftsman at King Minos's court who designed the labyrinth for the Minotaur. Getting the Latest Version ************************** Daedalus is currently hosted on sourceforge at http://sourceforge.net/projects/daedalus-n64. The most recent version of Daedalus will always be available there (and hopefully mirrored on some of the other emulation/PSP sites). About this Release ****************** This release of Daedalus for the PSP is currently in early stages of development. It is intended to show the potential for a N64 emulator on the PSP, but the current release has many missing features that make it far from usable: * There is limited savegame support. * Not all the N64 controls can be used simultaneously. * Many roms won't boot. * Many roms have serious graphical glitches. * Many roms have random lockups and crashes. * Many roms run at a low framerate. Having said all that, I believe most of these problems can be overcome in the future. Using Daedalus ************** Installation ------------ Copy the Daedalus folder to the \PSP\GAME\ folder on your PSP (for the v1.5+ firmware release you should also copy across the Daedalus% folder). See the Homebrew FAQ on qj.net for more information on how to get homebrew running on your particular version of firmware: http://forums.qj.net/showpost.php?p=14662&postcount=2 The PSP Homebrew FAQ is also a good reference: http://www.psp-homebrew.eu/faq/index.php Roms ---- Roms should be copied to the Roms subdirectory within the Daedalus folder. Daedalus recognises most roms formats (.v64, .z64, .rom etc) and will also run roms compressed within .zip files. NB: Recent versions of Daedalus will also load any roms found within the \N64\ directory on your PSP. Note that this is in the *root* directory of your PSP (e.g. for me it appears as P:\N64\ when I open the USB connection in Windows). When Daedalus boots with a zipped rom, for performance reasons it will attempt to decompress it to a temporary file on your memory stick before execution. If you are low on free space, it is recommended that you keep the original rom file on your PC, and manually extract the rom to your Roms directory. Preview Pictures ---------------- Preview pictures for the rom selection screen can be added to the Resources\Preview directory in the Daedalus folder. They should be in .png format, in a 4:3 aspect ratio. To let Daedalus know which picture to use for each rom, you need to add a line to the corresponding entry in the main daedalus.ini file, with this format: Preview=<filename.png> Where <filename.png> is the name of the .png file. Don't include any directory names in the path. Save Games ---------- Currently Daedalus PSP has limited support for the following save game types: 4Kb Eeprom 16Kb Eeprom Mempack Save games are created with the same name as the rom file, in the Daedalus/SaveGames/ directory. IMPORTANT NOTE: For performance reasons Daedalus only saves out modified save game files when the Pause menu is accessed (by pressing the 'Select' button while the emulator is running). I'll look at removing this restriction ASAP, alongside adding SRAM support. Main Menu --------- When you run Daedalus, it will present you with a list of all the roms it could find in your Roms subdirectory. Use the dpad or analogue stick to navigate to the desired rom, and press X or Start to select it. A new screen is displayed from which you can select to edit preferences for the rom or start emulation. You can use the left and right shoulder buttons to cycle between other options screens in Daedalus. Pause Menu ---------- When a rom is running, you can access the Pause Menu by pressing the 'Select' button. From the Pause Menu you can use the left and right shoulder buttons to access various option screens. You can use the Pause Menu to take screenshots and reset the emulator to the main menu. Screenshots are saved under the Dumps/<gamename>/ScreenShots/ directory in the Daedalus folder on your memory stick. You can press the 'Select' button again to quickly return to the emulator. Controls -------- When (and indeed if :) the rom runs, the following controls are mapped by default: N64 PSP Start Start Analogue Stick Analogue Stick Dpad O (Circle) + Dpad A X (Cross) B [] (Square) Z ^ (Triangle) L Trigger L Trigger R Trigger R Trigger C buttons Dpad (Circle unpressed) As of R7 Daedalus now allows user-configurable controls to be specified. The desired controls can be chosen from the Rom Settings screen. In order to define your own controller configuration you need to add a new .ini file to the Daedalus/ControllerConfigs directory. There are a few examples provided which should give an overview of what is possible. I will look at providing a more thorough tutorial shortly. Support, Bugs, Comments etc *************************** If you feel the need to get in touch, I can be contacted at: strmnnrmn@gmail.com I've been deluged with mail since the first release of this emulator, so apologies if I don't get back to you immediately. Credits ******* The Audio HLE code used in Daedalus was adapted from Azimer's great plugin for PC-based emulators. Thanks Azimer! Drop me a line! A special thanks to everyone who was involved with Daedalus on the PC in the past. Sorry I was so rubbish at keeping the project ticking along. You know who you are. Hello to everyone I used to know in the N64 emulation scene back in 2001 - hope you are all doing well! A huge thanks to the pspdev guys for all their work. Many thanks to 71M for giving me the inspiration to get this ported over and lots of pointers along the way. A big hello to the Super Zamoyski Bros :) Many thanks to all the people who suggested using the Circle button to toggle between the Dpad and C buttons. I received over two dozen emails and comments suggesting this approach, so thanks for that :) Many thanks to hlide and Raphael in the PS2Dev forums for advice on various VFPU issues. Copying ******* Daedalus is released under the GNU General Public License, and the sourcecode is available from the sourceforge site. Disclaimer ********** The Daedalus distribution comes with absolutely no warranty of any kind.
Changes: R11 - 06 May 2007 ----------------- [*] Large overhaul of rom settings and preferences. All settings should now be persistant. [+] Native support for palettised textures for faster rendering and less memory usage. [+] Provided a fixed size pool for all texture memory, to limit memory usage. [+] Expansion Pak enabled by default. [!] Updated rom info database to include save mechanism for many roms. [!] Fix memory leak in texture cache. [!] Fixed conversion of RGBA/32bpp textures with odd alignments. [!] Fix crash which occurred when recolouring textures in low memory situations. [^] Large rewrite of texture cache to reduce memory usage and improve performance. [^] Various optimisations to the way textures are looked up in the cache and installed. [^] Optimise offsetting/scaling of texture coordinates. [^] Improve performance of dynarec fragment cache and reduce memory fragmentation. R10 - 02 April 2007 ------------------- [+] Added frameskip option. [+] Added framerate limiting option. [+] Added adjustable stick deadzone. [+] Allow pause menu to be activated even when rom emulation has hung. [!] Fix crash when no roms found, added explanatory message. [!] Fix flickering when small number of roms found. [^] Fix texture hash frequency check. [^] Finally got code compiling with -O3 optimisation flag in GCC. [^] Use VFPU for InvSqrt (thanks hlide!) [^] Improved VFPU code for clipping and tnl (thanks Raphael!) [^] Improved inlining of AddTri. [^] Reduced time spent searching for overridden blend modes. [~] Remove debug console in public release builds (smaller footprint and slight speedup.) R9 - 22 February 2007 --------------------- [+] Added support for RGBA 4444 and 5551 textures [!] Tidied up all the texture conversion code, fixing a few bugs in the process [!] Fixed the width/height of FillRect calls in 1 and 2 cycle mode [!] Fixed a blending bug [^] Use 16-bit textures on the PSP to represent 16-bit N64 textures. [+] Added mirrored texture support [!] Fixed a LoadTile bug, allowing a couple of hacks to be removed [+] Added some new blend modes for various roms [!] Fixed the Tri2 command for F3DLX microcodes [!] Fixed a bug in busy-wait detection [!] Fixed a few dynarec stability issues (relating to exceptions occuring mid-trace) [+] Added audio support [+] Added the ability to dump textures (developer builds only at the moment) [!] Fixed screenshots. Again. [+] Implemented cmp.s, cvt.s, cvt.w, mtc1, mfc1, bc1f, bc1t, j, cfc1, ctc1, daddu, trunc.w.s, bc1t, bc1f, bc1tl, bcifl, bnel, beql, blezl, bgtzl, bltzl, blezl in dynarec [^] Avoid setting the branch delay flag and current PC in generated dynarec code unless necessary [^] Much better memory access handling in dynamically recompiled code [^] Use a second code buffer for generated dynarec code, to avoid polluting the instruction cache [+] Further improve the memory access handling in generated dynarec code [!] Fix register usage analysis for lwc1/swc1/mfc1/mtc1 which was preventing base registers used in these instructions from being cached [^] Have compensation blocks restore nobbled registers, so on-trace code does't need to reload [+] New automatic blender [+] New front-end [+] New pause menu, with option to reset to main menu R8 - 25 August 2006 ------------------- [^] Replaced all uses of sceCtrlReadBufferPositive with sceCtrlPeekBufferPositive. [^] Various known value optimisations for the dynamic recompilation engine. [^] Various texture cache optimisations and rendering optimisations. [+] Implemented a new clipping method which is more efficient and gives better results. [-] Removed 'tesselate large triangles' setting. [+] Added option to reset emulator to the main menu. [^] No longer use index buffers for rendering. [^] Implement matrix multiplication using VFPU. [^] Implement vertex transform and lighting code using VFPU. [^] Implement clipping code using VFPU. [^] Minor AddTri optimisations. [^] Free background and font textures while emulator is running to free VRAM. [!] Fixed bug in default controller config (c-down and dpad-down were broken) R7 - 13 August 2006 ------------------- [^] Avoid checking for interrupts in dynarec code in most situations. [^] Optimise dynarec Load/Store instructions to avoid checking for interrupts directly. [^] Implemented the remaining 32-bit integer instructions in the dynarec. [^] Implemented the remaining commong load/store instructions in the dynarec. [^] Implemented JAL/JR in dynarec. [^] Optimised various texture cache related features. [^] Added various known value optimisations to the dynarec engine. [^] Link together blocks even when they exit with branch likely instructions. [+] Added option to allow frequency of texture update checks to be reduced. [+] Added the ability to configure buttons [!] Fixed a couple of compatibility issues caused by the dynarec. [!] Fixed a couple of issues related to self-modifying code and the dynarec. [!] Fixed issues with the framerate counter flickering. R6 - 19 July 2006 ----------------- [+] Added over 50 new combiner modes [+] Added support for c-buttons [+] Load roms from ms0:\N64 in addition to local roms directory [!] Fixed backface culling issues [!] Correctly implemented flipping to avoid flickering with certain roms [!] Plugged memory leak in texture handling code, fixing various crashes [!] Fixed issue which caused screenshot function to hang the emulator R5 - 15 June 2006 ----------------- [+] New DynaRec engine, resulting in significant performance improvements [+] New front end - ability to toggle a couple of options (more to come) [+] Save game first pass (eeprom4k, eeprom16k and mempak) [^] Various interpreting engine optimisations [~] Use .png fileformat for background images, save ~380KB [~] Stripped out unnecessary code, save ~250KB R4 - 05 May 2006 ---------------- [!] Disable PSP FPU exceptions, enabling many roms to run. [!] Fixed ambient lighting bug. [!] Fixed scissoring. [~] Only create temp rom file if compressed (not swapped). [~] Fixed decaling offset. [~] Lots of combiner additions/fixes. R3 - 02 May 2006 ---------------- [+] Added support for streaming in large roms on demand. [+] Various combiner (graphics) fixes. [!] Fixed 120K wasted memory. [~] Minor cosmetic (debug output) tweaks. [~] Stopped debug output obscuring screenshots. R2 - 01 May 2006 ---------------- [+] Now runs in user-mode. [!] Rom selector now recognises .z64/.rom files. [~] Fixed various hard-coded paths. [~] Debug output is now correctly colourised. R1 - 01 May 2006 ---------------- [+] Initial Release
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use