Commit graph

130 commits

Author SHA1 Message Date
Pokechu22 79664d419c docs/DSP: Document rounding behavior of CLRL 2021-08-21 16:05:06 -07:00
Pokechu22 1bcea561e9 docs/DSP: Add 'NOP 2021-08-21 16:05:05 -07:00
Pokechu22 29b61d463e docs/DSP: Document 'LD and 'LDAX 2021-08-21 16:05:05 -07:00
Pokechu22 031621bf51 docs/DSP: Document behavior and instructions when the first nybble is 3 2021-08-21 16:05:05 -07:00
Pokechu22 211c2b5d99 docs/DSP: Add most missing instructions
These instructions were already implememented by Dolphin, but never added to the manual.  Extension instructions will be handled in a later commit, as wlil instructions that were not previously implememented by Dolphin.
2021-08-21 16:05:05 -07:00
Pokechu22 446b1d2f13 docs/DSP: Adjust bit names in opcode table
The old names did not match the ones used by the instructions themselves, and were generally fairly inconsistent.
2021-08-21 16:05:05 -07:00
Pokechu22 16da6e214d docs/DSP: Hyperlink opcode names 2021-08-21 16:05:03 -07:00
Pokechu22 ccc5085988 docs/DSP: Rename 'SLMN to 'SLNM
This is for consistency with Dolphin, the opcode table, and 'LSNM.
2021-08-21 16:03:50 -07:00
Pokechu22 2a9e1a3b5d docs/DSP: Document accelerator hardware registers 2021-08-21 16:03:50 -07:00
Pokechu22 c9ed9dd0a7 docs/DSP: Adjust formatting of RegisterBitOverview 2021-08-21 16:03:50 -07:00
Pokechu22 9a269929ec docs/DSP: Improve DMA hardware register information 2021-08-21 16:03:50 -07:00
Pokechu22 b99fbf7e9c docs/DSP: Sort hardware registers by address
The actual documentation for registers is not changed in this commit; nor are any new registers added.  This is purely to make later diffs more readable.
2021-08-21 16:03:50 -07:00
Pokechu22 6df892dca7 docs/DSP: Expand DSP Memory Map section 2021-08-21 16:03:50 -07:00
Pokechu22 cfc6de8545 docs/DSP: Fix LOOPI, BLOOP, Jcc, and CALLcc opcode table operands 2021-08-21 16:03:50 -07:00
Pokechu22 5a0155a1cb docs/DSP: Fix ANDCF and ANDF being swapped
This was implemented in Dolphin in 7c4e654253.  That change also noted that JZR/JNZ were swapped; this was already fixed in facd1dca12.
2021-08-21 16:03:50 -07:00
Pokechu22 000f7b102a docs/DSP: Fix SBCLR and SBSET being backwards
Dolphin has them with SBCLR as 1200 and SBSET as 1300 since the inital megacommit: 775dc8a9c0/Source/Plugins/Plugin_DSP_LLE/Src/opcodes.cpp (L67-L68)
2021-08-21 16:03:49 -07:00
Pokechu22 13051ee291 docs/DSP: Elaborate on SBSET and SBCLR 2021-08-21 16:03:49 -07:00
Pokechu22 bb1ecd2a81 docs/DSP: Add RTI to opcode list 2021-08-21 16:03:41 -07:00
Pokechu22 2c73de7ada docs/DSP: Add missing already-documented instructions to opcode table 2021-08-21 11:40:54 -07:00
Pokechu22 d9f8df3cbe docs/DSP: Fix typo in HALT encoding
"I think I saw a two"
2021-08-21 11:40:54 -07:00
Pokechu22 35720284f3 docs/DSP: Fix various spelling/grammar/punctuation issues 2021-08-21 11:40:54 -07:00
Pokechu22 2df33ddbbc docs/DSP: Create .gitignore
This is from https://github.com/github/gitignore/blob/master/TeX.gitignore (CC0)
2021-08-21 11:40:54 -07:00
Pokechu22 c1242fbd6c docs/DSP: Update version and history
The GFDL requires the history section to be updated.  Although there was no actual release, this makes it attribution clearer and separates it from my changes.
2021-08-21 11:40:22 -07:00
Dentomologist e0a8d931fc Updater: Add code documentation Markdown file
Add docs/autoupdate_overview.md which gives an overview of the update
process, and comments pointing to it in autoupdate related files.
2021-04-13 15:37:31 -07:00
JosJuice f27a2bc922 Rename docs/WIA.md to docs/WiaAndRvz.md
While this file originally only covered WIA, I think this
is a better name for the current contents of the file.
2021-02-11 22:40:21 +01:00
iwubcode fd3af4c5d3 InputCommon: Introducing the "Dynamic Input Texture". Configuration links an emulated input action to an image based on what host key is defined for that emulated input. Specific regions are called out in configuration that mark where to replace an input button with a host key image. 2020-10-03 17:10:35 -05:00
JosJuice 224c6e799d RVZ: Extend GroupEntry 2020-06-17 13:48:45 +02:00
JosJuice 39caac925a RVZ: Add documentation 2020-06-17 13:48:45 +02:00
JosJuice 0b407228b7 WIA: Add documentation 2020-06-17 13:43:53 +02:00
Tillmann Karras 48f96491e8 docs/DSP: fix typos in 'S and 'SN and improve readability 2020-06-08 03:41:45 +01:00
Tillmann Karras d5c3411a80 docs/DSP: fix AX register numbers
Dolphin already had this fixed in the initial megacommit.
2020-05-17 10:47:15 +01:00
Tillmann Karras d259fc4038 docs/DSP: add wrapping registers
as decreed in 0d57b7f01a
2020-05-17 10:42:58 +01:00
Tillmann Karras 90b060f284 docs/DSP: fix typos 2020-05-17 10:42:58 +01:00
Tillmann Karras 7546bd6476 docs/DSP: fix $prod references
Apart from improving readability, this also fixes a hex-vs-decimal mismatch.
2020-05-09 13:44:39 +01:00
Ikalpo da9e9323ce fixed 'Load into Gecko Register' codetype 2019-05-13 21:48:40 -07:00
spycrab a9d9ba0b1b docs: Add ResourcePacks.md 2019-02-11 11:11:50 +01:00
TryTwo 701b5c4b03 Fix Gecko codehandler lag. 2018-10-28 13:45:10 -07:00
BhaaL 1f524b9929 docs/DSP: update version and history 2018-06-21 11:34:20 +02:00
BhaaL 1419e7e5b2 docs/DSP: fix opcode operations
some did not reflect the correct PC increments, other had their registers
mixed up.
LSNM was misspelled as LSMN.
2018-06-21 11:34:20 +02:00
BhaaL facd1dca12 docs/DSP: update register tables
Dolphin source had a lot more info than the tables, so it makes sense to
include them in the manual
2018-06-21 11:34:20 +02:00
Lioncash db2c6df675
docs: Add a LaTeX equivalent of the GameCube DSP User's Manual
The existing manual is nice to read and get up to speed on things,
however it has one major problem. It's actually a pain to extend or
modify, despite being released under the GNU documentation license: It's
in PDF format.

