Irmen de Jong
|
ce00e49a89
|
version 8.12
|
2023-04-30 14:04:54 +02:00 |
|
Irmen de Jong
|
ee5c94f6db
|
c128: fix key status zp location symbols
|
2023-04-28 20:43:26 +02:00 |
|
Irmen de Jong
|
3f64782023
|
c128: remove floats module
|
2023-04-28 17:48:54 +02:00 |
|
Irmen de Jong
|
f8d35f9502
|
c128: no FP support
|
2023-04-28 17:43:42 +02:00 |
|
Irmen de Jong
|
e056a28316
|
c128: fix memory bank resetting
|
2023-04-28 04:02:07 +02:00 |
|
Irmen de Jong
|
e1b89494d0
|
tiny psg improvement to avoid clicks more on changing freq or envelope, added cx16.vpoke_mask()
|
2023-04-26 22:45:32 +02:00 |
|
Irmen de Jong
|
cd8e7f3912
|
psg comment
|
2023-04-24 01:23:03 +02:00 |
|
Irmen de Jong
|
50604c25c2
|
remove obsolete comments, updated links and docs.
|
2023-04-23 15:13:53 +02:00 |
|
Irmen de Jong
|
aa6b2357d8
|
fix void warnings
|
2023-04-18 23:47:31 +02:00 |
|
Irmen de Jong
|
5b2d29bef6
|
improved and added a few system routines for the cx16
|
2023-04-18 23:20:28 +02:00 |
|
Irmen de Jong
|
a296d26328
|
api change: renamed cx16.push/pop_vera_context() to save/restore_vera_context()
this better reflects its capability because it doesn't use a stack, only a single buffer
|
2023-04-17 23:37:15 +02:00 |
|
Irmen de Jong
|
efd7d6f0c0
|
tweak IR call args setting now via special SETPARAM instruction
|
2023-04-14 02:10:39 +02:00 |
|
Irmen de Jong
|
b55be093be
|
tweak IR
|
2023-04-11 22:48:20 +02:00 |
|
Irmen de Jong
|
7c1d5cadd7
|
fix sort and reverse on strings on 6502 codegen
|
2023-04-10 19:33:24 +02:00 |
|
Irmen de Jong
|
dd1592b03b
|
ir syscalls args via stack instead of fixed r65500+
|
2023-04-10 18:02:37 +02:00 |
|
Irmen de Jong
|
9b37ac483f
|
vm fix str to word conversion
ir SYSCALL puts result(s) on value stack, instead of on hardcoded r0, r1
|
2023-04-10 16:26:42 +02:00 |
|
Irmen de Jong
|
ac21e1be5c
|
vm syscall instruction no longer fixed to r0
|
2023-04-10 13:44:05 +02:00 |
|
Irmen de Jong
|
f47498888c
|
optimize imports
|
2023-04-07 22:34:23 +02:00 |
|
Irmen de Jong
|
4a0f15eb88
|
some loose ends
|
2023-04-06 21:19:21 +02:00 |
|
Irmen de Jong
|
2d85fd093e
|
Merge branch 'new-expr-codegen'
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/BuiltinFunctionsAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/BuiltinFuncGen.kt
# examples/test.p8
|
2023-03-29 23:56:16 +02:00 |
|
Irmen de Jong
|
d936568b76
|
added divmod() and divmodw() builtin functions to efficiently compute division and remainder in a single call
|
2023-03-29 23:46:44 +02:00 |
|
Irmen de Jong
|
f28206d989
|
new attempt
|
2023-03-28 20:01:26 +02:00 |
|
Irmen de Jong
|
9ccda0247e
|
Merge pull request #102 from Frosty-J/vera
DC_VER0 through 3
|
2023-03-24 02:10:23 +01:00 |
|
Irmen de Jong
|
d91f47c791
|
fix cx16 graphics.plot() colors, and FB_set_palette definition
|
2023-03-24 01:56:29 +01:00 |
|
Frosty-J
|
a9ac4e7f44
|
Even more VERA_DC constants!
|
2023-03-23 17:29:28 +00:00 |
|
Irmen de Jong
|
c66734bab0
|
fix cx16 ubyte to float cast (wrong rom routine)
|
2023-03-20 23:25:28 +01:00 |
|
Irmen de Jong
|
deea0b05cb
|
tweak cx16 system init and reset to not reset Vera any more
uses new audio routine to silence the audio
|
2023-03-19 21:16:23 +01:00 |
|
Irmen de Jong
|
3613162d09
|
fix RPN string comparisons
|
2023-03-18 16:55:03 +01:00 |
|
Irmen de Jong
|
20dbdb20d2
|
renamed the cx16 VIA register variables to more meaningful names
|
2023-03-17 22:28:09 +01:00 |
|
Irmen de Jong
|
78a097585d
|
new IR call and return instructions to deal with returnregisters
|
2023-03-12 21:54:59 +01:00 |
|
Irmen de Jong
|
f40e0f786d
|
txt.width() and txt.height() added for vm target
|
2023-03-11 16:05:45 +01:00 |
|
Irmen de Jong
|
043df18daa
|
set X to bottom part of eval stack in irq handler. fixes #94
|
2023-03-10 23:29:34 +01:00 |
|
Irmen de Jong
|
f350137a14
|
fix array in place assignments
fixes balls and snow examples amongst others
|
2023-03-10 04:07:50 +01:00 |
|
Irmen de Jong
|
fd07ae5225
|
fix various IR file and symboltable issues
|
2023-03-07 19:40:11 +01:00 |
|
Irmen de Jong
|
8acd94fc89
|
avoid work
|
2023-03-05 12:32:58 +01:00 |
|
Irmen de Jong
|
6e9025ebf2
|
cx16 fix irq statusbit handling and kefrenbars example
|
2023-03-03 21:58:08 +01:00 |
|
Irmen de Jong
|
00bc99cc7b
|
added cx16/stream-wav example, refactor pcmaudio code
|
2023-03-03 14:18:13 +01:00 |
|
Irmen de Jong
|
ded2483fc0
|
cx16 startup code now properly turns off mouse cursor
|
2023-02-27 23:35:42 +01:00 |
|
Irmen de Jong
|
fd5ebef488
|
cx16 startup code now also selects ram bank 1
|
2023-02-21 21:53:32 +01:00 |
|
Irmen de Jong
|
f7dd388954
|
remove unsupported floats.FTOSWRDAY routine. Fixes #96
|
2023-02-17 18:05:46 +01:00 |
|
Irmen de Jong
|
3916de2921
|
attempt to clarify docs of cx16.numbanks()
|
2023-02-13 23:45:53 +01:00 |
|
Irmen de Jong
|
914f19be86
|
version 8.9
|
2023-02-12 17:38:13 +01:00 |
|
Irmen de Jong
|
79d0fb0b52
|
cx16.numbanks() now returns a word because the result can be >255
|
2023-02-08 00:51:34 +01:00 |
|
Irmen de Jong
|
edf56d34f8
|
doc about no conditional compilation, fixes #93
also added a note to MEMTOP about 0 result
|
2023-02-06 23:36:19 +01:00 |
|
Irmen de Jong
|
32c1c19224
|
tweak sys.wait() routines on various targets
add warning to docs about FP usage in IRQ
|
2023-01-20 03:29:10 +01:00 |
|
Irmen de Jong
|
bbf6357222
|
remove workaround for black cursor at boot as this was recently fixed in the kernal rom.
|
2023-01-17 23:27:27 +01:00 |
|
Irmen de Jong
|
9225f88f89
|
diskio comments
|
2022-12-30 15:49:53 +01:00 |
|
Irmen de Jong
|
7ee777f405
|
vm/ir: for loop is now correctly skipped if loopvar>endvar
this is different still in the 6502 codegen, where it wraps around $00!
|
2022-12-27 18:12:41 +01:00 |
|
Irmen de Jong
|
1860f66de5
|
allow "x not in array" as equivalent to "not x in array"
update antlr parsing lib
|
2022-12-23 17:59:56 +01:00 |
|
Irmen de Jong
|
4e103a1963
|
making snow example more interesting
|
2022-12-22 13:04:26 +01:00 |
|
Irmen de Jong
|
475e927178
|
version 8.8
|
2022-12-17 23:00:49 +01:00 |
|
Irmen de Jong
|
8ab47d3321
|
fix_autostart_square() now preserves X register correctly
|
2022-12-14 01:07:44 +01:00 |
|
Irmen de Jong
|
832601b36b
|
workaround for black square issue at start
|
2022-12-11 11:48:41 +01:00 |
|
Irmen de Jong
|
a1d04f2aad
|
added more $03xx vector definitions to C64/C128/CX16 syslib
|
2022-12-06 20:23:56 +01:00 |
|
Irmen de Jong
|
f2273c0acc
|
fix several FP rom routine addresses on cx16.
|
2022-12-03 19:56:54 +01:00 |
|
Irmen de Jong
|
7b6c742178
|
fixed diskio.f_read() for small read sizes
|
2022-11-24 00:23:37 +01:00 |
|
Irmen de Jong
|
d4a35ba6ff
|
got rid of diskio.have_first_byte overhead
|
2022-11-23 21:53:36 +01:00 |
|
Irmen de Jong
|
68b112837a
|
fix cx16logo.logo() printing correct newlines
|
2022-11-23 02:25:20 +01:00 |
|
Irmen de Jong
|
f870e4965a
|
added cx16diskio.f_seek() function to seek to a position in an opened file
f_open uses channel 12 now, f_open_w uses 13
|
2022-11-23 01:48:04 +01:00 |
|
Irmen de Jong
|
77e956a29f
|
API change: diskio.list_files doesn't have an internal buffer anymore, you now have to supply a buffer + size yourself. Renamed to list_filenames
|
2022-11-20 23:27:22 +01:00 |
|
Irmen de Jong
|
08275c406a
|
added chdir/mkdir/rmdir/relabel to cx16diskio
|
2022-11-20 22:59:44 +01:00 |
|
Irmen de Jong
|
2931e1b87b
|
diskio file lister routines now also put file type (prg, seq, dir) in new diskio.list_filetype variable
|
2022-11-20 20:22:09 +01:00 |
|
Irmen de Jong
|
153b422496
|
cx16: retain display mode (composite etc)
|
2022-11-20 19:19:01 +01:00 |
|
Irmen de Jong
|
0f6a6d6fea
|
attempt to make gfx2 screen mode 0 cleanup more robust on real hardware
|
2022-11-18 22:53:28 +01:00 |
|
Irmen de Jong
|
f4f355c74a
|
added cx16/diskspeed example
|
2022-11-14 17:55:55 +01:00 |
|
Irmen de Jong
|
b465fc5aaf
|
fix bug in word array containment check (prog8_lib.containment_wordarray) that could hang the loop
|
2022-11-12 23:19:01 +01:00 |
|
Irmen de Jong
|
2d78eaa48d
|
fix gfx2 text color, added cx16 snow example
|
2022-11-12 22:08:07 +01:00 |
|
Irmen de Jong
|
3dcf628fdb
|
fixed subroutine name shadow check
|
2022-11-10 22:51:37 +01:00 |
|
Irmen de Jong
|
e614e9787a
|
ir: write values as hex into p8ir file
|
2022-11-08 21:59:05 +01:00 |
|
Irmen de Jong
|
e426fc0922
|
version 8.7
|
2022-11-06 22:58:39 +01:00 |
|
Irmen de Jong
|
5d4bfffc7e
|
float.rndseedf() now takes float seed value and is consistent for all CBM compilation targets
|
2022-11-06 22:53:57 +01:00 |
|
Irmen de Jong
|
207cdaf7a4
|
fix kefrenbars example (use gfx2 instead of kernal routines)
|
2022-11-06 17:33:30 +01:00 |
|
Irmen de Jong
|
7315b581ce
|
added gfx2.pget(x,y) to get the pixel color value
|
2022-11-06 13:40:55 +01:00 |
|
Irmen de Jong
|
38efaae7b2
|
ir/vm: syscall params in high base register to avoid push/pop
|
2022-11-06 12:52:09 +01:00 |
|
Irmen de Jong
|
469e042216
|
vm: replaced prog8_lib.string_compare and others with syscalls
|
2022-11-04 23:12:13 +01:00 |
|
Irmen de Jong
|
7303c00296
|
vm: prog8lib.wordarray_contains() fixed
|
2022-11-03 22:48:47 +01:00 |
|
Mark J. Reed
|
c2f062a391
|
fix: don't ignore shape argument to cx16.mouse_config2
|
2022-10-29 17:10:06 -04:00 |
|
Irmen de Jong
|
7b6cd0cfbe
|
cx16.macptr() now has additional argument in the carry flag, to reflect recent X16 kernal api change.
Also now allow bool type for status flag args and returnvalues.
|
2022-10-26 20:41:10 +02:00 |
|
Irmen de Jong
|
da8eb464b8
|
add cx16diskio.vload_raw() to load headerless files into vram
|
2022-10-25 21:12:11 +02:00 |
|
Irmen de Jong
|
adcbe55307
|
replaced integer RNG with smaller and faster routine.
|
2022-10-22 22:01:57 +02:00 |
|
Irmen de Jong
|
00afa1ce52
|
ir: replace RND opcode by syscalls
|
2022-10-22 17:20:46 +02:00 |
|
Irmen de Jong
|
e94bf4c63c
|
replace rnd()/rndw() builtin functions by regular routines in math module
|
2022-10-22 17:02:43 +02:00 |
|
Irmen de Jong
|
ec5adffdc2
|
rnd()/rndf() routines can now be seeded with new rndseed()/rndseedf() routines. fixes #80
|
2022-10-22 13:34:22 +02:00 |
|
Irmen de Jong
|
0d4dd385b8
|
added '%ir' to write inline IR code, '%asm' is now only for real 6502 assembly.
(%ir is probably only used in the library modules for the virtual machine target)
|
2022-09-30 15:12:26 +02:00 |
|
Irmen de Jong
|
7c1bdfe713
|
ir: uninitialized vars remain empty, bss section classifier (unused for now as there are no segements yet)
|
2022-09-28 16:56:50 +02:00 |
|
Irmen de Jong
|
9f09784b55
|
version 8.6.2
|
2022-09-27 22:45:48 +02:00 |
|
Irmen de Jong
|
1d2ce2cbeb
|
consolidate IR line parse function
|
2022-09-27 18:02:57 +02:00 |
|
Irmen de Jong
|
dcc9a71455
|
version 8.6.1
|
2022-09-25 21:54:35 +02:00 |
|
Irmen de Jong
|
1a56743bb1
|
fix IR repeat loop codegen when amount is 0
|
2022-09-25 20:48:17 +02:00 |
|
Irmen de Jong
|
387a4b7c35
|
added string.lowerchar() and string.upperchar()
|
2022-09-25 20:20:38 +02:00 |
|
Irmen de Jong
|
c26e116f0e
|
vm: fix crashes when array contains pointers/strings
|
2022-09-24 14:42:07 +02:00 |
|
Irmen de Jong
|
46dac909ef
|
vm/math.p8: complete the sin and cos routines
|
2022-09-22 15:49:19 +02:00 |
|
Irmen de Jong
|
97aa91c75e
|
removed 16 bits sin/cos routines from math library (sin16, sin16r etc)
|
2022-09-22 12:55:00 +02:00 |
|
Irmen de Jong
|
627ed51a1b
|
IR: mem mapped vars and memory slabs
|
2022-09-19 15:20:40 +02:00 |
|
Irmen de Jong
|
0e831d4b92
|
fix superfluous usage of addressOf()
|
2022-09-16 00:31:04 +02:00 |
|
Irmen de Jong
|
e34bab9585
|
change syntax of address-of in p8virt code to &X, instead of {X}
|
2022-09-13 23:28:52 +02:00 |
|
Irmen de Jong
|
3ab5e5ac48
|
added cx16.kbdbuf_clear()
|
2022-09-01 18:40:17 +02:00 |
|
Irmen de Jong
|
c33dc0f3be
|
version
|
2022-08-21 14:37:10 +02:00 |
|
Irmen de Jong
|
a878c9a61d
|
add some documentation to the psg module
|
2022-08-19 22:17:23 +02:00 |
|
Irmen de Jong
|
6454bf8ec4
|
added mouse cursor to amiga example
slightly sped up text rendering in gfx2 highres mode
|
2022-08-16 04:25:59 +02:00 |
|
Irmen de Jong
|
b6eef3612f
|
added some ported bench8 test programs
|
2022-08-12 22:08:27 +02:00 |
|
Irmen de Jong
|
68abda1219
|
fix a few small compiler errors (removing functioncall, removing block, assigning virtual register return value)
|
2022-08-09 23:38:29 +02:00 |
|
Irmen de Jong
|
e560e2ab3f
|
vm instructions now contain info on input/output registers
|
2022-08-07 18:49:16 +02:00 |
|
Irmen de Jong
|
197081f10d
|
keyboardhandler
|
2022-08-04 23:04:16 +02:00 |
|
Irmen de Jong
|
00b717cde8
|
tweak
|
2022-08-04 18:35:10 +02:00 |
|
Irmen de Jong
|
a38ddcb364
|
diskio use other filename buffer to avoid always having large buffer
|
2022-08-02 00:58:32 +02:00 |
|
Irmen de Jong
|
5b9576df4e
|
added diskio.send_command()
diskio now reuses some buffer internally for file names to save some memory
|
2022-08-01 22:59:27 +02:00 |
|
Irmen de Jong
|
90ddec2ad8
|
avoid multiple change events in watch mode
added bsieve example
|
2022-07-31 11:58:27 +02:00 |
|
Irmen de Jong
|
f6b03d5a78
|
added diskio.diskname(), improved error checking in diskio.directory()
|
2022-07-30 13:35:42 +02:00 |
|
Irmen de Jong
|
f2d27403c5
|
add string.endswith() to efficiently test for a suffix without copying
add string.startswith() to efficiently test for string prefix without copying
|
2022-07-21 00:38:30 +02:00 |
|
Irmen de Jong
|
473efbe67a
|
tweaks
|
2022-07-17 22:09:56 +02:00 |
|
Irmen de Jong
|
80ab552ad8
|
fix wrong code for signed word >= 0
|
2022-07-17 19:02:56 +02:00 |
|
Irmen de Jong
|
7d4695c5b2
|
cx16: graphics module y resolution corrected from 200 to 240. added 'cx16/circles' example.
|
2022-07-17 18:59:52 +02:00 |
|
Irmen de Jong
|
a07c52e112
|
conv.any2uword / conf.hex2uword can now deal with iso lower and upper case letters as well.
|
2022-07-17 02:39:40 +02:00 |
|
Irmen de Jong
|
7cb9a6ba60
|
diskio.status() more robust (stops at newline char instead of overwriting buffer), diskio.f_open better detects error status
|
2022-07-15 22:21:34 +02:00 |
|
Irmen de Jong
|
350dc731f1
|
cx16: sys.reset_system() now resets vera fully as well (such as PSG sound), kernal didn't seem to do that
|
2022-07-14 23:44:53 +02:00 |
|
Irmen de Jong
|
4bc65e9ef7
|
fix stack crash in cx16.push_vera_context()
|
2022-07-14 16:33:09 +02:00 |
|
Irmen de Jong
|
35af53828a
|
fix endless loop in optimizer, fix cx16 register clobbering in psg interrupt handler, fix crash on certain arrays, fix undefined symbol when it's in another imported module
|
2022-07-13 18:42:06 +02:00 |
|
Irmen de Jong
|
feb5c8be95
|
vm: some more peephole optimizations
|
2022-07-12 19:04:19 +02:00 |
|
Irmen de Jong
|
6181b12ab8
|
added -esa option to override the evalstack location, and shift cx16.r0-r15 accordingly
|
2022-07-11 19:29:04 +02:00 |
|
Irmen de Jong
|
8acb37b6c2
|
use bool type in examples and libraries
|
2022-07-08 21:50:32 +02:00 |
|
Irmen de Jong
|
c51c1da618
|
psg micro optimizations
|
2022-07-03 11:55:13 +02:00 |
|
Irmen de Jong
|
ea2812f50f
|
add max volume to psg envelope
|
2022-07-03 11:26:56 +02:00 |
|
Irmen de Jong
|
3ec05709d5
|
convert the sounds in cx16 tehtriz to use the psg module instead
|
2022-07-03 01:40:29 +02:00 |
|
Irmen de Jong
|
4bdac7404a
|
added sustain to psg envelope
|
2022-07-03 00:55:25 +02:00 |
|
Irmen de Jong
|
cc41218d37
|
added nicer vm example
|
2022-07-03 00:41:04 +02:00 |
|
Irmen de Jong
|
064d412ec8
|
added cx16.push_vera_context() and cx16.pop_vera_context() for use in irq handlers
|
2022-07-02 23:13:00 +02:00 |
|
Irmen de Jong
|
7fff4f249d
|
optimize msb(cx16.r0) -> cx16.r0H, lsb(cx16.r0) -> cx16.r0L
|
2022-07-02 21:38:22 +02:00 |
|
Irmen de Jong
|
7a3745f642
|
psg tweaks
|
2022-07-02 20:33:40 +02:00 |
|
Irmen de Jong
|
f8658f6afa
|
precalc vera freq to not use floating point math anymore
|
2022-07-02 19:40:18 +02:00 |
|
Irmen de Jong
|
223b725a10
|
psg abstraction and attack/release envelope
|
2022-07-02 18:47:12 +02:00 |
|
Irmen de Jong
|
965340ff90
|
logical and/or/xor/not all replaced by bitwise &,|,^,~ (ast, codegens)
this also fixed some invalid outcomes of logical expressions!
|
2022-07-02 00:38:17 +02:00 |
|
Irmen de Jong
|
fb989ae62f
|
cx16: reset rom/ram/monitor banks at program exit to sane values.
|
2022-07-01 00:14:38 +02:00 |
|
Irmen de Jong
|
4ca0805de1
|
bump version
|
2022-06-29 01:35:14 +02:00 |
|
Irmen de Jong
|
4b358abbb7
|
"not" operator removed from ast and codegen (it's been replaced with x==0 as equivalent)
|
2022-06-29 01:13:08 +02:00 |
|
Irmen de Jong
|
0fcd57192b
|
cx16diskio.f_read() now correctly deals with banked ram boundary
|
2022-06-26 21:42:56 +02:00 |
|
Irmen de Jong
|
5656ec11d3
|
fix missing abs(byte) routine
|
2022-06-24 01:51:54 +02:00 |
|
Irmen de Jong
|
df36983049
|
version 8.2
|
2022-06-15 22:31:29 +02:00 |
|
Irmen de Jong
|
8f9a0a244a
|
trying to add zsound pcm player example as well
|
2022-06-10 23:35:37 +02:00 |
|
Irmen de Jong
|
3054a1d32d
|
api change: removed swap() builtin function (too complex in codegen for little used function)
|
2022-06-06 16:01:11 +02:00 |
|
Irmen de Jong
|
0349d1d57c
|
diskio: moved cx16 optimized f_read() to cx16diskio instead
so unfortunately you have to select the faster version yourself when on cx16
|
2022-06-04 00:33:27 +02:00 |
|
Irmen de Jong
|
c7eafd7c79
|
cx16: fix macptr() signature and use it in diskio.f_read() for big increase in load speed
|
2022-06-02 00:37:18 +02:00 |
|
Irmen de Jong
|
10b5fb5d72
|
fix for total size returnvalue of diskio.f_read_all()
|
2022-06-01 01:13:19 +02:00 |
|
Irmen de Jong
|
a735939d1e
|
removed confusing GPL software license reference and copyright header from library files. (because of exclusion in output files)
Reworded software license and exclusion clause somewhat again in attempt to make it even clearer.
|
2022-05-30 20:12:20 +02:00 |
|
Irmen de Jong
|
6ed5f04970
|
version 8.1
|
2022-05-25 20:00:26 +02:00 |
|
Irmen de Jong
|
e69aeb8b98
|
added warning about shadowing variables
|
2022-05-22 17:34:08 +02:00 |
|
Irmen de Jong
|
4e1184a400
|
vm: added some of the sin cos tables in math.p8
|
2022-05-17 22:56:00 +02:00 |
|
Irmen de Jong
|
0bf00d1ca4
|
c64/c128 targets: perform cleanup at program exit such as re-enabling run-stop key and character set switching.
|
2022-05-15 16:44:26 +02:00 |
|
Irmen de Jong
|
4dc9b45297
|
vm: fixed string comparisons, added missing vm string module
|
2022-05-13 23:10:13 +02:00 |
|
Irmen de Jong
|
4be7bc8323
|
vm: limit float instructions to just 2 register args
|
2022-05-11 22:09:46 +02:00 |
|