Commit Graph

59152 Commits

Author SHA1 Message Date
nickysn
59b90c24ed + initialize StackBottom and StackLength in the startup of the ZX Spectrum system unit
git-svn-id: trunk@45166 -
2020-04-29 01:10:52 +00:00
Károly Balogh
c206415450 zxspectrum: pascal startup code. this allows the RTL to be built with any assembler
git-svn-id: trunk@45165 -
2020-04-28 23:13:29 +00:00
Károly Balogh
60c73dd14b z80: fix typo in the previous commit
git-svn-id: trunk@45164 -
2020-04-28 23:10:35 +00:00
Károly Balogh
04bd105cf5 z80: fix global symbols and section attributes in the vasm writer
git-svn-id: trunk@45163 -
2020-04-28 23:10:03 +00:00
florian
50c221670f * do not generate moves unncesssarily in tcgloadparentfpnode.pass_generate_code
git-svn-id: trunk@45162 -
2020-04-28 21:25:42 +00:00
marcus
8aacea8850 Amiga: Video unit, do not draw Cursor if outside the window (would write over the window border)
git-svn-id: trunk@45161 -
2020-04-28 21:14:44 +00:00
svenbarth
c8b7094378 * fix for Mantis #36940: apply (adjusted) patch by Bi0T1N to add functionality to the thread manager to set a thread's debug name (if supported by the platform)
git-svn-id: trunk@45160 -
2020-04-28 19:58:20 +00:00
svenbarth
e131a4e014 * nicely align assignment of TThreadManager.CloseThread
git-svn-id: trunk@45159 -
2020-04-28 19:57:55 +00:00
nickysn
86e04ddd5c + enable the sdasz80 lameness check permanently, because the system unit now
compiles, and it's important to catch other similar errors also

git-svn-id: trunk@45158 -
2020-04-28 19:34:38 +00:00
nickysn
07a8af33b1 + z80: generate correct code in do_spill_read and do_spill_written for spilling to temp offsets outside the range -128..127
git-svn-id: trunk@45157 -
2020-04-28 19:31:11 +00:00
nickysn
6dbe1368ef + z80: added range checking for d in the (IX+d) and (IY+d) addressing modes in
the sdasz80 assembler writer, because sdasz80 silently truncates d to shortint
  which produces broken code and hides bugs in the z80 code generator. The check
  is behind ifdef, because the system unit doesn't compile, when this check is
  enabled, due to bugs that were previously unnoticed. When these bugs are
  fixed, the ifdef will be removed.

git-svn-id: trunk@45156 -
2020-04-28 18:49:50 +00:00
marcus
589b2b956f Fixed LLVM compilation after r45143
git-svn-id: trunk@45155 -
2020-04-28 18:41:45 +00:00
pierre
a506fe9560 Fix cross-compilation on aarch64-linux using -dFPC_SOFT_FPUX80 option
git-svn-id: trunk@45154 -
2020-04-28 18:35:53 +00:00
nickysn
573d69c8fe * unfortunately tf_smartlink_sections is mutually exclusive with
tf_smartlink_library, and defining both breaks sdasz80, so put this behind
  ifdef Z80_SMARTLINK_SECTIONS

git-svn-id: trunk@45153 -
2020-04-28 15:14:39 +00:00
Károly Balogh
23fc0fe66a z80: added quick & dirty vasm assembler support to the target
git-svn-id: trunk@45152 -
2020-04-28 01:23:31 +00:00
Károly Balogh
db1ef439b5 z80: sdasz80 won't do section smartlinking for us, but it's used for the zx spectrum target
git-svn-id: trunk@45151 -
2020-04-28 01:17:29 +00:00
nickysn
491462fd02 + added another helper for register pairs: register_in
git-svn-id: trunk@45150 -
2020-04-28 00:18:49 +00:00
nickysn
a5d36e1bc6 + added Z80 helper functions is_regpair and split_regpair
git-svn-id: trunk@45149 -
2020-04-28 00:05:53 +00:00
nickysn
fa052f76ee + added empty strings.inc and stringss.inc files
git-svn-id: trunk@45148 -
2020-04-27 22:13:36 +00:00
nickysn
69c95115f6 - removed GetHigh, GetNextReg, GetLastReg, GetOffsetReg and GetOffsetReg64 from cpubase. The methods
in cg should be used instead, because they do better error checking on the register used.

