{"id":26052554,"url":"https://github.com/qalle2/nes-quantum-disassembly","last_synced_at":"2025-04-10T23:25:40.916Z","repository":{"id":171908772,"uuid":"167175189","full_name":"qalle2/nes-quantum-disassembly","owner":"qalle2","description":"Quantum Disco Brothers disassembly","archived":false,"fork":false,"pushed_at":"2023-10-05T01:28:10.000Z","size":764,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T20:12:45.162Z","etag":null,"topics":["6502","assembly","demoscene","disassembly","nes"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qalle2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-23T11:54:44.000Z","updated_at":"2023-01-03T10:41:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"e53d1696-7100-4c25-bdcc-dc68efa16b63","html_url":"https://github.com/qalle2/nes-quantum-disassembly","commit_stats":null,"previous_names":["qalle2/nes-quantum-disassembly"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fnes-quantum-disassembly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fnes-quantum-disassembly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fnes-quantum-disassembly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qalle2%2Fnes-quantum-disassembly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qalle2","download_url":"https://codeload.github.com/qalle2/nes-quantum-disassembly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248313741,"owners_count":21082906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["6502","assembly","demoscene","disassembly","nes"],"created_at":"2025-03-08T06:41:00.555Z","updated_at":"2025-04-10T23:25:40.896Z","avatar_url":"https://github.com/qalle2.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nes-quantum-disassembly\n\nAn unofficial disassembly of the Nintendo Entertainment System (NES) demo *Quantum Disco Brothers* by wAMMA. Assembles with [ASM6](https://github.com/qalle2/asm6/).\n\n## Table of contents\n\n* [Notes](#notes)\n* [How to get the original files](#how-to-get-the-original-files)\n* [How to assemble](#how-to-assemble)\n* [iNES ROM header info](#ines-rom-header-info)\n* [The parts of the demo](#the-parts-of-the-demo)\n* [An unused part of the demo](#an-unused-part-of-the-demo)\n* [A hidden crescent moon](#a-hidden-crescent-moon)\n* [Code/data log](#codedata-log)\n* [CHR ROM banks](#chr-rom-banks)\n* [References](#references)\n* [Software used](#software-used)\n\n## Notes\n\n* This disassembly is at an early stage.\n* I have not been involved with wAMMA or in the making of this demo.\n\n## How to get the original files\n\n1. Download the original *Quantum Disco Brothers* file from e.g. [pouet.net](https://www.pouet.net/prod.php?which=26485).\n1. If the file is compressed, extract it to get an iNES ROM file (`quantum_disco_brothers_by_wAMMA.nes`, MD5 hash `2c932e9e8ae7859517905e2539565a89`).\n1. Generate the CHR ROM data from `chr*.png` with *nes_chr_encode.py* from my [NES utilities](http://github.com/qalle2/nes-util); see `assemble.sh` for details.\n\n## How to assemble\n\n1. `asm6 quantum.asm \"quantum-reassembled_(e).nes\"` (the `(e)` in the filename tells FCEUX to start the ROM in PAL mode)\n1. Verify that the `.nes` file is identical to the original:\n  * `diff -q quantum_disco_brothers_by_wAMMA.nes \"quantum-reassembled_(e).nes\"` (on Linux)\n  * `fc /b quantum_disco_brothers_by_wAMMA.nes \"quantum-reassembled_(e).nes\"` (on Windows)\n\nNote: the Linux script `assemble.sh` is intended for my personal use. Do not run it before reading it.\n\n## iNES ROM header info\n\n* mapper: CNROM (iNES mapper number 3)\n* PRG ROM: 32 KiB (1 \u0026times; 32 KiB)\n* CHR ROM: 32 KiB (4 \u0026times; 8 KiB)\n* name table mirroring: horizontal\n* no trainer\n* no save RAM\n\n## The parts of the demo\n\n* Screenshots from FCEUX in PAL mode.\n* Frame numbers: FCEUX's Frame Display in PAL mode.\n* The internal part numbers are at RAM address `0x0001`.\n\n![](parts/01.png)\n1st part (internally part 0, starts at frame ~6): \"GREETINGS! WE COME FROM...\"; uses CHR bank 0\n\n![](parts/02.png)\n2nd part (internally part 2, starts at frame 1156): \"wAMMA - QUANTUM DISCO BROTHERS\"; uses CHR bank 0\n\n![](parts/03.png)\n3rd part (internally part 11, starts at frame 1923): red\u0026purple gradients; uses CHR bank 1\n\n![](parts/04.png)\n4th part (internally part 1, starts at frame 2690): horizontal color bars; uses CHR bank 1\n\n![](parts/05.png)\n5th part (internally part 4, starts at frame 3458): a woman; uses CHR bank 3\n\n![](parts/06.png)\n6th part (internally part 5, starts at frame 4481): \"IT IS FRIDAY...\"; uses CHR bank 0\n\n![](parts/07.png)\n7th part (internally part 7, starts at frame 6362): Coca Cola cans; uses CHR bank 2\n\n![](parts/08.png)\n8th part (internally part 6, starts at frame 7304): Bowser's spaceship; uses CHR bank 2\n\n![](parts/09.png)\n9th part (internally part 3, starts at frame 8071): credits; uses CHR bank 1\n\n![](parts/10.png)\n10th part (internally part 10, starts at frame 9692): a checkered wavy animation; uses CHR bank 1\n\n![](parts/11.png)\n11th part (internally part 12, starts at frame 10380): \"GREETS TO ALL NINTENDAWGS\"; uses CHR bank 2\n\n![](parts/12.png)\n12th part (internally part 13, starts at frame 11298): \"GAME OVER - CONTINUE?\"; uses CHR bank 2\n\n![](parts/13.png)\n13th part (internally part 9, starts at frame 14018): more horizontal color bars; uses CHR bank 2\n\nThe demo should probably end at this point, as on [this YouTube video](https://www.youtube.com/watch?v=hhoa_K75BKI).\nHowever, on FCEUX, it starts to glitch from frame ~17603 on.\nI omitted the glitchy part from the code/data log file.\n\n## An unused part of the demo\n\nThere is an unused ninja-themed sequence in the demo.\nIt was probably meant to be used in place of the 6th part of the demo which displays the same text.\n\n![](parts/hidden-ninja.png)\n\nThe relevant subroutines are `$ec99` and `$ed4b` (labels `init_ninja` and `anim_ninja` in my disassembly).\nTo see the hidden sequence (although glitched) in place of the second part of the demo,\nreplace `jsr init_title` and `jsr anim_title` with calls to those subroutines or use Game Genie codes `OPPYKX + KTPYSX + LGPYNX + STPNEX`.\n\n## A hidden crescent moon\n\nIn the Bowser's spaceship part, you can make another smaller crescent moon appear with Game Genie code `YILVEY`:\n\n![](parts/08-hidden-moon.png)\n\n## Code/data log\n\nI created a code/data log file (`.cdl`) of the ROM using the Code/Data Logger in FCEUX.\nThe file is in `quantum.cdl.gz` (gz compressed).\n\nI also converted the CDL file into a human-readable format using my [cdl-summary](http://github.com/qalle2/cdl-summary):\n* `python3 cdl_summary.py --prg-size 32 --part p --bank-size 32 quantum.cdl \u003e cdl-summary-raw-prg.csv`\n* `python3 cdl_summary.py --prg-size 32 --part c --bank-size 8 quantum.cdl \u003e cdl-summary-raw-chr.csv`\n\n### PRG ROM\n\nBelow is the manually-edited PRG CDL data. Columns: CPU start address in hexadecimal, length in hexadecimal, description.\n\n```\n8000 (  34): unaccessed\n8034 ( 123): code\n8157 (   2): unaccessed\n8159 (   4): code\n815d (   2): unaccessed\n815f (  6c): code\n81cb (   2): unaccessed\n81cd (  6e): code\n823b (   d): unaccessed\n8248 (  22): code\n826a (   d): unaccessed\n8277 (  10): code\n8287 (   2): unaccessed\n8289 (   6): code\n828f (  42): unaccessed\n82d1 (  bd): code\n838e (  25): unaccessed\n83b3 (  61): code\n8414 (   3): unaccessed\n8417 (  1c): code\n8433 (   3): unaccessed\n8436 (  42): code\n8478 (   3): unaccessed\n847b (  1a): code\n8495 (   1): unaccessed\n8496 (  62): code\n84f8 (  15): unaccessed\n850d (  41): code\n854e (   d): unaccessed\n855b (   3): code\n855e (  53): unaccessed\n85b1 (  7c): code\n862d (  25): unaccessed\n8652 (  2f): code\n8681 (  21): unaccessed\n86a2 (  f6): code\n8798 (   2): unaccessed\n879a ( 16c): code\n8906 (  1b): unaccessed\n8921 (   4): code\n8925 (   b): unaccessed\n8930 (   3): code\n8933 (   1): unaccessed\n8934 (   5): code\n8939 (   2): unaccessed\n893b (   f): code\n\n894a (  11): unaccessed\n895b (  10): data\n896b (   1): unaccessed\n896c (   8): data\n8974 (   1): unaccessed\n8975 (   7): data\n897c (   1): unaccessed\n897d (   9): data\n8986 (   1): unaccessed\n8987 (   1): data\n8988 (   f): unaccessed\n8997 (   1): data\n8998 (   f): unaccessed\n89a7 (   1): data\n89a8 (   f): unaccessed\n89b7 (   1): data\n89b8 (   f): unaccessed\n89c7 (   1): data\n89c8 (   f): unaccessed\n89d7 (   1): data\n89d8 (   f): unaccessed\n89e7 (   1): data\n89e8 (   f): unaccessed\n89f7 (   1): data\n89f8 (   f): unaccessed\n8a07 (   1): data\n8a08 (   f): unaccessed\n8a17 (   1): data\n8a18 (   1): unaccessed\n8a19 (   1): data\n8a1a (   d): unaccessed\n8a27 (   1): data\n8a28 (   f): unaccessed\n8a37 (   1): data\n8a38 (   f): unaccessed\n8a47 (   1): data\n8a48 (   f): unaccessed\n8a57 (   1): data\n8a58 (   e): unaccessed\n8a66 (   2): data\n8a68 (   f): unaccessed\n8a77 (   1): data\n8a78 (  11): unaccessed\n8a89 (   1): data\n8a8a (   2): unaccessed\n8a8c (   2): data\n8a8e (   2): unaccessed\n8a90 (   3): data\n8a93 (   1): unaccessed\n8a94 (   4): data\n8a98 (   1): unaccessed\n8a99 (   d): data\n8aa6 (   1): unaccessed\n8aa7 (   2): data\n8aa9 (   1): unaccessed\n8aaa (   1): data\n8aab (   1): unaccessed\n8aac (   b): data\n8ab7 (   1): unaccessed\n8ab8 (   6): data\n8abe (   1): unaccessed\n8abf (   4): data\n8ac3 (   1): unaccessed\n8ac4 (   1): data\n8ac5 (   2): unaccessed\n8ac7 (   1): data\n8ac8 (  21): unaccessed\n8ae9 (   1): data\n8aea (   2): unaccessed\n8aec (   2): data\n8aee (   2): unaccessed\n8af0 (   3): data\n8af3 (   1): unaccessed\n8af4 (   4): data\n8af8 (   1): unaccessed\n8af9 (   d): data\n8b06 (   1): unaccessed\n8b07 (   2): data\n8b09 (   1): unaccessed\n8b0a (   1): data\n8b0b (   1): unaccessed\n8b0c (   b): data\n8b17 (   1): unaccessed\n8b18 (   6): data\n8b1e (   1): unaccessed\n8b1f (   4): data\n8b23 (   1): unaccessed\n8b24 (   1): data\n8b25 (   2): unaccessed\n8b27 (   1): data\n8b28 (  1e): unaccessed\n8b46 (   2): data\n8b48 (  23): unaccessed\n8b6b (   2): data (indirectly accessed)\n8b6d (   2): unaccessed\n8b6f (   6): data (indirectly accessed)\n8b75 (   3): unaccessed\n8b78 (  38): data (indirectly accessed)\n8bb0 (   8): unaccessed\n8bb8 (  30): data (indirectly accessed)\n8be8 (  10): unaccessed\n8bf8 (   3): data (indirectly accessed)\n8bfb (   1): unaccessed\n8bfc (   3): data (indirectly accessed)\n8bff (   1): unaccessed\n8c00 (   3): data (indirectly accessed)\n8c03 (   1): unaccessed\n8c04 (   3): data (indirectly accessed)\n8c07 (   1): unaccessed\n8c08 (   3): data (indirectly accessed)\n8c0b (   1): unaccessed\n8c0c (   3): data (indirectly accessed)\n8c0f (   1): unaccessed\n8c10 (   3): data (indirectly accessed)\n8c13 (   1): unaccessed\n8c14 (   3): data (indirectly accessed)\n8c17 (   1): unaccessed\n8c18 (   3): data (indirectly accessed)\n8c1b (   1): unaccessed\n8c1c (   3): data (indirectly accessed)\n8c1f (   1): unaccessed\n8c20 (   3): data (indirectly accessed)\n8c23 (   1): unaccessed\n8c24 (   3): data (indirectly accessed)\n8c27 (   1): unaccessed\n8c28 (   3): data (indirectly accessed)\n8c2b (   1): unaccessed\n8c2c (   3): data (indirectly accessed)\n8c2f (   1): unaccessed\n8c30 (   3): data (indirectly accessed)\n8c33 (   1): unaccessed\n8c34 (   3): data (indirectly accessed)\n8c37 (   1): unaccessed\n8c38 (   3): data (indirectly accessed)\n8c3b (   1): unaccessed\n8c3c (   3): data (indirectly accessed)\n8c3f (   1): unaccessed\n8c40 (   3): data (indirectly accessed)\n8c43 (   1): unaccessed\n8c44 (   3): data (indirectly accessed)\n8c47 (   1): unaccessed\n8c48 (   3): data (indirectly accessed)\n8c4b (   1): unaccessed\n8c4c (   3): data (indirectly accessed)\n8c4f (   1): unaccessed\n8c50 (   3): data (indirectly accessed)\n8c53 (   1): unaccessed\n8c54 (   3): data (indirectly accessed)\n8c57 (   1): unaccessed\n8c58 (   3): data (indirectly accessed)\n8c5b (   1): unaccessed\n8c5c (   3): data (indirectly accessed)\n8c5f (   1): unaccessed\n8c60 (   3): data (indirectly accessed)\n8c63 (   1): unaccessed\n8c64 (   3): data (indirectly accessed)\n8c67 (   1): unaccessed\n8c68 (   3): data (indirectly accessed)\n8c6b (   1): unaccessed\n8c6c (   3): data (indirectly accessed)\n8c6f (   1): unaccessed\n8c70 (   3): data (indirectly accessed)\n8c73 (   1): unaccessed\n8c74 (   3): data (indirectly accessed)\n8c77 (   1): unaccessed\n8c78 (   3): data (indirectly accessed)\n8c7b (   1): unaccessed\n8c7c (   3): data (indirectly accessed)\n8c7f (   1): unaccessed\n8c80 (   3): data (indirectly accessed)\n8c83 (   1): unaccessed\n8c84 (   3): data (indirectly accessed)\n8c87 (   1): unaccessed\n8c88 (   3): data (indirectly accessed)\n8c8b (   1): unaccessed\n8c8c (   3): data (indirectly accessed)\n8c8f (   1): unaccessed\n8c90 (   3): data (indirectly accessed)\n8c93 (   1): unaccessed\n8c94 (   3): data (indirectly accessed)\n8c97 (   1): unaccessed\n8c98 (   3): data (indirectly accessed)\n8c9b (   1): unaccessed\n8c9c (   3): data (indirectly accessed)\n8c9f (   1): unaccessed\n8ca0 (   3): data (indirectly accessed)\n8ca3 (   1): unaccessed\n8ca4 (   3): data (indirectly accessed)\n8ca7 (   1): unaccessed\n8ca8 (   3): data (indirectly accessed)\n8cab (   1): unaccessed\n8cac (   3): data (indirectly accessed)\n8caf (   1): unaccessed\n8cb0 (   3): data (indirectly accessed)\n8cb3 (   1): unaccessed\n8cb4 (   3): data (indirectly accessed)\n8cb7 (   1): unaccessed\n8cb8 (   3): data (indirectly accessed)\n8cbb (   1): unaccessed\n8cbc (   3): data (indirectly accessed)\n8cbf (   1): unaccessed\n8cc0 (   3): data (indirectly accessed)\n8cc3 (   1): unaccessed\n8cc4 (   3): data (indirectly accessed)\n8cc7 (   1): unaccessed\n8cc8 (   3): data (indirectly accessed)\n8ccb (   1): unaccessed\n8ccc (   3): data (indirectly accessed)\n8ccf (   1): unaccessed\n8cd0 (   3): data (indirectly accessed)\n8cd3 (   1): unaccessed\n8cd4 (   3): data (indirectly accessed)\n8cd7 (   1): unaccessed\n8cd8 (   3): data (indirectly accessed)\n8cdb (   1): unaccessed\n8cdc (   3): data (indirectly accessed)\n8cdf (   1): unaccessed\n8ce0 (   3): data (indirectly accessed)\n8ce3 (   5): unaccessed\n8ce8 (   2): data (indirectly accessed)\n8cea (   2): unaccessed\n8cec (  38): data (indirectly accessed)\n8d24 (   8): unaccessed\n8d2c (   8): data (indirectly accessed)\n8d34 (   2): unaccessed\n8d36 (  3c): data (indirectly accessed)\n8d72 (   2): unaccessed\n8d74 (  4c): data (indirectly accessed)\n8dc0 (  53): unaccessed\n8e13 (127a): data (indirectly accessed)\na08d (1f73): unaccessed\n\nc000 (  a8): code\n\nc0a8 (   e): data\nc0b6 (   2): unaccessed\nc0b8 (  70): data (indirectly accessed)\nc128 (  10): unaccessed\nc138 ( 116): data\nc24e (   6): unaccessed\nc254 (  20): data\nc274 (   c): unaccessed\nc280 ( fa1): data (PCM audio)\nd221 (   4): unaccessed\nd225 ( 2e9): data\nd50e (   2): unaccessed\nd510 (   5): data\nd515 (   1): unaccessed\nd516 (   4): data\nd51a (   1): unaccessed\nd51b (   1): data\nd51c (   3): unaccessed\nd51f (   1): data\nd520 (   2): unaccessed\nd522 (   2): data\nd524 (   c): unaccessed\nd530 ( 50d): data\nda3d (  48): unaccessed\nda85 (  65): data\ndaea (  31): unaccessed\ndb1b (   d): data\ndb28 (   2): unaccessed\ndb2a (  78): data\ndba2 (   f): unaccessed\ndbb1 (   4): data\ndbb5 (  1a): unaccessed\ndbcf (  4d): data\ndc1c (   5): unaccessed\ndc21 (   b): data\ndc2c (   5): unaccessed\ndc31 (   b): data\ndc3c (   5): unaccessed\ndc41 (   b): data\ndc4c (   6): unaccessed\ndc52 (  40): data\ndc92 (   4): unaccessed\n\ndc96 (  14): code\ndcaa (  25): unaccessed\ndccf (  53): code\ndd22 (  2d): unaccessed\ndd4f ( 251): code\ndfa0 (   1): code, data\ndfa1 (  72): code\ne013 (   3): unaccessed\ne016 (  bd): code\ne0d3 (  d2): unaccessed\ne1a5 (  b8): code\ne25d (   1): code, data\ne25e ( 214): code\ne472 (   1): code, data\ne473 ( 164): code\ne5d7 (   1): code, data\ne5d8 ( 4a7): code\nea7f (   1): code, data\nea80 ( 1c7): code\nec47 (   1): code, data\nec48 (  51): code\nec99 ( 262): unaccessed\neefb ( 195): code\nf090 (   1): code, data\nf091 (  80): code\nf111 (   5): unaccessed\nf116 ( 176): code\nf28c (   1): code, data\nf28d ( 1be): code\nf44b (   1): code, data\nf44c (  ad): code\nf4f9 (   b): unaccessed\nf504 ( 17c): code\nf680 (   1): code, data\nf681 ( 14f): code\nf7d0 (  2d): unaccessed\nf7fd ( 183): code\nf980 (   3): unaccessed\nf983 (  30): code\nf9b3 (   4): unaccessed\nf9b7 ( 17e): code\nfb35 (   8): unaccessed\nfb3d (  e9): code\nfc26 ( 3d4): unaccessed\n\nfffa (   4): data (NMI and reset vectors)\nfffe (   2): unaccessed (IRQ vector)\n```\n\n### CHR ROM\n\nNo CHR data was read programmatically via `$2007`. See also the chapter \"CHR ROM banks\" below.\n\n## CHR ROM banks\n\nSee also the chapter \"Code/data log\" above.\n\n### Bank 0\n\n![](chr0.png)\nUsed by the 1st, 2nd and 6th part of the demo.\n\n![](unused/cat.png)\nAn unused cat in the first half. Colored by me.\n\nSome digits, letters and duplicates of stars are also unused.\n\n### Bank 1\n\n![](chr1.png)\nUsed by the 3rd, 4th, 9th and 10th part of the demo.\n\nNo interesting unused tiles.\n\n### Bank 2\n\n![](chr2.png)\nUsed by the 7th, 8th, 11th, 12th and 13th part of the demo.\n\n![](unused/ninja.png)\nThree unused ninja animation frames in the first half. Colored by me. See \"an unused part of the demo\" above.\n\n![](unused/ninja-anim.gif)\nSame as above but animated by me at 5 fps in order 1, 2, 3, 2.\n\n![](unused/moon.png)\nAn unused small crescent moon in the first half. See \"a hidden crescent moon\" above.\n\n![](unused/asteroids.png)\nUnused big asteroids (fireballs?) in the first half. Here, colored the same as the small asteroids/fireballs used in the 8th part of the demo.\n\n![](unused/eyes.png)\nUnused eyes of a ninja in the second half. Colored by me. See \"an unused part of the demo\" above.\n\n### Bank 3\n\n![](chr3.png)\nUsed by the 5th part of the demo.\n\nNo interesting unused tiles.\n\n## References\n\n* [NESDev Wiki](http://wiki.nesdev.com):\n  * [APU registers](http://wiki.nesdev.com/w/index.php/APU_registers)\n  * [CNROM](http://wiki.nesdev.com/w/index.php/CNROM)\n  * [iNES](http://wiki.nesdev.com/w/index.php/INES) file format\n  * [PPU registers](http://wiki.nesdev.com/w/index.php/PPU_registers)\n* [a 6502 instruction reference](http://www.obelisk.me.uk/6502/reference.html)\n\n## Software used\n\n* FCEUX (Code/Data Logger etc.)\n* HxD (hex editor)\n* my [cdl-summary](http://github.com/qalle2/cdl-summary)\n* my [NES utilities](http://github.com/qalle2/nes-util)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqalle2%2Fnes-quantum-disassembly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqalle2%2Fnes-quantum-disassembly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqalle2%2Fnes-quantum-disassembly/lists"}