Author Topic: HuExpress, a new PCEngine emulator.  (Read 568 times)

kallisti5

  • Newbie
  • *
  • Posts: 15
HuExpress, a new PCEngine emulator.
« on: August 07, 2013, 07:49:39 AM »
Good afternoon,

I've been working on a new PCEngine / TurboGrafx emulator.  It was mainly a fork of Hu-GO! as development seems to have stopped since 2005.

Here are some of the changes i've made since Hu-GO 2.12...
  * Display PCE ROM info on startup (based on CRC)
  * Add internal PC Engine / TurboGrafx CRC database
  * Fix memory leaks through static analysis
  * Compile with clang and GCC possible
  * Ogg support for audio tracks in HCD
  * Improved HCD format
  * Type size cleanup
  * Improved stability on non-x86 architectures
  * Haiku operating system support
  * Add vector icons
  * Add on-screen volume bar
  * Removal of non-SDL code
  * Removal of rarely used and messy translations
  * Removal of DOS Allegro code
  * Removal of outdated GTK+ GUI code
  * Removal of unused code
  * Code style cleanup to follow KnR
  * Code cleanup and reorganization
  * Move to Scons build system


My current OS targets are Linux, and Haiku.   BSD should be an easy leap as well as MacOS X (though I have no personal plans to port it).  I've been removing the Windows stuff out of personal preference.  I also dropped the old GTK code as it was fairly hacked on and had a lot of issues.

The last feature i'm working on at the moment is moving to using libzip vs the miniunz Hu-GO! used.  Hu-GO! couldn't load HCD formatted games if they were in ZIP files (you had to extract them first)... i'm working to correct that.


Please feel free to try it out!  My long term plans are to make a simple SDL-based GUI as it will port easier than GTK or QT.


https://github.com/kallisti5/huexpress


No binaries are available yet, but some should be available after I get the first release out.


 -- Alex
« Last Edit: August 07, 2013, 07:56:27 AM by kallisti5 »

kallisti5

  • Newbie
  • *
  • Posts: 15
Re: HuExpress, a new PCEngine emulator.
« Reply #1 on: August 07, 2013, 07:52:53 AM »
A quick side note, I *HIGHLY* recommend making any CDROM2/SuperCDROM2 images in HCD format going forward.  HuExpress retains compatibility with the old HCD format, and adds a few nice extras such as OGG support.

I've also included a CDROM2/SuperCDROM2 ripping tool in the tools directory.. it will rip the game, split the tracks apart, OGG Encode the audio, create an HCD metadata file, and zip it up for you :D

CDROM2/SuperCDROM2 Games go from 500MB+ to ~44MB each fairly easily by encoding the audio tracks in OGG or MP3.
« Last Edit: August 07, 2013, 07:54:53 AM by kallisti5 »

kallisti5

  • Newbie
  • *
  • Posts: 15
Re: HuExpress, a new PCEngine emulator.
« Reply #2 on: August 07, 2013, 08:04:22 AM »
Also, for those who have never seen the Hu-GO! HCD format before.. generally you pack a .HCD file with all of the CD tracks. Hu-GO! and HuExpress use it to play the game and to read each track file in (think of it like a cue file with game metadata :D)

Here is one for the Bonk III CD. The files mentioned are included along side the HCD file:

Code: [Select]
[main]
id=TGXCD1052
media=SuperCDROM2
country=USA
title=Bonk III CD
developer=Red Company
release=1993-04-02
price=unknown
genere=Platform
first_track=1
last_track=16
minimum_bios=1

[artwork]
front=TGXCD1052_1.jpg
back=TGXCD1052_2.jpg

[track1]
type=AUDIO
filename=Track01.ogg

[track2]
type=CODE
filename=Track02.iso

[track3]
type=AUDIO
filename=Track03.ogg

[track4]
type=AUDIO
filename=Track04.ogg

[track5]
type=AUDIO
filename=Track05.ogg

[track6]
type=AUDIO
filename=Track06.ogg

[track7]
type=AUDIO
filename=Track07.ogg

[track8]
type=AUDIO
filename=Track08.ogg

[track9]
type=AUDIO
filename=Track09.ogg

[track10]
type=AUDIO
filename=Track10.ogg

[track11]
type=AUDIO
filename=Track11.ogg

[track12]
type=AUDIO
filename=Track12.ogg

[track13]
type=AUDIO
filename=Track13.ogg

[track14]
type=AUDIO
filename=Track14.ogg

[track15]
type=AUDIO
filename=Track15.ogg

[track16]
type=AUDIO
filename=Track16.ogg
« Last Edit: August 07, 2013, 01:53:39 PM by kallisti5 »

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuExpress, a new PCEngine emulator.
« Reply #3 on: August 07, 2013, 08:25:23 AM »
You going to have a debugger/VRAM viewer?

and Windows support?
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: HuExpress, a new PCEngine emulator.
« Reply #4 on: August 07, 2013, 10:43:42 AM »
You might want to look at the source code for mednafen and Ootake as well. Mednafen is command-line, but it is *nix buildable, and boasts a very high level of accuracy. Also, the BizHawk project might be of interest to you as well.
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuExpress, a new PCEngine emulator.
« Reply #5 on: August 07, 2013, 10:58:24 AM »
I just grabbed and took a look at the source/etc.

An immediate nitpick:

"Core-GraphX / PC Engine / Turbo GraphX Emulator"


If you're going to do something for PCE/TG, can you please at least spell it right in your document that accompanies the source?


