• Joined on 2025-02-20
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-04 11:21:39 +02:00
fa4458e2d7 Add example-3.c6l
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-03 20:13:20 +02:00
76cd607bab Add COMPILE-IR method for IR-MINUS
f814f9fbb9 Some horrible flailing for the sake of correctness
c668f4fc78 Some cleanup after deleted code
Compare 3 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-03 16:58:47 +02:00
f54ecb75b9 Make linking and final compile to byte sequence work
f9a69e2da9 Add macro for iterating over ASM-OBJECTs
0117df02f8 Indentation correction
771748d2c2 Compute addresses for all ASM-OBJECTs
a24c5353a5 Add compilation method for IR-IF
Compare 10 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-03 16:53:49 +02:00
f54e064fda Make ASM-FUNCTION hold an address to be called
3b8c906d75 Store ASM-FUNCTIONs in a hash table keyed on name
094f01d258 Ensure IBLOCK names are unique
7171398c07 Fix broken IR graph flow with merge iblocks
235ca8c07e Rename EMIT-STORE-RESULT's parameter to match similar functions
Compare 5 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-03 10:30:31 +02:00
54d2341ce3 Add code-generator.lisp to ASD
f1cf8ad488 Add alexandria dependency
4899d888aa Add COMPILE-IR method for IR-RETURN
c41fb46457 Make assembly program representation smarter
Compare 4 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-01 23:12:37 +02:00
7d55bc9ed8 Add extremely unfinished 6502 code generator to user-side compiler
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-01 20:39:24 +02:00
f8f5892d98 Somewhat clunky optimization for reusing temporary variable slots
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-01 13:39:50 +02:00
a18c13a86e Add value allocator (typically called register allocator)
duuqnd pushed to main at Stacken/c64-livecoding 2025-07-01 13:29:25 +02:00
bdb2a901ca Add more optimization passes to a test snippet
7aff9db800 Add compiler optimization to get rid of IR-FETCHVARs when unneeded
b7c4a37483 Make data keep track of their last use
Compare 3 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-06-26 13:46:23 +02:00
9e643e6c6d Add compiler middle stage
7703c71141 Add tool for quickly defining common PRINT-OBJECT methods
Compare 2 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-08 22:19:04 +02:00
c336e43c19 Add bytesquashing (turning instructions etc. into dead bytes)
010cc5dd87 Make FIX-LABEL-ADDRESSES-IN-INSTRUCTION-LIST add PROGRAM_END label
9d2d0dea6b Fix instruction redefinition and add some opcodes
184d0324c0 Fix broken INSTRUCTION-LENGTH
31bb5f8509 Add offset label class
Compare 9 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-08 21:18:42 +02:00
d9673915a5 Add public.inc
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-08 20:25:04 +02:00
8a45d4fca1 Revert "populate .inc file with parameters for compiler"
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-08 19:39:05 +02:00
37b2864a7d Add function to compute addresses of labels in instruction list
501da2341e Bind *LABEL-COUNTER* to 0 at the start of compiling
bcc039774b Move *LABEL-COUNTER* to label.lisp
5ca740efa9 Add PRODUCE-COMMENT
8dd78265b4 Nicer instruction printing
Compare 7 commits »
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-08 17:12:38 +02:00
37241a1fc3 Replace the text assembly in high-level with instruction objects
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-03 12:23:13 +02:00
0a3675feac Turn the user-side compiler into a proper ASDF system
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-02 22:39:04 +02:00
fd5a8fac4f Add check so zero-page instructions can't use too big operands
duuqnd pushed to main at Stacken/c64-livecoding 2025-05-02 22:26:34 +02:00
19b9feb02d Begin serious work on User-Side Compiler (USC)
duuqnd pushed to portable at duuqnd/cave-story-solaris 2025-05-01 23:19:10 +02:00
fb0490e056 Add -lpthread to LDFLAGS in Makefile
67c1609fc6 Update README
Compare 2 commits »
duuqnd pushed to portable at duuqnd/cave-story-solaris 2025-05-01 22:44:11 +02:00
5efac45bc8 Fix Makefile (now works)
deb85bde67 Add fake stdint.h to satisfy stb_image
Compare 2 commits »