git-svn-id: trunk@45147 -
2020-04-27 22:03:36 +00:00
nickysn
f202249711 + implemented get_caller_addr and get_caller_frame for the Z80
git-svn-id: trunk@45146 -
2020-04-27 21:47:46 +00:00
nickysn
6810677493 * updated revision.inc
git-svn-id: trunk@45144 -
2020-04-27 20:17:45 +00:00
nickysn
29d681168a * merged the z80 branch
git-svn-id: trunk@45143 -
2020-04-27 20:07:54 +00:00
florian
a084c8829f * patch by J. Gareth Moreton: refactor RemoveCurrentP
git-svn-id: trunk@45142 -
2020-04-27 19:27:16 +00:00
florian
e7f7927ca9 + initialize variables, so compilation with -O3 works
git-svn-id: trunk@45141 -
2020-04-27 19:19:54 +00:00
nickysn
a857e60dc1 * tsystemcpu.cpu_sys_z80 renamed .cpu_z80 for consistency with the other values in the enum.
git-svn-id: branches/z80@45140 -
2020-04-27 15:50:29 +00:00
nickysn
9cca44d3af * tcputype.cpu_ez80 renamed .cpu_zilog_ez80
git-svn-id: branches/z80@45139 -
2020-04-27 15:49:14 +00:00
nickysn
784237ee33 * tcputype.cpu_z80 renamed .cpu_zilog_z80
git-svn-id: branches/z80@45138 -
2020-04-27 15:47:52 +00:00
nickysn
5594302d2a * fixed GotoXY (parameters were swapped)
git-svn-id: branches/z80@45137 -
2020-04-27 00:40:24 +00:00
nickysn
59110bd9ea * fixed the interlockedXXX functions
git-svn-id: branches/z80@45136 -
2020-04-26 23:51:18 +00:00
nickysn
843024f3b7 * PrintChar and OpenChannel converted to pure assembler functions
git-svn-id: branches/z80@45135 -
2020-04-26 23:16:48 +00:00
nickysn
fe05a87a27 * made ErrOutput/StdErr a true alias of Output/StdOut to save memory
git-svn-id: branches/z80@45134 -
2020-04-26 23:10:08 +00:00
nickysn
cb169980b7 * cheat and declare many of the empty routines as 'inline' to save some precious memory bytes :)
git-svn-id: branches/z80@45133 -
2020-04-26 23:01:20 +00:00
nickysn
25a42c6469 * update msg
git-svn-id: branches/z80@45132 -
2020-04-26 22:36:51 +00:00
nickysn
6f6598712f * synchronized with trunk
git-svn-id: branches/z80@45131 -
2020-04-26 22:33:58 +00:00
nickysn
5c605f0a10 + console input (not working well, yet)
git-svn-id: branches/z80@45130 -
2020-04-26 22:32:52 +00:00
nickysn
d970112f26 + implemented console output in the ZX Spectrum RTL. Writeln('Hello, world!'); now works!!! :)
git-svn-id: branches/z80@45129 -
2020-04-26 22:18:23 +00:00
nickysn
368f4412c4 * handle nf_swapped properly in TZ80AddNode.second_cmp16_32_64bit
git-svn-id: branches/z80@45128 -
2020-04-26 22:09:37 +00:00
nickysn
647725ea0c * optimizations in tcgz80.normalize_ref
git-svn-id: branches/z80@45127 -
2020-04-26 21:36:13 +00:00
nickysn
5a5a8602d3 * optimization in tcgz80.a_load_const_cgpara for pushing longints, where the low 16 bits are equal
to the high 16 bits (works for e.g. 0)

git-svn-id: branches/z80@45126 -
2020-04-26 21:12:15 +00:00
nickysn
3338603bb8 * generate better code in tcgz80.a_loadaddr_ref_reg
git-svn-id: branches/z80@45125 -
2020-04-26 20:58:52 +00:00
florian
db9a284d60 * simplify xtensa-linux building
git-svn-id: trunk@45124 -
2020-04-26 20:54:22 +00:00
Mattias Gaertner
2f1fba51cc pas2js: fixed type helper nested procedure Self
git-svn-id: trunk@45123 -
2020-04-26 20:08:13 +00:00
nickysn
5be4ce281f * don't reorder LOC_REFERENCE parameters on the Z80 also
git-svn-id: branches/z80@45122 -
2020-04-26 19:49:17 +00:00
Mattias Gaertner
4f7882c8af fcl-passrc: fixed type helper intdouble/uintdouble
git-svn-id: trunk@45121 -
2020-04-26 19:23:54 +00:00
nickysn
44d95ef7c8 + generate better code in op_const_reg for OP_ADD and OP_SUB by using in certain cases A_DEC for OP_SUB
and A_INC for OP_ADD

git-svn-id: branches/z80@45120 -
2020-04-26 17:24:53 +00:00
florian
1395b2850e + xtensa-linux support for several packages
git-svn-id: trunk@45119 -
2020-04-26 17:24:30 +00:00
florian
7dfefcb1f6 * Xtensa: fpc_setjmp dummy
git-svn-id: trunk@45118 -
2020-04-26 17:24:06 +00:00
florian
8ef29235c3 * Xtensa: set source_cpu_string
git-svn-id: trunk@45117 -
2020-04-26 17:23:24 +00:00
nickysn
7957560fba + implemented tcgz80.a_adjust_sp
git-svn-id: branches/z80@45116 -
2020-04-26 17:04:15 +00:00