45 Commits

Author SHA1 Message Date
Jonathan Campbell
d8d28858a1 Revise Voodoo 3Dfx linear framebuffer constants and PCI handling.
Restrict S3 LFB to just below BIOS, do not let the 32MB region overlap
the BIOS. Limit Voodoo 3Dfx framebuffer to stay out of system RAM.
To prevent large memsize configurations that cause S3 and 3Dfx to
conflict, add a hardware assignment system to give each device it's own
assigned LFB region of memory. This really only has an effect when space
gets cramped with large mem sizes, otherwise it has no effect. Perhaps
someday the BIOS should assign the 3Dfx, S3, and any other PCI devices
their resources like a real PC system would.
2024-12-22 10:52:17 -08:00
Jonathan Campbell
946dc5c97c If debug mode is going to complain about "Illegal read/write" outside the bounds of system memory, at least show the physical memory address alongside the linear address to make the debug message more useful 2024-12-16 07:36:05 -08:00
RainRat
902ce67fad fix typos 2024-02-28 19:08:20 -08:00
Allofich
06b21b3475 Remove excess end-of-file empty lines 2021-08-22 15:47:10 +09:00
Allofich
4d7be1c15b Remove redundant #ifndef conditionals for includes 2021-08-22 15:13:27 +09:00
Allofich
24b81828af Dosbox-staging 3e3b471
Fix ignored-qualifiers warning

Use static_cast instead of reinterpret_cast and avoid pointless consts.
2021-05-31 01:13:29 +09:00
Allofich
c3c3bae10c Remove redundant casts 2021-05-12 14:45:35 +09:00
Allofich
7fbfaa4022 Fix oversights in porting SVN r4330 2021-03-12 22:04:25 +09:00
Jonathan Campbell
876cbb9660
Merge pull request #2341 from Allofich/SVN
SVN commits
2021-03-06 14:41:30 -08:00
Allofich
9294d450ec SVN r4412
Update copyright.
2021-03-06 21:18:08 +09:00
Robert de Rooy
f2d28f34a9 Fix x390x build issue
Patch by @Wengier
2021-03-06 11:07:34 +01:00
Allofich
6e3e4845a3 SVN r4330
Some big endian improvements and drive_fat fixes.
2021-02-09 18:55:52 +09:00
Emmanuel Gil Peyrot
d2b0cef2f5 Replace Bit64u with uint64_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
d1802fe5fa Replace Bit32s with int32_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
c0a106535e Replace Bit32u with uint32_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
a431d81213 Replace Bit16u with uint16_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
35f38f3ebe Replace Bit8u with uint8_t 2020-09-28 17:14:35 +02:00
rderooy
608a657b50 Update copyright year for dosbox and dosbox-x assets and update FSF address 2020-06-25 08:42:32 +02:00
Allofich
038566362e Fix Cppcheck funcArgNamesDifferent warnings 2019-10-21 22:08:39 +09:00
Allofich
8598f90386 Remove undefined function declarations 2019-06-15 20:13:21 +09:00
Allofich
d84a812743 SVN r4183 (second half)
Update year
2019-06-03 23:01:41 +09:00
Allofich
05619dd023 SVN r4183 (first half)
Update address of FSF
2019-06-03 22:54:46 +09:00
Jonathan Campbell
3fdbfeda73 unaligned fixup 2018-06-07 20:54:58 -07:00
Jonathan Campbell
e4f6ae093e correct 2018-05-25 19:56:49 -07:00
Jonathan Campbell
1bdd7e4a5d C++11 provides the ability to declare inline functions constexpr, so use it 2018-05-25 19:47:16 -07:00
Jonathan Campbell
473d2bdec7 retab, cleanup 2018-05-25 19:39:52 -07:00
Jonathan Campbell
d276239a6b retab 2018-05-25 19:34:54 -07:00
Jonathan Campbell
bf6b5255d1 refactor 2018-05-25 19:34:41 -07:00
Jonathan Campbell
b6ae0e7d36 refactor 2018-05-25 19:24:22 -07:00
Jonathan Campbell
f588fff915 refactor 2018-05-25 19:19:51 -07:00
Jonathan Campbell
fd6d8e6e0a const params 2018-05-25 08:40:52 -07:00
Jonathan Campbell
d29ab4c790 mem read/write constify params, to help compiler optimizations 2018-05-25 08:35:12 -07:00
Jonathan Campbell
d630b3135e Inclusion of Neko Project II headers and endian.h broke compile on Mac OS X, move endianness stuff into its own header 2018-02-26 14:03:42 -08:00
Darik Horn
a0cf85e536 Adjust byte-swapping macros for MinGW builds.
Cygwin does not implement endian.h features for MinGW targets, but
defines both of the  __CYGWIN__ and __MINGW32__ identifiers and some
MSVC idioms.
2017-05-12 13:08:26 -04:00
wjpyle
c5f5f5166a Fix compilation on MSC, and some help on BSD 2017-04-30 00:11:55 -04:00
Martin Lindhe
99a52db519 fix compilation on macOS
first, avoid include <endian.h> which is not found on macOS, fixes:

    g++ -DHAVE_CONFIG_H -I. -I../..  -I../../include -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/usr/local/include  -g -O2 -Wall -mmmx -msse -msse2 -D_FILE_OFFSET_BITS=64 -Wno-strict-aliasing  -std=gnu++11   -c -o callback.o callback.cpp
    In file included from callback.cpp:24:
    In file included from ../../include/callback.h:24:
    ../../include/mem.h:34:11: fatal error: 'endian.h' file not found
    # include <endian.h>

