Thursday, December 26, 2013

MAME4ALL v1.0 for Dingoo A380

Some time ago a forum member named 'retrodd' donated an A380 to me on the promise that I would deliver a version of MAME4ALL for this nice little handheld. Well at long last, here it is!

I'm happy to announce v1.0 of MAME4ALL for the Dingoo A380!

What is MAME4ALL (MAME)?

MAME is Multiple Arcade Machine Emulator - basically it emulates arcade games from the 70's, 80s and 90s.

MAME4ALL for the A380 is based on my Dingoo A320 Native version of MAME4ALL and includes all fixes and updates from that release. This version also contains some extra enhancements and new games playable.

The mame.dge launches the MAME4ALL game selector.
Use mame_vm.dge also has extra commands to setup and use a 64MB swapfile for extra large games - recommended with all "larger" games. ie. Neo Geo.

Download Dingoo A380 MAME4ALL v1.0 Binary
Download Dingoo A380 MAME4ALL v1.0 Source Code
Discuss Dingoo A380 MAME4ALL v1.0

Zombie Raid now working (along with many other seta.c games!)

Tuesday, November 12, 2013

MAME4ALL v1.2 for Dingoo A320 Native


Lots of work went into this BIG release!

So many new items and changes that I will only list some of the bigger ones here.
  • Big update to memory handling means more memory for games.
  • Huge update to FAME CPU emulator now plays every M68000 game.
  • New compressed graphics storage - larger games now work.
  • Lots of new games now working and added.




If you have any issues please consult the included text files for information first.
The "readme.txt", "whatsnew.txt" and "FAQ.txt" are all updated with each release and will answer most questions.

The Simpsons working at full speed with sound.

Operation Thunder added. Plays nicely.

In The Hunt added with sound

Outrun - now running nicely with FAME



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?

Thursday, May 9, 2013

MAME4ALL v1.1 for Dingoo A320 Native

It's only been 3 years since the last release, but here it is at long last!

MAME4ALL v1.1 for Dingoo Native! Hooray!

I hope it's been worth the wait. There are LOTS of updates and changes.

There's a huge list of "what's new" so I won't list all the gory details here, suffice to say this release is bigger, better and stronger - meaning that more games work, they work faster and it's more reliable!

See the included "whatsnew.txt" for a full description of what has changed.



MAME4ALL v1.1 Splash Screen



I'm also going to release a new version of MAME4ALL for Open Dingux which will include the changes I've made in this version. I may even release another version for the GP32 - I love that old console!

Also, I've recently received a Dingoo A380 kindly donated by retrodd. I plan on releasing a version of MAME4ALL for the A380 as well.

Monday, March 18, 2013

DOSBox 0.74 v2.0 A320 Open Dingux and Ben Nanonote OpenWRT

Updated versions of DOSBox 0.74 for  A320 Open Dingux and Ben Nanonote OpenWRT.




What's New?

Swapfile = Better performing Dynamic Recompiler
Make sure you are using swapfiles on both A320 Open Dingux and Ben Nanonote OpenWRT.
This allows larger dynamic recompiler caches and as a result much faster code execution and DOSBox is on a whole a lot more stable. Civilization plays super fast now! :)
Also included are some fixes to the dyna-rec from d_smagin's DOSBox port to GCW-Zero.

A320 Open Dingux
Changes to the dosbox.conf including increasing default memsize.

Ben Nanonote
The 'del' key ('red arrow' + backspace) is now working - was mapped to something wrong.
Volume control using the keyboard now working. There is a new entry in the dosbox.conf to accommodate a default value.

nanonote_volume = 50


Other changes to the dosbox.conf including enabling the soundblaster.

You can create a 64MB swapfile on the Nanonote's NAND using the following commands:


# dd if=/dev/zero of=/swapfile bs=1024 count=65536
# mkswap /swapfile
# swapon /swapfile



Alternatively you can create a 64MB swapfile on the Nanonote's microSD using the following commands:


# dd if=/dev/zero of=/mnt/mmcblk0p1/swapfile bs=1024 count=65536
# mkswap /mnt/mmcblk0p1/swapfile
# swapon /mnt/mmcblk0p1/swapfile

To enable the swap after reboot you will have to re-run:

swapon /mnt/mmcblk0p1/swapfile

Or you can make it auto-mount using the /etc/init.d/ system.

Thursday, March 14, 2013

Nethack 3.4.3 and Rogue for Ben Nanonote

Just a quicky, two releases:
First is a link to Nethack 3.4.3 for Ben Nanonote.

Based on jmarch's src code, I simply recompiled (with optimal GCC compilder options) so that this will work with latest OpenWRT.
Also, I made sure that you can run it from any filesystem type - no "perm_lock" issues!

Download Nethack 3.4.3 for Ben Nanonote Binary

