Tuesday, July 23, 2013

Temper 0.80 for Dingoo Native v1.0

What is Temper?
Temper is an NEC PC Engine emulator originally coded by Exophase and ported by Slaanesh.
 Temper plays HuCard, CD, SCD, AracdeCD and SuperGfx games.

Another one that's been a long time in the coming. Much of this was done more than a year ago, however it wasn't polished or fast enough as I couldn't use any of the ARM assembly code that a good portion of this is written in.

A few recent breakthroughs in my development toolchain and other optimizations on the native side code has meant that this is now working fullspeed on the Dingoo Native!
Most games (even CD) will run at fullspeed with no frameskip. Well all the ones I've tried - about 30 or so.
Everything seems to work fine including HuCard, CD, SCD and Arcade support. There is full OGG support for CD tracks and BZIP2 compression is also supported for compressed ROMs and savestates.




CD support and the .CUE file

For CD games, you will need .CUE and .ISO/.OGG files for data and sound tracks respectively.
I converted my own PC Engine CD games to test this out so I know that it works fine.
There isn't however a lot of error checking so the file format is picky.

The .CUE file is simply a TXT file that tells Temper what each file is. Edit it with a text editor like vim.

For example, the first 3 file entries of Castlevania would look something like this.

FILE "DraculaX_t1.ogg" OGG
  TRACK 01 AUDIO
    INDEX 01 00:00:00
FILE "DraculaX_t2.iso" BINARY
  TRACK 02 MODE1/2048
    PREGAP 00:03:00
    INDEX 01 00:00:00
FILE "DraculaX_t3.ogg" OGG
  TRACK 03 AUDIO
    PREGAP 00:02:00
    INDEX 01 00:00:00


Note that the FILE entries are just the actual filenames with no paths.
All files should be contained within the directory where the .CUE is found.
I use separate directories for each CD game, the game selector can navigate through around the filesystem.

GP32 version

I also have a GP32 version of Temper which is also quite fast and playable. Is anyone interested in a GP32 version of this anymore?