***
![pc88](https://user-images.githubusercontent.com/22881403/28556421-e25cde4e-70cb-11e7-9d82-39143d32bf2c.png)
***
_The PC 8800 was a series of 16-bit and 32-bit personal computers released in 1982 by the Nippon Electric Company_
***

| Emulator | Rom Folder | Extension | BIOS Files |
| :---: | :---: | :---: | :---: |
| [Quasi88](https://www.eonet.ne.jp/~showtime/quasi88/) | pc88  | .d88 .88d .cmt .t88 | N88.ROM, N88SUB.ROM, N88N.ROM, N88EXT0.ROM, N88EXT1.ROM, N88EXT2.ROM, N88EXT3.ROM and optional (N88KNJ1.ROM, N88KNJ2.ROM, N88JISHO.ROM, FONT.ROM) |
| [lr-quasi88](https://github.com/libretro/quasi88-libretro) | pc88 | .d88 .88d .cmt .t88 .m3u | n88.rom, n88_0.rom, n88_1.rom, n88_2.rom, n88_3.rom, n88n.rom, disk.rom and optional (n88knj1.rom, n88knj2.rom, n88jisho.rom) |


## ROMS

Place your PC-88 ROMs in:
```
/home/pi/RetroPie/roms/pc88
```

Accepted File Extensions: **.d88 (disk) .88d (disk) .cmt (tape) .t88 (tape)** and **.m3u** (lr-quasi88 only).

## BIOS

Place your BIOS files in:

* Quasi88
    ````
    /home/pi/RetroPie/BIOS/pc88
    ````
* lr-quasi88 
    ````
    /home/pi/RetroPie/BIOS/quasi88
    ````

At this link you can find information on the BIOS files used by the emulator
[Quasi88 BIOS File Page](https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&ie=UTF-8&u=https%3A%2F%2Fwww.eonet.ne.jp%2F~showtime%2Fquasi88%2Fmemo%2From.html&edit-text=)

Both emulator use the same BIOS file. `lr-quasi88` looks for the same file with an alternate name (2nd column in the list).
 
| File | Alternate name | SHA1 | CRC32 | Size |
| :--: | :--: |:--: | :--: | :--: |
| N88.ROM     | - |  3B31FC68FA7F47B21C1A1CB027B86B9E87AFBFFF | A0FC0473 | 32 KB |
| N88SUB.ROM  | DISK.ROM | BB7103A0818850A039C67FF666A31CE49A8D516F | 2158D307 | 2 KB |
| N88N.ROM    | N80.ROM | 5B922ED9DE07D2A729BDF1DA7B57C50DDF08809A | 27E1857D | 32 KB |
| N88EXT0.ROM | N88_0.ROM | D239C26AD7AC5EFAC6E947B0E9549B1534AA970D | 710A63EC | 8 KB |
| N88EXT1.ROM | N88_1.ROM | 8528EEF7946EDF6501A6CCB1F416B60C64EFAC7C | C0BD2AA6 | 8 KB |
| N88EXT2.ROM | N88_2.ROM | B7C8BCEA219B77D9CC3EE0EFAFE343CC307425D1 | AF2B6EFA | 8 KB |
| N88EXT3.ROM | N88_3.ROM | EFCE0B51CAB9F0DA6CF68507757F1245A2867A72 | 7713C519 | 8 KB |

Adding the next BIOS files allows the display of Japanese Kanji characters in menus and games:

| File | Alternate name | SHA1 | CRC32 | Size |
| :--: | :--: | :--: | :--: | :--: |
| N88KNJ1.ROM | KANJI1.ROM | 82E11A177AF6A5091DD67F50A2F4BAFDA84D6556 | 6178BD43 | 128 KB |
| N88KNJ2.ROM | KANJI1.ROM | 7E6591CD465CBB35D6D3446C5A83B46D30FAFE95 | 154803CC | 128 KB |
| N88JISHO.ROM | JISYO.ROM | DEEF0CC2A9734BA891A6D6C022AA70FFC66F783E <br> 06241085FC1D62D4B2968AD9CDBDADC1E7D7990A | BD6EB062 <br> 856459AF | 512 KB | 


**NOTES**

 * the standalone emulator (Quasi88) expects the BIOS filenames to be uppercase, while `lr-quasi88` accepts both uppercase and lowercase variants.
 * `DISK.ROM` may clash with the fMSX's BIOS ROM with the same name, so if you're using `lr-quasi88`, rename it to `N88SUB.ROM`.


## Emulator: [Quasi88](https://www.eonet.ne.jp/~showtime/quasi88/)

Note that the emulator (and most documentation) is written in Japanese.

### Controls
Quasi88 has better keyboard support.   
Recommended for:

 - Working in BASIC, DOS or CP/M-86
 - Editing disks or files

By default, Quasi88 uses the keyboard for controls. To enable a game controller using the keyboard:
 
* Press <kbd>F12</kbd> to bring up the menu with several tabs at the top
* Select the _mouse_ tab
* Click the dropdown that's labelled _nomouse_ and Change it to _joystick_

Once this is done, the controller is mapped to:

* _Joystick_ - Number Pad
* _A Button_ - Z key
* _B button_ - X key

To exit the emulator, press 3 times <kbd>F12</kbd>. 

## Emulator: [lr-quasi88](https://github.com/libretro/quasi88-libretro)

This emulator has better joystick support.   
Recommended for:
 
- Games 

### Controls

`lr-quasi88` utilises Retroarch configurations.

Add custom retroarch controls to the retroarch.cfg file in
```shell
/opt/retropie/configs/pc88/retroarch.cfg
```
For more information on custom RetroArch controls see [RetroArch Configuration](RetroArch-Configuration)

By default, `lr-quasi88` maps the RetroPad controls to the keys most often used in PC88 games:

| PC88 Keyboard | RetroPad input |
| :--: | :--: |
| Z | B  |
| Space | Y |
| I | Select |
| Enter/Return | Start |
| Numpad Up | D-Pad Up |
| Numpad Right | D-Pad Right |
| Numpad Down | D-Pad Down |
| Numpad Left | D-Pad Left |
| X | A |

To fully control the mapping, the _Device Type_ for the controller should be changed from _Retro Joypad_ to _Retro Keyboard_ in RetroArch's Controls menu, allowing remapping for each keyboard key. For software/games that use the full set of keyboard keys, it's recommended to use a keyboard and turn on Game Focus mode in RetroArch with the <kbd>ScrolLock</kbd> key.

### Multiple disks (via menu)

`lr-quasi88` can load multi-disk games. Start the game using the 1st disk entry from EmulationStation, then open the RetroArch's menu (with `Hotkey + X`/<kbd>F1</kbd>) and:

* Go back to the main menu with _B_
* Open the _Subsystems_ menu, then choose _Load X-Disk Game_ and browse for the 1st disk
* Repeat the previous step for loading the 2nd, 3rd, etc. disk from the set
* After loading all disks, open again _Subsystems_ and choose _Start X-Disk Game_ to start the game with all disks attached

### Multiple disks (M3U playlist)
 You can create an M3U playlist to easily start the core with multiple disks preloaded instead of using the subsystem interface. Create a text file with the extension `.m3u` and write the filename of each disk on a new line like in the example below:
 
````
 # Ys II (Falcom)
 Ys II (Program disk).d88
 Ys II (Disk A).d88
 Ys II (Disk B).d88
 Ys II (User disk).d88
````

### Cycling between disks
If you've loaded multiple disks, you can hold one of the trigger buttons and use the D-Pad to change the disk that's loaded in each drive. Use L for Drive 1 and R for Drive 2. When the shoulder button is released, the chosen disk will be inserted.


### Game specific settings

There are a few Core Options that may need to be changed in order to get a game running. The [RetroArch Core Options](RetroArch-Core-Options) page has instructions on how to access and change options.

Some notable core options for `lr-quasi88`: 

* _Sub-CPU Mode_ - setting it to _Allways run both CPUs_ will generally improve emulation speed and may be required for some games (e.g **Fire Hawk**)
* _CPU Clock_ - some games will need an increased CPU clock (e.g. **Final Crisis** works best with _8Mhz_)

For a list of other options and how they affect the emulated system, see the [Libretro Docs page](https://docs.libretro.com/library/quasi88/#core-options) for `lr-quasi88`.
