Irmen de Jong
|
53e18a5387
|
Api change: drivenumber parameter removed from all routines in diskio and cx16diskio modules
|
2023-05-02 01:48:56 +02:00 |
|
Irmen de Jong
|
06368ab0a1
|
sqrt() now works on multiple data types including float.
no need to use floats.sqrtf() anymore
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
38efe25c68
|
abs() now works on multiple data types including float.
no need to use floats.fabs() anymore
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
319079de7a
|
sqrt
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
025bf900a5
|
min max docs, added floats.minf() and maxf()
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
4274296cf3
|
api change: new 'cbm' module that now contains the common CBM kernal variables and routines.
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
76a203d4df
|
api change: rename builtin func sqrt16 to sqrtw
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
f465b2e2a0
|
some improvements to IR peephole optimizer
|
2023-05-02 00:29:04 +02:00 |
|
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 |
|