Commit Graph

39598 Commits

Author SHA1 Message Date
nickysn
bbcd3506b3 + call initvariantmanager on msdos system unit startup
git-svn-id: branches/i8086@24075 -
2013-03-30 15:05:20 +00:00
nickysn
28545f2fad + implemented near heap for i8086-msdos, based on the embedded target heap
git-svn-id: branches/i8086@24074 -
2013-03-30 14:54:01 +00:00
nickysn
aab6df13ba * use Seg() instead of DSeg in the msdos rtl
git-svn-id: branches/i8086@24072 -
2013-03-30 13:05:30 +00:00
nickysn
4d8adbf5ff + implemented Seg() for i8086 (small/tiny memory model)
git-svn-id: branches/i8086@24071 -
2013-03-30 13:04:58 +00:00
nickysn
917a1eb0f2 * the default Seg() handling moved to virtual methods, so that they can be overriden in the i8086 code generator
git-svn-id: branches/i8086@24070 -
2013-03-30 12:08:24 +00:00
nickysn
27559aa5f8 * use Ofs() instead of typecasting to word for getting the offset of a pointer
git-svn-id: branches/i8086@24068 -
2013-03-30 11:41:07 +00:00
nickysn
2fd729cb4d + added CheckLFN to the msdos rtl
git-svn-id: branches/i8086@24067 -
2013-03-30 11:37:29 +00:00
nickysn
f270263d3d * default stack size for msdos changed to 4096 bytes
git-svn-id: branches/i8086@24066 -
2013-03-30 11:00:46 +00:00
nickysn
8f71f3b5fd + initialize more stuff in the msdos system unit startup
git-svn-id: branches/i8086@24065 -
2013-03-30 03:02:14 +00:00
nickysn
324b4a8a0a * declare the .bss sections with class=bss, so wlink treats them as bss sections and leaves them out of the executable
git-svn-id: branches/i8086@24064 -
2013-03-30 00:49:11 +00:00
nickysn
47342630e0 + allocate space for stack and heap dynamically on program startup for i8086-msdos
git-svn-id: branches/i8086@24063 -
2013-03-30 00:36:31 +00:00
florian
9edacdc9b4 + mem declarations
git-svn-id: branches/i8086@24060 -
2013-03-29 16:02:46 +00:00
florian
5ab9742c22 + start of dos unit (derived from go32v2)
* adapated Makefiles

