mirror of
https://github.com/Decompollaborate/rabbitizer.git
synced 2025-01-13 09:38:55 +00:00
Fix linting on changelog.md
This commit is contained in:
parent
11b079b601
commit
b2da8e3ed5
14
.markdownlint.jsonc
Normal file
14
.markdownlint.jsonc
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
// https://github.com/DavidAnson/markdownlint/blob/main/doc/md024.md
|
||||
// MD024 - Multiple headings with the same content
|
||||
"MD024": {
|
||||
"siblings_only": true
|
||||
},
|
||||
|
||||
// https://github.com/DavidAnson/markdownlint/blob/main/doc/md013.md
|
||||
// MD013 - Line length
|
||||
"MD013": {
|
||||
"code_block_line_length": 120,
|
||||
"headings": false
|
||||
}
|
||||
}
|
108
CHANGELOG.md
108
CHANGELOG.md
@ -1,3 +1,10 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.7.9] - 2023-09-18
|
||||
@ -5,17 +12,18 @@
|
||||
### Uncategorized
|
||||
|
||||
- Don't attempt disassembling R5900's `vclipw` / `vsqrt` in gnu mode (#44)
|
||||
- Thanks @ethteck
|
||||
- Thanks @ethteck
|
||||
|
||||
## [1.7.8] - 2023-09-13
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- Consider `syscall` as an instruction that isn't emitted by compilers
|
||||
- Fix size calculation required for the buffer of the disassembled instruction for a few edge cases
|
||||
- Fix size calculation required for the buffer of the disassembled instruction
|
||||
for a few edge cases
|
||||
- Properly implement r5900's `vcallms` operands
|
||||
- Add `$` to special PS2 regs (#41)
|
||||
- Thanks @ethteck
|
||||
- Thanks @ethteck
|
||||
- The `treatJAsUnconditionalBranch` option is no longer deprecated
|
||||
|
||||
## [1.7.7] - 2023-08-27
|
||||
@ -35,8 +43,11 @@
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- Fix bug where the buffer size for a decoded instruction would be computed wrongly if the passed `extraLJust` parameter plus the global `opcodeLJust` option resulted in a negative value.
|
||||
- Catch more errors and raise Python exceptions on them in the instruction disassembly binding
|
||||
- Fix bug where the buffer size for a decoded instruction would be computed
|
||||
wrongly if the passed `extraLJust` parameter plus the global `opcodeLJust`
|
||||
option resulted in a negative value.
|
||||
- Catch more errors and raise Python exceptions on them in the instruction
|
||||
disassembly binding
|
||||
|
||||
## [1.7.4] - 2023-06-13
|
||||
|
||||
@ -45,7 +56,9 @@
|
||||
- Fix R5900 vf registers not using the `$vf` prefix in numeric register mode.
|
||||
|
||||
Misc:
|
||||
- Provide macros to allow using gte instructions in both assembly and C. Those are provided under the `docs` folder of the repository
|
||||
|
||||
- Provide macros to allow using gte instructions in both assembly and C. Those
|
||||
are provided under the `docs` folder of the repository
|
||||
|
||||
## [1.7.3] - 2023-06-10
|
||||
|
||||
@ -74,9 +87,10 @@ General cleanups in the codebase. Not actual features or fixes were made
|
||||
### Uncategorized
|
||||
|
||||
- Support for R3000 GTE instructions (a.k.a. the PS1 specific instructions)
|
||||
- PR #31
|
||||
- PR #31
|
||||
|
||||
Meta:
|
||||
|
||||
- Add CI for checking the repo is always formatted
|
||||
- Add CI for checking the tables have been regenerated
|
||||
- Only run the CI that builds the python bindings for every machine on new releases.
|
||||
@ -87,30 +101,37 @@ Meta:
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- Fix `getInstrIndexAsVram` taking the upper 8 bits instead of 4 bits for the vram calculation
|
||||
- Fix `getInstrIndexAsVram` taking the upper 8 bits instead of 4 bits for the
|
||||
vram calculation
|
||||
|
||||
## [1.6.1] - 2023-04-18
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- Fix `Instruction`'s `vram` parameter not initialized if it was not passed to the constructor on the Python binding.
|
||||
- Fix `Instruction`'s `vram` parameter not initialized if it was not passed to
|
||||
the constructor on the Python binding.
|
||||
- Expose `fs`, `ft` and `fd` registers to Python bindings.
|
||||
- Add enums for `RegCop1O32`, `RegCop1N32` and `RegCop1N64` registers for Python bindings
|
||||
- Add enums for `RegCop1O32`, `RegCop1N32` and `RegCop1N64` registers for
|
||||
Python bindings
|
||||
|
||||
## [1.6.0] - 2023-04-17
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- Adds `gnuMode` to the configuration.
|
||||
- Toggles various tweaks to allow building and matching with GNU `as`, which original compiler will not like.
|
||||
- Toggles various tweaks to allow building and matching with GNU `as`, which
|
||||
original compiler will not like.
|
||||
- Enabled by default.
|
||||
- Turning this mode off makes the `div $0, ` pseudo instruction to not be used
|
||||
- Removed special treatment for R5900's `trunc.w.s`.
|
||||
- Turning this mode off makes the `div $0,` pseudo instruction to not be used
|
||||
- Removed special treatment for R5900's `trunc.w.s`.
|
||||
- `cvt.w.s` and `trunc.w.s` will be decoded as-is when `gnuMode` is turned off.
|
||||
- If `gnuMode` is turned on this instruction those two instructions are decoded as `.word`s
|
||||
- R5900's special operands `I`, `Q`, `R` and `ACC` will not longer be decoded with a `$` prefix
|
||||
- If `gnuMode` is turned on this instruction those two instructions are
|
||||
decoded as `.word`s
|
||||
- R5900's special operands `I`, `Q`, `R` and `ACC` will not longer be decoded
|
||||
with a `$` prefix
|
||||
|
||||
Repo-meta changes
|
||||
|
||||
- All autogenerated files are added the `linguist-generated` attribute.
|
||||
|
||||
## [1.5.11] - 2023-04-02
|
||||
@ -143,7 +164,6 @@ Repo-meta changes
|
||||
- New `modifiesF*` and `readsF*`properties in the InstructionDescriptor
|
||||
- Column limit for C files has been changed to 120
|
||||
|
||||
|
||||
## [1.5.7] - 2022-12-20
|
||||
|
||||
### Uncategorized
|
||||
@ -156,7 +176,8 @@ Repo-meta changes
|
||||
|
||||
- Introduce `RegisterDescriptor`
|
||||
- Fix some typos in Rust bindings
|
||||
- `jalr_rd` has been removed. Its old conditional behavior is now handled with the new `cpu_maybe_rd_rs` operand
|
||||
- `jalr_rd` has been removed. Its old conditional behavior is now handled with
|
||||
the new `cpu_maybe_rd_rs` operand
|
||||
- `outputsToGprZero` method
|
||||
|
||||
## [1.5.5] - 2022-12-19
|
||||
@ -198,19 +219,24 @@ Attempt to fix Rust crate publishing
|
||||
### Uncategorized
|
||||
|
||||
- Adds Rust bindings
|
||||
- The table-macro-hell has been changed a little to include pre-processed versions of all the tables in the repository. This change should be more friendly to IDEs
|
||||
- The table-macro-hell has been changed a little to include pre-processed
|
||||
versions of all the tables in the repository. This change should be more
|
||||
friendly to IDEs
|
||||
|
||||
## [1.4.0] - 2022-12-16
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- 3 non-existent RSP instructions where removed (`rsp_cache`, `rsp_lwc1` and `rsp_swc1`)
|
||||
- New methods to know if an instruction reads the value of a GPR: `.readsRs`, `.readsRd` and `.readsRt`
|
||||
- 3 non-existent RSP instructions where removed (`rsp_cache`, `rsp_lwc1` and
|
||||
`rsp_swc1`)
|
||||
- New methods to know if an instruction reads the value of a GPR: `.readsRs`,
|
||||
`.readsRd` and `.readsRt`
|
||||
- Many descriptor information where corrected
|
||||
- Deprecate `isJrRa()`, prefer new `isReturn()` method
|
||||
- Deprecate `isJrNotRa()`, prefer new `isJumptableJump()` method
|
||||
|
||||
Meta:
|
||||
|
||||
- Remove `setup.cfg` and move all the info to `pyproject.toml`
|
||||
- Descriptor logic errors are now checked in CI
|
||||
|
||||
@ -225,7 +251,7 @@ Meta:
|
||||
|
||||
### Uncategorized
|
||||
|
||||
- Fixed RSP using CPU cop0 .inc file instead of RSP cop0 and cop2 files #13
|
||||
- Fixed RSP using CPU cop0 .inc file instead of RSP cop0 and cop2 files #13
|
||||
- Thanks to @Mr-Wiseguy
|
||||
- Check for `_INVALID` unique ids in `isValid`
|
||||
|
||||
@ -244,15 +270,19 @@ Removes signedness from `AccessType`
|
||||
- Fix buffer size calculation for disassembly
|
||||
- Deprecated functions/methods:
|
||||
- `Instruction#getImmediate()`: Use `Instruction#getProcessedImmediate()` instead
|
||||
- `Instruction#getGenericBranchOffset()`: Use `Instruction#getBranchOffsetGeneric()` instead
|
||||
- `Instruction#getGenericBranchOffset()`: Use
|
||||
`Instruction#getBranchOffsetGeneric()` instead
|
||||
- `Instruction#mapInstrToType()`: Use `Instruction#getAccessType()` instead
|
||||
- `Instruction#isUnknownType()`
|
||||
- `Instruction#isJType()`: Use `Instruction#isJumpWithAddress()` instead
|
||||
- `Instruction#isIType()`: Use `Instruction#hasOperandAlias(OperandType.cpu_immediate)` instead
|
||||
- `Instruction#isIType()`: Use
|
||||
`Instruction#hasOperandAlias(OperandType.cpu_immediate)` instead
|
||||
- `Instruction#isRType()`
|
||||
- `Instruction#isRegimmType()`
|
||||
- New functions/methods:
|
||||
- `Instruction#getBranchOffsetGeneric()`: Like `Instruction#getGenericBranchOffset()`, but does not require the `currentVram` parameter
|
||||
- `Instruction#getBranchOffsetGeneric()`: Like
|
||||
`Instruction#getGenericBranchOffset()`, but does not require the
|
||||
`currentVram` parameter
|
||||
- `Instruction#getBranchVramGeneric()`
|
||||
- `Instruction#getDestinationGpr()`
|
||||
- `Instruction#hasOperandAlias()`
|
||||
@ -264,7 +294,7 @@ Removes signedness from `AccessType`
|
||||
- `Instruction#getAccessType()`
|
||||
- `InstrCategory#fromStr()`
|
||||
- New enums:
|
||||
- `OperandType`
|
||||
- `OperandType`
|
||||
- `AccessType`
|
||||
|
||||
## [1.2.2] - 2022-10-09
|
||||
@ -274,7 +304,8 @@ Removes signedness from `AccessType`
|
||||
### Uncategorized
|
||||
|
||||
- Add `bal` support
|
||||
- Use special notation for branches which should produce matching instructions even when no `immOverride` was passed
|
||||
- Use special notation for branches which should produce matching instructions
|
||||
even when no `immOverride` was passed
|
||||
- Escape `\` -> `\\`
|
||||
- Add `extern "C"` in every header
|
||||
|
||||
@ -296,9 +327,10 @@ Removes signedness from `AccessType`
|
||||
### Uncategorized
|
||||
|
||||
- New methods in `RegistersTracker` to support tracking `%got` accesses
|
||||
- `processGpLoad`, which works similar to `processLui`
|
||||
- `processGpLoad`, which works similar to `processLui`
|
||||
- `preprocessLoAndGetInfo`, which replaces the now deprecated `getLuiOffsetForLo`
|
||||
- Move operand types to the table format. Operands were also renamed to a more concise name.
|
||||
- Move operand types to the table format. Operands were also renamed to a more
|
||||
concise name.
|
||||
- Fix the wrong returned value on `Utils.From2Complement` when `bits` equals 32.
|
||||
|
||||
## [1.1.0] - 2022-08-27
|
||||
@ -324,18 +356,24 @@ Removes signedness from `AccessType`
|
||||
### Uncategorized
|
||||
|
||||
- New classes:
|
||||
- `RegistersTracker`: Intended to facilitate tracking the state of the general purpose registers.
|
||||
- `RegistersTracker`: Intended to facilitate tracking the state of the general
|
||||
purpose registers.
|
||||
- New enums:
|
||||
- `RegGprO32` and ``RegGprN32``
|
||||
- `RegGprO32` and `RegGprN32`
|
||||
- New configurations:
|
||||
- `misc_omit0XOnSmallImm`: If `True` then the leading `0x` of immediates in the [-9, 9] range is omitted. Defaults to `False`.
|
||||
- `misc_upperCaseImm`: If `True` then immediates are outputted in uppercase. Defaults to `True`.
|
||||
- `misc_omit0XOnSmallImm`: If `True` then the leading `0x` of immediates in
|
||||
the [-9, 9] range is omitted. Defaults to `False`.
|
||||
- `misc_upperCaseImm`: If `True` then immediates are outputted in uppercase.
|
||||
Defaults to `True`.
|
||||
- `Instruction` changes:
|
||||
- Constructor can accept `vram` and `category` parameters.
|
||||
- `isHiPair` renamed to `canBeHi`.
|
||||
- `isLoPair` renamed to `canBeLo`.
|
||||
- Added `doesLoad`, `doesStore`, `maybeIsMove`, `isPseudo` and `architectureVersion` to `InstrDescriptor`.
|
||||
- Python API: `Instruction#rs`, `Instruction#rt` and ``Instruction#rd` now return an enum gpr type and will raise an exception if the instruction does not reference the corresponding register.
|
||||
- Added `doesLoad`, `doesStore`, `maybeIsMove`, `isPseudo` and
|
||||
`architectureVersion` to `InstrDescriptor`.
|
||||
- Python API: `Instruction#rs`, `Instruction#rt` and ``Instruction#rd` now
|
||||
return an enum gpr type and will raise an exception if the instruction does
|
||||
not reference the corresponding register.
|
||||
- New methods: `getOpcodeName`, `getProcessedImmediate`, `hasDelaySlot` and `isValid`.
|
||||
- Added `__reduce__` method to allow pickling the object.
|
||||
- Many code cleanups
|
||||
@ -344,8 +382,6 @@ Removes signedness from `AccessType`
|
||||
|
||||
### Uncategorized
|
||||
|
||||
|
||||
|
||||
[unreleased]: https://github.com/Decompollaborate/rabbitizer/compare/master...develop
|
||||
[1.7.9]: https://github.com/Decompollaborate/rabbitizer/compare/1.7.8...1.7.9
|
||||
[1.7.8]: https://github.com/Decompollaborate/rabbitizer/compare/1.7.7...1.7.8
|
||||
|
Loading…
Reference in New Issue
Block a user