Irmen de Jong
|
7c79cdbd2f
|
fix symbol prefixing on goto with expression
added coroutines example
|
2024-12-17 16:16:38 +01:00 |
|
Irmen de Jong
|
e7a0cb636c
|
add $< and $> operators to get the lsb and msb addresses of a @split array respectively.
document the new split array things.
|
2024-12-16 17:45:54 +01:00 |
|
Irmen de Jong
|
8644a4ae91
|
more split array fixes
|
2024-12-15 22:54:06 +01:00 |
|
Irmen de Jong
|
80d88b3c61
|
fix many split array issues
|
2024-12-15 17:08:07 +01:00 |
|
Irmen de Jong
|
28c721fa7d
|
add a split-array version for word containment check
|
2024-12-15 13:45:47 +01:00 |
|
Irmen de Jong
|
8f799567cf
|
make word arrays split by default (w.i.p.)
|
2024-12-15 08:12:34 +01:00 |
|
Irmen de Jong
|
9e8cc8b54d
|
goto can now accept any expression as address (instead of just a constant), and ofcourse a label name still.
|
2024-12-15 05:22:37 +01:00 |
|
Irmen de Jong
|
cc59069876
|
allow goto to take any expression, not only an integer or an identifier (part 1)
|
2024-12-14 01:01:32 +01:00 |
|
Irmen de Jong
|
697d54e10a
|
fix asmgen for call $3000
|
2024-12-13 22:33:26 +01:00 |
|
Irmen de Jong
|
b7afda781a
|
Optimize 6502 bitwise operations on word values where only the msb or lsb is touched
|
2024-12-10 21:42:42 +01:00 |
|
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 |
|