Irmen de Jong
59387b2ae8
Merge branch 'master' into structs
...
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
2025-06-07 20:28:23 +02:00
Irmen de Jong
bebe60b687
fix compiler crash on for x in wordvar, add sys.get_as_returnaddress()
2025-06-05 16:10:40 +02:00
Irmen de Jong
112ca3cc53
allow sizeof(&thing), add sys.SIZEOF_POINTER
2025-05-29 15:58:29 +02:00
Irmen de Jong
3b1b0985c1
make sizeof(float) work, so you don't have to use sys.SIZEOF_FLOAT anymore etc.
...
define sys.SIZEOF_FLOAT in terms of sizeof(float)
2025-05-29 12:38:03 +02:00
Irmen de Jong
1a07129865
c64: graphics.horizontal_line() is romable
2025-04-17 00:02:17 +02:00
Irmen de Jong
4fbd67ff99
txt.setcc() is romable
2025-04-16 23:44:50 +02:00
Irmen de Jong
5bc6c50f42
txt.setclr() and getclr() are romable
2025-04-16 23:38:16 +02:00
Irmen de Jong
063de3801d
txt.getchr() is romable
2025-04-16 23:32:18 +02:00
Irmen de Jong
ae65266a4a
txt.setchr() is romable
2025-04-16 23:27:23 +02:00
Irmen de Jong
801fe1b604
c64: callfar() is now romable
2025-04-16 21:13:59 +02:00
Irmen de Jong
14a2b96609
scanned libraries for self-modifying code/inline vars (romable problem)
2025-04-14 21:15:32 +02:00
Irmen de Jong
0916b943da
sys.exit(), exit2(), exit3() now romable
2025-04-09 22:13:52 +02:00
adiee5
9be40e85ff
Improve romability of low-level libs ( #160 )
...
* Improve romability of low-level libs
* Improve ROMability of targeted syslibs
Previous commit just did that for multitarget libs, now it's also syslibs of built-in targets that get this treatment too.
2025-04-01 23:00:14 +02:00
Irmen de Jong
a28b265197
fix diskio merge issue on c64 and c128. Fixes #167
2025-03-31 22:06:49 +02:00
Irmen de Jong
7b9a841b2a
fix C64 graphics.plot() it was broken since 10.5
2025-03-06 00:42:17 +01:00
Irmen de Jong
5c56267662
Also romable warning for inline variables. Added TODO: Romable in library files where applicable
2025-02-21 21:58:31 +01:00
Irmen de Jong
0191acb2b3
fix IR codegen for the RETURN 4,5,6,7
...
added cx16.EXTAPI_memory_decompress_from_func for cx16
2025-01-22 23:31:51 +01:00
Irmen de Jong
a2be42c5ca
txt.get_cursor() now returns the column and row as 2 values, no longer requires 2 pointer arguments
2025-01-04 04:06:27 +01:00
Irmen de Jong
f786f60e9c
cmb.PLOT: fixed order of return registers (Y then X, column then row) - same as argument order
2024-12-29 07:42:13 +01:00
Irmen de Jong
529ea5bf58
added coroutines library and multitasking example. Added sys.push_returnaddress().
2024-12-26 00:57:39 +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
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
1d38c3582a
progstart() added to complement progend()
2024-11-13 19:29:50 +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
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
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
64ea72ed4d
tweak plot
2024-11-01 21:56:27 +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
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
1541ad2160
fix variable init order mistake in program startup
...
reset multiply bit at end of verafx.muls
2024-09-28 19:17:45 +02:00
Irmen de Jong
46b94c17d6
comment
2024-09-20 17:33:00 +02:00
markjreed
16a2b2f566
Add 24-bit integer-to-float routine and floating-point jiffy clock reader ( #150 )
...
* feat: add routine to convert 24-bit integer from A/X/Y to float in FAC1
* fix: remove duplicate definition
* fix: shift to appropriate exponent
2024-09-20 17:28:37 +02:00
Irmen de Jong
0b1f30d98c
no more span overdraws in graphics disc routines
2024-09-15 15:38:33 +02:00
Irmen de Jong
484677b4b1
Get rid of any() and all() builtin functions.
...
Replaced by regular subroutines in the anyall module.
2024-07-06 18:49:03 +02:00
Irmen de Jong
25f25a8767
Get rid of sort() and reverse() builtin functions.
...
Sort() had too many gotchas and reverse() is kinda redundant you can loop in decreasing order through an array too.
2024-07-06 17:07:58 +02:00
Irmen de Jong
d8ec03874f
move the pi-related constants from system specific floats module into the shared one. Clarify some stuff.
2024-04-15 19:15:44 +02:00
Irmen de Jong
ddb8346711
added txt.cls() as a shorter alternative to clear_screen().
...
cx16: added new character encodings, and routines in textio to enable the character sets for them.
cx16: added txt.chrout_lit() and txt.print_lit() to always print the literal characters and never as control codes
2024-04-07 19:32:44 +02:00
Irmen de Jong
66a6659a6e
cbm.STOP2() and cbm.GETIN2() convenience routines
2024-04-06 02:16:21 +02:00
Irmen de Jong
34f3169dda
tweak library routines for multiple return values.
...
cbm:
MEMTOP changed (now also returns nr of banks in A)
STOP2 removed (just use STOP)
RDTIM_safe() added TEST IRQ ENABLE
RDTIM16 changed (internally) TEST IRQ ENABLE
cx16:
screen_mode changed (now also returns width and height in X,Y)
kbdbuf_peek2 removed (just use kbdbuf_peek)
joystick_get changed (presence now returned as bool in Y)
joystick_get2 removed (just use joystick_get)
mouse_pos changed (now properly returns x and y position in R0 and R1)
set_led_brightness changed into set_led_state, with only a boolean on/off argument. There is no variable brightness.
sys.set_leds_brightness() removed. Use cx16.set_led_brightness().
2024-04-04 01:39:19 +02:00
Irmen de Jong
b93fa75377
consolidate cbm textio routines
2024-03-28 00:39:58 +01:00
Irmen de Jong
5a0524ff4d
various fixes
2024-03-16 18:48:06 +01:00
Irmen de Jong
1818738fc8
fixed potential bug in cx16.kbdbuf_clear() is and it is now cbm.kbdbuf_clear() and is available on all cbm like targets
2024-03-14 22:12:29 +01:00