Commit Graph

31 Commits

Author SHA1 Message Date
Luminyx c0c00b1dbe Add Wii U platform with ghs 5.3.22 (#1753)
* Add Wii U platform with ghs 5.3.22

* Update m2c_wrapper.py

* Use wine for GHS

* Add GHS inlining modes

* Set GHS temporary directory

* Use local temp file for GHS

* biome + ruff

* Update wiiu.svg
2025-12-07 09:49:51 +00:00
Exant64 7403db74ca New Dreamcast compiler flags (#1756)
* Initial work on adding new compiler flags to SHC

* Dreamcast CC: moved compiler flags to end of cc for "overriding"

* Separated SHC compiler class into "old" category (unsupported flags separated out)

* Renamed dreamcast extra=a flags to extra=asm for clarity

* fixed formatting

* created migration to apply removed dc default flags to existing dc scratches

---------

Co-authored-by: exant <exant@DESKTOP-42QSCT3.localdomain>
2025-12-06 08:58:04 +00:00
Dávid Balatoni e53c99fbb9 Add language flags for ProDG (GCC on GC) (#1696)
* Add some specific ProDG flags

* Revert extra flags and just add language detection
2025-10-21 17:48:59 +01:00
Edu Garcia f525894476 Add more MSVC flags, change calling conventions one into dropdown (#1543) 2025-05-18 02:49:51 +09:00
dbalatoni13 aee0376b35 Add -O0,p and -O0,s flags to MWCC (#1505)
Add -O0,p and -O0s flags to MWCC

Co-authored-by: Dávid Zsolt Balatoni <s1250507@stud.uni-frankfurt.de>
2025-03-25 07:54:36 +09:00
Gilles Siberlin 7fc66435bb [WIP] Add Borland 3.1 compiler to MS-DOS platform (#1419)
* Add Borland 3.1 compiler to MS-DOS platform

* Fix formatting

* Remove useless "rm"

* Update asm-differ
2025-01-28 21:00:44 +00:00
widberg c3a4578ebd Add floating point flags to msvc (#1321) 2024-08-13 21:13:15 +01:00
widberg f79419ece4 Add /GS- checkbox for MSVC (#1315) 2024-08-05 19:06:29 +09:00
Exant64 bd7dac639b SHC/Dreamcast support (#1276)
* SHC support

* fixed platform icon order

* remove unnecessary ARG in dockerfile

* tidied up dreamcast CC, moved some flags to settings

* enable dreamcast support in CI

* fixed formatting

* cleaned up cc even more as per mkst's advice
2024-06-10 12:38:13 +01:00
Gilles Siberlin 4b72ac03b2 Move Include function labels in diff option to common options (#1191)
* Move Include function labels in diff option to common options

* Bump asm-differ

Include the first function's label in the diff

---------

Co-authored-by: 1superchip <1superchip@gmail.com>
2024-04-03 08:34:52 +09:00
Gilles Siberlin 17de7737d6 Add Show function symbols in diff option (#1182)
* Add Show function symbols in diff option

* Update asm-differ

* Rename frontend option

---------

Co-authored-by: 1superchip <1superchip@gmail.com>
2024-04-03 02:17:10 +09:00
Anghelo Carvajal 5220a12074 Change mwcc_enum_int checkbox to a FlagSet (#1165)
* Change `mwcc_enum_int` checkbox to a `FlagSet`

* rename

* newlines
2024-03-26 21:32:03 +09:00
Anghelo Carvajal ff3f172919 More ABI register name options for MIPS (#1167)
* Dropdown for ABI register names

* UPPERCASE

* black

* keep newlines
2024-03-26 21:31:10 +09:00
Ethan Roseman 7c616c51cc Add ps2 language flag (#1155) 2024-03-22 16:23:28 +09:00
Mark Street aec3001b8d Fix mwcc_language translation bug (#1141) 2024-03-16 20:33:46 +00:00
Mark Street d4ebb1773c Make MWCCCompiler more granular for each platform (#1106)
* Make MWCCCompiler more granular for each platform

* remove debug print() statement
2024-02-28 05:23:42 +09:00
OmniBlade 7c2f37512c Implement Win 9x platform and msvc compilers. (#802)
* Implement Win 9x platform and msvc compilers.

* Add credit info for Windows icon.

* Solve issue with read only temp dir for MSVC.

* Update armcc.zip link

* Add new dep to backend ci

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-09-04 07:12:07 +09:00
OmniBlade fb34dbf4cb Add MS-DOS platform and Watcom compilers. (#794)
* Add MS-DOS platform and Watcom compilers.

* Remove --reloc from i686 disasm

The --reloc option seems to generate a lot of noise for the i686
objdump.

* Add credit for MS-DOS icon.

* Fixes more black formatting issues.

* Fix black & string appendage issue

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-07-03 19:06:14 +09:00
ConorB 3b39a6d3af Add clangd language server support (#739)
* Initial clangd support
Tidy up languageserver.ts
Add CompilerCommand option

* Codemirror tooltip newline handling

* Force github login through redirects instead of popup window

* Gracefully exit LS when scratch unloads

* Break scratch language out to api, move language server integration to new hook

* Fix broken import

* Fix languageServer.ts import warnings
(and rename languageserver.ts to languageServer.ts)

* Format on Alt-Shift-F

* Add default, site-wide .clang-format

* Allow source to reference context definitions

* Remove overzealous IIFEs

* Clean up yaml imports, useLanguageServer state

* Remove webpack yaml-specific config

* Fix default-clang-format.yaml loading

* Add editor option to enable / disable language server

* Change language server setting text

* Add ability to select small language server, version bump

* EditorSettings clean

* EditorSettings 2: Electric Boogaloo (sponsored by tailwind)

* Fix tooltip appearance

* Remove alignment settings from default-clang-format.yaml

* Remove references to preferSmallLanguageServer

---------

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
Co-authored-by: Mark Street <streetster@gmail.com>
2023-06-04 14:15:27 +09:00
sozud d61a6ea952 Initial Saturn support (#728)
* Saturn support

* linter issues

* Fix black formatting issues

* Try fixing ci

* Try 3.10.0

* Try 3.9

* Update asm-differ hash

---------

Co-authored-by: sozud <sozud@users.noreply.github.com>
2023-04-09 13:27:01 +09:00
LLONSIT b0e2604e4b Adding QEMU_IRIX with IDO6.0 (sample) (#693)
* Adding a Wave Race 64 Preset

* Update compilers.py

Adding an AeroGauge JP Kiosk Demo preset

* Update compilers.py

* Adding ido6.0

* irix binfmt

* adding qemu-irix

* updating url

* Update ci.yml

* Update ci.yml

ah

* Update ci.yml

* Update ci.yml

* updating

* Update ci.yml

* Testing binfmt (again)

* Binfmt test

* Update ci.yml

* Update ci.yml

* ido6.0 package

* Update download.py

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Update ci.yml

* again

* Update compilers.py

* commit

* Update compilers.py

* a

* docker

* fix

* other commit

* aaa

* update

* commit

* oops

* systemd

* systemd commit

* a

* ff

* other commit

* Update download.py

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Update ci.yml

* Update compiler_wrapper.py

* Update Dockerfile

* Update ci.yml

* updating

* update

* binfmt

* finishing

* oops

* ah

* finishing

* Another test (final maybe?)

* final commit 100% real no fake

* another commit

* ?

* a

* is this the final commit?

* more tests

* Update compilers.py

* checking if ido_root exists

* updating QEMU_IRIX env

* Update ci.yml

* Update compiler_wrapper.py

* Update Dockerfile

* Update ci.yml

* Update ci.yml

* Update Dockerfile

* Update Dockerfile

* Update Dockerfile

* Update ci.yml

* test

* testing

* test

* final test

* black?

* update

* closing

* impl

* oops

* black

* update

* update

* fix black problem

* oops

* ooops

* Making more simple

* cleaning

* Update compilers.py

* Update ci.yml

* Update Dockerfile

* flag

* Remove QEMU_IRIX var

* delete qemu-user line
2023-03-11 21:20:01 +09:00
Anghelo Carvajal 8c9ccc8483 Checkbox for disabling pseudo instructions for MIPS (#635)
Adds a new checkbox for disabling pseudo instructions on MIPS scratches
by passing the `-Mno-aliases` flag to `objdump`. This is disabled by
default.

![image](https://user-images.githubusercontent.com/7416381/209376892-47209728-6791-49ad-89c8-19abe7903ecf.png)

### Why is this useful?

Because GAS likes using the same pseudo instruction for multiple
instructions, which sometimes leads to confusion of "why this doesn't
match if it is the same instruction". Complains about this usually
happen with the `li` pseudo instruction.

Example ("both are `li`s, why it doesn't match?!?!?"):

![image](https://user-images.githubusercontent.com/7416381/209378149-b89c339b-2d29-4fb4-a0ff-0f17a2957ff2.png)
Disabling pseudos ("oh, they actually are different instructions"):

![image](https://user-images.githubusercontent.com/7416381/209378326-2bdb6544-a78c-418e-b69d-e7c727ca0b1f.png)

### Disadvantages

Some pseudos are clearer as pseudos than their actual raw instruction;
like for example the `nop`, which gets disassembled as `sll, zero, zero,
0x0`. `move` is also an example of this (even if the underlying
instruction changes depending on the assembler).
There doesn't seem to be any option in `objdump` to only allow some
pseudos.

`asm-differ` seems to have custom logic for handling `nop`s which gets
lost when disabling them, this can be seen in this screenshot:

![image](https://user-images.githubusercontent.com/7416381/209380469-cd14e671-4fd6-4a2b-aefe-a2dbd21646c6.png)
A workaround for this could be made in the `asm-differ` repo.


### Other

I also allowed passing the other objdump flags to PS1 and PS2.
2022-12-25 14:02:43 +09:00
Elliptic Ellipsis 8d26e38808 Move diff_flags to its own functions, add algorithm 2022-11-15 00:21:38 +00:00
Elliptic Ellipsis 43f9806ed8 Add checkbox for accessing show_rodata_refs 2022-11-14 03:33:08 +00:00
EllipticEllipsis c58ff1c2cb Add custom-built cc1 for SN64 (#569)
* Add custom-built cc1 for SN64

* Update flags

* Fix to use old cpp

Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>

Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
2022-10-25 11:03:23 +09:00