Irmen de Jong
|
96bed8f57f
|
tweaks
|
2024-12-06 00:37:16 +01:00 |
|
Irmen de Jong
|
86d4a4309f
|
cleanups
|
2024-12-05 21:56:00 +01:00 |
|
Irmen de Jong
|
1a1ab0dac6
|
changed the data type system to composite types
|
2024-12-05 21:48:51 +01:00 |
|
Irmen de Jong
|
ba8c3d14f7
|
diskio docs, remove super harmless warning message
|
2024-12-05 20:51:44 +01:00 |
|
Irmen de Jong
|
31ad8bdd8d
|
remove bankof(), documented msw() and lsw()
|
2024-12-01 21:24:26 +01:00 |
|
Irmen de Jong
|
181f3e9eb1
|
remove the unary/prefix operators ^ and << again
|
2024-12-01 20:50:33 +01:00 |
|
Irmen de Jong
|
189399d5f8
|
update to kotlin 2.1.0
|
2024-11-28 03:49:07 +01:00 |
|
Irmen de Jong
|
2eed75f602
|
call convention for @Rx parameters, also use cpu registers if possible, like normal parameters
|
2024-11-25 22:22:24 +01:00 |
|
Irmen de Jong
|
d58f9f56c4
|
tests for register args for normal subs
some warnings demoted into infos
|
2024-11-24 19:21:45 +01:00 |
|
Irmen de Jong
|
2e35f3c3a3
|
code check cleanups
|
2024-11-24 16:14:22 +01:00 |
|
Irmen de Jong
|
5c6bd9c091
|
register params support for normal subroutines
|
2024-11-24 15:56:54 +01:00 |
|
Irmen de Jong
|
cc53d698bf
|
added msw() and lsw() builtin functions (experimental)
|
2024-11-24 03:53:37 +01:00 |
|
Irmen de Jong
|
cb86206698
|
added unary ^ and << operators (experimental) (gets bank and address of a long integer)
|
2024-11-24 03:07:18 +01:00 |
|
Irmen de Jong
|
d77b1944fb
|
rename bnk() to bankof()
|
2024-11-24 00:53:09 +01:00 |
|
Irmen de Jong
|
5c09dc10ae
|
convert build.gradle to build.gradle.kts (kotlin DSL)
|
2024-11-20 23:23:26 +01:00 |
|
Irmen de Jong
|
ae0cadb383
|
added bnk() builtin function
|
2024-11-20 23:23:21 +01:00 |
|
Irmen de Jong
|
9da70bdf05
|
simplify ReturnConvention a little
|
2024-11-20 23:22:56 +01:00 |
|
Irmen de Jong
|
07158a6f1a
|
improve manual about subroutine call convention
|
2024-11-15 22:59:47 +01:00 |
|
Irmen de Jong
|
f784da2da6
|
fix asm optimization regression caused by wrong label prefix comparison
|
2024-11-14 21:24:46 +01:00 |
|
Irmen de Jong
|
1d38c3582a
|
progstart() added to complement progend()
|
2024-11-13 19:29:50 +01:00 |
|
Irmen de Jong
|
4f9693055e
|
fix compiler crash when extsub has both FAC1 and FAC2 float parameters
|
2024-11-11 20:48:25 +01:00 |
|
Irmen de Jong
|
bf98ceca2c
|
make repeat support 65536 iterations
|
2024-11-11 01:58:27 +01:00 |
|
Irmen de Jong
|
1b528491c2
|
make %memtop exclusive i.e. the first address NOT to use (like kernal MEMTOP)
|
2024-11-10 23:35:25 +01:00 |
|
Irmen de Jong
|
84f5ffa426
|
fix generated labels prefix and filtering in the vice symbol dump file
|
2024-11-10 15:34:35 +01:00 |
|
Irmen de Jong
|
a50400b7d1
|
initial neo6502 target
|
2024-11-08 19:04:49 +01:00 |
|
Irmen de Jong
|
9864abd393
|
romsub keyword is now extsub
|
2024-11-06 22:14:53 +01:00 |
|
Irmen de Jong
|
c702c4a6df
|
internal rename of romsub to extsub
|
2024-11-06 21:42:16 +01:00 |
|
Irmen de Jong
|
77e376f6bf
|
romsub @bank now also accepts a variable so the bank can be dynamic
|
2024-11-06 00:02:36 +01:00 |
|
Irmen de Jong
|
491e5dbcfb
|
move the program startup and cleanup machinery to the front of the program to keep it in system ram
|
2024-11-05 22:12:25 +01:00 |
|
Irmen de Jong
|
a5c7393561
|
tweaking program startup and cleanup stuff
|
2024-11-05 21:12:27 +01:00 |
|
Irmen de Jong
|
7fd3e9bb7d
|
also provide a X16-style JSRFAR implementation for the C64. Enable callfar() and callfar2() on the C64 and C128.
|
2024-11-05 19:26:58 +01:00 |
|
Irmen de Jong
|
459e9f8f3b
|
jsrfar stuff
|
2024-11-05 01:06:06 +01:00 |
|
Irmen de Jong
|
5b1143bcb3
|
C64: add support for calling romsub with bank ('jsrfar')
|
2024-11-04 23:26:21 +01:00 |
|
Irmen de Jong
|
fddd390d31
|
on the C64, if not using floats, disable basic ROM in startup to gain another 8Kb of RAM
MEMTOP is adjusted to $d000. This gives us 50 Kb of contiguous program RAM space. ($0801-$CFFF)
|
2024-11-04 22:11:44 +01:00 |
|
Irmen de Jong
|
85e87dfe2e
|
consolidate @rombank and @rambank into just @bank
|
2024-11-03 21:15:11 +01:00 |
|
Irmen de Jong
|
155896c4c7
|
added @rombank and @rambank bank number tags on romsubs
on cx16 and c128 targets the compiler then automatically inserts a CALLFAR instead of a regular JSR to automatically do the bank switching.
|
2024-11-03 18:19:31 +01:00 |
|
Irmen de Jong
|
7cfb33a448
|
tweak & fix if expression with word condition
|
2024-11-02 22:01:57 +01:00 |
|
Irmen de Jong
|
3b798097b9
|
added memtop to machine definition and asm source code check
added %memtop directive
|
2024-11-02 00:59:07 +01:00 |
|
Irmen de Jong
|
4b23b1dc86
|
don't always import math automatically anymore
|
2024-11-01 03:39:52 +01:00 |
|
Irmen de Jong
|
4b4af9b527
|
no longer silently add RTS to asmsubs that don't have one
|
2024-10-27 13:49:00 +01:00 |
|
Irmen de Jong
|
1f2d46628e
|
remove %option align_xxx (block level alignment, as we now have better alternatives)
|
2024-10-26 21:18:34 +02:00 |
|
Irmen de Jong
|
c9535049c8
|
%align directive and @align64
|
2024-10-26 20:58:35 +02:00 |
|
Irmen de Jong
|
9317cf8a35
|
sorting aligned vars to shrink prg size
|
2024-10-26 18:33:51 +02:00 |
|
Irmen de Jong
|
1cd754f05d
|
adding @alignword/page on individual variables
|
2024-10-26 17:00:38 +02:00 |
|
Irmen de Jong
|
97b8cb748d
|
more ifexpression codegen tweaks
|
2024-10-25 22:52:26 +02:00 |
|
Irmen de Jong
|
fdd18c615c
|
more ifexpresssion codegen tweaks
|
2024-10-23 21:04:55 +02:00 |
|
Irmen de Jong
|
c14f6cfc2b
|
more optimal if expression code
|
2024-10-22 23:49:24 +02:00 |
|
Irmen de Jong
|
9927af1095
|
about var inits
|
2024-10-22 01:08:42 +02:00 |
|
Irmen de Jong
|
a6159702da
|
defers are now only registered/called when flow of control actually reached the defer statement
a defer statement sets its corresponding bit in a bitmask that is shifted in the defer handler routine to see what defer blocks to call.
|
2024-10-21 00:55:51 +02:00 |
|
Irmen de Jong
|
9851d14fb9
|
added if expression: ubyte a = if b>0 44 else 55
it doesn't generate the best code yet, like regular ifs do.
|
2024-10-19 15:34:04 +02:00 |
|