라이프로그


20080731소식 Emulator알림

[Acrade MAME v0.126u3

MAME 0.126u3

July 31st, 2008
Time for a massive update: MAME 0.126u3. Due to a change internally with the way memory regions are handled, a large percentage of all files in the project needed to be updated.
There’s been a regression test against the change already, so we should be beyond crashing problems. But it is possible that some games may be missing sound due to mismatched sound regions. If you hear anything funky, please report it to MAMETesters so that we can get the problems ironed out in time for u4.

Intermediate Updates

In addition to the official release, the MAME team periodically releases updates to the most recent official release. These are packaged as diff/patch files and should be applied by switching to the base of your MAME source tree (where the makefile lives) and executing:
patch -p0 -E <diffname.diff
where diffname.diff is the name of the .diff file that contains the patch. You can download a set of native Windows diff/patch tools here.
Below is a list of the currently available updates for the latest release:
MAME 0.126 Updates (Source Code Only)
File Size Mirrors Description
0126u1_diff.zip 296 KB MAME 0.126u1 diff (whatsnew).
0126u2_diff.zip 426 KB MAME 0.126u2 diff (whatsnew).
0126u3_diff.zip 2791 KB MAME 0.126u3 diff (whatsnew).
MAME is a registered trademark of Nicola Salmoria.
0.126u3
-------


MAMETesters Bugs Fixed
----------------------
- 02023: [Crash/Freeze] irobot: hang (Aaron Giles)
- 02043: [Crash/Freeze] All games in cps2.c: All Parent Sets for CPS2
Games Abort (Firewave)
- 02046: [DIP/Input] cachat, tubeit: screen upsidedown (Fabio Priuli)
- 00456: [Graphics] combascb: Missing Most Graphics (Fabio Priuli)
- 02050: [DIP/Input] skyfox, exerizrb: Issue with credits input
(Fabio Priuli)
- 02045: [DIP/Input] wofhfh: Player 3 inputs aren't working (stephh)



Source Changes
--------------
More documentation on the Kiki KaiKai MCU. [Guru, Brian Troha]

A bit more cleanup in the gottlieb driver, still incomplete.
[Aaron Giles]

Verified Free Kick PROMs and improved documentation. [Brian Troha]

Added the ability to pass an optional destructor to
ui_menu_alloc_state(). [Nathan Woods]

Updated to build with the latest DirectX SDK, which doesn't support
Direct 3D 8 & Direct Input 7. By default, the makefile is set up to
compile the old way, but you can set DIRECT3D=9 and DIRECTINPUT=8 in
windows.mak or on the command-line to build with a more modern SDK.
[smf, RansAckeR, uRebelScum]

Irem m63 - adjusted AY frequencies to proper 1.5 MHz [Stefan Lindberg]

DSP56156 CPU Core updates [Andrew Gardner]
- Rewrote core logic, communications, and interfaces.
- Added three parallel memory moves to the disassembler.
- Initial interrupt logic in place.

Plygonet.c updates [Andrew Gardner]
- All communication hacks have been removed.
- Memory maps have been temporarily reverted while new DSP56k cpu
core catches up.

Merged memory maps for beezer.c, bishi.c, and bladestl.c.
[Andrew Gardner]

AICA updates [Deunan Knute, ajax16384, R. Belmont]
- Fixed ADPCM decoder to remove bad optimization and match YMZ280B.
DC offset is fixed and output quality is higher
- Improved handling of slot monitor and timers B and C
- Simplified interpolation code

SH2DRC: Add PC-relative load optimization and ability to disable if
necessary [R. Belmont, based on an idea by Mariusz Wojcieszek]

Changed the way memory regions are referenced. Instead of a single
integer value, regions are now referred to by a region tag. The
region tag must be unique among all regions defined for a given
game. This change required updating all the ROM region definitions
in the project to specify the tag instead of region number.
[Aaron Giles]

Updated the core memory_region_* functions to accept a tag instead
of an integer. Added new memory_region_next() function to allow for
iteration over all memory regions. [Aaron Giles]

Changed the auto-binding behavior of CPU regions. Previously, the
first CPU would auto-bind to REGION_CPU1 (that is, any ROM references
would automatically assume that they lived in the corresponding
region). Now, each CPU automatically binds to the region with the
same tag as the CPU itself. This behavior required ensuring that
all previous REGION_CPU* regions were changed to regions with the
same tag as the CPU. [Aaron Giles]

Introduced a new auto-binding mechanism for sound cores. This works
similarly to the CPU binding. Each sound core that requires a memory
region now auto-binds to the region with the same tag as the sound
core. In almost all cases, this allowed for the removal of the
explicit region item in the sound configuration, which in turn
allowed for many sound configurations to removed altogether.
[Aaron Giles]

Updated the expression engine's memory reference behavior. A recent
update expanded the scope of memory references to allow for referencing
data in non-active CPU spaces, in memory regions, and in EEPROMs.
However, this previous update required an index, which is no longer
appropriate for regions and will become increasingly less appropriate
for CPUs over time. Instead, a new syntax is supported, of the form:
"[tag.][space]size@addr", where 'tag' is an optional tag for the CPU
or memory region you wish to access, followed by a period as a
separator; 'space' is the memory address space or memory class you
wish to access (p/d/i for program/data/I/O spaces; o for opcode space;
r for direct RAM; m for memory regions; e for EEPROMs); and 'size' is
the usual b/w/d/q for byte/word/dword/qword. [Aaron Giles]

Cleaned up ROM definition flags and removed some ugly hacks that had
existed previously. Expanded to support up to 256 BIOSes. Updated
ROM_COPY to support specifying a tag for the source region. Also
updated the address map AM_REGION macro to support specifying a
tag for the region. [Aaron Giles]

Updated debugger windows to display the CPU and region tags where
appropriate. [Aaron Giles]

Updated -listxml to output region class and tag for each ROM entry.
[Aaron Giles]

Changes to lucky74.c driver: [Roberto Fresca]
- Pre-defined CPU and SND clocks.
- Switched the color system to RESNET calculations.
- Completed the remaining DIP switches.
- Added lamps support. Created a layout to show them.
- Changes on the interrupt system (need to be verified on the PCB).
- Renamed the graphics regions to more descriptive names.
- Corrected the manufacturer's name.
- Splitted the driver to driver + video.
- Updated technical notes.

Changed unmapped read for mspacman to see if it changes tunnel
behavior. [David Haywood, as suggested by dwidel]

SH2DRC: add SUBV, replace ADDV with C version as a precaution. (Fixes
most of Mantis #2026, except the part which is a separate bug). Added
new implementation which uses flags directly, keeping the C versions
in reserve in case they are needed. [R. Belmont, Aaron Giles]

Added more validation to the address map detokenization, in order to
catch cases where multiple read/write handlers are assigned to a range.
Fixed cases in the code that failed these checks. [Atari Ace]

i8051 cpu core timer updates: [Wilbert Pol]
- Added support for timer mode 0 (13 bit timer)
- Cleaned up timer code a bit, fixing some off-by-one errors when
timers overflow.

Naomi updates [Samuele Zannoli]
1) refactors many global and static variables in video\dc.c into a
structure to hold the tile accelerator state
2) textures should be better decoded with more pixel formats
3) adds placeholders for some register probably used by the dimm board
4) corrects a little error in a rom board register (very important,
now at least the gdrom games try to start)

Added region and regionbytes fields to the deviceconfig, which are
auto-filled by the device manager before starting the device. This
simplifies the auto-binding process for devices. Added new selector
for device-specific ROM regions. Not yet wired up in the ROM loader.
[Aaron Giles]

Simplified SH2 DRC shift/rotate instruction implementations.
[Aaron Giles]

Fixed menu handling so it doesn't swallow the tab key. [Aaron Giles]

Changed symbol table reference parameters to void * from UINT32.
[Aaron Giles]

Enable strict PC relative loads for ST-V games; at least Cotton
Boomerang needs them. [R. Belmont]

Added new option 'cheatpath' to specify one or more paths for cheat
files. Removed old option 'cheat_file'. [Aaron Giles]

Updated xmlfile.c to specify the line number for each node, for more
accurate error reporting. [Aaron Giles]

Removed old cheat.c/.h and replaced them with code that will read and
write the new XML-based cheat format using the new cheatpath option
(cheats still need to be enabled in order to load at all). Note that
the cheats are not implemented yet, but they are fully parsed. To test
saving, whenever a cheat file is successfully loaded, it is immediately
written back out as 'output.xml' to the cheat directory for validation.
[Aaron Giles]

Minor cleanups: [Oliver Stoenberg]
- removed of unprintable chars (newlines) in SH-2 disassembler
- removed a few unnecessary checks after malloc_ort_die() calls
- changed two romload.c warnings to use GAMENOUN instead
- added "deprecat.h" in a few src/mame/drivers files
- cleaned up the mame.mak by adding all missing defines and grouping
them based on cpu.mak
- renamed video_exit() to winvideo_exit() for consistency in function
names

Changed commented-out functions to #ifdefs. [Atari Ace]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Galaxi [Luca Elia]



New clones added
----------------
Pool 10 (italian, set 3) [Roberto Fresca]
Killer Instinct 2 (v1.3k, upgrade kit) [Brian Troha] (NOT WORKING)



