diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml new file mode 100644 index 0000000000..4aa7c2806e --- /dev/null +++ b/.github/workflows/merge.yml @@ -0,0 +1,176 @@ +name: Merge + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Merge + shell: bash + run: | + # Git config + git config core.autocrlf false + git config core.ignorecase false + git config core.fscache true + git config diff.renameLimit 0 + git config status.renameLimit 0 + git config merge.renameLimit 0 + git config http.postBuffer 1048576000 + git config pack.threads 1 + git config index.threads 0 + + # Fetch latest commits + git remote add dolphin-emu https://github.com/dolphin-emu/dolphin.git + git fetch --all + git reset --hard --recurse-submodule dolphin-emu/master + git clean -dffx + git submodule foreach git clean -dffx + + # Who made the last commit and when? + export latest_committer_date="$(git log -1 --format=%cD)" + export latest_author_date="$(git log -1 --format=%aD)" + export latest_commit="$(git log -1 --format=%H)" + + # Lets create our latest change in history first + git reset --hard 5f0c892ed0c280eb7fd56e9e2789b41b4ae8ee5a + git clean -dffx + export later_committer_date="$(git log -1 --format=%cD)" + export later_author_date="$(git log -1 --format=%aD)" + export later_author_email="$(git log -1 --format=%ae)" + export later_author_name="$(git log -1 --format=%an)" + export later_committer_email="$(git log -1 --format=%ce)" + export later_committer_name="$(git log -1 --format=%cn)" + export GIT_COMMITTER_DATE="$later_committer_date" + export GIT_AUTHOR_DATE="$later_author_date" + git -c user.name="$later_author_name" -c user.email="$later_author_email" revert --no-edit 5f0c892ed0c280eb7fd56e9e2789b41b4ae8ee5a + git -c user.name="$later_committer_name" -c user.email="$later_committer_email" commit --amend -m'Revert "Remove outdated documentation files" + + This reverts commit 5f0c892ed0c280eb7fd56e9e2789b41b4ae8ee5a.' + export later_revert_commit="$(git log -1 --format=%H)" + + # Create our second and earliest change in history + git reset --hard e81dd53b7ebc5e6dc12c714f749ab5ed457624df + git clean -dffx + export earlier_committer_date="$(git log -1 --format=%cD)" + export earlier_author_date="$(git log -1 --format=%aD)" + export earlier_author_email="$(git log -1 --format=%ae)" + export earlier_author_name="$(git log -1 --format=%an)" + export earlier_committer_email="$(git log -1 --format=%ce)" + export earlier_committer_name="$(git log -1 --format=%cn)" + export GIT_COMMITTER_DATE="$earlier_committer_date" + export GIT_AUTHOR_DATE="$earlier_author_date" + git -c user.name="$earlier_author_name" -c user.email="$earlier_author_email" revert --no-edit e81dd53b7ebc5e6dc12c714f749ab5ed457624df + git -c user.name="$earlier_committer_name" -c user.email="$earlier_committer_email" commit --amend -m'Revert "Remove an obsolete documentation file" + + This reverts commit e81dd53b7ebc5e6dc12c714f749ab5ed457624df.' + export earlier_revert_commit="$(git log -1 --format=%H)" + + # Move to the earliest point in history before we change it + git reset --hard 0c86634101fcb0de847c9b9d381486ed54383cc2 + git clean -dffx + + # Merge our second and earliest change in history + git -c user.name="$earlier_committer_name" -c user.email="$earlier_committer_email" merge --no-ff --no-edit $earlier_revert_commit + if [ "$(git log -1 --format=%H)" = "0c86634101fcb0de847c9b9d381486ed54383cc2" ]; then + exit 1 + fi + git -c user.name="$earlier_committer_name" -c user.email="$earlier_committer_email" commit --amend -m"Merge branch 'master' of https://code.google.com/p/dolphin-emu" + + # Merge up until our later change in history + export up_until_later_committer_date="$(git log -1 --format=%cD ca23318089a9bdcd9a7af93667dc30b1c73dc0e8)" + export up_until_later_author_date="$(git log -1 --format=%aD ca23318089a9bdcd9a7af93667dc30b1c73dc0e8)" + export up_until_later_author_email="$(git log -1 --format=%ae ca23318089a9bdcd9a7af93667dc30b1c73dc0e8)" + export up_until_later_author_name="$(git log -1 --format=%an ca23318089a9bdcd9a7af93667dc30b1c73dc0e8)" + export up_until_later_committer_email="$(git log -1 --format=%ce ca23318089a9bdcd9a7af93667dc30b1c73dc0e8)" + export up_until_later_committer_name="$(git log -1 --format=%cn ca23318089a9bdcd9a7af93667dc30b1c73dc0e8)" + export GIT_COMMITTER_DATE="$up_until_later_committer_date" + export GIT_AUTHOR_DATE="$up_until_later_author_date" + export current_point_in_history="$(git log -1 --format=%H)" + git -c user.name="$up_until_later_committer_name" -c user.email="$up_until_later_committer_email" merge --no-ff --no-edit ca23318089a9bdcd9a7af93667dc30b1c73dc0e8 + if [ "$(git log -1 --format=%H)" = "$current_point_in_history" ]; then + exit 1 + fi + git -c user.name="$up_until_later_committer_name" -c user.email="$up_until_later_committer_email" commit --amend -m"Merge branch 'master' of https://code.google.com/p/dolphin-emu" + + # Merge our later change in history + export GIT_COMMITTER_DATE="$later_committer_date" + export GIT_AUTHOR_DATE="$later_author_date" + export current_point_in_history="$(git log -1 --format=%H)" + git -c user.name="$later_committer_name" -c user.email="$later_committer_email" merge --no-ff --no-edit $later_revert_commit + if [ "$(git log -1 --format=%H)" = "$current_point_in_history" ]; then + exit 1 + fi + git -c user.name="$later_committer_name" -c user.email="$later_committer_email" commit --amend -m"Merge branch 'master' of https://code.google.com/p/dolphin-emu" + export changed_files_merge="$(git log -1 --format=%H)" + + # Move back to the earliest point in history before we change it again + git reset --hard 0c86634101fcb0de847c9b9d381486ed54383cc2 + git clean -dffx + + # Merge the changed history + git -c user.name="$up_until_later_committer_name" -c user.email="$up_until_later_committer_email" merge --no-ff --no-edit $changed_files_merge + if [ "$(git log -1 --format=%H)" = "0c86634101fcb0de847c9b9d381486ed54383cc2" ]; then + exit 1 + fi + git -c user.name="$up_until_later_committer_name" -c user.email="$up_until_later_committer_email" commit --amend -m"Merge branch 'master' of https://code.google.com/p/dolphin-emu" + # Save the resulting merge + export changed_history_merge="$(git log -1 --format=%H)" + + # Move back to the earliest point in history before we change it again + git reset --hard 0c86634101fcb0de847c9b9d381486ed54383cc2 + git clean -dffx + + # Merge the changed history merge + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" merge --no-ff --no-edit $changed_history_merge + if [ "$(git log -1 --format=%H)" = "0c86634101fcb0de847c9b9d381486ed54383cc2" ]; then + exit 1 + fi + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" commit --amend -m"Merge branch 'master' of https://github.com/dolphin-emu/dolphin" + # Save the resulting merge + export new_history_merge="$(git log -1 --format=%H)" + + # Merge 5.0 + export major_version_committer_date="$(git log -1 --format=%cD ac267a29405ae768037a8774b84b805a4180d1af)" + export major_version_author_date="$(git log -1 --format=%aD ac267a29405ae768037a8774b84b805a4180d1af)" + export GIT_COMMITTER_DATE="$major_version_committer_date" + export GIT_AUTHOR_DATE="$major_version_author_date" + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" merge --no-ff --no-edit ac267a29405ae768037a8774b84b805a4180d1af + if [ "$(git log -1 --format=%H)" = $new_history_merge ]; then + exit 1 + fi + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" commit --amend -m"Merge branch 'master' of https://github.com/dolphin-emu/dolphin" + # Save the resulting merge + export new_history_merge="$(git log -1 --format=%H)" + + # GitHub Actions + git checkout origin/master -- .github/workflows/merge.yml + git add .github/workflows/merge.yml + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" commit -m"GitHub Actions" + + # Merge the rest of the history so we're up-to-date + export GIT_COMMITTER_DATE="$latest_committer_date" + export GIT_AUTHOR_DATE="$latest_author_date" + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" merge --no-ff --no-edit $latest_commit + if [ "$(git log -1 --format=%H)" = $new_history_merge ]; then + exit 1 + fi + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" commit --amend -m"Merge branch 'master' of https://github.com/dolphin-emu/dolphin" + + # Update WiiTDBs + bash Tools/update-wiitdb.sh + + # Remove timestamps + sed -i '1d' Data/Sys/wiitdb-*.txt + + # Commit WiiTDBs + git add Data/Sys/wiitdb-*.txt + git -c user.name="8" -c user.email="ElGHT@users.noreply.github.com" commit -m"Update WiiTDBs" + - uses: ad-m/github-push-action@master + with: + branch: "refs/heads/master" + force: true + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/Data/Sys/wiitdb-de.txt b/Data/Sys/wiitdb-de.txt index 2fa716b3e3..600f6ce9ef 100644 --- a/Data/Sys/wiitdb-de.txt +++ b/Data/Sys/wiitdb-de.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: DE_unique version: 20191106234221) R22J01 = FlingSmash R23P52 = Barbie und Die Drei Musketiere R25PWR = LEGO Harry Potter: Die Jahre 1-4 @@ -19,6 +18,7 @@ R4LXUG = Schweine Party R4PP69 = Die Sims 2: Haustiere R4ZJ01 = Fatal Frame 4: Mask of the Lunar Eclipse R55P41 = Wer wird Millionär +R59D4Q = Club Penguin: Game Day! R5AP8P = Der Goldene Kompass R5AX8P = Der Goldene Kompass R5FP41 = Academy of Champions: Fussball @@ -30,6 +30,7 @@ R5QPGT = Zirkus R5UP41 = CSI: Tödliche Absichten R5VP41 = James Cameron's Avatar: Das Spiel R5VX41 = James Cameron's Avatar: Das Spiel +R5XJ13 = MySims Agents R6APPU = Mein Baby und ich R6MPML = America´s Next Top Model R6WP68 = AMF Bowling: World Lanes @@ -107,6 +108,7 @@ RGHP52 = Guitar Hero III: Legends Of Rock RGJP7U = George Der aus dem Dschungel kam RGQE70 = Ghostbusters: Das Videospiel RGQP70 = Ghostbusters: Das Videospiel +RGZP70 = Godzilla Unle고질라 봉인 해제ashed RH5PKM = Horse Life: Freunde für immer RH6P69 = Harry Potter und der Halbblutprinz RHKP18 = Job Island @@ -123,9 +125,9 @@ RIBPKM = Igor: Das Spiel RIHP8P = Der unglaubliche Hulk RIJP69 = G.I. Joe: Geheimauftrag Cobra RIOPSU = Schauderhafte Geschichten: Skrupellose Römer -RIPPAF = One Piece Unlimited Cruise 1 - Der Schatz unter den Wellen +RIPPAF = One Piece: Unlimited Cruise 1: Der Schatz unter den Wellen RIRP8P = Iron Man: The Video Game -RIUPAF = One Piece Unlimited Cruise 2: Das Erwachen eines Helden +RIUPAF = One Piece: Unlimited Cruise 2: Das Erwachen eines Helden RJ2P52 = 007: Ein Quantum Trost RJ8P64 = Indiana Jones und der Stab der Könige RJ9PFR = Think Logic Trainer - Training für Körper und Geist @@ -169,7 +171,7 @@ ROJP52 = Rapala: Angel-Spaß ROLP8P = Mario & Sonic bei den Olympischen Winterspielen ROPP41 = Jagdfieber ROTP7J = Twin Strike: Operation Thunderstorm -ROUPAF = One Piece Unlimited Cruise 1: Der Schatz unter den Wellen +ROUPAF = One Piece: Unlimited Cruise 1: Der Schatz unter den Wellen ROVPHM = Playmobil Circus: Manege frei! ROYP41 = Wolkig Mit Aussicht Auf Fleischbällchen: Das Videospiel ROYX41 = Wolkig mit Aussicht auf Fleischbällchen @@ -301,6 +303,7 @@ S7BP69 = Trivial Pursuit: Wetten & Gewinnen S7FPGT = Zumba Kids: Die ultimate Zumba tanz-party S7SP41 = Die Schlümpfe Party Pack SA3P5G = Alvin und Die Chipmunks 3: Chip Brunch +SA3XGT = Alvin und Die Chipmunks 3: Chip Brunch SALP4Q = Alice Im Wunderland SAOP78 = Monster High: Monsterkrasse Highschool-Klasse! SAOXVZ = Monster High: Monsterkrasse Highschool-Klasse! @@ -397,7 +400,6 @@ SSCFWR = Scene It? Ganz großes Kino! SSCIWR = Scene It? Ganz großes Kino! SSCPWR = Scene It? Ganz großes Kino! SSCSWR = Scene It? Ganz großes Kino! -SSEDNG = We Sing Vol. 2 SSEPNG = We Sing Vol. 2 SSHPHH = Sherlock Holmes: Das Geheimnis des silbernen Ohrrings ST5P52 = Transformers: Mission auf Cybertron @@ -414,6 +416,7 @@ SV3PAF = Madagascar 3: Flucht durch Europa SV7PVZ = Die Pinguine aus Madagascar SVDP52 = Spongebob Schwammkopf: Planktons Fiese Robo-Rache SVMP01 = Super Mario All-Stars: 25 Jahre Jubiläumsedition +SVQEVZ = Barbie und ihre Schwestern: Die Rettung der Welpen SVQPVZ = Barbie und ihre Schwestern: Die Rettung der Welpen SVVPAF = Die Croods: Steinzeit Party! SW3PKM = Eurosport Winter Stars @@ -477,6 +480,7 @@ HAGE = Nachrichtenkanal HAGP = Nachrichtenkanal HAPP = Mii-Wettbewerbskanal HAYA = Fotokanal +G2FD78 = Tak 2: Der Stab der Träume G3AD69 = Der Herr der Ringe: Das dritte Zeitalter G3DX6L = Carmen Sandiego: Das Geheimnis der gestohlenen Trommeln G3MP41 = Der Anschlag @@ -488,27 +492,27 @@ G6FD69 = FIFA Fussball-Weltmeisterschaft 2006 G8MP01 = Paper Mario: Die Legende Vom Äonentor G9TD52 = Grosse Haie: Kleine Fische GAZD69 = Harry Potter und der Gefangene von Askaban -GC3D78 = Scooby-Doo!: Fluch der Folianten -GCBP7D = Crash Bandicoot: Der Zorn Des Cortex +GC3D78 = Scooby-Doo! Fluch der Folianten +GCBP7D = Crash Bandicoot: Der Zorn des Cortex GCGP41 = 3 Engel Für Charlie: Volle Power GCIP69 = Die Sims GCQD7D = Buffy im Bann der Dämonen: Chaos Bleeds +GDIX7D = Die Hard - Stirb Langsam: Vendetta GDKPA4 = Disney´s Sports Fußball GDOP41 = Disney's Donald Duck Phantomias: Platyrhynchos Kineticus GEND69 = James Bond 007: Alles Oder Nichts GENP69 = 007: Alles Oder Nichts GF4D52 = Die Fantastischen Vier -GFAD69 = FIFA Football 2003 GFSD69 = FIFA Fussball Weltmeisterschaft 2002 -GGVD78 = Der SpongBob Schwammkopf Film +GGVD78 = SpongBob Schwammkopf: Der Film GH4D69 = Harry Potter und der Feuerkelch GH5D52 = Ab Durch Die Hecke GHBP7D = Der Hobbit GHCD4Q = Himmel und Huhn GHLY69 = Harry Potter und der Stein der Weisen -GHSY69 = Harry Potter Und Die Kammer Des Schreckens +GHSY69 = Harry Potter und die Kammer des Schreckens GHVP08 = Disney's Tricky Micky -GIAP7D = Ice Age 2 : Jetzt Taut's +GIAP7D = Ice Age 2: Jetzt Taut's GICD78 = Die Unglaublichen GIHD78 = Scooby-Doo! Nacht der 100 Schrecken GIQY78 = Die Unglaublichen: Der Angriff Des Tunnelgräbers @@ -521,8 +525,9 @@ GL5X4F = Lego Star Wars : Das Videospiel GL7P64 = LEGO Star Wars II: Die klassische Trilogie GLCD52 = Lemony Snicket: Rätselhafte Ereignisse GLHPG9 = Flutsch und weg -GLOD69 = Der Herr Der Ringe: Die Zwei Türme +GLOD69 = Der Herr der Ringe: Die zwei Türme GLVD4Q = Die Chroniken von Narnia: Der König von Narnia +GLVP4Q = Die Chroniken von Narnia: Der König von Narnia GLZD69 = 007: Liebesgrüsse aus Moskau GMNP78 = Die Monster AG : Monster Ball GNED78 = Findet Nemo @@ -533,8 +538,8 @@ GPHD52 = Pitfall: Die verlorene Expedition GPLD9G = Disney's Ferkels Grosses Abenteuer - Spiel GPQP6L = The Powerpuff Girls: Kampf den Gurkenschurken GPXP01 = Pokémon Box: Rubin & Saphir -GQ4D78 = SpongeBob Schwammkopf: Die Kreatur aus der krossen Krabbe -GQQD78 = Nickelodeon SpongeBob Schwammkopf: Film ab! +GQ4D78 = SpongeBob Schwammkopf: Die Kreatur aus der Krossen Krabbe +GQQD78 = SpongeBob Schwammkopf: Film ab! GQWX69 = Harry Potter: Quidditch - Weltmeisterschaft GR9P6L = Die Herrschaft Des Feuers GSKP7D = The Scorpion King : Aufstieg des Akkadiers diff --git a/Data/Sys/wiitdb-en.txt b/Data/Sys/wiitdb-en.txt index f59abb22af..e0327ffde9 100644 --- a/Data/Sys/wiitdb-en.txt +++ b/Data/Sys/wiitdb-en.txt @@ -1,6 +1,6 @@ -TITLES = https://www.gametdb.com (type: Wii language: EN version: 20191106224837) 091E00 = Movie-Ch Install Disc Ver. A 410E01 = Wii Backup Disc v1.31 +413E01 = DiscUpdate Disc D2AJAF = Minna de Bouken! Family Trainer (Demo) D2SE18 = Deca Sports 2 (Demo) D3DE18 = Deca Sports 3 (Demo) @@ -14,7 +14,7 @@ DBKE69 = Boom Blox (Demo) DBKP69 = Boom Blox (Demo) DCAE18 = Calling (Demo) DCHEAF = We Cheer (Demo) -DCHJAF = We Cheer: Ohasta Produce ! Gentei Collabo Game Disc +DCHJAF = We Cheer: O wa Star Produce! Gentei Collabo Game Disc DD2P41 = Just Dance 2 (Demo) DDWE18 = Lost in Shadow - Press Disc (Demo) DDWX18 = Lost In Shadow - Best Buy (Demo) @@ -42,7 +42,7 @@ R22J01 = Tataite Hazumu: Super Smash Ball Plus R22P01 = FlingSmash R23E52 = Barbie and the Three Musketeers R23P52 = Barbie and the Three Musketeers -R24J01 = Chibi-Robo! +R24J01 = Chibi Robo! R25EWR = LEGO Harry Potter: Years 1-4 R25PWR = LEGO Harry Potter: Years 1-4 R26E5G = Data East Arcade Classics @@ -70,20 +70,20 @@ R2IP69 = Madden NFL 10 R2JJAF = Taiko no Tatsujin Wii R2KE54 = Don King Boxing R2KP54 = Don King Boxing -R2LJMS = Hula Wii: Hura de Hajimeru Bi to Kenkou!! +R2LJMS = Hula Wii: Hula de Hajimeru: Bi to Kenkou! R2ME20 = M&M's Adventure R2NE69 = NASCAR Kart Racing R2OE68 = Medieval Games R2OP68 = Medieval Games R2PE9B = Super Swing Golf Season 2 -R2PJ9B = Super Swing Golf Season 2 -R2PKZ4 = Super Swing Golf Season 2 +R2PJ9B = Swing Golf Pangya 2nd Shot! +R2PKZ4 = Swing Golf Pangya 2nd Shot! R2PP99 = Super Swing Golf -R2QJC0 = Cooking Mama 2 Taihen Mama wa Ooisogashi +R2QJC0 = Cooking Mama 2: Taihen!! Mama wa Ooisogashi! R2RE4F = Pony Friends 2 R2RP4F = Pony Friends 2 R2SE18 = Deca Sports 2 -R2SJ18 = Deca Sporta 2 +R2SJ18 = Deca Sporta 2: Wii de Sports 10 Shumoku! R2SP18 = Sports Island 2 R2TE41 = Teenage Mutant Ninja Turtles: Smash-Up R2TP41 = Teenage Mutant Ninja Turtles: Smash-Up @@ -91,7 +91,7 @@ R2UE8P = Let's Tap R2UJ8P = Let's Tap R2UP8P = Let's Tap R2VE01 = Sin & Punishment: Star Successor -R2VJ01 = Sin and Punishment: Successor to the Sky +R2VJ01 = Tsumi to Batsu: Sora no Koukeisha R2VP01 = Sin and Punishment: Successor of the Skies R2WEA4 = Pro Evolution Soccer 2009 R2WJA4 = Winning Eleven PLAY MAKER 2009 @@ -99,7 +99,7 @@ R2WPA4 = Pro Evolution Soccer 2009 R2WXA4 = Pro Evolution Soccer 2009 R2YE54 = Birthday Party Bash R2YP54 = It's my Birthday! -R32J01 = Metroid Prime 2 +R32J01 = Metroid Prime 2: Dark Echoes R33E69 = AC/DC Live: Rock Band Track Pack R33P69 = AC/DC Live: Rock Band Song Pack R34E69 = Rock Band: Country Track Pack @@ -109,7 +109,7 @@ R36P69 = Green Day: Rock Band R37E69 = Rock Band: Metal Track Pack R38E78 = Marvel Super Hero Squad R38P78 = Marvel Super Hero Squad -R38X78 = Marvel Super Hero Squad: Walmart Edition +R38X78 = Marvel Super Hero Squad - Walmart Edition R38Y78 = Marvel Super Hero Squad R39EFP = Shimano Xtreme Fishing R39PNK = Shimano Extreme Fishing @@ -150,7 +150,7 @@ R3SP52 = Spider-Man: Web of Shadows R3TE54 = Top Spin 3 R3TJG9 = Top Spin 3 R3TP54 = Top Spin 3 -R3UJGD = Oyako de Asobo: Miffy no Omocha Bako +R3UJGD = Oyako de Asobo: Miffy no Omochabako R3VEFP = Deer Drive R3VPNK = Deer Drive R3XE6U = Sam & Max: Season One @@ -161,7 +161,7 @@ R3ZE69 = Rock Band Track Pack: Classic Rock R42E69 = The Sims 2: Castaway R42P69 = The Sims 2: Castaway R43E69 = EA Sports Active: Personal Trainer -R43J13 = EA Sports Active Personal Trainer Wii 30-Hi Seikatsu Kaizen Program +R43J13 = EA Sports Active: Personal Trainer Wii: 30 Nichi Seikatsu Kaizen Program R43P69 = EA Sports Active: Personal Trainer R44J8P = Suzumiya Haruhi no Heiretsu R46ENS = Phantom Brave: We Meet Again @@ -170,7 +170,7 @@ R47E20 = ATV Quad Kings R47P20 = ATV Quad Kings R48E7D = The Spiderwick Chronicles R48P7D = The Spiderwick Chronicles -R49E01 = Donkey Kong Jungle Beat +R49E01 = Donkey Kong: Jungle Beat R49J01 = Donkey Kong: Jungle Beat R49P01 = Donkey Kong: Jungle Beat R4AE69 = SimAnimals @@ -180,7 +180,7 @@ R4BEJZ = Championship Foosball R4BPGT = Table Football R4CE69 = SimCity Creator R4CJ13 = SimCity Creator -R4CK69 = SimCity Creator +R4CK69 = SimCity Namanui Dosi R4CP69 = SimCity Creator R4DDUS = Die drei Fragezeichen - Das verfluchte Schloss R4EE01 = Endless Ocean: Blue World @@ -191,7 +191,7 @@ R4FP7J = Story Hour: Fairy Tales R4IPNK = Mad Tracks R4LPUG = Athletic Piggy Party R4LXUG = Athletic Piggy Party -R4MJ0Q = Shikakui Atama wo Marukusuru Wii +R4MJ0Q = Shikakui Atama o Maruku Suru. Wii R4NE5G = Major Minor's Majestic March R4NP5G = Major Minor's Majestic March R4NX5G = Major Minor's Majestic March @@ -211,10 +211,10 @@ R4RY69 = FIFA 10 R4RZ69 = FIFA Soccer 10 R4SE54 = MLB Superstars R4VEA4 = Storybook Workshop -R4VJA4 = Teleshibai Wii +R4VJA4 = Tele Shibai Wii R4WJA4 = Jikkyou Powerful Major League 2009 -R4YJ2M = Sukeban Shachou Rena Wii -R4ZJ01 = Fatal Frame IV: Mask of the Lunar Eclipse +R4YJ2M = Sukeban Shachou Rena Wii: Neko Shachou, Tsukaeru Shain Daiboshuu. +R4ZJ01 = Zero: Tsukihami no Kamen R52E08 = Neopets Puzzle Adventure R52P08 = Neopets Puzzle Adventure R53PFH = In The Mix Featuring Armin van Buuren @@ -229,7 +229,7 @@ R58FMR = U-Sing R58IMR = U-Sing R58PMR = U-Sing R58SMR = U-Sing -R59D4Q = Club Penguin: Game Day! +R59D4Q = Disney Club Penguin: Game Day! R59E4Q = Club Penguin: Game Day! R59P4Q = Club Penguin: Game Day! R5AE8P = The Golden Compass @@ -251,7 +251,7 @@ R5NJN9 = Doala de Wii R5OENR = Party Pigs: Farmyard Games R5OXUG = Farmyard Party: Featuring the Olympigs R5PE69 = Harry Potter and the Order of the Phoenix -R5PJ13 = Harry Potter and the Order of the Phoenix +R5PJ13 = Harry Potter to Fushichou no Kishidan R5PP69 = Harry Potter and the Order of the Phoenix R5PX69 = Harry Potter and the Order of the Phoenix R5QPGT = Circus @@ -266,7 +266,7 @@ R5VP41 = James Cameron's Avatar: The Game R5VX41 = James Cameron's Avatar: The Game R5WEA4 = Silent Hill: Shattered Memories R5WJA4 = Silent Hill: Shattered Memories -R5XJ13 = MySims Agents +R5XJ13 = Boku to Sim no Machi Agent: Gokuaku Shachou kara Sekai o Sukue Daisakusen! R5XP69 = MySims Agents R5YD78 = All Star Cheerleader 2 R5YE78 = All Star Cheer Squad 2 @@ -288,7 +288,7 @@ R69P36 = Colin McRae: DiRT 2 R6APPU = Baby and Me R6BE78 = de Blob R6BJ78 = Blob Colorful na Kibou -R6BK78 = de Blob +R6BK78 = de Blob - Color Revolution R6BP78 = de Blob R6BX78 = de Blob R6CEAF = We Cheer 2 @@ -302,7 +302,7 @@ R6GPMR = Golden Balls R6HE54 = Ni Hao, Kai-lan: Super Game Day R6HP54 = Ni Hao, Kai-lan: Super Game Day R6IE54 = Baseball Blast! -R6JJGD = Fullmetal Alchemist: Prince of the Dawn +R6JJGD = Hagane no Renkinjutsushi: Fullmetal Alchemist: Akatsuki no Ouji R6KP36 = Ashes Cricket 2009 R6KU36 = Ashes Cricket 2009 R6LEWR = LEGO Rock Band @@ -335,8 +335,8 @@ R74E20 = Arcade Shooting Gallery R75E20 = Dream Salon R76E54 = NBA 2K10 R76P54 = NBA 2K10 -R77JAF = SD Gundam: G Generation Wars -R79JAF = Mobile Suit Gundam: MS Sensen 0079 +R77JAF = SD Gundam: GGeneration Wars +R79JAF = Kidou Senshi Gundam: MS Sensen 0079 R7AE69 = SimAnimals Africa R7AJ13 = SimAnimals Africa R7AP69 = SimAnimals Africa @@ -344,10 +344,10 @@ R7BE20 = Jelly Belly Ballistic Beans R7BP7J = Jelly Belly Ballistic Beans R7CJ01 = Captain Rainbow R7EE8P = NiGHTS: Journey of Dreams -R7EJ8P = NiGHTS: Journey of Dreams +R7EJ8P = NiGHTS: Hoshi Furu Yoru no Monogatari R7EP8P = NiGHTS: Journey of Dreams R7FEGD = Final Fantasy Fables: Chocobo's Dungeon -R7FJGD = Final Fantasy Fables: Chocobo's Dungeon +R7FJGD = Chocobo no Fushigi na Dungeon: Toki-wasure no Meikyuu R7FPGD = Final Fantasy Fables: Chocobo's Dungeon R7GEAF = Dragon Ball: Revenge of King Piccolo R7GJAF = Dragon Ball: Tenkaichi Daibouken @@ -387,14 +387,14 @@ R83EA4 = Pop'n Music R83JA4 = Pop'n Music R83PA4 = Pop'n Rhythm R84EE9 = Harvest Moon: Tree of Tranquility -R84J99 = Bokujo for Wii +R84J99 = Bokujou Monogatari: Yasuragi no Ki R84P99 = Harvest Moon: Tree of Tranquility R85EG9 = The Secret Saturdays: Beasts of the 5th Sun R85PG9 = The Secret Saturdays: Beasts of the 5th Sun R86E20 = Dream Dance & Cheer R87EVN = Ski-Doo: Snowmobile Challenge R88J2L = Anpanman Niko Niko Party -R89JEL = Tokyo Friend Park 2 Wii +R89JEL = Tokyo Friend Park II: Ketteiban: Minna de Chousen! Taikan Attraction! R8AE01 = PokéPark Wii: Pikachu's Adventure R8AJ01 = PokéPark Wii: Pikachu no Daibouken R8AP01 = PokéPark Wii: Pikachu's Adventure @@ -405,9 +405,9 @@ R8DJA4 = Yu-Gi-Oh! 5D's: Duel Transer R8DPA4 = Yu-Gi-Oh! 5D's: Master of the Cards R8EJQC = Earth Seeker R8FES5 = Fast Food Panic -R8FJHA = Takumi Restaurant ha Daihanjou! +R8FJHA = Takumi Restaurant wa Daihanjou! R8FPNP = Fast Food Panic -R8GJC8 = G1 Jockey Wii 2008 +R8GJC8 = GI Jockey Wii 2008 R8GPC8 = G1 Jockey Wii 2008 R8HE4Q = Hannah Montana: The Movie R8HP4Q = Hannah Montana: The Movie @@ -423,7 +423,7 @@ R8KPKM = Street Football 2 R8LE20 = Chicken Blaster R8LP7J = Chicken Blaster R8NEA4 = The Cages: Pro Style Batting Practice -R8NJG0 = Batting Revolution +R8NJG0 = Nihon Yakyuu Kikou Shounin - Batting Revolution R8OE54 = Ringling Bros. and Barnum & Bailey Circus R8OX54 = It's My Circus R8PE01 = Super Paper Mario @@ -451,7 +451,7 @@ R94PMR = The Ultimate Red Ball Challenge R94XMR = The Ultimate Red Ball Challenge R96EAF = Klonoa R96JAF = Kaze no Klonoa Door to Phantomile -R96KAF = Klonoa - Door to Phantomile +R96KAF = Baramui Klonoa - Door to Phantomile R96PAF = Klonoa R97E9B = Family Fun Football R9AE52 = Activision Demo Action Pack (Demo) @@ -486,7 +486,7 @@ R9RPNG = Dance Party Pop Hits R9SPPL = Sudoku Ball: Detective R9TE69 = Tiger Woods PGA Tour 09 All-Play R9TJ13 = Tiger Woods PGA Tour 09 All-Play -R9TK69 = Tiger Woods PGA Tour 09 All-Play +R9TK69 = Tiger Woods PGA Tour 09 - All-Play R9TP69 = Tiger Woods PGA Tour 09 All-Play R9UE52 = Build-A-Bear Workshop: Friendship Valley R9UPGY = Build-A-Bear Workshop: Friendship Valley @@ -496,6 +496,7 @@ R9XE52 = Arcade Zone R9XP52 = Arcade Zone R9YES5 = Sled Shred R9ZE54 = Major League Baseball 2K9 +RAAE01 = Wii Startup Disc RB2E6K = Balloon Pop RB2J2K = Rainbow Pop RB2PGT = Pop! @@ -528,7 +529,7 @@ RBFP7J = Balls of Fury RBGE54 = The BIGS RBGP54 = The Bigs RBHE08 = Resident Evil Archives: Resident Evil Zero -RBHJ08 = Biohazard 0 +RBHJ08 = Biohazard Zero RBHP08 = Resident Evil Archives: Resident Evil Zero RBIEE9 = Harvest Moon: Animal Parade RBIJ99 = Bokujou Monogatari Waku Waku Animal March @@ -538,7 +539,7 @@ RBKJ13 = Boom Blox RBKK69 = Boom Blox RBKP69 = Boom Blox RBLE8P = Bleach: Shattered Blade -RBLJ8P = Bleach: Shattered Blade +RBLJ8P = Bleach Wii: Hakujin Kirameku Rondo RBLP8P = Bleach: Shattered Blade RBME5G = Bust-a-Move Bash! RBMPGT = Bust-A-Move @@ -554,22 +555,22 @@ RBQPUG = Classic British Motor Racing RBRE5G = Blast Works: Build, Trade, Destroy RBRP5G = Blast Works: Build, Trade, Destroy RBRX5G = Blast Works: Build, Trade, Destroy -RBSJ08 = Sengoku Basara 2 Heroes (Double Pack) +RBSJ08 = Sengoku Basara 2: Heroes: Double Pack RBTE8P = Sega Bass Fishing -RBTJ8P = Sega Bass Fishing +RBTJ8P = Uchi Tsuri! Sega Bass Fishing RBTP8P = Sega Bass Fishing RBUE08 = Resident Evil: The Umbrella Chronicles -RBUJ08 = Biohazard: The Umbrella Chronicles +RBUJ08 = Biohazard: Umbrella Chronicles RBUK08 = Biohazard: The Umbrella Chronicles RBUP08 = Resident Evil: The Umbrella Chronicles RBVE52 = Barbie as The Island Princess RBVP52 = Barbie as The Island Princess RBWE01 = Battalion Wars 2 -RBWJ01 = Totsugeki Famicom Wars vs. +RBWJ01 = Totsugeki!! Famicom Wars VS RBWP01 = Battalion Wars 2 RBXJ8P = Bleach: Versus Crusade RBYE78 = Barnyard -RBYJ78 = Barnyard +RBYJ78 = Barnyard: Shuyaku wa Ore, Ushi RBYP78 = Barnyard RBZE5Z = Billy the Wizard: Rocket Broomstick Racing RBZPUG = Billy the Wizard: Rocket Broomstick Racing @@ -592,14 +593,14 @@ RC8P7D = Crash: Mind Over Mutant RC8X7D = Crash: Mind Over Mutant RC9PGN = CID: The Dummy RCAE78 = Cars -RCAJ78 = Cars +RCAJ78 = Disney-Pixar Cars RCAP78 = Cars RCAX78 = Cars RCAY78 = Cars RCBE52 = Cabela's Big Game Hunter RCBP52 = Cabela's Big Game Hunter RCCE5G = Cooking Mama: Cook Off -RCCJC0 = Cooking Mama +RCCJC0 = Cooking Mama: Minna to Issho ni Oryouri Taikai! RCCPGT = Cooking Mama RCDD52 = Call of Duty 3 RCDE52 = Call of Duty 3 @@ -623,14 +624,14 @@ RCKPGN = Alan Hansen's Sports Challenge RCLE4Q = Disney's Chicken Little: Ace in Action RCLP4Q = Chicken Little: Ace In Action RCOJ99 = Meitantei Conan: Tsuioku no Mirage -RCOK99 = Detective Conan: Case Closed: The Mirapolis Investigation +RCOK99 = Myeongtamjeong Conan - Chueogui Hwansang RCOKZF = Case Closed: The Mirapolis Investigation RCOPNP = Case Closed: The Mirapolis Investigation RCPE18 = Kororinpa: Marble Mania RCPJ18 = Kororinpa RCPP18 = Kororinpa RCQEDA = Penny Racers Party: Turbo-Q Speedway -RCQJDA = Choro Q +RCQJDA = Choro Q Wii RCRE5D = Cruis'n RCRP5D = Cruis'n RCSE20 = Chicken Shoot @@ -654,10 +655,10 @@ RD4EA4 = Dance Dance Revolution: Hottest Party 2 RD4JA4 = Dance Dance Revolution: Furu Furu Party RD4PA4 = Dance Dance Revolution: Hottest Party 2 RD6EE9 = Animal Kingdom: Wildlife Expedition -RD6J8N = Doubutu Kisoutengai +RD6J8N = Doubutsu Kisoutengai! Nazo no Rakuen de Scoop Shashin o Gekisha Seyo! RD6PNP = SAFAR'Wii RD8E52 = Dancing with the Stars -RD9J18 = Sudoku +RD9J18 = Puzzle Series Vol. 1: Sudoku RDAE52 = Dancing with the Stars: We Dance! RDBE70 = Dragon Ball Z: Budokai Tenkaichi 2 RDBJAF = Dragon Ball Z: Sparking! NEO @@ -676,7 +677,7 @@ RDGPA4 = Castlevania Judgment RDHE78 = Destroy All Humans! Big Willy Unleashed RDHP78 = Destroy All Humans! Big Willy Unleashed RDIE41 = The Dog Island -RDIJG2 = The Dog Island +RDIJG2 = Artlist Collection: The Dog Island ~Hitotsu no Hana no Monogatari~ RDIP41 = The Dog Island RDJE4F = Death Jr.: Root of Evil RDJP4F = Death Jr.: Root of Evil @@ -690,7 +691,7 @@ RDMJ8N = Go! Go! Minon RDMPHZ = Minon: Everyday Hero RDNEA4 = Dance Dance Revolution: Disney Grooves RDOE41 = Petz Dogz 2 -RDOJ41 = Dog to Mahou no Boushi +RDOJ41 = Wanko to Mahou no Boushi RDOP41 = Dogz RDOX41 = Dogz RDPE54 = Dora Saves the Snow Princess @@ -700,23 +701,23 @@ RDQEGD = Dragon Quest Swords: The Masked Queen and The Tower of Mirrors RDQJGD = Dragon Quest Swords: Kamen no Joou to Kagami no Tou RDQPGD = Dragon Quest Swords: The Masked Queen and the Tower of Mirrors RDREA4 = Dewy's Adventure -RDRJA4 = Dewy's Adventure +RDRJA4 = Dewy's Adventure: Suishou Dewy no Daibouken!! RDRPA4 = Dewy's Adventure RDSE70 = Dragon Ball Z: Budokai Tenkaichi 3 RDSJAF = Dragon Ball Z: Sparking! METEOR RDSPAF = Dragon Ball Z: Budokai Tenkaichi 3 RDTEAF = Tamagotchi: Party On! -RDTJAF = Tamagotchi Pikadai +RDTJAF = Tamagotchi no Pika Pika Daitouryou! RDTPAF = Tamagotchi: Party On! RDUJDQ = Sugoro Chronicle: Migite ni Ken o Hidarite ni Saikoro o RDVE41 = Driver: Parallel Lines RDVP41 = Driver: Parallel Lines RDWEG9 = Dragon Blade: Wrath of Fire -RDWJG9 = Dragon Blade: Wrath of Fire +RDWJG9 = Dragon Blade RDWPG9 = Dragon Blade: Wrath of Fire RDXE18 = Deca Sports -RDXJ18 = Deca Sporta -RDXKA4 = Deca Sporta +RDXJ18 = Deca Sporta: Wii de Sports 10 Shumoku! +RDXKA4 = Deca Sporta - Wiiro Jeulgineun Sports 10 Jongmok! RDXP18 = Sports Island RDYEGN = CID: The Dummy RDZJ01 = Disaster: Day of Crisis @@ -728,7 +729,7 @@ RE4P08 = Resident Evil Archives: Resident Evil RE5PAF = The Munchables RE6PRT = Summer Challenge: Athletics Tournament RE7PNK = Hunting Challenge -RE8J99 = Katekyo Hitman Reborn! Kindan no Yami no Delta +RE8J99 = Katekyoo Hitman Reborn! Kindan no Yami no Delta REAE69 = Celebrity Sports Showdown REAF69 = Celebrity Sports Showdown REAP69 = Celebrity Sports Showdown @@ -748,16 +749,16 @@ REJEAF = Active Life: Extreme Challenge REJJAF = Family Trainer 2 REJPAF = Family Trainer: Extreme Challenge REKE41 = Gold's Gym: Cardio Workout -REKJ2N = Shape Boxing Wii de Enjoy Diet +REKJ2N = Shape Boxing: Wii de Enjoy Diet! REKP41 = My Fitness Coach: Cardio Workout REKU41 = Gold's Gym: Cardio Workout RELEA4 = Elebits RELJA4 = Elebits RELKA4 = Elebits RELPA4 = Eledees -REMJ8P = Doraemon Wii: Himitsu Douguou Ketteisen! +REMJ8P = Doraemon Wii: Himitsu Dougu-ou Ketteisen! RENE8P = Sonic and the Black Knight -RENJ8P = Sonic and the Black Knight +RENJ8P = Sonic to Ankoku no Kishi RENP8P = Sonic and the Black Knight REQE54 = Go, Diego, Go! Safari Rescue REQP54 = Go, Diego, Go! Safari Rescue @@ -766,7 +767,7 @@ REQY54 = Go, Diego, Go! Safari Rescue RESP41 = My Spanish Coach: Improve Your Spanish RETJAF = Ennichi no Tatsujin REUPNK = My Body Coach -REVJ8P = Imabikisou: Kaimei Hen +REVJ8P = Imabikisou Kaimei-hen REWFMR = My Horse Club: On the Trail of the Mysterious Appaloosa REWXMR = My Horse Club: On the Trail of the Mysterious Appaloosa REWYMR = My Horse Club: On the Trail of the Mysterious Appaloosa @@ -786,20 +787,20 @@ RF4E36 = Super Fruit Fall RF4P6M = Super Fruit Fall RF7J08 = Tatsunoko vs. Capcom: Cross Generation of Heroes RF8E69 = FIFA Soccer 08 -RF8J13 = FIFA 08 +RF8J13 = FIFA 08: World Class Soccer RF8K69 = FIFA 08 RF8P69 = FIFA 08 RF8X69 = FIFA 08 RF8Y69 = FIFA 08 RF9E69 = FIFA Soccer 09 All-Play RF9J13 = FIFA 09 All-Play -RF9K69 = FIFA 09 All-Play +RF9K69 = FIFA 09 - All-Play RF9P69 = FIFA 09 All-Play RF9R69 = FIFA 09 All-Play RF9X69 = FIFA 09 All-Play RF9Y69 = FIFA 09 All-Play RFAEAF = Active Life: Outdoor Challenge -RFAJAF = Family Trainer: Athletic World +RFAJAF = Family Trainer RFAPAF = Family Trainer RFBE01 = Endless Ocean RFBJ01 = Forever Blue @@ -836,14 +837,14 @@ RFPP01 = Wii Fit Plus RFPW01 = Wii Fit Plus RFQE69 = FaceBreaker K.O. Party RFQJ13 = FaceBreaker K.O. Party -RFQK69 = FaceBreaker: K.O. Party +RFQK69 = FaceBreaker K.O. Party RFQP69 = FaceBreaker: K.O. Party RFRE5G = Furu Furu Park RFRJC0 = Furu Furu Park RFSEEB = Shiren the Wanderer -RFSJ8P = Fushigi no Dungeon: Furai no Shiren 3 +RFSJ8P = Fushigi no Dungeon: Fuurai no Shiren 3: Karakuri Yashiki no Nemuri-hime RFTE70 = Backyard Football -RFUJA4 = Mahjong Kakutou Club Wii: Wi-Fi Taiou +RFUJA4 = Mahjong Fight Club Wii: Wi-Fi Taiou RFVE52 = Monkey Mischief! Party Time RFVP52 = Monkey Mischief! 20 Games RFWE5Z = Safari Adventures Africa @@ -854,7 +855,7 @@ RFZP41 = Imagine Fashion Idol RG2EXS = Guilty Gear XX Accent Core RG2JJF = Guilty Gear XX Accent Core RG2PGT = Guilty Gear XX Accent Core -RG4JC0 = Let's Go By Train Shinkansen EX +RG4JC0 = Densha de Go! Shinkansen EX: San'you Shinkansen Hen RG5EWR = Guinness World Records: The Videogame RG5PWR = Guinness World Records: The Videogame RG6E69 = Boogie SuperStar @@ -869,11 +870,11 @@ RGAP8P = Planet 51: The Game RGBE08 = Harvey Birdman: Attorney at Law RGBP08 = Harvey Birdman: Attorney at Law RGCEXS = MiniCopter: Adventure Flight -RGCJJF = Petitcopter Wii Adventure Flight +RGCJJF = Puchi Copter Wii: Adventure Flight RGCPGT = Radio Helicopter RGDEA4 = Target: Terror RGDPA4 = Target: Terror -RGEJJ9 = The World of Golden Eggs Norinori Rhythm +RGEJJ9 = The World of Golden Eggs: Nori Nori Rhythm kei RGFE69 = The Godfather: Blackhand Edition RGFF69 = The Godfather: Blackhand Edition RGFI69 = The Godfather: Blackhand Edition @@ -882,9 +883,9 @@ RGFS69 = The Godfather: Blackhand Edition RGGJAF = Gegege no Kitarou: Youkai Daiundoukai RGHE52 = Guitar Hero III: Legends of Rock RGHJ52 = Guitar Hero III Legends of Rock -RGHK52 = Guitar Hero III Legends of Rock +RGHK52 = Guitar Hero III - Legends of Rock RGHP52 = Guitar Hero III: Legends of Rock -RGIJC8 = G1 Jockey Wii +RGIJC8 = GI Jockey Wii RGIPC8 = G1 Jockey Wii RGJE4Z = George of the Jungle: Search for the Secret RGJP7U = George of the Jungle: Search for the Secret @@ -894,9 +895,9 @@ RGLE7D = Geometry Wars: Galaxies RGLP7D = Geometry Wars: Galaxies RGME5D = The Grim Adventures of Billy & Mandy RGMP5D = The Grim Adventures of Billy & Mandy -RGNJAF = Gintama Yorozuya Tuve -RGOJJ9 = The World of Golden Eggs Nissan Note Version -RGPJAF = Anime Slot Revolution Pachi-Slot Kidou Senshi Gundam II Ai Senshi Hen +RGNJAF = Gintama: Yorozuya Chuubu: Tsukkomable Douga +RGOJJ9 = The World of Golden Eggs: Nori Nori Rhythm kei - Nissan Note Original Version +RGPJAF = Anime Slot Revolution: Pachi-Slot Kidou Senshi Gundam II: Ai Senshi-hen RGQE70 = Ghostbusters: The Video Game RGQP70 = Ghostbusters: The Video Game RGSE8P = Ghost Squad @@ -921,7 +922,7 @@ RGZP70 = Godzilla Unleashed RH2E41 = Hell's Kitchen: The Video Game RH2P41 = Hell's Kitchen RH3E4Q = High School Musical 3: Senior Year Dance! -RH3J4Q = High School Musical 3: Senior Year Dance! +RH3J4Q = Disney High School Musical Dance! RH3P4Q = High School Musical 3: Senior Year Dance! RH4XUG = Hamster Heroes RH5EVN = Horse Life Adventures @@ -929,7 +930,7 @@ RH5PKM = Horse Life 2 RH6E69 = Harry Potter and the Half-Blood Prince RH6K69 = Harry Potter and the Half Blood Prince RH6P69 = Harry Potter and the Half-Blood Prince -RH7J8P = Jissen Pachislot Hisshouhou! Sammy's Collection Hokuto no Ken Wii +RH7J8P = Jissen Pachi-Slot Pachinko Hisshouhou! Sammy's Collection: Hokuto no Ken Wii RH8E4F = Tomb Raider: Underworld RH8JEL = Tomb Raider: Underworld RH8P4F = Tomb Raider: Underworld @@ -937,7 +938,7 @@ RH8X4F = Tomb Raider: Underworld RH9JC8 = Harukanaru Toki no Naka de 4 RHAE01 = Wii Play RHAJ01 = Hajimete no Wii -RHAK01 = Wii Play +RHAK01 = Cheoeum Mannaneun Wii RHAP01 = Wii Play RHAW01 = Wii Play RHCE52 = The History Channel: Battle for the Pacific @@ -957,7 +958,7 @@ RHIJJ9 = Hajime no Ippo Revolution RHIP41 = Victorious Boxers Challenge RHJJ13 = Ginsei Table Games Wii RHKE18 = Help Wanted: 50 Wacky Jobs -RHKJ18 = Hataraku Hit +RHKJ18 = Hataraku Hito RHKP18 = Job Island: Hard Working People RHLE4Z = World Championship Poker Featuring Howard Lederer: All-In RHLPGT = World Championship Poker Featuring Howard Lederer: All-In @@ -968,12 +969,12 @@ RHNP70 = My Horse & Me RHOE8P = The House of the Dead: Overkill RHOJ8P = The House of the Dead: Overkill RHOP8P = The House of the Dead: Overkill -RHPJ8N = Akko De Pon! Ikasama Hourouki +RHPJ8N = Akko de Pon! Ikasama Hourou-ki RHQE4Q = Hannah Montana: Spotlight World Tour RHQP4Q = Hannah Montana: Spotlight World Tour RHQX4Q = Hannah Montana: Spotlight World Tour RHQY4Q = Hannah Montana: Spotlight World Tour -RHRJ99 = Katekyo Hitman Reborn! Dream Hyper Battle! Wii +RHRJ99 = Katekyoo Hitman Reborn! Dream Hyper Battle! Wii RHSE36 = Heatseeker RHSP36 = Heatseeker RHSX36 = Heatseeker @@ -988,7 +989,7 @@ RHWE52 = Hot Wheels: Beat That! RHWP52 = Hot Wheels: Beat That! RHXE78 = Battle of the Bands RHXP78 = Battle of the Bands -RHYJAF = Haneru no Tobira Wii +RHYJAF = Haneru no Tobira Wii: Giri Girissu RHZE41 = Petz Horsez 2 RHZP41 = Pippa Funnell: Ranch Rescue RI2E4Q = High School Musical: Sing It! @@ -999,7 +1000,7 @@ RI6ENR = Summer Sports 2: Island Sports Party RI6P41 = Summer Sports Party RI7E4Z = Monster Mayhem: Build and Battle RI8E41 = Brothers In Arms: Road to Hill 30 -RI8P41 = Brothers In Arms: Road To Hill 30 +RI8P41 = Brothers In Arms: Road to Hill 30 RI9EGT = Diva Girls: Divas on Ice RI9PGT = Diva Girls: Princess on Ice RIAE52 = Ice Age: Dawn of the Dinosaurs @@ -1031,15 +1032,15 @@ RINP08 = Dead Rising: Chop Till You Drop RIOPSU = Horrible Histories: Ruthless Romans RIPEAF = One Piece: Unlimited Adventure RIPJAF = One Piece: Unlimited Adventure -RIPPAF = One Piece Unlimited Cruise 1: The Treasure Beneath the Waves +RIPPAF = One Piece: Unlimited Cruise 1: The Treasure Beneath the Waves RIQPUJ = Dancing on Ice RIRE8P = Iron Man RIRP8P = Iron Man RITFMR = Intervilles, le jeu officiel -RIUJAF = One Piece Unlimited Cruise 2: Awakening of a Hero -RIUPAF = One Piece Unlimited Cruise 2: Awakening of a Hero +RIUJAF = One Piece: Unlimited Cruise: Episode 2: Mezameru Yuusha +RIUPAF = One Piece: Unlimited Cruise 2: Awakening of a Hero RIVEXJ = Ivy The Kiwi? -RIVJAF = Ivy the Kiwi? +RIVJAF = Ivy the Kiwi RIVP99 = Ivy The Kiwi? RIWENR = Burger Island RIXE20 = Dodge Racing: Charger vs. Challenger @@ -1048,7 +1049,7 @@ RIYE52 = Space Camp RIYP52 = Space Camp RIZENR = Indianapolis 500 Legends RJ2E52 = 007: Quantum of Solace -RJ2JGD = 007: Quantum of Solace +RJ2JGD = 007: Nagusame no Houshuu RJ2P52 = 007: Quantum of Solace RJ3E20 = Jeep Thrills RJ3P7J = Jeep Thrills @@ -1100,40 +1101,40 @@ RJSXUG = Kawasaki Jet Ski RJTJ01 = Minna no Joushiki Ryoku TV RJVEGN = Hysteria Hospital: Emergency Ward RJVPGN = Hysteria Hospital: Emergency Ward -RJWJEL = Jawa Mammoth and a Secret Stone +RJWJEL = Jawa: Mammoth to Himitsu no Ishi RJXE5G = Go Play Lumberjacks RJXXFR = Go Play Lumberjacks RJYE5Z = Doctor Fizzwizzle's Animal Rescue RJZP7U = SNK Arcade Classics Volume 1 RK2EEB = Trauma Center: New Blood -RK2JEB = Trauma Center: New Blood +RK2JEB = Caduceus: New Blood RK2P01 = Trauma Center: New Blood RK3J01 = And-Kensaku -RK4JAF = Kekkaishi +RK4JAF = Kekkaishi: Kokubourou no Kage RK5E01 = Kirby's Epic Yarn RK5J01 = Keito no Kirby -RK5K01 = Kirby's Epic Yarn +RK5K01 = Teolsil Kirby Iyagi RK5P01 = Kirby's Epic Yarn RK6E18 = Marble Saga: Kororinpa -RK6J18 = Kororinpa 2 +RK6J18 = Kororinpa 2: Anthony to Kin'iro Himawari no Tane RK6P18 = Marbles! Balance Challenge RK7J0A = Ougon no Kizuna RK8E54 = Major League Baseball 2K8 RK9EA4 = Karaoke Revolution RK9PA4 = Karaoke Revolution RKAE6K = Ultimate Shooting Collection -RKAJMS = Milestone Shooting Collection -RKAK8M = Milestone Shooting Collection Karous Wii +RKAJMS = Milestone Shooting Collection: Karous Wii +RKAK8M = Milestone Shooting Collection - Karous Wii RKAP6K = Ultimate Shooting Collection RKBE41 = Cranium Kabookii RKBP41 = Cranium Kabookii RKDEEB = Trauma Center: Second Opinion -RKDJEB = Trauma Center: Second Opinion +RKDJEB = Caduceus Z: Futatsu no Chou Shittou RKDP01 = Trauma Center: Second Opinion RKEENR = Cate West: The Vanishing Files RKEPGN = Cate West: The Vanishing Files RKFEH4 = The King of Fighters Collection: The Orochi Saga -RKFKZA = King of Fighters Collection: The Orochi Saga +RKFKZA = The King of Fighters Collection - The Orochi Saga RKFP7U = King of Fighters Collection: The Orochi Saga RKGEGY = Bratz Kidz: Slumber Party RKGPGY = Bratz: Kidz Party @@ -1142,17 +1143,17 @@ RKHP52 = Kung Fu Panda: Legendary Warriors RKIENR = Kidz Sports: Ice Hockey RKIPUG = Kidz Sports: Ice Hockey RKIXUG = Kidz Sports: Ice Hockey -RKJJ0Q = 250 Mannin no Kanken Wii de Tokoton Kanji Nou +RKJJ0Q = Zaidan Houjin Nihon Kanji Nouryoku Kentei Kyoukai Koushiki Soft: 250 Mannin no Kanken: Wii de Tokoton Kanji Nou RKKE6K = Heavenly Guardian RKLEG9 = Coraline RKLPG9 = Coraline RKME5D = Mortal Kombat: Armageddon RKMP5D = Mortal Kombat: Armageddon -RKNJ2N = Kanken Wii: Kanji Ou Kettei Sen -RKOJBL = Relaxuma: Minna de Goyururi Seikatsu +RKNJ2N = Zaidan Houjin Nihon Kanji Nouryoku Kentei Kyoukai Kounin: Kanken Wii: Kanji-ou Ketteisen +RKOJBL = Rilakkuma: Minna de Goyururi Seikatsu RKPE52 = Kung Fu Panda -RKPJ52 = Kung Fu Panda -RKPK52 = Kung Fu Panda +RKPJ52 = DreamWorks Kung Fu Panda +RKPK52 = DreamWorks Kung Fu Panda RKPP52 = Kung Fu Panda RKPV52 = Kung Fu Panda RKPX52 = Kung Fu Panda @@ -1165,7 +1166,7 @@ RKTENR = Kidz Sports: International Soccer RKTXUG = Kidz Sports: International Football RKVE54 = The BIGS 2 RKVP54 = The Bigs 2: Baseball -RKWJ18 = Jigsaw Puzzle Kyo-no Wan Ko +RKWJ18 = Jigsaw Puzzle: Kyou no Wanko RKXE69 = Rock Band RKXP69 = Rock Band RKYE20 = Army Men: Soldiers of Misfortune @@ -1220,7 +1221,7 @@ RLPP69 = Littlest Pet Shop RLQE52 = Big League Sports RLQP52 = World Championship Sports RLRE4F = Tomb Raider: Anniversary -RLRJEL = Tomb Raider: Anniversary +RLRJEL = Lara Croft Tomb Raider: Anniversary RLRP4F = Tomb Raider: Anniversary RLSE8P = Alien Syndrome RLSP8P = Alien Syndrome @@ -1235,7 +1236,7 @@ RLUY4Q = Bolt RLVE78 = Avatar: The Last Airbender RLVP78 = Avatar: The Legend of Aang RLWE78 = Ratatouille -RLWJ78 = Ratatouille +RLWJ78 = Disney-Pixar Remy no Oishii Restaurant RLWP78 = Ratatouille RLWW78 = Ratatouille RLWX78 = Ratatouille @@ -1271,7 +1272,7 @@ RM8P01 = Mario Party 8 RM9EGM = Mushroom Men: The Spore Wars RM9PGM = Mushroom Men: The Spore Wars RMAE01 = Mario Power Tennis -RMAJ01 = Mario Power Tennis +RMAJ01 = Mario Tennis GC RMAP01 = Mario Power Tennis RMBE01 = Mario Super Sluggers RMBJ01 = Super Mario Stadium: Family Baseball @@ -1281,19 +1282,19 @@ RMCK01 = Mario Kart Wii RMCP01 = Mario Kart Wii RMDE69 = Madden NFL 07 RMDP69 = Madden NFL 07 -RMEJDA = Major Dream +RMEJDA = Major Dream: Major Wii: Nagero! Gyroball!! RMFE68 = AMF Bowling Pinbusters! RMFP68 = AMF Bowling Pinbusters! RMGE01 = Super Mario Galaxy RMGJ01 = Super Mario Galaxy -RMGK01 = Super Mario Galaxy +RMGK01 = Super Mario Wii - Galaxy Adventure RMGP01 = Super Mario Galaxy RMHE08 = Monster Hunter Tri -RMHJ08 = Monster Hunter Tri +RMHJ08 = Monster Hunter tri- RMHP08 = Monster Hunter Tri RMIE20 = Margot's Word Brain RMIP7J = Margot's Word Brain -RMJJC8 = Mah-jong Rally Wii +RMJJC8 = Mahjong Taikai Wii RMKE01 = Mario Sports Mix RMKJ01 = Mario Sports Mix RMKP01 = Mario Sports Mix @@ -1319,7 +1320,7 @@ RMRPNK = Cocoto Magic Circus RMRXNK = Cocoto Magic Circus RMSE52 = Marvel: Ultimate Alliance 2 RMSP52 = Marvel: Ultimate Alliance 2 -RMTJ18 = Momotarô Dentetsu 16 +RMTJ18 = Momotarou Dentetsu 16: Hokkaidou Daiidou no Maki! RMUE52 = Marvel: Ultimate Alliance RMUJ2K = Marvel: Ultimate Alliance RMUP52 = Marvel: Ultimate Alliance @@ -1327,7 +1328,6 @@ RMVE69 = Medal of Honor: Vanguard RMVP69 = Medal of Honor: Vanguard RMVX69 = Medal of Honor: Vanguard RMWE20 = M&M's Kart Racing -RMWP20 = M&M's Kart Racing RMXE78 = MX vs. ATV: Untamed RMXF78 = MX vs. ATV: Untamed RMXP78 = MX vs. ATV: Untamed @@ -1341,7 +1341,7 @@ RN2EAF = Namco Museum Remix RN2K70 = Namco Museum Remix RN2P70 = Namco Museum Remix RN3E78 = Nicktoons: Attack of the Toybots -RN3J78 = Nicktoons: Attack of the Toybots +RN3J78 = SpongeBob to Nakamatachi: Toybot no Kougeki RN3P78 = Nicktoons: Attack of the Toybots RN3X78 = Nicktoons: Attack Of The Toybots RN4E41 = Dawn of Discovery @@ -1364,11 +1364,11 @@ RNCEH4 = SNK Arcade Classics Volume 1 RNCPH4 = SNK Arcade Classics Volume 1 RNDJAF = Nodame Cantabile Dream Orchestra RNEEDA = Naruto Shippuden: Clash of Ninja Revolution 3 -RNEJDA = Naruto Shippuuden: Gekitou Ninja Taisen EX 3 +RNEJDA = Naruto Shippuuden: Gekitou Ninja Taisen! EX3 RNEPDA = Naruto Shippuden: Clash of Ninja Revolution 3 RNFE69 = Madden NFL 08 RNFP69 = Madden NFL 08 -RNGJ99 = Negima!? Neo-Pactio Fight!! +RNGJ99 = Negima! Neo-Pactio Fight!! RNHE41 = No More Heroes RNHJ99 = No More Heroes RNHK8M = No More Heroes @@ -1384,7 +1384,7 @@ RNME5Z = Ninjabread Man RNMPUG = Ninjabread Man RNMXUG = Ninjabread Man RNNE4Q = The Chronicles of Narnia: Prince Caspian -RNNJ4Q = The Chronicles of Narnia: Prince Caspian +RNNJ4Q = Narnia Koku Monogatari: Dai-2 Shou: Caspian Ouji no Tsunobue RNNP4Q = The Chronicles of Narnia: Prince Caspian RNNX4Q = The Chronicles of Narnia: Prince Caspian RNNY4Q = The Chronicles of Narnia: Prince Caspian @@ -1398,7 +1398,7 @@ RNPP69 = Need for Speed: ProStreet RNPX69 = Need for Speed: ProStreet RNPY69 = Need for Speed: ProStreet RNRE41 = Nitro Bike -RNRJ41 = Nitro Bike +RNRJ41 = Nitrobike RNRP41 = Nitro Bike RNSD69 = Need for Speed: Carbon RNSE69 = Need for Speed Carbon @@ -1410,13 +1410,13 @@ RNUE8P = Nancy Drew: The White Wolf of Icicle Creek RNVE5Z = Anubis II RNVPUG = Anubis II RNVXUG = Anubis II -RNWJAF = Namco Carnival +RNWJAF = Minna de Asobou! Namco Carnival RNWKAF = Namco Museum Remix RNXEDA = Naruto: Clash of Ninja Revolution -RNXJDA = Naruto Shippuuden: Gekitou Ninja Taisen EX +RNXJDA = Naruto Shippuuden: Gekitou Ninja Taisen! EX RNXPDA = Naruto: Clash of Ninja Revolution RNYEDA = Naruto: Clash of Ninja Revolution 2 -RNYJDA = Naruto Shippuuden: Gekitou Ninja Taisen EX 2 +RNYJDA = Naruto Shippuuden: Gekitou Ninja Taisen! EX2 RNYPDA = Naruto: Clash of Ninja Revolution 2 RNZE69 = Ninja Reflex RNZJ13 = Ninja Reflex @@ -1425,9 +1425,9 @@ RNZP69 = Ninja Reflex RO2E7N = Ford Racing Off Road RO2P7N = Off Road RO3EXJ = Little King's Story -RO3J99 = Little King's Story +RO3J99 = Ousama Monogatari RO3P99 = Little King's Story -RO4JDA = Toshinden +RO4JDA = Toushinden RO5E52 = Hot Wheels: Battle Force 5 RO5P52 = Hot Wheels: Battle Force 5 RO7E7D = Legend of Spyro: The Eternal Night @@ -1444,8 +1444,8 @@ ROBPPL = Obscure 2 ROCE5Z = Cocoto Kart Racer ROCPNK = Cocoto Kart Racer RODE01 = WarioWare: Smooth Moves -RODJ01 = WarioWare: Smooth Moves -RODK01 = WarioWare: Smooth Moves +RODJ01 = Odoru Made in Wario +RODK01 = Chumchwora Made in Wario RODP01 = WarioWare: Smooth Moves ROEEJZ = Hotel for Dogs ROEPGT = Hotel For Dogs @@ -1459,12 +1459,12 @@ ROJE52 = Rapala: We Fish ROJP52 = Rapala: We Fish ROKJ18 = Karaoke Joysound Wii ROLE8P = Mario & Sonic at the Olympic Winter Games -ROLJ01 = Mario & Sonic at the Olympic Winter Games -ROLK01 = Mario & Sonic at the Olympic Winter Games +ROLJ01 = Mario & Sonic at Vancouver Olympic +ROLK01 = Mariowa Sonic Vancouver Donggye-olympic ROLP8P = Mario & Sonic at the Olympic Winter Games ROMJ08 = Monster Hunter G RONEG9 = Onechanbara: Bikini Zombie Slayers -RONJG9 = Onechanbara Revolution +RONJG9 = Oneechanbara Revolution RONPG9 = Onechanbara: Bikini Zombie Slayers ROPE41 = Open Season ROPP41 = Open Season @@ -1472,12 +1472,12 @@ ROQJEP = Baroque for Wii ROSJ01 = Takt of Magic ROTE20 = Twin Strike: Operation Thunder ROTP7J = Twin Strike: Operation Thunder -ROUJAF = One Piece Unlimited Cruise 1: The Treasure Beneath the Waves -ROUPAF = One Piece Unlimited Cruise 1: The Treasure Beneath the Waves +ROUJAF = One Piece: Unlimited Cruise: Episode 1: Nami ni Yureru Hihou +ROUPAF = One Piece: Unlimited Cruise 1: The Treasure Beneath the Waves ROVE6U = Playmobil: Circus ROVPHM = Playmobil: Circus ROWE08 = Ōkami -ROWJ08 = Ōkami +ROWJ08 = Ookami ROWP08 = Ōkami ROXE20 = Order Up! ROXP7J = Order Up! @@ -1491,7 +1491,7 @@ RP3JAF = Pro Golfer Saru RP4E69 = MySims Party RP4J13 = Boku to Sim no Machi Party RP4P69 = MySims Party -RP5JA4 = Jikkyou Powerful Pro Baseball 15 +RP5JA4 = Jikkyou Powerful Pro Yakyuu 15 RP6E41 = Petz Crazy Monkeyz RP6P41 = Petz Monkey Madness RP7E52 = Pirates: Hunt for Blackbeard's Booty @@ -1522,7 +1522,7 @@ RPKE52 = World Series of Poker: Tournament of Champions 2007 Edition RPKP52 = World Series of Poker: Tournament of Champions 2007 Edition RPLE52 = Rapala Tournament Fishing RPLP52 = Rapala Tournament Fishing -RPMJA4 = Jikkyou Powerful Pro Major League 2 +RPMJA4 = Jikkyou Powerful Major League 2 Wii RPNE78 = Paws & Claws: Pet Resort RPOEC8 = Opoona RPOJC8 = Opoona @@ -1532,27 +1532,27 @@ RPPP41 = Prince of Persia: Rival Swords RPQES5 = Pool Party RPQPS5 = Pool Party RPSE4Q = Disney Princess: Enchanted Journey -RPSJ4Q = Disney Princess Wii +RPSJ4Q = Disney Princess: Mahou no Sekai he RPSP4Q = Disney Princess: Enchanted Journey RPTD52 = Puppy Luv RPTE52 = Puppy Luv: Your New Best Friend RPTP52 = Puppy Luv: Your New Best Friend -RPUJ8P = Puyo Puyo! 15th Anniversary +RPUJ8P = Puyo Puyo! Puyopuyo 15th Anniversary RPVE4Z = Purr Pals RPVPKM = Purr Pals RPWX41 = Prince of Persia: The Forgotten Sands RPWZ41 = Prince of Persia: The Forgotten Sands RPXE69 = EA Playground -RPXJ13 = EA Playground +RPXJ13 = Playground: Kouen de Asobou! RPXP69 = EA Playground RPYE9B = Super Swing Golf -RPYJ9B = Super Swing Golf +RPYJ9B = Swing Golf Pangya RPYP9B = Pangya! Golf With Style -RPZJA4 = Jikkyou Powerful Pro Baseball Wii Ketteiban +RPZJA4 = Jikkyou Powerful Pro Yakyuu Wii: Ketteiban RQ2JK6 = Crazy Climber Wii RQ3PGN = PDC World Championship Darts 2009 RQ4E78 = SpongeBob SquarePants: Creature from the Krusty Krab -RQ4J78 = SpongeBob SquarePants: Creature from the Krusty Krab +RQ4J78 = Nickelodeon SpongeBob SquarePants RQ4P78 = SpongeBob SquarePants: Creature from the Krusty Krab RQ5E5G = Mad Dog McCree Gunslinger Pack RQ5P5G = Mad Dog McCree Gunslinger Pack @@ -1578,9 +1578,9 @@ RQEP6V = Agatha Christie: Evil Under the Sun RQFE6U = Safecracker: The Ultimate Puzzle Adventure RQFP6V = Safecracker RQGE69 = MySims Racing -RQGJ13 = MySims Racing +RQGJ13 = Boku to Sim no Machi Racing RQGP69 = MySims Racing -RQIJ01 = Minna ga Shuyaku no NHK Kouhaku Quiz Kassen +RQIJ01 = NHK Kouhaku Quiz Gassen RQJE7D = Crash of the Titans RQJP7D = Crash of the Titans RQJX7D = Crash of the Titans @@ -1593,14 +1593,14 @@ RQMPVN = Ocean Commander RQNEWR = Scooby-Doo! First Frights RQNPWR = Scooby-Doo! First Frights RQOE69 = Spore Hero -RQOJ13 = Spore Hero +RQOJ13 = Spore: Kimi ga Tsukuru Hero RQOP69 = Spore Hero RQPE52 = Cabela's Trophy Bucks RQPP52 = Cabela's Trophy Bucks RQPZ52 = Cabela's Monster Buck Hunter RQQE70 = Backyard Football '09 RQREXJ = The Sky Crawlers: Innocent Aces -RQRJAF = The Sky Crawlers: Innocent Aces +RQRJAF = Sky Crawlers: Innocent Aces RQRPAF = The Sky Crawlers: Innocent Aces RQSE4Z = Pinball Hall of Fame: The Gottlieb Collection RQSP6M = Gottlieb Pinball Classics @@ -1632,7 +1632,7 @@ RRAE5Z = Rock 'N' Roll Adventures RRAPUG = Rock 'N' Roll Adventures RRAXUG = Rock 'N' Roll Adventures RRBE41 = Rayman Raving Rabbids -RRBJ41 = Rayman Raving Rabbids +RRBJ41 = Rabbids Party RRBP41 = Rayman Raving Rabbids RRCE52 = Barbie Horse Adventures: Riding Camp RRCP52 = Barbie Horse Adventures: Riding Camp @@ -1669,7 +1669,7 @@ RRQX52 = Shrek's Carnival Craze Party Games RRRE5Z = Real Heroes: Firefighter RRRPRM = Real Heroes: Firefighter RRSE4Q = Meet the Robinsons -RRSJ4Q = Meet The Robinsons +RRSJ4Q = Walt Disney Pictures Presents Lewis to Mirai Dorobou: Wilbur no Kiken na Jikan Ryokou RRSP4Q = Meet The Robinsons RRSX4Q = Meet The Robinsons RRTE52 = Block Party 20 Games @@ -1700,7 +1700,7 @@ RS4PXS = Castle of Shikigami III RS5EC8 = Samurai Warriors: Katana RS5JC8 = Sengoku Musou KATANA RS5PC8 = Samurai Warriors: Katana -RS7J01 = Eyeshield 21 Field Saikyō no Senshi Tachi +RS7J01 = Eyeshield 21: Field Saikyou no Senshi-tachi RS8J8N = Shanghai RS9E8P = Sonic Riders: Zero Gravity RS9J8P = Sonic Riders: Shooting Star Story @@ -1709,7 +1709,7 @@ RSAE78 = SpongeBob's Atlantis SquarePantis RSAP78 = SpongeBob's Atlantis SquarePantis RSBE01 = Super Smash Bros. Brawl RSBJ01 = Dairantou Smash Brothers X -RSBK01 = Dairantou Smash Brothers X +RSBK01 = Daenantu Smash Brothers X RSBP01 = Super Smash Bros. Brawl RSCD7D = Scarface: The World Is Yours RSCE7D = Scarface: The World Is Yours @@ -1722,7 +1722,7 @@ RSFJ99 = Oboro Muramasa RSFP99 = Muramasa: The Demon Blade RSHE69 = MySims Kingdom RSHJ13 = Boku to Sim no Machi Kingdom -RSHK69 = MySims Kingdom +RSHK69 = MySims Simdeurui Wangguk RSHP69 = MySims Kingdom RSIE69 = MySims RSIJ13 = Boku to Sim no Machi @@ -1734,10 +1734,10 @@ RSKP52 = Shrek The Third RSKX52 = Shrek The Third RSLEAF = Soulcalibur: Legends RSLJAF = Soulcalibur: Legends -RSLKAF = Soulcalibur: Legends +RSLKAF = Soulcalibur Legends RSLPAF = Soulcalibur: Legends RSME8P = Super Monkey Ball: Banana Blitz -RSMJ8P = Super Monkey Ball: Banana Blitz +RSMJ8P = Super Monkey Ball: Uki Uki Party Daishuugou RSMP8P = Super Monkey Ball: Banana Blitz RSND69 = The Simpsons Game RSNE69 = The Simpsons Game @@ -1755,11 +1755,11 @@ RSQEAF = We Ski RSQJAF = Family Ski RSQPAF = Family Ski RSRE8P = Sonic and the Secret Rings -RSRJ8P = Sonic and the Secret Rings +RSRJ8P = Sonic to Himitsu no Ring RSRP8P = Sonic and the Secret Rings RSSEH4 = Samurai Shodown Anthology RSSJH4 = Samurai Spirits: Rokuban Shoubu -RSSK52 = Samurai Spirits: Rokuban Shoubu +RSSK52 = Samurai Spirits - 6beonui Seungbu RSSP7U = Samurai Shodown Anthology RSTE64 = Star Wars: The Force Unleashed RSTJ52 = Star Wars: The Force Unleashed @@ -1777,7 +1777,7 @@ RSXK69 = SSX Blur RSXP69 = SSX Blur RSYE20 = Showtime Championship Boxing RSYP7J = Showtime Championship Boxing -RSZJES = Yukinko Daisenpuu +RSZJES = Yukinko Daisenpuu: Sayuki to Koyuki no Hie Hie Daisoudou RSZPGT = Legend of Sayuki RT2E20 = Arctic Tale RT2P7J = Arctic Tale @@ -1795,8 +1795,8 @@ RT7E69 = Tiger Woods PGA Tour 07 RT7F69 = Tiger Woods PGA Tour 07 RT7P69 = Tiger Woods PGA Tour 07 RT8E69 = Tiger Woods PGA Tour 08 -RT8J13 = Tiger Woods PGA Tour Golf 08 -RT8K69 = Tiger Woods PGA Tour Golf 08 +RT8J13 = Tiger Woods PGA Tour 08 +RT8K69 = Tiger Woods PGA Tour 08 RT8P69 = Tiger Woods PGA Tour 08 RT9E52 = Tony Hawk's Proving Ground RT9P52 = Tony Hawk's Proving Ground @@ -1807,8 +1807,8 @@ RTBP52 = Rapala Fishing Frenzy RTCE41 = Tom Clancy's Splinter Cell: Double Agent RTCP41 = Tom Clancy's Splinter Cell: Double Agent RTDE6K = The Monkey King: The Legend Begins -RTDJES = Shin Chuuka Taisen -RTDK8M = Shin Chuuka Taisen +RTDJES = Shin Chuuka Taisen: Michael to Meimei no Bouken +RTDK8M = Sin Junghwa-daeseon - Michaelgwa Meimeiui Moheom RTEE78 = Paws & Claws: Pet Vet RTEHMR = Real Stories: Veterinaire RTEPFR = My Vet Practice @@ -1818,19 +1818,19 @@ RTFK52 = Transformers: The Game RTFP52 = Transformers: The Game RTFX52 = Transformers: The Game RTFY52 = Transformers: The Game -RTGJ18 = Wi-Fi Taiō Gensen Table Games Wii +RTGJ18 = Gensen Table Game Wii RTHE52 = Tony Hawk's Downhill Jam RTHP52 = Tony Hawk's Downhill Jam RTIE8P = Wacky World of Sports -RTIJ8P = Wacky World of Sports +RTIJ8P = Chin Sports RTIP8P = Wacky World of Sports RTJE68 = Star Trek: Conquest RTJP68 = Star Trek: Conquest RTKE5Z = Octomania RTKJDQ = Sharuui Takoron -RTKK8M = Sharuui Takoron +RTKK8M = Modu Hamkke Takoron RTLE18 = Fishing Master: World Tour -RTLJ18 = Mezase Tsuri Master Sekai ni Challenge Hen +RTLJ18 = Mezase!! Tsuri Master: Sekai ni Challenge! Hen RTLP18 = Fishing Master: World Tour RTME41 = TMNT RTMP41 = TMNT: Teenage Mutant Ninja Turtles @@ -1843,11 +1843,11 @@ RTQENR = Monster Trux Offroad RTQPUG = Monster Trux Offroad RTQXUG = Monster Trux Offroad RTRE18 = Fishing Master -RTRJ18 = Mezase Tsuri Master +RTRJ18 = Mezase!! Tsuri Master RTRP18 = Fishing Master RTSEVN = Totally Spies! Totally Party RTSP41 = Totally Spies! Totally Party -RTTJAF = Tamagotchi no Furifuri Kagekidan +RTTJAF = Tamagotchi no Furi Furi Kagekidan! RTUEJJ = Secret Files Tunguska RTUFKM = Secret Files: Tunguska RTUPKM = Secret Files: Tunguska @@ -1857,9 +1857,9 @@ RTWE5D = TNA iMPACT! RTWP5D = TNA iMPACT! RTYP01 = Wii Chess RTZE08 = Zack & Wiki: Quest for Barbaros' Treasure -RTZJ08 = Takarajima Z Barbaros' Treasure -RTZK08 = Zack & Wiki: Quest For Barbaros' Treasure -RTZP08 = Zack & Wiki: Quest For Barbaros' Treasure +RTZJ08 = Takarajima Z: Barbaros no Hihou +RTZK08 = Zack & Wiki - Barbarosui Bomul +RTZP08 = Zack & Wiki: Quest for Barbaros' Treasure RU2E5Z = Winter Sports 2: The Next Challenge RU2P5Z = Winter Sports 2 The Next Challenge RU3E5Z = Summer Athletics: The Ultimate Challenge @@ -1909,27 +1909,27 @@ RULP4Q = Ultimate Band RULR4Q = Ultimate Band RUME5Z = Ski and Shoot RUMPFR = Summer Athletics -RUNJ0Q = New Unou Kids Wii EX +RUNJ0Q = New Unou Kids Wii RUOEPL = Aliens in the Attic RUOPPL = Aliens in the Attic RUPJC8 = Winning Post 7 Maximum 2008 RUQD78 = Up RUQE78 = Up RUQI78 = Up -RUQJJE = Carl Jii San no Sora Tobu Le +RUQJJE = Disney-Pixar Carl Jiisan no Soratobu Ie RUQP78 = Up RUQS78 = Up RUQX78 = Up RUREPL = Pool Hall Pro RURPPL = Pool Hall Pro RUSE78 = SpongeBob SquarePants featuring Nicktoons: Globs of Doom -RUSK78 = SpongeBob SquarePants Featuring Nicktoons: Globs of Doom +RUSK78 = Nickelodeon SpongeBob SquarePants featuring Nicktoons - Globs of Doom RUSP78 = SpongeBob SquarePants featuring Nicktoons: Globs of Doom RUSX78 = SpongeBob SquarePants Featuring Nicktoons: Globs of Doom RUSY78 = SpongeBob SquarePants featuring Nicktoons: Globs of Doom RUUE01 = Animal Crossing: City Folk -RUUJ01 = Machi He Ikouyo: Doubutsu no Mori -RUUK01 = Animal Crossing: City Folk +RUUJ01 = Machi e Ikou yo: Doubutsu no Mori +RUUK01 = Tauneuro Nolleogayo - Dongmurui Sup RUUP01 = Animal Crossing: Let's Go to the City RUWJC8 = Winning Post World RUXPUG = Urban Extreme: Street Rage @@ -1962,7 +1962,7 @@ RVIE4F = Bionicle Heroes RVIP4F = Bionicle Heroes RVJPFR = So Blonde: Back to the Island RVKEXJ = Valhalla Knights: Eldar Saga -RVKJ99 = Valhalla Knights: Elder Saga +RVKJ99 = Valhalla Knights: Eldar Saga RVKKZA = Valhalla Knights: Eldar Saga RVKP99 = Eldar Saga RVLPA4 = Rock Revolution @@ -1997,7 +1997,7 @@ RVYY52 = Call of Duty: World at War RVZE52 = Monsters vs. Aliens RVZP52 = Monsters vs. Aliens RW3E4Q = Pirates of the Caribbean: At World's End -RW3J4Q = Pirates of the Caribbean: At World's End +RW3J4Q = Disney Pirates of the Caribbean: At World's End RW3P4Q = Pirates Of The Caribbean: At World's End RW4D41 = My Word Coach: Develop your vocabulary RW5F41 = Who Wants To Be A Millionaire: 2nd Edition @@ -2009,8 +2009,8 @@ RW9P78 = WWE SmackDown vs. Raw 2009 RW9X78 = WWE SmackDown vs. Raw 2009 RWAD78 = WALL•E RWAE78 = WALL•E -RWAJ78 = WALL•E -RWAK78 = WALL•E +RWAJ78 = Disney-Pixar WALL-E +RWAK78 = Disney-Pixar WALL-E RWAP78 = WALL•E RWAR78 = WALL•E RWAU78 = WALL•E @@ -2051,8 +2051,8 @@ RWQPSP = WSC Real 08: World Snooker Championship RWRE4F = Wacky Races: Crash & Dash RWRP4F = Wacky Races: Crash & Dash RWSE8P = Mario & Sonic at the Olympic Games -RWSJ01 = Mario & Sonic at the Olympic Games -RWSK01 = Mario & Sonic at the Olympic Games +RWSJ01 = Mario & Sonic at Bejing Olympic +RWSK01 = Mariowa Sonic Beijing Olympic RWSP8P = Mario & Sonic at the Olympic Games RWTEG9 = Ben 10: Alien Force RWTPG9 = Ben 10: Alien Force @@ -2072,7 +2072,7 @@ RWZX5G = Wonder World Amusement Park RX2E70 = My Horse & Me: Riding for Gold RX2P70 = My Horse & Me 2 RX3E01 = ExciteBots: Trick Racing -RX3J01 = ExciteBots: Trick Racing +RX3J01 = Excite Mou Machine RX4E4Z = Casper's Scare School: Spooky Sports Day RX4PMT = Casper's Scare School: Spooky Sports Day RX5E52 = Tony Hawk: Ride @@ -2092,14 +2092,14 @@ RXAP78 = WWE SmackDown vs. Raw 2010 RXBE70 = Backyard Baseball '10 RXCE4Z = Dave Mirra BMX Challenge RXCPGT = Dave Mirra BMX Challenge -RXDD4Q = Disney Th!nk Fast: The Ultimate Trivia Showdown +RXDD4Q = Th!nk Fast: The Ultimate Trivia Showdown RXDE4Q = Disney Th!nk Fast: The Ultimate Trivia Showdown -RXDJ4Q = Disney Th!nk Haya Oshi Quiz +RXDJ4Q = Disney Think: Haya Oshi Quiz RXDP4Q = Disney Th!nk Fast: The Ultimate Trivia Showdown RXDR4Q = Disney Th!nk Fast: The Ultimate Trivia Showdown RXDX4Q = Disney Th!nk Fast: The Ultimate Trivia Showdown RXDY4Q = Disney Th!nk Fast: The Ultimate Trivia Showdown -RXEJDA = Major Wii Perfect Closer +RXEJDA = Major Dream: Major Wii: Perfect Closer RXFEVN = Offshore Tycoon RXGE6K = Geon Cube RXGP6K = Geon Cube @@ -2117,7 +2117,7 @@ RXNEXS = Hooked Again: Real Motion Fishing RXNJJF = Bass Fishing Wii World Tournament RXNPGT = Big Catch Bass Fishing 2 RXPEXS = Hooked!: Real Motion Fishing -RXPJJF = Bass Fishing Wii +RXPJJF = Bass Fishing Wii: Rokumaru Densetsu RXPPGT = Big Catch Bass Fishing RXQEWR = Where the Wild Things Are RXQPWR = Where the Wild Things Are @@ -2131,19 +2131,19 @@ RXUX41 = Surf's Up RXVXWP = Télé 7 Jeux: Mots Croisés RXWE20 = M&M's Beach Party RXXE4Q = Spectrobes: Origins -RXXJ4Q = Spectrobes: Origins +RXXJ4Q = Kaseki Monster: Spectrobes RXXP4Q = Spectrobes: Origins RXYE4Z = Puzzle Challenge: Crosswords and More! RXYP4Z = Puzzle Challenge Crosswords RXZE52 = Cabela's Dangerous Hunts 2009 RXZP52 = Cabela's Dangerous Adventures RY2E41 = Rayman Raving Rabbids 2 -RY2J41 = Rayman Raving Rabbids 2 -RY2K41 = Rayman Raving Rabbids 2 +RY2J41 = Rabbids Party Returns +RY2K41 = Rayman - Raving Rabbids 2 RY2P41 = Rayman Raving Rabbids 2 RY2R41 = Rayman Raving Rabbids 2 RY3E41 = Rayman Raving Rabbids TV Party -RY3J41 = Rayman Raving Rabbids TV Party +RY3J41 = Rabbids Party: TV Party RY3K41 = Rayman Raving Rabbids: TV Party RY3P41 = Rayman Raving Rabbids: TV Party RY4J8P = Puyo Puyo 7 @@ -2153,7 +2153,8 @@ RY6EA4 = Walk It Out! RY6PA4 = Step to the Beat RY7PHZ = Ninja Captains RY8EFS = Bass Pro Shops: The Strike -RYAJDA = Yattaman Wii Bikkuridokkiri Machine De Mou Race Da Koron +RY9E69 = FIFA Soccer 09 All-Play +RYAJDA = Yatterman Wii: Bikkuri Dokkiri Machine de Mou Race da Koron RYBE69 = Boom Blox: Bash Party RYBP69 = Boom Blox: Bash Party RYDELT = Pet Pals: Animal Doctor @@ -2161,7 +2162,7 @@ RYDP6V = Pet Pals: Animal Doctor RYEEEB = 101-in-1 Party Megamix RYEPHZ = 101-in-1 Party Megamix RYGE9B = Rygar: The Battle of Argus -RYGJ9B = Argus no Senshi Muscle Impact +RYGJ9B = Argos no Senshi: Muscle Impact RYGP99 = Rygar: The Battle of Argus RYHES5 = Roogoo: Twisted Towers RYHPS5 = Roogoo: Twisted Towers @@ -2170,7 +2171,7 @@ RYIPNK = SPRay RYJPTV = Princess Lillifee's Magic Fairy RYKEAF = We Ski & Snowboard RYKJAF = Family Ski: World Ski & Snowboard -RYKK01 = We Ski & Snowboard +RYKK01 = Family Ski & Snowboard RYKPAF = Family Ski & Snowboard RYLDSV = Germany's Next Top Model RYLPSV = Top Model Academy @@ -2188,7 +2189,7 @@ RYTE4Z = PBR: Out of the Chute RYVJMS = Illvelo Wii RYWE01 = Big Brain Academy: Wii Degree RYWJ01 = Wii de Yawaraka Atama Juku -RYWK01 = Big Brain Academy: Wii Degree +RYWK01 = Wiiro Dahamkke! Mallangmallang Dunoegyosil RYWP01 = Big Brain Academy for Wii RYXE20 = Yamaha Supercross RYXP7J = Yamaha Supercross @@ -2196,18 +2197,18 @@ RYZE6U = World Party Games RYZPTV = Play the World RZ2JG9 = Simple Wii Series Vol. 1: The Minna de Kart Race RZ3JG9 = Simple Wii Series Vol. 2: The Minna de Bass Tsuri Taikai -RZ4JG9 = Simple Wii Series Vol. 3: The Casino Party +RZ4JG9 = Simple Wii Series Vol. 3: Asonde Oboeru: The Party Casino RZ5JG9 = Simple Wii Series Vol. 4: The Shooting Action RZ6JG9 = Simple Wii Series Vol. 5: The Block Kuzushi -RZ7JG9 = Simple Wii Series Vol. 6: The Waiwai Konbatto -RZ8JG9 = Simple 2000 Series Wii Vol. 1: The Table Game +RZ7JG9 = Simple Wii Series Vol. 6: The Wai Wai Combat +RZ8JG9 = Simple 2000 Series Wii Vol. 1: The Table Game: Mahjong, Igo, Shougi, Card, Hanafuda, Reversi, Gomoku Narabe RZ9EG9 = Family Party: 30 Great Games RZ9JG9 = Simple 2000 Series Wii Vol. 2: The Party Game RZ9PG9 = Family Party: 30 Great Games RZAPTV = Lernerfolg Grundschule Power Math RZCE6K = Saint RZDE01 = The Legend of Zelda: Twilight Princess -RZDJ01 = The Legend of Zelda: Twilight Princess +RZDJ01 = Zelda no Densetsu: Twilight Princess RZDK01 = The Legend of Zelda: Twilight Princess RZDP01 = The Legend of Zelda: Twilight Princess RZEE52 = Science Papa @@ -2230,8 +2231,8 @@ RZNJ01 = Zangeki no Reginleiv RZOE78 = World of Zoo RZOP78 = World of Zoo RZPE01 = Link's Crossbow Training -RZPJ01 = Link's Crossbow Training -RZPK01 = Link's Crossbow Training +RZPJ01 = Link no Bowgun Training +RZPK01 = Linkui Sagyeok Training RZPP01 = Link's Crossbow Training RZREGT = The Destiny of Zorro RZRPGT = The Destiny of Zorro @@ -2252,7 +2253,7 @@ RZZJEL = MadWorld RZZP8P = MadWorld S22JAF = Family Fishing S22K01 = Family Fishing -S25JGD = Dragon Quest 25 Collection: Famicom & Super Famicom Dragon Quest I-II-III +S25JGD = Dragon Quest 25 Shuunen Kinen: Famicom & Super Famicom Dragon Quest I-II-III S26PML = 2-in-1: Pony Friends 2 + My Riding Stables: Life with Horses S2AEAF = Active Life: Explorer S2AJAF = Minna de Bouken! Family Trainer @@ -2268,6 +2269,7 @@ S2HE70 = Haunted House S2HP70 = Haunted House S2IE8P = Iron Man 2 S2IP8P = Iron Man 2 +S2IZ8P = Iron Man 2 - Walmart Edition S2LE01 = PokéPark 2: Wonders Beyond S2LJ01 = PokéPark 2: Beyond the World S2LP01 = PokéPark 2: Wonders Beyond @@ -2281,7 +2283,7 @@ S2PYA4 = Pro Evolution Soccer 2012 S2QE54 = NBA 2K12 S2QP54 = NBA 2K12 S2RPNK = Reload -S2TJAF = Taiko no Tatsujin Wii: Dodoon to 2 Daime! +S2TJAF = Taiko no Tatsujin Wii: Dodoon to 2-daime! S2UE41 = Just Dance 2020 S2UP41 = Just Dance 2020 S2VEG9 = Victorious: Taking the Lead @@ -2311,7 +2313,7 @@ S3BEWR = Batman: The Brave and the Bold S3BPWR = Batman: The Brave and the Bold S3CENR = Triple Crown Championship Snowboarding S3DE18 = Deca Sports 3 -S3DJ18 = Deca Sporta 3 +S3DJ18 = Deca Sporta 3: Wii de Sports 10 Shumoku! S3DP18 = Sports Island 3 S3EE78 = Barbie Jet, Set & Style! S3EP78 = Barbie Jet, Set & Style! @@ -2333,14 +2335,14 @@ S3PP4Q = Disney Princess: My Fairytale Adventure S3PX4Q = Disney Princess: My Fairytale Adventure S3RJMS = Twinkle Queen S3SJ18 = Karaoke Joysound Wii Super DX: Hitori de Minna de Utai Houdai! -S3TJAF = Taiko no Tatsujin Wii: Minna de Party ☆ 3 Daime! +S3TJAF = Taiko no Tatsujin Wii: Minna de Party 3-daime! S3WEG9 = Family Party: 30 Great Games Winter Fun S3WPG9 = Family Party: 30 Great Games Winter Fun S3XE78 = WWE '13 S3XP78 = WWE '13 S3ZE52 = Men In Black: Alien Crisis S3ZP52 = Men In Black: Alien Crisis -S4MJGD = Dragon Quest X Online: Mesamashi Itsutsu no Shuzoku +S4MJGD = Dragon Quest X: Mezameshi Itsutsu no Shuzoku Online S4SJGD = Dragon Quest X: Nemureru Yuusha to Michibiki no Meiyuu Online S59E01 = Samurai Warriors 3 S59JC8 = Sengoku Musou 3 @@ -2370,9 +2372,9 @@ S6IE78 = Disney Princess: Enchanting Storybooks S6IP78 = Disney Princess: Enchanting Storybooks S6RE52 = Wreck-It Ralph S6RP52 = Wreck-It Ralph -S6TJGD = Dragon Quest X (All in One Package) +S6TJGD = Dragon Quest X: All in One Package S72E01 = Kirby's Dream Collection: Special Edition -S72J01 = Hoshi no Kirby: 20th Anniversary Edition +S72J01 = Hoshi no Kirby: 20 Shuunen Special Collection S75E69 = Monopoly Streets S75P69 = Monopoly Streets S7AEWR = LEGO Batman 2: DC Super Heroes @@ -2425,7 +2427,7 @@ SARE4Z = Aladdin Magic Racer SARPNK = Aladin: Magic Racer SASEWW = Atrévete a Soñar SATE6K = Chuck E. Cheese's Super Collection -SAUJ8P = Puyo Puyo!! 20th Anniversary +SAUJ8P = Puyo Puyo!! Puyopuyo 20th Anniversary SAVE5G = Alvin and the Chipmunks: The Squeakquel SAVX5G = Alvin and the Chipmunks: The Squeakquel SAWE52 = Angry Birds Trilogy @@ -2442,7 +2444,7 @@ SB3J08 = Sengoku BASARA 3 SB3P08 = Sengoku Basara: Samurai Heroes SB4E01 = Super Mario Galaxy 2 SB4J01 = Super Mario Galaxy 2 -SB4K01 = Super Mario Galaxy 2 +SB4K01 = Super Mario Wii 2 - Galaxy Adventure Together SB4P01 = Super Mario Galaxy 2 SB4W01 = Super Mario Galaxy 2 SB5E54 = NBA 2K11 @@ -2455,7 +2457,7 @@ SB9E78 = Barbie: Groom and Glam Pups SB9EVZ = Barbie: Groom and Glam Pups SB9P78 = Barbie: Groom and Glam Pups SB9X78 = Barbie: Groom and Glam Pups -SBAJGD = Dragon Quest Monsters: Battle Road Victory +SBAJGD = Dragon Quest: Monster Battle Road Victory SBBE18 = Beyblade: Metal Fusion - Battle Fortress SBBJ18 = Metal Fight Beyblade Gachinko Stadium SBBP18 = Beyblade: Metal Fusion - Counter Leone @@ -2506,8 +2508,8 @@ SC7P52 = Call of Duty: Black Ops SC7S52 = Call of Duty: Black Ops SC7Z52 = Call of Duty: Black Ops SC8E01 = Wii Play: Motion -SC8J01 = Wii Play: Motion -SC8K01 = Wii Play: Motion +SC8J01 = Wii Remocon Plus: Variety +SC8K01 = Wii Remocon Plusro Jeulgineun - Variety Game Box SC8P01 = Wii Play: Motion SC9P52 = Cabela's Big Game Hunter 2010 SCAE18 = Calling @@ -2573,7 +2575,7 @@ SDGE4Q = Disney Channel: All Star Party SDGP4Q = Disney Channel: All Star Party SDIE4Q = Disney Sing It: Party Hits SDIP4Q = Disney Sing It: Party Hits -SDJJAF = SD Gundam: G Generation World +SDJJAF = SD Gundam: GGeneration World SDLE78 = Dood's Big Adventure SDLP78 = Dood's Big Adventure SDMEG9 = Despicable Me: The Game @@ -2583,7 +2585,7 @@ SDNP41 = Just Dance SDOPLR = Doctor Who: Return To Earth SDPE54 = Dora's Big Birthday Adventure SDPP54 = Dora's Big Birthday Adventure -SDQJGD = Dragon Quest X Inishie no Ryu no Denshou Online +SDQJGD = Dragon Quest X: Inishie no Ryuu no Denshou Online SDREYG = Maximum Racing: Drag & Stock Racer SDRPNG = Drag & Stock Racer SDSPNG = We Dance @@ -2594,7 +2596,7 @@ SDUX41 = The Smurfs Dance Party - Walmart Edition SDVE41 = Driver: San Francisco SDVP41 = Driver: San Francisco SDWE18 = Lost in Shadow -SDWJ18 = Lost in Shadow +SDWJ18 = Kage no Tou SDWP18 = A Shadow's Tale SDXE4Q = Disney Universe SDXP4Q = Disney Universe @@ -2609,7 +2611,7 @@ SE3P41 = Just Dance 2015 SE8E41 = Just Dance 2018 SE8P41 = Just Dance 2018 SEAE69 = EA Sports Active: More Workouts -SEAJ13 = EA Sports Active More Workout +SEAJ13 = EA Sports Active Personal Trainer Wii: 6 Shuukan Shuuchuu Hikishime Program SEAP69 = EA Sports Active: More Workouts SECE69 = Create SECP69 = Create @@ -2620,7 +2622,7 @@ SELE69 = FIFA Soccer 11 SELP69 = FIFA 11 SELX69 = FIFA 11 SEME4Q = Disney Epic Mickey -SEMJ01 = Disney Epic Mickey: Mickey Mouse and the Magic Brush +SEMJ01 = Disney Epic Mickey: Mickey Mouse to Mahou no Fude SEMP4Q = Disney Epic Mickey SEMX4Q = Disney Epic Mickey SEMY4Q = Disney Epic Mickey @@ -2632,29 +2634,31 @@ SEPX41 = The Black Eyed Peas Experience D1 Edition SEPZ41 = The Black Eyed Peas Experience: Limited Edition SERE4Q = Disney Epic Mickey 2: The Power of Two SERF4Q = Disney Epic Mickey 2: The Power of Two -SERJ91 = Disney Epic Mickey 2: The Power of Two +SERJ91 = Disney Epic Mickey 2: Futatsu no Chikara SERK8M = Disney Epic Mickey 2: The Power of Two SERP4Q = Disney Epic Mickey 2: The Power of Two SERV4Q = Disney Epic Mickey 2: The Power of Two SESEWR = Sesame Street: Ready, Set, Grover! SESPWR = Sesame Street: Ready, Set, Grover! SESUWR = Sesame Street: Ready, Set, Grover! +SEUPEY = Retro City Rampage DX +SEVPEY = Shakedown: Hawaii SEZJHF = Inazuma Eleven Strikers 2012 Xtreme SF2P64 = Star Wars: The Force Unleashed II SF4E20 = Flatout SF4PXT = Flatout SF5E41 = Fit in Six -SF5J41 = Fit in Six +SF5J41 = Fit in Six: Karada o Kitaeru 6-tsu no Youso SF5P41 = My Fitness Coach: Club SF7E41 = Family Feud 2012 Edition SF8E01 = Donkey Kong Country Returns SF8J01 = Donkey Kong Returns SF8P01 = Donkey Kong Country Returns SFAE41 = Family Feud Decades -SFAJGD = Fullmetal Alchemist: Daughter of the Dusk +SFAJGD = Hagane no Renkinjutsushi: Fullmetal Alchemist: Tasogare no Shoujo SFBE70 = Backyard Sports Football: Rookie Rush SFDEAF = Active Life: Magical Carnival -SFDJAF = Issyoni Asobou! Dream Theme Park +SFDJAF = Issho ni Asobu! Dream Theme Park SFDPAF = Family Trainer: Magical Carnival SFEPYF = Fit Music SFGE69 = Hasbro: Family Game Night 4 - The Game Show @@ -2677,7 +2681,7 @@ SFTP78 = Wheel of Fortune SFUE64 = Star Wars: The Force Unleashed II SFVEXJ = Fishing Resort SFWE69 = 2010 FIFA World Cup South Africa -SFWJ13 = 2010 FIFA World Cup South Africa +SFWJ13 = 2010 FIFA World Cup: Minami Africa Taikai SFWK69 = 2010 FIFA World Cup South Africa SFWP69 = 2010 FIFA World Cup South Africa SFWX69 = 2010 FIFA World Cup South Africa @@ -2768,7 +2772,7 @@ SHFE20 = Basketball Hall of Fame: Ultimate Hoops Challenge SHGDRM = Holiday Games SHHE69 = Harry Potter and the Deathly Hallows, Part 1 SHHP69 = Harry Potter and the Deathly Hallows - Part 1 -SHIJ2N = Shape Boxing 2 Wii Enjoy Diet! +SHIJ2N = Shape Boxing 2: Wii de Enjoy Diet! SHKE20 = Hello Kitty Seasons SHKPNQ = Hello Kitty Seasons SHLPA4 = Silent Hill: Shattered Memories @@ -2803,8 +2807,8 @@ SIFESZ = The Island of Dr. Frankenstein SIFPNJ = The Island of Dr. Frankenstein SIHE4Z = Sing 4: The Hits Edition SIIE8P = Mario & Sonic at the London 2012 Olympic Games -SIIJ01 = Mario & Sonic at the London 2012 Olympic Games -SIIK01 = Mario & Sonic at the London 2012 Olympic Games +SIIJ01 = Mario & Sonic at London Olympic +SIIK01 = Mariowa Sonic London Olympic SIIP8P = Mario & Sonic at the London 2012 Olympic Games SIJE52 = iCarly 2: iJoin the Click! SIJP52 = iCarly 2: iJoin the Click! @@ -2814,7 +2818,7 @@ SIME69 = MySims Collection SINPNG = We Sing: Robbie Williams SIPE7T = I SPY Game Pack SISENR = Princess Isabella: A Witch's Curse -SISJ0Q = Pelvic Fitness by Wii (Isometric & Karate Exercise) +SISJ0Q = Isometric & Karate Exercise: Wii de Kotsuban Fitness SISPUH = Princess Isabella: A Witch's Curse SITPNG = We Sing: Deutsche Hits SIUUNG = We Sing Down Under @@ -2872,7 +2876,7 @@ SJTP41 = Just Dance: Best Of SJUE20 = Dino Strike SJUPXT = Dino Strike SJVE20 = Shawn Johnson Gymnastics -SJWJA4 = Winning Eleven PLAY MAKER 2010 Japan Challenge +SJWJA4 = Winning Eleven Play Maker 2010: Aoki Samurai no Chousen SJXD41 = Just Dance 4 Special Edition SJXE41 = Just Dance 4 SJXP41 = Just Dance 4 @@ -2883,7 +2887,7 @@ SK4E52 = Shrek Forever After SK4I52 = Shrek Forever After SK4P52 = Shrek Forever After SK5PY1 = Kylie Sing & Dance -SK6KJD = K-POP Dance Festival +SK6KJD = K-Pop Dance Festival SK7PVZ = Disney Violetta: Rhythm & Music SK7XVZ = Disney Violetta: Rhythm & Music SK8D52 = Skylanders: Trap Team @@ -2896,8 +2900,8 @@ SKAEA4 = Karaoke Revolution Glee SKAPA4 = Karaoke Revolution Glee SKBEG9 = Kidz Bop Dance Party! SKCE20 = Bigfoot: King of Crush -SKDJ18 = Karaoke Joysound Wii Duet Song -SKEJ18 = Karaoke Joysound Wii: Enka Kayoukyoku Hen +SKDJ18 = Karaoke Joysound Wii: Duet Kyoku-hen +SKEJ18 = Karaoke Joysound Wii: Enka Kayoukyoku-hen SKGEA4 = Karaoke Revolution Glee Volume 2 SKGPA4 = Karaoke Revolution Glee Volume 2 SKHJAF = Kamen Rider Super Climax Heroes @@ -2956,7 +2960,7 @@ SLIE52 = Little League World Series Baseball: Double Play SLJPKM = Let's Sing 8 - Spanish Version SLKPKM = Let’s Sing 2016 : Hits Français SLLEWW = Lucha Libre AAA: Héroes del Ring -SLMPWL = 40 Principales Karaoke Party Vol. 2 +SLMPWL = Los 40 Principales Karaoke Party Vol. 2 SLNP7M = The Voice Vol. 3 SLPP5D = Spirit of the Wolf SLREWR = LEGO The Lord of the Rings @@ -2989,7 +2993,7 @@ SM9E54 = Major League Baseball 2K12 SMAENR = Marines: Modern Urban Combat SMAPGN = Marines: Modern Urban Combat SMBE8P = Super Monkey Ball: Step & Roll -SMBJ8P = Super Monkey Ball: Step & Roll +SMBJ8P = Super Monkey Ball Athletic SMBP8P = Super Monkey Ball: Step & Roll SMCENR = We Wish You a Merry Christmas SMCPXT = We Wish You a Merry Christmas @@ -3004,9 +3008,9 @@ SMJE52 = Monster Jam: Path of Destruction SMJP52 = Monster Jam: Path of Destruction SMKE4Z = Gem Smashers SMLE54 = Major League Baseball 2K10 -SMMJ0Q = Momu chan Diet Wii Figurobics by Chon Dayon +SMMJ0Q = Momu-chan Diet Wii: Figurobics by Chon Dayon SMNE01 = New Super Mario Bros. Wii -SMNJ01 = New Super Mario Bros. Wii +SMNJ01 = New Super Mario Brothers Wii SMNK01 = New Super Mario Bros. Wii SMNP01 = New Super Mario Bros. Wii SMNW01 = New Super Mario Bros. Wii @@ -3021,8 +3025,8 @@ SMRE78 = WWE SmackDown vs. Raw 2011 SMRP78 = WWE SmackDown vs. Raw 2011 SMSE78 = Marvel Super Hero Squad: The Infinity Gauntlet SMSP78 = Marvel Super Hero Squad: The Infinity Gauntlet -SMTJ18 = Momotarô Dentetsu 2010 -SMUJAF = Daikaijuu Battle: Ultra Coliseum DX - Ultra Senshi Daishuuketsu +SMTJ18 = Momotarou Dentetsu 2010: Sengoku Ishin no Hero Daishuugou! no Maki +SMUJAF = Daikaijuu Battle: Ultra Coliseum DX: Ultra Senshi Daishuuketsu SMVE54 = Major League Baseball 2K11 SMWE4Z = Man vs. Wild SMYE20 = Minute to Win It @@ -3032,7 +3036,7 @@ SN2E69 = NERF N-Strike Double Blast Bundle SN3EYG = Maximum Racing: Rally Racer SN3PNG = Rally Racer SN4EDA = Naruto Shippuden: Dragon Blade Chronicles -SN4JDA = Naruto Shippuuden: Ryujinki +SN4JDA = Naruto Shippuuden: Ryuu Jin-ki SN4XGT = Naruto Shippuden: Dragon Blade Chronicles SN5EYG = Maximum Racing: Crash Car Racer SN5PNG = Crash Car Racer @@ -3064,7 +3068,6 @@ SNJP69 = NBA Jam SNKP54 = Nickelodeon Fit SNKX54 = Nickelodeon Fit SNLE54 = Nickelodeon Dance -SNLP54 = Nickelodeon Dance SNLX54 = Nickelodeon Dance SNMEAF = Namco Museum Megamix SNOPY1 = Now! That's What I Call Music: Dance & Sing @@ -3078,7 +3081,7 @@ SNUPJW = Happy Neuron Academy SNVE69 = Need for Speed: The Run SNVJ13 = Need for Speed: The Run SNVP69 = Need for Speed: The Run -SNXJDA = Naruto Shippuuden: Gekitou Ninja Taisen Special +SNXJDA = Naruto Shippuuden: Gekitou Ninja Taisen! Special SNYEVZ = Monster High: 13 Wishes SNYPVZ = Monster High: 13 Wishes SNZEVZ = Barbie: Dreamhouse Party @@ -3097,7 +3100,7 @@ SOKEA4 = Karaoke Joysound SOKJ18 = Karaoke Joysound Wii DX SOME01 = Rhythm Heaven Fever SOMJ01 = Minna no Rhythm Tengoku -SOMK01 = Rhythm World Wii +SOMK01 = Rhythm Sesang Wii SOMP01 = Beat the Beat: Rhythm Paradise SONDMR = My First Songs SONFMR = My First Songs @@ -3107,7 +3110,7 @@ SOSEG9 = Turbo: Super Stunt Squad SOSPAF = Turbo: Super Stunt Squad SOTE52 = Wipeout: The Game SOUE01 = The Legend of Zelda: Skyward Sword -SOUJ01 = The Legend of Zelda: Skyward Sword +SOUJ01 = Zelda no Densetsu: Skyward Sword SOUK01 = The Legend of Zelda: Skyward Sword SOUP01 = The Legend of Zelda: Skyward Sword SP2E01 = Wii Sports + Wii Sports Resort @@ -3142,7 +3145,7 @@ SPOPFR = Winter Sports 2011: Go for Gold SPPEFS = Power Punch SPQE7T = I SPY Spooky Mansion SPRE41 = The Price Is Right: 2010 Edition -SPTJEB = Hospital. 6 nin no Ishi +SPTJEB = Hospital. 6-nin no Ishi SPUE20 = Let's Paint SPVEA4 = Pro Evolution Soccer 2011 SPVPA4 = Pro Evolution Soccer 2011 @@ -3167,7 +3170,7 @@ SQIE4Q = Disney Infinity SQIP4Q = Disney Infinity SQIY4Q = Disney Infinity SQKE5G = Mama's 2-Pack -SQKK01 = Mama's 2-Pack +SQKK01 = Cooking Mama SQLE4Z = Cartoon Network: Punch Time Explosion XL SQLPGN = Cartoon Network: Punch Time Explosion XL SQME52 = Spider-Man: Edge of Time @@ -3185,7 +3188,7 @@ SQVP69 = FIFA 15 - Legacy Edition SQVX69 = FIFA 15 - Legacy Edition SQWE52 = The Voice: I Want You SR4E41 = Raving Rabbids: Travel in Time -SR4J41 = Raving Rabbids: Travel in Time +SR4J41 = Rabbids Party: Time Travel SR4P41 = Raving Rabbids: Travel in Time SR5E41 = Raving Rabbids Party Collection SR5P41 = Raving Rabbids Party Collection @@ -3193,7 +3196,7 @@ SR6EHG = Reader Rabbit 1st Grade SR7EHG = Reader Rabbit 2nd Grade SR8EHG = Reader Rabbit Kindergarten SR9EHG = Reader Rabbit Preschool -SRAJMS = Rajirugi Noa Wii +SRAJMS = Radirgy Noa Wii SRBPHS = Rugby League 3 SRCE69 = Rock Band: Country Track Pack 2 SREXNL = Reader Rabbit Kindergarten @@ -3213,7 +3216,7 @@ SRNE70 = Project Runway SRNP70 = Project Runway SROENS = Rodea the Sky Soldier SROJQC = Tenkuu no Kishi Rodea -SROKZ5 = Rodea the Sky Soldier +SROKZ5 = Cheongongui Gisa Rodea SROPNS = Rodea the Sky Soldier SRPE4Q = Disney Tangled SRPP4Q = Disney Tangled @@ -3255,7 +3258,7 @@ SSCPWR = Scene It? Bright Lights! Big Screen! SSCSWR = Scene It? Bright Lights! Big Screen! SSCXPM = Scene It? Bright Lights! Big Screen! SSDDRV = Schlag den Raab -SSEDNG = We Sing: Encore +SSEDNG = We Sing Vol. 2 SSEPNG = We Sing: Encore SSEVNG = We Sing: Encore SSFPKM = Sing 4: The Hits Edition @@ -3271,7 +3274,7 @@ SSMPGD = Mensa Academy SSNEYG = Sniper Elite SSNPHY = Sniper Elite SSPE52 = Skylanders: Spyro's Adventure -SSPJGD = Skylanders: Spyro's Adventure +SSPJGD = Skylanders: Spyro no Daibouken SSPP52 = Skylanders: Spyro's Adventure SSPX52 = Skylanders: Spyro's Adventure SSPY52 = Skylanders: Spyro's Adventure @@ -3306,6 +3309,7 @@ STAE78 = Pictionary STAP78 = Pictionary STAU78 = Pictionary STDEFP = Reload +STDURN = Reload STEETR = Tetris Party Deluxe STEJ18 = Tetris Party Premium STEPTR = Tetris Party Deluxe @@ -3360,7 +3364,7 @@ SU2P54 = Nickelodeon Dance 2 SU2X54 = Nickelodeon Dance 2 SU3DMR = U-Sing 2 SU3FMR = U-Sing 2 -SU3HMR = U-Sing 2: Popstars Edition +SU3HMR = U-Sing 2 SU3PMR = U-Sing 2 SU3SMR = U-Sing 2 SU3UMR = U-Sing 2: Australian Edition @@ -3379,7 +3383,7 @@ SU9P4Q = Disney Planes SU9X4Q = Disney Planes SUKE01 = Kirby's Return to Dream Land SUKJ01 = Hoshi no Kirby Wii -SUKK01 = Kirby's Return to Dream Land +SUKK01 = Byeorui Kirby Wii SUKP01 = Kirby's Adventure Wii SUMJC8 = Winning Post World 2010 SUNEYG = Deer Drive Legends @@ -3430,7 +3434,7 @@ SVHE69 = FIFA 14 - Legacy Edition SVHP69 = FIFA 14 - Legacy Edition SVHX69 = FIFA 14 - Legacy Edition SVME01 = Super Mario All-Stars -SVMJ01 = Super Mario Collection: 25th Anniversary Edition +SVMJ01 = Super Mario Collection SVMK01 = Super Mario Collection SVMP01 = Super Mario All-Stars: 25th Anniversary Edition SVOEWW = El Chavo @@ -3474,13 +3478,13 @@ SWBE52 = DJ Hero 2 SWBP52 = DJ Hero 2 SX2PNG = Jungle Kartz SX3EXJ = Pandora's Tower -SX3J01 = Pandora’s Tower: Until I Return to Your Side +SX3J01 = Pandora no Tou: Kimi no Moto e Kaeru made SX3P01 = Pandora's Tower SX4E01 = Xenoblade Chronicles SX4J01 = Xenoblade SX4P01 = Xenoblade Chronicles SX5E4Z = Santa Claus is Comin' to Town! -SX6JAF = Pretty Cure All Stars Everyone Gather ☆ Let's Dance +SX6JAF = Precure All Stars: Zenin Shuugou ☆ Let's Dance! SX7E52 = Teenage Mutant Ninja Turtles SX7P52 = Teenage Mutant Ninja Turtles SX8E52 = X-Men Destiny @@ -3526,6 +3530,7 @@ APRP04 = New Super Mario Bros. Wii ANDY AFRO'S Custom Collection Volume 7. APRP06 = New Super Mario Bros. Wii ANDY AFRO'S Custom Collection Volume 5. APRP08 = New Super Mario Bros. Wii ANDY AFRO'S Custom Collection Volume 1. ASMB01 = Another Super Mario Bros. Wii +ATGE02 = ATG's CT Pack BEPS01 = Guitar Hero III Custom : Rock n' Metal BOWE01 = New Super Mario Bros. Wii 17 Bowser's Last Laugh C3BE52 = Guitar Hero III Custom : Bossenator @@ -3537,7 +3542,9 @@ C4AEE9 = Harvest Moon: Magical Melody (Rainbow Version) C4GEE9 = Harvest Moon: Another Proud Life C80E52 = Guitar Hero III Custom : Rocks the 80's C80P52 = Guitar Hero III Custom: GH I & 80's +C84EE9 = Harvest Moon: Tree of Tranquility - Big Gay Edition CANE52 = Guitar Hero Custom: NOT Aerosmith but... +CB4E01 = Super Mario Gravity CBIEE9 = Harvest Moon: Pride Parade CCPE01 = Mario Kart Wii Custom: The Master Race CEMU69 = PunEmu @@ -3551,7 +3558,7 @@ CG3ECS = Guitar Hero III Custom : ClasSick Edition CG3PCS = Guitar Hero III Custom : ClasSick Edition CGBE52 = Guitar Hero III Custom: Rock Band CGBP52 = Guitar Hero III Custom : Rock Band -CGH370 = Guitar Hero III Custom : 70 New Song +CGH370 = Guitar Hero III Custom: 70 New Song CGH3IM = Guitar Hero III Custom : Iron Maiden CGH3LM = Guitar Hero III Custom : Legend of Music CGH3ME = Guitar Hero III Custom : Metallica @@ -3714,15 +3721,25 @@ DUDE01 = New Super Mario Bros. Wii Scooby-Doo! Hack ENDP01 = New SUPER MARIO BROS. Wii 20 The End For Now EVOP01 = New Super Mario Bros. Wii 0-5 Evolution FF4ENG = Fatal Frame 4: Mask of the Lunar Eclipse +G0050C = Pokémon: Blue Version +G0060C = Pokémon: Red Version +G01E01 = Super Smash Bros. Melee: SD Remix G01J01 = Super Smash Bros. Melee: SD Remix G01P01 = Super Smash Bros. Melee: SD Remix G02E01 = Super Smash Bros. Melee: 20XX Training Pack G02J01 = Super Smash Bros. Melee: 20XX Training Pack G02P01 = Super Smash Bros. Melee: 20XX Training Pack +G4NEDA = Naruto Gektiou Ninja Taisen! 4 [Eng] +GAEE01 = Animal Forest e+ GFZJ8P = F-Zero AX GGPE01 = Mario Kart Arcade GP GGPE02 = Mario Kart Arcade GP 2 GGPJ02 = Mario Kart Arcade GP 2 +GLSE01 = Super Luigi Sunshine +GM2EDX = Super Monkey Ball Deluxe +GMSE02 = Super Mario Sunshine Multiplayer +GMSE03 = Super Mario Sunburn +GTME01 = Super Smash Bros. Melee Training Mode GVS32E = Virtua Striker 3 Ver. 2002 GVS32J = Virtua Striker 3 Ver.2002 (Triforce) GVS45J = Virtua Striker 4 @@ -3730,10 +3747,13 @@ GVS46E = Virtua Striker 4 Ver.2006 GVS46J = Virtua Striker 4 Ver.2006 GVSJ9P = Virtua Striker 4 Ver.2006 GX2E01 = Pokémon XG: Next Gen +GXTE8P = Sonic Riders Tournament Edition HBWE01 = New Super Mario Bros. Wii: Hellboy Edition +HSMP01 = Harder Super Mario Bros. Wii JOUE01 = New Super Mario Bros. Wii 10 The Journey KHPE01 = Kirby Air Ride Hack Pack KLSEXJ = The Last Story (NTSC-U, Japanese Audio) +KMGE01 = Kaizo Mario Galaxy KMKE01 = Kustom Mario Kart Wii KMNE03 = Newer Super Mario Bros. Wii KMNE10 = Koopa Country @@ -3741,9 +3761,12 @@ KMNJ03 = Newer Super Mario Bros. Wii KMNP03 = Newer Super Mario Bros. Wii KMNP10 = Koopa Country L40P4Q = Sing IT: Pop hits, los 40 principales +M64E01 = Super Mario Galaxy 64: Holiday Special MDUE01 = Mario Kart: Track Grand Priix MECPSI = SingItStar Mecano METE01 = New Super Metroid Bros. Wii +MG1E01 = Super Mayro Galaxy +MG2E01 = Super Mayro Galaxy Twoad MIJPSI = SingItStar Michael Jackson MILPSI = Sing IT Star: Miliki MK7P41 = Mario Kart 7 Wii @@ -3754,6 +3777,8 @@ MMRE01 = D.U. Super Mario Bros 2.1 Madness Returns MRRE01 = New Super Mario Bros. Wii Retro Remix MRRP01 = New Super Mario Bros. Wii Retro Remix NEWE01 = New Super Mario Bros Wii 15 A New World +NGSE01 = Super Mario Galaxy 2: The New Green Stars +NHMP01 = New Super Mario Bros. Wii Halloween Mayhem NMGE01 = Neo Mario Galaxy NMGP01 = Neo Mario Galaxy NMNP01 = Newer Super Mario Bros. Wii @@ -3761,13 +3786,16 @@ NRJ1FR = StarSing : NRJ Music Tour v1.1 NSMB02 = New Super Mario Bros. Wii 2 NSSP01 = Newer Summer Sun NWRP01 = Newer Super Mario Bros. Wii +OMGD01 = Outer Mario Galaxy ONKELZ = SingItStar Böhse Onkelz PAL OTFPSI = Sing IT: Operación triunfo PDUE01 = Another Super Mario Bros. Wii +PIKE25 = Pikmin 251 PMNEO1 = New Old Super Mario Bros. Wii POPPSI = SingItStar Pop PPNE01 = New Super Mario Bros. Wii 2: The Next Levels PPNP01 = New Super Mario Bros. Wii 2: The Next Levels +PRMEME = Super Smash Bros. Project Meme 6.9 PROE01 = New Super Mario Bros. Wii 14 Project Mario PT1PSI = SingIt Star Portugal Hits PT2PSI = SingIt Portugal Hits Summer Party @@ -3777,15 +3805,26 @@ PWNP69 = Pwned Super Mario Bros. Wii R01PET = SingItStar Queen R02PEA = SingItStar Rock Ballads R15POH = SingIt Star Radio 105 +R3ME02 = Metroid Prime: Trilogy - Google Translated +R3MEM1 = Metroid: Other M-Maxximum Edition- R4ZE01 = Fatal Frame 4: Mask of the Lunar Eclipse R4ZP01 = Fatal Frame IV: Mask of the Lunar Eclipse +R64E02 = RiiMajor - Song Pack 1 +R64E03 = RiiMajor - Song Pack 2 +R64E04 = RiiMajor - Song Pack 3 +R64E05 = Melodii +R7CE01 = Captain Rainbow [Eng] R7FEUD = Final Fantasy Fables: Chocobo's Dungeon Undub +R8EEQC = Earth Seeker [ENG] R8FJSC = Takumi Restaurant wa Daihanjou! (Simplified Chinese Translation) R8PC01 = Super Paper Mario(CN) RADP01 = New Super Mario Bros. Wii 0-6 Radiance RCCR78 = Guitar Hero III Custom: Coheed and Cambria RCHC52 = Guitar Hero III Custom : Guitar Hero II +RCME13 = Mario Kart Wii HoopaN13 RCOC99 = Meitantei Conan: Tsuioku no Mirage +RCTE70 = Bola de Drac Z Budokai Tenkaichi 3 Edició en Català [BETA 1] [CUSTOM] +RDCE70 = Dragon Ball Z Budokai Tenkaichi 3 Version! Castellano [Beta 2][CUSTOM] RDPE70 = Dragon Ball Z Budokai Tenkaichi 3 Versión! Castellano [BETA 1] RDSZ70 = Dragon Ball Z Budokai Tenkaichi 3 Version! Latino RDUE01 = DU Super Mario Bros. : Find That Princess @@ -3794,7 +3833,9 @@ RDXE70 = Dragon Ball Z Budokai Tenkaichi 3 Version! Latino Beta 3 RDYE70 = Dragon Ball Z Budokai Tenkaichi 3 Version! Latino Beta 3 Update 1 RDZE70 = Dragon Ball Z Budokai Tenkaichi 3 Version! Latino REBE70 = Dragon Ball Z Budokai Tenkaichi 2[ALPHA][CUSTOM] +REVE64 = Revo Kart 64 REYE70 = Dragon Ball Z Budokai Tenkaichi 3 Version! Latino [BETA 3 - UPDATE 2 ] +RFEP02 = Fire Emblem: Radiant Dawn - Reverse Recruitment RFEPUD = Fire Emblem: Radian Dawn Undub RFYE70 = Dragon Ball Z Budokai Tenkaichi 3 Versión! Latino [BETA 3 - UPDATE 3 ] RG0E52 = Guitar Hero III Custom : Green Day Plus @@ -3829,6 +3870,7 @@ RGXEFN = Guitar Hero III Custom: Meteo Last Custom RGXM52 = Guitar Hero III Custom : xMxExTxAxLx's Edition RGZC52 = Guitar Hero III Custom : Led Zeppelin RGZE52 = Guitar Hero III Custom : Shred Edition +RHAE02 = Rii Play RHD222 = The House of the Dead 2 RHD333 = The House of the Dead 3 RHGH52 = Guitar Hero III Custom : RandomHero's @@ -3836,6 +3878,9 @@ RI1POH = SingItStar Italian Party RI2POH = SingItStar Italian Party vol. 2 RI3POH = SingItStar Italian Top.it RJJG52 = Guitar Hero III Custom : JJ-KwiK's Edition +RJKE85 = Jacky Kart Wii +RJKP85 = Jacky Kart Wii +RJUE41 = Just Dance China RK2EUD = Trauma Center: New Blood Undub RKDEUD = Trauma Center: Second Opinion Undub RL9ESD = Guitar Hero Linkin Park @@ -3859,6 +3904,9 @@ RMCE16 = Wiimms MKW Fun 2012-05.ntsc RMCE17 = Wiimms MKW Fun 2012-09.ntsc RMCE18 = Wiimms MKW N64 2012-10.ntsc RMCE19 = Wiimms MKW Fun 2012-12.ntsc +RMCE1C = 100cc Pack +RMCE1H = MKWII HoopaN13 +RMCE1N = Mario Kart Wii HoopaN13 RMCE20 = Wiimms MKW Fun 2013-04.ntsc RMCE21 = Wiimms MKW Fun 2013-09.ntsc RMCE22 = Wiimms MKW Fun 2013-10.ntsc @@ -3878,10 +3926,16 @@ RMCE35 = Wiimms MKW-Fun 2017-12.usa RMCE36 = Wiimms MKW-Fun 2018-03.usa RMCE37 = Wiimms MKW-Fun 2018-06.usa RMCE38 = Wiimms MKW-Fun 2018-09.usa +RMCE3H = 3Hunts's Custom Track Pack RMCE40 = Wiimms MKW-Fun 2019-03.usa RMCE41 = Wiimms MKW-Fun 2019-06.usa RMCE42 = Wiimms MKW-Fun 2019-10.usa -RMCE54 = MARIO KART CRIS DELUXE +RMCE43 = Wiimms MKW-Fun 2020-02.usa +RMCE44 = Wiimms MKW-Fun 2020-06.usa +RMCE45 = Wiimms MKW-Fun 2020-12 +RMCE4D = 4DR Yoshi1998's Texture And Music Pack +RMCE54 = MARIO KART CRIS DELUXE 2 +RMCE5C = 5cc Pack RMCE64 = Peach Kart 8 RMCE69 = Cria Kart Wii RMCE70 = Stickboy Kart Wii @@ -3891,29 +3945,125 @@ RMCE75 = Cam, Tom and Troy's CTGP Pack RMCE76 = Pro CT Pack RMCE77 = SpyKid's CT Pack RMCE78 = Mario Kart: Double Dash!! Wii +RMCE7T = Cuber's Hack Pack RMCE81 = Spade's Custom Track Pack +RMCE86 = Mario Kart Cris 4 +RMCE88 = Mario Kart Cris Deluxe 3.0 RMCE89 = Mario Kart Cris Kuin +RMCE8X = Mario Kart Wii X DS +RMCE90 = Mario Kart Fusion -Deluxe style- +RMCE91 = Mario Kart Fusion -Cris style- RMCE92 = MKWLH100's Custom Track Pack RMCE93 = MKW Hack Pack +RMCE94 = Mario Kart Fusion -Time Trials Online- +RMCE95 = Mario Kart Fusion -Diamond style- RMCE96 = Mario Kart 6 +RMCE97 = Mario Kart Fusion v2.0 -Deluxe style- RMCE98 = Mario Kart Wii Awesomeness -RMCEA1 = Mario Kart Adventures v0.8 +RMCE99 = Mario Kart Fusion v2.0 -Cris style- +RMCE9R = Rookie's Texture And Music Pack +RMCEA1 = Mario Kart Adventures +RMCEA5 = Alpha's Track Mix +RMCEA7 = Ant Kart Wii RMCEA8 = Mario Kart Arcade JY +RMCEA9 = Mario Kart Wii - The Top 100 +RMCEAI = Mario Kart Wii AIParam Edition +RMCEAQ = Antique Kart Wii +RMCEAT = André's Retro Texture and Music Pack +RMCEAX = Mario Kart Wii but You Never Stop Accelerating RMCEB1 = Mario Kart Wii 2017 -RMCEB2 = Mario Kart Wii 2017 - Version 2.0 +RMCEB2 = Mario Kart Wii 2017 RMCEB4 = Mario Kart Wii Deluxe +RMCEB5 = Mario Kart Wii Deluxe B-Sides RMCEB6 = Mario Kart 7 JY RMCEB8 = Mario Kart Mania +RMCEBC = Neptune777 Forza MAX Broad Challenge +RMCEC7 = Cosmic Kart +RMCECD = Cederic's MKW Texture and Music Pack +RMCECG = Color Grand Prix +RMCECH = Chis Kart Wii +RMCECL = CTGP Revolution Classic RMCECT = Mario Kart Wii CTGP Revolution +RMCECU = Mario Kart Wii but the CPUs Are Impossible +RMCECY = CTGP Classic Pack +RMCED3 = DryBowser Kart Wii +RMCED8 = DryBowser's Unused CT Pack RMCEDK = Darky Kart Wii +RMCEDX = Dxrk X Hari's Pack +RMCEEX = MKW Exploration Pack +RMCEF1 = Fancy's CT Pack +RMCEF4 = Fe4less' Authentic Texture Pack +RMCEFE = Fancy's CT Pack - Extra Edition +RMCEFK = Formula Kart Wii +RMCEFL = Mario Kart Wii Forza MAX LOOK +RMCEFO = Neptune777 Forza MAX Origins RMCEG2 = Mario Kart Wii CTGP Revolution +RMCEG4 = Diddz' Gang Custom Track Pack +RMCEG5 = New Mario Kart Wii 64 +RMCEGN = Giant Objects Mode: Complete Edition RMCEGP = Mario Kart Wii CTGP Revolution +RMCEGT = Neptune777 Xtreme Race GTX +RMCEH5 = HD Battle Track Texture Pack +RMCEH8 = HD's Retro Pack +RMCEHD = Mario Kart Wii - HD - Remaster +RMCEHY = Hypersonic Kart Wii +RMCEI4 = Mario Kart Infinite +RMCEIT = Invisibility Toggle +RMCEJ3 = JTG Texture Pack +RMCEJ6 = JHFR CT Pack +RMCEK3 = King Toad's Epic Music and Texture Pack +RMCEKK = Krash Kart Wii RMCEL1 = Luma's CT Pack RMCEL9 = Mario Kart Legacii +RMCELG = Legacy Kart Wii +RMCEM4 = Mario Kart Super Circuit Wii RMCEM6 = New Mario Kart Seven RMCEM9 = New Mario Kart: Double Dash!! +RMCEMX = Maxed Kart Wii +RMCEMZ = Mizy's Texture Pack +RMCEN2 = Nintendo Remasters +RMCEN8 = Nitro CT Pack +RMCENG = Neptune777 Forza MAX New Generation +RMCENL = Neptune777 Forza MAX Next Layer +RMCENQ = Nevesqq's Texture n' Music Pack +RMCEO4 = OptPack CT Pack +RMCEPG = Penguin Kart Wii +RMCEPT = Platinum Hack Pack +RMCER4 = Ray Kart Wii +RMCER9 = Rosa Kart Wii +RMCERB = Bear Kart Wii +RMCERL = Random Laps +RMCES1 = Smacpack +RMCESC = Secret Tracks +RMCESH = Shortcut Practice Pack +RMCESR = S☆Ris CT Pack +RMCEST = Skipper's 200Kmh Distribution +RMCESU = SnorgUp's Textures and Music Pack +RMCESY = Spyro's Texture Pack +RMCET0 = TomB's CT Pack +RMCET2 = Toxic's Texture and Music Pack +RMCET6 = Man - O - Wii's Least Favorites Pack +RMCET7 = Cam, Tom And Troy's CT Pack +RMCETH = Mario Kart Wii Theob78's Pack +RMCETW = Trent Kart Wii +RMCEU7 = Mario Kart Wii Ultra Pack +RMCEVI = Vintage Kart Wii +RMCEVK = Violet Kart Wii +RMCEVS = Variation Sensation +RMCEVY = Variety Pack +RMCEW5 = Releasio Kart Wee RMCEW6 = Mario Kart Wii Ultimate +RMCEW8 = Waluigi Kart Wii RMCEWS = Wine's CT Pack +RMCEX4 = Mario Kart X +RMCEX5 = Mario Kart Wii - Battle Royale +RMCEXA = Xander Kart Wii +RMCEY3 = Yoshi's Racing Resort +RMCEY8 = Yeet Kart Wii +RMCEY9 = Yosh's Track Pack +RMCEZ2 = ZPL's Track Collection +RMCEZ8 = Zef Kart Wii +RMCEZC = Zef's CT Pack RMCJ12 = Wiimms MKW Fun 2011-11 RMCJ30 = Wiimms MKW-Fun 2015-12.jap RMCJ31 = Wiimms MKW-Fun 2016-02.jap @@ -3927,14 +4077,22 @@ RMCJ38 = Wiimms MKW-Fun 2018-09.jap RMCJ40 = Wiimms MKW-Fun 2019-03.jap RMCJ41 = Wiimms MKW-Fun 2019-06.jap RMCJ42 = Wiimms MKW-Fun 2019-10.jap +RMCJ43 = Wiimms MKW-Fun 2020-02.jap +RMCJ44 = Wiimms MKW-Fun 2020-06.jap +RMCJ45 = Wiimms MKW-Fun 2020-12.jap RMCJ64 = Peach Kart 8 RMCJ76 = Pro CT Pack +RMCJ86 = Mario Kart Cris 3.500 CT RMCJ93 = MKW Hack Pack RMCJA1 = Mario Kart Adventures v0.8 RMCJCT = Mario Kart Wii CTGP Revolution RMCJL1 = Luma's CT Pack RMCK41 = Wiimms MKW-Fun 2019-06.kor RMCK42 = Wiimms MKW-Fun 2019-10.kor +RMCK43 = Wiimms MKW-Fun 2020-02.kor +RMCK44 = Wiimms MKW-Fun 2020-06.kor +RMCK45 = Wiimms MKW-Fun 2020-12.kor +RMCK86 = Mario Kart Cris 4 RMCP02 = Wiimms MKW Fun 2010-02.p RMCP03 = Wiimms MKW Fun 2010-10.p RMCP04 = Wiimms MKW Fun 2010-12.p @@ -3976,13 +4134,18 @@ RMCP39 = Wiimms MKW-Fun 2018-12.pal RMCP40 = Wiimms MKW-Fun 2019-03.pal RMCP41 = Wiimms MKW-Fun 2019-06.pal RMCP42 = Wiimms MKW-Fun 2019-10.pal +RMCP43 = Wiimms MKW-Fun 2020-02.pal +RMCP44 = Wiimms MKW-Fun 2020-06.pal +RMCP45 = Wiimms MKW-Fun 2020-12.pal RMCP64 = Peach Kart 8 RMCP76 = Pro CT Pack +RMCP86 = Mario Kart Cris 4 RMCP93 = MKW Hack Pack -RMCPA1 = Mario Kart Adventures v0.8 +RMCPA1 = Mario Kart Adventures RMCPG2 = Mario Kart Wii CTGP Revolution RMCPGP = Mario Kart CTGP Revolution RMCPL1 = Luma's CT Pack +RMCPVP = Variety Pack RMGC01 = Super Mario Galaxy RMGE52 = Guitar Hero III Custom : Megadeth RMGR01 = Super Mario Galaxy @@ -3991,6 +4154,7 @@ RMKE02 = Custom Kart 1 RMMP52 = Guitar Hero III Custom : Metal Mayhem RNEEUD = Naruto Shippuden: Clash of Ninja Revolution 3 Undub ROMESD = Monster Hunter G (English Patched) +ROSE01 = Takt of Magic [ENG] RPJEUD = Arc Rise Fantasia Undub RQQE52 = Guitar Hero III Custom : Queen RSBE02 = Super Smash Bros. Project M Red Version @@ -4048,18 +4212,32 @@ RSBEBP = Super Smash Bros. Brawl Plus RSBEC3 = Super Smash Bros. Project M 3.5 Netplay Build RSBEDH = Super Smash Bros. Brawl Dark Hole/D.A.R.S. RSBEDT = Super Smash Bros. Ultimate Dark Phoenix: Tournament Edition +RSBEI4 = Super Smash Bros. Brawl Iceballz's Build +RSBEK0 = Super Smash Bros. Khaos +RSBELX = Super Smash Bros. Project Lx +RSBEMT = MrTacos's ModPack RSBEN1 = Super Smash Bros. Project M +RSBENQ = Super Smash Bros. but Not Quite! (Gamma Version) RSBEPM = Super Smash Bros. Project M RSBEPW = Super Smash Bros. Project M Wi-Fi +RSBERC = Super Smash Bros. Recolor +RSBES4 = Super Smash Bros. Smash Pack +RSBESL = A Slumber Most Reprobate RSBETE = Super Smash Bros. Legacy TE +RSBEUV = Smash Universe Mod 1.0 +RSBEUW = Super Smash Bros. Ultimate Wii Edition +RSBEW5 = Super Smash Bros. Project Wacky Funster RSBEWM = Super Smash Bros. Project M Wi-Fi RSBEXP = Super Smash Bros. Legacy XP RSBP02 = Master4Robin's Super Smash Bros. Brawl Hack Pack RSFC99 = Muramasa: The Demon Blade (Custom) RSJESD = Guitar Hero III Custom : System of a Down +RSPE02 = Checkered Sports +RSPE03 = Wii Sports: Storm City RSXX78 = Guitar Hero RadioHead RSYP06 = Super Smash Bros. Brawl : YF06's Mod RT4EUD = Tales of Symphonia: Dawn of the New World Undub +RTME70 = Dragon ball Z Budokai Tenkaichi 3 WII TSM RU1P4Q = Disney Sing It:: Sing It Star Singstar 1 RU2P4Q = Disney Sing It: Sing It Star Singstar 2 RUIGGD = SingItStar Ned. 80's @@ -4068,24 +4246,37 @@ RWWE52 = Guitar Hero III Custom : WWE The Hits RXGC15 = Guitar Hero III Custom - A7X (Avenged Sevenfold) RYAJSC = Yatterman Wii (Simplified Chinese Translation) RZDC01 = The Legend of Zelda: Twilight Princess (Custom) +RZNE01 = Zangeki no Reginleiv [Eng] +RZTE02 = Wii Sports Resort - Storm Island +RZTE03 = Wii Are Resorting To Violence S02PES = Sing It Star 90's -S5UE41 = Just Dance Unlimited Party +S12E41 = Just Dance Best Of 2 +S2PE41 = Just Dance 2020 Plus +S5UE41 = Just Dance: Unlimited Party (Old Revision) S80U3Q = SingItStar Ultimate 80s +S85E41 = Just Dance 2021 +S85P41 = Just Dance 2021 SAME01 = New Super Mario Bros. Wii 11 American Revolution SANE01 = New Super Mario Bros. Wii Five Spica Edition SANT3Q = SingItStar Anthems SARP01 = New Super Mario Bros. Wii 4 Arcadia Another Ride SB3EUD = Sengoku Basara: Samurai Heroes Undub SB4C01 = Super Mario Galaxy 2 (Custom) +SB4DDM = Super Mario Galaxy 2: Daredevil Challenge SB4E02 = Neo Mario Galaxy SB4E03 = Super Mayro Galaxy SB4E04 = Super Mario Sunshine Galaxy SB4E05 = Season Cycle Galaxy SB4E25 = Super Mario Galaxy 2.5 +SB4EXD = Super Mario Galaxy 2 Deluxe +SB4FE0 = Super Mario Galaxy 2: Fog Edition +SB4GSF = Super Mario Galaxy 2: The Green Star Festival SB4J02 = Neo Mario Galaxy SB4J05 = Season Cycle Galaxy SB4P02 = Neo Mario Galaxy SB4P05 = Season Cycle Galaxy +SB5E01 = Super Mario Galaxy 2 Plus +SBJE41 = Just Dance Melody SBOD3Q = SingItStar Best of Disney SBSE01 = New Super Mario Bros. Wii 17 Bowser's Last Laugh SBVG3Q = SingItStar Boybands vs Girlbands @@ -4100,19 +4291,24 @@ SDRP3Q = SingItStar Deutsch Rock-Pop Vol. 1 SDTH3Q = SingItStar Die Toten Hosen SDUEO1 = DU Super Mario Bros. : DU Edition SDUPO1 = DU Super Mario Bros. : DU Edition +SE1E41 = Just Dance East +SEKE99 = Ikenie no Yoru [ENG] SEOP01 = New Super Mario Bros. Wii 8 Omega SEOP4Q = Sing It: Edad de Oro del Pop Español SFDE01 = New Super Mario Bros. Wii 9 Virtue: This Fall Darkness SFRE01 = Super Mario Bros. Frozen Edition SFRJ01 = Super Mario Bros. Frozen Edition SFRP01 = Super Mario Bros. Frozen Edition +SG4JDA = Naruto: Super Clash of Ninja 4 SGI1CL = SingIt Clasicos SGI1DB = Sing IT: Dibujos Animados SGI1MC = SingItStar Mecano SGI1ML = Sing It Star: Miliki SGI1PT = Sing IT: Party SGI1RC = Sing IT: Rocks 2 +SGNE41 = Just Dance: Generation SGPTI1 = Sing It Party +SHIE41 = Just Dance Hits SIABOH = SingItStar Placebo SIBBHJ = SingItStar Country SIESP1 = Sing It: Canciones en Español @@ -4165,6 +4361,7 @@ SLFE01 = New Super Mario Bros. 3 The Final Levels SLFP01 = New Super Mario Bros. 3: The Final Levels SM3E01 = Super Mario Bros. 3+ SMD3OH = SingItStar e La Magia Disney +SMGS01 = Secret Mario Galaxy SMIG3Q = SingItStar Made in Germany SMME02 = Super Mario: Mushroom Adventure PLUS - Winter Moon SMMP01 = New Super Mario Bros. Wii ANDY AFRO'S Custom Collection Volume 4. @@ -4181,11 +4378,15 @@ SMNE09 = Old Super Mario Bros. Wii SMNE10 = Koopa Country SMNE11 = New Super Mario Bros. Wii 4 SMNE12 = Awesomer Super Luigi Mini +SMNE13 = Newest Super Mario Bros. Wii SMNE14 = New Super Mario Bros. Wii: Pain Coins SMNE15 = Newer Super Mario Bros. 7 SMNE20 = New Super Mario Bros. H +SMNE21 = New Super Spike Wii SMNE23 = Newer Super Mario Bros. Wii: Falling Leaves +SMNE30 = Super Luigi Land Wii SMNE31 = New Super Mario Bros. Wii - Other World +SMNE32 = Ultimate Super Luigi Wii SMNE34 = New Super Mario Bros. Wii: Yoshi Mode SMNE35 = New Super Mario Bros. Wii: Yoshi Mode - Classic Mode SMNE36 = New Super Mario Bros. Wii Hack Pack @@ -4219,13 +4420,36 @@ SMNE66 = The Legend of Yoshi SMNE67 = Larsenv Super Mario Collection SMNE68 = The Legend of Yoshi DLC SMNE69 = Revised Super Mario Bros. Wii +SMNE90 = Legend Of Custom Levels +SMNEAM = Adventure Super Mario Bros. Wii +SMNEAR = Newer Super Mario All-Stars Revived +SMNEC7 = New Super Mario Bros. Wii Chaos Edition +SMNECB = Super Classic Mario Bros. Wii +SMNEEA = Extra Super Mario Bros. Wii All Stars +SMNEFW = Mario's New Adventure: 1st World +SMNEG4 = New Super Ganondorf Bros. Wii +SMNEH3 = New Super Mario Bros. 3 Halloween Wii +SMNEI3 = New Super Mario Bros. Wii Isabelle Edition +SMNEJS = Super Mario Jungle Jam +SMNEKE = A New Kaizo Era +SMNEL8 = New Super Larry Wii +SMNELE = New Super Mario Bros. Legacy SMNELL = Newer Super Luigi Wii SMNELM = Newer Super Luigi Wii: Dark Moon +SMNEM5 = Newer Mayro Bros. Wii +SMNEMB = New Super Minecraft Bros. Wii SMNEMI = Midi's Super Mario Bros. Wii Just a Little Adventure +SMNEMS = Mini Super Mario Bros. Wii +SMNEN2 = Normal Super Mario Bros. Wii +SMNEN5 = Newer Super Mario 54 +SMNENL = Newest Super Luigi Wii +SMNENT = Newest Super Mario Bros. Wii SMNERE = Retro Mario Bros. SMNERV = RVLution Wii SMNESN = New Super Mario Bros. Wii H SMNESS = New Super Mario Bros. 7 +SMNEWC = Vanilla Wacky Super Mario Bros. Wii +SMNEWI = New Super Mario Bros. Wii Winter Edition SMNEXD = Deluxe Super Mario Bros. Wii SMNEXR = Super Mario Remix SMNEYE = 8Forrest's Super Mario Bros. Wii @@ -4358,12 +4582,15 @@ SMNP68 = The Legend of Yoshi DLC SMNP77 = New Super Mario Bros. Wii Arcadia SMNPAF = Again Super Mario Bros Wii.Frozen Special SMNPDU = DU Super Mario Bros. : Anniversary Edition +SMNPGG = Super Mario Green Star Groove +SMNPLA = Luigi's Next Adventure SMNPLL = Newer Super Luigi Wii SMNPLM = Newer Super Luigi Wii: Dark Moon SMNPMI = Midi's Super Mario Bros. Wii Just A Little Adventure SMNPO1 = New Super Mario Custom Edition SMNPRE = Retro Mario Bros. SMNPRV = RVLution Wii +SMNPSW = New Super Sonic Wii SMNPXD = Deluxe Super Mario Bros. Wii SMNPXR = Super Mario Remix SMNPYE = 8Forrest's Super Mario Bros. Wii @@ -4392,6 +4619,7 @@ SMWJ01 = Newer Super Mario World U SMWP01 = Newer Super Mario World U SNLE01 = New Super Mario Bros. Wii 0-2 Next Generation Levels SO3EUD = Rune Factory: Tides of Destiny Undub +SOCE02 = The Legend Of Custom Levels SOME02 = Rhythm Heaven Fever Repainted SP9P4Q = SingIt Star POP 2009 SPRE01 = New Super Mario Bros. Wii 14 Project Mario @@ -4400,24 +4628,38 @@ SRGP01 = New Super Mario Bros Wii 2 Reggie SRHP01 = New Super Mario Bros. Wii 7 Retro Heaven SRNP01 = New Super Mario Bros. Wii Revolution SRVP01 = New Super Mario Bros Revolution +SRZE8P = Sonic Riders: Regravitified SSLPOH = SingItStar Legends SSSE01 = New Super Mario Bros. Wii: Summer Sun ST8P75 = SingItStar 80's STAP75 = SingItStar Apres Ski Hits STCP75 = SingItStar Singstar STDP75 = SingItStar Deutsch Rock-Pop +STFE41 = Just Dance Focus STHP75 = SingItStar Hottest Hits STPP75 = SingItStar Pop Hits STQP75 = SingItStar Queen STRP75 = SingItStar Rock Ballads STSP75 = SingItStar Schlager SURE01 = New Super Mario Bros. Wii 19 Resurrection U +SV1E41 = Just Dance: Unlimited Party (Vol. 1) +SV2E41 = Just Dance: Unlimited Party (Vol. 2) +SVMEBR = New Super Mario All-Stars HD SWBP01 = New Super Mario Bros. Wii 0 Where It All Began SX3PUD = Pandora's Tower Undub SXEF52 = Guitar Hero III Custom : Megadeth SXFF52 = Guitar Hero III Custom : My Chemical Romance SZEE01 = New Super Mario Bros Wii 13 Shadow Zero Escape +TGSE01 = Super Mario Galaxy: The Green Stars +TKG1ES = Super Mario Galaxy: The Kaizo Green Stars +TKGS03 = Super Mario Galaxy 2: The Kaizo Green Stars +TLLE01 = Super Mario Galaxy 2: The Lost Levels +TPHE01 = Mario Kart Wii: The Puzzling Hotel +TPHJ01 = Mario Kart Wii: The Puzzling Hotel +TPHP01 = Mario Kart Wii: The Puzzling Hotel UUUE01 = New Super Mario Bros. Wii 19 Resurrection U +UWSMG1 = Super Mario Galaxy: Underwater Edition +UWSMG2 = Super Mario Galaxy 2: Underwater Edition VIPE01 = New Super Mario Bros Wii 18 Vip Mix WARE01 = DU Super Wario Bros. WFFF4I = Fatal Frame 4: Mask of the Lunar Eclipse @@ -4473,7 +4715,7 @@ W3GF = Phoenix Wright: Ace Attorney: Trials and Tribulations W3GI = Phoenix Wright: Ace Attorney: Trials and Tribulations W3GJ = Gyakuten Saiban 3 W3GP = Phoenix Wright Ace Attorney: Trials and Tribulations -W3GS = Phoenix Wright: Ace Attorney Trials and Tribulations (Textos en español) +W3GS = Phoenix Wright: Ace Attorney Trials and Tribulations W3JE = Triple Jumping Sports W3KE = ThruSpace W3KJ = Surinuke Anatousu @@ -4633,7 +4875,6 @@ WBRP = Pirates: The Key of Dreams WBSE = Pop WBSJ = Pop WBSP = Pop -WBTJ = Fantasic Tambourine WBVE = SPOGS Racing WBVP = SPOGS Racing WBWE = Critter Round-Up @@ -4759,7 +5000,7 @@ WFCJ = Final Fantasy Crystal Chronicles: Chiisana Ousama to Yakusoku no Kuni WFCP = Final Fantasy Crystal Chronicles: My Life as a King WFDE = Save the Furries WFDP = Save the Furries -WFEE = Fenimore Fillmore "The Westerner" +WFEE = Fenimore Fillmore WFFE = Fun! Fun! Minigolf WFFJ = Fun! Fun! Minigolf WFFP = Fun! Fun! Minigolf @@ -4938,7 +5179,7 @@ WLEP = Learning with the PooYoos: Episode 1 WLGE = HB Arcade Cards WLIE = Liight WLJJ = Boku mo Sekai o Sukuitai: Battle Tournament -WLKJ = Okiraku Tennis SP +WLKJ = Licca-chan Oshare House WLLE = Little Tournament Over Yonder WLLP = Little Tournament Over Yonder WLME = La-Mulana @@ -5236,9 +5477,9 @@ WUHE = Grill-Off with Ultra Hand! WUHJ = Grill-Off with Ultra Hand! WUIP = Successfully Learning Mathematics Year 2 WUKJ = Unou Kids Okigaru Unou Training -WUNE = Uno +WUNE = UNO WUNJ = Uno -WUNP = Uno +WUNP = UNO WURE = Urbanix WURP = Urbanix WVBE = Bit.Trip: Void @@ -5973,7 +6214,6 @@ JCNP = Prince of Persia JCTE = Ogre Battle: The March of the Black Queen JCTJ = Densetsu no Ogre Battle: The March of the Black Queen JCTM = Ogre Battle: The March of the Black Queen -JCUE = PilotWings JCUJ = Tactics Ogre: Let Us Cling Together JCVE = Pilotwings JCVJ = Pilotwings @@ -6113,7 +6353,6 @@ NAIE = Wave Race 64 NAIJ = Wave Race 64: Kawasaki Jet Ski NAIP = Wave Race 64 NAJ8 = The Legend of Zelda: Ocarina of Time (spanish translation) -NAJ9 = Super Smash Bros. NAJJ = Tsumi to Batsu NAJL = Sin & Punishment NAJN = Sin and Punishment @@ -6145,7 +6384,7 @@ NARE = The Legend of Zelda: Majora's Mask NARJ = Zelda no Densetsu: Majora no Kamen NARP = The Legend of Zelda: Majora's Mask NASE = Cruis'n USA -NASJ = Cruisn USA +NASJ = Cruis'n USA NASP = Cruis'n USA NATE = Mario Tennis NATJ = Mario Tennis 64 @@ -6160,6 +6399,7 @@ NAZE = Mario Party 2 NAZJ = Mario Party 2 NAZP = Mario Party 2 NEEA = The Legend of Zelda: Ocarina of Time Master Quest +NSRE = Super Mario Star Road NTLC = Super Mario 64 Multiplayer NZXM = Super Mario 64 Multiplayer LAAJ = Hokuto no Ken @@ -6637,7 +6877,6 @@ PDEJ = S.C.I.: Special Criminal Investigation PDFJ = Jigoku Meguri PDGJ = Fire ProWrestling 3: Legend Bout PDHJ = Rastan Saga II -PDIE = Champion Wrestler PDIJ = Champion Wrestler PDJJ = Street Fighter II': Champion Edition PDJL = Street Fighter II': Champion Edition @@ -6875,10 +7114,10 @@ ECHE = The King of Fighters '98 ECHJ = The King of Fighters '98: Dream Match Never Ends ECHP = The King of Fighters '98 ECIE = Metal Slug 4 -ECIJ = The King of Fighters '99 +ECIJ = Metal Slug 4 ECIP = Metal Slug 4 ECJE = The King of Fighters '99 -ECJJ = Metal Slug 4 +ECJJ = The King of Fighters '99 ECJP = The King of Fighters '99 ECKE = NAM-1975 ECKJ = NAM-1975 @@ -6939,7 +7178,7 @@ E6EJ = Libble Rabble E6FJ = Galaxian E6GJ = Namco Quester E6HJ = Face Off -E6IJ = Trink Force +E6IJ = Tank Force E6JJ = Bakutotsu Kijuutei: BaRaDuKe II E6KJ = Chouzetsu Rinjin - Berabow Man E6LJ = Marchen Maze @@ -7062,18 +7301,28 @@ HACK = Mii Channel HADE = Internet Channel HADJ = Internet Channel HADP = Internet Channel +HAFA = Forecast Channel HAFE = Forecast Channel HAFJ = Forecast Channel HAFP = Forecast Channel +HAGA = News Channel HAGE = News Channel HAGJ = News Channel HAGP = News Channel HAJE = Everybody Votes Channel HAJJ = Everybody Votes Channel HAJP = Everybody Votes Channel +HAKE = EULA +HAKJ = EULA +HAKK = EULA +HAKP = EULA +HALE = Region Select +HALJ = Region Select +HALK = Region Select +HALP = Region Select HAPE = Check Mii Out Channel HAPJ = Mii Contest Channel -HAPP = Check Mii Out Channel +HAPP = Mii Contest Channel HATE = Nintendo Channel HATJ = Nintendo Channel HATP = Nintendo Channel @@ -7092,6 +7341,7 @@ HC4P = Crunchyroll HCAJ = Band Bros. DX Speaker Channel HCAP = Jam with the Band Live HCBJ = Photo Channel 1.0 Restore Program +HCCJ = Set Personal Data HCDJ = Digicam Print Channel HCFE = Wii Speak Channel HCFJ = Wii Speak Channel @@ -7128,16 +7378,27 @@ HCWP = Amazon Instant Video HCXE = YouTube HCXJ = YouTube HCXP = YouTube +HCYE = Wii Menu Manual (Mini Wii) HCYJ = Wii U Main Unit Update Repair Program +HCYP = Wii Menu Manual (Mini Wii) HFNJ = Wii Fit Body Check Channel -JODI = Homebrew Channel -LULZ = Homebrew Channel -OHBC = Homebrew Channel RFNE = Wii Fit Channel +RFNJ = Wii Fit Channel +RFNK = Wii Fit Channel +RFNP = Wii Fit Channel +RFNW = Wii Fit Channel RFPE = Wii Fit Plus Channel +RFPJ = Wii Fit Plus Channel +RFPP = Wii Fit Plus Channel +RFPW = Wii Fit Plus Channel +RGWE = Rabbids Channel +RGWJ = Rabbids Channel +RGWP = Rabbids Channel RGWX = Rabbids Channel RMCE = Mario Kart Channel -WPSX = Playstation (PSX) Emulator +RMCJ = Mario Kart Channel +RMCK = Mario Kart Channel +RMCP = Mario Kart Channel 9XGX = SNES9xGX D01A = Wiimmfi Patcher D02A = Engine02 @@ -7344,6 +7605,7 @@ DBAA = BowFishing Action DBBA = Balance Board Tools DBCA = BootMii Configuration Editor DBDA = Bluedump +DBEA = Beebem Wii DBGA = BlastGuy DBIA = Boot It DBLA = BlueMSX-wii @@ -7524,7 +7786,7 @@ DLXA = Linux Installer DM0A = Pom DM5A = Missle Command DM7A = Matches -DM9A = Checkregion +DM9A = CheckRegion DMAA = Mame Wii DMBA = Multiboot DMCA = Cleanrip mod @@ -7633,7 +7895,7 @@ DRAA = RetroArch-Wii DRBA = Rock Band 2 WAD Installer DRCA = Wiicross DRDA = Drawmii -DREA = Wiirecipe +DREA = WiiRecipe DRFA = Radiofeeds DRGA = Reggie Dumper DRIA = Cleanrip @@ -7812,8 +8074,11 @@ DZYA = Snake Two DZZA = OpenJazz FCEU = FCE Ultra GX HWFL = HackWiiFlow +JODI = Homebrew Channel +LULZ = Homebrew Channel MAUI = Backup Homebrew Channel NK2O = Neek2o +OHBC = Homebrew Channel PLUS = WiiMC+ PXWE = Project X: Love Potion Disaster RIIV = Riivolution @@ -7825,6 +8090,7 @@ VBGX = Visual Boy Advance GX WIMC = WiiMC WMH1 = Mother 1+2+3 WN64 = Wii64 +WPSX = WiiSX 301E01 = GameCube Service Disc D23J01 = Game Taikai Yuushou Kinen: Tokusei SmaBro DX Movie Disc D24J01 = SmaBro DX Event-you Disc @@ -7834,7 +8100,8 @@ D32J01 = Monthly Nintendo Shop Demo - June 2002 D33J01 = Monthly Nintendo Shop Demo - July 2002 D34J01 = Monthly Nintendo Shop Demo - July 2002 D38J01 = Monthly Nintendo Shop Demo - September 2002 -D42J01 = Gekkan Nintendo Tentou Demo 2002.11.1 +D39J01 = Monthly Nintendo Shop Demo - October 2002 +D42J01 = Monthly Nintendo Shop Demo - November 2002 D43E01 = The Legend of Zelda: Ocarina of Time / Master Quest D43J01 = Zelda no Densetsu: Toki no Ocarina GC / Ura Zelda D43P01 = The Legend of Zelda: Ocarina of Time / Master Quest @@ -7884,6 +8151,7 @@ D84P01 = Interactive Multi-Game Demo Disc - November 2004 D85E01 = Interactive Multi-Game Demo Disc - Version 12 D85P01 = Interactive Multi-Game Demo Disc - July 2004 D86E01 = Interactive Multi-Game Demo Disc - Version 11 +D86J01 = Monthly Nintendo Shop Demo - October 2004 D86P01 = Interactive Multi-Game Demo Disc - May 2004 D87E01 = GameCube Preview Disc D87P01 = Interactive Multi-Game Demo Disc - March 2004 @@ -7918,7 +8186,6 @@ DRSEAF = Soulcalibur II (Demo) DSWJ13 = Star Wars: Rogue Squadron II (Demo) DTLX01 = Action Replay DVJP08 = Viewtiful Joe (Promotional demo) -G01E01 = Super Smash Bros. Melee: SD Remix G2BE5G = Black & Bruised G2BP7D = Black & Bruised G2CD52 = True Crime: New York City @@ -7963,7 +8230,7 @@ G3DE6L = Carmen Sandiego: The Secret of the Stolen Drums G3DP6L = Carmen Sandiego: The Secret of the Stolen Drums G3DX6L = Carmen Sandiego: The Secret of the Stolen Drums G3EE51 = XGIII: Extreme G Racing -G3EJ51 = XGIII: Extreme G Racing +G3EJB0 = XGIII: Extreme G Racing G3EP51 = XGIII: Extreme G Racing G3FD69 = TimeSplitters: Future Perfect G3FE69 = TimeSplitters: Future Perfect @@ -8013,8 +8280,8 @@ G4IP52 = Shrek Smash n' Crash Racing G4ME69 = The Sims Bustin' Out G4MP69 = The Sims: Bustin' Out G4NJDA = Naruto: Gekitô Ninja Taisen! 4 -G4OE69 = The Sims 2 : Pets -G4OP69 = The Sims 2 : Pets +G4OE69 = The Sims 2: Pets +G4OP69 = The Sims 2: Pets G4PJ13 = The Sims G4QE01 = Super Mario Strikers G4QJ01 = Super Mario Strikers @@ -8112,7 +8379,7 @@ GAKE5D = Midway Arcade Treasures GALE01 = Super Smash Bros. Melee GALJ01 = Dairantou Smash Brothers DX GALP01 = Super Smash Bros. Melee -GAME5H = Army Men Sarges War +GAME5H = Army Men Sarge's War GANE7U = Animaniacs: The Great Edgar Hunt GANP7U = Animaniacs: The Great Edgar Hunt GAPE52 = American Chopper 2 - Full Throttle @@ -8179,12 +8446,12 @@ GBTJA7 = Bakuten Shoot Beyblade 2002: Nettou! Magne Tag Battle GBTP70 = Beyblade VForce - Super Tournament Battle GBVE41 = Batman: Vengeance GBVP41 = Batman Vengeance -GBWD64 = Star Wars Bounty Hunter -GBWE64 = Star Wars Bounty Hunter -GBWF64 = Star Wars Bounty Hunter +GBWD64 = Star Wars: Bounty Hunter +GBWE64 = Star Wars: Bounty Hunter +GBWF64 = Star Wars: Bounty Hunter GBWI64 = Star Wars: Bounty Hunter GBWP64 = Star Wars Bounty Hunter -GBWS64 = Star Wars Bounty Hunter +GBWS64 = Star Wars: Bounty Hunter GBXE51 = Dave Mirra Freestyle BMX 2 GBXP51 = Dave Mirra Freestyle BMX 2 GBYE0A = Super Bubble Pop @@ -8193,9 +8460,9 @@ GBZJ08 = Biohazard 0 GBZP08 = Resident Evil Zero GC2E9G = Conflict: Desert Storm II: Back to Baghdad GC2P75 = Conflict: Desert Storm II: Back to Baghdad -GC3D78 = Scooby-Doo!: Mystery Mayhem +GC3D78 = Scooby-Doo! Mystery Mayhem GC3E78 = Scooby-Doo!: Mystery Mayhem -GC3F78 = Scooby-Doo!: Mystery Mayhem +GC3F78 = Scooby-Doo! Mystery Mayhem GC3P78 = Scooby-Doo!: Mystery Mayhem GC4JBN = Shinseiki GPX Cyber Formula Road To The EVOLUTION GC5PNK = Cocoto: Kart Racer @@ -8379,15 +8646,15 @@ GF6I69 = FIFA 06 GF6P69 = FIFA 06 GF6S69 = FIFA 06 GF7E01 = Star Fox: Assault -GF7J01 = Star Fox - Assault -GF7P01 = Star Fox Assault +GF7J01 = Star Fox: Assault +GF7P01 = Star Fox: Assault GF8E69 = FIFA Street GF8P69 = FIFA Street -GFAD69 = FIFA Soccer 2003 +GFAD69 = FIFA Football 2003 GFAE69 = FIFA Soccer 2003 -GFAF69 = FIFA Soccer 2003 +GFAF69 = FIFA Football 2003 GFAI69 = FIFA Football 2003 -GFAJ13 = FIFA Soccer 2003 +GFAJ13 = FIFA 2003 GFAP69 = FIFA Football 2003 GFAS69 = FIFA Football 2003 GFBE5D = FireBlade @@ -8416,6 +8683,7 @@ GFPEA4 = Frogger: Ancient Shadow GFQEA4 = Frogger's Adventures: The Rescue GFSD69 = 2002 FIFA World Cup GFSE69 = FIFA Soccer 2002 +GFSF69 = 2002 FIFA World Cup GFSJ13 = FIFA Soccer 2002 GFSP69 = 2002 FIFA World Cup GFSX69 = 2002 FIFA World Cup @@ -8441,9 +8709,9 @@ GGAJB2 = Mobile Suit Gundam: The Ace Pilot GGCE0A = Goblin Commander: Unleash The Horde GGCP0A = Goblin Commander: Unleash the Horde GGEE41 = Beyond Good & Evil -GGEP41 = Beyond Good And Evil -GGEX41 = Beyond Good And Evil -GGEY41 = Beyond Good And Evil +GGEP41 = Beyond Good & Evil +GGEX41 = Beyond Good & Evil +GGEY41 = Beyond Good & Evil GGFJ01 = GiFTPiA GGIJ13 = GoldenEye - Dark Agent GGKJB2 = Konjiki no Gashbell!! Yuujou Tag Battle - Full Power @@ -8459,10 +8727,10 @@ GGSPA4 = Metal Gear Solid: The Twin Snakes GGTE01 = Chibi-Robo! GGTJ01 = Chibi-Robo! GGTP01 = Chibi-Robo! -GGVD78 = Spongebob Squarepants : The Movie +GGVD78 = Spongebob Squarepants: The Movie GGVE78 = SpongeBob SquarePants: The Movie GGVP78 = Spongebob Squarepants: The Movie -GGVX78 = Spongebob Squarepants : The Movie +GGVX78 = Spongebob Squarepants: The Movie GGYE41 = Tom Clancy's Ghost Recon 2 GGYP41 = Tom Clancy's Ghost Recon 2 GGZE52 = Madagascar @@ -8545,7 +8813,7 @@ GHYE6S = The Haunted Mansion GHZE5D = NHL Hitz Pro GI2J18 = Momotarou Dentetsu 12 GIAE7D = Ice Age 2: The Meltdown -GIAP7D = Ice Age 2 : The Meltdown +GIAP7D = Ice Age 2: The Meltdown GIBE4F = The Italian Job GIBP4F = The Italian Job GICD78 = The Incredibles @@ -8606,12 +8874,12 @@ GJNE78 = Jimmy Neutron Boy Genius GJNP78 = Jimmy Neutron Boy Genius GJPJCM = Jikkyou Powerful Pro Yakyuu 11 GJSJ18 = Hudson Selection Vol. 2: Star Soldier -GJUD78 = Tak and the Power of JuJu +GJUD78 = Tak and the Power of Juju GJUE78 = Tak and the Power of Juju -GJUF78 = Tak and the Power of JuJu -GJUP78 = Tak and the Power of JuJu -GJWE78 = Tak: The Great JuJu Challenge -GJWP78 = Tak: The Great JuJu Challenge +GJUF78 = Tak and the Power of Juju +GJUP78 = Tak and the Power of Juju +GJWE78 = Tak: The Great Juju Challenge +GJWP78 = Tak: The Great Juju Challenge GJXE51 = Vexx GJXP51 = Vexx GJYE78 = Jimmy Neutron: Attack of the Twonkies @@ -8645,6 +8913,7 @@ GKDP01 = Doshin the Giant GKEJA4 = Jikkyou Powerful Pro Yakyuu 12 Ketteiban GKFEGG = Chaos Field GKFJ8P = Chaos Field Expanded +GKFJMS = Chaos Field Expanded GKGE01 = Donkey Konga GKGJ01 = Donkey Konga GKGP01 = Donkey Konga @@ -8690,7 +8959,7 @@ GKYP01 = Kirby Air Ride GKZD54 = Codename: Kids Next Door - Operation: V.I.D.E.O.G.A.M.E. GKZE9G = Codename Kids Next Door - Operation V.I.D.E.O.G.A.M.E GKZP54 = Codename Kids Next Door - Operation V.I.D.E.O.G.A.M.E -GL2E51 = Legends of Wrestling 2 +GL2E51 = Legends of Wrestling II GL2P51 = Legends of Wrestling II GL3JE8 = Lupin The Third - Umi Ni Kieta Hihou GL5E4F = LEGO Star Wars: The Video Game @@ -8711,7 +8980,7 @@ GLCS52 = Lemony Snickets A Series Of Unfortunate Events GLEE08 = Resident Evil 3: Nemesis GLEJ08 = BioHazard 3: Last Escape GLEP08 = Resident Evil 3: Nemesis -GLGP41 = Largo Winch : Empire Under Threat +GLGP41 = Largo Winch: Empire Under Threat GLHEG9 = Flushed Away GLHPG9 = Flushed Away GLIJA7 = Special Jinsei Game @@ -8742,9 +9011,9 @@ GLSF64 = Gladius GLSP64 = Gladius GLUE7U = Lotus Challenge GLVD4Q = The Chronicles of Narnia: The Lion Witch and the Wardrobe -GLVE4Q = The Chronicles of Narnia: The Lion Witch and the Wardrobe +GLVE4Q = The Chronicles of Narnia: The Lion, the Witch and the Wardrobe GLVF4Q = The Chronicles of Narnia: The Lion Witch and the Wardrobe -GLVP4Q = The Chronicles of Narnia: The Lion Witch and the Wardrobe +GLVP4Q = The Chronicles of Narnia: The Lion, the Witch and the Wardrobe GLWE51 = Legends of Wrestling GLWP51 = Legends of Wrestling GLXJ29 = Legend of Golfer @@ -8797,7 +9066,7 @@ GMJP41 = Monster Jam: Maximum Destruction GMKD5D = Mortal Kombat: Deadly Alliance GMKE5D = Mortal Kombat: Deadly Alliance GMKP5D = Mortal Kombat: Deadly Alliance -GMLEA4 = ESPN MLS Extra Time 2002 +GMLEA4 = ESPN MLS ExtraTime 2002 GMNE78 = Monsters, Inc. Scream Arena GMNP78 = Monsters, Inc. Scream Arena GMOP70 = Micro Machines @@ -9040,7 +9309,7 @@ GQWX69 = Harry Potter: Quidditch World Cup GQXE69 = Madden NFL 2004 GQXP69 = Madden NFL 2004 GQZJ01 = Densetsu no Quiz Ou Ketteisen -GR2E52 = Lost Kingdoms 2 +GR2E52 = Lost Kingdoms II GR2JCQ = Rune II: Koruten no Kagi no Himitsu GR2P52 = Lost Kingdoms 2 GR3E5D = Red Card 2003 @@ -9060,7 +9329,7 @@ GR9P6L = Reign of Fire GRAE5Z = Rally Championship GRAP75 = Rally Championship GRBE6S = Robotech: Battlecry -GRBP6S = Robotech : Battlecry +GRBP6S = Robotech: Battlecry GRDP5D = RedCard GREE08 = Mega Man Network Transmission GREJ08 = RockMan EXE Transmission @@ -9101,7 +9370,7 @@ GRYE41 = Rayman Arena GRZJ13 = Medal of Honor: Rising Sun GS2D78 = Summoner: A Goddess Reborn GS2E78 = Summoner: A Goddess Reborn -GS2F78 = Summoner: La Deesse Reincarnee +GS2F78 = Summoner: La Déesse Réincarnée GS2P78 = Summoner: A Goddess Reborn GS3E51 = SX Superstar GS3P51 = SX Superstar @@ -9110,9 +9379,9 @@ GS8E7D = Spyro: Enter the Dragonfly GS8P7D = Spyro: Enter the Dragonfly GS9E6S = Shrek Extra Large GS9P6S = Shrek Extra Large -GSAE01 = Star Fox Adventures -GSAJ01 = StarFox Adventures -GSAP01 = Star Fox Adventures +GSAE01 = Star Fox: Adventures +GSAJ01 = Star Fox: Adventures +GSAP01 = Star Fox: Adventures GSBJ8P = Sonic Adventure 2: Battle GSCE51 = Jeremy McGrath SuperCross World GSCP51 = Jeremy McGrath SuperCross World @@ -9122,7 +9391,7 @@ GSGE5D = MLB SlugFest 2003 GSHE5D = SpyHunter GSHP5D = SpyHunter GSKE7D = The Scorpion King: Rise of the Akkadian -GSKP7D = The Scorpion King : Rise of the Akkadian +GSKP7D = The Scorpion King: Rise of the Akkadian GSMD52 = Spider-Man GSME52 = Spider-Man: The Movie GSMF52 = Spider-Man @@ -9153,13 +9422,13 @@ GSWD64 = Star Wars Rogue Leader: Rogue Squadron II GSWE64 = Star Wars Rogue Squadron II: Rogue Leader GSWF64 = Star Wars Rogue Squadron II: Rogue Leader GSWI64 = Star Wars Rogue Squadron II: Rogue Leader -GSWJ64 = Star Wars Rogue Squadron II +GSWJ13 = Star Wars Rogue Squadron II GSWP64 = Star Wars Rogue Squadron II: Rogue Leader GSWS64 = Star Wars Rogue Leader: Rogue Squadron II GSXD64 = Star Wars: The Clone Wars GSXE64 = Star Wars: The Clone Wars GSXF64 = Star Wars: The Clone Wars -GSXI64 = Star Wars - The Clone Wars +GSXI64 = Star Wars: The Clone Wars GSXJ13 = Star Wars: Clone Sensou GSXP64 = Star Wars: The Clone Wars GSXS64 = Star Wars: The Clone Wars @@ -9186,7 +9455,7 @@ GT7P41 = Tom Clancy's Splinter Cell: Pandora Tomorrow GT7X41 = Tom Clancy's Splinter Cell: Pandora Tomorrow GT8E78 = Big Mutha Truckers GT8P7N = Big Mutha Truckers -GTAE5S = Top Angler : Real Bass Fishing +GTAE5S = Top Angler: Real Bass Fishing GTAP5S = Top Angler: Real Bass Fishing GTBJC0 = NHK Tensai Bit-Kun - Gramon Battle GTCJBL = GT Cube @@ -9213,7 +9482,7 @@ GTLX52 = True Crime: Streets of LA GTMJDA = Mutsu To Nohohon GTNJ18 = Hudson Selection Vol. 4: Adventure Island GTOJAF = Tales of Symphonia -GTPP6S = Knights Of The Temple : Infernal Crusade +GTPP6S = Knights Of The Temple: Infernal Crusade GTQE6S = Tonka: Rescue Patrol GTRE78 = Tetris Worlds GTRJ8N = Tetris Worlds @@ -9236,7 +9505,7 @@ GU4Y78 = 2 Games in 1: The SpongeBob SquarePants Movie / Battle for Bikini Botto GU6E78 = Nicktoons - Battle for Volcano Island GUBE69 = The Urbz: Sims in the City GUBJ13 = The Urbz: Sims In The City -GUBP69 = The Urbz: Sims In The City +GUBP69 = The Urbz: Sims in the City GUCD69 = UEFA Champions League 2004-2005 GUCF69 = UEFA Champions League 2004-2005 GUCP69 = UEFA Champions League 2004-2005 @@ -9325,7 +9594,7 @@ GWBE41 = Worms Blast GWBP41 = Worms Blast GWDP6S = World Racing GWEE51 = 18 Wheeler: American Pro Trucker -GWEJ51 = 18 Wheeler: American Pro Trucker +GWEJB0 = 18 Wheeler: American Pro Trucker GWEP8P = 18 Wheeler American Pro Trucker GWGE4F = Swingerz Golf GWGJ4F = Wai Wai Golf @@ -9336,7 +9605,7 @@ GWJE52 = Tony Hawk's American Wasteland GWKE41 = Peter Jackson's King Kong: The Official Game of the Movie GWKP41 = Peter Jackson's King Kong: The Official Game of the Movie GWLE6L = Wallace & Gromit in Project Zoo -GWLP6L = Wallace & Gromit : Project Zoo +GWLP6L = Wallace & Gromit: Project Zoo GWLX6L = Wallace & Gromit in Project Zoo GWME51 = Worms 3D GWMP8P = Worms 3D @@ -9359,7 +9628,7 @@ GWUE7D = Whirl Tour GWUP7D = Whirl Tour GWVE52 = X2: Wolverine's Revenge GWVP52 = X-Men 2: Wolverine's Revenge -GWVX52 = X-Men 2 : Wolverine's Revenge +GWVX52 = X-Men 2: Wolverine's Revenge GWWE01 = Wario World GWWJ01 = Wario World GWWP01 = Wario World @@ -9405,7 +9674,7 @@ GXOP69 = SSX On Tour GXOX69 = SSX On Tour GXPE78 = Sphinx and the Cursed Mummy GXPP78 = Sphinx and the Cursed Mummy -GXQF41 = Taxi 3 +GXQF41 = Taxi 3: Le Jeu GXRE08 = Mega Man X: Command Mission GXRJ08 = Rockman X: Command Mission GXRP08 = Mega Man X: Command Mission @@ -9423,9 +9692,9 @@ GYAD78 = Barnyard GYAE78 = Barnyard GYAP78 = Barnyard GYAX78 = Barnyard -GYBE01 = Donkey Kong Jungle Beat +GYBE01 = Donkey Kong: Jungle Beat GYBJ01 = Donkey Kong Jungle Beat -GYBP01 = Donkey Kong Jungle Beat +GYBP01 = Donkey Kong: Jungle Beat GYFEA4 = Yu-Gi-Oh! The Falsebound Kingdom GYFJA4 = Yu-Gi-Oh! The Falsebound Kingdom GYFPA4 = Yu-Gi-Oh! The Falsebound Kingdom @@ -9471,9 +9740,9 @@ GZQP7D = Robots GZSE70 = Zoids Battle Legends GZSJDA = Zoids VS. II GZVJDA = Zoids vs. III -GZWE01 = Wario Ware Inc.: Mega Party Game$! -GZWJ01 = Atumare!! Made in Wario -GZWP01 = Wario Ware Inc.: Mega Party Game$! +GZWE01 = WarioWare, Inc.: Mega Party Game$! +GZWJ01 = Atsumare!! Made in Wario +GZWP01 = WarioWare, Inc.: Mega Party Game$! P2ME01 = Metroid Prime 2: Echoes (Bonus Disc) P4BJ08 = Biohazard 4 (Demo) PC6E01 = Pokémon Colosseum Bonus Disc diff --git a/Data/Sys/wiitdb-es.txt b/Data/Sys/wiitdb-es.txt index f45c4503dc..a628de4253 100644 --- a/Data/Sys/wiitdb-es.txt +++ b/Data/Sys/wiitdb-es.txt @@ -1,7 +1,8 @@ -TITLES = https://www.gametdb.com (type: Wii language: ES_unique version: 20191106234230) +DCHJAF = We Cheer: Ohasta Produce ! Gentei Collabo Game Disc R22J01 = FlingSmash R23E52 = Barbie y las Tres Mosqueteras R23P52 = Barbie y las Tres Mosqueteras +R24J01 = Chibi-Robo! R25EWR = LEGO Harry Potter: Años 1-4 R25PWR = LEGO Harry Potter: Años 1-4 R27E54 = Dora Salva el Reino de Cristal @@ -10,7 +11,13 @@ R29P52 = Millennium Championship Paintball 2009 R2AE7D = La era del hielo 2 R2AP7D = Ice Age 2: El Deshielo R2AX7D = Ice Age 2: El Deshielo +R2PJ9B = Super Swing Golf Season 2 +R2PKZ4 = Super Swing Golf Season 2 +R2QJC0 = Cooking Mama 2 Taihen Mama wa Ooisogashi +R2SJ18 = Deca Sporta 2 +R2VJ01 = Sin and Punishment: Successor to the Sky R2YP54 = ¡Mi Gran Fiesta de Cumpleaños! +R32J01 = Metroid Prime 2 R38X78 = Marvel Super Hero Squad: Edición Walmart R3PPWR = Speed Racer R3SP52 = Spider-Man: El Reino de las Sombras @@ -19,9 +26,11 @@ R3YE70 = Sam & Max: Season Two - Beyond Time and Space R3YP70 = Sam & Max: Temporada Dos - Más Allá del Tiempo y del Espacio R42P69 = Los Sims 2: Náufragos R43E69 = EA Sports Active +R43J13 = EA Sports Active Personal Trainer Wii 30-Hi Seikatsu Kaizen Program R43P69 = EA Sports Active R48P7D = Las Crónicas de Spiderwick R4BPGT = Futbolín +R4CK69 = SimCity Creator R4EP01 = Endless Ocean 2: Aventuras Bajo el Mar R4PP69 = Los Sims 2: Mascotas R4ZJ01 = Fatal Frame 4: Mask of the Lunar Eclipse @@ -35,23 +44,31 @@ R5AX8P = La Brújula Dorada R5FP41 = Escuela de Campeones: Fútbol R5JES5 = Pirates vs. Ninjas Dodgeball R5JPS5 = Pirates vs. Ninjas Dodgeball +R5PJ13 = Harry Potter and the Order of the Phoenix R5PP69 = Harry Potter y la Orden del Fénix R5PX69 = Harry Potter y la Orden del Fénix R5UP41 = CSI: Determinación Mortal R5VE41 = James Cameron's Avatar: El Videojuego R5VP41 = James Cameron's Avatar: El Videojuego R5VX41 = James Cameron's Avatar: El Videojuego +R5XJ13 = MySims Agents R6APPU = Mi Nenuco juega +R6BK78 = de Blob R6XP69 = Hasbro: Juegos en Familia 2 R7AP69 = SimAnimals África R7CJ01 = Capitán Arcoiris +R7EJ8P = NiGHTS: Journey of Dreams +R7FJGD = Final Fantasy Fables: Chocobo's Dungeon R7IP69 = Charm Girls Club: Pajama Party R7ZP41 = Concurso Loco TV Party R82P52 = Animal Planet: Escuela Veterinaria +R84J99 = Bokujo for Wii R84P99 = Harvest Moon: El Árbol de la Tranquilidad R85PG9 = Los Sábados Secretos: Bestias del Quinto Sol R8AP01 = PokéPark Wii: La Gran Aventura de Pikachu R8BP41 = Baby-sitter Party +R8FJHA = Takumi Restaurant ha Daihanjou! +R8GJC8 = G1 Jockey Wii 2008 R8GPC8 = G1 Jockey 2008 R8HP4Q = Hannah Montana: La Película R8HX4Q = Hannah Montana: La Película @@ -59,6 +76,7 @@ R8HY4Q = Hannah Montana: La Película R8IP78 = Bob Esponja Atrapados en el Congelador R8IS78 = Bob Esponja: Atrapados en el Congelador R8JPWR = El Señor de los Anillos: Las Aventuras de Aragorn +R8NJG0 = Batting Revolution R8OX54 = Vamos al Circo R8RP41 = Arthur y la Venganza de Maltazard R8SP41 = Gymkana Party @@ -82,7 +100,13 @@ RB9Y78 = Bratz: La Película RBEP52 = Bee Movie: El Videojuego RBEX52 = Bee Movie: El Videojuego RBGE54 = The Bigs +RBHJ08 = Biohazard 0 +RBLJ8P = Bleach: Shattered Blade +RBTJ8P = Sega Bass Fishing +RBUJ08 = Biohazard: The Umbrella Chronicles RBVP52 = Barbie en La Princesa de los Animales +RBWJ01 = Totsugeki Famicom Wars vs. +RBYJ78 = Barnyard RBYP78 = El Corral: Una Fiesta Muy Bestia RC2E78 = Cars: Mater-National RC2P78 = Cars: La Copa Internacional de Mate @@ -92,30 +116,40 @@ RC3P41 = Catz: Diviértete con Nuevos Felinos RC3X41 = Catz: Diviértete con Nuevos Felinos RC4SGT = Shin Chan: ¡Las Nuevas Aventuras para Wii! RC8P7D = Crash: Guerra al Coco-Maníaco +RCAJ78 = Cars +RCCJC0 = Cooking Mama RCFP41 = La Familia Cosmic RCGP54 = Carnival: Juegos de Feria RCIP41 = CSI: Pruebas Ocultas RCKPGN = Sports Challenge: Desafío Deportivo RCLP4Q = Chicken Little: As en Acción RCOPNP = Detective Conan: La Investigación de Mirápolis +RD6J8N = Doubutu Kisoutengai RD6PNP = Safar'Wii -RDBPAF = Dragon Ball Z : Budokai Tenkaichi 2 RDDPA4 = Dance Dance Revolution: Hottest Party -RDGPA4 = Castlevania Judgement RDHP78 = Destroy All Humans! Big Willy Desatado! +RDIJG2 = The Dog Island RDKP01 = Donkey Kong Jet Race RDLP70 = Spy Fox in Dry Cereal RDMPHZ = Minon: Héroe Total +RDOJ41 = Dog to Mahou no Boushi RDOP41 = Dogz: ¡Diviértete con Más Perros! RDOX41 = Dogz: ¡Diviértete con Más Perros! RDPP54 = Dora al Rescate de la Princesa de la Nieve RDPX54 = Dora al Rescate de la Princesa de la Nieve RDQEGD = Dragon Quest Swords: La Reina Enmascarada y la Torre de los Espejos RDQPGD = Dragon Quest Swords: La Reina Enmascarada y la Torre de los Espejos +RDRJA4 = Dewy's Adventure +RDTJAF = Tamagotchi Pikadai +RDWJG9 = Dragon Blade: Wrath of Fire +RDXJ18 = Deca Sporta +RDXKA4 = Deca Sporta REBPMT = Mr. Bean en el Estrambótico Mundo de Wii +REKJ2N = Shape Boxing Wii de Enjoy Diet REKP41 = Mi Experto en Fitness: Cardio Training REKU41 = Mi Experto en Fitness: Cardio Training RENE8P = Sonic y el Caballero Negro +RENJ8P = Sonic and the Black Knight RENP8P = Sonic y el Caballero Negro REQP54 = Go, Diego, Go!: Safari Rescue REQX54 = Go, Diego, Go!: Safari Rescue @@ -124,31 +158,40 @@ REYP4Q = Disney Sing It: High School Musical 3 - Fin de Curso REYX4Q = Disney Sing It: High School Musical 3 - Fin de Curso RF2P54 = Los 4 Fantásticos y Silver Surfer RF3P6M = Ferrari Challenge: Trofeo Pirelli +RF8J13 = FIFA 08 +RF9K69 = FIFA 09 All-Play +RFAJAF = Family Trainer: Athletic World RFKP41 = Mi Experto En Fitness: Mantente en Forma RFKX41 = Mi experto en Fitness: Mantente en Forma RFOP52 = Spider-Man: Amigo o Enemigo RFOX52 = Spider-Man: Amigo o Enemigo +RFQK69 = FaceBreaker: K.O. Party RFVP52 = ¡Los Monos Locos! RFZP41 = Imagina Ser Presenta: El Gran Concurso de la Moda RG5PWR = Guinness World Records: El Videojuego RG6P69 = Boogie Superstar RG8P41 = Animalz Sports: Dogz RGAP8P = Planet 51: El Videojuego +RGCJJF = Petitcopter Wii Adventure Flight RGFF69 = El Padrino: El Chantaje RGFI69 = El Padrino: El Chantaje RGFP69 = El Padrino: El Chantaje RGFS69 = El Padrino: El Chantaje RGHK52 = Guitar Hero III: Legends of Rock +RGIJC8 = G1 Jockey Wii RGJP7U = George de la Jungla RGQE70 = Los Cazafantasmas: El Videojuego RGQP70 = Los Cazafantasmas: El Videojuego RGWE41 = Rabbids Mi Caaasa!!! RGWP41 = Rabbids Mi Caaasa!!! RGWX41 = Rabbids Mi Caaasa!!! +RH3J4Q = High School Musical 3: Senior Year Dance! RH3P4Q = High School Musical 3: Fin de Curso Dance! RH5PKM = Horse Life 2: Amigos para Siempre RH6K69 = Harry Potter and the Half-Blood Prince RH6P69 = Harry Potter y el Misterio del Príncipe +RHAK01 = Wii Play +RHKJ18 = Hataraku Hit RHKP18 = Job Island RHQP4Q = Hannah Montana: Únete a Su Gira Mundial RHQX4Q = Hannah Montana: Únete a Su Gira Mundial @@ -169,12 +212,15 @@ RIHP8P = El Increíble Hulk RIJP69 = G.I. JOE RINP08 = Dead Rising: Terror en el Hipermercado RIOPSU = Esa Horrible Historia: Depravados Romanos -RIPPAF = One Piece Unlimited Cruise 1: El Tesoro Bajo las Olas +RIPPAF = One Piece: Unlimited Cruise 1: El Tesoro Bajo las Olas RITFMR = Intervilles: Le Jeu Officiel -RIUPAF = One Piece - Unlimited Cruise 2: El Despertar de un Héroe +RIUJAF = One Piece Unlimited Cruise 2: Awakening of a Hero +RIUPAF = One Piece: Unlimited Cruise 2: El Despertar de un Héroe RIVEXJ = Ivy the Kiwi? +RIVJAF = Ivy the Kiwi? RIVP99 = Ivy the Kiwi? RIXP7J = Dodge Racing: Charger vs. Challenger +RJ2JGD = 007: Quantum of Solace RJ8P64 = Indiana Jones y el Cetro de los Reyes RJ9FMR = Think: Sigue Entrenando tu Cerebro RJ9PFR = Think: Sigue Entrenando tu Cerebro @@ -191,9 +237,18 @@ RJNE20 = Build 'n Race RJOP99 = Ju-On: The Grudge RJQP70 = Pajama Sam: Don't Fear the Dark RJZP7U = SNK Arcade Classics: Volumen 1 +RK2JEB = Trauma Center: New Blood +RK5K01 = Kirby's Epic Yarn +RK6J18 = Kororinpa 2 +RKAJMS = Milestone Shooting Collection +RKAK8M = Milestone Shooting Collection Karous Wii +RKDJEB = Trauma Center: Second Opinion +RKFKZA = King of Fighters Collection: The Orochi Saga RKFP7U = The King of Fighters Collection: The Orochi Saga RKHP52 = Kung Fu Panda: Guerreros Legendarios RKMP5D = Mortal Kombat: Armagedón +RKPJ52 = Kung Fu Panda +RKPK52 = Kung Fu Panda RKPP52 = Kung Fu Panda: El Videojuego RKPV52 = Kung Fu Panda: El Videojuego RKPY52 = Kung Fu Panda: El Videojuego @@ -212,9 +267,14 @@ RLNFMR = Supervivientes RLNHMR = Supervivientes RLNIMR = Supervivientes RLNPMR = Supervivientes +RLRJEL = Tomb Raider: Anniversary RLVP78 = Avatar: La Leyenda de Aang +RLWJ78 = Ratatouille RM5P7D = La Momia: La Tumba del Emperador Dragón RM9PGM = Mushroom Men: Las Guerras Espora +RMAJ01 = Mario Power Tennis +RMGK01 = Super Mario Galaxy +RMHJ08 = Monster Hunter Tri RMNDFR = Mi Hotel para Mascotas RMNHMN = Mi Hotel para Mascotas RMNPFR = Mi Hotel para Mascotas @@ -223,26 +283,32 @@ RMSP52 = Marvel Ultimate Alliance 2 RMUE52 = Marvel Ultimate Alliance RMUJ2K = Marvel Ultimate Alliance RMUP52 = Marvel Ultimate Alliance -RN3P78 = Bob Esponja: El Ataque de los Juguetes Roboticos +RN3J78 = Nicktoons: Attack of the Toybots +RN3P78 = Bob Esponja : El Ataque de los Juguetes Roboticos RN3X78 = Bob Esponja : El Ataque de los Jugetes Roboticos RN4P41 = ANNO: La Creación de un Nuevo Mundo RN5P78 = The Naked Brothers Band: El Videojuego RNCPH4 = SNK Arcade Classics: Volumen 1 +RNEJDA = Naruto Shippuuden: Gekitou Ninja Taisen EX 3 RNIPGT = Cuerpo, Mente y Vida: Cuida lo que Comes +RNNJ4Q = The Chronicles of Narnia: Prince Caspian RNNP4Q = Las Crónicas de Narnia: El Príncipe Caspian RNNX4Q = Las Crónicas de Narnia: El Príncipe Caspian RNNY4Q = Las Crónicas de Narnia: El Príncipe Caspian RNNZ4Q = Las Crónicas de Narnia: El Príncipe Caspian RNOP01 = Another Code: R - Más Allá de la Memoria +RNRJ41 = Nitro Bike RNSD69 = Need for Speed: Carbono RNSE69 = Need for Speed: Carbon RNSF69 = Need for Speed: Carbono RNSP69 = Need for Speed: Carbono RNSX69 = Need for Speed: Carbono +RNWJAF = Namco Carnival RNXJDA = Naruto Shippuuden Gekitou Ninja Taisen EX RNYJDA = Naruto Shippuuden Gekitou Ninja Taisen EX 2 RO2E7N = Ford Racing: Off Road RO2P7N = Ford Racing: Off Road +RO3J99 = Little King's Story RO7P7D = La Leyenda de Spyro: La Noche Eterna RO8E7D = The Legend of Spyro: Dawn of the Dragon RO8P7D = La Leyenda de Spyro: La Fuerza del Dragón @@ -250,11 +316,18 @@ RO8X7D = La Leyenda de Spyro: La Fuerza del Dragón ROAE36 = Overlord: La Leyenda Siniestra ROAP36 = Overlord: La Leyenda Siniestra ROBPPL = Obscure II +RODJ01 = WarioWare: Smooth Moves +RODK01 = WarioWare: Smooth Moves ROEPGT = Hotel para Perros ROLE8P = Mario & Sonic en los Juegos Olímpicos de Invierno +ROLJ01 = Mario & Sonic at the Olympic Winter Games +ROLK01 = Mario & Sonic at the Olympic Winter Games ROLP8P = Mario & Sonic en los Juegos Olímpicos de Invierno +RONJG9 = Onechanbara Revolution ROPP41 = Colegas en el Bosque -ROUPAF = One Piece - Unlimited Cruise 1: El Tesoro Bajo las Olas +ROUJAF = One Piece Unlimited Cruise 1: The Treasure Beneath the Waves +ROUPAF = One Piece: Unlimited Cruise 1: El Tesoro Bajo las Olas +ROWJ08 = Ōkami ROYE41 = Lluvia de Albóndigas ROYP41 = Lluvia de Albóndigas ROYX41 = Lluvia de Albóndigas @@ -264,26 +337,34 @@ RP7P52 = Piratas: El Tesoro de Barbanegra RPFP52 = Pitfall: La Gran Aventura RPFU52 = Pitfall: La Gran Aventura RPKP52 = World Series of Poker: Tournament of Champions +RPSJ4Q = Disney Princess Wii RPSP4Q = Disney Princesas: Un Viaje Encantado RPTD52 = Puppy Luv: Cuida tu Cachorro RPTP52 = Puppy Luv: Cuida tu Cachorro RPWX41 = Prince of Persia: Las Arenas Olvidadas +RPXJ13 = EA Playground +RPYJ9B = Super Swing Golf RPYP9B = Pangya! Golf con Estilo +RQ4J78 = SpongeBob SquarePants: Creature from the Krusty Krab RQ4P78 = Bob Esponja: La Criatura del Krustáceo Krujiente RQ5P5G = Mad Dog McCree: Gunslinger Pack RQ5X5G = Mad Dog McCree: Gunslinger Pack RQEP6V = Agatha Christie: Maldad Bajo el Sol RQFP6V = Safecracker: El Desafío Definitivo +RQGJ13 = MySims Racing RQJP7D = Crash: Lucha de Titanes RQJX7D = Crash: Lucha de Titanes RQKP41 = Feria Party RQLP64 = Star Wars The Clone Wars: Héroes de la República RQNPWR = Scooby-Doo! Bienvenidos al Misterio +RQOJ13 = Spore Hero RQOP69 = Spore Héroes +RQRJAF = The Sky Crawlers: Innocent Aces RQTP6V = Agatha Christie: Y No Quedó Ninguno RQXP70 = Astérix en los Juegos Olímpicos RR5P70 = Ready 2 Rumble: Revolution RR7PVP = Real Madrid: The Game +RRBJ41 = Rayman Raving Rabbids RRCP52 = Barbie Horses: Escuela de Equitación RRGP52 = Madagascar 2: El Videojuego RRJFMR = Ready, Steady, Cook: The Game @@ -293,38 +374,50 @@ RRMP69 = Hasbro: Juegos en Familia RRMX69 = Hasbro: Juegos en Familia RRQP52 = Shrek Carnival Craze: Multijuegos RRQX52 = Shrek Carnival Craze: Multijuegos +RRSJ4Q = Meet The Robinsons RRSP4Q = Descubriendo a los Robinsons RRSX4Q = Descubriendo a los Robinsons RRTP52 = Family Games: 20 Juegos RS5JC8 = Sengoku Musô KATANA RSAP78 = Bob Esponja: Aventura en la Atlántida +RSBK01 = Dairantou Smash Brothers X +RSHK69 = MySims Kingdom RSKP52 = Shrek Tercero RSKX52 = Shrek Tercero -RSLKAF = Soulcalibur Legends RSLPAF = Soulcalibur Legends +RSMJ8P = Super Monkey Ball: Banana Blitz RSND69 = Los Simpson: El Videojuego RSNF69 = Los Simpson: El Videojuego RSNP69 = Los Simpson: El Videojuego RSNX69 = Los Simpson: El Videojuego RSRE8P = Sonic y los Anillos Secretos +RSRJ8P = Sonic and the Secret Rings RSRP8P = Sonic y los Anillos Secretos RSSK52 = Samurai Shodown Anthology RSTP64 = Star Wars: El Poder de la Fuerza +RSZJES = Yukinko Daisenpuu RT3P54 = Rockstar Games Presenta Table Tennis RT6FKM = El Tiovivo Mágico RT6PKM = El Tiovivo Mágico -RT8K69 = Tiger Woods PGA Tour 08 +RT8J13 = Tiger Woods PGA Tour Golf 08 +RTDJES = Shin Chuuka Taisen +RTDK8M = Shin Chuuka Taisen RTEHMR = Veterinarios en Acción RTEPFR = Mi Clínica Veterinaria RTFP52 = Transformers: El Videojuego RTFX52 = Transformers RTFY52 = Transformers +RTIJ8P = Wacky World of Sports RTIP8P = Locura Deportiva +RTKK8M = Sharuui Takoron +RTLJ18 = Mezase Tsuri Master Sekai ni Challenge Hen RTMP41 = Tortugas Ninja Jóvenes Mutantes +RTRJ18 = Mezase Tsuri Master RTSP41 = Totally Spies! Fiesta Total RTVP64 = Thrillville: Off the Rails RTYP01 = Wii Ajedrez RTZJ08 = Zack & Wiki: En Busca del Tesoro de Barbaros +RTZK08 = Zack & Wiki: Quest For Barbaros' Treasure RTZP08 = Zack & Wiki: En Busca del Tesoro de Barbaros RU2P5Z = Winter Sports 2: The Next Challenge RU5P4Q = Tiana y el Sapo @@ -340,59 +433,79 @@ RUIX4Q = Disney Sing It RUME5Z = Ski And Shoot RUOPPL = Pequeños Invasores RUQI78 = Up: El videojuego +RUQJJE = Carl Jii San no Sora Tobu Le RUQP78 = Up: El videojuego RUQS78 = Up: El Videojuego RUQX78 = Up: El videojuego +RUSK78 = SpongeBob SquarePants Featuring Nicktoons: Globs of Doom RUSP78 = Bob Esponja y Amigos: Globs of Doom RUSX78 = Bob Esponja y Amigos: Globs of Doom RUSY78 = Bob Esponja y Amigos: Globs of Doom RUUJ01 = Machi He Ikouyo Doubutsu no Mori +RUUK01 = Animal Crossing: City Folk RV7SMR = Supervivientes RV9P78 = Avatar: La Leyenda de Aang - Dentro del Infierno RVAP78 = Avatar: La Leyenda de Aang - La Tierra Ardiente RVBPRS = Alvin y las Ardillas RVHP41 = Scrabble Interactivo: Edición 2009 RVJPFR = So Blonde: Perdidos en el Caribe +RVKJ99 = Valhalla Knights: Elder Saga RVQP41 = Desafío Cine Party RVTFMR = Veterinarios en Acción RVTPMR = Veterinarios en Acción RVTXMR = Veterinarios en Acción RVZP52 = Monstruos contra Alienígenas +RW3J4Q = Pirates of the Caribbean: At World's End RW3P4Q = Los Piratas del Caribe: En el Fin del Mundo RW4D41 = Mi Experto en Vocabulario RW5F41 = ¿Quién Quiere Ser Millonario? 2da Edición RW5P41 = ¿Quién Quiere Ser Millonario? 2da Edición RW8P41 = Imagina Ser: Amazona en Competición +RWAJ78 = WALL•E +RWAK78 = WALL•E RWFH41 = Mi Experto en Vocabulario RWMP78 = Worms: Una Gusanodisea Espacial RWRP4F = Los Autos Locos RWSE8P = Mario & Sonic en los Juegos Olímpicos +RWSJ01 = Mario & Sonic at the Olympic Games +RWSK01 = Mario & Sonic at the Olympic Games RWSP8P = Mario & Sonic en los Juegos Olímpicos RWUP52 = X-Men Orígenes: Lobezno RWUX52 = X-Men Orígenes: Lobezno RX4PMT = La Escuela de Miedos de Casper: Olimpiada Terrorífica RXDD4Q = Disney Th!nk Fast: Piensa y Acierta +RXDJ4Q = Disney Th!nk Haya Oshi Quiz RXDP4Q = Disney Th!nk Fast: Piensa y Acierta RXDR4Q = Disney Th!nk Fast: Piensa y Acierta RXDX4Q = Disney Th!nk Fast: Piensa y Acierta RXDY4Q = Disney Th!nk Fast: Piensa y Acierta RXIP52 = Transformers: La Venganza de los Caídos RXLP41 = Anatomía de Grey: El Videojuego +RXPJJF = Bass Fishing Wii RXQPWR = Donde Viven los Monstruos RXRPRS = El Valiente Desperaux RXRXRS = El Valiente Desperaux RXUP41 = Locos por el Surf RXUX41 = Locos por el Surf +RXXJ4Q = Spectrobes: Origins RXXP4Q = Spectrobes: Orígenes +RY2J41 = Rayman Raving Rabbids 2 +RY2K41 = Rayman Raving Rabbids 2 RY3E41 = Rayman Raving Rabbids: TV Party +RY3J41 = Rayman Raving Rabbids TV Party RY3K41 = Rayman Raving Rabbids TV Party RYBE69 = Boom Blox Bash Party RYBP69 = Boom Blox Smash Party +RYGJ9B = Argus no Senshi Muscle Impact RYIE9B = Spray RYIPNK = Spray +RYWK01 = Big Brain Academy: Wii Degree RYWP01 = Big Brain Academy para Wii RZAPTV = Power Math +RZDJ01 = The Legend of Zelda: Twilight Princess RZLP41 = Cooking Party +RZPJ01 = Link's Crossbow Training +RZPK01 = Link's Crossbow Training RZRPGT = El Destino de El Zorro RZYF41 = Mi Experto en Vocabulario RZYP41 = Mi Experto en Vocabulario @@ -403,6 +516,7 @@ S2ZP52 = Zhu Zhu Pets: Los Amigos del Bosque S33SKM = Let's Sing 9 - Versión Española S3BEWR = Batman: El Intrépido Batman S3BPWR = Batman: El Intrépido Batman +S3DJ18 = Deca Sporta 3 S3EP78 = Barbie: Planeta Fashionista S3MP69 = Los Sims 3 S3PP4Q = Disney Princesas: Reinos Mágicos @@ -416,11 +530,13 @@ S7FPGT = Zumba Kids: ¡Ven a la fiesta del baile! S7JPKM = Let's Sing 6 - Versión Española S7SP41 = Los Pitufos Party Pack SA3P5G = Alvin y las Ardillas 3 +SA3XGT = Alvin y las Ardillas 3 SALE4Q = Alicia en el País de las Maravillas SALP4Q = Alicia en el País de las Maravillas SAOP78 = Monster High: Instituto Monstruoso SAOXVZ = Monster High: Instituto Monstruoso SB2PNP = My Baby 2: ¡Mi Bebé Ha Crecido! +SB4K01 = Super Mario Galaxy 2 SB6P52 = Bakugan: Defensores de la Tierra SB9P78 = Barbie y el Salón de Belleza para Mascotas SBJEG9 = Ben 10 Ultimate Alien: Cosmic Destruction @@ -431,6 +547,8 @@ SBRPKM = Repetto presenta Ballerina SBVP78 = Bob Esponja: Botes de Choque SBVS78 = Bob Esponja: Botes de Choque SBZESZ = Triángulo de las Bermudas: Salvemos el Coral +SC8J01 = Wii Play: Motion +SC8K01 = Wii Play: Motion SCIP41 = CSI: La Conspiración SCJE4Q = LEGO Piratas del Caribe: El Videojuego SCJP4Q = LEGO Piratas del Caribe: El Videojuego @@ -452,19 +570,24 @@ SDPP54 = Dora la Exploradora: La Gran Aventura de Cumpleaños SDUE41 = Los Pitufos: Dance Party SDUP41 = Los Pitufos: Dance Party SDUX41 = Los Pitufos: Dance Party +SDWJ18 = Lost in Shadow SDWP18 = La Torre de las Sombras +SEAJ13 = EA Sports Active More Workout SEAP69 = EA Sports Active: Nuevos Retos +SEMJ01 = Disney Epic Mickey: Mickey Mouse and the Magic Brush SERF4Q = Disney Epic Mickey 2: El retorno de dos héroes SERP4Q = Disney Epic Mickey 2: El retorno de dos héroes SESPWR = Barrio Sésamo ¿Preparados? ¿Listos? ¡Coco! SESUWR = Barrio Sésamo ¿Preparados? ¿Listos? ¡Coco! SF2P64 = Star Wars: El Poder de la Fuerza II +SF5J41 = Fit in Six SF5P41 = Mi Experto en Fitness: Club SFIP01 = Mystery Case Files: El Incidente Malgrave SFPPFR = Fantastic Fútbol Fan Party SFQP8P = Capitán América: Supersoldado SFUE64 = Star Wars: El Poder de la Fuerza II SFWE69 = Copa Mundial de la FIFA Sudáfrica 2010 +SFWJ13 = 2010 FIFA World Cup South Africa SFWP69 = Copa Mundial de la FIFA Sudáfrica 2010 SFWX69 = Copa Mundial de la FIFA Sudáfrica 2010 SFWY69 = Copa Mundial de la FIFA Sudáfrica 2010 @@ -514,17 +637,20 @@ SLNP7M = La Voz Vol. 3 SLPP5D = The Spirit of the Wolf SLRPWR = LEGO El Señor de los Anillos SLVP41 = Party Night ¿Te Atreves? +SMBJ8P = Super Monkey Ball: Step & Roll SMFE4Q = Phineas y Ferb: A Través de la 2a Dimensión SMFP4Q = Phineas y Ferb: A Través de la 2a Dimensión SMGE78 = Megamind: El Mega Escuadrón SMGP78 = Megamind: El Mega Escuadrón SMIE41 = ¿Quién Quiere Ser Millonario? +SMNJ01 = New Super Mario Bros. Wii SMNW01 = New Super Mario Bros. Wii (Chino Tradicional) SN4JDA = Naruto Shippuuden Ryujinki SNBP41 = NCIS Navy Investigación Criminal SNYEVZ = Monster High: 13 Deseos SNYPVZ = Monster High: 13 Deseos SOTE52 = Wipeout +SOUJ01 = The Legend of Zelda: Skyward Sword SP5PVV = The Kore Gang: La Exvasión de los Intraterrestres SP8E78 = Los Pingüinos de Madagascar: El Regreso del Dr. Espiráculo! SP8P78 = Los Pingüinos de Madagascar: El Regreso Del Dr. Espiráculo @@ -535,6 +661,7 @@ SPXP41 = Prince of Persia: Las Arenas Olvidadas SQLE4Z = Cartoon Network: Explosión de Puñetazos XL SQLPGN = Cartoon Network: Explosión de Puñetazos XL SQQPVZ = Disney Aviones: Equipo De Rescate +SR4J41 = Raving Rabbids: Travel in Time SR4P41 = Raving Rabbids: Regreso al Pasado SR9EHG = El Conejo Lector Preescolar SRPE4Q = Enredados @@ -549,6 +676,7 @@ SSCIWR = Scene It? Estrellas en Pantalla Gigante SSCPWR = Scene It? Estrellas en Pantalla Gigante SSCSWR = Scene It? Estrellas en Pantalla Gigante SSCXPM = Scene It? Estrellas en Pantalla Gigante +SSEDNG = We Sing: Encore SSFPKM = Sing 4 SSHPHH = Sherlock Holmes: The Case of the Silver Earring ST5E52 = Transformers: La Guerra por Cybertron @@ -566,11 +694,13 @@ STSY4Q = Toy Story 3: El Videojuego STTPGR = Hidden Mysteries: Titanic STXE69 = Tiger Woods PGA TOUR 12: The Masters STZP52 = Transformers: El Lado Oscuro de la Luna - Stealth Force Edition +SU3HMR = U-Sing 2: Popstars Edition SU3UMR = U-Sing 2: Edición Australiana SU5EVZ = Monster High: El Patinaje Extre-Mortífero SU5PVZ = Monster High: El Patinaje Laberíntico SU7PAF = El Origen de los Guardianes SU9P4Q = Disney Aviones +SUKK01 = Kirby's Return to Dream Land SUSFMR = U-Sing: Johnny Hallyday SUUP78 = uDraw Studio: Artista al Instante SV3EG9 = Madagascar 3: El videojuego @@ -578,9 +708,12 @@ SV3PAF = Madagascar 3: de Marcha por Europa SV6SRV = La Voz SV7PVZ = Los Pingüinos de Madagascar SVDP52 = Bob Esponja: La Venganza de Plankton +SVMJ01 = Super Mario Collection: 25th Anniversary Edition SVMP01 = Super Mario All-Stars: Edición 25 Aniversario -SVQPVZ = Barbie y sus hermanas: Refugio para cachorros +SVQEVZ = Barbie y sus Hermanas: Refugio para Cachorros +SVQPVZ = Barbie y sus Hermanas: Refugio para Cachorros SVVPAF = Los Croods: ¡Fiesta Prehistórica! +SX3J01 = Pandora’s Tower: Until I Return to Your Side SX9PRV = La Voz Vol. 2 SY7PKM = Let's Sing 7 - Versión Española AMOR04 = Guitar Hero III Custom: HARDcore @@ -598,7 +731,6 @@ CG2P52 = Guitar Hero III Custom: Guitar Hero II CG3ECS = Guitar Hero III Custom: ClasSick Edition CG3PCS = Guitar Hero III Custom: ClasSick Edition CGBP52 = Guitar Hero III Custom: Rock Band -CGH370 = Guitar Hero III Custom: 70 New Song CGH3IM = Guitar Hero III Custom: Iron Maiden CGH3LM = Guitar Hero III Custom: Legend Of Music CGH3NE = Guitar Hero III Custom: Nostalgia Edition @@ -671,7 +803,7 @@ CTIP00 = StarSing: Rocks! Part. I v2.0 CTJP00 = StarSing: Rocks! Part. II v2.0 CTKP00 = StarSing: Pop Hits v2.0 DMSP4Q = Sing It: Películas Disney -DUAP01 = DU Super Mario Bros. : Edición Aniversario +GMSE02 = Super Mario Sunshine Multijugador HBWE01 = Nuevo Super Mario Bros. Wii: Edición Hellboy L40P4Q = SingIt: Pop hits, los 40 principales MKWP01 = Mario Kart Snes @@ -700,7 +832,9 @@ RGZC52 = Guitar Hero III Custom: Led Zeppelin RGZE52 = Guitar Hero III Custom: Shred Edition RJJG52 = Guitar Hero III Custom: JJ-KwiK's Edition RMCC01 = Mario Kart Wii (Personalizado) +RMCE88 = Mario Carritos Definitivo 3.0 RMCEB8 = Mario Kart Manía +RMCEFO = Neptune777 Forza MAX Orígenes RMGE52 = Guitar Hero III Custom: Megadeth RMHC08 = Monster Hunter Tri (Personalizado) RMMP52 = Guitar Hero III Custom: Metal Mayhem @@ -764,7 +898,7 @@ WHUP = Aventuras en la Casa Fantasma WIEP = Tales of Monkey Island: Episodio 3 - Lair of the Leviathan WILP = Tales of Monkey Island: Episodio 1 - Launch of the Screaming Narwhal WIRP = Tales of Monkey Island: Episodio 5 - Rise of the Pirate God -WISP = Tales of Monkey Island: Episodio 2 : The Siege of Spinner Cay +WISP = Tales of Monkey Island: Episodio 2 - The Siege of Spinner Cay WIYP = Tales of Monkey Island: Episodio 4 - The Trial and Execution of Guybrush Threepwood WJKP = Guardianes de Joyas: La Isla de Pascua WKFP = Kung Fu Funk: Everybody is Kung Fu Fighting @@ -851,9 +985,7 @@ XJIE = 2 Fast 4 Gnomz Demo FABE = Donkey Kong Jr JDLE = Super Return of the Jedi NAJ8 = The Legend of Zelda: Ocarina of Time (traducido al español) -NARP = The Legend of Zelda : Majora's Mask LALE = Fantasy Zone II -EA5P = Fatal Fury 3 : Road To The Final Victory E6PP = Ninja Gaiden E6VE = Zaxxon HAAA = Canal Fotos @@ -876,9 +1008,6 @@ HAPP = Canal Concursos Mii HATE = Canal Nintendo HAYA = Canal Fotos HCJP = Canal BBC iPlayer -JODI = Canal Homebrew -LULZ = Canal Homebrew -OHBC = Canal Homebrew D64A = Wii64 DGPA = Genesis Plus GX DMAA = SDL Mame @@ -886,8 +1015,12 @@ DNGA = NeoGamma DOOA = WiiDoom DSDA = SuperDump 1.3 DSVA = ScummVM +JODI = Canal Homebrew +LULZ = Canal Homebrew +OHBC = Canal Homebrew G3AS69 = El Señor de los Anillos: La Tercera Edad G3DX6L = Carmen Sandiego: El secreto de los tambores robados +G3FS69 = TimeSplitters: Futuro Perfecto G4MP69 = Los Sims: Toman La Calle G8MP01 = Paper Mario: La Puerta Milenaria G9TP52 = El Espantatiburones @@ -896,7 +1029,8 @@ GCBP7D = Crash Bandicoot: La Venganza de Cortex GCIP69 = Los Sims GDDP41 = Disney Pato Donald Cu@c Att@k?*! GENS69 = 007: Todo o Nada -GF4S52 = Los Cuatro Fantásticos™ and ©2005 +GF4S52 = Los 4 Fantásticos +GFSP69 = Mundial FIFA 2002 GH4S69 = Harry Potter y el Cáliz de Fuego GHBP7D = El Hobbit GHLZ69 = Harry Potter y la Piedra Filosofal @@ -911,7 +1045,7 @@ GLHPG9 = Ratónpolis GLNP69 = Looney Tunes: De Nuevo En Accion GLOS69 = El Señor de los Anillos: Las Dos Torres GNES78 = Buscando a Nemo -GOYS69 = GoldenEye : Agente Corrupto +GOYS69 = GoldenEye: Agente Corrupto GPQP6L = Las Supernenas: Arrasando las Salsas GPXP01 = Pokémon Box: Rubí y Zafiro GQWX69 = Harry Potter: Quidditch Copa del Mundo diff --git a/Data/Sys/wiitdb-fr.txt b/Data/Sys/wiitdb-fr.txt index f363420e7e..724da6abb5 100644 --- a/Data/Sys/wiitdb-fr.txt +++ b/Data/Sys/wiitdb-fr.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: FR_unique version: 20191106234238) R22J01 = FlingSmash R23P52 = Barbie et les Trois Mousquetaires R25PWR = LEGO Harry Potter : Années 1 à 4 @@ -28,7 +27,6 @@ R3YP70 = Sam & Max : Saison 2 : Au-Delà du Temps et de l'Espace R42P69 = Les Sims 2 : Naufragés R43P69 = EA Sports Active R48P7D = Les Chroniques De Spiderwick -R49P01 = Donkey Kong : Jungle Beat R4BPGT = Baby Foot R4EP01 = Endless Ocean 2 : Aventuriers des Fonds Marins R4PP69 = Les Sims 2 : Animaux & Cie @@ -48,6 +46,7 @@ R5TP69 = Grand Chelem Tennis R5UP41 = Les Experts: Préméditation R5VP41 = James Cameron's Avatar : The Game R5VX41 = James Cameron's Avatar : The Game +R5XJ13 = MySims Agents R5YD78 = All Star Pom Pom Girl 2 R5YP78 = All Star Pom Pom Girl 2 R62P4Q = Disney Sing It : Pop Hits @@ -226,9 +225,9 @@ RIHP8P = L'Incroyable Hulk RIJP69 = G.I. JOE : Le réveil du Cobra RINP08 = Dead Rising : Chop Till You Drop RIOPSU = Horribles Histoires : les Redoutables Romains -RIPPAF = One Piece Unlimited Cruise 1 : Le Trésor sous les Flots +RIPPAF = One Piece: Unlimited Cruise 1: Le Trésor sous les Flots RITFMR = Intervilles : Le Jeu Officiel -RIUPAF = One Piece - Unlimited Cruise 2 : L'Eveil d'un Héros +RIUPAF = One Piece: Unlimited Cruise 2: L'Eveil d'un Héros RJ2P52 = 007 : Quantum of Solace RJ4PRM = Naissance de Rome : Sur les Traces de César RJ7FWP = Télé 7 Jeux : Mots Fléchés @@ -319,7 +318,7 @@ ROLP8P = Mario & Sonic aux Jeux Olympiques d'Hiver RONPG9 = Onechanbara : Bikini Zombie Slayers ROPP41 = Les Rebelles de la Fôret ROTP7J = Twin Strike : Operation Thunder -ROUPAF = One Piece - Unlimited Cruise 1 : Le Trésor sous les Flots +ROUPAF = One Piece: Unlimited Cruise 1: Le Trésor sous les Flots ROVE6U = Playmobil Circus : Tous en Piste ROVPHM = Playmobil Circus: Tous en Piste ROYP41 = Tempête de boulettes géantes : Le Jeu Vidéo @@ -501,7 +500,6 @@ RY2P41 = Rayman Contre les Lapins Encore plus Crétins RY3P41 = Rayman Prod' présente : The Lapins Crétins Show RYBP69 = Boom Blox : Smash Party RYDP6V = Pet Pals: Vétérinaire -RYGP99 = Rygar : The Battle of Argus RYJPTV = Princesse Lillifee : La fée magique RYKEAF = Family Ski & Snowboard RYWP01 = Cérébrale Académie @@ -534,12 +532,14 @@ S6BP4Q = Rebelle S6BX4Q = Rebelle S6IP78 = Disney Princesse: Livres Enchantés S6RP52 = Les Mondes de Ralph +S72J01 = Hoshi no Kirby: 20th Anniversary Edition S7APWR = LEGO Batman 2 : DC Super Heroes S7BP69 = Trivial Pursuit Casual S7EP52 = Transformers : Édition Ultime Combat S7FPGT = Zumba Kids : La fête ultime pour les enfants S7SP41 = Les schtroumpfs Party Pack SA3P5G = Alvin et Les Chipmunks 3 +SA3XGT = Alvin et Les Chipmunks 3 SALE4Q = Alice au Pays des Merveilles SALP4Q = Alice au Pays des Merveilles SAOP78 = Monster High: Lycée d'Enfer @@ -624,7 +624,6 @@ SNBP41 = NCIS: Adapté de la série TV SNHP69 = Need for Speed SNUPJW = Happy Neuron Academy - Testez Votre Q.I. SNYPVZ = Monster High : 13 souhaits -SOMP01 = Beat the Beat : Rhythm Paradise SONFMR = Mon Premier Karaoké SOSPAF = Turbo : Équipe de Cascadeurs SOUP01 = The Legend of Zelda : Skyward Sword @@ -676,6 +675,7 @@ SVDP52 = Bob l'éponge : La vengeance robotique de Plankton SVHP69 = FIFA 14 - Édition Essentielle SVHX69 = FIFA 14 - Édition Essentielle SVMP01 = Super Mario All-Stars +SVQEVZ = Barbie et ses soeurs : La grande aventure des chiots SVQPVZ = Barbie et ses soeurs : La grande aventure des chiots SVVPAF = Les Croods : Fête Préhistorique ! SXAP52 = Guitar Hero : World Tour @@ -683,7 +683,9 @@ SXBP52 = Guitar Hero : Metallica SXCP52 = Guitar Hero : Greatest Hits SXDP52 = Guitar Hero : Van Halen SXIP52 = Guitar Hero : Warriors of Rock +GMSE02 = Super Mario Sunshine Multijoueur R4ZP01 = Project Zero 4 - Mask of the Lunar Eclipse +RMCE88 = Le Mario Kare Deluxa por jatras SBOD3Q = StarSing : Chansons Magiques de Disney v1.1 SILP4Q = SingItStar Latino W2CP = Cérébral Challenge @@ -843,7 +845,7 @@ HAYA = Chaîne Photos HCFP = Chaîne Wii Speak HCMP = Chaîne Kirby TV G2FF78 = Tak 2: Le Sceptre des Rêves -G3AF69 = Le Seigneur des Anneaux : Le Tiers Âge +G3AF69 = Le Seigneur des Anneaux: Le Tiers Âge G3DP6L = Carmen Sandiego : Le Secret des Tam-Tams Volés G3MP41 = La Somme de toutes les Peurs G3XP52 = X-Men: Le Jeu Officiel @@ -854,19 +856,20 @@ G4ZP69 = Les Sims 2 G5DP78 = Scooby-Doo! : Démasqué G6FF69 = Coupe du Monde de la FIFA 2006 G8MP01 = Paper Mario: La Porte Millénaire +G9TF52 = Gang de Requins GAVY78 = Avatar : Le Dernier Maître de l'Air GAZF69 = Harry Potter et le Prisonnier d'Azkaban -GC3F78 = Scooby-Doo! : Le Livre des Ténèbres -GCBP7D = Crash Bandicoot : La Vengeance de Cortex +GC3F78 = Scooby-Doo! Le Livre des Ténèbres +GCBP7D = Crash Bandicoot: La Vengeance de Cortex GCGP41 = Charlie's Angels: Les Anges se Déchaînent GCIP69 = Les Sims GCOF52 = Call of Duty : Le Jour De Gloire GCQF7D = Buffy contre les Vampires : Chaos Bleeds GDDP41 = Donald Cou@k Att@k?*! -GDOP41 = Disney's Donald Qui est PK ? +GDOP41 = Disney's Donald Qui est PK? GENF69 = James Bond 007: Quitte ou Double GF4F52 = Les 4 Fantastiques -GFAF69 = FIFA Football 2003 +GFSF69 = Coupe du Monde FIFA 2002 GGVX78 = Bob l'Eponge : Le Film GH2P69 = Need for Speed : Poursuite Infernale 2 GH4F69 = Harry Potter et la Coupe de Feu @@ -877,27 +880,28 @@ GHSY69 = Harry Potter et la Chambre des Secrets GHVP08 = Disney Cache-Cache Furtif GIAP7D = L'Age de Glace 2 GICF78 = Les Indestructibles +GIHF78 = Scooby-Doo! La Nuit des 100 Frissons GIHP78 = Scooby-Doo! : La Nuit des 100 Frissons GIQX78 = Les Indestructibles: La Terrible Attaque du Démolisseur -GJUF78 = Tak et le Pouvoir de Juju +GJUF78 = Tak & Le Pouvoir de Juju GKBPAF = Baten Kaitos : Les Ailes éternelles et l'Océan perdu GKJF78 = Cars: Quatre Roues -GKLF69 = Le Seigneur des Anneaux : Le Retour du Roi +GKLF69 = Le Seigneur des Anneaux: Le Retour du Roi GKMP41 = Prince of Persia: Les Deux Royaumes GL5X4F = Lego Star Wars : Le Jeu Vidéo GL7P64 = Lego Star Wars II: La Trilogie Originale -GLCF52 = Les Desastreuses Aventures des Orphelins Baudelaire +GLCF52 = Les Désastreuses Aventures des Orphelins Baudelaire: D'Apres Lemony Snicket GLGP41 = Largo Winch : Aller Simple pour les Balkans GLHPG9 = Souris City GLNP69 = Les Looney Tunes Passent à l'Action -GLOF69 = Le Seigneur des Anneaux : Les Deux Tours +GLOF69 = Le Seigneur des Anneaux: Les Deux Tours GLVF4Q = Le Monde de Narnia: Le Lion, la Sorcière et l'Armoire Magique GLZF69 = 007 : Bons Baisers de Russie GMFF69 = Medal of Honor : En Première Ligne GMNP78 = Monstres & Cie : Crazy Balls -GMWF52 = Minority Report: Le futur vous rattrape -GNEF78 = Le Monde De Némo -GONF69 = Medal of Honor : Les Faucons de Guerre +GMWF52 = Minority Report: Le Futur vous Rattrape +GNEF78 = Le Monde de Némo +GONF69 = Medal of Honor: Les Faucons de Guerre GOSP41 = Les Rebelles de la Forêt GOYF69 = GoldenEye : Au service du Mal GP3P78 = Le Pole Express @@ -909,20 +913,21 @@ GQ4F78 = Bob L'éponge: La Créature du Crabe Croustillant GQFFFK = Franklin: Un anniversaire surprise GQLP54 = Dora l'Exploratrice: Voyage sur la Planète Violette GQPP78 = Bob l'Eponge: Bataille pour Bikini Bottom -GQQF78 = Bob L'éponge : Silence on tourne! +GQQF78 = Bob L'éponge: Silence on Tourne! GQWX69 = Harry Potter: Coupe du Monde de Quidditch GR2P52 = Les Royaumes Perdus II -GR8F69 = Medal of Honor : Soleil Levant +GR8F69 = Medal of Honor: Soleil Levant GR9P6L = Le Règne Du Feu GRNP52 = Les Royaumes Perdus -GRUF78 = Power Rangers : Dino Tonnerre +GRRF78 = Les Razmoket: La Rançon Royale +GRUF78 = Power Rangers: Dino Tonnerre GSKP7D = Le Roi Scorpion : L'Ascension de l'Akkadien GTYP69 = Ty: Le Tigre de Tasmanie GU2F78 = 2 Games in 1: Les Indestructibles / Le Monde de Nemo GU3X78 = 2 Games in 1: Bob L'éponge le Film / Tak 2 Le Sceptre des Rêves GUBP69 = Les Urbz: Les Sims in the City -GVLF69 = Marvel Nemesis : L'Avenement des Imparfaits -GW7F69 = James bond 007 dans Espion pour Cible +GVLF69 = Marvel Nemesis: L'Avenement des Imparfaits +GW7F69 = James Bond 007 dans Espion pour Cible GWHP41 = Winnie l'Ourson: à la Recherche des Souvenirs Oubliés GWLX6L = Wallace & Gromit dans Le Project Zoo GWVX52 = X-Men 2 : La Vengeance de Wolverine diff --git a/Data/Sys/wiitdb-it.txt b/Data/Sys/wiitdb-it.txt index 3e064fd387..3e20c36f85 100644 --- a/Data/Sys/wiitdb-it.txt +++ b/Data/Sys/wiitdb-it.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: IT_unique version: 20191106234245) R23P52 = Barbie e le Tre Moschettiere R25PWR = LEGO Harry Potter: Anni 1-4 R2AP7D = L'Era Glaciale 2: Il Disgelo @@ -91,8 +90,7 @@ RIHP8P = L'Incredibile Hulk RIJP69 = G.I. Joe: La nascita dei Cobra RINP08 = Dead Rising: Salme di Fine Stagione RIOPSU = Brutte Storie: I Rivoltanti Romani -RIPPAF = One Piece Unlimited Cruise 1 - The Treasure Beneath the Waves -RIUPAF = One Piece Unlimited Cruise 2: Il Risveglio di un Eroe +RIUPAF = One Piece: Unlimited Cruise 2: Il Risveglio di un Eroe RJ8E64 = Indiana Jones e il Bastone dei Re RJ8P64 = Indiana Jones e il Bastone dei Re RJAX52 = Call of Duty: Modern Warfare - Edizione Reflex @@ -133,7 +131,7 @@ RO8X7D = The Legend of Spyro: L'Alba del Drago ROEPGT = Hotel Bau ROLP8P = Mario & Sonic ai Giochi Olimpici Invernali ROPP41 = Boog & Elliot a Caccia Di Amici -ROUPAF = One Piece Unlimited Cruise 1: Il Tesoro Sommerso +ROUPAF = One Piece: Unlimited Cruise 1: Il Tesoro Sommerso ROYP41 = Piovono Polpette: Il Videogioco ROYX41 = Piovono Polpette RP2P69 = Le So Tutte! @@ -253,6 +251,7 @@ S75P69 = Monopoly S7FPGT = Zumba Kids: Che la festa abbia inizio, con Zumba! S7SP41 = I Puffi Party Pack SA3P5G = Alvin Superstar 3: Si Salvi Chi Può +SA3XGT = Alvin Superstar 3: Si Salvi Chi Può SALP4Q = Alice nel Paese delle Meraviglie SAOP78 = Monster High: Scuola da Paura SAOXVZ = Monster High: Scuola da Paura @@ -344,6 +343,7 @@ SV3PAF = Madagascar 3: Ricercati in Europa SV7PVZ = I Pinguini di Madagascar SVDP52 = SpongeBob: La Vendetta Robotica de Plankton SVMP01 = Super Mario All-Stars: Edizione per il 25° anniversario +SVQEVZ = Barbie e le sue sorelle: Salvataggio Cuccioli SVQPVZ = Barbie e le sue sorelle: Salvataggio Cuccioli SVVPAF = I Croods: Festa Preistorica! SXAP52 = Guitar Hero 4: World Tour @@ -351,6 +351,7 @@ SXIP52 = Guitar Hero 6: Warriors of Rock CGIE52 = Guitar Hero III Custom: Iron Maiden CLAPSI = SingItStar Clásicos DMSP4Q = Sing It Star e la Magia Disney +G01E01 = Super Smash Bros. Melee: Remix SD MILPSI = SingItStar Miliki R15POH = SingItStar Radio 105 RGGE52 = Guitar Hero III Custom: Rock The Games @@ -406,19 +407,20 @@ HADP = Canale Internet HAFP = Canale Meteo HAGE = Canale Notizie HAGP = Canale Notizie +HAPP = Check Mii Out Channel HAYA = Canale Foto JODI = Canale Homebrew LULZ = Canale Homebrew OHBC = Canale Homebrew -G01E01 = Super Smash Bros. Melee: Remix SD G4MP69 = The Sims: Fuori Tutti G8MP01 = Paper Mario: Il Portale Millenario -GAZI69 = Harry Potter e il prigioniero di Azkaban +GAZI69 = Harry Potter e il Prigioniero di Azkaban GCBP7D = Crash Bandicoot: L'ira di Cortex GCOP52 = Call of Duty: L'Ora Degli Eroi GDDP41 = Paperino: Oper@zione P@pero ?*! GDOP41 = Disney's Donald Chi è PK? -GF4I52 = I fantastici 4 +GF4I52 = I Fantastici 4 +GFSP69 = Mondiali FIFA 2002 GH4I69 = Harry Potter e il Calice di Fuoco GHBP7D = Lo Hobbit GHLZ69 = Harry Potter e la Pietra Filosofale @@ -430,11 +432,12 @@ GKMP41 = Prince of Persia: I Due Troni GLCP52 = Lemony Snicket Una serie di sfortunati eventi GLHPG9 = Giù Per il Tubo GLOI69 = Il Signore degli Anelli: Le Due Torri +GNEP78 = Alla ricerca di Nemo GOSX41 = Boog & Elliot GPXP01 = Pokémon Box: Rubino e Zaffiro GQWX69 = Harry Potter: La Coppa del Mundo di Quidditch GR9P6L = Il Regno del Fuoco -GSXI64 = Star Wars - La Guerra dei Cloni +GSXI64 = Star Wars: La Guerra dei Cloni GTYP69 = Ty la Tigre della Tasmania GVLP69 = Marvel Nemesis: L'Ascesa degli Esseri Imperfetti GWHP41 = Winnie the Pooh e le Pance Brontolanti diff --git a/Data/Sys/wiitdb-ja.txt b/Data/Sys/wiitdb-ja.txt index db4ea09d55..c55fe2b660 100644 --- a/Data/Sys/wiitdb-ja.txt +++ b/Data/Sys/wiitdb-ja.txt @@ -1,6 +1,5 @@ -TITLES = https://www.gametdb.com (type: Wii language: JA_unique version: 20191106234252) D2AJAF = みんなで冒険!ファミリートレーナー 体験版 -DCHJAF = WE CHEER +DCHJAF = WE CHEER: おはスタプロデュース! 限定コラボゲームディスク DHHJ8J = 平野綾 Premiumムービーディスク from 涼宮ハルヒの激動 DK6J18 = コロリンパ2 -アンソニーと黃金のひまわりのタネ- DQAJK2 = アクエリアスベースボール 〜限界の、その先へ〜 @@ -14,7 +13,7 @@ R2JJAF = 太鼓の達人Wii R2LJMS = Hula Wii フラで始める 美と健康!! R2PJ9B = スイングゴルフ パンヤ 2ndショット! R2QJC0 = クッキングママ2 たいへん!ママは おおいそがし!! -R2SJ18 = デカスポルタ2 +R2SJ18 = Deca Sporta 2: Wiiでスポーツ"10"種目! R2UJ8P = レッツタップ R2VJ01 = 罪と罰 宇宙の後継者 R2WJA4 = ウイニングイレブン プレーメーカー 2009 @@ -28,7 +27,7 @@ R3OJ01 = メトロイド アザーエム R3PJ52 = スピード・レーサー R3TJG9 = トップスピン3 R3UJGD = おやこであそぼ ミッフィーのおもちゃばこ -R43J13 = パーソナルトレーナーWii30日生活改善プログラム +R43J13 = EA Sports アクティブ パーソナルトレーナー: Wii30日生活改善プログラム R44J8P = 涼宮ハルヒの並列 R46JKB = ファントム・ブレイブWii R49J01 = Wiiであそぶ ドンキーコングジャングルビート @@ -69,7 +68,7 @@ R8DJA4 = 遊戯王ファイブディーズ デュエルトランサー R8EJQC = アースシーカー R8FJHA = 匠レストランは大繁盛! R8GJC8 = ジーワンジョッキー Wii 2008 -R8NJG0 = バッティング レボリューション +R8NJG0 = 日本野球機構承認 - バッティング レボリューション R8PJ01 = スーパーペーパーマリオ R92J01 = Wiiであそぶ ピクミン2 R96JAF = 風のクロノア -door to phantomile- @@ -95,7 +94,7 @@ RC5JDQ = お掃除戦隊くりーんきーぱー RCAJ78 = カーズ RCCJC0 = クッキングママ みんなといっしょにお料理大会 RCDE52 = コール オブ デューティ3 -RCHJAF = WE CHEER ~ウィーチア~ +RCHJAF = WE CHEER RCOJ99 = 名探偵コナン -追憶の幻想- RCPJ18 = コロリンパ RCQJDA = チョロQ Wii @@ -107,7 +106,7 @@ RDBJAF = ドラゴンボールZ Sparking! NEO RDDJA4 = ダンスダンスレボリューション ホッテストパーティー RDEJ0A = 全国デコトラ祭り RDGJA4 = 悪魔城ドラキュラ ジャッジメント -RDIJG2 = THE DOG ISLAND -ひとつの花の物語- +RDIJG2 = Artlist Collection: The Dog Island ~ひとつの花の物語~ RDKJ01 = ドンキーコング たるジェットレース RDMJ8N = Go!Go!ミノン RDOJ41 = わんこと魔法のぼうし @@ -117,7 +116,7 @@ RDSJAF = ドラゴンボールZ Sparking! METEOR RDTJAF = たまごっちのピカピカだいとーりょー! RDUJDQ = スゴロクロニクル 〜右手に剣を左手にサイコロを〜 RDWJG9 = ドラゴンブレイド -RDXJ18 = デカスポルタ +RDXJ18 = Deca Sporta: Wiiでスポーツ"10"種目! RDZJ01 = ディザスター デイ オブ クライシス RE4J08 = バイオハザード RE8J99 = 家庭教師ヒットマンREBORN! 禁斷の闇のデルタ @@ -151,13 +150,13 @@ RFUJA4 = 麻雀格闘倶楽部Wii Wi-Fi対応 RG2JJF = ギルティギア イグゼクス アクセントコア RG4JC0 = 電車でGO! 新幹線EX 山陽新幹線編 RGCJJF = プチコプターWii アドベンチャーフライト -RGEJJ9 = ザ ワールド オブ ゴールデンエッグス +RGEJJ9 = ザ ワールド オブ ゴールデンエッグス: ノリノリリズム系 RGGJAF = ゲゲゲの鬼太郎 妖怪大運動会 RGHJ52 = ギターヒーロー3 レジェンド オブ ロック RGIJC8 = ジーワンジョッキーWii RGNJAF = 銀魂 万事屋ちゅ〜ぶ ツッコマブル動画 -RGOJJ9 = ザ・ワールド・オブ・ゴールデンエッグス日産NOTE版 -RGPJAF = パチスロ「機動戦士ガンダムII 〜哀・戦士編〜」 +RGOJJ9 = ザ ワールド オブ ゴールデンエッグス: ノリノリリズム系 - Nissan Note オリジナルバージョン +RGPJAF = アニメスロットレボリューション パチスロ機動戦士ガンダムII ~哀・戦士編~ RGSJ8P = ゴースト・スカッド RGTJBL = ジーティー プロ シリーズ RGVJ52 = ギターヒーロー エアロスミス @@ -278,6 +277,7 @@ RQRJAF = スカイ・クロラ イノセン・テイセス RR3JA4 = ファミリーチャレンジWii RRBJ41 = ラビッツ・パーティー RRSJ4Q = ルイスと未来泥棒 ウィルバーの危険な時間旅行 +RRTE52 = 블록 파티! 20 게임들 RRUJJF = WINTER SPORTS 2009 - THE NEXT CHALLENGE RRWJAF = スーパーロボット大戦NEO RS3J52 = スパイダーマン3 @@ -307,7 +307,7 @@ RT3JEL = Rockstar Games presents Table Tennis RT4JAF = テイルズ オブ シンフォニア ラタトスクの騎士 RTDJES = 新・中華大仙 マイケルとメイメイの冒険 RTFJ52 = トランスフォーマー THE GAME -RTGJ18 = Wi-Fi対応 厳選テーブルゲームWii +RTGJ18 = 厳選テーブルゲーム Wii RTIJ8P = 珍スポーツ RTKJDQ = しゃるうぃ〜☆たころん RTLJ18 = めざせ!!釣りマスター -世界にチャレンジ編- @@ -365,7 +365,7 @@ RZ8JG9 = SIMPLE 2000シリーズWiiVol.1 THEテーブルゲーム RZ9JG9 = SIMPLE 2000シリーズWii Vol.2 THEパーティーゲーム RZDJ01 = ゼルダの伝説 トワイライトプリンセス RZJJ13 = デッドスペース エクストラクション -RZNJ01 = 斬撃のREGINLEIV +RZNJ01 = 斬撃のレギンレイヴ RZPJ01 = リンクのボウガントレーニング RZTJ01 = Wiiスポーツ リゾート RZTW01 = Wiiスポーツ リゾート @@ -376,7 +376,7 @@ S2AJAF = みんなで冒険!ファミリートレーナー S2LJ01 = ポケパーク2 ビヨンド・ザ・ワールド S2PJA4 = ウイニングイレブン プレーメーカー 2012 S2TJAF = 太鼓の達人Wii ドドーンと2代目! -S3DJ18 = デカスポルタ3 +S3DJ18 = Deca Sporta 3: Wiiでスポーツ"10"種目! S3HJ08 = 戦国BASARA3 宴 S3RJMS = トウィンクルクイーン S3SJ18 = カラオケJOYSOUND Wii SUPER DX @@ -409,7 +409,7 @@ SD9JAF = SDガンダム ガシャポンウォーズ SDJJAF = SDガンダム Gジェネレーション ワールド SDQJGD = ドラゴンクエストX いにしえの竜の伝承 オンライン SDWJ18 = 影の塔 -SEAJ13 = パーソナルトレーナーWii6週間ひきしめプログラム +SEAJ13 = EA Sports アクティブ パーソナルトレーナー: Wii 6週間集中ひきしめプログラム SEKJ99 = イケニエノヨル SEMJ01 = ディズニー エピックミッキー ~ミッキーマウスと魔法の筆~ SEPE41 = ブラック・アイド・ピーズ・エクスペリエンス スペシャル・エディション @@ -498,28 +498,37 @@ SVMJ01 = スーパーマリオコレクション SW4JA4 = ウイニングイレブン プレーメーカー 2011 SX3J01 = パンドラの塔 君のもとへ帰るまで SX4J01 = ゼノブレイド -SX6JAF = プリキュア オールスターズ ぜんいんしゅうごう☆レッツダンス! +SX6JAF = プリキュア オールスターズ: ぜんいんしゅうごう☆レッツダンス! DBSBT3 = Dragon ball z SparkingMeteor DQAJSC = アクエリアスベースボール 限界の、その先へ +G4NEDA = カンタン操作で、超爽快忍者アクションが楽しめる! GGPE01 = マリオカート アーケードグランプリ GGPE02 = マリオカート アーケードグランプリ2 +GMSE02 = Multiplayer Sunshine Super Mario GVS32J = バーチャストライカー3 Ver.2002 (トライフォース) GVS45J = バーチャストライカー4 +R7CE01 = キャプテン★レインボー +R8EEQC = アースシーカー R8FJSC = 匠レストランは大繁盛! RMCJ12 = マリオカートWii カスタム(2011-11 Wiimm) +RMCJ86 = マリオカートクリス3,500CT +ROSE01 = タクトオブマジック RYAJSC = ヤッターマンWii ビックリドッキリマシンで猛レースだコロン +RZNE01 = 斬撃のレギンレイヴ +SEKE99 = イケニエノヨル +W2OJ = Blue Oasis: 미지의 심해 W2TJ = オニトレ~教官は鬼軍曹~ W34J = @SIMPLEシリーズ Vol.4 THE 密室からの脱出 W42J = F・O・R・T・U・N・E フォーチュン~星のふりそそぐ丘~ W9IJ = 危険空域 WA2J = みんなでパズループ -WAQJ = 役満 Wii 井出洋介 の 健康 麻将 -WBTJ = ファンタジックタンバリン FANTASIC TAMBOURINE +WAQJ = 役満 Wii 井出洋介 の 健康 麻将 WD9J = ドラキュラ伝説 ReBirth WDBJ = ダービードッグ WDMJ = Dr.MARIO&細菌撲滅 WFPJ = ひらめきカードバトル メクルカ WHHJ = Let's 全力ヒッチハイク!!!!!!!!! +WLKJ = リカちゃんおしゃれハウス WM9J = たたいて!モグポン WMPJ = ことばのパズル もじぴったんWii WN9J = NECTARIS(ネクタリス) @@ -546,20 +555,27 @@ FB2J = スーパーマリオブラザーズ2 FFXJ = 25th スーパーマリオブラザーズ MBIJ = ランドストーカー 皇帝の財宝 MCFJ = フェリオス(メガドライブ版) +PCMC = Gokuraku! Chuuka Taisen PDAJ = 熱血高校ドッジボール部® PC番外編 PDIJ = チャンピオンレスラー® E6XJ = 獣王記(アーケード版) +C9SP = 불가능한 임무 II HADJ = インターネットチャンネル HAFJ = お天気チャンネル HAGJ = ニュースチャンネル HBNJ = テレビの友チャンネル Gガイド for Wii HC3J = USB乄モリ一修復プ囗グラム HCAJ = バンブラDXスピーカーチャンネル +HCHJ = 出前チャンネル HCIJ = Wiiの間 HCYJ = Wii U本体更新 修復プログラム HFNJ = Wii Fit からだチェックチャンネル +DSYA = 시스체크 +D39J01 = 店頭ゲームデモディスク Oct’2002 +D42J01 = 店頭ゲームデモディスク Nov’2002 D43J01 = ゼルダの伝説 時のオカリナ GC D53J01 = ニンテンドーゲームキューブ ソフトeカタログ2003・春 +D86J01 = 月刊任天堂店頭デモ2004年10月号 D89J01 = クラブニンテンドー オリジナルeカタログ 2004 G2DJB2 = デジモンバトルクロニクル G2GJB2 = 機動戦士ガンダム ガンダムvs.Zガンダム @@ -569,7 +585,7 @@ G2SJGE = 式神の城II G2VJ08 = ビューティフル ジョー 2 ブラックフィルムの謎 G2XJ8P = ソニックジェムズコレクション G3AJ13 = ロード・オブ・ザ・リング 中つ国第三紀 -G3EJ51 = エクストリームG3 +G3EJB0 = エクストリームG3 G3NJDA = NARUTO-ナルト-激闘忍者大戦!3 G3SJC0 = スーパーパズルボブル オールスターズ G3TJ8P = ダビつく3 ダービー馬をつくろう! @@ -693,6 +709,7 @@ GKBJAF = バテン・カイトス 終わらない翼と失われた海 GKDJ01 = 巨人のドシン GKEJA4 = 実況パワフルプロ野球12決定版 GKFJ8P = カオスフィールド エクスパンデッド +GKFJMS = カオスフィールド エクスパンデッド GKGJ01 = ドンキーコンガ GKJJ78 = カーズ GKLJ13 = ロード・オブ・ザ・リング/王の帰還 @@ -771,7 +788,7 @@ GSMJ08 = スパイダーマン GSOJ8P = ソニック メガコレクション GSSJ8P = セガ サッカースラム GSTJ13 = SSX トリッキー -GSWJ64 = スター・ウォーズ ローグ スコードロン2 +GSWJ13 = スター・ウォーズ ローグ スコードロン2 GSXJ13 = スター・ウォーズ クローン戦争 GT2J18 = 天外魔境II MANJIMARU GT3J52 = トニーホークのプロスケーター3 @@ -797,7 +814,7 @@ GVWJDQ = 学園都市 ヴァラノワールローゼス GW3JG2 = レッスルマニアX8 GW6JEM = ワールドサッカー ウイニングイレブン6 ファイナルエヴォリューション GW9JG2 = レッスルマニアXIX -GWEJ51 = 18 Wheeler +GWEJB0 = 18 Wheeler GWGJ4F = わいわいゴルフ GWPJG2 = WWE デイ・オブ・レコニング GWRJ01 = ウェーブレース ブルーストーム diff --git a/Data/Sys/wiitdb-ko.txt b/Data/Sys/wiitdb-ko.txt index c1451a9279..e20e2d162b 100644 --- a/Data/Sys/wiitdb-ko.txt +++ b/Data/Sys/wiitdb-ko.txt @@ -1,87 +1,9485 @@ -TITLES = https://www.gametdb.com (type: Wii language: KO_unique version: 20191106234300) +091E00 = 영화 채널 설치 디스크 Ver. A +410E01 = Wii 백업 디스크 v1.31 +413E01 = 디스크업데이트 디스크 +D2AJAF = 모두 모험! 패밀리 트레이너 체험판 +D2SE18 = 데카 스포츠 2 체험판 +D3DE18 = 데카 스포츠 3 체험판 +DASE4Q = 디즈니 에픽 미키 체험판 +DAUEPZ = 컨트리 댄스 체험판 +DAVE01 = 미스테리 케이스 파일즈: 말그레이브 사건 체험판 +DAXE01 = 젤다의 전설: 스카이워드 스워드 체험판 +DAXP01 = 젤다의 전설: 스카이워드 스워드 체험판 +DBBE18 = 베이블레이드: 메탈 퓨전 - 전투 요새 체험판 +DBKE69 = 붐 블록스 체험판 +DBKP69 = 붐 블록스 체험판 +DCAE18 = 콜링 체험판 +DCHEAF = 위 치어 체험판 +DCHJAF = 위 치어: 오하스타 프로듀스! 한정 콜라보 게임 디스크 +DD2P41 = 저스트 댄스 2 체험판 +DDWE18 = 로스트 인 쉐도우: 프레스 디스크 체험판 +DDWX18 = 로스트 인 쉐도우: 베스트 바이 체험판 +DHHJ8J = 스즈미야 하루히의 격동 히라노 아야 프리미엄 영화 디스크 +DHKE18 = 사람 구함: 50 개 엉뚱한 직업 체험판 +DK6E18 = 구슬 모험: 코로린파 체험판 +DK6J18 = 코로린파 2 - 앤써니와 황금 해바라기 씨앗 체험판 +DMHE08 = 몬스터 헌터 3 체험판 +DMHJ08 = 몬스터 헌터 3 체험판 +DPIE18 = 웁스! 프랭크 파티 체험판 +DQAJK2 = 물병자리 야구: 한계, 그 앞에 +DQGP69 = 마이심즈 레이싱 체험판 +DRME18 = 룸즈: 메인 빌딩 체험판 +DSFE7U = 무라마사: 데몬 블레이드 체험판 +DSRJ8P = 소닉과 비밀의 링 체험판 +DTOJ8P = 428: 봉쇄된 시부야에서 체험판 +DTZJ08 = 보물섬 Z 발바로스의 보물 체험판 +DWEJA4 = 위닝 일레븐 플레이 메이커 2008 체험판 +DWEPA4 = 프로 에볼루션 사커 2008 체험판 +DXSE18 = 데카 스포츠 체험판 +DZDE01 = 젤다의 전설: 황혼의 공주 체험판 +DZDP01 = 젤다의 전설: 황혼의 공주 체험판 +R22E01 = 플링스매쉬 +R22J01 = 두드려 튀다: 슈퍼 스매시 볼 플러스 +R22P01 = 플링스매쉬 +R23E52 = 바비와 삼총사 +R23P52 = 바비와 삼총사 +R24J01 = Wii로 즐기는 꼬마 로봇! +R25EWR = 레고 해리 포터: 1-4 년 +R25PWR = 레고 해리 포터: 1-4 년 +R26E5G = 데이터 이스트 아케이드 클래식 +R27E54 = 도라의 크리스탈 왕국 구하기 +R27X54 = 도라의 크리스탈 왕국 구하기 +R28E54 = 탑 스핀 4 +R28P54 = 탑 스핀 4 +R29E52 = NPPL 챔피언쉽 페인트볼 2009 +R29P52 = 밀레니엄 시리즈 챔피언쉽 페인트 볼 2009 +R2AE7D = 아이스 에이지 2: 멜트다운 +R2AP7D = 아이스 에이지 2: 멜트다운 +R2AX7D = 아이스 에이지 2: 멜트다운 +R2DEEB = 도카폰 왕국 +R2DJEP = 도카폰 왕국 Wii +R2DPJW = 도카폰 왕국 +R2EJ99 = 피쉬 아이즈 Wii +R2FE5G = 프레디 피쉬: 켈프 시드 미스터리 +R2FP70 = 프레디 피쉬: 켈프 시드 미스터리 +R2GEXJ = 프라질 드림즈: 달의 폐허 유적 +R2GJAF = 프라질 : 안녕 달의 폐허 +R2GP99 = 프라질 드림즈: 달의 폐허 유적 +R2HE41 = 페츠 승마 클럽 +R2IE69 = 매든 NFL 10 +R2IP69 = 매든 NFL 10 +R2JJAF = 태고의 달인 Wii +R2KE54 = 돈 킹 - 권투 +R2KP54 = 돈 킹 - 권투 +R2LJMS = 훌라 Wii - 훌라로 시작하는 아름다움과 건강!! +R2ME20 = M&M의 모험 +R2NE69 = 나스카 카트 레이싱 +R2OE68 = 중세 게임들 +R2OP68 = 중세 게임들 +R2PE9B = 슈퍼 스윙 골프 시즌 2 +R2PJ9B = 슈퍼 스윙 골프 시즌 2 R2PKZ4 = 스윙골프 팡야 2nd 샷! +R2PP99 = 슈퍼 스윙 골프 +R2QJC0 = 쿠킹 마마 2 - 큰일이다! 엄마는 바빠!! +R2RE4F = 포니 프렌즈 2 +R2RP4F = 포니 프렌즈 2 +R2SE18 = 데카 스포츠 2 +R2SJ18 = 데카 스포르타 2 +R2SP18 = 스포츠 아일랜드 2 +R2TE41 = 돌연변이 닌자 거북: 대충돌 +R2TP41 = 돌연변이 닌자 거북: 대충돌 +R2UE8P = 렛츠 탭 +R2UJ8P = 렛츠 탭 +R2UP8P = 렛츠 탭 +R2VE01 = 죄와 벌: 우주의 후계자 +R2VJ01 = 죄와 벌: 우주의 후계자 +R2VP01 = 죄와 벌: 우주의 후계자 +R2WEA4 = 프로 에볼루션 싸커 2009 +R2WJA4 = 위닝 일레븐 플레이 메이커 2009 +R2WPA4 = 프로 에볼루션 싸커 2009 +R2WXA4 = 프로 에볼루션 축구 2009 +R2YE54 = 생일 파티 배쉬 +R2YP54 = 내 생일! +R32J01 = Wii로 즐기는 메트로이드 프라임 2 - 검은 메아리 +R33E69 = AC/DC 라이브: 락 밴드 트랙 팩 +R33P69 = AC/DC 라이브: 락 밴드 노래 팩 +R34E69 = 락 밴드: 컨트리 트랙 팩 +R35JC8 = 삼국지 11 파워 업 키트 +R36E69 = 그린 데이: 락 밴드 +R36P69 = 그린 데이: 락 밴드 +R37E69 = 락 밴드: 메탈 트랙 팩 +R38E78 = 마벨 슈퍼 히어로 스쿼드 +R38P78 = 마벨 슈퍼 히어로 스쿼드 +R38X78 = 마벨 슈퍼 히어로 스쿼드: 월마트 에디션 +R38Y78 = 마벨 슈퍼 히어로 스쿼드 +R39EFP = 시마노 극한 낚시 +R39PNK = 시마노 극한 낚시 +R3AE20 = 스토리 아워: 모험담 +R3AP7J = 스토리 아워: 모험담 +R3BE8P = 쌈바 데 아미고 +R3BJ8P = 쌈바 데 아미고 +R3BP8P = 쌈바 데 아미고 +R3CE20 = 크라이슬러 클래식 레이싱 +R3CP7J = 크라이슬러 클래식 레이싱 +R3DES5 = 드림 핀볼 3D +R3DPS5 = 드림 핀볼 3D +R3EEWR = 게임 파티 3 +R3EPWR = 게임 파티 3 +R3FJA4 = 실황 파워풀 메이저 리그 3 +R3GXUG = 키즈 스포츠: 크레이지 미니 골프 +R3HP6Z = 에이전트 휴고: 훌라 홀리데이 +R3HX6Z = 에이전트 휴고: 훌라 홀리데이 +R3IJ01 = wII로 즐기는 메트로이드 프라임 +R3JE5G = 고 플레이 써커스 스타 +R3KP6N = 고층 건물 +R3LEWR = 그린 랜턴: 반지의 선택 +R3LPWR = 그린 랜턴: 맨헌터의 위협 +R3ME01 = 메트로이드 프라임: 3부작 +R3MP01 = 메트로이드 프라임: 3부작 +R3NEXS = 길티기어 이그젝스 액센트 코어 플러스 +R3NPH3 = 길티기어 이그젝스 액센트 코어 플러스 +R3OE01 = 메트로이드: 다른 M +R3OJ01 = 메트로이드: 다른 M +R3OP01 = 메트로이드: 다른 M +R3PEWR = 스피드 레이서: 비디오게임 +R3PJ52 = 스피드 레이서 +R3PPWR = 스피드 레이서: 비디오게임 +R3RE8P = 소닉 & 세가 올 스타즈 레이싱 +R3RP8P = 소닉 & 세가 올 스타즈 레이싱 +R3SE52 = 스파이더맨: 그림자들의 거미줄 +R3SP52 = 스파이더맨: 그림자들의 거미줄 +R3TE54 = 탑 스핀 3 +R3TJG9 = 탑 스핀 3 +R3TP54 = 탑 스핀 3 +R3UJGD = 엄마 아빠와 함께: 미피의 장난감 상자 +R3VEFP = 디어 드라이브 +R3VPNK = 디어 드라이브 +R3XE6U = 샘 & 맥스: 시즌 1 +R3XP6V = 샘 & 맥스: 시즌 1 +R3YE70 = 샘 & 맥스: 시즌 2: 시간과 공간 저편에 +R3YP70 = 샘 & 맥스: 시즌 2: 시간과 공간 저편에 +R3ZE69 = 락 밴드 트랙 팩: 클래식 락 +R42E69 = 심즈 2: 조난자 +R42P69 = 심즈 2: 조난자 +R43E69 = EA 스포츠 엑티브: 개인 트레이너 +R43J13 = EA 스포츠 엑티브 개인 트레이너 Wii 30 일 생활 개선 프로그램 +R43P69 = EA 스포츠 엑티브: 개인 트레이너 +R44J8P = 스즈미야 하루히의 병렬 +R46ENS = 팬텀 브레이브: 재회 +R46JKB = 팬텀 브레이브 Wii +R47E20 = ATV 쿼드 킹스 +R47P20 = ATV 쿼드 킹스 +R48E7D = 스파이더윅 연대기 +R48P7D = 스파이더윅 연대기 +R49E01 = 동키 콩: 정글 비트 +R49J01 = Wii로 즐기는 동키 콩 정글 비트 +R49P01 = 동키 콩: 정글 비트 +R4AE69 = 심애니멀즈 +R4AJ13 = 심애니멀즈 +R4AP69 = 심애니멀즈 +R4BEJZ = 챔피온쉽 테이블 축구 +R4BPGT = 테이블 축구 +R4CE69 = 심시티 나만의 도시 +R4CJ13 = 심시티 나만의 도시 R4CK69 = 심시티 나만의 도시 +R4CP69 = 심시티 나만의 도시 +R4DDUS = 세 개의 물음표 - 저주받은 성 +R4EE01 = 끝없는 바다: 푸른 세계 +R4EJ01 = 끝없는 바다 - 바다가 부르는 소리 +R4EP01 = 끝없는 바다 2: 바다가 부르는 소리 +R4FE20 = 스토리 아워: 요정 이야기 +R4FP7J = 스토리 아워: 요정 이야기 +R4IPNK = 매드 트럭스 +R4LPUG = 애슬레틱 피기 파티 +R4LXUG = 애슬레틱 피기 파티 +R4MJ0Q = 네모난 머리를 둥글게 하기 Wii +R4NE5G = 소령의 위풍당당한 행진 +R4NP5G = 소령의 위풍당당한 행진 +R4NX5G = 소령의 위풍당당한 행진 +R4PE69 = 심즈 2: 애완동물들 +R4PP69 = 심즈 2: 애완동물들 +R4QE01 = 마리오 파워 사커 +R4QJ01 = 마리오 파워 사커 R4QK01 = 마리오 파워 사커 -R64K01 = 위 뮤직 +R4QP01 = 마리오 파워 사커 +R4RE69 = 피파 10 +R4RJ13 = 피파 10 +R4RK69 = 피파 10 +R4RP69 = 피파 10 +R4RR69 = 피파 10 +R4RX69 = 피파 10 +R4RY69 = 피파 10 +R4RZ69 = 피파 10 +R4SE54 = MLB 슈퍼스타즈 +R4VEA4 = 스토리북 워크샵 +R4VJA4 = 텔레연극 Wii +R4WJA4 = 실황 파워풀 메이저 리그 2009 +R4ZJ01 = 령 제로: 월식의 가면 +R52E08 = 네오페츠 퍼즐 모험 +R52P08 = 네오페츠 퍼즐 모험 +R53PFH = 인 더 믹스 (아민 반 뷰렌 출연) +R54FMR = 카운트다운: 게임 +R55F41 = 백만장자가 되고 싶은 사람 : 1 번째 에디션 +R55P41 = 백만장자가 되고 싶은 사람 : 1 번째 에디션 +R56EG9 = 아스트로 보이: 비디오 게임 +R56PG9 = 아스트로 보이: 비디오 게임 +R57FMR = 챔피언에 대한 질문 +R58DMR = 유 싱 +R58FMR = 유 싱 +R58IMR = 유 싱 +R58PMR = 유 싱 +R58SMR = 유 싱 +R59D4Q = 클럽 펭귄: 게임 데이! +R59E4Q = 클럽 펭귄: 게임 데이! +R59P4Q = 클럽 펭귄: 게임 데이! +R5AE8P = 황금 나침반 +R5AP8P = 황금 나침반 +R5AX8P = 황금 나침반 +R5DE5G = 플립의 뒤틀어진 세상 +R5EPMR = 카운트다운: 게임 +R5FE41 = 챔피언스 아카데미: 싸커 +R5FP41 = 챔피언스 아카데미: 풋볼 +R5GE78 = 당신은 초등학교 5학년 보다 똑똑한가요? 학격점 +R5IE4Q = 토이 스토리 매니아! +R5IP4Q = 토이 스토리 매니아! +R5IR4Q = 토이 스토리 매니아! +R5IX4Q = 토이 스토리 매니아! +R5JES5 = 해적 vs 닌자 돗지볼 +R5JPS5 = 해적 vs 닌자 돗지볼 +R5MJAF = 말의 퍼즐 모지핏탄 Wii 디럭스 +R5NJN9 = 도아라로 Wii +R5OENR = 파티 피그스: 농장 마당 게임들 +R5OXUG = 농장 마당 파티: 올림픽 참가 +R5PE69 = 헤리 포터와 불사조 기사단 +R5PJ13 = 헤리 포터와 불사조 기사단 +R5PP69 = 헤리 포터와 불사조 기사단 +R5PX69 = 헤리 포터와 불사조 기사단 +R5QPGT = 써커스 +R5SERW = 모티머 버켓과 스푸키 저택의 비밀 +R5TE69 = 그랜드 슬램 테니스 +R5TJ13 = 그랜드 슬램 테니스 +R5TP69 = 그랜드 슬램 테니스 +R5UE41 = CSI: 치명적인 의도 +R5UP41 = CSI: 치명적인 의도 +R5VE41 = 제임스 카메론의 아바타: 게임 +R5VP41 = 제임스 카메론의 아바타: 게임 +R5VX41 = 제임스 카메론의 아바타: 게임 +R5WEA4 = 사일런트 힐: 조각난 기억들 +R5WJA4 = 사일런트 힐: 조각난 기억들 +R5XJ13 = 마이심즈 에이전츠 +R5XP69 = 마이심즈 에이전츠 +R5YD78 = 올 스타 치어리더 2 +R5YE78 = 올 스타 치어 스쿼드 2 +R5YP78 = 올 스타 치어리더 2 +R62E4Q = 디즈니 싱 잇: 팝 히츠 +R62P4Q = 디즈니 싱 잇: 팝 히츠 +R63EG9 = 패밀리 파티: 30 그레이트 게임즈 아웃도어 펀 +R63PG9 = 패밀리 파티: 30 그레이트 게임즈 아웃도어 펀 +R64E01 = Wii 뮤직 +R64J01 = Wii 뮤직 +R64K01 = Wii 뮤직 +R64P01 = Wii 뮤직 +R65ENR = 벅 피버 +R66E41 = 프레스 유어 럭 2010 에디션 +R67E6K = 스마트 시리즈 제공: 자자의 모험 +R68E5G = 고 플레이 시티 스포츠 +R69E36 = 콜린 맥레이: 더트 2 +R69P36 = 콜린 맥레이: 더트 2 +R6APPU = 아기와 나 +R6BE78 = 더 블랍 +R6BJ78 = 블랍 화려한 세상 R6BK78 = 더 블랍 +R6BP78 = 더 블랍 +R6BX78 = 더 블랍 +R6CEAF = 위 치어 2 +R6CJAF = 위 치어: 춤추는 영혼! +R6DFJW = 도로교통법 +R6EE41 = 패밀리 Feud 2010 에디션 +R6FE41 = 식스 플래그스 펀 파크 +R6FERS = 식스 플래그스 펀 파크 +R6FP41 = 재미있는 공원 파티 +R6GPMR = 황금 빛 공들 +R6HE54 = 안녕, 카이란: 슈퍼 게임 데이 +R6HP54 = 안녕, 카이란: 슈퍼 게임 데이 +R6IE54 = 야구 블래스트! +R6JJGD = 강철의 연금술사 - 새벽의 왕자 +R6KP36 = 애시스 크리켓 2009 +R6KU36 = 애시스 크리켓 2009 +R6LEWR = 레고 락 밴드 +R6LPWR = 레고 락 밴드 +R6ME5Z = 미국의 넥스트 탑 모델 +R6MPML = 미국의 넥스트 탑 모델 +R6MXMR = 탑 모델 +R6NE41 = 숀 화이트 스노우보딩: 월드 스테이지 +R6NP41 = 숀 화이트 스노우보딩: 월드 스테이지 +R6NY41 = 숀 화이트 스노우보딩: 월드 스테이지 +R6OE78 = 카: 레이스 오 라마 +R6OP78 = 카: 레이스 오 라마 +R6OX78 = 카: 레이스 오 라마 +R6QE69 = 마이심즈 에이전츠 +R6REJH = 트랙매니아: 레이스 제작 +R6RPHH = 트랙매니아 +R6TEA4 = 토네이도 발생 +R6TPA4 = 토네이도 발생 +R6VE4Z = 클럽들의 왕 +R6VPGN = 클럽들의 왕 +R6WE68 = AMF 볼링 월드 레인스 +R6WP68 = AMF 볼링 월드 레인스 +R6XE69 = 하스브로: 패밀리 게임 나이트 2 +R6XP69 = 하스브로: 패밀리 게임 나이트 2 +R6YEXS = 스퀴볼즈 파티 +R6YPH3 = 스퀴볼즈 파티 +R72E5G = 케이크 매니아: 인 더 믹스! +R72P5G = 케이크 매니아: 인 더 믹스! +R74E20 = 아케이드 슈팅 갤러리 +R75E20 = 드림 살롱 +R77JAF = SD 건담: G 제너레이션 워즈 +R79JAF = 기동전사 건담: MS 전선 0079 +R7AE69 = 심애니멀 아프리카 +R7AJ13 = 심애니멀 아프리카 +R7AP69 = 심애니멀 아프리카 +R7BE20 = 젤리 벨리 탄도 콩 +R7BP7J = 젤리 벨리 탄도 콩 +R7CJ01 = 캡틴 레인보우 +R7EE8P = 나이츠: 꿈의 여행 +R7EJ8P = 나이츠: 별이 쏟아지는 밤의 이야기 +R7EP8P = 나이츠: 꿈의 여행 +R7FEGD = 파이널 판타지 우화집: 초코보의 던전 +R7FJGD = 초코보의 이상한 던전: 시간을 잇는 미궁 +R7FPGD = 파이날 판타지 우화집: 초코보의 던전 +R7GEAF = 드래곤 볼: 피콜로 대마왕의 역습 +R7GJAF = 드래곤 볼 천하제일 대모험 +R7GPAF = 드래곤 볼: 피콜로 대마왕의 역습 +R7HE6K = 육군 구조대 +R7IE69 = 챰 걸즈 클럽: 파자마 파티 +R7IP69 = 챰 걸즈 클럽: 파자마 파티 +R7KE6K = 락 블래스트 +R7LP7J = 마곳의 비퍼즐드! +R7MPFR = 뮤직 파티: 락 하우스 +R7MXFR = 뮤직 파티: 락 하우스 +R7NE20 = 콜드 스톤 크리머리: 스쿱 잇 업 +R7PE01 = 펀치 아웃!! +R7PJ01 = 펀치 아웃!! +R7PP01 = 펀치 아웃!! +R7QE52 = 카오틱: 그림자 전사들 +R7RE52 = 리틀 리그 월드 시리즈 야구 2009 +R7SE5G = 박물관 탈출 +R7SP5G = 박물관 탈출 +R7TFJW = 볼링 프로 +R7VEWR = 바캉스 섬: 해변 파티 +R7VPWR = 바캉스 섬: 해변 파티 +R7WE52 = 산악 스포츠 +R7WP52 = 산악 스포츠 +R7XE69 = 니드 포 스피드: 니트로 +R7XJ13 = 니드 포 스피드: 니트로 +R7XP69 = 니드 포 스피드: 니트로 +R7YFMR = 페킨 익스프레스 +R7ZE41 = 팀 엘리미네이션 게임즈 +R7ZP41 = 넉아웃 파티 +R82E52 = 동물 행성: 수의사 인생 +R82JG0 = 다츠 Wii DX +R82P52 = 동물 행성: 수의사 인생 +R83EA4 = 팝픈 뮤직 +R83JA4 = 팝픈 뮤직 +R83PA4 = 팝픈 리듬 +R84EE9 = 하베스트 문: 평온의 나무 +R84J99 = 목장 이야기: 평온의 나무 +R84P99 = 하베스트 문: 평온의 나무 +R85EG9 = 비밀의 토요일: 5 번째 태양의 야수 +R85PG9 = 비밀의 토요일: 5 번째 태양의 야수 +R86E20 = 드림 댄스 & 치어 +R87EVN = 스키-두: 스노우모바일 도전 +R88J2L = 호빵맨 싱글벙글 파티 +R89JEL = 도쿄 친구 공원 II +R8AE01 = 포케파크 Wii - 피카츄의 대모험 +R8AJ01 = 포케파크 Wii - 피카츄의 대모험 +R8AP01 = 포케파크 Wii 피카츄의 대모험 +R8BE41 = 이미진 파티 베이비즈 +R8BP41 = 베이비시팅 파티 +R8DEA4 = 유희왕! 5D: 듀얼 트랜져 +R8DJA4 = 유희왕! 5D's: 듀얼 트랜져 +R8DPA4 = 유희왕! 5D: 카드 마스터 +R8EJQC = 어스 시커 +R8FES5 = 패스트 푸드 패닉 +R8FJHA = 장인 레스토랑은 대성공! +R8FPNP = 패스트 푸드 패닉 +R8GJC8 = G1 기수 Wii 2008 +R8GPC8 = G1 기수 Wii 2008 +R8HE4Q = 한나 몬타나: 영화 +R8HP4Q = 한나 몬타나: 영화 +R8HX4Q = 한나 몬타나: 영화 +R8HY4Q = 한나 몬타나: 영화 +R8HZ4Q = 한나 몬타나: 영화 +R8IE78 = 스펀지밥의 네모의 진실 +R8IP78 = 스펀지밥의 네모의 진실 +R8IS78 = 스펀지밥의 네모의 진실 +R8JEWR = 반지의 제왕: 아라곤의 모험 +R8JPWR = 반지의 제왕: 아라곤의 모험 +R8KPKM = 스트리트 풋볼 2 +R8LE20 = 치킨 블래스터 +R8LP7J = 치킨 블래스터 +R8NEA4 = 케이지: 프로 스타일 타격 연습 +R8NJG0 = 배팅 레볼루션 +R8OE54 = 링링 브라더스와 바넘 & 베일리 써커스 +R8OX54 = 나의 써커스 +R8PE01 = 슈퍼 페이퍼 마리오 +R8PJ01 = 슈퍼 페이퍼 마리오 R8PK01 = 슈퍼 페이퍼 마리오 -R96KAF = 바람의 크로노아 +R8PP01 = 슈퍼 페이퍼 마리오 +R8QPRT = 크레이지 퀴즈! 열정이 충분한가요? +R8RP41 = 아서와 말타자드의 복수 +R8SE41 = 휴가 스포츠 +R8SP41 = 월드 스포츠 파티 +R8SX41 = 월드 스포츠 파티 +R8TENR = 토너먼트 당구 +R8UXMR = 꼬마박사 아디부 +R8VE41 = 애완동물 구조대: 야생동물 수의사 +R8VP41 = 행성 구조대: 야생동물 수의사 +R8XE52 = 쥬라기 공원: 사냥 +R8XZ52 = 탑 샷 다이노서어 헌터 +R8YE52 = 카벨라의 위대한 게임 사냥꾼 2010 +R8ZE8P = 데이지 푸엔테스 필라테즈 +R8ZPGT = 데이지 푸엔테스 필라테즈 +R92E01 = 피크민 2 +R92J01 = Wii로 즐기는 피크민 2 +R92P01 = 피크민 2 +R94PMR = 얼티밋 레드 볼 첼린지 +R94XMR = 얼티밋 레드 볼 첼린지 +R96EAF = 바람의 크로노아 - 판토마일의 문 +R96JAF = 바람의 크로노아 - 판토마일의 문 +R96KAF = 바람의 크로노아: 판토마일의 문 +R96PAF = 바람의 크로노아 - 판토마일의 문 +R97E9B = 패밀리 펀 풋볼 +R9AE52 = 엑티비젼 데모 액션 팩 체험판 +R9BPMT = 뚝딱뚝딱 밥아저씨: 즐거운 축제 +R9CPMR = 나는 유명 인사... 나를 여기서 꺼내 줘! +R9DE78 = 그려라, 터치! 내가 만드는 세상: 넥스트 챕터 +R9DP78 = 그려라, 터치! 내가 만드는 세상: 넥스트 챕터 +R9EPNP = 픽스 잇: 주택 개조 도전 +R9GEWR = 수호자 전설: 가훌의 올빼미 +R9GPWR = 수호자 전설: 가훌의 올빼미 +R9HE78 = 당신은 초등학교 5학년보다 똑똑한가요? 게임 시간 +R9IE01 = 피크민 +R9IJ01 = Wii로 즐기는 피크민 R9IK01 = 피크민 +R9IP01 = 피크민 +R9JE69 = 비틀즈: 락 밴드 +R9JP69 = 비틀즈: 락 밴드 +R9KE20 = 그루빙의 블록들 +R9LE41 = 밤샘 파티 +R9LP41 = 걸즈 라이브: 밤샘 파티 +R9ME5Z = 월드 챔피언쉽 육상경기 +R9MPFR = 동계 육상경기 2009 +R9NPMR = 패밀리 포츈즈 +R9OE69 = 타이거 우즈 PGA 투어 10 R9OK69 = 타이거 우즈 PGA 투어 10 -R9TK69 = 타이거 우즈 PGA Tour 09 ALL-PLAY +R9OP69 = 타이거 우즈 PGA 투어 10 +R9QPNG = 댄스 파티 클럽 히트 +R9RPNG = 댄스 파티 팝 히트 +R9SPPL = 스도쿠 볼: 탐정 +R9TE69 = 타이거 우즈 PGA 투어 09 올 플레이 +R9TJ13 = 타이거 우즈 PGA 투어 09 올 플레이 +R9TK69 = 타이거 우즈 PGA 투어 09 올 플레이 +R9TP69 = 타이거 우즈 PGA 투어 09 올 플레이 +R9UE52 = 빌드 어 베어 워크샵: 프렌드쉽 밸리 +R9UPGY = 빌드 어 베어 워크샵: 프렌드쉽 밸리 +R9VE52 = 카벨라의 야외 모험 2010 +R9WPSP = WSC 리얼 09: 월드 스누커 챔피언쉽 +R9XE52 = 아케이드 존 +R9XP52 = 아케이드 존 +R9YES5 = 슬레드 쉬레드 +R9ZE54 = 메이저 리그 야구 2K9 +RB2E6K = 벌룬 팝 +RB2J2K = 레인보우 팝 +RB2PGT = 팝! +RB4E08 = 레지던트 이블 4: Wii 에디션 +RB4J08 = 바이오하자드 4: Wii 에디션 +RB4P08 = 레지던트 이블 4: Wii 에디션 +RB4X08 = 레지던트 이블 4: Wii 에디션 +RB5E41 = 브라더스 인 암즈: 언드 인 블러드 +RB5P41 = 브라더스 인 암즈: 언드 인 블러드 +RB6J18 = 봄버맨 +RB7E54 = 불리: 장학금 에디션 +RB7P54 = 불리: 장학금 에디션 +RB8E70 = 백야드 야구 '09 +RB9D78 = 브라츠: 영화 +RB9E78 = 브라츠: 영화 +RB9P78 = 브라츠: 영화 +RB9X78 = 브라츠: 영화 +RB9Y78 = 브라츠: 영화 +RBAE41 = 블레이징 엔젤: WWII의 스쿼드 +RBAP41 = 블레이징 엔젤: WWII의 스쿼드 +RBBE18 = 봄버맨 랜드 Wii +RBBJ18 = 봄버맨 랜드 Wii +RBBP99 = 봄버맨 랜드 Wii +RBCP41 = TV 중독자들 +RBEE52 = 꿀벌 대소동 영화 게임 +RBEP52 = 꿀벌 대소동 영화 게임 +RBEX52 = 꿀벌 대소동 영화 게임 +RBFE20 = 분노의 핑퐁 +RBFP7J = 분노의 핑퐁 +RBGE54 = 더 빅스 +RBGP54 = 더 빅스 +RBHE08 = 레지던트 이블 아카이브스: 레지던트 이블 제로 +RBHJ08 = 바이오하자드 0 +RBHP08 = 레지던트 이블 아카이브스: 레지던트 이블 제로 +RBIEE9 = 하베스트 문: 동물 퍼레이드 +RBIJ99 = 목장 이야기: 두근 두근 동물 행진 +RBIP99 = 하베스트 문: 동물 퍼레이드 +RBKE69 = 붐 블록스 +RBKJ13 = 붐 블록스 RBKK69 = 붐 블록스 +RBKP69 = 붐 블록스 +RBLE8P = 블리치: 조각난 블레이드 +RBLJ8P = 블리치: 백인이 빛나는 윤무곡 +RBLP8P = 블리치: 조각난 블레이드 +RBME5G = 버스트 어 무브 배쉬! +RBMPGT = 버스트 어 무브 +RBNEG9 = 벤 10: 지구의 수호자 +RBNPG9 = 벤 10: 지구의 수호자 +RBNXG9 = 벤 10: 지구의 수호자 +RBOE69 = 부기 +RBOP69 = 부기 +RBPE4Z = 브런즈윅 프로 볼링 +RBPPGT = 브런즈윅 프로 볼링 +RBQENR = 클래식 브리티쉬 모터 레이싱 +RBQPUG = 클래식 브리티쉬 모터 레이싱 +RBRE5G = 블래스트 웍스: 빌드, 트레이드, 디스트로이 +RBRP5G = 블래스트 웍스: 빌드, 트레이드, 디스트로이 +RBRX5G = 블래스트 웍스: 빌드, 트레이드, 디스트로이 +RBSJ08 = 전국 바사라 2 영웅외전 (더블 팩) +RBTE8P = 세가 배스 낚시 +RBTJ8P = 세가 배스 낚시 +RBTP8P = 세가 배스 낚시 +RBUE08 = 레지던트 이블: 엄브렐러 크로니컬즈 +RBUJ08 = 하자드: 엄브렐러 크로니컬즈 RBUK08 = 바이오하자드: 엄브렐러 크로니컬즈 +RBUP08 = 레지던트 이블: 엄브렐러 크로니컬즈 +RBVE52 = 바비 공주와 숲 속 친구들 +RBVP52 = 바비 공주와 숲 속 친구들 +RBWE01 = 돌격!! 패미컴 대전 2 +RBWJ01 = 돌격!! 패미컴 대전 vs. +RBWP01 = 돌격!! 패미컴 대전 2 +RBXJ8P = 블리치: vs. 크루세이드 +RBYE78 = 신나는 동물농장 +RBYJ78 = 신나는 동물농장: 주인공은 나야, 젖소 오티스 +RBYP78 = 신나는 동물농장 +RBZE5Z = 빌리는 마법사: 로켓 빗자루 레이싱 +RBZPUG = 빌리는 마법사: 로켓 빗자루 레이싱 +RBZXUG = 빌리는 마법사: 로켓 빗자루 레이싱 +RC2E78 = 카즈: 메이터-내셔널 챔피언쉽 +RC2P78 = 카즈: 메이터-내셔널 챔피언쉽 +RC2X78 = 카즈: 메이터-내셔널 +RC2Y78 = 카즈: 메이터-내셔널 +RC3E41 = 애완동물 고양이들 2 +RC3J41 = 고양이와 마법의 모자 +RC3P41 = 고양이들 +RC3X41 = 고양이들 +RC4JD9 = 크레용 신 짱: 최강 가족 카스카베 왕 Wii +RC4SGT = 짱구는 못말려: 새로운 모험 Wii +RC5JDQ = 청소 전대 크린 키퍼 +RC7E20 = 바다 몬스터들: 선사시대 모험 +RC7P7J = 바다 몬스터들: 선사시대 모험 +RC8E7D = 크래쉬: 마인드 오버 뮤턴트 +RC8P7D = 크래쉬: 마인드 오버 뮤턴트 +RC8X7D = 크래쉬: 마인드 오버 뮤턴트 +RC9PGN = CID: 더미 +RCAE78 = 카 +RCAJ78 = 카 +RCAP78 = 카 +RCAX78 = 카 +RCAY78 = 카 +RCBE52 = 카벨라의 위대한 게임 사냥꾼 +RCBP52 = 카벨라의 위대한 게임 사냥꾼 +RCCE5G = 쿠킹 마마: 요리 경연 대회 +RCCJC0 = 쿠킹 마마: 모두와 함께 요리 대회 +RCCPGT = 쿠킹 마마 +RCDD52 = 콜 오브 듀티 3 +RCDE52 = 콜 오브 듀티 3 +RCDP52 = 콜 오브 듀티 3 +RCDX52 = 콜 오브 듀티 3 +RCEE5Z = 미니: 데스크탑 레이싱 +RCEPUG = 미니: 데스크탑 레이싱 +RCEXUG = 미니: 데스크탑 레이싱 +RCFE41 = 코스믹 패밀리 +RCFP41 = 코스믹 패밀리 +RCGE54 = 카니발 게임즈 +RCGP54 = 카니발 게임즈 +RCHEAF = 위 치어 +RCHJAF = 위 치어 +RCHPGT = 위 치어 +RCIE41 = CSI: 구체적인 증거 +RCIP41 = CSI: 구체적인 증거 +RCJE8P = 컨듀잇 +RCJP8P = 컨듀잇 +RCKPGN = 앨런 한센의 스포츠 도전 +RCLE4Q = 디즈니의 치킨 리틀: 액션 에이스 +RCLP4Q = 디즈니의 치킨 리틀: 액션 에이스 +RCOJ99 = 명탐정 코난: 추억의 환상 +RCOK99 = 명탐정 코난: 추억의 환상 RCOKZF = 명탐정 홈즈 추억의 환상 -RD2K41 = 레드스틸2 -RDXKA4 = 데카스포르타 Wii로 즐기는 스포츠 +RCOPNP = 명탐정 코난: 추억의 환상 +RCPE18 = 코로린파: 구슬 매니아 +RCPJ18 = 코로린파 +RCPP18 = 코로린파 +RCQEDA = 페니 레이서즈 파티: 터보-Q 스피드웨이 +RCQJDA = 초로 Q Wii +RCRE5D = 크루즌 +RCRP5D = 크루즌 +RCSE20 = 치킨 사격 +RCSP7J = 치킨 사격 +RCTE5Z = 카운터 포스 +RCTPGT = 카운터 포스 +RCUE52 = 카벨라의 전설적인 모험 +RCUP52 = 카벨라의 전설적인 모험 +RCVE41 = 파 크라이: 복수 +RCVP41 = 파 크라이: 복수 +RCXE78 = 올 스타 치어 스쿼드 +RCXP78 = 올 스타 치어리더 +RCXX78 = 올 스타 치어리더 +RCYPGN = 체거 파티 퀴즈 +RD2E41 = 레드 스틸 2 +RD2J41 = 레드 스틸 2 +RD2K41 = 레드 스틸 2 +RD2P41 = 레드 스틸 2 +RD2X41 = 레드 스틸 2 +RD4EA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 2 +RD4JA4 = 댄스 댄스 레볼루션: 푸루푸루♪ 파티 +RD4PA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 2 +RD6EE9 = 동물 왕국: 야생동물 탐험 +RD6J8N = 동물 기상천외! 신비의 낙원에서 스쿠프 사진을 격사하라! +RD6PNP = 사파'Wii +RD8E52 = 스타와 함께 춤을 +RD9J18 = 퍼즐 시리즈 Vol.1 스도쿠 +RDAE52 = 스타와 함께 춤을: 위 댄스! +RDBE70 = 드래곤 볼 Z: 격투 천하제일 무도회 2 +RDBJAF = 드래곤 볼 Z: 스파킹! 네오 +RDBPAF = 드래곤 볼 Z: 격투 천하제일 무도회 2 +RDCE78 = 치명적인 생물들 +RDCP78 = 치명적인 생물들 +RDDEA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 +RDDJA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 +RDDPA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 +RDEJ0A = 전국 데코토라 축제 +RDFE41 = 숀 화이트 스노우보딩: 로드 트립 +RDFP41 = 숀 화이트 스노우보딩: 로드 트립 +RDGEA4 = 캐슬베니아 저지먼트 +RDGJA4 = 악마성 드라큘라 저지먼트 +RDGPA4 = 캐슬베니아 저지먼트 +RDHE78 = 모든 인류를 파괴하라! 빅 윌리 언리시쉬드 +RDHP78 = 모든 인류를 파괴하라! 빅 윌리 언리시쉬드 +RDIE41 = 강아지 섬 +RDIJG2 = 강아지 섬: 한편의 꽃 이야기 +RDIP41 = 강아지 섬 +RDJE4F = 데스 주니어: 악의 근원 +RDJP4F = 데스 주니어: 악의 근원 +RDKE01 = 동키 콩: 배럴 블래스트 +RDKJ01 = 동키 콩 타루 제트 레이스 +RDKP01 = 동키 콩: 제트 레이스 +RDLE5G = 건조한 시리얼의 스파이 폭스 +RDLP70 = 건조한 시리얼의 스파이 폭스 +RDME6K = 도미노 랠리 +RDMJ8N = 고! 고! 미논 +RDMPHZ = 미논: 매일매일 영웅 +RDNEA4 = 댄스 댄스 레볼루션: 디즈니 그루브 +RDOE41 = 애완동물 강이지들 2 +RDOJ41 = 강아지와 마법의 모자 +RDOP41 = 강아지들 +RDOX41 = 강아지들 +RDPE54 = 도라: 눈의 공주 구출작전 +RDPP54 = 도라: 눈의 공주 구출작전 +RDPX54 = 도라: 눈의 공주 구출작전 +RDQEGD = 드래곤 퀘스트 소드: 가면의 여왕과 거울의 탑 +RDQJGD = 드래곤 퀘스트 소드: 가면의 여왕과 거울의 탑 +RDQPGD = 드래곤 퀘스트 소드: 가면의 여왕과 거울의 탑 +RDREA4 = 듀이의 모험 +RDRJA4 = 수정 듀이의 대모험 +RDRPA4 = 듀이의 모험 +RDSE70 = 드래곤 볼 Z: 격투 천하제일 무도회 3 +RDSJAF = 드래곤 볼 Z: 스파킹! 메테오 +RDSPAF = 드래곤 볼 Z: 격투 천하제일 무도회 3 +RDTEAF = 타마고치: 파티 온! +RDTJAF = 타마고치의 반짝반짝 대통령! +RDTPAF = 타마고치: 파티 온! +RDUJDQ = 스고로 연대기 - 오른손에 칼을 왼손에 주사위를 +RDVE41 = 드라이버: 평행선 +RDVP41 = 드라이버: 평행선 +RDWEG9 = 드래곤 블레이드: 화염의 분노 +RDWJG9 = 드래곤 블레이드: 화염의 분노 +RDWPG9 = 드래곤 블레이드: 화염의 분노 +RDXE18 = 데카 스포츠 +RDXJ18 = 데카 스포르타 +RDXKA4 = 데카 스포르타 Wii로 즐기는 스포츠 +RDXP18 = 스포츠 아일랜드 +RDYEGN = CID: 더미 +RDZJ01 = 재앙: 위기의 날 +RDZP01 = 재앙: 위기의 날 +RE3ENR = WWII 에이스들 +RE4E08 = 레지던트 이블 아카이브스: 레지던트 이블 +RE4J08 = 바이오하자드 +RE4P08 = 레지던트 이블 아카이브스: 레지던트 이블 +RE5PAF = 문차블즈 +RE6PRT = 하계 도전: 운동경기 토너먼트 +RE7PNK = 사냥 도전 +RE8J99 = 가정교사 히트맨 부활! 금단의 어둠의 델타 +REAE69 = 셀리브리티 스포츠 쇼다운 +REAF69 = 셀리브리티 스포츠 쇼다운 +REAP69 = 셀리브리티 스포츠 쇼다운 +REBE4Z = 미스터 빈의 와키 월드 +REBPMT = 미스터 빈의 와키 월드 +RECE6K = 스파이 게임즈: 엘리베이터 미션 +RECP6K = 스파이 게임즈: 엘리베이터 미션 +REDE41 = 레드 스틸 +REDJ41 = 레드 스틸 +REDP41 = 레드 스틸 +REFP41 = 내 프랑스어 코치: 프랑스어 향상 +REGE36 = 긴급 대혼란 +REGP36 = 긴급 대혼란 +REHE41 = 긴급 영웅들 +REHP41 = 긴급 영웅들 +REJEAF = 엑티브 라이프: 극한 도전 +REJJAF = 패밀리 트레이너 2 +REJPAF = 패밀리 트레이너: 극한 도전 +REKE41 = 골드의 체육관: 심장 강화 운동 +REKJ2N = 쉐이프 복싱 Wii로 다이어트를 즐기세요! +REKP41 = 나의 피트니스 코치: 심장 강화 운동 +REKU41 = 나의 피트니스 코치: 심장 강화 운동 +RELEA4 = 엘레비츠 +RELJA4 = 엘레비츠 RELKA4 = 엘레비츠 -RFPK01 = 위 피트 플러스 +RELPA4 = 엘레비츠 +REMJ8P = 도라에몽 Wii: 비밀 도구왕 결정전! +RENE8P = 소닉과 검은 기사 +RENJ8P = 소닉과 검은 기사 +RENP8P = 소닉과 검은 기사 +REQE54 = 화이팅, 디에고, 화이팅! 사파리 구조대 +REQP54 = 화이팅, 디에고, 화이팅! 사파리 구조대 +REQX54 = 화이팅, 디에고, 화이팅! 사파리 구조대 +REQY54 = 화이팅, 디에고, 화이팅! 사파리 구조대 +RESP41 = 내 스페인어 코치: 스페인어 향상 +RETJAF = 축제의 달인 +REUPNK = 나의 바디 코치 +REVJ8P = 기화기초: 해명편 +REWFMR = 내 승마 클럽: 신비한 애팔루사 트레일 +REWXMR = 내 승마 클럽: 신비한 애팔루사 트레일 +REWYMR = 내 승마 클럽: 신비한 애팔루사 트레일 +REXE01 = 익사이트 트럭 +REXJ01 = 익사이트 트럭 +REXP01 = 익사이트 트럭 +REYE4Q = 디즈니 싱 잇: 고등학교 뮤지컬 3 고학년 +REYP4Q = 디즈니 싱 잇: 고등학교 뮤지컬 3 +REYX4Q = 디즈니 싱 잇: 고등학교 뮤지컬 3 +REZEJJ = 프리츠 체스 +REZPKM = 프리츠 체스 +RF2E54 = 판타스틱 4: 실버서퍼의 위험 +RF2P54 = 판타스틱 4: 실버서퍼의 위험 +RF3E52 = 페라리 도전: 피렐리 트로피 +RF3P6M = 페라리 도전: 피렐리 트로피 +RF4E36 = 슈퍼 후르츠 폴 +RF4P6M = 슈퍼 후르츠 폴 +RF7J08 = 타츠노코 vs. 캡콤: 크로스 제너레이션 오브 히어로즈 +RF8E69 = 피파 08 +RF8J13 = 피파 08 +RF8K69 = 피파 08 +RF8P69 = 피파 08 +RF8X69 = 피파 08 +RF8Y69 = 피파 08 +RF9E69 = 피파 09 올 플레이 +RF9J13 = 피파 09 올 플레이 +RF9K69 = 피파 09 올 플레이 +RF9P69 = 피파 09 올 플레이 +RF9R69 = 피파 09 올 플레이 +RF9X69 = 피파 09 올 플레이 +RF9Y69 = 피파 09 올 플레이 +RFAEAF = 엑티브 라이프: 아웃도어 첼린지 +RFAJAF = 패밀리 트레이너: 운동경기 세계 +RFAPAF = 패밀리 트레이너 +RFBE01 = 끝없는 바다 +RFBJ01 = 끝없는 바다 +RFBP01 = 끝없는 바다 +RFCEGD = 파이널 판타지 크리스탈 연대기 - 크리스탈 소지자 +RFCJGD = 파이널 판타지 크리스탈 연대기 - 크리스탈 소지자 +RFCPGD = 파이널 판타지 크리스탈 연대기: 크리스탈 소지자 +RFEE01 = 파이어 엠블렘: 새벽의 여신 +RFEJ01 = 파이어 엠블렘 - 새벽의 여신 +RFEP01 = 파이어 엠블렘: 새벽의 여신 +RFFEGD = 파이널 판타지 크리스탈 연대기: 시간의 메아리 +RFFJGD = 파이널 판타지 크리스탈 연대기 - 시간의 메아리 +RFFPGD = 파이널 판타지 크리스탈 연대기: 시간의 메아리 +RFJJAF = 패밀리 쟈키 +RFKE41 = 나의 피트니스 코치 +RFKP41 = 나의 피트니스 코치: 좋은 몸을 유지합시다 +RFKX41 = 나의 피트니스 코치: 좋은 몸을 유지합시다 +RFLE69 = 매든 NFL 09 올 플레이 +RFLP69 = 매든 NFL 09 올 플레이 +RFLPWK = Wii 프리로더 +RFMJAF = 프로 야구 패밀리 스타디움 +RFNE01 = Wii 핏 +RFNJ01 = Wii 핏 +RFNK01 = Wii 핏 +RFNP01 = Wii 핏 +RFNW01 = Wii 핏 +RFOE52 = 스파이더맨: 친구 또는 적 +RFOP52 = 스파이더맨: 친구 또는 적 +RFOX52 = 스파이더맨: 친구 또는 적 +RFPE01 = Wii 핏 플러스 +RFPJ01 = Wii 핏 플러스 +RFPK01 = Wii 핏 플러스 +RFPP01 = Wii 핏 플러스 +RFPW01 = Wii 핏 플러스 +RFQE69 = 페이스브레이커 K.O. 파티 +RFQJ13 = 페이스브레이커 K.O. 파티 RFQK69 = 페이스브레이커: K.O. 파티 -RGHK52 = 기타히어로3: 레전드 오브 락 -RH6K69 = 해리포터와 혼혈왕자 +RFQP69 = 페이스브레이커: K.O. 파티 +RFRE5G = 푸루푸루 공원 +RFRJC0 = 푸루푸루 공원 +RFSEEB = 풍래의 시렌 +RFSJ8P = 이상한 던전 풍래의 시렌 3 - 태엽장치 저택의 잠자는 공주 +RFTE70 = 백야드 풋볼 +RFUJA4 = 마작 격투 클럽 Wii: Wi-Fi 지원 +RFVE52 = 몽키 미스치프: 파티 타임 +RFVP52 = 몽키 미스치프! 20 게임 +RFWE5Z = 사파리 모험 아프리카 +RFWPNK = 사파리 모험 아프리카 +RFYFMR = 포트 보야르 +RFZE41 = 패션 파티를 상상해보세요 +RFZP41 = 패션 아이돌을 상상해보세요 +RG2EXS = 길티기어 이그젝스 액센트 코어 +RG2JJF = 길티기어 이그젝스 액센트 코어 +RG2PGT = 길티기어 이그젝스 액센트 코어 +RG4JC0 = 전차로 GO! 신칸센 EX 산요 신칸센편 +RG5EWR = 기네스 세계 기록: 비디오게임 +RG5PWR = 기네스 세계 기록: 비디오게임 +RG6E69 = 부기 슈퍼스타 +RG6P69 = 부기 슈퍼스타 +RG7EQH = 시티 빌더 +RG8E41 = 애완동물 스포츠 +RG8P41 = 애완동물 스포츠: 강아지 놀이터 +RG9E54 = 축제 게임들: 미니 골프 +RG9P54 = 축제 게임들: 미니 골프 +RGAE8P = 행성 51: 게임 +RGAP8P = 행성 51: 게임 +RGBE08 = 하비 버드맨: 변호사 +RGBP08 = 하비 버드맨: 변호사 +RGCEXS = 미니콥터 Wii 모험 비행 +RGCJJF = 쁘띠콥터 Wii - 모험 비행 +RGCPGT = 라디오 헬리콥터 +RGDEA4 = 타켓: 테러 +RGDPA4 = 타켓: 테러 +RGEJJ9 = 황금 달걀 - 황금 거위의 세계 +RGFE69 = 대부: 블랙핸드 에디션 +RGFF69 = 대부: 블랙핸드 에디션 +RGFI69 = 대부: 블랙핸드 에디션 +RGFP69 = 대부: 블랙핸드 에디션 +RGFS69 = 대부: 블랙핸드 에디션 +RGGJAF = 게게게의 키타로: 요괴 대운동회 +RGHE52 = 기타 히어로 III: 락의 전설들 +RGHJ52 = 기타 히어로 III: 락의 전설들 +RGHK52 = 기타 히어로 3: 락의 전설들 +RGHP52 = 기타 히어로 III: 락의 전설들 +RGIJC8 = G1 기수 Wii +RGIPC8 = G1 기수 Wii +RGJE4Z = 정글의 조지: 비밀 검색 +RGJP7U = 정글의 조지: 비밀 검색 +RGKENR = 키즈 스포츠: 크레이지 골프 +RGKPNR = 크레이지 미니 골프 +RGLE7D = 지오메트리 대전: 은하계 +RGLP7D = 지오메트리 대전: 은하계 +RGME5D = 빌리 & 맨드의 그림 모험 +RGMP5D = 빌리 & 맨드의 그림 모험 +RGNJAF = 은혼 해결사 튜브 - 츳코마블 동화 +RGOJJ9 = 더 월드 오브 골든 에그 닛산 노트 버전 +RGPJAF = 아니메 슬롯 레볼루션 파치슬롯 기동전사 건담 II - 슬픈 전사편 +RGQE70 = 고스트버스터즈: 비디오 게임 +RGQP70 = 고스트버스터즈: 비디오 게임 +RGSE8P = 고스트 스쿼드 +RGSJ8P = 고스트 스쿼드 +RGSP8P = 고스트 스쿼드 +RGTE41 = GT 프로 시리즈 +RGTJBL = GT 프로 시리즈 +RGTP41 = GT 프로 시리즈 +RGVE52 = 기타 히어로: 에어로스미스 +RGVJ52 = 기타 히어로: 에어로스미스 +RGVP52 = 기타 히어로: 에어로스미스 +RGWE41 = 엽기토끼: 집으로 +RGWJ41 = 엽기토끼: 집으로 +RGWP41 = 엽기토끼: 집으로 +RGWX41 = 엽기토끼: 집으로 +RGXE5D = 게임 파티 +RGXP5D = 게임 파티 +RGYE5Z = 액션 걸즈 레이싱 +RGYPUG = 액션 걸즈 레이싱 +RGZE70 = 고질라 언리쉬드 +RGZP70 = 고질라 언리쉬드 +RH2E41 = 헬 키친: 비디오 게임 +RH2P41 = 헬 키친 +RH3E4Q = 고등학교 뮤지컬 3: 고학년 댄스! +RH3J4Q = 고등학교 뮤지컬 댄스! +RH3P4Q = 고등학교 뮤지컬 3: 고학년 댄스! +RH4XUG = 햄스터 영웅들 +RH5EVN = 승마 인생 모험 +RH5PKM = 승마 인생 2 +RH6E69 = 해리 포터와 혼혈 왕자 +RH6K69 = 해리 포터와 혼혈 왕자 +RH6P69 = 해리 포터와 혼혈 왕자 +RH7J8P = 실전 파치슬롯 필승법! 사미의 컬렉션 북두의 권 Wii +RH8E4F = 툼 레이더: 언더월드 +RH8JEL = 툼 레이더: 언더월드 +RH8P4F = 툼 레이더: 언더월드 +RH8X4F = 툼 레이더: 언더월드 +RH9JC8 = 머나먼 시공 속에서 4 +RHAE01 = Wii 플레이 +RHAJ01 = 처음 만나는 Wii RHAK01 = 처음 만나는 Wii +RHAP01 = Wii 플레이 +RHAW01 = Wii 플레이 +RHCE52 = 히스토리 채널: 태평양 전쟁 +RHCP52 = 히스토리 채널: 태평양 전쟁 +RHDE8P = 하우스 오브 데드 2 & 3 리턴 +RHDJ8P = 하우스 오브 데드 2 & 3 리턴 +RHDP8P = 하우스 오브 데드 2 & 3 리턴 +RHEEJJ = 하인즈 볼프 교수의 중력 +RHEPKM = 하인즈 볼프 교수의 중력 +RHFE5D = 해피 피트 +RHFP5D = 해피 피트 +RHGP6Z = 에이전트 휴고: 레몬 트위스트 +RHGX6Z = 에이전트 휴고: 레몬 트위스트 +RHHJ8J = 스즈미야 하루히의 격동 +RHIEXJ = 승리를 거둔 복서들: 레볼루션 +RHIJJ9 = 시작의 일보 레볼루션 +RHIP41 = 승이를 거둔 복서들: 레볼루션 +RHJJ13 = 인생 테이블 게임즈 Wii +RHKE18 = 사람 구함: 50 개 엉뚱한 직업 +RHKJ18 = 일하는 사람 +RHKP18 = 잡 아일랜드: 열심히 일하는 사람들 +RHLE4Z = 월드 챔피언쉽 포커 하워드 레더러 참여: 올 인 +RHLPGT = 월드 챔피언쉽 포커 하워드 레더러 참여: 올 인 +RHMEE9 = 하베스트 문: 마법 멜로디 +RHMP99 = 하베스트 문: 마법 멜로디 +RHNE70 = 말과 나 +RHNP70 = 말과 나 +RHOE8P = 하우스 오브 데드: 오버킬 +RHOJ8P = 하우스 오브 데드: 오버킬 +RHOP8P = 하우스 오브 데드: 오버킬 +RHPJ8N = 악코로 폰! 이카사마 방랑기 +RHQE4Q = 한나 몬타나: 스포트라이트 월드 투어 +RHQP4Q = 한나 몬타나: 스포트라이트 월드 투어 +RHQX4Q = 한나 몬타나: 스포트라이트 월드 투어 +RHQY4Q = 한나 몬타나: 스포트라이트 월드 투어 +RHRJ99 = 가정교사 히트맨 REBORN! 드림 하이퍼 배틀! Wii +RHSE36 = 히트시커 +RHSP36 = 히트시커 +RHSX36 = 히트시커 +RHSY36 = 히트시커 +RHTE54 = 맨헌트 2 +RHTP54 = 맨헌트 2 +RHUE20 = 스케이트 시티 히어로즈 +RHUP7J = 스케이트 시티 히어로즈 +RHVE5Z = 크레이지 치킨 테일즈 +RHVPFR = 크레이지 치킨 테일즈 +RHWE52 = 핫 휠즈: 비트 댓! +RHWP52 = 핫 휠즈: 비트 댓! +RHXE78 = 밴드들의 배틀 +RHXP78 = 밴드들의 배틀 +RHYJAF = 하네루노 토비라 Wii 기리기릿스 +RHZE41 = 애완동물 말들 2 +RHZP41 = 피파 푸넬: 목장 구조대 +RI2E4Q = 고등학교 뮤지컬: 싱 잇! +RI2P4Q = 디즈니 싱 잇: 고등학교 뮤지컬 +RI3E5D = 앤트 불리 +RI3P5D = 앤트 불리 +RI6ENR = 하계 스포츠 2: 아일랜드 스포츠 파티 +RI6P41 = 하계 스포츠 파티 +RI7E4Z = 몬스터 대혼란: 빌드 앤 배틀 +RI8E41 = 브라더스 인 암스: 로드 투 힐 30 +RI8P41 = 브라더스 인 암스: 로드 투 힐 30 +RI9EGT = 디바 걸즈: 빙상의 디바 +RI9PGT = 디바 걸즈: 빙상의 공주 +RIAE52 = 아이스 에이지: 공룡시대 +RIAI52 = 아이스 에이지 3: 공룡시대 +RIAP52 = 아이스 에이지 3: 공룡시대 +RIBES5 = 이고르 게임 +RIBPKM = 이고르: 게임 +RICENR = 강철 쉐프 아메리카: 최고의 요리 +RIDE20 = 스마일리 월드: 아일랜드 챌린지 +RIDP7J = 스마일리 월드: 아일랜드 챌린지 +RIEEA4 = 카라오케 레볼루션 제공: 아메리카 아이돌 앙코르 +RIFEA4 = 카라오케 레볼루션 제공: 아메리카 아이돌 앙코르 2 +RIGE54 = 파이팅, 디에고, 파이팅! 위대한 다이노소어 구조대 +RIGP54 = 파이팅, 디에고, 파이팅! 위대한 다이노소어 구조대 +RIHE8P = 인크레더블 헐크 +RIHP8P = 인크레더블 헐크 +RIIEQH = 카트 레이서 +RIIPNG = 카트 레이서 +RIJE69 = G.I. 조: 전쟁의 서막 +RIJP69 = G.I. 조: 전쟁의 서막 +RIKEQH = 트럭 레이서 +RIKPNG = 트럭 레이서 +RILJ18 = 퍼즐 시리즈 볼륨 2: 일러스트 로직 + 컬러풀 로직 +RIME36 = 불가능한 임무 +RIMP6M = 불가능한 임무 +RINE08 = 데드 라이징: 찹 틸 유 드롭 +RINJ08 = 데드 라이징: 좀비의 희생 +RINP08 = 데드 라이징: 찹 틸 유 드롭 +RIOPSU = 끔찍한 역사 : 무자비한 로마인들 +RIPEAF = 원피스 언리미티드 어드벤쳐 +RIPJAF = 원피스 언리미티드 어드벤쳐 +RIPPAF = 원피스: 언리미티드 크루즈 1: 파도 아래의 보물 +RIQPUJ = 아이스 댄싱 +RIRE8P = 아이언맨 +RIRP8P = 아이언맨 +RITFMR = 인터빌즈: 공식 게임 +RIUJAF = 원피스: 언리미티드 크루즈 에피소드 2 - 눈을 뜨는 용자 +RIUPAF = 원피스: 언리미티드 크루즈 2: 영웅의 각성 +RIVEXJ = 아이비 더 키위? +RIVJAF = 아이비 더 키위? +RIVP99 = 아이비 더 키위? +RIWENR = 버거 아일랜드 +RIXE20 = 닷지 레이싱: 차져 vs. 도전자 +RIXP7J = 닷지 레이싱: 차져 vs. 도전자 +RIYE52 = 스페이스 캠프 +RIYP52 = 스페이스 캠프 +RIZENR = 인디애나폴리스 500 전설들 +RJ2E52 = 007: 퀀텀 오브 솔러 +RJ2JGD = 007: 위로의 보수 +RJ2P52 = 007: 퀀텀 오브 솔러 +RJ3E20 = 지프 스릴 +RJ3P7J = 지프 스릴 +RJ4ENR = 쥬얼 마스터: 로마의 요람 +RJ4PRM = 쥬얼 마스터: 로마의 요람 +RJ6E69 = 마이심즈: 하늘의 영웅들 +RJ6P69 = 마이심즈: 하늘의 영웅들 +RJ7FWP = TV 7 게임: 화살표 단어 +RJ8E64 = 인디아나 존스와 왕의 지팡이 +RJ8P64 = 인디아나 존스와 왕의 지팡이 +RJ9E5Z = 씽크스마트 패밀리 +RJ9FMR = 씽크 로직 트레이너 +RJ9HMN = 씽크 로직 트레이너 +RJ9PFR = 씽크 로직 트레이너 +RJ9XML = 씽크 로직 트레이너 +RJAD52 = 콜 오브 듀티: 현대 전쟁 - 리플렉스 에디션 +RJAE52 = 콜 오브 듀티: 현대 전쟁 - 리플렉스 에디션 +RJAP52 = 콜 오브 듀티: 현대 전쟁 - 리플렉스 에디션 +RJAX52 = 콜 오브 듀티: 현대 전쟁 - 리플렉스 에디션 +RJBJAF = 대괴수 배틀 울트라 콜로세움 +RJCE52 = 스코어 인터내셔널 바자 1000: 월드 챔피언쉽 오프로드 레이싱 +RJCP52 = 스코어 인터내셔널 바자 1000: 월드 챔피언쉽 오프로드 레이싱 +RJDPKM = 나의 동물 센터 +RJEE70 = 젠가 월드 투어 +RJEP70 = 젠가 월드 투어 +RJFE5G = 질리안 마이클스의 피트니스 얼티메이텀 2009 +RJFPKM = 질리안 마이클스의 피트니스 얼티메이텀 2009 +RJGJDA = 인생 게임 Wii +RJHE52 = 마다가스카 카트즈 +RJHP52 = 마다가스카 카트즈 +RJIP6M = 페라리: 레이스 경험 +RJJE8P = 잠보! 사파리 동물 구조대 +RJJP8P = 잠보! 사파리 +RJMERS = 점퍼: 그리핀 이야기 +RJMPRS = 점퍼: 그리핀 이야기 +RJNE20 = 빌드 '엔 레이스 +RJOEXJ = 주온: 그루지 +RJOJJ9 = 공포 체감 주원 +RJOP99 = 주온 그루지 +RJPJA4 = 실황 파워풀 프로 야구 Wii +RJQE5G = 파자마 샘: 어둠을 두려워하지 마세요 +RJQP70 = 파자마 샘: 어두운 곳에서 숨을 필요가 없어요 +RJREA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 3 +RJRJA4 = 댄스 댄스 레볼루션: 뮤직 핏 +RJRPA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 3 +RJSENR = 카와사키 제트 스키 +RJSPUG = 카와사키 제트 스키 +RJSXUG = 카와사키 제트 스키 +RJTJ01 = 모두의 상식력 텔레비전 +RJVEGN = 히스테리 병원: 응급실 +RJVPGN = 히스테리 병원: 응급실 +RJWJEL = 자와: 매머드와 비밀 석조 +RJXE5G = 고 플레이 벌목꾼 +RJXXFR = 고 플레이 벌목꾼 +RJYE5Z = 피즈위즐 의사의 동물 구조대 +RJZP7U = SNK 아케이드 클래식스 볼륨 1 +RK2EEB = 트라우마 센터: 새로운 피 +RK2JEB = 트라우마 센터: 새로운 피 +RK2P01 = 트라우마 센터: 새로운 피 +RK3J01 = 앤드 검색 +RK4JAF = 결계사: 흑망루의 그림자 +RK5E01 = 털실 커비의 이야기 +RK5J01 = 털실 커비의 이야기 RK5K01 = 털실 커비의 이야기 +RK5P01 = 털실 커비의 이야기 +RK6E18 = 구슬 이야기: 코로린파 +RK6J18 = 코로린파 2 - 앤써니와 황금 해바라기 씨앗 +RK6P18 = 마블! 균형 도전 +RK7J0A = 황금의 굴레 +RK8E54 = 메이저 리그 야구 2K8 +RK9EA4 = 카라오케 레볼루션 +RK9PA4 = 카라오케 레볼루션 +RKAE6K = 얼티밋 슈팅 컬렉션 +RKAJMS = 마일스톤 슈팅 컬렉션 카라스 Wii RKAK8M = 마일스톤 슈팅 컬렉션 카라스 Wii +RKAP6K = 얼티밋 슈팅 컬렉션 +RKBE41 = 크랜니움 카부키 +RKBP41 = 크랜니움 카부키 +RKDEEB = 트라우마 센터: 다른 의사의 진단 +RKDJEB = 카두케우스 Z: 2개의 초집도 +RKDP01 = 트라우마 센터: 다른 의사의 진단 +RKEENR = 케이트 웨스트: 사라지는 파일들 +RKEPGN = 케이트 웨스트: 사라지는 파일들 +RKFEH4 = 킹 오브 파이터즈 컬렉션: 오로치 사가 RKFKZA = 킹 오브 파이터즈 컬렉션 오로치 사가 -RKPK52 = 쿵푸팬더 +RKFP7U = 킹 오브 파이터즈 컬렉션: 오로치 사가 +RKGEGY = 브라츠 키즈: 수면 파티 +RKGPGY = 브라츠: 키즈 파티 +RKHE52 = 쿵푸 팬더: 전설적인 전사들 +RKHP52 = 쿵푸 팬더: 전설적인 전사들 +RKIENR = 키즈 스포츠: 아이스 하키 +RKIPUG = 키즈 스포츠: 아이스 하키 +RKIXUG = 키즈 스포츠: 아이스 하키 +RKJJ0Q = 재단법인 일본 한자 능력 검정 협회 공식 소프트 250 만명의 한검 Wii +RKKE6K = 천상의 수호자 +RKLEG9 = 코렐라인 +RKLPG9 = 코렐라인 +RKME5D = 모탈 컴뱃: 아마겟돈 +RKMP5D = 모탈 컴뱃: 아마겟돈 +RKNJ2N = 재단법인 일본 한자 능력 검정 협회 공인 한검 Wii 한자왕 결정전 +RKOJBL = 리락쿠마: 모두 느긋한 생활 +RKPE52 = 쿵푸 팬더 +RKPJ52 = 쿵푸 팬더 +RKPK52 = 쿵푸 팬더 +RKPP52 = 쿵푸 팬더 +RKPV52 = 쿵푸 팬더 +RKPX52 = 쿵푸 팬더 +RKPY52 = 쿵푸 팬더 +RKQENR = 캔디스 케인의 사탕 공장 +RKSENR = 키즈 스포츠: 농구 +RKSPUG = 키즈 스포츠: 농구 +RKSXUG = 키즈 스포츠: 농구 +RKTENR = 키즈 스포츠: 인터내셔널 축구 +RKTXUG = 키즈 스포츠: 인터내셔널 축구 +RKVE54 = 더 빅스 2 +RKVP54 = 더 빅스 2: 야구 +RKWJ18 = 직소퍼즐 오늘의 강아지 +RKXE69 = 락 밴드 +RKXP69 = 락 밴드 +RKYE20 = 아미맨: 비운의 군인들 +RKYP7J = 아미맨: 비운의 군인들 +RKZEA4 = 로스트 인 블루: 난파 +RKZJA4 = 서바이벌 키즈 Wii +RKZPA4 = 로스트 인 블루: 난파 +RL2E78 = 갤럽 & 라이드! +RL2HMN = 말과 조랑말: 나의 마굿간 +RL2PFR = 말과 조랑말: 나의 마굿간 +RL3EMJ = 룩소르 3 +RL4E64 = 레고 인디아나 존스 2: 모험은 계속 +RL4P64 = 레고 인디아나 존스 2: 모험은 계속 +RL5E52 = 아이칼리 +RL5P52 = 아이칼리 +RL6E69 = 너프 N-스트라이크 엘리트 +RL7E69 = 아주 작은 애완동물 샵: 친구들 +RL7P69 = 아주 작은 애완동물 샵: 친구들 +RL8E54 = MLB 파워 프로스 2008 +RL9PHZ = 당구의 왕 +RLADMR = 딜 오어 노 딜: 뱅커가 돌아왔다 +RLAE20 = 딜 오어 노 딜 +RLAPMR = 딜 오어 노 딜: 뱅커가 돌아왔다 +RLBEWR = 레고 배트맨: 비디오게임 +RLBPWR = 레고 배트맨: 비디오게임 +RLCP7J = 사랑은... 활짝 폈습니다 +RLDEGY = 용의 전설 +RLDPFK = 용의 전설 +RLEEFS = 텐 핀 앨리 2 +RLEPFS = 텐 핀 앨리 2 +RLFE64 = 스타 워즈 클론 전쟁: 광선검 결투 +RLFP64 = 스타 워즈 클론 전쟁: 광선검 결투 +RLGE64 = 레고 스타 워즈: 컴플리트 사가 +RLGJ52 = 레고 스타 워즈: 컴플리트 사가 +RLGP64 = 레고 스타 워즈: 컴플리트 사가 +RLHE52 = 리틀 리그 월드 시리즈 야구 2008 +RLHP52 = 리틀 리그 월드 시리즈 야구 2008 +RLIE64 = 레고 인디아나 존스: 오리지널 어드벤처스 +RLIP64 = 레고 인디아나 존스 : 오리지널 어드벤처스 +RLJEHJ = 라인 라이더 2: 언바운드 +RLJPKM = 라인 라이더 프리스타일 +RLKEGY = 코드 료코: 인피니티 퀘스트 +RLKPFK = 코드 료코: 인피니티 퀘스트 +RLLP70 = 서부로 가자! 럭키 루크의 모험 +RLNEVN = 생존자 +RLNFMR = 생존자 +RLNHMR = 생존자 +RLNIMR = 생존자 +RLNPMR = 생존자 +RLPE69 = 아주 작은 애완동물 샵 +RLPP69 = 아주 작은 애완동물 샵 +RLQE52 = 빅 리그 스포츠 +RLQP52 = 월드 챔피언쉽 스포츠 +RLRE4F = 툼 레이더: 애니버서리 +RLRJEL = 툼 레이더: 애니버서리 +RLRP4F = 툼 레이더: 애니버서리 +RLSE8P = 외계인 증후군 +RLSP8P = 외계인 증후군 +RLTENR = 런던 택시: 러쉬 아워 +RLTPNR = 런던 택시: 러쉬 아워 +RLTXUG = 런던 택시: 러쉬 아워 +RLUE4Q = 볼트 +RLUP4Q = 볼트 +RLUR4Q = 볼트 +RLUX4Q = 볼트 +RLUY4Q = 볼트 +RLVE78 = 아바타: 최후의 에어벤더 +RLVP78 = 아바타: 앙의 전설 +RLWE78 = 라따뚜이 +RLWJ78 = 라따뚜이 +RLWP78 = 라따뚜이 +RLWW78 = 라따뚜이 +RLWX78 = 라따뚜이 +RLWY78 = 라따뚜이 +RLWZ78 = 라따뚜이 +RLXEMJ = 룩소르: 파라오의 도전 +RLXP36 = 룩소르: 파라오의 도전 +RLYEWR = 루니 툰즈: 애크메 무기창고 +RLYPWR = 루니 툰즈: 애크메 무기창고 +RLZE4Z = 디펜딩 드 펭귄 +RLZPXT = 디펜딩 드 펭귄 +RM2E69 = 메달 오브 아너: 영웅들 2 +RM2J13 = 메달 오브 아너: 영웅들 2 +RM2P69 = 메달 오브 아너: 영웅들 2 +RM2U69 = 메달 오브 아너: 영웅들 2 +RM2X69 = 메달 오브 아너: 영웅들 2 +RM3E01 = 메트로이드 프라임 3: 오염 +RM3J01 = 메트로이드 프라임 3: 오염 +RM3P01 = 메트로이드 프라임 3: 오염 +RM4E41 = 몬스터 4x4: 월드 서킷 +RM4J41 = 몬스터 4x4: 월드 서킷 +RM4P41 = 몬스터 4x4: 월드 서킷 +RM5E7D = 미이라: 용 황제의 무덤 +RM5P7D = 미이라: 용 황제의 무덤 +RM6EEB = 바로크 +RM6P99 = 바로크 +RM7E4F = 몬스터 랩 +RM7P4F = 몬스터 랩 RM8E01 = 마리오 파티 8 RM8J01 = 마리오 파티 8 RM8K01 = 마리오 파티 8 RM8P01 = 마리오 파티 8 +RM9EGM = 버섯맨: 포자 대전 +RM9PGM = 버섯맨: 포자 대전 +RMAE01 = 마리오 파워 테니스 +RMAJ01 = Wii로 즐기는 마리오 테니스 GC +RMAP01 = 마리오 파워 테니스 +RMBE01 = 마리오 슈퍼 강타자들 +RMBJ01 = 슈퍼 마리오 스타디움 패밀리 야구 +RMCE01 = 마리오 카트 Wii +RMCJ01 = 마리오 카트 Wii RMCK01 = 마리오 카트 Wii +RMCP01 = 마리오 카트 Wii +RMDE69 = 매든 NFL 07 +RMDP69 = 매든 NFL 07 +RMEJDA = 메이저 Wii 던져라! 자이로 볼! +RMFE68 = AMF 볼링 핀버스터즈! +RMFP68 = AMF 볼링 핀버스터즈! +RMGE01 = 슈퍼 마리오 갤럭시 +RMGJ01 = 슈퍼 마리오 갤럭시 RMGK01 = 슈퍼 마리오 Wii 갤럭시 어드벤처 +RMGP01 = 슈퍼 마리오 갤럭시 +RMHE08 = 몬스터 헌터 3 +RMHJ08 = 몬스터 헌터 3 +RMHP08 = 몬스터 헌터 3 +RMIE20 = 마곳의 워드 브레인 +RMIP7J = 마곳의 워드 브레인 +RMJJC8 = 마작 대회 Wii +RMKE01 = 마리오 스포츠 믹스 +RMKJ01 = 마리오 스포츠 믹스 +RMKP01 = 마리오 스포츠 믹스 +RMLEH4 = 메탈 슬러그 앤솔로지 +RMLJH4 = 메탈 슬러그 컴플리트 RMLK52 = 메탈슬러그 컴플리트 -RNHK8M = 노 모어 히어로즈 -RNPK69 = 니드포스피드: 프로스트리트 +RMLP7U = 메탈 슬러그 앤솔로지 +RMME7U = 머큐리 멜트다운 레볼루션 +RMMJ7U = 참을 수 없을 정도로 즐거워 +RMMP7U = 머큐리 멜트다운 레볼루션 +RMNDFR = 나의 애완동물 호텔 +RMNHMN = 나의 애완동물 호텔 +RMNPFR = 나의 애완동물 호텔 +RMOE52 = 몬스터 잼 +RMOP52 = 몬스터 잼 +RMPE54 = MLB 파워 프로스 +RMPP54 = MLB 파워 프로스 +RMQENR = 미쓰 메이커즈: 운명의 보주 +RMQPUG = 미쓰 메이커즈: 운명의 보주 +RMQXUG = 미쓰 메이커즈: 운명의 보주 +RMRE5Z = 코코토 매직 써커스 +RMRPNK = 코코토 매직 써커스 +RMRXNK = 코코토 매직 써커스 +RMSE52 = 마벨: 얼티밋 얼라이언스 2 +RMSP52 = 마벨: 얼티밋 얼라이언스 2 +RMTJ18 = 모모타로 전철 16 홋카이도 대이동의 권! +RMUE52 = 마벨: 얼티밋 얼라이언스 +RMUJ2K = 마벨: 얼티밋 얼라이언스 +RMUP52 = 마벨: 얼티밋 얼라이언스 +RMVE69 = 메달 오브 아너: 선봉 +RMVP69 = 메달 오브 아너: 선봉 +RMVX69 = 메달 오브 아너: 선봉 +RMWE20 = M&M의 카트 레이싱 +RMXE78 = MX vs. ATV: 언테임드 +RMXF78 = MX vs. ATV: 언테임드 +RMXP78 = MX vs. ATV: 언테임드 +RMYE5Z = 미쓰 메이커즈: 슈퍼 카트 GP +RMYPUG = 미쓰 메이커즈: 슈퍼 카트 GP +RMYXUG = 미쓰 메이커즈: 슈퍼 카트 GP +RMZE5Z = 미쓰 메이커즈: 토이랜드의 트릭시 +RMZPUG = 미쓰 메이커즈: 토이랜드의 트릭시 +RMZXUG = 미쓰 메이커즈: 토이랜드의 트릭시 +RN2EAF = 남코 뮤지엄 리믹스 +RN2K70 = 남코 뮤지엄 리믹스 +RN2P70 = 남코 뮤지엄 리믹스 +RN3E78 = 닉툰즈: 토이봇의 공격 +RN3J78 = 스폰지 밥과 친구들: 토이봇의 공격 +RN3P78 = 닉툰즈: 토이봇의 공격 +RN3X78 = 닉툰즈: 토이봇의 공격 +RN4E41 = 던 오브 디스커버리 +RN4P41 = ANNO: 신세계 창조 +RN5E78 = 네이키드 브라더스 밴드: 비디오 게임 +RN5P78 = 네이키드 브라더스 밴드: 비디오 게임 +RN6ENR = 북미 사냥 축제 +RN6P7J = 북미 사냥 축제 +RN7E78 = 네이버후드 게임즈 +RN7P78 = 빅 패밀리 게임즈 +RN8JC8 = 노부나가의 야망・혁신 파워 업 키트 +RN9E4F = 벌레 섬 탈출 +RN9JEL = 네크로네시아 +RN9P4F = 벌레 섬 탈출 +RNAE69 = NCAA 풋볼 09 올 플레이 +RNBE69 = NBA 라이브 08 +RNBP69 = NBA 라이브 08 +RNBX69 = NBA 라이브 08 +RNCEH4 = SNK 아케이드 클래식 볼륨 1 +RNCPH4 = SNK 아케이드 클래식 볼륨 1 +RNDJAF = 노다메 칸타빌레 드림 오케스트라 +RNEEDA = 나루토 질풍전: 닌자 격돌 레볼루션 3 +RNEJDA = 나루토 질풍전: 격투 닌자 대전 EX 3 +RNEPDA = 나루토 질풍전: 닌자 격돌 레볼루션 3 +RNFE69 = 매든 NFL 08 +RNFP69 = 매든 NFL 08 +RNGJ99 = 네기마!? 네오 파크티오 파이트!! +RNHE41 = 노 모어★히어로즈 +RNHJ99 = 노 모어★히어로즈 +RNHK8M = 노 모어★히어로즈 +RNHP99 = 노 모어★히어로즈 +RNIPGT = 마음, 몸, 영혼 : 영양 문제 +RNJE4F = 미니 닌자들 +RNJP4F = 미니 닌자들 +RNKE69 = 너프 엔-스트라이크 +RNKP69 = 너프 엔-스트라이크 +RNME5Z = 닌자브레드 맨 +RNMPUG = 닌자브레드 맨 +RNMXUG = 닌자브레드 맨 +RNNE4Q = 나니아 연대기: 캐스피언의 왕자 +RNNJ4Q = 나니아 연대기: 캐스피언의 왕자 +RNNP4Q = 나니아 연대기: 캐스피언의 왕자 +RNNX4Q = 나니아 연대기: 캐스피언의 왕자 +RNNY4Q = 나니아 연대기: 캐스피언의 왕자 +RNNZ4Q = 나니아 연대기: 캐스피언의 왕자 +RNOJ01 = 또다른 코드: R 기억의 문 +RNOP01 = 또다른 코드: R - 잊어버린 기억 여행 +RNPE69 = 니드 포 스피드: 프로스트리트 +RNPJ13 = 니드 포 스피드: 프로스트리트 +RNPK69 = 니드 포 스피드: 프로스트리트 +RNPP69 = 니드 포 스피드: 프로스트리트 +RNPX69 = 니드 포 스피드: 프로스트리트 +RNPY69 = 니드 포 스피드: 프로스트리트 +RNRE41 = 니트로 바이크 +RNRJ41 = 니트로 바이크 +RNRP41 = 니트로 바이크 +RNSD69 = 니드 포 스피드: 카본 +RNSE69 = 니드 포 스피드: 카본 +RNSF69 = 니드 포 스피드: 카본 +RNSJ13 = 니드 포 스피드: 카본 +RNSP69 = 니드 포 스피드: 카본 +RNSX69 = 니드 포 스피드: 카본 +RNUE8P = 낸시 드류 : 아이시클 강의 하얀 늑대 +RNVE5Z = 아누비스 II +RNVPUG = 아누비스 II +RNVXUG = 아누비스 II +RNWJAF = 모두 놀자! 남코 카니발 RNWKAF = 남코 뮤지엄 리믹스 +RNXEDA = 나루토: 닌자 격돌 레볼루션 +RNXJDA = 나루토 질풍전: 격투 닌자 대전 EX +RNXPDA = 나루토: 닌자 격돌 레볼루션 +RNYEDA = 나루토: 닌자 격돌 레볼루션 2 +RNYJDA = 나루토 질풍전: 격투 닌자 대전 EX 2 +RNYPDA = 나루토: 닌자 격돌 레볼루션 2 +RNZE69 = 닌자 리플렉스 +RNZJ13 = 닌자 리플렉스 RNZK69 = 닌자 리플렉스 +RNZP69 = 닌자 리플렉스 +RO2E7N = 포드 레이싱 오프 로드 +RO2P7N = 오프 로드 +RO3EXJ = 작은 왕의 이야기 +RO3J99 = 임금님 이야기 +RO3P99 = 작은 왕의 이야기 +RO4JDA = 투진전 +RO5E52 = 핫 휠즈: 배틀 포스 5 +RO5P52 = 핫 휠즈: 배틀 포스 5 +RO7E7D = 스파이로의 전설: 영원한 밤 +RO7P7D = 스파이로의 전설: 영원한 밤 +RO8E7D = 스파이로의 전설: 용의 여명 +RO8P7D = 스파이로의 전설: 용의 여명 +RO8X7D = 스파이로의 전설: 용의 여명 +RO9EFS = 아쿠아 패닉! +RO9PNK = 아쿠아 패닉! +ROAE36 = 오버로드: 암흑 전설 +ROAP36 = 오버로드: 암흑 전설 +ROBE7U = 옵스큐어: 후유증 +ROBPPL = 옵스큐어 2 +ROCE5Z = 코코토 카트 레이서 +ROCPNK = 코코토 카트 레이서 +RODE01 = 춤춰라 메이드 인 와리오 +RODJ01 = 춤춰라 메이드 인 와리오 RODK01 = 춤춰라 메이드 인 와리오 +RODP01 = 춤춰라 메이드 인 와리오 +ROEEJZ = 강아지 호텔 +ROEPGT = 강아지 호텔 +ROFE5Z = 오프로드 익스트림! 스페셜 에디션 +ROFPUG = 오프로드 익스트림! +ROFXUG = 오프로드 익스트림! +ROGE78 = 탁과 그로스의 수호자들 +ROGP78 = 탁과 그로스의 수호자들 +ROHJAF = 해피 댄스 컬렉션 +ROJE52 = 라팔라: 위 피쉬 +ROJP52 = 라팔라: 위 피쉬 +ROKJ18 = 카라오케 조이사운드 Wii +ROLE8P = 마리오와 소닉 밴쿠버 동계 올림픽 +ROLJ01 = 마리오와 소닉 밴쿠버 동계 올림픽 ROLK01 = 마리오와 소닉 밴쿠버 동계올림픽 +ROLP8P = 마리오와 소닉 밴쿠버 동계 올림픽 +ROMJ08 = 몬스터 헌터 G +RONEG9 = 오네찬바라: 비키니 좀비 슬레이어즈 +RONJG9 = 오네찬바라 레볼루션 +RONPG9 = 오네찬바라: 비키니 좀비 슬레이어즈 +ROPE41 = 오픈 시즌 +ROPP41 = 오픈 시즌 +ROQJEP = 바로크 Wii +ROSJ01 = 마법의 택트 +ROTE20 = 트윈 스트라이크: 오퍼레이션 썬더 +ROTP7J = 트윈 스트라이크: 오퍼레이션 썬더 +ROUJAF = 원피스: 언리미티 크루즈 에피소드 1 - 파도에 흔들리는 비보 +ROUPAF = 원피스: 언리미티 크루즈 에피소드 1 - 파도에 흔들리는 비보 +ROVE6U = 플레이모빌: 써커스 +ROVPHM = 플레이모빌: 써커스 +ROWE08 = 오오카미 +ROWJ08 = 오오카미 +ROWP08 = 오오카미 +ROXE20 = 주문하세요! +ROXP7J = 주문하세요! +ROXX7J = 주문하세요! +ROYE41 = 하늘에서 음식이 내린다면 +ROYP41 = 하늘에서 음식이 내린다면 +ROYX41 = 하늘에서 음식이 내린다면 +RP2E69 = 잘난척쟁이 +RP2P69 = 잘난척쟁이 +RP3JAF = 프로 골퍼 사루 +RP4E69 = 마이심즈 파티 +RP4J13 = 나와 심의 거리 파티 +RP4P69 = 마이심즈 파티 +RP5JA4 = 실황 파워풀 프로 야구 15 +RP6E41 = 애완동물들: 크레이지 몽키즈 +RP6P41 = 애완동물들: 몽키 매드네스 +RP7E52 = 해적: 검은 수염의 전리품 사냥 +RP7P52 = 해적: 검은 수염의 전리품 사냥 +RP9ERS = 스페이스 침스 +RP9PRS = 스페이스 침스 +RP9XRS = 스페이스 침스 +RPAF70 = 키드 패들: 로스트 인 게임 +RPBE01 = 포켓몬 배틀 레볼루션 +RPBJ01 = 포켓몬 배틀 레볼루션 +RPBP01 = 포켓몬 배틀 레볼루션 +RPCE20 = 퍼즐러 컬렉션 +RPCP41 = 퍼즐러 컬렉션 +RPCX7J = 퍼즐러 컬렉션 +RPDEGN = PDC 월드 챔피언쉽 다츠 2008 +RPDPGN = PDC 월드 챔피언쉽 다츠 2008 +RPFE52 = 피트폴: 메이안 어드벤처 +RPFP52 = 피트폴: 메이안 어드벤처 +RPFU52 = 피트폴: 메이안 어드벤처 +RPGE5D = 램페이지: 토탈 디스트럭션 +RPGP5D = 램페이지: 토탈 디스트럭션 +RPHPPN = 페파 피그: 게임 +RPIE52 = 핌프 마이 라이드 +RPIP52 = 핌프 마이 라이드 +RPJE7U = 아크 라이즈 판타지아 +RPJJ99 = 아크 라이즈 판타지아 +RPKE52 = 포커 세계 시리즈: 챔피언스 2007 토너먼트 에디션 +RPKP52 = 포커 세계 시리즈: 챔피언스 2007 토너먼트 에디션 +RPLE52 = 라팔라 토너먼트 낚시 +RPLP52 = 라팔라 토너먼트 낚시 +RPMJA4 = 실황 파워풀 프로 메이저 리그 2 +RPNE78 = 파우스 & 클라우스 : 애완동물 리조트 +RPOEC8 = 오푸나 +RPOJC8 = 오푸나 +RPOPC8 = 오푸나 +RPPE41 = 페르시아 왕자: 숙명의 검 +RPPP41 = 페르시아 왕자: 숙명의 검 +RPQES5 = 당구 파티 +RPQPS5 = 당구 파티 +RPSE4Q = 디즈니 공주들: 매혹적인 여행 +RPSJ4Q = 디즈니 공주들: 마법의 세계로 +RPSP4Q = 디즈니 공주들: 매혹적인 여행 +RPTD52 = 퍼피 러브 +RPTE52 = 퍼피 러브: 당신의 새로운 최고의 친구 +RPTP52 = 퍼피 러브: 당신의 새로운 최고의 친구 +RPUJ8P = 뿌요 뿌요! 15 주년 +RPVE4Z = 펄 팔스 +RPVPKM = 펄 팔스 +RPWX41 = 페르시아 왕자: 망각의 모래 +RPWZ41 = 페르시아 왕자: 망각의 모래 +RPXE69 = EA 플레이그라운드 +RPXJ13 = EA 플레이그라운드 - 공원에서 놀자! +RPXP69 = EA 플레이그라운드 +RPYE9B = 슈퍼 스윙 골프 +RPYJ9B = 스윙 골프 팡야 +RPYP9B = 팡야! 스타일 골프 +RPZJA4 = 실황 파워풀 프로 야구 Wii 결정판 +RQ2JK6 = 크레이지 클라이머 Wii +RQ3PGN = PDC 월드 챔피언쉽 다츠 2009 +RQ4E78 = 네모바지 스펀지밥: 좌충우돌 대모험 +RQ4J78 = 네모바지 스펀지밥: 좌충우돌 대모험 +RQ4P78 = 네모바지 스펀지밥: 좌충우돌 대모험 +RQ5E5G = 매드 독 맥크리 건슬링거 팩 +RQ5P5G = 매드 독 맥크리 건슬링거 팩 +RQ5X5G = 매드 독 맥크리 건슬링거 팩 +RQ6EJJ = 저주받은 산 +RQ6PKM = 저주받은 산 +RQ6XKM = 저주받은 산 +RQ7E20 = 화성 패닉 +RQ7PXT = 화성 패닉 +RQ8E08 = 모토GP 08 +RQ8P08 = 모토GP 08 +RQ9E69 = NBA 라이브 09 올 플레이 +RQ9F69 = NBA 라이브 09 올 플레이 +RQ9P69 = NBA 라이브 09 올 플레이 +RQ9S69 = NBA 라이브 09 올 플레이 +RQBENR = 카와사키 쿼드 바이크스 +RQBPUG = 카와사키 쿼드 바이크스 +RQBXUG = 카와사키 쿼드 바이크스 +RQCEAF = 문차블즈 +RQCJAF = 타베몬 +RQEE6U = 아가사 크리스티: 백주의 악마 +RQEP6V = 아가사 크리스티: 백주의 악마 +RQFE6U = 금고털이: 어티밋 퍼즐 어드벤처 +RQFP6V = 금고털이 +RQGE69 = 마이심즈 레이싱 +RQGJ13 = 나와 심의 거리 레이싱 +RQGP69 = 마이심즈 레이싱 +RQIJ01 = NHK 홍백 퀴즈 전투 +RQJE7D = 크래쉬 오브 더 타이탄즈 +RQJP7D = 크래쉬 오브 더 타이탄즈 +RQJX7D = 크래쉬 오브 더 타이탄즈 +RQKE41 = 써커스 게임들 +RQKP41 = 놀이공원 파티 +RQLE64 = 스타 워즈 클론 전쟁: 공화국 영웅들 +RQLP64 = 스타 워즈 클론 전쟁: 공화국 영웅들 +RQMEVN = 오션 커맨더 +RQMPVN = 오션 커맨더 +RQNEWR = 스쿠비-두! 첫 번째 공포 +RQNPWR = 스쿠비-두! 첫 번째 공포 +RQOE69 = 스포어 히어로 +RQOJ13 = 스포어: 네가 만드는 히어로 +RQOP69 = 스포어 히어로 +RQPE52 = 카벨라의 트로피 벅스 +RQPP52 = 카벨라의 트로피 벅스 +RQPZ52 = 카벨라의 트로피 벅스 헌터 +RQQE70 = 백야드 풋볼 '09 +RQREXJ = 스카이 크롤러즈: 이노센트 에이스즈 +RQRJAF = 스카이 크롤러즈: 이노센트 에이스즈 +RQRPAF = 스카이 크롤러: 이노센트 에이스즈 +RQSE4Z = 핀볼 명예의 전당: 고틀리프 컬렉션 +RQSP6M = 고틀리프 핀볼 클래식 +RQTE6U = 아가사 크리스티: 그리고 아무도 없었다 +RQTP6V = 아가사 크리스티: 그리고 아무도 없었다 +RQUEFS = 슈퍼 픽업스 +RQVE20 = 태평양 해방자 +RQVP20 = 태평양 해방자 +RQWEG9 = 퍼즐 퀘스트: 명장들의 도전 +RQWPG9 = 퍼즐 퀘스트: 장군들의 도전 +RQXP70 = 아스테릭스: 미션 올림픽 게임 +RQYENR = 판타지 아쿠아리움 월드 +RQZE41 = 몬스터 4x4: 스턴트 레이서 +RQZP41 = 몬스터 4x4: 스턴트 레이서 +RR2ENR = 리그 레이서 2 +RR2PUG = 리그 레이서 2 +RR2XUG = 익스트림 트럭 레이싱 +RR3EA4 = 얼티밋 파티 첼린지 +RR3JA4 = 패밀리 패밀리 챌린지 Wii +RR3PA4 = 렛츠 파티! +RR4EGY = 빌드 어 베어 워크샵: 사계절의 친구 모피 +RR4PFK = 빌드 어 베어 워크샵: 사계절의 친구 모피 +RR5E70 = 레디 2 럼블 레볼루션 +RR5P70 = 레디 2 럼블 레볼루션 +RR7PVP = 레알 마드리드: 게임 +RR8PUJ = 인터내셔널 육상경기 +RR9E78 = WWE 스맥다운 vs. Raw 2009 +RRAE5Z = 락'앤'롤 어드벤처즈 +RRAPUG = 락'앤'롤 어드벤처즈 +RRAXUG = 락'앤'롤 어드벤처즈 +RRBE41 = 레이맨 엽기토끼 +RRBJ41 = 레이맨 엽기토끼 +RRBP41 = 레이맨 엽기토끼 +RRCE52 = 바비 승마 모험들: 승마 캠프 +RRCP52 = 바비 승마 모험들: 승마 캠프 +RRDE69 = 락 밴드 트랙 팩: 볼륨 2 +RRDP69 = 락 밴드 노래 팩 2 +RREE69 = 락 밴드 트랙 팩: 볼륨 1 +RREP69 = 락 밴드 노래 팩 1 +RRFEE9 = 릴 낚시: 낚시꾼의 꿈 +RRFPE9 = 릴 낚시: 낚시꾼의 꿈 +RRGE52 = 마다가스카 2: 뭉치면 산다 +RRGP52 = 마다가스카 2: 뭉치면 산다 +RRGX52 = 마다가스카 2: 뭉치면 산다 +RRHPUJ = 마리 킹의 승마 학교 2 +RRHXUJ = 마리 킹의 승마 학교 2 +RRIPTV = 페인트 작품 +RRJFMR = 레디 스테디 쿡: 게임 +RRJIMR = 레디 스테디 쿡: 게임 +RRJPMR = 레디 스테디 쿡: 게임 +RRKE70 = 어둠 속에 나 홀로 +RRKP70 = 어둠 속에 나 홀로 +RRLE78 = 브라츠: 걸즈 리얼리 락 +RRLP78 = 브라츠: 걸즈 리얼리 락 +RRLX78 = 브라츠: 걸즈 리얼리 락 +RRLY78 = 브라츠: 걸즈 리얼리 락 +RRLZ78 = 브라츠: 걸즈 리얼리 락 +RRME69 = 하스브로: 패밀리 게임 나이트 +RRMI69 = 하스브로: 패밀리 게임 나이트 +RRMP69 = 하스브로: 패밀리 게임 나이트 +RRMX69 = 하스브로: 패밀리 게임 나이트 +RRPE41 = 더 프라이스 이즈 라이트 +RRQE52 = 슈렉의 카니발 크레이즈 파티 게임들 +RRQP52 = 슈렉의 카니발 크레이즈 파티 게임들 +RRQX52 = 슈렉의 카니발 크레이즈 파티 게임들 +RRRE5Z = 리얼 히어로즈: 파이어파이터 +RRRPRM = 리얼 히어로즈: 파이어파이터 +RRSE4Q = 로빈슨 가족 +RRSJ4Q = 로빈슨 가족 윌버의 위험한 시간 여행 +RRSP4Q = 로빈슨 가족 +RRSX4Q = 로빈슨 가족 +RRTE52 = 블록 파티 20 게임들 +RRTP52 = 블록 파티! 20 게임들 +RRUFRT = 동계 스포츠 2009: 다음 도전 +RRUJJF = 동계 스포츠 2009: 다음 도전 +RRUPRT = 동계 스포츠 2009: 다음 도전 +RRVENR = 배틀 레이지: 기계 충돌 +RRVPNR = 배틀 레이지: 로봇 대전 +RRWJAF = 슈퍼 로봇 대전 NEO +RRXE5Z = 몬스터 트럭 아레나즈: 스페셜 에디션 +RRXPUG = 몬스터 트럭 아레나즈 +RRXXUG = 몬스터 트럭 아레나즈 +RRYEHG = 로그 트루퍼 +RRYPHY = 로그 트루퍼 +RRZEGY = 루빅의 세계 +RRZPGY = 루빅의 퍼즐 세계 +RS2E20 = 얼티밋 오리 사냥 +RS2EGJ = 얼티밋 오리 사냥 +RS2PGJ = 얼티밋 오리 사냥 +RS3E52 = 스파이더맨 3 +RS3J52 = 스파이더맨 3 +RS3P52 = 스파이더맨 3 +RS3X52 = 스파이더맨 3 +RS4EXS = 식신의 성 III +RS4JJF = 식신의 성 III +RS4PXS = 식신의 성 III +RS5EC8 = 사무라이 전사들: 카타나 +RS5JC8 = 전국무쌍 카타나 +RS5PC8 = 사무라이 전사들: 카타나 +RS7J01 = 아이실드 21: 필드 최강의 전사들 +RS8J8N = 상하이 +RS9E8P = 소닉 라이더스: 무중력 +RS9J8P = 소닉 라이더스: 슈팅 스타 이야기 +RS9P8P = 소닉 라이더스: 무중력 +RSAE78 = 스펀지밥 - 아틀란티스 +RSAP78 = 스펀지밥 - 아틀란티스 +RSBE01 = 대난투 스매시 브라더스 X +RSBJ01 = 대난투 스매시 브라더스 X RSBK01 = 대난투 스매시 브라더스 +RSBP01 = 대난투 스매시 브라더스 X +RSCD7D = 스카페이스: 세상은 너의 것 +RSCE7D = 스카페이스: 세상은 너의 것 +RSCP7D = 스카페이스: 세상은 너의 것 +RSCU7D = 스카페이스: 세상은 너의 것 +RSDJAF = SD 건담: 스캐드 해머스 +RSEJGD = 소울 이터: 모노톤 공주 +RSFE7U = 무라마사: 데몬 블레이드 +RSFJ99 = 오보로 무라마사 +RSFP99 = 무라마사: 데몬 블레이드 +RSHE69 = 마이심즈 왕국 +RSHJ13 = 마이심즈 왕국 RSHK69 = 마이 심즈 심들의 왕국 -RSLKAF = 소울 칼리버 레전즈 +RSHP69 = 마이심즈 왕국 +RSIE69 = 마이심즈 +RSIJ13 = 마이심즈 +RSIP69 = 마이심즈 +RSJE41 = 파검: 기사단의 그림자 (감독판) +RSJP41 = 파검: 기사단의 그림자 (감독판) +RSKE52 = 슈렉 3 +RSKP52 = 슈렉 3 +RSKX52 = 슈렉 3 +RSLEAF = 소울 칼리버: 전설들 +RSLJAF = 소울 칼리버: 전설들 +RSLKAF = 소울칼리버: 전설들 +RSLPAF = 소울 칼리버: 전설들 +RSME8P = 슈퍼 몽키 볼: 바나나 블리츠 +RSMJ8P = 슈퍼 몽키 볼: 우키 우키 파티 대집합 +RSMP8P = 슈퍼 몽키 볼: 바나나 블리츠 +RSND69 = 심슨가족 게임 +RSNE69 = 심슨가족 게임 +RSNF69 = 심슨가족 게임 +RSNP69 = 심슨가족 게임 +RSNX69 = 심슨가족 게임 +RSOE4Z = 솔리테르 & 마작 +RSOP4Z = 솔리테르 & 마작 +RSPE01 = Wii 스포츠 +RSPJ01 = Wii 스포츠 RSPK01 = Wii 스포츠 +RSPP01 = Wii 스포츠 +RSPW01 = Wii 스포츠 +RSQEAF = 위 스키 +RSQJAF = 패밀리 스키 +RSQPAF = 패밀리 스키 +RSRE8P = 소닉과 비밀의 링 +RSRJ8P = 소닉과 비밀의 링 +RSRP8P = 소닉과 비밀의 링 +RSSEH4 = 사무라이 쇼다운 엔솔로지 +RSSJH4 = 사무라이 스피리츠 6번의 승부 RSSK52 = 사무라이 스피리츠 6번의 승부 +RSSP7U = 사무라이 쇼다운 엔솔로지 +RSTE64 = 스타 워즈: 해방된 포스 +RSTJ52 = 스타 워즈: 해방된 포스 +RSTP64 = 스타 워즈: 해방된 포스 +RSUENR = 동계 스포츠: 파라다이스 섬 +RSUP41 = 스포츠 파티 +RSVE8P = 소닉 언리쉬드 +RSVJ8P = 소닉 세계 모험 +RSVP8P = 소닉 언리쉬드 +RSWE08 = 스파이 보르그스 +RSWP08 = 스파이 보르그스 +RSXE69 = SSX 블러 +RSXJ13 = SSX 블러 RSXK69 = SSX 블러 -RT8K69 = 타이거 우즈 PGA Tour 08 +RSXP69 = SSX 블러 +RSYE20 = 쇼타임 챔피언쉽 권투 +RSYP7J = 쇼타임 챔피언쉽 권투 +RSZJES = 설녀대선풍: 사유키와 코유키의 꽁꽁 대소동 +RSZPGT = 사유키의 전설 +RT2E20 = 나누와 실라의 대모험 +RT2P7J = 나누와 실라의 대모험 +RT3E54 = 락스타 게임즈 제공: 탁구 +RT3JEL = 락스타 게임즈 제공: 탁구 +RT3P54 = 락스타 게임즈 제공: 탁구 +RT4EAF = 테일즈 오브 심포니아: 라타토스크의 기사 +RT4JAF = 테일즈 오브 심포니아: 라타토스크의 기사 +RT4PAF = 테일즈 오브 심포니아: 라타토스크의 기사 +RT5E8P = 세가 슈퍼스타즈 테니스 +RT5P8P = 세가 슈퍼스타즈 테니스 +RT6FKM = 두갈: 마법의 회전목마 +RT6PKM = 두갈: 마법의 회전목마 +RT7E69 = 타이거 우즈 PGA 투어 07 +RT7F69 = 타이거 우즈 PGA 투어 07 +RT7P69 = 타이거 우즈 PGA 투어 07 +RT8E69 = 타이거 우즈 PGA 투어 08 +RT8J13 = 타이거 우즈 PGA 투어 골프 08 +RT8K69 = 타이거 우즈 PGA 투어 08 +RT8P69 = 타이거 우즈 PGA 투어 08 +RT9E52 = 토니 호크의 프로빙 그라운드 +RT9P52 = 토니 호크의 프로빙 그라운드 +RTAE41 = 톰 클랜시의 H.A.W.X. 2 +RTAP41 = 톰 클랜시의 H.A.W.X. 2 +RTBE52 = 라팔라의 낚시 프렌지 +RTBP52 = 라팔라의 낚시 프렌지 +RTCE41 = 톰 클랜시의 스플린터 셀: 더블 에이전트 +RTCP41 = 톰 클랜시의 스플린터 셀: 더블 에이전트 +RTDE6K = 원숭이 왕: 전설의 시작 +RTDJES = 신중화대선 ~마이클과 메이메이의 모험~ RTDK8M = 신중화대선 ~마이클과 메이메이의 모험~ -RTFK52 = 트랜스포머: 더 게임 -RTKK8M = 모두 함께~ 타코롱 +RTEE78 = 파우스 & 클라우스 : 애완동물 수의사 +RTEHMR = 실제 이야기들: 수의사 +RTEPFR = 나의 수의사 연습 +RTFE52 = 트랜스포머즈: 게임 +RTFJ52 = 트랜스포머즈: 게임 +RTFK52 = 트랜스포머즈: 더 게임 +RTFP52 = 트랜스포머즈: 게임 +RTFX52 = 트랜스포머즈: 게임 +RTFY52 = 트랜스포머즈: 게임 +RTGJ18 = 엄선 테이블 게임 Wii +RTHE52 = 토니 호크의 다운힐 잼 +RTHP52 = 토니 호크의 다운힐 잼 +RTIE8P = 와키: 스포츠의 세계 +RTIJ8P = 진기한 스포츠 +RTIP8P = 와키 - 스포츠의 세계 +RTJE68 = 스타 트랙: 정복 +RTJP68 = 스타 트랙: 정복 +RTKE5Z = 옥토매니아 +RTKJDQ = 모두 함께~☆ 타코롱 +RTKK8M = 모두 함께~☆ 타코롱 +RTLE18 = 낚시 마스터: 월드 투어 +RTLJ18 = 노려라! 낚시 마스터 - 세계에 도전편 +RTLP18 = 낚시 마스터: 월드 투어 +RTME41 = TMNT: 돌연변이 닌자 거북 +RTMP41 = TMNT: 돌연변이 닌자 거북 +RTNE41 = 천추: 그림자 암살자들 +RTNJCQ = 천추 4 +RTNP41 = 천추: 그림자 암살자들 +RTOJ8P = 428: 봉쇄된 시부야에서 +RTPP41 = 탑 트럼프 어드벤처 +RTQENR = 몬스터 트럭 오프로드 +RTQPUG = 몬스터 트럭 오프로드 +RTQXUG = 몬스터 트럭 오프로드 +RTRE18 = 낚시 마스터 +RTRJ18 = 노려라!! 낚시 마스터 +RTRP18 = 낚시 마스터 +RTSEVN = 말괄량이 삼총사! 전적으로 파티 +RTSP41 = 말괄량이 삼총사! 전적으로 파티 +RTTJAF = 다마고치의 후리후리 가극단! +RTUEJJ = 비밀 파일: 퉁구스카 +RTUFKM = 비밀 파일: 퉁구스카 +RTUPKM = 비밀 파일: 퉁구스카 +RTVE64 = 스릴빌: 오프 더 레일즈 +RTVP64 = 스릴빌: 오프 더 레일즈 +RTWE5D = TNA 임팩트! +RTWP5D = TNA 임팩트! +RTYP01 = Wii 체스 +RTZE08 = 잭 & 위키: 발바로스의 보물 모험 +RTZJ08 = 보물섬 Z 발바로스의 보물 RTZK08 = 잭 & 위키: 발바로스의 보물 -RUSK78 = 스폰지밥과 친구들 +RTZP08 = 잭 & 위키: 발바로스의 보물 모험 +RU2E5Z = 동계 스포츠 2: 다음 도전 +RU2P5Z = 동계 스포츠 2: 다음 도전 +RU3E5Z = 하계 육상경기: 궁극의 도전 +RU4E41 = 나의 피트니스 코치 2: 운영 & 영양 +RU4P41 = 뉴유 피트니스 첫 개인 트레이너 +RU4X41 = 뉴유 피트니스 첫 개인 트레이너 +RU5E4Q = 디즈니: 공주들과 개구리 +RU5P4Q = 디즈니: 공주들과 개구리 +RU5V4Q = 디즈니: 공주들과 개구리 +RU5X4Q = 디즈니: 공주들과 개구리 +RU5Y4Q = 디즈니: 공주와 개구리 (리버보트 째즈 에디션) +RU6EHG = 프리 런닝 +RU6PHY = 프리 런닝 +RU7E5G = 박물관이 살아있다: 스미스소니언의 전투 - 비디오 게임 +RU7X5G = 박물관이 살아있다: 스미스소니언의 전투 - 비디오 게임 +RU8EFS = 배스 프로 샵스: 사냥 +RU9EGT = 나의 발레 스튜디오 +RU9PGT = 디바 걸즈: 디바 발레리나 +RUAE52 = 몬스터 잼: 도시 공격 +RUAP52 = 몬스터 잼: 도시 공격 +RUBEVN = 얼티밋 보드 게임 컬렉션 +RUBP7N = 얼티밋 보드 게임 컬렉션 +RUCE5Z = 동계 스포츠: 얼티밋 첼린지 +RUCPRT = 동계 스포츠 2008: 얼티밋 첼린지 +RUCXRT = 동계 스포츠 2008: 얼티밋 첼린지 +RUEE4Q = G-포스 +RUEP4Q = G-포스 +RUER4Q = G-포스 +RUEX4Q = G-포스 +RUEY4Q = G-포스 +RUFEMV = 룬 팩토리: 프론티어 +RUFJ99 = 룬 팩토리: 프론티어 +RUFP99 = 룬 팩토리: 프론티어 +RUGE7T = 소름: 호러랜드 +RUGP5G = 소름: 호러랜드 +RUHE52 = 바쿠간 배틀 브롤러즈 +RUHP52 = 바쿠간 배틀 브롤러즈 +RUHX52 = 바쿠간 배틀 브롤러즈 (토이저러스 에디션) +RUHZ52 = 바쿠간 배틀 브롤러즈 +RUIE4Q = 디즈니: 싱 잇 +RUIP4Q = 디즈니: 싱 잇 +RUIX4Q = 디즈니: 싱 잇 +RUKEGT = 롤링 스톤: 드럼왕 +RUKPGT = 위 락: 드럼왕 +RULE4Q = 얼티밋 밴드 +RULP4Q = 얼티밋 밴드 +RULR4Q = 얼티밋 밴드 +RUME5Z = 스키 & 샷 +RUMPFR = 하계 운동경기 +RUNJ0Q = 새로운 우뇌 키즈 Wii +RUOEPL = 다락방 외계인 +RUOPPL = 다락방 외계인 +RUPJC8 = 위닝 포스트 7 맥시멈 2008 +RUQD78 = 업 +RUQE78 = 업 +RUQI78 = 업 +RUQJJE = 칼 할아버지의 하늘을 나는 집 +RUQP78 = 업 +RUQS78 = 업 +RUQX78 = 업 +RUREPL = 당구 홀 프로 +RURPPL = 당구 홀 프로 +RUSE78 = 스폰지밥과 친구들: 운명의 물방울 +RUSK78 = 스폰지밥과 친구들: 운명의 물방울 +RUSP78 = 스폰지밥과 친구들: 운명의 물방울 +RUSX78 = 스폰지밥과 친구들: 운명의 물방울 +RUSY78 = 스폰지밥과 친구들: 운명의 물방울 +RUUE01 = 타운으로 놀러가요 동물의 숲 +RUUJ01 = 타운으로 놀러가요 동물의 숲 RUUK01 = 타운으로 놀러가요 동물의 숲 +RUUP01 = 타운으로 놀러가요 동물의 숲 +RUWJC8 = 위닝 포스트 월드 +RUXPUG = 어반 익스트림: 스트리트 레이지 +RUXXUG = 어반 익스트림: 스트리트 레이지 +RUYE41 = 노 모어★히어로즈 2: 혈투 +RUYJ99 = 노 모어★히어로즈 2: 혈투 +RUYP99 = 노 모어★히어로즈 2: 혈투 +RUZE7T = 얼티밋 아이 스파이 +RUZP5G = 얼티밋 아이 스파이 +RV2E5D = 게임 파티 2 +RV2P5D = 모어 게임 파티 +RV3P6N = 영리한 아이들: 소름끼치는 크롤리즈 +RV7SMR = 생존자 +RV8E20 = 비치 펀: 하계 도전 +RV8PRT = 비치 펀: 하계 도전 +RV9E78 = 아바타: 최후의 에어벤더 - 화염 속으로 +RV9P78 = 아바타: 앙의 전설 - 화염 속으로 +RVAE78 = 아바타: 최후의 에어벤더 - 불타는 대지 +RVAP78 = 아바타: 앙의 전설 - 불타는 대지 +RVBERS = 앨빈과 슈퍼밴드 +RVBPRS = 앨빈과 슈퍼밴드 +RVDPLG = 디아볼릭: 원죄 +RVEFMR = 알로, 슈티 +RVFE20 = 빅풋: 충돌 진로 +RVFP7J = 빅풋: 충돌 진로 +RVGE78 = 머브 그리핀의 십자말풀이 +RVGP78 = 마곳의 워드 브레인 +RVHP41 = 스크래블 인터렉티브: 2009 에디션 +RVIE4F = 바이오니클 히어로즈 +RVIP4F = 바이오니클 히어로즈 +RVJPFR = 소 블론드: 백 투 더 아일랜드 +RVKEXJ = 발할라 나이츠: 엘더 사가 +RVKJ99 = 발할라 나이츠: 엘더 사가 RVKKZA = 발할라 나이츠: 엘더 사가 +RVKP99 = 발할라 나이츠: 엘더 사가 +RVLPA4 = 락 레볼루션 +RVNE20 = 캘빈 터커스의 레드넥 잼보리 +RVNP7J = 캘빈 터커스의 레드넥 잼보리 +RVOEPL = 현기증 +RVOPPL = 현기증 +RVPEFS = 팝스타 기타 +RVPPFS = 팝스타 기타 +RVQE41 = 영화 게임들 +RVQP41 = 무비 스튜디오즈 파티 +RVREFS = 레벨 레이더즈: 작전명 나이트호크 +RVRPKG = 레벨 레이더즈: 작전명 나이트호크 +RVSE69 = 스케이트 잇 +RVSJ13 = 스케이트 잇 +RVSP69 = 스케이트 잇 +RVTFMR = 실제 이야기들: 수의학 +RVTPMR = 나의 애완동물 세상 +RVTXMR = 실제 이야기들: 수의학 +RVUE8P = 버추어 테니스 2009 +RVUP8P = 버추어 테니스 2009 +RVVE78 = 빅 비치 스포츠 +RVVP78 = 빅 비치 스포츠 +RVXFRT = RTL 바이애슬론 2009 +RVXPRT = RTL 바이애슬론 2009 +RVYD52 = 콜 오브 듀티: 월드 앳 워 +RVYE52 = 콜 오브 듀티: 월드 앳 워 RVYK52 = 콜 오브 듀티: 월드 앳 워 +RVYP52 = 콜 오브 듀티: 월드 앳 워 +RVYX52 = 콜 오브 듀티: 월드 앳 워 +RVYY52 = 콜 오브 듀티: 월드 앳 워 +RVZE52 = 몬스터들 vs. 외계인들 +RVZP52 = 몬스터들 vs. 외계인들 +RW3E4Q = 캐리비언의 해적: 세상의 끝에서 +RW3J4Q = 캐리비언의 해적: 세상의 끝에서 +RW3P4Q = 캐리비언의 해적: 세상의 끝에서 +RW4D41 = 내 단어 코치: 어휘 향상 +RW5F41 = 백만장자가되고 싶은 사람: 2 번째 에디션 +RW5P41 = 백만장자가되고 싶은 사람: 2 번째 에디션 +RW6PA4 = 댄스 댄스 레볼루션: Winx 클럽 +RW7E41 = 숀 화이트 스노우보딩: 로드 트립 - 타겟 리미티드 에디션 +RW8P41 = 이미진 챔피언 라이더 +RW9P78 = WWE 스맥다운 vs. Raw 2009 +RW9X78 = WWE 스맥다운 vs. Raw 2009 +RWAD78 = 월•E +RWAE78 = 월•E +RWAJ78 = 월•E RWAK78 = 월•E +RWAP78 = 월•E +RWAR78 = 월•E +RWAU78 = 월•E +RWAX78 = 월•E +RWAY78 = 월•E +RWAZ78 = 월•E +RWBENR = 카와사키 스노우 모빌 +RWBXUG = 카와사키 스노우 모빌 +RWCE4Z = 핀볼 명예의 전당: 윌리엄스 컬렉션 +RWCP6M = 윌리엄스 핀볼 클래식 +RWDE5G = 와일드 어스: 아프리칸 사파리 +RWDP5G = 와일드 어스: 아프리칸 사파리 +RWEEA4 = 프로 에볼루션 축구 2008 +RWEJA4 = 위닝 일레븐 플레이 메이커 2008 +RWEPA4 = 프로 에볼루션 축구 2008 +RWFH41 = 나의 단어 코치: 어휘 향상 +RWGE08 = 우리는 골프를 사랑해요! +RWGJ08 = 우리는 골프를 사랑해요! +RWGP08 = 우리는 골프를 사랑해요! +RWHP4F = 탑 트럼프: 닥터 후 +RWIE18 = 날개 섬 +RWIJ18 = 날개 섬 +RWIP18 = 날개 섬 +RWJENR = 워드종 파티 +RWKE5G = 쿠킹 마마: 월드 키친 +RWKPGT = 쿠킹 마마 2: 월드 키친 +RWLE01 = 와리오 랜드: 쉐이크 잇! +RWLJ01 = 와리오 랜드 쉐이크 RWLK01 = 와리오 랜드 쉐이킹 +RWLP01 = 와리오 랜드: 쉐이크 디멘젼 +RWME78 = 웜즈: 스페이스 오디티 +RWMP78 = 웜즈: 스페이스 오디티 +RWNF70 = 경고: 교통법규 +RWOE69 = 모노폴리 +RWOJ13 = 모노폴리 +RWOP69 = 모노폴리 +RWQPSP = WSC 리얼 08: 월드 스누커 챔피언쉽 +RWRE4F = 와키 레이스: 크래쉬 & 대쉬 +RWRP4F = 와키 레이스: 크래쉬 & 대쉬 +RWSE8P = 마리오와 소닉 베이징 올림픽 +RWSJ01 = 마리오와 소닉 베이징 올림픽 RWSK01 = 마리오와 소닉 베이징 올림픽 -RX9K69 = 니드포스피드 언더커버 +RWSP8P = 마리오와 소닉 베이징 올림픽 +RWTEG9 = 벤 10: 에일리언 포스 +RWTPG9 = 벤 10: 에일리언 포스 +RWUE52 = 엑스맨 탄생: 울버린 +RWUP52 = 엑스맨 탄생: 울버린 +RWUX52 = 엑스맨 탄생: 울버린 +RWWE78 = WWE 스맥다운 vs. Raw 2008 +RWWJ78 = WWE 스맥다운 vs. Raw 2008 +RWWP78 = WWE 스맥다운 vs. Raw 2008 +RWWX78 = WWE 스맥다운 vs. Raw 2008 +RWXES5 = 용기: 전사의 이야기 +RWXPS5 = 용기: 전사의 이야기 +RWYPHH = 런어웨이: 거북이의 꿈 +RWZE5G = 환상의 나라 놀이 공원 +RWZP5G = 환상의 나라 놀이 공원 +RWZX5G = 환상의 나라 놀이 공원 +RX2E70 = 나의 말과 나: 금메달을 위한 승마 +RX2P70 = 나의 말과 나 2 +RX3E01 = 익사이트보츠: 트릭 레이싱 +RX3J01 = 익사이트: 사나운 경주용 자동차 +RX4E4Z = 캐스퍼의 공포 학교: 으스스한 운동회 날 +RX4PMT = 캐스퍼의 공포 학교: 으스스한 운동회 날 +RX5E52 = 토니 호크: 라이드 +RX5P52 = 토니 호크: 라이드 +RX6E78 = 도전! FAT 제로 +RX6P78 = 도전! FAT 제로 +RX7JGD = 소령의 위엄있는 행진 +RX8JA4 = 실황 파워풀 프로 야구 넥스트 +RX9E69 = 니드 포 스피드: 언더커버 +RX9J13 = 니드 포 스피드: 언더커버 +RX9K69 = 니드 포 스피드: 언더커버 +RX9P69 = 니드 포 스피드: 언더커버 +RX9X69 = 니드 포 스피드: 언더커버 +RX9Y69 = 니드 포 스피드: 언더커버 +RXAE78 = WWE 스맥다운 vs. Raw 2010 +RXAP78 = WWE 스맥다운 vs. Raw 2010 +RXBE70 = 백야드 야구 '10 +RXCE4Z = 데이브 미라 BMX 도전 +RXCPGT = 데이브 미라 BMX 도전 +RXDD4Q = 씽크 패스트: 얼티밋 트리비아 쇼다운 +RXDE4Q = 씽크 패스트: 얼티밋 트리비아 쇼다운 +RXDJ4Q = 씽크 패스트: 버튼 빨리 누르기 퀴즈 +RXDP4Q = 씽크 패스트: 얼티밋 트리비아 쇼다운 +RXDR4Q = 씽크 패스트: 얼티밋 트리비아 쇼다운 +RXDX4Q = 씽크 패스트: 얼티밋 트리비아 쇼다운 +RXDY4Q = 씽크 패스트: 얼티밋 트리비아 쇼다운 +RXEJDA = 메이저 Wii 완벽한 최종회 +RXFEVN = 연안의 타이쿤 +RXGE6K = 지온 큐브 +RXGP6K = 지온 큐브 +RXHF5D = 혼돈의 집 +RXIE52 = 트랜스포머즈: 패자의 역습 +RXIP52 = 트랜스포머즈: 패자의 역습 +RXJJDA = 인생 게임 Wii EX +RXKEGL = TV 쇼 킹 파티 +RXKFGL = TV 쇼 킹 파티 +RXKPGL = TV 쇼 킹 파티 +RXLE41 = 그레이스 애너토미: 비디오 게임 +RXLP41 = 그레이스 애너토미: 비디오 게임 +RXMJ8P = 미부리 & 테부리 +RXNEXS = 다시 낚았다: 리얼 모션 낚시 +RXNJJF = 배스 낚시 Wii 월드 토너먼트 +RXNPGT = 빅 캐치 배스 낚시 2 +RXPEXS = 낚았다!: 리얼 모션 낚시 +RXPJJF = 배스 낚시 Wii - 로쿠마루 전설 +RXPPGT = 빅 캐치 배스 낚시 +RXQEWR = 괴물들이 사는 나라 +RXQPWR = 괴물들이 사는 나라 +RXRERS = 작은 영웅 데스페로 +RXRPRS = 작은 영웅 데스페로 +RXRXRS = 작은 영웅 데스페로 +RXSPA4 = 댄싱 스테이지: 가장 인기있는 파티 +RXUE41 = 서핑 업 +RXUP41 = 서핑 업 +RXUX41 = 서핑 업 +RXVXWP = TV 7 게임: 크로스 워드 +RXWE20 = M&M의 해변 파티 +RXXE4Q = 스펙트로브스: 오리진스 +RXXJ4Q = 스펙트로브스: 오리진스 +RXXP4Q = 스펙트로브스: 오리진스 +RXYE4Z = 퍼즐 도전: 십자말풀이 외. +RXYP4Z = 퍼즐 도전: 십자말풀이 외. +RXZE52 = 카벨라의 위험한 사냥 2009 +RXZP52 = 카벨라의 위험한 모험 +RY2E41 = 레이맨 엽기토끼 2 +RY2J41 = 래빗츠 파티 리턴즈 RY2K41 = 래이맨 엽기토끼 2 +RY2P41 = 레이맨 엽기토끼 2 +RY2R41 = 레이맨 엽기토끼 2 +RY3E41 = 레이맨 엽기토끼 TV 파티 +RY3J41 = 래빗츠 파티 TV 파티 RY3K41 = 래이맨 엽기토끼 TV파티 +RY3P41 = 레이맨 엽기토끼 TV 파티 +RY4J8P = 뿌요 뿌요 7 +RY5E52 = 빅 리그 스포츠: 하계 +RY5P52 = 세계 챔피언쉽 스포츠: 하계 +RY6EA4 = 걸어봐! +RY6PA4 = 박자에 맞춰 발을 움직여봐 +RY7PHZ = 닌자 캡틴 +RY8EFS = 배스 프로 샵스: 스트라이크 +RY9E69 = 피파 09 올 플레이 +RYAJDA = 얏타맨 Wii 깜짝 깜짝 머신으로 맹 레이스다 코론 +RYBE69 = 붐 블록스: 배쉬 파티 +RYBP69 = 붐 블록스: 배쉬 파티 +RYDELT = 애완동물 친구들: 동물 의사 +RYDP6V = 애완동물 친구들: 동물 의사 +RYEEEB = 101 합 1 파티 메가믹스 +RYEPHZ = 101 합 1 파티 메가믹스 +RYGE9B = 라이가: 아르고스의 전사 +RYGJ9B = 아르고스의 전사 머슬 임팩트 +RYGP99 = 라이가: 아르고스의 전사 +RYHES5 = 루구: 뒤틀린 탑들 +RYHPS5 = 루구: 뒤틀린 탑들 +RYIE9B = 스프레이 +RYIPNK = 스프레이 +RYJPTV = 릴리피 공주의 마법 요정 +RYKEAF = 위 스키 & 스노우보드 +RYKJAF = 패밀리 스키: 월드 스키 & 스노우보드 RYKK01 = 패밀리 스키 & 스노보드 +RYKPAF = 패밀리 스키 & 스노우보드 +RYLDSV = 독일의 넥스트 탑 모델 +RYLPSV = 탑 모델 아카데미 +RYNE6U = 강인한 소년들: 숨겨진 도둑 +RYNP6V = 강인한 소년들: 숨겨진 도둑 +RYOEA4 = 유희왕! 5D: 휠리 브레이커즈 +RYOJA4 = 유희왕! 5D: 휠리 브레이커즈 +RYOPA4 = 유희왕! 5D: 휠리 브레이커즈 +RYQE69 = 트리비얼 퍼슈트 +RYQP69 = 트리비얼 퍼슈트 +RYQX69 = 트리비얼 퍼슈트 +RYRE41 = 유어 쉐이프 +RYRP41 = 유어 쉐이프 +RYTE4Z = PBR: 날개없는 추락 +RYVJMS = 일벨로Wii +RYWE01 = Wii로 다함께! 말랑말랑 두뇌교실 +RYWJ01 = Wii로 다함께! 말랑말랑 두뇌교실 RYWK01 = Wii로 다함께! 말랑말랑 두뇌교실 -RZDK01 = 젤다의 전설- 황혼의 공주 -RZPK01 = 링크의 사격트레이닝 -RZTK01 = 위 스포츠 리조트 -S7AKZA = 레고 배트맨 2 -SB4K01 = 갤럭시 어드벤쳐 투게더 +RYWP01 = Wii로 다함께! 말랑말랑 두뇌교실 +RYXE20 = 야마하 슈퍼크로스 +RYXP7J = 야마하 슈퍼크로스 +RYZE6U = 세계 파티 게임들 +RYZPTV = 플레이 월드 +RZ2JG9 = 심플 Wii 시리즈 볼륨 1: 모두의 카트 레이스 +RZ3JG9 = 심플 Wii 시리즈 볼륨 2: 모두의 배스 낚시대회 +RZ4JG9 = 심플 Wii 시리즈 볼륨 3: 놀면서 배우는 파티 카지노 +RZ5JG9 = 심플 Wii 시리즈 볼륨 4: 슈팅 액션 +RZ6JG9 = 심플 Wii 시리즈 볼륨 5: 블록 허물기 +RZ7JG9 = 심플 Wii 시리즈 볼륨 6: 와글 와글 컴뱃 +RZ8JG9 = 심플 2000 시리즈 Wii 볼륨 1: 테이블 게임 +RZ9EG9 = 패밀리 파티: 30 그레이트 게임즈 +RZ9JG9 = 심플 2000 시리즈 Wii 볼륨 2: 파티 게임 +RZ9PG9 = 패밀리 파티: 30 그레이트 게임즈 +RZAPTV = 성공적인 초등학교 파워 수학 +RZCE6K = 세인트 +RZDE01 = 젤다의 전설: 황혼의 공주 +RZDJ01 = 젤다의 전설: 황혼의 공주 +RZDK01 = 젤다의 전설: 황혼의 공주 +RZDP01 = 젤다의 전설: 황혼의 공주 +RZEE52 = 사이언스 파파 +RZEP52 = 사이언스 파파 +RZFPKM = 시크릿 파일 2: 퓨리타스 코르디스 +RZHE5G = 동물원 병원 +RZHP5G = 동물원 병원 +RZHX5G = 동물원 병원 +RZIE20 = 동계 스포츠 3: 위대한 토너먼트 +RZIPRT = 동계 스포츠 2010: 위대한 토너먼트 +RZJD69 = 데드 스페이스: 적출 +RZJE69 = 데드 스페이스: 적출 +RZJJ13 = 데드 스페이스: 적출 +RZJP69 = 데드 스페이스: 적출 +RZKE20 = 퍼즐 왕국 +RZKP7J = 퍼즐 왕국 +RZLE41 = 요리 대전 +RZLP41 = 쿡오프 파티 +RZNJ01 = 참격의 레긴레이브 +RZOE78 = 동물원 세상 +RZOP78 = 동물원 세상 +RZPE01 = 링크의 사격 트레이닝 +RZPJ01 = 링크의 사격 트레이닝 +RZPK01 = 링크의 사격 트레이닝 +RZPP01 = 링크의 사격 트레이닝 +RZREGT = 조로의 운명 +RZRPGT = 조로의 운명 +RZSEGJ = 스피드 존 +RZSP68 = 휠스핀 +RZTE01 = Wii 스포츠 리조트 +RZTJ01 = Wii 스포츠 리조트 +RZTK01 = Wii 스포츠 리조트 +RZTP01 = Wii 스포츠 리조트 +RZTW01 = Wii 스포츠 리조트 +RZUE4Z = 크레욜라 컬러풀한 여행 +RZYE41 = 내 단어 코치 +RZYF41 = 내 단어 코치: 어휘 향상 +RZYP41 = 내 단어 코치: 어휘 향상 +RZYS41 = 내 단어 코치: 어휘 향상 +RZZE8P = 매드월드 +RZZJEL = 매드월드 +RZZP8P = 매드월드 +S22JAF = 패밀리 피싱 +S22K01 = 패밀리 피싱 +S25JGD = 드래곤 퀘스트 25 컬렉션: 패미컴 & 슈퍼 패미컴 드래곤 퀘스트 I-II-III +S26PML = 2 합 1: 조랑말 친구들 2 + 나의 마구간: 말들과 함께 생활 +S2AEAF = 활동적인 생활: 탐험가 +S2AJAF = 다함께 모험! 패밀리 트레이너 +S2APAF = 패밀리 트레이너: 보물 모험 +S2BEPZ = 컨트리 댄스 2 +S2BPXT = 컨트리 댄스 2 +S2CE54 = 새로운 축제 게임들 +S2CP54 = 새로운 축제 유원지 게임들 +S2DPML = 댄스! 그것은 너의 무대야 +S2EE41 = ABBA: 유 캔 댄스 +S2EP41 = ABBA: 유 캔 댄스 +S2HE70 = 유령의 집 +S2HP70 = 유령의 집 +S2IE8P = 아이언맨 2 +S2IP8P = 아이언맨 2 +S2IZ8P = 아이언맨 2: 월마트 에디션 +S2LE01 = 포켓파크 2: 세상의 저편 +S2LJ01 = 포켓파크 2: 세상의 저편 +S2LP01 = 포켓파크 2: 세상의 저편 +S2ME69 = 매든 NFL 13 +S2OEFS = 배스 프로 샵스: 스트라이크 - 토너먼트 에디션 +S2PEA4 = 프로 에볼루션 싸커 2012 +S2PJA4 = 위닝 일레븐 플레이 메이커 2012 +S2PPA4 = 프로 에볼루션 싸커 2012 +S2PXA4 = 프로 에볼루션 싸커 2012 +S2PYA4 = 프로 에볼루션 싸커 2012 +S2RPNK = 리로드 +S2TJAF = 태고의 달인 Wii 도돈과 2대목! +S2UE41 = 저스트 댄스 2020 +S2UP41 = 저스트 댄스 2020 +S2VEG9 = 빅토리어스: 토킹 더 리드 +S2VPAF = 빅토리어스: 토킹 더 리드 +S2WE78 = WWE 올 스타즈 +S2WP78 = WWE 올 스타즈 +S2XE41 = 스머프 2 +S2XP41 = 스머프 2 +S2YE52 = 와이프아웃: 크리에이트 & 크래쉬 +S2ZE52 = 주주펫츠: 피처링 와일드 번치 +S2ZP52 = 주주펫츠: 피처링 와일드 번치 +S32DJW = 독일의 보이스: 당신을 원해요 +S32FJW = 보이스: 가장 아름다운 목소리 +S32PJW = 보이스 +S32SJW = 보이스: 너의 목소리를 원해 +S33DKM = 렛츠 싱 2017: 독일의 히츠! +S33FKM = 렛츠 싱 2017: 프랑스와 인터내셔널 히츠 +S33PKM = 렛츠 싱 2017 +S33SKM = 렛츠 싱 9: 스페인어 버전 +S34DKM = 렛츠 싱 2018: 독일 히츠! +S34FKM = 렛츠 싱 2018: 프랑스와 인터내셔널 히트 +S34PKM = 렛츠 싱 2018 +S34SKM = 렛츠 싱 10 +S3AE5G = 영화들의 공격 3D +S3APGT = 영화들의 공격 3D +S3BEWR = 배트맨: 용기와 대담 +S3BPWR = 배트맨: 용기와 대담 +S3CENR = 트리플 크라운 챔피언쉽 스노우보딩 +S3DE18 = 데카 스포츠 3 +S3DJ18 = 데카 스포르타 3 +S3DP18 = 스포츠 아일랜드 3 +S3EE78 = 바비 제트, 세트, 스타일! +S3EP78 = 바비 제트, 세트, 스타일! +S3FE69 = 피파 13 +S3FP69 = 피파 13 +S3FX69 = 피파 13 +S3GE20 = 빙하 3: 멜트다운 +S3GPXT = 빙하 3 +S3HJ08 = 전국 바사라 3 연회 +S3IEA4 = 프로 에볼루션 싸커 2013 +S3IPA4 = 프로 에볼루션 싸커 2013 +S3IXA4 = 프로 에볼루션 싸커 2013 +S3IYA4 = 프로 에볼루션 싸커 2013 +S3LPY1 = 앤드류 로이드 웨버 뮤지컬: 싱 앤 댄스 +S3ME69 = 심즈 3 +S3MP69 = 심즈 3 +S3PE4Q = 디즈니 공주: 나의 동화 모험 +S3PP4Q = 디즈니 공주: 나의 동화 모험 +S3PX4Q = 디즈니 공주: 나의 동화 모험 +S3RJMS = 트윙클 퀸 +S3SJ18 = 카라오케 조이사운드 Wii 슈퍼 DX: 혼자서 모든 노래를 마음껏! +S3TJAF = 태고의 달인 Wii 모두 함께 파티 ☆ 3대목! +S3WEG9 = 패밀리 파티: 30 그레이트 게임즈 윈터 펀 +S3WPG9 = 패밀리 파티: 30 그레이트 게임즈 윈터 펀 +S3ZE52 = 맨 인 블랙: 에일리언 크라이시스 +S3ZP52 = 맨 인 블랙: 에일리언 크라이시스 +S4MJGD = 드래곤 퀘스트 X - 자명종 다섯 종족 온라인 +S4SJGD = 드래곤 퀘스트 X - 잠자는 용사와 인도의 동지 온라인 +S59E01 = 사무라이 전사 3 +S59JC8 = 전국무쌍 3 +S59P01 = 사무라이 전사 3 +S5BETL = 백 투 더 퓨쳐: 게임 +S5BPKM = 백 투 더 퓨쳐: 게임 +S5DE41 = 저스트 댄스 디즈니 파티 2 +S5DP41 = 저스트 댄스 디즈니 파티 2 +S5EE41 = 저스트 댄스 2019 +S5EP41 = 저스트 댄스 2019 +S5KJAF = 태고의 달인 WII 초호화판 +S5MEVZ = 몬스터 하이 : 학교의 새로운 구울 +S5MPVZ = 몬스터 하이 : 학교의 새로운 구울 +S5PPAU = PSA 월드 투어 스쿼시 +S5QJC8 = 전국무쌍 3 무쌍전 +S5RESZ = 램 레이싱 +S5RPNJ = 램 레이싱 +S5SJHF = 이나즈마 일레븐 Go 스트라이커즈 2013 +S5TEG9 = 벤 10: 옴니버스 +S5TPAF = 벤 10: 옴니버스 +S5WE20 = 50 경기내에 세계 일주 +S6BE4Q = 브레이브: 비디오 게임 +S6BP4Q = 브레이브: 비디오 게임 +S6BX4Q = 브레이브: 비디오 게임 +S6BY4Q = 브레이브: 비디오 게임 +S6IE78 = 디즈니 공주들: 매혹적인 이야기 책들 +S6IP78 = 디즈니 공주들: 매혹적인 이야기 책들 +S6RE52 = 주먹왕 랄프 +S6RP52 = 주먹왕 랄프 +S6TJGD = 드래곤 퀘스트 X (올 인 원 팩키지) +S72E01 = 커비의 꿈 컬렉션: 스페셜 에디션 +S72J01 = 별의 커비: 20 주년 스페셜 컬렉션 +S75E69 = 모노폴리 스트리츠 +S75P69 = 모노폴리 스트리츠 +S7AEWR = 레고 배트맨 2: DC 슈퍼 히어로즈 +S7AKWR = 레고 배트맨 2: DC 슈퍼 히어로즈 +S7AKZA = 레고 배트맨 2: DC 슈퍼 히어로즈 +S7APWR = 레고 배트맨 2: DC 슈퍼 히어로즈 +S7BE69 = 트리비얼 퍼슈트: 당신은 그것을 알고 내기 +S7BP69 = 트리비얼 퍼슈트: 캐주얼 +S7CJAF = 가면 라이더 클라이맥스 히어로즈 포제 +S7DE52 = 앵그리 버즈: 스타 워즈 +S7DP52 = 앵그리 버즈: 스타 워즈 +S7EE52 = 트랜스포머스: 얼티밋 배틀 에디션 +S7EP52 = 트랜스포머스: 얼티밋 배틀 에디션 +S7FE5G = 줌바 키즈: 얼티밋 줌바 댄스 파티 +S7FPGT = 줌바 키즈: 얼티밋 줌바 댄스 파티 +S7JPKM = 렛츠 싱 6 - 스페인어 버전 +S7KPKM = 렛츠 싱 2014 +S7LPKM = 렛츠 싱 @ 라디오 이탈리아 +S7SP41 = 스머프 파티 팩 +SA3E5G = 앨빈과 슈퍼밴드 3 +SA3P5G = 앨빈과 슈퍼밴드 3 +SA3XGT = 앨빈과 슈퍼밴드 3 +SA5E78 = 당신은 초등학교 5학년 보다 똑똑한가요? 개학 +SA6EG9 = 벤 10: 은하계 레이싱 +SA6PAF = 벤 10: 은하계 레이싱 +SA7ESZ = 구미 베어즈: 매지컬 메달리온 +SA8P52 = 어메이징 스파이더맨 +SA9D7K = 비비와 티나 큰 승마 축제 +SAAJA4 = 위닝 일레븐 플레이 메이커 2013 +SABENR = 외계인 몬스터 볼링 리그 +SABPJG = 외계인 몬스터 볼링 리그 +SACSVS = ACB 토탈 2010/2011 +SADE70 = 백야드 스포츠: 재미로 하는 강타자들 +SAFUHS = AFL: 호주 풋볼 리그 +SAGE41 = 어메이징 레이스 +SAHE69 = 하스브로: 패밀리 게임 나이트 펀 팩 +SAJE52 = 카벨라의 서바이벌: 카트마이의 그림자 +SAJP52 = 카벨라의 서바이벌: 카트마이의 그림자 +SAKENS = 사쿠라 대전: 안녕 사랑스런 그대여 +SAKPNS = 사쿠라 대전: 안녕 사랑스런 그대여 +SALE4Q = 이상한 나라 엘리스 +SALP4Q = 이상한 나라 엘리스 +SANEFS = 배스 프로 샵스: 사냥 - 트로피 대결 +SAOE78 = 몬스터 하이: 구울 스피릿 +SAOEVZ = 몬스터 하이: 구울 스피릿 +SAOP78 = 몬스터 하이: 구울 스피릿 +SAOXVZ = 몬스터 하이: 구울 스피릿 +SAQE5G = 할리 파스테르나크스의 헐리우드 워크아웃 +SARE4Z = 알라딘 매직 레이서 +SARPNK = 알라딘: 매직 레이서 +SASEWW = 꿈도 꾸지 마 +SATE6K = 척 이. 치즈의 슈퍼 컬렉션 +SAUJ8P = 뿌요 뿌요!! 20 주년 +SAVE5G = 앨빈과 슈퍼밴드 2 +SAVX5G = 앨빈과 슈퍼밴드 2 +SAWE52 = 앵그리 버즈 3 부작 +SAWP52 = 앵그리 버즈 3 부작 +SAXPFH = 맥스 & 매직 메이커 +SAYE20 = 부트 캠프 아카데미 +SAYP41 = 부트 캠프 아카데미 +SAZE52 = 어메이징 스파이더맨 +SAZP52 = 어메이징 스파이더맨 +SB2ES5 = 나의 아기 첫 걸음 +SB2PNP = 나의 아기 2: 나의 아기 성장 +SB3E08 = 전국 바사라: 사무라이 히어로즈 +SB3J08 = 전국 바사라 3 +SB3P08 = 전국 바사라: 사무라이 히어로즈 +SB4E01 = 슈퍼 마리오 갤럭시 2 +SB4J01 = 슈퍼 마리오 갤럭시 2 +SB4K01 = 슈퍼 마리오 Wii 2: 갤럭시 어드벤쳐 투게더 +SB4P01 = 슈퍼 마리오 갤럭시 2 +SB4W01 = 슈퍼 마리오 갤럭시 2 +SB6E52 = 바쿠간: 코어의 수비대 +SB6P52 = 바쿠간: 코어의 수비대 +SB7IVU = 플래닛 바스켓 2009/2010 +SB8EQH = 버거 봇 +SB9E78 = 바비: 손질하여 매력적인 강아지들 +SB9EVZ = 바비: 손질하여 매력적인 강아지들 +SB9P78 = 바비: 손질하여 매력적인 강아지들 +SB9X78 = 바비: 손질하여 매력적인 강아지들 +SBAJGD = 드래곤 퀘스트 몬스터즈: 배틀 로드 빅토리 +SBBE18 = 베이블레이드: 메탈 퓨전 - 전투 요새 +SBBJ18 = 메탈 베이블레이드 진검승부 스타디움 +SBBP18 = 베이블레이드: 메탈 퓨전 - 카운터 리온 +SBCJ2N = 빌리의 부트 캠프: Wii와 다이어트를 즐기세요! +SBDE08 = 레지던트 이블: 암흑 연대기 +SBDJ08 = 바이오하자드: 암흑 연대기 SBDK08 = 바이오 하자드: 다크사이드 크로니클즈 +SBDP08 = 레지던트 이블: 암흑 연대기 +SBEPSV = 버뮤다 삼각지대 +SBFE70 = 백야드 풋볼 '10 +SBHEFP = 레밍턴 위대한 미국의 새 사냥 +SBHPNK = 레밍턴 위대한 미국의 새 사냥 +SBIEVZ = 바쁜 가위 +SBIPVZ = 바쁜 가위 +SBJEG9 = 벤 10: 얼티밋 에일리언 - 우주의 파멸 +SBJPAF = 벤 10: 얼티밋 에일리언 - 우주의 파멸 +SBKEPZ = 브런즈윅 존 코스믹 볼링 +SBLE5G = 불가사의한 브로비 +SBLP5G = 불가사의한 브로비 +SBNEG9 = 벤 10: 에일리언 포스 - 빌객스의 공격 +SBNPG9 = 벤 10: 에일리언 포스 - 빌객스의 공격 +SBQE4Z = 빅 벅 헌터 프로 +SBREJJ = 렛츠 플레이 발레리나 +SBRPKM = 발레리나 +SBSEFP = 레밍턴 슈퍼 슬램 사냥: 북미 +SBSURN = 레밍턴 슈퍼 슬램 사냥: 북미 +SBVE78 = 스펀지 밥의 보팅 배쉬 +SBVP78 = 스펀지 밥의 보팅 배쉬 +SBVS78 = 스펀지 밥의 보팅 배쉬 +SBWE5G = 베이비시팅 마마 +SBWJRA = 베이비시팅 마마 +SBWPGT = 쿠킹 마마 월드: 베이비시팅 마마 +SBXEWR = 청혼: 비디오 게임 +SBYE41 = 브로드웨이 댄스 +SBYP41 = 브로드웨이 댄스 +SBZESZ = 버뮤다 삼각지대: 산호 보호 +SC2E8P = 컨듀잇 2 +SC2P8P = 컨듀잇 2 +SC4E64 = 레고 스타 워즈 III: 클론 전쟁 +SC4P64 = 레고 스타 워즈 III: 클론 전쟁 +SC5PGN = 도전하세요: 단어 퍼즐 +SC6PGN = 도전하세요: 두뇌 퍼즐 2 +SC7D52 = 콜 오브 듀티: 블랙 옵스 +SC7E52 = 콜 오브 듀티: 블랙 옵스 +SC7F52 = 콜 오브 듀티: 블랙 옵스 +SC7I52 = 콜 오브 듀티: 블랙 옵스 +SC7P52 = 콜 오브 듀티: 블랙 옵스 +SC7S52 = 콜 오브 듀티: 블랙 옵스 +SC7Z52 = 콜 오브 듀티: 블랙 옵스 +SC8E01 = Wii 플레이: 모션 +SC8J01 = Wii 리모콘 플러스 버라이어티 SC8K01 = Wii 리모컨플러스로 즐기는 버라이어티 게임 박스 +SC8P01 = Wii 플레이: 모션 +SC9P52 = 카벨라의 위대한 게임 사냥꾼 2010 +SCAE18 = 콜링: 검은 착신 +SCAJ18 = 콜링: 검은 착신 +SCAP18 = 콜링: 검은 착신 +SCBE5V = 싸이버바이크 싸이클링 스포츠 +SCBPNK = 싸이버바이크 싸이클링 스포츠 +SCDE52 = 카벨라의 위험한 사냥 2011 +SCDP52 = 카벨라의 위험한 사냥 2011 +SCEE6K = 척 이. 치즈의 파티 게임들 +SCFPNK = 코코토 축제 +SCGE20 = 캘빈 터커: 농장 동물 레이싱 토너먼트 +SCGPXT = 캘빈 터커: 농장 동물 레이싱 토너먼트 +SCHEQH = 캐나다 사냥 +SCIE41 = CSI: 치명적인 음모 +SCIP41 = CSI: 치명적인 음모 +SCJE4Q = 레고 캐리비언의 해적: 비디오 게임 +SCJP4Q = 레고 캐리비언의 해적: 비디오 게임 +SCKE6K = 척 이. 치즈의 스포츠 게임들 +SCMJAF = 가면 라이더 클라이맥스 히어로즈 오즈 +SCNEA4 = 장면? 트와일라잇 +SCNPA4 = 장면? 트와일라잇 +SCPE70 = 지네: 침략 +SCQDRV = 라브의 충격: 두 번째 일치 +SCREJH = 치킨 라이엇 +SCRPJH = 치킨 라이엇 +SCSE52 = 유람선: 휴가 게임들 +SCSPGR = 유람선 리조트 +SCTPNK = 코코토 서프라이즈 +SCUPFR = 크레이지 치킨: 축제 +SCWE41 = 골드 체육관: 댄스 운동 +SCWP41 = 나의 피트니스 코치: 댄스 운동 +SCXESZ = 쉐보레 카마로: 거친 질주 +SCXPNJ = 쉐보레 카마로: 거친 질주 +SCYE4Q = 카 2 +SCYP4Q = 카 2 +SCYR4Q = 카 2 +SCYX4Q = 카 2 +SCYY4Q = 카 2 +SCYZ4Q = 카 2 +SCZEMH = 크레이지 머신즈 +SCZPFR = 크레이지 머신즈 +SD2E41 = 저스트 댄스 2 +SD2J01 = 저스트 댄스 Wii SD2K41 = 저스트 댄스 2 +SD2P41 = 저스트 댄스 2 +SD2Y41 = 저스트 댄스 2: 베스트 바이 에디션 +SD3DSV = 건강 코치 +SD5PTV = 학습 성공 초등학생 독일어 +SD6PTV = 학습 성공 초등학생 영어 +SD7PTV = 학습 성공 초등학생 수학 +SD8DSV = 트로피카나에서의 나의 새로운 인생 모험 +SD9JAF = SD 건담: 가챠폰 워즈 +SDAE5G = 소녀들을 위한 대담한 게임 +SDBE78 = 더 블랍 2 +SDBP78 = 더 블랍 2 +SDDPML = 세기의 궁극 대결 +SDEE5G = 댄스 센세이션! +SDEPGT = 댄스 센세이션! +SDFE4Q = 디즈니 싱 잇: 패밀리 히츠 +SDFP4Q = 디즈니 싱 잇: 패밀리 히츠 +SDGE4Q = 디즈니 채널: 올 스타 파티 +SDGP4Q = 디즈니 채널: 올 스타 파티 +SDIE4Q = 디즈니 싱 잇: 파티 히츠 +SDIP4Q = 디즈니 싱 잇: 파티 히츠 +SDJJAF = SD 건담: G 제너레이션 월드 +SDLE78 = 두드의 빅 어드벤처 +SDLP78 = 두드의 빅 어드벤처 +SDMEG9 = 슈퍼배드: 게임 +SDMPAF = 슈퍼배드: 게임 +SDNE41 = 저스트 댄스 +SDNP41 = 저스트 댄스 +SDOPLR = 닥터 후: 지구 귀환 +SDPE54 = 도라의 위대한 생일 모험 +SDPP54 = 도라의 위대한 생일 모험 +SDQJGD = 드래곤 퀘스트 X 고대 용의 전승 온라인 +SDREYG = 맥시멈 레이싱: 드래그 & 스톡 레이서 +SDRPNG = 드래그 & 스톡 레이서 +SDSPNG = 위 댄스 +SDTPGN = PDC 월드 챔피언쉽 다트: 프로 투어 +SDUE41 = 스머프 댄스 파티 +SDUP41 = 스머프 댄스 파티 +SDUX41 = 스머프 댄스 파티 - 월마트 에디션 +SDVE41 = 드라이버: 샌프란시스코 +SDVP41 = 드라이버: 샌프란시스코 +SDWE18 = 로스트 인 쉐도우 +SDWJ18 = 그림자의 탑 +SDXE4Q = 디즈니 유니버스 +SDXP4Q = 디즈니 유니버스 +SDYEA4 = 댄스 댄스 레볼루션 +SDYPA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 4 +SDZE41 = 저스트 댄스 키즈 +SDZP41 = 댄스 주니어스 +SE2E69 = EA 스포츠 엑티브 2 +SE2P69 = EA 스포츠 엑티브 2 +SE3E41 = 저스트 댄스 2015 +SE3P41 = 저스트 댄스 2015 +SE8E41 = 저스트 댄스 2018 +SE8P41 = 저스트 댄스 2018 +SEAE69 = EA 스포츠 엑티브: 더 많은 운동들 +SEAJ13 = 개인 트레이너 Wii 6주 다이어트 프로그램 +SEAP69 = EA 스포츠 엑티브: 더 많은 운동들 +SECE69 = 창조 +SECP69 = 창조 +SEGE6U = 요가 +SEGP6V = 요가 +SEKJ99 = 제물의 밤 +SELE69 = 피파 11 +SELP69 = 피파 11 +SELX69 = 피파 11 +SEME4Q = 디즈니 에픽 미키 +SEMJ01 = 디즈니 에픽 미키: 미키 마우스와 마법의 붓 +SEMP4Q = 디즈니 에픽 미키 +SEMX4Q = 디즈니 에픽 미키 +SEMY4Q = 디즈니 에픽 미키 +SEMZ4Q = 디즈니 에픽 미키 +SENPZX = 엔클레이브: 황혼의 그림자 +SEPE41 = 블랙 아이드 피스: 익스피리언스 +SEPP41 = 블랙 아이드 피스: 익스피리언스 +SEPX41 = 블랙 아이드 피스: 익스피리언스 D1 에디션 +SEPZ41 = 블랙 아이드 피스 익스피리언스: 리미티드 에디션 +SERE4Q = 디즈니 에픽 미키 2: 2 개의 힘 +SERF4Q = 디즈니 에픽 미키 2: 2 개의 힘 +SERJ91 = 디즈니 에픽 미키 2: 2 개의 힘 +SERK8M = 디즈니 에픽 미키 2: 2 개의 힘 +SERP4Q = 디즈니 에픽 미키 2: 2 개의 힘 +SERV4Q = 디즈니 에픽 미키 2: 2 개의 힘 +SESEWR = 세서미 스트리트: 레디, 세트, 그로버! +SESPWR = 세서미 스트리트: 레디, 세트, 그로버! +SESUWR = 세서미 스트리트: 레디, 세트, 그로버! +SEUPEY = 레트로 시티 램페이지 DX +SEVPEY = 강탈: 하와이 +SEZJHF = 이나즈마 일레븐 스트라이커즈 2012 익스트림 +SF2P64 = 스타 워즈: 해방된 포스 II +SF4E20 = 플랫아웃 +SF4PXT = 플랫아웃 +SF5E41 = 핏 인 식스 +SF5J41 = 핏 인 식스: 몸을 단련하는 6 가지 요소 +SF5P41 = 나의 피트니스 코치: 클럽 +SF7E41 = 패밀리 Feud 2012 에디션 +SF8E01 = 동키 콩: 컨트리 리턴즈 +SF8J01 = 동키 콩 리턴즈 +SF8P01 = 동키 콩: 컨트리 리턴즈 +SFAE41 = 패밀리 퓨드 데케이드즈 +SFAJGD = 강철의 연금술사: 황혼의 소녀 +SFBE70 = 백야드 스포츠 풋볼: 루키 러쉬 +SFDEAF = 엑트브 라이프: 매지컬 카니발 +SFDJAF = 함께 놀아요! 드림 테마 파크 +SFDPAF = 패밀리 트레이너: 매지컬 카니발 +SFEPYF = 핏 뮤직 +SFGE69 = 하스브로: 패밀리 게임 나이트 4 - 게임 쇼 +SFGP69 = 하스브로: 패밀리 게임 나이트 4 - 게임 쇼 +SFHEFP = 아웃도어 액션 더블 팩 +SFIE01 = 미스터리 케이스 파일: 말그레이브 사건 +SFIP01 = 미스터리 케이스 파일: 말그레이브 사건 +SFKEG9 = 패밀리 파티: 피트니스 펀 +SFKPAF = 패밀리 파티: 피트니스 펀 +SFLDSV = 이스터 섬의 저주 +SFOEAF = 푸드 네트워크 : 쿡 오어 비 쿡드 +SFPPFR = 환상적인 축구 팬 파티 +SFQE8P = 캡틴 아메리카: 슈퍼 솔저 +SFQP8P = 캡틴 아메리카: 슈퍼 솔저 +SFRDRV = 핏 & 펀 +SFRPXT = 핏 & 펀 +SFSPGT = 올 라운드 헌터 +SFTE78 = 운명의 굴레 +SFTP78 = 운명의 굴레 +SFUE64 = 스타 워즈: 해방된 포스 II +SFVEXJ = 낚시 리조트 +SFWE69 = 2010 피파 월드컵 남아공 +SFWJ13 = 2010 피파 월드컵 남아공 SFWK69 = 2010 피파 월드컵 남아공 +SFWP69 = 2010 피파 월드컵 남아공 +SFWX69 = 2010 피파 월드컵 남아공 +SFWY69 = 2010 피파 월드컵 남아공 +SFWZ69 = 2010 피파 월드컵 남아공 +SFXPKM = X 팩터 +SFXXKM = X 팩터 +SFYEG9 = 패밀리 파티: 90 위대한 게임 파티 팩 +SFYPAF = 패밀리 파티: 90 위대한 게임 파티 팩 +SFZEPZ = 꿩들은 영원히: 윙슛터 +SFZPXT = 꿩들은 영원히 +SG2EFS = 크레이지 미니 골프 2 +SG2PUG = 크레이지 미니 골프 2 +SG2XUG = 크레이지 미니 골프 2 +SG2YFS = 크레이지 미니 골프 2 +SG3DSV = 독일 넥스트 탑 모델 2010 +SG5PSV = 패밀리 퀴즈 +SG6DSV = 갈릴레오 패밀리 퀴즈 +SG7E20 = 가필드 쇼: 우주 라자냐의 위협 +SG7PVL = 가필드 쇼: 우주 라자냐의 위협 +SG8EG9 = 요기 베어 +SG8PAF = 요기 베어: 비디오게임 +SG9EYC = 그렌림: 기즈모 +SGAE8P = 전설들의 토너먼트 +SGAP8P = 전설들의 토너먼트 +SGBE5G = 그렉 헤이스팅스 페인트볼 2 +SGBPGT = 그렉 헤이스팅스 페인트볼 2 +SGCE20 = 빙하 2 +SGDEJJ = 렛츠 플레이 가든 +SGDPKM = 플레이 가든즈 +SGEEG9 = 내셔널 지오그래픽 도전! 와일드 라이프 +SGEPLG = 내셔널 지오그래픽 퀴즈! 와일드 라이프 +SGHE41 = 톰 클랜시의 고스트 리콘 +SGHP41 = 톰 클랜시의 고스트 리콘 +SGIEA4 = GTI 클럽 슈퍼미니 페스타! +SGIJA4 = GTI 클럽 월드 시티 레이스 +SGIPA4 = GTI 클럽 슈퍼미니 페스타! +SGJDSV = 갈릴레오 미스테리: 미다스의 왕관 +SGJPSV = 미다스의 왕관 +SGKEC8 = 챔피언 기수: G1 기수 & 갤럽 레이서 +SGKJC8 = 챔피언 기수: 갤럽 레이서 & G1 기수 +SGKPC8 = 챔피언 기수: G1 기수 & 갤럽 레이서 +SGLEA4 = 고미티: 자연의 제왕! +SGLPA4 = 고미티: 자연의 제왕! +SGNE69 = 하스브로: 패밀리 게임 나이트 밸류 팩 +SGODKP = 미니 골프 리조트 +SGOETV = 미니 골프 리조트 +SGOPKP = 미니 골프 리조트 +SGPEYG = 맥시멈 레이싱: GP 클래식 레이싱 +SGPPNG = GP 클래식 레이싱 +SGQDSV = 독일의 넥스트 탑 모델 2011 +SGREGT = 그리스 +SGRPGT = 그리스 +SGSESZ = 패밀리 게임쇼 +SGSP7J = 패밀리 게임쇼 +SGTEFS = IMG 아카데미와 데이비드 리드베터 함께하는 나의 개인 골프 트레이너 +SGTPUG = IMG 아카데미와 데이비드 리드베터 함께하는 나의 개인 골프 트레이너 +SGUE4Q = 디즈니 길티 파티 +SGVEAF = 고 베케이션 +SGVJAF = 고 베케이션 +SGVPAF = 고 베케이션 +SGWD7K = 마녀 비비 +SGXE41 = 거대 공룡들의 전투: 다이너소어 스트라이크 +SGXP41 = 거대 공룡들의 전투: 다이너소어 스트라이크 +SGYESZ = 구미 베어즈 미니 골프 +SGYPNJ = 구미 베어즈 미니 골프 +SH2JMS = Hula Wii 즐겁게 훌라를 춤추자!! +SH4EFP = 집중포화: 아프가니스탄 +SH4PNK = 집중포화: 아프가니스탄 +SH5E69 = 헤리 포터와 죽음의 성물, 파트 2 +SH5P69 = 헤리 포터와 죽음의 성물, 파트 2 +SH6E52 = 카벨라의 위대한 게임 사냥꾼 2012 +SH6P52 = 카벨라의 위대한 게임 사냥꾼 2012 +SH7ESZ = 혼다 ATV 피버 +SH7PNJ = 혼다 ATV 피버 +SH8E52 = 카벨라의 모험 캠프 +SH8P52 = 카벨라의 모험 캠프 +SH9ESZ = 히스클리프: 분노의 질주 +SH9PNJ = 히스클리프: 분노의 질주 +SHBE69 = 하스브로: 패밀리 게임 나이트 3 +SHBP69 = 하스브로: 패밀리 게임 나이트 3 +SHDE52 = 드래곤 길들이기 +SHDP52 = 드래곤 길들이기 +SHEDRM = 농장 +SHFE20 = 농구 명예의 전당: 얼티밋 훕스 첼린지 +SHGDRM = 홀리데이 게임즈 +SHHE69 = 해리 포터와 죽음의 성물, 파트 1 +SHHP69 = 해리 포터와 죽음의 성물, 파트 1 +SHIJ2N = 쉐이프 복싱 2 Wii로 다이어트를 즐기세요! +SHKE20 = 헬로 키티 시즌 +SHKPNQ = 헬로 키티 시즌 +SHLPA4 = 사일런트 힐: 조각난 기억들 +SHMPLR = 호리드 헨리: 장난의 미션들 +SHNE41 = 숀 화이트 스케이트보딩 +SHNP41 = 숀 화이트 스케이트보딩 +SHOXKR = 휴고: 트롤 숲의 마법 +SHOYKR = 휴고: 트롤 숲의 마법 +SHPE5G = 우리 집 파티 +SHSE20 = 하이퍼 파이터즈 +SHSPXT = 하이퍼 파이터즈 +SHTE20 = 매슈스 활 사냥 +SHUE52 = 카벨라의 위험한 사냥 2011: 스페셜 에디션 +SHVE78 = 핫 휠즈: 트랙 어택 +SHVP78 = 핫 휠즈: 트랙 어택 +SHVX78 = 핫 휠즈: 트랙 어택 +SHWE41 = 헐리우드 스퀘어 +SHXEWR = 해피 피트 2 +SHXPWR = 해피 피트 2 +SHYE69 = EA 스포츠: NHL 슬랩샷 +SHYP69 = EA 스포츠: NHL 슬랩샷 +SHZENR = 할리 데이비슨: 로드 트립 +SI3E69 = 피파 12 +SI3P69 = 피파 12 +SI3X69 = 피파 12 +SIAE52 = 아이스 에이지: 대륙 이동 - 북극 게임들 +SIAI52 = 아이스 에이지: 대륙 이동 - 북극 게임들 +SIAP52 = 아이스 에이지 4: 대륙 이동 - 북극 게임들 +SIDE54 = 시드 마이어의 해적! +SIDP54 = 시드 마이어의 해적! +SIFESZ = Dr. 프랑켄슈타인의 섬 +SIFPNJ = Dr. 프랑켄슈타인의 섬 +SIHE4Z = 싱 4: 히츠 에디션 +SIIE8P = 마리오와 소닉 런던 올림픽 +SIIJ01 = 마리오와 소닉 런던 올림픽 SIIK01 = 마리오와 소닉 런던 올림픽 +SIIP8P = 마리오와 소닉 런던 올림픽 +SIJE52 = 아이칼리 2: 아이클릭하여 참여하세요! +SIJP52 = 아이칼리 2: 아이클릭하여 참여하세요! +SILE78 = 웜즈: 배틀 아일랜드 +SILP78 = 웜즈: 배틀 아일랜드 +SIME69 = 마이심즈 컬렉션 +SINPNG = 위 싱: 로비 윌리엄스 +SIPE7T = 아이 스파이 게임 팩 +SISENR = 이사벨라 공주: 마녀의 저주 +SISJ0Q = 정적 수축 & 가라데 운동: Wii에서 골반 피트 +SISPUH = 이사벨라 공주: 마녀의 저주 +SITPNG = 위 싱 독일 히츠 +SIUUNG = 위 싱 다운 언더 +SIXE41 = 드로썸! 태블릿 +SJ2EWR = 스쿠비-두! 와 으스스한 늪 +SJ2PWR = 스쿠비-두! 와 으스스한 늪 +SJ3JDA = 인생 게임: 해피 패밀리 +SJ3PNL = 꼬마 돼지 피글리의 모험! 카트 레이싱 +SJ5JDA = 인생게임 해피 패밀리 지역 소재 증량판 +SJ6E41 = 저스트 댄스 디즈니 파티 +SJ6P41 = 저스트 댄스 디즈니 파티 +SJ7E41 = 저스트 댄스 키즈 2014 +SJ7P41 = 저스트 댄스 키즈 2014 +SJ9E41 = 저스트 댄스 여름 파티 +SJ9P41 = 저스트 댄스 2: 추가 노래들 +SJAE5G = 죠스: 얼티잇 프레데터 +SJBE52 = 골든아이 007 +SJBJ01 = 골든아이 007 +SJBP52 = 골든아이 007 +SJCEZW = 제리 라이스 & 니투스 강아지 풋볼 +SJDE41 = 저스트 댄스 3 +SJDJ01 = 저스트 댄스 Wii 2 SJDK41 = 저스트 댄스 3 +SJDP41 = 저스트 댄스 3 +SJDX41 = 저스트 댄스 3 스페셜 에디션 +SJDY41 = 저스트 댄스 3: 베스트 바이 독점 에디션 +SJDZ41 = 저스트 댄스 3: 타켓 독점 에디션 +SJEEPK = 모험섬에서 점프스타 탈출 +SJFE4Z = 키드 핏 아일랜드 리조트 +SJFPGR = 주니어 피트니스 트레이너 +SJFXGR = 주니어 피트니스 트레이너 +SJGEPK = 점프스타트 겟 무빙 패밀리 피트니스 +SJHE41 = 저스트 댄스 그레이티스트 히트 +SJIEG9 = 질리안 마이클스 피트니스 울티메이텀 2011 +SJJEA4 = 지미 존스의 엔진과 관련된 모든 것 +SJKEPK = 점프스타 크레이지 카츠 +SJLEFS = 주니어 리그 스포츠 +SJLPXT = 주니어 리그 스포츠 +SJME5G = 질리안 마이클스 피트니스 울티메이텀 2010 +SJMPGT = 질리안 마이클스 피트니스 울티메이텀 2010 +SJNE41 = 저스트 댄스 2016 +SJNP41 = 저스트 댄스 2016 +SJOE41 = 저스트 댄스 2014 +SJOP41 = 저스트 댄스 2014 +SJPE78 = 위험! +SJQEPZ = 쥬얼 퀘스트 3 부작 +SJQPGR = 쥬얼 퀘스트 3 부작 +SJREA4 = 데프 잼 랩스타 +SJRPA4 = 데프 잼 랩스타 +SJRXA4 = 데프 잼 랩스타 +SJRYA4 = 데프 잼 랩스타 +SJRZA4 = 데프 잼 랩스타 +SJSEPK = 점프스타 애완동물 구조대 +SJTP41 = 저스트 댄스: 최고 +SJUE20 = 다이노 스트라이크 +SJUPXT = 다이노 스트라이크 +SJVE20 = 숀 존슨의 체조 +SJWJA4 = 위닝 일레븐 플레이 메이커 2010 푸른 사무라이의 도전 +SJXD41 = 저스트 댄스 4 스페셜 에디션 +SJXE41 = 저스트 댄스 4 +SJXP41 = 저스트 댄스 4 +SJZE41 = 저스트 댄스 키즈 2 +SJZP41 = 저스트 댄스 키즈 +SK3EEB = 트라우마 팀 +SK4E52 = 슈렉: 그후로 영원히 +SK4I52 = 슈렉: 그후로 영원히 +SK4P52 = 슈렉: 그후로 영원히 +SK5PY1 = 카일리의 노래와 춤 SK6KJD = 케이팝 댄스 페스티벌 -SMNK01 = 뉴 슈퍼 마리오브라더스 Wii +SK7PVZ = 디즈니 비올레타: 리듬 & 뮤직 +SK7XVZ = 디즈니 비올레타: 리듬 & 뮤직 +SK8D52 = 스카이랜더스: 트랩 팀 +SK8E52 = 스카이랜더스: 트랩 팀 +SK8I52 = 스카이랜더스: 트랩 팀 +SK8P52 = 스카이랜더스: 트랩 팀 +SK8V52 = 스카이랜더스: 트랩 팀 +SK8X52 = 스카이랜더스: 트랩 팀 +SKAEA4 = 카라오케 레볼루션 글리 +SKAPA4 = 카라오케 레볼루션 글리 +SKBEG9 = 키즈 밥 댄스 파티! +SKCE20 = 빅풋: 크러쉬 킹 +SKDJ18 = 가라오케 조이사운드 Wii 듀엣곡편 +SKEJ18 = 카라오케 조이사운드 Wii 엔카・가요곡전 +SKGEA4 = 카라오케 레볼루션 글리 볼륨 2 +SKGPA4 = 카라오케 레볼루션 글리 볼륨 2 +SKHJAF = 가면 라이더 슈퍼 클라이맥스 히어로즈 +SKJE78 = 당신은 잭을 모릅니다 +SKKPHY = 캡틴 모르간과 황금 거북 +SKKXHY = 캡틴 모르간과 황금 거북 +SKLDSV = K11 - 활동중인 감독관 +SKMJAF = 가면 라이더 클라이맥스 히어로즈 W +SKNE52 = 스카이랜더스: 슈퍼첼린저스 레이싱 +SKNP52 = 스카이랜더스: 슈퍼첼린저스 레이싱 +SKOEA4 = 카라오케 레볼루션 글리 볼륨 3 +SKOPA4 = 카라오케 레볼루션 글리 볼륨 3 +SKREG9 = 가면 라이더 용기사 +SKTE78 = 올 스타 카라테 +SKTP78 = 올 스타 카라테 +SKUE78 = 쿵푸 팬더 2 +SKUP78 = 쿵푸 팬더 2 +SKVE20 = 케빈 반 담의 위대한 배스 도전 +SKWPNK = 코코토 카트 레이서 2 +SKXE20 = 파이럿 블래스트 +SKXPFH = 파이럿 블래스트 +SKYE52 = 스카이랜더스: 거인들 +SKYP52 = 스카이랜더스: 거인들 +SKYX52 = 스카이랜더스: 거인들 +SKYY52 = 스카이랜더스: 거인들 +SKYZ52 = 스카이랜더스: 거인들 +SKZE52 = 드림웍스 슈퍼 스타 카트즈 +SKZP52 = 드림웍스 슈퍼 스타 카트즈 +SL2J01 = 령: 진홍의 나비 +SL2P01 = 령: 진홍의 나비 +SL3ENR = 용의 굴 3 부작 +SL4PAF = 로스 40 프린시팔레스 카라오케 파티 +SL5DKM = 렛츠 싱 2019: 독일 히츠! +SL5FKM = 렛츠 싱 2019: 프랑스 히츠 +SL6PGN = 에브리원 싱 +SL7DML = 2 합 1: 나의 애완동물 하우스 + 나의 애완동물 진료시간 +SLAE78 = 최후의 에어벤더 +SLAP78 = 최후의 에어벤더 +SLAX78 = 최후의 에어벤더: 스페셜 에디션 +SLAZ78 = 라스트 에어벤더: 토이저러스 스페셜 에디션 +SLCEGN = 일어나서 춤을 +SLCPGN = 일어나서 춤을 +SLDEYG = 렛츠 댄스 +SLDPLG = 멜 비와 함께하는 렛츠 댄스 +SLEE78 = 디팩 초프라의 릴라 +SLEP78 = 디팩 초프라의 릴라 +SLFPKM = 렛츠 싱 +SLFXKM = 렛츠 싱 5: 스페인어 버전 +SLGEYG = 렛츠 싱 2016 +SLGPKM = 렛츠 싱 2016 +SLHEWR = 레고 해리 포터: 5-7 년 +SLHPWR = 레고 해리 포터: 5-7 년 +SLIE52 = 리틀 리그 월드 시리즈 야구: 더블 플레이 +SLJPKM = 렛츠 싱 8: 스페인어 버전 +SLKPKM = 렛츠 싱 2016: 프랑스 히츠 +SLLEWW = 레슬링 AAA: 반지의 영웅 +SLMPWL = 로스 40 프린시팔레스 카라오케 파티 볼륨 2 +SLNP7M = 보이스 볼륨 3 +SLPP5D = 늑대의 정신 +SLREWR = 레고 반지의 제왕 +SLRPWR = 레고 반지의 제왕 +SLSEXJ = 마지막 이야기 +SLSJ01 = 마지막 이야기 +SLSP01 = 마지막 이야기 +SLTEJJ = 뉴유 피트니스 퍼스트 마인드 바디: 요가 및 필라테스 운동 +SLTPLG = 뉴유 피트니스 퍼스트 마인드 바디: 요가 및 필라테스 운동 +SLVP41 = 위 데어 +SLWE41 = 월리를 찾아라: 환상적인 여행 +SLYESZ = 비스틀리 +SLYPNJ = 비스틀리 +SM2E52 = 10 분 솔루션 +SM2P52 = 10 분 솔루션 +SM4E20 = 몬스터 트럭스 메이햄 +SM4PXT = 몬스터 트럭스: 울트라 메가 익스트림!!! +SM5EAF = 파워 레인저스 사무라이 +SM5PAF = 파워 레인저스 사무라이 +SM6PNK = 나의 바디 코치 2: 피트니스 & 댄스 +SM7E69 = 매든 NFL 12 +SM8D52 = 콜 오브 듀티: 현대 전쟁 3 +SM8E52 = 콜 오브 듀티: 현대 전쟁 3 +SM8F52 = 콜 오브 듀티: 현대 전쟁 3 +SM8I52 = 콜 오브 듀티: 현대 전쟁 3 +SM8P52 = 콜 오브 듀티: 현대 전쟁 3 +SM8S52 = 콜 오브 듀티: 현대 전쟁 3 +SM8X52 = 콜 오브 듀티: 현대 전쟁 3 +SM9E54 = 메이저 리그 야구 2K12 +SMAENR = 해병대: 현대 도시 전투 +SMAPGN = 해병대: 현대 도시 전투 +SMBE8P = 슈퍼 몽키 볼: 스텝 & 롤 +SMBJ8P = 슈퍼 몽키 볼 운동경기 +SMBP8P = 슈퍼 몽키 볼: 스텝 & 롤 +SMCENR = 행복한 성탄절 되세요 +SMCPXT = 행복한 성탄절 되세요 +SMEE69 = 매든 NFL 11 +SMFE4Q = 피니와 퍼브: 2차원을 넘어서 +SMFP4Q = 피니와 퍼브: 2차원을 넘어서 +SMGE78 = 메가마인드: 메가 팀 유나이트 +SMGP78 = 메가마인드: 메가 팀 유나이트 +SMHPNK = 마벨 슈퍼 히어로즈 3D: 그랜드마스터의 도전 +SMIE41 = 백만장자가 되고 싶은 사람 +SMJE52 = 몬스터 잼: 파괴의 길 +SMJP52 = 몬스터 잼: 파괴의 길 +SMKE4Z = 젬 스매셔즈 +SMLE54 = 메이저 리그 야구 2K10 +SMMJ0Q = 몸짱 다이어트 Wii: 정다연의 피규어로빅스 +SMNE01 = 뉴 슈퍼 마리오 브라더스 Wii +SMNJ01 = 뉴 슈퍼 마리오 브라더스 Wii +SMNK01 = 뉴 슈퍼 마리오 브라더스 Wii +SMNP01 = 뉴 슈퍼 마리오 브라더스 Wii +SMNW01 = 뉴 슈퍼 마리오 브라더스 Wii +SMOE41 = 마이클 잭슨: 익스피리언스 +SMOJ41 = 마이클 잭슨: 익스피리언스 +SMOP41 = 마이클 잭슨: 익스피리언스 +SMOX41 = 마이클 잭슨: 익스피리언스 - 월마트 에디션 +SMOY41 = 마이클 잭슨: 익스피리언스 - 스페셜 에디션 +SMPE69 = 모노폴리 컬렉션 +SMPP69 = 모노폴리 컬렉션 +SMRE78 = WWE 스맥다운 vs. Raw 2011 +SMRP78 = WWE 스맥다운 vs. Raw 2011 +SMSE78 = 마벨 슈퍼 히어로 스쿼드: 인피니티 건틀렛 +SMSP78 = 마벨 슈퍼 히어로 스쿼드: 인피니티 건틀렛 +SMTJ18 = 모모타로 전철 2010: 전국・유신의 영웅 대집합!의 권 +SMUJAF = 대괴수 배틀: 울트라 콜로세움 DX - 울트라 전사 대집결 +SMVE54 = 메이저 리그 야구 2K11 +SMWE4Z = 베어 그릴스의 인간과 자연의 대결 +SMYE20 = 사소한 도전 60초 +SMZE78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃 +SMZP78 = 마벨 슈퍼 히어로 스쿼드: 코믹 컴뱃 +SN2E69 = 너프 N-스트라이크 더블 블래스트 번들 +SN3EYG = 맥시멈 레이싱: 랠리 레이서 +SN3PNG = 랠리 레이서 +SN4EDA = 나루토 질풍전: 드래곤 블레이드 연대기 +SN4JDA = 나루토 질풍전: 용인기 +SN4XGT = 나루토 질풍전: 드래곤 블레이드 연대기 +SN5EYG = 맥시멈 레이싱: 크래쉬 카 레이서 +SN5PNG = 크래쉬 카 레이서 +SN6EYG = 맥시멈 레이싱: 슈퍼 카츠 +SN6PNG = 슈퍼 카츠 +SN7EYG = 맥시멈 레이싱: 슈퍼 트럭 레이서 +SN7PNG = 슈퍼 트럭 레이서 +SN8EYG = 맥시멈 레이싱: 스프린트 카 +SN8PNG = 스프린트 카 +SN9E54 = 니켈로데온 핏 +SNAE52 = 카벨라의 북미 모험 2011 +SNBE41 = NCIS: 게임 +SNBP41 = NCIS: 게임 +SNCE8P = 소닉 컬러즈 +SNCJ8P = 소닉 컬러즈 +SNCP8P = 소닉 컬러즈 +SNDE20 = 딜 오어 노 딜: 스페셜 에디션 +SNEENR = 북미 사냥 엑스트라바간자 2 +SNEPXT = 북미 사냥 2: 엑스트라바간자 +SNFE69 = EA 스포츠 엑티브 NFL 트레이닝 캠프 +SNGEJJ = 멜 비와 함께하는 건강한 몸매 만들기 +SNGPLG = 멜 비와 함께하는 건강한 몸매 만들기 +SNHE69 = 니드 포 스피드: 추적 +SNHJ13 = 니드 포 스피드: 추적 +SNHP69 = 니드 포 스피드: 추적 +SNIE54 = 닉툰즈 MLB +SNJE69 = NBA 잼 +SNJP69 = NBA 잼 +SNKP54 = 니켈로데온 핏 +SNKX54 = 니켈로데온 핏 +SNLE54 = 니켈로데온 댄스 +SNLX54 = 니켈로데온 댄스 +SNMEAF = 남코 뮤지엄 메가믹스 +SNOPY1 = 지금! 그것이 내가 음악이라고 부르는 것: 춤 & 노래 +SNPE52 = 나스카 게임: 인사이드 라인 +SNQE7U = 내셔널 지오그래픽: 도전! +SNQPLG = 내셔널 지오그래픽: 도전! +SNRE52 = 나스카 언리쉬드 +SNSE52 = 나스카 2011: 게임 +SNTEXN = 넷플릭스 인스턴트 스트리밍 디스크 +SNUPJW = 해피 뉴런 아카데미 +SNVE69 = 니드 포 스피드: 도망 +SNVJ13 = 니드 포 스피드: 도망 +SNVP69 = 니드 포 스피드: 도망 +SNXJDA = 나루토 질풍전: 격투 닌자 대전! 스페셜 +SNYEVZ = 몬스터 하이: 13 개의 소원들 +SNYPVZ = 몬스터 하이: 13 개의 소원들 +SNZEVZ = 바비: 드림하우스 파티 +SNZPVZ = 바비: 드림하우스 파티 +SO3EE9 = 룬 팩토리: 운명의 흐름 +SO3J99 = 룬 팩토리: 대양 +SOAE52 = 카벨라의 사냥 수렵대 +SOBD7K = 비비 블록스베르크 2 +SOCE4Z = 데들리스트 캐치: 혼돈의 바다 +SODPYK = 탐험가와 다이아몬드 스카라브의 미스터리 +SOIEEB = 101 합 1 스포츠 파티 메가믹스 +SOIPHZ = 101 합 1 스포츠 파티 메가믹스 +SOJE41 = 레이맨 오리진즈 +SOJP41 = 레이맨 오리진즈 +SOKEA4 = 카라오케 조이사운드 +SOKJ18 = 카라오케 조이사운드 Wii DX +SOME01 = 리듬 천국 피버 +SOMJ01 = 모두의 리듬 천국 SOMK01 = 리듬 세상 Wii -SOUK01 = 젤다의 전설 스카이워드 소드 +SOMP01 = 비트 더 비트: 리듬 파라다이스 +SONDMR = 나의 첫 노래 +SONFMR = 나의 첫 노래 +SONPMR = 나의 첫 노래 +SORE4Z = 오레곤 트레일 +SOSEG9 = 터보: 슈퍼 스턴트 스쿼드 +SOSPAF = 터보: 슈퍼 스턴트 스쿼드 +SOTE52 = 와이프아웃: 게임 +SOUE01 = 젤다의 전설: 스카이워드 소드 +SOUJ01 = 젤다의 전설: 스카이워드 소드 +SOUK01 = 젤다의 전설: 스카이워드 소드 +SOUP01 = 젤다의 전설: 스카이워드 소드 +SP2E01 = Wii 스포츠 + Wii 스포츠 리조트 +SP2P01 = Wii 스포츠 + Wii 스포츠 리조트 +SP3E41 = $1,000,000 피라미드 +SP4PJW = 페탕크 마스터 +SP5E70 = 코레 갱: 지구 내부에서의 침입 +SP5PVV = 코레 갱: 지구 내부에서의 침입 +SP7EAF = 팩맨 파티 +SP7JAF = 팩맨 파티 +SP7PAF = 팩맨 파티 +SP8E78 = 마다가스카의 펭귄: 블로홀 박사의 반격! +SP8P78 = 마다가스카의 펭귄: 블로홀 박사의 반격! +SP9PJW = 키스를 위한 뿌까의 레이스 +SPAE5G = 해적 대모험 +SPBPGT = 스펠바운드 파티 +SPCPZS = 포코요 레이싱 +SPDE52 = 스파이더맨: 조각난 차원 +SPDP52 = 스파이더맨: 조각난 차원 +SPEE20 = 스피드 +SPEPXT = 스피드 +SPGPPN = 페파 피그: 펀 & 게임즈 +SPHPJW = 스파게티 웨스턴 슛터 +SPIE18 = 이런! 장난 파티 +SPIJ18 = 파티 게임 박스 100 +SPIP18 = 게임즈 아일랜드 +SPKXPV = 스프링데일 +SPMDRM = 마작 파티 +SPMPWP = 마작 파티 팩 +SPOPFR = 동계 스포츠 2011: 금메달을 향해 +SPPEFS = 파워 펀치 +SPQE7T = 나는 스파이: 으스스한 저택 +SPRE41 = 정의의 가치: 2010 에디션 +SPTJEB = 병원. 6 명의 의사 +SPUE20 = 렛츠 페인트 +SPVEA4 = 프로 에볼루션 싸커 2011 +SPVPA4 = 프로 에볼루션 싸커 2011 +SPVXA4 = 프로 에볼루션 싸커 2011 +SPVYA4 = 프로 에볼루션 싸커 2011 +SPWHZH = 스튜디오 100: 플레이 아일랜드 +SPXP41 = 페르시아 왕자: 망각의 모래 +SPYDSV = 예티스포츠: 펭귄 파티 섬 +SPZE5G = 파지 배달 소년 +SQ2EPZ = 컨트리 댄스 +SQ2PXT = 컨트리 댄스 +SQ3EPZ = 컨트리 댄스 +SQAE52 = 카벨라의 아프리카 모험 +SQBPXT = 큐브 +SQDE8P = 건블레이드 NY & LA 머신건: 아케이드 히트 팩 +SQDP8P = 건블레이드 NY & LA 머신건: 아케이드 히트 팩 +SQEENG = 위 싱 팝! +SQEPNG = 위 싱 팝! +SQFE5G = 피니와 퍼브: 멋진 물건에 대한 탐구 +SQFPGT = 피니와 퍼브: 멋진 물건에 대한 탐구 +SQIE4Q = 디즈니 인피니티 +SQIP4Q = 디즈니 인피니티 +SQIY4Q = 디즈니 인피니티 +SQKE5G = 마마의 2 팩 (WORLD KITCHEN/COOK OFF) +SQKK01 = 쿠킹 마마 2 팩 +SQLE4Z = 카툰 네트워크: 펀치 타임 익스플로전 XL +SQLPGN = 카툰 네트워크: 펀치 타임 익스플로전 XL +SQME52 = 스파이더맨: 엣지 오브 타임 +SQMP52 = 스파이더맨: 엣지 오브 타임 +SQPPX4 = 스피드 2 +SQQEVZ = 비행기: 소방구조대 +SQQPVZ = 비행기: 소방구조대 +SQRPNG = 위 싱 락! +SQTPML = 세기의 궁극적인 대결: 퀴즈 & 플레이! +SQUDX3 = 퀴즈 파티 +SQUFX3 = 퀴즈 파티 +SQUPX3 = 퀴즈 파티 +SQVE69 = 피파 15 +SQVP69 = 피파 15 - 레거시 에디션 +SQVX69 = 피파 15 - 레거시 에디션 +SQWE52 = 보이스: 당신을 원해요 +SR4E41 = 래이맨 엽기토끼: 시간 여행 +SR4J41 = 래이맨 엽기토끼: 시간 여행 +SR4P41 = 래이맨 엽기토끼: 시간 여행 +SR5E41 = 래이맨 엽기토끼: 파티 콜렉션 +SR5P41 = 래이맨 엽기토끼: 파티 콜렉션 +SR6EHG = 리더 래빗: 1 학년 +SR7EHG = 리더 래빗: 2 학년 +SR8EHG = 리더 래빗: 유아원 +SR9EHG = 리더 래빗: 유치원 +SRAJMS = 라지루기 노아 Wii +SRBPHS = 럭비 리그 3 +SRCE69 = 락 밴드: 컨트리 트랙 팩 2 +SREXNL = 리더 레빗 유아원 +SRFE52 = 라팔라 프로 배스 낚시 +SRFP52 = 라팔라 프로 배스 낚시 +SRGE69 = 랭고 +SRGP69 = 랭고 +SRIE78 = 리오 +SRIP78 = 리오 +SRJJAF = 슈퍼 전대 배틀: 레인저 크로스 +SRKEFP = 레밍턴 슈퍼 슬램 사냥: 알래스카 +SRKPNK = 레밍턴 위험한 동물들 +SRLXNL = 리더 래빗 유치원 +SRME18 = 룸즈: 메인 빌딩 +SRMJ18 = 룸즈: 이상하게 움직이는 방 +SRNE70 = 프로젝트 런웨이 +SRNP70 = 프로젝트 런웨이 +SROENS = 천공의 기사 로데아 +SROJQC = 천공의 기사 로데아 SROKZ5 = 천공의 기사 로데아 +SROPNS = 천공의 기사 로데아 +SRPE4Q = 디즈니 탱글드 +SRPP4Q = 디즈니 탱글드 +SRQE41 = 라켓 스포츠 +SRQP41 = 라켓 스포츠 파티 +SRRENR = 렉 룸 게임즈 +SRRPGN = 그레이트 파티 게임즈 +SRSE20 = 슈퍼 소닉 레이서 +SRSPXT = 슈퍼 소닉 레이서 +SRTXNL = 리더 래빗 1 학년 +SRUE4Z = 빨간 코 순록 루돌프 +SRVE41 = 정의의 가치: 수십 년 +SRWXNL = 리더 래빗 2 학년 +SRXE52 = 제너레이터 렉스: 섭리의 대리인 +SRXP52 = 제너레이터 렉스: 섭리의 대리인 +SRYEAF = 엑서비트: 체육관 수업 운동 +SRYJAF = 피트니스 파티 +SRYPAF = 엑서비트: 체육관 수업 운동 +SS2PFR = 하계 스포츠 2012: 정신을 느껴라 +SS3EWR = 세사미 스트리트: 엘모의 동물원 모험 +SS3PWR = 세사미 스트리트: 엘모의 동물원 모험 +SS3UWR = 세사미 스트리트: 엘모의 동물원 모험 +SS4EWR = 세사미 스트리트: 쿠키의 카운팅 카니발 +SS4UWR = 세사미 스트리트: 쿠키의 카운팅 카니발 +SS5ENR = 세티스패션 +SS6UHS = AFL 라이브: 올해의 게임 에디션 +SS7EFP = 레밍턴 슈퍼 슬램 헌팅: 아프리카 +SS7URN = 레밍턴 슈퍼 슬램 헌팅: 아프리카 +SS8E78 = 네모바지 스펀지밥 +SS8P78 = 네모바지 스펀지밥 +SS9JMS = 마일스톤 슈팅 컬렉션 2 +SSBE78 = 장화신은 고양이 +SSBP78 = 장화신은 고양이 +SSCDWR = 장면? 밝은 빛! 큰 화면! +SSCEPM = 장면? 밝은 빛! 큰 화면! +SSCFWR = 장면? 밝은 빛! 큰 화면! +SSCIWR = 장면? 밝은 빛! 큰 화면! +SSCPWR = 장면? 밝은 빛! 큰 화면! +SSCSWR = 장면? 밝은 빛! 큰 화면! +SSCXPM = 장면? 밝은 빛! 큰 화면! +SSDDRV = 라브의 충격 +SSEDNG = 위 싱 볼륨 2 +SSEPNG = 위 싱: 앙코르 +SSEVNG = 위 싱: 앙코르 +SSFPKM = 싱 4: 히츠 에디션 +SSGPNG = 위 싱 +SSHPHH = 셜록 홈즈: 은 귀걸이 +SSIENR = 윈터 블래스트: 9 스노우 & 아이스 게임즈 +SSJEJJ = 썸머 스타즈 2012 +SSJPKM = 썸머 스타즈 2012 +SSLENR = 내 사랑 말들: 기수의 천국 +SSLPKM = 안장 클럽 +SSMEYG = 미국 멘사 아카데미 +SSMPGD = 멘사 아카데미 +SSNEYG = 스나이퍼 엘리트 +SSNPHY = 스나이퍼 엘리트 +SSPE52 = 스카이랜더즈: 스파이로의 모험 +SSPJGD = 스카이랜더즈: 스파이로의 대모험 +SSPP52 = 스카이랜더즈: 스파이로의 모험 +SSPX52 = 스카이랜더즈: 스파이로의 모험 +SSPY52 = 스카이랜더즈: 스파이로의 모험 SSQE01 = 마리오 파티 9 SSQJ01 = 마리오 파티 9 SSQK01 = 마리오 파티 9 SSQP01 = 마리오 파티 9 -SUKK01 = 별의 커비 -SUPK01 = wii 파티 +SSQW01 = 마리오 파티 9 +SSRE20 = 와일드 웨스트 샷아웃 +SSRPXT = 와일드 웨스트 샷아웃 +SSSEWR = 세서미 스트리트: 엘모의 뮤직컬 몬스터피스 +SSTEG9 = 키드 어드벤처: 스카이 캡틴 +SSTPY5 = 스턴트 플라이어: 창공의 영웅 +SSUES5 = 초밥 고 라운드 +SSVE52 = 와이프아웃 3 +SSWDRM = 워터 스포츠 +SSWEPZ = 워터 스포츠 +SSWPGR = 워터 스포츠 +SSZE5G = 검 +ST3J01 = 키키 트릭 +ST4PNX = 토마스와 친구들: 기찻길 영웅 +ST4XNX = 토마스와 친구들: 기찻길 영웅 +ST5E52 = 트랜스포머즈: 싸이버트론 모험 +ST5P52 = 트랜스포머즈: 싸이버트론 모험 +ST6E78 = 도전! FAT 제로: 도전 +ST6P78 = 도전! FAT 제로: 도전 +ST7E01 = 포춘 스트리트 +ST7JGD = 이타다키 스트리트 +ST7P01 = 붐 스트리트 +ST9E52 = 탑 샷 아케이드 +STAE78 = 픽셔너리 +STAP78 = 픽셔너리 +STAU78 = 픽셔너리 +STDEFP = 재장전 +STEETR = 테트리스 파티 디럭스 +STEJ18 = 테트리스 파티 프리미엄 +STEPTR = 테트리스 파티 디럭스 +STFE52 = 트랜스포머즈: 프라임 +STFP52 = 트랜스포머즈 프라임: 게임 +STGJAF = 테일즈 오브 그레이세스 +STHE8P = 토르: 천둥의 신 +STHP8P = 토르: 천둥의 신 +STIFKM = 말썽꾸러기 띠떼프 +STJJAF = 태고의 달인 Wii 결정판 +STKE08 = 타츠노코 vs. 캡콤: 얼티밋 올 스타즈 +STKJ08 = 타츠노코 vs. 캡콤: 얼티밋 올 스타즈 +STKP08 = 타츠노코 vs. 캡콤: 얼티밋 올 스타즈 +STLE78 = 진실 또는 거짓말 +STLP78 = 진실 또는 거짓말 +STMEGN = 타이타닉 미스테리 +STMPKP = 타이타닉 미스테리 +STNE41 = 틴틴의 모험: 게임 +STNP41 = 틴틴의 모험: 유니콘의 비밀 +STOE4Q = 카 툰:메이터의 놀라운 이야기 +STOP4Q = 카 툰:메이터의 놀라운 이야기 +STOX4Q = 카 툰:메이터의 놀라운 이야기 +STPPML = 애완 동물 수의사: 해양 순찰 +STQJHF = 이나즈마 일레븐 스트라이커즈 +STQP01 = 이나즈마 일레븐 스트라이커즈 +STQX01 = 이나즈마 일레븐 스트라이커즈 +STRE4Q = 트론: 에볼루션 - 배틀 그리드즈 +STRP4Q = 트론: 에볼루션 - 배틀 그리드즈 +STRX4Q = 트론: 에볼루션 - 배틀 그리드즈 챔피온쉽 에디션 +STSE4Q = 토이 스토리 3 +STSP4Q = 토이 스토리 3 +STSR4Q = 토이 스토리 3 +STSX4Q = 토이 스토리 3 +STSY4Q = 토이 스토리 3 +STSZ4Q = 토이 스토리 3: 토이 박스 스페셜 에디션 +STTDRM = 숨겨진 미스테리들: 타이타닉 +STTE52 = 숨겨진 미스테리들: 타이타닉 +STTPGR = 숨겨진 미스테리들 타이타닉: 운명의 항해 비밀 +STTXGR = 숨겨진 미스테리들: 타이타닉 +STUPRN = 터보 트레인즈 +STVDSV = TV 토탈 이벤츠 +STWE69 = 타이거 우즈 PGA 투어 11 +STWP69 = 타이거 우즈 PGA 투어 11 +STXE69 = 타이거 우즈 PGA 투어 12: 마스터즈 +STXP69 = 타이거 우즈 PGA 투어 12: 마스터즈 +STYE52 = 토니 호크: 쉬레드 +STYP52 = 토니 호크: 쉬레드 +STZE52 = 트랜스포머즈: 달의 어둠 - 스텔스 포스 에디션 +STZP52 = 트랜스포머즈: 달의 어둠 - 스텔스 포스 에디션 +SU2E54 = 니켈로데온 댄스 2 +SU2P54 = 니켈로데온 댄스 2 +SU2X54 = 니켈로데온 댄스 2 +SU3DMR = 유 싱 2 +SU3FMR = 유 싱 2 +SU3HMR = 유 싱 2 +SU3PMR = 유 싱 2 +SU3SMR = 유 싱 2 +SU3UMR = 유 싱 2: 오스트레일리아 에디션 +SU4E78 = UFC 개인 트레이너: 얼티밋 피트니스 시스템 +SU4P78 = UFC 개인 트레이너: 얼티밋 피트니스 시스템 +SU5EVZ = 몬스터 하이: 스컬티밋 롤러 미로 +SU5PVZ = 몬스터 하이: 스컬티밋 롤러 미로 +SU6E5G = 줌바 피트니스 코어 +SU6P5G = 줌바 피트니스 코어 +SU6XGT = 줌바 피트니스 코어 +SU7EG9 = 가디언즈 +SU7PAF = 가디언즈 +SU8PNG = 위 싱: 독일 히츠 2 +SU9E4Q = 디즈니 비행기들 +SU9P4Q = 디즈니 비행기들 +SU9X4Q = 디즈니 비행기들 +SUKE01 = 커비의 드림랜드 귀환 +SUKJ01 = 별의 커비 Wii +SUKK01 = 별의 커비 Wii +SUKP01 = 커비의 모험 Wii +SUMJC8 = 위닝 포스트 월드 2010 +SUNEYG = 디어 드라이브 레전드즈 +SUOE41 = 힙합 댄스 익스피리언스 +SUOP41 = 힙합 댄스 익스피리언스 +SUPE01 = Wii 파티 +SUPJ01 = Wii 파티 +SUPK01 = Wii 파티 +SUPP01 = Wii 파티 +SUQENG = 위 싱: 영국 히츠 +SUQPNG = 위 싱: 영국 히츠 +SUREA4 = 댄스 댄스 레볼루션 II +SURPA4 = 댄스 댄스 레볼루션: 가장 인기있는 파티 5 +SUSFMR = 유 싱 조니 할리데이 +SUSPMR = 유 싱 걸즈 나이트 +SUTESZ = 옛날 옛적에 +SUUE78 = uDraw 스튜디오: 인스턴트 아티스트 +SUUP78 = uDraw 스튜디오: 인스턴트 아티스트 +SUVE52 = 카벨라의 위험한 사냥 2013 +SUVP52 = 카벨라의 위험한 사냥 2013 +SUWE78 = uDraw 스튜디오 +SUWP78 = uDraw 스튜디오 +SUXEA4 = 프로 에볼루션 싸커 2010 +SUXJA4 = 위닝 일레븐 플레이 메이커 2010 +SUXPA4 = 프로 에볼루션 싸커 2010 +SUXXA4 = 프로 에볼루션 싸커 2010 +SUXYA4 = 프로 에볼루션 싸커 2010 +SUYDRV = 라브의 충격: 세 번째 일치 +SUZD7K = 베냐민 블륌첸: 퇴뢰에에 동물원 +SV2E78 = 빅 비치 스포츠 2 +SV2P78 = 빅 비치 스포츠 2 +SV3EG9 = 마다가스카 3: 이번엔 서커스다! +SV3PAF = 마다가스카 3: 이번엔 서커스다! +SV4E8P = 버추어 테니스 4 +SV4P8P = 버추어 테니스 4 +SV5PRV = 독일의 보이스 볼륨 2 +SV6SRV = 보이스 +SV7EVZ = 마다가스카의 펭귄들 +SV7PVZ = 마다가스카의 펭귄들 +SVBE52 = 전함 +SVBP52 = 전함 +SVCEPZ = 빅 타임 러쉬: 댄스 파티 +SVCPXT = 빅 타임 러쉬: 댄스 파티 +SVDE52 = 네모바지 스펀지밥: 플랑크톤의 로봇 복수 +SVDP52 = 네모바지 스펀지밥: 플랑크톤의 로봇 복수 +SVEPAF = 드림웍스 - 크루즈 패밀리: 선사 시대 파티 & 가디언즈: 콤보 팩 +SVHE69 = 피파 14 - 레거시 에디션 +SVHP69 = 피파 14 - 레거시 에디션 +SVHX69 = 피파 14 - 레거시 에디션 +SVME01 = 슈퍼 마리오 올 스타즈 +SVMJ01 = 슈퍼 마리오 컬렉션 SVMK01 = 슈퍼 마리오 컬렉션 -HCRK = 젤다의 전설 스카이워드 소드데이터 복구 채널 +SVMP01 = 슈퍼 마리오 올 스타즈: 25 주년 에디션 +SVOEWW = 엘 차보 +SVPESZ = 베이거스 파티 +SVPPNJ = 베이거스 파티 +SVQEVZ = 바비와 자매들: 강아지 구조대 +SVQPVZ = 바비와 자매들: 강아지 구조대 +SVSPZX = 배틀 vs 체스 +SVTEXS = 비트 트립 컴플리트 +SVTP99 = 비트 트립 컴플리트 +SVUPRV = 독일의 보이스 +SVVEG9 = 크루즈 패밀리: 선사 시대 파티! +SVVPAF = 크루즈 패밀리: 선사 시대 파티! +SVWEQH = 베지 월드 +SVXE52 = 스카이랜더즈: 스왑 포스 +SVXF52 = 스카이랜더즈: 스왑 포스 +SVXI52 = 스카이랜더즈: 스왑 포스 +SVXP52 = 스카이랜더즈: 스왑 포스 +SVXX52 = 스카이랜더즈: 스왑 포스 +SVXY52 = 스카이랜더즈: 스왑 포스 +SVYEG9 = 벤 10: 옴니버스 2 +SVYPAF = 벤 10: 옴니버스 2 +SVZEVZ = 드래곤 길들이기 2 +SVZPVZ = 드래곤 길들이기 2 +SW2E52 = 와이프아웃 2 +SW3EJJ = 동계 스타들 +SW3PKM = 동계 스타들 +SW4JA4 = 위닝 일레븐 플레이 메이커 2011 +SW7EVN = 건슬링거즈 +SW7PNK = 서부의 영웅들 +SW8DNG = 위 싱 80년대 +SW8ENG = 위 싱 80년대 +SW8PNG = 위 싱 80년대 +SW9EVN = 위키드 몬스터즈 블래스트! +SW9PYT = 위키드 몬스터즈 블래스트! +SWAE52 = DJ 히어로 +SWAP52 = DJ 히어로 +SWBE52 = DJ 히어로 2 +SWBP52 = DJ 히어로 2 +SX2PNG = 정글 카트즈 +SX3EXJ = 판도라의 탑 +SX3J01 = 판도라의 탑: 너의 곁으로 돌아갈 때까지 +SX3P01 = 판도라의 탑 +SX4E01 = 제노블레이드 연대기 +SX4J01 = 제노블레이드 +SX4P01 = 제노블레이드 연대기 +SX5E4Z = 산타 클로스가 마을로 오고 있어! +SX6JAF = 프리큐어 올 스타즈 전원 집합 ☆ 렛츠 댄스! +SX7E52 = 돌연변이 닌자 거북 +SX7P52 = 돌연변이 닌자 거북 +SX8E52 = 엑스맨 데스티니 +SX8P52 = 엑스맨 데스티니 +SX9PRV = 보이스 볼륨 2 +SXAE52 = 기타 히어로: 월드 투어 +SXAP52 = 기타 히어로: 월드 투어 +SXBE52 = 기타 히어로: 메탈리카 +SXBP52 = 기타 히어로: 메탈리카 +SXCE52 = 기타 히어로: 스매쉬 히츠 +SXCP52 = 기타 히어로: 그레이티스트 히츠 +SXDE52 = 기타 히어로: 반 헤일렌 +SXDP52 = 기타 히어로: 반 헤일렌 +SXEE52 = 기타 히어로 5 +SXEP52 = 기타 히어로 5 +SXFE52 = 밴드 히어로 +SXFP52 = 밴드 히어로 +SXIE52 = 기타 히어로: 락의 전사 +SXIP52 = 기타 히어로: 락의 전사 +SY7PKM = 렛츠 싱 7 - 스페인 버전 +SY8PKM = 렛츠 싱 2015 +SZ2E5G = 줌바 피트니스 2 +SZ2P5G = 줌바 피트니스 2 +SZ2XGT = 줌바 피트니스 2 +SZ3E5G = 줌바 피트니스 월드 파티 +SZ3PGT = 줌바 피트니스 월드 파티 +SZ5E5G = 줌바 피트니스 +SZ5PGT = 줌바 피트니스 +SZ7E41 = 저스트 댄스 2017 +SZ7P41 = 저스트 댄스 2017 +SZAE69 = 락 밴드 2 +SZAP69 = 락 밴드 2 +SZBE69 = 락 밴드 3 +SZBP69 = 락 밴드 3 +AFRE01 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 8. +AMEE01 = 뉴 슈퍼 마리오 브라더스 Wii - 11 어메리칸 레볼루션 +AMNE01 = 어나더 슈퍼 마리오 브라더스 Wii +AMOR04 = 기타 히어로 III 커스텀: HARDcore +APRP01 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 2. +APRP02 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 3. +APRP03 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 6. +APRP04 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 7. +APRP06 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 5. +APRP08 = 뉴 슈퍼 마리오 브라더스 Wii - ANDY AFRO의 커스텀 컬렉션 볼륨 1. +ASMB01 = 어나더 슈퍼 마리오 브라더스 Wii +BEPS01 = 기타 히어로 III 커스텀: 락 엔' 메탈 +BOWE01 = 뉴 슈퍼 마리오 브라더스 Wii - 17 쿠파의 최후의 승리 +C3BE52 = 기타 히어로 III 커스텀: Bossenator +C3FP52 = 키타 히어로 III 커스텀: Fonx #1 +C3KE52 = 기타 히어로 III 커스텀: 카일 에디션 #1 +C3ME52 = 기타 히어로 III 커스텀: 모던 락 +C3PP52 = 기타 히어로 III 커스텀: 모던 팝 & 락 +C4AEE9 = 하베스트 문: 마법의 멜로디 (무지개 버전) +C4GEE9 = 하베스트 문: 또 다른 자랑스러운 인생 +C80E52 = 기타 히어로 III 커스텀: 락 80 년대 +C80P52 = 기타 히어로 III 커스텀: GH I & 80 년대 +CANE52 = 기타 히어로 커스텀: 에어로스미스가 아니지만... +CBIEE9 = 하베스트 문: 프라이드 퍼레이드 +CCPE01 = 마리오 카트 Wii 커스텀: 마스터 레이스 +CEMU69 = 펀에뮤 +CFEE52 = 기타 히어로 III 커스텀: 마이클 잭슨 +CG1E52 = 기타 히어로 III 커스텀: 기타 히어로 +CG1P52 = 기타 히어로 III 커스텀: 기타 히어로 I +CG2E52 = 기타 히어로 III 커스텀: 기타 히어로 II +CG2EFL = 기타 히어로 III 커스텀: GH II +CG2P52 = 기타 히어로 III 커스텀: 기타 히어로 II +CG3ECS = 기타 히어로 III 커스텀: 클래식 에디션 +CG3PCS = 기타 히어로 III 커스텀: 클래식 에디션 +CGBE52 = 기타 히어로 III 커스텀: 락 밴드 +CGBP52 = 기타 히어로 III 커스텀: 락 밴드 +CGH370 = 기타 히어로 III 커스텀: 70 새로운 노래 +CGH3IM = 기타 히어로 III 커스텀: 아이언 메이든 +CGH3LM = 기타 히어로 III 커스텀: 음악의 전설 +CGH3ME = 기타 히어로 III 커스텀: 메탈리카 +CGH3NE = 기타 히어로 III 커스텀: 노스텔지어 에디션 +CGH3WD = 기타 히어로 III 커스텀: WD 커스텀 +CGHCE1 = 기타 히어로 III 커스텀: 에디션 커스텀 +CGHE52 = 기타 히어로 2K16 (커스텀) +CGHE87 = 기타 히어로 III 커스텀: 기타 히어로 I +CGHE88 = 기타 히어로 III 커스텀: 기타 히어로 II +CGHE89 = 기타 히어로 3: 마리오 +CGHE90 = 기타 히어로 3: 사우스 파크 에디션 +CGHE91 = 기타 히어로 3: 빨간 앨범 +CGHE92 = 기타 히어로 3: 파란 앨범 +CGHE93 = 기타 히어로 3: 쉐이크 래틀 앤 롤 +CGHE94 = 기타 히어로 III 커스텀: 화성은 기타가 필요해 +CGHE95 = 기타 히어로 III 커스텀: 락 밴드 +CGHE96 = 기타 히어로 III 커스텀: 락'엔'롤 메탈 +CGHE97 = 기타 히어로 3: 나는 법과 싸웠었어 +CGHE98 = 기타 히어로 3: 스위트 홈 앨라배마주 +CGHE99 = 기타 히어로 III 커스텀: 락 80 년대 +CGHECB = 기타 히어로 III 커스텀: CBT 에디션 +CGHEDC = 기타 히어로 III 커스텀: DLC 에디션 +CGHEDM = 기타 히어로 III 커스텀: 데이브모드 +CGHEMC = 기타 히어로 III 커스텀: 마이 케미컬 로맨스 +CGHENC = 기타 히어로 III 커스텀: N커스텀 +CGHEPH = 기타 히어로 III 커스텀: 꼭두각시 영웅 2 +CGHER2 = 기타 히어로 III 커스텀: 락 밴드 2 +CGHERF = 기타 히어로 III 커스텀: 락페스트 2010 +CGHJ52 = 기타 히어로 III 커스텀: Jumapa +CGHKY2 = 기타 히어로 III 커스텀: 카일 에디션 #2 +CGHPF2 = 기타 히어로 III 커스텀: Fonx #2 +CGHPF3 = 기타 히어로 III 커스텀: Fonx #3 +CGHPF4 = 기타 히어로 III 커스텀: Fonx #4 +CGHPF5 = 기타 히어로 III 커스텀: Fonx #5 +CGHPNT = 기타 히어로 III 커스텀: N토렌츠 에디션 +CGHRH2 = 기타 히어로 III 커스텀: 락 히츠 커스텀 v2 +CGHSKV = 기타 히어로 III 커스텀: 스타칠드런 & 네오즈 버전 +CGIE52 = 기타 히어로 III 커스텀: 아이언 메이든 +CGSP52 = 기타 히어로 III 커스텀: KuXu의 Spanisk 커스텀 +CGVECD = 기타 히어로 에어로스미스 커스텀: AC/DC 에디션 +CGVEM2 = 기타 히어로 에어로스미스 커스텀: 미니 콘서츠 에디션 2 +CGVEMC = 기타 히어로 에어로스미스 커스텀: 미니 콘서츠 에디션 +CGVEUV = 기타 히어로 에어로 스미스 커스텀: 얼티밋 비디오 게임 히어로 +CKBE88 = 마리오 카트 Wii 블랙 +CLAPSI = 싱잇스타: 클래식 +CMDE52 = 기타 히어로 III 커스텀: 메가데스 +CMKE01 = 마리오 카트 Wii 드래곤 로드 +CS0P00 = 스타싱: 발리우드 v2.0 +CS0PZZ = 스타싱: 팝 파트. I v2.0 +CS1P00 = 스타싱: 컨트리 v2.0 +CS1PZZ = 스타싱: 팝 파트. II v2.0 +CS2P00 = 스타싱: 플라시보 v2.0 +CS2PZZ = 스타싱: 80년대 볼륨 1 v2.0 +CS3P00 = 스타싱: 볼륨 1 v2.0 +CS3PZZ = 스타싱: 찬송가 v2.0 +CS4P00 = 스타싱: NRJ 뮤직 투어 v2.0 +CS4PZZ = 스타싱: 전설들 v2.0 +CS5P00 = 스타싱: '70년대 v2.3 +CS5PZZ = 스타싱 : 나의 제다이를 위한 노래들 v1.0 +CS6P00 = 스타싱: 달콤한 프랑스 v2.0 +CS6PZZ = 스타싱: 앰프드 파트. I v2.0 +CS7P00 = 스타싱: 레드 핫 칠리 페퍼즈 v1.0 +CS7PZZ = 스타싱: 앰프드 파트. II v2.0 +CS8P00 = 스타싱: 90년대 볼륨 1 v2.0 +CS8PZZ = 스타싱: 디스코-펑크 v1.0 +CS9P00 = 스타싱: 80년대 볼륨 2 v2.2 +CS9PZZ = 스타싱: 팝 히츠 9 v1.0 +CSAP00 = 스타싱: 80년대 볼륨 3 v2.2 +CSAPZZ = 스타싱: 골드맨 베스트 v1.0 +CSBP00 = 스타싱: 90년대 볼륨 2 v2.2 +CSCP00 = 스타싱: 마이클 잭슨 v2.2 +CSCPZZ = 스타싱: 핫티스트 히츠 v2.0 +CSDP00 = 스타싱: 락! 볼륨 2 v2.0 +CSDPZZ = 스타싱: 보이 밴드즈 vs. 걸 밴드즈 v2.0 +CSEP00 = 스타싱: 팝 히트 5 v2.0 +CSFP00 = 스타싱: 팝 히트 6 v2.0 +CSGP00 = 스타싱: 디즈니 마법 노래 v2.0 +CSHP00 = 스타싱: 볼륨 2 v1.0 +CSIP00 = 스타싱: 팝 히트 7 v2.0 +CSJP00 = 스타싱: 에이프-스키 파티 +CSKP00 = 스타싱: 아바 v1.1 +CSLP00 = 스타싱: 퀸 v2.0 +CSMP00 = 스타싱: 일렉트로-댄스플로어 볼륨 1 v2.0 +CSNP00 = 스타싱: 일렉트로-댄스플로어 볼륨 2 v2.0 +CSOP00 = 스타싱: 일렉트로-댄스플로어 볼륨 3 v2.0 +CSPP00 = 스타싱: 웹스터 홀 뉴욕 린킨 파트 라이브 v2.0 +CSQP00 = 스타싱: 뮤즈 v2.0 +CSRP00 = 스타싱: 인터내셔널 볼륨 3 v1.0 +CSSP00 = 스타싱: 에이프-스키 파티 2 v2.0 +CSTP00 = 스타싱: 디페쉬 모드 v2.0 +CSUP00 = 스타싱: 팝 히트 8 v2.0 +CSVP00 = 스타싱: 비틀즈 볼륨 1 v2.0 +CSWP00 = 스타싱: 락! 볼륨 3 v2.0 +CSXF00 = 스타싱: TV 크레딧 V2.1 +CSYP00 = 스타싱: 일렉트로-댄스플로어 볼륨 4 v2.0 +CSZP00 = 스타싱: 글리 볼륨 1 v2.1 +CT0P00 = 스타싱: 팝 파트. I v2.1 +CT1P00 = 스타싱: 팝 파트. II v2.1 +CT2P00 = 스타싱: 80년대 볼륨 1 v2.1 +CT3P00 = 스타싱: 찬송가 v2.1 +CT4P00 = 스타싱: 전설들 v2.1 +CT5P00 = 스타싱: 나의 제다이를 위한 노래들 v2.0 +CT6P00 = 스타싱: 앰프드 파트. I v2.1 +CT7P00 = 스타싱: 앰프드 파트. II v2.1 +CT8P00 = 스타싱: 디스코-펑크 v2.1 +CT9P00 = 스타싱: 팝 히트 9 v2.0 +CTAP00 = 스타싱: 골드맨 베스트 v2.0 +CTBP00 = 스타싱: 글리 볼륨 3 v1.0 +CTCP00 = 스타싱: 핫티스트 히츠 v2.0 +CTDP00 = 스타싱: 보이 밴드즈 Vs. 걸 밴드즈 v2.1 +CTEP00 = 스타싱: R&B v2.0 +CTFP00 = 스타싱: 락 발라드 v2.0 +CTGP00 = 스타싱: 테이크 댓 v2.0 +CTHP00 = 스타싱: 여름 파티 v2.0 +CTIP00 = 스타싱: 락! 파트. I v2.0 +CTJP00 = 스타싱: 락! 파트. II v2.0 +CTKP00 = 스타싱: 팝 히츠 v2.0 +CTLP00 = 스타싱: 브리트니 스피어스 v2.0 +CTMP00 = 스타싱: 샤키라 v1.2 +CTNP00 = 스타싱: 팝 히츠 10 v2.0 +CTOP00 = 스타싱: 비틀즈 볼륨 2 v2.1 +CTPP00 = 스타싱: 모타운 v2.0 +CTQP00 = 스타싱: 글리 볼륨 2 v1.0 +CTRP00 = 스타싱: 인터내셔널 볼륨 1 v1.0 +CTSP00 = 스타싱: 인터내셔널 볼륨 2 v1.0 +CTTP00 = 스타싱: 80년대 볼륨 4 v2.0 +CTUP00 = 스타싱 : 리한나 v2.0 +CTVP00 = 스타싱: 레이디 가가 v1.1 +CTWP00 = 스타싱: 90년대 볼륨 3 v1.0 +CTXP00 = 스타싱: 레트로 볼륨 1 v1.0 +CTYP00 = 스타싱: 레트로 볼륨 2 v1.0 +CTZP00 = 스타싱: 볼륨 3 v1.0 +CU0P00 = 스타싱: 레트로 볼륨 3 v1.0 +CU1P00 = 스타싱: 걸즈 v1.0 +CU2P00 = 스타싱 : 볼륨 4 v1.1 +CU3P00 = 스타싱 : 레트로 볼륨 4 v1.1 +CU4P00 = 스타싱 : 레트로 볼륨 5 v1.0 +CU5P00 = 스타싱: 인터내셔널 볼륨 4 v1.0 +CU6P00 = 스타싱 : 볼륨 5 v1.0 +CU7P00 = 스타싱 : 레트로 볼륨 6 v1.0 +CU8P00 = 스타싱: 볼륨 6 v1.0 +CU9P00 = 스타싱: 볼륨 7 v1.0 +CVLE38 = 마리오 카트: 승리의 레인 +CYWEE9 = 하베스트 문: 자랑스러운 인생 +DBSBT3 = 드래곤 볼 Z 격투 천하제일 무도회 3 라틴 버전 +DIYP01 = 뉴 슈퍼 마리오 브라더스 Wii 0-4 D.I.Y. +DKCP01 = 다키 카트 리보 +DKWE01 = 다키 카트 Wii 볼륨 1 +DKWE02 = 다키 카트 Wii 볼륨 2 +DKWE03 = 다키 카트 Wii 볼륨 3 +DKWE04 = 다키 카트 Wii 볼륨 4 +DLZEPW = 대난투 스매시 브라더스 X 불사조 날개 +DMKE01 = 마리오 카트 Wii 2 +DMSP4Q = 싱잇스타: 디즈니 베스트 +DQAJSC = 아쿠아리우스 야구: 한계, 그 앞에 (중국어 간체) +DRP22Q = 싱잇스타 독일 락-팝 볼륨 2 +DUAP01 = DU 슈퍼 마리오 브라더스: 애니버서리 에디션 +DUCE01 = 커스텀 마리오카트 Wii +DUDE01 = 뉴 슈퍼 마리오 브라더스 Wii 스코비-두! 핵 +ENDP01 = 뉴 슈퍼 마리오 브라더스 Wii 20 지금의 끝 +EVOP01 = 뉴 슈퍼 마리오 브라더스 Wii 0-5 에볼루션 +FF4ENG = 페이탈 프레임 4: 월식의 가면 +G0050C = 포켓몬: 블루 버전 +G0060C = 포켓몬: 레드 버전 +G01E01 = 대난투 스매시 브라더스 DX: SD 리믹스 +G01J01 = 대난투 스매시 브라더스 DX: SD 리믹스 +G01P01 = 대난투 스매시 브라더스 DX: SD 리믹스 +G02E01 = 대난투 스매시 브라더스 DX: 20XX 트레이닝 팩 +G02J01 = 대난투 스매시 브라더스 DX: 20XX 트레이닝 팩 +G02P01 = 대난투 스매시 브라더스 DX: 20XX 트레이닝 팩 +GFZJ8P = F-제로 AX +GGPE01 = 마리오 카트 아케이드 GP +GGPE02 = 마리오 카트 아케이드 GP 2 +GGPJ02 = 마리오 카트 아케이드 GP 2 +GLSE01 = 슈퍼 루이지 선샤인 +GM2EDX = 슈퍼 몽키 볼 디럭스 +GMSE02 = 슈퍼 마리오 선샤인 멀티플레이어 +GTME01 = 대난투 스매시 브라더스 DX 트레이닝 모드 +GVS32E = 버추어 스트라이터 3 버전.2002 +GVS32J = 버추어 스트라이터 3 버전.2002 (트라이포스) +GVS45J = 버추어 스트라이커 4 +GVS46E = 버추어 스트라이커 4 버전.2006 +GVS46J = 버추어 스트라이커 4 버전.2006 +GVSJ9P = 버추어 스트라이커 4 버전.2006 +GX2E01 = 포켓몬 XG: 넥스트 제너레이션 +GXTE8P = 소닉 라이더즈 토너먼트 에디션 +HBWE01 = 뉴 슈퍼 마리오 브라더스 Wii: 헬보이 에디션 +HSMP01 = 하더 슈퍼 마리오 브라더스 Wii +JOUE01 = 뉴 슈퍼 마리오 브라더스 Wii 10 여행 +KHPE01 = 커비 에어 라이드 핵 팩 +KLSEXJ = 마지막 이야기 (NTSC-U, 일본어 오디오) +KMKE01 = 커스텀 마리오 카트 Wii +KMNE03 = 뉴어 슈퍼 마리오 브라더스 Wii +KMNE10 = 쿠파 컨트리 +KMNJ03 = 뉴어 슈퍼 마리오 브라더스 Wii +KMNP03 = 뉴어 슈퍼 마리오 브라더스 Wii +KMNP10 = 쿠파 컨트리 +L40P4Q = 싱 잇: 팝 히츠, 메인 40 +MDUE01 = 마리오 카트: 트랙 그랑프리 +MECPSI = 싱잇스타: 메카노 +METE01 = 뉴 슈퍼 메트로이드 브라더스 Wii +MG1E01 = 슈퍼 마리오 갤럭시 +MIJPSI = 싱잇스타 마이클 잭슨 +MILPSI = 잇 잇 스타: Miliki +MK7P41 = 마리오 카트 7 Wii +MKDE02 = 다키 카트 Wii +MKTE01 = 마리오 카트 Wii 테크닉 +MKWP01 = 슈퍼 마리오 카트 Wii +MMRE01 = D.U. 슈퍼 마리오 브라더스 2.1 매드니스 리턴즈 +MRRE01 = 뉴 슈퍼 마리오 브라더스 Wii 레트로 리믹스 +MRRP01 = 뉴 슈퍼 마리오 브라더스 Wii 레트로 리믹스 +NEWE01 = 뉴 슈퍼 마리오 브라더스 Wii 15 새로운 세계 +NMGE01 = 네오 마리오 갤럭시 +NMGP01 = 네오 마리오 갤럭시 +NMNP01 = 뉴어 슈퍼 마리오 브라더스 Wii +NRJ1FR = 스타싱: NRJ 뮤직 투어 v1.1 +NSMB02 = 뉴 슈퍼 마리오 브라더스 Wii 2 +NSSP01 = 뉴어 썸머 선 +NWRP01 = 뉴어 슈퍼 마리오 브라더스 Will +ONKELZ = 싱잇스타 뵈제 옹켈츠 PAL +OTFPSI = 싱 잇: Operación triunfo +PDUE01 = 어나더 슈퍼 마리오 브라더스 Wii +PIKE25 = 피크민 251 +PMNEO1 = 뉴 올드 슈퍼 마리오 브라더스 +POPPSI = 싱잇스타 팝 +PPNE01 = 뉴 슈퍼 마리오 브라더스 Wii 2: 넥스트 레벨즈 +PPNP01 = 뉴 슈퍼 마리오 브라더스 Wii 2: 넥스트 레벨즈 +PRMEME = 슈퍼 스매시 브라더스 프로젝트 메메 6.9 +PROE01 = 뉴 슈퍼 마리오 브라더스 Wii 14 프로젝트 마리오 +PT1PSI = 싱잇스타 포르투갈 히츠 +PT2PSI = 싱잇 포루투갈 히츠 썸머 파티 +PT3PSI = 싱 잇 포루투갈 히츠: 설탕 딸기 +PUTA01 = 기타 히어로 III 커스텀: 록 히츠 +PWNP69 = Pwned 슈퍼 마리오 브라더스 Wii +R01PET = 싱잇스타 퀸 +R02PEA = 싱잇스타 락 발라드즈 +R15POH = 싱잇 스타 라디오 105 +R4ZE01 = 령: 월식의 가면 +R4ZP01 = 령 제로: 월식의 가면 +R7FEUD = 파이널 판타지 우화집: 초코보의 던전 (언덥) +R8FJSC = 장인 레스토랑은 대성공! +R8PC01 = 슈퍼 페이퍼 마리오 +RADP01 = 뉴 슈퍼 마리오 브라더스 Wii 0-6 레이디언스 +RCCR78 = 기타 히어로 III 커스텀: 코히드 앤 캠브리아 +RCHC52 = 기타 히어로 III 커스텀: 기타 히어로 II +RCOC99 = 명탐정 코난: 추억의 환상 +RCTE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 스페인어 버전 베타 1 +RDCE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 스페인어 버전 베타 2 +RDPE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 스페인어 버전 베타 1 +RDSZ70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 라틴어 버전 +RDUE01 = DU 슈퍼 마리오 브라더스: 저 공주를 찾아서 +RDWE70 = 드래곤 볼 Z 격투 천하제일 무도회 3 버전! 라틴어 [감마][커스텀] +RDXE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 라틴어 버전 베타 3 +RDYE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 라틴어 버전 베타 3 업데이트 1 +RDZE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 라틴어 버전 +REBE70 = 드래곤 볼 Z 격투 천하제일 무도회 2: 알파 +REVE64 = 레보 카트 64 +REYE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 라틴어 버전 베타 3 업데이트 2 +RFEPUD = 파이어 엠블렘: 새벽의 여신 (언덥) +RFYE70 = 드래곤 볼 Z 격투 천하제일 무도회 3: 라틴어 버전 베타 3 업데이트 3 +RG0E52 = 기타 히어로 III 커스텀: 그린 데이 플러스 +RG1552 = 기타 히어로 III 커스텀: 위어드 알 얀코빅 +RG1E52 = 기타 히어로 III 커스텀: 리벤지 +RG2E52 = 기타 히어로 III 커스텀: 비틀즈 플러스 +RG3E52 = 기타 히어로 III 커스텀: 뮤즈 앤 러쉬 +RG4152 = 기타 히어로 III 커스텀: 썸 41 +RG4E52 = 기타 히어로 마야의 묵시록 +RG9E52 = 기타 히어로 III 커스텀: 아나키 +RGCM52 = 기타 히어로 III 커스텀: 메탈리카 +RGCS52 = 기타 히어로 III 커스텀: 클래식 에디션 +RGEK52 = 기타 히어로 III 커스텀: 슬립낫 +RGGE52 = 기타 히어로 III 커스텀: 락 더 게임즈 +RGHC20 = 기타 히어로 III 커스텀: 페일 에디션 +RGHC53 = 기타 히어로 III 뮤즈 +RGHE18 = 기타 히어로 2k18 +RGHE51 = 기타 히어로 III 커스텀: 아스페로 +RGHE60 = 기타 히어로 III 커스텀: WTF 커스텀 +RGHE61 = 기타 히어로 3: 나는 법과 싸웠었어 +RGHE62 = 기타 히어로 3: 스윗 홈 앨라배마주 +RGHE69 = 기타 히어로 III 커스텀: 메탈의 전설들 +RGHEMR = 기타 히어로 III 커스텀: 모던 락 +RGHI52 = 기타 히어로 III 커스텀: 침바 +RGHPOH = 싱잇스타 이탈리아 그레이티스트 히츠 +RGHPS2 = 기타 히어로 III 커스텀: J-뮤직 +RGHX52 = 기타 히어로 III 커스텀: 아니메의 알렉스 짱 +RGKE52 = 기타 히어로 III 커스텀: 콘 +RGRM52 = 기타 히어로 III 커스텀: 락 & 메탈 +RGVE99 = 기타 히어로 에어로스미스 커스텀: 에어로스미스는 아니지만... +RGXEFN = 기타 히어로 III 커스텀: 메테오 라스트 커스텀 +RGXM52 = 기타 히어로 III 커스텀: xMxExTxAxLx의 에디션 +RGZC52 = 기타 히어로 III 커스텀: 레드 제플린 +RGZE52 = 기타 히어로 III 커스텀: 쉬레드 에디션 +RHD222 = 하우스 오브 데드 2 +RHD333 = 하우스 오브 데드 3 +RHGH52 = 기타 히어로 III 커스텀: 랜덤히어로즈 +RI1POH = 싱잇스타 이탈리안 파티 +RI2POH = 싱잇스타 이탈리안 파티 볼륨 2 +RI3POH = 싱잇스타 이탈리안 탑.잇 +RJJG52 = 기타 히어로 III 커스텀: JJ-KwiK의 에디션 +RJUE41 = 저스트 댄스 차이나 +RK2EUD = 트라우마 센터: 새로운 피 (언덥) +RKDEUD = 트라우마 센터: 다른 의사의 진단 (언덥) +RL9ESD = 기타 히어로 린킨 파크 +RLIL78 = 기타 히어로 두 번째 커스텀 +RMCC01 = 마리오 카트 Wii (커스텀) +RMCE02 = Wiimms 마리오 카트 Wii 펀 2010-02.PAL +RMCE03 = Wiimms 마리오 카트 Wii 펀 2010-10.PAL +RMCE04 = Wiimms 마리오 카트 Wii 펀 2010-12.PAL +RMCE05 = Wiimms 마리오 카트 Wii 펀 2010-12.PAL +RMCE06 = Wiimms 마리오 카트 Wii 펀 2010-12.NTSC +RMCE07 = Wiimms 마리오 카트 Wii 레트로 2011-02.NTSC +RMCE08 = Wiimms 마리오 카트 Wii 펀 2011-03.NTSC +RMCE09 = Wiimms 마리오 카트 Wii 펀 2011-06.NTSC +RMCE10 = Wiimms 마리오 카트 Wii 펀 2011-07.NTSC +RMCE11 = Wiimms 마리오 카트 Wii 펀 2011-08.NTSC +RMCE12 = Wiimms 마리오 카트 Wii 펀 2011-11.NTSC +RMCE13 = Wiimms 마리오 카트 Wii 펀 2012-01.NTSC +RMCE14 = Wiimms 마리오 카트 Wii 리바이벌 2012-02.NTSC +RMCE15 = Wiimms 마리오 카트 Wii 부스트 2012-03.NTSC +RMCE16 = Wiimms 마리오 카트 Wii 펀 2012-05.NTSC +RMCE17 = Wiimms 마리오 카트 Wii 펀 2012-09.NTSC +RMCE18 = Wiimms 마리오 카트 Wii N64 2012-10.NTSC +RMCE19 = Wiimms 마리오 카트 Wii 펀 2012-12.NTSC +RMCE20 = Wiimms 마리오 카트 Wii 펀 2013-04.NTSC +RMCE21 = Wiimms 마리오 카트 Wii 펀 2013-09.NTSC +RMCE22 = Wiimms 마리오 카트 Wii 펀 2013-10.NTSC +RMCE23 = Wiimms 마리오 카트 Wii 펀 2014-01.NTSC +RMCE24 = Wiimms 마리오 카트 Wii 레트로 2014-02.NTSC +RMCE25 = Wiimms 마리오 카트 Wii 펀 2014-04.NTSC +RMCE26 = Wiimms 마리오 카트 Wii 펀 2014-11.NTSC +RMCE27 = Wiimms 마리오 카트 Wii 펀 2015-03.NTSC +RMCE28 = Wiimms 마리오 카트 Wii 레트로 2015-05.NTSC +RMCE29 = Wiimms 마리오 카트 Wii 펀 2015-08.NTSC +RMCE30 = Wiimms 마리오 카트 Wii 펀 2015-12.NTSC +RMCE31 = Wiimms 마리오 카트 Wii 펀 2016-02.NTSC +RMCE32 = Wiimms 마리오 카트 Wii 펀 2016-07.NTSC +RMCE33 = Wiimms 마리오 카트 Wii 펀 2016-10.미국 +RMCE34 = Wiimms 마리오 카트 Wii 펀 2017-05.미국 +RMCE35 = Wiimms 마리오 카트 Wii 펀 2017-12.미국 +RMCE36 = Wiimms 마리오 카트 Wii 펀 2018-03.미국 +RMCE37 = Wiimms 마리오 카트 Wii 펀 2018-06.미국 +RMCE38 = Wiimms 마리오 카트 Wii 펀 2018-09.미국 +RMCE3H = 3Hunts의 커스텀 트랙 팩 +RMCE40 = Wiimms 마리오 카트 Wii 펀 2019-03.미국 +RMCE41 = Wiimms 마리오 카트 Wii 펀 2019-06.미국 +RMCE42 = Wiimms 마리오 카트 Wii 펀 2019-10.미국 +RMCE43 = Wiimms 마리오 카트 Wii 펀 2020-02.미국 +RMCE44 = Wiimms 마리오 카트 Wii 펀 2020-06.미국 +RMCE45 = Wiimms 마리오 카트 Wii 펀 2020-12 +RMCE54 = 마리오 카트 크리스 디럭스 2 +RMCE64 = 피치 카트 8 +RMCE69 = 크리아 카트 Wii +RMCE70 = 스틱보이 카트 Wii +RMCE73 = 마리오 카트 어드벤처즈 +RMCE74 = 마리오 카트 어드벤처즈 +RMCE75 = 캠, 톰, 트로이의 CTGP 팩 +RMCE76 = 프로 CT 팩 +RMCE77 = Spy Kid의 CT 팩 +RMCE78 = 마리오 카트: 더블 대쉬!! Wii +RMCE7T = 큐버의 핵 팩 +RMCE81 = Spade의 커스텀 트랙 팩 +RMCE86 = 마리오 카트 크리스 3.500 CT +RMCE88 = 마리오 카트 크리스 디럭스 3.0 +RMCE89 = 마리오 카트 크리스 쿠인 +RMCE8X = 마리오 카트 Wii X DS +RMCE92 = 마리오 카트 WiiLH100의 커스텀 트랙 팩 +RMCE93 = 마리오 카트 Wii 핵 팩 +RMCE96 = 마리오 카트 6 +RMCE98 = 마리오 카트 Wii 어썸네스 +RMCE9R = 루키의 텍스처와 음악 팩 +RMCEA1 = 마리오 카트 어드벤처 +RMCEA5 = 알파의 트랙 믹스 +RMCEA8 = 마리오 카트 아케이드 JY +RMCEA9 = 마리오 카트 Wii - 더 탑 100 +RMCEB1 = 마리오 카트 Wii 2017 +RMCEB2 = 마리오 카트 Wii 2017 - 버전 2.0 +RMCEB4 = 마리오 카트 Wii 디럭스 +RMCEB6 = 마리오 카트 7 JY +RMCEB8 = 마리오 카트 매니아 +RMCECH = 크리스 카트 Wii +RMCECT = 마리오 카트 Wii CTGP 레볼루션 +RMCECY = CTGP 클래식 팩 +RMCED3 = 드라이쿠파 카트 Wii +RMCEDK = 다키 카트 Wii +RMCEF1 = 팬시의 CT 팩 +RMCEFE = 팬시의 CT 팩 - 엑스트라 에디션 +RMCEG2 = 마리오 카트 Wii CTGP 레볼루션 +RMCEG4 = Diddz' 갱 커스텀 트랙 팩 +RMCEG5 = 뉴 마리오 카트 Wii 64 +RMCEGP = 마리오 카트 Wii CTGP 레볼루션 +RMCEH8 = HD의 레트로 팩 +RMCEJ6 = JHFR CT 팩 +RMCEL1 = Luma의 CT 팩 +RMCEL9 = 마리오 카트 레가시 +RMCELG = 레거시 카트 Wii +RMCEM4 = 마리오 카트 슈퍼 서킷 Wii +RMCEM6 = 뉴 마리오 카트 7 +RMCEM9 = 뉴 마리오 카트: 더블 대쉬!! +RMCEMZ = 미지의 텍스처 팩 +RMCEO4 = 옵트팩 CT 팩 +RMCEPG = 펭귄 카트 Wii +RMCER9 = 로사 카트 Wii +RMCERB = 베어 카트 Wii +RMCEST = Skipper의 200Kmh 디스트리뷰션 +RMCET0 = TomB의 CT 팩 +RMCET6 = Man - O - Wii의 작은 즐겨찾기 팩 +RMCET7 = 캠, 톰, 트로이의 CT 팩 +RMCEU7 = 마리오 카트 Wii 울트라 팩 +RMCEVI = 빈티지 카트 Wii +RMCEVK = 바이올렛 카트 Wii +RMCEVY = 버라이어티 택 +RMCEW6 = 마리오 카트 Wii 얼티밋 +RMCEW8 = 와루이지 카트 Wii +RMCEWS = Wine의 CT 팩 +RMCEX4 = 마리오 카트 X +RMCEX5 = 마리오 카트 Wii - 배틀 르와이얄 +RMCEY8 = 이트 카트 Wii +RMCEY9 = Yosh의 트랙 팩 +RMCEZ2 = ZPL의 트랙 컬랙션 +RMCEZ8 = 제프 카트 Wii +RMCEZC = 제프의 CT 팩 +RMCJ12 = Wiimms 마리오 카트 Wii 펀 2011-11.일본 +RMCJ30 = Wiimms 마리오 카트 Wii 펀 2015-12.일본 +RMCJ31 = Wiimms 마리오 카트 Wii 펀 2016-02.일본 +RMCJ32 = Wiimms 마리오 카트 Wii 펀 2016-07.일본 +RMCJ33 = Wiimms 마리오 카트 Wii 펀 2016-10.일본 +RMCJ34 = Wiimms 마리오 카트 Wii 펀 2017-05.일본 +RMCJ35 = Wiimms 마리오 카트 Wii 펀 2017-12.일본 +RMCJ36 = Wiimms 마리오 카트 Wii 펀 2018-03.일본 +RMCJ37 = Wiimms 마리오 카트 Wii 펀 2018-06.일본 +RMCJ38 = Wiimms 마리오 카트 Wii 펀 2018-09.일본 +RMCJ40 = Wiimms 마리오 카트 Wii 펀 2019-03.일본 +RMCJ41 = Wiimms 마리오 카트 Wii 펀 2019-06.일본 +RMCJ42 = Wiimms 마리오 카트 Wii 펀 2019-10.일본 +RMCJ43 = Wiimms 마리오 카트 Wii 펀 2020-02.일본 +RMCJ44 = Wiimms 마리오 카트 Wii 펀 2020-06.일본 +RMCJ64 = 피치 카트 8 +RMCJ76 = 프로 CT 팩 +RMCJ86 = 마리오 카트 크리스 3.500 CT +RMCJ93 = 마리오 카트 Wii 핵 팩 +RMCJA1 = 마리오 카트 어드벤처즈 v0.8 +RMCJCT = 마리오 카트 Wii CTGP 레볼루션 +RMCJL1 = Luma의 CT 팩 +RMCK41 = Wiimms 마리오 카트 Wii 펀 2019-06.한국 +RMCK42 = Wiimms 마리오 카트 Wii 펀 2019-10.한국 +RMCK43 = Wiimms 마리오 카트 Wii 펀 2020-02.한국 +RMCK44 = Wiimms 마리오 카트 Wii 펀 2020-06.한국 +RMCK45 = Wiimms 마리오 카트 Wii 펀 2020-12.한국 +RMCK86 = 마리오 카트 크리스 3.5 캐럿 +RMCP02 = Wiimms 마리오 카트 Wii 펀 2010-02.유럽 +RMCP03 = Wiimms 마리오 카트 Wii 펀 2010-10.유럽 +RMCP04 = Wiimms 마리오 카트 Wii 펀 2010-12.유럽 +RMCP05 = 커스텀 마리오 카트 Wii +RMCP06 = Wiimms 마리오 카트 Wii 펀 2010-12.유럽 +RMCP07 = Wiimms 마리오 카트 Wii 펀 2011-02.유럽 +RMCP08 = Wiimms 마리오 카트 Wii 펀 2011-03.유럽 +RMCP09 = Wiimms 마리오 카트 Wii 펀 2011-06.유럽 +RMCP10 = Wiimms 마리오 카트 Wii 펀 2011-07.유럽 +RMCP11 = Wiimms 마리오 카트 Wii 펀 2011-08.유럽 +RMCP12 = Wiimms 마리오 카트 Wii 펀 2011-11.유럽 +RMCP13 = Wiimms 마리오 카트 Wii 펀 2012-01.유럽 +RMCP14 = Wiimms 마리오 카트 Wii 리바이벌 2012-02.유럽 +RMCP15 = Wiimms 마리오 카트 Wii 부스트 2012-03.유럽 +RMCP16 = Wiimms 마리오 카트 Wii 펀 2012-05.유럽 +RMCP17 = Wiimms 마리오 카트 Wii 펀 2012-09.유럽 +RMCP18 = Wiimms 마리오 카트 Wii 펀 N64 2012-10.유럽 +RMCP19 = Wiimms 마리오 카트 Wii 펀 2012-12.유럽 +RMCP20 = Wiimms 마리오 카트 Wii 펀 2013-04.유럽 +RMCP21 = Wiimms 마리오 카트 Wii 펀 2013-09.유럽 +RMCP22 = Wiimms 마리오 카트 Wii 펀 2013-10.유럽 +RMCP23 = Wiimms 마리오 카트 Wii 펀 2014-01.유럽 +RMCP24 = Wiimms 마리오 카트 Wii 레트로 2014-02.유럽 +RMCP25 = Wiimms 마리오 카트 Wii 펀 2014-04.유럽 +RMCP26 = Wiimms 마리오 카트 Wii 펀 2014-11.유럽 +RMCP27 = Wiimms 마리오 카트 Wii 펀 2015-03.유럽 +RMCP28 = Wiimms 마리오 카트 Wii 레트로 2015-05.유럽 +RMCP29 = Wiimms 마리오 카트 Wii 펀 2015-08.유럽 +RMCP30 = Wiimms 마리오 카트 Wii 펀 2015-12.유럽 +RMCP31 = Wiimms 마리오 카트 Wii 펀 2016-02.유럽 +RMCP32 = Wiimms 마리오 카트 Wii 펀 2016-07.유럽 +RMCP33 = Wiimms 마리오 카트 Wii 펀 2016-10.유럽 +RMCP34 = Wiimms 마리오 카트 Wii 펀 2017-05.유럽 +RMCP35 = Wiimms 마리오 카트 Wii 펀 2017-12.유럽 +RMCP36 = Wiimms 마리오 카트 Wii 펀 2018-03.유럽 +RMCP37 = Wiimms 마리오 카트 Wii 펀 2018-06.유럽 +RMCP38 = Wiimms 마리오 카트 Wii 펀 2018-09.유럽 +RMCP39 = Wiimms 마리오 카트 Wii 펀 2018-12.유럽 +RMCP40 = Wiimms 마리오 카트 Wii 펀 2019-03.유럽 +RMCP41 = Wiimms 마리오 카트 Wii 펀 2019-06.유럽 +RMCP42 = Wiimms 마리오 카트 Wii 펀 2019-10.유럽 +RMCP43 = Wiimms 마리오 카트 Wii 펀 2020-02.유럽 +RMCP44 = Wiimms 마리오 카트 Wii 펀 2020-06.유럽 +RMCP64 = 피치 카트 8 +RMCP76 = 프로 CT 팩 +RMCP86 = 마리오 카트 크리스 3.500CT +RMCP93 = 마리오 카트 Wii 핵 팩 +RMCPA1 = 마리오 카트 어드벤처 +RMCPG2 = 마리오 카트 Wii CTGP 레볼루션 +RMCPGP = 마리오 카트 CTGP 레볼루션 +RMCPL1 = Luma의 CT 팩 +RMGC01 = 슈퍼 마리오 갤럭시 +RMGE52 = 기타 히어로 III 커스텀: 메가데스 +RMGR01 = 슈퍼 마리오 갤럭시 +RMHC08 = 몬스터 헌터 3 (커스텀) +RMKE02 = 커스텀 카트 1 +RMMP52 = 기타 히어로 III 커스텀: 메탈 메이햄 +RNEEUD = 나루토 질풍전: 닌자 격돌 레볼루션 3 (언덥) +ROMESD = 몬스터 헌터 G (영어 패치) +RPJEUD = 아크 라이즈 판타지아 (언덥) +RQQE52 = 기타 히어로 III 커스텀 : 퀸 +RSBE02 = 슈퍼 스매시 브라더스 프로젝트 엠 레드 버전 +RSBE03 = 대난투 스매시 브라더스 X DX +RSBE04 = 슈퍼 스매시 브라더스 프로젝트 엠+ +RSBE05 = 슈퍼 스매시 브라더스 프로젝트 엠 Patt 에디션 +RSBE06 = Darkon360의 대난투 핵 팩 +RSBE07 = 슈퍼 스매시 브라더스 프로젝트 엠: Theytah의 커스텀 빌드 +RSBE08 = 말란 프로젝트 엠 3.6 +RSBE09 = Springboy64의 대난투 핵 팩 +RSBE10 = 대난투 Ying Yang 에디션 +RSBE11 = MGW 교수의 토너먼트 핵 팩 #1 +RSBE12 = MGW 교수의 토너먼트 핵 팩 #2 +RSBE13 = MGW 교수의 토너먼트 핵 팩 #3 +RSBE14 = 대난투 스매시 브라더스 X: 제우스 +RSBE15 = 대난투 스매시 브라더스 X 마이너스 뮤겐 +RSBE16 = 대난투 스매시 브라더스 X 쇼크 +RSBE17 = 대난투 스매시 브라더스 X 배틀필드 빌드 +RSBE18 = 슈퍼 스매시 브라더스 프로젝트 M: 토너먼트 핵 팩 +RSBE19 = 슈퍼 스매시 브라더스 프로젝트 M: 풀리 드레스드 에디션 +RSBE20 = Pikezer의 BrawlEx 팩 +RSBE21 = Calabrel의 커스텀 프로젝트 M 빌드 +RSBE22 = 프로젝트 M: Rage83의 컴페터티브 커스텀 빌드 +RSBE23 = 슈퍼 스매시 브라더스 프로젝트 M: 저스티스 빌드 +RSBE24 = 슈퍼 스매시 브라더스 3 +RSBE25 = 슈퍼 스매시 브라더스 레드 버전 +RSBE26 = 슈퍼 스매시 브라더스 실버 +RSBE27 = Springboy64의 대난투 스매시 브라더스 X 핵 팩 +RSBE28 = SuperYoshiStar의 슈퍼 스매시 브라더스 대난투 핵 팩 +RSBE29 = 슈퍼 스매시 브라더스 프로젝트 M: YoeiX 커스텀 빌드 +RSBE30 = 슈퍼 스매시 브라더스 프로젝트 M: Arko의 로디드 커스텀 빌드 +RSBE31 = 슈퍼 스매시 브라더스 프로젝트 M: Arko의 토너먼트 커스텀 빌드 +RSBE32 = 슈퍼 스매시 브라더스 프로젝트 M: Sempai의 빌드 +RSBE33 = 대난투 스매시 브라더스 X 음양 에디션 2: 규의 균형 +RSBE34 = 슈퍼 스매시 브라더스 프로젝트 U: 블루 버전 +RSBE35 = 대난투 스매시 브라더스 X 레거시: 프로젝트 M +RSBE36 = 슈퍼 스매시 브라더스 프로젝트 베스트 +RSBE37 = 슈퍼 스매시 브라더스 프로젝트 M: Psycho Ghost의 빌드 +RSBE38 = 슈퍼 스매시 시스터즈 제너레이션즈 2 +RSBE39 = 슈퍼 스매시 브라더스 울트라 프로젝트 M +RSBE40 = 슈퍼 스매시 브라더스 프로젝트 M: 라그나로크 에디션 +RSBE41 = 슈퍼 스매시 브라더스 프로젝트 M: Calabrel의 커스텀 빌드 +RSBE42 = 슈퍼 스매시 브라더스 프로젝트 M: RedX 애니메/게임 커스텀 빌드 +RSBE43 = 대난투 스매시 브라더스 X: MASTERLINKX의 커스텀 팩 +RSBE44 = 대난투 스매시 브라더스 X: 섀도우 버전 +RSBE45 = 대난투 스매시 브라더스 X: Shock44의 커스텀 빌드 +RSBE46 = 대난투 스매시 브라더스 X: DragonD101의 텍스쳐 팩 +RSBE47 = 대난투 스매시 브라더스 X: XChosen1의 텍스쳐 팩 +RSBE49 = 대난투 스매시 브라더스 X: 워터 블록 에디션 +RSBE50 = 슈퍼 스매시 브라더스 프로젝트 U: 울트라 버전 +RSBEAA = 마벨과 캡콤 vs 슈퍼 스매시 브라더스 +RSBEBB = 슈퍼 스매시 브라더스 균형잡힌 대난투 +RSBEBM = 대난투 스매시 브라더스 X 마이너스 +RSBEBP = 대난투 스매시 브라더스 X 플러스 +RSBEC3 = 슈퍼 스매시 브라더스 프로젝트 M 3.5 넷플레이 빌드 +RSBEDH = 대난투 스매시 브라더스 X 다크 홀/D.A.R.S. +RSBEDT = 슈퍼 스매시 브라더스 얼티밋 다크 피닉스: 토너먼트 에디션 +RSBEN1 = 슈퍼 스매시 브라더스 프로젝트 M +RSBEPM = 슈퍼 스매시 브라더스 프로젝트 M +RSBEPW = 슈퍼 스매시 브라더스 프로젝트 M Wi-Fi +RSBETE = 슈퍼 스매시 브라더스 레거시 TE +RSBEWM = 슈퍼 스매시 브라더스 프로젝트 M Wi-Fi +RSBEXP = 슈퍼 스매시 브라더스 레거시 XP +RSBP02 = Master4Robin의 대난투 스매시 브라더스 X 핵 팩 +RSFC99 = 무라마사: 데몬 블래이드 (커스텀) +RSJESD = 기타 히어로 III 커스텀: 시스템 오브 어 다운 +RSXX78 = 기타 히어로 라디오헤드 +RSYP06 = 대난투 스매시 브라더스 X: YF06의 모드 +RT4EUD = 테일즈 오브 심포니아: 라타토스크의 기사 언덥 +RTME70 = 드래곤 볼 Z 격투 천하제일 무도회 3 WII TSM +RU1P4Q = 디즈니 싱 잇: 싱 잇 스타 싱스타 1 +RU2P4Q = 디즈니 싱 잇: 싱 잇 스타 싱스타 2 +RUIGGD = 싱잇스타 너드. 80 년대 +RWDC52 = 기타 히어로 III 커스텀: WD 커스텀 +RWWE52 = 기타 히어로 III 커스텀 : WWE 더 히츠 +RXGC15 = 기타 히어로 III 커스텀: A7X (어벤지드 세븐폴드) +RYAJSC = 얏타맨 Wii 깜짝 깜짝 머신으로 맹 레이스다 코론 (중국어 간체) +RZDC01 = 젤다의 전설: 황혼의 공주 커스텀 +S02PES = 싱잇스타 90년대 +S12E41 = 저스트 댄스: 최고 2 +S2PE41 = 저스트 댄스 2020 플러스 +S5UE41 = 저스트 댄스 무한 파티 +S80U3Q = 싱잇스타 얼티밋 80년대 +S85E41 = 저스트 댄스 2021 +S85P41 = 저스트 댄스 2021 +SAME01 = 뉴 슈퍼 마리오 브라더스 Wii 11 아메리칸 레볼루션 +SANE01 = 뉴 슈퍼 마리오 브라더스 Wii 파이브 스피카 에디션 +SANT3Q = 싱잇스타 찬송가 +SARP01 = 뉴 슈퍼 마리오 브라더스 Wii - 4 아르카디아 어너더 라이드 +SB3EUD = 전국 바사라: 사무라이 히어로즈 (언덥) +SB4C01 = 슈퍼 마리오 갤럭시 2 (커스텀) +SB4E02 = 네오 마리오 갤럭시 +SB4E03 = 슈퍼 마리오 갤럭시 +SB4E04 = 슈퍼 마리오 선샤인 갤럭시 +SB4E05 = 시즌 사이클 갤럭시 +SB4E25 = 슈퍼 마리오 갤럭시 2.5 +SB4J02 = 네오 마리오 갤럭시 +SB4J05 = 시즌 싸이클 갤럭시 +SB4P02 = 네오 마리오 갤럭시 +SB4P05 = 시즌 싸이클 갤럭시 +SBOD3Q = 싱잇스타 디즈니 베스트 +SBSE01 = 뉴 슈퍼 마리오 브라더스 Wii - 17 쿠파의 최후의 승리 +SBVG3Q = 싱잇스타 보이밴드즈 vs 걸밴드즈 +SBWC11 = 뉴 슈퍼 마리오 브라더스 3: 섀도우 쿠파의 분노 +SCLE01 = 클리프 슈퍼 마리오 브라더스 Wii +SCLJ01 = 클리프 슈퍼 마리오 브라더스 Wii +SCLP01 = 클리프 슈퍼 마리오 브라더스 Wii +SCTE01 = 검은 개구리의 저주 +SDAE01 = 스쿠비-두! 브라더스 어드벤처 +SDNP01 = 뉴 슈퍼 도도 브라더스 Wii +SDRP3Q = 싱잇스타 도일 락-팝 볼륨 1 +SDTH3Q = 싱잇스타 디 토텐 호젠 +SDUEO1 = DU 슈퍼 마리오 브라더스 : DU 에디션 +SDUPO1 = DU 슈퍼 마리오 브라더스 : DU 에디션 +SE1E41 = 저스트 댄스 이스트 +SEOP01 = 뉴 슈퍼 마리오 브라더스 Wii 8 오메가 +SEOP4Q = 싱 잇: 스페인 팝의 황금기 +SFDE01 = 뉴 슈퍼 마리오 브라더스 Wii 9 미덕: 이번 가을 어둠 +SFRE01 = 슈퍼 마리오 브라더스 프로즌 에디션 +SFRJ01 = 슈퍼 마리오 브라더스 프로즌 에디션 +SFRP01 = 슈퍼 마리오 브라더스 프로즌 에디션 +SGI1CL = 싱잇 Clásicos +SGI1DB = 싱 잇: 애니메이션 +SGI1MC = 싱잇스타 메카노 +SGI1ML = 싱 잇 스타: Miliki +SGI1PT = 싱 잇: 파티 +SGI1RC = 싱 잇: 락스 2 +SGPTI1 = 싱 잇 파티 +SHIE41 = 저스트 댄스 히트 +SIABOH = 싱잇스타 플라시보 +SIBBHJ = 싱잇스타 컨트리 +SIESP1 = 싱 잇: 스페인 노래 +SIFPOH = 싱 4: 히츠 에디션 +SILP4Q = 싱 잇 라틴 +SIS1OH = 싱잇스타 볼륨 1 +SIS2OH = 싱잇스타 아바 +SIS3OH = 싱잇스타 썸머 파티 +SIS4OH = 싱잇스타 앰프드 +SIS5OH = 싱잇스타 팝 히츠 +SIS7OH = 잇잇스타 테이크 댓 +SIS80Q = 싱잇스타 얼티밋 80년대 +SIS80S = 싱잇스타: 80년대 볼륨 1 v1.2 +SIS90H = 싱잇스타 90년대 +SIS9OH = 싱잇스타 90년대 +SISACD = 스타싱 AC/DC +SISAOH = 싱잇스타 아프레스 스키 파티 +SISBOH = 싱잇스타 알'앤'비 +SISCOH = 싱잇스타 차트브레이커 +SISCS1 = 싱잇스타 차트서퍼 볼륨 1 +SISDAE = 싱잇스타 디 애어츠테 +SISDEM = 싱잇스타 디페쉬 모드 +SISDOH = 싱잇스타 더 돔 +SISHOH = 싱잇스타 가장 인기있는 히츠 +SISLIP = 싱잇스타 링킨 파크 v2.0 +SISLOH = 싱잇스타 전설들 +SISMEL = 스타싱 생일 축하해 멜라니 v1.1 +SISMJ1 = 스타싱 마이클 잭슨 v2.1 +SISMOH = 싱잇스타 마요르카섬 파티 +SISP10 = 싱잇스타 스튜디오100 +SISP12 = 스타싱 팝 히츠 1 & 2 v2.0 +SISP34 = 스타싱 팝 히츠 3 & 4 v2.0 +SISPBC = 싱잇스타 브리트니 vs 크리스티나 +SISPOH = 싱잇스타 파티 +SISPOP = 스타싱 팝 v1.1 +SISQ3Q = 싱잇스타 퀸 +SISR3Q = 싱잇스타 락! +SISREU = 스타싱 락! v1.1 +SISRP4 = 싱잇스타 락! +SISSOH = 싱잇스타 슐라거 +SISTDK = 싱잇스타 터키 파티 +SIXE01 = 뉴 슈퍼 마리오 브라더스 Wii 16 레버레이션즈 +SJME89 = 저스트 댄스 일본 +SK3EUD = 트라우마 팀 (언덥) +SL2PUD = 령: 진홍의 나비 언덥 +SLBE01 = MLG 슈퍼 루이지 브라더스 Wii +SLBJ01 = MLG 슈퍼 루이지 브라더스 Wii +SLBP01 = MLG 슈퍼 루이지 브라더스 Wii +SLFE01 = 뉴 슈퍼 마리오 브라더스 3: 마지막 레벨들 +SLFP01 = 뉴 슈퍼 마리오 브라더스 3: 마지막 레벨들 +SM3E01 = 슈퍼 마리오 브라더스 3+ +SMD3OH = 싱잇스타 디즈니 매직 +SMIG3Q = 싱잇스타 독일 제작 +SMME02 = 슈퍼 마리오: 버섯 모험 플러스 - 겨울 달 +SMMP01 = 뉴 슈퍼 마리오 브라더스 Wii 앤디 아프로의 커스텀 컬렉션 볼륨 4 +SMMP02 = 슈퍼 마리오: 버섯 모험 플러스: 겨울 달 +SMNC01 = 뉴 슈퍼 마리오 브라더스 Wii +SMNE02 = 뉴 슈퍼 마리오 리메이크 +SMNE03 = 뉴어 슈퍼 마리오 브라더스 Wii +SMNE04 = 캐논 슈퍼 마리오 브라더스 Wii +SMNE05 = 어나더 슈퍼 마리오 브라더스 Wii +SMNE06 = 뉴어 썸머 선 +SMNE07 = 뉴어 홀리데이 스페셜 +SMNE08 = 에픽 슈퍼 쿠파 월드 +SMNE09 = 올드 슈퍼 마리오 브라더스 Wii +SMNE10 = 쿠파 컨트리 +SMNE11 = 뉴 슈퍼 마리오 브라더스 Wii 4 +SMNE12 = 어썸머 슈퍼 루이지 미니 +SMNE13 = 뉴이스트 슈퍼 마리오 브라더스 Wii +SMNE14 = 뉴 슈퍼 마리오 브라더스 Wii: 페인 코인즈 +SMNE15 = 뉴어 슈퍼 마리오 브라더스 7 +SMNE20 = 뉴 슈퍼 마리오 브라더스 H +SMNE23 = 뉴어 슈퍼 마리오 브라더스 Wii: 낙엽 +SMNE30 = 슈퍼 루이지 랜드 Wii +SMNE31 = 뉴 슈퍼 마리오 브라더스 Wii - 다른 세상 +SMNE32 = 얼티밋 슈퍼 루이지 Wii +SMNE34 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 +SMNE35 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 - 클래식 모드 +SMNE36 = 뉴 슈퍼 마리오 브라더스 Wii 핵 팩 +SMNE37 = 뉴 슈퍼 마리오 브라더스 Wii 드래곤 코스터 프렌지 +SMNE38 = 뉴 슈퍼 마리오 브라더스 Wii 지하 미로 +SMNE39 = 뉴어 슈퍼 마리오 브라더스 Wii: Antnee 레벨 팩 +SMNE40 = 뉴어 슈퍼 마리오 브라더스 Wii U +SMNE41 = 데빌 마리오 윈터 스페셜 +SMNE42 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 라이트 +SMNE44 = 고 고 마리오 +SMNE45 = Lemmy의 윈터 플레이스 +SMNE46 = 뉴 슈퍼 마리오 브라더스 Wii - 레벨의 생일 배치 +SMNE47 = 뉴 스페셜 로드 +SMNE48 = 트루 마리오 브라더스 +SMNE49 = 뉴 슈퍼 마리오 브라더스 Wii - MSMKW Wii 팩 +SMNE50 = 뉴 슈퍼 마리오 브라더스 Wii - 파워 타워 팩 +SMNE51 = 뉴 슈퍼 마리오 브라더스 Wii - 데포 레벨 팩 파트 1 +SMNE52 = 뉴 슈퍼 마리오 브라더스 Wii - 데포 레벨 팩 파트 2 +SMNE53 = 뉴 슈퍼 마리오 브라더스 Wii - 키드 에디션 +SMNE54 = 뉴 슈퍼 마리오 브라더스 Wii: 넥스트 레벨 2 +SMNE55 = 뉴 슈퍼 마리오 브라더스 Wii: 라바 모드 팩 +SMNE56 = 뉴 슈퍼 마리오 브라더스 Wii: 대포 레벨 팩 파트 3 +SMNE57 = 마리오의 대모험 +SMNE58 = 와리오의 동굴 +SMNE59 = 뉴 슈퍼 마리오 브라더스 Wii: Quenry17의 레벨 팩 +SMNE60 = 리믹스드 슈퍼 마리오 브라더스 Wii +SMNE61 = 뉴 슈퍼 썸머 버케이션 +SMNE62 = 뉴 슈퍼 쿠파 Wii +SMNE65 = 고스틀리 슈퍼 고스트 부 Wii +SMNE66 = 요시의 전설 +SMNE67 = Larsenv 슈퍼 마리오 컬렉션 +SMNE68 = 요시의 전설 DLC +SMNE69 = 리바이즈드 슈퍼 마리오 브라더스 Wii +SMNE90 = 커스텀 레벨의 전설 +SMNEAM = 어드벤처 슈퍼 마리오 브라더스 Wii +SMNELL = 뉴어 슈퍼 루이지 Wii +SMNELM = 뉴어 슈퍼 루이지 Wii: 검은 달 +SMNEMI = Midi의 슈퍼 마리오 브라더스 Wii: 그냥 작은 모험 +SMNERE = 레트로 마리오 브라더스 +SMNERV = RV루션 Wii +SMNESN = 뉴 슈퍼 마리오 브라더스 Wii H +SMNESS = 뉴 슈퍼 마리오 브라더스 7 +SMNEXD = 디럭스 슈퍼 마리오 브라더스 Wii +SMNEXR = 슈퍼 마리오 리믹스 +SMNEYE = 8Forrest의 슈퍼 마리오 브라더스 Wii +SMNEYL = 루이지의 슈퍼 요시 브라더스 +SMNEYM = 유 슈퍼 마리오 브라더스 미 썸머 스페셜 +SMNEZA = 뉴어 아포칼립스 +SMNEZC = 첼린징 슈퍼 마리오 브라더스 Wii: 버츄얼 스페셜 +SMNEZD = 데포 슈퍼 마리오 브라더스 Wii 2: 잃어버린 레벨 +SMNEZN = 마리오와 빛나는 블록 +SMNEZO = Ludwig의 호텔 +SMNEZP = 100 개의 구덩이 트라이얼즈 1-20 +SMNEZT = 캡틴 쿠파의 복수 +SMNEZU = 덕 테일즈 3 +SMNEZV = 릴리즈 슈퍼 마리오 브라더스 Wii +SMNEZW = 데포 슈퍼 마리오 브라더스 Wii +SMNEZY = 슈퍼 마리오 스카이랜드 +SMNJ02 = 어썸머 슈퍼 루이지 미니 +SMNJ03 = 뉴어 슈퍼 마리오 브라더스 Wii +SMNJ04 = 캐논 슈퍼 마리오 브라더스 Wii +SMNJ06 = 뉴어 썸머 선 +SMNJ07 = 뉴어 홀리데이 스페셜 +SMNJ08 = 에픽 슈퍼 쿠파 월드 +SMNJ10 = 쿠파 컨트리 +SMNJ11 = 뉴 슈퍼 마리오 브라더스 Wii 4 +SMNJ14 = 뉴 슈퍼 마리오 브라더스 Wii: 페인 코인즈 +SMNJ15 = 뉴어 슈퍼 마리오 브라더스 7 +SMNJ20 = 뉴 슈퍼 마리오 브라더스 H +SMNJ23 = 뉴어 슈퍼 마리오 브라더스 Wii: 낙엽 +SMNJ31 = 뉴 슈퍼 마리오 브라더스 Wii: 다른 세계 +SMNJ34 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 +SMNJ35 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 - 클래식 모드 +SMNJ36 = 뉴 슈퍼 마리오 브라더스 Wii 핵 팩 +SMNJ37 = 뉴 슈퍼 마리오 브라더스 Wii 드래곤 코스터 프렌지 +SMNJ38 = 뉴 슈퍼 마리오 브라더스 Wii 지하 미로 +SMNJ39 = 뉴어 슈퍼 마리오 브라더스 Wii: Antnee 레벨 팩 +SMNJ40 = 뉴어 슈퍼 마리오 브라더스 Wii U +SMNJ41 = 데빌 마리오 윈터 스페셜 +SMNJ42 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 라이트 +SMNJ44 = 고 고 마리오 +SMNJ45 = Lemmy의 윈터 플레이스 +SMNJ46 = 뉴 슈퍼 마리오 브라더스 Wii - 레벨의 생일 배치 +SMNJ47 = 뉴 스페셜 로드 +SMNJ48 = 트루 마리오 브라더스 +SMNJ49 = 뉴 슈퍼 마리오 브라더스 Wii: MSMKW 팩 +SMNJ50 = 뉴 슈퍼 마리오 브라더스 Wii: 파워 타워 팩 +SMNJ51 = 뉴 슈퍼 마리오 브라더스 Wii: 데포 레벨 팩 파트 1 +SMNJ52 = 뉴 슈퍼 마리오 브라더스 Wii: 데포 레벨 팩 파트 2 +SMNJ53 = 뉴 슈퍼 마리오 브라더스 Wii: 키드 에디션 +SMNJ54 = 뉴 슈퍼 마리오 브라더스 Wii: 넥스트 레벨 2 +SMNJ55 = 뉴 슈퍼 마리오 브라더스 Wii: 라바 모드 팩 +SMNJ56 = 뉴 슈퍼 마리오 브라더스 Wii: 데포 레벨 팩 파트 3 +SMNJ57 = 마리오의 대모험 +SMNJ58 = 와리오의 동굴 +SMNJ59 = 뉴 슈퍼 마리오 브라더스 Wii: Quenry17의 레벨 팩 +SMNJ60 = 리믹스드 슈퍼 마리오 브라더스 Wii +SMNJ61 = 뉴 슈퍼 썸머 베케이션 +SMNJ62 = 뉴 슈퍼 쿠파 Wii +SMNJ65 = 고스틀리 슈퍼 고스트 부 Wii +SMNJ66 = 요시의 전설 +SMNJ67 = Larsenv 슈퍼 마리오 컬렉션 +SMNJ68 = 요시의 전설 DLC +SMNJLL = 뉴어 슈퍼 루이지 Wii +SMNJLM = 뉴어 슈퍼 루이지 Wii 검은 달 +SMNJMI = Midi의 슈퍼 마리오 브라더스 Wii: 그냥 작은 모험 +SMNJRE = 레트로 마리오 브라더스 +SMNJRV = RV루션 Wii +SMNJXD = 디럭스 슈퍼 마리오 브라더스 Wii +SMNJXR = 슈퍼 마리오 리믹스 +SMNJYE = 8Forrest의 슈퍼 마리오 브라더스 Wii +SMNJYL = 루이지의 슈퍼 요시 브라더스 +SMNJYM = 유 슈퍼 마리오 브라더스 미 썸머 스페셜 +SMNJZA = 뉴어 아포칼립스 +SMNJZC = 첼린징 슈퍼 마리오 브라더스 Wii: 버추얼 스페셜 +SMNJZD = 데포 슈퍼 마리오 브라더스 Wii 2: 잃어버린 레벨 +SMNJZN = 마리오와 빛나는 블록 +SMNJZO = Ludwig의 호텔 +SMNJZP = 100 개의 구덩이 트라이얼즈 1-20 +SMNJZT = 캡틴 쿠파의 복수 +SMNJZU = 덕 테일즈 3 +SMNJZV = 릴리즈 슈퍼 마리오 브라더스 Wii +SMNJZW = 데포 슈퍼 마리오 브라더스 Wii +SMNJZY = 슈퍼 마리오 스카이랜드 +SMNP02 = 어썸머 슈퍼 루이지 미니 +SMNP03 = 뉴어 슈퍼 마리오 브라더스 Wii +SMNP04 = 캐논 슈퍼 마리오 브라더스 Wii +SMNP05 = 어나더 슈퍼 마리오 브라더스 Wii +SMNP06 = 뉴어 썸머 선 +SMNP07 = 뉴어 홀리데이 스페셜 +SMNP08 = 에픽 슈퍼 쿠파 월드 +SMNP10 = 쿠파 컨트리 +SMNP11 = 뉴 슈퍼 마리오 브라더시 Wii 4 +SMNP12 = 어썸머 슈퍼 루이지 미니 +SMNP14 = 뉴 슈퍼 마리오 브라더스 Wii: 페인 코인즈 +SMNP15 = 뉴어 슈퍼 마리오 브라더스 7 +SMNP20 = 뉴 슈퍼 마리오 브라더스 H +SMNP23 = 뉴어 슈퍼 마리오 브라더스 Wii: 낙엽 +SMNP31 = 뉴 슈퍼 마리오 브라더스 Wii: 다른 세계 +SMNP34 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 +SMNP35 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 - 클래식 모드 +SMNP36 = 뉴 슈퍼 마리오 브라더스 Wii 핵 팩 +SMNP37 = 뉴 슈퍼 마리오 브라더스 Wii 드래곤 코스터 펜지 +SMNP38 = 뉴 슈퍼 마리오 브라더스 Wii 지하 미로 +SMNP39 = 뉴어 슈퍼 마리오 브라더스 Wii: Antnee 레벨 팩 +SMNP40 = 뉴어 슈퍼 마리오 브라더스 Wii U +SMNP41 = 데빌 마리오 윈터 스페셜 +SMNP42 = 뉴 슈퍼 마리오 브라더스 Wii: 요시 모드 라이트 +SMNP44 = 고 고 마리오 +SMNP45 = Lemmy의 겨울 궁전 +SMNP46 = 뉴 슈퍼 마리오 브라더스 Wii: 레벨의 생일 배치 +SMNP47 = 뉴 스페셜 로드 +SMNP48 = 트루 마리오 브라더스 +SMNP49 = 뉴 슈퍼 마리오 브라더스 Wii: MSMKW 팩 +SMNP50 = 뉴 슈퍼 마리오 브라더스 Wii: 파워 타워 팩 +SMNP51 = 뉴 슈퍼 마리오 브라더스 Wii: 데포 레벨 팩 파트 1 +SMNP52 = 뉴 슈퍼 마리오 브라더스 Wii: 데포 레벨 팩 파트 2 +SMNP53 = 뉴 슈퍼 마리오 브라더스 Wii: 키즈 에디션 +SMNP54 = 뉴 슈퍼 마리오 브라더스 Wii: 넥스트 레벨 2 +SMNP55 = 뉴 슈퍼 마리오 브라더스 Wii: 라바 모드 팩 +SMNP56 = 뉴 슈퍼 마리오 브라더스 Wii: 데포 레벨 팩 파트 3 +SMNP57 = 마리오의 대모험 +SMNP58 = 와리오의 동굴 +SMNP59 = 뉴 슈퍼 마리오 브라더스 Wii: Quenry17의 레벨 팩 +SMNP60 = 리믹스드 슈퍼 마리오 브라더스 Wii +SMNP61 = 뉴 슈퍼 썸머 베케이션 +SMNP62 = 뉴 슈퍼 Bowser Wii +SMNP65 = 고스틀리 슈퍼 고스트 부 Wii +SMNP66 = 요시의 전설 +SMNP67 = Larsenv 슈퍼 마리오 컬렉션 +SMNP68 = 요시의 전설 DLC +SMNP77 = 뉴 슈퍼 마리오 브라더스 Wii 아르카디아 +SMNPAF = 어게인 슈퍼 마리오 브라더스 Wii 프로즌 스페셜 +SMNPDU = DU 슈퍼 마리오 브라더스: 애니버서리 에디션 +SMNPLL = 뉴어 슈퍼 루이지 Wii +SMNPLM = 뉴어 슈퍼 루이지 Wii: 검은 달 +SMNPMI = Midi의 슈퍼 마리오 브라더스 Wii: 그냥 작은 모험 +SMNPO1 = 뉴 슈퍼 마리오 커스텀 에디션 +SMNPRE = 레트로 마리오 브라더스 +SMNPRV = RV루션 Wii +SMNPXD = 디럭스 슈퍼 마리오 브라더스 Wii +SMNPXR = 슈퍼 마리오 리믹스 +SMNPYE = 8Forrest의 슈퍼 마리오 브라더스 Wii +SMNPYL = 루이지의 슈퍼 요시 브라더스 +SMNPYM = 유 슈퍼 마리오 브라더스 미 썸머 스페셜 +SMNPZA = 뉴어 아포칼립스 +SMNPZC = 첼린징 슈퍼 마리오 브라더스 Wii: 버츄얼 스페셜 +SMNPZD = 데포 슈퍼 마리오 브라더스 Wii 2: 잃어버린 레벨 +SMNPZN = 마리오와 빛나는 블록 +SMNPZO = Ludwig의 호텔 +SMNPZP = 100 개의 구덩이 트라이얼즈 1-20 +SMNPZT = 캡틴 쿠파의 복수 +SMNPZU = 덕 테일즈 3 +SMNPZV = 릴리즈 슈퍼 마리오 브라더스 Wii +SMNPZW = 데포 슈퍼 마리오 브라더스 Wii +SMNPZY = 슈퍼 마리오 스카이랜드 +SMOT3Q = 싱잇스타 모타운 +SMPP01 = 뉴 슈퍼 마리오 브라더스 Wii 2: 또다른 P +SMRE01 = 뉴 슈퍼 마리오 브라더스 Wii: 슈퍼 마리오 브라더스 1 커스텀 +SMSE01 = 뉴 슈퍼 마리오 브라더스 Wii 12 선샤인 파라다이스 +SMVE01 = 슈퍼 마리오 베케이션 +SMVJ01 = 슈퍼 마리오 베케이션 +SMVP01 = 슈퍼 마리오 베케이션 +SMWE01 = 뉴어 슈퍼 마리오 월드 U +SMWJ01 = 뉴어 슈퍼 마리오 월드 U +SMWP01 = 뉴어 슈퍼 마리오 월드 U +SNLE01 = 뉴 슈퍼 마리오 브라더스 Wii 0-2 넥스트 제너레이션 레벨 +SO3EUD = 룬 팩토리: 운명의 흐름 (언덥) +SOCE02 = 커스텀 레벨들의 전설 +SOME02 = 리듬 천국 피버 리페인티드 +SP9P4Q = 싱잇 스타 팝 2009 +SPRE01 = 뉴 슈퍼 마리오 브라더스 Wii 14 프로젝트 마리오 +SRBP4Q = 싱잇스타: R&B +SRGP01 = 뉴 슈퍼 마리오 Bros Wii 2 레지 +SRHP01 = 뉴 슈퍼 마리오 브라더스 Wii 7 레트로 천국 +SRNP01 = 뉴 슈퍼 마리오 브라더스 Wii 레볼루션 +SRVP01 = 뉴 슈퍼 마리오 브라더스 레볼루션 +SSLPOH = 싱잇스타 레전드즈 +SSSE01 = 뉴 슈퍼 마리오 브라더스 Wii: 썸머 선 +ST8P75 = 싱잇스타 80 년대 +STAP75 = 싱잇스타 아프레 스키 히츠 +STCP75 = 싱잇스타 싱스타 +STDP75 = 싱잇스타 독일 락-팝 +STFE41 = 저스트 댄스 포커스 +STHP75 = 싱잇스타 가장 인기있는 히츠 +STPP75 = 싱잇스타 팝 히츠 +STQP75 = 싱잇스타 퀸 +STRP75 = 싱잇스타 락 발라드즈 +STSP75 = 싱잇스타 슐라거 +SURE01 = 뉴 슈퍼 마리오 브라더스 Wii 19 레저렉션 U +SVMEBR = 뉴 슈퍼 마리오 올 스타즈 HD +SWBP01 = 뉴 슈퍼 마리오 브라더스 Wii 0 모든 것이 시작된 곳 +SX3PUD = 판도라의 탑 (언덥) +SXEF52 = 기타 히어로 III 커스텀: 메가데쓰 +SXFF52 = 기타 히어로 III 커스텀: 마이 케미컬 로맨스 +SZEE01 = 뉴 슈퍼 마리오 브라더스 Wii 13 섀도우 제로 이스케이프 +UUUE01 = 뉴 슈퍼 마리오 브라더스 Wii 19 레저렉션 U +VIPE01 = 뉴 슈퍼 마리오 브라더스 Wii 18 Vip 믹스 +WARE01 = DU 슈퍼 와리오 브라더스 +WFFF4I = 령: 월식의 가면 +XBKE52 = 기타 히어로 III 커스텀: 나의 카멜롯 총알 +XNWE52 = 기타 히어로 III 커스텀: 나이트위시 +XXXX02 = 마리오 카트 테크닉 +ZM7E52 = 콜 오브 듀티: 근대 전쟁 - 리플렉스 에디션 좀비 모드 +ZXFP52 = 기타 히어로 3 앙코르 +W22E = 플래닛 피쉬 +W24E = 2 패스트 4 흙의 정령들 +W24P = 2 패스트 4 흙의 정령들 +W2AE = 빅 배스 아케이드 +W2CE = 브레인 챌린지 +W2CJ = 브레인 챌린지 +W2CP = 브레인 챌린지 +W2FP = 피지오펀: 균형 훈련 +W2GD = 역전재판 2 (독일어 버전) +W2GE = 역전재판 2 +W2GF = 역전재판 2 +W2GI = 역전재판 2 +W2GJ = 역전재판 2 +W2GP = 역전재판 2 +W2GS = 역전재판 2 +W2IE = 피시 피시 +W2IP = 피시 피시 +W2JE = 저스트 잼: 라이브 뮤직 메이커 +W2KE = 렛츠 캐치 +W2KJ = 렛츠 캐치 +W2KP = 렛츠 캐치 +W2LE = 블룬즈 +W2LP = 블룬즈 +W2ME = 블래스터 마스터: 오버드라이브 +W2MP = 블래스터 마스터: 오버드라이브 +W2OE = 나의 수족관 2 +W2OJ = 블루 오아시스: +W2OP = 나의 수족관 2 +W2PP = 피지오펀: 골반 근육 훈련 +W2TE = 훈련 담당 하사관 마인드스트롱 +W2TJ = 귀신 트레이닝: 교관은 호랑이 중사 +W2TP = 브레인 카데츠 +W2YE = 파이어플레이싱 +W2YP = 화로 +W34J = @심플 시리즈 볼륨 4 밀실에서 탈출 +W3AE = 카르멘 센디에이고 수학여행: 빅 벤 강도 사건 +W3BE = 사커 바쉬 +W3BP = 사커 바쉬 +W3FE = 3D 픽셀 레이싱 +W3FP = 3D 픽셀 레이싱 +W3GD = 역전재판 3 +W3GE = 역전재판 3 +W3GF = 역전재판 3 +W3GI = 역전재판 3 +W3GJ = 역전재판 3 +W3GP = 역전재판 3 +W3GS = 역전재판 3 +W3JE = 트리플 점핑 스포츠 +W3KE = 스루스페이스 +W3KJ = 질주해서 빠져나가는 아나토우스 +W3KP = 스루스페이스: 하이 벨로시티 3D 퍼즐 +W3LE = 카르멘 샌디에이고 수학여행: 레이디 리버티 라케니 +W3ME = 삼총사: 모두를 위한 하나 +W3MP = 삼총사: 모두를 위한 하나 +W3PE = 트리플 던지기 스포츠 +W3RE = 트리플 달리기 스포츠 +W3SE = 트리플 사격 스포츠 +W3TE = 진주만 3 부작 - 1941: 레드 선 라이징 +W42J = 포춘: 별이 가득한 언덕 +W44E = 스트레스 해소: 분노의 날 +W44P = 스트레스 해소: 분노의 날 +W48E = 쉐도우플레이 +W4AE = 아케이드 스포츠 +W4AP = 아케이드 스포츠: 에어 하키, 볼링, 당구, 스누커 +W4KE = 디어 캡터 +W4KJ = 사슴 사냥 +W4OJ = 네모난 머리를 둥글게 하자 도전 +W4TE = 스페이스볼 레볼루션 +W4TP = 스페이스볼 레볼루션 +W54E = 5 스포츠 파티 +W54P = 5 스포츠 파티 +W5AE = 5 아케이드 젬즈 +W5AP = 5 아케이드 젬즈 +W5IE = 5 합 1 솔리테르 +W6BE = 에코 슈터: 플랜트 530 +W6BJ = 530 에코 슈터 +W6BP = 에코 슈터: 플랜트 530 +W72P = 독일어 3 학년을 성공적으로 배우기 +W73P = 독일어 4 학년을 성공적으로 배우기 +W74P = 독일어 5 학년을 성공적으로 배우기 +W7IP = 독일어 2 학년을 성공적으로 배우기 +W82J = 땅 따먹기 액션! 태합검지: 태엽 성의 수수께끼 +W8BP = 바벨 라이징 +W8CE = 비트 트립 코어 +W8CJ = 비트 트립 코어: 리듬 성인의 역습 +W8CP = 비트 트립 코어 +W8DJ = 뫼비우스 드라이브 +W8IJ = 81 다이버 Wii +W8LE = 벌룬 팝 페스티발 +W8PJ = 집에서∞쁘띠쁘띠 Wii +W8WE = 해피 홀리데이스: 할로윈 +W8WP = 해피 홀리데이스: 할로윈 +W8XE = 배틀 포커 +W9BE = 빅 타운 슈트 아웃 +W9BP = 빅 타운 슈트 +W9IE = 회피 공간 +W9IJ = 위험 공역 +W9LE = 크리스마스 클릭스! +W9RE = 해피 홀리데이스: 크리스마스 +W9RP = 해피 홀리데이스: 크리스마스 +W9UE = 크루즈 파티 +W9UP = 크루즈 파티 +WA2E = 마그네틱 트위스트 +WA2J = 모두의 퍼즈루프 +WA2P = 액션루프 트위스트 +WA4E = 와리오웨어: D.I.Y. 쇼케이스 +WA4J = 와리오웨어: D.I.Y. 쇼케이스 +WA4P = 와리오웨어: D.I.Y. 쇼케이스 +WA5E = 수학의 카르멘 샌디에고 모험 다이아몬드 섬 +WA7E = 토리바쉬 +WA7P = 토리바시: 완벽한 폭력 +WA8E = 아트 스타일 : 로토조아 +WA8J = 아트 스타일: 펜타 텐더클즈 +WA8P = 아트 스타일: 펜타 텐더클즈 +WAAE = 아야와 빛의 큐브 +WAAP = 아야와 빛의 큐브 +WABE = 균형의 예술 +WABP = 균형의 예술 +WACE = 아케이드 에센셜즈 +WACP = 아케이드 에센셜즈 +WAEE = 세계일주 +WAEP = 세계일주 +WAFE = 에어포트 매니아: 첫 비행 +WAFP = 에어포트 매니아: 첫 비행 +WAGE = 피노키오의 퍼즐 +WAHE = 참호 장군 +WAHP = 참호 장군 +WAIE = 101 합 1 익스플로시브 메가믹스 +WAIP = 101 합 1 익스플로시브 메가믹스 +WAJE = 모토히어로즈 +WAJP = 모토히어로즈 +WAKE = 카르멘 샌디에이고 수학여행: 무너지는 성당의 사례 +WALE = 아트 스타일: 라이트 트랙스 +WALJ = 아트 스타일: 라이트스트림 +WALP = 아트 스타일: 라이트 트랙스 +WAME = 카르멘 샌디에이고 수학 여행: 그레이트 게이트웨이 그랩 +WANE = 개미 국가 +WANP = 개미 국가 +WAOE = 배고픈 애벌레의 ABC +WAOJ = 배고픈 애벌레의 ABC +WAOP = 배고픈 애벌레의 ABC +WAQJ = 역만 Wii 이데 요스케의 건강 마작 +WARJ = 통신 대국 바둑 도장 2700 문 +WASJ = 통신 대국: 조기 장기 3 단 +WATE = 아스트로 버그즈 리벤지 +WAUJ = 통신 대국: 월드 체스 +WAYE = 그래도 아직 그것은 움직인다 +WAYP = 그래도 아직 그것은 움직인다 +WAZE = 놀라운 두뇌 기차 +WB2E = 스트롱 배드 에피소드 4: 나쁘고 강하지 3 +WB2P = 스트롱 배드 에피소드 4: 나쁘고 강하지 3 +WB3E = 스트롱 배드 에피소드 5: 8 비트는 충분해 +WB3P = 스트롱 배드 에피소드 5: 8 비트는 충분해 +WB4E = 와일드 웨스트 건즈 +WB4J = 와일드 웨스트 건즈 +WB4P = 와일드 웨스트 건즈 +WB5E = 블록 브레이커 디럭스 +WB5J = 블록 브레이커 디럭스 +WB5P = 블록 브레이커 디럭스 +WB6E = TV 쇼 킹 +WB6J = TV 쇼 킹 +WB6P = TV 쇼 킹 +WB7E = 심야의 당구 +WB7J = 하마루 당구 +WB7P = 심야의 당구 +WB8E = 심야의 볼링 +WB8J = 하마루 볼링 +WB8P = 심야의 볼링 +WBAJ = 폭탄 +WBBE = 스노우보드 라이엇 +WBBJ = 보드 전사 +WBBP = 스노우보드 라이엇 +WBDE = 두뇌 유출 +WBDP = 두뇌 유출 +WBEE = 퐁 토스: 프랫 파티 게임 +WBEP = 비어 퐁: 프랫 파티 게임 +WBFE = 비트 트립 페이트 +WBFP = 비트 트립 페이트 +WBGP = 뱅 어택 +WBHE = 블러드 비치 +WBHP = 블러드 비치 +WBIE = 보잉즈 +WBJE = 하베스트 문: 나의 작은 상점 +WBJJ = 목장 이야기 시리즈: 목장의 상점 +WBKE = 알카노이드 플러스! +WBKJ = 알카노이드 플러스! +WBKP = 알카노이드 플러스! +WBLE = 버블 보블 플러스! +WBLJ = 버블 보블 Wii +WBLP = 버블 보블 플러스! +WBME = 나의 포켓몬 목장 +WBMJ = 모두의 포켓몬 목장 +WBMP = 나의 포켓몬 목장 +WBNE = 분재 이발기 +WBNJ = 분재 이발기 +WBNP = 분재 이발기 +WBOE = 그라비트로닉스 +WBPE = 타일: 트위스트 '앤' 페인트 +WBPP = 타일: 트위스트 '앤' 페인트 +WBQE = 스타 솔져 R +WBQJ = 스타 솔져 R +WBQP = 스타 솔져 R +WBRP = 해적들: 꿈의 열쇠 +WBSE = 팝 +WBSJ = 팝 +WBSP = 팝 +WBVE = SPOGS 레이싱 +WBVP = SPOGS 레이싱 +WBWE = 생물 모으기 +WBWJ = 사쿠 사쿠 애니멀 패닉 +WBWP = 생물 모으기 +WBXE = 스트롱 배드 에피소드 1: 홈스타 유적 +WBXP = 스트롱 배드 에피소드 1: 홈스타 유적 +WBYE = 스트롱 배드 에피소드 2: 스트롱 배디아 - 더 프리 +WBYP = 스트롱 배드 에피소드 2: 스트롱 배디아 - 더 프리 +WBZE = 스트롱 배드 에피소드 3: 밴드 중에서 가장 나쁜 +WBZP = 스트롱 배드 에피소드 3: 밴드 중에서 가장 나쁜 +WC2E = 크리스탈 디펜더스 R2 +WC2J = 크리스탈 디펜더스 R2 +WC2P = 크리스탈 디펜더스 R2 +WC6E = 크로노스 트윈즈 DX +WC6P = 크로노스 트윈즈 DX +WC8J = 라인 어택 히어로즈 +WCHE = 체스 도전! +WCHP = 체스 도전 +WCIE = 크리스탈 디펜더즈 R1 +WCIJ = 크리스탈 디펜더즈 R1 +WCIP = 크리스탈 디펜더즈 R1 +WCJE = 코코토 플랫폼 점퍼 +WCJP = 코코토: 플랫폼 점퍼 +WCKE = 칙 칙 붐 +WCKJ = 칙 칙 붐 +WCKP = 칙 칙 붐 +WCLE = 닥 클락: 토스트 된 시간의 샌드위치 +WCNJ = 도쿄 시티의 밤 +WCOE = 코코토 낚시 마스터 +WCOP = 코코토 낚시 마스터 +WCPE = 콥터 크라이시스 +WCPP = 콥터 크라이시스 +WCRE = 축제 왕 +WCSE = 큐스포츠: 당구 레볼루션 +WCSJ = 큐 스포츠: Wi-Fi 대전 당구 +WCSP = 큐 스포츠: 스누커 vs 당구 +WCUE = 3-2-1, 래틀 배틀! +WCUJ = 뜨거운 12 게임: 살랑살랑 파티! +WCUP = 3-2-1, 래틀 배틀! +WCVE = 동굴 이야기 +WCVP = 동굴 이야기 +WCZE = 컬러즈 +WCZJ = 컬러즈 +WCZP = 컬러즈 +WD2J = 심플 Wii 시리즈 볼륨 2: 넘버 퍼즐 네오 +WD9E = 캐슬베니아 어드벤처 리버스 +WD9J = 드라큘라 전설 리버스 +WD9P = 캐슬베니아 어드벤처 리버스 +WDAJ = 다츠 Wii +WDBE = 더비 도그스 +WDBJ = 더비 도그 +WDDE = 디너 대쉬 +WDDJ = 디너 대쉬 +WDDP = 디너 대쉬 +WDEE = 마법의 운명 점성술 게임 +WDEP = 마법의 운명 점성술 게임 +WDFE = 당신의 성을 지켜라 +WDFP = 당신의 성을 지켜라 +WDHE = 아트 스타일: 로보헥스 +WDHJ = 아트 스타일: 다이얼헥스 +WDHP = 아트 스타일: 로보헥스 +WDIJ = 심플 Wii 시리즈 볼륨 1: 블록 쿠즈시 네오 +WDKE = 다트 레이지 +WDME = Dr. 마리오 온라인 Rx +WDMJ = Dr. 마리오 & 세균 박멸 +WDMP = Dr. 마리오 & 세균 박멸 +WDNJ = 징벌: 제국의 탄생 +WDOE = 드리프트 매니아 +WDOP = 드리프트 매니아 +WDPE = Dr. 마리오 온라인 Rx (친구 대전 체험판) +WDPJ = Dr. 마리오 온라인 Rx (친구 대전 체험판) +WDPP = Dr. 마리오 & 세균 버스터 (친구 대전 체험판) +WDRE = Mr. 드릴러 W +WDRJ = Mr. 드릴러 월드 +WDRP = Mr. 드릴러 W +WDSE = 드래곤 마스터 스펠 캐스터 +WDSP = 드래곤 마스터 스펠 캐스터 +WDVE = 부두 다이스 +WDVP = 부두 다이스 +WDXE = 다이아토믹 +WE6E = 나의 돌고래 +WE6J = 바다 농장: 돌고래와 나의 쇼타임 +WE9E = 에일리언 크러쉬 리턴즈 +WE9J = 에일리언 크러쉬 리턴즈 +WE9P = 에일리언 크러쉬 리턴즈 +WEDE = 엘도라도 더 사무라이 토스터 +WEME = 아하! 알았어! 탈출 게임 +WEMJ = 1 뉴크! 탈출 게임 *나의 집 편 +WEMP = 아하! 알았어! 탈출 게임 +WENE = TNT 레이서즈 +WENP = TNT 레이서즈 +WEQE = 평형 +WEQJ = 기울기 영혼 (균형 감각) +WEQP = 평형 +WERE = 나의 수족관 +WERJ = 블루 오아이스: 물고기의 치유 공간 +WERP = 나의 수족관 +WETE = 그림책 게임: 팝 업 퍼슈트 +WETJ = 놀 수 있는 그림책 +WETP = 그림책 게임: 팝 업 어드벤처 +WEVE = 바이러스 생존 +WEVJ = Peakvox 탈출 바이러스 +WEVP = 바이러스 생존 +WF2E = 파이널 판타지 크리스탈 연대기: 암흑 군주로서의 나의 인생 +WF2J = 파이널 판타지 크리스탈 연대기: 빛과 어둠의 공주님과 세계 정복의 탑 +WF2P = 파이널 판타지 크리스탈 연대기: 암흑 군주로서의 나의 인생 +WF3E = 패밀리 게임즈: 펜 & 페이퍼 에디션 +WF4E = 파이널 판타지 IV: 몇 년 후 +WF4J = 파이널 판타지 IV: 몇 년 후 - 달의 귀환 +WF4P = 파이널 판타지 IV: 몇 년 후 +WF5E = 패밀리 카드 게임즈 +WF5J = 오키라쿠 대부호 Wii +WF5P = 패밀리 카드 게임즈 +WF6E = 프로봇 +WFAE = 패스트 드로우 쇼다운 +WFAP = 패스트 드로우 쇼다운 +WFBE = 모래사장 +WFBJ = 해변에 성을 만들어 버립니다 와우! +WFBP = 모래사장 +WFCE = 파이널 판타지 크리스탈 연대기: 왕으로서의 나의 인생 +WFCJ = 파이널 판타지 크리스탈 연대기: 작은 임금님과 약속의 나라 +WFCP = 파이널 판타지 크리스탈 연대기: 왕으로서의 나의 인생 +WFDE = 수인 구조 +WFDP = 수인 구조 +WFEE = 페니모어 필모어 "서부인" +WFFE = 펀! 펀! 미니골프 +WFFJ = 펀! 펀! 미니골프 +WFFP = 펀! 펀! 미니골프 +WFGE = 돌아온 프로거 +WFGJ = 돌아온 프로거 +WFHE = 비행 컨트롤 +WFHP = 비행 컨트롤 +WFIE = 릴 낚시 도전 +WFIJ = 피쉬 아이즈 도전 +WFIP = 릴 낚시 도전 +WFKE = 패밀리 고-카트 레이싱 +WFKJ = 오키라쿠 카트 Wii +WFLE = 플루이디티 +WFLP = 하이드로벤처 +WFME = 패밀리 & 프렌즈 파티 +WFMP = 패밀리 & 프렌즈 파티 +WFNE = 피쉬 탱크 +WFNP = 피쉬 탱크 +WFPJ = 번뜩이는 카드 배틀 메쿠루카 +WFQE = 프로거: 하이퍼 아케이드 에디션 +WFQP = 프로거: 하이퍼 아케이드 에디션 +WFRP = 돌아온 프로거 +WFSJ = 모두의 영화관 Wii +WFTE = 피쉬 에엠 올 +WFTP = 피쉬 에엠 올 +WFUE = 퍼리 레전드즈 +WFUP = 퍼리 레전드즈 +WFVE = 사커 업 +WFVP = 풋볼 업 +WFWE = 플라워 워크스 +WFWP = 플라워워크스: 폴리의 모험 +WFXE = 코시 파이어 +WFXP = 코시 파이어 +WFYE = 패밀리 게임즈: 펜 & 페이퍼 에디션 +WFYP = 패밀리 게임즈: 펜 & 페이퍼 에디션 +WG2J = 슈가 바니즈 Wii: 환영해요 바니즈 필드에 +WG4E = 고스트슬레이어 +WGAE = 고스트 매니아 +WGAP = 고스트 매니아 +WGDE = 그라디우스 리버스 +WGDJ = 그라디우스 리버스: 업데이티드 +WGDP = 그라디우스 리버스 +WGFP = 걸프렌드즈 포에버 매직 스케이트 +WGGE = 가브리엘의 고스틀리 그루브: 몬스터 믹스 +WGGJ = 우시미츠 몬스트루오 푸치: 이상한 대도시의 댄스 파티 +WGGP = 가브리엘의 고스틀리 그루브: 몬스터 믹스 +WGLE = 유전자 실험실 +WGMJ = 게임 사운드스테이션 +WGOE = 구의 세계 +WGOJ = 구의 세계 +WGOP = 구의 세계 +WGPE = 아쿠아스페이스 +WGPJ = 아쿠아 리빙: TV에서 바라 보는 물고기들 +WGPP = 젠쿠아리아: 버추얼 아쿠아리움 +WGSD = 역전재판 (독일어 버전) +WGSE = 역전재판 +WGSF = 역전재판 (프랑스어 버전) +WGSI = 역전재판 +WGSJ = 역전재판: 소생역전 +WGSP = 역전재판 +WGSS = 역전재판 (스페인어 버전) +WGTJ = 세계의 재미 파티 게임 +WGUJ = 에어로 기타 +WGVE = 그루빙 블록 +WGYE = 자이로스타 +WH3E = 홈 스위트 홈 +WH3P = 홈 스위트 홈 +WHBE = 휴버트 더 테디 베어: 윈터 게임즈 +WHEE = 헤라클레스: 전차 레이싱 +WHEP = 헤라클레스: 전차 레이싱 +WHFE = 헤비 파이어: 스페셜 오퍼레이션즈 +WHFP = 헤비 파이어: 스페셜 오퍼레이션즈 +WHHJ = 렛츠 전력 히치하이크!!!!!!!!! +WHOE = 하키 올스타 슛아웃 +WHPE = 섹시 포커 +WHPP = 섹시 포커 +WHPU = 섹시 포커 +WHRE = 헤론 스팀 머신 +WHRP = 헤론 스팀 머신 +WHUE = 유령 대저택 파티 +WHUJ = 유령 대저택 파티 +WHUP = 유령 대저택 파티 +WHVE = 고전압 : 핫 로드 쇼 +WHWE = 후프월드 +WHWP = 후프월드: 바스켓 대난투 +WHXE = 헬릭스 +WHXP = 헬릭스 +WHYE = 헤비 파이어: 블랙 암즈 +WHZE = 호라이즌 라이더즈 +WHZP = 호라이즌 라이더즈 +WIBE = 비토스+ +WICE = 닉스퀘스트: 킨드러드 스피리츠 +WICJ = 닉스퀘스트 +WICP = 닉스퀘스트: 킨드러드 스피리츠 +WIDE = 드라큘라: 언데드 각성 +WIDP = 드라큘라: 언데드 각성 +WIEE = 원숭이 섬의 이야기: 3 장 - 리바이어던의 둥지 +WIEP = 원숭이 섬의 이야기: 3 장 - 리바이어던의 둥지 +WIGE = 인커밍 +WIHE = 새와 놀기 +WIKJ = 아기 키위새의 모험 +WILE = 원숭이 섬의 이야기: 1 장 - 소리지르는 일각고래 내보내기 +WILP = 원숭이 섬의 이야기: 1 장 - 소리지르는 일각고래 내보내기 +WINE = 믿을 수 없는 미로 +WINJ = 직감! 균형★미로 +WINP = 믿으 수 없는 미로 +WIRE = 원숭이 섬의 이야기: 5 장 - 해적신의 부활 +WIRP = 원숭이 섬의 이야기: 5 장 - 해적신의 부활 +WISE = 원숭이 섬의 이야기: 2 장 - 스피너 케이의 포위 작전 +WISP = 원숭이 섬의 이야기: 2 장 - 스피너 케이의 포위 작전 +WITE = 아하! 찾았어요! 숨겨진 오브젝트 게임 +WITJ = 아아! 발견했어요! 아이템 찾기 게임 +WITP = 아하! 찾았어요! 숨겨진 오브젝트 게임 +WIUE = 인큐버스 +WIVE = 스페이스 인베이더즈 겟 이븐 +WIVJ = 스페이스 인베이더즈 겟 이븐 +WIVP = 스페이스 인베이더즈 겟 이븐 +WIYE = 원숭이 섬의 이야기: 4 장 - 가이브러시 삼나무의 재판과 집행 +WIYP = 원숭이 섬의 이야기: 4 장 - 가이브러시 삼나무의 재판과 집행 +WJ2J = 인생 게임: 행복한 발걸음 +WJAE = 잼 시티 롤러걸즈 +WJAP = 잼 시티 롤러걸즈 +WJCE = 젤리자동차 2 +WJEE = 제트 로켓 +WJEP = 제트 로켓 +WJFE = 흙의 정령들 +WJFP = 흙의 정령들 +WJGJ = 인생 게임 +WJKE = 주얼 키퍼즈: 이스터 섬 +WJKP = 주얼 키퍼즈: 이스터 섬 +WJPJ = 가위-바위-보 파티 파라다이스 +WJSE = 정글 스피드 +WJSP = 정글 스피드 +WJWE = 비쥬얼드 2 +WJWP = 비쥬얼드 2 +WK2J = 갓파군과 놀자: 갓파군의 즐거움인가? +WK3J = 갓파군과 놀자: 갓파군과 모리의 친구들 +WK9J = 다같이 놀자! 강아지와 데굴데굴 +WKBE = 너, 나, 큐브 +WKBJ = 너, 나, 입체 +WKBP = 너, 나, 큐브 +WKCE = 쿄토케이 +WKCP = 쿄토케이 +WKDE = 해적: 꿈의 열쇠 +WKEJ = 편리한 금연앱 Wii 금연과 의사가 가르치는 7 일에 종료하는 방법 +WKFE = 쿵푸 펑크: 모두 쿵푸 파이팅입니다! +WKFP = 쿵푸 펑크: 모두 쿵푸 파이팅입니다! +WKHE = 빅 카후나 파티 +WKIE = 화이트록 성의 미스터리 +WKIP = 화이트록 성의 미스터리 +WKJE = 카라오케 조이사운드 +WKKE = 파티 펀 파이럿 +WKKJ = 검은 수염 위기 일발 +WKKP = 팝 업 파이럿! +WKNJ = 한나라 시사 모두 와글 와글 한자 뇌 +WKPJ = 갓파군과 모리의 친구들 +WKQJ = 겐테이 TV! Wii 모두의 현지 퀴즈 배틀 +WKRP = 가라테 팬츠: 영광의 글러브 +WKTE = 혼두라 리버스 +WKTJ = 혼두라 리버스 +WKTP = 혼두라 리버스 +WKUJ = 다운타운 열혈 피구 +WKWE = 잃어버린 섬에서의 모험: 숨은 그림 찾기 게임 +WKWJ = 아이템 찾기 게임 +WKWP = 잃어버린 섬에서의 모험: 숨은 그림 찾기 게임 +WL2E = 타겟 토스 프로: 론 다츠 +WL5E = HB 아케이드 디스크 골프 +WL9E = 도자기를 만들자! +WLCE = 빙고 파티 디럭스 +WLCJ = 왁자지껄 빙고 디럭스 +WLCP = 빙고 파티 디럭스 +WLDJ = 나도 세계를 구하고 싶어: 배틀 토너먼트 +WLEE = 푸유스와 함께하는 학습: 에피소드 1 +WLEJ = 푸유스와 놀자: 에피소드 1 +WLEP = 푸유스와 함께하는 학습: 에피소드 1 +WLGE = HB 아케이드 카드즈 +WLIE = 리이트 +WLJJ = 나도 세계를 구하고 싶어: 배틀 토너먼트 +WLKJ = 리카짱 패션 하우스 +WLLE = 리틀 토너먼트 오버 욘더 +WLLP = 리틀 토너먼트 오버 욘더 +WLME = 라-뮬라나 +WLMJ = 라-뮬라나 +WLMP = 라-뮬라나 +WLNE = 푸유스와 함께하는 학습: 에피소드 2 +WLNP = 푸유스와 함께하는 학습: 에피소드 2 +WLOE = 바람을 찾아서: 멜로디아의 겨울 +WLOJ = 바람을 찾아서: 멜로디아의 겨울 +WLOP = 바람을 찾아서: 멜로디아의 겨울 +WLPE = 론포스 +WLPJ = 론포스 +WLPP = 론포스 +WLTE = 리트 +WLTJ = 어둠의 학교 +WLTP = 리트 +WLWE = 바람을 찾아서 +WLWJ = 바람을 찾아서 +WLWP = 바람을 찾아서 +WLXJ = 팔랑크스 +WLZE = 릴트 라인 +WLZP = 릴트 라인 +WM2E = 나의 작은 아기 +WM2P = 나의 작은 아기 +WM3E = 메닉 멍키 메이햄 +WM3P = 메닉 멍키 메이햄 +WM4E = 믹스 슈퍼스타 +WM4P = 믹스 슈퍼스타 +WM7E = 아니마: 죄인의 방주 +WM7P = 아니마: 죄인의 방주 +WM8E = 봄버맨 블래스트 +WM8J = Wi-Fi 8 인 배틀 봄버맨 +WM8P = 봄버맨 블래스트 +WM9E = 해피 해머린 +WM9J = 두드려라! 모구뽄 +WM9P = 해피 해머린 +WMAE = 자석 +WMAP = 자석 +WMBE = 마보쉬의 아케이드 +WMBJ = 형태의 게임: 동그라미 막대 사각형 +WMBP = 마보쉬: 세 가지 모양의 아케이드 +WMCE = 몬스테카 코랄: 몬스터즈 vs. 로봇츠 +WMCP = 몬스테카 코랄: 몬스터즈 vs. 로봇츠 +WMDE = 매드스톤 +WMGE = 마트 레이서 +WMHE = 마우스 하우스 +WMJE = 다이브: 메디아 제도의 비밀 +WMJP = 다이브: 메디아 제도의 비밀 +WMKE = 미어캣 이끌기 +WMKP = 미어캣 이끌기 +WMLE = 메이저 리그 이팅: 게임 +WMLJ = 메이저 리그 이팅: 게임 +WMME = 근육 행진곡 +WMMJ = 근육 행진곡 +WMMP = 근육 행진곡 +WMOE = 모찌모찌 +WMOJ = 모찌모찌 Q: 당신이 돌려서 구하는 퍼즐 +WMOP = 모찌모찌 +WMPJ = 말의 퍼즐 모지핏탄 Wii +WMRE = 모노크롬 레이싱 +WMRP = 모노크롬 레이싱 +WMSE = 마사지를 즐기세요! +WMSP = 마사지를 즐기세요! +WMWP = 미피 월드 +WMWX = 미피 월드 +WMXE = 맥스와 매직 마커 +WMXJ = 맥스와 매직 마커 +WMXP = 맥스와 매직 마커 +WMZP = 마작 +WN9E = 밀리터리 매드네스: 넥타리스 +WN9J = 넥타리스 +WN9P = 밀리터리 매드네스: 넥타리스 +WNAP = 자연으로 돌아가 +WNEE = 펭귄과 친구들: 이봐! 저건 내 물고기야! +WNEP = 펭귄과 친구들: 이봐! 저건 내 물고기야! +WNGE = 뱅 어택 +WNKE = 니키: 락 '엔' 볼 +WNKP = 니키: 락 '엔' 볼 +WNPJ = 스구스로 DUO 「뉴 펄서 R & V」 +WNSE = 뉴턴 vs 호드 +WNSP = 뉴턴 VS 호드 +WNVE = 네베스 플러스 +WNVJ = 하메코미 럭키 퍼즐 Wii 리턴 +WNVP = 네베스 플러스: 탄그램즈의 판테온 +WNWJ = 하메코미 럭키 퍼즐 Wii 리턴 +WO6E = 패밀리 해적 파티 +WO6J = 오키라쿠 주사위 놀이 Wii +WO6P = 패밀리 해적 파티 +WOAE = 패밀리 글라이드 하키 +WOAJ = 오키라쿠 에어 하키 Wii +WOAP = 패밀리 글라이드 하키 +WOBE = 아트 스타일: 오비엔트 +WOBJ = 아트 스타일: 오비탈 +WOBP = 아트 스타일: 오비엔트 +WODJ = 왕이다! +WOEJ = 그림 그리기 로직 +WOFE = 오버클로우 +WOGE = 패밀리 미니 골프 +WOGJ = 오키라쿠 퍼터 골프 Wii +WOGP = 패밀리 미니 골프 +WOKJ = 카라오케 조이사운드 Wii +WOLJ = 오델로 +WOMJ = 세계의 재미 파티 게임 2 +WOPE = 단어 검색 디럭스 +WOSE = 패밀리 슬롯 카 레이싱 +WOSJ = 오키라쿠 슬롯 카 레이싱 Wii +WOSP = 패밀리 슬롯 카 레이싱 +WOTE = 오버턴 +WOTJ = 오버턴 +WOTP = 오버턴: 메카 대전 +WOXJ = 오쓰! 운동 도장 +WOYE = 비트 보이!! +WOYJ = 비트 맨 +WOYP = 비트 보이!! +WOZJ = 유아 교육 텔레비 Wii: 아이우에 오무주 +WP2E = 포푸리 +WP2P = 포푸리 +WP3P = 진주만 3 부작 1941: 떠오르는 붉은 태양 +WP4E = 푸유스와 함께하는 학습: 에피소드 3 +WP4P = 푸유스와 함께하는 학습: 에피소드 3 +WP5J = 포코스카 레이싱 +WP6J = 저는 프라레일 운전사입니다: 신칸센&증기 기관차 편 +WP7E = 나의 천문대 +WP7J = 천문대 +WP7P = 나의 별이 빛나는 밤 +WP9J = 포커스 Wii +WPAJ = 포켓몬 불가사의 던전 간다! 폭풍의 모험단 +WPBE = 술집 다츠 +WPBP = 술집 다츠 +WPCE = 독 루이스의 펀치-아웃!! +WPDJ = 기묘한 여행!! 폴의 대모험 +WPFJ = 포켓몬 불가사의 던전 나아가라! 화염의 모험단 +WPGE = 스노우팩 파크 +WPGJ = 펭귄 라이프 +WPHJ = 포켓몬 불가사의 던전 노리자! 빛의 모험단 +WPIE = 핏 크루 패닉! +WPIJ = 핏 크루 패닉! +WPIP = 핏 크루 패닉! +WPJE = 뿌까의 키스 게임 +WPJP = 뿌까의 키스 게임 +WPKE = 텍사스 홀덤 포커 +WPKP = 텍사스 홀덤 포커 +WPLE = 행성 빠칭코 +WPNJ = 뽄쟌 +WPOJ = 폽플과 마법의 크레용 +WPPE = 패밀리 탁구 +WPPJ = 오키라쿠 탁구 +WPPP = 패밀리 탁구 +WPQE = 프로퇴테아 +WPQP = 프로퇴테아 +WPRE = 아트 스타일: 큐벨로 +WPRJ = 아트 스타일: 큐벨로 +WPRP = 아트 스타일: 큐벨로 +WPSE = 포켓몬 럼블 +WPSJ = 란센 포켓몬 스크램블 +WPSP = 포켓몬 럼블 +WPTJ = 환상 큐브 +WPUE = 버스트 어 무브 플러스! +WPUJ = 퍼즐 보글 Wii +WPUP = 퍼즐 보글 플러스! +WPVE = 베어즈워스 매너 이야기: 혼돈의 갈등 +WPVJ = 쿠마나게: 키이나가 싫어하는 푸른 보석 배틀 편 +WPVP = 베어즈워스 매너 이야기: 혼돈의 갈등 +WPWE = 퐁 토스 프로: 프랫 파티 게임즈 +WPXJ = 모두 뛰어! 펭귄 다이빙 후퍼 루퍼 +WPYE = 팔루리키오 +WPYP = 팔루리키오 +WPZE = 브루저 앤 스크래치 +WQ4J = 권투사 살랑살랑 권투 +WR2E = 래비즈 연구실 +WR2P = 래비즈 연구실 +WR4P = 러쉬 러쉬 랠리 레이싱 +WR5E = 레트로 시티 램페이지 +WR5P = 레트로 시티 램페이지 +WR9E = 메가맨 9 +WR9J = 록맨 9: 야망의 부활!! +WR9P = 메가맨 9 +WRBE = 로보칼립스: 비버 디펜스 +WRBP = 로보칼립스: 비버 디펜스 +WRDE = 단어 검색 +WRDP = 단어 검색 +WREE = 레이서즈 아일랜드즈: 크레이지 아레나즈 +WREP = 레이서즈 아일랜드즈: 크레이지 아레나즈 +WRFE = 릴 낚시 도전 II +WRFP = 릴 낚시 도전 II +WRGE = 글래디에이터의 분노 +WRGP = 글래디에이터의 분노 +WRIE = 레인보우 아일랜즈: 타워링 어드벤처! +WRIJ = 레인보우 아일랜즈: 타워링 어드벤처! +WRIP = 레인보우 아일랜즈: 타워링 어드벤처! +WRJE = 레이서즈 아일랜드즈: 크레이지 레이서즈 +WRJP = 레이서즈 아일랜드즈: 크레이지 레이서즈 +WRLE = 패스트 레이싱 리그 +WRLP = 패스트 레이싱 리그 +WRNJ = 비트 트립 런너 +WRPE = 로프 태우기 +WRQE = 디어 드라이브 레전드즈 +WRQP = 디어 드라이브 레전드즈 +WRRE = 로빈 후드: 리차드의 귀환 +WRRP = 로빈 후드: 리차드의 귀환 +WRSE = 스텝 업 +WRTE = 로복스 +WRUE = 비트 트립 런너 +WRUP = 비트 트립 런너 +WRXE = 메가맨 10 +WRXJ = 록맨 10: 우주에서의 위협!! +WRXP = 메가맨 10 +WRYE = 로복스 +WRYP = 로복스 +WS2J = 세계최강력성 장기 +WS3E = 실버 스타: 체스 +WS3J = 최강 실버 스타 체스 +WS4J = 최강 실버 스타 마작 +WS5J = 최강 실버 스타 오목 두기 +WS6E = 실버 스타: 리버시 +WS6J = 세계 최강 실버 스타 리버시 +WS7E = 판타지 슬롯츠: 어드벤처 슬롯츠 & 게임즈 +WS8J = 모두의 대전 퍼즐 상하이 Wii +WS9E = 스도쿠 도전! +WS9P = 스도쿠 도전! +WSAE = 온슬롯 +WSAJ = 매드섹타 +WSAP = 온슬롯 +WSBJ = 소서리 블레이드 +WSCJ = 아웃 오브 갤럭시: 은빛의 코시카 +WSEJ = 공주 아이 이야기 +WSGE = 팝 '에엠 드롭 '에엠 사메가메 +WSGJ = 사메가메 Wii +WSGP = 팝 뎀, 드롭 뎁 사메가메 +WSHE = 스톤키프: 조상의 뼈 +WSIJ = 세계 최강 실버 스타 쇼기 +WSJE = 스팟 더 디퍼런스! +WSJP = 스팟 더 디퍼런스! +WSLE = 매직 오벨리스크 +WSLJ = 섀도우 워커 +WSME = 먹고! 살찌우고! 싸구고! +WSMJ = 츠파리 대스모 Wii 방 +WSMP = 먹고! 살찌우고! 싸구고! +WSNE = 바람돌이 소닉 4 에피소드 I +WSNJ = 바람돌이 소닉 4: 에피소드 I +WSNP = 바람돌이 소닉 4 에피소드 I +WSRE = 스페이스 트랙 +WSSP = 솔리테르 +WSTJ = 천사의 솔리테르 +WSUE = 슈탄토: 에볼루션 메이헴 +WSUJ = 슈탄토: 과거편 +WSUP = 슈탄토: 에볼루션 메이헴 +WSWE = 검과 병사 +WSWP = 검과 병사 +WSXE = 스턴트 카즈 +WSXP = 스턴트 카즈 +WSYE = 달팽이 배달부 +WSZE = 스니지즈 +WSZP = 스니지즈 +WT2E = 타겟 토스: 프로 백스 +WT3E = 토메나 산너 +WT3J = 토메나 산너 Wii +WT3P = 토메나 산너 +WT8J = 튕겨라! 블록 러쉬 +WTBJ = 환상적인 탬버린 +WTDJ = 토미카 드라이브 +WTEE = 탄성 소년의 이야기: 미션 1 +WTEP = 탄성 소년의 이야기: 미션 1 +WTFE = 비트 트립 플럭스 +WTFP = 비트 트립 플럭스 +WTHJ = 쓴다! 움직인다! 붙잡는다! 선생님 Wii +WTIE = 티키 타워즈 +WTKE = TV 쇼 킹 2 +WTKP = TV 쇼 킹 2 +WTME = 모험도 +WTMJ = 타카하시 명인의 모험도 Wii +WTMP = 모험도: 시작 +WTNE = 패밀리 테니스 +WTNJ = 오키라쿠 테니스 Wii +WTPE = 테트리스 파티 +WTPJ = 테트리스 파티 +WTPP = 테트리스 파티 +WTRE = 비트 트립 비트 +WTRJ = 비트 트립 비트 +WTRP = 비트 트립 비트 +WTTE = 토키토리 +WTTP = 토키 토리 +WTUE = 말똥구리 2 +WTWP = 페니모어 필모어: 서부인 +WTXE = 텍사스 홀덤 토너먼트 +WTXP = 텍사스 홀덤 토너먼트 +WU2P = 성공적인 수학 3학년 +WU3P = 성공적인 수학 4학년 +WU4P = 성공적인 수학 5학년 +WUBE = 우봉고 +WUBP = 우봉고 +WUFE = 드롭 존: 언더 파이어 +WUHE = 울트라 핸드와 함께하는 그릴 오프! +WUHJ = Wii에서 울트라 핸드 +WUIP = 성공적인 수학 2학년 +WUKJ = 우뇌 키즈: 부담없는 우뇌 트레이닝 +WUNE = 우노 +WUNJ = 우노 +WUNP = 우노 +WURE = 어반닉스 +WURP = 어반닉스 +WVBE = 비트 트립 보이드 +WVBJ = 비트 트립 보이드 +WVBP = 비트 트립 보이드 +WVCE = V.I.P. 카지노: 블랙잭 +WVDJ = 유아 교육 TV Wii: 아이우에·오 짱 +WVFE = 바비 캐럿 포에버 +WVFP = 바비 캐럿 포에버 +WVIE = 바이올린 파라다이스 +WVIP = 바이올린 파라다이스 +WVKE = 수중 전투 +WVKJ = 뱅 뱅 키즈 +WVKP = 수중 전투 +WVOE = 락 '엔' 롤 클라이머 +WVOJ = 락 '엔' 롤 클라이머 +WVOP = 락 '엔' 롤 클라이머 +WVQE = 뱀파이어 크리스탈즈 +WVQP = 뱀파이어 크리스탈즈 +WVSE = 신 Vs 인간 +WVSP = 신 Vs 인간 +WVUP = Mr. 범블비 레이싱 챔피언 +WW2P = 월리를 찾아라 2 +WW3P = 월리를 찾아라 3 +WWAE = 워먼 택틱스 +WWIP = 월리를 찾아라 1 +WWLP = Dr. 프랑켄슈타인의 유언 +WWRE = 익사이트바이크: 월드 랠리 +WWRJ = 익사이트바이크: 월드 레이스 +WWRP = 익사이트바이크: 월드 첼린지 +WWTE = 버거타임 월드 투어 +WWTP = 버거타임 월드 투어 +WWXE = 페이퍼 워즈: 캐논 포드 +WWXP = 페이퍼 워즈: 캐논 포드 +WX2P = 3 학년 영어 학습 성공 +WX3P = 4 학년 영어 학습 성공 +WX4P = 5 학년 영어 학습 성공 +WXBE = 벤 10 에일리언 포스: 더 라이즈 오브 헥스 +WXBP = 벤 10 에일리언 포스: 더 라이즈 오브 헥스 +WXIP = 2 학년 영어 학습 성공 +WXME = 크리스마스 퍼즐 +WXPE = 페인트 스플래시! +WXPP = 페인트 스플래시 +WXRE = 릴 낚시 바다 도전 +WXRP = 릴 낚시 바다 도전 +WYIE = 전뇌탈출: 1 장 +WYIP = 전뇌탈출: 1 장 +WYKJ = 읽고 듣는 놀이 +WYME = 요미 요미 쿠킹 잼 +WYMP = 요미 요미 쿠킹 잼 +WYSE = 야드 세일 숨겨진 보물들: 서니빌 +WYSP = 야드 세일 숨겨진 보물들: 서니빌 +WZAE = 좀비 공격 +WZBP = 크리켓 도전 +WZGE = 동물원 디스크 골프 +WZHE = 나의 동물원 +WZHJ = 애니멀 라이프: 동물 교감 생활 +WZHP = 나의 동물원 +WZIE = 루빅의 퍼즐 갤럭시 러쉬 +WZIP = 루빅의 퍼즐 갤럭시: 러쉬 +WZJJ = @ 심플 시리즈 볼륨 5: 유도 +WZMJ = 심플 Wii 시리즈 볼륨 3: 마작 +WZPE = 원더랜드 좀비 패닉 +WZPJ = 원더랜드 좀비 +WZPP = 원더랜드 좀비 패닉 +WZZE = 베어즈워스 매너 이야기: 수수께끼 페이지 +WZZJ = 쿠마나게: 피이나가 좋아하는 붉은 캔디 퍼즐 편 +WZZP = 베어즈워스 매너 이야기: 수수께끼 페이지 +XH2E = 동굴 이야기 체험판 +XH2P = 동굴 이야기 체험판 +XH3E = 프로봇 체험판 +XH4E = 맥스와 매직 메이커 체험판 +XH4P = 맥스와 매직 메이커 체험판 +XH5E = 그래도 아직 그것은 움직인다 체험판 +XH5P = 그래도 아직 그것은 움직인다 체험판 +XH6E = 로복스 체험판 +XH6P = 로복스 체험판 +XH7E = 리트 체험판 +XH7P = 리트 체험판 +XH8E = 미어캣 이끌기 체험판 +XH8P = 미어캣 이끌기 체험판 +XH9P = 컬러Z 체험판 +XHAE = 포켓몬 럼블 체험판 +XHAP = 포켓몬 럼블 체험판 +XHCE = 파이널 판타지 크리스탈 연대기: 암흑 군주로서의 나의 인생 체험판 +XHCJ = 파이널 판타지 크리스탈 연대기: 빛과 어둠의 공주님과 세계 정복의 탑 +XHCP = 파이널 판타지 크리스탈 연대기: 암흑 군주로서의 나의 인생 +XHDE = 닉스퀘스트: 킨드러드 스피리츠 체험판 +XHDP = 닉스퀘스트: 킨드러드 스피리츠 체험판 +XHEE = 비트 트립 비트 체험판 +XHEJ = 비트 트립 비트 체험판 +XHEP = 비트 트립 비트 체험판 +XHFE = 구의 세계 체험판 +XHFJ = 구의 혹성 체험판 +XHFP = 구의 세계 체험판 +XHHJ = 포켓몬 불가사의 던전 노리자! 빛의 모험단 체험판 +XHIE = 플루이디티 +XHIP = 하이드로벤처 체험판 +XHJE = 스루스페이스 체험판 +XHJJ = 질주해서 빠져나가는 아나토우스 체험판 +XHJP = 스루스페이스 체험판 +XHKE = 다이브: 메디아 제도의 비밀 체험판 +XHKP = 다이브: 메디아 제도의 비밀 체험판 +XHLE = 제트 로켓 체험판 +XHLP = 제트 로켓 체험판 +XHME = 균형의 예술 체험판 +XHMP = 균형의 예술 체험판 +XHNP = 크로노스 트윈즈 DX 체험판 +XHOP = 균형의 예술 체험판 +XHQE = 좀비 패닉 체험판 +XHQP = 좀비 패닉 체험판 +XHRE = 퍼리 레전드즈 체험판 +XHRP = 퍼리 레전드즈 체험판 +XHVE = 비트 트립 코어 체험판 +XHVP = 비트 트립 코어 체험판 +XHWE = 비트 트립 보이드 체험판 +XHWP = 비트 트립 보이드 체험판 +XHXE = 비트 트립 런너 체험판 +XHXP = 비트 트립 런너 체험판 +XHYE = 비트 트립 페이트 체험판 +XHYP = 비트 트립 페이트 체험판 +XHZE = 크로노스 트윈즈 DX 체험판 +XHZP = 크로노스 트윈즈 DX 체험판 +XI2E = 쿄토케이 체험판 +XI2P = 쿄토케이 체험판 +XI7E = 리이트 체험판 +XI8E = 잼 시티 체험판 +XI8P = 잼 시티 체험판 +XIAE = 릴트 라인 체험판 +XIAP = 릴트 라인 체험판 +XIBE = 피쉬 에엠 올 체험판 +XIBP = 피쉬 에엠 올 체험판 +XICE = 신 vs 인간 체험판 +XICP = 신 vs 인간 체험판 +XIDE = 레이서즈 아일랜드즈: 크레이지 레이서즈 체험판 +XIDP = 레이서즈 아일랜드즈: 크레이지 레이서즈 체험판 +XIEE = 칙 칙 붐 체험판 +XIEJ = 치킨 배틀! 칙 칙 붐 체험판 +XIEP = 칙 칙 붐 체험판 +XIGE = 어반닉스 체험판 +XIGP = 어반닉스 체험판 +XIHE = 글라디에이터 체험판 +XIHP = 글라디에이터 체험판 +XIJE = 패스트 레이싱 리그 체험판 +XIJP = 패스트 레이싱 리그 체험판 +XIKE = 몬스테카 코랄 체험판 +XIKP = 몬스테카 코랄 체험판 +XIMP = 후프월드: 바스켓 대난투 체험판 +XINE = 푸유스와 함께하는 학습 에피소드 1 체험판 +XINP = 푸유스와 함께하는 학습 에피소드 1 체험판 +XIOE = 푸유스와 함께하는 학습 에피소드 2 체험판 +XIOP = 푸유스와 함께하는 학습 에피소드 2 체험판 +XIPE = 푸유스와 함께하는 학습 에피소드 3 체험판 +XIPP = 푸유스와 함께하는 학습 에피소드 3 체험판 +XIQE = 다트 레이지 체험판 +XIRE = 통 토스 프로 체험판 +XISE = 비트 트립 플럭스 체험판 +XISP = 비트 트립 플럭스 체험판 +XITE = 패스트 드로우 체험판 +XITP = 패스트 드로우 체험판 +XIUE = 사커 바쉬 체험판 +XIUP = 사커 바쉬 체험판 +XIVE = 믹스 슈퍼스타 체험판 +XIVP = 믹스 슈퍼스타 체험판 +XIWE = 호라이즌 라이더즈 체험판 +XIZE = 3D 픽셀 레이싱 체험판 +XIZP = 3D 픽셀 레이싱 체험판 +XJDE = 모토히어로즈 체험판 +XJDP = 모토히어로즈 체험판 +XJEE = 아야와 빛의 큐브 체험판 +XJEP = 아야와 빛의 큐브 체험판 +XJFP = 아니마: 죄인의 방주 체험판 +XJGE = 흙의 정령들 체험판 +XJGP = 흙의 정령들 체험판 +XJHE = 페인트 스플래쉬 체험판 +XJHP = 페인트 스플래쉬 체험판 +XJIE = 2 패스트 4 흙의 정령들 체험판 +XJIP = 2 패스트 4 흙의 정령들 체험판 +XJJE = 뱀파이어 크리스탈즈 체험판 +XJJP = 뱀파이어 크리스탈즈 체험판 +XJSE = 카라오케 조이사운드 체험판 +XJSP = 카라오케 조이사운드 Wii 체험판 +FA2J = 엑시리온 +FA3J = 포메이션 Z +FA4J = 데빌 월드 +FA4P = 데빌 월드 +FA5J = 파이어 엠블렘: 암흑룡과 빛의 검 +FA6E = 동키 콩 Jr.의 산수 놀이 +FA6J = 동키 콩 Jr.의 산수 놀이 +FA6P = 동키 콩 Jr.의 산수 놀이 +FA7E = 요시 +FA7J = 요시의 알 +FA7P = 마리오 & 요시 +FA7T = 요시 +FA8E = 커비의 모험 +FA8F = 커비의 모험 +FA8J = 별의 커비: 꿈의 샘 이야기 +FA8P = 커비의 모험 +FA8T = 별의 커비: 꿈의 샘 이야기 +FA9E = 젤다 II: 링크의 모험 +FA9J = 젤다의 전설 2: 링크의 모험 +FA9P = 젤다 II: 링크의 모험 +FAAE = 동키 콩 +FAAJ = 동키 콩 +FAAP = 동키 콩 +FAAT = 동키 콩 +FABE = 동키 콩 Jr. +FABJ = 동키 콩 Jr. +FABP = 동키 콩 Jr. +FACE = 핀볼 +FACJ = 핀볼 +FACP = 핀볼 +FADJ = 오목 +FAFE = 마리오 브라더스 +FAFJ = 마리오 브라더스 +FAFP = 마리오 브라더스 +FAFQ = 마리오 브라더스 +FAGE = 슈퍼 마리오 브라더스 +FAGJ = 슈퍼 마리오 브라더스 +FAGP = 슈퍼 마리오 브라더스 +FAGQ = 슈퍼 마리오 브라더스 +FAHE = 테니스 +FAHJ = 테니스 +FAHP = 테니스 +FAIE = 축구 +FAIJ = 축구 +FAIP = 축구 +FAJE = 아이스 하키 +FAJJ = 아이스 하키 +FAJP = 아이스 하키 +FAKE = 젤다의 전설 +FAKJ = 젤다의 전설 +FAKP = 젤다의 전설 +FAKT = 젤다의 전설 +FALE = 야구 +FALJ = 야구 +FALP = 야구 +FAME = 와리오의 숲 +FAMJ = 와리오의 숲 +FAMP = 와리오의 숲 +FANE = 도시의 챔피언 +FANJ = 도시의 챔피언 +FANP = 도시의 챔피언 +FANT = 도시의 챔피언 +FAOE = 솔로몬의 열쇠 +FAOJ = 솔로몬의 열쇠 +FAOP = 솔로몬의 열쇠 +FAPE = NES 오픈 토너먼트 골프 +FAPJ = 마리오 오픈 골프 +FAPP = NES 오픈 토너먼트 골프 +FAPT = NES 오픈 토너먼트 골프 +FAQJ = 닌자 자자마루군 +FAQL = 닌자 자자마루군 +FAQN = 닌자 자자마루군 +FARE = 그라디우스 +FARJ = 그라디우스 +FARP = 그라디우스 +FASE = 제비우스 +FASJ = 제비우스 +FASP = 제비우스 +FAST = 제비우스 +FATE = 그림자의 전설 +FATJ = 그림자의 전설 +FAVE = 테크모 보울 +FAVJ = 테크모 보울 +FAWE = 엘리베이터 액션 +FAWJ = 엘리베이터 액션 +FAXE = 팩맨 +FAXJ = 팩맨 +FAXP = 팩맨 +FAXT = 팩맨 +FAYJ = 잇키 +FAZJ = 필드 컴뱃 +FAZQ = 다운타운 열혈행진곡: 나아가라 대운동회 +FB2J = 슈퍼 마리오 브라더스 2 +FB2L = 슈퍼 마리오 브라더스: 잃어버린 레벨들 +FB2N = 슈퍼 마리오 브라더스: 잃어버린 레벨들 +FB3J = 왈큐레의 모험: 시간의 열쇠 전설 +FB4E = 루나 당구 +FB4J = 루나 볼 +FB4P = 루나 당구 +FB5E = 자낙 +FB5J = 자낙 +FB6J = 최전선 +FB7J = 너츠 & 밀크 +FB8J = 도전자 +FB9J = 푸얀 +FBAJ = 스매시 탁구 +FBAL = 스매시 탁구 +FBBE = 매치 라이더 +FBBJ = 매치 라이더 +FBBP = 매치 라이더 +FBCE = 익사이트 바이크 +FBCJ = 익사이트 바이크 +FBCP = 익사이트 바이크 +FBDE = 키드 이카루스 +FBDJ = 빛의 신화: 파르테나의 거울 +FBDP = 키드 이카루스 +FBEE = 아이스 클라이머 +FBEJ = 아이스 클라이머 +FBEP = 아이스 클라이머 +FBHE = 캐슬베니아 +FBHJ = 악마성 드라큘라 +FBHP = 캐슬베니아 +FBIE = 펀치 아웃!! +FBIJ = 펀치 아웃!! +FBIP = 펀치 아웃!! +FBJE = 마이트 봄 잭 +FBJJ = 마이트 봄 잭 +FBJP = 마이트 봄 잭 +FBKE = 돌연변이 닌자 거북 +FBKJ = 돌연변이 닌자 거북 +FBKP = 돌연변이 닌자 거북 +FBLE = 로드 런너 +FBLJ = 로드 런너 +FBLM = 로드 런너 +FBNE = 닌자 가이덴 +FBNJ = 닌자 용검전 +FBNM = 닌자 가이덴 +FBOJ = 그라디우스 II +FBQJ = 드루아가의 탑 +FBRE = 갤러그 +FBRJ = 갤러그 +FBRP = 갤러그 +FBRT = 갤러그 +FBSE = 미론의 비밀 성 +FBSJ = 미궁조국: 미론의 대모험 +FBSM = 미론의 비밀 성 +FBUE = 로로의 모험 +FBUJ = 로로의 모험 +FBUP = 로로의 모험 +FBUT = 로로의 모험 +FBVJ = 츠파리 대스모 +FBWJ = 조이 메카 파이트 +FBWQ = 조이 메카 파이트 +FBXJ = 패미컴 대전 +FBYE = 슈퍼 마리오 브라더스 2 +FBYJ = 슈퍼 마리오 USA +FBYP = 슈퍼 마리오 브라더스 2 +FBYQ = 슈퍼 마리오 USA +FBZE = 메트로이드 +FBZJ = 메트로이드 +FBZP = 메트로이드 +FC2J = 반숙 영웅 +FC3E = 버블 보글 +FC3J = 버블 보글 +FC3P = 버블 보글 +FC3T = 버블 보글 +FC4J = 체크'엔 팝 +FC5J = 힘내라 고에몬! 꼭두각시 여행길 +FC6E = 스타트로픽스 +FC6J = 스타트로픽스 +FC6P = 스타트로픽스 +FC7E = NES 플레이 액션 풋볼 +FC7J = NES 플레이 액션 풋볼 +FC8E = 캐슬베니아 II: 사이몬의 퀘스트 +FC8J = 드라큘라 II: 저주의 봉인 +FC8P = 캐슬베니아 II: 사이몬의 퀘스트 +FC9J = 메탈 슬레이더 글로리 +FCAE = 스타 솔져 +FCAJ = 스타 솔져 +FCEJ = 에스퍼 드림 +FCFJ = 이얼 쿵푸 +FCGJ = 트윈비 +FCHJ = 플로피 +FCIJ = 고기동전두 메카볼가드 2 +FCJJ = SD 건담 월드: 가챠폰 전사 2 - 캡슐 전기 +FCNJ = 남극대탐험 +FCNQ = 남극 탐험 +FCOJ = 배틀 시티 +FCPE = 벌룬 파이트 +FCPJ = 벌룬 파이트 +FCPP = 벌룬 파이트 +FCQE = 닌자 외전 II: 혼돈의 암흑검 +FCQJ = 닌자 외전 II +FCRE = 모험도 +FCRJ = 타카하시 명인의 모험도 +FCRP = 모험도 +FCRT = 허드슨의 모험도 +FCSE = 슈퍼 C +FCSJ = 슈퍼 혼두라 +FCSP = 프로보텍터 II: 악의 세력의 귀환 +FCTE = 메가맨 +FCTJ = 록맨 +FCTP = 메가맨 +FCUE = 배구 +FCUJ = 배구 +FCUP = 배구 +FCVE = 레킹 크루 +FCVJ = 레킹 크루 +FCVP = 레킹 크루 +FCWE = 슈퍼 마리오 브라더스 3 +FCWJ = 슈퍼 마리오 브라더스 3 +FCWP = 슈퍼 마리오 브라더스 3 +FCWQ = 슈퍼 마리오 브라더스 3 +FCYE = 요시의 쿠키 +FCYJ = 요시의 쿠키 +FCYP = 요시의 쿠키 +FCYT = 요시의 쿠키 +FCZE = 왕의 기사 +FCZJ = 왕의 기사 +FD2E = 더블 드래곤 +FD2J = 더블 드래곤 +FD2P = 더블 드래곤 +FD3J = 열혈 고교 피구부 축구편 +FD3Q = 열혈 고교 피구부 축구편 +FD6E = 로로의 모험 2 +FD6P = 로로의 모험 2 +FD7E = 메가맨 3 +FD7J = 록맨 3: Dr. 와일리의 최후!? +FD7P = 메가맨 3 +FDAE = 스펠런커 +FDAJ = 스펠런커 +FDAM = 스펠런커 +FDBJ = 패미컴 옛날 이야기: 신 귀신의 섬 - 후편 +FDCJ = 스타 러스터 +FDEJ = 마피 +FDFE = 만루 +FDFJ = 불타라!! 프로 야구 +FDGE = 마계촌 +FDGJ = 마계촌 +FDGP = 마계촌 +FDIJ = 보코크카 대전 +FDLE = 닌자 외전 III: 최후의 고대 선박 +FDLJ = 닌자 외전 III: 황천의 방주 +FDNE = 메가맨 2 +FDNJ = 록맨 2 +FDNP = 메가맨 2 +FDOE = 작전명 늑대 +FDOJ = 작전명 늑대 +FDOP = 작전명 늑대 +FDPE = 강철의 블래이드 +FDPP = 강철의 블래이드 +FDQE = 더블 드리블 +FDQP = 더블 드리블 +FDRP = 스케이트냐 죽음이냐 +FDSJ = 패미컴 탐정 클럽: 사라진 후계자 (후편) +FDTE = 열혈경파 +FDTJ = 열혈경파 +FDUE = 열혈고교 돗지볼부 +FDUJ = 열혈고교 돗지볼부 +FDVE = 다운타운 - 열혈물어 +FDVJ = 다운타운 - 열혈물어 +FDVP = 다운타운 - 열혈물어 +FDVQ = 다운타운 - 열혈물어 +FDWJ = 다운타운 스페셜 - 열혈 시대극: 쿠니오군의 시대극이야 전원 집합! +FDXJ = 패미컴 탐정 클럽 파트 II: 뒷 편에 선 소녀 (후편) +FDYJ = 파이어 엠블렘 외전 +FDZJ = 다운타운 열혈 행진곡 - 그대로 가라 대운동회 +FDZQ = 다운타운 열혈 행진곡 - 그대로 가라 대운동회 +FE5J = 울화통구슬 던지는 칸타로우의 동해도오십삼차 +FE6J = 닌자군: 마성의 모험 +FE7J = 닌자군: 아수라의 장 +FE8J = 타케시의 도전장 +FE9J = 가라 가라! 열혈 하키부: 미끄러지고 넘어지고 대난투 +FECE = 스카이 키드 +FECJ = 스카이 키드 +FEDJ = 디그 더그 +FEDL = 디그 더그 +FEDN = 디그 더그 +FEEJ = 탐정 진구지 사부로: 신주쿠 중앙공원 살인사건 +FEFJ = 탐정 진구지 사부로 2: 요코하마 항 연속 살인사건 +FEGJ = 탐정 진구지 시부로: 위험한 2 인 +FEHJ = 탐정 진구지 사부로: 시간 가는대로... +FEIE = 시티 커넥션 +FEIJ = 시티 커넥션 +FEIP = 시티 커넥션 +FEJJ = 수수께끼의 무라사메 성 +FELJ = 트랜스포머즈: 호송 미스테리 +FEMJ = 바이오 미라클 나는 우파 +FEML = 바이오 미라클 나는 우파 +FEMN = 바이오 미라클 나는 우파 +FENE = 라이프 포스 +FENJ = 사라만다 +FEOJ = 조이드즈: 묵시록 +FEPJ = 월풍마전 +FEQE = 캐슬베니아 III: 드라큘라의 저주 +FEQJ = 악마성 전설 +FEQP = 캐슬베니아 III: 드라큘라의 저주 +FERE = 조다의 복수: 스타트로픽스 2 +FERJ = 조다의 복수 +FERM = 스타트로픽스 II: 조다의 복수 +FERP = 조다의 복수: 스타트로픽스 II +FESE = 빙글 빙글 랜드 +FESJ = 빙글 빙글 랜드 +FESP = 빙글 빙글 랜드 +FEUE = 동키 콩 3 +FEUJ = 동키 콩 3 +FEUP = 동키 콩 3 +FEVJ = 아틀란티스의 수수께끼 +FEWJ = 드래곤 버스터 +FEXJ = 와간 랜드 +FF2J = 스고로 퀘스트: 주사위의 전사들 +FF4E = 버거타임 +FF4J = 버거타임 +FF5E = 더블 드래곤: 복수 +FF5J = 더블 드래곤 2: 복수 +FF5P = 더블 드래곤 II: 복수 +FF6J = 힘내라 고에몽 2 +FF7J = 힘내라 고에몽 외전: 사라진 황금 담뱃대 +FFAE = 파이널 판타지 +FFAJ = 파이널 판타지 +FFAM = 파이널 판타지 +FFBJ = 파이널 판타지 II +FFDE = 깜짝 열혈 신기록! 머나먼 금메달 +FFDJ = 깜짝 열혈 신기록! 머나먼 금메달 +FFEE = 불가사의한 브로비: 블로볼로니아의 문제 +FFEP = 불가사의한 브로비: 블로볼로니아의 문제 +FFFJ = 파이널 판타지 III +FFGJ = SD 건담 월드: 가챠폰 전사 - 스크램블 워즈 +FFJJ = 메탈 맥스 +FFKJ = 챔피언쉽 로드 런너 +FFLE = 샐러드 왕국의 토마토 공주 +FFLJ = 샐러드 왕국의 토마토 공주 +FFME = 블래스터 마스터 +FFMJ = 초혹성전기: 메타파이트 +FFMP = 블래스터 마스터 +FFNE = 메가맨 4 +FFNJ = 록맨 4: 새로운 야망!! +FFNP = 메가맨 4 +FFOJ = 가자 트윈비: 시나몬 박사를 구해라! +FFPB = 유포리아: 더 사가 +FFPJ = 푸루 푸루 파크 +FFPP = 유포리아: 더 사가 +FFQE = 닌자의 그림자 +FFQM = 닌자의 그림자 +FFRE = 팩서너두 +FFRJ = 팩서너두 +FFRP = 팩서너두 +FFTJ = 바이너리 랜드 +FFUE = 모험도 2 +FFUJ = 타카하시 명인의 모험도 II +FFUP = 모험도 2 +FFVM = S.C.A.T.: 특수 인공두뇌학 공격 팀 +FFVP = S.C.A.T.: 특수 인공두뇌학 공격 팀 +FFWP = 동키 콩: 오리지널 에디션 +FFXJ = 25 주년 슈퍼 마리오 브라더스 +FFXP = 슈퍼 마리오 브라더스: 25 주년 한정판 +FFYE = 메가맨 5 +FFYJ = 록맨 5: 블루스의 함정!? +FFYP = 메가맨 5 +FFZJ = 세크로스 +FFZY = 혼두라 +FJOR = 쿵푸 +FMCA = 구니스 +JA2J = 진 여신전생 +JA3J = 카마이타치의 밤 +JA4E = 초마계촌 +JA4J = 초마계촌 +JA5J = 헤라클레스의 영광 III: 신들의 침묵 +JA6E = 좀비들이 내 이웃들을 먹었다 +JA6J = 좀비들이 내 이웃들을 먹었다 +JA6P = 좀비들 +JA7D = 액트레이저 +JA7E = 액트레이저 +JA7F = 액트레이저 +JA7J = 액트레이저 +JA7P = 액트레이저 +JA8E = 파이널 파이트 +JA8J = 파이널 파이트 +JA8P = 파이널 파이트 +JAAE = 슈퍼 마리오 월드 +JAAJ = 슈퍼 마리오 월드 +JAAP = 슈퍼 마리오 월드 +JAAQ = 슈퍼 마리오 월드 +JAAT = 슈퍼 마리오 월드 +JABJ = 마리오의 슈퍼 피크로스 +JABL = 마리오의 슈퍼 피크로스 +JACE = 에프-제로 +JACJ = 에프-제로 +JACP = 에프-제로 +JACT = 에프-제로 +JADD = 젤다의 전설: 신들의 트라이포스 +JADE = 젤다의 전설: 신들의 트라이포스 +JADF = 젤다의 전설: 신들의 트라이포스 +JADJ = 젤다의 전설: 신들의 트라이포스 +JADP = 젤다의 전설: 신들의 트라이포스 +JADT = 젤다의 전설: 신들의 트라이포스 +JAEE = 동키 콩 컨트리 +JAEJ = 슈퍼 동키 콩 +JAEP = 동키 콩 컨트리 +JAET = 동키 콩 컨트리 +JAFD = 심시티 +JAFE = 심시티 +JAFF = 심시티 +JAFJ = 심시티 +JAFP = 심시티 +JAGJ = 파이어 엠블렘: 문장의 비밀 +JAHE = 알타입 III: 더 서드 라이트닝 +JAHJ = 알타입 III: 더 서드 라이트닝 +JAHP = 알타입 III: 더 서드 라이트닝 +JAIE = 슈퍼 케슬베니아 IV +JAIJ = 악마성 드라큘라 +JAIP = 슈퍼 캐슬베니아 IV +JAJE = 스트리트 파이터 II: 더 월드 워리어 +JAJJ = 스트리트 파이터 II +JAJP = 스트리트 파이터 II: 더 월드 워리어 +JALE = 콘트라 3: 에일리언 워즈 +JALJ = 혼두라 스피리츠 +JALP = 슈퍼 프로보텍터: 에일리언 레벨즈 +JALT = 콘트라 3: 에일리언 워즈 +JAME = 그라디우스 III +JAMJ = 그라디우스 III +JAMM = 그라디우스 III +JAMT = 그라디우스 III +JAPJ = 파이어 엠블렘: 성전의 계보 +JAUJ = 패미컴 문고: 시작의 숲 +JAVE = 슈퍼 메트로이드 +JAVJ = 슈퍼 메트로이드 +JAVP = 슈퍼 메트로이드 +JAVT = 슈퍼 메트로이드 +JAWE = 삼국지 IV: 적벽대전 +JAWJ = 삼국지 IV: 적벽대전 +JAZD = 힘내라 고에몽: 유키 공주 구출 두루마리 +JAZE = 힘내라 고에몽: 유키 공주 구출 두루마리 +JAZJ = 힘내라 고에몽: 유키 공주 구출 두루마리 +JAZP = 힘내라 고에몽: 유키 공주 구출 두루마리 +JB3D = 하베스트 문 +JB3E = 하베스트 문 +JB3J = 하베스트 문 +JB3P = 하베스트 문 +JB5J = 슈퍼 굿슨 오요요 +JB6J = 트레져 헌터 G +JB7J = 프론트 미션: 건 하자드 +JB9J = 학교에서 있었던 무서운 이야기 +JBAE = 메탈 마린즈 +JBAJ = 밀리티아 +JBBE = 슈퍼 스트리트 파이터 II: 새로운 도전자들 +JBBJ = 슈퍼 스트리트 파이터 II: 새로운 도전자들 +JBBP = 슈퍼 스트리트 파이터 II: 새로운 도전자들 +JBCE = 커비의 드림 코스 +JBCJ = 커비 볼 +JBCP = 커비의 드림 코스 +JBCT = 커비의 드림 코스 +JBDD = 동키 콩 컨트리 2: 디디의 콩 퀘스트 +JBDE = 동키 콩 컨트리 2: 디디의 콩 퀘스트 +JBDJ = 슈퍼 동키 콩 2: 딕시 & 디디 +JBDP = 동키 콩 컨트리 2: 디디의 콩 퀘스트 +JBDT = 동키 콩 컨트리 2: 디디의 콩 퀘스트 +JBEJ = 매지컬 드롭 +JBFJ = 제절초 +JBGJ = 이상한 던젼: 풍래의 시렌 +JBHJ = 헤라클레스의 영광 IV: 신들의 선물 +JBIE = 스트리트 파이터 II 터보: 하이퍼 파이팅 +JBIJ = 스트리트 파이터 II 터보: 하이퍼 파이팅 +JBIP = 스트리트 파이터 II 터보: 하이퍼 파이팅 +JBKE = 브레스 오브 파이어 II: 사명의 아이 +JBKJ = 브레스 오브 파이어 II: 사명의 아이 +JBKP = 브레스 오브 파이어 II: 사명의 아이 +JBLE = 팩 어택 +JBLJ = 코스모 갱 더 퍼즐 +JBLP = 팩 어택 +JBNE = 다리우스 트윈 +JBNJ = 다리우스 트윈 +JBOJ = 패널로 퐁 +JBOQ = 패널로 퐁 +JBPE = 동키 콩 컨트리 3: 딕시의 이중 문제 +JBPJ = 슈퍼 동키 콩 3: 수수께끼의 크레미스 섬 +JBPP = 동키 콩 컨트리 3: 딕시의 이중 문제 +JBQE = 카비의 아발란체 +JBQJ = 슈~퍼~ 뿌요뿌요 +JBQP = 커비의 고스트 트랩 +JBRE = 베가스 스테이크즈 +JBRJ = 베가스 스테이크즈 +JBRP = 베가스 스테이크즈 +JBSE = 엑슬레이 +JBSJ = 엑슬레이 +JBSP = 엑슬레이 +JBTE = 슈퍼 터리칸 +JBTJ = 슈퍼 터리칸 +JBTP = 슈퍼 터리칸 +JBUE = 슈퍼 터리칸 2 +JBUJ = 슈퍼 터리칸 2 +JBVJ = 데어 랑그랏사 +JBWE = 싸이버네이터 +JBWJ = 중장기병 발켄 +JBWP = 싸이버네이터 +JBWT = 싸이버네이터 +JBYE = 슈퍼 알타입 +JBYJ = 슈퍼 알타입 +JBYP = 슈퍼 알타입 +JBYT = 슈퍼 알-타입 +JC2J = 태합입지전 +JC3J = 바하무트 라군 +JC4E = 인디아니 존스 위대한 모험 +JC4J = 인디아니 존스 위대한 모험 +JC4P = 인디아니 존스 위대한 모험 +JC5J = 로맨싱 사가 +JC6J = 로맨싱 사가 2 +JC7E = 컴뱃트라이브즈 +JC7J = 컴뱃트라이브즈 +JC8E = 파이널 판타지 II +JC8J = 파이널 판타지 IV +JC8M = 파이널 판타지 II +JC8P = 파이널 판타지 2 +JC9J = 파이널 판타지 V +JCAJ = 도-레-미 판타지: 리론의 두근두근 대모험 +JCAL = 도-레-미 판타지: 리론의 두근두근 대모험 +JCAN = 도-레-미 판타지: 리론의 두근두근 대모험 +JCBE = 슈퍼 마리오 RPG: 일곱 별들의 전설 +JCBJ = 슈퍼 마리오 RPG +JCBM = 슈퍼 마리오 RPG: 일곱 별들의 전설 +JCCE = 커비 슈퍼 스타 +JCCJ = 별의 커비 슈퍼 디럭스 +JCCP = 커비의 펀 팩 +JCDE = 커비의 드림 랜드 3 +JCDJ = 별의 커비 3 +JCDM = 커비의 드림 랜드 3 +JCEJ = 파이어 엠블렘: 트라키아 776 +JCGJ = 힘내라 고에몽 2: 기천열 장군 마기네스 +JCHJ = 힘내라 고에몽 3 +JCIJ = 패미컴 탐정 클럽 파트 II: 뒷 편에 선 소녀 +JCJE = 슈퍼 펀치 아웃!! +JCJJ = 슈퍼 펀치 아웃!! +JCJP = 슈퍼 펀치 아웃!! +JCKE = 스페이스 인베이더스: 오리지널 게임 +JCKJ = 스페이스 인베이더스: 오리지널 게임 +JCKP = 스페이스 인베이더스: 오리지널 게임 +JCLD = 성검전설 +JCLE = 성검전설 +JCLF = 성검전설 +JCLJ = 성검전설 2 +JCLP = 성검전설 +JCMJ = 슈퍼 와간 랜드 +JCNE = 페르시아 왕자 +JCNJ = 페르시아 왕자 +JCNP = 페르시아 왕자 +JCTE = 오우거 배틀: 검은 여왕의 진군 +JCTJ = 전설의 오우거 배틀: 검은 여왕의 진군 +JCTM = 오우거 배틀: 검은 여왕의 진군 +JCUJ = 택틱스 오우거: 함께 손을 맞잡자 +JCVE = 파일럿윙스 +JCVJ = 파일럿윙스 +JCVP = 파일럿윙스 +JCWE = 슈퍼 마리오 카트 +JCWJ = 슈퍼 마리오 카트 +JCWP = 슈퍼 마리오 카트 +JCXE = 노부나가의 야망 +JCXJ = 슈퍼 노부가나의 야망: 전국판 +JCYE = 대항해시대 +JCYJ = 대항해시대 II +JCZE = 징기스칸 II: 회색 늑대의 무리 +JCZJ = 슈퍼 푸른 늑대와 흰 암사슴: 원조비사 +JD2J = 미소녀 작사 수치-파이 +JD3E = 슈퍼 지구방위군 +JD3J = 슈퍼 지구방위군 +JD3P = 슈퍼 지구방위군 +JD4E = 라이벌 터프! +JD4J = 러싱 비트 +JD4P = 라이벌 터프! +JD5E = 브롤 브라더즈 +JD5J = 러싱 비트 란: 복제 도시 +JD5P = 브롤 브라더즈 +JD6E = 이그니션 팩터 +JD6J = 파이어 파이팅 +JD6M = 이그니션 팩터 +JD7E = 슈퍼 모험도 +JD7J = 타카하시 명인의 대모험도 +JD7P = 슈퍼 모험도 +JD8E = 슈퍼 모험도 II +JD8J = 타카하시 명인의 대모험도 II +JD8P = 슈퍼 모험도 II +JD9E = 슈퍼 봉크 +JD9J = 초원인 +JD9M = 슈퍼 봉크 +JDAE = 파이널 판타지 III +JDAJ = 파이널 판타지 VI +JDAM = 파이널 판타지 III +JDAP = 파이널 판타지 III +JDBE = 슈퍼 봄버맨 3 +JDCE = 스트리트 파이터 알파 2 +JDCJ = 스트리트 파이터 2 알파 +JDCP = 스트리트 파이터 알파 2 +JDDE = 파이널 파이트 2 +JDDJ = 파이널 파이트 2 +JDDP = 파이널 파이트 2 +JDEE = 파이널 파이트 3 +JDEJ = 파이널 파이트 터프 +JDEP = 파이널 파이트 3 +JDFJ = 스테 팔고군 +JDHJ = 슈퍼 패미컴 대전 +JDIE = 슈퍼 스타 워즈 +JDIJ = 슈퍼 스타 워즈 +JDIP = 슈퍼 스타 워즈 +JDJE = 슈퍼 스타 워즈: 제국의 역습 +JDJJ = 슈퍼 스타 워즈: 제국의 역습 +JDJP = 슈퍼 스타 워즈: 제국의 역습 +JDKJ = 메탈 맥스 2 +JDLE = 슈퍼 스타 워즈: 제다이의 귀환 +JDLJ = 슈퍼 스타 워즈: 제다이의 귀환 +JDLP = 슈퍼 스타 워즈: 제다이의 귀환 +JDMJ = 커비의 반짝반짝 키즈 +JDNE = 구울 패트롤 +JDNJ = 구울 패트롤 +JDNP = 구울 패트롤 +JDOJ = 헤이세이 신・귀신의 섬 전편 +JDPJ = 헤이세이 신・귀신의 섬 후편 +JDQJ = 로맨싱 사가 3 +JDRJ = 클락 타워 +JDSJ = 진 여신 전생 II +JDTJ = 진 여신 전생 이프... +JDUJ = 알버트 오딧세이 +JDVE = 와일드 건즈 +JDVJ = 와일드 건즈 +JDVP = 와일드 건즈 +JDWE = 에어로 더 아크로뱃 +JDWJ = 에어로 더 아크로뱃 +JDWP = 에어로 더 아크로뱃 +JDXE = 에어로 더 아크로뱃 2 +JDXJ = 에어로 더 아크로뱃 2 +JDXP = 에어로 더 아크로뱃 2 +JDYJ = 루드라의 비보 +JDZD = 미스틱 퀘스트 레전드 +JDZE = 파이널 판타지 미스틱 퀘스트 +JDZF = 미스틱 퀘스트 레전드 +JDZJ = 파이널 판타지 USA: 미스틱 퀘스트 +JDZP = 미스틱 퀘스트 레전드 +JEAE = 나츠미 챔피언쉽 레슬링 +JEAJ = 나츠미 챔피언쉽 레슬링 +JEAM = 나츠미 챔피언쉽 레슬링 +JEAP = 나츠미 챔피언쉽 레슬링 +JEBE = 메가맨 X +JEBJ = 록맨 X +JEBP = 메가맨 X +JECE = 크로노 트리거 +JECJ = 크로노 트리거 +JECM = 크로노 트리거 +JECP = 크로노 트리거 +JEDJ = 쿠니오군의 닷지볼이야 전원집합! +JEEJ = 마신 전생 +JEFJ = 마신 전생 II: 스파이럴 네메시스 +JEGJ = 호열사일족 +JEHE = 메가맨 X2 +JEHJ = 록맨 X2 +JEHP = 메가맨 X2 +JEIJ = 메탈 맥스 리턴즈 +JEJJ = 그믐 - 츠키코모리 +JEKJ = 구약 여신전생: 여신전생 I・II +NA3E = 봄버맨 히어로 +NA3J = 봄버맨 히어로 +NA3P = 봄버맨 히어로 +NAAE = 슈퍼 마리오 64 +NAAJ = 슈퍼 마리오 64 +NAAP = 슈퍼 마리오 64 +NABE = 마리오 카트 64 +NABJ = 마리오 카트 64 +NABP = 마리오 카트 64 +NABT = 마리오 카트 64 +NACE = 젤다의 전설: 시간의 오카리나 +NACJ = 젤다의 전설: 시간의 오카리나 +NACP = 젤다의 전설: 시간의 오카리나 +NADE = 스타 폭스 64 +NADJ = 스타 폭스 64 +NADP = 스타 폭스 64 +NADT = 스타 폭스 64 +NAEE = 페이퍼 마리오 +NAEJ = 마리오 이야기 +NAEP = 페이퍼 마리오 +NAFE = 에프-제로 X +NAFJ = 에프-제로 X +NAFP = 에프-제로 X +NAGJ = 에어로게이지 +NAHE = 요시의 이야기 +NAHJ = 요시의 이야기 +NAHP = 요시의 이야기 +NAIE = 웨이브 레이스 64 +NAIJ = 웨이브 레이스 64: 카와사키 제트 스키 +NAIP = 웨이브 레이스 64 +NAJ8 = 젤다의 전설: 시간의 오카리나 (스페인어 번역) +NAJJ = 죄와 벌 +NAJL = 죄와 벌 +NAJN = 죄와 벌 +NAKD = 포켓몬 스냅 +NAKE = 포켓몬 스냅 +NAKF = 포켓몬 스냅 +NAKI = 포켓몬 스냅 +NAKJ = 포켓몬 스냅 +NAKP = 포켓몬 스냅 +NAKS = 포켓몬 스냅 +NALE = 슈퍼 대단투 브라더스 +NALJ = 닌텐도 올 스타 대난투 스매쉬 브라더스 +NALP = 슈퍼 대난투 브라더스 +NAME = 별의 커비 64: 크리스탈 조각들 +NAMJ = 별의 커비 64 +NAMP = 별의 커비 64: 크리스탈 조각들 +NAMT = 별의 커비 64: 크리스탈 조각들 +NAND = 포켓몬 퍼즐 리그 +NANE = 포켓몬 퍼즐 리그 +NANF = 포켓몬 퍼즐 리그 +NANJ = 포켓몬 퍼즐 리그 +NANP = 포켓몬 퍼즐 리그 +NAOE = 1080° 스노우보딩 +NAOJ = 1080° 스노우보딩 +NAOP = 1080° 스노우보딩 +NAOT = 1080° 스노우보딩 +NAPJ = 커스텀 로보 V2 +NARE = 젤다의 전설: 뮤주라의 가면 +NARJ = 젤다의 전설: 뮤주라의 가면 +NARP = 젤다의 전설: 뮤주라의 가면 +NASE = 크루즌 USA +NASJ = 크루즌 USA +NASP = 크루즌 USA +NATE = 마리오 테니스 +NATJ = 마리오 테니스 64 +NATP = 마리오 테니스 +NAUE = 마리오 골프 +NAUJ = 마리오 골프 64 +NAUP = 마리오 골프 +NAYE = 오우거 배틀 64: 경건한 사람 +NAYJ = 오우거 배틀 64: 경건한 사람 +NAYM = 오우거 배틀 64: 경건한 사람 +NAZE = 마리오 파티 2 +NAZJ = 마리오 파티 2 +NAZP = 마리오 파티 2 +NEEA = 젤다의 전설: 시간의 오카리나 마스터 퀘스트 +NSRE = 슈퍼 마리오 스타 로드 +NTLC = 슈퍼 마리오 64 멀티플레이어 +NZXM = 슈퍼 마리오 64 멀티플레이어 +LAAJ = 북두의 권 +LABE = 판타지 존 +LABJ = 판타지 존 +LABP = 판타지 존 +LACE = 원더 보이 +LACJ = 슈퍼 원더 보이 +LACP = 원더 보이 +LADE = 판타지 스타 +LADJ = 판타지 스타 +LADP = 판타지 스타 +LAEE = 미라클 월드 알렉스 키드 +LAEJ = 미라클 월드 알렉스 키드 +LAEP = 미라클 월드 알렉스 키드 +LAFJ = 아수라 +LAFN = 시크릿 코만도 +LAFP = 시크릿 커맨드 +LAGE = 바람돌이 소닉 +LAGJ = 바람돌이 소닉 +LAGP = 바람돌이 소닉 +LAHE = 스페이스 해리어 +LAHJ = 스페이스 해리어 +LAHP = 스페이스 해리어 +LAIE = 엔듀로 레이서 +LAIJ = 엔듀로 레이서 +LAIP = 엔듀로 레이서 +LAJE = 바람돌이 소닉 2 +LAJJ = 바람돌이 소닉 2 +LAJP = 바람돌이 소닉 2 +LAKE = 몬스터 랜드 원더 보이 +LAKJ = 슈퍼 원더 보이: 몬스터 월드 +LAKP = 몬스터 랜드 원더 보이 +LALE = 판타지 존 II: 오파오파의 눈물 +LALJ = 판타지 존 II: 오파오파의 눈물 +LALP = 판타지 존 II: 오파오파의 눈물 +LAME = 소닉 카오스 +LAMJ = 소닉 카오스 +LAMP = 소닉 카오스 +LANE = 알렉스 키드: 잃어버린 별 +LANJ = 알렉스 키드: 잃어버린 별 +LANP = 알렉스 키드: 잃어버린 별 +LAOE = 알타입 +LAOJ = 알타입 +LAOP = 알타입 +LAPE = 원더 보이 III: 용의 함정 +LAPP = 원더 보이 III: 용의 함정 +LAQE = 알렉스 키드: 시노비 월드 +LAQP = 알렉스 키드: 시노비 월드 +MA2J = 다이나 브라더즈 +MA3E = 뿌요 뿌요 2 +MA3J = 뿌요 뿌요 썬 +MA3L = 뿌요 뿌요 2 +MA4J = 바하무트 전기 +MA5J = 영웅을 빌려줘 +MA6E = 스트리츠 오브 레이지 2 +MA6J = 베어 너클 II: 사투로의 진혼가 +MA6P = 스트리츠 오브 레이지 2 +MA7E = 샤이닝 인 더 다크니스 +MA7J = 샤이닝 앤 더 다크니스 +MA7P = 샤이닝 인 더 다크니스 +MA8E = 에코: 시간의 조수 +MA8J = 에코 더 돌핀 2 +MA8P = 에코: 시간의 조수 +MA9J = 하이브리드 프론트 +MAAE = 수왕기 +MAAJ = 수왕기 +MAAP = 수왕기 +MABE = 칼럼즈 +MABJ = 칼럼즈 +MABP = 칼럼즈 +MACE = 닥터 로보트닉의 민 빈 머신 +MACJ = 뿌요 뿌요 +MACP = 닥터 로보트닉의 민 빈 머신 +MADE = 에코 더 돌핀 +MADJ = 에코 더 돌핀 +MADP = 에코 더 돌핀 +MAEE = 황금 도끼 +MAEJ = 황금 도끼 +MAEP = 황금 도끼 +MAFE = 건스타 히어로즈 +MAFJ = 건스타 히어로즈 +MAFP = 건스타 히어로즈 +MAGE = 리스타 +MAGJ = 리스타 +MAGP = 리스타 +MAHE = 바람돌이 소닉 +MAHJ = 바람돌이 소닉 +MAHP = 바람돌이 소닉 +MAIE = 스페이스 해리어 II +MAIJ = 스페이스 해리어 II +MAIP = 스페이스 해리어 II +MAJE = 홀이와 뚱이 +MAJJ = 홀이와 뚱이 +MAJP = 홀이와 뚱이 +MAKE = 쉐도우 댄서: 시노비의 비밀 +MAKJ = 쉐도우 댄서: 시노비의 비밀 +MAKP = 쉐도우 댄서: 시노비의 비밀 +MALE = 보난자 브라더스 +MALJ = 보난자 브라더스 +MALP = 보난자 브라더스 +MAME = 버밀리온의 검 +MAMJ = 버밀리온 +MAMP = 버밀리온의 검 +MANE = 게인 그라운드 +MANJ = 게인 그라운드 +MANP = 게인 그라운드 +MAOE = 바이오 해저드 배틀 +MAOJ = 크라잉: 아생명전쟁 +MAOP = 바이오 해저드 배틀 +MAPE = 코믹스 존 +MAPJ = 코믹스 존 +MAPP = 코믹스 존 +MAQE = 스트리츠 오브 레이지 +MAQJ = 베어 너클: 분노의 철권 +MAQP = 스트리츠 오브 레이지 +MARE = 오아시스 저편에 +MARJ = 토르의 이야기: 빛을 계승하는 자 +MARP = 토르의 이야기 +MASE = 벡터맨 +MASJ = 벡터맨 +MASP = 벡터맨 +MATE = 소닉 스핀볼 +MATJ = 소닉 스핀볼 +MATP = 소닉 스핀볼 +MAUJ = 퍼즐 & 액션: 단트-알 +MAVE = 몬스터 월드 원더 보이 +MAVJ = 원더 보이 V: 몬스터 월드 III +MAVP = 몬스터 월드 원더 보이 +MAWE = 버추어 파이터 2 +MAWJ = 버추어 파이터 2 +MAWP = 버추어 파이터 2 +MAXE = 알렉스 키드: 천공마성 +MAXJ = 알렉스 키드: 천공마성 +MAXP = 알렉스 키드: 천공마성 +MAYE = 에일리언 스톰 +MAYJ = 에일리언 스톰 +MAYP = 에일리언 스톰 +MAZE = 홀이와 뚱이 +MAZP = 홀이와 뚱이 +MB2J = 랑그릿사 +MB3E = 몬스터 월드 IV +MB3J = 몬스터 월드 IV +MB3L = 몬스터 월드 IV +MB4J = 파티 퀴즈 메가 Q +MB5J = 랑그릿사 II +MB6E = 샤이닝 포스 II: 고대의 봉인 +MB6J = 샤이닝 포스 II: 고대의 봉인 +MB6P = 샤이닝 포스 II: 고대의 봉인 +MB7E = 메가 터리칸 +MB7P = 메가 터리칸 +MB8E = 판타시 스타 II - 돌아오지 않을 시간의 끝에서 +MB8J = 판타시 스타 II - 돌아오지 않을 시간의 끝에서 +MB8P = 판타시 스타 II - 돌아오지 않을 시간의 끝에서 +MB9J = 페펭가 펭고 +MBAJ = 펄스맨 +MBAL = 펄스맨 +MBAN = 펄스맨 +MBBE = 바람돌이 소닉 2 +MBBJ = 바람돌이 소닉 2 +MBBP = 바람돌이 소닉 2 +MBCE = 키드 카멜레온 +MBCJ = 카멜레온 키드 +MBCP = 키드 카멜레온 +MBDE = 황금 도끼 II +MBDJ = 황금 도끼 II +MBDP = 황금 도끼 II +MBEE = 샤이닝 포스: 신들의 유산 +MBEJ = 샤이닝 포스: 신들의 유산 +MBEP = 샤이닝 포스: 신들의 유산 +MBFE = 시노비 III: 닌자 마스터의 귀환 +MBFJ = 슈퍼 솔저 II +MBFP = 시노비 III: 닌자 마스터의 귀환 +MBGE = 다이나마이트 헤디 +MBGJ = 다이나마이트 헤디 +MBGP = 다이나마이트 헤디 +MBHJ = 퍼즐 & 액션: 이치단트-알 +MBIE = 랜드스토커: 황제의 보물 +MBIJ = 랜드스토커: 황제의 보물 +MBIP = 랜드스토커: 황제의 보물 +MBJE = 마계촌 +MBJJ = 대마계촌 +MBJP = 마계촌 +MBKJ = 크랙 다운 +MBKP = 크랙 다운 +MBLJ = ESWAT: 사이버 폴리스 +MBLP = ESWAT: 포위당한 도시 +MBME = 바람돌이 소닉 3 +MBMJ = 바람돌이 소닉 3 +MBMP = 바람돌이 소닉 3 +MBNJ = 체르노브 +MBOE = 황금 도끼 III +MBOJ = 황금 도끼 III +MBOP = 황금 도끼 III +MBPE = 슈퍼 썬더 블래이드 +MBPJ = 슈퍼 썬더 블래이드 +MBPP = 슈퍼 썬더 블래이드 +MBQE = 스트리츠 오브 레이지 3 +MBQJ = 베어 너클 III +MBQP = 스트리츠 오브 레이지 3 +MBRE = 롤링 썬더 2 +MBRJ = 롤링 썬더 2 +MBRP = 롤링 썬더 2 +MBSJ = 다이나 브라더즈 2 스페셜 +MBTE = 에일리언 솔저 +MBTJ = 에일리언 솔저 +MBTP = 에일리언 솔저 +MBUE = 소닉 3D: 블래스트 +MBUJ = 소닉 3D: 블래스트 +MBUP = 소닉 3D: 플릭키즈 아일랜드 +MBVJ = 중장기병 레이노스 +MBWE = 칼럼즈 III: 칼럼즈의 복수 +MBWJ = 칼럼즈 III: 대결! 칼럼즈 월드 +MBWM = 칼럼즈 III: 칼럼즈의 복수 +MBXE = 에코 주니어 +MBXJ = 에코 주니어 +MBXM = 에코 주니어 +MBYE = 라이트 크루세이더 +MBYJ = 라이트 크루세이더 +MBYP = 라이트 크루세이더 +MBZE = 영원한 챔피언들 +MBZJ = 영원한 챔피언들 +MBZP = 영원한 챔피언들 +MC2E = 어스웜 짐 2 +MC2J = 어스웜 짐 2 +MC2P = 어스웜 짐 2 +MC3E = 슈퍼 스트리트 파이터 II: 새로운 도전자들 +MC3J = 슈퍼 스트리트 파이터 2: 새로운 도전자들 +MC3P = 슈퍼 스트리트 파이터 II: 새로운 도전자들 +MC4E = 스트라이더 +MC4J = 스트라이더 비룡 +MC4P = 스트라이더 +MCAJ = 그레이 랜서 +MCAL = 그레이 랜서 +MCAN = 그레이 랜서 +MCBE = 파워볼 +MCBJ = 레슬볼 +MCCE = 판타지 스타 III: 시간의 계승자 +MCCJ = 시간의 계승자: 판타지 스타 III +MCCP = 시간의 계승자 +MCDE = 소닉과 너클즈 +MCDJ = 소닉과 너클즈 +MCDP = 소닉과 너클즈 +MCEJ = 슈퍼 판타지 존 +MCEN = 슈퍼 판타지 존 +MCEP = 슈퍼 판타지 존 +MCFJ = 페리오스 +MCGE = 잃어버린 세계 +MCGJ = 잃어버린 세계 +MCGP = 잃어버린 세계 +MCHE = 무자 알레스트 +MCHJ = 무자 알레스트 +MCHM = 무자 알레스트 +MCIJ = 지노그 +MCJE = 스플래터하우스 2 +MCJJ = 스플래터하우스 파트 2 +MCJP = 스플래터하우스 2 +MCKE = 판타지 스타 IV: 천년기의 끝에 +MCKJ = 판타지 스타 IV: 천년기의 끝에 +MCKP = 판타지 스타 IV: 천년기의 끝에 +MCLE = 스트리트 파이터 II': 스페셜 챔피언 에디션 +MCLJ = 스트리트 파이터 II' 플러스: 챔피언 에디션 +MCLP = 스트리트 파이터 II’: 스페셜 챔피언 에디션 +MCMJ = 로드 모나크: 최후의 전투 전설 +MCNJ = 북두의 권: 세기말 구세주 전설 +MCOJ = 소서리안 +MCPE = 어스웜 짐 +MCPJ = 어스웜 짐 +MCPP = 어스웜 짐 +MCQE = 부거맨: 픽 앤 플릭 어드벤처 +MCQP = 부거맨: 픽 앤 플릭 어드벤처 +MCRE = 전장의 랑: MERCS +MCRJ = 전장의 이리 II +MCRP = 전장의 랑: MERCS +MCSJ = 원더보이 III: 몬스터 레어 +MCSN = 원더보이 III: 몬스터 레어 +MCSP = 원더보이 III: 몬스터 레어 +MCTE = 클레이 파이터 +MCTP = 클레이 파이터 +MCUJ = 드래곤 슬레이어: 영웅전설 +MCVE = 피트폴: 메이안 어드벤처 +MCVJ = 피트폴: 메이안 어드벤처 +MCVP = 피트폴: 메이안 어드벤처 +MCWE = 갤럭시 포스 II +MCWJ = 갤럭시 포스 II +MCWP = 갤럭시 포스 II +MCXJ = 드래곤 슬레이어: 영웅전설 +MCYE = 시노비의 복수 +MCYJ = 슈퍼 시노비 +MCYP = 시노비의 복수 +MCZE = 상하이 II: 용의 눈 +MCZP = 상하이 II: 용의 눈 +PA2J = 열혈고교 돗지볼 부: CD 축구 편 +PA3J = 사라만다 +PA4J = 파라솔 스타즈 +PA6E = 블러디 울프 +PA6J = 불량배 전투 부대: 블러디 울프 +PA6P = 블러디 울프 +PA7E = 에일리언 크러쉬 +PA7J = 에일리언 크러쉬 +PA7P = 에일리언 크러쉬 +PA8E = 오다인 +PA8J = 오다인 +PA9E = 스플래터하우스 +PA9J = 스플래터하우스 +PA9P = 스플래터하우스 +PAAE = 봄버맨 '93 +PAAP = 봄버맨 '93 +PABE = 봉크의 모험 +PABJ = PC 원인 +PABP = 봉크의 모험 +PACE = 던전 탐험가 +PACJ = 던전 탐험가 +PACP = 던전 탐험가 +PADE = 알타입 +PADJ = 알타입 I +PADP = 알타입 +PAEE = 슈퍼 스타 솔져 +PAEJ = 슈퍼 스타 솔져 +PAEP = 슈퍼 스타 솔져 +PAFE = 승리의 질주 +PAFJ = 승리의 질주: 영광의 13,000KM +PAFP = 승리의 질주 +PAGJ = 봄버맨 '94 +PAGL = 봄버맨 '94 +PAGN = 봄버맨 '94 +PAHE = 배틀 로드 런너 +PAHJ = 배틀 로드 런너 +PAHP = 배틀 로드 런너 +PAIE = 신 모험도 +PAIJ = 타카하시 명인의 신 모험도 +PAIP = 신 모험도 +PAJJ = 사성검 네크로맨서 +PAKE = 용의 저주 +PAKJ = 모험도 +PAKP = 용의 저주 +PALE = 솔져 블레이드 +PALJ = 솔져 블레이드 +PALP = 솔져 블레이드 +PAME = 뉴토피아 +PAMJ = 뉴토피아: 프레이의 장 +PAMP = 뉴토피아 +PANE = 밀리터리 매드니스 +PANJ = 넥타리스 +PANP = 밀리터리 매드니스 +PAOJ = 파이널 솔져 +PAOL = 파이널 솔져 +PAON = 파이널 솔져 +PAPJ = 알타입 II +PAQJ = 그라디우스 +PARJ = 나왔다! 트윈비 +PARL = 나왔다! 트윈비 +PARN = 나왔다! 트윈비 +PASJ = 카다쉬 +PATJ = 기기괴계 +PAUJ = 개조정인 슈비빅맨 +PAVE = 비질란테 +PAVJ = 비질란테 +PAVP = 비질란테 +PAWE = 갤러그 '90 +PAWJ = 갤러그 '88 +PAWP = 갤러그 '90 +PAYJ = 왈큐레의 전설 +PAZJ = 원평토마전 +PB2E = 뉴토피아 II +PB2J = 뉴토피아 II +PB2P = 뉴토피아 II +PB3E = 데빌 크러쉬 +PB3J = 데빌 크래쉬 +PB3P = 데빌 크러쉬 +PB5J = 닌자 용검전 +PB6E = 크레이터메이즈 +PB6P = 크레이터메이즈 +PB7J = 전국 마작 +PB8E = 블레이징 레이저즈 +PB8J = 블레이징 레이저즈 +PB8P = 블레이징 레이저즈 +PB9E = 월드 스포츠 대회 +PB9J = 파워 스포츠 +PB9P = 월드 스포츠 대회 +PBAE = 드래곤 스피릿 +PBAJ = 드래곤 스피릿 +PBAP = 드래곤 스피릿 +PBCJ = 원더-모모 +PBDE = 더블 던전즈 +PBDJ = 더블 던전즈 +PBDP = 더블 던전즈 +PBEE = 모터 로더 +PBEJ = 모터 로더 +PBEP = 모터 로더 +PBFJ = 파이어 프로레슬링: 콤비네이션 태그 +PBHE = 봉크의 복수 +PBHJ = PC 원인 2 +PBHP = 봉크의 복수 +PBIE = 봉크 3: 봉크의 대모험 +PBIJ = PC 원인 3 +PBIP = 봉크 III: 봉크의 대모험 +PBJE = 사무라이 고스트 +PBJJ = 원평 토마전: 제 2권 +PBJP = 사무라이 고스트 +PBME = 영웅 톤마의 전설 +PBMJ = 영웅 톤마의 전설 +PBMP = 영웅 톤마의 전설 +PBNE = 닌자 스피릿 +PBNJ = 최후의 인도: 닌자 스피릿 +PBNP = 닌자 스피릿 +PBSE = 츄만푸 +PBSJ = 비 볼 +PBSP = 츄만푸 +PBTE = 차이나 워리어 +PBTJ = 쿵푸 +PBTP = 차이나 워리어 +PBUE = 브라보맨 +PBUJ = 초절륜인 브라보맨 +PBVJ = 벤케이 외전 +PBWE = 에어 종크 +PBWJ = PC 전인: 펑킥 사이보그스 +PBWP = 에어 종크 +PBXE = 쇼크맨 +PBXJ = 개조정인 슈비빅맨 2: 새로운 적 +PBXP = 쇼크맨 +PBYJ = 아웃 라이브 +PBZE = 제이.제이. & 제프 +PBZP = 제이.제이. & 제프 +PC2E = 체이스 H.Q. +PC2J = 체이스 H.Q. +PC2P = 체이스 H.Q. +PC3J = 다리우스 플러스 +PC4J = 스페이스 인베이더즈: 부활의 날 +PC5J = 드래곤 세이버 +PC6J = 파이널 블래스터 +PC7J = 미즈바쿠 대모험 +PC8J = 닌자워리어즈 +PC9J = 뉴질랜드 이야기 +PCAE = 사일런트 디버거즈 +PCAJ = 사일런트 디버거즈 +PCAP = 사일런트 디버거즈 +PCBE = 데드 문 +PCBJ = 데드 문: 달 세계의 악몽 +PCBP = 데드 문 +PCCJ = 마계팔견전 샤다 +PCDJ = 장하다! 게이트 볼 +PCEE = 파워 골프 +PCEJ = 파워 골프 +PCEP = 파워 골프 +PCHE = 드랍 오프 +PCHJ = 드랍 락 이봐 이봐 +PCHP = 드랍 오프 +PCJJ = 오버라이드 +PCKJ = 가이 프레임 +PCMJ = Mr. 헬리의 대모험 +PCNJ = 승리 샷 +PCOE = 싸이코시스 +PCOJ = 파라노이아 +PCOP = 싸이코시스 +PCPJ = 파워 일레븐 +PCQJ = 싸이코 체이서 +PCRJ = 브레이크 인 +PCRL = 브레이크 인 +PCRN = 브레이크 인 +PCSJ = 디지털 챔프: 전투 복싱 +PCSL = 디지털 챔프: 전투 복싱 +PCSN = 디지털 챔프: 전투 복싱 +PCTJ = 파워 테니스 +PCUJ = 파이어 프로레슬링 2 번째 시합 +PCVE = 월드 클래스 야구 +PCVP = 월드 클래스 야구 +PCWJ = 이미지 파이트 +PCXJ = 파워 리그 IV +PCYJ = 왈라비!! 토끼 나라의 캥거루 레이스 +PDAJ = 열혈고교 피구부® PC 번외편 +PDCJ = 대마계촌 +PDDJ = 볼피드 +PDEJ = S.C.I.: 특수 범죄 수사 +PDFJ = 지옥순례 +PDGJ = 파이어 프로레슬링 3: 레전드 바우트 +PDHJ = 라스탄 사가 II +PDIJ = 챔피언 레슬러® +PDJJ = 스트리트 파이터 II': 챔피언 에디션 +PDJL = 스트리트 파이터 II': 챔피언 에디션 +PDJN = 스트리트 파이터 II: 챔피언 에디션 +QA2J = 열혈고교 피구부: CD 축구편 +QA3E = 심어스: 살아있는 지구 +QA3J = 심어스 +QA3P = 심어스: 살아있는 지구 +QA4J = 슈퍼 다리우스 II +QA5J = 스페이스 인베이더즈: 오리지널 게임 +QA6J = 슈퍼 다리우스 +QA7J = 제나두의 전설: 바람의 전설 제나두 +QA8J = 스프리건 마크 2 +QA9J = 바람의 전설: 제나두 II +QAAE = 슈퍼 에어 종크 +QAAJ = CD 전인: 로커빌리 천국 +QAAP = 슈퍼 에어 종크 +QABE = 이스 북 I & II +QABJ = 이스 I + II +QABP = 이스 북 I & II +QACJ = 초형귀 +QACL = 초형귀 +QACN = 초형귀 +QADJ = 그라디우스 II: 고퍼의 야망 +QADL = 그라디우스 II: 고퍼의 야망 +QADN = 그라디우스 II: 고퍼의 야망 +QAEJ = A 열차로 가자 III +QAFE = 왕가의 영웅 +QAFJ = 초영웅전설: 왕가의 영웅 +QAFP = 왕가의 영웅 +QAGE = 천둥의 문 +QAGJ = 천둥의 문 +QAGP = 천둥의 문 +QAHJ = 강의 낚시꾼 자연파 +QAJJ = 이미지 파이트 II +QAKJ = 애·초형귀 +QALJ = 아틀라스: 르네상스 보이저 +QANJ = 네오 넥타리스 +QAOJ = 던전 탐험가 II +QAPJ = 악마성 드라큘라 X: 피의 윤회 +QAPL = 캐슬베이나: 피의 윤회 +QAPN = 캐슬베이나: 피의 윤회 +QAPP = 캐슬베이나: 피의 윤회 +QAQJ = 드래곤 슬레이어: 영웅전설 +QARJ = 블러드 기어 +QASE = 천둥의 제왕 +QASJ = 천둥의 바람 +QASP = 천둥의 제왕 +QATE = 폭동지대 +QATJ = 늑대의 문장 +QATP = 폭동지대 +QAUE = 몬스터 레어 +QAUJ = 원더 보이 III: 몬스터 레어 +QAUP = 몬스터 레어 +QAVJ = 봄버맨: 패닉 봄버 +QAWJ = 스타 파로저 +QAWL = 스타 파로저 +QAWN = 스타 파로저 +QAXJ = 마셜 챔피언 +QAYJ = 정령전사 스프리건 +QAZJ = 영광은 너에게: 고교야구 전국대회 +QBAJ = 엘 디스 +QBBE = 파이팅 스트리트 +QBBJ = 파이팅 스트리트 +QBBP = 파이팅 스트리트 +SP4V = 캐슬베니아: 피의 윤회 +EA2E = 메탈 슬러그 2 +EA2J = 메탈 슬러그 2 +EA2P = 메탈 슬러그 2 +EA3J = 갤럭시 파이트: 유니버설 워리어즈 +EA4E = 사무라이 쇼다운 III +EA4J = 사무라이 스피리츠 참홍랑무쌍검 +EA4P = 사무라이 쇼다운 III +EA5E = 아랑전설 3: 마지막 영광의 길 +EA5J = 아랑전설 3: 마지막 영광의 길 +EA5P = 아랑전설 3: 마지막 영광의 길 +EA6E = 킹 오브 파이터즈 '96 +EA6J = 킹 오브 파이터즈 '96 +EA6P = 킹 오브 파이터즈 '96 +EA7E = 사무라이 쇼다운 IV: 아마쿠사의 복수 +EA7J = 사무라이 스피리츠 아마쿠사 강림 +EA7P = 사무라이 쇼다운 IV: 아마쿠사 복수 +EA8E = 아이언클래드 +EA8J = 아이언클래드: 초철 브리킹거 +EA8M = 아이언클래드: 초철 브리킹거 +EA9J = 와쿠 와쿠 7 +EAAE = 아랑전설 +EAAJ = 아랑전설: 숙명의 싸움 +EAAP = 아랑전설 +EABE = 월드 히어로즈 +EABJ = 월드 히어로즈 +EABP = 월드 히어로즈 +EACE = 매지션 로드 +EACJ = 매지션 로드 +EACP = 매지션 로드 +EADE = 용호의 권 +EADJ = 용호의 권 +EADP = 용호의 권 +EAEE = 사무라이 쇼다운 +EAEJ = 진 사무라이 스피리츠: 하오마루 지옥편 +EAEP = 사무라이 쇼다운 +EAFE = 블루의 여행 +EAFJ = 라기 +EAFP = 블루의 여행 +EAGE = 킹 오브 파이터즈 '94 +EAGJ = 킹 오브 파이터즈 '94 +EAGP = 킹 오브 파이터즈 '94 +EAHE = 야구 스타즈 2 +EAHJ = 야구 스타즈 2 +EAHP = 야구 스타즈 2 +EAIE = 탑 헌터 +EAIJ = 탑 헌터 +EAIP = 탑 헌터 +EAJE = 메탈 슬러그 +EAJJ = 메탈 슬러그 +EAJP = 메탈 슬러그 +EAKE = 버닝 파이트 +EAKJ = 버닝 파이트 +EAKP = 버닝 파이트 +EALE = 용호의 권 2 +EALJ = 용호의 권 2 +EALP = 용호의 권 2 +EAME = 닌자 컴뱃 +EAMJ = 닌자 컴뱃 +EAMP = 닌자 컴뱃 +EANE = 아랑전설 2 +EANJ = 아랑전설 2: 새로운 싸움 +EANP = 아랑전설 2 +EAOE = 킹 오브 몬스터즈 +EAOJ = 킹 오브 몬스터즈 +EAOP = 킹 오브 몬스터즈 +EAPE = 닌자 코만도 +EAPJ = 닌자 코만도 +EAPP = 닌자 코만도 +EAQE = 월드 히어로즈 2 +EAQJ = 월드 히어로즈 2 +EAQP = 월드 히어로즈 2 +EARE = 네오 터프 마스터즈 +EARJ = 네오 터프 마스터즈 +EARP = 네오 터프 마스터즈 +EASE = 사무라이 쇼다운 2 +EASJ = 진 사무라이 스피리츠: 하오마루 지옥편 +EASP = 사무라이 쇼다운 II +EATE = 월드 히어로즈 2 제트 +EATJ = 월드 히어로즈 2 제트 +EATP = 월드 히어로즈 2 제트 +EAUJ = 트윙클 스타 스프라이츠 +EAVE = 킹 오브 파이터즈 ’95 +EAVJ = 킹 오브 파이터즈 ’95 +EAVP = 킹 오브 파이터즈 ’95 +EAWE = 아랑전설 스페셜 +EAWJ = 아랑전설 스페셜 +EAWP = 아랑전설 스페셜 +EAYJ = 킹 오브 몬스터즈 2 +EAZE = 월드 히어로즈 퍼펙트 +EAZJ = 월드 히어로즈 퍼펙트 +EAZP = 월드 히어로즈 퍼펙트 +EB2E = 리얼 바우트 아랑전설 스페셜 +EB2J = 리얼 바우트 아랑전설 스페셜 +EB2P = 리얼 바우트 아랑전설 스페셜 +EB3J = 축구 난투 +EB4J = 아소 II: 마지막 수호자 +EB5E = 월화의 검사 +EB5J = 월화의 검사 +EB5P = 월화의 검사 +EB6E = 메탈 슬러그 3 +EB6J = 메탈 슬러그 3 +EB6P = 메탈 슬러그 3 +EB7J = 슈퍼 스파이 +EB8E = 쇼크 트루퍼즈 +EB8J = 쇼크 트루퍼즈 +EB8P = 쇼크 트루퍼즈 +EB9J = 펄스타 +EBAE = 매지컬 드롭 II +EBAJ = 매지컬 드롭 2 +EBAP = 매지컬 드롭 II +EBBE = 파이터즈 히스토리 다이너마이트 +EBBJ = 파이터의 히스토리 다이너마이트 +EBBP = 카르노브의 복수 +EBCJ = 플라잉 파워 디스크 +EBDE = 매지컬 드롭 III +EBDJ = 매지컬 드롭 III +EBDP = 매지컬 드롭 3 +EBEE = 스트리트 슬램 +EBEJ = 덩크 드림 +EBEP = 스트리트 후프 +EBFE = 스핀 마스터 +EBFJ = 미라클 어드벤처 +EBFP = 스핀 마스터 +EBGE = 킹 오브 파이터즈 '97 +EBGJ = 킹 오브 파이터즈 '97 +EBGP = 킹 오브 파이터즈 '97 +EBKJ = 최후의 수단 +EBLJ = 통쾌 간간 행진곡 +EBMJ = 파이어 수플렉스 +EBNJ = 풍운 묵시록: 격투창조 +EBOJ = 풍운 슈퍼 태그 배틀 +EBPJ = 리그 볼링 +EBQE = 닌자 마스터즈 +EBQJ = 닌자 마스터즈: 패왕인법첩 +EBQP = 닌자 마스터즈 +EBRJ = 조이 조이 키드 +EBSE = 용호의 권 3: 전사의 길 +EBSJ = 용호의 권 외전 +EBSP = 용호의 권 3: 전사의 길 +EBTJ = 크로스드 소드즈 +EBUE = 2020 슈퍼 야구 +EBUJ = 슈퍼 야구 2020 +EBUP = 2020 슈퍼 야구 +EBVJ = 신황권 +EBWE = 전국전승 +EBWJ = 전국전승 +EBWP = 전국전승 +EBXE = 전국전승 2 +EBXJ = 전국전승 2 +EBXP = 전국전승 2 +EBZE = 리얼 바우트 아랑전설 +EBZJ = 리얼 바우트 아랑전설 +EBZP = 리얼 바우트 아랑전설 +ECAE = 리얼 바우트 아랑전설 2: 새로 온 참가자들 +ECAJ = 리얼 바우트 아랑전설 2: 새로 온 참가자들 +ECAP = 리얼 바우트 아랑전설 2: 새로 온 참가자들 +ECCE = 메탈 슬러그 X +ECCJ = 메탈 슬러그 X +ECCP = 메탈 슬러그 X +ECDJ = 경마 우승자: G1 완전 제패로 가는 길 +ECEE = 월하의 검사 2 +ECEJ = 막말낭만 제 2막: 월화의 검사 +ECEP = 월하의 검사 2 +ECFJ = 블레이징 스타 +ECGE = 쇼크 트루퍼스: 세컨드 스쿼드 +ECGJ = 쇼크 트루퍼스: 세컨드 스쿼드 +ECGP = 쇼크 트루퍼스: 세컨드 스쿼드 +ECHE = 킹 오브 파이터즈 '98 +ECHJ = 킹 오브 파이터즈 '98 +ECHP = 킹 오브 파이터즈 '98 +ECIE = 메탈 슬러그 4 +ECIJ = 킹 오브 파이터즈 '99 +ECIP = 메탈 슬러그 4 +ECJE = 킹 오브 파이터즈 '99 +ECJJ = 킹 오브 파이터즈 '99 +ECJP = 킹 오브 파이터즈 '99 +ECKE = 남-1975 +ECKJ = 남-1975 +ECKP = 남-1975 +ECLJ = 스테이크즈 위너 2 +ECMJ = 득점왕: 불꽃의 리베로 +ECNE = 전국전승 3 +ECNJ = 전국전승 2001 +ECNP = 전국전승 3 +E53E = 블랙 타이거 +E53J = 블랙 드래곤 +E53P = 블랙 타이거 +E54E = 마계촌 +E54J = 마계촌 +E54P = 마계촌 +E55E = 코만도 +E55J = 전장의 이리 +E55P = 코만도 +E56E = 엑시드 엑시스 +E56J = 엑시드 엑시스 +E56P = 엑시드 엑시스 +E57E = 손손 +E57J = 손손 +E57P = 손손 +E58J = 미스터 도! +E59J = 공수도 +E5AJ = 이키 +E5BJ = 상하이 +E5VJ = 레니게이드 +E5WE = 몬스터 랜드 원더 보이 +E5WJ = 몬스터 랜드 원더 보이 +E5WP = 몬스터 랜드 원더 보이 +E5XJ = 뿌요 뿌요 썬 +E5YJ = 뿌요 뿌요 +E5ZE = 슈퍼 행-온 +E5ZJ = 슈퍼 행-온 +E5ZP = 슈퍼 행-온 +E62E = 스페이스 헤리어 +E62J = 스페이스 헤리어 +E62P = 스페이스 헤리어 +E63E = 시노비 +E63J = 시노비 +E63P = 시노비 +E64J = 롤링 썬더 2 +E65J = 발키리의 전설 +E66J = 오다인 +E67J = 디그 더그 +E68J = 갤러그 +E69J = 바라듀크 +E6AJ = 문 크레스타 +E6BJ = 크레이지 클라이머 +E6CJ = 롬퍼즈 +E6DJ = 토이 팝 +E6EJ = 리블 라블 +E6FJ = 갤럭시안 +E6GJ = 남코 퀘스터 +E6HJ = 페이스 오프 +E6IJ = 탱크 포스 +E6JJ = 폭돌기총정: 바라듀크 II +E6KJ = 초절륜인: 베라보맨 +E6LJ = 메르헨 메이즈 +E6ME = 테크모 볼 +E6MJ = 테크모 볼 +E6NE = 솔로몬의 열쇠 +E6NJ = 솔로몬의 열쇠 +E6NP = 솔로몬의 열쇠 +E6OJ = 봄 잭 아케이드 +E6PE = 닌자 외전 +E6PJ = 닌자 용검전 아케이드 +E6PP = 닌자 외전 +E6QE = 아르고스의 전사 +E6QJ = 아르고스의 전사 +E6QP = 아르고스의 전사 +E6SJ = 뉴 랠리-X +E6VE = 잭슨 +E6VJ = 잭슨 +E6VP = 잭슨 +E6WE = 황금 도끼 +E6WJ = 황금 도끼 +E6WP = 황금 도끼 +E6XE = 수왕기 +E6XJ = 수왕기 +E6XP = 수왕기 +E6YJ = 스페이스 인베이더즈 +E6ZE = 스타 포스 +E6ZJ = 스타 포스 +E6ZP = 스타 포스 +E72J = 스타블레이드 +E73E = 마피 +E73J = 마피 +E73P = 마피 +E74J = 코스모 갱 더 퍼즐 +E75J = 원평토마전 +E76J = 에메랄디아 +E77J = 이슈타르의 부활 +E78J = 솔바로우 +E79E = 가플러스 +E79J = 가플러스 +E79P = 가플러스 +E7AJ = 그로브다 +E7BJ = 디그 더그 II +E7CJ = 보스코니안 +E7EJ = 드래곤 버스터 +E7FJ = 드래곤 세이버 +E7GJ = 드래곤 스피릿 +E7HJ = 제비우스 +E7IJ = 최고의 시간 +E7JJ = 너클 헤드즈 +E7KJ = 팩-매니아 +E7LJ = 코스모 갱 더 비디오 +E7MJ = 페리오스 +E7NJ = 롤링 썬더 +E7OJ = 버닝 포스 +E7PJ = 마벨 랜드 +E7QJ = 갤러그 '88 +E7RJ = 원더 모모 +E7SJ = 어설트 +E7TJ = 호핑 마피 +E7UJ = 스플래터하우스 +E7VJ = 사이버 슬레드 +E7WJ = 뉴먼 육상경기 +E7XJ = 요괴 여행기 +E7YJ = 스카이 키드 +E7ZE = 드루아가의 탑 +E7ZJ = 드루아가의 탑 +E7ZP = 드루아가의 탑 +C93E = 마지막 닌자 2 +C93P = 마지막 닌자 2 +C94E = 타워 토플러 +C94P = 네불루스 +C95P = 불가능한 임무 +C96E = 하계 경기들 II +C96P = 하계 경기들 2 +C97E = 캘리포니아 게임즈 +C97P = 캘리포니아 게임즈 +C98P = 파라드로이드 +C99P = 우리디움 +C9EP = 동계 경기들 +C9GP = 몬스터랜드 메이헴 +C9HE = 볼더 대쉬 +C9HP = 볼더 대쉬 +C9IE = 싸이버노이드 +C9IP = 싸이버노이드 +C9ME = 핏스톱 II +C9MJ = 핏스톱 2 +C9MP = 핏스톱 II +C9PP = 마지막 닌자 3 +C9QP = 점프맨 +C9RP = 인터내셔널 카라테 + +C9XE = 마지막 닌자 +C9XJ = 마지막 닌자 +C9XP = 마지막 닌자 +C9YE = 인터내셔널 카라테 +C9YJ = 인터내셔널 카라테 +C9YP = 인터내셔널 카라테 +C9ZP = 월드 게임즈 +XAAJ = 에기 +XABJ = 알레스트 +XADJ = 이얼 쿵푸 2 +XAEJ = 스페이스 맨보우 +XAFJ = 메탈 기어 +XAGJ = 로드 파이터 +XAHJ = 펭귄 어드벤처: 꿈대륙 +XAIJ = 쿼스 +XAKJ = 파로디우스 - 타코는 지구를 구한다 +XALJ = 혼두라 +XAMJ = 나이트메어: 마성전설 +XANJ = 그라디우스 2 +XAOJ = 고퍼의 야망: 에피소드 II +XAPJ = 메탈 기어 2: 솔리드 스네이크 +XAQJ = 사라만다 +HAAA = 사진 채널 +HABA = Wii 샵 채널 +HABK = Wii 샵 채널 +HACA = Mii 채널 +HACK = Mii 채널 +HADE = 인터넷 채널 +HADJ = 인터넷 채널 +HADP = 인터넷 채널 +HAFA = 날씨 채널 +HAFE = 날씨 채널 +HAFJ = 날씨 채널 +HAFP = 날씨 채널 +HAGA = 뉴스 채널 +HAGE = 뉴스 채널 +HAGJ = 뉴스 채널 +HAGP = 뉴스 채널 +HAJE = 모두의 투표 채널 +HAJJ = 모두의 투표 채널 +HAJP = 모두의 투표 채널 +HAKE = 최종 사용자 라이선스 동의 +HAKJ = 최종 사용자 라이선스 동의 +HAKK = 최종 사용자 라이선스 동의 +HAKP = 최종 사용자 라이선스 동의 +HALE = 지역 선택 +HALJ = 지역 선택 +HALK = 지역 선택 +HALP = 지역 선택 +HAPE = 체크 Mii 아웃 채널 +HAPJ = Mii 컨테스트 채널 +HAPP = Mii 컨테스트 채널 +HATE = 닌텐도 채널 +HATJ = 닌텐도 채널 +HATP = 닌텐도 채널 +HAVJ = 운세 채널 +HAVK = 운세 채널 +HAVP = 운세 채널 +HAWE = 메트로이드 프라임 3 프리뷰 +HAWP = 메트로이드 프라임 3 프리뷰 +HAYA = 사진 채널 +HAYK = 사진 채널 +HBNJ = Wii 텔레비전의 친구 채널 G 가이드 +HC2D = 와치에버 +HC3J = USB 메모리 복구 프로그램 +HC4E = 크런치롤 +HC4P = 크런치롤 +HCAJ = 밴드 브라더스 DX 스피커 채널 +HCAP = 밴드 라이브와 함께하는 잼 +HCBJ = 사진 채널 1.0 복구 프로그램 +HCCJ = 개인 데이터 설정 +HCDJ = 디지탈 카메라 프린트 채널 +HCFE = Wi 스피크 채널 +HCFJ = Wi 스피크 채널 +HCFK = Wii 스피크 채널 +HCFP = Wi 스피크 채널 +HCGE = Wii + 인터넷 +HCGJ = Wii + 인터넷 +HCGP = Wii + 인터넷 +HCGX = Wii + 인터넷 +HCHJ = 배달 채널 +HCIJ = Wii 사이 +HCJP = BBC iPlayer 채널 +HCLE = 넷플릭스 +HCLP = 넷플릭스 +HCMP = 커비 TV 채널 +HCQE = 훌루 플러스 +HCQJ = 훌루 +HCRE = 젤다의 전설 스카이워드 소드 데이터 복구 채널 +HCRJ = 젤다의 전설 스카이워드 소드 데이터 복구 채널 +HCRK = 젤다의 전설 스카이워드 소드 데이터 복구 채널 +HCRP = 젤다의 전설 스카이워드 소드 데이터 복구 채널 +HCSE = Wii U 전송 도구 +HCSJ = Wii U 전송 도구 +HCSP = Wii U 전송 도구 +HCTE = Wii 시스템 전송 +HCTJ = Wii 시스템 전송 +HCTP = Wii 시스템 전송 +HCUE = Wii 메뉴 전자 매뉴얼 +HCUJ = Wii 메뉴 전자 매뉴얼 +HCUP = Wii 메뉴 전자 매뉴얼 +HCVA = Wii U 메뉴 +HCWE = 아마존 인스턴트 비디오 +HCWP = 아마존 인스턴트 비디오 +HCXE = 유튜브 +HCXJ = 유튜브 +HCXP = 유튜브 +HCYE = Wii 메뉴 매뉴얼 (미니 Wii) +HCYJ = Wii U 본체 업데이트 복구 프로그램 +HCYP = Wii 메뉴 매뉴얼 (미니 Wii) +HFNJ = Wii 핏 바디 체크 채널 +RFNE = Wii 핏 채널 +RFNJ = Wii 핏 채널 +RFNK = Wii 핏 채널 +RFNP = Wii 핏 채널 +RFNW = Wii 핏 채널 +RFPE = Wii 핏 플러스 채널 +RFPJ = Wii 핏 플러스 채널 +RFPP = Wii 핏 플러스 채널 +RFPW = Wii 핏 플러스 채널 +RGWE = 레비즈 채널 +RGWJ = 레비즈 채널 +RGWP = 레비즈 채널 +RGWX = 레비즈 채널 +RMCE = 마리오 카트 채널 +RMCJ = 마리오 카트 채널 +RMCK = 마리오 카트 채널 +RMCP = 마리오 카트 채널 +D01A = Wiimmfi 패처 +D02A = 엔진02 +D03A = 브레인슬러그 Wii +D05A = 배쉬 더 캐슬 +D06A = 비트 스트리머 +D07A = 블리스터볼 +D08A = 블랍 워즈: 메탈 블랍 솔리드 +D09A = 블로비 발리 2 Wii +D0AA = M플레어어 Wii 유튜브 +D0BA = M플레이어 Wii +D0CA = 오카리나 +D0DA = M플레이어 디비들립 에디션 +D0EA = Rodries의 M플레이어 Wii +D0FA = 사인체크 +D0GA = GC부트 +D0HA = 멤뷰 +D0IA = IOS 체크 +D0KA = WiiB서버 +D0LA = LibWii게임로드 +D0MA = Wii리더 +D0OA = Move the Pussy 체험판 +D0PA = Wii랙스 미니트로 +D0QA = 피션 엔진 프로젝트 +D0RA = GRRLIB 4.0 체험판 +D0SA = OSDM-바 +D0TA = 홈브류 메뉴 체험판 +D0UA = LibMii 예제 +D0VA = 스케리 체험판 +D0WA = 스타필드 체험판 +D0XA = 와이어3D 체험판 +D0YA = 썸싱 +D0ZA = GRRLIB 4.3.0 홍보 소개 +D10A = cIOS픽스 +D11A = ASCII 퐁 +D12A = 부스카Wii나스 +D13A = C-도그스 SDL +D14A = Dr. Creep의 성 +D15A = Wii 샵 & IOS51 설치 프로그램 +D16A = 지네 +D17A = 코브라 아케이드 +D18A = 덤프 에스프레소 OTP +D1LA = 블.라.인.드 +D1PA = 1비트 인베이더즈 +D1RA = 미니멀런처 +D21A = X로어 +D22A = cIOS222 설치 프로그램 +D24A = 24 점 +D2AA = Wii 치명적인 코브라 +D2BA = 점프 앤 범프 +D2CA = 위플로우 어드밴스드 +D2DA = 박스2D 볼즈 +D2EA = WiiFlow 구성 시작 +D2GA = WAD 배치 설치 프로그램 +D2ZA = 콘솔 슛터 +D33A = 타임 프랙 2D +D36A = cIOS36 설치 프로그램 +D37A = Wii커넥트 +D38A = cIOS38 설치 프로그램 +D39A = Ctr Gts 다코타코 에디션 +D3DA = 타임 프랙 3D +D3JA = NDS로드 +D3KA = 버튼 테스터 +D3LA = 부트Mii 부터 +D3MA = 커스텀 낸드 로더 +D3OA = cIOS USB 2 설치 프로그램 +D3WA = 워헤드즈: 초토 +D40A = 루이지와 미스터리 섬 +D42A = 아리안B +D43A = Wii 버츄얼 재규어 +D46A = 뉴오 이스케이프 +D4KA = 알레프 오온 +D4NA = 디스크 덤퍼 +D4PA = DVD 덤퍼 +D4SA = USB 로더 GUI FX +D51A = IOS51 업데이트 +D52A = c부트252 +D54A = cIOS 패치mii 설치 프로그램 +D55A = PID 추출기 +D56A = 쇼핑 채널 픽서 +D58A = 프릴로더 핵스덴 에디션 +D59A = 언타이틀드프로젝트 +D5AA = 알라미 +D5BA = Wii폰트 +D5CA = c로더 +D5FA = 텍스티드 모드 +D5HA = 타이틀 리스터 +D5JA = 타이디 업 +D5LA = 스위치투sneek +D5RA = 보토닝 +D60A = 얼티밋 USB 로더 +D61A = 샌드 트랩스 엑스트라 레벨즈 +D62A = 뉴오 퍼즐 +D63A = 3D 미로 +D64A = Wii64 에뮬레이터 +D65A = 일시적 벡터 +D66A = 시크릿 마료 크로니클즈 +D68A = 그들은 죽지 않는다 2 +D69A = IOS60 설치 프로그램 +D6AA = 푸시로더 +D6BA = 업데이터세이프 +D6DA = 세이브게임 매니저 모드 +D6EA = Sneek FS 덤퍼 +D6FA = 애니타이틀 딜리터 모드 +D6HA = 애니타이틀 딜리터 모드 DB +D6IA = DVD 정보 +D6KA = 애니타이틀 딜리터 DB +D6MA = 바나나 세이브즈 +D6OA = DOP 샵 +D6QA = 부트Mii 체커 +D6TA = Mii플레이어 +D70A = 던전 크롤 스톤 수프 +D71A = 버섯 왕국의 공포 +D79A = 뉴오 디펜스 +D7AA = 액션 리플레이 로더 +D7DA = 데판브류 +D7GA = 채널 로더 +D7KA = 로크SD +D7LA = 럼블러 +D7MA = 이즈 와드 +D7OA = 복원 매니저 +D7QA = 리부트 +D7SA = 차일드프루프 USB 로더 +D7TA = 파워 Mii 오프 +D7VA = 파워 오프 +D7WA = 망자의 수도원 +D7XA = 누가사 +D7YA = 저항기 +D81A = 뉴오 애스트로이즈 +D82A = 한국어 디스크 지원하는 cIOS 패치mii 설치 프로그램 +D83A = Wii MFE 포트 +D84A = 갬블 +D85A = Wii E듀크32 +D86A = 파이어wii +D87A = 똑딱똑딱 보트 레이스 +D88A = 콰지88 +D89A = 위모트 LED 플래셔 +D8AA = 프론트 SD ELF 로더 +D8BA = 게임큐브 홈브류 런처 +D8CA = Wii센드 +D8DA = 메뉴 +D8EA = 게코 로더 +D8FA = 쉘 +D8JA = 계산기 +D8QA = 브릭 OS +D8RA = 로또 +D8SA = 브레인f**k +D8UA = TCP로더 +D8VA = 스노트48 +D8WA = Wii60 +D8XA = 올 인 원 에뮤로더 +D8YA = 스위스로더 +D8ZA = 똑딱똑딱 좀비 슛터 +D93A = Wii레이트래커 +D94A = 노웨어 +D95A = 렌더Mii +D96A = Wii모션데모 +D97A = 파이어 +D98A = 인스톨Mii +D99A = 시스템 채널즈 업데이터 +D9BA = 정보 +D9CA = cIOS USB2 설치 프로그램 +D9FA = 덤프 +D9GA = Wad 생성기 +D9IA = SNES9xGX 채널 설치 프로그램 +D9KA = 텍스트리드 +D9LA = 포워더 +DA1A = 라디안워즈 +DA2A = 월석: 힘든 낮의 밤 +DA3A = Wii치 +DA6A = 오톰메티 +DA7A = 천문학 +DA8A = 비어 벨리 빌 3 그릴리렌 +DA9A = 아흐퉁 Wii 커브 +DAAA = Wii넷퍼즐 +DAHA = 아씨오 핵스 +DAMA = 메가코드다운로더 +DAPA = 지도 만들기 +DARA = 애니리전 체인저 +DASA = 아스피린 +DATA = 애니타이틀 딜리터 +DATD = 애니타이틀 딜리터 +DAVA = 어보이드댄스 +DAWA = 아뷰즈 Wii +DB0A = 스피팃츠 +DB2A = 매드 봄버 +DB3A = 스퀘어즈 +DB7A = 블랙스 대쉬 +DB9A = 로비 +DBAA = 활낚시 액션 +DBBA = 밸런스 보드 도구 +DBCA = 부트미 구성 에디터 +DBDA = 블루덤프 +DBGA = 블래스트가이 +DBIA = 부트 잇 +DBLA = 블루MSX-wii +DBMA = 부트IOS +DBPA = 밸런스 보드 프로 +DBRA = Wii브라우저 +DBSA = 대난투스탯츠 +DBTA = 볼트 쓰로워 +DBUA = 버튼캐스트 +DBWA = 리버스mii +DBXA = 비니악스 2 +DC6A = 프로도 (C64-network.org) +DC7A = 계산 +DCAA = Wii카지노 +DCBA = 케스케이드비니쓰 +DCCA = 크리스마스카운트다운 +DCDA = cIOS 다운그레이더 +DCEA = 치트 매니저 +DCFA = 커버플로더 +DCHA = Wii채터 +DCIA = cIOS 설치 프로그램 +DCLA = Configurable USB 로더 +DCNA = 낸드크린 +DCOA = 커넥트Mii +DCPA = 스플래터 캐슬 +DCRA = 코스모라켓티 +DCSA = Cert.sys 추출기 +DCTA = 크리스마스-타입 어드벤처 타임 +DCUA = cIOS 삭제 프로그램 +DCVA = Wii콜에엠 +DCWA = WiiMC 채널 설치 프로그램 +DCXA = 코믹스채널 +DCYA = 실린더 닷지 +DD2A = 더블 대쉬 Wii +DD3A = 다리오 +DD9A = 던전들 +DDAA = 다크콥 +DDBA = 도스박스 Wii +DDCA = d2x cIOS 설치 프로그램 +DDDA = 디스크 드라이브 라이터 +DDEA = Wii모더 +DDFA = 디펜딩구인 +DDHA = 홈브류 디스크 런처 +DDLA = 디스크 로더 +DDMA = 드래곤미디어 플레이어 +DDRA = Wii 중복 채널 제거기 +DDVA = 데볼류션 +DDWA = DOP Mii Wii브류 에디션 +DE2A = 더블다운 +DE5A = 픽투그리드 +DE7A = 커맨더 킨 +DE9A = Wii 배쉬 +DEAA = 헤드트래킹 체험판 +DEBA = 퐁 브레이커 +DEDA = 텍스티드 +DEEA = 이이이익 이이이이익 후우우우우욱 +DEFA = 퓨즈 +DEHA = 체스 +DEME = 펀에뮤 +DEPA = 팩맨 +DERA = 일롱게이티드 렙타일 +DETA = M플레이어 TT +DEWA = Wii 전시 +DF0A = 미니 FS도구상자 +DF3A = 브릭아웃 +DF4A = 스타 캐칭 +DF5A = 섬광등 알람 시계 +DF6A = Wii 퀴즈 +DF7A = 샤노와르 +DF8A = 트라이너리 +DF9A = 청크 뭉크 +DFBA = Fs브라우저 +DFEA = 플립에엠 +DFFA = 심플 FS 덤퍼 +DFGA = 스매싱! +DFIA = Fceugx 채널 설치 프로그램 +DFLA = 스타폴 +DFMA = 에프마이라이프 +DFRA = 프리지마그넷츠 +DFSA = FS도구상자 +DFUA = 퓨즈 +DG3A = 기디 3 +DG7A = Wii펭 +DG8A = 아부심벨 디럭스 +DG9A = 가르나트론 +DGBA = 지엑스박스 +DGCA = 게임큐브 백업 런처 +DGEA = 게코OS +DGFA = 기타즈 온 파이어 +DGGA = 릭의 모험 +DGIA = 그라비티 +DGKA = 프로젝트GMC +DGPA = 제네시스 플러스 +DGSA = 슈팅 갤러리 +DGWA = 굿바이 월드 +DGXA = Gx지오 +DH7A = 하모니의 나이트메어 +DH9A = 예언 +DHBA = 홈브류 브라우저 +DHCA = 영웅 도시 +DHDA = Hid테스트 +DHEA = 헬륨 보이 +DHFA = 홈브류 필터 +DHGA = 휴고-GX +DHHA = H헥센 +DHIA = 핵Mii 설치 프로그램 +DHLA = 헬리 +DHMA = 차리오맨 +DHSA = 홈브류 소터 +DHTA = 하타리 +DHWA = 우리는 어디에도 없다 +DI5A = 탱크스 +DI7A = 엑시튼즈이 +DI8A = IOS58 설치 프로그램 +DI9A = 버라지 +DIBA = 바이너리 쿠리어즈 리볼트 +DICA = 큐빅 +DIEA = 이지IOS +DIGA = 카테고리 +DIMA = 인스펙트Mii +DINA = Mii 설치 프로그램 +DIRA = 아이어닝 메이든 +DISA = Wii 슈퍼소닉 +DITA = IOS236 설치 프로그램 +DIXA = cIOSx 설치 프로그램 +DJAA = 아케이드 직소 +DJCA = Wii 젤리자동차 +DJFA = 조이플로우 +DJJA = 점핑 잭 +DJQA = 쥬얼 퀘스트 +DJWA = Wii 시스템 메뉴 +DK1A = 카라오키 +DK3A = 스케치 파이트 +DK4A = 드로잉 박스 +DK6A = 킹 오브 파이터즈: 용기의 불꽃 +DK7A = 어스크트리스 +DKBA = RPG 베이커 +DKCA = 틱 톡 자동차 레이스 +DKDA = 다크큐브 +DKHA = 가타카나와 히라가나 연습 +DKKA = 한국어키 +DKOA = 코모퐁 +DKPA = 키즈페인트 +DKTA = 태고 +DKWA = 쿠러쉬 +DL3A = 밸리언 +DL4A = 엘페어스 +DL5A = 게임로드 +DL7A = 랩클론 +DLBA = 나의 작은 공 +DLCA = 댄스 클론 +DLDA = 데빌록 +DLEA = 프리로더 +DLFA = 라이프Mii +DLGA = 그라비티 글라이더 +DLIA = WiiMod 라이트 +DLLA = 롤리코포칼립스 +DLMA = 로드Mii +DLNA = 랜더 +DLOA = 라이트아웃 +DLPA = 로판 +DLTA = 레벨툴 +DLUA = Wii런처 +DLXA = 리눅스 설치 프로그램 +DM0A = 폼 +DM5A = 미사일 커맨드 +DM7A = 매치즈 +DM9A = 체크리전 +DMAA = 마메 Wii +DMBA = 멀티부트 +DMCA = 클린립 모드 +DMDA = Wii모드 +DMEA = Mii 추출기 +DMFA = Wii메드나펜 +DMGA = 마이티 채널 +DMHA = 나노메카즈 +DMIA = DIOS MIOS 부스터 +DMJA = 마작 Wii +DMLA = 마이티 로더 +DMMA = 마이메뮤이파이 +DMNA = 매직 넘버 +DMOA = cMIOS 설치 프로그램 +DMPA = M플레이어 CE +DMRA = MIOS 패처 +DMSA = 셧Mii리붓 +DMTA = 메트로놈 +DMUA = 멀티 모드 매니저 +DMWA = 웨이크Mii업 +DN0A = 댓아더 +DN7A = 에일리언 브리드 +DN9A = 포인트 & 클릭 없음 +DNAA = N카드 +DNCA = 네오CD-Wii +DNDA = 닌텐돈트 +DNEA = 그라비티 +DNGA = 네오감마 런처 +DNHA = 헤딩스 +DNIA = 부긴 +DNKA = 네코 프로젝트 II +DNMA = 뉴오 모델 뷰어 +DNNA = 세이브 설치 프로그램 +DNPA = 네오팝Wii +DNRA = 뉴오 런너 +DNSA = 뉴오 슛터 +DNTA = 네오탱크스 +DNWA = 노웰 +DO3A = 3.O +DO5A = 행성 하이블리 +DO6A = 미니 MP3 플레이어 +DOCA = 코드 다운로더 +DOEA = 쇼테스트 +DOGA = Wii 가리우스의 미로 +DOHA = 고옥탄 +DOIA = 네오감마 IOS 스위처 +DOMA = 몰 +DONA = 오프라인 네트워크 에이블러 +DOOA = 둠 +DOPA = 파워체크 +DORA = 리부터 +DOTA = 오픈TTD +DP0A = 스타플릿 +DP1A = 이탈리안 파킹 +DP2A = 퐁2 +DP3A = 잉크폴리 +DP4A = 피럿츠 +DP5A = 픽스 +DP6A = IOS36 패처 +DP7A = 대난투+ Updatifier +DP8A = 영원 +DP9A = 외계인 퍼즐 Wii +DPAA = Wii페인트볼 +DPBA = 프리부터gui +DPCA = 체로포베 +DPEA = 원그래프 +DPFA = 피윅투그리드 +DPGA = 핑거즈 +DPIA = vWii용 패치된 IOS 80 설치 프로그램 +DPJA = 프로젝트 M 런처 +DPKA = 싸이스코 +DPLA = 프릴로더 +DPMA = 뮤직 페인터 +DPNA = RPG 파인애플 아포칼립스 +DPOA = 포스트로더 +DPPA = 프로젝트 패닉 +DPRA = 플라즈마라켓티 +DPSA = 플레이스탯츠 +DPTA = 2.5 +DPVA = 팻트뷰 +DPWA = 핌프 마이 Wii +DQ6A = 라이트 +DQ7A = 퀘이크 +DQ8A = 루아프Wii +DQBA = 성경 퀴즈 +DQWA = 퀘이크GX +DR0A = 로코반 +DR1A = Wii 화이트보드 +DR3A = 데쓰 스타 런 +DR4A = 락 종이 가위 +DR5A = 브릭스 +DR6A = 리더 +DR7A = 락블루멧 +DR8A = 오퍼레이션 +DR9A = 픽셀플롯 +DRAA = 레트로아크-Wii +DRBA = 락 밴드 2 WAD 설치 프로그램 +DRCA = Wii크로스 +DRDA = 드로mii +DREA = Wii레시피 +DRFA = 라디오피드즈 +DRGA = 레지 덤퍼 +DRIA = 클린립 +DRKA = 로봇파인드스키튼 +DRMA = Mr. 시트웰 +DROA = 슬라임롤 +DRPA = 마르코스 로페즈 파트 II +DRRA = 립퍼 +DRSA = 레드스퀘어 +DRTA = 테트리스 커스텀 +DRUA = 라디오피드즈 업데이터 +DRVA = 리지듀얼vm +DRWA = 윈터맨 +DRZA = 제레이스 +DS0A = 슛Mii +DS1A = 또 다른 가위 바위 보 +DS2A = 스윙볼2 +DS3A = 세네트 +DS4A = 사 +DS5A = 스네이크2 +DS6A = 스코거 +DS7A = 스윙 볼 +DS8A = 스케이프 +DS9A = 소해정 +DSAA = 스키즘 트래커 +DSBA = 스페이스버블 +DSCA = 소프트칩 +DSDA = 슈퍼덤프 +DSEA = 설정 에디터 GUI +DSFA = 스시피 +DSGA = 세이브게임 매니저 +DSHA = 시스체크 핵스덴 에디션 +DSIA = 심프 IOS 패처 +DSKA = 삭드림즈 +DSLA = Wii 스텔라 +DSMA = 세가 마스터 시스템 플러스 +DSOA = 버뮤다 신드롬 Wii +DSPA = 슈퍼 스타 슛터 +DSRA = Wii스트로브 +DSTA = Wii 솔리테르 +DSUA = 슈퍼 마리오 대전 +DSVA = 스컴VM +DSWA = 슈퍼툭스 Wii +DSXA = 슈퍼 픽셀 점퍼 +DT0A = 타워 디펜스 +DT1A = 순무 +DT2A = 매칭 카드즈 +DT3A = 비체조스 +DT4A = 스두쿠 +DT5A = 포커 +DT6A = 시몬 +DT7A = 그들은 죽지 않는다 +DTAA = Wii-택-토 +DTCA = 카탁토닉 +DTDA = 디센트 +DTEA = 탑에디트 +DTFA = 트라이포스 +DTHA = 헤러틱 +DTIA = Wii트리스 +DTJA = 트로잔 +DTKA = 틱 톡 탱크 파이트 +DTLA = 테일테일 +DTMA = 테트로미노스 +DTNA = 터널 +DTOA = 통 +DTPA = 페인타운 +DTRA = 트루챠 버그 복원기 +DTSA = 사막 버스 +DTTA = 토드트리스 +DTWA = Wii트위트 +DTXA = 텍스트트리스 +DU0A = 덤프mii낸드 +DU7A = 우노 +DU8A = 리얼Wnd +DU9A = 하모니움 +DUBA = 멀티부 +DUDA = 오리 사냥 +DUGA = 기타 펀 +DUIA = 체스UI +DULA = USB 로더 GX +DUNA = 유네임 +DUSA = 부트오파라모드USB +DUTG = DU 태그 채널 +DUWA = Waninkoko의 USB 로더 +DV0A = 프리로더 핵 제거 +DV3A = DVD 브라우저 +DV9A = 센서Mii +DVDA = cIOS DVD 덤퍼 +DVGA = 비디오 게임 +DVHA = 공간 공포 +DVIA = Vbagx 채널 설치 프로그램 +DVLA = 배달원 비기로스 +DVOA = 벡터로이드즈 +DVPA = 프로그레시브 스위치 +DVSA = 게임큐브 세이버 +DVXA = 벡트렉스Wii +DW1A = 인튜이트워즈 +DW5A = 마렐 +DW6A = Wii크래프트 +DW7A = 레이브와일드 +DWAA = Wii애플 +DWBA = Wii츄얼보이 +DWCA = WiiFlow 채널 설치 프로그램 +DWDA = Wiiflow 배너 다운로더 +DWEA = Wii어스 +DWFA = Wii플로우 +DWHA = Wii핸디SDL +DWJA = 쥬얼 +DWKA = Wii브레이커 +DWLA = Wii-리눅스 +DWMA = WAD 매니저 +DWNA = 은완캣 +DWPA = Wii피직스 +DWRA = Wii라디오 +DWTA = Wii투카 +DWUA = 우프 +DWWA = 윈터즈 엔드 +DWXA = Wii엑스플로러 +DX3A = 미드웨이 스페이스 인베이더스 에뮬레이터 +DX4A = 대난투 DX 런처 +DX5A = MP3+G 플레이어 +DX6A = 빌드 블록스 +DX8A = 헥센 +DX9A = 샌드 트랩스 +DXBA = Wii X 볼 +DXEA = SD익스플로러 +DXHA = 텍사스 홀덤 포커 +DXIA = 픽셀레이터 +DXNA = 부트넷픽스 +DXQA = 쿼드랙스 +DXSA = 세이브 추출기 +DXTA = 더 론 픽셀 +DXXA = 헥스사곤 +DXZA = 메가제우스 +DY5A = 다크콥 라이트 +DY6A = 리퀴드 워즈 +DY9A = 테트위스 +DYAA = 스야코소반 +DYBA = 야바우즈 +DYCA = 테트리사이클 +DYEA = 이필렙시 +DYGA = 요그 +DYHA = 하이프노 블래스트 +DYIA = 칩퍼 +DYOA = 장난감 대전 +DYPA = 퐁유어Wii +DYSA = 빛나는 빨강 탱크 +DYTA = 뉴오 도쿄 +DYUA = UFO 레이서 +DYWA = 야츠wii +DYYA = 시스템 설정 대체 도구 +DZ0A = 이젝트 +DZ7A = 세임게임 +DZ9A = 티터 토처 +DZIA = 집 +DZPA = 퍼즈시온 +DZQA = 퀴즈 +DZRA = 레이저워 +DZSA = 스지고이 +DZYA = 스네이크 2 +DZZA = 오픈째즈 +FCEU = FCE 울트라 GX +HWFL = 핵위플로우 +JODI = 홈브류 채널 +LULZ = 홈브류 채널 +MAUI = 백업 홈브류 채널 +OHBC = 홈브류 채널 +PXWE = 프로젝트 X: 사랑의 묘약 참사 +RIIV = 리볼루션 +RMCX = 마리오 카트 Wii CTGP 레볼루션 채널 +SEGA = 제네시스 플러스 GX +SMGX = 세이브게임 매니저 GX +ULFW = u로더 +VBGX = 비주얼 보이 어드밴스 GX +WMH1 = 머더 1+2+3 +WPSX = 플레이스테이션 (PSX) 에뮬레이터 +301E01 = 게임큐브 서비스 디스크 +D23J01 = 게임 대회 우승 기념: 특제 스매시 브라더스 DX 영화 디스크 +D24J01 = 스매시 브라더스 DX 이벤트 디스크 +D28J01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 4월 +D29J01 = 월간 닌텐도 샵 체험판 - 2002년 5월 +D32J01 = 월간 닌텐도 샵 체험판 - 2002년 6월 +D33J01 = 월간 닌텐도 샵 체험판 - 2002년 7월 +D34J01 = 월간 닌텐도 샵 체험판 - 2002년 7월 +D38J01 = 월간 닌텐도 샵 체험판 - 2002년 9월 +D39J01 = 매장 게임 데모 디스크 2002년 10월 +D42J01 = 매장 게임 체험판 디스크 2002년 11월 +D43E01 = 젤다의 전설: 시간의 오카리나 / 마스터 퀘스트 +D43J01 = 젤다의 전설: 시간의 오카리나 GC +D43P01 = 젤다의 전설: 시간의 오카리나 / 마스터 퀘스트 +D43U01 = 젤다의 전설: 시간의 오카리나 (보너스 디스크) +D43W01 = 젤다의 전설: 시간의 오카리나 / 마스터 퀘스트 +D46J01 = 월간 닌텐도 매장 체험판 2003년 1월 1일 +D4BE08 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 35 +D4BP01 = 레지던트 이블 4: 보너스 디스크 +D4BU01 = 레지던트 이블 4: 보너스 디스크 +D53J01 = 닌텐도 게임큐브 소프트 e 카탈로그 2003・봄 +D55J01 = 인터렉티브 디스크 카탈로그 하계 2003년 +D56E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 35 +D56J01 = 포켓몬 채널 (보너스 디스크) +D57E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 34 +D58E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 33 +D59E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 32 +D62E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 31 +D63E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 30 +D64E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 29 +D65E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 28 +D66E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 27 +D66JAF = 바텐 카이토스: 끝나지 않은 날개와 잃어버린 바다 - 특별 체험 디스크 +D67E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 26 +D67J01 = 월간 닌텐도 샵 체험판 - 2003년 12월 +D68E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 25 +D68J01 = 월간 닌텐도 샵 체험판 - 2004년 1월 +D69E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 24 +D72E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 23 +D73E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 22 +D74E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 21 +D75E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 20 +D76E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 19 +D77E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 18 +D77P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2006년 4월 +D78E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 17 +D78J01 = 월간 닌텐도 샵 체험판 - 2004년 5월 +D78P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2005년 10월 +D79E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 16 +D79P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2005년 5월 +D82E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 15 +D82J01 = 월간 닌텐도 샵 체험판 - 2004년 7월 +D82P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2005년 4월 +D83E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 14 +D83P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2005년 2월 +D84E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 13 +D84P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2004년 11월 +D85E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 12 +D85P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2004년 7월 +D86E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 11 +D86J01 = 월간 닌텐도 매장 데모 2004 년 10 월호 +D86P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2004년 5월 +D87E01 = 게임큐브 프리뷰 디스크 +D87P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2004년 3월 +D88E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 10 +D88P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2003년 11월 +D89E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 9 +D89J01 = 클럽 닌텐도 오리지널 e 카탈로그 2004 +D89P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2003년 9월 +D92E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 8 +D92P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2003년 7월 +D93E01 = 인터랙티브 멀티 게임 체험판 디스크 - 버전 7 +D93P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2003년 4월 +D94P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2003년 2월 +D95P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 12월 +DALJ01 = 대난투 스매시 브라더스 DX 체험판 +DBIJ08 = 바이오하자드: 영화 체험판 디스크 +DBJJ08 = 바이오하자드: 스페셜 에디션 체험판 +DBZJ08 = 바이오하자드 제로: 트라이얼 에디션 +DCEP41 = 톰 클랜시의 스플린터 셀 체험판 +DEZP8P = 빌리 해처와 거대한 알 체험판 +DGAJB2 = 기동전사 건담 - 전사들의 궤적 스페셜 디스크 +DLSE64 = 스타 워즈: 로그 스쿼드론 III: 반란군 스트라이크: 리미티드 에디션 보너스 디스크 체험판 +DLSP64 = 스타 워즈: 로그 스쿼드론 III: 반란군 스트라이크: 리미티드 에디션 보너스 디스크 체험판 +DM2J8P = 슈퍼 몽키 볼 2 체험판 +DNUEDA = 나루토 닌자 격돌 2 체험판 +DPIJ01 = 피크민 체험판 +DPNP08 = P.N.03 체험판 +DPOJ8P = 판타지 스타 온라인 에피소드 I & II 트라이얼 에디션 체험판 +DPSJ8P = 판타지 스타 온라인 에피소드 III: C.A.R.D. 레볼루션 체험판 +DR2JCQ = 룬 II: 코르텐 열쇠의 비밀 체험판 +DRSEAF = 소울칼리버 II 체험판 +DSWJ13 = 스타 워즈: 로그 스쿼드론 II 체험판 +DTLX01 = 액션 리플레이 +DVJP08 = 뷰티풀 조 홍보 체험판 +G2BE5G = 검은 상처 +G2BP7D = 검은 상처 +G2CD52 = 진정한 범죄: 뉴욕 도시 +G2CE52 = 진정한 범죄: 뉴욕 도시 +G2CP52 = 진정한 범죄: 뉴욕 도시 +G2CX52 = 진정한 범죄: 뉴욕 도시 +G2DJB2 = 디지몬 배틀 연대기 +G2FD78 = 탁 2: 꿈의 주주 +G2FE78 = 탁 2: 꿈의 주주 +G2FF78 = 탁 2: 꿈의 주주 +G2FP78 = 탁 2: 꿈의 주주 +G2GJB2 = 기동전사 건담: 건담 vs. Z 건담 +G2ME01 = 메트로이드 프라임 2: 메아리들 +G2MEAB = 메트로이드 프라임 3 (E3 베타) +G2MJ01 = 메트로이드 프라임 2: 검은 메아리들 +G2MP01 = 메트로이드 프라임 2: 메아리들 +G2NJ13 = 니드 포 스피트: 언더그라운드 2 +G2OE41 = 페르시아 왕자: 전사의 길 +G2OP41 = 페르시아 왕자: 전사의 길 +G2PE6U = 정령들과 주문들 +G2RE52 = 슈렉 슈퍼 슬램 +G2SJGE = 식신의 성 II +G2TE52 = 토니 호크의 언더그라운드 2 +G2TP52 = 토니 호크의 언더그라운드 2 +G2VE08 = 뷰티풀 죠 2 +G2VJ08 = 뷰티풀 조 2: 검은 필름의 수수께끼 +G2VP08 = 뷰티풀 조 2 +G2XE8P = 소닉 젬즈 컬렉션 +G2XJ8P = 소닉 젬즈 컬렉션 +G2XP8P = 소닉 젬즈 컬렉션 +G3AD69 = 반지의 제왕: 제 3 지대 +G3AE69 = 반지의 제왕: 제 3 지대 +G3AF69 = 반지의 제왕: 제 3 지대 +G3AJ13 = 반지의 제왕: 제 3 지대 +G3AP69 = 반지의 제왕: 제 3 지대 +G3AS69 = 반지의 제왕: 제 3 지대 +G3BE9G = 시리어스 샘: 넥스트 인카운터 +G3BP9G = 시리어스 샘: 넥스트 인카운터 +G3DE6L = 카르멘 산디에고: 도난당한 드럼의 비밀 +G3DP6L = 카르멘 산디에고: 도난당한 드럼의 비밀 +G3DX6L = 카르멘 산디에고: 도난당한 드럼의 비밀 +G3EE51 = XGIII: 익스트림 G 레이싱 +G3EJB0 = 익스트림 G 3 +G3FD69 = 타임스플리터즈: 퓨쳐 퍼펙트 +G3FE69 = 타임스플리터즈: 퓨쳐 퍼펙트 +G3FF69 = 타임스플리터즈: 퓨쳐 퍼펙트 +G3FP69 = 타임스플리터즈: 퓨쳐 퍼펙트 +G3FS69 = 타임스플리터즈: 퓨쳐 퍼펙트 +G3JEAF = 호기심 많은 조지 +G3LE8P = 슈퍼 몽키 볼 어드벤처 +G3LP8P = 슈퍼 몽키 볼 어드벤처 +G3ME41 = 톰 클랜시의 모든 두려움의 합 +G3MP41 = 모든 두려움의 합 +G3NJDA = 나루토: 격투 닌자 대전! 3 +G3QEA4 = 닌자 거북이 3: 뮤턴트 나이트메어 +G3RD52 = 슈렉 2 +G3RE52 = 슈렉 2 +G3RF52 = 슈렉 2 +G3RM52 = 슈렉 2 +G3RP52 = 슈렉 2 +G3SE41 = 버스트 어 무브 3000 +G3SJC0 = 슈퍼 퍼즐 보글 올 스타즈 +G3SWC0 = 슈퍼 퍼즐 보글 올 스타즈 +G3TJ8P = 더비 레이싱 3: 경주마를 만들자! +G3VE69 = NBA 스트리트 볼륨 3 +G3VJ13 = NBA 스트리트 V3: 마리오 덩크 +G3VP69 = NBA 스트리트 볼륨 3 +G3XE52 = 엑스맨: 최후의 전쟁 +G3XP52 = 엑스맨: 최후의 전쟁 +G3YP52 = 슈렉 슈퍼 슬램 +G3YX52 = 슈렉 슈퍼 슬램 +G3YY52 = 슈렉 슈퍼 슬램 +G4AEE9 = 하베스트 문: 매지컬 멜로디 +G4AJ99 = 목장 이야기: 행복의 시 +G4BD08 = 레지던트 이블 4 +G4BE08 = 레지던트 이블 4 +G4BJ08 = 바이오하자드 4 +G4BP08 = 레지던트 이블 4 +G4CE54 = 챨리와 초코렛 공장 +G4CP54 = 챨리와 초코렛 공장 +G4FD69 = 피파 07 +G4FE69 = 피파 07 +G4FF69 = 피파 07 +G4FP69 = 피파 07 +G4GEE9 = 하베스트 문: 또다른 놀라운 인생 +G4GJ99 = 목장 이야기: 소녀들를 위한 원더풀 라이프 +G4IE52 = 슈렉 스매쉬 엔' 크래쉬 레이싱 +G4IP52 = 슈렉 스매쉬 엔' 크래쉬 레이싱 +G4ME69 = 심즈: 세상 밖으로 +G4MP69 = 심즈: 세상 밖으로 +G4NJDA = 나루토: 격투 닌자 대전! 4 +G4OE69 = 심즈 2 : 애완동물 +G4OP69 = 심즈 2 : 애완동물 +G4PJ13 = 심즈 +G4QE01 = 슈퍼 마리오 스트라이커즈 +G4QJ01 = 슈퍼 마리오 스트라이커즈 +G4QP01 = 마리오 스매시 축구 +G4SE01 = 젤다의 전설: 4개의 검 +G4SJ01 = 젤다의 전설: 4개의 검+ +G4SP01 = 젤다의 전설: 4개의 검 +G4WJ99 = 목장 이야기: 세상을 위한 행복의 시 +G4ZE69 = 심즈 2 +G4ZP69 = 심즈 2 +G5BE4Z = 스트라이크 포스 볼링 +G5DE78 = 스쿠비-두! 언마스크드! +G5DP78 = 스쿠비-두! 언마스크드! +G5NEAF = 남코 뮤지엄 50주년 +G5NP69 = 남코 뮤지엄 50주년 +G5SE7D = 스파이로: 영웅의 꼬리 +G5SP7D = 스파이로: 영웅의 꼬리 +G5TE69 = 타이거 우즈 PGA 투어 2005 +G5TP69 = 타이거 우즈 PGA 투어 2005 +G62E54 = 메이저 리그 야구 2k6 +G63E41 = 톰 클랜시의 레인보우 식스 3 +G63P41 = 톰 클랜시의 레인보우 식스 3 +G6FD69 = 2006 피파 월드컵 +G6FE69 = 2006 피파 월드컵 +G6FF69 = 2006 피파 월드컵 +G6FP69 = 2006 피파 월드컵 +G6ME69 = 매든 NFL 06 +G6MP69 = 매든 NFL 06 +G6NE69 = NBA 라이브 06 +G6NP69 = NBA 라이브 06 +G6QE08 = 메가맨 기념 컬렉션 +G6SE7D = 스파이로의 전설: 새로운 시작 +G6SP7D = 스파이로의 전설: 새로운 시작 +G6TE5G = 틴 타이탄즈 +G6TP78 = 틴 타이탄즈 +G6WE69 = 타이거 우즈 PGA 투어 06 +G6WP69 = 타이거 우즈 PGA 투어 06 +G7ME69 = 매든 NFL 07 +G89EAF = 팩 맨 월드 랠리 +G8FE8P = 버추어 퀘스트 +G8FJ8P = 버추어 파이터 사이버 제너레이션 +G8ME01 = 페이퍼 마리오: 천년의 문 +G8MJ01 = 페이퍼 마리오 RPG +G8MP01 = 페이퍼 마리오: 천년의 문 +G8OJ18 = 무적 코털 보보보 탈출!! 하지케 로얄 +G8SJAF = 배틀 스타디움 D.O.N +G8WE01 = 배탤리언 워즈 +G8WJ01 = 돌격!! 패미컴 워즈 +G8WP01 = 배탤리언 워즈 +G94E01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 8월 +G95E01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 7월 +G96E01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 6월 +G96P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 11월 +G97E01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 3월 +G97P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 9월 +G97U01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 9월 +G98E01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 1월 +G98P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 5월 +G99E01 = 인터랙티브 멀티 게임 체험판 디스크 - 2001년 10월 +G99P01 = 인터랙티브 멀티 게임 체험판 디스크 - 2002년 3월 +G9BEE9 = 마크 데이비스 프로 배스 도전 +G9KJCM = 실황 파워풀 프로 야구 9 결정판 +G9RD7D = 크래쉬 태그 팀 레이싱 +G9RE7D = 크래쉬 태그 팀 레이싱 +G9RF7D = 크래쉬 태그 팀 레이싱 +G9RH7D = 크래쉬 태그 팀 레이싱 +G9RP7D = 크래쉬 태그 팀 레이싱 +G9SE8P = 소닉 히어로즈 +G9SJ8P = 소닉 히어로즈 +G9SP8P = 소닉 히어로즈 +G9TD52 = 샤크 +G9TE52 = 샤크 +G9TF52 = 샤크 +G9TI52 = 샤크 +G9TJC0 = 샤크 +G9TP52 = 샤크 +GA2E51 = 올-스타 야구 2002 +GA3E51 = 올-스타 야구 2003 +GA3J51 = 올-스타 야구 2003 +GA4E51 = 올-스타 야구 2004 +GA7E70 = 백야드 스포츠 야구 2007 +GAAJ08 = 디즈니의 미키&미니 트릭 & 체이스 +GABEAF = 금색의 갓슈벨!! 격전! 최강의 마물들 +GABJB2 = 금색의 갓슈벨: 고! 고! 마물 파이트!! +GACE5H = 아미맨: 공중전 엘리트 미션즈 +GAEJ01 = 동물의 숲 e+ +GAFE01 = 동물의 숲 +GAFJ01 = 동물의 숲 + +GAFP01 = 동물의 숲 +GAFU01 = 동물의 숲 +GAGP70 = 아스테릭스와 오벨릭스 XXL +GAHEGG = 에이리언 호미니드 +GAKE5D = 미드웨이 아케이드 보물 +GALE01 = 대난투 스매시 브라더스 DX +GALJ01 = 대난투 스매시 브라더스 DX +GALP01 = 대난투 스매시 브라더스 DX +GAME5H = 아미맨: 사지 전쟁 +GANE7U = 애니매니악스: 위대한 에드거 사냥 +GANP7U = 애니매니악스: 위대한 에드거 사냥 +GAPE52 = 아메리칸 초퍼 2: 풀 스로틀 +GAQE6S = 아쿠아맨: 아틀란티스 전투 +GARE5H = 아미맨: RTS +GASJ8P = 소닉 어드벤처 디럭스 +GATE51 = ATV 쿼드 파워 레이싱 2 +GATP51 = ATV 쿼드 파워 레이싱 2 +GAUE08 = 아우토 모델리스타 +GAUJ08 = 아우토 모델리스타 U.S.-턴 +GAVE78 = 아바타: 최후의 에어벤더 +GAVY78 = 아바타: 앙의 전설 +GAXE5D = 앤트 불리 +GAYE5D = 미드웨이 아케이드 보물 2 +GAZD69 = 해리 포터와 아즈카반의 죄수 +GAZE69 = 해리 포터와 아즈카반의 죄수 +GAZF69 = 해리 포터와 아즈카반의 죄수 +GAZH69 = 해리 포터와 아즈카반의 죄수 +GAZI69 = 해리 포터와 아즈카반의 죄수 +GAZJ13 = 해리 포터와 아즈카반의 죄수 +GAZM69 = 해리 포터와 아즈카반의 죄수 +GAZP69 = 해리 포터와 아즈카반의 죄수 +GAZS69 = 해리 포터와 아즈카반의 죄수 +GB2J18 = 봄버맨 랜드 2 - 게임 사상 최대 규모의 테마파크 +GB4E51 = 번아웃 2: 탄착점 +GB4P51 = 번아웃 2: 탄착점 +GBDE5G = 블러드레인 +GBDF7D = 블러드레인 +GBDP7D = 블러드레인 +GBDS7D = 블러드레인 +GBFE70 = 백야드 풋볼 +GBGE5G = 봄버맨 제너레이션 +GBGJ18 = 봄버맨 제너레이션 +GBGP7D = 봄버맨 제너레이션 +GBHDC8 = 미스틱 히어로즈 +GBHEC8 = 미스틱 히어로즈 +GBHFC8 = 미스틱 히어로즈 +GBHJC8 = 배틀봉신 +GBHPC8 = 미스틱 히어로즈 +GBIE08 = 레지던트 이블 +GBIJ08 = 바이오하자드 +GBIP08 = 레지던트 이블 +GBKE70 = 백야드 야구 +GBLE52 = 블러디 로어: 프라이멀 퓨리 +GBLP52 = 블러디 로어: 프라이멀 퓨리 +GBME7F = 배트맨: 검은 내일 +GBMJ28 = 배트맨: 검은 내일 +GBMP7F = 배트맨: 검은 내일 +GBNJC0 = 워리어 블레이드: 라스탄 vs 바바리안 편 +GBOE51 = 번아웃 +GBOP51 = 번아웃 +GBPJCM = 야구 2003 배틀 볼 파크 선언 퍼펙트 플레이 프로 야구 +GBQE78 = 로켓 파워: 해변 도적단 +GBQP78 = 로켓 파워: 해변 도적단 +GBRJ18 = 블러디 로어 익스트림 +GBSE8P = 비치 스파이커즈: 버추어 비치 발리볼 +GBSJ8P = 비치 스파이커즈 +GBSP8P = 비치 스파이커즈: 버추어 비치 발리볼 +GBTE70 = 베이블레이드 V포스: 슈퍼 토너먼트 배틀 +GBTJA7 = 폭전슈트 베이블레이드 2002 열투! 마그네틱 배틀!! +GBTP70 = 베이블레이드 V포스: 슈퍼 토너먼트 배틀 +GBVE41 = 배트맨: 복수 +GBVP41 = 배트맨: 복수 +GBWD64 = 스타 워즈 현상금 사냥꾼 +GBWE64 = 스타 워즈 현상금 사냥꾼 +GBWF64 = 스타 워즈 현상금 사냥꾼 +GBWI64 = 스타 워즈 현상금 사냥꾼 +GBWP64 = 스타 워즈 현상금 사냥꾼 +GBWS64 = 스타 워즈 현상금 사냥꾼 +GBXE51 = 데이브 미라 프리스타일 BMX 2 +GBXP51 = 데이브 미라 프리스타일 BMX 2 +GBYE0A = 슈퍼 버블 팝 +GBZE08 = 레지던트 이블 제로 +GBZJ08 = 바이오하자드 제로 +GBZP08 = 레지던트 이블 제로 +GC2E9G = 컨플릭트: 사막 폭풍 2 - 바그다드 귀환 +GC2P75 = 컨플릭트: 사막 폭풍 2 - 바그다드 귀환 +GC3D78 = 스쿠비-두! 미스터리 메이햄 +GC3E78 = 스쿠비-두! 미스터리 메이햄 +GC3F78 = 스쿠비-두! 미스터리 메이햄 +GC3P78 = 스쿠비-두! 미스터리 메이햄 +GC4JBN = 신세기 GPX 사이버 포뮬러: 진화의 길 +GC5PNK = 코코토: 카트 레이서 +GC6E01 = 포켓몬 콜로세움 +GC6J01 = 포켓몬 콜로세움 +GC6P01 = 포켓몬 콜로세움 +GC7PNK = 코코토 플랫폼 점퍼 +GC8JA4 = 크래쉬 밴디쿳: 폭주! 니트로 카트 +GC9P6S = 코난 +GCAE5H = 큐빅스: 모두를 위한 로봇 대결 +GCBE7D = 크래쉬 밴디쿳: 마왕의 부활 +GCBJA4 = 크래쉬 밴디쿳 4: 작렬! 마신 파워 +GCBP7D = 크래쉬 밴디쿳: 마왕의 부활 +GCCE01 = 파이널 판타지 크리스탈 연대기 +GCCJ01 = 파이널 판타지 크리스탈 연대기 +GCCJGC = 파이널 판타지 크리스탈 연대기 +GCCP01 = 파이널 판타지 크리스탈 연대기 +GCDE08 = 레지던트 이블 코드: 베로니카 X +GCDJ08 = 바이오하자드 코드: 베로니카 완전판 +GCDP08 = 레지던트 이블 코드: 베로니카 X +GCEE41 = 톰 클랜시의 스플린터 셀 +GCEP41 = 톰 클랜시의 스플린터 셀 +GCFE9G = 컨플릭트: 사막 폭풍 +GCFP75 = 컨플릭트: 사막 폭풍 +GCGE41 = 미녀 삼총사 +GCGP41 = 미녀 삼총사 +GCHE78 = WWE 크러시 아워 +GCHP78 = WWE 크러시 아워 +GCIE69 = 심즈 +GCIP69 = 심즈 +GCJE41 = 톰 클랜시의 스플린터 셀: 카오스 이론 +GCJP41 = 톰 클랜시의 스플린터 셀: 카오스 이론 +GCLE69 = 셀 데미지 +GCLP69 = 셀 데미지 +GCMJA4 = 근육짱 뿅: 근육섬의 결전 +GCNE7D = 크래쉬 니트로 카트 +GCNP7D = 크래쉬 니트로 카트 +GCOD52 = 콜 오브 듀티: 영광의 시간 +GCOE52 = 콜 오브 듀티: 영광의 시간 +GCOF52 = 콜 오브 듀티: 영광의 시간 +GCOP52 = 콜 오브 듀티: 영광의 시간 +GCPE6S = 캐스퍼: 스피릿 디멘션 +GCPP6S = 캐스퍼: 스피릿 디멘션 +GCQD7D = 버피와 뱀파이어: 필사의 혈투 +GCQE7D = 버피와 뱀파이어: 필사의 혈투 +GCQF7D = 버피와 뱀파이어: 필사의 혈투 +GCQP7D = 버피와 뱀파이어: 필사의 혈투 +GCSEAF = 스트리트 레이싱 신디케이트 +GCSPAF = 스트리트 레이싱 신디케이트 +GCTE51 = 크레이지 택시 +GCTJ8P = 크레이지 택시 +GCTP51 = 크레이지 택시 +GCUE69 = NCAA 풋볼 2005 +GCVEEB = 큐비보어: 적자생존 +GCWJBL = 마법의 호박: 앤과 그렉의 대모험 +GCWP6X = 캐슬윈 +GCZE69 = 캣우먼 +GCZP69 = 캣우먼 +GD4E6S = 다이노토피아: 선스톤 오디세이 +GD5JB2 = 드래곤 드라이브: D-마스터즈 샷 +GD6EB2 = 디지몬 럼블 아레나 2 +GD6P70 = 디지몬 럼블 아레나 2 +GD7E70 = 드래곤 볼 Z - 격투 천하제일 무도회 +GD7PB2 = 드래곤 볼 Z: 격투 천하제일 무도회 +GD9E69 = 드롬 레이서즈 +GD9P69 = 드롬 레이서즈 +GDAJE5 = 도라에몽 모두 놀자! 미니도라랜드 +GDBJ01 = 동물방장 +GDCE51 = 스피드 킹스 +GDCP51 = 스피드 킹스 +GDDE41 = 디즈니의 도날드 덕: 고인 퀙커즈 +GDDP41 = 디즈니의 도날드 덕: 퀙 어택 +GDED71 = 발더스 게이트: 검은 동맹 +GDEE71 = 발더스 게이트: 검은 동맹 +GDEF71 = 발더스 게이트: 검은 동맹 +GDEP71 = 발더스 게이트: 검은 동맹 +GDFE5D = 디펜더 +GDFP5D = 디펜더: 전인류를 위하여 +GDGE7H = 용의 굴 3D: 굴로 돌아가기 +GDGP78 = 용의 굴 3D 스페셜 에디션 +GDIE7D = 다이하드: 벤데타 +GDIP7D = 다이하드: 벤데타 +GDIX7D = 다이하드: 벤데타 +GDIY7D = 다이하드: 벤데타 +GDJEB2 = 디지몬 월드 4 +GDJJB2 = 디지몬 월드 X +GDKEA4 = 디즈니 스포츠: 축구 +GDKJA4 = 디즈니 스포츠: 축구 +GDKPA4 = 디즈니 스포츠: 축구 +GDLEA4 = 디즈니 스포츠: 농구 +GDLJA4 = 디즈니 스포츠: 농구 +GDLPA4 = 디즈니 스포츠: 농구 +GDME01 = 디즈니 미키 마우스 마법의 거울 +GDMJ01 = 디즈니 미키 마우스의 이상한 거울 +GDMP01 = 디즈니 미키 마우스 마법의 거울 +GDNJE8 = 도카폰 DX: 살아갈 세상은 귀신 투성이 +GDOP41 = 디즈니 도날드 덕 PK +GDPJAF = Mr. 드릴러: 드릴 랜드 +GDQE7L = 다큰드 스카이 +GDQP6S = 다큰드 스카이 +GDREAF = 현행범 +GDRP69 = 현행범 +GDSE78 = 어두운 정상 +GDSP78 = 어두운 정상 +GDTE69 = 데프 잼 언더그라운드 파이팅 +GDTP69 = 데프 잼 언더그라운드 파이팅 +GDUJA7 = 듀얼 마스터즈 열투! 배틀 아레나 +GDVE6L = 드리븐 +GDVP6L = 드리븐 +GDWEA4 = 디즈니 스포츠: 풋볼 +GDWJA4 = 디즈니 스포츠: 미식 축구 +GDXEA4 = 디즈니 스포츠: 스케이트보딩 +GDXJA4 = 디즈니 스포츠: 스케이트보딩 +GDXPA4 = 디즈니 스포츠: 스케이트보딩 +GE3E5D = 미드웨이 아케이드 보물 3 +GE4E7D = 4x4 에보 2 +GE5EA4 = 돌연변이 닌자 거북: 뮤턴트 멀리 +GE6JA4 = 영세명인 VI +GE9E5D = 에드, 에드 엔 에디: 더 미스-에드벤쳐스 +GEAE8P = 아르카디아의 하늘 전설 +GEAJ8P = 영원한 아르카디아 전설 +GEAP8P = 아카디아의 하늘 전설 +GEBEA4 = 에볼루션 스노우보딩 +GEBPA4 = 에볼루션 스노우보딩 +GEDE01 = 이터널 다크니스: 세인티의 레퀴엠 +GEDJ01 = 이터널 다크니스: 초대받은 13인 +GEDP01 = 이터널 다크니스: 세인티의 레퀴엠 +GEDW01 = 이터널 다크니스: 세인티의 레퀴엠 +GEGJ8P = 빌리 해쳐의 대모험: 거대한 알 +GEJJCM = 실황 파워풀 프로 야구 11 초결정판 +GEME7F = 에그 매니아: 에그스트림 매드니스 +GEMJ28 = 에그 매니아: 잡고! 돌려! 돗슨 퍼즐! +GEND69 = 제임스 본드 007: 에브리씽 오어 낫씽 +GENE69 = 007: 에브리씽 오어 낫씽 +GENF69 = 제임스 본드 007: 에브리씽 오어 낫씽 +GENJ13 = 007: 에브리씽 오어 낫씽 +GENP69 = 제임스 본드 007: 에브리씽 오어 낫씽 +GENS69 = 제임스 본드 007: 에브리씽 오어 낫씽 +GEOE08 = 캡콤 vs. SNK 2 EO +GEOJ08 = 캡콤 vs. SNK 2 EO: 밀리오네이어 파이팅 2001 +GEOP08 = 캡콤 vs. SNK 2 EO: 밀리오네이어 파이팅 2001 +GESEA4 = 에볼루션 스케이트보딩 +GESJA4 = 에볼루션 스케이트보딩 +GESPA4 = 에볼루션 스케이트보딩 +GEVJ0M = 신기세계 에볼루시아 +GEWE41 = 에볼루션 월드즈 +GEWP41 = 에볼루션 월드즈 +GEXE52 = 디즈니 익스트림 스케이드 어드벤처 +GEXP52 = 디즈니 익스트림 스케이드 어드벤처 +GEXX52 = 디즈니 익스트림 스케이드 어드벤처 +GEXY52 = 디즈니 익스트림 스케이드 어드벤처 +GEYE69 = 파이트 나이트 라운드 2 +GEYJ13 = 파이트 나이트 라운드 2 +GEYP69 = 파이트 나이트 라운드 2 +GEZE8P = 빌리 해쳐와 거대한 알 +GEZP8P = 빌리 해쳐와 거대한 알 +GF4D52 = 판타스틱 4 +GF4E52 = 판타스틱 4 +GF4F52 = 판타스틱 4 +GF4H52 = 판타스틱 4 +GF4I52 = 판타스틱 4 +GF4P52 = 판타스틱 4 +GF4S52 = 판타스틱 4 +GF5D69 = 피파 축구 2005 +GF5E69 = 피파 축구 2005 +GF5F69 = 피파 축구 2005 +GF5H69 = 피파 축구 2005 +GF5I69 = 피파 축구 2005 +GF5P69 = 피파 축구 2005 +GF5S69 = 피파 축구 2005 +GF6D69 = 피파 06 +GF6E69 = 피파 축구 06 +GF6F69 = 피파 06 +GF6H69 = 피파 06 +GF6I69 = 피파 06 +GF6P69 = 피파 06 +GF6S69 = 피파 06 +GF7E01 = 스타폭스 어설트 +GF7J01 = 스타폭스 어설트 +GF7P01 = 스타폭스 어설트 +GF8E69 = 피파 스트리트 +GF8P69 = 피파 스트리트 +GFAD69 = 피파 축구 2003 +GFAE69 = 피파 축구 2003 +GFAF69 = 피파 축구 2003 +GFAI69 = 피파 축구 2003 +GFAJ13 = 피파 유럽 축구 2003 +GFAP69 = 피파 축구 2003 +GFAS69 = 피파 축구 2003 +GFBE5D = 파이어블레이드 +GFBP5D = 파이어블레이드 +GFCP69 = F1 경력 도전 +GFDD69 = 프리덤 파이터즈 +GFDE69 = 프리덤 파이터즈 +GFDF69 = 프리덤 파이터즈 +GFDP69 = 프리덤 파이터즈 +GFEE01 = 파이어 엠블렘: 창염의 궤적 +GFEJ01 = 파이어 엠블렘: 창염의 궤적 +GFEP01 = 파이어 엠블렘: 창염의 궤적 +GFFE5D = 프리키 플라이어즈 +GFGEA4 = 프로거 비욘드 +GFGJA4 = 프로거 +GFGPA4 = 프로거 비욘드 +GFHP6V = 지옥에서 온 이웃 +GFIE69 = 2002 피파 월드컵 +GFIJ13 = 2002 피파 월드컵 +GFKE69 = 프릭스타일 +GFKP69 = 프릭스타일 +GFMJAF = 패밀리 스타디움 2003 +GFNJG2 = 니모를 찾아서 +GFOE78 = 티미의 못말리는 수호천사: 그림자 대결 +GFPEA4 = 개구리: 고대 그림자 +GFQEA4 = 개구리의 모험: 구조대 +GFSE69 = 피파 축구 2002 +GFSJ13 = 피파 월드컵으로 가는 피파 축구 2002 +GFSP69 = 2002 피파 월드컵 +GFSX69 = 2002 피파 월드컵 +GFTE01 = 마리오 골프: 토드스툴 투어 +GFTJ01 = 마리오 골프: 패밀리 투어 +GFTP01 = 마리오 골프: 토드스툴 투어 +GFUE4Z = 퓨처 택틱스: 봉기 +GFUP6V = 퓨처 택틱스: 봉기 +GFVE5D = NFL 블리츠 프로 +GFWE78 = 티미의 못말리는 수호천사: 규칙 위반 +GFXE5D = 프리스타일 메탈 X +GFYE69 = 피파 스트리트 2 +GFYP69 = 피파 스트리트 2 +GFZE01 = F-제로 GX +GFZJ01 = F-제로 GX +GFZP01 = F-제로 GX +GG2E4Z = 트리거 맨 +GG4E08 = 갓챠 포스 +GG4J08 = 갓챠 포스 +GG4P08 = 갓챠 포스 +GG5E52 = 카벨라의 위대한 게임 사냥꾼 2005 +GGAJB2 = 기동전사 건담: 전사들의 궤적 +GGCE0A = 고블린 커맨더: 언리쉬드 호드 +GGCP0A = 고블린 커맨더: 언리쉬드 호드 +GGEE41 = 선과 악을 넘어 +GGEP41 = 선과 악을 넘어 +GGEX41 = 선과 악을 넘어 +GGEY41 = 선과 악을 넘어 +GGFJ01 = 기프트피아 +GGIJ13 = 골든아이 다크 에이전트 +GGKJB2 = 금색의 갓슈벨!! 우정 태그 배틀 풀 파워 +GGNE5D = 빌리와 맨디의 무시무시한 모험 +GGPJAF = SD 건담 가챠폰 워즈 +GGPJB2 = SD 건담 가챠폰 워즈 +GGRD41 = 톰 클랜시의 고스트 리콘 +GGRE41 = 톰 클랜시의 고스트 리콘 +GGRP41 = 톰 클랜시의 고스트 리콘 +GGSEA4 = 메탈 기어 솔리드: 트윈 스네이크즈 +GGSJA4 = 메탈 기어 솔리드: 트윈 스네이크즈 +GGSPA4 = 메탈 기어 솔리드: 트윈 스네이크즈 +GGTE01 = 꼬마 로봇! +GGTJ01 = 꼬마 로봇! +GGTP01 = 꼬마 로봇! +GGVD78 = 보글보글 스폰지밥 +GGVE78 = 보글보글 스폰지밥 +GGVP78 = 보글보글 스폰지밥 +GGYE41 = 톰 클랜시의 고스트 리콘 2 +GGYP41 = 톰 클랜시의 고스트 리콘 2 +GGZE52 = 마다가스카: 왜 비추고 난리야 +GGZH52 = 마다가스카: 왜 비추고 난리야 +GGZI52 = 마다가스카: 왜 비추고 난리야 +GGZJB2 = 마다가스카: 왜 비추고 난리야 +GGZP52 = 마다가스카: 왜 비추고 난리야 +GGZS52 = 마다가스카: 왜 비추고 난리야 +GGZX52 = 마다가스카: 왜 비추고 난리야 +GH2E69 = 니드 포 스피드: 맹열한 추적 2 +GH2P69 = 니드 포 스피드: 맹열한 추적 2 +GH4D69 = 해리 포터와 불의 잔 +GH4E69 = 해리 포터와 불의 잔 +GH4F69 = 해리 포터와 불의 잔 +GH4H69 = 해리 포터와 불의 잔 +GH4I69 = 해리 포터와 불의 잔 +GH4J13 = 해리 포터와 불의 잔 +GH4M69 = 해리 포터와 불의 잔 +GH4P69 = 해리 포터와 불의 잔 +GH4S69 = 해리 포터와 불의 잔 +GH5D52 = 헷지 +GH5E52 = 헷지 +GH5F52 = 헷지 +GH5P52 = 헷지 +GH6EAF = 헬로 키티: 롤러 구조대 +GH6P7N = 헬로 키티: 롤러 구조대 +GH7E5D = 해피 피트 +GH9P52 = 토니 호크의 아메리칸 웨이스트랜드 +GHAE08 = 레지던트 이블 2 +GHAJ08 = 바이오하자드 2 +GHAP08 = 레지던트 이블 2 +GHBE7D = 호빗 +GHBP7D = 호빗 +GHCD4Q = 치킨 리틀 +GHCE4Q = 치킨 리틀 +GHCF4Q = 치킨 리틀 +GHCJG9 = 치킨 리틀 +GHCP4Q = 치킨 리틀 +GHEJ91 = 홈랜드 +GHFE4Z = 핀볼 명예의 전당: 고틀리프 컬렉션 +GHGEEB = 고! 고! 하이퍼그라인드 +GHKD7D = 헐크 +GHKE7D = 헐크 +GHKF7D = 헐크 +GHKP7D = 헐크 +GHKS7D = 헐크 +GHLE69 = 해리 포터와 마법사의 돌 +GHLJ13 = 해리 포터와 마법사의 돌 +GHLP69 = 해리 포터와 마법사의 돌 +GHLX69 = 해리 포터와 마법사의 돌 +GHLY69 = 해리 포터와 마법사의 돌 +GHLZ69 = 해리 포터와 마법사의 돌 +GHMD4F = 히트맨 2: 침묵의 암살자 +GHME4F = 히트맨 2: 침묵의 암살자 +GHMF4F = 히트맨 2: 침묵의 암살자 +GHMP4F = 히트맨 2: 침묵의 암살자 +GHNE71 = 헌터: 심판의 날 +GHNX71 = 헌터: 심판의 날 +GHPE52 = 스트리트 훕스 +GHQE7D = 심슨 가족: 히트 앤 런 +GHQP7D = 심슨 가족: 히트 앤 런 +GHRE78 = 핫 휠즈: 월드 레이스 +GHRP78 = 핫 휠즈: 월드 레이스 +GHSE69 = 해리 포터와 비밀의 방 +GHSJ13 = 해리 포터와 비밀의 방 +GHSP69 = 해리 포터와 비밀의 방 +GHSX69 = 해리 포터와 비밀의 방 +GHSY69 = 해리 포터와 비밀의 방 +GHTJA4 = 히카루의 바둑 3 +GHUE7D = 인크레더블 헐크: 얼티밋 디스트럭션 +GHUF7D = 인크레더블 헐크: 얼티밋 디스트럭션 +GHUP7D = 인크레더블 헐크: 얼티밋 디스트럭션 +GHVE08 = 디즈니의 숨바꼭질 +GHVP08 = 디즈니의 숨바꼭질 +GHWE78 = 핫 휠즈: 벨로시티 X +GHWP78 = 핫 휠즈: 벨로시티 X +GHYE6S = 헌티드 맨션 +GHZE5D = NHL 히츠 프로 +GI2J18 = 모모타로 전철 12 (서일본 편도 있어요!) +GIAE7D = 아이스 에이지 2: 멜트다운 +GIAP7D = 아이스 에이지 2: 멜트다운 +GIBE4F = 이탈리안 잡 +GIBP4F = 이탈리안 잡 +GICD78 = 인크레더블 +GICE78 = 인크레더블 +GICF78 = 인크레더블 +GICH78 = 인크레더블 +GICJG9 = 인크레더블 +GICP78 = 인크레더블 +GIFJDQ = 제너레이션 오브 카오스 익시드: 어둠의 황녀 로제 +GIGJ8P = 블리치 GC 황혼에 대면하는 사신 +GIHD78 = 스쿠비-두! 100 개의 공포의 밤 +GIHE78 = 스쿠비-두! 100 개의 공포의 밤 +GIHF78 = 스쿠비-두! 100 개의 공포의 밤 +GIHP78 = 스쿠비-두! 100 개의 공포의 밤 +GIIJ18 = 모모타로 전철 11 (블랙 봄비 출현!의 권) +GIJEFP = 스페이스 레이더즈 +GIJJC0 = 스페이스 레이더즈 GIJKC0 = 스페이스 레이더스 +GIKE70 = 이카루가 +GIKJ70 = 이카루가 +GIKP70 = 이카루가 +GILE51 = 어그레시브 인라인 +GILP51 = 어그레시브 인라인 +GINE69 = 배트맨 비긴즈 +GINX69 = 배트맨 비긴즈 +GIOJCM = 실황 파워풀 프로 야구 10 초결정판 2003 메모리얼 +GIPEAF = 소년 점프의 원피스: 해적 카니발 +GIPJB2 = 소년 점프의 원피스: 해적 카니발 +GIQE78 = 인크레더블: 언더마이너의 침공 +GIQJ8P = 인크레더블: 강적 언더마이너의 등장 +GIQX78 = 인크레더블: 언더마이너의 침공 +GIQY78 = 인크레더블: 언더마이너의 침공 +GISE36 = 투시력 +GISP36 = 투시력 +GITE01 = 가이스트 +GITP01 = 가이스트 +GIVE4Z = 인텔리비전 라이브즈 +GIZE52 = 타이 더 태즈메이니언 타이거 3: 퀸칸의 밤 +GJ2JCM = 실황 월드 사커 2002 +GJ2PA4 = 인터내셔널 슈퍼스타 축구 2 +GJ3PA4 = 인터내셔널 슈퍼스타 축구 3 +GJBE18 = 봄버맨 제타즈 +GJBE5G = 봄버맨 제타즈 +GJBJ18 = 봄버맨 제타즈 +GJCE8P = 사무라이 잭: 아쿠의 그림자 +GJCP8P = 사무라이 잭: 아쿠의 그림자 +GJDE5S = 져지 드레드: 드레드 vs. 죽음 +GJDX7D = 져지 드레드: 드레드 vs. 죽음 +GJDY7D = 져지 드레드: 드레드 vs. 죽음 +GJFE78 = 천재 소년 지미 뉴트론 제트 퓨전 +GJFP78 = 천재 소년 지미 뉴트론 제트 퓨전 +GJKD52 = 스타 워즈 제다이 기사 II: 제다이 방랑자 +GJKE52 = 스타 워즈 제다이 기사 II: 제다이 방랑자 +GJKF52 = 스타 워즈 제다이 기사 II: 제다이 방랑자 +GJKP52 = 스타 워즈 제다이 기사 II: 제다이 방랑자 +GJND78 = 천재 소년 지미 뉴트론 +GJNE78 = 천재 소년 지미 뉴트론 +GJNP78 = 천재 소년 지미 뉴트론 +GJPJCM = 실황 파워풀 프로 야구 11 +GJSJ18 = 허드슨 셀렉션 Vol. 2: 스타 솔져 +GJUD78 = 원시소년 탁과 마법사 주주 +GJUE78 = 원시소년 탁과 마법사 주주 +GJUF78 = 원시소년 탁과 마법사 주주 +GJUP78 = 원시소년 탁과 마법사 주주 +GJWE78 = 탁: 위대한 주주의 도전 +GJWP78 = 탁: 위대한 주주의 도전 +GJXE51 = 벡스 +GJXP51 = 벡스 +GJYE78 = 천재 소년 지미 뉴트론: 트윙키의 습격 +GJYP78 = 천재 소년 지미 뉴트론: 트윙키의 습격 +GJZE52 = 시월드 어드벤처 파크스: 샤무의 깊은 바다 모험 +GJZP52 = 시월드 어드벤처 파크스: 샤무의 깊은 바다 모험 +GK2D52 = 스파이더맨 2 +GK2E52 = 스파이더맨 2 +GK2F52 = 스파이더맨 2 +GK2I52 = 스파이더맨 2 +GK2P52 = 스파이더맨 2 +GK4E01 = 바텐 카이토스 오리진즈 +GK4J01 = 바텐 카이토스 II: 시작의 날개와 신들의 사자 +GK5E78 = 몬스터 하우스 +GK5P78 = 몬스터 하우스 +GK5X78 = 몬스터 하우스 +GK6JA4 = 고로케! 밴 왕의 위기를 구하라 +GK7E08 = 킬러7 +GK7J08 = 킬러7 +GK7P08 = 킬러7 +GK9EA4 = 카라오케 레볼루션 파티 +GKAE8P = 어메이징 아일랜드 +GKAJ8P = 괴수의 섬: 어메이징 아일랜드 +GKBEAF = 바텐 카이토스: 영원한 날개와 잃어버린 바다 +GKBJAF = 바텐 카이토스: 끝나지 않는 날개와 잃어버린 바다 +GKBPAF = 바텐 카이토스: 영원한 날개와 잃어버린 바다 +GKDJ01 = 거인 도신 +GKDP01 = 거인 도신 +GKEJA4 = 실황 파워풀 프로 야구 12 결정판 +GKFEGG = 카오스 필드 +GKFJ8P = 카오스 필드 익스팬디드 +GKFJMS = 카오스 필드 익스팬디드 +GKGE01 = 동키 콩가 +GKGJ01 = 동키 콩가 +GKGP01 = 동키 콩가 +GKHEA4 = 아서 왕 +GKHPA4 = 아서 왕 +GKJD78 = 카 +GKJE78 = 카 +GKJF78 = 카 +GKJH78 = 카 +GKJJ78 = 카 +GKJP78 = 카 +GKJS78 = 카 +GKKE69 = 녹아웃 킹 2003 +GKKP69 = 녹아웃 킹 2003 +GKLD69 = 반지의 제왕: 왕의 귀환 +GKLE69 = 반지의 제왕: 왕의 귀환 +GKLF69 = 반지의 제왕: 왕의 귀환 +GKLI69 = 반지의 제왕: 왕의 귀환 +GKLJ13 = 반지의 제왕: 왕의 귀환 +GKLP69 = 반지의 제왕: 왕의 귀환 +GKLS69 = 반지의 제왕: 왕의 귀환 +GKME41 = 페르시아 왕자: 두개의 왕좌 +GKMP41 = 페르시아 왕자: 두개의 왕좌 +GKNEB2 = 근육맨 2 세: 신세대 초인 VS 전설 초인 +GKNJB2 = 근육맨 2 세: 신세대 초인 VS 전설 초인 +GKOE70 = 카오 캥거루: 라운드 2 +GKOP6V = 카오 캥거루: 라운드 2 +GKPJA4 = 실황 파워풀 프로 야구 12 +GKQJ01 = 쿠루링 스쿼스! +GKREB2 = 개굴개굴 왕 +GKRJB2 = 개굴개굴 왕 DX +GKRPB2 = 개굴개굴 왕 +GKSE52 = 켈리 슬레이터의 프로 서퍼 +GKSP52 = 켈리 슬레이터의 프로 서퍼 +GKSX52 = 켈리 슬레이터의 프로 서퍼 +GKTJA4 = 캡틴 츠바사: 황금 세대의 도전 +GKUE9G = 스케일러 +GKWJ18 = 드림믹스 TV 월드 파이터즈 +GKXJE7 = 극・마작 DXII: 제 4회 몬도21 컵 +GKYE01 = 커비 에어 라이드 +GKYJ01 = 커비의 에어 라이드 +GKYP01 = 커비 에어 라이드 +GKZD54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임 +GKZE9G = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임 +GKZP54 = 코드네임: 키즈 넥스트 도어 - 오퍼레이션: 비디오게임 +GL2E51 = 레슬링의 전설들 2 +GL2P51 = 레슬링의 전설들 II +GL3JE8 = 루팡 3세: 바다로 사라진 보물 +GL5E4F = 레고 스타 워즈: 비디오 게임 +GL5P4F = 레고 스타 워즈: 비디오 게임 +GL5X4F = 레고 스타 워즈: 비디오 게임 +GL7E64 = 레고 스타 워즈 II: 오리지널 3 부작 +GL7P64 = 레고 스타 워즈 II: 오리지널 3 부작 +GL8D4F = 라라 크로프트 툼 레이더: 전설 +GL8E4F = 라라 크로프트 툼 레이더: 전설 +GL8F4F = 라라 크로프트 툼 레이더: 전설 +GL8P4F = 라라 크로프트 툼 레이더: 전설 +GLBE8P = 홈런왕 +GLCD52 = 레모니 스니켓의 위험한 대결 +GLCE52 = 레모니 스니켓의 위험한 대결 +GLCF52 = 레모니 스니켓의 위험한 대결 +GLCP52 = 레모니 스니켓의 위험한 대결 +GLCS52 = 레모니 스니켓의 위험한 대결 +GLEE08 = 레지던트 이블 3: 네메시스 +GLEJ08 = 바이오하자드 3: 최후의 탈출 +GLEP08 = 레지던트 이블 3: 네메시스 +GLGP41 = 라르고 윈치: 위협을 받고 있는 제국 +GLHEG9 = 플러쉬 +GLHPG9 = 플러쉬 +GLIJA7 = 스페셜 인생 게임 +GLJJMS = 라지루기 제네릭 +GLLE78 = 라따뚜이 +GLLF78 = 라따뚜이 +GLME01 = 루이지 맨션 +GLMJ01 = 루이지 맨션 +GLMP01 = 루이지 맨션 +GLNE69 = 루니 툰즈: 백 인 액션 +GLNP69 = 루니 툰즈: 백 인 액션 +GLOD69 = 반지의 제왕: 두 개의 탑 +GLOE69 = 반지의 제왕: 두 개의 탑 +GLOF69 = 반지의 제왕: 두 개의 탑 +GLOI69 = 반지의 제왕: 두 개의 탑 +GLOJ13 = 반지의 제왕: 두 개의 탑 +GLOP69 = 반지의 제왕: 두 개의 탑 +GLOS69 = 반지의 제왕: 두 개의 탑 +GLQE41 = 톰 클랜시의 레인보우 식스: 제재 +GLQP41 = 톰 클랜시의 레인보우 식스: 제재 +GLRD64 = 스타워즈 로그 스쿼드론 III: 반란군 스트라이크 +GLRE64 = 스타워즈 로그 스쿼드론 III: 반란군 스트라이크 +GLRF64 = 스타워즈 로그 스쿼드론 III: 반란군 스트라이크 +GLRP64 = 스타워즈 로그 스쿼드론 III: 반란군 스트라이크 +GLSD64 = 글라디우스 +GLSE64 = 글라디우스 +GLSF64 = 글라디우스 +GLSP64 = 글라디우스 +GLUE7U = 로터스 도전 +GLVD4Q = 나니아 연대기: 사자, 마녀, 그리고 옷장 +GLVE4Q = 나니아 연대기: 사자, 마녀, 그리고 옷장 +GLVF4Q = 나니아 연대기: 사자, 마녀, 그리고 옷장 +GLVP4Q = 나니아 연대기: 사자, 마녀, 그리고 옷장 +GLWE51 = 레슬링의 전설들 +GLWP51 = 레슬링의 전설들 +GLXJ29 = 골퍼의 전설 +GLYE69 = NBA 라이브 2005 +GLYP69 = NBA 라이브 2005 +GLZD69 = 007 위기일발 +GLZE69 = 007 위기일발 +GLZF69 = 007 위기일발 +GLZP69 = 007 위기일발 +GM2E8P = 슈퍼 몽키 볼 2 +GM2J8P = 슈퍼 몽키 볼 2 +GM2P8P = 슈퍼 몽키 볼 2 +GM3E69 = 매든 NFL 2003 +GM3P69 = 매든 NFL 2003 +GM4E01 = 마리오 카트: 더블 대쉬!! +GM4J01 = 마리오 카트: 더블 대쉬!! +GM4P01 = 마리오 카트: 더블 대쉬!! +GM5D7D = 메탈 암즈: 시스템 글리치 +GM5E7D = 메탈 암즈: 시스템 글리치 +GM5F7D = 메탈 암즈: 시스템 글리치 +GM5P7D = 메탈 암즈: 시스템 글리치 +GM6EE9 = 메다보츠 인피니티 +GM6JE9 = 메다롯트 브레이브 +GM6PE9 = 메다보츠 인피니티 +GM8E01 = 메트로이드 프라임 +GM8J01 = 메트로이드 프라임 +GM8P01 = 메트로이드 프라임 +GM9E6S = 머펫 파티 크루즈 +GMAE51 = 올슨 자매: 16번째 생일에 운전 면허를 받았습니다 +GMAP51 = 올슨 자매: 16번째 생일에 운전 면허를 받았습니다 +GMBE8P = 슈퍼 몽키 볼 +GMBJ8P = 슈퍼 몽키 볼 +GMBP8P = 슈퍼 몽키 볼 +GMDE69 = 매든 NFL 2002 +GMEE70 = 맨 인 블랙 II: 에일리언 이스케이프 +GMEP70 = 맨 인 블랙 II: 에일리언 이스케이프 +GMFD69 = 메달 오브 아너: 전선 +GMFE69 = 메달 오브 아너: 전선 +GMFF69 = 메달 오브 아너: 전선 +GMFI69 = 메달 오브 아너: 전선 +GMFP69 = 메달 오브 아너: 전선 +GMFS69 = 메달 오브 아너: 전선 +GMHE52 = 맷 호프먼의 프로 BMX 2 +GMHP52 = 맷 호프먼의 프로 BMX 2 +GMIE70 = 미션 임파서블: 작전명 서마 +GMIJ70 = 미션 임파서블: 오퍼레이션 서마 +GMIP70 = 미션 임파서블: 오퍼레이션 서마 +GMJE41 = 몬스터 잼: 최대 파괴 +GMJP41 = 몬스터 잼: 최대 파괴 +GMKD5D = 모탈 컴뱃: 치명적인 동맹 +GMKE5D = 모탈 컴뱃: 치명적인 동맹 +GMKP5D = 모탈 컴뱃: 치명적인 동맹 +GMLEA4 = ESPN MLS 연장전 2002 +GMNE78 = 몬스터 주식회사: 공포의 섬 +GMNP78 = 몬스터 주식회사: 공포의 섬 +GMOP70 = 마이크로 머신즈 +GMPE01 = 마리오 파티 4 +GMPJ01 = 마리오 파티 4 +GMPP01 = 마리오 파티 4 +GMQE70 = 모노폴리 파티 +GMQP70 = 모노폴리 파티 +GMRE70 = 빅 에어 프리스타일 +GMRP70 = 빅 에어 프리스타일 +GMSE01 = 슈퍼 마리오 선샤인 +GMSJ01 = 슈퍼 마리오 선샤인 +GMSP01 = 슈퍼 마리오 선샤인 +GMTE69 = 디즈니 파티 +GMTJ18 = 디즈니의 마법 공원 +GMTP69 = 디즈니 파티 +GMUE5D = Dr. 무토 +GMWD52 = 마이너리티 리포트: 에브리바디 런즈 +GMWE52 = 마이너리티 리포트: 에브리바디 런즈 +GMWF52 = 마이너리티 리포트: 에브리바디 런즈 +GMWP52 = 마이너리티 리포트: 에브리바디 런즈 +GMXE70 = 엔터 더 매트릭스 +GMXJB2 = 엔터 더 매트릭스 +GMXP70 = 엔터 더 매트릭스 +GMYJ8P = 격투 프로 야구 미즈시마 신지 올 스타즈 VS 프로 야구 +GMZE41 = 몬스터 4x4: 메탈 마스터 +GN2E70 = 나스카: 데이토나의 먼지 +GN3E5D = NHL 히츠 2003 +GN3P5D = NHL 히츠 2003 +GN4E69 = 나스카 2005: 체이스 퍼더컵 +GN7E69 = NFL 스트리트 2 +GN7P69 = NFL 스트리트 2 +GN8E69 = NBA 라이브 2004 +GN8P69 = NBA 라이브 2004 +GN9E70 = 니켈로데온 파티 블래스트 +GNAE8P = NCAA 대학 풋볼 2K3 +GNBE01 = NBA 코트사이드 2002 +GNBJ01 = NBA 코트사이드 2002 +GNBP01 = NBA 코트사이드 2002 +GNCE69 = 나스카 썬더 2003 +GNDD69 = 니드 포 스피드: 언더그라운드 +GNDE69 = 니드 포 스피드: 언더그라운드 +GNDF69 = 니드 포 스피드: 언더그라운드 +GNDJ13 = 니드 포 스피드: 언더그라운드 +GNDP69 = 니드 포 스피드: 언더그라운드 +GNED78 = 니모를 찾아서 +GNEE78 = 니모를 찾아서 +GNEF78 = 니모를 찾아서 +GNEP78 = 니모를 찾아서 +GNES78 = 니모를 찾아서 +GNFE5D = NFL 블리츠 2002 +GNGE69 = NCAA 풋볼 2003 +GNHE5d = NHL 히츠 2002 +GNHP5D = NHL 히츠 2002 +GNIEA4 = 돌연변이 닌자 거북 2: 배틀 넥서스 +GNIPA4 = 돌연변이 닌자 거북 2: 배틀 넥서스 +GNJEAF = 아이-닌자 +GNKE8P = NCAA 대학 농구 2K3 +GNLE69 = NBA 라이브 2003 +GNLP69 = NBA 라이브 2003 +GNMEAF = 남코 뮤지엄 +GNNE69 = NFL 스트리트 +GNNP69 = NFL 스트리트 +GNOE78 = 닉툰즈 유나이트! +GNOX78 = 네모바지 스펀지밥 & 친구들: 유나이트! +GNPP70 = 니켈로데온 파티 블래스트 +GNQE69 = 매든 NFL 2005 +GNQP69 = 매든 NFL 2005 +GNREDA = 나루토: 격투 닌자 대전! +GNRJDA = 나루토: 격투 닌자 대전! +GNSE69 = NBA 스트리트 +GNSJ13 = NBA 스트리트 +GNUEDA = 나루토 - 격투 닌자 대전! 2 +GNUJDA = 나루토 - 격투 닌자 대전! 2 +GNUPDA = 나루토: 격투 닌자 대전! 유럽 버전 +GNWE69 = 데프 잼: 파이트 포 뉴욕 +GNWP69 = 데프 잼: 파이트 포 뉴욕 +GNXE69 = NCAA 풋볼 2004 +GNZE69 = NBA 스트리트 Vol.2 +GNZP69 = NBA 스트리트 Vol.2 +GO2D4F = 블러드 오멘 2: 케인의 유산 +GO2E4F = 블러드 오멘 2: 케인의 유산 +GO2F4F = 블러드 오멘 2: 케인의 유산 +GO2P4F = 블러드 오멘 2: 케인의 유산 +GO3E5D = NFL 블리츠 2003 +GO7D69 = 제임스 본드 007: 나이트파이어 +GO7E69 = 제임스 본드 007: 나이트파이어 +GO7F69 = 제임스 본드 007: 나이트파이어 +GO7P69 = 제임스 본드 007: 나이트파이어 +GO7S69 = 제임스 본드 007: 나이트파이어 +GOAE52 = 카벨라의 야외 모험 +GOBE4Z = 나쁜 녀석들: 마이애미 급습 +GOBP7N = 나쁜 녀석들 2 +GOCE5D = 로드킬 +GODJGA = 시코쿠 순례 체험게임 순례자: 믿음의 도장 (아와국 편) +GOFE7L = 무법 골프 +GOFP6S = 무법 골프 +GOGJB2 = 원피스: 그랜드 배틀! 3 +GOME01 = 마리오 파워 테니스 +GOMJ01 = 마리오 테니스 GC +GOMP01 = 마리오 파워 테니스 +GOND69 = 메달 오브 아너: 유러피언 어썰트 +GONE69 = 메달 오브 아너: 유러피언 어썰트 +GONF69 = 메달 오브 아너: 유러피언 어썰트 +GONJ13 = 메달 오브 아너: 유럽 강습 +GONP69 = 메달 오브 아너: 유러피언 어썰트 +GOOE01 = 오다마 +GOOJ01 = 대옥 +GOOP01 = 오다마 +GOPEB2 = 소년 점프 원피스: 그랜드 배틀 +GOPJB2 = 원피스 그랜드 배틀! 러쉬 +GOQE82 = 원피스: 그랜드 어드벤처 +GOQEAF = 소년 점프 원피스: 그랜드 어드벤처 +GOSE41 = 오픈 시즌 +GOSP41 = 오픈 시즌 +GOSX41 = 오픈 시즌 +GOTJB2 = TV 애니메이션: 원피스 트레저 배틀! +GOUPNK = 코코토 놀이공원 +GOWD69 = 니드 포 스피드: 지명 수배 +GOWE69 = 니드 포 스피드: 지명 수배 +GOWF69 = 니드 포 스피드: 지명 수배 +GOWJ13 = 니드 포 스피드: 지명 수배 +GOWP69 = 니드 포 스피드: 지명 수배 +GOYD69 = 골든아이: 로그 에이전트 +GOYE69 = 골든아이: 로그 에이전트 +GOYF69 = 골든아이: 로그 에이전트 +GOYP69 = 골든아이: 로그 에이전트 +GOYS69 = 골든아이: 로그 에이전트 +GP2EAF = 팩맨 월드 2 +GP2P69 = 팩맨 월드 2 +GP3E78 = 폴라 익스프레스 +GP3P78 = 폴라 익스프레스 +GP4J18 = 허드슨 셀렉션 볼륨 3 PC 원인 +GP5E01 = 마리오 파티 5 +GP5J01 = 마리오 파티 5 +GP5P01 = 마리오 파티 5 +GP6E01 = 마리오 파티 6 +GP6J01 = 마리오 파티 6 +GP6P01 = 마리오 파티 6 +GP7E01 = 마리오 파티 7 +GP7J01 = 마리오 파티 7 +GP7P01 = 마리오 파티 7 +GP8EAF = 팩맨 월드 3 +GP8P69 = 팩맨 월드 3 +GP9E7F = 로그 옵스 +GP9J28 = 로그 옵스 +GP9P7F = 로그 옵스 +GPAE01 = 포켓몬 채널 +GPAJ01 = 포켓몬 채널: 피카츄와 함께! +GPAP01 = 포켓몬 채널 +GPAU01 = 포켓몬 채널 +GPDE51 = 다카르 2: 월드 얼티밋 랠리 +GPDP51 = 다카르 2: 월드 얼티밋 랠리 +GPEJ2Q = 풀 엣지 +GPHD52 = 피트폴: 잃어버린 원정대 +GPHE52 = 피트폴: 잃어버린 원정대 +GPHF52 = 피트폴: 잃어버린 원정대 +GPHP52 = 피트폴: 잃어버린 원정대 +GPIE01 = 피크민 +GPIJ01 = 피크민 +GPIP01 = 피크민 +GPJJCM = 실황 파워풀 프로 야구 10 +GPKE41 = 디즈니의 PK: 그림자 밖으로 +GPLD9G = 피글렛의 빅 게임 +GPLE9G = 피글렛의 빅 게임 +GPLF9G = 피글렛의 빅 게임 +GPLP9G = 피글렛의 빅 게임 +GPMEAF = 팩맨 피버 +GPOE8P = 판타지 스타 온라인 에피소드 I & II +GPOJ8P = 판타지 스타 온라인 에피소드 1 & 2 +GPOP8P = 판타지 스타 온라인 에피소드 I & II +GPPJCM = 실황 파워풀 프로 야구 9 +GPQE6L = 파워퍼프 걸즈: 릴리쉬 램페이지 +GPQP6L = 파워퍼프 걸즈: 릴리쉬 램페이지 +GPRE7U = 당구 파라다이스 +GPRP7U = 당구 파라다이스 +GPSE8P = 판타지 스타 온라인 에피소드 III: 카드 레볼루션 +GPSJ8P = 판타지 스타 온라인 에피소드 III: 카드 레볼루션 +GPSP8P = 판타지 스타 온라인 에피소드 III: 카드 레볼루션 +GPTE41 = 페르시아 왕자: 시간의 모래 +GPTP41 = 페르시아 왕자: 시간의 모래 +GPUE8P = 뿌요 팝 피버 +GPUP8P = 뿌요 팝 피버 +GPVE01 = 피크민 2 +GPVJ01 = 피크민 2 +GPVP01 = 피크민 2 +GPWEAF = 스폰: 아마겟돈 +GPWP69 = 스폰: 아마겟돈 +GPXE01 = 모켓몬 박스: 루비 & 사파이어 +GPXJ01 = 모켓몬 박스: 루비 & 사파이어 +GPXP01 = 모켓몬 박스: 루비 & 사파이어 +GPYJ8P = 뿌요 팝 피버 +GPZJ01 = 닌텐도 퍼즐 컬렉션 +GQ4D78 = 네모바지 스펀지밥: 좌충우돌 대모험 +GQ4E78 = 네모바지 스펀지밥: 좌충우돌 대모험 +GQ4F78 = 네모바지 스펀지밥: 좌충우돌 대모험 +GQ4H78 = 네모바지 스펀지밥: 좌충우돌 대모험 +GQ4P78 = 네모바지 스펀지밥: 좌충우돌 대모험 +GQ8E69 = 매든 NFL 08 +GQAJA7 = 초로 Q! +GQBE51 = NFL 쿼터백 클럽 2002 +GQCD52 = 콜 오브 듀티 2: 빅 레드 원 +GQCE52 = 콜 오브 듀티 2: 빅 레드 원 +GQCF52 = 콜 오브 듀티 2: 빅 레드 원 +GQCI52 = 콜 오브 듀티 2: 빅 레드 원 +GQCP52 = 콜 오브 듀티 2: 빅 레드 원 +GQCS52 = 콜 오브 듀티 2: 빅 레드 원 +GQFFFK = 프랭클린: 깜짝 생일 +GQLE9G = 탐험가 도라: 보라색 행성으로의 여행 +GQLP54 = 탐험가 도라: 보라색 행성으로의 여행 +GQNE5D = 모탈 컴뱃: 디셉션 +GQPE78 = 네모바지 스펀지밥: 비키니 시티의 전쟁 +GQPP78 = 네모바지 스펀지밥: 비키니 시티의 전쟁 +GQQD78 = 네모바지 스펀지밥: 레디액션 +GQQE78 = 네모바지 스펀지밥: 레디액션 +GQQF78 = 네모바지 스펀지밥: 레디액션 +GQQH78 = 네모바지 스펀지밥: 레디액션 +GQQP78 = 네모바지 스펀지밥: 레디액션 +GQRJ18 = 허드슨 셀렉션 볼륨 1: 큐빅 로드 런너 +GQSDAF = 테일즈 오브 심포니아 +GQSEAF = 테일즈 오브 심포니아 +GQSFAF = 테일즈 오브 심포니아 +GQSIAF = 테일즈 오브 심포니아 +GQSPAF = 테일즈 오브 심포니아 +GQSSAF = 테일즈 오브 심포니아 +GQTE4Q = 로빈슨을 만나다 +GQWE69 = 해리포터: 퀴디치 월드컵 +GQWJ13 = 해리포터: 퀴디치 월드컵 +GQWP69 = 해리포터: 퀴디치 월드컵 +GQWX69 = 해리포터: 퀴디치 월드컵 +GQXE69 = 매든 NFL 2004 +GQXP69 = 매든 NFL 2004 +GQZJ01 = 전설의 퀴즈왕 결정전 +GR2E52 = 잃어버린 왕국들 2 +GR2JCQ = 룬 2: 코르텐 열쇠의 비밀 +GR2P52 = 잃어버린 왕국들 2 +GR3E5D = 레드 카드 2003 +GR4EMZ = MC 그루브즈 댄스 크레이즈 +GR4PMZ = MC 그루브즈 댄스 크레이즈 +GR5J1K = 로보캅: 새로운 위기 +GR6D78 = 브라츠: 락 엔젤즈 +GR6E78 = 브라츠: 락 엔젤즈 +GR6F78 = 브라츠: 락 엔젤즈 +GR6P78 = 브라츠: 락 엔젤즈 +GR8D69 = 메달 오브 아너: 라이징 선 +GR8E69 = 메달 오브 아너: 라이징 선 +GR8F69 = 메달 오브 아너: 라이징 선 +GR8P69 = 메달 오브 아너: 라이징 선 +GR9E6L = 화염의 지배 +GR9P6L = 화염의 지배 +GRAE5Z = 랠리 챔피언쉽 +GRAP75 = 랠리 챔피언쉽 +GRBE6S = 로보테크: 배틀크라이 +GRBP6S = 로보테크: 배틀크라이 +GRDP5D = 레드카드 +GREE08 = 메가맨 네트워크 트랜스미션 +GREJ08 = 록맨 에그제 트랜스미션 +GREP08 = 메가맨 네트워크 트랜스미션 +GRFD78 = 레드 팩션 II +GRFE78 = 레드 팩션 II +GRFF78 = 레드 팩션 II +GRFP78 = 레드 팩션 II +GRHE41 = 레이맨 3: 후드럼 하복 +GRHP41 = 레이맨 3: 후드럼 하복 +GRJEAF = R: 레이싱 에볼루션 +GRJJAF = R 레이싱 에볼루션 +GRJP69 = R: 레이싱 +GRKE41 = 록키 +GRKP7G = 록키 +GRLE41 = 프로 랠리 +GRLP41 = 프로 랠리 +GRMJDA = 모노폴리: 노려라!! 백만장자 인생 +GRNE52 = 잃어버린 왕국들 +GRNJCQ = 룬 +GRNP52 = 잃어버린 왕국들 +GROE5Z = 로드 트립: 아케이드 에디션 +GROP7J = 가젯 레이서즈 +GRQE41 = 시티 레이서 +GRRE78 = 러그래츠: 로얄 랜섬 +GRRF78 = 러그래츠: 로얄 랜섬 +GRRP78 = 러그래츠: 로얄 랜섬 +GRSEAF = 소울칼리버 II +GRSJAF = 소울칼리버 II +GRSPAF = 소울칼리버 II +GRUE78 = 파워 레인져스 다이노 썬더 +GRUF78 = 파워 레인져스 다이노 썬더 +GRUP78 = 파워 레인져스 다이노 썬더 +GRVEA4 = 레이브 마스터 +GRVJA4 = 그루브 어드벤처 레이브: 파이팅 라이브 +GRWJD9 = 슈퍼 로봇 대전 GC +GRYE41 = 레이맨 아레나 +GRZJ13 = 메달 오브 아너: 라이징 선 +GS2D78 = 소환사: 여신 환생 +GS2E78 = 소환사: 여신 환생 +GS2F78 = 소환사: 여신 환생 +GS2P78 = 소환사: 여신 환생 +GS3E51 = SX 슈퍼스타 +GS3P51 = SX 슈퍼스타즈 +GS7E5D = MLB 슬러그페스트 2004 +GS8E7D = 스파이로: 잠자리 진입 +GS8P7D = 스파이로: 잠자리 진입 +GS9E6S = 슈렉 엑스트라 라지 +GS9P6S = 슈렉 엑스트라 라지 +GSAE01 = 스타 폭스 어드벤처즈 +GSAJ01 = 스타 폭스 어드벤처즈 +GSAP01 = 스타 폭스 어드벤처즈 +GSBJ8P = 소닉 어드벤처: 배틀 +GSCE51 = 제레미 맥그래스 슈퍼크로스 월드 +GSCP51 = 제레미 맥그래스 슈퍼크로스 월드 +GSDEAF = 스매싱 드라이브 +GSEJB2 = 샤먼 킹: 소울 파이트 +GSGE5D = MLB 슬러그페스트 2003 +GSHE5D = 스파이헌터 +GSHP5D = 스파이헌터 +GSKE7D = 스콜피온 킹: 아카드의 부활 +GSKP7D = 스콜피온 킹: 아카드의 부활 +GSMD52 = 스파이더맨 +GSME52 = 스파이더맨: 영화 +GSMF52 = 스파이더맨 +GSMJ08 = 스파이더맨: 영화 +GSMP52 = 스파이더맨 +GSNE8P = 소닉 어드벤처 2: 배틀 +GSNP8P = 소닉 어드벤처 2: 배틀 +GSOE8P = 소닉 메가 컬렉션 +GSOJ8P = 소닉 메가 컬렉션 +GSOP8P = 소닉 메가 컬렉션 +GSPE69 = 심슨 가족: 로드 레이지 +GSPP69 = 심슨 가족: 로드 레이지 +GSQE78 = 네모바지 스펀지밥: 플라잉 더치맨의 복수 +GSQP78 = 네모바지 스펀지밥: 플라잉 더치맨의 복수 +GSRE7S = 밀수업자의 질주: 전장 +GSRP7S = 밀수업자의 질주: 전장 +GSSE8P = 세가 축구 슬램 +GSSJ8P = 세가 축구 슬램 +GSSP8P = 세가 축구 슬램 +GSTE69 = SSX 트릭키 +GSTJ13 = SSX 트릭키 +GSTP69 = SSX 트릭키 +GSUE70 = 슈퍼맨: 아포콜립스의 그림자 +GSUP70 = 슈퍼맨: 아포콜립스의 그림자 +GSVE78 = MX 슈퍼플라이 피쳐링 리키 카마이클 +GSVP78 = MX 슈퍼플라이 피쳐링 리키 카마이클 +GSWD64 = 스타 워즈 로그 리더: 로그 스쿼드론 II +GSWE64 = 스타 워즈 로그 스쿼드론 II: 로그 리더 +GSWF64 = 스타 워즈 로그 스쿼드론 II: 로그 리더 +GSWI64 = 스타 워즈 로그 스쿼드론 II: 로그 리더 +GSWJ13 = 스타 워즈 로그 스쿼드론 II +GSWP64 = 스타 워즈 로그 스쿼드론 II: 로그 리더 +GSWS64 = 스타 워즈 로그 리더: 로그 스쿼드론 II +GSXD64 = 스타 워즈: 클론 전쟁 +GSXE64 = 스타 워즈: 클론 전쟁 +GSXF64 = 스타 워즈: 클론 전쟁 +GSXI64 = 스타 워즈: 클론 전쟁 +GSXJ13 = 스타 워즈: 클론 전쟁 +GSXP64 = 스타 워즈: 클론 전쟁 +GSXS64 = 스타 워즈: 클론 전쟁 +GSYE6S = 슈렉: 슈퍼 파티 +GSYP6S = 슈렉: 슈퍼 파티 +GSZP41 = 스피드 챌린지: 자크 빌르너브 레이싱 비전 +GT2J18 = 천외마경 II 만환 +GT3D52 = 토니 호크의 프로 스케이터 3 +GT3E52 = 토니 호크의 프로 스케이터 3 +GT3F52 = 토니 호크의 프로 스케이터 3 +GT3J52 = 토니 호크의 프로 스케이터 3 +GT3P52 = 토니 호크의 프로 스케이터 3 +GT4D52 = 토니 호크의 프로 스케이터 4 +GT4E52 = 토니 호크의 프로 스케이터 4 +GT4F52 = 토니 호크의 프로 스케이터 4 +GT4P52 = 토니 호크의 프로 스케이터 4 +GT5E7N = 스타스키와 허치 +GT5P7N = 스타스키와 허치 +GT6E70 = 터미네이터 3: 구원 +GT6J70 = 터미네이터 3: 구원 +GT6P70 = 터미네이터 3: 구원 +GT7E41 = 톰 클랜시의 스플린터 셀: 판도라 투모로우 +GT7P41 = 톰 클랜시의 스플린터 셀: 판도라 투모로우 +GT7X41 = 톰 클랜시의 스플린터 셀: 판도라 투모로우 +GT8E78 = 빅 무타 트럭커즈 +GT8P7N = 빅 무타 트럭커즈 +GTAE5S = 탑 앵글러: 리얼 배스 낚시 +GTAP5S = 탑 앵글러: 리얼 배스 낚시 +GTBJC0 = NHK 천재 비트군: 그라몬 배틀 +GTCJBL = GT 큐브 +GTDE52 = 토니 호크의 언더그라운드 +GTDP52 = 토니 호크의 언더그라운드 +GTEE01 = 1080° 애벌랜츠 +GTEJ01 = 1080° 은빛 폭풍 +GTEP01 = 1080° 애벌랜츠 +GTFEA4 = 돌연변이 닌자 거북 +GTFPA4 = 돌연변이 닌자 거북 +GTGE60 = 탑 건: 교전 지역 +GTGJ1K = 탑 건: 하늘의 에이스 +GTGP60 = 탑 건: 교전 지역 +GTHJD9 = 자전거 영웅 +GTIE69 = 타이거 우즈 PGA 투어 2003 +GTIP69 = 타이거 우즈 PGA 투어 2003 +GTJE5L = 수염 전쟁 톰과 제리 +GTKD51 = 튜록 에볼루션 +GTKE51 = 튜록 에볼루션 +GTKP51 = 튜록 에볼루션 +GTLE52 = 진정한 범죄: LA의 거리들 +GTLP52 = 진정한 범죄: LA의 거리들 +GTLX52 = 진정한 범죄: LA의 거리들 +GTMJDA = 무쯔와 유유자적 +GTNJ18 = 허드슨 셀렉션 볼륨 4 타카하시 명인의 모험도 +GTOJAF = 테일즈 오브 심포니아 +GTPP6S = 성전 기사단: 지옥의 성전 +GTQE6S = 톤카: 구조 순찰대 +GTRE78 = 테트리스 월드 +GTRJ8N = 테트리스 월드 +GTRP78 = 테트리스 월드 +GTSE4F = 타임스플리터즈 2 +GTSP4F = 타임스플리터즈 2 +GTUE8G = 튜브 슬라이더: 퓨처 포뮬라 챔피언쉽 +GTVE70 = 트랜스월드 서프: 다음 파도 +GTWE70 = 타즈 원티드 +GTWP70 = 타즈 원티드 +GTYE69 = 타이 더 태즈메이니언 타이거 +GTYP69 = 타이 더 태즈메이니언 타이거 +GTZE41 = 타잔 언테임드 +GTZP41 = 타잔 프리라이드 +GU2D78 = 2 합 1: 인크레더블 / 니모를 찾아서 +GU2F78 = 2 합 1: 인크레더블 / 니모를 찾아서 +GU3D78 = 2 합 1: 보글보글 스폰지 밥 / 탁 2: 꿈의 주주 +GU3X78 = 2 합 1: 보글보글 스폰지 밥 / 탁 2: 꿈의 주주 +GU4Y78 = 2 합 1: 보글보글 스폰지 밥 / 비키니 시티의 전쟁 +GU6E78 = 닉툰즈: 화산섬 전쟁 +GUBE69 = 도시의 심즈 +GUBJ13 = 도시의 심즈 +GUBP69 = 도시의 심즈 +GUCD69 = UEFA 챔피언즈 리그 2004-2005 +GUCF69 = UEFA 챔피언즈 리그 2004-2005 +GUCP69 = UEFA 챔피언즈 리그 2004-2005 +GUFE4Z = 얼티밋 파이팅 챔피언쉽 스로우다운 +GUFJ08 = UFC2 탭아웃 파이널 스펙 +GUFP4Z = UFC: 스로우다운 +GUGD69 = 니드 포 스피드: 언더그라운드 2 +GUGE69 = 니드 포 스피드: 언더그라운드 2 +GUGF69 = 니드 포 스피드: 언더그라운드 2 +GUGP69 = 니드 포 스피드: 언더그라운드 2 +GUMD52 = 건 +GUME52 = 건 +GUMP52 = 건 +GUNE5D = 건틀렛: 검은 유산 +GUNP5D = 건틀렛: 검은 유산 +GUPE8P = 섀도우 더 헤지혹 +GUPJ8P = 섀도우 더 헤지혹 +GUPP8P = 섀도우 더 헤지혹 +GUSE7F = 유니버설 스튜디오즈 테마 파크 어드벤처 +GUSJ28 = 유니버설 스튜디오즈 재팬 어드벤처 +GUSP7F = 유니버설 스튜디오즈 테마 파크 어드벤처 +GUTD52 = 얼티밋 스파이더맨 +GUTE52 = 얼티밋 스파이더맨 +GUTF52 = 얼티밋 스파이더맨 +GUTI52 = 얼티밋 스파이더맨 +GUTJC0 = 얼티밋 스파이더맨 +GUTP52 = 얼티밋 스파이더맨 +GUTS52 = 얼티밋 스파이더맨 +GUVE51 = 프리스타일 스트리트 싸커 +GUVP51 = 어반 프리스타일 축구 +GUZE41 = 배트맨: 신주의 부활 +GUZP41 = 배트맨: 신주의 부활 +GV3J70 = V-랠리 3 +GV3P70 = V-랠리 3 +GV4E69 = MVP 야구 2005 +GVCE08 = 뷰티풀 조: 레드 핫 럼블 +GVCJ08 = 뷰티풀 조: 배틀 카니발 +GVCP08 = 뷰티풀 조: 레드 핫 럼블 +GVDE78 = 브라츠 포에버 다이아몬드즈 +GVDP78 = 브라츠 포에버 다이아몬드즈 +GVFJ08 = 뷰티풀 조 리바이블 +GVHE4F = 바이오니클 히어로즈 +GVJE08 = 뷰티풀 죠 +GVJJ08 = 뷰티풀 조 +GVJP08 = 뷰티풀 조 +GVKE52 = 카벨라의 위험한 사냥 2 +GVLD69 = 마벨 네메시스: 불완전한 자들의 부활 +GVLE69 = 마벨 네메시스: 불완전한 자들의 부활 +GVLF69 = 마벨 네메시스: 불완전한 자들의 부활 +GVLP69 = 마벨 네메시스: 불완전한 자들의 부활 +GVMP41 = 슈퍼 버스트-어-무브 올 스타즈 +GVOE69 = 바이오니클 +GVOP69 = 바이오니클 +GVPE69 = MVP 야구 2004 +GVRE7H = 그루브라이더 슬롯 카 썬더 +GVS45E = 버추어 스트라이커 4 +GVSE8P = 버추어 스트라이커 2002 +GVSJ8P = 버추어 스트라이커 3 버전.2002 +GVSP8P = 버추어 스트라이커 3 버전.2002 +GVWJDQ = 학원도시 바라노와르 로제스 +GW2E78 = WWE 심판의 날 2 +GW2P78 = WWE 심판의 날 2 +GW3E78 = WWE 레슬매니아 X8 +GW3JG2 = WWE 레슬매니아 X8 +GW3P78 = WWE 레슬매니아 X8 +GW4E69 = 타이거 우즈 PGA 투어 2004 +GW4P69 = 타이거 우즈 PGA 투어 2004 +GW5D69 = 니드 포 스피드: 카본 +GW5E69 = 니드 포 스피드: 카본 +GW5F69 = 니드 포 스피드: 카본 +GW5P69 = 니드 포 스피드: 카본 +GW6JEM = 위닝 일레븐 6 파이널 에볼루션 +GW7D69 = 제임스 본드 007 에이전트 언더 파이어 +GW7E69 = 제임스 본드 007 에이전트 언더 파이어 +GW7F69 = 제임스 본드 007 에이전트 언더 파이어 +GW7P69 = 제임스 본드 007 에이전트 언더 파이어 +GW8E52 = 포커 월드 시리즈 +GW9E78 = WWE 레슬매니아 XIX +GW9JG2 = WWE 레슬매니아 XIX +GW9P78 = WWE 레슬매니아 XIX +GWAD8P = 스파르탄: 토탈 워리어 +GWAE8P = 스파르탄: 토탈 워리어 +GWAF8P = 스파르탄: 토탈 워리어 +GWAP8P = 스파르탄: 토탈 워리어 +GWBE41 = 웜즈 블래스트 +GWBP41 = 웜즈 블래스트 +GWDP6S = 월드 레이싱 +GWEE51 = 18 휠러: 어메리칸 프로 트러커 +GWEJB0 = 18 휠러: 어메리칸 프로 트러커 +GWEP8P = 18 휠러: 어메리칸 프로 트러커 +GWGE4F = 왁자지껄 골프 +GWGJ4F = 왁자지껄 골프 +GWGP4F = 왁자지껄 골프 +GWHE41 = 곰돌이 푸의 좌충우돌 모험 +GWHP41 = 곰돌이 푸의 좌충우돌 모험 +GWJE52 = 토니 호크의 아메리칸 웨이스트랜드 +GWKE41 = 피터 잭슨의 킹 콩: 영화의 공식 게임 +GWKP41 = 피터 잭슨의 킹 콩: 영화의 공식 게임 +GWLE6L = 월리스와 그로밋: 프로젝트 동물원 +GWLP6L = 월리스와 그로밋: 프로젝트 동물원 +GWLX6L = 월리스와 그로밋: 프로젝트 동물원 +GWME51 = 웜즈 3D +GWMP8P = 웜즈 3D +GWPE78 = WWE 심판의 날 +GWPJG2 = WWE 심판의 날 +GWPP78 = WWE 심판의 날 +GWQE52 = 렉크레스: 야쿠자 미션즈 +GWQP52 = 렉크레스: 야쿠자 미션즈 +GWRE01 = 웨이브 레이스: 푸른 폭풍 +GWRJ01 = 웨이브 레이스: 푸른 폭풍 +GWRP01 = 웨이브 레이스: 푸른 폭풍 +GWSEA4 = ESPN 인터내셔널 동계 스포츠 2002 +GWSJA4 = 하이퍼 스포츠 2002 동계 +GWSPA4 = ESPN 인터내셔널 동계 스포츠 +GWTEA4 = WTA 프로 테니스 +GWTJA4 = WTA 투어 테니스 프로 에볼루션 +GWTPA4 = 프로 테니스 WTA 투어 +GWUE7D = 소용돌이 여행 +GWUP7D = 소용돌이 여행 +GWVE52 = 엑스맨 2: 울버린의 복수 +GWVP52 = 엑스맨 2: 울버린의 복수 +GWVX52 = 엑스맨 2: 울버린의 복수 +GWWE01 = 와리오 월드 +GWWJ01 = 와리오 월드 +GWWP01 = 와리오 월드 +GWXJ13 = 스타워즈 로그 스쿼드론 III: 반란군 스트라이크 +GWYE41 = 톰 클랜시의 스플린터 셀: 더블 에이전트 +GWYX41 = 톰 클랜시의 스플린터 셀: 더블 에이전트 +GWZE01 = 댄스 댄스 레볼루션: 마리오 믹스 +GWZJ01 = 마리오와 함께하는 댄스 댄스 레볼루션 +GWZP01 = 댄싱 스테이지 마리오 믹스 +GX2D52 = 엑스맨 레전드즈 II: 아포칼립스의 부활 +GX2E52 = 엑스맨 레전드즈 II: 아포칼립스의 부활 +GX2P52 = 엑스맨 레전드즈 II: 아포칼립스의 부활 +GX2S52 = 엑스맨 레전드즈 II: 아포칼립스의 부활 +GXAE51 = XGRA 익스트림 G 레이싱 협회 +GXAP51 = XGRA 익스트림 G 레이싱 협회 +GXCE01 = 커스텀 로보 +GXCJ01 = 커스텀 로보: 배틀 레볼루션 +GXEE8P = 소닉 라이더즈 +GXEJ8P = 소닉 라이더즈 +GXEP8P = 소닉 라이더즈 +GXFD69 = 피파 축구 2004 +GXFE69 = 피파 축구 2004 +GXFF69 = 피파 축구 2004 +GXFI69 = 피파 축구 2004 +GXFP69 = 피파 축구 2004 +GXFS69 = 피파 축구 2004 +GXGE08 = 메가맨 X 컬렉션 +GXLE52 = 엑스맨 레전드즈 +GXLP52 = 엑스맨 레전드즈 +GXLX52 = 엑스맨 레전드즈 +GXME52 = 엑스맨: 넥스트 디멘젼 +GXMP52 = 엑스맨: 넥스트 디멘젼 +GXNE5D = 램페이지: 토탈 디스트럭션 +GXOE69 = SSX 온 투어 +GXOJ13 = 마리오와 함께하는 SSX 온 투어 +GXOP69 = SSX 온 투어 +GXOX69 = SSX 온 투어 +GXPE78 = 스핑크스와 저주받은 미이라 +GXPP78 = 스핑크스와 저주받은 미이라 +GXQF41 = 택시 3 +GXRE08 = 메가맨 X: 커맨드 미션 +GXRJ08 = 록맨 X: 커맨드 미션 +GXRP08 = 메가맨 X: 커맨드 미션 +GXSE8P = 소닉 어드벤처 DX: 감독판 +GXSP8P = 소닉 어드벤처 DX: 디렉터 컷 +GXUE41 = 서핑 업 +GXXE01 = 포켓몬 XD: 어둠의 선풍 다크 루기아 +GXXJ01 = 포켓몬 XD: 어둠의 선풍 다크 루기아 +GXXP01 = 포켓몬 XD: 어둠의 선풍 다크 루기아 +GY2E01 = 동키 콩가 2 +GY2J01 = 동키 콩가 2 히트 송 퍼레이드 +GY2P01 = 동키 콩가 2 +GY3J01 = 동키 콩가 3 뷔페! 봄맞이 50곡 +GYAD78 = 신나는 동물농장 +GYAE78 = 신나는 동물농장 +GYAP78 = 신나는 동물농장 +GYAX78 = 신나는 동물농장 +GYBE01 = 동키 콩: 정글 비트 +GYBJ01 = 동키 콩 정글 비트 +GYBP01 = 동키 콩: 정글 비트 +GYFEA4 = 유희왕! 허구에 갇힌 왕국 +GYFJA4 = 유희왕! 허구에 갇힌 왕국 +GYFPA4 = 유희왕! 허구에 갇힌 왕국 +GYKEB2 = 금색의 갓슈!! 우정 태그 배틀 2 +GYKJB2 = 금색의 갓슈!! 우정 태그 배틀 2 +GYMJA4 = 실황 파워풀 메이저 리그 +GYQE01 = 마리오 슈퍼스타즈 야구 +GYQJ01 = 슈퍼 마리오 스테이디움 기적의 야구 +GYQP01 = 마리오 슈퍼스타즈 야구 +GYRE41 = 돌연변이 닌자 거북 +GYRP41 = 돌연변이 닌자 거북 +GYTE69 = 타이 더 태즈메이니언 타이거 2: 부쉬 구조대 +GYTP69 = 타이 더 태즈메이니언 타이거 2: 부쉬 구조대 +GYWDE9 = 하베스트 문: 멋진 인생 +GYWEE9 = 하베스트 문: 멋진 인생 +GYWJ99 = 목장 이야기: 멋진 인생 +GYWPE9 = 하베스트 문: 멋진 인생 +GZ2E01 = 젤다의 전설: 황혼의 공주 +GZ2J01 = 젤다의 전설: 황혼의 공주 +GZ2P01 = 젤다의 전설: 황혼의 공주 +GZ3E70 = 드래곤 볼 Z: 격투 천하제일 무도회 2 +GZ3PB2 = 드래곤 볼 Z: 격투 천하제일 무도회 2 +GZBJB2 = 드래곤 볼 Z +GZCE51 = 주큐브 +GZCJB0 = 주큐브 +GZCP51 = 주큐브 +GZDE70 = 고질라: 괴수대난투 +GZDJ70 = 고질라: 괴수대난투 +GZDP70 = 고질라: 괴수대난투 +GZEE70 = 드래곤 볼 Z: 사가스 +GZFJBP = 격추전기 - 제로 파이터 +GZHJDA = 조이드 풀 메탈 크래쉬 +GZLE01 = 젤다의 전설: 바람의 택트 +GZLJ01 = 젤다의 전설: 바람의 지휘봉 +GZLP01 = 젤다의 전설: 바람의 택트 +GZMP7D = 버트 어글리 마틴즈: 줌 오어 둠 +GZOJDA = 조이드 vs. +GZPE70 = 재퍼: 사악한 귀뚜라미! +GZPP70 = 재퍼: 사악한 귀뚜라미! +GZQE7D = 로봇 +GZQJ7D = 로봇 +GZQP7D = 로봇 +GZSE70 = 조이드 전투 전설들 +GZSJDA = 조이드 vs. II +GZVJDA = 조이드 vs. III +GZWE01 = 와리오 웨어 Inc.: 메가 파티 게임$! +GZWJ01 = 모여라!! 메이드 인 와리오 +GZWP01 = 와리오 웨어 Inc.: 메가 파티 게임$! +P2ME01 = 메트로이드 프라임 2: 메아리 (보너스 디스크) +P4BJ08 = 바이오하자드 4 체험판 +PC6E01 = 포켓몬 콜로세움 보너스 디스크 +PCKJ01 = 포켓몬 콜로세움: 확장 디스크 (보너스 디스크) +PCSJ01 = 포켓몬 콜로세움 보너스 디스크 +PD5JB2 = 드래곤 드라이브: D-마스터즈 샷 (애니메 디스크) +PGPJB2 = SD 건담 가챠폰 워즈 체험판 +PGSJ01 = 메탈 기어 솔리드 - 트윈 스네이크즈 - 스페셜 디스크 +PHEJ91 = 홈랜드 테스트 디스크 +PKBJ01 = 드루아가의 탑 +PM4E01 = 마리오 카트: 더블 대쉬!! 보너스 디스크 +PNRJ01 = 나루토 컬렉션 체험판 +PRJE01 = 팩맨 vs. +PRJJ01 = 팩맨 vs. +PRJP01 = 팩맨 vs. +PZLE01 = 젤다의 전설: 컬렉터즈 에디션 +PZLJ01 = 젤다 컬렉션 +PZLP01 = 젤다의 전설: 컬렉터즈 에디션 +UGPE01 = 게임 보이 플레이어 +UGPJ01 = 게임 보이 플레이어 +UGPP01 = 게임 보이 플레이어 diff --git a/Data/Sys/wiitdb-nl.txt b/Data/Sys/wiitdb-nl.txt index 6431e23650..37841e73a7 100644 --- a/Data/Sys/wiitdb-nl.txt +++ b/Data/Sys/wiitdb-nl.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: NL_unique version: 20191106234309) R23P52 = Barbie en De Drie Musketiers R25PWR = LEGO Harry Potter: Jaren 1-4 R27X54 = Dora redt het Land van Kristal @@ -17,6 +16,7 @@ R55P41 = Weekend Miljonairs 1e Editie R5FP41 = Academy of Champions R5PP69 = Harry Potter en de Orde van de Feniks R5PX69 = Harry Potter en de Orde van de Feniks +R5XJ13 = MySims Agents R6XP69 = Hasbro: Familie Spellen Avond 2 R72P5G = Cake Mania: In The Mix! R7YFMR = Peking Express @@ -65,7 +65,6 @@ RHNP70 = My Horse and Me RHZP41 = Horsez: Plezier op de manege RI2P4Q = High School Musical: Sing It! RIGP54 = Go, Diego, Go! Het Grote Dinosaurus Avontuur -RIPPAF = One Piece Unlimited Cruise 1 - The Treasure Beneath the Waves RIQPUJ = Dansen op het ijs RJ9HMN = Think: Train je Brein RJDPKM = Mijn Dierenkliniek @@ -198,6 +197,7 @@ STOP4Q = Cars Toon: Takel's Sterke Verhalen STYP52 = Tony Hawk : Shred SVDP52 = SpongeBob Squarepants: Plankton's Robotic Revenge SVMP01 = Super Mario All-Stars : 25th Anniversary Edition +SVQEVZ = Barbie En Haar Zusjes In Het Grote Puppy Avontuur SVQPVZ = Barbie En Haar Zusjes In Het Grote Puppy Avontuur SVZPVZ = Hoe Tem Je Een Draak 2 CG1P52 = Guitar Hero III Custom : Guitar Hero I @@ -224,15 +224,19 @@ HAAA = Fotokanaal HADP = Internetkanaal HAFP = Weerkanaal HAGP = Nieuwskanaal +HAPP = Check Mii Out Channel HAYA = Fotokanaal G4BP08 = Resident Evil 4: Wii Edition G4CP54 = Sjakie en chocolade G4MP69 = De Sims: Erop uit! +G4OP69 = De Sims 2: Huisdieren G4ZP69 = De Sims 2 GAZH69 = Harry Potter en de gevangene van Azkaban GF4H52 = Fantastic Four™ and ©2005 GH4H69 = Harry Potter en de Vuurbeker +GHSP69 = Harry Potter en de Geheime Kamer GIQX78 = The Incredibles: De opkomst van De Ondermijner -GQQH78 = Nickelodeon SpongeBob Squarepants: Licht uit, Camera aan! +GQQH78 = SpongeBob SquarePants: Licht uit, Camera aan! GQWP69 = Harry Potter: WK Zwerkbal +GUBP69 = De Urbz: Sims in the City GWHP41 = Winnie de Poeh en het Knaagje in zijn Maagje diff --git a/Data/Sys/wiitdb-pt.txt b/Data/Sys/wiitdb-pt.txt index 5823881fde..c17de8839f 100644 --- a/Data/Sys/wiitdb-pt.txt +++ b/Data/Sys/wiitdb-pt.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: PT_unique version: 20191106234316) R42P69 = Os SIMS 2: Naufragos R43P69 = EA Sports Active R4PP69 = Os SIMS 2: Animais de Estimação @@ -6,7 +5,9 @@ R5AP8P = A Bússola Dourada R5AX8P = A Bússola Dourada R5PP69 = Harry Potter e a Ordem da Fénix R5PX69 = Harry Potter e a Ordem da Fénix +R5XJ13 = MySims Agents R6XP69 = Hasbro Family Game Night 2 +RBYJ78 = Barnyard RBYP78 = Balbúrdia Na Quinta RCAP78 = Carros RCAX78 = Carros @@ -15,6 +16,7 @@ RG6P69 = Boogie Superstar RGQP70 = Os Caça-Fantasmas: O Vídeo Jogo RH6P69 = Harry Potter e o Príncipe Misterioso RHNP70 = O meu Cavalo e eu +RJ2JGD = 007: Quantum of Solace RL7P69 = Littlest Pet Shop: Novos Amigos RLWP78 = Ratatui RLWX78 = Ratatui @@ -32,7 +34,34 @@ RZRPGT = Destiny Of Zorro SERF4Q = Disney Epic Mickey 2: O Regresso dos Heróis SERP4Q = Disney Epic Mickey 2: O Regresso dos Heróis SHDP52 = Como Treinares o teu Dragão +GMSE02 = Super Mario Sunshine Multijogador PT2PSI = SingIt Portugal Hits Festa de Verão +WA4P = _D.I.Y. Showcase +WN9J = Military Madness: Nectaris +WOTP = Overturn +WRXJ = Mega Man 10 +WZIP = Rubik's Puzzle Galaxy RUSH HAAA = Canal Photo HAYA = Canal Photo +GAXE5D = Lucas: Um Intruso no Formigueiro +GAZD69 = Harry Potter e o Prisoneiro de Azkaban +GAZE69 = Harry Potter e o Prisoneiro de Azkaban +GAZF69 = Harry Potter e o Prisoneiro de Azkaban +GAZH69 = Harry Potter e o Prisoneiro de Azkaban +GAZI69 = Harry Potter e o Prisoneiro de Azkaban +GAZJ13 = Harry Potter e o Prisoneiro de Azkaban +GAZM69 = Harry Potter e o Prisoneiro de Azkaban +GAZP69 = Harry Potter e o Prisoneiro de Azkaban +GAZS69 = Harry Potter e o Prisoneiro de Azkaban +GB4E51 = Burnout 2: Ponto de Impacto +GB4P51 = Burnout 2: Ponto de Impacto +GEDJ01 = Eternal Darkness: Sanity's Requiem +GENP69 = 007: Everything Or Nothing +GFEJ01 = Fire Emblem: Path of Radiance GHSX69 = Harry Potter e a Câmara dos Segredos +GW7E69 = 007: Agent Under Fire +GW7F69 = 007: Agent Under Fire +GW7P69 = 007: Agent Under Fire +GXFF69 = FIFA Footeball 2004 +GXFI69 = FIFA Footeball 2004 +GXFP69 = FIFA Football diff --git a/Data/Sys/wiitdb-ru.txt b/Data/Sys/wiitdb-ru.txt index 154ab8ec4e..471cca65f9 100644 --- a/Data/Sys/wiitdb-ru.txt +++ b/Data/Sys/wiitdb-ru.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: RU_unique version: 20191106234325) R5IR4Q = История игрушек: Парк развлечений RN4P41 = Anno: Create A New World RWAR78 = Валл-И @@ -8,3 +7,5 @@ RYBP69 = BOOM BLOX Bash Party SFDPAF = 家庭训练机 梦幻主题乐园(欧) SP5E70 = 恶徒 来自地底的侵略者(美) STNP41 = Приключения Тинтина: Тайна Единорога +GMSE02 = Супер Марио Саншайн Мультиплеер +G3EP51 = XGIII: 익스트림 G 레이싱 diff --git a/Data/Sys/wiitdb-zh_CN.txt b/Data/Sys/wiitdb-zh_CN.txt index ff68c32d85..fcbf9ec075 100644 --- a/Data/Sys/wiitdb-zh_CN.txt +++ b/Data/Sys/wiitdb-zh_CN.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: ZHCN_unique version: 20191106234333) 410E01 = Wii 备份盘 v1.31(美) D2AJAF = 运动生活 探险家 试玩版(日) D2SE18 = 德卡运动会2 试玩版(美) @@ -1305,7 +1304,6 @@ RMVE69 = 荣誉勋章 先遣部队(美) RMVP69 = 荣誉勋章 先遣部队(欧) RMVX69 = 荣誉勋章 先遣部队(X) RMWE20 = M&M巧克力卡丁赛车(美) -RMWP20 = M&M巧克力卡丁赛车(欧) RMXE78 = 极限越野 突破[WiFi](美) RMXF78 = 极限越野 突破[WiFi](法) RMXP78 = 极限越野 突破[WiFi](欧) @@ -1791,7 +1789,7 @@ RTFK52 = 变形金刚 游戏(韩) RTFP52 = 变形金刚 游戏(欧) RTFX52 = 变形金刚 游戏(X) RTFY52 = 变形金刚 游戏(Y) -RTGJ18 = Wi-Fi对应 严选桌面游戏[WiFi](日) +RTGJ18 = 严选桌面游戏 Wii RTHE52 = 托尼霍克滑板 下坡.(美) RTHP52 = 托尼霍克滑板(欧) RTIE8P = 古怪运动世界(美) @@ -2121,6 +2119,7 @@ RY6EA4 = 去户外吧[平衡板][跳舞毯](美) RY6PA4 = 节拍漫步[平衡板][跳舞毯](欧) RY7PHZ = 忍者首领(欧) RY8EFS = 巴斯专业店 鱼饵(美) +RY9E69 = FIFA足球09[WiFi](美) RYAJDA = 小双侠Wii 噗通噗通大赛车(日) RYBE69 = 轰炸方块 猛击聚会[WiFi](美) RYBP69 = 轰炸方块 猛击聚会[WiFi](欧) @@ -2871,7 +2870,6 @@ SNJP69 = NBA嘉年华(欧) SNKP54 = 尼克罗顿健身[平衡板](欧) SNKX54 = 尼克罗顿健身[平衡板](欧) SNLE54 = 尼克罗顿舞蹈(美) -SNLP54 = 尼克罗顿舞蹈(欧) SNLX54 = 尼克罗顿舞蹈(欧) SNMEAF = Namco博物馆 重制版(美) SNQE7U = 国家地理大挑战(美) @@ -3339,6 +3337,7 @@ DRP22Q = 自制 唱吧 下载版(欧) DUCE01 = 自制 马里奥赛车Wii(美) DUDE01 = 自制 新史酷比马里奥兄弟(美) FF4ENG = 自制 零月蚀之假面(美) +GMSE02 = 超級馬里奧陽光多人遊戲 HBWE01 = 自制 超级马里奥兄弟Wii 地狱男爵版(美) KMKE01 = 自制 马里奥赛车Wii(美) L40P4Q = 自制 唱吧 下载版(欧) @@ -3669,7 +3668,6 @@ JCBE = 超级玛利奥RPG(美) JCBM = 超级玛利奥RPG(欧) JCKE = 太空侵略者(美) JCKP = 太空侵略者(欧) -JCUE = 飞行俱乐部(美) JCVP = 飞行俱乐部(欧) JCWE = 超级马里奥赛车(美) JCWP = 超级马里奥赛车(欧) @@ -3726,9 +3724,6 @@ HAPE = Check Mii Out频道(美) HAPP = Check Mii Out频道(欧) HAYA = 照片频道 HCLE = Netflix系统安装盘(美) -JODI = 自制频道(欧) -LULZ = 自制频道(欧) -OHBC = 自制频道(欧) 9XGX = SNES9x超任模拟器(美) D64A = 任天堂N64模拟器(欧) DCRA = 都市打靶(欧) @@ -3758,9 +3753,10 @@ DWMA = Wad管理器 v1.5(美) DWRA = Wii电台(美) DWXA = Wii资源管理器(欧) FCEU = FCE Ultra任天堂FC模拟器(欧) +JODI = 自制频道(欧) +LULZ = 自制频道(欧) +OHBC = 自制频道(欧) VBGX = VBA模拟器(欧) G4ME69 = The Sims: Bustin' Out -G4OE69 = The Sims 2: Pets -G4OP69 = The Sims 2: Pets G8MP01 = Paper Mario: The Thousand-year Door GBHJC8 = 战斗封神 diff --git a/Data/Sys/wiitdb-zh_TW.txt b/Data/Sys/wiitdb-zh_TW.txt index 4d5ad538ec..09153469e7 100644 --- a/Data/Sys/wiitdb-zh_TW.txt +++ b/Data/Sys/wiitdb-zh_TW.txt @@ -1,4 +1,3 @@ -TITLES = https://www.gametdb.com (type: Wii language: ZHTW_unique version: 20191106234341) 410E01 = Wii 備份光碟 v1.31(美) D2AJAF = 運動生活 探險家 試玩版(日) D2SE18 = 運動大集錦2 試玩版(美) @@ -1305,7 +1304,6 @@ RMVE69 = 榮譽勳章 先遣部隊(美) RMVP69 = 榮譽勛章 先遣部隊(歐) RMVX69 = 榮譽勛章 先遣部隊(X) RMWE20 = M&M's巧克力豆卡丁賽車(美) -RMWP20 = M&M's巧克力豆卡丁賽車(歐) RMXE78 = 極限越野 突破[WiFi](美) RMXF78 = 極限越野 突破[WiFi](法) RMXP78 = 極限越野 突破[WiFi](歐) @@ -1791,7 +1789,7 @@ RTFK52 = 變形金剛(韓) RTFP52 = 變形金剛(歐) RTFX52 = 變形金剛(X) RTFY52 = 變形金剛(Y) -RTGJ18 = Wi-Fi對應 嚴選桌面遊戲[WiFi](日) +RTGJ18 = 嚴選桌面遊戲 Wii RTHE52 = 托尼霍克滑板(美) RTHP52 = 托尼霍克滑板(歐) RTIE8P = 古怪世界運動會(美) @@ -2121,6 +2119,7 @@ RY6EA4 = 去戶外吧[平衡板](美) RY6PA4 = 節拍漫步(歐) RY7PHZ = 忍者首領(歐) RY8EFS = 巴斯專業店 魚餌(美) +RY9E69 = FIFA足球09[WiFi](美) RYAJDA = 正義雙俠Wii 驚奇機械大競速(日) RYBE69 = 轟炸方塊 猛擊聚會[WiFi](美) RYBP69 = 轟炸方塊 猛擊聚會[WiFi](歐) @@ -2867,7 +2866,6 @@ SNJP69 = NBA JAM(歐) SNKP54 = 尼克羅頓健身[平衡板](歐) SNKX54 = 尼克羅頓健身[平衡板](歐) SNLE54 = 尼克羅頓舞蹈(美) -SNLP54 = 尼克羅頓舞蹈(歐) SNLX54 = 尼克羅頓舞蹈(歐) SNMEAF = 拿姆科博物館 經典合集(美) SNQE7U = 國家地理大挑戰(美) @@ -3279,6 +3277,7 @@ DMSP4Q = 迪斯尼電影 想唱就唱(歐) DQAJSC = 水瓶座棒球 (猫星汉化版) DRP22Q = 自制 唱吧 下載版(歐) FF4ENG = 零月蝕之假面(美) +GMSE02 = 超级马里奥阳光多人游戏 HBWE01 = 超級瑪利歐兄弟Wii Hellboy Edition(美) KMKE01 = Kustom 瑪利歐賽車[WiFi](美) L40P4Q = 自制 唱吧 下載版(歐) @@ -3438,6 +3437,7 @@ WTTE = 小雞快跑(美) WVCE = V.I.P 賭場:21點(美) WVIE = 天境奏琴(美) WVIP = 天境奏琴(美) +FBDT = 키드 이카루스 FCWP = 超級瑪莉歐兄弟3(歐) FD7P = 洛克人3(歐) FFRP = 沙納多(歐) @@ -3445,6 +3445,7 @@ JA4P = 超魔界村(歐) JA7P = 雷莎出擊(歐) JA8P = 街頭快打(歐) JACP = F-Zero(歐) +JAHQ = 알타입 III: 더 서드 라이트닝 JAMM = 宇宙巡航機3(歐) JAVP = 超級銀河戰士(歐) JBLP = 小精靈的攻擊(歐) @@ -3476,9 +3477,6 @@ HAPE = Check Mii Out頻道(美) HAPP = Check Mii Out頻道(歐) HAYA = 照片頻道 HCLE = Netflix系統安裝光碟(美) -JODI = 自制頻道(歐) -LULZ = 自制頻道(歐) -OHBC = 自制頻道(歐) 9XGX = SNES9x超任模擬器(美) D64A = 任天堂N64模擬器(歐) DCRA = 都市打靶(歐) @@ -3508,6 +3506,9 @@ DWMA = Wad管理器 v1.5(美) DWRA = Wii電臺(美) DWXA = Wii資源管理器(歐) FCEU = FCE Ultra任天堂FC模擬器(歐) +JODI = 自制頻道(歐) +LULZ = 自制頻道(歐) +OHBC = 自制頻道(歐) VBGX = VBA模擬器(歐) GBHJC8 = 戰鬥封神 GEGJ8P = 光與蛋~比利哈恰的大冒險~ diff --git a/Externals/libpng/pngpread.c b/Externals/libpng/pngpread.c index e283627b77..1e0429ec3a 100644 --- a/Externals/libpng/pngpread.c +++ b/Externals/libpng/pngpread.c @@ -223,6 +223,21 @@ png_push_read_chunk(png_structrp png_ptr, png_inforp info_ptr) if ((png_ptr->mode & PNG_AFTER_IDAT) != 0) png_benign_error(png_ptr, "Too many IDATs found"); } + + else + { + png_alloc_size_t limit = PNG_SIZE_MAX; +# ifdef PNG_SET_USER_LIMITS_SUPPORTED + if (png_ptr->user_chunk_malloc_max > 0 && + png_ptr->user_chunk_malloc_max < limit) + limit = png_ptr->user_chunk_malloc_max; +# elif PNG_USER_CHUNK_MALLOC_MAX > 0 + if (PNG_USER_CHUNK_MALLOC_MAX < limit) + limit = PNG_USER_CHUNK_MALLOC_MAX; +# endif + if (png_ptr->push_length > limit) + png_chunk_error(png_ptr, "chunk data is too large"); + } if (chunk_name == png_IHDR) { diff --git a/docs/DSP/DSP_UC_AXWii.txt b/docs/DSP/DSP_UC_AXWii.txt new file mode 100644 index 0000000000..07a3d938f0 --- /dev/null +++ b/docs/DSP/DSP_UC_AXWii.txt @@ -0,0 +1,3339 @@ +// Memory map: +// 0x0C00: current AXList + + +// Voice PB structure: +// the current PB is stored at 0x02D0 +// offsets and sizes are counted in words +// +// Offset Size Desription +// 0x000 2 Address of the next PB +// 0x002 2 Address of this PB +// 0x004 1 Sample rate converter (0-2) +// 0x005 1 Coef select (0-2: 0x1000, 0x1200, 0x1400) +// 0x006 2 Selects entries in 4 tables (19 bits used) +// 0x008 1 Play/stop flag (1=play, 0=stop) +// 0x022 1 Initial time delay enable +// 0x023 2 Initial time delay data + + + 0000 0000 nop + 0001 0000 nop + +// Exception jump table + 0002 029f 0f3c jmp 0x0f3c + 0004 029f 0f48 jmp 0x0f48 + 0006 029f 0f4d jmp 0x0f4d + 0008 029f 0f5c jmp 0x0f5c + 000a 029f 0f61 jmp 0x0f61 + 000c 029f 0f8d jmp 0x0f8d + 000e 029f 0f92 jmp 0x0f92 + +// Entry point +void 0010_Entry() { + 0010 1302 sbset #0x02 + 0011 1303 sbset #0x03 + 0012 1204 sbclr #0x04 + 0013 1305 sbset #0x05 + 0014 1306 sbset #0x06 + 0015 8e00 set16 + 0016 8c00 clr15 + 0017 8b00 m0 + 0018 0092 00ff lri $CR, #0x00ff + 001a 009e 8000 lri $AC0.M, #0x8000 + 001c 00fe 0ce5 sr @0x0ce5, $AC0.M + 001e 009e 8000 lri $AC0.M, #0x8000 + 0020 00fe 0ce6 sr @0x0ce6, $AC0.M + 0022 00fe 0ce7 sr @0x0ce7, $AC0.M + 0024 00fe 0ce8 sr @0x0ce8, $AC0.M + 0026 8100 clr $ACC0 + 0027 00fe 0ce9 sr @0x0ce9, $AC0.M + 0029 8900 clr $ACC1 + 002a 16fc dcd1 si @DMBH, #0xdcd1 + 002c 16fd 0000 si @DMBL, #0x0000 + 002e 16fb 0001 si @DIRQ, #0x0001 // send a 0xDCD10000 and trigger an IRQ + 0030 26fc lrs $AC0.M, @DMBH + 0031 02a0 8000 andf $AC0.M, #0x8000 + 0033 029c 0030 jlnz 0x0030 // wait until the mail is received by CPU + 0035 029f 004c jmp 0x004c // enter the main loop +} + +void 0037_Unk_Restart() { + 0037 1302 sbset #0x02 + 0038 1303 sbset #0x03 + 0039 1204 sbclr #0x04 + 003a 1305 sbset #0x05 + 003b 1306 sbset #0x06 + 003c 8e00 set16 + 003d 8c00 clr15 + 003e 8b00 m0 + 003f 0092 00ff lri $CR, #0x00ff + 0041 16fc dcd1 si @DMBH, #0xdcd1 + 0043 16fd 0001 si @DMBL, #0x0001 + 0045 16fb 0001 si @DIRQ, #0x0001 // send a 0xDCD10001 and trigger an IRQ + 0047 26fc lrs $AC0.M, @DMBH + 0048 02a0 8000 andf $AC0.M, #0x8000 + 004a 029c 0047 jlnz 0x0047 // wait until the mail is received by CPU + +// main loop + 004c 8e00 set16 + 004d 8100 clr $ACC0 + 004e 8900 clr $ACC1 + 004f 009f babe lri $AC1.M, #0xbabe + 0051 26fe lrs $AC0.M, @CMBH + 0052 02c0 8000 andcf $AC0.M, #0x8000 + 0054 029c 0051 jlnz 0x0051 // wait until we get a new mail from CPU + 0056 8200 cmp + 0057 0294 0051 jnz 0x0051 // discard it if it's not a 0xBABE---- (AXList begin) + 0059 23ff lrs $AX1.H, @CMBL // AX1.H = low part of 0xBABE---- mail = length of list in bytes + 005a 8100 clr $ACC0 + 005b 26fe lrs $AC0.M, @CMBH + 005c 02c0 8000 andcf $AC0.M, #0x8000 + 005e 029c 005b jlnz 0x005b // wait until the next mail + 0060 27ff lrs $AC1.M, @CMBL + 0061 0240 7fff andi $AC0.M, #0x7fff // AC0.M = address high part, AC1.M = address low part + 0063 2ece srs @DSMAH, $AC0.M + 0064 2fcf srs @DSMAL, $AC1.M + 0065 16cd 0c00 si @DSPA, #0x0c00 + 0067 8100 clr $ACC0 + 0068 2ec9 srs @DSCR, $AC0.M + 0069 1ffb mrr $AC1.M, $AX1.H // Transfer the AXList (DMA) + 006a 2fcb srs @DSBL, $AC1.M // DMA transfer from main memory (addr = second mail) to 0x0C00, len = low part of first mail + 006b 02bf 0084 call 0084_WaitForDMACompletion() + 006d 0080 0c00 lri $AR0, #0x0c00 // AR0 = 0x0C00 +} // continues into next function + +void 006f_MailHandler() { + 006f 8e00 set16 + 0070 8100 clr $ACC0 + 0071 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0072 b100 tst $ACC0 + 0073 0291 0080 jl 0x0080 + 0075 0a0e lris $AX0.H, #0x0e + 0076 c100 cmpar $ACC0, $AX0.H + 0077 0292 0080 jg 0x0080 // die if command number is higher than 0xE + 0079 009f 0d04 lri $AC1.M, #0x0d04 + 007b 4c00 add $ACC0, $ACC1 + 007c 1c7e mrr $AR3, $AC0.M + 007d 0213 ilrr $AC0.M, @$AR3 + 007e 1c7e mrr $AR3, $AC0.M // func at [0x0D04 + cmd_num] + 007f 176f jmpr $AR3 // Jump to command func: AR0 = 0x0C01. Okay. + AC0.M = + AC1.M = 0x0D04. Not interesting either. +} + +void 0080_Die() { + 0080 16fc baad si @DMBH, #0xbaad + 0082 2efd srs @DMBL, $AC0.M + 0083 0021 halt +} + +void 0084_WaitForDMACompletion() { + 0084 26c9 lrs $AC0.M, @DSCR + 0085 02a0 0004 andf $AC0.M, #0x0004 + 0087 029c 0084 jlnz 0x0084 + 0089 02df ret +} + +void 008a_Cmd_0() { + 008a 8100 clr $ACC0 + 008b 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 008c 8e78 set16'l : $AC1.M, @$AR0 + 008d 2ece srs @DSMAH, $AC0.M + 008e 2fcf srs @DSMAL, $AC1.M + 008f 16cd 0d08 si @DSPA, #0x0d08 + 0091 16c9 0000 si @DSCR, #0x0000 + 0093 16cb 0078 si @DSBL, #0x0078 + 0095 0081 0d08 lri $AR1, #0x0d08 + 0097 0082 0000 lri $AR2, #0x0000 + 0099 009b 005f lri $AX1.H, #0x005f + 009b 009a 00c0 lri $AX0.H, #0x00c0 + 009d 8100 clr $ACC0 + 009e 8900 clr $ACC1 + 009f 8f00 set40 + 00a0 02bf 0084 call 0084_WaitForDMACompletion() + 00a2 193e lrri $AC0.M, @$AR1 + 00a3 193c lrri $AC0.L, @$AR1 + 00a4 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 00a5 0294 00ab jnz 0x00ab + 00a7 005a loop $AX0.H + 00a8 1b5e srri @$AR2, $AC0.M + 00a9 029f 00b3 jmp 0x00b3 + 00ab 9900 asr16 $ACC1 + 00ac 1b5e srri @$AR2, $AC0.M + 00ad 1b5c srri @$AR2, $AC0.L + 00ae 007b 00b2 bloop $AX1.H, 0x00b2 + 00b0 4c00 add $ACC0, $ACC1 + 00b1 1b5e srri @$AR2, $AC0.M + 00b2 1b5c srri @$AR2, $AC0.L + 00b3 0082 00c0 lri $AR2, #0x00c0 + 00b5 193e lrri $AC0.M, @$AR1 + 00b6 193c lrri $AC0.L, @$AR1 + 00b7 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 00b8 0294 00be jnz 0x00be + 00ba 005a loop $AX0.H + 00bb 1b5e srri @$AR2, $AC0.M + 00bc 029f 00c6 jmp 0x00c6 + 00be 9900 asr16 $ACC1 + 00bf 1b5e srri @$AR2, $AC0.M + 00c0 1b5c srri @$AR2, $AC0.L + 00c1 007b 00c5 bloop $AX1.H, 0x00c5 + 00c3 4c00 add $ACC0, $ACC1 + 00c4 1b5e srri @$AR2, $AC0.M + 00c5 1b5c srri @$AR2, $AC0.L + 00c6 0082 0180 lri $AR2, #0x0180 + 00c8 193e lrri $AC0.M, @$AR1 + 00c9 193c lrri $AC0.L, @$AR1 + 00ca b179 tst'l $ACC0 : $AC1.M, @$AR1 + 00cb 0294 00d1 jnz 0x00d1 + 00cd 005a loop $AX0.H + 00ce 1b5e srri @$AR2, $AC0.M + 00cf 029f 00d9 jmp 0x00d9 + 00d1 9900 asr16 $ACC1 + 00d2 1b5e srri @$AR2, $AC0.M + 00d3 1b5c srri @$AR2, $AC0.L + 00d4 007b 00d8 bloop $AX1.H, 0x00d8 + 00d6 4c00 add $ACC0, $ACC1 + 00d7 1b5e srri @$AR2, $AC0.M + 00d8 1b5c srri @$AR2, $AC0.L + 00d9 0082 0400 lri $AR2, #0x0400 + 00db 193e lrri $AC0.M, @$AR1 + 00dc 193c lrri $AC0.L, @$AR1 + 00dd b179 tst'l $ACC0 : $AC1.M, @$AR1 + 00de 0294 00e4 jnz 0x00e4 + 00e0 005a loop $AX0.H + 00e1 1b5e srri @$AR2, $AC0.M + 00e2 029f 00ec jmp 0x00ec + 00e4 9900 asr16 $ACC1 + 00e5 1b5e srri @$AR2, $AC0.M + 00e6 1b5c srri @$AR2, $AC0.L + 00e7 007b 00eb bloop $AX1.H, 0x00eb + 00e9 4c00 add $ACC0, $ACC1 + 00ea 1b5e srri @$AR2, $AC0.M + 00eb 1b5c srri @$AR2, $AC0.L + 00ec 0082 04c0 lri $AR2, #0x04c0 + 00ee 193e lrri $AC0.M, @$AR1 + 00ef 193c lrri $AC0.L, @$AR1 + 00f0 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 00f1 0294 00f7 jnz 0x00f7 + 00f3 005a loop $AX0.H + 00f4 1b5e srri @$AR2, $AC0.M + 00f5 029f 00ff jmp 0x00ff + 00f7 9900 asr16 $ACC1 + 00f8 1b5e srri @$AR2, $AC0.M + 00f9 1b5c srri @$AR2, $AC0.L + 00fa 007b 00fe bloop $AX1.H, 0x00fe + 00fc 4c00 add $ACC0, $ACC1 + 00fd 1b5e srri @$AR2, $AC0.M + 00fe 1b5c srri @$AR2, $AC0.L + 00ff 0082 0580 lri $AR2, #0x0580 + 0101 193e lrri $AC0.M, @$AR1 + 0102 193c lrri $AC0.L, @$AR1 + 0103 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 0104 0294 010a jnz 0x010a + 0106 005a loop $AX0.H + 0107 1b5e srri @$AR2, $AC0.M + 0108 029f 0112 jmp 0x0112 + 010a 9900 asr16 $ACC1 + 010b 1b5e srri @$AR2, $AC0.M + 010c 1b5c srri @$AR2, $AC0.L + 010d 007b 0111 bloop $AX1.H, 0x0111 + 010f 4c00 add $ACC0, $ACC1 + 0110 1b5e srri @$AR2, $AC0.M + 0111 1b5c srri @$AR2, $AC0.L + 0112 0082 0640 lri $AR2, #0x0640 + 0114 193e lrri $AC0.M, @$AR1 + 0115 193c lrri $AC0.L, @$AR1 + 0116 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 0117 0294 011d jnz 0x011d + 0119 005a loop $AX0.H + 011a 1b5e srri @$AR2, $AC0.M + 011b 029f 0125 jmp 0x0125 + 011d 9900 asr16 $ACC1 + 011e 1b5e srri @$AR2, $AC0.M + 011f 1b5c srri @$AR2, $AC0.L + 0120 007b 0124 bloop $AX1.H, 0x0124 + 0122 4c00 add $ACC0, $ACC1 + 0123 1b5e srri @$AR2, $AC0.M + 0124 1b5c srri @$AR2, $AC0.L + 0125 0082 0700 lri $AR2, #0x0700 + 0127 193e lrri $AC0.M, @$AR1 + 0128 193c lrri $AC0.L, @$AR1 + 0129 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 012a 0294 0130 jnz 0x0130 + 012c 005a loop $AX0.H + 012d 1b5e srri @$AR2, $AC0.M + 012e 029f 0138 jmp 0x0138 + 0130 9900 asr16 $ACC1 + 0131 1b5e srri @$AR2, $AC0.M + 0132 1b5c srri @$AR2, $AC0.L + 0133 007b 0137 bloop $AX1.H, 0x0137 + 0135 4c00 add $ACC0, $ACC1 + 0136 1b5e srri @$AR2, $AC0.M + 0137 1b5c srri @$AR2, $AC0.L + 0138 0082 07c0 lri $AR2, #0x07c0 + 013a 193e lrri $AC0.M, @$AR1 + 013b 193c lrri $AC0.L, @$AR1 + 013c b179 tst'l $ACC0 : $AC1.M, @$AR1 + 013d 0294 0143 jnz 0x0143 + 013f 005a loop $AX0.H + 0140 1b5e srri @$AR2, $AC0.M + 0141 029f 014b jmp 0x014b + 0143 9900 asr16 $ACC1 + 0144 1b5e srri @$AR2, $AC0.M + 0145 1b5c srri @$AR2, $AC0.L + 0146 007b 014a bloop $AX1.H, 0x014a + 0148 4c00 add $ACC0, $ACC1 + 0149 1b5e srri @$AR2, $AC0.M + 014a 1b5c srri @$AR2, $AC0.L + 014b 0082 0880 lri $AR2, #0x0880 + 014d 193e lrri $AC0.M, @$AR1 + 014e 193c lrri $AC0.L, @$AR1 + 014f b179 tst'l $ACC0 : $AC1.M, @$AR1 + 0150 0294 0156 jnz 0x0156 + 0152 005a loop $AX0.H + 0153 1b5e srri @$AR2, $AC0.M + 0154 029f 015e jmp 0x015e + 0156 9900 asr16 $ACC1 + 0157 1b5e srri @$AR2, $AC0.M + 0158 1b5c srri @$AR2, $AC0.L + 0159 007b 015d bloop $AX1.H, 0x015d + 015b 4c00 add $ACC0, $ACC1 + 015c 1b5e srri @$AR2, $AC0.M + 015d 1b5c srri @$AR2, $AC0.L + 015e 0082 0940 lri $AR2, #0x0940 + 0160 193e lrri $AC0.M, @$AR1 + 0161 193c lrri $AC0.L, @$AR1 + 0162 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 0163 0294 0169 jnz 0x0169 + 0165 005a loop $AX0.H + 0166 1b5e srri @$AR2, $AC0.M + 0167 029f 0171 jmp 0x0171 + 0169 9900 asr16 $ACC1 + 016a 1b5e srri @$AR2, $AC0.M + 016b 1b5c srri @$AR2, $AC0.L + 016c 007b 0170 bloop $AX1.H, 0x0170 + 016e 4c00 add $ACC0, $ACC1 + 016f 1b5e srri @$AR2, $AC0.M + 0170 1b5c srri @$AR2, $AC0.L + 0171 0082 0a00 lri $AR2, #0x0a00 + 0173 193e lrri $AC0.M, @$AR1 + 0174 193c lrri $AC0.L, @$AR1 + 0175 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 0176 0294 017c jnz 0x017c + 0178 005a loop $AX0.H + 0179 1b5e srri @$AR2, $AC0.M + 017a 029f 0184 jmp 0x0184 + 017c 9900 asr16 $ACC1 + 017d 1b5e srri @$AR2, $AC0.M + 017e 1b5c srri @$AR2, $AC0.L + 017f 007b 0183 bloop $AX1.H, 0x0183 + 0181 4c00 add $ACC0, $ACC1 + 0182 1b5e srri @$AR2, $AC0.M + 0183 1b5c srri @$AR2, $AC0.L + 0184 009b 0011 lri $AX1.H, #0x0011 + 0186 009a 0024 lri $AX0.H, #0x0024 + 0188 0082 0240 lri $AR2, #0x0240 + 018a 193e lrri $AC0.M, @$AR1 + 018b 193c lrri $AC0.L, @$AR1 + 018c b179 tst'l $ACC0 : $AC1.M, @$AR1 + 018d 0294 0193 jnz 0x0193 + 018f 005a loop $AX0.H + 0190 1b5e srri @$AR2, $AC0.M + 0191 029f 019b jmp 0x019b + 0193 9900 asr16 $ACC1 + 0194 1b5e srri @$AR2, $AC0.M + 0195 1b5c srri @$AR2, $AC0.L + 0196 007b 019a bloop $AX1.H, 0x019a + 0198 4c00 add $ACC0, $ACC1 + 0199 1b5e srri @$AR2, $AC0.M + 019a 1b5c srri @$AR2, $AC0.L + 019b 0082 0ac0 lri $AR2, #0x0ac0 + 019d 193e lrri $AC0.M, @$AR1 + 019e 193c lrri $AC0.L, @$AR1 + 019f b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01a0 0294 01a6 jnz 0x01a6 + 01a2 005a loop $AX0.H + 01a3 1b5e srri @$AR2, $AC0.M + 01a4 029f 01ae jmp 0x01ae + 01a6 9900 asr16 $ACC1 + 01a7 1b5e srri @$AR2, $AC0.M + 01a8 1b5c srri @$AR2, $AC0.L + 01a9 007b 01ad bloop $AX1.H, 0x01ad + 01ab 4c00 add $ACC0, $ACC1 + 01ac 1b5e srri @$AR2, $AC0.M + 01ad 1b5c srri @$AR2, $AC0.L + 01ae 0082 0264 lri $AR2, #0x0264 + 01b0 193e lrri $AC0.M, @$AR1 + 01b1 193c lrri $AC0.L, @$AR1 + 01b2 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01b3 0294 01b9 jnz 0x01b9 + 01b5 005a loop $AX0.H + 01b6 1b5e srri @$AR2, $AC0.M + 01b7 029f 01c1 jmp 0x01c1 + 01b9 9900 asr16 $ACC1 + 01ba 1b5e srri @$AR2, $AC0.M + 01bb 1b5c srri @$AR2, $AC0.L + 01bc 007b 01c0 bloop $AX1.H, 0x01c0 + 01be 4c00 add $ACC0, $ACC1 + 01bf 1b5e srri @$AR2, $AC0.M + 01c0 1b5c srri @$AR2, $AC0.L + 01c1 0082 0ae4 lri $AR2, #0x0ae4 + 01c3 193e lrri $AC0.M, @$AR1 + 01c4 193c lrri $AC0.L, @$AR1 + 01c5 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01c6 0294 01cc jnz 0x01cc + 01c8 005a loop $AX0.H + 01c9 1b5e srri @$AR2, $AC0.M + 01ca 029f 01d4 jmp 0x01d4 + 01cc 9900 asr16 $ACC1 + 01cd 1b5e srri @$AR2, $AC0.M + 01ce 1b5c srri @$AR2, $AC0.L + 01cf 007b 01d3 bloop $AX1.H, 0x01d3 + 01d1 4c00 add $ACC0, $ACC1 + 01d2 1b5e srri @$AR2, $AC0.M + 01d3 1b5c srri @$AR2, $AC0.L + 01d4 0082 0288 lri $AR2, #0x0288 + 01d6 193e lrri $AC0.M, @$AR1 + 01d7 193c lrri $AC0.L, @$AR1 + 01d8 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01d9 0294 01df jnz 0x01df + 01db 005a loop $AX0.H + 01dc 1b5e srri @$AR2, $AC0.M + 01dd 029f 01e7 jmp 0x01e7 + 01df 9900 asr16 $ACC1 + 01e0 1b5e srri @$AR2, $AC0.M + 01e1 1b5c srri @$AR2, $AC0.L + 01e2 007b 01e6 bloop $AX1.H, 0x01e6 + 01e4 4c00 add $ACC0, $ACC1 + 01e5 1b5e srri @$AR2, $AC0.M + 01e6 1b5c srri @$AR2, $AC0.L + 01e7 0082 0b08 lri $AR2, #0x0b08 + 01e9 193e lrri $AC0.M, @$AR1 + 01ea 193c lrri $AC0.L, @$AR1 + 01eb b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01ec 0294 01f2 jnz 0x01f2 + 01ee 005a loop $AX0.H + 01ef 1b5e srri @$AR2, $AC0.M + 01f0 029f 01fa jmp 0x01fa + 01f2 9900 asr16 $ACC1 + 01f3 1b5e srri @$AR2, $AC0.M + 01f4 1b5c srri @$AR2, $AC0.L + 01f5 007b 01f9 bloop $AX1.H, 0x01f9 + 01f7 4c00 add $ACC0, $ACC1 + 01f8 1b5e srri @$AR2, $AC0.M + 01f9 1b5c srri @$AR2, $AC0.L + 01fa 0082 02ac lri $AR2, #0x02ac + 01fc 193e lrri $AC0.M, @$AR1 + 01fd 193c lrri $AC0.L, @$AR1 + 01fe b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01ff 0294 0205 jnz 0x0205 + 0201 005a loop $AX0.H + 0202 1b5e srri @$AR2, $AC0.M + 0203 029f 020d jmp 0x020d + 0205 9900 asr16 $ACC1 + 0206 1b5e srri @$AR2, $AC0.M + 0207 1b5c srri @$AR2, $AC0.L + 0208 007b 020c bloop $AX1.H, 0x020c + 020a 4c00 add $ACC0, $ACC1 + 020b 1b5e srri @$AR2, $AC0.M + 020c 1b5c srri @$AR2, $AC0.L + 020d 0082 0b2c lri $AR2, #0x0b2c + 020f 193e lrri $AC0.M, @$AR1 + 0210 193c lrri $AC0.L, @$AR1 + 0211 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 0212 0294 0218 jnz 0x0218 + 0214 005a loop $AX0.H + 0215 1b5e srri @$AR2, $AC0.M + 0216 029f 0220 jmp 0x0220 + 0218 9900 asr16 $ACC1 + 0219 1b5e srri @$AR2, $AC0.M + 021a 1b5c srri @$AR2, $AC0.L + 021b 007b 021f bloop $AX1.H, 0x021f + 021d 4c00 add $ACC0, $ACC1 + 021e 1b5e srri @$AR2, $AC0.M + 021f 1b5c srri @$AR2, $AC0.L + 0220 029f 006f jmp 006f_MailHandler() +} + +void 0222_Cmd_1() { + 0222 8100 clr $ACC0 + 0223 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0224 8e60 set16'l : $AC0.L, @$AR0 + 0225 2ece srs @DSMAH, $AC0.M + 0226 2ccf srs @DSMAL, $AC0.L + 0227 16cd 0d08 si @DSPA, #0x0d08 + 0229 16c9 0000 si @DSCR, #0x0000 + 022b 16cb 0180 si @DSBL, #0x0180 + 022d 1cc0 mrr $IX2, $AR0 + 022e 0080 0000 lri $AR0, #0x0000 + 0230 0083 00c0 lri $AR3, #0x00c0 + 0232 0081 0d08 lri $AR1, #0x0d08 + 0234 0084 ffff lri $IX0, #0xffff + 0236 1ce4 mrr $IX3, $IX0 + 0237 02bf 0084 call 0084_WaitForDMACompletion() + 0239 8f00 set40 + 023a 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 023b 80c9 nx'ldm : $AX0.L, $AX1.L, @$AR1 + 023c 6800 movax $ACC0, $AX0.L + 023d 4a00 addax $ACC0, $AX1.L + 023e 191b lrri $AX1.H, @$AR0 + 023f 6994 movax'lsn $ACC1, $AX0.L : $AX1.L, $AC0.M + 0240 4b23 addax's $ACC1, $AX1.L : @$AR3, $AC0.L + 0241 115f 0249 bloopi #0x5f, 0x0249 + 0243 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0244 80c9 nx'ldm : $AX0.L, $AX1.L, @$AR1 + 0245 6838 movax's $ACC0, $AX0.L : @$AR0, $AC1.M + 0246 4a28 addax's $ACC0, $AX1.L : @$AR0, $AC1.L + 0247 191b lrri $AX1.H, @$AR0 + 0248 6994 movax'lsn $ACC1, $AX0.L : $AX1.L, $AC0.M + 0249 4b23 addax's $ACC1, $AX1.L : @$AR3, $AC0.L + 024a 1b1f srri @$AR0, $AC1.M + 024b 1b1d srri @$AR0, $AC1.L + 024c 1c06 mrr $AR0, $IX2 + 024d 029f 006f jmp 006f_MailHandler() +} + +void 024f_Cmd_2() { + 024f 8100 clr $ACC0 + 0250 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0251 8e60 set16'l : $AC0.L, @$AR0 + 0252 2ece srs @DSMAH, $AC0.M + 0253 2ccf srs @DSMAL, $AC0.L + 0254 16cd 0d08 si @DSPA, #0x0d08 + 0256 16c9 0000 si @DSCR, #0x0000 + 0258 16cb 0180 si @DSBL, #0x0180 + 025a 1cc0 mrr $IX2, $AR0 + 025b 0080 0000 lri $AR0, #0x0000 + 025d 0083 00c0 lri $AR3, #0x00c0 + 025f 0081 0d08 lri $AR1, #0x0d08 + 0261 0084 ffff lri $IX0, #0xffff + 0263 1ce4 mrr $IX3, $IX0 + 0264 02bf 0084 call 0084_WaitForDMACompletion() + 0266 8f00 set40 + 0267 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0268 80c9 nx'ldm : $AX0.L, $AX1.L, @$AR1 + 0269 6800 movax $ACC0, $AX0.L + 026a 4a00 addax $ACC0, $AX1.L + 026b 191b lrri $AX1.H, @$AR0 + 026c 6994 movax'lsn $ACC1, $AX0.L : $AX1.L, $AC0.M + 026d 7d00 neg $ACC1 + 026e 4b23 addax's $ACC1, $AX1.L : @$AR3, $AC0.L + 026f 115f 0278 bloopi #0x5f, 0x0278 + 0271 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0272 80c9 nx'ldm : $AX0.L, $AX1.L, @$AR1 + 0273 6838 movax's $ACC0, $AX0.L : @$AR0, $AC1.M + 0274 4a28 addax's $ACC0, $AX1.L : @$AR0, $AC1.L + 0275 191b lrri $AX1.H, @$AR0 + 0276 6994 movax'lsn $ACC1, $AX0.L : $AX1.L, $AC0.M + 0277 7d00 neg $ACC1 + 0278 4b23 addax's $ACC1, $AX1.L : @$AR3, $AC0.L + 0279 1b1f srri @$AR0, $AC1.M + 027a 1b1d srri @$AR0, $AC1.L + 027b 1c06 mrr $AR0, $IX2 + 027c 029f 006f jmp 006f_MailHandler() +} + +// Command 0x4 - Mixer +// Parameters: AR0 -> 0x0C01 +// AXList data: command (2), PBs address (4) +// Stores 0x140 bytes of data from the PBs address to 0x02D0. Suspicious. + +void 027e_Cmd_4_SetPBsAddress() { + 027e 8100 clr $ACC0 // ACC0 = 0, ACC1 = 0 + 027f 8970 clr'l $ACC1 : $AC0.M, @$AR0 // ACC0 = mem32[0x0C01] (the new PBs address is there) + 0280 8e60 set16'l : $AC0.L, @$AR0 // + 0281 00e0 0cd2 sr @0x0cd2, $AR0 // mem16[0x0CD2] = 0x0C03; + + +// Mixing loop - stops when the pointer to the next PB in the current PB is NULL + 0283 2ece srs @DSMAH, $AC0.M + 0284 2ccf srs @DSMAL, $AC0.L + 0285 16cd 02d0 si @DSPA, #0x02d0 + 0287 16c9 0000 si @DSCR, #0x0000 + 0289 16cb 0140 si @DSBL, #0x0140 // transfer 0x140 bytes from the current PB address to 0x02D0. aka Transfer the current PB + 028b 02bf 0084 call 0084_WaitForDMACompletion() + +// Load some values to memory [0x0CDX / 0x0CEX] + 028d 8100 clr $ACC0 + 028e 8900 clr $ACC1 + 028f 00de 02d4 lr $AC0.M, @0x02d4 // + 0291 009f 0db7 lri $AC1.M, #0x0db7 + 0293 4c00 add $ACC0, $ACC1 // mem16[0x02D4] + 0xDB7; + 0294 1c7e mrr $AR3, $AC0.M + 0295 0213 ilrr $AC0.M, @$AR3 // Sample rate converter + 0296 00fe 0cdf sr @0x0cdf, $AC0.M // mem16[0x0CDF] = iram16[0x0DB7 + mem16[0x02D4]]; + 0298 00de 02d5 lr $AC0.M, @0x02d5 + 029a 009f 0dba lri $AC1.M, #0x0dba + 029c 4c00 add $ACC0, $ACC1 + 029d 1c7e mrr $AR3, $AC0.M + 029e 0213 ilrr $AC0.M, @$AR3 // Coef select + 029f 00fe 0ce0 sr @0x0ce0, $AC0.M // mem16[0x0CE0] = iram16[0x0DBA + mem16[0x02D5]]; + 02a1 009a 001f lri $AX0.H, #0x001f + 02a3 00de 02d7 lr $AC0.M, @0x02d7 + 02a5 009f 0d13 lri $AC1.M, #0x0d13 + 02a7 3400 andr $AC0.M, $AX0.H + 02a8 4c00 add $ACC0, $ACC1 + 02a9 1c7e mrr $AR3, $AC0.M + 02aa 0213 ilrr $AC0.M, @$AR3 // probably a volume coef table + 02ab 00fe 0cd3 sr @0x0cd3, $AC0.M // mem16[0x0CD3] = iram16[0x0D13 + (mem16[0x02D7] & 0x001F)]; (5 bits) + 02ad 00de 02d6 lr $AC0.M, @0x02d6 + 02af 009f 0d33 lri $AC1.M, #0x0d33 + 02b1 3400 andr $AC0.M, $AX0.H + 02b2 4c00 add $ACC0, $ACC1 + 02b3 1c7e mrr $AR3, $AC0.M + 02b4 0213 ilrr $AC0.M, @$AR3 // probably a volume coef table + 02b5 00fe 0cd4 sr @0x0cd4, $AC0.M // mem16[0x0CD4] = iram16[0x0D33 + (mem16[0x02D6] & 0x001F)]; (5 bits) + 02b7 00de 02d6 lr $AC0.M, @0x02d6 + 02b9 009f 0d53 lri $AC1.M, #0x0d53 + 02bb 14fb asr $ACC0, #-5 + 02bc 3400 andr $AC0.M, $AX0.H + 02bd 4c00 add $ACC0, $ACC1 + 02be 1c7e mrr $AR3, $AC0.M + 02bf 0213 ilrr $AC0.M, @$AR3 // probably a volume coef table + 02c0 00fe 0cd5 sr @0x0cd5, $AC0.M // mem16[0x0CD5] = iram16[0x0D53 + ((mem16[0x02D6] >> 5) & 0x001F)]; (5 bits) + 02c2 00de 02d6 lr $AC0.M, @0x02d6 + 02c4 009f 0d73 lri $AC1.M, #0x0d73 + 02c6 14f6 asr $ACC0, #-10 + 02c7 4c00 add $ACC0, $ACC1 + 02c8 1c7e mrr $AR3, $AC0.M + 02c9 0213 ilrr $AC0.M, @$AR3 // probably a volume coef table + 02ca 00fe 0cd6 sr @0x0cd6, $AC0.M // mem16[0x0CD6] = iram16[0x0D73 + (mem16[0x02D6] >> 10)]; (6 bits) + 02cc 8100 clr $ACC0 + 02cd 00de 033c lr $AC0.M, @0x033c + 02cf 009a 0003 lri $AX0.H, #0x0003 + 02d1 009b 0db3 lri $AX1.H, #0x0db3 + 02d3 1ffe mrr $AC1.M, $AC0.M + 02d4 3500 andr $AC1.M, $AX0.H + 02d5 4700 addr $ACC1, $AX1.H + 02d6 1c7f mrr $AR3, $AC1.M + 02d7 0313 ilrr $AC1.M, @$AR3 + 02d8 00ff 0cd7 sr @0x0cd7, $AC1.M // mem16[0x0CD7] = iram16[0x0DB3 + (mem16[0x033C] & 0x0003)]; + 02da 147e lsr $ACC0, #-2 + 02db 1ffe mrr $AC1.M, $AC0.M + 02dc 3500 andr $AC1.M, $AX0.H + 02dd 4700 addr $ACC1, $AX1.H + 02de 1c7f mrr $AR3, $AC1.M + 02df 0313 ilrr $AC1.M, @$AR3 + 02e0 00ff 0cd8 sr @0x0cd8, $AC1.M // mem16[0x0CD8] = iram16[0x0DB3 + ((mem16[0x033C] >> 2) & 0x0003)]; + 02e2 147e lsr $ACC0, #-2 + 02e3 1ffe mrr $AC1.M, $AC0.M + 02e4 3500 andr $AC1.M, $AX0.H + 02e5 4700 addr $ACC1, $AX1.H + 02e6 1c7f mrr $AR3, $AC1.M + 02e7 0313 ilrr $AC1.M, @$AR3 + 02e8 00ff 0cd9 sr @0x0cd9, $AC1.M // mem16[0x0CD9] = iram16[0x0DB3 + ((mem16[0x033C] >> 4) & 0x0003)]; + 02ea 147e lsr $ACC0, #-2 + 02eb 1ffe mrr $AC1.M, $AC0.M + 02ec 3500 andr $AC1.M, $AX0.H + 02ed 4700 addr $ACC1, $AX1.H + 02ee 1c7f mrr $AR3, $AC1.M + 02ef 0313 ilrr $AC1.M, @$AR3 + 02f0 00ff 0cda sr @0x0cda, $AC1.M // mem16[0x0CDA] = iram16[0x0DB3 + ((mem16[0x033C] >> 6) & 0x0003)]; + 02f2 147e lsr $ACC0, #-2 + 02f3 1ffe mrr $AC1.M, $AC0.M + 02f4 3500 andr $AC1.M, $AX0.H + 02f5 4700 addr $ACC1, $AX1.H + 02f6 1c7f mrr $AR3, $AC1.M + 02f7 0313 ilrr $AC1.M, @$AR3 + 02f8 00ff 0cdb sr @0x0cdb, $AC1.M // mem16[0x0CDB] = iram16[0x0DB3 + ((mem16[0x033C] >> 8) & 0x0003)]; + 02fa 147e lsr $ACC0, #-2 + 02fb 1ffe mrr $AC1.M, $AC0.M + 02fc 3500 andr $AC1.M, $AX0.H + 02fd 4700 addr $ACC1, $AX1.H + 02fe 1c7f mrr $AR3, $AC1.M + 02ff 0313 ilrr $AC1.M, @$AR3 + 0300 00ff 0cdc sr @0x0cdc, $AC1.M // mem16[0x0CDC] = iram16[0x0DB3 + ((mem16[0x033C] >> 10) & 0x0003)]; + 0302 147e lsr $ACC0, #-2 + 0303 1ffe mrr $AC1.M, $AC0.M + 0304 3500 andr $AC1.M, $AX0.H + 0305 4700 addr $ACC1, $AX1.H + 0306 1c7f mrr $AR3, $AC1.M + 0307 0313 ilrr $AC1.M, @$AR3 + 0308 00ff 0cdd sr @0x0cdd, $AC1.M // mem16[0x0CDD] = iram16[0x0DB3 + ((mem16[0x033C] >> 12) & 0x0003)]; + 030a 147e lsr $ACC0, #-2 + 030b 1ffe mrr $AC1.M, $AC0.M + 030c 3500 andr $AC1.M, $AX0.H + 030d 4700 addr $ACC1, $AX1.H + 030e 1c7f mrr $AR3, $AC1.M + 030f 0313 ilrr $AC1.M, @$AR3 + 0310 00ff 0cde sr @0x0cde, $AC1.M // mem16[0x0CDE] = iram16[0x0DB3 + (mem16[0x033C] >> 14)]; + + 0312 8100 clr $ACC0 + 0313 00de 02f2 lr $AC0.M, @0x02f2 + 0315 b100 tst $ACC0 + 0316 0295 0339 jz 0x0339 + + // Initial time delay - aka echo aka reverb + // The buffer is 64 bytes + // That thing may be hard to implement in HLE because the HLE sound buffer size is variable + if (mem16[0x02F2] != 0) + { + 0318 8900 clr $ACC1 + 0319 00df 02f5 lr $AC1.M, @0x02f5 + 031b 0300 0c40 addi $AC1.M, #0x0c40 + 031d 00ff 0ce2 sr @0x0ce2, $AC1.M + 031f 00df 02f6 lr $AC1.M, @0x02f6 + 0321 0300 0c40 addi $AC1.M, #0x0c40 + 0323 00ff 0ce3 sr @0x0ce3, $AC1.M + 0325 009f 0c60 lri $AC1.M, #0x0c60 + 0327 00ff 0ce1 sr @0x0ce1, $AC1.M + 0329 00de 02f3 lr $AC0.M, @0x02f3 + 032b 2ece srs @DSMAH, $AC0.M + 032c 00de 02f4 lr $AC0.M, @0x02f4 + 032e 2ecf srs @DSMAL, $AC0.M + 032f 16cd 0c40 si @DSPA, #0x0c40 + 0331 16c9 0000 si @DSCR, #0x0000 + 0333 16cb 0040 si @DSBL, #0x0040 + 0335 02bf 0084 call 0084_WaitForDMACompletion() // so yet another DMA... from mem32[0x02F3] to 0x0C40, 64 bytes + 0337 029f 0341 jmp 0x0341 + } + else + { + 0339 009f 0c60 lri $AC1.M, #0x0c60 + 033b 00ff 0ce2 sr @0x0ce2, $AC1.M + 033d 00ff 0ce3 sr @0x0ce3, $AC1.M + 033f 00ff 0ce1 sr @0x0ce1, $AC1.M + } + + 0341 8c00 clr15 + 0342 8b00 m0 + 0343 8100 clr $ACC0 + 0344 00de 02d8 lr $AC0.M, @0x02d8 + 0346 0601 cmpis $ACC0, #0x01 + 0347 0294 046a jnz 0x046a + +if (mem16[0x02D8] == 1) // if the voice is playing +{ + 0349 00c3 0cdf lr $AR3, @0x0cdf + 034b 177f callr $AR3 // call the sample rate converter + 034c 8a00 m2 // MULTIPLICATION x2 MODE ENABLED! + 034d 8100 clr $ACC0 + 034e 8900 clr $ACC1 + 034f 00de 0306 lr $AC0.M, @0x0306 // pb[0x36] + 0351 00df 0305 lr $AC1.M, @0x0305 // pb[0x35] + 0353 1f1f mrr $AX0.L, $AC1.M + 0354 4d00 add $ACC1, $ACC0 + 0355 1481 asl $ACC0, #1 + 0356 8d1e set15'mv : $AX1.H, $AC0.M + 0357 1fd8 mrr $AC0.M, $AX0.L + 0358 0098 8000 lri $AX0.L, #0x8000 + 035a 0080 0d08 lri $AR0, #0x0d08 + 035c a830 mulx's $AX0.L, $AX1.H : @$AR0, $AC0.M + 035d 112f 0360 bloopi #0x2f, 0x0360 + 035f ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0360 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0361 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0362 00fe 0305 sr @0x0305, $AC0.M + 0364 8f00 set40 + 0365 0080 0d08 lri $AR0, #0x0d08 + 0367 00c1 0ce1 lr $AR1, @0x0ce1 + 0369 1c61 mrr $AR3, $AR1 + 036a 193a lrri $AX0.H, @$AR1 + 036b 1919 lrri $AX1.L, @$AR0 + 036c b051 mulx'l $AX0.H, $AX1.L : $AX0.H, @$AR1 + 036d 1919 lrri $AX1.L, @$AR0 + 036e 115e 0371 bloopi #0x5e, 0x0371 + 0370 b651 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR1 + 0371 8090 nx'ls : $AX1.L, $AC0.M + 0372 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0373 6e33 movp's $ACC0 : @$AR3, $AC0.M + 0374 1b7e srri @$AR3, $AC0.M + 0375 00de 032d lr $AC0.M, @0x032d + 0377 b100 tst $ACC0 + 0378 0295 0381 jz 0x0381 + 037a 00c0 0ce1 lr $AR0, @0x0ce1 + 037c 1c20 mrr $AR1, $AR0 + 037d 0083 032e lri $AR3, #0x032e + 037f 02bf 06ab call 0x06ab + 0381 00de 0331 lr $AC0.M, @0x0331 + 0383 b100 tst $ACC0 + 0384 0295 038d jz 0x038d + 0386 0080 0332 lri $AR0, #0x0332 + 0388 00c1 0ce1 lr $AR1, @0x0ce1 + 038a 1c41 mrr $AR2, $AR1 + 038b 02bf 06c3 call 06c3_Unknown() + 038d 0080 02f9 lri $AR0, #0x02f9 + 038f 8100 clr $ACC0 + 0390 100c loopi #0x0c + 0391 1b1e srri @$AR0, $AC0.M // zero out the updates field + 0392 0080 034d lri $AR0, #0x034d + 0394 1008 loopi #0x08 + 0395 1b1e srri @$AR0, $AC0.M + 0396 00c3 0cd3 lr $AR3, @0x0cd3 // perform volume stuff + 0398 177f callr $AR3 // what a complicated volume control! + 0399 00c3 0cd4 lr $AR3, @0x0cd4 + 039b 177f callr $AR3 + 039c 00c3 0cd5 lr $AR3, @0x0cd5 + 039e 177f callr $AR3 + 039f 00c3 0cd6 lr $AR3, @0x0cd6 + 03a1 177f callr $AR3 + + 03a2 00de 033b lr $AC0.M, @0x033b + 03a4 b100 tst $ACC0 + 03a5 0295 0447 jz 0x0447 + if (mem16[0x033B] != 0) + { + 03a7 00de 035a lr $AC0.M, @0x035a + 03a9 b100 tst $ACC0 + 03aa 0295 03c4 jz 0x03c4 + if (mem16[0x035A] != 0) + { + 03ac 0a02 lris $AX0.H, #0x02 + 03ad c100 cmpar $ACC0, $AX0.H + 03ae 0294 03ba jnz 0x03ba + 03b0 0080 035b lri $AR0, #0x035b + 03b2 00c1 0ce1 lr $AR1, @0x0ce1 + 03b4 0082 0d0c lri $AR2, #0x0d0c + 03b6 02bf 06c3 call 06c3_Unknown() + 03b8 029f 03cc jmp 0x03cc + 03ba 0080 0d0c lri $AR0, #0x0d0c + 03bc 00c1 0ce1 lr $AR1, @0x0ce1 + 03be 0083 035b lri $AR3, #0x035b + 03c0 02bf 06ab call 0x06ab + 03c2 029f 03cc jmp 0x03cc + } + else + { + 03c4 0080 0d0c lri $AR0, #0x0d0c + 03c6 00c1 0ce1 lr $AR1, @0x0ce1 + 03c8 1160 03cb bloopi #0x60, 0x03cb + 03ca 193f lrri $AC1.M, @$AR1 + 03cb 1b1f srri @$AR0, $AC1.M + } + 03cc 0082 0355 lri $AR2, #0x0355 + 03ce 8c00 clr15 + 03cf 8100 clr $ACC0 + 03d0 195c lrri $AC0.L, @$AR2 + 03d1 009b 0005 lri $AX1.H, #0x0005 + 03d3 0099 5555 lri $AX1.L, #0x5555 + 03d5 0080 0d08 lri $AR0, #0x0d08 + 03d7 1104 03da bloopi #0x04, 0x03da + 03d9 195f lrri $AC1.M, @$AR2 + 03da 1b1f srri @$AR0, $AC1.M + 03db 0081 0cc0 lri $AR1, #0x0cc0 + 03dd 0084 0d08 lri $IX0, #0x0d08 + 03df 0087 1000 lri $IX3, #0x1000 + 03e1 1112 03f2 bloopi #0x12, 0x03f2 + 03e3 4a00 addax $ACC0, $AX1.L + 03e4 1c1e mrr $AR0, $AC0.M + 03e5 0010 addarn $AR0, $IX0 + 03e6 8900 clr $ACC1 + 03e7 1fbc mrr $AC1.L, $AC0.L + 03e8 1577 lsr $ACC1, #-9 + 03e9 1512 lsl $ACC1, #18 + 03ea 1c7f mrr $AR3, $AC1.M + 03eb 001f addarn $AR3, $IX3 + 03ec 80c3 nx'ld : $AX0.L, $AX1.L, @$AR3 + 03ed 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 03ee 97c3 mulmv'ld $AX0.L, $AX0.H, $ACC1 : $AX0.L, $AX1.L, @$AR3 + 03ef 95c3 mulac'ld $AX0.L, $AX0.H, $ACC1 : $AX0.L, $AX1.L, @$AR3 + 03f0 9500 mulac $AX0.L, $AX0.H, $ACC1 + 03f1 4f00 addp $ACC1 + 03f2 1b3f srri @$AR1, $AC1.M + 03f3 0004 dar $AR0 + 03f4 0006 dar $AR2 + 03f5 189f lrrd $AC1.M, @$AR0 + 03f6 1adf srrd @$AR2, $AC1.M + 03f7 189f lrrd $AC1.M, @$AR0 + 03f8 1adf srrd @$AR2, $AC1.M + 03f9 189f lrrd $AC1.M, @$AR0 + 03fa 1adf srrd @$AR2, $AC1.M + 03fb 189f lrrd $AC1.M, @$AR0 + 03fc 1adf srrd @$AR2, $AC1.M + 03fd 1adc srrd @$AR2, $AC0.L + 03fe 8d00 set15 + 03ff 0081 033d lri $AR1, #0x033d + 0401 0082 0240 lri $AR2, #0x0240 + 0403 00c3 0cd7 lr $AR3, @0x0cd7 + 0405 177f callr $AR3 + 0406 00f8 034d sr @0x034d, $AX0.L + 0408 0081 033f lri $AR1, #0x033f + 040a 0082 0ac0 lri $AR2, #0x0ac0 + 040c 00c3 0cd8 lr $AR3, @0x0cd8 + 040e 177f callr $AR3 + 040f 00f8 0351 sr @0x0351, $AX0.L + 0411 0081 0341 lri $AR1, #0x0341 + 0413 0082 0264 lri $AR2, #0x0264 + 0415 00c3 0cd9 lr $AR3, @0x0cd9 + 0417 177f callr $AR3 + 0418 00f8 034e sr @0x034e, $AX0.L + 041a 0081 0343 lri $AR1, #0x0343 + 041c 0082 0ae4 lri $AR2, #0x0ae4 + 041e 00c3 0cda lr $AR3, @0x0cda + 0420 177f callr $AR3 + 0421 00f8 0352 sr @0x0352, $AX0.L + 0423 0081 0345 lri $AR1, #0x0345 + 0425 0082 0288 lri $AR2, #0x0288 + 0427 00c3 0cdb lr $AR3, @0x0cdb + 0429 177f callr $AR3 + 042a 00f8 034f sr @0x034f, $AX0.L + 042c 0081 0347 lri $AR1, #0x0347 + 042e 0082 0b08 lri $AR2, #0x0b08 + 0430 00c3 0cdc lr $AR3, @0x0cdc + 0432 177f callr $AR3 + 0433 00f8 0353 sr @0x0353, $AX0.L + 0435 0081 0349 lri $AR1, #0x0349 + 0437 0082 02ac lri $AR2, #0x02ac + 0439 00c3 0cdd lr $AR3, @0x0cdd + 043b 177f callr $AR3 + 043c 00f8 0350 sr @0x0350, $AX0.L + 043e 0081 034b lri $AR1, #0x034b + 0440 0082 0b2c lri $AR2, #0x0b2c + 0442 00c3 0cde lr $AR3, @0x0cde + 0444 177f callr $AR3 + 0445 00f8 0354 sr @0x0354, $AX0.L + } + 0447 00de 02f2 lr $AC0.M, @0x02f2 + 0449 b100 tst $ACC0 + 044a 0295 046a jz 0x046a + 044c 00de 02f5 lr $AC0.M, @0x02f5 + 044e 00df 02f7 lr $AC1.M, @0x02f7 + 0450 8200 cmp + 0451 0293 0456 jle 0x0456 + 0453 7800 decm $AC0.M + 0454 029f 0459 jmp 0x0459 + 0456 0295 0459 jz 0x0459 + 0458 7400 incm $AC0.M + 0459 00fe 02f5 sr @0x02f5, $AC0.M + 045b 00de 02f6 lr $AC0.M, @0x02f6 + 045d 00df 02f8 lr $AC1.M, @0x02f8 + 045f 8200 cmp + 0460 0293 0465 jle 0x0465 + 0462 7800 decm $AC0.M + 0463 029f 0468 jmp 0x0468 + 0465 0295 0468 jz 0x0468 + 0467 7400 incm $AC0.M + + 0468 00fe 02f6 sr @0x02f6, $AC0.M + 046a 8e00 set16 +} + + 046b 8100 clr $ACC0 + 046c 00de 02f2 lr $AC0.M, @0x02f2 + 046e b100 tst $ACC0 + 046f 0295 047f jz 0x047f + 0471 00de 02f3 lr $AC0.M, @0x02f3 + 0473 00dc 02f4 lr $AC0.L, @0x02f4 + 0475 2ece srs @DSMAH, $AC0.M + 0476 2ccf srs @DSMAL, $AC0.L + 0477 16cd 0ca0 si @DSPA, #0x0ca0 + 0479 16c9 0001 si @DSCR, #0x0001 + 047b 16cb 0040 si @DSBL, #0x0040 + 047d 02bf 0084 call 0084_WaitForDMACompletion() // from 0x0CA0 to mem32[0x02F3], 64 bytes + + 047f 8100 clr $ACC0 + 0480 8900 clr $ACC1 + 0481 00de 02d2 lr $AC0.M, @0x02d2 + 0483 00df 02d3 lr $AC1.M, @0x02d3 + 0485 2ece srs @DSMAH, $AC0.M + 0486 2fcf srs @DSMAL, $AC1.M + 0487 16cd 02d0 si @DSPA, #0x02d0 + 0489 16c9 0001 si @DSCR, #0x0001 + 048b 16cb 0140 si @DSBL, #0x0140 + 048d 02bf 0084 call 0084_WaitForDMACompletion() // from 0x02D0 to mem32[0x02D2], 0x140 bytes + 048f 8100 clr $ACC0 + 0490 00de 02d0 lr $AC0.M, @0x02d0 + 0492 00dc 02d1 lr $AC0.L, @0x02d1 + 0494 b100 tst $ACC0 + 0495 0294 0283 jnz 0x0283 // if (mem32[0x02D0] != 0) do the whole thing again; + + 0497 00c0 0cd2 lr $AR0, @0x0cd2 // restore AR0; + 0499 029f 006f jmp 006f_MailHandler() +} + + +void 049b_Cmd_5() { + 049b 8e00 set16 + 049c 00c4 0ce6 lr $IX0, @0x0ce6 + 049e 1905 lrri $IX1, @$AR0 + 049f 00e5 0ce6 sr @0x0ce6, $IX1 + 04a1 0086 0400 lri $IX2, #0x0400 + 04a3 8100 clr $ACC0 + 04a4 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 04a5 191c lrri $AC0.L, @$AR0 + 04a6 2ece srs @DSMAH, $AC0.M + 04a7 2ccf srs @DSMAL, $AC0.L + 04a8 1fc6 mrr $AC0.M, $IX2 + 04a9 2ecd srs @DSPA, $AC0.M + 04aa 16c9 0001 si @DSCR, #0x0001 + 04ac 16cb 0480 si @DSBL, #0x0480 + 04ae 02bf 0084 call 0084_WaitForDMACompletion() + 04b0 02bf 04e6 call 0x04e6 + 04b2 029f 006f jmp 006f_MailHandler() +} + +void 04b4_Cmd_6() { + 04b4 8e00 set16 + 04b5 00c4 0ce7 lr $IX0, @0x0ce7 + 04b7 1905 lrri $IX1, @$AR0 + 04b8 00e5 0ce7 sr @0x0ce7, $IX1 + 04ba 0086 0640 lri $IX2, #0x0640 + 04bc 8100 clr $ACC0 + 04bd 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 04be 191c lrri $AC0.L, @$AR0 + 04bf 2ece srs @DSMAH, $AC0.M + 04c0 2ccf srs @DSMAL, $AC0.L + 04c1 1fc6 mrr $AC0.M, $IX2 + 04c2 2ecd srs @DSPA, $AC0.M + 04c3 16c9 0001 si @DSCR, #0x0001 + 04c5 16cb 0480 si @DSBL, #0x0480 + 04c7 02bf 0084 call 0084_WaitForDMACompletion() + 04c9 02bf 04e6 call 0x04e6 + 04cb 029f 006f jmp 006f_MailHandler() +} + +// Command #7 - Set output buffer address +// AXList data: +// - command (2) +// - something (2) +// - Left/Right(?) output buffer address (4) +// - Right/Left(?) output buffer address (4) +// +void 04cd_Cmd_7() { + 04cd 8e00 set16 + 04ce 00c4 0ce8 lr $IX0, @0x0ce8 + 04d0 1905 lrri $IX1, @$AR0 + 04d1 00e5 0ce8 sr @0x0ce8, $IX1 // mem16[0x0CE8] = mem16[0x0C01]; + 04d3 0086 0880 lri $IX2, #0x0880 + 04d5 8100 clr $ACC0 + 04d6 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 04d7 191c lrri $AC0.L, @$AR0 + 04d8 2ece srs @DSMAH, $AC0.M + 04d9 2ccf srs @DSMAL, $AC0.L + 04da 1fc6 mrr $AC0.M, $IX2 + 04db 2ecd srs @DSPA, $AC0.M + 04dc 16c9 0001 si @DSCR, #0x0001 + 04de 16cb 0480 si @DSBL, #0x0480 // dma from 0x0880 to mem32[0x0C02], 1152 bytes. + 04e0 02bf 0084 call 0084_WaitForDMACompletion() + 04e2 02bf 04e6 call 0x04e6 + 04e4 029f 006f jmp 006f_MailHandler() +} + +void 04e6_Unk() { + 04e6 8b00 m0 + 04e7 8100 clr $ACC0 + 04e8 1fc4 mrr $AC0.M, $IX0 + 04e9 1fe5 mrr $AC1.M, $IX1 + 04ea 5d00 sub $ACC1, $ACC0 + 04eb 009a 02ab lri $AX0.H, #0x02ab + 04ed 009b 02aa lri $AX1.H, #0x02aa + 04ef 0081 0d08 lri $AR1, #0x0d08 + 04f1 d000 mulc $AC1.M, $AX0.H + 04f2 d400 mulcac $AC1.M, $AX0.H, $ACC0 + 04f3 111f 04f7 bloopi #0x1f, 0x04f7 + 04f5 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 04f6 d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 04f7 d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 04f8 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 04f9 4e31 addp's $ACC0 : @$AR1, $AC0.M + 04fa 1b25 srri @$AR1, $IX1 + 04fb 8e00 set16 + 04fc 191f lrri $AC1.M, @$AR0 + 04fd 191d lrri $AC1.L, @$AR0 + 04fe 2fce srs @DSMAH, $AC1.M + 04ff 2dcf srs @DSMAL, $AC1.L + 0500 8900 clr $ACC1 + 0501 1fa6 mrr $AC1.L, $IX2 + 0502 2dcd srs @DSPA, $AC1.L + 0503 16c9 0000 si @DSCR, #0x0000 + 0505 16cb 0480 si @DSBL, #0x0480 + 0507 02bf 0084 call 0084_WaitForDMACompletion() + 0509 00e0 0cd2 sr @0x0cd2, $AR0 + 050b 8f00 set40 + 050c 8d00 set15 + 050d 8a00 m2 + 050e 0080 0d08 lri $AR0, #0x0d08 + 0510 0081 0000 lri $AR1, #0x0000 + 0512 1c41 mrr $AR2, $AR1 + 0513 1c66 mrr $AR3, $IX2 + 0514 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0515 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0516 a000 mulx $AX0.L, $AX1.L + 0517 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0518 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 0519 4e00 addp $ACC0 + 051a 4800 addax $ACC0, $AX0.L + 051b 112f 052a bloopi #0x2f, 0x052a + 051d 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 051e 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 051f a000 mulx $AX0.L, $AX1.L + 0520 af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0521 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0522 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0523 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0524 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0525 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0526 a000 mulx $AX0.L, $AX1.L + 0527 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0528 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 0529 4e3a addp's $ACC0 : @$AR2, $AC1.M + 052a 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 052b 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 052c 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 052d a000 mulx $AX0.L, $AX1.L + 052e af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 052f 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0530 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0531 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0532 1b5f srri @$AR2, $AC1.M + 0533 1b5d srri @$AR2, $AC1.L + 0534 0080 0d08 lri $AR0, #0x0d08 + 0536 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0537 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0538 a000 mulx $AX0.L, $AX1.L + 0539 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 053a 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 053b 4e00 addp $ACC0 + 053c 4800 addax $ACC0, $AX0.L + 053d 112f 054c bloopi #0x2f, 0x054c + 053f 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0540 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0541 a000 mulx $AX0.L, $AX1.L + 0542 af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0543 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0544 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0545 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0546 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0547 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0548 a000 mulx $AX0.L, $AX1.L + 0549 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 054a 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 054b 4e3a addp's $ACC0 : @$AR2, $AC1.M + 054c 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 054d 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 054e 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 054f a000 mulx $AX0.L, $AX1.L + 0550 af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0551 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0552 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0553 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0554 1b5f srri @$AR2, $AC1.M + 0555 1b5d srri @$AR2, $AC1.L + 0556 0080 0d08 lri $AR0, #0x0d08 + 0558 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0559 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 055a a000 mulx $AX0.L, $AX1.L + 055b ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 055c 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 055d 4e00 addp $ACC0 + 055e 4800 addax $ACC0, $AX0.L + 055f 112f 056e bloopi #0x2f, 0x056e + 0561 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0562 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0563 a000 mulx $AX0.L, $AX1.L + 0564 af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0565 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0566 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0567 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0568 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0569 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 056a a000 mulx $AX0.L, $AX1.L + 056b ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 056c 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 056d 4e3a addp's $ACC0 : @$AR2, $AC1.M + 056e 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 056f 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0570 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0571 a000 mulx $AX0.L, $AX1.L + 0572 af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0573 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0574 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0575 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0576 1b5f srri @$AR2, $AC1.M + 0577 1b5d srri @$AR2, $AC1.L + 0578 00c0 0cd2 lr $AR0, @0x0cd2 + 057a 02df ret +} + +void 057b_Cmd_A() { + 057b 8d00 set15 + 057c 8f00 set40 + 057d 8a00 m2 + 057e 8900 clr $ACC1 + 057f 8168 clr'l $ACC0 : $AC1.L, @$AR0 + 0580 0098 0000 lri $AX0.L, #0x0000 + 0582 0099 0001 lri $AX1.L, #0x0001 + 0584 0081 0000 lri $AR1, #0x0000 + 0586 193e lrri $AC0.M, @$AR1 + 0587 193c lrri $AC0.L, @$AR1 + 0588 1160 0593 bloopi #0x60, 0x0593 + 058a a100 tstaxl $ACC0 + 058b 8271 cmp'l : $AC0.M, @$AR1 + 058c 0277 ifc + 058d 1f19 mrr $AX0.L, $AX1.L + 058e 193c lrri $AC0.L, @$AR1 + 058f a100 tstaxl $ACC0 + 0590 8271 cmp'l : $AC0.M, @$AR1 + 0591 0277 ifc + 0592 1f19 mrr $AX0.L, $AX1.L + 0593 193c lrri $AC0.L, @$AR1 + 0594 1fd8 mrr $AC0.M, $AX0.L + 0595 b100 tst $ACC0 + 0596 0294 05c0 jnz 0x05c0 + 0598 00de 0ce4 lr $AC0.M, @0x0ce4 + 059a b100 tst $ACC0 + 059b 0294 05a2 jnz 0x05a2 + 059d 191c lrri $AC0.L, @$AR0 + 059e 191c lrri $AC0.L, @$AR0 + 059f 191c lrri $AC0.L, @$AR0 + 05a0 029f 006f jmp 006f_MailHandler() + 05a2 8b00 m0 + 05a3 7a00 dec $ACC0 + 05a4 00fe 0ce4 sr @0x0ce4, $AC0.M + 05a6 8400 clrp + 05a7 0099 00c0 lri $AX1.L, #0x00c0 + 05a9 1f1e mrr $AX0.L, $AC0.M + 05aa a000 mulx $AX0.L, $AX1.L + 05ab 191e lrri $AC0.M, @$AR0 + 05ac 191e lrri $AC0.M, @$AR0 + 05ad 191c lrri $AC0.L, @$AR0 + 05ae 00e0 0cd2 sr @0x0cd2, $AR0 + 05b0 009a 0000 lri $AX0.H, #0x0000 + 05b2 0098 0840 lri $AX0.L, #0x0840 + 05b4 4e00 addp $ACC0 + 05b5 4800 addax $ACC0, $AX0.L + 05b6 2ece srs @DSMAH, $AC0.M + 05b7 2ccf srs @DSMAL, $AC0.L + 05b8 16cd 0d08 si @DSPA, #0x0d08 + 05ba 16c9 0000 si @DSCR, #0x0000 + 05bc 16cb 00c0 si @DSBL, #0x00c0 + 05be 029f 05d6 jmp 0x05d6 + 05c0 8b00 m0 + 05c1 00d8 0ce4 lr $AX0.L, @0x0ce4 + 05c3 0099 00c0 lri $AX1.L, #0x00c0 + 05c5 a000 mulx $AX0.L, $AX1.L + 05c6 191e lrri $AC0.M, @$AR0 + 05c7 00fe 0ce4 sr @0x0ce4, $AC0.M + 05c9 191e lrri $AC0.M, @$AR0 + 05ca 191c lrri $AC0.L, @$AR0 + 05cb 00e0 0cd2 sr @0x0cd2, $AR0 + 05cd 4e00 addp $ACC0 + 05ce 2ece srs @DSMAH, $AC0.M + 05cf 2ccf srs @DSMAL, $AC0.L + 05d0 16cd 0d08 si @DSPA, #0x0d08 + 05d2 16c9 0000 si @DSCR, #0x0000 + 05d4 16cb 00c0 si @DSBL, #0x00c0 + 05d6 02bf 0084 call 0084_WaitForDMACompletion() + 05d8 8a48 m2'l : $AX1.L, @$AR0 + 05d9 0083 0d08 lri $AR3, #0x0d08 + 05db 0080 0000 lri $AR0, #0x0000 + 05dd 0081 0000 lri $AR1, #0x0000 + 05df 1979 lrri $AX1.L, @$AR3 + 05e0 193a lrri $AX0.H, @$AR1 + 05e1 b041 mulx'l $AX0.H, $AX1.L : $AX0.L, @$AR1 + 05e2 a64b mulxmv'l $AX0.L, $AX1.L, $ACC0 : $AX1.L, @$AR3 + 05e3 f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 05e4 b441 mulxac'l $AX0.H, $AX1.L, $ACC0 : $AX0.L, @$AR1 + 05e5 9100 asr16 $ACC0 + 05e6 1130 05ef bloopi #0x30, 0x05ef + 05e8 a792 mulxmv'sl $AX0.L, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 05e9 f151 lsl16'l $ACC1 : $AX0.H, @$AR1 + 05ea b520 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR0, $AC0.L + 05eb 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 05ec a693 mulxmv'sl $AX0.L, $AX1.L, $ACC0 : $AC1.M, $AX1.L + 05ed f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 05ee b428 mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC1.L + 05ef 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 05f0 0083 0d08 lri $AR3, #0x0d08 + 05f2 0080 00c0 lri $AR0, #0x00c0 + 05f4 0081 00c0 lri $AR1, #0x00c0 + 05f6 1979 lrri $AX1.L, @$AR3 + 05f7 193a lrri $AX0.H, @$AR1 + 05f8 b041 mulx'l $AX0.H, $AX1.L : $AX0.L, @$AR1 + 05f9 a64b mulxmv'l $AX0.L, $AX1.L, $ACC0 : $AX1.L, @$AR3 + 05fa f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 05fb b441 mulxac'l $AX0.H, $AX1.L, $ACC0 : $AX0.L, @$AR1 + 05fc 9100 asr16 $ACC0 + 05fd 1130 0606 bloopi #0x30, 0x0606 + 05ff a792 mulxmv'sl $AX0.L, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 0600 f151 lsl16'l $ACC1 : $AX0.H, @$AR1 + 0601 b520 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR0, $AC0.L + 0602 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0603 a693 mulxmv'sl $AX0.L, $AX1.L, $ACC0 : $AC1.M, $AX1.L + 0604 f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 0605 b428 mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC1.L + 0606 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 0607 00c0 0cd2 lr $AR0, @0x0cd2 + 0609 029f 006f jmp 006f_MailHandler() +} + +void 060b_Cmd_B() { + 060b 8e48 set16'l : $AX1.L, @$AR0 + 060c 8b70 m0'l : $AC0.M, @$AR0 + 060d 8960 clr'l $ACC1 : $AC0.L, @$AR0 + 060e 00e0 0cd2 sr @0x0cd2, $AR0 + 0610 2ece srs @DSMAH, $AC0.M + 0611 2ccf srs @DSMAL, $AC0.L + 0612 16cd 0180 si @DSPA, #0x0180 + 0614 16c9 0001 si @DSCR, #0x0001 + 0616 16cb 0180 si @DSBL, #0x0180 + 0618 8100 clr $ACC0 + 0619 00de 0ce5 lr $AC0.M, @0x0ce5 + 061b 1ff9 mrr $AC1.M, $AX1.L + 061c 5d00 sub $ACC1, $ACC0 + 061d 00f9 0ce5 sr @0x0ce5, $AX1.L + 061f 009a 02ab lri $AX0.H, #0x02ab + 0621 009b 02aa lri $AX1.H, #0x02aa + 0623 0081 0d08 lri $AR1, #0x0d08 + 0625 d000 mulc $AC1.M, $AX0.H + 0626 d400 mulcac $AC1.M, $AX0.H, $ACC0 + 0627 111f 062b bloopi #0x1f, 0x062b + 0629 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 062a d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 062b d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 062c dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 062d 4e31 addp's $ACC0 : @$AR1, $AC0.M + 062e 1b39 srri @$AR1, $AX1.L + 062f 02bf 0084 call 0084_WaitForDMACompletion() + 0631 8f00 set40 + 0632 8d00 set15 + 0633 8a00 m2 + 0634 0080 0d08 lri $AR0, #0x0d08 + 0636 0081 0400 lri $AR1, #0x0400 + 0638 0083 0000 lri $AR3, #0x0000 + 063a 0082 00c0 lri $AR2, #0x00c0 + 063c 1918 lrri $AX0.L, @$AR0 + 063d 195b lrri $AX1.H, @$AR2 + 063e 1959 lrri $AX1.L, @$AR2 + 063f a000 mulx $AX0.L, $AX1.L + 0640 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0641 9100 asr16 $ACC0 + 0642 4e5b addp'l $ACC0 : $AX1.H, @$AR3 + 0643 f04b lsl16'l $ACC0 : $AX1.L, @$AR3 + 0644 115f 064f bloopi #0x5f, 0x064f + 0646 a031 mulx's $AX0.L, $AX1.L : @$AR1, $AC0.M + 0647 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0648 9140 asr16'l $ACC0 : $AX0.L, @$AR0 + 0649 4e5a addp'l $ACC0 : $AX1.H, @$AR2 + 064a f04a lsl16'l $ACC0 : $AX1.L, @$AR2 + 064b a031 mulx's $AX0.L, $AX1.L : @$AR1, $AC0.M + 064c ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 064d 9100 asr16 $ACC0 + 064e 4e5b addp'l $ACC0 : $AX1.H, @$AR3 + 064f f04b lsl16'l $ACC0 : $AX1.L, @$AR3 + 0650 a031 mulx's $AX0.L, $AX1.L : @$AR1, $AC0.M + 0651 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0652 9100 asr16 $ACC0 + 0653 4e00 addp $ACC0 + 0654 f000 lsl16 $ACC0 + 0655 1b3e srri @$AR1, $AC0.M + 0656 8e00 set16 + 0657 00c0 0cd2 lr $AR0, @0x0cd2 + 0659 191e lrri $AC0.M, @$AR0 + 065a 191c lrri $AC0.L, @$AR0 + 065b 2ece srs @DSMAH, $AC0.M + 065c 2ccf srs @DSMAL, $AC0.L + 065d 16cd 0400 si @DSPA, #0x0400 + 065f 16c9 0001 si @DSCR, #0x0001 + 0661 16cb 0180 si @DSBL, #0x0180 + 0663 02bf 0084 call 0084_WaitForDMACompletion() + 0665 16fc dcd1 si @DMBH, #0xdcd1 <--------------!!! + 0667 16fd 0004 si @DMBL, #0x0004 <--------------!!! + 0669 16fb 0001 si @DIRQ, #0x0001 <--------------!!! + 066b 26fc lrs $AC0.M, @DMBH + 066c 02a0 8000 andf $AC0.M, #0x8000 + 066e 029c 066b jlnz 0x066b + 0670 029f 006f jmp 006f_MailHandler() +} + +// Command 0xE - AXList end +void 0672_Cmd_E() { + 0672 16fc dcd1 si @DMBH, #0xdcd1 + 0674 16fd 0002 si @DMBL, #0x0002 + 0676 16fb 0001 si @DIRQ, #0x0001 // send a 0xDCD10002 and trigger an IRQ + 0678 029f 0f9b jmp 0x0f9b + 067a 029f 004c jmp 0x004c +} + +void 067c_Cmd_D() { + 067c 8c00 clr15 + 067d 8a00 m2 + 067e 8f00 set40 + 067f 0081 0ac0 lri $AR1, #0x0ac0 + 0681 0082 0240 lri $AR2, #0x0240 + 0683 1fa1 mrr $AC1.L, $AR1 + 0684 1112 0689 bloopi #0x12, 0x0689 + 0686 195e lrri $AC0.M, @$AR2 + 0687 195c lrri $AC0.L, @$AR2 + 0688 f000 lsl16 $ACC0 + 0689 1b3e srri @$AR1, $AC0.M + 068a 191e lrri $AC0.M, @$AR0 + 068b 191c lrri $AC0.L, @$AR0 + 068c 2ece srs @DSMAH, $AC0.M + 068d 2ccf srs @DSMAL, $AC0.L + 068e 2dcd srs @DSPA, $AC1.L + 068f 1103 06a2 bloopi #0x03, 0x06a2 + 0691 16c9 0001 si @DSCR, #0x0001 + 0693 16cb 0024 si @DSBL, #0x0024 + 0695 1fa1 mrr $AC1.L, $AR1 + 0696 1112 069b bloopi #0x12, 0x069b + 0698 195e lrri $AC0.M, @$AR2 + 0699 195c lrri $AC0.L, @$AR2 + 069a f000 lsl16 $ACC0 + 069b 1b3e srri @$AR1, $AC0.M + 069c 02bf 0084 call 0084_WaitForDMACompletion() + 069e 191e lrri $AC0.M, @$AR0 + 069f 191c lrri $AC0.L, @$AR0 + 06a0 2ece srs @DSMAH, $AC0.M + 06a1 2ccf srs @DSMAL, $AC0.L + 06a2 2dcd srs @DSPA, $AC1.L + 06a3 16c9 0001 si @DSCR, #0x0001 + 06a5 16cb 0024 si @DSBL, #0x0024 + 06a7 02bf 0084 call 0084_WaitForDMACompletion() + 06a9 029f 006f jmp 006f_MailHandler() +} + +void 06ab_unknown() { + 06ab 0087 ffff lri $IX3, #0xffff + 06ad 1c83 mrr $IX0, $AR3 + 06ae 197e lrri $AC0.M, @$AR3 + 06af 80e1 nx'ld : $AX0.H, $AX1.L, @$AR1 + 06b0 b04f mulx'ln $AX0.H, $AX1.L : $AX1.L, @$AR3 + 06b1 1f5e mrr $AX0.H, $AC0.M + 06b2 e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 06b3 b64f mulxmv'ln $AX0.H, $AX1.L, $ACC0 : $AX1.L, @$AR3 + 06b4 1f5e mrr $AX0.H, $AC0.M + 06b5 e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 06b6 112f 06bd bloopi #0x2f, 0x06bd + 06b8 b79a mulxmv'slm $AX0.H, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 06b9 1f5f mrr $AX0.H, $AC1.M + 06ba e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 06bb b69b mulxmv'slm $AX0.H, $AX1.L, $ACC0 : $AC1.M, $AX1.L + 06bc 1f5e mrr $AX0.H, $AC0.M + 06bd e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 06be 6f30 movp's $ACC1 : @$AR0, $AC0.M + 06bf 1b1f srri @$AR0, $AC1.M + 06c0 1c64 mrr $AR3, $IX0 + 06c1 1b7f srri @$AR3, $AC1.M + 06c2 02df ret +} + +void 06c3_Unknown() { + 06c3 8c00 clr15 + 06c4 8b00 m0 + 06c5 1ca0 mrr $IX1, $AR0 + 06c6 0083 0370 lri $AR3, #0x0370 + 06c8 191a lrri $AX0.H, @$AR0 + 06c9 1918 lrri $AX0.L, @$AR0 + 06ca 1b7a srri @$AR3, $AX0.H + 06cb 1b78 srri @$AR3, $AX0.L + 06cc 1919 lrri $AX1.L, @$AR0 + 06cd 191b lrri $AX1.H, @$AR0 + 06ce 0083 0d03 lri $AR3, #0x0d03 + 06d0 1105 06d3 bloopi #0x05, 0x06d3 + 06d2 191a lrri $AX0.H, @$AR0 + 06d3 1b7a srri @$AR3, $AX0.H + 06d4 0080 0d03 lri $AR0, #0x0d03 + 06d6 0088 0004 lri $WR0, #0x0004 + 06d8 0083 0370 lri $AR3, #0x0370 + 06da 008b 0001 lri $WR3, #0x0001 + 06dc 0087 0000 lri $IX3, #0x0000 + 06de 193f lrri $AC1.M, @$AR1 + 06df 191a lrri $AX0.H, @$AR0 + 06e0 d0c3 mulc'ld $AC1.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 06e1 f2cb madd'ldm $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 06e2 f2a9 madd'lsm $AX0.L, $AX0.H : $AX0.H, $AC1.M + 06e3 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 06e4 e379 maddx'l $AX0.H, $AX1.H : $AC1.M, @$AR1 + 06e5 6e50 movp'l $ACC0 : $AX0.H, @$AR0 + 06e6 1482 asl $ACC0, #2 + 06e7 fc00 clrl $AC1.L + 06e8 1f7e mrr $AX1.H, $AC0.M + 06e9 1b5e srri @$AR2, $AC0.M + 06ea 112f 06ff bloopi #0x2f, 0x06ff + 06ec d0c3 mulc'ld $AC1.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 06ed f2cb madd'ldm $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 06ee f2a9 madd'lsm $AX0.L, $AX0.H : $AX0.H, $AC1.M + 06ef e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 06f0 e279 maddx'l $AX0.H, $AX1.L : $AC1.M, @$AR1 + 06f1 6e50 movp'l $ACC0 : $AX0.H, @$AR0 + 06f2 1482 asl $ACC0, #2 + 06f3 fc00 clrl $AC1.L + 06f4 1f3e mrr $AX1.L, $AC0.M + 06f5 1b5e srri @$AR2, $AC0.M + 06f6 d0c3 mulc'ld $AC1.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 06f7 f2cb madd'ldm $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 06f8 f2a9 madd'lsm $AX0.L, $AX0.H : $AX0.H, $AC1.M + 06f9 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 06fa e379 maddx'l $AX0.H, $AX1.H : $AC1.M, @$AR1 + 06fb 6e50 movp'l $ACC0 : $AX0.H, @$AR0 + 06fc 1482 asl $ACC0, #2 + 06fd fc00 clrl $AC1.L + 06fe 1f7e mrr $AX1.H, $AC0.M + 06ff 1b5e srri @$AR2, $AC0.M + 0700 d0c3 mulc'ld $AC1.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0701 f2cb madd'ldm $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0702 f2a9 madd'lsm $AX0.L, $AX0.H : $AX0.H, $AC1.M + 0703 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0704 e200 maddx $AX0.H, $AX1.L + 0705 6e00 movp $ACC0 + 0706 1482 asl $ACC0, #2 + 0707 fc00 clrl $AC1.L + 0708 1f3e mrr $AX1.L, $AC0.M + 0709 1b5e srri @$AR2, $AC0.M + 070a 0088 ffff lri $WR0, #0xffff + 070c 008b ffff lri $WR3, #0xffff + 070e 1c05 mrr $AR0, $IX1 + 070f 0083 0370 lri $AR3, #0x0370 + 0711 197a lrri $AX0.H, @$AR3 + 0712 1978 lrri $AX0.L, @$AR3 + 0713 1b1a srri @$AR0, $AX0.H + 0714 1b18 srri @$AR0, $AX0.L + 0715 1b19 srri @$AR0, $AX1.L + 0716 1b1b srri @$AR0, $AX1.H + 0717 8d00 set15 + 0718 8a00 m2 + 0719 02df ret +} + +// Sample rate converter #0 - None +// + 071a 02bf 07e6 call 0x07e6_SetupAccelerator() + 071c 8c00 clr15 + 071d 8a00 m2 + 071e 8f00 set40 + // Read ratio + 071f 195b lrri $AX1.H, @$AR2 + 0720 1959 lrri $AX1.L, @$AR2 + 0721 8100 clr $ACC0 + // Read cur_addr fractional part + 0722 195c lrri $AC0.L, @$AR2 + 0723 0080 0d08 lri $AR0, #0x0d08 + 0725 0088 0003 lri $WR0, #0x0003 + // Read the last samples, copy them to 0x0D08 + 0727 195f lrri $AC1.M, @$AR2 + 0728 1b1f srri @$AR0, $AC1.M + 0729 195f lrri $AC1.M, @$AR2 + 072a 1b1f srri @$AR0, $AC1.M + 072b 195f lrri $AC1.M, @$AR2 + 072c 1b1f srri @$AR0, $AC1.M + 072d 195f lrri $AC1.M, @$AR2 + 072e 1b1f srri @$AR0, $AC1.M + + 072f 0081 0c60 lri $AR1, #0x0c60 + 0731 0082 ffdd lri $AR2, #0xffdd + 0733 00c7 0ce0 lr $IX3, @0x0ce0 + 0735 4a00 addax $ACC0, $AX1.L + 0736 1160 074a bloopi #0x60, 0x074a + 0738 8912 clr'mv $ACC1 : $AX0.L, $AC0.M + 0739 1fbc mrr $AC1.L, $AC0.L + 073a 1577 lsr $ACC1, #-9 + 073b 1512 lsl $ACC1, #18 + 073c 1c7f mrr $AR3, $AC1.M + 073d 001f addarn $AR3, $IX3 + 073e 0078 0743 bloop $AX0.L, 0x0743 + 0740 185a lrr $AX0.H, @$AR2 + 0741 1b1a srri @$AR0, $AX0.H + 0742 5000 subr $ACC0, $AX0.L + 0743 1f1d mrr $AX0.L, $AC1.L + 0744 4ac3 addax'ld $ACC0, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0745 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0746 97c3 mulmv'ld $AX0.L, $AX0.H, $ACC1 : $AX0.L, $AX1.L, @$AR3 + 0747 95c3 mulac'ld $AX0.L, $AX0.H, $ACC1 : $AX0.L, $AX1.L, @$AR3 + 0748 9500 mulac $AX0.L, $AX0.H, $ACC1 + 0749 4f00 addp $ACC1 + 074a 1b3f srri @$AR1, $AC1.M + 074b 5a00 subax $ACC0, $AX1.L + 074c 0004 dar $AR0 + 074d 0082 0329 lri $AR2, #0x0329 + 074f 189f lrrd $AC1.M, @$AR0 + 0750 1adf srrd @$AR2, $AC1.M + 0751 189f lrrd $AC1.M, @$AR0 + 0752 1adf srrd @$AR2, $AC1.M + 0753 189f lrrd $AC1.M, @$AR0 + 0754 1adf srrd @$AR2, $AC1.M + 0755 189f lrrd $AC1.M, @$AR0 + 0756 1adf srrd @$AR2, $AC1.M + 0757 0088 ffff lri $WR0, #0xffff + 0759 1adc srrd @$AR2, $AC0.L + 075a 0082 0322 lri $AR2, #0x0322 + 075c 27dc lrs $AC1.M, @yn2 + 075d 1adf srrd @$AR2, $AC1.M + 075e 27db lrs $AC1.M, @yn1 + 075f 1adf srrd @$AR2, $AC1.M + 0760 27da lrs $AC1.M, @pred_scale + 0761 1adf srrd @$AR2, $AC1.M + 0762 0082 030e lri $AR2, #0x030e + 0764 27d9 lrs $AC1.M, @ACCAL + 0765 1adf srrd @$AR2, $AC1.M + 0766 27d8 lrs $AC1.M, @ACCAH + 0767 1adf srrd @$AR2, $AC1.M + 0768 8e00 set16 + 0769 8b00 m0 + 076a 02df ret + +// Sample rate converter #1 - ? +// + 076b 02bf 07e6 call 0x07e6_SetupAccelerator() + 076d 8d00 set15 + 076e 8b00 m0 + 076f 8f00 set40 + 0770 195b lrri $AX1.H, @$AR2 + 0771 1945 lrri $IX1, @$AR2 + 0772 8100 clr $ACC0 + 0773 195c lrri $AC0.L, @$AR2 + 0774 0080 0d08 lri $AR0, #0x0d08 + 0776 0088 0003 lri $WR0, #0x0003 + 0778 0084 0003 lri $IX0, #0x0003 + 077a 195f lrri $AC1.M, @$AR2 + 077b 1b1f srri @$AR0, $AC1.M + 077c 195f lrri $AC1.M, @$AR2 + 077d 1b1f srri @$AR0, $AC1.M + 077e 195f lrri $AC1.M, @$AR2 + 077f 1b1f srri @$AR0, $AC1.M + 0780 195f lrri $AC1.M, @$AR2 + 0781 1b1f srri @$AR0, $AC1.M + 0782 0081 0c60 lri $AR1, #0x0c60 + 0784 0082 ffdd lri $AR2, #0xffdd + 0786 1f25 mrr $AX1.L, $IX1 + 0787 4a00 addax $ACC0, $AX1.L + 0788 1160 079f bloopi #0x60, 0x079f + 078a 8912 clr'mv $ACC1 : $AX0.L, $AC0.M + 078b 0078 0790 bloop $AX0.L, 0x0790 + 078d 185a lrr $AX0.H, @$AR2 + 078e 1b1a srri @$AR0, $AX0.H + 078f 5000 subr $ACC0, $AX0.L + 0790 1f1f mrr $AX0.L, $AC1.M + 0791 7c00 neg $ACC0 + 0792 b114 tst'mv $ACC0 : $AX1.L, $AC0.L + 0793 0294 0799 jnz 0x0799 + 0795 191f lrri $AC1.M, @$AR0 + 0796 0010 addarn $AR0, $IX0 + 0797 029f 079e jmp 0x079e + 0799 7c50 neg'l $ACC0 : $AX0.H, @$AR0 + 079a b014 mulx'mv $AX0.H, $AX1.L : $AX1.L, $AC0.L + 079b 199a lrrn $AX0.H, @$AR0 + 079c b700 mulxmv $AX0.H, $AX1.L, $ACC1 + 079d 4f00 addp $ACC1 + 079e 1f25 mrr $AX1.L, $IX1 + 079f 4a39 addax's $ACC0, $AX1.L : @$AR1, $AC1.M + 07a0 5a00 subax $ACC0, $AX1.L + 07a1 0004 dar $AR0 + 07a2 0082 0329 lri $AR2, #0x0329 + 07a4 189f lrrd $AC1.M, @$AR0 + 07a5 1adf srrd @$AR2, $AC1.M + 07a6 189f lrrd $AC1.M, @$AR0 + 07a7 1adf srrd @$AR2, $AC1.M + 07a8 189f lrrd $AC1.M, @$AR0 + 07a9 1adf srrd @$AR2, $AC1.M + 07aa 189f lrrd $AC1.M, @$AR0 + 07ab 1adf srrd @$AR2, $AC1.M + 07ac 0088 ffff lri $WR0, #0xffff + 07ae 1adc srrd @$AR2, $AC0.L + 07af 0082 0322 lri $AR2, #0x0322 + 07b1 27dc lrs $AC1.M, @yn2 + 07b2 1adf srrd @$AR2, $AC1.M + 07b3 27db lrs $AC1.M, @yn1 + 07b4 1adf srrd @$AR2, $AC1.M + 07b5 27da lrs $AC1.M, @pred_scale + 07b6 1adf srrd @$AR2, $AC1.M + 07b7 0082 030e lri $AR2, #0x030e + 07b9 27d9 lrs $AC1.M, @ACCAL + 07ba 1adf srrd @$AR2, $AC1.M + 07bb 27d8 lrs $AC1.M, @ACCAH + 07bc 1adf srrd @$AR2, $AC1.M + 07bd 8e00 set16 + 07be 8c00 clr15 + 07bf 02df ret + +// Sample rate converter #2 - No sample rate conversion +// Just copies 96 bytes of data to the output buffer +// + 07c0 02bf 07e6 call 0x07e6_SetupAccelerator() + 07c2 0080 0c60 lri $AR0, #0x0c60 + 07c4 0082 ffdd lri $AR2, #0xffdd // 0xFFDD: ACDAT + 07c6 1160 07cb bloopi #0x60, 0x07cb + 07c8 1844 lrr $IX0, @$AR2 // Load a sample from accelerator + 07c9 1b04 srri @$AR0, $IX0 // and store it to 0x0C60+ + 07ca 0000 nop + 07cb 0000 nop + 07cc 0004 dar $AR0 + // Save the 4 last samples in the PB + 07cd 0082 0329 lri $AR2, #0x0329 + 07cf 189f lrrd $AC1.M, @$AR0 + 07d0 1adf srrd @$AR2, $AC1.M + 07d1 189f lrrd $AC1.M, @$AR0 + 07d2 1adf srrd @$AR2, $AC1.M + 07d3 189f lrrd $AC1.M, @$AR0 + 07d4 1adf srrd @$AR2, $AC1.M + 07d5 189f lrrd $AC1.M, @$AR0 + 07d6 1adf srrd @$AR2, $AC1.M + // Save the accelerator regs in the PB + 07d7 0082 0322 lri $AR2, #0x0322 + // YN1 and YN2 + 07d9 27dc lrs $AC1.M, @yn2 + 07da 1adf srrd @$AR2, $AC1.M + 07db 27db lrs $AC1.M, @yn1 + 07dc 1adf srrd @$AR2, $AC1.M + // Pred scale + 07dd 27da lrs $AC1.M, @pred_scale + 07de 1adf srrd @$AR2, $AC1.M + 07df 0082 030e lri $AR2, #0x030e + // Current address + 07e1 27d9 lrs $AC1.M, @ACCAL + 07e2 1adf srrd @$AR2, $AC1.M + 07e3 27d8 lrs $AC1.M, @ACCAH + 07e4 1adf srrd @$AR2, $AC1.M + 07e5 02df ret + +// Called by the three sample rate converters above. +// Sets up the accelerator so that it can be used to +// read the audio data. +// The accelerator area is set to be the same length +// as the sound data being played, so that looping +// will be handled by exception vector #5 (ACCOV). +// Parameters: None +// Return: AR0 = 0x0328 +// +07e6_SetupAccelerator() +{ + // Set the accelerator regs from the PB + 07e6 0082 0308 lri $AR2, #0x0308 + // Sample format + 07e8 195e lrri $AC0.M, @$AR2 + 07e9 2ed1 srs @SampleFormat, $AC0.M + // Start address + 07ea 195e lrri $AC0.M, @$AR2 + 07eb 2ed4 srs @ACSAH, $AC0.M + 07ec 195e lrri $AC0.M, @$AR2 + 07ed 2ed5 srs @ACSAL, $AC0.M + // End address + 07ee 195e lrri $AC0.M, @$AR2 + 07ef 2ed6 srs @ACEAH, $AC0.M + 07f0 195e lrri $AC0.M, @$AR2 + 07f1 2ed7 srs @ACEAL, $AC0.M + // Current address + 07f2 195e lrri $AC0.M, @$AR2 + 07f3 2ed8 srs @ACCAH, $AC0.M + 07f4 195e lrri $AC0.M, @$AR2 + 07f5 2ed9 srs @ACCAL, $AC0.M + // 16 coefs + 07f6 195e lrri $AC0.M, @$AR2 + 07f7 2ea0 srs @COEF_A1_0, $AC0.M + 07f8 195e lrri $AC0.M, @$AR2 + 07f9 2ea1 srs @COEF_A2_0, $AC0.M + 07fa 195e lrri $AC0.M, @$AR2 + 07fb 2ea2 srs @COEF_A1_1, $AC0.M + 07fc 195e lrri $AC0.M, @$AR2 + 07fd 2ea3 srs @COEF_A2_1, $AC0.M + 07fe 195e lrri $AC0.M, @$AR2 + 07ff 2ea4 srs @COEF_A1_2, $AC0.M + 0800 195e lrri $AC0.M, @$AR2 + 0801 2ea5 srs @COEF_A2_2, $AC0.M + 0802 195e lrri $AC0.M, @$AR2 + 0803 2ea6 srs @COEF_A1_3, $AC0.M + 0804 195e lrri $AC0.M, @$AR2 + 0805 2ea7 srs @COEF_A2_3, $AC0.M + 0806 195e lrri $AC0.M, @$AR2 + 0807 2ea8 srs @COEF_A1_4, $AC0.M + 0808 195e lrri $AC0.M, @$AR2 + 0809 2ea9 srs @COEF_A2_4, $AC0.M + 080a 195e lrri $AC0.M, @$AR2 + 080b 2eaa srs @COEF_A1_5, $AC0.M + 080c 195e lrri $AC0.M, @$AR2 + 080d 2eab srs @COEF_A2_5, $AC0.M + 080e 195e lrri $AC0.M, @$AR2 + 080f 2eac srs @COEF_A1_6, $AC0.M + 0810 195e lrri $AC0.M, @$AR2 + 0811 2ead srs @COEF_A2_6, $AC0.M + 0812 195e lrri $AC0.M, @$AR2 + 0813 2eae srs @COEF_A1_7, $AC0.M + 0814 195e lrri $AC0.M, @$AR2 + 0815 2eaf srs @COEF_A2_7, $AC0.M + // Gain + 0816 195e lrri $AC0.M, @$AR2 + 0817 2ede srs @GAIN, $AC0.M + // Pred scale + 0818 195e lrri $AC0.M, @$AR2 + 0819 2eda srs @pred_scale, $AC0.M + // YN1 and YN2 + 081a 195e lrri $AC0.M, @$AR2 + 081b 2edb srs @yn1, $AC0.M + 081c 195e lrri $AC0.M, @$AR2 + 081d 2edc srs @yn2, $AC0.M + 081e 02df ret +} + +// Volume_0_0 + 081f 02df ret + +// Volume_0_1 + 0820 00c0 0ce2 lr $AR0, @0x0ce2 + 0822 0081 02da lri $AR1, #0x02da + 0824 0082 0000 lri $AR2, #0x0000 + 0826 1c62 mrr $AR3, $AR2 + 0827 02bf 0bd1 call 0bd1_ApplyVolume1(mem16[0x0ce2], 0x02da, 0x0000, 0x0000) + 0829 00f8 02f9 sr @0x02f9, $AX0.L // uh? the last is saved in updates field? + 082b 02df ret + + 082c 00c0 0ce3 lr $AR0, @0x0ce3 + 082e 0081 02dc lri $AR1, #0x02dc + 0830 0082 00c0 lri $AR2, #0x00c0 + 0832 1c62 mrr $AR3, $AR2 + 0833 02bf 0bd1 call 0bd1_Unknown() + 0835 00f8 02fd sr @0x02fd, $AX0.L + 0837 02df ret + + 0838 00c0 0ce2 lr $AR0, @0x0ce2 + 083a 0081 02da lri $AR1, #0x02da + 083c 0082 0000 lri $AR2, #0x0000 + 083e 1c62 mrr $AR3, $AR2 + 083f 00c4 0ce3 lr $IX0, @0x0ce3 + 0841 0085 00c0 lri $IX1, #0x00c0 + 0843 02bf 0beb call 0x0beb + 0845 00f8 02f9 sr @0x02f9, $AX0.L + 0847 00fb 02fd sr @0x02fd, $AX1.H + 0849 02df ret + + 084a 00c0 0ce2 lr $AR0, @0x0ce2 + 084c 0081 02da lri $AR1, #0x02da + 084e 0082 0000 lri $AR2, #0x0000 + 0850 0083 0d08 lri $AR3, #0x0d08 + 0852 00c4 0ce3 lr $IX0, @0x0ce3 + 0854 0085 00c0 lri $IX1, #0x00c0 + 0856 02bf 0c51 call 0x0c51 + 0858 00f8 02f9 sr @0x02f9, $AX0.L + 085a 00fb 02fd sr @0x02fd, $AX1.H + 085c 02df ret + + 085d 00c0 0ce1 lr $AR0, @0x0ce1 + 085f 0081 02ea lri $AR1, #0x02ea + 0861 0082 0180 lri $AR2, #0x0180 + 0863 1c62 mrr $AR3, $AR2 + 0864 02bf 0bd1 call 0bd1_Unknown() + 0866 00f8 0301 sr @0x0301, $AX0.L + 0868 02df ret + + 0869 00c0 0ce1 lr $AR0, @0x0ce1 + 086b 0081 02ea lri $AR1, #0x02ea + 086d 0082 0180 lri $AR2, #0x0180 + 086f 1c62 mrr $AR3, $AR2 + 0870 02bf 0bd1 call 0bd1_Unknown() + 0872 00f8 0301 sr @0x0301, $AX0.L + 0874 029f 0820 jmp 0x0820 + 0876 00c0 0ce1 lr $AR0, @0x0ce1 + 0878 0081 02ea lri $AR1, #0x02ea + 087a 0082 0180 lri $AR2, #0x0180 + 087c 1c62 mrr $AR3, $AR2 + 087d 02bf 0bd1 call 0bd1_Unknown() + 087f 00f8 0301 sr @0x0301, $AX0.L + 0881 029f 082c jmp 0x082c + 0883 00c0 0ce1 lr $AR0, @0x0ce1 + 0885 0081 02ea lri $AR1, #0x02ea + 0887 0082 0180 lri $AR2, #0x0180 + 0889 1c62 mrr $AR3, $AR2 + 088a 02bf 0bd1 call 0bd1_Unknown() + 088c 00f8 0301 sr @0x0301, $AX0.L + 088e 029f 0838 jmp 0x0838 + 0890 00c0 0ce1 lr $AR0, @0x0ce1 + 0892 0081 02ea lri $AR1, #0x02ea + 0894 0082 0180 lri $AR2, #0x0180 + 0896 1c62 mrr $AR3, $AR2 + 0897 02bf 0bd1 call 0bd1_Unknown() + 0899 00f8 0301 sr @0x0301, $AX0.L + 089b 029f 084a jmp 0x084a + 089d 00c0 0ce1 lr $AR0, @0x0ce1 + 089f 0081 02ea lri $AR1, #0x02ea + 08a1 0082 0180 lri $AR2, #0x0180 + 08a3 0083 0d08 lri $AR3, #0x0d08 + 08a5 02bf 0c21 call 0c21_Unknown() + 08a7 00f8 0301 sr @0x0301, $AX0.L + 08a9 02df ret + + 08aa 00c0 0ce1 lr $AR0, @0x0ce1 + 08ac 0081 02ea lri $AR1, #0x02ea + 08ae 0082 0180 lri $AR2, #0x0180 + 08b0 0083 0d08 lri $AR3, #0x0d08 + 08b2 02bf 0c21 call 0c21_Unknown() + 08b4 00f8 0301 sr @0x0301, $AX0.L + 08b6 029f 0820 jmp 0x0820 + 08b8 00c0 0ce1 lr $AR0, @0x0ce1 + 08ba 0081 02ea lri $AR1, #0x02ea + 08bc 0082 0180 lri $AR2, #0x0180 + 08be 0083 0d08 lri $AR3, #0x0d08 + 08c0 02bf 0c21 call 0c21_Unknown() + 08c2 00f8 0301 sr @0x0301, $AX0.L + 08c4 029f 082c jmp 0x082c + 08c6 00c0 0ce1 lr $AR0, @0x0ce1 + 08c8 0081 02ea lri $AR1, #0x02ea + 08ca 0082 0180 lri $AR2, #0x0180 + 08cc 0083 0d08 lri $AR3, #0x0d08 + 08ce 02bf 0c21 call 0c21_Unknown() + 08d0 00f8 0301 sr @0x0301, $AX0.L + 08d2 029f 0838 jmp 0x0838 + 08d4 00c0 0ce1 lr $AR0, @0x0ce1 + 08d6 0081 02ea lri $AR1, #0x02ea + 08d8 0082 0180 lri $AR2, #0x0180 + 08da 0083 0d08 lri $AR3, #0x0d08 + 08dc 02bf 0c21 call 0c21_Unknown() + 08de 00f8 0301 sr @0x0301, $AX0.L + 08e0 029f 084a jmp 0x084a + 08e2 00c0 0ce2 lr $AR0, @0x0ce2 + 08e4 0081 02de lri $AR1, #0x02de + 08e6 0082 0400 lri $AR2, #0x0400 + 08e8 1c62 mrr $AR3, $AR2 + 08e9 02bf 0bd1 call 0bd1_Unknown() + 08eb 00f8 02fa sr @0x02fa, $AX0.L + 08ed 02df ret + + 08ee 00c0 0ce3 lr $AR0, @0x0ce3 + 08f0 0081 02e0 lri $AR1, #0x02e0 + 08f2 0082 04c0 lri $AR2, #0x04c0 + 08f4 1c62 mrr $AR3, $AR2 + 08f5 02bf 0bd1 call 0bd1_Unknown() + 08f7 00f8 02fe sr @0x02fe, $AX0.L + 08f9 02df ret + + 08fa 00c0 0ce2 lr $AR0, @0x0ce2 + 08fc 0081 02de lri $AR1, #0x02de + 08fe 0082 0400 lri $AR2, #0x0400 + 0900 1c62 mrr $AR3, $AR2 + 0901 00c4 0ce3 lr $IX0, @0x0ce3 + 0903 0085 04c0 lri $IX1, #0x04c0 + 0905 02bf 0beb call 0x0beb + 0907 00f8 02fa sr @0x02fa, $AX0.L + 0909 00fb 02fe sr @0x02fe, $AX1.H + 090b 02df ret + + 090c 00c0 0ce2 lr $AR0, @0x0ce2 + 090e 0081 02de lri $AR1, #0x02de + 0910 0082 0400 lri $AR2, #0x0400 + 0912 0083 0d08 lri $AR3, #0x0d08 + 0914 00c4 0ce3 lr $IX0, @0x0ce3 + 0916 0085 04c0 lri $IX1, #0x04c0 + 0918 02bf 0c51 call 0x0c51 + 091a 00f8 02fa sr @0x02fa, $AX0.L + 091c 00fb 02fe sr @0x02fe, $AX1.H + 091e 02df ret + + 091f 00c0 0ce1 lr $AR0, @0x0ce1 + 0921 0081 02ec lri $AR1, #0x02ec + 0923 0082 0580 lri $AR2, #0x0580 + 0925 1c62 mrr $AR3, $AR2 + 0926 02bf 0bd1 call 0bd1_Unknown() + 0928 00f8 0302 sr @0x0302, $AX0.L + 092a 02df ret + + 092b 00c0 0ce1 lr $AR0, @0x0ce1 + 092d 0081 02ec lri $AR1, #0x02ec + 092f 0082 0580 lri $AR2, #0x0580 + 0931 1c62 mrr $AR3, $AR2 + 0932 02bf 0bd1 call 0bd1_Unknown() + 0934 00f8 0302 sr @0x0302, $AX0.L + 0936 029f 08e2 jmp 0x08e2 + 0938 00c0 0ce1 lr $AR0, @0x0ce1 + 093a 0081 02ec lri $AR1, #0x02ec + 093c 0082 0580 lri $AR2, #0x0580 + 093e 1c62 mrr $AR3, $AR2 + 093f 02bf 0bd1 call 0bd1_Unknown() + 0941 00f8 0302 sr @0x0302, $AX0.L + 0943 029f 08ee jmp 0x08ee + 0945 00c0 0ce1 lr $AR0, @0x0ce1 + 0947 0081 02ec lri $AR1, #0x02ec + 0949 0082 0580 lri $AR2, #0x0580 + 094b 1c62 mrr $AR3, $AR2 + 094c 02bf 0bd1 call 0bd1_Unknown() + 094e 00f8 0302 sr @0x0302, $AX0.L + 0950 029f 08fa jmp 0x08fa + 0952 00c0 0ce1 lr $AR0, @0x0ce1 + 0954 0081 02ec lri $AR1, #0x02ec + 0956 0082 0580 lri $AR2, #0x0580 + 0958 1c62 mrr $AR3, $AR2 + 0959 02bf 0bd1 call 0bd1_Unknown() + 095b 00f8 0302 sr @0x0302, $AX0.L + 095d 029f 090c jmp 0x090c + 095f 00c0 0ce1 lr $AR0, @0x0ce1 + 0961 0081 02ec lri $AR1, #0x02ec + 0963 0082 0580 lri $AR2, #0x0580 + 0965 0083 0d08 lri $AR3, #0x0d08 + 0967 02bf 0c21 call 0c21_Unknown() + 0969 00f8 0302 sr @0x0302, $AX0.L + 096b 02df ret + + 096c 00c0 0ce1 lr $AR0, @0x0ce1 + 096e 0081 02ec lri $AR1, #0x02ec + 0970 0082 0580 lri $AR2, #0x0580 + 0972 0083 0d08 lri $AR3, #0x0d08 + 0974 02bf 0c21 call 0c21_Unknown() + 0976 00f8 0302 sr @0x0302, $AX0.L + 0978 029f 08e2 jmp 0x08e2 + 097a 00c0 0ce1 lr $AR0, @0x0ce1 + 097c 0081 02ec lri $AR1, #0x02ec + 097e 0082 0580 lri $AR2, #0x0580 + 0980 0083 0d08 lri $AR3, #0x0d08 + 0982 02bf 0c21 call 0c21_Unknown() + 0984 00f8 0302 sr @0x0302, $AX0.L + 0986 029f 08ee jmp 0x08ee + 0988 00c0 0ce1 lr $AR0, @0x0ce1 + 098a 0081 02ec lri $AR1, #0x02ec + 098c 0082 0580 lri $AR2, #0x0580 + 098e 0083 0d08 lri $AR3, #0x0d08 + 0990 02bf 0c21 call 0c21_Unknown() + 0992 00f8 0302 sr @0x0302, $AX0.L + 0994 029f 08fa jmp 0x08fa + 0996 00c0 0ce1 lr $AR0, @0x0ce1 + 0998 0081 02ec lri $AR1, #0x02ec + 099a 0082 0580 lri $AR2, #0x0580 + 099c 0083 0d08 lri $AR3, #0x0d08 + 099e 02bf 0c21 call 0c21_Unknown() + 09a0 00f8 0302 sr @0x0302, $AX0.L + 09a2 029f 090c jmp 0x090c + 09a4 00c0 0ce2 lr $AR0, @0x0ce2 + 09a6 0081 02e2 lri $AR1, #0x02e2 + 09a8 0082 0640 lri $AR2, #0x0640 + 09aa 1c62 mrr $AR3, $AR2 + 09ab 02bf 0bd1 call 0bd1_Unknown() + 09ad 00f8 02fb sr @0x02fb, $AX0.L + 09af 02df ret + + 09b0 00c0 0ce3 lr $AR0, @0x0ce3 + 09b2 0081 02e4 lri $AR1, #0x02e4 + 09b4 0082 0700 lri $AR2, #0x0700 + 09b6 1c62 mrr $AR3, $AR2 + 09b7 02bf 0bd1 call 0bd1_Unknown() + 09b9 00f8 02ff sr @0x02ff, $AX0.L + 09bb 02df ret + + 09bc 00c0 0ce2 lr $AR0, @0x0ce2 + 09be 0081 02e2 lri $AR1, #0x02e2 + 09c0 0082 0640 lri $AR2, #0x0640 + 09c2 1c62 mrr $AR3, $AR2 + 09c3 00c4 0ce3 lr $IX0, @0x0ce3 + 09c5 0085 0700 lri $IX1, #0x0700 + 09c7 02bf 0beb call 0x0beb + 09c9 00f8 02fb sr @0x02fb, $AX0.L + 09cb 00fb 02ff sr @0x02ff, $AX1.H + 09cd 02df ret + + 09ce 00c0 0ce2 lr $AR0, @0x0ce2 + 09d0 0081 02e2 lri $AR1, #0x02e2 + 09d2 0082 0640 lri $AR2, #0x0640 + 09d4 0083 0d08 lri $AR3, #0x0d08 + 09d6 00c4 0ce3 lr $IX0, @0x0ce3 + 09d8 0085 0700 lri $IX1, #0x0700 + 09da 02bf 0c51 call 0x0c51 + 09dc 00f8 02fb sr @0x02fb, $AX0.L + 09de 00fb 02ff sr @0x02ff, $AX1.H + 09e0 02df ret + + 09e1 00c0 0ce1 lr $AR0, @0x0ce1 + 09e3 0081 02ee lri $AR1, #0x02ee + 09e5 0082 07c0 lri $AR2, #0x07c0 + 09e7 1c62 mrr $AR3, $AR2 + 09e8 02bf 0bd1 call 0bd1_Unknown() + 09ea 00f8 0303 sr @0x0303, $AX0.L + 09ec 02df ret + + 09ed 00c0 0ce1 lr $AR0, @0x0ce1 + 09ef 0081 02ee lri $AR1, #0x02ee + 09f1 0082 07c0 lri $AR2, #0x07c0 + 09f3 1c62 mrr $AR3, $AR2 + 09f4 02bf 0bd1 call 0bd1_Unknown() + 09f6 00f8 0303 sr @0x0303, $AX0.L + 09f8 029f 09a4 jmp 0x09a4 + 09fa 00c0 0ce1 lr $AR0, @0x0ce1 + 09fc 0081 02ee lri $AR1, #0x02ee + 09fe 0082 07c0 lri $AR2, #0x07c0 + 0a00 1c62 mrr $AR3, $AR2 + 0a01 02bf 0bd1 call 0bd1_Unknown() + 0a03 00f8 0303 sr @0x0303, $AX0.L + 0a05 029f 09b0 jmp 0x09b0 + 0a07 00c0 0ce1 lr $AR0, @0x0ce1 + 0a09 0081 02ee lri $AR1, #0x02ee + 0a0b 0082 07c0 lri $AR2, #0x07c0 + 0a0d 1c62 mrr $AR3, $AR2 + 0a0e 02bf 0bd1 call 0bd1_Unknown() + 0a10 00f8 0303 sr @0x0303, $AX0.L + 0a12 029f 09bc jmp 0x09bc + 0a14 00c0 0ce1 lr $AR0, @0x0ce1 + 0a16 0081 02ee lri $AR1, #0x02ee + 0a18 0082 07c0 lri $AR2, #0x07c0 + 0a1a 1c62 mrr $AR3, $AR2 + 0a1b 02bf 0bd1 call 0bd1_Unknown() + 0a1d 00f8 0303 sr @0x0303, $AX0.L + 0a1f 029f 09ce jmp 0x09ce + 0a21 00c0 0ce1 lr $AR0, @0x0ce1 + 0a23 0081 02ee lri $AR1, #0x02ee + 0a25 0082 07c0 lri $AR2, #0x07c0 + 0a27 0083 0d08 lri $AR3, #0x0d08 + 0a29 02bf 0c21 call 0c21_Unknown() + 0a2b 00f8 0303 sr @0x0303, $AX0.L + 0a2d 02df ret + + 0a2e 00c0 0ce1 lr $AR0, @0x0ce1 + 0a30 0081 02ee lri $AR1, #0x02ee + 0a32 0082 07c0 lri $AR2, #0x07c0 + 0a34 0083 0d08 lri $AR3, #0x0d08 + 0a36 02bf 0c21 call 0c21_Unknown() + 0a38 00f8 0303 sr @0x0303, $AX0.L + 0a3a 029f 09a4 jmp 0x09a4 + 0a3c 00c0 0ce1 lr $AR0, @0x0ce1 + 0a3e 0081 02ee lri $AR1, #0x02ee + 0a40 0082 07c0 lri $AR2, #0x07c0 + 0a42 0083 0d08 lri $AR3, #0x0d08 + 0a44 02bf 0c21 call 0c21_Unknown() + 0a46 00f8 0303 sr @0x0303, $AX0.L + 0a48 029f 09b0 jmp 0x09b0 + 0a4a 00c0 0ce1 lr $AR0, @0x0ce1 + 0a4c 0081 02ee lri $AR1, #0x02ee + 0a4e 0082 07c0 lri $AR2, #0x07c0 + 0a50 0083 0d08 lri $AR3, #0x0d08 + 0a52 02bf 0c21 call 0c21_Unknown() + 0a54 00f8 0303 sr @0x0303, $AX0.L + 0a56 029f 09bc jmp 0x09bc + 0a58 00c0 0ce1 lr $AR0, @0x0ce1 + 0a5a 0081 02ee lri $AR1, #0x02ee + 0a5c 0082 07c0 lri $AR2, #0x07c0 + 0a5e 0083 0d08 lri $AR3, #0x0d08 + 0a60 02bf 0c21 call 0c21_Unknown() + 0a62 00f8 0303 sr @0x0303, $AX0.L + 0a64 029f 09ce jmp 0x09ce + 0a66 00c0 0ce2 lr $AR0, @0x0ce2 + 0a68 0081 02e6 lri $AR1, #0x02e6 + 0a6a 0082 0880 lri $AR2, #0x0880 + 0a6c 1c62 mrr $AR3, $AR2 + 0a6d 02bf 0bd1 call 0bd1_Unknown() + 0a6f 00f8 02fc sr @0x02fc, $AX0.L + 0a71 02df ret + + 0a72 00c0 0ce3 lr $AR0, @0x0ce3 + 0a74 0081 02e8 lri $AR1, #0x02e8 + 0a76 0082 0940 lri $AR2, #0x0940 + 0a78 1c62 mrr $AR3, $AR2 + 0a79 02bf 0bd1 call 0bd1_Unknown() + 0a7b 00f8 0300 sr @0x0300, $AX0.L + 0a7d 02df ret + + 0a7e 00c0 0ce2 lr $AR0, @0x0ce2 + 0a80 0081 02e6 lri $AR1, #0x02e6 + 0a82 0082 0880 lri $AR2, #0x0880 + 0a84 1c62 mrr $AR3, $AR2 + 0a85 00c4 0ce3 lr $IX0, @0x0ce3 + 0a87 0085 0940 lri $IX1, #0x0940 + 0a89 02bf 0beb call 0x0beb + 0a8b 00f8 02fc sr @0x02fc, $AX0.L + 0a8d 00fb 0300 sr @0x0300, $AX1.H + 0a8f 02df ret + + 0a90 00c0 0ce2 lr $AR0, @0x0ce2 + 0a92 0081 02e6 lri $AR1, #0x02e6 + 0a94 0082 0880 lri $AR2, #0x0880 + 0a96 0083 0d08 lri $AR3, #0x0d08 + 0a98 00c4 0ce3 lr $IX0, @0x0ce3 + 0a9a 0085 0940 lri $IX1, #0x0940 + 0a9c 02bf 0c51 call 0x0c51 + 0a9e 00f8 02fc sr @0x02fc, $AX0.L + 0aa0 00fb 0300 sr @0x0300, $AX1.H + 0aa2 02df ret + 0aa3 00c0 0ce1 lr $AR0, @0x0ce1 + 0aa5 0081 02f0 lri $AR1, #0x02f0 + 0aa7 0082 0a00 lri $AR2, #0x0a00 + 0aa9 1c62 mrr $AR3, $AR2 + 0aaa 02bf 0bd1 call 0bd1_Unknown() + 0aac 00f8 0304 sr @0x0304, $AX0.L + 0aae 02df ret + + 0aaf 00c0 0ce1 lr $AR0, @0x0ce1 + 0ab1 0081 02f0 lri $AR1, #0x02f0 + 0ab3 0082 0a00 lri $AR2, #0x0a00 + 0ab5 1c62 mrr $AR3, $AR2 + 0ab6 02bf 0bd1 call 0bd1_Unknown() + 0ab8 00f8 0304 sr @0x0304, $AX0.L + 0aba 029f 0a66 jmp 0x0a66 + 0abc 00c0 0ce1 lr $AR0, @0x0ce1 + 0abe 0081 02f0 lri $AR1, #0x02f0 + 0ac0 0082 0a00 lri $AR2, #0x0a00 + 0ac2 1c62 mrr $AR3, $AR2 + 0ac3 02bf 0bd1 call 0bd1_Unknown() + 0ac5 00f8 0304 sr @0x0304, $AX0.L + 0ac7 029f 0a72 jmp 0x0a72 + 0ac9 00c0 0ce1 lr $AR0, @0x0ce1 + 0acb 0081 02f0 lri $AR1, #0x02f0 + 0acd 0082 0a00 lri $AR2, #0x0a00 + 0acf 1c62 mrr $AR3, $AR2 + 0ad0 02bf 0bd1 call 0bd1_Unknown() + 0ad2 00f8 0304 sr @0x0304, $AX0.L + 0ad4 029f 0a7e jmp 0x0a7e + 0ad6 00c0 0ce1 lr $AR0, @0x0ce1 + 0ad8 0081 02f0 lri $AR1, #0x02f0 + 0ada 0082 0a00 lri $AR2, #0x0a00 + 0adc 1c62 mrr $AR3, $AR2 + 0add 02bf 0bd1 call 0bd1_Unknown() + 0adf 00f8 0304 sr @0x0304, $AX0.L + 0ae1 029f 0a90 jmp 0x0a90 + 0ae3 00c0 0ce1 lr $AR0, @0x0ce1 + 0ae5 0081 02f0 lri $AR1, #0x02f0 + 0ae7 0082 0a00 lri $AR2, #0x0a00 + 0ae9 0083 0d08 lri $AR3, #0x0d08 + 0aeb 02bf 0c21 call 0c21_Unknown() + 0aed 00f8 0304 sr @0x0304, $AX0.L + 0aef 02df ret + + 0af0 00c0 0ce1 lr $AR0, @0x0ce1 + 0af2 0081 02f0 lri $AR1, #0x02f0 + 0af4 0082 0a00 lri $AR2, #0x0a00 + 0af6 0083 0d08 lri $AR3, #0x0d08 + 0af8 02bf 0c21 call 0c21_Unknown() + 0afa 00f8 0304 sr @0x0304, $AX0.L + 0afc 029f 0a66 jmp 0x0a66 + 0afe 00c0 0ce1 lr $AR0, @0x0ce1 + 0b00 0081 02f0 lri $AR1, #0x02f0 + 0b02 0082 0a00 lri $AR2, #0x0a00 + 0b04 0083 0d08 lri $AR3, #0x0d08 + 0b06 02bf 0c21 call 0c21_Unknown() + 0b08 00f8 0304 sr @0x0304, $AX0.L + 0b0a 029f 0a72 jmp 0x0a72 + 0b0c 00c0 0ce1 lr $AR0, @0x0ce1 + 0b0e 0081 02f0 lri $AR1, #0x02f0 + 0b10 0082 0a00 lri $AR2, #0x0a00 + 0b12 0083 0d08 lri $AR3, #0x0d08 + 0b14 02bf 0c21 call 0c21_Unknown() + 0b16 00f8 0304 sr @0x0304, $AX0.L + 0b18 029f 0a7e jmp 0x0a7e + 0b1a 00c0 0ce1 lr $AR0, @0x0ce1 + 0b1c 0081 02f0 lri $AR1, #0x02f0 + 0b1e 0082 0a00 lri $AR2, #0x0a00 + 0b20 0083 0d08 lri $AR3, #0x0d08 + 0b22 02bf 0c21 call 0c21_Unknown() + 0b24 00f8 0304 sr @0x0304, $AX0.L + 0b26 029f 0a90 jmp 0x0a90 + 0b28 00c0 0ce1 lr $AR0, @0x0ce1 + 0b2a 0081 02e6 lri $AR1, #0x02e6 + 0b2c 0082 0880 lri $AR2, #0x0880 + 0b2e 1c62 mrr $AR3, $AR2 + 0b2f 02bf 0bd1 call 0bd1_Unknown() + 0b31 00f8 02fc sr @0x02fc, $AX0.L + 0b33 02df ret + + 0b34 00c0 0ce1 lr $AR0, @0x0ce1 + 0b36 0081 02e8 lri $AR1, #0x02e8 + 0b38 0082 0940 lri $AR2, #0x0940 + 0b3a 1c62 mrr $AR3, $AR2 + 0b3b 02bf 0bd1 call 0bd1_Unknown() + 0b3d 00f8 0300 sr @0x0300, $AX0.L + 0b3f 02df ret + + 0b40 00c0 0ce1 lr $AR0, @0x0ce1 + 0b42 0081 02e6 lri $AR1, #0x02e6 + 0b44 0082 0880 lri $AR2, #0x0880 + 0b46 1c62 mrr $AR3, $AR2 + 0b47 00c4 0ce1 lr $IX0, @0x0ce1 + 0b49 0085 0940 lri $IX1, #0x0940 + 0b4b 02bf 0beb call 0x0beb + 0b4d 00f8 02fc sr @0x02fc, $AX0.L + 0b4f 00fb 0300 sr @0x0300, $AX1.H + 0b51 02df ret + +void 0b52_Maybe_Mixer() { + 0b52 00c0 0ce1 lr $AR0, @0x0ce1 + 0b54 0081 02e6 lri $AR1, #0x02e6 + 0b56 0082 0880 lri $AR2, #0x0880 + 0b58 0083 0d08 lri $AR3, #0x0d08 + 0b5a 00c4 0ce1 lr $IX0, @0x0ce1 + 0b5c 0085 0940 lri $IX1, #0x0940 + 0b5e 02bf 0c51 call 0x0c51 + 0b60 00f8 02fc sr @0x02fc, $AX0.L + 0b62 00fb 0300 sr @0x0300, $AX1.H + 0b64 02df ret + 0b65 00c0 0ce1 lr $AR0, @0x0ce1 + 0b67 0081 02f0 lri $AR1, #0x02f0 + 0b69 0082 0a00 lri $AR2, #0x0a00 + 0b6b 1c62 mrr $AR3, $AR2 + 0b6c 02bf 0bd1 call 0bd1_Unknown() + 0b6e 00f8 0304 sr @0x0304, $AX0.L + 0b70 029f 0b28 jmp 0x0b28 + 0b72 00c0 0ce1 lr $AR0, @0x0ce1 + 0b74 0081 02f0 lri $AR1, #0x02f0 + 0b76 0082 0a00 lri $AR2, #0x0a00 + 0b78 1c62 mrr $AR3, $AR2 + 0b79 02bf 0bd1 call 0bd1_Unknown() + 0b7b 00f8 0304 sr @0x0304, $AX0.L + 0b7d 029f 0b34 jmp 0x0b34 + 0b7f 00c0 0ce1 lr $AR0, @0x0ce1 + 0b81 0081 02f0 lri $AR1, #0x02f0 + 0b83 0082 0a00 lri $AR2, #0x0a00 + 0b85 1c62 mrr $AR3, $AR2 + 0b86 02bf 0bd1 call 0bd1_Unknown() + 0b88 00f8 0304 sr @0x0304, $AX0.L + 0b8a 029f 0b40 jmp 0x0b40 + 0b8c 00c0 0ce1 lr $AR0, @0x0ce1 + 0b8e 0081 02f0 lri $AR1, #0x02f0 + 0b90 0082 0a00 lri $AR2, #0x0a00 + 0b92 1c62 mrr $AR3, $AR2 + 0b93 02bf 0bd1 call 0bd1_Unknown() + 0b95 00f8 0304 sr @0x0304, $AX0.L + 0b97 029f 0b52 jmp 0x0b52 + 0b99 00c0 0ce1 lr $AR0, @0x0ce1 + 0b9b 0081 02f0 lri $AR1, #0x02f0 + 0b9d 0082 0a00 lri $AR2, #0x0a00 + 0b9f 0083 0d08 lri $AR3, #0x0d08 + 0ba1 02bf 0c21 call 0c21_Unknown() + 0ba3 00f8 0304 sr @0x0304, $AX0.L + 0ba5 029f 0b28 jmp 0x0b28 + 0ba7 00c0 0ce1 lr $AR0, @0x0ce1 + 0ba9 0081 02f0 lri $AR1, #0x02f0 + 0bab 0082 0a00 lri $AR2, #0x0a00 + 0bad 0083 0d08 lri $AR3, #0x0d08 + 0baf 02bf 0c21 call 0c21_Unknown() + 0bb1 00f8 0304 sr @0x0304, $AX0.L + 0bb3 029f 0b34 jmp 0x0b34 + 0bb5 00c0 0ce1 lr $AR0, @0x0ce1 + 0bb7 0081 02f0 lri $AR1, #0x02f0 + 0bb9 0082 0a00 lri $AR2, #0x0a00 + 0bbb 0083 0d08 lri $AR3, #0x0d08 + 0bbd 02bf 0c21 call 0c21_Unknown() + 0bbf 00f8 0304 sr @0x0304, $AX0.L + 0bc1 029f 0b40 jmp 0x0b40 + 0bc3 00c0 0ce1 lr $AR0, @0x0ce1 + 0bc5 0081 02f0 lri $AR1, #0x02f0 + 0bc7 0082 0a00 lri $AR2, #0x0a00 + 0bc9 0083 0d08 lri $AR3, #0x0d08 + 0bcb 02bf 0c21 call 0c21_Unknown() + 0bcd 00f8 0304 sr @0x0304, $AX0.L + 0bcf 029f 0b52 jmp 0x0b52 +} + +// Volume +// AR0: factor table? +// AR1: factor +// AR2: input +// AR3: output +// returns: last in AX0.L (16 highest bits) +// +// basically: +// for (i = 0; i < 96; i++) +// out[i] = ((in[i*2+1] << 16) + (ar0[i] * factor)) >> 16; +// +// so that you don't bang your head against your keyboard trying to figure +// out those awful pipelined loops (I had to get myself a new head to finish +// this one). :P +// +void 0bd1_ApplyVolume1() { + 0bd1 191a lrri $AX0.H, @$AR0 // ax0.h = mem[ar0++] + 0bd2 1939 lrri $AX1.L, @$AR1 // ax1.l = mem[ar1++] + 0bd3 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 // = ax0.h * ax1.l; ac0.m = mem[ar2++] + 0bd4 195c lrri $AC0.L, @$AR2 // ac0.l = mem[ar2++] + 0bd5 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 // acc0 <<= 16; ac1.m = mem[ar2++] + 0bd6 191a lrri $AX0.H, @$AR0 // ax0.h = mem[ar0++] + 0bd7 b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 // acc0 += ; = ax0.h * ax1.l; ac1.l = mem[ar2++] + 0bd8 9100 asr16 $ACC0 // acc0 >>= 16 + 0bd9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M // acc1 <<= 16; ax0.h = mem[ar0++]; mem[ar3++] = ac0.m + 0bda 112f 0be3 bloopi #0x2f, 0x0be3 // for (i = 0; i < 0x2f; i++) + 0bdc b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L // acc1 += ; = ax0.h * ax1.l; mem[ar3++] = ac0.l; + 0bdd 9972 asr16'l $ACC1 : $AC0.M, @$AR2 // acc1 >>= 16; ac0.m = mem[ar2++] + 0bde 195c lrri $AC0.L, @$AR2 // ac0.l = mem[ar2++]; + 0bdf f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M // acc0 <<= 16; ax0.h = mem[ar0++]; mem[ar3++] = ac1.m + 0be0 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L // acc0 += ; = ax0.h * ax1.l; mem[ar3++] = ac1.l; + 0be1 917a asr16'l $ACC0 : $AC1.M, @$AR2 // acc0 >>= 16; ac1.m = mem[ar2++] + 0be2 195d lrri $AC1.L, @$AR2 // ac1.l = mem[ar2++]; + 0be3 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M // acc1 <<= 16; ax0.h = mem[ar0++]; mem[ar3++] = ac0.m + 0be4 1b7c srri @$AR3, $AC0.L // mem[ar3++] = ac0.l; + 0be5 6e00 movp $ACC0 // acc0 = ; + 0be6 4f12 addp'mv $ACC1 : $AX0.L, $AC0.M // acc1 += ; ax0.l = ac0.m; + 0be7 9900 asr16 $ACC1 // acc1 >>= 16; + 0be8 1b7f srri @$AR3, $AC1.M // mem[ar3++] = ac1.m; + 0be9 812b clr's $ACC0 : @$AR3, $AC1.L // acc0 = 0; mem[ar3++] = ac1.l; + 0bea 02df ret +} + + 0beb 191a lrri $AX0.H, @$AR0 + 0bec 1939 lrri $AX1.L, @$AR1 + 0bed b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 + 0bee 195c lrri $AC0.L, @$AR2 + 0bef f07a lsl16'l $ACC0 : $AC1.M, @$AR2 + 0bf0 191a lrri $AX0.H, @$AR0 + 0bf1 b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 + 0bf2 9100 asr16 $ACC0 + 0bf3 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0bf4 112f 0bfd bloopi #0x2f, 0x0bfd + 0bf6 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0bf7 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0bf8 195c lrri $AC0.L, @$AR2 + 0bf9 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0bfa b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0bfb 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0bfc 195d lrri $AC1.L, @$AR2 + 0bfd f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0bfe 1b7c srri @$AR3, $AC0.L + 0bff 6e00 movp $ACC0 + 0c00 4f12 addp'mv $ACC1 : $AX0.L, $AC0.M + 0c01 9909 asr16'ir $ACC1 : $AR1 + 0c02 1b7f srri @$AR3, $AC1.M + 0c03 1b7d srri @$AR3, $AC1.L + 0c04 1c04 mrr $AR0, $IX0 + 0c05 1c45 mrr $AR2, $IX1 + 0c06 1c62 mrr $AR3, $AR2 + 0c07 191a lrri $AX0.H, @$AR0 + 0c08 1939 lrri $AX1.L, @$AR1 + 0c09 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 + 0c0a 195c lrri $AC0.L, @$AR2 + 0c0b f07a lsl16'l $ACC0 : $AC1.M, @$AR2 + 0c0c 191a lrri $AX0.H, @$AR0 + 0c0d b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 + 0c0e 9100 asr16 $ACC0 + 0c0f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c10 112f 0c19 bloopi #0x2f, 0x0c19 + 0c12 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0c13 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0c14 195c lrri $AC0.L, @$AR2 + 0c15 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0c16 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0c17 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0c18 195d lrri $AC1.L, @$AR2 + 0c19 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c1a 1b7c srri @$AR3, $AC0.L + 0c1b 6e00 movp $ACC0 + 0c1c 4f1e addp'mv $ACC1 : $AX1.H, $AC0.M + 0c1d 9900 asr16 $ACC1 + 0c1e 1b7f srri @$AR3, $AC1.M + 0c1f 1b7d srri @$AR3, $AC1.L + 0c20 02df ret + +void 0c21_Unknown() { + 0c21 1ce3 mrr $IX3, $AR3 + 0c22 8e00 set16 + 0c23 8100 clr $ACC0 + 0c24 8971 clr'l $ACC1 : $AC0.M, @$AR1 + 0c25 18bf lrrd $AC1.M, @$AR1 + 0c26 1b7e srri @$AR3, $AC0.M + 0c27 4c00 add $ACC0, $ACC1 + 0c28 1b7e srri @$AR3, $AC0.M + 0c29 112f 0c2e bloopi #0x2f, 0x0c2e + 0c2b 4c00 add $ACC0, $ACC1 + 0c2c 1b7e srri @$AR3, $AC0.M + 0c2d 4c00 add $ACC0, $ACC1 + 0c2e 1b7e srri @$AR3, $AC0.M + 0c2f 4c00 add $ACC0, $ACC1 + 0c30 1b3e srri @$AR1, $AC0.M + 0c31 1c27 mrr $AR1, $IX3 + 0c32 1c62 mrr $AR3, $AR2 + 0c33 8f50 set40'l : $AX0.H, @$AR0 + 0c34 1939 lrri $AX1.L, @$AR1 + 0c35 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 + 0c36 195c lrri $AC0.L, @$AR2 + 0c37 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 + 0c38 191a lrri $AX0.H, @$AR0 + 0c39 1939 lrri $AX1.L, @$AR1 + 0c3a b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 + 0c3b 9100 asr16 $ACC0 + 0c3c f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c3d 1939 lrri $AX1.L, @$AR1 + 0c3e 112f 0c49 bloopi #0x2f, 0x0c49 + 0c40 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0c41 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0c42 195c lrri $AC0.L, @$AR2 + 0c43 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0c44 1939 lrri $AX1.L, @$AR1 + 0c45 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0c46 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0c47 195d lrri $AC1.L, @$AR2 + 0c48 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c49 1939 lrri $AX1.L, @$AR1 + 0c4a 1b7c srri @$AR3, $AC0.L + 0c4b 6e00 movp $ACC0 + 0c4c 4f12 addp'mv $ACC1 : $AX0.L, $AC0.M + 0c4d 9900 asr16 $ACC1 + 0c4e 1b7f srri @$AR3, $AC1.M + 0c4f 1b7d srri @$AR3, $AC1.L + 0c50 02df ret + 0c51 1ce3 mrr $IX3, $AR3 + 0c52 8e00 set16 + 0c53 8100 clr $ACC0 + 0c54 8971 clr'l $ACC1 : $AC0.M, @$AR1 + 0c55 18bf lrrd $AC1.M, @$AR1 + 0c56 1b7e srri @$AR3, $AC0.M + 0c57 4c00 add $ACC0, $ACC1 + 0c58 1b7e srri @$AR3, $AC0.M + 0c59 112f 0c5e bloopi #0x2f, 0x0c5e + 0c5b 4c00 add $ACC0, $ACC1 + 0c5c 1b7e srri @$AR3, $AC0.M + 0c5d 4c00 add $ACC0, $ACC1 + 0c5e 1b7e srri @$AR3, $AC0.M + 0c5f 4c00 add $ACC0, $ACC1 + 0c60 1b3e srri @$AR1, $AC0.M + 0c61 0009 iar $AR1 + 0c62 8100 clr $ACC0 + 0c63 8971 clr'l $ACC1 : $AC0.M, @$AR1 + 0c64 18bf lrrd $AC1.M, @$AR1 + 0c65 1b7e srri @$AR3, $AC0.M + 0c66 4c00 add $ACC0, $ACC1 + 0c67 1b7e srri @$AR3, $AC0.M + 0c68 112f 0c6d bloopi #0x2f, 0x0c6d + 0c6a 4c00 add $ACC0, $ACC1 + 0c6b 1b7e srri @$AR3, $AC0.M + 0c6c 4c00 add $ACC0, $ACC1 + 0c6d 1b7e srri @$AR3, $AC0.M + 0c6e 4c00 add $ACC0, $ACC1 + 0c6f 1b3e srri @$AR1, $AC0.M + 0c70 1c27 mrr $AR1, $IX3 + 0c71 1c62 mrr $AR3, $AR2 + 0c72 8f50 set40'l : $AX0.H, @$AR0 + 0c73 1939 lrri $AX1.L, @$AR1 + 0c74 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 + 0c75 195c lrri $AC0.L, @$AR2 + 0c76 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 + 0c77 191a lrri $AX0.H, @$AR0 + 0c78 1939 lrri $AX1.L, @$AR1 + 0c79 b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 + 0c7a 9100 asr16 $ACC0 + 0c7b f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c7c 1939 lrri $AX1.L, @$AR1 + 0c7d 112f 0c88 bloopi #0x2f, 0x0c88 + 0c7f b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0c80 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0c81 195c lrri $AC0.L, @$AR2 + 0c82 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0c83 1939 lrri $AX1.L, @$AR1 + 0c84 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0c85 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0c86 195d lrri $AC1.L, @$AR2 + 0c87 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c88 1939 lrri $AX1.L, @$AR1 + 0c89 1b7c srri @$AR3, $AC0.L + 0c8a 6e00 movp $ACC0 + 0c8b 4f12 addp'mv $ACC1 : $AX0.L, $AC0.M + 0c8c 9905 asr16'dr $ACC1 : $AR1 + 0c8d 1b7f srri @$AR3, $AC1.M + 0c8e 1b7d srri @$AR3, $AC1.L + 0c8f 1c04 mrr $AR0, $IX0 + 0c90 1c45 mrr $AR2, $IX1 + 0c91 1c62 mrr $AR3, $AR2 + 0c92 191a lrri $AX0.H, @$AR0 + 0c93 1939 lrri $AX1.L, @$AR1 + 0c94 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 + 0c95 195c lrri $AC0.L, @$AR2 + 0c96 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 + 0c97 191a lrri $AX0.H, @$AR0 + 0c98 1939 lrri $AX1.L, @$AR1 + 0c99 b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 + 0c9a 9100 asr16 $ACC0 + 0c9b f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0c9c 1939 lrri $AX1.L, @$AR1 + 0c9d 112f 0ca8 bloopi #0x2f, 0x0ca8 + 0c9f b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0ca0 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0ca1 195c lrri $AC0.L, @$AR2 + 0ca2 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0ca3 1939 lrri $AX1.L, @$AR1 + 0ca4 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0ca5 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0ca6 195d lrri $AC1.L, @$AR2 + 0ca7 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0ca8 1939 lrri $AX1.L, @$AR1 + 0ca9 1b7c srri @$AR3, $AC0.L + 0caa 6e00 movp $ACC0 + 0cab 4f1e addp'mv $ACC1 : $AX1.H, $AC0.M + 0cac 9900 asr16 $ACC1 + 0cad 1b7f srri @$AR3, $AC1.M + 0cae 1b7d srri @$AR3, $AC1.L + 0caf 02df ret + 0cb0 0098 0000 lri $AX0.L, #0x0000 + 0cb2 02df ret +} + + 0cb3 0080 0cc0 lri $AR0, #0x0cc0 + 0cb5 1c62 mrr $AR3, $AR2 + 0cb6 1939 lrri $AX1.L, @$AR1 + 0cb7 191a lrri $AX0.H, @$AR0 + 0cb8 b000 mulx $AX0.H, $AX1.L + 0cb9 195e lrri $AC0.M, @$AR2 + 0cba 195c lrri $AC0.L, @$AR2 + 0cbb f050 lsl16'l $ACC0 : $AX0.H, @$AR0 + 0cbc b400 mulxac $AX0.H, $AX1.L, $ACC0 + 0cbd 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0cbe 195d lrri $AC1.L, @$AR2 + 0cbf f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0cc0 1108 0cc9 bloopi #0x08, 0x0cc9 + 0cc2 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0cc3 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0cc4 195c lrri $AC0.L, @$AR2 + 0cc5 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0cc6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0cc7 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0cc8 195d lrri $AC1.L, @$AR2 + 0cc9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0cca 4f23 addp's $ACC1 : @$AR3, $AC0.L + 0ccb 9900 asr16 $ACC1 + 0ccc 1b7f srri @$AR3, $AC1.M + 0ccd 6e2b movp's $ACC0 : @$AR3, $AC1.L + 0cce 1f1e mrr $AX0.L, $AC0.M + 0ccf 02df ret + 0cd0 0080 0cc0 lri $AR0, #0x0cc0 + 0cd2 0083 0d08 lri $AR3, #0x0d08 + 0cd4 1ce3 mrr $IX3, $AR3 + 0cd5 8e00 set16 + 0cd6 8100 clr $ACC0 + 0cd7 8971 clr'l $ACC1 : $AC0.M, @$AR1 + 0cd8 18bf lrrd $AC1.M, @$AR1 + 0cd9 1b7e srri @$AR3, $AC0.M + 0cda 4c00 add $ACC0, $ACC1 + 0cdb 1b7e srri @$AR3, $AC0.M + 0cdc 1108 0ce1 bloopi #0x08, 0x0ce1 + 0cde 4c00 add $ACC0, $ACC1 + 0cdf 1b7e srri @$AR3, $AC0.M + 0ce0 4c00 add $ACC0, $ACC1 + 0ce1 1b7e srri @$AR3, $AC0.M + 0ce2 4c00 add $ACC0, $ACC1 + 0ce3 1b3e srri @$AR1, $AC0.M + 0ce4 1c27 mrr $AR1, $IX3 + 0ce5 1c62 mrr $AR3, $AR2 + 0ce6 8f50 set40'l : $AX0.H, @$AR0 + 0ce7 1939 lrri $AX1.L, @$AR1 + 0ce8 b000 mulx $AX0.H, $AX1.L + 0ce9 195e lrri $AC0.M, @$AR2 + 0cea 195c lrri $AC0.L, @$AR2 + 0ceb f050 lsl16'l $ACC0 : $AX0.H, @$AR0 + 0cec 1939 lrri $AX1.L, @$AR1 + 0ced b400 mulxac $AX0.H, $AX1.L, $ACC0 + 0cee 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0cef 195d lrri $AC1.L, @$AR2 + 0cf0 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0cf1 1939 lrri $AX1.L, @$AR1 + 0cf2 1108 0cfd bloopi #0x08, 0x0cfd + 0cf4 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L + 0cf5 9972 asr16'l $ACC1 : $AC0.M, @$AR2 + 0cf6 195c lrri $AC0.L, @$AR2 + 0cf7 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M + 0cf8 1939 lrri $AX1.L, @$AR1 + 0cf9 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L + 0cfa 917a asr16'l $ACC0 : $AC1.M, @$AR2 + 0cfb 195d lrri $AC1.L, @$AR2 + 0cfc f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M + 0cfd 1939 lrri $AX1.L, @$AR1 + 0cfe 4f23 addp's $ACC1 : @$AR3, $AC0.L + 0cff 9900 asr16 $ACC1 + 0d00 1b7f srri @$AR3, $AC1.M + 0d01 6e2b movp's $ACC0 : @$AR3, $AC1.L + 0d02 1f1e mrr $AX0.L, $AC0.M + 0d03 02df ret + +// Command jump table + 0d04 008a // 0x0 - ??? + 0d05 0222 // 0x1 - ??? + 0d06 024f // 0x2 - ??? + 0d07 0e83 // 0x3 - ??? + 0d08 027e // 0x4 - set PBs address + 0d09 049b // 0x5 - ??? + 0d0a 04b4 // 0x6 - ??? + 0d0b 04cd // 0x7 - set output buffers + 0d0c 0dbd // 0x8 - ??? + 0d0d 0ddf // 0x9 - ??? + 0d0e 057b // 0xA - set compressor table + 0d0f 060b // 0xB - ??? + 0d10 0ec6 // 0xC - ??? + 0d11 067c // 0xD - ??? + 0d12 0672 // 0xE - The End + +// Table #1 - entry selected by PB[0x007] bits 0-4 + 0d13 081f lris $AX0.L, #0x1f // 0: Do nothing + 0d14 0820 lris $AX0.L, #0x20 + 0d15 082c lris $AX0.L, #0x2c + 0d16 0838 lris $AX0.L, #0x38 + 0d17 084a lris $AX0.L, #0x4a + 0d18 084a lris $AX0.L, #0x4a + 0d19 084a lris $AX0.L, #0x4a + 0d1a 084a lris $AX0.L, #0x4a + 0d1b 085d lris $AX0.L, #0x5d + 0d1c 0869 lris $AX0.L, #0x69 + 0d1d 0876 lris $AX0.L, #0x76 + 0d1e 0883 lris $AX0.L, #0x83 + 0d1f 0890 lris $AX0.L, #0x90 + 0d20 0890 lris $AX0.L, #0x90 + 0d21 0890 lris $AX0.L, #0x90 + 0d22 0890 lris $AX0.L, #0x90 + 0d23 089d lris $AX0.L, #0x9d + 0d24 08aa lris $AX0.L, #0xaa + 0d25 08b8 lris $AX0.L, #0xb8 + 0d26 08c6 lris $AX0.L, #0xc6 + 0d27 08d4 lris $AX0.L, #0xd4 + 0d28 08d4 lris $AX0.L, #0xd4 + 0d29 08d4 lris $AX0.L, #0xd4 + 0d2a 08d4 lris $AX0.L, #0xd4 + 0d2b 089d lris $AX0.L, #0x9d + 0d2c 08aa lris $AX0.L, #0xaa + 0d2d 08b8 lris $AX0.L, #0xb8 + 0d2e 08c6 lris $AX0.L, #0xc6 + 0d2f 08d4 lris $AX0.L, #0xd4 + 0d30 08d4 lris $AX0.L, #0xd4 + 0d31 08d4 lris $AX0.L, #0xd4 + 0d32 08d4 lris $AX0.L, #0xd4 + +// Table #2 - entry selected by PB[0x006] bits 0-4 + 0d33 081f lris $AX0.L, #0x1f // 0: Do nothing + 0d34 08e2 lris $AX0.L, #0xe2 + 0d35 08ee lris $AX0.L, #0xee + 0d36 08fa lris $AX0.L, #0xfa + 0d37 090c lris $AX1.L, #0x0c + 0d38 090c lris $AX1.L, #0x0c + 0d39 090c lris $AX1.L, #0x0c + 0d3a 090c lris $AX1.L, #0x0c + 0d3b 091f lris $AX1.L, #0x1f + 0d3c 092b lris $AX1.L, #0x2b + 0d3d 0938 lris $AX1.L, #0x38 + 0d3e 0945 lris $AX1.L, #0x45 + 0d3f 0952 lris $AX1.L, #0x52 + 0d40 0952 lris $AX1.L, #0x52 + 0d41 0952 lris $AX1.L, #0x52 + 0d42 0952 lris $AX1.L, #0x52 + 0d43 095f lris $AX1.L, #0x5f + 0d44 096c lris $AX1.L, #0x6c + 0d45 097a lris $AX1.L, #0x7a + 0d46 0988 lris $AX1.L, #0x88 + 0d47 0996 lris $AX1.L, #0x96 + 0d48 0996 lris $AX1.L, #0x96 + 0d49 0996 lris $AX1.L, #0x96 + 0d4a 0996 lris $AX1.L, #0x96 + 0d4b 095f lris $AX1.L, #0x5f + 0d4c 096c lris $AX1.L, #0x6c + 0d4d 097a lris $AX1.L, #0x7a + 0d4e 0988 lris $AX1.L, #0x88 + 0d4f 0996 lris $AX1.L, #0x96 + 0d50 0996 lris $AX1.L, #0x96 + 0d51 0996 lris $AX1.L, #0x96 + 0d52 0996 lris $AX1.L, #0x96 + +// Table #3 - entry selected by PB[0x006] bits 5-9 + 0d53 081f lris $AX0.L, #0x1f // 0: Do nothing + 0d54 09a4 lris $AX1.L, #0xa4 + 0d55 09b0 lris $AX1.L, #0xb0 + 0d56 09bc lris $AX1.L, #0xbc + 0d57 09ce lris $AX1.L, #0xce + 0d58 09ce lris $AX1.L, #0xce + 0d59 09ce lris $AX1.L, #0xce + 0d5a 09ce lris $AX1.L, #0xce + 0d5b 09e1 lris $AX1.L, #0xe1 + 0d5c 09ed lris $AX1.L, #0xed + 0d5d 09fa lris $AX1.L, #0xfa + 0d5e 0a07 lris $AX0.H, #0x07 + 0d5f 0a14 lris $AX0.H, #0x14 + 0d60 0a14 lris $AX0.H, #0x14 + 0d61 0a14 lris $AX0.H, #0x14 + 0d62 0a14 lris $AX0.H, #0x14 + 0d63 0a21 lris $AX0.H, #0x21 + 0d64 0a2e lris $AX0.H, #0x2e + 0d65 0a3c lris $AX0.H, #0x3c + 0d66 0a4a lris $AX0.H, #0x4a + 0d67 0a58 lris $AX0.H, #0x58 + 0d68 0a58 lris $AX0.H, #0x58 + 0d69 0a58 lris $AX0.H, #0x58 + 0d6a 0a58 lris $AX0.H, #0x58 + 0d6b 0a21 lris $AX0.H, #0x21 + 0d6c 0a2e lris $AX0.H, #0x2e + 0d6d 0a3c lris $AX0.H, #0x3c + 0d6e 0a4a lris $AX0.H, #0x4a + 0d6f 0a58 lris $AX0.H, #0x58 + 0d70 0a58 lris $AX0.H, #0x58 + 0d71 0a58 lris $AX0.H, #0x58 + 0d72 0a58 lris $AX0.H, #0x58 + +// Table #4 - entry selected by PB[0x006] bits 10-15 +// (twice longer than the three previous ones!) + 0d73 081f lris $AX0.L, #0x1f // 0: Do nothing + 0d74 0a66 lris $AX0.H, #0x66 + 0d75 0a72 lris $AX0.H, #0x72 + 0d76 0a7e lris $AX0.H, #0x7e + 0d77 0a90 lris $AX0.H, #0x90 + 0d78 0a90 lris $AX0.H, #0x90 + 0d79 0a90 lris $AX0.H, #0x90 + 0d7a 0a90 lris $AX0.H, #0x90 + 0d7b 0aa3 lris $AX0.H, #0xa3 + 0d7c 0aaf lris $AX0.H, #0xaf + 0d7d 0abc lris $AX0.H, #0xbc + 0d7e 0ac9 lris $AX0.H, #0xc9 + 0d7f 0ad6 lris $AX0.H, #0xd6 + 0d80 0ad6 lris $AX0.H, #0xd6 + 0d81 0ad6 lris $AX0.H, #0xd6 + 0d82 0ad6 lris $AX0.H, #0xd6 + 0d83 0ae3 lris $AX0.H, #0xe3 + 0d84 0af0 lris $AX0.H, #0xf0 + 0d85 0afe lris $AX0.H, #0xfe + 0d86 0b0c lris $AX1.H, #0x0c + 0d87 0b1a lris $AX1.H, #0x1a + 0d88 0b1a lris $AX1.H, #0x1a + 0d89 0b1a lris $AX1.H, #0x1a + 0d8a 0b1a lris $AX1.H, #0x1a + 0d8b 0ae3 lris $AX0.H, #0xe3 + 0d8c 0af0 lris $AX0.H, #0xf0 + 0d8d 0afe lris $AX0.H, #0xfe + 0d8e 0b0c lris $AX1.H, #0x0c + 0d8f 0b1a lris $AX1.H, #0x1a + 0d90 0b1a lris $AX1.H, #0x1a + 0d91 0b1a lris $AX1.H, #0x1a + 0d92 0b1a lris $AX1.H, #0x1a + 0d93 081f lris $AX0.L, #0x1f + 0d94 0b28 lris $AX1.H, #0x28 + 0d95 0b34 lris $AX1.H, #0x34 + 0d96 0b40 lris $AX1.H, #0x40 + 0d97 0b52 lris $AX1.H, #0x52 + 0d98 0b52 lris $AX1.H, #0x52 + 0d99 0b52 lris $AX1.H, #0x52 + 0d9a 0b52 lris $AX1.H, #0x52 + 0d9b 0aa3 lris $AX0.H, #0xa3 + 0d9c 0b65 lris $AX1.H, #0x65 + 0d9d 0b72 lris $AX1.H, #0x72 + 0d9e 0b7f lris $AX1.H, #0x7f + 0d9f 0b8c lris $AX1.H, #0x8c + 0da0 0b8c lris $AX1.H, #0x8c + 0da1 0b8c lris $AX1.H, #0x8c + 0da2 0b8c lris $AX1.H, #0x8c + 0da3 0ae3 lris $AX0.H, #0xe3 + 0da4 0b99 lris $AX1.H, #0x99 + 0da5 0ba7 lris $AX1.H, #0xa7 + 0da6 0bb5 lris $AX1.H, #0xb5 + 0da7 0bc3 lris $AX1.H, #0xc3 + 0da8 0bc3 lris $AX1.H, #0xc3 + 0da9 0bc3 lris $AX1.H, #0xc3 + 0daa 0bc3 lris $AX1.H, #0xc3 + 0dab 0ae3 lris $AX0.H, #0xe3 + 0dac 0b99 lris $AX1.H, #0x99 + 0dad 0ba7 lris $AX1.H, #0xa7 + 0dae 0bb5 lris $AX1.H, #0xb5 + 0daf 0bc3 lris $AX1.H, #0xc3 + 0db0 0bc3 lris $AX1.H, #0xc3 + 0db1 0bc3 lris $AX1.H, #0xc3 + 0db2 0bc3 lris $AX1.H, #0xc3 + + + 0db3 0cb0 lris $AC0.L, #0xb0 + 0db4 0cb3 lris $AC0.L, #0xb3 + 0db5 0cd0 lris $AC0.L, #0xd0 + 0db6 0cd0 lris $AC0.L, #0xd0 + +// Jump table for sample rate converters + 0db7 071a cmpis $ACC1, #0x1a // none + 0db8 076b cmpis $ACC1, #0x6b // ? + 0db9 07c0 cmpis $ACC1, #0xc0 // linear + +// Table for coef_select +// addresses into COEF ROM + 0dba 1000 loopi #0x00 + 0dbb 1200 sbclr #0x00 + 0dbc 1400 lsl $ACC0, #0 + +void 0dbd_Cmd_8() { + 0dbd 8e00 set16 + 0dbe 00c4 0ce6 lr $IX0, @0x0ce6 + 0dc0 1905 lrri $IX1, @$AR0 + 0dc1 00e5 0ce6 sr @0x0ce6, $IX1 + 0dc3 0086 0400 lri $IX2, #0x0400 + 0dc5 191e lrri $AC0.M, @$AR0 + 0dc6 191c lrri $AC0.L, @$AR0 + 0dc7 2ece srs @DSMAH, $AC0.M + 0dc8 2ccf srs @DSMAL, $AC0.L + 0dc9 16cd 0400 si @DSPA, #0x0400 + 0dcb 16c9 0001 si @DSCR, #0x0001 + 0dcd 16cb 0480 si @DSBL, #0x0480 + 0dcf 02bf 0084 call 0084_WaitForDMACompletion() + 0dd1 191e lrri $AC0.M, @$AR0 + 0dd2 191c lrri $AC0.L, @$AR0 + 0dd3 2ece srs @DSMAH, $AC0.M + 0dd4 2ccf srs @DSMAL, $AC0.L + 0dd5 16cd 0940 si @DSPA, #0x0940 + 0dd7 16c9 0001 si @DSCR, #0x0001 + 0dd9 16cb 0180 si @DSBL, #0x0180 + 0ddb 02bf 0084 call 0084_WaitForDMACompletion() + 0ddd 029f 0e01 jmp 0e01_Unk() +} + +void 0ddf_Cmd_9() { + 0ddf 8e00 set16 + 0de0 00c4 0ce7 lr $IX0, @0x0ce7 + 0de2 1905 lrri $IX1, @$AR0 + 0de3 00e5 0ce7 sr @0x0ce7, $IX1 + 0de5 0086 0640 lri $IX2, #0x0640 + 0de7 191e lrri $AC0.M, @$AR0 + 0de8 191c lrri $AC0.L, @$AR0 + 0de9 2ece srs @DSMAH, $AC0.M + 0dea 2ccf srs @DSMAL, $AC0.L + 0deb 16cd 0640 si @DSPA, #0x0640 + 0ded 16c9 0001 si @DSCR, #0x0001 + 0def 16cb 0480 si @DSBL, #0x0480 + 0df1 02bf 0084 call 0084_WaitForDMACompletion() + 0df3 191e lrri $AC0.M, @$AR0 + 0df4 191c lrri $AC0.L, @$AR0 + 0df5 2ece srs @DSMAH, $AC0.M + 0df6 2ccf srs @DSMAL, $AC0.L + 0df7 16cd 0a00 si @DSPA, #0x0a00 + 0df9 16c9 0001 si @DSCR, #0x0001 + 0dfb 16cb 0180 si @DSBL, #0x0180 + 0dfd 02bf 0084 call 0084_WaitForDMACompletion() + 0dff 029f 0e01 jmp 0e01_Unk() +} + +void 0e01_Unk() { + 0e01 8b00 m0 + 0e02 8100 clr $ACC0 + 0e03 8900 clr $ACC1 + 0e04 1fc4 mrr $AC0.M, $IX0 + 0e05 1fe5 mrr $AC1.M, $IX1 + 0e06 5d00 sub $ACC1, $ACC0 + 0e07 009a 02ab lri $AX0.H, #0x02ab + 0e09 009b 02aa lri $AX1.H, #0x02aa + 0e0b 0081 0d08 lri $AR1, #0x0d08 + 0e0d d000 mulc $AC1.M, $AX0.H + 0e0e d400 mulcac $AC1.M, $AX0.H, $ACC0 + 0e0f 111f 0e13 bloopi #0x1f, 0x0e13 + 0e11 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0e12 d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e13 d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e14 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0e15 4e31 addp's $ACC0 : @$AR1, $AC0.M + 0e16 1b25 srri @$AR1, $IX1 + 0e17 191e lrri $AC0.M, @$AR0 + 0e18 191c lrri $AC0.L, @$AR0 + 0e19 2ece srs @DSMAH, $AC0.M + 0e1a 2ccf srs @DSMAL, $AC0.L + 0e1b 00e6 ffcd sr @DSPA, $IX2 + 0e1d 16c9 0000 si @DSCR, #0x0000 + 0e1f 16cb 0180 si @DSBL, #0x0180 + 0e21 0081 0000 lri $AR1, #0x0000 + 0e23 1c41 mrr $AR2, $AR1 + 0e24 02bf 0084 call 0084_WaitForDMACompletion() + 0e26 02bf 0e57 call 0x0e57 + 0e28 191e lrri $AC0.M, @$AR0 + 0e29 191c lrri $AC0.L, @$AR0 + 0e2a 2ece srs @DSMAH, $AC0.M + 0e2b 2ccf srs @DSMAL, $AC0.L + 0e2c 00e6 ffcd sr @DSPA, $IX2 + 0e2e 16c9 0000 si @DSCR, #0x0000 + 0e30 16cb 0180 si @DSBL, #0x0180 + 0e32 02bf 0084 call 0084_WaitForDMACompletion() + 0e34 02bf 0e57 call 0x0e57 + 0e36 191e lrri $AC0.M, @$AR0 + 0e37 191c lrri $AC0.L, @$AR0 + 0e38 2ece srs @DSMAH, $AC0.M + 0e39 2ccf srs @DSMAL, $AC0.L + 0e3a 00e6 ffcd sr @DSPA, $IX2 + 0e3c 16c9 0000 si @DSCR, #0x0000 + 0e3e 16cb 0180 si @DSBL, #0x0180 + 0e40 02bf 0084 call 0084_WaitForDMACompletion() + 0e42 02bf 0e57 call 0x0e57 + 0e44 191e lrri $AC0.M, @$AR0 + 0e45 191c lrri $AC0.L, @$AR0 + 0e46 2ece srs @DSMAH, $AC0.M + 0e47 2ccf srs @DSMAL, $AC0.L + 0e48 00e6 ffcd sr @DSPA, $IX2 + 0e4a 16c9 0000 si @DSCR, #0x0000 + 0e4c 16cb 0180 si @DSBL, #0x0180 + 0e4e 0081 0880 lri $AR1, #0x0880 + 0e50 1c41 mrr $AR2, $AR1 + 0e51 02bf 0084 call 0084_WaitForDMACompletion() + 0e53 02bf 0e57 call 0x0e57 + 0e55 029f 006f jmp 006f_MailHandler() +} + + 0e57 8f00 set40 + 0e58 8d00 set15 + 0e59 8a00 m2 + 0e5a 00e0 0cd2 sr @0x0cd2, $AR0 + 0e5c 0080 0d08 lri $AR0, #0x0d08 + 0e5e 1c66 mrr $AR3, $IX2 + 0e5f 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0e60 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0e61 a000 mulx $AX0.L, $AX1.L + 0e62 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0e63 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 0e64 4e00 addp $ACC0 + 0e65 4800 addax $ACC0, $AX0.L + 0e66 112f 0e75 bloopi #0x2f, 0x0e75 + 0e68 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0e69 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0e6a a000 mulx $AX0.L, $AX1.L + 0e6b af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0e6c 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0e6d 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0e6e 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0e6f 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0e70 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0e71 a000 mulx $AX0.L, $AX1.L + 0e72 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0e73 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 0e74 4e3a addp's $ACC0 : @$AR2, $AC1.M + 0e75 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 0e76 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0e77 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0e78 a000 mulx $AX0.L, $AX1.L + 0e79 af00 mulxmv $AX0.L, $AX1.H, $ACC1 + 0e7a 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0e7b 4f32 addp's $ACC1 : @$AR2, $AC0.M + 0e7c 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0e7d 1b5f srri @$AR2, $AC1.M + 0e7e 1b5d srri @$AR2, $AC1.L + 0e7f 00c0 0cd2 lr $AR0, @0x0cd2 + 0e81 8e00 set16 + 0e82 02df ret + +void 0e83_Cmd_3() { + 0e83 8e00 set16 + 0e84 191f lrri $AC1.M, @$AR0 + 0e85 191d lrri $AC1.L, @$AR0 + 0e86 2fce srs @DSMAH, $AC1.M + 0e87 2dcf srs @DSMAL, $AC1.L + 0e88 16cd 0d08 si @DSPA, #0x0d08 + 0e8a 16c9 0000 si @DSCR, #0x0000 + 0e8c 16cb 0300 si @DSBL, #0x0300 + 0e8e 02bf 0084 call 0084_WaitForDMACompletion() + 0e90 1c80 mrr $IX0, $AR0 + 0e91 8f00 set40 + 0e92 0080 0d08 lri $AR0, #0x0d08 + 0e94 0083 0000 lri $AR3, #0x0000 + 0e96 1c43 mrr $AR2, $AR3 + 0e97 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0e98 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0e99 6a00 movax $ACC0, $AX1.L + 0e9a 4800 addax $ACC0, $AX0.L + 0e9b 112f 0ea4 bloopi #0x2f, 0x0ea4 + 0e9d 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0e9e 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0e9f 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0ea0 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0ea1 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0ea2 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0ea3 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 0ea4 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 0ea5 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0ea6 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0ea7 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0ea8 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0ea9 1b5f srri @$AR2, $AC1.M + 0eaa 1b5d srri @$AR2, $AC1.L + 0eab 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0eac 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0ead 6800 movax $ACC0, $AX0.L + 0eae 7c00 neg $ACC0 + 0eaf 4a00 addax $ACC0, $AX1.L + 0eb0 112f 0ebb bloopi #0x2f, 0x0ebb + 0eb2 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0eb3 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0eb4 6932 movax's $ACC1, $AX0.L : @$AR2, $AC0.M + 0eb5 7d00 neg $ACC1 + 0eb6 4b22 addax's $ACC1, $AX1.L : @$AR2, $AC0.L + 0eb7 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0eb8 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0eb9 683a movax's $ACC0, $AX0.L : @$AR2, $AC1.M + 0eba 7c00 neg $ACC0 + 0ebb 4a2a addax's $ACC0, $AX1.L : @$AR2, $AC1.L + 0ebc 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0ebd 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0ebe 6932 movax's $ACC1, $AX0.L : @$AR2, $AC0.M + 0ebf 7d00 neg $ACC1 + 0ec0 4b22 addax's $ACC1, $AX1.L : @$AR2, $AC0.L + 0ec1 1b5f srri @$AR2, $AC1.M + 0ec2 1b5d srri @$AR2, $AC1.L + 0ec3 1c04 mrr $AR0, $IX0 + 0ec4 029f 006f jmp 006f_MailHandler() +} + +void 0ec6_Cmd_C() { + 0ec6 8e48 set16'l : $AX1.L, @$AR0 + 0ec7 8b78 m0'l : $AC1.M, @$AR0 + 0ec8 8168 clr'l $ACC0 : $AC1.L, @$AR0 + 0ec9 00e0 0cd2 sr @0x0cd2, $AR0 + 0ecb 2fce srs @DSMAH, $AC1.M + 0ecc 2dcf srs @DSMAL, $AC1.L + 0ecd 16cd 0180 si @DSPA, #0x0180 + 0ecf 16c9 0001 si @DSCR, #0x0001 + 0ed1 16cb 0180 si @DSBL, #0x0180 + 0ed3 02bf 0084 call 0084_WaitForDMACompletion() + 0ed5 8100 clr $ACC0 + 0ed6 009c 0180 lri $AC0.L, #0x0180 + 0ed8 4d00 add $ACC1, $ACC0 + 0ed9 2fce srs @DSMAH, $AC1.M + 0eda 2dcf srs @DSMAL, $AC1.L + 0edb 16cd 0880 si @DSPA, #0x0880 + 0edd 16c9 0001 si @DSCR, #0x0001 + 0edf 16cb 0180 si @DSBL, #0x0180 + 0ee1 8100 clr $ACC0 + 0ee2 8900 clr $ACC1 + 0ee3 00de 0ce5 lr $AC0.M, @0x0ce5 + 0ee5 1ff9 mrr $AC1.M, $AX1.L + 0ee6 5d00 sub $ACC1, $ACC0 + 0ee7 00f9 0ce5 sr @0x0ce5, $AX1.L + 0ee9 009a 02ab lri $AX0.H, #0x02ab + 0eeb 009b 02aa lri $AX1.H, #0x02aa + 0eed 0081 0d08 lri $AR1, #0x0d08 + 0eef d000 mulc $AC1.M, $AX0.H + 0ef0 d400 mulcac $AC1.M, $AX0.H, $ACC0 + 0ef1 111f 0ef5 bloopi #0x1f, 0x0ef5 + 0ef3 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0ef4 d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0ef5 d431 mulcac's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0ef6 dc31 mulcac's $AC1.M, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0ef7 4e31 addp's $ACC0 : @$AR1, $AC0.M + 0ef8 1b39 srri @$AR1, $AX1.L + 0ef9 02bf 0084 call 0084_WaitForDMACompletion() + 0efb 8f00 set40 + 0efc 8d00 set15 + 0efd 8a00 m2 + 0efe 0080 0d08 lri $AR0, #0x0d08 + 0f00 0081 0400 lri $AR1, #0x0400 + 0f02 0083 0000 lri $AR3, #0x0000 + 0f04 0082 00c0 lri $AR2, #0x00c0 + 0f06 1918 lrri $AX0.L, @$AR0 + 0f07 195b lrri $AX1.H, @$AR2 + 0f08 1959 lrri $AX1.L, @$AR2 + 0f09 a000 mulx $AX0.L, $AX1.L + 0f0a ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0f0b 9100 asr16 $ACC0 + 0f0c 4e5b addp'l $ACC0 : $AX1.H, @$AR3 + 0f0d f04b lsl16'l $ACC0 : $AX1.L, @$AR3 + 0f0e 115f 0f19 bloopi #0x5f, 0x0f19 + 0f10 a031 mulx's $AX0.L, $AX1.L : @$AR1, $AC0.M + 0f11 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0f12 9140 asr16'l $ACC0 : $AX0.L, @$AR0 + 0f13 4e5a addp'l $ACC0 : $AX1.H, @$AR2 + 0f14 f04a lsl16'l $ACC0 : $AX1.L, @$AR2 + 0f15 a031 mulx's $AX0.L, $AX1.L : @$AR1, $AC0.M + 0f16 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0f17 9100 asr16 $ACC0 + 0f18 4e5b addp'l $ACC0 : $AX1.H, @$AR3 + 0f19 f04b lsl16'l $ACC0 : $AX1.L, @$AR3 + 0f1a a031 mulx's $AX0.L, $AX1.L : @$AR1, $AC0.M + 0f1b ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0f1c 9100 asr16 $ACC0 + 0f1d 4e00 addp $ACC0 + 0f1e f000 lsl16 $ACC0 + 0f1f 1b3e srri @$AR1, $AC0.M + 0f20 8e00 set16 + 0f21 00c0 0cd2 lr $AR0, @0x0cd2 + 0f23 191e lrri $AC0.M, @$AR0 + 0f24 191c lrri $AC0.L, @$AR0 + 0f25 2ece srs @DSMAH, $AC0.M + 0f26 2ccf srs @DSMAL, $AC0.L + 0f27 16cd 0400 si @DSPA, #0x0400 + 0f29 16c9 0001 si @DSCR, #0x0001 + 0f2b 16cb 0180 si @DSBL, #0x0180 + 0f2d 02bf 0084 call 0084_WaitForDMACompletion() + 0f2f 16fc dcd1 si @DMBH, #0xdcd1 <-------------- !!! + 0f31 16fd 0004 si @DMBL, #0x0004 <-------------- !!! + 0f33 16fb 0001 si @DIRQ, #0x0001 <-------------- !!! + 0f35 26fc lrs $AC0.M, @DMBH + 0f36 02a0 8000 andf $AC0.M, #0x8000 + 0f38 029c 0f35 jlnz 0x0f35 + 0f3a 029f 006f jmp 006f_MailHandler() +} + +void 0f3c_Int1_Handler() { + 0f3c 8e00 set16 + 0f3d 1fcc mrr $AC0.M, $ST0 + 0f3e 1d9e mrr $ST0, $AC0.M + 0f3f 16fc ecc0 si @DMBH, #0xecc0 + 0f41 2efd srs @DMBL, $AC0.M + 0f42 26fc lrs $AC0.M, @DMBH + 0f43 02a0 8000 andf $AC0.M, #0x8000 + 0f45 029c 0f42 jlnz 0x0f42 + 0f47 02ff rti +} + +void 0f48_Int2_Handler() { + 0f48 0000 nop + 0f49 0000 nop + 0f4a 0000 nop + 0f4b 0000 nop + 0f4c 02ff rti +} + +void 0f4d_Int3_Handler() { + 0f4d 8e00 set16 + 0f4e 1dbc mrr $ST1, $AC0.L + 0f4f 1dbe mrr $ST1, $AC0.M + 0f50 8100 clr $ACC0 + 0f51 00de 0307 lr $AC0.M, @0x0307 + 0f53 0601 cmpis $ACC0, #0x01 + 0f54 0295 0f59 jz 0x0f59 + 0f56 0e00 lris $AC0.M, #0x00 + 0f57 00fe 02d8 sr @0x02d8, $AC0.M + 0f59 1fcd mrr $AC0.M, $ST1 + 0f5a 1f8d mrr $AC0.L, $ST1 + 0f5b 02ff rti +} + +void 0f5c_Int4_Handler() { + 0f5c 0000 nop + 0f5d 0000 nop + 0f5e 0000 nop + 0f5f 0000 nop + 0f60 02ff rti +} + +// Handles ACCOV exception +// ACCOV exception will be triggered when a sound being played +// reaches end and needs to be reloaded or stopped. +// +void 0f61_Int5_Handler() +{ + 0f61 8e00 set16 + 0f62 1dbc mrr $ST1, $AC0.L + 0f63 1dbe mrr $ST1, $AC0.M + 0f64 8100 clr $ACC0 + 0f65 00de 0307 lr $AC0.M, @0x0307 + 0f67 0601 cmpis $ACC0, #0x01 + 0f68 0295 0f72 jz 0x0f72 // if (mem16[0x0307] == 1) handle looping; + 0f6a 0e00 lris $AC0.M, #0x00 + 0f6b 00fe 02d8 sr @0x02d8, $AC0.M // else stop the sound; + 0f6d 0082 0ce9 lri $AR2, #0x0ce9 + 0f6f 1fcd mrr $AC0.M, $ST1 + 0f70 1f8d mrr $AC0.L, $ST1 + 0f71 02ff rti + + // Looping handling + 0f72 00de 02d9 lr $AC0.M, @0x02d9 + 0f74 0601 cmpis $ACC0, #0x01 + 0f75 0295 0f83 jz 0x0f83 // if (mem16[0x02D9] == 1) handle stream; + // reload pred scale, yn1 and yn2 from the PB + // the address will be automatically reloaded by the accelerator + 0f77 00de 032a lr $AC0.M, @0x032a + 0f79 2eda srs @pred_scale, $AC0.M + 0f7a 00de 032b lr $AC0.M, @0x032b + 0f7c 2edb srs @yn1, $AC0.M + 0f7d 00de 032c lr $AC0.M, @0x032c + 0f7f 2edc srs @yn2, $AC0.M + 0f80 1fcd mrr $AC0.M, $ST1 + 0f81 1f8d mrr $AC0.L, $ST1 + 0f82 02ff rti + + // Stream handling + // reload pred_scale from the PB + 0f83 00de 032a lr $AC0.M, @0x032a + 0f85 2eda srs @pred_scale, $AC0.M + // ??? - reload the yn1 and yn2 from... themselves + 0f86 26db lrs $AC0.M, @yn1 + 0f87 2edb srs @yn1, $AC0.M + 0f88 26dc lrs $AC0.M, @yn2 + 0f89 2edc srs @yn2, $AC0.M + 0f8a 1fcd mrr $AC0.M, $ST1 + 0f8b 1f8d mrr $AC0.L, $ST1 + 0f8c 02ff rti +} + +void 0f8d_Int6_Handler() { + 0f8d 0000 nop + 0f8e 0000 nop + 0f8f 0000 nop + 0f90 0000 nop + 0f91 02ff rti +} + +void 0f92_Int7_Handler() { + 0f92 0000 nop + 0f93 0000 nop + 0f94 0000 nop + 0f95 0000 nop + 0f96 02ff rti +} + +// action jump table + 0f97 0fa9 // Action 0 - restart + 0f98 0fac // Action 1 - dump DRAM and jump into iROM where new IRAM and DRAM can be uploaded + 0f99 0fe4 // Action 2 - soft reset + 0f9a 0fe7 // Action 3 - jump back to main loop + +// called at AXList end; wait for a last mail and take an action +// Note: the same thing can be found in Zelda ucode. It's called after DsyncFrame. +// Probably debugging stuff. +{ + 0f9b 8e00 set16 + 0f9c 8100 clr $ACC0 + 0f9d 8900 clr $ACC1 + 0f9e 02bf 0fea call 0x0fea // wait for the mail; the high part is likely 0xCDD1 as for Zelda + 0fa0 27ff lrs $AC1.M, @CMBL // the low part of the mail tells the action to take + 0fa1 009e 0f97 lri $AC0.M, #0x0f97 + 0fa3 4c00 add $ACC0, $ACC1 + 0fa4 1c7e mrr $AR3, $AC0.M + 0fa5 0313 ilrr $AC1.M, @$AR3 + 0fa6 1c7f mrr $AR3, $AC1.M + 0fa7 176f jmpr $AR3 // take the action! + 0fa8 0021 halt +} + +//ACTION 0 (0xCDD10000) +{ + 0fa9 029f 0037 jmp 0037_Unk_Restart() + 0fab 0021 halt +} + +//ACTION 1 (0xCDD10001) +{ + 0fac 8100 clr $ACC0 + 0fad 8900 clr $ACC1 + 0fae 02bf 0fea call 0x0fea + 0fb0 24ff lrs $AC0.L, @CMBL + 0fb1 02bf 0ff0 call 0x0ff0 + 0fb3 25ff lrs $AC1.L, @CMBL + 0fb4 02bf 0ff0 call 0x0ff0 + 0fb6 27ff lrs $AC1.M, @CMBL + 0fb7 2ece srs @DSMAH, $AC0.M + 0fb8 2ccf srs @DSMAL, $AC0.L + 0fb9 16c9 0001 si @DSCR, #0x0001 // DMEM->CPU + 0fbb 2fcd srs @DSPA, $AC1.M + 0fbc 2dcb srs @DSBL, $AC1.L + 0fbd 8100 clr $ACC0 + 0fbe 8900 clr $ACC1 + 0fbf 02bf 0fea call 0x0fea +//prepare addr-s/length/dsp-PC for new IRAM/DRAM + 0fc1 24ff lrs $AC0.L, @CMBL + 0fc2 1c9e mrr $IX0, $AC0.M + 0fc3 1cbc mrr $IX1, $AC0.L + 0fc4 02bf 0ff0 call 0x0ff0 + 0fc6 25ff lrs $AC1.L, @CMBL + 0fc7 02bf 0ff0 call 0x0ff0 + 0fc9 27ff lrs $AC1.M, @CMBL + 0fca 1cdf mrr $IX2, $AC1.M + 0fcb 1cfd mrr $IX3, $AC1.L + 0fcc 8100 clr $ACC0 + 0fcd 02bf 0fea call 0x0fea + 0fcf 26ff lrs $AC0.M, @CMBL + 0fd0 1c1e mrr $AR0, $AC0.M + 0fd1 8900 clr $ACC1 + 0fd2 02bf 0ff0 call 0x0ff0 + 0fd4 20ff lrs $AX0.L, @CMBL + 0fd5 1f5f mrr $AX0.H, $AC1.M + 0fd6 02bf 0fea call 0x0fea + 0fd8 21ff lrs $AX1.L, @CMBL + 0fd9 02bf 0fea call 0x0fea + 0fdb 23ff lrs $AX1.H, @CMBL +// + 0fdc 26c9 lrs $AC0.M, @DSCR + 0fdd 02a0 0004 andf $AC0.M, #0x0004 + 0fdf 029c 0fdc jlnz 0x0fdc + 0fe1 029f 80b5 jmp 0x80b5 // 80b5_BootUcode() + 0fe3 0021 halt +} + +//ACTION 2 (0xCDD10002) +{ + 0fe4 029f 8000 jmp 0x8000 + 0fe6 0021 halt +} + +//ACTION 3 (0xCDD10003) +{ + 0fe7 029f 004c jmp 0x004c + 0fe9 0021 halt +} + +{ + 0fea 26fe lrs $AC0.M, @CMBH + 0feb 02c0 8000 andcf $AC0.M, #0x8000 + 0fed 029c 0fea jlnz 0x0fea + 0fef 02df ret +} + +{ + 0ff0 27fe lrs $AC1.M, @CMBH + 0ff1 03c0 8000 andcf $AC1.M, #0x8000 + 0ff3 029c 0ff0 jlnz 0x0ff0 + 0ff5 02df ret +} + + 0ff6 0000 nop + 0ff7 0000 nop + 0ff8 0000 nop + 0ff9 0000 nop + 0ffa 0000 nop + 0ffb 0000 nop + 0ffc 0000 nop + 0ffd 0000 nop + 0ffe 0000 nop + 0fff 0000 nop diff --git a/docs/DSP/DSP_UC_AX_DD7E72D5.txt b/docs/DSP/DSP_UC_AX_DD7E72D5.txt new file mode 100644 index 0000000000..d985232bb7 --- /dev/null +++ b/docs/DSP/DSP_UC_AX_DD7E72D5.txt @@ -0,0 +1,3467 @@ +// This document was previously called "DSP_UC_AX1.txt" and "Crazy Taxi.txt" +// CR is set to #FF all the time in this ucode, so srs/lrs always operate on hw registers. + +////////////////////////////////////////////////////////////////////////// +// Known addresses in DRAM +Addr Name Description/Notes + +// Buffers +0x0000 Main Right +0x0140 Main Left +0x0280 +0x0400 +0x0540 +0x0680 +0x07c0 +0x0900 +0x0a40 + +0x03c0 update_block Contains pairs to update current PB with + +0x0b80 pb Current pb, length = 0xc0 + +0x0e04 ms_remaining Milliseconds remaining to process for current voice +0x0e05 pUpdate_block Pointer to update_block +0x0e06 pUpdates_this_ms Pointer to number of updates + +// Pointers to buffers +0x0e08 0x0000 See buffers at 0x0000 +0x0e09 0x0140 +0x0e0a 0x0280 +0x0e0b 0x0400 +0x0e0c 0x0540 +0x0e0d 0x0680 +0x0e0e 0x07c0 +0x0e0f 0x0900 +0x0e10 0x0a40 + +// Func pointers +0x0e14 selectedMixCtrl +0x0e15 selectedSRC +0x0e16 selectedCoef Points into DROM + +// ITD +0x0e40 +0x0e41 +0x0e42 +0x0e43 +////////////////////////////////////////////////////////////////////////// + +// Good ol' exception table +0000 0000 nop +0001 0000 nop // 0 Reset falls through, kinda wierd... +0002 029f 0c10 jmp 0x0c10 // 1 Stack U/O flow +0004 029f 0c1f jmp 0x0c1f // 2 +0006 029f 0c3b jmp 0x0c3b // 3 +0008 029f 0c4a jmp 0x0c4a // 4 ? empty +000a 029f 0c50 jmp 0x0c50 // 5 accelerator address overflow +000c 029f 0c82 jmp 0x0c82 // 6 ? empty +000e 029f 0c88 jmp 0x0c88 // 7 ? empty + +// Entry point +void Task_Init() { + // AX operates in this context all the time + // 0010 1302 sbset #0x02 + // 0011 1303 sbset #0x03 + // 0012 1204 sbclr #0x04 + // 0013 1305 sbset #0x05 + // 0014 1306 sbset #0x06 + // 0015 8e00 set16 + // 0016 8c00 clr15 + // 0017 8b00 m0 + // 0018 0092 00ff lri $CR, #0x00ff + + // 001a 8100 clr $ACC0 + // 001b 8900 clr $ACC1 + // 001c 009e 0e80 lri $AC0.M, #0x0e80 + // 001e 00fe 0e1b sr @0x0e1b, $AC0.M + // 0020 8100 clr $ACC0 + // 0021 00fe 0e31 sr @0x0e31, $AC0.M + ACC0 = ACC1 = 0 + *0x0e1b = 0xe80 // Used in Cmd8 + *0x0e31 = 0 + + // Send DSP_INIT mail + // 0023 16fc dcd1 si @DMBH, #0xdcd1 + // 0025 16fd 0000 si @DMBL, #0x0000 + // 0027 16fb 0001 si @DIRQ, #0x0001 + DMB = 0xdcd10000 + // 0029 26fc lrs $AC0.M, @DMBH + // 002a 02a0 8000 andf $AC0.M, #0x8000 + // 002c 029c 0029 jlnz 0x0029 + while (@DMBH & 0x8000 == 0); + + // 002e 029f 0045 jmp 0x0045 + goto GetNextCmdBlock; +} + +void Task_Resume() { + // Ensure sane context + // 0030 1302 sbset #0x02 + // 0031 1303 sbset #0x03 + // 0032 1204 sbclr #0x04 + // 0033 1305 sbset #0x05 + // 0034 1306 sbset #0x06 + // 0035 8e00 set16 + // 0036 8c00 clr15 + // 0037 8b00 m0 + // 0038 0092 00ff lri $CR, #0x00ff + + // Send DSP_RESUME mail + // 003a 16fc dcd1 si @DMBH, #0xdcd1 + // 003c 16fd 0001 si @DMBL, #0x0001 + // 003e 16fb 0001 si @DIRQ, #0x0001 + DMB = 0xdcd10001 + // 0040 26fc lrs $AC0.M, @DMBH + // 0041 02a0 8000 andf $AC0.M, #0x8000 + // 0043 029c 0040 jlnz 0x0040 + while (@DMBH & 0x8000 == 0); + +GetNextCmdBlock: + 0045 8e00 set16 + 0046 8100 clr $ACC0 + 0047 8900 clr $ACC1 + 0048 009f babe lri $AC1.M, #0xbabe + + // Wait for 0xbabexxxx mail from cpu + do { + // 004a 26fe lrs $AC0.M, @CMBH + // 004b 02c0 8000 andcf $AC0.M, #0x8000 + // 004d 029c 004a jlnz 0x004a + while (@CMBH & 0x8000 == 0); + + // 004f 8200 cmp + // 0050 0294 004a jnz 0x004a + } while (@CMBH != 0xbabe); + + // Save the low 16bits of the mail + // 0052 23ff lrs $AX1.H, @CMBL + u16 length = @CMBL + + // Get next mail + // 0053 8100 clr $ACC0 + // 0054 26fe lrs $AC0.M, @CMBH + // 0055 02c0 8000 andcf $AC0.M, #0x8000 + // 0057 029c 0054 jlnz 0x0054 + while (@CMBH & 0x8000 == 0); + + // 0059 27ff lrs $AC1.M, @CMBL + // 005a 0240 7fff andi $AC0.M, #0x7fff + // 005c 2ece srs @DSMAH, $AC0.M + // 005d 2fcf srs @DSMAL, $AC1.M + // 005e 16cd 0c00 si @DSPA, #0x0c00 + // 0060 8100 clr $ACC0 + // 0061 2ec9 srs @DSCR, $AC0.M + // 0062 1ffb mrr $AC1.M, $AX1.H + // 0063 2fcb srs @DSBL, $AC1.M + // DMA in the CmdBlock + static u16* CmdBlockBuf = 0x0c00 + DSMA = (@CMBH & ~0x8000) << 16 | @CMBL + DSPA = CmdBlockBuf + DSCR = 0 // CPU -> DMEM + DSBL = length + + // 0064 02bf 055c call 0x055c + WaitDMA(); + + // Init the CmdBlock pointer + 0066 0080 0c00 lri $AR0, #0x0c00 + +DoNextCommand: + // 0068 8e00 set16 + // 0069 8100 clr $ACC0 + // 006a 8970 clr'l $ACC1 : $AC0.M, @$AR0 + // 006b b100 tst $ACC0 + // 006c 0291 007e jl 0x007e + u16 Cmd = *(CmdBlockBuf++) + if (Cmd < 0) // How could this be possible? 'l is 16bit load... + Die_InvalidCmd(); + + // 006e 0a12 lris $AX0.H, #0x12 + // 006f c100 cmpar $ACC0, $AX0.H + // 0070 0292 007e jg 0x007e + if (Cmd > 0x12) + Die_InvalidCmd(); + + // 0072 009f 0aff lri $AC1.M, #0x0aff + // 0074 4c00 add $ACC0, $ACC1 + // 0075 1c7e mrr $AR3, $AC0.M + // 0076 0213 ilrr $AC0.M, @$AR3 + // 0077 1c7e mrr $AR3, $AC0.M + // 0078 176f jmpr $AR3 + switch (Cmd) { + case 0: Cmd_0(); break; // 0082 + case 1: Cmd_1(); break; // 013e + case 2: Cmd_2(); break; // 01bc + case 3: Cmd_3(); break; // 0248 + case 4: Cmd_4(); break; // 0413 + case 5: Cmd_5(); break; // 0427 + case 6: Cmd_6(); break; // 0165 + case 7: Cmd_7(); break; // 0574 + case 8: Cmd_8(); break; // 0b37 + case 9: Cmd_9(); break; // 015f + case 0xa: Cmd_a(); break; // 0478 + case 0xb: Cmd_b(); break; // 0474 + case 0xc: Cmd_c(); break; // 0476 + case 0xd: Cmd_d(); break; // 01a9 + case 0xe: Cmd_e(); break; // 043b + case 0xf: Cmd_f(); break; // 047a + case 0x10: Cmd_10(); break; // 0bb1 + case 0x11: Cmd_11(); break; // 0175 + } + + // Somehow we've passed the cmd proccessor; DIE!! + // 0079 16fc fbad si @DMBH, #0xfbad + // 007b 16fd 8080 si @DMBL, #0x8080 + DMB = 0xfbad8080 + 007d 0021 halt +} + +// Die and conveniently tell the cpu which cmd was baad +void Die_InvalidCmd() { + 007e 16fc baad si @DMBH, #0xbaad + 0080 2efd srs @DMBL, $AC0.M + 0081 0021 halt +} + +// Executes the same operation 3 times on buffers: (0, 0x0400, 0x07c0) +void Cmd_0() { + // 0082 8100 clr $ACC0 + // 0083 8970 clr'l $ACC1 : $AC0.M, @$AR0 + // 0084 8e78 set16'l : $AC1.M, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 0085 2ece srs @DSMAH, $AC0.M + // 0086 2fcf srs @DSMAL, $AC1.M + // 0087 009e 0e44 lri $AC0.M, #0x0e44 + // 0089 2ecd srs @DSPA, $AC0.M + // 008a 0e00 lris $AC0.M, #0x00 + // 008b 2ec9 srs @DSCR, $AC0.M + // 008c 009e 0040 lri $AC0.M, #0x0040 + // 008e 2ecb srs @DSBL, $AC0.M + + // DMA 0x0040bytes to DRAM @ 0x0e44 from CPU @ maddr + + 008f 0081 0e44 lri $AR1, #0x0e44 // source + 0091 0082 0000 lri $AR2, #0x0000 // destination + + 0093 009b 009f lri $AX1.H, #0x009f + 0095 009a 0140 lri $AX0.H, #0x0140 // loop length if !ACC0 + + 0097 8100 clr $ACC0 + 0098 8900 clr $ACC1 + + 0099 8f00 set40 + + // 009a 02bf 055c call 0x055c + WaitDMA(); + + 009c 193e lrri $AC0.M, @$AR1 + 009d 193c lrri $AC0.L, @$AR1 + 009e b100 tst $ACC0 + 009f 193f lrri $AC1.M, @$AR1 // added to ACC0 in confusing ways + // 00a0 0294 00a6 jnz 0x00a6 + if (!$ACC0) { + 00a2 005a loop $AX0.H + 00a3 1b5e srri @$AR2, $AC0.M + + // 00a4 029f 00ae jmp 0x00ae + } else { + 00a6 9900 asr16 $ACC1 + 00a7 1b5e srri @$AR2, $AC0.M + 00a8 1b5c srri @$AR2, $AC0.L + 00a9 007b 00ad bloop $AX1.H, 0x00ad + 00ab 4c00 add $ACC0, $ACC1 + 00ac 1b5e srri @$AR2, $AC0.M + 00ad 1b5c srri @$AR2, $AC0.L + + } + + // same code block as above...epic fail? + 00ae 193e lrri $AC0.M, @$AR1 + 00af 193c lrri $AC0.L, @$AR1 + 00b0 b100 tst $ACC0 + 00b1 193f lrri $AC1.M, @$AR1 + // 00b2 0294 00b8 jnz 0x00b8 + if (!$ACC0) { + 00b4 005a loop $AX0.H + 00b5 1b5e srri @$AR2, $AC0.M + + // 00b6 029f 00c0 jmp 0x00c0 + } else { + 00b8 9900 asr16 $ACC1 + 00b9 1b5e srri @$AR2, $AC0.M + 00ba 1b5c srri @$AR2, $AC0.L + 00bb 007b 00bf bloop $AX1.H, 0x00bf + 00bd 4c00 add $ACC0, $ACC1 + 00be 1b5e srri @$AR2, $AC0.M + 00bf 1b5c srri @$AR2, $AC0.L + + } + + // ...and again! wtf + 00c0 193e lrri $AC0.M, @$AR1 + 00c1 193c lrri $AC0.L, @$AR1 + 00c2 b100 tst $ACC0 + 00c3 193f lrri $AC1.M, @$AR1 + // 00c4 0294 00ca jnz 0x00ca + if (!$ACC0) { + 00c6 005a loop $AX0.H + 00c7 1b5e srri @$AR2, $AC0.M + + // 00c8 029f 00d2 jmp 0x00d2 + } else { + 00ca 9900 asr16 $ACC1 + 00cb 1b5e srri @$AR2, $AC0.M + 00cc 1b5c srri @$AR2, $AC0.L + 00cd 007b 00d1 bloop $AX1.H, 0x00d1 + 00cf 4c00 add $ACC0, $ACC1 + 00d0 1b5e srri @$AR2, $AC0.M + 00d1 1b5c srri @$AR2, $AC0.L + + } + + // set to next buffer + 00d2 0082 0400 lri $AR2, #0x0400 + + // same code block, uses tst'l in one place...otherwise the same + 00d4 193e lrri $AC0.M, @$AR1 + 00d5 193c lrri $AC0.L, @$AR1 + 00d6 b179 tst'l $ACC0 : $AC1.M, @$AR1 + // 00d7 0294 00dd jnz 0x00dd + if (!$ACC0) { + 00d9 005a loop $AX0.H + 00da 1b5e srri @$AR2, $AC0.M + // 00db 029f 00e5 jmp 0x00e5 + } else { + 00dd 9900 asr16 $ACC1 + 00de 1b5e srri @$AR2, $AC0.M + 00df 1b5c srri @$AR2, $AC0.L + 00e0 007b 00e4 bloop $AX1.H, 0x00e4 + 00e2 4c00 add $ACC0, $ACC1 + 00e3 1b5e srri @$AR2, $AC0.M + 00e4 1b5c srri @$AR2, $AC0.L + } + + // same code block, using tst'l again...wonder if it actually changes behavior? + 00e5 193e lrri $AC0.M, @$AR1 + 00e6 193c lrri $AC0.L, @$AR1 + 00e7 b179 tst'l $ACC0 : $AC1.M, @$AR1 + // 00e8 0294 00ee jnz 0x00ee + if (!$ACC0) { + 00ea 005a loop $AX0.H + 00eb 1b5e srri @$AR2, $AC0.M + // 00ec 029f 00f6 jmp 0x00f6 + } else { + 00ee 9900 asr16 $ACC1 + 00ef 1b5e srri @$AR2, $AC0.M + 00f0 1b5c srri @$AR2, $AC0.L + 00f1 007b 00f5 bloop $AX1.H, 0x00f5 + 00f3 4c00 add $ACC0, $ACC1 + 00f4 1b5e srri @$AR2, $AC0.M + 00f5 1b5c srri @$AR2, $AC0.L + } + + // see comments above + 00f6 193e lrri $AC0.M, @$AR1 + 00f7 193c lrri $AC0.L, @$AR1 + 00f8 b179 tst'l $ACC0 : $AC1.M, @$AR1 + // 00f9 0294 00ff jnz 0x00ff + if (!$ACC0) { + 00fb 005a loop $AX0.H + 00fc 1b5e srri @$AR2, $AC0.M + // 00fd 029f 0107 jmp 0x0107 + } else { + 00ff 9900 asr16 $ACC1 + 0100 1b5e srri @$AR2, $AC0.M + 0101 1b5c srri @$AR2, $AC0.L + 0102 007b 0106 bloop $AX1.H, 0x0106 + 0104 4c00 add $ACC0, $ACC1 + 0105 1b5e srri @$AR2, $AC0.M + 0106 1b5c srri @$AR2, $AC0.L + } + + // set to next buffer + 0107 0082 07c0 lri $AR2, #0x07c0 + + // see comments above + 0109 193e lrri $AC0.M, @$AR1 + 010a 193c lrri $AC0.L, @$AR1 + 010b b179 tst'l $ACC0 : $AC1.M, @$AR1 + // 010c 0294 0112 jnz 0x0112 + if (!$ACC0) { + 010e 005a loop $AX0.H + 010f 1b5e srri @$AR2, $AC0.M + // 0110 029f 011a jmp 0x011a + } else { + 0112 9900 asr16 $ACC1 + 0113 1b5e srri @$AR2, $AC0.M + 0114 1b5c srri @$AR2, $AC0.L + 0115 007b 0119 bloop $AX1.H, 0x0119 + 0117 4c00 add $ACC0, $ACC1 + 0118 1b5e srri @$AR2, $AC0.M + 0119 1b5c srri @$AR2, $AC0.L + } + + // see comments above + 011a 193e lrri $AC0.M, @$AR1 + 011b 193c lrri $AC0.L, @$AR1 + 011c b179 tst'l $ACC0 : $AC1.M, @$AR1 + // 011d 0294 0123 jnz 0x0123 + if (!$ACC0) { + 011f 005a loop $AX0.H + 0120 1b5e srri @$AR2, $AC0.M + // 0121 029f 012b jmp 0x012b + } else { + 0123 9900 asr16 $ACC1 + 0124 1b5e srri @$AR2, $AC0.M + 0125 1b5c srri @$AR2, $AC0.L + 0126 007b 012a bloop $AX1.H, 0x012a + 0128 4c00 add $ACC0, $ACC1 + 0129 1b5e srri @$AR2, $AC0.M + 012a 1b5c srri @$AR2, $AC0.L + } + + // see comments above + 012b 193e lrri $AC0.M, @$AR1 + 012c 193c lrri $AC0.L, @$AR1 + 012d b179 tst'l $ACC0 : $AC1.M, @$AR1 + // 012e 0294 0134 jnz 0x0134 + if (!$ACC0) { + 0130 005a loop $AX0.H + 0131 1b5e srri @$AR2, $AC0.M + // 0132 029f 013c jmp 0x013c + } else { + 0134 9900 asr16 $ACC1 + 0135 1b5e srri @$AR2, $AC0.M + 0136 1b5c srri @$AR2, $AC0.L + 0137 007b 013b bloop $AX1.H, 0x013b + 0139 4c00 add $ACC0, $ACC1 + 013a 1b5e srri @$AR2, $AC0.M + 013b 1b5c srri @$AR2, $AC0.L + } + + // 013c 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_1() { + 013e 0085 ffff lri $IX1, #0xffff // -1 + + // 0140 8150 clr'l $ACC0 : $AX0.H, @$AR0 + // 0141 8940 clr'l $ACC1 : $AX0.L, @$AR0 + // 0142 8e48 set16'l : $AX1.L, @$AR0 + // 0143 00fa 0e17 sr @0x0e17, $AX0.H + // 0145 00f8 0e18 sr @0x0e18, $AX0.L + // 0147 0081 0000 lri $AR1, #0x0000 + // 0149 02bf 04f1 call 0x04f1 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + u16 unkForMulBuffer1 = *(CmdBlockBuf++) + u16 unkForMulBuffer2 = 0 // a buffer in dram + Unk(maddrh << 16 | maddrl, unkForMulBuffer1, unkForMulBuffer2) + + // 014b 00da 0e17 lr $AX0.H, @0x0e17 + // 014d 00d8 0e18 lr $AX0.L, @0x0e18 + // 014f 8948 clr'l $ACC1 : $AX1.L, @$AR0 + // 0150 0081 0400 lri $AR1, #0x0400 + // 0152 02bf 04f1 call 0x04f1 + unkForMulBuffer1 = *(CmdBlockBuf++) + unkForMulBuffer2 = 0x0400 + Unk(maddrh << 16 | maddrl, unkForMulBuffer1, unkForMulBuffer2) + + // 0154 00da 0e17 lr $AX0.H, @0x0e17 + // 0156 00d8 0e18 lr $AX0.L, @0x0e18 + // 0158 8948 clr'l $ACC1 : $AX1.L, @$AR0 + // 0159 0081 07c0 lri $AR1, #0x07c0 + // 015b 02bf 04f1 call 0x04f1 + unkForMulBuffer1 = *(CmdBlockBuf++) + unkForMulBuffer2 = 0x07c0 + Unk(maddrh << 16 | maddrl, unkForMulBuffer1, unkForMulBuffer2) + + // 015d 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_9() { + 015f 0086 07c0 lri $IX2, #0x07c0 // often used buffer in dram + + 0161 02bf 0484 call 0x0484 + + // 0163 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_6() { + 0165 8100 clr $ACC0 + 0166 8e00 set16 + + // 0167 191e lrri $AC0.M, @$AR0 + // 0168 191c lrri $AC0.L, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 0169 2ece srs @DSMAH, $AC0.M + // 016a 2ccf srs @DSMAL, $AC0.L + // 016b 16cd 0000 si @DSPA, #0x0000 + // 016d 16c9 0001 si @DSCR, #0x0001 + // 016f 16cb 0780 si @DSBL, #0x0780 + + // DMA 0x780bytes to CPU @ maddr from DMEM @ 0 + + // 0171 02bf 055c call 0x055c + WaitDMA(); + + // 0173 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_11() { + // 0175 8100 clr $ACC0 + // 0176 8970 clr'l $ACC1 : $AC0.M, @$AR0 + // 0177 8e60 set16'l : $AC0.L, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 0178 2ece srs @DSMAH, $AC0.M + // 0179 2ccf srs @DSMAL, $AC0.L + // 017a 16cd 0e44 si @DSPA, #0x0e44 + // 017c 16c9 0000 si @DSCR, #0x0000 + // 017e 8900 clr $ACC1 + // 017f 0d20 lris $AC1.L, #0x20 + // 0180 2dcb srs @DSBL, $AC1.L + + // DMA 0x20bytes to DRAM @ 0x0e44 from CPU @ maddr + + u16 length_of_0e44 = 0x20 + + // 0181 4c00 add $ACC0, $ACC1 + maddr += length_of_0e44 + + // Save CmdBlockBuf + // 0182 1c80 mrr $IX0, $AR0 + + // 0183 0080 0280 lri $AR0, #0x0280 + // 0185 0081 0000 lri $AR1, #0x0000 + // 0187 0082 0140 lri $AR2, #0x0140 + // 0189 0083 0e44 lri $AR3, #0x0e44 + // 018b 0a00 lris $AX0.H, #0x00 + + // 018c 27c9 lrs $AC1.M, @DSCR + // 018d 03a0 0004 andf $AC1.M, #0x0004 + // 018f 029c 018c jlnz 0x018c + while (@DSCR & 4); + + // 0191 2ece srs @DSMAH, $AC0.M + // 0192 2ccf srs @DSMAL, $AC0.L + // 0193 16cd 0e54 si @DSPA, #0x0e54 + // 0195 16c9 0000 si @DSCR, #0x0000 + // 0197 16cb 0260 si @DSBL, #0x0260 + + // DMA 0x0260bytes to DRAM @ 0x0e54 from CPU @ maddr + + // 0199 009f 00a0 lri $AC1.M, #0x00a0 + // 019b 8f00 set40 + // 019c 007f 01a5 bloop $AC1.M, 0x01a5 + // 019e 197e lrri $AC0.M, @$AR3 + // 019f 1b1a srri @$AR0, $AX0.H + // 01a0 197c lrri $AC0.L, @$AR3 + // 01a1 1b1a srri @$AR0, $AX0.H + // 01a2 1b5e srri @$AR2, $AC0.M + // 01a3 7c22 neg's $ACC0 : @$AR2, $AC0.L + // 01a4 1b3e srri @$AR1, $AC0.M + // 01a5 1b3c srri @$AR1, $AC0.L + + // high reg will only be sign bits, and it's never stored, so we can use s32 here + s32* buffer_source = 0x0e44 + s32* buffer_dest = 0x0140 + s32* buffer_to_zero = 0x0280 + s32* buffer_dest_neg = 0x0000 + for (i = 0x00a0; i > 0; i--) { + s32 thing = *(buffer_source++) + *(buffer_to_zero++) = 0 + *(buffer_dest++) = thing + *(buffer_dest_neg++) = ~thing + } + + // Restore CmdBlockBuf + 01a6 1c04 mrr $AR0, $IX0 + + // 01a7 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +// Interesting, DMAs in new CmdBlock and starts executing it +void Cmd_D() { + // 01a9 8e70 set16'l : $AC0.M, @$AR0 + // 01aa 8960 clr'l $ACC1 : $AC0.L, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 01ab 191f lrri $AC1.M, @$AR0 + u16 numbytes = *(CmdBlockBuf++) + + // 01ac 2ece srs @DSMAH, $AC0.M + // 01ad 2ccf srs @DSMAL, $AC0.L + // 01ae 16cd 0c00 si @DSPA, #0x0c00 + // 01b0 16c9 0000 si @DSCR, #0x0000 + // 01b2 0503 addis $AC1.M, #0x03 + // 01b3 0340 fff0 andi $AC1.M, #0xfff0 + // 01b5 2fcb srs @DSBL, $AC1.M + + // DMA ((numbytes + 3) & 0xfff0)bytes to DMEM @ 0x0c00 from CPU @ maddr + + // 01b6 02bf 055c call 0x055c + WaitDMA(); + + // 01b8 0080 0c00 lri $AR0, #0x0c00 + CmdBlockBuf = 0x0c00 + + // 01ba 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +// DMAs in a new PB and inits values (itd, func pointers, etc) +// DMAs in new update_block, but doesn't apply it +void Cmd_2() { + 01bc 8100 clr $ACC0 + + // 01bd 8970 clr'l $ACC1 : $AC0.M, @$AR0 + // 01be 8e78 set16'l : $AC1.M, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 01bf 2ece srs @DSMAH, $AC0.M + // 01c0 2fcf srs @DSMAL, $AC1.M + // 01c1 16cd 0b80 si @DSPA, #0x0b80 + // 01c3 16c9 0000 si @DSCR, #0x0000 + // 01c5 16cb 00c0 si @DSBL, #0x00c0 + + // DMA 0x00c0bytes to DMEM @ 0x0b80 from CPU @ maddr + + // 01c7 0082 0e08 lri $AR2, #0x0e08 + // 01c9 009f 0000 lri $AC1.M, #0x0000 + // 01cb 1b5f srri @$AR2, $AC1.M + // 01cc 009f 0140 lri $AC1.M, #0x0140 + // 01ce 1b5f srri @$AR2, $AC1.M + // 01cf 009f 0280 lri $AC1.M, #0x0280 + // 01d1 1b5f srri @$AR2, $AC1.M + // 01d2 009f 0400 lri $AC1.M, #0x0400 + // 01d4 1b5f srri @$AR2, $AC1.M + // 01d5 009f 0540 lri $AC1.M, #0x0540 + // 01d7 1b5f srri @$AR2, $AC1.M + // 01d8 009f 0680 lri $AC1.M, #0x0680 + // 01da 1b5f srri @$AR2, $AC1.M + // 01db 009f 07c0 lri $AC1.M, #0x07c0 + // 01dd 1b5f srri @$AR2, $AC1.M + // 01de 009f 0900 lri $AC1.M, #0x0900 + // 01e0 1b5f srri @$AR2, $AC1.M + // 01e1 009f 0a40 lri $AC1.M, #0x0a40 + // 01e3 1b5f srri @$AR2, $AC1.M + *0x0e08 = 0x0000 + *0x0e09 = 0x0140 + *0x0e0a = 0x0280 + *0x0e0b = 0x0400 + *0x0e0c = 0x0540 + *0x0e0d = 0x0680 + *0x0e0e = 0x07c0 + *0x0e0f = 0x0900 + *0x0e10 = 0x0a40 + + // 01e4 02bf 055c call 0x055c + WaitDMA(); + + // 01e6 00de 0ba7 lr $AC0.M, @0x0ba7 + // 01e8 00df 0ba8 lr $AC1.M, @0x0ba8 + // 01ea 2ece srs @DSMAH, $AC0.M + // 01eb 2fcf srs @DSMAL, $AC1.M + // 01ec 16cd 03c0 si @DSPA, #0x03c0 + // 01ee 16c9 0000 si @DSCR, #0x0000 + // 01f0 16cb 0080 si @DSBL, #0x0080 + + // DMA 0x80bytes from CPU @ ((pb.update.dataHi << 16) | pb.update.dataLo) to DRAM @ 0x03c0 + + // 01f2 8100 clr $ACC0 + // 01f3 8900 clr $ACC1 + + // 01f4 00de 0b84 lr $AC0.M, @0x0b84 + // 01f6 009f 0b31 lri $AC1.M, #0x0b31 + // 01f8 4c00 add $ACC0, $ACC1 + // 01f9 1c7e mrr $AR3, $AC0.M + // 01fa 0213 ilrr $AC0.M, @$AR3 + // 01fb 00fe 0e15 sr @0x0e15, $AC0.M + *0x0e15 = *(0x0b31 + pb.srcSelect) // func ptr for src + + // 01fd 00de 0b85 lr $AC0.M, @0x0b85 + // 01ff 009f 0b34 lri $AC1.M, #0x0b34 + // 0201 4c00 add $ACC0, $ACC1 + // 0202 1c7e mrr $AR3, $AC0.M + // 0203 0213 ilrr $AC0.M, @$AR3 + // 0204 00fe 0e16 sr @0x0e16, $AC0.M + *0x0e16 = *(0x0b34 + pb.coefSelect) // ptr to coef table + + // 0206 00de 0b86 lr $AC0.M, @0x0b86 + // 0208 009f 0b11 lri $AC1.M, #0x0b11 + // 020a 4c00 add $ACC0, $ACC1 + // 020b 1c7e mrr $AR3, $AC0.M + // 020c 0213 ilrr $AC0.M, @$AR3 + // 020d 00fe 0e14 sr @0x0e14, $AC0.M + *0x0e14 = *(0x0b11 + pb.mixerCtrl) // func ptr for mixer + + // 020f 8100 clr $ACC0 + // 0210 00de 0b9b lr $AC0.M, @0x0b9b + // 0212 b100 tst $ACC0 + // 0213 0295 023a jz 0x023a + if (pb.itd.flag != AX_PB_ITD_OFF) { + // 0215 8900 clr $ACC1 + // 0216 00df 0b9e lr $AC1.M, @0x0b9e + // 0218 0300 0cc0 addi $AC1.M, #0x0cc0 + // 021a 00ff 0e40 sr @0x0e40, $AC1.M + *0x0e40 = 0x0cc0 + pb.itd.shiftL + + // 021c 00df 0b9f lr $AC1.M, @0x0b9f + // 021e 0300 0cc0 addi $AC1.M, #0x0cc0 + // 0220 00ff 0e41 sr @0x0e41, $AC1.M + *0x0e41 = 0x0cc0 + pb.itd.shiftR + + // 0222 009f 0ce0 lri $AC1.M, #0x0ce0 + // 0224 00ff 0e42 sr @0x0e42, $AC1.M + // 0226 00ff 0e43 sr @0x0e43, $AC1.M + *0x0e42 = 0x0ce0 + *0x0e43 = 0x0ce0 + + // 0228 02bf 055c call 0x055c + WaitDMA(); + + // 022a 00de 0b9c lr $AC0.M, @0x0b9c + // 022c 2ece srs @DSMAH, $AC0.M + // 022d 00de 0b9d lr $AC0.M, @0x0b9d + // 022f 2ecf srs @DSMAL, $AC0.M + // 0230 16cd 0cc0 si @DSPA, #0x0cc0 + // 0232 16c9 0000 si @DSCR, #0x0000 + // 0234 16cb 0040 si @DSBL, #0x0040 + + // DMA 0x0040bytes to DMEM @ 0x0cc0 from CPU @ (pb.itd.bufferHi << 16) | pb.itd.bufferLo + + // 0236 02bf 055c call 0x055c + WaitDMA(); + + // 0238 029f 0068 jmp 0x0068 + goto DoNextCommand; + + } else { + + // 023a 009f 0ce0 lri $AC1.M, #0x0ce0 + // 023c 00ff 0e42 sr @0x0e42, $AC1.M + // 023e 00ff 0e40 sr @0x0e40, $AC1.M + // 0240 00ff 0e41 sr @0x0e41, $AC1.M + // 0242 00ff 0e43 sr @0x0e43, $AC1.M + *0x0e42 = 0x0ce0 + *0x0e40 = 0x0ce0 + *0x0e41 = 0x0ce0 + *0x0e43 = 0x0ce0 + + // 0244 02bf 055c call 0x055c + WaitDMA(); + + // 0246 029f 0068 jmp 0x0068 + goto DoNextCommand; + } +} + +// Function calls itself until there are no more linked PBs +void Cmd_3() { + 0248 8e00 set16 + + // Save CmdBlockBuf ptr + 0249 00e0 0e07 sr @0x0e07, $AR0 + + // Processes pb.update.updNum[0] to pb.update.updNum[5] + // Applies specified number of updates for every millisecond of voice frame (5 millisecs) + // first millisec's updates are ignored <- not proven, yet + + // 024b 0080 0ba2 lri $AR0, #0x0ba2 // pb.update.updNum[0] + // 024d 0081 03c0 lri $AR1, #0x03c0 + // 024f 0e05 lris $AC0.M, #0x05 + // 0250 00fe 0e04 sr @0x0e04, $AC0.M // counter to decrement + // 0252 8900 clr $ACC1 + u16* pUpdates_this_ms = 0x0ba2 + u16* pUpdate_block = 0x03c0 + u16 ms_remaining = 5 + +NextMillisecUpd: + // 0253 8150 clr'l $ACC0 : $AX0.H, @$AR0 + // 0254 009f 0b80 lri $AC1.M, #0x0b80 + // 0256 007a 025b bloop $AX0.H, 0x025b + // 0258 193e lrri $AC0.M, @$AR1 + // 0259 4c49 add'l $ACC0, $ACC1 : $AX1.L, @$AR1 + // 025a 1c5e mrr $AR2, $AC0.M + // 025b 1a59 srr @$AR2, $AX1.L // AR2 isn't changed till updates are done + + // Write updates from update_block to pb in dram + for (int i = 0; i < *pUpdates_this_ms; i+=2) { + // Looks like 0x03c0 is a struct of pairs to write into PB + *(0x0b80 + *(pUpdate_block + i)) = *(pUpdate_block + i + 1) + } + pUpdates_this_ms++ + + // 025c 0083 0e05 lri $AR3, #0x0e05 + // 025e 1b61 srri @$AR3, $AR1 + // 025f 1b60 srri @$AR3, $AR0 + *0x0e05 = pUpdate_block + *0x0e06 = pUpdates_this_ms + // They are restored before jmping back to NextMillisecUpd + + // 0260 00de 0b87 lr $AC0.M, @0x0b87 + // 0262 0601 cmpis $AC0.M, #0x01 + // 0263 0295 0267 jz 0x0267 + // 0265 029f 0332 jmp 0x0332 + if (pb.state == AX_PB_STATE_RUN) { + + // 0267 00de 0e42 lr $AC0.M, @0x0e42 + // 0269 00fe 0e1c sr @0x0e1c, $AC0.M + *0x0e1c = *0x0e42 + + // 026b 00c3 0e15 lr $AR3, @0x0e15 + // 026d 177f callr $AR3 + DoSelectedSRC() + + // Volume Envelope Processing + // 026e 8e00 set16 + // 026f 8a00 m2 + // 0270 8100 clr $ACC0 + // 0271 8900 clr $ACC1 + // 0272 00de 0bb3 lr $AC0.M, @0x0bb3 // currentDelta (s16) + // 0274 00df 0bb2 lr $AC1.M, @0x0bb2 // currentVolume (u16) + // 0276 1f1f mrr $AX0.L, $AC1.M + // 0277 4d00 add $ACC1, $ACC0 + // 0278 1481 asl $ACC0, #1 + // 0279 8d1e set15'mv : $AX1.H, $AC0.M // unsigned mulx, + // 027a 1fd8 mrr $AC0.M, $AX0.L + // 027b 0098 8000 lri $AX0.L, #0x8000 + // 027d 0080 0e44 lri $AR0, #0x0e44 + // 027f a830 mulx's $AX0.L, $AX1.H : @$AR0, $AC0.M + // 0280 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0281 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0282 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0283 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0284 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0285 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0286 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0287 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0288 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0289 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 028a ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 028b ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 028c ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 028d ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 028e ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 028f ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0290 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0291 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0292 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0293 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0294 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0295 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0296 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0297 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 0298 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 0299 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 029a ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 029b ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 029c ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 029d ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + // 029e ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + // 029f 00fe 0bb2 sr @0x0bb2, $AC0.M + + u40 temp1 = pb.ve.currentVolume << 16 + u40 temp2 = (pb.ve.currentVolume + pb.ve.currentDelta) << 16 + *0x0e44 = temp1 >> 16 + *0x0e45 = temp2 >> 16 + + u40 PROD = (u16)0x8000 * (u16)(pb.ve.currentDelta << 1) * 2 + for (u16* i = 0x0e46; i < 0x0e46 + 30; i+=2) { + temp1 += PROD + temp2 += PROD + + *i = temp1 >> 16 + *(i + 1) = temp2 >> 16 + } + temp1 += PROD + pb.ve.currentVolume = temp1 >> 16 + + // 02a1 8f00 set40 + // 02a2 0080 0e44 lri $AR0, #0x0e44 + // 02a4 00c1 0e43 lr $AR1, @0x0e43 + // 02a6 1c61 mrr $AR3, $AR1 + // 02a7 193a lrri $AX0.H, @$AR1 + // 02a8 1918 lrri $AX0.L, @$AR0 + // 02a9 9059 mul'l $AX0.L, $AX0.H : $AX1.H, @$AR1 + // 02aa 1919 lrri $AX1.L, @$AR0 + // 02ab 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02ac 8080 nx'ls : $AX0.L, $AC0.M + // 02ad 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02ae 8091 nx'ls : $AX1.L, $AC1.M + // 02af 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02b0 8080 nx'ls : $AX0.L, $AC0.M + // 02b1 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02b2 8091 nx'ls : $AX1.L, $AC1.M + // 02b3 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02b4 8080 nx'ls : $AX0.L, $AC0.M + // 02b5 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02b6 8091 nx'ls : $AX1.L, $AC1.M + // 02b7 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02b8 8080 nx'ls : $AX0.L, $AC0.M + // 02b9 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02ba 8091 nx'ls : $AX1.L, $AC1.M + // 02bb 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02bc 8080 nx'ls : $AX0.L, $AC0.M + // 02bd 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02be 8091 nx'ls : $AX1.L, $AC1.M + // 02bf 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02c0 8080 nx'ls : $AX0.L, $AC0.M + // 02c1 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02c2 8091 nx'ls : $AX1.L, $AC1.M + // 02c3 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02c4 8080 nx'ls : $AX0.L, $AC0.M + // 02c5 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02c6 8091 nx'ls : $AX1.L, $AC1.M + // 02c7 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02c8 8080 nx'ls : $AX0.L, $AC0.M + // 02c9 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02ca 8091 nx'ls : $AX1.L, $AC1.M + // 02cb 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02cc 8080 nx'ls : $AX0.L, $AC0.M + // 02cd 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02ce 8091 nx'ls : $AX1.L, $AC1.M + // 02cf 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02d0 8080 nx'ls : $AX0.L, $AC0.M + // 02d1 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02d2 8091 nx'ls : $AX1.L, $AC1.M + // 02d3 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02d4 8080 nx'ls : $AX0.L, $AC0.M + // 02d5 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02d6 8091 nx'ls : $AX1.L, $AC1.M + // 02d7 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02d8 8080 nx'ls : $AX0.L, $AC0.M + // 02d9 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02da 8091 nx'ls : $AX1.L, $AC1.M + // 02db 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02dc 8080 nx'ls : $AX0.L, $AC0.M + // 02dd 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02de 8091 nx'ls : $AX1.L, $AC1.M + // 02df 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02e0 8080 nx'ls : $AX0.L, $AC0.M + // 02e1 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02e2 8091 nx'ls : $AX1.L, $AC1.M + // 02e3 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + // 02e4 8080 nx'ls : $AX0.L, $AC0.M + // 02e5 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + // 02e6 8091 nx'ls : $AX1.L, $AC1.M + // 02e7 9e00 mulmv $AX1.L, $AX1.H, $ACC0 + // 02e8 6f33 movp's $ACC1 : @$AR3, $AC0.M + // 02e9 1b7f srri @$AR3, $AC1.M + + u16* dst = *0x0e43 + u16* temp1 = 0x0e44 + + for (x = 0; x < 0x20; x++) { + *(dst + x) = ((u16)*(temp1 + x) * (u16)*(dst + x) * 2) >> 16 + } + + // 02ea 00c3 0e14 lr $AR3, @0x0e14 + // 02ec 8f00 set40 + // 02ed 8d00 set15 + // 02ee 8a00 m2 + // 02ef 177f callr $AR3 + // Keep in mind: 40bit, unsigned, *2 + DoSelectedMixer() + + // Note: 40bit, unsigned, *2 not changed till 0x0332 + + // 02f0 8100 clr $ACC0 + // 02f1 00de 0b9b lr $AC0.M, @0x0b9b + // 02f3 b100 tst $ACC0 + // 02f4 0295 032a jz 0x032a + if (pb.itd.flag != AX_PB_ITD_OFF) { + // 02f6 00de 0e42 lr $AC0.M, @0x0e42 + // 02f8 00fe 0e43 sr @0x0e43, $AC0.M + *0x0e43 = *0x0e42 + + // 02fa 8100 clr $ACC0 + // 02fb 8900 clr $ACC1 + // 02fc 00de 0b9e lr $AC0.M, @0x0b9e + // 02fe 00df 0ba0 lr $AC1.M, @0x0ba0 + // 0300 8200 cmp + // 0301 0293 0306 jle 0x0306 + if (pb.itd.shiftL > pb.itd.targetShiftL) { + // 0303 7800 decm $AC0.M + // 0304 029f 0309 jmp 0x0309 + pb.itd.shiftL-- + } else if (pb.itd.shiftL < pb.itd.targetShiftL) { + // 0306 0295 0309 jz 0x0309 + // 0308 7400 incm $AC0.M + pb.itd.shiftL++ + } + // 0309 00fe 0b9e sr @0x0b9e, $AC0.M // Store pb.itd.shiftL + + // 030b 00df 0e43 lr $AC1.M, @0x0e43 + // 030d 05e0 addis $AC1.M, #0xe0 + // 030e 4c00 add $ACC0, $ACC1 + // 030f 00fe 0e40 sr @0x0e40, $AC0.M + *0x0e40 = *0x0e43 - 32 + + // 0311 8100 clr $ACC0 + // 0312 8900 clr $ACC1 + // 0313 00de 0b9f lr $AC0.M, @0x0b9f + // 0315 00df 0ba1 lr $AC1.M, @0x0ba1 + // 0317 8200 cmp + // 0318 0293 031d jle 0x031d + if (pb.itd.shiftR > pb.itd.targetShiftR) { + // 031a 7800 decm $AC0.M + // 031b 029f 0320 jmp 0x0320 + pb.itd.shiftR-- + } else if (pb.itd.shiftR < pb.itd.targetShiftR) { + // 031d 0295 0320 jz 0x0320 + // 031f 7400 incm $AC0.M + pb.itd.shiftR++ + } + // 0320 00fe 0b9f sr @0x0b9f, $AC0.M // Store pb.itd.shiftR + + // 0322 00df 0e43 lr $AC1.M, @0x0e43 + // 0324 05e0 addis $AC1.M, #0xe0 + // 0325 4c00 add $ACC0, $ACC1 + // 0326 00fe 0e41 sr @0x0e41, $AC0.M + *0x0e41 = *0x0e43 - 32 + + 0328 029f 0332 jmp 0x0332 + + } else { // pb.itd.flag == AX_PB_ITD_OFF + + // 032a 00de 0e42 lr $AC0.M, @0x0e42 + // 032c 00fe 0e40 sr @0x0e40, $AC0.M + // 032e 00fe 0e41 sr @0x0e41, $AC0.M + // 0330 00fe 0e43 sr @0x0e43, $AC0.M + *0x0e40 = *0x0e42 + *0x0e41 = *0x0e42 + *0x0e43 = *0x0e42 + } + } + + + // 0332 8100 clr $ACC0 + // 0333 8e00 set16 + // 0334 8400 clrp + // 0335 8900 clr $ACC1 + // 0336 1efe mrr $PROD.M2, $AC0.M + // 0337 0e40 lris $AC0.M, #0x40 + // 0338 1ebe mrr $PROD.M1, $AC0.M + // 0339 0083 0e08 lri $AR3, #0x0e08 + // 033b 1c03 mrr $AR0, $AR3 + // 033c 1ff5 mrr $AC1.M, $PROD.M1 + // 033d 191a lrri $AX0.H, @$AR0 + // 033e f858 addpaxz'l $ACC0, $AX0.H : $AX1.H, @$AR0 + // 033f fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + // 0340 f8b1 addpaxz'ls $ACC0, $AX0.H : $AX1.H, $AC1.M + // 0341 fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + // 0342 f8b1 addpaxz'ls $ACC0, $AX0.H : $AX1.H, $AC1.M + // 0343 fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + // 0344 f8b1 addpaxz'ls $ACC0, $AX0.H : $AX1.H, $AC1.M + // 0345 fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + // 0346 f83b addpaxz's $ACC0, $AX0.H : @$AR3, $AC1.M + // 0347 1b7e srri @$AR3, $AC0.M + + for (u16* i = 0x0e08; i <= 0x0e10; i++) { + *i = (u16)( (0xff00400000 + (u40)(*i << 16)) >> 16 ) + } + + // 0348 0083 0e04 lri $AR3, #0x0e04 + // 034a 8100 clr $ACC0 + // 034b 8973 clr'l $ACC1 : $AC0.M, @$AR3 + // 034c 1961 lrri $AR1, @$AR3 // 0x0e05 + // 034d 1960 lrri $AR0, @$AR3 // 0x0e06 + // 034e 7800 decm $AC0.M + // 034f 00fe 0e04 sr @0x0e04, $AC0.M + // 0351 0294 0253 jnz 0x0253 + ms_remaining-- + if (ms_remaining) + goto NextMillisecUpd + + // 0353 8e00 set16 + // 0354 8100 clr $ACC0 + // 0355 00de 0b9b lr $AC0.M, @0x0b9b + // 0357 b100 tst $ACC0 + // 0358 0295 036a jz 0x036a + if (pb.itd.flag != AX_PB_ITD_OFF) { + + // 035a 00de 0b9c lr $AC0.M, @0x0b9c + // 035c 00dc 0b9d lr $AC0.L, @0x0b9d + // 035e 2ece srs @DSMAH, $AC0.M + // 035f 2ccf srs @DSMAL, $AC0.L + // 0360 8100 clr $ACC0 + // 0361 00de 0e1c lr $AC0.M, @0x0e1c + // 0363 2ecd srs @DSPA, $AC0.M + // 0364 16c9 0001 si @DSCR, #0x0001 + // 0366 16cb 0040 si @DSBL, #0x0040 + + // DMA 0x40bytes from DRAM @ (*0x0e1c) to CPU @ ((pb.itd.bufferHi << 16) | pb.itd.bufferLo) + + // 0368 02bf 055c call 0x055c + WaitDMA(); + } + + // 036a 8100 clr $ACC0 + // 036b 8900 clr $ACC1 + // 036c 00de 0b82 lr $AC0.M, @0x0b82 + // 036e 00df 0b83 lr $AC1.M, @0x0b83 + u16 maddrh = pb.currHi + u16 maddrl = pb.currLo + + // This writes back the whole PB to mram from dsp + // 0370 2ece srs @DSMAH, $AC0.M + // 0371 2fcf srs @DSMAL, $AC1.M + // 0372 16cd 0b80 si @DSPA, #0x0b80 + // 0374 16c9 0001 si @DSCR, #0x0001 + // 0376 16cb 00c0 si @DSBL, #0x00c0 + + // DMA 0xc0bytes from DRAM @ 0x0b80 to CPU @ maddr + + // 0378 02bf 055c call 0x055c + WaitDMA(); + + // 037a 8100 clr $ACC0 + // 037b 00de 0b80 lr $AC0.M, @0x0b80 + // 037d 00dc 0b81 lr $AC0.L, @0x0b81 + // 037f b100 tst $ACC0 + // 0380 0294 0386 jnz 0x0386 + if (((pb.nextHi << 16) | pb.nextLo) == 0) { + // No more PBs! + + // Restore CmdBlockBuf ptr + 0382 00c0 0e07 lr $AR0, @0x0e07 + // 0384 029f 0068 jmp 0x0068 + goto DoNextCommand; + } + + // DMA in the next PB + // From here on out, it's the same as Cmd2, except it calls itself to process the PB it just loaded + + // 0386 2ece srs @DSMAH, $AC0.M + // 0387 2ccf srs @DSMAL, $AC0.L + // 0388 16cd 0b80 si @DSPA, #0x0b80 + // 038a 16c9 0000 si @DSCR, #0x0000 + // 038c 16cb 00c0 si @DSBL, #0x00c0 + + // DMA 0xc0bytes from CPU @ ((pb.nextHi << 16) | pb.nextLo) to DRAM @ 0x0b80 + + // 038e 0082 0e08 lri $AR2, #0x0e08 + // 0390 009f 0000 lri $AC1.M, #0x0000 + // 0392 1b5f srri @$AR2, $AC1.M + // 0393 009f 0140 lri $AC1.M, #0x0140 + // 0395 1b5f srri @$AR2, $AC1.M + // 0396 009f 0280 lri $AC1.M, #0x0280 + // 0398 1b5f srri @$AR2, $AC1.M + // 0399 009f 0400 lri $AC1.M, #0x0400 + // 039b 1b5f srri @$AR2, $AC1.M + // 039c 009f 0540 lri $AC1.M, #0x0540 + // 039e 1b5f srri @$AR2, $AC1.M + // 039f 009f 0680 lri $AC1.M, #0x0680 + // 03a1 1b5f srri @$AR2, $AC1.M + // 03a2 009f 07c0 lri $AC1.M, #0x07c0 + // 03a4 1b5f srri @$AR2, $AC1.M + // 03a5 009f 0900 lri $AC1.M, #0x0900 + // 03a7 1b5f srri @$AR2, $AC1.M + // 03a8 009f 0a40 lri $AC1.M, #0x0a40 + // 03aa 1b5f srri @$AR2, $AC1.M + *0x0e08 = 0x0000 + *0x0e09 = 0x0140 + *0x0e0a = 0x0280 + *0x0e0b = 0x0400 + *0x0e0c = 0x0540 + *0x0e0d = 0x0680 + *0x0e0e = 0x07c0 + *0x0e0f = 0x0900 + *0x0e10 = 0x0a40 + + // 03ab 02bf 055c call 0x055c + WaitDMA(); + + // 03ad 00de 0ba7 lr $AC0.M, @0x0ba7 + // 03af 00df 0ba8 lr $AC1.M, @0x0ba8 + // 03b1 2ece srs @DSMAH, $AC0.M + // 03b2 2fcf srs @DSMAL, $AC1.M + // 03b3 16cd 03c0 si @DSPA, #0x03c0 + // 03b5 16c9 0000 si @DSCR, #0x0000 + // 03b7 16cb 0080 si @DSBL, #0x0080 + + // DMA 0x80bytes from CPU @ ((pb.update.dataHi << 16) | pb.update.dataLo) to DRAM @ 0x03c0 + + // 03b9 8100 clr $ACC0 + // 03ba 8900 clr $ACC1 + + // 03bb 00de 0b84 lr $AC0.M, @0x0b84 + // 03bd 009f 0b31 lri $AC1.M, #0x0b31 + // 03bf 4c00 add $ACC0, $ACC1 + // 03c0 1c7e mrr $AR3, $AC0.M + // 03c1 0213 ilrr $AC0.M, @$AR3 + // 03c2 00fe 0e15 sr @0x0e15, $AC0.M + *0x0e15 = *(0x0b31 + pb.srcSelect) // func ptr for src + + // 03c4 00de 0b85 lr $AC0.M, @0x0b85 + // 03c6 009f 0b34 lri $AC1.M, #0x0b34 + // 03c8 4c00 add $ACC0, $ACC1 + // 03c9 1c7e mrr $AR3, $AC0.M + // 03ca 0213 ilrr $AC0.M, @$AR3 + // 03cb 00fe 0e16 sr @0x0e16, $AC0.M + *0x0e16 = *(0x0b34 + pb.coefSelect) // ptr to coef table + + // 03cd 00de 0b86 lr $AC0.M, @0x0b86 + // 03cf 009f 0b11 lri $AC1.M, #0x0b11 + // 03d1 4c00 add $ACC0, $ACC1 + // 03d2 1c7e mrr $AR3, $AC0.M + // 03d3 0213 ilrr $AC0.M, @$AR3 + // 03d4 00fe 0e14 sr @0x0e14, $AC0.M + *0x0e14 = *(0x0b11 + pb.mixerCtrl) // func ptr for mixer + + // 03d6 8100 clr $ACC0 + // 03d7 00de 0b9b lr $AC0.M, @0x0b9b + // 03d9 b100 tst $ACC0 + // 03da 0295 0403 jz 0x0403 + if (pb.itd.flag != AX_PB_ITD_OFF) { + // 03dc 8900 clr $ACC1 + // 03dd 00df 0b9e lr $AC1.M, @0x0b9e + // 03df 0300 0cc0 addi $AC1.M, #0x0cc0 + // 03e1 00ff 0e40 sr @0x0e40, $AC1.M + *0x0e40 = 0x0cc0 + pb.itd.shiftL + + // 03e3 00df 0b9f lr $AC1.M, @0x0b9f + // 03e5 0300 0cc0 addi $AC1.M, #0x0cc0 + // 03e7 00ff 0e41 sr @0x0e41, $AC1.M + *0x0e41 = 0x0cc0 + pb.itd.shiftR + + // 03e9 009f 0ce0 lri $AC1.M, #0x0ce0 + // 03eb 00ff 0e42 sr @0x0e42, $AC1.M + // 03ed 00ff 0e43 sr @0x0e43, $AC1.M + *0x0e42 = 0x0ce0 + *0x0e43 = 0x0ce0 + + // 03ef 02bf 055c call 0x055c + WaitDMA(); + + // 03f1 00de 0b9c lr $AC0.M, @0x0b9c + // 03f3 2ece srs @DSMAH, $AC0.M + // 03f4 00de 0b9d lr $AC0.M, @0x0b9d + // 03f6 2ecf srs @DSMAL, $AC0.M + // 03f7 16cd 0cc0 si @DSPA, #0x0cc0 + // 03f9 16c9 0000 si @DSCR, #0x0000 + // 03fb 16cb 0040 si @DSBL, #0x0040 + + // DMA 0x0040bytes to DMEM @ 0x0cc0 from CPU @ (pb.itd.bufferHi << 16) | pb.itd.bufferLo + + // 03fd 02bf 055c call 0x055c + WaitDMA(); + + // Restore CmdBlockBuf ptr + 03ff 00c0 0e07 lr $AR0, @0x0e07 + // 0401 029f 0248 jmp 0x0248 + goto Cmd_3() // Calls itself till there are no more PBs linked + + } else { + + // 0403 009f 0ce0 lri $AC1.M, #0x0ce0 + // 0405 00ff 0e42 sr @0x0e42, $AC1.M + // 0407 00ff 0e40 sr @0x0e40, $AC1.M + // 0409 00ff 0e41 sr @0x0e41, $AC1.M + // 040b 00ff 0e43 sr @0x0e43, $AC1.M + *0x0e42 = 0x0ce0 + *0x0e40 = 0x0ce0 + *0x0e41 = 0x0ce0 + *0x0e43 = 0x0ce0 + + // 040d 02bf 055c call 0x055c + WaitDMA(); + + // Restore CmdBlockBuf ptr + 040f 00c0 0e07 lr $AR0, @0x0e07 + // 0411 029f 0248 jmp 0x0248 + goto Cmd_3() // Calls itself till there are no more PBs linked + } +} + +void Cmd_4() { + 0413 8e00 set16 + + 0414 0086 0400 lri $IX2, #0x0400 // buffer in dram + + // 0416 8100 clr $ACC0 + // 0417 8970 clr'l $ACC1 : $AC0.M, @$AR0 + // 0418 191c lrri $AC0.L, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 0419 2ece srs @DSMAH, $AC0.M + // 041a 2ccf srs @DSMAL, $AC0.L + // 041b 1fc6 mrr $AC0.M, $IX2 + // 041c 2ecd srs @DSPA, $AC0.M + // 041d 16c9 0001 si @DSCR, #0x0001 + // 041f 16cb 0780 si @DSBL, #0x0780 + + // DMA 0x0780bytes from DRAM @ 0x0400 to CPU @ maddr + + // 0421 02bf 055c call 0x055c + WaitDMA(); + + 0423 02bf 0484 call 0x0484 + + // 0425 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_5() { + 0427 8e00 set16 + + 0428 0086 07c0 lri $IX2, #0x07c0 + + 042a 8100 clr $ACC0 + 042b 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 042c 191c lrri $AC0.L, @$AR0 + 042d 2ece srs @DSMAH, $AC0.M + 042e 2ccf srs @DSMAL, $AC0.L + 042f 1fc6 mrr $AC0.M, $IX2 + 0430 2ecd srs @DSPA, $AC0.M + 0431 16c9 0001 si @DSCR, #0x0001 + 0433 16cb 0780 si @DSBL, #0x0780 + + // 0435 02bf 055c call 0x055c + WaitDMA(); + + 0437 02bf 0484 call 0x0484 + + // 0439 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_E() { + 043b 8c00 clr15 + 043c 8a00 m2 + 043d 8100 clr $ACC0 + 043e 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 043f 191f lrri $AC1.M, @$AR0 + 0440 2ece srs @DSMAH, $AC0.M + 0441 2fcf srs @DSMAL, $AC1.M + 0442 16cd 0280 si @DSPA, #0x0280 + 0444 16c9 0001 si @DSCR, #0x0001 // DMEM -> CPU + 0446 16cb 0280 si @DSBL, #0x0280 + + 0448 8f50 set40'l : $AX0.H, @$AR0 + 0449 8140 clr'l $ACC0 : $AX0.L, @$AR0 + 044a 0081 0400 lri $AR1, #0x0400 + 044c 0083 0000 lri $AR3, #0x0000 + 044e 0082 0140 lri $AR2, #0x0140 + 0450 0099 0080 lri $AX1.L, #0x0080 + + // 0452 02bf 055c call 0x055c + WaitDMA(); + + 0454 1105 046c bloopi #0x05, 0x046c + 0456 1f61 mrr $AX1.H, $AR1 + + 0457 1120 045e bloopi #0x20, 0x045e + 0459 8972 clr'l $ACC1 : $AC0.M, @$AR2 + 045a 195c lrri $AC0.L, @$AR2 + 045b f07b lsl16'l $ACC0 : $AC1.M, @$AR3 + 045c 197d lrri $AC1.L, @$AR3 + 045d f131 lsl16's $ACC1 : @$AR1, $AC0.M + 045e 8139 clr's $ACC0 : @$AR1, $AC1.M + + 045f 8900 clr $ACC1 + 0460 6800 movax $ACC0, $AX0 + 0461 2ece srs @DSMAH, $AC0.M + 0462 2ccf srs @DSMAL, $AC0.L + 0463 1ffb mrr $AC1.M, $AX1.H + 0464 2fcd srs @DSPA, $AC1.M + 0465 0f01 lris $AC1.M, #0x01 + 0466 2fc9 srs @DSCR, $AC1.M + 0467 1ff9 mrr $AC1.M, $AX1.L + 0468 2fcb srs @DSBL, $AC1.M + 0469 7200 addaxl $ACC0, $AX1.L + 046a 1f5e mrr $AX0.H, $AC0.M + 046b 1f1c mrr $AX0.L, $AC0.L + 046c 8100 clr $ACC0 + + // 046d 26c9 lrs $AC0.M, @DSCR + // 046e 02a0 0004 andf $AC0.M, #0x0004 + // 0470 029c 046d jlnz 0x046d + while (@DSCR & 4); + + // 0472 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void UnimplimentedCmd_B() { + // 0474 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void UnimplimentedCmd_C() { + // 0476 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void UnimplimentedCmd_A() { + // 0478 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Task_Yield() { + // Send DSP_YIELD mail + // 047a 16fc dcd1 si @DMBH, #0xdcd1 + // 047c 16fd 0002 si @DMBL, #0x0002 + DMB = 0xdcd10002 + // 047e 16fb 0001 si @DIRQ, #0x0001 + + 0480 029f 0c91 jmp 0x0c91 +} + + // Unused? + // 0482 029f 0045 jmp 0x0045 + goto GetNextCmdBlock; + +// Called by cmds 4 5 9 +// IX2 is always modified before calling... +void UnkFunc() { + 0484 8e00 set16 + 0485 191f lrri $AC1.M, @$AR0 + 0486 191d lrri $AC1.L, @$AR0 + 0487 1f5f mrr $AX0.H, $AC1.M + 0488 1f1d mrr $AX0.L, $AC1.L + 0489 2fce srs @DSMAH, $AC1.M + 048a 2dcf srs @DSMAL, $AC1.L + 048b 8900 clr $ACC1 + 048c 1fa6 mrr $AC1.L, $IX2 + 048d 2dcd srs @DSPA, $AC1.L + 048e 0e00 lris $AC0.M, #0x00 + 048f 2ec9 srs @DSCR, $AC0.M + 0490 8100 clr $ACC0 + 0491 009c 00c0 lri $AC0.L, #0x00c0 + 0493 2ccb srs @DSBL, $AC0.L + 0494 1ca0 mrr $IX1, $AR0 + 0495 0081 0e44 lri $AR1, #0x0e44 + 0497 4800 addax $ACC0, $AX0 + 0498 1b3e srri @$AR1, $AC0.M + 0499 1b3c srri @$AR1, $AC0.L + 049a 0b00 lris $AX1.H, #0x00 + 049b 0099 0060 lri $AX1.L, #0x0060 + 049d 4b00 addax $ACC1, $AX1 + 049e 1b3d srri @$AR1, $AC1.L + 049f 0081 0e44 lri $AR1, #0x0e44 + 04a1 1c06 mrr $AR0, $IX2 + 04a2 0083 0000 lri $AR3, #0x0000 + 04a4 1c43 mrr $AR2, $AR3 + + 04a5 27c9 lrs $AC1.M, @DSCR + 04a6 03a0 0004 andf $AC1.M, #0x0004 + 04a8 029c 04a5 jlnz 0x04a5 + + 04aa 1109 04da bloopi #0x09, 0x04da + 04ac 8e00 set16 + 04ad 193a lrri $AX0.H, @$AR1 + 04ae 1938 lrri $AX0.L, @$AR1 + 04af 6900 movax $ACC1, $AX0 + 04b0 2fce srs @DSMAH, $AC1.M + 04b1 2dcf srs @DSMAL, $AC1.L + 04b2 8900 clr $ACC1 + 04b3 193d lrri $AC1.L, @$AR1 + 04b4 2dcd srs @DSPA, $AC1.L + 04b5 16c9 0000 si @DSCR, #0x0000 + 04b7 8100 clr $ACC0 + 04b8 009c 00c0 lri $AC0.L, #0x00c0 + 04ba 2ccb srs @DSBL, $AC0.L + 04bb 0081 0e44 lri $AR1, #0x0e44 + 04bd 4800 addax $ACC0, $AX0 + 04be 1b3e srri @$AR1, $AC0.M + 04bf 1b3c srri @$AR1, $AC0.L + 04c0 0b00 lris $AX1.H, #0x00 + 04c1 0960 lris $AX1.L, #0x60 + 04c2 4b00 addax $ACC1, $AX1 + 04c3 1b3d srri @$AR1, $AC1.L + 04c4 0081 0e44 lri $AR1, #0x0e44 + 04c6 8f00 set40 + 04c7 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04c8 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04c9 6a00 movax $ACC0, $AX1 + 04ca 4800 addax $ACC0, $AX0 + 04cb 1117 04d4 bloopi #0x17, 0x04d4 + 04cd 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04ce 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04cf 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 04d0 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 04d1 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04d2 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04d3 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 04d4 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 04d5 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04d6 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04d7 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 04d8 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 04d9 1b5f srri @$AR2, $AC1.M + 04da 1b5d srri @$AR2, $AC1.L + + 04db 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04dc 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04dd 6a00 movax $ACC0, $AX1 + 04de 4800 addax $ACC0, $AX0 + + 04df 1117 04e8 bloopi #0x17, 0x04e8 + 04e1 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04e2 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04e3 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 04e4 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 04e5 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04e6 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04e7 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 04e8 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + + 04e9 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 04ea 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 04eb 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 04ec 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 04ed 1b5f srri @$AR2, $AC1.M + 04ee 1b5d srri @$AR2, $AC1.L + 04ef 1c05 mrr $AR0, $IX1 + 04f0 02df ret +} + +// Only called by Command 1 +// AX0 = maddr +// AX1.L = unkForMulBuffer1 +// AR1 = unkForMulBuffer2 +void Unk(maddr, unkForMulBuffer1, unkForMulBuffer2) { + 04f1 8e00 set16 + + // 04f2 009b 0e44 lri $AX1.H, #0x0e44 + // 04f4 009d 00c0 lri $AC1.L, #0x00c0 + // 04f6 02bf 0541 call 0x0541 + u16 daddr = 0x0e44 + const u16 dma_len = 0x00c0 + DMA_CPUToDMEM(maddr, daddr, dma_len); + + // 04f8 4900 addax $ACC1, $AX0 + // 04f9 00ff 0e1d sr @0x0e1d, $AC1.M + // 04fb 00fd 0e1e sr @0x0e1e, $AC1.L + // 04fd 8900 clr $ACC1 + maddr += dma_len + + // 04fe 02bf 055c call 0x055c + WaitDMA(); + + // 0500 1104 052c bloopi #0x04, 0x052c + for (u8 i = 0; i < 4; i++) { + // 0502 00da 0e1d lr $AX0.H, @0x0e1d // restore + // 0504 00d8 0e1e lr $AX0.L, @0x0e1e // restore + // 0506 009b 0ea4 lri $AX1.H, #0x0ea4 // buffer 2 + // 0508 009d 00c0 lri $AC1.L, #0x00c0 // restore + // 050a 02bf 0541 call 0x0541 + daddr = 0x0ea4 + DMA_CPUToDMEM(maddr, daddr, dma_len); + + // 050c 4900 addax $ACC1, $AX0 + // 050d 00ff 0e1d sr @0x0e1d, $AC1.M // update + // 050f 00fd 0e1e sr @0x0e1e, $AC1.L + maddr += dma_len + + // 0511 0083 0e44 lri $AR3, #0x0e44 + // 0513 02bf 054c call 0x054c + UnknownMulBuffer(0x0e44); + + // 0515 8900 clr $ACC1 + // 0516 00da 0e1d lr $AX0.H, @0x0e1d // restore + // 0518 00d8 0e1e lr $AX0.L, @0x0e1e // restore + // 051a 009b 0e44 lri $AX1.H, #0x0e44 // buffer 1 + // 051c 009d 00c0 lri $AC1.L, #0x00c0 // restore + // 051e 02bf 0541 call 0x0541 + daddr = 0x0e44 + DMA_CPUToDMEM(maddr, daddr, dma_len); + + // 0520 4900 addax $ACC1, $AX0 + // 0521 00ff 0e1d sr @0x0e1d, $AC1.M // update + // 0523 00fd 0e1e sr @0x0e1e, $AC1.L + maddr += dma_len + + // 0525 0083 0ea4 lri $AR3, #0x0ea4 // buffer 2 + // 0527 02bf 054c call 0x054c + UnknownMulBuffer(0x0ea4); + + // 0529 0000 nop + // 052a 0000 nop + // 052b 8e00 set16 // restore + // 052c 8900 clr $ACC1 + } + + // 052d 00da 0e1d lr $AX0.H, @0x0e1d // restore + // 052f 00d8 0e1e lr $AX0.L, @0x0e1e // restore + // 0531 009b 0ea4 lri $AX1.H, #0x0ea4 // buffer 2 + // 0533 009d 00c0 lri $AC1.L, #0x00c0 // restore + // 0535 02bf 0541 call 0x0541 + DMA_CPUToDMEM(maddr, daddr, dma_len); + + // 0537 4900 addax $ACC1, $AX0 + maddr += dma_len + + // 0538 0083 0e44 lri $AR3, #0x0e44 // buffer 1 + // 053a 02bf 054c call 0x054c + UnknownMulBuffer(0x0e44); + + // 053c 0083 0ea4 lri $AR3, #0x0ea4 // buffer 2 + // 053e 02bf 054c call 0x054c + UnknownMulBuffer(0x0ea4); + + 0540 02df ret +} + +// u32 maddr = AX0 +// u16 daddr = AX1.H +// u16 len = AC1.L +// Only transfers from CPU -> DMEM +void DMA_CPUToDMEM() { + 0541 8e00 set16 + 0542 00fa ffce sr @DSMAH, $AX0.H + 0544 00f8 ffcf sr @DSMAL, $AX0.L + 0546 00fb ffcd sr @DSPA, $AX1.H + 0548 16c9 0000 si @DSCR, #0x0000 + 054a 2dcb srs @DSBL, $AC1.L + 054b 02df ret +} + +// IX1 = 0xffff +// AX1.L = unkForMulBuffer1 (next value in cmd block) +// AR1 = unkForMulBuffer2 (0, 0x0400, then 0x07c0) +// AR3 is some buffer, either 0x0e44 or 0x0ea4 +void UnknownMulBuffer() { + 054c 8f00 set40 // Loaded ACx.M values extend to the entire ACC + 054d 8d00 set15 // multiplicands unsigned + 054e 8a00 m2 // mul results doubled + + // 054f 197a lrri $AX0.H, @$AR3 + // 0550 1978 lrri $AX0.L, @$AR3 + AX0.H = *(AR3++) + AX0.L = *(AR3++) + + // 0551 a000 mulx $AX0.L, $AX1.L + // 0552 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + ACC0 = (u16)AX0.L * (u16)unkForMulBuffer1 * 2 + PROD = (u16)AX0.H * (u16)unkForMulBuffer1 * 2 + + // 0553 1130 055a bloopi #0x30, 0x055a + for (int i=0; i<48; i++) { + // 0555 9179 asr16'l $ACC0 : $AC1.M, @$AR1 + ACC0 >>= 16 + AC1.M = *(unkForMulBuffer2++) + + // 0556 4e6d addp'ln $ACC0 : $AC1.L, @$AR1 + ACC0 += PROD + AC1.L = *unkForMulBuffer2 + unkForMulBuffer2 -= 1 + + // 0557 197a lrri $AX0.H, @$AR3 + AX0.H = *(AR3++) + + // 0558 4d43 add'l $ACC1, $ACC0 : $AX0.L, @$AR3 + ACC1 += ACC0 + AX0.L = *(AR3++) + + // 0559 a039 mulx's $AX0.L, $AX1.L : @$AR1, $AC1.M + // 055a b629 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR1, $AC1.L + ACC0 = (u16)AX0.L * (u16)unkForMulBuffer1 * 2 + *(unkForMulBuffer2++) = AC1.M + PROD = (u16)AX0.H * (u16)unkForMulBuffer1 * 2 + *(unkForMulBuffer2++) = AC1.L + } + + 055b 02df ret +} + +void WaitDMA() { + // 055c 26c9 lrs $AC0.M, @DSCR + // 055d 02a0 0004 andf $AC0.M, #0x0004 + // 055f 029c 055c jlnz 0x055c + while (@DSCR & 4); + + // 0561 02df ret + return; +} + +// All apparently unused? +void WaitForCPUMailbox() { + 0562 26fe lrs $AC0.M, @CMBH + 0563 02c0 8000 andcf $AC0.M, #0x8000 + 0565 029c 0562 jlnz 0x0562 + 0567 02df ret +} +void WaitForDSPMailbox1() { + 0568 26fc lrs $AC0.M, @DMBH + 0569 02a0 8000 andf $AC0.M, #0x8000 + 056b 029c 0568 jlnz 0x0568 + 056d 02df ret +} +void WaitForDSPMailbox2() { + 056e 26fc lrs $AC0.M, @DMBH + 056f 02a0 8000 andf $AC0.M, #0x8000 + 0571 029c 056e jlnz 0x056e + 0573 02df ret +} + +void Cmd_7() { + // 0574 8100 clr $ACC0 + // 0575 8970 clr'l $ACC1 : $AC0.M, @$AR0 + // 0576 8e60 set16'l : $AC0.L, @$AR0 + u16 maddrh = *(CmdBlockBuf++) + u16 maddrl = *(CmdBlockBuf++) + + // 0577 2ece srs @DSMAH, $AC0.M + // 0578 2ccf srs @DSMAL, $AC0.L + // 0579 16cd 0e44 si @DSPA, #0x0e44 + // 057b 16c9 0000 si @DSCR, #0x0000 + // 057d 8900 clr $ACC1 + // 057e 0d20 lris $AC1.L, #0x20 + u16 dma_len = 32 + + // 057f 2dcb srs @DSBL, $AC1.L + // DMA 32bytes from CPU @ maddr -> DMEM @ 0x0e44 + + // 0580 4c00 add $ACC0, $ACC1 + maddr += dma_len + + // Push CmdBlockBuf ptr + 0581 1c80 mrr $IX0, $AR0 + + // 0582 0080 0280 lri $AR0, #0x0280 + // 0584 0081 0000 lri $AR1, #0x0000 + // 0586 0082 0140 lri $AR2, #0x0140 + // 0588 0083 0e44 lri $AR3, #0x0e44 + u16* unk_buf1 = 0x0280 + u16* unk_buf2 = 0x0000 + u16* unk_buf3 = 0x0140 + u16* dmem_buf = 0x0e44 + + // 058a 0a00 lris $AX0.H, #0x00 + const u16 null = 0 // Guess is that it's faster to use AXx instead of imm value? + + // 058b 27c9 lrs $AC1.M, @DSCR + // 058c 03a0 0004 andf $AC1.M, #0x0004 + // 058e 029c 058b jlnz 0x058b + while (@DSCR & 4); // Wait for DMA completion + + // 0590 2ece srs @DSMAH, $AC0.M + // 0591 2ccf srs @DSMAL, $AC0.L + // 0592 16cd 0e54 si @DSPA, #0x0e54 + // 0594 16c9 0000 si @DSCR, #0x0000 + // 0596 16cb 0260 si @DSBL, #0x0260 + + // DMA 0x0260bytes from CPU @ maddr -> DMEM @ 0x0e54 + // No waiting for DMA + + // 0598 009f 00a0 lri $AC1.M, #0x00a0 + u16 size = 0x00a0 + + // accum loads in the loop are 40bit + // 059a 8f00 set40 + + // 059b 007f 05a4 bloop $AC1.M, 0x05a4 + for (int i = 0; i < size; i++) { + // !!! Doesn't make sense with current understanding of set40 + 059d 197e lrri $AC0.M, @$AR3 + 059e 1b1a srri @$AR0, $AX0.H + 059f 197c lrri $AC0.L, @$AR3 + 05a0 1b1a srri @$AR0, $AX0.H + 05a1 1b5e srri @$AR2, $AC0.M + 05a2 1b5c srri @$AR2, $AC0.L + 05a3 1b3e srri @$AR1, $AC0.M + 05a4 1b3c srri @$AR1, $AC0.L + } + + // Pop CmdBlockBuf ptr + 05a5 1c04 mrr $AR0, $IX0 + + // 05a6 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +# Following 3 funcs are the SRCs to select from, in order + +void SRC_Polyphase() { + // Copy pb's data [pb.addr.format to pb.adpm.yn2] to corresponding hw regs + // 05a8 0082 0bb8 lri $AR2, #0x0bb8 + // 05aa 195e lrri $AC0.M, @$AR2 + // 05ab 2ed1 srs @SampleFormat, $AC0.M + // 05ac 195e lrri $AC0.M, @$AR2 + // 05ad 2ed4 srs @ACSAH, $AC0.M + // 05ae 195e lrri $AC0.M, @$AR2 + // 05af 2ed5 srs @ACSAL, $AC0.M + // 05b0 195e lrri $AC0.M, @$AR2 + // 05b1 2ed6 srs @ACEAH, $AC0.M + // 05b2 195e lrri $AC0.M, @$AR2 + // 05b3 2ed7 srs @ACEAL, $AC0.M + // 05b4 195e lrri $AC0.M, @$AR2 + // 05b5 2ed8 srs @ACCAH, $AC0.M + // 05b6 195e lrri $AC0.M, @$AR2 + // 05b7 2ed9 srs @ACCAL, $AC0.M + // 05b8 195e lrri $AC0.M, @$AR2 + // 05b9 2ea0 srs @COEF_A1_0, $AC0.M + // 05ba 195e lrri $AC0.M, @$AR2 + // 05bb 2ea1 srs @COEF_A2_0, $AC0.M + // 05bc 195e lrri $AC0.M, @$AR2 + // 05bd 2ea2 srs @COEF_A1_1, $AC0.M + // 05be 195e lrri $AC0.M, @$AR2 + // 05bf 2ea3 srs @COEF_A2_1, $AC0.M + // 05c0 195e lrri $AC0.M, @$AR2 + // 05c1 2ea4 srs @COEF_A1_2, $AC0.M + // 05c2 195e lrri $AC0.M, @$AR2 + // 05c3 2ea5 srs @COEF_A2_2, $AC0.M + // 05c4 195e lrri $AC0.M, @$AR2 + // 05c5 2ea6 srs @COEF_A1_3, $AC0.M + // 05c6 195e lrri $AC0.M, @$AR2 + // 05c7 2ea7 srs @COEF_A2_3, $AC0.M + // 05c8 195e lrri $AC0.M, @$AR2 + // 05c9 2ea8 srs @COEF_A1_4, $AC0.M + // 05ca 195e lrri $AC0.M, @$AR2 + // 05cb 2ea9 srs @COEF_A2_4, $AC0.M + // 05cc 195e lrri $AC0.M, @$AR2 + // 05cd 2eaa srs @COEF_A1_5, $AC0.M + // 05ce 195e lrri $AC0.M, @$AR2 + // 05cf 2eab srs @COEF_A2_5, $AC0.M + // 05d0 195e lrri $AC0.M, @$AR2 + // 05d1 2eac srs @COEF_A1_6, $AC0.M + // 05d2 195e lrri $AC0.M, @$AR2 + // 05d3 2ead srs @COEF_A2_6, $AC0.M + // 05d4 195e lrri $AC0.M, @$AR2 + // 05d5 2eae srs @COEF_A1_7, $AC0.M + // 05d6 195e lrri $AC0.M, @$AR2 + // 05d7 2eaf srs @COEF_A2_7, $AC0.M + // 05d8 195e lrri $AC0.M, @$AR2 + // 05d9 2ede srs @GAIN, $AC0.M + // 05da 195e lrri $AC0.M, @$AR2 + // 05db 2eda srs @scale, $AC0.M + // 05dc 195e lrri $AC0.M, @$AR2 + // 05dd 2edb srs @yn1, $AC0.M + // 05de 195e lrri $AC0.M, @$AR2 + // 05df 2edc srs @yn2, $AC0.M + + 05e0 8c00 clr15 + 05e1 8a00 m2 + 05e2 8e00 set16 + 05e3 00d8 0e16 lr $AX0.L, @0x0e16 + 05e5 195b lrri $AX1.H, @$AR2 + 05e6 1959 lrri $AX1.L, @$AR2 + 05e7 8100 clr $ACC0 + 05e8 195c lrri $AC0.L, @$AR2 + 05e9 0080 0e44 lri $AR0, #0x0e44 + 05eb 195f lrri $AC1.M, @$AR2 + 05ec 1b1f srri @$AR0, $AC1.M + 05ed 195f lrri $AC1.M, @$AR2 + 05ee 1b1f srri @$AR0, $AC1.M + 05ef 195f lrri $AC1.M, @$AR2 + 05f0 1b1f srri @$AR0, $AC1.M + 05f1 185f lrr $AC1.M, @$AR2 + 05f2 1b1f srri @$AR0, $AC1.M + 05f3 6b00 movax $ACC1, $AX1 + 05f4 1505 lsl $ACC1, #5 + 05f5 4d00 add $ACC1, $ACC0 + 05f6 157e lsr $ACC1, #-2 + 05f7 1c9f mrr $IX0, $AC1.M + 05f8 1cbd mrr $IX1, $AC1.L + 05f9 05e0 addis $AC1.M, #0xe0 + 05fa 9900 asr16 $ACC1 + 05fb 7d00 neg $ACC1 + 05fc 1cdd mrr $IX2, $AC1.L + 05fd 8900 clr $ACC1 + 05fe 1fa5 mrr $AC1.L, $IX1 + 05ff 1502 lsl $ACC1, #2 + 0600 1cbf mrr $IX1, $AC1.M + 0601 009a 01fc lri $AX0.H, #0x01fc + 0603 009e 0e44 lri $AC0.M, #0x0e44 + 0605 0081 ffdd lri $AR1, #0xffdd + 0607 0083 0d80 lri $AR3, #0x0d80 + 0609 0064 061a bloop $IX0, 0x061a + 060b 1827 lrr $IX3, @$AR1 + 060c 1b07 srri @$AR0, $IX3 + 060d 4a00 addax $ACC0, $AX1 + 060e 1ffc mrr $AC1.M, $AC0.L + 060f 1827 lrr $IX3, @$AR1 + 0610 1b07 srri @$AR0, $IX3 + 0611 1579 lsr $ACC1, #-7 + 0612 3500 andr $AC1.M, $AX0.H + 0613 1827 lrr $IX3, @$AR1 + 0614 1b07 srri @$AR0, $IX3 + 0615 4100 addr $ACC1, $AX0.L + 0616 1b7e srri @$AR3, $AC0.M + 0617 1827 lrr $IX3, @$AR1 + 0618 1b07 srri @$AR0, $IX3 + 0619 1b7f srri @$AR3, $AC1.M + 061a 0000 nop + + 061b 0065 0620 bloop $IX1, 0x0620 + 061d 1827 lrr $IX3, @$AR1 + 061e 1b07 srri @$AR0, $IX3 + 061f 0000 nop + 0620 0000 nop + + 0621 0007 dar $AR3 + 0622 187f lrr $AC1.M, @$AR3 + 0623 0066 0629 bloop $IX2, 0x0629 + 0625 4a3b addax's $ACC0, $AX1.L : @$AR3, $AC1.M + 0626 1ffc mrr $AC1.M, $AC0.L + 0627 1579 lsr $ACC1, #-7 + 0628 3533 andr's $AC1.M, $AX0.H : @$AR3, $AC0.M + 0629 4100 addr $ACC1, $AX0.L + + 062a 1b7f srri @$AR3, $AC1.M + 062b 0004 dar $AR0 + 062c 189f lrrd $AC1.M, @$AR0 + 062d 1adf srrd @$AR2, $AC1.M + 062e 189f lrrd $AC1.M, @$AR0 + 062f 1adf srrd @$AR2, $AC1.M + 0630 189f lrrd $AC1.M, @$AR0 + 0631 1adf srrd @$AR2, $AC1.M + 0632 189f lrrd $AC1.M, @$AR0 + 0633 1adf srrd @$AR2, $AC1.M + 0634 1adc srrd @$AR2, $AC0.L + 0635 0082 0bd2 lri $AR2, #0x0bd2 + 0637 27dc lrs $AC1.M, @yn2 + 0638 1adf srrd @$AR2, $AC1.M + 0639 27db lrs $AC1.M, @yn1 + 063a 1adf srrd @$AR2, $AC1.M + 063b 27da lrs $AC1.M, @scale + 063c 1adf srrd @$AR2, $AC1.M + 063d 0082 0bbe lri $AR2, #0x0bbe + 063f 27d9 lrs $AC1.M, @ACCAL + 0640 1adf srrd @$AR2, $AC1.M + 0641 27d8 lrs $AC1.M, @ACCAH + 0642 1adf srrd @$AR2, $AC1.M + 0643 8f00 set40 + 0644 00c1 0e42 lr $AR1, @0x0e42 + 0646 0082 0d80 lri $AR2, #0x0d80 + 0648 1940 lrri $AR0, @$AR2 + 0649 1943 lrri $AR3, @$AR2 + 064a 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 064b b8c0 mulx'ld $AX0.H, $AX1.H : $AX0.L, $AX1.L, @$AR0 + 064c 111f 0654 bloopi #0x1f, 0x0654 + 064e a6f0 mulxmv'ld $AX0.L, $AX1.L, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 064f bcf0 mulxac'ld $AX0.H, $AX1.H, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0650 1940 lrri $AR0, @$AR2 + 0651 1943 lrri $AR3, @$AR2 + 0652 bcf0 mulxac'ld $AX0.H, $AX1.H, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0653 4ec0 addp'ld $ACC0 : $AX0.L, $AX1.L, @$AR0 + 0654 b831 mulx's $AX0.H, $AX1.H : @$AR1, $AC0.M + + 0655 a6f0 mulxmv'ld $AX0.L, $AX1.L, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0656 bcf0 mulxac'ld $AX0.H, $AX1.H, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0657 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0658 4e00 addp $ACC0 + 0659 1b3e srri @$AR1, $AC0.M + 065a 00e1 0e42 sr @0x0e42, $AR1 + + 065c 02df ret +} + +void SRC_Linear() { + // Copy pb's data [pb.addr.format to pb.adpm.yn2] to corresponding hw regs + // 065d 0082 0bb8 lri $AR2, #0x0bb8 + // 065f 195e lrri $AC0.M, @$AR2 + // 0660 2ed1 srs @SampleFormat, $AC0.M + // 0661 195e lrri $AC0.M, @$AR2 + // 0662 2ed4 srs @ACSAH, $AC0.M + // 0663 195e lrri $AC0.M, @$AR2 + // 0664 2ed5 srs @ACSAL, $AC0.M + // 0665 195e lrri $AC0.M, @$AR2 + // 0666 2ed6 srs @ACEAH, $AC0.M + // 0667 195e lrri $AC0.M, @$AR2 + // 0668 2ed7 srs @ACEAL, $AC0.M + // 0669 195e lrri $AC0.M, @$AR2 + // 066a 2ed8 srs @ACCAH, $AC0.M + // 066b 195e lrri $AC0.M, @$AR2 + // 066c 2ed9 srs @ACCAL, $AC0.M + // 066d 195e lrri $AC0.M, @$AR2 + // 066e 2ea0 srs @COEF_A1_0, $AC0.M + // 066f 195e lrri $AC0.M, @$AR2 + // 0670 2ea1 srs @COEF_A2_0, $AC0.M + // 0671 195e lrri $AC0.M, @$AR2 + // 0672 2ea2 srs @COEF_A1_1, $AC0.M + // 0673 195e lrri $AC0.M, @$AR2 + // 0674 2ea3 srs @COEF_A2_1, $AC0.M + // 0675 195e lrri $AC0.M, @$AR2 + // 0676 2ea4 srs @COEF_A1_2, $AC0.M + // 0677 195e lrri $AC0.M, @$AR2 + // 0678 2ea5 srs @COEF_A2_2, $AC0.M + // 0679 195e lrri $AC0.M, @$AR2 + // 067a 2ea6 srs @COEF_A1_3, $AC0.M + // 067b 195e lrri $AC0.M, @$AR2 + // 067c 2ea7 srs @COEF_A2_3, $AC0.M + // 067d 195e lrri $AC0.M, @$AR2 + // 067e 2ea8 srs @COEF_A1_4, $AC0.M + // 067f 195e lrri $AC0.M, @$AR2 + // 0680 2ea9 srs @COEF_A2_4, $AC0.M + // 0681 195e lrri $AC0.M, @$AR2 + // 0682 2eaa srs @COEF_A1_5, $AC0.M + // 0683 195e lrri $AC0.M, @$AR2 + // 0684 2eab srs @COEF_A2_5, $AC0.M + // 0685 195e lrri $AC0.M, @$AR2 + // 0686 2eac srs @COEF_A1_6, $AC0.M + // 0687 195e lrri $AC0.M, @$AR2 + // 0688 2ead srs @COEF_A2_6, $AC0.M + // 0689 195e lrri $AC0.M, @$AR2 + // 068a 2eae srs @COEF_A1_7, $AC0.M + // 068b 195e lrri $AC0.M, @$AR2 + // 068c 2eaf srs @COEF_A2_7, $AC0.M + // 068d 195e lrri $AC0.M, @$AR2 + // 068e 2ede srs @GAIN, $AC0.M + // 068f 195e lrri $AC0.M, @$AR2 + // 0690 2eda srs @scale, $AC0.M + // 0691 195e lrri $AC0.M, @$AR2 + // 0692 2edb srs @yn1, $AC0.M + // 0693 195e lrri $AC0.M, @$AR2 + // 0694 2edc srs @yn2, $AC0.M + + // 0695 8c00 clr15 // signed mulx + // 0696 8a00 m2 // *2 + // 0697 8e00 set16 // no sign extend + + // 0698 195b lrri $AX1.H, @$AR2 + // 0699 1959 lrri $AX1.L, @$AR2 + // 069a 8100 clr $ACC0 + // 069b 195c lrri $AC0.L, @$AR2 + // 069c 0080 0e44 lri $AR0, #0x0e44 + // 069e 195f lrri $AC1.M, @$AR2 + // 069f 195f lrri $AC1.M, @$AR2 + // 06a0 195f lrri $AC1.M, @$AR2 + // 06a1 1b1f srri @$AR0, $AC1.M + AR0 = 0x0e44 + AX1.H = pb.src.ratioHi + AX1.L = pb.src.ratioLo + AC0.L = pb.src.currentAddressFrac + AC1.M = pb.src.last_samples[2] + + *0x0e44 = pb.src.last_samples[2] + *0x0e45 = pb.src.last_samples[3] + + // 06a2 185f lrr $AC1.M, @$AR2 + // 06a3 1b1f srri @$AR0, $AC1.M + // 06a4 6b00 movax $ACC1, $AX1 + // 06a5 1505 lsl $ACC1, #5 + // 06a6 4d00 add $ACC1, $ACC0 + // 06a7 157e lsr $ACC1, #-2 + // 06a8 1c9f mrr $IX0, $AC1.M + // 06a9 1cbd mrr $IX1, $AC1.L + ACC1 = (pb.src.currentAddressFrac + (pb.src.ratio << 5)) >> 2 + IX0 = ACC1 >> 16 + IX1 = ((ACC1 & 0xffff) & 0xc000) >> 14 + IX2 = ~((ACC1 >> 16) - 32) + AX0.H = 0x01fc + AC0.M = 0x0e45 + AR1 = 0xffdd // DSP_ACCELERATOR + AR3 = 0x0d80 + + // 06aa 05e0 addis $AC1.M, #0xe0 + // 06ab 9900 asr16 $ACC1 + // 06ac 7d00 neg $ACC1 + // 06ad 1cdd mrr $IX2, $AC1.L + // 06ae 8900 clr $ACC1 + // 06af 1fa5 mrr $AC1.L, $IX1 + // 06b0 1502 lsl $ACC1, #2 + // 06b1 1cbf mrr $IX1, $AC1.M + // 06b2 009a 01fc lri $AX0.H, #0x01fc + // 06b4 009e 0e45 lri $AC0.M, #0x0e45 + // 06b6 0081 ffdd lri $AR1, #0xffdd + // 06b8 0083 0d80 lri $AR3, #0x0d80 + // 06ba 0064 06cb bloop $IX0, 0x06cb + // 06bc 1827 lrr $IX3, @$AR1 + // 06bd 1b07 srri @$AR0, $IX3 + // 06be 4a00 addax $ACC0, $AX1 + // 06bf 1b7e srri @$AR3, $AC0.M + // 06c0 1827 lrr $IX3, @$AR1 + // 06c1 1b07 srri @$AR0, $IX3 + // 06c2 1b7c srri @$AR3, $AC0.L + // 06c3 0000 nop + // 06c4 1827 lrr $IX3, @$AR1 + // 06c5 1b07 srri @$AR0, $IX3 + // 06c6 0000 nop + // 06c7 0000 nop + // 06c8 1827 lrr $IX3, @$AR1 + // 06c9 1b07 srri @$AR0, $IX3 + // 06ca 0000 nop + // 06cb 0000 nop + ACCO = (0x0e45 << 16) + pb.src.currentAddressFrac + for (i = 0; i < IX0; i++) { + ACC0 += pb.src.ratio + *(0x0d80++) = ACC0 >> 16 + *(0x0d80++) = ACC0 & 0xffff + *(0x0e46++) = *DSP_ACCELERATOR + *(0x0e46++) = *DSP_ACCELERATOR + *(0x0e46++) = *DSP_ACCELERATOR + *(0x0e46++) = *DSP_ACCELERATOR + } + + // 06cc 0065 06d1 bloop $IX1, 0x06d1 + // 06ce 1827 lrr $IX3, @$AR1 + // 06cf 1b07 srri @$AR0, $IX3 + // 06d0 0000 nop + // 06d1 0000 nop + for (i = 0; i < IX1; i++) { + *(0x0e46++) = *DSP_ACCELERATOR + } + + // 06d2 0066 06d6 bloop $IX2, 0x06d6 + // 06d4 4a00 addax $ACC0, $AX1 + // 06d5 1b7e srri @$AR3, $AC0.M + // 06d6 1b7c srri @$AR3, $AC0.L + for (i = 0; i < IX2; i++) { + ACC0 += pb.src.ratio + *(0x0d80++) = ACC0 >> 16 + *(0x0d80++) = ACC0 & 0xffff + } + + // 06d7 0004 dar $AR0 + // 06d8 189f lrrd $AC1.M, @$AR0 + // 06d9 1adf srrd @$AR2, $AC1.M + // 06da 189f lrrd $AC1.M, @$AR0 + // 06db 1adf srrd @$AR2, $AC1.M + // 06dc 189f lrrd $AC1.M, @$AR0 + // 06dd 1adf srrd @$AR2, $AC1.M + // 06de 189f lrrd $AC1.M, @$AR0 + // 06df 1adf srrd @$AR2, $AC1.M + // 06e0 1adc srrd @$AR2, $AC0.L + *(0x0e46++)-- + pb.src.last_samples[3] = *(0x0e46--) + pb.src.last_samples[2] = *(0x0e46--) + pb.src.last_samples[1] = *(0x0e46--) + pb.src.last_samples[0] = *(0x0e46--) + pb.src.currentAddressFrac = ACC0 & 0xffff + + // 06e1 0082 0bd2 lri $AR2, #0x0bd2 + // 06e3 27dc lrs $AC1.M, @yn2 + // 06e4 1adf srrd @$AR2, $AC1.M + // 06e5 27db lrs $AC1.M, @yn1 + // 06e6 1adf srrd @$AR2, $AC1.M + // 06e7 27da lrs $AC1.M, @scale + // 06e8 1adf srrd @$AR2, $AC1.M + // 06e9 0082 0bbe lri $AR2, #0x0bbe + // 06eb 27d9 lrs $AC1.M, @ACCAL + // 06ec 1adf srrd @$AR2, $AC1.M + // 06ed 27d8 lrs $AC1.M, @ACCAH + // 06ee 1adf srrd @$AR2, $AC1.M + pb.adpm.yn2 = *yn2 + pb.adpm.yn1 = *yn1 + pb.adpm.pred_scale = *scale + pb.addr.currentAddressLo = *ACCAL // Current playback position + pb.addr.currentAddressHi = *ACCAH + + 06ef 8d00 set15 // unsigned mulx + 06f0 8b00 m0 // no *2 + 06f1 8f00 set40 // sign extend + 06f2 00c1 0e42 lr $AR1, @0x0e42 + 06f4 0082 0d80 lri $AR2, #0x0d80 + 06f6 8100 clr $ACC0 + 06f7 1120 0703 bloopi #0x20, 0x0703 + 06f9 8900 clr $ACC1 + 06fa 1940 lrri $AR0, @$AR2 + 06fb 189e lrrd $AC0.M, @$AR0 + 06fc 181b lrr $AX1.H, @$AR0 + 06fd 199a lrrn $AX0.H, @$AR0 + 06fe 5400 subr $ACC0, $AX0.H + 06ff 1f5e mrr $AX0.H, $AC0.M + 0700 1959 lrri $AX1.L, @$AR2 + 0701 b000 mulx $AX0.H, $AX1.L + 0702 fb00 addpaxz $ACC1, $AX1 + 0703 8139 clr's $ACC0 : @$AR1, $AC1.M + + 0704 00e1 0e42 sr @0x0e42, $AR1 + + 0706 02df ret +} + +void SRC_None() { + // Copy pb's data [pb.addr.format to pb.adpm.yn2] to corresponding hw regs + // 0707 0082 0bb8 lri $AR2, #0x0bb8 + // 0709 195e lrri $AC0.M, @$AR2 + // 070a 2ed1 srs @SampleFormat, $AC0.M + // 070b 195e lrri $AC0.M, @$AR2 + // 070c 2ed4 srs @ACSAH, $AC0.M + // 070d 195e lrri $AC0.M, @$AR2 + // 070e 2ed5 srs @ACSAL, $AC0.M + // 070f 195e lrri $AC0.M, @$AR2 + // 0710 2ed6 srs @ACEAH, $AC0.M + // 0711 195e lrri $AC0.M, @$AR2 + // 0712 2ed7 srs @ACEAL, $AC0.M + // 0713 195e lrri $AC0.M, @$AR2 + // 0714 2ed8 srs @ACCAH, $AC0.M + // 0715 195e lrri $AC0.M, @$AR2 + // 0716 2ed9 srs @ACCAL, $AC0.M + // 0717 195e lrri $AC0.M, @$AR2 + // 0718 2ea0 srs @COEF_A1_0, $AC0.M + // 0719 195e lrri $AC0.M, @$AR2 + // 071a 2ea1 srs @COEF_A2_0, $AC0.M + // 071b 195e lrri $AC0.M, @$AR2 + // 071c 2ea2 srs @COEF_A1_1, $AC0.M + // 071d 195e lrri $AC0.M, @$AR2 + // 071e 2ea3 srs @COEF_A2_1, $AC0.M + // 071f 195e lrri $AC0.M, @$AR2 + // 0720 2ea4 srs @COEF_A1_2, $AC0.M + // 0721 195e lrri $AC0.M, @$AR2 + // 0722 2ea5 srs @COEF_A2_2, $AC0.M + // 0723 195e lrri $AC0.M, @$AR2 + // 0724 2ea6 srs @COEF_A1_3, $AC0.M + // 0725 195e lrri $AC0.M, @$AR2 + // 0726 2ea7 srs @COEF_A2_3, $AC0.M + // 0727 195e lrri $AC0.M, @$AR2 + // 0728 2ea8 srs @COEF_A1_4, $AC0.M + // 0729 195e lrri $AC0.M, @$AR2 + // 072a 2ea9 srs @COEF_A2_4, $AC0.M + // 072b 195e lrri $AC0.M, @$AR2 + // 072c 2eaa srs @COEF_A1_5, $AC0.M + // 072d 195e lrri $AC0.M, @$AR2 + // 072e 2eab srs @COEF_A2_5, $AC0.M + // 072f 195e lrri $AC0.M, @$AR2 + // 0730 2eac srs @COEF_A1_6, $AC0.M + // 0731 195e lrri $AC0.M, @$AR2 + // 0732 2ead srs @COEF_A2_6, $AC0.M + // 0733 195e lrri $AC0.M, @$AR2 + // 0734 2eae srs @COEF_A1_7, $AC0.M + // 0735 195e lrri $AC0.M, @$AR2 + // 0736 2eaf srs @COEF_A2_7, $AC0.M + // 0737 195e lrri $AC0.M, @$AR2 + // 0738 2ede srs @GAIN, $AC0.M + // 0739 195e lrri $AC0.M, @$AR2 + // 073a 2eda srs @scale, $AC0.M + // 073b 195e lrri $AC0.M, @$AR2 + // 073c 2edb srs @yn1, $AC0.M + // 073d 195e lrri $AC0.M, @$AR2 + // 073e 2edc srs @yn2, $AC0.M + + // 073f 00c0 0e42 lr $AR0, @0x0e42 + // 0741 0081 ffdd lri $AR1, #0xffdd // DSP_ACCELERATOR + // 0743 1120 0748 bloopi #0x20, 0x0748 + // 0745 1824 lrr $IX0, @$AR1 + // 0746 1b04 srri @$AR0, $IX0 + // 0747 0000 nop + // 0748 0000 nop + // 0749 00e0 0e42 sr @0x0e42, $AR0 + + u16 i = *0x0e42 + for (; i < ((*0x0e42) + 0x20); i++) { + *i = *DSP_ACCELERATOR + } + *0x0e42 = i + + // 074b 0082 0bd9 lri $AR2, #0x0bd9 // pb.src.last_samples[3] + // 074d 0004 dar $AR0 + // 074e 189f lrrd $AC1.M, @$AR0 + // 074f 1adf srrd @$AR2, $AC1.M + // 0750 189f lrrd $AC1.M, @$AR0 + // 0751 1adf srrd @$AR2, $AC1.M + // 0752 189f lrrd $AC1.M, @$AR0 + // 0753 1adf srrd @$AR2, $AC1.M + // 0754 189f lrrd $AC1.M, @$AR0 + // 0755 1adf srrd @$AR2, $AC1.M + // 0756 8900 clr $ACC1 + // 0757 1adc srrd @$AR2, $AC0.L // uhhh assume AC0.L is 0? + i-- // Guess that 0x0e42 points to struct of 1 pointer and 32 values + pb.src.last_samples[3] = *(i--) + pb.src.last_samples[2] = *(i--) + pb.src.last_samples[1] = *(i--) + pb.src.last_samples[0] = *(i--) + pb.src.currentAddressFrac = 0 + + // 0758 27dc lrs $AC1.M, @yn2 + // 0759 00ff 0bd2 sr @0x0bd2, $AC1.M + // 075b 27db lrs $AC1.M, @yn1 + // 075c 00ff 0bd1 sr @0x0bd1, $AC1.M + // 075e 27da lrs $AC1.M, @scale + // 075f 00ff 0bd0 sr @0x0bd0, $AC1.M + // 0761 27d9 lrs $AC1.M, @ACCAL + // 0762 00ff 0bbe sr @0x0bbe, $AC1.M + // 0764 27d8 lrs $AC1.M, @ACCAH + // 0765 00ff 0bbd sr @0x0bbd, $AC1.M + pb.adpm.yn2 = *yn2 + pb.adpm.yn1 = *yn1 + pb.adpm.pred_scale = *scale + pb.addr.currentAddressLo = *ACCAL // Current playback position + pb.addr.currentAddressHi = *ACCAH + + 0767 02df ret +} + + +# From here to the jump tables, all the funcs just wrap calls to mixer(s) in IROM + +void Mixer_0() { + 0768 00c0 0e40 lr $AR0, @0x0e40 + 076a 0081 0b89 lri $AR1, #0x0b89 + 076c 00c2 0e08 lr $AR2, @0x0e08 + 076e 1c62 mrr $AR3, $AR2 + 076f 00c4 0e41 lr $IX0, @0x0e41 + 0771 00c5 0e09 lr $IX1, @0x0e09 + 0773 02bf 80e7 call 0x80e7 + 0775 00f8 0ba9 sr @0x0ba9, $AX0.L + 0777 00fb 0bac sr @0x0bac, $AX1.H + 0779 02df ret +} + +void Mixer_1() { + 077a 00c0 0e40 lr $AR0, @0x0e40 + 077c 0081 0b89 lri $AR1, #0x0b89 + 077e 00c2 0e08 lr $AR2, @0x0e08 + 0780 1c62 mrr $AR3, $AR2 + 0781 00c4 0e41 lr $IX0, @0x0e41 + 0783 00c5 0e09 lr $IX1, @0x0e09 + 0785 02bf 80e7 call 0x80e7 + 0787 00f8 0ba9 sr @0x0ba9, $AX0.L + 0789 00fb 0bac sr @0x0bac, $AX1.H + 078b 00c0 0e40 lr $AR0, @0x0e40 + 078d 0081 0b8d lri $AR1, #0x0b8d + 078f 00c2 0e0b lr $AR2, @0x0e0b + 0791 1c62 mrr $AR3, $AR2 + 0792 00c4 0e41 lr $IX0, @0x0e41 + 0794 00c5 0e0c lr $IX1, @0x0e0c + 0796 02bf 80e7 call 0x80e7 + 0798 00f8 0baa sr @0x0baa, $AX0.L + 079a 00fb 0bad sr @0x0bad, $AX1.H + 079c 02df ret +} + +void Mixer_2() { + 079d 00c0 0e40 lr $AR0, @0x0e40 + 079f 0081 0b89 lri $AR1, #0x0b89 + 07a1 00c2 0e08 lr $AR2, @0x0e08 + 07a3 1c62 mrr $AR3, $AR2 + 07a4 00c4 0e41 lr $IX0, @0x0e41 + 07a6 00c5 0e09 lr $IX1, @0x0e09 + 07a8 02bf 80e7 call 0x80e7 + 07aa 00f8 0ba9 sr @0x0ba9, $AX0.L + 07ac 00fb 0bac sr @0x0bac, $AX1.H + 07ae 00c0 0e40 lr $AR0, @0x0e40 + 07b0 0081 0b91 lri $AR1, #0x0b91 + 07b2 00c2 0e0e lr $AR2, @0x0e0e + 07b4 1c62 mrr $AR3, $AR2 + 07b5 00c4 0e41 lr $IX0, @0x0e41 + 07b7 00c5 0e0f lr $IX1, @0x0e0f + 07b9 02bf 80e7 call 0x80e7 + 07bb 00f8 0bab sr @0x0bab, $AX0.L + 07bd 00fb 0bae sr @0x0bae, $AX1.H + 07bf 02df ret +} + +void Unk() { + 07c0 00c0 0e40 lr $AR0, @0x0e40 + 07c2 0081 0b89 lri $AR1, #0x0b89 + 07c4 00c2 0e08 lr $AR2, @0x0e08 + 07c6 1c62 mrr $AR3, $AR2 + 07c7 00c4 0e41 lr $IX0, @0x0e41 + 07c9 00c5 0e09 lr $IX1, @0x0e09 + 07cb 02bf 80e7 call 0x80e7 + 07cd 00f8 0ba9 sr @0x0ba9, $AX0.L + 07cf 00fb 0bac sr @0x0bac, $AX1.H + 07d1 00c0 0e40 lr $AR0, @0x0e40 + 07d3 0081 0b8d lri $AR1, #0x0b8d + 07d5 00c2 0e0b lr $AR2, @0x0e0b + 07d7 1c62 mrr $AR3, $AR2 + 07d8 00c4 0e41 lr $IX0, @0x0e41 + 07da 00c5 0e0c lr $IX1, @0x0e0c + 07dc 02bf 80e7 call 0x80e7 + 07de 00f8 0baa sr @0x0baa, $AX0.L + 07e0 00fb 0bad sr @0x0bad, $AX1.H + 07e2 00c0 0e40 lr $AR0, @0x0e40 + 07e4 0081 0b91 lri $AR1, #0x0b91 + 07e6 00c2 0e0e lr $AR2, @0x0e0e + 07e8 1c62 mrr $AR3, $AR2 + 07e9 00c4 0e41 lr $IX0, @0x0e41 + 07eb 00c5 0e0f lr $IX1, @0x0e0f + 07ed 02bf 80e7 call 0x80e7 + 07ef 00f8 0bab sr @0x0bab, $AX0.L + 07f1 00fb 0bae sr @0x0bae, $AX1.H + 07f3 02df ret +} + +void Unk() { + 07f4 00c0 0e40 lr $AR0, @0x0e40 + 07f6 0081 0b89 lri $AR1, #0x0b89 + 07f8 00c2 0e08 lr $AR2, @0x0e08 + 07fa 1c62 mrr $AR3, $AR2 + 07fb 00c4 0e41 lr $IX0, @0x0e41 + 07fd 00c5 0e09 lr $IX1, @0x0e09 + 07ff 02bf 80e7 call 0x80e7 + 0801 00f8 0ba9 sr @0x0ba9, $AX0.L + 0803 00fb 0bac sr @0x0bac, $AX1.H + 0805 00c0 0e43 lr $AR0, @0x0e43 + 0807 0081 0b97 lri $AR1, #0x0b97 + 0809 00c2 0e0a lr $AR2, @0x0e0a + 080b 1c62 mrr $AR3, $AR2 + 080c 02bf 81f9 call 0x81f9 + 080e 00f8 0baf sr @0x0baf, $AX0.L + 0810 02df ret +} + +void Unk() { + 0811 00c0 0e40 lr $AR0, @0x0e40 + 0813 0081 0b89 lri $AR1, #0x0b89 + 0815 00c2 0e08 lr $AR2, @0x0e08 + 0817 1c62 mrr $AR3, $AR2 + 0818 00c4 0e41 lr $IX0, @0x0e41 + 081a 00c5 0e09 lr $IX1, @0x0e09 + 081c 02bf 80e7 call 0x80e7 + 081e 00f8 0ba9 sr @0x0ba9, $AX0.L + 0820 00fb 0bac sr @0x0bac, $AX1.H + 0822 00c0 0e40 lr $AR0, @0x0e40 + 0824 0081 0b8d lri $AR1, #0x0b8d + 0826 00c2 0e0b lr $AR2, @0x0e0b + 0828 1c62 mrr $AR3, $AR2 + 0829 00c4 0e41 lr $IX0, @0x0e41 + 082b 00c5 0e0c lr $IX1, @0x0e0c + 082d 02bf 80e7 call 0x80e7 + 082f 00f8 0baa sr @0x0baa, $AX0.L + 0831 00fb 0bad sr @0x0bad, $AX1.H + 0833 00c0 0e43 lr $AR0, @0x0e43 + 0835 0081 0b97 lri $AR1, #0x0b97 + 0837 00c2 0e0a lr $AR2, @0x0e0a + 0839 1c62 mrr $AR3, $AR2 + 083a 1c80 mrr $IX0, $AR0 + 083b 00c5 0e0d lr $IX1, @0x0e0d + 083d 02bf 80e7 call 0x80e7 + 083f 00f8 0baf sr @0x0baf, $AX0.L + 0841 00fb 0bb0 sr @0x0bb0, $AX1.H + 0843 02df ret +} + +void Unk() { + 0844 00c0 0e40 lr $AR0, @0x0e40 + 0846 0081 0b89 lri $AR1, #0x0b89 + 0848 00c2 0e08 lr $AR2, @0x0e08 + 084a 1c62 mrr $AR3, $AR2 + 084b 00c4 0e41 lr $IX0, @0x0e41 + 084d 00c5 0e09 lr $IX1, @0x0e09 + 084f 02bf 80e7 call 0x80e7 + 0851 00f8 0ba9 sr @0x0ba9, $AX0.L + 0853 00fb 0bac sr @0x0bac, $AX1.H + 0855 00c0 0e40 lr $AR0, @0x0e40 + 0857 0081 0b91 lri $AR1, #0x0b91 + 0859 00c2 0e0e lr $AR2, @0x0e0e + 085b 1c62 mrr $AR3, $AR2 + 085c 00c4 0e41 lr $IX0, @0x0e41 + 085e 00c5 0e0f lr $IX1, @0x0e0f + 0860 02bf 80e7 call 0x80e7 + 0862 00f8 0bab sr @0x0bab, $AX0.L + 0864 00fb 0bae sr @0x0bae, $AX1.H + 0866 00c0 0e43 lr $AR0, @0x0e43 + 0868 0081 0b95 lri $AR1, #0x0b95 + 086a 00c2 0e10 lr $AR2, @0x0e10 + 086c 1c62 mrr $AR3, $AR2 + 086d 1c80 mrr $IX0, $AR0 + 086e 00c5 0e0a lr $IX1, @0x0e0a + 0870 02bf 80e7 call 0x80e7 + 0872 00f8 0bb1 sr @0x0bb1, $AX0.L + 0874 00fb 0baf sr @0x0baf, $AX1.H + 0876 02df ret +} + +void Unk() { + 0877 00c0 0e40 lr $AR0, @0x0e40 + 0879 0081 0b89 lri $AR1, #0x0b89 + 087b 00c2 0e08 lr $AR2, @0x0e08 + 087d 1c62 mrr $AR3, $AR2 + 087e 00c4 0e41 lr $IX0, @0x0e41 + 0880 00c5 0e09 lr $IX1, @0x0e09 + 0882 02bf 80e7 call 0x80e7 + 0884 00f8 0ba9 sr @0x0ba9, $AX0.L + 0886 00fb 0bac sr @0x0bac, $AX1.H + 0888 00c0 0e40 lr $AR0, @0x0e40 + 088a 0081 0b8d lri $AR1, #0x0b8d + 088c 00c2 0e0b lr $AR2, @0x0e0b + 088e 1c62 mrr $AR3, $AR2 + 088f 00c4 0e41 lr $IX0, @0x0e41 + 0891 00c5 0e0c lr $IX1, @0x0e0c + 0893 02bf 80e7 call 0x80e7 + 0895 00f8 0baa sr @0x0baa, $AX0.L + 0897 00fb 0bad sr @0x0bad, $AX1.H + 0899 00c0 0e40 lr $AR0, @0x0e40 + 089b 0081 0b91 lri $AR1, #0x0b91 + 089d 00c2 0e0e lr $AR2, @0x0e0e + 089f 1c62 mrr $AR3, $AR2 + 08a0 00c4 0e41 lr $IX0, @0x0e41 + 08a2 00c5 0e0f lr $IX1, @0x0e0f + 08a4 02bf 80e7 call 0x80e7 + 08a6 00f8 0bab sr @0x0bab, $AX0.L + 08a8 00fb 0bae sr @0x0bae, $AX1.H + 08aa 00c0 0e43 lr $AR0, @0x0e43 + 08ac 0081 0b97 lri $AR1, #0x0b97 + 08ae 00c2 0e0a lr $AR2, @0x0e0a + 08b0 1c62 mrr $AR3, $AR2 + 08b1 1c80 mrr $IX0, $AR0 + 08b2 00c5 0e0d lr $IX1, @0x0e0d + 08b4 02bf 80e7 call 0x80e7 + 08b6 00f8 0baf sr @0x0baf, $AX0.L + 08b8 00fb 0bb0 sr @0x0bb0, $AX1.H + 08ba 00c0 0e43 lr $AR0, @0x0e43 + 08bc 0081 0b95 lri $AR1, #0x0b95 + 08be 00c2 0e10 lr $AR2, @0x0e10 + 08c0 1c62 mrr $AR3, $AR2 + 08c1 02bf 81f9 call 0x81f9 + 08c3 00f8 0bb1 sr @0x0bb1, $AX0.L + 08c5 02df ret +} + +void Unk() { + 08c6 00c0 0e40 lr $AR0, @0x0e40 + 08c8 0081 0b89 lri $AR1, #0x0b89 + 08ca 00c2 0e08 lr $AR2, @0x0e08 + 08cc 0083 0e44 lri $AR3, #0x0e44 + 08ce 00c4 0e41 lr $IX0, @0x0e41 + 08d0 00c5 0e09 lr $IX1, @0x0e09 + 08d2 02bf 8282 call 0x8282 + 08d4 00f8 0ba9 sr @0x0ba9, $AX0.L + 08d6 00fb 0bac sr @0x0bac, $AX1.H + 08d8 02df ret +} + +void Unk() { + 08d9 00c0 0e40 lr $AR0, @0x0e40 + 08db 0081 0b89 lri $AR1, #0x0b89 + 08dd 00c2 0e08 lr $AR2, @0x0e08 + 08df 0083 0e44 lri $AR3, #0x0e44 + 08e1 00c4 0e41 lr $IX0, @0x0e41 + 08e3 00c5 0e09 lr $IX1, @0x0e09 + 08e5 02bf 8282 call 0x8282 + 08e7 00f8 0ba9 sr @0x0ba9, $AX0.L + 08e9 00fb 0bac sr @0x0bac, $AX1.H + 08eb 00c0 0e40 lr $AR0, @0x0e40 + 08ed 0081 0b8d lri $AR1, #0x0b8d + 08ef 00c2 0e0b lr $AR2, @0x0e0b + 08f1 0083 0e44 lri $AR3, #0x0e44 + 08f3 00c4 0e41 lr $IX0, @0x0e41 + 08f5 00c5 0e0c lr $IX1, @0x0e0c + 08f7 02bf 8282 call 0x8282 + 08f9 00f8 0baa sr @0x0baa, $AX0.L + 08fb 00fb 0bad sr @0x0bad, $AX1.H + 08fd 02df ret +} + +void Unk() { + 08fe 00c0 0e40 lr $AR0, @0x0e40 + 0900 0081 0b89 lri $AR1, #0x0b89 + 0902 00c2 0e08 lr $AR2, @0x0e08 + 0904 0083 0e44 lri $AR3, #0x0e44 + 0906 00c4 0e41 lr $IX0, @0x0e41 + 0908 00c5 0e09 lr $IX1, @0x0e09 + 090a 02bf 8282 call 0x8282 + 090c 00f8 0ba9 sr @0x0ba9, $AX0.L + 090e 00fb 0bac sr @0x0bac, $AX1.H + 0910 00c0 0e40 lr $AR0, @0x0e40 + 0912 0081 0b91 lri $AR1, #0x0b91 + 0914 00c2 0e0e lr $AR2, @0x0e0e + 0916 0083 0e44 lri $AR3, #0x0e44 + 0918 00c4 0e41 lr $IX0, @0x0e41 + 091a 00c5 0e0f lr $IX1, @0x0e0f + 091c 02bf 8282 call 0x8282 + 091e 00f8 0bab sr @0x0bab, $AX0.L + 0920 00fb 0bae sr @0x0bae, $AX1.H + 0922 02df ret +} + +void Unk() { + 0923 00c0 0e40 lr $AR0, @0x0e40 + 0925 0081 0b89 lri $AR1, #0x0b89 + 0927 00c2 0e08 lr $AR2, @0x0e08 + 0929 0083 0e44 lri $AR3, #0x0e44 + 092b 00c4 0e41 lr $IX0, @0x0e41 + 092d 00c5 0e09 lr $IX1, @0x0e09 + 092f 02bf 8282 call 0x8282 + 0931 00f8 0ba9 sr @0x0ba9, $AX0.L + 0933 00fb 0bac sr @0x0bac, $AX1.H + 0935 00c0 0e40 lr $AR0, @0x0e40 + 0937 0081 0b8d lri $AR1, #0x0b8d + 0939 00c2 0e0b lr $AR2, @0x0e0b + 093b 0083 0e44 lri $AR3, #0x0e44 + 093d 00c4 0e41 lr $IX0, @0x0e41 + 093f 00c5 0e0c lr $IX1, @0x0e0c + 0941 02bf 8282 call 0x8282 + 0943 00f8 0baa sr @0x0baa, $AX0.L + 0945 00fb 0bad sr @0x0bad, $AX1.H + 0947 00c0 0e40 lr $AR0, @0x0e40 + 0949 0081 0b91 lri $AR1, #0x0b91 + 094b 00c2 0e0e lr $AR2, @0x0e0e + 094d 0083 0e44 lri $AR3, #0x0e44 + 094f 00c4 0e41 lr $IX0, @0x0e41 + 0951 00c5 0e0f lr $IX1, @0x0e0f + 0953 02bf 8282 call 0x8282 + 0955 00f8 0bab sr @0x0bab, $AX0.L + 0957 00fb 0bae sr @0x0bae, $AX1.H + 0959 02df ret +} + +void Unk() { + 095a 00c0 0e40 lr $AR0, @0x0e40 + 095c 0081 0b89 lri $AR1, #0x0b89 + 095e 00c2 0e08 lr $AR2, @0x0e08 + 0960 0083 0e44 lri $AR3, #0x0e44 + 0962 00c4 0e41 lr $IX0, @0x0e41 + 0964 00c5 0e09 lr $IX1, @0x0e09 + 0966 02bf 8282 call 0x8282 + 0968 00f8 0ba9 sr @0x0ba9, $AX0.L + 096a 00fb 0bac sr @0x0bac, $AX1.H + 096c 00c0 0e43 lr $AR0, @0x0e43 + 096e 0081 0b97 lri $AR1, #0x0b97 + 0970 00c2 0e0a lr $AR2, @0x0e0a + 0972 0083 0e44 lri $AR3, #0x0e44 + 0974 02bf 845d call 0x845d + 0976 00f8 0baf sr @0x0baf, $AX0.L + 0978 02df ret +} + +void Unk() { + 0979 00c0 0e40 lr $AR0, @0x0e40 + 097b 0081 0b89 lri $AR1, #0x0b89 + 097d 00c2 0e08 lr $AR2, @0x0e08 + 097f 0083 0e44 lri $AR3, #0x0e44 + 0981 00c4 0e41 lr $IX0, @0x0e41 + 0983 00c5 0e09 lr $IX1, @0x0e09 + 0985 02bf 8282 call 0x8282 + 0987 00f8 0ba9 sr @0x0ba9, $AX0.L + 0989 00fb 0bac sr @0x0bac, $AX1.H + 098b 00c0 0e40 lr $AR0, @0x0e40 + 098d 0081 0b8d lri $AR1, #0x0b8d + 098f 00c2 0e0b lr $AR2, @0x0e0b + 0991 0083 0e44 lri $AR3, #0x0e44 + 0993 00c4 0e41 lr $IX0, @0x0e41 + 0995 00c5 0e0c lr $IX1, @0x0e0c + 0997 02bf 8282 call 0x8282 + 0999 00f8 0baa sr @0x0baa, $AX0.L + 099b 00fb 0bad sr @0x0bad, $AX1.H + 099d 00c0 0e43 lr $AR0, @0x0e43 + 099f 0081 0b97 lri $AR1, #0x0b97 + 09a1 00c2 0e0a lr $AR2, @0x0e0a + 09a3 0083 0e44 lri $AR3, #0x0e44 + 09a5 1c80 mrr $IX0, $AR0 + 09a6 00c5 0e0d lr $IX1, @0x0e0d + 09a8 02bf 8282 call 0x8282 + 09aa 00f8 0baf sr @0x0baf, $AX0.L + 09ac 00fb 0bb0 sr @0x0bb0, $AX1.H + 09ae 02df ret +} + +void Unk() { + 09af 00c0 0e40 lr $AR0, @0x0e40 + 09b1 0081 0b89 lri $AR1, #0x0b89 + 09b3 00c2 0e08 lr $AR2, @0x0e08 + 09b5 0083 0e44 lri $AR3, #0x0e44 + 09b7 00c4 0e41 lr $IX0, @0x0e41 + 09b9 00c5 0e09 lr $IX1, @0x0e09 + 09bb 02bf 8282 call 0x8282 + 09bd 00f8 0ba9 sr @0x0ba9, $AX0.L + 09bf 00fb 0bac sr @0x0bac, $AX1.H + 09c1 00c0 0e40 lr $AR0, @0x0e40 + 09c3 0081 0b91 lri $AR1, #0x0b91 + 09c5 00c2 0e0e lr $AR2, @0x0e0e + 09c7 0083 0e44 lri $AR3, #0x0e44 + 09c9 00c4 0e41 lr $IX0, @0x0e41 + 09cb 00c5 0e0f lr $IX1, @0x0e0f + 09cd 02bf 8282 call 0x8282 + 09cf 00f8 0bab sr @0x0bab, $AX0.L + 09d1 00fb 0bae sr @0x0bae, $AX1.H + 09d3 00c0 0e43 lr $AR0, @0x0e43 + 09d5 0081 0b95 lri $AR1, #0x0b95 + 09d7 00c2 0e10 lr $AR2, @0x0e10 + 09d9 0083 0e44 lri $AR3, #0x0e44 + 09db 1c80 mrr $IX0, $AR0 + 09dc 00c5 0e0a lr $IX1, @0x0e0a + 09de 02bf 8282 call 0x8282 + 09e0 00f8 0bb1 sr @0x0bb1, $AX0.L + 09e2 00fb 0baf sr @0x0baf, $AX1.H + 09e4 02df ret +} + +void Unk() { + 09e5 00c0 0e40 lr $AR0, @0x0e40 + 09e7 0081 0b89 lri $AR1, #0x0b89 + 09e9 00c2 0e08 lr $AR2, @0x0e08 + 09eb 0083 0e44 lri $AR3, #0x0e44 + 09ed 00c4 0e41 lr $IX0, @0x0e41 + 09ef 00c5 0e09 lr $IX1, @0x0e09 + 09f1 02bf 8282 call 0x8282 + 09f3 00f8 0ba9 sr @0x0ba9, $AX0.L + 09f5 00fb 0bac sr @0x0bac, $AX1.H + 09f7 00c0 0e40 lr $AR0, @0x0e40 + 09f9 0081 0b8d lri $AR1, #0x0b8d + 09fb 00c2 0e0b lr $AR2, @0x0e0b + 09fd 0083 0e44 lri $AR3, #0x0e44 + 09ff 00c0 0e41 lr $AR0, @0x0e41 + 0a01 00c5 0e0c lr $IX1, @0x0e0c + 0a03 02bf 8282 call 0x8282 + 0a05 00f8 0baa sr @0x0baa, $AX0.L + 0a07 00fb 0bad sr @0x0bad, $AX1.H + 0a09 00c0 0e40 lr $AR0, @0x0e40 + 0a0b 0081 0b91 lri $AR1, #0x0b91 + 0a0d 00c2 0e0e lr $AR2, @0x0e0e + 0a0f 0083 0e44 lri $AR3, #0x0e44 + 0a11 00c4 0e41 lr $IX0, @0x0e41 + 0a13 00c5 0e0f lr $IX1, @0x0e0f + 0a15 02bf 8282 call 0x8282 + 0a17 00f8 0bab sr @0x0bab, $AX0.L + 0a19 00fb 0bae sr @0x0bae, $AX1.H + 0a1b 00c0 0e43 lr $AR0, @0x0e43 + 0a1d 0081 0b97 lri $AR1, #0x0b97 + 0a1f 00c2 0e0a lr $AR2, @0x0e0a + 0a21 0083 0e44 lri $AR3, #0x0e44 + 0a23 1c80 mrr $IX0, $AR0 + 0a24 00c5 0e0d lr $IX1, @0x0e0d + 0a26 02bf 8282 call 0x8282 + 0a28 00f8 0baf sr @0x0baf, $AX0.L + 0a2a 00fb 0bb0 sr @0x0bb0, $AX1.H + 0a2c 00c0 0e43 lr $AR0, @0x0e43 + 0a2e 0081 0b95 lri $AR1, #0x0b95 + 0a30 00c2 0e10 lr $AR2, @0x0e10 + 0a32 0083 0e44 lri $AR3, #0x0e44 + 0a34 02bf 845d call 0x845d + 0a36 00f8 0bb1 sr @0x0bb1, $AX0.L + 0a38 02df ret +} + +void Unk() { + 0a39 00c0 0e40 lr $AR0, @0x0e40 + 0a3b 0081 0b89 lri $AR1, #0x0b89 + 0a3d 00c2 0e08 lr $AR2, @0x0e08 + 0a3f 1c62 mrr $AR3, $AR2 + 0a40 00c4 0e41 lr $IX0, @0x0e41 + 0a42 00c5 0e09 lr $IX1, @0x0e09 + 0a44 02bf 80e7 call 0x80e7 + 0a46 00f8 0ba9 sr @0x0ba9, $AX0.L + 0a48 00fb 0bac sr @0x0bac, $AX1.H + 0a4a 00c0 0e43 lr $AR0, @0x0e43 + 0a4c 0081 0b91 lri $AR1, #0x0b91 + 0a4e 00c2 0e0e lr $AR2, @0x0e0e + 0a50 1c62 mrr $AR3, $AR2 + 0a51 1c80 mrr $IX0, $AR0 + 0a52 00c5 0e0f lr $IX1, @0x0e0f + 0a54 02bf 80e7 call 0x80e7 + 0a56 00f8 0bab sr @0x0bab, $AX0.L + 0a58 00fb 0bae sr @0x0bae, $AX1.H + 0a5a 02df ret +} + +void Unk() { + 0a5b 00c0 0e40 lr $AR0, @0x0e40 + 0a5d 0081 0b89 lri $AR1, #0x0b89 + 0a5f 00c2 0e08 lr $AR2, @0x0e08 + 0a61 1c62 mrr $AR3, $AR2 + 0a62 00c4 0e41 lr $IX0, @0x0e41 + 0a64 00c5 0e09 lr $IX1, @0x0e09 + 0a66 02bf 80e7 call 0x80e7 + 0a68 00f8 0ba9 sr @0x0ba9, $AX0.L + 0a6a 00fb 0bac sr @0x0bac, $AX1.H + 0a6c 00c0 0e43 lr $AR0, @0x0e43 + 0a6e 0081 0b91 lri $AR1, #0x0b91 + 0a70 00c2 0e0e lr $AR2, @0x0e0e + 0a72 1c62 mrr $AR3, $AR2 + 0a73 1c80 mrr $IX0, $AR0 + 0a74 00c5 0e0f lr $IX1, @0x0e0f + 0a76 02bf 80e7 call 0x80e7 + 0a78 00f8 0bab sr @0x0bab, $AX0.L + 0a7a 00fb 0bae sr @0x0bae, $AX1.H + 0a7c 00c0 0e40 lr $AR0, @0x0e40 + 0a7e 0081 0b8d lri $AR1, #0x0b8d + 0a80 00c2 0e0b lr $AR2, @0x0e0b + 0a82 1c62 mrr $AR3, $AR2 + 0a83 00c4 0e41 lr $IX0, @0x0e41 + 0a85 00c5 0e0c lr $IX1, @0x0e0c + 0a87 02bf 80e7 call 0x80e7 + 0a89 00f8 0baa sr @0x0baa, $AX0.L + 0a8b 00fb 0bad sr @0x0bad, $AX1.H + 0a8d 00c0 0e43 lr $AR0, @0x0e43 + 0a8f 0081 0b99 lri $AR1, #0x0b99 + 0a91 00c2 0e0d lr $AR2, @0x0e0d + 0a93 1c62 mrr $AR3, $AR2 + 0a94 02bf 81f9 call 0x81f9 + 0a96 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a98 02df ret +} + +void Unk() { + 0a99 00c0 0e40 lr $AR0, @0x0e40 + 0a9b 0081 0b89 lri $AR1, #0x0b89 + 0a9d 00c2 0e08 lr $AR2, @0x0e08 + 0a9f 0083 0e44 lri $AR3, #0x0e44 + 0aa1 00c4 0e41 lr $IX0, @0x0e41 + 0aa3 00c5 0e09 lr $IX1, @0x0e09 + 0aa5 02bf 8282 call 0x8282 + 0aa7 00f8 0ba9 sr @0x0ba9, $AX0.L + 0aa9 00fb 0bac sr @0x0bac, $AX1.H + 0aab 00c0 0e43 lr $AR0, @0x0e43 + 0aad 0081 0b91 lri $AR1, #0x0b91 + 0aaf 00c2 0e0e lr $AR2, @0x0e0e + 0ab1 0083 0e44 lri $AR3, #0x0e44 + 0ab3 1c80 mrr $IX0, $AR0 + 0ab4 00c5 0e0f lr $IX1, @0x0e0f + 0ab6 02bf 8282 call 0x8282 + 0ab8 00f8 0bab sr @0x0bab, $AX0.L + 0aba 00fb 0bae sr @0x0bae, $AX1.H + 0abc 02df ret +} + +void Unk() { + 0abd 00c0 0e40 lr $AR0, @0x0e40 + 0abf 0081 0b89 lri $AR1, #0x0b89 + 0ac1 00c2 0e08 lr $AR2, @0x0e08 + 0ac3 0083 0e44 lri $AR3, #0x0e44 + 0ac5 00c4 0e41 lr $IX0, @0x0e41 + 0ac7 00c5 0e09 lr $IX1, @0x0e09 + 0ac9 02bf 8282 call 0x8282 + 0acb 00f8 0ba9 sr @0x0ba9, $AX0.L + 0acd 00fb 0bac sr @0x0bac, $AX1.H + 0acf 00c0 0e43 lr $AR0, @0x0e43 + 0ad1 0081 0b91 lri $AR1, #0x0b91 + 0ad3 00c2 0e0e lr $AR2, @0x0e0e + 0ad5 0083 0e44 lri $AR3, #0x0e44 + 0ad7 1c80 mrr $IX0, $AR0 + 0ad8 00c5 0e0f lr $IX1, @0x0e0f + 0ada 02bf 8282 call 0x8282 + 0adc 00f8 0bab sr @0x0bab, $AX0.L + 0ade 00fb 0bae sr @0x0bae, $AX1.H + 0ae0 00c0 0e40 lr $AR0, @0x0e40 + 0ae2 0081 0b8d lri $AR1, #0x0b8d + 0ae4 00c2 0e0b lr $AR2, @0x0e0b + 0ae6 0083 0e44 lri $AR3, #0x0e44 + 0ae8 00c4 0e41 lr $IX0, @0x0e41 + 0aea 00c5 0e0c lr $IX1, @0x0e0c + 0aec 02bf 8282 call 0x8282 + 0aee 00f8 0baa sr @0x0baa, $AX0.L + 0af0 00fb 0bad sr @0x0bad, $AX1.H + 0af2 00c0 0e43 lr $AR0, @0x0e43 + 0af4 0081 0b99 lri $AR1, #0x0b99 + 0af6 00c2 0e0d lr $AR2, @0x0e0d + 0af8 0083 0e44 lri $AR3, #0x0e44 + 0afa 02bf 845d call 0x845d + 0afc 00f8 0bb0 sr @0x0bb0, $AX0.L + 0afe 02df ret +} + +# Jump table for main commands +0aff 0082 // Jump 0 +0b00 013e // Jump 1 +0b01 01bc // Jump 2 +0b02 0248 // Jump 3 +0b03 0413 // Jump 4 +0b04 0427 // Jump 5 +0b05 0165 // Jump 6 +0b06 0574 // Jump 7 +0b07 0b37 // Jump 8 +0b08 015f // Jump 9 +0b09 0478 // Jump a +0b0a 0474 // Jump b +0b0b 0476 // Jump c +0b0c 01a9 // Jump d +0b0d 043b // Jump e +0b0e 047a // Jump f Task_Yield() +0b0f 0bb1 // Jump 10 +0b10 0175 // Jump 11 + +# LUT for pb.mixerCtrl +0b11 0768 // Jump3 0 +0b12 077a // Jump3 1 +0b13 079d // Jump3 2 +0b14 07c0 // Jump3 3 +0b15 07f4 // Jump3 4 +0b16 0811 // Jump3 5 +0b17 0844 // Jump3 6 +0b18 0877 // Jump3 7 +0b19 08c6 // Jump3 8 +0b1a 08d9 // Jump3 9 +0b1b 08fe // Jump3 a +0b1c 0923 // Jump3 b +0b1d 095a // Jump3 c +0b1e 0979 // Jump3 d +0b1f 09af // Jump3 e +0b20 09e5 // Jump3 f + +0b21 0a39 // Jump3 10 +0b22 0a5b // Jump3 11 +0b23 0768 // Jump3 12 +0b24 0768 // Jump3 13 +0b25 0768 // Jump3 14 +0b26 0768 // Jump3 15 +0b27 0768 // Jump3 16 +0b28 0768 // Jump3 17 +0b29 0a99 // Jump3 18 +0b2a 0abd // Jump3 19 +0b2b 0768 // Jump3 1a +0b2c 0768 // Jump3 1b +0b2d 0768 // Jump3 1c +0b2e 0768 // Jump3 1d +0b2f 0768 // Jump3 1e +0b30 0768 // Jump3 1f + +# LUT for pb.srcSelect +0b31 05a8 // Jump4 0 +0b32 065d // Jump4 1 +0b33 0707 // Jump4 2 + +# LUT for pb.coefSelect tables (in drom) +0b34 1000 +0b35 1200 +0b36 1400 + +# End of noise - back to code. + +void Cmd_8() { + 0b37 8e00 set16 + + 0b38 8100 clr $ACC0 + 0b39 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0b3a 191c lrri $AC0.L, @$AR0 + + 0b3b 2ece srs @DSMAH, $AC0.M + 0b3c 2ccf srs @DSMAL, $AC0.L + 0b3d 16cd 0e80 si @DSPA, #0x0e80 + 0b3f 16c9 0000 si @DSCR, #0x0000 + 0b41 16cb 0100 si @DSBL, #0x0100 + + 0b43 1f7e mrr $AX1.H, $AC0.M + 0b44 1f3c mrr $AX1.L, $AC0.L + + 0b45 8100 clr $ACC0 + + 0b46 26c9 lrs $AC0.M, @DSCR + 0b47 02a0 0004 andf $AC0.M, #0x0004 + 0b49 029c 0b46 jlnz 0x0b46 + + 0b4b 191e lrri $AC0.M, @$AR0 + 0b4c 191c lrri $AC0.L, @$AR0 + 0b4d 2ece srs @DSMAH, $AC0.M + 0b4e 2ccf srs @DSMAL, $AC0.L + 0b4f 16cd 0280 si @DSPA, #0x0280 + 0b51 16c9 0000 si @DSCR, #0x0000 + 0b53 16cb 0280 si @DSBL, #0x0280 + + 0b55 1c80 mrr $IX0, $AR0 + + 0b56 0080 0280 lri $AR0, #0x0280 + 0b58 00c1 0e1b lr $AR1, @0x0e1b + 0b5a 0085 0000 lri $IX1, #0x0000 + 0b5c 0089 007f lri $WR1, #0x007f + 0b5e 0082 0f00 lri $AR2, #0x0f00 + 0b60 0083 16b4 lri $AR3, #0x16b4 + 0b62 1ce3 mrr $IX3, $AR3 + 0b63 8100 clr $ACC0 + + 0b64 26c9 lrs $AC0.M, @DSCR + 0b65 02a0 0004 andf $AC0.M, #0x0004 + 0b67 029c 0b64 jlnz 0x0b64 + + 0b69 8f00 set40 + 0b6a 8a78 m2'l : $AC1.M, @$AR0 + 0b6b 8c68 clr15'l : $AC1.L, @$AR0 + 0b6c f100 lsl16 $ACC1 + 0b6d 1a3f srr @$AR1, $AC1.M + 0b6e 84e3 clrp'ld : $AX0.H, $AX1.L, @$AR3 + 0b6f 107e loopi #0x7e + 0b70 f2e3 madd'ld $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0b71 f2e7 madd'ldn $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0b72 f278 madd'l $AX0.L, $AX0.H : $AC1.M, @$AR0 + 0b73 6e68 movp'l $ACC0 : $AC1.L, @$AR0 + 0b74 f132 lsl16's $ACC1 : @$AR2, $AC0.M + 0b75 1a3f srr @$AR1, $AC1.M + 0b76 119e 0b80 bloopi #0x9e, 0x0b80 + 0b78 1c67 mrr $AR3, $IX3 + 0b79 84e3 clrp'ld : $AX0.H, $AX1.L, @$AR3 + 0b7a 107e loopi #0x7e + 0b7b f2e3 madd'ld $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0b7c f2e7 madd'ldn $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0b7d f278 madd'l $AX0.L, $AX0.H : $AC1.M, @$AR0 + 0b7e 6e68 movp'l $ACC0 : $AC1.L, @$AR0 + 0b7f f132 lsl16's $ACC1 : @$AR2, $AC0.M + 0b80 1a3f srr @$AR1, $AC1.M + + 0b81 1c67 mrr $AR3, $IX3 + 0b82 84e3 clrp'ld : $AX0.H, $AX1.L, @$AR3 + 0b83 107e loopi #0x7e + 0b84 f2e3 madd'ld $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0b85 f2e7 madd'ldn $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0b86 f200 madd $AX0.L, $AX0.H + 0b87 6e00 movp $ACC0 + 0b88 1b5e srri @$AR2, $AC0.M + 0b89 00e1 0e1b sr @0x0e1b, $AR1 + + 0b8b 0080 0280 lri $AR0, #0x0280 + 0b8d 0083 0f00 lri $AR3, #0x0f00 + 0b8f 0081 0000 lri $AR1, #0x0000 + 0b91 0082 0140 lri $AR2, #0x0140 + 0b93 0089 ffff lri $WR1, #0xffff + + 0b95 8900 clr $ACC1 + 0b96 8100 clr $ACC0 + + 0b97 8f00 set40 + + 0b98 11a0 0ba0 bloopi #0xa0, 0x0ba0 + 0b9a 197f lrri $AC1.M, @$AR3 + 0b9b 9930 asr16's $ACC1 : @$AR0, $AC0.M + 0b9c 1b1e srri @$AR0, $AC0.M + 0b9d 1b3f srri @$AR1, $AC1.M + 0b9e 7d29 neg's $ACC1 : @$AR1, $AC1.L + 0b9f 1b5f srri @$AR2, $AC1.M + 0ba0 1b5d srri @$AR2, $AC1.L + + 0ba1 8e00 set16 + + 0ba2 1fdb mrr $AC0.M, $AX1.H + 0ba3 1f99 mrr $AC0.L, $AX1.L + 0ba4 2ece srs @DSMAH, $AC0.M + 0ba5 2ccf srs @DSMAL, $AC0.L + 0ba6 16cd 0e80 si @DSPA, #0x0e80 + 0ba8 16c9 0001 si @DSCR, #0x0001 + 0baa 16cb 0100 si @DSBL, #0x0100 + + // 0bac 02bf 055c call 0x055c + WaitDMA(); + + 0bae 1c04 mrr $AR0, $IX0 + + // 0baf 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +void Cmd_10() { + 0bb1 8e00 set16 + + 0bb2 8100 clr $ACC0 + 0bb3 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0bb4 191c lrri $AC0.L, @$AR0 + + 0bb5 2ece srs @DSMAH, $AC0.M + 0bb6 2ccf srs @DSMAL, $AC0.L + 0bb7 16cd 07c0 si @DSPA, #0x07c0 + 0bb9 16c9 0001 si @DSCR, #0x0001 + 0bbb 16cb 0500 si @DSBL, #0x0500 + + // 0bbd 02bf 055c call 0x055c + WaitDMA(); + + 0bbf 8100 clr $ACC0 + 0bc0 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0bc1 191c lrri $AC0.L, @$AR0 + + 0bc2 2ece srs @DSMAH, $AC0.M + 0bc3 2ccf srs @DSMAL, $AC0.L + 0bc4 16cd 07c0 si @DSPA, #0x07c0 + 0bc6 16c9 0000 si @DSCR, #0x0000 + 0bc8 8900 clr $ACC1 + 0bc9 0d20 lris $AC1.L, #0x20 + 0bca 2dcb srs @DSBL, $AC1.L + + 0bcb 4c00 add $ACC0, $ACC1 + + 0bcc 1c80 mrr $IX0, $AR0 + + 0bcd 0080 07c0 lri $AR0, #0x07c0 + 0bcf 0083 0000 lri $AR3, #0x0000 + 0bd1 1c43 mrr $AR2, $AR3 + 0bd2 0a00 lris $AX0.H, #0x00 + + 0bd3 27c9 lrs $AC1.M, @DSCR + 0bd4 03a0 0004 andf $AC1.M, #0x0004 + 0bd6 029c 0bd3 jlnz 0x0bd3 + + 0bd8 2ece srs @DSMAH, $AC0.M + 0bd9 2ccf srs @DSMAL, $AC0.L + 0bda 16cd 07d0 si @DSPA, #0x07d0 + 0bdc 16c9 0000 si @DSCR, #0x0000 + 0bde 16cb 04e0 si @DSBL, #0x04e0 + + 0be0 8f00 set40 + + 0be1 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0be2 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0be3 6a00 movax $ACC0, $AX1 + 0be4 4800 addax $ACC0, $AX0 + 0be5 114f 0bee bloopi #0x4f, 0x0bee + 0be7 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0be8 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0be9 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0bea 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0beb 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0bec 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0bed 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 0bee 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + + 0bef 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0bf0 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0bf1 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0bf2 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0bf3 1b5f srri @$AR2, $AC1.M + 0bf4 1b5d srri @$AR2, $AC1.L + 0bf5 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0bf6 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0bf7 6800 movax $ACC0, $AX0 + 0bf8 7c00 neg $ACC0 + 0bf9 4a00 addax $ACC0, $AX1 + 0bfa 114f 0c05 bloopi #0x4f, 0x0c05 + 0bfc 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0bfd 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0bfe 6932 movax's $ACC1, $AX0.L : @$AR2, $AC0.M + 0bff 7d00 neg $ACC1 + 0c00 4b22 addax's $ACC1, $AX1.L : @$AR2, $AC0.L + 0c01 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0c02 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0c03 683a movax's $ACC0, $AX0.L : @$AR2, $AC1.M + 0c04 7c00 neg $ACC0 + 0c05 4a2a addax's $ACC0, $AX1.L : @$AR2, $AC1.L + + 0c06 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0c07 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0c08 6932 movax's $ACC1, $AX0.L : @$AR2, $AC0.M + 0c09 7d00 neg $ACC1 + 0c0a 4b22 addax's $ACC1, $AX1.L : @$AR2, $AC0.L + 0c0b 1b5f srri @$AR2, $AC1.M + 0c0c 1b5d srri @$AR2, $AC1.L + + 0c0d 1c04 mrr $AR0, $IX0 + + // 0c0e 029f 0068 jmp 0x0068 + goto DoNextCommand; +} + +# Begin interrupt handlers + +// Sends mail with value on top of callstack and rti's +void ResetAndStackUOFlow_Handler() { + 0c10 8e00 set16 + + // 0c11 16fc ecc0 si @DMBH, #0xecc0 + // 0c13 1fcc mrr $AC0.M, $ST0 + // 0c14 1d9e mrr $ST0, $AC0.M + // 0c15 2efd srs @DMBL, $AC0.M + DMB = 0xecc00000 | $ST0 + + // 0c16 26fc lrs $AC0.M, @DMBH + // 0c17 02a0 8000 andf $AC0.M, #0x8000 + // 0c19 029c 0c16 jlnz 0x0c16 + while (@DMBH & 0x8000 == 0); + + // 0c1b 0000 nop + // 0c1c 0000 nop + // 0c1d 0000 nop + // 0c1e 02ff rti + return; +} + +// Saves/Restores whole ACC0, but only modifies AC0.M. strange +void Int2_Handler() { + 0c1f 8e00 set16 + + // Save ACC0 + 0c20 00f0 0e17 sr @0x0e17, $AC0.H + 0c22 00fe 0e18 sr @0x0e18, $AC0.M + 0c24 00fc 0e19 sr @0x0e19, $AC0.L + + // 0c26 1fcc mrr $AC0.M, $ST0 + // 0c27 1d9e mrr $ST0, $AC0.M + // 0c28 16fc feed si @DMBH, #0xfeed + // 0c2a 2efd srs @DMBL, $AC0.M + DMB = 0xfeed0000 | $ST0 + + // 0c2b 26fc lrs $AC0.M, @DMBH + // 0c2c 02a0 8000 andf $AC0.M, #0x8000 + // 0c2e 029c 0c2b jlnz 0x0c2b + while (@DMBH & 0x8000 == 0); + + // Restore ACC0 + 0c30 00d0 0e17 lr $AC0.H, @0x0e17 + 0c32 00de 0e18 lr $AC0.M, @0x0e18 + 0c34 00dc 0e19 lr $AC0.L, @0x0e19 + + // 0c36 0000 nop + // 0c37 0000 nop + // 0c38 0000 nop + // 0c39 0000 nop + // 0c3a 02ff rti + return; +} + +void Int3_Handler() { + 0c3b 8e00 set16 + + // Save AC0.L, AC0.M + 0c3c 1dbc mrr $ST1, $AC0.L + 0c3d 1dbe mrr $ST1, $AC0.M + + // 0c3e 8100 clr $ACC0 + // 0c3f 00de 0bb7 lr $AC0.M, @0x0bb7 + // 0c41 0601 cmpis $AC0.M, #0x01 + // 0c42 0295 0c47 jz 0x0c47 + // 0c44 0e00 lris $AC0.M, #0x00 + // 0c45 00fe 0b87 sr @0x0b87, $AC0.M + if (*0x0bb7 != 1) { // pb.addr != AXPBADDR_LOOP_ON + *0x0b87 = 0; // pb.state = AX_PB_STATE_STOP + } + + // Restore AC0.L, AC0.M + 0c47 1fcd mrr $AC0.M, $ST1 + 0c48 1f8d mrr $AC0.L, $ST1 + + // 0c49 02ff rti + return; +} + +void Int4_Handler() { + // 0c4a 0000 nop + // 0c4b 0000 nop + // 0c4c 0000 nop + // 0c4d 0000 nop + // 0c4e 0000 nop + // 0c4f 02ff rti + return; +} + +void Int5_Handler() { + 0c50 8e00 set16 + + // Save AC0.L, AC0.M + 0c51 1dbc mrr $ST1, $AC0.L + 0c52 1dbe mrr $ST1, $AC0.M + + // 0c53 8100 clr $ACC0 + // 0c54 00de 0bb7 lr $AC0.M, @0x0bb7 + // 0c56 0601 cmpis $AC0.M, #0x01 + // 0c57 0295 0c5f jz 0x0c5f + if (*0x0bb7 != 1) // pb.addr != AXPBADDR_LOOP_ON + { + // 0c59 0e00 lris $AC0.M, #0x00 + // 0c5a 00fe 0b87 sr @0x0b87, $AC0.M + *0x0b87 = 0; // pb.state = AX_PB_STATE_STOP + + // Restore AC0.L, AC0.M + 0c5c 1fcd mrr $AC0.M, $ST1 + 0c5d 1f8d mrr $AC0.L, $ST1 + + // 0c5e 02ff rti + return; + } + + // 0c5f 8100 clr $ACC0 + // 0c60 00de 0b88 lr $AC0.M, @0x0b88 + // 0c62 0601 cmpis $AC0.M, #0x01 + // 0c63 0295 0c71 jz 0x0c71 + if (*0x0b88 != 1) { // pb.type != AX_PB_TYPE_STREAM + + // 0c65 00de 0bda lr $AC0.M, @0x0bda + // 0c67 2eda srs @scale, $AC0.M + // 0c68 00de 0bdb lr $AC0.M, @0x0bdb + // 0c6a 2edb srs @yn1, $AC0.M + // 0c6b 00de 0bdc lr $AC0.M, @0x0bdc + // 0c6d 2edc srs @yn2, $AC0.M + @scale = pb.adpcmLoop.loop_pred_scale + @yn1 = pb.adpcmLoop.loop_yn1 + @yn2 = pb.adpcmLoop.loop_yn2 + + // Restore AC0.L, AC0.M + 0c6e 1fcd mrr $AC0.M, $ST1 + 0c6f 1f8d mrr $AC0.L, $ST1 + + // 0c70 02ff rti + return; + + } else { + + // 0c71 00de 0bda lr $AC0.M, @0x0bda + // 0c73 2eda srs @scale, $AC0.M + // 0c74 26db lrs $AC0.M, @yn1 + // 0c75 2edb srs @yn1, $AC0.M + // 0c76 26dc lrs $AC0.M, @yn2 + // 0c77 2edc srs @yn2, $AC0.M + @scale = pb.adpcmLoop.loop_pred_scale + // refresh @yn1, @yn2....why? + @yn1 = @yn1 + @yn2 = @yn2 + + // Well helllloooo there, padding + // 0c78 8100 clr $ACC0 + // 0c79 00dc 0bdd lr $AC0.L, @0x0bdd + // 0c7b 7600 inc $ACC0 + // 0c7c 00fc 0bdd sr @0x0bdd, $AC0.L + // 0c7e 8100 clr $ACC0 + pb.pad[0]++ + + // Restore AC0.L, AC0.M + 0c7f 1fcd mrr $AC0.M, $ST1 + 0c80 1f8d mrr $AC0.L, $ST1 + + // 0c81 02ff rti + return; + } +} + +void Int6_Handler() { + 0c82 0000 nop + 0c83 0000 nop + 0c84 0000 nop + 0c85 0000 nop + 0c86 0000 nop + 0c87 02ff rti +} + +void Int7_Handler() { + 0c88 0000 nop + 0c89 0000 nop + 0c8a 0000 nop + 0c8b 0000 nop + 0c8c 02ff rti +} + +# End of interrupt handlers + +// Jump table for the next function. +0c8d 0c9f // some kind of soft-reset for the UCode +0c8e 0ca2 // looks like code to dump the UCode memory for debugging +0c8f 0cda // rest the UCode and jump to ROM +0c90 0cdd // normal case to return to the main-loop + +// Called only from Task_Yield() +// Decides what to do next (this cmdblock is done) +void JumpThroughTable2() { + 0c91 8e00 set16 + 0c92 8100 clr $ACC0 + 0c93 8900 clr $ACC1 + + // 0c94 02bf 0ce0 call 0x0ce0 + WaitForCPUMail0(); + + // 0c96 27ff lrs $AC1.M, @CMBL + // 0c97 009e 0c8d lri $AC0.M, #0x0c8d + // 0c99 4c00 add $ACC0, $ACC1 + // 0c9a 1c7e mrr $AR3, $AC0.M + // 0c9b 0313 ilrr $AC1.M, @$AR3 + // 0c9c 1c7f mrr $AR3, $AC1.M + // 0c9d 176f jmpr $AR3 + switch(@CMBL) { + case 0: AX_ResumeTask(); break; + case 1: JumpTable2_1(); break; + case 2: IROM_Reset(); break; + case 3: AX_GetNextCmdBlock(); break; + } + 0c9e 0021 halt +} + +// case 0: +void AX_ResumeTask() { + 0c9f 029f 0030 jmp 0x0030 + 0ca1 0021 halt +} + +// case 1: +// funky...calls the mbox funcs, sometimes prefilling ACx regs... +// Perhaps DMAs some stuff and yields? +// Need to RE the ROM to figure this func out completely +void JumpTable2_1() { + // 0ca2 8100 clr $ACC0 + // 0ca3 8900 clr $ACC1 + // 0ca4 02bf 0ce0 call 0x0ce0 + WaitForCPUMail0(); + + // 0ca6 24ff lrs $AC0.L, @CMBL + // 0ca7 02bf 0ce6 call 0x0ce6 + WaitForCPUMail1(); + + // 0ca9 25ff lrs $AC1.L, @CMBL + // 0caa 02bf 0ce6 call 0x0ce6 + WaitForCPUMail1(); + + 0cac 27ff lrs $AC1.M, @CMBL + 0cad 2ece srs @DSMAH, $AC0.M + 0cae 2ccf srs @DSMAL, $AC0.L + 0caf 16c9 0001 si @DSCR, #0x0001 + 0cb1 2fcd srs @DSPA, $AC1.M + 0cb2 2dcb srs @DSBL, $AC1.L + + // 0cb3 8100 clr $ACC0 + // 0cb4 8900 clr $ACC1 + // 0cb5 02bf 0ce0 call 0x0ce0 + WaitForCPUMail0(); + + 0cb7 24ff lrs $AC0.L, @CMBL + 0cb8 1c9e mrr $IX0, $AC0.M + 0cb9 1cbc mrr $IX1, $AC0.L + 0cba 02bf 0ce6 call 0x0ce6 + WaitForCPUMail1(); + + 0cbc 25ff lrs $AC1.L, @CMBL + 0cbd 02bf 0ce6 call 0x0ce6 + WaitForCPUMail1(); + + 0cbf 27ff lrs $AC1.M, @CMBL + 0cc0 1cdf mrr $IX2, $AC1.M + 0cc1 1cfd mrr $IX3, $AC1.L + + // 0cc2 8100 clr $ACC0 + // 0cc3 02bf 0ce0 call 0x0ce0 + WaitForCPUMail0(); + + 0cc5 26ff lrs $AC0.M, @CMBL + 0cc6 1c1e mrr $AR0, $AC0.M + 0cc7 8900 clr $ACC1 + 0cc8 02bf 0ce6 call 0x0ce6 + WaitForCPUMail1(); + + 0cca 20ff lrs $AX0.L, @CMBL + 0ccb 1f5f mrr $AX0.H, $AC1.M + 0ccc 02bf 0ce0 call 0x0ce0 + WaitForCPUMail0(); + + 0cce 21ff lrs $AX1.L, @CMBL + 0ccf 02bf 0ce0 call 0x0ce0 + WaitForCPUMail0(); + + 0cd1 23ff lrs $AX1.H, @CMBL + + // 0cd2 26c9 lrs $AC0.M, @DSCR + // 0cd3 02a0 0004 andf $AC0.M, #0x0004 + // 0cd5 029c 0cd2 jlnz 0x0cd2 + while (@DSCR & 0x0004 != 0); // Wait for DMA to complete + + // 0cd7 029f 80b5 jmp 0x80b5 + // 0cd9 0021 halt + IROM_ErrorAndDie(); // Not sure...gotta RE the ROM +} + +// case 2: +void IROM_Reset() { + 0cda 029f 8000 jmp 0x8000 + 0cdc 0021 halt +} + +// case 3: +void AX_GetNextCmdBlock() { + // 0cdd 029f 0045 jmp 0x0045 + goto GetNextCmdBlock; + + 0cdf 0021 halt +} + +void WaitForCPUMail0() { + // 0ce0 26fe lrs $AC0.M, @CMBH + // 0ce1 02c0 8000 andcf $AC0.M, #0x8000 + // 0ce3 029c 0ce0 jlnz 0x0ce0 + while (@CMBH & 0x8000 == 0); + // 0ce5 02df ret + return; +} + +void WaitForCPUMail1() { + // 0ce6 27fe lrs $AC1.M, @CMBH + // 0ce7 03c0 8000 andcf $AC1.M, #0x8000 + // 0ce9 029c 0ce6 jlnz 0x0ce6 + while (@CMBH & 0x8000 == 0); + // 0ceb 02df ret + return; +} + +0cec 0000 nop +0ced 0000 nop +0cee 0000 nop +0cef 0000 nop diff --git a/docs/DSP/DSP_UC_GBA.txt b/docs/DSP/DSP_UC_GBA.txt new file mode 100644 index 0000000000..0daa70dd11 --- /dev/null +++ b/docs/DSP/DSP_UC_GBA.txt @@ -0,0 +1,498 @@ +/////////////////////////////////////////////////////////////////////////////// +ROM functions used: +0x8000 dsp reset +0x8078 wait for CMBH & 0x8000 +0x807e wait for DMBH & 0x8000 +0x808b dump DRAM/IRAM to mainmem +0x80b5 boot new ucode +0x80bc boot new ucode without ACC clearing by ROM + +For the rest, this ucode is just calling the last few instructions +from huge functions in irom - some kind of obfuscation +Perhaps someone thought the irom would never be dumped? ;p + +Similarly, drom is used pretty extensively as a source of what is intended to +be "mystery" numbers. Usually a word will be fetched, and masked to create a +simple value. No problem! :) + +0x81f4 + mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX1.H, $AC0.M + asr16'ir $ACC1 : $AR1 + srri @$AR3, $AC1.M + clr's $ACC0 : @$AR3, $AC1.L +0x8458 + mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX1.H, $AC0.M + asr16 $ACC1 + srri @$AR3, $AC1.M + clr's $ACC0 : @$AR3, $AC1.L +0x8723 + xorr $AC1.M, $AX1.H + srrd @$AR2, $AC1.M +0x8809 + orr'sn $AC1.M, $AX0.H : @$AR2, $AC1.L + srri @$AR2, $AC1.M +0x88e5 + orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 + lrrd $AC1.L, @$AR2 + add'dr $ACC0, $ACC1 : $AR1 + srri @$AR2, $AC0.M + srr @$AR2, $AC0.L + +struct sec_params_t +{ + u32 key; // from gba + u32 unk1; // normally 2 + u32 unk2; // normally 2 + u32 length; // size of data transferred to gba + u32 dest_addr; // addr to store result in mram + u32 pad[3]; +} + +// exception vector +0000 0000 nop +0001 0000 nop +0002 0000 nop +0003 0000 nop +0004 0000 nop +0005 0000 nop +0006 0000 nop +0007 0000 nop +0008 0000 nop +0009 0000 nop +000a 0000 nop +000b 0000 nop +000c 0000 nop +000d 0021 halt +000e 02ff rti +000f 0021 halt + +// entry point +void 0010_main() +{ +0010 1306 sbset #0x06 +0011 1203 sbclr #0x03 +0012 1204 sbclr #0x04 +0013 1305 sbset #0x05 +0014 0092 00ff lri $CR, #0x00ff +0016 0088 ffff lri $WR0, #0xffff +0018 0089 ffff lri $WR1, #0xffff +001a 008a ffff lri $WR2, #0xffff +001c 008b ffff lri $WR3, #0xffff +001e 8f00 set40 +001f 8b00 m0 +0020 8c00 clr15 +0021 02bf 807e call 0x807e // loop until dsp->cpu mailbox is empty +0023 16fc dcd1 si @DMBH, #0xdcd1 +0025 16fd 0000 si @DMBL, #0x0000 // sendmail 0xdcd10000 +0027 16fb 0001 si @DIRQ, #0x0001 + +// wait for cpu mail == 0xabbaxxxx +0029 02bf 8078 call 0x8078 // wait for cpu mail +002b 24ff lrs $AC0.L, @CMBL +002c 0280 abba cmpi $AC0.M, #0xabba +002e 0294 0029 jnz 0x0029 + +// wait for cpu mail +0030 8e00 set16 +0031 02bf 8078 call 0x8078 + +0033 20ff lrs $AX0.L, @CMBL +0034 0240 0fff andi $AC0.M, #0x0fff +0036 1f5e mrr $AX0.H, $AC0.M +0037 009b 0000 lri $AX1.H, #0x0000 // DSP-dram addr +0039 0099 0020 lri $AX1.L, #0x0020 // length (20 bytes = 10 words, word 9 and 10 are addr where result should DMA'd to in main mem) +003b 0087 0000 lri $IX3, #0x0000 // there will be no ucode/iram upload +003d 0080 0041 lri $AR0, #0x0041 // return addr after dram upload +003f 029f 80bc jmp 0x80bc // DRAM upload !! +// $AX0.H-$AX0.L - CPU(PPC) addr = mail & 0x0fffffff +// upload data from mainmem do dsp dram and jump to 0x41 after that + +0041 02bf 008c call 008c_BigCrazyFunction() +0043 02bf 807e call 0x807e // loop until dsp->cpu mailbox is empty + +0045 16fc dcd1 si @DMBH, #0xdcd1 +0047 16fd 0003 si @DMBL, #0x0003 // sendmail 0xdcd10003 (aka... calc is over, result is in main mem now) +0049 16fb 0001 si @DIRQ, #0x0001 +004b 8f00 set40 + +004c 02bf 8078 call 0x8078 +004e 0280 cdd1 cmpi $AC0.M, #0xcdd1 +0050 0294 004c jnz 0x004c + +0052 26ff lrs $AC0.M, @CMBL +0053 0280 0001 cmpi $AC0.M, #0x0001 +0055 0295 005e jz 0x005e // if cpu->dsp mail was 0xcdd10001 -> 005e_PrepareBootUcode() + +0057 0280 0002 cmpi $AC0.M, #0x0002 +0059 0295 8000 jz 0x8000 // if cpu->dsp mail was 0xcdd10002 -> dsp reset ( jmp to irom(0x8000)) + +005b 029f 004c jmp 0x004c // wait for next mail from cpu +005d 0021 halt +} + +void 005e_PrepareBootUcode() +{ +005e 8e00 set16 +005f 02bf 8078 call 0x8078 +0061 24ff lrs $AC0.L, @CMBL // ??? +0062 02bf 8078 call 0x8078 +0064 24ff lrs $AC0.L, @CMBL // ??? +0065 02bf 8078 call 0x8078 +0067 24ff lrs $AC0.L, @CMBL // ??? +0068 02bf 8078 call 0x8078 +006a 00c5 ffff lr $IX1, @CMBL +006c 0240 0fff andi $AC0.M, #0x0fff +006e 1c9e mrr $IX0, $AC0.M // mram addr for iram +006f 02bf 8078 call 0x8078 +0071 00c7 ffff lr $IX3, @CMBL // iram upload length. upload skipped if 0 +0073 02bf 8078 call 0x8078 +0075 00c6 ffff lr $IX2, @CMBL // iram dest +0077 02bf 8078 call 0x8078 +0079 00c0 ffff lr $AR0, @CMBL // startpc / return addr +007b 02bf 8078 call 0x8078 +007d 20ff lrs $AX0.L, @CMBL +007e 0240 0fff andi $AC0.M, #0x0fff +0080 1f5e mrr $AX0.H, $AC0.M // mram addr for dram +0081 02bf 8078 call 0x8078 +0083 21ff lrs $AX1.L, @CMBL // dram upload length. upload skipped if 0 +0084 02bf 8078 call 0x8078 +0086 23ff lrs $AX1.H, @CMBL // dram dest +0087 1205 sbclr #0x05 +0088 1206 sbclr #0x06 +0089 029f 80b5 jmp 80b5_BootUcode() +008b 0021 halt +} + +// does some crazy stuff with data at dram @0x3/0x5/0x6/0x7 with help of some values from drom :) +// result is @0x22,@0x23 and written back to main memory to dmem-0x08:dmem-0x09 +void 008c_BigCrazyFunction() +{ +// 008c 8100 clr $ACC0 +// 008d 0081 0010 lri $AR1, #0x0010 +// 008f 1020 loopi #0x20 +// 0090 1b3e srri @$AR1, $AC0.M + memset(0x10, 0, 0x20 * sizeof(dsp_word)); + +// 0091 00df 1456 lr $AC1.M, @0x1456 // drom 102f +// 0093 0340 ffd0 andi $AC1.M, #0xffd0 // -> 0x1000 +// 0095 8417 clrp'mv : $AX1.L, $AC1.M // clrp, ax1.l = 0x1000 + IMPORTANT: "confusing" section relies on prod being cleared, and ax1.l == 0x1000 + +// 0096 0080 0000 lri $AR0, #0x0000 +// 0098 0086 0000 lri $IX2, #0x0000 +// 009a 0082 001f lri $AR2, #0x001f +// 009c 00de 15f6 lr $AC0.M, @0x15f6 // drom 7f65 +// 009e 1408 lsl $ACC0, #8 // -> 0x7f_6500 +// 009f 00df 1766 lr $AC1.M, @0x1766 // drom 0273 +// 00a1 0340 00ff andi $AC1.M, #0x00ff // -> 0x73 +// 00a3 1f5f mrr $AX0.H, $AC1.M // ax0.h = 0x73 +// 00a4 02bf 88e5 call 0x88e5 // ar2 = 0x1f, ar1 = 0x30 +// orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 // acc0 = 0x7f_6573, ac1.m = 0, ar2 = 0x20 +// lrrd $AC1.L, @$AR2 // ac1.l = 0, ar2 = 0x1f +// add'dr $ACC0, $ACC1 : $AR1 +// srri @$AR2, $AC0.M // *0x1f = 0x6573, ar2 = 0x20 +// srr @$AR2, $AC0.L // *0x20 = 0 +// 00a6 1f1c mrr $AX0.L, $AC0.L // ax0.l = 0 +// 00a7 811e clr'mv $ACC0 : $AX1.H, $AC0.M // acc0 = 0, ax1.h = 0x6573 +// 00a8 191e lrri $AC0.M, @$AR0 // ac0.m = sec_params.key[0], ar1 = 1 +// 00a9 1478 lsr $ACC0, #-8 // acc0 0x00_00.._..00 +// 00aa 1ffc mrr $AC1.M, $AC0.L // ac1.m = sec_params.key[0] & 0x00ff +// 00ab 1f5e mrr $AX0.H, $AC0.M // ax0.h = sec_params.key[0] >> 8 +// 00ac 02bf 8809 call 0x8809 +// orr'sn $AC1.M, $AX0.H : @$AR2, $AC1.L // ac1.m |= ax0.h ..tricky tricky :D +// srri @$AR2, $AC1.M // *0x20 = bswap(sec_params.key[0]), ar2 = 0x21 +// 00ae 02bf 8723 call 0x8723 +// xorr $AC1.M, $AX1.H // ac1.m = sec_params.key[0] ^ 0x6573 +// srrd @$AR2, $AC1.M // *0x21 = bswap(sec_params.key[0]) ^ 0x6573, ar2 = 0x20 + // Initialize 0x21 + *0x1f = 0x6573 + *0x20 = bswap(sec_params.key[0]) + *0x21 = bswap(sec_params.key[0]) ^ 0x6573 + +// 00b0 0006 dar $AR2 // ar2 = 0x1f +// 00b1 8106 clr'dr $ACC0 : $AR2 // acc0 = 0, ar2 = 0x1e +// 00b2 00de 166c lr $AC0.M, @0x166c // drom 06f2 +// 00b4 1404 lsl $ACC0, #4 +// 00b5 0240 ff00 andi $AC0.M, #0xff00 // -> 0x6f00 +// 00b7 00df 1231 lr $AC1.M, @0x1231 // drom 64fc +// 00b9 1578 lsr $ACC1, #-8 +// 00ba 0340 00ff andi $AC1.M, #0x00ff // -> 0x64 +// 00bc 1f5f mrr $AX0.H, $AC1.M // ax0.h = 0x64 +// 00bd 02bf 88e5 call 0x88e5 +// orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 // ac0.m = 0x6f64, ac1.m = 0, ar2 = 0x1f +// lrrd $AC1.L, @$AR2 // ac1.l = 0x6573, ar2 = 0x1e +// add'dr $ACC0, $ACC1 : $AR1 // acc0 = 0x00_6f64_6573 +// srri @$AR2, $AC0.M // *0x1e = 0x6f64, ar2 = 0x1f +// srr @$AR2, $AC0.L // *0x1f = 0x6573 +// 00bf 1f1c mrr $AX0.L, $AC0.L +// 00c0 811e clr'mv $ACC0 : $AX1.H, $AC0.M // acc0 = 0, ax1.h = 0x6f64 +// 00c1 191e lrri $AC0.M, @$AR0 // ac0.m = sec_params.key[1] +// 00c2 1478 lsr $ACC0, #-8 // acc0 = 0x00_00.._..00 +// 00c3 1ffc mrr $AC1.M, $AC0.L // ac1.m = sec_params.key[1] & 0xff +// 00c4 1f5e mrr $AX0.H, $AC0.M // ax0.h = sec_params.key[1] >> 8 +// 00c5 02bf 8809 call 0x8809 +// orr'sn $AC1.M, $AX0.H : @$AR2, $AC1.L // ac1.m |= ax0.h +// srri @$AR2, $AC1.M // *0x1f = bswap(sec_params.key[1]), ar2 = 0x20 +// 00c7 02bf 8723 call 0x8723 +// xorr $AC1.M, $AX1.H +// srrd @$AR2, $AC1.M // *0x20 = bswap(sec_params.key[1]) ^ 0x6f64 + // Initialize 0x20 + *0x1e = 0x6f64 + *0x1f = bswap(sec_params.key[1]) + *0x20 = bswap(sec_params.key[1]) ^ 0x6f64 + + // Initialize 0x11 +// 00c9 8100 clr $ACC0 +// 00ca 8900 clr $ACC1 +// 00cb 00d1 0005 lr $AC1.H, @0x0005 +// 00cd 9900 asr16 $ACC1 // s16 unk2 = (s8)(sec_params.unk2[1]) +// 00ce 8200 cmp +// 00cf 0295 00e5 jz 0x00e5 +// 00d1 0291 00f3 jl 0x00f3 +if (unk2 < 0) { + // 00d3 0082 0010 lri $AR2, #0x0010 + // 00d5 0086 0001 lri $IX2, #0x0001 // 'sn will inc ar2 by 1 + // 00d7 00d0 171b lr $AC0.H, @0x171b // drom ff03 + // 00d9 9100 asr16 $ACC0 // -> 0x00_0003_0000 + // 00da 7d00 neg $ACC1 + // 00db 4d00 add $ACC1, $ACC0 + // 00dc 1501 lsl $ACC1, #1 + // 00dd 1f5f mrr $AX0.H, $AC1.M // ax0.h = ((~unk2 + 3) << 1) & 0xffff + // 00de 00df 0003 lr $AC1.M, @0x0003 // sec_params.unk1[1] + // 00e0 1504 lsl $ACC1, #4 + // 00e1 02bf 8809 call 0x8809 + // orr'sn $AC1.M, $AX0.H : @$AR2, $AC1.L // ac1.m = (((~unk2 + 3) << 1) & 0xffff) | (sec_params.unk1[1] << 4), ar2 = 0x11 + // srri @$AR2, $AC1.M + // 00e3 029f 0102 jmp 0x0102 + *0x11 = (((~unk2 + 3) << 1) | (sec_params.unk1[1] << 4)) & 0xffff + +} else if (unk2 == 0) { + // unk2 is unused + // 00e5 0082 0011 lri $AR2, #0x0011 + // 00e7 00df 0003 lr $AC1.M, @0x0003 // sec_params.unk1[1] + // 00e9 1501 lsl $ACC1, #1 + // 00ea 1f5f mrr $AX0.H, $AC1.M // ax0.h = sec_params.unk1[1] << 1 + // 00eb 00de 1043 lr $AC0.M, @0x1043 // drom 0076 + // 00ed 0240 fff0 andi $AC0.M, #0xfff0 // -> 0x70 + // 00ef 02bf 88e5 call 0x88e5 + // orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 // ac0.m = (sec_params.unk1[1] << 1) | 0x70, ac1.m = 0, ar2 = 0x12 + // lrrd $AC1.L, @$AR2 // ar2 = 0x11 + // add'dr $ACC0, $ACC1 : $AR1 // acc1 must be 0 + // srri @$AR2, $AC0.M // *0x11 = (sec_params.unk1[1] << 1) | 0x70, ar2 = 0x12 + // srr @$AR2, $AC0.L // *0x12 = 0 // just a side effect, it's already 0 anyways + // 00f1 029f 0102 jmp 0x0102 + *0x11 = ((sec_params.unk1[1] << 1) | 0x70) & 0xffff + +} else if (unk2 > 0) { + // 00f3 0082 0010 lri $AR2, #0x0010 + // 00f5 0086 0001 lri $IX2, #0x0001 // 'sn will inc ar2 by 1 + // 00f7 00d0 1285 lr $AC0.H, @0x1285 // drom 5aff (0xffff because of .h) + // 00f9 9100 asr16 $ACC0 // -> 0xff_ffff_0000 = -1 + // 00fa 4d00 add $ACC1, $ACC0 // ac1.m = unk2 - 1 + // 00fb 1501 lsl $ACC1, #1 // ac1.m <<= 1 ..in the normal case, this makes it 2 again... + // 00fc 00de 0003 lr $AC0.M, @0x0003 // sec_params.unk1[1] + // 00fe 1404 lsl $ACC0, #4 + // 00ff 1f5e mrr $AX0.H, $AC0.M // ax0.h = sec_params.unk1[1] << 4 + // 0100 02bf 8809 call 0x8809 + // orr'sn $AC1.M, $AX0.H : @$AR2, $AC1.L // ac1.m = ((unk2 - 1) << 1) | (sec_params.unk1[1] << 4), ar2 = 0x11 + // srri @$AR2, $AC1.M + *0x11 = (((unk2 - 1) << 1) | (sec_params.unk1[1] << 4)) & 0xffff +} + +// This just clears acc1 +// 0102 0083 0013 lri $AR3, #0x0013 +// 0104 1b7e srri @$AR3, $AC0.M // *0x13 = intermediate from above -> unused +// 0105 8923 clr's $ACC1 : @$AR3, $AC0.L // acc1 = 0, *0x14 = intermediate from above -> unused + +// The "confusion" +// 0106 0083 0013 lri $AR3, #0x0013 +// 0108 00df 0007 lr $AC1.M, @0x0007 // ac1.m = sec_params.length[1] +// 010a 00de 11b8 lr $AC0.M, @0x11b8 // drom 007f +// 010c 0240 fff0 andi $AC0.M, #0xfff0 // -> 0x70 +// 010e 1f5e mrr $AX0.H, $AC0.M // ax0.h = 0x70 +// 010f 02bf 81f4 call 0x81f4 +// mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX1.H, $AC0.M// prod = 0x70 * 0x1000 : .m1 = 7 +// asr16'ir $ACC1 : $AR1 // ac1.l = sec_params.length[1], the rest of acc1 must be 0 +// srri @$AR3, $AC1.M // *0x13 = 0, ar3 = 0x14 +// clr's $ACC0 : @$AR3, $AC1.L // acc0 = 0, *0x14 = sec_params.length[1], ar3 = 0x15 +// +// 0111 f100 lsl16 $ACC1 // ac1.m = sec_params.length[1] +// 0112 02bf 8458 call 0x8458 // this is the same routine, just adds 7 and stores to different location +// mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX1.H, $AC0.M// acc1 += 7 // last prod has 7 in the mid +// asr16 $ACC1 // ac1.l = sec_params.length[1] + 7 +// srri @$AR3, $AC1.M // *0x15 = 0, ar3 = 0x16 +// clr's $ACC0 : @$AR3, $AC1.L // *0x16 = sec_params.length[1] + 7 + *0x13 = 0 + *0x14 = sec_params.length[1] + *0x15 = 0 + *0x16 = sec_params.length[1] + 7 + +// 0114 8f00 set40 // SIGN EXTENSION IN EFFECT!! +// 0115 0082 0015 lri $AR2, #0x0015 +// 0117 00de 0006 lr $AC0.M, @0x0006 // ac0.m = sec_params.length[0] ..always 0? // sign extended +// 0119 00da 165b lr $AX0.H, @0x165b // drom 0000 +// 011b 02bf 88e5 call 0x88e5 +// orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 // ac0.m = sec_params.length[0], effectively clears acc1 (*0x15 == 0), ar2 = 0x16 +// lrrd $AC1.L, @$AR2 // ac1.l = sec_params.length[1] + 7, ar2 = 0x15 +// add'dr $ACC0, $ACC1 : $AR1 // ac0.m = sec_params.length[0], ac0.l = sec_params.length[1] + 7 +// srri @$AR2, $AC0.M // *0x15 = sec_params.length[0], ar2 = 0x16 +// srr @$AR2, $AC0.L // *0x16 = sec_params.length[1] + 7 +// 011d 14fd asr $ACC0, #-3 +// 011e 1403 lsl $ACC0, #3 // ((acc0 + 7) & ~7) (round up) // consider .length rounded from here on out +// 011f 1b5e srri @$AR2, $AC0.M // *0x16 = sec_params.length[0], ar2 = 0x17 +// 0120 1b5c srri @$AR2, $AC0.L // *0x17 = sec_params.length[1], ar2 = 0x18 +// 0121 0082 0016 lri $AR2, #0x0016 +// 0123 00de 1723 lr $AC0.M, @0x1723 // drom ffe0 // obviously sign extended +// 0125 14f4 asr $ACC0, #-12 // -> 0xff_ffff_fe00 = -1, -0x200 +// 0126 00da 166b lr $AX0.H, @0x166b // drom 0000 +// 0128 02bf 88e5 call 0x88e5 +// orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 // ac1.m = sec_params.length[0] // sign extended +// lrrd $AC1.L, @$AR2 // ac1.l = sec_params.length[1] +// add'dr $ACC0, $ACC1 : $AR1 // acc0 = sec_params.length - 0x200 // this is a proper signed operation :) +// srri @$AR2, $AC0.M // *0x16 = sec_params.length - 0x200 HIGH +// srr @$AR2, $AC0.L // *0x17 = sec_params.length - 0x200 LOW + // The above block just does 40bit subtraction...so annoying :p + *0x15 = sec_params.length[0] + *0x16 = sec_params.length - 0x200 HIGH + *0x17 = sec_params.length - 0x200 LOW + +// 012a b100 tst $ACC0 +// 012b 0290 012e jge 0x012e +// 012d 8100 clr $ACC0 +if (acc0 < 0) acc0 = 0 + +// At this point, ACC0 = max40bit(0, sec_params.length - 0x200) + +// 012e 14fd asr $ACC0, #-3 // taken into account at 013f +// 012f 8e00 set16 // back to sanity + +// voodoo +0130 00df 1491 lr $AC1.M, @0x1491 // drom 6a0f +0132 0340 d0f0 andi $AC1.M, #0xd0f0 // -> 0x4000 +0134 1cbf mrr $IX1, $AC1.M // ix1 = 0x4000 +0135 00df 1468 lr $AC1.M, @0x1468 // drom f808 +0137 00d1 11fc lr $AC1.H, @0x11fc // drom 0003 +0139 157c lsr $ACC1, #-4 // -> 0x00_3f80_8000 +013a 1cdf mrr $IX2, $AC1.M // ix2 = 0x3f80 +013b 00d1 11b8 lr $AC1.H, @0x11b8 // drom 007f +013d 9900 asr16 $ACC1 // -> 0x00_007f_3f80 +013e 1418 lsl $ACC0, #24 +013f 1478 lsr $ACC0, #-8 // (((ACC0 >> 3) << 24) >> 8) +same as ((ACC0 >> 3) << 16) & 0x00_ffff_0000 -> ac0.m = (u16)((sec_params.length - 0x200) >> 3) +u16 size = (u16)((sec_params.length - 0x200) >> 3) +0140 1f5e mrr $AX0.H, $AC0.M // ax0.h = size +0141 1ffe mrr $AC1.M, $AC0.M // ac1.m = size +0142 1f65 mrr $AX1.H, $IX1 // ax1.h = 0x4000 +0143 3600 andr $AC0.M, $AX1.H // ac0.m = size & 0x4000 +0144 1402 lsl $ACC0, #2 // acc0 <<= 2 // t = (0x00_size_0000 & 0x00_4000_ffff) << 2 +0145 1f66 mrr $AX1.H, $IX2 // ax1.h = 0x3f80 +0146 3700 andr $AC1.M, $AX1.H // ac1.m = size & 0x3f80 +0147 1501 lsl $ACC1, #1 // acc1 <<= 1 // u = (0x00_size_3f80 & 0x00_3f80_ffff) << 1 +0148 4c00 add $ACC0, $ACC1 // acc0 += acc1 // t += u +0149 1518 lsl $ACC1, #24 +014a 9900 asr16 $ACC1 // signed cast (s16)ac1.l (ends up in ac1.m) +014b 3500 andr $AC1.M, $AX0.H // ac1.m = (s16)u & size +014c 4c00 add $ACC0, $ACC1 // acc0 += acc1 // t += (s16)u & size +014d 00df 0012 lr $AC1.M, @0x0012 +014f 3f00 orc $AC1.M, $AC0.M // ac1.m = acc0 | 0x00_ffff_0000 +0150 00ff 0012 sr @0x0012, $AC1.M // *0x12 = ac1.m +0152 1470 lsr $ACC0, #-16 // // t >>= 16 unsigned +0153 00df 0011 lr $AC1.M, @0x0011 +0155 3f00 orc $AC1.M, $AC0.M +0156 00ff 0011 sr @0x0011, $AC1.M // *0x11 |= previous ac0.h, now at ac0.m <- so ac0.m = unsigned ac0.h +0158 1fa5 mrr $AC1.L, $IX1 // ac1.l = 0x4000 +0159 1501 lsl $ACC1, #1 // ac1.l = 0x8000 +015a 1fe6 mrr $AC1.M, $IX2 // ac1.m = 0x3f80 0x00_3f80_8000 +015b f100 lsl16 $ACC1 // ((acc1 << 16) >> 8) << 16 +015c 15f8 asr $ACC1, #-8 +015d f500 lsr16 $ACC1 // acc1 = 0x00_00ff_8080 +015e 1f5f mrr $AX0.H, $AC1.M // ax0.h = 0xff +015f 1f7d mrr $AX1.H, $AC1.L // ax1.h = 0x8080 +0160 8100 clr $ACC0 +0161 00de 0011 lr $AC0.M, @0x0011 +0163 3400 andr $AC0.M, $AX0.H // ac0.m = *0x11 & 0xff +0164 8900 clr $ACC1 // so it was all to setup ax0.h and ax1.h... +0165 00df 0012 lr $AC1.M, @0x0012 +0167 3500 andr $AC1.M, $AX0.H // ac1.m = *0x12 & 0xff +0168 4c00 add $ACC0, $ACC1 +0169 00df 0012 lr $AC1.M, @0x0012 +016b 1578 lsr $ACC1, #-8 +016c 4c00 add $ACC0, $ACC1 // acc0 = ((*0x11 & 0xff) << 16) + ((*0x12 & 0xff) << 16) + (*0x12 << 8) +016d 8900 clr $ACC1 +016e 1ffe mrr $AC1.M, $AC0.M +016f 1508 lsl $ACC1, #8 +0170 3b00 orr $AC1.M, $AX1.H // ac1.m = (ac0.m << 8) | 0x8080 +0171 00de 0011 lr $AC0.M, @0x0011 +0173 3e00 orc $AC0.M, $AC1.M // final11 = *0x11 | (ac0.m << 8) | 0x8080 +0174 00df 0012 lr $AC1.M, @0x0012 +0176 3b00 orr $AC1.M, $AX1.H +0177 1cbf mrr $IX1, $AC1.M // final12 = *0x12 | 0x8080 + +// write the final values @22 and @23 +// 0178 00da 15f1 lr $AX0.H, @0x15f1 // drom 0200 +// 017a 3500 andr $AC1.M, $AX0.H +// 017b 0295 0192 jz 0x0192 +if (final12 & 0x200 != 0) { + + // 017d 00df 10e2 lr $AC1.M, @0x10e2 // drom 376f + // 017f 1508 lsl $ACC1, #8 // -> 0x37_6f00 + // 0180 1f5f mrr $AX0.H, $AC1.M + // 0181 00df 103b lr $AC1.M, @0x103b // drom 0065 + // 0183 7900 decm $AC1.M // -> 0x64 + // 0184 3900 orr $AC1.M, $AX0.H + // 0185 3080 xorc $AC0.M, $AC1.M + // 0186 00fe 0022 sr @0x0022, $AC0.M // *0x22 = final11 ^ 0x6f64 + // 0188 00dc 1229 lr $AC0.L, @0x1229 // drom 657c + // 018a 00dd 11f8 lr $AC1.L, @0x11f8 // drom 0009 + // 018c 5c00 sub $ACC0, $ACC1 + // 018d f000 lsl16 $ACC0 + // 018e 1fe5 mrr $AC1.M, $IX1 + // 018f 3080 xorc $AC0.M, $AC1.M // *0x23 = final12 ^ 0x6573 + // 0190 029f 01a5 jmp 0x01a5 + *0x22 = final11 ^ 0x6f64 + *0x23 = final12 ^ 0x6573 + +} else { + // 0192 00df 10ca lr $AC1.M, @0x10ca // drom 3461 + // 0194 1508 lsl $ACC1, #8 // -> 0x34_6100 + // 0195 1f5f mrr $AX0.H, $AC1.M + // 0196 00df 1043 lr $AC1.M, @0x1043 // drom 0076 + // 0198 7500 incm $AC1.M // -> 0x77 + // 0199 3900 orr $AC1.M, $AX0.H + // 019a 3080 xorc $AC0.M, $AC1.M + // 019b 00fe 0022 sr @0x0022, $AC0.M // *0x22 = final11 ^ 0x6177 + // 019d 00dc 1259 lr $AC0.L, @0x1259 // drom 6143 + // 019f 00dd 16fe lr $AC1.L, @0x16fe // drom 0008 + // 01a1 4c00 add $ACC0, $ACC1 + // 01a2 f000 lsl16 $ACC0 + // 01a3 1fe5 mrr $AC1.M, $IX1 + // 01a4 3080 xorc $AC0.M, $AC1.M // *0x23 = final12 ^ 0x614b + *0x22 = final11 ^ 0x6177 + *0x23 = final12 ^ 0x614b +} +// 01a5 00fe 0023 sr @0x0023, $AC0.M // taken care of above + +// this is where result is written to main memory +// dsp mem 0x20-0x23 (8 bytes) are written back - only values @22 and @23 were modified, so result is 32bit +01a7 00da 0008 lr $AX0.H, @0x0008 // sec_params.dest_addr[0] +01a9 00d8 0009 lr $AX0.L, @0x0009 // sec_params.dest_addr[1] +01ab 009b 0020 lri $AX1.H, #0x0020 // dsp addr +01ad 0099 0008 lri $AX1.L, #0x0008 // length +01af 0087 0000 lri $IX3, #0x0000 // there will be no iram dma +01b1 02bf 808b call 0x808b // do it! + +01b3 02df ret +} + +01b4 0000 nop +01b5 0000 nop +01b6 0000 nop +01b7 0000 nop +01b8 0000 nop +01b9 0000 nop +01ba 0000 nop +01bb 0000 nop +01bc 0000 nop +01bd 0000 nop +01be 0000 nop +01bf 0000 nop diff --git a/docs/DSP/DSP_UC_IPL_24B22038.txt b/docs/DSP/DSP_UC_IPL_24B22038.txt new file mode 100644 index 0000000000..35848c957a --- /dev/null +++ b/docs/DSP/DSP_UC_IPL_24B22038.txt @@ -0,0 +1,1985 @@ +0000 029f 0010 jmp 0x0010 +0002 0000 nop +0003 0000 nop +0004 02ff rti +0005 0000 nop +0006 02ff rti +0007 0000 nop +0008 02ff rti +0009 0000 nop +000a 02ff rti +000b 0000 nop +000c 02ff rti +000d 0000 nop +000e 02ff rti +000f 0000 nop + +// Entry +void 0010_Entry() +{ +0010 1302 sbset #0x02 +0011 1303 sbset #0x03 +0012 1204 sbclr #0x04 +0013 1305 sbset #0x05 +0014 1306 sbset #0x06 +0015 8e00 set16 +0016 8c00 clr15 +0017 8b00 m0 +0018 009e ffff lri $AC0.M, #0xffff +001a 1d1e mrr $WR0, $AC0.M +001b 1d3e mrr $WR1, $AC0.M +001c 1d5e mrr $WR2, $AC0.M +001d 1d7e mrr $WR3, $AC0.M +001e 0092 00ff lri $CR, #0x00ff +0020 8100 clr $ACC0 +0021 009f 1000 lri $AC1.M, #0x1000 +0023 0080 0000 lri $AR0, #0x0000 +0025 005f loop $AC1.M + 0026 1b1e srri @$AR0, $AC0.M // clear dram +0027 26ff lrs $AC0.M, @CMBL +0028 16fc 8888 si @DMBH, #0x8888 +002a 16fd 1111 si @DMBL, #0x1111 // SENDMAIL 0x88881111 +002c 26fc lrs $AC0.M, @DMBH +002d 02a0 8000 andf $AC0.M, #0x8000 +002f 029c 002c jlnz 0x002c +} + +void 0031_MainLoop() +{ +0031 8100 clr $ACC0 +0032 8900 clr $ACC1 +0033 26fe lrs $AC0.M, @CMBH +0034 02c0 8000 andcf $AC0.M, #0x8000 +0036 029c 0031 jlnz 0x0031 // wait for mail +0038 27ff lrs $AC1.M, @CMBL +0039 00ff 0345 sr @0x0345, $AC1.M +003b 1ffe mrr $AC1.M, $AC0.M +003c 0340 00ff andi $AC1.M, #0x00ff +003e 00ff 0344 sr @0x0344, $AC1.M +0040 1479 lsr $ACC0, #-7 +0041 0240 007e andi $AC0.M, #0x007e +0043 0200 0062 addi $AC0.M, #0x0062 +0045 00fe 0343 sr @0x0343, $AC0.M +0047 1c1e mrr $AR0, $AC0.M +0048 170f jmpr $AR0 // jump on CMD? +0049 009e 8000 lri $AC0.M, #0x8000 +004b 00dc 0343 lr $AC0.L, @0x0343 +004d 02bf 005a call 005a_SendMail(AC0.M,AC0.L) // sendmail 0x8000???? +004f 029f 0031 jmp 0x0031 +} + +void 0051_WaitForMailAndStoreIt(DEST $AR0) +{ +0051 26fe lrs $AC0.M, @CMBH +0052 02c0 8000 andcf $AC0.M, #0x8000 +0054 029c 0051 jlnz 0x0051 +0056 24ff lrs $AC0.L, @CMBL +0057 1b1e srri @$AR0, $AC0.M +0058 1b1c srri @$AR0, $AC0.L +0059 02df ret +} + +void 005a_SendMail(AC0.M,AC0.L) +{ +005a 2efc srs @DMBH, $AC0.M +005b 2cfd srs @DMBL, $AC0.L +005c 26fc lrs $AC0.M, @DMBH +005d 02a0 8000 andf $AC0.M, #0x8000 +005f 029c 005c jlnz 0x005c +0061 02df ret +} + +//CMDs +0062 029f 0049 jmp 0x0049 // CMD_0 +0064 029f 02bd jmp 0x02bd // CMD_1 +0066 029f 0470 jmp 0x0470 // CMD_2 +0068 029f 0031 jmp 0x0031 // CMD_3 +006a 029f 00df jmp 0x00df // CMD_4 +006c 029f 00f1 jmp 0x00f1 // CMD_5 +006e 029f 05bb jmp 0x05bb // CMD_6 +0070 029f 056f jmp 0x056f // CMD_7 +0072 029f 05d7 jmp 0x05d7 // CMD_8 +0074 029f 059f jmp 0x059f // CMD_9 +0076 029f 0741 jmp 0x0741 // CMD_A +0078 029f 0618 jmp 0x0618 // CMD_B - jump to IROM area (0x8644) +007a 029f 0203 jmp 0x0203 // CMD_C + +{ +007c 193e lrri $AC0.M, @$AR1 +007d 193c lrri $AC0.L, @$AR1 +007e 2fcd srs @DSPA, $AC1.M +007f 0f00 lris $AC1.M, #0x00 +0080 2fc9 srs @DSCR, $AC1.M // DMEM->CPU +0081 2ece srs @DSMAH, $AC0.M +0082 2ccf srs @DSMAL, $AC0.L +0083 1fe0 mrr $AC1.M, $AR0 +0084 1501 lsl $ACC1, #1 +0085 2fcb srs @DSBL, $AC1.M +0086 02bf 008f call 0x008f +0088 02df ret +} + +{ +0089 193e lrri $AC0.M, @$AR1 +008a 193c lrri $AC0.L, @$AR1 +008b 2fcd srs @DSPA, $AC1.M +008c 0f01 lris $AC1.M, #0x01 +008d 029f 0080 jmp 0x0080 +} + +{ +008f 26c9 lrs $AC0.M, @DSCR +0090 02a0 0004 andf $AC0.M, #0x0004 +0092 029c 008f jlnz 0x008f +0094 02df ret +} + +{ +0095 193e lrri $AC0.M, @$AR1 +0096 193c lrri $AC0.L, @$AR1 +0097 00ff ffcd sr @DSPA, $AC1.M +0099 0f00 lris $AC1.M, #0x00 +009a 00ff ffc9 sr @DSCR, $AC1.M +009c 00fe ffce sr @DSMAH, $AC0.M +009e 00fc ffcf sr @DSMAL, $AC0.L +00a0 1fe0 mrr $AC1.M, $AR0 +00a1 1501 lsl $ACC1, #1 +00a2 00ff ffcb sr @DSBL, $AC1.M +00a4 02df ret +} + +void 00a5_WaitForDMAend() +{ +00a5 00de ffc9 lr $AC0.M, @DSCR +00a7 02a0 0004 andf $AC0.M, #0x0004 +00a9 029c 00a5 jlnz 0x00a5 +00ab 02df ret +} + +void 00ac_AccZeldaTypeRead() +{ +00ac 193e lrri $AC0.M, @$AR1 +00ad 193c lrri $AC0.L, @$AR1 +00ae 0240 7fff andi $AC0.M, #0x7fff +00b0 02bf 00ba call 00ba_AccSetup() +00b2 007a 00b8 bloop $AX0.H, 0x00b8 +00b4 26d3 lrs $AC0.M, @UnkZelda +00b5 1b3e srri @$AR1, $AC0.M +00b6 0000 nop +00b7 0000 nop +00b8 0000 nop +00b9 02df ret +} + +void 00ba_AccSetup() +{ +00ba 1c3f mrr $AR1, $AC1.M +00bb 009f 0005 lri $AC1.M, #0x0005 +00bd 2fd1 srs @SampleFormat, $AC1.M // reads will be u8 +00be 1f5e mrr $AX0.H, $AC0.M +00bf 1f1c mrr $AX0.L, $AC0.L +00c0 2ed4 srs @ACSAH, $AC0.M +00c1 2cd5 srs @ACSAL, $AC0.L +00c2 8900 clr $ACC1 +00c3 1fa0 mrr $AC1.L, $AR0 +00c4 4c00 add $ACC0, $ACC1 +00c5 0200 0030 addi $AC0.M, #0x0030 +00c7 2ed6 srs @ACEAH, $AC0.M +00c8 2cd7 srs @ACEAL, $AC0.L +00c9 1fda mrr $AC0.M, $AX0.H +00ca 1f98 mrr $AC0.L, $AX0.L +00cb 147f lsr $ACC0, #-1 +00cc 2ed8 srs @ACCAH, $AC0.M +00cd 2cd9 srs @ACCAL, $AC0.L +00ce 1f40 mrr $AX0.H, $AR0 +00cf 02df ret +} + +void 00d0_AccZeldaTypeWrite() +{ +00d0 193e lrri $AC0.M, @$AR1 +00d1 193c lrri $AC0.L, @$AR1 +00d2 0260 8000 ori $AC0.M, #0x8000 +00d4 02bf 00ba call 00ba_AccSetup() +00d6 007a 00dd bloop $AX0.H, 0x00dd +{ + 00d8 193e lrri $AC0.M, @$AR1 + 00d9 2ed3 srs @UnkZelda, $AC0.M + 00da 0000 nop + 00db 0000 nop + 00dc 0000 nop + 00dd 0000 nop +} +00de 02df ret +} + +{ +00df 0080 0346 lri $AR0, #0x0346 +00e1 02bf 0051 call 0x0051 +00e3 02bf 0051 call 0x0051 +00e5 0081 0346 lri $AR1, #0x0346 +00e7 00df 0349 lr $AC1.M, @0x0349 +00e9 0340 ffff andi $AC1.M, #0xffff +00eb 00c0 0345 lr $AR0, @0x0345 +00ed 02bf 007c call 0x007c +00ef 029f 0049 jmp 0x0049 +} + +{ +00f1 0080 0346 lri $AR0, #0x0346 +00f3 02bf 0051 call 0x0051 +00f5 02bf 0051 call 0x0051 +00f7 0081 0346 lri $AR1, #0x0346 +00f9 00df 0349 lr $AC1.M, @0x0349 +00fb 0340 ffff andi $AC1.M, #0xffff +00fd 00c0 0345 lr $AR0, @0x0345 +00ff 02bf 0089 call 0x0089 +0101 029f 0049 jmp 0x0049 +} + +{ +0103 0092 00ff lri $CR, #0x00ff +0105 2fd1 srs @SampleFormat, $AC1.M +0106 0340 0003 andi $AC1.M, #0x0003 +0108 1f7f mrr $AX1.H, $AC1.M +0109 1f5e mrr $AX0.H, $AC0.M +010a 1f1c mrr $AX0.L, $AC0.L +010b 0200 0010 addi $AC0.M, #0x0010 +010d 2ed4 srs @ACSAH, $AC0.M +010e 2cd5 srs @ACSAL, $AC0.L +010f 8900 clr $ACC1 +0110 1fa0 mrr $AC1.L, $AR0 +0111 4c00 add $ACC0, $ACC1 +0112 0200 0030 addi $AC0.M, #0x0030 +0114 2ed6 srs @ACEAH, $AC0.M +0115 2cd7 srs @ACEAL, $AC0.L +0116 1fda mrr $AC0.M, $AX0.H +0117 1f98 mrr $AC0.L, $AX0.L +0118 1ffb mrr $AC1.M, $AX1.H +0119 7900 decm $AC1.M +011a 02ca lsrn +011b 2ed8 srs @ACCAH, $AC0.M +011c 2cd9 srs @ACCAL, $AC0.L +011d 02df ret +} + +//DSPLLE errors here!!! readw/writes from 0x3??? +{ +011e 1c23 mrr $AR1, $AR3 +011f 197e lrri $AC0.M, @$AR3 +0120 191b lrri $AX1.H, @$AR0 +0121 d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 +0122 1128 0128 bloopi #0x28, 0x0128 +0124 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 +0125 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M +0126 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 +0127 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M +0128 4900 addax $ACC1, $AX0 +0129 02df ret +} + +{ +012a 8f00 set40 +012b 1c03 mrr $AR0, $AR3 +012c 00db 038e lr $AX1.H, @0x038e +012e 009a 0004 lri $AX0.H, #0x0004 +0130 1978 lrri $AX0.L, @$AR3 +0131 a843 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR3 +0132 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 +0133 1128 0138 bloopi #0x28, 0x0138 +0135 38c3 asrnrx'l $ACC0, $AX0.H : $AX0.L, @$AR3 +0136 ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M +0137 38c3 asrnrx'l $ACC0, $AX0.H : $AX0.L, @$AR3 +0138 ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M +0139 8e00 set16 +013a 02df ret +} + +{ +013b 00f9 0361 sr @0x0361, $AX1.L +013d 1fc0 mrr $AC0.M, $AR0 +013e 0200 fffc addi $AC0.M, #0xfffc +0140 1c1e mrr $AR0, $AC0.M +0141 1c5e mrr $AR2, $AC0.M +0142 0083 0424 lri $AR3, #0x0424 +0144 197e lrri $AC0.M, @$AR3 +0145 197f lrri $AC1.M, @$AR3 +0146 80a2 nx'sl : $AC0.M, $AX0.H +0147 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H +0148 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M +0149 1b1f srri @$AR0, $AC1.M +014a 1c02 mrr $AR0, $AR2 +014b 8100 clr $ACC0 +014c 00de 0402 lr $AC0.M, @0x0402 +014e 00fe 0362 sr @0x0362, $AC0.M +0150 1474 lsr $ACC0, #-12 +0151 1f7e mrr $AX1.H, $AC0.M +0152 1f3c mrr $AX1.L, $AC0.L +0153 8900 clr $ACC1 +0154 00dd 0418 lr $AC1.L, @0x0418 +0156 1504 lsl $ACC1, #4 +0157 0604 cmpis $AC0.M, #0x04 +0158 0290 01b0 jge 0x01b0 +015a 1fdd mrr $AC0.M, $AC1.L +015b 0082 0c00 lri $AR2, #0x0c00 +015d 1050 loopi #0x50 +015e 4b2a addax's $ACC1, $AX1 : @$AR2, $AC1.L +015f 1fbe mrr $AC1.L, $AC0.M +0160 00fe 0360 sr @0x0360, $AC0.M +0162 8900 clr $ACC1 +0163 1fbe mrr $AC1.L, $AC0.M +0164 009a fff8 lri $AX0.H, #0xfff8 +0166 009b 00fc lri $AX1.H, #0x00fc +0168 00d8 0361 lr $AX0.L, @0x0361 +016a 0082 0c00 lri $AR2, #0x0c00 +016c 0083 0c00 lri $AR3, #0x0c00 +016e 195e lrri $AC0.M, @$AR2 +016f 3480 lsrnrx $ACC0, $AX0.H +0170 1128 0175 bloopi #0x28, 0x0175 +0172 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 +0173 35b3 lsrnrx's $ACC1, $AX0.H : @$AR3, $AC0.M +0174 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 +0175 34bb lsrnrx's $ACC0, $AX0.H : @$AR3, $AC1.M +0176 8a00 m2 +0177 0082 0c00 lri $AR2, #0x0c00 +0179 00dd 0418 lr $AC1.L, @0x0418 +017b 1504 lsl $ACC1, #4 +017c 1fe0 mrr $AC1.M, $AR0 +017d 8100 clr $ACC0 +017e 00de 0362 lr $AC0.M, @0x0362 +0180 1474 lsr $ACC0, #-12 +0181 1f7e mrr $AX1.H, $AC0.M +0182 1f3c mrr $AX1.L, $AC0.L +0183 8f00 set40 +0184 1943 lrri $AR3, @$AR2 +0185 4bc3 addax'ld $ACC1, $AX1 : $AX0.L, $AX1.L, @$AR3 +0186 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +0187 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +0188 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +0189 f200 madd $AX0.L, $AX0.H +018a fe00 movpz $ACC0 +018b 1c1f mrr $AR0, $AC1.M +018c 1943 lrri $AR3, @$AR2 +018d 4bc3 addax'ld $ACC1, $AX1 : $AX0.L, $AX1.L, @$AR3 +018e 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +018f 114e 0197 bloopi #0x4e, 0x0197 +0191 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +0192 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +0193 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M +0194 1c1f mrr $AR0, $AC1.M +0195 1943 lrri $AR3, @$AR2 +0196 4bc3 addax'ld $ACC1, $AX1 : $AX0.L, $AX1.L, @$AR3 +0197 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 +0198 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +0199 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 +019a f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M +019b fe00 movpz $ACC0 +019c 1b3e srri @$AR1, $AC0.M +019d 8b00 m0 +019e 8e00 set16 +019f 00fe 041b sr @0x041b, $AC0.M +01a1 1c1f mrr $AR0, $AC1.M +01a2 150c lsl $ACC1, #12 +01a3 0340 0fff andi $AC1.M, #0x0fff +01a5 00ff 0418 sr @0x0418, $AC1.M +01a7 0083 0424 lri $AR3, #0x0424 +01a9 191e lrri $AC0.M, @$AR0 +01aa 191f lrri $AC1.M, @$AR0 +01ab 80a0 nx'ls : $AX0.H, $AC0.M +01ac 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M +01ad 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M +01ae 1b7f srri @$AR3, $AC1.M +01af 02df ret +} + +{ +01b0 1fe0 mrr $AC1.M, $AR0 +01b1 1c1f mrr $AR0, $AC1.M +01b2 1128 01b9 bloopi #0x28, 0x01b9 +01b4 4b70 addax'l $ACC1, $AX1 : $AC0.M, @$AR0 +01b5 1b3e srri @$AR1, $AC0.M +01b6 1c1f mrr $AR0, $AC1.M +01b7 4b70 addax'l $ACC1, $AX1 : $AC0.M, @$AR0 +01b8 1b3e srri @$AR1, $AC0.M +01b9 1c1f mrr $AR0, $AC1.M +01ba 029f 019f jmp 0x019f +} + +{ +01bc 8a00 m2 +01bd 0088 0007 lri $WR0, #0x0007 +01bf 1150 01cc bloopi #0x50, 0x01cc +{ + 01c1 1c61 mrr $AR3, $AR1 + 01c2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 01c3 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01c4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01c5 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01c6 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01c7 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01c8 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01c9 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01ca f200 madd $AX0.L, $AX0.H + 01cb fe00 movpz $ACC0 + 01cc 1b3e srri @$AR1, $AC0.M +} +01cd 0088 ffff lri $WR0, #0xffff +01cf 8b00 m0 +01d0 02df ret +} + +{ +01d1 0088 0003 lri $WR0, #0x0003 +01d3 0085 0000 lri $IX1, #0x0000 +01d5 0087 0000 lri $IX3, #0x0000 +01d7 1fc2 mrr $AC0.M, $AR2 +01d8 195b lrri $AX1.H, @$AR2 +01d9 1959 lrri $AX1.L, @$AR2 +01da 195f lrri $AC1.M, @$AR2 +01db 195a lrri $AX0.H, @$AR2 +01dc 1c5e mrr $AR2, $AC0.M +01dd 1fda mrr $AC0.M, $AX0.H +01de 1c61 mrr $AR3, $AR1 +01df 8a00 m2 +01e0 8f00 set40 +01e1 191a lrri $AX0.H, @$AR0 +01e2 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 +01e3 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 +01e4 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 +01e5 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 +01e6 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 +01e7 1127 01f2 bloopi #0x27, 0x01f2 +{ + 01e9 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 01ea 197e lrri $AC0.M, @$AR3 + 01eb e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 01ec eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 01ed bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 01ee e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 01ef 197f lrri $AC1.M, @$AR3 + 01f0 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 01f1 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 01f2 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 +} +01f3 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M +01f4 197e lrri $AC0.M, @$AR3 +01f5 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 +01f6 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 +01f7 bf00 mulxmv $AX0.H, $AX1.H, $ACC1 +01f8 1bff srrn @$AR3, $AC1.M +01f9 197f lrri $AC1.M, @$AR3 +01fa 8e00 set16 +01fb 8b00 m0 +01fc 0088 ffff lri $WR0, #0xffff +01fe 1b5b srri @$AR2, $AX1.H +01ff 1b59 srri @$AR2, $AX1.L +0200 1b5f srri @$AR2, $AC1.M +0201 1b5e srri @$AR2, $AC0.M +0202 02df ret +} + +{ +0203 0080 0346 lri $AR0, #0x0346 +0205 02bf 0051 call 0x0051 +0207 02bf 0051 call 0x0051 +0209 0081 0346 lri $AR1, #0x0346 +020b 009f 0580 lri $AC1.M, #0x0580 +020d 0080 0080 lri $AR0, #0x0080 +020f 02bf 007c call 0x007c +0211 0081 0348 lri $AR1, #0x0348 +0213 009f 0c00 lri $AC1.M, #0x0c00 +0215 0080 0080 lri $AR0, #0x0080 +0217 02bf 007c call 0x007c +0219 0080 0c00 lri $AR0, #0x0c00 +021b 0081 0580 lri $AR1, #0x0580 +021d 02bf 01d1 call 0x01d1 +021f 0081 0346 lri $AR1, #0x0346 +0221 009f 0580 lri $AC1.M, #0x0580 +0223 0080 0080 lri $AR0, #0x0080 +0225 02bf 0089 call 0x0089 +0227 0081 0348 lri $AR1, #0x0348 +0229 009f 0c00 lri $AC1.M, #0x0c00 +022b 0080 0080 lri $AR0, #0x0080 +022d 02bf 0089 call 0x0089 +022f 029f 0049 jmp 0x0049 +} + +void 0231_FormatAudioSynths(format AC0.M) +{ +0231 8100 clr $ACC0 +0232 1f5e mrr $AX0.H, $AC0.M +0233 00d8 0402 lr $AX0.L, @0x0402 +0235 00dc 0418 lr $AC0.L, @0x0418 +0237 0080 0520 lri $AR0, #0x0520 +0239 00df 0440 lr $AC1.M, @0x0440 +023b 1501 lsl $ACC1, #1 +023c 0340 007e andi $AC1.M, #0x007e +023e 0300 0246 addi $AC1.M, #0x0246 +0240 1c5f mrr $AR2, $AC1.M +0241 175f callr $AR2 // call 0x0246 +0242 00fc 0418 sr @0x0418, $AC0.L +0244 029f 04e7 jmp 0x04e7 // dummy +0246 029f 0257 jmp 0x0257 // 0x0 - Synth0 +0248 029f 028f jmp 0x028f // 0x1 - Synth1 +024a 029f 0277 jmp 0x0277 // 0x2 - Synth2 +024c 029f 0267 jmp 0x0267 // 0x3 - Synth3 +024e 029f 0292 jmp 0x0292 // 0x4 - Synth4 +0250 029f 0256 jmp 0x0256 // 0x5 - dummy +0252 029f 02b1 jmp 0x02b1 // 0x6 - Synth6 +0254 029f 02ae jmp 0x02ae // 0x7 - Synth7 +0256 02df ret +} + +void 0257_Synth0() +{ +0257 1401 lsl $ACC0, #1 +0258 009b c000 lri $AX1.H, #0xc000 +025a 0099 4000 lri $AX1.L, #0x4000 +025c 1150 0264 bloopi #0x50, 0x0264 +{ + 025e 02c0 0001 andcf $AC0.M, #0x0001 + 0260 027c iflnz + 0261 1b1b srri @$AR0, $AX1.H + 0262 027d iflz + 0263 1b19 srri @$AR0, $AX1.L + 0264 4800 addax $ACC0, $AX0 +} +0265 147f lsr $ACC0, #-1 +0266 02df ret +} + +void 0267_Synth3() +{ +0267 1401 lsl $ACC0, #1 +0268 009b c000 lri $AX1.H, #0xc000 +026a 0099 4000 lri $AX1.L, #0x4000 +026c 1150 0274 bloopi #0x50, 0x0274 +{ + 026e 02c0 0003 andcf $AC0.M, #0x0003 + 0270 027c iflnz + 0271 1b1b srri @$AR0, $AX1.H + 0272 027d iflz + 0273 1b19 srri @$AR0, $AX1.L + 0274 4800 addax $ACC0, $AX0 +} +0275 147f lsr $ACC0, #-1 +0276 02df ret +} + +void 0277_Synth2() +{ +0277 1401 lsl $ACC0, #1 +0278 0081 0ca0 lri $AR1, #0x0ca0 +027a 009b c000 lri $AX1.H, #0xc000 +027c 0099 4000 lri $AX1.L, #0x4000 +027e 8900 clr $ACC1 +027f 0082 0000 lri $AR2, #0x0000 +0281 1150 028c bloopi #0x50, 0x028c +{ + 0283 02c0 0001 andcf $AC0.M, #0x0001 + 0285 027c iflnz + 0286 1b1b srri @$AR0, $AX1.H + 0287 027d iflz + 0288 1b19 srri @$AR0, $AX1.L + 0289 183d lrr $AC1.L, @$AR1 + 028a 4900 addax $ACC1, $AX0 + 028b 1fe2 mrr $AC1.M, $AR2 + 028c 4c39 add's $ACC0, $ACC1 : @$AR1, $AC1.M +} +028d 147f lsr $ACC0, #-1 +028e 02df ret +} + +void 028f_Synth1() +{ +028f 1050 loopi #0x50 + 0290 4820 addax's $ACC0, $AX0 : @$AR0, $AC0.L +0291 02df ret +} + +void 0292_Synth4() +{ +0292 0082 0140 lri $AR2, #0x0140 +0294 008a 003f lri $WR2, #0x003f +0296 0086 0000 lri $IX2, #0x0000 +0298 1406 lsl $ACC0, #6 +0299 8900 clr $ACC1 +029a 1fb8 mrr $AC1.L, $AX0.L +029b 1506 lsl $ACC1, #6 +029c 009b 003f lri $AX1.H, #0x003f +029e 009a 0000 lri $AX0.H, #0x0000 +02a0 3600 andr $AC0.M, $AX1.H +02a1 1cde mrr $IX2, $AC0.M +02a2 001a addarn $AR2, $IX2 +02a3 3400 andr $AC0.M, $AX0.H +02a4 1150 02aa bloopi #0x50, 0x02aa +{ + 02a6 4c00 add $ACC0, $ACC1 + 02a7 364a andr'l $AC0.M, $AX1.H : $AX1.L, @$AR2 + 02a8 1cde mrr $IX2, $AC0.M + 02a9 340e andr'nr $AC0.M, $AX0.H : $AR2 + 02aa 1b19 srri @$AR0, $AX1.L +} +02ab 1fc2 mrr $AC0.M, $AR2 +02ac 147a lsr $ACC0, #-6 +02ad 02df ret +} + +void 02b1_Synth7() +{ +02ae 1050 loopi #0x50 + 02af 1b18 srri @$AR0, $AX0.L +02b0 02df ret +} + +void 02b1_Synth6() +{ +02b1 0083 0000 lri $AR3, #0x0000 +02b3 140f lsl $ACC0, #15 +02b4 4853 addax'l $ACC0, $AX0 : $AX0.H, @$AR3 +02b5 1114 02ba bloopi #0x14, 0x02ba +{ + 02b7 48a2 addax'sl $ACC0, $AX0 : $AC0.M, $AX0.H + 02b8 48a2 addax'sl $ACC0, $AX0 : $AC0.M, $AX0.H + 02b9 48a2 addax'sl $ACC0, $AX0 : $AC0.M, $AX0.H + 02ba 48a2 addax'sl $ACC0, $AX0 : $AC0.M, $AX0.H +} +02bb 146f lsr $ACC0, #-17 +02bc 02df ret +} + +{ +02bd 0080 0380 lri $AR0, #0x0380 +02bf 02bf 0051 call 0x0051 +02c1 02bf 0051 call 0x0051 +02c3 02bf 0051 call 0x0051 +02c5 02bf 0051 call 0x0051 +02c7 0081 0382 lri $AR1, #0x0382 +02c9 009f 0000 lri $AC1.M, #0x0000 +02cb 0080 0200 lri $AR0, #0x0200 +02cd 02bf 007c call 0x007c +02cf 0081 0384 lri $AR1, #0x0384 +02d1 009f 0300 lri $AC1.M, #0x0300 +02d3 0080 0020 lri $AR0, #0x0020 +02d5 02bf 007c call 0x007c +02d7 02bf 0351 call 0x0351 +02d9 00de 0345 lr $AC0.M, @0x0345 +02db 00fe 0342 sr @0x0342, $AC0.M +02dd 029f 0049 jmp 0x0049 +} + +{ +02df 00de 0344 lr $AC0.M, @0x0344 +02e1 1404 lsl $ACC0, #4 +02e2 0200 03a8 addi $AC0.M, #0x03a8 +02e4 1c1e mrr $AR0, $AC0.M +02e5 02bf 0051 call 0x0051 +02e7 02bf 0051 call 0x0051 +02e9 02bf 0051 call 0x0051 +02eb 00de 0345 lr $AC0.M, @0x0345 +02ed 1b1e srri @$AR0, $AC0.M +02ee 00de 0344 lr $AC0.M, @0x0344 +02f0 0200 03a4 addi $AC0.M, #0x03a4 +02f2 1c1e mrr $AR0, $AC0.M +02f3 8100 clr $ACC0 +02f4 1b1e srri @$AR0, $AC0.M +02f5 02df ret +} + +{ +02f6 00de 0344 lr $AC0.M, @0x0344 +02f8 1404 lsl $ACC0, #4 +02f9 0200 03b0 addi $AC0.M, #0x03b0 +02fb 1c1e mrr $AR0, $AC0.M +02fc 02bf 0051 call 0x0051 +02fe 02bf 0051 call 0x0051 +0300 02bf 0051 call 0x0051 +0302 02bf 0051 call 0x0051 +0304 02df ret +} + +{ +0305 0081 034c lri $AR1, #0x034c +0307 009f 0400 lri $AC1.M, #0x0400 +0309 0080 0080 lri $AR0, #0x0080 +030b 02bf 007c call 0x007c +030d 02df ret +} + +{ +030e 0081 034c lri $AR1, #0x034c +0310 009f 0a00 lri $AC1.M, #0x0a00 +0312 0080 0004 lri $AR0, #0x0004 +0314 02bf 00a5 call 00a5_WaitForDMAend() +0316 02bf 007c call 0x007c +0318 0081 034c lri $AR1, #0x034c +031a 009f 0400 lri $AC1.M, #0x0400 +031c 0080 0080 lri $AR0, #0x0080 +031e 02bf 0095 call 0x0095 +0320 02df ret +} + +{ +0321 0081 034c lri $AR1, #0x034c +0323 009f 0400 lri $AC1.M, #0x0400 +0325 0080 0040 lri $AR0, #0x0040 +0327 0081 034c lri $AR1, #0x034c +0329 193e lrri $AC0.M, @$AR1 +032a 193c lrri $AC0.L, @$AR1 +032b 0098 0000 lri $AX0.L, #0x0000 +032d 7000 addaxl $ACC0, $AX0.L +032e 02bf 008b call 0x008b +0330 02df ret +} + +{ +0331 191e lrri $AC0.M, @$AR0 +0332 191a lrri $AX0.H, @$AR0 +0333 005f loop $AC1.M +0334 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M +0335 1b7e srri @$AR3, $AC0.M +0336 1b7a srri @$AR3, $AX0.H +0337 02df ret +} + +{ +0338 191e lrri $AC0.M, @$AR0 +0339 191a lrri $AX0.H, @$AR0 +033a 007f 033f bloop $AC1.M, 0x033f +{ + 033c 32b2 not's $AC0.M : @$AR2, $AC0.M + 033d 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 033e 33ba not's $AC1.M : @$AR2, $AC1.M + 033f 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M +} +0340 0000 nop +0341 02df ret +} + +{ +0342 8a00 m2 +0343 157f lsr $ACC1, #-1 +0344 1c20 mrr $AR1, $AR0 +0345 1c03 mrr $AR0, $AR3 +0346 193a lrri $AX0.H, @$AR1 +0347 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 +0348 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 +0349 007f 034e bloop $AC1.M, 0x034e +{ + 034b 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 034c 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 034d 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 034e 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H +} +034f 8b00 m0 +0350 02df ret +} + +{ +0351 0083 ffa0 lri $AR3, #0xffa0 +0353 0080 0300 lri $AR0, #0x0300 +0355 009f 000e lri $AC1.M, #0x000e +0357 1108 035c bloopi #0x08, 0x035c +{ + 0359 191e lrri $AC0.M, @$AR0 + 035a 1b7e srri @$AR3, $AC0.M + 035b 191e lrri $AC0.M, @$AR0 + 035c 1b7e srri @$AR3, $AC0.M +} +035d 02df ret +} + +{ +035e 0080 0f40 lri $AR0, #0x0f40 +0360 0082 0d00 lri $AR2, #0x0d00 +0362 0083 0d60 lri $AR3, #0x0d60 +0364 009f 0028 lri $AC1.M, #0x0028 +0366 02bf 0338 call 0x0338 +0368 8900 clr $ACC1 +0369 009e 0050 lri $AC0.M, #0x0050 +036b 0080 0ca0 lri $AR0, #0x0ca0 +036d 005e loop $AC0.M + 036e 1b1f srri @$AR0, $AC1.M +036f 0080 0f40 lri $AR0, #0x0f40 +0371 005e loop $AC0.M + 0372 1b1f srri @$AR0, $AC1.M +0373 0080 0fa0 lri $AR0, #0x0fa0 +0375 005e loop $AC0.M + 0376 1b1f srri @$AR0, $AC1.M +0377 02df ret +} + +{ +0378 0080 0dc0 lri $AR0, #0x0dc0 +037a 009e 0180 lri $AC0.M, #0x0180 +037c 8900 clr $ACC1 +037d 005e loop $AC0.M + 037e 1b1f srri @$AR0, $AC1.M +037f 02df ret +} + +{ +0380 00c0 03a0 lr $AR0, @0x03a0 +0382 191a lrri $AX0.H, @$AR0 +0383 00df 03a1 lr $AC1.M, @0x03a1 +0385 009b 00a0 lri $AX1.H, #0x00a0 +0387 0081 0393 lri $AR1, #0x0393 +0389 18bc lrrd $AC0.L, @$AR1 +038a b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 +038b bc00 mulxac $AX0.H, $AX1.H, $ACC0 +038c 0080 0050 lri $AR0, #0x0050 +038e 0508 addis $AC1.M, #0x08 +038f 02bf 007e call 0x007e +0391 00de 0390 lr $AC0.M, @0x0390 +0393 02a0 0001 andf $AC0.M, #0x0001 +0395 029d 039f jlz 0x039f +0397 0080 0398 lri $AR0, #0x0398 +0399 009e 0008 lri $AC0.M, #0x0008 +039b 00c1 03a1 lr $AR1, @0x03a1 +039d 02bf 01bc call 0x01bc +039f 009f 0050 lri $AC1.M, #0x0050 +03a1 00c0 03a1 lr $AR0, @0x03a1 +03a3 8100 clr $ACC0 +03a4 00de 0394 lr $AC0.M, @0x0394 +03a6 b100 tst $ACC0 +03a7 0295 03ae jz 0x03ae +03a9 1c7e mrr $AR3, $AC0.M +03aa 00d8 0395 lr $AX0.L, @0x0395 +03ac 02bf 0342 call 0x0342 +03ae 009f 0050 lri $AC1.M, #0x0050 +03b0 00c0 03a1 lr $AR0, @0x03a1 +03b2 8100 clr $ACC0 +03b3 00de 0396 lr $AC0.M, @0x0396 +03b5 b100 tst $ACC0 +03b6 0295 03bd jz 0x03bd +03b8 1c7e mrr $AR3, $AC0.M +03b9 00d8 0397 lr $AX0.L, @0x0397 +03bb 02bf 0342 call 0x0342 +03bd 00de 0390 lr $AC0.M, @0x0390 +03bf 02a0 0002 andf $AC0.M, #0x0002 +03c1 02dd retlz +03c2 0080 0398 lri $AR0, #0x0398 +03c4 009e 0008 lri $AC0.M, #0x0008 +03c6 00c1 03a1 lr $AR1, @0x03a1 +03c8 02bf 01bc call 0x01bc +03ca 02df ret +} + +{ +03cb 009f 0dc0 lri $AC1.M, #0x0dc0 +03cd 00ff 03a1 sr @0x03a1, $AC1.M +03cf 009f 03a8 lri $AC1.M, #0x03a8 +03d1 00ff 03a2 sr @0x03a2, $AC1.M +03d3 009f 03a4 lri $AC1.M, #0x03a4 +03d5 00ff 03a0 sr @0x03a0, $AC1.M +03d7 1104 0400 bloopi #0x04, 0x0400 +{ + 03d9 00c0 03a2 lr $AR0, @0x03a2 + 03db 0083 0390 lri $AR3, #0x0390 + 03dd 009f 000e lri $AC1.M, #0x000e + 03df 02bf 0331 call 0x0331 + 03e1 00da 0390 lr $AX0.H, @0x0390 + 03e3 8600 tstaxh $AX0.H + 03e4 0295 03f1 jz 0x03f1 + 03e6 00df 03a1 lr $AC1.M, @0x03a1 + 03e8 1c7f mrr $AR3, $AC1.M + 03e9 0550 addis $AC1.M, #0x50 + 03ea 1c1f mrr $AR0, $AC1.M + 03eb 009f 0006 lri $AC1.M, #0x0006 + 03ed 02bf 0331 call 0x0331 + 03ef 02bf 0380 call 0x0380 + 03f1 00de 03a2 lr $AC0.M, @0x03a2 + 03f3 0410 addis $AC0.M, #0x10 + 03f4 00fe 03a2 sr @0x03a2, $AC0.M + 03f6 00de 03a1 lr $AC0.M, @0x03a1 + 03f8 0460 addis $AC0.M, #0x60 + 03f9 00fe 03a1 sr @0x03a1, $AC0.M + 03fb 00de 03a0 lr $AC0.M, @0x03a0 + 03fd 7400 incm $AC0.M + 03fe 00fe 03a0 sr @0x03a0, $AC0.M + 0400 0000 nop +} +0401 02df ret +} + +{ +0402 00c0 03a0 lr $AR0, @0x03a0 +0404 181a lrr $AX0.H, @$AR0 +0405 8100 clr $ACC0 +0406 181e lrr $AC0.M, @$AR0 +0407 00db 0391 lr $AX1.H, @0x0391 +0409 7400 incm $AC0.M +040a d100 cmpar $ACC1, $AX0.H +040b 0270 ifge +040c 8100 clr $ACC0 +040d 1b1e srri @$AR0, $AC0.M +040e 00df 03a1 lr $AC1.M, @0x03a1 +0410 009b 00a0 lri $AX1.H, #0x00a0 +0412 0081 0393 lri $AR1, #0x0393 +0414 18bc lrrd $AC0.L, @$AR1 +0415 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 +0416 bc00 mulxac $AX0.H, $AX1.H, $ACC0 +0417 0080 0050 lri $AR0, #0x0050 +0419 02bf 008b call 0x008b +041b 02df ret +} + +{ +041c 009f 0dc0 lri $AC1.M, #0x0dc0 +041e 00ff 03a1 sr @0x03a1, $AC1.M +0420 009f 03a8 lri $AC1.M, #0x03a8 +0422 00ff 03a2 sr @0x03a2, $AC1.M +0424 009f 03a4 lri $AC1.M, #0x03a4 +0426 00ff 03a0 sr @0x03a0, $AC1.M +0428 1104 0448 bloopi #0x04, 0x0448 +{ + 042a 00c0 03a2 lr $AR0, @0x03a2 + 042c 0083 0390 lri $AR3, #0x0390 + 042e 009f 000e lri $AC1.M, #0x000e + 0430 02bf 0331 call 0x0331 + 0432 00da 0390 lr $AX0.H, @0x0390 + 0434 8600 tstaxh $AX0.H + 0435 0295 0439 jz 0x0439 + 0437 02bf 0402 call 0x0402 + 0439 00de 03a2 lr $AC0.M, @0x03a2 + 043b 0410 addis $AC0.M, #0x10 + 043c 00fe 03a2 sr @0x03a2, $AC0.M + 043e 00de 03a1 lr $AC0.M, @0x03a1 + 0440 0460 addis $AC0.M, #0x60 + 0441 00fe 03a1 sr @0x03a1, $AC0.M + 0443 00de 03a0 lr $AC0.M, @0x03a0 + 0445 7400 incm $AC0.M + 0446 00fe 03a0 sr @0x03a0, $AC0.M + 0448 0000 nop +} +0449 02df ret +} + +{ +044a 0081 0386 lri $AR1, #0x0386 +044c 009f 03a8 lri $AC1.M, #0x03a8 +044e 0080 0040 lri $AR0, #0x0040 +0450 02bf 007c call 0x007c +0452 02df ret +} + +{ +0453 191e lrri $AC0.M, @$AR0 +0454 189c lrrd $AC0.L, @$AR0 +0455 4800 addax $ACC0, $AX0 +0456 1b1e srri @$AR0, $AC0.M +0457 1b1c srri @$AR0, $AC0.L +0458 02df ret +0459 8100 clr $ACC0 +045a 26fe lrs $AC0.M, @CMBH +045b 02c0 8000 andcf $AC0.M, #0x8000 +045d 029c 045a jlnz 0x045a +045f 26ff lrs $AC0.M, @CMBL +0460 02df ret +} + +{ +0461 0080 0388 lri $AR0, #0x0388 +0463 0081 0051 lri $AR1, #0x0051 +0465 173f callr $AR1 // call 0x0051 +0466 00de 0344 lr $AC0.M, @0x0344 +0468 00fe 0341 sr @0x0341, $AC0.M +046a 00de 0345 lr $AC0.M, @0x0345 +046c 00fe 038e sr @0x038e, $AC0.M +046e 173f callr $AR1 // call 0x0051 +046f 02df ret +} + +{ +0470 02bf 0461 call 0x0461 +0472 009e 8000 lri $AC0.M, #0x8000 +0474 00dc 0341 lr $AC0.L, @0x0341 +0476 02bf 005a call 005a_SendMail(AC0.M,AC0.L) // 0x8000???? +0478 8100 clr $ACC0 +0479 00fe 0355 sr @0x0355, $AC0.M +047b 02bf 044a call 0x044a +047d 00de 0341 lr $AC0.M, @0x0341 +047f 007e 056c bloop $AC0.M, 0x056c +{ + 0481 02bf 035e call 0x035e + 0483 02bf 03cb call 0x03cb + 0485 02bf 0459 call 0x0459 + 0487 8100 clr $ACC0 + 0488 00fe 0354 sr @0x0354, $AC0.M + 048a 00de 0342 lr $AC0.M, @0x0342 + 048c 007e 0538 bloop $AC0.M, 0x0538 + { + 048e 00d8 0354 lr $AX0.L, @0x0354 + 0490 009a 0100 lri $AX0.H, #0x0100 + 0492 8100 clr $ACC0 + 0493 00de 0380 lr $AC0.M, @0x0380 + 0495 00dc 0381 lr $AC0.L, @0x0381 + 0497 9000 mul $AX0.L, $AX0.H + 0498 9400 mulac $AX0.L, $AX0.H, $ACC0 + 0499 00fe 034c sr @0x034c, $AC0.M + 049b 00fc 034d sr @0x034d, $AC0.L + 049d 02bf 0305 call 0x0305 + 049f 00da 0400 lr $AX0.H, @0x0400 + 04a1 8600 tstaxh $AX0.H + 04a2 0295 0533 jz 0x0533 + 04a4 00da 0401 lr $AX0.H, @0x0401 + 04a6 8600 tstaxh $AX0.H + 04a7 0294 0533 jnz 0x0533 + 04a9 00da 0406 lr $AX0.H, @0x0406 + 04ab 8600 tstaxh $AX0.H + 04ac 0294 0930 jnz 0x0930 + 04ae 8100 clr $ACC0 + 04af 00de 0440 lr $AC0.M, @0x0440 + 04b1 0607 cmpis $AC0.M, #0x07 // format 0x7 or less (Synths) + 04b2 0293 0231 jle 0x0231 + 04b4 0620 cmpis $AC0.M, #0x20 // format 0x20 + 04b5 0295 079e jz 0x079e + 04b7 0621 cmpis $AC0.M, #0x21 // format 0x21 + 04b8 0295 07a7 jz 0x07a7 + 04ba 00d8 0402 lr $AX0.L, @0x0402 + 04bc 8100 clr $ACC0 + 04bd 8900 clr $ACC1 + 04be 00dc 0418 lr $AC0.L, @0x0418 + 04c0 8d00 set15 + 04c1 0099 0050 lri $AX1.L, #0x0050 + 04c3 a000 mulx $AX0.L, $AX1.L + 04c4 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 04c5 1404 lsl $ACC0, #4 + 04c6 8c00 clr15 + 04c7 1ffe mrr $AC1.M, $AC0.M + 04c8 0083 0580 lri $AR3, #0x0580 + 04ca 00da 0441 lr $AX0.H, @0x0441 + 04cc 8600 tstaxh $AX0.H + 04cd 0295 04dd jz 0x04dd + 04cf 00da 0449 lr $AX0.H, @0x0449 + 04d1 8100 clr $ACC0 + 04d2 00de 044b lr $AC0.M, @0x044b + 04d4 3800 orr $AC0.M, $AX0.H + 04d5 0240 000f andi $AC0.M, #0x000f + 04d7 0295 04dd jz 0x04dd + 04d9 02bf 06a6 call 0x06a6 + 04db 029f 04df jmp 0x04df + 04dd 02bf 0837 call 0x0837 + //RAW21-jmp + 04df 0080 0580 lri $AR0, #0x0580 + 04e1 0081 0520 lri $AR1, #0x0520 + 04e3 0099 0000 lri $AX1.L, #0x0000 + 04e5 02bf 013b call 0x013b + //RAW20-jmp + 04e7 0080 0450 lri $AR0, #0x0450 + 04e9 0081 0520 lri $AR1, #0x0520 + 04eb 0082 0428 lri $AR2, #0x0428 + 04ed 0083 0453 lri $AR3, #0x0453 + 04ef 18fa lrrd $AX0.H, @$AR3 + 04f0 8600 tstaxh $AX0.H + 04f1 0294 0501 jnz 0x0501 + 04f3 18fa lrrd $AX0.H, @$AR3 + 04f4 8600 tstaxh $AX0.H + 04f5 0294 0501 jnz 0x0501 + 04f7 18fa lrrd $AX0.H, @$AR3 + 04f8 8600 tstaxh $AX0.H + 04f9 0294 0501 jnz 0x0501 + 04fb 8100 clr $ACC0 + 04fc 18fe lrrd $AC0.M, @$AR3 + 04fd 0280 7fff cmpi $AC0.M, #0x7fff + 04ff 0295 0505 jz 0x0505 + 0501 02bf 01d1 call 0x01d1 + 0503 029f 0505 jmp 0x0505 + 0505 8100 clr $ACC0 + 0506 1c9e mrr $IX0, $AC0.M + 0507 1cde mrr $IX2, $AC0.M + 0508 7400 incm $AC0.M + 0509 1cfe mrr $IX3, $AC0.M + 050a 8f00 set40 + 050b 0086 0002 lri $IX2, #0x0002 + 050d 0082 0408 lri $AR2, #0x0408 + 050f 1104 052f bloopi #0x04, 0x052f + { + 0511 8100 clr $ACC0 + 0512 195e lrri $AC0.M, @$AR2 + 0513 1200 sbclr #0x00 + 0514 b100 tst $ACC0 + 0515 0275 ifz + 0516 1300 sbset #0x00 + 0517 1c7e mrr $AR3, $AC0.M + 0518 195e lrri $AC0.M, @$AR2 + 0519 14fa asr $ACC0, #-6 + 051a 1f5e mrr $AX0.H, $AC0.M + 051b 1f1c mrr $AX0.L, $AC0.L + 051c 185f lrr $AC1.M, @$AR2 + 051d 0080 0520 lri $AR0, #0x0520 + 051f 029d 0523 jlz 0x0523 + 0521 02bf 011e call 0x011e + 0523 1b5f srri @$AR2, $AC1.M + 0524 8100 clr $ACC0 + 0525 185e lrr $AC0.M, @$AR2 + 0526 000e xar $AR2 + //; *** UNKNOWN OPCODE *** + // 0xc/0xd/0xe/0xf is one opcode where last 2 bits define target $AR? reg + // (new value is based on orig $AR? and %WR? reg value = unknown) + 0527 b100 tst $ACC0 + 0528 0274 ifnz + 0529 7800 decm $AC0.M + 052a b100 tst $ACC0 + 052b 8900 clr $ACC1 + 052c 0275 ifz + 052d 1a5f srr @$AR2, $AC1.M + 052e 001a addarn $AR2, $IX2 + 052f 1b5e srri @$AR2, $AC0.M + } + 0530 8e00 set16 + 0531 02bf 0321 call 0x0321 + 0533 00de 0354 lr $AC0.M, @0x0354 + 0535 7400 incm $AC0.M + 0536 00fe 0354 sr @0x0354, $AC0.M + 0538 0000 nop + } + 0539 16fb 0001 si @DIRQ, #0x0001 + 053b 0083 0d00 lri $AR3, #0x0d00 + 053d 02bf 012a call 0x012a + 053f 0081 0388 lri $AR1, #0x0388 + 0541 009f 0d00 lri $AC1.M, #0x0d00 + 0543 0080 0050 lri $AR0, #0x0050 + 0545 02bf 0089 call 0x0089 + 0547 0080 0fa0 lri $AR0, #0x0fa0 + 0549 0083 0d60 lri $AR3, #0x0d60 + 054b 009f 0050 lri $AC1.M, #0x0050 + 054d 0098 8000 lri $AX0.L, #0x8000 + 054f 02bf 0342 call 0x0342 + 0551 0083 0d60 lri $AR3, #0x0d60 + 0553 02bf 012a call 0x012a + 0555 0081 038a lri $AR1, #0x038a + 0557 009f 0d60 lri $AC1.M, #0x0d60 + 0559 0080 0050 lri $AR0, #0x0050 + 055b 02bf 0089 call 0x0089 + 055d 009a 0000 lri $AX0.H, #0x0000 + 055f 0098 00a0 lri $AX0.L, #0x00a0 + 0561 0080 0388 lri $AR0, #0x0388 + 0563 02bf 0453 call 0x0453 + 0565 0080 038a lri $AR0, #0x038a + 0567 02bf 0453 call 0x0453 + 0569 02bf 041c call 0x041c + 056b 0000 nop + 056c 0000 nop +} +056d 029f 0031 jmp 0x0031 +} + +{ +056f 0080 0346 lri $AR0, #0x0346 +0571 02bf 0051 call 0x0051 +0573 02bf 0051 call 0x0051 +0575 0081 0346 lri $AR1, #0x0346 +0577 193e lrri $AC0.M, @$AR1 +0578 193c lrri $AC0.L, @$AR1 +0579 009f 0400 lri $AC1.M, #0x0400 +057b 00c0 0345 lr $AR0, @0x0345 +057d 02bf 007e call 0x007e +057f 0081 0348 lri $AR1, #0x0348 +0581 193e lrri $AC0.M, @$AR1 +0582 193c lrri $AC0.L, @$AR1 +0583 009f 0800 lri $AC1.M, #0x0800 +0585 00c0 0345 lr $AR0, @0x0345 +0587 02bf 007e call 0x007e +0589 0081 0346 lri $AR1, #0x0346 +058b 193e lrri $AC0.M, @$AR1 +058c 193c lrri $AC0.L, @$AR1 +058d 009f 0800 lri $AC1.M, #0x0800 +058f 00c0 0345 lr $AR0, @0x0345 +0591 02bf 008b call 0x008b +0593 0081 0348 lri $AR1, #0x0348 +0595 193e lrri $AC0.M, @$AR1 +0596 193c lrri $AC0.L, @$AR1 +0597 009f 0400 lri $AC1.M, #0x0400 +0599 00c0 0345 lr $AR0, @0x0345 +059b 02bf 008b call 0x008b +059d 029f 0049 jmp 0x0049 +} + +{ +059f 0080 0346 lri $AR0, #0x0346 +05a1 02bf 0051 call 0x0051 +05a3 02bf 0051 call 0x0051 +05a5 0081 0346 lri $AR1, #0x0346 +05a7 193e lrri $AC0.M, @$AR1 +05a8 193c lrri $AC0.L, @$AR1 +05a9 009f 0400 lri $AC1.M, #0x0400 +05ab 00c0 0345 lr $AR0, @0x0345 +05ad 02bf 007e call 0x007e +05af 0081 0348 lri $AR1, #0x0348 +05b1 193e lrri $AC0.M, @$AR1 +05b2 193c lrri $AC0.L, @$AR1 +05b3 009f 0400 lri $AC1.M, #0x0400 +05b5 00c0 0345 lr $AR0, @0x0345 +05b7 02bf 008b call 0x008b +05b9 029f 0049 jmp 0x0049 +} + +{ +05bb 0080 0346 lri $AR0, #0x0346 +05bd 02bf 0051 call 0x0051 +05bf 02bf 0051 call 0x0051 +05c1 0081 0346 lri $AR1, #0x0346 +05c3 193e lrri $AC0.M, @$AR1 +05c4 193c lrri $AC0.L, @$AR1 +05c5 009f 0400 lri $AC1.M, #0x0400 +05c7 00c0 0345 lr $AR0, @0x0345 +05c9 02bf 00ae call 0x00ae +05cb 0081 0348 lri $AR1, #0x0348 +05cd 193e lrri $AC0.M, @$AR1 +05ce 193c lrri $AC0.L, @$AR1 +05cf 009f 0400 lri $AC1.M, #0x0400 +05d1 00c0 0345 lr $AR0, @0x0345 +05d3 02bf 008b call 0x008b +05d5 029f 0049 jmp 0x0049 +} + +{ +05d7 0080 0346 lri $AR0, #0x0346 +05d9 02bf 0051 call 0x0051 +05db 02bf 0051 call 0x0051 +05dd 0081 0346 lri $AR1, #0x0346 +05df 193e lrri $AC0.M, @$AR1 +05e0 193c lrri $AC0.L, @$AR1 +05e1 009f 0400 lri $AC1.M, #0x0400 +05e3 00c0 0344 lr $AR0, @0x0344 +05e5 02bf 007e call 0x007e +05e7 0081 0348 lri $AR1, #0x0348 +05e9 193e lrri $AC0.M, @$AR1 +05ea 193c lrri $AC0.L, @$AR1 +05eb 009f 0800 lri $AC1.M, #0x0800 +05ed 00c0 0344 lr $AR0, @0x0344 +05ef 02bf 007e call 0x007e +05f1 0080 0400 lri $AR0, #0x0400 +05f3 0083 0800 lri $AR3, #0x0800 +05f5 0084 0000 lri $IX0, #0x0000 +05f7 00da 0345 lr $AX0.H, @0x0345 +05f9 00df 0344 lr $AC1.M, @0x0344 +05fb 8f00 set40 +05fc 197b lrri $AX1.H, @$AR3 +05fd b800 mulx $AX0.H, $AX1.H +05fe 197b lrri $AX1.H, @$AR3 +05ff 007f 0604 bloop $AC1.M, 0x0604 +0601 199e lrrn $AC0.M, @$AR0 +0602 bc00 mulxac $AX0.H, $AX1.H, $ACC0 +0603 80b2 nx'sl : $AC0.M, $AX1.H +0604 0000 nop +0605 8e00 set16 +0606 0081 0346 lri $AR1, #0x0346 +0608 193e lrri $AC0.M, @$AR1 +0609 193c lrri $AC0.L, @$AR1 +060a 009f 0400 lri $AC1.M, #0x0400 +060c 00c0 0344 lr $AR0, @0x0344 +060e 02bf 008b call 0x008b +0610 009e 8200 lri $AC0.M, #0x8200 +0612 00dc 0344 lr $AC0.L, @0x0344 +0614 02bf 005a call 005a_SendMail(AC0.M,AC0.L) // 0x8200???? +0616 029f 0031 jmp 0x0031 +} + +{ +0618 0080 0346 lri $AR0, #0x0346 +061a 02bf 0051 call 0x0051 +061c 0081 0346 lri $AR1, #0x0346 +061e 009f 0400 lri $AC1.M, #0x0400 +0620 00c0 0345 lr $AR0, @0x0345 +0622 02bf 007c call 0x007c +0624 02bf 8644 call 0x8644 // iROM!!!! +0626 029f 0049 jmp 0x0049 +} + +{ +0628 009e 0430 lri $AC0.M, #0x0430 +062a 2219 lrs $AX0.H, @0x0019 +062b 4400 addr $ACC0, $AX0.H +062c 1c1e mrr $AR0, $AC0.M +062d 1fda mrr $AC0.M, $AX0.H +062e 3280 not $AC0.M +062f 7400 incm $AC0.M +0630 221a lrs $AX0.H, @0x001a +0631 4400 addr $ACC0, $AX0.H +0632 0090 0000 lri $AC0.H, #0x0000 +0634 029f 0645 jmp 0x0645 +} + +{ +0636 009e 0430 lri $AC0.M, #0x0430 +0638 2219 lrs $AX0.H, @0x0019 +0639 4400 addr $ACC0, $AX0.H +063a 1c1e mrr $AR0, $AC0.M +063b 1fda mrr $AC0.M, $AX0.H +063c 3280 not $AC0.M +063d 7400 incm $AC0.M +063e 221a lrs $AX0.H, @0x001a +063f 4400 addr $ACC0, $AX0.H +0640 0090 0000 lri $AC0.H, #0x0000 +0642 8200 cmp +0643 0270 ifge +0644 1fdf mrr $AC0.M, $AC1.M +0645 1f3e mrr $AX1.L, $AC0.M +0646 02bf 0699 call 0x0699 +0648 261c lrs $AC0.M, @0x001c +0649 241d lrs $AC0.L, @0x001d +064a 7200 addaxl $ACC0, $AX1.L +064b 5300 subr $ACC1, $AX1.L +064c 2e1c srs @0x001c, $AC0.M +064d 2c1d srs @0x001d, $AC0.L +064e 02df ret +} + +{ +064f 8100 clr $ACC0 +0650 221c lrs $AX0.H, @0x001c +0651 201d lrs $AX0.L, @0x001d +0652 4800 addax $ACC0, $AX0 +0653 147c lsr $ACC0, #-4 +0654 2e1e srs @0x001e, $AC0.M +0655 2c1f srs @0x001f, $AC0.L +0656 2340 lrs $AX1.H, @0x0040 +0657 c814 mulc'mv $AC0.M, $AX1.H : $AX1.L, $AC0.L +0658 9e00 mulmv $AX1.L, $AX1.H, $ACC0 +0659 f000 lsl16 $ACC0 +065a 4e00 addp $ACC0 +065b 234c lrs $AX1.H, @0x004c +065c 214d lrs $AX1.L, @0x004d +065d 4a00 addax $ACC0, $AX1 +065e 2e20 srs @0x0020, $AC0.M +065f 2c21 srs @0x0021, $AC0.L +0660 1fd8 mrr $AC0.M, $AX0.L +0661 0240 000f andi $AC0.M, #0x000f +0663 2e19 srs @0x0019, $AC0.M +0664 264a lrs $AC0.M, @0x004a +0665 244b lrs $AC0.L, @0x004b +0666 5800 subax $ACC0, $AX0 +0667 2e22 srs @0x0022, $AC0.M +0668 2c23 srs @0x0023, $AC0.L +0669 02df ret +} + +{ +066a 221e lrs $AX0.H, @0x001e +066b 201f lrs $AX0.L, @0x001f +066c 8100 clr $ACC0 +066d 264a lrs $AC0.M, @0x004a +066e 244b lrs $AC0.L, @0x004b +066f 147c lsr $ACC0, #-4 +0670 5800 subax $ACC0, $AX0 +0671 0295 067a jz 0x067a +0673 02bf 06ec call 0x06ec +0675 0e10 lris $AC0.M, #0x10 +0676 2e1a srs @0x001a, $AC0.M +0677 8100 clr $ACC0 +0678 2e19 srs @0x0019, $AC0.M +0679 02df ret +} + +{ +067a 224a lrs $AX0.H, @0x004a +067b 204b lrs $AX0.L, @0x004b +067c 8100 clr $ACC0 +067d 261c lrs $AC0.M, @0x001c +067e 241d lrs $AC0.L, @0x001d +067f 5800 subax $ACC0, $AX0 +0680 0290 0687 jge 0x0687 +0682 02bf 06ec call 0x06ec +0684 2623 lrs $AC0.M, @0x0023 +0685 029f 0676 jmp 0x0676 +} + +{ +0687 2648 lrs $AC0.M, @0x0048 +0688 2449 lrs $AC0.L, @0x0049 +0689 2e1c srs @0x001c, $AC0.M +068a 2c1d srs @0x001d, $AC0.L +068b 0e10 lris $AC0.M, #0x10 +068c 2e1a srs @0x001a, $AC0.M +068d 02bf 064f call 0x064f +068f 2642 lrs $AC0.M, @0x0042 +0690 2e3f srs @0x003f, $AC0.M +0691 2643 lrs $AC0.M, @0x0043 +0692 2e3e srs @0x003e, $AC0.M +0693 8100 clr $ACC0 +0694 00fe 0362 sr @0x0362, $AC0.M +0696 02bf 06ec call 0x06ec +0698 02df ret +} + +{ +0699 b100 tst $ACC0 +069a 02d5 retz +069b 04fe addis $AC0.M, #0xfe +069c 1f1e mrr $AX0.L, $AC0.M +069d 191e lrri $AC0.M, @$AR0 +069e 0291 06a4 jl 0x06a4 +06a0 191a lrri $AX0.H, @$AR0 +06a1 0058 loop $AX0.L +06a2 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M +06a3 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M +06a4 1b7e srri @$AR3, $AC0.M +06a5 02df ret +} + +{ +06a6 0092 0004 lri $CR, #0x0004 +06a8 02bf 064f call 0x064f +06aa 8100 clr $ACC0 +06ab 00fe 0362 sr @0x0362, $AC0.M +06ad 8100 clr $ACC0 +06ae 2622 lrs $AC0.M, @0x0022 +06af 2423 lrs $AC0.L, @0x0023 +06b0 b100 tst $ACC0 +06b1 0294 06c3 jnz 0x06c3 +06b3 02bf 066a call 0x066a +06b5 2219 lrs $AX0.H, @0x0019 +06b6 8600 tstaxh $AX0.H +06b7 0294 06c0 jnz 0x06c0 +06b9 02bf 0636 call 0x0636 +06bb b900 tst $ACC1 +06bc 0295 06e9 jz 0x06e9 +06be 02bf 064f call 0x064f +06c0 8100 clr $ACC0 +06c1 2622 lrs $AC0.M, @0x0022 +06c2 2423 lrs $AC0.L, @0x0023 +06c3 1f1f mrr $AX0.L, $AC1.M +06c4 009a 0000 lri $AX0.H, #0x0000 +06c6 5800 subax $ACC0, $AX0 +06c7 0290 06d6 jge 0x06d6 +06c9 8100 clr $ACC0 +06ca 2619 lrs $AC0.M, @0x0019 +06cb b100 tst $ACC0 +06cc 0294 06d0 jnz 0x06d0 +06ce 02bf 066a call 0x066a +06d0 02bf 0628 call 0x0628 +06d2 02bf 064f call 0x064f +06d4 029f 06ad jmp 0x06ad +} + +{ +06d6 8100 clr $ACC0 +06d7 2619 lrs $AC0.M, @0x0019 +06d8 b100 tst $ACC0 +06d9 0294 06dd jnz 0x06dd +06db 02bf 066a call 0x066a +06dd 02bf 0636 call 0x0636 +06df b900 tst $ACC1 +06e0 0295 06e9 jz 0x06e9 +06e2 02bf 064f call 0x064f +06e4 029f 06d6 jmp 0x06d6 +} + +{ +06e6 8100 clr $ACC0 +06e7 005f loop $AC1.M +06e8 1b7e srri @$AR3, $AC0.M +06e9 0092 00ff lri $CR, #0x00ff +06eb 02df ret +} + +{ +06ec 00ff 0360 sr @0x0360, $AC1.M +06ee 00da 0362 lr $AX0.H, @0x0362 +06f0 8600 tstaxh $AX0.H +06f1 0294 06fe jnz 0x06fe +06f3 0a01 lris $AX0.H, #0x01 +06f4 00fa 0362 sr @0x0362, $AX0.H +06f6 2620 lrs $AC0.M, @0x0020 +06f7 2421 lrs $AC0.L, @0x0021 +06f8 009f 0005 lri $AC1.M, #0x0005 +06fa 02bf 0103 call 0x0103 +06fc 0092 0004 lri $CR, #0x0004 +06fe 0080 ffd3 lri $AR0, #0xffd3 +0700 0084 0000 lri $IX0, #0x0000 +0702 199e lrrn $AC0.M, @$AR0 +0703 1ffe mrr $AC1.M, $AC0.M +0704 1401 lsl $ACC0, #1 +0705 0240 001e andi $AC0.M, #0x001e +0707 0200 0300 addi $AC0.M, #0x0300 +0709 1c3e mrr $AR1, $AC0.M +070a 157c lsr $ACC1, #-4 +070b 0340 000f andi $AC1.M, #0x000f +070d 0a11 lris $AX0.H, #0x11 +070e 5500 subr $ACC1, $AX0.H +070f 009a 00f0 lri $AX0.H, #0x00f0 +0711 009b 000f lri $AX1.H, #0x000f +0713 0082 0370 lri $AR2, #0x0370 +0715 1998 lrrn $AX0.L, @$AR0 +0716 6000 movr $ACC0, $AX0.L +0717 1107 071e bloopi #0x07, 0x071e +{ + 0719 3400 andr $AC0.M, $AX0.H + 071a 1408 lsl $ACC0, #8 + 071b 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 071c 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 071d 140c lsl $ACC0, #12 + 071e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M +} +071f 3400 andr $AC0.M, $AX0.H +0720 1408 lsl $ACC0, #8 +0721 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M +0722 3600 andr $AC0.M, $AX1.H +0723 140c lsl $ACC0, #12 +0724 1b5e srri @$AR2, $AC0.M +0725 8f00 set40 +0726 1f7f mrr $AX1.H, $AC1.M +0727 203e lrs $AX0.L, @0x003e +0728 273f lrs $AC1.M, @0x003f +0729 193a lrri $AX0.H, @$AR1 +072a 1939 lrri $AX1.L, @$AR1 +072b 0080 0370 lri $AR0, #0x0370 +072d 0081 0430 lri $AR1, #0x0430 +072f 1c80 mrr $IX0, $AR0 +0730 a000 mulx $AX0.L, $AX1.L +0731 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 +0732 1108 073b bloopi #0x08, 0x073b +0734 3a93 asrnrx'mv $ACC0, $AX1.H : $AX0.L, $AC1.M +0735 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 +0736 1485 asl $ACC0, #5 +0737 e831 maddc's $AC0.M, $AX1.L : @$AR1, $AC0.M +0738 3b92 asrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC0.M +0739 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 +073a 1585 asl $ACC1, #5 +073b ea39 maddc's $AC1.M, $AX1.L : @$AR1, $AC1.M +073c 8e00 set16 +073d 8900 clr $ACC1 +073e 00df 0360 lr $AC1.M, @0x0360 +0740 02df ret +} + +{ +0741 0080 0346 lri $AR0, #0x0346 +0743 02bf 0051 call 0x0051 +0745 8100 clr $ACC0 +0746 0080 0430 lri $AR0, #0x0430 +0748 1010 loopi #0x10 + 0749 1b1e srri @$AR0, $AC0.M +074a 00fe 0442 sr @0x0442, $AC0.M +074c 00fe 0443 sr @0x0443, $AC0.M +074e 009c 0000 lri $AC0.L, #0x0000 +0750 00fe 041c sr @0x041c, $AC0.M +0752 00fc 041d sr @0x041d, $AC0.L +0754 009e 0100 lri $AC0.M, #0x0100 +0756 009c f100 lri $AC0.L, #0xf100 +0758 00fe 044e sr @0x044e, $AC0.M +075a 00fc 044f sr @0x044f, $AC0.L +075c 009e 0040 lri $AC0.M, #0x0040 +075e 009c 0000 lri $AC0.L, #0x0000 +0760 00fe 044c sr @0x044c, $AC0.M +0762 00fc 044d sr @0x044d, $AC0.L +0764 009e 0009 lri $AC0.M, #0x0009 +0766 00fe 0440 sr @0x0440, $AC0.M +0768 009e 0010 lri $AC0.M, #0x0010 +076a 00fe 041a sr @0x041a, $AC0.M +076c 009e 0100 lri $AC0.M, #0x0100 +076e 009c f250 lri $AC0.L, #0xf250 +0770 00fe 044a sr @0x044a, $AC0.M +0772 00fc 044b sr @0x044b, $AC0.L +0774 009c 0000 lri $AC0.L, #0x0000 +0776 00fe 0448 sr @0x0448, $AC0.M +0778 00fc 0449 sr @0x0449, $AC0.L +077a 009e 0001 lri $AC0.M, #0x0001 +077c 00fe 0441 sr @0x0441, $AC0.M +077e 8900 clr $ACC1 +077f 00ff 0401 sr @0x0401, $AC1.M +0781 1180 079b bloopi #0x80, 0x079b +{ + 0783 0083 0580 lri $AR3, #0x0580 + 0785 009f 0100 lri $AC1.M, #0x0100 + 0787 02bf 06a6 call 0x06a6 + 0789 0081 0346 lri $AR1, #0x0346 + 078b 193e lrri $AC0.M, @$AR1 + 078c 18bc lrrd $AC0.L, @$AR1 + 078d 009f 0580 lri $AC1.M, #0x0580 + 078f 0080 0100 lri $AR0, #0x0100 + 0791 02bf 008b call 0x008b + 0793 0081 0346 lri $AR1, #0x0346 + 0795 193e lrri $AC0.M, @$AR1 + 0796 18bc lrrd $AC0.L, @$AR1 + 0797 0098 0200 lri $AX0.L, #0x0200 + 0799 7000 addaxl $ACC0, $AX0.L + 079a 1b3e srri @$AR1, $AC0.M + 079b 1abc srrd @$AR1, $AC0.L +} +079c 029f 0049 jmp 0x0049 +} + +void 079e_AudioFormatRAW20() +{ +079e 8900 clr $ACC1 +079f 009f 0050 lri $AC1.M, #0x0050 +07a1 0083 0520 lri $AR3, #0x0520 +07a3 02bf 07b9 call 0x07b9 +07a5 029f 04e7 jmp 0x04e7 +} + +void 07a7_AudioFormatRAW21() +{ +07a7 00d8 0402 lr $AX0.L, @0x0402 +07a9 8100 clr $ACC0 +07aa 8900 clr $ACC1 +07ab 00dc 0418 lr $AC0.L, @0x0418 +07ad 009a 0050 lri $AX0.H, #0x0050 +07af 9000 mul $AX0.L, $AX0.H +07b0 9400 mulac $AX0.L, $AX0.H, $ACC0 +07b1 1404 lsl $ACC0, #4 +07b2 1ffe mrr $AC1.M, $AC0.M +07b3 0083 0580 lri $AR3, #0x0580 +07b5 02bf 07b9 call 0x07b9 +07b7 029f 04df jmp 0x04df +} + +{ +07b9 0092 0004 lri $CR, #0x0004 +07bb 8100 clr $ACC0 +07bc 2622 lrs $AC0.M, @0x0022 +07bd 2423 lrs $AC0.L, @0x0023 +07be 1f1f mrr $AX0.L, $AC1.M +07bf 009a 0000 lri $AX0.H, #0x0000 +07c1 5800 subax $ACC0, $AX0 +07c2 0290 07d9 jge 0x07d9 +07c4 8900 clr $ACC1 +07c5 00c0 0423 lr $AR0, @0x0423 +07c7 02bf 07fe call 0x07fe +07c9 8100 clr $ACC0 +07ca 1fd8 mrr $AC0.M, $AX0.L +07cb 2223 lrs $AX0.H, @0x0023 +07cc 5400 subr $ACC0, $AX0.H +07cd 0007 dar $AR3 +07ce 1979 lrri $AX1.L, @$AR3 +07cf 005e loop $AC0.M +07d0 1b79 srri @$AR3, $AX1.L +07d1 009f 0001 lri $AC1.M, #0x0001 +07d3 2f01 srs @0x0001, $AC1.M +07d4 8900 clr $ACC1 +07d5 2f23 srs @0x0023, $AC1.M +07d6 0092 00ff lri $CR, #0x00ff +07d8 02df ret +} + +{ +07d9 2e22 srs @0x0022, $AC0.M +07da 2c23 srs @0x0023, $AC0.L +07db 8100 clr $ACC0 +07dc 8900 clr $ACC1 +07dd 264a lrs $AC0.M, @0x004a +07de 271c lrs $AC1.M, @0x001c +07df 5c00 sub $ACC0, $ACC1 +07e0 2e1e srs @0x001e, $AC0.M +07e1 5000 subr $ACC0, $AX0.L +07e2 0290 07f8 jge 0x07f8 +07e4 00c0 041e lr $AR0, @0x041e +07e6 02bf 07fe call 0x07fe +07e8 8100 clr $ACC0 +07e9 1fd8 mrr $AC0.M, $AX0.L +07ea 221e lrs $AX0.H, @0x001e +07eb 5400 subr $ACC0, $AX0.H +07ec 1c1e mrr $AR0, $AC0.M +07ed 8100 clr $ACC0 +07ee 2e1c srs @0x001c, $AC0.M +07ef 2648 lrs $AC0.M, @0x0048 +07f0 2449 lrs $AC0.L, @0x0049 +07f1 2e4c srs @0x004c, $AC0.M +07f2 2c4d srs @0x004d, $AC0.L +07f3 02bf 07fe call 0x07fe +07f5 0092 00ff lri $CR, #0x00ff +07f7 02df ret +} + +{ +07f8 1c18 mrr $AR0, $AX0.L +07f9 02bf 07fe call 0x07fe +07fb 0092 00ff lri $CR, #0x00ff +07fd 02df ret +} + +{ +07fe 8100 clr $ACC0 +07ff 1fc0 mrr $AC0.M, $AR0 +0800 b100 tst $ACC0 +0801 02d5 retz +0802 8900 clr $ACC1 +0803 271c lrs $AC1.M, @0x001c +0804 0340 0001 andi $AC1.M, #0x0001 +0806 009b 0000 lri $AX1.H, #0x0000 +0808 1f3f mrr $AX1.L, $AC1.M +0809 264c lrs $AC0.M, @0x004c +080a 244d lrs $AC0.L, @0x004d +080b 8900 clr $ACC1 +080c 251c lrs $AC1.L, @0x001c +080d 1501 lsl $ACC1, #1 +080e 4c00 add $ACC0, $ACC1 +080f 5a00 subax $ACC0, $AX1 +0810 5a00 subax $ACC0, $AX1 +0811 1c20 mrr $AR1, $AR0 +0812 1fe0 mrr $AC1.M, $AR0 +0813 0502 addis $AC1.M, #0x02 +0814 1c1f mrr $AR0, $AC1.M +0815 009f 0a00 lri $AC1.M, #0x0a00 +0817 0092 00ff lri $CR, #0x00ff +0819 02bf 007e call 0x007e +081b 0092 0004 lri $CR, #0x0004 +081d 271c lrs $AC1.M, @0x001c +081e 1f61 mrr $AX1.H, $AR1 +081f 4700 addr $ACC1, $AX1.H +0820 2f1c srs @0x001c, $AC1.M +0821 0080 0a00 lri $AR0, #0x0a00 +0823 8900 clr $ACC1 +0824 1ff9 mrr $AC1.M, $AX1.L +0825 b900 tst $ACC1 +0826 0274 ifnz +0827 0008 iar $AR0 +0828 8900 clr $ACC1 +0829 1fe1 mrr $AC1.M, $AR1 +082a 191e lrri $AC0.M, @$AR0 +082b 0701 cmpis $AC1.M, #0x01 +082c 0293 0835 jle 0x0835 +082e 191a lrri $AX0.H, @$AR0 +082f 05fe addis $AC1.M, #0xfe +0830 005f loop $AC1.M +0831 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M +0832 1b7e srri @$AR3, $AC0.M +0833 1b7a srri @$AR3, $AX0.H +0834 02df ret +} + +{ +0835 1b7e srri @$AR3, $AC0.M +0836 02df ret +} + +{ +0837 0092 0004 lri $CR, #0x0004 +0839 2201 lrs $AX0.H, @0x0001 +083a 8600 tstaxh $AX0.H +083b 0294 0868 jnz 0x0868 +083d 2204 lrs $AX0.H, @0x0004 +083e 8600 tstaxh $AX0.H +083f 02b4 08bc callnz 0x08bc +0841 2219 lrs $AX0.H, @0x0019 +0842 8600 tstaxh $AX0.H +0843 0295 085d jz 0x085d +0845 009e 0430 lri $AC0.M, #0x0430 +0847 4400 addr $ACC0, $AX0.H +0848 1c1e mrr $AR0, $AC0.M +0849 0e10 lris $AC0.M, #0x10 +084a 5400 subr $ACC0, $AX0.H +084b 1f7e mrr $AX1.H, $AC0.M +084c 02bf 0699 call 0x0699 +084e d900 cmpar $ACC1, $AX1.H +084f 0292 085c jg 0x085c +0851 0295 0858 jz 0x0858 +0853 2619 lrs $AC0.M, @0x0019 +0854 4c00 add $ACC0, $ACC1 +0855 2e19 srs @0x0019, $AC0.M +0856 029f 08b9 jmp 0x08b9 + +0858 8100 clr $ACC0 +0859 2e19 srs @0x0019, $AC0.M +085a 029f 08b9 jmp 0x08b9 + +085c 5700 subr $ACC1, $AX1.H +085d 8100 clr $ACC0 +085e 2605 lrs $AC0.M, @0x0005 +085f b100 tst $ACC0 +0860 0295 0879 jz 0x0879 +0862 8100 clr $ACC0 +0863 2e05 srs @0x0005, $AC0.M +0864 2241 lrs $AX0.H, @0x0041 +0865 8600 tstaxh $AX0.H +0866 0294 086f jnz 0x086f +0868 8100 clr $ACC0 +0869 005f loop $AC1.M +086a 1b7e srri @$AR3, $AC0.M +086b 7400 incm $AC0.M +086c 2e01 srs @0x0001, $AC0.M +086d 029f 08b9 jmp 0x08b9 + +086f 2648 lrs $AC0.M, @0x0048 +0870 2449 lrs $AC0.L, @0x0049 +0871 2e1c srs @0x001c, $AC0.M +0872 2c1d srs @0x001d, $AC0.L +0873 02bf 08c1 call 0x08c1 +0875 2642 lrs $AC0.M, @0x0042 +0876 2443 lrs $AC0.L, @0x0043 +0877 2e3f srs @0x003f, $AC0.M +0878 2c3e srs @0x003e, $AC0.L +0879 00ff 0360 sr @0x0360, $AC1.M +087b 2620 lrs $AC0.M, @0x0020 +087c 2421 lrs $AC0.L, @0x0021 +087d 009f 0005 lri $AC1.M, #0x0005 +087f 02bf 0103 call 0x0103 +0881 0092 0004 lri $CR, #0x0004 +0883 8900 clr $ACC1 +0884 00ff 0362 sr @0x0362, $AC1.M +0886 00df 0360 lr $AC1.M, @0x0360 +0888 02bf 08db call 0x08db +088a 8100 clr $ACC0 +088b 00de 0362 lr $AC0.M, @0x0362 +088d 2240 lrs $AX0.H, @0x0040 +088e 4400 addr $ACC0, $AX0.H +088f 00fe 0362 sr @0x0362, $AC0.M +0891 8100 clr $ACC0 +0892 2622 lrs $AC0.M, @0x0022 +0893 2423 lrs $AC0.L, @0x0023 +0894 0a01 lris $AX0.H, #0x01 +0895 0081 0405 lri $AR1, #0x0405 +0897 7a00 dec $ACC0 +0898 b100 tst $ACC0 +0899 0275 ifz +089a 1a3a srr @$AR1, $AX0.H +089b 2e22 srs @0x0022, $AC0.M +089c 2c23 srs @0x0023, $AC0.L +089d 0710 cmpis $AC1.M, #0x10 +089e 0293 08a7 jle 0x08a7 +08a0 05f0 addis $AC1.M, #0xf0 +08a1 2205 lrs $AX0.H, @0x0005 +08a2 8600 tstaxh $AX0.H +08a3 0294 0862 jnz 0x0862 +08a5 029f 0888 jmp 0x0888 +08a7 0275 ifz +08a8 8900 clr $ACC1 +08a9 2f19 srs @0x0019, $AC1.M +08aa 1fc3 mrr $AC0.M, $AR3 +08ab 04f0 addis $AC0.M, #0xf0 +08ac 1c1e mrr $AR0, $AC0.M +08ad 0083 0430 lri $AR3, #0x0430 +08af 0e10 lris $AC0.M, #0x10 +08b0 02bf 0699 call 0x0699 +08b2 2620 lrs $AC0.M, @0x0020 +08b3 2421 lrs $AC0.L, @0x0021 +08b4 00d8 0362 lr $AX0.L, @0x0362 +08b6 7000 addaxl $ACC0, $AX0.L +08b7 2c21 srs @0x0021, $AC0.L +08b8 2e20 srs @0x0020, $AC0.M +08b9 0092 00ff lri $CR, #0x00ff +08bb 02df ret +} + +{ +08bc 8100 clr $ACC0 +08bd 2e1c srs @0x001c, $AC0.M +08be 2e1d srs @0x001d, $AC0.M +08bf 2e3e srs @0x003e, $AC0.M +08c0 2e3f srs @0x003f, $AC0.M +08c1 231c lrs $AX1.H, @0x001c +08c2 211d lrs $AX1.L, @0x001d +08c3 264a lrs $AC0.M, @0x004a +08c4 244b lrs $AC0.L, @0x004b +08c5 5a00 subax $ACC0, $AX1 +08c6 147c lsr $ACC0, #-4 +08c7 2e22 srs @0x0022, $AC0.M +08c8 2c23 srs @0x0023, $AC0.L +08c9 261c lrs $AC0.M, @0x001c +08ca 241d lrs $AC0.L, @0x001d +08cb 147c lsr $ACC0, #-4 +08cc 2240 lrs $AX0.H, @0x0040 +08cd c010 mulc'mv $AC0.M, $AX0.H : $AX0.L, $AC0.L +08ce 9600 mulmv $AX0.L, $AX0.H, $ACC0 +08cf f000 lsl16 $ACC0 +08d0 4e00 addp $ACC0 +08d1 234c lrs $AX1.H, @0x004c +08d2 214d lrs $AX1.L, @0x004d +08d3 4a00 addax $ACC0, $AX1 +08d4 2e20 srs @0x0020, $AC0.M +08d5 2c21 srs @0x0021, $AC0.L +08d6 8100 clr $ACC0 +08d7 2e05 srs @0x0005, $AC0.M +08d8 2e19 srs @0x0019, $AC0.M +08d9 2e04 srs @0x0004, $AC0.M +08da 02df ret +} + +{ +08db 00ff 0360 sr @0x0360, $AC1.M +08dd 0080 ffd3 lri $AR0, #0xffd3 +08df 0084 0000 lri $IX0, #0x0000 +08e1 199e lrrn $AC0.M, @$AR0 +08e2 1ffe mrr $AC1.M, $AC0.M +08e3 1401 lsl $ACC0, #1 +08e4 0240 001e andi $AC0.M, #0x001e +08e6 0200 0300 addi $AC0.M, #0x0300 +08e8 1c3e mrr $AR1, $AC0.M +08e9 157c lsr $ACC1, #-4 +08ea 0340 000f andi $AC1.M, #0x000f +08ec 0a11 lris $AX0.H, #0x11 +08ed 5500 subr $ACC1, $AX0.H +08ee 009a 00f0 lri $AX0.H, #0x00f0 +08f0 009b 000f lri $AX1.H, #0x000f +08f2 0082 0370 lri $AR2, #0x0370 +08f4 1998 lrrn $AX0.L, @$AR0 +08f5 6000 movr $ACC0, $AX0.L +08f6 1107 08fd bloopi #0x07, 0x08fd +{ + 08f8 3400 andr $AC0.M, $AX0.H + 08f9 1408 lsl $ACC0, #8 + 08fa 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 08fb 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 08fc 140c lsl $ACC0, #12 + 08fd 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M +} +08fe 3400 andr $AC0.M, $AX0.H +08ff 1408 lsl $ACC0, #8 +0900 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M +0901 3600 andr $AC0.M, $AX1.H +0902 140c lsl $ACC0, #12 +0903 1b5e srri @$AR2, $AC0.M +0904 8f00 set40 +0905 1f7f mrr $AX1.H, $AC1.M +0906 203e lrs $AX0.L, @0x003e +0907 273f lrs $AC1.M, @0x003f +0908 193a lrri $AX0.H, @$AR1 +0909 1939 lrri $AX1.L, @$AR1 +090a 0080 0370 lri $AR0, #0x0370 +090c 1c80 mrr $IX0, $AR0 +090d a000 mulx $AX0.L, $AX1.L +090e ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 +090f 3a93 asrnrx'mv $ACC0, $AX1.H : $AX0.L, $AC1.M +0910 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 +0911 1485 asl $ACC0, #5 +0912 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M +0913 3b92 asrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC0.M +0914 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 +0915 1585 asl $ACC1, #5 +0916 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M +0917 1106 0920 bloopi #0x06, 0x0920 +{ + 0919 3a93 asrnrx'mv $ACC0, $AX1.H : $AX0.L, $AC1.M + 091a a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 091b 1485 asl $ACC0, #5 + 091c e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 091d 3b92 asrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC0.M + 091e a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 091f 1585 asl $ACC1, #5 + 0920 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M +} +0921 3a93 asrnrx'mv $ACC0, $AX1.H : $AX0.L, $AC1.M +0922 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 +0923 1485 asl $ACC0, #5 +0924 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M +0925 3b92 asrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC0.M +0926 a500 mulxac $AX0.L, $AX1.L, $ACC1 +0927 1585 asl $ACC1, #5 +0928 1b7f srri @$AR3, $AC1.M +0929 2e3e srs @0x003e, $AC0.M +092a 2f3f srs @0x003f, $AC1.M +092b 8e00 set16 +092c 8900 clr $ACC1 +092d 00df 0360 lr $AC1.M, @0x0360 +092f 02df ret +} + +{ +0930 0083 0520 lri $AR3, #0x0520 +0932 00de 041b lr $AC0.M, @0x041b +0934 1050 loopi #0x50 + 0935 1b7e srri @$AR3, $AC0.M +0936 029f 04e7 jmp 0x04e7 +} + +0938 0000 nop +0939 0000 nop +093a 0000 nop +093b 0000 nop +093c 0000 nop +093d 0000 nop +093e 0000 nop +093f 0000 nop diff --git a/docs/DSP/DSP_UC_Luigi.txt b/docs/DSP/DSP_UC_Luigi.txt new file mode 100644 index 0000000000..5aa599f797 --- /dev/null +++ b/docs/DSP/DSP_UC_Luigi.txt @@ -0,0 +1,2507 @@ +// This ucode is interesting because it is very similar to the Zelda ucode, +// but does not make use of exceptions. Hence, it might be possible to get +// it running okay even without understanding how the exceptions work. + +// CRC: 379F1139 +// ector-CRC: 42f64ac4 + +// Notable differences: +// +// Luigi init (not using mail exception): +// sbset #0x02 +// sbset #0x03 +// sbclr #0x04 +// sbset #0x05 +// sbset #0x06 +// set16 +// clr15 +// m0 + +// Zelda init (using mail exception): +// sbclr #0x02 ! +// sbclr #0x03 ! +// sbclr #0x04 +// sbset #0x05 (late, just when it's time to receive messages) +// sbset #0x06 +// set16 +// clr15 +// m0 + +// AX1 init (not using mail exception, same as Luigi init): +// sbset #0x02 +// sbset #0x03 +// sbclr #0x04 +// sbset #0x05 +// sbset #0x06 +// set16 +// clr15 +// m0 + + + +// exception vectors +0000 029f 0010 jmp 0x0010 +0002 0000 nop +0003 0000 nop +0004 02ff rti +0005 0000 nop +0006 02ff rti +0007 0000 nop +0008 02ff rti +0009 0000 nop +000a 02ff rti +000b 0000 nop +000c 02ff rti +000d 0000 nop +000e 02ff rti // This is Zelda's message exception. +000f 0000 nop + +// Reset vector +void 0010_ResetVector() { + // Compare to 0057 in the Zelda ucode + 0010 1302 sbset #0x02 + 0011 1303 sbset #0x03 + 0012 1204 sbclr #0x04 + 0013 1305 sbset #0x05 + 0014 1306 sbset #0x06 + 0015 8e00 set16 + 0016 8c00 clr15 + 0017 8b00 m0 + 0018 009e ffff lri $AC0.M, #0xffff + 001a 1d1e mrr $WR0, $AC0.M + 001b 1d3e mrr $WR1, $AC0.M + 001c 1d5e mrr $WR2, $AC0.M + 001d 1d7e mrr $WR3, $AC0.M + 001e 0092 00ff lri $CR, #0x00ff + 0020 8100 clr $ACC0 + // Clear memory + 0021 009f 1000 lri $AC1.M, #0x1000 + 0023 0080 0000 lri $AR0, #0x0000 + 0025 005f loop $AC1.M + 0026 1b1e srri @$AR0, $AC0.M + 0027 26ff lrs $AC0.M, @CMBL + 0028 16fc 8888 si @DMBH, #0x8888 + 002a 16fd 1111 si @DMBL, #0x1111 + 002c 26fc lrs $AC0.M, @DMBH + 002d 02a0 8000 andf $AC0.M, #0x8000 + 002f 029c 002c jlnz 0x002c + + while (true) { + 0031 8100 clr $ACC0 + 0032 8900 clr $ACC1 + 0033 26fe lrs $AC0.M, @CMBH + 0034 02c0 8000 andcf $AC0.M, #0x8000 + 0036 029c 0031 jlnz 0x0031 + 0038 27ff lrs $AC1.M, @CMBL + 0039 00ff 0345 sr @0x0345, $AC1.M + 003b 1ffe mrr $AC1.M, $AC0.M + 003c 0340 00ff andi $AC1.M, #0x00ff + 003e 00ff 0344 sr @0x0344, $AC1.M + 0040 1479 lsr $ACC0, #-7 + + // Jump table below + 0041 0240 007e andi $AC0.M, #0x007e + 0043 0200 0062 addi $AC0.M, #0x0062 + 0045 00fe 0343 sr @0x0343, $AC0.M + 0047 1c1e mrr $AR0, $AC0.M + 0048 170f jmpr $AR0 + 0049 009e 8000 lri $AC0.M, #0x8000 + 004b 00dc 0343 lr $AC0.L, @0x0343 + 004d 02bf 005a call 0x005a + 004f 029f 0031 jmp 0x0031 + } +} + +void 0051_Unk_Mail() { + 0051 26fe lrs $AC0.M, @CMBH + 0052 02c0 8000 andcf $AC0.M, #0x8000 + 0054 029c 0051 jlnz 0x0051 + 0056 24ff lrs $AC0.L, @CMBL + 0057 1b1e srri @$AR0, $AC0.M + 0058 1b1c srri @$AR0, $AC0.L + 0059 02df ret +} + +void 005a_Unk_Mail() { + 005a 2efc srs @DMBH, $AC0.M + 005b 2cfd srs @DMBL, $AC0.L + 005c 26fc lrs $AC0.M, @DMBH + 005d 02a0 8000 andf $AC0.M, #0x8000 + 005f 029c 005c jlnz 0x005c + 0061 02df ret +} + +// Just a jump table. +0062 029f 0049 jmp 0x0049 +0064 029f 0349 jmp 0x0349 // Command 01 +0066 029f 04eb jmp 0x04eb // Command 02 +0068 029f 0031 jmp 0x0031 +006a 029f 00df jmp 0x00df +006c 029f 00f1 jmp 0x00f1 +006e 029f 06e7 jmp 0x06e7 +0070 029f 069b jmp 0x069b +0072 029f 0703 jmp 0x0703 +0074 029f 06cb jmp 0x06cb +0076 029f 0870 jmp 0x0870 +0078 029f 0744 jmp 0x0744 +007a 029f 0238 jmp 0x0238 + + +void 007c_Unk() { + 007c 193e lrri $AC0.M, @$AR1 + 007d 193c lrri $AC0.L, @$AR1 + 007e 2fcd srs @DSPA, $AC1.M + 007f 0f00 lris $AC1.M, #0x00 + 0080 2fc9 srs @DSCR, $AC1.M + 0081 2ece srs @DSMAH, $AC0.M + 0082 2ccf srs @DSMAL, $AC0.L + 0083 1fe0 mrr $AC1.M, $AR0 + 0084 1501 lsl $ACC1, #1 + 0085 2fcb srs @DSBL, $AC1.M + 0086 02bf 008f call 0x008f + 0088 02df ret +} + + +void 0089_Unk() { + 0089 193e lrri $AC0.M, @$AR1 + 008a 193c lrri $AC0.L, @$AR1 + 008b 2fcd srs @DSPA, $AC1.M + 008c 0f01 lris $AC1.M, #0x01 + 008d 029f 0080 jmp 0x0080 + 008f 26c9 lrs $AC0.M, @DSCR + 0090 02a0 0004 andf $AC0.M, #0x0004 + 0092 029c 008f jlnz 0x008f + 0094 02df ret +} + +void 0095_Unk() { + 0095 193e lrri $AC0.M, @$AR1 + 0096 193c lrri $AC0.L, @$AR1 + 0097 00ff ffcd sr @DSPA, $AC1.M + 0099 0f00 lris $AC1.M, #0x00 + 009a 00ff ffc9 sr @DSCR, $AC1.M + 009c 00fe ffce sr @DSMAH, $AC0.M + 009e 00fc ffcf sr @DSMAL, $AC0.L + 00a0 1fe0 mrr $AC1.M, $AR0 + 00a1 1501 lsl $ACC1, #1 + 00a2 00ff ffcb sr @DSBL, $AC1.M + 00a4 02df ret +} + +void 00a5_Unk() { + 00a5 00de ffc9 lr $AC0.M, @DSCR + 00a7 02a0 0004 andf $AC0.M, #0x0004 + 00a9 029c 00a5 jlnz 0x00a5 + 00ab 02df ret +} + +void 00ac_ReadBlockFromAccelerator() { + 00ac 193e lrri $AC0.M, @$AR1 + 00ad 193c lrri $AC0.L, @$AR1 + 00ae 0240 7fff andi $AC0.M, #0x7fff + // 00b0 02bf 00ba call 0x00ba + 00ba_SetupAccelerator() + + 00b2 007a 00b8 bloop $AX0.H, 0x00b8 + 00b4 26d3 lrs $AC0.M, @UnkZelda + 00b5 1b3e srri @$AR1, $AC0.M + 00b6 0000 nop + 00b7 0000 nop + 00b8 0000 nop + 00b9 02df ret +} + +void 00ba_SetupAccelerator() { + 00ba 1c3f mrr $AR1, $AC1.M + 00bb 009f 0005 lri $AC1.M, #0x0005 + 00bd 2fd1 srs @SampleFormat, $AC1.M + 00be 1f5e mrr $AX0.H, $AC0.M + 00bf 1f1c mrr $AX0.L, $AC0.L + 00c0 2ed4 srs @ACSAH, $AC0.M + 00c1 2cd5 srs @ACSAL, $AC0.L + 00c2 8900 clr $ACC1 + 00c3 1fa0 mrr $AC1.L, $AR0 + 00c4 4c00 add $ACC0, $AC1.L + 00c5 0200 0030 addi $AC0.M, #0x0030 + 00c7 2ed6 srs @ACEAH, $AC0.M + 00c8 2cd7 srs @ACEAL, $AC0.L + 00c9 1fda mrr $AC0.M, $AX0.H + 00ca 1f98 mrr $AC0.L, $AX0.L + 00cb 147f lsr $ACC0, #-1 + 00cc 2ed8 srs @ACCAH, $AC0.M + 00cd 2cd9 srs @ACCAL, $AC0.L + 00ce 1f40 mrr $AX0.H, $AR0 + 00cf 02df ret +} + + +void 00d0_Unk() { + 00d0 193e lrri $AC0.M, @$AR1 + 00d1 193c lrri $AC0.L, @$AR1 + 00d2 0260 8000 ori $AC0.M, #0x8000 + // 00d4 02bf 00ba call 0x00ba + 00ba_SetupAccelerator() + 00d6 007a 00dd bloop $AX0.H, 0x00dd + 00d8 193e lrri $AC0.M, @$AR1 + 00d9 2ed3 srs @UnkZelda, $AC0.M + 00da 0000 nop + 00db 0000 nop + 00dc 0000 nop + 00dd 0000 nop + 00de 02df ret +} + +void 00df_Unk() { + 00df 0080 0346 lri $AR0, #0x0346 + 00e1 02bf 0051 call 0x0051 + 00e3 02bf 0051 call 0x0051 + 00e5 0081 0346 lri $AR1, #0x0346 + 00e7 00df 0349 lr $AC1.M, @0x0349 + 00e9 0340 ffff andi $AC1.M, #0xffff + 00eb 00c0 0345 lr $AR0, @0x0345 + 00ed 02bf 007c call 0x007c + 00ef 029f 0049 jmp 0x0049 + 00f1 0080 0346 lri $AR0, #0x0346 + 00f3 02bf 0051 call 0x0051 + 00f5 02bf 0051 call 0x0051 + 00f7 0081 0346 lri $AR1, #0x0346 + 00f9 00df 0349 lr $AC1.M, @0x0349 + 00fb 0340 ffff andi $AC1.M, #0xffff + 00fd 00c0 0345 lr $AR0, @0x0345 + 00ff 02bf 0089 call 0x0089 + 0101 029f 0049 jmp 0x0049 +} + +void 0103_SetupAcceleratorMystery() { + 0103 0092 00ff lri $CR, #0x00ff + 0105 2fd1 srs @SampleFormat, $AC1.M + 0106 0340 0003 andi $AC1.M, #0x0003 + 0108 1f7f mrr $AX1.H, $AC1.M + 0109 1f5e mrr $AX0.H, $AC0.M + 010a 1f1c mrr $AX0.L, $AC0.L + 010b 0200 0010 addi $AC0.M, #0x0010 + 010d 2ed4 srs @ACSAH, $AC0.M + 010e 2cd5 srs @ACSAL, $AC0.L + 010f 8900 clr $ACC1 + 0110 1fa0 mrr $AC1.L, $AR0 + 0111 4c00 add $ACC0, $AC1.L + 0112 0200 0030 addi $AC0.M, #0x0030 + 0114 2ed6 srs @ACEAH, $AC0.M + 0115 2cd7 srs @ACEAL, $AC0.L + 0116 1fda mrr $AC0.M, $AX0.H + 0117 1f98 mrr $AC0.L, $AX0.L + 0118 1ffb mrr $AC1.M, $AX1.H + 0119 7900 decm $AC1.M + 011a 02ca lsrn + 011b 2ed8 srs @ACCAH, $AC0.M + 011c 2cd9 srs @ACCAL, $AC0.L + 011d 02df ret +} + +void 011e_Unk() { + 011e 1c23 mrr $AR1, $AR3 + 011f 197e lrri $AC0.M, @$AR3 + 0120 191b lrri $AX1.H, @$AR0 + 0121 d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 + 0122 1120 0128 bloopi #0x20, 0x0128 + 0124 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0125 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0126 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0127 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0128 4900 addax $ACC1, $AX0.L + 0129 1108 012e bloopi #0x08, 0x012e + 012b dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 012c 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 012d dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 012e 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 012f 02df ret +} + + +void 0130_Unk() { + 0130 8f00 set40 + 0131 1c03 mrr $AR0, $AR3 + 0132 00db 038e lr $AX1.H, @0x038e + 0134 009a 0004 lri $AX0.H, #0x0004 + 0136 1978 lrri $AX0.L, @$AR3 + 0137 a843 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR3 + 0138 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0139 1128 013e bloopi #0x28, 0x013e + 013b 38c3 orr'ld $AC0.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 013c ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M + 013d 38c3 orr'ld $AC0.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 013e ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M + 013f 8e00 set16 + 0140 02df ret +} + +void 0141_Unk() { + 0141 00f9 0361 sr @0x0361, $AX1.L + 0143 1fc0 mrr $AC0.M, $AR0 + 0144 0200 fffc addi $AC0.M, #0xfffc + 0146 1c1e mrr $AR0, $AC0.M + 0147 1c5e mrr $AR2, $AC0.M + 0148 0083 043c lri $AR3, #0x043c + 014a 197e lrri $AC0.M, @$AR3 + 014b 197f lrri $AC1.M, @$AR3 + 014c 80a2 nx'sl : $AC0.M, $AX0.H + 014d 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H + 014e 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M + 014f 1b1f srri @$AR0, $AC1.M + 0150 1c02 mrr $AR0, $AR2 + 0151 8100 clr $ACC0 + 0152 00de 0402 lr $AC0.M, @0x0402 + 0154 00fe 0362 sr @0x0362, $AC0.M + 0156 1474 lsr $ACC0, #-12 + 0157 1f7e mrr $AX1.H, $AC0.M + 0158 1f3c mrr $AX1.L, $AC0.L + 0159 8900 clr $ACC1 + 015a 00dd 0430 lr $AC1.L, @0x0430 + 015c 1504 lsl $ACC1, #4 + 015d 0604 cmpis $ACC0, #0x04 + 015e 0290 01b6 jns 0x01b6 + 0160 1fdd mrr $AC0.M, $AC1.L + 0161 0082 0c00 lri $AR2, #0x0c00 + 0163 1050 loopi #0x50 + 0164 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L + 0165 1fbe mrr $AC1.L, $AC0.M + 0166 00fe 0360 sr @0x0360, $AC0.M + 0168 8900 clr $ACC1 + 0169 1fbe mrr $AC1.L, $AC0.M + 016a 009a fff8 lri $AX0.H, #0xfff8 + 016c 009b 00fc lri $AX1.H, #0x00fc + 016e 00d8 0361 lr $AX0.L, @0x0361 + 0170 0082 0c00 lri $AR2, #0x0c00 + 0172 0083 0c00 lri $AR3, #0x0c00 + 0174 195e lrri $AC0.M, @$AR2 + 0175 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M + 0176 1128 017b bloopi #0x28, 0x017b + 0178 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 + 0179 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H + 017a 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 + 017b 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H + 017c 8a00 m2 + 017d 0082 0c00 lri $AR2, #0x0c00 + 017f 00dd 0430 lr $AC1.L, @0x0430 + 0181 1504 lsl $ACC1, #4 + 0182 1fe0 mrr $AC1.M, $AR0 + 0183 8100 clr $ACC0 + 0184 00de 0362 lr $AC0.M, @0x0362 + 0186 1474 lsr $ACC0, #-12 + 0187 1f7e mrr $AX1.H, $AC0.M + 0188 1f3c mrr $AX1.L, $AC0.L + 0189 8f00 set40 + 018a 1943 lrri $AR3, @$AR2 + 018b 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 018c 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 018d f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 018e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 018f f200 madd $AX0.L, $AX0.H + 0190 fe00 movpz $ACC0 + 0191 1c1f mrr $AR0, $AC1.M + + 0192 1943 lrri $AR3, @$AR2 + 0193 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0194 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0195 114e 019d bloopi #0x4e, 0x019d + 0197 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0198 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0199 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + + 019a 1c1f mrr $AR0, $AC1.M + 019b 1943 lrri $AR3, @$AR2 + 019c 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 019d 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 + 019e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 019f f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01a0 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 01a1 fe00 movpz $ACC0 + 01a2 1b3e srri @$AR1, $AC0.M + + 01a3 8b00 m0 + 01a4 8e00 set16 + 01a5 00fe 0433 sr @0x0433, $AC0.M + 01a7 1c1f mrr $AR0, $AC1.M + 01a8 150c lsl $ACC1, #12 + 01a9 0340 0fff andi $AC1.M, #0x0fff + 01ab 00ff 0430 sr @0x0430, $AC1.M + 01ad 0083 043c lri $AR3, #0x043c + 01af 191e lrri $AC0.M, @$AR0 + 01b0 191f lrri $AC1.M, @$AR0 + 01b1 80a0 nx'ls : $AX0.H, $AC0.M + 01b2 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 01b3 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 01b4 1b7f srri @$AR3, $AC1.M + 01b5 02df ret + +subroutine: + 01b6 1fe0 mrr $AC1.M, $AR0 + 01b7 1c1f mrr $AR0, $AC1.M + 01b8 1128 01bf bloopi #0x28, 0x01bf + 01ba 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 01bb 1b3e srri @$AR1, $AC0.M + 01bc 1c1f mrr $AR0, $AC1.M + 01bd 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 01be 1b3e srri @$AR1, $AC0.M + 01bf 1c1f mrr $AR0, $AC1.M + 01c0 029f 01a5 jmp 0x01a5 +} + +void 01c2_Unk() { + 01c2 8a00 m2 + 01c3 0083 03e8 lri $AR3, #0x03e8 + 01c5 191e lrri $AC0.M, @$AR0 + 01c6 191a lrri $AX0.H, @$AR0 + 01c7 1006 loopi #0x06 + 01c8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 01c9 1b7e srri @$AR3, $AC0.M + 01ca 1b7a srri @$AR3, $AX0.H + 01cb 0080 03e8 lri $AR0, #0x03e8 + 01cd 0088 0007 lri $WR0, #0x0007 + 01cf 1150 01dc bloopi #0x50, 0x01dc + 01d1 1c61 mrr $AR3, $AR1 + 01d2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 01d3 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01d4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01d5 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01d6 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01d7 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01d8 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01d9 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01da f200 madd $AX0.L, $AX0.H + 01db fe00 movpz $ACC0 + 01dc 1b3e srri @$AR1, $AC0.M + 01dd 0088 ffff lri $WR0, #0xffff + 01df 8b00 m0 + 01e0 02df ret +} + +void 01e1_Unk() { // ZWW: 0b4d_IIR_Filter + 01e1 8a00 m2 + 01e2 05fe addis $ACC1, #0xfe + 01e3 0083 03e8 lri $AR3, #0x03e8 + 01e5 191e lrri $AC0.M, @$AR0 + 01e6 191a lrri $AX0.H, @$AR0 + 01e7 005f loop $AC1.M + 01e8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 01e9 1b7e srri @$AR3, $AC0.M + 01ea 1b7a srri @$AR3, $AX0.H + 01eb 0080 03e8 lri $AR0, #0x03e8 + 01ed 0501 addis $ACC1, #0x01 + 01ee 1d1f mrr $WR0, $AC1.M + 01ef 1150 01f7 bloopi #0x50, 0x01f7 + 01f1 1c61 mrr $AR3, $AR1 + 01f2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 01f3 005f loop $AC1.M + 01f4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 01f5 f200 madd $AX0.L, $AX0.H + 01f6 fe00 movpz $ACC0 + 01f7 1b3e srri @$AR1, $AC0.M + 01f8 0088 ffff lri $WR0, #0xffff + 01fa 8b00 m0 + 01fb 02df ret +} + +void 01fc_Unk() { // ZWW: 0b68_4TapFIR + 01fc 0083 03e8 lri $AR3, #0x03e8 + 01fe 191e lrri $AC0.M, @$AR0 + 01ff 191a lrri $AX0.H, @$AR0 + 0200 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0201 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0202 1b7e srri @$AR3, $AC0.M + 0203 1b7a srri @$AR3, $AX0.H + 0204 0080 03e8 lri $AR0, #0x03e8 + 0206 0088 0003 lri $WR0, #0x0003 + 0208 0085 0000 lri $IX1, #0x0000 + 020a 0087 0000 lri $IX3, #0x0000 + 020c 1fc2 mrr $AC0.M, $AR2 + 020d 195b lrri $AX1.H, @$AR2 + 020e 1959 lrri $AX1.L, @$AR2 + 020f 195f lrri $AC1.M, @$AR2 + 0210 195a lrri $AX0.H, @$AR2 + 0211 1c5e mrr $AR2, $AC0.M + 0212 1fda mrr $AC0.M, $AX0.H + 0213 1c61 mrr $AR3, $AR1 + 0214 8a00 m2 + 0215 8f00 set40 + 0216 191a lrri $AX0.H, @$AR0 + 0217 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0218 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0219 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 021a e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 021b b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 021c 1127 0227 bloopi #0x27, 0x0227 + 021e e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + + 021f 197e lrri $AC0.M, @$AR3 + 0220 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0221 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0222 bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 0223 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + + 0224 197f lrri $AC1.M, @$AR3 + 0225 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0226 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0227 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0228 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0229 197e lrri $AC0.M, @$AR3 + 022a e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 022b eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 022c bf00 mulxmv $AX0.H, $AX1.H, $ACC1 + 022d 1bff srrn @$AR3, $AC1.M + 022e 197f lrri $AC1.M, @$AR3 + 022f 8e00 set16 + 0230 8b00 m0 + 0231 0088 ffff lri $WR0, #0xffff + 0233 1b5b srri @$AR2, $AX1.H + 0234 1b59 srri @$AR2, $AX1.L + 0235 1b5f srri @$AR2, $AC1.M + 0236 1b5e srri @$AR2, $AC0.M + 0237 02df ret +} + +void 0238_Unk() { + 0238 0080 0346 lri $AR0, #0x0346 + 023a 02bf 0051 call 0x0051 + 023c 02bf 0051 call 0x0051 + 023e 0081 0346 lri $AR1, #0x0346 + 0240 009f 0580 lri $AC1.M, #0x0580 + 0242 0080 0080 lri $AR0, #0x0080 + 0244 02bf 007c call 0x007c + 0246 0081 0348 lri $AR1, #0x0348 + 0248 009f 0c00 lri $AC1.M, #0x0c00 + 024a 0080 0080 lri $AR0, #0x0080 + 024c 02bf 007c call 0x007c + 024e 0080 0c00 lri $AR0, #0x0c00 + 0250 0081 0580 lri $AR1, #0x0580 + 0252 02bf 01fc call 0x01fc + 0254 0081 0346 lri $AR1, #0x0346 + 0256 009f 0580 lri $AC1.M, #0x0580 + 0258 0080 0080 lri $AR0, #0x0080 + 025a 02bf 0089 call 0x0089 + 025c 0081 0348 lri $AR1, #0x0348 + 025e 009f 0c00 lri $AC1.M, #0x0c00 + 0260 0080 0080 lri $AR0, #0x0080 + 0262 02bf 0089 call 0x0089 + 0264 029f 0049 jmp 0x0049 + 0266 8100 clr $ACC0 + 0267 1f5e mrr $AX0.H, $AC0.M + 0268 00d8 0402 lr $AX0.L, @0x0402 + 026a 00dc 0430 lr $AC0.L, @0x0430 + 026c 0080 0520 lri $AR0, #0x0520 + 026e 00df 0480 lr $AC1.M, @0x0480 + 0270 1501 lsl $ACC1, #1 + 0271 0340 007e andi $AC1.M, #0x007e + 0273 0300 027b addi $AC1.M, #0x027b + 0275 1c5f mrr $AR2, $AC1.M + 0276 175f callr $AR2 + 0277 00fc 0430 sr @0x0430, $AC0.L + 0279 029f 056d jmp 0x056d + 027b 029f 029c jmp 0x029c + 027d 029f 02d7 jmp 0x02d7 + 027f 029f 02bf jmp 0x02bf + 0281 029f 02ac jmp 0x02ac + 0283 029f 02e5 jmp 0x02e5 + 0285 029f 029b jmp 0x029b + 0287 029f 0303 jmp 0x0303 + 0289 029f 0306 jmp 0x0306 + 028b 029f 029b jmp 0x029b + 028d 029f 029b jmp 0x029b + 028f 029f 0324 jmp 0x0324 + 0291 029f 02dd jmp 0x02dd + 0293 029f 02e1 jmp 0x02e1 + 0295 029f 029b jmp 0x029b + 0297 029f 029b jmp 0x029b + 0299 029f 029b jmp 0x029b + 029b 02df ret +} + +void 029c_Unk() { + 029c 1401 lsl $ACC0, #1 + 029d 009b c000 lri $AX1.H, #0xc000 + 029f 0099 4000 lri $AX1.L, #0x4000 + 02a1 1150 02a9 bloopi #0x50, 0x02a9 + 02a3 02c0 0001 andcf $AC0.M, #0x0001 + 02a5 027c iflnz + 02a6 1b1b srri @$AR0, $AX1.H + 02a7 027d iflz + 02a8 1b19 srri @$AR0, $AX1.L + 02a9 4800 addax $ACC0, $AX0.L + 02aa 147f lsr $ACC0, #-1 + 02ab 02df ret +} + +void 02ac_Unk() { + 02ac 1402 lsl $ACC0, #2 + 02ad 8900 clr $ACC1 + 02ae 1fb8 mrr $AC1.L, $AX0.L + 02af 1501 lsl $ACC1, #1 + 02b0 009b c000 lri $AX1.H, #0xc000 + 02b2 0099 4000 lri $AX1.L, #0x4000 + 02b4 1150 02bc bloopi #0x50, 0x02bc + 02b6 02c0 0003 andcf $AC0.M, #0x0003 + 02b8 027c iflnz + 02b9 1b1b srri @$AR0, $AX1.H + 02ba 027d iflz + 02bb 1b19 srri @$AR0, $AX1.L + 02bc 4c00 add $ACC0, $AC1.L + 02bd 147e lsr $ACC0, #-2 + 02be 02df ret +} + +void 02bf_Unk() { // ZWW:08d5 + 02bf 1401 lsl $ACC0, #1 + 02c0 0081 0ca0 lri $AR1, #0x0ca0 + 02c2 009b c000 lri $AX1.H, #0xc000 + 02c4 0099 4000 lri $AX1.L, #0x4000 + 02c6 8900 clr $ACC1 + 02c7 0082 0000 lri $AR2, #0x0000 + 02c9 1150 02d4 bloopi #0x50, 0x02d4 + 02cb 02c0 0001 andcf $AC0.M, #0x0001 + 02cd 027c iflnz + 02ce 1b1b srri @$AR0, $AX1.H + 02cf 027d iflz + 02d0 1b19 srri @$AR0, $AX1.L + 02d1 183d lrr $AC1.L, @$AR1 + 02d2 4900 addax $ACC1, $AX0.L + 02d3 1fe2 mrr $AC1.M, $AR2 + 02d4 4c39 add's $ACC0, $AC1.L : @$AR1, $AC1.M + 02d5 147f lsr $ACC0, #-1 + 02d6 02df ret +} + +void 02d7_Unk() { // ZWW:08ed + 02d7 8900 clr $ACC1 + 02d8 1fb8 mrr $AC1.L, $AX0.L + 02d9 157f lsr $ACC1, #-1 + 02da 1050 loopi #0x50 + 02db 4c20 add's $ACC0, $AC1.L : @$AR0, $AC0.L + 02dc 02df ret +} + +void 02dd_Unk() { // ZWW:08f3 + 02dd 0082 0180 lri $AR2, #0x0180 // Three entrances + 02df 029f 02e7 jmp 0x02e7 + 02e1 0082 01c0 lri $AR2, #0x01c0 + 02e3 029f 02e7 jmp 0x02e7 + 02e5 0082 0140 lri $AR2, #0x0140 + 02e7 008a 003f lri $WR2, #0x003f + 02e9 0086 0000 lri $IX2, #0x0000 + 02eb 1406 lsl $ACC0, #6 + 02ec 8900 clr $ACC1 + 02ed 1fb8 mrr $AC1.L, $AX0.L + 02ee 1505 lsl $ACC1, #5 + 02ef 009b 003f lri $AX1.H, #0x003f + 02f1 009a 0000 lri $AX0.H, #0x0000 + 02f3 3600 andr $AC0.M, $AX1.H + 02f4 1cde mrr $IX2, $AC0.M + 02f5 001a addarn $AR2, $IX2 + 02f6 3400 andr $AC0.M, $AX0.H + 02f7 1150 02fd bloopi #0x50, 0x02fd + 02f9 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 + 02fa 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 02fb 1cde mrr $IX2, $AC0.M + 02fc 340e andr'nr $AC0.M, $AX0.H : $AR2 + 02fd 1b19 srri @$AR0, $AX1.L + 02fe 1fc2 mrr $AC0.M, $AR2 + 02ff 147a lsr $ACC0, #-6 + 0300 008a ffff lri $WR2, #0xffff + 0302 02df ret +} + +void 030_MemsetBlock() { + 0303 1050 loopi #0x50 + 0304 1b18 srri @$AR0, $AX0.L + // 0305 02df ret +} + +void 0306_Unk() { + 0306 0082 0100 lri $AR2, #0x0100 + 0308 008a 003f lri $WR2, #0x003f + 030a 0086 0000 lri $IX2, #0x0000 + 030c 1406 lsl $ACC0, #6 + 030d 8900 clr $ACC1 + 030e 1fb8 mrr $AC1.L, $AX0.L + 030f 1505 lsl $ACC1, #5 + 0310 009b 003f lri $AX1.H, #0x003f + 0312 009a 0000 lri $AX0.H, #0x0000 + 0314 3600 andr $AC0.M, $AX1.H + 0315 1cde mrr $IX2, $AC0.M + 0316 001a addarn $AR2, $IX2 + 0317 3400 andr $AC0.M, $AX0.H + 0318 1150 031e bloopi #0x50, 0x031e + 031a 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 + 031b 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 031c 1cde mrr $IX2, $AC0.M + 031d 340e andr'nr $AC0.M, $AX0.H : $AR2 + 031e 1b19 srri @$AR0, $AX1.L + 031f 1fc2 mrr $AC0.M, $AR2 + 0320 147a lsr $ACC0, #-6 + 0321 008a ffff lri $WR2, #0xffff + 0323 02df ret +} + +void 0324_Unk() { + 0324 0082 0100 lri $AR2, #0x0100 + 0326 008a 003f lri $WR2, #0x003f + 0328 0086 0000 lri $IX2, #0x0000 + 032a 0081 0ca0 lri $AR1, #0x0ca0 + 032c 1406 lsl $ACC0, #6 + 032d 8900 clr $ACC1 + 032e 1fb8 mrr $AC1.L, $AX0.L + 032f 1505 lsl $ACC1, #5 + 0330 009b 003f lri $AX1.H, #0x003f + 0332 009a 0000 lri $AX0.H, #0x0000 + 0334 3600 andr $AC0.M, $AX1.H + 0335 1cde mrr $IX2, $AC0.M + 0336 001a addarn $AR2, $IX2 + 0337 3400 andr $AC0.M, $AX0.H + 0338 1150 0343 bloopi #0x50, 0x0343 + 033a 1939 lrri $AX1.L, @$AR1 + 033b a000 mulx $AX0.L, $AX1.L + 033c 140a lsl $ACC0, #10 + 033d 4e00 addp $ACC0 + 033e 1476 lsr $ACC0, #-10 + 033f 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 + 0340 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0341 1cde mrr $IX2, $AC0.M + 0342 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0343 1b19 srri @$AR0, $AX1.L + 0344 1fc2 mrr $AC0.M, $AR2 + 0345 147a lsr $ACC0, #-6 + 0346 008a ffff lri $WR2, #0xffff + 0348 02df ret +} + +// DsetupTable +void 0349_COMMAND_01() { + 0349 0080 0380 lri $AR0, #0x0380 + 034b 02bf 0051 call 0x0051 + 034d 02bf 0051 call 0x0051 + 034f 02bf 0051 call 0x0051 + 0351 02bf 0051 call 0x0051 + + 0353 0081 0382 lri $AR1, #0x0382 + 0355 009f 0000 lri $AC1.M, #0x0000 + 0357 0080 0200 lri $AR0, #0x0200 + // 0359 02bf 007c call 0x007c + 007c_CopyRAMtoDMEM() + + 035b 0081 0384 lri $AR1, #0x0384 + 035d 009f 0300 lri $AC1.M, #0x0300 + 035f 0080 0020 lri $AR0, #0x0020 + 0361 02bf 007c call 0x007c + 007c_CopyRAMtoDMEM() + + + 0363 02bf 03cc call 0x03cc + 0365 00de 0345 lr $AC0.M, @0x0345 + 0367 00fe 0342 sr @0x0342, $AC0.M + 0369 02bf 0af0 call 0x0af0 + 036b 029f 0049 jmp 0x0049 + 036d 00de 0344 lr $AC0.M, @0x0344 + 036f 1404 lsl $ACC0, #4 + 0370 0200 03a8 addi $AC0.M, #0x03a8 + 0372 1c1e mrr $AR0, $AC0.M + 0373 02bf 0051 call 0x0051 + 0375 02bf 0051 call 0x0051 + 0377 02bf 0051 call 0x0051 + 0379 00de 0345 lr $AC0.M, @0x0345 + 037b 1b1e srri @$AR0, $AC0.M + 037c 00de 0344 lr $AC0.M, @0x0344 + 037e 0200 03a4 addi $AC0.M, #0x03a4 + 0380 1c1e mrr $AR0, $AC0.M + 0381 8100 clr $ACC0 + 0382 1b1e srri @$AR0, $AC0.M + 0383 02df ret +} + +void 0384_Unk() { + 0384 00de 0344 lr $AC0.M, @0x0344 + 0386 1404 lsl $ACC0, #4 + 0387 0200 03b0 addi $AC0.M, #0x03b0 + 0389 1c1e mrr $AR0, $AC0.M + 038a 02bf 0051 call 0x0051 + 038c 02bf 0051 call 0x0051 + 038e 02bf 0051 call 0x0051 + 0390 02bf 0051 call 0x0051 + 0392 02df ret +} + +void 0393_Unk() { + 0393 0081 034c lri $AR1, #0x034c + 0395 009f 0400 lri $AC1.M, #0x0400 + 0397 0080 00c0 lri $AR0, #0x00c0 + 0399 02bf 007c call 0x007c + 039b 02df ret +} + +void 039c_Unk() { + 039c 0081 034c lri $AR1, #0x034c + 039e 009f 0400 lri $AC1.M, #0x0400 + 03a0 0080 0080 lri $AR0, #0x0080 + 03a2 0081 034c lri $AR1, #0x034c + 03a4 193e lrri $AC0.M, @$AR1 + 03a5 193c lrri $AC0.L, @$AR1 + 03a6 0098 0000 lri $AX0.L, #0x0000 + 03a8 7000 addaxl $ACC0, $AX0.L + 03a9 02bf 008b call 0x008b + 03ab 02df ret +} + +void 03ac_Unk() { + 03ac 191e lrri $AC0.M, @$AR0 + 03ad 191a lrri $AX0.H, @$AR0 + 03ae 005f loop $AC1.M + 03af 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 03b0 1b7e srri @$AR3, $AC0.M + 03b1 1b7a srri @$AR3, $AX0.H + 03b2 02df ret +} + +// Example call: +//a 03d9 0080 0f40 lri $AR0, #0x0f40 +//a 03db 0082 0d00 lri $AR2, #0x0d00 +//a 03dd 0083 0d60 lri $AR3, #0x0d60 +//a 03df 009f 0028 lri $AC1.M, #0x0028 +//a 03e1 02bf 03b3 call 0x03b3 +// Not sure how AR2 fits into the picture... +void 03b3_XorBuffer(InputBuffer($AR0), OutputBuffer($AR3), HalfLength($AC1.M)) { + 03b3 191e lrri $AC0.M, @$AR0 + 03b4 191a lrri $AX0.H, @$AR0 + 03b5 007f 03ba bloop $AC1.M, 0x03ba + 03b7 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H + 03b8 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 03b9 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H + 03ba 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 03bb 0000 nop + 03bc 02df ret +} + +void 03bd_Unk() { + 03bd 8a00 m2 + 03be 157f lsr $ACC1, #-1 + 03bf 1c20 mrr $AR1, $AR0 + 03c0 1c03 mrr $AR0, $AR3 + 03c1 193a lrri $AX0.H, @$AR1 + 03c2 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 + 03c3 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 + 03c4 007f 03c9 bloop $AC1.M, 0x03c9 + 03c6 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 03c7 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 03c8 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 03c9 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 03ca 8b00 m0 + 03cb 02df ret +} + +void 03cc_Unk() { + 03cc 0083 ffa0 lri $AR3, #0xffa0 + 03ce 0080 0300 lri $AR0, #0x0300 + 03d0 009f 000e lri $AC1.M, #0x000e + 03d2 1108 03d7 bloopi #0x08, 0x03d7 + 03d4 191e lrri $AC0.M, @$AR0 + 03d5 1b7e srri @$AR3, $AC0.M + 03d6 191e lrri $AC0.M, @$AR0 + 03d7 1b7e srri @$AR3, $AC0.M + 03d8 02df ret +} + +void 03d9_Unk() { + + 03d9 0080 0f40 lri $AR0, #0x0f40 + 03db 0082 0d00 lri $AR2, #0x0d00 + 03dd 0083 0d60 lri $AR3, #0x0d60 + 03df 009f 0028 lri $AC1.M, #0x0028 + // XorBuffer, why?? + 03e1 02bf 03b3 call 0x03b3 + + // Clear a bunch of buffers. + 03e3 8900 clr $ACC1 + 03e4 009e 0050 lri $AC0.M, #0x0050 + 03e6 0080 0ca0 lri $AR0, #0x0ca0 + 03e8 005e loop $AC0.M + 03e9 1b1f srri @$AR0, $AC1.M + 03ea 0080 0f40 lri $AR0, #0x0f40 + 03ec 005e loop $AC0.M + 03ed 1b1f srri @$AR0, $AC1.M + 03ee 0080 0fa0 lri $AR0, #0x0fa0 + 03f0 005e loop $AC0.M + 03f1 1b1f srri @$AR0, $AC1.M + 03f2 0080 0b00 lri $AR0, #0x0b00 + 03f4 005e loop $AC0.M + 03f5 1b1f srri @$AR0, $AC1.M + 03f6 0080 09a0 lri $AR0, #0x09a0 + 03f8 005e loop $AC0.M + 03f9 1b1f srri @$AR0, $AC1.M + + 03fa 02df ret +} + +void 03fb_Unk() { + 03fb 00c0 03a0 lr $AR0, @0x03a0 + 03fd 191a lrri $AX0.H, @$AR0 + 03fe 00df 03a1 lr $AC1.M, @0x03a1 + 0400 009b 00a0 lri $AX1.H, #0x00a0 + 0402 0081 0393 lri $AR1, #0x0393 + 0404 18bc lrrd $AC0.L, @$AR1 + 0405 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 0406 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0407 0080 0050 lri $AR0, #0x0050 + 0409 0508 addis $ACC1, #0x08 + 040a 02bf 007e call 0x007e + 040c 00de 0390 lr $AC0.M, @0x0390 + 040e 02a0 0001 andf $AC0.M, #0x0001 + 0410 029d 041a jlz 0x041a + 0412 0080 0398 lri $AR0, #0x0398 + 0414 009e 0008 lri $AC0.M, #0x0008 + 0416 00c1 03a1 lr $AR1, @0x03a1 + 0418 02bf 01c2 call 0x01c2 + 041a 009f 0050 lri $AC1.M, #0x0050 + 041c 00c0 03a1 lr $AR0, @0x03a1 + 041e 8100 clr $ACC0 + 041f 00de 0394 lr $AC0.M, @0x0394 + 0421 b100 tst $ACC0 + 0422 0295 0429 jz 0x0429 + 0424 1c7e mrr $AR3, $AC0.M + 0425 00d8 0395 lr $AX0.L, @0x0395 + 0427 02bf 03bd call 0x03bd + 0429 009f 0050 lri $AC1.M, #0x0050 + 042b 00c0 03a1 lr $AR0, @0x03a1 + 042d 8100 clr $ACC0 + 042e 00de 0396 lr $AC0.M, @0x0396 + 0430 b100 tst $ACC0 + 0431 0295 0438 jz 0x0438 + 0433 1c7e mrr $AR3, $AC0.M + 0434 00d8 0397 lr $AX0.L, @0x0397 + 0436 02bf 03bd call 0x03bd + 0438 00de 0390 lr $AC0.M, @0x0390 + 043a 02a0 0002 andf $AC0.M, #0x0002 + 043c 02dd retlz + + 043d 0080 0398 lri $AR0, #0x0398 + 043f 009e 0008 lri $AC0.M, #0x0008 + 0441 00c1 03a1 lr $AR1, @0x03a1 + 0443 02bf 01c2 call 0x01c2 + 0445 02df ret +} + +void 0446_Unk() { + 0446 009f 0dc0 lri $AC1.M, #0x0dc0 + 0448 00ff 03a1 sr @0x03a1, $AC1.M + 044a 009f 03a8 lri $AC1.M, #0x03a8 + 044c 00ff 03a2 sr @0x03a2, $AC1.M + 044e 009f 03a4 lri $AC1.M, #0x03a4 + 0450 00ff 03a0 sr @0x03a0, $AC1.M + 0452 1104 047b bloopi #0x04, 0x047b + 0454 00c0 03a2 lr $AR0, @0x03a2 + 0456 0083 0390 lri $AR3, #0x0390 + 0458 009f 000e lri $AC1.M, #0x000e + 045a 02bf 03ac call 0x03ac + 045c 00da 0390 lr $AX0.H, @0x0390 + 045e 8600 tstaxh $AX0.H + 045f 0295 046c jz 0x046c + 0461 00df 03a1 lr $AC1.M, @0x03a1 + 0463 1c7f mrr $AR3, $AC1.M + 0464 0550 addis $ACC1, #0x50 + 0465 1c1f mrr $AR0, $AC1.M + 0466 009f 0006 lri $AC1.M, #0x0006 + 0468 02bf 03ac call 0x03ac + 046a 02bf 03fb call 0x03fb + 046c 00de 03a2 lr $AC0.M, @0x03a2 + 046e 0410 addis $ACC0, #0x10 + 046f 00fe 03a2 sr @0x03a2, $AC0.M + 0471 00de 03a1 lr $AC0.M, @0x03a1 + 0473 0460 addis $ACC0, #0x60 + 0474 00fe 03a1 sr @0x03a1, $AC0.M + 0476 00de 03a0 lr $AC0.M, @0x03a0 + 0478 7400 incm $AC0.M + 0479 00fe 03a0 sr @0x03a0, $AC0.M + 047b 0000 nop + 047c 02df ret +} + +void 047d_Unk() { + 047d 00c0 03a0 lr $AR0, @0x03a0 + 047f 181a lrr $AX0.H, @$AR0 + 0480 8100 clr $ACC0 + 0481 181e lrr $AC0.M, @$AR0 + 0482 00db 0391 lr $AX1.H, @0x0391 + 0484 7400 incm $AC0.M + 0485 d100 cmpar $ACC1, $AX0.H + 0486 0270 ifns + 0487 8100 clr $ACC0 + 0488 1b1e srri @$AR0, $AC0.M + 0489 00df 03a1 lr $AC1.M, @0x03a1 + 048b 009b 00a0 lri $AX1.H, #0x00a0 + 048d 0081 0393 lri $AR1, #0x0393 + 048f 18bc lrrd $AC0.L, @$AR1 + 0490 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 0491 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0492 0080 0050 lri $AR0, #0x0050 + 0494 02bf 008b call 0x008b + 0496 02df ret +} + +void 0497_Unk() { + 0497 009f 0dc0 lri $AC1.M, #0x0dc0 + 0499 00ff 03a1 sr @0x03a1, $AC1.M + 049b 009f 03a8 lri $AC1.M, #0x03a8 + 049d 00ff 03a2 sr @0x03a2, $AC1.M + 049f 009f 03a4 lri $AC1.M, #0x03a4 + 04a1 00ff 03a0 sr @0x03a0, $AC1.M + 04a3 1104 04c3 bloopi #0x04, 0x04c3 + 04a5 00c0 03a2 lr $AR0, @0x03a2 + 04a7 0083 0390 lri $AR3, #0x0390 + 04a9 009f 000e lri $AC1.M, #0x000e + 04ab 02bf 03ac call 0x03ac + 04ad 00da 0390 lr $AX0.H, @0x0390 + 04af 8600 tstaxh $AX0.H + 04b0 0295 04b4 jz 0x04b4 + 04b2 02bf 047d call 0x047d + 04b4 00de 03a2 lr $AC0.M, @0x03a2 + 04b6 0410 addis $ACC0, #0x10 + 04b7 00fe 03a2 sr @0x03a2, $AC0.M + 04b9 00de 03a1 lr $AC0.M, @0x03a1 + 04bb 0460 addis $ACC0, #0x60 + 04bc 00fe 03a1 sr @0x03a1, $AC0.M + 04be 00de 03a0 lr $AC0.M, @0x03a0 + 04c0 7400 incm $AC0.M + 04c1 00fe 03a0 sr @0x03a0, $AC0.M + 04c3 0000 nop + 04c4 02df ret +} + +void 04c5_Unk() { + 04c5 0081 0386 lri $AR1, #0x0386 + 04c7 009f 03a8 lri $AC1.M, #0x03a8 + 04c9 0080 0040 lri $AR0, #0x0040 + 04cb 02bf 007c call 0x007c + 04cd 02df ret +} + +void 04ce_Increment32BitAddressAtAR0() { + 04ce 191e lrri $AC0.M, @$AR0 + 04cf 189c lrrd $AC0.L, @$AR0 + 04d0 4800 addax $ACC0, $AX0.L + 04d1 1b1e srri @$AR0, $AC0.M + 04d2 1b1c srri @$AR0, $AC0.L + 04d3 02df ret +} + +void 04d4_Unk() { + 04d4 8100 clr $ACC0 + 04d5 26fe lrs $AC0.M, @CMBH + 04d6 02c0 8000 andcf $AC0.M, #0x8000 + 04d8 029c 04d5 jlnz 0x04d5 + 04da 26ff lrs $AC0.M, @CMBL + 04db 02df ret +} + +void 04dc_Unk() { + 04dc 0080 0388 lri $AR0, #0x0388 + 04de 0081 0051 lri $AR1, #0x0051 + 04e0 173f callr $AR1 + 04e1 00de 0344 lr $AC0.M, @0x0344 + 04e3 00fe 0341 sr @0x0341, $AC0.M + 04e5 00de 0345 lr $AC0.M, @0x0345 + 04e7 00fe 038e sr @0x038e, $AC0.M + 04e9 173f callr $AR1 + 04ea 02df ret +} + +///////////////////////// +// +// +// 0x0341: Number of Frames to render ... + +// 0x034c + 0x034d: RAM address of the current PB block + +// 0x034e: Last Sync message for rendered frame +// 0x0354: PB loop counter + +// 0x0355: Current Frame + +// 0x0380: ??? +// 0x0381: ??? + +// 0x0388: RAM Address of Output Buffer1 +// 0x038a: RAM Address of Output Buffer2 +// +// 0x038f: Output Buffer Address (0x0520 most of the time) +// +// 0x03f8: *0x0433 +// 0x0520: Some kind of sample buffer + +// 0x0d00: Left mix buffer +// 0x0d60: Right mix buffer + +void 04eb_COMMAND_02() // sync frame + 04eb 02bf 04dc call 0x04dc + 04ed 009e 8000 lri $AC0.M, #0x8000 + 04ef 00dc 0341 lr $AC0.L, @0x0341 + 04f1 02bf 005a call 0x005a + 04f3 8100 clr $ACC0 + 04f4 00fe 0355 sr @0x0355, $AC0.M + 04f6 02bf 04c5 call 0x04c5 + 04f8 00de 0341 lr $AC0.M, @0x0341 + 04fa 007e 0698 bloop $AC0.M, 0x0698 + 04fc 02bf 03d9 call 0x03d9 + + 04fe 02bf 0446 call 0x0446 + 0500 02bf 0bb6 call 0x0bb6 + 0502 02bf 04d4 call 0x04d4 + 0504 8100 clr $ACC0 + 0505 00fe 0354 sr @0x0354, $AC0.M + 0507 00de 0342 lr $AC0.M, @0x0342 + 0509 007e 064c bloop $AC0.M, 0x064c + 050b 00d8 0354 lr $AX0.L, @0x0354 + 050d 009a 0180 lri $AX0.H, #0x0180 + 050f 8100 clr $ACC0 + 0510 00de 0380 lr $AC0.M, @0x0380 + 0512 00dc 0381 lr $AC0.L, @0x0381 + 0514 9000 mul $AX0.L, $AX0.H + 0515 9400 mulac $AX0.L, $AX0.H, $ACC0 + 0516 00fe 034c sr @0x034c, $AC0.M + 0518 00fc 034d sr @0x034d, $AC0.L + 051a 02bf 0393 call 0x0393 + 051c 00da 0400 lr $AX0.H, @0x0400 + 051e 8600 tstaxh $AX0.H + 051f 0295 0647 jz 0x0647 + 0521 00da 0401 lr $AX0.H, @0x0401 + 0523 8600 tstaxh $AX0.H + 0524 0294 0647 jnz 0x0647 + 0526 00da 0433 lr $AX0.H, @0x0433 + 0528 00fa 03f8 sr @0x03f8, $AX0.H + 052a 00da 0406 lr $AX0.H, @0x0406 + 052c 8600 tstaxh $AX0.H + 052d 0294 0a5e jnz 0x0a5e + 052f 8100 clr $ACC0 + 0530 00de 0480 lr $AC0.M, @0x0480 + 0532 0609 cmpis $ACC0, #0x09 + 0533 0295 0540 jz 0x0540 + 0535 0620 cmpis $ACC0, #0x20 + 0536 0295 08cd jz 0x08cd + 0538 0621 cmpis $ACC0, #0x21 + 0539 0295 08d6 jz 0x08d6 + 053b 0608 cmpis $ACC0, #0x08 + 053c 0295 0a66 jz 0x0a66 + 053e 029f 0266 jmp 0x0266 + 0540 00d8 0402 lr $AX0.L, @0x0402 + 0542 8100 clr $ACC0 + 0543 8900 clr $ACC1 + 0544 00dc 0430 lr $AC0.L, @0x0430 + 0546 8d00 set15 + 0547 0099 0050 lri $AX1.L, #0x0050 + 0549 a000 mulx $AX0.L, $AX1.L + 054a a400 mulxac $AX0.L, $AX1.L, $ACC0 + 054b 1404 lsl $ACC0, #4 + 054c 8c00 clr15 + 054d 1ffe mrr $AC1.M, $AC0.M + 054e 0083 0580 lri $AR3, #0x0580 + 0550 00da 0481 lr $AX0.H, @0x0481 + 0552 8600 tstaxh $AX0.H + 0553 0295 0563 jz 0x0563 + 0555 00da 0489 lr $AX0.H, @0x0489 + 0557 8100 clr $ACC0 + 0558 00de 048b lr $AC0.M, @0x048b + 055a 3800 orr $AC0.M, $AX0.H + 055b 0240 000f andi $AC0.M, #0x000f + 055d 0295 0563 jz 0x0563 + 055f 02bf 07d5 call 0x07d5 + 0561 029f 0565 jmp 0x0565 + 0563 02bf 0966 call 0x0966 + 0565 0080 0580 lri $AR0, #0x0580 + 0567 0081 0520 lri $AR1, #0x0520 + 0569 0099 0000 lri $AX1.L, #0x0000 + 056b 02bf 0141 call 0x0141 + 056d 00da 04a8 lr $AX0.H, @0x04a8 + 056f 8600 tstaxh $AX0.H + 0570 0295 0576 jz 0x0576 + 0572 0080 0520 lri $AR0, #0x0520 + 0574 02bf 0b90 call 0x0b90 + 0576 009e 0520 lri $AC0.M, #0x0520 + 0578 00fe 038f sr @0x038f, $AC0.M + 057a 8900 clr $ACC1 + 057b 00df 0484 lr $AC1.M, @0x0484 + 057d 0340 001f andi $AC1.M, #0x001f + 057f b900 tst $ACC1 + 0580 0295 05a6 jz 0x05a6 + 0582 00de 038f lr $AC0.M, @0x038f + 0584 5c00 sub $ACC0, $AC1.L + 0585 00fe 038f sr @0x038f, $AC0.M + 0587 1c7e mrr $AR3, $AC0.M + 0588 0080 0440 lri $AR0, #0x0440 + 058a 05fe addis $ACC1, #0xfe + 058b 02bf 03ac call 0x03ac + 058d 0080 0490 lri $AR0, #0x0490 + 058f 00c1 038f lr $AR1, @0x038f + 0591 8900 clr $ACC1 + 0592 00df 0484 lr $AC1.M, @0x0484 + 0594 0340 001f andi $AC1.M, #0x001f + 0596 02bf 01e1 call 0x01e1 + 0598 00de 038f lr $AC0.M, @0x038f + 059a 0450 addis $ACC0, #0x50 + 059b 1c1e mrr $AR0, $AC0.M + 059c 0083 0440 lri $AR3, #0x0440 + 059e 8900 clr $ACC1 + 059f 00df 0484 lr $AC1.M, @0x0484 + 05a1 0340 001f andi $AC1.M, #0x001f + 05a3 05fe addis $ACC1, #0xfe + 05a4 02bf 03ac call 0x03ac + 05a6 00de 0484 lr $AC0.M, @0x0484 + 05a8 0240 0020 andi $AC0.M, #0x0020 + 05aa 0295 05c8 jz 0x05c8 + 05ac 0080 04a4 lri $AR0, #0x04a4 + 05ae 00c1 038f lr $AR1, @0x038f + 05b0 0082 0454 lri $AR2, #0x0454 + 05b2 0083 04a7 lri $AR3, #0x04a7 + 05b4 18fa lrrd $AX0.H, @$AR3 + 05b5 8600 tstaxh $AX0.H + 05b6 0294 05c6 jnz 0x05c6 + 05b8 18fa lrrd $AX0.H, @$AR3 + 05b9 8600 tstaxh $AX0.H + 05ba 0294 05c6 jnz 0x05c6 + 05bc 18fa lrrd $AX0.H, @$AR3 + 05bd 8600 tstaxh $AX0.H + 05be 0294 05c6 jnz 0x05c6 + 05c0 8100 clr $ACC0 + 05c1 18fe lrrd $AC0.M, @$AR3 + 05c2 0280 7fff cmpi $AC0.M, #0x7fff + 05c4 0295 05c8 jz 0x05c8 + 05c6 02bf 01fc call 0x01fc + 05c8 8100 clr $ACC0 + 05c9 1c9e mrr $IX0, $AC0.M + 05ca 1cde mrr $IX2, $AC0.M + 05cb 7400 incm $AC0.M + 05cc 1cfe mrr $IX3, $AC0.M + 05cd 8100 clr $ACC0 + 05ce 00de 0407 lr $AC0.M, @0x0407 + 05d0 b100 tst $ACC0 + 05d1 0295 05e0 jz 0x05e0 + 05d3 00c3 038f lr $AR3, @0x038f + 05d5 0007 dar $AR3 + 05d6 0080 0477 lri $AR0, #0x0477 + 05d8 0084 ffff lri $IX0, #0xffff + 05da 0087 ffff lri $IX3, #0xffff + 05dc 199a lrrn $AX0.H, @$AR0 + 05dd 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 + 05de 005e loop $AC0.M + 05df 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M + 05e0 00da 0485 lr $AX0.H, @0x0485 + 05e2 8600 tstaxh $AX0.H + 05e3 0295 05f6 jz 0x05f6 + 05e5 8900 clr $ACC1 + 05e6 0086 0005 lri $IX2, #0x0005 + 05e8 0082 040a lri $AR2, #0x040a + 05ea 1106 05ee bloopi #0x06, 0x05ee + 05ec 18de lrrd $AC0.M, @$AR2 + 05ed 147f lsr $ACC0, #-1 + 05ee 4d36 add'sn $ACC1, $AC0.L : @$AR2, $AC0.M + 05ef b900 tst $ACC1 + 05f0 0294 05f6 jnz 0x05f6 + 05f2 009a 0001 lri $AX0.H, #0x0001 + 05f4 00fa 0401 sr @0x0401, $AX0.H + 05f6 8f00 set40 + 05f7 0086 0002 lri $IX2, #0x0002 + 05f9 0082 0408 lri $AR2, #0x0408 + 05fb 1106 0626 bloopi #0x06, 0x0626 + 05fd 8100 clr $ACC0 + 05fe 195e lrri $AC0.M, @$AR2 + 05ff 1200 sbclr #0x00 + 0600 b100 tst $ACC0 + 0601 0275 ifz + 0602 1300 sbset #0x00 + 0603 1c7e mrr $AR3, $AC0.M + 0604 195e lrri $AC0.M, @$AR2 + 0605 195f lrri $AC1.M, @$AR2 + 0606 5c00 sub $ACC0, $AC1.L + 0607 14fb asr $ACC0, #-5 + 0608 1f5e mrr $AX0.H, $AC0.M + 0609 1f1c mrr $AX0.L, $AC0.L + 060a 185e lrr $AC0.M, @$AR2 + 060b 0240 00ff andi $AC0.M, #0x00ff + 060d 1f7e mrr $AX1.H, $AC0.M + 060e 185e lrr $AC0.M, @$AR2 + 060f 1478 lsr $ACC0, #-8 + 0610 009c 0000 lri $AC0.L, #0x0000 + 0612 d100 cmpar $ACC1, $AX0.H + 0613 0295 061b jz 0x061b + 0615 185e lrr $AC0.M, @$AR2 + 0616 0272 ifg + 0617 7400 incm $AC0.M + 0618 0271 ifs + 0619 7800 decm $AC0.M + 061a 1a5e srr @$AR2, $AC0.M + 061b 0006 dar $AR2 + 061c 00de 038f lr $AC0.M, @0x038f + 061e 5600 subr $ACC0, $AX1.H + 061f 029d 0624 jlz 0x0624 + 0621 1c1e mrr $AR0, $AC0.M + 0622 02bf 011e call 0x011e + 0624 0000 nop + 0625 1b5f srri @$AR2, $AC1.M + 0626 000a iar $AR2 + 0627 8e00 set16 + 0628 8100 clr $ACC0 + 0629 00de 0407 lr $AC0.M, @0x0407 + 062b b100 tst $ACC0 + 062c 0295 063d jz 0x063d + 062e 00c3 038f lr $AR3, @0x038f + 0630 0087 004f lri $IX3, #0x004f + 0632 001f addarn $AR3, $IX3 + 0633 0080 0477 lri $AR0, #0x0477 + 0635 0084 ffff lri $IX0, #0xffff + 0637 0087 ffff lri $IX3, #0xffff + 0639 19fa lrrn $AX0.H, @$AR3 + 063a 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 + 063b 005e loop $AC0.M + 063c 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H + 063d 00da 0406 lr $AX0.H, @0x0406 + 063f 8600 tstaxh $AX0.H + 0640 0294 0645 jnz 0x0645 + 0642 8100 clr $ACC0 + 0643 00fe 0404 sr @0x0404, $AC0.M + 0645 02bf 039c call 0x039c + + + 0647 00de 0354 lr $AC0.M, @0x0354 + 0649 7400 incm $AC0.M + 064a 00fe 0354 sr @0x0354, $AC0.M + 064c 0000 nop + 064d 16fb 0001 si @DIRQ, #0x0001 + 064f 02bf 0b11 call 0x0b11 + 0651 02bf 0b24 call 0x0b24 + 0653 02bf 0b7b call 0x0b7b + 0655 0080 09a0 lri $AR0, #0x09a0 + 0657 0083 0d00 lri $AR3, #0x0d00 + 0659 009f 0050 lri $AC1.M, #0x0050 + 065b 0098 5a82 lri $AX0.L, #0x5a82 + 065d 02bf 03bd call 0x03bd + 065f 0080 09a0 lri $AR0, #0x09a0 + 0661 0083 0d60 lri $AR3, #0x0d60 + 0663 009f 0050 lri $AC1.M, #0x0050 + 0665 02bf 03bd call 0x03bd + 0667 0083 0d00 lri $AR3, #0x0d00 + 0669 02bf 0130 call 0x0130 + 066b 0081 0388 lri $AR1, #0x0388 + 066d 009f 0d00 lri $AC1.M, #0x0d00 + 066f 0080 0050 lri $AR0, #0x0050 + 0671 02bf 0089 call 0x0089 + 0673 0080 0fa0 lri $AR0, #0x0fa0 + 0675 0083 0d60 lri $AR3, #0x0d60 + 0677 009f 0050 lri $AC1.M, #0x0050 + 0679 0098 8000 lri $AX0.L, #0x8000 + 067b 02bf 03bd call 0x03bd + 067d 0083 0d60 lri $AR3, #0x0d60 + 067f 02bf 0130 call 0x0130 + 0681 0081 038a lri $AR1, #0x038a + 0683 009f 0d60 lri $AC1.M, #0x0d60 + 0685 0080 0050 lri $AR0, #0x0050 + 0687 02bf 0089 call 0x0089 + 0689 009a 0000 lri $AX0.H, #0x0000 + 068b 0098 00a0 lri $AX0.L, #0x00a0 + 068d 0080 0388 lri $AR0, #0x0388 + 068f 02bf 04ce call 0x04ce + 0691 0080 038a lri $AR0, #0x038a + 0693 02bf 04ce call 0x04ce + 0695 02bf 0497 call 0x0497 + 0697 0000 nop + 0698 0000 nop + } + 0699 029f 0031 jmp 0x0031 + 069b 0080 0346 lri $AR0, #0x0346 + 069d 02bf 0051 call 0x0051 + 069f 02bf 0051 call 0x0051 + 06a1 0081 0346 lri $AR1, #0x0346 + 06a3 193e lrri $AC0.M, @$AR1 + 06a4 193c lrri $AC0.L, @$AR1 + 06a5 009f 0400 lri $AC1.M, #0x0400 + 06a7 00c0 0345 lr $AR0, @0x0345 + 06a9 02bf 007e call 0x007e + + 06ab 0081 0348 lri $AR1, #0x0348 + 06ad 193e lrri $AC0.M, @$AR1 + 06ae 193c lrri $AC0.L, @$AR1 + 06af 009f 0800 lri $AC1.M, #0x0800 + 06b1 00c0 0345 lr $AR0, @0x0345 + 06b3 02bf 007e call 0x007e + + 06b5 0081 0346 lri $AR1, #0x0346 + 06b7 193e lrri $AC0.M, @$AR1 + 06b8 193c lrri $AC0.L, @$AR1 + 06b9 009f 0800 lri $AC1.M, #0x0800 + 06bb 00c0 0345 lr $AR0, @0x0345 + 06bd 02bf 008b call 0x008b + + 06bf 0081 0348 lri $AR1, #0x0348 + 06c1 193e lrri $AC0.M, @$AR1 + 06c2 193c lrri $AC0.L, @$AR1 + 06c3 009f 0400 lri $AC1.M, #0x0400 + 06c5 00c0 0345 lr $AR0, @0x0345 + 06c7 02bf 008b call 0x008b + + 06c9 029f 0049 jmp 0x0049 +} + +void 06cb_Unk() { + 06cb 0080 0346 lri $AR0, #0x0346 + 06cd 02bf 0051 call 0x0051 + 06cf 02bf 0051 call 0x0051 + 06d1 0081 0346 lri $AR1, #0x0346 + 06d3 193e lrri $AC0.M, @$AR1 + 06d4 193c lrri $AC0.L, @$AR1 + 06d5 009f 0400 lri $AC1.M, #0x0400 + 06d7 00c0 0345 lr $AR0, @0x0345 + 06d9 02bf 007e call 0x007e + 06db 0081 0348 lri $AR1, #0x0348 + 06dd 193e lrri $AC0.M, @$AR1 + 06de 193c lrri $AC0.L, @$AR1 + 06df 009f 0400 lri $AC1.M, #0x0400 + 06e1 00c0 0345 lr $AR0, @0x0345 + 06e3 02bf 008b call 0x008b + 06e5 029f 0049 jmp 0x0049 +} + +void 06e7_Unk() { + 06e7 0080 0346 lri $AR0, #0x0346 + 06e9 02bf 0051 call 0x0051 + 06eb 02bf 0051 call 0x0051 + 06ed 0081 0346 lri $AR1, #0x0346 + 06ef 193e lrri $AC0.M, @$AR1 + 06f0 193c lrri $AC0.L, @$AR1 + 06f1 009f 0400 lri $AC1.M, #0x0400 + 06f3 00c0 0345 lr $AR0, @0x0345 + 06f5 02bf 00ae call 0x00ae + 06f7 0081 0348 lri $AR1, #0x0348 + 06f9 193e lrri $AC0.M, @$AR1 + 06fa 193c lrri $AC0.L, @$AR1 + 06fb 009f 0400 lri $AC1.M, #0x0400 + 06fd 00c0 0345 lr $AR0, @0x0345 + 06ff 02bf 008b call 0x008b + 0701 029f 0049 jmp 0x0049 + 0703 0080 0346 lri $AR0, #0x0346 + 0705 02bf 0051 call 0x0051 + 0707 02bf 0051 call 0x0051 + 0709 0081 0346 lri $AR1, #0x0346 + 070b 193e lrri $AC0.M, @$AR1 + 070c 193c lrri $AC0.L, @$AR1 + 070d 009f 0400 lri $AC1.M, #0x0400 + 070f 00c0 0344 lr $AR0, @0x0344 + 0711 02bf 007e call 0x007e + 0713 0081 0348 lri $AR1, #0x0348 + 0715 193e lrri $AC0.M, @$AR1 + 0716 193c lrri $AC0.L, @$AR1 + 0717 009f 0800 lri $AC1.M, #0x0800 + 0719 00c0 0344 lr $AR0, @0x0344 + 071b 02bf 007e call 0x007e + 071d 0080 0400 lri $AR0, #0x0400 + 071f 0083 0800 lri $AR3, #0x0800 + 0721 0084 0000 lri $IX0, #0x0000 + 0723 00da 0345 lr $AX0.H, @0x0345 + 0725 00df 0344 lr $AC1.M, @0x0344 + 0727 8f00 set40 + 0728 197b lrri $AX1.H, @$AR3 + 0729 b800 mulx $AX0.H, $AX1.H + 072a 197b lrri $AX1.H, @$AR3 + 072b 007f 0730 bloop $AC1.M, 0x0730 + 072d 199e lrrn $AC0.M, @$AR0 + 072e bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 072f 80b2 nx'sl : $AC0.M, $AX1.H + 0730 0000 nop + 0731 8e00 set16 + 0732 0081 0346 lri $AR1, #0x0346 + 0734 193e lrri $AC0.M, @$AR1 + 0735 193c lrri $AC0.L, @$AR1 + 0736 009f 0400 lri $AC1.M, #0x0400 + 0738 00c0 0344 lr $AR0, @0x0344 + 073a 02bf 008b call 0x008b + 073c 009e 8200 lri $AC0.M, #0x8200 + 073e 00dc 0344 lr $AC0.L, @0x0344 + 0740 02bf 005a call 0x005a + 0742 029f 0031 jmp 0x0031 + 0744 0080 0346 lri $AR0, #0x0346 + 0746 02bf 0051 call 0x0051 + 0748 0081 0346 lri $AR1, #0x0346 + 074a 009f 0400 lri $AC1.M, #0x0400 + 074c 00c0 0345 lr $AR0, @0x0345 + 074e 02bf 007c call 0x007c + 0750 02bf 8644 call 0x8644 + 0752 029f 0049 jmp 0x0049 +} + +void 0754_Unk() { + 0754 009e 0458 lri $AC0.M, #0x0458 + 0756 2231 lrs $AX0.H, @0x0031 + 0757 4400 addr $ACC0, $AX0.H + 0758 1c1e mrr $AR0, $AC0.M + 0759 1fda mrr $AC0.M, $AX0.H + 075a 3280 xorr'ls $AC0.M, $AX1.H : $AX0.L, $AC0.M + 075b 7400 incm $AC0.M + 075c 2232 lrs $AX0.H, @0x0032 + 075d 4400 addr $ACC0, $AX0.H + 075e 0090 0000 lri $AC0.H, #0x0000 + 0760 029f 0771 jmp 0x0771 + 0762 009e 0458 lri $AC0.M, #0x0458 + 0764 2231 lrs $AX0.H, @0x0031 + 0765 4400 addr $ACC0, $AX0.H + 0766 1c1e mrr $AR0, $AC0.M + 0767 1fda mrr $AC0.M, $AX0.H + 0768 3280 xorr'ls $AC0.M, $AX1.H : $AX0.L, $AC0.M + 0769 7400 incm $AC0.M + 076a 2232 lrs $AX0.H, @0x0032 + 076b 4400 addr $ACC0, $AX0.H + 076c 0090 0000 lri $AC0.H, #0x0000 + 076e 8200 cmp + 076f 0270 ifns + 0770 1fdf mrr $AC0.M, $AC1.M + 0771 1f3e mrr $AX1.L, $AC0.M + 0772 02bf 07c8 call 0x07c8 + 0774 2634 lrs $AC0.M, @0x0034 + 0775 2435 lrs $AC0.L, @0x0035 + 0776 7200 addaxl $ACC0, $AX1.L + 0777 5300 subr $ACC1, $AX1.L + 0778 2e34 srs @0x0034, $AC0.M + 0779 2c35 srs @0x0035, $AC0.L + 077a 02df ret +} + +void 077b_Unk() { + 077b 8100 clr $ACC0 + 077c 2234 lrs $AX0.H, @0x0034 + 077d 2035 lrs $AX0.L, @0x0035 + 077e 4800 addax $ACC0, $AX0.L + 077f 147c lsr $ACC0, #-4 + 0780 2e36 srs @0x0036, $AC0.M + 0781 2c37 srs @0x0037, $AC0.L + 0782 2380 lrs $AX1.H, @0xff80 + 0783 8d00 set15 + 0784 c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L + 0785 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0786 8c00 clr15 + 0787 2035 lrs $AX0.L, @0x0035 + 0788 f000 lsl16 $ACC0 + 0789 4e00 addp $ACC0 + 078a 238c lrs $AX1.H, @0xff8c + 078b 218d lrs $AX1.L, @0xff8d + 078c 4a00 addax $ACC0, $AX1.L + 078d 2e38 srs @0x0038, $AC0.M + 078e 2c39 srs @0x0039, $AC0.L + 078f 1fd8 mrr $AC0.M, $AX0.L + 0790 0240 000f andi $AC0.M, #0x000f + 0792 2e31 srs @0x0031, $AC0.M + 0793 268a lrs $AC0.M, @0xff8a + 0794 248b lrs $AC0.L, @0xff8b + 0795 5800 subax $ACC0, $AX0.L + 0796 2e3a srs @0x003a, $AC0.M + 0797 2c3b srs @0x003b, $AC0.L + 0798 02df ret +} + +void 0799_Unk() { + 0799 2236 lrs $AX0.H, @0x0036 + 079a 2037 lrs $AX0.L, @0x0037 + 079b 8100 clr $ACC0 + 079c 268a lrs $AC0.M, @0xff8a + 079d 248b lrs $AC0.L, @0xff8b + 079e 147c lsr $ACC0, #-4 + 079f 5800 subax $ACC0, $AX0.L + 07a0 0295 07a9 jz 0x07a9 + 07a2 02bf 081b call 0x081b + 07a4 0e10 lris $AC0.M, #0x10 + 07a5 2e32 srs @0x0032, $AC0.M + 07a6 8100 clr $ACC0 + 07a7 2e31 srs @0x0031, $AC0.M + 07a8 02df ret +} + +void 07a9_Unk() { + 07a9 228a lrs $AX0.H, @0xff8a + 07aa 208b lrs $AX0.L, @0xff8b + 07ab 8100 clr $ACC0 + 07ac 2634 lrs $AC0.M, @0x0034 + 07ad 2435 lrs $AC0.L, @0x0035 + 07ae 5800 subax $ACC0, $AX0.L + 07af 0290 07b6 jns 0x07b6 + 07b1 02bf 081b call 0x081b + 07b3 263b lrs $AC0.M, @0x003b + 07b4 029f 07a5 jmp 0x07a5 + 07b6 2688 lrs $AC0.M, @0xff88 + 07b7 2489 lrs $AC0.L, @0xff89 + 07b8 2e34 srs @0x0034, $AC0.M + 07b9 2c35 srs @0x0035, $AC0.L + 07ba 0e10 lris $AC0.M, #0x10 + 07bb 2e32 srs @0x0032, $AC0.M + 07bc 02bf 077b call 0x077b + 07be 2682 lrs $AC0.M, @0xff82 + 07bf 2e67 srs @0x0067, $AC0.M + 07c0 2683 lrs $AC0.M, @0xff83 + 07c1 2e66 srs @0x0066, $AC0.M + 07c2 8100 clr $ACC0 + 07c3 00fe 0362 sr @0x0362, $AC0.M + 07c5 02bf 081b call 0x081b + 07c7 02df ret +} + +void 07c8_Unk() { + 07c8 b100 tst $ACC0 + 07c9 02d5 retz + 07ca 04fe addis $ACC0, #0xfe + 07cb 1f1e mrr $AX0.L, $AC0.M + 07cc 191e lrri $AC0.M, @$AR0 + 07cd 0291 07d3 js 0x07d3 + 07cf 191a lrri $AX0.H, @$AR0 + 07d0 0058 loop $AX0.L + 07d1 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 07d2 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 07d3 1b7e srri @$AR3, $AC0.M + 07d4 02df ret +} + +void 07d5_Unk() { + 07d5 0092 0004 lri $CR, #0x0004 + 07d7 02bf 077b call 0x077b + 07d9 8100 clr $ACC0 + 07da 00fe 0362 sr @0x0362, $AC0.M + 07dc 8100 clr $ACC0 + 07dd 263a lrs $AC0.M, @0x003a + 07de 243b lrs $AC0.L, @0x003b + 07df b100 tst $ACC0 + 07e0 0294 07f2 jnz 0x07f2 + 07e2 02bf 0799 call 0x0799 + 07e4 2231 lrs $AX0.H, @0x0031 + 07e5 8600 tstaxh $AX0.H + 07e6 0294 07ef jnz 0x07ef + 07e8 02bf 0762 call 0x0762 + 07ea b900 tst $ACC1 + 07eb 0295 0818 jz 0x0818 + 07ed 02bf 077b call 0x077b + 07ef 8100 clr $ACC0 + 07f0 263a lrs $AC0.M, @0x003a + 07f1 243b lrs $AC0.L, @0x003b + 07f2 1f1f mrr $AX0.L, $AC1.M + 07f3 009a 0000 lri $AX0.H, #0x0000 + 07f5 5800 subax $ACC0, $AX0.L + 07f6 0290 0805 jns 0x0805 + 07f8 8100 clr $ACC0 + 07f9 2631 lrs $AC0.M, @0x0031 + 07fa b100 tst $ACC0 + 07fb 0294 07ff jnz 0x07ff + 07fd 02bf 0799 call 0x0799 + 07ff 02bf 0754 call 0x0754 + 0801 02bf 077b call 0x077b + 0803 029f 07dc jmp 0x07dc + 0805 8100 clr $ACC0 + 0806 2631 lrs $AC0.M, @0x0031 + 0807 b100 tst $ACC0 + 0808 0294 080c jnz 0x080c + 080a 02bf 0799 call 0x0799 + 080c 02bf 0762 call 0x0762 + 080e b900 tst $ACC1 + 080f 0295 0818 jz 0x0818 + 0811 02bf 077b call 0x077b + 0813 029f 0805 jmp 0x0805 + 0815 8100 clr $ACC0 + 0816 005f loop $AC1.M + 0817 1b7e srri @$AR3, $AC0.M + 0818 0092 00ff lri $CR, #0x00ff + 081a 02df ret +} + +void 081b_Unk() { + 081b 00ff 0360 sr @0x0360, $AC1.M + 081d 00da 0362 lr $AX0.H, @0x0362 + 081f 8600 tstaxh $AX0.H + 0820 0294 082d jnz 0x082d + 0822 0a01 lris $AX0.H, #0x01 + 0823 00fa 0362 sr @0x0362, $AX0.H + 0825 2638 lrs $AC0.M, @0x0038 + 0826 2439 lrs $AC0.L, @0x0039 + 0827 009f 0005 lri $AC1.M, #0x0005 + 0829 02bf 0103 call 0x0103 + 082b 0092 0004 lri $CR, #0x0004 + 082d 0080 ffd3 lri $AR0, #0xffd3 + 082f 0084 0000 lri $IX0, #0x0000 + 0831 199e lrrn $AC0.M, @$AR0 + 0832 1ffe mrr $AC1.M, $AC0.M + 0833 1401 lsl $ACC0, #1 + 0834 0240 001e andi $AC0.M, #0x001e + 0836 0200 0300 addi $AC0.M, #0x0300 + 0838 1c3e mrr $AR1, $AC0.M + 0839 157c lsr $ACC1, #-4 + 083a 0340 000f andi $AC1.M, #0x000f + 083c 0a11 lris $AX0.H, #0x11 + 083d 5500 subr $ACC1, $AX0.H + 083e 009a 00f0 lri $AX0.H, #0x00f0 + 0840 009b 000f lri $AX1.H, #0x000f + 0842 0082 0370 lri $AR2, #0x0370 + 0844 1998 lrrn $AX0.L, @$AR0 + 0845 6000 movr $ACC0, $AX0.L + 0846 1107 084d bloopi #0x07, 0x084d + 0848 3400 andr $AC0.M, $AX0.H + 0849 1408 lsl $ACC0, #8 + 084a 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 084b 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 084c 140c lsl $ACC0, #12 + 084d 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 084e 3400 andr $AC0.M, $AX0.H + 084f 1408 lsl $ACC0, #8 + 0850 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0851 3600 andr $AC0.M, $AX1.H + 0852 140c lsl $ACC0, #12 + 0853 1b5e srri @$AR2, $AC0.M + 0854 8f00 set40 + 0855 1f7f mrr $AX1.H, $AC1.M + 0856 2066 lrs $AX0.L, @0x0066 + 0857 2767 lrs $AC1.M, @0x0067 + 0858 193a lrri $AX0.H, @$AR1 + 0859 1939 lrri $AX1.L, @$AR1 + 085a 0080 0370 lri $AR0, #0x0370 + 085c 0081 0458 lri $AR1, #0x0458 + 085e 1c80 mrr $IX0, $AR0 + 085f a000 mulx $AX0.L, $AX1.L + 0860 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 + 0861 1108 086a bloopi #0x08, 0x086a + 0863 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 0864 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 0865 1485 asl $ACC0, #5 + 0866 e831 maddc's $AC0.M, $AX1.L : @$AR1, $AC0.M + 0867 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 0868 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 0869 1585 asl $ACC1, #5 + 086a ea39 maddc's $AC1.M, $AX1.L : @$AR1, $AC1.M + 086b 8e00 set16 + 086c 8900 clr $ACC1 + 086d 00df 0360 lr $AC1.M, @0x0360 + 086f 02df ret +} + +void 0870_Unk() { + 0870 0080 0346 lri $AR0, #0x0346 + 0872 02bf 0051 call 0x0051 + 0874 8100 clr $ACC0 + 0875 0080 0458 lri $AR0, #0x0458 + 0877 1010 loopi #0x10 + 0878 1b1e srri @$AR0, $AC0.M + 0879 00fe 0482 sr @0x0482, $AC0.M + 087b 00fe 0483 sr @0x0483, $AC0.M + 087d 009c 0000 lri $AC0.L, #0x0000 + 087f 00fe 0434 sr @0x0434, $AC0.M + 0881 00fc 0435 sr @0x0435, $AC0.L + 0883 009e 0100 lri $AC0.M, #0x0100 + 0885 009c f100 lri $AC0.L, #0xf100 + 0887 00fe 048e sr @0x048e, $AC0.M + 0889 00fc 048f sr @0x048f, $AC0.L + 088b 009e 0040 lri $AC0.M, #0x0040 + 088d 009c 0000 lri $AC0.L, #0x0000 + 088f 00fe 048c sr @0x048c, $AC0.M + 0891 00fc 048d sr @0x048d, $AC0.L + 0893 009e 0009 lri $AC0.M, #0x0009 + 0895 00fe 0480 sr @0x0480, $AC0.M + 0897 009e 0010 lri $AC0.M, #0x0010 + 0899 00fe 0432 sr @0x0432, $AC0.M + 089b 009e 0100 lri $AC0.M, #0x0100 + 089d 009c f250 lri $AC0.L, #0xf250 + 089f 00fe 048a sr @0x048a, $AC0.M + 08a1 00fc 048b sr @0x048b, $AC0.L + 08a3 009c 0000 lri $AC0.L, #0x0000 + 08a5 00fe 0488 sr @0x0488, $AC0.M + 08a7 00fc 0489 sr @0x0489, $AC0.L + 08a9 009e 0001 lri $AC0.M, #0x0001 + 08ab 00fe 0481 sr @0x0481, $AC0.M + 08ad 8900 clr $ACC1 + 08ae 00ff 0401 sr @0x0401, $AC1.M + 08b0 1180 08ca bloopi #0x80, 0x08ca + 08b2 0083 0580 lri $AR3, #0x0580 + 08b4 009f 0100 lri $AC1.M, #0x0100 + 08b6 02bf 07d5 call 0x07d5 + 08b8 0081 0346 lri $AR1, #0x0346 + 08ba 193e lrri $AC0.M, @$AR1 + 08bb 18bc lrrd $AC0.L, @$AR1 + 08bc 009f 0580 lri $AC1.M, #0x0580 + 08be 0080 0100 lri $AR0, #0x0100 + 08c0 02bf 008b call 0x008b + 08c2 0081 0346 lri $AR1, #0x0346 + 08c4 193e lrri $AC0.M, @$AR1 + 08c5 18bc lrrd $AC0.L, @$AR1 + 08c6 0098 0200 lri $AX0.L, #0x0200 + 08c8 7000 addaxl $ACC0, $AX0.L + 08c9 1b3e srri @$AR1, $AC0.M + 08ca 1abc srrd @$AR1, $AC0.L + 08cb 029f 0049 jmp 0x0049 +} + +void 08cd_Unk() { + 08cd 8900 clr $ACC1 + 08ce 009f 0050 lri $AC1.M, #0x0050 + 08d0 0083 0520 lri $AR3, #0x0520 + 08d2 02bf 08e8 call 0x08e8 + 08d4 029f 056d jmp 0x056d +} + +void 08d6_Unk() { + 08d6 00d8 0402 lr $AX0.L, @0x0402 + 08d8 8100 clr $ACC0 + 08d9 8900 clr $ACC1 + 08da 00dc 0430 lr $AC0.L, @0x0430 + 08dc 009a 0050 lri $AX0.H, #0x0050 + 08de 9000 mul $AX0.L, $AX0.H + 08df 9400 mulac $AX0.L, $AX0.H, $ACC0 + 08e0 1404 lsl $ACC0, #4 + 08e1 1ffe mrr $AC1.M, $AC0.M + 08e2 0083 0580 lri $AR3, #0x0580 + 08e4 02bf 08e8 call 0x08e8 + 08e6 029f 0565 jmp 0x0565 +} + +void 08e8_Unk() { + 08e8 0092 0004 lri $CR, #0x0004 + 08ea 8100 clr $ACC0 + 08eb 263a lrs $AC0.M, @0x003a + 08ec 243b lrs $AC0.L, @0x003b + 08ed 1f1f mrr $AX0.L, $AC1.M + 08ee 009a 0000 lri $AX0.H, #0x0000 + 08f0 5800 subax $ACC0, $AX0.L + 08f1 0290 0908 jns 0x0908 + 08f3 8900 clr $ACC1 + 08f4 00c0 043b lr $AR0, @0x043b + 08f6 02bf 092d call 0x092d + 08f8 8100 clr $ACC0 + 08f9 1fd8 mrr $AC0.M, $AX0.L + 08fa 223b lrs $AX0.H, @0x003b + 08fb 5400 subr $ACC0, $AX0.H + 08fc 0007 dar $AR3 + 08fd 1979 lrri $AX1.L, @$AR3 + 08fe 005e loop $AC0.M + 08ff 1b79 srri @$AR3, $AX1.L + 0900 009f 0001 lri $AC1.M, #0x0001 + 0902 2f01 srs @0x0001, $AC1.M + 0903 8900 clr $ACC1 + 0904 2f3b srs @0x003b, $AC1.M + 0905 0092 00ff lri $CR, #0x00ff + 0907 02df ret +} + +void 0908_Unk() { + 0908 2e3a srs @0x003a, $AC0.M + 0909 2c3b srs @0x003b, $AC0.L + 090a 8100 clr $ACC0 + 090b 8900 clr $ACC1 + 090c 268a lrs $AC0.M, @0xff8a + 090d 2734 lrs $AC1.M, @0x0034 + 090e 5c00 sub $ACC0, $AC1.L + 090f 2e36 srs @0x0036, $AC0.M + 0910 5000 subr $ACC0, $AX0.L + 0911 0290 0927 jns 0x0927 + 0913 00c0 0436 lr $AR0, @0x0436 + 0915 02bf 092d call 0x092d + 0917 8100 clr $ACC0 + 0918 1fd8 mrr $AC0.M, $AX0.L + 0919 2236 lrs $AX0.H, @0x0036 + 091a 5400 subr $ACC0, $AX0.H + 091b 1c1e mrr $AR0, $AC0.M + 091c 8100 clr $ACC0 + 091d 2e34 srs @0x0034, $AC0.M + 091e 2688 lrs $AC0.M, @0xff88 + 091f 2489 lrs $AC0.L, @0xff89 + 0920 2e8c srs @0xff8c, $AC0.M + 0921 2c8d srs @0xff8d, $AC0.L + 0922 02bf 092d call 0x092d + 0924 0092 00ff lri $CR, #0x00ff + 0926 02df ret +} + +void 0927_Unk() { + 0927 1c18 mrr $AR0, $AX0.L + 0928 02bf 092d call 0x092d + 092a 0092 00ff lri $CR, #0x00ff + 092c 02df ret +} + +void 092d_Unk() { + 092d 8100 clr $ACC0 + 092e 1fc0 mrr $AC0.M, $AR0 + 092f b100 tst $ACC0 + 0930 02d5 retz + 0931 8900 clr $ACC1 + 0932 2734 lrs $AC1.M, @0x0034 + 0933 0340 0001 andi $AC1.M, #0x0001 + 0935 009b 0000 lri $AX1.H, #0x0000 + 0937 1f3f mrr $AX1.L, $AC1.M + 0938 268c lrs $AC0.M, @0xff8c + 0939 248d lrs $AC0.L, @0xff8d + 093a 8900 clr $ACC1 + 093b 2534 lrs $AC1.L, @0x0034 + 093c 1501 lsl $ACC1, #1 + 093d 4c00 add $ACC0, $AC1.L + 093e 5a00 subax $ACC0, $AX1.L + 093f 5a00 subax $ACC0, $AX1.L + 0940 1c20 mrr $AR1, $AR0 + 0941 1fe0 mrr $AC1.M, $AR0 + 0942 0502 addis $ACC1, #0x02 + 0943 1c1f mrr $AR0, $AC1.M + 0944 009f 0a00 lri $AC1.M, #0x0a00 + 0946 0092 00ff lri $CR, #0x00ff + 0948 02bf 007e call 0x007e + 094a 0092 0004 lri $CR, #0x0004 + 094c 2734 lrs $AC1.M, @0x0034 + 094d 1f61 mrr $AX1.H, $AR1 + 094e 4700 addr $ACC1, $AX1.H + 094f 2f34 srs @0x0034, $AC1.M + 0950 0080 0a00 lri $AR0, #0x0a00 + 0952 8900 clr $ACC1 + 0953 1ff9 mrr $AC1.M, $AX1.L + 0954 b900 tst $ACC1 + 0955 0274 ifnz + 0956 0008 iar $AR0 + 0957 8900 clr $ACC1 + 0958 1fe1 mrr $AC1.M, $AR1 + 0959 191e lrri $AC0.M, @$AR0 + 095a 0701 cmpis $ACC1, #0x01 + 095b 0293 0964 jle 0x0964 + 095d 191a lrri $AX0.H, @$AR0 + 095e 05fe addis $ACC1, #0xfe + 095f 005f loop $AC1.M + 0960 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0961 1b7e srri @$AR3, $AC0.M + 0962 1b7a srri @$AR3, $AX0.H + 0963 02df ret +} + +void 0964_Unk() { + 0964 1b7e srri @$AR3, $AC0.M + 0965 02df ret +} + +void 0966_Unk() { + 0966 0092 0004 lri $CR, #0x0004 + 0968 2201 lrs $AX0.H, @0x0001 + 0969 8600 tstaxh $AX0.H + 096a 0294 0997 jnz 0x0997 + 096c 2204 lrs $AX0.H, @0x0004 + 096d 8600 tstaxh $AX0.H + 096e 02b4 09eb callne 0x09eb + 0970 2231 lrs $AX0.H, @0x0031 + 0971 8600 tstaxh $AX0.H + 0972 0295 098c jz 0x098c + 0974 009e 0458 lri $AC0.M, #0x0458 + 0976 4400 addr $ACC0, $AX0.H + 0977 1c1e mrr $AR0, $AC0.M + 0978 0e10 lris $AC0.M, #0x10 + 0979 5400 subr $ACC0, $AX0.H + 097a 1f7e mrr $AX1.H, $AC0.M + 097b 02bf 07c8 call 0x07c8 + 097d d900 cmpar $ACC1, $AX1.H + 097e 0292 098b jg 0x098b + 0980 0295 0987 jz 0x0987 + 0982 2631 lrs $AC0.M, @0x0031 + 0983 4c00 add $ACC0, $AC1.L + 0984 2e31 srs @0x0031, $AC0.M + 0985 029f 09e8 jmp 0x09e8 + 0987 8100 clr $ACC0 + 0988 2e31 srs @0x0031, $AC0.M + 0989 029f 09e8 jmp 0x09e8 + 098b 5700 subr $ACC1, $AX1.H + 098c 8100 clr $ACC0 + 098d 2605 lrs $AC0.M, @0x0005 + 098e b100 tst $ACC0 + 098f 0295 09a8 jz 0x09a8 + 0991 8100 clr $ACC0 + 0992 2e05 srs @0x0005, $AC0.M + 0993 2281 lrs $AX0.H, @0xff81 + 0994 8600 tstaxh $AX0.H + 0995 0294 099e jnz 0x099e + 0997 8100 clr $ACC0 + 0998 005f loop $AC1.M + 0999 1b7e srri @$AR3, $AC0.M + 099a 7400 incm $AC0.M + 099b 2e01 srs @0x0001, $AC0.M + 099c 029f 09e8 jmp 0x09e8 + 099e 2688 lrs $AC0.M, @0xff88 + 099f 2489 lrs $AC0.L, @0xff89 + 09a0 2e34 srs @0x0034, $AC0.M + 09a1 2c35 srs @0x0035, $AC0.L + 09a2 02bf 09f0 call 0x09f0 + 09a4 2682 lrs $AC0.M, @0xff82 + 09a5 2483 lrs $AC0.L, @0xff83 + 09a6 2e67 srs @0x0067, $AC0.M + 09a7 2c66 srs @0x0066, $AC0.L + 09a8 00ff 0360 sr @0x0360, $AC1.M + 09aa 2638 lrs $AC0.M, @0x0038 + 09ab 2439 lrs $AC0.L, @0x0039 + 09ac 009f 0005 lri $AC1.M, #0x0005 + 09ae 02bf 0103 call 0x0103 + 09b0 0092 0004 lri $CR, #0x0004 + 09b2 8900 clr $ACC1 + 09b3 00ff 0362 sr @0x0362, $AC1.M + 09b5 00df 0360 lr $AC1.M, @0x0360 + 09b7 02bf 0a09 call 0x0a09 + 09b9 8100 clr $ACC0 + 09ba 00de 0362 lr $AC0.M, @0x0362 + 09bc 2280 lrs $AX0.H, @0xff80 + 09bd 4400 addr $ACC0, $AX0.H + 09be 00fe 0362 sr @0x0362, $AC0.M + 09c0 8100 clr $ACC0 + 09c1 263a lrs $AC0.M, @0x003a + 09c2 243b lrs $AC0.L, @0x003b + 09c3 0a01 lris $AX0.H, #0x01 + 09c4 0081 0405 lri $AR1, #0x0405 + 09c6 7a00 dec $ACC0 + 09c7 b100 tst $ACC0 + 09c8 0275 ifz + 09c9 1a3a srr @$AR1, $AX0.H + 09ca 2e3a srs @0x003a, $AC0.M + 09cb 2c3b srs @0x003b, $AC0.L + 09cc 0710 cmpis $ACC1, #0x10 + 09cd 0293 09d6 jle 0x09d6 + 09cf 05f0 addis $ACC1, #0xf0 + 09d0 2205 lrs $AX0.H, @0x0005 + 09d1 8600 tstaxh $AX0.H + 09d2 0294 0991 jnz 0x0991 + 09d4 029f 09b7 jmp 0x09b7 + 09d6 0275 ifz + 09d7 8900 clr $ACC1 + 09d8 2f31 srs @0x0031, $AC1.M + 09d9 1fc3 mrr $AC0.M, $AR3 + 09da 04f0 addis $ACC0, #0xf0 + 09db 1c1e mrr $AR0, $AC0.M + 09dc 0083 0458 lri $AR3, #0x0458 + 09de 0e10 lris $AC0.M, #0x10 + 09df 02bf 07c8 call 0x07c8 + 09e1 2638 lrs $AC0.M, @0x0038 + 09e2 2439 lrs $AC0.L, @0x0039 + 09e3 00d8 0362 lr $AX0.L, @0x0362 + 09e5 7000 addaxl $ACC0, $AX0.L + 09e6 2c39 srs @0x0039, $AC0.L + 09e7 2e38 srs @0x0038, $AC0.M + 09e8 0092 00ff lri $CR, #0x00ff + 09ea 02df ret +} + +void 09eb_Unk() { + 09eb 8100 clr $ACC0 + 09ec 2e34 srs @0x0034, $AC0.M + 09ed 2e35 srs @0x0035, $AC0.M + 09ee 2e66 srs @0x0066, $AC0.M + 09ef 2e67 srs @0x0067, $AC0.M + 09f0 2334 lrs $AX1.H, @0x0034 + 09f1 2135 lrs $AX1.L, @0x0035 + 09f2 268a lrs $AC0.M, @0xff8a + 09f3 248b lrs $AC0.L, @0xff8b + 09f4 5a00 subax $ACC0, $AX1.L + 09f5 147c lsr $ACC0, #-4 + 09f6 2e3a srs @0x003a, $AC0.M + 09f7 2c3b srs @0x003b, $AC0.L + 09f8 2634 lrs $AC0.M, @0x0034 + 09f9 2435 lrs $AC0.L, @0x0035 + 09fa 147c lsr $ACC0, #-4 + 09fb 2280 lrs $AX0.H, @0xff80 + 09fc c010 mulc'mv $AC0.M, $AX0.H : $AX0.L, $AC0.L + 09fd 9600 mulmv $AX0.L, $AX0.H, $ACC0 + 09fe f000 lsl16 $ACC0 + 09ff 4e00 addp $ACC0 + 0a00 238c lrs $AX1.H, @0xff8c + 0a01 218d lrs $AX1.L, @0xff8d + 0a02 4a00 addax $ACC0, $AX1.L + 0a03 2e38 srs @0x0038, $AC0.M + 0a04 2c39 srs @0x0039, $AC0.L + 0a05 8100 clr $ACC0 + 0a06 2e05 srs @0x0005, $AC0.M + 0a07 2e31 srs @0x0031, $AC0.M + 0a08 02df ret +} + + +void 0a09_Unk() { + 0a09 00ff 0360 sr @0x0360, $AC1.M + 0a0b 0080 ffd3 lri $AR0, #0xffd3 + 0a0d 0084 0000 lri $IX0, #0x0000 + 0a0f 199e lrrn $AC0.M, @$AR0 + 0a10 1ffe mrr $AC1.M, $AC0.M + 0a11 1401 lsl $ACC0, #1 + 0a12 0240 001e andi $AC0.M, #0x001e + 0a14 0200 0300 addi $AC0.M, #0x0300 + 0a16 1c3e mrr $AR1, $AC0.M + 0a17 157c lsr $ACC1, #-4 + 0a18 0340 000f andi $AC1.M, #0x000f + 0a1a 0a11 lris $AX0.H, #0x11 + 0a1b 5500 subr $ACC1, $AX0.H + 0a1c 009a 00f0 lri $AX0.H, #0x00f0 + 0a1e 009b 000f lri $AX1.H, #0x000f + 0a20 0082 0370 lri $AR2, #0x0370 + 0a22 1998 lrrn $AX0.L, @$AR0 + 0a23 6000 movr $ACC0, $AX0.L + 0a24 1107 0a2b bloopi #0x07, 0x0a2b + 0a26 3400 andr $AC0.M, $AX0.H + 0a27 1408 lsl $ACC0, #8 + 0a28 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0a29 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 0a2a 140c lsl $ACC0, #12 + 0a2b 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0a2c 3400 andr $AC0.M, $AX0.H + 0a2d 1408 lsl $ACC0, #8 + 0a2e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0a2f 3600 andr $AC0.M, $AX1.H + 0a30 140c lsl $ACC0, #12 + 0a31 1b5e srri @$AR2, $AC0.M + 0a32 8f00 set40 + 0a33 1f7f mrr $AX1.H, $AC1.M + 0a34 2066 lrs $AX0.L, @0x0066 + 0a35 2767 lrs $AC1.M, @0x0067 + 0a36 193a lrri $AX0.H, @$AR1 + 0a37 1939 lrri $AX1.L, @$AR1 + 0a38 0080 0370 lri $AR0, #0x0370 + 0a3a 1c80 mrr $IX0, $AR0 + 0a3b a000 mulx $AX0.L, $AX1.L + 0a3c ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 + 0a3d 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 0a3e a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 0a3f 1485 asl $ACC0, #5 + 0a40 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 0a41 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 0a42 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 0a43 1585 asl $ACC1, #5 + 0a44 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M + 0a45 1106 0a4e bloopi #0x06, 0x0a4e + 0a47 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 0a48 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 0a49 1485 asl $ACC0, #5 + 0a4a e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 0a4b 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 0a4c a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 0a4d 1585 asl $ACC1, #5 + 0a4e ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M + 0a4f 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 0a50 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 0a51 1485 asl $ACC0, #5 + 0a52 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 0a53 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 0a54 a500 mulxac $AX0.L, $AX1.L, $ACC1 + 0a55 1585 asl $ACC1, #5 + 0a56 1b7f srri @$AR3, $AC1.M + 0a57 2e66 srs @0x0066, $AC0.M + 0a58 2f67 srs @0x0067, $AC1.M + 0a59 8e00 set16 + 0a5a 8900 clr $ACC1 + 0a5b 00df 0360 lr $AC1.M, @0x0360 + 0a5d 02df ret +} + +void 0a5e_Unk() { + 0a5e 0083 0520 lri $AR3, #0x0520 + 0a60 00de 0433 lr $AC0.M, @0x0433 + 0a62 1050 loopi #0x50 + 0a63 1b7e srri @$AR3, $AC0.M + 0a64 029f 056d jmp 0x056d + 0a66 0092 0004 lri $CR, #0x0004 + 0a68 2002 lrs $AX0.L, @0x0002 + 0a69 8100 clr $ACC0 + 0a6a 8900 clr $ACC1 + 0a6b 2430 lrs $AC0.L, @0x0030 + 0a6c 8d00 set15 + 0a6d 0099 0050 lri $AX1.L, #0x0050 + 0a6f a000 mulx $AX0.L, $AX1.L + 0a70 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0a71 1404 lsl $ACC0, #4 + 0a72 8c00 clr15 + 0a73 1ffe mrr $AC1.M, $AC0.M + 0a74 0083 0580 lri $AR3, #0x0580 + 0a76 2201 lrs $AX0.H, @0x0001 + 0a77 8600 tstaxh $AX0.H + 0a78 0294 0a89 jnz 0x0a89 + 0a7a 2204 lrs $AX0.H, @0x0004 + 0a7b 8600 tstaxh $AX0.H + 0a7c 02b4 0ad2 callne 0x0ad2 + 0a7e 8100 clr $ACC0 + 0a7f 2605 lrs $AC0.M, @0x0005 + 0a80 b100 tst $ACC0 + 0a81 0295 0a96 jz 0x0a96 + 0a83 8100 clr $ACC0 + 0a84 2e05 srs @0x0005, $AC0.M + 0a85 2281 lrs $AX0.H, @0xff81 + 0a86 8600 tstaxh $AX0.H + 0a87 0294 0a90 jnz 0x0a90 + 0a89 8100 clr $ACC0 + 0a8a 005f loop $AC1.M + 0a8b 1b7e srri @$AR3, $AC0.M + 0a8c 7400 incm $AC0.M + 0a8d 2e01 srs @0x0001, $AC0.M + 0a8e 029f 0ace jmp 0x0ace + 0a90 2688 lrs $AC0.M, @0xff88 + 0a91 2489 lrs $AC0.L, @0xff89 + 0a92 2e34 srs @0x0034, $AC0.M + 0a93 2c35 srs @0x0035, $AC0.L + 0a94 02bf 0ad5 call 0x0ad5 + 0a96 00ff 0360 sr @0x0360, $AC1.M + 0a98 2638 lrs $AC0.M, @0x0038 + 0a99 2439 lrs $AC0.L, @0x0039 + 0a9a 009f 0005 lri $AC1.M, #0x0005 + 0a9c 02bf 0103 call 0x0103 + 0a9e 0092 0004 lri $CR, #0x0004 + 0aa0 00df 0360 lr $AC1.M, @0x0360 + 0aa2 8100 clr $ACC0 + 0aa3 263a lrs $AC0.M, @0x003a + 0aa4 b100 tst $ACC0 + 0aa5 0294 0ab5 jnz 0x0ab5 + 0aa7 263b lrs $AC0.M, @0x003b + 0aa8 5c00 sub $ACC0, $AC1.L + 0aa9 0290 0ab5 jns 0x0ab5 + 0aab 223b lrs $AX0.H, @0x003b + 0aac 02bf 0ae6 call 0x0ae6 + 0aae 5500 subr $ACC1, $AX0.H + 0aaf 009a 0001 lri $AX0.H, #0x0001 + 0ab1 00fa 0405 sr @0x0405, $AX0.H + 0ab3 029f 0a83 jmp 0x0a83 + 0ab5 1f5f mrr $AX0.H, $AC1.M + 0ab6 02bf 0ae6 call 0x0ae6 + 0ab8 00fa 0362 sr @0x0362, $AX0.H + 0aba 8100 clr $ACC0 + 0abb 263a lrs $AC0.M, @0x003a + 0abc 243b lrs $AC0.L, @0x003b + 0abd 1570 lsr $ACC1, #-16 + 0abe 0a01 lris $AX0.H, #0x01 + 0abf 0081 0405 lri $AR1, #0x0405 + 0ac1 5c00 sub $ACC0, $AC1.L + 0ac2 b100 tst $ACC0 + 0ac3 0275 ifz + 0ac4 1a3a srr @$AR1, $AX0.H + 0ac5 2e3a srs @0x003a, $AC0.M + 0ac6 2c3b srs @0x003b, $AC0.L + 0ac7 2638 lrs $AC0.M, @0x0038 + 0ac8 2439 lrs $AC0.L, @0x0039 + 0ac9 00d8 0362 lr $AX0.L, @0x0362 + 0acb 7000 addaxl $ACC0, $AX0.L + 0acc 2c39 srs @0x0039, $AC0.L + 0acd 2e38 srs @0x0038, $AC0.M + 0ace 0092 00ff lri $CR, #0x00ff + 0ad0 029f 0565 jmp 0x0565 + 0ad2 8100 clr $ACC0 + 0ad3 2e34 srs @0x0034, $AC0.M + 0ad4 2e35 srs @0x0035, $AC0.M + 0ad5 2334 lrs $AX1.H, @0x0034 + 0ad6 2135 lrs $AX1.L, @0x0035 + 0ad7 268a lrs $AC0.M, @0xff8a + 0ad8 248b lrs $AC0.L, @0xff8b + 0ad9 5a00 subax $ACC0, $AX1.L + 0ada 2e3a srs @0x003a, $AC0.M + 0adb 2c3b srs @0x003b, $AC0.L + 0adc 2634 lrs $AC0.M, @0x0034 + 0add 2435 lrs $AC0.L, @0x0035 + 0ade 238c lrs $AX1.H, @0xff8c + 0adf 218d lrs $AX1.L, @0xff8d + 0ae0 4a00 addax $ACC0, $AX1.L + 0ae1 2e38 srs @0x0038, $AC0.M + 0ae2 2c39 srs @0x0039, $AC0.L + 0ae3 8100 clr $ACC0 + 0ae4 2e05 srs @0x0005, $AC0.M + 0ae5 02df ret +} + +void 0ae6_ConvSigned8bitToSigned16bit() { + 0ae6 0080 ffd3 lri $AR0, #0xffd3 + 0ae8 0084 0000 lri $IX0, #0x0000 + 0aea 007a 0aee bloop $AX0.H, 0x0aee + 0aec 199e lrrn $AC0.M, @$AR0 + 0aed 1488 asl $ACC0, #8 + 0aee 1b7e srri @$AR3, $AC0.M + 0aef 02df ret +} + +void 0af0_Unk() { + 0af0 009e ffff lri $AC0.M, #0xffff + 0af2 00fe 03f2 sr @0x03f2, $AC0.M + 0af4 8100 clr $ACC0 + 0af5 00fe 03f0 sr @0x03f0, $AC0.M + 0af7 00fe 03f6 sr @0x03f6, $AC0.M + 0af9 009e 0100 lri $AC0.M, #0x0100 + 0afb 00fe 03f7 sr @0x03f7, $AC0.M + 0afd 00da 03f7 lr $AX0.H, @0x03f7 + 0aff 009e 8000 lri $AC0.M, #0x8000 + 0b01 5400 subr $ACC0, $AX0.H + 0b02 00fe 03f5 sr @0x03f5, $AC0.M + 0b04 009e 0030 lri $AC0.M, #0x0030 + 0b06 00fe 03f3 sr @0x03f3, $AC0.M + 0b08 009e 0010 lri $AC0.M, #0x0010 + 0b0a 00fe 03f4 sr @0x03f4, $AC0.M + 0b0c 009e 0096 lri $AC0.M, #0x0096 + 0b0e 00fe 03f1 sr @0x03f1, $AC0.M + 0b10 02df ret +} + +void 0b11_Unk() { + 0b11 0080 0b00 lri $AR0, #0x0b00 + 0b13 8100 clr $ACC0 + 0b14 00de 03f0 lr $AC0.M, @0x03f0 + 0b16 8900 clr $ACC1 + 0b17 b100 tst $ACC0 + 0b18 0275 ifz + 0b19 0550 addis $ACC1, #0x50 + 0b1a 00ff 03f0 sr @0x03f0, $AC1.M + 0b1c 0200 0b60 addi $AC0.M, #0x0b60 + 0b1e 1c7e mrr $AR3, $AC0.M + 0b1f 009f 004e lri $AC1.M, #0x004e + 0b21 02bf 03ac call 0x03ac + 0b23 02df ret +} + +void 0b24_Unk() { + + 0b24 00de 03f1 lr $AC0.M, @0x03f1 + 0b26 0200 0b60 addi $AC0.M, #0x0b60 + 0b28 1c7e mrr $AR3, $AC0.M + 0b29 8100 clr $ACC0 + 0b2a 8900 clr $ACC1 + 0b2b 009f 00a0 lri $AC1.M, #0x00a0 + 0b2d 00de 03f1 lr $AC0.M, @0x03f1 + 0b2f 5d00 sub $ACC1, $AC0.L + 0b30 009e 0050 lri $AC0.M, #0x0050 + 0b32 0750 cmpis $ACC1, #0x50 + 0b33 0270 ifns + 0b34 5d00 sub $ACC1, $AC0.L + 0b35 00da 03f2 lr $AX0.H, @0x03f2 + 0b37 8600 tstaxh $AX0.H + 0b38 0290 0b56 jns 0x0b56 + 0b3a 00de 03f3 lr $AC0.M, @0x03f3 + 0b3c 5c00 sub $ACC0, $AC1.L + 0b3d 0293 0b41 jle 0x0b41 + 0b3f 029f 0b5b jmp 0x0b5b + 0b41 00db 03f7 lr $AX1.H, @0x03f7 + 0b43 009e 8000 lri $AC0.M, #0x8000 + 0b45 4600 addr $ACC0, $AX1.H + 0b46 029f 0b4d jmp 0x0b4d + 0b48 00db 03f7 lr $AX1.H, @0x03f7 + 0b4a 009e 8000 lri $AC0.M, #0x8000 + 0b4c 5600 subr $ACC0, $AX1.H + 0b4d 00fe 03f5 sr @0x03f5, $AC0.M + 0b4f 1fda mrr $AC0.M, $AX0.H + 0b50 7c00 neg $ACC0 + 0b51 1f5e mrr $AX0.H, $AC0.M + 0b52 00fe 03f2 sr @0x03f2, $AC0.M + 0b54 029f 0b5b jmp 0x0b5b + 0b56 00de 03f4 lr $AC0.M, @0x03f4 + 0b58 5d00 sub $ACC1, $AC0.L + 0b59 0293 0b48 jle 0x0b48 + 0b5b 8900 clr $ACC1 + 0b5c 00dd 03f5 lr $AC1.L, @0x03f5 + 0b5e 1501 lsl $ACC1, #1 + 0b5f 8100 clr $ACC0 + 0b60 00dc 03f6 lr $AC0.L, @0x03f6 + 0b62 008b 009f lri $WR3, #0x009f + 0b64 0080 0b00 lri $AR0, #0x0b00 + 0b66 0099 0000 lri $AX1.L, #0x0000 + 0b68 1150 0b6f bloopi #0x50, 0x0b6f + 0b6a 1878 lrr $AX0.L, @$AR3 + 0b6b 4c00 add $ACC0, $AC1.L + 0b6c 1cfe mrr $IX3, $AC0.M + 0b6d 001f addarn $AR3, $IX3 + 0b6e 1fd9 mrr $AC0.M, $AX1.L + 0b6f 1b18 srri @$AR0, $AX0.L + 0b70 009f 0b60 lri $AC1.M, #0x0b60 + 0b72 1fc3 mrr $AC0.M, $AR3 + 0b73 5c00 sub $ACC0, $AC1.L + 0b74 00fe 03f1 sr @0x03f1, $AC0.M + 0b76 00fc 03f6 sr @0x03f6, $AC0.L + 0b78 008b ffff lri $WR3, #0xffff + 0b7a 02df ret +} + +void 0b7b_Unk() { + 0b7b 009f 0050 lri $AC1.M, #0x0050 + 0b7d 0080 0b00 lri $AR0, #0x0b00 + 0b7f 0083 0d60 lri $AR3, #0x0d60 + 0b81 0098 3fff lri $AX0.L, #0x3fff + 0b83 02bf 03bd call 0x03bd + 0b85 009f 0050 lri $AC1.M, #0x0050 + 0b87 0080 0b00 lri $AR0, #0x0b00 + 0b89 0083 0d00 lri $AR3, #0x0d00 + 0b8b 0098 3fff lri $AX0.L, #0x3fff + 0b8d 02bf 03bd call 0x03bd + 0b8f 02df ret +} + +void 0b90_Unk() { + 0b90 8a00 m2 + 0b91 8f00 set40 + 0b92 8100 clr $ACC0 + 0b93 00de 0404 lr $AC0.M, @0x0404 + 0b95 b100 tst $ACC0 + 0b96 0295 0b9d jz 0x0b9d + 0b98 8100 clr $ACC0 + 0b99 00fe 0478 sr @0x0478, $AC0.M + 0b9b 00fe 0479 sr @0x0479, $AC0.M + 0b9d 00df 0479 lr $AC1.M, @0x0479 + 0b9f 00db 0478 lr $AX1.H, @0x0478 + 0ba1 0099 0000 lri $AX1.L, #0x0000 + 0ba3 0084 0000 lri $IX0, #0x0000 + 0ba5 1150 0bae bloopi #0x50, 0x0bae + 0ba7 199e lrrn $AC0.M, @$AR0 + 0ba8 5c7c sub'ln $ACC0, $AC1.L : $AC1.M, @$AR0 + 0ba9 c000 mulc $AC0.M, $AX0.H + 0baa 6e00 movp $ACC0 + 0bab 1488 asl $ACC0, #8 + 0bac 4a00 addax $ACC0, $AX1.L + 0bad 1b1e srri @$AR0, $AC0.M + 0bae 1f7e mrr $AX1.H, $AC0.M + 0baf 00fb 0478 sr @0x0478, $AX1.H + 0bb1 00ff 0479 sr @0x0479, $AC1.M + 0bb3 8b00 m0 + 0bb4 8e00 set16 + 0bb5 02df ret +} + +void 0bb6_Unk() { + 0bb6 0080 01be lri $AR0, #0x01be + 0bb8 1918 lrri $AX0.L, @$AR0 + 0bb9 191a lrri $AX0.H, @$AR0 + 0bba 0080 0180 lri $AR0, #0x0180 + 0bbc 0083 0180 lri $AR3, #0x0180 + 0bbe 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0bbf 1ffe mrr $AC1.M, $AC0.M + 0bc0 1120 0bc7 bloopi #0x20, 0x0bc7 + 0bc2 7c00 neg $ACC0 + 0bc3 d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0bc4 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0bc5 c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 + 0bc6 1501 lsl $ACC1, #1 + 0bc7 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M + 0bc8 0080 01fe lri $AR0, #0x01fe + 0bca 191a lrri $AX0.H, @$AR0 + 0bcb 1918 lrri $AX0.L, @$AR0 + 0bcc 0080 01c0 lri $AR0, #0x01c0 + 0bce 0083 01c0 lri $AR3, #0x01c0 + 0bd0 1ff8 mrr $AC1.M, $AX0.L + 0bd1 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0bd2 f800 addpaxz $ACC0, $AX0.H + 0bd3 0240 01ff andi $AC0.M, #0x01ff + 0bd5 0260 2000 ori $AC0.M, #0x2000 + 0bd7 02bf 0bda call 0x0bda + 0bd9 02df ret +} + +void 0bda_Unk() { + 0bda b900 tst $ACC1 + 0bdb 0272 ifg + 0bdc 7c00 neg $ACC0 + 0bdd 1f7e mrr $AX1.H, $AC0.M + 0bde 4700 addr $ACC1, $AX1.H + 0bdf 1110 0be4 bloopi #0x10, 0x0be4 + 0be1 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0be2 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0be3 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0be4 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0be5 02df ret +} + +void 0be6_Nop() { + 0be6 0000 nop + 0be7 0000 nop + 0be8 0000 nop + 0be9 0000 nop + 0bea 0000 nop + 0beb 0000 nop + 0bec 0000 nop + 0bed 0000 nop + 0bee 0000 nop + 0bef 0000 nop +} \ No newline at end of file diff --git a/docs/DSP/DSP_UC_MP2.txt b/docs/DSP/DSP_UC_MP2.txt new file mode 100644 index 0000000000..a0eedb801f --- /dev/null +++ b/docs/DSP/DSP_UC_MP2.txt @@ -0,0 +1,2875 @@ +// A common version of AX, especially in early games. CR is set to #FF all the +// time in this ucode, so srs/lrs always operate on hw registers. + + 0000 0000 nop + 0001 0000 nop + 0002 029f 0e71 jmp 0x0e71 + 0004 029f 0e80 jmp 0x0e80 + 0006 029f 0e9c jmp 0x0e9c + 0008 029f 0ebc jmp 0x0ebc + 000a 029f 0ec2 jmp 0x0ec2 + 000c 029f 0ef4 jmp 0x0ef4 + 000e 029f 0efa jmp 0x0efa + +void 0010_Entry() { + 0010 1302 sbset #0x02 + 0011 1303 sbset #0x03 + 0012 1204 sbclr #0x04 + 0013 1305 sbset #0x05 + 0014 1306 sbset #0x06 + 0015 8e00 set16 + 0016 8c00 clr15 + 0017 8b00 m0 + 0018 0092 00ff lri $CR, #0x00ff + 001a 8100 clr $ACC0 + 001b 8900 clr $ACC1 + 001c 009e 0e80 lri $AC0.M, #0x0e80 + 001e 00fe 0e1b sr @0x0e1b, $AC0.M + 0020 8100 clr $ACC0 + 0021 00fe 0e31 sr @0x0e31, $AC0.M + 0023 16fc dcd1 si @DMBH, #0xdcd1 + 0025 16fd 0000 si @DMBL, #0x0000 + 0027 16fb 0001 si @DIRQ, #0x0001 + 0029 26fc lrs $AC0.M, @DMBH + 002a 02a0 8000 andf $AC0.M, #0x8000 + 002c 029c 0029 jlnz 0x0029 + 002e 029f 0045 jmp 0x0045 +} + +void 0030_Unk_Restart() { + 0030 1302 sbset #0x02 + 0031 1303 sbset #0x03 + 0032 1204 sbclr #0x04 + 0033 1305 sbset #0x05 + 0034 1306 sbset #0x06 + 0035 8e00 set16 + 0036 8c00 clr15 + 0037 8b00 m0 + 0038 0092 00ff lri $CR, #0x00ff + 003a 16fc dcd1 si @DMBH, #0xdcd1 + 003c 16fd 0001 si @DMBL, #0x0001 + 003e 16fb 0001 si @DIRQ, #0x0001 + + do { + // 0040 26fc lrs $AC0.M, @DMBH + // 0041 02a0 8000 andf $AC0.M, #0x8000 + // 0043 029c 0040 jlnz 0x0040 + } while (DMBH & 0x8000); + + 0045 8e00 set16 + 0046 8100 clr $ACC0 + 0047 8900 clr $ACC1 + 0048 009f babe lri $AC1.M, #0xbabe + + do { + // 004a 26fe lrs $AC0.M, @CMBH + // 004b 02c0 8000 andcf $AC0.M, #0x8000 + // 004d 029c 004a jlnz 0x004a + // 004f 8200 cmp + // 0050 0294 004a jnz 0x004a + } while (CMBH & 0x8000 && CMBH == 0xbabe); + + 0052 23ff lrs $AX1.H, @CMBL + 0053 8100 clr $ACC0 + do { + // 0054 26fe lrs $AC0.M, @CMBH + // 0055 02c0 8000 andcf $AC0.M, #0x8000 + // 0057 029c 0054 jlnz 0x0054 + } while (CMBH & 0x8000) + + 0059 27ff lrs $AC1.M, @CMBL + 005a 0240 7fff andi $AC0.M, #0x7fff + 005c 2ece srs @DSMAH, $AC0.M + 005d 2fcf srs @DSMAL, $AC1.M + 005e 16cd 0c00 si @DSPA, #0x0c00 + 0060 8100 clr $ACC0 + 0061 2ec9 srs @DSCR, $AC0.M + 0062 1ffb mrr $AC1.M, $AX1.H + 0063 2fcb srs @DSBL, $AC1.M + 0064 02bf 0652 call 0652_WaitDMA + + 0066 0080 0c00 lri $AR0, #0x0c00 + 0068 8e00 set16 + 0069 8100 clr $ACC0 + 006a 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 006b b100 tst $ACC0 + 006c 0291 007e jl 0x007e + 006e 0a13 lris $AX0.H, #0x13 + 006f c100 cmpar $ACC0, $AX0.H + 0070 0292 007e jg 0x007e + 0072 009f 0c86 lri $AC1.M, #0x0c86 + 0074 4c00 add $ACC0, $ACC1 + 0075 1c7e mrr $AR3, $AC0.M + 0076 0213 ilrr $AC0.M, @$AR3 + 0077 1c7e mrr $AR3, $AC0.M + 0078 176f jmpr $AR3 + + // Check for bad ucode mail + 0079 16fc fbad si @DMBH, #0xfbad + 007b 16fd 8080 si @DMBL, #0x8080 + 007d 0021 halt + + // Check for bad ucode mail + 007e 16fc baad si @DMBH, #0xbaad + 0080 2efd srs @DMBL, $AC0.M + + 0082 8d00 set15 + 0083 8f00 set40 + 0084 8a00 m2 + 0085 8900 clr $ACC1 + 0086 8168 clr'l $ACC0 : $AC1.L, @$AR0 + 0087 0098 0000 lri $AX0.L, #0x0000 + 0089 0099 0001 lri $AX1.L, #0x0001 + 008b 0081 0000 lri $AR1, #0x0000 + 008d 193e lrri $AC0.M, @$AR1 + 008e 193c lrri $AC0.L, @$AR1 + + // 008f 11a0 009a bloopi #0xa0, 0x009a + for (int i = 0; i < 0x140; i+=2) { + 0091 a100 tstaxl $ACC0 + 0092 8271 cmp'l : $AC0.M, @$AR1 + 0093 0277 ifc + 0094 1f19 mrr $AX0.L, $AX1.L + 0095 193c lrri $AC0.L, @$AR1 + 0096 a100 tstaxl $ACC0 + 0097 8271 cmp'l : $AC0.M, @$AR1 + 0098 0277 ifc + 0099 1f19 mrr $AX0.L, $AX1.L + 009a 193c lrri $AC0.L, @$AR1 + } + + 009b 1fd8 mrr $AC0.M, $AX0.L + 009c b100 tst $ACC0 + 009d 0294 00cb jnz 0x00cb + 009f 00de 0e44 lr $AC0.M, @0x0e44 + 00a1 b100 tst $ACC0 + 00a2 0294 00ab jnz 0x00ab + 00a4 191c lrri $AC0.L, @$AR0 + 00a5 191c lrri $AC0.L, @$AR0 + 00a6 191c lrri $AC0.L, @$AR0 + 00a7 00e0 0e45 sr @0x0e45, $AR0 + 00a9 029f 0114 jmp 0x0114 + 00ab 8b00 m0 + 00ac 7a00 dec $ACC0 + 00ad 00fe 0e44 sr @0x0e44, $AC0.M + 00af 8400 clrp + 00b0 0099 0140 lri $AX1.L, #0x0140 + 00b2 1f1e mrr $AX0.L, $AC0.M + 00b3 a000 mulx $AX0.L, $AX1.L + 00b4 191e lrri $AC0.M, @$AR0 + 00b5 191e lrri $AC0.M, @$AR0 + 00b6 191c lrri $AC0.L, @$AR0 + 00b7 00e0 0e45 sr @0x0e45, $AR0 + 00b9 009a 0000 lri $AX0.H, #0x0000 + 00bb 0098 0dc0 lri $AX0.L, #0x0dc0 + 00bd 4e00 addp $ACC0 + 00be 4800 addax $ACC0, $AX0.L + 00bf 2ece srs @DSMAH, $AC0.M + 00c0 2ccf srs @DSMAL, $AC0.L + 00c1 009e 0e48 lri $AC0.M, #0x0e48 + 00c3 2ecd srs @DSPA, $AC0.M + 00c4 0e00 lris $AC0.M, #0x00 + 00c5 2ec9 srs @DSCR, $AC0.M + 00c6 009e 0140 lri $AC0.M, #0x0140 + 00c8 2ecb srs @DSBL, $AC0.M + 00c9 029f 00e3 jmp 0x00e3 + + 00cb 8b00 m0 + 00cc 00d8 0e44 lr $AX0.L, @0x0e44 + 00ce 0099 0140 lri $AX1.L, #0x0140 + 00d0 a000 mulx $AX0.L, $AX1.L + 00d1 191e lrri $AC0.M, @$AR0 + 00d2 00fe 0e44 sr @0x0e44, $AC0.M + 00d4 191e lrri $AC0.M, @$AR0 + 00d5 191c lrri $AC0.L, @$AR0 + 00d6 00e0 0e45 sr @0x0e45, $AR0 + 00d8 4e00 addp $ACC0 + 00d9 2ece srs @DSMAH, $AC0.M + 00da 2ccf srs @DSMAL, $AC0.L + 00db 009e 0e48 lri $AC0.M, #0x0e48 + 00dd 2ecd srs @DSPA, $AC0.M + 00de 0e00 lris $AC0.M, #0x00 + 00df 2ec9 srs @DSCR, $AC0.M + 00e0 009e 0140 lri $AC0.M, #0x0140 + 00e2 2ecb srs @DSBL, $AC0.M + 00e3 02bf 0652 call 0652_WaitDMA + 00e5 8a48 m2'l : $AX1.L, @$AR0 + 00e6 0083 0e48 lri $AR3, #0x0e48 + 00e8 0080 0000 lri $AR0, #0x0000 + 00ea 0081 0000 lri $AR1, #0x0000 + 00ec 1979 lrri $AX1.L, @$AR3 + 00ed 193a lrri $AX0.H, @$AR1 + 00ee b041 mulx'l $AX0.H, $AX1.L : $AX0.L, @$AR1 + 00ef a64b mulxmv'l $AX0.L, $AX1.L, $ACC0 : $AX1.L, @$AR3 + 00f0 f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 00f1 b441 mulxac'l $AX0.H, $AX1.L, $ACC0 : $AX0.L, @$AR1 + 00f2 9100 asr16 $ACC0 + 00f3 1150 00fc bloopi #0x50, 0x00fc + 00f5 a792 mulxmv'sl $AX0.L, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 00f6 f151 lsl16'l $ACC1 : $AX0.H, @$AR1 + 00f7 b520 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR0, $AC0.L + 00f8 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 00f9 a693 mulxmv'sl $AX0.L, $AX1.L, $ACC0 : $AC1.M, $AX1.L + 00fa f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 00fb b428 mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC1.L + 00fc 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 00fd 0083 0e48 lri $AR3, #0x0e48 + 00ff 0080 0140 lri $AR0, #0x0140 + 0101 0081 0140 lri $AR1, #0x0140 + 0103 1979 lrri $AX1.L, @$AR3 + 0104 193a lrri $AX0.H, @$AR1 + 0105 b041 mulx'l $AX0.H, $AX1.L : $AX0.L, @$AR1 + 0106 a64b mulxmv'l $AX0.L, $AX1.L, $ACC0 : $AX1.L, @$AR3 + 0107 f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 0108 b441 mulxac'l $AX0.H, $AX1.L, $ACC0 : $AX0.L, @$AR1 + 0109 9100 asr16 $ACC0 + 010a 1150 0113 bloopi #0x50, 0x0113 + 010c a792 mulxmv'sl $AX0.L, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 010d f151 lsl16'l $ACC1 : $AX0.H, @$AR1 + 010e b520 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR0, $AC0.L + 010f 9941 asr16'l $ACC1 : $AX0.L, @$AR1 + 0110 a693 mulxmv'sl $AX0.L, $AX1.L, $ACC0 : $AC1.M, $AX1.L + 0111 f051 lsl16'l $ACC0 : $AX0.H, @$AR1 + 0112 b428 mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC1.L + 0113 9141 asr16'l $ACC0 : $AX0.L, @$AR1 + 0114 00c0 0e45 lr $AR0, @0x0e45 + 0116 029f 0068 jmp 0x0068 + 0118 8100 clr $ACC0 + 0119 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 011a 8e78 set16'l : $AC1.M, @$AR0 + 011b 2ece srs @DSMAH, $AC0.M + 011c 2fcf srs @DSMAL, $AC1.M + 011d 009e 0e48 lri $AC0.M, #0x0e48 + 011f 2ecd srs @DSPA, $AC0.M + 0120 0e00 lris $AC0.M, #0x00 + 0121 2ec9 srs @DSCR, $AC0.M + 0122 009e 0040 lri $AC0.M, #0x0040 + 0124 2ecb srs @DSBL, $AC0.M + 0125 0081 0e48 lri $AR1, #0x0e48 + 0127 0082 0000 lri $AR2, #0x0000 + 0129 009b 009f lri $AX1.H, #0x009f + 012b 009a 0140 lri $AX0.H, #0x0140 + 012d 8100 clr $ACC0 + 012e 8900 clr $ACC1 + 012f 8f00 set40 + 0130 02bf 0652 call 0652_WaitDMA + 0132 193e lrri $AC0.M, @$AR1 + 0133 193c lrri $AC0.L, @$AR1 + 0134 b100 tst $ACC0 + 0135 193f lrri $AC1.M, @$AR1 + 0136 0294 013c jnz 0x013c + 0138 005a loop $AX0.H + 0139 1b5e srri @$AR2, $AC0.M + 013a 029f 0144 jmp 0x0144 + 013c 9900 asr16 $ACC1 + 013d 1b5e srri @$AR2, $AC0.M + 013e 1b5c srri @$AR2, $AC0.L + 013f 007b 0143 bloop $AX1.H, 0x0143 + 0141 4c00 add $ACC0, $ACC1 + 0142 1b5e srri @$AR2, $AC0.M + 0143 1b5c srri @$AR2, $AC0.L + 0144 193e lrri $AC0.M, @$AR1 + 0145 193c lrri $AC0.L, @$AR1 + 0146 b100 tst $ACC0 + 0147 193f lrri $AC1.M, @$AR1 + 0148 0294 014e jnz 0x014e + 014a 005a loop $AX0.H + 014b 1b5e srri @$AR2, $AC0.M + 014c 029f 0156 jmp 0x0156 + 014e 9900 asr16 $ACC1 + 014f 1b5e srri @$AR2, $AC0.M + 0150 1b5c srri @$AR2, $AC0.L + 0151 007b 0155 bloop $AX1.H, 0x0155 + 0153 4c00 add $ACC0, $ACC1 + 0154 1b5e srri @$AR2, $AC0.M + 0155 1b5c srri @$AR2, $AC0.L + 0156 193e lrri $AC0.M, @$AR1 + 0157 193c lrri $AC0.L, @$AR1 + 0158 b100 tst $ACC0 + 0159 193f lrri $AC1.M, @$AR1 + 015a 0294 0160 jnz 0x0160 + 015c 005a loop $AX0.H + 015d 1b5e srri @$AR2, $AC0.M + 015e 029f 0168 jmp 0x0168 + 0160 9900 asr16 $ACC1 + 0161 1b5e srri @$AR2, $AC0.M + 0162 1b5c srri @$AR2, $AC0.L + 0163 007b 0167 bloop $AX1.H, 0x0167 + 0165 4c00 add $ACC0, $ACC1 + 0166 1b5e srri @$AR2, $AC0.M + 0167 1b5c srri @$AR2, $AC0.L + 0168 0082 0400 lri $AR2, #0x0400 + 016a 193e lrri $AC0.M, @$AR1 + 016b 193c lrri $AC0.L, @$AR1 + 016c b179 tst'l $ACC0 : $AC1.M, @$AR1 + 016d 0294 0173 jnz 0x0173 + 016f 005a loop $AX0.H + 0170 1b5e srri @$AR2, $AC0.M + 0171 029f 017b jmp 0x017b + 0173 9900 asr16 $ACC1 + 0174 1b5e srri @$AR2, $AC0.M + 0175 1b5c srri @$AR2, $AC0.L + 0176 007b 017a bloop $AX1.H, 0x017a + 0178 4c00 add $ACC0, $ACC1 + 0179 1b5e srri @$AR2, $AC0.M + 017a 1b5c srri @$AR2, $AC0.L + 017b 193e lrri $AC0.M, @$AR1 + 017c 193c lrri $AC0.L, @$AR1 + 017d b179 tst'l $ACC0 : $AC1.M, @$AR1 + 017e 0294 0184 jnz 0x0184 + 0180 005a loop $AX0.H + 0181 1b5e srri @$AR2, $AC0.M + 0182 029f 018c jmp 0x018c + 0184 9900 asr16 $ACC1 + 0185 1b5e srri @$AR2, $AC0.M + 0186 1b5c srri @$AR2, $AC0.L + 0187 007b 018b bloop $AX1.H, 0x018b + 0189 4c00 add $ACC0, $ACC1 + 018a 1b5e srri @$AR2, $AC0.M + 018b 1b5c srri @$AR2, $AC0.L + 018c 193e lrri $AC0.M, @$AR1 + 018d 193c lrri $AC0.L, @$AR1 + 018e b179 tst'l $ACC0 : $AC1.M, @$AR1 + 018f 0294 0195 jnz 0x0195 + 0191 005a loop $AX0.H + 0192 1b5e srri @$AR2, $AC0.M + 0193 029f 019d jmp 0x019d + 0195 9900 asr16 $ACC1 + 0196 1b5e srri @$AR2, $AC0.M + 0197 1b5c srri @$AR2, $AC0.L + 0198 007b 019c bloop $AX1.H, 0x019c + 019a 4c00 add $ACC0, $ACC1 + 019b 1b5e srri @$AR2, $AC0.M + 019c 1b5c srri @$AR2, $AC0.L + 019d 0082 07c0 lri $AR2, #0x07c0 + 019f 193e lrri $AC0.M, @$AR1 + 01a0 193c lrri $AC0.L, @$AR1 + 01a1 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01a2 0294 01a8 jnz 0x01a8 + 01a4 005a loop $AX0.H + 01a5 1b5e srri @$AR2, $AC0.M + 01a6 029f 01b0 jmp 0x01b0 + 01a8 9900 asr16 $ACC1 + 01a9 1b5e srri @$AR2, $AC0.M + 01aa 1b5c srri @$AR2, $AC0.L + 01ab 007b 01af bloop $AX1.H, 0x01af + 01ad 4c00 add $ACC0, $ACC1 + 01ae 1b5e srri @$AR2, $AC0.M + 01af 1b5c srri @$AR2, $AC0.L + 01b0 193e lrri $AC0.M, @$AR1 + 01b1 193c lrri $AC0.L, @$AR1 + 01b2 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01b3 0294 01b9 jnz 0x01b9 + 01b5 005a loop $AX0.H + 01b6 1b5e srri @$AR2, $AC0.M + 01b7 029f 01c1 jmp 0x01c1 + 01b9 9900 asr16 $ACC1 + 01ba 1b5e srri @$AR2, $AC0.M + 01bb 1b5c srri @$AR2, $AC0.L + 01bc 007b 01c0 bloop $AX1.H, 0x01c0 + 01be 4c00 add $ACC0, $ACC1 + 01bf 1b5e srri @$AR2, $AC0.M + 01c0 1b5c srri @$AR2, $AC0.L + 01c1 193e lrri $AC0.M, @$AR1 + 01c2 193c lrri $AC0.L, @$AR1 + 01c3 b179 tst'l $ACC0 : $AC1.M, @$AR1 + 01c4 0294 01ca jnz 0x01ca + 01c6 005a loop $AX0.H + 01c7 1b5e srri @$AR2, $AC0.M + 01c8 029f 01d2 jmp 0x01d2 + 01ca 9900 asr16 $ACC1 + 01cb 1b5e srri @$AR2, $AC0.M + 01cc 1b5c srri @$AR2, $AC0.L + 01cd 007b 01d1 bloop $AX1.H, 0x01d1 + 01cf 4c00 add $ACC0, $ACC1 + 01d0 1b5e srri @$AR2, $AC0.M + 01d1 1b5c srri @$AR2, $AC0.L + 01d2 029f 0068 jmp 0x0068 + 01d4 0085 ffff lri $IX1, #0xffff + 01d6 8150 clr'l $ACC0 : $AX0.H, @$AR0 + 01d7 8940 clr'l $ACC1 : $AX0.L, @$AR0 + 01d8 8e48 set16'l : $AX1.L, @$AR0 + 01d9 00fa 0e17 sr @0x0e17, $AX0.H + 01db 00f8 0e18 sr @0x0e18, $AX0.L + 01dd 0081 0000 lri $AR1, #0x0000 + 01df 02bf 05e7 call 0x05e7 + 01e1 00da 0e17 lr $AX0.H, @0x0e17 + 01e3 00d8 0e18 lr $AX0.L, @0x0e18 + 01e5 8948 clr'l $ACC1 : $AX1.L, @$AR0 + 01e6 0081 0400 lri $AR1, #0x0400 + 01e8 02bf 05e7 call 0x05e7 + 01ea 00da 0e17 lr $AX0.H, @0x0e17 + 01ec 00d8 0e18 lr $AX0.L, @0x0e18 + 01ee 8948 clr'l $ACC1 : $AX1.L, @$AR0 + 01ef 0081 07c0 lri $AR1, #0x07c0 + 01f1 02bf 05e7 call 0x05e7 + 01f3 029f 0068 jmp 0x0068 + 01f5 0086 07c0 lri $IX2, #0x07c0 + 01f7 02bf 057a call 0x057a + 01f9 029f 0068 jmp 0x0068 + 01fb 8100 clr $ACC0 + 01fc 8e00 set16 + 01fd 191e lrri $AC0.M, @$AR0 + 01fe 191c lrri $AC0.L, @$AR0 + 01ff 2ece srs @DSMAH, $AC0.M + 0200 2ccf srs @DSMAL, $AC0.L + 0201 16cd 0000 si @DSPA, #0x0000 + 0203 16c9 0001 si @DSCR, #0x0001 + 0205 16cb 0780 si @DSBL, #0x0780 + 0207 02bf 0652 call 0652_WaitDMA + 0209 029f 0068 jmp 0x0068 + 020b 8100 clr $ACC0 + 020c 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 020d 8e60 set16'l : $AC0.L, @$AR0 + 020e 2ece srs @DSMAH, $AC0.M + 020f 2ccf srs @DSMAL, $AC0.L + 0210 16cd 0e48 si @DSPA, #0x0e48 + 0212 16c9 0000 si @DSCR, #0x0000 + 0214 8900 clr $ACC1 + 0215 0d20 lris $AC1.L, #0x20 + 0216 2dcb srs @DSBL, $AC1.L + 0217 4c00 add $ACC0, $ACC1 + 0218 1c80 mrr $IX0, $AR0 + 0219 0080 0280 lri $AR0, #0x0280 + 021b 0081 0000 lri $AR1, #0x0000 + 021d 0082 0140 lri $AR2, #0x0140 + 021f 0083 0e48 lri $AR3, #0x0e48 + 0221 0a00 lris $AX0.H, #0x00 + 0222 27c9 lrs $AC1.M, @DSCR + 0223 03a0 0004 andf $AC1.M, #0x0004 + 0225 029c 0222 jlnz 0x0222 + 0227 2ece srs @DSMAH, $AC0.M + 0228 2ccf srs @DSMAL, $AC0.L + 0229 16cd 0e58 si @DSPA, #0x0e58 + 022b 16c9 0000 si @DSCR, #0x0000 + 022d 16cb 0260 si @DSBL, #0x0260 + 022f 009f 00a0 lri $AC1.M, #0x00a0 + 0231 8f00 set40 + 0232 007f 023b bloop $AC1.M, 0x023b + 0234 197e lrri $AC0.M, @$AR3 + 0235 1b1a srri @$AR0, $AX0.H + 0236 197c lrri $AC0.L, @$AR3 + 0237 1b1a srri @$AR0, $AX0.H + 0238 1b5e srri @$AR2, $AC0.M + 0239 7c22 neg's $ACC0 : @$AR2, $AC0.L + 023a 1b3e srri @$AR1, $AC0.M + 023b 1b3c srri @$AR1, $AC0.L + 023c 1c04 mrr $AR0, $IX0 + 023d 029f 0068 jmp 0x0068 + 023f 8e70 set16'l : $AC0.M, @$AR0 + 0240 8960 clr'l $ACC1 : $AC0.L, @$AR0 + 0241 191f lrri $AC1.M, @$AR0 + 0242 2ece srs @DSMAH, $AC0.M + 0243 2ccf srs @DSMAL, $AC0.L + 0244 16cd 0c00 si @DSPA, #0x0c00 + 0246 16c9 0000 si @DSCR, #0x0000 + 0248 0503 addis $ACC1, #0x03 + 0249 0340 fff0 andi $AC1.M, #0xfff0 + 024b 2fcb srs @DSBL, $AC1.M + 024c 02bf 0652 call 0652_WaitDMA + 024e 0080 0c00 lri $AR0, #0x0c00 + 0250 029f 0068 jmp 0x0068 + 0252 8100 clr $ACC0 + 0253 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0254 8e78 set16'l : $AC1.M, @$AR0 + 0255 2ece srs @DSMAH, $AC0.M + 0256 2fcf srs @DSMAL, $AC1.M + 0257 16cd 0b80 si @DSPA, #0x0b80 + 0259 16c9 0000 si @DSCR, #0x0000 + 025b 16cb 00c4 si @DSBL, #0x00c4 + 025d 0082 0e08 lri $AR2, #0x0e08 + 025f 009f 0000 lri $AC1.M, #0x0000 + 0261 1b5f srri @$AR2, $AC1.M + 0262 009f 0140 lri $AC1.M, #0x0140 + 0264 1b5f srri @$AR2, $AC1.M + 0265 009f 0280 lri $AC1.M, #0x0280 + 0267 1b5f srri @$AR2, $AC1.M + 0268 009f 0400 lri $AC1.M, #0x0400 + 026a 1b5f srri @$AR2, $AC1.M + 026b 009f 0540 lri $AC1.M, #0x0540 + 026d 1b5f srri @$AR2, $AC1.M + 026e 009f 0680 lri $AC1.M, #0x0680 + 0270 1b5f srri @$AR2, $AC1.M + 0271 009f 07c0 lri $AC1.M, #0x07c0 + 0273 1b5f srri @$AR2, $AC1.M + 0274 009f 0900 lri $AC1.M, #0x0900 + 0276 1b5f srri @$AR2, $AC1.M + 0277 009f 0a40 lri $AC1.M, #0x0a40 + 0279 1b5f srri @$AR2, $AC1.M + 027a 02bf 0652 call 0652_WaitDMA + 027c 00de 0ba7 lr $AC0.M, @0x0ba7 + 027e 00df 0ba8 lr $AC1.M, @0x0ba8 + 0280 2ece srs @DSMAH, $AC0.M + 0281 2fcf srs @DSMAL, $AC1.M + 0282 16cd 03c0 si @DSPA, #0x03c0 + 0284 16c9 0000 si @DSCR, #0x0000 + 0286 16cb 0080 si @DSBL, #0x0080 + 0288 8100 clr $ACC0 + 0289 8900 clr $ACC1 + 028a 00de 0b84 lr $AC0.M, @0x0b84 + 028c 009f 0d0a lri $AC1.M, #0x0d0a + 028e 4c00 add $ACC0, $ACC1 + 028f 1c7e mrr $AR3, $AC0.M + 0290 0213 ilrr $AC0.M, @$AR3 + 0291 00fe 0e15 sr @0x0e15, $AC0.M + 0293 00de 0b85 lr $AC0.M, @0x0b85 + 0295 009f 0d0d lri $AC1.M, #0x0d0d + 0297 4c00 add $ACC0, $ACC1 + 0298 1c7e mrr $AR3, $AC0.M + 0299 0213 ilrr $AC0.M, @$AR3 + 029a 00fe 0e16 sr @0x0e16, $AC0.M + 029c 00de 0b86 lr $AC0.M, @0x0b86 + 029e 009a 000f lri $AX0.H, #0x000f + 02a0 009f 0c9a lri $AC1.M, #0x0c9a + 02a2 3400 andr $AC0.M, $AX0.H + 02a3 4c00 add $ACC0, $ACC1 + 02a4 1c7e mrr $AR3, $AC0.M + 02a5 0213 ilrr $AC0.M, @$AR3 + 02a6 00fe 0e14 sr @0x0e14, $AC0.M + 02a8 00de 0b86 lr $AC0.M, @0x0b86 + 02aa 009a 001f lri $AX0.H, #0x001f + 02ac 009f 0caa lri $AC1.M, #0x0caa + 02ae 14fc asr $ACC0, #-4 + 02af 3400 andr $AC0.M, $AX0.H + 02b0 4c00 add $ACC0, $ACC1 + 02b1 1c7e mrr $AR3, $AC0.M + 02b2 0213 ilrr $AC0.M, @$AR3 + 02b3 00fe 0e46 sr @0x0e46, $AC0.M + 02b5 00de 0b86 lr $AC0.M, @0x0b86 + 02b7 009f 0cca lri $AC1.M, #0x0cca + 02b9 14f7 asr $ACC0, #-9 + 02ba 4c00 add $ACC0, $ACC1 + 02bb 1c7e mrr $AR3, $AC0.M + 02bc 0213 ilrr $AC0.M, @$AR3 + 02bd 00fe 0e47 sr @0x0e47, $AC0.M + 02bf 8100 clr $ACC0 + 02c0 00de 0b9b lr $AC0.M, @0x0b9b + 02c2 b100 tst $ACC0 + 02c3 0295 02ea jz 0x02ea + 02c5 8900 clr $ACC1 + 02c6 00df 0b9e lr $AC1.M, @0x0b9e + 02c8 0300 0cc0 addi $AC1.M, #0x0cc0 + 02ca 00ff 0e40 sr @0x0e40, $AC1.M + 02cc 00df 0b9f lr $AC1.M, @0x0b9f + 02ce 0300 0cc0 addi $AC1.M, #0x0cc0 + 02d0 00ff 0e41 sr @0x0e41, $AC1.M + 02d2 009f 0ce0 lri $AC1.M, #0x0ce0 + 02d4 00ff 0e42 sr @0x0e42, $AC1.M + 02d6 00ff 0e43 sr @0x0e43, $AC1.M + 02d8 02bf 0652 call 0652_WaitDMA + 02da 00de 0b9c lr $AC0.M, @0x0b9c + 02dc 2ece srs @DSMAH, $AC0.M + 02dd 00de 0b9d lr $AC0.M, @0x0b9d + 02df 2ecf srs @DSMAL, $AC0.M + 02e0 16cd 0cc0 si @DSPA, #0x0cc0 + 02e2 16c9 0000 si @DSCR, #0x0000 + 02e4 16cb 0040 si @DSBL, #0x0040 + 02e6 02bf 0652 call 0652_WaitDMA + 02e8 029f 0068 jmp 0x0068 + 02ea 009f 0ce0 lri $AC1.M, #0x0ce0 + 02ec 00ff 0e42 sr @0x0e42, $AC1.M + 02ee 00ff 0e40 sr @0x0e40, $AC1.M + 02f0 00ff 0e41 sr @0x0e41, $AC1.M + 02f2 00ff 0e43 sr @0x0e43, $AC1.M + 02f4 02bf 0652 call 0652_WaitDMA + 02f6 029f 0068 jmp 0x0068 + 02f8 8e00 set16 + 02f9 00e0 0e07 sr @0x0e07, $AR0 + 02fb 0080 0ba2 lri $AR0, #0x0ba2 + 02fd 0081 03c0 lri $AR1, #0x03c0 + 02ff 0e05 lris $AC0.M, #0x05 + 0300 00fe 0e04 sr @0x0e04, $AC0.M + 0302 8900 clr $ACC1 + 0303 8150 clr'l $ACC0 : $AX0.H, @$AR0 + 0304 009f 0b80 lri $AC1.M, #0x0b80 + 0306 007a 030b bloop $AX0.H, 0x030b + 0308 193e lrri $AC0.M, @$AR1 + 0309 4c49 add'l $ACC0, $ACC1 : $AX1.L, @$AR1 + 030a 1c5e mrr $AR2, $AC0.M + 030b 1a59 srr @$AR2, $AX1.L + 030c 0083 0e05 lri $AR3, #0x0e05 + 030e 1b61 srri @$AR3, $AR1 + 030f 1b60 srri @$AR3, $AR0 + 0310 00de 0b87 lr $AC0.M, @0x0b87 + 0312 0601 cmpis $ACC0, #0x01 + 0313 0295 0317 jz 0x0317 + 0315 029f 040e jmp 0x040e + 0317 00de 0e42 lr $AC0.M, @0x0e42 + 0319 00fe 0e1c sr @0x0e1c, $AC0.M + 031b 00c3 0e15 lr $AR3, @0x0e15 + 031d 177f callr $AR3 + 031e 8e00 set16 + 031f 8a00 m2 + 0320 8100 clr $ACC0 + 0321 8900 clr $ACC1 + 0322 00de 0bb3 lr $AC0.M, @0x0bb3 + 0324 00df 0bb2 lr $AC1.M, @0x0bb2 + 0326 1f1f mrr $AX0.L, $AC1.M + 0327 4d00 add $ACC1, $ACC0 + 0328 1481 asl $ACC0, #1 + 0329 8d1e set15'mv : $AX1.H, $AC0.M + 032a 1fd8 mrr $AC0.M, $AX0.L + 032b 0098 8000 lri $AX0.L, #0x8000 + 032d 0080 0e48 lri $AR0, #0x0e48 + 032f a830 mulx's $AX0.L, $AX1.H : @$AR0, $AC0.M + 0330 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0331 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0332 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0333 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0334 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0335 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0336 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0337 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0338 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0339 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 033a ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 033b ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 033c ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 033d ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 033e ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 033f ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0340 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0341 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0342 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0343 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0344 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0345 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0346 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0347 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 0348 ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 0349 ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 034a ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 034b ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 034c ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 034d ad30 mulxac's $AX0.L, $AX1.H, $ACC1 : @$AR0, $AC0.M + 034e ac38 mulxac's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC1.M + 034f 00fe 0bb2 sr @0x0bb2, $AC0.M + 0351 8f00 set40 + 0352 0080 0e48 lri $AR0, #0x0e48 + 0354 00c1 0e43 lr $AR1, @0x0e43 + 0356 1c61 mrr $AR3, $AR1 + 0357 193a lrri $AX0.H, @$AR1 + 0358 1918 lrri $AX0.L, @$AR0 + 0359 9059 mul'l $AX0.L, $AX0.H : $AX1.H, @$AR1 + 035a 1919 lrri $AX1.L, @$AR0 + 035b 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 035c 8080 nx'ls : $AX0.L, $AC0.M + 035d 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 035e 8091 nx'ls : $AX1.L, $AC1.M + 035f 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0360 8080 nx'ls : $AX0.L, $AC0.M + 0361 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0362 8091 nx'ls : $AX1.L, $AC1.M + 0363 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0364 8080 nx'ls : $AX0.L, $AC0.M + 0365 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0366 8091 nx'ls : $AX1.L, $AC1.M + 0367 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0368 8080 nx'ls : $AX0.L, $AC0.M + 0369 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 036a 8091 nx'ls : $AX1.L, $AC1.M + 036b 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 036c 8080 nx'ls : $AX0.L, $AC0.M + 036d 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 036e 8091 nx'ls : $AX1.L, $AC1.M + 036f 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0370 8080 nx'ls : $AX0.L, $AC0.M + 0371 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0372 8091 nx'ls : $AX1.L, $AC1.M + 0373 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0374 8080 nx'ls : $AX0.L, $AC0.M + 0375 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0376 8091 nx'ls : $AX1.L, $AC1.M + 0377 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0378 8080 nx'ls : $AX0.L, $AC0.M + 0379 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 037a 8091 nx'ls : $AX1.L, $AC1.M + 037b 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 037c 8080 nx'ls : $AX0.L, $AC0.M + 037d 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 037e 8091 nx'ls : $AX1.L, $AC1.M + 037f 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0380 8080 nx'ls : $AX0.L, $AC0.M + 0381 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0382 8091 nx'ls : $AX1.L, $AC1.M + 0383 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0384 8080 nx'ls : $AX0.L, $AC0.M + 0385 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0386 8091 nx'ls : $AX1.L, $AC1.M + 0387 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0388 8080 nx'ls : $AX0.L, $AC0.M + 0389 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 038a 8091 nx'ls : $AX1.L, $AC1.M + 038b 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 038c 8080 nx'ls : $AX0.L, $AC0.M + 038d 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 038e 8091 nx'ls : $AX1.L, $AC1.M + 038f 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0390 8080 nx'ls : $AX0.L, $AC0.M + 0391 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0392 8091 nx'ls : $AX1.L, $AC1.M + 0393 9e51 mulmv'l $AX1.L, $AX1.H, $ACC0 : $AX0.H, @$AR1 + 0394 8080 nx'ls : $AX0.L, $AC0.M + 0395 9759 mulmv'l $AX0.L, $AX0.H, $ACC1 : $AX1.H, @$AR1 + 0396 8091 nx'ls : $AX1.L, $AC1.M + 0397 9e00 mulmv $AX1.L, $AX1.H, $ACC0 + 0398 6f33 movp's $ACC1 : @$AR3, $AC0.M + 0399 1b7f srri @$AR3, $AC1.M + 039a 8100 clr $ACC0 + 039b 00de 0bdd lr $AC0.M, @0x0bdd + 039d b100 tst $ACC0 + 039e 0295 03c0 jz 0x03c0 + 03a0 8d00 set15 + 03a1 8f00 set40 + 03a2 8a00 m2 + 03a3 00c0 0e43 lr $AR0, @0x0e43 + 03a5 00c1 0e43 lr $AR1, @0x0e43 + 03a7 0083 0bdf lri $AR3, #0x0bdf + 03a9 0087 ffff lri $IX3, #0xffff + 03ab 00de 0bde lr $AC0.M, @0x0bde + 03ad 80e1 nx'ld : $AX0.H, $AX1.L, @$AR1 + 03ae b04f mulx'ln $AX0.H, $AX1.L : $AX1.L, @$AR3 + 03af 1f5e mrr $AX0.H, $AC0.M + 03b0 e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 03b1 b64f mulxmv'ln $AX0.H, $AX1.L, $ACC0 : $AX1.L, @$AR3 + 03b2 1f5e mrr $AX0.H, $AC0.M + 03b3 e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 03b4 110f 03bb bloopi #0x0f, 0x03bb + 03b6 b79a mulxmv'slm $AX0.H, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 03b7 1f5f mrr $AX0.H, $AC1.M + 03b8 e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 03b9 b69b mulxmv'slm $AX0.H, $AX1.L, $ACC0 : $AC1.M, $AX1.L + 03ba 1f5e mrr $AX0.H, $AC0.M + 03bb e2e1 maddx'ld $AX0.H, $AX1.L : $AX0.H, $AX1.L, @$AR1 + 03bc b79a mulxmv'slm $AX0.H, $AX1.L, $ACC1 : $AC0.M, $AX1.L + 03bd 1b1f srri @$AR0, $AC1.M + 03be 00ff 0bde sr @0x0bde, $AC1.M + 03c0 00c3 0e14 lr $AR3, @0x0e14 + 03c2 8a00 m2 + 03c3 177f callr $AR3 + 03c4 00c3 0e46 lr $AR3, @0x0e46 + 03c6 8a00 m2 + 03c7 177f callr $AR3 + 03c8 00c3 0e47 lr $AR3, @0x0e47 + 03ca 8a00 m2 + 03cb 177f callr $AR3 + 03cc 8100 clr $ACC0 + 03cd 00de 0b9b lr $AC0.M, @0x0b9b + 03cf b100 tst $ACC0 + 03d0 0295 0406 jz 0x0406 + 03d2 00de 0e42 lr $AC0.M, @0x0e42 + 03d4 00fe 0e43 sr @0x0e43, $AC0.M + 03d6 8100 clr $ACC0 + 03d7 8900 clr $ACC1 + 03d8 00de 0b9e lr $AC0.M, @0x0b9e + 03da 00df 0ba0 lr $AC1.M, @0x0ba0 + 03dc 8200 cmp + 03dd 0293 03e2 jle 0x03e2 + 03df 7800 decm $AC0.M + 03e0 029f 03e5 jmp 0x03e5 + 03e2 0295 03e5 jz 0x03e5 + 03e4 7400 incm $AC0.M + 03e5 00fe 0b9e sr @0x0b9e, $AC0.M + 03e7 00df 0e43 lr $AC1.M, @0x0e43 + 03e9 05e0 addis $ACC1, #0xe0 + 03ea 4c00 add $ACC0, $ACC1 + 03eb 00fe 0e40 sr @0x0e40, $AC0.M + 03ed 8100 clr $ACC0 + 03ee 8900 clr $ACC1 + 03ef 00de 0b9f lr $AC0.M, @0x0b9f + 03f1 00df 0ba1 lr $AC1.M, @0x0ba1 + 03f3 8200 cmp + 03f4 0293 03f9 jle 0x03f9 + 03f6 7800 decm $AC0.M + 03f7 029f 03fc jmp 0x03fc + 03f9 0295 03fc jz 0x03fc + 03fb 7400 incm $AC0.M + 03fc 00fe 0b9f sr @0x0b9f, $AC0.M + 03fe 00df 0e43 lr $AC1.M, @0x0e43 + 0400 05e0 addis $ACC1, #0xe0 + 0401 4c00 add $ACC0, $ACC1 + 0402 00fe 0e41 sr @0x0e41, $AC0.M + 0404 029f 040e jmp 0x040e + 0406 00de 0e42 lr $AC0.M, @0x0e42 + 0408 00fe 0e40 sr @0x0e40, $AC0.M + 040a 00fe 0e41 sr @0x0e41, $AC0.M + 040c 00fe 0e43 sr @0x0e43, $AC0.M + 040e 8100 clr $ACC0 + 040f 8e00 set16 + 0410 8400 clrp + 0411 8900 clr $ACC1 + 0412 1efe mrr $PROD.M2, $AC0.M + 0413 0e40 lris $AC0.M, #0x40 + 0414 1ebe mrr $PROD.M1, $AC0.M + 0415 0083 0e08 lri $AR3, #0x0e08 + 0417 1c03 mrr $AR0, $AR3 + 0418 1ff5 mrr $AC1.M, $PROD.M1 + 0419 191a lrri $AX0.H, @$AR0 + 041a f858 addpaxz'l $ACC0, $AX0.H : $AX1.H, @$AR0 + 041b fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + 041c f8b1 addpaxz'ls $ACC0, $AX0.H : $AX1.H, $AC1.M + 041d fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + 041e f8b1 addpaxz'ls $ACC0, $AX0.H : $AX1.H, $AC1.M + 041f fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + 0420 f8b1 addpaxz'ls $ACC0, $AX0.H : $AX1.H, $AC1.M + 0421 fba0 addpaxz'ls $ACC1, $AX1.H : $AX0.H, $AC0.M + 0422 f83b addpaxz's $ACC0, $AX0.H : @$AR3, $AC1.M + 0423 1b7e srri @$AR3, $AC0.M + 0424 0083 0e04 lri $AR3, #0x0e04 + 0426 8100 clr $ACC0 + 0427 8973 clr'l $ACC1 : $AC0.M, @$AR3 + 0428 1961 lrri $AR1, @$AR3 + 0429 1960 lrri $AR0, @$AR3 + 042a 7800 decm $AC0.M + 042b 00fe 0e04 sr @0x0e04, $AC0.M + 042d 0294 0303 jnz 0x0303 + 042f 8e00 set16 + 0430 8100 clr $ACC0 + 0431 00de 0b9b lr $AC0.M, @0x0b9b + 0433 b100 tst $ACC0 + 0434 0295 0446 jz 0x0446 + 0436 00de 0b9c lr $AC0.M, @0x0b9c + 0438 00dc 0b9d lr $AC0.L, @0x0b9d + 043a 2ece srs @DSMAH, $AC0.M + 043b 2ccf srs @DSMAL, $AC0.L + 043c 8100 clr $ACC0 + 043d 00de 0e1c lr $AC0.M, @0x0e1c + 043f 2ecd srs @DSPA, $AC0.M + 0440 16c9 0001 si @DSCR, #0x0001 + 0442 16cb 0040 si @DSBL, #0x0040 + 0444 02bf 0652 call 0652_WaitDMA + 0446 8100 clr $ACC0 + 0447 8900 clr $ACC1 + 0448 00de 0b82 lr $AC0.M, @0x0b82 + 044a 00df 0b83 lr $AC1.M, @0x0b83 + 044c 2ece srs @DSMAH, $AC0.M + 044d 2fcf srs @DSMAL, $AC1.M + 044e 16cd 0b80 si @DSPA, #0x0b80 + 0450 16c9 0001 si @DSCR, #0x0001 + 0452 16cb 00c4 si @DSBL, #0x00c4 + 0454 02bf 0652 call 0652_WaitDMA + 0456 8100 clr $ACC0 + 0457 00de 0b80 lr $AC0.M, @0x0b80 + 0459 00dc 0b81 lr $AC0.L, @0x0b81 + 045b b100 tst $ACC0 + 045c 0294 0462 jnz 0x0462 + 045e 00c0 0e07 lr $AR0, @0x0e07 + 0460 029f 0068 jmp 0x0068 + 0462 2ece srs @DSMAH, $AC0.M + 0463 2ccf srs @DSMAL, $AC0.L + 0464 16cd 0b80 si @DSPA, #0x0b80 + 0466 16c9 0000 si @DSCR, #0x0000 + 0468 16cb 00c4 si @DSBL, #0x00c4 + 046a 0082 0e08 lri $AR2, #0x0e08 + 046c 009f 0000 lri $AC1.M, #0x0000 + 046e 1b5f srri @$AR2, $AC1.M + 046f 009f 0140 lri $AC1.M, #0x0140 + 0471 1b5f srri @$AR2, $AC1.M + 0472 009f 0280 lri $AC1.M, #0x0280 + 0474 1b5f srri @$AR2, $AC1.M + 0475 009f 0400 lri $AC1.M, #0x0400 + 0477 1b5f srri @$AR2, $AC1.M + 0478 009f 0540 lri $AC1.M, #0x0540 + 047a 1b5f srri @$AR2, $AC1.M + 047b 009f 0680 lri $AC1.M, #0x0680 + 047d 1b5f srri @$AR2, $AC1.M + 047e 009f 07c0 lri $AC1.M, #0x07c0 + 0480 1b5f srri @$AR2, $AC1.M + 0481 009f 0900 lri $AC1.M, #0x0900 + 0483 1b5f srri @$AR2, $AC1.M + 0484 009f 0a40 lri $AC1.M, #0x0a40 + 0486 1b5f srri @$AR2, $AC1.M + 0487 02bf 0652 call 0652_WaitDMA + 0489 00de 0ba7 lr $AC0.M, @0x0ba7 + 048b 00df 0ba8 lr $AC1.M, @0x0ba8 + 048d 2ece srs @DSMAH, $AC0.M + 048e 2fcf srs @DSMAL, $AC1.M + 048f 16cd 03c0 si @DSPA, #0x03c0 + 0491 16c9 0000 si @DSCR, #0x0000 + 0493 16cb 0080 si @DSBL, #0x0080 + 0495 8100 clr $ACC0 + 0496 8900 clr $ACC1 + 0497 00de 0b84 lr $AC0.M, @0x0b84 + 0499 009f 0d0a lri $AC1.M, #0x0d0a + 049b 4c00 add $ACC0, $ACC1 + 049c 1c7e mrr $AR3, $AC0.M + 049d 0213 ilrr $AC0.M, @$AR3 + 049e 00fe 0e15 sr @0x0e15, $AC0.M + 04a0 00de 0b85 lr $AC0.M, @0x0b85 + 04a2 009f 0d0d lri $AC1.M, #0x0d0d + 04a4 4c00 add $ACC0, $ACC1 + 04a5 1c7e mrr $AR3, $AC0.M + 04a6 0213 ilrr $AC0.M, @$AR3 + 04a7 00fe 0e16 sr @0x0e16, $AC0.M + 04a9 00de 0b86 lr $AC0.M, @0x0b86 + 04ab 009a 000f lri $AX0.H, #0x000f + 04ad 009f 0c9a lri $AC1.M, #0x0c9a + 04af 3400 andr $AC0.M, $AX0.H + 04b0 4c00 add $ACC0, $ACC1 + 04b1 1c7e mrr $AR3, $AC0.M + 04b2 0213 ilrr $AC0.M, @$AR3 + 04b3 00fe 0e14 sr @0x0e14, $AC0.M + 04b5 00de 0b86 lr $AC0.M, @0x0b86 + 04b7 009a 001f lri $AX0.H, #0x001f + 04b9 009f 0caa lri $AC1.M, #0x0caa + 04bb 14fc asr $ACC0, #-4 + 04bc 3400 andr $AC0.M, $AX0.H + 04bd 4c00 add $ACC0, $ACC1 + 04be 1c7e mrr $AR3, $AC0.M + 04bf 0213 ilrr $AC0.M, @$AR3 + 04c0 00fe 0e46 sr @0x0e46, $AC0.M + 04c2 00de 0b86 lr $AC0.M, @0x0b86 + 04c4 009f 0cca lri $AC1.M, #0x0cca + 04c6 14f7 asr $ACC0, #-9 + 04c7 4c00 add $ACC0, $ACC1 + 04c8 1c7e mrr $AR3, $AC0.M + 04c9 0213 ilrr $AC0.M, @$AR3 + 04ca 00fe 0e47 sr @0x0e47, $AC0.M + 04cc 8100 clr $ACC0 + 04cd 00de 0b9b lr $AC0.M, @0x0b9b + 04cf b100 tst $ACC0 + 04d0 0295 04f9 jz 0x04f9 + 04d2 8900 clr $ACC1 + 04d3 00df 0b9e lr $AC1.M, @0x0b9e + 04d5 0300 0cc0 addi $AC1.M, #0x0cc0 + 04d7 00ff 0e40 sr @0x0e40, $AC1.M + 04d9 00df 0b9f lr $AC1.M, @0x0b9f + 04db 0300 0cc0 addi $AC1.M, #0x0cc0 + 04dd 00ff 0e41 sr @0x0e41, $AC1.M + 04df 009f 0ce0 lri $AC1.M, #0x0ce0 + 04e1 00ff 0e42 sr @0x0e42, $AC1.M + 04e3 00ff 0e43 sr @0x0e43, $AC1.M + 04e5 02bf 0652 call 0652_WaitDMA + 04e7 00de 0b9c lr $AC0.M, @0x0b9c + 04e9 2ece srs @DSMAH, $AC0.M + 04ea 00de 0b9d lr $AC0.M, @0x0b9d + 04ec 2ecf srs @DSMAL, $AC0.M + 04ed 16cd 0cc0 si @DSPA, #0x0cc0 + 04ef 16c9 0000 si @DSCR, #0x0000 + 04f1 16cb 0040 si @DSBL, #0x0040 + 04f3 02bf 0652 call 0652_WaitDMA + 04f5 00c0 0e07 lr $AR0, @0x0e07 + 04f7 029f 02f8 jmp 0x02f8 + 04f9 009f 0ce0 lri $AC1.M, #0x0ce0 + 04fb 00ff 0e42 sr @0x0e42, $AC1.M + 04fd 00ff 0e40 sr @0x0e40, $AC1.M + 04ff 00ff 0e41 sr @0x0e41, $AC1.M + 0501 00ff 0e43 sr @0x0e43, $AC1.M + 0503 02bf 0652 call 0652_WaitDMA + 0505 00c0 0e07 lr $AR0, @0x0e07 + 0507 029f 02f8 jmp 0x02f8 + 0509 8e00 set16 + 050a 0086 0400 lri $IX2, #0x0400 + 050c 8100 clr $ACC0 + 050d 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 050e 191c lrri $AC0.L, @$AR0 + 050f 2ece srs @DSMAH, $AC0.M + 0510 2ccf srs @DSMAL, $AC0.L + 0511 1fc6 mrr $AC0.M, $IX2 + 0512 2ecd srs @DSPA, $AC0.M + 0513 16c9 0001 si @DSCR, #0x0001 + 0515 16cb 0780 si @DSBL, #0x0780 + 0517 02bf 0652 call 0652_WaitDMA + 0519 02bf 057a call 0x057a + 051b 029f 0068 jmp 0x0068 + 051d 8e00 set16 + 051e 0086 07c0 lri $IX2, #0x07c0 + 0520 8100 clr $ACC0 + 0521 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0522 191c lrri $AC0.L, @$AR0 + 0523 2ece srs @DSMAH, $AC0.M + 0524 2ccf srs @DSMAL, $AC0.L + 0525 1fc6 mrr $AC0.M, $IX2 + 0526 2ecd srs @DSPA, $AC0.M + 0527 16c9 0001 si @DSCR, #0x0001 + 0529 16cb 0780 si @DSBL, #0x0780 + 052b 02bf 0652 call 0652_WaitDMA + 052d 02bf 057a call 0x057a + 052f 029f 0068 jmp 0x0068 + 0531 8c00 clr15 + 0532 8a00 m2 + 0533 8100 clr $ACC0 + 0534 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0535 191f lrri $AC1.M, @$AR0 + 0536 2ece srs @DSMAH, $AC0.M + 0537 2fcf srs @DSMAL, $AC1.M + 0538 16cd 0280 si @DSPA, #0x0280 + 053a 16c9 0001 si @DSCR, #0x0001 + 053c 16cb 0280 si @DSBL, #0x0280 + 053e 8f50 set40'l : $AX0.H, @$AR0 + 053f 8140 clr'l $ACC0 : $AX0.L, @$AR0 + 0540 0081 0400 lri $AR1, #0x0400 + 0542 0083 0000 lri $AR3, #0x0000 + 0544 0082 0140 lri $AR2, #0x0140 + 0546 0099 0080 lri $AX1.L, #0x0080 + 0548 02bf 0652 call 0652_WaitDMA + 054a 1105 0562 bloopi #0x05, 0x0562 + 054c 1f61 mrr $AX1.H, $AR1 + 054d 1120 0554 bloopi #0x20, 0x0554 + 054f 8972 clr'l $ACC1 : $AC0.M, @$AR2 + 0550 195c lrri $AC0.L, @$AR2 + 0551 f07b lsl16'l $ACC0 : $AC1.M, @$AR3 + 0552 197d lrri $AC1.L, @$AR3 + 0553 f131 lsl16's $ACC1 : @$AR1, $AC0.M + 0554 8139 clr's $ACC0 : @$AR1, $AC1.M + 0555 8900 clr $ACC1 + 0556 6800 movax $ACC0, $AX0.L + 0557 2ece srs @DSMAH, $AC0.M + 0558 2ccf srs @DSMAL, $AC0.L + 0559 1ffb mrr $AC1.M, $AX1.H + 055a 2fcd srs @DSPA, $AC1.M + 055b 0f01 lris $AC1.M, #0x01 + 055c 2fc9 srs @DSCR, $AC1.M + 055d 1ff9 mrr $AC1.M, $AX1.L + 055e 2fcb srs @DSBL, $AC1.M + 055f 7200 addaxl $ACC0, $AX1.L + 0560 1f5e mrr $AX0.H, $AC0.M + 0561 1f1c mrr $AX0.L, $AC0.L + 0562 8100 clr $ACC0 + 0563 26c9 lrs $AC0.M, @DSCR + 0564 02a0 0004 andf $AC0.M, #0x0004 + 0566 029c 0563 jlnz 0x0563 + 0568 029f 0068 jmp 0x0068 + 056a 029f 0068 jmp 0x0068 + 056c 029f 0068 jmp 0x0068 + 056e 029f 0068 jmp 0x0068 + 0570 16fc dcd1 si @DMBH, #0xdcd1 + 0572 16fd 0002 si @DMBL, #0x0002 + 0574 16fb 0001 si @DIRQ, #0x0001 + 0576 029f 0f03 jmp 0x0f03 + 0578 029f 0045 jmp 0x0045 + 057a 8e00 set16 + 057b 191f lrri $AC1.M, @$AR0 + 057c 191d lrri $AC1.L, @$AR0 + 057d 1f5f mrr $AX0.H, $AC1.M + 057e 1f1d mrr $AX0.L, $AC1.L + 057f 2fce srs @DSMAH, $AC1.M + 0580 2dcf srs @DSMAL, $AC1.L + 0581 8900 clr $ACC1 + 0582 1fa6 mrr $AC1.L, $IX2 + 0583 2dcd srs @DSPA, $AC1.L + 0584 0e00 lris $AC0.M, #0x00 + 0585 2ec9 srs @DSCR, $AC0.M + 0586 8100 clr $ACC0 + 0587 009c 00c0 lri $AC0.L, #0x00c0 + 0589 2ccb srs @DSBL, $AC0.L + 058a 1ca0 mrr $IX1, $AR0 + 058b 0081 0e48 lri $AR1, #0x0e48 + 058d 4800 addax $ACC0, $AX0.L + 058e 1b3e srri @$AR1, $AC0.M + 058f 1b3c srri @$AR1, $AC0.L + 0590 0b00 lris $AX1.H, #0x00 + 0591 0099 0060 lri $AX1.L, #0x0060 + 0593 4b00 addax $ACC1, $AX1.L + 0594 1b3d srri @$AR1, $AC1.L + 0595 0081 0e48 lri $AR1, #0x0e48 + 0597 1c06 mrr $AR0, $IX2 + 0598 0083 0000 lri $AR3, #0x0000 + 059a 1c43 mrr $AR2, $AR3 + 059b 27c9 lrs $AC1.M, @DSCR + 059c 03a0 0004 andf $AC1.M, #0x0004 + 059e 029c 059b jlnz 0x059b + 05a0 1109 05d0 bloopi #0x09, 0x05d0 + 05a2 8e00 set16 + 05a3 193a lrri $AX0.H, @$AR1 + 05a4 1938 lrri $AX0.L, @$AR1 + 05a5 6900 movax $ACC1, $AX0.L + 05a6 2fce srs @DSMAH, $AC1.M + 05a7 2dcf srs @DSMAL, $AC1.L + 05a8 8900 clr $ACC1 + 05a9 193d lrri $AC1.L, @$AR1 + 05aa 2dcd srs @DSPA, $AC1.L + 05ab 16c9 0000 si @DSCR, #0x0000 + 05ad 8100 clr $ACC0 + 05ae 009c 00c0 lri $AC0.L, #0x00c0 + 05b0 2ccb srs @DSBL, $AC0.L + 05b1 0081 0e48 lri $AR1, #0x0e48 + 05b3 4800 addax $ACC0, $AX0.L + 05b4 1b3e srri @$AR1, $AC0.M + 05b5 1b3c srri @$AR1, $AC0.L + 05b6 0b00 lris $AX1.H, #0x00 + 05b7 0960 lris $AX1.L, #0x60 + 05b8 4b00 addax $ACC1, $AX1.L + 05b9 1b3d srri @$AR1, $AC1.L + 05ba 0081 0e48 lri $AR1, #0x0e48 + 05bc 8f00 set40 + 05bd 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05be 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05bf 6a00 movax $ACC0, $AX1.L + 05c0 4800 addax $ACC0, $AX0.L + 05c1 1117 05ca bloopi #0x17, 0x05ca + 05c3 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05c4 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05c5 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 05c6 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 05c7 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05c8 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05c9 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 05ca 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 05cb 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05cc 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05cd 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 05ce 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 05cf 1b5f srri @$AR2, $AC1.M + 05d0 1b5d srri @$AR2, $AC1.L + 05d1 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05d2 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05d3 6a00 movax $ACC0, $AX1.L + 05d4 4800 addax $ACC0, $AX0.L + 05d5 1117 05de bloopi #0x17, 0x05de + 05d7 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05d8 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05d9 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 05da 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 05db 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05dc 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05dd 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 05de 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 05df 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 05e0 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 05e1 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 05e2 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 05e3 1b5f srri @$AR2, $AC1.M + 05e4 1b5d srri @$AR2, $AC1.L + 05e5 1c05 mrr $AR0, $IX1 + 05e6 02df ret + 05e7 8e00 set16 + 05e8 009b 0e48 lri $AX1.H, #0x0e48 + 05ea 009d 00c0 lri $AC1.L, #0x00c0 + 05ec 02bf 0637 call 0x0637 + 05ee 4900 addax $ACC1, $AX0.L + 05ef 00ff 0e1d sr @0x0e1d, $AC1.M + 05f1 00fd 0e1e sr @0x0e1e, $AC1.L + 05f3 8900 clr $ACC1 + 05f4 02bf 0652 call 0652_WaitDMA + 05f6 1104 0622 bloopi #0x04, 0x0622 + 05f8 00da 0e1d lr $AX0.H, @0x0e1d + 05fa 00d8 0e1e lr $AX0.L, @0x0e1e + 05fc 009b 0ea8 lri $AX1.H, #0x0ea8 + 05fe 009d 00c0 lri $AC1.L, #0x00c0 + 0600 02bf 0637 call 0x0637 + 0602 4900 addax $ACC1, $AX0.L + 0603 00ff 0e1d sr @0x0e1d, $AC1.M + 0605 00fd 0e1e sr @0x0e1e, $AC1.L + 0607 0083 0e48 lri $AR3, #0x0e48 + 0609 02bf 0642 call 0x0642 + 060b 8900 clr $ACC1 + 060c 00da 0e1d lr $AX0.H, @0x0e1d + 060e 00d8 0e1e lr $AX0.L, @0x0e1e + 0610 009b 0e48 lri $AX1.H, #0x0e48 + 0612 009d 00c0 lri $AC1.L, #0x00c0 + 0614 02bf 0637 call 0x0637 + 0616 4900 addax $ACC1, $AX0.L + 0617 00ff 0e1d sr @0x0e1d, $AC1.M + 0619 00fd 0e1e sr @0x0e1e, $AC1.L + 061b 0083 0ea8 lri $AR3, #0x0ea8 + 061d 02bf 0642 call 0x0642 + 061f 0000 nop + 0620 0000 nop + 0621 8e00 set16 + 0622 8900 clr $ACC1 + 0623 00da 0e1d lr $AX0.H, @0x0e1d + 0625 00d8 0e1e lr $AX0.L, @0x0e1e + 0627 009b 0ea8 lri $AX1.H, #0x0ea8 + 0629 009d 00c0 lri $AC1.L, #0x00c0 + 062b 02bf 0637 call 0x0637 + 062d 4900 addax $ACC1, $AX0.L + 062e 0083 0e48 lri $AR3, #0x0e48 + 0630 02bf 0642 call 0x0642 + 0632 0083 0ea8 lri $AR3, #0x0ea8 + 0634 02bf 0642 call 0x0642 + 0636 02df ret + 0637 8e00 set16 + 0638 00fa ffce sr @DSMAH, $AX0.H + 063a 00f8 ffcf sr @DSMAL, $AX0.L + 063c 00fb ffcd sr @DSPA, $AX1.H + 063e 16c9 0000 si @DSCR, #0x0000 + 0640 2dcb srs @DSBL, $AC1.L + 0641 02df ret + 0642 8f00 set40 + 0643 8d00 set15 + 0644 8a00 m2 + 0645 197a lrri $AX0.H, @$AR3 + 0646 1978 lrri $AX0.L, @$AR3 + 0647 a000 mulx $AX0.L, $AX1.L + 0648 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0649 1130 0650 bloopi #0x30, 0x0650 + 064b 9179 asr16'l $ACC0 : $AC1.M, @$AR1 + 064c 4e6d addp'ln $ACC0 : $AC1.L, @$AR1 + 064d 197a lrri $AX0.H, @$AR3 + 064e 4d43 add'l $ACC1, $ACC0 : $AX0.L, @$AR3 + 064f a039 mulx's $AX0.L, $AX1.L : @$AR1, $AC1.M + 0650 b629 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR1, $AC1.L + 0651 02df ret + +void 0652_WaitDMA() { + do { + // 0652 26c9 lrs $AC0.M, @DSCR + // 0653 02a0 0004 andf $AC0.M, #0x0004 + // 0655 029c 0652 jlnz 0x0652 + } while (DSCR & 0x0004); + + 0657 02df ret +} + +void 0658_WaitForCPUMail() { + do { + // 0658 26fe lrs $AC0.M, @CMBH + // 0659 02c0 8000 andcf $AC0.M, #0x8000 + // 065b 029c 0658 jlnz 0x0658 + } while (CMBH & 0x8000); + + 065d 02df ret +} + +void 065e_WaitForDSPMail1() { + do { + // 065e 26fc lrs $AC0.M, @DMBH + // 065f 02a0 8000 andf $AC0.M, #0x8000 + // 0661 029c 065e jlnz 0x065e + } while (DMBH & 0x8000); + 0663 02df ret +} + +void 0644_WaitForDSPMail2() { + do { + // 0664 26fc lrs $AC0.M, @DMBH + // 0665 02a0 8000 andf $AC0.M, #0x8000 + // 0667 029c 0664 jlnz 0x0664 + } while (DMBH & 0x8000); + 0669 02df ret +} + + 066a 8100 clr $ACC0 + 066b 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 066c 8e60 set16'l : $AC0.L, @$AR0 + 066d 2ece srs @DSMAH, $AC0.M + 066e 2ccf srs @DSMAL, $AC0.L + 066f 16cd 0e48 si @DSPA, #0x0e48 + 0671 16c9 0000 si @DSCR, #0x0000 + 0673 8900 clr $ACC1 + 0674 0d20 lris $AC1.L, #0x20 + 0675 2dcb srs @DSBL, $AC1.L + 0676 4c00 add $ACC0, $ACC1 + 0677 1c80 mrr $IX0, $AR0 + 0678 0080 0280 lri $AR0, #0x0280 + 067a 0081 0000 lri $AR1, #0x0000 + 067c 0082 0140 lri $AR2, #0x0140 + 067e 0083 0e48 lri $AR3, #0x0e48 + 0680 0a00 lris $AX0.H, #0x00 + 0681 27c9 lrs $AC1.M, @DSCR + 0682 03a0 0004 andf $AC1.M, #0x0004 + 0684 029c 0681 jlnz 0x0681 + 0686 2ece srs @DSMAH, $AC0.M + 0687 2ccf srs @DSMAL, $AC0.L + 0688 16cd 0e58 si @DSPA, #0x0e58 + 068a 16c9 0000 si @DSCR, #0x0000 + 068c 16cb 0260 si @DSBL, #0x0260 + 068e 009f 00a0 lri $AC1.M, #0x00a0 + 0690 8f00 set40 + 0691 007f 069a bloop $AC1.M, 0x069a + 0693 197e lrri $AC0.M, @$AR3 + 0694 1b1a srri @$AR0, $AX0.H + 0695 197c lrri $AC0.L, @$AR3 + 0696 1b1a srri @$AR0, $AX0.H + 0697 1b5e srri @$AR2, $AC0.M + 0698 1b5c srri @$AR2, $AC0.L + 0699 1b3e srri @$AR1, $AC0.M + 069a 1b3c srri @$AR1, $AC0.L + 069b 1c04 mrr $AR0, $IX0 + 069c 029f 0068 jmp 0x0068 + 069e 0082 0bb8 lri $AR2, #0x0bb8 + 06a0 195e lrri $AC0.M, @$AR2 + 06a1 2ed1 srs @SampleFormat, $AC0.M + 06a2 195e lrri $AC0.M, @$AR2 + 06a3 2ed4 srs @ACSAH, $AC0.M + 06a4 195e lrri $AC0.M, @$AR2 + 06a5 2ed5 srs @ACSAL, $AC0.M + 06a6 195e lrri $AC0.M, @$AR2 + 06a7 2ed6 srs @ACEAH, $AC0.M + 06a8 195e lrri $AC0.M, @$AR2 + 06a9 2ed7 srs @ACEAL, $AC0.M + 06aa 195e lrri $AC0.M, @$AR2 + 06ab 2ed8 srs @ACCAH, $AC0.M + 06ac 195e lrri $AC0.M, @$AR2 + 06ad 2ed9 srs @ACCAL, $AC0.M + 06ae 195e lrri $AC0.M, @$AR2 + 06af 2ea0 srs @COEF_A1_0, $AC0.M + 06b0 195e lrri $AC0.M, @$AR2 + 06b1 2ea1 srs @COEF_A2_0, $AC0.M + 06b2 195e lrri $AC0.M, @$AR2 + 06b3 2ea2 srs @COEF_A1_1, $AC0.M + 06b4 195e lrri $AC0.M, @$AR2 + 06b5 2ea3 srs @COEF_A2_1, $AC0.M + 06b6 195e lrri $AC0.M, @$AR2 + 06b7 2ea4 srs @COEF_A1_2, $AC0.M + 06b8 195e lrri $AC0.M, @$AR2 + 06b9 2ea5 srs @COEF_A2_2, $AC0.M + 06ba 195e lrri $AC0.M, @$AR2 + 06bb 2ea6 srs @COEF_A1_3, $AC0.M + 06bc 195e lrri $AC0.M, @$AR2 + 06bd 2ea7 srs @COEF_A2_3, $AC0.M + 06be 195e lrri $AC0.M, @$AR2 + 06bf 2ea8 srs @COEF_A1_4, $AC0.M + 06c0 195e lrri $AC0.M, @$AR2 + 06c1 2ea9 srs @COEF_A2_4, $AC0.M + 06c2 195e lrri $AC0.M, @$AR2 + 06c3 2eaa srs @COEF_A1_5, $AC0.M + 06c4 195e lrri $AC0.M, @$AR2 + 06c5 2eab srs @COEF_A2_5, $AC0.M + 06c6 195e lrri $AC0.M, @$AR2 + 06c7 2eac srs @COEF_A1_6, $AC0.M + 06c8 195e lrri $AC0.M, @$AR2 + 06c9 2ead srs @COEF_A2_6, $AC0.M + 06ca 195e lrri $AC0.M, @$AR2 + 06cb 2eae srs @COEF_A1_7, $AC0.M + 06cc 195e lrri $AC0.M, @$AR2 + 06cd 2eaf srs @COEF_A2_7, $AC0.M + 06ce 195e lrri $AC0.M, @$AR2 + 06cf 2ede srs @GAIN, $AC0.M + 06d0 195e lrri $AC0.M, @$AR2 + 06d1 2eda srs @pred_scale, $AC0.M + 06d2 195e lrri $AC0.M, @$AR2 + 06d3 2edb srs @yn1, $AC0.M + 06d4 195e lrri $AC0.M, @$AR2 + 06d5 2edc srs @yn2, $AC0.M + 06d6 8c00 clr15 + 06d7 8a00 m2 + 06d8 8e00 set16 + 06d9 00d8 0e16 lr $AX0.L, @0x0e16 + 06db 195b lrri $AX1.H, @$AR2 + 06dc 1959 lrri $AX1.L, @$AR2 + 06dd 8100 clr $ACC0 + 06de 195c lrri $AC0.L, @$AR2 + 06df 0080 0e48 lri $AR0, #0x0e48 + 06e1 195f lrri $AC1.M, @$AR2 + 06e2 1b1f srri @$AR0, $AC1.M + 06e3 195f lrri $AC1.M, @$AR2 + 06e4 1b1f srri @$AR0, $AC1.M + 06e5 195f lrri $AC1.M, @$AR2 + 06e6 1b1f srri @$AR0, $AC1.M + 06e7 185f lrr $AC1.M, @$AR2 + 06e8 1b1f srri @$AR0, $AC1.M + 06e9 6b00 movax $ACC1, $AX1.L + 06ea 1505 lsl $ACC1, #5 + 06eb 4d00 add $ACC1, $ACC0 + 06ec 157e lsr $ACC1, #-2 + 06ed 1c9f mrr $IX0, $AC1.M + 06ee 1cbd mrr $IX1, $AC1.L + 06ef 05e0 addis $ACC1, #0xe0 + 06f0 9900 asr16 $ACC1 + 06f1 7d00 neg $ACC1 + 06f2 1cdd mrr $IX2, $AC1.L + 06f3 8900 clr $ACC1 + 06f4 1fa5 mrr $AC1.L, $IX1 + 06f5 1502 lsl $ACC1, #2 + 06f6 1cbf mrr $IX1, $AC1.M + 06f7 009a 01fc lri $AX0.H, #0x01fc + 06f9 009e 0e48 lri $AC0.M, #0x0e48 + 06fb 0081 ffdd lri $AR1, #0xffdd + 06fd 0083 0d80 lri $AR3, #0x0d80 + 06ff 0064 0710 bloop $IX0, 0x0710 + 0701 1827 lrr $IX3, @$AR1 + 0702 1b07 srri @$AR0, $IX3 + 0703 4a00 addax $ACC0, $AX1.L + 0704 1ffc mrr $AC1.M, $AC0.L + 0705 1827 lrr $IX3, @$AR1 + 0706 1b07 srri @$AR0, $IX3 + 0707 1579 lsr $ACC1, #-7 + 0708 3500 andr $AC1.M, $AX0.H + 0709 1827 lrr $IX3, @$AR1 + 070a 1b07 srri @$AR0, $IX3 + 070b 4100 addr $ACC1, $AX0.L + 070c 1b7e srri @$AR3, $AC0.M + 070d 1827 lrr $IX3, @$AR1 + 070e 1b07 srri @$AR0, $IX3 + 070f 1b7f srri @$AR3, $AC1.M + 0710 0000 nop + 0711 0065 0716 bloop $IX1, 0x0716 + 0713 1827 lrr $IX3, @$AR1 + 0714 1b07 srri @$AR0, $IX3 + 0715 0000 nop + 0716 0000 nop + 0717 0007 dar $AR3 + 0718 187f lrr $AC1.M, @$AR3 + 0719 0066 071f bloop $IX2, 0x071f + 071b 4a3b addax's $ACC0, $AX1.L : @$AR3, $AC1.M + 071c 1ffc mrr $AC1.M, $AC0.L + 071d 1579 lsr $ACC1, #-7 + 071e 3533 andr's $AC1.M, $AX0.H : @$AR3, $AC0.M + 071f 4100 addr $ACC1, $AX0.L + 0720 1b7f srri @$AR3, $AC1.M + 0721 0004 dar $AR0 + 0722 189f lrrd $AC1.M, @$AR0 + 0723 1adf srrd @$AR2, $AC1.M + 0724 189f lrrd $AC1.M, @$AR0 + 0725 1adf srrd @$AR2, $AC1.M + 0726 189f lrrd $AC1.M, @$AR0 + 0727 1adf srrd @$AR2, $AC1.M + 0728 189f lrrd $AC1.M, @$AR0 + 0729 1adf srrd @$AR2, $AC1.M + 072a 1adc srrd @$AR2, $AC0.L + 072b 0082 0bd2 lri $AR2, #0x0bd2 + 072d 27dc lrs $AC1.M, @yn2 + 072e 1adf srrd @$AR2, $AC1.M + 072f 27db lrs $AC1.M, @yn1 + 0730 1adf srrd @$AR2, $AC1.M + 0731 27da lrs $AC1.M, @pred_scale + 0732 1adf srrd @$AR2, $AC1.M + 0733 0082 0bbe lri $AR2, #0x0bbe + 0735 27d9 lrs $AC1.M, @ACCAL + 0736 1adf srrd @$AR2, $AC1.M + 0737 27d8 lrs $AC1.M, @ACCAH + 0738 1adf srrd @$AR2, $AC1.M + 0739 8f00 set40 + 073a 00c1 0e42 lr $AR1, @0x0e42 + 073c 0082 0d80 lri $AR2, #0x0d80 + 073e 1940 lrri $AR0, @$AR2 + 073f 1943 lrri $AR3, @$AR2 + 0740 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0741 b8c0 mulx'ld $AX0.H, $AX1.H : $AX0.L, $AX1.L, @$AR0 + 0742 111f 074a bloopi #0x1f, 0x074a + 0744 a6f0 mulxmv'ld $AX0.L, $AX1.L, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0745 bcf0 mulxac'ld $AX0.H, $AX1.H, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0746 1940 lrri $AR0, @$AR2 + 0747 1943 lrri $AR3, @$AR2 + 0748 bcf0 mulxac'ld $AX0.H, $AX1.H, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 0749 4ec0 addp'ld $ACC0 : $AX0.L, $AX1.L, @$AR0 + 074a b831 mulx's $AX0.H, $AX1.H : @$AR1, $AC0.M + 074b a6f0 mulxmv'ld $AX0.L, $AX1.L, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 074c bcf0 mulxac'ld $AX0.H, $AX1.H, $ACC0 : $AX0.H, $AX1.H, @$AR0 + 074d bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 074e 4e00 addp $ACC0 + 074f 1b3e srri @$AR1, $AC0.M + 0750 00e1 0e42 sr @0x0e42, $AR1 + 0752 02df ret + 0753 0082 0bb8 lri $AR2, #0x0bb8 + 0755 195e lrri $AC0.M, @$AR2 + 0756 2ed1 srs @SampleFormat, $AC0.M + 0757 195e lrri $AC0.M, @$AR2 + 0758 2ed4 srs @ACSAH, $AC0.M + 0759 195e lrri $AC0.M, @$AR2 + 075a 2ed5 srs @ACSAL, $AC0.M + 075b 195e lrri $AC0.M, @$AR2 + 075c 2ed6 srs @ACEAH, $AC0.M + 075d 195e lrri $AC0.M, @$AR2 + 075e 2ed7 srs @ACEAL, $AC0.M + 075f 195e lrri $AC0.M, @$AR2 + 0760 2ed8 srs @ACCAH, $AC0.M + 0761 195e lrri $AC0.M, @$AR2 + 0762 2ed9 srs @ACCAL, $AC0.M + 0763 195e lrri $AC0.M, @$AR2 + 0764 2ea0 srs @COEF_A1_0, $AC0.M + 0765 195e lrri $AC0.M, @$AR2 + 0766 2ea1 srs @COEF_A2_0, $AC0.M + 0767 195e lrri $AC0.M, @$AR2 + 0768 2ea2 srs @COEF_A1_1, $AC0.M + 0769 195e lrri $AC0.M, @$AR2 + 076a 2ea3 srs @COEF_A2_1, $AC0.M + 076b 195e lrri $AC0.M, @$AR2 + 076c 2ea4 srs @COEF_A1_2, $AC0.M + 076d 195e lrri $AC0.M, @$AR2 + 076e 2ea5 srs @COEF_A2_2, $AC0.M + 076f 195e lrri $AC0.M, @$AR2 + 0770 2ea6 srs @COEF_A1_3, $AC0.M + 0771 195e lrri $AC0.M, @$AR2 + 0772 2ea7 srs @COEF_A2_3, $AC0.M + 0773 195e lrri $AC0.M, @$AR2 + 0774 2ea8 srs @COEF_A1_4, $AC0.M + 0775 195e lrri $AC0.M, @$AR2 + 0776 2ea9 srs @COEF_A2_4, $AC0.M + 0777 195e lrri $AC0.M, @$AR2 + 0778 2eaa srs @COEF_A1_5, $AC0.M + 0779 195e lrri $AC0.M, @$AR2 + 077a 2eab srs @COEF_A2_5, $AC0.M + 077b 195e lrri $AC0.M, @$AR2 + 077c 2eac srs @COEF_A1_6, $AC0.M + 077d 195e lrri $AC0.M, @$AR2 + 077e 2ead srs @COEF_A2_6, $AC0.M + 077f 195e lrri $AC0.M, @$AR2 + 0780 2eae srs @COEF_A1_7, $AC0.M + 0781 195e lrri $AC0.M, @$AR2 + 0782 2eaf srs @COEF_A2_7, $AC0.M + 0783 195e lrri $AC0.M, @$AR2 + 0784 2ede srs @GAIN, $AC0.M + 0785 195e lrri $AC0.M, @$AR2 + 0786 2eda srs @pred_scale, $AC0.M + 0787 195e lrri $AC0.M, @$AR2 + 0788 2edb srs @yn1, $AC0.M + 0789 195e lrri $AC0.M, @$AR2 + 078a 2edc srs @yn2, $AC0.M + 078b 8c00 clr15 + 078c 8a00 m2 + 078d 8e00 set16 + 078e 195b lrri $AX1.H, @$AR2 + 078f 1959 lrri $AX1.L, @$AR2 + 0790 8100 clr $ACC0 + 0791 195c lrri $AC0.L, @$AR2 + 0792 0080 0e48 lri $AR0, #0x0e48 + 0794 195f lrri $AC1.M, @$AR2 + 0795 195f lrri $AC1.M, @$AR2 + 0796 195f lrri $AC1.M, @$AR2 + 0797 1b1f srri @$AR0, $AC1.M + 0798 185f lrr $AC1.M, @$AR2 + 0799 1b1f srri @$AR0, $AC1.M + 079a 6b00 movax $ACC1, $AX1.L + 079b 1505 lsl $ACC1, #5 + 079c 4d00 add $ACC1, $ACC0 + 079d 157e lsr $ACC1, #-2 + 079e 1c9f mrr $IX0, $AC1.M + 079f 1cbd mrr $IX1, $AC1.L + 07a0 05e0 addis $ACC1, #0xe0 + 07a1 9900 asr16 $ACC1 + 07a2 7d00 neg $ACC1 + 07a3 1cdd mrr $IX2, $AC1.L + 07a4 8900 clr $ACC1 + 07a5 1fa5 mrr $AC1.L, $IX1 + 07a6 1502 lsl $ACC1, #2 + 07a7 1cbf mrr $IX1, $AC1.M + 07a8 009a 01fc lri $AX0.H, #0x01fc + 07aa 009e 0e49 lri $AC0.M, #0x0e49 + 07ac 0081 ffdd lri $AR1, #0xffdd + 07ae 0083 0d80 lri $AR3, #0x0d80 + 07b0 0064 07c1 bloop $IX0, 0x07c1 + 07b2 1827 lrr $IX3, @$AR1 + 07b3 1b07 srri @$AR0, $IX3 + 07b4 4a00 addax $ACC0, $AX1.L + 07b5 1b7e srri @$AR3, $AC0.M + 07b6 1827 lrr $IX3, @$AR1 + 07b7 1b07 srri @$AR0, $IX3 + 07b8 1b7c srri @$AR3, $AC0.L + 07b9 0000 nop + 07ba 1827 lrr $IX3, @$AR1 + 07bb 1b07 srri @$AR0, $IX3 + 07bc 0000 nop + 07bd 0000 nop + 07be 1827 lrr $IX3, @$AR1 + 07bf 1b07 srri @$AR0, $IX3 + 07c0 0000 nop + 07c1 0000 nop + 07c2 0065 07c7 bloop $IX1, 0x07c7 + 07c4 1827 lrr $IX3, @$AR1 + 07c5 1b07 srri @$AR0, $IX3 + 07c6 0000 nop + 07c7 0000 nop + 07c8 0066 07cc bloop $IX2, 0x07cc + 07ca 4a00 addax $ACC0, $AX1.L + 07cb 1b7e srri @$AR3, $AC0.M + 07cc 1b7c srri @$AR3, $AC0.L + 07cd 0004 dar $AR0 + 07ce 189f lrrd $AC1.M, @$AR0 + 07cf 1adf srrd @$AR2, $AC1.M + 07d0 189f lrrd $AC1.M, @$AR0 + 07d1 1adf srrd @$AR2, $AC1.M + 07d2 189f lrrd $AC1.M, @$AR0 + 07d3 1adf srrd @$AR2, $AC1.M + 07d4 189f lrrd $AC1.M, @$AR0 + 07d5 1adf srrd @$AR2, $AC1.M + 07d6 1adc srrd @$AR2, $AC0.L + 07d7 0082 0bd2 lri $AR2, #0x0bd2 + 07d9 27dc lrs $AC1.M, @yn2 + 07da 1adf srrd @$AR2, $AC1.M + 07db 27db lrs $AC1.M, @yn1 + 07dc 1adf srrd @$AR2, $AC1.M + 07dd 27da lrs $AC1.M, @pred_scale + 07de 1adf srrd @$AR2, $AC1.M + 07df 0082 0bbe lri $AR2, #0x0bbe + 07e1 27d9 lrs $AC1.M, @ACCAL + 07e2 1adf srrd @$AR2, $AC1.M + 07e3 27d8 lrs $AC1.M, @ACCAH + 07e4 1adf srrd @$AR2, $AC1.M + 07e5 8d00 set15 + 07e6 8b00 m0 + 07e7 8f00 set40 + 07e8 00c1 0e42 lr $AR1, @0x0e42 + 07ea 0082 0d80 lri $AR2, #0x0d80 + 07ec 8100 clr $ACC0 + 07ed 1120 07f9 bloopi #0x20, 0x07f9 + 07ef 8900 clr $ACC1 + 07f0 1940 lrri $AR0, @$AR2 + 07f1 189e lrrd $AC0.M, @$AR0 + 07f2 181b lrr $AX1.H, @$AR0 + 07f3 199a lrrn $AX0.H, @$AR0 + 07f4 5400 subr $ACC0, $AX0.H + 07f5 1f5e mrr $AX0.H, $AC0.M + 07f6 1959 lrri $AX1.L, @$AR2 + 07f7 b000 mulx $AX0.H, $AX1.L + 07f8 fb00 addpaxz $ACC1, $AX1.H + 07f9 8139 clr's $ACC0 : @$AR1, $AC1.M + 07fa 00e1 0e42 sr @0x0e42, $AR1 + 07fc 02df ret + 07fd 0082 0bb8 lri $AR2, #0x0bb8 + 07ff 195e lrri $AC0.M, @$AR2 + 0800 2ed1 srs @SampleFormat, $AC0.M + 0801 195e lrri $AC0.M, @$AR2 + 0802 2ed4 srs @ACSAH, $AC0.M + 0803 195e lrri $AC0.M, @$AR2 + 0804 2ed5 srs @ACSAL, $AC0.M + 0805 195e lrri $AC0.M, @$AR2 + 0806 2ed6 srs @ACEAH, $AC0.M + 0807 195e lrri $AC0.M, @$AR2 + 0808 2ed7 srs @ACEAL, $AC0.M + 0809 195e lrri $AC0.M, @$AR2 + 080a 2ed8 srs @ACCAH, $AC0.M + 080b 195e lrri $AC0.M, @$AR2 + 080c 2ed9 srs @ACCAL, $AC0.M + 080d 195e lrri $AC0.M, @$AR2 + 080e 2ea0 srs @COEF_A1_0, $AC0.M + 080f 195e lrri $AC0.M, @$AR2 + 0810 2ea1 srs @COEF_A2_0, $AC0.M + 0811 195e lrri $AC0.M, @$AR2 + 0812 2ea2 srs @COEF_A1_1, $AC0.M + 0813 195e lrri $AC0.M, @$AR2 + 0814 2ea3 srs @COEF_A2_1, $AC0.M + 0815 195e lrri $AC0.M, @$AR2 + 0816 2ea4 srs @COEF_A1_2, $AC0.M + 0817 195e lrri $AC0.M, @$AR2 + 0818 2ea5 srs @COEF_A2_2, $AC0.M + 0819 195e lrri $AC0.M, @$AR2 + 081a 2ea6 srs @COEF_A1_3, $AC0.M + 081b 195e lrri $AC0.M, @$AR2 + 081c 2ea7 srs @COEF_A2_3, $AC0.M + 081d 195e lrri $AC0.M, @$AR2 + 081e 2ea8 srs @COEF_A1_4, $AC0.M + 081f 195e lrri $AC0.M, @$AR2 + 0820 2ea9 srs @COEF_A2_4, $AC0.M + 0821 195e lrri $AC0.M, @$AR2 + 0822 2eaa srs @COEF_A1_5, $AC0.M + 0823 195e lrri $AC0.M, @$AR2 + 0824 2eab srs @COEF_A2_5, $AC0.M + 0825 195e lrri $AC0.M, @$AR2 + 0826 2eac srs @COEF_A1_6, $AC0.M + 0827 195e lrri $AC0.M, @$AR2 + 0828 2ead srs @COEF_A2_6, $AC0.M + 0829 195e lrri $AC0.M, @$AR2 + 082a 2eae srs @COEF_A1_7, $AC0.M + 082b 195e lrri $AC0.M, @$AR2 + 082c 2eaf srs @COEF_A2_7, $AC0.M + 082d 195e lrri $AC0.M, @$AR2 + 082e 2ede srs @GAIN, $AC0.M + 082f 195e lrri $AC0.M, @$AR2 + 0830 2eda srs @pred_scale, $AC0.M + 0831 195e lrri $AC0.M, @$AR2 + 0832 2edb srs @yn1, $AC0.M + 0833 195e lrri $AC0.M, @$AR2 + 0834 2edc srs @yn2, $AC0.M + 0835 00c0 0e42 lr $AR0, @0x0e42 + 0837 0081 ffdd lri $AR1, #0xffdd + 0839 1120 083e bloopi #0x20, 0x083e + 083b 1824 lrr $IX0, @$AR1 + 083c 1b04 srri @$AR0, $IX0 + 083d 0000 nop + 083e 0000 nop + 083f 00e0 0e42 sr @0x0e42, $AR0 + 0841 0082 0bd9 lri $AR2, #0x0bd9 + 0843 0004 dar $AR0 + 0844 189f lrrd $AC1.M, @$AR0 + 0845 1adf srrd @$AR2, $AC1.M + 0846 189f lrrd $AC1.M, @$AR0 + 0847 1adf srrd @$AR2, $AC1.M + 0848 189f lrrd $AC1.M, @$AR0 + 0849 1adf srrd @$AR2, $AC1.M + 084a 189f lrrd $AC1.M, @$AR0 + 084b 1adf srrd @$AR2, $AC1.M + 084c 8900 clr $ACC1 + 084d 1adc srrd @$AR2, $AC0.L + 084e 27dc lrs $AC1.M, @yn2 + 084f 00ff 0bd2 sr @0x0bd2, $AC1.M + 0851 27db lrs $AC1.M, @yn1 + 0852 00ff 0bd1 sr @0x0bd1, $AC1.M + 0854 27da lrs $AC1.M, @pred_scale + 0855 00ff 0bd0 sr @0x0bd0, $AC1.M + 0857 27d9 lrs $AC1.M, @ACCAL + 0858 00ff 0bbe sr @0x0bbe, $AC1.M + 085a 27d8 lrs $AC1.M, @ACCAH + 085b 00ff 0bbd sr @0x0bbd, $AC1.M + 085d 02df ret + 085e 02df ret + 085f 00c0 0e40 lr $AR0, @0x0e40 + 0861 0081 0b89 lri $AR1, #0x0b89 + 0863 00c2 0e08 lr $AR2, @0x0e08 + 0865 1c62 mrr $AR3, $AR2 + 0866 02bf 81f9 call 0x81f9 + 0868 00f8 0ba9 sr @0x0ba9, $AX0.L + 086a 02df ret + 086b 00c0 0e41 lr $AR0, @0x0e41 + 086d 0081 0b8b lri $AR1, #0x0b8b + 086f 00c2 0e09 lr $AR2, @0x0e09 + 0871 1c62 mrr $AR3, $AR2 + 0872 02bf 81f9 call 0x81f9 + 0874 00f8 0bac sr @0x0bac, $AX0.L + 0876 02df ret + 0877 00c0 0e40 lr $AR0, @0x0e40 + 0879 0081 0b89 lri $AR1, #0x0b89 + 087b 00c2 0e08 lr $AR2, @0x0e08 + 087d 1c62 mrr $AR3, $AR2 + 087e 00c4 0e41 lr $IX0, @0x0e41 + 0880 00c5 0e09 lr $IX1, @0x0e09 + 0882 02bf 80e7 call 0x80e7 + 0884 00f8 0ba9 sr @0x0ba9, $AX0.L + 0886 00fb 0bac sr @0x0bac, $AX1.H + 0888 02df ret + 0889 00c0 0e43 lr $AR0, @0x0e43 + 088b 0081 0b97 lri $AR1, #0x0b97 + 088d 00c2 0e0a lr $AR2, @0x0e0a + 088f 1c62 mrr $AR3, $AR2 + 0890 02bf 81f9 call 0x81f9 + 0892 00f8 0baf sr @0x0baf, $AX0.L + 0894 02df ret + 0895 00c0 0e40 lr $AR0, @0x0e40 + 0897 0081 0b89 lri $AR1, #0x0b89 + 0899 00c2 0e08 lr $AR2, @0x0e08 + 089b 1c62 mrr $AR3, $AR2 + 089c 02bf 81f9 call 0x81f9 + 089e 00f8 0ba9 sr @0x0ba9, $AX0.L + 08a0 00c0 0e43 lr $AR0, @0x0e43 + 08a2 0081 0b97 lri $AR1, #0x0b97 + 08a4 00c2 0e0a lr $AR2, @0x0e0a + 08a6 1c62 mrr $AR3, $AR2 + 08a7 02bf 81f9 call 0x81f9 + 08a9 00f8 0baf sr @0x0baf, $AX0.L + 08ab 02df ret + 08ac 00c0 0e41 lr $AR0, @0x0e41 + 08ae 0081 0b8b lri $AR1, #0x0b8b + 08b0 00c2 0e09 lr $AR2, @0x0e09 + 08b2 1c62 mrr $AR3, $AR2 + 08b3 02bf 81f9 call 0x81f9 + 08b5 00f8 0bac sr @0x0bac, $AX0.L + 08b7 00c0 0e43 lr $AR0, @0x0e43 + 08b9 0081 0b97 lri $AR1, #0x0b97 + 08bb 00c2 0e0a lr $AR2, @0x0e0a + 08bd 1c62 mrr $AR3, $AR2 + 08be 02bf 81f9 call 0x81f9 + 08c0 00f8 0baf sr @0x0baf, $AX0.L + 08c2 02df ret + 08c3 00c0 0e40 lr $AR0, @0x0e40 + 08c5 0081 0b89 lri $AR1, #0x0b89 + 08c7 00c2 0e08 lr $AR2, @0x0e08 + 08c9 1c62 mrr $AR3, $AR2 + 08ca 00c4 0e41 lr $IX0, @0x0e41 + 08cc 00c5 0e09 lr $IX1, @0x0e09 + 08ce 02bf 80e7 call 0x80e7 + 08d0 00f8 0ba9 sr @0x0ba9, $AX0.L + 08d2 00fb 0bac sr @0x0bac, $AX1.H + 08d4 00c0 0e43 lr $AR0, @0x0e43 + 08d6 0081 0b97 lri $AR1, #0x0b97 + 08d8 00c2 0e0a lr $AR2, @0x0e0a + 08da 1c62 mrr $AR3, $AR2 + 08db 02bf 81f9 call 0x81f9 + 08dd 00f8 0baf sr @0x0baf, $AX0.L + 08df 02df ret + 08e0 00c0 0e40 lr $AR0, @0x0e40 + 08e2 0081 0b89 lri $AR1, #0x0b89 + 08e4 00c2 0e08 lr $AR2, @0x0e08 + 08e6 0083 0e48 lri $AR3, #0x0e48 + 08e8 02bf 845d call 0x845d + 08ea 00f8 0ba9 sr @0x0ba9, $AX0.L + 08ec 02df ret + 08ed 00c0 0e41 lr $AR0, @0x0e41 + 08ef 0081 0b8b lri $AR1, #0x0b8b + 08f1 00c2 0e09 lr $AR2, @0x0e09 + 08f3 0083 0e48 lri $AR3, #0x0e48 + 08f5 02bf 845d call 0x845d + 08f7 00f8 0bac sr @0x0bac, $AX0.L + 08f9 02df ret + 08fa 00c0 0e40 lr $AR0, @0x0e40 + 08fc 0081 0b89 lri $AR1, #0x0b89 + 08fe 00c2 0e08 lr $AR2, @0x0e08 + 0900 0083 0e48 lri $AR3, #0x0e48 + 0902 00c4 0e41 lr $IX0, @0x0e41 + 0904 00c5 0e09 lr $IX1, @0x0e09 + 0906 02bf 8282 call 0x8282 + 0908 00f8 0ba9 sr @0x0ba9, $AX0.L + 090a 00fb 0bac sr @0x0bac, $AX1.H + 090c 02df ret + 090d 00c0 0e43 lr $AR0, @0x0e43 + 090f 0081 0b97 lri $AR1, #0x0b97 + 0911 00c2 0e0a lr $AR2, @0x0e0a + 0913 0083 0e48 lri $AR3, #0x0e48 + 0915 02bf 845d call 0x845d + 0917 00f8 0baf sr @0x0baf, $AX0.L + 0919 02df ret + 091a 00c0 0e40 lr $AR0, @0x0e40 + 091c 0081 0b89 lri $AR1, #0x0b89 + 091e 00c2 0e08 lr $AR2, @0x0e08 + 0920 0083 0e48 lri $AR3, #0x0e48 + 0922 02bf 845d call 0x845d + 0924 00f8 0ba9 sr @0x0ba9, $AX0.L + 0926 00c0 0e43 lr $AR0, @0x0e43 + 0928 0081 0b97 lri $AR1, #0x0b97 + 092a 00c2 0e0a lr $AR2, @0x0e0a + 092c 0083 0e48 lri $AR3, #0x0e48 + 092e 02bf 845d call 0x845d + 0930 00f8 0baf sr @0x0baf, $AX0.L + 0932 02df ret + 0933 00c0 0e41 lr $AR0, @0x0e41 + 0935 0081 0b8b lri $AR1, #0x0b8b + 0937 00c2 0e09 lr $AR2, @0x0e09 + 0939 0083 0e48 lri $AR3, #0x0e48 + 093b 02bf 845d call 0x845d + 093d 00f8 0bac sr @0x0bac, $AX0.L + 093f 00c0 0e43 lr $AR0, @0x0e43 + 0941 0081 0b97 lri $AR1, #0x0b97 + 0943 00c2 0e0a lr $AR2, @0x0e0a + 0945 0083 0e48 lri $AR3, #0x0e48 + 0947 02bf 845d call 0x845d + 0949 00f8 0baf sr @0x0baf, $AX0.L + 094b 02df ret + 094c 00c0 0e40 lr $AR0, @0x0e40 + 094e 0081 0b89 lri $AR1, #0x0b89 + 0950 00c2 0e08 lr $AR2, @0x0e08 + 0952 0083 0e48 lri $AR3, #0x0e48 + 0954 00c4 0e41 lr $IX0, @0x0e41 + 0956 00c5 0e09 lr $IX1, @0x0e09 + 0958 02bf 8282 call 0x8282 + 095a 00f8 0ba9 sr @0x0ba9, $AX0.L + 095c 00fb 0bac sr @0x0bac, $AX1.H + 095e 00c0 0e43 lr $AR0, @0x0e43 + 0960 0081 0b97 lri $AR1, #0x0b97 + 0962 00c2 0e0a lr $AR2, @0x0e0a + 0964 0083 0e48 lri $AR3, #0x0e48 + 0966 02bf 845d call 0x845d + 0968 00f8 0baf sr @0x0baf, $AX0.L + 096a 02df ret + 096b 00c0 0e40 lr $AR0, @0x0e40 + 096d 0081 0b8d lri $AR1, #0x0b8d + 096f 00c2 0e0b lr $AR2, @0x0e0b + 0971 1c62 mrr $AR3, $AR2 + 0972 02bf 81f9 call 0x81f9 + 0974 00f8 0baa sr @0x0baa, $AX0.L + 0976 02df ret + 0977 00c0 0e41 lr $AR0, @0x0e41 + 0979 0081 0b8f lri $AR1, #0x0b8f + 097b 00c2 0e0c lr $AR2, @0x0e0c + 097d 1c62 mrr $AR3, $AR2 + 097e 02bf 81f9 call 0x81f9 + 0980 00f8 0bad sr @0x0bad, $AX0.L + 0982 02df ret + 0983 00c0 0e40 lr $AR0, @0x0e40 + 0985 0081 0b8d lri $AR1, #0x0b8d + 0987 00c2 0e0b lr $AR2, @0x0e0b + 0989 1c62 mrr $AR3, $AR2 + 098a 00c4 0e41 lr $IX0, @0x0e41 + 098c 00c5 0e0c lr $IX1, @0x0e0c + 098e 02bf 80e7 call 0x80e7 + 0990 00f8 0baa sr @0x0baa, $AX0.L + 0992 00fb 0bad sr @0x0bad, $AX1.H + 0994 02df ret + 0995 00c0 0e40 lr $AR0, @0x0e40 + 0997 0081 0b8d lri $AR1, #0x0b8d + 0999 00c2 0e0b lr $AR2, @0x0e0b + 099b 0083 0e48 lri $AR3, #0x0e48 + 099d 02bf 845d call 0x845d + 099f 00f8 0baa sr @0x0baa, $AX0.L + 09a1 02df ret + 09a2 00c0 0e41 lr $AR0, @0x0e41 + 09a4 0081 0b8f lri $AR1, #0x0b8f + 09a6 00c2 0e0c lr $AR2, @0x0e0c + 09a8 0083 0e48 lri $AR3, #0x0e48 + 09aa 02bf 845d call 0x845d + 09ac 00f8 0bad sr @0x0bad, $AX0.L + 09ae 02df ret + 09af 00c0 0e40 lr $AR0, @0x0e40 + 09b1 0081 0b8d lri $AR1, #0x0b8d + 09b3 00c2 0e0b lr $AR2, @0x0e0b + 09b5 0083 0e48 lri $AR3, #0x0e48 + 09b7 00c4 0e41 lr $IX0, @0x0e41 + 09b9 00c5 0e0c lr $IX1, @0x0e0c + 09bb 02bf 8282 call 0x8282 + 09bd 00f8 0baa sr @0x0baa, $AX0.L + 09bf 00fb 0bad sr @0x0bad, $AX1.H + 09c1 02df ret + 09c2 00c0 0e43 lr $AR0, @0x0e43 + 09c4 0081 0b99 lri $AR1, #0x0b99 + 09c6 00c2 0e0d lr $AR2, @0x0e0d + 09c8 1c62 mrr $AR3, $AR2 + 09c9 02bf 81f9 call 0x81f9 + 09cb 00f8 0bb0 sr @0x0bb0, $AX0.L + 09cd 02df ret + 09ce 00c0 0e43 lr $AR0, @0x0e43 + 09d0 0081 0b99 lri $AR1, #0x0b99 + 09d2 00c2 0e0d lr $AR2, @0x0e0d + 09d4 1c62 mrr $AR3, $AR2 + 09d5 02bf 81f9 call 0x81f9 + 09d7 00f8 0bb0 sr @0x0bb0, $AX0.L + 09d9 029f 096b jmp 0x096b + 09db 00c0 0e43 lr $AR0, @0x0e43 + 09dd 0081 0b99 lri $AR1, #0x0b99 + 09df 00c2 0e0d lr $AR2, @0x0e0d + 09e1 1c62 mrr $AR3, $AR2 + 09e2 02bf 81f9 call 0x81f9 + 09e4 00f8 0bb0 sr @0x0bb0, $AX0.L + 09e6 029f 0977 jmp 0x0977 + 09e8 00c0 0e43 lr $AR0, @0x0e43 + 09ea 0081 0b99 lri $AR1, #0x0b99 + 09ec 00c2 0e0d lr $AR2, @0x0e0d + 09ee 1c62 mrr $AR3, $AR2 + 09ef 02bf 81f9 call 0x81f9 + 09f1 00f8 0bb0 sr @0x0bb0, $AX0.L + 09f3 029f 0983 jmp 0x0983 + 09f5 00c0 0e43 lr $AR0, @0x0e43 + 09f7 0081 0b99 lri $AR1, #0x0b99 + 09f9 00c2 0e0d lr $AR2, @0x0e0d + 09fb 1c62 mrr $AR3, $AR2 + 09fc 02bf 81f9 call 0x81f9 + 09fe 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a00 029f 0995 jmp 0x0995 + 0a02 00c0 0e43 lr $AR0, @0x0e43 + 0a04 0081 0b99 lri $AR1, #0x0b99 + 0a06 00c2 0e0d lr $AR2, @0x0e0d + 0a08 1c62 mrr $AR3, $AR2 + 0a09 02bf 81f9 call 0x81f9 + 0a0b 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a0d 029f 09a2 jmp 0x09a2 + 0a0f 00c0 0e43 lr $AR0, @0x0e43 + 0a11 0081 0b99 lri $AR1, #0x0b99 + 0a13 00c2 0e0d lr $AR2, @0x0e0d + 0a15 1c62 mrr $AR3, $AR2 + 0a16 02bf 81f9 call 0x81f9 + 0a18 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a1a 029f 09af jmp 0x09af + 0a1c 00c0 0e43 lr $AR0, @0x0e43 + 0a1e 0081 0b99 lri $AR1, #0x0b99 + 0a20 00c2 0e0d lr $AR2, @0x0e0d + 0a22 0083 0e48 lri $AR3, #0x0e48 + 0a24 02bf 845d call 0x845d + 0a26 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a28 02df ret + 0a29 00c0 0e43 lr $AR0, @0x0e43 + 0a2b 0081 0b99 lri $AR1, #0x0b99 + 0a2d 00c2 0e0d lr $AR2, @0x0e0d + 0a2f 0083 0e48 lri $AR3, #0x0e48 + 0a31 02bf 845d call 0x845d + 0a33 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a35 029f 096b jmp 0x096b + 0a37 00c0 0e43 lr $AR0, @0x0e43 + 0a39 0081 0b99 lri $AR1, #0x0b99 + 0a3b 00c2 0e0d lr $AR2, @0x0e0d + 0a3d 0083 0e48 lri $AR3, #0x0e48 + 0a3f 02bf 845d call 0x845d + 0a41 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a43 029f 0977 jmp 0x0977 + 0a45 00c0 0e43 lr $AR0, @0x0e43 + 0a47 0081 0b99 lri $AR1, #0x0b99 + 0a49 00c2 0e0d lr $AR2, @0x0e0d + 0a4b 0083 0e48 lri $AR3, #0x0e48 + 0a4d 02bf 845d call 0x845d + 0a4f 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a51 029f 0983 jmp 0x0983 + 0a53 00c0 0e43 lr $AR0, @0x0e43 + 0a55 0081 0b99 lri $AR1, #0x0b99 + 0a57 00c2 0e0d lr $AR2, @0x0e0d + 0a59 0083 0e48 lri $AR3, #0x0e48 + 0a5b 02bf 845d call 0x845d + 0a5d 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a5f 029f 0995 jmp 0x0995 + 0a61 00c0 0e43 lr $AR0, @0x0e43 + 0a63 0081 0b99 lri $AR1, #0x0b99 + 0a65 00c2 0e0d lr $AR2, @0x0e0d + 0a67 0083 0e48 lri $AR3, #0x0e48 + 0a69 02bf 845d call 0x845d + 0a6b 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a6d 029f 09a2 jmp 0x09a2 + 0a6f 00c0 0e43 lr $AR0, @0x0e43 + 0a71 0081 0b99 lri $AR1, #0x0b99 + 0a73 00c2 0e0d lr $AR2, @0x0e0d + 0a75 0083 0e48 lri $AR3, #0x0e48 + 0a77 02bf 845d call 0x845d + 0a79 00f8 0bb0 sr @0x0bb0, $AX0.L + 0a7b 029f 09af jmp 0x09af + 0a7d 00c0 0e40 lr $AR0, @0x0e40 + 0a7f 0081 0b91 lri $AR1, #0x0b91 + 0a81 00c2 0e0e lr $AR2, @0x0e0e + 0a83 1c62 mrr $AR3, $AR2 + 0a84 02bf 81f9 call 0x81f9 + 0a86 00f8 0bab sr @0x0bab, $AX0.L + 0a88 02df ret + 0a89 00c0 0e41 lr $AR0, @0x0e41 + 0a8b 0081 0b93 lri $AR1, #0x0b93 + 0a8d 00c2 0e0f lr $AR2, @0x0e0f + 0a8f 1c62 mrr $AR3, $AR2 + 0a90 02bf 81f9 call 0x81f9 + 0a92 00f8 0bae sr @0x0bae, $AX0.L + 0a94 02df ret + 0a95 00c0 0e40 lr $AR0, @0x0e40 + 0a97 0081 0b91 lri $AR1, #0x0b91 + 0a99 00c2 0e0e lr $AR2, @0x0e0e + 0a9b 1c62 mrr $AR3, $AR2 + 0a9c 00c4 0e41 lr $IX0, @0x0e41 + 0a9e 00c5 0e0f lr $IX1, @0x0e0f + 0aa0 02bf 80e7 call 0x80e7 + 0aa2 00f8 0bab sr @0x0bab, $AX0.L + 0aa4 00fb 0bae sr @0x0bae, $AX1.H + 0aa6 02df ret + 0aa7 00c0 0e40 lr $AR0, @0x0e40 + 0aa9 0081 0b91 lri $AR1, #0x0b91 + 0aab 00c2 0e0e lr $AR2, @0x0e0e + 0aad 0083 0e48 lri $AR3, #0x0e48 + 0aaf 02bf 845d call 0x845d + 0ab1 00f8 0bab sr @0x0bab, $AX0.L + 0ab3 02df ret + 0ab4 00c0 0e41 lr $AR0, @0x0e41 + 0ab6 0081 0b93 lri $AR1, #0x0b93 + 0ab8 00c2 0e0f lr $AR2, @0x0e0f + 0aba 0083 0e48 lri $AR3, #0x0e48 + 0abc 02bf 845d call 0x845d + 0abe 00f8 0bae sr @0x0bae, $AX0.L + 0ac0 02df ret + 0ac1 00c0 0e40 lr $AR0, @0x0e40 + 0ac3 0081 0b91 lri $AR1, #0x0b91 + 0ac5 00c2 0e0e lr $AR2, @0x0e0e + 0ac7 0083 0e48 lri $AR3, #0x0e48 + 0ac9 00c4 0e41 lr $IX0, @0x0e41 + 0acb 00c5 0e0f lr $IX1, @0x0e0f + 0acd 02bf 8282 call 0x8282 + 0acf 00f8 0bab sr @0x0bab, $AX0.L + 0ad1 00fb 0bae sr @0x0bae, $AX1.H + 0ad3 02df ret + 0ad4 00c0 0e43 lr $AR0, @0x0e43 + 0ad6 0081 0b95 lri $AR1, #0x0b95 + 0ad8 00c2 0e10 lr $AR2, @0x0e10 + 0ada 1c62 mrr $AR3, $AR2 + 0adb 02bf 81f9 call 0x81f9 + 0add 00f8 0bb1 sr @0x0bb1, $AX0.L + 0adf 02df ret + 0ae0 00c0 0e43 lr $AR0, @0x0e43 + 0ae2 0081 0b95 lri $AR1, #0x0b95 + 0ae4 00c2 0e10 lr $AR2, @0x0e10 + 0ae6 1c62 mrr $AR3, $AR2 + 0ae7 02bf 81f9 call 0x81f9 + 0ae9 00f8 0bb1 sr @0x0bb1, $AX0.L + 0aeb 029f 0a7d jmp 0x0a7d + 0aed 00c0 0e43 lr $AR0, @0x0e43 + 0aef 0081 0b95 lri $AR1, #0x0b95 + 0af1 00c2 0e10 lr $AR2, @0x0e10 + 0af3 1c62 mrr $AR3, $AR2 + 0af4 02bf 81f9 call 0x81f9 + 0af6 00f8 0bb1 sr @0x0bb1, $AX0.L + 0af8 029f 0a89 jmp 0x0a89 + 0afa 00c0 0e43 lr $AR0, @0x0e43 + 0afc 0081 0b95 lri $AR1, #0x0b95 + 0afe 00c2 0e10 lr $AR2, @0x0e10 + 0b00 1c62 mrr $AR3, $AR2 + 0b01 02bf 81f9 call 0x81f9 + 0b03 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b05 029f 0a95 jmp 0x0a95 + 0b07 00c0 0e43 lr $AR0, @0x0e43 + 0b09 0081 0b95 lri $AR1, #0x0b95 + 0b0b 00c2 0e10 lr $AR2, @0x0e10 + 0b0d 1c62 mrr $AR3, $AR2 + 0b0e 02bf 81f9 call 0x81f9 + 0b10 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b12 029f 0aa7 jmp 0x0aa7 + 0b14 00c0 0e43 lr $AR0, @0x0e43 + 0b16 0081 0b95 lri $AR1, #0x0b95 + 0b18 00c2 0e10 lr $AR2, @0x0e10 + 0b1a 1c62 mrr $AR3, $AR2 + 0b1b 02bf 81f9 call 0x81f9 + 0b1d 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b1f 029f 0ab4 jmp 0x0ab4 + 0b21 00c0 0e43 lr $AR0, @0x0e43 + 0b23 0081 0b95 lri $AR1, #0x0b95 + 0b25 00c2 0e10 lr $AR2, @0x0e10 + 0b27 1c62 mrr $AR3, $AR2 + 0b28 02bf 81f9 call 0x81f9 + 0b2a 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b2c 029f 0ac1 jmp 0x0ac1 + 0b2e 00c0 0e43 lr $AR0, @0x0e43 + 0b30 0081 0b95 lri $AR1, #0x0b95 + 0b32 00c2 0e10 lr $AR2, @0x0e10 + 0b34 0083 0e48 lri $AR3, #0x0e48 + 0b36 02bf 845d call 0x845d + 0b38 02df ret + 0b39 00c0 0e43 lr $AR0, @0x0e43 + 0b3b 0081 0b95 lri $AR1, #0x0b95 + 0b3d 00c2 0e10 lr $AR2, @0x0e10 + 0b3f 0083 0e48 lri $AR3, #0x0e48 + 0b41 02bf 845d call 0x845d + 0b43 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b45 029f 0a7d jmp 0x0a7d + 0b47 00c0 0e43 lr $AR0, @0x0e43 + 0b49 0081 0b95 lri $AR1, #0x0b95 + 0b4b 00c2 0e10 lr $AR2, @0x0e10 + 0b4d 0083 0e48 lri $AR3, #0x0e48 + 0b4f 02bf 845d call 0x845d + 0b51 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b53 029f 0a89 jmp 0x0a89 + 0b55 00c0 0e43 lr $AR0, @0x0e43 + 0b57 0081 0b95 lri $AR1, #0x0b95 + 0b59 00c2 0e10 lr $AR2, @0x0e10 + 0b5b 0083 0e48 lri $AR3, #0x0e48 + 0b5d 02bf 845d call 0x845d + 0b5f 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b61 029f 0a95 jmp 0x0a95 + 0b63 00c0 0e43 lr $AR0, @0x0e43 + 0b65 0081 0b95 lri $AR1, #0x0b95 + 0b67 00c2 0e10 lr $AR2, @0x0e10 + 0b69 0083 0e48 lri $AR3, #0x0e48 + 0b6b 02bf 845d call 0x845d + 0b6d 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b6f 029f 0aa7 jmp 0x0aa7 + 0b71 00c0 0e43 lr $AR0, @0x0e43 + 0b73 0081 0b95 lri $AR1, #0x0b95 + 0b75 00c2 0e10 lr $AR2, @0x0e10 + 0b77 0083 0e48 lri $AR3, #0x0e48 + 0b79 02bf 845d call 0x845d + 0b7b 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b7d 029f 0ab4 jmp 0x0ab4 + 0b7f 00c0 0e43 lr $AR0, @0x0e43 + 0b81 0081 0b95 lri $AR1, #0x0b95 + 0b83 00c2 0e10 lr $AR2, @0x0e10 + 0b85 0083 0e48 lri $AR3, #0x0e48 + 0b87 02bf 845d call 0x845d + 0b89 00f8 0bb1 sr @0x0bb1, $AX0.L + 0b8b 029f 0ac1 jmp 0x0ac1 + 0b8d 00c0 0e43 lr $AR0, @0x0e43 + 0b8f 0081 0b91 lri $AR1, #0x0b91 + 0b91 00c2 0e0e lr $AR2, @0x0e0e + 0b93 1c62 mrr $AR3, $AR2 + 0b94 02bf 81f9 call 0x81f9 + 0b96 00f8 0bab sr @0x0bab, $AX0.L + 0b98 02df ret + 0b99 00c0 0e43 lr $AR0, @0x0e43 + 0b9b 0081 0b93 lri $AR1, #0x0b93 + 0b9d 00c2 0e0f lr $AR2, @0x0e0f + 0b9f 1c62 mrr $AR3, $AR2 + 0ba0 02bf 81f9 call 0x81f9 + 0ba2 00f8 0bae sr @0x0bae, $AX0.L + 0ba4 02df ret + 0ba5 00c0 0e43 lr $AR0, @0x0e43 + 0ba7 0081 0b91 lri $AR1, #0x0b91 + 0ba9 00c2 0e0e lr $AR2, @0x0e0e + 0bab 1c62 mrr $AR3, $AR2 + 0bac 00c4 0e43 lr $IX0, @0x0e43 + 0bae 00c5 0e0f lr $IX1, @0x0e0f + 0bb0 02bf 80e7 call 0x80e7 + 0bb2 00f8 0bab sr @0x0bab, $AX0.L + 0bb4 00fb 0bae sr @0x0bae, $AX1.H + 0bb6 02df ret + 0bb7 00c0 0e43 lr $AR0, @0x0e43 + 0bb9 0081 0b91 lri $AR1, #0x0b91 + 0bbb 00c2 0e0e lr $AR2, @0x0e0e + 0bbd 0083 0e48 lri $AR3, #0x0e48 + 0bbf 02bf 845d call 0x845d + 0bc1 00f8 0bab sr @0x0bab, $AX0.L + 0bc3 02df ret + 0bc4 00c0 0e43 lr $AR0, @0x0e43 + 0bc6 0081 0b93 lri $AR1, #0x0b93 + 0bc8 00c2 0e0f lr $AR2, @0x0e0f + 0bca 0083 0e48 lri $AR3, #0x0e48 + 0bcc 02bf 845d call 0x845d + 0bce 00f8 0bae sr @0x0bae, $AX0.L + 0bd0 02df ret + 0bd1 00c0 0e43 lr $AR0, @0x0e43 + 0bd3 0081 0b91 lri $AR1, #0x0b91 + 0bd5 00c2 0e0e lr $AR2, @0x0e0e + 0bd7 0083 0e48 lri $AR3, #0x0e48 + 0bd9 00c4 0e43 lr $IX0, @0x0e43 + 0bdb 00c5 0e0f lr $IX1, @0x0e0f + 0bdd 02bf 8282 call 0x8282 + 0bdf 00f8 0bab sr @0x0bab, $AX0.L + 0be1 00fb 0bae sr @0x0bae, $AX1.H + 0be3 02df ret + 0be4 00c0 0e43 lr $AR0, @0x0e43 + 0be6 0081 0b95 lri $AR1, #0x0b95 + 0be8 00c2 0e10 lr $AR2, @0x0e10 + 0bea 1c62 mrr $AR3, $AR2 + 0beb 02bf 81f9 call 0x81f9 + 0bed 00f8 0bb1 sr @0x0bb1, $AX0.L + 0bef 029f 0b8d jmp 0x0b8d + 0bf1 00c0 0e43 lr $AR0, @0x0e43 + 0bf3 0081 0b95 lri $AR1, #0x0b95 + 0bf5 00c2 0e10 lr $AR2, @0x0e10 + 0bf7 1c62 mrr $AR3, $AR2 + 0bf8 02bf 81f9 call 0x81f9 + 0bfa 00f8 0bb1 sr @0x0bb1, $AX0.L + 0bfc 029f 0b99 jmp 0x0b99 + 0bfe 00c0 0e43 lr $AR0, @0x0e43 + 0c00 0081 0b95 lri $AR1, #0x0b95 + 0c02 00c2 0e10 lr $AR2, @0x0e10 + 0c04 1c62 mrr $AR3, $AR2 + 0c05 02bf 81f9 call 0x81f9 + 0c07 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c09 029f 0ba5 jmp 0x0ba5 + 0c0b 00c0 0e43 lr $AR0, @0x0e43 + 0c0d 0081 0b95 lri $AR1, #0x0b95 + 0c0f 00c2 0e10 lr $AR2, @0x0e10 + 0c11 1c62 mrr $AR3, $AR2 + 0c12 02bf 81f9 call 0x81f9 + 0c14 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c16 029f 0bb7 jmp 0x0bb7 + 0c18 00c0 0e43 lr $AR0, @0x0e43 + 0c1a 0081 0b95 lri $AR1, #0x0b95 + 0c1c 00c2 0e10 lr $AR2, @0x0e10 + 0c1e 1c62 mrr $AR3, $AR2 + 0c1f 02bf 81f9 call 0x81f9 + 0c21 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c23 029f 0bc4 jmp 0x0bc4 + 0c25 00c0 0e43 lr $AR0, @0x0e43 + 0c27 0081 0b95 lri $AR1, #0x0b95 + 0c29 00c2 0e10 lr $AR2, @0x0e10 + 0c2b 1c62 mrr $AR3, $AR2 + 0c2c 02bf 81f9 call 0x81f9 + 0c2e 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c30 029f 0bd1 jmp 0x0bd1 + 0c32 00c0 0e43 lr $AR0, @0x0e43 + 0c34 0081 0b95 lri $AR1, #0x0b95 + 0c36 00c2 0e10 lr $AR2, @0x0e10 + 0c38 0083 0e48 lri $AR3, #0x0e48 + 0c3a 02bf 845d call 0x845d + 0c3c 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c3e 029f 0b8d jmp 0x0b8d + 0c40 00c0 0e43 lr $AR0, @0x0e43 + 0c42 0081 0b95 lri $AR1, #0x0b95 + 0c44 00c2 0e10 lr $AR2, @0x0e10 + 0c46 0083 0e48 lri $AR3, #0x0e48 + 0c48 02bf 845d call 0x845d + 0c4a 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c4c 029f 0b99 jmp 0x0b99 + 0c4e 00c0 0e43 lr $AR0, @0x0e43 + 0c50 0081 0b95 lri $AR1, #0x0b95 + 0c52 00c2 0e10 lr $AR2, @0x0e10 + 0c54 0083 0e48 lri $AR3, #0x0e48 + 0c56 02bf 845d call 0x845d + 0c58 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c5a 029f 0ba5 jmp 0x0ba5 + 0c5c 00c0 0e43 lr $AR0, @0x0e43 + 0c5e 0081 0b95 lri $AR1, #0x0b95 + 0c60 00c2 0e10 lr $AR2, @0x0e10 + 0c62 0083 0e48 lri $AR3, #0x0e48 + 0c64 02bf 845d call 0x845d + 0c66 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c68 029f 0bb7 jmp 0x0bb7 + 0c6a 00c0 0e43 lr $AR0, @0x0e43 + 0c6c 0081 0b95 lri $AR1, #0x0b95 + 0c6e 00c2 0e10 lr $AR2, @0x0e10 + 0c70 0083 0e48 lri $AR3, #0x0e48 + 0c72 02bf 845d call 0x845d + 0c74 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c76 029f 0bc4 jmp 0x0bc4 + 0c78 00c0 0e43 lr $AR0, @0x0e43 + 0c7a 0081 0b95 lri $AR1, #0x0b95 + 0c7c 00c2 0e10 lr $AR2, @0x0e10 + 0c7e 0083 0e48 lri $AR3, #0x0e48 + 0c80 02bf 845d call 0x845d + 0c82 00f8 0bb1 sr @0x0bb1, $AX0.L + 0c84 029f 0bd1 jmp 0x0bd1 + +// Is this a jump table?? + 0c86 0118 cw 0x0118 ; *** UNKNOWN OPCODE *** + 0c87 01d4 cw 0x01d4 ; *** UNKNOWN OPCODE *** + 0c88 0252 cw 0x0252 ; *** UNKNOWN OPCODE *** + 0c89 02f8 cw 0x02f8 ; *** UNKNOWN OPCODE *** + 0c8a 0509 addis $ACC1, #0x09 + 0c8b 051d addis $ACC1, #0x1d + 0c8c 01fb cw 0x01fb ; *** UNKNOWN OPCODE *** + 0c8d 066a cmpis $ACC0, #0x6a + 0c8e 0d10 lris $AC1.L, #0x10 + 0c8f 01f5 cw 0x01f5 ; *** UNKNOWN OPCODE *** + 0c90 056e addis $ACC1, #0x6e + 0c91 056a addis $ACC1, #0x6a + 0c92 056c addis $ACC1, #0x6c + 0c93 023f cw 0x023f ; *** UNKNOWN OPCODE *** + 0c94 0531 addis $ACC1, #0x31 + 0c95 0570 addis $ACC1, #0x70 + 0c96 0d8a lris $AC1.L, #0x8a + 0c97 020b cw 0x020b ; *** UNKNOWN OPCODE *** + + 0c98 0082 0e00 lri $AR2, #0x0e00 + 0c9a 085e lris $AX0.L, #0x5e + 0c9b 085f lris $AX0.L, #0x5f + 0c9c 086b lris $AX0.L, #0x6b + 0c9d 0877 lris $AX0.L, #0x77 + 0c9e 0889 lris $AX0.L, #0x89 + 0c9f 0895 lris $AX0.L, #0x95 + 0ca0 08ac lris $AX0.L, #0xac + 0ca1 08c3 lris $AX0.L, #0xc3 + 0ca2 085e lris $AX0.L, #0x5e + 0ca3 08e0 lris $AX0.L, #0xe0 + 0ca4 08ed lris $AX0.L, #0xed + 0ca5 08fa lris $AX0.L, #0xfa + 0ca6 090d lris $AX1.L, #0x0d + 0ca7 091a lris $AX1.L, #0x1a + 0ca8 0933 lris $AX1.L, #0x33 + 0ca9 094c lris $AX1.L, #0x4c + 0caa 085e lris $AX0.L, #0x5e + 0cab 096b lris $AX1.L, #0x6b + 0cac 0977 lris $AX1.L, #0x77 + 0cad 0983 lris $AX1.L, #0x83 + 0cae 085e lris $AX0.L, #0x5e + 0caf 0995 lris $AX1.L, #0x95 + 0cb0 09a2 lris $AX1.L, #0xa2 + 0cb1 09af lris $AX1.L, #0xaf + 0cb2 09c2 lris $AX1.L, #0xc2 + 0cb3 09ce lris $AX1.L, #0xce + 0cb4 09db lris $AX1.L, #0xdb + 0cb5 09e8 lris $AX1.L, #0xe8 + 0cb6 09c2 lris $AX1.L, #0xc2 + 0cb7 09f5 lris $AX1.L, #0xf5 + 0cb8 0a02 lris $AX0.H, #0x02 + 0cb9 0a0f lris $AX0.H, #0x0f + 0cba 085e lris $AX0.L, #0x5e + 0cbb 096b lris $AX1.L, #0x6b + 0cbc 0977 lris $AX1.L, #0x77 + 0cbd 0983 lris $AX1.L, #0x83 + 0cbe 085e lris $AX0.L, #0x5e + 0cbf 0995 lris $AX1.L, #0x95 + 0cc0 09a2 lris $AX1.L, #0xa2 + 0cc1 09af lris $AX1.L, #0xaf + 0cc2 0a1c lris $AX0.H, #0x1c + 0cc3 0a29 lris $AX0.H, #0x29 + 0cc4 0a37 lris $AX0.H, #0x37 + 0cc5 0a45 lris $AX0.H, #0x45 + 0cc6 0a1c lris $AX0.H, #0x1c + 0cc7 0a53 lris $AX0.H, #0x53 + 0cc8 0a61 lris $AX0.H, #0x61 + 0cc9 0a6f lris $AX0.H, #0x6f + 0cca 085e lris $AX0.L, #0x5e + 0ccb 0a7d lris $AX0.H, #0x7d + 0ccc 0a89 lris $AX0.H, #0x89 + 0ccd 0a95 lris $AX0.H, #0x95 + 0cce 085e lris $AX0.L, #0x5e + 0ccf 0aa7 lris $AX0.H, #0xa7 + 0cd0 0ab4 lris $AX0.H, #0xb4 + 0cd1 0ac1 lris $AX0.H, #0xc1 + 0cd2 0ad4 lris $AX0.H, #0xd4 + 0cd3 0ae0 lris $AX0.H, #0xe0 + 0cd4 0aed lris $AX0.H, #0xed + 0cd5 0afa lris $AX0.H, #0xfa + 0cd6 0ad4 lris $AX0.H, #0xd4 + 0cd7 0b07 lris $AX1.H, #0x07 + 0cd8 0b14 lris $AX1.H, #0x14 + 0cd9 0b21 lris $AX1.H, #0x21 + 0cda 085e lris $AX0.L, #0x5e + 0cdb 0a7d lris $AX0.H, #0x7d + 0cdc 0a89 lris $AX0.H, #0x89 + 0cdd 0a95 lris $AX0.H, #0x95 + 0cde 085e lris $AX0.L, #0x5e + 0cdf 0aa7 lris $AX0.H, #0xa7 + 0ce0 0ab4 lris $AX0.H, #0xb4 + 0ce1 0ac1 lris $AX0.H, #0xc1 + 0ce2 0b2e lris $AX1.H, #0x2e + 0ce3 0b39 lris $AX1.H, #0x39 + 0ce4 0b47 lris $AX1.H, #0x47 + 0ce5 0b55 lris $AX1.H, #0x55 + 0ce6 0b2e lris $AX1.H, #0x2e + 0ce7 0b63 lris $AX1.H, #0x63 + 0ce8 0b71 lris $AX1.H, #0x71 + 0ce9 0b7f lris $AX1.H, #0x7f + 0cea 085e lris $AX0.L, #0x5e + 0ceb 0b8d lris $AX1.H, #0x8d + 0cec 0b99 lris $AX1.H, #0x99 + 0ced 0ba5 lris $AX1.H, #0xa5 + 0cee 085e lris $AX0.L, #0x5e + 0cef 0bb7 lris $AX1.H, #0xb7 + 0cf0 0bc4 lris $AX1.H, #0xc4 + 0cf1 0bd1 lris $AX1.H, #0xd1 + 0cf2 0ad4 lris $AX0.H, #0xd4 + 0cf3 0be4 lris $AX1.H, #0xe4 + 0cf4 0bf1 lris $AX1.H, #0xf1 + 0cf5 0bfe lris $AX1.H, #0xfe + 0cf6 0ad4 lris $AX0.H, #0xd4 + 0cf7 0c0b lris $AC0.L, #0x0b + 0cf8 0c18 lris $AC0.L, #0x18 + 0cf9 0c25 lris $AC0.L, #0x25 + 0cfa 085e lris $AX0.L, #0x5e + 0cfb 0b8d lris $AX1.H, #0x8d + 0cfc 0b99 lris $AX1.H, #0x99 + 0cfd 0ba5 lris $AX1.H, #0xa5 + 0cfe 085e lris $AX0.L, #0x5e + 0cff 0bb7 lris $AX1.H, #0xb7 + 0d00 0bc4 lris $AX1.H, #0xc4 + 0d01 0bd1 lris $AX1.H, #0xd1 + 0d02 0b2e lris $AX1.H, #0x2e + 0d03 0c32 lris $AC0.L, #0x32 + 0d04 0c40 lris $AC0.L, #0x40 + 0d05 0c4e lris $AC0.L, #0x4e + 0d06 0b2e lris $AX1.H, #0x2e + 0d07 0c5c lris $AC0.L, #0x5c + 0d08 0c6a lris $AC0.L, #0x6a + 0d09 0c78 lris $AC0.L, #0x78 + 0d0a 069e cmpis $ACC0, #0x9e + 0d0b 0753 cmpis $ACC1, #0x53 + 0d0c 07fd cmpis $ACC1, #0xfd + 0d0d 1000 loopi #0x00 + 0d0e 1200 sbclr #0x00 + 0d0f 1400 lsl $ACC0, #0 + 0d10 8e00 set16 + 0d11 8100 clr $ACC0 + 0d12 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0d13 191c lrri $AC0.L, @$AR0 + 0d14 2ece srs @DSMAH, $AC0.M + 0d15 2ccf srs @DSMAL, $AC0.L + 0d16 16cd 0e80 si @DSPA, #0x0e80 + 0d18 16c9 0000 si @DSCR, #0x0000 + 0d1a 16cb 0100 si @DSBL, #0x0100 + 0d1c 1f7e mrr $AX1.H, $AC0.M + 0d1d 1f3c mrr $AX1.L, $AC0.L + 0d1e 8100 clr $ACC0 + 0d1f 26c9 lrs $AC0.M, @DSCR + 0d20 02a0 0004 andf $AC0.M, #0x0004 + 0d22 029c 0d1f jlnz 0x0d1f + 0d24 191e lrri $AC0.M, @$AR0 + 0d25 191c lrri $AC0.L, @$AR0 + 0d26 2ece srs @DSMAH, $AC0.M + 0d27 2ccf srs @DSMAL, $AC0.L + 0d28 16cd 0280 si @DSPA, #0x0280 + 0d2a 16c9 0000 si @DSCR, #0x0000 + 0d2c 16cb 0280 si @DSBL, #0x0280 + 0d2e 1c80 mrr $IX0, $AR0 + 0d2f 0080 0280 lri $AR0, #0x0280 + 0d31 00c1 0e1b lr $AR1, @0x0e1b + 0d33 0085 0000 lri $IX1, #0x0000 + 0d35 0089 007f lri $WR1, #0x007f + 0d37 0082 0f00 lri $AR2, #0x0f00 + 0d39 0083 16b4 lri $AR3, #0x16b4 + 0d3b 1ce3 mrr $IX3, $AR3 + 0d3c 8100 clr $ACC0 + 0d3d 26c9 lrs $AC0.M, @DSCR + 0d3e 02a0 0004 andf $AC0.M, #0x0004 + 0d40 029c 0d3d jlnz 0x0d3d + 0d42 8f00 set40 + 0d43 8a78 m2'l : $AC1.M, @$AR0 + 0d44 8c68 clr15'l : $AC1.L, @$AR0 + 0d45 f100 lsl16 $ACC1 + 0d46 1a3f srr @$AR1, $AC1.M + 0d47 84e3 clrp'ld : $AX0.H, $AX1.L, @$AR3 + 0d48 107e loopi #0x7e + 0d49 f2e3 madd'ld $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0d4a f2e7 madd'ldn $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0d4b f278 madd'l $AX0.L, $AX0.H : $AC1.M, @$AR0 + 0d4c 6e68 movp'l $ACC0 : $AC1.L, @$AR0 + 0d4d f132 lsl16's $ACC1 : @$AR2, $AC0.M + 0d4e 1a3f srr @$AR1, $AC1.M + 0d4f 119e 0d59 bloopi #0x9e, 0x0d59 + 0d51 1c67 mrr $AR3, $IX3 + 0d52 84e3 clrp'ld : $AX0.H, $AX1.L, @$AR3 + 0d53 107e loopi #0x7e + 0d54 f2e3 madd'ld $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0d55 f2e7 madd'ldn $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0d56 f278 madd'l $AX0.L, $AX0.H : $AC1.M, @$AR0 + 0d57 6e68 movp'l $ACC0 : $AC1.L, @$AR0 + 0d58 f132 lsl16's $ACC1 : @$AR2, $AC0.M + 0d59 1a3f srr @$AR1, $AC1.M + 0d5a 1c67 mrr $AR3, $IX3 + 0d5b 84e3 clrp'ld : $AX0.H, $AX1.L, @$AR3 + 0d5c 107e loopi #0x7e + 0d5d f2e3 madd'ld $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0d5e f2e7 madd'ldn $AX0.L, $AX0.H : $AX0.H, $AX1.L, @$AR3 + 0d5f f200 madd $AX0.L, $AX0.H + 0d60 6e00 movp $ACC0 + 0d61 1b5e srri @$AR2, $AC0.M + 0d62 00e1 0e1b sr @0x0e1b, $AR1 + 0d64 0080 0280 lri $AR0, #0x0280 + 0d66 0083 0f00 lri $AR3, #0x0f00 + 0d68 0081 0000 lri $AR1, #0x0000 + 0d6a 0082 0140 lri $AR2, #0x0140 + 0d6c 0089 ffff lri $WR1, #0xffff + 0d6e 8900 clr $ACC1 + 0d6f 8100 clr $ACC0 + 0d70 8f00 set40 + 0d71 11a0 0d79 bloopi #0xa0, 0x0d79 + 0d73 197f lrri $AC1.M, @$AR3 + 0d74 9930 asr16's $ACC1 : @$AR0, $AC0.M + 0d75 1b1e srri @$AR0, $AC0.M + 0d76 1b3f srri @$AR1, $AC1.M + 0d77 7d29 neg's $ACC1 : @$AR1, $AC1.L + 0d78 1b5f srri @$AR2, $AC1.M + 0d79 1b5d srri @$AR2, $AC1.L + 0d7a 8e00 set16 + 0d7b 1fdb mrr $AC0.M, $AX1.H + 0d7c 1f99 mrr $AC0.L, $AX1.L + 0d7d 2ece srs @DSMAH, $AC0.M + 0d7e 2ccf srs @DSMAL, $AC0.L + 0d7f 16cd 0e80 si @DSPA, #0x0e80 + 0d81 16c9 0001 si @DSCR, #0x0001 + 0d83 16cb 0100 si @DSBL, #0x0100 + 0d85 02bf 0652 call 0652_WaitDMA + 0d87 1c04 mrr $AR0, $IX0 + 0d88 029f 0068 jmp 0x0068 + 0d8a 8e00 set16 + 0d8b 8100 clr $ACC0 + 0d8c 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0d8d 191c lrri $AC0.L, @$AR0 + 0d8e 2ece srs @DSMAH, $AC0.M + 0d8f 2ccf srs @DSMAL, $AC0.L + 0d90 16cd 07c0 si @DSPA, #0x07c0 + 0d92 16c9 0001 si @DSCR, #0x0001 + 0d94 16cb 0500 si @DSBL, #0x0500 + 0d96 02bf 0652 call 0652_WaitDMA + 0d98 8100 clr $ACC0 + 0d99 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0d9a 191c lrri $AC0.L, @$AR0 + 0d9b 2ece srs @DSMAH, $AC0.M + 0d9c 2ccf srs @DSMAL, $AC0.L + 0d9d 16cd 07c0 si @DSPA, #0x07c0 + 0d9f 16c9 0000 si @DSCR, #0x0000 + 0da1 8900 clr $ACC1 + 0da2 0d20 lris $AC1.L, #0x20 + 0da3 2dcb srs @DSBL, $AC1.L + 0da4 4c00 add $ACC0, $ACC1 + 0da5 1c80 mrr $IX0, $AR0 + 0da6 0080 07c0 lri $AR0, #0x07c0 + 0da8 0083 0000 lri $AR3, #0x0000 + 0daa 1c43 mrr $AR2, $AR3 + 0dab 0a00 lris $AX0.H, #0x00 + 0dac 27c9 lrs $AC1.M, @DSCR + 0dad 03a0 0004 andf $AC1.M, #0x0004 + 0daf 029c 0dac jlnz 0x0dac + 0db1 2ece srs @DSMAH, $AC0.M + 0db2 2ccf srs @DSMAL, $AC0.L + 0db3 16cd 07d0 si @DSPA, #0x07d0 + 0db5 16c9 0000 si @DSCR, #0x0000 + 0db7 16cb 04e0 si @DSBL, #0x04e0 + 0db9 8f00 set40 + 0dba 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0dbb 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0dbc 6a00 movax $ACC0, $AX1.L + 0dbd 4800 addax $ACC0, $AX0.L + 0dbe 114f 0dc7 bloopi #0x4f, 0x0dc7 + 0dc0 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0dc1 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0dc2 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0dc3 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0dc4 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0dc5 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0dc6 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 0dc7 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 0dc8 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0dc9 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0dca 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0dcb 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0dcc 1b5f srri @$AR2, $AC1.M + 0dcd 1b5d srri @$AR2, $AC1.L + 0dce 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0dcf 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0dd0 6800 movax $ACC0, $AX0.L + 0dd1 7c00 neg $ACC0 + 0dd2 4a00 addax $ACC0, $AX1.L + 0dd3 114f 0dde bloopi #0x4f, 0x0dde + 0dd5 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0dd6 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0dd7 6932 movax's $ACC1, $AX0.L : @$AR2, $AC0.M + 0dd8 7d00 neg $ACC1 + 0dd9 4b22 addax's $ACC1, $AX1.L : @$AR2, $AC0.L + 0dda 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0ddb 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0ddc 683a movax's $ACC0, $AX0.L : @$AR2, $AC1.M + 0ddd 7c00 neg $ACC0 + 0dde 4a2a addax's $ACC0, $AX1.L : @$AR2, $AC1.L + 0ddf 80f0 nx'ld : $AX0.H, $AX1.H, @$AR0 + 0de0 80c0 nx'ld : $AX0.L, $AX1.L, @$AR0 + 0de1 6932 movax's $ACC1, $AX0.L : @$AR2, $AC0.M + 0de2 7d00 neg $ACC1 + 0de3 4b22 addax's $ACC1, $AX1.L : @$AR2, $AC0.L + 0de4 1b5f srri @$AR2, $AC1.M + 0de5 1b5d srri @$AR2, $AC1.L + 0de6 1c04 mrr $AR0, $IX0 + 0de7 029f 0068 jmp 0x0068 + 0de9 8f00 set40 + 0dea 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0deb 80c1 nx'ld : $AX0.L, $AX1.L, @$AR1 + 0dec 6a00 movax $ACC0, $AX1.L + 0ded 4800 addax $ACC0, $AX0.L + 0dee 114f 0df7 bloopi #0x4f, 0x0df7 + 0df0 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0df1 80c1 nx'ld : $AX0.L, $AX1.L, @$AR1 + 0df2 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0df3 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0df4 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0df5 80c1 nx'ld : $AX0.L, $AX1.L, @$AR1 + 0df6 6a3a movax's $ACC0, $AX1.L : @$AR2, $AC1.M + 0df7 482a addax's $ACC0, $AX0.L : @$AR2, $AC1.L + 0df8 80f1 nx'ld : $AX0.H, $AX1.H, @$AR1 + 0df9 80c1 nx'ld : $AX0.L, $AX1.L, @$AR1 + 0dfa 6b32 movax's $ACC1, $AX1.L : @$AR2, $AC0.M + 0dfb 4922 addax's $ACC1, $AX0.L : @$AR2, $AC0.L + 0dfc 1b5f srri @$AR2, $AC1.M + 0dfd 1b5d srri @$AR2, $AC1.L + 0dfe 8e00 set16 + 0dff 02df ret + 0e00 8e00 set16 + 0e01 8100 clr $ACC0 + 0e02 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0e03 191c lrri $AC0.L, @$AR0 + 0e04 2ece srs @DSMAH, $AC0.M + 0e05 2ccf srs @DSMAL, $AC0.L + 0e06 16cd 0400 si @DSPA, #0x0400 + 0e08 16c9 0001 si @DSCR, #0x0001 + 0e0a 16cb 0780 si @DSBL, #0x0780 + 0e0c 02bf 0652 call 0652_WaitDMA + 0e0e 8100 clr $ACC0 + 0e0f 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0e10 191c lrri $AC0.L, @$AR0 + 0e11 2ece srs @DSMAH, $AC0.M + 0e12 2ccf srs @DSMAL, $AC0.L + 0e13 16cd 0a40 si @DSPA, #0x0a40 + 0e15 16c9 0001 si @DSCR, #0x0001 + 0e17 16cb 0280 si @DSBL, #0x0280 + 0e19 02bf 0652 call 0652_WaitDMA + 0e1b 8100 clr $ACC0 + 0e1c 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0e1d 191c lrri $AC0.L, @$AR0 + 0e1e 2ece srs @DSMAH, $AC0.M + 0e1f 2ccf srs @DSMAL, $AC0.L + 0e20 16cd 0e48 si @DSPA, #0x0e48 + 0e22 16c9 0000 si @DSCR, #0x0000 + 0e24 16cb 0280 si @DSBL, #0x0280 + 0e26 0081 0e48 lri $AR1, #0x0e48 + 0e28 0082 0000 lri $AR2, #0x0000 + 0e2a 0083 0000 lri $AR3, #0x0000 + 0e2c 02bf 0652 call 0652_WaitDMA + 0e2e 02bf 0de9 call 0x0de9 + 0e30 8100 clr $ACC0 + 0e31 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0e32 191c lrri $AC0.L, @$AR0 + 0e33 2ece srs @DSMAH, $AC0.M + 0e34 2ccf srs @DSMAL, $AC0.L + 0e35 16cd 0e48 si @DSPA, #0x0e48 + 0e37 16c9 0000 si @DSCR, #0x0000 + 0e39 16cb 0280 si @DSBL, #0x0280 + 0e3b 0081 0e48 lri $AR1, #0x0e48 + 0e3d 0082 0140 lri $AR2, #0x0140 + 0e3f 0083 0140 lri $AR3, #0x0140 + 0e41 02bf 0652 call 0652_WaitDMA + 0e43 02bf 0de9 call 0x0de9 + 0e45 8100 clr $ACC0 + 0e46 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0e47 191c lrri $AC0.L, @$AR0 + 0e48 2ece srs @DSMAH, $AC0.M + 0e49 2ccf srs @DSMAL, $AC0.L + 0e4a 16cd 0e48 si @DSPA, #0x0e48 + 0e4c 16c9 0000 si @DSCR, #0x0000 + 0e4e 16cb 0280 si @DSBL, #0x0280 + 0e50 0081 0e48 lri $AR1, #0x0e48 + 0e52 0082 07c0 lri $AR2, #0x07c0 + 0e54 0083 07c0 lri $AR3, #0x07c0 + 0e56 02bf 0652 call 0652_WaitDMA + 0e58 02bf 0de9 call 0x0de9 + 0e5a 8100 clr $ACC0 + 0e5b 8970 clr'l $ACC1 : $AC0.M, @$AR0 + 0e5c 191c lrri $AC0.L, @$AR0 + 0e5d 2ece srs @DSMAH, $AC0.M + 0e5e 2ccf srs @DSMAL, $AC0.L + 0e5f 16cd 0e48 si @DSPA, #0x0e48 + 0e61 16c9 0000 si @DSCR, #0x0000 + 0e63 16cb 0280 si @DSBL, #0x0280 + 0e65 0081 0e48 lri $AR1, #0x0e48 + 0e67 0082 0900 lri $AR2, #0x0900 + 0e69 0083 0900 lri $AR3, #0x0900 + 0e6b 02bf 0652 call 0652_WaitDMA + 0e6d 02bf 0de9 call 0x0de9 + 0e6f 029f 0068 jmp 0x0068 + +void 0e71_Int1_Handler() { + 0e71 8e00 set16 + 0e72 16fc ecc0 si @DMBH, #0xecc0 + 0e74 1fcc mrr $AC0.M, $ST0 + 0e75 1d9e mrr $ST0, $AC0.M + 0e76 2efd srs @DMBL, $AC0.M + do { + // 0e77 26fc lrs $AC0.M, @DMBH + // 0e78 02a0 8000 andf $AC0.M, #0x8000 + // 0e7a 029c 0e77 jlnz 0x0e77 + } while(DMBH & 0x8000); + + 0e7c 0000 nop + 0e7d 0000 nop + 0e7e 0000 nop + 0e7f 02ff rti +} + +void 0e80_Int2_Handler() { + 0e80 8e00 set16 + 0e81 00f0 0e17 sr @0x0e17, $AC0.H + 0e83 00fe 0e18 sr @0x0e18, $AC0.M + 0e85 00fc 0e19 sr @0x0e19, $AC0.L + 0e87 1fcc mrr $AC0.M, $ST0 + 0e88 1d9e mrr $ST0, $AC0.M + 0e89 16fc feed si @DMBH, #0xfeed + 0e8b 2efd srs @DMBL, $AC0.M + 0e8c 26fc lrs $AC0.M, @DMBH + 0e8d 02a0 8000 andf $AC0.M, #0x8000 + 0e8f 029c 0e8c jlnz 0x0e8c + 0e91 00d0 0e17 lr $AC0.H, @0x0e17 + 0e93 00de 0e18 lr $AC0.M, @0x0e18 + 0e95 00dc 0e19 lr $AC0.L, @0x0e19 + 0e97 0000 nop + 0e98 0000 nop + 0e99 0000 nop + 0e9a 0000 nop + 0e9b 02ff rti +} + +void 0e9c_Int3_Handler() { + 0e9c 8e00 set16 + 0e9d 1dbc mrr $ST1, $AC0.L + 0e9e 1dbe mrr $ST1, $AC0.M + 0e9f 8100 clr $ACC0 + 0ea0 00de 0bb7 lr $AC0.M, @0x0bb7 + 0ea2 0601 cmpis $ACC0, #0x01 + 0ea3 0295 0ea8 jz 0x0ea8 + 0ea5 0e00 lris $AC0.M, #0x00 + 0ea6 00fe 0b87 sr @0x0b87, $AC0.M + 0ea8 8100 clr $ACC0 + 0ea9 00de 0b88 lr $AC0.M, @0x0b88 + 0eab 0601 cmpis $ACC0, #0x01 + 0eac 0295 0eb2 jz 0x0eb2 + 0eae 8100 clr $ACC0 + 0eaf 1fcd mrr $AC0.M, $ST1 + 0eb0 1f8d mrr $AC0.L, $ST1 + 0eb1 02ff rti + 0eb2 8100 clr $ACC0 + 0eb3 00dc 0be1 lr $AC0.L, @0x0be1 + 0eb5 7600 inc $ACC0 + 0eb6 00fc 0be1 sr @0x0be1, $AC0.L + 0eb8 8100 clr $ACC0 + 0eb9 1fcd mrr $AC0.M, $ST1 + 0eba 1f8d mrr $AC0.L, $ST1 + 0ebb 02ff rti +} + +void 0ebc_Int4_Handler() { + 0ebc 0000 nop + 0ebd 0000 nop + 0ebe 0000 nop + 0ebf 0000 nop + 0ec0 0000 nop + 0ec1 02ff rti +} + +void 0ec2_Int5_Handler() { + 0ec2 8e00 set16 + 0ec3 1dbc mrr $ST1, $AC0.L + 0ec4 1dbe mrr $ST1, $AC0.M + 0ec5 8100 clr $ACC0 + 0ec6 00de 0bb7 lr $AC0.M, @0x0bb7 + 0ec8 0601 cmpis $ACC0, #0x01 + 0ec9 0295 0ed1 jz 0x0ed1 + 0ecb 0e00 lris $AC0.M, #0x00 + 0ecc 00fe 0b87 sr @0x0b87, $AC0.M + 0ece 1fcd mrr $AC0.M, $ST1 + 0ecf 1f8d mrr $AC0.L, $ST1 + 0ed0 02ff rti + 0ed1 8100 clr $ACC0 + 0ed2 00de 0b88 lr $AC0.M, @0x0b88 + 0ed4 0601 cmpis $ACC0, #0x01 + 0ed5 0295 0ee3 jz 0x0ee3 + 0ed7 00de 0bda lr $AC0.M, @0x0bda + 0ed9 2eda srs @pred_scale, $AC0.M + 0eda 00de 0bdb lr $AC0.M, @0x0bdb + 0edc 2edb srs @yn1, $AC0.M + 0edd 00de 0bdc lr $AC0.M, @0x0bdc + 0edf 2edc srs @yn2, $AC0.M + 0ee0 1fcd mrr $AC0.M, $ST1 + 0ee1 1f8d mrr $AC0.L, $ST1 + 0ee2 02ff rti + 0ee3 00de 0bda lr $AC0.M, @0x0bda + 0ee5 2eda srs @pred_scale, $AC0.M + 0ee6 26db lrs $AC0.M, @yn1 + 0ee7 2edb srs @yn1, $AC0.M + 0ee8 26dc lrs $AC0.M, @yn2 + 0ee9 2edc srs @yn2, $AC0.M + 0eea 8100 clr $ACC0 + 0eeb 00dc 0be1 lr $AC0.L, @0x0be1 + 0eed 7600 inc $ACC0 + 0eee 00fc 0be1 sr @0x0be1, $AC0.L + 0ef0 8100 clr $ACC0 + 0ef1 1fcd mrr $AC0.M, $ST1 + 0ef2 1f8d mrr $AC0.L, $ST1 + 0ef3 02ff rti +} +void 0ef4_Int6_Handler() { + 0ef4 0000 nop + 0ef5 0000 nop + 0ef6 0000 nop + 0ef7 0000 nop + 0ef8 0000 nop + 0ef9 02ff rti +} + +void 0e71_Int7_Handler() { + 0efa 0000 nop + 0efb 0000 nop + 0efc 0000 nop + 0efd 0000 nop + 0efe 02ff rti +} + +// Jump Table +0eff 0f11 +0f00 0f14 +0f01 0f4c +0f02 0f4f + + 0f03 8e00 set16 + 0f04 8100 clr $ACC0 + 0f05 8900 clr $ACC1 + 0f06 02bf 0f52 call 0x0f52 + 0f08 27ff lrs $AC1.M, @CMBL + 0f09 009e 0eff lri $AC0.M, #0x0eff + 0f0b 4c00 add $ACC0, $ACC1 + 0f0c 1c7e mrr $AR3, $AC0.M + 0f0d 0313 ilrr $AC1.M, @$AR3 + 0f0e 1c7f mrr $AR3, $AC1.M + 0f0f 176f jmpr $AR3 + 0f10 0021 halt + 0f11 029f 0030 jmp 0x0030 + + 0f13 0021 halt + 0f14 8100 clr $ACC0 + 0f15 8900 clr $ACC1 + 0f16 02bf 0f52 call 0x0f52 + 0f18 24ff lrs $AC0.L, @CMBL + 0f19 02bf 0f58 call 0x0f58 + 0f1b 25ff lrs $AC1.L, @CMBL + 0f1c 02bf 0f58 call 0x0f58 + 0f1e 27ff lrs $AC1.M, @CMBL + 0f1f 2ece srs @DSMAH, $AC0.M + 0f20 2ccf srs @DSMAL, $AC0.L + 0f21 16c9 0001 si @DSCR, #0x0001 + 0f23 2fcd srs @DSPA, $AC1.M + 0f24 2dcb srs @DSBL, $AC1.L + 0f25 8100 clr $ACC0 + 0f26 8900 clr $ACC1 + 0f27 02bf 0f52 call 0x0f52 + 0f29 24ff lrs $AC0.L, @CMBL + 0f2a 1c9e mrr $IX0, $AC0.M + 0f2b 1cbc mrr $IX1, $AC0.L + 0f2c 02bf 0f58 call 0x0f58 + 0f2e 25ff lrs $AC1.L, @CMBL + 0f2f 02bf 0f58 call 0x0f58 + 0f31 27ff lrs $AC1.M, @CMBL + 0f32 1cdf mrr $IX2, $AC1.M + 0f33 1cfd mrr $IX3, $AC1.L + 0f34 8100 clr $ACC0 + 0f35 02bf 0f52 call 0x0f52 + 0f37 26ff lrs $AC0.M, @CMBL + 0f38 1c1e mrr $AR0, $AC0.M + 0f39 8900 clr $ACC1 + 0f3a 02bf 0f58 call 0x0f58 + 0f3c 20ff lrs $AX0.L, @CMBL + 0f3d 1f5f mrr $AX0.H, $AC1.M + 0f3e 02bf 0f52 call 0x0f52 + 0f40 21ff lrs $AX1.L, @CMBL + 0f41 02bf 0f52 call 0x0f52 + 0f43 23ff lrs $AX1.H, @CMBL + 0f44 26c9 lrs $AC0.M, @DSCR + 0f45 02a0 0004 andf $AC0.M, #0x0004 + 0f47 029c 0f44 jlnz 0x0f44 + 0f49 029f 80b5 jmp 0x80b5 + 0f4b 0021 halt + 0f4c 029f 8000 jmp 0x8000 + 0f4e 0021 halt + 0f4f 029f 0045 jmp 0x0045 + 0f51 0021 halt + 0f52 26fe lrs $AC0.M, @CMBH + 0f53 02c0 8000 andcf $AC0.M, #0x8000 + 0f55 029c 0f52 jlnz 0x0f52 + 0f57 02df ret + 0f58 27fe lrs $AC1.M, @CMBH + 0f59 03c0 8000 andcf $AC1.M, #0x8000 + 0f5b 029c 0f58 jlnz 0x0f58 + 0f5d 02df ret + 0f5e 0000 nop + 0f5f 0000 nop diff --git a/docs/DSP/DSP_UC_Pikmin2Wii.txt b/docs/DSP/DSP_UC_Pikmin2Wii.txt new file mode 100644 index 0000000000..c13559a1d9 --- /dev/null +++ b/docs/DSP/DSP_UC_Pikmin2Wii.txt @@ -0,0 +1,2877 @@ +// This one belongs to Pikmin 2 for the Wii and utilizes the mysterious UnkZelda address. Also very different from Pikmin 1 for the Wii + 0000 029f 0012 jmp 0x0012 + 0002 0000 nop + 0003 0000 nop + 0004 02ff rti + 0005 0000 nop + 0006 02ff rti + 0007 0000 nop + 0008 02ff rti + 0009 0000 nop + 000a 02ff rti + 000b 0000 nop + 000c 02ff rti + 000d 0000 nop + 000e 029f 072e jmp 0x072e + 0010 029f 0059 jmp 0x0059 + 0012 1205 sbclr #0x05 + 0013 02bf 0062 call 0x0062 + 0015 8100 clr $ACC0 + 0016 009f 1000 lri $AC1.M, #0x1000 + 0018 0080 0000 lri $AR0, #0x0000 + 001a 005f loop $AC1.M + 001b 1b1e srri @$AR0, $AC0.M + 001c 02bf 07fe call 0x07fe + 001e 02bf 0f72 call 0x0f72 + 0020 0e00 lris $AC0.M, #0x00 + 0021 02bf 07e0 call 0x07e0 + 0023 009e 1111 lri $AC0.M, #0x1111 + 0025 02bf 07ea call 0x07ea + 0027 0e00 lris $AC0.M, #0x00 + 0028 00fe 034e sr @0x034e, $AC0.M + 002a 1305 sbset #0x05 + 002b 3a00 orr $AC0.M, $AX1.H + 002c 7400 incm $AC0.M + 002d 1f7e mrr $AX1.H, $AC0.M + 002e 0240 00ff andi $AC0.M, #0x00ff + 0030 0200 5500 addi $AC0.M, #0x5500 + 0032 02bf 00a0 call 0x00a0 + 0034 029f 083b jmp 0x083b + 0036 00df 0357 lr $AC1.M, @0x0357 + 0038 00ff 0345 sr @0x0345, $AC1.M + 003a 00de 0356 lr $AC0.M, @0x0356 + 003c 1ffe mrr $AC1.M, $AC0.M + 003d 0340 00ff andi $AC1.M, #0x00ff + 003f 00ff 0344 sr @0x0344, $AC1.M + 0041 1479 lsr $ACC0, #-7 + 0042 0240 007e andi $AC0.M, #0x007e + 0044 00fe 0343 sr @0x0343, $AC0.M + 0046 0200 0080 addi $AC0.M, #0x0080 + 0048 1c1e mrr $AR0, $AC0.M + 0049 170f jmpr $AR0 + 004a 0092 00ff lri $CR, #0x00ff + 004c 009e cafe lri $AC0.M, #0xcafe + 004e 02bf 00a0 call 0x00a0 + 0050 0e04 lris $AC0.M, #0x04 + 0051 02bf 07e0 call 0x07e0 + 0053 00de 0356 lr $AC0.M, @0x0356 + 0055 02bf 07ea call 0x07ea + 0057 029f 002b jmp 0x002b + 0059 1205 sbclr #0x05 + 005a 02bf 0062 call 0x0062 + 005c 0e01 lris $AC0.M, #0x01 + 005d 02bf 07e0 call 0x07e0 + 005f 1305 sbset #0x05 + 0060 029f 002b jmp 0x002b + 0062 1202 sbclr #0x02 + 0063 1203 sbclr #0x03 + 0064 1204 sbclr #0x04 + 0065 1306 sbset #0x06 + 0066 8e00 set16 + 0067 8c00 clr15 + 0068 8b00 m0 + 0069 009e ffff lri $AC0.M, #0xffff + 006b 1d1e mrr $WR0, $AC0.M + 006c 1d3e mrr $WR1, $AC0.M + 006d 1d5e mrr $WR2, $AC0.M + 006e 1d7e mrr $WR3, $AC0.M + 006f 0092 00ff lri $CR, #0x00ff + 0071 02df ret + 0072 0081 0358 lri $AR1, #0x0358 + 0074 0090 0000 lri $AC0.H, #0x0000 + 0076 0c00 lris $AC0.L, #0x00 + 0077 007e 007c bloop $AC0.M, 0x007c + 0079 193e lrri $AC0.M, @$AR1 + 007a 1b1e srri @$AR0, $AC0.M + 007b 193e lrri $AC0.M, @$AR1 + 007c 1b1e srri @$AR0, $AC0.M + 007d 02df ret + 007e 029f 004a jmp 0x004a + 0080 029f 004a jmp 0x004a + 0082 029f 00d9 jmp 0x00d9 + 0084 029f 02e3 jmp 0x02e3 + 0086 029f 007e jmp 0x007e + 0088 029f 0677 jmp 0x0677 + 008a 029f 0689 jmp 0x0689 + 008c 029f 004a jmp 0x004a + 008e 029f 05c0 jmp 0x05c0 + 0090 029f 060c jmp 0x060c + 0092 029f 05f0 jmp 0x05f0 + 0094 029f 004a jmp 0x004a + 0096 029f 004a jmp 0x004a + 0098 029f 004a jmp 0x004a + 009a 029f 0103 jmp 0x0103 + 009c 029f 00f6 jmp 0x00f6 + 009e 029f 004a jmp 0x004a + 00a0 00fe 0b00 sr @0x0b00, $AC0.M + 00a2 8100 clr $ACC0 + 00a3 00de 0354 lr $AC0.M, @0x0354 + 00a5 1408 lsl $ACC0, #8 + 00a6 00df 0341 lr $AC1.M, @0x0341 + 00a8 3e00 orc $AC0.M + 00a9 00fe 0b01 sr @0x0b01, $AC0.M + 00ab 00de 0350 lr $AC0.M, @0x0350 + 00ad 00fe 0b02 sr @0x0b02, $AC0.M + 00af 00de 0351 lr $AC0.M, @0x0351 + 00b1 00fe 0b03 sr @0x0b03, $AC0.M + 00b3 00de 0352 lr $AC0.M, @0x0352 + 00b5 00fe 0b04 sr @0x0b04, $AC0.M + 00b7 00de 037d lr $AC0.M, @0x037d + 00b9 00dc 037e lr $AC0.L, @0x037e + 00bb 009f 0b00 lri $AC1.M, #0x0b00 + 00bd 0080 0010 lri $AR0, #0x0010 + 00bf 0090 0001 lri $AC0.H, #0x0001 + 00c1 1c3f mrr $AR1, $AC1.M + 00c2 0f0a lris $AC1.M, #0x0a + 00c3 2fd1 srs @SampleFormat, $AC1.M + 00c4 1f5e mrr $AX0.H, $AC0.M + 00c5 1f1c mrr $AX0.L, $AC0.L + 00c6 009e ffff lri $AC0.M, #0xffff + 00c8 2ed6 srs @ACEAH, $AC0.M + 00c9 2ed7 srs @ACEAL, $AC0.M + 00ca 1fda mrr $AC0.M, $AX0.H + 00cb 1f98 mrr $AC0.L, $AX0.L + 00cc 147f lsr $ACC0, #-1 + 00cd 2ed8 srs @ACCAH, $AC0.M + 00ce 2cd9 srs @ACCAL, $AC0.L + 00cf 1f40 mrr $AX0.H, $AR0 + 00d0 007a 00d7 bloop $AX0.H, 0x00d7 + 00d2 193e lrri $AC0.M, @$AR1 + 00d3 2ed3 srs @UnkZelda, $AC0.M + 00d4 0000 nop + 00d5 0000 nop + 00d6 0000 nop + 00d7 0000 nop + 00d8 02df ret + 00d9 0080 0380 lri $AR0, #0x0380 + 00db 0e04 lris $AC0.M, #0x04 + 00dc 02bf 0072 call 0x0072 + 00de 0081 0382 lri $AR1, #0x0382 + 00e0 009f 0000 lri $AC1.M, #0x0000 + 00e2 0080 0280 lri $AR0, #0x0280 + 00e4 02bf 0647 call 0x0647 + 00e6 0081 0384 lri $AR1, #0x0384 + 00e8 009f 0300 lri $AC1.M, #0x0300 + 00ea 0080 0020 lri $AR0, #0x0020 + 00ec 02bf 0647 call 0x0647 + 00ee 00de 0345 lr $AC0.M, @0x0345 + 00f0 00fe 0342 sr @0x0342, $AC0.M + 00f2 02bf 0d44 call 0x0d44 + 00f4 029f 004a jmp 0x004a + 00f6 0080 037d lri $AR0, #0x037d + 00f8 0e01 lris $AC0.M, #0x01 + 00f9 02bf 0072 call 0x0072 + 00fb 00de 037d lr $AC0.M, @0x037d + 00fd 0240 7fff andi $AC0.M, #0x7fff + 00ff 00fe 037d sr @0x037d, $AC0.M + 0101 029f 004a jmp 0x004a + 0103 0080 0374 lri $AR0, #0x0374 + 0105 0e01 lris $AC0.M, #0x01 + 0106 00fe 0377 sr @0x0377, $AC0.M + 0108 00fe 037c sr @0x037c, $AC0.M + 010a 02bf 0072 call 0x0072 + 010c 00de 0345 lr $AC0.M, @0x0345 + 010e 00fe 0376 sr @0x0376, $AC0.M + 0110 029f 004a jmp 0x004a + 0112 0081 034c lri $AR1, #0x034c + 0114 009f 0400 lri $AC1.M, #0x0400 + 0116 0080 00c0 lri $AR0, #0x00c0 + 0118 02bf 0647 call 0x0647 + 011a 02df ret + 011b 0081 034c lri $AR1, #0x034c + 011d 009f 0400 lri $AC1.M, #0x0400 + 011f 0080 0080 lri $AR0, #0x0080 + 0121 0081 034c lri $AR1, #0x034c + 0123 193e lrri $AC0.M, @$AR1 + 0124 193c lrri $AC0.L, @$AR1 + 0125 0098 0000 lri $AX0.L, #0x0000 + 0127 7000 addaxl $ACC0, $AX0.L + 0128 02bf 0656 call 0x0656 + 012a 02df ret + 012b 191e lrri $AC0.M, @$AR0 + 012c 191a lrri $AX0.H, @$AR0 + 012d 005f loop $AC1.M + 012e 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 012f 1b7e srri @$AR3, $AC0.M + 0130 1b7a srri @$AR3, $AX0.H + 0131 02df ret + 0132 0000 nop + 0133 007f 0138 bloop $AC1.M, 0x0138 + 0135 191e lrri $AC0.M, @$AR0 + 0136 1b7e srri @$AR3, $AC0.M + 0137 191e lrri $AC0.M, @$AR0 + 0138 1b7e srri @$AR3, $AC0.M + 0139 0000 nop + 013a 02df ret + 013b 191e lrri $AC0.M, @$AR0 + 013c 191a lrri $AX0.H, @$AR0 + 013d 007f 0142 bloop $AC1.M, 0x0142 + 013f 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H + 0140 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 0141 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H + 0142 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 0143 0000 nop + 0144 02df ret + 0145 8a00 m2 + 0146 157f lsr $ACC1, #-1 + 0147 1c20 mrr $AR1, $AR0 + 0148 1c03 mrr $AR0, $AR3 + 0149 193a lrri $AX0.H, @$AR1 + 014a 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 + 014b 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 + 014c 007f 0151 bloop $AC1.M, 0x0151 + 014e 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 014f 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 0150 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 0151 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 0152 8b00 m0 + 0153 02df ret + 0154 8a00 m2 + 0155 191a lrri $AX0.H, @$AR0 + 0156 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0 + 0157 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0158 005f loop $AC1.M + 0159 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M + 015a 8b00 m0 + 015b 02df ret + 015c 8100 clr $ACC0 + 015d 8900 clr $ACC1 + 015e 0e50 lris $AC0.M, #0x50 + 015f 0080 0d00 lri $AR0, #0x0d00 + 0161 005e loop $AC0.M + 0162 1b1f srri @$AR0, $AC1.M + 0163 0080 0d60 lri $AR0, #0x0d60 + 0165 005e loop $AC0.M + 0166 1b1f srri @$AR0, $AC1.M + 0167 00da 0374 lr $AX0.H, @0x0374 + 0169 8600 tstaxh $AX0.H + 016a 02b5 0f9d callz 0x0f9d + 016c 8100 clr $ACC0 + 016d 8900 clr $ACC1 + 016e 0e50 lris $AC0.M, #0x50 + 016f 0080 0ca0 lri $AR0, #0x0ca0 + 0171 005e loop $AC0.M + 0172 1b1f srri @$AR0, $AC1.M + 0173 0080 0f40 lri $AR0, #0x0f40 + 0175 005e loop $AC0.M + 0176 1b1f srri @$AR0, $AC1.M + 0177 0080 0fa0 lri $AR0, #0x0fa0 + 0179 005e loop $AC0.M + 017a 1b1f srri @$AR0, $AC1.M + 017b 0080 0a00 lri $AR0, #0x0a00 + 017d 005e loop $AC0.M + 017e 1b1f srri @$AR0, $AC1.M + 017f 0080 09a0 lri $AR0, #0x09a0 + 0181 005e loop $AC0.M + 0182 1b1f srri @$AR0, $AC1.M + 0183 0f04 lris $AC1.M, #0x04 + 0184 0080 0e10 lri $AR0, #0x0e10 + 0186 0083 0dc0 lri $AR3, #0x0dc0 + 0188 02bf 0132 call 0x0132 + 018a 0080 0e70 lri $AR0, #0x0e70 + 018c 0083 0e20 lri $AR3, #0x0e20 + 018e 02bf 0132 call 0x0132 + 0190 0080 0ed0 lri $AR0, #0x0ed0 + 0192 0083 0e80 lri $AR3, #0x0e80 + 0194 02bf 0132 call 0x0132 + 0196 0080 0f30 lri $AR0, #0x0f30 + 0198 0083 0ee0 lri $AR3, #0x0ee0 + 019a 02bf 0132 call 0x0132 + 019c 8100 clr $ACC0 + 019d 0e50 lris $AC0.M, #0x50 + 019e 8900 clr $ACC1 + 019f 0080 0dc8 lri $AR0, #0x0dc8 + 01a1 005e loop $AC0.M + 01a2 1b1f srri @$AR0, $AC1.M + 01a3 0080 0e28 lri $AR0, #0x0e28 + 01a5 005e loop $AC0.M + 01a6 1b1f srri @$AR0, $AC1.M + 01a7 0080 0e88 lri $AR0, #0x0e88 + 01a9 005e loop $AC0.M + 01aa 1b1f srri @$AR0, $AC1.M + 01ab 0080 0ee8 lri $AR0, #0x0ee8 + 01ad 005e loop $AC0.M + 01ae 1b1f srri @$AR0, $AC1.M + 01af 02df ret + 01b0 009f 0580 lri $AC1.M, #0x0580 + 01b2 009b 00a0 lri $AX1.H, #0x00a0 + 01b4 0081 0393 lri $AR1, #0x0393 + 01b6 18bc lrrd $AC0.L, @$AR1 + 01b7 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 01b8 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 01b9 0080 0050 lri $AR0, #0x0050 + 01bb 02bf 0649 call 0x0649 + 01bd 02df ret + 01be 00df 03a1 lr $AC1.M, @0x03a1 + 01c0 0508 addis $ACC1, #0x08 + 01c1 0080 0580 lri $AR0, #0x0580 + 01c3 1c7f mrr $AR3, $AC1.M + 01c4 0098 7fff lri $AX0.L, #0x7fff + 01c6 8900 clr $ACC1 + 01c7 0f50 lris $AC1.M, #0x50 + 01c8 02bf 0145 call 0x0145 + 01ca 02df ret + 01cb 00c0 03a0 lr $AR0, @0x03a0 + 01cd 191a lrri $AX0.H, @$AR0 + 01ce 02bf 01b0 call 0x01b0 + 01d0 02bf 01be call 0x01be + 01d2 8100 clr $ACC0 + 01d3 8900 clr $ACC1 + 01d4 00de 0390 lr $AC0.M, @0x0390 + 01d6 02a0 0001 andf $AC0.M, #0x0001 + 01d8 029d 01e1 jlz 0x01e1 + 01da 0080 0398 lri $AR0, #0x0398 + 01dc 0e08 lris $AC0.M, #0x08 + 01dd 00c1 03a1 lr $AR1, @0x03a1 + 01df 02bf 0c86 call 0x0c86 + 01e1 0f50 lris $AC1.M, #0x50 + 01e2 00c0 03a1 lr $AR0, @0x03a1 + 01e4 00da 0394 lr $AX0.H, @0x0394 + 01e6 8600 tstaxh $AX0.H + 01e7 0295 01ee jz 0x01ee + 01e9 1c7a mrr $AR3, $AX0.H + 01ea 00d8 0395 lr $AX0.L, @0x0395 + 01ec 02bf 0145 call 0x0145 + 01ee 0f50 lris $AC1.M, #0x50 + 01ef 00c0 03a1 lr $AR0, @0x03a1 + 01f1 00da 0396 lr $AX0.H, @0x0396 + 01f3 8600 tstaxh $AX0.H + 01f4 0295 01fb jz 0x01fb + 01f6 1c7a mrr $AR3, $AX0.H + 01f7 00d8 0397 lr $AX0.L, @0x0397 + 01f9 02bf 0145 call 0x0145 + 01fb 00de 0390 lr $AC0.M, @0x0390 + 01fd 02a0 0002 andf $AC0.M, #0x0002 + 01ff 02dd retlz + 0200 0080 0398 lri $AR0, #0x0398 + 0202 0e08 lris $AC0.M, #0x08 + 0203 00c1 03a1 lr $AR1, @0x03a1 + 0205 02bf 0c86 call 0x0c86 + 0207 02df ret + 0208 8900 clr $ACC1 + 0209 009f 0dc0 lri $AC1.M, #0x0dc0 + 020b 00ff 03a1 sr @0x03a1, $AC1.M + 020d 009f 03a8 lri $AC1.M, #0x03a8 + 020f 00ff 03a2 sr @0x03a2, $AC1.M + 0211 009f 03a4 lri $AC1.M, #0x03a4 + 0213 00ff 03a0 sr @0x03a0, $AC1.M + 0215 1104 0235 bloopi #0x04, 0x0235 + 0217 00c0 03a2 lr $AR0, @0x03a2 + 0219 0083 0390 lri $AR3, #0x0390 + 021b 8900 clr $ACC1 + 021c 0f08 lris $AC1.M, #0x08 + 021d 02bf 0132 call 0x0132 + 021f 00da 0390 lr $AX0.H, @0x0390 + 0221 8600 tstaxh $AX0.H + 0222 0295 0226 jz 0x0226 + 0224 02bf 01cb call 0x01cb + 0226 8100 clr $ACC0 + 0227 00de 03a2 lr $AC0.M, @0x03a2 + 0229 0410 addis $ACC0, #0x10 + 022a 00fe 03a2 sr @0x03a2, $AC0.M + 022c 00de 03a1 lr $AC0.M, @0x03a1 + 022e 0460 addis $ACC0, #0x60 + 022f 00fe 03a1 sr @0x03a1, $AC0.M + 0231 00de 03a0 lr $AC0.M, @0x03a0 + 0233 7400 incm $AC0.M + 0234 00fe 03a0 sr @0x03a0, $AC0.M + 0236 00da 0374 lr $AX0.H, @0x0374 + 0238 8600 tstaxh $AX0.H + 0239 0294 025f jnz 0x025f + 023b 0f50 lris $AC1.M, #0x50 + 023c 0080 0be0 lri $AR0, #0x0be0 + 023e 0083 0e80 lri $AR3, #0x0e80 + 0240 0098 7fff lri $AX0.L, #0x7fff + 0242 02bf 0145 call 0x0145 + 0244 0f50 lris $AC1.M, #0x50 + 0245 0080 0be0 lri $AR0, #0x0be0 + 0247 0083 0ee0 lri $AR3, #0x0ee0 + 0249 0098 b820 lri $AX0.L, #0xb820 + 024b 02bf 0145 call 0x0145 + 024d 0f28 lris $AC1.M, #0x28 + 024e 0080 0c68 lri $AR0, #0x0c68 + 0250 0083 0e80 lri $AR3, #0x0e80 + 0252 0098 b820 lri $AX0.L, #0xb820 + 0254 02bf 0145 call 0x0145 + 0256 0f28 lris $AC1.M, #0x28 + 0257 0080 0c68 lri $AR0, #0x0c68 + 0259 0083 0ee0 lri $AR3, #0x0ee0 + 025b 0098 7fff lri $AX0.L, #0x7fff + 025d 02bf 0145 call 0x0145 + 025f 8100 clr $ACC0 + 0260 8900 clr $ACC1 + 0261 0e50 lris $AC0.M, #0x50 + 0262 0080 0be0 lri $AR0, #0x0be0 + 0264 005e loop $AC0.M + 0265 1b1f srri @$AR0, $AC1.M + 0266 0080 0c40 lri $AR0, #0x0c40 + 0268 005e loop $AC0.M + 0269 1b1f srri @$AR0, $AC1.M + 026a 02df ret + 026b 00c0 03a0 lr $AR0, @0x03a0 + 026d 181a lrr $AX0.H, @$AR0 + 026e 8100 clr $ACC0 + 026f 181e lrr $AC0.M, @$AR0 + 0270 00db 0391 lr $AX1.H, @0x0391 + 0272 7400 incm $AC0.M + 0273 d100 cmpar $ACC1, $AX0.H + 0274 0270 ifge + 0275 8100 clr $ACC0 + 0276 1b1e srri @$AR0, $AC0.M + 0277 00df 03a1 lr $AC1.M, @0x03a1 + 0279 009b 00a0 lri $AX1.H, #0x00a0 + 027b 0081 0393 lri $AR1, #0x0393 + 027d 18bc lrrd $AC0.L, @$AR1 + 027e b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 027f bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0280 0080 0050 lri $AR0, #0x0050 + 0282 02bf 0656 call 0x0656 + 0284 02df ret + 0285 00da 0374 lr $AX0.H, @0x0374 + 0287 8600 tstaxh $AX0.H + 0288 0294 029e jnz 0x029e + 028a 8900 clr $ACC1 + 028b 0f28 lris $AC1.M, #0x28 + 028c 0080 0c40 lri $AR0, #0x0c40 + 028e 0083 0ea8 lri $AR3, #0x0ea8 + 0290 0098 b820 lri $AX0.L, #0xb820 + 0292 02bf 0145 call 0x0145 + 0294 8900 clr $ACC1 + 0295 0f28 lris $AC1.M, #0x28 + 0296 0080 0c40 lri $AR0, #0x0c40 + 0298 0083 0f08 lri $AR3, #0x0f08 + 029a 0098 7fff lri $AX0.L, #0x7fff + 029c 02bf 0145 call 0x0145 + 029e 009f 0dc0 lri $AC1.M, #0x0dc0 + 02a0 00ff 03a1 sr @0x03a1, $AC1.M + 02a2 009f 03a8 lri $AC1.M, #0x03a8 + 02a4 00ff 03a2 sr @0x03a2, $AC1.M + 02a6 009f 03a4 lri $AC1.M, #0x03a4 + 02a8 00ff 03a0 sr @0x03a0, $AC1.M + 02aa 1104 02c8 bloopi #0x04, 0x02c8 + 02ac 00c0 03a2 lr $AR0, @0x03a2 + 02ae 0083 0390 lri $AR3, #0x0390 + 02b0 0f08 lris $AC1.M, #0x08 + 02b1 02bf 0132 call 0x0132 + 02b3 00da 0390 lr $AX0.H, @0x0390 + 02b5 8600 tstaxh $AX0.H + 02b6 0295 02ba jz 0x02ba + 02b8 02bf 026b call 0x026b + 02ba 00de 03a2 lr $AC0.M, @0x03a2 + 02bc 0410 addis $ACC0, #0x10 + 02bd 00fe 03a2 sr @0x03a2, $AC0.M + 02bf 00de 03a1 lr $AC0.M, @0x03a1 + 02c1 0460 addis $ACC0, #0x60 + 02c2 00fe 03a1 sr @0x03a1, $AC0.M + 02c4 00de 03a0 lr $AC0.M, @0x03a0 + 02c6 7400 incm $AC0.M + 02c7 00fe 03a0 sr @0x03a0, $AC0.M + 02c9 02df ret + 02ca 0081 0386 lri $AR1, #0x0386 + 02cc 009f 03a8 lri $AC1.M, #0x03a8 + 02ce 0080 0040 lri $AR0, #0x0040 + 02d0 02bf 0647 call 0x0647 + 02d2 02df ret + 02d3 191e lrri $AC0.M, @$AR0 + 02d4 189c lrrd $AC0.L, @$AR0 + 02d5 4800 addax $ACC0, $AX0.L + 02d6 1b1e srri @$AR0, $AC0.M + 02d7 1b1c srri @$AR0, $AC0.L + 02d8 02df ret + 02d9 8100 clr $ACC0 + 02da 8900 clr $ACC1 + 02db 00df 0354 lr $AC1.M, @0x0354 + 02dd 00de 034e lr $AC0.M, @0x034e + 02df 8200 cmp + 02e0 0293 02d9 jle 0x02d9 + 02e2 02df ret + 02e3 0080 0388 lri $AR0, #0x0388 + 02e5 0081 0072 lri $AR1, #0x0072 + 02e7 0e02 lris $AC0.M, #0x02 + 02e8 173f callr $AR1 + 02e9 02bf 04d7 call 0x04d7 + 02eb 00de 0344 lr $AC0.M, @0x0344 + 02ed 00fe 0341 sr @0x0341, $AC0.M + 02ef 00de 0345 lr $AC0.M, @0x0345 + 02f1 00fe 038e sr @0x038e, $AC0.M + 02f3 8100 clr $ACC0 + 02f4 00fe 0355 sr @0x0355, $AC0.M + 02f6 02bf 02ca call 0x02ca + 02f8 02bf 069b call 0x069b + 02fa 0092 00ff lri $CR, #0x00ff + 02fc 00de 0341 lr $AC0.M, @0x0341 + 02fe 007e 04ce bloop $AC0.M, 0x04ce + 0300 02bf 015c call 0x015c + 0302 02bf 0208 call 0x0208 + 0304 02bf 0543 call 0x0543 + 0306 02bf 0ad4 call 0x0ad4 + 0308 00de 0355 lr $AC0.M, @0x0355 + 030a 7400 incm $AC0.M + 030b 00fe 0355 sr @0x0355, $AC0.M + 030d 8100 clr $ACC0 + 030e 00fe 0354 sr @0x0354, $AC0.M + 0310 00de 0342 lr $AC0.M, @0x0342 + 0312 007e 046e bloop $AC0.M, 0x046e + 0314 009e fead lri $AC0.M, #0xfead + 0316 02bf 00a0 call 0x00a0 + 0318 02bf 02d9 call 0x02d9 + 031a 009e d0d0 lri $AC0.M, #0xd0d0 + 031c 02bf 00a0 call 0x00a0 + 031e 8100 clr $ACC0 + 031f 8900 clr $ACC1 + 0320 00de 0354 lr $AC0.M, @0x0354 + 0322 147c lsr $ACC0, #-4 + 0323 0200 04fc addi $AC0.M, #0x04fc + 0325 1c1e mrr $AR0, $AC0.M + 0326 181f lrr $AC1.M, @$AR0 + 0327 00de 0354 lr $AC0.M, @0x0354 + 0329 0240 000f andi $AC0.M, #0x000f + 032b 3d80 lsrnr $ACC1 + 032c 03c0 8000 andcf $AC1.M, #0x8000 + 032e 029c 046a jlnz 0x046a + 0330 00d8 0354 lr $AX0.L, @0x0354 + 0332 009a 0180 lri $AX0.H, #0x0180 + 0334 8100 clr $ACC0 + 0335 00de 0380 lr $AC0.M, @0x0380 + 0337 00dc 0381 lr $AC0.L, @0x0381 + 0339 9000 mul $AX0.L, $AX0.H + 033a 9400 mulac $AX0.L, $AX0.H, $ACC0 + 033b 00fe 034c sr @0x034c, $AC0.M + 033d 00fc 034d sr @0x034d, $AC0.L + 033f 02bf 0112 call 0x0112 + 0341 00da 0400 lr $AX0.H, @0x0400 + 0343 8600 tstaxh $AX0.H + 0344 0295 046a jz 0x046a + 0346 00da 0401 lr $AX0.H, @0x0401 + 0348 8600 tstaxh $AX0.H + 0349 0294 046a jnz 0x046a + 034b 00da 0433 lr $AX0.H, @0x0433 + 034d 00fa 03f8 sr @0x03f8, $AX0.H + 034f 00da 0406 lr $AX0.H, @0x0406 + 0351 8600 tstaxh $AX0.H + 0352 0294 0f5d jnz 0x0f5d + 0354 8100 clr $ACC0 + 0355 00de 0480 lr $AC0.M, @0x0480 + 0357 0609 cmpis $ACC0, #0x09 + 0358 0295 036b jz 0x036b + 035a 0605 cmpis $ACC0, #0x05 + 035b 0295 036b jz 0x036b + 035d 0608 cmpis $ACC0, #0x08 + 035e 0295 0b04 jz 0x0b04 + 0360 0610 cmpis $ACC0, #0x10 + 0361 0295 0b81 jz 0x0b81 + 0363 0620 cmpis $ACC0, #0x20 + 0364 0295 0bf2 jz 0x0bf2 + 0366 0621 cmpis $ACC0, #0x21 + 0367 0295 0bfa jz 0x0bfa + 0369 029f 09f1 jmp 0x09f1 + 036b 00d8 0402 lr $AX0.L, @0x0402 + 036d 8100 clr $ACC0 + 036e 8900 clr $ACC1 + 036f 00dc 0430 lr $AC0.L, @0x0430 + 0371 8d00 set15 + 0372 0950 lris $AX1.L, #0x50 + 0373 a000 mulx $AX0.L, $AX1.L + 0374 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0375 1404 lsl $ACC0, #4 + 0376 8c00 clr15 + 0377 1ffe mrr $AC1.M, $AC0.M + 0378 0083 0580 lri $AR3, #0x0580 + 037a 02bf 08b3 call 0x08b3 + 037c 029f 037e jmp 0x037e + 037e 0080 0580 lri $AR0, #0x0580 + 0380 0081 0520 lri $AR1, #0x0520 + 0382 0099 0000 lri $AX1.L, #0x0000 + 0384 02bf 0edd call 0x0edd + 0386 00da 04a8 lr $AX0.H, @0x04a8 + 0388 8600 tstaxh $AX0.H + 0389 0295 038f jz 0x038f + 038b 0080 0520 lri $AR0, #0x0520 + 038d 02bf 0ddc call 0x0ddc + 038f 009e 0520 lri $AC0.M, #0x0520 + 0391 00fe 038f sr @0x038f, $AC0.M + 0393 8900 clr $ACC1 + 0394 00df 0484 lr $AC1.M, @0x0484 + 0396 0340 001f andi $AC1.M, #0x001f + 0398 b900 tst $ACC1 + 0399 0295 03bf jz 0x03bf + 039b 00de 038f lr $AC0.M, @0x038f + 039d 5c00 sub $ACC0, $ACC1 + 039e 00fe 038f sr @0x038f, $AC0.M + 03a0 1c7e mrr $AR3, $AC0.M + 03a1 0080 0440 lri $AR0, #0x0440 + 03a3 05fe addis $ACC1, #0xfe + 03a4 02bf 012b call 0x012b + 03a6 0080 0490 lri $AR0, #0x0490 + 03a8 00c1 038f lr $AR1, @0x038f + 03aa 8900 clr $ACC1 + 03ab 00df 0484 lr $AC1.M, @0x0484 + 03ad 0340 001f andi $AC1.M, #0x001f + 03af 02bf 0ca5 call 0x0ca5 + 03b1 00de 038f lr $AC0.M, @0x038f + 03b3 0450 addis $ACC0, #0x50 + 03b4 1c1e mrr $AR0, $AC0.M + 03b5 0083 0440 lri $AR3, #0x0440 + 03b7 8900 clr $ACC1 + 03b8 00df 0484 lr $AC1.M, @0x0484 + 03ba 0340 001f andi $AC1.M, #0x001f + 03bc 05fe addis $ACC1, #0xfe + 03bd 02bf 012b call 0x012b + 03bf 00de 0484 lr $AC0.M, @0x0484 + 03c1 0240 0020 andi $AC0.M, #0x0020 + 03c3 0295 03e1 jz 0x03e1 + 03c5 0080 04a4 lri $AR0, #0x04a4 + 03c7 00c1 038f lr $AR1, @0x038f + 03c9 0082 0454 lri $AR2, #0x0454 + 03cb 0083 04a7 lri $AR3, #0x04a7 + 03cd 18fa lrrd $AX0.H, @$AR3 + 03ce 8600 tstaxh $AX0.H + 03cf 0294 03df jnz 0x03df + 03d1 18fa lrrd $AX0.H, @$AR3 + 03d2 8600 tstaxh $AX0.H + 03d3 0294 03df jnz 0x03df + 03d5 18fa lrrd $AX0.H, @$AR3 + 03d6 8600 tstaxh $AX0.H + 03d7 0294 03df jnz 0x03df + 03d9 8100 clr $ACC0 + 03da 18fe lrrd $AC0.M, @$AR3 + 03db 0280 7fff cmpi $AC0.M, #0x7fff + 03dd 0295 03e1 jz 0x03e1 + 03df 02bf 0cc0 call 0x0cc0 + 03e1 8100 clr $ACC0 + 03e2 00de 042c lr $AC0.M, @0x042c + 03e4 b100 tst $ACC0 + 03e5 0295 03eb jz 0x03eb + 03e7 02bf 0e2b call 0x0e2b + 03e9 029f 0460 jmp 0x0460 + 03eb 8100 clr $ACC0 + 03ec 1c9e mrr $IX0, $AC0.M + 03ed 1cde mrr $IX2, $AC0.M + 03ee 7400 incm $AC0.M + 03ef 1cfe mrr $IX3, $AC0.M + 03f0 8100 clr $ACC0 + 03f1 00de 0407 lr $AC0.M, @0x0407 + 03f3 b100 tst $ACC0 + 03f4 0295 0403 jz 0x0403 + 03f6 00c3 038f lr $AR3, @0x038f + 03f8 0007 dar $AR3 + 03f9 0080 0477 lri $AR0, #0x0477 + 03fb 0084 ffff lri $IX0, #0xffff + 03fd 0087 ffff lri $IX3, #0xffff + 03ff 199a lrrn $AX0.H, @$AR0 + 0400 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 + 0401 005e loop $AC0.M + 0402 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M + 0403 00da 0485 lr $AX0.H, @0x0485 + 0405 8600 tstaxh $AX0.H + 0406 0295 0419 jz 0x0419 + 0408 8900 clr $ACC1 + 0409 0086 0005 lri $IX2, #0x0005 + 040b 0082 040a lri $AR2, #0x040a + 040d 1106 0411 bloopi #0x06, 0x0411 + 040f 18de lrrd $AC0.M, @$AR2 + 0410 147f lsr $ACC0, #-1 + 0411 4d36 add'sn $ACC1, $ACC0 : @$AR2, $AC0.M + 0412 b900 tst $ACC1 + 0413 0294 0419 jnz 0x0419 + 0415 009a 0001 lri $AX0.H, #0x0001 + 0417 00fa 0401 sr @0x0401, $AX0.H + 0419 8f00 set40 + 041a 0086 0002 lri $IX2, #0x0002 + 041c 0082 0408 lri $AR2, #0x0408 + 041e 1106 0449 bloopi #0x06, 0x0449 + 0420 8100 clr $ACC0 + 0421 195e lrri $AC0.M, @$AR2 + 0422 1200 sbclr #0x00 + 0423 b100 tst $ACC0 + 0424 0275 ifz + 0425 1300 sbset #0x00 + 0426 1c7e mrr $AR3, $AC0.M + 0427 195e lrri $AC0.M, @$AR2 + 0428 195f lrri $AC1.M, @$AR2 + 0429 5c00 sub $ACC0, $ACC1 + 042a 14fb asr $ACC0, #-5 + 042b 1f5e mrr $AX0.H, $AC0.M + 042c 1f1c mrr $AX0.L, $AC0.L + 042d 185e lrr $AC0.M, @$AR2 + 042e 0240 00ff andi $AC0.M, #0x00ff + 0430 1f7e mrr $AX1.H, $AC0.M + 0431 185e lrr $AC0.M, @$AR2 + 0432 1478 lsr $ACC0, #-8 + 0433 009c 0000 lri $AC0.L, #0x0000 + 0435 d100 cmpar $ACC1, $AX0.H + 0436 0295 043e jz 0x043e + 0438 185e lrr $AC0.M, @$AR2 + 0439 0272 ifg + 043a 7400 incm $AC0.M + 043b 0271 ifl + 043c 7800 decm $AC0.M + 043d 1a5e srr @$AR2, $AC0.M + 043e 0006 dar $AR2 + 043f 00de 038f lr $AC0.M, @0x038f + 0441 5600 subr $ACC0, $AX1.H + 0442 029d 0447 jlz 0x0447 + 0444 1c1e mrr $AR0, $AC0.M + 0445 02bf 0e01 call 0x0e01 + 0447 0000 nop + 0448 1b5f srri @$AR2, $AC1.M + 0449 000a iar $AR2 + 044a 8e00 set16 + 044b 8100 clr $ACC0 + 044c 00de 0407 lr $AC0.M, @0x0407 + 044e b100 tst $ACC0 + 044f 0295 0460 jz 0x0460 + 0451 00c3 038f lr $AR3, @0x038f + 0453 0087 004f lri $IX3, #0x004f + 0455 001f addarn $AR3, $IX3 + 0456 0080 0477 lri $AR0, #0x0477 + 0458 0084 ffff lri $IX0, #0xffff + 045a 0087 ffff lri $IX3, #0xffff + 045c 19fa lrrn $AX0.H, @$AR3 + 045d 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 + 045e 005e loop $AC0.M + 045f 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H + 0460 00da 0406 lr $AX0.H, @0x0406 + 0462 8600 tstaxh $AX0.H + 0463 0294 0468 jnz 0x0468 + 0465 8100 clr $ACC0 + 0466 00fe 0404 sr @0x0404, $AC0.M + 0468 02bf 011b call 0x011b + 046a 00de 0354 lr $AC0.M, @0x0354 + 046c 7400 incm $AC0.M + 046d 00fe 0354 sr @0x0354, $AC0.M + 046f 009e b05e lri $AC0.M, #0xb05e + 0471 02bf 00a0 call 0x00a0 + 0473 0e00 lris $AC0.M, #0x00 + 0474 00fe 034e sr @0x034e, $AC0.M + 0476 0e04 lris $AC0.M, #0x04 + 0477 02bf 07e0 call 0x07e0 + 0479 00de 0355 lr $AC0.M, @0x0355 + 047b 0260 ff00 ori $AC0.M, #0xff00 + 047d 02bf 07ea call 0x07ea + 047f 02bf 0d62 call 0x0d62 + 0481 02bf 0d74 call 0x0d74 + 0483 02bf 0dc9 call 0x0dc9 + 0485 00de 0341 lr $AC0.M, @0x0341 + 0487 7800 decm $AC0.M + 0488 00fe 0341 sr @0x0341, $AC0.M + 048a 0080 09a0 lri $AR0, #0x09a0 + 048c 0083 0d00 lri $AR3, #0x0d00 + 048e 0f50 lris $AC1.M, #0x50 + 048f 0098 5a82 lri $AX0.L, #0x5a82 + 0491 02bf 0145 call 0x0145 + 0493 0080 09a0 lri $AR0, #0x09a0 + 0495 0083 0d60 lri $AR3, #0x0d60 + 0497 0f50 lris $AC1.M, #0x50 + 0498 02bf 0145 call 0x0145 + 049a 0083 0d00 lri $AR3, #0x0d00 + 049c 02bf 0e19 call 0x0e19 + 049e 0081 0388 lri $AR1, #0x0388 + 04a0 009f 0d00 lri $AC1.M, #0x0d00 + 04a2 0080 0050 lri $AR0, #0x0050 + 04a4 02bf 0654 call 0x0654 + 04a6 0080 0fa0 lri $AR0, #0x0fa0 + 04a8 0083 0d60 lri $AR3, #0x0d60 + 04aa 0f50 lris $AC1.M, #0x50 + 04ab 0098 8000 lri $AX0.L, #0x8000 + 04ad 02bf 0145 call 0x0145 + 04af 0083 0d60 lri $AR3, #0x0d60 + 04b1 02bf 0e19 call 0x0e19 + 04b3 0081 038a lri $AR1, #0x038a + 04b5 009f 0d60 lri $AC1.M, #0x0d60 + 04b7 0080 0050 lri $AR0, #0x0050 + 04b9 02bf 0654 call 0x0654 + 04bb 009a 0000 lri $AX0.H, #0x0000 + 04bd 0098 00a0 lri $AX0.L, #0x00a0 + 04bf 0080 0388 lri $AR0, #0x0388 + 04c1 02bf 02d3 call 0x02d3 + 04c3 0080 038a lri $AR0, #0x038a + 04c5 02bf 02d3 call 0x02d3 + 04c7 02bf 0285 call 0x0285 + 04c9 02bf 0512 call 0x0512 + 04cb 02bf 04e9 call 0x04e9 + 04cd 0000 nop + 04ce 0000 nop + 04cf 009e 0dac lri $AC0.M, #0x0dac + 04d1 02bf 00a0 call 0x00a0 + 04d3 0080 002b lri $AR0, #0x002b + 04d5 029f 0779 jmp 0x0779 + 04d7 0080 0374 lri $AR0, #0x0374 + 04d9 0e02 lris $AC0.M, #0x02 + 04da 02bf 0074 call 0x0074 + 04dc 00de 0374 lr $AC0.M, @0x0374 + 04de 0240 7fff andi $AC0.M, #0x7fff + 04e0 00fe 0374 sr @0x0374, $AC0.M + 04e2 00de 0376 lr $AC0.M, @0x0376 + 04e4 0240 7fff andi $AC0.M, #0x7fff + 04e6 00fe 0376 sr @0x0376, $AC0.M + 04e8 02df ret + 04e9 00da 0374 lr $AX0.H, @0x0374 + 04eb 8600 tstaxh $AX0.H + 04ec 02d5 retz + 04ed 0083 0f40 lri $AR3, #0x0f40 + 04ef 02bf 0e19 call 0x0e19 + 04f1 0083 0ca0 lri $AR3, #0x0ca0 + 04f3 02bf 0e19 call 0x0e19 + 04f5 0081 0374 lri $AR1, #0x0374 + 04f7 009f 0f40 lri $AC1.M, #0x0f40 + 04f9 0080 0050 lri $AR0, #0x0050 + 04fb 02bf 0654 call 0x0654 + 04fd 0081 0376 lri $AR1, #0x0376 + 04ff 009f 0ca0 lri $AC1.M, #0x0ca0 + 0501 0080 0050 lri $AR0, #0x0050 + 0503 02bf 0654 call 0x0654 + 0505 009a 0000 lri $AX0.H, #0x0000 + 0507 0098 00a0 lri $AX0.L, #0x00a0 + 0509 0080 0374 lri $AR0, #0x0374 + 050b 02bf 02d3 call 0x02d3 + 050d 0080 0376 lri $AR0, #0x0376 + 050f 02bf 02d3 call 0x02d3 + 0511 02df ret + 0512 00da 0374 lr $AX0.H, @0x0374 + 0514 8600 tstaxh $AX0.H + 0515 02d5 retz + 0516 009f 0be0 lri $AC1.M, #0x0be0 + 0518 00ff 03a1 sr @0x03a1, $AC1.M + 051a 00df 03ca lr $AC1.M, @0x03ca + 051c 00ff 0392 sr @0x0392, $AC1.M + 051e 00df 03cb lr $AC1.M, @0x03cb + 0520 00ff 0393 sr @0x0393, $AC1.M + 0522 009f 03a6 lri $AC1.M, #0x03a6 + 0524 00ff 03a0 sr @0x03a0, $AC1.M + 0526 00df 03c9 lr $AC1.M, @0x03c9 + 0528 00ff 0391 sr @0x0391, $AC1.M + 052a 02bf 026b call 0x026b + 052c 009f 0c40 lri $AC1.M, #0x0c40 + 052e 00ff 03a1 sr @0x03a1, $AC1.M + 0530 00df 03da lr $AC1.M, @0x03da + 0532 00ff 0392 sr @0x0392, $AC1.M + 0534 00df 03db lr $AC1.M, @0x03db + 0536 00ff 0393 sr @0x0393, $AC1.M + 0538 009f 03a7 lri $AC1.M, #0x03a7 + 053a 00ff 03a0 sr @0x03a0, $AC1.M + 053c 00df 03d9 lr $AC1.M, @0x03d9 + 053e 00ff 0391 sr @0x0391, $AC1.M + 0540 02bf 026b call 0x026b + 0542 02df ret + 0543 00da 0374 lr $AX0.H, @0x0374 + 0545 8600 tstaxh $AX0.H + 0546 02d5 retz + 0547 00da 03d8 lr $AX0.H, @0x03d8 + 0549 8600 tstaxh $AX0.H + 054a 02d5 retz + 054b 0083 0be0 lri $AR3, #0x0be0 + 054d 0080 0c30 lri $AR0, #0x0c30 + 054f 0f04 lris $AC1.M, #0x04 + 0550 02bf 0132 call 0x0132 + 0552 0083 0c40 lri $AR3, #0x0c40 + 0554 0080 0c90 lri $AR0, #0x0c90 + 0556 0f04 lris $AC1.M, #0x04 + 0557 02bf 0132 call 0x0132 + 0559 00df 03ca lr $AC1.M, @0x03ca + 055b 00ff 0392 sr @0x0392, $AC1.M + 055d 00df 03cb lr $AC1.M, @0x03cb + 055f 00ff 0393 sr @0x0393, $AC1.M + 0561 00df 03a6 lr $AC1.M, @0x03a6 + 0563 7500 incm $AC1.M + 0564 1f5f mrr $AX0.H, $AC1.M + 0565 009f 0be8 lri $AC1.M, #0x0be8 + 0567 02bf 01b2 call 0x01b2 + 0569 00df 03da lr $AC1.M, @0x03da + 056b 00ff 0392 sr @0x0392, $AC1.M + 056d 00df 03db lr $AC1.M, @0x03db + 056f 00ff 0393 sr @0x0393, $AC1.M + 0571 00df 03a7 lr $AC1.M, @0x03a7 + 0573 7500 incm $AC1.M + 0574 1f5f mrr $AX0.H, $AC1.M + 0575 009f 0c48 lri $AC1.M, #0x0c48 + 0577 02bf 01b2 call 0x01b2 + 0579 00de 03c8 lr $AC0.M, @0x03c8 + 057b 02a0 0001 andf $AC0.M, #0x0001 + 057d 029d 0586 jlz 0x0586 + 057f 0080 03d0 lri $AR0, #0x03d0 + 0581 0e08 lris $AC0.M, #0x08 + 0582 0081 0be0 lri $AR1, #0x0be0 + 0584 02bf 0c86 call 0x0c86 + 0586 00de 03d8 lr $AC0.M, @0x03d8 + 0588 02a0 0001 andf $AC0.M, #0x0001 + 058a 029d 0593 jlz 0x0593 + 058c 0080 03e0 lri $AR0, #0x03e0 + 058e 0e08 lris $AC0.M, #0x08 + 058f 0081 0c40 lri $AR1, #0x0c40 + 0591 02bf 0c86 call 0x0c86 + 0593 0f50 lris $AC1.M, #0x50 + 0594 0080 0be0 lri $AR0, #0x0be0 + 0596 0083 0f40 lri $AR3, #0x0f40 + 0598 00d8 03cd lr $AX0.L, @0x03cd + 059a 02bf 0145 call 0x0145 + 059c 0f50 lris $AC1.M, #0x50 + 059d 0080 0c40 lri $AR0, #0x0c40 + 059f 0083 0ca0 lri $AR3, #0x0ca0 + 05a1 00d8 03df lr $AX0.L, @0x03df + 05a3 02bf 0145 call 0x0145 + 05a5 00de 03c8 lr $AC0.M, @0x03c8 + 05a7 02a0 0002 andf $AC0.M, #0x0002 + 05a9 029d 05b2 jlz 0x05b2 + 05ab 0080 03d0 lri $AR0, #0x03d0 + 05ad 0e08 lris $AC0.M, #0x08 + 05ae 0081 0be0 lri $AR1, #0x0be0 + 05b0 02bf 0c86 call 0x0c86 + 05b2 00de 03d8 lr $AC0.M, @0x03d8 + 05b4 02a0 0002 andf $AC0.M, #0x0002 + 05b6 029d 05bf jlz 0x05bf + 05b8 0080 03e0 lri $AR0, #0x03e0 + 05ba 0e08 lris $AC0.M, #0x08 + 05bb 0081 0c40 lri $AR1, #0x0c40 + 05bd 02bf 0c86 call 0x0c86 + 05bf 02df ret + 05c0 0080 0346 lri $AR0, #0x0346 + 05c2 02bf 0072 call 0x0072 + 05c4 02bf 0072 call 0x0072 + 05c6 0081 0346 lri $AR1, #0x0346 + 05c8 193e lrri $AC0.M, @$AR1 + 05c9 193c lrri $AC0.L, @$AR1 + 05ca 009f 0400 lri $AC1.M, #0x0400 + 05cc 00c0 0345 lr $AR0, @0x0345 + 05ce 02bf 0649 call 0x0649 + 05d0 0081 0348 lri $AR1, #0x0348 + 05d2 193e lrri $AC0.M, @$AR1 + 05d3 193c lrri $AC0.L, @$AR1 + 05d4 009f 0800 lri $AC1.M, #0x0800 + 05d6 00c0 0345 lr $AR0, @0x0345 + 05d8 02bf 0649 call 0x0649 + 05da 0081 0346 lri $AR1, #0x0346 + 05dc 193e lrri $AC0.M, @$AR1 + 05dd 193c lrri $AC0.L, @$AR1 + 05de 009f 0800 lri $AC1.M, #0x0800 + 05e0 00c0 0345 lr $AR0, @0x0345 + 05e2 02bf 0656 call 0x0656 + 05e4 0081 0348 lri $AR1, #0x0348 + 05e6 193e lrri $AC0.M, @$AR1 + 05e7 193c lrri $AC0.L, @$AR1 + 05e8 009f 0400 lri $AC1.M, #0x0400 + 05ea 00c0 0345 lr $AR0, @0x0345 + 05ec 02bf 0656 call 0x0656 + 05ee 029f 004a jmp 0x004a + 05f0 0080 0346 lri $AR0, #0x0346 + 05f2 02bf 0072 call 0x0072 + 05f4 02bf 0072 call 0x0072 + 05f6 0081 0346 lri $AR1, #0x0346 + 05f8 193e lrri $AC0.M, @$AR1 + 05f9 193c lrri $AC0.L, @$AR1 + 05fa 009f 0400 lri $AC1.M, #0x0400 + 05fc 00c0 0345 lr $AR0, @0x0345 + 05fe 02bf 0649 call 0x0649 + 0600 0081 0348 lri $AR1, #0x0348 + 0602 193e lrri $AC0.M, @$AR1 + 0603 193c lrri $AC0.L, @$AR1 + 0604 009f 0400 lri $AC1.M, #0x0400 + 0606 00c0 0345 lr $AR0, @0x0345 + 0608 02bf 0656 call 0x0656 + 060a 029f 004a jmp 0x004a + 060c 0080 0346 lri $AR0, #0x0346 + 060e 02bf 0072 call 0x0072 + 0610 02bf 0072 call 0x0072 + 0612 0081 0346 lri $AR1, #0x0346 + 0614 193e lrri $AC0.M, @$AR1 + 0615 193c lrri $AC0.L, @$AR1 + 0616 009f 0400 lri $AC1.M, #0x0400 + 0618 00c0 0344 lr $AR0, @0x0344 + 061a 02bf 0649 call 0x0649 + 061c 0081 0348 lri $AR1, #0x0348 + 061e 193e lrri $AC0.M, @$AR1 + 061f 193c lrri $AC0.L, @$AR1 + 0620 009f 0800 lri $AC1.M, #0x0800 + 0622 00c0 0344 lr $AR0, @0x0344 + 0624 02bf 0649 call 0x0649 + 0626 0080 0400 lri $AR0, #0x0400 + 0628 0083 0800 lri $AR3, #0x0800 + 062a 0084 0000 lri $IX0, #0x0000 + 062c 00da 0345 lr $AX0.H, @0x0345 + 062e 00df 0344 lr $AC1.M, @0x0344 + 0630 8f00 set40 + 0631 197b lrri $AX1.H, @$AR3 + 0632 b800 mulx $AX0.H, $AX1.H + 0633 197b lrri $AX1.H, @$AR3 + 0634 007f 0639 bloop $AC1.M, 0x0639 + 0636 199e lrrn $AC0.M, @$AR0 + 0637 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0638 80b2 nx'sl : $AC0.M, $AX1.H + 0639 0000 nop + 063a 8e00 set16 + 063b 0081 0346 lri $AR1, #0x0346 + 063d 193e lrri $AC0.M, @$AR1 + 063e 193c lrri $AC0.L, @$AR1 + 063f 009f 0400 lri $AC1.M, #0x0400 + 0641 00c0 0344 lr $AR0, @0x0344 + 0643 02bf 0656 call 0x0656 + 0645 029f 004a jmp 0x004a + 0647 193e lrri $AC0.M, @$AR1 + 0648 193c lrri $AC0.L, @$AR1 + 0649 2fcd srs @DSPA, $AC1.M + 064a 0f00 lris $AC1.M, #0x00 + 064b 2fc9 srs @DSCR, $AC1.M + 064c 2ece srs @DSMAH, $AC0.M + 064d 2ccf srs @DSMAL, $AC0.L + 064e 1fe0 mrr $AC1.M, $AR0 + 064f 1501 lsl $ACC1, #1 + 0650 2fcb srs @DSBL, $AC1.M + 0651 02bf 065a call 0x065a + 0653 02df ret + 0654 193e lrri $AC0.M, @$AR1 + 0655 193c lrri $AC0.L, @$AR1 + 0656 2fcd srs @DSPA, $AC1.M + 0657 0f01 lris $AC1.M, #0x01 + 0658 029f 064b jmp 0x064b + 065a 26c9 lrs $AC0.M, @DSCR + 065b 02a0 0004 andf $AC0.M, #0x0004 + 065d 029c 065a jlnz 0x065a + 065f 02df ret + 0660 193e lrri $AC0.M, @$AR1 + 0661 193c lrri $AC0.L, @$AR1 + 0662 00ff ffcd sr @DSPA, $AC1.M + 0664 0f00 lris $AC1.M, #0x00 + 0665 00ff ffc9 sr @DSCR, $AC1.M + 0667 00fe ffce sr @DSMAH, $AC0.M + 0669 00fc ffcf sr @DSMAL, $AC0.L + 066b 1fe0 mrr $AC1.M, $AR0 + 066c 1501 lsl $ACC1, #1 + 066d 00ff ffcb sr @DSBL, $AC1.M + 066f 02df ret + 0670 00de ffc9 lr $AC0.M, @DSCR + 0672 02a0 0004 andf $AC0.M, #0x0004 + 0674 029c 0670 jlnz 0x0670 + 0676 02df ret + 0677 0080 0346 lri $AR0, #0x0346 + 0679 02bf 0072 call 0x0072 + 067b 02bf 0072 call 0x0072 + 067d 0081 0346 lri $AR1, #0x0346 + 067f 00df 0349 lr $AC1.M, @0x0349 + 0681 0340 ffff andi $AC1.M, #0xffff + 0683 00c0 0345 lr $AR0, @0x0345 + 0685 02bf 0647 call 0x0647 + 0687 029f 004a jmp 0x004a + 0689 0080 0346 lri $AR0, #0x0346 + 068b 02bf 0072 call 0x0072 + 068d 02bf 0072 call 0x0072 + 068f 0081 0346 lri $AR1, #0x0346 + 0691 00df 0349 lr $AC1.M, @0x0349 + 0693 0340 ffff andi $AC1.M, #0xffff + 0695 00c0 0345 lr $AR0, @0x0345 + 0697 02bf 0654 call 0x0654 + 0699 029f 004a jmp 0x004a + 069b 0092 00ff lri $CR, #0x00ff + 069d 009e ffff lri $AC0.M, #0xffff + 069f 2ed4 srs @ACSAH, $AC0.M + 06a0 2ed5 srs @ACSAL, $AC0.M + 06a1 2ed6 srs @ACEAH, $AC0.M + 06a2 2ed7 srs @ACEAL, $AC0.M + 06a3 02df ret + 06a4 00ff ffd1 sr @SampleFormat, $AC1.M + 06a6 0340 0003 andi $AC1.M, #0x0003 + 06a8 7900 decm $AC1.M + 06a9 02ca lsrn + 06aa 00df 037d lr $AC1.M, @0x037d + 06ac 00dd 037e lr $AC1.L, @0x037e + 06ae 4c00 add $ACC0, $ACC1 + 06af 00fe ffd8 sr @ACCAH, $AC0.M + 06b1 00fc ffd9 sr @ACCAL, $AC0.L + 06b3 02df ret + 06b4 1fc3 mrr $AC0.M, $AR3 + 06b5 043f addis $ACC0, #0x3f + 06b6 0240 fff0 andi $AC0.M, #0xfff0 + 06b8 00fe ffcd sr @DSPA, $AC0.M + 06ba 1c1a mrr $AR0, $AX0.H + 06bb 00da 037f lr $AX0.H, @0x037f + 06bd 4400 addr $ACC0, $AX0.H + 06be 1f40 mrr $AX0.H, $AR0 + 06bf 1c1e mrr $AR0, $AC0.M + 06c0 1fda mrr $AC0.M, $AX0.H + 06c1 041f addis $ACC0, #0x1f + 06c2 0240 fff0 andi $AC0.M, #0xfff0 + 06c4 1401 lsl $ACC0, #1 + 06c5 00fe ffcb sr @DSBL, $AC0.M + 06c7 00de ffc9 lr $AC0.M, @DSCR + 06c9 02a0 0004 andf $AC0.M, #0x0004 + 06cb 029c 06c7 jlnz 0x06c7 + 06cd 007a 06d0 bloop $AX0.H, 0x06d0 + 06cf 191e lrri $AC0.M, @$AR0 + 06d0 1b7e srri @$AR3, $AC0.M + 06d1 02df ret + 06d2 8900 clr $ACC1 + 06d3 1ffc mrr $AC1.M, $AC0.L + 06d4 0340 001f andi $AC1.M, #0x001f + 06d6 00ff 037f sr @0x037f, $AC1.M + 06d8 1ffc mrr $AC1.M, $AC0.L + 06d9 0340 ffe0 andi $AC1.M, #0xffe0 + 06db 1f9f mrr $AC0.L, $AC1.M + 06dc 00df 037d lr $AC1.M, @0x037d + 06de 00dd 037e lr $AC1.L, @0x037e + 06e0 4c00 add $ACC0, $ACC1 + 06e1 00fe ffce sr @DSMAH, $AC0.M + 06e3 00fc ffcf sr @DSMAL, $AC0.L + 06e5 0f00 lris $AC1.M, #0x00 + 06e6 00ff ffc9 sr @DSCR, $AC1.M + 06e8 02df ret + 06e9 00df 037f lr $AC1.M, @0x037f + 06eb 157f lsr $ACC1, #-1 + 06ec 00ff 037f sr @0x037f, $AC1.M + 06ee 02df ret + 06ef 8600 tstaxh $AX0.H + 06f0 02d5 retz + 06f1 1f1a mrr $AX0.L, $AX0.H + 06f2 009e 0780 lri $AC0.M, #0x0780 + 06f4 00fe ffcd sr @DSPA, $AC0.M + 06f6 1fda mrr $AC0.M, $AX0.H + 06f7 043f addis $ACC0, #0x3f + 06f8 0240 ffe0 andi $AC0.M, #0xffe0 + 06fa 00fe ffcb sr @DSBL, $AC0.M + 06fc 00de ffc9 lr $AC0.M, @DSCR + 06fe 02a0 0004 andf $AC0.M, #0x0004 + 0700 029c 06fc jlnz 0x06fc + 0702 8100 clr $ACC0 + 0703 00de 037f lr $AC0.M, @0x037f + 0705 147f lsr $ACC0, #-1 + 0706 0200 0780 addi $AC0.M, #0x0780 + 0708 1c1e mrr $AR0, $AC0.M + 0709 00de 037f lr $AC0.M, @0x037f + 070b 02a0 0001 andf $AC0.M, #0x0001 + 070d 029d 0716 jlz 0x0716 + 070f 8100 clr $ACC0 + 0710 191e lrri $AC0.M, @$AR0 + 0711 1488 asl $ACC0, #8 + 0712 1b7e srri @$AR3, $AC0.M + 0713 1fda mrr $AC0.M, $AX0.H + 0714 7800 decm $AC0.M + 0715 1f5e mrr $AX0.H, $AC0.M + 0716 8100 clr $ACC0 + 0717 1fda mrr $AC0.M, $AX0.H + 0718 147f lsr $ACC0, #-1 + 0719 007e 0722 bloop $AC0.M, 0x0722 + 071b 8100 clr $ACC0 + 071c 181e lrr $AC0.M, @$AR0 + 071d 0240 ff00 andi $AC0.M, #0xff00 + 071f 1b7e srri @$AR3, $AC0.M + 0720 191e lrri $AC0.M, @$AR0 + 0721 1488 asl $ACC0, #8 + 0722 1b7e srri @$AR3, $AC0.M + 0723 1fda mrr $AC0.M, $AX0.H + 0724 1f58 mrr $AX0.H, $AX0.L + 0725 02a0 0001 andf $AC0.M, #0x0001 + 0727 02dd retlz + 0728 8100 clr $ACC0 + 0729 181e lrr $AC0.M, @$AR0 + 072a 0240 ff00 andi $AC0.M, #0xff00 + 072c 1b7e srri @$AR3, $AC0.M + 072d 02df ret + 072e 1205 sbclr #0x05 + 072f 8e00 set16 + 0730 00f0 03fd sr @0x03fd, $AC0.H + 0732 00fc 03ff sr @0x03ff, $AC0.L + 0734 f400 lsr16 $ACC0 + 0735 00fc 03fe sr @0x03fe, $AC0.L + 0737 00fa 03fa sr @0x03fa, $AX0.H + 0739 8100 clr $ACC0 + 073a 00de fffe lr $AC0.M, @CMBH + 073c 02c0 8000 andcf $AC0.M, #0x8000 + 073e 029c 082f jlnz 0x082f + 0740 00da ffff lr $AX0.H, @CMBL + 0742 8600 tstaxh $AX0.H + 0743 0294 0808 jnz 0x0808 + 0745 00de fffe lr $AC0.M, @CMBH + 0747 02c0 8000 andcf $AC0.M, #0x8000 + 0749 029c 0745 jlnz 0x0745 + 074b 0240 000f andi $AC0.M, #0x000f + 074d 1f5e mrr $AX0.H, $AC0.M + 074e 7400 incm $AC0.M + 074f 0c00 lris $AC0.L, #0x00 + 0750 1404 lsl $ACC0, #4 + 0751 00fe 034e sr @0x034e, $AC0.M + 0753 1fda mrr $AC0.M, $AX0.H + 0754 1f40 mrr $AX0.H, $AR0 + 0755 0200 04fc addi $AC0.M, #0x04fc + 0757 1c1e mrr $AR0, $AC0.M + 0758 00de ffff lr $AC0.M, @CMBL + 075a 1a1e srr @$AR0, $AC0.M + 075b 1c1a mrr $AR0, $AX0.H + 075c 00de 03fe lr $AC0.M, @0x03fe + 075e 00dc 03ff lr $AC0.L, @0x03ff + 0760 00d0 03fd lr $AC0.H, @0x03fd + 0762 00da 03fa lr $AX0.H, @0x03fa + 0764 1305 sbset #0x05 + 0765 02ff rti + 0766 009a 0002 lri $AX0.H, #0x0002 + 0768 00fa 03a3 sr @0x03a3, $AX0.H + 076a 00e0 03f9 sr @0x03f9, $AR0 + 076c 02bf 07f2 call 0x07f2 + 076e 16fc dcd1 si @DMBH, #0xdcd1 + 0770 16fd 0002 si @DMBL, #0x0002 + 0772 16fb 0001 si @DIRQ, #0x0001 + 0774 0021 halt + 0775 078d cmpis $ACC1, #0x8d + 0776 078e cmpis $ACC1, #0x8e + 0777 07ce cmpis $ACC1, #0xce + 0778 07d1 cmpis $ACC1, #0xd1 + 0779 00e0 03f9 sr @0x03f9, $AR0 + 077b 009e 0005 lri $AC0.M, #0x0005 + 077d 02bf 07e0 call 0x07e0 + 077f 8e00 set16 + 0780 8100 clr $ACC0 + 0781 8900 clr $ACC1 + 0782 02bf 07d4 call 0x07d4 + 0784 27ff lrs $AC1.M, @CMBL + 0785 009e 0775 lri $AC0.M, #0x0775 + 0787 4c00 add $ACC0, $ACC1 + 0788 1c7e mrr $AR3, $AC0.M + 0789 0313 ilrr $AC1.M, @$AR3 + 078a 1c7f mrr $AR3, $AC1.M + 078b 176f jmpr $AR3 + 078c 0021 halt + 078d 0021 halt + 078e 009a 0002 lri $AX0.H, #0x0002 + 0790 00fa 03a3 sr @0x03a3, $AX0.H + 0792 8100 clr $ACC0 + 0793 8900 clr $ACC1 + 0794 02bf 07d4 call 0x07d4 + 0796 24ff lrs $AC0.L, @CMBL + 0797 02bf 07da call 0x07da + 0799 25ff lrs $AC1.L, @CMBL + 079a 02bf 07da call 0x07da + 079c 27ff lrs $AC1.M, @CMBL + 079d 2ece srs @DSMAH, $AC0.M + 079e 2ccf srs @DSMAL, $AC0.L + 079f 16c9 0001 si @DSCR, #0x0001 + 07a1 2fcd srs @DSPA, $AC1.M + 07a2 2dcb srs @DSBL, $AC1.L + 07a3 8100 clr $ACC0 + 07a4 8900 clr $ACC1 + 07a5 02bf 07d4 call 0x07d4 + 07a7 24ff lrs $AC0.L, @CMBL + 07a8 1c9e mrr $IX0, $AC0.M + 07a9 1cbc mrr $IX1, $AC0.L + 07aa 02bf 07da call 0x07da + 07ac 25ff lrs $AC1.L, @CMBL + 07ad 02bf 07da call 0x07da + 07af 27ff lrs $AC1.M, @CMBL + 07b0 1cdf mrr $IX2, $AC1.M + 07b1 1cfd mrr $IX3, $AC1.L + 07b2 8100 clr $ACC0 + 07b3 02bf 07d4 call 0x07d4 + 07b5 26ff lrs $AC0.M, @CMBL + 07b6 1c1e mrr $AR0, $AC0.M + 07b7 8900 clr $ACC1 + 07b8 02bf 07da call 0x07da + 07ba 20ff lrs $AX0.L, @CMBL + 07bb 1f5f mrr $AX0.H, $AC1.M + 07bc 02bf 07d4 call 0x07d4 + 07be 21ff lrs $AX1.L, @CMBL + 07bf 02bf 07d4 call 0x07d4 + 07c1 23ff lrs $AX1.H, @CMBL + 07c2 26c9 lrs $AC0.M, @DSCR + 07c3 02a0 0004 andf $AC0.M, #0x0004 + 07c5 029c 07c2 jlnz 0x07c2 + 07c7 1206 sbclr #0x06 + 07c8 1203 sbclr #0x03 + 07c9 1204 sbclr #0x04 + 07ca 1205 sbclr #0x05 + 07cb 029f 80b5 jmp 0x80b5 + 07cd 0021 halt + 07ce 029f 8000 jmp 0x8000 + 07d0 0021 halt + 07d1 00c0 03f9 lr $AR0, @0x03f9 + 07d3 170f jmpr $AR0 + 07d4 26fe lrs $AC0.M, @CMBH + 07d5 02c0 8000 andcf $AC0.M, #0x8000 + 07d7 029c 07d4 jlnz 0x07d4 + 07d9 02df ret + 07da 27fe lrs $AC1.M, @CMBH + 07db 03c0 8000 andcf $AC1.M, #0x8000 + 07dd 029c 07da jlnz 0x07da + 07df 02df ret + 07e0 02bf 07f8 call 0x07f8 + 07e2 16fc dcd1 si @DMBH, #0xdcd1 + 07e4 2efd srs @DMBL, $AC0.M + 07e5 16fb 0001 si @DIRQ, #0x0001 + 07e7 02bf 07f8 call 0x07f8 + 07e9 02df ret + 07ea 02bf 07f8 call 0x07f8 + 07ec 16fc f355 si @DMBH, #0xf355 + 07ee 2efd srs @DMBL, $AC0.M + 07ef 02bf 07f8 call 0x07f8 + 07f1 02df ret + 07f2 26fc lrs $AC0.M, @DMBH + 07f3 02c0 8000 andcf $AC0.M, #0x8000 + 07f5 029d 07f2 jlz 0x07f2 + 07f7 02df ret + 07f8 27fc lrs $AC1.M, @DMBH + 07f9 03c0 8000 andcf $AC1.M, #0x8000 + 07fb 029d 07f8 jlz 0x07f8 + 07fd 02df ret + 07fe 009a 0280 lri $AX0.H, #0x0280 + 0800 00fa 0350 sr @0x0350, $AX0.H + 0802 00fa 0351 sr @0x0351, $AX0.H + 0804 0a00 lris $AX0.H, #0x00 + 0805 00fa 0352 sr @0x0352, $AX0.H + 0807 02df ret + 0808 00e0 03fb sr @0x03fb, $AR0 + 080a 00e8 03fc sr @0x03fc, $WR0 + 080c 00c0 0350 lr $AR0, @0x0350 + 080e 0088 002f lri $WR0, #0x002f + 0810 1b1a srri @$AR0, $AX0.H + 0811 00de fffe lr $AC0.M, @CMBH + 0813 02c0 8000 andcf $AC0.M, #0x8000 + 0815 029c 0811 jlnz 0x0811 + 0817 00dc ffff lr $AC0.L, @CMBL + 0819 1b1e srri @$AR0, $AC0.M + 081a 1b1c srri @$AR0, $AC0.L + 081b 1fda mrr $AC0.M, $AX0.H + 081c 7800 decm $AC0.M + 081d 1f5e mrr $AX0.H, $AC0.M + 081e 8600 tstaxh $AX0.H + 081f 0294 0811 jnz 0x0811 + 0821 8100 clr $ACC0 + 0822 00de 0352 lr $AC0.M, @0x0352 + 0824 7400 incm $AC0.M + 0825 00fe 0352 sr @0x0352, $AC0.M + 0827 00e0 0350 sr @0x0350, $AR0 + 0829 00c0 03fb lr $AR0, @0x03fb + 082b 00c8 03fc lr $WR0, @0x03fc + 082d 029f 075c jmp 0x075c + 082f 00e0 03fb sr @0x03fb, $AR0 + 0831 00e8 03fc sr @0x03fc, $WR0 + 0833 00c0 0350 lr $AR0, @0x0350 + 0835 0088 002f lri $WR0, #0x002f + 0837 0a00 lris $AX0.H, #0x00 + 0838 1b1a srri @$AR0, $AX0.H + 0839 029f 0821 jmp 0x0821 + 083b 00c0 0351 lr $AR0, @0x0351 + 083d 0088 002f lri $WR0, #0x002f + 083f 00da 0352 lr $AX0.H, @0x0352 + 0841 8600 tstaxh $AX0.H + 0842 0295 0863 jz 0x0863 + 0844 1205 sbclr #0x05 + 0845 00da 0352 lr $AX0.H, @0x0352 + 0847 1fda mrr $AC0.M, $AX0.H + 0848 7800 decm $AC0.M + 0849 00fe 0352 sr @0x0352, $AC0.M + 084b 1305 sbset #0x05 + 084c 0081 0356 lri $AR1, #0x0356 + 084e 191e lrri $AC0.M, @$AR0 + 084f 02c0 8000 andcf $AC0.M, #0x8000 + 0851 029d 0867 jlz 0x0867 + 0853 1f5e mrr $AX0.H, $AC0.M + 0854 8600 tstaxh $AX0.H + 0855 0295 086b jz 0x086b + 0857 007a 085c bloop $AX0.H, 0x085c + 0859 191e lrri $AC0.M, @$AR0 + 085a 1b3e srri @$AR1, $AC0.M + 085b 191e lrri $AC0.M, @$AR0 + 085c 1b3e srri @$AR1, $AC0.M + 085d 00e0 0351 sr @0x0351, $AR0 + 085f 0088 ffff lri $WR0, #0xffff + 0861 029f 0036 jmp 0x0036 + 0863 0088 ffff lri $WR0, #0xffff + 0865 029f 002b jmp 0x002b + 0867 00e0 0351 sr @0x0351, $AR0 + 0869 029f 083f jmp 0x083f + 086b 0080 083b lri $AR0, #0x083b + 086d 029f 0766 jmp 0x0766 + 086f 8100 clr $ACC0 + 0870 0e10 lris $AC0.M, #0x10 + 0871 2232 lrs $AX0.H, @0x0032 + 0872 8600 tstaxh $AX0.H + 0873 02d5 retz + 0874 5400 subr $ACC0, $AX0.H + 0875 0200 0458 addi $AC0.M, #0x0458 + 0877 1c1e mrr $AR0, $AC0.M + 0878 1fda mrr $AC0.M, $AX0.H + 0879 04fe addis $ACC0, #0xfe + 087a 1f1e mrr $AX0.L, $AC0.M + 087b 191e lrri $AC0.M, @$AR0 + 087c 0291 0882 jl 0x0882 + 087e 191a lrri $AX0.H, @$AR0 + 087f 0058 loop $AX0.L + 0880 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0881 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 0882 1b7e srri @$AR3, $AC0.M + 0883 02df ret + 0884 02bf 086f call 0x086f + 0886 8100 clr $ACC0 + 0887 2632 lrs $AC0.M, @0x0032 + 0888 5c00 sub $ACC0, $ACC1 + 0889 2e32 srs @0x0032, $AC0.M + 088a 0092 00ff lri $CR, #0x00ff + 088c 02df ret + 088d 00de 04fb lr $AC0.M, @0x04fb + 088f 7400 incm $AC0.M + 0890 00fe 04fb sr @0x04fb, $AC0.M + 0892 8100 clr $ACC0 + 0893 2e32 srs @0x0032, $AC0.M + 0894 2e66 srs @0x0066, $AC0.M + 0895 2e67 srs @0x0067, $AC0.M + 0896 268a lrs $AC0.M, @0xff8a + 0897 248b lrs $AC0.L, @0xff8b + 0898 2e3a srs @0x003a, $AC0.M + 0899 2c3b srs @0x003b, $AC0.L + 089a 268c lrs $AC0.M, @0xff8c + 089b 248d lrs $AC0.L, @0xff8d + 089c 2e38 srs @0x0038, $AC0.M + 089d 2c39 srs @0x0039, $AC0.L + 089e 02df ret + 089f 8100 clr $ACC0 + 08a0 2689 lrs $AC0.M, @0xff89 + 08a1 0240 000f andi $AC0.M, #0x000f + 08a3 1f5e mrr $AX0.H, $AC0.M + 08a4 8100 clr $ACC0 + 08a5 0e10 lris $AC0.M, #0x10 + 08a6 5400 subr $ACC0, $AX0.H + 08a7 2e32 srs @0x0032, $AC0.M + 08a8 268a lrs $AC0.M, @0xff8a + 08a9 248b lrs $AC0.L, @0xff8b + 08aa 2288 lrs $AX0.H, @0xff88 + 08ab 2089 lrs $AX0.L, @0xff89 + 08ac 5800 subax $ACC0, $AX0.L + 08ad 0a00 lris $AX0.H, #0x00 + 08ae 2032 lrs $AX0.L, @0x0032 + 08af 5800 subax $ACC0, $AX0.L + 08b0 2e3a srs @0x003a, $AC0.M + 08b1 2c3b srs @0x003b, $AC0.L + 08b2 02df ret + 08b3 0092 0004 lri $CR, #0x0004 + 08b5 8100 clr $ACC0 + 08b6 2604 lrs $AC0.M, @0x0004 + 08b7 b100 tst $ACC0 + 08b8 02b4 088d callnz 0x088d + 08ba 8100 clr $ACC0 + 08bb 2601 lrs $AC0.M, @0x0001 + 08bc b100 tst $ACC0 + 08bd 0294 095b jnz 0x095b + 08bf 2232 lrs $AX0.H, @0x0032 + 08c0 c900 cmpar $ACC0, $AX1.H + 08c1 0293 0884 jle 0x0884 + 08c3 5500 subr $ACC1, $AX0.H + 08c4 02bf 086f call 0x086f + 08c6 223a lrs $AX0.H, @0x003a + 08c7 8600 tstaxh $AX0.H + 08c8 0294 08cf jnz 0x08cf + 08ca 8100 clr $ACC0 + 08cb 263b lrs $AC0.M, @0x003b + 08cc 8200 cmp + 08cd 0291 0921 jl 0x0921 + 08cf 8100 clr $ACC0 + 08d0 1fdf mrr $AC0.M, $AC1.M + 08d1 040f addis $ACC0, #0x0f + 08d2 147c lsr $ACC0, #-4 + 08d3 1f7e mrr $AX1.H, $AC0.M + 08d4 0c00 lris $AC0.L, #0x00 + 08d5 1404 lsl $ACC0, #4 + 08d6 1f1e mrr $AX0.L, $AC0.M + 08d7 0a00 lris $AX0.H, #0x00 + 08d8 8100 clr $ACC0 + 08d9 263a lrs $AC0.M, @0x003a + 08da 243b lrs $AC0.L, @0x003b + 08db 5800 subax $ACC0, $AX0.L + 08dc 0290 08e7 jge 0x08e7 + 08de 8100 clr $ACC0 + 08df 263b lrs $AC0.M, @0x003b + 08e0 5c00 sub $ACC0, $ACC1 + 08e1 2e32 srs @0x0032, $AC0.M + 08e2 8100 clr $ACC0 + 08e3 2e3a srs @0x003a, $AC0.M + 08e4 2e3b srs @0x003b, $AC0.M + 08e5 029f 08ed jmp 0x08ed + 08e7 2e3a srs @0x003a, $AC0.M + 08e8 2c3b srs @0x003b, $AC0.L + 08e9 0c00 lris $AC0.L, #0x00 + 08ea 1fd8 mrr $AC0.M, $AX0.L + 08eb 5c00 sub $ACC0, $ACC1 + 08ec 2e32 srs @0x0032, $AC0.M + 08ed 8100 clr $ACC0 + 08ee 1fdb mrr $AC0.M, $AX1.H + 08ef 02bf 0961 call 0x0961 + 08f1 2232 lrs $AX0.H, @0x0032 + 08f2 8600 tstaxh $AX0.H + 08f3 0295 091e jz 0x091e + 08f5 0a10 lris $AX0.H, #0x10 + 08f6 8100 clr $ACC0 + 08f7 1fc3 mrr $AC0.M, $AR3 + 08f8 5400 subr $ACC0, $AX0.H + 08f9 1c7e mrr $AR3, $AC0.M + 08fa 0080 0458 lri $AR0, #0x0458 + 08fc 197e lrri $AC0.M, @$AR3 + 08fd 197a lrri $AX0.H, @$AR3 + 08fe 100e loopi #0x0e + 08ff 64a2 movr'sl $ACC0, $AX0.H : $AC0.M, $AX0.H + 0900 1b1e srri @$AR0, $AC0.M + 0901 1b1a srri @$AR0, $AX0.H + 0902 8100 clr $ACC0 + 0903 263a lrs $AC0.M, @0x003a + 0904 243b lrs $AC0.L, @0x003b + 0905 b100 tst $ACC0 + 0906 0294 091e jnz 0x091e + 0908 2232 lrs $AX0.H, @0x0032 + 0909 8600 tstaxh $AX0.H + 090a 0295 091e jz 0x091e + 090c 0080 0467 lri $AR0, #0x0467 + 090e 8100 clr $ACC0 + 090f 268b lrs $AC0.M, @0xff8b + 0910 b100 tst $ACC0 + 0911 0295 091e jz 0x091e + 0913 0200 000f addi $AC0.M, #0x000f + 0915 0240 000f andi $AC0.M, #0x000f + 0917 0200 0458 addi $AC0.M, #0x0458 + 0919 1c7e mrr $AR3, $AC0.M + 091a 007a 091d bloop $AX0.H, 0x091d + 091c 18fe lrrd $AC0.M, @$AR3 + 091d 1a9e srrd @$AR0, $AC0.M + 091e 0092 00ff lri $CR, #0x00ff + 0920 02df ret + 0921 b100 tst $ACC0 + 0922 0295 0931 jz 0x0931 + 0924 5d00 sub $ACC1, $ACC0 + 0925 040f addis $ACC0, #0x0f + 0926 147c lsr $ACC0, #-4 + 0927 0c00 lris $AC0.L, #0x00 + 0928 00e3 0363 sr @0x0363, $AR3 + 092a 02bf 0961 call 0x0961 + 092c 00de 0363 lr $AC0.M, @0x0363 + 092e 223b lrs $AX0.H, @0x003b + 092f 4400 addr $ACC0, $AX0.H + 0930 1c7e mrr $AR3, $AC0.M + 0931 8100 clr $ACC0 + 0932 2681 lrs $AC0.M, @0xff81 + 0933 b100 tst $ACC0 + 0934 0295 0959 jz 0x0959 + 0936 2380 lrs $AX1.H, @0xff80 + 0937 2688 lrs $AC0.M, @0xff88 + 0938 2489 lrs $AC0.L, @0xff89 + 0939 1408 lsl $ACC0, #8 + 093a 14f4 asr $ACC0, #-12 + 093b 2380 lrs $AX1.H, @0xff80 + 093c 8d00 set15 + 093d c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L + 093e ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 093f 8c00 clr15 + 0940 f000 lsl16 $ACC0 + 0941 4e00 addp $ACC0 + 0942 238c lrs $AX1.H, @0xff8c + 0943 218d lrs $AX1.L, @0xff8d + 0944 4a00 addax $ACC0, $AX1.L + 0945 2e38 srs @0x0038, $AC0.M + 0946 2c39 srs @0x0039, $AC0.L + 0947 2682 lrs $AC0.M, @0xff82 + 0948 2e67 srs @0x0067, $AC0.M + 0949 2683 lrs $AC0.M, @0xff83 + 094a 2e66 srs @0x0066, $AC0.M + 094b 00e3 0363 sr @0x0363, $AR3 + 094d 0083 0458 lri $AR3, #0x0458 + 094f 8100 clr $ACC0 + 0950 0e01 lris $AC0.M, #0x01 + 0951 02bf 0961 call 0x0961 + 0953 00c3 0363 lr $AR3, @0x0363 + 0955 02bf 089f call 0x089f + 0957 029f 08bf jmp 0x08bf + 0959 0e01 lris $AC0.M, #0x01 + 095a 2e01 srs @0x0001, $AC0.M + 095b 8100 clr $ACC0 + 095c 005f loop $AC1.M + 095d 1b7e srri @$AR3, $AC0.M + 095e 0092 00ff lri $CR, #0x00ff + 0960 02df ret + 0961 00ff 0360 sr @0x0360, $AC1.M + 0963 00fe 0361 sr @0x0361, $AC0.M + 0965 2638 lrs $AC0.M, @0x0038 + 0966 2439 lrs $AC0.L, @0x0039 + 0967 0f05 lris $AC1.M, #0x05 + 0968 02bf 06a4 call 0x06a4 + 096a 2638 lrs $AC0.M, @0x0038 + 096b 2439 lrs $AC0.L, @0x0039 + 096c 8900 clr $ACC1 + 096d 00df 0361 lr $AC1.M, @0x0361 + 096f 2280 lrs $AX0.H, @0xff80 + 0970 d000 mulc $AC1.M, $AX0.H + 0971 6f00 movp $ACC1 + 0972 4c00 add $ACC0, $ACC1 + 0973 2e38 srs @0x0038, $AC0.M + 0974 2c39 srs @0x0039, $AC0.L + 0975 8100 clr $ACC0 + 0976 00de 0361 lr $AC0.M, @0x0361 + 0978 007e 09df bloop $AC0.M, 0x09df + 097a 0080 ffd3 lri $AR0, #0xffd3 + 097c 0084 0000 lri $IX0, #0x0000 + 097e 199e lrrn $AC0.M, @$AR0 + 097f 8900 clr $ACC1 + 0980 1ffe mrr $AC1.M, $AC0.M + 0981 1401 lsl $ACC0, #1 + 0982 0240 001e andi $AC0.M, #0x001e + 0984 0200 0300 addi $AC0.M, #0x0300 + 0986 1c3e mrr $AR1, $AC0.M + 0987 157c lsr $ACC1, #-4 + 0988 0340 000f andi $AC1.M, #0x000f + 098a 0a11 lris $AX0.H, #0x11 + 098b 5500 subr $ACC1, $AX0.H + 098c 8100 clr $ACC0 + 098d 2680 lrs $AC0.M, @0xff80 + 098e 0605 cmpis $ACC0, #0x05 + 098f 0295 09a8 jz 0x09a8 + 0991 009a 00f0 lri $AX0.H, #0x00f0 + 0993 0b0f lris $AX1.H, #0x0f + 0994 0082 0364 lri $AR2, #0x0364 + 0996 1998 lrrn $AX0.L, @$AR0 + 0997 6000 movr $ACC0, $AX0.L + 0998 1107 099f bloopi #0x07, 0x099f + 099a 3400 andr $AC0.M, $AX0.H + 099b 1408 lsl $ACC0, #8 + 099c 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 099d 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 099e 140c lsl $ACC0, #12 + 099f 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09a0 3400 andr $AC0.M, $AX0.H + 09a1 1408 lsl $ACC0, #8 + 09a2 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09a3 3600 andr $AC0.M, $AX1.H + 09a4 140c lsl $ACC0, #12 + 09a5 1b5e srri @$AR2, $AC0.M + 09a6 029f 09c8 jmp 0x09c8 + 09a8 009a c000 lri $AX0.H, #0xc000 + 09aa 0082 0364 lri $AR2, #0x0364 + 09ac 1998 lrrn $AX0.L, @$AR0 + 09ad 6000 movr $ACC0, $AX0.L + 09ae 1103 09bb bloopi #0x03, 0x09bb + 09b0 1408 lsl $ACC0, #8 + 09b1 3400 andr $AC0.M, $AX0.H + 09b2 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b3 140a lsl $ACC0, #10 + 09b4 3400 andr $AC0.M, $AX0.H + 09b5 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b6 140c lsl $ACC0, #12 + 09b7 3400 andr $AC0.M, $AX0.H + 09b8 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b9 140e lsl $ACC0, #14 + 09ba 3444 andr'ln $AC0.M, $AX0.H : $AX0.L, @$AR0 + 09bb 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09bc 1408 lsl $ACC0, #8 + 09bd 3400 andr $AC0.M, $AX0.H + 09be 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09bf 140a lsl $ACC0, #10 + 09c0 3400 andr $AC0.M, $AX0.H + 09c1 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09c2 140c lsl $ACC0, #12 + 09c3 3400 andr $AC0.M, $AX0.H + 09c4 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09c5 140e lsl $ACC0, #14 + 09c6 3400 andr $AC0.M, $AX0.H + 09c7 1b5e srri @$AR2, $AC0.M + 09c8 8f00 set40 + 09c9 1f7f mrr $AX1.H, $AC1.M + 09ca 2066 lrs $AX0.L, @0x0066 + 09cb 2767 lrs $AC1.M, @0x0067 + 09cc 193a lrri $AX0.H, @$AR1 + 09cd 1939 lrri $AX1.L, @$AR1 + 09ce 0080 0364 lri $AR0, #0x0364 + 09d0 a000 mulx $AX0.L, $AX1.L + 09d1 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 + 09d2 1108 09db bloopi #0x08, 0x09db + 09d4 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 09d5 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 09d6 1485 asl $ACC0, #5 + 09d7 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 09d8 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 09d9 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 09da 1585 asl $ACC1, #5 + 09db ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M + 09dc 2f67 srs @0x0067, $AC1.M + 09dd 8e00 set16 + 09de 1ff8 mrr $AC1.M, $AX0.L + 09df 2f66 srs @0x0066, $AC1.M + 09e0 8900 clr $ACC1 + 09e1 00df 0360 lr $AC1.M, @0x0360 + 09e3 02df ret + 09e4 b100 tst $ACC0 + 09e5 02d5 retz + 09e6 04fe addis $ACC0, #0xfe + 09e7 1f1e mrr $AX0.L, $AC0.M + 09e8 191e lrri $AC0.M, @$AR0 + 09e9 0291 09ef jl 0x09ef + 09eb 191a lrri $AX0.H, @$AR0 + 09ec 0058 loop $AX0.L + 09ed 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 09ee 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 09ef 1b7e srri @$AR3, $AC0.M + 09f0 02df ret + 09f1 8100 clr $ACC0 + 09f2 1f5e mrr $AX0.H, $AC0.M + 09f3 00d8 0402 lr $AX0.L, @0x0402 + 09f5 00dc 0430 lr $AC0.L, @0x0430 + 09f7 0080 0520 lri $AR0, #0x0520 + 09f9 00df 0480 lr $AC1.M, @0x0480 + 09fb 1501 lsl $ACC1, #1 + 09fc 0340 007e andi $AC1.M, #0x007e + 09fe 0300 0a06 addi $AC1.M, #0x0a06 + 0a00 1c5f mrr $AR2, $AC1.M + 0a01 175f callr $AR2 + 0a02 00fc 0430 sr @0x0430, $AC0.L + 0a04 029f 0386 jmp 0x0386 + 0a06 029f 0a27 jmp 0x0a27 + 0a08 029f 0a62 jmp 0x0a62 + 0a0a 029f 0a4a jmp 0x0a4a + 0a0c 029f 0a37 jmp 0x0a37 + 0a0e 029f 0a70 jmp 0x0a70 + 0a10 029f 0a26 jmp 0x0a26 + 0a12 029f 0a8e jmp 0x0a8e + 0a14 029f 0a91 jmp 0x0a91 + 0a16 029f 0a26 jmp 0x0a26 + 0a18 029f 0a26 jmp 0x0a26 + 0a1a 029f 0aaf jmp 0x0aaf + 0a1c 029f 0a68 jmp 0x0a68 + 0a1e 029f 0a6c jmp 0x0a6c + 0a20 029f 0a26 jmp 0x0a26 + 0a22 029f 0a26 jmp 0x0a26 + 0a24 029f 0a26 jmp 0x0a26 + 0a26 02df ret + 0a27 1401 lsl $ACC0, #1 + 0a28 009b c000 lri $AX1.H, #0xc000 + 0a2a 0099 4000 lri $AX1.L, #0x4000 + 0a2c 1150 0a34 bloopi #0x50, 0x0a34 + 0a2e 02c0 0001 andcf $AC0.M, #0x0001 + 0a30 027c iflnz + 0a31 1b1b srri @$AR0, $AX1.H + 0a32 027d iflz + 0a33 1b19 srri @$AR0, $AX1.L + 0a34 4800 addax $ACC0, $AX0.L + 0a35 147f lsr $ACC0, #-1 + 0a36 02df ret + 0a37 1402 lsl $ACC0, #2 + 0a38 8900 clr $ACC1 + 0a39 1fb8 mrr $AC1.L, $AX0.L + 0a3a 1501 lsl $ACC1, #1 + 0a3b 009b c000 lri $AX1.H, #0xc000 + 0a3d 0099 4000 lri $AX1.L, #0x4000 + 0a3f 1150 0a47 bloopi #0x50, 0x0a47 + 0a41 02c0 0003 andcf $AC0.M, #0x0003 + 0a43 027c iflnz + 0a44 1b1b srri @$AR0, $AX1.H + 0a45 027d iflz + 0a46 1b19 srri @$AR0, $AX1.L + 0a47 4c00 add $ACC0, $ACC1 + 0a48 147e lsr $ACC0, #-2 + 0a49 02df ret + 0a4a 1401 lsl $ACC0, #1 + 0a4b 0081 0ca0 lri $AR1, #0x0ca0 + 0a4d 009b c000 lri $AX1.H, #0xc000 + 0a4f 0099 4000 lri $AX1.L, #0x4000 + 0a51 8900 clr $ACC1 + 0a52 0082 0000 lri $AR2, #0x0000 + 0a54 1150 0a5f bloopi #0x50, 0x0a5f + 0a56 02c0 0001 andcf $AC0.M, #0x0001 + 0a58 027c iflnz + 0a59 1b1b srri @$AR0, $AX1.H + 0a5a 027d iflz + 0a5b 1b19 srri @$AR0, $AX1.L + 0a5c 183d lrr $AC1.L, @$AR1 + 0a5d 4900 addax $ACC1, $AX0.L + 0a5e 1fe2 mrr $AC1.M, $AR2 + 0a5f 4c39 add's $ACC0, $ACC1 : @$AR1, $AC1.M + 0a60 147f lsr $ACC0, #-1 + 0a61 02df ret + 0a62 8900 clr $ACC1 + 0a63 1fb8 mrr $AC1.L, $AX0.L + 0a64 157f lsr $ACC1, #-1 + 0a65 1050 loopi #0x50 + 0a66 4c20 add's $ACC0, $ACC1 : @$AR0, $AC0.L + 0a67 02df ret + 0a68 0082 0180 lri $AR2, #0x0180 + 0a6a 029f 0a72 jmp 0x0a72 + 0a6c 0082 01c0 lri $AR2, #0x01c0 + 0a6e 029f 0a72 jmp 0x0a72 + 0a70 0082 0140 lri $AR2, #0x0140 + 0a72 008a 003f lri $WR2, #0x003f + 0a74 0086 0000 lri $IX2, #0x0000 + 0a76 1406 lsl $ACC0, #6 + 0a77 8900 clr $ACC1 + 0a78 1fb8 mrr $AC1.L, $AX0.L + 0a79 1505 lsl $ACC1, #5 + 0a7a 009b 003f lri $AX1.H, #0x003f + 0a7c 009a 0000 lri $AX0.H, #0x0000 + 0a7e 3600 andr $AC0.M, $AX1.H + 0a7f 1cde mrr $IX2, $AC0.M + 0a80 001a addarn $AR2, $IX2 + 0a81 3400 andr $AC0.M, $AX0.H + 0a82 1150 0a88 bloopi #0x50, 0x0a88 + 0a84 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0a85 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a86 1cde mrr $IX2, $AC0.M + 0a87 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a88 1b19 srri @$AR0, $AX1.L + 0a89 1fc2 mrr $AC0.M, $AR2 + 0a8a 147a lsr $ACC0, #-6 + 0a8b 008a ffff lri $WR2, #0xffff + 0a8d 02df ret + 0a8e 1050 loopi #0x50 + 0a8f 1b18 srri @$AR0, $AX0.L + 0a90 02df ret + 0a91 0082 0100 lri $AR2, #0x0100 + 0a93 008a 003f lri $WR2, #0x003f + 0a95 0086 0000 lri $IX2, #0x0000 + 0a97 1406 lsl $ACC0, #6 + 0a98 8900 clr $ACC1 + 0a99 1fb8 mrr $AC1.L, $AX0.L + 0a9a 1505 lsl $ACC1, #5 + 0a9b 009b 003f lri $AX1.H, #0x003f + 0a9d 009a 0000 lri $AX0.H, #0x0000 + 0a9f 3600 andr $AC0.M, $AX1.H + 0aa0 1cde mrr $IX2, $AC0.M + 0aa1 001a addarn $AR2, $IX2 + 0aa2 3400 andr $AC0.M, $AX0.H + 0aa3 1150 0aa9 bloopi #0x50, 0x0aa9 + 0aa5 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0aa6 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0aa7 1cde mrr $IX2, $AC0.M + 0aa8 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0aa9 1b19 srri @$AR0, $AX1.L + 0aaa 1fc2 mrr $AC0.M, $AR2 + 0aab 147a lsr $ACC0, #-6 + 0aac 008a ffff lri $WR2, #0xffff + 0aae 02df ret + 0aaf 0082 0100 lri $AR2, #0x0100 + 0ab1 008a 003f lri $WR2, #0x003f + 0ab3 0086 0000 lri $IX2, #0x0000 + 0ab5 0081 0ca0 lri $AR1, #0x0ca0 + 0ab7 1406 lsl $ACC0, #6 + 0ab8 8900 clr $ACC1 + 0ab9 1fb8 mrr $AC1.L, $AX0.L + 0aba 1505 lsl $ACC1, #5 + 0abb 009b 003f lri $AX1.H, #0x003f + 0abd 009a 0000 lri $AX0.H, #0x0000 + 0abf 3600 andr $AC0.M, $AX1.H + 0ac0 1cde mrr $IX2, $AC0.M + 0ac1 001a addarn $AR2, $IX2 + 0ac2 3400 andr $AC0.M, $AX0.H + 0ac3 1150 0ace bloopi #0x50, 0x0ace + 0ac5 1939 lrri $AX1.L, @$AR1 + 0ac6 a000 mulx $AX0.L, $AX1.L + 0ac7 140a lsl $ACC0, #10 + 0ac8 4e00 addp $ACC0 + 0ac9 1476 lsr $ACC0, #-10 + 0aca 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0acb 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0acc 1cde mrr $IX2, $AC0.M + 0acd 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0ace 1b19 srri @$AR0, $AX1.L + 0acf 1fc2 mrr $AC0.M, $AR2 + 0ad0 147a lsr $ACC0, #-6 + 0ad1 008a ffff lri $WR2, #0xffff + 0ad3 02df ret + 0ad4 0080 01be lri $AR0, #0x01be + 0ad6 1918 lrri $AX0.L, @$AR0 + 0ad7 191a lrri $AX0.H, @$AR0 + 0ad8 0080 0180 lri $AR0, #0x0180 + 0ada 0083 0180 lri $AR3, #0x0180 + 0adc 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0add 1ffe mrr $AC1.M, $AC0.M + 0ade 1120 0ae5 bloopi #0x20, 0x0ae5 + 0ae0 7c00 neg $ACC0 + 0ae1 d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0ae2 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0ae3 c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 + 0ae4 1501 lsl $ACC1, #1 + 0ae5 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M + 0ae6 0080 01fe lri $AR0, #0x01fe + 0ae8 191a lrri $AX0.H, @$AR0 + 0ae9 1918 lrri $AX0.L, @$AR0 + 0aea 0080 01c0 lri $AR0, #0x01c0 + 0aec 0083 01c0 lri $AR3, #0x01c0 + 0aee 1ff8 mrr $AC1.M, $AX0.L + 0aef 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0af0 f800 addpaxz $ACC0, $AX0.H + 0af1 0240 01ff andi $AC0.M, #0x01ff + 0af3 0260 2000 ori $AC0.M, #0x2000 + 0af5 02bf 0af8 call 0x0af8 + 0af7 02df ret + 0af8 b900 tst $ACC1 + 0af9 0272 ifg + 0afa 7c00 neg $ACC0 + 0afb 1f7e mrr $AX1.H, $AC0.M + 0afc 4700 addr $ACC1, $AX1.H + 0afd 1110 0b02 bloopi #0x10, 0x0b02 + 0aff 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0b00 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0b01 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0b02 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0b03 02df ret + 0b04 02bf 0b71 call 0x0b71 + 0b06 2201 lrs $AX0.H, @0x0001 + 0b07 8600 tstaxh $AX0.H + 0b08 0294 0b19 jnz 0x0b19 + 0b0a 2204 lrs $AX0.H, @0x0004 + 0b0b 8600 tstaxh $AX0.H + 0b0c 02b4 0b60 callnz 0x0b60 + 0b0e 8100 clr $ACC0 + 0b0f 2605 lrs $AC0.M, @0x0005 + 0b10 b100 tst $ACC0 + 0b11 0295 0b26 jz 0x0b26 + 0b13 8100 clr $ACC0 + 0b14 2e05 srs @0x0005, $AC0.M + 0b15 2281 lrs $AX0.H, @0xff81 + 0b16 8600 tstaxh $AX0.H + 0b17 0294 0b20 jnz 0x0b20 + 0b19 8100 clr $ACC0 + 0b1a 005f loop $AC1.M + 0b1b 1b7e srri @$AR3, $AC0.M + 0b1c 7400 incm $AC0.M + 0b1d 2e01 srs @0x0001, $AC0.M + 0b1e 029f 0b59 jmp 0x0b59 + 0b20 2688 lrs $AC0.M, @0xff88 + 0b21 2489 lrs $AC0.L, @0xff89 + 0b22 2e34 srs @0x0034, $AC0.M + 0b23 2c35 srs @0x0035, $AC0.L + 0b24 02bf 0b60 call 0x0b60 + 0b26 00ff 0360 sr @0x0360, $AC1.M + 0b28 2638 lrs $AC0.M, @0x0038 + 0b29 2439 lrs $AC0.L, @0x0039 + 0b2a 02bf 06d2 call 0x06d2 + 0b2c 00df 0360 lr $AC1.M, @0x0360 + 0b2e 8100 clr $ACC0 + 0b2f 263a lrs $AC0.M, @0x003a + 0b30 b100 tst $ACC0 + 0b31 0294 0b40 jnz 0x0b40 + 0b33 263b lrs $AC0.M, @0x003b + 0b34 5c00 sub $ACC0, $ACC1 + 0b35 0290 0b40 jge 0x0b40 + 0b37 223b lrs $AX0.H, @0x003b + 0b38 02bf 06ef call 0x06ef + 0b3a 5500 subr $ACC1, $AX0.H + 0b3b 0a01 lris $AX0.H, #0x01 + 0b3c 00fa 0405 sr @0x0405, $AX0.H + 0b3e 029f 0b13 jmp 0x0b13 + 0b40 1f5f mrr $AX0.H, $AC1.M + 0b41 02bf 06ef call 0x06ef + 0b43 00fa 0362 sr @0x0362, $AX0.H + 0b45 8100 clr $ACC0 + 0b46 263a lrs $AC0.M, @0x003a + 0b47 243b lrs $AC0.L, @0x003b + 0b48 1570 lsr $ACC1, #-16 + 0b49 0a01 lris $AX0.H, #0x01 + 0b4a 0081 0405 lri $AR1, #0x0405 + 0b4c 5c00 sub $ACC0, $ACC1 + 0b4d b100 tst $ACC0 + 0b4e 0275 ifz + 0b4f 1a3a srr @$AR1, $AX0.H + 0b50 2e3a srs @0x003a, $AC0.M + 0b51 2c3b srs @0x003b, $AC0.L + 0b52 2638 lrs $AC0.M, @0x0038 + 0b53 2439 lrs $AC0.L, @0x0039 + 0b54 00d8 0362 lr $AX0.L, @0x0362 + 0b56 7000 addaxl $ACC0, $AX0.L + 0b57 2c39 srs @0x0039, $AC0.L + 0b58 2e38 srs @0x0038, $AC0.M + 0b59 0092 00ff lri $CR, #0x00ff + 0b5b 029f 037e jmp 0x037e + 0b5d 8100 clr $ACC0 + 0b5e 2e34 srs @0x0034, $AC0.M + 0b5f 2e35 srs @0x0035, $AC0.M + 0b60 2334 lrs $AX1.H, @0x0034 + 0b61 2135 lrs $AX1.L, @0x0035 + 0b62 268a lrs $AC0.M, @0xff8a + 0b63 248b lrs $AC0.L, @0xff8b + 0b64 5a00 subax $ACC0, $AX1.L + 0b65 2e3a srs @0x003a, $AC0.M + 0b66 2c3b srs @0x003b, $AC0.L + 0b67 2634 lrs $AC0.M, @0x0034 + 0b68 2435 lrs $AC0.L, @0x0035 + 0b69 238c lrs $AX1.H, @0xff8c + 0b6a 218d lrs $AX1.L, @0xff8d + 0b6b 4a00 addax $ACC0, $AX1.L + 0b6c 2e38 srs @0x0038, $AC0.M + 0b6d 2c39 srs @0x0039, $AC0.L + 0b6e 8100 clr $ACC0 + 0b6f 2e05 srs @0x0005, $AC0.M + 0b70 02df ret + 0b71 0092 0004 lri $CR, #0x0004 + 0b73 2002 lrs $AX0.L, @0x0002 + 0b74 8100 clr $ACC0 + 0b75 8900 clr $ACC1 + 0b76 2430 lrs $AC0.L, @0x0030 + 0b77 8d00 set15 + 0b78 0950 lris $AX1.L, #0x50 + 0b79 a000 mulx $AX0.L, $AX1.L + 0b7a a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0b7b 1404 lsl $ACC0, #4 + 0b7c 8c00 clr15 + 0b7d 1ffe mrr $AC1.M, $AC0.M + 0b7e 0083 0580 lri $AR3, #0x0580 + 0b80 02df ret + 0b81 02bf 0b71 call 0x0b71 + 0b83 2201 lrs $AX0.H, @0x0001 + 0b84 8600 tstaxh $AX0.H + 0b85 0294 0b96 jnz 0x0b96 + 0b87 2204 lrs $AX0.H, @0x0004 + 0b88 8600 tstaxh $AX0.H + 0b89 02b4 0be0 callnz 0x0be0 + 0b8b 8100 clr $ACC0 + 0b8c 2605 lrs $AC0.M, @0x0005 + 0b8d b100 tst $ACC0 + 0b8e 0295 0ba3 jz 0x0ba3 + 0b90 8100 clr $ACC0 + 0b91 2e05 srs @0x0005, $AC0.M + 0b92 2281 lrs $AX0.H, @0xff81 + 0b93 8600 tstaxh $AX0.H + 0b94 0294 0b9d jnz 0x0b9d + 0b96 8100 clr $ACC0 + 0b97 005f loop $AC1.M + 0b98 1b7e srri @$AR3, $AC0.M + 0b99 7400 incm $AC0.M + 0b9a 2e01 srs @0x0001, $AC0.M + 0b9b 029f 0bd9 jmp 0x0bd9 + 0b9d 2688 lrs $AC0.M, @0xff88 + 0b9e 2489 lrs $AC0.L, @0xff89 + 0b9f 2e34 srs @0x0034, $AC0.M + 0ba0 2c35 srs @0x0035, $AC0.L + 0ba1 02bf 0be0 call 0x0be0 + 0ba3 00ff 0360 sr @0x0360, $AC1.M + 0ba5 2638 lrs $AC0.M, @0x0038 + 0ba6 2439 lrs $AC0.L, @0x0039 + 0ba7 02bf 06d2 call 0x06d2 + 0ba9 02bf 06e9 call 0x06e9 + 0bab 00df 0360 lr $AC1.M, @0x0360 + 0bad 8100 clr $ACC0 + 0bae 263a lrs $AC0.M, @0x003a + 0baf b100 tst $ACC0 + 0bb0 0294 0bbf jnz 0x0bbf + 0bb2 263b lrs $AC0.M, @0x003b + 0bb3 5c00 sub $ACC0, $ACC1 + 0bb4 0290 0bbf jge 0x0bbf + 0bb6 223b lrs $AX0.H, @0x003b + 0bb7 02bf 06b4 call 0x06b4 + 0bb9 5500 subr $ACC1, $AX0.H + 0bba 0a01 lris $AX0.H, #0x01 + 0bbb 00fa 0405 sr @0x0405, $AX0.H + 0bbd 029f 0b90 jmp 0x0b90 + 0bbf 1f5f mrr $AX0.H, $AC1.M + 0bc0 02bf 06b4 call 0x06b4 + 0bc2 00fa 0362 sr @0x0362, $AX0.H + 0bc4 8100 clr $ACC0 + 0bc5 263a lrs $AC0.M, @0x003a + 0bc6 243b lrs $AC0.L, @0x003b + 0bc7 1570 lsr $ACC1, #-16 + 0bc8 0a01 lris $AX0.H, #0x01 + 0bc9 0081 0405 lri $AR1, #0x0405 + 0bcb 5c00 sub $ACC0, $ACC1 + 0bcc b100 tst $ACC0 + 0bcd 0275 ifz + 0bce 1a3a srr @$AR1, $AX0.H + 0bcf 2e3a srs @0x003a, $AC0.M + 0bd0 2c3b srs @0x003b, $AC0.L + 0bd1 2638 lrs $AC0.M, @0x0038 + 0bd2 2439 lrs $AC0.L, @0x0039 + 0bd3 00d8 0362 lr $AX0.L, @0x0362 + 0bd5 7000 addaxl $ACC0, $AX0.L + 0bd6 7000 addaxl $ACC0, $AX0.L + 0bd7 2c39 srs @0x0039, $AC0.L + 0bd8 2e38 srs @0x0038, $AC0.M + 0bd9 0092 00ff lri $CR, #0x00ff + 0bdb 029f 037e jmp 0x037e + 0bdd 8100 clr $ACC0 + 0bde 2e34 srs @0x0034, $AC0.M + 0bdf 2e35 srs @0x0035, $AC0.M + 0be0 2334 lrs $AX1.H, @0x0034 + 0be1 2135 lrs $AX1.L, @0x0035 + 0be2 268a lrs $AC0.M, @0xff8a + 0be3 248b lrs $AC0.L, @0xff8b + 0be4 5a00 subax $ACC0, $AX1.L + 0be5 2e3a srs @0x003a, $AC0.M + 0be6 2c3b srs @0x003b, $AC0.L + 0be7 2634 lrs $AC0.M, @0x0034 + 0be8 2435 lrs $AC0.L, @0x0035 + 0be9 1401 lsl $ACC0, #1 + 0bea 238c lrs $AX1.H, @0xff8c + 0beb 218d lrs $AX1.L, @0xff8d + 0bec 4a00 addax $ACC0, $AX1.L + 0bed 2e38 srs @0x0038, $AC0.M + 0bee 2c39 srs @0x0039, $AC0.L + 0bef 8100 clr $ACC0 + 0bf0 2e05 srs @0x0005, $AC0.M + 0bf1 02df ret + 0bf2 8900 clr $ACC1 + 0bf3 0f50 lris $AC1.M, #0x50 + 0bf4 0083 0520 lri $AR3, #0x0520 + 0bf6 02bf 0c0b call 0x0c0b + 0bf8 029f 0386 jmp 0x0386 + 0bfa 00d8 0402 lr $AX0.L, @0x0402 + 0bfc 8100 clr $ACC0 + 0bfd 8900 clr $ACC1 + 0bfe 00dc 0430 lr $AC0.L, @0x0430 + 0c00 0a50 lris $AX0.H, #0x50 + 0c01 9000 mul $AX0.L, $AX0.H + 0c02 9400 mulac $AX0.L, $AX0.H, $ACC0 + 0c03 1404 lsl $ACC0, #4 + 0c04 1ffe mrr $AC1.M, $AC0.M + 0c05 0083 0580 lri $AR3, #0x0580 + 0c07 02bf 0c0b call 0x0c0b + 0c09 029f 037e jmp 0x037e + 0c0b 0092 0004 lri $CR, #0x0004 + 0c0d 8100 clr $ACC0 + 0c0e 263a lrs $AC0.M, @0x003a + 0c0f 243b lrs $AC0.L, @0x003b + 0c10 1f1f mrr $AX0.L, $AC1.M + 0c11 0a00 lris $AX0.H, #0x00 + 0c12 5800 subax $ACC0, $AX0.L + 0c13 0292 0c29 jg 0x0c29 + 0c15 8900 clr $ACC1 + 0c16 00c0 043b lr $AR0, @0x043b + 0c18 02bf 0c4e call 0x0c4e + 0c1a 8100 clr $ACC0 + 0c1b 1fd8 mrr $AC0.M, $AX0.L + 0c1c 223b lrs $AX0.H, @0x003b + 0c1d 5400 subr $ACC0, $AX0.H + 0c1e 0007 dar $AR3 + 0c1f 1979 lrri $AX1.L, @$AR3 + 0c20 005e loop $AC0.M + 0c21 1b79 srri @$AR3, $AX1.L + 0c22 0f01 lris $AC1.M, #0x01 + 0c23 2f01 srs @0x0001, $AC1.M + 0c24 8900 clr $ACC1 + 0c25 2f3b srs @0x003b, $AC1.M + 0c26 0092 00ff lri $CR, #0x00ff + 0c28 02df ret + 0c29 2e3a srs @0x003a, $AC0.M + 0c2a 2c3b srs @0x003b, $AC0.L + 0c2b 8100 clr $ACC0 + 0c2c 8900 clr $ACC1 + 0c2d 268a lrs $AC0.M, @0xff8a + 0c2e 2734 lrs $AC1.M, @0x0034 + 0c2f 5c00 sub $ACC0, $ACC1 + 0c30 2e36 srs @0x0036, $AC0.M + 0c31 5000 subr $ACC0, $AX0.L + 0c32 0290 0c48 jge 0x0c48 + 0c34 00c0 0436 lr $AR0, @0x0436 + 0c36 02bf 0c4e call 0x0c4e + 0c38 8100 clr $ACC0 + 0c39 1fd8 mrr $AC0.M, $AX0.L + 0c3a 2236 lrs $AX0.H, @0x0036 + 0c3b 5400 subr $ACC0, $AX0.H + 0c3c 1c1e mrr $AR0, $AC0.M + 0c3d 8100 clr $ACC0 + 0c3e 2e34 srs @0x0034, $AC0.M + 0c3f 2688 lrs $AC0.M, @0xff88 + 0c40 2489 lrs $AC0.L, @0xff89 + 0c41 2e8c srs @0xff8c, $AC0.M + 0c42 2c8d srs @0xff8d, $AC0.L + 0c43 02bf 0c4e call 0x0c4e + 0c45 0092 00ff lri $CR, #0x00ff + 0c47 02df ret + 0c48 1c18 mrr $AR0, $AX0.L + 0c49 02bf 0c4e call 0x0c4e + 0c4b 0092 00ff lri $CR, #0x00ff + 0c4d 02df ret + 0c4e 8100 clr $ACC0 + 0c4f 1fc0 mrr $AC0.M, $AR0 + 0c50 b100 tst $ACC0 + 0c51 02d5 retz + 0c52 8900 clr $ACC1 + 0c53 2734 lrs $AC1.M, @0x0034 + 0c54 0340 0001 andi $AC1.M, #0x0001 + 0c56 0b00 lris $AX1.H, #0x00 + 0c57 1f3f mrr $AX1.L, $AC1.M + 0c58 268c lrs $AC0.M, @0xff8c + 0c59 248d lrs $AC0.L, @0xff8d + 0c5a 8900 clr $ACC1 + 0c5b 2534 lrs $AC1.L, @0x0034 + 0c5c 1501 lsl $ACC1, #1 + 0c5d 4c00 add $ACC0, $ACC1 + 0c5e 5a00 subax $ACC0, $AX1.L + 0c5f 5a00 subax $ACC0, $AX1.L + 0c60 1c20 mrr $AR1, $AR0 + 0c61 1fe0 mrr $AC1.M, $AR0 + 0c62 0502 addis $ACC1, #0x02 + 0c63 1c1f mrr $AR0, $AC1.M + 0c64 009f 0b00 lri $AC1.M, #0x0b00 + 0c66 0092 00ff lri $CR, #0x00ff + 0c68 02bf 0649 call 0x0649 + 0c6a 0092 0004 lri $CR, #0x0004 + 0c6c 2734 lrs $AC1.M, @0x0034 + 0c6d 1f61 mrr $AX1.H, $AR1 + 0c6e 4700 addr $ACC1, $AX1.H + 0c6f 2f34 srs @0x0034, $AC1.M + 0c70 0080 0b00 lri $AR0, #0x0b00 + 0c72 8900 clr $ACC1 + 0c73 1ff9 mrr $AC1.M, $AX1.L + 0c74 b900 tst $ACC1 + 0c75 0274 ifnz + 0c76 0008 iar $AR0 + 0c77 8900 clr $ACC1 + 0c78 1fe1 mrr $AC1.M, $AR1 + 0c79 191e lrri $AC0.M, @$AR0 + 0c7a 0701 cmpis $ACC1, #0x01 + 0c7b 0293 0c84 jle 0x0c84 + 0c7d 191a lrri $AX0.H, @$AR0 + 0c7e 05fe addis $ACC1, #0xfe + 0c7f 005f loop $AC1.M + 0c80 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c81 1b7e srri @$AR3, $AC0.M + 0c82 1b7a srri @$AR3, $AX0.H + 0c83 02df ret + 0c84 1b7e srri @$AR3, $AC0.M + 0c85 02df ret + 0c86 0083 03e8 lri $AR3, #0x03e8 + 0c88 191e lrri $AC0.M, @$AR0 + 0c89 191a lrri $AX0.H, @$AR0 + 0c8a 1006 loopi #0x06 + 0c8b 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c8c 1b7e srri @$AR3, $AC0.M + 0c8d 1b7a srri @$AR3, $AX0.H + 0c8e 0080 03e8 lri $AR0, #0x03e8 + 0c90 8a00 m2 + 0c91 0088 0007 lri $WR0, #0x0007 + 0c93 1150 0ca0 bloopi #0x50, 0x0ca0 + 0c95 1c61 mrr $AR3, $AR1 + 0c96 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0c97 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c98 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c99 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c9a f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c9b f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c9c f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c9d f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c9e f200 madd $AX0.L, $AX0.H + 0c9f fe00 movpz $ACC0 + 0ca0 1b3e srri @$AR1, $AC0.M + 0ca1 0088 ffff lri $WR0, #0xffff + 0ca3 8b00 m0 + 0ca4 02df ret + 0ca5 8a00 m2 + 0ca6 05fe addis $ACC1, #0xfe + 0ca7 0083 03e8 lri $AR3, #0x03e8 + 0ca9 191e lrri $AC0.M, @$AR0 + 0caa 191a lrri $AX0.H, @$AR0 + 0cab 005f loop $AC1.M + 0cac 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cad 1b7e srri @$AR3, $AC0.M + 0cae 1b7a srri @$AR3, $AX0.H + 0caf 0080 03e8 lri $AR0, #0x03e8 + 0cb1 0501 addis $ACC1, #0x01 + 0cb2 1d1f mrr $WR0, $AC1.M + 0cb3 1150 0cbb bloopi #0x50, 0x0cbb + 0cb5 1c61 mrr $AR3, $AR1 + 0cb6 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0cb7 005f loop $AC1.M + 0cb8 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0cb9 f200 madd $AX0.L, $AX0.H + 0cba fe00 movpz $ACC0 + 0cbb 1b3e srri @$AR1, $AC0.M + 0cbc 0088 ffff lri $WR0, #0xffff + 0cbe 8b00 m0 + 0cbf 02df ret + 0cc0 0083 03e8 lri $AR3, #0x03e8 + 0cc2 191e lrri $AC0.M, @$AR0 + 0cc3 191a lrri $AX0.H, @$AR0 + 0cc4 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cc5 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cc6 1b7e srri @$AR3, $AC0.M + 0cc7 1b7a srri @$AR3, $AX0.H + 0cc8 0080 03e8 lri $AR0, #0x03e8 + 0cca 0088 0003 lri $WR0, #0x0003 + 0ccc 0085 0000 lri $IX1, #0x0000 + 0cce 0087 0000 lri $IX3, #0x0000 + 0cd0 1fc2 mrr $AC0.M, $AR2 + 0cd1 195b lrri $AX1.H, @$AR2 + 0cd2 1959 lrri $AX1.L, @$AR2 + 0cd3 195f lrri $AC1.M, @$AR2 + 0cd4 195a lrri $AX0.H, @$AR2 + 0cd5 1c5e mrr $AR2, $AC0.M + 0cd6 1fda mrr $AC0.M, $AX0.H + 0cd7 1c61 mrr $AR3, $AR1 + 0cd8 8a00 m2 + 0cd9 8f00 set40 + 0cda 191a lrri $AX0.H, @$AR0 + 0cdb b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0cdc e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0cdd ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0cde e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0cdf b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0ce0 1127 0ceb bloopi #0x27, 0x0ceb + 0ce2 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0ce3 197e lrri $AC0.M, @$AR3 + 0ce4 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0ce5 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0ce6 bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 0ce7 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0ce8 197f lrri $AC1.M, @$AR3 + 0ce9 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0cea e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0ceb b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0cec e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0ced 197e lrri $AC0.M, @$AR3 + 0cee e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0cef eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0cf0 bf00 mulxmv $AX0.H, $AX1.H, $ACC1 + 0cf1 1bff srrn @$AR3, $AC1.M + 0cf2 197f lrri $AC1.M, @$AR3 + 0cf3 8e00 set16 + 0cf4 8b00 m0 + 0cf5 0088 ffff lri $WR0, #0xffff + 0cf7 1b5b srri @$AR2, $AX1.H + 0cf8 1b59 srri @$AR2, $AX1.L + 0cf9 1b5f srri @$AR2, $AC1.M + 0cfa 1b5e srri @$AR2, $AC0.M + 0cfb 02df ret + 0cfc 0083 03e8 lri $AR3, #0x03e8 + 0cfe 191e lrri $AC0.M, @$AR0 + 0cff 191a lrri $AX0.H, @$AR0 + 0d00 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0d01 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0d02 1b7e srri @$AR3, $AC0.M + 0d03 1b7a srri @$AR3, $AX0.H + 0d04 0080 03e8 lri $AR0, #0x03e8 + 0d06 0088 0003 lri $WR0, #0x0003 + 0d08 0085 0000 lri $IX1, #0x0000 + 0d0a 0087 0000 lri $IX3, #0x0000 + 0d0c 1fc2 mrr $AC0.M, $AR2 + 0d0d 195b lrri $AX1.H, @$AR2 + 0d0e 1959 lrri $AX1.L, @$AR2 + 0d0f 195f lrri $AC1.M, @$AR2 + 0d10 195a lrri $AX0.H, @$AR2 + 0d11 1c5e mrr $AR2, $AC0.M + 0d12 1fda mrr $AC0.M, $AX0.H + 0d13 1c61 mrr $AR3, $AR1 + 0d14 8a00 m2 + 0d15 8f00 set40 + 0d16 191a lrri $AX0.H, @$AR0 + 0d17 b800 mulx $AX0.H, $AX1.H + 0d18 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0d19 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0d1a ea00 maddc $AC1.M, $AX1.L + 0d1b ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0d1c e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0d1d ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0d1e b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0d1f 1127 0d30 bloopi #0x27, 0x0d30 + 0d21 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0d22 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0d23 197e lrri $AC0.M, @$AR3 + 0d24 e800 maddc $AC0.M, $AX1.L + 0d25 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0d26 ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0d27 eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0d28 bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0d29 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0d2a e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0d2b 197f lrri $AC1.M, @$AR3 + 0d2c ea00 maddc $AC1.M, $AX1.L + 0d2d ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0d2e e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0d2f ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0d30 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0d31 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0d32 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0d33 197e lrri $AC0.M, @$AR3 + 0d34 e800 maddc $AC0.M, $AX1.L + 0d35 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0d36 ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0d37 eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0d38 bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0d39 1bff srrn @$AR3, $AC1.M + 0d3a 197f lrri $AC1.M, @$AR3 + 0d3b 8e00 set16 + 0d3c 8b00 m0 + 0d3d 0088 ffff lri $WR0, #0xffff + 0d3f 1b5b srri @$AR2, $AX1.H + 0d40 1b59 srri @$AR2, $AX1.L + 0d41 1b5f srri @$AR2, $AC1.M + 0d42 1b5e srri @$AR2, $AC0.M + 0d43 02df ret + 0d44 0eff lris $AC0.M, #0xff + 0d45 00fe 03f2 sr @0x03f2, $AC0.M + 0d47 8100 clr $ACC0 + 0d48 00fe 03f0 sr @0x03f0, $AC0.M + 0d4a 00fe 03f6 sr @0x03f6, $AC0.M + 0d4c 009e 0100 lri $AC0.M, #0x0100 + 0d4e 00fe 03f7 sr @0x03f7, $AC0.M + 0d50 00da 03f7 lr $AX0.H, @0x03f7 + 0d52 009e 8000 lri $AC0.M, #0x8000 + 0d54 5400 subr $ACC0, $AX0.H + 0d55 00fe 03f5 sr @0x03f5, $AC0.M + 0d57 0e30 lris $AC0.M, #0x30 + 0d58 00fe 03f3 sr @0x03f3, $AC0.M + 0d5a 0e10 lris $AC0.M, #0x10 + 0d5b 00fe 03f4 sr @0x03f4, $AC0.M + 0d5d 009e 0096 lri $AC0.M, #0x0096 + 0d5f 00fe 03f1 sr @0x03f1, $AC0.M + 0d61 02df ret + 0d62 0080 0a00 lri $AR0, #0x0a00 + 0d64 8100 clr $ACC0 + 0d65 00de 03f0 lr $AC0.M, @0x03f0 + 0d67 8900 clr $ACC1 + 0d68 b100 tst $ACC0 + 0d69 0275 ifz + 0d6a 0550 addis $ACC1, #0x50 + 0d6b 00ff 03f0 sr @0x03f0, $AC1.M + 0d6d 0200 0a60 addi $AC0.M, #0x0a60 + 0d6f 1c7e mrr $AR3, $AC0.M + 0d70 0f4e lris $AC1.M, #0x4e + 0d71 02bf 012b call 0x012b + 0d73 02df ret + 0d74 00de 03f1 lr $AC0.M, @0x03f1 + 0d76 0200 0a60 addi $AC0.M, #0x0a60 + 0d78 1c7e mrr $AR3, $AC0.M + 0d79 8100 clr $ACC0 + 0d7a 8900 clr $ACC1 + 0d7b 009f 00a0 lri $AC1.M, #0x00a0 + 0d7d 00de 03f1 lr $AC0.M, @0x03f1 + 0d7f 5d00 sub $ACC1, $ACC0 + 0d80 0e50 lris $AC0.M, #0x50 + 0d81 0750 cmpis $ACC1, #0x50 + 0d82 0270 ifge + 0d83 5d00 sub $ACC1, $ACC0 + 0d84 00da 03f2 lr $AX0.H, @0x03f2 + 0d86 8600 tstaxh $AX0.H + 0d87 0290 0da5 jge 0x0da5 + 0d89 00de 03f3 lr $AC0.M, @0x03f3 + 0d8b 5c00 sub $ACC0, $ACC1 + 0d8c 0293 0d90 jle 0x0d90 + 0d8e 029f 0daa jmp 0x0daa + 0d90 00db 03f7 lr $AX1.H, @0x03f7 + 0d92 009e 8000 lri $AC0.M, #0x8000 + 0d94 4600 addr $ACC0, $AX1.H + 0d95 029f 0d9c jmp 0x0d9c + 0d97 00db 03f7 lr $AX1.H, @0x03f7 + 0d99 009e 8000 lri $AC0.M, #0x8000 + 0d9b 5600 subr $ACC0, $AX1.H + 0d9c 00fe 03f5 sr @0x03f5, $AC0.M + 0d9e 1fda mrr $AC0.M, $AX0.H + 0d9f 7c00 neg $ACC0 + 0da0 1f5e mrr $AX0.H, $AC0.M + 0da1 00fe 03f2 sr @0x03f2, $AC0.M + 0da3 029f 0daa jmp 0x0daa + 0da5 00de 03f4 lr $AC0.M, @0x03f4 + 0da7 5d00 sub $ACC1, $ACC0 + 0da8 0293 0d97 jle 0x0d97 + 0daa 8900 clr $ACC1 + 0dab 00dd 03f5 lr $AC1.L, @0x03f5 + 0dad 1501 lsl $ACC1, #1 + 0dae 8100 clr $ACC0 + 0daf 00dc 03f6 lr $AC0.L, @0x03f6 + 0db1 008b 009f lri $WR3, #0x009f + 0db3 0080 0a00 lri $AR0, #0x0a00 + 0db5 0900 lris $AX1.L, #0x00 + 0db6 1150 0dbd bloopi #0x50, 0x0dbd + 0db8 1878 lrr $AX0.L, @$AR3 + 0db9 4c00 add $ACC0, $ACC1 + 0dba 1cfe mrr $IX3, $AC0.M + 0dbb 001f addarn $AR3, $IX3 + 0dbc 1fd9 mrr $AC0.M, $AX1.L + 0dbd 1b18 srri @$AR0, $AX0.L + 0dbe 009f 0a60 lri $AC1.M, #0x0a60 + 0dc0 1fc3 mrr $AC0.M, $AR3 + 0dc1 5c00 sub $ACC0, $ACC1 + 0dc2 00fe 03f1 sr @0x03f1, $AC0.M + 0dc4 00fc 03f6 sr @0x03f6, $AC0.L + 0dc6 008b ffff lri $WR3, #0xffff + 0dc8 02df ret + 0dc9 0f50 lris $AC1.M, #0x50 + 0dca 0080 0a00 lri $AR0, #0x0a00 + 0dcc 0083 0d60 lri $AR3, #0x0d60 + 0dce 0098 3fff lri $AX0.L, #0x3fff + 0dd0 02bf 0145 call 0x0145 + 0dd2 0f50 lris $AC1.M, #0x50 + 0dd3 0080 0a00 lri $AR0, #0x0a00 + 0dd5 0083 0d00 lri $AR3, #0x0d00 + 0dd7 0098 3fff lri $AX0.L, #0x3fff + 0dd9 02bf 0145 call 0x0145 + 0ddb 02df ret + 0ddc 8a00 m2 + 0ddd 8f00 set40 + 0dde 8100 clr $ACC0 + 0ddf 00de 0404 lr $AC0.M, @0x0404 + 0de1 b100 tst $ACC0 + 0de2 0295 0de9 jz 0x0de9 + 0de4 8100 clr $ACC0 + 0de5 00fe 0478 sr @0x0478, $AC0.M + 0de7 00fe 0479 sr @0x0479, $AC0.M + 0de9 00df 0479 lr $AC1.M, @0x0479 + 0deb 00db 0478 lr $AX1.H, @0x0478 + 0ded 0900 lris $AX1.L, #0x00 + 0dee 0084 0000 lri $IX0, #0x0000 + 0df0 1150 0df9 bloopi #0x50, 0x0df9 + 0df2 199e lrrn $AC0.M, @$AR0 + 0df3 5c7c sub'ln $ACC0, $ACC1 : $AC1.M, @$AR0 + 0df4 c000 mulc $AC0.M, $AX0.H + 0df5 6e00 movp $ACC0 + 0df6 1488 asl $ACC0, #8 + 0df7 4a00 addax $ACC0, $AX1.L + 0df8 1b1e srri @$AR0, $AC0.M + 0df9 1f7e mrr $AX1.H, $AC0.M + 0dfa 00fb 0478 sr @0x0478, $AX1.H + 0dfc 00ff 0479 sr @0x0479, $AC1.M + 0dfe 8b00 m0 + 0dff 8e00 set16 + 0e00 02df ret + 0e01 b900 tst $ACC1 + 0e02 0294 0e07 jnz 0x0e07 + 0e04 6800 movax $ACC0, $AX0.L + 0e05 b100 tst $ACC0 + 0e06 02d5 retz + 0e07 1c23 mrr $AR1, $AR3 + 0e08 197e lrri $AC0.M, @$AR3 + 0e09 191b lrri $AX1.H, @$AR0 + 0e0a d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 + 0e0b 1120 0e11 bloopi #0x20, 0x0e11 + 0e0d dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0e0e 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0e0f dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0e10 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0e11 4900 addax $ACC1, $AX0.L + 0e12 1108 0e17 bloopi #0x08, 0x0e17 + 0e14 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0e15 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0e16 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0e17 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0e18 02df ret + 0e19 8f00 set40 + 0e1a 8d00 set15 + 0e1b 1c03 mrr $AR0, $AR3 + 0e1c 00d9 038e lr $AX1.L, @0x038e + 0e1e 0b04 lris $AX1.H, #0x04 + 0e1f 197a lrri $AX0.H, @$AR3 + 0e20 b053 mulx'l $AX0.H, $AX1.L : $AX0.H, @$AR3 + 0e21 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0e22 1128 0e27 bloopi #0x28, 0x0e27 + 0e24 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0e25 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0e26 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0e27 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0e28 8c00 clr15 + 0e29 8e00 set16 + 0e2a 02df ret + 0e2b 00da 0485 lr $AX0.H, @0x0485 + 0e2d 8600 tstaxh $AX0.H + 0e2e 0295 0e3c jz 0x0e3c + 0e30 8100 clr $ACC0 + 0e31 00de 042a lr $AC0.M, @0x042a + 0e33 147f lsr $ACC0, #-1 + 0e34 00fe 042b sr @0x042b, $AC0.M + 0e36 b100 tst $ACC0 + 0e37 0294 0e3c jnz 0x0e3c + 0e39 0a01 lris $AX0.H, #0x01 + 0e3a 00fa 0401 sr @0x0401, $AX0.H + 0e3c 8f00 set40 + 0e3d 8100 clr $ACC0 + 0e3e 00de 0428 lr $AC0.M, @0x0428 + 0e40 1478 lsr $ACC0, #-8 + 0e41 00df 0428 lr $AC1.M, @0x0428 + 0e43 0340 007f andi $AC1.M, #0x007f + 0e45 1f1e mrr $AX0.L, $AC0.M + 0e46 1f5f mrr $AX0.H, $AC1.M + 0e47 0220 007f xori $ACC0, #0x007f + 0e49 1f3e mrr $AX1.L, $AC0.M + 0e4a 0320 007f xori $ACC1, #0x007f + 0e4c 1f7f mrr $AX1.H, $AC1.M + 0e4d 8100 clr $ACC0 + 0e4e 8900 clr $ACC1 + 0e4f 009f 0200 lri $AC1.M, #0x0200 + 0e51 1fd8 mrr $AC0.M, $AX0.L + 0e52 4c00 add $ACC0, $ACC1 + 0e53 1c1e mrr $AR0, $AC0.M + 0e54 1818 lrr $AX0.L, @$AR0 + 0e55 1fda mrr $AC0.M, $AX0.H + 0e56 4c00 add $ACC0, $ACC1 + 0e57 1c1e mrr $AR0, $AC0.M + 0e58 181a lrr $AX0.H, @$AR0 + 0e59 1fd9 mrr $AC0.M, $AX1.L + 0e5a 4c00 add $ACC0, $ACC1 + 0e5b 1c1e mrr $AR0, $AC0.M + 0e5c 1819 lrr $AX1.L, @$AR0 + 0e5d 1fdb mrr $AC0.M, $AX1.H + 0e5e 4c00 add $ACC0, $ACC1 + 0e5f 1c1e mrr $AR0, $AC0.M + 0e60 181b lrr $AX1.H, @$AR0 + 0e61 8a00 m2 + 0e62 0080 0b00 lri $AR0, #0x0b00 + 0e64 9800 mul $AX1.L, $AX1.H + 0e65 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0e66 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0e67 9630 mulmv's $AX0.L, $AX0.H, $ACC0 : @$AR0, $AC0.M + 0e68 6e30 movp's $ACC0 : @$AR0, $AC0.M + 0e69 1b1e srri @$AR0, $AC0.M + 0e6a 8b00 m0 + 0e6b 0080 0b00 lri $AR0, #0x0b00 + 0e6d 0081 0b04 lri $AR1, #0x0b04 + 0e6f 00da 042a lr $AX0.H, @0x042a + 0e71 02bf 0ebc call 0x0ebc + 0e73 0081 0b08 lri $AR1, #0x0b08 + 0e75 0080 0b00 lri $AR0, #0x0b00 + 0e77 00da 042a lr $AX0.H, @0x042a + 0e79 00de 0429 lr $AC0.M, @0x0429 + 0e7b 8a00 m2 + 0e7c c000 mulc $AC0.M, $AX0.H + 0e7d 8b00 m0 + 0e7e 6e00 movp $ACC0 + 0e7f 1f5e mrr $AX0.H, $AC0.M + 0e80 02bf 0ebc call 0x0ebc + 0e82 0080 0b00 lri $AR0, #0x0b00 + 0e84 0081 0b0c lri $AR1, #0x0b0c + 0e86 8100 clr $ACC0 + 0e87 8900 clr $ACC1 + 0e88 00de 042b lr $AC0.M, @0x042b + 0e8a 00df 042a lr $AC1.M, @0x042a + 0e8c 00fe 042a sr @0x042a, $AC0.M + 0e8e 5c00 sub $ACC0, $ACC1 + 0e8f 1f5e mrr $AX0.H, $AC0.M + 0e90 02bf 0ec7 call 0x0ec7 + 0e92 0080 0b0c lri $AR0, #0x0b0c + 0e94 0081 0b10 lri $AR1, #0x0b10 + 0e96 00da 0429 lr $AX0.H, @0x0429 + 0e98 02bf 0ebc call 0x0ebc + 0e9a 0081 0b04 lri $AR1, #0x0b04 + 0e9c 0082 0b0c lri $AR2, #0x0b0c + 0e9e 0083 0ed5 lri $AR3, #0x0ed5 + 0ea0 1108 0eb9 bloopi #0x08, 0x0eb9 + 0ea2 195f lrri $AC1.M, @$AR2 + 0ea3 15fb asr $ACC1, #-5 + 0ea4 1f1d mrr $AX0.L, $AC1.L + 0ea5 1f5f mrr $AX0.H, $AC1.M + 0ea6 193f lrri $AC1.M, @$AR1 + 0ea7 00e1 0b24 sr @0x0b24, $AR1 + 0ea9 00e2 0b25 sr @0x0b25, $AR2 + 0eab 021b ilrri $AC0.M, @$AR3 + 0eac 00e3 0b26 sr @0x0b26, $AR3 + 0eae 1c7e mrr $AR3, $AC0.M + 0eaf 00c0 038f lr $AR0, @0x038f + 0eb1 02bf 0e01 call 0x0e01 + 0eb3 00c1 0b24 lr $AR1, @0x0b24 + 0eb5 00c2 0b25 lr $AR2, @0x0b25 + 0eb7 00c3 0b26 lr $AR3, @0x0b26 + 0eb9 0000 nop + 0eba 8e00 set16 + 0ebb 02df ret + 0ebc 8a00 m2 + 0ebd 191f lrri $AC1.M, @$AR0 + 0ebe d078 mulc'l $AC1.M, $AX0.H : $AC1.M, @$AR0 + 0ebf d678 mulcmv'l $AC1.M, $AX0.H, $ACC0 : $AC1.M, @$AR0 + 0ec0 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0ec1 191f lrri $AC1.M, @$AR0 + 0ec2 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0ec3 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0ec4 1b3e srri @$AR1, $AC0.M + 0ec5 8b00 m0 + 0ec6 02df ret + 0ec7 8a00 m2 + 0ec8 8d00 set15 + 0ec9 1f7e mrr $AX1.H, $AC0.M + 0eca 1918 lrri $AX0.L, @$AR0 + 0ecb a840 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR0 + 0ecc ae40 mulxmv'l $AX0.L, $AX1.H, $ACC0 : $AX0.L, @$AR0 + 0ecd ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0ece 1918 lrri $AX0.L, @$AR0 + 0ecf ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0ed0 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0ed1 1b3e srri @$AR1, $AC0.M + 0ed2 8c00 clr15 + 0ed3 8b00 m0 + 0ed4 02df ret + 0ed5 0d00 lris $AC1.L, #0x00 + 0ed6 0d60 lris $AC1.L, #0x60 + 0ed7 0f40 lris $AC1.M, #0x40 + 0ed8 0ca0 lris $AC0.L, #0xa0 + 0ed9 0e80 lris $AC0.M, #0x80 + 0eda 0ee0 lris $AC0.M, #0xe0 + 0edb 0be0 lris $AX1.H, #0xe0 + 0edc 0c40 lris $AC0.L, #0x40 + 0edd 00f9 0361 sr @0x0361, $AX1.L + 0edf 1fc0 mrr $AC0.M, $AR0 + 0ee0 0200 fffc addi $AC0.M, #0xfffc + 0ee2 1c1e mrr $AR0, $AC0.M + 0ee3 1c5e mrr $AR2, $AC0.M + 0ee4 0083 043c lri $AR3, #0x043c + 0ee6 197e lrri $AC0.M, @$AR3 + 0ee7 197f lrri $AC1.M, @$AR3 + 0ee8 80a2 nx'sl : $AC0.M, $AX0.H + 0ee9 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H + 0eea 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M + 0eeb 1b1f srri @$AR0, $AC1.M + 0eec 1c02 mrr $AR0, $AR2 + 0eed 8100 clr $ACC0 + 0eee 00de 0402 lr $AC0.M, @0x0402 + 0ef0 00fe 0362 sr @0x0362, $AC0.M + 0ef2 1474 lsr $ACC0, #-12 + 0ef3 1f7e mrr $AX1.H, $AC0.M + 0ef4 1f3c mrr $AX1.L, $AC0.L + 0ef5 8900 clr $ACC1 + 0ef6 00dd 0430 lr $AC1.L, @0x0430 + 0ef8 1504 lsl $ACC1, #4 + 0ef9 0604 cmpis $ACC0, #0x04 + 0efa 0290 0f51 jge 0x0f51 + 0efc 1fdd mrr $AC0.M, $AC1.L + 0efd 0082 02b0 lri $AR2, #0x02b0 + 0eff 1050 loopi #0x50 + 0f00 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L + 0f01 1fbe mrr $AC1.L, $AC0.M + 0f02 00fe 0360 sr @0x0360, $AC0.M + 0f04 8900 clr $ACC1 + 0f05 1fbe mrr $AC1.L, $AC0.M + 0f06 0af8 lris $AX0.H, #0xf8 + 0f07 009b 00fc lri $AX1.H, #0x00fc + 0f09 00d8 0361 lr $AX0.L, @0x0361 + 0f0b 0082 02b0 lri $AR2, #0x02b0 + 0f0d 0083 02b0 lri $AR3, #0x02b0 + 0f0f 195e lrri $AC0.M, @$AR2 + 0f10 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M + 0f11 1128 0f16 bloopi #0x28, 0x0f16 + 0f13 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 + 0f14 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H + 0f15 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 + 0f16 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H + 0f17 8a00 m2 + 0f18 0082 02b0 lri $AR2, #0x02b0 + 0f1a 00dd 0430 lr $AC1.L, @0x0430 + 0f1c 1504 lsl $ACC1, #4 + 0f1d 1fe0 mrr $AC1.M, $AR0 + 0f1e 8100 clr $ACC0 + 0f1f 00de 0362 lr $AC0.M, @0x0362 + 0f21 1474 lsr $ACC0, #-12 + 0f22 1f7e mrr $AX1.H, $AC0.M + 0f23 1f3c mrr $AX1.L, $AC0.L + 0f24 8f00 set40 + 0f25 1943 lrri $AR3, @$AR2 + 0f26 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0f27 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f28 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f29 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f2a f200 madd $AX0.L, $AX0.H + 0f2b fe00 movpz $ACC0 + 0f2c 1c1f mrr $AR0, $AC1.M + 0f2d 1943 lrri $AR3, @$AR2 + 0f2e 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0f2f 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f30 114e 0f38 bloopi #0x4e, 0x0f38 + 0f32 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f33 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f34 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0f35 1c1f mrr $AR0, $AC1.M + 0f36 1943 lrri $AR3, @$AR2 + 0f37 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0f38 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 + 0f39 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f3a f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f3b f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0f3c fe00 movpz $ACC0 + 0f3d 1b3e srri @$AR1, $AC0.M + 0f3e 8b00 m0 + 0f3f 8e00 set16 + 0f40 00fe 0433 sr @0x0433, $AC0.M + 0f42 1c1f mrr $AR0, $AC1.M + 0f43 150c lsl $ACC1, #12 + 0f44 0340 0fff andi $AC1.M, #0x0fff + 0f46 00ff 0430 sr @0x0430, $AC1.M + 0f48 0083 043c lri $AR3, #0x043c + 0f4a 191e lrri $AC0.M, @$AR0 + 0f4b 191f lrri $AC1.M, @$AR0 + 0f4c 80a0 nx'ls : $AX0.H, $AC0.M + 0f4d 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 0f4e 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0f4f 1b7f srri @$AR3, $AC1.M + 0f50 02df ret + 0f51 1fe0 mrr $AC1.M, $AR0 + 0f52 1c1f mrr $AR0, $AC1.M + 0f53 1128 0f5a bloopi #0x28, 0x0f5a + 0f55 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0f56 1b3e srri @$AR1, $AC0.M + 0f57 1c1f mrr $AR0, $AC1.M + 0f58 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0f59 1b3e srri @$AR1, $AC0.M + 0f5a 1c1f mrr $AR0, $AC1.M + 0f5b 029f 0f40 jmp 0x0f40 + 0f5d 0083 0520 lri $AR3, #0x0520 + 0f5f 00de 0433 lr $AC0.M, @0x0433 + 0f61 1050 loopi #0x50 + 0f62 1b7e srri @$AR3, $AC0.M + 0f63 029f 0386 jmp 0x0386 + 0f65 1c20 mrr $AR1, $AR0 + 0f66 185f lrr $AC1.M, @$AR2 + 0f67 1f7f mrr $AX1.H, $AC1.M + 0f68 193a lrri $AX0.H, @$AR1 + 0f69 6400 movr $ACC0, $AX0.H + 0f6a 0078 0f6f bloop $AX0.L, 0x0f6f + 0f6c 5659 subr'l $ACC0, $AX1.H : $AX1.H, @$AR1 + 0f6d 6730 movr's $ACC1, $AX1.H : @$AR0, $AC0.M + 0f6e 5551 subr'l $ACC1, $AX0.H : $AX0.H, @$AR1 + 0f6f 6438 movr's $ACC0, $AX0.H : @$AR0, $AC1.M + 0f70 1a5b srr @$AR2, $AX1.H + 0f71 02df ret + 0f72 0098 8240 lri $AX0.L, #0x8240 + 0f74 00f8 04e8 sr @0x04e8, $AX0.L + 0f76 0098 7fff lri $AX0.L, #0x7fff + 0f78 00f8 04e9 sr @0x04e9, $AX0.L + 0f7a 0098 7dbf lri $AX0.L, #0x7dbf + 0f7c 00f8 04ea sr @0x04ea, $AX0.L + 0f7e 0098 843f lri $AX0.L, #0x843f + 0f80 00f8 04eb sr @0x04eb, $AX0.L + 0f82 0098 b23b lri $AX0.L, #0xb23b + 0f84 00f8 04f0 sr @0x04f0, $AX0.L + 0f86 0098 7fff lri $AX0.L, #0x7fff + 0f88 00f8 04f1 sr @0x04f1, $AX0.L + 0f8a 0098 4dc4 lri $AX0.L, #0x4dc4 + 0f8c 00f8 04f2 sr @0x04f2, $AX0.L + 0f8e 0098 d808 lri $AX0.L, #0xd808 + 0f90 00f8 04f3 sr @0x04f3, $AX0.L + 0f92 0098 0000 lri $AX0.L, #0x0000 + 0f94 0080 04ec lri $AR0, #0x04ec + 0f96 1004 loopi #0x04 + 0f97 1b18 srri @$AR0, $AX0.L + 0f98 0080 04f4 lri $AR0, #0x04f4 + 0f9a 1004 loopi #0x04 + 0f9b 1b18 srri @$AR0, $AX0.L + 0f9c 02df ret + 0f9d 0080 0f40 lri $AR0, #0x0f40 + 0f9f 0083 0b00 lri $AR3, #0x0b00 + 0fa1 8900 clr $ACC1 + 0fa2 0f50 lris $AC1.M, #0x50 + 0fa3 0098 6784 lri $AX0.L, #0x6784 + 0fa5 02bf 0154 call 0x0154 + 0fa7 0080 04e8 lri $AR0, #0x04e8 + 0fa9 0082 04ec lri $AR2, #0x04ec + 0fab 0081 0b00 lri $AR1, #0x0b00 + 0fad 8900 clr $ACC1 + 0fae 0f50 lris $AC1.M, #0x50 + 0faf 0080 0b00 lri $AR0, #0x0b00 + 0fb1 0083 0d00 lri $AR3, #0x0d00 + 0fb3 0098 7fff lri $AX0.L, #0x7fff + 0fb5 02bf 0145 call 0x0145 + 0fb7 8900 clr $ACC1 + 0fb8 0f50 lris $AC1.M, #0x50 + 0fb9 0080 0b00 lri $AR0, #0x0b00 + 0fbb 0083 0d60 lri $AR3, #0x0d60 + 0fbd 0098 b820 lri $AX0.L, #0xb820 + 0fbf 02bf 0145 call 0x0145 + 0fc1 0080 0ca0 lri $AR0, #0x0ca0 + 0fc3 0083 0b00 lri $AR3, #0x0b00 + 0fc5 8900 clr $ACC1 + 0fc6 0f50 lris $AC1.M, #0x50 + 0fc7 0098 6784 lri $AX0.L, #0x6784 + 0fc9 02bf 0154 call 0x0154 + 0fcb 0080 04e8 lri $AR0, #0x04e8 + 0fcd 0082 04f4 lri $AR2, #0x04f4 + 0fcf 0081 0b00 lri $AR1, #0x0b00 + 0fd1 8900 clr $ACC1 + 0fd2 0f50 lris $AC1.M, #0x50 + 0fd3 0080 0b00 lri $AR0, #0x0b00 + 0fd5 0083 0d00 lri $AR3, #0x0d00 + 0fd7 0098 47e0 lri $AX0.L, #0x47e0 + 0fd9 02bf 0145 call 0x0145 + 0fdb 8900 clr $ACC1 + 0fdc 0f50 lris $AC1.M, #0x50 + 0fdd 0080 0b00 lri $AR0, #0x0b00 + 0fdf 0083 0d60 lri $AR3, #0x0d60 + 0fe1 0098 8001 lri $AX0.L, #0x8001 + 0fe3 02bf 0145 call 0x0145 + 0fe5 02df ret + 0fe6 0000 nop + 0fe7 0000 nop + 0fe8 0000 nop + 0fe9 0000 nop + 0fea 0000 nop + 0feb 0000 nop + 0fec 0000 nop + 0fed 0000 nop + 0fee 0000 nop + 0fef 0000 nop diff --git a/docs/DSP/DSP_UC_PikminWii.txt b/docs/DSP/DSP_UC_PikminWii.txt new file mode 100644 index 0000000000..19373ea920 --- /dev/null +++ b/docs/DSP/DSP_UC_PikminWii.txt @@ -0,0 +1,2825 @@ +// What seems to be the latest Zelda/SMG UCode (2009). Seems to work differently than the rest. Also longer and has more ext ops. + + 0000 029f 0012 jmp 0x0012 + 0002 0000 nop + 0003 0000 nop + 0004 02ff rti + 0005 0000 nop + 0006 02ff rti + 0007 0000 nop + 0008 02ff rti + 0009 0000 nop + 000a 02ff rti + 000b 0000 nop + 000c 02ff rti + 000d 0000 nop + 000e 029f 06e0 jmp 0x06e0 + 0010 029f 004c jmp 0x004c + 0012 1205 sbclr #0x05 + 0013 02bf 0055 call 0x0055 + 0015 8100 clr $ACC0 + 0016 009f 1000 lri $AC1.M, #0x1000 + 0018 0080 0000 lri $AR0, #0x0000 + 001a 005f loop $AC1.M + 001b 1b1e srri @$AR0, $AC0.M + 001c 02bf 07b0 call 0x07b0 + 001e 02bf 0f24 call 0x0f24 + 0020 0e00 lris $AC0.M, #0x00 + 0021 02bf 0792 call 0x0792 + 0023 009e 1111 lri $AC0.M, #0x1111 + 0025 02bf 079c call 0x079c + 0027 0e00 lris $AC0.M, #0x00 + 0028 00fe 034e sr @0x034e, $AC0.M + 002a 1305 sbset #0x05 + 002b 029f 07ed jmp 0x07ed + 002d 00df 0357 lr $AC1.M, @0x0357 + 002f 00ff 0345 sr @0x0345, $AC1.M + 0031 00de 0356 lr $AC0.M, @0x0356 + 0033 1ffe mrr $AC1.M, $AC0.M + 0034 0340 00ff andi $AC1.M, #0x00ff + 0036 00ff 0344 sr @0x0344, $AC1.M + 0038 1479 lsr $ACC0, #-7 + 0039 0240 007e andi $AC0.M, #0x007e + 003b 00fe 0343 sr @0x0343, $AC0.M + 003d 0200 0073 addi $AC0.M, #0x0073 + 003f 1c1e mrr $AR0, $AC0.M + 0040 170f jmpr $AR0 + 0041 0092 00ff lri $CR, #0x00ff + 0043 0e04 lris $AC0.M, #0x04 + 0044 02bf 0792 call 0x0792 + 0046 00de 0356 lr $AC0.M, @0x0356 + 0048 02bf 079c call 0x079c + 004a 029f 002b jmp 0x002b + 004c 1205 sbclr #0x05 + 004d 02bf 0055 call 0x0055 + 004f 0e01 lris $AC0.M, #0x01 + 0050 02bf 0792 call 0x0792 + 0052 1305 sbset #0x05 + 0053 029f 002b jmp 0x002b + 0055 1202 sbclr #0x02 + 0056 1203 sbclr #0x03 + 0057 1204 sbclr #0x04 + 0058 1306 sbset #0x06 + 0059 8e00 set16 + 005a 8c00 clr15 + 005b 8b00 m0 + 005c 009e ffff lri $AC0.M, #0xffff + 005e 1d1e mrr $WR0, $AC0.M + 005f 1d3e mrr $WR1, $AC0.M + 0060 1d5e mrr $WR2, $AC0.M + 0061 1d7e mrr $WR3, $AC0.M + 0062 0092 00ff lri $CR, #0x00ff + 0064 02df ret + 0065 0081 0358 lri $AR1, #0x0358 + 0067 0090 0000 lri $AC0.H, #0x0000 + 0069 0c00 lris $AC0.L, #0x00 + 006a 007e 006f bloop $AC0.M, 0x006f + 006c 193e lrri $AC0.M, @$AR1 + 006d 1b1e srri @$AR0, $AC0.M + 006e 193e lrri $AC0.M, @$AR1 + 006f 1b1e srri @$AR0, $AC0.M + 0070 02df ret + 0071 029f 0041 jmp 0x0041 + 0073 029f 0041 jmp 0x0041 + 0075 029f 0093 jmp 0x0093 + 0077 029f 029d jmp 0x029d + 0079 029f 0071 jmp 0x0071 + 007b 029f 0629 jmp 0x0629 + 007d 029f 063b jmp 0x063b + 007f 029f 0041 jmp 0x0041 + 0081 029f 0572 jmp 0x0572 + 0083 029f 05be jmp 0x05be + 0085 029f 05a2 jmp 0x05a2 + 0087 029f 0041 jmp 0x0041 + 0089 029f 0041 jmp 0x0041 + 008b 029f 0041 jmp 0x0041 + 008d 029f 00bd jmp 0x00bd + 008f 029f 00b0 jmp 0x00b0 + 0091 029f 0041 jmp 0x0041 + 0093 0080 0380 lri $AR0, #0x0380 + 0095 0e04 lris $AC0.M, #0x04 + 0096 02bf 0065 call 0x0065 + 0098 0081 0382 lri $AR1, #0x0382 + 009a 009f 0000 lri $AC1.M, #0x0000 + 009c 0080 0280 lri $AR0, #0x0280 + 009e 02bf 05f9 call 0x05f9 + 00a0 0081 0384 lri $AR1, #0x0384 + 00a2 009f 0300 lri $AC1.M, #0x0300 + 00a4 0080 0020 lri $AR0, #0x0020 + 00a6 02bf 05f9 call 0x05f9 + 00a8 00de 0345 lr $AC0.M, @0x0345 + 00aa 00fe 0342 sr @0x0342, $AC0.M + 00ac 02bf 0cf6 call 0x0cf6 + 00ae 029f 0041 jmp 0x0041 + 00b0 0080 037d lri $AR0, #0x037d + 00b2 0e01 lris $AC0.M, #0x01 + 00b3 02bf 0065 call 0x0065 + 00b5 00de 037d lr $AC0.M, @0x037d + 00b7 0240 7fff andi $AC0.M, #0x7fff + 00b9 00fe 037d sr @0x037d, $AC0.M + 00bb 029f 0041 jmp 0x0041 + 00bd 0080 0374 lri $AR0, #0x0374 + 00bf 0e01 lris $AC0.M, #0x01 + 00c0 00fe 0377 sr @0x0377, $AC0.M + 00c2 00fe 037c sr @0x037c, $AC0.M + 00c4 02bf 0065 call 0x0065 + 00c6 00de 0345 lr $AC0.M, @0x0345 + 00c8 00fe 0376 sr @0x0376, $AC0.M + 00ca 029f 0041 jmp 0x0041 + 00cc 0081 034c lri $AR1, #0x034c + 00ce 009f 0400 lri $AC1.M, #0x0400 + 00d0 0080 00c0 lri $AR0, #0x00c0 + 00d2 02bf 05f9 call 0x05f9 + 00d4 02df ret + 00d5 0081 034c lri $AR1, #0x034c + 00d7 009f 0400 lri $AC1.M, #0x0400 + 00d9 0080 0080 lri $AR0, #0x0080 + 00db 0081 034c lri $AR1, #0x034c + 00dd 193e lrri $AC0.M, @$AR1 + 00de 193c lrri $AC0.L, @$AR1 + 00df 0098 0000 lri $AX0.L, #0x0000 + 00e1 7000 addaxl $ACC0, $AX0.L + 00e2 02bf 0608 call 0x0608 + 00e4 02df ret + 00e5 191e lrri $AC0.M, @$AR0 + 00e6 191a lrri $AX0.H, @$AR0 + 00e7 005f loop $AC1.M + 00e8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 00e9 1b7e srri @$AR3, $AC0.M + 00ea 1b7a srri @$AR3, $AX0.H + 00eb 02df ret + 00ec 0000 nop + 00ed 007f 00f2 bloop $AC1.M, 0x00f2 + 00ef 191e lrri $AC0.M, @$AR0 + 00f0 1b7e srri @$AR3, $AC0.M + 00f1 191e lrri $AC0.M, @$AR0 + 00f2 1b7e srri @$AR3, $AC0.M + 00f3 0000 nop + 00f4 02df ret + 00f5 191e lrri $AC0.M, @$AR0 + 00f6 191a lrri $AX0.H, @$AR0 + 00f7 007f 00fc bloop $AC1.M, 0x00fc + 00f9 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H + 00fa 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 00fb 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H + 00fc 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 00fd 0000 nop + 00fe 02df ret + 00ff 8a00 m2 + 0100 157f lsr $ACC1, #-1 + 0101 1c20 mrr $AR1, $AR0 + 0102 1c03 mrr $AR0, $AR3 + 0103 193a lrri $AX0.H, @$AR1 + 0104 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 + 0105 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 + 0106 007f 010b bloop $AC1.M, 0x010b + 0108 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 0109 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 010a 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 010b 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 010c 8b00 m0 + 010d 02df ret + 010e 8a00 m2 + 010f 191a lrri $AX0.H, @$AR0 + 0110 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0 + 0111 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0112 005f loop $AC1.M + 0113 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M + 0114 8b00 m0 + 0115 02df ret + 0116 8100 clr $ACC0 + 0117 8900 clr $ACC1 + 0118 0e50 lris $AC0.M, #0x50 + 0119 0080 0d00 lri $AR0, #0x0d00 + 011b 005e loop $AC0.M + 011c 1b1f srri @$AR0, $AC1.M + 011d 0080 0d60 lri $AR0, #0x0d60 + 011f 005e loop $AC0.M + 0120 1b1f srri @$AR0, $AC1.M + 0121 00da 0374 lr $AX0.H, @0x0374 + 0123 8600 tstaxh $AX0.H + 0124 02b5 0f4f callz 0x0f4f + 0126 8100 clr $ACC0 + 0127 8900 clr $ACC1 + 0128 0e50 lris $AC0.M, #0x50 + 0129 0080 0ca0 lri $AR0, #0x0ca0 + 012b 005e loop $AC0.M + 012c 1b1f srri @$AR0, $AC1.M + 012d 0080 0f40 lri $AR0, #0x0f40 + 012f 005e loop $AC0.M + 0130 1b1f srri @$AR0, $AC1.M + 0131 0080 0fa0 lri $AR0, #0x0fa0 + 0133 005e loop $AC0.M + 0134 1b1f srri @$AR0, $AC1.M + 0135 0080 0a00 lri $AR0, #0x0a00 + 0137 005e loop $AC0.M + 0138 1b1f srri @$AR0, $AC1.M + 0139 0080 09a0 lri $AR0, #0x09a0 + 013b 005e loop $AC0.M + 013c 1b1f srri @$AR0, $AC1.M + 013d 0f04 lris $AC1.M, #0x04 + 013e 0080 0e10 lri $AR0, #0x0e10 + 0140 0083 0dc0 lri $AR3, #0x0dc0 + 0142 02bf 00ec call 0x00ec + 0144 0080 0e70 lri $AR0, #0x0e70 + 0146 0083 0e20 lri $AR3, #0x0e20 + 0148 02bf 00ec call 0x00ec + 014a 0080 0ed0 lri $AR0, #0x0ed0 + 014c 0083 0e80 lri $AR3, #0x0e80 + 014e 02bf 00ec call 0x00ec + 0150 0080 0f30 lri $AR0, #0x0f30 + 0152 0083 0ee0 lri $AR3, #0x0ee0 + 0154 02bf 00ec call 0x00ec + 0156 8100 clr $ACC0 + 0157 0e50 lris $AC0.M, #0x50 + 0158 8900 clr $ACC1 + 0159 0080 0dc8 lri $AR0, #0x0dc8 + 015b 005e loop $AC0.M + 015c 1b1f srri @$AR0, $AC1.M + 015d 0080 0e28 lri $AR0, #0x0e28 + 015f 005e loop $AC0.M + 0160 1b1f srri @$AR0, $AC1.M + 0161 0080 0e88 lri $AR0, #0x0e88 + 0163 005e loop $AC0.M + 0164 1b1f srri @$AR0, $AC1.M + 0165 0080 0ee8 lri $AR0, #0x0ee8 + 0167 005e loop $AC0.M + 0168 1b1f srri @$AR0, $AC1.M + 0169 02df ret + 016a 009f 0580 lri $AC1.M, #0x0580 + 016c 009b 00a0 lri $AX1.H, #0x00a0 + 016e 0081 0393 lri $AR1, #0x0393 + 0170 18bc lrrd $AC0.L, @$AR1 + 0171 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 0172 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0173 0080 0050 lri $AR0, #0x0050 + 0175 02bf 05fb call 0x05fb + 0177 02df ret + 0178 00df 03a1 lr $AC1.M, @0x03a1 + 017a 0508 addis $ACC1, #0x08 + 017b 0080 0580 lri $AR0, #0x0580 + 017d 1c7f mrr $AR3, $AC1.M + 017e 0098 7fff lri $AX0.L, #0x7fff + 0180 8900 clr $ACC1 + 0181 0f50 lris $AC1.M, #0x50 + 0182 02bf 00ff call 0x00ff + 0184 02df ret + 0185 00c0 03a0 lr $AR0, @0x03a0 + 0187 191a lrri $AX0.H, @$AR0 + 0188 02bf 016a call 0x016a + 018a 02bf 0178 call 0x0178 + 018c 8100 clr $ACC0 + 018d 8900 clr $ACC1 + 018e 00de 0390 lr $AC0.M, @0x0390 + 0190 02a0 0001 andf $AC0.M, #0x0001 + 0192 029d 019b jlz 0x019b + 0194 0080 0398 lri $AR0, #0x0398 + 0196 0e08 lris $AC0.M, #0x08 + 0197 00c1 03a1 lr $AR1, @0x03a1 + 0199 02bf 0c38 call 0x0c38 + 019b 0f50 lris $AC1.M, #0x50 + 019c 00c0 03a1 lr $AR0, @0x03a1 + 019e 00da 0394 lr $AX0.H, @0x0394 + 01a0 8600 tstaxh $AX0.H + 01a1 0295 01a8 jz 0x01a8 + 01a3 1c7a mrr $AR3, $AX0.H + 01a4 00d8 0395 lr $AX0.L, @0x0395 + 01a6 02bf 00ff call 0x00ff + 01a8 0f50 lris $AC1.M, #0x50 + 01a9 00c0 03a1 lr $AR0, @0x03a1 + 01ab 00da 0396 lr $AX0.H, @0x0396 + 01ad 8600 tstaxh $AX0.H + 01ae 0295 01b5 jz 0x01b5 + 01b0 1c7a mrr $AR3, $AX0.H + 01b1 00d8 0397 lr $AX0.L, @0x0397 + 01b3 02bf 00ff call 0x00ff + 01b5 00de 0390 lr $AC0.M, @0x0390 + 01b7 02a0 0002 andf $AC0.M, #0x0002 + 01b9 02dd retlz + 01ba 0080 0398 lri $AR0, #0x0398 + 01bc 0e08 lris $AC0.M, #0x08 + 01bd 00c1 03a1 lr $AR1, @0x03a1 + 01bf 02bf 0c38 call 0x0c38 + 01c1 02df ret + 01c2 8900 clr $ACC1 + 01c3 009f 0dc0 lri $AC1.M, #0x0dc0 + 01c5 00ff 03a1 sr @0x03a1, $AC1.M + 01c7 009f 03a8 lri $AC1.M, #0x03a8 + 01c9 00ff 03a2 sr @0x03a2, $AC1.M + 01cb 009f 03a4 lri $AC1.M, #0x03a4 + 01cd 00ff 03a0 sr @0x03a0, $AC1.M + 01cf 1104 01ef bloopi #0x04, 0x01ef + 01d1 00c0 03a2 lr $AR0, @0x03a2 + 01d3 0083 0390 lri $AR3, #0x0390 + 01d5 8900 clr $ACC1 + 01d6 0f08 lris $AC1.M, #0x08 + 01d7 02bf 00ec call 0x00ec + 01d9 00da 0390 lr $AX0.H, @0x0390 + 01db 8600 tstaxh $AX0.H + 01dc 0295 01e0 jz 0x01e0 + 01de 02bf 0185 call 0x0185 + 01e0 8100 clr $ACC0 + 01e1 00de 03a2 lr $AC0.M, @0x03a2 + 01e3 0410 addis $ACC0, #0x10 + 01e4 00fe 03a2 sr @0x03a2, $AC0.M + 01e6 00de 03a1 lr $AC0.M, @0x03a1 + 01e8 0460 addis $ACC0, #0x60 + 01e9 00fe 03a1 sr @0x03a1, $AC0.M + 01eb 00de 03a0 lr $AC0.M, @0x03a0 + 01ed 7400 incm $AC0.M + 01ee 00fe 03a0 sr @0x03a0, $AC0.M + 01f0 00da 0374 lr $AX0.H, @0x0374 + 01f2 8600 tstaxh $AX0.H + 01f3 0294 0219 jnz 0x0219 + 01f5 0f50 lris $AC1.M, #0x50 + 01f6 0080 0be0 lri $AR0, #0x0be0 + 01f8 0083 0e80 lri $AR3, #0x0e80 + 01fa 0098 7fff lri $AX0.L, #0x7fff + 01fc 02bf 00ff call 0x00ff + 01fe 0f50 lris $AC1.M, #0x50 + 01ff 0080 0be0 lri $AR0, #0x0be0 + 0201 0083 0ee0 lri $AR3, #0x0ee0 + 0203 0098 b820 lri $AX0.L, #0xb820 + 0205 02bf 00ff call 0x00ff + 0207 0f28 lris $AC1.M, #0x28 + 0208 0080 0c68 lri $AR0, #0x0c68 + 020a 0083 0e80 lri $AR3, #0x0e80 + 020c 0098 b820 lri $AX0.L, #0xb820 + 020e 02bf 00ff call 0x00ff + 0210 0f28 lris $AC1.M, #0x28 + 0211 0080 0c68 lri $AR0, #0x0c68 + 0213 0083 0ee0 lri $AR3, #0x0ee0 + 0215 0098 7fff lri $AX0.L, #0x7fff + 0217 02bf 00ff call 0x00ff + 0219 8100 clr $ACC0 + 021a 8900 clr $ACC1 + 021b 0e50 lris $AC0.M, #0x50 + 021c 0080 0be0 lri $AR0, #0x0be0 + 021e 005e loop $AC0.M + 021f 1b1f srri @$AR0, $AC1.M + 0220 0080 0c40 lri $AR0, #0x0c40 + 0222 005e loop $AC0.M + 0223 1b1f srri @$AR0, $AC1.M + 0224 02df ret + 0225 00c0 03a0 lr $AR0, @0x03a0 + 0227 181a lrr $AX0.H, @$AR0 + 0228 8100 clr $ACC0 + 0229 181e lrr $AC0.M, @$AR0 + 022a 00db 0391 lr $AX1.H, @0x0391 + 022c 7400 incm $AC0.M + 022d d100 cmpar $ACC1, $AX0.H + 022e 0270 ifge + 022f 8100 clr $ACC0 + 0230 1b1e srri @$AR0, $AC0.M + 0231 00df 03a1 lr $AC1.M, @0x03a1 + 0233 009b 00a0 lri $AX1.H, #0x00a0 + 0235 0081 0393 lri $AR1, #0x0393 + 0237 18bc lrrd $AC0.L, @$AR1 + 0238 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 0239 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 023a 0080 0050 lri $AR0, #0x0050 + 023c 02bf 0608 call 0x0608 + 023e 02df ret + 023f 00da 0374 lr $AX0.H, @0x0374 + 0241 8600 tstaxh $AX0.H + 0242 0294 0258 jnz 0x0258 + 0244 8900 clr $ACC1 + 0245 0f28 lris $AC1.M, #0x28 + 0246 0080 0c40 lri $AR0, #0x0c40 + 0248 0083 0ea8 lri $AR3, #0x0ea8 + 024a 0098 b820 lri $AX0.L, #0xb820 + 024c 02bf 00ff call 0x00ff + 024e 8900 clr $ACC1 + 024f 0f28 lris $AC1.M, #0x28 + 0250 0080 0c40 lri $AR0, #0x0c40 + 0252 0083 0f08 lri $AR3, #0x0f08 + 0254 0098 7fff lri $AX0.L, #0x7fff + 0256 02bf 00ff call 0x00ff + 0258 009f 0dc0 lri $AC1.M, #0x0dc0 + 025a 00ff 03a1 sr @0x03a1, $AC1.M + 025c 009f 03a8 lri $AC1.M, #0x03a8 + 025e 00ff 03a2 sr @0x03a2, $AC1.M + 0260 009f 03a4 lri $AC1.M, #0x03a4 + 0262 00ff 03a0 sr @0x03a0, $AC1.M + 0264 1104 0282 bloopi #0x04, 0x0282 + 0266 00c0 03a2 lr $AR0, @0x03a2 + 0268 0083 0390 lri $AR3, #0x0390 + 026a 0f08 lris $AC1.M, #0x08 + 026b 02bf 00ec call 0x00ec + 026d 00da 0390 lr $AX0.H, @0x0390 + 026f 8600 tstaxh $AX0.H + 0270 0295 0274 jz 0x0274 + 0272 02bf 0225 call 0x0225 + 0274 00de 03a2 lr $AC0.M, @0x03a2 + 0276 0410 addis $ACC0, #0x10 + 0277 00fe 03a2 sr @0x03a2, $AC0.M + 0279 00de 03a1 lr $AC0.M, @0x03a1 + 027b 0460 addis $ACC0, #0x60 + 027c 00fe 03a1 sr @0x03a1, $AC0.M + 027e 00de 03a0 lr $AC0.M, @0x03a0 + 0280 7400 incm $AC0.M + 0281 00fe 03a0 sr @0x03a0, $AC0.M + 0283 02df ret + 0284 0081 0386 lri $AR1, #0x0386 + 0286 009f 03a8 lri $AC1.M, #0x03a8 + 0288 0080 0040 lri $AR0, #0x0040 + 028a 02bf 05f9 call 0x05f9 + 028c 02df ret + 028d 191e lrri $AC0.M, @$AR0 + 028e 189c lrrd $AC0.L, @$AR0 + 028f 4800 addax $ACC0, $AX0.L + 0290 1b1e srri @$AR0, $AC0.M + 0291 1b1c srri @$AR0, $AC0.L + 0292 02df ret + 0293 8100 clr $ACC0 + 0294 8900 clr $ACC1 + 0295 00df 0354 lr $AC1.M, @0x0354 + 0297 00de 034e lr $AC0.M, @0x034e + 0299 8200 cmp + 029a 0293 0293 jle 0x0293 + 029c 02df ret + 029d 0080 0388 lri $AR0, #0x0388 + 029f 0081 0065 lri $AR1, #0x0065 + 02a1 0e02 lris $AC0.M, #0x02 + 02a2 173f callr $AR1 + 02a3 02bf 047f call 0x047f + 02a5 00de 0344 lr $AC0.M, @0x0344 + 02a7 00fe 0341 sr @0x0341, $AC0.M + 02a9 00de 0345 lr $AC0.M, @0x0345 + 02ab 00fe 038e sr @0x038e, $AC0.M + 02ad 8100 clr $ACC0 + 02ae 00fe 0355 sr @0x0355, $AC0.M + 02b0 02bf 0284 call 0x0284 + 02b2 02bf 064d call 0x064d + 02b4 0092 00ff lri $CR, #0x00ff + 02b6 00de 0341 lr $AC0.M, @0x0341 + 02b8 007e 047a bloop $AC0.M, 0x047a + 02ba 02bf 0116 call 0x0116 + 02bc 02bf 01c2 call 0x01c2 + 02be 02bf 04f5 call 0x04f5 + 02c0 02bf 0a86 call 0x0a86 + 02c2 00de 0355 lr $AC0.M, @0x0355 + 02c4 7400 incm $AC0.M + 02c5 00fe 0355 sr @0x0355, $AC0.M + 02c7 8100 clr $ACC0 + 02c8 00fe 0354 sr @0x0354, $AC0.M + 02ca 00de 0342 lr $AC0.M, @0x0342 + 02cc 007e 0420 bloop $AC0.M, 0x0420 + 02ce 02bf 0293 call 0x0293 + 02d0 8100 clr $ACC0 + 02d1 8900 clr $ACC1 + 02d2 00de 0354 lr $AC0.M, @0x0354 + 02d4 147c lsr $ACC0, #-4 + 02d5 0200 04fc addi $AC0.M, #0x04fc + 02d7 1c1e mrr $AR0, $AC0.M + 02d8 181f lrr $AC1.M, @$AR0 + 02d9 00de 0354 lr $AC0.M, @0x0354 + 02db 0240 000f andi $AC0.M, #0x000f + 02dd 3d80 lsrnr $ACC1 + 02de 03c0 8000 andcf $AC1.M, #0x8000 + 02e0 029c 041c jlnz 0x041c + 02e2 00d8 0354 lr $AX0.L, @0x0354 + 02e4 009a 0180 lri $AX0.H, #0x0180 + 02e6 8100 clr $ACC0 + 02e7 00de 0380 lr $AC0.M, @0x0380 + 02e9 00dc 0381 lr $AC0.L, @0x0381 + 02eb 9000 mul $AX0.L, $AX0.H + 02ec 9400 mulac $AX0.L, $AX0.H, $ACC0 + 02ed 00fe 034c sr @0x034c, $AC0.M + 02ef 00fc 034d sr @0x034d, $AC0.L + 02f1 02bf 00cc call 0x00cc + 02f3 00da 0400 lr $AX0.H, @0x0400 + 02f5 8600 tstaxh $AX0.H + 02f6 0295 041c jz 0x041c + 02f8 00da 0401 lr $AX0.H, @0x0401 + 02fa 8600 tstaxh $AX0.H + 02fb 0294 041c jnz 0x041c + 02fd 00da 0433 lr $AX0.H, @0x0433 + 02ff 00fa 03f8 sr @0x03f8, $AX0.H + 0301 00da 0406 lr $AX0.H, @0x0406 + 0303 8600 tstaxh $AX0.H + 0304 0294 0f0f jnz 0x0f0f + 0306 8100 clr $ACC0 + 0307 00de 0480 lr $AC0.M, @0x0480 + 0309 0609 cmpis $ACC0, #0x09 + 030a 0295 031d jz 0x031d + 030c 0605 cmpis $ACC0, #0x05 + 030d 0295 031d jz 0x031d + 030f 0608 cmpis $ACC0, #0x08 + 0310 0295 0ab6 jz 0x0ab6 + 0312 0610 cmpis $ACC0, #0x10 + 0313 0295 0b33 jz 0x0b33 + 0315 0620 cmpis $ACC0, #0x20 + 0316 0295 0ba4 jz 0x0ba4 + 0318 0621 cmpis $ACC0, #0x21 + 0319 0295 0bac jz 0x0bac + 031b 029f 09a3 jmp 0x09a3 + 031d 00d8 0402 lr $AX0.L, @0x0402 + 031f 8100 clr $ACC0 + 0320 8900 clr $ACC1 + 0321 00dc 0430 lr $AC0.L, @0x0430 + 0323 8d00 set15 + 0324 0950 lris $AX1.L, #0x50 + 0325 a000 mulx $AX0.L, $AX1.L + 0326 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0327 1404 lsl $ACC0, #4 + 0328 8c00 clr15 + 0329 1ffe mrr $AC1.M, $AC0.M + 032a 0083 0580 lri $AR3, #0x0580 + 032c 02bf 0865 call 0x0865 + 032e 029f 0330 jmp 0x0330 + 0330 0080 0580 lri $AR0, #0x0580 + 0332 0081 0520 lri $AR1, #0x0520 + 0334 0099 0000 lri $AX1.L, #0x0000 + 0336 02bf 0e8f call 0x0e8f + 0338 00da 04a8 lr $AX0.H, @0x04a8 + 033a 8600 tstaxh $AX0.H + 033b 0295 0341 jz 0x0341 + 033d 0080 0520 lri $AR0, #0x0520 + 033f 02bf 0d8e call 0x0d8e + 0341 009e 0520 lri $AC0.M, #0x0520 + 0343 00fe 038f sr @0x038f, $AC0.M + 0345 8900 clr $ACC1 + 0346 00df 0484 lr $AC1.M, @0x0484 + 0348 0340 001f andi $AC1.M, #0x001f + 034a b900 tst $ACC1 + 034b 0295 0371 jz 0x0371 + 034d 00de 038f lr $AC0.M, @0x038f + 034f 5c00 sub $ACC0, $ACC1 + 0350 00fe 038f sr @0x038f, $AC0.M + 0352 1c7e mrr $AR3, $AC0.M + 0353 0080 0440 lri $AR0, #0x0440 + 0355 05fe addis $ACC1, #0xfe + 0356 02bf 00e5 call 0x00e5 + 0358 0080 0490 lri $AR0, #0x0490 + 035a 00c1 038f lr $AR1, @0x038f + 035c 8900 clr $ACC1 + 035d 00df 0484 lr $AC1.M, @0x0484 + 035f 0340 001f andi $AC1.M, #0x001f + 0361 02bf 0c57 call 0x0c57 + 0363 00de 038f lr $AC0.M, @0x038f + 0365 0450 addis $ACC0, #0x50 + 0366 1c1e mrr $AR0, $AC0.M + 0367 0083 0440 lri $AR3, #0x0440 + 0369 8900 clr $ACC1 + 036a 00df 0484 lr $AC1.M, @0x0484 + 036c 0340 001f andi $AC1.M, #0x001f + 036e 05fe addis $ACC1, #0xfe + 036f 02bf 00e5 call 0x00e5 + 0371 00de 0484 lr $AC0.M, @0x0484 + 0373 0240 0020 andi $AC0.M, #0x0020 + 0375 0295 0393 jz 0x0393 + 0377 0080 04a4 lri $AR0, #0x04a4 + 0379 00c1 038f lr $AR1, @0x038f + 037b 0082 0454 lri $AR2, #0x0454 + 037d 0083 04a7 lri $AR3, #0x04a7 + 037f 18fa lrrd $AX0.H, @$AR3 + 0380 8600 tstaxh $AX0.H + 0381 0294 0391 jnz 0x0391 + 0383 18fa lrrd $AX0.H, @$AR3 + 0384 8600 tstaxh $AX0.H + 0385 0294 0391 jnz 0x0391 + 0387 18fa lrrd $AX0.H, @$AR3 + 0388 8600 tstaxh $AX0.H + 0389 0294 0391 jnz 0x0391 + 038b 8100 clr $ACC0 + 038c 18fe lrrd $AC0.M, @$AR3 + 038d 0280 7fff cmpi $AC0.M, #0x7fff + 038f 0295 0393 jz 0x0393 + 0391 02bf 0c72 call 0x0c72 + 0393 8100 clr $ACC0 + 0394 00de 042c lr $AC0.M, @0x042c + 0396 b100 tst $ACC0 + 0397 0295 039d jz 0x039d + 0399 02bf 0ddd call 0x0ddd + 039b 029f 0412 jmp 0x0412 + 039d 8100 clr $ACC0 + 039e 1c9e mrr $IX0, $AC0.M + 039f 1cde mrr $IX2, $AC0.M + 03a0 7400 incm $AC0.M + 03a1 1cfe mrr $IX3, $AC0.M + 03a2 8100 clr $ACC0 + 03a3 00de 0407 lr $AC0.M, @0x0407 + 03a5 b100 tst $ACC0 + 03a6 0295 03b5 jz 0x03b5 + 03a8 00c3 038f lr $AR3, @0x038f + 03aa 0007 dar $AR3 + 03ab 0080 0477 lri $AR0, #0x0477 + 03ad 0084 ffff lri $IX0, #0xffff + 03af 0087 ffff lri $IX3, #0xffff + 03b1 199a lrrn $AX0.H, @$AR0 + 03b2 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 + 03b3 005e loop $AC0.M + 03b4 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M + 03b5 00da 0485 lr $AX0.H, @0x0485 + 03b7 8600 tstaxh $AX0.H + 03b8 0295 03cb jz 0x03cb + 03ba 8900 clr $ACC1 + 03bb 0086 0005 lri $IX2, #0x0005 + 03bd 0082 040a lri $AR2, #0x040a + 03bf 1106 03c3 bloopi #0x06, 0x03c3 + 03c1 18de lrrd $AC0.M, @$AR2 + 03c2 147f lsr $ACC0, #-1 + 03c3 4d36 add'sn $ACC1, $ACC0 : @$AR2, $AC0.M + 03c4 b900 tst $ACC1 + 03c5 0294 03cb jnz 0x03cb + 03c7 009a 0001 lri $AX0.H, #0x0001 + 03c9 00fa 0401 sr @0x0401, $AX0.H + 03cb 8f00 set40 + 03cc 0086 0002 lri $IX2, #0x0002 + 03ce 0082 0408 lri $AR2, #0x0408 + 03d0 1106 03fb bloopi #0x06, 0x03fb + 03d2 8100 clr $ACC0 + 03d3 195e lrri $AC0.M, @$AR2 + 03d4 1200 sbclr #0x00 + 03d5 b100 tst $ACC0 + 03d6 0275 ifz + 03d7 1300 sbset #0x00 + 03d8 1c7e mrr $AR3, $AC0.M + 03d9 195e lrri $AC0.M, @$AR2 + 03da 195f lrri $AC1.M, @$AR2 + 03db 5c00 sub $ACC0, $ACC1 + 03dc 14fb asr $ACC0, #-5 + 03dd 1f5e mrr $AX0.H, $AC0.M + 03de 1f1c mrr $AX0.L, $AC0.L + 03df 185e lrr $AC0.M, @$AR2 + 03e0 0240 00ff andi $AC0.M, #0x00ff + 03e2 1f7e mrr $AX1.H, $AC0.M + 03e3 185e lrr $AC0.M, @$AR2 + 03e4 1478 lsr $ACC0, #-8 + 03e5 009c 0000 lri $AC0.L, #0x0000 + 03e7 d100 cmpar $ACC1, $AX0.H + 03e8 0295 03f0 jz 0x03f0 + 03ea 185e lrr $AC0.M, @$AR2 + 03eb 0272 ifg + 03ec 7400 incm $AC0.M + 03ed 0271 ifl + 03ee 7800 decm $AC0.M + 03ef 1a5e srr @$AR2, $AC0.M + 03f0 0006 dar $AR2 + 03f1 00de 038f lr $AC0.M, @0x038f + 03f3 5600 subr $ACC0, $AX1.H + 03f4 029d 03f9 jlz 0x03f9 + 03f6 1c1e mrr $AR0, $AC0.M + 03f7 02bf 0db3 call 0x0db3 + 03f9 0000 nop + 03fa 1b5f srri @$AR2, $AC1.M + 03fb 000a iar $AR2 + 03fc 8e00 set16 + 03fd 8100 clr $ACC0 + 03fe 00de 0407 lr $AC0.M, @0x0407 + 0400 b100 tst $ACC0 + 0401 0295 0412 jz 0x0412 + 0403 00c3 038f lr $AR3, @0x038f + 0405 0087 004f lri $IX3, #0x004f + 0407 001f addarn $AR3, $IX3 + 0408 0080 0477 lri $AR0, #0x0477 + 040a 0084 ffff lri $IX0, #0xffff + 040c 0087 ffff lri $IX3, #0xffff + 040e 19fa lrrn $AX0.H, @$AR3 + 040f 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 + 0410 005e loop $AC0.M + 0411 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H + 0412 00da 0406 lr $AX0.H, @0x0406 + 0414 8600 tstaxh $AX0.H + 0415 0294 041a jnz 0x041a + 0417 8100 clr $ACC0 + 0418 00fe 0404 sr @0x0404, $AC0.M + 041a 02bf 00d5 call 0x00d5 + 041c 00de 0354 lr $AC0.M, @0x0354 + 041e 7400 incm $AC0.M + 041f 00fe 0354 sr @0x0354, $AC0.M + 0421 0e00 lris $AC0.M, #0x00 + 0422 00fe 034e sr @0x034e, $AC0.M + 0424 0e04 lris $AC0.M, #0x04 + 0425 02bf 0792 call 0x0792 + 0427 00de 0355 lr $AC0.M, @0x0355 + 0429 0260 ff00 ori $AC0.M, #0xff00 + 042b 02bf 079c call 0x079c + 042d 02bf 0d14 call 0x0d14 + 042f 02bf 0d26 call 0x0d26 + 0431 02bf 0d7b call 0x0d7b + 0433 00de 0341 lr $AC0.M, @0x0341 + 0435 7800 decm $AC0.M + 0436 00fe 0341 sr @0x0341, $AC0.M + 0438 0080 09a0 lri $AR0, #0x09a0 + 043a 0083 0d00 lri $AR3, #0x0d00 + 043c 0f50 lris $AC1.M, #0x50 + 043d 0098 5a82 lri $AX0.L, #0x5a82 + 043f 02bf 00ff call 0x00ff + 0441 0080 09a0 lri $AR0, #0x09a0 + 0443 0083 0d60 lri $AR3, #0x0d60 + 0445 0f50 lris $AC1.M, #0x50 + 0446 02bf 00ff call 0x00ff + 0448 0083 0d00 lri $AR3, #0x0d00 + 044a 02bf 0dcb call 0x0dcb + 044c 0081 0388 lri $AR1, #0x0388 + 044e 009f 0d00 lri $AC1.M, #0x0d00 + 0450 0080 0050 lri $AR0, #0x0050 + 0452 02bf 0606 call 0x0606 + 0454 0080 0fa0 lri $AR0, #0x0fa0 + 0456 0083 0d60 lri $AR3, #0x0d60 + 0458 0f50 lris $AC1.M, #0x50 + 0459 0098 8000 lri $AX0.L, #0x8000 + 045b 02bf 00ff call 0x00ff + 045d 0083 0d60 lri $AR3, #0x0d60 + 045f 02bf 0dcb call 0x0dcb + 0461 0081 038a lri $AR1, #0x038a + 0463 009f 0d60 lri $AC1.M, #0x0d60 + 0465 0080 0050 lri $AR0, #0x0050 + 0467 02bf 0606 call 0x0606 + 0469 009a 0000 lri $AX0.H, #0x0000 + 046b 0098 00a0 lri $AX0.L, #0x00a0 + 046d 0080 0388 lri $AR0, #0x0388 + 046f 02bf 028d call 0x028d + 0471 0080 038a lri $AR0, #0x038a + 0473 02bf 028d call 0x028d + 0475 02bf 023f call 0x023f + 0477 02bf 0491 call 0x0491 + 0479 0000 nop + 047a 0000 nop + 047b 0080 002b lri $AR0, #0x002b + 047d 029f 072b jmp 0x072b + 047f 0080 0374 lri $AR0, #0x0374 + 0481 0e02 lris $AC0.M, #0x02 + 0482 02bf 0067 call 0x0067 + 0484 00de 0374 lr $AC0.M, @0x0374 + 0486 0240 7fff andi $AC0.M, #0x7fff + 0488 00fe 0374 sr @0x0374, $AC0.M + 048a 00de 0376 lr $AC0.M, @0x0376 + 048c 0240 7fff andi $AC0.M, #0x7fff + 048e 00fe 0376 sr @0x0376, $AC0.M + 0490 02df ret + 0491 00da 0374 lr $AX0.H, @0x0374 + 0493 8600 tstaxh $AX0.H + 0494 02d5 retz + 0495 0083 0f40 lri $AR3, #0x0f40 + 0497 02bf 0dcb call 0x0dcb + 0499 0083 0ca0 lri $AR3, #0x0ca0 + 049b 02bf 0dcb call 0x0dcb + 049d 0081 0374 lri $AR1, #0x0374 + 049f 009f 0f40 lri $AC1.M, #0x0f40 + 04a1 0080 0050 lri $AR0, #0x0050 + 04a3 02bf 0606 call 0x0606 + 04a5 0081 0376 lri $AR1, #0x0376 + 04a7 009f 0ca0 lri $AC1.M, #0x0ca0 + 04a9 0080 0050 lri $AR0, #0x0050 + 04ab 02bf 0606 call 0x0606 + 04ad 009a 0000 lri $AX0.H, #0x0000 + 04af 0098 00a0 lri $AX0.L, #0x00a0 + 04b1 0080 0374 lri $AR0, #0x0374 + 04b3 02bf 028d call 0x028d + 04b5 0080 0376 lri $AR0, #0x0376 + 04b7 02bf 028d call 0x028d + 04b9 02df ret + 04ba 00da 0374 lr $AX0.H, @0x0374 + 04bc 8600 tstaxh $AX0.H + 04bd 02d5 retz + 04be 009f 0be0 lri $AC1.M, #0x0be0 + 04c0 00ff 03a1 sr @0x03a1, $AC1.M + 04c2 00df 03ca lr $AC1.M, @0x03ca + 04c4 00ff 0392 sr @0x0392, $AC1.M + 04c6 00df 03cb lr $AC1.M, @0x03cb + 04c8 00ff 0393 sr @0x0393, $AC1.M + 04ca 009f 03a6 lri $AC1.M, #0x03a6 + 04cc 00ff 03a0 sr @0x03a0, $AC1.M + 04ce 00df 03c9 lr $AC1.M, @0x03c9 + 04d0 00ff 0391 sr @0x0391, $AC1.M + 04d2 00da 03c8 lr $AX0.H, @0x03c8 + 04d4 8600 tstaxh $AX0.H + 04d5 0295 04d9 jz 0x04d9 + 04d7 02bf 0225 call 0x0225 + 04d9 009f 0c40 lri $AC1.M, #0x0c40 + 04db 00ff 03a1 sr @0x03a1, $AC1.M + 04dd 00df 03da lr $AC1.M, @0x03da + 04df 00ff 0392 sr @0x0392, $AC1.M + 04e1 00df 03db lr $AC1.M, @0x03db + 04e3 00ff 0393 sr @0x0393, $AC1.M + 04e5 009f 03a7 lri $AC1.M, #0x03a7 + 04e7 00ff 03a0 sr @0x03a0, $AC1.M + 04e9 00df 03d9 lr $AC1.M, @0x03d9 + 04eb 00ff 0391 sr @0x0391, $AC1.M + 04ed 00da 03d8 lr $AX0.H, @0x03d8 + 04ef 8600 tstaxh $AX0.H + 04f0 0295 04f4 jz 0x04f4 + 04f2 02bf 0225 call 0x0225 + 04f4 02df ret + 04f5 00da 0374 lr $AX0.H, @0x0374 + 04f7 8600 tstaxh $AX0.H + 04f8 02d5 retz + 04f9 00da 03d8 lr $AX0.H, @0x03d8 + 04fb 8600 tstaxh $AX0.H + 04fc 02d5 retz + 04fd 0083 0be0 lri $AR3, #0x0be0 + 04ff 0080 0c30 lri $AR0, #0x0c30 + 0501 0f04 lris $AC1.M, #0x04 + 0502 02bf 00ec call 0x00ec + 0504 0083 0c40 lri $AR3, #0x0c40 + 0506 0080 0c90 lri $AR0, #0x0c90 + 0508 0f04 lris $AC1.M, #0x04 + 0509 02bf 00ec call 0x00ec + 050b 00df 03ca lr $AC1.M, @0x03ca + 050d 00ff 0392 sr @0x0392, $AC1.M + 050f 00df 03cb lr $AC1.M, @0x03cb + 0511 00ff 0393 sr @0x0393, $AC1.M + 0513 00df 03a6 lr $AC1.M, @0x03a6 + 0515 7500 incm $AC1.M + 0516 1f5f mrr $AX0.H, $AC1.M + 0517 009f 0be8 lri $AC1.M, #0x0be8 + 0519 02bf 016c call 0x016c + 051b 00df 03da lr $AC1.M, @0x03da + 051d 00ff 0392 sr @0x0392, $AC1.M + 051f 00df 03db lr $AC1.M, @0x03db + 0521 00ff 0393 sr @0x0393, $AC1.M + 0523 00df 03a7 lr $AC1.M, @0x03a7 + 0525 7500 incm $AC1.M + 0526 1f5f mrr $AX0.H, $AC1.M + 0527 009f 0c48 lri $AC1.M, #0x0c48 + 0529 02bf 016c call 0x016c + 052b 00de 03c8 lr $AC0.M, @0x03c8 + 052d 02a0 0001 andf $AC0.M, #0x0001 + 052f 029d 0538 jlz 0x0538 + 0531 0080 03d0 lri $AR0, #0x03d0 + 0533 0e08 lris $AC0.M, #0x08 + 0534 0081 0be0 lri $AR1, #0x0be0 + 0536 02bf 0c38 call 0x0c38 + 0538 00de 03d8 lr $AC0.M, @0x03d8 + 053a 02a0 0001 andf $AC0.M, #0x0001 + 053c 029d 0545 jlz 0x0545 + 053e 0080 03e0 lri $AR0, #0x03e0 + 0540 0e08 lris $AC0.M, #0x08 + 0541 0081 0c40 lri $AR1, #0x0c40 + 0543 02bf 0c38 call 0x0c38 + 0545 0f50 lris $AC1.M, #0x50 + 0546 0080 0be0 lri $AR0, #0x0be0 + 0548 0083 0f40 lri $AR3, #0x0f40 + 054a 00d8 03cd lr $AX0.L, @0x03cd + 054c 02bf 00ff call 0x00ff + 054e 0f50 lris $AC1.M, #0x50 + 054f 0080 0c40 lri $AR0, #0x0c40 + 0551 0083 0ca0 lri $AR3, #0x0ca0 + 0553 00d8 03df lr $AX0.L, @0x03df + 0555 02bf 00ff call 0x00ff + 0557 00de 03c8 lr $AC0.M, @0x03c8 + 0559 02a0 0002 andf $AC0.M, #0x0002 + 055b 029d 0564 jlz 0x0564 + 055d 0080 03d0 lri $AR0, #0x03d0 + 055f 0e08 lris $AC0.M, #0x08 + 0560 0081 0be0 lri $AR1, #0x0be0 + 0562 02bf 0c38 call 0x0c38 + 0564 00de 03d8 lr $AC0.M, @0x03d8 + 0566 02a0 0002 andf $AC0.M, #0x0002 + 0568 029d 0571 jlz 0x0571 + 056a 0080 03e0 lri $AR0, #0x03e0 + 056c 0e08 lris $AC0.M, #0x08 + 056d 0081 0c40 lri $AR1, #0x0c40 + 056f 02bf 0c38 call 0x0c38 + 0571 02df ret + 0572 0080 0346 lri $AR0, #0x0346 + 0574 02bf 0065 call 0x0065 + 0576 02bf 0065 call 0x0065 + 0578 0081 0346 lri $AR1, #0x0346 + 057a 193e lrri $AC0.M, @$AR1 + 057b 193c lrri $AC0.L, @$AR1 + 057c 009f 0400 lri $AC1.M, #0x0400 + 057e 00c0 0345 lr $AR0, @0x0345 + 0580 02bf 05fb call 0x05fb + 0582 0081 0348 lri $AR1, #0x0348 + 0584 193e lrri $AC0.M, @$AR1 + 0585 193c lrri $AC0.L, @$AR1 + 0586 009f 0800 lri $AC1.M, #0x0800 + 0588 00c0 0345 lr $AR0, @0x0345 + 058a 02bf 05fb call 0x05fb + 058c 0081 0346 lri $AR1, #0x0346 + 058e 193e lrri $AC0.M, @$AR1 + 058f 193c lrri $AC0.L, @$AR1 + 0590 009f 0800 lri $AC1.M, #0x0800 + 0592 00c0 0345 lr $AR0, @0x0345 + 0594 02bf 0608 call 0x0608 + 0596 0081 0348 lri $AR1, #0x0348 + 0598 193e lrri $AC0.M, @$AR1 + 0599 193c lrri $AC0.L, @$AR1 + 059a 009f 0400 lri $AC1.M, #0x0400 + 059c 00c0 0345 lr $AR0, @0x0345 + 059e 02bf 0608 call 0x0608 + 05a0 029f 0041 jmp 0x0041 + 05a2 0080 0346 lri $AR0, #0x0346 + 05a4 02bf 0065 call 0x0065 + 05a6 02bf 0065 call 0x0065 + 05a8 0081 0346 lri $AR1, #0x0346 + 05aa 193e lrri $AC0.M, @$AR1 + 05ab 193c lrri $AC0.L, @$AR1 + 05ac 009f 0400 lri $AC1.M, #0x0400 + 05ae 00c0 0345 lr $AR0, @0x0345 + 05b0 02bf 05fb call 0x05fb + 05b2 0081 0348 lri $AR1, #0x0348 + 05b4 193e lrri $AC0.M, @$AR1 + 05b5 193c lrri $AC0.L, @$AR1 + 05b6 009f 0400 lri $AC1.M, #0x0400 + 05b8 00c0 0345 lr $AR0, @0x0345 + 05ba 02bf 0608 call 0x0608 + 05bc 029f 0041 jmp 0x0041 + 05be 0080 0346 lri $AR0, #0x0346 + 05c0 02bf 0065 call 0x0065 + 05c2 02bf 0065 call 0x0065 + 05c4 0081 0346 lri $AR1, #0x0346 + 05c6 193e lrri $AC0.M, @$AR1 + 05c7 193c lrri $AC0.L, @$AR1 + 05c8 009f 0400 lri $AC1.M, #0x0400 + 05ca 00c0 0344 lr $AR0, @0x0344 + 05cc 02bf 05fb call 0x05fb + 05ce 0081 0348 lri $AR1, #0x0348 + 05d0 193e lrri $AC0.M, @$AR1 + 05d1 193c lrri $AC0.L, @$AR1 + 05d2 009f 0800 lri $AC1.M, #0x0800 + 05d4 00c0 0344 lr $AR0, @0x0344 + 05d6 02bf 05fb call 0x05fb + 05d8 0080 0400 lri $AR0, #0x0400 + 05da 0083 0800 lri $AR3, #0x0800 + 05dc 0084 0000 lri $IX0, #0x0000 + 05de 00da 0345 lr $AX0.H, @0x0345 + 05e0 00df 0344 lr $AC1.M, @0x0344 + 05e2 8f00 set40 + 05e3 197b lrri $AX1.H, @$AR3 + 05e4 b800 mulx $AX0.H, $AX1.H + 05e5 197b lrri $AX1.H, @$AR3 + 05e6 007f 05eb bloop $AC1.M, 0x05eb + 05e8 199e lrrn $AC0.M, @$AR0 + 05e9 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 05ea 80b2 nx'sl : $AC0.M, $AX1.H + 05eb 0000 nop + 05ec 8e00 set16 + 05ed 0081 0346 lri $AR1, #0x0346 + 05ef 193e lrri $AC0.M, @$AR1 + 05f0 193c lrri $AC0.L, @$AR1 + 05f1 009f 0400 lri $AC1.M, #0x0400 + 05f3 00c0 0344 lr $AR0, @0x0344 + 05f5 02bf 0608 call 0x0608 + 05f7 029f 0041 jmp 0x0041 + 05f9 193e lrri $AC0.M, @$AR1 + 05fa 193c lrri $AC0.L, @$AR1 + 05fb 2fcd srs @DSPA, $AC1.M + 05fc 0f00 lris $AC1.M, #0x00 + 05fd 2fc9 srs @DSCR, $AC1.M + 05fe 2ece srs @DSMAH, $AC0.M + 05ff 2ccf srs @DSMAL, $AC0.L + 0600 1fe0 mrr $AC1.M, $AR0 + 0601 1501 lsl $ACC1, #1 + 0602 2fcb srs @DSBL, $AC1.M + 0603 02bf 060c call 0x060c + 0605 02df ret + 0606 193e lrri $AC0.M, @$AR1 + 0607 193c lrri $AC0.L, @$AR1 + 0608 2fcd srs @DSPA, $AC1.M + 0609 0f01 lris $AC1.M, #0x01 + 060a 029f 05fd jmp 0x05fd + 060c 26c9 lrs $AC0.M, @DSCR + 060d 02a0 0004 andf $AC0.M, #0x0004 + 060f 029c 060c jlnz 0x060c + 0611 02df ret + 0612 193e lrri $AC0.M, @$AR1 + 0613 193c lrri $AC0.L, @$AR1 + 0614 00ff ffcd sr @DSPA, $AC1.M + 0616 0f00 lris $AC1.M, #0x00 + 0617 00ff ffc9 sr @DSCR, $AC1.M + 0619 00fe ffce sr @DSMAH, $AC0.M + 061b 00fc ffcf sr @DSMAL, $AC0.L + 061d 1fe0 mrr $AC1.M, $AR0 + 061e 1501 lsl $ACC1, #1 + 061f 00ff ffcb sr @DSBL, $AC1.M + 0621 02df ret + 0622 00de ffc9 lr $AC0.M, @DSCR + 0624 02a0 0004 andf $AC0.M, #0x0004 + 0626 029c 0622 jlnz 0x0622 + 0628 02df ret + 0629 0080 0346 lri $AR0, #0x0346 + 062b 02bf 0065 call 0x0065 + 062d 02bf 0065 call 0x0065 + 062f 0081 0346 lri $AR1, #0x0346 + 0631 00df 0349 lr $AC1.M, @0x0349 + 0633 0340 ffff andi $AC1.M, #0xffff + 0635 00c0 0345 lr $AR0, @0x0345 + 0637 02bf 05f9 call 0x05f9 + 0639 029f 0041 jmp 0x0041 + 063b 0080 0346 lri $AR0, #0x0346 + 063d 02bf 0065 call 0x0065 + 063f 02bf 0065 call 0x0065 + 0641 0081 0346 lri $AR1, #0x0346 + 0643 00df 0349 lr $AC1.M, @0x0349 + 0645 0340 ffff andi $AC1.M, #0xffff + 0647 00c0 0345 lr $AR0, @0x0345 + 0649 02bf 0606 call 0x0606 + 064b 029f 0041 jmp 0x0041 + 064d 0092 00ff lri $CR, #0x00ff + 064f 009e ffff lri $AC0.M, #0xffff + 0651 2ed4 srs @ACSAH, $AC0.M + 0652 2ed5 srs @ACSAL, $AC0.M + 0653 2ed6 srs @ACEAH, $AC0.M + 0654 2ed7 srs @ACEAL, $AC0.M + 0655 02df ret + 0656 00ff ffd1 sr @SampleFormat, $AC1.M + 0658 0340 0003 andi $AC1.M, #0x0003 + 065a 7900 decm $AC1.M + 065b 02ca lsrn + 065c 00df 037d lr $AC1.M, @0x037d + 065e 00dd 037e lr $AC1.L, @0x037e + 0660 4c00 add $ACC0, $ACC1 + 0661 00fe ffd8 sr @ACCAH, $AC0.M + 0663 00fc ffd9 sr @ACCAL, $AC0.L + 0665 02df ret + 0666 1fc3 mrr $AC0.M, $AR3 + 0667 043f addis $ACC0, #0x3f + 0668 0240 fff0 andi $AC0.M, #0xfff0 + 066a 00fe ffcd sr @DSPA, $AC0.M + 066c 1c1a mrr $AR0, $AX0.H + 066d 00da 037f lr $AX0.H, @0x037f + 066f 4400 addr $ACC0, $AX0.H + 0670 1f40 mrr $AX0.H, $AR0 + 0671 1c1e mrr $AR0, $AC0.M + 0672 1fda mrr $AC0.M, $AX0.H + 0673 041f addis $ACC0, #0x1f + 0674 0240 fff0 andi $AC0.M, #0xfff0 + 0676 1401 lsl $ACC0, #1 + 0677 00fe ffcb sr @DSBL, $AC0.M + 0679 00de ffc9 lr $AC0.M, @DSCR + 067b 02a0 0004 andf $AC0.M, #0x0004 + 067d 029c 0679 jlnz 0x0679 + 067f 007a 0682 bloop $AX0.H, 0x0682 + 0681 191e lrri $AC0.M, @$AR0 + 0682 1b7e srri @$AR3, $AC0.M + 0683 02df ret + 0684 8900 clr $ACC1 + 0685 1ffc mrr $AC1.M, $AC0.L + 0686 0340 001f andi $AC1.M, #0x001f + 0688 00ff 037f sr @0x037f, $AC1.M + 068a 1ffc mrr $AC1.M, $AC0.L + 068b 0340 ffe0 andi $AC1.M, #0xffe0 + 068d 1f9f mrr $AC0.L, $AC1.M + 068e 00df 037d lr $AC1.M, @0x037d + 0690 00dd 037e lr $AC1.L, @0x037e + 0692 4c00 add $ACC0, $ACC1 + 0693 00fe ffce sr @DSMAH, $AC0.M + 0695 00fc ffcf sr @DSMAL, $AC0.L + 0697 0f00 lris $AC1.M, #0x00 + 0698 00ff ffc9 sr @DSCR, $AC1.M + 069a 02df ret + 069b 00df 037f lr $AC1.M, @0x037f + 069d 157f lsr $ACC1, #-1 + 069e 00ff 037f sr @0x037f, $AC1.M + 06a0 02df ret + 06a1 8600 tstaxh $AX0.H + 06a2 02d5 retz + 06a3 1f1a mrr $AX0.L, $AX0.H + 06a4 009e 0780 lri $AC0.M, #0x0780 + 06a6 00fe ffcd sr @DSPA, $AC0.M + 06a8 1fda mrr $AC0.M, $AX0.H + 06a9 043f addis $ACC0, #0x3f + 06aa 0240 ffe0 andi $AC0.M, #0xffe0 + 06ac 00fe ffcb sr @DSBL, $AC0.M + 06ae 00de ffc9 lr $AC0.M, @DSCR + 06b0 02a0 0004 andf $AC0.M, #0x0004 + 06b2 029c 06ae jlnz 0x06ae + 06b4 8100 clr $ACC0 + 06b5 00de 037f lr $AC0.M, @0x037f + 06b7 147f lsr $ACC0, #-1 + 06b8 0200 0780 addi $AC0.M, #0x0780 + 06ba 1c1e mrr $AR0, $AC0.M + 06bb 00de 037f lr $AC0.M, @0x037f + 06bd 02a0 0001 andf $AC0.M, #0x0001 + 06bf 029d 06c8 jlz 0x06c8 + 06c1 8100 clr $ACC0 + 06c2 191e lrri $AC0.M, @$AR0 + 06c3 1488 asl $ACC0, #8 + 06c4 1b7e srri @$AR3, $AC0.M + 06c5 1fda mrr $AC0.M, $AX0.H + 06c6 7800 decm $AC0.M + 06c7 1f5e mrr $AX0.H, $AC0.M + 06c8 8100 clr $ACC0 + 06c9 1fda mrr $AC0.M, $AX0.H + 06ca 147f lsr $ACC0, #-1 + 06cb 007e 06d4 bloop $AC0.M, 0x06d4 + 06cd 8100 clr $ACC0 + 06ce 181e lrr $AC0.M, @$AR0 + 06cf 0240 ff00 andi $AC0.M, #0xff00 + 06d1 1b7e srri @$AR3, $AC0.M + 06d2 191e lrri $AC0.M, @$AR0 + 06d3 1488 asl $ACC0, #8 + 06d4 1b7e srri @$AR3, $AC0.M + 06d5 1fda mrr $AC0.M, $AX0.H + 06d6 1f58 mrr $AX0.H, $AX0.L + 06d7 02a0 0001 andf $AC0.M, #0x0001 + 06d9 02dd retlz + 06da 8100 clr $ACC0 + 06db 181e lrr $AC0.M, @$AR0 + 06dc 0240 ff00 andi $AC0.M, #0xff00 + 06de 1b7e srri @$AR3, $AC0.M + 06df 02df ret + 06e0 1205 sbclr #0x05 + 06e1 8e00 set16 + 06e2 00f0 03fd sr @0x03fd, $AC0.H + 06e4 00fc 03ff sr @0x03ff, $AC0.L + 06e6 f400 lsr16 $ACC0 + 06e7 00fc 03fe sr @0x03fe, $AC0.L + 06e9 00fa 03fa sr @0x03fa, $AX0.H + 06eb 8100 clr $ACC0 + 06ec 00de fffe lr $AC0.M, @CMBH + 06ee 02c0 8000 andcf $AC0.M, #0x8000 + 06f0 029c 07e1 jlnz 0x07e1 + 06f2 00da ffff lr $AX0.H, @CMBL + 06f4 8600 tstaxh $AX0.H + 06f5 0294 07ba jnz 0x07ba + 06f7 00de fffe lr $AC0.M, @CMBH + 06f9 02c0 8000 andcf $AC0.M, #0x8000 + 06fb 029c 06f7 jlnz 0x06f7 + 06fd 0240 000f andi $AC0.M, #0x000f + 06ff 1f5e mrr $AX0.H, $AC0.M + 0700 7400 incm $AC0.M + 0701 0c00 lris $AC0.L, #0x00 + 0702 1404 lsl $ACC0, #4 + 0703 00fe 034e sr @0x034e, $AC0.M + 0705 1fda mrr $AC0.M, $AX0.H + 0706 1f40 mrr $AX0.H, $AR0 + 0707 0200 04fc addi $AC0.M, #0x04fc + 0709 1c1e mrr $AR0, $AC0.M + 070a 00de ffff lr $AC0.M, @CMBL + 070c 1a1e srr @$AR0, $AC0.M + 070d 1c1a mrr $AR0, $AX0.H + 070e 00de 03fe lr $AC0.M, @0x03fe + 0710 00dc 03ff lr $AC0.L, @0x03ff + 0712 00d0 03fd lr $AC0.H, @0x03fd + 0714 00da 03fa lr $AX0.H, @0x03fa + 0716 1305 sbset #0x05 + 0717 02ff rti + 0718 009a 0002 lri $AX0.H, #0x0002 + 071a 00fa 03a3 sr @0x03a3, $AX0.H + 071c 00e0 03f9 sr @0x03f9, $AR0 + 071e 02bf 07a4 call 0x07a4 + 0720 16fc dcd1 si @DMBH, #0xdcd1 + 0722 16fd 0002 si @DMBL, #0x0002 + 0724 16fb 0001 si @DIRQ, #0x0001 + 0726 0021 halt + 0727 073f cmpis $ACC1, #0x3f + 0728 0740 cmpis $ACC1, #0x40 + 0729 0780 cmpis $ACC1, #0x80 + 072a 0783 cmpis $ACC1, #0x83 + 072b 00e0 03f9 sr @0x03f9, $AR0 + 072d 009e 0005 lri $AC0.M, #0x0005 + 072f 02bf 0792 call 0x0792 + 0731 8e00 set16 + 0732 8100 clr $ACC0 + 0733 8900 clr $ACC1 + 0734 02bf 0786 call 0x0786 + 0736 27ff lrs $AC1.M, @CMBL + 0737 009e 0727 lri $AC0.M, #0x0727 + 0739 4c00 add $ACC0, $ACC1 + 073a 1c7e mrr $AR3, $AC0.M + 073b 0313 ilrr $AC1.M, @$AR3 + 073c 1c7f mrr $AR3, $AC1.M + 073d 176f jmpr $AR3 + 073e 0021 halt + 073f 0021 halt + 0740 009a 0002 lri $AX0.H, #0x0002 + 0742 00fa 03a3 sr @0x03a3, $AX0.H + 0744 8100 clr $ACC0 + 0745 8900 clr $ACC1 + 0746 02bf 0786 call 0x0786 + 0748 24ff lrs $AC0.L, @CMBL + 0749 02bf 078c call 0x078c + 074b 25ff lrs $AC1.L, @CMBL + 074c 02bf 078c call 0x078c + 074e 27ff lrs $AC1.M, @CMBL + 074f 2ece srs @DSMAH, $AC0.M + 0750 2ccf srs @DSMAL, $AC0.L + 0751 16c9 0001 si @DSCR, #0x0001 + 0753 2fcd srs @DSPA, $AC1.M + 0754 2dcb srs @DSBL, $AC1.L + 0755 8100 clr $ACC0 + 0756 8900 clr $ACC1 + 0757 02bf 0786 call 0x0786 + 0759 24ff lrs $AC0.L, @CMBL + 075a 1c9e mrr $IX0, $AC0.M + 075b 1cbc mrr $IX1, $AC0.L + 075c 02bf 078c call 0x078c + 075e 25ff lrs $AC1.L, @CMBL + 075f 02bf 078c call 0x078c + 0761 27ff lrs $AC1.M, @CMBL + 0762 1cdf mrr $IX2, $AC1.M + 0763 1cfd mrr $IX3, $AC1.L + 0764 8100 clr $ACC0 + 0765 02bf 0786 call 0x0786 + 0767 26ff lrs $AC0.M, @CMBL + 0768 1c1e mrr $AR0, $AC0.M + 0769 8900 clr $ACC1 + 076a 02bf 078c call 0x078c + 076c 20ff lrs $AX0.L, @CMBL + 076d 1f5f mrr $AX0.H, $AC1.M + 076e 02bf 0786 call 0x0786 + 0770 21ff lrs $AX1.L, @CMBL + 0771 02bf 0786 call 0x0786 + 0773 23ff lrs $AX1.H, @CMBL + 0774 26c9 lrs $AC0.M, @DSCR + 0775 02a0 0004 andf $AC0.M, #0x0004 + 0777 029c 0774 jlnz 0x0774 + 0779 1206 sbclr #0x06 + 077a 1203 sbclr #0x03 + 077b 1204 sbclr #0x04 + 077c 1205 sbclr #0x05 + 077d 029f 80b5 jmp 0x80b5 + 077f 0021 halt + 0780 029f 8000 jmp 0x8000 + 0782 0021 halt + 0783 00c0 03f9 lr $AR0, @0x03f9 + 0785 170f jmpr $AR0 + 0786 26fe lrs $AC0.M, @CMBH + 0787 02c0 8000 andcf $AC0.M, #0x8000 + 0789 029c 0786 jlnz 0x0786 + 078b 02df ret + 078c 27fe lrs $AC1.M, @CMBH + 078d 03c0 8000 andcf $AC1.M, #0x8000 + 078f 029c 078c jlnz 0x078c + 0791 02df ret + 0792 02bf 07aa call 0x07aa + 0794 16fc dcd1 si @DMBH, #0xdcd1 + 0796 2efd srs @DMBL, $AC0.M + 0797 16fb 0001 si @DIRQ, #0x0001 + 0799 02bf 07aa call 0x07aa + 079b 02df ret + 079c 02bf 07aa call 0x07aa + 079e 16fc f355 si @DMBH, #0xf355 + 07a0 2efd srs @DMBL, $AC0.M + 07a1 02bf 07aa call 0x07aa + 07a3 02df ret + 07a4 26fc lrs $AC0.M, @DMBH + 07a5 02c0 8000 andcf $AC0.M, #0x8000 + 07a7 029d 07a4 jlz 0x07a4 + 07a9 02df ret + 07aa 27fc lrs $AC1.M, @DMBH + 07ab 03c0 8000 andcf $AC1.M, #0x8000 + 07ad 029d 07aa jlz 0x07aa + 07af 02df ret + 07b0 009a 0280 lri $AX0.H, #0x0280 + 07b2 00fa 0350 sr @0x0350, $AX0.H + 07b4 00fa 0351 sr @0x0351, $AX0.H + 07b6 0a00 lris $AX0.H, #0x00 + 07b7 00fa 0352 sr @0x0352, $AX0.H + 07b9 02df ret + 07ba 00e0 03fb sr @0x03fb, $AR0 + 07bc 00e8 03fc sr @0x03fc, $WR0 + 07be 00c0 0350 lr $AR0, @0x0350 + 07c0 0088 002f lri $WR0, #0x002f + 07c2 1b1a srri @$AR0, $AX0.H + 07c3 00de fffe lr $AC0.M, @CMBH + 07c5 02c0 8000 andcf $AC0.M, #0x8000 + 07c7 029c 07c3 jlnz 0x07c3 + 07c9 00dc ffff lr $AC0.L, @CMBL + 07cb 1b1e srri @$AR0, $AC0.M + 07cc 1b1c srri @$AR0, $AC0.L + 07cd 1fda mrr $AC0.M, $AX0.H + 07ce 7800 decm $AC0.M + 07cf 1f5e mrr $AX0.H, $AC0.M + 07d0 8600 tstaxh $AX0.H + 07d1 0294 07c3 jnz 0x07c3 + 07d3 8100 clr $ACC0 + 07d4 00de 0352 lr $AC0.M, @0x0352 + 07d6 7400 incm $AC0.M + 07d7 00fe 0352 sr @0x0352, $AC0.M + 07d9 00e0 0350 sr @0x0350, $AR0 + 07db 00c0 03fb lr $AR0, @0x03fb + 07dd 00c8 03fc lr $WR0, @0x03fc + 07df 029f 070e jmp 0x070e + 07e1 00e0 03fb sr @0x03fb, $AR0 + 07e3 00e8 03fc sr @0x03fc, $WR0 + 07e5 00c0 0350 lr $AR0, @0x0350 + 07e7 0088 002f lri $WR0, #0x002f + 07e9 0a00 lris $AX0.H, #0x00 + 07ea 1b1a srri @$AR0, $AX0.H + 07eb 029f 07d3 jmp 0x07d3 + 07ed 00c0 0351 lr $AR0, @0x0351 + 07ef 0088 002f lri $WR0, #0x002f + 07f1 00da 0352 lr $AX0.H, @0x0352 + 07f3 8600 tstaxh $AX0.H + 07f4 0295 0815 jz 0x0815 + 07f6 1205 sbclr #0x05 + 07f7 00da 0352 lr $AX0.H, @0x0352 + 07f9 1fda mrr $AC0.M, $AX0.H + 07fa 7800 decm $AC0.M + 07fb 00fe 0352 sr @0x0352, $AC0.M + 07fd 1305 sbset #0x05 + 07fe 0081 0356 lri $AR1, #0x0356 + 0800 191e lrri $AC0.M, @$AR0 + 0801 02c0 8000 andcf $AC0.M, #0x8000 + 0803 029d 0819 jlz 0x0819 + 0805 1f5e mrr $AX0.H, $AC0.M + 0806 8600 tstaxh $AX0.H + 0807 0295 081d jz 0x081d + 0809 007a 080e bloop $AX0.H, 0x080e + 080b 191e lrri $AC0.M, @$AR0 + 080c 1b3e srri @$AR1, $AC0.M + 080d 191e lrri $AC0.M, @$AR0 + 080e 1b3e srri @$AR1, $AC0.M + 080f 00e0 0351 sr @0x0351, $AR0 + 0811 0088 ffff lri $WR0, #0xffff + 0813 029f 002d jmp 0x002d + 0815 0088 ffff lri $WR0, #0xffff + 0817 029f 002b jmp 0x002b + 0819 00e0 0351 sr @0x0351, $AR0 + 081b 029f 07f1 jmp 0x07f1 + 081d 0080 07ed lri $AR0, #0x07ed + 081f 029f 0718 jmp 0x0718 + 0821 8100 clr $ACC0 + 0822 0e10 lris $AC0.M, #0x10 + 0823 2232 lrs $AX0.H, @0x0032 + 0824 8600 tstaxh $AX0.H + 0825 02d5 retz + 0826 5400 subr $ACC0, $AX0.H + 0827 0200 0458 addi $AC0.M, #0x0458 + 0829 1c1e mrr $AR0, $AC0.M + 082a 1fda mrr $AC0.M, $AX0.H + 082b 04fe addis $ACC0, #0xfe + 082c 1f1e mrr $AX0.L, $AC0.M + 082d 191e lrri $AC0.M, @$AR0 + 082e 0291 0834 jl 0x0834 + 0830 191a lrri $AX0.H, @$AR0 + 0831 0058 loop $AX0.L + 0832 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0833 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 0834 1b7e srri @$AR3, $AC0.M + 0835 02df ret + 0836 02bf 0821 call 0x0821 + 0838 8100 clr $ACC0 + 0839 2632 lrs $AC0.M, @0x0032 + 083a 5c00 sub $ACC0, $ACC1 + 083b 2e32 srs @0x0032, $AC0.M + 083c 0092 00ff lri $CR, #0x00ff + 083e 02df ret + 083f 00de 04fb lr $AC0.M, @0x04fb + 0841 7400 incm $AC0.M + 0842 00fe 04fb sr @0x04fb, $AC0.M + 0844 8100 clr $ACC0 + 0845 2e32 srs @0x0032, $AC0.M + 0846 2e66 srs @0x0066, $AC0.M + 0847 2e67 srs @0x0067, $AC0.M + 0848 268a lrs $AC0.M, @0xff8a + 0849 248b lrs $AC0.L, @0xff8b + 084a 2e3a srs @0x003a, $AC0.M + 084b 2c3b srs @0x003b, $AC0.L + 084c 268c lrs $AC0.M, @0xff8c + 084d 248d lrs $AC0.L, @0xff8d + 084e 2e38 srs @0x0038, $AC0.M + 084f 2c39 srs @0x0039, $AC0.L + 0850 02df ret + 0851 8100 clr $ACC0 + 0852 2689 lrs $AC0.M, @0xff89 + 0853 0240 000f andi $AC0.M, #0x000f + 0855 1f5e mrr $AX0.H, $AC0.M + 0856 8100 clr $ACC0 + 0857 0e10 lris $AC0.M, #0x10 + 0858 5400 subr $ACC0, $AX0.H + 0859 2e32 srs @0x0032, $AC0.M + 085a 268a lrs $AC0.M, @0xff8a + 085b 248b lrs $AC0.L, @0xff8b + 085c 2288 lrs $AX0.H, @0xff88 + 085d 2089 lrs $AX0.L, @0xff89 + 085e 5800 subax $ACC0, $AX0.L + 085f 0a00 lris $AX0.H, #0x00 + 0860 2032 lrs $AX0.L, @0x0032 + 0861 5800 subax $ACC0, $AX0.L + 0862 2e3a srs @0x003a, $AC0.M + 0863 2c3b srs @0x003b, $AC0.L + 0864 02df ret + 0865 0092 0004 lri $CR, #0x0004 + 0867 8100 clr $ACC0 + 0868 2604 lrs $AC0.M, @0x0004 + 0869 b100 tst $ACC0 + 086a 02b4 083f callnz 0x083f + 086c 8100 clr $ACC0 + 086d 2601 lrs $AC0.M, @0x0001 + 086e b100 tst $ACC0 + 086f 0294 090d jnz 0x090d + 0871 2232 lrs $AX0.H, @0x0032 + 0872 c900 cmpar $ACC0, $AX1.H + 0873 0293 0836 jle 0x0836 + 0875 5500 subr $ACC1, $AX0.H + 0876 02bf 0821 call 0x0821 + 0878 223a lrs $AX0.H, @0x003a + 0879 8600 tstaxh $AX0.H + 087a 0294 0881 jnz 0x0881 + 087c 8100 clr $ACC0 + 087d 263b lrs $AC0.M, @0x003b + 087e 8200 cmp + 087f 0291 08d3 jl 0x08d3 + 0881 8100 clr $ACC0 + 0882 1fdf mrr $AC0.M, $AC1.M + 0883 040f addis $ACC0, #0x0f + 0884 147c lsr $ACC0, #-4 + 0885 1f7e mrr $AX1.H, $AC0.M + 0886 0c00 lris $AC0.L, #0x00 + 0887 1404 lsl $ACC0, #4 + 0888 1f1e mrr $AX0.L, $AC0.M + 0889 0a00 lris $AX0.H, #0x00 + 088a 8100 clr $ACC0 + 088b 263a lrs $AC0.M, @0x003a + 088c 243b lrs $AC0.L, @0x003b + 088d 5800 subax $ACC0, $AX0.L + 088e 0290 0899 jge 0x0899 + 0890 8100 clr $ACC0 + 0891 263b lrs $AC0.M, @0x003b + 0892 5c00 sub $ACC0, $ACC1 + 0893 2e32 srs @0x0032, $AC0.M + 0894 8100 clr $ACC0 + 0895 2e3a srs @0x003a, $AC0.M + 0896 2e3b srs @0x003b, $AC0.M + 0897 029f 089f jmp 0x089f + 0899 2e3a srs @0x003a, $AC0.M + 089a 2c3b srs @0x003b, $AC0.L + 089b 0c00 lris $AC0.L, #0x00 + 089c 1fd8 mrr $AC0.M, $AX0.L + 089d 5c00 sub $ACC0, $ACC1 + 089e 2e32 srs @0x0032, $AC0.M + 089f 8100 clr $ACC0 + 08a0 1fdb mrr $AC0.M, $AX1.H + 08a1 02bf 0913 call 0x0913 + 08a3 2232 lrs $AX0.H, @0x0032 + 08a4 8600 tstaxh $AX0.H + 08a5 0295 08d0 jz 0x08d0 + 08a7 0a10 lris $AX0.H, #0x10 + 08a8 8100 clr $ACC0 + 08a9 1fc3 mrr $AC0.M, $AR3 + 08aa 5400 subr $ACC0, $AX0.H + 08ab 1c7e mrr $AR3, $AC0.M + 08ac 0080 0458 lri $AR0, #0x0458 + 08ae 197e lrri $AC0.M, @$AR3 + 08af 197a lrri $AX0.H, @$AR3 + 08b0 100e loopi #0x0e + 08b1 64a2 movr'sl $ACC0, $AX0.H : $AC0.M, $AX0.H + 08b2 1b1e srri @$AR0, $AC0.M + 08b3 1b1a srri @$AR0, $AX0.H + 08b4 8100 clr $ACC0 + 08b5 263a lrs $AC0.M, @0x003a + 08b6 243b lrs $AC0.L, @0x003b + 08b7 b100 tst $ACC0 + 08b8 0294 08d0 jnz 0x08d0 + 08ba 2232 lrs $AX0.H, @0x0032 + 08bb 8600 tstaxh $AX0.H + 08bc 0295 08d0 jz 0x08d0 + 08be 0080 0467 lri $AR0, #0x0467 + 08c0 8100 clr $ACC0 + 08c1 268b lrs $AC0.M, @0xff8b + 08c2 b100 tst $ACC0 + 08c3 0295 08d0 jz 0x08d0 + 08c5 0200 000f addi $AC0.M, #0x000f + 08c7 0240 000f andi $AC0.M, #0x000f + 08c9 0200 0458 addi $AC0.M, #0x0458 + 08cb 1c7e mrr $AR3, $AC0.M + 08cc 007a 08cf bloop $AX0.H, 0x08cf + 08ce 18fe lrrd $AC0.M, @$AR3 + 08cf 1a9e srrd @$AR0, $AC0.M + 08d0 0092 00ff lri $CR, #0x00ff + 08d2 02df ret + 08d3 b100 tst $ACC0 + 08d4 0295 08e3 jz 0x08e3 + 08d6 5d00 sub $ACC1, $ACC0 + 08d7 040f addis $ACC0, #0x0f + 08d8 147c lsr $ACC0, #-4 + 08d9 0c00 lris $AC0.L, #0x00 + 08da 00e3 0363 sr @0x0363, $AR3 + 08dc 02bf 0913 call 0x0913 + 08de 00de 0363 lr $AC0.M, @0x0363 + 08e0 223b lrs $AX0.H, @0x003b + 08e1 4400 addr $ACC0, $AX0.H + 08e2 1c7e mrr $AR3, $AC0.M + 08e3 8100 clr $ACC0 + 08e4 2681 lrs $AC0.M, @0xff81 + 08e5 b100 tst $ACC0 + 08e6 0295 090b jz 0x090b + 08e8 2380 lrs $AX1.H, @0xff80 + 08e9 2688 lrs $AC0.M, @0xff88 + 08ea 2489 lrs $AC0.L, @0xff89 + 08eb 1408 lsl $ACC0, #8 + 08ec 14f4 asr $ACC0, #-12 + 08ed 2380 lrs $AX1.H, @0xff80 + 08ee 8d00 set15 + 08ef c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L + 08f0 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 08f1 8c00 clr15 + 08f2 f000 lsl16 $ACC0 + 08f3 4e00 addp $ACC0 + 08f4 238c lrs $AX1.H, @0xff8c + 08f5 218d lrs $AX1.L, @0xff8d + 08f6 4a00 addax $ACC0, $AX1.L + 08f7 2e38 srs @0x0038, $AC0.M + 08f8 2c39 srs @0x0039, $AC0.L + 08f9 2682 lrs $AC0.M, @0xff82 + 08fa 2e67 srs @0x0067, $AC0.M + 08fb 2683 lrs $AC0.M, @0xff83 + 08fc 2e66 srs @0x0066, $AC0.M + 08fd 00e3 0363 sr @0x0363, $AR3 + 08ff 0083 0458 lri $AR3, #0x0458 + 0901 8100 clr $ACC0 + 0902 0e01 lris $AC0.M, #0x01 + 0903 02bf 0913 call 0x0913 + 0905 00c3 0363 lr $AR3, @0x0363 + 0907 02bf 0851 call 0x0851 + 0909 029f 0871 jmp 0x0871 + 090b 0e01 lris $AC0.M, #0x01 + 090c 2e01 srs @0x0001, $AC0.M + 090d 8100 clr $ACC0 + 090e 005f loop $AC1.M + 090f 1b7e srri @$AR3, $AC0.M + 0910 0092 00ff lri $CR, #0x00ff + 0912 02df ret + 0913 00ff 0360 sr @0x0360, $AC1.M + 0915 00fe 0361 sr @0x0361, $AC0.M + 0917 2638 lrs $AC0.M, @0x0038 + 0918 2439 lrs $AC0.L, @0x0039 + 0919 0f05 lris $AC1.M, #0x05 + 091a 02bf 0656 call 0x0656 + 091c 2638 lrs $AC0.M, @0x0038 + 091d 2439 lrs $AC0.L, @0x0039 + 091e 8900 clr $ACC1 + 091f 00df 0361 lr $AC1.M, @0x0361 + 0921 2280 lrs $AX0.H, @0xff80 + 0922 d000 mulc $AC1.M, $AX0.H + 0923 6f00 movp $ACC1 + 0924 4c00 add $ACC0, $ACC1 + 0925 2e38 srs @0x0038, $AC0.M + 0926 2c39 srs @0x0039, $AC0.L + 0927 8100 clr $ACC0 + 0928 00de 0361 lr $AC0.M, @0x0361 + 092a 007e 0991 bloop $AC0.M, 0x0991 + 092c 0080 ffd3 lri $AR0, #0xffd3 + 092e 0084 0000 lri $IX0, #0x0000 + 0930 199e lrrn $AC0.M, @$AR0 + 0931 8900 clr $ACC1 + 0932 1ffe mrr $AC1.M, $AC0.M + 0933 1401 lsl $ACC0, #1 + 0934 0240 001e andi $AC0.M, #0x001e + 0936 0200 0300 addi $AC0.M, #0x0300 + 0938 1c3e mrr $AR1, $AC0.M + 0939 157c lsr $ACC1, #-4 + 093a 0340 000f andi $AC1.M, #0x000f + 093c 0a11 lris $AX0.H, #0x11 + 093d 5500 subr $ACC1, $AX0.H + 093e 8100 clr $ACC0 + 093f 2680 lrs $AC0.M, @0xff80 + 0940 0605 cmpis $ACC0, #0x05 + 0941 0295 095a jz 0x095a + 0943 009a 00f0 lri $AX0.H, #0x00f0 + 0945 0b0f lris $AX1.H, #0x0f + 0946 0082 0364 lri $AR2, #0x0364 + 0948 1998 lrrn $AX0.L, @$AR0 + 0949 6000 movr $ACC0, $AX0.L + 094a 1107 0951 bloopi #0x07, 0x0951 + 094c 3400 andr $AC0.M, $AX0.H + 094d 1408 lsl $ACC0, #8 + 094e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 094f 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 0950 140c lsl $ACC0, #12 + 0951 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0952 3400 andr $AC0.M, $AX0.H + 0953 1408 lsl $ACC0, #8 + 0954 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0955 3600 andr $AC0.M, $AX1.H + 0956 140c lsl $ACC0, #12 + 0957 1b5e srri @$AR2, $AC0.M + 0958 029f 097a jmp 0x097a + 095a 009a c000 lri $AX0.H, #0xc000 + 095c 0082 0364 lri $AR2, #0x0364 + 095e 1998 lrrn $AX0.L, @$AR0 + 095f 6000 movr $ACC0, $AX0.L + 0960 1103 096d bloopi #0x03, 0x096d + 0962 1408 lsl $ACC0, #8 + 0963 3400 andr $AC0.M, $AX0.H + 0964 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0965 140a lsl $ACC0, #10 + 0966 3400 andr $AC0.M, $AX0.H + 0967 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0968 140c lsl $ACC0, #12 + 0969 3400 andr $AC0.M, $AX0.H + 096a 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 096b 140e lsl $ACC0, #14 + 096c 3444 andr'ln $AC0.M, $AX0.H : $AX0.L, @$AR0 + 096d 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 096e 1408 lsl $ACC0, #8 + 096f 3400 andr $AC0.M, $AX0.H + 0970 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0971 140a lsl $ACC0, #10 + 0972 3400 andr $AC0.M, $AX0.H + 0973 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0974 140c lsl $ACC0, #12 + 0975 3400 andr $AC0.M, $AX0.H + 0976 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0977 140e lsl $ACC0, #14 + 0978 3400 andr $AC0.M, $AX0.H + 0979 1b5e srri @$AR2, $AC0.M + 097a 8f00 set40 + 097b 1f7f mrr $AX1.H, $AC1.M + 097c 2066 lrs $AX0.L, @0x0066 + 097d 2767 lrs $AC1.M, @0x0067 + 097e 193a lrri $AX0.H, @$AR1 + 097f 1939 lrri $AX1.L, @$AR1 + 0980 0080 0364 lri $AR0, #0x0364 + 0982 a000 mulx $AX0.L, $AX1.L + 0983 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 + 0984 1108 098d bloopi #0x08, 0x098d + 0986 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 0987 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 0988 1485 asl $ACC0, #5 + 0989 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 098a 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 098b a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 098c 1585 asl $ACC1, #5 + 098d ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M + 098e 2f67 srs @0x0067, $AC1.M + 098f 8e00 set16 + 0990 1ff8 mrr $AC1.M, $AX0.L + 0991 2f66 srs @0x0066, $AC1.M + 0992 8900 clr $ACC1 + 0993 00df 0360 lr $AC1.M, @0x0360 + 0995 02df ret + 0996 b100 tst $ACC0 + 0997 02d5 retz + 0998 04fe addis $ACC0, #0xfe + 0999 1f1e mrr $AX0.L, $AC0.M + 099a 191e lrri $AC0.M, @$AR0 + 099b 0291 09a1 jl 0x09a1 + 099d 191a lrri $AX0.H, @$AR0 + 099e 0058 loop $AX0.L + 099f 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 09a0 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 09a1 1b7e srri @$AR3, $AC0.M + 09a2 02df ret + 09a3 8100 clr $ACC0 + 09a4 1f5e mrr $AX0.H, $AC0.M + 09a5 00d8 0402 lr $AX0.L, @0x0402 + 09a7 00dc 0430 lr $AC0.L, @0x0430 + 09a9 0080 0520 lri $AR0, #0x0520 + 09ab 00df 0480 lr $AC1.M, @0x0480 + 09ad 1501 lsl $ACC1, #1 + 09ae 0340 007e andi $AC1.M, #0x007e + 09b0 0300 09b8 addi $AC1.M, #0x09b8 + 09b2 1c5f mrr $AR2, $AC1.M + 09b3 175f callr $AR2 + 09b4 00fc 0430 sr @0x0430, $AC0.L + 09b6 029f 0338 jmp 0x0338 + 09b8 029f 09d9 jmp 0x09d9 + 09ba 029f 0a14 jmp 0x0a14 + 09bc 029f 09fc jmp 0x09fc + 09be 029f 09e9 jmp 0x09e9 + 09c0 029f 0a22 jmp 0x0a22 + 09c2 029f 09d8 jmp 0x09d8 + 09c4 029f 0a40 jmp 0x0a40 + 09c6 029f 0a43 jmp 0x0a43 + 09c8 029f 09d8 jmp 0x09d8 + 09ca 029f 09d8 jmp 0x09d8 + 09cc 029f 0a61 jmp 0x0a61 + 09ce 029f 0a1a jmp 0x0a1a + 09d0 029f 0a1e jmp 0x0a1e + 09d2 029f 09d8 jmp 0x09d8 + 09d4 029f 09d8 jmp 0x09d8 + 09d6 029f 09d8 jmp 0x09d8 + 09d8 02df ret + 09d9 1401 lsl $ACC0, #1 + 09da 009b c000 lri $AX1.H, #0xc000 + 09dc 0099 4000 lri $AX1.L, #0x4000 + 09de 1150 09e6 bloopi #0x50, 0x09e6 + 09e0 02c0 0001 andcf $AC0.M, #0x0001 + 09e2 027c iflnz + 09e3 1b1b srri @$AR0, $AX1.H + 09e4 027d iflz + 09e5 1b19 srri @$AR0, $AX1.L + 09e6 4800 addax $ACC0, $AX0.L + 09e7 147f lsr $ACC0, #-1 + 09e8 02df ret + 09e9 1402 lsl $ACC0, #2 + 09ea 8900 clr $ACC1 + 09eb 1fb8 mrr $AC1.L, $AX0.L + 09ec 1501 lsl $ACC1, #1 + 09ed 009b c000 lri $AX1.H, #0xc000 + 09ef 0099 4000 lri $AX1.L, #0x4000 + 09f1 1150 09f9 bloopi #0x50, 0x09f9 + 09f3 02c0 0003 andcf $AC0.M, #0x0003 + 09f5 027c iflnz + 09f6 1b1b srri @$AR0, $AX1.H + 09f7 027d iflz + 09f8 1b19 srri @$AR0, $AX1.L + 09f9 4c00 add $ACC0, $ACC1 + 09fa 147e lsr $ACC0, #-2 + 09fb 02df ret + 09fc 1401 lsl $ACC0, #1 + 09fd 0081 0ca0 lri $AR1, #0x0ca0 + 09ff 009b c000 lri $AX1.H, #0xc000 + 0a01 0099 4000 lri $AX1.L, #0x4000 + 0a03 8900 clr $ACC1 + 0a04 0082 0000 lri $AR2, #0x0000 + 0a06 1150 0a11 bloopi #0x50, 0x0a11 + 0a08 02c0 0001 andcf $AC0.M, #0x0001 + 0a0a 027c iflnz + 0a0b 1b1b srri @$AR0, $AX1.H + 0a0c 027d iflz + 0a0d 1b19 srri @$AR0, $AX1.L + 0a0e 183d lrr $AC1.L, @$AR1 + 0a0f 4900 addax $ACC1, $AX0.L + 0a10 1fe2 mrr $AC1.M, $AR2 + 0a11 4c39 add's $ACC0, $ACC1 : @$AR1, $AC1.M + 0a12 147f lsr $ACC0, #-1 + 0a13 02df ret + 0a14 8900 clr $ACC1 + 0a15 1fb8 mrr $AC1.L, $AX0.L + 0a16 157f lsr $ACC1, #-1 + 0a17 1050 loopi #0x50 + 0a18 4c20 add's $ACC0, $ACC1 : @$AR0, $AC0.L + 0a19 02df ret + 0a1a 0082 0180 lri $AR2, #0x0180 + 0a1c 029f 0a24 jmp 0x0a24 + 0a1e 0082 01c0 lri $AR2, #0x01c0 + 0a20 029f 0a24 jmp 0x0a24 + 0a22 0082 0140 lri $AR2, #0x0140 + 0a24 008a 003f lri $WR2, #0x003f + 0a26 0086 0000 lri $IX2, #0x0000 + 0a28 1406 lsl $ACC0, #6 + 0a29 8900 clr $ACC1 + 0a2a 1fb8 mrr $AC1.L, $AX0.L + 0a2b 1505 lsl $ACC1, #5 + 0a2c 009b 003f lri $AX1.H, #0x003f + 0a2e 009a 0000 lri $AX0.H, #0x0000 + 0a30 3600 andr $AC0.M, $AX1.H + 0a31 1cde mrr $IX2, $AC0.M + 0a32 001a addarn $AR2, $IX2 + 0a33 3400 andr $AC0.M, $AX0.H + 0a34 1150 0a3a bloopi #0x50, 0x0a3a + 0a36 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0a37 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a38 1cde mrr $IX2, $AC0.M + 0a39 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a3a 1b19 srri @$AR0, $AX1.L + 0a3b 1fc2 mrr $AC0.M, $AR2 + 0a3c 147a lsr $ACC0, #-6 + 0a3d 008a ffff lri $WR2, #0xffff + 0a3f 02df ret + 0a40 1050 loopi #0x50 + 0a41 1b18 srri @$AR0, $AX0.L + 0a42 02df ret + 0a43 0082 0100 lri $AR2, #0x0100 + 0a45 008a 003f lri $WR2, #0x003f + 0a47 0086 0000 lri $IX2, #0x0000 + 0a49 1406 lsl $ACC0, #6 + 0a4a 8900 clr $ACC1 + 0a4b 1fb8 mrr $AC1.L, $AX0.L + 0a4c 1505 lsl $ACC1, #5 + 0a4d 009b 003f lri $AX1.H, #0x003f + 0a4f 009a 0000 lri $AX0.H, #0x0000 + 0a51 3600 andr $AC0.M, $AX1.H + 0a52 1cde mrr $IX2, $AC0.M + 0a53 001a addarn $AR2, $IX2 + 0a54 3400 andr $AC0.M, $AX0.H + 0a55 1150 0a5b bloopi #0x50, 0x0a5b + 0a57 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0a58 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a59 1cde mrr $IX2, $AC0.M + 0a5a 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a5b 1b19 srri @$AR0, $AX1.L + 0a5c 1fc2 mrr $AC0.M, $AR2 + 0a5d 147a lsr $ACC0, #-6 + 0a5e 008a ffff lri $WR2, #0xffff + 0a60 02df ret + 0a61 0082 0100 lri $AR2, #0x0100 + 0a63 008a 003f lri $WR2, #0x003f + 0a65 0086 0000 lri $IX2, #0x0000 + 0a67 0081 0ca0 lri $AR1, #0x0ca0 + 0a69 1406 lsl $ACC0, #6 + 0a6a 8900 clr $ACC1 + 0a6b 1fb8 mrr $AC1.L, $AX0.L + 0a6c 1505 lsl $ACC1, #5 + 0a6d 009b 003f lri $AX1.H, #0x003f + 0a6f 009a 0000 lri $AX0.H, #0x0000 + 0a71 3600 andr $AC0.M, $AX1.H + 0a72 1cde mrr $IX2, $AC0.M + 0a73 001a addarn $AR2, $IX2 + 0a74 3400 andr $AC0.M, $AX0.H + 0a75 1150 0a80 bloopi #0x50, 0x0a80 + 0a77 1939 lrri $AX1.L, @$AR1 + 0a78 a000 mulx $AX0.L, $AX1.L + 0a79 140a lsl $ACC0, #10 + 0a7a 4e00 addp $ACC0 + 0a7b 1476 lsr $ACC0, #-10 + 0a7c 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0a7d 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a7e 1cde mrr $IX2, $AC0.M + 0a7f 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a80 1b19 srri @$AR0, $AX1.L + 0a81 1fc2 mrr $AC0.M, $AR2 + 0a82 147a lsr $ACC0, #-6 + 0a83 008a ffff lri $WR2, #0xffff + 0a85 02df ret + 0a86 0080 01be lri $AR0, #0x01be + 0a88 1918 lrri $AX0.L, @$AR0 + 0a89 191a lrri $AX0.H, @$AR0 + 0a8a 0080 0180 lri $AR0, #0x0180 + 0a8c 0083 0180 lri $AR3, #0x0180 + 0a8e 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0a8f 1ffe mrr $AC1.M, $AC0.M + 0a90 1120 0a97 bloopi #0x20, 0x0a97 + 0a92 7c00 neg $ACC0 + 0a93 d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0a94 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0a95 c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 + 0a96 1501 lsl $ACC1, #1 + 0a97 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M + 0a98 0080 01fe lri $AR0, #0x01fe + 0a9a 191a lrri $AX0.H, @$AR0 + 0a9b 1918 lrri $AX0.L, @$AR0 + 0a9c 0080 01c0 lri $AR0, #0x01c0 + 0a9e 0083 01c0 lri $AR3, #0x01c0 + 0aa0 1ff8 mrr $AC1.M, $AX0.L + 0aa1 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0aa2 f800 addpaxz $ACC0, $AX0.H + 0aa3 0240 01ff andi $AC0.M, #0x01ff + 0aa5 0260 2000 ori $AC0.M, #0x2000 + 0aa7 02bf 0aaa call 0x0aaa + 0aa9 02df ret + 0aaa b900 tst $ACC1 + 0aab 0272 ifg + 0aac 7c00 neg $ACC0 + 0aad 1f7e mrr $AX1.H, $AC0.M + 0aae 4700 addr $ACC1, $AX1.H + 0aaf 1110 0ab4 bloopi #0x10, 0x0ab4 + 0ab1 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0ab2 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0ab3 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0ab4 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0ab5 02df ret + 0ab6 02bf 0b23 call 0x0b23 + 0ab8 2201 lrs $AX0.H, @0x0001 + 0ab9 8600 tstaxh $AX0.H + 0aba 0294 0acb jnz 0x0acb + 0abc 2204 lrs $AX0.H, @0x0004 + 0abd 8600 tstaxh $AX0.H + 0abe 02b4 0b12 callnz 0x0b12 + 0ac0 8100 clr $ACC0 + 0ac1 2605 lrs $AC0.M, @0x0005 + 0ac2 b100 tst $ACC0 + 0ac3 0295 0ad8 jz 0x0ad8 + 0ac5 8100 clr $ACC0 + 0ac6 2e05 srs @0x0005, $AC0.M + 0ac7 2281 lrs $AX0.H, @0xff81 + 0ac8 8600 tstaxh $AX0.H + 0ac9 0294 0ad2 jnz 0x0ad2 + 0acb 8100 clr $ACC0 + 0acc 005f loop $AC1.M + 0acd 1b7e srri @$AR3, $AC0.M + 0ace 7400 incm $AC0.M + 0acf 2e01 srs @0x0001, $AC0.M + 0ad0 029f 0b0b jmp 0x0b0b + 0ad2 2688 lrs $AC0.M, @0xff88 + 0ad3 2489 lrs $AC0.L, @0xff89 + 0ad4 2e34 srs @0x0034, $AC0.M + 0ad5 2c35 srs @0x0035, $AC0.L + 0ad6 02bf 0b12 call 0x0b12 + 0ad8 00ff 0360 sr @0x0360, $AC1.M + 0ada 2638 lrs $AC0.M, @0x0038 + 0adb 2439 lrs $AC0.L, @0x0039 + 0adc 02bf 0684 call 0x0684 + 0ade 00df 0360 lr $AC1.M, @0x0360 + 0ae0 8100 clr $ACC0 + 0ae1 263a lrs $AC0.M, @0x003a + 0ae2 b100 tst $ACC0 + 0ae3 0294 0af2 jnz 0x0af2 + 0ae5 263b lrs $AC0.M, @0x003b + 0ae6 5c00 sub $ACC0, $ACC1 + 0ae7 0290 0af2 jge 0x0af2 + 0ae9 223b lrs $AX0.H, @0x003b + 0aea 02bf 06a1 call 0x06a1 + 0aec 5500 subr $ACC1, $AX0.H + 0aed 0a01 lris $AX0.H, #0x01 + 0aee 00fa 0405 sr @0x0405, $AX0.H + 0af0 029f 0ac5 jmp 0x0ac5 + 0af2 1f5f mrr $AX0.H, $AC1.M + 0af3 02bf 06a1 call 0x06a1 + 0af5 00fa 0362 sr @0x0362, $AX0.H + 0af7 8100 clr $ACC0 + 0af8 263a lrs $AC0.M, @0x003a + 0af9 243b lrs $AC0.L, @0x003b + 0afa 1570 lsr $ACC1, #-16 + 0afb 0a01 lris $AX0.H, #0x01 + 0afc 0081 0405 lri $AR1, #0x0405 + 0afe 5c00 sub $ACC0, $ACC1 + 0aff b100 tst $ACC0 + 0b00 0275 ifz + 0b01 1a3a srr @$AR1, $AX0.H + 0b02 2e3a srs @0x003a, $AC0.M + 0b03 2c3b srs @0x003b, $AC0.L + 0b04 2638 lrs $AC0.M, @0x0038 + 0b05 2439 lrs $AC0.L, @0x0039 + 0b06 00d8 0362 lr $AX0.L, @0x0362 + 0b08 7000 addaxl $ACC0, $AX0.L + 0b09 2c39 srs @0x0039, $AC0.L + 0b0a 2e38 srs @0x0038, $AC0.M + 0b0b 0092 00ff lri $CR, #0x00ff + 0b0d 029f 0330 jmp 0x0330 + 0b0f 8100 clr $ACC0 + 0b10 2e34 srs @0x0034, $AC0.M + 0b11 2e35 srs @0x0035, $AC0.M + 0b12 2334 lrs $AX1.H, @0x0034 + 0b13 2135 lrs $AX1.L, @0x0035 + 0b14 268a lrs $AC0.M, @0xff8a + 0b15 248b lrs $AC0.L, @0xff8b + 0b16 5a00 subax $ACC0, $AX1.L + 0b17 2e3a srs @0x003a, $AC0.M + 0b18 2c3b srs @0x003b, $AC0.L + 0b19 2634 lrs $AC0.M, @0x0034 + 0b1a 2435 lrs $AC0.L, @0x0035 + 0b1b 238c lrs $AX1.H, @0xff8c + 0b1c 218d lrs $AX1.L, @0xff8d + 0b1d 4a00 addax $ACC0, $AX1.L + 0b1e 2e38 srs @0x0038, $AC0.M + 0b1f 2c39 srs @0x0039, $AC0.L + 0b20 8100 clr $ACC0 + 0b21 2e05 srs @0x0005, $AC0.M + 0b22 02df ret + 0b23 0092 0004 lri $CR, #0x0004 + 0b25 2002 lrs $AX0.L, @0x0002 + 0b26 8100 clr $ACC0 + 0b27 8900 clr $ACC1 + 0b28 2430 lrs $AC0.L, @0x0030 + 0b29 8d00 set15 + 0b2a 0950 lris $AX1.L, #0x50 + 0b2b a000 mulx $AX0.L, $AX1.L + 0b2c a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0b2d 1404 lsl $ACC0, #4 + 0b2e 8c00 clr15 + 0b2f 1ffe mrr $AC1.M, $AC0.M + 0b30 0083 0580 lri $AR3, #0x0580 + 0b32 02df ret + 0b33 02bf 0b23 call 0x0b23 + 0b35 2201 lrs $AX0.H, @0x0001 + 0b36 8600 tstaxh $AX0.H + 0b37 0294 0b48 jnz 0x0b48 + 0b39 2204 lrs $AX0.H, @0x0004 + 0b3a 8600 tstaxh $AX0.H + 0b3b 02b4 0b92 callnz 0x0b92 + 0b3d 8100 clr $ACC0 + 0b3e 2605 lrs $AC0.M, @0x0005 + 0b3f b100 tst $ACC0 + 0b40 0295 0b55 jz 0x0b55 + 0b42 8100 clr $ACC0 + 0b43 2e05 srs @0x0005, $AC0.M + 0b44 2281 lrs $AX0.H, @0xff81 + 0b45 8600 tstaxh $AX0.H + 0b46 0294 0b4f jnz 0x0b4f + 0b48 8100 clr $ACC0 + 0b49 005f loop $AC1.M + 0b4a 1b7e srri @$AR3, $AC0.M + 0b4b 7400 incm $AC0.M + 0b4c 2e01 srs @0x0001, $AC0.M + 0b4d 029f 0b8b jmp 0x0b8b + 0b4f 2688 lrs $AC0.M, @0xff88 + 0b50 2489 lrs $AC0.L, @0xff89 + 0b51 2e34 srs @0x0034, $AC0.M + 0b52 2c35 srs @0x0035, $AC0.L + 0b53 02bf 0b92 call 0x0b92 + 0b55 00ff 0360 sr @0x0360, $AC1.M + 0b57 2638 lrs $AC0.M, @0x0038 + 0b58 2439 lrs $AC0.L, @0x0039 + 0b59 02bf 0684 call 0x0684 + 0b5b 02bf 069b call 0x069b + 0b5d 00df 0360 lr $AC1.M, @0x0360 + 0b5f 8100 clr $ACC0 + 0b60 263a lrs $AC0.M, @0x003a + 0b61 b100 tst $ACC0 + 0b62 0294 0b71 jnz 0x0b71 + 0b64 263b lrs $AC0.M, @0x003b + 0b65 5c00 sub $ACC0, $ACC1 + 0b66 0290 0b71 jge 0x0b71 + 0b68 223b lrs $AX0.H, @0x003b + 0b69 02bf 0666 call 0x0666 + 0b6b 5500 subr $ACC1, $AX0.H + 0b6c 0a01 lris $AX0.H, #0x01 + 0b6d 00fa 0405 sr @0x0405, $AX0.H + 0b6f 029f 0b42 jmp 0x0b42 + 0b71 1f5f mrr $AX0.H, $AC1.M + 0b72 02bf 0666 call 0x0666 + 0b74 00fa 0362 sr @0x0362, $AX0.H + 0b76 8100 clr $ACC0 + 0b77 263a lrs $AC0.M, @0x003a + 0b78 243b lrs $AC0.L, @0x003b + 0b79 1570 lsr $ACC1, #-16 + 0b7a 0a01 lris $AX0.H, #0x01 + 0b7b 0081 0405 lri $AR1, #0x0405 + 0b7d 5c00 sub $ACC0, $ACC1 + 0b7e b100 tst $ACC0 + 0b7f 0275 ifz + 0b80 1a3a srr @$AR1, $AX0.H + 0b81 2e3a srs @0x003a, $AC0.M + 0b82 2c3b srs @0x003b, $AC0.L + 0b83 2638 lrs $AC0.M, @0x0038 + 0b84 2439 lrs $AC0.L, @0x0039 + 0b85 00d8 0362 lr $AX0.L, @0x0362 + 0b87 7000 addaxl $ACC0, $AX0.L + 0b88 7000 addaxl $ACC0, $AX0.L + 0b89 2c39 srs @0x0039, $AC0.L + 0b8a 2e38 srs @0x0038, $AC0.M + 0b8b 0092 00ff lri $CR, #0x00ff + 0b8d 029f 0330 jmp 0x0330 + 0b8f 8100 clr $ACC0 + 0b90 2e34 srs @0x0034, $AC0.M + 0b91 2e35 srs @0x0035, $AC0.M + 0b92 2334 lrs $AX1.H, @0x0034 + 0b93 2135 lrs $AX1.L, @0x0035 + 0b94 268a lrs $AC0.M, @0xff8a + 0b95 248b lrs $AC0.L, @0xff8b + 0b96 5a00 subax $ACC0, $AX1.L + 0b97 2e3a srs @0x003a, $AC0.M + 0b98 2c3b srs @0x003b, $AC0.L + 0b99 2634 lrs $AC0.M, @0x0034 + 0b9a 2435 lrs $AC0.L, @0x0035 + 0b9b 1401 lsl $ACC0, #1 + 0b9c 238c lrs $AX1.H, @0xff8c + 0b9d 218d lrs $AX1.L, @0xff8d + 0b9e 4a00 addax $ACC0, $AX1.L + 0b9f 2e38 srs @0x0038, $AC0.M + 0ba0 2c39 srs @0x0039, $AC0.L + 0ba1 8100 clr $ACC0 + 0ba2 2e05 srs @0x0005, $AC0.M + 0ba3 02df ret + 0ba4 8900 clr $ACC1 + 0ba5 0f50 lris $AC1.M, #0x50 + 0ba6 0083 0520 lri $AR3, #0x0520 + 0ba8 02bf 0bbd call 0x0bbd + 0baa 029f 0338 jmp 0x0338 + 0bac 00d8 0402 lr $AX0.L, @0x0402 + 0bae 8100 clr $ACC0 + 0baf 8900 clr $ACC1 + 0bb0 00dc 0430 lr $AC0.L, @0x0430 + 0bb2 0a50 lris $AX0.H, #0x50 + 0bb3 9000 mul $AX0.L, $AX0.H + 0bb4 9400 mulac $AX0.L, $AX0.H, $ACC0 + 0bb5 1404 lsl $ACC0, #4 + 0bb6 1ffe mrr $AC1.M, $AC0.M + 0bb7 0083 0580 lri $AR3, #0x0580 + 0bb9 02bf 0bbd call 0x0bbd + 0bbb 029f 0330 jmp 0x0330 + 0bbd 0092 0004 lri $CR, #0x0004 + 0bbf 8100 clr $ACC0 + 0bc0 263a lrs $AC0.M, @0x003a + 0bc1 243b lrs $AC0.L, @0x003b + 0bc2 1f1f mrr $AX0.L, $AC1.M + 0bc3 0a00 lris $AX0.H, #0x00 + 0bc4 5800 subax $ACC0, $AX0.L + 0bc5 0292 0bdb jg 0x0bdb + 0bc7 8900 clr $ACC1 + 0bc8 00c0 043b lr $AR0, @0x043b + 0bca 02bf 0c00 call 0x0c00 + 0bcc 8100 clr $ACC0 + 0bcd 1fd8 mrr $AC0.M, $AX0.L + 0bce 223b lrs $AX0.H, @0x003b + 0bcf 5400 subr $ACC0, $AX0.H + 0bd0 0007 dar $AR3 + 0bd1 1979 lrri $AX1.L, @$AR3 + 0bd2 005e loop $AC0.M + 0bd3 1b79 srri @$AR3, $AX1.L + 0bd4 0f01 lris $AC1.M, #0x01 + 0bd5 2f01 srs @0x0001, $AC1.M + 0bd6 8900 clr $ACC1 + 0bd7 2f3b srs @0x003b, $AC1.M + 0bd8 0092 00ff lri $CR, #0x00ff + 0bda 02df ret + 0bdb 2e3a srs @0x003a, $AC0.M + 0bdc 2c3b srs @0x003b, $AC0.L + 0bdd 8100 clr $ACC0 + 0bde 8900 clr $ACC1 + 0bdf 268a lrs $AC0.M, @0xff8a + 0be0 2734 lrs $AC1.M, @0x0034 + 0be1 5c00 sub $ACC0, $ACC1 + 0be2 2e36 srs @0x0036, $AC0.M + 0be3 5000 subr $ACC0, $AX0.L + 0be4 0290 0bfa jge 0x0bfa + 0be6 00c0 0436 lr $AR0, @0x0436 + 0be8 02bf 0c00 call 0x0c00 + 0bea 8100 clr $ACC0 + 0beb 1fd8 mrr $AC0.M, $AX0.L + 0bec 2236 lrs $AX0.H, @0x0036 + 0bed 5400 subr $ACC0, $AX0.H + 0bee 1c1e mrr $AR0, $AC0.M + 0bef 8100 clr $ACC0 + 0bf0 2e34 srs @0x0034, $AC0.M + 0bf1 2688 lrs $AC0.M, @0xff88 + 0bf2 2489 lrs $AC0.L, @0xff89 + 0bf3 2e8c srs @0xff8c, $AC0.M + 0bf4 2c8d srs @0xff8d, $AC0.L + 0bf5 02bf 0c00 call 0x0c00 + 0bf7 0092 00ff lri $CR, #0x00ff + 0bf9 02df ret + 0bfa 1c18 mrr $AR0, $AX0.L + 0bfb 02bf 0c00 call 0x0c00 + 0bfd 0092 00ff lri $CR, #0x00ff + 0bff 02df ret + 0c00 8100 clr $ACC0 + 0c01 1fc0 mrr $AC0.M, $AR0 + 0c02 b100 tst $ACC0 + 0c03 02d5 retz + 0c04 8900 clr $ACC1 + 0c05 2734 lrs $AC1.M, @0x0034 + 0c06 0340 0001 andi $AC1.M, #0x0001 + 0c08 0b00 lris $AX1.H, #0x00 + 0c09 1f3f mrr $AX1.L, $AC1.M + 0c0a 268c lrs $AC0.M, @0xff8c + 0c0b 248d lrs $AC0.L, @0xff8d + 0c0c 8900 clr $ACC1 + 0c0d 2534 lrs $AC1.L, @0x0034 + 0c0e 1501 lsl $ACC1, #1 + 0c0f 4c00 add $ACC0, $ACC1 + 0c10 5a00 subax $ACC0, $AX1.L + 0c11 5a00 subax $ACC0, $AX1.L + 0c12 1c20 mrr $AR1, $AR0 + 0c13 1fe0 mrr $AC1.M, $AR0 + 0c14 0502 addis $ACC1, #0x02 + 0c15 1c1f mrr $AR0, $AC1.M + 0c16 009f 0b00 lri $AC1.M, #0x0b00 + 0c18 0092 00ff lri $CR, #0x00ff + 0c1a 02bf 05fb call 0x05fb + 0c1c 0092 0004 lri $CR, #0x0004 + 0c1e 2734 lrs $AC1.M, @0x0034 + 0c1f 1f61 mrr $AX1.H, $AR1 + 0c20 4700 addr $ACC1, $AX1.H + 0c21 2f34 srs @0x0034, $AC1.M + 0c22 0080 0b00 lri $AR0, #0x0b00 + 0c24 8900 clr $ACC1 + 0c25 1ff9 mrr $AC1.M, $AX1.L + 0c26 b900 tst $ACC1 + 0c27 0274 ifnz + 0c28 0008 iar $AR0 + 0c29 8900 clr $ACC1 + 0c2a 1fe1 mrr $AC1.M, $AR1 + 0c2b 191e lrri $AC0.M, @$AR0 + 0c2c 0701 cmpis $ACC1, #0x01 + 0c2d 0293 0c36 jle 0x0c36 + 0c2f 191a lrri $AX0.H, @$AR0 + 0c30 05fe addis $ACC1, #0xfe + 0c31 005f loop $AC1.M + 0c32 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c33 1b7e srri @$AR3, $AC0.M + 0c34 1b7a srri @$AR3, $AX0.H + 0c35 02df ret + 0c36 1b7e srri @$AR3, $AC0.M + 0c37 02df ret + 0c38 0083 03e8 lri $AR3, #0x03e8 + 0c3a 191e lrri $AC0.M, @$AR0 + 0c3b 191a lrri $AX0.H, @$AR0 + 0c3c 1006 loopi #0x06 + 0c3d 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c3e 1b7e srri @$AR3, $AC0.M + 0c3f 1b7a srri @$AR3, $AX0.H + 0c40 0080 03e8 lri $AR0, #0x03e8 + 0c42 8a00 m2 + 0c43 0088 0007 lri $WR0, #0x0007 + 0c45 1150 0c52 bloopi #0x50, 0x0c52 + 0c47 1c61 mrr $AR3, $AR1 + 0c48 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0c49 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c4a f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c4b f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c4c f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c4d f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c4e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c4f f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c50 f200 madd $AX0.L, $AX0.H + 0c51 fe00 movpz $ACC0 + 0c52 1b3e srri @$AR1, $AC0.M + 0c53 0088 ffff lri $WR0, #0xffff + 0c55 8b00 m0 + 0c56 02df ret + 0c57 8a00 m2 + 0c58 05fe addis $ACC1, #0xfe + 0c59 0083 03e8 lri $AR3, #0x03e8 + 0c5b 191e lrri $AC0.M, @$AR0 + 0c5c 191a lrri $AX0.H, @$AR0 + 0c5d 005f loop $AC1.M + 0c5e 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c5f 1b7e srri @$AR3, $AC0.M + 0c60 1b7a srri @$AR3, $AX0.H + 0c61 0080 03e8 lri $AR0, #0x03e8 + 0c63 0501 addis $ACC1, #0x01 + 0c64 1d1f mrr $WR0, $AC1.M + 0c65 1150 0c6d bloopi #0x50, 0x0c6d + 0c67 1c61 mrr $AR3, $AR1 + 0c68 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0c69 005f loop $AC1.M + 0c6a f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c6b f200 madd $AX0.L, $AX0.H + 0c6c fe00 movpz $ACC0 + 0c6d 1b3e srri @$AR1, $AC0.M + 0c6e 0088 ffff lri $WR0, #0xffff + 0c70 8b00 m0 + 0c71 02df ret + 0c72 0083 03e8 lri $AR3, #0x03e8 + 0c74 191e lrri $AC0.M, @$AR0 + 0c75 191a lrri $AX0.H, @$AR0 + 0c76 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c77 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c78 1b7e srri @$AR3, $AC0.M + 0c79 1b7a srri @$AR3, $AX0.H + 0c7a 0080 03e8 lri $AR0, #0x03e8 + 0c7c 0088 0003 lri $WR0, #0x0003 + 0c7e 0085 0000 lri $IX1, #0x0000 + 0c80 0087 0000 lri $IX3, #0x0000 + 0c82 1fc2 mrr $AC0.M, $AR2 + 0c83 195b lrri $AX1.H, @$AR2 + 0c84 1959 lrri $AX1.L, @$AR2 + 0c85 195f lrri $AC1.M, @$AR2 + 0c86 195a lrri $AX0.H, @$AR2 + 0c87 1c5e mrr $AR2, $AC0.M + 0c88 1fda mrr $AC0.M, $AX0.H + 0c89 1c61 mrr $AR3, $AR1 + 0c8a 8a00 m2 + 0c8b 8f00 set40 + 0c8c 191a lrri $AX0.H, @$AR0 + 0c8d b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0c8e e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0c8f ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0c90 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0c91 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0c92 1127 0c9d bloopi #0x27, 0x0c9d + 0c94 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0c95 197e lrri $AC0.M, @$AR3 + 0c96 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0c97 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0c98 bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 0c99 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0c9a 197f lrri $AC1.M, @$AR3 + 0c9b ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0c9c e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0c9d b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0c9e e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0c9f 197e lrri $AC0.M, @$AR3 + 0ca0 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0ca1 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0ca2 bf00 mulxmv $AX0.H, $AX1.H, $ACC1 + 0ca3 1bff srrn @$AR3, $AC1.M + 0ca4 197f lrri $AC1.M, @$AR3 + 0ca5 8e00 set16 + 0ca6 8b00 m0 + 0ca7 0088 ffff lri $WR0, #0xffff + 0ca9 1b5b srri @$AR2, $AX1.H + 0caa 1b59 srri @$AR2, $AX1.L + 0cab 1b5f srri @$AR2, $AC1.M + 0cac 1b5e srri @$AR2, $AC0.M + 0cad 02df ret + 0cae 0083 03e8 lri $AR3, #0x03e8 + 0cb0 191e lrri $AC0.M, @$AR0 + 0cb1 191a lrri $AX0.H, @$AR0 + 0cb2 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cb3 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cb4 1b7e srri @$AR3, $AC0.M + 0cb5 1b7a srri @$AR3, $AX0.H + 0cb6 0080 03e8 lri $AR0, #0x03e8 + 0cb8 0088 0003 lri $WR0, #0x0003 + 0cba 0085 0000 lri $IX1, #0x0000 + 0cbc 0087 0000 lri $IX3, #0x0000 + 0cbe 1fc2 mrr $AC0.M, $AR2 + 0cbf 195b lrri $AX1.H, @$AR2 + 0cc0 1959 lrri $AX1.L, @$AR2 + 0cc1 195f lrri $AC1.M, @$AR2 + 0cc2 195a lrri $AX0.H, @$AR2 + 0cc3 1c5e mrr $AR2, $AC0.M + 0cc4 1fda mrr $AC0.M, $AX0.H + 0cc5 1c61 mrr $AR3, $AR1 + 0cc6 8a00 m2 + 0cc7 8f00 set40 + 0cc8 191a lrri $AX0.H, @$AR0 + 0cc9 b800 mulx $AX0.H, $AX1.H + 0cca e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0ccb e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0ccc ea00 maddc $AC1.M, $AX1.L + 0ccd ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0cce e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0ccf ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0cd0 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0cd1 1127 0ce2 bloopi #0x27, 0x0ce2 + 0cd3 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0cd4 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0cd5 197e lrri $AC0.M, @$AR3 + 0cd6 e800 maddc $AC0.M, $AX1.L + 0cd7 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0cd8 ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0cd9 eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0cda bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0cdb e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0cdc e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0cdd 197f lrri $AC1.M, @$AR3 + 0cde ea00 maddc $AC1.M, $AX1.L + 0cdf ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0ce0 e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0ce1 ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0ce2 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0ce3 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0ce4 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0ce5 197e lrri $AC0.M, @$AR3 + 0ce6 e800 maddc $AC0.M, $AX1.L + 0ce7 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0ce8 ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0ce9 eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0cea bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0ceb 1bff srrn @$AR3, $AC1.M + 0cec 197f lrri $AC1.M, @$AR3 + 0ced 8e00 set16 + 0cee 8b00 m0 + 0cef 0088 ffff lri $WR0, #0xffff + 0cf1 1b5b srri @$AR2, $AX1.H + 0cf2 1b59 srri @$AR2, $AX1.L + 0cf3 1b5f srri @$AR2, $AC1.M + 0cf4 1b5e srri @$AR2, $AC0.M + 0cf5 02df ret + 0cf6 0eff lris $AC0.M, #0xff + 0cf7 00fe 03f2 sr @0x03f2, $AC0.M + 0cf9 8100 clr $ACC0 + 0cfa 00fe 03f0 sr @0x03f0, $AC0.M + 0cfc 00fe 03f6 sr @0x03f6, $AC0.M + 0cfe 009e 0100 lri $AC0.M, #0x0100 + 0d00 00fe 03f7 sr @0x03f7, $AC0.M + 0d02 00da 03f7 lr $AX0.H, @0x03f7 + 0d04 009e 8000 lri $AC0.M, #0x8000 + 0d06 5400 subr $ACC0, $AX0.H + 0d07 00fe 03f5 sr @0x03f5, $AC0.M + 0d09 0e30 lris $AC0.M, #0x30 + 0d0a 00fe 03f3 sr @0x03f3, $AC0.M + 0d0c 0e10 lris $AC0.M, #0x10 + 0d0d 00fe 03f4 sr @0x03f4, $AC0.M + 0d0f 009e 0096 lri $AC0.M, #0x0096 + 0d11 00fe 03f1 sr @0x03f1, $AC0.M + 0d13 02df ret + 0d14 0080 0a00 lri $AR0, #0x0a00 + 0d16 8100 clr $ACC0 + 0d17 00de 03f0 lr $AC0.M, @0x03f0 + 0d19 8900 clr $ACC1 + 0d1a b100 tst $ACC0 + 0d1b 0275 ifz + 0d1c 0550 addis $ACC1, #0x50 + 0d1d 00ff 03f0 sr @0x03f0, $AC1.M + 0d1f 0200 0a60 addi $AC0.M, #0x0a60 + 0d21 1c7e mrr $AR3, $AC0.M + 0d22 0f4e lris $AC1.M, #0x4e + 0d23 02bf 00e5 call 0x00e5 + 0d25 02df ret + 0d26 00de 03f1 lr $AC0.M, @0x03f1 + 0d28 0200 0a60 addi $AC0.M, #0x0a60 + 0d2a 1c7e mrr $AR3, $AC0.M + 0d2b 8100 clr $ACC0 + 0d2c 8900 clr $ACC1 + 0d2d 009f 00a0 lri $AC1.M, #0x00a0 + 0d2f 00de 03f1 lr $AC0.M, @0x03f1 + 0d31 5d00 sub $ACC1, $ACC0 + 0d32 0e50 lris $AC0.M, #0x50 + 0d33 0750 cmpis $ACC1, #0x50 + 0d34 0270 ifge + 0d35 5d00 sub $ACC1, $ACC0 + 0d36 00da 03f2 lr $AX0.H, @0x03f2 + 0d38 8600 tstaxh $AX0.H + 0d39 0290 0d57 jge 0x0d57 + 0d3b 00de 03f3 lr $AC0.M, @0x03f3 + 0d3d 5c00 sub $ACC0, $ACC1 + 0d3e 0293 0d42 jle 0x0d42 + 0d40 029f 0d5c jmp 0x0d5c + 0d42 00db 03f7 lr $AX1.H, @0x03f7 + 0d44 009e 8000 lri $AC0.M, #0x8000 + 0d46 4600 addr $ACC0, $AX1.H + 0d47 029f 0d4e jmp 0x0d4e + 0d49 00db 03f7 lr $AX1.H, @0x03f7 + 0d4b 009e 8000 lri $AC0.M, #0x8000 + 0d4d 5600 subr $ACC0, $AX1.H + 0d4e 00fe 03f5 sr @0x03f5, $AC0.M + 0d50 1fda mrr $AC0.M, $AX0.H + 0d51 7c00 neg $ACC0 + 0d52 1f5e mrr $AX0.H, $AC0.M + 0d53 00fe 03f2 sr @0x03f2, $AC0.M + 0d55 029f 0d5c jmp 0x0d5c + 0d57 00de 03f4 lr $AC0.M, @0x03f4 + 0d59 5d00 sub $ACC1, $ACC0 + 0d5a 0293 0d49 jle 0x0d49 + 0d5c 8900 clr $ACC1 + 0d5d 00dd 03f5 lr $AC1.L, @0x03f5 + 0d5f 1501 lsl $ACC1, #1 + 0d60 8100 clr $ACC0 + 0d61 00dc 03f6 lr $AC0.L, @0x03f6 + 0d63 008b 009f lri $WR3, #0x009f + 0d65 0080 0a00 lri $AR0, #0x0a00 + 0d67 0900 lris $AX1.L, #0x00 + 0d68 1150 0d6f bloopi #0x50, 0x0d6f + 0d6a 1878 lrr $AX0.L, @$AR3 + 0d6b 4c00 add $ACC0, $ACC1 + 0d6c 1cfe mrr $IX3, $AC0.M + 0d6d 001f addarn $AR3, $IX3 + 0d6e 1fd9 mrr $AC0.M, $AX1.L + 0d6f 1b18 srri @$AR0, $AX0.L + 0d70 009f 0a60 lri $AC1.M, #0x0a60 + 0d72 1fc3 mrr $AC0.M, $AR3 + 0d73 5c00 sub $ACC0, $ACC1 + 0d74 00fe 03f1 sr @0x03f1, $AC0.M + 0d76 00fc 03f6 sr @0x03f6, $AC0.L + 0d78 008b ffff lri $WR3, #0xffff + 0d7a 02df ret + 0d7b 0f50 lris $AC1.M, #0x50 + 0d7c 0080 0a00 lri $AR0, #0x0a00 + 0d7e 0083 0d60 lri $AR3, #0x0d60 + 0d80 0098 3fff lri $AX0.L, #0x3fff + 0d82 02bf 00ff call 0x00ff + 0d84 0f50 lris $AC1.M, #0x50 + 0d85 0080 0a00 lri $AR0, #0x0a00 + 0d87 0083 0d00 lri $AR3, #0x0d00 + 0d89 0098 3fff lri $AX0.L, #0x3fff + 0d8b 02bf 00ff call 0x00ff + 0d8d 02df ret + 0d8e 8a00 m2 + 0d8f 8f00 set40 + 0d90 8100 clr $ACC0 + 0d91 00de 0404 lr $AC0.M, @0x0404 + 0d93 b100 tst $ACC0 + 0d94 0295 0d9b jz 0x0d9b + 0d96 8100 clr $ACC0 + 0d97 00fe 0478 sr @0x0478, $AC0.M + 0d99 00fe 0479 sr @0x0479, $AC0.M + 0d9b 00df 0479 lr $AC1.M, @0x0479 + 0d9d 00db 0478 lr $AX1.H, @0x0478 + 0d9f 0900 lris $AX1.L, #0x00 + 0da0 0084 0000 lri $IX0, #0x0000 + 0da2 1150 0dab bloopi #0x50, 0x0dab + 0da4 199e lrrn $AC0.M, @$AR0 + 0da5 5c7c sub'ln $ACC0, $ACC1 : $AC1.M, @$AR0 + 0da6 c000 mulc $AC0.M, $AX0.H + 0da7 6e00 movp $ACC0 + 0da8 1488 asl $ACC0, #8 + 0da9 4a00 addax $ACC0, $AX1.L + 0daa 1b1e srri @$AR0, $AC0.M + 0dab 1f7e mrr $AX1.H, $AC0.M + 0dac 00fb 0478 sr @0x0478, $AX1.H + 0dae 00ff 0479 sr @0x0479, $AC1.M + 0db0 8b00 m0 + 0db1 8e00 set16 + 0db2 02df ret + 0db3 b900 tst $ACC1 + 0db4 0294 0db9 jnz 0x0db9 + 0db6 6800 movax $ACC0, $AX0.L + 0db7 b100 tst $ACC0 + 0db8 02d5 retz + 0db9 1c23 mrr $AR1, $AR3 + 0dba 197e lrri $AC0.M, @$AR3 + 0dbb 191b lrri $AX1.H, @$AR0 + 0dbc d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 + 0dbd 1120 0dc3 bloopi #0x20, 0x0dc3 + 0dbf dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0dc0 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0dc1 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0dc2 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0dc3 4900 addax $ACC1, $AX0.L + 0dc4 1108 0dc9 bloopi #0x08, 0x0dc9 + 0dc6 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0dc7 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0dc8 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0dc9 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0dca 02df ret + 0dcb 8f00 set40 + 0dcc 8d00 set15 + 0dcd 1c03 mrr $AR0, $AR3 + 0dce 00d9 038e lr $AX1.L, @0x038e + 0dd0 0b04 lris $AX1.H, #0x04 + 0dd1 197a lrri $AX0.H, @$AR3 + 0dd2 b053 mulx'l $AX0.H, $AX1.L : $AX0.H, @$AR3 + 0dd3 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0dd4 1128 0dd9 bloopi #0x28, 0x0dd9 + 0dd6 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0dd7 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0dd8 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0dd9 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0dda 8c00 clr15 + 0ddb 8e00 set16 + 0ddc 02df ret + 0ddd 00da 0485 lr $AX0.H, @0x0485 + 0ddf 8600 tstaxh $AX0.H + 0de0 0295 0dee jz 0x0dee + 0de2 8100 clr $ACC0 + 0de3 00de 042a lr $AC0.M, @0x042a + 0de5 147f lsr $ACC0, #-1 + 0de6 00fe 042b sr @0x042b, $AC0.M + 0de8 b100 tst $ACC0 + 0de9 0294 0dee jnz 0x0dee + 0deb 0a01 lris $AX0.H, #0x01 + 0dec 00fa 0401 sr @0x0401, $AX0.H + 0dee 8f00 set40 + 0def 8100 clr $ACC0 + 0df0 00de 0428 lr $AC0.M, @0x0428 + 0df2 1478 lsr $ACC0, #-8 + 0df3 00df 0428 lr $AC1.M, @0x0428 + 0df5 0340 007f andi $AC1.M, #0x007f + 0df7 1f1e mrr $AX0.L, $AC0.M + 0df8 1f5f mrr $AX0.H, $AC1.M + 0df9 0220 007f xori $ACC0, #0x007f + 0dfb 1f3e mrr $AX1.L, $AC0.M + 0dfc 0320 007f xori $ACC1, #0x007f + 0dfe 1f7f mrr $AX1.H, $AC1.M + 0dff 8100 clr $ACC0 + 0e00 8900 clr $ACC1 + 0e01 009f 0200 lri $AC1.M, #0x0200 + 0e03 1fd8 mrr $AC0.M, $AX0.L + 0e04 4c00 add $ACC0, $ACC1 + 0e05 1c1e mrr $AR0, $AC0.M + 0e06 1818 lrr $AX0.L, @$AR0 + 0e07 1fda mrr $AC0.M, $AX0.H + 0e08 4c00 add $ACC0, $ACC1 + 0e09 1c1e mrr $AR0, $AC0.M + 0e0a 181a lrr $AX0.H, @$AR0 + 0e0b 1fd9 mrr $AC0.M, $AX1.L + 0e0c 4c00 add $ACC0, $ACC1 + 0e0d 1c1e mrr $AR0, $AC0.M + 0e0e 1819 lrr $AX1.L, @$AR0 + 0e0f 1fdb mrr $AC0.M, $AX1.H + 0e10 4c00 add $ACC0, $ACC1 + 0e11 1c1e mrr $AR0, $AC0.M + 0e12 181b lrr $AX1.H, @$AR0 + 0e13 8a00 m2 + 0e14 0080 0b00 lri $AR0, #0x0b00 + 0e16 9800 mul $AX1.L, $AX1.H + 0e17 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0e18 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0e19 9630 mulmv's $AX0.L, $AX0.H, $ACC0 : @$AR0, $AC0.M + 0e1a 6e30 movp's $ACC0 : @$AR0, $AC0.M + 0e1b 1b1e srri @$AR0, $AC0.M + 0e1c 8b00 m0 + 0e1d 0080 0b00 lri $AR0, #0x0b00 + 0e1f 0081 0b04 lri $AR1, #0x0b04 + 0e21 00da 042a lr $AX0.H, @0x042a + 0e23 02bf 0e6e call 0x0e6e + 0e25 0081 0b08 lri $AR1, #0x0b08 + 0e27 0080 0b00 lri $AR0, #0x0b00 + 0e29 00da 042a lr $AX0.H, @0x042a + 0e2b 00de 0429 lr $AC0.M, @0x0429 + 0e2d 8a00 m2 + 0e2e c000 mulc $AC0.M, $AX0.H + 0e2f 8b00 m0 + 0e30 6e00 movp $ACC0 + 0e31 1f5e mrr $AX0.H, $AC0.M + 0e32 02bf 0e6e call 0x0e6e + 0e34 0080 0b00 lri $AR0, #0x0b00 + 0e36 0081 0b0c lri $AR1, #0x0b0c + 0e38 8100 clr $ACC0 + 0e39 8900 clr $ACC1 + 0e3a 00de 042b lr $AC0.M, @0x042b + 0e3c 00df 042a lr $AC1.M, @0x042a + 0e3e 00fe 042a sr @0x042a, $AC0.M + 0e40 5c00 sub $ACC0, $ACC1 + 0e41 1f5e mrr $AX0.H, $AC0.M + 0e42 02bf 0e79 call 0x0e79 + 0e44 0080 0b0c lri $AR0, #0x0b0c + 0e46 0081 0b10 lri $AR1, #0x0b10 + 0e48 00da 0429 lr $AX0.H, @0x0429 + 0e4a 02bf 0e6e call 0x0e6e + 0e4c 0081 0b04 lri $AR1, #0x0b04 + 0e4e 0082 0b0c lri $AR2, #0x0b0c + 0e50 0083 0e87 lri $AR3, #0x0e87 + 0e52 1108 0e6b bloopi #0x08, 0x0e6b + 0e54 195f lrri $AC1.M, @$AR2 + 0e55 15fb asr $ACC1, #-5 + 0e56 1f1d mrr $AX0.L, $AC1.L + 0e57 1f5f mrr $AX0.H, $AC1.M + 0e58 193f lrri $AC1.M, @$AR1 + 0e59 00e1 0b24 sr @0x0b24, $AR1 + 0e5b 00e2 0b25 sr @0x0b25, $AR2 + 0e5d 021b ilrri $AC0.M, @$AR3 + 0e5e 00e3 0b26 sr @0x0b26, $AR3 + 0e60 1c7e mrr $AR3, $AC0.M + 0e61 00c0 038f lr $AR0, @0x038f + 0e63 02bf 0db3 call 0x0db3 + 0e65 00c1 0b24 lr $AR1, @0x0b24 + 0e67 00c2 0b25 lr $AR2, @0x0b25 + 0e69 00c3 0b26 lr $AR3, @0x0b26 + 0e6b 0000 nop + 0e6c 8e00 set16 + 0e6d 02df ret + 0e6e 8a00 m2 + 0e6f 191f lrri $AC1.M, @$AR0 + 0e70 d078 mulc'l $AC1.M, $AX0.H : $AC1.M, @$AR0 + 0e71 d678 mulcmv'l $AC1.M, $AX0.H, $ACC0 : $AC1.M, @$AR0 + 0e72 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e73 191f lrri $AC1.M, @$AR0 + 0e74 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e75 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0e76 1b3e srri @$AR1, $AC0.M + 0e77 8b00 m0 + 0e78 02df ret + 0e79 8a00 m2 + 0e7a 8d00 set15 + 0e7b 1f7e mrr $AX1.H, $AC0.M + 0e7c 1918 lrri $AX0.L, @$AR0 + 0e7d a840 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR0 + 0e7e ae40 mulxmv'l $AX0.L, $AX1.H, $ACC0 : $AX0.L, @$AR0 + 0e7f ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0e80 1918 lrri $AX0.L, @$AR0 + 0e81 ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0e82 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0e83 1b3e srri @$AR1, $AC0.M + 0e84 8c00 clr15 + 0e85 8b00 m0 + 0e86 02df ret + 0e87 0d00 lris $AC1.L, #0x00 + 0e88 0d60 lris $AC1.L, #0x60 + 0e89 0f40 lris $AC1.M, #0x40 + 0e8a 0ca0 lris $AC0.L, #0xa0 + 0e8b 0e80 lris $AC0.M, #0x80 + 0e8c 0ee0 lris $AC0.M, #0xe0 + 0e8d 0be0 lris $AX1.H, #0xe0 + 0e8e 0c40 lris $AC0.L, #0x40 + 0e8f 00f9 0361 sr @0x0361, $AX1.L + 0e91 1fc0 mrr $AC0.M, $AR0 + 0e92 0200 fffc addi $AC0.M, #0xfffc + 0e94 1c1e mrr $AR0, $AC0.M + 0e95 1c5e mrr $AR2, $AC0.M + 0e96 0083 043c lri $AR3, #0x043c + 0e98 197e lrri $AC0.M, @$AR3 + 0e99 197f lrri $AC1.M, @$AR3 + 0e9a 80a2 nx'sl : $AC0.M, $AX0.H + 0e9b 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H + 0e9c 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M + 0e9d 1b1f srri @$AR0, $AC1.M + 0e9e 1c02 mrr $AR0, $AR2 + 0e9f 8100 clr $ACC0 + 0ea0 00de 0402 lr $AC0.M, @0x0402 + 0ea2 00fe 0362 sr @0x0362, $AC0.M + 0ea4 1474 lsr $ACC0, #-12 + 0ea5 1f7e mrr $AX1.H, $AC0.M + 0ea6 1f3c mrr $AX1.L, $AC0.L + 0ea7 8900 clr $ACC1 + 0ea8 00dd 0430 lr $AC1.L, @0x0430 + 0eaa 1504 lsl $ACC1, #4 + 0eab 0604 cmpis $ACC0, #0x04 + 0eac 0290 0f03 jge 0x0f03 + 0eae 1fdd mrr $AC0.M, $AC1.L + 0eaf 0082 02b0 lri $AR2, #0x02b0 + 0eb1 1050 loopi #0x50 + 0eb2 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L + 0eb3 1fbe mrr $AC1.L, $AC0.M + 0eb4 00fe 0360 sr @0x0360, $AC0.M + 0eb6 8900 clr $ACC1 + 0eb7 1fbe mrr $AC1.L, $AC0.M + 0eb8 0af8 lris $AX0.H, #0xf8 + 0eb9 009b 00fc lri $AX1.H, #0x00fc + 0ebb 00d8 0361 lr $AX0.L, @0x0361 + 0ebd 0082 02b0 lri $AR2, #0x02b0 + 0ebf 0083 02b0 lri $AR3, #0x02b0 + 0ec1 195e lrri $AC0.M, @$AR2 + 0ec2 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M + 0ec3 1128 0ec8 bloopi #0x28, 0x0ec8 + 0ec5 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 + 0ec6 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H + 0ec7 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 + 0ec8 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H + 0ec9 8a00 m2 + 0eca 0082 02b0 lri $AR2, #0x02b0 + 0ecc 00dd 0430 lr $AC1.L, @0x0430 + 0ece 1504 lsl $ACC1, #4 + 0ecf 1fe0 mrr $AC1.M, $AR0 + 0ed0 8100 clr $ACC0 + 0ed1 00de 0362 lr $AC0.M, @0x0362 + 0ed3 1474 lsr $ACC0, #-12 + 0ed4 1f7e mrr $AX1.H, $AC0.M + 0ed5 1f3c mrr $AX1.L, $AC0.L + 0ed6 8f00 set40 + 0ed7 1943 lrri $AR3, @$AR2 + 0ed8 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0ed9 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0eda f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0edb f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0edc f200 madd $AX0.L, $AX0.H + 0edd fe00 movpz $ACC0 + 0ede 1c1f mrr $AR0, $AC1.M + 0edf 1943 lrri $AR3, @$AR2 + 0ee0 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0ee1 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ee2 114e 0eea bloopi #0x4e, 0x0eea + 0ee4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ee5 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ee6 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0ee7 1c1f mrr $AR0, $AC1.M + 0ee8 1943 lrri $AR3, @$AR2 + 0ee9 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0eea 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 + 0eeb f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0eec f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0eed f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0eee fe00 movpz $ACC0 + 0eef 1b3e srri @$AR1, $AC0.M + 0ef0 8b00 m0 + 0ef1 8e00 set16 + 0ef2 00fe 0433 sr @0x0433, $AC0.M + 0ef4 1c1f mrr $AR0, $AC1.M + 0ef5 150c lsl $ACC1, #12 + 0ef6 0340 0fff andi $AC1.M, #0x0fff + 0ef8 00ff 0430 sr @0x0430, $AC1.M + 0efa 0083 043c lri $AR3, #0x043c + 0efc 191e lrri $AC0.M, @$AR0 + 0efd 191f lrri $AC1.M, @$AR0 + 0efe 80a0 nx'ls : $AX0.H, $AC0.M + 0eff 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 0f00 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0f01 1b7f srri @$AR3, $AC1.M + 0f02 02df ret + 0f03 1fe0 mrr $AC1.M, $AR0 + 0f04 1c1f mrr $AR0, $AC1.M + 0f05 1128 0f0c bloopi #0x28, 0x0f0c + 0f07 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0f08 1b3e srri @$AR1, $AC0.M + 0f09 1c1f mrr $AR0, $AC1.M + 0f0a 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0f0b 1b3e srri @$AR1, $AC0.M + 0f0c 1c1f mrr $AR0, $AC1.M + 0f0d 029f 0ef2 jmp 0x0ef2 + 0f0f 0083 0520 lri $AR3, #0x0520 + 0f11 00de 0433 lr $AC0.M, @0x0433 + 0f13 1050 loopi #0x50 + 0f14 1b7e srri @$AR3, $AC0.M + 0f15 029f 0338 jmp 0x0338 + 0f17 1c20 mrr $AR1, $AR0 + 0f18 185f lrr $AC1.M, @$AR2 + 0f19 1f7f mrr $AX1.H, $AC1.M + 0f1a 193a lrri $AX0.H, @$AR1 + 0f1b 6400 movr $ACC0, $AX0.H + 0f1c 0078 0f21 bloop $AX0.L, 0x0f21 + 0f1e 5659 subr'l $ACC0, $AX1.H : $AX1.H, @$AR1 + 0f1f 6730 movr's $ACC1, $AX1.H : @$AR0, $AC0.M + 0f20 5551 subr'l $ACC1, $AX0.H : $AX0.H, @$AR1 + 0f21 6438 movr's $ACC0, $AX0.H : @$AR0, $AC1.M + 0f22 1a5b srr @$AR2, $AX1.H + 0f23 02df ret + 0f24 0098 8240 lri $AX0.L, #0x8240 + 0f26 00f8 04e8 sr @0x04e8, $AX0.L + 0f28 0098 7fff lri $AX0.L, #0x7fff + 0f2a 00f8 04e9 sr @0x04e9, $AX0.L + 0f2c 0098 7dbf lri $AX0.L, #0x7dbf + 0f2e 00f8 04ea sr @0x04ea, $AX0.L + 0f30 0098 843f lri $AX0.L, #0x843f + 0f32 00f8 04eb sr @0x04eb, $AX0.L + 0f34 0098 b23b lri $AX0.L, #0xb23b + 0f36 00f8 04f0 sr @0x04f0, $AX0.L + 0f38 0098 7fff lri $AX0.L, #0x7fff + 0f3a 00f8 04f1 sr @0x04f1, $AX0.L + 0f3c 0098 4dc4 lri $AX0.L, #0x4dc4 + 0f3e 00f8 04f2 sr @0x04f2, $AX0.L + 0f40 0098 d808 lri $AX0.L, #0xd808 + 0f42 00f8 04f3 sr @0x04f3, $AX0.L + 0f44 0098 0000 lri $AX0.L, #0x0000 + 0f46 0080 04ec lri $AR0, #0x04ec + 0f48 1004 loopi #0x04 + 0f49 1b18 srri @$AR0, $AX0.L + 0f4a 0080 04f4 lri $AR0, #0x04f4 + 0f4c 1004 loopi #0x04 + 0f4d 1b18 srri @$AR0, $AX0.L + 0f4e 02df ret + 0f4f 0080 0f40 lri $AR0, #0x0f40 + 0f51 0083 0b00 lri $AR3, #0x0b00 + 0f53 8900 clr $ACC1 + 0f54 0f50 lris $AC1.M, #0x50 + 0f55 0098 6784 lri $AX0.L, #0x6784 + 0f57 02bf 010e call 0x010e + 0f59 0080 04e8 lri $AR0, #0x04e8 + 0f5b 0082 04ec lri $AR2, #0x04ec + 0f5d 0081 0b00 lri $AR1, #0x0b00 + 0f5f 8900 clr $ACC1 + 0f60 0f50 lris $AC1.M, #0x50 + 0f61 0080 0b00 lri $AR0, #0x0b00 + 0f63 0083 0d00 lri $AR3, #0x0d00 + 0f65 0098 7fff lri $AX0.L, #0x7fff + 0f67 02bf 00ff call 0x00ff + 0f69 8900 clr $ACC1 + 0f6a 0f50 lris $AC1.M, #0x50 + 0f6b 0080 0b00 lri $AR0, #0x0b00 + 0f6d 0083 0d60 lri $AR3, #0x0d60 + 0f6f 0098 b820 lri $AX0.L, #0xb820 + 0f71 02bf 00ff call 0x00ff + 0f73 0080 0ca0 lri $AR0, #0x0ca0 + 0f75 0083 0b00 lri $AR3, #0x0b00 + 0f77 8900 clr $ACC1 + 0f78 0f50 lris $AC1.M, #0x50 + 0f79 0098 6784 lri $AX0.L, #0x6784 + 0f7b 02bf 010e call 0x010e + 0f7d 0080 04e8 lri $AR0, #0x04e8 + 0f7f 0082 04f4 lri $AR2, #0x04f4 + 0f81 0081 0b00 lri $AR1, #0x0b00 + 0f83 8900 clr $ACC1 + 0f84 0f50 lris $AC1.M, #0x50 + 0f85 0080 0b00 lri $AR0, #0x0b00 + 0f87 0083 0d00 lri $AR3, #0x0d00 + 0f89 0098 47e0 lri $AX0.L, #0x47e0 + 0f8b 02bf 00ff call 0x00ff + 0f8d 8900 clr $ACC1 + 0f8e 0f50 lris $AC1.M, #0x50 + 0f8f 0080 0b00 lri $AR0, #0x0b00 + 0f91 0083 0d60 lri $AR3, #0x0d60 + 0f93 0098 8001 lri $AX0.L, #0x8001 + 0f95 02bf 00ff call 0x00ff + 0f97 02df ret + 0f98 0000 nop + 0f99 0000 nop + 0f9a 0000 nop + 0f9b 0000 nop + 0f9c 0000 nop + 0f9d 0000 nop + 0f9e 0000 nop + 0f9f 0000 nop diff --git a/docs/DSP/DSP_UC_ROM.txt b/docs/DSP/DSP_UC_ROM.txt new file mode 100644 index 0000000000..1f9a19ced4 --- /dev/null +++ b/docs/DSP/DSP_UC_ROM.txt @@ -0,0 +1,2123 @@ +// The DSP ROM +8000 0092 00ff lri $CR, #0x00ff +8002 1206 sbclr #0x06 +8003 1202 sbclr #0x02 +8004 1203 sbclr #0x03 +8005 1204 sbclr #0x04 +8006 1205 sbclr #0x05 +8007 8e00 set16 +8008 8c00 clr15 +8009 8b00 m0 +800a 16fc 8071 si @DMBH, #0x8071 +800c 16fd feed si @DMBL, #0xfeed // sendmail 0x8071feed (INIT) + +void 800e_MainLoop() +{ +800e 8100 clr $ACC0 +800f 8900 clr $ACC1 +8010 02bf 8078 call 0x8078 // wait till there is mail for DSP from CPU +8012 009f 80f3 lri $AC1.M, #0x80f3 +8014 8200 cmp // $AC0.M = @CMBH +8015 0295 801f jz 0x801f +8017 27ff lrs $AC1.M, @CMBL +8018 16fc feee si @DMBH, #0xfeee +801a 2efd srs @DMBL, $AC0.M // sendmail 0xfeee???? (????=@CMBH - !0x80f3) +801b 02bf 807e call 0x807e // wait for mail-to-be-received-by-CPU +801d 029f 800e jmp 0x800e +} + +// if mail was equal to 0x80f3a001 ... +// m_CurrentUCode.m_RAMAddress +// $IX0-$IX1 +{ +801f 26ff lrs $AC0.M, @CMBL +8020 009f a001 lri $AC1.M, #0xa001 +8022 8200 cmp +8023 0294 802c jnz 0x802c +8025 02bf 8078 call 0x8078 +8027 27ff lrs $AC1.M, @CMBL +8028 1c9e mrr $IX0, $AC0.M +8029 1cbf mrr $IX1, $AC1.M +802a 029f 800e jmp 0x800e +} + +// else if mail was equal to 0x80f3a002 ... +// m_CurrentUCode.m_Length +// $IX3 +{ +802c 009f a002 lri $AC1.M, #0xa002 +802e 8200 cmp +802f 0294 8037 jnz 0x8037 +8031 02bf 8078 call 0x8078 +8033 27ff lrs $AC1.M, @CMBL +8034 1cff mrr $IX3, $AC1.M +8035 029f 800e jmp 0x800e +} + +// else if mail was equal to 0x80f3c002 ... +// m_CurrentUCode.m_IMEMAddress +// $IX2 +{ +8037 009f c002 lri $AC1.M, #0xc002 +8039 8200 cmp +803a 0294 8042 jnz 0x8042 +803c 02bf 8078 call 0x8078 +803e 27ff lrs $AC1.M, @CMBL +803f 1cdf mrr $IX2, $AC1.M +8040 029f 800e jmp 0x800e +} + +// else if mail was equal to 0x80f3b001 ... +// DMEM.m_RAMAddress +// $AX0.H-$AX0.L +{ +8042 009f b001 lri $AC1.M, #0xb001 +8044 8200 cmp +8045 0294 804e jnz 0x804e +8047 02bf 8078 call 0x8078 +8049 27ff lrs $AC1.M, @CMBL +804a 1f5e mrr $AX0.H, $AC0.M +804b 1f1f mrr $AX0.L, $AC1.M +804c 029f 800e jmp 0x800e +} + +// else if mail was equal to 0x80f3b002 ... +// DMEM.m_Length +// $AX1.L +{ +804e 009f b002 lri $AC1.M, #0xb002 +8050 8200 cmp +8051 0294 8059 jnz 0x8059 +8053 02bf 8078 call 0x8078 +8055 27ff lrs $AC1.M, @CMBL +8056 1f3f mrr $AX1.L, $AC1.M +8057 029f 800e jmp 0x800e +} + +// else if mail was equal to 0x80f3c001 ... +// DMEM.m_DMEMAddress +// $AX1.H +{ +8059 009f c001 lri $AC1.M, #0xc001 +805b 8200 cmp +805c 0294 8064 jnz 0x8064 +805e 02bf 8078 call 0x8078 +8060 27ff lrs $AC1.M, @CMBL +8061 1f7f mrr $AX1.H, $AC1.M +8062 029f 800e jmp 0x800e +} + +// else if mail was equal to 0x80f3d001 ... +// m_CurrentUCode.m_StartPC +// $AR0 +{ +8064 009f d001 lri $AC1.M, #0xd001 +8066 8200 cmp +8067 0294 8071 jnz 0x8071 +8069 02bf 8078 call 0x8078 +806b 8100 clr $ACC0 +806c 26ff lrs $AC0.M, @CMBL +806d 1c1e mrr $AR0, $AC0.M +806e 029f 80b5 jmp 80b5_BootUcode() +8070 0021 halt +} + +// else ... +{ +8071 16fc faaa si @DMBH, #0xfaaa +8073 2efd srs @DMBL, $AC0.M // sendmail 0xfaaa???? (????=@CMBL) +8074 02bf 807e call 0x807e +8076 029f 800e jmp 0x800e +} + +// wait for CMBH & 0x8000 +{ +8078 26fe lrs $AC0.M, @CMBH +8079 02c0 8000 andcf $AC0.M, #0x8000 +807b 029c 8078 jlnz 0x8078 +807d 02df ret +} + +// wait for DMBH & 0x8000 +void 807e_WaitForDSPMail +{ +807e 26fc lrs $AC0.M, @DMBH +807f 02a0 8000 andf $AC0.M, #0x8000 +8081 029c 807e jlnz 0x807e +8083 02df ret +8084 0021 halt +} + +//dump DRAM/IRAM to mainmem +{ +8085 8e00 set16 +8086 8100 clr $ACC0 +8087 1fd9 mrr $AC0.M, $AX1.L +8088 b100 tst $ACC0 +8089 0295 809d jz 0x809d +{ // DRAM + 808b 00fa ffce sr @DSMAH, $AX0.H + 808d 00f8 ffcf sr @DSMAL, $AX0.L + 808f 009e 0001 lri $AC0.M, #0x0001 + 8091 00fe ffc9 sr @DSCR, $AC0.M // DMEM->CPU + 8093 00fb ffcd sr @DSPA, $AX1.H + 8095 00f9 ffcb sr @DSBL, $AX1.L + 8097 00de ffc9 lr $AC0.M, @DSCR + 8099 02a0 0004 andf $AC0.M, #0x0004 + 809b 029c 8097 jlnz 0x8097 +} +809d 8100 clr $ACC0 +809e 1fc7 mrr $AC0.M, $IX3 +809f b100 tst $ACC0 +80a0 0295 80b4 jz 0x80b4 +{ // IRAM + 80a2 00e4 ffce sr @DSMAH, $IX0 + 80a4 00e5 ffcf sr @DSMAL, $IX1 + 80a6 009e 0003 lri $AC0.M, #0x0003 + 80a8 00fe ffc9 sr @DSCR, $AC0.M // IMEM->CPU + 80aa 00e6 ffcd sr @DSPA, $IX2 + 80ac 00e7 ffcb sr @DSBL, $IX3 + 80ae 00de ffc9 lr $AC0.M, @DSCR + 80b0 02a0 0004 andf $AC0.M, #0x0004 + 80b2 029c 80ae jlnz 0x80ae +} +80b4 02df ret +} + +//direct jump here from /ZeldaUcode (normal,sms,dma(wii) type)/AX/AXWII/ -> all except Zelda Light (Luigi/IPL) +void 80b5_BootUcode()() +{ +80b5 8e00 set16 +80b6 8100 clr $ACC0 +80b7 8900 clr $ACC1 +80b8 1ff9 mrr $AC1.M, $AX1.L +80b9 b900 tst $ACC1 +80ba 0295 80ce jz 0x80ce +{ // DRAM upload + 80bc 00fa ffce sr @DSMAH, $AX0.H + 80be 00f8 ffcf sr @DSMAL, $AX0.L + 80c0 009e 0000 lri $AC0.M, #0x0000 + 80c2 00fe ffc9 sr @DSCR, $AC0.M // CPU->DMEM + 80c4 00fb ffcd sr @DSPA, $AX1.H + 80c6 00f9 ffcb sr @DSBL, $AX1.L + 80c8 00de ffc9 lr $AC0.M, @DSCR // wait for DMA completion + 80ca 02a0 0004 andf $AC0.M, #0x0004 + 80cc 029c 80c8 jlnz 0x80c8 +} +80ce 8900 clr $ACC1 +80cf 1fe7 mrr $AC1.M, $IX3 +80d0 b900 tst $ACC1 +80d1 0295 80e5 jz 0x80e5 +{ // IRAM upload + 80d3 00e4 ffce sr @DSMAH, $IX0 + 80d5 00e5 ffcf sr @DSMAL, $IX1 + 80d7 009e 0002 lri $AC0.M, #0x0002 + 80d9 00fe ffc9 sr @DSCR, $AC0.M // CPU->IMEM (ucode upload) + 80db 00e6 ffcd sr @DSPA, $IX2 + 80dd 00e7 ffcb sr @DSBL, $IX3 + 80df 00de ffc9 lr $AC0.M, @DSCR // wait for DMA completion + 80e1 02a0 0004 andf $AC0.M, #0x0004 + 80e3 029c 80df jlnz 0x80df +} +80e5 170f jmpr $AR0 // m_CurrentUCode.m_StartPC +80e6 0021 halt +} + +// Large mixer function - called a lot by AX +// Prolly simple Stereo Mixer +{ +80e7 8150 clr'l $ACC0 : $AX0.H, @$AR0 +80e8 8949 clr'l $ACC1 : $AX1.L, @$AR1 +80e9 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 +80ea 8962 clr'l $ACC1 : $AC0.L, @$AR2 +80eb f07a lsl16'l $ACC0 : $AC1.M, @$AR2 +80ec 191a lrri $AX0.H, @$AR0 +80ed b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 +80ee 9100 asr16 $ACC0 +80ef f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +80f0 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +80f1 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +80f2 195c lrri $AC0.L, @$AR2 +80f3 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +80f4 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +80f5 917a asr16'l $ACC0 : $AC1.M, @$AR2 +80f6 195d lrri $AC1.L, @$AR2 +80f7 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +80f8 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +80f9 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +80fa 195c lrri $AC0.L, @$AR2 +80fb f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +80fc b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +80fd 917a asr16'l $ACC0 : $AC1.M, @$AR2 +80fe 195d lrri $AC1.L, @$AR2 +80ff f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8100 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8101 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8102 195c lrri $AC0.L, @$AR2 +8103 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8104 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8105 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8106 195d lrri $AC1.L, @$AR2 +8107 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8108 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8109 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +810a 195c lrri $AC0.L, @$AR2 +810b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +810c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +810d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +810e 195d lrri $AC1.L, @$AR2 +810f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8110 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8111 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8112 195c lrri $AC0.L, @$AR2 +8113 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8114 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8115 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8116 195d lrri $AC1.L, @$AR2 +8117 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8118 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8119 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +811a 195c lrri $AC0.L, @$AR2 +811b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +811c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +811d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +811e 195d lrri $AC1.L, @$AR2 +811f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8120 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8121 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8122 195c lrri $AC0.L, @$AR2 +8123 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8124 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8125 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8126 195d lrri $AC1.L, @$AR2 +8127 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8128 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8129 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +812a 195c lrri $AC0.L, @$AR2 +812b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +812c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +812d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +812e 195d lrri $AC1.L, @$AR2 +812f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8130 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8131 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8132 195c lrri $AC0.L, @$AR2 +8133 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8134 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8135 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8136 195d lrri $AC1.L, @$AR2 +8137 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8138 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8139 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +813a 195c lrri $AC0.L, @$AR2 +813b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +813c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +813d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +813e 195d lrri $AC1.L, @$AR2 +813f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8140 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8141 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8142 195c lrri $AC0.L, @$AR2 +8143 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8144 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8145 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8146 195d lrri $AC1.L, @$AR2 +8147 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8148 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8149 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +814a 195c lrri $AC0.L, @$AR2 +814b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +814c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +814d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +814e 195d lrri $AC1.L, @$AR2 +814f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8150 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8151 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8152 195c lrri $AC0.L, @$AR2 +8153 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8154 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8155 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8156 195d lrri $AC1.L, @$AR2 +8157 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8158 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8159 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +815a 195c lrri $AC0.L, @$AR2 +815b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +815c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +815d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +815e 195d lrri $AC1.L, @$AR2 +815f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8160 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8161 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8162 195c lrri $AC0.L, @$AR2 +8163 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8164 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8165 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8166 195d lrri $AC1.L, @$AR2 +8167 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8168 1b7c srri @$AR3, $AC0.L +8169 6e00 movp $ACC0 +816a b512 mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX0.L, $AC0.M +816b 9909 asr16'ir $ACC1 : $AR1 +816c 1b7f srri @$AR3, $AC1.M +816d 812b clr's $ACC0 : @$AR3, $AC1.L +816e 1c04 mrr $AR0, $IX0 +816f 1c45 mrr $AR2, $IX1 +8170 1c62 mrr $AR3, $AR2 +8171 8150 clr'l $ACC0 : $AX0.H, @$AR0 +8172 8949 clr'l $ACC1 : $AX1.L, @$AR1 +8173 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 +8174 8962 clr'l $ACC1 : $AC0.L, @$AR2 +8175 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 +8176 191a lrri $AX0.H, @$AR0 +8177 b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 +8178 9100 asr16 $ACC0 +8179 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +817a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +817b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +817c 195c lrri $AC0.L, @$AR2 +817d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +817e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +817f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8180 195d lrri $AC1.L, @$AR2 +8181 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8182 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8183 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8184 195c lrri $AC0.L, @$AR2 +8185 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8186 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8187 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8188 195d lrri $AC1.L, @$AR2 +8189 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +818a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +818b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +818c 195c lrri $AC0.L, @$AR2 +818d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +818e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +818f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8190 195d lrri $AC1.L, @$AR2 +8191 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8192 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8193 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8194 195c lrri $AC0.L, @$AR2 +8195 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8196 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8197 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8198 195d lrri $AC1.L, @$AR2 +8199 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +819a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +819b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +819c 195c lrri $AC0.L, @$AR2 +819d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +819e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +819f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81a0 195d lrri $AC1.L, @$AR2 +81a1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81a2 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81a3 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81a4 195c lrri $AC0.L, @$AR2 +81a5 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81a6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81a7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81a8 195d lrri $AC1.L, @$AR2 +81a9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81aa b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81ab 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81ac 195c lrri $AC0.L, @$AR2 +81ad f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81ae b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81af 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81b0 195d lrri $AC1.L, @$AR2 +81b1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81b2 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81b3 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81b4 195c lrri $AC0.L, @$AR2 +81b5 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81b6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81b7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81b8 195d lrri $AC1.L, @$AR2 +81b9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81ba b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81bb 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81bc 195c lrri $AC0.L, @$AR2 +81bd f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81be b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81bf 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81c0 195d lrri $AC1.L, @$AR2 +81c1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81c2 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81c3 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81c4 195c lrri $AC0.L, @$AR2 +81c5 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81c6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81c7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81c8 195d lrri $AC1.L, @$AR2 +81c9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81ca b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81cb 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81cc 195c lrri $AC0.L, @$AR2 +81cd f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81ce b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81cf 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81d0 195d lrri $AC1.L, @$AR2 +81d1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81d2 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81d3 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81d4 195c lrri $AC0.L, @$AR2 +81d5 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81d6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81d7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81d8 195d lrri $AC1.L, @$AR2 +81d9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81da b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81db 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81dc 195c lrri $AC0.L, @$AR2 +81dd f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81de b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81df 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81e0 195d lrri $AC1.L, @$AR2 +81e1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81e2 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81e3 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81e4 195c lrri $AC0.L, @$AR2 +81e5 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81e6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81e7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81e8 195d lrri $AC1.L, @$AR2 +81e9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81ea b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +81eb 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +81ec 195c lrri $AC0.L, @$AR2 +81ed f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +81ee b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +81ef 917a asr16'l $ACC0 : $AC1.M, @$AR2 +81f0 195d lrri $AC1.L, @$AR2 +81f1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +81f2 1b7c srri @$AR3, $AC0.L +81f3 6e00 movp $ACC0 +81f4 b51e mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX1.H, $AC0.M +81f5 9909 asr16'ir $ACC1 : $AR1 +81f6 1b7f srri @$AR3, $AC1.M +81f7 812b clr's $ACC0 : @$AR3, $AC1.L +81f8 02df ret +} + +// Second big mixer function? +{ +81f9 8150 clr'l $ACC0 : $AX0.H, @$AR0 +81fa 8949 clr'l $ACC1 : $AX1.L, @$AR1 +81fb b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 +81fc 8962 clr'l $ACC1 : $AC0.L, @$AR2 +81fd f07a lsl16'l $ACC0 : $AC1.M, @$AR2 +81fe 191a lrri $AX0.H, @$AR0 +81ff b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 +8200 9100 asr16 $ACC0 +8201 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8202 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8203 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8204 195c lrri $AC0.L, @$AR2 +8205 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8206 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8207 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8208 195d lrri $AC1.L, @$AR2 +8209 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +820a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +820b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +820c 195c lrri $AC0.L, @$AR2 +820d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +820e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +820f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8210 195d lrri $AC1.L, @$AR2 +8211 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8212 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8213 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8214 195c lrri $AC0.L, @$AR2 +8215 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8216 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8217 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8218 195d lrri $AC1.L, @$AR2 +8219 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +821a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +821b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +821c 195c lrri $AC0.L, @$AR2 +821d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +821e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +821f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8220 195d lrri $AC1.L, @$AR2 +8221 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8222 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8223 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8224 195c lrri $AC0.L, @$AR2 +8225 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8226 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8227 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8228 195d lrri $AC1.L, @$AR2 +8229 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +822a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +822b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +822c 195c lrri $AC0.L, @$AR2 +822d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +822e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +822f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8230 195d lrri $AC1.L, @$AR2 +8231 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8232 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8233 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8234 195c lrri $AC0.L, @$AR2 +8235 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8236 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8237 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8238 195d lrri $AC1.L, @$AR2 +8239 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +823a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +823b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +823c 195c lrri $AC0.L, @$AR2 +823d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +823e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +823f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8240 195d lrri $AC1.L, @$AR2 +8241 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8242 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8243 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8244 195c lrri $AC0.L, @$AR2 +8245 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8246 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8247 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8248 195d lrri $AC1.L, @$AR2 +8249 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +824a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +824b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +824c 195c lrri $AC0.L, @$AR2 +824d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +824e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +824f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8250 195d lrri $AC1.L, @$AR2 +8251 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8252 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8253 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8254 195c lrri $AC0.L, @$AR2 +8255 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8256 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8257 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8258 195d lrri $AC1.L, @$AR2 +8259 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +825a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +825b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +825c 195c lrri $AC0.L, @$AR2 +825d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +825e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +825f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8260 195d lrri $AC1.L, @$AR2 +8261 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8262 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8263 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8264 195c lrri $AC0.L, @$AR2 +8265 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8266 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8267 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8268 195d lrri $AC1.L, @$AR2 +8269 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +826a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +826b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +826c 195c lrri $AC0.L, @$AR2 +826d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +826e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +826f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8270 195d lrri $AC1.L, @$AR2 +8271 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8272 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8273 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8274 195c lrri $AC0.L, @$AR2 +8275 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8276 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8277 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8278 195d lrri $AC1.L, @$AR2 +8279 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +827a 1b7c srri @$AR3, $AC0.L +827b 6e00 movp $ACC0 +827c b512 mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX0.L, $AC0.M +827d 9909 asr16'ir $ACC1 : $AR1 +827e 1b7f srri @$AR3, $AC1.M +827f 812b clr's $ACC0 : @$AR3, $AC1.L +8280 1f63 mrr $AX1.H, $AR3 +8281 02df ret +} + +// 3rd big mixer function +{ +8282 1ce3 mrr $IX3, $AR3 +8283 8100 clr $ACC0 +8284 8971 clr'l $ACC1 : $AC0.M, @$AR1 +8285 18bf lrrd $AC1.M, @$AR1 +8286 1b7e srri @$AR3, $AC0.M +8287 4c00 add $ACC0, $ACC1 +8288 1b7e srri @$AR3, $AC0.M +8289 4c00 add $ACC0, $ACC1 +828a 1b7e srri @$AR3, $AC0.M +828b 4c00 add $ACC0, $ACC1 +828c 1b7e srri @$AR3, $AC0.M +828d 4c00 add $ACC0, $ACC1 +828e 1b7e srri @$AR3, $AC0.M +828f 4c00 add $ACC0, $ACC1 +8290 1b7e srri @$AR3, $AC0.M +8291 4c00 add $ACC0, $ACC1 +8292 1b7e srri @$AR3, $AC0.M +8293 4c00 add $ACC0, $ACC1 +8294 1b7e srri @$AR3, $AC0.M +8295 4c00 add $ACC0, $ACC1 +8296 1b7e srri @$AR3, $AC0.M +8297 4c00 add $ACC0, $ACC1 +8298 1b7e srri @$AR3, $AC0.M +8299 4c00 add $ACC0, $ACC1 +829a 1b7e srri @$AR3, $AC0.M +829b 4c00 add $ACC0, $ACC1 +829c 1b7e srri @$AR3, $AC0.M +829d 4c00 add $ACC0, $ACC1 +829e 1b7e srri @$AR3, $AC0.M +829f 4c00 add $ACC0, $ACC1 +82a0 1b7e srri @$AR3, $AC0.M +82a1 4c00 add $ACC0, $ACC1 +82a2 1b7e srri @$AR3, $AC0.M +82a3 4c00 add $ACC0, $ACC1 +82a4 1b7e srri @$AR3, $AC0.M +82a5 4c00 add $ACC0, $ACC1 +82a6 1b7e srri @$AR3, $AC0.M +82a7 4c00 add $ACC0, $ACC1 +82a8 1b7e srri @$AR3, $AC0.M +82a9 4c00 add $ACC0, $ACC1 +82aa 1b7e srri @$AR3, $AC0.M +82ab 4c00 add $ACC0, $ACC1 +82ac 1b7e srri @$AR3, $AC0.M +82ad 4c00 add $ACC0, $ACC1 +82ae 1b7e srri @$AR3, $AC0.M +82af 4c00 add $ACC0, $ACC1 +82b0 1b7e srri @$AR3, $AC0.M +82b1 4c00 add $ACC0, $ACC1 +82b2 1b7e srri @$AR3, $AC0.M +82b3 4c00 add $ACC0, $ACC1 +82b4 1b7e srri @$AR3, $AC0.M +82b5 4c00 add $ACC0, $ACC1 +82b6 1b7e srri @$AR3, $AC0.M +82b7 4c00 add $ACC0, $ACC1 +82b8 1b7e srri @$AR3, $AC0.M +82b9 4c00 add $ACC0, $ACC1 +82ba 1b7e srri @$AR3, $AC0.M +82bb 4c00 add $ACC0, $ACC1 +82bc 1b7e srri @$AR3, $AC0.M +82bd 4c00 add $ACC0, $ACC1 +82be 1b7e srri @$AR3, $AC0.M +82bf 4c00 add $ACC0, $ACC1 +82c0 1b7e srri @$AR3, $AC0.M +82c1 4c00 add $ACC0, $ACC1 +82c2 1b7e srri @$AR3, $AC0.M +82c3 4c00 add $ACC0, $ACC1 +82c4 1b7e srri @$AR3, $AC0.M +82c5 4c00 add $ACC0, $ACC1 +82c6 8931 clr's $ACC1 : @$AR1, $AC0.M +82c7 8109 clr'ir $ACC0 : $AR1 +82c8 193e lrri $AC0.M, @$AR1 +82c9 18bf lrrd $AC1.M, @$AR1 +82ca 1b7e srri @$AR3, $AC0.M +82cb 4c00 add $ACC0, $ACC1 +82cc 1b7e srri @$AR3, $AC0.M +82cd 4c00 add $ACC0, $ACC1 +82ce 1b7e srri @$AR3, $AC0.M +82cf 4c00 add $ACC0, $ACC1 +82d0 1b7e srri @$AR3, $AC0.M +82d1 4c00 add $ACC0, $ACC1 +82d2 1b7e srri @$AR3, $AC0.M +82d3 4c00 add $ACC0, $ACC1 +82d4 1b7e srri @$AR3, $AC0.M +82d5 4c00 add $ACC0, $ACC1 +82d6 1b7e srri @$AR3, $AC0.M +82d7 4c00 add $ACC0, $ACC1 +82d8 1b7e srri @$AR3, $AC0.M +82d9 4c00 add $ACC0, $ACC1 +82da 1b7e srri @$AR3, $AC0.M +82db 4c00 add $ACC0, $ACC1 +82dc 1b7e srri @$AR3, $AC0.M +82dd 4c00 add $ACC0, $ACC1 +82de 1b7e srri @$AR3, $AC0.M +82df 4c00 add $ACC0, $ACC1 +82e0 1b7e srri @$AR3, $AC0.M +82e1 4c00 add $ACC0, $ACC1 +82e2 1b7e srri @$AR3, $AC0.M +82e3 4c00 add $ACC0, $ACC1 +82e4 1b7e srri @$AR3, $AC0.M +82e5 4c00 add $ACC0, $ACC1 +82e6 1b7e srri @$AR3, $AC0.M +82e7 4c00 add $ACC0, $ACC1 +82e8 1b7e srri @$AR3, $AC0.M +82e9 4c00 add $ACC0, $ACC1 +82ea 1b7e srri @$AR3, $AC0.M +82eb 4c00 add $ACC0, $ACC1 +82ec 1b7e srri @$AR3, $AC0.M +82ed 4c00 add $ACC0, $ACC1 +82ee 1b7e srri @$AR3, $AC0.M +82ef 4c00 add $ACC0, $ACC1 +82f0 1b7e srri @$AR3, $AC0.M +82f1 4c00 add $ACC0, $ACC1 +82f2 1b7e srri @$AR3, $AC0.M +82f3 4c00 add $ACC0, $ACC1 +82f4 1b7e srri @$AR3, $AC0.M +82f5 4c00 add $ACC0, $ACC1 +82f6 1b7e srri @$AR3, $AC0.M +82f7 4c00 add $ACC0, $ACC1 +82f8 1b7e srri @$AR3, $AC0.M +82f9 4c00 add $ACC0, $ACC1 +82fa 1b7e srri @$AR3, $AC0.M +82fb 4c00 add $ACC0, $ACC1 +82fc 1b7e srri @$AR3, $AC0.M +82fd 4c00 add $ACC0, $ACC1 +82fe 1b7e srri @$AR3, $AC0.M +82ff 4c00 add $ACC0, $ACC1 +8300 1b7e srri @$AR3, $AC0.M +8301 4c00 add $ACC0, $ACC1 +8302 1b7e srri @$AR3, $AC0.M +8303 4c00 add $ACC0, $ACC1 +8304 1b7e srri @$AR3, $AC0.M +8305 4c00 add $ACC0, $ACC1 +8306 1b7e srri @$AR3, $AC0.M +8307 4c00 add $ACC0, $ACC1 +8308 1b7e srri @$AR3, $AC0.M +8309 4c00 add $ACC0, $ACC1 +830a 1b3e srri @$AR1, $AC0.M +830b 1c27 mrr $AR1, $IX3 +830c 1c62 mrr $AR3, $AR2 +830d 8150 clr'l $ACC0 : $AX0.H, @$AR0 +830e 8949 clr'l $ACC1 : $AX1.L, @$AR1 +830f b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 +8310 8962 clr'l $ACC1 : $AC0.L, @$AR2 +8311 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 +8312 191a lrri $AX0.H, @$AR0 +8313 1939 lrri $AX1.L, @$AR1 +8314 b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 +8315 9100 asr16 $ACC0 +8316 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8317 1939 lrri $AX1.L, @$AR1 +8318 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8319 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +831a 195c lrri $AC0.L, @$AR2 +831b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +831c 1939 lrri $AX1.L, @$AR1 +831d b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +831e 917a asr16'l $ACC0 : $AC1.M, @$AR2 +831f 195d lrri $AC1.L, @$AR2 +8320 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8321 1939 lrri $AX1.L, @$AR1 +8322 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8323 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8324 195c lrri $AC0.L, @$AR2 +8325 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8326 1939 lrri $AX1.L, @$AR1 +8327 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8328 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8329 195d lrri $AC1.L, @$AR2 +832a f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +832b 1939 lrri $AX1.L, @$AR1 +832c b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +832d 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +832e 195c lrri $AC0.L, @$AR2 +832f f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8330 1939 lrri $AX1.L, @$AR1 +8331 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8332 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8333 195d lrri $AC1.L, @$AR2 +8334 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8335 1939 lrri $AX1.L, @$AR1 +8336 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8337 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8338 195c lrri $AC0.L, @$AR2 +8339 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +833a 1939 lrri $AX1.L, @$AR1 +833b b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +833c 917a asr16'l $ACC0 : $AC1.M, @$AR2 +833d 195d lrri $AC1.L, @$AR2 +833e f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +833f 1939 lrri $AX1.L, @$AR1 +8340 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8341 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8342 195c lrri $AC0.L, @$AR2 +8343 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8344 1939 lrri $AX1.L, @$AR1 +8345 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8346 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8347 195d lrri $AC1.L, @$AR2 +8348 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8349 1939 lrri $AX1.L, @$AR1 +834a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +834b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +834c 195c lrri $AC0.L, @$AR2 +834d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +834e 1939 lrri $AX1.L, @$AR1 +834f b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8350 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8351 195d lrri $AC1.L, @$AR2 +8352 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8353 1939 lrri $AX1.L, @$AR1 +8354 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8355 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8356 195c lrri $AC0.L, @$AR2 +8357 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8358 1939 lrri $AX1.L, @$AR1 +8359 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +835a 917a asr16'l $ACC0 : $AC1.M, @$AR2 +835b 195d lrri $AC1.L, @$AR2 +835c f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +835d 1939 lrri $AX1.L, @$AR1 +835e b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +835f 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8360 195c lrri $AC0.L, @$AR2 +8361 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8362 1939 lrri $AX1.L, @$AR1 +8363 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8364 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8365 195d lrri $AC1.L, @$AR2 +8366 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8367 1939 lrri $AX1.L, @$AR1 +8368 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8369 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +836a 195c lrri $AC0.L, @$AR2 +836b f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +836c 1939 lrri $AX1.L, @$AR1 +836d b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +836e 917a asr16'l $ACC0 : $AC1.M, @$AR2 +836f 195d lrri $AC1.L, @$AR2 +8370 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8371 1939 lrri $AX1.L, @$AR1 +8372 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8373 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8374 195c lrri $AC0.L, @$AR2 +8375 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8376 1939 lrri $AX1.L, @$AR1 +8377 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8378 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8379 195d lrri $AC1.L, @$AR2 +837a f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +837b 1939 lrri $AX1.L, @$AR1 +837c b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +837d 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +837e 195c lrri $AC0.L, @$AR2 +837f f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8380 1939 lrri $AX1.L, @$AR1 +8381 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8382 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8383 195d lrri $AC1.L, @$AR2 +8384 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8385 1939 lrri $AX1.L, @$AR1 +8386 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8387 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8388 195c lrri $AC0.L, @$AR2 +8389 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +838a 1939 lrri $AX1.L, @$AR1 +838b b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +838c 917a asr16'l $ACC0 : $AC1.M, @$AR2 +838d 195d lrri $AC1.L, @$AR2 +838e f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +838f 1939 lrri $AX1.L, @$AR1 +8390 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8391 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8392 195c lrri $AC0.L, @$AR2 +8393 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8394 1939 lrri $AX1.L, @$AR1 +8395 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8396 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8397 195d lrri $AC1.L, @$AR2 +8398 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8399 1939 lrri $AX1.L, @$AR1 +839a b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +839b 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +839c 195c lrri $AC0.L, @$AR2 +839d f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +839e 1939 lrri $AX1.L, @$AR1 +839f b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83a0 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83a1 195d lrri $AC1.L, @$AR2 +83a2 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83a3 1939 lrri $AX1.L, @$AR1 +83a4 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83a5 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83a6 195c lrri $AC0.L, @$AR2 +83a7 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83a8 1939 lrri $AX1.L, @$AR1 +83a9 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83aa 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83ab 195d lrri $AC1.L, @$AR2 +83ac f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83ad 1b7c srri @$AR3, $AC0.L +83ae 6e00 movp $ACC0 +83af b512 mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX0.L, $AC0.M +83b0 9900 asr16 $ACC1 +83b1 1b7f srri @$AR3, $AC1.M +83b2 812b clr's $ACC0 : @$AR3, $AC1.L +83b3 1c04 mrr $AR0, $IX0 +83b4 1c45 mrr $AR2, $IX1 +83b5 1c62 mrr $AR3, $AR2 +83b6 8150 clr'l $ACC0 : $AX0.H, @$AR0 +83b7 8949 clr'l $ACC1 : $AX1.L, @$AR1 +83b8 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 +83b9 8962 clr'l $ACC1 : $AC0.L, @$AR2 +83ba f07a lsl16'l $ACC0 : $AC1.M, @$AR2 +83bb 191a lrri $AX0.H, @$AR0 +83bc 1939 lrri $AX1.L, @$AR1 +83bd b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 +83be 9100 asr16 $ACC0 +83bf f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83c0 1939 lrri $AX1.L, @$AR1 +83c1 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83c2 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83c3 195c lrri $AC0.L, @$AR2 +83c4 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83c5 1939 lrri $AX1.L, @$AR1 +83c6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83c7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83c8 195d lrri $AC1.L, @$AR2 +83c9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83ca 1939 lrri $AX1.L, @$AR1 +83cb b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83cc 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83cd 195c lrri $AC0.L, @$AR2 +83ce f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83cf 1939 lrri $AX1.L, @$AR1 +83d0 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83d1 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83d2 195d lrri $AC1.L, @$AR2 +83d3 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83d4 1939 lrri $AX1.L, @$AR1 +83d5 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83d6 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83d7 195c lrri $AC0.L, @$AR2 +83d8 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83d9 1939 lrri $AX1.L, @$AR1 +83da b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83db 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83dc 195d lrri $AC1.L, @$AR2 +83dd f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83de 1939 lrri $AX1.L, @$AR1 +83df b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83e0 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83e1 195c lrri $AC0.L, @$AR2 +83e2 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83e3 1939 lrri $AX1.L, @$AR1 +83e4 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83e5 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83e6 195d lrri $AC1.L, @$AR2 +83e7 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83e8 1939 lrri $AX1.L, @$AR1 +83e9 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83ea 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83eb 195c lrri $AC0.L, @$AR2 +83ec f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83ed 1939 lrri $AX1.L, @$AR1 +83ee b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83ef 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83f0 195d lrri $AC1.L, @$AR2 +83f1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83f2 1939 lrri $AX1.L, @$AR1 +83f3 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83f4 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83f5 195c lrri $AC0.L, @$AR2 +83f6 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +83f7 1939 lrri $AX1.L, @$AR1 +83f8 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +83f9 917a asr16'l $ACC0 : $AC1.M, @$AR2 +83fa 195d lrri $AC1.L, @$AR2 +83fb f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +83fc 1939 lrri $AX1.L, @$AR1 +83fd b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +83fe 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +83ff 195c lrri $AC0.L, @$AR2 +8400 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8401 1939 lrri $AX1.L, @$AR1 +8402 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8403 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8404 195d lrri $AC1.L, @$AR2 +8405 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8406 1939 lrri $AX1.L, @$AR1 +8407 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8408 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8409 195c lrri $AC0.L, @$AR2 +840a f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +840b 1939 lrri $AX1.L, @$AR1 +840c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +840d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +840e 195d lrri $AC1.L, @$AR2 +840f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8410 1939 lrri $AX1.L, @$AR1 +8411 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8412 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8413 195c lrri $AC0.L, @$AR2 +8414 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8415 1939 lrri $AX1.L, @$AR1 +8416 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8417 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8418 195d lrri $AC1.L, @$AR2 +8419 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +841a 1939 lrri $AX1.L, @$AR1 +841b b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +841c 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +841d 195c lrri $AC0.L, @$AR2 +841e f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +841f 1939 lrri $AX1.L, @$AR1 +8420 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8421 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8422 195d lrri $AC1.L, @$AR2 +8423 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8424 1939 lrri $AX1.L, @$AR1 +8425 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8426 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8427 195c lrri $AC0.L, @$AR2 +8428 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8429 1939 lrri $AX1.L, @$AR1 +842a b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +842b 917a asr16'l $ACC0 : $AC1.M, @$AR2 +842c 195d lrri $AC1.L, @$AR2 +842d f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +842e 1939 lrri $AX1.L, @$AR1 +842f b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8430 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8431 195c lrri $AC0.L, @$AR2 +8432 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8433 1939 lrri $AX1.L, @$AR1 +8434 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8435 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8436 195d lrri $AC1.L, @$AR2 +8437 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8438 1939 lrri $AX1.L, @$AR1 +8439 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +843a 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +843b 195c lrri $AC0.L, @$AR2 +843c f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +843d 1939 lrri $AX1.L, @$AR1 +843e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +843f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8440 195d lrri $AC1.L, @$AR2 +8441 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8442 1939 lrri $AX1.L, @$AR1 +8443 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8444 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8445 195c lrri $AC0.L, @$AR2 +8446 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8447 1939 lrri $AX1.L, @$AR1 +8448 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8449 917a asr16'l $ACC0 : $AC1.M, @$AR2 +844a 195d lrri $AC1.L, @$AR2 +844b f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +844c 1939 lrri $AX1.L, @$AR1 +844d b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +844e 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +844f 195c lrri $AC0.L, @$AR2 +8450 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8451 1939 lrri $AX1.L, @$AR1 +8452 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8453 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8454 195d lrri $AC1.L, @$AR2 +8455 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8456 1b7c srri @$AR3, $AC0.L +8457 6e00 movp $ACC0 +8458 b51e mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX1.H, $AC0.M +8459 9900 asr16 $ACC1 +845a 1b7f srri @$AR3, $AC1.M +845b 812b clr's $ACC0 : @$AR3, $AC1.L +845c 02df ret +} + +// Don't know what this is, looks like more mixing +{ +845d 1ce3 mrr $IX3, $AR3 +845e 8100 clr $ACC0 +845f 8971 clr'l $ACC1 : $AC0.M, @$AR1 +8460 18bf lrrd $AC1.M, @$AR1 +8461 1b7e srri @$AR3, $AC0.M +8462 4c00 add $ACC0, $ACC1 +8463 1b7e srri @$AR3, $AC0.M +8464 4c00 add $ACC0, $ACC1 +8465 1b7e srri @$AR3, $AC0.M +8466 4c00 add $ACC0, $ACC1 +8467 1b7e srri @$AR3, $AC0.M +8468 4c00 add $ACC0, $ACC1 +8469 1b7e srri @$AR3, $AC0.M +846a 4c00 add $ACC0, $ACC1 +846b 1b7e srri @$AR3, $AC0.M +846c 4c00 add $ACC0, $ACC1 +846d 1b7e srri @$AR3, $AC0.M +846e 4c00 add $ACC0, $ACC1 +846f 1b7e srri @$AR3, $AC0.M +8470 4c00 add $ACC0, $ACC1 +8471 1b7e srri @$AR3, $AC0.M +8472 4c00 add $ACC0, $ACC1 +8473 1b7e srri @$AR3, $AC0.M +8474 4c00 add $ACC0, $ACC1 +8475 1b7e srri @$AR3, $AC0.M +8476 4c00 add $ACC0, $ACC1 +8477 1b7e srri @$AR3, $AC0.M +8478 4c00 add $ACC0, $ACC1 +8479 1b7e srri @$AR3, $AC0.M +847a 4c00 add $ACC0, $ACC1 +847b 1b7e srri @$AR3, $AC0.M +847c 4c00 add $ACC0, $ACC1 +847d 1b7e srri @$AR3, $AC0.M +847e 4c00 add $ACC0, $ACC1 +847f 1b7e srri @$AR3, $AC0.M +8480 4c00 add $ACC0, $ACC1 +8481 1b7e srri @$AR3, $AC0.M +8482 4c00 add $ACC0, $ACC1 +8483 1b7e srri @$AR3, $AC0.M +8484 4c00 add $ACC0, $ACC1 +8485 1b7e srri @$AR3, $AC0.M +8486 4c00 add $ACC0, $ACC1 +8487 1b7e srri @$AR3, $AC0.M +8488 4c00 add $ACC0, $ACC1 +8489 1b7e srri @$AR3, $AC0.M +848a 4c00 add $ACC0, $ACC1 +848b 1b7e srri @$AR3, $AC0.M +848c 4c00 add $ACC0, $ACC1 +848d 1b7e srri @$AR3, $AC0.M +848e 4c00 add $ACC0, $ACC1 +848f 1b7e srri @$AR3, $AC0.M +8490 4c00 add $ACC0, $ACC1 +8491 1b7e srri @$AR3, $AC0.M +8492 4c00 add $ACC0, $ACC1 +8493 1b7e srri @$AR3, $AC0.M +8494 4c00 add $ACC0, $ACC1 +8495 1b7e srri @$AR3, $AC0.M +8496 4c00 add $ACC0, $ACC1 +8497 1b7e srri @$AR3, $AC0.M +8498 4c00 add $ACC0, $ACC1 +8499 1b7e srri @$AR3, $AC0.M +849a 4c00 add $ACC0, $ACC1 +849b 1b7e srri @$AR3, $AC0.M +849c 4c00 add $ACC0, $ACC1 +849d 1b7e srri @$AR3, $AC0.M +849e 4c00 add $ACC0, $ACC1 +849f 1b7e srri @$AR3, $AC0.M +84a0 4c00 add $ACC0, $ACC1 +84a1 8931 clr's $ACC1 : @$AR1, $AC0.M +84a2 1c27 mrr $AR1, $IX3 +84a3 1c62 mrr $AR3, $AR2 +84a4 8150 clr'l $ACC0 : $AX0.H, @$AR0 +84a5 1939 lrri $AX1.L, @$AR1 +84a6 b072 mulx'l $AX0.H, $AX1.L : $AC0.M, @$AR2 +84a7 8962 clr'l $ACC1 : $AC0.L, @$AR2 +84a8 f07a lsl16'l $ACC0 : $AC1.M, @$AR2 +84a9 191a lrri $AX0.H, @$AR0 +84aa 1939 lrri $AX1.L, @$AR1 +84ab b46a mulxac'l $AX0.H, $AX1.L, $ACC0 : $AC1.L, @$AR2 +84ac 9100 asr16 $ACC0 +84ad f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84ae 1939 lrri $AX1.L, @$AR1 +84af b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84b0 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84b1 195c lrri $AC0.L, @$AR2 +84b2 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84b3 1939 lrri $AX1.L, @$AR1 +84b4 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84b5 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84b6 195d lrri $AC1.L, @$AR2 +84b7 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84b8 1939 lrri $AX1.L, @$AR1 +84b9 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84ba 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84bb 195c lrri $AC0.L, @$AR2 +84bc f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84bd 1939 lrri $AX1.L, @$AR1 +84be b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84bf 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84c0 195d lrri $AC1.L, @$AR2 +84c1 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84c2 1939 lrri $AX1.L, @$AR1 +84c3 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84c4 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84c5 195c lrri $AC0.L, @$AR2 +84c6 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84c7 1939 lrri $AX1.L, @$AR1 +84c8 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84c9 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84ca 195d lrri $AC1.L, @$AR2 +84cb f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84cc 1939 lrri $AX1.L, @$AR1 +84cd b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84ce 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84cf 195c lrri $AC0.L, @$AR2 +84d0 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84d1 1939 lrri $AX1.L, @$AR1 +84d2 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84d3 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84d4 195d lrri $AC1.L, @$AR2 +84d5 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84d6 1939 lrri $AX1.L, @$AR1 +84d7 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84d8 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84d9 195c lrri $AC0.L, @$AR2 +84da f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84db 1939 lrri $AX1.L, @$AR1 +84dc b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84dd 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84de 195d lrri $AC1.L, @$AR2 +84df f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84e0 1939 lrri $AX1.L, @$AR1 +84e1 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84e2 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84e3 195c lrri $AC0.L, @$AR2 +84e4 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84e5 1939 lrri $AX1.L, @$AR1 +84e6 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84e7 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84e8 195d lrri $AC1.L, @$AR2 +84e9 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84ea 1939 lrri $AX1.L, @$AR1 +84eb b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84ec 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84ed 195c lrri $AC0.L, @$AR2 +84ee f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84ef 1939 lrri $AX1.L, @$AR1 +84f0 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84f1 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84f2 195d lrri $AC1.L, @$AR2 +84f3 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84f4 1939 lrri $AX1.L, @$AR1 +84f5 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +84f6 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +84f7 195c lrri $AC0.L, @$AR2 +84f8 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +84f9 1939 lrri $AX1.L, @$AR1 +84fa b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +84fb 917a asr16'l $ACC0 : $AC1.M, @$AR2 +84fc 195d lrri $AC1.L, @$AR2 +84fd f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +84fe 1939 lrri $AX1.L, @$AR1 +84ff b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8500 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8501 195c lrri $AC0.L, @$AR2 +8502 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8503 1939 lrri $AX1.L, @$AR1 +8504 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8505 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8506 195d lrri $AC1.L, @$AR2 +8507 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8508 1939 lrri $AX1.L, @$AR1 +8509 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +850a 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +850b 195c lrri $AC0.L, @$AR2 +850c f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +850d 1939 lrri $AX1.L, @$AR1 +850e b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +850f 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8510 195d lrri $AC1.L, @$AR2 +8511 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8512 1939 lrri $AX1.L, @$AR1 +8513 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8514 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8515 195c lrri $AC0.L, @$AR2 +8516 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8517 1939 lrri $AX1.L, @$AR1 +8518 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8519 917a asr16'l $ACC0 : $AC1.M, @$AR2 +851a 195d lrri $AC1.L, @$AR2 +851b f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +851c 1939 lrri $AX1.L, @$AR1 +851d b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +851e 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +851f 195c lrri $AC0.L, @$AR2 +8520 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8521 1939 lrri $AX1.L, @$AR1 +8522 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8523 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8524 195d lrri $AC1.L, @$AR2 +8525 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8526 1939 lrri $AX1.L, @$AR1 +8527 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8528 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8529 195c lrri $AC0.L, @$AR2 +852a f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +852b 1939 lrri $AX1.L, @$AR1 +852c b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +852d 917a asr16'l $ACC0 : $AC1.M, @$AR2 +852e 195d lrri $AC1.L, @$AR2 +852f f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8530 1939 lrri $AX1.L, @$AR1 +8531 b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +8532 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +8533 195c lrri $AC0.L, @$AR2 +8534 f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +8535 1939 lrri $AX1.L, @$AR1 +8536 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8537 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8538 195d lrri $AC1.L, @$AR2 +8539 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +853a 1939 lrri $AX1.L, @$AR1 +853b b523 mulxac's $AX0.H, $AX1.L, $ACC1 : @$AR3, $AC0.L +853c 9972 asr16'l $ACC1 : $AC0.M, @$AR2 +853d 195c lrri $AC0.L, @$AR2 +853e f0a1 lsl16'ls $ACC0 : $AX0.H, $AC1.M +853f 1939 lrri $AX1.L, @$AR1 +8540 b42b mulxac's $AX0.H, $AX1.L, $ACC0 : @$AR3, $AC1.L +8541 917a asr16'l $ACC0 : $AC1.M, @$AR2 +8542 195d lrri $AC1.L, @$AR2 +8543 f1a0 lsl16'ls $ACC1 : $AX0.H, $AC0.M +8544 1b7c srri @$AR3, $AC0.L +8545 6e00 movp $ACC0 +8546 b512 mulxac'mv $AX0.H, $AX1.L, $ACC1 : $AX0.L, $AC0.M +8547 9900 asr16 $ACC1 +8548 1b7f srri @$AR3, $AC1.M +8549 812b clr's $ACC0 : @$AR3, $AC1.L +854a 02df ret +} + +// Don't know what this is. There's deadbeef and 1234 in it. Suspicious. +{ +854b 8e00 set16 +854c 0080 0800 lri $AR0, #0x0800 +854e 0092 00ff lri $CR, #0x00ff +8550 00c4 0403 lr $IX0, @0x0403 +8552 1fe4 mrr $AC1.M, $IX0 +8553 0503 addis $AC1.M, #0x03 +8554 156e lsr $ACC1, #-18 +8555 1502 lsl $ACC1, #2 +8556 29c9 srs @DSCR, $AX1.L +8557 00de 0400 lr $AC0.M, @0x0400 +8559 2ece srs @DSMAH, $AC0.M +855a 00de 0401 lr $AC0.M, @0x0401 +855c 2ecf srs @DSMAL, $AC0.M +855d 00e0 ffcd sr @DSPA, $AR0 +855f 2dcb srs @DSBL, $AC1.L +8560 02bf 863d call 0x863d +8562 29d1 srs @SampleFormat, $AX1.L +8563 29d4 srs @ACSAH, $AX1.L +8564 29d5 srs @ACSAL, $AX1.L +8565 16d6 01ff si @ACEAH, #0x01ff +8567 16d7 ffff si @ACEAL, #0xffff +8569 00df 0404 lr $AC1.M, @0x0404 +856b 00dd 0405 lr $AC1.L, @0x0405 +856d 157f lsr $ACC1, #-1 +856e 0360 8000 ori $AC1.M, #0x8000 +8570 2fd8 srs @ACCAH, $AC1.M +8571 2dd9 srs @ACCAL, $AC1.L +8572 0082 ffd3 lri $AR2, #0xffd3 +8574 0086 0000 lri $IX2, #0x0000 +8576 1fe4 mrr $AC1.M, $IX0 +8577 03c0 0001 andcf $AC1.M, #0x0001 +8579 157f lsr $ACC1, #-1 +857a 1cbf mrr $IX1, $AC1.M +857b 009a fff8 lri $AX0.H, #0xfff8 +857d 009b 0018 lri $AX1.H, #0x0018 +857f 8178 clr'l $ACC0 : $AC1.M, @$AR0 +8580 0065 8586 bloop $IX1, 0x8586 +8582 35be lsrnrx'sn $ACC1, $AX0.H : @$AR2, $AC1.M +8583 3793 lsrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC1.M +8584 f500 lsr16 $ACC1 +8585 7017 addaxl'mv $ACC0, $AX0.L : $AX1.L, $AC1.M +8586 7278 addaxl'l $ACC0, $AX1.L : $AC1.M, @$AR0 +8587 029c 858c jlnz 0x858c +8589 35be lsrnrx'sn $ACC1, $AX0.H : @$AR2, $AC1.M +858a 1f1f mrr $AX0.L, $AC1.M +858b 7000 addaxl $ACC0, $AX0.L +858c 6d00 mov $ACC1, $ACC0 +858d 0080 0408 lri $AR0, #0x0408 +858f 009a 12df lri $AX0.H, #0x12df +8591 0098 acbd lri $AX0.L, #0xacbd +8593 4800 addax $ACC0, $AX0 +8594 1b1e srri @$AR0, $AC0.M +8595 1b1c srri @$AR0, $AC0.L +8596 009e fbca lri $AC0.M, #0xfbca +8598 1b1e srri @$AR0, $AC0.M +8599 009e deb0 lri $AC0.M, #0xdeb0 +859b 1b1e srri @$AR0, $AC0.M +859c 009e fde1 lri $AC0.M, #0xfde1 +859e 1b1e srri @$AR0, $AC0.M +859f 009e facb lri $AC0.M, #0xfacb +85a1 1b1e srri @$AR0, $AC0.M +85a2 009e dead lri $AC0.M, #0xdead +85a4 1b1e srri @$AR0, $AC0.M +85a5 009e beef lri $AC0.M, #0xbeef +85a7 080d lris $AX0.L, #0x0d +85a8 7130 addaxl's $ACC1, $AX0.L : @$AR0, $AC0.M +85a9 1b1d srri @$AR0, $AC1.L +85aa 1b11 srri @$AR0, $AC1.H +85ab 0080 0800 lri $AR0, #0x0800 +85ad 0081 0409 lri $AR1, #0x0409 +85af 0082 040f lri $AR2, #0x040f +85b1 0085 0410 lri $IX1, #0x0410 +85b3 0086 040e lri $IX2, #0x040e +85b5 0087 fffe lri $IX3, #0xfffe +85b7 16d1 0005 si @SampleFormat, #0x0005 +85b9 16d4 0000 si @ACSAH, #0x0000 +85bb 16d5 0000 si @ACSAL, #0x0000 +85bd 16d6 0000 si @ACEAH, #0x0000 +85bf 16d7 00ff si @ACEAL, #0x00ff +85c1 16d8 0000 si @ACCAH, #0x0000 +85c3 16d9 0000 si @ACCAL, #0x0000 +85c5 16da 0000 si @pred_scale, #0x0000 +85c7 16a0 f9b8 si @COEF_A1_0, #0xf9b8 +85c9 16a1 fec7 si @COEF_A2_0, #0xfec7 +85cb 16de 0800 si @GAIN, #0x0800 +85cd 16db 0000 si @yn1, #0x0000 +85cf 16dc 0000 si @yn2, #0x0000 +85d1 1fe4 mrr $AC1.M, $IX0 +85d2 1918 lrri $AX0.L, @$AR0 +85d3 00f8 ffdf sr @0xffdf, $AX0.L +85d5 1c65 mrr $AR3, $IX1 +85d6 18bc lrrd $AC0.L, @$AR1 +85d7 193e lrri $AC0.M, @$AR1 +85d8 00d8 ffdd lr $AX0.L, @ARAM +85da 7000 addaxl $ACC0, $AX0.L +85db 1abc srrd @$AR1, $AC0.L +85dc 7931 decm's $AC1.M : @$AR1, $AC0.M +85dd 157f lsr $ACC1, #-1 +85de 007f 85fd bloop $AC1.M, 0x85fd +85e0 02bf 8611 call 0x8611 +85e2 191e lrri $AC0.M, @$AR0 +85e3 3160 xorr'l $AC1.M, $AX0.H : $AC0.L, @$AR0 +85e4 1478 lsr $ACC0, #-8 +85e5 00fc ffdf sr @0xffdf, $AC0.L +85e7 1c65 mrr $AR3, $IX1 +85e8 18bc lrrd $AC0.L, @$AR1 +85e9 3371 xorr'l $AC1.M, $AX1.H : $AC0.M, @$AR1 +85ea 00d8 ffdd lr $AX0.L, @ARAM +85ec 702a addaxl's $ACC0, $AX0.L : @$AR2, $AC1.L +85ed 1a5f srr @$AR2, $AC1.M +85ee 1abc srrd @$AR1, $AC0.L +85ef 1b3e srri @$AR1, $AC0.M +85f0 02bf 8611 call 0x8611 +85f2 3140 xorr'l $AC1.M, $AX0.H : $AX0.L, @$AR0 +85f3 00f8 ffdf sr @0xffdf, $AX0.L +85f5 1c65 mrr $AR3, $IX1 +85f6 18bc lrrd $AC0.L, @$AR1 +85f7 3371 xorr'l $AC1.M, $AX1.H : $AC0.M, @$AR1 +85f8 00d8 ffdd lr $AX0.L, @ARAM +85fa 702a addaxl's $ACC0, $AX0.L : @$AR2, $AC1.L +85fb 1a5f srr @$AR2, $AC1.M +85fc 1abc srrd @$AR1, $AC0.L +85fd 1b3e srri @$AR1, $AC0.M +85fe 029d 8602 jlz 0x8602 +8600 02bf 8611 call 0x8611 +8602 16c9 0001 si @DSCR, #0x0001 // DMEM->CPU +8604 00de 0406 lr $AC0.M, @0x0406 +8606 2ece srs @DSMAH, $AC0.M +8607 00de 0407 lr $AC0.M, @0x0407 +8609 2ecf srs @DSMAL, $AC0.M +860a 16cd 040a si @DSPA, #0x040a +860c 16cb 0004 si @DSBL, #0x0004 +860e 02bf 863d call 0x863d +8610 02df ret +} + +// No idea what this is either. +{ +8611 18da lrrd $AX0.H, @$AR2 +8612 18db lrrd $AX1.H, @$AR2 +8613 18dd lrrd $AC1.L, @$AR2 +8614 18df lrrd $AC1.M, @$AR2 +8615 4c04 add'dr $ACC0, $ACC1 : $AR0 +8616 1ffc mrr $AC1.M, $AC0.L +8617 3143 xorr'l $AC1.M, $AX0.H : $AX0.L, @$AR3 +8618 f563 lsr16'l $ACC1 : $AC0.L, @$AR3 +8619 1ffe mrr $AC1.M, $AC0.M +861a 7607 inc'dr $ACC0 : $AR3 +861b 3323 xorr's $AC1.M, $AX1.H : @$AR3, $AC0.L +861c 7042 addaxl'l $ACC0, $AX0.L : $AX0.L, @$AR2 +861d 1423 lsl $ACC0, #-29 +861e 146d lsr $ACC0, #-19 +861f 1f5e mrr $AX0.H, $AC0.M +8620 04e0 addis $AC0.M, #0xe0 +8621 6c1e mov'mv $ACC0, $ACC1 : $AX1.H, $AC0.M +8622 1c66 mrr $AR3, $IX2 +8623 3486 lsrnrx'dr $ACC0, $AX0.H : $AR2 +8624 3786 lsrnrx'dr $ACC1, $AX1.H : $AR2 +8625 4c52 add'l $ACC0, $ACC1 : $AX0.H, @$AR2 +8626 486b addax'l $ACC0, $AX0 : $AC1.L, @$AR3 +8627 1adc srrd @$AR2, $AC0.L +8628 1a5e srr @$AR2, $AC0.M +8629 183e lrr $AC0.M, @$AR1 +862a 18bf lrrd $AC1.M, @$AR1 +862b 33d2 not'l $AC1.M : $AX0.H, @$AR2 +862c 195b lrri $AX1.H, @$AR2 +862d 365f andr'ln $AC0.M, $AX1.H : $AX1.H, @$AR3 +862e 371e andr'mv $AC1.M, $AX1.H : $AX1.H, $AC0.M +862f 3b1d orr'mv $AC1.M, $AX1.H : $AX1.H, $AC1.L +8630 1aff srrd @$AR3, $AC1.M +8631 183e lrr $AC0.M, @$AR1 +8632 3479 andr'l $AC0.M, $AX0.H : $AC1.M, @$AR1 +8633 339a not'mv $AC1.M : $AX0.H, $AC0.M +8634 3705 andr'dr $AC1.M, $AX1.H : $AR1 +8635 390a orr'ir $AC1.M, $AX0.H : $AR2 +8636 1bff srrn @$AR3, $AC1.M +8637 197b lrri $AX1.H, @$AR3 +8638 3359 xorr'l $AC1.M, $AX1.H : $AX1.H, @$AR1 +8639 335a xorr'l $AC1.M, $AX1.H : $AX1.H, @$AR2 +863a f557 lsr16'ln $ACC1 : $AX0.H, @$AR3 +863b 197f lrri $AC1.M, @$AR3 +863c 02df ret +} + +// waits for DMA completion. +void 863d_WaitForDMAend() +{ +863d 00df ffc9 lr $AC1.M, @DSCR +863f 03c0 0004 andcf $AC1.M, #0x0004 +8641 029d 863d jlz 0x863d +8643 02df ret +} + +// This one does some DMA-ing. +// jump here from ZeldaLightTypeUcode (light type... Luigi Mansion, Pikmin 1 (U), IPL ucode) +void 8644_Irom() +{ +8644 8e00 set16 +8645 0081 0800 lri $AR1, #0x0800 +8647 0092 00ff lri $CR, #0x00ff +8649 00df 0403 lr $AC1.M, @0x0403 +864b 0503 addis $AC1.M, #0x03 +864c 156e lsr $ACC1, #-18 +864d 1502 lsl $ACC1, #2 +864e 29c9 srs @DSCR, $AX1.L +864f 00de 0400 lr $AC0.M, @0x0400 +8651 2ece srs @DSMAH, $AC0.M +8652 00de 0401 lr $AC0.M, @0x0401 +8654 2ecf srs @DSMAL, $AC0.M +8655 00e1 ffcd sr @DSPA, $AR1 +8657 2dcb srs @DSBL, $AC1.L + +8658 02bf 863d call 0x863d +865a 29d1 srs @SampleFormat, $AX1.L +865b 29d4 srs @ACSAH, $AX1.L +865c 29d5 srs @ACSAL, $AX1.L +865d 16d6 01ff si @ACEAH, #0x01ff +865f 16d7 ffff si @ACEAL, #0xffff +8661 00df 0404 lr $AC1.M, @0x0404 +8663 00dd 0405 lr $AC1.L, @0x0405 +8665 157f lsr $ACC1, #-1 +8666 0360 8000 ori $AC1.M, #0x8000 +8668 2fd8 srs @ACCAH, $AC1.M +8669 2dd9 srs @ACCAL, $AC1.L +866a 0080 ffd3 lri $AR0, #0xffd3 +866c 0084 0000 lri $IX0, #0x0000 +866e 00df 0403 lr $AC1.M, @0x0403 +8670 03c0 0001 andcf $AC1.M, #0x0001 +8672 157f lsr $ACC1, #-1 +8673 1cdf mrr $IX2, $AC1.M +8674 009a fff8 lri $AX0.H, #0xfff8 +8676 009b 0018 lri $AX1.H, #0x0018 +8678 8179 clr'l $ACC0 : $AC1.M, @$AR1 +8679 0066 867f bloop $IX2, 0x867f +{ + 867b 35bc lsrnrx'sn $ACC1, $AX0.H : @$AR0, $AC1.M + 867c 3793 lsrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC1.M + 867d f500 lsr16 $ACC1 + 867e 7017 addaxl'mv $ACC0, $AX0.L : $AX1.L, $AC1.M + 867f 7279 addaxl'l $ACC0, $AX1.L : $AC1.M, @$AR1 +} +8680 029c 8685 jlnz 0x8685 +8682 35bc lsrnrx'sn $ACC1, $AX0.H : @$AR0, $AC1.M +8683 1f1f mrr $AX0.L, $AC1.M +8684 7000 addaxl $ACC0, $AX0.L +8685 6d00 mov $ACC1, $ACC0 +8686 0081 0408 lri $AR1, #0x0408 +8688 009a 170a lri $AX0.H, #0x170a +868a 0098 7489 lri $AX0.L, #0x7489 +868c 4800 addax $ACC0, $AX0 +868d 1b3e srri @$AR1, $AC0.M +868e 1b3c srri @$AR1, $AC0.L +868f 009e 05ef lri $AC0.M, #0x05ef +8691 1b3e srri @$AR1, $AC0.M +8692 009e e0aa lri $AC0.M, #0xe0aa +8694 1b3e srri @$AR1, $AC0.M +8695 009e daf4 lri $AC0.M, #0xdaf4 +8697 1b3e srri @$AR1, $AC0.M +8698 009e b157 lri $AC0.M, #0xb157 +869a 1b3e srri @$AR1, $AC0.M +869b 009e 6bbe lri $AC0.M, #0x6bbe +869d 1b3e srri @$AR1, $AC0.M +869e 009e c3b6 lri $AC0.M, #0xc3b6 +86a0 0808 lris $AX0.L, #0x08 +86a1 7131 addaxl's $ACC1, $AX0.L : @$AR1, $AC0.M +86a2 1b3d srri @$AR1, $AC1.L +86a3 1b31 srri @$AR1, $AC1.H +86a4 28d1 srs @SampleFormat, $AX0.L +86a5 28d4 srs @ACSAH, $AX0.L +86a6 28d5 srs @ACSAL, $AX0.L +86a7 16d6 07ff si @ACEAH, #0x07ff +86a9 16d7 ffff si @ACEAL, #0xffff +86ab 00de 0404 lr $AC0.M, @0x0404 +86ad 00dc 0405 lr $AC0.L, @0x0405 +86af 1401 lsl $ACC0, #1 +86b0 2ed8 srs @ACCAH, $AC0.M +86b1 2cd9 srs @ACCAL, $AC0.L +86b2 0081 0409 lri $AR1, #0x0409 +86b4 0082 040e lri $AR2, #0x040e +86b6 0085 0410 lri $IX1, #0x0410 +86b8 0087 fffe lri $IX3, #0xfffe +86ba 0088 040e lri $WR0, #0x040e +86bc 00df 0403 lr $AC1.M, @0x0403 +86be 7900 decm $AC1.M +86bf 157f lsr $ACC1, #-1 +86c0 1f3f mrr $AX1.L, $AC1.M +86c1 199d lrrn $AC1.L, @$AR0 +86c2 199a lrrn $AX0.H, @$AR0 +86c3 1c65 mrr $AR3, $IX1 +86c4 0079 86cf bloop $AX1.L, 0x86cf +{ + 86c6 02bf 86e5 call 0x86e5 + 86c8 1fb9 mrr $AC1.L, $AX1.L + 86c9 1f46 mrr $AX0.H, $IX2 + 86ca 1c65 mrr $AR3, $IX1 + 86cb 02bf 86e5 call 0x86e5 + 86cd 1fb9 mrr $AC1.L, $AX1.L + 86ce 1f46 mrr $AX0.H, $IX2 + 86cf 1c65 mrr $AR3, $IX1 +} +86d0 029d 86d4 jlz 0x86d4 +86d2 02bf 86e5 call 0x86e5 +86d4 0088 ffff lri $WR0, #0xffff +86d6 16c9 0001 si @DSCR, #0x0001 // DMEM->CPU +86d8 00de 0406 lr $AC0.M, @0x0406 +86da 2ece srs @DSMAH, $AC0.M +86db 00de 0407 lr $AC0.M, @0x0407 +86dd 2ecf srs @DSMAL, $AC0.M +86de 16cd 040a si @DSPA, #0x040a +86e0 16cb 0004 si @DSBL, #0x0004 +86e2 02bf 863d call 0x863d +86e4 02df ret +} + +//used by 8644_Irom() (Zelda Light) +{ +86e5 1999 lrrn $AX1.L, @$AR0 +86e6 199c lrrn $AC0.L, @$AR0 +86e7 1cdc mrr $IX2, $AC0.L +86e8 1414 lsl $ACC0, #20 +86e9 385a orr'l $AC0.M, $AX0.H : $AX1.H, @$AR2 +86ea f052 lsl16'l $ACC0 : $AX0.H, @$AR2 +86eb 9106 asr16'dr $ACC0 : $AR2 +86ec 1518 lsl $ACC1, #24 +86ed 3086 xorc'dr $AC0.M, $AC1.M : $AR2 +86ee 1ff9 mrr $AC1.M, $AX1.L +86ef 150c lsl $ACC1, #12 +86f0 3086 xorc'dr $AC0.M, $AC1.M : $AR2 +86f1 1f1e mrr $AX0.L, $AC0.M +86f2 18bc lrrd $AC0.L, @$AR1 +86f3 193e lrri $AC0.M, @$AR1 +86f4 7000 addaxl $ACC0, $AX0.L +86f5 1abc srrd @$AR1, $AC0.L +86f6 18df lrrd $AC1.M, @$AR2 +86f7 3131 xorr's $AC1.M, $AX0.H : @$AR1, $AC0.M +86f8 f543 lsr16'l $ACC1 : $AX0.L, @$AR3 +86f9 18df lrrd $AC1.M, @$AR2 +86fa 3300 xorr $AC1.M, $AX1.H +86fb 4d63 add'l $ACC1, $ACC0 : $AC0.L, @$AR3 +86fc 7607 inc'dr $ACC0 : $AR3 +86fd 1b7c srri @$AR3, $AC0.L +86fe 7042 addaxl'l $ACC0, $AX0.L : $AX0.L, @$AR2 +86ff 1423 lsl $ACC0, #-29 +8700 145d lsr $ACC0, #29 +8701 7c00 neg $ACC0 +8702 f000 lsl16 $ACC0 +8703 04f8 addis $AC0.M, #0xf8 +8704 1f5e mrr $AX0.H, $AC0.M +8705 0428 addis $AC0.M, #0x28 +8706 6c1e mov'mv $ACC0, $ACC1 : $AX1.H, $AC0.M +8707 1408 lsl $ACC0, #8 +8708 1c68 mrr $AR3, $WR0 +8709 3486 lsrnrx'dr $ACC0, $AX0.H : $AR2 +870a 3786 lsrnrx'dr $ACC1, $AX1.H : $AR2 +870b 4c52 add'l $ACC0, $ACC1 : $AX0.H, @$AR2 +870c 486b addax'l $ACC0, $AX0 : $AC1.L, @$AR3 +870d 1adc srrd @$AR2, $AC0.L +870e 1a5e srr @$AR2, $AC0.M +870f 183e lrr $AC0.M, @$AR1 +8710 18bf lrrd $AC1.M, @$AR1 +8711 33d2 not'l $AC1.M : $AX0.H, @$AR2 +8712 19fb lrrn $AX1.H, @$AR3 +8713 365a andr'l $AC0.M, $AX1.H : $AX1.H, @$AR2 +8714 371e andr'mv $AC1.M, $AX1.H : $AX1.H, $AC0.M +8715 3b1d orr'mv $AC1.M, $AX1.H : $AX1.H, $AC1.L +8716 1aff srrd @$AR3, $AC1.M +8717 183e lrr $AC0.M, @$AR1 +8718 3679 andr'l $AC0.M, $AX1.H : $AC1.M, @$AR1 +8719 339e not'mv $AC1.M : $AX1.H, $AC0.M +871a 3505 andr'dr $AC1.M, $AX0.H : $AR1 +871b 3b0a orr'ir $AC1.M, $AX1.H : $AR2 +871c 1bff srrn @$AR3, $AC1.M +871d 197b lrri $AX1.H, @$AR3 +871e 3359 xorr'l $AC1.M, $AX1.H : $AX1.H, @$AR1 +871f 335a xorr'l $AC1.M, $AX1.H : $AX1.H, @$AR2 +8720 f557 lsr16'ln $ACC1 : $AX0.H, @$AR3 +8721 197f lrri $AC1.M, @$AR3 +8722 312a xorr's $AC1.M, $AX0.H : @$AR2, $AC1.L +8723 3300 xorr $AC1.M, $AX1.H +8724 1adf srrd @$AR2, $AC1.M +8725 02df ret +} + +{ +8726 8e00 set16 +8727 0081 0800 lri $AR1, #0x0800 +8729 0092 00ff lri $CR, #0x00ff +872b 00df 0403 lr $AC1.M, @0x0403 +872d f500 lsr16 $ACC1 +872e 29c9 srs @DSCR, $AX1.L +872f 00de 0400 lr $AC0.M, @0x0400 +8731 2ece srs @DSMAH, $AC0.M +8732 00de 0401 lr $AC0.M, @0x0401 +8734 2ecf srs @DSMAL, $AC0.M +8735 00e1 ffcd sr @DSPA, $AR1 +8737 2dcb srs @DSBL, $AC1.L +8738 02bf 863d call 0x863d +873a 29d1 srs @SampleFormat, $AX1.L +873b 29d4 srs @ACSAH, $AX1.L +873c 29d5 srs @ACSAL, $AX1.L +873d 16d6 01ff si @ACEAH, #0x01ff +873f 16d7 ffff si @ACEAL, #0xffff +8741 00df 0404 lr $AC1.M, @0x0404 +8743 00dd 0405 lr $AC1.L, @0x0405 +8745 157f lsr $ACC1, #-1 +8746 0360 8000 ori $AC1.M, #0x8000 +8748 2fd8 srs @ACCAH, $AC1.M +8749 2dd9 srs @ACCAL, $AC1.L +874a 0080 ffd3 lri $AR0, #0xffd3 +874c 0084 0000 lri $IX0, #0x0000 +874e 00df 0403 lr $AC1.M, @0x0403 +8750 157f lsr $ACC1, #-1 +8751 1cdf mrr $IX2, $AC1.M +8752 009a fff8 lri $AX0.H, #0xfff8 +8754 009b 0018 lri $AX1.H, #0x0018 +8756 8179 clr'l $ACC0 : $AC1.M, @$AR1 +8757 0066 875d bloop $IX2, 0x875d +{ + 8759 35bc lsrnrx'sn $ACC1, $AX0.H : @$AR0, $AC1.M + 875a 3793 lsrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC1.M + 875b f500 lsr16 $ACC1 + 875c 7017 addaxl'mv $ACC0, $AX0.L : $AX1.L, $AC1.M + 875d 7279 addaxl'l $ACC0, $AX1.L : $AC1.M, @$AR1 +} +875e 6d00 mov $ACC1, $ACC0 +875f 0081 0408 lri $AR1, #0x0408 +8761 009a 298f lri $AX0.H, #0x298f +8763 0098 0b7f lri $AX0.L, #0x0b7f +8765 4800 addax $ACC0, $AX0 +8766 1b3e srri @$AR1, $AC0.M +8767 1b3c srri @$AR1, $AC0.L +8768 009e 4bf9 lri $AC0.M, #0x4bf9 +876a 1b3e srri @$AR1, $AC0.M +876b 009e c9b1 lri $AC0.M, #0xc9b1 +876d 1b3e srri @$AR1, $AC0.M +876e 009e d30d lri $AC0.M, #0xd30d +8770 1b3e srri @$AR1, $AC0.M +8771 009e 6b99 lri $AC0.M, #0x6b99 +8773 1b3e srri @$AR1, $AC0.M +8774 009e 191d lri $AC0.M, #0x191d +8776 1b3e srri @$AR1, $AC0.M +8777 009e 31dd lri $AC0.M, #0x31dd +8779 0812 lris $AX0.L, #0x12 +877a 7131 addaxl's $ACC1, $AX0.L : @$AR1, $AC0.M +877b 1b3d srri @$AR1, $AC1.L +877c 1b31 srri @$AR1, $AC1.H +877d 28d1 srs @SampleFormat, $AX0.L +877e 28d4 srs @ACSAH, $AX0.L +877f 28d5 srs @ACSAL, $AX0.L +8780 16d6 07ff si @ACEAH, #0x07ff +8782 16d7 ffff si @ACEAL, #0xffff +8784 00de 0404 lr $AC0.M, @0x0404 +8786 00dc 0405 lr $AC0.L, @0x0405 +8788 7600 inc $ACC0 +8789 1401 lsl $ACC0, #1 +878a 2ed8 srs @ACCAH, $AC0.M +878b 2cd9 srs @ACCAL, $AC0.L +878c 00de 0800 lr $AC0.M, @0x0800 +878e 1478 lsr $ACC0, #-8 +878f 2eda srs @pred_scale, $AC0.M +8790 16a0 01ba si @COEF_A1_0, #0x01ba +8792 16a1 04b0 si @COEF_A2_0, #0x04b0 +8794 16a2 044d si @COEF_A1_1, #0x044d +8796 16a3 01e7 si @COEF_A2_1, #0x01e7 +8798 16a4 02da si @COEF_A1_2, #0x02da +879a 16a5 0452 si @COEF_A2_2, #0x0452 +879c 16a6 057a si @COEF_A1_3, #0x057a +879e 16a7 01bf si @COEF_A2_3, #0x01bf +87a0 28db srs @yn1, $AX0.L +87a1 28dc srs @yn2, $AX0.L +87a2 0080 ffdd lri $AR0, #0xffdd +87a4 0081 0409 lri $AR1, #0x0409 +87a6 0082 040f lri $AR2, #0x040f +87a8 0085 0410 lri $IX1, #0x0410 +87aa 0086 ffff lri $IX2, #0xffff +87ac 0087 fffe lri $IX3, #0xfffe +87ae 8b00 m0 +87af 8c00 clr15 +87b0 00de 0403 lr $AC0.M, @0x0403 +87b2 147d lsr $ACC0, #-3 +87b3 0a07 lris $AX0.H, #0x07 +87b4 c000 mulc $AC0.M, $AX0.H +87b5 6e00 movp $ACC0 +87b6 7a00 dec $ACC0 +87b7 1f3c mrr $AX1.L, $AC0.L +87b8 199d lrrn $AC1.L, @$AR0 +87b9 18bc lrrd $AC0.L, @$AR1 +87ba 193e lrri $AC0.M, @$AR1 +87bb 19da lrrn $AX0.H, @$AR2 +87bc 1c65 mrr $AR3, $IX1 +87bd 199f lrrn $AC1.M, @$AR0 +87be 4c5e add'ln $ACC0, $ACC1 : $AX1.H, @$AR2 +87bf 1abc srrd @$AR1, $AC0.L +87c0 1b3e srri @$AR1, $AC0.M +87c1 0079 87cd bloop $AX1.L, 0x87cd +{ + 87c3 02bf 87df call 0x87df + 87c5 199d lrrn $AC1.L, @$AR0 + 87c6 18bc lrrd $AC0.L, @$AR1 + 87c7 193e lrri $AC0.M, @$AR1 + 87c8 19da lrrn $AX0.H, @$AR2 + 87c9 1c65 mrr $AR3, $IX1 + 87ca 199f lrrn $AC1.M, @$AR0 + 87cb 4c5e add'ln $ACC0, $ACC1 : $AX1.H, @$AR2 + 87cc 1abc srrd @$AR1, $AC0.L + 87cd 1b3e srri @$AR1, $AC0.M +} +87ce 02bf 87df call 0x87df +87d0 16c9 0001 si @DSCR, #0x0001 // DMEM->CPU +87d2 00de 0406 lr $AC0.M, @0x0406 +87d4 2ece srs @DSMAH, $AC0.M +87d5 00de 0407 lr $AC0.M, @0x0407 +87d7 2ecf srs @DSMAL, $AC0.M +87d8 16cd 040a si @DSPA, #0x040a +87da 16cb 0004 si @DSBL, #0x0004 +87dc 02bf 863d call 0x863d +87de 02df ret +} + +{ +87df 1ffc mrr $AC1.M, $AC0.L +87e0 3166 xorr'ln $AC1.M, $AX0.H : $AC0.L, @$AR2 +87e1 f543 lsr16'l $ACC1 : $AX0.L, @$AR3 +87e2 1ffe mrr $AC1.M, $AC0.M +87e3 3376 xorr'ln $AC1.M, $AX1.H : $AC0.M, @$AR2 +87e4 4d63 add'l $ACC1, $ACC0 : $AC0.L, @$AR3 +87e5 7607 inc'dr $ACC0 : $AR3 +87e6 1b7c srri @$AR3, $AC0.L +87e7 7046 addaxl'ln $ACC0, $AX0.L : $AX0.L, @$AR2 +87e8 1423 lsl $ACC0, #-29 +87e9 145d lsr $ACC0, #29 +87ea 7c0f neg'nr $ACC0 : $AR3 +87eb f00f lsl16'nr $ACC0 : $AR3 +87ec 04f8 addis $AC0.M, #0xf8 +87ed 1f5e mrr $AX0.H, $AC0.M +87ee 0428 addis $AC0.M, #0x28 +87ef 6c1e mov'mv $ACC0, $ACC1 : $AX1.H, $AC0.M +87f0 1408 lsl $ACC0, #8 +87f1 3485 lsrnrx'dr $ACC0, $AX0.H : $AR1 +87f2 37d9 lsrnrx'l $ACC1, $AX1.H : $AX1.H, @$AR1 +87f3 4c52 add'l $ACC0, $ACC1 : $AX0.H, @$AR2 +87f4 4853 addax'l $ACC0, $AX0 : $AX0.H, @$AR3 +87f5 1bdc srrn @$AR2, $AC0.L +87f6 1b5e srri @$AR2, $AC0.M +87f7 325f xorr'ln $AC0.M, $AX1.H : $AX1.H, @$AR3 +87f8 3051 xorr'l $AC0.M, $AX0.H : $AX0.H, @$AR1 +87f9 000a iar $AR2 +87fa f032 lsl16's $ACC0 : @$AR2, $AC0.M +87fb 3005 xorr'dr $AC0.M, $AX0.H : $AR1 +87fc 320f xorr'nr $AC0.M, $AX1.H : $AR3 +87fd 1b5e srri @$AR2, $AC0.M +87fe 183b lrr $AX1.H, @$AR1 +87ff 3653 andr'l $AC0.M, $AX1.H : $AX0.H, @$AR3 +8800 18bf lrrd $AC1.M, @$AR1 +8801 339e not'mv $AC1.M : $AX1.H, $AC0.M +8802 3571 andr'l $AC1.M, $AX0.H : $AC0.M, @$AR1 +8803 3b05 orr'dr $AC1.M, $AX1.H : $AR1 +8804 f557 lsr16'ln $ACC1 : $AX0.H, @$AR3 +8805 193f lrri $AC1.M, @$AR1 +8806 345f andr'ln $AC0.M, $AX0.H : $AX1.H, @$AR3 +8807 339a not'mv $AC1.M : $AX0.H, $AC0.M +8808 370a andr'ir $AC1.M, $AX1.H : $AR2 +8809 392e orr'sn $AC1.M, $AX0.H : @$AR2, $AC1.L +880a 1b5f srri @$AR2, $AC1.M +880b 02df ret +} + +{ +880c 8e00 set16 +880d 0081 0800 lri $AR1, #0x0800 +880f 0092 00ff lri $CR, #0x00ff +8811 00df 0403 lr $AC1.M, @0x0403 +8813 0503 addis $AC1.M, #0x03 +8814 156e lsr $ACC1, #-18 +8815 1502 lsl $ACC1, #2 +8816 29c9 srs @DSCR, $AX1.L +8817 00de 0400 lr $AC0.M, @0x0400 +8819 2ece srs @DSMAH, $AC0.M +881a 00de 0401 lr $AC0.M, @0x0401 +881c 2ecf srs @DSMAL, $AC0.M +881d 00e1 ffcd sr @DSPA, $AR1 +881f 2dcb srs @DSBL, $AC1.L +8820 02bf 863d call 0x863d +8822 29d1 srs @SampleFormat, $AX1.L +8823 29d4 srs @ACSAH, $AX1.L +8824 29d5 srs @ACSAL, $AX1.L +8825 16d6 01ff si @ACEAH, #0x01ff +8827 16d7 ffff si @ACEAL, #0xffff +8829 00df 0404 lr $AC1.M, @0x0404 +882b 00dd 0405 lr $AC1.L, @0x0405 +882d 157f lsr $ACC1, #-1 +882e 0360 8000 ori $AC1.M, #0x8000 +8830 2fd8 srs @ACCAH, $AC1.M +8831 2dd9 srs @ACCAL, $AC1.L +8832 0080 ffd3 lri $AR0, #0xffd3 +8834 0084 0000 lri $IX0, #0x0000 +8836 00df 0403 lr $AC1.M, @0x0403 +8838 03c0 0001 andcf $AC1.M, #0x0001 +883a 157f lsr $ACC1, #-1 +883b 1cdf mrr $IX2, $AC1.M +883c 009a fff8 lri $AX0.H, #0xfff8 +883e 009b 0018 lri $AX1.H, #0x0018 +8840 8179 clr'l $ACC0 : $AC1.M, @$AR1 +8841 0066 8847 bloop $IX2, 0x8847 +8843 35bc lsrnrx'sn $ACC1, $AX0.H : @$AR0, $AC1.M +8844 3793 lsrnrx'mv $ACC1, $AX1.H : $AX0.L, $AC1.M +8845 f500 lsr16 $ACC1 +8846 7017 addaxl'mv $ACC0, $AX0.L : $AX1.L, $AC1.M +8847 7279 addaxl'l $ACC0, $AX1.L : $AC1.M, @$AR1 +8848 029c 884d jlnz 0x884d +884a 35bc lsrnrx'sn $ACC1, $AX0.H : @$AR0, $AC1.M +884b 1f1f mrr $AX0.L, $AC1.M +884c 7000 addaxl $ACC0, $AX0.L +884d 6d00 mov $ACC1, $ACC0 +884e 0081 0408 lri $AR1, #0x0408 +8850 009a 4ea2 lri $AX0.H, #0x4ea2 +8852 0098 1e71 lri $AX0.L, #0x1e71 +8854 4800 addax $ACC0, $AX0 +8855 1b3e srri @$AR1, $AC0.M +8856 1b3c srri @$AR1, $AC0.L +8857 009e cc0a lri $AC0.M, #0xcc0a +8859 1b3e srri @$AR1, $AC0.M +885a 009e 144b lri $AC0.M, #0x144b +885c 1b3e srri @$AR1, $AC0.M +885d 009e f541 lri $AC0.M, #0xf541 +885f 1b3e srri @$AR1, $AC0.M +8860 009e 878d lri $AC0.M, #0x878d +8862 1b3e srri @$AR1, $AC0.M +8863 009e a3bc lri $AC0.M, #0xa3bc +8865 1b3e srri @$AR1, $AC0.M +8866 009e 64e4 lri $AC0.M, #0x64e4 +8868 0803 lris $AX0.L, #0x03 +8869 7131 addaxl's $ACC1, $AX0.L : @$AR1, $AC0.M +886a 1b3d srri @$AR1, $AC1.L +886b 1b31 srri @$AR1, $AC1.H +886c 16d1 0018 si @SampleFormat, #0x0018 +886e 28d4 srs @ACSAH, $AX0.L +886f 28d5 srs @ACSAL, $AX0.L +8870 16d6 07ff si @ACEAH, #0x07ff +8872 16d7 ffff si @ACEAL, #0xffff +8874 00de 0404 lr $AC0.M, @0x0404 +8876 00dc 0405 lr $AC0.L, @0x0405 +8878 1401 lsl $ACC0, #1 +8879 2ed8 srs @ACCAH, $AC0.M +887a 2cd9 srs @ACCAL, $AC0.L +887b 28da srs @pred_scale, $AX0.L +887c 16a0 0978 si @COEF_A1_0, #0x0978 +887e 16a1 e541 si @COEF_A2_0, #0xe541 +8880 16de fc82 si @GAIN, #0xfc82 +8882 28db srs @yn1, $AX0.L +8883 0080 ffdd lri $AR0, #0xffdd +8885 0081 0409 lri $AR1, #0x0409 +8887 0082 040f lri $AR2, #0x040f +8889 0085 0410 lri $IX1, #0x0410 +888b 0086 ffff lri $IX2, #0xffff +888d 0087 fffc lri $IX3, #0xfffc +888f 28dc srs @yn2, $AX0.L +8890 00de 0403 lr $AC0.M, @0x0403 +8892 7800 decm $AC0.M +8893 1f3e mrr $AX1.L, $AC0.M +8894 199f lrrn $AC1.M, @$AR0 +8895 18bc lrrd $AC0.L, @$AR1 +8896 193e lrri $AC0.M, @$AR1 +8897 19da lrrn $AX0.H, @$AR2 +8898 1c65 mrr $AR3, $IX1 +8899 199d lrrn $AC1.L, @$AR0 +889a 4c5a add'l $ACC0, $ACC1 : $AX1.H, @$AR2 +889b 1abc srrd @$AR1, $AC0.L +889c 1b3e srri @$AR1, $AC0.M +889d 0079 88a9 bloop $AX1.L, 0x88a9 +{ + 889f 02bf 88bb call 0x88bb + 88a1 199f lrrn $AC1.M, @$AR0 + 88a2 18bc lrrd $AC0.L, @$AR1 + 88a3 193e lrri $AC0.M, @$AR1 + 88a4 19da lrrn $AX0.H, @$AR2 + 88a5 1c65 mrr $AR3, $IX1 + 88a6 199d lrrn $AC1.L, @$AR0 + 88a7 4c5a add'l $ACC0, $ACC1 : $AX1.H, @$AR2 + 88a8 1abc srrd @$AR1, $AC0.L + 88a9 1b3e srri @$AR1, $AC0.M +} +88aa 02bf 88bb call 0x88bb +88ac 16c9 0001 si @DSCR, #0x0001 // DMEM->CPU +88ae 00de 0406 lr $AC0.M, @0x0406 +88b0 2ece srs @DSMAH, $AC0.M +88b1 00de 0407 lr $AC0.M, @0x0407 +88b3 2ecf srs @DSMAL, $AC0.M +88b4 16cd 040a si @DSPA, #0x040a +88b6 16cb 0004 si @DSBL, #0x0004 +88b8 02bf 863d call 0x863d +88ba 02df ret +} + +{ +88bb 19d8 lrrn $AX0.L, @$AR2 +88bc 19da lrrn $AX0.H, @$AR2 +88bd 4856 addax'ln $ACC0, $AX0 : $AX0.H, @$AR2 +88be 1ffc mrr $AC1.M, $AC0.L +88bf 3156 xorr'ln $AC1.M, $AX0.H : $AX0.H, @$AR2 +88c0 f543 lsr16'l $ACC1 : $AX0.L, @$AR3 +88c1 1ffe mrr $AC1.M, $AC0.M +88c2 3163 xorr'l $AC1.M, $AX0.H : $AC0.L, @$AR3 +88c3 7607 inc'dr $ACC0 : $AR3 +88c4 1b7c srri @$AR3, $AC0.L +88c5 7046 addaxl'ln $ACC0, $AX0.L : $AX0.L, @$AR2 +88c6 1423 lsl $ACC0, #-29 +88c7 146d lsr $ACC0, #-19 +88c8 1f5e mrr $AX0.H, $AC0.M +88c9 04e0 addis $AC0.M, #0xe0 +88ca 001f addarn $AR3, $IX3 +88cb 6c1e mov'mv $ACC0, $ACC1 : $AX1.H, $AC0.M +88cc 3485 lsrnrx'dr $ACC0, $AX0.H : $AR1 +88cd 37d9 lsrnrx'l $ACC1, $AX1.H : $AX1.H, @$AR1 +88ce 4c52 add'l $ACC0, $ACC1 : $AX0.H, @$AR2 +88cf 4853 addax'l $ACC0, $AX0 : $AX0.H, @$AR3 +88d0 1bdc srrn @$AR2, $AC0.L +88d1 1b5e srri @$AR2, $AC0.M +88d2 325f xorr'ln $AC0.M, $AX1.H : $AX1.H, @$AR3 +88d3 3051 xorr'l $AC0.M, $AX0.H : $AX0.H, @$AR1 +88d4 000a iar $AR2 +88d5 f032 lsl16's $ACC0 : @$AR2, $AC0.M +88d6 3005 xorr'dr $AC0.M, $AX0.H : $AR1 +88d7 3200 xorr $AC0.M, $AX1.H +88d8 1b5e srri @$AR2, $AC0.M +88d9 183f lrr $AC1.M, @$AR1 +88da 339e not'mv $AC1.M : $AX1.H, $AC0.M +88db 18be lrrd $AC0.M, @$AR1 +88dc 3753 andr'l $AC1.M, $AX1.H : $AX0.H, @$AR3 +88dd 341f andr'mv $AC0.M, $AX0.H : $AX1.H, $AC1.M +88de 3a79 orr'l $AC0.M, $AX1.H : $AC1.M, @$AR1 +88df f405 lsr16'dr $ACC0 : $AR1 +88e0 33d3 not'l $AC1.M : $AX0.H, @$AR3 +88e1 3571 andr'l $AC1.M, $AX0.H : $AC0.M, @$AR1 +88e2 0009 iar $AR1 +88e3 183b lrr $AX1.H, @$AR1 +88e4 361b andr'mv $AC0.M, $AX1.H : $AX0.H, $AC1.M +88e5 387a orr'l $AC0.M, $AX0.H : $AC1.M, @$AR2 +88e6 18dd lrrd $AC1.L, @$AR2 +88e7 4c05 add'dr $ACC0, $ACC1 : $AR1 +88e8 1b5e srri @$AR2, $AC0.M +88e9 1a5c srr @$AR2, $AC0.L +88ea 02df ret +} + +88eb 0000 nop +88ec 0000 nop +88ed 0000 nop +88ee 0000 nop +88ef 0000 nop + +// 08f0 to 0ffd = invalid data + +8ffe 06e2 cmpis $ACC0, #0xe2 +8fff 8845 nx'ln : $AX0.L, @$AR1 diff --git a/docs/DSP/DSP_UC_SuperMarioGalaxy.txt b/docs/DSP/DSP_UC_SuperMarioGalaxy.txt new file mode 100644 index 0000000000..9909314224 --- /dev/null +++ b/docs/DSP/DSP_UC_SuperMarioGalaxy.txt @@ -0,0 +1,3174 @@ + // Memory map: + // + // 0x0D00: final right buffer #1 + // 0x0D60: final left buffer #1 + // 0x0F40: final right buffer #2 + // 0x0CA0: final left buffer #2 + + 0000 029f 0012 jmp 0x0012 // Reset() + 0002 0000 nop + 0003 0000 nop + 0004 02ff rti + 0005 0000 nop + 0006 02ff rti + 0007 0000 nop + 0008 02ff rti + 0009 0000 nop + 000a 02ff rti + 000b 0000 nop + 000c 02ff rti + 000d 0000 nop + 000e 029f 06e9 jmp 0x06e9 // Exception_0E() + + 0010 029f 004c jmp 0x004c // TaskStart() + +// Reset() + 0012 1205 sbclr #0x05 + 0013 02bf 0055 call 0x0055 + 0015 8100 clr $ACC0 + 0016 009f 1000 lri $AC1.M, #0x1000 + 0018 0080 0000 lri $AR0, #0x0000 + 001a 005f loop $AC1.M + 001b 1b1e srri @$AR0, $AC0.M + 001c 02bf 07b9 call 0x07b9 // InitGlobalVars() + 001e 02bf 0f0a call 0x0f0a // InitUnkTable() + 0020 0e00 lris $AC0.M, #0x00 + 0021 02bf 079b call 0x079b // SendMail_DCD1(0x0000) + 0023 009e 1111 lri $AC0.M, #0x1111 + 0025 02bf 07a5 call 0x07a5 // sendMail_F355(0x1111) + 0027 0e00 lris $AC0.M, #0x00 + 0028 00fe 034e sr @0x034e, $AC0.M + 002a 1305 sbset #0x05 + 002b 029f 07f6 jmp 0x07f6 // jump to MessageLoop() + +// OpcodeHandler() + 002d 00df 0357 lr $AC1.M, @0x0357 + 002f 00ff 0345 sr @0x0345, $AC1.M + 0031 00de 0356 lr $AC0.M, @0x0356 + 0033 1ffe mrr $AC1.M, $AC0.M + 0034 0340 00ff andi $AC1.M, #0x00ff + 0036 00ff 0344 sr @0x0344, $AC1.M + 0038 1479 lsr $ACC0, #-7 + 0039 0240 007e andi $AC0.M, #0x007e + 003b 00fe 0343 sr @0x0343, $AC0.M + 003d 0200 0073 addi $AC0.M, #0x0073 // Opcode jump table address (0x0073) + 003f 1c1e mrr $AR0, $AC0.M + 0040 170f jmpr $AR0 // jump to opcode handler + 0041 0092 00ff lri $CR, #0x00ff // Return address from opcode handler + 0043 0e04 lris $AC0.M, #0x04 + 0044 02bf 079b call 0x079b // SendMail_DCD1(0x0004) + 0046 00de 0356 lr $AC0.M, @0x0356 + 0048 02bf 07a5 call 0x07a5 // SendMail_F355(mail_high_part) + 004a 029f 002b jmp 0x002b // jump back to MessageLoop() + +// TaskStart() + 004c 1205 sbclr #0x05 + 004d 02bf 0055 call 0x0055 + 004f 0e01 lris $AC0.M, #0x01 + 0050 02bf 079b call 0x079b // SendMail_DCD1(0x0001) + 0052 1305 sbset #0x05 + 0053 029f 002b jmp 0x002b // jump back to MessageLoop() + +// + 0055 1202 sbclr #0x02 + 0056 1203 sbclr #0x03 + 0057 1204 sbclr #0x04 + 0058 1306 sbset #0x06 + 0059 8e00 set16 + 005a 8c00 clr15 + 005b 8b00 m0 + 005c 009e ffff lri $AC0.M, #0xffff + 005e 1d1e mrr $WR0, $AC0.M + 005f 1d3e mrr $WR1, $AC0.M + 0060 1d5e mrr $WR2, $AC0.M + 0061 1d7e mrr $WR3, $AC0.M + 0062 0092 00ff lri $CR, #0x00ff + 0064 02df ret + +// ReadWholeMessage() + 0065 0081 0358 lri $AR1, #0x0358 + 0067 0090 0000 lri $AC0.H, #0x0000 + 0069 0c00 lris $AC0.L, #0x00 + 006a 007e 006f bloop $AC0.M, 0x006f + 006c 193e lrri $AC0.M, @$AR1 + 006d 1b1e srri @$AR0, $AC0.M + 006e 193e lrri $AC0.M, @$AR1 + 006f 1b1e srri @$AR0, $AC0.M + 0070 02df ret + +// Opcode_03() (dummy) + 0071 029f 0041 jmp 0x0041 + +// Opcode jump table (16 opcodes available) + 0073 029f 0041 jmp 0x0041 // 0 (dummy) + 0075 029f 0093 jmp 0x0093 // 1 (DsetupTable) + 0077 029f 029d jmp 0x029d // 2 (SyncFrame) + 0079 029f 0071 jmp 0x0071 // 3 (dummy) + 007b 029f 0616 jmp 0x0616 // 4 () + 007d 029f 0628 jmp 0x0628 // 5 () + 007f 029f 0041 jmp 0x0041 // 6 (dummy) + 0081 029f 055f jmp 0x055f // 7 () + 0083 029f 05ab jmp 0x05ab // 8 () + 0085 029f 058f jmp 0x058f // 9 () + 0087 029f 0041 jmp 0x0041 // A (dummy) + 0089 029f 0041 jmp 0x0041 // B (dummy) + 008b 029f 0041 jmp 0x0041 // C (dummy) + 008d 029f 00bd jmp 0x00bd // D (DsetDolbyDelay) + 008f 029f 00b0 jmp 0x00b0 // E () + 0091 029f 0041 jmp 0x0041 // F (dummy) + +// Opcode_01() - DsetupTable +// Message body: 5 mails +// Mail 1: bit0-15 = max (see inner loop of SyncFrame), bit16-32 = 0, bit24-30 = command (0x01) +// Mail 2: Address in main memory of parameter blocks used during mixing; there are X blocks of 384 bytes (192 words) each +// Mail 3: Address in main memory of something (640 words copied to 0x0000) +// Mail 4: Address in main memory of something (32 words copied to 0x0300) +// Mail 5: Address in main memory of other parameter blocks; there are 4 blocks (or more?) of 32 bytes (16 words) each +// Stores the mail body to 0x0380. + 0093 0080 0380 lri $AR0, #0x0380 + 0095 0e04 lris $AC0.M, #0x04 + 0096 02bf 0065 call 0x0065 + 0098 0081 0382 lri $AR1, #0x0382 + 009a 009f 0000 lri $AC1.M, #0x0000 + 009c 0080 0280 lri $AR0, #0x0280 + 009e 02bf 05e6 call 0x05e6 // DmaCopy(0x0000, Dword[0x0382], 0x280) + 00a0 0081 0384 lri $AR1, #0x0384 + 00a2 009f 0300 lri $AC1.M, #0x0300 + 00a4 0080 0020 lri $AR0, #0x0020 + 00a6 02bf 05e6 call 0x05e6 // DmaCopy(0x0300, Dword[0x0384], 32) + 00a8 00de 0345 lr $AC0.M, @0x0345 + 00aa 00fe 0342 sr @0x0342, $AC0.M + 00ac 02bf 0d01 call 0x0d01 + 00ae 029f 0041 jmp 0x0041 + +// Opcode_0E() + 00b0 0080 037d lri $AR0, #0x037d + 00b2 0e01 lris $AC0.M, #0x01 + 00b3 02bf 0065 call 0x0065 + 00b5 00de 037d lr $AC0.M, @0x037d + 00b7 0240 7fff andi $AC0.M, #0x7fff + 00b9 00fe 037d sr @0x037d, $AC0.M + 00bb 029f 0041 jmp 0x0041 + +// Opcode_0D() - DsetDolbyDelay + 00bd 0080 0374 lri $AR0, #0x0374 + 00bf 0e01 lris $AC0.M, #0x01 + 00c0 00fe 0377 sr @0x0377, $AC0.M + 00c2 00fe 037c sr @0x037c, $AC0.M + 00c4 02bf 0065 call 0x0065 + 00c6 00de 0345 lr $AC0.M, @0x0345 + 00c8 00fe 0376 sr @0x0376, $AC0.M + 00ca 029f 0041 jmp 0x0041 + +// read PB + 00cc 0081 034c lri $AR1, #0x034c + 00ce 009f 0400 lri $AC1.M, #0x0400 + 00d0 0080 00c0 lri $AR0, #0x00c0 + 00d2 02bf 05e6 call 0x05e6 // DmaCopy(0x0400, Dword[0x034C], 192) + 00d4 02df ret + +// writeback PB + 00d5 0081 034c lri $AR1, #0x034c + 00d7 009f 0400 lri $AC1.M, #0x0400 + 00d9 0080 0080 lri $AR0, #0x0080 + 00db 0081 034c lri $AR1, #0x034c + 00dd 193e lrri $AC0.M, @$AR1 + 00de 193c lrri $AC0.L, @$AR1 + 00df 0098 0000 lri $AX0.L, #0x0000 + 00e1 7000 addaxl $ACC0, $AX0.L + 00e2 02bf 05f5 call 0x05f5 // DmaCopy(Dword[0x034C], 0x0400, 128) + 00e4 02df ret + +// + 00e5 191e lrri $AC0.M, @$AR0 + 00e6 191a lrri $AX0.H, @$AR0 + 00e7 005f loop $AC1.M + 00e8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 00e9 1b7e srri @$AR3, $AC0.M + 00ea 1b7a srri @$AR3, $AX0.H + 00eb 02df ret + +// memcpy(destination, source, length) +// AR0 = source address +// AR3 = destination address +// AC1.M = length in dwords + 00ec 0000 nop + 00ed 007f 00f2 bloop $AC1.M, 0x00f2 + 00ef 191e lrri $AC0.M, @$AR0 + 00f0 1b7e srri @$AR3, $AC0.M + 00f1 191e lrri $AC0.M, @$AR0 + 00f2 1b7e srri @$AR3, $AC0.M + 00f3 0000 nop + 00f4 02df ret + +// + 00f5 191e lrri $AC0.M, @$AR0 + 00f6 191a lrri $AX0.H, @$AR0 + 00f7 007f 00fc bloop $AC1.M, 0x00fc + 00f9 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H + 00fa 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 00fb 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H + 00fc 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 00fd 0000 nop + 00fe 02df ret + +// multiply routine +// AC1.M = size in words +// AR0 = source addres +// AR3 = destination address + 00ff 8a00 m2 // multiply result by 2 + 0100 157f lsr $ACC1, #-1 // size >>= 1 (process buffers per dwords) + 0101 1c20 mrr $AR1, $AR0 // AR1 = AR0 + 0102 1c03 mrr $AR0, $AR3 // AR0 = AR3 + 0103 193a lrri $AX0.H, @$AR1 // AX0.H = Mem[AR1]; AR1++; + 0104 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 // prod = AX0.L * AX0.H; AX0.H = Mem[AR1]; AR1++; + 0105 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 // AC0.M = prod; AC0.L = 0; prod = AX0.L * AX0.H; AX1.H = Mem[AR3]; AR3++; + + 0106 007f 010b bloop $AC1.M, 0x010b + 0108 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 // ACC0 += AX1.H; AX0.H = Mem[AR1]; AR1++; + 0109 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H // AC0.M = prod; AC0.L = 0; prod = AX0.L * AX0.H; ... + 010a 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 010b 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + + 010c 8b00 m0 // don't multiply result + 010d 02df ret + +// + 010e 8a00 m2 + 010f 191a lrri $AX0.H, @$AR0 + 0110 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0 + 0111 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0112 005f loop $AC1.M + 0113 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M + 0114 8b00 m0 + 0115 02df ret + +// ClearBuffers() +// clears: +// - 80 words at 0x0D00 (right buffer #1) +// - 80 words at 0x0D60 (left buffer #1) +// - 80 words at 0x0CA0 (left buffer #2) +// - 80 words at 0x0F40 (right buffer #2) +// - 80 words at 0x0FA0 +// - 80 words at 0x0A00 +// - 80 words at 0x09A0 +// - 80 words at 0x0DC8 +// - 80 words at 0x0E28 +// - 80 words at 0x0E88 +// - 80 words at 0x0EE8 +// copies: +// - 8 words from 0x0E10 to 0x0DC0 +// - 8 words from 0x0E70 to 0x0E20 +// - 8 words from 0x0ED0 to 0x0E80 +// - 8 words from 0x0F30 to 0x0EE0 + 0116 8100 clr $ACC0 + 0117 8900 clr $ACC1 + 0118 0e50 lris $AC0.M, #0x50 + 0119 0080 0d00 lri $AR0, #0x0d00 + 011b 005e loop $AC0.M + 011c 1b1f srri @$AR0, $AC1.M + 011d 0080 0d60 lri $AR0, #0x0d60 + 011f 005e loop $AC0.M + 0120 1b1f srri @$AR0, $AC1.M + 0121 00da 0374 lr $AX0.H, @0x0374 + 0123 8600 tstaxh $AX0.H + 0124 02b5 0f35 callz 0x0f35 // call this mixer if right buffer address is 0??? uh??? + 0126 8100 clr $ACC0 + 0127 8900 clr $ACC1 + 0128 0e50 lris $AC0.M, #0x50 + 0129 0080 0ca0 lri $AR0, #0x0ca0 + 012b 005e loop $AC0.M + 012c 1b1f srri @$AR0, $AC1.M + 012d 0080 0f40 lri $AR0, #0x0f40 + 012f 005e loop $AC0.M + 0130 1b1f srri @$AR0, $AC1.M + 0131 0080 0fa0 lri $AR0, #0x0fa0 + 0133 005e loop $AC0.M + 0134 1b1f srri @$AR0, $AC1.M + 0135 0080 0a00 lri $AR0, #0x0a00 + 0137 005e loop $AC0.M + 0138 1b1f srri @$AR0, $AC1.M + 0139 0080 09a0 lri $AR0, #0x09a0 + 013b 005e loop $AC0.M + 013c 1b1f srri @$AR0, $AC1.M + 013d 0f04 lris $AC1.M, #0x04 + 013e 0080 0e10 lri $AR0, #0x0e10 + 0140 0083 0dc0 lri $AR3, #0x0dc0 + 0142 02bf 00ec call 0x00ec // memcpy(0x0DC0, 0x0E10, 4); + 0144 0080 0e70 lri $AR0, #0x0e70 + 0146 0083 0e20 lri $AR3, #0x0e20 + 0148 02bf 00ec call 0x00ec // memcpy(0x0E20, 0x0E70, 4); + 014a 0080 0ed0 lri $AR0, #0x0ed0 + 014c 0083 0e80 lri $AR3, #0x0e80 + 014e 02bf 00ec call 0x00ec // memcpy(0x0E80, 0x0ED0, 4); + 0150 0080 0f30 lri $AR0, #0x0f30 + 0152 0083 0ee0 lri $AR3, #0x0ee0 + 0154 02bf 00ec call 0x00ec // memcpy(0x0EE0, 0x0F30, 4); + 0156 8100 clr $ACC0 + 0157 0e50 lris $AC0.M, #0x50 + 0158 8900 clr $ACC1 + 0159 0080 0dc8 lri $AR0, #0x0dc8 + 015b 005e loop $AC0.M + 015c 1b1f srri @$AR0, $AC1.M + 015d 0080 0e28 lri $AR0, #0x0e28 + 015f 005e loop $AC0.M + 0160 1b1f srri @$AR0, $AC1.M + 0161 0080 0e88 lri $AR0, #0x0e88 + 0163 005e loop $AC0.M + 0164 1b1f srri @$AR0, $AC1.M + 0165 0080 0ee8 lri $AR0, #0x0ee8 + 0167 005e loop $AC0.M + 0168 1b1f srri @$AR0, $AC1.M + 0169 02df ret + +// + 016a 009f 0580 lri $AC1.M, #0x0580 + 016c 009b 00a0 lri $AX1.H, #0x00a0 + 016e 0081 0393 lri $AR1, #0x0393 + 0170 18bc lrrd $AC0.L, @$AR1 // AC0.L = Mem[0x0393]; + 0171 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 // AC0.M = Mem[0x0392]; + 0172 bc00 mulxac $AX0.H, $AX1.H, $ACC0 // ACC0 += (AX0.H * AX1.H); (Mem[0x03A4] * 160) + 0173 0080 0050 lri $AR0, #0x0050 + 0175 02bf 05e8 call 0x05e8 // DmaCopy(0x0580, ((Dword[0x0392 << 16) | Dword[0x0393]) + (Mem[0x03A4] * 160), 80); + 0177 02df ret + +// + 0178 00df 03a1 lr $AC1.M, @0x03a1 + 017a 0508 addis $ACC1, #0x08 + 017b 0080 0580 lri $AR0, #0x0580 + 017d 1c7f mrr $AR3, $AC1.M + 017e 0098 7fff lri $AX0.L, #0x7fff + 0180 8900 clr $ACC1 + 0181 0f50 lris $AC1.M, #0x50 + 0182 02bf 00ff call 0x00ff // mult routine + 0184 02df ret + +// mix? + 0185 00c0 03a0 lr $AR0, @0x03a0 + 0187 191a lrri $AX0.H, @$AR0 // AX0.H = Mem[0x03A4]; + 0188 02bf 016a call 0x016a // get music? + 018a 02bf 0178 call 0x0178 + 018c 8100 clr $ACC0 + 018d 8900 clr $ACC1 + 018e 00de 0390 lr $AC0.M, @0x0390 // First word of PB: status; 1 = playing, 0 = not playing + 0190 02a0 0001 andf $AC0.M, #0x0001 + 0192 029d 019b jlz 0x019b + 0194 0080 0398 lri $AR0, #0x0398 // + 0196 0e08 lris $AC0.M, #0x08 + 0197 00c1 03a1 lr $AR1, @0x03a1 + 0199 02bf 0c43 call 0x0c43 // ??? + 019b 0f50 lris $AC1.M, #0x50 + 019c 00c0 03a1 lr $AR0, @0x03a1 + 019e 00da 0394 lr $AX0.H, @0x0394 // + 01a0 8600 tstaxh $AX0.H + 01a1 0295 01a8 jz 0x01a8 + 01a3 1c7a mrr $AR3, $AX0.H + 01a4 00d8 0395 lr $AX0.L, @0x0395 + 01a6 02bf 00ff call 0x00ff // mult routine + 01a8 0f50 lris $AC1.M, #0x50 + 01a9 00c0 03a1 lr $AR0, @0x03a1 + 01ab 00da 0396 lr $AX0.H, @0x0396 + 01ad 8600 tstaxh $AX0.H + 01ae 0295 01b5 jz 0x01b5 + 01b0 1c7a mrr $AR3, $AX0.H + 01b1 00d8 0397 lr $AX0.L, @0x0397 + 01b3 02bf 00ff call 0x00ff + 01b5 00de 0390 lr $AC0.M, @0x0390 + 01b7 02a0 0002 andf $AC0.M, #0x0002 + 01b9 02dd retlz + 01ba 0080 0398 lri $AR0, #0x0398 + 01bc 0e08 lris $AC0.M, #0x08 + 01bd 00c1 03a1 lr $AR1, @0x03a1 + 01bf 02bf 0c43 call 0x0c43 + 01c1 02df ret + +// mix background music? called by cmd 02 (SyncFrame) +// uses the 4 first PBs +// so these PBs would be for background music? + 01c2 8900 clr $ACC1 + 01c3 009f 0dc0 lri $AC1.M, #0x0dc0 + 01c5 00ff 03a1 sr @0x03a1, $AC1.M + 01c7 009f 03a8 lri $AC1.M, #0x03a8 + 01c9 00ff 03a2 sr @0x03a2, $AC1.M + 01cb 009f 03a4 lri $AC1.M, #0x03a4 + 01cd 00ff 03a0 sr @0x03a0, $AC1.M + + 01cf 1104 01ef bloopi #0x04, 0x01ef // Perform mixing for 4 PBs + 01d1 00c0 03a2 lr $AR0, @0x03a2 // Inited to 0x03A8 + 01d3 0083 0390 lri $AR3, #0x0390 + 01d5 8900 clr $ACC1 + 01d6 0f08 lris $AC1.M, #0x08 + 01d7 02bf 00ec call 0x00ec // memcpy(0x0390, Mem[0x03A2], 8); Copy the current PB to 0x0390 + 01d9 00da 0390 lr $AX0.H, @0x0390 + 01db 8600 tstaxh $AX0.H + 01dc 0295 01e0 jz 0x01e0 // skip the call below if [0x0390] is nonzero? ([0x0390] = first word of PB, probably start/stop flag?) + 01de 02bf 0185 call 0x0185 // mix? + 01e0 8100 clr $ACC0 + 01e1 00de 03a2 lr $AC0.M, @0x03a2 + 01e3 0410 addis $ACC0, #0x10 // Increment address to next PB + 01e4 00fe 03a2 sr @0x03a2, $AC0.M + 01e6 00de 03a1 lr $AC0.M, @0x03a1 + 01e8 0460 addis $ACC0, #0x60 // Increment another value (buffer address???) + 01e9 00fe 03a1 sr @0x03a1, $AC0.M + 01eb 00de 03a0 lr $AC0.M, @0x03a0 + 01ed 7400 incm $AC0.M // Increment another value (address of something) + 01ee 00fe 03a0 sr @0x03a0, $AC0.M + + 01f0 00da 0374 lr $AX0.H, @0x0374 + 01f2 8600 tstaxh $AX0.H + 01f3 0294 0219 jnz 0x0219 + 01f5 0f50 lris $AC1.M, #0x50 + 01f6 0080 0be0 lri $AR0, #0x0be0 + 01f8 0083 0e80 lri $AR3, #0x0e80 + 01fa 0098 7fff lri $AX0.L, #0x7fff // +32767 + 01fc 02bf 00ff call 0x00ff // mult routine + 01fe 0f50 lris $AC1.M, #0x50 + 01ff 0080 0be0 lri $AR0, #0x0be0 + 0201 0083 0ee0 lri $AR3, #0x0ee0 + 0203 0098 b820 lri $AX0.L, #0xb820 // -18400 + 0205 02bf 00ff call 0x00ff // mult routine + 0207 0f28 lris $AC1.M, #0x28 + 0208 0080 0c68 lri $AR0, #0x0c68 + 020a 0083 0e80 lri $AR3, #0x0e80 + 020c 0098 b820 lri $AX0.L, #0xb820 // -18400 + 020e 02bf 00ff call 0x00ff // mult routine + 0210 0f28 lris $AC1.M, #0x28 + 0211 0080 0c68 lri $AR0, #0x0c68 + 0213 0083 0ee0 lri $AR3, #0x0ee0 + 0215 0098 7fff lri $AX0.L, #0x7fff // +32767 + 0217 02bf 00ff call 0x00ff // mult routine + // clear buffers at 0x0BE0 and 0x0C40 (80 words(160 bytes) each) + 0219 8100 clr $ACC0 + 021a 8900 clr $ACC1 + 021b 0e50 lris $AC0.M, #0x50 + 021c 0080 0be0 lri $AR0, #0x0be0 + 021e 005e loop $AC0.M + 021f 1b1f srri @$AR0, $AC1.M + 0220 0080 0c40 lri $AR0, #0x0c40 + 0222 005e loop $AC0.M + 0223 1b1f srri @$AR0, $AC1.M + 0224 02df ret + +// + 0225 00c0 03a0 lr $AR0, @0x03a0 + 0227 181a lrr $AX0.H, @$AR0 + 0228 8100 clr $ACC0 + 0229 181e lrr $AC0.M, @$AR0 + 022a 00db 0391 lr $AX1.H, @0x0391 + 022c 7400 incm $AC0.M + 022d d100 cmpar $ACC1, $AX0.H + 022e 0270 ifns + 022f 8100 clr $ACC0 + 0230 1b1e srri @$AR0, $AC0.M + 0231 00df 03a1 lr $AC1.M, @0x03a1 + 0233 009b 00a0 lri $AX1.H, #0x00a0 + 0235 0081 0393 lri $AR1, #0x0393 + 0237 18bc lrrd $AC0.L, @$AR1 + 0238 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 0239 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 023a 0080 0050 lri $AR0, #0x0050 + 023c 02bf 05f5 call 0x05f5 // DmaCopy((Mem[0x0392] << 16 | Mem[0x0393]), Mem[0x03A1], 80); + 023e 02df ret + +// another mixer? + 023f 00da 0374 lr $AX0.H, @0x0374 + 0241 8600 tstaxh $AX0.H + 0242 0294 0258 jnz 0x0258 + 0244 8900 clr $ACC1 + 0245 0f28 lris $AC1.M, #0x28 + 0246 0080 0c40 lri $AR0, #0x0c40 + 0248 0083 0ea8 lri $AR3, #0x0ea8 + 024a 0098 b820 lri $AX0.L, #0xb820 + 024c 02bf 00ff call 0x00ff + 024e 8900 clr $ACC1 + 024f 0f28 lris $AC1.M, #0x28 + 0250 0080 0c40 lri $AR0, #0x0c40 + 0252 0083 0f08 lri $AR3, #0x0f08 + 0254 0098 7fff lri $AX0.L, #0x7fff + 0256 02bf 00ff call 0x00ff + 0258 009f 0dc0 lri $AC1.M, #0x0dc0 + 025a 00ff 03a1 sr @0x03a1, $AC1.M + 025c 009f 03a8 lri $AC1.M, #0x03a8 + 025e 00ff 03a2 sr @0x03a2, $AC1.M + 0260 009f 03a4 lri $AC1.M, #0x03a4 + 0262 00ff 03a0 sr @0x03a0, $AC1.M + + 0264 1104 0282 bloopi #0x04, 0x0282 + 0266 00c0 03a2 lr $AR0, @0x03a2 + 0268 0083 0390 lri $AR3, #0x0390 + 026a 0f08 lris $AC1.M, #0x08 + 026b 02bf 00ec call 0x00ec // memcpy(0x0390, Mem[0x03A2], 8); + 026d 00da 0390 lr $AX0.H, @0x0390 + 026f 8600 tstaxh $AX0.H + 0270 0295 0274 jz 0x0274 + 0272 02bf 0225 call 0x0225 + 0274 00de 03a2 lr $AC0.M, @0x03a2 + 0276 0410 addis $ACC0, #0x10 + 0277 00fe 03a2 sr @0x03a2, $AC0.M + 0279 00de 03a1 lr $AC0.M, @0x03a1 + 027b 0460 addis $ACC0, #0x60 + 027c 00fe 03a1 sr @0x03a1, $AC0.M + 027e 00de 03a0 lr $AC0.M, @0x03a0 + 0280 7400 incm $AC0.M + 0281 00fe 03a0 sr @0x03a0, $AC0.M + + 0283 02df ret + +// CopyPBs() +// Copies some main memory region to 0x03A8 +// The memory region contains what seems to be PBs... +// Each PB is 32 bytes (16 words) long +// The transfer copies 64 words, ie 4 PBs. +// There may be more PBs, though. Dunno... + 0284 0081 0386 lri $AR1, #0x0386 // address of PBs, set by DsetupTable + 0286 009f 03a8 lri $AC1.M, #0x03a8 + 0288 0080 0040 lri $AR0, #0x0040 + 028a 02bf 05e6 call 0x05e6 // DmaCopy(0x03A8, Dword[0x0386], 64) + 028c 02df ret + +// Helper +// Increment the 32-bit value at AR0 by the value +// in AX0.L. + 028d 191e lrri $AC0.M, @$AR0 + 028e 189c lrrd $AC0.L, @$AR0 + 028f 4800 addax $ACC0, $AX0.L + 0290 1b1e srri @$AR0, $AC0.M + 0291 1b1c srri @$AR0, $AC0.L + 0292 02df ret + +// WaitForNextSyncMessage() +// Note: the wait loop continues until two values become non-equal. +// One of these values is set when sync mails are received. +// These mails, as well as 'regular' mails, are processed by the +// exception 7 handler. That's why that wait loop never checks for +// new mails. + 0293 8100 clr $ACC0 + 0294 8900 clr $ACC1 + 0295 00df 0354 lr $AC1.M, @0x0354 + 0297 00de 034e lr $AC0.M, @0x034e + 0299 8200 cmp + 029a 0293 0293 jle 0x0293 + 029c 02df ret + +// Opcode_02() - SyncFrame +// Message body: 5 mails +// Mail 1: bit0-15 = some number, bit16-32 = number of buffers to fill, bit24-30 = command (0x02) +// Mail 2: Address of right buffers in main memory (each buffer is 160 bytes long) +// Mail 3: Address of left buffers in main memory (each buffer is 160 bytes long) +// Mail 4: unused (zero) +// Mail 5: unused (zero) +// Stores the message body to 0x0388 and 0x0374. +// Performs mixing synchronously with the game. + 029d 0080 0388 lri $AR0, #0x0388 + 029f 0081 0065 lri $AR1, #0x0065 + 02a1 0e02 lris $AC0.M, #0x02 // Copy only 2 mails. The 2 last mails are unused. + 02a2 173f callr $AR1 // Copy message body to 0x0388 + 02a3 02bf 0476 call 0x0476 // Copy message body to 0x0374 + 02a5 00de 0344 lr $AC0.M, @0x0344 + 02a7 00fe 0341 sr @0x0341, $AC0.M + 02a9 00de 0345 lr $AC0.M, @0x0345 + 02ab 00fe 038e sr @0x038e, $AC0.M // Mem[0x038E] = Mem[0x0345] (set by DsetupTable) + 02ad 8100 clr $ACC0 + 02ae 00fe 0355 sr @0x0355, $AC0.M + 02b0 02bf 0284 call 0x0284 // Copy 4 PBs to 0x03A8 + 02b2 0092 00ff lri $CR, #0x00ff + 02b4 00de 0341 lr $AC0.M, @0x0341 + + 02b6 007e 0471 bloop $AC0.M, 0x0471 // Outer loop: for(i = 0; i < number_of_buffers; i++) + 02b8 02bf 0116 call 0x0116 // ClearBuffers() + 02ba 02bf 01c2 call 0x01c2 // ??? mix background music? echo processing? + 02bc 02bf 04e2 call 0x04e2 // ??? again a mixer? + 02be 02bf 0a91 call 0x0a91 // ??? multiplications + 02c0 00de 0355 lr $AC0.M, @0x0355 + 02c2 7400 incm $AC0.M // increment some counter + 02c3 00fe 0355 sr @0x0355, $AC0.M + 02c5 8100 clr $ACC0 + 02c6 00fe 0354 sr @0x0354, $AC0.M // reset some counter + 02c8 00de 0342 lr $AC0.M, @0x0342 + + 02ca 007e 0415 bloop $AC0.M, 0x0415 // Inner loop: for(j = 0; j < max (usually 64; set by DsetupTable); j++) + 02cc 02bf 0293 call 0x0293 // WaitForNextSyncMessage() + 02ce 8100 clr $ACC0 + 02cf 8900 clr $ACC1 + 02d0 00de 0354 lr $AC0.M, @0x0354 + 02d2 147c lsr $ACC0, #-4 + 02d3 0200 04fc addi $AC0.M, #0x04fc + 02d5 1c1e mrr $AR0, $AC0.M + 02d6 181f lrr $AC1.M, @$AR0 + 02d7 00de 0354 lr $AC0.M, @0x0354 + 02d9 0240 000f andi $AC0.M, #0x000f + 02db 3d80 andc'ls $AC1.M : $AX0.L, $AC0.M + 02dc 03c0 8000 andcf $AC1.M, #0x8000 + 02de 029c 0411 jlnz 0x0411 // skip if (AC1.M & 0x8000) != 0x8000 + 02e0 00d8 0354 lr $AX0.L, @0x0354 + 02e2 009a 0180 lri $AX0.H, #0x0180 + 02e4 8100 clr $ACC0 + 02e5 00de 0380 lr $AC0.M, @0x0380 + 02e7 00dc 0381 lr $AC0.L, @0x0381 + 02e9 9000 mul $AX0.L, $AX0.H + 02ea 9400 mulac $AX0.L, $AX0.H, $ACC0 // ACC0 += (j * 384); + 02eb 00fe 034c sr @0x034c, $AC0.M + 02ed 00fc 034d sr @0x034d, $AC0.L + 02ef 02bf 00cc call 0x00cc // read PB; dma transfer from (Dword[0x0380] + (j*384)) to 0x0400, 192 words + 02f1 00da 0400 lr $AX0.H, @0x0400 + 02f3 8600 tstaxh $AX0.H + 02f4 0295 0411 jz 0x0411 // skip if Mem[0x0400] is zero + 02f6 00da 0401 lr $AX0.H, @0x0401 + 02f8 8600 tstaxh $AX0.H + 02f9 0294 0411 jnz 0x0411 // skip if Mem[0x0401] is nonzero + 02fb 00da 0433 lr $AX0.H, @0x0433 + 02fd 00fa 03f8 sr @0x03f8, $AX0.H // Mem[0x03F8] = Mem[0x0433] + 02ff 00da 0406 lr $AX0.H, @0x0406 + 0301 8600 tstaxh $AX0.H + 0302 0294 0ef5 jnz 0x0ef5 // jump to 0x0EF5 if Mem[0x0406] is nonzero + 0304 8100 clr $ACC0 + 0305 00de 0480 lr $AC0.M, @0x0480 // switch (Mem[0x0480]) ; sound format? + 0307 0609 cmpis $ACC0, #0x09 // case 0x09: (smg) + 0308 0295 031b jz 0x031b + 030a 0605 cmpis $ACC0, #0x05 // case 0x05: + 030b 0295 031b jz 0x031b + 030d 0608 cmpis $ACC0, #0x08 // case 0x08: + 030e 0295 0ac1 jz 0x0ac1 + 0310 0610 cmpis $ACC0, #0x10 // case 0x10: (smg) + 0311 0295 0b3e jz 0x0b3e + 0313 0620 cmpis $ACC0, #0x20 // case 0x20: + 0314 0295 0baf jz 0x0baf + 0316 0621 cmpis $ACC0, #0x21 // case 0x21: + 0317 0295 0bb7 jz 0x0bb7 + 0319 029f 09ae jmp 0x09ae // default: + // sound types 9 and 5 + // no compression? + 031b 00d8 0402 lr $AX0.L, @0x0402 // 0x0D71 + 031d 8100 clr $ACC0 + 031e 8900 clr $ACC1 + 031f 00dc 0430 lr $AC0.L, @0x0430 // 0x0000 + 0321 8d00 set15 + 0322 0950 lris $AX1.L, #0x50 + 0323 a000 mulx $AX0.L, $AX1.L + 0324 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0325 1404 lsl $ACC0, #4 // ACC0 = (Mem[0x0430] + (Mem[0x0402] * 80)) << 4; (AC0.L = 0x3500; AC0.M = 0x0043; AC0.H = 0x00;) + 0326 8c00 clr15 + 0327 1ffe mrr $AC1.M, $AC0.M // AC1.M = 0x0043; + 0328 0083 0580 lri $AR3, #0x0580 // AR3 = 0x0580; + 032a 02bf 086e call 0x086e + 032c 029f 032e jmp 0x032e + + 032e 0080 0580 lri $AR0, #0x0580 + 0330 0081 0520 lri $AR1, #0x0520 + 0332 0099 0000 lri $AX1.L, #0x0000 + 0334 02bf 0e75 call 0x0e75 // store ramp + + 0336 009e 0520 lri $AC0.M, #0x0520 + 0338 00fe 038f sr @0x038f, $AC0.M // Mem[0x038F] = 0x0520; + 033a 8900 clr $ACC1 + 033b 00df 0484 lr $AC1.M, @0x0484 + 033d 0340 001f andi $AC1.M, #0x001f + 033f b900 tst $ACC1 + 0340 0295 0366 jz 0x0366 + 0342 00de 038f lr $AC0.M, @0x038f + 0344 5c00 sub $ACC0, $AC1.L + 0345 00fe 038f sr @0x038f, $AC0.M // Mem[0x038F] -= AC1.L; uh? + 0347 1c7e mrr $AR3, $AC0.M + 0348 0080 0440 lri $AR0, #0x0440 + 034a 05fe addis $ACC1, #0xfe + 034b 02bf 00e5 call 0x00e5 // ??? + 034d 0080 0490 lri $AR0, #0x0490 + 034f 00c1 038f lr $AR1, @0x038f + 0351 8900 clr $ACC1 + 0352 00df 0484 lr $AC1.M, @0x0484 + 0354 0340 001f andi $AC1.M, #0x001f + 0356 02bf 0c62 call 0x0c62 // ??? + 0358 00de 038f lr $AC0.M, @0x038f + 035a 0450 addis $ACC0, #0x50 + 035b 1c1e mrr $AR0, $AC0.M + 035c 0083 0440 lri $AR3, #0x0440 + 035e 8900 clr $ACC1 + 035f 00df 0484 lr $AC1.M, @0x0484 + 0361 0340 001f andi $AC1.M, #0x001f + 0363 05fe addis $ACC1, #0xfe + 0364 02bf 00e5 call 0x00e5 // ??? + + 0366 00de 0484 lr $AC0.M, @0x0484 + 0368 0240 0020 andi $AC0.M, #0x0020 + 036a 0295 0388 jz 0x0388 + 036c 0080 04a4 lri $AR0, #0x04a4 + 036e 00c1 038f lr $AR1, @0x038f + 0370 0082 0454 lri $AR2, #0x0454 + 0372 0083 04a7 lri $AR3, #0x04a7 + 0374 18fa lrrd $AX0.H, @$AR3 + 0375 8600 tstaxh $AX0.H + 0376 0294 0386 jnz 0x0386 + 0378 18fa lrrd $AX0.H, @$AR3 + 0379 8600 tstaxh $AX0.H + 037a 0294 0386 jnz 0x0386 + 037c 18fa lrrd $AX0.H, @$AR3 + 037d 8600 tstaxh $AX0.H + 037e 0294 0386 jnz 0x0386 + 0380 8100 clr $ACC0 + 0381 18fe lrrd $AC0.M, @$AR3 + 0382 0280 7fff cmpi $AC0.M, #0x7fff + 0384 0295 0388 jz 0x0388 + 0386 02bf 0c7d call 0x0c7d // ??? + + 0388 8100 clr $ACC0 + 0389 00de 042c lr $AC0.M, @0x042c // 0x0001 + 038b b100 tst $ACC0 + 038c 0295 0392 jz 0x0392 + 038e 02bf 0dc3 call 0x0dc3 // ??? + 0390 029f 0407 jmp 0x0407 + + 0392 8100 clr $ACC0 + 0393 1c9e mrr $IX0, $AC0.M + 0394 1cde mrr $IX2, $AC0.M + 0395 7400 incm $AC0.M + 0396 1cfe mrr $IX3, $AC0.M + 0397 8100 clr $ACC0 + 0398 00de 0407 lr $AC0.M, @0x0407 + 039a b100 tst $ACC0 + 039b 0295 03aa jz 0x03aa + 039d 00c3 038f lr $AR3, @0x038f + 039f 0007 dar $AR3 + 03a0 0080 0477 lri $AR0, #0x0477 + 03a2 0084 ffff lri $IX0, #0xffff + 03a4 0087 ffff lri $IX3, #0xffff + 03a6 199a lrrn $AX0.H, @$AR0 + 03a7 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 + 03a8 005e loop $AC0.M + 03a9 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M + 03aa 00da 0485 lr $AX0.H, @0x0485 + 03ac 8600 tstaxh $AX0.H + 03ad 0295 03c0 jz 0x03c0 + 03af 8900 clr $ACC1 + 03b0 0086 0005 lri $IX2, #0x0005 + 03b2 0082 040a lri $AR2, #0x040a + + 03b4 1106 03b8 bloopi #0x06, 0x03b8 + 03b6 18de lrrd $AC0.M, @$AR2 + 03b7 147f lsr $ACC0, #-1 + 03b8 4d36 add'sn $ACC1, $AC0.L : @$AR2, $AC0.M + + 03b9 b900 tst $ACC1 + 03ba 0294 03c0 jnz 0x03c0 + 03bc 009a 0001 lri $AX0.H, #0x0001 + 03be 00fa 0401 sr @0x0401, $AX0.H // Key Off + 03c0 8f00 set40 + 03c1 0086 0002 lri $IX2, #0x0002 + 03c3 0082 0408 lri $AR2, #0x0408 + + 03c5 1106 03f0 bloopi #0x06, 0x03f0 + 03c7 8100 clr $ACC0 + 03c8 195e lrri $AC0.M, @$AR2 + 03c9 1200 sbclr #0x00 + 03ca b100 tst $ACC0 + 03cb 0275 ifz + 03cc 1300 sbset #0x00 + 03cd 1c7e mrr $AR3, $AC0.M + 03ce 195e lrri $AC0.M, @$AR2 + 03cf 195f lrri $AC1.M, @$AR2 + 03d0 5c00 sub $ACC0, $AC1.L + 03d1 14fb asr $ACC0, #-5 + 03d2 1f5e mrr $AX0.H, $AC0.M + 03d3 1f1c mrr $AX0.L, $AC0.L + 03d4 185e lrr $AC0.M, @$AR2 + 03d5 0240 00ff andi $AC0.M, #0x00ff + 03d7 1f7e mrr $AX1.H, $AC0.M + 03d8 185e lrr $AC0.M, @$AR2 + 03d9 1478 lsr $ACC0, #-8 + 03da 009c 0000 lri $AC0.L, #0x0000 + 03dc d100 cmpar $ACC1, $AX0.H + 03dd 0295 03e5 jz 0x03e5 + 03df 185e lrr $AC0.M, @$AR2 + 03e0 0272 ifg + 03e1 7400 incm $AC0.M + 03e2 0271 ifs + 03e3 7800 decm $AC0.M + 03e4 1a5e srr @$AR2, $AC0.M + 03e5 0006 dar $AR2 + 03e6 00de 038f lr $AC0.M, @0x038f + 03e8 5600 subr $ACC0, $AX1.H + 03e9 029d 03ee jlz 0x03ee + 03eb 1c1e mrr $AR0, $AC0.M + 03ec 02bf 0d99 call 0x0d99 // ??? + 03ee 0000 nop + 03ef 1b5f srri @$AR2, $AC1.M + 03f0 000a iar $AR2 + + 03f1 8e00 set16 + 03f2 8100 clr $ACC0 + 03f3 00de 0407 lr $AC0.M, @0x0407 + 03f5 b100 tst $ACC0 + 03f6 0295 0407 jz 0x0407 + 03f8 00c3 038f lr $AR3, @0x038f + 03fa 0087 004f lri $IX3, #0x004f + 03fc 001f addarn $AR3, $IX3 + 03fd 0080 0477 lri $AR0, #0x0477 + 03ff 0084 ffff lri $IX0, #0xffff + 0401 0087 ffff lri $IX3, #0xffff + 0403 19fa lrrn $AX0.H, @$AR3 + 0404 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 + 0405 005e loop $AC0.M + 0406 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H + + 0407 00da 0406 lr $AX0.H, @0x0406 + 0409 8600 tstaxh $AX0.H + 040a 0294 040f jnz 0x040f // skip zeroing of Mem[0x0404] if Mem[0x0406] is nonzero + 040c 8100 clr $ACC0 + 040d 00fe 0404 sr @0x0404, $AC0.M // Mem[0x0404] = 0x0000; + 040f 02bf 00d5 call 0x00d5 // write back PB + 0411 00de 0354 lr $AC0.M, @0x0354 + 0413 7400 incm $AC0.M // increment some counter + 0414 00fe 0354 sr @0x0354, $AC0.M + // end of inner loop + 0416 0e00 lris $AC0.M, #0x00 + 0417 00fe 034e sr @0x034e, $AC0.M + 0419 0e04 lris $AC0.M, #0x04 + 041a 02bf 079b call 0x079b // SendMail_DCD1(0x0004) + 041c 00de 0355 lr $AC0.M, @0x0355 + 041e 0260 ff00 ori $AC0.M, #0xff00 + 0420 02bf 07a5 call 0x07a5 // SendMail_F355(0xFF00 | Mem[0x0355]) + 0422 02bf 0d1f call 0x0d1f // ??? + 0424 02bf 0d31 call 0x0d31 // ??? + 0426 02bf 0d86 call 0x0d86 // perform mults on buffer #1 + 0428 00de 0341 lr $AC0.M, @0x0341 + 042a 7800 decm $AC0.M // decrement some counter + 042b 00fe 0341 sr @0x0341, $AC0.M + 042d 0080 09a0 lri $AR0, #0x09a0 + 042f 0083 0d00 lri $AR3, #0x0d00 + 0431 0f50 lris $AC1.M, #0x50 + 0432 0098 5a82 lri $AX0.L, #0x5a82 + 0434 02bf 00ff call 0x00ff // operations on right buffer + 0436 0080 09a0 lri $AR0, #0x09a0 + 0438 0083 0d60 lri $AR3, #0x0d60 + 043a 0f50 lris $AC1.M, #0x50 + 043b 02bf 00ff call 0x00ff // operations on left buffer + 043d 0083 0d00 lri $AR3, #0x0d00 + 043f 02bf 0db1 call 0x0db1 // operations on right buffer + 0441 0081 0388 lri $AR1, #0x0388 + 0443 009f 0d00 lri $AC1.M, #0x0d00 + 0445 0080 0050 lri $AR0, #0x0050 + 0447 02bf 05f3 call 0x05f3 // DmaCopy(Dword[0x0388], 0x0D00, 80); Copy the final right buffer to main memory + 0449 0080 0fa0 lri $AR0, #0x0fa0 + 044b 0083 0d60 lri $AR3, #0x0d60 + 044d 0f50 lris $AC1.M, #0x50 + 044e 0098 8000 lri $AX0.L, #0x8000 + 0450 02bf 00ff call 0x00ff // operations on left buffer (uh? again?) + 0452 0083 0d60 lri $AR3, #0x0d60 + 0454 02bf 0db1 call 0x0db1 // operations on left buffer + 0456 0081 038a lri $AR1, #0x038a + 0458 009f 0d60 lri $AC1.M, #0x0d60 + 045a 0080 0050 lri $AR0, #0x0050 + 045c 02bf 05f3 call 0x05f3 // DmaCopy(Dword[0x038A], 0x0D60, 80); Copy the final left buffer to main memory + 045e 009a 0000 lri $AX0.H, #0x0000 + 0460 0098 00a0 lri $AX0.L, #0x00a0 + 0462 0080 0388 lri $AR0, #0x0388 + 0464 02bf 028d call 0x028d // Increment right buffer address + 0466 0080 038a lri $AR0, #0x038a + 0468 02bf 028d call 0x028d // Increment left buffer address + 046a 02bf 023f call 0x023f // call that other mixer + 046c 02bf 04b1 call 0x04b1 + 046e 02bf 0488 call 0x0488 // copy other buffers to main memory + 0470 0000 nop + 0471 0000 nop + // end of outer loop + 0472 0080 002b lri $AR0, #0x002b + 0474 029f 0734 jmp 0x0734 + +// copy the message body to 0x0374 + 0476 0080 0374 lri $AR0, #0x0374 + 0478 0e02 lris $AC0.M, #0x02 + 0479 02bf 0067 call 0x0067 + 047b 00de 0374 lr $AC0.M, @0x0374 + 047d 0240 7fff andi $AC0.M, #0x7fff + 047f 00fe 0374 sr @0x0374, $AC0.M + 0481 00de 0376 lr $AC0.M, @0x0376 + 0483 0240 7fff andi $AC0.M, #0x7fff + 0485 00fe 0376 sr @0x0376, $AC0.M + 0487 02df ret + +// copy other buffers to main memory +// that's probably why the mail body of cmd 0x02 is copied +// to two locations... + 0488 00da 0374 lr $AX0.H, @0x0374 + 048a 8600 tstaxh $AX0.H // Return immediately if right buffer address is zero + 048b 02d5 retz // But what happens if the left buffer address is zero? + 048c 0083 0f40 lri $AR3, #0x0f40 + 048e 02bf 0db1 call 0x0db1 // copy right buffer + 0490 0083 0ca0 lri $AR3, #0x0ca0 + 0492 02bf 0db1 call 0x0db1 // copy left buffer + 0494 0081 0374 lri $AR1, #0x0374 + 0496 009f 0f40 lri $AC1.M, #0x0f40 + 0498 0080 0050 lri $AR0, #0x0050 + 049a 02bf 05f3 call 0x05f3 // DmaCopy(Dword[0x0374], 0x0F40, 80); Right buffer + 049c 0081 0376 lri $AR1, #0x0376 + 049e 009f 0ca0 lri $AC1.M, #0x0ca0 + 04a0 0080 0050 lri $AR0, #0x0050 + 04a2 02bf 05f3 call 0x05f3 // DmaCopy(Dword[0x0376], 0x0CA0, 80); Left buffer + 04a4 009a 0000 lri $AX0.H, #0x0000 + 04a6 0098 00a0 lri $AX0.L, #0x00a0 + 04a8 0080 0374 lri $AR0, #0x0374 + 04aa 02bf 028d call 0x028d // Increment right buffer address + 04ac 0080 0376 lri $AR0, #0x0376 + 04ae 02bf 028d call 0x028d // Increment left buffer address + 04b0 02df ret + +// + 04b1 00da 0374 lr $AX0.H, @0x0374 + 04b3 8600 tstaxh $AX0.H + 04b4 02d5 retz + 04b5 009f 0be0 lri $AC1.M, #0x0be0 + 04b7 00ff 03a1 sr @0x03a1, $AC1.M + 04b9 00df 03ca lr $AC1.M, @0x03ca + 04bb 00ff 0392 sr @0x0392, $AC1.M + 04bd 00df 03cb lr $AC1.M, @0x03cb + 04bf 00ff 0393 sr @0x0393, $AC1.M + 04c1 009f 03a6 lri $AC1.M, #0x03a6 + 04c3 00ff 03a0 sr @0x03a0, $AC1.M + 04c5 00df 03c9 lr $AC1.M, @0x03c9 + 04c7 00ff 0391 sr @0x0391, $AC1.M + 04c9 02bf 0225 call 0x0225 + 04cb 009f 0c40 lri $AC1.M, #0x0c40 + 04cd 00ff 03a1 sr @0x03a1, $AC1.M + 04cf 00df 03da lr $AC1.M, @0x03da + 04d1 00ff 0392 sr @0x0392, $AC1.M + 04d3 00df 03db lr $AC1.M, @0x03db + 04d5 00ff 0393 sr @0x0393, $AC1.M + 04d7 009f 03a7 lri $AC1.M, #0x03a7 + 04d9 00ff 03a0 sr @0x03a0, $AC1.M + 04db 00df 03d9 lr $AC1.M, @0x03d9 + 04dd 00ff 0391 sr @0x0391, $AC1.M + 04df 02bf 0225 call 0x0225 + 04e1 02df ret + +// mixer? + 04e2 00da 0374 lr $AX0.H, @0x0374 // Check if right buffer address is zero + 04e4 8600 tstaxh $AX0.H + 04e5 02d5 retz + 04e6 00da 03d8 lr $AX0.H, @0x03d8 // uh? + 04e8 8600 tstaxh $AX0.H + 04e9 02d5 retz + 04ea 0083 0be0 lri $AR3, #0x0be0 + 04ec 0080 0c30 lri $AR0, #0x0c30 + 04ee 0f04 lris $AC1.M, #0x04 + 04ef 02bf 00ec call 0x00ec // memcpy(0x0BE0, 0x0C30, 4); + 04f1 0083 0c40 lri $AR3, #0x0c40 + 04f3 0080 0c90 lri $AR0, #0x0c90 + 04f5 0f04 lris $AC1.M, #0x04 + 04f6 02bf 00ec call 0x00ec // memcpy(0x0C40, 0x0C90, 4); + 04f8 00df 03ca lr $AC1.M, @0x03ca + 04fa 00ff 0392 sr @0x0392, $AC1.M + 04fc 00df 03cb lr $AC1.M, @0x03cb + 04fe 00ff 0393 sr @0x0393, $AC1.M + 0500 00df 03a6 lr $AC1.M, @0x03a6 + 0502 7500 incm $AC1.M + 0503 1f5f mrr $AX0.H, $AC1.M + 0504 009f 0be8 lri $AC1.M, #0x0be8 + 0506 02bf 016c call 0x016c + 0508 00df 03da lr $AC1.M, @0x03da + 050a 00ff 0392 sr @0x0392, $AC1.M + 050c 00df 03db lr $AC1.M, @0x03db + 050e 00ff 0393 sr @0x0393, $AC1.M + 0510 00df 03a7 lr $AC1.M, @0x03a7 + 0512 7500 incm $AC1.M + 0513 1f5f mrr $AX0.H, $AC1.M + 0514 009f 0c48 lri $AC1.M, #0x0c48 + 0516 02bf 016c call 0x016c + 0518 00de 03c8 lr $AC0.M, @0x03c8 + 051a 02a0 0001 andf $AC0.M, #0x0001 + 051c 029d 0525 jlz 0x0525 + 051e 0080 03d0 lri $AR0, #0x03d0 + 0520 0e08 lris $AC0.M, #0x08 + 0521 0081 0be0 lri $AR1, #0x0be0 + 0523 02bf 0c43 call 0x0c43 + 0525 00de 03d8 lr $AC0.M, @0x03d8 + 0527 02a0 0001 andf $AC0.M, #0x0001 + 0529 029d 0532 jlz 0x0532 + 052b 0080 03e0 lri $AR0, #0x03e0 + 052d 0e08 lris $AC0.M, #0x08 + 052e 0081 0c40 lri $AR1, #0x0c40 + 0530 02bf 0c43 call 0x0c43 + 0532 0f50 lris $AC1.M, #0x50 + 0533 0080 0be0 lri $AR0, #0x0be0 + 0535 0083 0f40 lri $AR3, #0x0f40 + 0537 00d8 03cd lr $AX0.L, @0x03cd + 0539 02bf 00ff call 0x00ff + 053b 0f50 lris $AC1.M, #0x50 + 053c 0080 0c40 lri $AR0, #0x0c40 + 053e 0083 0ca0 lri $AR3, #0x0ca0 + 0540 00d8 03df lr $AX0.L, @0x03df + 0542 02bf 00ff call 0x00ff + 0544 00de 03c8 lr $AC0.M, @0x03c8 + 0546 02a0 0002 andf $AC0.M, #0x0002 + 0548 029d 0551 jlz 0x0551 + 054a 0080 03d0 lri $AR0, #0x03d0 + 054c 0e08 lris $AC0.M, #0x08 + 054d 0081 0be0 lri $AR1, #0x0be0 + 054f 02bf 0c43 call 0x0c43 + 0551 00de 03d8 lr $AC0.M, @0x03d8 + 0553 02a0 0002 andf $AC0.M, #0x0002 + 0555 029d 055e jlz 0x055e + 0557 0080 03e0 lri $AR0, #0x03e0 + 0559 0e08 lris $AC0.M, #0x08 + 055a 0081 0c40 lri $AR1, #0x0c40 + 055c 02bf 0c43 call 0x0c43 + 055e 02df ret + +// Opcode_07() - + 055f 0080 0346 lri $AR0, #0x0346 + 0561 02bf 0065 call 0x0065 + 0563 02bf 0065 call 0x0065 + 0565 0081 0346 lri $AR1, #0x0346 + 0567 193e lrri $AC0.M, @$AR1 + 0568 193c lrri $AC0.L, @$AR1 + 0569 009f 0400 lri $AC1.M, #0x0400 + 056b 00c0 0345 lr $AR0, @0x0345 + 056d 02bf 05e8 call 0x05e8 + 056f 0081 0348 lri $AR1, #0x0348 + 0571 193e lrri $AC0.M, @$AR1 + 0572 193c lrri $AC0.L, @$AR1 + 0573 009f 0800 lri $AC1.M, #0x0800 + 0575 00c0 0345 lr $AR0, @0x0345 + 0577 02bf 05e8 call 0x05e8 + 0579 0081 0346 lri $AR1, #0x0346 + 057b 193e lrri $AC0.M, @$AR1 + 057c 193c lrri $AC0.L, @$AR1 + 057d 009f 0800 lri $AC1.M, #0x0800 + 057f 00c0 0345 lr $AR0, @0x0345 + 0581 02bf 05f5 call 0x05f5 + 0583 0081 0348 lri $AR1, #0x0348 + 0585 193e lrri $AC0.M, @$AR1 + 0586 193c lrri $AC0.L, @$AR1 + 0587 009f 0400 lri $AC1.M, #0x0400 + 0589 00c0 0345 lr $AR0, @0x0345 + 058b 02bf 05f5 call 0x05f5 + 058d 029f 0041 jmp 0x0041 + +// Opcode_09() - + 058f 0080 0346 lri $AR0, #0x0346 + 0591 02bf 0065 call 0x0065 + 0593 02bf 0065 call 0x0065 + 0595 0081 0346 lri $AR1, #0x0346 + 0597 193e lrri $AC0.M, @$AR1 + 0598 193c lrri $AC0.L, @$AR1 + 0599 009f 0400 lri $AC1.M, #0x0400 + 059b 00c0 0345 lr $AR0, @0x0345 + 059d 02bf 05e8 call 0x05e8 + 059f 0081 0348 lri $AR1, #0x0348 + 05a1 193e lrri $AC0.M, @$AR1 + 05a2 193c lrri $AC0.L, @$AR1 + 05a3 009f 0400 lri $AC1.M, #0x0400 + 05a5 00c0 0345 lr $AR0, @0x0345 + 05a7 02bf 05f5 call 0x05f5 + 05a9 029f 0041 jmp 0x0041 + +// Opcode_08() - + 05ab 0080 0346 lri $AR0, #0x0346 + 05ad 02bf 0065 call 0x0065 + 05af 02bf 0065 call 0x0065 + 05b1 0081 0346 lri $AR1, #0x0346 + 05b3 193e lrri $AC0.M, @$AR1 + 05b4 193c lrri $AC0.L, @$AR1 + 05b5 009f 0400 lri $AC1.M, #0x0400 + 05b7 00c0 0344 lr $AR0, @0x0344 + 05b9 02bf 05e8 call 0x05e8 + 05bb 0081 0348 lri $AR1, #0x0348 + 05bd 193e lrri $AC0.M, @$AR1 + 05be 193c lrri $AC0.L, @$AR1 + 05bf 009f 0800 lri $AC1.M, #0x0800 + 05c1 00c0 0344 lr $AR0, @0x0344 + 05c3 02bf 05e8 call 0x05e8 + 05c5 0080 0400 lri $AR0, #0x0400 + 05c7 0083 0800 lri $AR3, #0x0800 + 05c9 0084 0000 lri $IX0, #0x0000 + 05cb 00da 0345 lr $AX0.H, @0x0345 + 05cd 00df 0344 lr $AC1.M, @0x0344 + 05cf 8f00 set40 + 05d0 197b lrri $AX1.H, @$AR3 + 05d1 b800 mulx $AX0.H, $AX1.H + 05d2 197b lrri $AX1.H, @$AR3 + 05d3 007f 05d8 bloop $AC1.M, 0x05d8 + 05d5 199e lrrn $AC0.M, @$AR0 + 05d6 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 05d7 80b2 nx'sl : $AC0.M, $AX1.H + 05d8 0000 nop + 05d9 8e00 set16 + 05da 0081 0346 lri $AR1, #0x0346 + 05dc 193e lrri $AC0.M, @$AR1 + 05dd 193c lrri $AC0.L, @$AR1 + 05de 009f 0400 lri $AC1.M, #0x0400 + 05e0 00c0 0344 lr $AR0, @0x0344 + 05e2 02bf 05f5 call 0x05f5 + 05e4 029f 0041 jmp 0x0041 + +// DmaCopy(destination, source, len) +// AR1 = source: pointer to the main memory (32-bit) address +// AC1.M = destination: DSP memory address +// AR0 = len: length in words + 05e6 193e lrri $AC0.M, @$AR1 + 05e7 193c lrri $AC0.L, @$AR1 + 05e8 2fcd srs @DSPA, $AC1.M + 05e9 0f00 lris $AC1.M, #0x00 + 05ea 2fc9 srs @DSCR, $AC1.M + 05eb 2ece srs @DSMAH, $AC0.M + 05ec 2ccf srs @DSMAL, $AC0.L + 05ed 1fe0 mrr $AC1.M, $AR0 + 05ee 1501 lsl $ACC1, #1 + 05ef 2fcb srs @DSBL, $AC1.M + 05f0 02bf 05f9 call 0x05f9 + 05f2 02df ret + +// DmaCopy(destination, source, len) +// AR1 = destination: pointer to the main memory (32-bit) address +// AC1.M = source: DSP memory address +// AR0 = len: length in words + 05f3 193e lrri $AC0.M, @$AR1 + 05f4 193c lrri $AC0.L, @$AR1 + 05f5 2fcd srs @DSPA, $AC1.M + 05f6 0f01 lris $AC1.M, #0x01 + 05f7 029f 05ea jmp 0x05ea + +// wait for dma completion? + 05f9 26c9 lrs $AC0.M, @DSCR + 05fa 02a0 0004 andf $AC0.M, #0x0004 + 05fc 029c 05f9 jlnz 0x05f9 + 05fe 02df ret + +// unused dma routine + 05ff 193e lrri $AC0.M, @$AR1 + 0600 193c lrri $AC0.L, @$AR1 + 0601 00ff ffcd sr @DSPA, $AC1.M + 0603 0f00 lris $AC1.M, #0x00 + 0604 00ff ffc9 sr @DSCR, $AC1.M + 0606 00fe ffce sr @DSMAH, $AC0.M + 0608 00fc ffcf sr @DSMAL, $AC0.L + 060a 1fe0 mrr $AC1.M, $AR0 + 060b 1501 lsl $ACC1, #1 + 060c 00ff ffcb sr @DSBL, $AC1.M + 060e 02df ret + +// + 060f 00de ffc9 lr $AC0.M, @DSCR + 0611 02a0 0004 andf $AC0.M, #0x0004 + 0613 029c 060f jlnz 0x060f + 0615 02df ret + +// Opcode_04() - + 0616 0080 0346 lri $AR0, #0x0346 + 0618 02bf 0065 call 0x0065 + 061a 02bf 0065 call 0x0065 // wtf? + 061c 0081 0346 lri $AR1, #0x0346 + 061e 00df 0349 lr $AC1.M, @0x0349 + 0620 0340 ffff andi $AC1.M, #0xffff + 0622 00c0 0345 lr $AR0, @0x0345 + 0624 02bf 05e6 call 0x05e6 // DmaCopy(0x0349, Dword[0x0346], Mem[0x0345]) + 0626 029f 0041 jmp 0x0041 + +// Opcode_05() - + 0628 0080 0346 lri $AR0, #0x0346 + 062a 02bf 0065 call 0x0065 + 062c 02bf 0065 call 0x0065 // wtf? + 062e 0081 0346 lri $AR1, #0x0346 + 0630 00df 0349 lr $AC1.M, @0x0349 + 0632 0340 ffff andi $AC1.M, #0xffff + 0634 00c0 0345 lr $AR0, @0x0345 + 0636 02bf 05f3 call 0x05f3 + 0638 029f 0041 jmp 0x0041 + +// ReadSoundData(addr) +// AC0.M:AC0.L = main memory address +// read 128 samples of PCM8 sound from main memory to DSP memory at 0x0B00 + 063a 1ffc mrr $AC1.M, $AC0.L + 063b 0340 001f andi $AC1.M, #0x001f + 063d 00ff 037f sr @0x037f, $AC1.M + 063f 1ffc mrr $AC1.M, $AC0.L + 0640 0340 ffe0 andi $AC1.M, #0xffe0 + 0642 1f9f mrr $AC0.L, $AC1.M + 0643 00df 037d lr $AC1.M, @0x037d + 0645 00dd 037e lr $AC1.L, @0x037e + 0647 4c00 add $ACC0, $AC1.L + 0648 00fe ffce sr @DSMAH, $AC0.M + 064a 00fc ffcf sr @DSMAL, $AC0.L + 064c 0f00 lris $AC1.M, #0x00 + 064d 00ff ffc9 sr @DSCR, $AC1.M + 064f 009f 0b20 lri $AC1.M, #0x0b20 + 0651 00ff ffcd sr @DSPA, $AC1.M + 0653 0f40 lris $AC1.M, #0x40 + 0654 00ff ffcb sr @DSBL, $AC1.M + 0656 00de ffc9 lr $AC0.M, @DSCR + 0658 02a0 0004 andf $AC0.M, #0x0004 + 065a 029c 0656 jlnz 0x0656 + 065c 1fe1 mrr $AC1.M, $AR1 + 065d 0081 0b00 lri $AR1, #0x0b00 // Dst = 0x0B00; + 065f 0080 0b20 lri $AR0, #0x0b20 // Src = 0x0B20; + // for(i = 0; i < 32; i++) + 0661 1120 066a bloopi #0x20, 0x066a + 0663 8100 clr $ACC0 + 0664 191e lrri $AC0.M, @$AR0 + 0665 1478 lsr $ACC0, #-8 + 0666 1b3e srri @$AR1, $AC0.M // Dst[i*2] = Src[i] >> 8; + 0667 1408 lsl $ACC0, #8 + 0668 0240 00ff andi $AC0.M, #0x00ff + 066a 1b3e srri @$AR1, $AC0.M // Dst[i*2 + 1] = Src[i] & 0xFF; + + 066b 1c3f mrr $AR1, $AC1.M // Keep AR1 value to 0x0B00 + 066c 029f 092b jmp 0x092b + 066e 02df ret + +// dma? + 066f 1fc3 mrr $AC0.M, $AR3 + 0670 043f addis $ACC0, #0x3f + 0671 0240 fff0 andi $AC0.M, #0xfff0 + 0673 00fe ffcd sr @DSPA, $AC0.M + 0675 1c1a mrr $AR0, $AX0.H + 0676 00da 037f lr $AX0.H, @0x037f + 0678 4400 addr $ACC0, $AX0.H + 0679 1f40 mrr $AX0.H, $AR0 + 067a 1c1e mrr $AR0, $AC0.M + 067b 1fda mrr $AC0.M, $AX0.H + 067c 041f addis $ACC0, #0x1f + 067d 0240 fff0 andi $AC0.M, #0xfff0 + 067f 1401 lsl $ACC0, #1 + 0680 00fe ffcb sr @DSBL, $AC0.M + 0682 00de ffc9 lr $AC0.M, @DSCR + 0684 02a0 0004 andf $AC0.M, #0x0004 + 0686 029c 0682 jlnz 0x0682 + 0688 007a 068b bloop $AX0.H, 0x068b + 068a 191e lrri $AC0.M, @$AR0 + 068b 1b7e srri @$AR3, $AC0.M + 068c 02df ret + +// setup DSMAH, DSMAL and DSCR (RAM -> DSP memory) + 068d 8900 clr $ACC1 + 068e 1ffc mrr $AC1.M, $AC0.L + 068f 0340 001f andi $AC1.M, #0x001f + 0691 00ff 037f sr @0x037f, $AC1.M + 0693 1ffc mrr $AC1.M, $AC0.L + 0694 0340 ffe0 andi $AC1.M, #0xffe0 // addr &= 0xFFFFFFE0; + 0696 1f9f mrr $AC0.L, $AC1.M + 0697 00df 037d lr $AC1.M, @0x037d // 0x1000 + 0699 00dd 037e lr $AC1.L, @0x037e // 0x0800 + 069b 4c00 add $ACC0, $AC1.L // addr += 0x10000800; + 069c 00fe ffce sr @DSMAH, $AC0.M + 069e 00fc ffcf sr @DSMAL, $AC0.L + 06a0 0f00 lris $AC1.M, #0x00 + 06a1 00ff ffc9 sr @DSCR, $AC1.M + 06a3 02df ret + +// setup DSPA and DSBL (and thus complete DMA transfer) +// memory transferred is stored (temporarily) to 0x0780 +// then it's copied to the address specified by AR3 + 06a4 00df 037f lr $AC1.M, @0x037f + 06a6 157f lsr $ACC1, #-1 + 06a7 00ff 037f sr @0x037f, $AC1.M + 06a9 02df ret + 06aa 8600 tstaxh $AX0.H + 06ab 02d5 retz + 06ac 1f1a mrr $AX0.L, $AX0.H + 06ad 009e 0780 lri $AC0.M, #0x0780 + 06af 00fe ffcd sr @DSPA, $AC0.M + 06b1 1fda mrr $AC0.M, $AX0.H + 06b2 043f addis $ACC0, #0x3f + 06b3 0240 ffe0 andi $AC0.M, #0xffe0 + 06b5 00fe ffcb sr @DSBL, $AC0.M + 06b7 00de ffc9 lr $AC0.M, @DSCR + 06b9 02a0 0004 andf $AC0.M, #0x0004 + 06bb 029c 06b7 jlnz 0x06b7 + 06bd 8100 clr $ACC0 + 06be 00de 037f lr $AC0.M, @0x037f + 06c0 147f lsr $ACC0, #-1 + 06c1 0200 0780 addi $AC0.M, #0x0780 + 06c3 1c1e mrr $AR0, $AC0.M + 06c4 00de 037f lr $AC0.M, @0x037f + 06c6 02a0 0001 andf $AC0.M, #0x0001 + 06c8 029d 06d1 jlz 0x06d1 + 06ca 8100 clr $ACC0 + 06cb 191e lrri $AC0.M, @$AR0 + 06cc 1488 asl $ACC0, #8 + 06cd 1b7e srri @$AR3, $AC0.M + 06ce 1fda mrr $AC0.M, $AX0.H + 06cf 7800 decm $AC0.M + 06d0 1f5e mrr $AX0.H, $AC0.M + 06d1 8100 clr $ACC0 + 06d2 1fda mrr $AC0.M, $AX0.H + 06d3 147f lsr $ACC0, #-1 + + 06d4 007e 06dd bloop $AC0.M, 0x06dd + 06d6 8100 clr $ACC0 + 06d7 181e lrr $AC0.M, @$AR0 + 06d8 0240 ff00 andi $AC0.M, #0xff00 + 06da 1b7e srri @$AR3, $AC0.M + 06db 191e lrri $AC0.M, @$AR0 + 06dc 1488 asl $ACC0, #8 + 06dd 1b7e srri @$AR3, $AC0.M + + 06de 1fda mrr $AC0.M, $AX0.H + 06df 1f58 mrr $AX0.H, $AX0.L + 06e0 02a0 0001 andf $AC0.M, #0x0001 + 06e2 02dd retlz + 06e3 8100 clr $ACC0 + 06e4 181e lrr $AC0.M, @$AR0 + 06e5 0240 ff00 andi $AC0.M, #0xff00 + 06e7 1b7e srri @$AR3, $AC0.M + 06e8 02df ret + +// Exception_0E() + 06e9 1205 sbclr #0x05 + 06ea 8e00 set16 + 06eb 00f0 03fd sr @0x03fd, $AC0.H + 06ed 00fc 03ff sr @0x03ff, $AC0.L + 06ef f400 lsr16 $ACC0 + 06f0 00fc 03fe sr @0x03fe, $AC0.L + 06f2 00fa 03fa sr @0x03fa, $AX0.H + 06f4 8100 clr $ACC0 + 06f5 00de fffe lr $AC0.M, @CMBH // check for new mail + 06f7 02c0 8000 andcf $AC0.M, #0x8000 + 06f9 029c 07ea jlnz 0x07ea // If we received no mail + 06fb 00da ffff lr $AX0.H, @CMBL + 06fd 8600 tstaxh $AX0.H + 06fe 0294 07c3 jnz 0x07c3 // If we received a mail beginning a list, WaitForNextMails() + + 0700 00de fffe lr $AC0.M, @CMBH // if we received an empty mail, wait for the next mail + 0702 02c0 8000 andcf $AC0.M, #0x8000 + 0704 029c 0700 jlnz 0x0700 + 0706 0240 000f andi $AC0.M, #0x000f // get the number in the high part of the mail + 0708 1f5e mrr $AX0.H, $AC0.M + 0709 7400 incm $AC0.M // number++; + 070a 0c00 lris $AC0.L, #0x00 + 070b 1404 lsl $ACC0, #4 // number <<= 4; + 070c 00fe 034e sr @0x034e, $AC0.M + 070e 1fda mrr $AC0.M, $AX0.H + 070f 1f40 mrr $AX0.H, $AR0 + 0710 0200 04fc addi $AC0.M, #0x04fc + 0712 1c1e mrr $AR0, $AC0.M + 0713 00de ffff lr $AC0.M, @CMBL + 0715 1a1e srr @$AR0, $AC0.M + 0716 1c1a mrr $AR0, $AX0.H + + 0717 00de 03fe lr $AC0.M, @0x03fe + 0719 00dc 03ff lr $AC0.L, @0x03ff + 071b 00d0 03fd lr $AC0.H, @0x03fd + 071d 00da 03fa lr $AX0.H, @0x03fa + 071f 1305 sbset #0x05 + 0720 02ff rti + +// DoYield() + 0721 009a 0002 lri $AX0.H, #0x0002 + 0723 00fa 03a3 sr @0x03a3, $AX0.H + 0725 00e0 03f9 sr @0x03f9, $AR0 + 0727 02bf 07ad call 0x07ad + 0729 16fc dcd1 si @DMBH, #0xdcd1 + 072b 16fd 0002 si @DMBL, #0x0002 + 072d 16fb 0001 si @DIRQ, #0x0001 + 072f 0021 halt + +// Function jump table + 0730 0748 cmpis $ACC1, #0x48 // Function 0: halt + 0731 0749 cmpis $ACC1, #0x49 // Function 1: dump memory? and halt + 0732 0789 cmpis $ACC1, #0x89 // Function 2: jump to 0x8000 and halt + 0733 078c cmpis $ACC1, #0x8c // Function 3: return to MessageLoop() + +// Execute function according to mail received (0xCDD1000X) +// Warning: any function number above 3 will likely crash +// as no range check is performed. +// AR0 = 0x002B + 0734 00e0 03f9 sr @0x03f9, $AR0 + 0736 009e 0005 lri $AC0.M, #0x0005 + 0738 02bf 079b call 0x079b // SendMail_DCD1(0x0005) + 073a 8e00 set16 + 073b 8100 clr $ACC0 + 073c 8900 clr $ACC1 + 073d 02bf 078f call 0x078f // WaitUntilCPUMailboxIsFull_AC0() + 073f 27ff lrs $AC1.M, @CMBL + 0740 009e 0730 lri $AC0.M, #0x0730 + 0742 4c00 add $ACC0, $AC1.L + 0743 1c7e mrr $AR3, $AC0.M + 0744 0313 ilrr $AC1.M, @$AR3 + 0745 1c7f mrr $AR3, $AC1.M + 0746 176f jmpr $AR3 + 0747 0021 halt +// Function 0 + 0748 0021 halt +// Function 1 + 0749 009a 0002 lri $AX0.H, #0x0002 + 074b 00fa 03a3 sr @0x03a3, $AX0.H + 074d 8100 clr $ACC0 + 074e 8900 clr $ACC1 + 074f 02bf 078f call 0x078f // WaitUntilCPUMailboxIsFull_AC0() + 0751 24ff lrs $AC0.L, @CMBL + 0752 02bf 0795 call 0x0795 // WaitUntilCPUMailboxIsFull_AC1() + 0754 25ff lrs $AC1.L, @CMBL + 0755 02bf 0795 call 0x0795 // WaitUntilCPUMailboxIsFull_AC1() + 0757 27ff lrs $AC1.M, @CMBL + 0758 2ece srs @DSMAH, $AC0.M + 0759 2ccf srs @DSMAL, $AC0.L + 075a 16c9 0001 si @DSCR, #0x0001 + 075c 2fcd srs @DSPA, $AC1.M + 075d 2dcb srs @DSBL, $AC1.L + 075e 8100 clr $ACC0 + 075f 8900 clr $ACC1 + 0760 02bf 078f call 0x078f // WaitUntilCPUMailboxIsFull_AC0() + 0762 24ff lrs $AC0.L, @CMBL + 0763 1c9e mrr $IX0, $AC0.M + 0764 1cbc mrr $IX1, $AC0.L + 0765 02bf 0795 call 0x0795 // WaitUntilCPUMailboxIsFull_AC1() + 0767 25ff lrs $AC1.L, @CMBL + 0768 02bf 0795 call 0x0795 // WaitUntilCPUMailboxIsFull_AC1() + 076a 27ff lrs $AC1.M, @CMBL + 076b 1cdf mrr $IX2, $AC1.M + 076c 1cfd mrr $IX3, $AC1.L + 076d 8100 clr $ACC0 + 076e 02bf 078f call 0x078f // WaitUntilCPUMailboxIsFull_AC0() + 0770 26ff lrs $AC0.M, @CMBL + 0771 1c1e mrr $AR0, $AC0.M + 0772 8900 clr $ACC1 + 0773 02bf 0795 call 0x0795 // WaitUntilCPUMailboxIsFull_AC1() + 0775 20ff lrs $AX0.L, @CMBL + 0776 1f5f mrr $AX0.H, $AC1.M + 0777 02bf 078f call 0x078f // WaitUntilCPUMailboxIsFull_AC0() + 0779 21ff lrs $AX1.L, @CMBL + 077a 02bf 078f call 0x078f // WaitUntilCPUMailboxIsFull_AC0() + 077c 23ff lrs $AX1.H, @CMBL + 077d 26c9 lrs $AC0.M, @DSCR + 077e 02a0 0004 andf $AC0.M, #0x0004 + 0780 029c 077d jlnz 0x077d + 0782 1206 sbclr #0x06 + 0783 1203 sbclr #0x03 + 0784 1204 sbclr #0x04 + 0785 1205 sbclr #0x05 + 0786 029f 80b5 jmp 0x80b5 + 0788 0021 halt +// Function 2 + 0789 029f 8000 jmp 0x8000 + 078b 0021 halt +// Function 3 + 078c 00c0 03f9 lr $AR0, @0x03f9 + 078e 170f jmpr $AR0 + +// WaitUntilCPUMailboxIsFull_AC0() + 078f 26fe lrs $AC0.M, @CMBH + 0790 02c0 8000 andcf $AC0.M, #0x8000 + 0792 029c 078f jlnz 0x078f + 0794 02df ret + +// WaitUntilCPUMailboxIsFull_AC1() + 0795 27fe lrs $AC1.M, @CMBH + 0796 03c0 8000 andcf $AC1.M, #0x8000 + 0798 029c 0795 jlnz 0x0795 + 079a 02df ret + +// SendMail_DCD1() // seems to additionally trigger an IRQ + 079b 02bf 07b3 call 0x07b3 + 079d 16fc dcd1 si @DMBH, #0xdcd1 + 079f 2efd srs @DMBL, $AC0.M + 07a0 16fb 0001 si @DIRQ, #0x0001 + 07a2 02bf 07b3 call 0x07b3 + 07a4 02df ret + +// SendMail_F355() + 07a5 02bf 07b3 call 0x07b3 + 07a7 16fc f355 si @DMBH, #0xf355 + 07a9 2efd srs @DMBL, $AC0.M + 07aa 02bf 07b3 call 0x07b3 + 07ac 02df ret + +// WaitUntilMailboxIsReady_AC0() + 07ad 26fc lrs $AC0.M, @DMBH + 07ae 02c0 8000 andcf $AC0.M, #0x8000 + 07b0 029d 07ad jlz 0x07ad + 07b2 02df ret + +// WaitUntilMailboxIsReady_AC1() + 07b3 27fc lrs $AC1.M, @DMBH + 07b4 03c0 8000 andcf $AC1.M, #0x8000 + 07b6 029d 07b3 jlz 0x07b3 + 07b8 02df ret + +// InitGlobalVars() + 07b9 009a 0280 lri $AX0.H, #0x0280 + 07bb 00fa 0350 sr @0x0350, $AX0.H + 07bd 00fa 0351 sr @0x0351, $AX0.H + 07bf 0a00 lris $AX0.H, #0x00 + 07c0 00fa 0352 sr @0x0352, $AX0.H + 07c2 02df ret + +// WaitForNextMails() +// AX0.H: low part of current mail (num of mails to wait for) + 07c3 00e0 03fb sr @0x03fb, $AR0 + 07c5 00e8 03fc sr @0x03fc, $WR0 + 07c7 00c0 0350 lr $AR0, @0x0350 + 07c9 0088 002f lri $WR0, #0x002f + 07cb 1b1a srri @$AR0, $AX0.H + 07cc 00de fffe lr $AC0.M, @CMBH + 07ce 02c0 8000 andcf $AC0.M, #0x8000 + 07d0 029c 07cc jlnz 0x07cc + 07d2 00dc ffff lr $AC0.L, @CMBL + 07d4 1b1e srri @$AR0, $AC0.M + 07d5 1b1c srri @$AR0, $AC0.L + 07d6 1fda mrr $AC0.M, $AX0.H + 07d7 7800 decm $AC0.M + 07d8 1f5e mrr $AX0.H, $AC0.M + 07d9 8600 tstaxh $AX0.H + 07da 0294 07cc jnz 0x07cc + + 07dc 8100 clr $ACC0 + 07dd 00de 0352 lr $AC0.M, @0x0352 + 07df 7400 incm $AC0.M + 07e0 00fe 0352 sr @0x0352, $AC0.M + 07e2 00e0 0350 sr @0x0350, $AR0 + 07e4 00c0 03fb lr $AR0, @0x03fb + 07e6 00c8 03fc lr $WR0, @0x03fc + 07e8 029f 0717 jmp 0x0717 + + // noMail() + 07ea 00e0 03fb sr @0x03fb, $AR0 + 07ec 00e8 03fc sr @0x03fc, $WR0 + 07ee 00c0 0350 lr $AR0, @0x0350 + 07f0 0088 002f lri $WR0, #0x002f + 07f2 0a00 lris $AX0.H, #0x00 + 07f3 1b1a srri @$AR0, $AX0.H + 07f4 029f 07dc jmp 0x07dc + +// MessageLoop() + 07f6 00c0 0351 lr $AR0, @0x0351 + 07f8 0088 002f lri $WR0, #0x002f + 07fa 00da 0352 lr $AX0.H, @0x0352 + 07fc 8600 tstaxh $AX0.H + 07fd 0295 081e jz 0x081e // jump back to MessageLoop + 07ff 1205 sbclr #0x05 + 0800 00da 0352 lr $AX0.H, @0x0352 + 0802 1fda mrr $AC0.M, $AX0.H + 0803 7800 decm $AC0.M + 0804 00fe 0352 sr @0x0352, $AC0.M + 0806 1305 sbset #0x05 + 0807 0081 0356 lri $AR1, #0x0356 + 0809 191e lrri $AC0.M, @$AR0 + 080a 02c0 8000 andcf $AC0.M, #0x8000 + 080c 029d 0822 jlz 0x0822 // ??? + 080e 1f5e mrr $AX0.H, $AC0.M + 080f 8600 tstaxh $AX0.H + 0810 0295 0826 jz 0x0826 // Yield() + 0812 007a 0817 bloop $AX0.H, 0x0817 + 0814 191e lrri $AC0.M, @$AR0 + 0815 1b3e srri @$AR1, $AC0.M + 0816 191e lrri $AC0.M, @$AR0 + 0817 1b3e srri @$AR1, $AC0.M + 0818 00e0 0351 sr @0x0351, $AR0 + 081a 0088 ffff lri $WR0, #0xffff + 081c 029f 002d jmp 0x002d // jump to OpcodeHandler() + 081e 0088 ffff lri $WR0, #0xffff + 0820 029f 002b jmp 0x002b // jump back to MessageLoop() + +// + 0822 00e0 0351 sr @0x0351, $AR0 + 0824 029f 07fa jmp 0x07fa + +// Yield() + 0826 0080 07f6 lri $AR0, #0x07f6 + 0828 029f 0721 jmp 0x0721 // DoYield() (halts) + +// interesting - writes value(s) to output + 082a 8100 clr $ACC0 + 082b 0e10 lris $AC0.M, #0x10 + 082c 2232 lrs $AX0.H, @0x0032 + 082d 8600 tstaxh $AX0.H + 082e 02d5 retz + 082f 5400 subr $ACC0, $AX0.H + 0830 0200 0458 addi $AC0.M, #0x0458 // source addr = (0x10 - Mem[0x0032]) + 0x0458 + 0832 1c1e mrr $AR0, $AC0.M + 0833 1fda mrr $AC0.M, $AX0.H + 0834 04fe addis $ACC0, #0xfe + 0835 1f1e mrr $AX0.L, $AC0.M // AX0.L = Mem[0x0032] - 2; + 0836 191e lrri $AC0.M, @$AR0 + 0837 0291 083d js 0x083d + 0839 191a lrri $AX0.H, @$AR0 + + 083a 0058 loop $AX0.L + 083b 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + + 083c 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 083d 1b7e srri @$AR3, $AC0.M // store value to output + 083e 02df ret + +// + 083f 02bf 082a call 0x082a + 0841 8100 clr $ACC0 + 0842 2632 lrs $AC0.M, @0x0032 + 0843 5c00 sub $ACC0, $AC1.L + 0844 2e32 srs @0x0032, $AC0.M + 0845 0092 00ff lri $CR, #0x00ff + 0847 02df ret + +// increment one value, then zero out other values + 0848 00de 04fb lr $AC0.M, @0x04fb + 084a 7400 incm $AC0.M + 084b 00fe 04fb sr @0x04fb, $AC0.M + 084d 8100 clr $ACC0 + 084e 2e32 srs @0x0032, $AC0.M + 084f 2e66 srs @0x0066, $AC0.M + 0850 2e67 srs @0x0067, $AC0.M + 0851 268a lrs $AC0.M, @0xff8a + 0852 248b lrs $AC0.L, @0xff8b + 0853 2e3a srs @0x003a, $AC0.M + 0854 2c3b srs @0x003b, $AC0.L + 0855 268c lrs $AC0.M, @0xff8c + 0856 248d lrs $AC0.L, @0xff8d + 0857 2e38 srs @0x0038, $AC0.M + 0858 2c39 srs @0x0039, $AC0.L + 0859 02df ret + +// + 085a 8100 clr $ACC0 + 085b 2689 lrs $AC0.M, @0xff89 + 085c 0240 000f andi $AC0.M, #0x000f + 085e 1f5e mrr $AX0.H, $AC0.M + 085f 8100 clr $ACC0 + 0860 0e10 lris $AC0.M, #0x10 + 0861 5400 subr $ACC0, $AX0.H + 0862 2e32 srs @0x0032, $AC0.M + 0863 268a lrs $AC0.M, @0xff8a + 0864 248b lrs $AC0.L, @0xff8b + 0865 2288 lrs $AX0.H, @0xff88 + 0866 2089 lrs $AX0.L, @0xff89 + 0867 5800 subax $ACC0, $AX0.L + 0868 0a00 lris $AX0.H, #0x00 + 0869 2032 lrs $AX0.L, @0x0032 + 086a 5800 subax $ACC0, $AX0.L + 086b 2e3a srs @0x003a, $AC0.M + 086c 2c3b srs @0x003b, $AC0.L + 086d 02df ret + +// mixer for sound types 5 and 9 +// AR3 = 0x0580 (out address) +// AC1.M = 0x0043, AC1.L = 0x0000 + 086e 0092 0004 lri $CR, #0x0004 + 0870 8100 clr $ACC0 + 0871 2604 lrs $AC0.M, @0x0004 + 0872 b100 tst $ACC0 + 0873 02b4 0848 callne 0x0848 // nothing much interesting + 0875 8100 clr $ACC0 + 0876 2601 lrs $AC0.M, @0x0001 + 0877 b100 tst $ACC0 + 0878 0294 0916 jnz 0x0916 // end + 087a 2232 lrs $AX0.H, @0x0032 + 087b c900 cmpar $ACC0, $AX1.H + 087c 0293 083f jle 0x083f // direct return (calls 0x082A though) + 087e 5500 subr $ACC1, $AX0.H + 087f 02bf 082a call 0x082a // interesting: stores value(s) to Mem[AR3] (output) + 0881 223a lrs $AX0.H, @0x003a + 0882 8600 tstaxh $AX0.H + 0883 0294 088a jnz 0x088a + 0885 8100 clr $ACC0 + 0886 263b lrs $AC0.M, @0x003b + 0887 8200 cmp + 0888 0291 08dc js 0x08dc + 088a 8100 clr $ACC0 + 088b 1fdf mrr $AC0.M, $AC1.M + 088c 040f addis $ACC0, #0x0f + 088d 147c lsr $ACC0, #-4 + 088e 1f7e mrr $AX1.H, $AC0.M + 088f 0c00 lris $AC0.L, #0x00 + 0890 1404 lsl $ACC0, #4 + 0891 1f1e mrr $AX0.L, $AC0.M + 0892 0a00 lris $AX0.H, #0x00 + 0893 8100 clr $ACC0 + 0894 263a lrs $AC0.M, @0x003a + 0895 243b lrs $AC0.L, @0x003b + 0896 5800 subax $ACC0, $AX0.L + 0897 0290 08a2 jns 0x08a2 + 0899 8100 clr $ACC0 + 089a 263b lrs $AC0.M, @0x003b + 089b 5c00 sub $ACC0, $AC1.L + 089c 2e32 srs @0x0032, $AC0.M + 089d 8100 clr $ACC0 + 089e 2e3a srs @0x003a, $AC0.M + 089f 2e3b srs @0x003b, $AC0.M + 08a0 029f 08a8 jmp 0x08a8 + 08a2 2e3a srs @0x003a, $AC0.M + 08a3 2c3b srs @0x003b, $AC0.L + 08a4 0c00 lris $AC0.L, #0x00 + 08a5 1fd8 mrr $AC0.M, $AX0.L + 08a6 5c00 sub $ACC0, $AC1.L + 08a7 2e32 srs @0x0032, $AC0.M + 08a8 8100 clr $ACC0 + 08a9 1fdb mrr $AC0.M, $AX1.H + 08aa 02bf 091c call 0x091c // afc decoder + 08ac 2232 lrs $AX0.H, @0x0032 + 08ad 8600 tstaxh $AX0.H + 08ae 0295 08d9 jz 0x08d9 // end + 08b0 0a10 lris $AX0.H, #0x10 + 08b1 8100 clr $ACC0 + 08b2 1fc3 mrr $AC0.M, $AR3 + 08b3 5400 subr $ACC0, $AX0.H + 08b4 1c7e mrr $AR3, $AC0.M + 08b5 0080 0458 lri $AR0, #0x0458 + 08b7 197e lrri $AC0.M, @$AR3 + 08b8 197a lrri $AX0.H, @$AR3 + + 08b9 100e loopi #0x0e + 08ba 64a2 movr'sl $ACC0, $AX0.H : $AC0.M, $AX0.H + + 08bb 1b1e srri @$AR0, $AC0.M + 08bc 1b1a srri @$AR0, $AX0.H + 08bd 8100 clr $ACC0 + 08be 263a lrs $AC0.M, @0x003a + 08bf 243b lrs $AC0.L, @0x003b + 08c0 b100 tst $ACC0 + 08c1 0294 08d9 jnz 0x08d9 // end + 08c3 2232 lrs $AX0.H, @0x0032 + 08c4 8600 tstaxh $AX0.H + 08c5 0295 08d9 jz 0x08d9 // end + 08c7 0080 0467 lri $AR0, #0x0467 + 08c9 8100 clr $ACC0 + 08ca 268b lrs $AC0.M, @0xff8b + 08cb b100 tst $ACC0 + 08cc 0295 08d9 jz 0x08d9 // end + 08ce 0200 000f addi $AC0.M, #0x000f + 08d0 0240 000f andi $AC0.M, #0x000f + 08d2 0200 0458 addi $AC0.M, #0x0458 + 08d4 1c7e mrr $AR3, $AC0.M + + 08d5 007a 08d8 bloop $AX0.H, 0x08d8 + 08d7 18fe lrrd $AC0.M, @$AR3 + 08d8 1a9e srrd @$AR0, $AC0.M + + 08d9 0092 00ff lri $CR, #0x00ff + 08db 02df ret + +// + 08dc b100 tst $ACC0 + 08dd 0295 08ec jz 0x08ec + 08df 5d00 sub $ACC1, $AC0.L + 08e0 040f addis $ACC0, #0x0f + 08e1 147c lsr $ACC0, #-4 + 08e2 0c00 lris $AC0.L, #0x00 + 08e3 00e3 0363 sr @0x0363, $AR3 + 08e5 02bf 091c call 0x091c + 08e7 00de 0363 lr $AC0.M, @0x0363 + 08e9 223b lrs $AX0.H, @0x003b + 08ea 4400 addr $ACC0, $AX0.H + 08eb 1c7e mrr $AR3, $AC0.M + 08ec 8100 clr $ACC0 + 08ed 2681 lrs $AC0.M, @0xff81 + 08ee b100 tst $ACC0 + 08ef 0295 0914 jz 0x0914 + 08f1 2380 lrs $AX1.H, @0xff80 + 08f2 2688 lrs $AC0.M, @0xff88 + 08f3 2489 lrs $AC0.L, @0xff89 + 08f4 1408 lsl $ACC0, #8 + 08f5 14f4 asr $ACC0, #-12 + 08f6 2380 lrs $AX1.H, @0xff80 + 08f7 8d00 set15 + 08f8 c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L + 08f9 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 08fa 8c00 clr15 + 08fb f000 lsl16 $ACC0 + 08fc 4e00 addp $ACC0 + 08fd 238c lrs $AX1.H, @0xff8c + 08fe 218d lrs $AX1.L, @0xff8d + 08ff 4a00 addax $ACC0, $AX1.L + 0900 2e38 srs @0x0038, $AC0.M + 0901 2c39 srs @0x0039, $AC0.L + 0902 2682 lrs $AC0.M, @0xff82 + 0903 2e67 srs @0x0067, $AC0.M + 0904 2683 lrs $AC0.M, @0xff83 + 0905 2e66 srs @0x0066, $AC0.M + 0906 00e3 0363 sr @0x0363, $AR3 + 0908 0083 0458 lri $AR3, #0x0458 + 090a 8100 clr $ACC0 + 090b 0e01 lris $AC0.M, #0x01 + 090c 02bf 091c call 0x091c + 090e 00c3 0363 lr $AR3, @0x0363 + 0910 02bf 085a call 0x085a + 0912 029f 087a jmp 0x087a + 0914 0e01 lris $AC0.M, #0x01 + 0915 2e01 srs @0x0001, $AC0.M + 0916 8100 clr $ACC0 + 0917 005f loop $AC1.M + 0918 1b7e srri @$AR3, $AC0.M + 0919 0092 00ff lri $CR, #0x00ff + 091b 02df ret + +// afc decoder (for sound formats 5 and 9) +// AC0.M = num of blocks to do? (0x4) +// AC1.M = + 091c 00ff 0360 sr @0x0360, $AC1.M + 091e 00fe 0361 sr @0x0361, $AC0.M + 0920 8100 clr $ACC0 + 0921 00de 0361 lr $AC0.M, @0x0361 + + 0923 007e 099c bloop $AC0.M, 0x099c + 0925 2638 lrs $AC0.M, @0x0038 + 0926 2439 lrs $AC0.L, @0x0039 + 0927 0092 00ff lri $CR, #0x00ff + 0929 029f 063a jmp 0x063a // ReadSoundData(Dword[0x0038]) + 092b 0092 0004 lri $CR, #0x0004 + 092d 2638 lrs $AC0.M, @0x0038 + 092e 2439 lrs $AC0.L, @0x0039 + 092f 8900 clr $ACC1 + 0930 2580 lrs $AC1.L, @0xff80 + 0931 4c00 add $ACC0, $AC1.L + 0932 2e38 srs @0x0038, $AC0.M + 0933 2c39 srs @0x0039, $AC0.L + 0934 00de 037f lr $AC0.M, @0x037f + 0936 0200 0b00 addi $AC0.M, #0x0b00 // buffer where read sound data is stored (128 bytes) + 0938 1c1e mrr $AR0, $AC0.M // AR0 = AC0.M = 0x0B00 + Mem[0x037F]; (Mem[0x037F] seems to be the offset in buffer to the actual block...) + 0939 0084 0001 lri $IX0, #0x0001 // IX0 = 0x0001; + 093b 199e lrrn $AC0.M, @$AR0 // AC0.M = Mem[AR0]; AR0++; read first byte in buffer + 093c 8900 clr $ACC1 + 093d 1ffe mrr $AC1.M, $AC0.M // AC1.M = AC0.M = first_byte; + 093e 1401 lsl $ACC0, #1 + 093f 0240 001e andi $AC0.M, #0x001e + 0941 0200 0300 addi $AC0.M, #0x0300 + 0943 1c3e mrr $AR1, $AC0.M // AR1 = ((first_byte << 1) & 0x1E) + 0x0300; + 0944 157c lsr $ACC1, #-4 + 0945 0340 000f andi $AC1.M, #0x000f + 0947 0a11 lris $AX0.H, #0x11 + 0948 5500 subr $ACC1, $AX0.H // AC1.M = ((first_byte >> 4) & 0xF) - 0x11; + 0949 8100 clr $ACC0 + 094a 2680 lrs $AC0.M, @0xff80 + 094b 0605 cmpis $ACC0, #0x05 + 094c 0295 0965 jz 0x0965 // skip loop below (execute another loop) for sound format 5 + + 094e 009a 00f0 lri $AX0.H, #0x00f0 // these masks... for adpcm sound surely + 0950 0b0f lris $AX1.H, #0x0f + 0951 0082 0364 lri $AR2, #0x0364 // AR2 = 0x0364; + 0953 1998 lrrn $AX0.L, @$AR0 // AX0.L = Mem[AR0]; AR0++; + 0954 6000 movr $ACC0, $AX0.L // AC0.HM = AX0; AC0.L = 0x0000; + // loop for sound format 9 (looks like adpcm) + // decompose sound data into nibbles and store it to 0x0364 (again a temp buffer!) + // for(i = 0; i < 7; i++) + 0955 1107 095c bloopi #0x07, 0x095c + 0957 3400 andr $AC0.M, $AX0.H // AC0.M &= 0x00F0; + 0958 1408 lsl $ACC0, #8 // ACC0 <<= 8; + 0959 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M // AC0.HM = AX0; AC0.L = 0; Mem[AR2] = AC0.M; AR2++; + 095a 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 // AC0.M &= 0x000F; AX0.L = Mem[AR0]; AR0++; + 095b 140c lsl $ACC0, #12 // ACC0 <<= 12; + 095c 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M // AC0.HM = AX0; AC0.L = 0; Mem[AR2] = AC0.M; AR2++; + + 095d 3400 andr $AC0.M, $AX0.H + 095e 1408 lsl $ACC0, #8 + 095f 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0960 3600 andr $AC0.M, $AX1.H + 0961 140c lsl $ACC0, #12 + 0962 1b5e srri @$AR2, $AC0.M + 0963 029f 0985 jmp 0x0985 + // below for sound format 5 only + 0965 009a c000 lri $AX0.H, #0xc000 + 0967 0082 0364 lri $AR2, #0x0364 + 0969 1998 lrrn $AX0.L, @$AR0 + 096a 6000 movr $ACC0, $AX0.L + // loop for sound format 5 + 096b 1103 0978 bloopi #0x03, 0x0978 + 096d 1408 lsl $ACC0, #8 + 096e 3400 andr $AC0.M, $AX0.H + 096f 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0970 140a lsl $ACC0, #10 + 0971 3400 andr $AC0.M, $AX0.H + 0972 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0973 140c lsl $ACC0, #12 + 0974 3400 andr $AC0.M, $AX0.H + 0975 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0976 140e lsl $ACC0, #14 + 0977 3444 andr'ln $AC0.M, $AX0.H : $AX0.L, @$AR0 + 0978 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + + 0979 1408 lsl $ACC0, #8 + 097a 3400 andr $AC0.M, $AX0.H + 097b 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 097c 140a lsl $ACC0, #10 + 097d 3400 andr $AC0.M, $AX0.H + 097e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 097f 140c lsl $ACC0, #12 + 0980 3400 andr $AC0.M, $AX0.H + 0981 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0982 140e lsl $ACC0, #14 + 0983 3400 andr $AC0.M, $AX0.H + 0984 1b5e srri @$AR2, $AC0.M + + 0985 8f00 set40 + 0986 1f7f mrr $AX1.H, $AC1.M // AX1.H = AC1.M = ((first_byte >> 4) & 0xF) - 0x11; + 0987 2066 lrs $AX0.L, @0x0066 // AX0.L = Mem[0x0066]; + 0988 2767 lrs $AC1.M, @0x0067 // AC1.M = Mem[0x0067]; + 0989 193a lrri $AX0.H, @$AR1 // AX0.H = Mem[AR1]; AR1++; load coefs from 0x0300+ + 098a 1939 lrri $AX1.L, @$AR1 // AX1.L = Mem[AR1]; AR1++; + 098b 0080 0364 lri $AR0, #0x0364 // AR0 = 0x0364; + 098d a000 mulx $AX0.L, $AX1.L // prod = AX0.L * AX1.L; + 098e ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 // prod += AC1.M * AX1.L; AC0.M = Mem[AR0]; AR0++; + + 098f 1108 0998 bloopi #0x08, 0x0998 + 0991 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L // AC0.M |= AX1.H; Mem[AR3] = AC1.M; AR3++; AX1.L = Mem[AR0]; AR0++; + 0992 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 // ACC0 += prod; prod = AX0.L * AX1.L; AC1.M = Mem[AR0]; AR0++; + 0993 1485 asl $ACC0, #5 // ACC0 <<= 5; + 0994 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M // prod += AC0.M * AX1.L; Mem[AR3] = AC0.M; AR3++; + 0995 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L // AC1.M |= AX1.H; Mem[AR3] = AC0.M; AR3++; AX1.L = Mem[AR0]; AR0++; + 0996 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 // ACC1 += prod; prod = AX0.L * AX1.L; AC1.M = Mem[AR0]; AR0++; + 0997 1585 asl $ACC1, #5 // ACC1 <<= 5; + 0998 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M // prod += AC1.M * AX1.L; Mem[AR3] = AC1.M; AR3++; + + 0999 2f67 srs @0x0067, $AC1.M + 099a 8e00 set16 + 099b 1ff8 mrr $AC1.M, $AX0.L + 099c 2f66 srs @0x0066, $AC1.M + // end of outer loop + 099d 8900 clr $ACC1 + 099e 00df 0360 lr $AC1.M, @0x0360 + 09a0 02df ret + +// + 09a1 b100 tst $ACC0 + 09a2 02d5 retz + 09a3 04fe addis $ACC0, #0xfe + 09a4 1f1e mrr $AX0.L, $AC0.M + 09a5 191e lrri $AC0.M, @$AR0 + 09a6 0291 09ac js 0x09ac + 09a8 191a lrri $AX0.H, @$AR0 + 09a9 0058 loop $AX0.L + 09aa 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 09ab 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 09ac 1b7e srri @$AR3, $AC0.M + 09ad 02df ret + +// decode audio? + 09ae 8100 clr $ACC0 + 09af 1f5e mrr $AX0.H, $AC0.M + 09b0 00d8 0402 lr $AX0.L, @0x0402 + 09b2 00dc 0430 lr $AC0.L, @0x0430 + 09b4 0080 0520 lri $AR0, #0x0520 + 09b6 00df 0480 lr $AC1.M, @0x0480 // sound format??? + 09b8 1501 lsl $ACC1, #1 + 09b9 0340 007e andi $AC1.M, #0x007e + 09bb 0300 09c3 addi $AC1.M, #0x09c3 + 09bd 1c5f mrr $AR2, $AC1.M + 09be 175f callr $AR2 // jump to one of the functions + 09bf 00fc 0430 sr @0x0430, $AC0.L + 09c1 029f 0336 jmp 0x0336 // return to SyncFrame func + // jump table + 09c3 029f 09e4 jmp 0x09e4 // 0x0: + 09c5 029f 0a1f jmp 0x0a1f // 0x1: + 09c7 029f 0a07 jmp 0x0a07 // 0x2: + 09c9 029f 09f4 jmp 0x09f4 // 0x3: + 09cb 029f 0a2d jmp 0x0a2d // 0x4: + 09cd 029f 09e3 jmp 0x09e3 // 0x5: dummy + 09cf 029f 0a4b jmp 0x0a4b // 0x6: + 09d1 029f 0a4e jmp 0x0a4e // 0x7: + 09d3 029f 09e3 jmp 0x09e3 // 0x8: dummy + 09d5 029f 09e3 jmp 0x09e3 // 0x9: dummy + 09d7 029f 0a6c jmp 0x0a6c // 0xA: + 09d9 029f 0a25 jmp 0x0a25 // 0xB: + 09db 029f 0a29 jmp 0x0a29 // 0xC: + 09dd 029f 09e3 jmp 0x09e3 // 0xD: dummy + 09df 029f 09e3 jmp 0x09e3 // 0xE: dummy + 09e1 029f 09e3 jmp 0x09e3 // 0xF: dummy + 09e3 02df ret // direct return for dummy funcs + +// Func_00() + 09e4 1401 lsl $ACC0, #1 + 09e5 009b c000 lri $AX1.H, #0xc000 + 09e7 0099 4000 lri $AX1.L, #0x4000 + 09e9 1150 09f1 bloopi #0x50, 0x09f1 + 09eb 02c0 0001 andcf $AC0.M, #0x0001 + 09ed 027c iflnz + 09ee 1b1b srri @$AR0, $AX1.H + 09ef 027d iflz + 09f0 1b19 srri @$AR0, $AX1.L + 09f1 4800 addax $ACC0, $AX0.L + 09f2 147f lsr $ACC0, #-1 + 09f3 02df ret + 09f4 1402 lsl $ACC0, #2 + 09f5 8900 clr $ACC1 + 09f6 1fb8 mrr $AC1.L, $AX0.L + 09f7 1501 lsl $ACC1, #1 + 09f8 009b c000 lri $AX1.H, #0xc000 + 09fa 0099 4000 lri $AX1.L, #0x4000 + 09fc 1150 0a04 bloopi #0x50, 0x0a04 + 09fe 02c0 0003 andcf $AC0.M, #0x0003 + 0a00 027c iflnz + 0a01 1b1b srri @$AR0, $AX1.H + 0a02 027d iflz + 0a03 1b19 srri @$AR0, $AX1.L + 0a04 4c00 add $ACC0, $AC1.L + 0a05 147e lsr $ACC0, #-2 + 0a06 02df ret + 0a07 1401 lsl $ACC0, #1 + 0a08 0081 0ca0 lri $AR1, #0x0ca0 + 0a0a 009b c000 lri $AX1.H, #0xc000 + 0a0c 0099 4000 lri $AX1.L, #0x4000 + 0a0e 8900 clr $ACC1 + 0a0f 0082 0000 lri $AR2, #0x0000 + 0a11 1150 0a1c bloopi #0x50, 0x0a1c + 0a13 02c0 0001 andcf $AC0.M, #0x0001 + 0a15 027c iflnz + 0a16 1b1b srri @$AR0, $AX1.H + 0a17 027d iflz + 0a18 1b19 srri @$AR0, $AX1.L + 0a19 183d lrr $AC1.L, @$AR1 + 0a1a 4900 addax $ACC1, $AX0.L + 0a1b 1fe2 mrr $AC1.M, $AR2 + 0a1c 4c39 add's $ACC0, $AC1.L : @$AR1, $AC1.M + 0a1d 147f lsr $ACC0, #-1 + 0a1e 02df ret + 0a1f 8900 clr $ACC1 + 0a20 1fb8 mrr $AC1.L, $AX0.L + 0a21 157f lsr $ACC1, #-1 + 0a22 1050 loopi #0x50 + 0a23 4c20 add's $ACC0, $AC1.L : @$AR0, $AC0.L + 0a24 02df ret + 0a25 0082 0180 lri $AR2, #0x0180 + 0a27 029f 0a2f jmp 0x0a2f + 0a29 0082 01c0 lri $AR2, #0x01c0 + 0a2b 029f 0a2f jmp 0x0a2f + 0a2d 0082 0140 lri $AR2, #0x0140 + 0a2f 008a 003f lri $WR2, #0x003f + 0a31 0086 0000 lri $IX2, #0x0000 + 0a33 1406 lsl $ACC0, #6 + 0a34 8900 clr $ACC1 + 0a35 1fb8 mrr $AC1.L, $AX0.L + 0a36 1505 lsl $ACC1, #5 + 0a37 009b 003f lri $AX1.H, #0x003f + 0a39 009a 0000 lri $AX0.H, #0x0000 + 0a3b 3600 andr $AC0.M, $AX1.H + 0a3c 1cde mrr $IX2, $AC0.M + 0a3d 001a addarn $AR2, $IX2 + 0a3e 3400 andr $AC0.M, $AX0.H + 0a3f 1150 0a45 bloopi #0x50, 0x0a45 + 0a41 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 + 0a42 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a43 1cde mrr $IX2, $AC0.M + 0a44 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a45 1b19 srri @$AR0, $AX1.L + 0a46 1fc2 mrr $AC0.M, $AR2 + 0a47 147a lsr $ACC0, #-6 + 0a48 008a ffff lri $WR2, #0xffff + 0a4a 02df ret + 0a4b 1050 loopi #0x50 + 0a4c 1b18 srri @$AR0, $AX0.L + 0a4d 02df ret + 0a4e 0082 0100 lri $AR2, #0x0100 + 0a50 008a 003f lri $WR2, #0x003f + 0a52 0086 0000 lri $IX2, #0x0000 + 0a54 1406 lsl $ACC0, #6 + 0a55 8900 clr $ACC1 + 0a56 1fb8 mrr $AC1.L, $AX0.L + 0a57 1505 lsl $ACC1, #5 + 0a58 009b 003f lri $AX1.H, #0x003f + 0a5a 009a 0000 lri $AX0.H, #0x0000 + 0a5c 3600 andr $AC0.M, $AX1.H + 0a5d 1cde mrr $IX2, $AC0.M + 0a5e 001a addarn $AR2, $IX2 + 0a5f 3400 andr $AC0.M, $AX0.H + 0a60 1150 0a66 bloopi #0x50, 0x0a66 + 0a62 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 + 0a63 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a64 1cde mrr $IX2, $AC0.M + 0a65 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a66 1b19 srri @$AR0, $AX1.L + 0a67 1fc2 mrr $AC0.M, $AR2 + 0a68 147a lsr $ACC0, #-6 + 0a69 008a ffff lri $WR2, #0xffff + 0a6b 02df ret + +// + 0a6c 0082 0100 lri $AR2, #0x0100 + 0a6e 008a 003f lri $WR2, #0x003f + 0a70 0086 0000 lri $IX2, #0x0000 + 0a72 0081 0ca0 lri $AR1, #0x0ca0 + 0a74 1406 lsl $ACC0, #6 + 0a75 8900 clr $ACC1 + 0a76 1fb8 mrr $AC1.L, $AX0.L + 0a77 1505 lsl $ACC1, #5 + 0a78 009b 003f lri $AX1.H, #0x003f + 0a7a 009a 0000 lri $AX0.H, #0x0000 + 0a7c 3600 andr $AC0.M, $AX1.H + 0a7d 1cde mrr $IX2, $AC0.M + 0a7e 001a addarn $AR2, $IX2 + 0a7f 3400 andr $AC0.M, $AX0.H + + 0a80 1150 0a8b bloopi #0x50, 0x0a8b + 0a82 1939 lrri $AX1.L, @$AR1 + 0a83 a000 mulx $AX0.L, $AX1.L + 0a84 140a lsl $ACC0, #10 + 0a85 4e00 addp $ACC0 + 0a86 1476 lsr $ACC0, #-10 + 0a87 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 + 0a88 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a89 1cde mrr $IX2, $AC0.M + 0a8a 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a8b 1b19 srri @$AR0, $AX1.L + + 0a8c 1fc2 mrr $AC0.M, $AR2 + 0a8d 147a lsr $ACC0, #-6 + 0a8e 008a ffff lri $WR2, #0xffff + 0a90 02df ret + +// + 0a91 0080 01be lri $AR0, #0x01be + 0a93 1918 lrri $AX0.L, @$AR0 + 0a94 191a lrri $AX0.H, @$AR0 + 0a95 0080 0180 lri $AR0, #0x0180 + 0a97 0083 0180 lri $AR3, #0x0180 + 0a99 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0a9a 1ffe mrr $AC1.M, $AC0.M + 0a9b 1120 0aa2 bloopi #0x20, 0x0aa2 + 0a9d 7c00 neg $ACC0 + 0a9e d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0a9f 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0aa0 c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 + 0aa1 1501 lsl $ACC1, #1 + 0aa2 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M + 0aa3 0080 01fe lri $AR0, #0x01fe + 0aa5 191a lrri $AX0.H, @$AR0 + 0aa6 1918 lrri $AX0.L, @$AR0 + 0aa7 0080 01c0 lri $AR0, #0x01c0 + 0aa9 0083 01c0 lri $AR3, #0x01c0 + 0aab 1ff8 mrr $AC1.M, $AX0.L + 0aac 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0aad f800 addpaxz $ACC0, $AX0.H + 0aae 0240 01ff andi $AC0.M, #0x01ff + 0ab0 0260 2000 ori $AC0.M, #0x2000 + 0ab2 02bf 0ab5 call 0x0ab5 + 0ab4 02df ret + 0ab5 b900 tst $ACC1 + 0ab6 0272 ifg + 0ab7 7c00 neg $ACC0 + 0ab8 1f7e mrr $AX1.H, $AC0.M + 0ab9 4700 addr $ACC1, $AX1.H + 0aba 1110 0abf bloopi #0x10, 0x0abf + 0abc 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0abd 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0abe 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0abf 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0ac0 02df ret + +// + 0ac1 02bf 0b2e call 0x0b2e + 0ac3 2201 lrs $AX0.H, @0x0001 + 0ac4 8600 tstaxh $AX0.H + 0ac5 0294 0ad6 jnz 0x0ad6 + 0ac7 2204 lrs $AX0.H, @0x0004 + 0ac8 8600 tstaxh $AX0.H + 0ac9 02b4 0b1d callne 0x0b1d + 0acb 8100 clr $ACC0 + 0acc 2605 lrs $AC0.M, @0x0005 + 0acd b100 tst $ACC0 + 0ace 0295 0ae3 jz 0x0ae3 + 0ad0 8100 clr $ACC0 + 0ad1 2e05 srs @0x0005, $AC0.M + 0ad2 2281 lrs $AX0.H, @0xff81 + 0ad3 8600 tstaxh $AX0.H + 0ad4 0294 0add jnz 0x0add + 0ad6 8100 clr $ACC0 + 0ad7 005f loop $AC1.M + 0ad8 1b7e srri @$AR3, $AC0.M + 0ad9 7400 incm $AC0.M + 0ada 2e01 srs @0x0001, $AC0.M + 0adb 029f 0b16 jmp 0x0b16 + 0add 2688 lrs $AC0.M, @0xff88 + 0ade 2489 lrs $AC0.L, @0xff89 + 0adf 2e34 srs @0x0034, $AC0.M + 0ae0 2c35 srs @0x0035, $AC0.L + 0ae1 02bf 0b1d call 0x0b1d + 0ae3 00ff 0360 sr @0x0360, $AC1.M + 0ae5 2638 lrs $AC0.M, @0x0038 + 0ae6 2439 lrs $AC0.L, @0x0039 + 0ae7 02bf 068d call 0x068d + 0ae9 00df 0360 lr $AC1.M, @0x0360 + 0aeb 8100 clr $ACC0 + 0aec 263a lrs $AC0.M, @0x003a + 0aed b100 tst $ACC0 + 0aee 0294 0afd jnz 0x0afd + 0af0 263b lrs $AC0.M, @0x003b + 0af1 5c00 sub $ACC0, $AC1.L + 0af2 0290 0afd jns 0x0afd + 0af4 223b lrs $AX0.H, @0x003b + 0af5 02bf 06aa call 0x06aa + 0af7 5500 subr $ACC1, $AX0.H + 0af8 0a01 lris $AX0.H, #0x01 + 0af9 00fa 0405 sr @0x0405, $AX0.H + 0afb 029f 0ad0 jmp 0x0ad0 + 0afd 1f5f mrr $AX0.H, $AC1.M + 0afe 02bf 06aa call 0x06aa + 0b00 00fa 0362 sr @0x0362, $AX0.H + 0b02 8100 clr $ACC0 + 0b03 263a lrs $AC0.M, @0x003a + 0b04 243b lrs $AC0.L, @0x003b + 0b05 1570 lsr $ACC1, #-16 + 0b06 0a01 lris $AX0.H, #0x01 + 0b07 0081 0405 lri $AR1, #0x0405 + 0b09 5c00 sub $ACC0, $AC1.L + 0b0a b100 tst $ACC0 + 0b0b 0275 ifz + 0b0c 1a3a srr @$AR1, $AX0.H + 0b0d 2e3a srs @0x003a, $AC0.M + 0b0e 2c3b srs @0x003b, $AC0.L + 0b0f 2638 lrs $AC0.M, @0x0038 + 0b10 2439 lrs $AC0.L, @0x0039 + 0b11 00d8 0362 lr $AX0.L, @0x0362 + 0b13 7000 addaxl $ACC0, $AX0.L + 0b14 2c39 srs @0x0039, $AC0.L + 0b15 2e38 srs @0x0038, $AC0.M + 0b16 0092 00ff lri $CR, #0x00ff + 0b18 029f 032e jmp 0x032e + 0b1a 8100 clr $ACC0 + 0b1b 2e34 srs @0x0034, $AC0.M + 0b1c 2e35 srs @0x0035, $AC0.M + 0b1d 2334 lrs $AX1.H, @0x0034 + 0b1e 2135 lrs $AX1.L, @0x0035 + 0b1f 268a lrs $AC0.M, @0xff8a + 0b20 248b lrs $AC0.L, @0xff8b + 0b21 5a00 subax $ACC0, $AX1.L + 0b22 2e3a srs @0x003a, $AC0.M + 0b23 2c3b srs @0x003b, $AC0.L + 0b24 2634 lrs $AC0.M, @0x0034 + 0b25 2435 lrs $AC0.L, @0x0035 + 0b26 238c lrs $AX1.H, @0xff8c + 0b27 218d lrs $AX1.L, @0xff8d + 0b28 4a00 addax $ACC0, $AX1.L + 0b29 2e38 srs @0x0038, $AC0.M + 0b2a 2c39 srs @0x0039, $AC0.L + 0b2b 8100 clr $ACC0 + 0b2c 2e05 srs @0x0005, $AC0.M + 0b2d 02df ret + +// + 0b2e 0092 0004 lri $CR, #0x0004 + 0b30 2002 lrs $AX0.L, @0x0002 + 0b31 8100 clr $ACC0 + 0b32 8900 clr $ACC1 + 0b33 2430 lrs $AC0.L, @0x0030 + 0b34 8d00 set15 + 0b35 0950 lris $AX1.L, #0x50 + 0b36 a000 mulx $AX0.L, $AX1.L + 0b37 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0b38 1404 lsl $ACC0, #4 // ACC0 = (Mem[0x0002] * 80) << 4; + 0b39 8c00 clr15 + 0b3a 1ffe mrr $AC1.M, $AC0.M // AC1.M = AC0.M; + 0b3b 0083 0580 lri $AR3, #0x0580 + 0b3d 02df ret + +// process sound format 0x10 (smg) +// read data stored at 0x0000 by DsetupTable +// stores the output to 0x0580 + 0b3e 02bf 0b2e call 0x0b2e // prepare regs + 0b40 2201 lrs $AX0.H, @0x0001 + 0b41 8600 tstaxh $AX0.H + 0b42 0294 0b53 jnz 0x0b53 + 0b44 2204 lrs $AX0.H, @0x0004 + 0b45 8600 tstaxh $AX0.H + 0b46 02b4 0b9d callne 0x0b9d + 0b48 8100 clr $ACC0 + 0b49 2605 lrs $AC0.M, @0x0005 + 0b4a b100 tst $ACC0 + 0b4b 0295 0b60 jz 0x0b60 + 0b4d 8100 clr $ACC0 + 0b4e 2e05 srs @0x0005, $AC0.M + 0b4f 2281 lrs $AX0.H, @0xff81 + 0b50 8600 tstaxh $AX0.H + 0b51 0294 0b5a jnz 0x0b5a + + 0b53 8100 clr $ACC0 + + 0b54 005f loop $AC1.M + 0b55 1b7e srri @$AR3, $AC0.M // store zero to output + + 0b56 7400 incm $AC0.M + 0b57 2e01 srs @0x0001, $AC0.M + 0b58 029f 0b96 jmp 0x0b96 + + 0b5a 2688 lrs $AC0.M, @0xff88 + 0b5b 2489 lrs $AC0.L, @0xff89 + 0b5c 2e34 srs @0x0034, $AC0.M + 0b5d 2c35 srs @0x0035, $AC0.L + 0b5e 02bf 0b9d call 0x0b9d + + 0b60 00ff 0360 sr @0x0360, $AC1.M + 0b62 2638 lrs $AC0.M, @0x0038 + 0b63 2439 lrs $AC0.L, @0x0039 + // DMA transfer from main memory address Dword[0x0038] to 0x0580 + // Dword[0x0038] = Dword[0xFF8C] + 0b64 02bf 068d call 0x068d + 0b66 02bf 06a4 call 0x06a4 + 0b68 00df 0360 lr $AC1.M, @0x0360 + 0b6a 8100 clr $ACC0 + 0b6b 263a lrs $AC0.M, @0x003a + 0b6c b100 tst $ACC0 + 0b6d 0294 0b7c jnz 0x0b7c + 0b6f 263b lrs $AC0.M, @0x003b + 0b70 5c00 sub $ACC0, $AC1.L + 0b71 0290 0b7c jns 0x0b7c + 0b73 223b lrs $AX0.H, @0x003b + 0b74 02bf 066f call 0x066f // dma? + 0b76 5500 subr $ACC1, $AX0.H + 0b77 0a01 lris $AX0.H, #0x01 + 0b78 00fa 0405 sr @0x0405, $AX0.H + 0b7a 029f 0b4d jmp 0x0b4d + 0b7c 1f5f mrr $AX0.H, $AC1.M + 0b7d 02bf 066f call 0x066f // dma? + 0b7f 00fa 0362 sr @0x0362, $AX0.H + 0b81 8100 clr $ACC0 + 0b82 263a lrs $AC0.M, @0x003a + 0b83 243b lrs $AC0.L, @0x003b + 0b84 1570 lsr $ACC1, #-16 + 0b85 0a01 lris $AX0.H, #0x01 + 0b86 0081 0405 lri $AR1, #0x0405 + 0b88 5c00 sub $ACC0, $AC1.L + 0b89 b100 tst $ACC0 + 0b8a 0275 ifz + 0b8b 1a3a srr @$AR1, $AX0.H + 0b8c 2e3a srs @0x003a, $AC0.M + 0b8d 2c3b srs @0x003b, $AC0.L + 0b8e 2638 lrs $AC0.M, @0x0038 + 0b8f 2439 lrs $AC0.L, @0x0039 + 0b90 00d8 0362 lr $AX0.L, @0x0362 + 0b92 7000 addaxl $ACC0, $AX0.L + 0b93 7000 addaxl $ACC0, $AX0.L + 0b94 2c39 srs @0x0039, $AC0.L + 0b95 2e38 srs @0x0038, $AC0.M + 0b96 0092 00ff lri $CR, #0x00ff + 0b98 029f 032e jmp 0x032e + +// + 0b9a 8100 clr $ACC0 + + 0b9b 2e34 srs @0x0034, $AC0.M + 0b9c 2e35 srs @0x0035, $AC0.M + + 0b9d 2334 lrs $AX1.H, @0x0034 + 0b9e 2135 lrs $AX1.L, @0x0035 + 0b9f 268a lrs $AC0.M, @0xff8a + 0ba0 248b lrs $AC0.L, @0xff8b + 0ba1 5a00 subax $ACC0, $AX1.L + 0ba2 2e3a srs @0x003a, $AC0.M + 0ba3 2c3b srs @0x003b, $AC0.L + 0ba4 2634 lrs $AC0.M, @0x0034 + 0ba5 2435 lrs $AC0.L, @0x0035 + 0ba6 1401 lsl $ACC0, #1 + 0ba7 238c lrs $AX1.H, @0xff8c + 0ba8 218d lrs $AX1.L, @0xff8d + 0ba9 4a00 addax $ACC0, $AX1.L + 0baa 2e38 srs @0x0038, $AC0.M + 0bab 2c39 srs @0x0039, $AC0.L + 0bac 8100 clr $ACC0 + 0bad 2e05 srs @0x0005, $AC0.M + 0bae 02df ret + +// + 0baf 8900 clr $ACC1 + 0bb0 0f50 lris $AC1.M, #0x50 + 0bb1 0083 0520 lri $AR3, #0x0520 + 0bb3 02bf 0bc8 call 0x0bc8 + 0bb5 029f 0336 jmp 0x0336 + 0bb7 00d8 0402 lr $AX0.L, @0x0402 + 0bb9 8100 clr $ACC0 + 0bba 8900 clr $ACC1 + 0bbb 00dc 0430 lr $AC0.L, @0x0430 + 0bbd 0a50 lris $AX0.H, #0x50 + 0bbe 9000 mul $AX0.L, $AX0.H + 0bbf 9400 mulac $AX0.L, $AX0.H, $ACC0 + 0bc0 1404 lsl $ACC0, #4 + 0bc1 1ffe mrr $AC1.M, $AC0.M + 0bc2 0083 0580 lri $AR3, #0x0580 + 0bc4 02bf 0bc8 call 0x0bc8 + 0bc6 029f 032e jmp 0x032e + +// + 0bc8 0092 0004 lri $CR, #0x0004 + 0bca 8100 clr $ACC0 + 0bcb 263a lrs $AC0.M, @0x003a + 0bcc 243b lrs $AC0.L, @0x003b + 0bcd 1f1f mrr $AX0.L, $AC1.M + 0bce 0a00 lris $AX0.H, #0x00 + 0bcf 5800 subax $ACC0, $AX0.L + 0bd0 0292 0be6 jg 0x0be6 + 0bd2 8900 clr $ACC1 + 0bd3 00c0 043b lr $AR0, @0x043b + 0bd5 02bf 0c0b call 0x0c0b + 0bd7 8100 clr $ACC0 + 0bd8 1fd8 mrr $AC0.M, $AX0.L + 0bd9 223b lrs $AX0.H, @0x003b + 0bda 5400 subr $ACC0, $AX0.H + 0bdb 0007 dar $AR3 + 0bdc 1979 lrri $AX1.L, @$AR3 + 0bdd 005e loop $AC0.M + 0bde 1b79 srri @$AR3, $AX1.L + 0bdf 0f01 lris $AC1.M, #0x01 + 0be0 2f01 srs @0x0001, $AC1.M + 0be1 8900 clr $ACC1 + 0be2 2f3b srs @0x003b, $AC1.M + 0be3 0092 00ff lri $CR, #0x00ff + 0be5 02df ret + +// + 0be6 2e3a srs @0x003a, $AC0.M + 0be7 2c3b srs @0x003b, $AC0.L + 0be8 8100 clr $ACC0 + 0be9 8900 clr $ACC1 + 0bea 268a lrs $AC0.M, @0xff8a + 0beb 2734 lrs $AC1.M, @0x0034 + 0bec 5c00 sub $ACC0, $AC1.L + 0bed 2e36 srs @0x0036, $AC0.M + 0bee 5000 subr $ACC0, $AX0.L + 0bef 0290 0c05 jns 0x0c05 + 0bf1 00c0 0436 lr $AR0, @0x0436 + 0bf3 02bf 0c0b call 0x0c0b + 0bf5 8100 clr $ACC0 + 0bf6 1fd8 mrr $AC0.M, $AX0.L + 0bf7 2236 lrs $AX0.H, @0x0036 + 0bf8 5400 subr $ACC0, $AX0.H + 0bf9 1c1e mrr $AR0, $AC0.M + 0bfa 8100 clr $ACC0 + 0bfb 2e34 srs @0x0034, $AC0.M + 0bfc 2688 lrs $AC0.M, @0xff88 + 0bfd 2489 lrs $AC0.L, @0xff89 + 0bfe 2e8c srs @0xff8c, $AC0.M + 0bff 2c8d srs @0xff8d, $AC0.L + 0c00 02bf 0c0b call 0x0c0b + 0c02 0092 00ff lri $CR, #0x00ff + 0c04 02df ret + +// + 0c05 1c18 mrr $AR0, $AX0.L + 0c06 02bf 0c0b call 0x0c0b + 0c08 0092 00ff lri $CR, #0x00ff + 0c0a 02df ret + +// + 0c0b 8100 clr $ACC0 + 0c0c 1fc0 mrr $AC0.M, $AR0 + 0c0d b100 tst $ACC0 + 0c0e 02d5 retz + 0c0f 8900 clr $ACC1 + 0c10 2734 lrs $AC1.M, @0x0034 + 0c11 0340 0001 andi $AC1.M, #0x0001 + 0c13 0b00 lris $AX1.H, #0x00 + 0c14 1f3f mrr $AX1.L, $AC1.M + 0c15 268c lrs $AC0.M, @0xff8c + 0c16 248d lrs $AC0.L, @0xff8d + 0c17 8900 clr $ACC1 + 0c18 2534 lrs $AC1.L, @0x0034 + 0c19 1501 lsl $ACC1, #1 + 0c1a 4c00 add $ACC0, $AC1.L + 0c1b 5a00 subax $ACC0, $AX1.L + 0c1c 5a00 subax $ACC0, $AX1.L + 0c1d 1c20 mrr $AR1, $AR0 + 0c1e 1fe0 mrr $AC1.M, $AR0 + 0c1f 0502 addis $ACC1, #0x02 + 0c20 1c1f mrr $AR0, $AC1.M + 0c21 009f 0b00 lri $AC1.M, #0x0b00 + 0c23 0092 00ff lri $CR, #0x00ff + 0c25 02bf 05e8 call 0x05e8 + 0c27 0092 0004 lri $CR, #0x0004 + 0c29 2734 lrs $AC1.M, @0x0034 + 0c2a 1f61 mrr $AX1.H, $AR1 + 0c2b 4700 addr $ACC1, $AX1.H + 0c2c 2f34 srs @0x0034, $AC1.M + 0c2d 0080 0b00 lri $AR0, #0x0b00 + 0c2f 8900 clr $ACC1 + 0c30 1ff9 mrr $AC1.M, $AX1.L + 0c31 b900 tst $ACC1 + 0c32 0274 ifnz + 0c33 0008 iar $AR0 + 0c34 8900 clr $ACC1 + 0c35 1fe1 mrr $AC1.M, $AR1 + 0c36 191e lrri $AC0.M, @$AR0 + 0c37 0701 cmpis $ACC1, #0x01 + 0c38 0293 0c41 jle 0x0c41 + 0c3a 191a lrri $AX0.H, @$AR0 + 0c3b 05fe addis $ACC1, #0xfe + 0c3c 005f loop $AC1.M + 0c3d 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c3e 1b7e srri @$AR3, $AC0.M + 0c3f 1b7a srri @$AR3, $AX0.H + 0c40 02df ret + +// uh? + 0c41 1b7e srri @$AR3, $AC0.M + 0c42 02df ret + +// ??? +// AR0 = some count??? address??? +// AC0.M = +// AR1 = + 0c43 0083 03e8 lri $AR3, #0x03e8 + 0c45 191e lrri $AC0.M, @$AR0 + 0c46 191a lrri $AX0.H, @$AR0 + 0c47 1006 loopi #0x06 + 0c48 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c49 1b7e srri @$AR3, $AC0.M + 0c4a 1b7a srri @$AR3, $AX0.H + 0c4b 0080 03e8 lri $AR0, #0x03e8 + 0c4d 8a00 m2 + 0c4e 0088 0007 lri $WR0, #0x0007 + + 0c50 1150 0c5d bloopi #0x50, 0x0c5d + 0c52 1c61 mrr $AR3, $AR1 + 0c53 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0c54 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c55 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c56 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c57 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c58 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c59 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c5a f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c5b f200 madd $AX0.L, $AX0.H + 0c5c fe00 movpz $ACC0 + 0c5d 1b3e srri @$AR1, $AC0.M + + 0c5e 0088 ffff lri $WR0, #0xffff + 0c60 8b00 m0 + 0c61 02df ret + +// + 0c62 8a00 m2 + 0c63 05fe addis $ACC1, #0xfe + 0c64 0083 03e8 lri $AR3, #0x03e8 + 0c66 191e lrri $AC0.M, @$AR0 + 0c67 191a lrri $AX0.H, @$AR0 + 0c68 005f loop $AC1.M + 0c69 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c6a 1b7e srri @$AR3, $AC0.M + 0c6b 1b7a srri @$AR3, $AX0.H + 0c6c 0080 03e8 lri $AR0, #0x03e8 + 0c6e 0501 addis $ACC1, #0x01 + 0c6f 1d1f mrr $WR0, $AC1.M + 0c70 1150 0c78 bloopi #0x50, 0x0c78 + 0c72 1c61 mrr $AR3, $AR1 + 0c73 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0c74 005f loop $AC1.M + 0c75 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c76 f200 madd $AX0.L, $AX0.H + 0c77 fe00 movpz $ACC0 + 0c78 1b3e srri @$AR1, $AC0.M + 0c79 0088 ffff lri $WR0, #0xffff + 0c7b 8b00 m0 + 0c7c 02df ret + 0c7d 0083 03e8 lri $AR3, #0x03e8 + 0c7f 191e lrri $AC0.M, @$AR0 + 0c80 191a lrri $AX0.H, @$AR0 + 0c81 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c82 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c83 1b7e srri @$AR3, $AC0.M + 0c84 1b7a srri @$AR3, $AX0.H + 0c85 0080 03e8 lri $AR0, #0x03e8 + 0c87 0088 0003 lri $WR0, #0x0003 + 0c89 0085 0000 lri $IX1, #0x0000 + 0c8b 0087 0000 lri $IX3, #0x0000 + 0c8d 1fc2 mrr $AC0.M, $AR2 + 0c8e 195b lrri $AX1.H, @$AR2 + 0c8f 1959 lrri $AX1.L, @$AR2 + 0c90 195f lrri $AC1.M, @$AR2 + 0c91 195a lrri $AX0.H, @$AR2 + 0c92 1c5e mrr $AR2, $AC0.M + 0c93 1fda mrr $AC0.M, $AX0.H + 0c94 1c61 mrr $AR3, $AR1 + 0c95 8a00 m2 + 0c96 8f00 set40 + 0c97 191a lrri $AX0.H, @$AR0 + 0c98 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0c99 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0c9a ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0c9b e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0c9c b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0c9d 1127 0ca8 bloopi #0x27, 0x0ca8 + 0c9f e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0ca0 197e lrri $AC0.M, @$AR3 + 0ca1 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0ca2 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0ca3 bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 0ca4 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0ca5 197f lrri $AC1.M, @$AR3 + 0ca6 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0ca7 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0ca8 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0ca9 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0caa 197e lrri $AC0.M, @$AR3 + 0cab e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0cac eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0cad bf00 mulxmv $AX0.H, $AX1.H, $ACC1 + 0cae 1bff srrn @$AR3, $AC1.M + 0caf 197f lrri $AC1.M, @$AR3 + 0cb0 8e00 set16 + 0cb1 8b00 m0 + 0cb2 0088 ffff lri $WR0, #0xffff + 0cb4 1b5b srri @$AR2, $AX1.H + 0cb5 1b59 srri @$AR2, $AX1.L + 0cb6 1b5f srri @$AR2, $AC1.M + 0cb7 1b5e srri @$AR2, $AC0.M + 0cb8 02df ret + 0cb9 0083 03e8 lri $AR3, #0x03e8 + 0cbb 191e lrri $AC0.M, @$AR0 + 0cbc 191a lrri $AX0.H, @$AR0 + 0cbd 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cbe 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cbf 1b7e srri @$AR3, $AC0.M + 0cc0 1b7a srri @$AR3, $AX0.H + 0cc1 0080 03e8 lri $AR0, #0x03e8 + 0cc3 0088 0003 lri $WR0, #0x0003 + 0cc5 0085 0000 lri $IX1, #0x0000 + 0cc7 0087 0000 lri $IX3, #0x0000 + 0cc9 1fc2 mrr $AC0.M, $AR2 + 0cca 195b lrri $AX1.H, @$AR2 + 0ccb 1959 lrri $AX1.L, @$AR2 + 0ccc 195f lrri $AC1.M, @$AR2 + 0ccd 195a lrri $AX0.H, @$AR2 + 0cce 1c5e mrr $AR2, $AC0.M + 0ccf 1fda mrr $AC0.M, $AX0.H + 0cd0 1c61 mrr $AR3, $AR1 + 0cd1 8a00 m2 + 0cd2 8f00 set40 + 0cd3 191a lrri $AX0.H, @$AR0 + 0cd4 b800 mulx $AX0.H, $AX1.H + 0cd5 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0cd6 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0cd7 ea00 maddc $AC1.M, $AX1.L + 0cd8 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0cd9 e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0cda ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0cdb b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0cdc 1127 0ced bloopi #0x27, 0x0ced + 0cde e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0cdf e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0ce0 197e lrri $AC0.M, @$AR3 + 0ce1 e800 maddc $AC0.M, $AX1.L + 0ce2 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0ce3 ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0ce4 eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0ce5 bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0ce6 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0ce7 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0ce8 197f lrri $AC1.M, @$AR3 + 0ce9 ea00 maddc $AC1.M, $AX1.L + 0cea ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0ceb e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0cec ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0ced b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0cee e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0cef e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0cf0 197e lrri $AC0.M, @$AR3 + 0cf1 e800 maddc $AC0.M, $AX1.L + 0cf2 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0cf3 ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0cf4 eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0cf5 bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0cf6 1bff srrn @$AR3, $AC1.M + 0cf7 197f lrri $AC1.M, @$AR3 + 0cf8 8e00 set16 + 0cf9 8b00 m0 + 0cfa 0088 ffff lri $WR0, #0xffff + 0cfc 1b5b srri @$AR2, $AX1.H + 0cfd 1b59 srri @$AR2, $AX1.L + 0cfe 1b5f srri @$AR2, $AC1.M + 0cff 1b5e srri @$AR2, $AC0.M + 0d00 02df ret + +// stores an offset table??? called by DsetupTable +// Mem[0x03F0] = 0x0000; +// Mem[0x03F1] = 0x0096; +// Mem[0x03F2] = 0x00FF; +// Mem[0x03F3] = 0x0030; +// Mem[0x03F4] = 0x0010; +// Mem[0x03F5] = 0x7F00; +// Mem[0x03F6] = 0x0000; +// Mem[0x03F7] = 0x0100; + 0d01 0eff lris $AC0.M, #0xff + 0d02 00fe 03f2 sr @0x03f2, $AC0.M + 0d04 8100 clr $ACC0 + 0d05 00fe 03f0 sr @0x03f0, $AC0.M + 0d07 00fe 03f6 sr @0x03f6, $AC0.M + 0d09 009e 0100 lri $AC0.M, #0x0100 + 0d0b 00fe 03f7 sr @0x03f7, $AC0.M + 0d0d 00da 03f7 lr $AX0.H, @0x03f7 + 0d0f 009e 8000 lri $AC0.M, #0x8000 + 0d11 5400 subr $ACC0, $AX0.H + 0d12 00fe 03f5 sr @0x03f5, $AC0.M + 0d14 0e30 lris $AC0.M, #0x30 + 0d15 00fe 03f3 sr @0x03f3, $AC0.M + 0d17 0e10 lris $AC0.M, #0x10 + 0d18 00fe 03f4 sr @0x03f4, $AC0.M + 0d1a 009e 0096 lri $AC0.M, #0x0096 + 0d1c 00fe 03f1 sr @0x03f1, $AC0.M + 0d1e 02df ret + +// + 0d1f 0080 0a00 lri $AR0, #0x0a00 + 0d21 8100 clr $ACC0 + 0d22 00de 03f0 lr $AC0.M, @0x03f0 + 0d24 8900 clr $ACC1 + 0d25 b100 tst $ACC0 + 0d26 0275 ifz + 0d27 0550 addis $ACC1, #0x50 + 0d28 00ff 03f0 sr @0x03f0, $AC1.M + 0d2a 0200 0a60 addi $AC0.M, #0x0a60 + 0d2c 1c7e mrr $AR3, $AC0.M + 0d2d 0f4e lris $AC1.M, #0x4e + 0d2e 02bf 00e5 call 0x00e5 + 0d30 02df ret + +// + 0d31 00de 03f1 lr $AC0.M, @0x03f1 + 0d33 0200 0a60 addi $AC0.M, #0x0a60 + 0d35 1c7e mrr $AR3, $AC0.M + 0d36 8100 clr $ACC0 + 0d37 8900 clr $ACC1 + 0d38 009f 00a0 lri $AC1.M, #0x00a0 + 0d3a 00de 03f1 lr $AC0.M, @0x03f1 + 0d3c 5d00 sub $ACC1, $AC0.L + 0d3d 0e50 lris $AC0.M, #0x50 + 0d3e 0750 cmpis $ACC1, #0x50 + 0d3f 0270 ifns + 0d40 5d00 sub $ACC1, $AC0.L + 0d41 00da 03f2 lr $AX0.H, @0x03f2 + 0d43 8600 tstaxh $AX0.H + 0d44 0290 0d62 jns 0x0d62 + 0d46 00de 03f3 lr $AC0.M, @0x03f3 + 0d48 5c00 sub $ACC0, $AC1.L + 0d49 0293 0d4d jle 0x0d4d + 0d4b 029f 0d67 jmp 0x0d67 + 0d4d 00db 03f7 lr $AX1.H, @0x03f7 + 0d4f 009e 8000 lri $AC0.M, #0x8000 + 0d51 4600 addr $ACC0, $AX1.H + 0d52 029f 0d59 jmp 0x0d59 + 0d54 00db 03f7 lr $AX1.H, @0x03f7 + 0d56 009e 8000 lri $AC0.M, #0x8000 + 0d58 5600 subr $ACC0, $AX1.H + 0d59 00fe 03f5 sr @0x03f5, $AC0.M + 0d5b 1fda mrr $AC0.M, $AX0.H + 0d5c 7c00 neg $ACC0 + 0d5d 1f5e mrr $AX0.H, $AC0.M + 0d5e 00fe 03f2 sr @0x03f2, $AC0.M + 0d60 029f 0d67 jmp 0x0d67 + 0d62 00de 03f4 lr $AC0.M, @0x03f4 + 0d64 5d00 sub $ACC1, $AC0.L + 0d65 0293 0d54 jle 0x0d54 + 0d67 8900 clr $ACC1 + 0d68 00dd 03f5 lr $AC1.L, @0x03f5 + 0d6a 1501 lsl $ACC1, #1 + 0d6b 8100 clr $ACC0 + 0d6c 00dc 03f6 lr $AC0.L, @0x03f6 + 0d6e 008b 009f lri $WR3, #0x009f + 0d70 0080 0a00 lri $AR0, #0x0a00 + 0d72 0900 lris $AX1.L, #0x00 + // fill buffer at 0x0A00 with buffer at (0x0A60 + Mem[0x03F1]) + 0d73 1150 0d7a bloopi #0x50, 0x0d7a + 0d75 1878 lrr $AX0.L, @$AR3 + 0d76 4c00 add $ACC0, $AC1.L + 0d77 1cfe mrr $IX3, $AC0.M + 0d78 001f addarn $AR3, $IX3 + 0d79 1fd9 mrr $AC0.M, $AX1.L + 0d7a 1b18 srri @$AR0, $AX0.L + + 0d7b 009f 0a60 lri $AC1.M, #0x0a60 + 0d7d 1fc3 mrr $AC0.M, $AR3 + 0d7e 5c00 sub $ACC0, $AC1.L + 0d7f 00fe 03f1 sr @0x03f1, $AC0.M + 0d81 00fc 03f6 sr @0x03f6, $AC0.L + 0d83 008b ffff lri $WR3, #0xffff + 0d85 02df ret + +// copy buffer at 0x0A00 to right & left buffers + 0d86 0f50 lris $AC1.M, #0x50 + 0d87 0080 0a00 lri $AR0, #0x0a00 + 0d89 0083 0d60 lri $AR3, #0x0d60 + 0d8b 0098 3fff lri $AX0.L, #0x3fff + 0d8d 02bf 00ff call 0x00ff + 0d8f 0f50 lris $AC1.M, #0x50 + 0d90 0080 0a00 lri $AR0, #0x0a00 + 0d92 0083 0d00 lri $AR3, #0x0d00 + 0d94 0098 3fff lri $AX0.L, #0x3fff + 0d96 02bf 00ff call 0x00ff + 0d98 02df ret + +// ??? +// ACC1: ??? + 0d99 b900 tst $ACC1 + 0d9a 0294 0d9f jnz 0x0d9f + 0d9c 6800 movax $ACC0, $AX0.L + 0d9d b100 tst $ACC0 + 0d9e 02d5 retz + 0d9f 1c23 mrr $AR1, $AR3 + 0da0 197e lrri $AC0.M, @$AR3 + 0da1 191b lrri $AX1.H, @$AR0 + 0da2 d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 + + 0da3 1120 0da9 bloopi #0x20, 0x0da9 + 0da5 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0da6 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0da7 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0da8 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0da9 4900 addax $ACC1, $AX0.L + + 0daa 1108 0daf bloopi #0x08, 0x0daf + 0dac dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0dad 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0dae dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0daf 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + + 0db0 02df ret + +// interleave two buffers + 0db1 8f00 set40 + 0db2 8d00 set15 + 0db3 1c03 mrr $AR0, $AR3 + 0db4 00d9 038e lr $AX1.L, @0x038e // (0x0040) set by DsetupTable + 0db6 0b04 lris $AX1.H, #0x04 + 0db7 197a lrri $AX0.H, @$AR3 + 0db8 b053 mulx'l $AX0.H, $AX1.L : $AX0.H, @$AR3 + 0db9 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0dba 1128 0dbf bloopi #0x28, 0x0dbf + 0dbc 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0dbd b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0dbe 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0dbf b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0dc0 8c00 clr15 + 0dc1 8e00 set16 + 0dc2 02df ret + +// ??? + 0dc3 00da 0485 lr $AX0.H, @0x0485 + 0dc5 8600 tstaxh $AX0.H + 0dc6 0295 0dd4 jz 0x0dd4 + 0dc8 8100 clr $ACC0 + 0dc9 00de 042a lr $AC0.M, @0x042a + 0dcb 147f lsr $ACC0, #-1 + 0dcc 00fe 042b sr @0x042b, $AC0.M + 0dce b100 tst $ACC0 + 0dcf 0294 0dd4 jnz 0x0dd4 + 0dd1 0a01 lris $AX0.H, #0x01 + 0dd2 00fa 0401 sr @0x0401, $AX0.H + + 0dd4 8f00 set40 + 0dd5 8100 clr $ACC0 + 0dd6 00de 0428 lr $AC0.M, @0x0428 + 0dd8 1478 lsr $ACC0, #-8 + 0dd9 00df 0428 lr $AC1.M, @0x0428 + 0ddb 0340 007f andi $AC1.M, #0x007f + 0ddd 1f1e mrr $AX0.L, $AC0.M + 0dde 1f5f mrr $AX0.H, $AC1.M + 0ddf 0220 007f xori $ACC0, #0x007f + 0de1 1f3e mrr $AX1.L, $AC0.M + 0de2 0320 007f xori $ACC1, #0x007f + 0de4 1f7f mrr $AX1.H, $AC1.M + 0de5 8100 clr $ACC0 + 0de6 8900 clr $ACC1 + 0de7 009f 0200 lri $AC1.M, #0x0200 + 0de9 1fd8 mrr $AC0.M, $AX0.L + 0dea 4c00 add $ACC0, $AC1.L + 0deb 1c1e mrr $AR0, $AC0.M + 0dec 1818 lrr $AX0.L, @$AR0 + 0ded 1fda mrr $AC0.M, $AX0.H + 0dee 4c00 add $ACC0, $AC1.L + 0def 1c1e mrr $AR0, $AC0.M + 0df0 181a lrr $AX0.H, @$AR0 + 0df1 1fd9 mrr $AC0.M, $AX1.L + 0df2 4c00 add $ACC0, $AC1.L + 0df3 1c1e mrr $AR0, $AC0.M + 0df4 1819 lrr $AX1.L, @$AR0 + 0df5 1fdb mrr $AC0.M, $AX1.H + 0df6 4c00 add $ACC0, $AC1.L + 0df7 1c1e mrr $AR0, $AC0.M + 0df8 181b lrr $AX1.H, @$AR0 + 0df9 8a00 m2 + 0dfa 0080 0b00 lri $AR0, #0x0b00 + 0dfc 9800 mul $AX1.L, $AX1.H + 0dfd ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0dfe b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0dff 9630 mulmv's $AX0.L, $AX0.H, $ACC0 : @$AR0, $AC0.M + 0e00 6e30 movp's $ACC0 : @$AR0, $AC0.M + 0e01 1b1e srri @$AR0, $AC0.M + 0e02 8b00 m0 + 0e03 0080 0b00 lri $AR0, #0x0b00 + 0e05 0081 0b04 lri $AR1, #0x0b04 + 0e07 00da 042a lr $AX0.H, @0x042a + 0e09 02bf 0e54 call 0x0e54 + 0e0b 0081 0b08 lri $AR1, #0x0b08 + 0e0d 0080 0b00 lri $AR0, #0x0b00 + 0e0f 00da 042a lr $AX0.H, @0x042a + 0e11 00de 0429 lr $AC0.M, @0x0429 + 0e13 8a00 m2 + 0e14 c000 mulc $AC0.M, $AX0.H + 0e15 8b00 m0 + 0e16 6e00 movp $ACC0 + 0e17 1f5e mrr $AX0.H, $AC0.M + 0e18 02bf 0e54 call 0x0e54 + 0e1a 0080 0b00 lri $AR0, #0x0b00 + 0e1c 0081 0b0c lri $AR1, #0x0b0c + 0e1e 8100 clr $ACC0 + 0e1f 8900 clr $ACC1 + 0e20 00de 042b lr $AC0.M, @0x042b + 0e22 00df 042a lr $AC1.M, @0x042a + 0e24 00fe 042a sr @0x042a, $AC0.M + 0e26 5c00 sub $ACC0, $AC1.L + 0e27 1f5e mrr $AX0.H, $AC0.M + 0e28 02bf 0e5f call 0x0e5f + 0e2a 0080 0b0c lri $AR0, #0x0b0c + 0e2c 0081 0b10 lri $AR1, #0x0b10 + 0e2e 00da 0429 lr $AX0.H, @0x0429 + 0e30 02bf 0e54 call 0x0e54 + 0e32 0081 0b04 lri $AR1, #0x0b04 + 0e34 0082 0b0c lri $AR2, #0x0b0c + 0e36 0083 0e6d lri $AR3, #0x0e6d + 0e38 1108 0e51 bloopi #0x08, 0x0e51 + 0e3a 195f lrri $AC1.M, @$AR2 + 0e3b 15fb asr $ACC1, #-5 + 0e3c 1f1d mrr $AX0.L, $AC1.L + 0e3d 1f5f mrr $AX0.H, $AC1.M + 0e3e 193f lrri $AC1.M, @$AR1 + 0e3f 00e1 0b24 sr @0x0b24, $AR1 + 0e41 00e2 0b25 sr @0x0b25, $AR2 + 0e43 021b ilrri $AC0.M, @$AR3 + 0e44 00e3 0b26 sr @0x0b26, $AR3 + 0e46 1c7e mrr $AR3, $AC0.M + 0e47 00c0 038f lr $AR0, @0x038f + 0e49 02bf 0d99 call 0x0d99 + 0e4b 00c1 0b24 lr $AR1, @0x0b24 + 0e4d 00c2 0b25 lr $AR2, @0x0b25 + 0e4f 00c3 0b26 lr $AR3, @0x0b26 + 0e51 0000 nop + 0e52 8e00 set16 + 0e53 02df ret + +// + 0e54 8a00 m2 + 0e55 191f lrri $AC1.M, @$AR0 + 0e56 d078 mulc'l $AC1.M, $AX0.H : $AC1.M, @$AR0 + 0e57 d678 mulcmv'l $AC1.M, $AX0.H, $ACC0 : $AC1.M, @$AR0 + 0e58 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e59 191f lrri $AC1.M, @$AR0 + 0e5a d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e5b 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0e5c 1b3e srri @$AR1, $AC0.M + 0e5d 8b00 m0 + 0e5e 02df ret + 0e5f 8a00 m2 + 0e60 8d00 set15 + 0e61 1f7e mrr $AX1.H, $AC0.M + 0e62 1918 lrri $AX0.L, @$AR0 + 0e63 a840 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR0 + 0e64 ae40 mulxmv'l $AX0.L, $AX1.H, $ACC0 : $AX0.L, @$AR0 + 0e65 ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0e66 1918 lrri $AX0.L, @$AR0 + 0e67 ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0e68 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0e69 1b3e srri @$AR1, $AC0.M + 0e6a 8c00 clr15 + 0e6b 8b00 m0 + 0e6c 02df ret + 0e6d 0d00 lris $AC1.L, #0x00 + 0e6e 0d60 lris $AC1.L, #0x60 + 0e6f 0f40 lris $AC1.M, #0x40 + 0e70 0ca0 lris $AC0.L, #0xa0 + 0e71 0e80 lris $AC0.M, #0x80 + 0e72 0ee0 lris $AC0.M, #0xe0 + 0e73 0be0 lris $AX1.H, #0xe0 + 0e74 0c40 lris $AC0.L, #0x40 + +// store ramp??? +// AR0 = 0x0580 (left buffer?) +// AR1 = 0x0520 (right buffer?) + 0e75 00f9 0361 sr @0x0361, $AX1.L + 0e77 1fc0 mrr $AC0.M, $AR0 + 0e78 0200 fffc addi $AC0.M, #0xfffc // AC0.M = AR0 - 4; + 0e7a 1c1e mrr $AR0, $AC0.M // AR0 = AC0.M = 0x057C; + 0e7b 1c5e mrr $AR2, $AC0.M // AR2 = AC0.M = 0x057C; + 0e7c 0083 043c lri $AR3, #0x043c // AR3 = 0x043C; + 0e7e 197e lrri $AC0.M, @$AR3 // AC0.M = Mem[AR3]; AR3++; + 0e7f 197f lrri $AC1.M, @$AR3 // AC1.M = Mem[AR3]; AR3++; + 0e80 80a2 nx'sl : $AC0.M, $AX0.H // AX0.H = Mem[AR3]; AR3++; Mem[AR0] = AC0.M; AR0++; + 0e81 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H + 0e82 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M + 0e83 1b1f srri @$AR0, $AC1.M + 0e84 1c02 mrr $AR0, $AR2 // AR0 = AR2; (0x0580) + 0e85 8100 clr $ACC0 + 0e86 00de 0402 lr $AC0.M, @0x0402 // AC0.M = Mem[0x0402]; (0x0FFC) (ACC0 = 0x0FFC0000) + 0e88 00fe 0362 sr @0x0362, $AC0.M // Mem[0x0362] = AC0.M; + 0e8a 1474 lsr $ACC0, #-12 // ACC0 >>= 12; + 0e8b 1f7e mrr $AX1.H, $AC0.M // AX1.H = AC0.M; (0x0000) + 0e8c 1f3c mrr $AX1.L, $AC0.L // AX1.L = AC0.L; (0xFFC0) + 0e8d 8900 clr $ACC1 + 0e8e 00dd 0430 lr $AC1.L, @0x0430 // AC1.L = Mem[0x0430]; + 0e90 1504 lsl $ACC1, #4 // ACC1 <<= 4; + 0e91 0604 cmpis $ACC0, #0x04 + 0e92 0290 0ee9 jns 0x0ee9 + 0e94 1fdd mrr $AC0.M, $AC1.L + 0e95 0082 02b0 lri $AR2, #0x02b0 // AR2 = 0x02B0; temp buffer? + // store a ramp. for example, the ramp is 0xFFC0, 0xFF80, 0xFF40, 0xFF00, 0xFEC0 and so on... if start value (Mem[0x0402]) is 0x0FFC. + 0e97 1050 loopi #0x50 // for(i = 0; i < 80; i++) + 0e98 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L // ACC1 += AX1.L; Mem[AR2] = AC1.L; AR2++; + + 0e99 1fbe mrr $AC1.L, $AC0.M + 0e9a 00fe 0360 sr @0x0360, $AC0.M + 0e9c 8900 clr $ACC1 + 0e9d 1fbe mrr $AC1.L, $AC0.M + 0e9e 0af8 lris $AX0.H, #0xf8 // AX0.H = 0x00F8; + 0e9f 009b 00fc lri $AX1.H, #0x00fc // AX1.H = 0x00FC; + 0ea1 00d8 0361 lr $AX0.L, @0x0361 // AX0.L = Mem[0x0361]; + 0ea3 0082 02b0 lri $AR2, #0x02b0 // AR2 = 0x02B0; + 0ea5 0083 02b0 lri $AR3, #0x02b0 // AR3 = 0x02B0; + 0ea7 195e lrri $AC0.M, @$AR2 // AC0.M = Mem[AR2]; + 0ea8 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M // AC0.M &= 0x00F8; AX0.L = Mem[AR0]; AR0++; Mem[AR3] = AC0.M; AR3++; + // do some processing on the ramp we just made, and merge it to the buffer at 0x0580 + 0ea9 1128 0eae bloopi #0x28, 0x0eae // + 0eab 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 // AC0.M &= AX1.H; AC1.M = Mem[AR2]; AR2++; + 0eac 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H // AC1.M &= 0x00F8; Mem[AR0] = AC1.M; AR0++; AX1.H = Mem[AR3]; AR3++; + 0ead 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 // ... + 0eae 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H + + 0eaf 8a00 m2 // multiply by 2 + 0eb0 0082 02b0 lri $AR2, #0x02b0 + 0eb2 00dd 0430 lr $AC1.L, @0x0430 + 0eb4 1504 lsl $ACC1, #4 + 0eb5 1fe0 mrr $AC1.M, $AR0 + 0eb6 8100 clr $ACC0 + 0eb7 00de 0362 lr $AC0.M, @0x0362 + 0eb9 1474 lsr $ACC0, #-12 + 0eba 1f7e mrr $AX1.H, $AC0.M // AX1.H = 0x0000 + 0ebb 1f3c mrr $AX1.L, $AC0.L // AX1.L = 0xFFC0 + 0ebc 8f00 set40 + 0ebd 1943 lrri $AR3, @$AR2 + 0ebe 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0ebf 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ec0 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ec1 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ec2 f200 madd $AX0.L, $AX0.H + 0ec3 fe00 movpz $ACC0 + 0ec4 1c1f mrr $AR0, $AC1.M + 0ec5 1943 lrri $AR3, @$AR2 + 0ec6 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0ec7 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + + 0ec8 114e 0ed0 bloopi #0x4e, 0x0ed0 // uh? 0x4E? skip two samples? + 0eca f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ecb f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ecc f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0ecd 1c1f mrr $AR0, $AC1.M + 0ece 1943 lrri $AR3, @$AR2 + 0ecf 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0ed0 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 + + 0ed1 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ed2 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ed3 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0ed4 fe00 movpz $ACC0 + 0ed5 1b3e srri @$AR1, $AC0.M + 0ed6 8b00 m0 // don't multiply by 2 + 0ed7 8e00 set16 + 0ed8 00fe 0433 sr @0x0433, $AC0.M + 0eda 1c1f mrr $AR0, $AC1.M + 0edb 150c lsl $ACC1, #12 + 0edc 0340 0fff andi $AC1.M, #0x0fff + 0ede 00ff 0430 sr @0x0430, $AC1.M + 0ee0 0083 043c lri $AR3, #0x043c + 0ee2 191e lrri $AC0.M, @$AR0 + 0ee3 191f lrri $AC1.M, @$AR0 + 0ee4 80a0 nx'ls : $AX0.H, $AC0.M + 0ee5 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 0ee6 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0ee7 1b7f srri @$AR3, $AC1.M + 0ee8 02df ret + +// + 0ee9 1fe0 mrr $AC1.M, $AR0 + 0eea 1c1f mrr $AR0, $AC1.M + // copy buffer at 0x0580 to buffer at 0x0520? + 0eeb 1128 0ef2 bloopi #0x28, 0x0ef2 + 0eed 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0eee 1b3e srri @$AR1, $AC0.M + 0eef 1c1f mrr $AR0, $AC1.M + 0ef0 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0ef1 1b3e srri @$AR1, $AC0.M + 0ef2 1c1f mrr $AR0, $AC1.M + + 0ef3 029f 0ed8 jmp 0x0ed8 + +// + 0ef5 0083 0520 lri $AR3, #0x0520 + 0ef7 00de 0433 lr $AC0.M, @0x0433 + 0ef9 1050 loopi #0x50 + 0efa 1b7e srri @$AR3, $AC0.M + 0efb 029f 0336 jmp 0x0336 + +// + 0efd 1c20 mrr $AR1, $AR0 + 0efe 185f lrr $AC1.M, @$AR2 + 0eff 1f7f mrr $AX1.H, $AC1.M + 0f00 193a lrri $AX0.H, @$AR1 + 0f01 6400 movr $ACC0, $AX0.H + 0f02 0078 0f07 bloop $AX0.L, 0x0f07 + 0f04 5659 subr'l $ACC0, $AX1.H : $AX1.H, @$AR1 + 0f05 6730 movr's $ACC1, $AX1.H : @$AR0, $AC0.M + 0f06 5551 subr'l $ACC1, $AX0.H : $AX0.H, @$AR1 + 0f07 6438 movr's $ACC0, $AX0.H : @$AR0, $AC1.M + 0f08 1a5b srr @$AR2, $AX1.H + 0f09 02df ret + +// InitUnkTable() + 0f0a 0098 8240 lri $AX0.L, #0x8240 + 0f0c 00f8 04e8 sr @0x04e8, $AX0.L + 0f0e 0098 7fff lri $AX0.L, #0x7fff + 0f10 00f8 04e9 sr @0x04e9, $AX0.L + 0f12 0098 7dbf lri $AX0.L, #0x7dbf + 0f14 00f8 04ea sr @0x04ea, $AX0.L + 0f16 0098 843f lri $AX0.L, #0x843f + 0f18 00f8 04eb sr @0x04eb, $AX0.L + 0f1a 0098 b23b lri $AX0.L, #0xb23b + 0f1c 00f8 04f0 sr @0x04f0, $AX0.L + 0f1e 0098 7fff lri $AX0.L, #0x7fff + 0f20 00f8 04f1 sr @0x04f1, $AX0.L + 0f22 0098 4dc4 lri $AX0.L, #0x4dc4 + 0f24 00f8 04f2 sr @0x04f2, $AX0.L + 0f26 0098 d808 lri $AX0.L, #0xd808 + 0f28 00f8 04f3 sr @0x04f3, $AX0.L + 0f2a 0098 0000 lri $AX0.L, #0x0000 + 0f2c 0080 04ec lri $AR0, #0x04ec + 0f2e 1004 loopi #0x04 + 0f2f 1b18 srri @$AR0, $AX0.L + 0f30 0080 04f4 lri $AR0, #0x04f4 + 0f32 1004 loopi #0x04 + 0f33 1b18 srri @$AR0, $AX0.L + 0f34 02df ret + +// mixer? + 0f35 0080 0f40 lri $AR0, #0x0f40 + 0f37 0083 0b00 lri $AR3, #0x0b00 + 0f39 8900 clr $ACC1 + 0f3a 0f50 lris $AC1.M, #0x50 + 0f3b 0098 6784 lri $AX0.L, #0x6784 + 0f3d 02bf 010e call 0x010e + 0f3f 0080 04e8 lri $AR0, #0x04e8 + 0f41 0082 04ec lri $AR2, #0x04ec + 0f43 0081 0b00 lri $AR1, #0x0b00 + 0f45 8900 clr $ACC1 + 0f46 0f50 lris $AC1.M, #0x50 + 0f47 0080 0b00 lri $AR0, #0x0b00 + 0f49 0083 0d00 lri $AR3, #0x0d00 + 0f4b 0098 7fff lri $AX0.L, #0x7fff + 0f4d 02bf 00ff call 0x00ff + 0f4f 8900 clr $ACC1 + 0f50 0f50 lris $AC1.M, #0x50 + 0f51 0080 0b00 lri $AR0, #0x0b00 + 0f53 0083 0d60 lri $AR3, #0x0d60 + 0f55 0098 b820 lri $AX0.L, #0xb820 + 0f57 02bf 00ff call 0x00ff + 0f59 0080 0ca0 lri $AR0, #0x0ca0 + 0f5b 0083 0b00 lri $AR3, #0x0b00 + 0f5d 8900 clr $ACC1 + 0f5e 0f50 lris $AC1.M, #0x50 + 0f5f 0098 6784 lri $AX0.L, #0x6784 + 0f61 02bf 010e call 0x010e + 0f63 0080 04e8 lri $AR0, #0x04e8 + 0f65 0082 04f4 lri $AR2, #0x04f4 + 0f67 0081 0b00 lri $AR1, #0x0b00 + 0f69 8900 clr $ACC1 + 0f6a 0f50 lris $AC1.M, #0x50 + 0f6b 0080 0b00 lri $AR0, #0x0b00 + 0f6d 0083 0d00 lri $AR3, #0x0d00 + 0f6f 0098 47e0 lri $AX0.L, #0x47e0 + 0f71 02bf 00ff call 0x00ff + 0f73 8900 clr $ACC1 + 0f74 0f50 lris $AC1.M, #0x50 + 0f75 0080 0b00 lri $AR0, #0x0b00 + 0f77 0083 0d60 lri $AR3, #0x0d60 + 0f79 0098 8001 lri $AX0.L, #0x8001 + 0f7b 02bf 00ff call 0x00ff + 0f7d 02df ret + + 0f7e 0000 nop + 0f7f 0000 nop \ No newline at end of file diff --git a/docs/DSP/DSP_UC_Zelda.txt b/docs/DSP/DSP_UC_Zelda.txt new file mode 100644 index 0000000000..770ca65f26 --- /dev/null +++ b/docs/DSP/DSP_UC_Zelda.txt @@ -0,0 +1,5094 @@ +/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +All code is now wrapped in void Function() {} - the new DSP LLE debugger +can parse this file and auto read symbols using those. + +BIG Questions: + + - Who resets the 0x0350 to the beginning of the command block? Wrap register? + - What does 00eb_Unk_BufferMultAddToDest?? + - Why is a PB-Transfer from RAM to DMEM 0xC0 shorts long but DMEM to RAM just 0x80 + +DSP functionality to test: + - Interrupts (7) + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */ +// +// memory map +// todo - define syntax for this so it can be auto read. + +// +0x0000 to 0x280 // Unknown table +0x0280 // command queue + +/////////////////////////////////////////// + +0x0300 to 0x0320 // AFC COEF table + +0x0342 // low part of the DSetupTable /(Luigi2us) thinks it is the number of PBs +0x0343 // current command code (the code for the switch - casement table) seems to be for debug... nobody loads it +0x0344 // high part of the (command & 0xFF) ... prolly some kind of paramter +0x0345 // low part of the command + +0x034e (0x0000) + +/////////////////////////////////////////// + + + +/////////////////////////////////////////// +// Initialized at 0688_InitCommandBlock() +0x0350 (0x0280) // address to end of the command queue +0x0351 (0x0280) // address to start of the command queue +0x0352 (0x0000) // number of commands + + +0x0356[] // current command queue... eg: 0x81000040 for DsetupTable +0x0358 // first parameter of the command ... + + +0x0364 // Temp Buffer for AFC Decoder + +/////////////////////////////////////////// +0x0380 // RAM Address of the PBs +0x0381 // + +0x038e // used by COMMAND_02 copies the low part of the command to this place + + +0x03a8 // COMMAND_02 copies a struct with the size of 0x40 to the place + +/////////////////////////////////////////// +// used by 05b8_NewMail() exception to store register and restore registers +0x03fa to 0x03ff + +// shared and used by COMMAND_01 (DSetupTable) +0x03f0 // 0x00 +0x03f1 // 0x96 +0x03f2 // 0xFF +0x03f3 // 0x30 +0x03f5 // 0x10 +0x03f6 // 0x00 +0x03f7 // 0x100 ... got some more math... have to recheck it + + +0x03f9 // used by COMMAND_02... if the program decides to continue the UCode it stores the continue address... + +////////////////////////////////////////////// +// current PB in DSyncFrame +0x0400 +. +. +. +0x04C0 + + +/// +0x0400 - must be != 0 to be a valid block +0x0401 - must be != 0 to be a valid block + +0x0402 - Sample Decode Offset ?? Offset = (*0x402 * 0x50) + +0x0404 - Initialize Sample Decoder +0x0406 - Direct Stream ... no sample decoder is needed. + At the end of the PB Handling 0x0404 is set to 0 if it is NOT a direct stream + +0x0430 - Base Address ?? (0x0430 + Offset) << 4 + +0x042c flag if > 0 033d_unk() does something + + +0x0433 stored to 0x03f8 ... i think that is the current sample buffer + +0x0458 hmmm.... + +0x0480 if 0x0406 is zero check how we have to decode this data... + +0x0484 seems to contain filter settings... +0x0484 & 0x1f -> (02ed to 030f) +0x0484 & 0x20 + +0x04a8 if != zero sample is modified with function at 0x0c84.. perhaps an filter or volume + + +//////////////////////////////////////// +0x04d3 "offset to sample data" ???? + +There's definitely a bunch of sample data stored in each PB but I don't know exactly how. + + +/////////////////////////////////////////// +// Initialized at 0e14_Unk() +0x04e8 (0x8240) +0x04e9 (0x7FFF) +0x04ea (0x7DBF) +0x04eb (0x843f) +0x04ec (0x0000) +0x04ed (0x0000) +0x04ee (0x0000) +0x04ef (0x0000) + +0x04f0 (0xb23b) +0x04f1 (0x7FFF) +0x04f2 (0x4dc4) +0x04f3 (0xd808) +0x04f4 (0x0000) +0x04f5 (0x0000) +0x04f6 (0x0000) +0x04f7 (0x0000) + +/////////////////////////////////////////// +0x04fc... // used for some kind of data exchange between SyncFrame and MailExceptionHandler + // It is like this: + // (0x04fc + lastRenderedFrame) must be "something" :) + +0x0580.. Unresampled audio data is decoded to here + +/////////////////////////////////////////// +// Initialized at 04c0_Unk()... used by SyncFrame +0x0B00 to 0x0C00 +// The memory at 0b00 seems to be generally used as scratch space for various things. + + +////////////////////////////////////////// + +0x0dc0 -- ?????????? + + +// +// exception vector +// +0000 029f 0012 jmp 0x0012 -> ResetVector() +0002 0000 nop +0003 0000 nop +0004 02ff rti +0005 0000 nop +0006 02ff rti +0007 0000 nop +0008 02ff rti +0009 0000 nop +000a 02ff rti +000b 0000 nop +000c 02ff rti +000d 0000 nop +000e 029f 05b8 jmp 0x05b8 -> 05b8_NewMail() + +0010 029f 004e jmp 0x004e -> 004e_ContinueUCode() ??? + +// reset vector + +void 0012_ResetVector() +{ + // 0012 1205 sbclr #0x05 + + // 0013 02bf 0057 call 0x0057 + 0057_InitHardware() + + /* + 0015 8100 clr $ACC0 + 0016 009f 1000 lri $AC1.M, #0x1000 + 0018 0080 0000 lri $AR0, #0x0000 + 001a 005f loop $AC1.M + 001b 1b1e srri @$AR0, $AC0.M + Clear memory + */ + { + short ACC0 = 0; + short AR0 = 0x0000; + for (int i=0; i<0x1000; i++) + { + *AR0 = ACC0; + AR0++; + } + } + + // 001c 02bf 0688 call 0x0688 + 0688_InitCommandBlock(); + + // 001e 02bf 04c0 call 0x04c0 + 04c0_UnknownInit(); + + // 0020 02bf 0e14 call 0x0e14 + 0e14_DolbyInit(); // Init from 0x04e8 to 0x04f8 + + // 0022 0e00 lris $AC0.M, #0x00 + // 0023 02bf 066a call 0x066a + SendMB_DCD1(0x0000) + + // 0025 009e 1111 lri $AC0.M, #0x1111 + // 0027 02bf 0674 call 0x0674 + SendMB_F355(0x1111) + + // 0029 0e00 lris $AC0.M, #0x00 + // 002a 00fe 034e sr @0x034e, $AC0.M + *0x034e = 0x00 + + 002c 1305 sbset #0x05 + + // 002d 029f 06c5 jmp 0x06c5 + + // + // an exception will be raised if a new mail is inside the mailbox + // the exception handler will copy the command to an address and the + // 06c5_CopyCommandBlock creates a copy of the command to 0x0356 + // +:WaitForNewCommandBlock + while (06c5_CopyCommandBlock() == 0x002d); + + // 002f 00df 0357 lr $AC1.M, @0x0357 + // 0031 00ff 0345 sr @0x0345, $AC1.M + + *0x0345 = *0x0357 + + // 0033 00de 0356 lr $AC0.M, @0x0356 + // 0035 1ffe mrr $AC1.M, $AC0.M + // 0036 0340 00ff andi $AC1.M, #0x00ff + // 0038 00ff 0344 sr @0x0344, $AC1.M + + short upperCommand = *0x0356 // AC0 = upperCommand + *0x0344 = upperCommand & 0x00FF + + // 003a 1479 lsr $ACC0, #-7 + // 003b 0240 007e andi $AC0.M, #0x007e + // 003d 00fe 0343 sr @0x0343, $AC0.M + upperCommand = (upperCommand >> 7) & 0x7e // F|RES: i think duddy is wrong here ... a negative must be a shift right + *0x0343 = upperCommand + + // 003f 0200 0075 addi $AC0.M, #0x0075 + // 0041 1c1e mrr $AR0, $AC0.M + // 0042 170f jmpr $AR0 + // switch casement of the commands.. jump table is at 0075 + + switch (upperCommand >> 1) // command must be shift >> 1 in our source code because the jump table is aligned with 2 Bytes + { + // case 0x00: 0x0043 + case 0x01: 0095_COMMAND_01(); break; + case 0x02: 0243_COMMAND_02(); break; + + case 0x03: 0x0073 + case 0x04: 0095_COMMAND_04(); break; + case 0x05: 0x0592 + case 0x06: 0x0469 + case 0x07: 0x041d + case 0x08: 0x0485 + case 0x09: 0x044d + // case 0x0A: 0x0043 + // case 0x0B: 0x0043 + // case 0x0C: 0x0043 + case 0x0D: 0x00b2 + // case 0x0E: 0x0043 + // case 0x0F: 0x0043 + } + + # 0043 0092 00ff lri $CR, #0x00ff + + // 0045 0e04 lris $AC0.M, #0x04 + // 0046 02bf 066a call 0x066a + SendMB_DCD1(0x0004) + + // 0048 00de 0356 lr $AC0.M, @0x0356 + // 004a 02bf 0674 call 0x0674 + SendMB_F355(@0x0356) + + // 004c 029f 002d jmp 0x002d + GOTO :WaitForNewCommandBlock +} + +void 004e_ContinueUCode??() +{ + # 004e 1205 sbclr #0x05 + + // 004f 02bf 0057 call 0x0057 + 0057_InitHardware() + + // 0051 0e01 lris $AC0.M, #0x01 + // 0052 02bf 066a call 0x066a + SendMB_DCD1(0x0001) + + # 0054 1305 sbset #0x05 + + // 0055 029f 002d jmp 0x002d + GOTO :WaitForNewCommandBlock +} + +void 0057_InitHardware() +{ + 0057 1202 sbclr #0x02 + 0058 1203 sbclr #0x03 + 0059 1204 sbclr #0x04 + 005a 1306 sbset #0x06 + 005b 8e00 set16 + 005c 8c00 clr15 + 005d 8b00 m0 + + // Set all indexing wrappers to max range. + 005e 009e ffff lri $AC0.M, #0xffff + 0060 1d1e mrr $WR0, $AC0.M + 0061 1d3e mrr $WR1, $AC0.M + 0062 1d5e mrr $WR2, $AC0.M + 0063 1d7e mrr $WR3, $AC0.M + + // Have CR point to the HW interface. + 0064 0092 00ff lri $CR, #0x00ff + // 0066 02df ret +} + +void 0067_CopyCommand(_destAddr($AR0), _loopCount($AC0.M)) +{ + // 0067 0090 0000 lri $AC0.H, #0x0000 + // 0069 0c00 lris $AC0.L, #0x00 + // 006a 0081 0358 lri $AR1, #0x0358 + AC0.H = 0x0000 + AC0.L = 0x00 + AR1 = 0x0358 + + // 006c 007e 0071 bloop $AC0.M, 0x0071 + // 006e 193e lrri $AC0.M, @$AR1 + // 006f 1b1e srri @$AR0, $AC0.M + // 0070 193e lrri $AC0.M, @$AR1 + // 0071 1b1e srri @$AR0, $AC0.M + + for (int i=0; i<_loopCount; i++) + { + *_destAddr++ = *AR1.M++ + *_destAddr++ = *AR1.M++ + } + + // 0072 02df ret +} + +/* + 0073 029f 0043 jmp 0x0043 + 0075 029f 0043 jmp 0x0043 + 0077 029f 0095 jmp 0x0095 + 0079 029f 0243 jmp 0x0243 + 007b 029f 0073 jmp 0x0073 + 007d 029f 0580 jmp 0x0580 + 007f 029f 0592 jmp 0x0592 + 0081 029f 0469 jmp 0x0469 + 0083 029f 041d jmp 0x041d + 0085 029f 0485 jmp 0x0485 + 0087 029f 044d jmp 0x044d + 0089 029f 0043 jmp 0x0043 + 008b 029f 0043 jmp 0x0043 + 008d 029f 0043 jmp 0x0043 + 008f 029f 00b2 jmp 0x00b2 + 0091 029f 0043 jmp 0x0043 + 0093 029f 0043 jmp 0x0043 +jump table for command code decoding + */ + +// DsetupTable +void 0095_COMMAND_01() +{ + // 0095 0080 0380 lri $AR0, #0x0380 + // 0097 0e04 lris $AC0.M, #0x04 + // 0098 02bf 0067 call 0x0067 + 0067_CopyCommand(0x0380, 0x04) + + // 009a 0081 0382 lri $AR1, #0x0382 + // 009c 009f 0000 lri $AC1.M, #0x0000 + // 009e 0080 0280 lri $AR0, #0x0280 + // 00a0 02bf 0523 call 0x0523 + 0523_CopyRAMtoDMEM(0x0382, 0x0000, 0x0280) + + // 00a2 0081 0384 lri $AR1, #0x0384 + // 00a4 009f 0300 lri $AC1.M, #0x0300 + // 00a6 0080 0020 lri $AR0, #0x0020 + // 00a8 02bf 0523 call 0x0523 + 0523_CopyRAMtoDMEM(0x0384, 0x0300, 0x0020) + + // 00aa 00de 0345 lr $AC0.M, @0x0345 + // 00ac 00fe 0342 sr @0x0342, $AC0.M + *0x0342 = *0x0345 + + // 00ae 02bf 0bec call 0x0bec + 0bec_Unk() + + // 00b0 029f 0043 jmp 0x0043 +} + +// Command 0xD +void 00b2_Unk_CommandD() { + 00b2 0080 0374 lri $AR0, #0x0374 + 00b4 0e01 lris $AC0.M, #0x01 + 00b5 00fe 0377 sr @0x0377, $AC0.M + 00b7 00fe 037c sr @0x037c, $AC0.M + 00b9 02bf 0067 call 0x0067 // CopyCommand + + // 00bb 00de 0345 lr $AC0.M, @0x0345 + // 00bd 00fe 0376 sr @0x0376, $AC0.M + *0x0376 = *0x0345; + + 00bf 029f 0043 jmp 0x0043 +} + +void 00c1_CopyPBToDMEM() +{ + // 00c1 0081 034c lri $AR1, #0x034c + // 00c3 009f 0400 lri $AC1.M, #0x0400 + // 00c5 0080 00c0 lri $AR0, #0x00c0 + // 00c7 02bf 0523 call 0x0523 + // 00c9 02df ret + + 0523_CopyRAMtoDMEM(0x034c, 0x0400, 0x00c0); +} + + +void 00ca_CopyPBToRAM() +{ + // 00ca 0081 034c lri $AR1, #0x034c + // 00cc 009f 0400 lri $AC1.M, #0x0400 + // 00ce 0080 0080 lri $AR0, #0x0080 + // 00d0 0081 034c lri $AR1, #0x034c + AR1 = 0x034c + AC1.M = 0x0400 + AR0 = 0x0080 + + // 00d2 193e lrri $AC0.M, @$AR1 + // 00d3 193c lrri $AC0.L, @$AR1 + AC0.M = *0x034c + AC0.L = *0x034d + + // 00d4 0098 0000 lri $AX0.L, #0x0000 + // 00d6 7000 addaxl $ACC0, $AX0.L + // 00d7 02bf 0532 call 0x0532 + + 0532_DMEMtoRAM(0x0400, ACC0, 0x0080) + + // 00d9 02df ret +} + + +void 00da_CopyBuffer(_src($AR0), _dest($AR3), LenMinusOne(_AC1.M)) +{ + 00da 191e lrri $AC0.M, @$AR0 + 00db 191a lrri $AX0.H, @$AR0 + 00dc 005f loop $AC1.M + 00dd 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 00de 1b7e srri @$AR3, $AC0.M + 00df 1b7a srri @$AR3, $AX0.H + // 00e0 02df ret +} + + +void 00e1_XorBuffer( .., _LenInDWORDs(_AC1.M)) { + 00e1 191e lrri $AC0.M, @$AR0 + 00e2 191a lrri $AX0.H, @$AR0 + // 00e3 007f 00e8 bloop $AC1.M, 0x00e8 + for (int i = 0; i < AC1.M; i++) { + 00e5 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H + 00e6 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 00e7 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H + 00e8 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + } + // 00e9 0000 nop + // 00ea 02df ret +} + + +// --- the disasm looks buggy... AR3 seems to be the destination but it isnt used at all... no idea +// Hm, SL actually is able to use AR3 implicitly. +void 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) +{ + // 00eb 8a00 m2 // All multiplication results are multiplied by 2. + // 00ec 157f lsr $ACC1, #-1 //_size/2 + 00ed 1c20 mrr $AR1, $AR0 + 00ee 1c03 mrr $AR0, $AR3 // 'sl stores to AR0 + + // SW pipelineing strikes again... + 00ef 193a lrri $AX0.H, @$AR1 + 00f0 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 + 00f1 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 + // 00f2 007f 00f7 bloop $AC1.M, 0x00f7 + for (int i = 0; i < _size/2; i++) { + AX0.H = *AR1; + PROD = * + // 00f4 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + // 00f5 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + // 00f6 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + // 00f7 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + ACC0 += AX1 + AX0.H = *AR1; + *(AR3++) = AC0.M; + ACC0 = PROD; + PROD = AX0.L * AX0.H; + ... + } + + // In simplified form: + AR1 = AR0; + AR0 = AR3; + for (int i = 0; i < _size; i++) { + *AR0 = ((*AR0 << 16) + *AR1 * Factor) >> 16); + } + + // 00f8 8b00 m0 // Restore multiplication results. + // 00f9 02df ret +} + +void 00fa_BufferMultiply(src($AR0), dst($AR3), count($AC1.M), $mult($AX0.L)) +{ + //00fa 8a00 m2 + 00fb 191a lrri $AX0.H, @$AR0 + 00fc 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0 + 00fd 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 00fe 005f loop $AC1.M + 00ff 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M + + //0100 8b00 m0 + //0101 02df ret +} + + + // Clears the 0d00 and 0d60 buffers, plus a lot of other intermediate buffers. + // Also does some other things. +void 0102_PrepareFrameBuffers() + { + // 0102 8100 clr $ACC0 + // 0103 8900 clr $ACC1 + // 0104 0e50 lris $AC0.M, #0x50 + ACC0 = 0 + ACC1 = 0 + AC0.M = 0x50 + + // 0105 0080 0d00 lri $AR0, #0x0d00 + // 0107 005e loop $AC0.M + // 0108 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x0d00++ = 0x00 + + // 0109 0080 0d60 lri $AR0, #0x0d60 + // 010b 005e loop $AC0.M + // 010c 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x0d60++ = 0x00 + + // 10d 02bf 0e3f call 0x0e3f + + // This one adds and multiplies buffers together. Maybe surround or reverb stuff. + 0e3f_DolbyMixdown() + + // 010f 8100 clr $ACC0 + // 0110 8900 clr $ACC1 + // 0111 0e50 lris $AC0.M, #0x50 + ACC0 = 0 + ACC1 = 0 + AC0.M = 0x50 + + // 0112 0080 0ca0 lri $AR0, #0x0ca0 + // 0114 005e loop $AC0.M + // 0115 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x0ca0++ = 0x00 + + // 0116 0080 0f40 lri $AR0, #0x0f40 + // 0118 005e loop $AC0.M + // 0119 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x0f40++ = 0x00 + + // 011a 0080 0fa0 lri $AR0, #0x0fa0 + // 011c 005e loop $AC0.M + // 011d 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x0fa0++ = 0x00 + + // 011e 0080 0a00 lri $AR0, #0x0a00 + // 0120 005e loop $AC0.M + // 0121 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x0a00++ = 0x00 + + // 0122 0080 09a0 lri $AR0, #0x09a0 + // 0124 005e loop $AC0.M + // 0125 1b1f srri @$AR0, $AC1.M + for (int i=0; i<0x50; i++) + *0x09a0++ = 0x00 + + // 0126 02df ret +} + + +void 0127_Unk() { + 0127 00c0 03a0 lr $AR0, @0x03a0 + 0129 191a lrri $AX0.H, @$AR0 + 012a 00df 03a1 lr $AC1.M, @0x03a1 + 012c 009b 00a0 lri $AX1.H, #0x00a0 + 012e 0081 0393 lri $AR1, #0x0393 + 0130 18bc lrrd $AC0.L, @$AR1 + 0131 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 0132 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0133 0080 0050 lri $AR0, #0x0050 + 0135 0508 addis $ACC1, #0x08 + 0136 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + // 0525_CopyRAMtoDMEM(... ,.. , 0x50) + + // 0138 00de 0390 lr $AC0.M, @0x0390 + // 013a 02a0 0001 andf $AC0.M, #0x0001 + // 013c 029d 0145 jlz 0x0145 + if (*0x0390 & 1) { + 013e 0080 0398 lri $AR0, #0x0398 + 0140 0e08 lris $AC0.M, #0x08 + 0141 00c1 03a1 lr $AR1, @0x03a1 + 0143 02bf 0b2e call 0x0b2e // 0b2e_Unk_Multiply + } + 0145 0f50 lris $AC1.M, #0x50 + 0146 00c0 03a1 lr $AR0, @0x03a1 + 0148 00da 0394 lr $AX0.H, @0x0394 + // 014a 8600 tstaxh $AX0.H + // 014b 0295 0152 jz 0x0152 + if (*0x0394 != 0) { + 014d 1c7a mrr $AR3, $AX0.H + 014e 00d8 0395 lr $AX0.L, @0x0395 + 0150 02bf 00eb call 0x00eb // 00eb_Unk_BufferMultAddToDest + } + 0152 0f50 lris $AC1.M, #0x50 + 0153 00c0 03a1 lr $AR0, @0x03a1 + 0155 00da 0396 lr $AX0.H, @0x0396 + 0157 8600 tstaxh $AX0.H + 0158 0295 015f jz 0x015f + 015a 1c7a mrr $AR3, $AX0.H + 015b 00d8 0397 lr $AX0.L, @0x0397 + 015d 02bf 00eb call 0x00eb // 00eb_Unk_BufferMultAddToDest + + // 015f 00de 0390 lr $AC0.M, @0x0390 + // 0161 02a0 0002 andf $AC0.M, #0x0002 + // 0163 02dd retlz + if (*0x390 & 2) + return; + + 0164 0080 0398 lri $AR0, #0x0398 + 0166 0e08 lris $AC0.M, #0x08 + 0167 00c1 03a1 lr $AR1, @0x03a1 + 0169 02bf 0b2e call 0x0b2e // 0b2e_Unk_Multiply + 016b 02df ret +} + + +// Looks similar to something else... +void 016c_Unk_SetupMemAt_0c00() +{ + 016c 8900 clr $ACC1 + + // 016d 009f 0dc0 lri $AC1.M, #0x0dc0 + // 016f 00ff 03a1 sr @0x03a1, $AC1.M + *0x03a1 = 0x0dc0; + // 0171 009f 03a8 lri $AC1.M, #0x03a8 + // 0173 00ff 03a2 sr @0x03a2, $AC1.M + *0x03a2 = 0x03a8; + // 0175 009f 03a4 lri $AC1.M, #0x03a4 + // 0177 00ff 03a0 sr @0x03a0, $AC1.M + *0x03a0 = 0x03a4; + + // Dangerous bloopi! It points to the SECOND HALF of a 2-word instruction so + // a naive check won't catch it! I think our current code does, though. + + // 0179 1104 019f bloopi #0x04, 0x019f + for (int i = 0; i < 4; i++) { + // 017b 00c0 03a2 lr $AR0, @0x03a2 + // 017d 0083 0390 lri $AR3, #0x0390 + // 017f 0f0e lris $AC1.M, #0x0e + // 0180 02bf 00da call 0x00da + 00da_CopyBuffer(@0x03a2, 0x0390, 0x0e) + + 0182 00da 0390 lr $AX0.H, @0x0390 + 0184 8600 tstaxh $AX0.H + 0185 0295 0191 jz 0x0191 + if (*0x0390) { + 0187 00df 03a1 lr $AC1.M, @0x03a1 + 0189 1c7f mrr $AR3, $AC1.M + 018a 0550 addis $ACC1, #0x50 + + // 018b 1c1f mrr $AR0, $AC1.M + // 018c 0f06 lris $AC1.M, #0x06 + // 018d 02bf 00da call 0x00da + 00da_CopyBuffer($AC1.M, $AR3, 0x06); + + // 018f 02bf 0127 call 0x0127 + 0127_Unk(); + } + // 0191 00de 03a2 lr $AC0.M, @0x03a2 + // 0193 0410 addis $ACC0, #0x10 + // 0194 00fe 03a2 sr @0x03a2, $AC0.M + (*0x03a2) += 0x10; + + // 0196 00de 03a1 lr $AC0.M, @0x03a1 + // 0198 0460 addis $ACC0, #0x60 + // 0199 00fe 03a1 sr @0x03a1, $AC0.M + (*0x03a1) += 0x60; + + // 019b 00de 03a0 lr $AC0.M, @0x03a0 + // 019d 7400 incm $AC0.M + // 019e 00fe 03a0 sr @0x03a0, $AC0.M + (*0x0ea0)++; + } + + // 01a0 0f50 lris $AC1.M, #0x50 + // 01a1 0080 0c00 lri $AR0, #0x0c00 + // 01a3 0083 0e80 lri $AR3, #0x0e80 + // 01a5 0098 7fff lri $AX0.L, #0x7fff + // 01a7 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src(0x0c00), _Dest(0x0e80), _size(0x50), _factor(0x7fff)) + + // 01a9 0f50 lris $AC1.M, #0x50 + // 01aa 0080 0c00 lri $AR0, #0x0c00 + // 01ac 0083 0ee0 lri $AR3, #0x0ee0 + // 01ae 0098 b820 lri $AX0.L, #0xb820 + // 01b0 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src(0x0c00), _Dest(0x0ee0), _size(0x50), _factor(0xb820)) + + // 01b2 0f28 lris $AC1.M, #0x28 + // 01b3 0080 0c78 lri $AR0, #0x0c78 + // 01b5 0083 0e80 lri $AR3, #0x0e80 + // 01b7 0098 b820 lri $AX0.L, #0xb820 + // 01b9 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src(0x0c78), _Dest(0x0e80), _size(0x28), _factor(0xb820)) + // 01bb 0f28 lris $AC1.M, #0x28 + // 01bc 0080 0c78 lri $AR0, #0x0c78 + // 01be 0083 0ee0 lri $AR3, #0x0ee0 + // 01c0 0098 7fff lri $AX0.L, #0x7fff + // 01c2 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src(0x0c78), _Dest(0x0e80), _size(0x28), _factor(0x7fff)) + + // Zero the temporary buffers 0x0c00 and 0x0c50 + 01c4 8100 clr $ACC0 + 01c5 8900 clr $ACC1 + 01c6 0e50 lris $AC0.M, #0x50 + 01c7 0080 0c00 lri $AR0, #0x0c00 + 01c9 005e loop $AC0.M + 01ca 1b1f srri @$AR0, $AC1.M + 01cb 0080 0c50 lri $AR0, #0x0c50 + 01cd 005e loop $AC0.M + 01ce 1b1f srri @$AR0, $AC1.M + + // 01cf 02df ret +} + +void 01d0_Unk() { + // 01d0 00c0 03a0 lr $AR0, @0x03a0 + // 01d2 181a lrr $AX0.H, @$AR0 + AX0.H = *0x03a0; + + // 01d3 8100 clr $ACC0 + // 01d4 181e lrr $AC0.M, @$AR0 + AC0.M = *0x03a0; + + // 01d5 00db 0391 lr $AX1.H, @0x0391 + AX1.H = *0x0391; + + // 01d7 7400 incm $AC0.M + AC0.M++; + + // 01d8 d100 cmpar $ACC1, $AX0.H + // 01d9 0270 ifge + if (ACC1 - AX0.H >= 0) { + 01da 8100 clr $ACC0 + } + + 01db 1b1e srri @$AR0, $AC0.M + 01dc 00df 03a1 lr $AC1.M, @0x03a1 + 01de 009b 00a0 lri $AX1.H, #0x00a0 + 01e0 0081 0393 lri $AR1, #0x0393 + 01e2 18bc lrrd $AC0.L, @$AR1 + 01e3 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 01e4 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + + // 01e5 0080 0050 lri $AR0, #0x0050 + // 01e7 02bf 0532 call 0x0532 + 0532_DMEMtoRAM(_DMEM(AC1.M), _pMemAddr(ACC0), 0x50) + + 01e9 02df ret +} + +void 01ea_Unk() { + 01ea 8900 clr $ACC1 + // 01eb 0f28 lris $AC1.M, #0x28 // half of 0x50 + // 01ec 0080 0c50 lri $AR0, #0x0c50 + // 01ee 0083 0ea8 lri $AR3, #0x0ea8 + // 01f0 0098 b820 lri $AX0.L, #0xb820 + // 01f2 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) + + 01f4 8900 clr $ACC1 + // 01f5 0f28 lris $AC1.M, #0x28 + // 01f6 0080 0c50 lri $AR0, #0x0c50 + // 01f8 0083 0f08 lri $AR3, #0x0f08 + // 01fa 0098 7fff lri $AX0.L, #0x7fff + // 01fc 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) + + + // 01fe 009f 0dc0 lri $AC1.M, #0x0dc0 + // 0200 00ff 03a1 sr @0x03a1, $AC1.M + // 0202 009f 03a8 lri $AC1.M, #0x03a8 + // 0204 00ff 03a2 sr @0x03a2, $AC1.M + // 0206 009f 03a4 lri $AC1.M, #0x03a4 + // 0208 00ff 03a0 sr @0x03a0, $AC1.M + (*0x03a1) = 0x0dc0; + (*0x03a2) = 0x03a8; + (*0x03a0) = 0x03a4; + + // Dangerous bloopi! It points to the SECOND HALF of a 2-word instruction so + // a naive check won't catch it! I think our current code does, though. + + // 020a 1104 0228 bloopi #0x04, 0x0228 + for (int i = 0; i < 4; i++) { + // 020c 00c0 03a2 lr $AR0, @0x03a2 + // 020e 0083 0390 lri $AR3, #0x0390 + // 0210 0f0e lris $AC1.M, #0x0e + // 0211 02bf 00da call 0x00da + 00da_CopyBuffer(_src(*0x03a2), _dest(0x0390), _LenInDWORDs(0xE)) + + // 0213 00da 0390 lr $AX0.H, @0x0390 + // 0215 8600 tstaxh $AX0.H + // 0216 0295 021a jz 0x021a + if (*0x0390) { + // 0218 02bf 01d0 call 0x01d0 + + // Copy some buffer to RAM? + 01d0_Unk(); + } + + // 021a 00de 03a2 lr $AC0.M, @0x03a2 + // 021c 0410 addis $ACC0, #0x10 + // 021d 00fe 03a2 sr @0x03a2, $AC0.M + (*0x03a2) += 0x10; + + // 021f 00de 03a1 lr $AC0.M, @0x03a1 + // 0221 0460 addis $ACC0, #0x60 + // 0222 00fe 03a1 sr @0x03a1, $AC0.M + (*0x03a1) += 0x60; + + // 0224 00de 03a0 lr $AC0.M, @0x03a0 + // 0226 7400 incm $AC0.M + // 0227 00fe 03a0 sr @0x03a0, $AC0.M + (*0x03a0)++; + } + 0229 02df ret +} + + +void 022a_Copy_XXX_From_RAM_To_0x03a8() +{ + // 022a 0081 0386 lri $AR1, #0x0386 + // 022c 009f 03a8 lri $AC1.M, #0x03a8 + // 022e 0080 0040 lri $AR0, #0x0040 + // 0230 02bf 0523 call 0x0523 + 0523_CopyRAMtoDMEM(0x0386, 0x03a8, 0x0040); + + // 0232 02df ret +} + + +void 0233_Increase_32BitAddress_InMem(_MemAddr(AR0), _Bytes(AX0.L)) +{ + // 0233 191e lrri $AC0.M, @$AR0 + // 0234 189c lrrd $AC0.L, @$AR0 + // 0235 4800 addax $ACC0, $AX0 + // 0236 1b1e srri @$AR0, $AC0.M + // 0237 1b1c srri @$AR0, $AC0.L + + *((u32*)AR0) += AX0 + + // 0238 02df ret +} + + +void 0239_WaitUntilLastFrameGotSynced() +{ + // 0239 8100 clr $ACC0 + // 023a 8900 clr $ACC1 + // 023b 00df 0354 lr $AC1.M, @0x0354 + // 023d 00de 034e lr $AC0.M, @0x034e + // 023f 8200 cmp + // 0240 0293 0239 jle 0x0239 // loop + do { + + } while (*0x0354 > *0x034e); // TODO: CHECK + + // 0242 02df ret +} + +///////////////////////// +// +// +// 0x0341: Number of Frames to render ... + +// 0x034c + 0x034d: RAM address of the current PB block + +// 0x034e: Last Sync message for rendered frame +// 0x0354: PB loop counter + +// 0x0355: Current Frame + +// 0x0380: ??? +// 0x0381: ??? + +// 0x0388: RAM Address of Output Buffer1 +// 0x038a: RAM Address of Output Buffer2 +// +// 0x038f: Output Buffer Address (0x0520 most of the time) +// +// 0x03f8: *0x0433 +// 0x0520: Some kind of sample buffer + +// 0x0d00: Left mix buffer +// 0x0d60: Right mix buffer + +void 0243_COMMAND_02() // sync frame +{ + // 0243 0080 0388 lri $AR0, #0x0388 + // 0245 0081 0067 lri $AR1, #0x0067 + // 0247 0e02 lris $AC0.M, #0x02 + // 0248 173f callr $AR1 + 0067_CopyCommand(0x0388, 0x02); + + // 0249 00de 0344 lr $AC0.M, @0x0344 + // 024b 00fe 0341 sr @0x0341, $AC0.M + *0x0341 = *0x0344; + + // 024d 00de 0345 lr $AC0.M, @0x0345 + // 024f 00fe 038e sr @0x038e, $AC0.M + *0x038e = *0x0345; + + // 0251 8100 clr $ACC0 + // 0252 00fe 0355 sr @0x0355, $AC0.M + *0x0355 = 0x00; + + // 0254 02bf 022a call 0x022a + 022a_Copy_XXX_From_RAM_To_0x03a8(); // perhaps an PB ?? + + // 0256 02bf 05a4 call 0x05a4 + 05A4_ResetAccelerator(); + + + // 0258 00de 0341 lr $AC0.M, @0x0341 + // 025a 007e 0418 bloop $AC0.M, 0x0418 + + // Frame size is 0xa0 * *0x0341 + for (int j=0; j< *0x0341; j++) // 0x0341 = high part of the (command & 0xFF) ... perhaps number of frames to render?? + { + // 025c 02bf 0102 call 0x0102 + 0102_PrepareFrameBuffers(); + + // 025e 02bf 016c call 0x016c + 016c_Unk_SetupMemAt_0c00(); + + // 0260 02bf 095f call 0x095f + 095f_Unk_SetupMemAt0_0180(); + + // 0262 00de 0355 lr $AC0.M, @0x0355 + // 0264 7400 incm $AC0.M + // 0265 00fe 0355 sr @0x0355, $AC0.M + (*0x0355)++; + + // 0267 8100 clr $ACC0 + // 0268 00fe 0354 sr @0x0354, $AC0.M + *0x0354 = 0; // PB counter + + // 026a 00de 0342 lr $AC0.M, @0x0342 + // 026c 007e 03c0 bloop $AC0.M, 0x03c0 + for (int i=0; i<*0x0342; i++) // 0x0342 - low part of the DSetupTable Command. Number of PBs? + { + // 026e 02bf 0239 call 0x0239 + 0239_WaitUntilLastFrameGotSynced(); + + // 0270 8100 clr $ACC0 + // 0271 8900 clr $ACC1 + ACC0 = 0; + ACC1 = 0; + + // this block is for masking out PBs... the lower part of the sync messages are updating this mask + // but i am not 100 percent sure how it works + { + // 0272 00de 0354 lr $AC0.M, @0x0354 + // 0274 147c lsr $ACC0, #-4 + // 0275 0200 04fc addi $AC0.M, #0x04fc + // 0277 1c1e mrr $AR0, $AC0.M + AC0.M = *0x0354 >> 4; + AR0 = AC0.M + 0x04fc; + + 0278 181f lrr $AC1.M, @$AR0 + 0279 00de 0354 lr $AC0.M, @0x0354 + 027b 0240 000f andi $AC0.M, #0x000f + // 027d 3d80 lsrnr + ACC1 <<= ACC0 + + 027e 03c0 8000 andcf $AC1.M, #0x8000 + // 0280 029c 03bc jlnz 0x03bc + GOTO NEXT_BLOCK: + } + + // 0282 00d8 0354 lr $AX0.L, @0x0354 + // 0284 009a 0180 lri $AX0.H, #0x0180 + // 0286 8100 clr $ACC0 + // 0287 00de 0380 lr $AC0.M, @0x0380 + // 0289 00dc 0381 lr $AC0.L, @0x0381 + // 028b 9000 mul $AX0.L, $AX0.H + // 028c 9400 mulac $AX0.L, $AX0.H, $ACC0 + // 028d 00fe 034c sr @0x034c, $AC0.M + // 028f 00fc 034d sr @0x034d, $AC0.L + AX0.L = *0x0354 // number of rendered frames + AX0.H = 0x0180 // PB Size with dummy buffer + ACC0 = (*0x0380 << 16) | *0x0381 + ACC0 += AX0.L * AX0.H + + // Compute the RAM address of the current PB. + *0x034C = AC0.M + *0x034D = AC0.L + + // Copy the current PB to 0x400, so we can access it from DSP code. + // 0291 02bf 00c1 call 0x00c1 + 00c1_CopyPBToDMEM() + + // 0293 00da 0400 lr $AX0.H, @0x0400 + // 0295 8600 tstaxh $AX0.H + // 0296 0295 03bc jz 0x03bc + if (*0x0400 == 0x00) + GOTO NEXT_BLOCK: + + // 0298 00da 0401 lr $AX0.H, @0x0401 + // 029a 8600 tstaxh $AX0.H + // 029b 0294 03bc jnz 0x03bc + if (*0x0401 != 0x00) + GOTO NEXT_BLOCK: + + // 029d 00da 0433 lr $AX0.H, @0x0433 + // 029f 00fa 03f8 sr @0x03f8, $AX0.H + *0x03f8 = *0x0433 + + // 02a1 00da 0406 lr $AX0.H, @0x0406 + // 02a3 8600 tstaxh $AX0.H + // 02a4 0294 0dff jnz 0x0dff + if (*0x0406 != 0x00) + { + // The Code at 0x0dff sets the value from *0x0433 to 0x50 shorts at 0x0520. + // Then it JMPs to ContinueWithBlock. + 0dff_Zero520_50(). + } + else + { + // 02a6 8100 clr $ACC0 + // 02a7 00de 0480 lr $AC0.M, @0x0480 + // 02a9 0609 cmpis $ACC0, #0x09 + // 02aa 0295 02bd jz 0x02bd + // 02ac 0605 cmpis $ACC0, #0x05 + // 02ad 0295 02bd jz 0x02bd + // 02af 0608 cmpis $ACC0, #0x08 + // 02b0 0295 098f jz 0x098f + // 02b2 0610 cmpis $ACC0, #0x10 + // 02b3 0295 0a14 jz 0x0a14 + // 02b5 0620 cmpis $ACC0, #0x20 + // 02b6 0295 0a9a jz 0x0a9a + // 02b8 0621 cmpis $ACC0, #0x21 + // 02b9 0295 0aa2 jz 0x0aa2 + // 02bb 029f 087c jmp 0x087c + + switch(*0x0480) + { + case 0x05: + case 0x09: GOTO 02BD: + case 0x08: GOTO 098f: + case 0x10: GOTO 0a14: + case 0x20: GOTO 0a9a: + case 0x21: GOTO 0aa2: + default: GOTO 087C: + } + + // This is the common decoding prep for 0x05 and 0x09. + + // 02bd 00d8 0402 lr $AX0.L, @0x0402 // delta? + // 02bf 8100 clr $ACC0 + // 02c0 8900 clr $ACC1 + // 02c1 00dc 0430 lr $AC0.L, @0x0430 // current fraction? + // 02c3 8d00 set15 // unsigned multiplication + // 02c4 0950 lris $AX1.L, #0x50 + // 02c5 a000 mulx $AX0.L, $AX1.L + // 02c6 a400 mulxac $AX0.L, $AX1.L, $ACC0 + // 02c7 1404 lsl $ACC0, #4 + // 02c8 8c00 clr15 + + // 0x0402 is delta ("Ratio"). + // Is this a computation of the starting point for decoding? + // If so 0x430 is the current sample position fraction and + AX0.L = *0x0402 + ACC0 = *0x430 + (AX0.L * 0x50) + ACC0 >>= 4 + + // 02c9 1ffe mrr $AC1.M, $AC0.M + // 02ca 0083 0580 lri $AR3, #0x0580 + // 02cc 02bf 073d call 0x073d + + // AC1.M here is ACC0.M! Effectively a shift right 16. The above fraction stuff seems to make sense. + 073d_DECODE_0x05_0x09(0x0580, AC1.M, 0x50) + + // NOP jump here. + // 02ce 029f 02d0 jmp 0x02d0 + + Resample_From0580To0520: + // 02d0 0080 0580 lri $AR0, #0x0580 + // 02d2 0081 0520 lri $AR1, #0x0520 + // 02d4 0099 0000 lri $AX1.L, #0x0000 + // 02d6 02bf 0d7f call 0x0d7f + 0d7f_ResampleAudioData(0x0580, 0x0520, 0x0000); + } + + // A block of audio is now present at 0x520. + + ContinueWithBlock: + // Apply various per-voice effects. + + // First up, a trivial in-place filter, if $0x04a8 is set. + + // 02d8 00da 04a8 lr $AX0.H, @0x04a8 + // 02da 8600 tstaxh $AX0.H + // 02db 0295 02e1 jz 0x02e1 + // 02dd 0080 0520 lri $AR0, #0x0520 + // 02df 02bf 0c84 call 0x0c84 + if (0x04a8 != 0) + void 0c84_FilterBufferInPlace(_sampleAddr($AR0), multiplier($AX0.H)) + + // 02e1 009e 0520 lri $AC0.M, #0x0520 + // 02e3 00fe 038f sr @0x038f, $AC0.M + *0x038f = 0x0520 + + // 02e5 8900 clr $ACC1 + // 02e6 00df 0484 lr $AC1.M, @0x0484 + // 02e8 0340 001f andi $AC1.M, #0x001f + // 02ea b900 tst $ACC1 + // 02eb 0295 0311 jz 0x0311 + if ((*0x0484 & 0x1f) != 0x00) + { + // 02ed 00de 038f lr $AC0.M, @0x038f + // 02ef 5c00 sub $ACC0, $ACC1 + // 02f0 00fe 038f sr @0x038f, $AC0.M + (*0x038f) -= AC1.M; + + // 02f2 1c7e mrr $AR3, $AC0.M + // 02f3 0080 0440 lri $AR0, #0x0440 + // 02f5 05fe addis $ACC1, #0xfe + // 02f6 02bf 00da call 0x00da + 00da_CopyBuffer(0x0440, (*0x038f), (*0x0484) + 0xfe) + + // 02f8 0080 0490 lri $AR0, #0x0490 + // 02fa 00c1 038f lr $AR1, @0x038f + // 02fc 8900 clr $ACC1 + // 02fd 00df 0484 lr $AC1.M, @0x0484 + // 02ff 0340 001f andi $AC1.M, #0x001f + // 0301 02bf 0b4d call 0x0b4d + 0b4d_IIR_Filter(In(0x0490), Out(*0x038f), FilterLength(*0x0484 & 0x1f)) + + 0303 00de 038f lr $AC0.M, @0x038f + 0305 0450 addis $ACC0, #0x50 + 0306 1c1e mrr $AR0, $AC0.M + // 0307 0083 0440 lri $AR3, #0x0440 + 0309 8900 clr $ACC1 + 030a 00df 0484 lr $AC1.M, @0x0484 + 030c 0340 001f andi $AC1.M, #0x001f + 030e 05fe addis $ACC1, #0xfe + // 030f 02bf 00da call 0x00da + 00da_CopyBuffer(, 0x0440) + } + + // 0311 00de 0484 lr $AC0.M, @0x0484 + // 0313 0240 0020 andi $AC0.M, #0x0020 + // 0315 0295 0333 jz 0x0333 + if ((*0x0484 & 0x0020) != 0) + { + 0317 0080 04a4 lri $AR0, #0x04a4 + 0319 00c1 038f lr $AR1, @0x038f + 031b 0082 0454 lri $AR2, #0x0454 + 031d 0083 04a7 lri $AR3, #0x04a7 + + // 031f 18fa lrrd $AX0.H, @$AR3 + // 0320 8600 tstaxh $AX0.H + // 0321 0294 0331 jnz 0x0331 + if (!*0x04a7) { + // 0323 18fa lrrd $AX0.H, @$AR3 + // 0324 8600 tstaxh $AX0.H + // 0325 0294 0331 jnz 0x0331 + if (!*0x04a6) { + // 0327 18fa lrrd $AX0.H, @$AR3 + // 0328 8600 tstaxh $AX0.H + // 0329 0294 0331 jnz 0x0331 + if (!*0x04a5) { + // 032b 8100 clr $ACC0 + // 032c 18fe lrrd $AC0.M, @$AR3 + // 032d 0280 7fff cmpi $AC0.M, #0x7fff + // 032f 0295 0333 jz 0x0333 + if (*0x04a4 != 0x7FFF) { + // 0331 02bf 0b68 call 0x0b68 + 0b68_4TapFIR(InBuffer($AR2), FilterBuffer($AR0), OutBuffer($AR1)); + } + } + } + } + } + + // Check volume mode, apply volume as appropriate + + // 0333 8100 clr $ACC0 + // 0334 00de 042c lr $AC0.M, @0x042c + // 0336 b100 tst $ACC0 + // 0337 0295 033d jz 0x033d + + if (*0x042c != 0) // Volume mode != 0 + { + // 0339 02bf 0cd3 call 0x0cd3 + // 033b 029f 03b2 jmp 0x03b2 + 0cd3_VolumeMixer1() // The complex one, probably with surround and stuff + } + else + { + // Volume mode == 0 - simple(r) volumes + // 033d 8100 clr $ACC0 + // 033e 1c9e mrr $IX0, $AC0.M + // 033f 1cde mrr $IX2, $AC0.M + // 0340 7400 incm $AC0.M + // 0341 1cfe mrr $IX3, $AC0.M + // 0342 8100 clr $ACC0 + $IX0 = 0; + $IX2 = 0; + $IX3 = 1; + + // 0343 00de 0407 lr $AC0.M, @0x0407 + // 0345 b100 tst $ACC0 + // 0346 0295 0355 jz 0x0355 + if (*0x0407 != 0) // Unknown, in zelda always 0x10, apparently. + { + // Seems like this all boils down to a backwards copy of + // 0x0470-0x0477 to *(*(0x038f)); + // Is that where we save samples in the PB, so that filters + // have something to read from at the start of each block? + + // 0348 00c3 038f lr $AR3, @0x038f + // 034a 0007 dar $AR3 + $AR3 = *(0x038f) - 1; + // 034b 0080 0477 lri $AR0, #0x0477 + // 034d 0084 ffff lri $IX0, #0xffff + // 034f 0087 ffff lri $IX3, #0xffff + $AR0 = 0x477; + $IX0 = -1; + $IX3 = -1; + // 0351 199a lrrn $AX0.H, @$AR0 + AX0.H = *$AR0; + AR0 += IX0; + + // 0352 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 + $ACC1 = $AX0.H; + $AX0.H = *$AR0; + $AR0 += IX0; + // 0353 005e loop $AC0.M + for (int i = 0; i < AC0.M; i++) { + 0354 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M + } + } + + // 0355 00da 0485 lr $AX0.H, @0x0485 + // 0357 8600 tstaxh $AX0.H + // 0358 0295 036b jz 0x036b + if (*0x0485 != 0) + { + 035a 8900 clr $ACC1 + 035b 0086 0005 lri $IX2, #0x0005 // 5 - 1 = 4, see loop + 035d 0082 040a lri $AR2, #0x040a + // 035f 1106 0363 bloopi #0x06, 0x0363 + + // Store half of every 4th value from 0x040a onwards in the position before. (!!!!) + // This really doesn't make a lot of sense. + // At the same time, keep their sum in ACC1. + for (int i = 0; i < 0x6; i++) { + // 0361 18de lrrd $AC0.M, @$AR2 + // 0362 147f lsr $ACC0, #-1 + // 0363 4d36 add'sn $ACC1, $ACC0 : @$AR2, $AC0.M + $AC0.M = *$AR2 >> 1; + $AR2--; + $ACC1 += $ACC0; + *$AR2 = $ACC0; + $AR2 += 5; + } + // 0364 b900 tst $ACC1 + // 0365 0294 036b jnz 0x036b + + // Volume has dropped to 0 on all channels, stop sound? + if (sum == 0) { + // 0367 009a 0001 lri $AX0.H, #0x0001 + // 0369 00fa 0401 sr @0x0401, $AX0.H // Write 1 to KeyOff. + } + } + + // 036b 8f00 set40 + // 036c 0086 0002 lri $IX2, #0x0002 + // 036e 0082 0408 lri $AR2, #0x0408 + $IX2 = 0x0002; + $AR2 = 0x0408; + + // Volume data starts at 0x0408, it's like this: + // 1 word controls sbset #0x00 apparently + // 2 volume values + // 1 other word. + + // 0370 1106 039b bloopi #0x06, 0x039b + for (int i = 0; i < 6; i++) + { + // 0372 8100 clr $ACC0 + // 0373 195e lrri $AC0.M, @$AR2 + // 0374 1200 sbclr #0x00 // W T F??? + // 0375 b100 tst $ACC0 + // 0376 0275 ifz + // 0377 1300 sbset #0x00 + // sbset #0x00 is logic zero ... we use it to store a bit here. see 0394 + if (*$AR2 == 0) { + sbset #0x00 + } else { + sbclr #0x00 + } + + 0378 1c7e mrr $AR3, $AC0.M + + 0379 195e lrri $AC0.M, @$AR2 // Load the two volume values + 037a 195f lrri $AC1.M, @$AR2 + + // 037b 5c00 sub $ACC0, $ACC1 // Subtract them - find volume delta? + // 037c 14fb asr $ACC0, #-5 + // 037d 1f5e mrr $AX0.H, $AC0.M + // 037e 1f1c mrr $AX0.L, $AC0.L + $AX0 = (vol1 - vol2) >> 5; // 32 steps .. + + // Read the value after the volumes. + + // 037f 185e lrr $AC0.M, @$AR2 + // 0380 0240 00ff andi $AC0.M, #0x00ff + // 0382 1f7e mrr $AX1.H, $AC0.M + $AX1.H = *$AR2 & 0xFF; + + // 0383 185e lrr $AC0.M, @$AR2 + // 0384 1478 lsr $ACC0, #-8 + // 0385 009c 0000 lri $AC0.L, #0x0000 + $AC0.M = *$AR2 >> 8; + + // ACC1 is here the second volume. Compare to delta. + // Adjust *$AR2 for some reason accordingly... + + // 0387 d100 cmpar $ACC1, $AX0.H + // 0388 0295 0390 jz 0x0390 + // 038a 185e lrr $AC0.M, @$AR2 + // 038b 0272 ifg + // 038c 7400 incm $AC0.M + // 038d 0271 ifl + // 038e 7800 decm $AC0.M + // 038f 1a5e srr @$AR2, $AC0.M + if ($ACC1 < $AX0.H) { + (*$AR2)--; + } else if ($ACC1 > $AX0.H) { + (*$AR2)++ + } + + // 0390 0006 dar $AR2 + $AR2--; + + // $AR2 again points at the second volume. + + 0391 00de 038f lr $AC0.M, @0x038f + + // Per channel mini-delay? + 0393 5600 subr $ACC0, $AX1.H // see 0382 + + // Use that stored logic zero bit, to skip mixing if the first word is (or isn't? not sure) 0. + // 0394 029d 0399 jlz 0x0399 + if (!logic zero) { + // 0396 1c1e mrr $AR0, $AC0.M + // 0397 02bf 0ca9 call 0x0ca9 + 0ca9_RampedMultiplyAddBuffer(Volume($ACC1), VolumeDelta($AX0), MultiplierData($AR0), Buffer($AR3)) + } + // 0399 0000 nop + // 039a 1b5f srri @$AR2, $AC1.M + // Update the second volume. + *($AR2++) = $AC1.M; + // 039b 000a iar $AR2 + $AR2++; // Next block of four values. + } + + // 039c 8e00 set16 + + // 039d 8100 clr $ACC0 + // 039e 00de 0407 lr $AC0.M, @0x0407 + // 03a0 b100 tst $ACC0 + // 03a1 0295 03b2 jz 0x03b2 + if (*0x0407 != 0) + { + // Stash away the last bunch of samples into 0x0477 and backwards, + // so that filter kernels and resampler have some previous data to + // read from the next time. + 03a3 00c3 038f lr $AR3, @0x038f + 03a5 0087 004f lri $IX3, #0x004f + 03a7 001f addarn $AR3, $IX3 + 03a8 0080 0477 lri $AR0, #0x0477 + 03aa 0084 ffff lri $IX0, #0xffff + 03ac 0087 ffff lri $IX3, #0xffff + 03ae 19fa lrrn $AX0.H, @$AR3 + 03af 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 + 03b0 005e loop $AC0.M + 03b1 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H + } + } + + // 03b2 00da 0406 lr $AX0.H, @0x0406 + // 03b4 8600 tstaxh $AX0.H + // 03b5 0294 03ba jnz 0x03ba + if (*0x0406 == 0) + { + // 03b7 8100 clr $ACC0 + // 03b8 00fe 0404 sr @0x0404, $AC0.M + *0x0404 = 0x0000 + } + + // 03ba 02bf 00ca call 0x00ca + 00ca_CopyPBToRAM() + + NEXT_BLOCK: + 03bc 00de 0354 lr $AC0.M, @0x0354 + 03be 7400 incm $AC0.M + 03bf 00fe 0354 sr @0x0354, $AC0.M + } + + // Done mixing all voices, sync up with host before the final mixdown. + + // 03c1 0e00 lris $AC0.M, #0x00 + // 03c2 00fe 034e sr @0x034e, $AC0.M + *0x034e = 0x00 + + // 03c4 0e04 lris $AC0.M, #0x04 + // 03c5 02bf 066a call 0x066a + SendMB_DCD1(0x0004) + + // 03c7 00de 0355 lr $AC0.M, @0x0355 + // 03c9 0260 ff00 ori $AC0.M, #0xff00 + // 03cb 02bf 0674 call 0x0674 + SendMB_F355(*0x0355 | 0xFF00) // *0x0355 - current frame + + + // Buffer 0D00 and 0D60 are the final L & R mixing buffers. + + // This is where global effects are applied, and final mixdown is done. + + // 03cd 02bf 0c0a call 0x0c0a + 0c0a_Unk() // Copy 0a00 to 0a60? + + // 03cf 02bf 0c1c call 0x0c1c + 0c1c_ComputeReverbFrom0a60To0a00() // Not sure if this really is reverb but could be. + + // 03d1 02bf 0c71 call 0x0c71 + 0c71_AddBufferA00ToD60AndD00(); // add A00 on top of 0x0D00 and 0x0D60 + + // 03d3 00de 0341 lr $AC0.M, @0x0341 + // 03d5 7800 decm $AC0.M + // 03d6 00fe 0341 sr @0x0341, $AC0.M + + (*0x0341)--; + + // The audio at 09a0 is added to both channels, + // then the channel buffers are copied to RAM. + // For unknown reasons, the audio at 0x0fa0 is ONLY added to the right channel. + + // 03d8 0080 09a0 lri $AR0, #0x09a0 + // 03da 0083 0d00 lri $AR3, #0x0d00 + // 03dc 0f50 lris $AC1.M, #0x50 + // 03dd 0098 5a82 lri $AX0.L, #0x5a82 + // 03df 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(0x09a0, 0x0d00, 0x50, 0x5a82) + + // 03e1 0080 09a0 lri $AR0, #0x09a0 + // 03e3 0083 0d60 lri $AR3, #0x0d60 + // 03e5 0f50 lris $AC1.M, #0x50 + // 03e6 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(0x09a0, 0x0d60, 0x50, 0x5a82) + + // 03e8 0083 0d00 lri $AR3, #0x0d00 + // 03ea 02bf 0cc1 call 0x0cc1 + 0cc1_StrangeORRFilter(0x0d00) + + // 03ec 0081 0388 lri $AR1, #0x0388 + // 03ee 009f 0d00 lri $AC1.M, #0x0d00 + // 03f0 0080 0050 lri $AR0, #0x0050 + // 03f2 02bf 0530 call 0x0530 + 0530_DMEMtoRAM_Ind(0x0d00, 0x0388, 0x050) + + // 03f4 0080 0fa0 lri $AR0, #0x0fa0 + // 03f6 0083 0d60 lri $AR3, #0x0d60 + // 03f8 0f50 lris $AC1.M, #0x50 + // 03f9 0098 8000 lri $AX0.L, #0x8000 + // 03fb 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(0x0fa0, 0x0d60, 0x50, 0x8000) + + // 03fd 0083 0d60 lri $AR3, #0x0d60 + // 03ff 02bf 0cc1 call 0x0cc1 + 0cc1_StrangeORRFilter(0x0d60) + + // 0401 0081 038a lri $AR1, #0x038a + // 0403 009f 0d60 lri $AC1.M, #0x0d60 + // 0405 0080 0050 lri $AR0, #0x0050 + // 0407 02bf 0530 call 0x0530 + 0530_DMEMtoRAM_Ind(0x0d60, 0x038a, 0x050) + + + // Move both RAM output buffer pointers forward, 0xa0 bytes (0x50 samples). + + // 0409 009a 0000 lri $AX0.H, #0x0000 + // 040b 0098 00a0 lri $AX0.L, #0x00a0 + // 040d 0080 0388 lri $AR0, #0x0388 + // 040f 02bf 0233 call 0x0233 + 0233_Increase_32BitAddress_InMem(0x0388, 0xa0) + // 0411 0080 038a lri $AR0, #0x038a + // 0413 02bf 0233 call 0x0233 + 0233_Increase_32BitAddress_InMem(0x038a, 0xa0) + + + // 0415 02bf 01ea call 0x01ea + 01ea_Unk(); + + 0417 0000 nop + 0418 0000 nop + } + + // 0419 0080 002d lri $AR0, #0x002d + // 041b 029f 0603 jmp 0x0603 + 0603_FinalizeFrame(0x02d) +} + +// Command 07 - not seen used. +void 041d_Unk() { + 041d 0080 0346 lri $AR0, #0x0346 + // 041f 02bf 0067 call 0x0067 + 0067_CopyCommand(_destAddr(#0x0346), _loopCount($AC0.M)) + // 0421 02bf 0067 call 0x0067 + 0067_CopyCommand(_destAddr(#0x0346), _loopCount($AC0.M)) + + 0423 0081 0346 lri $AR1, #0x0346 + 0425 193e lrri $AC0.M, @$AR1 + 0426 193c lrri $AC0.L, @$AR1 + 0427 009f 0400 lri $AC1.M, #0x0400 + 0429 00c0 0345 lr $AR0, @0x0345 + 042b 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + 042d 0081 0348 lri $AR1, #0x0348 + 042f 193e lrri $AC0.M, @$AR1 + 0430 193c lrri $AC0.L, @$AR1 + 0431 009f 0800 lri $AC1.M, #0x0800 + 0433 00c0 0345 lr $AR0, @0x0345 + 0435 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + 0437 0081 0346 lri $AR1, #0x0346 + 0439 193e lrri $AC0.M, @$AR1 + 043a 193c lrri $AC0.L, @$AR1 + 043b 009f 0800 lri $AC1.M, #0x0800 + 043d 00c0 0345 lr $AR0, @0x0345 + 043f 02bf 0532 call 0x0532 + 0441 0081 0348 lri $AR1, #0x0348 + 0443 193e lrri $AC0.M, @$AR1 + 0444 193c lrri $AC0.L, @$AR1 + 0445 009f 0400 lri $AC1.M, #0x0400 + 0447 00c0 0345 lr $AR0, @0x0345 + 0449 02bf 0532 call 0x0532 + 044b 029f 0043 jmp 0x0043 +} + +void 044d_COMMAND_07() +{ + 044d 0080 0346 lri $AR0, #0x0346 + 044f 02bf 0067 call 0x0067 + 0451 02bf 0067 call 0x0067 + 0453 0081 0346 lri $AR1, #0x0346 + 0455 193e lrri $AC0.M, @$AR1 + 0456 193c lrri $AC0.L, @$AR1 + 0457 009f 0400 lri $AC1.M, #0x0400 + 0459 00c0 0345 lr $AR0, @0x0345 + 045b 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + 045d 0081 0348 lri $AR1, #0x0348 + 045f 193e lrri $AC0.M, @$AR1 + 0460 193c lrri $AC0.L, @$AR1 + 0461 009f 0400 lri $AC1.M, #0x0400 + 0463 00c0 0345 lr $AR0, @0x0345 + 0465 02bf 0532 call 0x0532 + 0467 029f 0043 jmp 0x0043 +} + +void 0469_COMMAND_06_09() +{ + 0469 0080 0346 lri $AR0, #0x0346 + 046b 02bf 0067 call 0x0067 + 046d 02bf 0067 call 0x0067 + 046f 0081 0346 lri $AR1, #0x0346 + 0471 193e lrri $AC0.M, @$AR1 + 0472 193c lrri $AC0.L, @$AR1 + 0473 009f 0400 lri $AC1.M, #0x0400 + 0475 00c0 0345 lr $AR0, @0x0345 + // 0477 02bf 0555 call 0x0555 // ReadFromMysteryReg + 0555_UnknownReadFromMysteryReg(ARAMAddress(ACC0), DestBuffer(AC1.M), Length(AC0.M)) { + + 0479 0081 0348 lri $AR1, #0x0348 + 047b 193e lrri $AC0.M, @$AR1 + 047c 193c lrri $AC0.L, @$AR1 + 047d 009f 0400 lri $AC1.M, #0x0400 + 047f 00c0 0345 lr $AR0, @0x0345 + 0481 02bf 0532 call 0x0532 + 0483 029f 0043 jmp 0x0043 +} + +void 0485_COMMAND_08() +{ + 0485 0080 0346 lri $AR0, #0x0346 + 0487 02bf 0067 call 0x0067 + 0489 02bf 0067 call 0x0067 + 048b 0081 0346 lri $AR1, #0x0346 + 048d 193e lrri $AC0.M, @$AR1 + 048e 193c lrri $AC0.L, @$AR1 + 048f 009f 0400 lri $AC1.M, #0x0400 + 0491 00c0 0344 lr $AR0, @0x0344 + 0493 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + 0495 0081 0348 lri $AR1, #0x0348 + 0497 193e lrri $AC0.M, @$AR1 + 0498 193c lrri $AC0.L, @$AR1 + 0499 009f 0800 lri $AC1.M, #0x0800 + 049b 00c0 0344 lr $AR0, @0x0344 + 049d 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + 049f 0080 0400 lri $AR0, #0x0400 + 04a1 0083 0800 lri $AR3, #0x0800 + 04a3 0084 0000 lri $IX0, #0x0000 + 04a5 00da 0345 lr $AX0.H, @0x0345 + 04a7 00df 0344 lr $AC1.M, @0x0344 + 04a9 8f00 set40 + 04aa 197b lrri $AX1.H, @$AR3 + 04ab b800 mulx $AX0.H, $AX1.H + 04ac 197b lrri $AX1.H, @$AR3 + 04ad 007f 04b2 bloop $AC1.M, 0x04b2 + 04af 199e lrrn $AC0.M, @$AR0 + 04b0 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 04b1 80b2 nx'sl : $AC0.M, $AX1.H + 04b2 0000 nop + 04b3 8e00 set16 + 04b4 0081 0346 lri $AR1, #0x0346 + 04b6 193e lrri $AC0.M, @$AR1 + 04b7 193c lrri $AC0.L, @$AR1 + 04b8 009f 0400 lri $AC1.M, #0x0400 + 04ba 00c0 0344 lr $AR0, @0x0344 + 04bc 02bf 0532 call 0x0532 + 04be 029f 0043 jmp 0x0043 +} + + +// Zeroes 256 words @ 0x0b00, calls 0x0573 +void 04c0_UnknownInit() +{ + 04c0 0092 00ff lri $CR, #0x00ff + 04c2 8100 clr $ACC0 + 04c3 0080 0b00 lri $AR0, #0x0b00 + 04c5 10ff loopi #0xff + 04c6 1b1e srri @$AR0, $AC0.M + 04c7 1b1e srri @$AR0, $AC0.M + 04c8 8100 clr $ACC0 + 04c9 009f 0b00 lri $AC1.M, #0x0b00 + 04cb 0080 0100 lri $AR0, #0x0100 + 04cd 02bf 0573 call 0x0573 + + 04cf 02df ret +} + + +void 04d0_Unk() { + // 04d0 02bf 04e1 call 0x04e1 + 04e1_Read0x40WordsFromZeroTo0b00() + + // 04fb is incremented when you reset a voice + 04d2 00df 04fb lr $AC1.M, @0x04fb + 04d4 009e 0b00 lri $AC0.M, #0x0b00 + 04d6 4c00 add $ACC0, $ACC1 + 04d7 1c1e mrr $AR0, $AC0.M + + 04d8 181e lrr $AC0.M, @$AR0 + 04d9 7400 incm $AC0.M + 04da 1a1e srr @$AR0, $AC0.M + *(AR0)++ + + 04db 02bf 04ea call 0x04ea + 04dd 8100 clr $ACC0 + 04de 00fe 04fb sr @0x04fb, $AC0.M + 04e0 02df ret +} + +void 04e1_Read0x40WordsFromZeroTo0b00() { + 04e1 0092 00ff lri $CR, #0x00ff + 04e3 8100 clr $ACC0 + 04e4 009f 0b00 lri $AC1.M, #0x0b00 + 04e6 0080 0040 lri $AR0, #0x0040 + // 04e8 029f 0555 jmp 0x0555 + GOTO 0555_UnknownReadFromMysteryReg(ARAMAddress(ACC0), DestBuffer(AC1.M), Length(AR0)) { +} + +void 04ea_Call0573With0b00And0050() { + 04ea 8100 clr $ACC0 + 04eb 009f 0b00 lri $AC1.M, #0x0b00 + 04ed 0080 0050 lri $AR0, #0x0050 + 04ef 029f 0573 jmp 0x0573 + // I don't get it, the above doesn't match the parameters + 0573_Mystery_Write(InBuffer($AR1), _COUNT(AX0.H)); +} + + +void 04f1_Read0x40WordsFromZeroTo0b00() { + // 04f1 02bf 04e1 call 0x04e1 + 04e1_Read0x40WordsFromZeroTo0b00(); +} + +void 04f3_strange() { + 04f3 8900 clr $ACC1 + 04f4 0080 04fc lri $AR0, #0x04fc + 04f6 8100 clr $ACC0 + + // Count the masked voices, look at all four mask words + // 04f7 1104 0505 bloopi #0x04, 0x0505 + for (int j = 0; j < 4; j++) { + 04f9 0000 nop + 04fa 191e lrri $AC0.M, @$AR0 + 04fb 0000 nop + + 04fc 1110 0503 bloopi #0x10, 0x0503 + for (int i = 0; i < 0x10; i++) { + 04fe 02c0 0001 andcf $AC0.M, #0x0001 + 0500 027d iflz + 0501 7500 incm $AC1.M // count up + 0502 147f lsr $ACC0, #-1 + 0503 0000 nop + } + 0504 0000 nop + 0505 0000 nop + } + // AC1.M now contains the count of all voices masked/unmasked (not sure which) + + // Copy the voice masks to 0x0b48 ... + 0506 00de 04fc lr $AC0.M, @0x04fc + 0508 00fe 0b48 sr @0x0b48, $AC0.M + 050a 00de 04fd lr $AC0.M, @0x04fd + 050c 00fe 0b49 sr @0x0b49, $AC0.M + 050e 00de 04fe lr $AC0.M, @0x04fe + 0510 00fe 0b4a sr @0x0b4a, $AC0.M + 0512 00de 04ff lr $AC0.M, @0x04ff + 0514 00fe 0b4b sr @0x0b4b, $AC0.M + + 0516 009e 0b00 lri $AC0.M, #0x0b00 + 0518 4c00 add $ACC0, $ACC1 // The value is in AC1.M, this must be wrong disasm + 0519 1c1e mrr $AR0, $AC0.M + + // Increment the counter at [ #0b00 + masked voice count] + // why would you do this? making bucket histogram over the number of active voices? + 051a 181e lrr $AC0.M, @$AR0 + 051b 7400 incm $AC0.M + 051c 1a1e srr @$AR0, $AC0.M + + 051d 02bf 04ea call 0x04ea // 04ea_Call0573With0b00And0050() + 051f 02df ret +} + +void PointlessFunction_Unused() { + 0520 02bf 04ea call 0x04ea // 04ea_Call0573With0b00And0050() + 0522 02df ret +} + + +// the first parameter is a pointer to the real RAM addr +void 0523_CopyRAMtoDMEM(&_srcRAM($AR1), _destDMEM($AC1.M), _len($AR0)) +{ + // 0523 193e lrri $AC0.M, @$AR1 + // 0524 193c lrri $AC0.L, @$AR1 + AC0 = *AR1++ << 16 | *AR1 + +void 0525_CopyRAMtoDMEM(_srcRAM($AR1), _destDMEM($AC1.M), _len($AR0)) +{ + 0525 2fcd srs @DSPA, $AC1.M + 0526 0f00 lris $AC1.M, #0x00 + + // ugly jump to share code... i am not going to document it ^^ + 0527 2fc9 srs @DSCR, $AC1.M + 0528 2ece srs @DSMAH, $AC0.M + 0529 2ccf srs @DSMAL, $AC0.L + 052a 1fe0 mrr $AC1.M, $AR0 + 052b 1501 lsl $ACC1, #1 + 052c 2fcb srs @DSBL, $AC1.M + + // 052d 02bf 0536 call 0x0536 + 0536_WaitForDMATransfer() + + // 052f 02df ret +} + +void 0530_DMEMtoRAM_Ind(_DMEM(AC1.M), _pMemAddr(AR1), _len(AR0)) +{ + // 0530 193e lrri $AC0.M, @$AR1 + // 0531 193c lrri $AC0.L, @$AR1 + AC0 = *AR1++ << 16 | *AR1 + // continues.... + +void 0532_DMEMtoRAM(_DMEM(AC1.M), _pMemAddr(ACC0), _len(AR0)) +{ + 0532 2fcd srs @DSPA, $AC1.M + 0533 0f01 lris $AC1.M, #0x01 + 0534 029f 0527 jmp 0x0527 +} + +void 0536_WaitForDMATransfer() +{ + 0536 26c9 lrs $AC0.M, @DSCR + 0537 02a0 0004 andf $AC0.M, #0x0004 + 0539 029c 0536 jlnz 0x0536 + 053b 02df ret +} + +// Can't find any calls to this one. +void 053c_Unk_Unused() { + 053c 193e lrri $AC0.M, @$AR1 + 053d 193c lrri $AC0.L, @$AR1 + 053e 00ff ffcd sr @DSPA, $AC1.M + 0540 0f00 lris $AC1.M, #0x00 + 0541 00ff ffc9 sr @DSCR, $AC1.M + 0543 00fe ffce sr @DSMAH, $AC0.M + 0545 00fc ffcf sr @DSMAL, $AC0.L + 0547 1fe0 mrr $AC1.M, $AR0 + 0548 1501 lsl $ACC1, #1 + 0549 00ff ffcb sr @DSBL, $AC1.M + 054b 02df ret +} + +void 054c_WaitForDMATransfer2_Unused() { + 054c 00de ffc9 lr $AC0.M, @DSCR + 054e 02a0 0004 andf $AC0.M, #0x0004 + 0550 029c 054c jlnz 0x054c + 0552 02df ret +} + +void 0553_UnknownReadFromMysteryReg_Unused() { + 0553 193e lrri $AC0.M, @$AR1 + 0554 193c lrri $AC0.L, @$AR1 + // continues... + +void 0555_UnknownReadFromMysteryReg(ARAMAddress(ACC0), DestBuffer(AC1.M), Length(AC0.M)) { + // 0555 0240 7fff andi $AC0.M, #0x7fff + // 0557 02bf 0561 call 0x0561 + 0561_SetupAcceleratorForMysteryAccess(ACC0 & 0x7FFFFFFF, AR0, AC1.M); + // After that, length is now in AX0.H + + // 0559 007a 055f bloop $AX0.H, 0x055f + for (int i = 0; i < AX0.H; i++) { + // 055b 26d3 lrs $AC0.M, @Unk Zelda + // 055c 1b3e srri @$AR1, $AC0.M + *(AR1++) = ReadFromUnknownAcceleratorRegister(); + } + // 055d 0000 nop + // 055e 0000 nop + // 055f 0000 nop + // 0560 02df ret +} + +void 0561_SetupAcceleratorForMysteryAccess(ARAMAddress(ACC0), DestBuffer(AC1.M), Length(AR0)) { + 0561 1c3f mrr $AR1, $AC1.M + 0562 0f0a lris $AC1.M, #0x0a + 0563 2fd1 srs @SampleFormat, $AC1.M + 0564 1f5e mrr $AX0.H, $AC0.M + 0565 1f1c mrr $AX0.L, $AC0.L + // Store 0xFFFFFFFF value as end address - Zelda does not use the looping hardware + 0566 009e ffff lri $AC0.M, #0xffff + 0568 2ed6 srs @ACEAH, $AC0.M // end address + 0569 2ed7 srs @ACEAL, $AC0.M + 056a 1fda mrr $AC0.M, $AX0.H + 056b 1f98 mrr $AC0.L, $AX0.L + // Divide "current" address by 2. + 056c 147f lsr $ACC0, #-1 + 056d 2ed8 srs @ACCAH, $AC0.M // Current address + 056e 2cd9 srs @ACCAL, $AC0.L + 056f 1f40 mrr $AX0.H, $AR0 + 0570 02df ret +} + +// Writes to UnkZelda, nops +void 0571_Mystery_Write_FirstLoadTwoRegs_Unused() { + 0571 193e lrri $AC0.M, @$AR1 + 0572 193c lrri $AC0.L, @$AR1 + +void 0573_Mystery_Write(InBuffer($AR1), SourceBuffer(AC1.M), _COUNT(AX0.H)) { + 0573 0090 0001 lri $AC0.H, #0x0001 + // 0575 02bf 0561 call 0x0561 + 0561_SetupAcceleratorForMysteryAccess(ACC0, AR0, AC1.M); + 0577 007a 057e bloop $AX0.H, 0x057e + 0579 193e lrri $AC0.M, @$AR1 + 057a 2ed3 srs @Unk Zelda, $AC0.M + 057b 0000 nop // seems the above store takes some time, + 057c 0000 nop // whatever it does, so ... 4 nops does the trick I guess + 057d 0000 nop + 057e 0000 nop + 057f 02df ret +} + + +void 0580_COMMAND_04() +{ + // commando looks buggy... + // it copies data to the switch casement data address... sounds like BS + + 0580 0080 0346 lri $AR0, #0x0346 + 0582 02bf 0067 call 0x0067 + 0584 02bf 0067 call 0x0067 + + 0067_CopyCommand(0x0346, mssing AC0.M??) + + 0586 0081 0346 lri $AR1, #0x0346 + 0588 00df 0349 lr $AC1.M, @0x0349 + 058a 0340 ffff andi $AC1.M, #0xffff + 058c 00c0 0345 lr $AR0, @0x0345 + 058e 02bf 0523 call 0x0523 + 0590 029f 0043 jmp 0x0043 +} + +void 0592_COMMAND_05() +{ + 0592 0080 0346 lri $AR0, #0x0346 + 0594 02bf 0067 call 0x0067 + 0596 02bf 0067 call 0x0067 + + // 0598 0081 0346 lri $AR1, #0x0346 + // 059a 00df 0349 lr $AC1.M, @0x0349 + // 059c 0340 ffff andi $AC1.M, #0xffff + // 059e 00c0 0345 lr $AR0, @0x0345 + // 05a0 02bf 0530 call 0x0530 + 0530_DMEMtoRAM_Ind((*0x0349)&0xFFFF, 0x0346, *0x0345) + + // 05a2 029f 0043 jmp 0x0043 + // jumps back to send sync messages .... +} + + +void 05A4_ResetAccelerator() +{ + 05a4 0092 00ff lri $CR, #0x00ff + 05a6 009e ffff lri $AC0.M, #0xffff + 05a8 2ed4 srs @ACSAH, $AC0.M + 05a9 2ed5 srs @ACSAL, $AC0.M + 05aa 2ed6 srs @ACEAH, $AC0.M + 05ab 2ed7 srs @ACEAL, $AC0.M + 05ac 02df ret +} + + +void 05ad_SetupAccelerator(_acceleratorH(AC0.M), _accleratorL(AC0.L), _format(AC1.M)) +{ + // 05ad 00ff ffd1 sr @SampleFormat, $AC1.M + *SampleFormat = AC1.M + + // 05af 0340 0003 andi $AC1.M, #0x0003 + // 05b1 7900 decm $AC1.M + // 05b2 02ca lsrn // ACC0 >>= AC1.M + // 05b3 00fe ffd8 sr @ACCAH, $AC0.M + // 05b5 00fc ffd9 sr @ACCAL, $AC0.L + + *ACCAH/ACCAL = address >> ((sampleFormat & 3) - 1); + // ACCAH/ACCAL is current read address + // Hm, this seems to imply some direct relationship between the sample format number and + // the nibbles-per-sample value + + // 05b7 02df ret +} + +void 05b8_NewMail() { + # 05b8 1205 sbclr #0x05 + # 05b9 8e00 set16 + + /* + 05ba 00f0 03fd sr @0x03fd, $AC0.H + 05bc 00fc 03ff sr @0x03ff, $AC0.L + 05be f400 lsr16 $ACC0 + 05bf 00fc 03fe sr @0x03fe, $AC0.L + 05c1 00fa 03fa sr @0x03fa, $AX0.H + 05c3 8100 clr $ACC0 + + save AC0 register + */ + + *0x03fd = AC0.H + *0x03ff = AC0.L + ACC0 >>= 16 + *0x03fe = AC0.L + *0x03fa = AX0.H + + // 05c4 00de fffe lr $AC0.M, @CMBH + // 05c6 02c0 8000 andcf $AC0.M, #0x8000 + // 05c8 029c 06b9 jlnz 0x06b9 + if (@CMBH & 0x8000 > 0) + { + !MISSING! + } + + // 05ca 00da ffff lr $AX0.H, @CMBL + // 05cc 8600 tstaxh $AX0.H + // 05cd 0294 0692 jnz 0x0692 + if (*CMBL != 0) + { + !MISSING! + } + + + // 05cf 00de fffe lr $AC0.M, @CMBH + // 05d1 02c0 8000 andcf $AC0.M, #0x8000 + // 05d3 029c 05cf jlnz 0x05cf + while(@CMBH & 0x8000 > 0); + + + // 05d5 0240 000f andi $AC0.M, #0x000f + // 05d7 1f5e mrr $AX0.H, $AC0.M + // 05d8 7400 incm $AC0.M + // 05d9 0c00 lris $AC0.L, #0x00 + // 05da 1404 lsl $ACC0, #4 + // 05db 00fe 034e sr @0x034e, $AC0.M + AC0.M = *CMBH & 0x000F + AX0.H = AC0.M + *0x034e = (AC0.M++) << 4 + + + // 05dd 1fda mrr $AC0.M, $AX0.H + // 05de 1f40 mrr $AX0.H, $AR0 + // 05df 0200 04fc addi $AC0.M, #0x04fc + // 05e1 1c1e mrr $AR0, $AC0.M + + AX0.H = AR0 // save AR0 + + AC0.M = *CMBH & 0x000F + AC0.M += 0x04fc + AR0 = AC0.M + + // 05e2 00de ffff lr $AC0.M, @CMBL + // 05e4 1a1e srr @$AR0, $AC0.M + // 05e5 1c1a mrr $AR0, $AX0.H + AC0.M = *CMBL + *AR0 = AC0.M + AR0 = AX.H // restore AR0 + + +EndOfMailException: + + /* + 05e6 00de 03fe lr $AC0.M, @0x03fe + 05e8 00dc 03ff lr $AC0.L, @0x03ff + 05ea 00d0 03fd lr $AC0.H, @0x03fd + 05ec 00da 03fa lr $AX0.H, @0x03fa + restore AC0 register + */ + AC0.M = *0x03fe + AC0.L = *0x03ff + AC0.H = *0x03fd + AX0.H = *0x03fa + + # 05ee 1305 sbset #0x05 + + 05ef 02ff rti +} + +void 05f0_HaltUCode() +{ + 05f0 009a 0002 lri $AX0.H, #0x0002 + 05f2 00fa 03a3 sr @0x03a3, $AX0.H + 05f4 00e0 03f9 sr @0x03f9, $AR0 + /* + 05f6 02bf 067c call 0x067c + */ + 067c_Unk() + + 05f8 16fc dcd1 si @DMBH, #0xdcd1 + 05fa 16fd 0002 si @DMBL, #0x0002 + 05fc 16fb 0001 si @DIRQ, #0x0001 + 05fe 0021 halt +} + +// Sync Table +05ff 0617 cmpis $ACC0, #0x17 +0600 0618 cmpis $ACC0, #0x18 +0601 0658 cmpis $ACC0, #0x58 +0602 065b cmpis $ACC0, #0x5b + + // at the end of a frame, we get a mail telling ucode what to do next +void 0603_FinalizeFrame(_returnAddr($AR0)) +{ + // 0603 00e0 03f9 sr @0x03f9, $AR0 + 0x03f9 = _returnAddr + + // 0605 009e 0005 lri $AC0.M, #0x0005 + // 0607 02bf 066a call 0x066a + SendMB_DCD1(0x0005) + + # 0609 8e00 set16 + // 060a 8100 clr $ACC0 + // 060b 8900 clr $ACC1 + ACC0 = 0 + ACC1 = 0 + + // 060c 02bf 065e call 0x065e + 065e_WaitForCPUMailBox_AC0() + + // 060e 27ff lrs $AC1.M, @CMBL + // 060f 009e 05ff lri $AC0.M, #0x05ff + // 0611 4c00 add $ACC0, $ACC1 + AC0.M = 0x05ff + *CMBL + + // 0612 1c7e mrr $AR3, $AC0.M + // 0613 0313 ilrr $AC1.M, @$AR3 + // 0614 1c7f mrr $AR3, $AC1.M + AR3 = *AC0.M <- "BUT FROM Instrcution Memory (look at sync table about)" + + // 0615 176f jmpr $AR3 + switch(AR3 - 0x05FF) + { + case 0x00: HALT(); break; + case 0x01: 0618_PrepareBootUcode(); break; + case 0x02: 0658_SoftReset(); break; + case 0x03: 065b_ContinueWithUCode(); break; + default: HALT(); + // 0616 0021 halt + } +} + +0617 0021 halt + + // Sets up info needed to dma in a chunk to iram or dram, + // and calls irom to do actual dma. irom returns to address given in AR0 +void 0618_PrepareBootUcode() { + // Dunno what that's about... + 0618 009a 0002 lri $AX0.H, #0x0002 + 061a 00fa 03a3 sr @0x03a3, $AX0.H + + 061c 8100 clr $ACC0 + 061d 8900 clr $ACC1 + + //061e 02bf 065e call 0x065e + 065e_WaitForCPUMailBox_AC0() + + 0620 24ff lrs $AC0.L, @CMBL + + //0621 02bf 0664 call 0x0664 + 0664_WaitForCPUMailBox_AC1() + + 0623 25ff lrs $AC1.L, @CMBL + + //0624 02bf 0664 call 0x0664 + 0664_WaitForCPUMailBox_AC1() + + 0626 27ff lrs $AC1.M, @CMBL + 0627 2ece srs @DSMAH, $AC0.M + 0628 2ccf srs @DSMAL, $AC0.L // 0 + 0629 16c9 0001 si @DSCR, #0x0001 + 062b 2fcd srs @DSPA, $AC1.M // 2 + 062c 2dcb srs @DSBL, $AC1.L // 1 + + 062d 8100 clr $ACC0 + 062e 8900 clr $ACC1 + + //062f 02bf 065e call 0x065e + 065e_WaitForCPUMailBox_AC0() + + 0631 24ff lrs $AC0.L, @CMBL + 0632 1c9e mrr $IX0, $AC0.M + 0633 1cbc mrr $IX1, $AC0.L + //0634 02bf 0664 call 0x0664 + 0664_WaitForCPUMailBox_AC1() + + 0636 25ff lrs $AC1.L, @CMBL + + //0637 02bf 0664 call 0x0664 + 0664_WaitForCPUMailBox_AC1() + + 0639 27ff lrs $AC1.M, @CMBL + 063a 1cdf mrr $IX2, $AC1.M + 063b 1cfd mrr $IX3, $AC1.L + 063c 8100 clr $ACC0 + + //063d 02bf 065e call 0x065e + 065e_WaitForCPUMailBox_AC0() + + 063f 26ff lrs $AC0.M, @CMBL + 0640 1c1e mrr $AR0, $AC0.M + 0641 8900 clr $ACC1 + //0642 02bf 0664 call 0x0664 + 0664_WaitForCPUMailBox_AC1() + + 0644 20ff lrs $AX0.L, @CMBL + 0645 1f5f mrr $AX0.H, $AC1.M + //0646 02bf 065e call 0x065e + 065e_WaitForCPUMailBox_AC0() + + 0648 21ff lrs $AX1.L, @CMBL + + //0649 02bf 065e call 0x065e + 065e_WaitForCPUMailBox_AC0() + + 064b 23ff lrs $AX1.H, @CMBL + + // Make sure dma is ready + // 064c 26c9 lrs $AC0.M, @DSCR + // 064d 02a0 0004 andf $AC0.M, #0x0004 + // 064f 029c 064c jlnz 0x064c + + // Reset some of the state + // 0651 1206 sbclr #0x06 + // 0652 1203 sbclr #0x03 + // 0653 1204 sbclr #0x04 + // 0654 1205 sbclr #0x05 + + // 0655 029f 80b5 jmp 0x80b5 + 80b5_BootUcode(); + + // Should not reach here + 0657 0021 halt +} + +void 0658_SoftReset() { + 0658 029f 8000 jmp 0x8000 + 065a 0021 halt +} + +void 065b_ContinueWithUCode() +{ + // 065b 00c0 03f9 lr $AR0, @0x03f9 + // 065d 170f jmpr $AR0 + GOTO *0x03f9; +} + + +void 065e_WaitForCPUMailBox_AC0() +{ + 065e 26fe lrs $AC0.M, @CMBH + 065f 02c0 8000 andcf $AC0.M, #0x8000 + 0661 029c 065e jlnz 0x065e + 0663 02df ret +} + +void 0664_WaitForCPUMailBox_AC1() +{ + 0664 27fe lrs $AC1.M, @CMBH + 0665 03c0 8000 andcf $AC1.M, #0x8000 + 0667 029c 0664 jlnz 0x0664 + 0669 02df ret +} +void SendMB_DCD1(_low) + { + // 066a 02bf 0682 call 0x0682 + WaitForEmptyDSPMailBox_ovAC1(); + + // 066c 16fc dcd1 si @DMBH, #0xdcd1 + // 066e 2efd srs @DMBL, $AC0.M + // 066f 16fb 0001 si @DIRQ, #0x0001 + + *DMBH = 0xDCD1 + *DMBL = _low + *DIRQ = 0x0001 + + // 0671 02bf 0682 call 0x0682 + WaitForEmptyDSPMailBox_ovAC1() + + // 0673 02df ret +} + + +void SendMB_F355(_low) +{ + // 0674 02bf 0682 call 0x0682 + WaitForEmptyDSPMailBox_ovAC1(); + + // 0676 16fc f355 si @DMBH, #0xf355 + // 0678 2efd srs @DMBL, $AC0.M + + *DMBH = 0xf355 + *DMBL = _low + + // 0679 02bf 0682 call 0x0682 + WaitForEmptyDSPMailBox_ovAC1(); + + // 067b 02df ret +} + + +void 067c_Unk() +{ + 067c 26fc lrs $AC0.M, @DMBH + 067d 02c0 8000 andcf $AC0.M, #0x8000 + 067f 029d 067c jlz 0x067c + 0681 02df ret +} + + +void WaitForEmptyDSPMailBox_ovAC1.M() + { + // 0682 27fc lrs $AC1.M, @DMBH + // 0683 03c0 8000 andcf $AC1.M, #0x8000 + // 0685 029d 0682 jlz 0x0682 + while (*DMBH & 0x8000); + + // 0687 02df ret +} + + +void 0688_InitCommandBlock() +{ + // 0688 009a 0280 lri $AX0.H, #0x0280 + // 068a 00fa 0350 sr @0x0350, $AX0.H + // 068c 00fa 0351 sr @0x0351, $AX0.H + *0x0350 = 0x0280 + *0x0351 = 0x0280 + + // 068e 0a00 lris $AX0.H, #0x00 + // 068f 00fa 0352 sr @0x0352, $AX0.H + *0x0352 = 0x00 + + // 0691 02df ret +} + + // + // this block is called by the new mail exception + // it seems to copy a new command to the address @0x0350 and increase the + // number of commands at 0x0352 + // + { + 0692 00e0 03fb sr @0x03fb, $AR0 + 0694 00e8 03fc sr @0x03fc, $WR0 + 0696 00c0 0350 lr $AR0, @0x0350 + 0698 0088 002f lri $WR0, #0x002f + + do { + 069a 1b1a srri @$AR0, $AX0.H + + // 069b 00de fffe lr $AC0.M, @CMBH + // 069d 02c0 8000 andcf $AC0.M, #0x8000 + // 069f 029c 069b jlnz 0x069b + while (!CMBH & 0x8000) + ; + 06a1 00dc ffff lr $AC0.L, @CMBL + 06a3 1b1e srri @$AR0, $AC0.M + 06a4 1b1c srri @$AR0, $AC0.L + 06a5 1fda mrr $AC0.M, $AX0.H + 06a6 7800 decm $AC0.M + 06a7 1f5e mrr $AX0.H, $AC0.M + + // 06a8 8600 tstaxh $AX0.H + // 06a9 0294 069b jnz 0x069b + } while (AX0.H); + + /* + 06ab 8100 clr $ACC0 + 06ac 00de 0352 lr $AC0.M, @0x0352 + 06ae 7400 incm $AC0.M + 06af 00fe 0352 sr @0x0352, $AC0.M + increase number of commands + */ + *0x0352 = *0x0352++ + + + 06b1 00e0 0350 sr @0x0350, $AR0 + 06b3 00c0 03fb lr $AR0, @0x03fb + 06b5 00c8 03fc lr $WR0, @0x03fc + + // 06b7 029f 05e6 jmp 0x05e6 + GOTO EndOfMailException // return values and leave exception + + // looks like a read from ring buffer [0x350, 0x37f] + // note the use of the wrap register WR0. + 06b9 00e0 03fb sr @0x03fb, $AR0 + 06bb 00e8 03fc sr @0x03fc, $WR0 + 06bd 00c0 0350 lr $AR0, @0x0350 + 06bf 0088 002f lri $WR0, #0x002f + 06c1 0a00 lris $AX0.H, #0x00 + 06c2 1b1a srri @$AR0, $AX0.H + 06c3 029f 06ab jmp 0x06ab +} + + +void 06c5_CopyCommandBlock() + { + // 06c5 00c0 0351 lr $AR0, @0x0351 + short srcCommandQueueAddr = *0x0351 + + // 06c7 0088 002f lri $WR0, #0x002f + $WR0 = #0x002f + + +:start + /* + 06c9 00da 0352 lr $AX0.H, @0x0352 + 06cb 8600 tstaxh $AX0.H + 06cc 0295 06ed jz 0x06ed + check how many commands are inside the "queue" + */ + + if (*0x352 == 0) + { + $WR0 = #0xffff + return 0x2d; + } + + /* + 06ce 1205 sbclr #0x05 + 06cf 00da 0352 lr $AX0.H, @0x0352 + 06d1 1fda mrr $AC0.M, $AX0.H + 06d2 7800 decm $AC0.M + 06d3 00fe 0352 sr @0x0352, $AC0.M + 06d5 1305 sbset #0x05 + decrement number of commands in queue + */ + *0x352--; + + // 06d6 0081 0356 lri $AR1, #0x0356 + short destCommandQueueAddr = 0x0356 + + // 06d8 191e lrri $AC0.M, @$AR0 + // 06d9 02c0 8000 andcf $AC0.M, #0x8000 + // 06db 029d 06f1 jlz 0x06f1 + // 06dd 1f5e mrr $AX0.H, $AC0.M + // 06de 8600 tstaxh $AX0.H + // 06df 0295 06f5 jz 0x06f5 + + // check if command is valid + + short numCommands = *srcCommandQueueAddr++ + numCommands &= 0x8000 + if (numCommands < 0) + { + *0x0351 = srcCommandQueueAddr + GOTO :start + } + + if (numCommands == 0) + { + 05f0_HaltUCode() + } + + /* + 06e1 007a 06e6 bloop $AX0.H, 0x06e6 + 06e3 191e lrri $AC0.M, @$AR0 + 06e4 1b3e srri @$AR1, $AC0.M + 06e5 191e lrri $AC0.M, @$AR0 + 06e6 1b3e srri @$AR1, $AC0.M + + copy command queue + */ + + for (int i=0; i> 4 + + //07c5 2380 lrs $AX1.H, @0xff80 + //07c6 8d00 set15 + //07c7 c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L + + $AX0.l = (PB.LoopStartPos >> 4) & 0xffff; + prod = (PB.LoopStartPos >> 4 & 0xffff0000)*PB.Format; + + //07c8 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + + $ACC0 = (PB.LoopStartPos >> 4 & 0xffff0000)*PB.Format; + prod = ((PB.LoopStartPos >> 4) & 0xffff)*PB.Format; + + //07c9 8c00 clr15 + //07ca f000 lsl16 $ACC0 + + $ACC0 = (((PB.LoopStartPos >> 4) & 0xffff0000)*PB.Format)<<16 + + //07cb 4e00 addp $ACC0 + + $ACC0 = ((((PB.LoopStartPos >> 4) & 0xffff0000)*PB.Format)<<16)+ + (((PB.LoopStartPos >> 4) & 0xffff)*PB.Format) + + // 07cc 238c lrs $AX1.H, @0xff8c + // 07cd 218d lrs $AX1.L, @0xff8d + // 07ce 4a00 addax $ACC0, $AX1 + + $ACC0 = (((((PB.LoopStartPos >> 4) & 0xffff0000)*PB.Format)<<16)+ + (((PB.LoopStartPos >> 4) & 0xffff)*PB.Format))+PB.StartAddr + + // 07cf 2e38 srs @0x0038, $AC0.M + // 07d0 2c39 srs @0x0039, $AC0.L + + PB.CurAddr = $ACC0 & 0xffffffff; + + // 07d1 2682 lrs $AC0.M, @0xff82 + // 07d2 2e67 srs @0x0067, $AC0.M + // 07d3 2683 lrs $AC0.M, @0xff83 + // 07d4 2e66 srs @0x0066, $AC0.M + //Unconditionally (!) copy YN1 and YN2 from loopyn2 and loopyn1 + + PB.YN1 = PB.LoopYN1; + PB.YN2 = PB.LoopYN2; + + 07d5 00e3 0363 sr @0x0363, $AR3 + 07d7 0083 0458 lri $AR3, #0x0458 + 07d9 8100 clr $ACC0 + 07da 0e01 lris $AC0.M, #0x01 + + // 07db 02bf 07eb call 0x07eb + 07eb_AFCDecoder(); + + 07dd 00c3 0363 lr $AR3, @0x0363 + 07df 02bf 0729 call 0x0729 + 07e1 029f 0749 jmp 0x0749 + + // No repeat + // stop rendering of this PB (0x401 == 1) and clear the output buffer with zeroes... + //07e3 0e01 lris $AC0.M, #0x01 + //07e4 2e01 srs @0x0001, $AC0.M + + PB.KeyOff = 1; + + early_out: + // Zero the buffer. + 07e5 8100 clr $ACC0 + 07e6 005f loop $AC1.M + 07e7 1b7e srri @$AR3, $AC0.M + 07e8 0092 00ff lri $CR, #0x00ff + + // 07ea 02df ret + return + } +} + + + + +void 07eb_AFCDecoder(_numberOfSample(AC0.M)) +{ + // 07eb 00ff 0360 sr @0x0360, $AC1.M + // 07ed 00fe 0361 sr @0x0361, $AC0.M + // 07ef 2638 lrs $AC0.M, @0x0038 + // 07f0 2439 lrs $AC0.L, @0x0039 + // 07f1 0f05 lris $AC1.M, #0x05 + // 07f2 02bf 05ad call 0x05ad + 05ad_SetupAccelerator(AC0.M, AC0.L, AC1.M) + + // 07f4 2638 lrs $AC0.M, @0x0038 + // 07f5 2439 lrs $AC0.L, @0x0039 + // 07f6 8900 clr $ACC1 + // 07f7 00df 0361 lr $AC1.M, @0x0361 + // 07f9 2280 lrs $AX0.H, @0xff80 + // 07fa d000 mulc $AC1.M, $AX0.H + // 07fb 6f00 movp $ACC1 + // 07fc 4c00 add $ACC0, $ACC1 + // 07fd 2e38 srs @0x0038, $AC0.M + // 07fe 2c39 srs @0x0039, $AC0.L + // increase sample offset in ARAM + AC0 = (*0x0038 << 16) | *0x0039 + AC1 = AC0 + _numberOfSample * *0x0480 // bytes per sample + *0x0038 = AC0.M + *0x0039 = AC0.L + + + // 07ff 8100 clr $ACC0 + // 0800 00de 0361 lr $AC0.M, @0x0361 + //0802 007e 086b bloop $AC0.M, 0x086b + for (int i = 0; i < _numberOfSample; i++) + { + // Look for the lrrn below to find the ARAM reads. + + // FFD3 seems to be some interface to do plain single byte reads + // from ARAM with no ADPCM fanciness or similar. + + // It loads through AR0 loaded with immediate #ffd3, not through + // lrs, so CR doesn't affect the effective address. + + 0804 0080 ffd3 lri $AR0, #0xffd3 + 0806 0084 0000 lri $IX0, #0x0000 + 0808 199e lrrn $AC0.M, @$AR0 + 0809 8900 clr $ACC1 + 080a 1ffe mrr $AC1.M, $AC0.M + 080b 1401 lsl $ACC0, #1 + 080c 0240 001e andi $AC0.M, #0x001e + 080e 0200 0300 addi $AC0.M, #0x0300 // AFC COEF Table + 0810 1c3e mrr $AR1, $AC0.M + 0811 157c lsr $ACC1, #-4 + 0812 0340 000f andi $AC1.M, #0x000f + 0814 0a11 lris $AX0.H, #0x11 + 0815 5500 subr $ACC1, $AX0.H + + // 0816 8100 clr $ACC0 + // 0817 2680 lrs $AC0.M, @0xff80 + // 0818 0605 cmpis $ACC0, #0x05 + // 0819 0295 0832 jz 0x0832 + if (*0x480 != 0x5) // ( == 0x09) + { + 081b 009a 00f0 lri $AX0.H, #0x00f0 + 081d 0b0f lris $AX1.H, #0x0f + 081e 0082 0364 lri $AR2, #0x0364 + 0820 1998 lrrn $AX0.L, @$AR0 + 0821 6000 movr $ACC0, $AX0.L + + // Unpack 14 of the nibbles.. + 0822 1107 0829 bloopi #0x07, 0x0829 + for (int j=0; j<7; j++) + { + 0824 3400 andr $AC0.M, $AX0.H + 0825 1408 lsl $ACC0, #8 + 0826 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + + 0827 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 0828 140c lsl $ACC0, #12 + 0829 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + } + // Then do the last two .. + 082a 3400 andr $AC0.M, $AX0.H + 082b 1408 lsl $ACC0, #8 + 082c 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 082d 3600 andr $AC0.M, $AX1.H + 082e 140c lsl $ACC0, #12 + 082f 1b5e srri @$AR2, $AC0.M + + 0830 029f 0852 jmp 0x0852 + } + else // (*0x480 == 5) + { + 0832 009a c000 lri $AX0.H, #0xc000 + 0834 0082 0364 lri $AR2, #0x0364 + 0836 1998 lrrn $AX0.L, @$AR0 + 0837 6000 movr $ACC0, $AX0.L + + // Unpack half nibbles (half quality, ~half space) + //0838 1103 0845 bloopi #0x03, 0x0845 + for (j=0; j<3; j++) + { + 083a 1408 lsl $ACC0, #8 + 083b 3400 andr $AC0.M, $AX0.H + 083c 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 083d 140a lsl $ACC0, #10 + 083e 3400 andr $AC0.M, $AX0.H + 083f 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0840 140c lsl $ACC0, #12 + 0841 3400 andr $AC0.M, $AX0.H + 0842 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0843 140e lsl $ACC0, #14 + 0844 3444 andr'ln $AC0.M, $AX0.H : $AX0.L, @$AR0 + 0845 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + } + + 0846 1408 lsl $ACC0, #8 + 0847 3400 andr $AC0.M, $AX0.H + 0848 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0849 140a lsl $ACC0, #10 + 084a 3400 andr $AC0.M, $AX0.H + 084b 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 084c 140c lsl $ACC0, #12 + 084d 3400 andr $AC0.M, $AX0.H + 084e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 084f 140e lsl $ACC0, #14 + 0850 3400 andr $AC0.M, $AX0.H + 0851 1b5e srri @$AR2, $AC0.M + } + + 0852 8f00 set40 + 0853 1f7f mrr $AX1.H, $AC1.M + 0854 2066 lrs $AX0.L, @0x0066 + 0855 2767 lrs $AC1.M, @0x0067 + 0856 193a lrri $AX0.H, @$AR1 + 0857 1939 lrri $AX1.L, @$AR1 + 0858 0080 0364 lri $AR0, #0x0364 + 085a 1c80 mrr $IX0, $AR0 + 085b a000 mulx $AX0.L, $AX1.L + 085c ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 + + // ADPCM decoding main loop. + 085d 1108 0866 bloopi #0x08, 0x0866 + for (int i=0; i<8; i++) + { + 085f 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 0860 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 0861 1485 asl $ACC0, #5 + 0862 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 0863 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 0864 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 0865 1585 asl $ACC1, #5 + 0866 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M + } + 0867 2f67 srs @0x0067, $AC1.M + 0868 8e00 set16 + 0869 1ff8 mrr $AC1.M, $AX0.L + 086a 2f66 srs @0x0066, $AC1.M + 086b 8900 clr $ACC1 + } + 086c 00df 0360 lr $AC1.M, @0x0360 + 086e 02df ret +} + + + + + + // probably unreachable + { + // 086f b100 tst $ACC0 + // 0870 02d5 retz + if (!$ACC0) return; + + 0871 04fe addis $ACC0, #0xfe + 0872 1f1e mrr $AX0.L, $AC0.M + 0873 191e lrri $AC0.M, @$AR0 + 0874 0291 087a jl 0x087a + 0876 191a lrri $AX0.H, @$AR0 + 0877 0058 loop $AX0.L + 0878 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0879 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 087a 1b7e srri @$AR3, $AC0.M + 087b 02df ret +} + + +//////////////////////////////////////////// DEFAULT DECODER +void 087c_DefaultDecoder() +{ + // 087c 8100 clr $ACC0 + // 087d 1f5e mrr $AX0.H, $AC0.M + // 087e 00d8 0402 lr $AX0.L, @0x0402 + + ACC0 = 0; + AX0.L = *0x0402; // == PB.RatioInt + + // Sample fraction is stored in a common way, but sample position is not, so + // it's in the individual decoders. Some decoders, like square wave, only care about + // fractional sample position. So here we just load up the fractional sample + // position before handing control over. + + // 0880 00dc 0430 lr $AC0.L, @0x0430 + // 0882 0080 0520 lri $AR0, #0x0520 + + AC0.L = *0x430; // == PB.CurSampleFrac + AR0 = 0x0520; + + // 0884 00df 0480 lr $AC1.M, @0x0480 + // 0886 1501 lsl $ACC1, #1 + // 0887 0340 007e andi $AC1.M, #0x007e + // 0889 0300 0891 addi $AC1.M, #0x0891 + // 088b 1c5f mrr $AR2, $AC1.M + // 088c 175f callr $AR2 // (*$AR2)() <-- See jump table at 0x0891 + + AC1.M = ((*0x480 * 2) & 0x007e) + 0x0891; // == ((PB.Format * 2) & 0x007e) + 0x0891 + AR2 = AC1.M; + + JumpTable0891(PB.Format); + + //088d 00fc 0430 sr @0x0430, $AC0.L + *0x430 = AC0.L; // *0x430 == PB.CurSampleFrac + + // 088f 029f 02d8 jmp 0x02d8 + GOTO ContinueWithBlock: // in SyncFrame +} + + +// Jump table +// switch(PB.Format) +0891 029f 08b2 jmp 0x08b2 // case 0x0 // 08b2_Decoder0x0_SquareWave (used in ZWW) +0893 029f 08ed jmp 0x08ed // case 0x1 // 08ed_Decoder0x1_SawWave (used in ZWW) +0895 029f 08d5 jmp 0x08d5 // case 0x2 // 08d5_Decoder0x2_SquareSaw (hasn't been spotted) +0897 029f 08c2 jmp 0x08c2 // case 0x3 // 08c2_Decoder0x3_RectangleWave (hasn't been spotted) +0899 029f 08fb jmp 0x08fb // case 0x4 // void 08f3_Decoder0x4_0xb_0xc_WaveTable (used in Pikmin) +089b 029f 08b1 jmp 0x08b1 // case 0x5 (can never happen) +089d 029f 0919 jmp 0x0919 // case 0x6 // 0919_Decoder0x6_Constant (hasn't been spotted) +089f 029f 091c jmp 0x091c // case 0x7 // 091c_Decoder0x7_WaveTable (used in Pikmin) +08a1 029f 08b1 jmp 0x08b1 // case 0x8 (can never happen) +08a3 029f 08b1 jmp 0x08b1 // case 0x9 (can never happen) +08a5 029f 093a jmp 0x093a // case 0xa (hasn't been spotted) +08a7 029f 08f3 jmp 0x08f3 // case 0xb // void 08f3_Decoder0x4_0xb_0xc_WaveTable (used in Pikmin) (used in Pikmin) +08a9 029f 08f7 jmp 0x08f7 // case 0xc // void 08f3_Decoder0x4_0xb_0xc_WaveTable (used in Pikmin) (Zelda force field in temple of gods) +08ab 029f 08b1 jmp 0x08b1 // case 0xd (unused) +08ad 029f 08b1 jmp 0x08b1 // case 0xe (unused) +08af 029f 08b1 jmp 0x08b1 // case 0xf (unused) +08b1 02df ret + +void 08b2_Decoder0x0_SquareWave(ACC0, AR0, AX0.L) { + // 08b2 1401 lsl $ACC0, #1 + t = samplePosition * 2; + + // Set up sound buffers + // 08b3 009b c000 lri $AX1.H, #0xc000 + // 08b5 0099 4000 lri $AX1.L, #0x4000 + + // 08b7 1150 08bf bloopi #0x50, 0x08bf + for(int i = 0; i < 80; i++) { + //08b9 02c0 0001 andcf $AC0.M, #0x0001 + //08bb 027c iflnz + // 08bc 1b1b srri @$AR0, $AX1.H + //08bd 027d iflz + // 08be 1b19 srri @$AR0, $AX1.L + if(($AC0.M & 1) == 1) + *$AR0++ = 0x4000; + else + *$AR0++ = 0xc000; + + // 08bf 4800 addax $ACC0, $AX0 + t += PB.Ratio; + } + // 08c0 147f lsr $ACC0, #-1 + t /= 2; + + // 08c1 02df ret +} + +void 08c2_Decoder0x3_RectangleWave(ACC0, AR0, AX0.L) { + 08c2 1402 lsl $ACC0, #2 // t = PB.CurSampleFrac * 4 + 08c3 8900 clr $ACC1 // ACC1 = 0 + 08c4 1fb8 mrr $AC1.L, $AX0.L // AC1.L = PB.RatioInt + 08c5 1501 lsl $ACC1, #1 // ACC1 *= 2 + 08c6 009b c000 lri $AX1.H, #0xc000 + 08c8 0099 4000 lri $AX1.L, #0x4000 + // 08ca 1150 08d2 bloopi #0x50, 0x08d2 + for(int i = 0; i < 80; i++) { + // 08cc 02c0 0003 andcf $AC0.M, #0x0003 + // 08ce 027c iflnz + // 08cf 1b1b srri @$AR0, $AX1.H + // 08d0 027d iflz + // 08d1 1b19 srri @$AR0, $AX1.L + // 08d2 4c00 add $ACC0, $ACC1 + + if (($AC0.M & 3) == 3) + *$AR0++ = 0x4000; + else + *$AR0++ = 0xc000; + + t += (PB.RatioInt * 2); + } + // 08d3 147e lsr $ACC0, #-2 + t /= 4; + + // 08d4 02df ret +} + +void 08d5_Decoder0x2_SquareSaw(ACC0, AR0, AX0.L) { + 08d5 1401 lsl $ACC0, #1 + 08d6 0081 0ca0 lri $AR1, #0x0ca0 + 08d8 009b c000 lri $AX1.H, #0xc000 + 08da 0099 4000 lri $AX1.L, #0x4000 + 08dc 8900 clr $ACC1 + 08dd 0082 0000 lri $AR2, #0x0000 + 08df 1150 08ea bloopi #0x50, 0x08ea + 08e1 02c0 0001 andcf $AC0.M, #0x0001 + 08e3 027c iflnz + 08e4 1b1b srri @$AR0, $AX1.H + 08e5 027d iflz + 08e6 1b19 srri @$AR0, $AX1.L + 08e7 183d lrr $AC1.L, @$AR1 + 08e8 4900 addax $ACC1, $AX0 + 08e9 1fe2 mrr $AC1.M, $AR2 + 08ea 4c39 add's $ACC0, $ACC1 : @$AR1, $AC1.M + 08eb 147f lsr $ACC0, #-1 + // 08ec 02df ret +} + +void 08ed_Decoder0x1_SawWave(ACC0, AR0, AX0.L) { + // 08ed 8900 clr $ACC1 + // 08ee 1fb8 mrr $AC1.L, $AX0.L + // 08ef 157f lsr $ACC1, #-1 + + // At this point AX0.L is PB.RatioInt and AC0.L is PB.CurSampleFrac + ACC1 = 0; + AC1.L = AX0.L * 2; + + // 08f0 1050 loopi #0x50 + for(int i = 0; i < 0x50; i++) { + // 08f1 4c20 add's $ACC0, $ACC1 : @$AR0, $AC0.L + ACC0 += ACC1; + *$AR0++ = AC0.L; + } + // 08f2 02df ret +} + + +void 08f3_Decoder0x4_0xb_0xc_WaveTable(ACC0, AR0, AX0.L) { + // See 091c + + 08f3 0082 0180 lri $AR2, #0x0180 // Entrance 1, 0x0b + 08f5 029f 08fd jmp 0x08fd + + 08f7 0082 01c0 lri $AR2, #0x01c0 // Entrance 2, 0x0c + 08f9 029f 08fd jmp 0x08fd + + 08fb 0082 0140 lri $AR2, #0x0140 // Entrance 3, 0x04 + + 08fd 008a 003f lri $WR2, #0x003f + 08ff 0086 0000 lri $IX2, #0x0000 + 0901 1406 lsl $ACC0, #6 + 0902 8900 clr $ACC1 + 0903 1fb8 mrr $AC1.L, $AX0.L + 0904 1505 lsl $ACC1, #5 + 0905 009b 003f lri $AX1.H, #0x003f + 0907 009a 0000 lri $AX0.H, #0x0000 + 0909 3600 andr $AC0.M, $AX1.H + 090a 1cde mrr $IX2, $AC0.M + 090b 001a addarn $AR2, $IX2 + 090c 3400 andr $AC0.M, $AX0.H + 090d 1150 0913 bloopi #0x50, 0x0913 + 090f 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0910 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0911 1cde mrr $IX2, $AC0.M + 0912 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0913 1b19 srri @$AR0, $AX1.L + 0914 1fc2 mrr $AC0.M, $AR2 + 0915 147a lsr $ACC0, #-6 + 0916 008a ffff lri $WR2, #0xffff + // 0918 02df ret +} + +void 0919_Decoder0x6_Constant(AR0, AX0.L) { + // case 0x6: Fills the buffer with PB.RatioInt (zero?) + + // 0919 1050 loopi #0x50 + // 091a 1b18 srri @$AR0, $AX0.L + + for(int i = 0; i < 0x50; i++) + *AR0++ = AX0.L; // PB.RatioInt + + // 091b 02df ret +} + +void 091c_Decoder0x7_WaveTable(ACC0, AR0, AX0.L) { + // So AR2 is where it reads the data from, and it updates ACC0 to the final read address in the end + // Questions: How does the wrap register change the data access? + + // 091c 0082 0100 lri $AR2, #0x0100 + // 091e 008a 003f lri $WR2, #0x003f + // 0920 0086 0000 lri $IX2, #0x0000 + // 0922 1406 lsl $ACC0, #6 + // 0923 8900 clr $ACC1 + // 0924 1fb8 mrr $AC1.L, $AX0.L + // 0925 1505 lsl $ACC1, #5 + + + WR2 = 0x003f; + ACC0 <<= 6; + ACC1 = AX0.L << 5; + + + // 0926 009b 003f lri $AX1.H, #0x003f + // 0928 009a 0000 lri $AX0.H, #0x0000 + // 092a 3600 andr $AC0.M, $AX1.H + // 092b 1cde mrr $IX2, $AC0.M + // 092c 001a addarn $AR2, $IX2 + // 092d 3400 andr $AC0.M, $AX0.H + + AC0.M &= 0x003f; + IX2 = AC0.M; + AR2 = 0x0100 + IX2; + + AC0.M = 0; + + + // 092e 1150 0934 bloopi #0x50, 0x0934 + for(int i = 0; i < 0x50; i++) { + // 0930 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + + ACC0 += ACC1; + AX1.L = *AR2++; + + // 0931 3606 andr'dr $AC0.M, $AX1.H : $AR2 + AC0.M &= 0x003f; + AR2--; + + // 0932 1cde mrr $IX2, $AC0.M + IX2 = AC0.M; + + // 0933 340e andr'nr $AC0.M, $AX0.H : $AR2 + AC0.M = 0; + AR2 += IX2; + + // 0934 1b19 srri @$AR0, $AX1.L + *AR0++ = AX1.L; + + } + + // 0935 1fc2 mrr $AC0.M, $AR2 + // 0936 147a lsr $ACC0, #-6 + // 0937 008a ffff lri $WR2, #0xffff + + AC0.M = AR2; + ACC0 >>= 6; + WR2 = 0xffff; + + // 0939 02df ret +} + +void 093a_Unk() { + 093a 0082 0100 lri $AR2, #0x0100 + 093c 008a 003f lri $WR2, #0x003f + 093e 0086 0000 lri $IX2, #0x0000 + 0940 0081 0ca0 lri $AR1, #0x0ca0 + 0942 1406 lsl $ACC0, #6 + 0943 8900 clr $ACC1 + 0944 1fb8 mrr $AC1.L, $AX0.L + 0945 1505 lsl $ACC1, #5 + 0946 009b 003f lri $AX1.H, #0x003f + 0948 009a 0000 lri $AX0.H, #0x0000 + 094a 3600 andr $AC0.M, $AX1.H + 094b 1cde mrr $IX2, $AC0.M + 094c 001a addarn $AR2, $IX2 + 094d 3400 andr $AC0.M, $AX0.H + 094e 1150 0959 bloopi #0x50, 0x0959 + 0950 1939 lrri $AX1.L, @$AR1 + 0951 a000 mulx $AX0.L, $AX1.L + 0952 140a lsl $ACC0, #10 + 0953 4e00 addp $ACC0 + 0954 1476 lsr $ACC0, #-10 + 0955 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0956 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0957 1cde mrr $IX2, $AC0.M + 0958 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0959 1b19 srri @$AR0, $AX1.L + 095a 1fc2 mrr $AC0.M, $AR2 + 095b 147a lsr $ACC0, #-6 + 095c 008a ffff lri $WR2, #0xffff + 095e 02df ret +} + +void 095f_Unk_SetupMemAt0_0180() { + 095f 0080 01be lri $AR0, #0x01be + 0961 1918 lrri $AX0.L, @$AR0 + 0962 191a lrri $AX0.H, @$AR0 + 0963 0080 0180 lri $AR0, #0x0180 + 0965 0083 0180 lri $AR3, #0x0180 + 0967 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0968 1ffe mrr $AC1.M, $AC0.M + // 0969 1120 0970 bloopi #0x20, 0x0970 + for (int i = 0; i < 0x20; i++) { + 096b 7c00 neg $ACC0 + 096c d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 096d 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 096e c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 + 096f 1501 lsl $ACC1, #1 + 0970 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M + } + 0971 0080 01fe lri $AR0, #0x01fe + 0973 191a lrri $AX0.H, @$AR0 + 0974 1918 lrri $AX0.L, @$AR0 + 0975 0080 01c0 lri $AR0, #0x01c0 + 0977 0083 01c0 lri $AR3, #0x01c0 + 0979 1ff8 mrr $AC1.M, $AX0.L + 097a 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 097b f800 addpaxz $ACC0, $AX0.H + 097c 0240 01ff andi $AC0.M, #0x01ff + 097e 0260 2000 ori $AC0.M, #0x2000 + + //0980 02bf 0983 call 0x0983 + 0983_WriteRamp($ACC0, $ACC1, Dest($AR3)) + + // 0982 02df ret +} + +void 0983_WriteRamp(ACC0, ACC1, Dest($AR3)) { + // 0983 b900 tst $ACC1 + // 0984 0272 ifg + // 0985 7c00 neg $ACC0 + if ($ACC1 > 0) { + $ACC0 = -$ACC0; + } + + // 0986 1f7e mrr $AX1.H, $AC0.M + // 0987 4700 addr $ACC1, $AX1.H + + // 0988 1110 098d bloopi #0x10, 0x098d + for (int i = 0; i < 0x10; i++) { + 098a 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 098b 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 098c 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 098d 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + } + 098e 02df ret +} + +//////////////////////////////////////////// 0x08 DECODER +// Hardcoded destination 0x0580. +void Decoder0x08() { + 098f 0092 0004 lri $CR, #0x0004 + 0991 2002 lrs $AX0.L, @0x0002 + 0992 8100 clr $ACC0 + 0993 8900 clr $ACC1 + 0994 2430 lrs $AC0.L, @0x0030 // CurSampleFrac + + // 0995 8d00 set15 + // 0996 0950 lris $AX1.L, #0x50 + // 0997 a000 mulx $AX0.L, $AX1.L + // 0998 a400 mulxac $AX0.L, $AX1.L, $ACC0 + // 0999 1404 lsl $ACC0, #4 + // 099a 8c00 clr15 + // Compute how much data we need to read, to get 0x50 samples after resampling. + // AC0.L is cursamplefrace, AX0.L is ratio. + $ACC0 = PB.CurrentSampleFrac + 0x50 * PB.Ratio; + + 099b 1ffe mrr $AC1.M, $AC0.M + 099c 0083 0580 lri $AR3, #0x0580 + 099e 2201 lrs $AX0.H, @0x0001 + 099f 8600 tstaxh $AX0.H + 09a0 0294 09b1 jnz 0x09b1 + + // 09a2 2204 lrs $AX0.H, @0x0004 + // 09a3 8600 tstaxh $AX0.H + // 09a4 02b4 09f9 callne 0x09f9 + if (*0x0404) { // NeedsReset + 09f9_UpdateSampleCounters8(); + } + + 09a6 8100 clr $ACC0 + 09a7 2605 lrs $AC0.M, @0x0005 + 09a8 b100 tst $ACC0 + 09a9 0295 09be jz 0x09be + +label09ab: + 09ab 8100 clr $ACC0 + 09ac 2e05 srs @0x0005, $AC0.M + 09ad 2281 lrs $AX0.H, @0xff81 + 09ae 8600 tstaxh $AX0.H + 09af 0294 09b8 jnz 0x09b8 + 09b1 8100 clr $ACC0 + 09b2 005f loop $AC1.M + 09b3 1b7e srri @$AR3, $AC0.M + 09b4 7400 incm $AC0.M + 09b5 2e01 srs @0x0001, $AC0.M + 09b6 029f 09f2 jmp 0x09f2 + 09b8 2688 lrs $AC0.M, @0xff88 + 09b9 2489 lrs $AC0.L, @0xff89 + 09ba 2e34 srs @0x0034, $AC0.M + 09bb 2c35 srs @0x0035, $AC0.L + // 09bc 02bf 09f9 call 0x09f9 + 09f9_UpdateSampleCounters8(); + + 09be 00ff 0360 sr @0x0360, $AC1.M + + 09c0 2638 lrs $AC0.M, @0x0038 + 09c1 2439 lrs $AC0.L, @0x0039 + 09c2 0f05 lris $AC1.M, #0x05 // Sample format 5 + // 09c3 02bf 05ad call 0x05ad + 05ad_SetupAccelerator(AC0.M, AC0.L, AC1.M) + + 09c5 00df 0360 lr $AC1.M, @0x0360 + 09c7 8100 clr $ACC0 + // 09c8 263a lrs $AC0.M, @0x003a + // 09c9 b100 tst $ACC0 + // 09ca 0294 09d9 jnz 0x09d9 + if (*(0x043a)) { + 09cc 263b lrs $AC0.M, @0x003b + 09cd 5c00 sub $ACC0, $ACC1 + 09ce 0290 09d9 jge 0x09d9 + + 09d0 223b lrs $AX0.H, @0x003b + // 09d1 02bf 0a0a call 0x0a0a // Load more samples. + 0a0a_ReadFromAccelerator8To16(OutBuffer($AR3), Count($AX0.H)) + + 09d3 5500 subr $ACC1, $AX0.H + // 09d4 0a01 lris $AX0.H, #0x01 + // 09d5 00fa 0405 sr @0x0405, $AX0.H + *0x405 = 1; // PB.ReachedEnd = 1; + + 09d7 029f 09ab jmp 0x09ab + } + + 09d9 1f5f mrr $AX0.H, $AC1.M + // 09da 02bf 0a0a call 0x0a0a // Load more samples. + 0a0a_ReadFromAccelerator8To16(OutBuffer($AR3), Count($AX0.H)); + + // Stash AX0.H away, it gets read again at 09ef. + 09dc 00fa 0362 sr @0x0362, $AX0.H + + 09de 8100 clr $ACC0 + 09df 263a lrs $AC0.M, @0x003a + 09e0 243b lrs $AC0.L, @0x003b + 09e1 1570 lsr $ACC1, #-16 + + // 09e2 0a01 lris $AX0.H, #0x01 + // 09e3 0081 0405 lri $AR1, #0x0405 + // 09e5 5c00 sub $ACC0, $ACC1 + // 09e6 b100 tst $ACC0 + // 09e7 0275 ifz + // 09e8 1a3a srr @$AR1, $AX0.H + + ACC0 -= ACC1; + if(ACC0 == 0) + *0x405 = 1; // PB.ReachedEnd = 1 + + 09e9 2e3a srs @0x003a, $AC0.M + 09ea 2c3b srs @0x003b, $AC0.L + 09eb 2638 lrs $AC0.M, @0x0038 + 09ec 2439 lrs $AC0.L, @0x0039 + 09ed 00d8 0362 lr $AX0.L, @0x0362 + 09ef 7000 addaxl $ACC0, $AX0.L + 09f0 2c39 srs @0x0039, $AC0.L + 09f1 2e38 srs @0x0038, $AC0.M + + // 09f2 0092 00ff lri $CR, #0x00ff + // 09f4 029f 02d0 jmp 0x02d0 + GOTO Resample_From0580To0520: +} + + +// unreachable code +void Unreachable() { + 09f6 8100 clr $ACC0 + 09f7 2e34 srs @0x0034, $AC0.M + 09f8 2e35 srs @0x0035, $AC0.M +} + +void 09f9_UpdateSampleCounters8() { + 09f9 2334 lrs $AX1.H, @0x0034 + 09fa 2135 lrs $AX1.L, @0x0035 + 09fb 268a lrs $AC0.M, @0xff8a + 09fc 248b lrs $AC0.L, @0xff8b + 09fd 5a00 subax $ACC0, $AX1 + 09fe 2e3a srs @0x003a, $AC0.M + 09ff 2c3b srs @0x003b, $AC0.L + 0a00 2634 lrs $AC0.M, @0x0034 + 0a01 2435 lrs $AC0.L, @0x0035 + 0a02 238c lrs $AX1.H, @0xff8c + 0a03 218d lrs $AX1.L, @0xff8d + 0a04 4a00 addax $ACC0, $AX1 + 0a05 2e38 srs @0x0038, $AC0.M + 0a06 2c39 srs @0x0039, $AC0.L + 0a07 8100 clr $ACC0 + 0a08 2e05 srs @0x0005, $AC0.M + // 0a09 02df ret +} + +void 0a0a_ReadFromAccelerator8To16(OutBuffer($AR3), Count($AX0.H)) { + // Read from ARAM. Convert 8-bit samples to 16-bit. + // 0a0a 0080 ffd3 lri $AR0, #0xffd3 + // 0a0c 0084 0000 lri $IX0, #0x0000 + // 0a0e 007a 0a12 bloop $AX0.H, 0x0a12 + // 0a10 199e lrrn $AC0.M, @$AR0 + // 0a11 1488 asl $ACC0, #8 + // 0a12 1b7e srri @$AR3, $AC0.M + // 0a13 02df ret + for (int i = 0; i < $AX0.H; i++) { + *($AR3++) = (*0xffd3) << 8; // ffd3 is the non-adpcm alternative read address for the accelerator. + } +} + + +//////////////////////////////////////////// 0x10 DECODER +// Hardcoded destination 0x0580. +// This should be the easiest decoder to decipher in full -- except the really +// trivial ones like the synths. +// It's almost identical to Decoder0x08 +void Decoder0x10() { + // 0a14 0092 0004 lri $CR, #0x0004 + 0a16 2002 lrs $AX0.L, @0x0002 + 0a17 8100 clr $ACC0 + 0a18 8900 clr $ACC1 + // 0a19 2430 lrs $AC0.L, @0x0030 + 0a1a 8d00 set15 + + // 0a1b 0950 lris $AX1.L, #0x50 + // 0a1c a000 mulx $AX0.L, $AX1.L + // 0a1d a400 mulxac $AX0.L, $AX1.L, $ACC0 + // 0a1e 1404 lsl $ACC0, #4 + // 0a1f 8c00 clr15 + + // Compute how much data we need to read, to get 0x50 samples after resampling. + // AC0.L is cursamplefrac, AX0.L is ratio. + $ACC0 = (PB.CurrentSampleFrac + 0x50 * PB.Ratio) << 4; + + 0a20 1ffe mrr $AC1.M, $AC0.M + 0a21 0083 0580 lri $AR3, #0x0580 + 0a23 2201 lrs $AX0.H, @0x0001 + 0a24 8600 tstaxh $AX0.H + 0a25 0294 0a36 jnz 0x0a36 /// Jump! See jump destination below. + + 0a27 2204 lrs $AX0.H, @0x0004 + 0a28 8600 tstaxh $AX0.H + 0a29 02b4 0a7f callne 0x0a7f + if (*0x0404) // "NeedsReset" + { + 0a7f_UpdateSampleCounters10() + } + + 0a2b 8100 clr $ACC0 + + 0a2c 2605 lrs $AC0.M, @0x0005 + 0a2d b100 tst $ACC0 + 0a2e 0295 0a43 jz 0x0a43 + if (*0x405) { + + retry_0a30: + 0a30 8100 clr $ACC0 + 0a31 2e05 srs @0x0005, $AC0.M + 0a32 2281 lrs $AX0.H, @0xff81 + 0a33 8600 tstaxh $AX0.H + 0a34 0294 0a3d jnz 0x0a3d + if (!*401) { //// <<<<<<<<<<<< Jump destination + 0a36 8100 clr $ACC0 + 0a37 005f loop $AC1.M + 0a38 1b7e srri @$AR3, $AC0.M + 0a39 7400 incm $AC0.M + 0a3a 2e01 srs @0x0001, $AC0.M + 0a3b 029f 0a78 jmp 0x0a78 // quit + } else { + // Copy [88,89] to [34,35] + 0a3d 2688 lrs $AC0.M, @0xff88 + 0a3e 2489 lrs $AC0.L, @0xff89 + 0a3f 2e34 srs @0x0034, $AC0.M + 0a40 2c35 srs @0x0035, $AC0.L + 0a41 02bf 0a7f call 0x0a7f + 0a7f_UpdateSampleCounters10() + } + } + + 0a43: + 0a43 00ff 0360 sr @0x0360, $AC1.M + 0a45 2638 lrs $AC0.M, @0x0038 + 0a46 2439 lrs $AC0.L, @0x0039 + 0a47 0f06 lris $AC1.M, #0x06 // Sample format 6 + // 0a48 02bf 05ad call 0x05ad + 05ad_SetupAccelerator(AC0.M, AC0.L, AC1.M) + + 0a4a 00df 0360 lr $AC1.M, @0x0360 + 0a4c 8100 clr $ACC0 + 0a4d 263a lrs $AC0.M, @0x003a + 0a4e b100 tst $ACC0 + 0a4f 0294 0a5e jnz 0x0a5e + if (!*0x043a) { + 0a51 263b lrs $AC0.M, @0x003b + 0a52 5c00 sub $ACC0, $ACC1 + 0a53 0290 0a5e jge 0x0a5e + if (0x43b <= ACC1) { // not sure, but .. not enough samples? + 0a55 223b lrs $AX0.H, @0x003b + // 0a56 02bf 0a91 call 0x0a91 // Read more samples + 0a91_ReadFromAccelerator(OutBuffer($AR3), Count($AX0.H)); + 0a58 5500 subr $ACC1, $AX0.H + // 0a59 0a01 lris $AX0.H, #0x01 + // 0a5a 00fa 0405 sr @0x0405, $AX0.H + *0x405 = 1; // PB.ReachedEnd + + 0a5c 029f 0a30 jmp 0x0a30 // GOTO retry_0a30; + } + } + + 0a5e 1f5f mrr $AX0.H, $AC1.M + // 0a5f 02bf 0a91 call 0x0a91 // Read more samples + 0a91_ReadFromAccelerator(OutBuffer($AR3), Count($AX0.H)) + + // Stash AX0.H away, it gets read again at 0a72. + 0a61 00fa 0362 sr @0x0362, $AX0.H + + 0a63 8100 clr $ACC0 + 0a64 263a lrs $AC0.M, @0x003a + 0a65 243b lrs $AC0.L, @0x003b + 0a66 1570 lsr $ACC1, #-16 + // 0a67 0a01 lris $AX0.H, #0x01 + // 0a68 0081 0405 lri $AR1, #0x0405 + // 0a6a 5c00 sub $ACC0, $ACC1 + // 0a6b b100 tst $ACC0 + // 0a6c 0275 ifz + // 0a6d 1a3a srr @$AR1, $AX0.H + + ACC0 -= ACC1; + if(ACC0 == 0) + *0x405 = 1; // PB.ReachedEnd = 1 + + 0a6e 2e3a srs @0x003a, $AC0.M + 0a6f 2c3b srs @0x003b, $AC0.L + 0a70 2638 lrs $AC0.M, @0x0038 + 0a71 2439 lrs $AC0.L, @0x0039 + 0a72 00d8 0362 lr $AX0.L, @0x0362 + 0a74 7000 addaxl $ACC0, $AX0.L + 0a75 7000 addaxl $ACC0, $AX0.L + 0a76 2c39 srs @0x0039, $AC0.L + 0a77 2e38 srs @0x0038, $AC0.M + + // 0a78 0092 00ff lri $CR, #0x00ff + // 0a7a 029f 02d0 jmp 0x02d0 + GOTO Resample_From0580To0520: +} + +void 0a7c_UnkUnused() { + 0a7c 8100 clr $ACC0 + 0a7d 2e34 srs @0x0034, $AC0.M + 0a7e 2e35 srs @0x0035, $AC0.M + +// used by 0x10 decoder +void 0a7f_UpdateSampleCounters10() { + 0a7f 2334 lrs $AX1.H, @0x0034 + 0a80 2135 lrs $AX1.L, @0x0035 + 0a81 268a lrs $AC0.M, @0xff8a + 0a82 248b lrs $AC0.L, @0xff8b + 0a83 5a00 subax $ACC0, $AX1 // Subtract [34,35] from [8a, 8b] + 0a84 2e3a srs @0x003a, $AC0.M + 0a85 2c3b srs @0x003b, $AC0.L + 0a86 2634 lrs $AC0.M, @0x0034 + 0a87 2435 lrs $AC0.L, @0x0035 + 0a88 1401 lsl $ACC0, #1 // This shift is not done in UpdateSampleCounters8. + 0a89 238c lrs $AX1.H, @0xff8c + 0a8a 218d lrs $AX1.L, @0xff8d + 0a8b 4a00 addax $ACC0, $AX1 // Add [34,35]<<1 to [8c, 8d] + 0a8c 2e38 srs @0x0038, $AC0.M + 0a8d 2c39 srs @0x0039, $AC0.L + 0a8e 8100 clr $ACC0 + 0a8f 2e05 srs @0x0005, $AC0.M + 0a90 02df ret +} + + +// Read AX0.H samples from the accelerator. +void 0a91_ReadFromAccelerator(OutBuffer($AR3), Count($AX0.H)) { + // 0a91 0080 ffd3 lri $AR0, #0xffd3 + // 0a93 0084 0000 lri $IX0, #0x0000 + // 0a95 007a 0a98 bloop $AX0.H, 0x0a98 + // 0a97 199e lrrn $AC0.M, @$AR0 + // 0a98 1b7e srri @$AR3, $AC0.M + // 0a99 02df ret + + for (int i = 0; i < $AX0.H; i++) { + *($AR3++) = *0xffd3; // ffd3 is the non-adpcm alternative read address for the accelerator. + } +} + +//////////////////////////////////////////// 0x20 DECODER +// Same as 0x21 but with no resampling. +{ + // 0a9a 8900 clr $ACC1 + // 0a9b 0f50 lris $AC1.M, #0x50 + // 0a9c 0083 0520 lri $AR3, #0x0520 + // 0a9e 02bf 0ab3 call 0x0ab3 + + ACC1 = 0; + AC1.M = 0x50; + AR3 = 0x520; + + 0ab3_Decoder0x21Core(AC1.M=0x50, AR3=#0x0520); + + // 0aa0 029f 02d8 jmp 0x02d8 + GOTO ContinueWithBlock: // in SyncFrame +} + +//////////////////////////////////////////// 0x21 DECODER +void 0aa2_Decoder0x21() { + // 0aa2 00d8 0402 lr $AX0.L, @0x0402 + // 0aa4 8100 clr $ACC0 + // 0aa5 8900 clr $ACC1 + AX0.L = *0x0402; + ACC0 = 0 + ACC1 = 0 + // 0aa6 00dc 0430 lr $AC0.L, @0x0430 + // 0aa8 0a50 lris $AX0.H, #0x50 + // 0aa9 9000 mul $AX0.L, $AX0.H + // 0aaa 9400 mulac $AX0.L, $AX0.H, $ACC0 + // 0aab 1404 lsl $ACC0, #4 + ACC0 = (*0x0430 + (*0x0402 * 0x50)) << 4; + + // 0aac 1ffe mrr $AC1.M, $AC0.M + ACC1 = ACC0 & 0xFFFF0000; + + // 0aad 0083 0580 lri $AR3, #0x0580 + // 0aaf 02bf 0ab3 call 0x0ab3 // 0ab3_Decoder0x21Core + 0ab3_Decoder0x21Core(AC1.M, AR3=#0x0580); + + // 0ab1 029f 02d0 jmp 0x02d0 + GOTO Resample_From0580To0520: +} + +// 0x21 Decoder Core +// Decoder 0x21 simply streams raw audio from RAM (not ARAM!) by using DMA. +// Lots of buffer wrap trickery etc but no actual decoding. +void 0ab3_Decoder0x21Core(AC1.M, AR3) { + // 0ab3 0092 0004 lri $CR, #0x0004 + // 0ab5 8100 clr $ACC0 + // 0ab6 263a lrs $AC0.M, @0x003a + // 0ab7 243b lrs $AC0.L, @0x003b + // 0ab8 1f1f mrr $AX0.L, $AC1.M + // 0ab9 0a00 lris $AX0.H, #0x00 + // 0aba 5800 subax $ACC0, $AX0 + ACC0 = [0x043a,0x043b]; + ACC0 -= AC1.M; + + + // 0abb 0292 0ad1 jg 0x0ad1 + if ([0x043a,0x043b] <= AC1.M) { + // Happens when sound has finished playing? + + // 0abd 8900 clr $ACC1 + // 0abe 00c0 043b lr $AR0, @0x043b + ACC1 = 0; + AR0 = *0x043b; + + // 0ac0 02bf 0af6 call 0x0af6 // 0af6_Decoder0x21_MoreStuff() + 0af6_Decoder0x21_MoreStuff(AR0=*0x043b, AR3); + + // 0ac2 8100 clr $ACC0 + // 0ac3 1fd8 mrr $AC0.M, $AX0.L + // 0ac4 223b lrs $AX0.H, @0x003b + // 0ac5 5400 subr $ACC0, $AX0.H + // 0ac6 0007 dar $AR3 + // 0ac7 1979 lrri $AX1.L, @$AR3 + + ACC0 = 0; + AX0.H = *0x043b; + AC0.M = AX0.L - *0x043b; + + AX1.L = *$AR3; + + // Looks like duplication of the first memory address AC0.M times + + // 0ac8 005e loop $AC0.M + for(int i = 0; i < AC0.M; i++) { + // 0ac9 1b79 srri @$AR3, $AX1.L + *$AR3++ = AX1.L; + } + + // 0aca 0f01 lris $AC1.M, #0x01 + // 0acb 2f01 srs @0x0001, $AC1.M + // 0acc 8900 clr $ACC1 + // 0acd 2f3b srs @0x003b, $AC1.M + + ACC1 = 0; + + // Looks like some finalization of the PB + *0x0401 = 1; // KeyOff + *0x043b = 0; // RemLength + + + 0ace 0092 00ff lri $CR, #0x00ff + //0ad0 02df ret + return; + } + + // 0ad1 2e3a srs @0x003a, $AC0.M + // 0ad2 2c3b srs @0x003b, $AC0.L + + *0x043a = AC0.M; + *0x043b = AC0.L; + + // 0ad3 8100 clr $ACC0 + // 0ad4 8900 clr $ACC1 + // 0ad5 268a lrs $AC0.M, @0xff8a + // 0ad6 2734 lrs $AC1.M, @0x0034 + + ACC0 = 0; + ACC1 = 0; + AC0.M = *0x048a; + AC1.M = *0x0434; + + // 0ad7 5c00 sub $ACC0, $ACC1 + // 0ad8 2e36 srs @0x0036, $AC0.M + + ACC0 -= AC1.L; + *0x0436 = (ACC0 & 0xFFFF0000) >> 16; + + // 0ad9 5000 subr $ACC0, $AX0.L + ACC0 -= AX0.L; + + 0ada 0290 0af0 jge 0x0af0 + if (ACC0 < 0) { + // 0adc 00c0 0436 lr $AR0, @0x0436 + // 0ade 02bf 0af6 call 0x0af6 + 0af6_Decoder0x21_MoreStuff(AR0=*0x0436, AR3); + + // 0ae0 8100 clr $ACC0 + // 0ae1 1fd8 mrr $AC0.M, $AX0.L + + ACC0 = 0; + AC0.M = AX0.L; + + // 0ae2 2236 lrs $AX0.H, @0x0036 // 0x0436 + AX0.H = *0x0436; + + // 0ae3 5400 subr $ACC0, $AX0.H + // 0ae4 1c1e mrr $AR0, $AC0.M + // 0ae5 8100 clr $ACC0 + // 0ae6 2e34 srs @0x0034, $AC0.M + + ACC0 -= AX0.H; + AR0 = (ACC0 & 0xFFFF0000) >> 16; + ACC0 = 0; + *0x0434 = 0; + + // 0ae7 2688 lrs $AC0.M, @0xff88 // 0x0488 + // 0ae8 2489 lrs $AC0.L, @0xff89 // 0x0489 + // 0ae9 2e8c srs @0xff8c, $AC0.M + // 0aea 2c8d srs @0xff8d, $AC0.L + + *0x048c = *0x0488; + *0x048d = *0x0489; + + // 0aeb 02bf 0af6 call 0x0af6 + 0af6_Decoder0x21_MoreStuff(AR0=*0x0436, AR3); + + 0aed 0092 00ff lri $CR, #0x00ff + // 0aef 02df ret + return; + } + + // 0af0 1c18 mrr $AR0, $AX0.L + // 0af1 02bf 0af6 call 0x0af6 + + AR0 = AX0.L; + 0af6_Decoder0x21_MoreStuff(AR0=AX0.L, AR3); + + 0af3 0092 00ff lri $CR, #0x00ff + // 0af5 02df ret +} + + + +// CR = 0x4 +// Does strange stuff with PB[0x34] and the address PB[0x8c,d] +// Does not touch AX0.L +void 0af6_Decoder0x21_MoreStuff($AR0, $AR3) { + // 0af6 8100 clr $ACC0 + // 0af7 1fc0 mrr $AC0.M, $AR0 + // 0af8 b100 tst $ACC0 + // 0af9 02d5 retz + if (!AR0) + return; + + // 0afa 8900 clr $ACC1 + // 0afb 2734 lrs $AC1.M, @0x0034 + // 0afc 0340 0001 andi $AC1.M, #0x0001 + // 0afe 0b00 lris $AX1.H, #0x00 + // 0aff 1f3f mrr $AX1.L, $AC1.M + + AX1.L = *0x0434 & 1; + + // 0b00 268c lrs $AC0.M, @0xff8c + // 0b01 248d lrs $AC0.L, @0xff8d + // 0b02 8900 clr $ACC1 + // 0b03 2534 lrs $AC1.L, @0x0034 + // 0b04 1501 lsl $ACC1, #1 + // 0b05 4c00 add $ACC0, $ACC1 + + // 0b06 5a00 subax $ACC0, $AX1 + // 0b07 5a00 subax $ACC0, $AX1 + + ACC0 = [8c,8d] + *0x0434 * 2 - ((*0x0434 & 1) * 2); + + // 0b08 1c20 mrr $AR1, $AR0 + + AR1 = AR0; + + // 0b09 1fe0 mrr $AC1.M, $AR0 + // 0b0a 0502 addis $ACC1, #0x02 + ACC1 = ($AR0 << 16) + 0x20000; + + // + // 0b0b 1c1f mrr $AR0, $AC1.M + // 0b0c 009f 0b00 lri $AC1.M, #0x0b00 + 0b0e 0092 00ff lri $CR, #0x00ff + + AR0 = AC1.M; + AC1.M = 0x0b00; + + // Load more audio from RAM by DMA?? + + // 0b10 02bf 0525 call 0x0525 // 0525_CopyRAMtoDMEM + 0525_CopyRAMtoDMEM($AR1 == $ACC1 >> 16, 0x0b00, $AR0) + + // 0b12 0092 0004 lri $CR, #0x0004 + + // 0b14 2734 lrs $AC1.M, @0x0034 + // 0b15 1f61 mrr $AX1.H, $AR1 + // 0b16 4700 addr $ACC1, $AX1.H + // 0b17 2f34 srs @0x0034, $AC1.M + *0x0434 += AR1; + + // 0b18 0080 0b00 lri $AR0, #0x0b00 + // 0b1a 8900 clr $ACC1 + // 0b1b 1ff9 mrr $AC1.M, $AX1.L + // 0b1c b900 tst $ACC1 + // 0b1d 0274 ifnz + if (AX1.L) { + // 0b1e 0008 iar $AR0 + $AR0++; + } + // 0b1f 8900 clr $ACC1 + // 0b20 1fe1 mrr $AC1.M, $AR1 + // 0b21 191e lrri $AC0.M, @$AR0 + // 0b22 0701 cmpis $ACC1, #0x01 + ACC1 = 0; + AC1.M = AR1; + AC0.M = *$AR0++; + // 0b23 0293 0b2c jle 0x0b2c + if (AC1.M > 1) { + // 0b25 191a lrri $AX0.H, @$AR0 + // 0b26 05fe addis $ACC1, #0xfe + AX0.H = *$AR0++; + ACC1 += 0xfe0000; + + // 0b27 005f loop $AC1.M + for(int i = 0; i < AC1.M; i++) { + // 0b28 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + AC0.L = 0; + AC0.H = AX0.H; + AC0.M = AX0.H; + AX0.H = *$AR0++; + *$AR3++ = AC0.M; + } + //0b29 1b7e srri @$AR3, $AC0.M + //0b2a 1b7a srri @$AR3, $AX0.H + //0b2b 02df ret + + *$AR3++ = AC0.M; + *$AR3++ = AX0.H; + } else { + //0b2c 1b7e srri @$AR3, $AC0.M + //0b2d 02df ret + *$AR3++ = AC0.M; + } +} + + +void 0b2e_Unk_Multiply() { // ZWW: 01c2_Unk + 0b2e 8a00 m2 + 0b2f 0083 03e8 lri $AR3, #0x03e8 + 0b31 191e lrri $AC0.M, @$AR0 + 0b32 191a lrri $AX0.H, @$AR0 + 0b33 1006 loopi #0x06 + 0b34 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0b35 1b7e srri @$AR3, $AC0.M + 0b36 1b7a srri @$AR3, $AX0.H + 0b37 0080 03e8 lri $AR0, #0x03e8 + 0b39 0088 0007 lri $WR0, #0x0007 + 0b3b 1150 0b48 bloopi #0x50, 0x0b48 + for (int i = 0; i < 0x50; i++) { + 0b3d 1c61 mrr $AR3, $AR1 + 0b3e 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0b3f f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b40 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b41 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b42 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b43 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b44 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b45 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b46 f200 madd $AX0.L, $AX0.H + 0b47 fe00 movpz $ACC0 + 0b48 1b3e srri @$AR1, $AC0.M + } + 0b49 0088 ffff lri $WR0, #0xffff + 0b4b 8b00 m0 + 0b4c 02df ret +} + +// looks kind of like a IIR filter? +// Hardcoded buffer length = 0x50 +void 0b4d_IIR_Filter(InBuffer($AR0), OutBuffer($AR1), FilterLength(AC1.M)) { + 0b4d 8a00 m2 + 0b4e 05fe addis $ACC1, #0xfe + 0b4f 0083 03e8 lri $AR3, #0x03e8 + 0b51 191e lrri $AC0.M, @$AR0 + 0b52 191a lrri $AX0.H, @$AR0 + 0b53 005f loop $AC1.M + 0b54 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + + 0b55 1b7e srri @$AR3, $AC0.M + 0b56 1b7a srri @$AR3, $AX0.H + 0b57 0080 03e8 lri $AR0, #0x03e8 + 0b59 0501 addis $ACC1, #0x01 + 0b5a 1d1f mrr $WR0, $AC1.M + // 0b5b 1150 0b63 bloopi #0x50, 0x0b63 + for (int i = 0; i < 0x50; i++) { + 0b5d 1c61 mrr $AR3, $AR1 + 0b5e 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0b5f 005f loop $AC1.M + 0b60 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0b61 f200 madd $AX0.L, $AX0.H + 0b62 fe00 movpz $ACC0 + 0b63 1b3e srri @$AR1, $AC0.M + } + 0b64 0088 ffff lri $WR0, #0xffff + 0b66 8b00 m0 + 0b67 02df ret +} + +// Looks like a 4-tap FIR filter. +// Hardcoded buffer length = 0x50 +// Uses 0x03e8 as some scratch space, i think . +void 0b68_4TapFIR(InBuffer($AR2), FilterBuffer($AR0), OutBuffer($AR1)) { + 0b68 0083 03e8 lri $AR3, #0x03e8 + 0b6a 191e lrri $AC0.M, @$AR0 + 0b6b 191a lrri $AX0.H, @$AR0 + 0b6c 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0b6d 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0b6e 1b7e srri @$AR3, $AC0.M + 0b6f 1b7a srri @$AR3, $AX0.H + 0b70 0080 03e8 lri $AR0, #0x03e8 + 0b72 0088 0003 lri $WR0, #0x0003 // That's a short wrap - filter coefs? + 0b74 0085 0000 lri $IX1, #0x0000 + 0b76 0087 0000 lri $IX3, #0x0000 + 0b78 1fc2 mrr $AC0.M, $AR2 + 0b79 195b lrri $AX1.H, @$AR2 + 0b7a 1959 lrri $AX1.L, @$AR2 + 0b7b 195f lrri $AC1.M, @$AR2 + 0b7c 195a lrri $AX0.H, @$AR2 + 0b7d 1c5e mrr $AR2, $AC0.M + 0b7e 1fda mrr $AC0.M, $AX0.H + 0b7f 1c61 mrr $AR3, $AR1 + 0b80 8a00 m2 + 0b81 8f00 set40 + 0b82 191a lrri $AX0.H, @$AR0 + 0b83 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0b84 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0b85 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0b86 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0b87 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0b88 1127 0b93 bloopi #0x27, 0x0b93 + for (int i = 0; i < 0x27; i++) { + 0b8a e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M // end of first iteration + + 0b8b 197e lrri $AC0.M, @$AR3 + 0b8c e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0b8d eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0b8e bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 0b8f e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M // e + + 0b90 197f lrri $AC1.M, @$AR3 // start of first iteration + 0b91 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0b92 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0b93 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + } + 0b94 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0b95 197e lrri $AC0.M, @$AR3 + 0b96 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0b97 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0b98 bf00 mulxmv $AX0.H, $AX1.H, $ACC1 + 0b99 1bff srrn @$AR3, $AC1.M + 0b9a 197f lrri $AC1.M, @$AR3 + 0b9b 8e00 set16 + 0b9c 8b00 m0 + 0b9d 0088 ffff lri $WR0, #0xffff + 0b9f 1b5b srri @$AR2, $AX1.H + 0ba0 1b59 srri @$AR2, $AX1.L + 0ba1 1b5f srri @$AR2, $AC1.M + 0ba2 1b5e srri @$AR2, $AC0.M + 0ba3 02df ret +} + +// Fixed length 0x50. +void 0ba4_UnknownFilter(params($AR0), buffer($AR1), filter_state($AR2)) { + 0ba4 0083 03e8 lri $AR3, #0x03e8 + + // Load 4 parameters from *$AR0, copy them into the tiny ring buffer + // later handled by $AR0/$WR0 (filter state?) + 0ba6 191e lrri $AC0.M, @$AR0 + 0ba7 191a lrri $AX0.H, @$AR0 + 0ba8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0ba9 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0baa 1b7e srri @$AR3, $AC0.M + 0bab 1b7a srri @$AR3, $AX0.H + 0bac 0080 03e8 lri $AR0, #0x03e8 + 0bae 0088 0003 lri $WR0, #0x0003 // That's a short wrap - filter coefs? + 0bb0 0085 0000 lri $IX1, #0x0000 + 0bb2 0087 0000 lri $IX3, #0x0000 + + // Load more parameters from *$AR2 + 0bb4 1fc2 mrr $AC0.M, $AR2 + 0bb5 195b lrri $AX1.H, @$AR2 + 0bb6 1959 lrri $AX1.L, @$AR2 + 0bb7 195f lrri $AC1.M, @$AR2 + 0bb8 195a lrri $AX0.H, @$AR2 + + 0bb9 1c5e mrr $AR2, $AC0.M + 0bba 1fda mrr $AC0.M, $AX0.H + + // Setup AR3, now ready to read in data. + 0bbb 1c61 mrr $AR3, $AR1 + 0bbc 8a00 m2 + 0bbd 8f00 set40 + + // Start the pipeline + 0bbe 191a lrri $AX0.H, @$AR0 + 0bbf b800 mulx $AX0.H, $AX1.H + 0bc0 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0bc1 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0bc2 ea00 maddc $AC1.M, $AX1.L + 0bc3 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0bc4 e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0bc5 ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0bc6 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + + 0bc7 1127 0bd8 bloopi #0x27, 0x0bd8 + // (half of 0x50) - 1, -1 due to the software pipelining. + for (int i = 0; i < 0x27; i++) { + 0bc9 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0bca e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + + 0bcb 197e lrri $AC0.M, @$AR3 + 0bcc e800 maddc $AC0.M, $AX1.L + 0bcd e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0bce ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0bcf eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0bd0 bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0bd1 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0bd2 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + + 0bd3 197f lrri $AC1.M, @$AR3 + 0bd4 ea00 maddc $AC1.M, $AX1.L + 0bd5 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0bd6 e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0bd7 ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0bd8 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + } + 0bd9 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0bda e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + + 0bdb 197e lrri $AC0.M, @$AR3 + 0bdc e800 maddc $AC0.M, $AX1.L + 0bdd e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0bde ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0bdf eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0be0 bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0be1 1bff srrn @$AR3, $AC1.M + + 0be2 197f lrri $AC1.M, @$AR3 + 0be3 8e00 set16 + 0be4 8b00 m0 + 0be5 0088 ffff lri $WR0, #0xffff + 0be7 1b5b srri @$AR2, $AX1.H + 0be8 1b59 srri @$AR2, $AX1.L + 0be9 1b5f srri @$AR2, $AC1.M + 0bea 1b5e srri @$AR2, $AC0.M + // 0beb 02df ret +} + +void 0bec_Unk() { + // 0bec 0eff lris $AC0.M, #0xff + // 0bed 00fe 03f2 sr @0x03f2, $AC0.M + *0x03f2 = 0xFF + + // 0bef 8100 clr $ACC0 + // 0bf0 00fe 03f0 sr @0x03f0, $AC0.M + // 0bf2 00fe 03f6 sr @0x03f6, $AC0.M + *0x03f0 = 0x00 + *0x03f6 = 0x00 + + // 0bf4 009e 0100 lri $AC0.M, #0x0100 + // 0bf6 00fe 03f7 sr @0x03f7, $AC0.M + *0x03f7 = 0x100 + + 0bf8 00da 03f7 lr $AX0.H, @0x03f7 + 0bfa 009e 8000 lri $AC0.M, #0x8000 + 0bfc 5400 subr $ACC0, $AX0.H + 0bfd 00fe 03f5 sr @0x03f5, $AC0.M + + // 0bff 0e30 lris $AC0.M, #0x30 + // 0c00 00fe 03f3 sr @0x03f3, $AC0.M + *0x03f3 = 0x0030 + + // 0c02 0e10 lris $AC0.M, #0x10 + // 0c03 00fe 03f4 sr @0x03f4, $AC0.M + *0x03f5 = 0x0010 + + // 0c05 009e 0096 lri $AC0.M, #0x0096 + // 0c07 00fe 03f1 sr @0x03f1, $AC0.M + *0x03f1 = 0x0096 + + // 0c09 02df ret +} + +void 0c0a_Unk() { + // 0c0a 0080 0a00 lri $AR0, #0x0a00 + // 0c0c 8100 clr $ACC0 + // 0c0d 00de 03f0 lr $AC0.M, @0x03f0 + // 0c0f 8900 clr $ACC1 + // 0c10 b100 tst $ACC0 + + // 0c11 0275 ifz + // 0c12 0550 addis $ACC1, #0x50 + $AC0.M = *(0x03f0); + if (*(0x03f0) == 0) { + $ACC1 = 0x50 << 16; + } + // 0c13 00ff 03f0 sr @0x03f0, $AC1.M + *(0x03f0) = $ACC1; + + // 0c15 0200 0a60 addi $AC0.M, #0x0a60 + // 0c17 1c7e mrr $AR3, $AC0.M + // 0c18 0f4e lris $AC1.M, #0x4e + + $AC0.M += 0xa60; + $AR3 = $AC0.M + $AC1.M = 0x4e; + + // 0c19 02bf 00da call 0x00da + 00da_CopyBuffer(src=0x0a00, dst=$AC0.M, #0x4e) + + // 0c1b 02df ret +} + +// The control flow of this thing is NOT easy ... +// Reads from buffer at 0x0a60 +// Writes to buffer at 0x0a00 +void 0c1c_ComputeReverbFrom0a60To0a00() +{ + // 0c1c 00de 03f1 lr $AC0.M, @0x03f1 + // 0c1e 0200 0a60 addi $AC0.M, #0x0a60 + // 0c20 1c7e mrr $AR3, $AC0.M + $AR3 = 0x0a60 + *(0x03f1); + + 0c21 8100 clr $ACC0 + 0c22 8900 clr $ACC1 + 0c23 009f 00a0 lri $AC1.M, #0x00a0 + 0c25 00de 03f1 lr $AC0.M, @0x03f1 + 0c27 5d00 sub $ACC1, $ACC0 + 0c28 0e50 lris $AC0.M, #0x50 + 0c29 0750 cmpis $ACC1, #0x50 + 0c2a 0270 ifge + 0c2b 5d00 sub $ACC1, $ACC0 + 0c2c 00da 03f2 lr $AX0.H, @0x03f2 + 0c2e 8600 tstaxh $AX0.H + 0c2f 0290 0c4d jge 0x0c4d + 0c31 00de 03f3 lr $AC0.M, @0x03f3 + 0c33 5c00 sub $ACC0, $ACC1 + 0c34 0293 0c38 jle 0x0c38 + 0c36 029f 0c52 jmp 0x0c52 // done: + + 0c38 00db 03f7 lr $AX1.H, @0x03f7 + 0c3a 009e 8000 lri $AC0.M, #0x8000 + 0c3c 4600 addr $ACC0, $AX1.H + 0c3d 029f 0c44 jmp 0x0c44 + + 0c3f 00db 03f7 lr $AX1.H, @0x03f7 + 0c41 009e 8000 lri $AC0.M, #0x8000 + 0c43 5600 subr $ACC0, $AX1.H + + 0c44 00fe 03f5 sr @0x03f5, $AC0.M + 0c46 1fda mrr $AC0.M, $AX0.H + 0c47 7c00 neg $ACC0 + 0c48 1f5e mrr $AX0.H, $AC0.M + 0c49 00fe 03f2 sr @0x03f2, $AC0.M + 0c4b 029f 0c52 jmp 0x0c52 // done: + + 0c4d 00de 03f4 lr $AC0.M, @0x03f4 + 0c4f 5d00 sub $ACC1, $ACC0 + 0c50 0293 0c3f jle 0x0c3f + +done: + 0c52 8900 clr $ACC1 + 0c53 00dd 03f5 lr $AC1.L, @0x03f5 + 0c55 1501 lsl $ACC1, #1 + 0c56 8100 clr $ACC0 + 0c57 00dc 03f6 lr $AC0.L, @0x03f6 + 0c59 008b 009f lri $WR3, #0x009f // 0xa0 wrap + 0c5b 0080 0a00 lri $AR0, #0x0a00 + 0c5d 0900 lris $AX1.L, #0x00 + + // This is the loop that used to go crazy in the LLE emulation + // before we fixed addarn to obey the wrapping register. + + // Feels like some crazy delay function with a slowly drifting delay time. + + // Could this be part of a reverb? Or just a flanger? + + // 0c5e 1150 0c65 bloopi #0x50, 0x0c65 + for (int i = 0; i < 0x50; i++) { + 0c60 1878 lrr $AX0.L, @$AR3 + 0c61 4c00 add $ACC0, $ACC1 + 0c62 1cfe mrr $IX3, $AC0.M + 0c63 001f addarn $AR3, $IX3 + 0c64 1fd9 mrr $AC0.M, $AX1.L + 0c65 1b18 srri @$AR0, $AX0.L + + $AX0.L = *AR3; + $ACC0 += $ACC1; + $IX3 = $AC0.M; + $AR3 += $IX3; + $AC0.M = $AX1.L; + *(AR0++) = $AX0.L; + } + + 0c66 009f 0a60 lri $AC1.M, #0x0a60 + 0c68 1fc3 mrr $AC0.M, $AR3 + 0c69 5c00 sub $ACC0, $ACC1 + 0c6a 00fe 03f1 sr @0x03f1, $AC0.M + 0c6c 00fc 03f6 sr @0x03f6, $AC0.L + 0c6e 008b ffff lri $WR3, #0xffff // restore wrap + // 0c70 02df ret +} + + +void 0c71_AddBufferA00ToD60AndD00() +{ + // 0c71 0f50 lris $AC1.M, #0x50 + // 0c72 0080 0a00 lri $AR0, #0x0a00 + // 0c74 0083 0d60 lri $AR3, #0x0d60 + // 0c76 0098 3fff lri $AX0.L, #0x3fff + // 0c78 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(0x0a00, 0x0d60, 0x50, 0x3fff) + + // 0c7a 0f50 lris $AC1.M, #0x50 + // 0c7b 0080 0a00 lri $AR0, #0x0a00 + // 0c7d 0083 0d00 lri $AR3, #0x0d00 + // 0c7f 0098 3fff lri $AX0.L, #0x3fff + // 0c81 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(0x0a00, 0x0d00, 0x50, 0x3fff) + + // 0c83 02df ret +} + +void 0c84_FilterBufferInPlace(_sampleAddr($AR0), multiplier($AX0.H)) +{ + // 0c84 8a00 m2 + // 0c85 8f00 set40 + // 0c86 8100 clr $ACC0 + // 0c87 00de 0404 lr $AC0.M, @0x0404 + // 0c89 b100 tst $ACC0 + // 0c8a 0295 0c91 jz 0x0c91 + if (*(0x0404)) { + // 0c8c 8100 clr $ACC0 + // 0c8d 00fe 0478 sr @0x0478, $AC0.M + // 0c8f 00fe 0479 sr @0x0479, $AC0.M + *0x0478 = 0; + *0x0479 = 0; + } + // 0c91 00df 0479 lr $AC1.M, @0x0479 + // 0c93 00db 0478 lr $AX1.H, @0x0478 + // 0c95 0900 lris $AX1.L, #0x00 + // 0c96 0084 0000 lri $IX0, #0x0000 + // 0c98 1150 0ca1 bloopi #0x50, 0x0ca1 + $AC1.M = *0x0479; + $AX1.H = *0x0478; + + // ACC1 always contains the value from the previous iteration. + for (int i = 0; i < 0x50; i++) { + // 0c9a 199e lrrn $AC0.M, @$AR0 + // 0c9b 5c7c sub'ln $ACC0, $ACC1 : $AC1.M, @$AR0 + // 0c9c c000 mulc $AC0.M, $AX0.H // Where does AX0.H get set? + // 0c9d 6e00 movp $ACC0 + // 0c9e 1488 asl $ACC0, #8 + // 0c9f 4a00 addax $ACC0, $AX1 + // 0ca0 1b1e srri @$AR0, $AC0.M + // 0ca1 1f7e mrr $AX1.H, $AC0.M + *$AC0.M = *$AR0; + $ACC0 -= $ACC1; + ( $AC1.M = *AR0; ) + $ACC0 = ($AC0.M * $AX0.H * 2 << 8) + ($AX1.L); + *($AR0++) = $AC0.M; + $AX1.H = $AC0.M; + + // Write back + 0ca2 00fb 0478 sr @0x0478, $AX1.H + 0ca4 00ff 0479 sr @0x0479, $AC1.M + + // 0ca6 8b00 m0 + // 0ca7 8e00 set16 + // 0ca8 02df ret +} + +// Called from both volume handlers. +// ACC1 is volume, AX is volume delta. +void 0ca9_RampedMultiplyAddBuffer(Volume($ACC1), Delta($AX0), InBuffer($AR0), Buffer($AR3)) { + // 0ca9 b900 tst $ACC1 + // 0caa 0294 0caf jnz 0x0caf + if (!ACC1) { + // 0cac 6800 movax $ACC0, $AX0.L + // 0cad b100 tst $ACC0 + // 0cae 02d5 retz + if (!AX0.L) + // If incoming volume is zero and ramp delta is zero, + // not really much point to do anything. + return + } + 0caf 1c23 mrr $AR1, $AR3 + 0cb0 197e lrri $AC0.M, @$AR3 + + // This is another heavily software pipelined loop, so it's very confusing. + // See the docs for mulc and mulcac if you want to have any hope of understanding it. + // + // Produce the first result, so it's ready in the prod register. + 0cb1 191b lrri $AX1.H, @$AR0 + 0cb2 d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 + + // 0cb3 1120 0cb9 bloopi #0x20, 0x0cb9 + for (int i = 0; i < 0x20; i++) { + 0cb5 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0cb6 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + + 0cb7 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0cb8 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M // Store 1 + + // Walk the ramp. Somewhat odd that it's done only every 2 samples. + 0cb9 4900 addax $ACC1, $AX0 + } + + // 0cba 1108 0cbf bloopi #0x08, 0x0cbf + for (int i = 0; i < 0x8; i++) { + 0cbc dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0cbd 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + + 0cbe dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0cbf 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + } + + // NOTE - The above two loops are very similar and the sum of their lengths is + // 0x28 - which is half of 0x50. And each does two loads and two stores, so together + // it's 50. Just strange that the addax is missing in the second loop. + + // It looks like we're dealing with crappy volume ramping - the delta is computed using + // (vol2 - vol1) >> 5! That's why it can only ramp the volume the first 64 (0x20 * 2) samples! + + 0cc0 02df ret +} + + +// What a strange filter .. ORR? +void 0cc1_StrangeORRFilter(_pBuffer(AR3)) +{ + 0cc1 8f00 set40 + 0cc2 8d00 set15 // X multiplications unsigned + 0cc3 1c03 mrr $AR0, $AR3 + 0cc4 00d9 038e lr $AX1.L, @0x038e + 0cc6 0b04 lris $AX1.H, #0x04 + + // pipeline starts here. + 0cc7 197a lrri $AX0.H, @$AR3 + 0cc8 b053 mulx'l $AX0.H, $AX1.L : $AX0.H, @$AR3 + 0cc9 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0cca 1128 0ccf bloopi #0x28, 0x0ccf + 0ccc 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0ccd b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0cce 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0ccf b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0cd0 8c00 clr15 + 0cd1 8e00 set16 + + // 0cd2 02df ret +} + + +// called from sync frame if (*0x042c != 0) +// That is, if volume mode != 0. +// It first seems to compute a lot of parameters and store them at 0x0b00 forwards. +// Then it uses those as input for the usual (ramped?) mixes. +void 0cd3_VolumeMixer1() +{ + // 0cd3 00da 0485 lr $AX0.H, @0x0485 + // 0cd5 8600 tstaxh $AX0.H + // 0cd6 0295 0ce5 jz 0x0ce5 + if (*0x0485 != 0) { + // 0cd8 8100 clr $ACC0 + // 0cd9 00de 042a lr $AC0.M, @0x042a + // 0cdb 147f lsr $ACC0, #-1 + // 0cdc 00fe 042b sr @0x042b, $AC0.M + *(0x042b) = *(0x042a) >> 1; + + // 0cde b100 tst $ACC0 + // 0cdf 0294 0ce5 jnz 0x0ce5 + if (*0x042b == 0) { + // 0ce1 009a 0001 lri $AX0.H, #0x0001 + // 0ce3 00fa 0401 sr @0x0401, $AX0.H + *(0x0401) = 1; // KeyOff + } + } + + // 0ce5 8f00 set40 + // 0ce6 8100 clr $ACC0 + // 0ce7 00de 0428 lr $AC0.M, @0x0428 + // 0ce9 1478 lsr $ACC0, #-8 + (ACC0 = *(0x0428) << 8); + + // 0cea 00df 0428 lr $AC1.M, @0x0428 + // 0cec 0340 007f andi $AC1.M, #0x007f + // 0cee 1f1e mrr $AX0.L, $AC0.M + // 0cef 1f5f mrr $AX0.H, $AC1.M + // 0cf0 0220 007f xori $ACC0, #0x007f + // 0cf2 1f3e mrr $AX1.L, $AC0.M + // 0cf3 0320 007f xori $ACC1, #0x007f + // 0cf5 1f7f mrr $AX1.H, $AC1.M + AX0.L = *(0x0428) >> 8; + AX0.H = *(0x0428) & 0x7F; + AX1.L = AX0.L ^ 0x7f; + AX1.H = AX1.H ^ 0x7f; + + // 0cf6 8100 clr $ACC0 + // 0cf7 8900 clr $ACC1 + // 0cf8 009f 0200 lri $AC1.M, #0x0200 + + // 0cfa 1fd8 mrr $AC0.M, $AX0.L + // 0cfb 4c00 add $ACC0, $ACC1 # broken disasm? this doesn't make much sense. + // 0cfc 1c1e mrr $AR0, $AC0.M + // 0cfd 1818 lrr $AX0.L, @$AR0 + AR0 = AX0.L + 0x0200; + AX0.L = *AR0; + + // 0cfe 1fda mrr $AC0.M, $AX0.H + // 0cff 4c00 add $ACC0, $ACC1 + // 0d00 1c1e mrr $AR0, $AC0.M + // 0d01 181a lrr $AX0.H, @$AR0 + AR0 = AX0.H + 0x200; + AX0.H = *AR0; + + // 0d02 1fd9 mrr $AC0.M, $AX1.L + // 0d03 4c00 add $ACC0, $ACC1 + // 0d04 1c1e mrr $AR0, $AC0.M + // 0d05 1819 lrr $AX1.L, @$AR0 + AR0 = AX1.L + 0x200; + AX1.L = *AR0 + + // 0d06 1fdb mrr $AC0.M, $AX1.H + // 0d07 4c00 add $ACC0, $ACC1 + // 0d08 1c1e mrr $AR0, $AC0.M + // 0d09 181b lrr $AX1.H, @$AR0 + AR0 = AX1.H + 0x200; + AX1.H = *AR0; + + // 0d0a 0080 0b00 lri $AR0, #0x0b00 + // 0d0c 9800 mul $AX1.L, $AX1.H + // 0d0d ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + // 0d0e b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + // 0d0f 9630 mulmv's $AX0.L, $AX0.H, $ACC0 : @$AR0, $AC0.M + // 0d10 6e30 movp's $ACC0 : @$AR0, $AC0.M + // 0d11 1b1e srri @$AR0, $AC0.M + + // The above is heavily "sw-pipelined" but I think it turns into: + $AR0 = 0x0b00; + *$AR0++ = AX1.L * AX1.H; + *$AR0++ = AX0.L * AX1.H; + *$AR0++ = AX0.H * AX1.L; + *$AR0++ = AX0.L * AX0.H; + + // 0d12 0080 0b00 lri $AR0, #0x0b00 + // 0d14 0081 0b04 lri $AR1, #0x0b04 + // 0d16 00da 042a lr $AX0.H, @0x042a + // 0d18 02bf 0d62 call 0x0d62 // some tricky multiplication + 0d62_Mul4ByAX0H(0x0b00, 0x0b04, *(0x042a)); + + // 0d1a 0081 0b08 lri $AR1, #0x0b08 + // 0d1c 0080 0b04 lri $AR0, #0x0b04 + // 0d1e 00da 042a lr $AX0.H, @0x042a // interesting + // 0d20 00de 0429 lr $AC0.M, @0x0429 // interesting + // 0d22 c000 mulc $AC0.M, $AX0.H + // 0d23 6e00 movp $ACC0 + // 0d24 1481 asl $ACC0, #1 + // 0d25 1f5e mrr $AX0.H, $AC0.M + + 0d62_Mul4ByAX0H(0x0b00, 0x0b04, (*(0x042a) * *(0x0429) << 1) >> 16); + // 0d26 02bf 0d62 call 0x0d62 // some tricky multiplication + + // 0d28 0080 0b00 lri $AR0, #0x0b00 + // 0d2a 0081 0b0c lri $AR1, #0x0b0c + // 0d2c 8100 clr $ACC0 + // 0d2d 8900 clr $ACC1 + // 0d2e 00de 042b lr $AC0.M, @0x042b // interesting + // 0d30 00df 042a lr $AC1.M, @0x042a // interesting + // 0d32 00fe 042a sr @0x042a, $AC0.M + *(0x042a) = *(0x042b); + + // 0d34 5c00 sub $ACC0, $ACC1 + // 0d35 1f5e mrr $AX0.H, $AC0.M + // 0d36 02bf 0d6b call 0x0d6b // some other tricky multiplication + 0d6b_Mul4ByAC0M_Unsigned(0xb00, 0x0b0c, $AC0.M(*(0x042a) - *(0x042b))) // does not touch AX0.H + + // 0d38 0080 0b0c lri $AR0, #0x0b0c + // 0d3a 0081 0b10 lri $AR1, #0x0b10 + // 0d3c 00da 0429 lr $AX0.H, @0x0429 // interesting + 0d3e 02bf 0d62 call 0x0d62 // some tricky multiplication + 0d62_Mul4ByAX0H(0x0b0c, 0x0b10, *(0x0429)); + + // 0d40 0081 0b04 lri $AR1, #0x0b04 + // 0d42 0082 0b0c lri $AR2, #0x0b0c + // 0d44 0083 0d77 lri $AR3, #0x0d77 + + // So basically the below loop is: + // For i in 0 to 8: + // Call 0ca9_RampedMultiplyAddBuffer($AR0 = *0x038f, $AR3=0x0d77[i], AX0=0xb0c[i]<<11, AC1.M=0x0b04[i]) + + // 0d46 1108 0d5f bloopi #0x08, 0x0d5f + for (int i = 0; i < 8; i++) { + // 0d48 195f lrri $AC1.M, @$AR2 + // 0d49 15fb asr $ACC1, #-5 + // 0d4a 1f1d mrr $AX0.L, $AC1.L + // 0d4b 1f5f mrr $AX0.H, $AC1.M + // Compute volume delta + AX0 = *AR2++ << 11; + + // 0d4c 193f lrri $AC1.M, @$AR1 + AC1.M = *AR1++; + + // 0d4d 00e1 0b24 sr @0x0b24, $AR1 + // 0d4f 00e2 0b25 sr @0x0b25, $AR2 + // 0d51 021b ilrri $AC0.M, @$AR3 // Buffer address table lookup (see below) + // 0d52 00e3 0b26 sr @0x0b26, $AR3 + (Stash AR1, AR2, AR3) + // 0d54 1c7e mrr $AR3, $AC0.M + // 0d55 00c0 038f lr $AR0, @0x038f + // 0d57 02bf 0ca9 call 0x0ca9 + 0ca9_RampedMultiplyAddBuffer(Volume($ACC1), Delta($AX0), InBuffer($AR0), Buffer($AR3)) + + // 0d59 00c1 0b24 lr $AR1, @0x0b24 + // 0d5b 00c2 0b25 lr $AR2, @0x0b25 + // 0d5d 00c3 0b26 lr $AR3, @0x0b26 + (Restore AR1, AR2, AR3) + 0d5f 0000 nop + } + + // 0d60 8e00 set16 + // 0d61 02df ret +} + +void 0d62_Mul4ByAX0H(in_buffer($AR0), out_buffer($AR1), multiplicand($AX0.H)) { + // 0d62 191f lrri $AC1.M, @$AR0 + // 0d63 d078 mulc'l $AC1.M, $AX0.H : $AC1.M, @$AR0 + // 0d64 d678 mulcmv'l $AC1.M, $AX0.H, $ACC0 : $AC1.M, @$AR0 + // 0d65 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + // 0d66 191f lrri $AC1.M, @$AR0 + // 0d67 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + // 0d68 6e31 movp's $ACC0 : @$AR1, $AC0.M + // 0d69 1b3e srri @$AR1, $AC0.M + // 0d6a 02df ret + // The above is a crazy sw-pipelined way to write: + for (int i = 0; i < 4; i++) { + out_buffer[i] = (s16)in_buffer[i] * (s16)multiplicand >> 16; + } +} + +void 0d6b_Mul4ByAC0M_Unsigned(in_buffer($AR0), out_buffer($AR1), multiplicand($AX1.H)) { + // 0d6b 8d00 set15 + // 0d6c 1f7e mrr $AX1.H, $AC0.M + // 0d6d 1918 lrri $AX0.L, @$AR0 + // 0d6e a840 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR0 + // 0d6f ae40 mulxmv'l $AX0.L, $AX1.H, $ACC0 : $AX0.L, @$AR0 + // 0d70 ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + // 0d71 1918 lrri $AX0.L, @$AR0 + // 0d72 ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + // 0d73 6e31 movp's $ACC0 : @$AR1, $AC0.M + // 0d74 1b3e srri @$AR1, $AC0.M + // 0d75 8c00 clr15 + // 0d76 02df ret + // The above is a crazy sw-pipelined way to write: + for (int i = 0; i < 4; i++) { + out_buffer[i] = in_buffer[i] * multiplicand >> 16; //(unsigned multiplication) + } +} + +// table for 0cd3_Unk +// This is a bunch of buffer addresses! +short table = {0x0d00, 0x0d60, 0x0f40, 0x0ca0, 0x0e80, 0x0ee0, 0x0c00, 0x0c50}; + +0d77 0d00 +0d78 0d60 +0d79 0f40 +0d7a 0ca0 +0d7b 0e80 +0d7c 0ee0 +0d7d 0c00 +0d7e 0c50 + +void 0d7f_ResampleAudioData(_src($AR0), _dest($AR1), param(AX1.L) = 0, _option??) +{ + 0d7f 00f9 0361 sr @0x0361, $AX1.L // always 0 + + // 0d81 1fc0 mrr $AC0.M, $AR0 + // 0d82 0200 fffc addi $AC0.M, #0xfffc + // 0d84 1c1e mrr $AR0, $AC0.M + // 0d85 1c5e mrr $AR2, $AC0.M + + // We read a little bit BEFORE the input. The next piece of code takes care of that... + $AR0 = $AR0 - 4; + $AR2 = $AR0; + + // 0x043c to 0x043f is storage for old sample data. + 0d86 0083 043c lri $AR3, #0x043c + + // Pipelined tiny memcpy - first four are loads, last four are stores. middle two overlap. + // 0d88 197e lrri $AC0.M, @$AR3 + // 0d89 197f lrri $AC1.M, @$AR3 + // 0d8a 80a2 nx'sl : $AC0.M, $AX0.H + // 0d8b 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H + // 0d8c 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M + // 0d8d 1b1f srri @$AR0, $AC1.M + for (int i = 0; i < 4; i++) + *($AR0++) = *($AR3++); + + // Point $AR0 back at 4 words before the start of the in buffer. + // 0d8e 1c02 mrr $AR0, $AR2 + + 0d8f 8100 clr $ACC0 + // 0d90 00de 0402 lr $AC0.M, @0x0402 // Ratio int + // 0d92 00fe 0362 sr @0x0362, $AC0.M + // 0d94 1474 lsr $ACC0, #-12 + // 0d95 1f7e mrr $AX1.H, $AC0.M + // 0d96 1f3c mrr $AX1.L, $AC0.L + *0x0362 = PB.Ratio; + $AX1 = PB.Ratio << 4; + + 0d97 8900 clr $ACC1 + 0d98 00dd 0430 lr $AC1.L, @0x0430 // Sample position frac + 0d9a 1504 lsl $ACC1, #4 + + // $ACC0 here still contains ratio << 12; + 0d9b 0604 cmpis $ACC0, #0x04 + // 0d9c 0290 0df3 jge 0x0df3 // subroutine + + // If ratio too low, don't bother resampling? + GOTONS JustCopyWithoutResampling; + + 0d9e 1fdd mrr $AC0.M, $AC1.L + 0d9f 0082 02b0 lri $AR2, #0x02b0 + + // Store a ramp at 0x2b0? Lookup table for read addresses? + 0da1 1050 loopi #0x50 + 0da2 4b2a addax's $ACC1, $AX1 : @$AR2, $AC1.L + + 0da3 1fbe mrr $AC1.L, $AC0.M + 0da4 00fe 0360 sr @0x0360, $AC0.M + 0da6 8900 clr $ACC1 + 0da7 1fbe mrr $AC1.L, $AC0.M + + 0da8 0af8 lris $AX0.H, #0xf8 + 0da9 009b 00fc lri $AX1.H, #0x00fc + 0dab 00d8 0361 lr $AX0.L, @0x0361 // parameter was stashed here. + + // 0x02b0 is where the ramp from above is stored. + 0dad 0082 02b0 lri $AR2, #0x02b0 + 0daf 0083 02b0 lri $AR3, #0x02b0 + 0db1 195e lrri $AC0.M, @$AR2 + + // I really don't understand what the purpose of this loop is. + 0db2 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M + // 0db3 1128 0db8 bloopi #0x28, 0x0db8 + for (int i = 0; i < 0x50; i += 2) { + 0db5 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 + 0db6 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H + 0db7 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 + 0db8 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H + } + + 0db9 8a00 m2 // All muls doubled. + + // 0x02b0 is where the ramp from above is stored. + 0dba 0082 02b0 lri $AR2, #0x02b0 + + 0dbc 00dd 0430 lr $AC1.L, @0x0430 + 0dbe 1504 lsl $ACC1, #4 + 0dbf 1fe0 mrr $AC1.M, $AR0 + 0dc0 8100 clr $ACC0 + 0dc1 00de 0362 lr $AC0.M, @0x0362 + 0dc3 1474 lsr $ACC0, #-12 + 0dc4 1f7e mrr $AX1.H, $AC0.M + 0dc5 1f3c mrr $AX1.L, $AC0.L + + // Resample with some nice filter of some sort, using unreadable + // pipelined DSP code... gah. + + 0dc6 8f00 set40 // Loaded ACx.M values extend to the entire ACC. Don't see any actual use though. + + // Yep, this pretty much confirms that 0x02b0 is precomputed read addresses. + 0dc7 1943 lrri $AR3, @$AR2 + 0dc8 4bc3 addax'ld $ACC1, $AX1 : $AX0.L, $AX1.L, @$AR3 + 0dc9 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0dca f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0dcb f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0dcc f200 madd $AX0.L, $AX0.H + 0dcd fe00 movpz $ACC0 + 0dce 1c1f mrr $AR0, $AC1.M + 0dcf 1943 lrri $AR3, @$AR2 + 0dd0 4bc3 addax'ld $ACC1, $AX1 : $AX0.L, $AX1.L, @$AR3 + 0dd1 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + // 0dd2 114e 0dda bloopi #0x4e, 0x0dda + // Count the stores - 0x4e stores in the main loop, two more afterwards. + // Deeply pipelined. + for (int i = 0; i < 0x4e; i++) { + 0dd4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0dd5 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0dd6 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0dd7 1c1f mrr $AR0, $AC1.M + 0dd8 1943 lrri $AR3, @$AR2 + 0dd9 4bc3 addax'ld $ACC1, $AX1 : $AX0.L, $AX1.L, @$AR3 + 0dda 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 + } + 0ddb f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ddc f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0ddd f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0dde fe00 movpz $ACC0 + 0ddf 1b3e srri @$AR1, $AC0.M + + // Things back to normal. + // 0de0 8b00 m0 + // 0de1 8e00 set16 + +back_from_JustCopyWithoutResampling: + 0de2 00fe 0433 sr @0x0433, $AC0.M + 0de4 1c1f mrr $AR0, $AC1.M + 0de5 150c lsl $ACC1, #12 + 0de6 0340 0fff andi $AC1.M, #0x0fff + 0de8 00ff 0430 sr @0x0430, $AC1.M + + // Store the last 4 samples or something undecoded + // back into the PB. + 0dea 0083 043c lri $AR3, #0x043c + 0dec 191e lrri $AC0.M, @$AR0 + 0ded 191f lrri $AC1.M, @$AR0 + 0dee 80a0 nx'ls : $AX0.H, $AC0.M + 0def 64a1 movr'ls $AC0.M, $AX0.H : $AX0.H, $AC1.M + 0df0 6533 movr's $AC1.M, $AX0.H : @$AR3, $AC0.M + 0df1 1b7f srri @$AR3, $AC1.M + // 0df2 02df ret + return; + +JustCopyWithoutResampling: + // 0df3 1fe0 mrr $AC1.M, $AR0 + // 0df4 1c1f mrr $AR0, $AC1.M // This instruction looks very pointless. + + // 0df5 1128 0dfc bloopi #0x28, 0x0dfc + // 0df7 4b70 addax'l $ACC1, $AX1 : $AC0.M, @$AR0 + // 0df8 1b3e srri @$AR1, $AC0.M + // 0df9 1c1f mrr $AR0, $AC1.M + // 0dfa 4b70 addax'l $ACC1, $AX1 : $AC0.M, @$AR0 + // 0dfb 1b3e srri @$AR1, $AC0.M + // 0dfc 1c1f mrr $AR0, $AC1.M + for (int i = 0; i < 0x50; i++) { + $ACC1 += $AX1; // This is to still advance the playback position. + $AC0.M = *($AR0++); + *($AR1++) = $AC0.M; + $AR0 = $AC1.M; // Undo the increment + } + + // Looks like $AR0 stays unchanged, while $AR1 gets incremented by 0x50. + 0dfd 029f 0de2 jmp 0x0de2 +} + + +// Small utility jumped to from SyncFrame. +// sets 50 shorts from 0x520 to zero. +void 0dff_Zero520_50() { + 0dff 0083 0520 lri $AR3, #0x0520 + 0e01 00de 0433 lr $AC0.M, @0x0433 + 0e03 1050 loopi #0x50 + 0e04 1b7e srri @$AR3, $AC0.M + // 0e05 029f 02d8 jmp 0x02d8 + GOTO ContinueWithBlock: // in SyncFrame +} + +// No-one calls this routine. +void 0e07_UnUsed() { + 0e07 1c20 mrr $AR1, $AR0 + 0e08 185f lrr $AC1.M, @$AR2 + 0e09 1f7f mrr $AX1.H, $AC1.M + 0e0a 193a lrri $AX0.H, @$AR1 + 0e0b 6400 movr $ACC0, $AX0.H + 0e0c 0078 0e11 bloop $AX0.L, 0x0e11 + 0e0e 5659 subr'l $ACC0, $AX1.H : $AX1.H, @$AR1 + 0e0f 6730 movr's $ACC1, $AX1.H : @$AR0, $AC0.M + 0e10 5551 subr'l $ACC1, $AX0.H : $AX0.H, @$AR1 + 0e11 6438 movr's $ACC0, $AX0.H : @$AR0, $AC1.M + 0e12 1a5b srr @$AR2, $AX1.H + // 0e13 02df ret +} + +void 0e14_DolbyInit() +{ + // Init parameters/coefficients for UnknownFilter + 0e14 0098 8240 lri $AX0.L, #0x8240 + 0e16 00f8 04e8 sr @0x04e8, $AX0.L + 0e18 0098 7fff lri $AX0.L, #0x7fff + 0e1a 00f8 04e9 sr @0x04e9, $AX0.L + 0e1c 0098 7dbf lri $AX0.L, #0x7dbf + 0e1e 00f8 04ea sr @0x04ea, $AX0.L + 0e20 0098 843f lri $AX0.L, #0x843f + 0e22 00f8 04eb sr @0x04eb, $AX0.L + 0e24 0098 b23b lri $AX0.L, #0xb23b + 0e26 00f8 04f0 sr @0x04f0, $AX0.L + 0e28 0098 7fff lri $AX0.L, #0x7fff + 0e2a 00f8 04f1 sr @0x04f1, $AX0.L + 0e2c 0098 4dc4 lri $AX0.L, #0x4dc4 + 0e2e 00f8 04f2 sr @0x04f2, $AX0.L + 0e30 0098 d808 lri $AX0.L, #0xd808 + 0e32 00f8 04f3 sr @0x04f3, $AX0.L + + // Zero the UnknownFilter states. + 0e34 0098 0000 lri $AX0.L, #0x0000 + 0e36 0080 04ec lri $AR0, #0x04ec + 0e38 1004 loopi #0x04 + 0e39 1b18 srri @$AR0, $AX0.L + 0e3a 0080 04f4 lri $AR0, #0x04f4 + 0e3c 1004 loopi #0x04 + 0e3d 1b18 srri @$AR0, $AX0.L + // 0e3e 02df ret +} + +// I'm going to guess that this is Dolby mixing. +void 0e3f_DolbyMixdown() +{ + 0e3f 0080 0f40 lri $AR0, #0x0f40 + 0e41 0083 0b00 lri $AR3, #0x0b00 + 0e43 8900 clr $ACC1 + 0e44 0f50 lris $AC1.M, #0x50 + 0e45 0098 6784 lri $AX0.L, #0x6784 + //0e47 02bf 00fa call 0x00fa // XorBuffer + 00fa_BufferMultiply(src($AR0), dst($AR3), count($AC1.M), $mult($AX0.L)) + + 0e49 0080 04e8 lri $AR0, #0x04e8 + 0e4b 0082 04ec lri $AR2, #0x04ec + 0e4d 0081 0b00 lri $AR1, #0x0b00 + 0e4f 02bf 0ba4 call 0x0ba4 // 0ba4_UnknownFilter + 0ba4_UnknownFilter(params($AR0), buffer($AR1), filter_state($AR2)) + + 0e51 8900 clr $ACC1 + 0e52 0f50 lris $AC1.M, #0x50 + 0e53 0080 0b00 lri $AR0, #0x0b00 + 0e55 0083 0d00 lri $AR3, #0x0d00 + 0e57 0098 7fff lri $AX0.L, #0x7fff + // 0e59 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) + + 0e5b 8900 clr $ACC1 + 0e5c 0f50 lris $AC1.M, #0x50 + 0e5d 0080 0b00 lri $AR0, #0x0b00 + 0e5f 0083 0d60 lri $AR3, #0x0d60 + 0e61 0098 b820 lri $AX0.L, #0xb820 + // 0e63 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) + + 0e65 0080 0ca0 lri $AR0, #0x0ca0 + 0e67 0083 0b00 lri $AR3, #0x0b00 + 0e69 8900 clr $ACC1 + 0e6a 0f50 lris $AC1.M, #0x50 + 0e6b 0098 6784 lri $AX0.L, #0x6784 + // 0e6d 02bf 00fa call 0x00fa // XorBuffer + 00fa_BufferMultiply(src($AR0), dst($AR3), count($AC1.M), $mult($AX0.L)) + + 0e6f 0080 04e8 lri $AR0, #0x04e8 + 0e71 0082 04f4 lri $AR2, #0x04f4 + 0e73 0081 0b00 lri $AR1, #0x0b00 + // 0e75 02bf 0ba4 call 0x0ba4 // 0ba4_UnknownFilter + 0ba4_UnknownFilter(params($AR0), buffer($AR1), filter_state($AR2)) + + 0e77 8900 clr $ACC1 + 0e78 0f50 lris $AC1.M, #0x50 + 0e79 0080 0b00 lri $AR0, #0x0b00 + 0e7b 0083 0d00 lri $AR3, #0x0d00 + 0e7d 0098 47e0 lri $AX0.L, #0x47e0 + // 0e7f 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) + + 0e81 8900 clr $ACC1 + 0e82 0f50 lris $AC1.M, #0x50 + 0e83 0080 0b00 lri $AR0, #0x0b00 + 0e85 0083 0d60 lri $AR3, #0x0d60 + 0e87 0098 8001 lri $AX0.L, #0x8001 + // 0e89 02bf 00eb call 0x00eb + 00eb_Unk_BufferMultAddToDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _factor($AX0.L)) + + // 0e8b 02df ret +} + + +void Nops() { + 0e8c 0000 nop + 0e8d 0000 nop + 0e8e 0000 nop + 0e8f 0000 nop +} diff --git a/docs/DSP/DSP_UC_Zelda_Wii.txt b/docs/DSP/DSP_UC_Zelda_Wii.txt new file mode 100644 index 0000000000..a70c3274ec --- /dev/null +++ b/docs/DSP/DSP_UC_Zelda_Wii.txt @@ -0,0 +1,2850 @@ + 0000 029f 0012 jmp 0x0012 + 0002 0000 nop + 0003 0000 nop + 0004 02ff rti + 0005 0000 nop + 0006 02ff rti + 0007 0000 nop + 0008 02ff rti + 0009 0000 nop + 000a 02ff rti + 000b 0000 nop + 000c 02ff rti + 000d 0000 nop + 000e 029f 0725 jmp 0x0725 + 0010 029f 0059 jmp 0x0059 + 0012 1205 sbclr #0x05 + 0013 02bf 0062 call 0x0062 + 0015 8100 clr $ACC0 + 0016 009f 1000 lri $AC1.M, #0x1000 + 0018 0080 0000 lri $AR0, #0x0000 + 001a 005f loop $AC1.M + 001b 1b1e srri @$AR0, $AC0.M + 001c 02bf 07f5 call 0x07f5 + 001e 02bf 0f44 call 0x0f44 + 0020 0e00 lris $AC0.M, #0x00 + 0021 02bf 07d7 call 0x07d7 + 0023 009e 1111 lri $AC0.M, #0x1111 +// SEND_f355(0x1111) + 0025 02bf 07e1 call 0x07e1 + 0027 0e00 lris $AC0.M, #0x00 + 0028 00fe 034e sr @0x034e, $AC0.M + 002a 1305 sbset #0x05 + 002b 3a00 orr $AC0.M, $AX1.H + 002c 7400 incm $AC0.M + 002d 1f7e mrr $AX1.H, $AC0.M + 002e 0240 00ff andi $AC0.M, #0x00ff + 0030 0200 5500 addi $AC0.M, #0x5500 + 0032 02bf 00a0 call 0x00a0 + 0034 029f 0832 jmp 0x0832 + 0036 00df 0357 lr $AC1.M, @0x0357 + 0038 00ff 0345 sr @0x0345, $AC1.M + 003a 00de 0356 lr $AC0.M, @0x0356 + 003c 1ffe mrr $AC1.M, $AC0.M + 003d 0340 00ff andi $AC1.M, #0x00ff + 003f 00ff 0344 sr @0x0344, $AC1.M + 0041 1479 lsr $ACC0, #-7 + 0042 0240 007e andi $AC0.M, #0x007e + 0044 00fe 0343 sr @0x0343, $AC0.M + 0046 0200 0080 addi $AC0.M, #0x0080 + 0048 1c1e mrr $AR0, $AC0.M + 0049 170f jmpr $AR0 + 004a 0092 00ff lri $CR, #0x00ff + 004c 009e cafe lri $AC0.M, #0xcafe + 004e 02bf 00a0 call 0x00a0 + 0050 0e04 lris $AC0.M, #0x04 + 0051 02bf 07d7 call 0x07d7 + 0053 00de 0356 lr $AC0.M, @0x0356 + 0055 02bf 07e1 call 0x07e1 + 0057 029f 002b jmp 0x002b + 0059 1205 sbclr #0x05 + 005a 02bf 0062 call 0x0062 + 005c 0e01 lris $AC0.M, #0x01 + 005d 02bf 07d7 call 0x07d7 + 005f 1305 sbset #0x05 + 0060 029f 002b jmp 0x002b + 0062 1202 sbclr #0x02 + 0063 1203 sbclr #0x03 + 0064 1204 sbclr #0x04 + 0065 1306 sbset #0x06 + 0066 8e00 set16 + 0067 8c00 clr15 + 0068 8b00 m0 + 0069 009e ffff lri $AC0.M, #0xffff + 006b 1d1e mrr $WR0, $AC0.M + 006c 1d3e mrr $WR1, $AC0.M + 006d 1d5e mrr $WR2, $AC0.M + 006e 1d7e mrr $WR3, $AC0.M + 006f 0092 00ff lri $CR, #0x00ff + 0071 02df ret + 0072 0081 0358 lri $AR1, #0x0358 + 0074 0090 0000 lri $AC0.H, #0x0000 + 0076 0c00 lris $AC0.L, #0x00 + 0077 007e 007c bloop $AC0.M, 0x007c + 0079 193e lrri $AC0.M, @$AR1 + 007a 1b1e srri @$AR0, $AC0.M + 007b 193e lrri $AC0.M, @$AR1 + 007c 1b1e srri @$AR0, $AC0.M + 007d 02df ret + 007e 029f 004a jmp 0x004a + 0080 029f 004a jmp 0x004a + 0082 029f 00d9 jmp 0x00d9 + 0084 029f 02e3 jmp 0x02e3 + 0086 029f 007e jmp 0x007e + 0088 029f 066e jmp 0x066e + 008a 029f 0680 jmp 0x0680 + 008c 029f 004a jmp 0x004a + 008e 029f 05b7 jmp 0x05b7 + 0090 029f 0603 jmp 0x0603 + 0092 029f 05e7 jmp 0x05e7 + 0094 029f 004a jmp 0x004a + 0096 029f 004a jmp 0x004a + 0098 029f 004a jmp 0x004a + 009a 029f 0103 jmp 0x0103 + 009c 029f 00f6 jmp 0x00f6 + 009e 029f 004a jmp 0x004a + 00a0 00fe 0b00 sr @0x0b00, $AC0.M + 00a2 8100 clr $ACC0 + 00a3 00de 0354 lr $AC0.M, @0x0354 + 00a5 1408 lsl $ACC0, #8 + 00a6 00df 0341 lr $AC1.M, @0x0341 + 00a8 3e00 cw 0x3e00 ; *** UNKNOWN OPCODE *** + 00a9 00fe 0b01 sr @0x0b01, $AC0.M + 00ab 00de 0350 lr $AC0.M, @0x0350 + 00ad 00fe 0b02 sr @0x0b02, $AC0.M + 00af 00de 0351 lr $AC0.M, @0x0351 + 00b1 00fe 0b03 sr @0x0b03, $AC0.M + 00b3 00de 0352 lr $AC0.M, @0x0352 + 00b5 00fe 0b04 sr @0x0b04, $AC0.M + 00b7 00de 037d lr $AC0.M, @0x037d + 00b9 00dc 037e lr $AC0.L, @0x037e + 00bb 009f 0b00 lri $AC1.M, #0x0b00 + 00bd 0080 0010 lri $AR0, #0x0010 + 00bf 0090 0001 lri $AC0.H, #0x0001 + 00c1 1c3f mrr $AR1, $AC1.M + 00c2 0f0a lris $AC1.M, #0x0a + 00c3 2fd1 srs @SampleFormat, $AC1.M + 00c4 1f5e mrr $AX0.H, $AC0.M + 00c5 1f1c mrr $AX0.L, $AC0.L + 00c6 009e ffff lri $AC0.M, #0xffff + 00c8 2ed6 srs @ACEAH, $AC0.M + 00c9 2ed7 srs @ACEAL, $AC0.M + 00ca 1fda mrr $AC0.M, $AX0.H + 00cb 1f98 mrr $AC0.L, $AX0.L + 00cc 147f lsr $ACC0, #-1 + 00cd 2ed8 srs @ACCAH, $AC0.M + 00ce 2cd9 srs @ACCAL, $AC0.L + 00cf 1f40 mrr $AX0.H, $AR0 + 00d0 007a 00d7 bloop $AX0.H, 0x00d7 + 00d2 193e lrri $AC0.M, @$AR1 + 00d3 2ed3 srs @UnkZelda, $AC0.M + 00d4 0000 nop + 00d5 0000 nop + 00d6 0000 nop + 00d7 0000 nop + 00d8 02df ret + 00d9 0080 0380 lri $AR0, #0x0380 + 00db 0e04 lris $AC0.M, #0x04 + 00dc 02bf 0072 call 0x0072 + 00de 0081 0382 lri $AR1, #0x0382 + 00e0 009f 0000 lri $AC1.M, #0x0000 + 00e2 0080 0280 lri $AR0, #0x0280 + 00e4 02bf 063e call 0x063e + 00e6 0081 0384 lri $AR1, #0x0384 + 00e8 009f 0300 lri $AC1.M, #0x0300 + 00ea 0080 0020 lri $AR0, #0x0020 + 00ec 02bf 063e call 0x063e + 00ee 00de 0345 lr $AC0.M, @0x0345 + 00f0 00fe 0342 sr @0x0342, $AC0.M + 00f2 02bf 0d3b call 0x0d3b + 00f4 029f 004a jmp 0x004a + 00f6 0080 037d lri $AR0, #0x037d + 00f8 0e01 lris $AC0.M, #0x01 + 00f9 02bf 0072 call 0x0072 + 00fb 00de 037d lr $AC0.M, @0x037d + 00fd 0240 7fff andi $AC0.M, #0x7fff + 00ff 00fe 037d sr @0x037d, $AC0.M + 0101 029f 004a jmp 0x004a + 0103 0080 0374 lri $AR0, #0x0374 + 0105 0e01 lris $AC0.M, #0x01 + 0106 00fe 0377 sr @0x0377, $AC0.M + 0108 00fe 037c sr @0x037c, $AC0.M + 010a 02bf 0072 call 0x0072 + 010c 00de 0345 lr $AC0.M, @0x0345 + 010e 00fe 0376 sr @0x0376, $AC0.M + 0110 029f 004a jmp 0x004a + 0112 0081 034c lri $AR1, #0x034c + 0114 009f 0400 lri $AC1.M, #0x0400 + 0116 0080 00c0 lri $AR0, #0x00c0 + 0118 02bf 063e call 0x063e + 011a 02df ret + 011b 0081 034c lri $AR1, #0x034c + 011d 009f 0400 lri $AC1.M, #0x0400 + 011f 0080 0080 lri $AR0, #0x0080 + 0121 0081 034c lri $AR1, #0x034c + 0123 193e lrri $AC0.M, @$AR1 + 0124 193c lrri $AC0.L, @$AR1 + 0125 0098 0000 lri $AX0.L, #0x0000 + 0127 7000 addaxl $ACC0, $AX0.L + 0128 02bf 064d call 0x064d + 012a 02df ret + 012b 191e lrri $AC0.M, @$AR0 + 012c 191a lrri $AX0.H, @$AR0 + 012d 005f loop $AC1.M + 012e 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 012f 1b7e srri @$AR3, $AC0.M + 0130 1b7a srri @$AR3, $AX0.H + 0131 02df ret + 0132 0000 nop + 0133 007f 0138 bloop $AC1.M, 0x0138 + 0135 191e lrri $AC0.M, @$AR0 + 0136 1b7e srri @$AR3, $AC0.M + 0137 191e lrri $AC0.M, @$AR0 + 0138 1b7e srri @$AR3, $AC0.M + 0139 0000 nop + 013a 02df ret + 013b 191e lrri $AC0.M, @$AR0 + 013c 191a lrri $AX0.H, @$AR0 + 013d 007f 0142 bloop $AC1.M, 0x0142 + 013f 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H + 0140 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M + 0141 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H + 0142 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 0143 0000 nop + 0144 02df ret + 0145 8a00 m2 + 0146 157f lsr $ACC1, #-1 + 0147 1c20 mrr $AR1, $AR0 + 0148 1c03 mrr $AR0, $AR3 + 0149 193a lrri $AX0.H, @$AR1 + 014a 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 + 014b 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 + 014c 007f 0151 bloop $AC1.M, 0x0151 + 014e 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 014f 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 0150 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 + 0151 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H + 0152 8b00 m0 + 0153 02df ret + 0154 8a00 m2 + 0155 191a lrri $AX0.H, @$AR0 + 0156 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0 + 0157 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0158 005f loop $AC1.M + 0159 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M + 015a 8b00 m0 + 015b 02df ret + 015c 8100 clr $ACC0 + 015d 8900 clr $ACC1 + 015e 0e50 lris $AC0.M, #0x50 + 015f 0080 0d00 lri $AR0, #0x0d00 + 0161 005e loop $AC0.M + 0162 1b1f srri @$AR0, $AC1.M + 0163 0080 0d60 lri $AR0, #0x0d60 + 0165 005e loop $AC0.M + 0166 1b1f srri @$AR0, $AC1.M + 0167 00da 0374 lr $AX0.H, @0x0374 + 0169 8600 tstaxh $AX0.H + 016a 02b5 0f6f callz 0x0f6f + 016c 8100 clr $ACC0 + 016d 8900 clr $ACC1 + 016e 0e50 lris $AC0.M, #0x50 + 016f 0080 0ca0 lri $AR0, #0x0ca0 + 0171 005e loop $AC0.M + 0172 1b1f srri @$AR0, $AC1.M + 0173 0080 0f40 lri $AR0, #0x0f40 + 0175 005e loop $AC0.M + 0176 1b1f srri @$AR0, $AC1.M + 0177 0080 0fa0 lri $AR0, #0x0fa0 + 0179 005e loop $AC0.M + 017a 1b1f srri @$AR0, $AC1.M + 017b 0080 0a00 lri $AR0, #0x0a00 + 017d 005e loop $AC0.M + 017e 1b1f srri @$AR0, $AC1.M + 017f 0080 09a0 lri $AR0, #0x09a0 + 0181 005e loop $AC0.M + 0182 1b1f srri @$AR0, $AC1.M + 0183 0f04 lris $AC1.M, #0x04 + 0184 0080 0e10 lri $AR0, #0x0e10 + 0186 0083 0dc0 lri $AR3, #0x0dc0 + 0188 02bf 0132 call 0x0132 + 018a 0080 0e70 lri $AR0, #0x0e70 + 018c 0083 0e20 lri $AR3, #0x0e20 + 018e 02bf 0132 call 0x0132 + 0190 0080 0ed0 lri $AR0, #0x0ed0 + 0192 0083 0e80 lri $AR3, #0x0e80 + 0194 02bf 0132 call 0x0132 + 0196 0080 0f30 lri $AR0, #0x0f30 + 0198 0083 0ee0 lri $AR3, #0x0ee0 + 019a 02bf 0132 call 0x0132 + 019c 8100 clr $ACC0 + 019d 0e50 lris $AC0.M, #0x50 + 019e 8900 clr $ACC1 + 019f 0080 0dc8 lri $AR0, #0x0dc8 + 01a1 005e loop $AC0.M + 01a2 1b1f srri @$AR0, $AC1.M + 01a3 0080 0e28 lri $AR0, #0x0e28 + 01a5 005e loop $AC0.M + 01a6 1b1f srri @$AR0, $AC1.M + 01a7 0080 0e88 lri $AR0, #0x0e88 + 01a9 005e loop $AC0.M + 01aa 1b1f srri @$AR0, $AC1.M + 01ab 0080 0ee8 lri $AR0, #0x0ee8 + 01ad 005e loop $AC0.M + 01ae 1b1f srri @$AR0, $AC1.M + 01af 02df ret + 01b0 009f 0580 lri $AC1.M, #0x0580 + 01b2 009b 00a0 lri $AX1.H, #0x00a0 + 01b4 0081 0393 lri $AR1, #0x0393 + 01b6 18bc lrrd $AC0.L, @$AR1 + 01b7 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 01b8 bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 01b9 0080 0050 lri $AR0, #0x0050 + 01bb 02bf 0640 call 0x0640 + 01bd 02df ret + 01be 00df 03a1 lr $AC1.M, @0x03a1 + 01c0 0508 addis $ACC1, #0x08 + 01c1 0080 0580 lri $AR0, #0x0580 + 01c3 1c7f mrr $AR3, $AC1.M + 01c4 0098 7fff lri $AX0.L, #0x7fff + 01c6 8900 clr $ACC1 + 01c7 0f50 lris $AC1.M, #0x50 + 01c8 02bf 0145 call 0x0145 + 01ca 02df ret + 01cb 00c0 03a0 lr $AR0, @0x03a0 + 01cd 191a lrri $AX0.H, @$AR0 + 01ce 02bf 01b0 call 0x01b0 + 01d0 02bf 01be call 0x01be + 01d2 8100 clr $ACC0 + 01d3 8900 clr $ACC1 + 01d4 00de 0390 lr $AC0.M, @0x0390 + 01d6 02a0 0001 andf $AC0.M, #0x0001 + 01d8 029d 01e1 jlz 0x01e1 + 01da 0080 0398 lri $AR0, #0x0398 + 01dc 0e08 lris $AC0.M, #0x08 + 01dd 00c1 03a1 lr $AR1, @0x03a1 + 01df 02bf 0c7d call 0x0c7d + 01e1 0f50 lris $AC1.M, #0x50 + 01e2 00c0 03a1 lr $AR0, @0x03a1 + 01e4 00da 0394 lr $AX0.H, @0x0394 + 01e6 8600 tstaxh $AX0.H + 01e7 0295 01ee jz 0x01ee + 01e9 1c7a mrr $AR3, $AX0.H + 01ea 00d8 0395 lr $AX0.L, @0x0395 + 01ec 02bf 0145 call 0x0145 + 01ee 0f50 lris $AC1.M, #0x50 + 01ef 00c0 03a1 lr $AR0, @0x03a1 + 01f1 00da 0396 lr $AX0.H, @0x0396 + 01f3 8600 tstaxh $AX0.H + 01f4 0295 01fb jz 0x01fb + 01f6 1c7a mrr $AR3, $AX0.H + 01f7 00d8 0397 lr $AX0.L, @0x0397 + 01f9 02bf 0145 call 0x0145 + 01fb 00de 0390 lr $AC0.M, @0x0390 + 01fd 02a0 0002 andf $AC0.M, #0x0002 + 01ff 02dd retlz + 0200 0080 0398 lri $AR0, #0x0398 + 0202 0e08 lris $AC0.M, #0x08 + 0203 00c1 03a1 lr $AR1, @0x03a1 + 0205 02bf 0c7d call 0x0c7d + 0207 02df ret + 0208 8900 clr $ACC1 + 0209 009f 0dc0 lri $AC1.M, #0x0dc0 + 020b 00ff 03a1 sr @0x03a1, $AC1.M + 020d 009f 03a8 lri $AC1.M, #0x03a8 + 020f 00ff 03a2 sr @0x03a2, $AC1.M + 0211 009f 03a4 lri $AC1.M, #0x03a4 + 0213 00ff 03a0 sr @0x03a0, $AC1.M + 0215 1104 0235 bloopi #0x04, 0x0235 + 0217 00c0 03a2 lr $AR0, @0x03a2 + 0219 0083 0390 lri $AR3, #0x0390 + 021b 8900 clr $ACC1 + 021c 0f08 lris $AC1.M, #0x08 + 021d 02bf 0132 call 0x0132 + 021f 00da 0390 lr $AX0.H, @0x0390 + 0221 8600 tstaxh $AX0.H + 0222 0295 0226 jz 0x0226 + 0224 02bf 01cb call 0x01cb + 0226 8100 clr $ACC0 + 0227 00de 03a2 lr $AC0.M, @0x03a2 + 0229 0410 addis $ACC0, #0x10 + 022a 00fe 03a2 sr @0x03a2, $AC0.M + 022c 00de 03a1 lr $AC0.M, @0x03a1 + 022e 0460 addis $ACC0, #0x60 + 022f 00fe 03a1 sr @0x03a1, $AC0.M + 0231 00de 03a0 lr $AC0.M, @0x03a0 + 0233 7400 incm $AC0.M + 0234 00fe 03a0 sr @0x03a0, $AC0.M + 0236 00da 0374 lr $AX0.H, @0x0374 + 0238 8600 tstaxh $AX0.H + 0239 0294 025f jnz 0x025f + 023b 0f50 lris $AC1.M, #0x50 + 023c 0080 0be0 lri $AR0, #0x0be0 + 023e 0083 0e80 lri $AR3, #0x0e80 + 0240 0098 7fff lri $AX0.L, #0x7fff + 0242 02bf 0145 call 0x0145 + 0244 0f50 lris $AC1.M, #0x50 + 0245 0080 0be0 lri $AR0, #0x0be0 + 0247 0083 0ee0 lri $AR3, #0x0ee0 + 0249 0098 b820 lri $AX0.L, #0xb820 + 024b 02bf 0145 call 0x0145 + 024d 0f28 lris $AC1.M, #0x28 + 024e 0080 0c68 lri $AR0, #0x0c68 + 0250 0083 0e80 lri $AR3, #0x0e80 + 0252 0098 b820 lri $AX0.L, #0xb820 + 0254 02bf 0145 call 0x0145 + 0256 0f28 lris $AC1.M, #0x28 + 0257 0080 0c68 lri $AR0, #0x0c68 + 0259 0083 0ee0 lri $AR3, #0x0ee0 + 025b 0098 7fff lri $AX0.L, #0x7fff + 025d 02bf 0145 call 0x0145 + 025f 8100 clr $ACC0 + 0260 8900 clr $ACC1 + 0261 0e50 lris $AC0.M, #0x50 + 0262 0080 0be0 lri $AR0, #0x0be0 + 0264 005e loop $AC0.M + 0265 1b1f srri @$AR0, $AC1.M + 0266 0080 0c40 lri $AR0, #0x0c40 + 0268 005e loop $AC0.M + 0269 1b1f srri @$AR0, $AC1.M + 026a 02df ret + 026b 00c0 03a0 lr $AR0, @0x03a0 + 026d 181a lrr $AX0.H, @$AR0 + 026e 8100 clr $ACC0 + 026f 181e lrr $AC0.M, @$AR0 + 0270 00db 0391 lr $AX1.H, @0x0391 + 0272 7400 incm $AC0.M + 0273 d100 cmpar $ACC1, $AX0.H + 0274 0270 ifge + 0275 8100 clr $ACC0 + 0276 1b1e srri @$AR0, $AC0.M + 0277 00df 03a1 lr $AC1.M, @0x03a1 + 0279 009b 00a0 lri $AX1.H, #0x00a0 + 027b 0081 0393 lri $AR1, #0x0393 + 027d 18bc lrrd $AC0.L, @$AR1 + 027e b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 + 027f bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 0280 0080 0050 lri $AR0, #0x0050 + 0282 02bf 064d call 0x064d + 0284 02df ret + 0285 00da 0374 lr $AX0.H, @0x0374 + 0287 8600 tstaxh $AX0.H + 0288 0294 029e jnz 0x029e + 028a 8900 clr $ACC1 + 028b 0f28 lris $AC1.M, #0x28 + 028c 0080 0c40 lri $AR0, #0x0c40 + 028e 0083 0ea8 lri $AR3, #0x0ea8 + 0290 0098 b820 lri $AX0.L, #0xb820 + 0292 02bf 0145 call 0x0145 + 0294 8900 clr $ACC1 + 0295 0f28 lris $AC1.M, #0x28 + 0296 0080 0c40 lri $AR0, #0x0c40 + 0298 0083 0f08 lri $AR3, #0x0f08 + 029a 0098 7fff lri $AX0.L, #0x7fff + 029c 02bf 0145 call 0x0145 + 029e 009f 0dc0 lri $AC1.M, #0x0dc0 + 02a0 00ff 03a1 sr @0x03a1, $AC1.M + 02a2 009f 03a8 lri $AC1.M, #0x03a8 + 02a4 00ff 03a2 sr @0x03a2, $AC1.M + 02a6 009f 03a4 lri $AC1.M, #0x03a4 + 02a8 00ff 03a0 sr @0x03a0, $AC1.M + 02aa 1104 02c8 bloopi #0x04, 0x02c8 + 02ac 00c0 03a2 lr $AR0, @0x03a2 + 02ae 0083 0390 lri $AR3, #0x0390 + 02b0 0f08 lris $AC1.M, #0x08 + 02b1 02bf 0132 call 0x0132 + 02b3 00da 0390 lr $AX0.H, @0x0390 + 02b5 8600 tstaxh $AX0.H + 02b6 0295 02ba jz 0x02ba + 02b8 02bf 026b call 0x026b + 02ba 00de 03a2 lr $AC0.M, @0x03a2 + 02bc 0410 addis $ACC0, #0x10 + 02bd 00fe 03a2 sr @0x03a2, $AC0.M + 02bf 00de 03a1 lr $AC0.M, @0x03a1 + 02c1 0460 addis $ACC0, #0x60 + 02c2 00fe 03a1 sr @0x03a1, $AC0.M + 02c4 00de 03a0 lr $AC0.M, @0x03a0 + 02c6 7400 incm $AC0.M + 02c7 00fe 03a0 sr @0x03a0, $AC0.M + 02c9 02df ret + 02ca 0081 0386 lri $AR1, #0x0386 + 02cc 009f 03a8 lri $AC1.M, #0x03a8 + 02ce 0080 0040 lri $AR0, #0x0040 + 02d0 02bf 063e call 0x063e + 02d2 02df ret + 02d3 191e lrri $AC0.M, @$AR0 + 02d4 189c lrrd $AC0.L, @$AR0 + 02d5 4800 addax $ACC0, $AX0.L + 02d6 1b1e srri @$AR0, $AC0.M + 02d7 1b1c srri @$AR0, $AC0.L + 02d8 02df ret + 02d9 8100 clr $ACC0 + 02da 8900 clr $ACC1 + 02db 00df 0354 lr $AC1.M, @0x0354 + 02dd 00de 034e lr $AC0.M, @0x034e + 02df 8200 cmp + 02e0 0293 02d9 jle 0x02d9 + 02e2 02df ret + 02e3 0080 0388 lri $AR0, #0x0388 + 02e5 0081 0072 lri $AR1, #0x0072 + 02e7 0e02 lris $AC0.M, #0x02 + 02e8 173f callr $AR1 + 02e9 02bf 04ce call 0x04ce + 02eb 00de 0344 lr $AC0.M, @0x0344 + 02ed 00fe 0341 sr @0x0341, $AC0.M + 02ef 00de 0345 lr $AC0.M, @0x0345 + 02f1 00fe 038e sr @0x038e, $AC0.M + 02f3 8100 clr $ACC0 + 02f4 00fe 0355 sr @0x0355, $AC0.M + 02f6 02bf 02ca call 0x02ca + 02f8 02bf 0692 call 0x0692 + 02fa 0092 00ff lri $CR, #0x00ff + 02fc 00de 0341 lr $AC0.M, @0x0341 + 02fe 007e 04c5 bloop $AC0.M, 0x04c5 + 0300 02bf 015c call 0x015c + 0302 02bf 0208 call 0x0208 + 0304 02bf 053a call 0x053a + 0306 02bf 0acb call 0x0acb + 0308 00de 0355 lr $AC0.M, @0x0355 + 030a 7400 incm $AC0.M + 030b 00fe 0355 sr @0x0355, $AC0.M + 030d 8100 clr $ACC0 + 030e 00fe 0354 sr @0x0354, $AC0.M + 0310 00de 0342 lr $AC0.M, @0x0342 + 0312 007e 0465 bloop $AC0.M, 0x0465 + 0314 009e fead lri $AC0.M, #0xfead + 0316 02bf 00a0 call 0x00a0 + 0318 02bf 02d9 call 0x02d9 + 031a 009e d0d0 lri $AC0.M, #0xd0d0 + 031c 02bf 00a0 call 0x00a0 + 031e 8100 clr $ACC0 + 031f 8900 clr $ACC1 + 0320 00de 0354 lr $AC0.M, @0x0354 + 0322 147c lsr $ACC0, #-4 + 0323 0200 04fc addi $AC0.M, #0x04fc + 0325 1c1e mrr $AR0, $AC0.M + 0326 181f lrr $AC1.M, @$AR0 + 0327 00de 0354 lr $AC0.M, @0x0354 + 0329 0240 000f andi $AC0.M, #0x000f + 032b 3d80 lsrnr $ACC1 + 032c 03c0 8000 andcf $AC1.M, #0x8000 + 032e 029c 0461 jlnz 0x0461 + 0330 00d8 0354 lr $AX0.L, @0x0354 + 0332 009a 0180 lri $AX0.H, #0x0180 + 0334 8100 clr $ACC0 + 0335 00de 0380 lr $AC0.M, @0x0380 + 0337 00dc 0381 lr $AC0.L, @0x0381 + 0339 9000 mul $AX0.L, $AX0.H + 033a 9400 mulac $AX0.L, $AX0.H, $ACC0 + 033b 00fe 034c sr @0x034c, $AC0.M + 033d 00fc 034d sr @0x034d, $AC0.L + 033f 02bf 0112 call 0x0112 + 0341 00da 0400 lr $AX0.H, @0x0400 + 0343 8600 tstaxh $AX0.H + 0344 0295 0461 jz 0x0461 + 0346 00da 0401 lr $AX0.H, @0x0401 + 0348 8600 tstaxh $AX0.H + 0349 0294 0461 jnz 0x0461 + 034b 00da 0433 lr $AX0.H, @0x0433 + 034d 00fa 03f8 sr @0x03f8, $AX0.H + 034f 00da 0406 lr $AX0.H, @0x0406 + 0351 8600 tstaxh $AX0.H + 0352 0294 0f2f jnz 0x0f2f + 0354 8100 clr $ACC0 + 0355 00de 0480 lr $AC0.M, @0x0480 + 0357 0609 cmpis $ACC0, #0x09 + 0358 0295 036b jz 0x036b + 035a 0605 cmpis $ACC0, #0x05 + 035b 0295 036b jz 0x036b + 035d 0608 cmpis $ACC0, #0x08 + 035e 0295 0afb jz 0x0afb + 0360 0610 cmpis $ACC0, #0x10 + 0361 0295 0b78 jz 0x0b78 + 0363 0620 cmpis $ACC0, #0x20 + 0364 0295 0be9 jz 0x0be9 + 0366 0621 cmpis $ACC0, #0x21 + 0367 0295 0bf1 jz 0x0bf1 + 0369 029f 09e8 jmp 0x09e8 + 036b 00d8 0402 lr $AX0.L, @0x0402 + 036d 8100 clr $ACC0 + 036e 8900 clr $ACC1 + 036f 00dc 0430 lr $AC0.L, @0x0430 + 0371 8d00 set15 + 0372 0950 lris $AX1.L, #0x50 + 0373 a000 mulx $AX0.L, $AX1.L + 0374 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0375 1404 lsl $ACC0, #4 + 0376 8c00 clr15 + 0377 1ffe mrr $AC1.M, $AC0.M + 0378 0083 0580 lri $AR3, #0x0580 + 037a 02bf 08aa call 0x08aa + 037c 029f 037e jmp 0x037e + 037e 0080 0580 lri $AR0, #0x0580 + 0380 0081 0520 lri $AR1, #0x0520 + 0382 0099 0000 lri $AX1.L, #0x0000 + 0384 02bf 0eaf call 0x0eaf + 0386 009e 0520 lri $AC0.M, #0x0520 + 0388 00fe 038f sr @0x038f, $AC0.M + 038a 8900 clr $ACC1 + 038b 00df 0484 lr $AC1.M, @0x0484 + 038d 0340 001f andi $AC1.M, #0x001f + 038f b900 tst $ACC1 + 0390 0295 03b6 jz 0x03b6 + 0392 00de 038f lr $AC0.M, @0x038f + 0394 5c00 sub $ACC0, $ACC1 + 0395 00fe 038f sr @0x038f, $AC0.M + 0397 1c7e mrr $AR3, $AC0.M + 0398 0080 0440 lri $AR0, #0x0440 + 039a 05fe addis $ACC1, #0xfe + 039b 02bf 012b call 0x012b + 039d 0080 0490 lri $AR0, #0x0490 + 039f 00c1 038f lr $AR1, @0x038f + 03a1 8900 clr $ACC1 + 03a2 00df 0484 lr $AC1.M, @0x0484 + 03a4 0340 001f andi $AC1.M, #0x001f + 03a6 02bf 0c9c call 0x0c9c + 03a8 00de 038f lr $AC0.M, @0x038f + 03aa 0450 addis $ACC0, #0x50 + 03ab 1c1e mrr $AR0, $AC0.M + 03ac 0083 0440 lri $AR3, #0x0440 + 03ae 8900 clr $ACC1 + 03af 00df 0484 lr $AC1.M, @0x0484 + 03b1 0340 001f andi $AC1.M, #0x001f + 03b3 05fe addis $ACC1, #0xfe + 03b4 02bf 012b call 0x012b + 03b6 00de 0484 lr $AC0.M, @0x0484 + 03b8 0240 0020 andi $AC0.M, #0x0020 + 03ba 0295 03d8 jz 0x03d8 + 03bc 0080 04a4 lri $AR0, #0x04a4 + 03be 00c1 038f lr $AR1, @0x038f + 03c0 0082 0454 lri $AR2, #0x0454 + 03c2 0083 04a7 lri $AR3, #0x04a7 + 03c4 18fa lrrd $AX0.H, @$AR3 + 03c5 8600 tstaxh $AX0.H + 03c6 0294 03d6 jnz 0x03d6 + 03c8 18fa lrrd $AX0.H, @$AR3 + 03c9 8600 tstaxh $AX0.H + 03ca 0294 03d6 jnz 0x03d6 + 03cc 18fa lrrd $AX0.H, @$AR3 + 03cd 8600 tstaxh $AX0.H + 03ce 0294 03d6 jnz 0x03d6 + 03d0 8100 clr $ACC0 + 03d1 18fe lrrd $AC0.M, @$AR3 + 03d2 0280 7fff cmpi $AC0.M, #0x7fff + 03d4 0295 03d8 jz 0x03d8 + 03d6 02bf 0cb7 call 0x0cb7 + 03d8 8100 clr $ACC0 + 03d9 00de 042c lr $AC0.M, @0x042c + 03db b100 tst $ACC0 + 03dc 0295 03e2 jz 0x03e2 + 03de 02bf 0dfd call 0x0dfd + 03e0 029f 0457 jmp 0x0457 + 03e2 8100 clr $ACC0 + 03e3 1c9e mrr $IX0, $AC0.M + 03e4 1cde mrr $IX2, $AC0.M + 03e5 7400 incm $AC0.M + 03e6 1cfe mrr $IX3, $AC0.M + 03e7 8100 clr $ACC0 + 03e8 00de 0407 lr $AC0.M, @0x0407 + 03ea b100 tst $ACC0 + 03eb 0295 03fa jz 0x03fa + 03ed 00c3 038f lr $AR3, @0x038f + 03ef 0007 dar $AR3 + 03f0 0080 0477 lri $AR0, #0x0477 + 03f2 0084 ffff lri $IX0, #0xffff + 03f4 0087 ffff lri $IX3, #0xffff + 03f6 199a lrrn $AX0.H, @$AR0 + 03f7 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 + 03f8 005e loop $AC0.M + 03f9 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M + 03fa 00da 0485 lr $AX0.H, @0x0485 + 03fc 8600 tstaxh $AX0.H + 03fd 0295 0410 jz 0x0410 + 03ff 8900 clr $ACC1 + 0400 0086 0005 lri $IX2, #0x0005 + 0402 0082 040a lri $AR2, #0x040a + 0404 1106 0408 bloopi #0x06, 0x0408 + 0406 18de lrrd $AC0.M, @$AR2 + 0407 147f lsr $ACC0, #-1 + 0408 4d36 add'sn $ACC1, $ACC0 : @$AR2, $AC0.M + 0409 b900 tst $ACC1 + 040a 0294 0410 jnz 0x0410 + 040c 009a 0001 lri $AX0.H, #0x0001 + 040e 00fa 0401 sr @0x0401, $AX0.H + 0410 8f00 set40 + 0411 0086 0002 lri $IX2, #0x0002 + 0413 0082 0408 lri $AR2, #0x0408 + 0415 1106 0440 bloopi #0x06, 0x0440 + 0417 8100 clr $ACC0 + 0418 195e lrri $AC0.M, @$AR2 + 0419 1200 sbclr #0x00 + 041a b100 tst $ACC0 + 041b 0275 ifz + 041c 1300 sbset #0x00 + 041d 1c7e mrr $AR3, $AC0.M + 041e 195e lrri $AC0.M, @$AR2 + 041f 195f lrri $AC1.M, @$AR2 + 0420 5c00 sub $ACC0, $ACC1 + 0421 14fb asr $ACC0, #-5 + 0422 1f5e mrr $AX0.H, $AC0.M + 0423 1f1c mrr $AX0.L, $AC0.L + 0424 185e lrr $AC0.M, @$AR2 + 0425 0240 00ff andi $AC0.M, #0x00ff + 0427 1f7e mrr $AX1.H, $AC0.M + 0428 185e lrr $AC0.M, @$AR2 + 0429 1478 lsr $ACC0, #-8 + 042a 009c 0000 lri $AC0.L, #0x0000 + 042c d100 cmpar $ACC1, $AX0.H + 042d 0295 0435 jz 0x0435 + 042f 185e lrr $AC0.M, @$AR2 + 0430 0272 ifg + 0431 7400 incm $AC0.M + 0432 0271 ifl + 0433 7800 decm $AC0.M + 0434 1a5e srr @$AR2, $AC0.M + 0435 0006 dar $AR2 + 0436 00de 038f lr $AC0.M, @0x038f + 0438 5600 subr $ACC0, $AX1.H + 0439 029d 043e jlz 0x043e + 043b 1c1e mrr $AR0, $AC0.M + 043c 02bf 0dd3 call 0x0dd3 + 043e 0000 nop + 043f 1b5f srri @$AR2, $AC1.M + 0440 000a iar $AR2 + 0441 8e00 set16 + 0442 8100 clr $ACC0 + 0443 00de 0407 lr $AC0.M, @0x0407 + 0445 b100 tst $ACC0 + 0446 0295 0457 jz 0x0457 + 0448 00c3 038f lr $AR3, @0x038f + 044a 0087 004f lri $IX3, #0x004f + 044c 001f addarn $AR3, $IX3 + 044d 0080 0477 lri $AR0, #0x0477 + 044f 0084 ffff lri $IX0, #0xffff + 0451 0087 ffff lri $IX3, #0xffff + 0453 19fa lrrn $AX0.H, @$AR3 + 0454 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 + 0455 005e loop $AC0.M + 0456 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H + 0457 00da 0406 lr $AX0.H, @0x0406 + 0459 8600 tstaxh $AX0.H + 045a 0294 045f jnz 0x045f + 045c 8100 clr $ACC0 + 045d 00fe 0404 sr @0x0404, $AC0.M + 045f 02bf 011b call 0x011b + 0461 00de 0354 lr $AC0.M, @0x0354 + 0463 7400 incm $AC0.M + 0464 00fe 0354 sr @0x0354, $AC0.M + 0466 009e b05e lri $AC0.M, #0xb05e + 0468 02bf 00a0 call 0x00a0 + 046a 0e00 lris $AC0.M, #0x00 + 046b 00fe 034e sr @0x034e, $AC0.M + 046d 0e04 lris $AC0.M, #0x04 + 046e 02bf 07d7 call 0x07d7 + 0470 00de 0355 lr $AC0.M, @0x0355 + 0472 0260 ff00 ori $AC0.M, #0xff00 + 0474 02bf 07e1 call 0x07e1 + 0476 02bf 0d59 call 0x0d59 + 0478 02bf 0d6b call 0x0d6b + 047a 02bf 0dc0 call 0x0dc0 + 047c 00de 0341 lr $AC0.M, @0x0341 + 047e 7800 decm $AC0.M + 047f 00fe 0341 sr @0x0341, $AC0.M + 0481 0080 09a0 lri $AR0, #0x09a0 + 0483 0083 0d00 lri $AR3, #0x0d00 + 0485 0f50 lris $AC1.M, #0x50 + 0486 0098 5a82 lri $AX0.L, #0x5a82 + 0488 02bf 0145 call 0x0145 + 048a 0080 09a0 lri $AR0, #0x09a0 + 048c 0083 0d60 lri $AR3, #0x0d60 + 048e 0f50 lris $AC1.M, #0x50 + 048f 02bf 0145 call 0x0145 + 0491 0083 0d00 lri $AR3, #0x0d00 + 0493 02bf 0deb call 0x0deb + 0495 0081 0388 lri $AR1, #0x0388 + 0497 009f 0d00 lri $AC1.M, #0x0d00 + 0499 0080 0050 lri $AR0, #0x0050 + 049b 02bf 064b call 0x064b + 049d 0080 0fa0 lri $AR0, #0x0fa0 + 049f 0083 0d60 lri $AR3, #0x0d60 + 04a1 0f50 lris $AC1.M, #0x50 + 04a2 0098 8000 lri $AX0.L, #0x8000 + 04a4 02bf 0145 call 0x0145 + 04a6 0083 0d60 lri $AR3, #0x0d60 + 04a8 02bf 0deb call 0x0deb + 04aa 0081 038a lri $AR1, #0x038a + 04ac 009f 0d60 lri $AC1.M, #0x0d60 + 04ae 0080 0050 lri $AR0, #0x0050 + 04b0 02bf 064b call 0x064b + 04b2 009a 0000 lri $AX0.H, #0x0000 + 04b4 0098 00a0 lri $AX0.L, #0x00a0 + 04b6 0080 0388 lri $AR0, #0x0388 + 04b8 02bf 02d3 call 0x02d3 + 04ba 0080 038a lri $AR0, #0x038a + 04bc 02bf 02d3 call 0x02d3 + 04be 02bf 0285 call 0x0285 + 04c0 02bf 0509 call 0x0509 + 04c2 02bf 04e0 call 0x04e0 + 04c4 0000 nop + 04c5 0000 nop + 04c6 009e 0dac lri $AC0.M, #0x0dac + 04c8 02bf 00a0 call 0x00a0 + 04ca 0080 002b lri $AR0, #0x002b + 04cc 029f 0770 jmp 0x0770 + 04ce 0080 0374 lri $AR0, #0x0374 + 04d0 0e02 lris $AC0.M, #0x02 + 04d1 02bf 0074 call 0x0074 + 04d3 00de 0374 lr $AC0.M, @0x0374 + 04d5 0240 7fff andi $AC0.M, #0x7fff + 04d7 00fe 0374 sr @0x0374, $AC0.M + 04d9 00de 0376 lr $AC0.M, @0x0376 + 04db 0240 7fff andi $AC0.M, #0x7fff + 04dd 00fe 0376 sr @0x0376, $AC0.M + 04df 02df ret + 04e0 00da 0374 lr $AX0.H, @0x0374 + 04e2 8600 tstaxh $AX0.H + 04e3 02d5 retz + 04e4 0083 0f40 lri $AR3, #0x0f40 + 04e6 02bf 0deb call 0x0deb + 04e8 0083 0ca0 lri $AR3, #0x0ca0 + 04ea 02bf 0deb call 0x0deb + 04ec 0081 0374 lri $AR1, #0x0374 + 04ee 009f 0f40 lri $AC1.M, #0x0f40 + 04f0 0080 0050 lri $AR0, #0x0050 + 04f2 02bf 064b call 0x064b + 04f4 0081 0376 lri $AR1, #0x0376 + 04f6 009f 0ca0 lri $AC1.M, #0x0ca0 + 04f8 0080 0050 lri $AR0, #0x0050 + 04fa 02bf 064b call 0x064b + 04fc 009a 0000 lri $AX0.H, #0x0000 + 04fe 0098 00a0 lri $AX0.L, #0x00a0 + 0500 0080 0374 lri $AR0, #0x0374 + 0502 02bf 02d3 call 0x02d3 + 0504 0080 0376 lri $AR0, #0x0376 + 0506 02bf 02d3 call 0x02d3 + 0508 02df ret + 0509 00da 0374 lr $AX0.H, @0x0374 + 050b 8600 tstaxh $AX0.H + 050c 02d5 retz + 050d 009f 0be0 lri $AC1.M, #0x0be0 + 050f 00ff 03a1 sr @0x03a1, $AC1.M + 0511 00df 03ca lr $AC1.M, @0x03ca + 0513 00ff 0392 sr @0x0392, $AC1.M + 0515 00df 03cb lr $AC1.M, @0x03cb + 0517 00ff 0393 sr @0x0393, $AC1.M + 0519 009f 03a6 lri $AC1.M, #0x03a6 + 051b 00ff 03a0 sr @0x03a0, $AC1.M + 051d 00df 03c9 lr $AC1.M, @0x03c9 + 051f 00ff 0391 sr @0x0391, $AC1.M + 0521 02bf 026b call 0x026b + 0523 009f 0c40 lri $AC1.M, #0x0c40 + 0525 00ff 03a1 sr @0x03a1, $AC1.M + 0527 00df 03da lr $AC1.M, @0x03da + 0529 00ff 0392 sr @0x0392, $AC1.M + 052b 00df 03db lr $AC1.M, @0x03db + 052d 00ff 0393 sr @0x0393, $AC1.M + 052f 009f 03a7 lri $AC1.M, #0x03a7 + 0531 00ff 03a0 sr @0x03a0, $AC1.M + 0533 00df 03d9 lr $AC1.M, @0x03d9 + 0535 00ff 0391 sr @0x0391, $AC1.M + 0537 02bf 026b call 0x026b + 0539 02df ret + 053a 00da 0374 lr $AX0.H, @0x0374 + 053c 8600 tstaxh $AX0.H + 053d 02d5 retz + 053e 00da 03d8 lr $AX0.H, @0x03d8 + 0540 8600 tstaxh $AX0.H + 0541 02d5 retz + 0542 0083 0be0 lri $AR3, #0x0be0 + 0544 0080 0c30 lri $AR0, #0x0c30 + 0546 0f04 lris $AC1.M, #0x04 + 0547 02bf 0132 call 0x0132 + 0549 0083 0c40 lri $AR3, #0x0c40 + 054b 0080 0c90 lri $AR0, #0x0c90 + 054d 0f04 lris $AC1.M, #0x04 + 054e 02bf 0132 call 0x0132 + 0550 00df 03ca lr $AC1.M, @0x03ca + 0552 00ff 0392 sr @0x0392, $AC1.M + 0554 00df 03cb lr $AC1.M, @0x03cb + 0556 00ff 0393 sr @0x0393, $AC1.M + 0558 00df 03a6 lr $AC1.M, @0x03a6 + 055a 7500 incm $AC1.M + 055b 1f5f mrr $AX0.H, $AC1.M + 055c 009f 0be8 lri $AC1.M, #0x0be8 + 055e 02bf 01b2 call 0x01b2 + 0560 00df 03da lr $AC1.M, @0x03da + 0562 00ff 0392 sr @0x0392, $AC1.M + 0564 00df 03db lr $AC1.M, @0x03db + 0566 00ff 0393 sr @0x0393, $AC1.M + 0568 00df 03a7 lr $AC1.M, @0x03a7 + 056a 7500 incm $AC1.M + 056b 1f5f mrr $AX0.H, $AC1.M + 056c 009f 0c48 lri $AC1.M, #0x0c48 + 056e 02bf 01b2 call 0x01b2 + 0570 00de 03c8 lr $AC0.M, @0x03c8 + 0572 02a0 0001 andf $AC0.M, #0x0001 + 0574 029d 057d jlz 0x057d + 0576 0080 03d0 lri $AR0, #0x03d0 + 0578 0e08 lris $AC0.M, #0x08 + 0579 0081 0be0 lri $AR1, #0x0be0 + 057b 02bf 0c7d call 0x0c7d + 057d 00de 03d8 lr $AC0.M, @0x03d8 + 057f 02a0 0001 andf $AC0.M, #0x0001 + 0581 029d 058a jlz 0x058a + 0583 0080 03e0 lri $AR0, #0x03e0 + 0585 0e08 lris $AC0.M, #0x08 + 0586 0081 0c40 lri $AR1, #0x0c40 + 0588 02bf 0c7d call 0x0c7d + 058a 0f50 lris $AC1.M, #0x50 + 058b 0080 0be0 lri $AR0, #0x0be0 + 058d 0083 0f40 lri $AR3, #0x0f40 + 058f 00d8 03cd lr $AX0.L, @0x03cd + 0591 02bf 0145 call 0x0145 + 0593 0f50 lris $AC1.M, #0x50 + 0594 0080 0c40 lri $AR0, #0x0c40 + 0596 0083 0ca0 lri $AR3, #0x0ca0 + 0598 00d8 03df lr $AX0.L, @0x03df + 059a 02bf 0145 call 0x0145 + 059c 00de 03c8 lr $AC0.M, @0x03c8 + 059e 02a0 0002 andf $AC0.M, #0x0002 + 05a0 029d 05a9 jlz 0x05a9 + 05a2 0080 03d0 lri $AR0, #0x03d0 + 05a4 0e08 lris $AC0.M, #0x08 + 05a5 0081 0be0 lri $AR1, #0x0be0 + 05a7 02bf 0c7d call 0x0c7d + 05a9 00de 03d8 lr $AC0.M, @0x03d8 + 05ab 02a0 0002 andf $AC0.M, #0x0002 + 05ad 029d 05b6 jlz 0x05b6 + 05af 0080 03e0 lri $AR0, #0x03e0 + 05b1 0e08 lris $AC0.M, #0x08 + 05b2 0081 0c40 lri $AR1, #0x0c40 + 05b4 02bf 0c7d call 0x0c7d + 05b6 02df ret + 05b7 0080 0346 lri $AR0, #0x0346 + 05b9 02bf 0072 call 0x0072 + 05bb 02bf 0072 call 0x0072 + 05bd 0081 0346 lri $AR1, #0x0346 + 05bf 193e lrri $AC0.M, @$AR1 + 05c0 193c lrri $AC0.L, @$AR1 + 05c1 009f 0400 lri $AC1.M, #0x0400 + 05c3 00c0 0345 lr $AR0, @0x0345 + 05c5 02bf 0640 call 0x0640 + 05c7 0081 0348 lri $AR1, #0x0348 + 05c9 193e lrri $AC0.M, @$AR1 + 05ca 193c lrri $AC0.L, @$AR1 + 05cb 009f 0800 lri $AC1.M, #0x0800 + 05cd 00c0 0345 lr $AR0, @0x0345 + 05cf 02bf 0640 call 0x0640 + 05d1 0081 0346 lri $AR1, #0x0346 + 05d3 193e lrri $AC0.M, @$AR1 + 05d4 193c lrri $AC0.L, @$AR1 + 05d5 009f 0800 lri $AC1.M, #0x0800 + 05d7 00c0 0345 lr $AR0, @0x0345 + 05d9 02bf 064d call 0x064d + 05db 0081 0348 lri $AR1, #0x0348 + 05dd 193e lrri $AC0.M, @$AR1 + 05de 193c lrri $AC0.L, @$AR1 + 05df 009f 0400 lri $AC1.M, #0x0400 + 05e1 00c0 0345 lr $AR0, @0x0345 + 05e3 02bf 064d call 0x064d + 05e5 029f 004a jmp 0x004a + 05e7 0080 0346 lri $AR0, #0x0346 + 05e9 02bf 0072 call 0x0072 + 05eb 02bf 0072 call 0x0072 + 05ed 0081 0346 lri $AR1, #0x0346 + 05ef 193e lrri $AC0.M, @$AR1 + 05f0 193c lrri $AC0.L, @$AR1 + 05f1 009f 0400 lri $AC1.M, #0x0400 + 05f3 00c0 0345 lr $AR0, @0x0345 + 05f5 02bf 0640 call 0x0640 + 05f7 0081 0348 lri $AR1, #0x0348 + 05f9 193e lrri $AC0.M, @$AR1 + 05fa 193c lrri $AC0.L, @$AR1 + 05fb 009f 0400 lri $AC1.M, #0x0400 + 05fd 00c0 0345 lr $AR0, @0x0345 + 05ff 02bf 064d call 0x064d + 0601 029f 004a jmp 0x004a + 0603 0080 0346 lri $AR0, #0x0346 + 0605 02bf 0072 call 0x0072 + 0607 02bf 0072 call 0x0072 + 0609 0081 0346 lri $AR1, #0x0346 + 060b 193e lrri $AC0.M, @$AR1 + 060c 193c lrri $AC0.L, @$AR1 + 060d 009f 0400 lri $AC1.M, #0x0400 + 060f 00c0 0344 lr $AR0, @0x0344 + 0611 02bf 0640 call 0x0640 + 0613 0081 0348 lri $AR1, #0x0348 + 0615 193e lrri $AC0.M, @$AR1 + 0616 193c lrri $AC0.L, @$AR1 + 0617 009f 0800 lri $AC1.M, #0x0800 + 0619 00c0 0344 lr $AR0, @0x0344 + 061b 02bf 0640 call 0x0640 + 061d 0080 0400 lri $AR0, #0x0400 + 061f 0083 0800 lri $AR3, #0x0800 + 0621 0084 0000 lri $IX0, #0x0000 + 0623 00da 0345 lr $AX0.H, @0x0345 + 0625 00df 0344 lr $AC1.M, @0x0344 + 0627 8f00 set40 + 0628 197b lrri $AX1.H, @$AR3 + 0629 b800 mulx $AX0.H, $AX1.H + 062a 197b lrri $AX1.H, @$AR3 + 062b 007f 0630 bloop $AC1.M, 0x0630 + 062d 199e lrrn $AC0.M, @$AR0 + 062e bc00 mulxac $AX0.H, $AX1.H, $ACC0 + 062f 80b2 nx'sl : $AC0.M, $AX1.H + 0630 0000 nop + 0631 8e00 set16 + 0632 0081 0346 lri $AR1, #0x0346 + 0634 193e lrri $AC0.M, @$AR1 + 0635 193c lrri $AC0.L, @$AR1 + 0636 009f 0400 lri $AC1.M, #0x0400 + 0638 00c0 0344 lr $AR0, @0x0344 + 063a 02bf 064d call 0x064d + 063c 029f 004a jmp 0x004a + 063e 193e lrri $AC0.M, @$AR1 + 063f 193c lrri $AC0.L, @$AR1 + 0640 2fcd srs @DSPA, $AC1.M + 0641 0f00 lris $AC1.M, #0x00 + 0642 2fc9 srs @DSCR, $AC1.M + 0643 2ece srs @DSMAH, $AC0.M + 0644 2ccf srs @DSMAL, $AC0.L + 0645 1fe0 mrr $AC1.M, $AR0 + 0646 1501 lsl $ACC1, #1 + 0647 2fcb srs @DSBL, $AC1.M + 0648 02bf 0651 call 0x0651 + 064a 02df ret + 064b 193e lrri $AC0.M, @$AR1 + 064c 193c lrri $AC0.L, @$AR1 + 064d 2fcd srs @DSPA, $AC1.M + 064e 0f01 lris $AC1.M, #0x01 + 064f 029f 0642 jmp 0x0642 + 0651 26c9 lrs $AC0.M, @DSCR + 0652 02a0 0004 andf $AC0.M, #0x0004 + 0654 029c 0651 jlnz 0x0651 + 0656 02df ret + 0657 193e lrri $AC0.M, @$AR1 + 0658 193c lrri $AC0.L, @$AR1 + 0659 00ff ffcd sr @DSPA, $AC1.M + 065b 0f00 lris $AC1.M, #0x00 + 065c 00ff ffc9 sr @DSCR, $AC1.M + 065e 00fe ffce sr @DSMAH, $AC0.M + 0660 00fc ffcf sr @DSMAL, $AC0.L + 0662 1fe0 mrr $AC1.M, $AR0 + 0663 1501 lsl $ACC1, #1 + 0664 00ff ffcb sr @DSBL, $AC1.M + 0666 02df ret + 0667 00de ffc9 lr $AC0.M, @DSCR + 0669 02a0 0004 andf $AC0.M, #0x0004 + 066b 029c 0667 jlnz 0x0667 + 066d 02df ret + 066e 0080 0346 lri $AR0, #0x0346 + 0670 02bf 0072 call 0x0072 + 0672 02bf 0072 call 0x0072 + 0674 0081 0346 lri $AR1, #0x0346 + 0676 00df 0349 lr $AC1.M, @0x0349 + 0678 0340 ffff andi $AC1.M, #0xffff + 067a 00c0 0345 lr $AR0, @0x0345 + 067c 02bf 063e call 0x063e + 067e 029f 004a jmp 0x004a + 0680 0080 0346 lri $AR0, #0x0346 + 0682 02bf 0072 call 0x0072 + 0684 02bf 0072 call 0x0072 + 0686 0081 0346 lri $AR1, #0x0346 + 0688 00df 0349 lr $AC1.M, @0x0349 + 068a 0340 ffff andi $AC1.M, #0xffff + 068c 00c0 0345 lr $AR0, @0x0345 + 068e 02bf 064b call 0x064b + 0690 029f 004a jmp 0x004a + 0692 0092 00ff lri $CR, #0x00ff + 0694 009e ffff lri $AC0.M, #0xffff + 0696 2ed4 srs @ACSAH, $AC0.M + 0697 2ed5 srs @ACSAL, $AC0.M + 0698 2ed6 srs @ACEAH, $AC0.M + 0699 2ed7 srs @ACEAL, $AC0.M + 069a 02df ret + 069b 00ff ffd1 sr @SampleFormat, $AC1.M + 069d 0340 0003 andi $AC1.M, #0x0003 + 069f 7900 decm $AC1.M + 06a0 02ca lsrn + 06a1 00df 037d lr $AC1.M, @0x037d + 06a3 00dd 037e lr $AC1.L, @0x037e + 06a5 4c00 add $ACC0, $ACC1 + 06a6 00fe ffd8 sr @ACCAH, $AC0.M + 06a8 00fc ffd9 sr @ACCAL, $AC0.L + 06aa 02df ret + 06ab 1fc3 mrr $AC0.M, $AR3 + 06ac 043f addis $ACC0, #0x3f + 06ad 0240 fff0 andi $AC0.M, #0xfff0 + 06af 00fe ffcd sr @DSPA, $AC0.M + 06b1 1c1a mrr $AR0, $AX0.H + 06b2 00da 037f lr $AX0.H, @0x037f + 06b4 4400 addr $ACC0, $AX0.H + 06b5 1f40 mrr $AX0.H, $AR0 + 06b6 1c1e mrr $AR0, $AC0.M + 06b7 1fda mrr $AC0.M, $AX0.H + 06b8 041f addis $ACC0, #0x1f + 06b9 0240 fff0 andi $AC0.M, #0xfff0 + 06bb 1401 lsl $ACC0, #1 + 06bc 00fe ffcb sr @DSBL, $AC0.M + 06be 00de ffc9 lr $AC0.M, @DSCR + 06c0 02a0 0004 andf $AC0.M, #0x0004 + 06c2 029c 06be jlnz 0x06be + 06c4 007a 06c7 bloop $AX0.H, 0x06c7 + 06c6 191e lrri $AC0.M, @$AR0 + 06c7 1b7e srri @$AR3, $AC0.M + 06c8 02df ret + 06c9 8900 clr $ACC1 + 06ca 1ffc mrr $AC1.M, $AC0.L + 06cb 0340 001f andi $AC1.M, #0x001f + 06cd 00ff 037f sr @0x037f, $AC1.M + 06cf 1ffc mrr $AC1.M, $AC0.L + 06d0 0340 ffe0 andi $AC1.M, #0xffe0 + 06d2 1f9f mrr $AC0.L, $AC1.M + 06d3 00df 037d lr $AC1.M, @0x037d + 06d5 00dd 037e lr $AC1.L, @0x037e + 06d7 4c00 add $ACC0, $ACC1 + 06d8 00fe ffce sr @DSMAH, $AC0.M + 06da 00fc ffcf sr @DSMAL, $AC0.L + 06dc 0f00 lris $AC1.M, #0x00 + 06dd 00ff ffc9 sr @DSCR, $AC1.M + 06df 02df ret + 06e0 00df 037f lr $AC1.M, @0x037f + 06e2 157f lsr $ACC1, #-1 + 06e3 00ff 037f sr @0x037f, $AC1.M + 06e5 02df ret + 06e6 8600 tstaxh $AX0.H + 06e7 02d5 retz + 06e8 1f1a mrr $AX0.L, $AX0.H + 06e9 009e 0780 lri $AC0.M, #0x0780 + 06eb 00fe ffcd sr @DSPA, $AC0.M + 06ed 1fda mrr $AC0.M, $AX0.H + 06ee 043f addis $ACC0, #0x3f + 06ef 0240 ffe0 andi $AC0.M, #0xffe0 + 06f1 00fe ffcb sr @DSBL, $AC0.M + 06f3 00de ffc9 lr $AC0.M, @DSCR + 06f5 02a0 0004 andf $AC0.M, #0x0004 + 06f7 029c 06f3 jlnz 0x06f3 + 06f9 8100 clr $ACC0 + 06fa 00de 037f lr $AC0.M, @0x037f + 06fc 147f lsr $ACC0, #-1 + 06fd 0200 0780 addi $AC0.M, #0x0780 + 06ff 1c1e mrr $AR0, $AC0.M + 0700 00de 037f lr $AC0.M, @0x037f + 0702 02a0 0001 andf $AC0.M, #0x0001 + 0704 029d 070d jlz 0x070d + 0706 8100 clr $ACC0 + 0707 191e lrri $AC0.M, @$AR0 + 0708 1488 asl $ACC0, #8 + 0709 1b7e srri @$AR3, $AC0.M + 070a 1fda mrr $AC0.M, $AX0.H + 070b 7800 decm $AC0.M + 070c 1f5e mrr $AX0.H, $AC0.M + 070d 8100 clr $ACC0 + 070e 1fda mrr $AC0.M, $AX0.H + 070f 147f lsr $ACC0, #-1 + 0710 007e 0719 bloop $AC0.M, 0x0719 + 0712 8100 clr $ACC0 + 0713 181e lrr $AC0.M, @$AR0 + 0714 0240 ff00 andi $AC0.M, #0xff00 + 0716 1b7e srri @$AR3, $AC0.M + 0717 191e lrri $AC0.M, @$AR0 + 0718 1488 asl $ACC0, #8 + 0719 1b7e srri @$AR3, $AC0.M + 071a 1fda mrr $AC0.M, $AX0.H + 071b 1f58 mrr $AX0.H, $AX0.L + 071c 02a0 0001 andf $AC0.M, #0x0001 + 071e 02dd retlz + 071f 8100 clr $ACC0 + 0720 181e lrr $AC0.M, @$AR0 + 0721 0240 ff00 andi $AC0.M, #0xff00 + 0723 1b7e srri @$AR3, $AC0.M + 0724 02df ret + 0725 1205 sbclr #0x05 + 0726 8e00 set16 + 0727 00f0 03fd sr @0x03fd, $AC0.H + 0729 00fc 03ff sr @0x03ff, $AC0.L + 072b f400 lsr16 $ACC0 + 072c 00fc 03fe sr @0x03fe, $AC0.L + 072e 00fa 03fa sr @0x03fa, $AX0.H + 0730 8100 clr $ACC0 + 0731 00de fffe lr $AC0.M, @CMBH + 0733 02c0 8000 andcf $AC0.M, #0x8000 + 0735 029c 0826 jlnz 0x0826 + 0737 00da ffff lr $AX0.H, @CMBL + 0739 8600 tstaxh $AX0.H + 073a 0294 07ff jnz 0x07ff + 073c 00de fffe lr $AC0.M, @CMBH + 073e 02c0 8000 andcf $AC0.M, #0x8000 + 0740 029c 073c jlnz 0x073c + 0742 0240 000f andi $AC0.M, #0x000f + 0744 1f5e mrr $AX0.H, $AC0.M + 0745 7400 incm $AC0.M + 0746 0c00 lris $AC0.L, #0x00 + 0747 1404 lsl $ACC0, #4 + 0748 00fe 034e sr @0x034e, $AC0.M + 074a 1fda mrr $AC0.M, $AX0.H + 074b 1f40 mrr $AX0.H, $AR0 + 074c 0200 04fc addi $AC0.M, #0x04fc + 074e 1c1e mrr $AR0, $AC0.M + 074f 00de ffff lr $AC0.M, @CMBL + 0751 1a1e srr @$AR0, $AC0.M + 0752 1c1a mrr $AR0, $AX0.H + 0753 00de 03fe lr $AC0.M, @0x03fe + 0755 00dc 03ff lr $AC0.L, @0x03ff + 0757 00d0 03fd lr $AC0.H, @0x03fd + 0759 00da 03fa lr $AX0.H, @0x03fa + 075b 1305 sbset #0x05 + 075c 02ff rti + 075d 009a 0002 lri $AX0.H, #0x0002 + 075f 00fa 03a3 sr @0x03a3, $AX0.H + 0761 00e0 03f9 sr @0x03f9, $AR0 + 0763 02bf 07e9 call 0x07e9 + 0765 16fc dcd1 si @DMBH, #0xdcd1 + 0767 16fd 0002 si @DMBL, #0x0002 + 0769 16fb 0001 si @DIRQ, #0x0001 + 076b 0021 halt + 076c 0784 cmpis $ACC1, #0x84 + 076d 0785 cmpis $ACC1, #0x85 + 076e 07c5 cmpis $ACC1, #0xc5 + 076f 07c8 cmpis $ACC1, #0xc8 + 0770 00e0 03f9 sr @0x03f9, $AR0 + 0772 009e 0005 lri $AC0.M, #0x0005 + 0774 02bf 07d7 call 0x07d7 + 0776 8e00 set16 + 0777 8100 clr $ACC0 + 0778 8900 clr $ACC1 + 0779 02bf 07cb call 0x07cb + 077b 27ff lrs $AC1.M, @CMBL + 077c 009e 076c lri $AC0.M, #0x076c + 077e 4c00 add $ACC0, $ACC1 + 077f 1c7e mrr $AR3, $AC0.M + 0780 0313 ilrr $AC1.M, @$AR3 + 0781 1c7f mrr $AR3, $AC1.M + 0782 176f jmpr $AR3 + 0783 0021 halt + 0784 0021 halt + 0785 009a 0002 lri $AX0.H, #0x0002 + 0787 00fa 03a3 sr @0x03a3, $AX0.H + 0789 8100 clr $ACC0 + 078a 8900 clr $ACC1 + 078b 02bf 07cb call 0x07cb + 078d 24ff lrs $AC0.L, @CMBL + 078e 02bf 07d1 call 0x07d1 + 0790 25ff lrs $AC1.L, @CMBL + 0791 02bf 07d1 call 0x07d1 + 0793 27ff lrs $AC1.M, @CMBL + 0794 2ece srs @DSMAH, $AC0.M + 0795 2ccf srs @DSMAL, $AC0.L + 0796 16c9 0001 si @DSCR, #0x0001 + 0798 2fcd srs @DSPA, $AC1.M + 0799 2dcb srs @DSBL, $AC1.L + 079a 8100 clr $ACC0 + 079b 8900 clr $ACC1 + 079c 02bf 07cb call 0x07cb + 079e 24ff lrs $AC0.L, @CMBL + 079f 1c9e mrr $IX0, $AC0.M + 07a0 1cbc mrr $IX1, $AC0.L + 07a1 02bf 07d1 call 0x07d1 + 07a3 25ff lrs $AC1.L, @CMBL + 07a4 02bf 07d1 call 0x07d1 + 07a6 27ff lrs $AC1.M, @CMBL + 07a7 1cdf mrr $IX2, $AC1.M + 07a8 1cfd mrr $IX3, $AC1.L + 07a9 8100 clr $ACC0 + 07aa 02bf 07cb call 0x07cb + 07ac 26ff lrs $AC0.M, @CMBL + 07ad 1c1e mrr $AR0, $AC0.M + 07ae 8900 clr $ACC1 + 07af 02bf 07d1 call 0x07d1 + 07b1 20ff lrs $AX0.L, @CMBL + 07b2 1f5f mrr $AX0.H, $AC1.M + 07b3 02bf 07cb call 0x07cb + 07b5 21ff lrs $AX1.L, @CMBL + 07b6 02bf 07cb call 0x07cb + 07b8 23ff lrs $AX1.H, @CMBL + 07b9 26c9 lrs $AC0.M, @DSCR + 07ba 02a0 0004 andf $AC0.M, #0x0004 + 07bc 029c 07b9 jlnz 0x07b9 + 07be 1206 sbclr #0x06 + 07bf 1203 sbclr #0x03 + 07c0 1204 sbclr #0x04 + 07c1 1205 sbclr #0x05 + 07c2 029f 80b5 jmp 0x80b5 + 07c4 0021 halt + 07c5 029f 8000 jmp 0x8000 + 07c7 0021 halt + 07c8 00c0 03f9 lr $AR0, @0x03f9 + 07ca 170f jmpr $AR0 + 07cb 26fe lrs $AC0.M, @CMBH + 07cc 02c0 8000 andcf $AC0.M, #0x8000 + 07ce 029c 07cb jlnz 0x07cb + 07d0 02df ret + 07d1 27fe lrs $AC1.M, @CMBH + 07d2 03c0 8000 andcf $AC1.M, #0x8000 + 07d4 029c 07d1 jlnz 0x07d1 + 07d6 02df ret + +void SEND_DCD1(AC0.M) { + 07d7 02bf 07ef call 0x07ef + 07d9 16fc dcd1 si @DMBH, #0xdcd1 + 07db 2efd srs @DMBL, $AC0.M + 07dc 16fb 0001 si @DIRQ, #0x0001 + 07de 02bf 07ef call 0x07ef + 07e0 02df ret +} + +void SEND_F355(AC0.M) { + 07e1 02bf 07ef call 0x07ef + 07e3 16fc f355 si @DMBH, #0xf355 + 07e5 2efd srs @DMBL, $AC0.M + 07e6 02bf 07ef call 0x07ef + 07e8 02df ret +} + + 07e9 26fc lrs $AC0.M, @DMBH + 07ea 02c0 8000 andcf $AC0.M, #0x8000 + 07ec 029d 07e9 jlz 0x07e9 + 07ee 02df ret + 07ef 27fc lrs $AC1.M, @DMBH + 07f0 03c0 8000 andcf $AC1.M, #0x8000 + 07f2 029d 07ef jlz 0x07ef + 07f4 02df ret + 07f5 009a 0280 lri $AX0.H, #0x0280 + 07f7 00fa 0350 sr @0x0350, $AX0.H + 07f9 00fa 0351 sr @0x0351, $AX0.H + 07fb 0a00 lris $AX0.H, #0x00 + 07fc 00fa 0352 sr @0x0352, $AX0.H + 07fe 02df ret + 07ff 00e0 03fb sr @0x03fb, $AR0 + 0801 00e8 03fc sr @0x03fc, $WR0 + 0803 00c0 0350 lr $AR0, @0x0350 + 0805 0088 002f lri $WR0, #0x002f + 0807 1b1a srri @$AR0, $AX0.H + 0808 00de fffe lr $AC0.M, @CMBH + 080a 02c0 8000 andcf $AC0.M, #0x8000 + 080c 029c 0808 jlnz 0x0808 + 080e 00dc ffff lr $AC0.L, @CMBL + 0810 1b1e srri @$AR0, $AC0.M + 0811 1b1c srri @$AR0, $AC0.L + 0812 1fda mrr $AC0.M, $AX0.H + 0813 7800 decm $AC0.M + 0814 1f5e mrr $AX0.H, $AC0.M + 0815 8600 tstaxh $AX0.H + 0816 0294 0808 jnz 0x0808 + 0818 8100 clr $ACC0 + 0819 00de 0352 lr $AC0.M, @0x0352 + 081b 7400 incm $AC0.M + 081c 00fe 0352 sr @0x0352, $AC0.M + 081e 00e0 0350 sr @0x0350, $AR0 + 0820 00c0 03fb lr $AR0, @0x03fb + 0822 00c8 03fc lr $WR0, @0x03fc + 0824 029f 0753 jmp 0x0753 + 0826 00e0 03fb sr @0x03fb, $AR0 + 0828 00e8 03fc sr @0x03fc, $WR0 + 082a 00c0 0350 lr $AR0, @0x0350 + 082c 0088 002f lri $WR0, #0x002f + 082e 0a00 lris $AX0.H, #0x00 + 082f 1b1a srri @$AR0, $AX0.H + 0830 029f 0818 jmp 0x0818 + 0832 00c0 0351 lr $AR0, @0x0351 + 0834 0088 002f lri $WR0, #0x002f + 0836 00da 0352 lr $AX0.H, @0x0352 + 0838 8600 tstaxh $AX0.H + 0839 0295 085a jz 0x085a + 083b 1205 sbclr #0x05 + 083c 00da 0352 lr $AX0.H, @0x0352 + 083e 1fda mrr $AC0.M, $AX0.H + 083f 7800 decm $AC0.M + 0840 00fe 0352 sr @0x0352, $AC0.M + 0842 1305 sbset #0x05 + 0843 0081 0356 lri $AR1, #0x0356 + 0845 191e lrri $AC0.M, @$AR0 + 0846 02c0 8000 andcf $AC0.M, #0x8000 + 0848 029d 085e jlz 0x085e + 084a 1f5e mrr $AX0.H, $AC0.M + 084b 8600 tstaxh $AX0.H + 084c 0295 0862 jz 0x0862 + 084e 007a 0853 bloop $AX0.H, 0x0853 + 0850 191e lrri $AC0.M, @$AR0 + 0851 1b3e srri @$AR1, $AC0.M + 0852 191e lrri $AC0.M, @$AR0 + 0853 1b3e srri @$AR1, $AC0.M + 0854 00e0 0351 sr @0x0351, $AR0 + 0856 0088 ffff lri $WR0, #0xffff + 0858 029f 0036 jmp 0x0036 + 085a 0088 ffff lri $WR0, #0xffff + 085c 029f 002b jmp 0x002b + 085e 00e0 0351 sr @0x0351, $AR0 + 0860 029f 0836 jmp 0x0836 + 0862 0080 0832 lri $AR0, #0x0832 + 0864 029f 075d jmp 0x075d + 0866 8100 clr $ACC0 + 0867 0e10 lris $AC0.M, #0x10 + 0868 2232 lrs $AX0.H, @0x0032 + 0869 8600 tstaxh $AX0.H + 086a 02d5 retz + 086b 5400 subr $ACC0, $AX0.H + 086c 0200 0458 addi $AC0.M, #0x0458 + 086e 1c1e mrr $AR0, $AC0.M + 086f 1fda mrr $AC0.M, $AX0.H + 0870 04fe addis $ACC0, #0xfe + 0871 1f1e mrr $AX0.L, $AC0.M + 0872 191e lrri $AC0.M, @$AR0 + 0873 0291 0879 jl 0x0879 + 0875 191a lrri $AX0.H, @$AR0 + 0876 0058 loop $AX0.L + 0877 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0878 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 0879 1b7e srri @$AR3, $AC0.M + 087a 02df ret + 087b 02bf 0866 call 0x0866 + 087d 8100 clr $ACC0 + 087e 2632 lrs $AC0.M, @0x0032 + 087f 5c00 sub $ACC0, $ACC1 + 0880 2e32 srs @0x0032, $AC0.M + 0881 0092 00ff lri $CR, #0x00ff + 0883 02df ret + 0884 00de 04fb lr $AC0.M, @0x04fb + 0886 7400 incm $AC0.M + 0887 00fe 04fb sr @0x04fb, $AC0.M + 0889 8100 clr $ACC0 + 088a 2e32 srs @0x0032, $AC0.M + 088b 2e66 srs @0x0066, $AC0.M + 088c 2e67 srs @0x0067, $AC0.M + 088d 268a lrs $AC0.M, @0xff8a + 088e 248b lrs $AC0.L, @0xff8b + 088f 2e3a srs @0x003a, $AC0.M + 0890 2c3b srs @0x003b, $AC0.L + 0891 268c lrs $AC0.M, @0xff8c + 0892 248d lrs $AC0.L, @0xff8d + 0893 2e38 srs @0x0038, $AC0.M + 0894 2c39 srs @0x0039, $AC0.L + 0895 02df ret + 0896 8100 clr $ACC0 + 0897 2689 lrs $AC0.M, @0xff89 + 0898 0240 000f andi $AC0.M, #0x000f + 089a 1f5e mrr $AX0.H, $AC0.M + 089b 8100 clr $ACC0 + 089c 0e10 lris $AC0.M, #0x10 + 089d 5400 subr $ACC0, $AX0.H + 089e 2e32 srs @0x0032, $AC0.M + 089f 268a lrs $AC0.M, @0xff8a + 08a0 248b lrs $AC0.L, @0xff8b + 08a1 2288 lrs $AX0.H, @0xff88 + 08a2 2089 lrs $AX0.L, @0xff89 + 08a3 5800 subax $ACC0, $AX0.L + 08a4 0a00 lris $AX0.H, #0x00 + 08a5 2032 lrs $AX0.L, @0x0032 + 08a6 5800 subax $ACC0, $AX0.L + 08a7 2e3a srs @0x003a, $AC0.M + 08a8 2c3b srs @0x003b, $AC0.L + 08a9 02df ret + 08aa 0092 0004 lri $CR, #0x0004 + 08ac 8100 clr $ACC0 + 08ad 2604 lrs $AC0.M, @0x0004 + 08ae b100 tst $ACC0 + 08af 02b4 0884 callnz 0x0884 + 08b1 8100 clr $ACC0 + 08b2 2601 lrs $AC0.M, @0x0001 + 08b3 b100 tst $ACC0 + 08b4 0294 0952 jnz 0x0952 + 08b6 2232 lrs $AX0.H, @0x0032 + 08b7 c900 cmpar $ACC0, $AX1.H + 08b8 0293 087b jle 0x087b + 08ba 5500 subr $ACC1, $AX0.H + 08bb 02bf 0866 call 0x0866 + 08bd 223a lrs $AX0.H, @0x003a + 08be 8600 tstaxh $AX0.H + 08bf 0294 08c6 jnz 0x08c6 + 08c1 8100 clr $ACC0 + 08c2 263b lrs $AC0.M, @0x003b + 08c3 8200 cmp + 08c4 0291 0918 jl 0x0918 + 08c6 8100 clr $ACC0 + 08c7 1fdf mrr $AC0.M, $AC1.M + 08c8 040f addis $ACC0, #0x0f + 08c9 147c lsr $ACC0, #-4 + 08ca 1f7e mrr $AX1.H, $AC0.M + 08cb 0c00 lris $AC0.L, #0x00 + 08cc 1404 lsl $ACC0, #4 + 08cd 1f1e mrr $AX0.L, $AC0.M + 08ce 0a00 lris $AX0.H, #0x00 + 08cf 8100 clr $ACC0 + 08d0 263a lrs $AC0.M, @0x003a + 08d1 243b lrs $AC0.L, @0x003b + 08d2 5800 subax $ACC0, $AX0.L + 08d3 0290 08de jge 0x08de + 08d5 8100 clr $ACC0 + 08d6 263b lrs $AC0.M, @0x003b + 08d7 5c00 sub $ACC0, $ACC1 + 08d8 2e32 srs @0x0032, $AC0.M + 08d9 8100 clr $ACC0 + 08da 2e3a srs @0x003a, $AC0.M + 08db 2e3b srs @0x003b, $AC0.M + 08dc 029f 08e4 jmp 0x08e4 + 08de 2e3a srs @0x003a, $AC0.M + 08df 2c3b srs @0x003b, $AC0.L + 08e0 0c00 lris $AC0.L, #0x00 + 08e1 1fd8 mrr $AC0.M, $AX0.L + 08e2 5c00 sub $ACC0, $ACC1 + 08e3 2e32 srs @0x0032, $AC0.M + 08e4 8100 clr $ACC0 + 08e5 1fdb mrr $AC0.M, $AX1.H + 08e6 02bf 0958 call 0x0958 + 08e8 2232 lrs $AX0.H, @0x0032 + 08e9 8600 tstaxh $AX0.H + 08ea 0295 0915 jz 0x0915 + 08ec 0a10 lris $AX0.H, #0x10 + 08ed 8100 clr $ACC0 + 08ee 1fc3 mrr $AC0.M, $AR3 + 08ef 5400 subr $ACC0, $AX0.H + 08f0 1c7e mrr $AR3, $AC0.M + 08f1 0080 0458 lri $AR0, #0x0458 + 08f3 197e lrri $AC0.M, @$AR3 + 08f4 197a lrri $AX0.H, @$AR3 + 08f5 100e loopi #0x0e + 08f6 64a2 movr'sl $ACC0, $AX0.H : $AC0.M, $AX0.H + 08f7 1b1e srri @$AR0, $AC0.M + 08f8 1b1a srri @$AR0, $AX0.H + 08f9 8100 clr $ACC0 + 08fa 263a lrs $AC0.M, @0x003a + 08fb 243b lrs $AC0.L, @0x003b + 08fc b100 tst $ACC0 + 08fd 0294 0915 jnz 0x0915 + 08ff 2232 lrs $AX0.H, @0x0032 + 0900 8600 tstaxh $AX0.H + 0901 0295 0915 jz 0x0915 + 0903 0080 0467 lri $AR0, #0x0467 + 0905 8100 clr $ACC0 + 0906 268b lrs $AC0.M, @0xff8b + 0907 b100 tst $ACC0 + 0908 0295 0915 jz 0x0915 + 090a 0200 000f addi $AC0.M, #0x000f + 090c 0240 000f andi $AC0.M, #0x000f + 090e 0200 0458 addi $AC0.M, #0x0458 + 0910 1c7e mrr $AR3, $AC0.M + 0911 007a 0914 bloop $AX0.H, 0x0914 + 0913 18fe lrrd $AC0.M, @$AR3 + 0914 1a9e srrd @$AR0, $AC0.M + 0915 0092 00ff lri $CR, #0x00ff + 0917 02df ret + 0918 b100 tst $ACC0 + 0919 0295 0928 jz 0x0928 + 091b 5d00 sub $ACC1, $ACC0 + 091c 040f addis $ACC0, #0x0f + 091d 147c lsr $ACC0, #-4 + 091e 0c00 lris $AC0.L, #0x00 + 091f 00e3 0363 sr @0x0363, $AR3 + 0921 02bf 0958 call 0x0958 + 0923 00de 0363 lr $AC0.M, @0x0363 + 0925 223b lrs $AX0.H, @0x003b + 0926 4400 addr $ACC0, $AX0.H + 0927 1c7e mrr $AR3, $AC0.M + 0928 8100 clr $ACC0 + 0929 2681 lrs $AC0.M, @0xff81 + 092a b100 tst $ACC0 + 092b 0295 0950 jz 0x0950 + 092d 2380 lrs $AX1.H, @0xff80 + 092e 2688 lrs $AC0.M, @0xff88 + 092f 2489 lrs $AC0.L, @0xff89 + 0930 1408 lsl $ACC0, #8 + 0931 14f4 asr $ACC0, #-12 + 0932 2380 lrs $AX1.H, @0xff80 + 0933 8d00 set15 + 0934 c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L + 0935 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0936 8c00 clr15 + 0937 f000 lsl16 $ACC0 + 0938 4e00 addp $ACC0 + 0939 238c lrs $AX1.H, @0xff8c + 093a 218d lrs $AX1.L, @0xff8d + 093b 4a00 addax $ACC0, $AX1.L + 093c 2e38 srs @0x0038, $AC0.M + 093d 2c39 srs @0x0039, $AC0.L + 093e 2682 lrs $AC0.M, @0xff82 + 093f 2e67 srs @0x0067, $AC0.M + 0940 2683 lrs $AC0.M, @0xff83 + 0941 2e66 srs @0x0066, $AC0.M + 0942 00e3 0363 sr @0x0363, $AR3 + 0944 0083 0458 lri $AR3, #0x0458 + 0946 8100 clr $ACC0 + 0947 0e01 lris $AC0.M, #0x01 + 0948 02bf 0958 call 0x0958 + 094a 00c3 0363 lr $AR3, @0x0363 + 094c 02bf 0896 call 0x0896 + 094e 029f 08b6 jmp 0x08b6 + 0950 0e01 lris $AC0.M, #0x01 + 0951 2e01 srs @0x0001, $AC0.M + 0952 8100 clr $ACC0 + 0953 005f loop $AC1.M + 0954 1b7e srri @$AR3, $AC0.M + 0955 0092 00ff lri $CR, #0x00ff + 0957 02df ret + 0958 00ff 0360 sr @0x0360, $AC1.M + 095a 00fe 0361 sr @0x0361, $AC0.M + 095c 2638 lrs $AC0.M, @0x0038 + 095d 2439 lrs $AC0.L, @0x0039 + 095e 0f05 lris $AC1.M, #0x05 + 095f 02bf 069b call 0x069b + 0961 2638 lrs $AC0.M, @0x0038 + 0962 2439 lrs $AC0.L, @0x0039 + 0963 8900 clr $ACC1 + 0964 00df 0361 lr $AC1.M, @0x0361 + 0966 2280 lrs $AX0.H, @0xff80 + 0967 d000 mulc $AC1.M, $AX0.H + 0968 6f00 movp $ACC1 + 0969 4c00 add $ACC0, $ACC1 + 096a 2e38 srs @0x0038, $AC0.M + 096b 2c39 srs @0x0039, $AC0.L + 096c 8100 clr $ACC0 + 096d 00de 0361 lr $AC0.M, @0x0361 + 096f 007e 09d6 bloop $AC0.M, 0x09d6 + 0971 0080 ffd3 lri $AR0, #0xffd3 + 0973 0084 0000 lri $IX0, #0x0000 + 0975 199e lrrn $AC0.M, @$AR0 + 0976 8900 clr $ACC1 + 0977 1ffe mrr $AC1.M, $AC0.M + 0978 1401 lsl $ACC0, #1 + 0979 0240 001e andi $AC0.M, #0x001e + 097b 0200 0300 addi $AC0.M, #0x0300 + 097d 1c3e mrr $AR1, $AC0.M + 097e 157c lsr $ACC1, #-4 + 097f 0340 000f andi $AC1.M, #0x000f + 0981 0a11 lris $AX0.H, #0x11 + 0982 5500 subr $ACC1, $AX0.H + 0983 8100 clr $ACC0 + 0984 2680 lrs $AC0.M, @0xff80 + 0985 0605 cmpis $ACC0, #0x05 + 0986 0295 099f jz 0x099f + 0988 009a 00f0 lri $AX0.H, #0x00f0 + 098a 0b0f lris $AX1.H, #0x0f + 098b 0082 0364 lri $AR2, #0x0364 + 098d 1998 lrrn $AX0.L, @$AR0 + 098e 6000 movr $ACC0, $AX0.L + 098f 1107 0996 bloopi #0x07, 0x0996 + 0991 3400 andr $AC0.M, $AX0.H + 0992 1408 lsl $ACC0, #8 + 0993 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0994 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 + 0995 140c lsl $ACC0, #12 + 0996 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 0997 3400 andr $AC0.M, $AX0.H + 0998 1408 lsl $ACC0, #8 + 0999 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 099a 3600 andr $AC0.M, $AX1.H + 099b 140c lsl $ACC0, #12 + 099c 1b5e srri @$AR2, $AC0.M + 099d 029f 09bf jmp 0x09bf + 099f 009a c000 lri $AX0.H, #0xc000 + 09a1 0082 0364 lri $AR2, #0x0364 + 09a3 1998 lrrn $AX0.L, @$AR0 + 09a4 6000 movr $ACC0, $AX0.L + 09a5 1103 09b2 bloopi #0x03, 0x09b2 + 09a7 1408 lsl $ACC0, #8 + 09a8 3400 andr $AC0.M, $AX0.H + 09a9 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09aa 140a lsl $ACC0, #10 + 09ab 3400 andr $AC0.M, $AX0.H + 09ac 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09ad 140c lsl $ACC0, #12 + 09ae 3400 andr $AC0.M, $AX0.H + 09af 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b0 140e lsl $ACC0, #14 + 09b1 3444 andr'ln $AC0.M, $AX0.H : $AX0.L, @$AR0 + 09b2 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b3 1408 lsl $ACC0, #8 + 09b4 3400 andr $AC0.M, $AX0.H + 09b5 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b6 140a lsl $ACC0, #10 + 09b7 3400 andr $AC0.M, $AX0.H + 09b8 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09b9 140c lsl $ACC0, #12 + 09ba 3400 andr $AC0.M, $AX0.H + 09bb 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M + 09bc 140e lsl $ACC0, #14 + 09bd 3400 andr $AC0.M, $AX0.H + 09be 1b5e srri @$AR2, $AC0.M + 09bf 8f00 set40 + 09c0 1f7f mrr $AX1.H, $AC1.M + 09c1 2066 lrs $AX0.L, @0x0066 + 09c2 2767 lrs $AC1.M, @0x0067 + 09c3 193a lrri $AX0.H, @$AR1 + 09c4 1939 lrri $AX1.L, @$AR1 + 09c5 0080 0364 lri $AR0, #0x0364 + 09c7 a000 mulx $AX0.L, $AX1.L + 09c8 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 + 09c9 1108 09d2 bloopi #0x08, 0x09d2 + 09cb 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L + 09cc a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 + 09cd 1485 asl $ACC0, #5 + 09ce e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M + 09cf 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L + 09d0 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 + 09d1 1585 asl $ACC1, #5 + 09d2 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M + 09d3 2f67 srs @0x0067, $AC1.M + 09d4 8e00 set16 + 09d5 1ff8 mrr $AC1.M, $AX0.L + 09d6 2f66 srs @0x0066, $AC1.M + 09d7 8900 clr $ACC1 + 09d8 00df 0360 lr $AC1.M, @0x0360 + 09da 02df ret + 09db b100 tst $ACC0 + 09dc 02d5 retz + 09dd 04fe addis $ACC0, #0xfe + 09de 1f1e mrr $AX0.L, $AC0.M + 09df 191e lrri $AC0.M, @$AR0 + 09e0 0291 09e6 jl 0x09e6 + 09e2 191a lrri $AX0.H, @$AR0 + 09e3 0058 loop $AX0.L + 09e4 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 09e5 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M + 09e6 1b7e srri @$AR3, $AC0.M + 09e7 02df ret + 09e8 8100 clr $ACC0 + 09e9 1f5e mrr $AX0.H, $AC0.M + 09ea 00d8 0402 lr $AX0.L, @0x0402 + 09ec 00dc 0430 lr $AC0.L, @0x0430 + 09ee 0080 0520 lri $AR0, #0x0520 + 09f0 00df 0480 lr $AC1.M, @0x0480 + 09f2 1501 lsl $ACC1, #1 + 09f3 0340 007e andi $AC1.M, #0x007e + 09f5 0300 09fd addi $AC1.M, #0x09fd + 09f7 1c5f mrr $AR2, $AC1.M + 09f8 175f callr $AR2 + 09f9 00fc 0430 sr @0x0430, $AC0.L + 09fb 029f 0386 jmp 0x0386 + 09fd 029f 0a1e jmp 0x0a1e + 09ff 029f 0a59 jmp 0x0a59 + 0a01 029f 0a41 jmp 0x0a41 + 0a03 029f 0a2e jmp 0x0a2e + 0a05 029f 0a67 jmp 0x0a67 + 0a07 029f 0a1d jmp 0x0a1d + 0a09 029f 0a85 jmp 0x0a85 + 0a0b 029f 0a88 jmp 0x0a88 + 0a0d 029f 0a1d jmp 0x0a1d + 0a0f 029f 0a1d jmp 0x0a1d + 0a11 029f 0aa6 jmp 0x0aa6 + 0a13 029f 0a5f jmp 0x0a5f + 0a15 029f 0a63 jmp 0x0a63 + 0a17 029f 0a1d jmp 0x0a1d + 0a19 029f 0a1d jmp 0x0a1d + 0a1b 029f 0a1d jmp 0x0a1d + 0a1d 02df ret + 0a1e 1401 lsl $ACC0, #1 + 0a1f 009b c000 lri $AX1.H, #0xc000 + 0a21 0099 4000 lri $AX1.L, #0x4000 + 0a23 1150 0a2b bloopi #0x50, 0x0a2b + 0a25 02c0 0001 andcf $AC0.M, #0x0001 + 0a27 027c iflnz + 0a28 1b1b srri @$AR0, $AX1.H + 0a29 027d iflz + 0a2a 1b19 srri @$AR0, $AX1.L + 0a2b 4800 addax $ACC0, $AX0.L + 0a2c 147f lsr $ACC0, #-1 + 0a2d 02df ret + 0a2e 1402 lsl $ACC0, #2 + 0a2f 8900 clr $ACC1 + 0a30 1fb8 mrr $AC1.L, $AX0.L + 0a31 1501 lsl $ACC1, #1 + 0a32 009b c000 lri $AX1.H, #0xc000 + 0a34 0099 4000 lri $AX1.L, #0x4000 + 0a36 1150 0a3e bloopi #0x50, 0x0a3e + 0a38 02c0 0003 andcf $AC0.M, #0x0003 + 0a3a 027c iflnz + 0a3b 1b1b srri @$AR0, $AX1.H + 0a3c 027d iflz + 0a3d 1b19 srri @$AR0, $AX1.L + 0a3e 4c00 add $ACC0, $ACC1 + 0a3f 147e lsr $ACC0, #-2 + 0a40 02df ret + 0a41 1401 lsl $ACC0, #1 + 0a42 0081 0ca0 lri $AR1, #0x0ca0 + 0a44 009b c000 lri $AX1.H, #0xc000 + 0a46 0099 4000 lri $AX1.L, #0x4000 + 0a48 8900 clr $ACC1 + 0a49 0082 0000 lri $AR2, #0x0000 + 0a4b 1150 0a56 bloopi #0x50, 0x0a56 + 0a4d 02c0 0001 andcf $AC0.M, #0x0001 + 0a4f 027c iflnz + 0a50 1b1b srri @$AR0, $AX1.H + 0a51 027d iflz + 0a52 1b19 srri @$AR0, $AX1.L + 0a53 183d lrr $AC1.L, @$AR1 + 0a54 4900 addax $ACC1, $AX0.L + 0a55 1fe2 mrr $AC1.M, $AR2 + 0a56 4c39 add's $ACC0, $ACC1 : @$AR1, $AC1.M + 0a57 147f lsr $ACC0, #-1 + 0a58 02df ret + 0a59 8900 clr $ACC1 + 0a5a 1fb8 mrr $AC1.L, $AX0.L + 0a5b 157f lsr $ACC1, #-1 + 0a5c 1050 loopi #0x50 + 0a5d 4c20 add's $ACC0, $ACC1 : @$AR0, $AC0.L + 0a5e 02df ret + 0a5f 0082 0180 lri $AR2, #0x0180 + 0a61 029f 0a69 jmp 0x0a69 + 0a63 0082 01c0 lri $AR2, #0x01c0 + 0a65 029f 0a69 jmp 0x0a69 + 0a67 0082 0140 lri $AR2, #0x0140 + 0a69 008a 003f lri $WR2, #0x003f + 0a6b 0086 0000 lri $IX2, #0x0000 + 0a6d 1406 lsl $ACC0, #6 + 0a6e 8900 clr $ACC1 + 0a6f 1fb8 mrr $AC1.L, $AX0.L + 0a70 1505 lsl $ACC1, #5 + 0a71 009b 003f lri $AX1.H, #0x003f + 0a73 009a 0000 lri $AX0.H, #0x0000 + 0a75 3600 andr $AC0.M, $AX1.H + 0a76 1cde mrr $IX2, $AC0.M + 0a77 001a addarn $AR2, $IX2 + 0a78 3400 andr $AC0.M, $AX0.H + 0a79 1150 0a7f bloopi #0x50, 0x0a7f + 0a7b 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0a7c 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a7d 1cde mrr $IX2, $AC0.M + 0a7e 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0a7f 1b19 srri @$AR0, $AX1.L + 0a80 1fc2 mrr $AC0.M, $AR2 + 0a81 147a lsr $ACC0, #-6 + 0a82 008a ffff lri $WR2, #0xffff + 0a84 02df ret + 0a85 1050 loopi #0x50 + 0a86 1b18 srri @$AR0, $AX0.L + 0a87 02df ret + 0a88 0082 0100 lri $AR2, #0x0100 + 0a8a 008a 003f lri $WR2, #0x003f + 0a8c 0086 0000 lri $IX2, #0x0000 + 0a8e 1406 lsl $ACC0, #6 + 0a8f 8900 clr $ACC1 + 0a90 1fb8 mrr $AC1.L, $AX0.L + 0a91 1505 lsl $ACC1, #5 + 0a92 009b 003f lri $AX1.H, #0x003f + 0a94 009a 0000 lri $AX0.H, #0x0000 + 0a96 3600 andr $AC0.M, $AX1.H + 0a97 1cde mrr $IX2, $AC0.M + 0a98 001a addarn $AR2, $IX2 + 0a99 3400 andr $AC0.M, $AX0.H + 0a9a 1150 0aa0 bloopi #0x50, 0x0aa0 + 0a9c 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0a9d 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0a9e 1cde mrr $IX2, $AC0.M + 0a9f 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0aa0 1b19 srri @$AR0, $AX1.L + 0aa1 1fc2 mrr $AC0.M, $AR2 + 0aa2 147a lsr $ACC0, #-6 + 0aa3 008a ffff lri $WR2, #0xffff + 0aa5 02df ret + 0aa6 0082 0100 lri $AR2, #0x0100 + 0aa8 008a 003f lri $WR2, #0x003f + 0aaa 0086 0000 lri $IX2, #0x0000 + 0aac 0081 0ca0 lri $AR1, #0x0ca0 + 0aae 1406 lsl $ACC0, #6 + 0aaf 8900 clr $ACC1 + 0ab0 1fb8 mrr $AC1.L, $AX0.L + 0ab1 1505 lsl $ACC1, #5 + 0ab2 009b 003f lri $AX1.H, #0x003f + 0ab4 009a 0000 lri $AX0.H, #0x0000 + 0ab6 3600 andr $AC0.M, $AX1.H + 0ab7 1cde mrr $IX2, $AC0.M + 0ab8 001a addarn $AR2, $IX2 + 0ab9 3400 andr $AC0.M, $AX0.H + 0aba 1150 0ac5 bloopi #0x50, 0x0ac5 + 0abc 1939 lrri $AX1.L, @$AR1 + 0abd a000 mulx $AX0.L, $AX1.L + 0abe 140a lsl $ACC0, #10 + 0abf 4e00 addp $ACC0 + 0ac0 1476 lsr $ACC0, #-10 + 0ac1 4c4a add'l $ACC0, $ACC1 : $AX1.L, @$AR2 + 0ac2 3606 andr'dr $AC0.M, $AX1.H : $AR2 + 0ac3 1cde mrr $IX2, $AC0.M + 0ac4 340e andr'nr $AC0.M, $AX0.H : $AR2 + 0ac5 1b19 srri @$AR0, $AX1.L + 0ac6 1fc2 mrr $AC0.M, $AR2 + 0ac7 147a lsr $ACC0, #-6 + 0ac8 008a ffff lri $WR2, #0xffff + 0aca 02df ret + 0acb 0080 01be lri $AR0, #0x01be + 0acd 1918 lrri $AX0.L, @$AR0 + 0ace 191a lrri $AX0.H, @$AR0 + 0acf 0080 0180 lri $AR0, #0x0180 + 0ad1 0083 0180 lri $AR3, #0x0180 + 0ad3 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0ad4 1ffe mrr $AC1.M, $AC0.M + 0ad5 1120 0adc bloopi #0x20, 0x0adc + 0ad7 7c00 neg $ACC0 + 0ad8 d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 + 0ad9 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0ada c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 + 0adb 1501 lsl $ACC1, #1 + 0adc 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M + 0add 0080 01fe lri $AR0, #0x01fe + 0adf 191a lrri $AX0.H, @$AR0 + 0ae0 1918 lrri $AX0.L, @$AR0 + 0ae1 0080 01c0 lri $AR0, #0x01c0 + 0ae3 0083 01c0 lri $AR3, #0x01c0 + 0ae5 1ff8 mrr $AC1.M, $AX0.L + 0ae6 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 + 0ae7 f800 addpaxz $ACC0, $AX0.H + 0ae8 0240 01ff andi $AC0.M, #0x01ff + 0aea 0260 2000 ori $AC0.M, #0x2000 + 0aec 02bf 0aef call 0x0aef + 0aee 02df ret + 0aef b900 tst $ACC1 + 0af0 0272 ifg + 0af1 7c00 neg $ACC0 + 0af2 1f7e mrr $AX1.H, $AC0.M + 0af3 4700 addr $ACC1, $AX1.H + 0af4 1110 0af9 bloopi #0x10, 0x0af9 + 0af6 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0af7 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0af8 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0af9 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M + 0afa 02df ret + 0afb 02bf 0b68 call 0x0b68 + 0afd 2201 lrs $AX0.H, @0x0001 + 0afe 8600 tstaxh $AX0.H + 0aff 0294 0b10 jnz 0x0b10 + 0b01 2204 lrs $AX0.H, @0x0004 + 0b02 8600 tstaxh $AX0.H + 0b03 02b4 0b57 callnz 0x0b57 + 0b05 8100 clr $ACC0 + 0b06 2605 lrs $AC0.M, @0x0005 + 0b07 b100 tst $ACC0 + 0b08 0295 0b1d jz 0x0b1d + 0b0a 8100 clr $ACC0 + 0b0b 2e05 srs @0x0005, $AC0.M + 0b0c 2281 lrs $AX0.H, @0xff81 + 0b0d 8600 tstaxh $AX0.H + 0b0e 0294 0b17 jnz 0x0b17 + 0b10 8100 clr $ACC0 + 0b11 005f loop $AC1.M + 0b12 1b7e srri @$AR3, $AC0.M + 0b13 7400 incm $AC0.M + 0b14 2e01 srs @0x0001, $AC0.M + 0b15 029f 0b50 jmp 0x0b50 + 0b17 2688 lrs $AC0.M, @0xff88 + 0b18 2489 lrs $AC0.L, @0xff89 + 0b19 2e34 srs @0x0034, $AC0.M + 0b1a 2c35 srs @0x0035, $AC0.L + 0b1b 02bf 0b57 call 0x0b57 + 0b1d 00ff 0360 sr @0x0360, $AC1.M + 0b1f 2638 lrs $AC0.M, @0x0038 + 0b20 2439 lrs $AC0.L, @0x0039 + 0b21 02bf 06c9 call 0x06c9 + 0b23 00df 0360 lr $AC1.M, @0x0360 + 0b25 8100 clr $ACC0 + 0b26 263a lrs $AC0.M, @0x003a + 0b27 b100 tst $ACC0 + 0b28 0294 0b37 jnz 0x0b37 + 0b2a 263b lrs $AC0.M, @0x003b + 0b2b 5c00 sub $ACC0, $ACC1 + 0b2c 0290 0b37 jge 0x0b37 + 0b2e 223b lrs $AX0.H, @0x003b + 0b2f 02bf 06e6 call 0x06e6 + 0b31 5500 subr $ACC1, $AX0.H + 0b32 0a01 lris $AX0.H, #0x01 + 0b33 00fa 0405 sr @0x0405, $AX0.H + 0b35 029f 0b0a jmp 0x0b0a + 0b37 1f5f mrr $AX0.H, $AC1.M + 0b38 02bf 06e6 call 0x06e6 + 0b3a 00fa 0362 sr @0x0362, $AX0.H + 0b3c 8100 clr $ACC0 + 0b3d 263a lrs $AC0.M, @0x003a + 0b3e 243b lrs $AC0.L, @0x003b + 0b3f 1570 lsr $ACC1, #-16 + 0b40 0a01 lris $AX0.H, #0x01 + 0b41 0081 0405 lri $AR1, #0x0405 + 0b43 5c00 sub $ACC0, $ACC1 + 0b44 b100 tst $ACC0 + 0b45 0275 ifz + 0b46 1a3a srr @$AR1, $AX0.H + 0b47 2e3a srs @0x003a, $AC0.M + 0b48 2c3b srs @0x003b, $AC0.L + 0b49 2638 lrs $AC0.M, @0x0038 + 0b4a 2439 lrs $AC0.L, @0x0039 + 0b4b 00d8 0362 lr $AX0.L, @0x0362 + 0b4d 7000 addaxl $ACC0, $AX0.L + 0b4e 2c39 srs @0x0039, $AC0.L + 0b4f 2e38 srs @0x0038, $AC0.M + 0b50 0092 00ff lri $CR, #0x00ff + 0b52 029f 037e jmp 0x037e + 0b54 8100 clr $ACC0 + 0b55 2e34 srs @0x0034, $AC0.M + 0b56 2e35 srs @0x0035, $AC0.M + 0b57 2334 lrs $AX1.H, @0x0034 + 0b58 2135 lrs $AX1.L, @0x0035 + 0b59 268a lrs $AC0.M, @0xff8a + 0b5a 248b lrs $AC0.L, @0xff8b + 0b5b 5a00 subax $ACC0, $AX1.L + 0b5c 2e3a srs @0x003a, $AC0.M + 0b5d 2c3b srs @0x003b, $AC0.L + 0b5e 2634 lrs $AC0.M, @0x0034 + 0b5f 2435 lrs $AC0.L, @0x0035 + 0b60 238c lrs $AX1.H, @0xff8c + 0b61 218d lrs $AX1.L, @0xff8d + 0b62 4a00 addax $ACC0, $AX1.L + 0b63 2e38 srs @0x0038, $AC0.M + 0b64 2c39 srs @0x0039, $AC0.L + 0b65 8100 clr $ACC0 + 0b66 2e05 srs @0x0005, $AC0.M + 0b67 02df ret + 0b68 0092 0004 lri $CR, #0x0004 + 0b6a 2002 lrs $AX0.L, @0x0002 + 0b6b 8100 clr $ACC0 + 0b6c 8900 clr $ACC1 + 0b6d 2430 lrs $AC0.L, @0x0030 + 0b6e 8d00 set15 + 0b6f 0950 lris $AX1.L, #0x50 + 0b70 a000 mulx $AX0.L, $AX1.L + 0b71 a400 mulxac $AX0.L, $AX1.L, $ACC0 + 0b72 1404 lsl $ACC0, #4 + 0b73 8c00 clr15 + 0b74 1ffe mrr $AC1.M, $AC0.M + 0b75 0083 0580 lri $AR3, #0x0580 + 0b77 02df ret + 0b78 02bf 0b68 call 0x0b68 + 0b7a 2201 lrs $AX0.H, @0x0001 + 0b7b 8600 tstaxh $AX0.H + 0b7c 0294 0b8d jnz 0x0b8d + 0b7e 2204 lrs $AX0.H, @0x0004 + 0b7f 8600 tstaxh $AX0.H + 0b80 02b4 0bd7 callnz 0x0bd7 + 0b82 8100 clr $ACC0 + 0b83 2605 lrs $AC0.M, @0x0005 + 0b84 b100 tst $ACC0 + 0b85 0295 0b9a jz 0x0b9a + 0b87 8100 clr $ACC0 + 0b88 2e05 srs @0x0005, $AC0.M + 0b89 2281 lrs $AX0.H, @0xff81 + 0b8a 8600 tstaxh $AX0.H + 0b8b 0294 0b94 jnz 0x0b94 + 0b8d 8100 clr $ACC0 + 0b8e 005f loop $AC1.M + 0b8f 1b7e srri @$AR3, $AC0.M + 0b90 7400 incm $AC0.M + 0b91 2e01 srs @0x0001, $AC0.M + 0b92 029f 0bd0 jmp 0x0bd0 + 0b94 2688 lrs $AC0.M, @0xff88 + 0b95 2489 lrs $AC0.L, @0xff89 + 0b96 2e34 srs @0x0034, $AC0.M + 0b97 2c35 srs @0x0035, $AC0.L + 0b98 02bf 0bd7 call 0x0bd7 + 0b9a 00ff 0360 sr @0x0360, $AC1.M + 0b9c 2638 lrs $AC0.M, @0x0038 + 0b9d 2439 lrs $AC0.L, @0x0039 + 0b9e 02bf 06c9 call 0x06c9 + 0ba0 02bf 06e0 call 0x06e0 + 0ba2 00df 0360 lr $AC1.M, @0x0360 + 0ba4 8100 clr $ACC0 + 0ba5 263a lrs $AC0.M, @0x003a + 0ba6 b100 tst $ACC0 + 0ba7 0294 0bb6 jnz 0x0bb6 + 0ba9 263b lrs $AC0.M, @0x003b + 0baa 5c00 sub $ACC0, $ACC1 + 0bab 0290 0bb6 jge 0x0bb6 + 0bad 223b lrs $AX0.H, @0x003b + 0bae 02bf 06ab call 0x06ab + 0bb0 5500 subr $ACC1, $AX0.H + 0bb1 0a01 lris $AX0.H, #0x01 + 0bb2 00fa 0405 sr @0x0405, $AX0.H + 0bb4 029f 0b87 jmp 0x0b87 + 0bb6 1f5f mrr $AX0.H, $AC1.M + 0bb7 02bf 06ab call 0x06ab + 0bb9 00fa 0362 sr @0x0362, $AX0.H + 0bbb 8100 clr $ACC0 + 0bbc 263a lrs $AC0.M, @0x003a + 0bbd 243b lrs $AC0.L, @0x003b + 0bbe 1570 lsr $ACC1, #-16 + 0bbf 0a01 lris $AX0.H, #0x01 + 0bc0 0081 0405 lri $AR1, #0x0405 + 0bc2 5c00 sub $ACC0, $ACC1 + 0bc3 b100 tst $ACC0 + 0bc4 0275 ifz + 0bc5 1a3a srr @$AR1, $AX0.H + 0bc6 2e3a srs @0x003a, $AC0.M + 0bc7 2c3b srs @0x003b, $AC0.L + 0bc8 2638 lrs $AC0.M, @0x0038 + 0bc9 2439 lrs $AC0.L, @0x0039 + 0bca 00d8 0362 lr $AX0.L, @0x0362 + 0bcc 7000 addaxl $ACC0, $AX0.L + 0bcd 7000 addaxl $ACC0, $AX0.L + 0bce 2c39 srs @0x0039, $AC0.L + 0bcf 2e38 srs @0x0038, $AC0.M + 0bd0 0092 00ff lri $CR, #0x00ff + 0bd2 029f 037e jmp 0x037e + 0bd4 8100 clr $ACC0 + 0bd5 2e34 srs @0x0034, $AC0.M + 0bd6 2e35 srs @0x0035, $AC0.M + 0bd7 2334 lrs $AX1.H, @0x0034 + 0bd8 2135 lrs $AX1.L, @0x0035 + 0bd9 268a lrs $AC0.M, @0xff8a + 0bda 248b lrs $AC0.L, @0xff8b + 0bdb 5a00 subax $ACC0, $AX1.L + 0bdc 2e3a srs @0x003a, $AC0.M + 0bdd 2c3b srs @0x003b, $AC0.L + 0bde 2634 lrs $AC0.M, @0x0034 + 0bdf 2435 lrs $AC0.L, @0x0035 + 0be0 1401 lsl $ACC0, #1 + 0be1 238c lrs $AX1.H, @0xff8c + 0be2 218d lrs $AX1.L, @0xff8d + 0be3 4a00 addax $ACC0, $AX1.L + 0be4 2e38 srs @0x0038, $AC0.M + 0be5 2c39 srs @0x0039, $AC0.L + 0be6 8100 clr $ACC0 + 0be7 2e05 srs @0x0005, $AC0.M + 0be8 02df ret + 0be9 8900 clr $ACC1 + 0bea 0f50 lris $AC1.M, #0x50 + 0beb 0083 0520 lri $AR3, #0x0520 + 0bed 02bf 0c02 call 0x0c02 + 0bef 029f 0386 jmp 0x0386 + 0bf1 00d8 0402 lr $AX0.L, @0x0402 + 0bf3 8100 clr $ACC0 + 0bf4 8900 clr $ACC1 + 0bf5 00dc 0430 lr $AC0.L, @0x0430 + 0bf7 0a50 lris $AX0.H, #0x50 + 0bf8 9000 mul $AX0.L, $AX0.H + 0bf9 9400 mulac $AX0.L, $AX0.H, $ACC0 + 0bfa 1404 lsl $ACC0, #4 + 0bfb 1ffe mrr $AC1.M, $AC0.M + 0bfc 0083 0580 lri $AR3, #0x0580 + 0bfe 02bf 0c02 call 0x0c02 + 0c00 029f 037e jmp 0x037e + 0c02 0092 0004 lri $CR, #0x0004 + 0c04 8100 clr $ACC0 + 0c05 263a lrs $AC0.M, @0x003a + 0c06 243b lrs $AC0.L, @0x003b + 0c07 1f1f mrr $AX0.L, $AC1.M + 0c08 0a00 lris $AX0.H, #0x00 + 0c09 5800 subax $ACC0, $AX0.L + 0c0a 0292 0c20 jg 0x0c20 + 0c0c 8900 clr $ACC1 + 0c0d 00c0 043b lr $AR0, @0x043b + 0c0f 02bf 0c45 call 0x0c45 + 0c11 8100 clr $ACC0 + 0c12 1fd8 mrr $AC0.M, $AX0.L + 0c13 223b lrs $AX0.H, @0x003b + 0c14 5400 subr $ACC0, $AX0.H + 0c15 0007 dar $AR3 + 0c16 1979 lrri $AX1.L, @$AR3 + 0c17 005e loop $AC0.M + 0c18 1b79 srri @$AR3, $AX1.L + 0c19 0f01 lris $AC1.M, #0x01 + 0c1a 2f01 srs @0x0001, $AC1.M + 0c1b 8900 clr $ACC1 + 0c1c 2f3b srs @0x003b, $AC1.M + 0c1d 0092 00ff lri $CR, #0x00ff + 0c1f 02df ret + 0c20 2e3a srs @0x003a, $AC0.M + 0c21 2c3b srs @0x003b, $AC0.L + 0c22 8100 clr $ACC0 + 0c23 8900 clr $ACC1 + 0c24 268a lrs $AC0.M, @0xff8a + 0c25 2734 lrs $AC1.M, @0x0034 + 0c26 5c00 sub $ACC0, $ACC1 + 0c27 2e36 srs @0x0036, $AC0.M + 0c28 5000 subr $ACC0, $AX0.L + 0c29 0290 0c3f jge 0x0c3f + 0c2b 00c0 0436 lr $AR0, @0x0436 + 0c2d 02bf 0c45 call 0x0c45 + 0c2f 8100 clr $ACC0 + 0c30 1fd8 mrr $AC0.M, $AX0.L + 0c31 2236 lrs $AX0.H, @0x0036 + 0c32 5400 subr $ACC0, $AX0.H + 0c33 1c1e mrr $AR0, $AC0.M + 0c34 8100 clr $ACC0 + 0c35 2e34 srs @0x0034, $AC0.M + 0c36 2688 lrs $AC0.M, @0xff88 + 0c37 2489 lrs $AC0.L, @0xff89 + 0c38 2e8c srs @0xff8c, $AC0.M + 0c39 2c8d srs @0xff8d, $AC0.L + 0c3a 02bf 0c45 call 0x0c45 + 0c3c 0092 00ff lri $CR, #0x00ff + 0c3e 02df ret + 0c3f 1c18 mrr $AR0, $AX0.L + 0c40 02bf 0c45 call 0x0c45 + 0c42 0092 00ff lri $CR, #0x00ff + 0c44 02df ret + 0c45 8100 clr $ACC0 + 0c46 1fc0 mrr $AC0.M, $AR0 + 0c47 b100 tst $ACC0 + 0c48 02d5 retz + 0c49 8900 clr $ACC1 + 0c4a 2734 lrs $AC1.M, @0x0034 + 0c4b 0340 0001 andi $AC1.M, #0x0001 + 0c4d 0b00 lris $AX1.H, #0x00 + 0c4e 1f3f mrr $AX1.L, $AC1.M + 0c4f 268c lrs $AC0.M, @0xff8c + 0c50 248d lrs $AC0.L, @0xff8d + 0c51 8900 clr $ACC1 + 0c52 2534 lrs $AC1.L, @0x0034 + 0c53 1501 lsl $ACC1, #1 + 0c54 4c00 add $ACC0, $ACC1 + 0c55 5a00 subax $ACC0, $AX1.L + 0c56 5a00 subax $ACC0, $AX1.L + 0c57 1c20 mrr $AR1, $AR0 + 0c58 1fe0 mrr $AC1.M, $AR0 + 0c59 0502 addis $ACC1, #0x02 + 0c5a 1c1f mrr $AR0, $AC1.M + 0c5b 009f 0b00 lri $AC1.M, #0x0b00 + 0c5d 0092 00ff lri $CR, #0x00ff + 0c5f 02bf 0640 call 0x0640 + 0c61 0092 0004 lri $CR, #0x0004 + 0c63 2734 lrs $AC1.M, @0x0034 + 0c64 1f61 mrr $AX1.H, $AR1 + 0c65 4700 addr $ACC1, $AX1.H + 0c66 2f34 srs @0x0034, $AC1.M + 0c67 0080 0b00 lri $AR0, #0x0b00 + 0c69 8900 clr $ACC1 + 0c6a 1ff9 mrr $AC1.M, $AX1.L + 0c6b b900 tst $ACC1 + 0c6c 0274 ifnz + 0c6d 0008 iar $AR0 + 0c6e 8900 clr $ACC1 + 0c6f 1fe1 mrr $AC1.M, $AR1 + 0c70 191e lrri $AC0.M, @$AR0 + 0c71 0701 cmpis $ACC1, #0x01 + 0c72 0293 0c7b jle 0x0c7b + 0c74 191a lrri $AX0.H, @$AR0 + 0c75 05fe addis $ACC1, #0xfe + 0c76 005f loop $AC1.M + 0c77 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c78 1b7e srri @$AR3, $AC0.M + 0c79 1b7a srri @$AR3, $AX0.H + 0c7a 02df ret + 0c7b 1b7e srri @$AR3, $AC0.M + 0c7c 02df ret + 0c7d 0083 03e8 lri $AR3, #0x03e8 + 0c7f 191e lrri $AC0.M, @$AR0 + 0c80 191a lrri $AX0.H, @$AR0 + 0c81 1006 loopi #0x06 + 0c82 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0c83 1b7e srri @$AR3, $AC0.M + 0c84 1b7a srri @$AR3, $AX0.H + 0c85 0080 03e8 lri $AR0, #0x03e8 + 0c87 8a00 m2 + 0c88 0088 0007 lri $WR0, #0x0007 + 0c8a 1150 0c97 bloopi #0x50, 0x0c97 + 0c8c 1c61 mrr $AR3, $AR1 + 0c8d 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0c8e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c8f f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c90 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c91 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c92 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c93 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c94 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0c95 f200 madd $AX0.L, $AX0.H + 0c96 fe00 movpz $ACC0 + 0c97 1b3e srri @$AR1, $AC0.M + 0c98 0088 ffff lri $WR0, #0xffff + 0c9a 8b00 m0 + 0c9b 02df ret + 0c9c 8a00 m2 + 0c9d 05fe addis $ACC1, #0xfe + 0c9e 0083 03e8 lri $AR3, #0x03e8 + 0ca0 191e lrri $AC0.M, @$AR0 + 0ca1 191a lrri $AX0.H, @$AR0 + 0ca2 005f loop $AC1.M + 0ca3 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0ca4 1b7e srri @$AR3, $AC0.M + 0ca5 1b7a srri @$AR3, $AX0.H + 0ca6 0080 03e8 lri $AR0, #0x03e8 + 0ca8 0501 addis $ACC1, #0x01 + 0ca9 1d1f mrr $WR0, $AC1.M + 0caa 1150 0cb2 bloopi #0x50, 0x0cb2 + 0cac 1c61 mrr $AR3, $AR1 + 0cad 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 + 0cae 005f loop $AC1.M + 0caf f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0cb0 f200 madd $AX0.L, $AX0.H + 0cb1 fe00 movpz $ACC0 + 0cb2 1b3e srri @$AR1, $AC0.M + 0cb3 0088 ffff lri $WR0, #0xffff + 0cb5 8b00 m0 + 0cb6 02df ret + 0cb7 0083 03e8 lri $AR3, #0x03e8 + 0cb9 191e lrri $AC0.M, @$AR0 + 0cba 191a lrri $AX0.H, @$AR0 + 0cbb 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cbc 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cbd 1b7e srri @$AR3, $AC0.M + 0cbe 1b7a srri @$AR3, $AX0.H + 0cbf 0080 03e8 lri $AR0, #0x03e8 + 0cc1 0088 0003 lri $WR0, #0x0003 + 0cc3 0085 0000 lri $IX1, #0x0000 + 0cc5 0087 0000 lri $IX3, #0x0000 + 0cc7 1fc2 mrr $AC0.M, $AR2 + 0cc8 195b lrri $AX1.H, @$AR2 + 0cc9 1959 lrri $AX1.L, @$AR2 + 0cca 195f lrri $AC1.M, @$AR2 + 0ccb 195a lrri $AX0.H, @$AR2 + 0ccc 1c5e mrr $AR2, $AC0.M + 0ccd 1fda mrr $AC0.M, $AX0.H + 0cce 1c61 mrr $AR3, $AR1 + 0ccf 8a00 m2 + 0cd0 8f00 set40 + 0cd1 191a lrri $AX0.H, @$AR0 + 0cd2 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0cd3 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0cd4 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0cd5 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0cd6 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0cd7 1127 0ce2 bloopi #0x27, 0x0ce2 + 0cd9 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0cda 197e lrri $AC0.M, @$AR3 + 0cdb e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0cdc eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0cdd bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 + 0cde e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0cdf 197f lrri $AC1.M, @$AR3 + 0ce0 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0ce1 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0ce2 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 + 0ce3 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0ce4 197e lrri $AC0.M, @$AR3 + 0ce5 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0ce6 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0ce7 bf00 mulxmv $AX0.H, $AX1.H, $ACC1 + 0ce8 1bff srrn @$AR3, $AC1.M + 0ce9 197f lrri $AC1.M, @$AR3 + 0cea 8e00 set16 + 0ceb 8b00 m0 + 0cec 0088 ffff lri $WR0, #0xffff + 0cee 1b5b srri @$AR2, $AX1.H + 0cef 1b59 srri @$AR2, $AX1.L + 0cf0 1b5f srri @$AR2, $AC1.M + 0cf1 1b5e srri @$AR2, $AC0.M + 0cf2 02df ret + 0cf3 0083 03e8 lri $AR3, #0x03e8 + 0cf5 191e lrri $AC0.M, @$AR0 + 0cf6 191a lrri $AX0.H, @$AR0 + 0cf7 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cf8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M + 0cf9 1b7e srri @$AR3, $AC0.M + 0cfa 1b7a srri @$AR3, $AX0.H + 0cfb 0080 03e8 lri $AR0, #0x03e8 + 0cfd 0088 0003 lri $WR0, #0x0003 + 0cff 0085 0000 lri $IX1, #0x0000 + 0d01 0087 0000 lri $IX3, #0x0000 + 0d03 1fc2 mrr $AC0.M, $AR2 + 0d04 195b lrri $AX1.H, @$AR2 + 0d05 1959 lrri $AX1.L, @$AR2 + 0d06 195f lrri $AC1.M, @$AR2 + 0d07 195a lrri $AX0.H, @$AR2 + 0d08 1c5e mrr $AR2, $AC0.M + 0d09 1fda mrr $AC0.M, $AX0.H + 0d0a 1c61 mrr $AR3, $AR1 + 0d0b 8a00 m2 + 0d0c 8f00 set40 + 0d0d 191a lrri $AX0.H, @$AR0 + 0d0e b800 mulx $AX0.H, $AX1.H + 0d0f e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0d10 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0d11 ea00 maddc $AC1.M, $AX1.L + 0d12 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0d13 e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0d14 ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0d15 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0d16 1127 0d27 bloopi #0x27, 0x0d27 + 0d18 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0d19 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0d1a 197e lrri $AC0.M, @$AR3 + 0d1b e800 maddc $AC0.M, $AX1.L + 0d1c e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0d1d ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0d1e eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0d1f bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0d20 e350 maddx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 + 0d21 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M + 0d22 197f lrri $AC1.M, @$AR3 + 0d23 ea00 maddc $AC1.M, $AX1.L + 0d24 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 + 0d25 e877 maddc'ln $AC0.M, $AX1.L : $AC0.M, @$AR3 + 0d26 ece8 msubc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 + 0d27 b200 mulxmvz $AX0.H, $AX1.L, $ACC0 + 0d28 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 + 0d29 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M + 0d2a 197e lrri $AC0.M, @$AR3 + 0d2b e800 maddc $AC0.M, $AX1.L + 0d2c e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 + 0d2d ea7f maddc'ln $AC1.M, $AX1.L : $AC1.M, @$AR3 + 0d2e eef8 msubc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 + 0d2f bb00 mulxmvz $AX0.H, $AX1.H, $ACC1 + 0d30 1bff srrn @$AR3, $AC1.M + 0d31 197f lrri $AC1.M, @$AR3 + 0d32 8e00 set16 + 0d33 8b00 m0 + 0d34 0088 ffff lri $WR0, #0xffff + 0d36 1b5b srri @$AR2, $AX1.H + 0d37 1b59 srri @$AR2, $AX1.L + 0d38 1b5f srri @$AR2, $AC1.M + 0d39 1b5e srri @$AR2, $AC0.M + 0d3a 02df ret + 0d3b 0eff lris $AC0.M, #0xff + 0d3c 00fe 03f2 sr @0x03f2, $AC0.M + 0d3e 8100 clr $ACC0 + 0d3f 00fe 03f0 sr @0x03f0, $AC0.M + 0d41 00fe 03f6 sr @0x03f6, $AC0.M + 0d43 009e 0100 lri $AC0.M, #0x0100 + 0d45 00fe 03f7 sr @0x03f7, $AC0.M + 0d47 00da 03f7 lr $AX0.H, @0x03f7 + 0d49 009e 8000 lri $AC0.M, #0x8000 + 0d4b 5400 subr $ACC0, $AX0.H + 0d4c 00fe 03f5 sr @0x03f5, $AC0.M + 0d4e 0e30 lris $AC0.M, #0x30 + 0d4f 00fe 03f3 sr @0x03f3, $AC0.M + 0d51 0e10 lris $AC0.M, #0x10 + 0d52 00fe 03f4 sr @0x03f4, $AC0.M + 0d54 009e 0096 lri $AC0.M, #0x0096 + 0d56 00fe 03f1 sr @0x03f1, $AC0.M + 0d58 02df ret + 0d59 0080 0a00 lri $AR0, #0x0a00 + 0d5b 8100 clr $ACC0 + 0d5c 00de 03f0 lr $AC0.M, @0x03f0 + 0d5e 8900 clr $ACC1 + 0d5f b100 tst $ACC0 + 0d60 0275 ifz + 0d61 0550 addis $ACC1, #0x50 + 0d62 00ff 03f0 sr @0x03f0, $AC1.M + 0d64 0200 0a60 addi $AC0.M, #0x0a60 + 0d66 1c7e mrr $AR3, $AC0.M + 0d67 0f4e lris $AC1.M, #0x4e + 0d68 02bf 012b call 0x012b + 0d6a 02df ret + 0d6b 00de 03f1 lr $AC0.M, @0x03f1 + 0d6d 0200 0a60 addi $AC0.M, #0x0a60 + 0d6f 1c7e mrr $AR3, $AC0.M + 0d70 8100 clr $ACC0 + 0d71 8900 clr $ACC1 + 0d72 009f 00a0 lri $AC1.M, #0x00a0 + 0d74 00de 03f1 lr $AC0.M, @0x03f1 + 0d76 5d00 sub $ACC1, $ACC0 + 0d77 0e50 lris $AC0.M, #0x50 + 0d78 0750 cmpis $ACC1, #0x50 + 0d79 0270 ifge + 0d7a 5d00 sub $ACC1, $ACC0 + 0d7b 00da 03f2 lr $AX0.H, @0x03f2 + 0d7d 8600 tstaxh $AX0.H + 0d7e 0290 0d9c jge 0x0d9c + 0d80 00de 03f3 lr $AC0.M, @0x03f3 + 0d82 5c00 sub $ACC0, $ACC1 + 0d83 0293 0d87 jle 0x0d87 + 0d85 029f 0da1 jmp 0x0da1 + 0d87 00db 03f7 lr $AX1.H, @0x03f7 + 0d89 009e 8000 lri $AC0.M, #0x8000 + 0d8b 4600 addr $ACC0, $AX1.H + 0d8c 029f 0d93 jmp 0x0d93 + 0d8e 00db 03f7 lr $AX1.H, @0x03f7 + 0d90 009e 8000 lri $AC0.M, #0x8000 + 0d92 5600 subr $ACC0, $AX1.H + 0d93 00fe 03f5 sr @0x03f5, $AC0.M + 0d95 1fda mrr $AC0.M, $AX0.H + 0d96 7c00 neg $ACC0 + 0d97 1f5e mrr $AX0.H, $AC0.M + 0d98 00fe 03f2 sr @0x03f2, $AC0.M + 0d9a 029f 0da1 jmp 0x0da1 + 0d9c 00de 03f4 lr $AC0.M, @0x03f4 + 0d9e 5d00 sub $ACC1, $ACC0 + 0d9f 0293 0d8e jle 0x0d8e + 0da1 8900 clr $ACC1 + 0da2 00dd 03f5 lr $AC1.L, @0x03f5 + 0da4 1501 lsl $ACC1, #1 + 0da5 8100 clr $ACC0 + 0da6 00dc 03f6 lr $AC0.L, @0x03f6 + 0da8 008b 009f lri $WR3, #0x009f + 0daa 0080 0a00 lri $AR0, #0x0a00 + 0dac 0900 lris $AX1.L, #0x00 + 0dad 1150 0db4 bloopi #0x50, 0x0db4 + 0daf 1878 lrr $AX0.L, @$AR3 + 0db0 4c00 add $ACC0, $ACC1 + 0db1 1cfe mrr $IX3, $AC0.M + 0db2 001f addarn $AR3, $IX3 + 0db3 1fd9 mrr $AC0.M, $AX1.L + 0db4 1b18 srri @$AR0, $AX0.L + 0db5 009f 0a60 lri $AC1.M, #0x0a60 + 0db7 1fc3 mrr $AC0.M, $AR3 + 0db8 5c00 sub $ACC0, $ACC1 + 0db9 00fe 03f1 sr @0x03f1, $AC0.M + 0dbb 00fc 03f6 sr @0x03f6, $AC0.L + 0dbd 008b ffff lri $WR3, #0xffff + 0dbf 02df ret + 0dc0 0f50 lris $AC1.M, #0x50 + 0dc1 0080 0a00 lri $AR0, #0x0a00 + 0dc3 0083 0d60 lri $AR3, #0x0d60 + 0dc5 0098 3fff lri $AX0.L, #0x3fff + 0dc7 02bf 0145 call 0x0145 + 0dc9 0f50 lris $AC1.M, #0x50 + 0dca 0080 0a00 lri $AR0, #0x0a00 + 0dcc 0083 0d00 lri $AR3, #0x0d00 + 0dce 0098 3fff lri $AX0.L, #0x3fff + 0dd0 02bf 0145 call 0x0145 + 0dd2 02df ret + 0dd3 b900 tst $ACC1 + 0dd4 0294 0dd9 jnz 0x0dd9 + 0dd6 6800 movax $ACC0, $AX0.L + 0dd7 b100 tst $ACC0 + 0dd8 02d5 retz + 0dd9 1c23 mrr $AR1, $AR3 + 0dda 197e lrri $AC0.M, @$AR3 + 0ddb 191b lrri $AX1.H, @$AR0 + 0ddc d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 + 0ddd 1120 0de3 bloopi #0x20, 0x0de3 + 0ddf dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0de0 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0de1 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0de2 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0de3 4900 addax $ACC1, $AX0.L + 0de4 1108 0de9 bloopi #0x08, 0x0de9 + 0de6 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0de7 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0de8 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 + 0de9 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M + 0dea 02df ret + 0deb 8f00 set40 + 0dec 8d00 set15 + 0ded 1c03 mrr $AR0, $AR3 + 0dee 00d9 038e lr $AX1.L, @0x038e + 0df0 0b04 lris $AX1.H, #0x04 + 0df1 197a lrri $AX0.H, @$AR3 + 0df2 b053 mulx'l $AX0.H, $AX1.L : $AX0.H, @$AR3 + 0df3 b600 mulxmv $AX0.H, $AX1.L, $ACC0 + 0df4 1128 0df9 bloopi #0x28, 0x0df9 + 0df6 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0df7 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0df8 3ad3 orr'ld $AC0.M, $AX1.H : $AX0.L, $AX1.H, @$AR3 + 0df9 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0dfa 8c00 clr15 + 0dfb 8e00 set16 + 0dfc 02df ret + 0dfd 00da 0485 lr $AX0.H, @0x0485 + 0dff 8600 tstaxh $AX0.H + 0e00 0295 0e0e jz 0x0e0e + 0e02 8100 clr $ACC0 + 0e03 00de 042a lr $AC0.M, @0x042a + 0e05 147f lsr $ACC0, #-1 + 0e06 00fe 042b sr @0x042b, $AC0.M + 0e08 b100 tst $ACC0 + 0e09 0294 0e0e jnz 0x0e0e + 0e0b 0a01 lris $AX0.H, #0x01 + 0e0c 00fa 0401 sr @0x0401, $AX0.H + 0e0e 8f00 set40 + 0e0f 8100 clr $ACC0 + 0e10 00de 0428 lr $AC0.M, @0x0428 + 0e12 1478 lsr $ACC0, #-8 + 0e13 00df 0428 lr $AC1.M, @0x0428 + 0e15 0340 007f andi $AC1.M, #0x007f + 0e17 1f1e mrr $AX0.L, $AC0.M + 0e18 1f5f mrr $AX0.H, $AC1.M + 0e19 0220 007f xori $ACC0, #0x007f + 0e1b 1f3e mrr $AX1.L, $AC0.M + 0e1c 0320 007f xori $ACC1, #0x007f + 0e1e 1f7f mrr $AX1.H, $AC1.M + 0e1f 8100 clr $ACC0 + 0e20 8900 clr $ACC1 + 0e21 009f 0200 lri $AC1.M, #0x0200 + 0e23 1fd8 mrr $AC0.M, $AX0.L + 0e24 4c00 add $ACC0, $ACC1 + 0e25 1c1e mrr $AR0, $AC0.M + 0e26 1818 lrr $AX0.L, @$AR0 + 0e27 1fda mrr $AC0.M, $AX0.H + 0e28 4c00 add $ACC0, $ACC1 + 0e29 1c1e mrr $AR0, $AC0.M + 0e2a 181a lrr $AX0.H, @$AR0 + 0e2b 1fd9 mrr $AC0.M, $AX1.L + 0e2c 4c00 add $ACC0, $ACC1 + 0e2d 1c1e mrr $AR0, $AC0.M + 0e2e 1819 lrr $AX1.L, @$AR0 + 0e2f 1fdb mrr $AC0.M, $AX1.H + 0e30 4c00 add $ACC0, $ACC1 + 0e31 1c1e mrr $AR0, $AC0.M + 0e32 181b lrr $AX1.H, @$AR0 + 0e33 8a00 m2 + 0e34 0080 0b00 lri $AR0, #0x0b00 + 0e36 9800 mul $AX1.L, $AX1.H + 0e37 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 + 0e38 b630 mulxmv's $AX0.H, $AX1.L, $ACC0 : @$AR0, $AC0.M + 0e39 9630 mulmv's $AX0.L, $AX0.H, $ACC0 : @$AR0, $AC0.M + 0e3a 6e30 movp's $ACC0 : @$AR0, $AC0.M + 0e3b 1b1e srri @$AR0, $AC0.M + 0e3c 8b00 m0 + 0e3d 0080 0b00 lri $AR0, #0x0b00 + 0e3f 0081 0b04 lri $AR1, #0x0b04 + 0e41 00da 042a lr $AX0.H, @0x042a + 0e43 02bf 0e8e call 0x0e8e + 0e45 0081 0b08 lri $AR1, #0x0b08 + 0e47 0080 0b00 lri $AR0, #0x0b00 + 0e49 00da 042a lr $AX0.H, @0x042a + 0e4b 00de 0429 lr $AC0.M, @0x0429 + 0e4d 8a00 m2 + 0e4e c000 mulc $AC0.M, $AX0.H + 0e4f 8b00 m0 + 0e50 6e00 movp $ACC0 + 0e51 1f5e mrr $AX0.H, $AC0.M + 0e52 02bf 0e8e call 0x0e8e + 0e54 0080 0b00 lri $AR0, #0x0b00 + 0e56 0081 0b0c lri $AR1, #0x0b0c + 0e58 8100 clr $ACC0 + 0e59 8900 clr $ACC1 + 0e5a 00de 042b lr $AC0.M, @0x042b + 0e5c 00df 042a lr $AC1.M, @0x042a + 0e5e 00fe 042a sr @0x042a, $AC0.M + 0e60 5c00 sub $ACC0, $ACC1 + 0e61 1f5e mrr $AX0.H, $AC0.M + 0e62 02bf 0e99 call 0x0e99 + 0e64 0080 0b0c lri $AR0, #0x0b0c + 0e66 0081 0b10 lri $AR1, #0x0b10 + 0e68 00da 0429 lr $AX0.H, @0x0429 + 0e6a 02bf 0e8e call 0x0e8e + 0e6c 0081 0b04 lri $AR1, #0x0b04 + 0e6e 0082 0b0c lri $AR2, #0x0b0c + 0e70 0083 0ea7 lri $AR3, #0x0ea7 + 0e72 1108 0e8b bloopi #0x08, 0x0e8b + 0e74 195f lrri $AC1.M, @$AR2 + 0e75 15fb asr $ACC1, #-5 + 0e76 1f1d mrr $AX0.L, $AC1.L + 0e77 1f5f mrr $AX0.H, $AC1.M + 0e78 193f lrri $AC1.M, @$AR1 + 0e79 00e1 0b24 sr @0x0b24, $AR1 + 0e7b 00e2 0b25 sr @0x0b25, $AR2 + 0e7d 021b ilrri $AC0.M, @$AR3 + 0e7e 00e3 0b26 sr @0x0b26, $AR3 + 0e80 1c7e mrr $AR3, $AC0.M + 0e81 00c0 038f lr $AR0, @0x038f + 0e83 02bf 0dd3 call 0x0dd3 + 0e85 00c1 0b24 lr $AR1, @0x0b24 + 0e87 00c2 0b25 lr $AR2, @0x0b25 + 0e89 00c3 0b26 lr $AR3, @0x0b26 + 0e8b 0000 nop + 0e8c 8e00 set16 + 0e8d 02df ret + 0e8e 8a00 m2 + 0e8f 191f lrri $AC1.M, @$AR0 + 0e90 d078 mulc'l $AC1.M, $AX0.H : $AC1.M, @$AR0 + 0e91 d678 mulcmv'l $AC1.M, $AX0.H, $ACC0 : $AC1.M, @$AR0 + 0e92 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e93 191f lrri $AC1.M, @$AR0 + 0e94 d631 mulcmv's $AC1.M, $AX0.H, $ACC0 : @$AR1, $AC0.M + 0e95 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0e96 1b3e srri @$AR1, $AC0.M + 0e97 8b00 m0 + 0e98 02df ret + 0e99 8a00 m2 + 0e9a 8d00 set15 + 0e9b 1f7e mrr $AX1.H, $AC0.M + 0e9c 1918 lrri $AX0.L, @$AR0 + 0e9d a840 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR0 + 0e9e ae40 mulxmv'l $AX0.L, $AX1.H, $ACC0 : $AX0.L, @$AR0 + 0e9f ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0ea0 1918 lrri $AX0.L, @$AR0 + 0ea1 ae31 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR1, $AC0.M + 0ea2 6e31 movp's $ACC0 : @$AR1, $AC0.M + 0ea3 1b3e srri @$AR1, $AC0.M + 0ea4 8c00 clr15 + 0ea5 8b00 m0 + 0ea6 02df ret + 0ea7 0d00 lris $AC1.L, #0x00 + 0ea8 0d60 lris $AC1.L, #0x60 + 0ea9 0f40 lris $AC1.M, #0x40 + 0eaa 0ca0 lris $AC0.L, #0xa0 + 0eab 0e80 lris $AC0.M, #0x80 + 0eac 0ee0 lris $AC0.M, #0xe0 + 0ead 0be0 lris $AX1.H, #0xe0 + 0eae 0c40 lris $AC0.L, #0x40 + 0eaf 00f9 0361 sr @0x0361, $AX1.L + 0eb1 1fc0 mrr $AC0.M, $AR0 + 0eb2 0200 fffc addi $AC0.M, #0xfffc + 0eb4 1c1e mrr $AR0, $AC0.M + 0eb5 1c5e mrr $AR2, $AC0.M + 0eb6 0083 043c lri $AR3, #0x043c + 0eb8 197e lrri $AC0.M, @$AR3 + 0eb9 197f lrri $AC1.M, @$AR3 + 0eba 80a2 nx'sl : $AC0.M, $AX0.H + 0ebb 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H + 0ebc 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M + 0ebd 1b1f srri @$AR0, $AC1.M + 0ebe 1c02 mrr $AR0, $AR2 + 0ebf 8100 clr $ACC0 + 0ec0 00de 0402 lr $AC0.M, @0x0402 + 0ec2 00fe 0362 sr @0x0362, $AC0.M + 0ec4 1474 lsr $ACC0, #-12 + 0ec5 1f7e mrr $AX1.H, $AC0.M + 0ec6 1f3c mrr $AX1.L, $AC0.L + 0ec7 8900 clr $ACC1 + 0ec8 00dd 0430 lr $AC1.L, @0x0430 + 0eca 1504 lsl $ACC1, #4 + 0ecb 0604 cmpis $ACC0, #0x04 + 0ecc 0290 0f23 jge 0x0f23 + 0ece 1fdd mrr $AC0.M, $AC1.L + 0ecf 0082 02b0 lri $AR2, #0x02b0 + 0ed1 1050 loopi #0x50 + 0ed2 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L + 0ed3 1fbe mrr $AC1.L, $AC0.M + 0ed4 00fe 0360 sr @0x0360, $AC0.M + 0ed6 8900 clr $ACC1 + 0ed7 1fbe mrr $AC1.L, $AC0.M + 0ed8 0af8 lris $AX0.H, #0xf8 + 0ed9 009b 00fc lri $AX1.H, #0x00fc + 0edb 00d8 0361 lr $AX0.L, @0x0361 + 0edd 0082 02b0 lri $AR2, #0x02b0 + 0edf 0083 02b0 lri $AR3, #0x02b0 + 0ee1 195e lrri $AC0.M, @$AR2 + 0ee2 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M + 0ee3 1128 0ee8 bloopi #0x28, 0x0ee8 + 0ee5 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 + 0ee6 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H + 0ee7 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 + 0ee8 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H + 0ee9 8a00 m2 + 0eea 0082 02b0 lri $AR2, #0x02b0 + 0eec 00dd 0430 lr $AC1.L, @0x0430 + 0eee 1504 lsl $ACC1, #4 + 0eef 1fe0 mrr $AC1.M, $AR0 + 0ef0 8100 clr $ACC0 + 0ef1 00de 0362 lr $AC0.M, @0x0362 + 0ef3 1474 lsr $ACC0, #-12 + 0ef4 1f7e mrr $AX1.H, $AC0.M + 0ef5 1f3c mrr $AX1.L, $AC0.L + 0ef6 8f00 set40 + 0ef7 1943 lrri $AR3, @$AR2 + 0ef8 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0ef9 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0efa f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0efb f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0efc f200 madd $AX0.L, $AX0.H + 0efd fe00 movpz $ACC0 + 0efe 1c1f mrr $AR0, $AC1.M + 0eff 1943 lrri $AR3, @$AR2 + 0f00 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0f01 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f02 114e 0f0a bloopi #0x4e, 0x0f0a + 0f04 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f05 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f06 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0f07 1c1f mrr $AR0, $AC1.M + 0f08 1943 lrri $AR3, @$AR2 + 0f09 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 + 0f0a 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 + 0f0b f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f0c f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 + 0f0d f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M + 0f0e fe00 movpz $ACC0 + 0f0f 1b3e srri @$AR1, $AC0.M + 0f10 8b00 m0 + 0f11 8e00 set16 + 0f12 00fe 0433 sr @0x0433, $AC0.M + 0f14 1c1f mrr $AR0, $AC1.M + 0f15 150c lsl $ACC1, #12 + 0f16 0340 0fff andi $AC1.M, #0x0fff + 0f18 00ff 0430 sr @0x0430, $AC1.M + 0f1a 0083 043c lri $AR3, #0x043c + 0f1c 191e lrri $AC0.M, @$AR0 + 0f1d 191f lrri $AC1.M, @$AR0 + 0f1e 80a0 nx'ls : $AX0.H, $AC0.M + 0f1f 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M + 0f20 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M + 0f21 1b7f srri @$AR3, $AC1.M + 0f22 02df ret + 0f23 1fe0 mrr $AC1.M, $AR0 + 0f24 1c1f mrr $AR0, $AC1.M + 0f25 1128 0f2c bloopi #0x28, 0x0f2c + 0f27 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0f28 1b3e srri @$AR1, $AC0.M + 0f29 1c1f mrr $AR0, $AC1.M + 0f2a 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 + 0f2b 1b3e srri @$AR1, $AC0.M + 0f2c 1c1f mrr $AR0, $AC1.M + 0f2d 029f 0f12 jmp 0x0f12 + 0f2f 0083 0520 lri $AR3, #0x0520 + 0f31 00de 0433 lr $AC0.M, @0x0433 + 0f33 1050 loopi #0x50 + 0f34 1b7e srri @$AR3, $AC0.M + 0f35 029f 0386 jmp 0x0386 + 0f37 1c20 mrr $AR1, $AR0 + 0f38 185f lrr $AC1.M, @$AR2 + 0f39 1f7f mrr $AX1.H, $AC1.M + 0f3a 193a lrri $AX0.H, @$AR1 + 0f3b 6400 movr $ACC0, $AX0.H + 0f3c 0078 0f41 bloop $AX0.L, 0x0f41 + 0f3e 5659 subr'l $ACC0, $AX1.H : $AX1.H, @$AR1 + 0f3f 6730 movr's $ACC1, $AX1.H : @$AR0, $AC0.M + 0f40 5551 subr'l $ACC1, $AX0.H : $AX0.H, @$AR1 + 0f41 6438 movr's $ACC0, $AX0.H : @$AR0, $AC1.M + 0f42 1a5b srr @$AR2, $AX1.H + 0f43 02df ret + 0f44 0098 8240 lri $AX0.L, #0x8240 + 0f46 00f8 04e8 sr @0x04e8, $AX0.L + 0f48 0098 7fff lri $AX0.L, #0x7fff + 0f4a 00f8 04e9 sr @0x04e9, $AX0.L + 0f4c 0098 7dbf lri $AX0.L, #0x7dbf + 0f4e 00f8 04ea sr @0x04ea, $AX0.L + 0f50 0098 843f lri $AX0.L, #0x843f + 0f52 00f8 04eb sr @0x04eb, $AX0.L + 0f54 0098 b23b lri $AX0.L, #0xb23b + 0f56 00f8 04f0 sr @0x04f0, $AX0.L + 0f58 0098 7fff lri $AX0.L, #0x7fff + 0f5a 00f8 04f1 sr @0x04f1, $AX0.L + 0f5c 0098 4dc4 lri $AX0.L, #0x4dc4 + 0f5e 00f8 04f2 sr @0x04f2, $AX0.L + 0f60 0098 d808 lri $AX0.L, #0xd808 + 0f62 00f8 04f3 sr @0x04f3, $AX0.L + 0f64 0098 0000 lri $AX0.L, #0x0000 + 0f66 0080 04ec lri $AR0, #0x04ec + 0f68 1004 loopi #0x04 + 0f69 1b18 srri @$AR0, $AX0.L + 0f6a 0080 04f4 lri $AR0, #0x04f4 + 0f6c 1004 loopi #0x04 + 0f6d 1b18 srri @$AR0, $AX0.L + 0f6e 02df ret + 0f6f 0080 0f40 lri $AR0, #0x0f40 + 0f71 0083 0b00 lri $AR3, #0x0b00 + 0f73 8900 clr $ACC1 + 0f74 0f50 lris $AC1.M, #0x50 + 0f75 0098 6784 lri $AX0.L, #0x6784 + 0f77 02bf 0154 call 0x0154 + 0f79 0080 04e8 lri $AR0, #0x04e8 + 0f7b 0082 04ec lri $AR2, #0x04ec + 0f7d 0081 0b00 lri $AR1, #0x0b00 + 0f7f 8900 clr $ACC1 + 0f80 0f50 lris $AC1.M, #0x50 + 0f81 0080 0b00 lri $AR0, #0x0b00 + 0f83 0083 0d00 lri $AR3, #0x0d00 + 0f85 0098 7fff lri $AX0.L, #0x7fff + 0f87 02bf 0145 call 0x0145 + 0f89 8900 clr $ACC1 + 0f8a 0f50 lris $AC1.M, #0x50 + 0f8b 0080 0b00 lri $AR0, #0x0b00 + 0f8d 0083 0d60 lri $AR3, #0x0d60 + 0f8f 0098 b820 lri $AX0.L, #0xb820 + 0f91 02bf 0145 call 0x0145 + 0f93 0080 0ca0 lri $AR0, #0x0ca0 + 0f95 0083 0b00 lri $AR3, #0x0b00 + 0f97 8900 clr $ACC1 + 0f98 0f50 lris $AC1.M, #0x50 + 0f99 0098 6784 lri $AX0.L, #0x6784 + 0f9b 02bf 0154 call 0x0154 + 0f9d 0080 04e8 lri $AR0, #0x04e8 + 0f9f 0082 04f4 lri $AR2, #0x04f4 + 0fa1 0081 0b00 lri $AR1, #0x0b00 + 0fa3 8900 clr $ACC1 + 0fa4 0f50 lris $AC1.M, #0x50 + 0fa5 0080 0b00 lri $AR0, #0x0b00 + 0fa7 0083 0d00 lri $AR3, #0x0d00 + 0fa9 0098 47e0 lri $AX0.L, #0x47e0 + 0fab 02bf 0145 call 0x0145 + 0fad 8900 clr $ACC1 + 0fae 0f50 lris $AC1.M, #0x50 + 0faf 0080 0b00 lri $AR0, #0x0b00 + 0fb1 0083 0d60 lri $AR3, #0x0d60 + 0fb3 0098 8001 lri $AX0.L, #0x8001 + 0fb5 02bf 0145 call 0x0145 + 0fb7 02df ret + 0fb8 0000 nop + 0fb9 0000 nop + 0fba 0000 nop + 0fbb 0000 nop + 0fbc 0000 nop + 0fbd 0000 nop + 0fbe 0000 nop + 0fbf 0000 nop