Commit Graph

376 Commits

Author SHA1 Message Date
EllipticEllipsis
05ae62073f Remove $s (allow comments after function labels) (#736) 2023-04-18 11:59:22 +01:00
LLONSIT
c2dc1def14 Add IDO 5.3 Assembler (#733)
* Add MIPS Pro 7.4.4

* update

* Add ido5.3 assembler

* Add an assembly test
2023-04-13 03:33:19 +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
Ethan Roseman
635b77b1f8 Hide projects feature (#730) 2023-04-08 20:05:29 +09:00
LLONSIT
d751b6b1d3 MIPS Pro 7.4.4 (#723)
* Add MIPS Pro 7.4.4

* update
2023-04-04 20:08:04 +09:00
devwizard
9ea0a51368 Add GCC 4.4.0 (#725) 2023-04-04 20:07:49 +09:00
Alex Bates
24eb9e04eb fix #711 (#714)
* fix #711

I hate this

* remove unneeded useRouter import
2023-03-28 13:27:10 +09:00
ConorB
4003446137 Switch from @shopify/web-worker to postMessage for useCompareExtension (#717)
* Switch from @shopify/web-worker to postMessage for useCompareExtension

* Type safety

* make formatting consistent

---------

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-03-27 10:07:15 +09:00
LLONSIT
538d7117f9 5.3 C++ (#706)
* 5.3 c++

* black

* tmp

* Update sandbox.py

* mount /tmp as bindmout

* Update sandbox.py
2023-03-22 11:08:55 +09:00
Alex Bates
d81d131a43 Update dependencies (#705)
* misc changes

* remove yarn.lock

* update poetry lockfile

* fix env variables in browser

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-03-20 00:33:01 +09:00
Fruityloops
f13990daf2 Add clang 8.0.0 and Super Mario 3D World + Bowser's Fury preset (#704) 2023-03-18 23:40:31 +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
Mc-muffin
382daa3567 Add new PS2 compilers (#698)
* Set correct architecture for PS2 assembler

* Add PS2's EE architecture to diff.py

* Add more PS2 compilers
2023-03-11 21:18:24 +09:00
Luciano Ciccariello
8a5de1d2f0 Add PSY-Q 3.5 and PSY-Q 3.6 compilers for PlayStation 1 (#651)
* Download PSY-Q 3.x compilers

* Add PSY-Q 3.3 and PSY-Q 3.6 PlayStation 1 compilers

* Remove gcc2.6.3-mipsel for good

* Actually install compilers

* Clean-up psyq-msdos folder after downloading it

* Map /proc to allow dosemu2 to run

* Allow to compile with PSY-Q 3.6

* Remove debugging stuff

* Add PSY-Q 3.5 and remove 3.3

* Let ASPSX to be quiet

* Completely replace PSY-Q 3.3 with 3.5

* Modify Castlevania preset

* Add migration from gcc2.6.3-mipsel to psyq3.6

* clean-up

* Typo

* Install DOSEMU in the CI

* Group ENABLE_PS1_SUPPORT set-up

* fix migration script

* Unset the HOME directory globally

* New line

* undo more auto-formatting

* Remove unnecessary comment

* fix

* More autoformatting shenanigans

* Try to fix CI pipeline

* Fix download script

* lint

* lint

* Fix dosemu setup

* Speed-up PSYQ MSDOS compiler

* debugging stuff for the tests

this commit will be reverted

* testing sandbox thingie

* Revert "debugging stuff for the tests"

This reverts commit 6d026b9214.

* Trimming down what Sandbox mounts

* Mount all /dev but read only
2023-02-24 21:40:31 +09:00
Alex Bates
e03b357405 dynamically render scratch pages (#688) 2023-02-23 09:36:14 +09:00
Ethan Roseman
d02588f54a Dep updates (#682)
* Dep updates

* trying to fix issue
2023-02-16 23:10:42 +09:00
Alex Bates
e275eabb11 fix problems panel not scrolling far enough (#676) 2023-02-10 14:37:42 +09:00
Alex Bates
8d3131795b remove api.getCached (#677) 2023-02-10 14:36:15 +09:00
Eidan Garcia
319d435154 Added Margin top to 'Create Scratch' button (#675)
Slapped a `className="mt-2"` to the "Create scratch" AsyncButton.
2023-02-07 13:03:54 +09:00
triph
5ec67ba5dc Add PS2 EE GCC 2.9 and 3.2 compilers (#661)
* Add PS2 EE GCC 2.9-990721 and 3.2-001003-1 compilers

* Add PS2 compilers to download script

* Hash download script for CI compiler cache
2023-01-26 13:20:49 +09:00
Anghelo Carvajal
37ea60b962 Add EGCS 1.1.2-4 compiler (#658)
* Add EGCS1124 to compilers.py

* add to allcompilers

* add download link

* 4
2023-01-17 12:03:17 +09:00
LLONSIT
114d4325d2 Add IDO5.3 Pascal (#657)
* adding and AeroGauge preset

* Update backend/coreapp/compilers.py

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>

* Update compilers.py

* IDO5.3 pascal

* Version bump

* Changing str order

* updating

* Another version bump

* cache

* Updating

* update download.py

Co-authored-by: LLONSIT <LLONSIT@gmail.com>
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-01-14 13:35:03 +09:00
Ethan Roseman
6d4b9b1b0a A few things (#656)
* A few things:
Make logs more brief by hiding the PATH from compile commands
Hopefully prevent the frontend server from making tons of anonymous profiles
Add a scroll bar to the problems window
Restore the old look of ScoreBadge

* black
2023-01-10 22:04:57 +09:00
Alex Bates
c501603582 Add family page back in tab form (#649)
* GhostButton: don't use <button> if not clickable

* change matched score text to "MATCH"

* add family tab to scratch editor

* use '?' for null userlinks

* fix issue where matched functions are sorted to the bottom of the list instead of the top

* fix loading spinner size

* grey out scratches worse than current

* show raw score value on hover only
2023-01-07 22:14:32 +09:00
Alex Bates
31fc40c12c disable compilation problem wrapping
Fixes a bug reported by @DavidSM54 where IDO's problem `---^` arrows wrapped onto the next line, if it was too long, and was therefore not useful.

Link to report on Discord: https://discord.com/channels/897066363951128586/1060319113781719184/1060319116730318938
2023-01-05 00:10:57 +00:00
Alex Bates
ceac0a0b20 fix scratch page render failure when parent scratch is unclaimed 2023-01-04 16:19:13 +00:00
Alex Bates
ac3b0ad163 disable dark reader for app directory
See #557 for more information
2023-01-04 12:27:59 +00:00
Alex Bates
c33a3af4f5 fix new scratch form aborting submit by reloading
The default behavior of <form> when there is a <button> inside (through AsyncButon) is for the form to be submitted, and as we provided no override it effectively just refreshed the page. This aborts the actual new scratch creation request!
2023-01-04 12:21:20 +00:00
Alex Bates
4cf3e416e5 Use Next.js 13 app directory & Tailwind CSS (#626)
- Use Next.js 13 app directory for all routes except projects
- Add Tailwind (resolves #619) and use it for most components
- New footer
- Adjust navbar (logotype, buttons moved to right)
- Improve the styling of the search box
- New /settings/account page
- /credits grabs contributors list for this repo from GitHub's API
- Resolve #634
- New welcome page header with scrolling platform icons
2023-01-03 12:41:05 +00:00
Alex Bates
5459c556ca Add xmas hat to frog.svg (#637) 2022-12-25 12:10:42 +00: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
Alex Bates
04a5a32c07 Upgrade to Next.js 13 (#618)
Resolves #610.
2022-12-19 23:11:57 +09:00
ConorB
44c0ecd6cc Move logic of useCompareExtension to a Web Worker (#605)
Closes #545.
2022-12-17 17:08:56 +00:00
Ethan Roseman
9651b7dcf2 A few issues (#603)
Fixes #312 - removes login event from plausible
Fixes #249 - adds the course db models
Fixes #583 - allow viewing target asm even when the scratch doesn't
initially compile

Update frontend & backend deps
2022-12-14 23:40:41 +09:00
Alex Bates
290c3217f7 disable next-pwa in .env (#604) 2022-12-14 23:04:23 +09:00
Ethan Roseman
acf47167b3 update everything (#599) 2022-12-08 22:48:08 +09:00
Alex Bates
49f3f7ae80 Unregister all service workers (#598)
- use stretch instead of old-spec fill-available
- unregister service workers on load
2022-12-08 22:00:00 +09:00
EllipticEllipsis
453f55ed9c Add IRIX as a platform (#594)
Also cleaned up the flags a bit. Possibly the Pascal one should be
renamed to match, but I didn't want to fiddle with all the names again.

Going to try to stop agonising over the logo now!

Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
2022-12-07 15:47:55 +09:00
Elliptic Ellipsis
dedd7077f6 Remove flag names in diff checkboxes 2022-11-15 13:24:09 +00: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
f7754296da Round percentages between 99.99 and 100 down (#584)
Addresses #582
2022-11-08 00:47:03 +09:00
Mark Street
cb09d59d20 Add PSYQ4.5 compiler (gcc 2.91.66) (#581)
also throwing in the Space Station Silicon Valley preset :)
2022-11-05 20:14:59 +09:00
Fruityloops
21770ad384 Add ARMCC 4.1 Build 894, and a Super Mario 3D Land Preset (#577) 2022-10-30 23:15:51 +09:00
EllipticEllipsis
9a402d70c5 Pascal language support (ido7.1Pascal compiler) (#570)
* Add 4 minimal IDOs and a "language" compiler flag

* Update recomp version

* Add compilers to list and json

* Add presets and remove alphabetical sorting

* Remove extra C IDOs

* Convert language to an enum

* get_file_extension function

* Review

* Proper Pascal test

* Auto-imports grr...
2022-10-27 11:47:45 +09: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
EllipticEllipsis
80f74bbe72 New SN64 compiler (#566)
* Add compiler with Wiseguy's new preassembler

* Change some presets

* Release link and fix path

* Add to _all_compilers

* Work around lack of executableness

* 3

* Try with as

* O
2022-10-22 08:36:20 +09:00
Ethan Roseman
4eb5d2ed48 Add -gdwarf-2 flag to PM 2022-10-17 19:27:39 +09:00
Alex Bates
2e96373ac7 Projects list, creation, settings pages (#542)
* add projects list

* new project page

* mypy

* allow '.' in github identifiers

* implement project create

* project settings

* disallow anons from being project members

* uploadable project icon

* docker attempt

* fix tests

* add tests

* add description form

* refactor to add useEntity and FieldSet

* move FieldSet out of subdirectory

* use same page for project tabs

* scroll up to UnderlineNav when tab changes

* stylelint

* configure vscode mypy extension

* mypy

* fix mypy and dmypy

dmypy does not support follow_imports=silent. Instead we explicitly
disable most checks for asm_differ and m2c, which
has the same effect

* remove redundant mypy flags

* FieldSet style tweaks

* give UnderlineNav horiz padding

* fix swr mutate of project header

* few tweaks to help docker (#550)

* eth changes

* use POST/DELETE rather than PUT for project members

* add migration

* fix pr creation

* simplify project platform derivation

Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2022-10-07 20:12:18 +09:00
Alex Bates
2ed8c4d599 disable dark reader browser extension (#557) 2022-10-04 20:49:39 +09:00