New games marked as GAME_NOT_WORKING
------------------------------------
Bust a Move 2 (JAPANESE ROM ver. 1999/07/17 10:00:00) [R. Belmont]
[Arcade MAME] MAMEUIFX32 v0.126u3
July 31, 2008

MAMEUIFX32 0.126u3 released.

  • Updated to MAME 0.126u3 - MAMEUI 0.126u2

July 16, 2008

MAMEUIFX32 0.126a released.

  • Updated to MAME 0.126 - MAMEUI 0.126

    - Fixed hacky controls in Defender and Stargate. (As requested in the forum)

July 08, 2008

MAMEUIFX32 0.126 released.

  • Updated to MAME 0.126 - MAMEUI 0.126

    NOTE: MAMEUIFX still support old cheat engine core because the new one is too buggy to be implemented in a "gaming oriented" build like FX is.

http://mame32fx.altervista.org/home.htm
Download
Binaries
0.126u3 31/07/08 Generic 32-bit build.
Valid for all Windows Operating Systems
0.126a 16/07/08
Source Code
0.126u3 31/07/08 MAMEUIFX source code.
Extract it over official MAME source.
0.126a 16/07/08

http://mame32fx.altervista.org/download.htm
[Arcade MAME] SDLMAME v0.126u3
SDLMAME
The latest version is 0.126u3. There are major core changes in this version so please report any issues that weren’t in u2 (we expect primarily missing/bad sound but other trouble is possible) at MAMETesters. (Yes, it’s OK to report there using SDLMAME!)
The stable version is 0.126.
The WolfMAME patches do apply properly to SDLMAME of the same version (WolfMAME 0.120 works with SDLMAME 0.120, for instance). To apply, unzip the 3 patches (wolfxxx.zip, inpview-12-src-xxx.zip, and dipportsxxx.zip) into your sdlmame directory and unzip all 3. Convert the diffs to your system’s native line endings with an appropriate tool if you are not building Win32 SDLMAME (I use a commandline utility called dos2unix on Linux), and do patch -p1 < [each patch].diff. I don’t think the order matters.
[Arcade MAME] SDLMAME for OS X Universal 0.126u3

SDLMAME for OS X Universal Binaries!

SDLMAME v0.126u3 (experimental): whatsnew.txt - 7/31/2008
- 32-bit Universal Binary - 20.7MB

SDLMAME v0.126 (stable): whatsnew.txt - 7/7/2008
- 32-bit Universal Binary - 20.7MB

These binaries were compiled on OS X 10.5.3 with GCC 4.0.1 (Apple Inc. build 5465) and SDL 1.2.13 for Intel unless noted. If these do not work for you, compile your own. Do NOT send me or the SDLMAME team emails regarding these binaries. NOTE: These builds will only work on OS X 10.4 and above.
Links:
MAMEDev: http://mamedev.org/
SDLMAME Homepage: http://rbelmont.mameworld.info/?page_id=163
SDLMAME Forum: http://www.bannister.org/forums/ubbthreads.php?ubb=postlist&Board=8
SDLMAME for OS X Intel: http://www.mametesters.net/sdlmame/ (no longer being maintained?)
MameTunes Frontend: http://brpg.hp.infoseek.co.jp/mame_tunes/
Old stable releases are here.

MAME™ is a trademark of Nicola Salmoria.
This site is hosted by Parodius Networking.
0.126u3
-------


MAMETesters Bugs Fixed
----------------------
- 02023: [Crash/Freeze] irobot: hang (Aaron Giles)
- 02043: [Crash/Freeze] All games in cps2.c: All Parent Sets for CPS2
Games Abort (Firewave)
- 02046: [DIP/Input] cachat, tubeit: screen upsidedown (Fabio Priuli)
- 00456: [Graphics] combascb: Missing Most Graphics (Fabio Priuli)
- 02050: [DIP/Input] skyfox, exerizrb: Issue with credits input
(Fabio Priuli)
- 02045: [DIP/Input] wofhfh: Player 3 inputs aren't working (stephh)



Source Changes
--------------
More documentation on the Kiki KaiKai MCU. [Guru, Brian Troha]

A bit more cleanup in the gottlieb driver, still incomplete.
[Aaron Giles]

Verified Free Kick PROMs and improved documentation. [Brian Troha]

Added the ability to pass an optional destructor to
ui_menu_alloc_state(). [Nathan Woods]

Updated to build with the latest DirectX SDK, which doesn't support
Direct 3D 8 & Direct Input 7. By default, the makefile is set up to
compile the old way, but you can set DIRECT3D=9 and DIRECTINPUT=8 in
windows.mak or on the command-line to build with a more modern SDK.
[smf, RansAckeR, uRebelScum]

Irem m63 - adjusted AY frequencies to proper 1.5 MHz [Stefan Lindberg]

DSP56156 CPU Core updates [Andrew Gardner]
- Rewrote core logic, communications, and interfaces.
- Added three parallel memory moves to the disassembler.
- Initial interrupt logic in place.

Plygonet.c updates [Andrew Gardner]
- All communication hacks have been removed.
- Memory maps have been temporarily reverted while new DSP56k cpu
core catches up.

Merged memory maps for beezer.c, bishi.c, and bladestl.c.
[Andrew Gardner]

AICA updates [Deunan Knute, ajax16384, R. Belmont]
- Fixed ADPCM decoder to remove bad optimization and match YMZ280B.
DC offset is fixed and output quality is higher
- Improved handling of slot monitor and timers B and C
- Simplified interpolation code

SH2DRC: Add PC-relative load optimization and ability to disable if
necessary [R. Belmont, based on an idea by Mariusz Wojcieszek]

Changed the way memory regions are referenced. Instead of a single
integer value, regions are now referred to by a region tag. The
region tag must be unique among all regions defined for a given
game. This change required updating all the ROM region definitions
in the project to specify the tag instead of region number.
[Aaron Giles]

Updated the core memory_region_* functions to accept a tag instead
of an integer. Added new memory_region_next() function to allow for
iteration over all memory regions. [Aaron Giles]

Changed the auto-binding behavior of CPU regions. Previously, the
first CPU would auto-bind to REGION_CPU1 (that is, any ROM references
would automatically assume that they lived in the corresponding
region). Now, each CPU automatically binds to the region with the
same tag as the CPU itself. This behavior required ensuring that
all previous REGION_CPU* regions were changed to regions with the
same tag as the CPU. [Aaron Giles]

Introduced a new auto-binding mechanism for sound cores. This works
similarly to the CPU binding. Each sound core that requires a memory
region now auto-binds to the region with the same tag as the sound
core. In almost all cases, this allowed for the removal of the
explicit region item in the sound configuration, which in turn
allowed for many sound configurations to removed altogether.
[Aaron Giles]

Updated the expression engine's memory reference behavior. A recent
update expanded the scope of memory references to allow for referencing
data in non-active CPU spaces, in memory regions, and in EEPROMs.
However, this previous update required an index, which is no longer
appropriate for regions and will become increasingly less appropriate
for CPUs over time. Instead, a new syntax is supported, of the form:
"[tag.][space]size@addr", where 'tag' is an optional tag for the CPU
or memory region you wish to access, followed by a period as a
separator; 'space' is the memory address space or memory class you
wish to access (p/d/i for program/data/I/O spaces; o for opcode space;
r for direct RAM; m for memory regions; e for EEPROMs); and 'size' is
the usual b/w/d/q for byte/word/dword/qword. [Aaron Giles]

Cleaned up ROM definition flags and removed some ugly hacks that had
existed previously. Expanded to support up to 256 BIOSes. Updated
ROM_COPY to support specifying a tag for the source region. Also
updated the address map AM_REGION macro to support specifying a
tag for the region. [Aaron Giles]

Updated debugger windows to display the CPU and region tags where
appropriate. [Aaron Giles]

Updated -listxml to output region class and tag for each ROM entry.
[Aaron Giles]

Changes to lucky74.c driver: [Roberto Fresca]
- Pre-defined CPU and SND clocks.
- Switched the color system to RESNET calculations.
- Completed the remaining DIP switches.
- Added lamps support. Created a layout to show them.
- Changes on the interrupt system (need to be verified on the PCB).
- Renamed the graphics regions to more descriptive names.
- Corrected the manufacturer's name.
- Splitted the driver to driver + video.
- Updated technical notes.

Changed unmapped read for mspacman to see if it changes tunnel
behavior. [David Haywood, as suggested by dwidel]

SH2DRC: add SUBV, replace ADDV with C version as a precaution. (Fixes
most of Mantis #2026, except the part which is a separate bug). Added
new implementation which uses flags directly, keeping the C versions
in reserve in case they are needed. [R. Belmont, Aaron Giles]

Added more validation to the address map detokenization, in order to
catch cases where multiple read/write handlers are assigned to a range.
Fixed cases in the code that failed these checks. [Atari Ace]

i8051 cpu core timer updates: [Wilbert Pol]
- Added support for timer mode 0 (13 bit timer)
- Cleaned up timer code a bit, fixing some off-by-one errors when
timers overflow.

Naomi updates [Samuele Zannoli]
1) refactors many global and static variables in video\dc.c into a
structure to hold the tile accelerator state
2) textures should be better decoded with more pixel formats
3) adds placeholders for some register probably used by the dimm board
4) corrects a little error in a rom board register (very important,
now at least the gdrom games try to start)