git-svn-id: branches/i8086@24059 -
2013-03-29 15:58:21 +00:00
nickysn
102f929e99 - do not initialize the flags register on entry to the interrupt in the Intr/MsDos procedure (which is the TP-compatible behavior)
git-svn-id: branches/i8086@24058 -
2013-03-29 15:50:57 +00:00
nickysn
b61a9ba6a6 + implemented GetProcessID for i8086-msdos (returns the PSP)
git-svn-id: branches/i8086@24057 -
2013-03-29 15:23:32 +00:00
florian
1ab42714c3 + fix compilation by adding a Int32 type, no sure why it is needed
git-svn-id: branches/i8086@24055 -
2013-03-29 15:15:12 +00:00
florian
fef7832790 * enable absolute for i8086-msdos
git-svn-id: branches/i8086@24054 -
2013-03-29 15:13:29 +00:00
florian
40af7b2817 + add msdos target to ppudump
git-svn-id: branches/i8086@24051 -
2013-03-29 10:46:34 +00:00
nickysn
615d6e4a51 * internal compiler handling of Val() fixed for 16/8-bit CPUs
git-svn-id: branches/i8086@24049 -
2013-03-29 01:38:21 +00:00
nickysn
cac6ac38d0 + added RTL helpers for Val() for longint/dword on 16/8-bit CPUs
git-svn-id: branches/i8086@24048 -
2013-03-29 01:19:14 +00:00
nickysn
8b6b832677 + added helper functions for read/readln longint/longword on 16/8-bit cpus
git-svn-id: branches/i8086@24047 -
2013-03-28 23:56:47 +00:00
nickysn
9b79c52f32 * fixed bug in FPC_INTR and FPC_MSDOS
git-svn-id: branches/i8086@24046 -
2013-03-28 22:49:14 +00:00
nickysn
d8af51fdab + implemented do_read for i8086-msdos
git-svn-id: branches/i8086@24045 -
2013-03-28 22:22:47 +00:00
nickysn
1077093b08 + added error checking to the dos file operations
git-svn-id: branches/i8086@24044 -
2013-03-28 22:03:13 +00:00
nickysn
c76b459324 * implemented the MsDos function with an asm prequel to the Intr function
git-svn-id: branches/i8086@24043 -
2013-03-28 21:41:55 +00:00
nickysn
7b578f3e9c * reimplemented do_write and do_isdevice in Pascal, using the MsDos procedure
git-svn-id: branches/i8086@24042 -
2013-03-28 21:35:21 +00:00
nickysn
ceb76808e7 + implemented the CSeg, DSeg and SSeg functions on the i8086
git-svn-id: branches/i8086@24041 -
2013-03-28 21:29:14 +00:00
nickysn
db07a990a9 * also save BP in FPC_INTR
git-svn-id: branches/i8086@24040 -
2013-03-28 21:26:44 +00:00
nickysn
cd18b792ab + added Intr and MsDos implementations for i8086-msdos
git-svn-id: branches/i8086@24037 -
2013-03-28 18:17:25 +00:00
nickysn
1e28790e99 * fpc_PushExceptAddr's parameter Ft changed from LongInt to SmallInt on 16-bit CPUs for better efficiency
git-svn-id: branches/i8086@24036 -
2013-03-28 15:44:50 +00:00
nickysn
252903175c * TExceptAddr.frametype changed to SmallInt on 16-bit CPUs, since the compiler allocates 3*sizeof(pint) for the whole structure (and using longints on 16-bit CPUs is wasteful anyway)
git-svn-id: branches/i8086@24035 -
2013-03-28 15:34:38 +00:00
nickysn
3b2ea4df6c + implmemented FPC_LONGJMP for i8086
git-svn-id: branches/i8086@24034 -
2013-03-28 14:59:57 +00:00
nickysn
5cda24a0b6 * fixed a lot of int64 const bugs on 16/8-bit CPUs by changing typecasts from aint to tcgint
git-svn-id: branches/i8086@24019 -
2013-03-27 01:01:15 +00:00
nickysn
f1a974f3c9 * THandle type changed to Word for i8086-msdos
git-svn-id: branches/i8086@24016 -
2013-03-27 00:14:41 +00:00
nickysn
f780d37d5e * proper defines of aitconst_ptr, aitconst_ptr_unaligned and aitconst_aint for 16-bit and 8-bit CPUs
git-svn-id: branches/i8086@24015 -
2013-03-27 00:01:30 +00:00
nickysn
b2fc6a2f6d + basic implementation of do_isdevice for msdos
git-svn-id: branches/i8086@24014 -
2013-03-26 18:58:00 +00:00
nickysn
b79569ed2f * Borland Pascal compatibility for 16-bit CPUs: int16 shl int32 now produces int32; this fixes writeln(longint) on the i8086-msdos target
git-svn-id: branches/i8086@24011 -
2013-03-26 00:59:04 +00:00
nickysn
e16e08b2b6 + added CPU 286 nasm directive to the i8086 assembly output in order to catch 386+ instructions; the RTL now compiles without generating any 386+ instructions
git-svn-id: branches/i8086@24010 -
2013-03-26 00:57:38 +00:00
nickysn
53ad3fc662 + Str() handling in the compiler fixed for 16/8-bit CPU support
git-svn-id: branches/i8086@24009 -
2013-03-25 23:58:09 +00:00
nickysn
4dfbf148f2 + added Str() helpers for 32-bit ints for 16/8-bit CPUs
git-svn-id: branches/i8086@24008 -
2013-03-25 23:55:47 +00:00
nickysn
8fa9105151 + 16-bit and 8-bit CPU support added in the internal handling of read/readln/write/writeln
git-svn-id: branches/i8086@24007 -
2013-03-25 23:23:48 +00:00
nickysn
697de721ef + added write/writeln helpers in the RTL for writing longints/longwords on 16/8-bit CPUs
git-svn-id: branches/i8086@24006 -
2013-03-25 23:21:42 +00:00
nickysn
44ef72e1a4 * use the generic implementation of abs for the i8086
git-svn-id: branches/i8086@24004 -
2013-03-25 21:43:47 +00:00
nickysn
8d75441b6e * do not generate prefetchnt instructions on the i8086
git-svn-id: branches/i8086@24003 -
2013-03-25 19:18:18 +00:00
nickysn
5ea6f37247 + implemented FPC_SETJMP for the i8086
git-svn-id: branches/i8086@24002 -
2013-03-25 18:12:48 +00:00
nickysn
f38114b34b * the result of FPC_SETJMP changed to 16-bit int on 16-bit CPUs
git-svn-id: branches/i8086@24001 -
2013-03-25 18:12:18 +00:00
nickysn
eefc9eed90 * do not use 'NEAR' conditional jumps on the i8086, because they are 386+
git-svn-id: branches/i8086@23993 -
2013-03-25 00:24:35 +00:00
nickysn
e3ce68612c + very simple implementation of do_write for i8086-msdos. 'Hello World' now works!!!
git-svn-id: branches/i8086@23992 -
2013-03-24 23:30:31 +00:00
nickysn
f24f119822 * SysInitStdIO doesn't crash anymore on the i8086, so enable it in the msdos system unit initialization
git-svn-id: branches/i8086@23991 -
2013-03-24 23:05:48 +00:00
nickysn
1f5d384a1e * i8086 fix in tx86casenode.genlinearlist
git-svn-id: branches/i8086@23990 -
2013-03-24 23:03:06 +00:00