Commit graph

47 commits

Author SHA1 Message Date
dc80e6e1e3 Nicer printing of nodes and references
References print shorter and show their contents, call nodes now show
what they're calling and with what arguments. Additionally, generated
code for a node starts with a comment of the node as printed.
2025-03-28 11:46:03 +01:00
dd32f294d0 Correct typo in NODE-DOTIMES definition 2025-03-27 23:39:09 +01:00
4918124361 Clarify comments in GENERATE-CODE for NODE-BRANCH 2025-03-27 23:36:15 +01:00
39cf0b54cb Use real tabs in FORMAT-INST 2025-03-27 23:02:43 +01:00
b22f043523 Proof of concept compiler
Compiles hand-created nodes for subroutine calls, forward branching,
and fixed-length looping into textual 6502 assembly code. Currently
only outputs this code to standard output for inspection.
2025-03-27 22:40:56 +01:00
hugova
b3887a8e0d Rename memory operation and create files for later text drawing stuff 2025-03-27 21:12:40 +01:00
46409e5eff Add *.lst to .gitignore 2025-03-27 19:48:50 +01:00
Marcus Dicander
b0dc88a2e5 Fixed a few spelling errors. 2025-03-27 19:43:29 +01:00
hugova
801cd55541 Improved performance of line_down.s before loop. 2025-03-26 22:00:09 +01:00
hugova
89c9bc4129 Add self modifying code to draw_line for 2% performance improvments 2025-03-26 12:14:55 +01:00
hugova
ff64a9a9b0 Add missing performance improvments to line_* from line_down.s 2025-03-25 23:28:53 +01:00
hugova
20b24a299a Clean up memory_rec.s 2025-03-25 21:59:44 +01:00
hugova
41b8fec7a8 Performance improved mult_16 without changing behaviour 2025-03-25 21:40:40 +01:00
hugova
7a5585d2c4 Add better code coments 2025-03-25 21:21:39 +01:00
hugova
842033a014 Add performance optimisiation for line_up_inv.s 2025-03-25 19:46:03 +01:00
hugova
d5c15bd0c2 Code cleanup 2025-03-25 19:38:51 +01:00
hugova
0df0e666ad Implement earlier perfromance improvments to line_up.s 2025-03-25 19:32:51 +01:00
hugova
4497026d95 Rewrite start condition of line_down so that it start on exaktly the right pixel 2025-03-25 19:20:23 +01:00
hugova
f185c80a16 Add code skeleton for the binary-tree-api:s unittest 2025-03-24 20:16:52 +01:00
hugova
05b0ff9762 Add performance improvments to line_down_inv.s 2025-03-24 19:55:00 +01:00
hugova
9b8e3fe33f Removed 1 instruction from draw_line_down.s 6% performance boost 2025-03-24 18:25:42 +01:00
hugova
3ce76c02a8 Rewrote 4 branch instructions to 2. 2% performance increase 2025-03-24 18:00:17 +01:00
hugova
f583423bb6 Switched CLC ROR to LSR. 2% performance improvment 2025-03-24 17:45:22 +01:00
hugova
ed0966c736 Merge branch 'main' of git.stacken.kth.se:Stacken/c64-livecoding 2025-03-24 17:19:53 +01:00
hugova
bc59ac63b1 Fix performance by using pointer tricks for ADD. 10% faster line drawing 2025-03-24 17:08:09 +01:00
hugova
47d53ecf78 Fix performance by using pointer tricks for ADD. 20% faster line drawing 2025-03-24 17:07:14 +01:00
hugova
de2d597612 Change of starting condition for potential testing purposes of another person 2025-03-09 23:53:33 +01:00
hugova
a617d91183 Change 4 spaces indenting to 8 and add string for emacs to understand indenting rules 2025-03-09 23:43:59 +01:00
hugova
36610e7df8 Made shure that run.sh also create a listing file for debuging and stuff 2025-03-09 20:57:46 +01:00
hugova
09b8a33e09 Adding of 16-bit arithmatic macro variants for X and A as input 2025-03-07 00:48:13 +01:00
hugova
0797e69106 Add all optimisations done on line_down to line_down_inv. DIx a problem that the pixel was drawin a bit to late in the loop on line_down. 2025-03-06 01:50:37 +01:00
hugova
ecc138f2bc Redused number of instructions but to small a diffrence to messure with current test 2025-03-06 00:59:29 +01:00
hugova
9694d8d55b Redused paint_pixel to 1 call in draw line 2025-03-05 22:42:00 +01:00
hugova
76f29f6b81 Performance improvment in test by 0.1s. Mady by better arithmatic for *40 in draw_pixel and fast_unsafe parameter for most macros 2025-03-05 21:02:54 +01:00
hugova
982b6c7ea6 A fix for the timer to work by making it start with value 1. It do not increment from 0! 2025-03-05 01:27:37 +01:00
hugova
89c2b42bfe Reorginisation of line-drawing code. Also added a macro to benchmark line drawing logic. Addition of line_test_time to benchmark line drawing time (Do not work yet) 2025-03-04 23:01:57 +01:00
hugova
494e9dc5f9 A fix of line_up_inv such that X_pos < X_end like all other line_* implementations. 2025-03-04 21:00:21 +01:00
hugova
4d12f20a6e A Fix for D that gets the wrong initial value and the branch logic in line_* checked for the wrong value.
A new proc, line.s that can chose whitch line_* to use
A small test program in source.s
Wrote a smal test program in source.s  (all looks good exept line_up_inv)
2025-03-03 22:08:00 +01:00
hugova
1524c837ca A optimisation of line_up_inv.s by moving some logic out of loop 2025-03-02 23:14:51 +01:00
hugova
f3712eca9f Move logic outside loop for performance reasons.
Same as earlier commit but for line_down_inv.s, line_up.s
Comment: Should do the same for line_up_inv.s
2025-03-02 18:29:58 +01:00
hugova
ee69828ec7 Optimisation by moving logic out of loop for faster execution.
This should be implemented on the other line_* files
2025-03-02 18:05:20 +01:00
hugova
0940d9f9f9 1. A fix for a bug where D gets the wrong initial value (2 bytes where flipped)
2. Implemented line drawing for the other 3 cases
2025-03-02 16:51:55 +01:00
hugova
4f396fd740 A fix to a bug, to make line_down draw lines with small slopes.
I needed to use 16bit logic to ashive this.
Also moved out dx*2, dy*2 calculation outside of loop for better performance.
2025-03-01 23:57:15 +01:00
hugova
9c86b570ed Will make the indenting better. Also it will properly use dubble ; for comment blocks 2025-02-28 18:22:07 +01:00
hugova
864b0e659b Add hugo code 2025-02-27 22:04:43 +01:00
7fc374246a Add .gitignore 2025-02-27 22:02:22 +01:00
1b0eda3c8c Initial commit 2025-02-27 21:57:44 +01:00