Irmen de Jong
|
8df3da11e3
|
add cosr8, sinr8, cosr16 and sinr16 builtin functions that take a degree 0..179 (= 0..358 in 2 degree steps)
to more easily scale halves/quarters etc of a circle than possible with the ones that take 0..255 'degrees'.
|
2021-11-09 23:39:26 +01:00 |
|
Irmen de Jong
|
857724c7e6
|
attempt to make if-statement not use stack eval anymore
|
2021-11-08 19:07:36 +01:00 |
|
Irmen de Jong
|
f4c4ee78d9
|
re-use global returnvalue temp var instead of duplicating it in every subroutine that needs it
|
2021-11-07 14:19:21 +01:00 |
|
Irmen de Jong
|
72a7e61fd0
|
version 7.2
|
2021-11-06 23:42:13 +01:00 |
|
Irmen de Jong
|
1605791f1b
|
float swap() no longer uses evaluation stack but a single temp var instead + FAC1
|
2021-11-06 03:36:14 +01:00 |
|
Irmen de Jong
|
3410aea788
|
fix regression: don't add 0 initializer when variable is assigned to anyway (or is loopvar in a for-loop)
|
2021-11-02 21:23:59 +01:00 |
|
Irmen de Jong
|
14aad2358f
|
version 7.2 started
|
2021-10-16 18:46:08 +02:00 |
|
Irmen de Jong
|
07132a2c42
|
removed unreliable inlining of non-asmsub subroutines. Fixes #60
|
2021-10-08 23:09:38 +02:00 |
|
Irmen de Jong
|
b3107cfad0
|
Merge branch 'master' into v7.1
|
2021-10-04 22:38:53 +02:00 |
|
Irmen de Jong
|
06b3bf27b5
|
slightly improve sys.waitvsync() on c64
|
2021-10-03 21:35:12 +02:00 |
|
Irmen de Jong
|
3aeca0a770
|
Merge branch 'master' into v7.1
|
2021-09-28 23:15:06 +02:00 |
|
Irmen de Jong
|
4bd4733e52
|
fix index calc bug in palette.set_color
|
2021-09-28 23:12:59 +02:00 |
|
Irmen de Jong
|
fd1f30f92b
|
removed %target directive (didn't add much, too confusing, only supported single target)
|
2021-09-04 15:01:16 +02:00 |
|
Irmen de Jong
|
9bd3a6758a
|
improve testability: use error returnvalues instead of using exitProcess()
|
2021-07-02 00:11:21 +02:00 |
|
Irmen de Jong
|
f53848b4b9
|
wording and version
|
2021-06-24 21:25:35 +02:00 |
|
Irmen de Jong
|
73863acc12
|
version bump
|
2021-06-06 10:50:05 +02:00 |
|
Irmen de Jong
|
e145d2255e
|
added palette.set_all_black() and set_all_white()
|
2021-05-26 21:33:18 +02:00 |
|
Irmen de Jong
|
d7f83f8df2
|
version bump
|
2021-05-20 23:38:41 +02:00 |
|
Irmen de Jong
|
e4fb5946dd
|
optimize cx16 sys.wait and sys.waitvsync to use WAI instruction
|
2021-05-17 18:44:42 +02:00 |
|
Irmen de Jong
|
0416aacbbd
|
fix %asminclude by removing scopelabel argument and improving docs to remove false promise about labels
|
2021-05-16 00:14:57 +02:00 |
|
Irmen de Jong
|
e2f5752d9a
|
add f_open_w, f_write, f_close_w to diskio to be able to save parts of memory sequentially
|
2021-05-01 19:13:56 +02:00 |
|
Irmen de Jong
|
1a59019fc8
|
add generic error in diskio.status() if drive status can't be read
|
2021-05-01 15:39:39 +02:00 |
|
Irmen de Jong
|
0a5b30e21c
|
added fast code for x*640
|
2021-04-30 22:30:21 +02:00 |
|
Irmen de Jong
|
5ee36c897d
|
todo
|
2021-04-29 00:57:32 +02:00 |
|
Irmen de Jong
|
ed7479c854
|
version 7 due to removal of structs and v39 cx16 support changes
|
2021-04-29 00:15:54 +02:00 |
|
Irmen de Jong
|
1bde7c7718
|
ver
|
2021-04-28 20:05:56 +02:00 |
|
Irmen de Jong
|
17068130bb
|
removed PROG8_LIBDIR env variables and replaced with -libdirs command line option
|
2021-04-28 20:04:23 +02:00 |
|
Irmen de Jong
|
81a91d62cb
|
improved horizontal_line in highres 4c
|
2021-04-28 02:55:49 +02:00 |
|
Irmen de Jong
|
2575263438
|
optimized gfx2.plot() for hires-4c
|
2021-04-28 02:49:25 +02:00 |
|
Irmen de Jong
|
7f0e25cb50
|
optimized gfx2.plot() for hires-monochrome
|
2021-04-28 02:32:11 +02:00 |
|
Irmen de Jong
|
a1e4e9c50f
|
optimized gfx2.plot() for lores-256c
|
2021-04-28 02:22:21 +02:00 |
|
Irmen de Jong
|
98eff2701b
|
optimized gfx2.plot() for lores-monochrome
|
2021-04-28 02:15:07 +02:00 |
|
Irmen de Jong
|
8b84f87217
|
removed fastrnd8() because it was hilariously bad, just use rnd()
|
2021-04-28 01:53:12 +02:00 |
|
Irmen de Jong
|
306a1b7bc2
|
optimized gfx2.vertical_line for hires monochrome mode
|
2021-04-28 01:19:10 +02:00 |
|
Irmen de Jong
|
481214c46e
|
optimized gfx2.vertical_line for lores monochrome mode
|
2021-04-28 01:02:29 +02:00 |
|
Irmen de Jong
|
a5961cbeab
|
optimized gfx2.vertical_line for highres 4c mode
|
2021-04-28 00:29:21 +02:00 |
|
Irmen de Jong
|
ee1c43ca91
|
improved scanning for return statement in routines that should return a value.
|
2021-04-21 20:31:29 +02:00 |
|
Irmen de Jong
|
1c2e6f9e4c
|
lower() and upper() now also return the lenght of the processed string.
|
2021-04-21 20:21:58 +02:00 |
|
Irmen de Jong
|
3d956ef554
|
fix wrong values for register used in array indexing expressions
added the L/H byte parts of the cx16 virtual registers
|
2021-04-18 13:53:02 +02:00 |
|
Irmen de Jong
|
e680de05ea
|
workaround for the joystick_get() irq problem
|
2021-04-15 22:56:52 +02:00 |
|
Irmen de Jong
|
8d567f6b06
|
added cx16.joystick_get2() for convenience api
|
2021-04-12 01:07:46 +02:00 |
|
Irmen de Jong
|
3dda29781e
|
changed MEMTOP2 into cx16.numbanks() to query the number of RAM banks installed
|
2021-04-08 01:05:38 +02:00 |
|
Irmen de Jong
|
d116eb7655
|
paranoid, be sure to not kill carry
|
2021-04-06 23:55:20 +02:00 |
|
Irmen de Jong
|
bc726c6334
|
optimized slow evaluation of byte-to-wordarray assignment
|
2021-04-06 22:50:16 +02:00 |
|
Irmen de Jong
|
123473dfc8
|
cleanup
|
2021-04-06 00:16:29 +02:00 |
|
Irmen de Jong
|
5b890847e5
|
make sure BASIC rom is banked in again when program exits
|
2021-04-05 23:12:10 +02:00 |
|
Irmen de Jong
|
64c85b9617
|
fix cx16 rom v39 float changes
|
2021-04-05 22:54:40 +02:00 |
|
Irmen de Jong
|
3f30d3aa89
|
added sys.waitrastborder() for c64
|
2021-04-01 18:53:16 +02:00 |
|
Irmen de Jong
|
129e17b33a
|
added sys.waitvsync() + missing documentation
|
2021-04-01 18:31:33 +02:00 |
|
Irmen de Jong
|
bf2d8c3f4b
|
update kotlin plugin to 1.4.32
|
2021-03-31 20:52:05 +02:00 |
|
Irmen de Jong
|
ec60cad8bb
|
commander-x16 prototype board #2 (rom v39+) address changes
|
2021-03-27 22:20:46 +01:00 |
|
Irmen de Jong
|
4cae2c56ec
|
implemented last remaining codegen for word-byte division and remainders.
|
2021-03-25 22:03:36 +01:00 |
|
Irmen de Jong
|
ca868ae19e
|
added cx16.vload() (like the VLOAD basic instruction)
|
2021-03-20 02:39:53 +01:00 |
|
Irmen de Jong
|
b30b8b7368
|
fix bug in float < and > comparisons
|
2021-03-18 01:41:54 +01:00 |
|
Irmen de Jong
|
b5523c7077
|
don't optimize with inlining too aggressively (code bloat)
|
2021-03-16 00:33:15 +01:00 |
|
Irmen de Jong
|
eb3594b18c
|
revert to just using comparison expressions in graphics code (we're optimizing these now!)
|
2021-03-16 00:11:55 +01:00 |
|
Irmen de Jong
|
852d85d010
|
improve uword '<' and '>' codegen
|
2021-03-16 00:03:51 +01:00 |
|
Irmen de Jong
|
496a3b0d2c
|
todo
|
2021-03-15 18:56:25 +01:00 |
|
Irmen de Jong
|
1c1da8e38e
|
additional optimization to the bresenham line routines
|
2021-03-10 18:49:40 +01:00 |
|
Irmen de Jong
|
6995ee2d17
|
fix cx16 bresenham line inaccuracy
|
2021-03-09 22:04:19 +01:00 |
|
Irmen de Jong
|
6c60ea9cac
|
allocate even more c64 zeropage locations for floats
|
2021-03-09 21:47:36 +01:00 |
|
Irmen de Jong
|
6bd205c02a
|
fix c64 bresenham line inaccuracy
|
2021-03-09 21:07:55 +01:00 |
|
Irmen de Jong
|
62ec77e148
|
ver
|
2021-03-08 23:35:52 +01:00 |
|
Irmen de Jong
|
9120e1de88
|
fix ubyte/uword to float conversion crashes on Commander X16
|
2021-03-08 23:21:52 +01:00 |
|
Irmen de Jong
|
60e169bd87
|
added optimized integer square (x*x) routine
|
2021-03-08 23:08:47 +01:00 |
|
Irmen de Jong
|
e4bca5fe47
|
version
|
2021-03-06 23:07:30 +01:00 |
|
Irmen de Jong
|
a1729b65ab
|
fix min(), max(), sum(), abs()
|
2021-03-06 22:57:22 +01:00 |
|
Irmen de Jong
|
de04bd8cfa
|
added more convenient number-to-string functions to conv library
|
2021-03-06 13:47:27 +01:00 |
|
Irmen de Jong
|
076a547f91
|
added more convenient number-to-string functions to conv library
|
2021-03-06 13:34:57 +01:00 |
|
Irmen de Jong
|
dffd0a2706
|
added fastrnd8() with the old rnd() generator code in it, new code for rnd() uses the much better rndw() generator now.
|
2021-03-05 22:49:14 +01:00 |
|
Irmen de Jong
|
96ba9f5902
|
spelling correction
|
2021-03-04 01:31:29 +01:00 |
|
Irmen de Jong
|
7e3e18a5c7
|
deal with 'bra' better on 65c02
|
2021-02-28 16:20:03 +01:00 |
|
Irmen de Jong
|
8e3ebc84f0
|
readme
|
2021-02-28 15:40:04 +01:00 |
|
Irmen de Jong
|
2b435fe6a5
|
vtui example updated to vtui 0.6
|
2021-02-27 03:30:21 +01:00 |
|
Irmen de Jong
|
fd11927708
|
optimized highres 4c position calc a bit
|
2021-02-26 00:43:51 +01:00 |
|
Irmen de Jong
|
f275ed96ea
|
optimized palette.set_color()
|
2021-02-24 00:01:27 +01:00 |
|
Irmen de Jong
|
e65c5402d7
|
added cx16 rasterbars example
|
2021-02-22 02:11:44 +01:00 |
|
Irmen de Jong
|
334f86480a
|
added irq routines for cx16
|
2021-02-22 00:48:41 +01:00 |
|
Irmen de Jong
|
edf9a500d3
|
kernel -> kernal
|
2021-02-21 22:48:06 +01:00 |
|
Irmen de Jong
|
a95677564e
|
changed system irq/rasterirq setting routines
|
2021-02-21 22:23:50 +01:00 |
|
Irmen de Jong
|
9bb5b454e4
|
reduce dependencies on global compilaiontarget
|
2021-02-18 23:44:26 +01:00 |
|
Irmen de Jong
|
ab544ee965
|
improved string constant interning; no longer output duplicate strings in the Ast
|
2021-02-16 23:43:38 +01:00 |
|
Irmen de Jong
|
81930312ff
|
added textio.setcc2() on commanderX16 to enable setting fg+bg colors.
|
2021-02-15 17:47:48 +01:00 |
|
Irmen de Jong
|
62dda4d891
|
fix asm bug in conv.any2uword
|
2021-02-14 17:13:56 +01:00 |
|
Irmen de Jong
|
53f0318187
|
version 6.1
|
2021-02-14 00:07:45 +01:00 |
|
Irmen de Jong
|
02cb237623
|
added poke() and pokew() builtin functions
|
2021-02-13 23:16:50 +01:00 |
|
Irmen de Jong
|
cc0f19653e
|
added peek() and peekw() builtin functions
|
2021-02-13 22:38:39 +01:00 |
|
Irmen de Jong
|
1bbd77fddb
|
added txt.column()
|
2021-02-10 22:47:49 +01:00 |
|
Irmen de Jong
|
eb2d5bb1f8
|
fix bank arg error in gfx2.position
|
2021-02-06 16:58:17 +01:00 |
|
Irmen de Jong
|
f1478d776b
|
fix vertical line highres 4color
|
2021-02-05 18:09:21 +01:00 |
|
Irmen de Jong
|
40e4cfb686
|
amiga
|
2021-02-04 17:47:52 +01:00 |
|
Irmen de Jong
|
76f459ee95
|
amiga
|
2021-02-02 23:09:03 +01:00 |
|
Irmen de Jong
|
c478718019
|
fixed and optimized horiz_line for highres 4c
|
2021-02-01 22:03:10 +01:00 |
|
Irmen de Jong
|
c27248a58b
|
amiga
|
2021-01-29 23:52:29 +01:00 |
|
Irmen de Jong
|
51bc539468
|
added palette.set_rgb()
|
2021-01-29 02:46:07 +01:00 |
|
Irmen de Jong
|
69c459c8ac
|
gfx2 highres 4colors
|
2021-01-28 22:28:14 +01:00 |
|
Irmen de Jong
|
a910c0fddb
|
gfx2 highres 4colors
|
2021-01-27 02:31:20 +01:00 |
|
Irmen de Jong
|
52f6be2bb0
|
gfx2: changed screen mode numbering to a more intuitive sequence
|
2021-01-26 18:17:20 +01:00 |
|
Irmen de Jong
|
9f047ba752
|
palette.set_monochrome() now has 2 arguments: screen and draw color RGB values
|
2021-01-24 04:15:15 +01:00 |
|
Irmen de Jong
|
cdc6d9aa65
|
moved cx16 imageviewer into its own git repo. Version 6.0.
|
2021-01-23 23:49:17 +01:00 |
|
Irmen de Jong
|
975af4764d
|
remove no longer needed strlen() calls from diskio routines
|
2021-01-23 22:46:46 +01:00 |
|
Irmen de Jong
|
f34f9329f1
|
fixed bug in memcopy
|
2021-01-23 19:49:53 +01:00 |
|
Irmen de Jong
|
4a81406262
|
fix diskio rename() and delete()
|
2021-01-23 17:57:30 +01:00 |
|
Irmen de Jong
|
c328e9018c
|
cx16 assembler was moved into its own github repo
|
2021-01-18 01:38:33 +01:00 |
|
Irmen de Jong
|
b270f6f713
|
added cx16.rombank() and rambank(). Select kernal rom in i/o heavy programs for faster disk i/o
|
2021-01-17 19:16:21 +01:00 |
|
Irmen de Jong
|
5c13918f11
|
cx16 reset_system() bank selection change
|
2021-01-17 18:28:43 +01:00 |
|
Irmen de Jong
|
7277c08fa6
|
added textio.spc(). assem tweaks.
|
2021-01-14 22:51:09 +01:00 |
|
Irmen de Jong
|
8ac17ae14e
|
fix assem parsing of 4 letter instructions
|
2021-01-14 18:41:29 +01:00 |
|
Irmen de Jong
|
e0794db33a
|
version 6.0beta
|
2021-01-13 22:41:11 +01:00 |
|
Irmen de Jong
|
b128b79132
|
clearer description of memory()
|
2021-01-13 22:32:17 +01:00 |
|
Irmen de Jong
|
79e6d4b8dd
|
better check for EOF status
|
2021-01-13 22:11:51 +01:00 |
|
Irmen de Jong
|
506ac8014c
|
fix diskio.f_readline() that skipped first char. It also doesn't leave the end of line char in the string now.
|
2021-01-10 16:21:25 +01:00 |
|
Irmen de Jong
|
72b4198301
|
added string.lower() / string.upper()
|
2021-01-10 15:29:43 +01:00 |
|
Irmen de Jong
|
9fc0c3f849
|
removed diskio.f_read_exact() - wasn't worth it over f_read()
|
2021-01-10 14:29:51 +01:00 |
|
Irmen de Jong
|
db314ed903
|
added diskio.f_readline()
|
2021-01-10 05:04:56 +01:00 |
|
Irmen de Jong
|
79782ad547
|
conv.any2uword() changed return value
|
2021-01-08 22:43:01 +01:00 |
|
Irmen de Jong
|
b4d1d545a8
|
introduced txt.nl()
|
2021-01-08 16:56:17 +01:00 |
|
Irmen de Jong
|
f61682cdc7
|
moved various miscellaneous builtin functions such as exit() and progend() to sys.*
|
2021-01-08 16:44:34 +01:00 |
|
Irmen de Jong
|
3d09d605e1
|
moved memcopy, memset, memsetw builtin functions to sys.*
|
2021-01-08 01:09:37 +01:00 |
|
Irmen de Jong
|
025dde264a
|
move target() builtin to sys.target constant
|
2021-01-07 23:36:28 +01:00 |
|
Irmen de Jong
|
61784a03bb
|
removed all string related builtin functions and moved them to separate routines in new 'string' library module
|
2021-01-07 23:10:29 +01:00 |
|
Irmen de Jong
|
9d9ca0f08d
|
fix bit shifting words by 8. fix type error for signed return types.
|
2021-01-07 22:50:40 +01:00 |
|
Irmen de Jong
|
58f37513e7
|
removed all string related builtin functions and moved them to separate routines in new 'string' library module
|
2021-01-07 20:01:11 +01:00 |
|
Irmen de Jong
|
ee7f9d457d
|
text editor configs
|
2021-01-07 01:56:31 +01:00 |
|
Irmen de Jong
|
07dd64958f
|
conv.bin2uword, conv.hex2uword, conv.str2uword, conv.str2word more robust and return parsed length in cx16.r15
|
2021-01-06 00:11:15 +01:00 |
|
Irmen de Jong
|
7d6a0ab256
|
added conv.any2uword()
|
2021-01-05 22:28:46 +01:00 |
|
Irmen de Jong
|
ee9f662016
|
added MEMTOP2 pseudo kernal routine on cx16 to get the number of RAM banks
|
2021-01-05 01:48:23 +01:00 |
|
Irmen de Jong
|
e6a1442296
|
sys.wait() no longer resets the jiffyclock to zero
|
2021-01-03 02:45:25 +01:00 |
|
Irmen de Jong
|
cb65480c6c
|
moved wait() and reset_system() to sys block so they are now unified across c64 and cx16
|
2021-01-03 02:36:45 +01:00 |
|
Irmen de Jong
|
f0930d8a18
|
added c64.RDTIM16() utility routine to just get the lower 16 bits of the jiffy clock
|
2021-01-02 20:59:48 +01:00 |
|
Irmen de Jong
|
edd3a22848
|
added strfind()
|
2021-01-02 17:49:58 +01:00 |
|
Irmen de Jong
|
8e927e0b73
|
nontrivial return value evaluation now via intermediary variable to try to avoid slow stack based evaluation
|
2020-12-31 22:13:24 +01:00 |
|
Irmen de Jong
|
8e3e996f4a
|
diskio.f_open() now also checks if file exists
|
2020-12-31 19:27:34 +01:00 |
|
Irmen de Jong
|
b6fa361bcc
|
exit() now also resets the io channels. Optimized diskio data read subroutines. added diskio.f_read_all()
|
2020-12-31 19:09:29 +01:00 |
|
Irmen de Jong
|
89230ade7a
|
change in pattern arguments of diskio.list_files() and lf_start_list(): you can now use a simple pattern with ? and * wildcards
|
2020-12-30 23:34:00 +01:00 |
|
Irmen de Jong
|
b4931c9a1f
|
optimize horzontal_line drawing
|
2020-12-30 18:58:47 +01:00 |
|
Irmen de Jong
|
ddfcf45d40
|
added some missing clobbers() specs
|
2020-12-30 16:59:31 +01:00 |
|
Irmen de Jong
|
ee12236d53
|
added rect functions
|
2020-12-30 00:53:13 +01:00 |
|
Irmen de Jong
|
df6698c98f
|
fixed circle and disc geometry
|
2020-12-30 00:11:42 +01:00 |
|
Irmen de Jong
|
c3b82f2cfa
|
optimized disc()
|
2020-12-29 23:58:11 +01:00 |
|
Irmen de Jong
|
64c89f1c8f
|
fix circle and disc geometry, added rect and line routines
|
2020-12-29 23:52:48 +01:00 |
|
Irmen de Jong
|
e09b65ea94
|
fix gfx2 vertical_line
|
2020-12-29 23:07:26 +01:00 |
|
Irmen de Jong
|
c81952c356
|
gfx2 optimizations for vertical lines
|
2020-12-29 02:13:38 +01:00 |
|
Irmen de Jong
|
f80e462d25
|
gfx2 optimizations for vertical lines
|
2020-12-29 01:36:34 +01:00 |
|
Irmen de Jong
|
51f32677b7
|
gfx2 optimizations for horizontal lines, fix bug in disc drawing
|
2020-12-29 01:23:14 +01:00 |
|
Irmen de Jong
|
4b366358c4
|
fix gfx2 color of horiz/vert lines
|
2020-12-28 01:33:51 +01:00 |
|
Irmen de Jong
|
6777d952c1
|
fixed crash when loopvar in for loop wasn't defined
|
2020-12-28 00:30:08 +01:00 |
|
Irmen de Jong
|
6c8b18ddbd
|
fixed crash on cx16 in word to float conversion
|
2020-12-28 00:19:58 +01:00 |
|
Irmen de Jong
|
9e2c52e1ec
|
added Cx16 highresbitmap example. added stippled drawing to gfx2 monochrome mode
|
2020-12-27 23:57:13 +01:00 |
|
Irmen de Jong
|
dd82e550d5
|
adding rect and fillrect to gfx2
|
2020-12-27 17:34:25 +01:00 |
|