vicboma1 / loaderDumpsArcade

Loader Dumps Arcade run Taito Type X | NESICAxLive arcade machines games in your PC
MIT License
48 stars 13 forks source link
arcade arcade-machine cabinet configuration cracking dump hacking hooking hyperspin loader loader-dump-arcade nesica nesicaxlive sega taito taito-project taito-type-x taito-type-x2 vicboma1

?tab=readme-ov-file# Loader Dumps Arcade Emulator (wip)

All this is a homebrew development with reverse engineering, non official technical documentation and a lot of personal time.

Twitter - Youtube - Instagram

Table of Contents (wip)

Systems

Loader

Injections

Process

Inputs

Emulators

Systems

Taito Type x

    Year : 2005
    CPU : Celeron - Pentium 4
    Chipset: Intel 865G
    GPU: ATI Radeon 9600SE/9600XT(128 MB) / X700PRO (256 MB), Bahia AGP 2.0/3.0 Soporte 1x/4x/8x
    SO: Windows XP Embedded

Taito Type x2

    Year : 2005
    CPU : Intel Core 2 Duo E6400/Pentium 4 651/Celeron D 352
    Chipset: Intel Q965 + ICH8
    GPU: ATI RADEON X1600Pro/X1300LE o nVIDIA GeForce 7900GS/7600GS/7300GS
    SO: Microsoft Windows XP Embedded SP2

NESiCAxLive

    Arcade System Board
    Run w/ Taito Type X, X2, X Zero, X3 and X4

Loader | Based on Injection's

   Boolean isLoaded { get; }
   Boolean isActive();
   int Open(String name);
   Task OpenAsync(String name);
   Kernel32Native.PROCESS_INFORMATION Create(String name, uint securityAttr);
   Boolean Attach(String name);
   Boolean InjectDLL(String name);
   List<IntPtr> SuspendAllThreads();
   Boolean ReadMemory(IntPtr processID, IntPtr address, int numOfBytes, byte[] buffer, out int bytesRead);
   Boolean WriteMemory(IntPtr hProc, IntPtr address, byte [] buffer, out int bytesWrited);
   List<IntPtr> ResumeAllThreads();
   Boolean Terminate();

Inputs

GetAsyncKeyState | OpCodes

Example | File.properties

Direct Input | Based on Hook's | DIKCodes

Example | File.bin

Emulators

JVS I/O

OpCodes

Semantic Trace for Taito Type

Inicializando
    Logger: 2019-06-07_00-48-04-LoggerJvs.log 

    Escribo  6 bytes... -> [ E0 FF 03 F0 D9 CB ] 0xE0FF03F0D9CB
    [E0] = SYNC_CODE OK
    [FF] = BROADCAST A TODOS LOS NODOS
    [03] = 
    [F0] = RESET ALL NODES
    [D9] 
    [CB] = 
    Envío    0 bytes... -> [ ]

............................

    Escribo  6 bytes... -> [ E0 FF 03 F1 01 F4 ] 0xE0FF03F101F4
    [E0] = SYNC_CODE OK
    [FF] = BROADCAST A TODOS LOS NODOS
    [03] = 
    [F1] = Set Address
    [01] 
    [F4] = 
    Envío    6 bytes... -> [ XXXXXXXXXXX ]

............................

    Escribo  5 bytes... -> [ E0 01 02 10 13 ]  0xE001021013 
    [E0] = SYNC_CODE OK
    [01] = ESCLAVO
    [02] = 
    [10] = I/O IDENTIFICADOR 
    [13] = 
    Envío    58 bytes... -> [ XXXXXXXXXXX ]

............................

    Escribo  5 bytes... -> [ E0 01 02 11 14 ] 0xE001021114 
    [E0] = SYNC_CODE OK
    [01] = ESCLAVO
    [02] = 
    [11] = COMANDO REVISION FORMATO 
    [14] = 
    Envío    7 bytes... -> [ XXXXXXXXXXX ]

    ...