I've taken the time to reproduce what the document more-or-less looks
like in order to allow extending the document using open-source tools
while also using a more general solution like LaTeX, which can generate
the document into multiple formats if desirable.

This should make extending the document much easier (and not lock the
information into one concrete format).
2018-04-13 19:03:08 -04:00
booto 8d1d8afd32 Clean up codehandler formatting 2018-02-03 13:09:31 +08:00
booto aae8634a58 Clean up codehandler a little; stash msr on stack to preserve 2018-02-03 13:07:25 +08:00
booto 83d18fc2fa Restore original MSR when returning from codehandler 2018-01-14 04:51:48 +08:00
Leo Lam 01cea374a6 Merge pull request #5907 from gamemasterplc/master
Fix 8 and 16 bit writes in codehandler
2017-08-17 03:33:23 +08:00
Michael M fcb1eb9d3b dsp_rom: skip bootucode_ax when running from entrypoint
This could cause the first branch of the bootucode procedure, which
takes its parameters from the AX registers, to run during the ROM init
sequence. Since the ROM doesn't set any of the AX registers, the values
aren't meaningful, and can cause bad DMA transfers and crashes.
2017-08-10 10:53:12 -07:00
gamemasterplc e2d126144e Fix 8 and 16 bit writes in codehandler (Source) 2017-08-10 07:05:05 -05:00
gamemasterplc 99ad304791 Add codehandler source code.
This file is MIT licensed due to Gecko OS being MIT licensed.

Add authors of original codehandler

Add MIT notice to codehandler

Update copyright year for codehandler

Add where original source came from

Codehandler Source Code Added.
2017-06-25 08:48:25 -05:00
Michael Maltese e3531d17d7 Update free DSP ROM and coefficients to support GBA ucode
- coef: Explicitly set 23 different values that are used by GBA UCode,
  and tweaked overall parameters to more closely match those 23 values.
- irom: Moved a few functions to their proper places, updated BootUCode
  to configure DMA transfers using AX registers as well as IX registers
  (the GBA UCode uses this to do two sequential transfers in one call),
  and added partial functions used by GBA UCode.

All functions were reverse-engineered solely based off of observed
effects on the virtual machine: register states before-and-after, dmem
interactions, and DMA transfers. The specific coefficients were observed
being read from dmem, and must be exactly those values to function
properly. I have no knowledge of how the official ROM implements these
functions, or how it is implemented overall.

Tested with The Legend of Zelda: Four Swords Adventures, Final Fantasy
Crystal Chronicles, and Billy Hatcher and the Giant Egg (to download
ChuChu Rocket!).
2017-06-03 15:16:39 -07:00
Michael Maltese 3872437eac Add sample logs for GBA ucode register state/HW interactions 2017-06-03 15:16:39 -07:00