Second is Rogue also for the Ben Nanonote.
Makes use of setfont2 80x30 column mode but seems to work nicely.

Download Rogue for Ben Nanonote Binary

Screenshot using fbgrab of Rogue on Ben Nanonote.
The font use sub-pixels due to the NN's pixel layout. Looks much better on the actual device.

Monday, March 11, 2013

DOSBox 0.74 Open Dingux and Ben Nanonote

Well it's been a long time since posting. I sort of got burned out after the initial release of DOSBox... a few years ago (time flies) but I've got my mojo back and been developing again for the past few months.
I've got a few goodies ready!

First up is DOSBox for Open Dingux - this has been compiled to work on the A320. Until recently, 95% of the dev work was actually on the Nanonote. I haven't tested it on that yet but it may work as well.

Anyway, here it is. I've done a fair bit of testing the Open Dingux on my A320. I don't have a GCW-Zero yet so I don't even know if it will work - but I'm guessing it should. Please let me know if it doesn't.

There are no release notes included so here's the run down:

What is DOSBox?
Basically DOSBox 0.74 is a PC emulator for Open Dingux running on an A320 or GCW-Zero. It has a full MIPS32R1 dynamic recompiler. Once I get a GCW-Zero, I'll make this MIPS32R2.


 Civilization - One of my favorite 'test' games.


Dragonstrike



Installion
Included is DOSNav which is a freeware file launcher. I've installed DOSBox in /usr/local/dosbox. Include all the files in the binary distribution into the directory:

dosbox.dge
dosbox.png
dosbox.conf
dbfont.ttf
c_drive

Inside c_drive is the dosnav directory with the file launcher.

The dosbox.conf has been carefully configured for near optimal settings. You can play with the values by all means but if something doesn't work try these basic settings first.

By default the dynamic recompiler has been configured as the CPU emulation of choice as it's the fastest however please try the 'simple' CPU emulation as well as it's a good second choice if the dyna-rec doesn't work. It also gives pretty good performance in most cases.

An On Screen Display keyboard or 'virtual keyboard' is included out of necessity - which is basically code from the GP2X version of DOSBox.0.72.

Dingoo A320 Controls
Getting PC games to run in a satisfactory and enjoyable manner is heavily reliant on setting up the controls correctly - especially on a device like the Dingoo A320 that lacks a keyboard.

By default, the A320's controls under SDL already has pre-coded keyboard controls however their usefulness varies with the program you wish to run.

By default the controls are mapped in the same was the above link except for the SELECT key which now activates the Virtual Keyboard:


D-pad upKEY_UP
D-pad downKEY_DOWN
D-pad leftKEY_LEFT
D-pad rightKEY_RIGHT
A buttonKEY_LEFTCTRL
B buttonKEY_LEFTALT
X buttonKEY_SPACE
Y buttonKEY_LEFTSHIFT
Left shoulderKEY_TAB
Right shoulderKEY_BACKSPACE
START buttonKEY_ENTER
SELECT buttonKEY_ESC Virtual Keyboard
Power sliderKEY_POWER
Power holdKEY_PAUSE

You will notice that the D-pad directional keys, START (ENTER) and X (SPACE) button will be your "friend" as many games will already use these keys for movement and actions.

Should you need a keystroke that isn't mapped above there are two things you will need to do:

  1. Over ride the default behavior and use a mapper file.
  2. Use the Virtual Keyboard.

I'll discuss the mapper file option on a follow up post.
For now, a quick walkthrough of the Virtual Keyboard (VK).

SELECT = toggles the VK on/off
A = activate the current selection
B = BACKSPACE
X = RETURN
Y = SPACE
L = Toggle VK keyboard special/normal
R = Switches through the VK color schemes

Using DOSNav (A320)
Thanks to the lack of real keyboard on the Dingoo A320, it's a bit tricky launching software. To assist, DOSNav has been included. It's basically a file browser and lets you launch software.
Use the D-Pad to move around and START button to enter a directory or start an executable file.

Ben Nanonote Controls
The Nanonote has superior usability thanks to it's micro keyboard. Whilst not as fast, due to the lack of overclocking software, it's a lot more satisfying to use as it "feels" more like a PC.

Control input is all through the keyboard - there is no virtual keyboard option as none is required.

Ben Nanonote Mouse emulation
Two options here:
The "Ben" key (next to the spacebar) toggles mouse on and off. Use the cursor pad and the up/down volume for mouse clicks.
Or
The blue "fn" key, hold and press cursor pad or up/down volume together for "instant activation".

Function Key F9 = fn + F7
Function Key F10 = fn + F8

Everything else is printed on the keyboard and should be obvious.

Quit out of DOSBox
This work for all versions of DOSBox as it's the standard method.
Press +F9 at the same time.
On the Open Dingux Virtual Keyboard hit CTRL then F9
On the Nanonote, + fn+F7 (which is the key to access F9, see above)