Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

alex_free

macrumors 65816
Original poster
Feb 24, 2020
1,106
2,366
Dgen Port For PPC Mac OS X
-----------------------------------------
This release supports Mac OS X 10.3.9-10.6.8. There are separate downloads for PowerPC G4/G5 and G3. Rosetta is required for Intel Macs to run this release of Dgen.

A Fast G4 is highly recommended. The G3 version is unplayable on a 300 MHZ G3. The G4/G5 version works great on a 1.42GHz G4.

Older versions of Dgen were released for Mac OS 9. The last OS 9 release was from the last century, and since then Dgen has been in zombie like development for many years, with the most recent version from 2015 (1.33).

Installation
------------

X11 is required to use Dgen. X11 is an optional install in the OS installation of Mac OS X 10.3 and Mac OS X 10.4. On Mac OS X 10.3, it was also provided as an additional separate download. I have uploaded this version to the Macintosh Garden at the URL: http://macintoshgarden.org/apps/x11-panther . On Mac OS X 10.5 and 10.6 X11 is installed in the default OS installation.

Copy Dgen.app to /Applications/Dgen.app, then open it.

IMPORTANT: Make sure your display settings are set to millions of colors in System Preferences. Thousands of colors will not work.

Options
-------
About - Display the current version number of Dgen.app.

Configure - This will open up the config file in text edit. See the file 'dgenrc.auto' for an example of how to set this up.

Load ROM - A file chooser will display, some compressed files types are supported (such as .zip, .gz, .bz2) as well as .bin and .md files.

More Info
---------
The default to toggle fullscreen is set to alt-return.

Edit the config file to enable OpenGL and more options. To learn more, visit the official Dgen homepage at http://dgen.sourceforge.net/ .

This Release Includes
---------------------
Dgen version 1.33(latest)
Zlib version 1.2.11(latest)
SDL version 1.2.15(latest 1.2 branch)
Libarchive version 3.4.3(latest)

This release of Dgen is completely up to date as of this release (8/13/2020).


Download Now
81C366E7-157C-4F3D-8B65-226913FDBDD3.png
28DABA53-1B3A-451A-B277-A333E1B0CB79.png
 
Last edited:
There was also another excellent Genesis emulator, ported to Mac thanks to Richard Bannister, it was Genesis Plus and the latest version to run on PPC machines was the 1.3.1, together with his Emulator Enhancer plugin (v 2.40 is the latest for PPC) is a great program to play with.

I am really happy to see another emulator to surface, the only thing I don't like too much about Dgen/SDL is to have the App forced to live in Applications folder, if it is moved outside there it becomes unable to found the bundled binaries.

Anyway, good job! :)
 
  • Like
Reactions: alex_free
Hi all!

Nice work but sadly I just got a iMac G3 and I have a strange Mortal Kombat craving...
DGen it runs well in classic (I've found version 1.1.7) but I'd love to have the 6 pad gamepad support of newer versions.

Would it be possible to compile dgen for G3 or I am just wasting time if I try?

Thanks :)
 
  • Like
Reactions: alex_free
Hi all!

Nice work but sadly I just got a iMac G3 and I have a strange Mortal Kombat craving...
DGen it runs well in classic (I've found version 1.1.7) but I'd love to have the 6 pad gamepad support of newer versions.

Would it be possible to compile dgen for G3 or I am just wasting time if I try?

Thanks :)

If your on Tiger try to compile and see what happens. If you get errors, Leopard will work. How well it will work, I have no idea. If you can, get back to me on the results.

I first tried to compile this for Panther G3/G4/G5, but that didn’t work out since Panther didn’t have some things required in the OS headers for the latest Dgen to work. Since I was multi booting 10.3 and 10.5 at the time, I just moved on to Leopard G4/G5 and didn’t check if 10.4 could work.

If I get some time to update this, I’d release the next version with support for G3 on Leopard but I have no idea if it would have good performance without the AltiVec optimizations G4/G5 can currently use for the SDL within the App.
 
  • Like
