Coder Social home page Coder Social logo

mbdesu / darkmrsoft Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 4.07 MB

A web app utility for modifying and converting CPS2 ROMs.

Home Page: https://darkmrsoft.web.app

License: GNU General Public License v2.0

HTML 19.06% SCSS 6.98% TypeScript 73.96%
cps2 mame mister misterfpga romhacking darksoft ips mra

darkmrsoft's Introduction

DarkMrSoft

DarkMrSoft is a web app utility for patching CPS2 ROMs with the patches found in a MiSTer .mra file. The immediate goal of this project is to service Darksoft/MAME users who would like to use these ROMhacks on those platforms, with a longer term goal of eventually being an in-browser toolchain for CPS2 ROMhacking in general.

Much of the ROM manipulation that this web app does is available as a separate npm package, cps2-utils!

This project was generated with Angular CLI version 16.0.2.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

Darksoft CPS2 Multi File Format

I'm not sure where else to document this, so I am documenting it here. The Darksoft CPS2 Multi file format is as follows (assume each flash file is padded with 0xff to 4 MB unless otherwise stated):

MAME ROM Region MAME Files Darksoft Files Notes
audiocpu rom.01, rom.02 flash.01 These files are simply concatenated and then padded with 0xff to 4 MB. Sometimes there's only 1 of them, such as 19xx.
maincpu rom.03 - rom.10 flash.02 Some ROMs do not have 8 maincpu files. They are concatenated and padded with 0xff to 4 MB if needed.
qsound rom.11, rom.12 flash.03, flash.04* If qsound files do not exceed 4 MB, then flash.04 is not necessary.
gfx rom.13, rom.14 flash.05, flash.06* If the MAME files do not exceed 4 MB after padding each to 2 MB with 0xff, then flash.06 is not necessary.
gfx rom.15, rom.16 flash.07, flash.08* If the MAME files do not exceed 4 MB after padding each to 2 MB with 0xff, then flash.08 is not necessary.
gfx rom.17, rom.18 flash.09, flash.10* If the MAME files do not exceed 4 MB after padding each to 2 MB with 0xff, then flash.10 is not necessary.
gfx rom.19, rom.20 flash.11, flash.12* If the MAME files do not exceed 4 MB after padding each to 2 MB with 0xff, then flash.12 is not necessary.

The gfx files are read in pairs and operations are performed on them pairwise. If a single gfx file is 8 MB in size, it is split into two and the next file is processed. At least I'm pretty sure that's how it works and that's how I implemented it, so fingers crossed.

darkmrsoft's People

Contributors

mbdesu avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.