Commit Graph

45 Commits

Author SHA1 Message Date
92af703f29 DSPAssembler: Fix -Wswitch warning 2022-06-04 12:08:09 -07:00
bd3173e344 DSPAssembler: Rework errors and warnings
Among other things, this trims trailing newline characters. Before (on windows) the \r would corrupt the output and make them very hard to understand (as the error message would be drawn over the code line, but part of the code line would peek out from behind it).
2022-05-23 20:27:17 -07:00
b06d38389b DSP: Remove some magic numbers for register IDs 2022-05-23 19:36:47 -07:00
e7f6e19c61 DSPAssembler: Slightly improve readability of AssemblePass
This should result in no behavior differences.
2022-05-23 19:36:47 -07:00
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
febd1c3dba Core: Replace usages of StringFromFormat with fmt where applicable
Migrates usages of StringFromFormat over to using fmt.
2019-11-11 07:32:57 -05:00
a3ed4ceec5 DSP/LabelMap: Use std::optional with GetLabelValue()
Rather than use a bool and out parameter, we can collapse them into one
by using a std::optional.
2019-06-07 17:26:24 -04:00
9c3c92329e DSPAssembler: Remove commented out code
This is just dead line noise sitting around, so we can get rid of it.
2018-06-18 16:24:38 -04:00
af41a8efba DSPAssembler: Make member variable naming consistent
Previously the class was intermixing m_ prefixed variables and
non-prefixed ones, which can be misleading. Instead, we make the
prefixing consistent across the board.
2018-06-18 15:44:13 -04:00
1389bf35bd DSPAssembler: In-class initialize members where applicable
Avoids repeating ourself in the initializer list and makes the class
have a predictable initial state.
2018-06-18 15:35:58 -04:00
40bb9974f2 Reformat all the things! 2018-04-12 21:28:39 +02:00
c82da2b978 Remove dead code
Unused, old code that is intended to be removed should not be left in
comments -- that is what version control is for.
2018-03-31 14:56:27 +02:00
ccfdea696a Merge pull request #6527 from lioncash/typedef
DSPTables: Remove opc_t typedef
2018-03-26 12:39:27 +02:00
e42db3594b DSPAssembler: Make error code enum an enum class
Prevents the error codes from littering the surrounding scope.
2018-03-25 18:19:08 -04:00
8c421ffbb7 DSPTables: Remove opc_t typedef
This was only ever used by the DSP assembler, and even then it was
sparsely used. Get rid of it to be consistent with types in other
sections of the DSP code.
2018-03-25 17:53:23 -04:00
b676edd80c Core: include what you use
Eliminates a swath of indirectly included standard headers
2017-06-07 01:20:48 -04:00
2267ddeb17 DSPAssembler: fix handling of P_REG1C
`P_REG1C` had the same value as `P_ACCL`, so was causing spurious errors
when used with ACCM registers. Gcdsptool (which calls this `P_ACCLM`)
gives it the value `P_REG | 0x1c10` instead, and handles errors in the
same block as other REG## enums.
2017-06-03 15:16:39 -07:00
1683c69fb7 DSPAssembler: add WARNPC directive from xkas (technically, from asar)
This adds the WARNPC directive from xkas/asar to complement the existing ORG
directive. A common useful idiom is "WARNPC 0xXXXX\nORG 0xXXXX," which only
seeks forward and raises an error if you've already written to that part
of the file.
2017-05-19 19:53:38 -07:00
a4cb691058 DSPAssembler: make ORG directive correctly seek forward
The xkas assembler says about org: "You can seek forward and backward
into a file."
2017-05-19 19:53:38 -07:00
f3c8291c26 DSPAssembler: remove temporary file 2017-05-19 19:53:38 -07:00
06728ad687 Merge pull request #4757 from lioncash/dsptables
DSPTables: Hide remaining opcode tables
2017-01-27 18:17:36 +13:00
8f5ce50a25 DSPAssembler: Migrate VerifyParams over to an OpcodeType param instead of bool 2017-01-26 05:17:05 -05:00
6cb6707a4e DSPTables: Hide remaining exposed opcode tables
All opcode tables are now internal.
2017-01-26 05:17:01 -05:00
c2e3bd8d2f DSPAssembler: Amend printf specifiers in ShowError
code_line is a u32.
2017-01-25 17:20:25 -05:00
992b7f7ac0 DSPAssembler: Replace char buffer + sprintf with StringFromFormat 2017-01-25 17:20:21 -05:00
ed627a8cff DSPAssembler: Replace malloced output buffer with std::vector
Same thing, less manual memory management.
2017-01-23 22:03:40 -05:00
d6bdbfe90e DSPAssembler: Use std::string instead of malloced char buffers in AssembleFile 2017-01-22 01:15:36 -05:00
cbe1ec51df DSPAssembler: Make AssembleFile take a std::string
File paths passed to it would have been implicitly converted to std::strings
prior to this function being reached, so it gets rid of some string churn.
It also makes it safer since nullptr can't be passed in.
2017-01-22 01:15:31 -05:00
2b5b21f2a4 DSPAssembler: Rename FindOpcode parameters
Having opcod and opcode as parameter names is kind of silly.
2017-01-19 17:46:01 -05:00
14f0e66809 DSPTables: Use std::array instead of C arrays 2017-01-19 17:07:31 -05:00
3eb25cea6f DSP: Namespace remaining un-namespaced DSP code 2016-12-31 17:20:14 -05:00
a4cd11ec87 DSP: Move interpreter source files to their own directory
Keeps code organized similar to the DSP JIT.
2016-12-22 18:18:48 -05:00
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
6d9986846c Simplify some more license headers 2015-05-25 13:11:41 +02:00
3eab75bc9c Core: Join some variable declarations and assignments 2014-11-15 20:21:35 -05:00
fbc64984ca Include CommonTypes.h instead of Common.h. 2014-09-08 15:39:58 -04:00
eb535be874 Core: Clean up brace placements 2014-08-30 18:06:49 -04:00
0ccee6c87b Fix warnings unearthed by #579 2014-07-13 02:16:51 +02:00
22e1aa5bb4 mark all local functions as static 2014-07-11 16:07:23 +02:00
4cb111e5db Clarify what FindBrackets does in the DSP assembler 2014-05-26 17:04:58 -04:00
a82675b7d5 Kill off some usages of c_str.
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-14 13:51:23 -04:00
31cfc73a09 Fixes spacing for "for", "while", "switch" and "if"
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
d802d39281 clang-modernize -use-nullptr
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
e9d1796c24 Rename assemble.cpp/.h and disassemble.cpp./.h to DSPAssembler.cpp/.h and DSPDisassembler.cpp/.h 2014-03-09 13:25:50 -04:00