next, map some missing functions to macOS eqivalents, based on
https://gist.github.com/yinyin/2027912, fixes:

    ../../include/mem.h:115:9: error: use of undeclared identifier 'le16toh'
            return le16toh((*(Bit16u *)off)); // BSD endian.h
                   ^
    ../../include/mem.h:118:9: error: use of undeclared identifier 'le32toh'
            return le32toh((*(Bit32u *)off)); // BSD endian.h
                   ^
    ../../include/mem.h:121:9: error: use of undeclared identifier 'le64toh'
            return le64toh((*(Bit64u *)off)); // BSD endian.h
                   ^
    ../../include/mem.h:128:21: error: use of undeclared identifier 'htole16'
            *(Bit16u *)(off) = htole16(val);
                               ^
    ../../include/mem.h:131:21: error: use of undeclared identifier 'htole32'
            *(Bit32u *)(off) = htole32(val);
                               ^
    ../../include/mem.h:134:21: error: use of undeclared identifier 'htole64'
            *(Bit64u *)(off) = htole64(val);
                               ^
2017-04-08 00:21:11 +02:00
Jonathan Campbell
e3e1cca292 reminder for anyone who wants to compile this for Windows. 2016-06-12 10:43:17 -07:00
Jonathan Campbell
8cb3c035f8 use BSD endian.h functions to consolidate host ptr access down to simply
C_UNALIGNED_MEMORY or not. Make unaligned memory access layered to
simplify code.
2016-06-12 10:40:47 -07:00
Jonathan Campbell
691a4702cb 64-bit host read/write and var_write. 2016-06-12 10:23:43 -07:00
Jonathan Campbell
ac0dae8571 memory allocation now has A20-friendly variants. memory allocated by
these functions is guaranteed to exist within an even megabyte (20th
address bit == 0).
2015-12-26 19:41:45 -08:00
Jonathan Campbell
ffbad0b2b3 svn mainline r3878:
Year update.
2015-01-25 21:13:25 -08:00
Jonathan Campbell
f865b17697 provide some useful typedefs 2014-06-27 23:37:33 -07:00
Jonathan Campbell
f9a5bf9715 cleanup 2014-06-10 18:28:44 -07:00
Jonathan Campbell
21614b8c3f toss out my copy, integrate tawoongs's daum branch code into mine,
remove what won't compile, begin work.
2013-10-14 05:07:26 -07:00
root
f331824031 port from svn 2013-07-07 20:39:49 -07:00