diff --git a/README.md b/README.md index 03216b6ac..65c8d5171 100644 --- a/README.md +++ b/README.md @@ -1327,25 +1327,160 @@ see [Why game folders?](#why-game-folders) and [What's in a game folder?](#whats-in-a-game-folder) below. -Importing regular games ------------------------ +Importing and playing regular games +----------------------------------- -TODO +icarus supports importing games +in the most commonly-used formats +for each supported console, +and also those same formats inside `.zip` files. +More advanced compression formats +like RAR or 7-zip are not supported. -Importing games with co-processor firmware +For most games +that do not use special chips or co-processors, +importing a game is straight-forward. +From [the Library menu](#the-library-menu) +choose "Load ROM File ..." +to open [a filesystem browser](#the-filesystem-browser), +choose the game you want to play, +and it will be imported into the library and loaded. + +To play the game again +select the console the game runs on from +[the Library menu](#the-library-menu) +to open another [filesystem browser](#the-filesystem-browser) +that lists all the previously-imported games for that platform. + +Importing and playing games with co-processor firmware +------------------------------------------------------ + +Many games included extra chips inside the game cartridge, +to provide enhanced capabilities of one kind or another. +Sometimes, +those extra chips were separate CPUs +running their own separate firmware, +and for those cases +higan requires a copy of the co-processor firmware +as well as the actual game. +Unfortunately, +like games themselves, +co-processor firmware cannot legally be distributed, +so you'll need to obtain +copies of the relevant firmware data +yourself. + +To import a game that requires co-processor firmware, +you must copy the required firmware files +beside the game you want to import. +For example, +if you want to import Megaman X2, +which is stored in the file `mmx2.sfc`, +the file `cx4.data.rom` +must be placed in the same folder +for the import to succeed. + +Wikipedia [lists which Super Famicom games use which co-processors][wpec], +although not all co-processors require separate firmware. +Once you've figured out which co-processor +(if any) +is used by the game you want to import, +here's the firmware files you'll need: + + - **CX4**: + - `cx4.data.rom`, + 3072 bytes, + SHA256: ae8d4d1961b93421ff00b3caa1d0f0ce7783e749772a3369c36b3dbf0d37ef18 + - **DSP1/1A**: These two chips are physically different, + but the firmware inside is identical. + - `dsp1.data.rom`, + 2048 bytes, + SHA256: 0b5da6533e55852ee8fc397977ec5576c5b9f1fb2e05656d8f87123a121b076e + - `dsp1.program.rom`, + 6144 bytes, + SHA256: 269584b347a22953a2989494c850a7c1c027f4ca5add517a60e0c7d8833d0fac + - **DSP1B**: The DSP1B is very similar to the DSP1A, + but has some bugs fixed. + Note that icarus' heuristics cannot distinguish between + a game that uses DSP1 + and one that uses DSP1B, + so if it cannot find your game in its manifest database, + it will assume it uses DSP1B. + Many games work just as well with either DSP1 or DSP1B, + but Pilotwings is a notable exception. + - `dsp1b.data.rom`, + 2048 bytes, + SHA256: 8546cbac530830446bb8a277f6b139d4ad64d650bdbac7e4e150e2f095665049 + - `dsp1b.program.rom`, + 6144 bytes, + SHA256: 2eccb54a8f89374911f7e2db48f1b4cde855655e28103f7bda2982a5b418a187 + - **DSP2**: + - `dsp2.data.rom`, + 2048 bytes, + SHA256: 3beef9bffdc1e84c9f99f3301d8bd3e520d2e62909a995320f9faeae8f46ec11 + - `dsp2.program.rom`, + 6144 bytes, + SHA256: 62a2ef8d2d7db638f4ec0fbcebf0e5bf18a75ee95be06e885d9519a10487f0da + - **DSP3**: + - `dsp3.data.rom`, + 2048 bytes, + SHA256: 7fe51796e9c97fee1fa2aab40592b7c78997f67dd00333e69d0f79a12f3cb69f + - `dsp3.program.rom`, + 6144 bytes, + SHA256: aea7b622e7c1de346cb15d16afcbedf92b6798507e179f83ed2a4cff40d0e663 + - **DSP4**: + - `dsp4.data.rom`, + 2048 bytes, + SHA256: ef3ffb4256dd896a60213269b4e2d3bdd120c97e2fd623bddabbf43c2be422af + - `dsp4.program.rom`, + 6144 bytes, + SHA256: 89b1826e6038be3a0ea0f923e85d589ff6f02dc1a1819fb2ec8c0cea5b333dcd + - **ST010**: + - `st010.data.rom`, + 4096 bytes, + SHA256: dc7056a51b53993d7a8ba5bacf9501f785d2fce5e5be748e9ff2737c5938d4a5 + - `st010.program.rom`, + 49152 bytes, + SHA256: 2c1f74bb5f466d81c64c326e71ac054489efe1abc9a5d6f91aac7747f2ddab67 + - **ST011**: + - `st011.data.rom`, + 4096 bytes, + SHA256: b5377d1bebe8adc507a024b6e2b9b8fdf4877e451da84fbad05dff4e4a70311e + - `st011.program.rom`, + 49152 bytes, + SHA256: d90a5cda380e81cb9ba11a9da7539b173c49b31bedc7a3ac9c3c8b3f97e89e14 + - **ST018**: + - `st018.data.rom`, + 32768 bytes, + SHA256: b5377d1bebe8adc507a024b6e2b9b8fdf4877e451da84fbad05dff4e4a70311e + - `st018.program.rom`, + 131072 bytes, + SHA256: d90a5cda380e81cb9ba11a9da7539b173c49b31bedc7a3ac9c3c8b3f97e89e14 + +[wpec]: https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips#List_of_Super_NES_games_that_use_enhancement_chips + +TODO: If you try to import a game without the correct firmware present, what happens? + +Once a game with co-processor firmware is imported, +you can play it just like any [regular game](#importing-and-playing-regular-games). + +Importing and playing BS-X games +-------------------------------- + +Importing and playing Sufami Turbo games +---------------------------------------- + +Importing and playing Super Game Boy games ------------------------------------------ -Importing BS-X games --------------------- +Importing and playing MSU-1 games +--------------------------------- -Importing Sufami Turbo games ----------------------------- +Importing and playing Game Boy Color games +------------------------------------------ -Importing Super Game Boy games ------------------------------- - -Importing MSU-1 games ---------------------- +Importing and playing Game Boy Advance games +-------------------------------------------- Moving the game library -----------------------