Also, if you expect people besides developers to give it a shot, you're probably going to want to support and provide binaries for Windows and OSX.   Normal people generally don't sit on *nix machines, and don't feel like doing anything except double clicking something and launching a game ASAP.
« Last Edit: August 07, 2013, 11:01:06 AM by Arkhan »
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

kallisti5

  • Newbie
  • *
  • Posts: 15
Re: HuExpress, a new PCEngine emulator.
« Reply #6 on: August 07, 2013, 01:46:31 PM »
An immediate nitpick:

"Core-GraphX / PC Engine / Turbo GraphX Emulator"
If you're going to do something for PCE/TG, can you please at least spell it right in your document that accompanies the source?

You're 100% correct there.. Will fix. I think I wrote that quite a few years ago when I first started the port.

Also, if you expect people besides developers to give it a shot, you're probably going to want to support and provide binaries for Windows and OSX.   Normal people generally don't sit on *nix machines, and don't feel like doing anything except double clicking something and launching a game ASAP.

Yup on the binaries part I still haven't created a release version yet.. thus I haven't put in the time to build binaries yet.  I generally keep the code building though, at any time the code should be stable + easily buildable.  I'm not an OS X user... however as it is posix-like it shouldn't be too hard.

On the windows side... eh.  I just don't care enough about windows anymore to put the time in. As it is open source, feel free to fork it and port it to windows :P


come to the Un*x side, we have cookies and PC Engine emulation :P
« Last Edit: August 07, 2013, 01:58:20 PM by kallisti5 »

Tatsujin

  • Hero Member
  • *****
  • Posts: 12311
Re: HuExpress, a new PCEngine emulator.
« Reply #7 on: August 07, 2013, 01:50:20 PM »
unix UNIX Unix uNIX
www.pcedaisakusen.net
the home of your individual PC Engine collection!!
PCE Games coundown: 690/737 (47 to go or 93.6% clear)
PCE Shmups countdown: 111/111 (all clear!!)
Sega does what Nintendon't, but only NEC does better than both together!^^

kallisti5

  • Newbie
  • *
  • Posts: 15
Re: HuExpress, a new PCEngine emulator.
« Reply #8 on: August 07, 2013, 01:51:32 PM »
You might want to look at the source code for mednafen and Ootake as well. Mednafen is command-line, but it is *nix buildable, and boasts a very high level of accuracy. Also, the BizHawk project might be of interest to you as well.

Thanks, will look :)

The emulation quality of Hu-Go! was actually pretty good, I've tested a *lot* of roms on HuExpress and see few issues. (except maybe a few sound issues, my CoreGrafx has a slighly different sound to it vs HuExpress.)

kallisti5

  • Newbie
  • *
  • Posts: 15
Re: HuExpress, a new PCEngine emulator.
« Reply #9 on: August 07, 2013, 01:57:59 PM »
You going to have a debugger/VRAM viewer?

Thats actually a good idea.  It wouldn't be too hard to make an additional tool to hook into the shared memory used by HuExpress. I think Hu-GO! was going that direction as per the 2.12 README.

I created an enhancement for that on github:
https://github.com/kallisti5/huexpress/issues/4

esadajr

  • Hero Member
  • *****
  • Posts: 1372
Re: HuExpress, a new PCEngine emulator.
« Reply #10 on: August 07, 2013, 03:08:04 PM »
thanks for the hard work and showing *nix love. I'll be happy to give it a shot under Ubuntu.
Gaming since 1985

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuExpress, a new PCEngine emulator.
« Reply #11 on: August 07, 2013, 03:18:32 PM »
As it is open source, feel free to fork it and port it to windows :P
Too busy making games for PCE to work on porting an emulator.


Quote
come to the Un*x side, we have cookies and PC Engine emulation :P
So does Windows.  ;)


I wouldn't mind a new, accurate emulator with GUI + debugging tools for Windows.   I don't feel like pissing around in Unix.  The stuff I use for PCE game programming are Windows based.
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

Prime

  • Newbie
  • *
  • Posts: 8
Re: HuExpress, a new PCEngine emulator.
« Reply #12 on: August 08, 2013, 01:46:53 AM »
I too would like to see a pce emulator with gui,debugger,vram viewer,hex editor(think fceux)windows based.

kallisti5

  • Newbie
  • *
  • Posts: 15
Re: HuExpress, a new PCEngine emulator.
« Reply #13 on: December 01, 2013, 01:32:38 PM »
Just a quick update.  I put some additional work into HuExpress and it now has the following neat features:

* Utilize OpenGL for scaling rendered images
* Utilize OpenGL for rendering displayed images
* Updated to use the new SDL 2.0 release
* Script to automatically "backup" your PCEngine game CD's to HCD archives (Linux)
* Zip files containing an HCD definition can be left compressed and no longer need to
   be expanded to play.  (HuExpress will expand them to a temporary directory and clean
   up afterwards)

The OpenGL support should help performance a bit on modern hardware.  At this point HuExpress is  more useful than Hu-Go. (well, minus a pretty gui) The new hcd format also enables reducing PCEngine iso images down to tens of MB's vs hundreds of MB's.

https://github.com/kallisti5/huexpress

Build requirements are:
pkg-config
libzip
sdl2
sdl2_ttf


I also tagged the first "release" 3.0.1.  Things are early, so don't except too much polish.
« Last Edit: December 01, 2013, 03:00:08 PM by kallisti5 »