Commit Graph

59499 Commits

Author SHA1 Message Date
svenbarth
ac8552afc2 + add initial RTL for MSX DOS. Simple programs are already working, but there are apparantly some code generation problems that lead to I/O as well as parameters not working correctly
git-svn-id: trunk@45600 -
2020-06-06 17:16:45 +00:00
svenbarth
e2d8f7b68f * allow executable/library name to be changed for an intermediate file
git-svn-id: trunk@45599 -
2020-06-06 17:16:35 +00:00
svenbarth
4cc7398998 + add support for Z80 MSX-DOS to fpmake
git-svn-id: trunk@45598 -
2020-06-06 17:16:31 +00:00
svenbarth
a04ec36a61 + add support for Z80 MSX-DOS to fpcmake
git-svn-id: trunk@45597 -
2020-06-06 17:16:27 +00:00
svenbarth
921e73ab0c + add compiler support for the Z80 MSX-DOS target
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +00:00
svenbarth
1e1c17cb61 * simplify code: simply raising an exception is enough, it's not necessary to call ShowException and Terminate
git-svn-id: trunk@45595 -
2020-06-06 17:16:14 +00:00
svenbarth
bf96709e39 * with ihx2tzx now also supporting binary output it makes sense to rename it to something more generic
git-svn-id: trunk@45594 -
2020-06-06 17:16:08 +00:00
svenbarth
f095bc59b0 + add ability to generate a flat binary file instead of a tape file
git-svn-id: trunk@45593 -
2020-06-06 17:16:01 +00:00
svenbarth
2b7d9c5a1f * also handle single character register names (needed on Z80 for example)
git-svn-id: trunk@45592 -
2020-06-06 17:15:57 +00:00
svenbarth
b2d6c36e70 + add support for DEFB and DEFW directives to the internal assembler reader
git-svn-id: trunk@45591 -
2020-06-06 17:15:53 +00:00
marcus
17d6999726 Amiga: make the fullscreen video draggable, map Help Key to F20
git-svn-id: trunk@45590 -
2020-06-06 15:44:07 +00:00
Mattias Gaertner
621519303b pas2js: specialized rtti with forward class
git-svn-id: trunk@45589 -
2020-06-06 12:47:41 +00:00
Mattias Gaertner
f5025f7856 fcl-passrc: fixed mem leak on error parsing generic
git-svn-id: trunk@45588 -
2020-06-05 22:09:05 +00:00
Mattias Gaertner
17850b3bb7 pas2js: parse $optimization
git-svn-id: trunk@45587 -
2020-06-05 15:45:27 +00:00
Mattias Gaertner
837b782159 fcl-passrc: parse $optimization
git-svn-id: trunk@45586 -
2020-06-05 15:45:06 +00:00
michael
35c5479f96 * Fix bug ID #37159: upstream patches
git-svn-id: trunk@45585 -
2020-06-04 13:32:47 +00:00
florian
b776d48367 + x86: optimziation MovMov2MovMov 2
git-svn-id: trunk@45582 -
2020-06-03 20:29:00 +00:00
nickysn
f5489b5678 + allow specifying the program load address for the ZX Spectrum target via the -WB option
git-svn-id: trunk@45581 -
2020-06-03 20:09:27 +00:00
nickysn
1263880ef0 - removed the z80_internal_linker build mode from the lazarus project
git-svn-id: trunk@45580 -
2020-06-03 19:37:44 +00:00
nickysn
d1377777be + enabled the ZX Spectrum internal linker
git-svn-id: trunk@45579 -
2020-06-03 19:36:41 +00:00
nickysn
84cd9e129b + ZX Spectrum internal linker: invoke the ihx2tzx to postprocess the ihx file,
produced by the internal linker (in the future, the code of this utility may
  be integrated into the compiler)
* changed the exe extension of ZX Spectrum to '.tzx'

git-svn-id: trunk@45578 -
2020-06-03 19:33:03 +00:00
nickysn
12dce172f9 + implemented TIntelHexExeOutput.DoRelocationFixup
git-svn-id: trunk@45577 -
2020-06-03 17:12:41 +00:00
nickysn
3023a9f0e2 - removed the GetCode/Data/BssSize overrides in the ZX Spectrum internal linker,
since the default implementation, inherited from parent now works

