# [Arcade: Universal Cosmic](https://www.arcade-museum.com/game_detail.php?game_id=7398) games (Z80-based) for [MiSTer](https://github.com/MiSTer-devel/Main_MiSTer/wiki)

By [Mike Coates](https://github.com/macrofpga)  
Current Version - 1.00 - 03/07/2022

## Description

This is a recreation of the [Universal](https://www.arcade-museum.com/manuf_detail.php?manuf_id=1703&orig_game_id=7398) games that run on similar hardware.

The game timing should be very close to the original, but the code is not necessarily identical to the real thing, but achieves the same end result.

## Controls

Up, Down, Left, Right, Fire 1, Fire 2 (not all games use all buttons)

## Games currently supported

* [Cosmic Alien](https://www.arcade-museum.com/game_detail.php?game_id=7398)
* [Devil Zone](https://www.arcade-museum.com/game_detail.php?game_id=7576)
* [Magical Spot](https://www.arcade-museum.com/game_detail.php?game_id=8505)
* [No Mans Land](https://www.arcade-museum.com/game_detail.php?game_id=19281)
* [Space Panic](https://www.arcade-museum.com/game_detail.php?game_id=9676)

## Known differences/problems

Sound effects are all implemented using samples (other than the DAC).

I have added a screen flip option to the sprite code, sprites are flipped by the software on the real hardware, but everything else does have a flip signal. It is implemented as a fake dip switch.

## Hiscore save/load

Save and load of hiscores is supported for Cosmic Alien only.

To save your hiscores manually, press the 'Save Settings' option in the OSD.  Hiscores will be automatically loaded when the core is started.

To enable automatic saving of hiscores, turn on the 'Autosave Hiscores' option, press the 'Save Settings' option in the OSD, and reload the core.  Hiscores will then be automatically saved (if they have changed) any time the OSD is opened.

Hiscore data is stored in /media/fat/config/nvram/ as ```<mra filename>.nvm```

## ROM Files Instructions

**ROMs are not included!** In order to use this arcade core, you will need to provide the correct ROM file yourself.

To simplify the process `.mra` files are provided in the releases folder, that specify the required ROMs with their checksums. The ROMs `.zip` filename refers to the corresponding file from the MAME project.

Please refer to https://github.com/MiSTer-devel/Main_MiSTer/wiki/Arcade-Roms for information on how to setup and use the environment.

Quick reference for folders and file placement:

```
/_Arcade/<game name>.mra
/_Arcade/cores/<game rbf>.rbf
/games/mame/<mame rom>.zip
/games/hbmame/<hbmame rom>.zip
```