Added region and regionbytes fields to the deviceconfig, which are
auto-filled by the device manager before starting the device. This
simplifies the auto-binding process for devices. Added new selector
for device-specific ROM regions. Not yet wired up in the ROM loader.
[Aaron Giles]

Simplified SH2 DRC shift/rotate instruction implementations.
[Aaron Giles]

Fixed menu handling so it doesn't swallow the tab key. [Aaron Giles]

Changed symbol table reference parameters to void * from UINT32.
[Aaron Giles]

Enable strict PC relative loads for ST-V games; at least Cotton
Boomerang needs them. [R. Belmont]

Added new option 'cheatpath' to specify one or more paths for cheat
files. Removed old option 'cheat_file'. [Aaron Giles]

Updated xmlfile.c to specify the line number for each node, for more
accurate error reporting. [Aaron Giles]

Removed old cheat.c/.h and replaced them with code that will read and
write the new XML-based cheat format using the new cheatpath option
(cheats still need to be enabled in order to load at all). Note that
the cheats are not implemented yet, but they are fully parsed. To test
saving, whenever a cheat file is successfully loaded, it is immediately
written back out as 'output.xml' to the cheat directory for validation.
[Aaron Giles]

Minor cleanups: [Oliver Stoenberg]
- removed of unprintable chars (newlines) in SH-2 disassembler
- removed a few unnecessary checks after malloc_ort_die() calls
- changed two romload.c warnings to use GAMENOUN instead
- added "deprecat.h" in a few src/mame/drivers files
- cleaned up the mame.mak by adding all missing defines and grouping
them based on cpu.mak
- renamed video_exit() to winvideo_exit() for consistency in function
names

Changed commented-out functions to #ifdefs. [Atari Ace]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Galaxi [Luca Elia]



New clones added
----------------
Pool 10 (italian, set 3) [Roberto Fresca]
Killer Instinct 2 (v1.3k, upgrade kit) [Brian Troha] (NOT WORKING)



New games marked as GAME_NOT_WORKING
------------------------------------
Bust a Move 2 (JAPANESE ROM ver. 1999/07/17 10:00:00) [R. Belmont]
[Arcade] Ville Linde WIP

July 31, 2008

Unfinished business

One of the things I worked on about half a year ago, was a driver for Konami Cobra system.
Cobra is a very complex system, comprising of 3 boards with a PowerPC CPU on each one. The first board with PPC603, can be considered as the "main" board as it runs the main game program. The second board has a PPC403, and does all the I/O handling, hard disk access and sound. The last board is a graphics board, with a PPC604 running a series of custom graphics chips (possibly designed by IBM...)
Cobra doesn't seem to have 2D graphics capabilities at all, so getting something on screen wasn't exactly easy ;-) The screenshot below shows some hex numbers that are a debugging feature built in to Cobra software. Each number represents the "debug state" of the software running on each of the three boards. The numbers themselves are rendered as textured quads, and the whole process is done entirely on the graphics board. This of course required the emulation of the graphics board FIFOs, command buffers and texture uploading... ;-)


[Arcade] Andreas Naive WIP

jueves 31 de julio de 2008

FD1089

Hace unos meses, Lord Nightmare me puso al corriente del problema existente con la generación de claves en los juegos de SEGA que usaban el circuito de seguridad FD1089 (del que se conocen dos variantes: FD1089A y FD1089B). Resumiendo mucho el asunto, en esa época SEGA había venido usando generadores de números pseudoaleatorios (GNPA; más concretamente, generadores de congruencia lineal, GCL de ahora en adelante) para generar las claves usadas en otros circuitos de seguridad. Dado que se conocían circuitos anteriores y posteriores a esa época que usaban un cierto GCL para generar las claves, se tenía la firme sospecha de que eso también ocurría con el FD1089, aunque aún no se había comprendido de qué forma las claves dependían del GNPA, ni se tenía la seguridad de que fuese el mismo usado en los otros circuitos.

En aquel momento no disponía de mucho tiempo pero ahora, tras haber concluido el trabajo con el SPC7110, creí que sería un buen momento de retomar el asunto.

Un primer vistazo mostraba que, para cada juego, teníamos 0x2000 octetos de clave divididos en 2 grupos de 0x1000 (uno es usado para encriptar los datos, y otro para el código). Una de las mayores dificultades del asunto era que, de hecho, debido a la forma en la que se habían recuperado esas tablas, la elección de los valores era arbitraria, y lo único que se podía garantizar era que existía una tabla fija de 256 entradas que establecía una permutación entre la salida del GNPA y los valores de las tablas. Además, observando las subtablas usada para encriptar el código, se podía ver con facilidad que uno de los 256 valores nunca estaba presente (esto ya se había visto hacer en otros circuitos: SEGA utilizaba un valor especial para marcar ciertas posiciones de las tablas de datos como «NO CIFRADO», por lo que ese valor tenía un significado especial y no podía usarse como un valor de cifrado normal).

Con todo eso, comencé a probar algunas ideas acerca de cómo operaban esas tablas de permutación (hablo en plural porque se sabía que para las dos revisiones del circuito eran distintas y para cada una de las dos subtablas de tamaño 0x1000 también) bajo la hipótesis de que, si pudiésemos estudiar las tablas de claves antes y después de aplicar esa «permutación arbitraria», se debería de observar un claro incremento en las estadísticas de aleatoriedad de las mismas. No obstante, esta línea de ataque no funcionó, pues quedó claro que los 0x1000 octetos de una sola tabla (o incluso todos los que se podían obtener para las tablas de cifrado de código para todos los juegos de una misma revisión del circuito) eran insuficientes para que esto pudiese funcionar.

Así que tocaba intentar otras cosas. Bajo la hipótesis de que el GNPA era un GCL del mismo tipo que el usado en el FD1094 y en el MC8123 (esto es, con módulo una potencia de 2), cabía intentar otro tipo de ataque directo: se sabe que, cuando el módulo usado por el GCL es una potencia de 2, cada uno de los bits de la salida generada muestra ciclos de tamaño 2^n, con n aumentando con el número de bit (esto es, si un bit muestra ciclos de tamaño 2^15, el siguiente mostrará ciclos de tamaño 2^16, y así por menudo...). De hecho, así es como Aaron se dio cuenta de que un GCL estaba siendo usado para generar (parte de) las claves usadas con el FD1094 (podéis leer sobre ello aquí: Notas de Aaron sobre el FD1094). Pero lo interesante para nosotros es que, si aislas uno de esos bits y observas el ciclo que desarrolla, puedes ver que ese ciclo se puede dividir en dos mitades de forma que una mitad es la imagen «especular» de la otra (léase: hay unos donde en la otra hay ceros, y viceversa).

Así pues, si la tabla fuese creada con bits generados por un GCL de este tipo, y tuviésemos la suerte de que en nuestros 0x1000 octetos al menos uno de los bits (el menos significativo) tuviese un ciclo de tamaño menor o igual que 0x1000, podríamos tratar de separar los 256 valores de la permutación en dos clases de equivalencia, de forma que un grupo de 128 valores estuviese asociado a uno de los dos valores posibles de ese bit, y el otro al valor restante. ¿Qué posibilidades de éxito tenía esta idea? Con la cantidad de datos disponibles, muy pocas en general para multiplicadores de GCL arbitrarios, pero me animaba el hecho de que el GCL usado por el FD1094 y el MC8123 tenía unos parámetros muy malos, que hacen que los ciclos que muestran sus bits sean menores que con parámetros óptimos. Así que, si tenía suerte y el GCL era el mismo, me bastaría que alguno de los 6 juegos para los que disponía de una tabla de cifrado de código completa tuviese una semilla inicial que fuese múltiplo de 4. Esto nos daría 6 intentos con una probabilidad de éxito del 25% cada uno; merecía la pena intentarlo.

Existía una dificultad añadida para llevar a cabo la prueba: dado que el GCL filtra uno de los 256 valores, las tablas tienen «huecos» que nos impiden emparejar de forma sencilla cada una de las dos mitades de ese ciclo. No obstante, cabía la esperanza de que el número de valores consecutivos necesarios en cada una de las dos partes del ciclo fuese bajo, lo que nos permitiría buscar 2 zonas libres de huecos que fuese «imágenes especulares» en la secuencia original. Unos cuantos experimentos después, quedó claro que esas dos zonas deberían ser de unos 256 octetos cada una para evitar la posibilidad de falsos positivos y falsos negativos. Un número mayor de lo que me hubiese gustado, pero no tan grande como para hacer inviable el ataque.

Así que, manos a la obra, implementé el ataque. Las simulaciones previas mostraban que, si el GCL era del mismo tipo que el usado en el FD1094 y el MC8123, efectivamente el ataque funcionaba si la semilla inicial era múltiplo de 4. Llegado el momento, lo comencé a aplicar sobre las tablas reales: como dije antes, tenía 6 intentos... falló el primero, el segundo, el tercero, el cuarto, el quinto y, cuando ya había perdido la fe, el sexto funcionó. ¡TOMA!

