Irmen de Jong
|
afbc91d1fc
|
added string.isdigit, islower, isupper, isletter
|
2023-12-05 22:50:20 +01:00 |
|
Irmen de Jong
|
7d8b42d63e
|
allow Unicode letters in identifiers: things like 'knäckebröd' and 'π' are now valid identifiers. Added floats.π constant.
|
2023-12-05 01:36:54 +01:00 |
|
Irmen de Jong
|
2fa1d8f2e8
|
fix vm string hash
|
2023-11-27 01:27:50 +01:00 |
|
Irmen de Jong
|
1dff59e1d6
|
added string.hash()
|
2023-11-26 22:14:08 +01:00 |
|
Irmen de Jong
|
a83e9d9a0a
|
added sys.save_prog8_internals() and restore_prog8_internals()
|
2023-11-21 22:00:43 +01:00 |
|
Irmen de Jong
|
faf05582f8
|
improved cx16 emudbg library
|
2023-11-17 15:07:21 +01:00 |
|
Irmen de Jong
|
d73709653d
|
remove unused interned strings in the resulting code (for example from removed if/else blocks)
|
2023-11-12 05:28:24 +01:00 |
|
Irmen de Jong
|
7ebc9c79cf
|
added string.append()
cleanup redundant diskio prefixes
|
2023-11-10 23:53:59 +01:00 |
|
Irmen de Jong
|
31177a2b1b
|
added sys.disable_caseswitch() and sys.enable_caseswitch()
|
2023-11-07 00:27:34 +01:00 |
|
Irmen de Jong
|
723ab54f97
|
optimized all circle routines a little more. Added gfx2/monogfx safe_circle and safe_disc. Warning for when on const value.
|
2023-11-05 21:29:59 +01:00 |
|
Irmen de Jong
|
72f1a779f2
|
optimize monogfx.fill() and gfx2.fill(), also don't read outside screen area
|
2023-11-04 14:30:51 +01:00 |
|
Irmen de Jong
|
94f12732ab
|
add math.diff() and math.diffw()
|
2023-10-27 22:36:43 +02:00 |
|
Irmen de Jong
|
32becdbced
|
add monogfx lib to virtual target
|
2023-10-24 00:16:25 +02:00 |
|
Irmen de Jong
|
836bc9d456
|
added verafx.available()
|
2023-10-10 22:12:21 +02:00 |
|
Irmen de Jong
|
cd40088636
|
vm: added math.mul16_last_upper()
|
2023-09-28 03:18:49 +02:00 |
|
Irmen de Jong
|
9b9e6f4af5
|
added math.mul16_last_upper() to fetch the upper 16 bits of the last word multiplication
|
2023-09-25 23:59:57 +02:00 |
|
Irmen de Jong
|
28bf0b61ce
|
added math.log2() and math.log2w()
|
2023-09-01 00:42:15 +02:00 |
|
Irmen de Jong
|
77f3852cdc
|
added floats.parse_f()
|
2023-08-16 14:47:20 +02:00 |
|
Irmen de Jong
|
4e863ecdac
|
vm: fixed abs() and word-to-string conversion
|
2023-07-08 22:57:16 +02:00 |
|
Irmen de Jong
|
e9163aa3a7
|
added cx16.save_virtual_registers() and cx16.restore_virtual_registers()
|
2023-06-24 21:04:47 +02:00 |
|
Irmen de Jong
|
0aac9350d5
|
rename math.atan() to math.atan2()
|
2023-06-18 13:05:36 +02:00 |
|
Irmen de Jong
|
ff7f3484e4
|
atan
|
2023-06-17 23:01:47 +02:00 |
|
Irmen de Jong
|
c0b398e0ce
|
add various math.atan() routines
|
2023-06-17 00:43:33 +02:00 |
|
Irmen de Jong
|
ba25b7fee6
|
fix diskio.diskname(). cx16: add diskio.curdir()
|
2023-06-07 22:38:51 +02:00 |
|
Irmen de Jong
|
c098ad2b3b
|
fix vm minf/maxf
|
2023-05-17 23:18:14 +02:00 |
|
Irmen de Jong
|
b43223cb7a
|
added clamp() builtin function and floats.clampf()
|
2023-05-17 23:12:58 +02:00 |
|
Irmen de Jong
|
1af38e62bc
|
removed floats.fabs() and floats.sqrt()/fsqrt()
|
2023-05-17 00:46:15 +02:00 |
|
Irmen de Jong
|
85cf0e311c
|
Merge branch 'master' into version_9
# Conflicts:
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# docs/source/todo.rst
# intermediate/src/prog8/intermediate/IRInstructions.kt
|
2023-05-14 20:47:09 +02:00 |
|
Irmen de Jong
|
905921a684
|
IR: new (sys)call instructions that encapsulate the full subroutine call
to fix the bugs resulting from nesting subroutine calls (as param to another call etc)
|
2023-05-14 15:20:25 +02:00 |
|
Irmen de Jong
|
319079de7a
|
sqrt
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
efd7d6f0c0
|
tweak IR call args setting now via special SETPARAM instruction
|
2023-04-14 02:10:39 +02:00 |
|
Irmen de Jong
|
b55be093be
|
tweak IR
|
2023-04-11 22:48:20 +02:00 |
|
Irmen de Jong
|
7c1d5cadd7
|
fix sort and reverse on strings on 6502 codegen
|
2023-04-10 19:33:24 +02:00 |
|
Irmen de Jong
|
dd1592b03b
|
ir syscalls args via stack instead of fixed r65500+
|
2023-04-10 18:02:37 +02:00 |
|
Irmen de Jong
|
9b37ac483f
|
vm fix str to word conversion
ir SYSCALL puts result(s) on value stack, instead of on hardcoded r0, r1
|
2023-04-10 16:26:42 +02:00 |
|
Irmen de Jong
|
ac21e1be5c
|
vm syscall instruction no longer fixed to r0
|
2023-04-10 13:44:05 +02:00 |
|
Irmen de Jong
|
78a097585d
|
new IR call and return instructions to deal with returnregisters
|
2023-03-12 21:54:59 +01:00 |
|
Irmen de Jong
|
f40e0f786d
|
txt.width() and txt.height() added for vm target
|
2023-03-11 16:05:45 +01:00 |
|
Irmen de Jong
|
5d4bfffc7e
|
float.rndseedf() now takes float seed value and is consistent for all CBM compilation targets
|
2022-11-06 22:53:57 +01:00 |
|
Irmen de Jong
|
38efaae7b2
|
ir/vm: syscall params in high base register to avoid push/pop
|
2022-11-06 12:52:09 +01:00 |
|
Irmen de Jong
|
469e042216
|
vm: replaced prog8_lib.string_compare and others with syscalls
|
2022-11-04 23:12:13 +01:00 |
|
Irmen de Jong
|
7303c00296
|
vm: prog8lib.wordarray_contains() fixed
|
2022-11-03 22:48:47 +01:00 |
|
Irmen de Jong
|
00afa1ce52
|
ir: replace RND opcode by syscalls
|
2022-10-22 17:20:46 +02:00 |
|
Irmen de Jong
|
e94bf4c63c
|
replace rnd()/rndw() builtin functions by regular routines in math module
|
2022-10-22 17:02:43 +02:00 |
|
Irmen de Jong
|
ec5adffdc2
|
rnd()/rndf() routines can now be seeded with new rndseed()/rndseedf() routines. fixes #80
|
2022-10-22 13:34:22 +02:00 |
|
Irmen de Jong
|
0d4dd385b8
|
added '%ir' to write inline IR code, '%asm' is now only for real 6502 assembly.
(%ir is probably only used in the library modules for the virtual machine target)
|
2022-09-30 15:12:26 +02:00 |
|
Irmen de Jong
|
1a56743bb1
|
fix IR repeat loop codegen when amount is 0
|
2022-09-25 20:48:17 +02:00 |
|
Irmen de Jong
|
387a4b7c35
|
added string.lowerchar() and string.upperchar()
|
2022-09-25 20:20:38 +02:00 |
|
Irmen de Jong
|
46dac909ef
|
vm/math.p8: complete the sin and cos routines
|
2022-09-22 15:49:19 +02:00 |
|
Irmen de Jong
|
97aa91c75e
|
removed 16 bits sin/cos routines from math library (sin16, sin16r etc)
|
2022-09-22 12:55:00 +02:00 |
|