Commit Graph

763 Commits

Author SHA1 Message Date
Irmen de Jong
574eb0d174 refactoring asmassignment code blocks into utility functions 2020-11-15 17:44:47 +01:00
Irmen de Jong
5ebaaff64b refactoring asmassignment code blocks into utility functions 2020-11-15 15:07:55 +01:00
Irmen de Jong
5c9e0c9f51 emit extra nop for breakpoints so vice label list works again (requires 64tass 1.55.2257 or newer!) 2020-11-15 14:31:06 +01:00
Irmen de Jong
8132edbb08 updated some compiled example 2020-11-10 22:51:01 +01:00
Irmen de Jong
d29ce78c86 todos and version 2020-11-10 22:44:48 +01:00
Irmen de Jong
94bc9d7a69 string compare in expression no longer via stack args 2020-11-10 21:48:28 +01:00
Irmen de Jong
e8faec0932 re-introduced more aggressive binexpr splitting optimization 2020-11-10 21:17:33 +01:00
Irmen de Jong
69ca4fe304 cleanup 2020-11-10 21:02:12 +01:00
Irmen de Jong
cd99fe46fd finished call convention change for builtin functions now no longer via stack 2020-11-10 00:43:45 +01:00
Irmen de Jong
4825b4dc68 fix passing address of pass-by-reference assignment to a UWORD 2020-11-10 00:35:24 +01:00
Irmen de Jong
8d0607ef58 fix missing float casts 2020-11-09 23:57:50 +01:00
Irmen de Jong
225295a7d8 fix float casts 2020-11-09 01:18:22 +01:00
Irmen de Jong
4cd74daf53 float eval result var added, but some examples are broken 2020-11-08 18:54:02 +01:00
Irmen de Jong
6eb9118197 example 2020-11-07 01:08:56 +01:00
Irmen de Jong
d0bd2f522c rol and ror 2020-11-07 00:56:54 +01:00
Irmen de Jong
661c757236 fix string compare in expressions 2020-11-06 22:59:56 +01:00
Irmen de Jong
aaa20093ef cleaning up and correcting cc for builtin functions 2020-11-06 00:56:26 +01:00
Irmen de Jong
800b5b2a43 cleaning up and correcting cc for builtin functions 2020-11-05 02:29:33 +01:00
Irmen de Jong
9d17421c66 implemented the arithmetic functions with new cc. fixed sgn(). 2020-11-04 02:27:29 +01:00
Irmen de Jong
0edd50e956 implemented cc for abs() 2020-11-03 23:01:23 +01:00
Irmen de Jong
288d4f08b3 implemented cc for integer sin and cos variants 2020-11-03 22:42:59 +01:00
Irmen de Jong
526e4b8bdc fix faulty binexpr splitting 2020-11-03 21:31:08 +01:00
Irmen de Jong
e0c5ccc16b begun with converting builtin functions to new call convention 2020-11-02 23:00:20 +01:00
Irmen de Jong
29f5a85158 callconv 2020-11-01 19:25:23 +01:00
Irmen de Jong
431f2a2088 optimized memset and memcopy on CX16, memcopy can deal with any size now 2020-11-01 08:00:32 +01:00
Irmen de Jong
e05ea887f6 implement proper returning of float values via FAC1 2020-11-01 06:27:17 +01:00
Irmen de Jong
95c0425151 improved sqrt16 2020-11-01 05:45:49 +01:00
Irmen de Jong
47cbc7b1f9 added a custom-charset example for the c64 2020-10-31 02:26:59 +01:00
Irmen de Jong
e7b75d591c assigning float results from functions (from FAC1) 2020-10-31 01:22:19 +01:00
Irmen de Jong
99f7d469f4 assigning string result from subroutine 2020-10-30 22:22:06 +01:00
Irmen de Jong
8a6ef17fbf option 2020-10-30 21:51:15 +01:00
Irmen de Jong
87862f772a better handling of inferred type errors 2020-10-30 21:24:49 +01:00
Irmen de Jong
3efa8da8e0 made versions of various builtin funcs returning value in registers 2020-10-30 14:35:20 +01:00
Irmen de Jong
3e28ed4fe4 mader versions of abs() and sgn() returning value in register 2020-10-28 22:56:13 +01:00
Irmen de Jong
44949460ed change for subroutine return values via registers instead of stack 2020-10-28 00:29:34 +01:00
Irmen de Jong
83cc19ad6f preparing for subroutine return values via registers instead of stack 2020-10-23 20:56:10 +02:00
Irmen de Jong
ff3f985658 refactoring 2020-10-22 23:41:16 +02:00
Irmen de Jong
2ba6c9ccbe textelite 1.1 finalize load/save, add it to examplesd disk 2020-10-20 21:49:06 +02:00
Irmen de Jong
30da26b9a9 tackling problem of invalid reuse of auto indexer var 2020-10-20 21:23:43 +02:00
Irmen de Jong
1a36302cf1 rest of optimizations following simplification of array indexer 2020-10-19 23:57:00 +02:00
Irmen de Jong
c1ce0be451 slightly optimize expression code for most common cases +/- 1 , */div 2 2020-10-19 22:50:38 +02:00
Irmen de Jong
c0a5f8fef0 removed double mul code 2020-10-19 21:32:44 +02:00
Irmen de Jong
702cf304d0 implemented missing swap() operations 2020-10-19 21:26:11 +02:00
Irmen de Jong
4dee8b6048 remove superfluous value eval 2020-10-19 02:38:26 +02:00
Irmen de Jong
ec665e0cc1 fixed incorrect removal of certain assignments that are NOT double 2020-10-19 02:16:23 +02:00
Irmen de Jong
aec3b82476 fixed bitshifting by more than the number of bits in the value 2020-10-19 02:05:01 +02:00
Irmen de Jong
e83796b5b9 fixed bit shifting by 0. optimized bitshifting code. 2020-10-18 17:12:52 +02:00
Irmen de Jong
8eb69d6eda vardecl with initializer expression are now optimized again (unless floats) 2020-10-18 16:15:05 +02:00
Irmen de Jong
74b5124a42 removed restriction on array indexer expression again from docs and code... :) 2020-10-18 14:05:26 +02:00
Irmen de Jong
8aeb8a9bb7 reintroduce expressions for array indexing 2020-10-18 13:33:11 +02:00
Irmen de Jong
8f2e166a22 annotated some high prio todos 2020-10-17 22:57:54 +02:00
Irmen de Jong
fdd91170dc allow simple binary expressions as array indexing too, but not more 2020-10-17 22:43:35 +02:00
Irmen de Jong
c40ddb061b example adjustments 2020-10-17 21:00:59 +02:00
Irmen de Jong
f37564c49c fixed 2020-10-17 19:59:48 +02:00
Irmen de Jong
157484d94b adapted p8 code to restricted array indexing 2020-10-17 19:57:55 +02:00
Irmen de Jong
7cb4100419 string can be compared directly (uses strcmp() automatically in asm) 2020-10-17 02:01:00 +02:00
Irmen de Jong
2d3b7eb878 started making string compares use strcmp() automatically 2020-10-17 01:11:01 +02:00
Irmen de Jong
4d01a78731 introduced strcmp() builtin function 2020-10-16 19:00:06 +02:00
Irmen de Jong
a03e36828a fixed lines in assembly source optimizer 2020-10-16 01:48:03 +02:00
Irmen de Jong
260fb65b06 making strcmp 2020-10-16 00:11:46 +02:00
Irmen de Jong
9fb8526136 added conv.bin and hex string to number 2020-10-15 23:47:10 +02:00
Irmen de Jong
26fc5ff5e2 preparing conv.bin and hex string to number 2020-10-15 23:10:28 +02:00
Irmen de Jong
5060f0bb19 fixed assigning a memory byte from an array 2020-10-15 22:15:00 +02:00
Irmen de Jong
4d68b508a2 proper error if variable name is the same as its subroutine or block (that would create naming problems in the assembly code) 2020-10-15 20:48:18 +02:00
Irmen de Jong
cd825e386d fix invalid address-of error when taking address of struct variable 2020-10-15 20:14:17 +02:00
Irmen de Jong
095c8b2309 corrected name and added cx16logo library module for fun 2020-10-15 00:58:41 +02:00
Irmen de Jong
8b6eb74c58 refactor 2020-10-14 23:43:38 +02:00
Irmen de Jong
aba437e5a2 diskio load and save use kernel routines for load and save, and don't bother with SEQ files 2020-10-14 22:33:49 +02:00
Irmen de Jong
efe3ed499b starting with load/save in textelite 2020-10-14 02:51:00 +02:00
Irmen de Jong
439761cb67 fixed C64 ZP addresses to allow disk I/O, introduced diskio library module 2020-10-14 01:17:18 +02:00
Irmen de Jong
bee6c65293 fixed several bugs in the repeat assembly for loop sizes like 0 and 256 2020-10-13 21:48:15 +02:00
Irmen de Jong
10145b946b invalid repeat loop code is generated... 2020-10-13 16:27:40 +02:00
Irmen de Jong
ebf4b50059 reused existing CallGraph to check for recursion, which is now fixed. It's a warning too now. 2020-10-12 23:04:00 +02:00
Irmen de Jong
07cce3b3fc version 4.5 2020-10-11 21:59:38 +02:00
Irmen de Jong
f2c19afd95 version 4.5 2020-10-11 21:47:41 +02:00
Irmen de Jong
d159e70e1c textelite travel commands 2020-10-11 21:38:25 +02:00
Irmen de Jong
ac693a2541 textelite buy and sell commands 2020-10-11 19:29:18 +02:00
Irmen de Jong
ec9e722927 added conv.str2byte and conv.str2ubyte 2020-10-11 18:36:20 +02:00
Irmen de Jong
4cd5e8c378 textelite 2020-10-11 18:19:09 +02:00
Irmen de Jong
b759d5e06a fixed X register corruption on Cx16 verions of float.GIVUAYFAY and GIVAYFAY 2020-10-11 17:46:19 +02:00
Irmen de Jong
1469033c1e todo 2020-10-11 16:53:00 +02:00
Irmen de Jong
c15fd75df7 asmassignment can now use arbitrary source symbols; optimized byte-word sign extesion with this to not use stack anymore 2020-10-11 15:44:08 +02:00
Irmen de Jong
73524e01a6 really fix byte-word sign extension for function args as expression 2020-10-11 03:07:45 +02:00
Irmen de Jong
9e54e11113 fixed string + string/ string * number 2020-10-11 02:34:04 +02:00
Irmen de Jong
01ac5f29db fix byte-word sign extension for function args as expression 2020-10-11 01:38:34 +02:00
Irmen de Jong
67a2241e32 textelite market start 2020-10-11 00:38:38 +02:00
Irmen de Jong
6f5b645995 textelite market start 2020-10-10 23:24:15 +02:00
Irmen de Jong
458ad1de57 fix strlen on uword (pointer) instead of str 2020-10-10 23:24:05 +02:00
Irmen de Jong
216f48b7c1 txtelite 2020-10-10 22:45:03 +02:00
Irmen de Jong
b2d1757e5a asmgen: byte to word sign extensions 2020-10-10 15:39:48 +02:00
Irmen de Jong
e5ee5be9c5 textelite 2020-10-10 04:42:17 +02:00
Irmen de Jong
bd237b2b95 it's now possible in more places to assign arrays and put array literals without the need to define explicit variable. 2020-10-10 04:30:28 +02:00
Irmen de Jong
d31cf766eb added missing doc picture 2020-10-10 02:51:02 +02:00
Irmen de Jong
56d530ff04 txtelite with input loop 2020-10-10 01:46:19 +02:00
Irmen de Jong
0bbb2240f2 txtelite with input loop 2020-10-10 01:35:46 +02:00
Irmen de Jong
4a9956c4a4 txtelite species and planet naming fix 2020-10-10 01:15:26 +02:00
Irmen de Jong
59c0e6ae32 added some more missing assignment codegens (word * byte etc) 2020-10-09 23:48:33 +02:00
Irmen de Jong
94c30fc21e textelite 2020-10-09 22:47:42 +02:00
Irmen de Jong
85e3c2c5a2 textelite 2020-10-09 22:25:12 +02:00
Irmen de Jong
6ff5470cf1 txtelite 2020-10-09 21:01:06 +02:00