............................

    Escribo  5 bytes... -> [ E0 00 02 00 02 ]
    [E0] = SYNC_CODE OK
    [00] = MAESTRO
    [02] =
    [00] = RESETEANDO MAQUINA (Exit Game)
    [02] = 
    Envío    6 bytes... -> [ XXXXXXXXXXX ]

Fast I/O

Semantic Trace for NESICAxLive

Inicializando
    Logger: 2020-01-19_14-50-21-LoggerFAST-io.log 

Abriendo conexion
    Hook_iDmacDrvOpen[_in_]         (deviceId: 1 | outBuffer: 00000000 | flags: 00000000)
    Hook_iDmacDrvOpen[_out_]        (deviceId: 1 | outBuffer: 00000001 | flags: FFFFFFFF)

............................

Leyendo datos
    Hook_iDmacDrvRegisterRead
        Discovery [0x400]
        XXXXXXXXX [0x4000] ?
        XXXXXXXXX [0x4004] ?
        XXXXXXXXX [0x4000] ?

............................

** FOR:

Escribiendo datos
    Hook_iDmacDrvRegisterWrite
        XXXXXXXXX [0x4000] ?

............................

Leyendo datos
    Hook_iDmacDrvRegisterRead
        XXXXXXXXX [0x4004] ?

............................

Escribiendo datos
    Hook_iDmacDrvRegisterWrite
        XXXXXXXXX [0x4004] ?

............................

Leyendo datos
    Hook_iDmacDrvRegisterRead
        Input Key P1 - P2 [0x4120]
        XXXXXXXXX         [0x4124] ?
        XXXXXXXXX         [0x4128] ?
        XXXXXXXXX         [0x412C] ?
        XXXXXXXXX         [0x41A0] ?
        XXXXXXXXX         [0x41A4] ?
        XXXXXXXXX         [0x41A8] ?
        XXXXXXXXX         [0x41AC] ?

............................    

Escribiendo datos
    Hook_iDmacDrvRegisterWrite
        XXXXXXXX          [0x4100] ?
        XXXXXXXX          [0x4104] ?
        XXXXXXXX          [0x4108] ?
        XXXXXXXX          [0x410C] ?
        Coin Input P1     [0x4140]
        Coin Input P2     [0x4144]
        XXXXXXXX          [0x4180] ?
        XXXXXXXX          [0x4184] ?
        XXXXXXXX          [0x4188] ?
        XXXXXXXX          [0x418C] ?

............................

Leyendo datos
    Hook_iDmacDrvRegisterRead
        Coin Input P1    [0x4140]
        Coin Input P2    [0x4144]
        Coin Input P2    [0x4144]
                XXXXXXXX         [0x41C0] ?
                XXXXXXXX         [0x41C4] ?
** FOR

...

Cerrando conexion
    Hook_iDmacDrvClose          (deviceId: 1 | access: 004E4BDC) -> You can only close game with Test Mode  

Graphics

Sound

Virtual Storage

Cache Storage

Monitor w/restoring config

Display

Aspect Ratio

Rotation Display

TaskBar Menu

Tab-Menu

Pause Mode

Systems/Games Loaders (wip)

Taito Type x

Taito Type x2

NesicaxLive

Compatibility