git-svn-id: trunk@45576 -
2020-06-03 15:39:28 +00:00
nickysn
4b5c8982ff + implemented IHX writing in the Z80 internal linker
git-svn-id: trunk@45575 -
2020-06-03 15:35:42 +00:00
Mattias Gaertner
dbc2d630c0 pas2js: fixed rtti record field anonymous array
git-svn-id: trunk@45574 -
2020-06-03 13:25:15 +00:00
ondrej
533312c619 Variants: fix letter case in variant type names
git-svn-id: trunk@45573 -
2020-06-03 07:02:15 +00:00
ondrej
896b7c8dc2 Variants: add varQWord to OrdinalVarTypes and varDecimal to FloatVarTypes
git-svn-id: trunk@45572 -
2020-06-03 06:56:32 +00:00
nickysn
a5ab1c03ea * avoid 8-bit truncation of the sizes in the internal linker map
git-svn-id: trunk@45571 -
2020-06-02 23:13:32 +00:00
nickysn
da2bd5f789 * ImageBase changed to qword to avoid 8-bit truncation in the internal linker map file
git-svn-id: trunk@45570 -
2020-06-02 23:10:31 +00:00
nickysn
9c54d753f5 * ImageBase changed to qword (same type as CurrMemPos) to avoid truncating to 8-bit on Z80
git-svn-id: trunk@45569 -
2020-06-02 23:07:45 +00:00
nickysn
4a5a2f5ba2 + set IMAGEBASE in the Z80 internal linker script
git-svn-id: trunk@45568 -
2020-06-02 23:01:07 +00:00
nickysn
b29257fd05 * avoid setting the oso_Data flag on bss sections
git-svn-id: trunk@45567 -
2020-06-02 22:54:16 +00:00
nickysn
996ab2feba * renamed some REL sections to follow a similar naming convention
git-svn-id: trunk@45566 -
2020-06-02 22:44:57 +00:00
florian
6d3b74f96e * extended r45555 to take care of chars as well
git-svn-id: trunk@45565 -
2020-06-02 20:58:44 +00:00
nickysn
788797d078 + implemented reading of T and R records
git-svn-id: trunk@45564 -
2020-06-02 17:48:06 +00:00
Mattias Gaertner
f94221d788 pas2js: rename overloads in specialized members
git-svn-id: trunk@45563 -
2020-06-01 23:34:36 +00:00
Mattias Gaertner
a03ed979fd fcl-passrc: resolver: ClassScope_Record
git-svn-id: trunk@45562 -
2020-06-01 23:34:16 +00:00
nickysn
ad66f17a87 * group T and R records together and call a function (not implemented yet) to handle them in pairs
git-svn-id: trunk@45561 -
2020-06-01 22:48:51 +00:00
nickysn
a91b42bd8d + add .text, .data and .bss exe sections and define the entry point in the ZX Spectrum internal linker script
git-svn-id: trunk@45560 -
2020-06-01 22:37:37 +00:00
nickysn
6d3bfccbe3 * set MaxMemPos to $FFFF in the Z80 internal linker
git-svn-id: trunk@45559 -
2020-06-01 22:34:10 +00:00
nickysn
d0beacc35f * return the correct size for files in ar archive. This is required by the REL
reader, which reads files until the end of file

git-svn-id: trunk@45558 -
2020-06-01 22:25:31 +00:00
nickysn
3e2cf16d1f * TRelObjInput.ReadObjData: return success, if file was read correctly
git-svn-id: trunk@45557 -
2020-06-01 22:14:01 +00:00
nickysn
0e54ea6bab + parse the REL symbol records
git-svn-id: trunk@45556 -
2020-06-01 21:07:21 +00:00
florian
792cf056eb * a nil node is also a constant pointer node
+ convert (v1=const1) and (v2=const2) into ((v1 xor const1) or (v2 xor const2))=0 if the expressions have no side effects

git-svn-id: trunk@45555 -
2020-06-01 20:50:38 +00:00
nickysn
19a66947bc + parse the area records of REL files
git-svn-id: trunk@45554 -
2020-06-01 19:52:25 +00:00
nickysn
c8337937b3 + parse the REL header
git-svn-id: trunk@45553 -
2020-06-01 18:06:15 +00:00
nickysn
31b7fd8965 + partial implementation of TRelObjInput.ReadObjData
git-svn-id: trunk@45552 -
2020-06-01 17:29:29 +00:00
nickysn
8873a199ec * buffered text reading functions moved from being local to TRelObjInput.CanReadObjData
to being class members, so they can be used by ReadObjData as well

git-svn-id: trunk@45551 -
2020-06-01 15:17:47 +00:00
nickysn
996eaf16b3 + override TInternalLinkerZXSpectrum.GetCode/Data/BssSize to avoid access violation error
git-svn-id: trunk@45550 -
2020-06-01 14:02:10 +00:00
nickysn
7eb782446e + create a linker script for the ZX Spectrum internal linker
git-svn-id: trunk@45549 -
2020-06-01 13:54:27 +00:00