Un poco de análisis manual de los datos más tarde quedaba claro que había conseguido separar el conjunto de 256 valores en 8 clases de equivalencia de 32 valores cada una, lo que significaba que, si el GCL era el mismo que conocíamos, la semilla inicial era, de hecho, múltiplo de 16. Llegado a este punto, toda vez que ya era capaz de separar los 256 valores en 2 grupos de forma que cada uno correspondiese al valor de un cierto bit de la salida original del GCL, ya se podía intentar averiguar cuáles eran los parámetros del GCL. Fue bastante sencillo: quedó claro al poco que el generador subyacente era, como se sospechaba, exactamente el mismo usado por el FD1094 y el MC8123:


int rnd()
{
seed = seed*0x290029;
return (seed>>16)&0xff;
}

y, al mismo tiempo, fui capaz de recuperar la semilla inicial para el juego sobre el que el ataque anterior había funcionado (que era el 317-0168 para más detalles, el cual usa un FD1089B) y la tabla de permutación que establecía la correspondencia entre la salida del generador y los valores arbitrarios para las claves que Nicola había usado. Al hacerlo, también descubrí cuál era el valor del generador filtrado y me di cuenta de que la generación de las dos subtablas de claves parecía estar entrelazada de algún modo.

Tras algo más de estudio, quedó claro cómo funcionaba ese entrelazado... Como dije, hay algunas posiciones de la tabla de cifrado de datos que están marcadas como «NO CIFRAR» con ese número especial. Pues bien, la generación de las tablas se produce en dos pasadas: en la primera, para las posiciones normales, se genera un valor para la tabla de cifrado de código y después un segundo valor para la tabla de cifrado de datos. En la segunda pasada, para las posiciones marcadas en la tabla de cifrado de datos como «NO CIFRAR», sólo se genera un número, que se usa, como es lógico, en la tabla de cifrado de código. En pseudocódigo:



for (i=0; i<0x1000; i++)
{
if ("we must encrypt this data table position")
{
do
{
aux = rnd();
} while (aux==0x40);
opcode_table[i]=aux;
do
{
aux = rnd();
} while (aux==0x40);
data_table[i]=aux;
}
}
for (i=0; i<0x1000; i++)
{
if ("we mustn't encrypt this data table position")
{
do
{
aux = rnd();
} while (aux==0x40);
opcode_table[i]=aux;
data_table[i]=0x40;
}
}


Con este algoritmo, una vez que tienes la semilla inicial, puedes regenerar las tablas de claves (téngase en cuenta que, para obtener los valores que están actualmente en las fuentes de MAME, habría que aplicar las permutaciones de que he hablado, que daré luego) siempre que sepas qué direcciones de la tabla de datos no deben cifrarse.

Bueno, llegado a este punto, me faltaba obtener las semillas iniciales para el resto de juegos, y completar las tablas de permutación incompletas. Dado que el primer juego cuya semilla inicial tenía correspondía a un FD1089B, era fácil atacar estos, a la vez que completaba la tabla de permutación que hacía corresponder la salida del generador con los valores arbitrarios de las tablas de datos para el FD1089B.

Hecho esto, ¿cómo conseguir eso mismo para el FD1089A? Por fortuna, hay algunos juegos que estaba claro que, a pesar de tener distintas revisiones del circuito, usaban la misma clave. Haciendo uso de ello, he sido capaz de reconstruir las tablas de permutacion correspondientes al FD1089A y, a la vez, obtener las semillas iniciales para todas las tablas que están en las fuentes de MAME actuales. No he observado errores en las tablas evidentes salvo para la «key_wb35», en la que los valores de la tabla de datos están aparentemente mal (sin embargo, los de la tabla de códigos si cuadran con lo previsto).

Las tablas de permutación que establecen la correspondencia entre la salida del GCL y los valores arbitrarios que Nicola usó son estas:

int permutation_table_opcode_fd1089a[256] = {
0x8f,0x84,0x8d,0x86,0x4e,0x45,0x4c,0x47,0x9e,0x95,0x9c,0x97,0x5e,0x55,0x5c,0x57,
0x89,0x80,0x8b,0x82,0x48,0x41,0x4a,0x43,0x98,0x91,0x9a,0x93,0x58,0x51,0x5a,0x53,
0x9f,0x94,0x9d,0x96,0x5f,0x54,0x5d,0x56,0x8e,0x85,0x8c,0x87,0x4f,0x44,0x4d,0x46,
0x99,0x90,0x9b,0x92,0x59,0x50,0x5b,0x52,0x88,0x81,0x8a,0x83,0x49,0x40,0x4b,0x42,
0xef,0xe4,0xed,0xe6,0xee,0xe5,0xec,0xe7,0xf8,0xf1,0xfa,0xf3,0xf9,0xf0,0xfb,0xf2,
0x1f,0x14,0x1d,0x16,0x1e,0x15,0x1c,0x17,0x09,0x02,0x0b,0x00,0x08,0x03,0x0a,0x01,
0xfe,0xf5,0xfc,0xf7,0xff,0xf4,0xfd,0xf6,0xe9,0xe0,0xeb,0xe2,0xe8,0xe1,0xea,0xe3,
0x0f,0x04,0x0d,0x06,0x0e,0x05,0x0c,0x07,0x19,0x12,0x1b,0x10,0x18,0x13,0x1a,0x11,
0xcf,0xc4,0xcd,0xc6,0xce,0xc5,0xcc,0xc7,0xd9,0xd2,0xdb,0xd0,0xd8,0xd3,0xda,0xd1,
0x2e,0x25,0x2c,0x27,0x2f,0x24,0x2d,0x26,0x38,0x31,0x3a,0x33,0x39,0x30,0x3b,0x32,
0xdf,0xd4,0xdd,0xd6,0xde,0xd5,0xdc,0xd7,0xc9,0xc2,0xcb,0xc0,0xc8,0xc3,0xca,0xc1,
0x3e,0x35,0x3c,0x37,0x3f,0x34,0x3d,0x36,0x28,0x21,0x2a,0x23,0x29,0x20,0x2b,0x22,
0x7e,0x75,0x7c,0x77,0xaf,0xa4,0xad,0xa6,0x6f,0x64,0x6d,0x66,0xbf,0xb4,0xbd,0xb6,
0x78,0x73,0x7a,0x71,0xa9,0xa2,0xab,0xa0,0x69,0x62,0x6b,0x60,0xb9,0xb2,0xbb,0xb0,
0x6e,0x65,0x6c,0x67,0xbe,0xb5,0xbc,0xb7,0x7f,0x74,0x7d,0x76,0xae,0xa5,0xac,0xa7,
0x68,0x63,0x6a,0x61,0xb8,0xb3,0xba,0xb1,0x79,0x72,0x7b,0x70,0xa8,0xa3,0xaa,0xa1,
};
int permutation_table_data_fd1089a[256] = {
0xd5,0x60,0xc5,0x70,0xd7,0x62,0xc7,0x72,0xc4,0x74,0xd4,0x64,0xc6,0x76,0xd6,0x66,
0x34,0xb2,0x24,0xa3,0x36,0xb0,0x26,0xa1,0x25,0xa5,0x35,0xb4,0x27,0xa7,0x37,0xb6,
0xd3,0x93,0xc3,0x83,0xd1,0x91,0xc1,0x81,0xc2,0x85,0xd2,0x95,0xc0,0x87,0xd0,0x97,
0x30,0x51,0x20,0x40,0x32,0x53,0x22,0x42,0x21,0x44,0x31,0x55,0x23,0x46,0x33,0x57,
0xff,0x68,0xee,0x78,0xfd,0x6a,0xec,0x7a,0xef,0x7e,0xfe,0x6e,0xed,0x7c,0xfc,0x6c,
0x0e,0xb8,0x1e,0xa9,0x0c,0xba,0x1c,0xab,0x1f,0xaf,0x0f,0xbe,0x1d,0xad,0x0d,0xbc,
0xf9,0x99,0xe8,0x89,0xfb,0x9b,0xea,0x8b,0xe9,0x8f,0xf8,0x9f,0xeb,0x8d,0xfa,0x9d,
0x08,0x59,0x18,0x48,0x0a,0x5b,0x1a,0x4a,0x19,0x4e,0x09,0x5f,0x1b,0x4c,0x0b,0x5d,
0xde,0x69,0xce,0x79,0xdc,0x6b,0xcc,0x7b,0xcf,0x7f,0xdf,0x6f,0xcd,0x7d,0xdd,0x6d,
0x3f,0xb9,0x2f,0xa8,0x3d,0xbb,0x2d,0xaa,0x2e,0xae,0x3e,0xbf,0x2c,0xac,0x3c,0xbd,
0xd8,0x98,0xc8,0x88,0xda,0x9a,0xca,0x8a,0xc9,0x8e,0xd9,0x9e,0xcb,0x8c,0xdb,0x9c,
0x39,0x58,0x29,0x49,0x3b,0x5a,0x2b,0x4b,0x28,0x4f,0x38,0x5e,0x2a,0x4d,0x3a,0x5c,
0xf4,0x61,0xe5,0x71,0xf6,0x63,0xe7,0x73,0xe4,0x75,0xf5,0x65,0xe6,0x77,0xf7,0x67,
0x05,0xb3,0x15,0xa2,0x07,0xb1,0x17,0xa0,0x14,0xa4,0x04,0xb5,0x16,0xa6,0x06,0xb7,
0xf2,0x92,0xe3,0x82,0xf0,0x90,0xe1,0x80,0xe2,0x84,0xf3,0x94,0xe0,0x86,0xf1,0x96,
0x01,0x50,0x11,0x41,0x03,0x52,0x13,0x43,0x10,0x45,0x00,0x54,0x12,0x47,0x02,0x56,
};


