Irmen de Jong
|
352c11ad9f
|
optimize float<>0 into sgn(float)<>0
|
2025-11-21 00:57:43 +01:00 |
|
Irmen de Jong
|
9504711fc7
|
IR/VM: SGN sets status bits
|
2025-11-19 21:37:04 +01:00 |
|
Irmen de Jong
|
590feda903
|
IR: fix sgn(float) register type error
|
2025-11-19 21:11:31 +01:00 |
|
Irmen de Jong
|
6e7e2922bf
|
moved the float <> long cast routines to float.asm where the other cast routines are too
|
2025-11-19 18:45:32 +01:00 |
|
Irmen de Jong
|
397299bd1d
|
implement 6502 codegen for casting float to long (super slow...)
|
2025-11-19 00:05:18 +01:00 |
|
Irmen de Jong
|
c275aacd38
|
implement 6502 codegen for casting long to float
|
2025-11-18 23:26:12 +01:00 |
|
Irmen de Jong
|
99e037489b
|
IR: added float<>long casts, cx16: blink_cursor extapi tested in test.p8
|
2025-11-17 23:13:56 +01:00 |
|
Irmen de Jong
|
fb5290e17b
|
cx16: added diskio.f_fatlba()
|
2025-11-15 20:17:26 +01:00 |
|
Irmen de Jong
|
d667312acc
|
Merge branch 'refs/heads/12.1-SNAPSHOT'
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
|
2025-11-15 15:15:06 +01:00 |
|
Irmen de Jong
|
64d0cd87a8
|
diskio.f_seek() and f_tell() now use longs instead of separate words
also fix bug when returning multiple long values
|
2025-11-15 15:13:26 +01:00 |
|
Irmen de Jong
|
2fffbdde89
|
todo
|
2025-11-14 20:05:46 +01:00 |
|
Irmen de Jong
|
da31465b7f
|
added the missing smallstack to buffers module
|
2025-11-10 00:21:13 +01:00 |
|
Irmen de Jong
|
afb458a7da
|
fix crash in long address-of
|
2025-11-08 22:24:37 +01:00 |
|
Irmen de Jong
|
833e463525
|
String indexing bound check now includes the terminating 0 character. Also fix negative indexes on strings.
fixes #190
|
2025-11-07 23:20:44 +01:00 |
|
Irmen de Jong
|
1f31cb18e4
|
IR: fix missing source lines in p8ir file
|
2025-11-06 00:39:31 +01:00 |
|
Irmen de Jong
|
bc8ba252a5
|
made Position line, col, endcol all 1-based
added a precise (but slow) back face culling routine to the cobra-mk3 example
|
2025-11-05 00:25:43 +01:00 |
|
Irmen de Jong
|
4d3f0ec223
|
sizeof(string) is now defined
|
2025-11-01 21:19:30 +01:00 |
|
Irmen de Jong
|
0cd8c4f87e
|
add strings.ncopy and nappend (length limited)
|
2025-10-31 21:22:15 +01:00 |
|
Irmen de Jong
|
b02a8ed954
|
strings can no longer be assigned by-value. Use strings.copy() instead. Fixes #189
|
2025-10-31 19:22:40 +01:00 |
|
Irmen de Jong
|
b1e07f3fdb
|
better error when trying to use a const pointer (which is not supported yet)
|
2025-10-30 20:58:21 +01:00 |
|
Irmen de Jong
|
a5e827e40f
|
implement some more long array operations
|
2025-10-30 01:20:59 +01:00 |
|
Irmen de Jong
|
34061c5a63
|
implement inplace bitwise operations on long struct fields
|
2025-10-28 23:44:34 +01:00 |
|
Irmen de Jong
|
9c2bcab4a5
|
fix more ptr/long issues
|
2025-10-28 23:08:12 +01:00 |
|
Irmen de Jong
|
ee75333891
|
implement more long assignments through pointers
|
2025-10-21 22:55:46 +02:00 |
|
Irmen de Jong
|
6a70fb0480
|
deal with invalid sqrt results (negative argument), allow sqrt of longs (like floats)
|
2025-10-21 21:01:03 +02:00 |
|
Irmen de Jong
|
ebc738b132
|
'hack' to allow unsigned long constants such as $ffffffff to be assigned to longs without casts
|
2025-10-20 00:33:40 +02:00 |
|
Irmen de Jong
|
e5939be0bd
|
some more long operations implemented
|
2025-10-19 23:03:17 +02:00 |
|
Irmen de Jong
|
0c0affd1bf
|
cx16 diskio.load_size() now returns full long size. Fixes #184
|
2025-10-19 21:18:46 +02:00 |
|
Irmen de Jong
|
c7158fd968
|
implement more long operations on struct fields
|
2025-10-17 01:55:11 +02:00 |
|
Irmen de Jong
|
de2f3f0d0d
|
tweak TODO messages for longs
|
2025-10-16 23:20:34 +02:00 |
|
Irmen de Jong
|
c0286e3349
|
added txt.size() to return text screen width and height in 1 call. Also fixed txt.width/height on the C128 (where SCREEN reports 1 less for them...)
|
2025-10-16 00:33:14 +02:00 |
|
Irmen de Jong
|
a36501a9ed
|
fix long bitwise expressions temp register usage
|
2025-10-14 02:57:48 +02:00 |
|
Irmen de Jong
|
ee5d33a230
|
fix long if-expressions temp register usage
|
2025-10-14 02:16:42 +02:00 |
|
Irmen de Jong
|
a8fd66cfdb
|
fix long==0 long!=0 register usage
|
2025-10-14 01:49:42 +02:00 |
|
Irmen de Jong
|
68066acdec
|
changed (and fixed) msb(long) and lsb(long)
|
2025-10-13 21:34:03 +02:00 |
|
Irmen de Jong
|
6286035d89
|
support long +/- number in expressions
|
2025-10-13 02:50:48 +02:00 |
|
Irmen de Jong
|
9a37eb9146
|
save A and Y when storing longs
|
2025-10-13 02:12:07 +02:00 |
|
Irmen de Jong
|
307796f115
|
fixed some bugs in optimizing long values
|
2025-10-12 23:15:42 +02:00 |
|
Irmen de Jong
|
e962431139
|
added bcd.addtol()/subfroml() for in-place long calculations
fix long overflow messages, IR register type error
|
2025-10-12 22:08:10 +02:00 |
|
Irmen de Jong
|
b7620abc9a
|
longs: fix msw() and lsw()
|
2025-10-12 19:49:36 +02:00 |
|
Irmen de Jong
|
d2719d23f5
|
C128: adjust MEMTOP value to $C000 during runtime (41 Kb of available space because Basic ROM is banked out)
|
2025-10-12 15:02:36 +02:00 |
|
Irmen de Jong
|
d69eead6d8
|
fix abs(long), mklong(), mklong2(), peekl(), pokel()
|
2025-10-12 14:17:27 +02:00 |
|
Irmen de Jong
|
6db3611d93
|
fix typecast error when assigning pointer to long
|
2025-10-12 12:44:28 +02:00 |
|
Irmen de Jong
|
a84320c7e2
|
add sgn(long) support, fix sgn() result type in IR
|
2025-10-12 12:22:32 +02:00 |
|
Irmen de Jong
|
dfc720557c
|
fix some more long hex value comparisons
|
2025-10-12 04:40:50 +02:00 |
|
Irmen de Jong
|
32149d073a
|
bitwise long exprs now use R12-R13 instead of R2-R3
|
2025-10-12 03:02:09 +02:00 |
|
Irmen de Jong
|
fc38be6376
|
fix a const long value hex asm mistake, fix conv.str_l(0) empty output
|
2025-10-12 01:52:35 +02:00 |
|
Irmen de Jong
|
13f6efc1d1
|
long +/- long now use R12-R15 instead of R0-R3
|
2025-10-12 01:35:02 +02:00 |
|
Irmen de Jong
|
424b89f357
|
longs now returned in R14+R15 instead of R0+R1
|
2025-10-12 00:27:17 +02:00 |
|
Irmen de Jong
|
598e70c49a
|
allow negative values on poke and pokew without an explicit cast
|
2025-10-11 16:39:36 +02:00 |
|