onerom-wasm 0.1.8

One ROM Supporting Tooling Web Assembly Implementation
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>One ROM WASM Library</title>
    <link rel="stylesheet" href="https://onerom.org/style.css">
    <link rel="stylesheet" href="style.css">
    <link rel="icon" type="image/png" href="https://onerom.org/images/favicon.png">

    <!-- SEO title & description -->
    <title>One ROM WASM Library</title>
    <meta name="description" content="Supporting Web Assembly Implementation for One ROM - The Most Flexible Retro ROM Replacement">
    <link rel="canonical" href="https://wasm.onerom.org/" />

    <!-- Open Graph for social media -->
    <meta property="og:url" content="https://wasm.onerom.org/">
    <meta property="og:type" content="website">
    <meta property="og:title" content="One ROM WASM Library">
    <meta property="og:description" content="Supporting Web Assembly Implementation for One ROM - The Most Flexible Retro ROM Replacement">
    <meta property="og:image" content="https://onerom.org/images/one-rom/one%20rom%20image%20social.png">

    <!-- Twitter Meta Tags -->
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:url" content="https://wasm.onerom.org/">
    <meta name="twitter:title" content="One ROM WASM Library">
    <meta name="twitter:description" content="Supporting Web Assembly Implementation for One ROM - The Most Flexible Retro ROM Replacement">
    <meta name="twitter:image" content="https://onerom.org/images/one-rom/one%20rom%20image%20social.png">
</head>
<body>
    <div class="app">
        <div style="display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 0rem; border-bottom: 1px solid var(--border-color);">
            <h1 style="margin-bottom: 0; border-bottom: none;">One R<span class="o-in-rom">O</span>M WASM Library</h1>
            <div style="display: flex; gap: 1rem;">
                <a href="https://onerom.org/" class="gold-button" target="_blank"><span class="michroma">Main Website</span></a>
            </div>
        </div>

        <details open>
            <summary>About</summary>
            <p>
                This site hosts One ROM Web Assembly library, which can be used to:
                <ul>
                    <li>Retrieve properties of generic ROMs, including 23-series mask programmed and 27-series EPROMs</li>
                    <li>Parse One ROM firmware .bin files</li>
                    <li>Parse One ROM firmware read from flash</li>
                    <li>Retrieve information about One ROM hardware versions and supported MCUs</li>
                    <li>Generate One ROM firmware metadata and ROM image files (coming soon)</li>
                </ul>
            </p>

            <hr style="margin-bottom: 1rem;">

            <h3>Project Information</h3>
            <div class="info">
                <p>
                    <strong>Source Code</strong> <a href="https://github.com/piersfinlayson/one-rom-wasm" target="_blank">GitHub</a>
                </p>
                <p>
                    <strong>Licence</strong> <a href="LICENSE.md" target="_blank">MIT</a>
                </p>
                <p>
                    <strong>Author</strong> <a href="https://piers.rocks/" target="_blank">Piers Finlayson</a>
                </p>
                <p>
                    <strong>Release Files</strong><a href="releases/" target="_blank">releases/</a>
                </p>
            </div>

            <hr style="margin-bottom: 1rem;">

            <div class="info">
                <h3>This Version</h3>
                <p>
                    <strong>Version</strong> <span id="version"></span>
                </p>
                <p>
                    <strong>API Docs</strong><a href="docs/" target="_blank">docs/</a>
                </p>
                <p>
                    <strong>Package Files</strong> <a href="pkg/" target="_blank">pkg/</a>
                </p>
            </div>

            <hr style="margin-bottom: 1rem;">

            <div class="info">
                <h3>Functionality and Examples</h3>
                <p>
                    The remainder of this page demonstrates some of the functionality of the library.  See the page source for the code.
                </p>
            </div>
        </details>

        <hr>

        <details>
            <summary>One ROM Visualizer</summary>
            <p>
                <a href="https://onerom.org/visualizer/" target="_blank" style="margin-bottom: 1em; display: inline-block;">Opens in a new window</a>
            </p>
        </details>

        <hr>

        <details>
            <summary>ROM Types</summary>
            <div class="info">
                <table>
                    <thead>
                        <tr>
                            <th>Type</th>
                            <th>Size (bytes)</th>
                            <th>Pins</th>
                            <th>Address Lines</th>
                            <th>Control Lines</th>
                        </tr>
                    </thead>
                    <tbody id="romTable"></tbody>
                </table>
                <p style="font-size: 0.9em; margin-top: 0.5em;">* = configurable polarity</p>
            </div>
        </details>

        <hr>

        <details>
            <summary>One ROM Hardware Versions</summary>
            <div class="info">
                <table>
                    <thead>
                        <tr>
                            <th>Board</th>
                            <th>Description</th>
                            <th>MCU Family</th>
                            <th>ROM Pins</th>
                            <th>Address Lines</th>
                            <th>Data Lines</th>
                            <th>SEL Lines</th>
                            <th>Features</th>
                        </tr>
                    </thead>
                    <tbody id="boardTable"></tbody>
                </table>
            </div>
        </details>

        <hr>

        <details>
            <summary>Supported MCUs</summary>
            <div class="info">
                <table>
                    <thead>
                        <tr>
                            <th>Variant</th>
                            <th>Family</th>
                            <th>Flash (KB)</th>
                            <th>RAM (KB)</th>
                            <th>Max Clock (MHz)</th>
                            <th>Features</th>
                        </tr>
                    </thead>
                    <tbody id="mcuTable"></tbody>
                </table>
            </div>
        </details>

        <hr>

        <details>
            <summary>Firmware Parsing</summary>
            <p>Select a One ROM firmware file and click Parse Firmware</p>
            <div class="controls">
                <div>
                    <label>Firmware File: <input type="file" id="fileInput" accept=".bin,.elf"></label>
                </div>
                <div>
                    <button class="gold-button" id="parseBtn">Parse Firmware</button>
                </div>
            </div>
            <div class="firmware-details" id="output"></div>
        </details>

        <div id="footer"></div>
        <script src="js/footer.js" type="module"></script>
    </div>

    <script type="module" src="js/config.js"></script>
</body>

<script data-goatcounter="https://onerom-wasm.analytics.piers.rocks/count" async src="//onerom-wasm.analytics.piers.rocks/count.js"></script>

</html>