Reactions: ltpitt
I'd be very glad to try!

What software should I get to be able to compile?

Would be a first time for me.
 
  • Like
Reactions: alex_free
I'd be very glad to try!

What software should I get to be able to compile?

Would be a first time for me.

Just need Xcode, the readme explains what the steps are. The source is on the Garden page.
 
A very nice Genesis/Megadrive emulator to port to OSX PPC would be BlastEm, an emulator so accurate to be able to run without glitches the famous "Overdrive 2" demo from Titan group democoders (awesome!). I have done a quick and dirty try to compile under Leopard but it fails when the 68000 engine source is reached. All the other dependencies (SDL2, Glew, OpenGL2) would be achieved (for OpenGL 2.0 a Radeon X800 or a GeForce 7800 is required) but until someone fixes the compile it is a no-go.

BlastEm homepage
 
Been playing a bit with this since I got the new Xbox 360 controller. Here is a config file that maps:
dpad->joystick.
a->x
b->a
c->b
start->start
select->select

As a bonus, this config also was tweaked for better performance (sometimes 2x better then defaults from what I've tested). Due to frame drop being on by default, you don't really notice how bad performance usually is (due to the fact that there are no PPC specific optimizations in this emulator's latest version anymore, unlike the old OS 9 version. This emulator is using straight up C).

Open /Applications/Dgen.app. Select 'Configure', copy the contents below into the the text edit window and save.
# DGen/SDL v1.33
# This file is automatically overwritten.

key_pad1_up = "UP"
joy_pad1_up = "joystick0-axis1-min"
mou_pad1_up = ''
key_pad1_down = "DOWN"
joy_pad1_down = "joystick0-axis1-max"
mou_pad1_down = ''
key_pad1_left = "LEFT"
joy_pad1_left = "joystick0-axis0-min"
mou_pad1_left = ''
key_pad1_right = "RIGHT"
joy_pad1_right = "joystick0-axis0-max"
mou_pad1_right = ''
key_pad1_a = "a"
joy_pad1_a = "joystick0-button9"
mou_pad1_a = ''
key_pad1_b = "s"
joy_pad1_b = "joystick0-button7"
mou_pad1_b = ''
key_pad1_c = "d"
joy_pad1_c = "joystick0-button8"
mou_pad1_c = ''
key_pad1_x = "q"
joy_pad1_x = "joystick0-button6"
mou_pad1_x = ''
key_pad1_y = "w"
joy_pad1_y = "joystick0-button4"
mou_pad1_y = ''
key_pad1_z = "e"
joy_pad1_z = "joystick0-button5"
mou_pad1_z = ''
key_pad1_mode = "BACKSPACE"
joy_pad1_mode = "joystick0-button11"
mou_pad1_mode = ''
key_pad1_start = "RETURN"
joy_pad1_start = "joystick0-button0"
mou_pad1_start = ''
key_pad2_up = "KP_8"
joy_pad2_up = "joystick1-axis1-min"
mou_pad2_up = ''
key_pad2_down = "KP_2"
joy_pad2_down = "joystick1-axis1-max"
mou_pad2_down = ''
key_pad2_left = "KP_4"
joy_pad2_left = "joystick1-axis0-min"
mou_pad2_left = ''
key_pad2_right = "KP_6"
joy_pad2_right = "joystick1-axis0-max"
mou_pad2_right = ''
key_pad2_a = "DELETE"
joy_pad2_a = "joystick1-button0"
mou_pad2_a = ''
key_pad2_b = "END"
joy_pad2_b = "joystick1-button3"
mou_pad2_b = ''
key_pad2_c = "PAGE_DOWN"
joy_pad2_c = "joystick1-button1"
mou_pad2_c = ''
key_pad2_x = "INSERT"
joy_pad2_x = "joystick1-button6"
mou_pad2_x = ''
key_pad2_y = "HOME"
joy_pad2_y = "joystick1-button4"
mou_pad2_y = ''
key_pad2_z = "PAGE_UP"
joy_pad2_z = "joystick1-button5"
mou_pad2_z = ''
key_pad2_mode = "KP_PLUS"
joy_pad2_mode = "joystick1-button9"
mou_pad2_mode = ''
key_pad2_start = "KP_ENTER"
joy_pad2_start = "joystick1-button8"
mou_pad2_start = ''
key_pico_pen_up = "UP"
joy_pico_pen_up = "joystick0-axis1-min"
mou_pico_pen_up = "mouse0-up"
key_pico_pen_down = "DOWN"
joy_pico_pen_down = "joystick0-axis1-max"
mou_pico_pen_down = "mouse0-down"
key_pico_pen_left = "LEFT"
joy_pico_pen_left = "joystick0-axis0-min"
mou_pico_pen_left = "mouse0-left"
key_pico_pen_right = "RIGHT"
joy_pico_pen_right = "joystick0-axis0-max"
mou_pico_pen_right = "mouse0-right"
key_pico_pen_button = "RETURN"
joy_pico_pen_button = "joystick0-button0"
mou_pico_pen_button = "mouse0-button1"
int_pico_pen_stride = 2
int_pico_pen_delay = 2
key_fix_checksum = "F1"
joy_fix_checksum = ''
mou_fix_checksum = ''
key_quit = "ESCAPE"
joy_quit = ''
mou_quit = ''
key_craptv_toggle = "F5"
joy_craptv_toggle = ''
mou_craptv_toggle = ''
key_scaling_toggle = "F6"
joy_scaling_toggle = ''
mou_scaling_toggle = ''
key_screenshot = "F12"
joy_screenshot = ''
mou_screenshot = ''
key_reset = "TAB"
joy_reset = ''
mou_reset = ''
key_slot_0 = "0"
joy_slot_0 = ''
mou_slot_0 = ''
key_slot_1 = "1"
joy_slot_1 = ''
mou_slot_1 = ''
key_slot_2 = "2"
joy_slot_2 = ''
mou_slot_2 = ''
key_slot_3 = "3"
joy_slot_3 = ''
mou_slot_3 = ''
key_slot_4 = "4"
joy_slot_4 = ''
mou_slot_4 = ''
key_slot_5 = "5"
joy_slot_5 = ''
mou_slot_5 = ''
key_slot_6 = "6"
joy_slot_6 = ''
mou_slot_6 = ''
key_slot_7 = "7"
joy_slot_7 = ''
mou_slot_7 = ''
key_slot_8 = "8"
joy_slot_8 = ''
mou_slot_8 = ''
key_slot_9 = "9"
joy_slot_9 = ''
mou_slot_9 = ''
key_slot_next = "F8"
joy_slot_next = ''
mou_slot_next = ''
key_slot_prev = "F7"
joy_slot_prev = ''
mou_slot_prev = ''
key_save = "F2"
joy_save = ''
mou_save = ''
key_load = "F3"
joy_load = ''
mou_load = ''
key_z80_toggle = "F10"
joy_z80_toggle = ''
mou_z80_toggle = ''
key_cpu_toggle = "F11"
joy_cpu_toggle = ''
mou_cpu_toggle = ''
key_stop = "z"
joy_stop = ''
mou_stop = ''
key_game_genie = "F9"
joy_game_genie = ''
mou_game_genie = ''
key_fullscreen_toggle = "alt-RETURN"
joy_fullscreen_toggle = ''
mou_fullscreen_toggle = ''
key_debug_enter = "`"
joy_debug_enter = ''
mou_debug_enter = ''
key_prompt = ":"
joy_prompt = ''
mou_prompt = ''
bool_vdp_hide_plane_a = false
bool_vdp_hide_plane_b = false
bool_vdp_hide_plane_w = false
bool_vdp_hide_sprites = false
bool_vdp_sprites_boxing = false
int_vdp_sprites_boxing_fg = 16776960
int_vdp_sprites_boxing_bg = 65280
bool_autoload = false
bool_autosave = false
bool_autoconf = true
bool_frameskip = true
bool_show_carthead = false
str_rom_path = "roms"
bool_raw_screenshots = false
ctv_craptv_startup = off
scaling_startup = "stretch"
emu_z80_startup = cz80
emu_m68k_startup = musa
bool_sound = true
int_soundrate = 44100
int_soundsegs = 8
int_soundsamples = 0
int_volume = 100
key_volume_inc = "="
joy_volume_inc = ''
mou_volume_inc = ''
key_volume_dec = "-"
joy_volume_dec = ''
mou_volume_dec = ''
bool_mjazz = false
int_nice = 0
int_hz = 60
bool_pal = false
region = ' '
str_region_order = "JUEX"
bool_fps = false
bool_buttons = false
bool_fullscreen = true
int_info_height = -1
int_width = 320
int_height = 240
int_scale = -1
int_scale_x = -1
int_scale_y = -1
int_depth = 0
bool_aspect = true
bool_swab = false
bool_opengl = true
bool_opengl_stretch = false
bool_opengl_aspect = false
int_opengl_width = 320
int_opengl_height = 240
bool_opengl_linear = false
bool_opengl_32bit = false
bool_opengl_swap = false
bool_opengl_square = false
bool_doublebuffer = true
bool_screen_thread = true
bool_joystick = true
int_mouse_delay = 50
 
Last edited:
I cant get this to launch on 10.4. It keeps asking me to put it in the applications folder but its already in there. I tried using the X11 installer you provided but it says 'newer software already exists on your machine.' So I guess I already have it? Can anybody help?

I really want this to work! My favorite game for genesis is flicky but for some reason when I try to play it with genesis plus on os X it plays in japanese (???) and there is no music. So I have to reboot into os9 and use dgen and disable 68k assembly core and it will finally work properly. I think both the english and japanese information is contained in the same rom file, dgen has an option to handle this in region preferences, genesis plus does not. Yes I have tried gens and yes I have tried alternative rom files, same thing happens... so anyway I was hoping this would prevent me from having to reboot all the time.

Its a 700mhz emac g4, hope thats fast enough. Its a really simply game.

Thanks for any help.

EDIT: Figured it out, my file was incorrectly named 'DGEN copy', after renaming 'DGEN' it launched, unfortunately it only runs at 2-3 fps. Oh well. OS9 it is :)
 
Last edited:
  • Like
Reactions: alex_free
I cant get this to launch on 10.4. It keeps asking me to put it in the applications folder but its already in there. I tried using the X11 installer you provided but it says 'newer software already exists on your machine.' So I guess I already have it? Can anybody help?

I really want this to work! My favorite game for genesis is flicky but for some reason when I try to play it with genesis plus on os X it plays in japanese (???) and there is no music. So I have to reboot into os9 and use dgen and disable 68k assembly core and it will finally work properly. I think both the english and japanese information is contained in the same rom file, dgen has an option to handle this in region preferences, genesis plus does not. Yes I have tried gens and yes I have tried alternative rom files, same thing happens... so anyway I was hoping this would prevent me from having to reboot all the time.

Its a 700mhz emac g4, hope thats fast enough. Its a really simply game.

Thanks for any help.

EDIT: Figured it out, my file was incorrectly named 'DGEN copy', after renaming 'DGEN' it launched, unfortunately it only runs at 2-3 fps. Oh well. OS9 it is :)
Yea the performance is a lot worse then DGEN OS 9 because this is the latest DGEN without the special PPC optimized core/code. It’s just using generic C, which is just not as fast. The latest DGEN doesn’t have that special core, but maybe it could be brought back eventually since the OS 9 DGEN source is available and it’s probably not too different then the current version.

I recommend 1.3GHZ or faster G4 (G5 should be perfect) for this.
 
  • Like
Reactions: TheShortTimer
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.