PLATFORM NAME MANUFACT YEAR GENRE Intel HP Graphics 4500 Intel HP Graphics 620 ATI HD 4770 ATI HD 5870 AMD RX 570 AMD RX 580
TTX Chaos Breaker Eolith 2004 Fighter 45FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Giga Wings Generations Takumi Corporation 2004 SHMUP 50FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Homura skonec 2005 SHMUP 50FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Raiden III MOSS 2005 SHMUP 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Raiden III Export MOSS 2005 SHMUP 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Raiden IV MOSS 2005 SHMUP 50FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Spica Adventure Taito 2005 Platform 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Tetris The Grand Master 3 Terror Instinct Arika 2005 Puzzle 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX Shikigami no Shiro III Alfa System, Skonec, Barnhouse Effect 2006 SHMUP 45FPS 60FPS 50FPS 60FPS 60FPS 60FPS
TTX2 Battle Fantasia Arc System Works 2007 Fighter -- 60FPS 50FPS 60FPS 60FPS 60FPS
TTX2 BlazBlue: Calamity Trigger Arc System Works 2008 Fighter -- 50FPS 45FPS 60FPS 60FPS 60FPS
TTX2 BlazBlue: Continuum Shift 1 Arc System Works 2009 Fighter -- 50FPS 40FPS 55FPS 55FPS 60FPS
TTX2 BlazBlue: Continuum Shift 2 Arc System Works 2010 Fighter -- 55FPS 50FPS 60FPS 60FPS 60FPS
TTX2 King of Fighters Maximum Impact Regulation A SNK Playmore 2007 Fighter -- 50FPS 40FPS 60FPS 60FPS 60FPS
TTX2 Power Instinct 5 Matrimelee 2: Goketsuji Ichizoku Matsuri Senzo Kuyou Atlus and Noise Factory 2009 Fighter 45FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX2 The King of Fighters XII SNK Playmore 2012 Fighter -- 55FPS 45FPS 60FPS 60FPS 60FPS
TTX2 Trouble Witches AC Taito 2008 Action 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
TTX2 Street Fighter IV Capcom 2008 Fighter -- 55FPS 40FPS 655FPS 55FPS 60FPS
TTX2 Super Street Fighter IV Arcade Edition (NESYS) Capcom 2010 Fighter -- 55FPS 40FPS 55FPS 55FPS 60FPS
NESICAxLive Raiden III MOSS 2012 SHMUP 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
NESICAxLive Daemon Bride Examu 2009 Fighter 45FPS 60FPS 60FPS 60FPS 60FPS 60FPS
NESICAxLive Elevator Action Taito 2014 Action 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
NESICAxLive Arcana Heart 2 v2.1 Examu 2012 Fighter 45FPS 60FPS 60FPS 60FPS 60FPS 60FPS
NESICAxLive Rastan Saga Taito 2012 Action 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS
NESICAxLive Space Invaders Taito 2012 Action 60FPS 60FPS 60FPS 60FPS 60FPS 60FPS

Video DevList

Code Ratio

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
XML                            142            173            345         286219
C/C++ Header                   795          38483          84272         147221
C++                            114           4477           4607          16206
C                               14            747            711          10235
C#                             118           1478           3894           9043
MSBuild script                  18              0             49           1653
Markdown                         3              4              0             46
DOS Batch                        8              1              0             27
XAML                             2              1              0             15
JSON                             5              0              0              5
Bourne Shell                     2              7             22              4
Assembly                         1              1              2              1
-------------------------------------------------------------------------------
SUM:                          1222          45372          93902         470675
-------------------------------------------------------------------------------

Highlights

References

Miscelanea projects

About

Loader Dump Arcade is programmed by vicboma1, all this is a homebrew development with reverse engineering, non official technical documentation and a lot of personal time.

Development environment

[2017-XXXX]
Original TTX Arcade System w/Raiden III

[2017-2019]
Macbook 2015 - CPU 2.2Ghz
Bootcamp Native - Windows 8
Intel HP Graphics 4500 | ---
8GB RAM 

[2020-XXXX]
Dell
Intel Core i5-7200U 
CPU 2.5Ghz | 2Cores - 4Nucleos
Intel HP Graphics 620 | ---
16GB RAM

Twitter : https://twitter.com/vicboma1

Youtube : https://www.youtube.com/channel/UCIyHFDfIyH2Z7FUQBiUxs4g

This software is provided as-is, and is licensed under the MIT License.

MIT License

Copyright (c) 2024 Victor Bolinches

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Software requirements

No roms, no games, no dumps!