Commit graph

318 commits

Author SHA1 Message Date
Tyler Wilding 097a9157f5 Copy over LISP code 2020-10-08 00:05:01 -04:00
doctashay 9bbb47006c Small fixes
Logging names are now less ambiguous. We can adopt one of two styling conventions: create a logger object for each component of the project, and log every output into a large jak.log file; or we can have separate text files for the compiler log, runtime log, etc. I think the former will be the most efficient but may also make filtering harder.

Also replaced more old prints with spdlog equivalents
2020-10-06 16:18:59 -06:00
water111 a64dd6c90b
Add CFG to IR decompiler pass (#60)
* add some more cfg ir stuff

* add cond with else

* add type of recognition

* add cond to compare conversion

* finally all conds are passing

* started sc recognize, but ash min and max should be recognized first

* fix ash showing up as sc

* add abs

* fix merge issues

* try building goos with optimizations on

* sc mostly working, still need to fix right aligned nesting

* ands and ors are converting correctly now

* clean up
2020-10-06 18:14:27 -04:00
doctashay 953e7c1ad5 Temp fix for spdlog + initial log to file implementation
Reduces verbose output by logging additional information to logs/game.log.
2020-10-06 16:03:33 -06:00
Shay c5681a6cc7 Auto stash before merge of "logging" and "upstream/w/cfg_2_ir" 2020-10-06 15:35:57 -06:00
Shay 4f091fd62a Merge remote-tracking branch 'upstream/w/cfg_2_ir' into logging 2020-10-06 15:31:16 -06:00
water 387cce962d sc mostly working, still need to fix right aligned nesting 2020-10-05 21:38:45 -04:00
Shay 2d9f8c01fe Merge remote-tracking branch 'upstream/w/cfg_2_ir' into logging 2020-10-04 20:29:39 -06:00
water 6277bc86cf try building goos with optimizations on 2020-10-04 17:28:45 -04:00
water 5e2b9ddf6e fix merge issues 2020-10-04 17:23:30 -04:00
water d464ad549b Merge branch 'master' of https://github.com/water111/jak-project into w/cfg_2_ir 2020-10-04 17:23:07 -04:00
water111 b102d22dd9
Replace Form with goos::Object (#64)
* add pretty printing to goos form

* temp

* fix format

* fix format

* fix windows build

* again

* windows

* Revert "windows"

This reverts commit b7d448e733.

* windows again

* give up and just add a getter function
2020-10-04 17:08:10 -04:00
water f70ae6dad3 add abs 2020-10-04 11:37:47 -04:00
water 4b90634e93 fix ash showing up as sc 2020-10-04 10:44:28 -04:00
water e195e2b299 started sc recognize, but ash min and max should be recognized first 2020-10-03 21:30:58 -04:00
water 5bcd10b5b0 finally all conds are passing 2020-10-03 20:36:21 -04:00
water 0fbffcd409 add cond to compare conversion 2020-10-03 18:36:02 -04:00
Tyler Wilding 663453769c Final polish on the integer tests, time to start converting the rest 2020-10-03 18:32:01 -04:00
water b7cee7b666 add type of recognition 2020-10-03 15:27:17 -04:00
water 649a8879e5 Merge branch 'master' of https://github.com/water111/jak-project into w/cfg_2_ir 2020-10-03 10:42:52 -04:00
water111 d03080c463
Build spdlog as a shared library (#59)
* change build settings for spdlog

* fix typo

* trying with j4 now

* try as a shared library

* add shadow warning back
2020-10-03 10:33:20 -04:00
doctashay c2cb053a5d
spdlog implementation (#58)
* Commit new spdlog implementation 

Hopefully resolves Linux build dependency errors

* clang formatting

* Fix Linux-only definition

Found the culprit!

* More Linux fixes

Linus Torvalds have mercy on my soul

* Replace printf logging with spdlog equivalent

Preserve previous printfs in comments for now. Spdlog needs to be configured to be thread-safe. Few additional printfs to convert later. No changes have been made to GOAL's internal printing system

* clang-format stuff

* ugh more clang-format

why

* Another shot

* CMakeLists.txt update

Fix issues related to spdlog version targeting

* Remove old prints + fix log types

Up next is the transition to a git submodule, should be simple enough

* spdlog is now a git submodule

* adapted for project

* Linux fix

* More fixes

Yikes

* Update for linux

I should really fix my WSL environment

* Update workflow.yaml

Hopefully will resolve issues with GitHub Actions on Linux
2020-10-03 09:39:04 -04:00
water 0094594f69 add cond with else 2020-10-03 09:32:26 -04:00
doctashay b4b0ee3c4a Update workflow.yaml
Hopefully will resolve issues with GitHub Actions on Linux
2020-10-02 22:32:09 -06:00
water 072283e442 add some more cfg ir stuff 2020-10-02 16:21:25 -04:00
doctashay ec64e06e9e Update for linux
I should really fix my WSL environment
2020-10-02 14:12:41 -06:00
doctashay 7ad253dad1 More fixes
Yikes
2020-10-02 14:08:50 -06:00
doctashay 3ca050f5bf Linux fix 2020-10-02 14:05:00 -06:00
doctashay 5095197b3b adapted for project 2020-10-02 14:02:05 -06:00
doctashay a68e5cdc51 spdlog is now a git submodule 2020-10-02 13:47:06 -06:00
Shay 59eedf6518 Remove old prints + fix log types
Up next is the transition to a git submodule, should be simple enough
2020-10-02 12:36:22 -06:00
Shay 27ba6022bd CMakeLists.txt update
Fix issues related to spdlog version targeting
2020-10-01 17:24:50 -06:00
Shay f1620b43d3 Another shot 2020-10-01 16:53:30 -06:00
Shay 6484c201d1 ugh more clang-format
why
2020-10-01 16:17:43 -06:00
Shay 24415f5ccd clang-format stuff 2020-10-01 16:09:19 -06:00
Shay e2ea57ea58 Replace printf logging with spdlog equivalent
Preserve previous printfs in comments for now. Spdlog needs to be configured to be thread-safe. Few additional printfs to convert later. No changes have been made to GOAL's internal printing system
2020-10-01 16:08:23 -06:00
Shay 4d208b0729 More Linux fixes
Linus Torvalds have mercy on my soul
2020-10-01 10:37:35 -06:00
Shay a69af3dd10 Fix Linux-only definition
Found the culprit!
2020-10-01 10:33:08 -06:00
Shay 05ef26fb98 clang formatting 2020-10-01 10:27:58 -06:00
Shay 849d7924c2 Commit new spdlog implementation
Hopefully resolves Linux build dependency errors
2020-10-01 10:27:07 -06:00
Shay 854f5ec31b Merge remote-tracking branch 'upstream/master' into logging 2020-10-01 09:58:41 -06:00
water111 376c273845
Add decompiler IR, basic operations, all-types file (#57)
* framework for basic op

* started IR framework

* check in type info file

* add some basic operations to the first pass ir conversion

* use a single condition system

* add more basic op decoding

* more ir
2020-09-29 20:24:15 -04:00
Tyler Wilding 282e53f1be Concept is working, just needs some polish and can start translating the tests 2020-09-26 18:48:40 -04:00
water111 c9b53d51ff
Compiler Cleanup (Part 2) (#56)
* check on windows

* fix windows build

* version test

* clean up - will it work on windows

* fix formatting
2020-09-25 21:11:27 -04:00
water111 15051ec5dd
Fix high cpu usage from iop thread (#55)
* fix crazy cpu usage from iop thread

* clang-format
2020-09-24 22:15:01 -04:00
water111 2d11e44eaf
Compiler Cleanup and Documentation (#54)
* start cleanup

* fix typos

* fix syntax highlighting in doc

* lots of documentation updates

* clean and add tests

* more documentation and more error messages

* more document and try building kernel differently
2020-09-24 17:19:23 -04:00
water111 27b865c0df
Add methods and pointers (#53)
* method calls and sorting

* add more tests and fix some alias stuff
2020-09-19 16:50:42 -04:00
water111 cee6c21603
Add basic features for types and objects (#52)
* started adding simple functions in gcommon

* more tests and features

* more tests, debug windows

* debug prints for windows

* back up some regs for windows

* remove debugging prints
2020-09-19 13:22:14 -04:00
Shay b03c4f1513 Merge remote-tracking branch 'upstream/master' 2020-09-18 20:44:01 -06:00
water111 c7c342ce7e
Add defmethod and some uses of the deref operator (#51)
* add tests for various xmms

* use unaligned stores and loads to back up and restore xmm128s and also fix argument spilling bug

* add deftype

* add deref and fix some method _type_ things
2020-09-18 22:02:27 -04:00