Irmen de Jong
906b137a7c
renamed 'string' module to 'strings' for consistency
2024-11-23 15:51:38 +01:00
Irmen de Jong
42e2c5f605
fix some deprecated code in tests
...
silence redundant error about unused txt block
2024-11-23 15:48:18 +01:00
Irmen de Jong
4958463e75
moved floats.MIN/MAX to sys.MIN_FLOAT/MAX_FLOAT
...
added txt.print_f as alias to floats.print
2024-11-22 00:46:23 +01:00
Irmen de Jong
2360625927
added min/max values for the various integer types as sys.MAX_XXX and sys.MIN_XXX
...
renamed sys.sizeof_xxx into sys.SIZEOF_XXX to be consistent with the uppercasing of the other constants
2024-11-21 23:25:02 +01:00
Irmen de Jong
8badc40883
added several float limits contants such as floats.EPSILON, E, MIN, MAX
...
fix VM float min max limits
2024-11-21 23:25:02 +01:00
Irmen de Jong
984230e8fa
removed txt.VERA_TEXTMATRIX_BANK/VERA_TEXTMATRIX_ADDR it's now just txt.VERA_TEXTMATRIX (long const)
2024-11-20 23:22:56 +01:00
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
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
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
300d1a871c
c128 banks out basic, added banks() and getbanks()
2024-11-09 15:44:08 +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
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
9864abd393
romsub keyword is now extsub
2024-11-06 22:14:53 +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
64ea72ed4d
tweak plot
2024-11-01 21:56:27 +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
Irmen de Jong
4ce130dc8b
split up cx16.gfx2 module into gfx_lores and gfx_hires4 modules
2024-10-30 22:21:07 +01:00
Irmen de Jong
94d76aa82c
cx16.vaddr(), vaddr_clone(), vaddr_autoincr(), vaddr_autodecr() now all reset vera's ADDRSEL back to 0 even if the configured port was 1
2024-10-30 21:40:58 +01:00
Irmen de Jong
73609636c5
gfx_lores.set_screen_mode() is now gfx_lores.graphics_mode()
...
adding all missing routines from gfx2 to gfx_lores
2024-10-30 21:39:37 +01:00
Irmen de Jong
66b06d6c40
added gfx2.safe_vertical_line, gfx2.safe_rect, gfx2.safe_fillrect for completeness
2024-10-30 19:03:40 +01:00
Irmen de Jong
483d193ced
vm: implemented reading/writing files in diskio
2024-10-29 02:34:53 +01:00
Irmen de Jong
570b574b93
added sys.memcmp
2024-10-28 00:41:26 +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
97b8cb748d
more ifexpression codegen tweaks
2024-10-25 22:52:26 +02:00
Irmen de Jong
d8f1822c12
fixes
2024-10-18 20:32:46 +02:00
Irmen de Jong
65ddcf91d0
remove unused syscalls
2024-10-15 18:24:55 +02:00
Irmen de Jong
fb23452383
optimize monogfx.fill()
2024-10-12 17:18:00 +02:00
Irmen de Jong
1a6b95b388
house cleaning
2024-10-10 20:46:18 +02:00
Irmen de Jong
7e38d26c33
added several color fade functions to the palette module (cx16)
2024-10-09 21:48:04 +02:00
Irmen de Jong
5731b79554
don't allow problematic string and array assignments anymore, improve error messages.
...
In certain cases you will need to use string.copy() explicitly to overwrite strings with new strings.
2024-10-09 00:51:05 +02:00
Irmen de Jong
b2bdfe8482
fix ir rndseed()
2024-10-08 20:40:00 +02:00
Irmen de Jong
fea531be9a
add sys.sizeof_bool, _ubyte, _uword constants
2024-10-07 20:45:13 +02:00
Irmen de Jong
ae669af904
add sys.sizeof_byte, _word, _float constants
...
because Antlr doesn't allow the grammar to contain a sizeof(typename) rule to override the sizeof(identifier) rule
2024-10-07 19:17:37 +02:00
Irmen de Jong
d1ddf05e38
check that block address leaves room for program startup logic
2024-10-03 22:30:06 +02:00