Commit Graph

3311 Commits

Author SHA1 Message Date
Irmen de Jong
25c9b2fea4 remove an archaic machine code monitor bank setting at program exit
what did it even do?  in any case, $2d is just a user zero page location it should no longer be associated with the monitor nowadays.
2024-11-20 19:28:31 +01:00
Irmen de Jong
154f9b300f fix crash: byte c = if a < b -1 else 1 "both values should be the same type" 2024-11-19 23:46:25 +01:00
Irmen de Jong
b4fb43bc80 fix the if not check in ir codegen 2024-11-18 22:33:47 +01:00
Irmen de Jong
e0e01f794e fix dt compiler crash 2024-11-17 17:39:36 +01:00
Irmen de Jong
c080fbe59a target machine config tweak and fix possible compiler crash on wrong type name 2024-11-13 21:04:46 +01:00
Irmen de Jong
d70b8303b1 added sprites.reset() to remove sprites from the screen 2024-11-13 20:26:04 +01:00
Irmen de Jong
1d38c3582a progstart() added to complement progend() 2024-11-13 19:29:50 +01:00
Irmen de Jong
9438e996d7 Fixed math.mul16_last_upper().
Added math.lerpw() a LERP routine for words (to complement the existing math.lerp() for bytes)
Described the LERP routines in the library chapter in the docs.
2024-11-12 18:31:24 +01:00
Irmen de Jong
3b4a5e27f7 renamed gfx_hires4 module to just gfx_hires
to be consistent with gfx_lores
2024-11-12 17:48:35 +01:00
Irmen de Jong
54fccec7d7 now also support using defer inside if statements 2024-11-12 00:11:19 +01:00
Irmen de Jong
bf98ceca2c make repeat support 65536 iterations 2024-11-11 01:58:27 +01:00
Irmen de Jong
573cecb087 make memtop adjust automatically when you use %address larger than the default memtop setting. 2024-11-10 23:44:10 +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
4bdabe1961 move shared cbm diskio to its own file (c64/c128) so that pet/atari/neo targets give better error message when trying to import non existing diskio module there
sorted the command line options alphabetically
2024-11-10 16:38:49 +01:00
Irmen de Jong
a3fa527378 move shared cbm diskio to its own file (c64/c128) so that pet/atari/neo targets give better error message when trying to import non existing diskio module there 2024-11-10 15:35:36 +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
300d1a871c c128 banks out basic, added banks() and getbanks() 2024-11-09 15:44:08 +01:00
Irmen de Jong
3ba1d00a7c add unit test for @dirty variables 2024-11-09 13:31:54 +01:00
Irmen de Jong
64164c1c72 changed @initonce to @dirty and meaning is now: not initialized at all. 2024-11-08 22:05:31 +01:00
Irmen de Jong
93a0a41e73 Merge branch 'initonce-var-tag'
# Conflicts:
#	examples/test.p8
2024-11-08 19:32:30 +01:00
Irmen de Jong
7d4dc3c063 update 2024-11-08 19:04:51 +01:00
Irmen de Jong
a50400b7d1 initial neo6502 target 2024-11-08 19:04:49 +01:00
Irmen de Jong
f89f1a84d0 @initonce variable tag to skip variable reinitialization 2024-11-08 19:03:48 +01:00
Irmen de Jong
688dce6145 floats: added AYINT2 as a safe wrapper for AYINT. Internal float to word cast now also uses that. 2024-11-08 18:52:48 +01:00
Irmen de Jong
b88f550c5b todo 2024-11-07 00:48:13 +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
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
e514eeba17 added c64.banks() and c64.getbanks() and c64 banking example 2024-11-04 20:14:30 +01:00
Irmen de Jong
85e87dfe2e consolidate @rombank and @rambank into just @bank 2024-11-03 21:15:11 +01:00
Irmen de Jong
0fc9aa6b2d cx16: romsubs of the audio routines now have the rom bank tag.
cx16: removed 'audio' module again, no longer needed to have these stubs
2024-11-03 18:35:10 +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
9f84aa5fb2 fix double %option merge problem where it deleted all of the blocks 2024-11-03 13:36:14 +01:00
Irmen de Jong
66fc109ce5 correct program name in help 2024-11-02 22:16:57 +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
6fb05bdefc replaced deprecated cx16 ZSOUND example by new ZSMKIT examples 2024-11-01 23:17:23 +01:00
Irmen de Jong
64ea72ed4d tweak plot 2024-11-01 21:56:27 +01:00
Irmen de Jong
89425088ce taking address of a split word array is no longer a fatal error but a warning and the array is turned back into a normal word array. 2024-11-01 20:18:31 +01:00
Irmen de Jong
925b9d845d fix split array possible compiler loop (due to wrong datatype replacement) 2024-11-01 19:18:03 +01:00
Irmen de Jong
ad074076c2 remove last references to gfx2 module 2024-11-01 18:41:36 +01:00
Irmen de Jong
4b23b1dc86 don't always import math automatically anymore 2024-11-01 03:39:52 +01:00
Irmen de Jong
9005c7994a added Linear Interpolation (LERP) functions: math.lerp(), floats.lerp(), floats.lerp_fast() 2024-11-01 02:05:48 +01:00
Irmen de Jong
09cbdf410a added diskio.exists(), made f_close_w() idempotent like f_close() already was 2024-10-31 21:25:22 +01:00
Irmen de Jong
df6a43c7f0 gfx_lores now has drawmode_eor() (used by Paint, for example) 2024-10-31 01:28:29 +01:00