int permutation_table_opcode_fd1089b[256] = {
0x8f,0x84,0x8d,0x86,0x4e,0x45,0x4c,0x47,0x9e,0x95,0x9c,0x97,0x5e,0x55,0x5c,0x57,
0x89,0x82,0x8b,0x80,0x48,0x43,0x4a,0x41,0x98,0x93,0x9a,0x91,0x58,0x53,0x5a,0x51,
0x9f,0x94,0x9d,0x96,0x5f,0x54,0x5d,0x56,0x8e,0x85,0x8c,0x87,0x4f,0x44,0x4d,0x46,
0x99,0x92,0x9b,0x90,0x59,0x52,0x5b,0x50,0x88,0x83,0x8a,0x81,0x49,0x42,0x4b,0x40,
0xef,0xe4,0xed,0xe6,0xee,0xe5,0xec,0xe7,0xf8,0xf3,0xfa,0xf1,0xf9,0xf2,0xfb,0xf0,
0x1f,0x14,0x1d,0x16,0x1e,0x15,0x1c,0x17,0x09,0x02,0x0b,0x00,0x08,0x03,0x0a,0x01,
0xfe,0xf5,0xfc,0xf7,0xff,0xf4,0xfd,0xf6,0xe9,0xe2,0xeb,0xe0,0xe8,0xe3,0xea,0xe1,
0x0f,0x04,0x0d,0x06,0x0e,0x05,0x0c,0x07,0x19,0x12,0x1b,0x10,0x18,0x13,0x1a,0x11,
0xcf,0xc4,0xcd,0xc6,0xce,0xc5,0xcc,0xc7,0xd9,0xd2,0xdb,0xd0,0xd8,0xd3,0xda,0xd1,
0x2e,0x25,0x2c,0x27,0x2f,0x24,0x2d,0x26,0x38,0x33,0x3a,0x31,0x39,0x32,0x3b,0x30,
0xdf,0xd4,0xdd,0xd6,0xde,0xd5,0xdc,0xd7,0xc9,0xc2,0xcb,0xc0,0xc8,0xc3,0xca,0xc1,
0x3e,0x35,0x3c,0x37,0x3f,0x34,0x3d,0x36,0x28,0x23,0x2a,0x21,0x29,0x22,0x2b,0x20,
0x7e,0x75,0x7c,0x77,0xaf,0xa4,0xad,0xa6,0x6f,0x64,0x6d,0x66,0xbf,0xb4,0xbd,0xb6,
0x78,0x73,0x7a,0x71,0xa9,0xa2,0xab,0xa0,0x69,0x62,0x6b,0x60,0xb9,0xb2,0xbb,0xb0,
0x6e,0x65,0x6c,0x67,0xbe,0xb5,0xbc,0xb7,0x7f,0x74,0x7d,0x76,0xae,0xa5,0xac,0xa7,
0x68,0x63,0x6a,0x61,0xb8,0xb3,0xba,0xb1,0x79,0x72,0x7b,0x70,0xa8,0xa3,0xaa,0xa1,
};
int permutation_table_data_fd1089b[256] = {
0xd5,0x62,0xc5,0x72,0xd7,0x60,0xc7,0x70,0xc4,0x74,0xd4,0x64,0xc6,0x76,0xd6,0x66,
0x34,0xb2,0x24,0xa3,0x36,0xb0,0x26,0xa1,0x25,0xa5,0x35,0xb4,0x27,0xa7,0x37,0xb6,
0xd3,0x93,0xc3,0x83,0xd1,0x91,0xc1,0x81,0xc2,0x85,0xd2,0x95,0xc0,0x87,0xd0,0x97,
0x32,0x53,0x22,0x42,0x30,0x51,0x20,0x40,0x23,0x44,0x33,0x55,0x21,0x46,0x31,0x57,
0xff,0x68,0xee,0x78,0xfd,0x6a,0xec,0x7a,0xef,0x7e,0xfe,0x6e,0xed,0x7c,0xfc,0x6c,
0x0e,0xb8,0x1e,0xa9,0x0c,0xba,0x1c,0xab,0x1f,0xaf,0x0f,0xbe,0x1d,0xad,0x0d,0xbc,
0xf9,0x99,0xe8,0x89,0xfb,0x9b,0xea,0x8b,0xe9,0x8f,0xf8,0x9f,0xeb,0x8d,0xfa,0x9d,
0x08,0x59,0x18,0x48,0x0a,0x5b,0x1a,0x4a,0x19,0x4e,0x09,0x5f,0x1b,0x4c,0x0b,0x5d,
0xde,0x69,0xce,0x79,0xdc,0x6b,0xcc,0x7b,0xcf,0x7f,0xdf,0x6f,0xcd,0x7d,0xdd,0x6d,
0x3f,0xb9,0x2f,0xa8,0x3d,0xbb,0x2d,0xaa,0x2e,0xae,0x3e,0xbf,0x2c,0xac,0x3c,0xbd,
0xd8,0x98,0xc8,0x88,0xda,0x9a,0xca,0x8a,0xc9,0x8e,0xd9,0x9e,0xcb,0x8c,0xdb,0x9c,
0x39,0x58,0x29,0x49,0x3b,0x5a,0x2b,0x4b,0x28,0x4f,0x38,0x5e,0x2a,0x4d,0x3a,0x5c,
0xf4,0x63,0xe5,0x73,0xf6,0x61,0xe7,0x71,0xe4,0x75,0xf5,0x65,0xe6,0x77,0xf7,0x67,
0x05,0xb3,0x15,0xa2,0x07,0xb1,0x17,0xa0,0x14,0xa4,0x04,0xb5,0x16,0xa6,0x06,0xb7,
0xf2,0x92,0xe3,0x82,0xf0,0x90,0xe1,0x80,0xe2,0x84,0xf3,0x94,0xe0,0x86,0xf1,0x96,
0x03,0x52,0x13,0x43,0x01,0x50,0x11,0x41,0x12,0x45,0x02,0x54,0x10,0x47,0x00,0x56,
};

y las semillas iniciales éstas (se ve claramente que no se generaron aleatoriamente):

// FD1089B games
{key_0013A,0x400001},
{key_0168, 0x400030},
{key_0034, 0x400015},
{key_0024, 0x40000f},
{key_0027, 0x400011},
{key_0037, 0x400013},
{key_5021, 0x40004b},

// FD1089A games
{key_0018, 0x400003},
{key_0022, 0x40000d},
{key_0033, 0x400013},
{key_0028, 0x400011},
{key_0167, 0x400030},
{key_0021, 0x40000b},
{key_wb35, 0x400043},


Visto en retrospectiva, y teniendo en cuenta el entrelazado de las dos tablas, parece que tuve bastante fortuna al encontrar un juego con una estructura de tablas tal que me permitiese aplicar el ataque. :)
Etiquetas:

[Arcade] Story.dat & mamescore.ini. & default.el 20080731
MAMESCORE files

MAJ / Updated : 31/07/2008 23:27
pour enregistrer les fichiers, faites bouton droit -> enregistrer la cible sous...
to save those files, do right click -> save target as...


story.dat (485.36 Ko)

ce fichier va permettre d'afficher dans MAME les records établis sur MAMESCORE. Utile pour avoir une idée des scores à battre et du niveau des joueurs... Téléchargez story.dat et copiez-le dans le répertoire de votre MAME (le fichier doit se trouver dans le même dossier que l'*.exe de MAME)
Si vous préférez, téléchargez la version history.dat

This file allows you to see the MAMESCORE top scores in your MAME !
Download story.dat and place it in your MAME folder (with the mame*.exe)
Same file, if you prefer history.dat




mamescore.ini (14.78 Ko)

