2050 Commits

Author SHA1 Message Date
Jonathan Campbell
611fc2b387 All other SVGA chipsets have to register set_clock, why is the S3 version part of the core VGA_SetClock function? Move out 2025-01-20 16:36:50 -08:00
Jonathan Campbell
a567ae0eb0 cleanup, remove VGA sequencer-related functions that did nothing 2025-01-20 16:29:13 -08:00
Jonathan Campbell
318b3335e6 cleanup 2025-01-20 16:08:12 -08:00
Jonathan Campbell
239237bd62 cleanup 2025-01-20 01:47:31 -08:00
Jonathan Campbell
1f0b6b3af7 cleanup 2025-01-20 01:30:59 -08:00
Jonathan Campbell
79a84d5d34 Make an alternate API to access memory by physical address, not linear address. This itself is a hack because of how mmio works in DOSBox/DOSBox-X 2025-01-19 21:50:47 -08:00
Jonathan Campbell
1bf0296976 Paging: HostRead/HostWrite method parameter should be 32-bit page frame number, not Bitu 2025-01-18 13:28:45 -08:00
Jonathan Campbell
588f195328 PAGING: Cleanup, remove non-USE_FULL_TLB code 2025-01-18 13:07:31 -08:00
Jonathan Campbell
1aff9f06c3 Begin KVM core, only as clone of normal core 2025-01-17 14:12:42 -08:00
Jonathan Campbell
7e424a0c74 Savestate fix and cleanup: Yo dawg, I heard you like zlib compression so I put zlib compression in your zlib compression. What I am saying is that the ZIP compression/decompression library already provides it, there is no need to provide additional compression. 2025-01-12 07:24:28 -08:00
Jonathan Campbell
4035992975 MIDI synth (Fluidsynth): Add code to recognize Roland GS MASTER VOLUME sysex. Now PC-98 games can "fade out" the MIDI music using GS commands (Seiyoku Gakuen Seraphita) 2025-01-10 18:35:31 -08:00
Jonathan Campbell
764389c829 Add dosbox.conf option to write protect the DOSBox private area in UMB to deal with games that have fast and loose video rendering code that can corrupt that area 2025-01-09 21:38:59 -08:00
Jonathan Campbell
22b40f1732 Include map ROM call in header 2025-01-09 21:24:58 -08:00
Jonathan Campbell
a4d24f8fc7 Revise hardware scaler option to scale the window properly. Fix hardware scale calculation to scale the window properly in both dimensions for all hardware scaler options. Fix bug in hardware scale calculations that only vertically stretched the display beyond hardware2x. Disable normal scalers entirely if hardware scaling. Add comments to code explaning that if hardware scaling makes your DOS screen fuzzy you should either use a shader or go back to the none or normal2x, etc. scaler options 2025-01-09 12:17:12 -08:00
Jonathan Campbell
895fca3670 Happy new year 2025-01-01 00:30:49 -08:00
Jonathan Campbell
9391034d4f Prepare for release 2024-12-31 21:09:03 -08:00
Jonathan Campbell
40bf81d6b9 Begin SVGA vmemdelay 2024-12-29 09:57:22 -08:00
Jonathan Campbell
ac6f282abe It turns out the reason Windows XP can sometimes randomly BSOD, expecially in Windows if you Alt+Tab to another application, then Alt+Tab back, is that there is "helpful" code that tries to resynchronize Num+Scroll+Caps state with the guest by modifying the BIOS data area. Those addresses are valid in actual DOS mode but if you do that in the 32-bit environment of the Windows NT kernel you will cause a page fault! Limit that synchronization to DOSBox DOS kernel and real mode. 2024-12-26 01:40:51 -08:00
Jonathan Campbell
29afab77b1 Allow more memory. Divide it into regions below and above. Adjust memalias handling and how it limits memory. 2024-12-25 11:40:15 -08:00
Jonathan Campbell
a8a2d648ea Expand paging to the logical maximum, 40-bit PSE. That is as far as we will go. Any further expansion would require Paging TLBs to become 64-bit entries and by that point you should probably use VirtualBox or QEMU to run your mega-gigabyte possibly terabyte VM anyway. 2024-12-24 22:55:00 -08:00
Jonathan Campbell
fcd3d77e6a Begin some conversion of the code to clarify which memory addresses are linear, and which are physical, and add some explanation 2024-12-24 22:47:28 -08:00
Jonathan Campbell
dfcdf78581 Paging: constant move to header, describe functions a bit 2024-12-24 21:12:54 -08:00
Jonathan Campbell
5c63058ae5 IRQ 1 (INT9): Begin adding PCjr keyboard handling 2024-12-22 18:54:25 -08:00
Jonathan Campbell
48d37dcbcf comments 2024-12-22 14:03:38 -08:00
Jonathan Campbell
3f41eb6123 phys_read/write functions are not used often enough to worry too much about performance, so to avoid emulator segfaults, put the system memory range check in the phys_read/write functions themselves. Add comments about the meaning of MemBase and MemSize and how they will be used when DOSBox-X eventually supports memory sizes larger than 4GB 2024-12-22 13:59:42 -08:00
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
2519431b77 I can make a few more enhancements to SYSENTER/SYSEXIT, though it still does not solve BSODs 2024-12-18 17:32:02 -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
Jonathan Campbell
887d29ac4a Paging: Define struct for 4MB PSE PDT page 2024-12-15 09:56:53 -08:00
Jonathan Campbell
dcdbbefa35 PDE code in paging.cpp should use dirblock, not block 2024-12-15 09:41:43 -08:00
Jonathan Campbell
cd46a30edf Some code cleanup in paging.cpp. Add separate struct definition for PDE vs PTE. Add notes regarding D (Dirty) bit in PDEs on Pentium and higher CPUs. It seems while 386/486 defined a D bit for PTE and PDE, the Pentium gave up on the D bit for PDE, though for PSE 4MB pages the PDE still has a D bit. 2024-12-15 09:38:06 -08:00
Jonathan Campbell
a3d5073a2b Begin work on PSE (Page Size Extension) emulation. Limit the enable only to Pentium or higher. Reportedly Intel added it to the original Pentium but did not document it until the Pentium Pro or Pentium II 2024-12-15 08:51:31 -08:00
Jonathan Campbell
cf7b17f5a1 Internal PNGs, if not external PNGs 2024-12-09 01:16:02 -08:00
Jonathan Campbell
666309a081 Make corrections to S3 memsize 2024-12-06 20:41:33 -08:00
Jonathan Campbell
ff350a308a Update version date 2024-12-04 17:00:19 -08:00
Jonathan Campbell
1f8f8c8989 prepare 2024-12-04 16:54:53 -08:00
Jonathan Campbell
5760a53ef8 Prepare for release 2024-12-02 17:49:33 -08:00
Jonathan Campbell
7fc19cdcc6 Correct MMX and SSE PINSRW and PEXTRW 2024-11-29 14:13:32 -08:00
Jonathan Campbell
d93a20fef1 Prepare for release 2024-10-01 23:16:36 -07:00
Jonathan Campbell
8213799c0a
Merge pull request #5222 from Allofich/cms
"Decouple CMS and OPL emulations" - dosbox-staging
2024-09-29 21:27:37 -07:00
Allofich
66927cb782 "Decouple CMS and OPL emulations" - dosbox-staging 2024-09-25 15:54:34 +09:00
maron2000
9f73000855 Fix loading language files by CONFIG command 2024-09-13 21:07:39 +09:00
maron2000
5137e4677a Update langcp_map 2024-09-13 12:18:31 +09:00
Jonathan Campbell
4a161b36a7 SET /FIRST DOSBox-X extension for demos like Out of Control with lazy ass environment block parsing 2024-08-11 01:50:06 +00:00
Jonathan Campbell
b3e0e4c6f9 Add SET /ERASE as a way to clear the environment block 2024-08-11 00:56:16 +00:00
maron2000
6c82c4ef0e Add names instead of offset values of BPB 2024-08-08 00:08:11 +09:00
maron2000
fb22a368d4 Fix some diacritics cannot be typed 2024-07-23 22:04:22 +09:00
Jonathan Campbell
7e283dc267 FAT driver, IMGMOUNT: Add code to allow directing all FAT driver access through INT 13h so that if any program depends on hooking INT 13h to intercept I/O, it will work 2024-07-09 01:57:27 -07:00
Jonathan Campbell
5a28a2e2a1 INT 13h wrapper image, DOS FAT driver int13 option 2024-07-08 23:54:31 -07:00
Jonathan Campbell
8fd696a301 Add a way for a disk image to signal disk change to the FAT driver 2024-07-08 22:53:57 -07:00