Irmen de Jong
dc600cc3ed
fix crash when printing Ast for asmsubroutine with multiple return values
2020-12-23 02:03:27 +01:00
Irmen de Jong
ae648b8a0a
subroutines can now be defined even within regular code and will not disrupt the generated code anymore (they are moved to the end of their scope by the compiler)
2020-12-23 01:55:47 +01:00
Irmen de Jong
583af3bd4f
additional vpoke operations to do or,and,xor in one go without the need for a separate vpeek
2020-12-23 01:02:43 +01:00
Irmen de Jong
d65cfbf093
fixed math.mul_word_40 that was actually doing *80...
2020-12-23 00:54:11 +01:00
Irmen de Jong
118aed2e31
optimized code for 65c02 when setting constant 0 value
2020-12-22 17:59:47 +01:00
Irmen de Jong
85abf4d123
update docs
2020-12-22 16:44:05 +01:00
Irmen de Jong
44b8291540
update docs
2020-12-22 13:29:16 +01:00
Irmen de Jong
d6444bba66
don't remove 'double' assignments that are actually doing something like calling a function
2020-12-22 12:52:55 +01:00
Irmen de Jong
5a2f8fdfe1
asm-subroutines that ONLY return a value in the Carry or Overflow status register can now be used in an assignment to store that value.
2020-12-22 12:44:03 +01:00
Irmen de Jong
bba4f84503
added target() function
2020-12-22 06:13:14 +01:00
Irmen de Jong
684e081399
optimized register save/restore on Cx16 cpu target
2020-12-22 05:59:01 +01:00
Irmen de Jong
96c700ee46
only save A's value if needed for a return value
2020-12-22 05:43:02 +01:00
Irmen de Jong
5f15794c3b
new compiled dirlist example
2020-12-22 04:58:33 +01:00
Irmen de Jong
a40b3134f4
fix clobbering of A when restoring X or Y from stack
2020-12-22 04:52:46 +01:00
Irmen de Jong
c70b4daf87
cleanup obsolete routine
2020-12-22 03:40:44 +01:00
Irmen de Jong
928611eb20
Got rid of problematic attempts to save status register after function calls. If you really need it (for instance for if_XX instructions) it's probably better to use a short asmsub wrapper.
...
For function calls, register saves go via stack (to allow nested saves) for simpler cases, registers are saved in a local variable.
Fixed too agressive removal of sta-lda sequence if the lda is followed by a branching instruction.
Insert missing cmp #0 after functioncall if the value of the A register is needed in a comparison expression (could otherwise test wrong status flag)
2020-12-22 03:35:00 +01:00
Irmen de Jong
f1d55c688a
cx16 registers should come first in subroutine arg list
2020-12-22 00:59:07 +01:00
Irmen de Jong
d22df22f7d
fix examples for cx16 register syntax
2020-12-21 23:45:26 +01:00
Irmen de Jong
061e1be0a4
removed ROM-float optimizations, too troublesome. Fixed LOG2 not being defined on Cx16 as well.
2020-12-21 23:22:02 +01:00
Irmen de Jong
950bc4b937
cx16 virtual registers R0-R15 also available on C64 target (although in a different location in memory)
2020-12-21 21:04:29 +01:00
Irmen de Jong
dcb81e6bea
adding CommanderX16 virtual registers language support, rewrite cx16 examples
2020-12-21 20:38:00 +01:00
Irmen de Jong
daaa83ee7d
improved parsing of cpu registers (no more crash when invalid register) also adding CommanderX16 virtual registers language support
2020-12-21 19:19:53 +01:00
Irmen de Jong
b7c1450121
upgrade to Antlr 4.9
2020-12-21 19:19:04 +01:00
Irmen de Jong
787f52d1f8
doc
2020-12-21 18:28:10 +01:00
Irmen de Jong
50213f146a
undefined symbol errors are no longer reported one at a time but all at once
2020-12-21 13:03:56 +01:00
Irmen de Jong
7f2aea60c9
addition
2020-12-19 03:36:52 +01:00
Irmen de Jong
168621f7c2
addition
2020-12-19 03:27:08 +01:00
Irmen de Jong
8b630798d8
documented the subroutine calling convention
2020-12-19 03:18:40 +01:00
Irmen de Jong
52e8a44517
version 5.4
2020-12-15 22:59:02 +01:00
Irmen de Jong
59f33658ad
removed the rom path argument for launching the x16emu which made it fail on a non-Linux system
2020-12-15 22:51:10 +01:00
Irmen de Jong
e0315bffdc
decided not to change mkword() again, added note to docs about argument order
2020-12-15 22:25:06 +01:00
Irmen de Jong
cd28d0c0e0
tweak
2020-12-14 21:57:16 +01:00
Irmen de Jong
0baa2c8b23
fix oversight in binexpr operand swap that could result in suboptimal code
2020-12-14 21:37:40 +01:00
Irmen de Jong
4977d1fbd5
bit shift expressions are "expanded" to the target value's datatype, now also for subroutine arguments.
...
implemented word bit shifts by variable number of bits.
2020-12-14 20:44:48 +01:00
Irmen de Jong
3b7a92f1b4
adding strcopy()
2020-12-14 17:26:17 +01:00
Irmen de Jong
f6920172dd
image viewer tweaks
2020-12-14 15:36:15 +01:00
Irmen de Jong
93bfc8f5f4
rename
2020-12-14 14:30:55 +01:00
Irmen de Jong
39b7655264
imageviewer is now a single program
2020-12-14 14:30:18 +01:00
Irmen de Jong
8b75ceb412
diskio.list_files now has a bigger buffer to store more filenames (around 30-40 max)
2020-12-14 14:29:42 +01:00
Irmen de Jong
c39fc4010d
textio.clear_screen() now uses kernal routine to clear the text screen, this also resets the cursor to top left.
2020-12-14 14:28:53 +01:00
Irmen de Jong
8df778a515
fixed crash when importing modules from the same directory as the main program
2020-12-14 13:14:12 +01:00
Irmen de Jong
5134ea76bf
added bmp viewer
2020-12-14 02:12:26 +01:00
Irmen de Jong
3ba37df29d
added iff viewer
2020-12-13 19:42:30 +01:00
Irmen de Jong
e221d674d9
pcxviewer done
2020-12-13 01:32:03 +01:00
Irmen de Jong
251f947293
fixed parameter signature for FB_set_8_pixels_opaque() (docs are wrong)
2020-12-12 03:32:01 +01:00
Irmen de Jong
41e1e1cbb0
adding pcxviewer
2020-12-12 02:40:54 +01:00
Irmen de Jong
da1bc351d2
koalaviewer auto disk detect
2020-12-11 23:32:47 +01:00
Irmen de Jong
43c0afdea0
fixed strlen() to work on arguments other than just a variable
2020-12-11 23:32:29 +01:00
Irmen de Jong
add5bfa2ec
koalaviewer scans directory for *.koa
2020-12-11 23:00:58 +01:00
Irmen de Jong
34babfb5de
added diskio.list_files(). ci-viewer now loads all *.ci files it finds.
2020-12-11 22:36:14 +01:00