ce fichier permet de diffuser la liste des jeux dont des records sont dans MAMESCORE. Placez mamescore.ini dans le dossier "folders" de votre MAME (si ce dossier n'existe pas, crééz-le!) Lancez ensuite MAME et vous découvrirez sur la gauche un nouvel icone "mamescore" contenant la liste des jeux.

this file allows you to display the game list of MAMESCORE in your MAME (32 and derivatives). Download it and place it in the "folders" directory (create the folder if needed) Launch MAME and you'll see a new icon "mamescore" with the game list.



default.el (22.93 Ko)

ce fichier permet de diffuser la liste des jeux dont des records sont dans MAMESCORE avec le Front-end emuloader. Placez default.el dans le répertoire "resources\favorites" de emuloader.

this file allows you to display the game list of MAMESCORE in your Emuloader Front-end. Download it and place it in the "resources\favorites" directory.
[Arcade Tool] Mameinfo.dat v0.126u3
Updated - 31st July 2008
Mameinfo.dat

0.126u3: Updated to MAME 0.126u3. Newest Bugs (31st Jul). Added/Reorganized 'Recommended Games'. Fixed Mameinfo.dat infos.

0.126u2: Updated to MAME 0.126u2. Added 0.126u2 Source/Listinfo changes. Newest Bugs (24th Jul). Fixed Mameinfo.dat infos.
0.126u1: Updated to MAME 0.126u1. Added 0.126u1 Source/Listinfo changes. Newest Bugs (17th Jul). Added Romset (kb/files/zip) infos. Fixed Mameinfo.dat infos.
0.126: Updated to MAME 0.126. Added 0.126 Source/Listinfo changes. Newest Bugs (7th Jul). Added missing 'MAMETesters Fixed Bugs' from 0.122u6-0.124. Added infos about all src files that have been added or removed from 0.01-0.33b3 to the Mameinfo.dat and Hardware.txt. Added 'Recommended Games' (Model3). Fixed Mameinfo.dat infos.
0.125u9: Updated to MAME 0.125u9. Added 0.125u9 Source/Listinfo changes. Newest Bugs (3rd Jul). Added infos about all src files that have been added or removed from 0.33b4-0.37b7 to the Mameinfo.dat and Hardware.txt. Fixed Mameinfo.dat infos.




Download

*NEW* MAMEINFO.DAT 0.126u3 (1268kb)

MAMEINFO.DAT 0.126u2 (1265kb)

MAMEINFO.DAT 0.126u1 (1262kb)

MAMEINFO.DAT 0.126 (1259kb)

MAMEINFO.DAT 0.125u9 (1252kb)

File extract info for Unix/Linux and Mac OS users
[Arcade Tool] clrmamepro v3.116c 阿宝混乱汉化版
发表于 2008-7-31 09:22
clrmamepro v3.116c 阿宝混乱汉化版

又更新了。。。
继续发布。。。单文件。。。覆不覆盖均可。。。

3.116c
fixed: 7z/rar add files was broken for filenames with spaces in 3.116b
[Arcade Tool] ClrMamePro 3.116C┊简体中文版
发表于 2008-7-31 16:43
[ROM管理工具] ClrMamePro 3.116C┊简体中文版



Win32版本 介面简单翻译,带拉个Tango.bmp 中文皮肤

http://www.clrmame.com/

3.116c

fixed: 7z/rar add files was broken for filenames with spaces in 3.116b
[Arcade Tool] Catlist v0.126u3 (no officiel)

31/07/2008 20:25 - Catlist 0.126u3

Tempo di mare.. ma prima di partire per le vacanze non dimenticate di prelevare i vostri amati catlist aggiornati alla 0.126u3

Pubblicato da: Swos

Commenti(0)

Catlist

Ecco qui di seguito i nuovi catver, catlist, genre e tutto il resto del pacchetto di Triggerfin, in attesa che lui riesca a ricomporre le sue procedure di aggiornamento e riprenda in mano un progetto che è stato, per ora, solo preso a prestito...

cat32: files per mame32, comprendono, genre, catlist, version ed altri
Deluxe32: versione Deluxe dei files di categoria, sempre per mame32
catver.ini: classificazione per categoria e versione, per gli utenti di frontend, come MAMEwah o Advance
genrev: come sopra, ma classificato per genere


Files are also available in english:
cat32: mame32 files, including genre, catlist, version and more...
Deluxe32: Deluxe version of the category files, always for mame32
catver.ini: classification by category and version, to be used in various frontends
genrev: as above, classified by genre

Files aggiornati alla versione / all files update to version : 0.126u3

Per problemi, errori o consigli, contattatemi tramite l'email che trovate nel readme all'interno, o attraverso i forum cui sono iscritto

Torna alla pagina principale

[FrontEnd] GameEx 9.43
31st July, 2008 - GameEx 9.43 released
  • New Features:
    • Thanks to the hard work of Flash and Headkaze for providing the tools, the first of the updated databases using the new format are in this release. These are for the Sega Saturn and NEC PC-FX
    • I realised today that the MAME manufacturer list and filter had really become a useless feature due to the huge amount of MAME games now supported and the data accuracy issues in the MAME XML output. Therefore GameEx now performs formating on the Manufacturer, resulting in less manufacturers in the list and more games grouped under each one as well as fixing the data accuracy issues in recent MAME builds. This results in a smaller list making the feature once again worth having hopefully. An update list is required
  • Changes:
    • For new installs by default GameEx will not set the resolution to 800x600 but will use the current windows desktop resolution. This is to provide a better initial experience for new users, and should only be a problem on really low end machines set at high resolutions
    • There is a slight change to the 2d animations. Hopefully for the better. Feedback welcome
    • When choosing the Lite or MAME only option on install, ebooks and search will be disabled. The theme is set at Media Center instead of MCE Glossy
  • Fixes:
    • GameEx should be more usable in touch screen setups as the issue where clicking the page down error did not return focus to the list from the menu with the default V3 themes is fixed
    • Fixes issue where the menu would not be visible after updating the MAME list
    • Fixes ICONS only being created on a restart when the first MAME list update is done
30th July, 2008 - MAME 0.126 full snaps available
MAME 0.126 screenshots are now available to download at www.gameex.net
[Computer Commodore64] Emu64 Little V1.01 Test 2
Emu64 Little die Zweite ....
Geschrieben von: Thorsten Kattanek, am 31.07.2008, 13:13 Uhr.
Hier eine weitere Little Version ...

- Steuerung via Joystick oder Tastatur ist jetzt verfügbar
- Fehlermeldung "Fehlende Anwendungskonfiguration" sollte
jetzt nicht mehr kommen
- DirectX Screenausgabe geändert
- Vollbildauflösung ist jetzt Einstellbar (emu64.ini)

MfG Thorsten
[Computer Macintosh] Basilisk II PSP v1.1.1
Basilisk II ist ein Mac II Emulator für die Sony PSP.
2008-07-31
Basilisk II for the PSP


The official release of Basilisk II for the PSP is here! Features include:
  • Emulates a Mac II series machine running OS 7.0.1 through 8.1, depending on the ROM used.
  • Uses UAE CPU emulation, with new SoftFloat FPU emulation for better compatibility.
  • The PSP memstick can be mounted on the Mac desktop (requires File Manager 1.2).
  • Supports on-the-fly change of colors and resolution (requires Display Manager).
  • Has stereo, 16-bit, 44kHz audio (requires Sound Manager 3.0).
  • Supports emulated floppy and CDROM with removable media (no CD audio yet).
  • Supports up to four hardfiles for use as fixed drives.
  • UDP tunnel for AppleTalk networking across WIFI (no general networking yet).
  • Emulates a Mac Extended ADB keyboard and mouse. Buttons can be remapped on-the-fly, and popular IR keyboards are supported on the Phat PSP.
  • Supports extra memory and TV out on the Slim PSP.

I made changes to the non-platform-specific code (particularly the FPU emulation), so I've bumped the version to 1.1. I'll probably make some changes and bug fixes later, so I'm calling this 1.1.0. Two main downloads for the binary and one of the source are available. The larger binary archive comes with a nice BIG guide, so I archived it with 7zip. If you don't know how to handle 7zip, google it.

EDIT 2008/07/31: Now updated to 1.1.1. Changes include - newer code base. IR keyboard files made relative and included with program (should help people who don't know who to setup pspirkeyb). IR keyboard was verified working with 4.01 M33-2. Program is slightly faster (about six percent). Added two 16: 9 video modes to the Mac side for people who use the LCD or an HDTV.

BasiliskII-PSP-1.1.1.zip
BasiliskII-PSP-1.1.1-src.7z
BasiliskII-PSP-Guide.7z note - this is JUST the guide file

old stuff...
Mirrors:
BasiliskII-PSP-1.1.0.zip
http://www.mediafire.com/download.php?mjdvjfpjgtj
http://www.sendspace.com/file/n1p8ev

BasiliskII-PSP-1.1.0-src.7z
http://www.mediafire.com/download.php?y0cjh31jxud
http://www.sendspace.com/file/3gftrp

BasiliskII-PSP-1.1.0-with-guide.7z
http://www.mediafire.com/download.php?i0jqjcyw0ly
http://www.sendspace.com/file/aoug6s
Attached Files
File Type: zip BasiliskII-PSP-1.1.0.zip (877.7 KB, 193 views)
File Type: 7z BasiliskII-PSP-1.1.0-with-guide.7z (2.56 MB, 238 views)
File Type: 7z BasiliskII-PSP-1.1.0-src.7z (1.18 MB, 20 views)
File Type: zip BasiliskII-PSP-1.1.1.zip (883.4 KB, 156 views)
File Type: 7z BasiliskII-PSP-1.1.1-src.7z (1.11 MB, 0 views)
File Type: 7z BasiliskII-PSP-Guide.7z (1.89 MB, 2 views)

Last edited by Chilly Willy; Yesterday at 07:32 PM. Reason: Update to 1.1.1
[Computer Coomodore64] Panera64
2008-07-31
Panera 64 por Ron. Emulador Commodore 64 para Dreamcast
EmuladoresAlgunos ya sabíais que estoy pasando por la etapa CBM y a vueltas con las paneras, que simbólicamente y en clave de humor es como veo los Commodore Vic 20 y 64.



Esta versión es un port de la versión DreamFrodo 0.94 que portó Tolga Abaci basado en el Frodo 4.1 de Christian Bauer.

Inicialmente se desarrolló para funcionar sobre una versión de KOS (0.9*1.0 + Newlib) muy primitiva (versión 2001*2002), por tanto incompatible y no compilable con las toolchains actuales, la versión desde la que se actualiza a KOS 1.3 (KallistiOS 1.3 updated to svn 561) es el DreamFrodo 0.94 (2002). Por tanto se trata de rescatar el emulador y hacerlo disponible para actualizarlo con herramientas más modernas.



Pues a todos los que os guste el C64 ya disponemos de un emulador con muchísimas opciones , todas funcionales y sobre todo lo más sorprendente es su velocidad. Esta primera versión alfa tiene activada la emulación de la unidad 1541, con lo que recomiendo que se desactive para mayor compatibilidad y el Joystick por defecto está switcheado al port2 del C64 (la mayor parte de juegos la usan).

Soporta dos Pads conectados y teclado Dreamcast, dispone de un teclado virtual que se accede mediante la tecla X, para acceder al menú general del emulador bastará con pulsar START. Al estar totalmente en castellano no tendreis perdida alguna para orientaros con las opciones.

En principio debería de abrir ficheros zip, pero aún no me ha dado tiempo a probarlo, por eso recurro a todos aquellos que quieran colaborar con el desarrollo y actualización del emulador haciendo las labores de beta testing. Podeis postear vuestras impresiones y comentarios.

Tiene montones de BUGS, son visibles si os fijais, como por ejemplo en el blitteo dependiendo de que juegos, por eso lo más importante para futuras correcciones es ir detectando todo aquello que mejore el emulador en cuanto a fidelidad y calidad.

En breves días tras una limpieza de source publicaré las fuentes, que en realidad no han sufrido modificaciones excepto todas las partes de KOS que han tenido que ser reescritas para que funcione en entornos actualizados.



En está versión mi agradecimiento a mi gran maestro Troy Davis, a.k.a GPF y a mis buenos colegas Indiket y Guaripolo por aguantarme cuando estoy en trance DC.

La version Panera64 alpha 01 está disponible en la sección de descargas.

ron el julio 31 2008 21:08:16
[Console Arcadia] Ami/WinArcadia 7.5
WinArcadia 7.5
Short: Signetics-based machines emulator
Uploader: amigansoftware@gmail.com (James Jacobs)
Author: amigansoftware@gmail.com (James Jacobs)
Type: misc/emu
Requires: OS3.5+
Replaces: misc/emu/amiarcadia_fr.lha, misc/emu/AmiArcadia_de.lha
Version: 7.5a
Architecture: m68k-amigaos >= 3.5.0

AmiArcadia emulates these Signetics-based machines:

* the Emerson Arcadia 2001 console family (Bandai, Emerson,
Grandstand, Intervision, Leisure-Vision, Leonardo, MPT-03, Ormatu,
Palladium, Poppy, Robdajet, Tele-Fever, Tempest, Tryom, Tunix,
etc.) (1982);

* the Interton VC 4000 console family (Acetronic, Fountain, Hanimex,
Interton, Prinztronic, Radofin, Rowtron, Soundic, Voltmace,
Waddington, etc.) (c. 1978);

* the Elektor TV Games Computer (1979); and

* PIPBUG-based machines (such as the Electronics Australia 77up2 and
the Signetics Adaptable Board Computer) (c. 1977).

Features include: ReAction GUI, load/save snapshots, windowed and full-
screen modes, CPU tracing, trainer, drag and drop support, graphics
scaling, automatic load/save of configuration/game, keyboard/joystick/
gamepad/paddle/mouse/trackball support, autofire, warp mode, gameplay
recording/playback, PAL/NTSC modes, sprite demultiplexing, help windows,
source code, debugger, frame skipping, redefinable keys, save screenshots,
ARexx port, network play, real-time monitor, locale support, game
selection sidebar, text-to-speech, undithering.

The supported languages are currently English, French, German and Italian.

AmiArcadia is open source freeware. The source code was compiled using
SAS/C 6.58. It was written by James Jacobs of Amigan Software.

http://amigan.1emu.net/releases/
http://amigan.classicgaming.gamespy.com/

Changes since 7.5:
. Bug fixes.
[Console PCEngine/Turbo Grafx16] Ootake v1.54
Solves "Delay Problem" of emulator at Ootake
エミュレータの大きな問題である「操作遅延」解消へのこだわり

What's "Ootake" ?
 
更新情報  
Ver1.54 is released.(2008.07.31)
Ver1.53 is released.(2008.05.28)
Ver1.52 is released.(2008.05.23)
Old version files(Click "Ootake???.exe" or "Ootake???.zip")

I'm doing my best for the "Sound Quality". 音質へのこだわり
I'm doing my best for the "Screen Quality". 画質へのこだわり
I'm doing my best for "Operativeness". 操作性(プレイ感覚)へのこだわり
I'm sticking to "Detailed" reproducibility. 細かな再現性へのこだわり

Download(Free Soft)
This program is not guaranteed. Please use it by the self-responsibility.
このプログラムは無保証です。各自の責任にてご利用ください。
Ootake 1.54 (click here) For WindowsXP/2000/Vista
2008.07.31 (1.07MB Source included) Readme.txt
The installation program starts when downloaded "Ootake154.exe" is double-clicked.
ダウンロードした"Ootake154.exe"をダブルクリックするとインストールプログラムが始まります。

"Upgrade or downgrade of the version" is possible by the overwrite install.
上書きインストールで、バージョンアップorバージョンダウンが可能です。

Future of "Ootake"(OotakeFuture.txt) 今後の予定

2008.7.31 久しぶりにバージョンアップできました。
現在、馬のゲーム製作(JRA-VANデータラボ用フリーソフト)の仕事のため、
Ootake製作にどうしても時間が取れない状態です。
時間は取れないのですが、そのぶんOotakeに搭載したいアイデアをいくつか温めてありますので
秋頃には大きなバージョンアップができればと思っています。

追伸 スーパースターソルジャー2分モード…503,500点(連射機能使用) 地味に更新しました!
5分モード…1391,500点(連射機能使用) まだまだやり込み不足で攻略中です。

ここまで順調にOotakeを育ててこれたのも、動作や不具合などの報告をしていただいた
皆さんのおかげが本当に大きいです。ありがとうございます。 Ootake作者(中村)

Ootake本体が、快適に動作しない場合は、必ず面倒でも「確認ページ」を一度読んでみてください。
私は現状は、開発を優先させてもらっているので、掲示板の全てには返答することはできないですが
『PCエンジン温泉』の書き込み等も楽しく読ませてもらっています。ありがとうございます。

Menu (Japanese language version only)
 
 PCエンジン温泉
OotakePCエンジン実機の使い方
ゲームに関する楽しい話題など。
質問は自分で調べられる範囲内は
なるべく自分でGoogleするように
しましょう。

PCエンジンに関する楽しい話題
なら何でもOKの掲示板です。
”Ootake”で久しぶりにプレイした
ゲームの感想などもどうぞ。

※法律に触れる話題(違法サイト等)
個人的な売買の書き込み、
他の方への中傷など利用者を不快
にさせる書き込みだけは禁止です。
 
 
 快適に動かない場合「確認ページ」
 まずパソコン環境を確認して下さい。
ノンサポート掲示板
不具合報告・動作報告・感想・要望
など。Ootakeを向上させることが
目的のノンサポート掲示板です。
使い方についての質問は
左のPCエンジン温泉
へどうぞ。

☆最後まで動作したソフト☆

△動作に問題のあるソフト△

○いただいた要望リスト○

”Ootake”は無保証でノンサポート
ですが、不具合の改善や使い勝手
の向上には努めて行きたいと
思っています。

時間の都合上、作者自身は
書き込みへの返信はできないことが
多いと思いますが、ご了承ください。
(全て読ませていただいて、今後の
バージョンアップへつなげていきます)

 

作者の所持機

・スーパーグラフィックス
(発売当初に期待を込めて購入)
本体写真

・初代DUO
(スナッチャーをやるため購入)

・DUO-R
(エミュレータ開発のためもあり
中古屋で美品を購入。アイコン
もDUO-R付属のゲームパッド
をモデルにしました)

「ouma.jp(お馬じぇーぴー)」
ホームページへ
このサイトのトップページです。
作者製作の競馬ソフト
写真鑑賞ソフトなどがあります。
 
 
実装の足りない部分

・いくつかのCD-ROMゲームでデータが読み込めず進まない。 ←だいぶ解決できましたが、残りの動かないソフトも動くようにできればと思っています。

謝辞
"Ootake"は、PC2Eというエミュレーター(現在公開を終了されています)のソースコードをベースにさせてもらいました。PC2Eに変更と肉付けを加えて行く形で製作し、完成したものが、Ootakeです。この場をお借りして、PC2Eの作者であるKiさん、および先代のPCEエミュレータ製作者の方々に、敬意と感謝を表します。
 

Links リンク

PC Engine Links
PCエンジン関連
ホームページへ
のリンク
 

  Return to "ouma.jp" Homepage
2008/07/31 1.54 released
- "Auto Check Set Resume" menu was added to "File" menu. If the check is put
there, when each game is started, the resume-function("File->Set Resume"
menu) becomes effective automatically.
- The speed and timing were brought close to a real machine more. In "Eiyuu
Sangokushi", the problem that the surface of the screen fell into disorder
occasionally was solved. I think that the operation timing improved in
other games, too.
- The access timing of CD-ROM was brought close to a real machine more. In
the opening demo of "Ys4", the problem that the noise of the horizontal
line was uncommonly occasionally displayed was solved.
- Additionally, a detailed part has been improved and corrected.

[Console PCEngine Tubo Grafx16] Ootake 繁體中文化版 1.54 UP
附件太多,只留 EC 支援的 1.34 及新的版本!

1.54 up....

最近工作都早出晚歸....沒啥時間玩 PC.....

[ 本帖最后由 khiav 于 2008-7-31 20:08 编辑 ]
[Console SNES] ZsnexBox
31 July 2008, 05:38 AM
ZsnexBox 3.5

-Video previews and screenshots are both displayed

-Fixed bug where preview border was displayed when preview
border was disabled.

-Freed several megabytes of RAM. This fixes the screenshot
display problem in 1080i.

-Added support for sub folders in the Images directory.
This will allow users to sort the images (i.e. a
folder for Maps, Manuals, Strategy Guides, etc...). Much
higher resolution images are now supported.

Install:

Copy the contents of ZsnexBox 3.5 to your Xbox. Delete any previous ZsnexBox.ini.

Thanks:

-Everyone who made previews for ZsnexBox

This post has been edited by nes6502: Yesterday, 05:45 AM
[Console SNES] Zsnes v1.51: SPC7110 Test v3 Build
Posted: Thu Jul 31, 2008 10:50 pm
Okay, anomie and I rewrote pretty much all of neviksti's code and seriously optimized it like nuts. We still have a little bit more that we can optimize (and hopefully will), but we're MUCH faster now.

http://zsnes.sourceforge.net/zsnesw-spc7110-3.zip

This build offers over the previous build even more optimized decompression, and a persistent cache (which at this point I don't think we really need anymore).

Let me know what kind of FPS you get now, and how much CPU usage it takes (and list which CPU and MHz you have).

Also, please test save states and all that.

We're almost done here. Once I am, I'll figure out exactly what it is that I changed, so I can package a new source release.

If you run into any issues, let me know. If the persistent cache for whatever reason is causing issues, delete the *.idx and *.gfx files, and let me know about it.

Thanks.
_________________
[Console SNES] Snes9X v1.51 Direct3D
PostPosted: Sun Jul 20, 2008 5:03 pm Post subject: Snes9X 1.51 Direct3D (not a request) Reply with quote

I was rather motivated last week, so I decided to switch the Snes9X display code from DirectDraw to Direct3D9.
The advantages are an optional bi-linear filter and no problems with Aero on Vista.
One disadvantage: I've been unable to get the menu to work in fullscreen without flickering, so I've disabled that for now (ESC now exits fullscreen).

OpenGL should still work, but it is still hidden from the GUI.

Changes/fixes (updated 31.07.2008):
-Direct3D output (optional)
-fullscreen mode respects refresh rate setting (d3d only)
-updated graphics option dialog
-"Text in Image" now works correctly in 32 bit
-turbo-mode toggle works with gamepads
-"local vid-mem" and "test mode" in display settings have been disabled
-ESC in fullscreen now exits fullscreen
-new filter: blargg's ntsc filter (three presets)


The binary can be found here:
Arrowhttp://download.sessionclan.de/overfiend/snes9xd3d/snes9xd3d.zip

A complete source package (beware: the project files are VS2008):
Arrowhttp://download.sessionclan.de/overfiend/snes9xd3d/snes9x-1.51-src-d3d.zip

The two new source files and diffs for the changed files (these add Direct3D functionality only):
Arrowhttp://download.sessionclan.de/overfiend/snes9xd3d/d3ddiff.zip

Other fixes (reported here):
Arrowhttp://download.sessionclan.de/overfiend/snes9xd3d/miscfixes.zip

Diffs for Blargg's NTSC filter:
Arrow http://download.sessionclan.de/overfiend/snes9xd3d/blarggdiff.zip

You'll need a recent DirectX SDK to compile.



If someone decides to try it out I'd appreciate some feedback or bug reports.


Last edited by OV2 on Thu Jul 31, 2008 11:14 pm; edited 3 times in total
.
[Console ] Neogenesis V23, Mednafenx-lynx V4, Mednafenx-pce V4
31 July 2008, 05:42 AM
-Added support for video previews. Video previews must be in xmv format
and placed in the Videos folder. Users running at 1080i need to adjust
the font for the game select screen to the following:

Game Select Settings
Max Text Width: 220
Number of Lines: 10
Font Size: 20
Line Height: 32

The Xbox does not have enough CPU power to render several true type
fonts at 1080i and update the video preview. This does not apply to
480i/p or 720p.
[Console PlugIn] GSDX SVN 833版发布
2008-07-31
PCSX2图形插件GSDX SVN 833版发布(速度大大提高),

这次提供的有GSDX SVN 833 VC9 编译SSE2、SSSE3、SSE4.1等版本。

有关速度大提高的,请查看网友的评测“http://bbs.emu-zone.org/newbbs/viewthread.php?tid=556555

请各位玩家快去下载和发表评测吧。
[HandHEld Gameboy/Color] GameKnight v0.3 Beta
Game Boy/Game Boy Color emulator
Project Description

Nintendo GameBoy and Color GameBoy emulation library using C#.

Project Goal

The goal of the GameKnight project is to create a group of platform-independent CLI libraries(GameKnight.GameBoy), all based around the same design(GameKnight.Core) for various 8-bit and 16-bit video game systems.

This should allow anyone to write an interface/port without having to sort through the actual emulation code.

Current Status

The emulator is able to run almost all original GameBoy games, although you may notice a few graphical glitches. For the GameBoy Color, only a few games work, others have a lot of bugs or are just unplayable.

For the 0.3 release the project as been further split up and all platform specific code(like System.Drawing) have been removed from the emulation code. It is also now up to the interface to load and save files, this allows the author to use a file system they prefer. Save states have been removed and should be reimplemented in next update. The drawing code has been optimized and there is now a frame-skipping option to help people creating ports on slower systems.

There is currently a port for the Zune being made, progress and binaries/source code can be found in this thread: http://www.zuneboards.com/forums/development-discussions/26496-gameboy-emulator-raycasting-demo-unfinished.html

If you have problems running the Win32 interface,, try updating DirectX and make sure you have at least .NET 2.0 installed.

Screenshots

Composite.png
Last edited Fri at 9:13 AM by scottmc29, version 15
0.3 Beta

Downloads & Files



Application GameKnight 0.3 Binaries.zip application, 2006K, uploaded Fri - 86 downloads
Source Code GameKnight 0.3 Source.zip
source code, 355K, uploaded Fri - 37 downloads
[HandHeld Tool] Rominator v2008.11
Rominator ist ein Nintendo DS ROM Manager für Windows und MacOSX.
Welcome to the homepage for Rominator, the #1 tool for Nintendo DS Game Organization
What is Rominator?



Rominator is a tool available for Mac OS X and Windows that is designed for making management and organization of your backed up Nintendo DS Games easy. It allows you to easily store your games in the application, view all of it’s information, organize the way you want, and even get them transferred over to your backup card with merely clicks of a button. To make management easy, many different features have been implemented into Rominator to enhance your experience:
  • Light uncluttered interface
  • Organize your game lists the way you want in as many lists desired
  • Sort or filter based on game data (such as name, number, size, country, etc)
  • Supports .nds, .zip, and .rz (Rominator Zip) files
  • Ability to view game information
  • Retail game database updated weekly
  • Verify your games to make sure they will work properly
  • Instant Game Trimming to cut off unused space in your games
  • Save Game backup for your precious save files
  • Flash Card management
  • Cheat Database Updating for your flash card
  • And much more!
These are just some of the awesome features of Rominator. To learn more, please click the links to the right to jump to a section, and use the links at the top of the section to choose a subsection. Throughout the website contains every piece of information on how to use Rominator.

Please note that Rominator or it’s author does not condone or support software piracy in any way. Rominator is meant to be a tool to be used for the games you legally own and have backed up using your own tools. Please do not ask where these games can be illegally obtained; if you like the games, support the developers and purchase the games for play.
Download

Please choose the correct download for your Operating System.

Current Version: v2008.11
Mac OS X: Download
Windows: Download

After the file has downloaded to your specified download directory, please visit the ‘Getting Started’ section to learn how to start your Rominator experience.

Also available for download is a standalone rZip Compression/Decompression Utility.
Download rZipper below
Mac OS X: Download
Windows: Download



toolshell